@videojs/html 10.0.0-beta.14 → 10.0.0-beta.16

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 (301) hide show
  1. package/cdn/audio-minimal-ui.dev.js +4 -5
  2. package/cdn/audio-minimal-ui.js +1 -1
  3. package/cdn/audio-minimal.dev.js +7 -8
  4. package/cdn/audio-minimal.dev.js.map +1 -1
  5. package/cdn/audio-minimal.js +1 -1
  6. package/cdn/audio-minimal.js.map +1 -1
  7. package/cdn/audio-ui.dev.js +5 -5
  8. package/cdn/audio-ui.js +1 -1
  9. package/cdn/audio.dev.js +23 -7
  10. package/cdn/audio.dev.js.map +1 -1
  11. package/cdn/audio.js +1 -1
  12. package/cdn/audio.js.map +1 -1
  13. package/cdn/background.dev.js +3 -3
  14. package/cdn/background.js +1 -1
  15. package/cdn/background.js.map +1 -1
  16. package/cdn/context-C-IpVHEt.js +14 -0
  17. package/cdn/context-C-IpVHEt.js.map +1 -0
  18. package/cdn/{context-BjrbhiSk.js → context-CvJ83xGk.js} +2 -83
  19. package/cdn/context-CvJ83xGk.js.map +1 -0
  20. package/cdn/create-player-B_oNyyb5.js +7 -0
  21. package/cdn/create-player-B_oNyyb5.js.map +1 -0
  22. package/cdn/{create-player-Cz5Y4DmL.js → create-player-DckZq-sE.js} +59 -1419
  23. package/cdn/create-player-DckZq-sE.js.map +1 -0
  24. package/cdn/{hls-DwNUcXDb.js → hls-CJCXZSGG.js} +43 -5
  25. package/cdn/hls-CJCXZSGG.js.map +1 -0
  26. package/cdn/{hls-A02jAc_G.js → hls-lPH0rWmB.js} +3 -3
  27. package/cdn/hls-lPH0rWmB.js.map +1 -0
  28. package/cdn/hotkey-B7OaweHa.js +154 -0
  29. package/cdn/hotkey-B7OaweHa.js.map +1 -0
  30. package/cdn/hotkey-BLEt77Z0.js +2 -0
  31. package/cdn/hotkey-BLEt77Z0.js.map +1 -0
  32. package/cdn/media/dash-video.dev.js +3 -4
  33. package/cdn/media/dash-video.dev.js.map +1 -1
  34. package/cdn/media/dash-video.js +2 -2
  35. package/cdn/media/hls-video.dev.js +4 -5
  36. package/cdn/media/hls-video.dev.js.map +1 -1
  37. package/cdn/media/hls-video.js +1 -1
  38. package/cdn/media/hls-video.js.map +1 -1
  39. package/cdn/media/mux-audio.dev.d.ts +1 -0
  40. package/cdn/media/mux-audio.dev.js +29 -0
  41. package/cdn/media/mux-audio.dev.js.map +1 -0
  42. package/cdn/media/mux-audio.js +2 -0
  43. package/cdn/media/mux-audio.js.map +1 -0
  44. package/cdn/media/mux-video.dev.js +5 -3099
  45. package/cdn/media/mux-video.dev.js.map +1 -1
  46. package/cdn/media/mux-video.js +1 -24
  47. package/cdn/media/mux-video.js.map +1 -1
  48. package/cdn/media/native-hls-video.dev.js +4 -4
  49. package/cdn/media/native-hls-video.js +1 -1
  50. package/cdn/media/simple-hls-video.dev.js +965 -680
  51. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  52. package/cdn/media/simple-hls-video.js +6 -6
  53. package/cdn/media/simple-hls-video.js.map +1 -1
  54. package/cdn/{media-attach-mixin-DfKkofgF.js → media-attach-mixin-CMH1ziXP.js} +2 -2
  55. package/cdn/{media-attach-mixin-DfKkofgF.js.map → media-attach-mixin-CMH1ziXP.js.map} +1 -1
  56. package/cdn/{media-attach-mixin-Dv2D43tb.js → media-attach-mixin-DUzmXEJ3.js} +2 -2
  57. package/cdn/{media-attach-mixin-Dv2D43tb.js.map → media-attach-mixin-DUzmXEJ3.js.map} +1 -1
  58. package/cdn/{media-props-mixin-CNJVvHAH.js → media-props-mixin-CZLZIhGT.js} +100 -9
  59. package/cdn/media-props-mixin-CZLZIhGT.js.map +1 -0
  60. package/cdn/media-props-mixin-DrjlZybt.js +47 -0
  61. package/cdn/media-props-mixin-DrjlZybt.js.map +1 -0
  62. package/cdn/{minimal-BUUGNZK7.js → minimal-D9Dw-L2P.js} +1 -1
  63. package/cdn/{minimal-BUUGNZK7.js.map → minimal-D9Dw-L2P.js.map} +1 -1
  64. package/cdn/{minimal-CJGOJ6pE.js → minimal-Dc5nNl_-.js} +1 -1
  65. package/cdn/{minimal-CJGOJ6pE.js.map → minimal-Dc5nNl_-.js.map} +1 -1
  66. package/cdn/mux-CBXn2z5k.js +3102 -0
  67. package/cdn/mux-CBXn2z5k.js.map +1 -0
  68. package/cdn/mux-DmGzBNIq.js +25 -0
  69. package/cdn/mux-DmGzBNIq.js.map +1 -0
  70. package/cdn/{native-hls-CPgjPTAQ.js → native-hls-BCOLtRUl.js} +2 -3
  71. package/cdn/{native-hls-CPgjPTAQ.js.map → native-hls-BCOLtRUl.js.map} +1 -1
  72. package/cdn/native-hls-BU8--1Kg.js +2 -0
  73. package/cdn/{native-hls-Db2TurPW.js.map → native-hls-BU8--1Kg.js.map} +1 -1
  74. package/cdn/player-DAmuLGE1.js +2 -0
  75. package/cdn/{player-DlGhe0FD.js.map → player-DAmuLGE1.js.map} +1 -1
  76. package/cdn/{player-XArb4DyB.js → player-Dbl1MUJ2.js} +3 -3
  77. package/cdn/{player-XArb4DyB.js.map → player-Dbl1MUJ2.js.map} +1 -1
  78. package/cdn/poster-B9COb7AR.js +2 -0
  79. package/cdn/poster-B9COb7AR.js.map +1 -0
  80. package/cdn/poster-qAhnKWea.js +480 -0
  81. package/cdn/poster-qAhnKWea.js.map +1 -0
  82. package/cdn/{skin-element-Dk_f7DE8.js → skin-element-DbmY-ske.js} +2 -2
  83. package/cdn/{skin-element-Dk_f7DE8.js.map → skin-element-DbmY-ske.js.map} +1 -1
  84. package/cdn/{skin-element-D40glySA.js → skin-element-ih3VrnYx.js} +2 -2
  85. package/cdn/{skin-element-D40glySA.js.map → skin-element-ih3VrnYx.js.map} +1 -1
  86. package/cdn/video-minimal-ui.dev.js +4 -5
  87. package/cdn/video-minimal-ui.js +1 -1
  88. package/cdn/video-minimal.dev.js +7 -8
  89. package/cdn/video-minimal.dev.js.map +1 -1
  90. package/cdn/video-minimal.js +1 -1
  91. package/cdn/video-minimal.js.map +1 -1
  92. package/cdn/video-ui.dev.js +5 -5
  93. package/cdn/video-ui.js +1 -1
  94. package/cdn/video.dev.js +26 -7
  95. package/cdn/video.dev.js.map +1 -1
  96. package/cdn/video.js +1 -1
  97. package/cdn/video.js.map +1 -1
  98. package/cdn/volume-slider-BbIc1N4U.js +8 -0
  99. package/cdn/volume-slider-BbIc1N4U.js.map +1 -0
  100. package/cdn/{volume-slider-CxGbFVVX.js → volume-slider-C6ek7oC9.js} +1855 -386
  101. package/cdn/volume-slider-C6ek7oC9.js.map +1 -0
  102. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  103. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  104. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  105. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  106. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  107. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  108. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  109. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  110. package/dist/default/define/audio/minimal-skin.css +23 -0
  111. package/dist/default/define/audio/skin.css +23 -0
  112. package/dist/default/define/audio/skin.js +1 -1
  113. package/dist/default/define/audio/skin.js.map +1 -1
  114. package/dist/default/define/audio/ui.js +1 -0
  115. package/dist/default/define/background/skin.js +1 -1
  116. package/dist/default/define/media/mux-audio.js +13 -0
  117. package/dist/default/define/media/mux-audio.js.map +1 -0
  118. package/dist/default/define/skin-element.js +1 -1
  119. package/dist/default/define/ui/hotkey.js +7 -0
  120. package/dist/default/define/ui/hotkey.js.map +1 -0
  121. package/dist/default/define/ui/slider.js +1 -1
  122. package/dist/default/define/ui/time-slider.js +1 -1
  123. package/dist/default/define/ui/volume-slider.js +1 -1
  124. package/dist/default/define/video/minimal-skin.css +23 -0
  125. package/dist/default/define/video/skin.css +23 -0
  126. package/dist/default/define/video/skin.js +1 -1
  127. package/dist/default/define/video/skin.js.map +1 -1
  128. package/dist/default/define/video/ui.js +1 -0
  129. package/dist/default/index.js +5 -1
  130. package/dist/default/media/container-element.js +16 -0
  131. package/dist/default/media/container-element.js.map +1 -1
  132. package/dist/default/media/mux-audio/index.js +18 -0
  133. package/dist/default/media/mux-audio/index.js.map +1 -0
  134. package/dist/default/player/context.js.map +1 -1
  135. package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -0
  136. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  137. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  138. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  139. package/dist/default/ui/captions-button/captions-button-element.js +1 -0
  140. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  141. package/dist/default/ui/error-dialog/error-dialog-element.js +1 -0
  142. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
  143. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  144. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  145. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  146. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  147. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  148. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  149. package/dist/default/ui/media-button-element.js +9 -1
  150. package/dist/default/ui/media-button-element.js.map +1 -1
  151. package/dist/default/ui/mute-button/mute-button-element.js +1 -0
  152. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  153. package/dist/default/ui/pip-button/pip-button-element.js +1 -0
  154. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  155. package/dist/default/ui/play-button/play-button-element.js +1 -0
  156. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  157. package/dist/default/ui/popover/popover-element.js +7 -55
  158. package/dist/default/ui/popover/popover-element.js.map +1 -1
  159. package/dist/default/ui/position-controller.js +76 -0
  160. package/dist/default/ui/position-controller.js.map +1 -0
  161. package/dist/default/ui/slider/slider-element.js +1 -1
  162. package/dist/default/ui/slider/slider-preview-element.js +1 -1
  163. package/dist/default/ui/time-slider/time-slider-element.js +5 -5
  164. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  165. package/dist/default/ui/tooltip/tooltip-element.js +8 -54
  166. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  167. package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
  168. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  169. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  170. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  171. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  172. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  173. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  174. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  175. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  176. package/dist/dev/define/audio/minimal-skin.css +23 -0
  177. package/dist/dev/define/audio/skin.css +23 -0
  178. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  179. package/dist/dev/define/audio/skin.js +16 -0
  180. package/dist/dev/define/audio/skin.js.map +1 -1
  181. package/dist/dev/define/audio/ui.js +1 -0
  182. package/dist/dev/define/background/skin.js +1 -1
  183. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  184. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  185. package/dist/dev/define/media/mux-audio.js +13 -0
  186. package/dist/dev/define/media/mux-audio.js.map +1 -0
  187. package/dist/dev/define/skin-element.d.ts +1 -1
  188. package/dist/dev/define/skin-element.js +1 -1
  189. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  190. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  191. package/dist/dev/define/ui/hotkey.js +7 -0
  192. package/dist/dev/define/ui/hotkey.js.map +1 -0
  193. package/dist/dev/define/ui/slider.js +1 -1
  194. package/dist/dev/define/ui/time-slider.js +1 -1
  195. package/dist/dev/define/ui/volume-slider.js +1 -1
  196. package/dist/dev/define/video/minimal-skin.css +23 -0
  197. package/dist/dev/define/video/skin.css +23 -0
  198. package/dist/dev/define/video/skin.d.ts.map +1 -1
  199. package/dist/dev/define/video/skin.js +19 -0
  200. package/dist/dev/define/video/skin.js.map +1 -1
  201. package/dist/dev/define/video/ui.js +1 -0
  202. package/dist/dev/index.d.ts +6 -2
  203. package/dist/dev/index.js +5 -1
  204. package/dist/dev/media/container-element.d.ts +3 -0
  205. package/dist/dev/media/container-element.d.ts.map +1 -1
  206. package/dist/dev/media/container-element.js +16 -0
  207. package/dist/dev/media/container-element.js.map +1 -1
  208. package/dist/dev/media/mux-audio/index.d.ts +11 -0
  209. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  210. package/dist/dev/media/mux-audio/index.js +18 -0
  211. package/dist/dev/media/mux-audio/index.js.map +1 -0
  212. package/dist/dev/player/context.d.ts +4 -2
  213. package/dist/dev/player/context.d.ts.map +1 -1
  214. package/dist/dev/player/context.js.map +1 -1
  215. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  216. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -0
  217. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  218. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  219. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  220. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  221. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  222. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  223. package/dist/dev/ui/captions-button/captions-button-element.js +1 -0
  224. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  225. package/dist/dev/ui/context-part-element.d.ts +1 -1
  226. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
  227. package/dist/dev/ui/error-dialog/error-dialog-element.js +1 -0
  228. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
  229. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  230. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  231. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  232. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  233. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  234. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  235. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  236. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  237. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  238. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  239. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  240. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  241. package/dist/dev/ui/media-button-element.d.ts +2 -0
  242. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  243. package/dist/dev/ui/media-button-element.js +9 -1
  244. package/dist/dev/ui/media-button-element.js.map +1 -1
  245. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  246. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  247. package/dist/dev/ui/mute-button/mute-button-element.js +1 -0
  248. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  249. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  250. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  251. package/dist/dev/ui/pip-button/pip-button-element.js +1 -0
  252. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  253. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  254. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  255. package/dist/dev/ui/play-button/play-button-element.js +1 -0
  256. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  257. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  258. package/dist/dev/ui/popover/popover-element.js +7 -55
  259. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  260. package/dist/dev/ui/position-controller.js +76 -0
  261. package/dist/dev/ui/position-controller.js.map +1 -0
  262. package/dist/dev/ui/slider/slider-element.js +1 -1
  263. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  264. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  265. package/dist/dev/ui/slider/slider-preview-element.js +1 -1
  266. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  267. package/dist/dev/ui/time-slider/time-slider-element.js +5 -5
  268. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  269. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  270. package/dist/dev/ui/tooltip/tooltip-element.js +8 -54
  271. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  272. package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
  273. package/package.json +8 -8
  274. package/cdn/context-BjrbhiSk.js.map +0 -1
  275. package/cdn/context-CdkhXQEw.js +0 -14
  276. package/cdn/context-CdkhXQEw.js.map +0 -1
  277. package/cdn/create-player-Cz5Y4DmL.js.map +0 -1
  278. package/cdn/create-player-DSGjDLpM.js +0 -7
  279. package/cdn/create-player-DSGjDLpM.js.map +0 -1
  280. package/cdn/delegate-B626t_Va.js +0 -2
  281. package/cdn/delegate-B626t_Va.js.map +0 -1
  282. package/cdn/delegate-BCw-LjP_.js +0 -56
  283. package/cdn/delegate-BCw-LjP_.js.map +0 -1
  284. package/cdn/hls-A02jAc_G.js.map +0 -1
  285. package/cdn/hls-DwNUcXDb.js.map +0 -1
  286. package/cdn/media-props-mixin-CNJVvHAH.js.map +0 -1
  287. package/cdn/media-props-mixin-CmboksUe.js +0 -47
  288. package/cdn/media-props-mixin-CmboksUe.js.map +0 -1
  289. package/cdn/native-hls-Db2TurPW.js +0 -2
  290. package/cdn/player-DlGhe0FD.js +0 -2
  291. package/cdn/poster-BUuGv2Va.js +0 -215
  292. package/cdn/poster-BUuGv2Va.js.map +0 -1
  293. package/cdn/poster-Crn2YX3_.js +0 -2
  294. package/cdn/poster-Crn2YX3_.js.map +0 -1
  295. package/cdn/volume-slider-BSbnD5gg.js +0 -8
  296. package/cdn/volume-slider-BSbnD5gg.js.map +0 -1
  297. package/cdn/volume-slider-CxGbFVVX.js.map +0 -1
  298. /package/cdn/{minimal-ui-BL9eBXck.js → minimal-ui-DXFwjywa.js} +0 -0
  299. /package/cdn/{minimal-ui-a1UOKF79.js → minimal-ui-jrmrxIOn.js} +0 -0
  300. /package/cdn/{ui-CFIgmrlA.js → ui-18UYtw8D.js} +0 -0
  301. /package/cdn/{ui-Ccp_LyCf.js → ui-8HVY3XSt.js} +0 -0
@@ -0,0 +1,3102 @@
1
+ import { i as DelegateMixin, n as CustomAudioElement, r as CustomVideoElement } from "./media-props-mixin-CZLZIhGT.js";
2
+ import { n as HlsMediaDelegate, r as Hls } from "./hls-CJCXZSGG.js";
3
+
4
+ //#region ../core/dist/dev/dom/media/mux/env.js
5
+ const getEnvPlayerVersion = () => {
6
+ try {
7
+ return "10.0.0-beta.16";
8
+ } catch {}
9
+ return "UNKNOWN";
10
+ };
11
+ const player_version = getEnvPlayerVersion();
12
+ const getPlayerVersion = () => player_version;
13
+
14
+ //#endregion
15
+ //#region ../../node_modules/.pnpm/mux-embed@5.17.10/node_modules/mux-embed/dist/mux.mjs
16
+ var ea = Object.create;
17
+ var _t = Object.defineProperty;
18
+ var ta = Object.getOwnPropertyDescriptor;
19
+ var ra = Object.getOwnPropertyNames;
20
+ var aa = Object.getPrototypeOf, ia = Object.prototype.hasOwnProperty;
21
+ var ft = function(r, e) {
22
+ return function() {
23
+ return r && (e = r(r = 0)), e;
24
+ };
25
+ };
26
+ var B = function(r, e) {
27
+ return function() {
28
+ return e || r((e = { exports: {} }).exports, e), e.exports;
29
+ };
30
+ };
31
+ var na = function(r, e, t, i) {
32
+ if (e && typeof e == "object" || typeof e == "function") for (var a = ra(e), n = 0, o = a.length, s; n < o; n++) s = a[n], !ia.call(r, s) && s !== t && _t(r, s, {
33
+ get: function(u) {
34
+ return e[u];
35
+ }.bind(null, s),
36
+ enumerable: !(i = ta(e, s)) || i.enumerable
37
+ });
38
+ return r;
39
+ };
40
+ var G = function(r, e, t) {
41
+ return t = r != null ? ea(aa(r)) : {}, na(e || !r || !r.__esModule ? _t(t, "default", {
42
+ value: r,
43
+ enumerable: !0
44
+ }) : t, r);
45
+ };
46
+ var Q = B(function(Zi, ht) {
47
+ var xe;
48
+ typeof window != "undefined" ? xe = window : typeof global != "undefined" ? xe = global : typeof self != "undefined" ? xe = self : xe = {};
49
+ ht.exports = xe;
50
+ });
51
+ function U(r, e) {
52
+ return e != null && typeof Symbol != "undefined" && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](r) : U(r, e);
53
+ }
54
+ var te = ft(function() {
55
+ te();
56
+ });
57
+ function Ne(r) {
58
+ "@swc/helpers - typeof";
59
+ return r && typeof Symbol != "undefined" && r.constructor === Symbol ? "symbol" : typeof r;
60
+ }
61
+ var Qe = ft(function() {});
62
+ var Ye = B(function(qs, cr) {
63
+ var dr = Array.prototype.slice;
64
+ cr.exports = Na;
65
+ function Na(r, e) {
66
+ for (("length" in r) || (r = [r]), r = dr.call(r); r.length;) {
67
+ var t = r.shift(), i = e(t);
68
+ if (i) return i;
69
+ t.childNodes && t.childNodes.length && (r = dr.call(t.childNodes).concat(r));
70
+ }
71
+ }
72
+ });
73
+ var fr = B(function(Ps, _r) {
74
+ te();
75
+ _r.exports = ve;
76
+ function ve(r, e) {
77
+ if (!U(this, ve)) return new ve(r, e);
78
+ this.data = r, this.nodeValue = r, this.length = r.length, this.ownerDocument = e || null;
79
+ }
80
+ ve.prototype.nodeType = 8;
81
+ ve.prototype.nodeName = "#comment";
82
+ ve.prototype.toString = function() {
83
+ return "[object Comment]";
84
+ };
85
+ });
86
+ var mr = B(function(Ls, pr) {
87
+ te();
88
+ pr.exports = ae;
89
+ function ae(r, e) {
90
+ if (!U(this, ae)) return new ae(r);
91
+ this.data = r || "", this.length = this.data.length, this.ownerDocument = e || null;
92
+ }
93
+ ae.prototype.type = "DOMTextNode";
94
+ ae.prototype.nodeType = 3;
95
+ ae.prototype.nodeName = "#text";
96
+ ae.prototype.toString = function() {
97
+ return this.data;
98
+ };
99
+ ae.prototype.replaceData = function(e, t, i) {
100
+ var a = this.data, n = a.substring(0, e), o = a.substring(e + t, a.length);
101
+ this.data = n + i + o, this.length = this.data.length;
102
+ };
103
+ });
104
+ var Xe = B(function(Is, vr) {
105
+ vr.exports = Ca;
106
+ function Ca(r) {
107
+ var e = this, t = r.type;
108
+ r.target || (r.target = e), e.listeners || (e.listeners = {});
109
+ var i = e.listeners[t];
110
+ if (i) return i.forEach(function(a) {
111
+ r.currentTarget = e, typeof a == "function" ? a(r) : a.handleEvent(r);
112
+ });
113
+ e.parentNode && e.parentNode.dispatchEvent(r);
114
+ }
115
+ });
116
+ var $e = B(function(Ns, hr) {
117
+ hr.exports = Ma;
118
+ function Ma(r, e) {
119
+ var t = this;
120
+ t.listeners || (t.listeners = {}), t.listeners[r] || (t.listeners[r] = []), t.listeners[r].indexOf(e) === -1 && t.listeners[r].push(e);
121
+ }
122
+ });
123
+ var Ze = B(function(Cs, yr) {
124
+ yr.exports = Ha;
125
+ function Ha(r, e) {
126
+ var t = this;
127
+ if (t.listeners && t.listeners[r]) {
128
+ var i = t.listeners[r], a = i.indexOf(e);
129
+ a !== -1 && i.splice(a, 1);
130
+ }
131
+ }
132
+ });
133
+ var Tr = B(function(Hs, wr) {
134
+ Qe();
135
+ wr.exports = gr;
136
+ var Ba = [
137
+ "area",
138
+ "base",
139
+ "br",
140
+ "col",
141
+ "embed",
142
+ "hr",
143
+ "img",
144
+ "input",
145
+ "keygen",
146
+ "link",
147
+ "menuitem",
148
+ "meta",
149
+ "param",
150
+ "source",
151
+ "track",
152
+ "wbr"
153
+ ];
154
+ function gr(r) {
155
+ switch (r.nodeType) {
156
+ case 3: return et(r.data);
157
+ case 8: return "<!--" + r.data + "-->";
158
+ default: return Ua(r);
159
+ }
160
+ }
161
+ function Ua(r) {
162
+ var e = [], t = r.tagName;
163
+ return r.namespaceURI === "http://www.w3.org/1999/xhtml" && (t = t.toLowerCase()), e.push("<" + t + Wa(r) + ja(r)), Ba.indexOf(t) > -1 ? e.push(" />") : (e.push(">"), r.childNodes.length ? e.push.apply(e, r.childNodes.map(gr)) : r.textContent || r.innerText ? e.push(et(r.textContent || r.innerText)) : r.innerHTML && e.push(r.innerHTML), e.push("</" + t + ">")), e.join("");
164
+ }
165
+ function Fa(r, e) {
166
+ var t = Ne(r[e]);
167
+ return e === "style" && Object.keys(r.style).length > 0 ? !0 : r.hasOwnProperty(e) && (t === "string" || t === "boolean" || t === "number") && e !== "nodeName" && e !== "className" && e !== "tagName" && e !== "textContent" && e !== "innerText" && e !== "namespaceURI" && e !== "innerHTML";
168
+ }
169
+ function Va(r) {
170
+ if (typeof r == "string") return r;
171
+ var e = "";
172
+ return Object.keys(r).forEach(function(t) {
173
+ var i = r[t];
174
+ t = t.replace(/[A-Z]/g, function(a) {
175
+ return "-" + a.toLowerCase();
176
+ }), e += t + ":" + i + ";";
177
+ }), e;
178
+ }
179
+ function ja(r) {
180
+ var e = r.dataset, t = [];
181
+ for (var i in e) t.push({
182
+ name: "data-" + i,
183
+ value: e[i]
184
+ });
185
+ return t.length ? br(t) : "";
186
+ }
187
+ function br(r) {
188
+ var e = [];
189
+ return r.forEach(function(t) {
190
+ var i = t.name, a = t.value;
191
+ i === "style" && (a = Va(a)), e.push(i + "=\"" + Ga(a) + "\"");
192
+ }), e.length ? " " + e.join(" ") : "";
193
+ }
194
+ function Wa(r) {
195
+ var e = [];
196
+ for (var t in r) Fa(r, t) && e.push({
197
+ name: t,
198
+ value: r[t]
199
+ });
200
+ for (var i in r._attributes) for (var a in r._attributes[i]) {
201
+ var n = r._attributes[i][a], o = (n.prefix ? n.prefix + ":" : "") + a;
202
+ e.push({
203
+ name: o,
204
+ value: n.value
205
+ });
206
+ }
207
+ return r.className && e.push({
208
+ name: "class",
209
+ value: r.className
210
+ }), e.length ? br(e) : "";
211
+ }
212
+ function et(r) {
213
+ var e = "";
214
+ return typeof r == "string" ? e = r : r && (e = r.toString()), e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
215
+ }
216
+ function Ga(r) {
217
+ return et(r).replace(/"/g, "&quot;");
218
+ }
219
+ });
220
+ var rt = B(function(Us, Er) {
221
+ te();
222
+ var tt = Ye(), Ja = Xe(), Qa = $e(), za = Ze(), Ka = Tr(), kr = "http://www.w3.org/1999/xhtml";
223
+ Er.exports = I;
224
+ function I(r, e, t) {
225
+ if (!U(this, I)) return new I(r);
226
+ var i = t === void 0 ? kr : t || null;
227
+ this.tagName = i === kr ? String(r).toUpperCase() : r, this.nodeName = this.tagName, this.className = "", this.dataset = {}, this.childNodes = [], this.parentNode = null, this.style = {}, this.ownerDocument = e || null, this.namespaceURI = i, this._attributes = {}, this.tagName === "INPUT" && (this.type = "text");
228
+ }
229
+ I.prototype.type = "DOMElement";
230
+ I.prototype.nodeType = 1;
231
+ I.prototype.appendChild = function(e) {
232
+ return e.parentNode && e.parentNode.removeChild(e), this.childNodes.push(e), e.parentNode = this, e;
233
+ };
234
+ I.prototype.replaceChild = function(e, t) {
235
+ e.parentNode && e.parentNode.removeChild(e);
236
+ var i = this.childNodes.indexOf(t);
237
+ return t.parentNode = null, this.childNodes[i] = e, e.parentNode = this, t;
238
+ };
239
+ I.prototype.removeChild = function(e) {
240
+ var t = this.childNodes.indexOf(e);
241
+ return this.childNodes.splice(t, 1), e.parentNode = null, e;
242
+ };
243
+ I.prototype.insertBefore = function(e, t) {
244
+ e.parentNode && e.parentNode.removeChild(e);
245
+ var i = t == null ? -1 : this.childNodes.indexOf(t);
246
+ return i > -1 ? this.childNodes.splice(i, 0, e) : this.childNodes.push(e), e.parentNode = this, e;
247
+ };
248
+ I.prototype.setAttributeNS = function(e, t, i) {
249
+ var a = null, n = t, o = t.indexOf(":");
250
+ if (o > -1 && (a = t.substr(0, o), n = t.substr(o + 1)), this.tagName === "INPUT" && t === "type") this.type = i;
251
+ else {
252
+ var s = this._attributes[e] || (this._attributes[e] = {});
253
+ s[n] = {
254
+ value: i,
255
+ prefix: a
256
+ };
257
+ }
258
+ };
259
+ I.prototype.getAttributeNS = function(e, t) {
260
+ var i = this._attributes[e], a = i && i[t] && i[t].value;
261
+ return this.tagName === "INPUT" && t === "type" ? this.type : typeof a != "string" ? null : a;
262
+ };
263
+ I.prototype.removeAttributeNS = function(e, t) {
264
+ var i = this._attributes[e];
265
+ i && delete i[t];
266
+ };
267
+ I.prototype.hasAttributeNS = function(e, t) {
268
+ var i = this._attributes[e];
269
+ return !!i && t in i;
270
+ };
271
+ I.prototype.setAttribute = function(e, t) {
272
+ return this.setAttributeNS(null, e, t);
273
+ };
274
+ I.prototype.getAttribute = function(e) {
275
+ return this.getAttributeNS(null, e);
276
+ };
277
+ I.prototype.removeAttribute = function(e) {
278
+ return this.removeAttributeNS(null, e);
279
+ };
280
+ I.prototype.hasAttribute = function(e) {
281
+ return this.hasAttributeNS(null, e);
282
+ };
283
+ I.prototype.removeEventListener = za;
284
+ I.prototype.addEventListener = Qa;
285
+ I.prototype.dispatchEvent = Ja;
286
+ I.prototype.focus = function() {};
287
+ I.prototype.toString = function() {
288
+ return Ka(this);
289
+ };
290
+ I.prototype.getElementsByClassName = function(e) {
291
+ var t = e.split(" "), i = [];
292
+ return tt(this, function(a) {
293
+ if (a.nodeType === 1) {
294
+ var o = (a.className || "").split(" ");
295
+ t.every(function(s) {
296
+ return o.indexOf(s) !== -1;
297
+ }) && i.push(a);
298
+ }
299
+ }), i;
300
+ };
301
+ I.prototype.getElementsByTagName = function(e) {
302
+ e = e.toLowerCase();
303
+ var t = [];
304
+ return tt(this.childNodes, function(i) {
305
+ i.nodeType === 1 && (e === "*" || i.tagName.toLowerCase() === e) && t.push(i);
306
+ }), t;
307
+ };
308
+ I.prototype.contains = function(e) {
309
+ return tt(this, function(t) {
310
+ return e === t;
311
+ }) || !1;
312
+ };
313
+ });
314
+ var Sr = B(function(Vs, xr) {
315
+ te();
316
+ var at = rt();
317
+ xr.exports = K;
318
+ function K(r) {
319
+ if (!U(this, K)) return new K();
320
+ this.childNodes = [], this.parentNode = null, this.ownerDocument = r || null;
321
+ }
322
+ K.prototype.type = "DocumentFragment";
323
+ K.prototype.nodeType = 11;
324
+ K.prototype.nodeName = "#document-fragment";
325
+ K.prototype.appendChild = at.prototype.appendChild;
326
+ K.prototype.replaceChild = at.prototype.replaceChild;
327
+ K.prototype.removeChild = at.prototype.removeChild;
328
+ K.prototype.toString = function() {
329
+ return this.childNodes.map(function(e) {
330
+ return String(e);
331
+ }).join("");
332
+ };
333
+ });
334
+ var Dr = B(function(js, Rr) {
335
+ Rr.exports = it;
336
+ function it(r) {}
337
+ it.prototype.initEvent = function(e, t, i) {
338
+ this.type = e, this.bubbles = t, this.cancelable = i;
339
+ };
340
+ it.prototype.preventDefault = function() {};
341
+ });
342
+ var Ar = B(function(Gs, qr) {
343
+ te();
344
+ var Ya = Ye(), Xa = fr(), $a = mr(), De = rt(), Za = Sr(), ei = Dr(), ti = Xe(), ri = $e(), ai = Ze();
345
+ qr.exports = Ue;
346
+ function Ue() {
347
+ if (!U(this, Ue)) return new Ue();
348
+ this.head = this.createElement("head"), this.body = this.createElement("body"), this.documentElement = this.createElement("html"), this.documentElement.appendChild(this.head), this.documentElement.appendChild(this.body), this.childNodes = [this.documentElement], this.nodeType = 9;
349
+ }
350
+ var j = Ue.prototype;
351
+ j.createTextNode = function(e) {
352
+ return new $a(e, this);
353
+ };
354
+ j.createElementNS = function(e, t) {
355
+ var i = e === null ? null : String(e);
356
+ return new De(t, this, i);
357
+ };
358
+ j.createElement = function(e) {
359
+ return new De(e, this);
360
+ };
361
+ j.createDocumentFragment = function() {
362
+ return new Za(this);
363
+ };
364
+ j.createEvent = function(e) {
365
+ return new ei(e);
366
+ };
367
+ j.createComment = function(e) {
368
+ return new Xa(e, this);
369
+ };
370
+ j.getElementById = function(e) {
371
+ e = String(e);
372
+ return Ya(this.childNodes, function(i) {
373
+ if (String(i.id) === e) return i;
374
+ }) || null;
375
+ };
376
+ j.getElementsByClassName = De.prototype.getElementsByClassName;
377
+ j.getElementsByTagName = De.prototype.getElementsByTagName;
378
+ j.contains = De.prototype.contains;
379
+ j.removeEventListener = ai;
380
+ j.addEventListener = ri;
381
+ j.dispatchEvent = ti;
382
+ });
383
+ var Or = B(function(Js, Pr) {
384
+ Pr.exports = new (Ar())();
385
+ });
386
+ var nt = B(function(Qs, Ir) {
387
+ var Lr = typeof global != "undefined" ? global : typeof window != "undefined" ? window : {}, ni = Or(), qe;
388
+ typeof document != "undefined" ? qe = document : (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"], qe || (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"] = ni));
389
+ Ir.exports = qe;
390
+ });
391
+ function pt(r) {
392
+ if (Array.isArray(r)) return r;
393
+ }
394
+ function mt(r, e) {
395
+ var t = r == null ? null : typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"];
396
+ if (t != null) {
397
+ var i = [], a = !0, n = !1, o, s;
398
+ try {
399
+ for (t = t.call(r); !(a = (o = t.next()).done) && (i.push(o.value), !(e && i.length === e)); a = !0);
400
+ } catch (u) {
401
+ n = !0, s = u;
402
+ } finally {
403
+ try {
404
+ !a && t.return != null && t.return();
405
+ } finally {
406
+ if (n) throw s;
407
+ }
408
+ }
409
+ return i;
410
+ }
411
+ }
412
+ function vt() {
413
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
414
+ }
415
+ function Ee(r, e) {
416
+ (e == null || e > r.length) && (e = r.length);
417
+ for (var t = 0, i = new Array(e); t < e; t++) i[t] = r[t];
418
+ return i;
419
+ }
420
+ function Pe(r, e) {
421
+ if (r) {
422
+ if (typeof r == "string") return Ee(r, e);
423
+ var t = Object.prototype.toString.call(r).slice(8, -1);
424
+ if (t === "Object" && r.constructor && (t = r.constructor.name), t === "Map" || t === "Set") return Array.from(t);
425
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Ee(r, e);
426
+ }
427
+ }
428
+ function H(r, e) {
429
+ return pt(r) || mt(r, e) || Pe(r, e) || vt();
430
+ }
431
+ var be = G(Q());
432
+ var Je = G(Q());
433
+ var yt = G(Q()), P = { now: function() {
434
+ var r = yt.default.performance, e = r && r.timing, t = e && e.navigationStart, i = typeof t == "number" && typeof r.now == "function" ? t + r.now() : Date.now();
435
+ return Math.round(i);
436
+ } };
437
+ var ee = function() {
438
+ var e, t, i;
439
+ if (typeof ((e = Je.default.crypto) === null || e === void 0 ? void 0 : e.getRandomValues) == "function") {
440
+ i = new Uint8Array(32), Je.default.crypto.getRandomValues(i);
441
+ for (var a = 0; a < 32; a++) i[a] = i[a] % 16;
442
+ } else {
443
+ i = [];
444
+ for (var n = 0; n < 32; n++) i[n] = Math.random() * 16 | 0;
445
+ }
446
+ var o = 0;
447
+ t = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(f) {
448
+ var h = f === "x" ? i[o] : i[o] & 3 | 8;
449
+ return o++, h.toString(16);
450
+ });
451
+ var s = P.now(), u = s == null ? void 0 : s.toString(16).substring(3);
452
+ return u ? t.substring(0, 28) + u : t;
453
+ }, Oe = function() {
454
+ return ("000000" + (Math.random() * Math.pow(36, 6) << 0).toString(36)).slice(-6);
455
+ };
456
+ var J = function(e) {
457
+ if (e && typeof e.nodeName != "undefined") return e.muxId || (e.muxId = Oe()), e.muxId;
458
+ var t;
459
+ try {
460
+ t = document.querySelector(e);
461
+ } catch (i) {}
462
+ return t && !t.muxId && (t.muxId = e), (t == null ? void 0 : t.muxId) || e;
463
+ }, se = function(e) {
464
+ var t;
465
+ e && typeof e.nodeName != "undefined" ? (t = e, e = J(t)) : t = document.querySelector(e);
466
+ var i = t && t.nodeName ? t.nodeName.toLowerCase() : "";
467
+ return [
468
+ t,
469
+ e,
470
+ i
471
+ ];
472
+ };
473
+ function gt(r) {
474
+ if (Array.isArray(r)) return Ee(r);
475
+ }
476
+ function bt(r) {
477
+ if (typeof Symbol != "undefined" && r[Symbol.iterator] != null || r["@@iterator"] != null) return Array.from(r);
478
+ }
479
+ function wt() {
480
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
481
+ }
482
+ function V(r) {
483
+ return gt(r) || bt(r) || Pe(r) || wt();
484
+ }
485
+ var Y = {
486
+ TRACE: 0,
487
+ DEBUG: 1,
488
+ INFO: 2,
489
+ WARN: 3,
490
+ ERROR: 4,
491
+ SILENT: 5
492
+ }, Tt = function(r) {
493
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3, t, i, a, n, o, s = r ? [console, r] : [console], u = (t = console.trace).bind.apply(t, V(s)), f = (i = console.info).bind.apply(i, V(s)), h = (a = console.debug).bind.apply(a, V(s)), E = (n = console.warn).bind.apply(n, V(s)), y = (o = console.error).bind.apply(o, V(s)), c = e;
494
+ return {
495
+ trace: function() {
496
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
497
+ if (!(c > Y.TRACE)) return u.apply(void 0, V(x));
498
+ },
499
+ debug: function() {
500
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
501
+ if (!(c > Y.DEBUG)) return h.apply(void 0, V(x));
502
+ },
503
+ info: function() {
504
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
505
+ if (!(c > Y.INFO)) return f.apply(void 0, V(x));
506
+ },
507
+ warn: function() {
508
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
509
+ if (!(c > Y.WARN)) return E.apply(void 0, V(x));
510
+ },
511
+ error: function() {
512
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
513
+ if (!(c > Y.ERROR)) return y.apply(void 0, V(x));
514
+ },
515
+ get level() {
516
+ return c;
517
+ },
518
+ set level(p) {
519
+ p !== this.level && (c = p != null ? p : e);
520
+ }
521
+ };
522
+ };
523
+ var q = Tt("[mux]");
524
+ var Le = G(Q());
525
+ function ce() {
526
+ return (Le.default.doNotTrack || Le.default.navigator && Le.default.navigator.doNotTrack) === "1";
527
+ }
528
+ function b(r) {
529
+ if (r === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
530
+ return r;
531
+ }
532
+ te();
533
+ function S(r, e) {
534
+ if (!U(r, e)) throw new TypeError("Cannot call a class as a function");
535
+ }
536
+ function kt(r, e) {
537
+ for (var t = 0; t < e.length; t++) {
538
+ var i = e[t];
539
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(r, i.key, i);
540
+ }
541
+ }
542
+ function N(r, e, t) {
543
+ return e && kt(r.prototype, e), t && kt(r, t), r;
544
+ }
545
+ function l(r, e, t) {
546
+ return e in r ? Object.defineProperty(r, e, {
547
+ value: t,
548
+ enumerable: !0,
549
+ configurable: !0,
550
+ writable: !0
551
+ }) : r[e] = t, r;
552
+ }
553
+ function X(r) {
554
+ return X = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
555
+ return t.__proto__ || Object.getPrototypeOf(t);
556
+ }, X(r);
557
+ }
558
+ function Et(r, e) {
559
+ for (; !Object.prototype.hasOwnProperty.call(r, e) && (r = X(r), r !== null););
560
+ return r;
561
+ }
562
+ function Se(r, e, t) {
563
+ return typeof Reflect != "undefined" && Reflect.get ? Se = Reflect.get : Se = function(a, n, o) {
564
+ var s = Et(a, n);
565
+ if (s) {
566
+ var u = Object.getOwnPropertyDescriptor(s, n);
567
+ return u.get ? u.get.call(o || a) : u.value;
568
+ }
569
+ }, Se(r, e, t || r);
570
+ }
571
+ function Ie(r, e) {
572
+ return Ie = Object.setPrototypeOf || function(i, a) {
573
+ return i.__proto__ = a, i;
574
+ }, Ie(r, e);
575
+ }
576
+ function xt(r, e) {
577
+ if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
578
+ r.prototype = Object.create(e && e.prototype, { constructor: {
579
+ value: r,
580
+ writable: !0,
581
+ configurable: !0
582
+ } }), e && Ie(r, e);
583
+ }
584
+ function St(r, e) {
585
+ if (r == null) return {};
586
+ var t = {}, i = Object.keys(r), a, n;
587
+ for (n = 0; n < i.length; n++) a = i[n], !(e.indexOf(a) >= 0) && (t[a] = r[a]);
588
+ return t;
589
+ }
590
+ function Rt(r, e) {
591
+ if (r == null) return {};
592
+ var t = St(r, e), i, a;
593
+ if (Object.getOwnPropertySymbols) {
594
+ var n = Object.getOwnPropertySymbols(r);
595
+ for (a = 0; a < n.length; a++) i = n[a], !(e.indexOf(i) >= 0) && Object.prototype.propertyIsEnumerable.call(r, i) && (t[i] = r[i]);
596
+ }
597
+ return t;
598
+ }
599
+ function Dt() {
600
+ if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham) return !1;
601
+ if (typeof Proxy == "function") return !0;
602
+ try {
603
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})), !0;
604
+ } catch (r) {
605
+ return !1;
606
+ }
607
+ }
608
+ Qe();
609
+ function qt(r, e) {
610
+ return e && (Ne(e) === "object" || typeof e == "function") ? e : b(r);
611
+ }
612
+ function At(r) {
613
+ var e = Dt();
614
+ return function() {
615
+ var i = X(r), a;
616
+ if (e) {
617
+ var n = X(this).constructor;
618
+ a = Reflect.construct(i, arguments, n);
619
+ } else a = i.apply(this, arguments);
620
+ return qt(this, a);
621
+ };
622
+ }
623
+ var F = function(r) {
624
+ return re(r)[0];
625
+ };
626
+ var re = function(r) {
627
+ if (typeof r != "string" || r === "") return ["localhost"];
628
+ var i = (r.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/) || [])[4], a;
629
+ return i && (a = (i.match(/[^\.]+\.[^\.]+$/) || [])[0]), [i, a];
630
+ };
631
+ var Ce = G(Q()), _e = {
632
+ exists: function() {
633
+ var r = Ce.default.performance;
634
+ return (r && r.timing) !== void 0;
635
+ },
636
+ domContentLoadedEventEnd: function() {
637
+ var r = Ce.default.performance, e = r && r.timing;
638
+ return e && e.domContentLoadedEventEnd;
639
+ },
640
+ navigationStart: function() {
641
+ var r = Ce.default.performance, e = r && r.timing;
642
+ return e && e.navigationStart;
643
+ }
644
+ };
645
+ function O(r, e, t) {
646
+ t = t === void 0 ? 1 : t, r[e] = r[e] || 0, r[e] += t;
647
+ }
648
+ function ue(r) {
649
+ for (var e = 1; e < arguments.length; e++) {
650
+ var t = arguments[e] != null ? arguments[e] : {}, i = Object.keys(t);
651
+ typeof Object.getOwnPropertySymbols == "function" && (i = i.concat(Object.getOwnPropertySymbols(t).filter(function(a) {
652
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
653
+ }))), i.forEach(function(a) {
654
+ l(r, a, t[a]);
655
+ });
656
+ }
657
+ return r;
658
+ }
659
+ function ua(r, e) {
660
+ var t = Object.keys(r);
661
+ if (Object.getOwnPropertySymbols) {
662
+ var i = Object.getOwnPropertySymbols(r);
663
+ e && (i = i.filter(function(a) {
664
+ return Object.getOwnPropertyDescriptor(r, a).enumerable;
665
+ })), t.push.apply(t, i);
666
+ }
667
+ return t;
668
+ }
669
+ function fe(r, e) {
670
+ return e = e != null ? e : {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(e)) : ua(Object(e)).forEach(function(t) {
671
+ Object.defineProperty(r, t, Object.getOwnPropertyDescriptor(e, t));
672
+ }), r;
673
+ }
674
+ var la = ["x-cdn", "content-type"], Pt = [
675
+ "x-request-id",
676
+ "cf-ray",
677
+ "x-amz-cf-id",
678
+ "x-akamai-request-id"
679
+ ], da = la.concat(Pt);
680
+ function pe(r) {
681
+ r = r || "";
682
+ var e = {};
683
+ return r.trim().split(/[\r\n]+/).forEach(function(i) {
684
+ if (i) {
685
+ var a = i.split(": "), n = a.shift();
686
+ n && (da.indexOf(n.toLowerCase()) >= 0 || n.toLowerCase().indexOf("x-litix-") === 0) && (e[n] = a.join(": "));
687
+ }
688
+ }), e;
689
+ }
690
+ function le(r) {
691
+ if (r) {
692
+ var e = Pt.find(function(t) {
693
+ return r[t] !== void 0;
694
+ });
695
+ return e ? r[e] : void 0;
696
+ }
697
+ }
698
+ var ca = function(r) {
699
+ var e = {};
700
+ for (var t in r) {
701
+ var i = r[t];
702
+ if (i["DATA-ID"].search("io.litix.data.") !== -1) {
703
+ var n = i["DATA-ID"].replace("io.litix.data.", "");
704
+ e[n] = i.VALUE;
705
+ }
706
+ }
707
+ return e;
708
+ }, Me = ca;
709
+ var He = function(r) {
710
+ if (!r) return {};
711
+ var e = _e.navigationStart(), t = r.loading, i = t ? t.start : r.trequest, a = t ? t.first : r.tfirst, n = t ? t.end : r.tload;
712
+ return {
713
+ bytesLoaded: r.total,
714
+ requestStart: Math.round(e + i),
715
+ responseStart: Math.round(e + a),
716
+ responseEnd: Math.round(e + n)
717
+ };
718
+ }, Re = function(r) {
719
+ if (!(!r || typeof r.getAllResponseHeaders != "function")) return pe(r.getAllResponseHeaders());
720
+ }, Ot = function(r, e, t) {
721
+ arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
722
+ var a = arguments.length > 4 ? arguments[4] : void 0, n = r.log, o = r.utils.secondsToMs, s = function(v) {
723
+ var m = parseInt(a.version), _;
724
+ return m === 1 && v.programDateTime !== null && (_ = v.programDateTime), m === 0 && v.pdt !== null && (_ = v.pdt), _;
725
+ };
726
+ if (!_e.exists()) {
727
+ n.warn("performance timing not supported. Not tracking HLS.js.");
728
+ return;
729
+ }
730
+ var u = function(v, m) {
731
+ return r.emit(e, v, m);
732
+ }, f = function(v, m) {
733
+ var _ = m.levels, d = m.audioTracks, g = m.url, T = m.stats, k = m.networkDetails, D = m.sessionData, L = {}, C = {};
734
+ _.forEach(function(W, oe) {
735
+ L[oe] = {
736
+ width: W.width,
737
+ height: W.height,
738
+ bitrate: W.bitrate,
739
+ attrs: W.attrs
740
+ };
741
+ }), d.forEach(function(W, oe) {
742
+ C[oe] = {
743
+ name: W.name,
744
+ language: W.lang,
745
+ bitrate: W.bitrate
746
+ };
747
+ });
748
+ var A = He(T), R = A.bytesLoaded, Z = A.requestStart, we = A.responseStart, Te = A.responseEnd;
749
+ u("requestcompleted", fe(ue({}, Me(D)), {
750
+ request_event_type: v,
751
+ request_bytes_loaded: R,
752
+ request_start: Z,
753
+ request_response_start: we,
754
+ request_response_end: Te,
755
+ request_type: "manifest",
756
+ request_hostname: F(g),
757
+ request_response_headers: Re(k),
758
+ request_rendition_lists: {
759
+ media: L,
760
+ audio: C,
761
+ video: {}
762
+ }
763
+ }));
764
+ };
765
+ t.on(a.Events.MANIFEST_LOADED, f);
766
+ var h = function(v, m) {
767
+ var _ = m.details, d = m.level, g = m.networkDetails, T = m.stats, k = He(T), D = k.bytesLoaded, L = k.requestStart, C = k.responseStart, A = k.responseEnd, R = _.fragments[_.fragments.length - 1], Z = s(R) + o(R.duration);
768
+ u("requestcompleted", {
769
+ request_event_type: v,
770
+ request_bytes_loaded: D,
771
+ request_start: L,
772
+ request_response_start: C,
773
+ request_response_end: A,
774
+ request_current_level: d,
775
+ request_type: "manifest",
776
+ request_hostname: F(_.url),
777
+ request_response_headers: Re(g),
778
+ video_holdback: _.holdBack && o(_.holdBack),
779
+ video_part_holdback: _.partHoldBack && o(_.partHoldBack),
780
+ video_part_target_duration: _.partTarget && o(_.partTarget),
781
+ video_target_duration: _.targetduration && o(_.targetduration),
782
+ video_source_is_live: _.live,
783
+ player_manifest_newest_program_time: isNaN(Z) ? void 0 : Z
784
+ });
785
+ };
786
+ t.on(a.Events.LEVEL_LOADED, h);
787
+ var E = function(v, m) {
788
+ var _ = m.details, d = m.networkDetails, g = m.stats, T = He(g), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd;
789
+ u("requestcompleted", {
790
+ request_event_type: v,
791
+ request_bytes_loaded: k,
792
+ request_start: D,
793
+ request_response_start: L,
794
+ request_response_end: C,
795
+ request_type: "manifest",
796
+ request_hostname: F(_.url),
797
+ request_response_headers: Re(d)
798
+ });
799
+ };
800
+ t.on(a.Events.AUDIO_TRACK_LOADED, E);
801
+ var y = function(v, m) {
802
+ var _ = m.stats, d = m.networkDetails, g = m.frag;
803
+ _ = _ || g.stats;
804
+ var T = He(_), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd, A = d ? Re(d) : void 0, R = {
805
+ request_event_type: v,
806
+ request_bytes_loaded: k,
807
+ request_start: D,
808
+ request_response_start: L,
809
+ request_response_end: C,
810
+ request_hostname: d ? F(d.responseURL) : void 0,
811
+ request_id: A ? le(A) : void 0,
812
+ request_response_headers: A,
813
+ request_media_duration: g.duration,
814
+ request_url: d == null ? void 0 : d.responseURL
815
+ };
816
+ g.type === "main" ? (R.request_type = "media", R.request_current_level = g.level, R.request_video_width = (t.levels[g.level] || {}).width, R.request_video_height = (t.levels[g.level] || {}).height, R.request_labeled_bitrate = (t.levels[g.level] || {}).bitrate) : R.request_type = g.type, u("requestcompleted", R);
817
+ };
818
+ t.on(a.Events.FRAG_LOADED, y);
819
+ var c = function(v, m) {
820
+ var _ = m.frag, d = _.start;
821
+ u("fragmentchange", {
822
+ currentFragmentPDT: s(_),
823
+ currentFragmentStart: o(d)
824
+ });
825
+ };
826
+ t.on(a.Events.FRAG_CHANGED, c);
827
+ var p = function(v, m) {
828
+ var _ = m.type, d = m.details, g = m.response, T = m.fatal, k = m.frag, D = m.networkDetails, L = (k == null ? void 0 : k.url) || m.url || "", C = D ? Re(D) : void 0;
829
+ if ((d === a.ErrorDetails.MANIFEST_LOAD_ERROR || d === a.ErrorDetails.MANIFEST_LOAD_TIMEOUT || d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT || d === a.ErrorDetails.LEVEL_LOAD_ERROR || d === a.ErrorDetails.LEVEL_LOAD_TIMEOUT || d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT || d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT || d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT) && u("requestfailed", {
830
+ request_error: d,
831
+ request_url: L,
832
+ request_hostname: F(L),
833
+ request_id: C ? le(C) : void 0,
834
+ request_type: d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT ? "media" : d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT ? "audio" : d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT ? "subtitle" : d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT ? "encryption" : "manifest",
835
+ request_error_code: g == null ? void 0 : g.code,
836
+ request_error_text: g == null ? void 0 : g.text
837
+ }), T) {
838
+ var A;
839
+ u("error", {
840
+ player_error_code: _,
841
+ player_error_message: d,
842
+ player_error_context: "".concat(L ? "url: ".concat(L, "\n") : "") + "".concat(g && (g.code || g.text) ? "response: ".concat(g.code, ", ").concat(g.text, "\n") : "") + "".concat(m.reason ? "failure reason: ".concat(m.reason, "\n") : "") + "".concat(m.level ? "level: ".concat(m.level, "\n") : "") + "".concat(m.parent ? "parent stream controller: ".concat(m.parent, "\n") : "") + "".concat(m.buffer ? "buffer length: ".concat(m.buffer, "\n") : "") + "".concat(m.error ? "error: ".concat(m.error, "\n") : "") + "".concat(m.event ? "event: ".concat(m.event, "\n") : "") + "".concat(m.err ? "error message: ".concat((A = m.err) === null || A === void 0 ? void 0 : A.message, "\n") : "")
843
+ });
844
+ }
845
+ };
846
+ t.on(a.Events.ERROR, p);
847
+ var w = function(v, m) {
848
+ var _ = m.frag, d = _ && _._url || "";
849
+ u("requestcanceled", {
850
+ request_event_type: v,
851
+ request_url: d,
852
+ request_type: "media",
853
+ request_hostname: F(d)
854
+ });
855
+ };
856
+ t.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w);
857
+ var x = function(v, m) {
858
+ var _ = m.level, d = t.levels[_];
859
+ if (d && d.attrs && d.attrs.BANDWIDTH) {
860
+ var g = d.attrs.BANDWIDTH, T, k = parseFloat(d.attrs["FRAME-RATE"]);
861
+ isNaN(k) || (T = k), g ? u("renditionchange", {
862
+ video_source_fps: T,
863
+ video_source_bitrate: g,
864
+ video_source_width: d.width,
865
+ video_source_height: d.height,
866
+ video_source_rendition_name: d.name,
867
+ video_source_codec: d == null ? void 0 : d.videoCodec
868
+ }) : n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js");
869
+ }
870
+ };
871
+ t.on(a.Events.LEVEL_SWITCHED, x), t._stopMuxMonitor = function() {
872
+ t.off(a.Events.MANIFEST_LOADED, f), t.off(a.Events.LEVEL_LOADED, h), t.off(a.Events.AUDIO_TRACK_LOADED, E), t.off(a.Events.FRAG_LOADED, y), t.off(a.Events.FRAG_CHANGED, c), t.off(a.Events.ERROR, p), t.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w), t.off(a.Events.LEVEL_SWITCHED, x), t.off(a.Events.DESTROYING, t._stopMuxMonitor), delete t._stopMuxMonitor;
873
+ }, t.on(a.Events.DESTROYING, t._stopMuxMonitor);
874
+ }, Lt = function(r) {
875
+ r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
876
+ };
877
+ var It = function(r, e) {
878
+ if (!r || !r.requestEndDate) return {};
879
+ var t = F(r.url), i = r.url, a = r.bytesLoaded, n = new Date(r.requestStartDate).getTime(), o = new Date(r.firstByteDate).getTime(), s = new Date(r.requestEndDate).getTime(), u = isNaN(r.duration) ? 0 : r.duration, f = typeof e.getMetricsFor == "function" ? e.getMetricsFor(r.mediaType).HttpList : e.getDashMetrics().getHttpRequests(r.mediaType), h;
880
+ f.length > 0 && (h = pe(f[f.length - 1]._responseHeaders || ""));
881
+ var E = h ? le(h) : void 0;
882
+ return {
883
+ requestStart: n,
884
+ requestResponseStart: o,
885
+ requestResponseEnd: s,
886
+ requestBytesLoaded: a,
887
+ requestResponseHeaders: h,
888
+ requestMediaDuration: u,
889
+ requestHostname: t,
890
+ requestUrl: i,
891
+ requestId: E
892
+ };
893
+ }, _a = function(r, e) {
894
+ if (typeof e.getCurrentRepresentationForType == "function") {
895
+ var t = e.getCurrentRepresentationForType(r);
896
+ return t ? {
897
+ currentLevel: t.absoluteIndex,
898
+ renditionWidth: t.width || null,
899
+ renditionHeight: t.height || null,
900
+ renditionBitrate: t.bandwidth
901
+ } : {};
902
+ }
903
+ var i = e.getQualityFor(r), a = e.getCurrentTrackFor(r).bitrateList;
904
+ return a ? {
905
+ currentLevel: i,
906
+ renditionWidth: a[i].width || null,
907
+ renditionHeight: a[i].height || null,
908
+ renditionBitrate: a[i].bandwidth
909
+ } : {};
910
+ }, fa = function(r) {
911
+ var e;
912
+ return (e = r.match(/.*codecs\*?="(.*)"/)) === null || e === void 0 ? void 0 : e[1];
913
+ }, pa = function(e) {
914
+ try {
915
+ var t, i;
916
+ return (i = e.getVersion) === null || i === void 0 || (t = i.call(e)) === null || t === void 0 ? void 0 : t.split(".").map(function(n) {
917
+ return parseInt(n);
918
+ })[0];
919
+ } catch (n) {
920
+ return !1;
921
+ }
922
+ }, Nt = function(r, e, t) {
923
+ arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
924
+ var a = r.log;
925
+ if (!t || !t.on) {
926
+ a.warn("Invalid dash.js player reference. Monitoring blocked.");
927
+ return;
928
+ }
929
+ var n = pa(t), o = function(_, d) {
930
+ return r.emit(e, _, d);
931
+ }, s = function(_) {
932
+ var d = _.type, T = (_.data || {}).url;
933
+ o("requestcompleted", {
934
+ request_event_type: d,
935
+ request_start: 0,
936
+ request_response_start: 0,
937
+ request_response_end: 0,
938
+ request_bytes_loaded: -1,
939
+ request_type: "manifest",
940
+ request_hostname: F(T),
941
+ request_url: T
942
+ });
943
+ };
944
+ t.on("manifestLoaded", s);
945
+ var u = {}, f = function(_) {
946
+ if (typeof _.getRequests != "function") return null;
947
+ var d = _.getRequests({ state: "executed" });
948
+ return d.length === 0 ? null : d[d.length - 1];
949
+ }, h = function(_) {
950
+ var d = _.type, g = _.fragmentModel, T = _.chunk;
951
+ E({
952
+ type: d,
953
+ request: f(g),
954
+ chunk: T
955
+ });
956
+ }, E = function(_) {
957
+ var d = _.type, g = _.chunk, T = _.request, D = (g || {}).mediaInfo || {}, L = D.type, C = D.bitrateList;
958
+ C = C || [];
959
+ var A = {};
960
+ C.forEach(function(ke, z) {
961
+ A[z] = {}, A[z].width = ke.width, A[z].height = ke.height, A[z].bitrate = ke.bandwidth, A[z].attrs = {};
962
+ }), L === "video" ? u.video = A : L === "audio" ? u.audio = A : u.media = A;
963
+ var R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestResponseHeaders, oe = R.requestMediaDuration, je = R.requestHostname, We = R.requestUrl, Ge = R.requestId;
964
+ o("requestcompleted", {
965
+ request_event_type: d,
966
+ request_start: Z,
967
+ request_response_start: we,
968
+ request_response_end: Te,
969
+ request_bytes_loaded: -1,
970
+ request_type: L + "_init",
971
+ request_response_headers: W,
972
+ request_hostname: je,
973
+ request_id: Ge,
974
+ request_url: We,
975
+ request_media_duration: oe,
976
+ request_rendition_lists: u
977
+ });
978
+ };
979
+ n >= 4 ? t.on("initFragmentLoaded", E) : t.on("initFragmentLoaded", h);
980
+ var y = function(_) {
981
+ var d = _.type, g = _.fragmentModel, T = _.chunk;
982
+ c({
983
+ type: d,
984
+ request: f(g),
985
+ chunk: T
986
+ });
987
+ }, c = function(_) {
988
+ var d = _.type, g = _.chunk, T = _.request, k = g || {}, D = k.mediaInfo, L = k.start, A = (D || {}).type, R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestBytesLoaded, oe = R.requestResponseHeaders, je = R.requestMediaDuration, We = R.requestHostname, Ge = R.requestUrl, ke = R.requestId, z = _a(A, t), Yr = z.currentLevel, Xr = z.renditionWidth, $r = z.renditionHeight, Zr = z.renditionBitrate;
989
+ o("requestcompleted", {
990
+ request_event_type: d,
991
+ request_start: Z,
992
+ request_response_start: we,
993
+ request_response_end: Te,
994
+ request_bytes_loaded: W,
995
+ request_type: A,
996
+ request_response_headers: oe,
997
+ request_hostname: We,
998
+ request_id: ke,
999
+ request_url: Ge,
1000
+ request_media_start_time: L,
1001
+ request_media_duration: je,
1002
+ request_current_level: Yr,
1003
+ request_labeled_bitrate: Zr,
1004
+ request_video_width: Xr,
1005
+ request_video_height: $r
1006
+ });
1007
+ };
1008
+ n >= 4 ? t.on("mediaFragmentLoaded", c) : t.on("mediaFragmentLoaded", y);
1009
+ var p = {
1010
+ video: void 0,
1011
+ audio: void 0,
1012
+ totalBitrate: void 0
1013
+ }, w = function() {
1014
+ if (p.video && typeof p.video.bitrate == "number") {
1015
+ if (!(p.video.width && p.video.height)) {
1016
+ a.warn("have bitrate info for video but missing width/height");
1017
+ return;
1018
+ }
1019
+ var _ = p.video.bitrate;
1020
+ if (p.audio && typeof p.audio.bitrate == "number" && (_ += p.audio.bitrate), _ !== p.totalBitrate) return p.totalBitrate = _, {
1021
+ video_source_bitrate: _,
1022
+ video_source_height: p.video.height,
1023
+ video_source_width: p.video.width,
1024
+ video_source_codec: fa(p.video.codec)
1025
+ };
1026
+ }
1027
+ }, x = function(_, d, g) {
1028
+ var T = _.mediaType;
1029
+ if (T === "audio" || T === "video") {
1030
+ var k;
1031
+ if (typeof t.getRepresentationsByType == "function") if (_.newRepresentation) k = {
1032
+ bitrate: _.newRepresentation.bandwidth,
1033
+ width: _.newRepresentation.width,
1034
+ height: _.newRepresentation.height,
1035
+ qualityIndex: _.newRepresentation.absoluteIndex
1036
+ };
1037
+ else {
1038
+ var D = t.getRepresentationsByType(T);
1039
+ if (D && typeof _.newQuality == "number") {
1040
+ var L = D.find(function(A) {
1041
+ return A.absoluteIndex === _.newQuality || A.index === _.newQuality;
1042
+ });
1043
+ L && (k = {
1044
+ bitrate: L.bandwidth,
1045
+ width: L.width,
1046
+ height: L.height,
1047
+ qualityIndex: _.newQuality
1048
+ });
1049
+ }
1050
+ }
1051
+ else {
1052
+ if (typeof _.newQuality != "number") {
1053
+ a.warn("missing evt.newQuality in qualityChangeRendered event", _);
1054
+ return;
1055
+ }
1056
+ k = t.getBitrateInfoListFor(T).find(function(A) {
1057
+ return A.qualityIndex === _.newQuality;
1058
+ });
1059
+ }
1060
+ if (!(k && typeof k.bitrate == "number")) {
1061
+ a.warn("missing bitrate info for ".concat(T));
1062
+ return;
1063
+ }
1064
+ p[T] = fe(ue({}, k), { codec: t.getCurrentTrackFor(T).codec });
1065
+ var C = w();
1066
+ C && o("renditionchange", C);
1067
+ }
1068
+ };
1069
+ t.on("qualityChangeRendered", x);
1070
+ var v = function(_) {
1071
+ var d = _.request, g = _.mediaType;
1072
+ d = d || {}, o("requestcanceled", {
1073
+ request_event_type: d.type + "_" + d.action,
1074
+ request_url: d.url,
1075
+ request_type: g,
1076
+ request_hostname: F(d.url)
1077
+ });
1078
+ };
1079
+ t.on("fragmentLoadingAbandoned", v);
1080
+ var m = function(_) {
1081
+ var d = _.error, g, T, k = (d == null || (g = d.data) === null || g === void 0 ? void 0 : g.request) || {}, D = (d == null || (T = d.data) === null || T === void 0 ? void 0 : T.response) || {};
1082
+ (d == null ? void 0 : d.code) === 27 && o("requestfailed", {
1083
+ request_error: k.type + "_" + k.action,
1084
+ request_url: k.url,
1085
+ request_hostname: F(k.url),
1086
+ request_type: k.mediaType,
1087
+ request_error_code: D.status,
1088
+ request_error_text: D.statusText
1089
+ });
1090
+ var L = "".concat(k != null && k.url ? "url: ".concat(k.url, "\n") : "") + "".concat(D != null && D.status || D != null && D.statusText ? "response: ".concat(D == null ? void 0 : D.status, ", ").concat(D == null ? void 0 : D.statusText, "\n") : "");
1091
+ o("error", {
1092
+ player_error_code: d == null ? void 0 : d.code,
1093
+ player_error_message: d == null ? void 0 : d.message,
1094
+ player_error_context: L
1095
+ });
1096
+ };
1097
+ t.on("error", m), t._stopMuxMonitor = function() {
1098
+ t.off("manifestLoaded", s), t.off("initFragmentLoaded", E), t.off("mediaFragmentLoaded", c), t.off("qualityChangeRendered", x), t.off("error", m), t.off("fragmentLoadingAbandoned", v), delete t._stopMuxMonitor;
1099
+ };
1100
+ }, Ct = function(r) {
1101
+ r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
1102
+ };
1103
+ var Mt = 0, Ht = function() {
1104
+ "use strict";
1105
+ function r() {
1106
+ S(this, r), l(this, "_listeners", void 0);
1107
+ }
1108
+ return N(r, [
1109
+ {
1110
+ key: "on",
1111
+ value: function(t, i, a) {
1112
+ return i._eventEmitterGuid = i._eventEmitterGuid || ++Mt, this._listeners = this._listeners || {}, this._listeners[t] = this._listeners[t] || [], a && (i = i.bind(a)), this._listeners[t].push(i), i;
1113
+ }
1114
+ },
1115
+ {
1116
+ key: "off",
1117
+ value: function(t, i) {
1118
+ var a = this._listeners && this._listeners[t];
1119
+ a && a.forEach(function(n, o) {
1120
+ n._eventEmitterGuid === i._eventEmitterGuid && a.splice(o, 1);
1121
+ });
1122
+ }
1123
+ },
1124
+ {
1125
+ key: "one",
1126
+ value: function(t, i, a) {
1127
+ var n = this;
1128
+ i._eventEmitterGuid = i._eventEmitterGuid || ++Mt;
1129
+ var o = function() {
1130
+ n.off(t, o), i.apply(a || this, arguments);
1131
+ };
1132
+ o._eventEmitterGuid = i._eventEmitterGuid, this.on(t, o);
1133
+ }
1134
+ },
1135
+ {
1136
+ key: "emit",
1137
+ value: function(t, i) {
1138
+ var a = this;
1139
+ if (this._listeners) {
1140
+ i = i || {};
1141
+ var n = this._listeners["before" + t] || [], o = this._listeners["before*"] || [], s = this._listeners[t] || [], u = this._listeners["after" + t] || [], f = function(h, E) {
1142
+ h = h.slice(), h.forEach(function(y) {
1143
+ y.call(a, { type: t }, E);
1144
+ });
1145
+ };
1146
+ f(n, i), f(o, i), f(s, i), f(u, i);
1147
+ }
1148
+ }
1149
+ }
1150
+ ]), r;
1151
+ }();
1152
+ var Be = G(Q()), Bt = function() {
1153
+ "use strict";
1154
+ function r(e) {
1155
+ var t = this;
1156
+ S(this, r), l(this, "_playbackHeartbeatInterval", void 0), l(this, "_playheadShouldBeProgressing", void 0), l(this, "pm", void 0), this.pm = e, this._playbackHeartbeatInterval = null, this._playheadShouldBeProgressing = !1, e.on("playing", function() {
1157
+ t._playheadShouldBeProgressing = !0;
1158
+ }), e.on("play", this._startPlaybackHeartbeatInterval.bind(this)), e.on("playing", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adbreakstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplay", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplaying", this._startPlaybackHeartbeatInterval.bind(this)), e.on("devicewake", this._startPlaybackHeartbeatInterval.bind(this)), e.on("viewstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("rebufferstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("pause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("ended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("viewend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("error", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("aderror", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adpause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adbreakend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("seeked", function() {
1159
+ e.data.player_is_paused ? t._stopPlaybackHeartbeatInterval() : t._startPlaybackHeartbeatInterval();
1160
+ }), e.on("timeupdate", function() {
1161
+ t._playbackHeartbeatInterval !== null && e.emit("playbackheartbeat");
1162
+ }), e.on("devicesleep", function(i, a) {
1163
+ t._playbackHeartbeatInterval !== null && (Be.default.clearInterval(t._playbackHeartbeatInterval), e.emit("playbackheartbeatend", { viewer_time: a.viewer_time }), t._playbackHeartbeatInterval = null);
1164
+ });
1165
+ }
1166
+ return N(r, [{
1167
+ key: "_startPlaybackHeartbeatInterval",
1168
+ value: function() {
1169
+ var t = this;
1170
+ this._playbackHeartbeatInterval === null && (this.pm.emit("playbackheartbeat"), this._playbackHeartbeatInterval = Be.default.setInterval(function() {
1171
+ t.pm.emit("playbackheartbeat");
1172
+ }, this.pm.playbackHeartbeatTime));
1173
+ }
1174
+ }, {
1175
+ key: "_stopPlaybackHeartbeatInterval",
1176
+ value: function() {
1177
+ this._playheadShouldBeProgressing = !1, this._playbackHeartbeatInterval !== null && (Be.default.clearInterval(this._playbackHeartbeatInterval), this.pm.emit("playbackheartbeatend"), this._playbackHeartbeatInterval = null);
1178
+ }
1179
+ }]), r;
1180
+ }();
1181
+ var Ut = function r(e) {
1182
+ "use strict";
1183
+ var t = this;
1184
+ S(this, r), l(this, "viewErrored", void 0), e.on("viewinit", function() {
1185
+ t.viewErrored = !1;
1186
+ }), e.on("error", function(i, a) {
1187
+ try {
1188
+ var n = e.errorTranslator({
1189
+ player_error_code: a.player_error_code,
1190
+ player_error_message: a.player_error_message,
1191
+ player_error_context: a.player_error_context,
1192
+ player_error_severity: a.player_error_severity,
1193
+ player_error_business_exception: a.player_error_business_exception
1194
+ });
1195
+ n && (e.data.player_error_code = n.player_error_code || a.player_error_code, e.data.player_error_message = n.player_error_message || a.player_error_message, e.data.player_error_context = n.player_error_context || a.player_error_context, e.data.player_error_severity = n.player_error_severity || a.player_error_severity, e.data.player_error_business_exception = n.player_error_business_exception || a.player_error_business_exception, t.viewErrored = !0);
1196
+ } catch (o) {
1197
+ e.mux.log.warn("Exception in error translator callback.", o), t.viewErrored = !0;
1198
+ }
1199
+ }), e.on("aftererror", function() {
1200
+ var i, a, n, o, s;
1201
+ (i = e.data) === null || i === void 0 || delete i.player_error_code, (a = e.data) === null || a === void 0 || delete a.player_error_message, (n = e.data) === null || n === void 0 || delete n.player_error_context, (o = e.data) === null || o === void 0 || delete o.player_error_severity, (s = e.data) === null || s === void 0 || delete s.player_error_business_exception;
1202
+ });
1203
+ };
1204
+ var Ft = function() {
1205
+ "use strict";
1206
+ function r(e) {
1207
+ S(this, r), l(this, "_watchTimeTrackerLastCheckedTime", void 0), l(this, "pm", void 0), this.pm = e, this._watchTimeTrackerLastCheckedTime = null, e.on("playbackheartbeat", this._updateWatchTime.bind(this)), e.on("playbackheartbeatend", this._clearWatchTimeState.bind(this));
1208
+ }
1209
+ return N(r, [{
1210
+ key: "_updateWatchTime",
1211
+ value: function(t, i) {
1212
+ var a = i.viewer_time;
1213
+ this._watchTimeTrackerLastCheckedTime === null && (this._watchTimeTrackerLastCheckedTime = a), O(this.pm.data, "view_watch_time", a - this._watchTimeTrackerLastCheckedTime), this._watchTimeTrackerLastCheckedTime = a;
1214
+ }
1215
+ }, {
1216
+ key: "_clearWatchTimeState",
1217
+ value: function(t, i) {
1218
+ this._updateWatchTime(t, i), this._watchTimeTrackerLastCheckedTime = null;
1219
+ }
1220
+ }]), r;
1221
+ }();
1222
+ var Vt = function() {
1223
+ "use strict";
1224
+ function r(e) {
1225
+ var t = this;
1226
+ S(this, r), l(this, "_playbackTimeTrackerLastPlayheadPosition", void 0), l(this, "_lastTime", void 0), l(this, "_isAdPlaying", void 0), l(this, "_callbackUpdatePlaybackTime", void 0), l(this, "pm", void 0), this.pm = e, this._playbackTimeTrackerLastPlayheadPosition = -1, this._lastTime = P.now(), this._isAdPlaying = !1, this._callbackUpdatePlaybackTime = null, e.on("viewinit", function() {
1227
+ t.pm.data.view_playing_time_ms_cumulative = 0;
1228
+ });
1229
+ var i = this._startPlaybackTimeTracking.bind(this);
1230
+ e.on("playing", i), e.on("adplaying", i);
1231
+ var a = function() {
1232
+ t.pm.data.player_is_paused || i();
1233
+ };
1234
+ e.on("seeked", a), e.on("rebufferend", a);
1235
+ var n = this._stopPlaybackTimeTracking.bind(this);
1236
+ e.on("playbackheartbeatend", n), e.on("seeking", n), e.on("rebufferstart", n), e.on("adplaying", function() {
1237
+ t._isAdPlaying = !0;
1238
+ }), e.on("adended", function() {
1239
+ t._isAdPlaying = !1;
1240
+ }), e.on("adpause", function() {
1241
+ t._isAdPlaying = !1;
1242
+ }), e.on("adbreakstart", function() {
1243
+ t._isAdPlaying = !1;
1244
+ }), e.on("adbreakend", function() {
1245
+ t._isAdPlaying = !1;
1246
+ }), e.on("adplay", function() {
1247
+ t._isAdPlaying = !1;
1248
+ }), e.on("viewinit", function() {
1249
+ t._playbackTimeTrackerLastPlayheadPosition = -1, t._lastTime = P.now(), t._isAdPlaying = !1, t._callbackUpdatePlaybackTime = null;
1250
+ });
1251
+ }
1252
+ return N(r, [
1253
+ {
1254
+ key: "_startPlaybackTimeTracking",
1255
+ value: function() {
1256
+ this._callbackUpdatePlaybackTime === null && (this._callbackUpdatePlaybackTime = this._updatePlaybackTime.bind(this), this._playbackTimeTrackerLastPlayheadPosition = this.pm.data.player_playhead_time, this._lastTime = P.now(), this.pm.on("playbackheartbeat", this._callbackUpdatePlaybackTime));
1257
+ }
1258
+ },
1259
+ {
1260
+ key: "_stopPlaybackTimeTracking",
1261
+ value: function() {
1262
+ this._callbackUpdatePlaybackTime && (this._updatePlaybackTime(), this.pm.off("playbackheartbeat", this._callbackUpdatePlaybackTime), this._callbackUpdatePlaybackTime = null, this._playbackTimeTrackerLastPlayheadPosition = -1);
1263
+ }
1264
+ },
1265
+ {
1266
+ key: "_updatePlaybackTime",
1267
+ value: function() {
1268
+ var t = this.pm.data.player_playhead_time || 0, i = P.now(), a = i - this._lastTime, n = -1;
1269
+ this._playbackTimeTrackerLastPlayheadPosition >= 0 && t > this._playbackTimeTrackerLastPlayheadPosition ? n = t - this._playbackTimeTrackerLastPlayheadPosition : this._isAdPlaying && (n = a), n > 0 && n <= 1e3 && O(this.pm.data, "view_content_playback_time", n), this._callbackUpdatePlaybackTime !== null && a > 0 && a <= 1e3 && (this._isAdPlaying && O(this.pm.data, "ad_playing_time_ms_cumulative", a), O(this.pm.data, "view_playing_time_ms_cumulative", a)), this._playbackTimeTrackerLastPlayheadPosition = t, this._lastTime = i;
1270
+ }
1271
+ }
1272
+ ]), r;
1273
+ }();
1274
+ var jt = function() {
1275
+ "use strict";
1276
+ function r(e) {
1277
+ S(this, r), l(this, "pm", void 0), this.pm = e;
1278
+ var t = this._updatePlayheadTime.bind(this);
1279
+ e.on("playbackheartbeat", t), e.on("playbackheartbeatend", t), e.on("timeupdate", t), e.on("destroy", function() {
1280
+ e.off("timeupdate", t);
1281
+ });
1282
+ }
1283
+ return N(r, [{
1284
+ key: "_updateMaxPlayheadPosition",
1285
+ value: function() {
1286
+ this.pm.data.view_max_playhead_position = typeof this.pm.data.view_max_playhead_position == "undefined" ? this.pm.data.player_playhead_time : Math.max(this.pm.data.view_max_playhead_position, this.pm.data.player_playhead_time);
1287
+ }
1288
+ }, {
1289
+ key: "_updatePlayheadTime",
1290
+ value: function(t, i) {
1291
+ var a = this, n = function() {
1292
+ a.pm.currentFragmentPDT && a.pm.currentFragmentStart && (a.pm.data.player_program_time = a.pm.currentFragmentPDT + a.pm.data.player_playhead_time - a.pm.currentFragmentStart);
1293
+ };
1294
+ if (i && i.player_playhead_time) this.pm.data.player_playhead_time = i.player_playhead_time, n(), this._updateMaxPlayheadPosition();
1295
+ else if (this.pm.getPlayheadTime) {
1296
+ var o = this.pm.getPlayheadTime();
1297
+ typeof o != "undefined" && (this.pm.data.player_playhead_time = o, n(), this._updateMaxPlayheadPosition());
1298
+ }
1299
+ }
1300
+ }]), r;
1301
+ }();
1302
+ var Wt = 300 * 1e3, Gt = function r(e) {
1303
+ "use strict";
1304
+ if (S(this, r), !e.disableRebufferTracking) {
1305
+ var t, i = function(n, o) {
1306
+ a(o), t = void 0;
1307
+ }, a = function(n) {
1308
+ if (t) {
1309
+ var o = n.viewer_time - t;
1310
+ O(e.data, "view_rebuffer_duration", o), t = n.viewer_time, e.data.view_rebuffer_duration > Wt && (e.emit("viewend"), e.send("viewend"), e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Wt, "ms, future events will be ignored unless a programchange or videochange occurs.")));
1311
+ }
1312
+ e.data.view_watch_time >= 0 && e.data.view_rebuffer_count > 0 && (e.data.view_rebuffer_frequency = e.data.view_rebuffer_count / e.data.view_watch_time, e.data.view_rebuffer_percentage = e.data.view_rebuffer_duration / e.data.view_watch_time);
1313
+ };
1314
+ e.on("playbackheartbeat", function(n, o) {
1315
+ return a(o);
1316
+ }), e.on("rebufferstart", function(n, o) {
1317
+ t || (O(e.data, "view_rebuffer_count", 1), t = o.viewer_time, e.one("rebufferend", i));
1318
+ }), e.on("viewinit", function() {
1319
+ t = void 0, e.off("rebufferend", i);
1320
+ });
1321
+ }
1322
+ };
1323
+ var Jt = function() {
1324
+ "use strict";
1325
+ function r(e) {
1326
+ var t = this;
1327
+ S(this, r), l(this, "_lastCheckedTime", void 0), l(this, "_lastPlayheadTime", void 0), l(this, "_lastPlayheadTimeUpdatedTime", void 0), l(this, "_rebuffering", void 0), l(this, "pm", void 0), this.pm = e, !(e.disableRebufferTracking || e.disablePlayheadRebufferTracking) && (this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null, e.on("playbackheartbeat", this._checkIfRebuffering.bind(this)), e.on("playbackheartbeatend", this._cleanupRebufferTracker.bind(this)), e.on("seeking", function() {
1328
+ t._cleanupRebufferTracker(null, { viewer_time: P.now() });
1329
+ }));
1330
+ }
1331
+ return N(r, [
1332
+ {
1333
+ key: "_checkIfRebuffering",
1334
+ value: function(t, i) {
1335
+ if (this.pm.seekingTracker.isSeeking || this.pm.adTracker.isAdBreak || !this.pm.playbackHeartbeat._playheadShouldBeProgressing) {
1336
+ this._cleanupRebufferTracker(t, i);
1337
+ return;
1338
+ }
1339
+ if (this._lastCheckedTime === null) {
1340
+ this._prepareRebufferTrackerState(i.viewer_time);
1341
+ return;
1342
+ }
1343
+ if (this._lastPlayheadTime !== this.pm.data.player_playhead_time) {
1344
+ this._cleanupRebufferTracker(t, i, !0);
1345
+ return;
1346
+ }
1347
+ var a = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
1348
+ typeof this.pm.sustainedRebufferThreshold == "number" && a >= this.pm.sustainedRebufferThreshold && (this._rebuffering || (this._rebuffering = !0, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }))), this._lastCheckedTime = i.viewer_time;
1349
+ }
1350
+ },
1351
+ {
1352
+ key: "_clearRebufferTrackerState",
1353
+ value: function() {
1354
+ this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null;
1355
+ }
1356
+ },
1357
+ {
1358
+ key: "_prepareRebufferTrackerState",
1359
+ value: function(t) {
1360
+ this._lastCheckedTime = t, this._lastPlayheadTime = this.pm.data.player_playhead_time, this._lastPlayheadTimeUpdatedTime = t;
1361
+ }
1362
+ },
1363
+ {
1364
+ key: "_cleanupRebufferTracker",
1365
+ value: function(t, i) {
1366
+ var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
1367
+ if (this._rebuffering) this._rebuffering = !1, this.pm.emit("rebufferend", { viewer_time: i.viewer_time });
1368
+ else {
1369
+ if (this._lastCheckedTime === null) return;
1370
+ var n = this.pm.data.player_playhead_time - this._lastPlayheadTime, o = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
1371
+ typeof this.pm.minimumRebufferDuration == "number" && n > 0 && o - n > this.pm.minimumRebufferDuration && (this._lastCheckedTime = null, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }), this.pm.emit("rebufferend", { viewer_time: this._lastPlayheadTimeUpdatedTime + o - n }));
1372
+ }
1373
+ a ? this._prepareRebufferTrackerState(i.viewer_time) : this._clearRebufferTrackerState();
1374
+ }
1375
+ }
1376
+ ]), r;
1377
+ }();
1378
+ var Qt = function() {
1379
+ "use strict";
1380
+ function r(e) {
1381
+ var t = this;
1382
+ S(this, r), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
1383
+ var i = e.data, a = i.view_id;
1384
+ if (!i.view_program_changed) {
1385
+ var n = function(o, s) {
1386
+ var u = s.viewer_time;
1387
+ o.type === "playing" && typeof e.data.view_time_to_first_frame == "undefined" ? t.calculateTimeToFirstFrame(u || P.now(), a) : o.type === "adplaying" && (typeof e.data.view_time_to_first_frame == "undefined" || t._inPrerollPosition()) && t.calculateTimeToFirstFrame(u || P.now(), a);
1388
+ };
1389
+ e.one("playing", n), e.one("adplaying", n), e.one("viewend", function() {
1390
+ e.off("playing", n), e.off("adplaying", n);
1391
+ });
1392
+ }
1393
+ });
1394
+ }
1395
+ return N(r, [{
1396
+ key: "_inPrerollPosition",
1397
+ value: function() {
1398
+ return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
1399
+ }
1400
+ }, {
1401
+ key: "calculateTimeToFirstFrame",
1402
+ value: function(t, i) {
1403
+ i === this.pm.data.view_id && (this.pm.watchTimeTracker._updateWatchTime(null, { viewer_time: t }), this.pm.data.view_time_to_first_frame = this.pm.data.view_watch_time, (this.pm.data.player_autoplay_on || this.pm.data.video_is_autoplay) && this.pm.pageLoadInitTime && (this.pm.data.view_aggregate_startup_time = this.pm.data.view_start + this.pm.data.view_watch_time - this.pm.pageLoadInitTime));
1404
+ }
1405
+ }]), r;
1406
+ }();
1407
+ var zt = function r(e) {
1408
+ "use strict";
1409
+ var t = this;
1410
+ S(this, r), l(this, "_lastPlayerHeight", void 0), l(this, "_lastPlayerWidth", void 0), l(this, "_lastPlayheadPosition", void 0), l(this, "_lastSourceHeight", void 0), l(this, "_lastSourceWidth", void 0), e.on("viewinit", function() {
1411
+ t._lastPlayheadPosition = -1;
1412
+ });
1413
+ [
1414
+ "pause",
1415
+ "rebufferstart",
1416
+ "seeking",
1417
+ "error",
1418
+ "adbreakstart",
1419
+ "hb",
1420
+ "renditionchange",
1421
+ "orientationchange",
1422
+ "viewend",
1423
+ "playbackmodechange"
1424
+ ].forEach(function(n) {
1425
+ e.on(n, function() {
1426
+ if (t._lastPlayheadPosition >= 0 && e.data.player_playhead_time >= 0 && t._lastPlayerWidth >= 0 && t._lastSourceWidth > 0 && t._lastPlayerHeight >= 0 && t._lastSourceHeight > 0) {
1427
+ var o = e.data.player_playhead_time - t._lastPlayheadPosition;
1428
+ if (o < 0) {
1429
+ t._lastPlayheadPosition = -1;
1430
+ return;
1431
+ }
1432
+ var s = Math.min(t._lastPlayerWidth / t._lastSourceWidth, t._lastPlayerHeight / t._lastSourceHeight), u = Math.max(0, s - 1), f = Math.max(0, 1 - s);
1433
+ e.data.view_max_upscale_percentage = Math.max(e.data.view_max_upscale_percentage || 0, u), e.data.view_max_downscale_percentage = Math.max(e.data.view_max_downscale_percentage || 0, f), O(e.data, "view_total_content_playback_time", o), O(e.data, "view_total_upscaling", u * o), O(e.data, "view_total_downscaling", f * o);
1434
+ }
1435
+ t._lastPlayheadPosition = -1;
1436
+ });
1437
+ }), [
1438
+ "playing",
1439
+ "hb",
1440
+ "renditionchange",
1441
+ "orientationchange",
1442
+ "playbackmodechange"
1443
+ ].forEach(function(n) {
1444
+ e.on(n, function() {
1445
+ t._lastPlayheadPosition = e.data.player_playhead_time, t._lastPlayerWidth = e.data.player_width, t._lastPlayerHeight = e.data.player_height, t._lastSourceWidth = e.data.video_source_width, t._lastSourceHeight = e.data.video_source_height;
1446
+ });
1447
+ });
1448
+ };
1449
+ var xa = 2e3, Kt = function r(e) {
1450
+ "use strict";
1451
+ var t = this;
1452
+ S(this, r), l(this, "isSeeking", void 0), this.isSeeking = !1;
1453
+ var i = -1, a = function() {
1454
+ var n = P.now(), o = (e.data.viewer_time || n) - (i || n);
1455
+ O(e.data, "view_seek_duration", o), e.data.view_max_seek_time = Math.max(e.data.view_max_seek_time || 0, o), t.isSeeking = !1, i = -1;
1456
+ };
1457
+ e.on("seeking", function(n, o) {
1458
+ if (Object.assign(e.data, o), t.isSeeking && o.viewer_time - i <= xa) {
1459
+ i = o.viewer_time;
1460
+ return;
1461
+ }
1462
+ t.isSeeking && a(), t.isSeeking = !0, i = o.viewer_time, O(e.data, "view_seek_count", 1), e.send("seeking");
1463
+ }), e.on("seeked", function() {
1464
+ a();
1465
+ }), e.on("viewend", function() {
1466
+ t.isSeeking && (a(), e.send("seeked")), t.isSeeking = !1, i = -1;
1467
+ });
1468
+ };
1469
+ var Yt = function(e, t) {
1470
+ e.push(t), e.sort(function(i, a) {
1471
+ return i.viewer_time - a.viewer_time;
1472
+ });
1473
+ }, Ra = [
1474
+ "adbreakstart",
1475
+ "adrequest",
1476
+ "adresponse",
1477
+ "adplay",
1478
+ "adplaying",
1479
+ "adpause",
1480
+ "adended",
1481
+ "adbreakend",
1482
+ "aderror",
1483
+ "adclicked",
1484
+ "adskipped"
1485
+ ], Xt = function() {
1486
+ "use strict";
1487
+ function r(e) {
1488
+ var t = this;
1489
+ S(this, r), l(this, "_adHasPlayed", void 0), l(this, "_adRequests", void 0), l(this, "_adResponses", void 0), l(this, "_currentAdRequestNumber", void 0), l(this, "_currentAdResponseNumber", void 0), l(this, "_prerollPlayTime", void 0), l(this, "_wouldBeNewAdPlay", void 0), l(this, "isAdBreak", void 0), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
1490
+ t.isAdBreak = !1, t._currentAdRequestNumber = 0, t._currentAdResponseNumber = 0, t._adRequests = [], t._adResponses = [], t._adHasPlayed = !1, t._wouldBeNewAdPlay = !0, t._prerollPlayTime = void 0;
1491
+ }), Ra.forEach(function(a) {
1492
+ return e.on(a, t._updateAdData.bind(t));
1493
+ });
1494
+ var i = function() {
1495
+ t.isAdBreak = !1;
1496
+ };
1497
+ e.on("adbreakstart", function() {
1498
+ t.isAdBreak = !0;
1499
+ }), e.on("play", i), e.on("playing", i), e.on("viewend", i), e.on("adrequest", function(a, n) {
1500
+ n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdRequestNumber++ }, n), Yt(t._adRequests, n), O(e.data, "view_ad_request_count"), t.inPrerollPosition() && (e.data.view_preroll_requested = !0, t._adHasPlayed || O(e.data, "view_preroll_request_count"));
1501
+ }), e.on("adresponse", function(a, n) {
1502
+ n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdResponseNumber++ }, n), Yt(t._adResponses, n);
1503
+ var o = t.findAdRequest(n.ad_request_id);
1504
+ o && O(e.data, "view_ad_request_time", Math.max(0, n.viewer_time - o.viewer_time));
1505
+ }), e.on("adplay", function(a, n) {
1506
+ t._adHasPlayed = !0, t._wouldBeNewAdPlay && (t._wouldBeNewAdPlay = !1, O(e.data, "view_ad_played_count")), t.inPrerollPosition() && !e.data.view_preroll_played && (e.data.view_preroll_played = !0, t._adRequests.length > 0 && (e.data.view_preroll_request_time = Math.max(0, n.viewer_time - t._adRequests[0].viewer_time)), e.data.view_start && (e.data.view_startup_preroll_request_time = Math.max(0, n.viewer_time - e.data.view_start)), t._prerollPlayTime = n.viewer_time);
1507
+ }), e.on("adplaying", function(a, n) {
1508
+ t.inPrerollPosition() && typeof e.data.view_preroll_load_time == "undefined" && typeof t._prerollPlayTime != "undefined" && (e.data.view_preroll_load_time = n.viewer_time - t._prerollPlayTime, e.data.view_startup_preroll_load_time = n.viewer_time - t._prerollPlayTime);
1509
+ }), e.on("adclicked", function(a, n) {
1510
+ t._wouldBeNewAdPlay || O(e.data, "view_ad_clicked_count");
1511
+ }), e.on("adskipped", function(a, n) {
1512
+ t._wouldBeNewAdPlay || O(e.data, "view_ad_skipped_count");
1513
+ }), e.on("adended", function() {
1514
+ t._wouldBeNewAdPlay = !0;
1515
+ }), e.on("aderror", function() {
1516
+ t._wouldBeNewAdPlay = !0;
1517
+ });
1518
+ }
1519
+ return N(r, [
1520
+ {
1521
+ key: "inPrerollPosition",
1522
+ value: function() {
1523
+ return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
1524
+ }
1525
+ },
1526
+ {
1527
+ key: "findAdRequest",
1528
+ value: function(t) {
1529
+ for (var i = 0; i < this._adRequests.length; i++) if (this._adRequests[i].ad_request_id === t) return this._adRequests[i];
1530
+ }
1531
+ },
1532
+ {
1533
+ key: "_updateAdData",
1534
+ value: function(t, i) {
1535
+ if (this.inPrerollPosition()) {
1536
+ if (!this.pm.data.view_preroll_ad_tag_hostname && i.ad_tag_url) {
1537
+ var a = H(re(i.ad_tag_url), 2), n = a[0], o = a[1];
1538
+ this.pm.data.view_preroll_ad_tag_domain = o, this.pm.data.view_preroll_ad_tag_hostname = n;
1539
+ }
1540
+ if (!this.pm.data.view_preroll_ad_asset_hostname && i.ad_asset_url) {
1541
+ var s = H(re(i.ad_asset_url), 2), u = s[0], f = s[1];
1542
+ this.pm.data.view_preroll_ad_asset_domain = f, this.pm.data.view_preroll_ad_asset_hostname = u;
1543
+ }
1544
+ this.pm.data.ad_type = "preroll";
1545
+ }
1546
+ this.pm.data.ad_asset_url = i == null ? void 0 : i.ad_asset_url, this.pm.data.ad_tag_url = i == null ? void 0 : i.ad_tag_url, this.pm.data.ad_creative_id = i == null ? void 0 : i.ad_creative_id, this.pm.data.ad_id = i == null ? void 0 : i.ad_id, this.pm.data.ad_universal_id = i == null ? void 0 : i.ad_universal_id, i != null && i.ad_type && (this.pm.data.ad_type = i == null ? void 0 : i.ad_type);
1547
+ }
1548
+ }
1549
+ ]), r;
1550
+ }();
1551
+ var $t = function r(e) {
1552
+ "use strict";
1553
+ var t = this;
1554
+ S(this, r), l(this, "lastWallClockTime", void 0);
1555
+ var i = function() {
1556
+ t.lastWallClockTime = P.now(), e.on("before*", a);
1557
+ }, a = function(n) {
1558
+ var o = P.now(), s = t.lastWallClockTime;
1559
+ t.lastWallClockTime = o, o - s > 3e4 && (e.emit("devicesleep", { viewer_time: s }), Object.assign(e.data, { viewer_time: s }), e.send("devicesleep"), e.emit("devicewake", { viewer_time: o }), Object.assign(e.data, { viewer_time: o }), e.send("devicewake"));
1560
+ };
1561
+ e.one("playbackheartbeat", i), e.on("playbackheartbeatend", function() {
1562
+ e.off("before*", a), e.one("playbackheartbeat", i);
1563
+ });
1564
+ };
1565
+ var Fe = G(Q());
1566
+ var ze = function(r) {
1567
+ return r();
1568
+ }(function() {
1569
+ var r = function() {
1570
+ for (var i = 0, a = {}; i < arguments.length; i++) {
1571
+ var n = arguments[i];
1572
+ for (var o in n) a[o] = n[o];
1573
+ }
1574
+ return a;
1575
+ };
1576
+ function e(t) {
1577
+ function i(a, n, o) {
1578
+ var s;
1579
+ if (typeof document != "undefined") {
1580
+ if (arguments.length > 1) {
1581
+ if (o = r({ path: "/" }, i.defaults, o), typeof o.expires == "number") {
1582
+ var u = /* @__PURE__ */ new Date();
1583
+ u.setMilliseconds(u.getMilliseconds() + o.expires * 864e5), o.expires = u;
1584
+ }
1585
+ try {
1586
+ s = JSON.stringify(n), /^[\{\[]/.test(s) && (n = s);
1587
+ } catch (w) {}
1588
+ return t.write ? n = t.write(n, a) : n = encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), a = encodeURIComponent(String(a)), a = a.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), a = a.replace(/[\(\)]/g, escape), document.cookie = [
1589
+ a,
1590
+ "=",
1591
+ n,
1592
+ o.expires ? "; expires=" + o.expires.toUTCString() : "",
1593
+ o.path ? "; path=" + o.path : "",
1594
+ o.domain ? "; domain=" + o.domain : "",
1595
+ o.secure ? "; secure" : ""
1596
+ ].join("");
1597
+ }
1598
+ a || (s = {});
1599
+ for (var f = document.cookie ? document.cookie.split("; ") : [], h = /(%[0-9A-Z]{2})+/g, E = 0; E < f.length; E++) {
1600
+ var y = f[E].split("="), c = y.slice(1).join("=");
1601
+ c.charAt(0) === "\"" && (c = c.slice(1, -1));
1602
+ try {
1603
+ var p = y[0].replace(h, decodeURIComponent);
1604
+ if (c = t.read ? t.read(c, p) : t(c, p) || c.replace(h, decodeURIComponent), this.json) try {
1605
+ c = JSON.parse(c);
1606
+ } catch (w) {}
1607
+ if (a === p) {
1608
+ s = c;
1609
+ break;
1610
+ }
1611
+ a || (s[p] = c);
1612
+ } catch (w) {}
1613
+ }
1614
+ return s;
1615
+ }
1616
+ }
1617
+ return i.set = i, i.get = function(a) {
1618
+ return i.call(i, a);
1619
+ }, i.getJSON = function() {
1620
+ return i.apply({ json: !0 }, [].slice.call(arguments));
1621
+ }, i.defaults = {}, i.remove = function(a, n) {
1622
+ i(a, "", r(n, { expires: -1 }));
1623
+ }, i.withConverter = e, i;
1624
+ }
1625
+ return e(function() {});
1626
+ });
1627
+ var Zt = "muxData", Aa = function(r) {
1628
+ return Object.entries(r).map(function(e) {
1629
+ var t = H(e, 2), i = t[0], a = t[1];
1630
+ return "".concat(i, "=").concat(a);
1631
+ }).join("&");
1632
+ }, Pa = function(r) {
1633
+ return r.split("&").reduce(function(e, t) {
1634
+ var i = H(t.split("="), 2), a = i[0], n = i[1], o = +n;
1635
+ return e[a] = n && o == n ? o : n, e;
1636
+ }, {});
1637
+ }, er = function() {
1638
+ var e;
1639
+ try {
1640
+ e = Pa(ze.get(Zt) || "");
1641
+ } catch (t) {
1642
+ e = {};
1643
+ }
1644
+ return e;
1645
+ }, tr = function(e) {
1646
+ try {
1647
+ ze.set(Zt, Aa(e), { expires: 365 });
1648
+ } catch (t) {}
1649
+ }, rr = function() {
1650
+ var e = er();
1651
+ return e.mux_viewer_id = e.mux_viewer_id || ee(), e.msn = e.msn || Math.random(), tr(e), {
1652
+ mux_viewer_id: e.mux_viewer_id,
1653
+ mux_sample_number: e.msn
1654
+ };
1655
+ }, ar = function() {
1656
+ var e = er(), t = P.now();
1657
+ return e.session_start && (e.sst = e.session_start, delete e.session_start), e.session_id && (e.sid = e.session_id, delete e.session_id), e.session_expires && (e.sex = e.session_expires, delete e.session_expires), (!e.sex || e.sex < t) && (e.sid = ee(), e.sst = t), e.sex = t + 1500 * 1e3, tr(e), {
1658
+ session_id: e.sid,
1659
+ session_start: e.sst,
1660
+ session_expires: e.sex
1661
+ };
1662
+ };
1663
+ function Ke(r, e) {
1664
+ var t = e.beaconCollectionDomain, i = e.beaconDomain;
1665
+ if (t) return "https://" + t;
1666
+ r = r || "inferred";
1667
+ var a = i || "litix.io";
1668
+ return r.match(/^[a-z0-9]+$/) ? "https://" + r + "." + a : "https://img.litix.io/a.gif";
1669
+ }
1670
+ var ir = G(Q()), nr = function() {
1671
+ var e;
1672
+ switch (or()) {
1673
+ case "cellular":
1674
+ e = "cellular";
1675
+ break;
1676
+ case "ethernet":
1677
+ e = "wired";
1678
+ break;
1679
+ case "wifi":
1680
+ e = "wifi";
1681
+ break;
1682
+ case void 0: break;
1683
+ default: e = "other";
1684
+ }
1685
+ return e;
1686
+ }, or = function() {
1687
+ var e = ir.default.navigator, t = e && (e.connection || e.mozConnection || e.webkitConnection);
1688
+ return t && t.type;
1689
+ };
1690
+ nr.getConnectionFromAPI = or;
1691
+ var sr = nr;
1692
+ var La = lr({
1693
+ a: "env",
1694
+ b: "beacon",
1695
+ c: "custom",
1696
+ d: "ad",
1697
+ e: "event",
1698
+ f: "experiment",
1699
+ i: "internal",
1700
+ m: "mux",
1701
+ n: "response",
1702
+ p: "player",
1703
+ q: "request",
1704
+ r: "retry",
1705
+ s: "session",
1706
+ t: "timestamp",
1707
+ u: "viewer",
1708
+ v: "video",
1709
+ w: "page",
1710
+ x: "view",
1711
+ y: "sub"
1712
+ }), ur = lr({
1713
+ ad: "ad",
1714
+ af: "affiliate",
1715
+ ag: "aggregate",
1716
+ ap: "api",
1717
+ al: "application",
1718
+ ao: "audio",
1719
+ ar: "architecture",
1720
+ as: "asset",
1721
+ au: "autoplay",
1722
+ av: "average",
1723
+ bi: "bitrate",
1724
+ bn: "brand",
1725
+ br: "break",
1726
+ bw: "browser",
1727
+ by: "bytes",
1728
+ bz: "business",
1729
+ ca: "cached",
1730
+ cb: "cancel",
1731
+ cc: "codec",
1732
+ cd: "code",
1733
+ cg: "category",
1734
+ ch: "changed",
1735
+ ci: "client",
1736
+ ck: "clicked",
1737
+ cl: "canceled",
1738
+ cm: "cmcd",
1739
+ cn: "config",
1740
+ co: "count",
1741
+ ce: "counter",
1742
+ cp: "complete",
1743
+ cq: "creator",
1744
+ cr: "creative",
1745
+ cs: "captions",
1746
+ ct: "content",
1747
+ cu: "current",
1748
+ cv: "cumulative",
1749
+ cx: "connection",
1750
+ cz: "context",
1751
+ da: "data",
1752
+ dg: "downscaling",
1753
+ dm: "domain",
1754
+ dn: "cdn",
1755
+ do: "downscale",
1756
+ dr: "drm",
1757
+ dp: "dropped",
1758
+ du: "duration",
1759
+ dv: "device",
1760
+ dy: "dynamic",
1761
+ eb: "enabled",
1762
+ ec: "encoding",
1763
+ ed: "edge",
1764
+ en: "end",
1765
+ eg: "engine",
1766
+ em: "embed",
1767
+ er: "error",
1768
+ ep: "experiments",
1769
+ es: "errorcode",
1770
+ et: "errortext",
1771
+ ee: "event",
1772
+ ev: "events",
1773
+ ex: "expires",
1774
+ ez: "exception",
1775
+ fa: "failed",
1776
+ fi: "first",
1777
+ fm: "family",
1778
+ ft: "format",
1779
+ fp: "fps",
1780
+ fq: "frequency",
1781
+ fr: "frame",
1782
+ fs: "fullscreen",
1783
+ ha: "has",
1784
+ hb: "holdback",
1785
+ he: "headers",
1786
+ ho: "host",
1787
+ hn: "hostname",
1788
+ ht: "height",
1789
+ id: "id",
1790
+ ii: "init",
1791
+ in: "instance",
1792
+ ip: "ip",
1793
+ is: "is",
1794
+ ke: "key",
1795
+ la: "language",
1796
+ lb: "labeled",
1797
+ le: "level",
1798
+ li: "live",
1799
+ ld: "loaded",
1800
+ lo: "load",
1801
+ ls: "lists",
1802
+ lt: "latency",
1803
+ ma: "max",
1804
+ md: "media",
1805
+ me: "message",
1806
+ mf: "manifest",
1807
+ mi: "mime",
1808
+ ml: "midroll",
1809
+ mm: "min",
1810
+ mn: "manufacturer",
1811
+ mo: "model",
1812
+ mp: "mode",
1813
+ ms: "ms",
1814
+ mx: "mux",
1815
+ ne: "newest",
1816
+ nm: "name",
1817
+ no: "number",
1818
+ on: "on",
1819
+ or: "origin",
1820
+ os: "os",
1821
+ pa: "paused",
1822
+ pb: "playback",
1823
+ pd: "producer",
1824
+ pe: "percentage",
1825
+ pf: "played",
1826
+ pg: "program",
1827
+ ph: "playhead",
1828
+ pi: "plugin",
1829
+ pl: "preroll",
1830
+ pn: "playing",
1831
+ po: "poster",
1832
+ pp: "pip",
1833
+ pr: "preload",
1834
+ ps: "position",
1835
+ pt: "part",
1836
+ pv: "previous",
1837
+ py: "property",
1838
+ px: "pop",
1839
+ pz: "plan",
1840
+ ra: "rate",
1841
+ rd: "requested",
1842
+ re: "rebuffer",
1843
+ rf: "rendition",
1844
+ rg: "range",
1845
+ rm: "remote",
1846
+ ro: "ratio",
1847
+ rp: "response",
1848
+ rq: "request",
1849
+ rs: "requests",
1850
+ sa: "sample",
1851
+ sd: "skipped",
1852
+ se: "session",
1853
+ sh: "shift",
1854
+ sk: "seek",
1855
+ sm: "stream",
1856
+ so: "source",
1857
+ sq: "sequence",
1858
+ sr: "series",
1859
+ ss: "status",
1860
+ st: "start",
1861
+ su: "startup",
1862
+ sv: "server",
1863
+ sw: "software",
1864
+ sy: "severity",
1865
+ ta: "tag",
1866
+ tc: "tech",
1867
+ te: "text",
1868
+ tg: "target",
1869
+ th: "throughput",
1870
+ ti: "time",
1871
+ tl: "total",
1872
+ to: "to",
1873
+ tt: "title",
1874
+ ty: "type",
1875
+ ug: "upscaling",
1876
+ un: "universal",
1877
+ up: "upscale",
1878
+ ur: "url",
1879
+ us: "user",
1880
+ va: "variant",
1881
+ vd: "viewed",
1882
+ vi: "video",
1883
+ ve: "version",
1884
+ vw: "view",
1885
+ vr: "viewer",
1886
+ wd: "width",
1887
+ wa: "watch",
1888
+ wt: "waiting"
1889
+ });
1890
+ function lr(r) {
1891
+ var e = {};
1892
+ for (var t in r) r.hasOwnProperty(t) && (e[r[t]] = t);
1893
+ return e;
1894
+ }
1895
+ function me(r) {
1896
+ var e = {}, t = {};
1897
+ return Object.keys(r).forEach(function(i) {
1898
+ var a = !1;
1899
+ if (r.hasOwnProperty(i) && r[i] !== void 0) {
1900
+ var n = i.split("_"), o = n[0], s = La[o];
1901
+ s || (q.info("Data key word `" + n[0] + "` not expected in " + i), s = o + "_"), n.splice(1).forEach(function(u) {
1902
+ u === "url" && (a = !0), ur[u] ? s += ur[u] : Number.isInteger(Number(u)) ? s += u : (q.info("Data key word `" + u + "` not expected in " + i), s += "_" + u + "_");
1903
+ }), a ? t[s] = r[i] : e[s] = r[i];
1904
+ }
1905
+ }), Object.assign(e, t);
1906
+ }
1907
+ var ie = G(Q()), Nr = G(nt());
1908
+ var oi = {
1909
+ maxBeaconSize: 300,
1910
+ maxQueueLength: 3600,
1911
+ baseTimeBetweenBeacons: 1e4,
1912
+ maxPayloadKBSize: 500
1913
+ }, si = 56 * 1024, ui = [
1914
+ "hb",
1915
+ "requestcompleted",
1916
+ "requestfailed",
1917
+ "requestcanceled"
1918
+ ], li = "https://img.litix.io", $ = function(e) {
1919
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1920
+ this._beaconUrl = e || li, this._eventQueue = [], this._postInFlight = !1, this._resendAfterPost = !1, this._failureCount = 0, this._sendTimeout = !1, this._options = Object.assign({}, oi, t);
1921
+ };
1922
+ $.prototype.queueEvent = function(r, e) {
1923
+ var t = Object.assign({}, e);
1924
+ return this._eventQueue.length <= this._options.maxQueueLength || r === "eventrateexceeded" ? (this._eventQueue.push(t), this._sendTimeout || this._startBeaconSending(), this._eventQueue.length <= this._options.maxQueueLength) : !1;
1925
+ };
1926
+ $.prototype.flushEvents = function() {
1927
+ if ((arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) && this._eventQueue.length === 1) {
1928
+ this._eventQueue.pop();
1929
+ return;
1930
+ }
1931
+ this._eventQueue.length && this._sendBeaconQueue(), this._startBeaconSending();
1932
+ };
1933
+ $.prototype.destroy = function() {
1934
+ var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
1935
+ this.destroyed = !0, r ? this._clearBeaconQueue() : this.flushEvents(), ie.default.clearTimeout(this._sendTimeout);
1936
+ };
1937
+ $.prototype._clearBeaconQueue = function() {
1938
+ var r = this._eventQueue.length > this._options.maxBeaconSize ? this._eventQueue.length - this._options.maxBeaconSize : 0, e = this._eventQueue.slice(r);
1939
+ r > 0 && Object.assign(e[e.length - 1], me({ mux_view_message: "event queue truncated" }));
1940
+ var t = this._createPayload(e);
1941
+ Cr(this._beaconUrl, t, !0, function() {});
1942
+ };
1943
+ $.prototype._sendBeaconQueue = function() {
1944
+ var r = this;
1945
+ if (this._postInFlight) {
1946
+ this._resendAfterPost = !0;
1947
+ return;
1948
+ }
1949
+ var e = this._eventQueue.slice(0, this._options.maxBeaconSize);
1950
+ this._eventQueue = this._eventQueue.slice(this._options.maxBeaconSize), this._postInFlight = !0;
1951
+ var t = this._createPayload(e), i = P.now();
1952
+ Cr(this._beaconUrl, t, !1, function(a, n) {
1953
+ n ? (r._eventQueue = e.concat(r._eventQueue), r._failureCount += 1, q.info("Error sending beacon: " + n)) : r._failureCount = 0, r._roundTripTime = P.now() - i, r._postInFlight = !1, r._resendAfterPost && (r._resendAfterPost = !1, r._eventQueue.length > 0 && r._sendBeaconQueue());
1954
+ });
1955
+ };
1956
+ $.prototype._getNextBeaconTime = function() {
1957
+ if (!this._failureCount) return this._options.baseTimeBetweenBeacons;
1958
+ var r = Math.pow(2, this._failureCount - 1);
1959
+ return r = r * Math.random(), (1 + r) * this._options.baseTimeBetweenBeacons;
1960
+ };
1961
+ $.prototype._startBeaconSending = function() {
1962
+ var r = this;
1963
+ ie.default.clearTimeout(this._sendTimeout), !this.destroyed && (this._sendTimeout = ie.default.setTimeout(function() {
1964
+ r._eventQueue.length && r._sendBeaconQueue(), r._startBeaconSending();
1965
+ }, this._getNextBeaconTime()));
1966
+ };
1967
+ $.prototype._createPayload = function(r) {
1968
+ var e = this, t = { transmission_timestamp: Math.round(P.now()) };
1969
+ this._roundTripTime && (t.rtt_ms = Math.round(this._roundTripTime));
1970
+ var i, a, n, o = function() {
1971
+ i = JSON.stringify({
1972
+ metadata: t,
1973
+ events: a || r
1974
+ }), n = i.length / 1024;
1975
+ }, s = function() {
1976
+ return n <= e._options.maxPayloadKBSize;
1977
+ };
1978
+ return o(), s() || (q.info("Payload size is too big (" + n + " kb). Removing unnecessary events."), a = r.filter(function(u) {
1979
+ return ui.indexOf(u.e) === -1;
1980
+ }), o()), s() || (q.info("Payload size still too big (" + n + " kb). Cropping fields.."), a.forEach(function(u) {
1981
+ for (var f in u) {
1982
+ var h = u[f], E = 50 * 1024;
1983
+ typeof h == "string" && h.length > E && (u[f] = h.substring(0, E));
1984
+ }
1985
+ }), o()), i;
1986
+ };
1987
+ var di = typeof Nr.default.exitPictureInPicture == "function" ? function(r) {
1988
+ return r.length <= si;
1989
+ } : function(r) {
1990
+ return !1;
1991
+ }, Cr = function(r, e, t, i) {
1992
+ if (t && navigator && navigator.sendBeacon && navigator.sendBeacon(r, e)) {
1993
+ i();
1994
+ return;
1995
+ }
1996
+ if (ie.default.fetch) {
1997
+ ie.default.fetch(r, {
1998
+ method: "POST",
1999
+ body: e,
2000
+ headers: { "Content-Type": "text/plain" },
2001
+ keepalive: di(e)
2002
+ }).then(function(n) {
2003
+ return i(null, n.ok ? null : "Error");
2004
+ }).catch(function(n) {
2005
+ return i(null, n);
2006
+ });
2007
+ return;
2008
+ }
2009
+ if (ie.default.XMLHttpRequest) {
2010
+ var a = new ie.default.XMLHttpRequest();
2011
+ a.onreadystatechange = function() {
2012
+ if (a.readyState === 4) return i(null, a.status !== 200 ? "error" : void 0);
2013
+ }, a.open("POST", r), a.setRequestHeader("Content-Type", "text/plain"), a.send(e);
2014
+ return;
2015
+ }
2016
+ i();
2017
+ }, Mr = $;
2018
+ var ci = [
2019
+ "env_key",
2020
+ "view_id",
2021
+ "view_sequence_number",
2022
+ "player_sequence_number",
2023
+ "beacon_domain",
2024
+ "player_playhead_time",
2025
+ "viewer_time",
2026
+ "mux_api_version",
2027
+ "event",
2028
+ "video_id",
2029
+ "player_instance_id",
2030
+ "player_error_code",
2031
+ "player_error_message",
2032
+ "player_error_context",
2033
+ "player_error_severity",
2034
+ "player_error_business_exception",
2035
+ "view_playing_time_ms_cumulative",
2036
+ "ad_playing_time_ms_cumulative"
2037
+ ], _i = [
2038
+ "adplay",
2039
+ "adplaying",
2040
+ "adpause",
2041
+ "adfirstquartile",
2042
+ "admidpoint",
2043
+ "adthirdquartile",
2044
+ "adended",
2045
+ "adresponse",
2046
+ "adrequest"
2047
+ ], fi = [
2048
+ "ad_id",
2049
+ "ad_creative_id",
2050
+ "ad_universal_id"
2051
+ ], pi = [
2052
+ "viewstart",
2053
+ "error",
2054
+ "ended",
2055
+ "viewend"
2056
+ ], mi = 600 * 1e3, Hr = function() {
2057
+ "use strict";
2058
+ function r(e, t) {
2059
+ var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2060
+ S(this, r);
2061
+ var a, n, o, s, u, f, h, E, y, c, p, w;
2062
+ l(this, "mux", void 0), l(this, "envKey", void 0), l(this, "options", void 0), l(this, "eventQueue", void 0), l(this, "sampleRate", void 0), l(this, "disableCookies", void 0), l(this, "respectDoNotTrack", void 0), l(this, "previousBeaconData", void 0), l(this, "lastEventTime", void 0), l(this, "rateLimited", void 0), l(this, "pageLevelData", void 0), l(this, "viewerData", void 0), this.mux = e, this.envKey = t, this.options = i, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.eventQueue = new Mr(Ke(this.envKey, this.options));
2063
+ var x;
2064
+ this.sampleRate = (x = this.options.sampleRate) !== null && x !== void 0 ? x : 1;
2065
+ var v;
2066
+ this.disableCookies = (v = this.options.disableCookies) !== null && v !== void 0 ? v : !1;
2067
+ var m;
2068
+ this.respectDoNotTrack = (m = this.options.respectDoNotTrack) !== null && m !== void 0 ? m : !1, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.pageLevelData = {
2069
+ mux_api_version: this.mux.API_VERSION,
2070
+ mux_embed: this.mux.NAME,
2071
+ mux_embed_version: this.mux.VERSION,
2072
+ viewer_application_name: (a = this.options.platform) === null || a === void 0 ? void 0 : a.name,
2073
+ viewer_application_version: (n = this.options.platform) === null || n === void 0 ? void 0 : n.version,
2074
+ viewer_application_engine: (o = this.options.platform) === null || o === void 0 ? void 0 : o.layout,
2075
+ viewer_device_name: (s = this.options.platform) === null || s === void 0 ? void 0 : s.product,
2076
+ viewer_device_category: "",
2077
+ viewer_device_manufacturer: (u = this.options.platform) === null || u === void 0 ? void 0 : u.manufacturer,
2078
+ viewer_os_family: (h = this.options.platform) === null || h === void 0 || (f = h.os) === null || f === void 0 ? void 0 : f.family,
2079
+ viewer_os_architecture: (y = this.options.platform) === null || y === void 0 || (E = y.os) === null || E === void 0 ? void 0 : E.architecture,
2080
+ viewer_os_version: (p = this.options.platform) === null || p === void 0 || (c = p.os) === null || c === void 0 ? void 0 : c.version,
2081
+ viewer_connection_type: sr(),
2082
+ page_url: Fe.default === null || Fe.default === void 0 || (w = Fe.default.location) === null || w === void 0 ? void 0 : w.href
2083
+ }, this.viewerData = this.disableCookies ? {} : rr();
2084
+ }
2085
+ return N(r, [
2086
+ {
2087
+ key: "send",
2088
+ value: function(t, i) {
2089
+ if (!(!t || !(i != null && i.view_id))) {
2090
+ if (this.respectDoNotTrack && ce()) return q.info("Not sending `" + t + "` because Do Not Track is enabled");
2091
+ if (!i || typeof i != "object") return q.error("A data object was expected in send() but was not provided");
2092
+ var a = this.disableCookies ? {} : ar(), n = fe(ue({}, this.pageLevelData, i, a, this.viewerData), {
2093
+ event: t,
2094
+ env_key: this.envKey
2095
+ });
2096
+ n.user_id && (n.viewer_user_id = n.user_id, delete n.user_id);
2097
+ var o, s = ((o = n.mux_sample_number) !== null && o !== void 0 ? o : 0) >= this.sampleRate, f = me(this._deduplicateBeaconData(t, n));
2098
+ if (this.lastEventTime = this.mux.utils.now(), s) return q.info("Not sending event due to sample rate restriction", t, n, f);
2099
+ if (this.envKey || q.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL", t, n, f), !this.rateLimited) if (q.info("Sending event", t, n, f), this.rateLimited = !this.eventQueue.queueEvent(t, f), this.mux.WINDOW_UNLOADING && t === "viewend") this.eventQueue.destroy(!0);
2100
+ else {
2101
+ if (this.mux.WINDOW_HIDDEN && t === "hb") this.eventQueue.flushEvents(!0);
2102
+ else if (pi.indexOf(t) >= 0) {
2103
+ if (t === "error" && i.player_error_severity === "warning") return;
2104
+ this.eventQueue.flushEvents();
2105
+ }
2106
+ if (this.rateLimited) return n.event = "eventrateexceeded", f = me(n), this.eventQueue.queueEvent(n.event, f), q.error("Beaconing disabled due to rate limit.");
2107
+ }
2108
+ }
2109
+ }
2110
+ },
2111
+ {
2112
+ key: "destroy",
2113
+ value: function() {
2114
+ this.eventQueue.destroy(!1);
2115
+ }
2116
+ },
2117
+ {
2118
+ key: "_deduplicateBeaconData",
2119
+ value: function(t, i) {
2120
+ var a = this, n = {}, o = i.view_id;
2121
+ if (o === "-1" || t === "viewstart" || t === "viewend" || !this.previousBeaconData || this.mux.utils.now() - this.lastEventTime >= mi) n = ue({}, i), o && (this.previousBeaconData = n), o && t === "viewend" && (this.previousBeaconData = null);
2122
+ else {
2123
+ var s = t.indexOf("request") === 0;
2124
+ Object.entries(i).forEach(function(u) {
2125
+ var f = H(u, 2), h = f[0], E = f[1];
2126
+ a.previousBeaconData && (E !== a.previousBeaconData[h] || ci.indexOf(h) > -1 || a.objectHasChanged(s, h, E, a.previousBeaconData[h]) || a.eventRequiresKey(t, h)) && (n[h] = E, a.previousBeaconData[h] = E);
2127
+ });
2128
+ }
2129
+ return n;
2130
+ }
2131
+ },
2132
+ {
2133
+ key: "objectHasChanged",
2134
+ value: function(t, i, a, n) {
2135
+ return !t || i.indexOf("request_") !== 0 ? !1 : i === "request_response_headers" || typeof a != "object" || typeof n != "object" ? !0 : Object.keys(a || {}).length !== Object.keys(n || {}).length;
2136
+ }
2137
+ },
2138
+ {
2139
+ key: "eventRequiresKey",
2140
+ value: function(t, i) {
2141
+ return !!(t === "renditionchange" && i.indexOf("video_source_") === 0 || fi.includes(i) && _i.includes(t) || t === "playbackmodechange" && i.indexOf("player_playback_mode") === 0);
2142
+ }
2143
+ }
2144
+ ]), r;
2145
+ }();
2146
+ var Br = function r(e) {
2147
+ "use strict";
2148
+ S(this, r);
2149
+ var t = 0, i = 0, a = 0, n = 0, o = 0, s = 0, u = 0, f = function(y, c) {
2150
+ var p = c.request_start, w = c.request_response_start, x = c.request_response_end, v = c.request_bytes_loaded;
2151
+ n++;
2152
+ var m, _;
2153
+ if (w ? (m = w - (p != null ? p : 0), _ = (x != null ? x : 0) - w) : _ = (x != null ? x : 0) - (p != null ? p : 0), _ > 0 && v && v > 0) {
2154
+ var d = v / _ * 8e3;
2155
+ o++, i += v, a += _, e.data.view_min_request_throughput = Math.min(e.data.view_min_request_throughput || Infinity, d), e.data.view_average_request_throughput = i / a * 8e3, e.data.view_request_count = n, m > 0 && (t += m, e.data.view_max_request_latency = Math.max(e.data.view_max_request_latency || 0, m), e.data.view_average_request_latency = t / o);
2156
+ }
2157
+ }, h = function(y, c) {
2158
+ n++, s++, e.data.view_request_count = n, e.data.view_request_failed_count = s;
2159
+ }, E = function(y, c) {
2160
+ n++, u++, e.data.view_request_count = n, e.data.view_request_canceled_count = u;
2161
+ };
2162
+ e.on("requestcompleted", f), e.on("requestfailed", h), e.on("requestcanceled", E);
2163
+ };
2164
+ var hi = 3600 * 1e3, Ur = function r(e) {
2165
+ "use strict";
2166
+ var t = this;
2167
+ S(this, r), l(this, "_lastEventTime", void 0), e.on("before*", function(i, a) {
2168
+ var n = a.viewer_time, o = P.now(), s = t._lastEventTime;
2169
+ if (t._lastEventTime = o, s && o - s > hi) {
2170
+ var u = Object.keys(e.data).reduce(function(h, E) {
2171
+ return E.indexOf("video_") === 0 ? Object.assign(h, l({}, E, e.data[E])) : h;
2172
+ }, {});
2173
+ e.mux.log.info("Received event after at least an hour inactivity, creating a new view");
2174
+ var f = e.playbackHeartbeat._playheadShouldBeProgressing;
2175
+ e._resetView(Object.assign({ viewer_time: n }, u)), e.playbackHeartbeat._playheadShouldBeProgressing = f, e.playbackHeartbeat._playheadShouldBeProgressing && i.type !== "play" && i.type !== "adbreakstart" && (e.emit("play", { viewer_time: n }), i.type !== "playing" && e.emit("playing", { viewer_time: n }));
2176
+ }
2177
+ });
2178
+ };
2179
+ var gi = function r(e) {
2180
+ "use strict";
2181
+ S(this, r);
2182
+ var t = function(u) {
2183
+ var f = bi(u), h = wi(u);
2184
+ if (f != null && !Fr(f, n) && o <= h) {
2185
+ n = f, o = h;
2186
+ var E = { video_cdn: f };
2187
+ e.emit("cdnchange", E);
2188
+ }
2189
+ }, i = null, a = null, n = null, o = 0;
2190
+ e.on("viewinit", function() {
2191
+ i = null, a = null, n = null, o = 0;
2192
+ }), e.on("beforecdnchange", function(s, u) {
2193
+ var f = u == null ? void 0 : u.video_cdn;
2194
+ f && (typeof u.video_previous_cdn == "undefined" || u.video_previous_cdn === null) && (Fr(f, a) ? u.video_previous_cdn = i != null ? i : void 0 : (u.video_previous_cdn = a != null ? a : void 0, i = a, a = f));
2195
+ }), e.on("requestcompleted", function(s, u) {
2196
+ t(u);
2197
+ });
2198
+ };
2199
+ function Fr(r, e) {
2200
+ return (r == null ? void 0 : r.toLowerCase()) === (e == null ? void 0 : e.toLowerCase());
2201
+ }
2202
+ function bi(r) {
2203
+ var e;
2204
+ return r != null && r.request_type && (r.request_type === "media" || r.request_type === "video") && !((e = r.request_response_headers) === null || e === void 0) && e["x-cdn"] ? r.request_response_headers["x-cdn"] : r != null && r.video_cdn ? r.video_cdn : null;
2205
+ }
2206
+ function wi(r) {
2207
+ return r != null && r.request_start ? r.request_start : r != null && r.viewer_time ? r.viewer_time : Date.now();
2208
+ }
2209
+ var Vr = gi;
2210
+ var Ti = function(r) {
2211
+ try {
2212
+ return JSON.parse(r), !0;
2213
+ } catch (e) {
2214
+ return !1;
2215
+ }
2216
+ }, jr = function r(e) {
2217
+ "use strict";
2218
+ var t = this;
2219
+ S(this, r), l(this, "_emittingAutomaticEvent", !1), l(this, "_hasInitialized", !1), l(this, "_currentMode", "standard"), e.on("viewstart", function() {
2220
+ t._hasInitialized || (t._hasInitialized = !0, t._currentMode = e.data.player_playback_mode || "standard", t._emittingAutomaticEvent = !0, e.emit("playbackmodechange", {
2221
+ player_playback_mode: t._currentMode,
2222
+ player_playback_mode_data: "{}"
2223
+ }), t._emittingAutomaticEvent = !1);
2224
+ }), e.on("viewend", function() {
2225
+ t._hasInitialized = !1;
2226
+ }), e.on("playbackmodechange", function(i, a) {
2227
+ t._emittingAutomaticEvent || (a.player_playback_mode_data ? Ti(a.player_playback_mode_data) || (e.mux.log.warn("Invalid JSON string for player_playback_mode_data"), a.player_playback_mode_data = "{}") : a.player_playback_mode_data = "{}", e.data.player_playback_mode_data = a.player_playback_mode_data, e.data.player_playback_mode = a.player_playback_mode, t._currentMode = a.player_playback_mode);
2228
+ });
2229
+ };
2230
+ var Wr = function() {
2231
+ "use strict";
2232
+ function r(e) {
2233
+ S(this, r), l(this, "pm", void 0), l(this, "_currentRangeStart", void 0), l(this, "_lastPlayheadTime", void 0), this.pm = e, this._currentRangeStart = null, this._lastPlayheadTime = null, e.on("playbackheartbeat", this._updatePlaybackRange.bind(this)), e.on("playbackheartbeatend", this._endPlaybackRange.bind(this));
2234
+ }
2235
+ return N(r, [
2236
+ {
2237
+ key: "_updateLastRangeEnd",
2238
+ value: function() {
2239
+ var t = this.pm.data.video_playback_ranges;
2240
+ if (t && t.length > 0) {
2241
+ var i = this.pm.data.player_playhead_time || 0;
2242
+ t[t.length - 1][1] = i;
2243
+ }
2244
+ }
2245
+ },
2246
+ {
2247
+ key: "_updatePlaybackRange",
2248
+ value: function() {
2249
+ var t, i = this.pm.data.player_playhead_time || 0;
2250
+ if (!(!this.pm.disableAdPlaybackRangeFiltering && !((t = this.pm.adTracker) === null || t === void 0) && t.isAdBreak && this._lastPlayheadTime !== null && i < this._lastPlayheadTime)) {
2251
+ if (this._lastPlayheadTime !== null && this._currentRangeStart !== null) {
2252
+ if (Math.abs(i - this._lastPlayheadTime) > 1e3) {
2253
+ var n = this.pm.data.video_playback_ranges;
2254
+ n && n.length > 0 && (n[n.length - 1][1] = this._lastPlayheadTime), this._currentRangeStart = null;
2255
+ }
2256
+ }
2257
+ if (this._currentRangeStart === null) {
2258
+ var o = this.pm.data.video_playback_ranges || [];
2259
+ o.length > 0 && o[o.length - 1][1] === i ? this._currentRangeStart = o[o.length - 1][0] : (this._currentRangeStart = i, o.push([i, i])), this.pm.data.video_playback_ranges = o;
2260
+ } else this._updateLastRangeEnd();
2261
+ this._lastPlayheadTime = i;
2262
+ }
2263
+ }
2264
+ },
2265
+ {
2266
+ key: "_endPlaybackRange",
2267
+ value: function() {
2268
+ this._currentRangeStart !== null && (this._updateLastRangeEnd(), this._currentRangeStart = null, this._lastPlayheadTime = null);
2269
+ }
2270
+ }
2271
+ ]), r;
2272
+ }();
2273
+ var xi = [
2274
+ "viewstart",
2275
+ "ended",
2276
+ "loadstart",
2277
+ "pause",
2278
+ "play",
2279
+ "playing",
2280
+ "ratechange",
2281
+ "waiting",
2282
+ "adplay",
2283
+ "adpause",
2284
+ "adended",
2285
+ "aderror",
2286
+ "adplaying",
2287
+ "adrequest",
2288
+ "adresponse",
2289
+ "adbreakstart",
2290
+ "adbreakend",
2291
+ "adfirstquartile",
2292
+ "admidpoint",
2293
+ "adthirdquartile",
2294
+ "rebufferstart",
2295
+ "rebufferend",
2296
+ "seeked",
2297
+ "error",
2298
+ "hb",
2299
+ "requestcompleted",
2300
+ "requestfailed",
2301
+ "requestcanceled",
2302
+ "renditionchange",
2303
+ "cdnchange",
2304
+ "playbackmodechange"
2305
+ ], Si = new Set([
2306
+ "requestcompleted",
2307
+ "requestfailed",
2308
+ "requestcanceled"
2309
+ ]), Gr = function(r) {
2310
+ "use strict";
2311
+ xt(t, r);
2312
+ var e = At(t);
2313
+ function t(i, a, n) {
2314
+ S(this, t);
2315
+ var o = e.call(this);
2316
+ l(b(o), "pageLoadEndTime", void 0), l(b(o), "pageLoadInitTime", void 0), l(b(o), "_destroyed", void 0), l(b(o), "_heartBeatTimeout", void 0), l(b(o), "adTracker", void 0), l(b(o), "dashjs", void 0), l(b(o), "data", void 0), l(b(o), "disablePlayheadRebufferTracking", void 0), l(b(o), "disableRebufferTracking", void 0), l(b(o), "disableAdPlaybackRangeFiltering", void 0), l(b(o), "errorTracker", void 0), l(b(o), "errorTranslator", void 0), l(b(o), "emitTranslator", void 0), l(b(o), "getAdData", void 0), l(b(o), "getPlayheadTime", void 0), l(b(o), "getStateData", void 0), l(b(o), "stateDataTranslator", void 0), l(b(o), "hlsjs", void 0), l(b(o), "id", void 0), l(b(o), "longResumeTracker", void 0), l(b(o), "minimumRebufferDuration", void 0), l(b(o), "mux", void 0), l(b(o), "playbackEventDispatcher", void 0), l(b(o), "playbackHeartbeat", void 0), l(b(o), "playbackHeartbeatTime", void 0), l(b(o), "playheadTime", void 0), l(b(o), "seekingTracker", void 0), l(b(o), "sustainedRebufferThreshold", void 0), l(b(o), "watchTimeTracker", void 0), l(b(o), "currentFragmentPDT", void 0), l(b(o), "currentFragmentStart", void 0), o.pageLoadInitTime = _e.navigationStart(), o.pageLoadEndTime = _e.domContentLoadedEventEnd();
2317
+ o.mux = i, o.id = a, n != null && n.beaconDomain && o.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."), n = Object.assign({
2318
+ debug: !1,
2319
+ minimumRebufferDuration: 250,
2320
+ sustainedRebufferThreshold: 1e3,
2321
+ playbackHeartbeatTime: 25,
2322
+ beaconDomain: "litix.io",
2323
+ sampleRate: 1,
2324
+ disableCookies: !1,
2325
+ respectDoNotTrack: !1,
2326
+ disableRebufferTracking: !1,
2327
+ disablePlayheadRebufferTracking: !1,
2328
+ disableAdPlaybackRangeFiltering: !1,
2329
+ errorTranslator: function(y) {
2330
+ return y;
2331
+ },
2332
+ emitTranslator: function() {
2333
+ for (var y = arguments.length, c = new Array(y), p = 0; p < y; p++) c[p] = arguments[p];
2334
+ return c;
2335
+ },
2336
+ stateDataTranslator: function(y) {
2337
+ return y;
2338
+ }
2339
+ }, n), n.data = n.data || {}, n.data.property_key && (n.data.env_key = n.data.property_key, delete n.data.property_key), q.level = n.debug ? Y.DEBUG : Y.WARN, o.getPlayheadTime = n.getPlayheadTime, o.getStateData = n.getStateData || function() {
2340
+ return {};
2341
+ }, o.getAdData = n.getAdData || function() {}, o.minimumRebufferDuration = n.minimumRebufferDuration, o.sustainedRebufferThreshold = n.sustainedRebufferThreshold, o.playbackHeartbeatTime = n.playbackHeartbeatTime, o.disableRebufferTracking = n.disableRebufferTracking, o.disableRebufferTracking && o.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."), o.disablePlayheadRebufferTracking = n.disablePlayheadRebufferTracking, o.disableAdPlaybackRangeFiltering = n.disableAdPlaybackRangeFiltering, o.errorTranslator = n.errorTranslator, o.emitTranslator = n.emitTranslator, o.stateDataTranslator = n.stateDataTranslator, o.playbackEventDispatcher = new Hr(i, n.data.env_key, n), o.data = {
2342
+ player_instance_id: ee(),
2343
+ mux_sample_rate: n.sampleRate,
2344
+ beacon_domain: n.beaconCollectionDomain || n.beaconDomain
2345
+ }, o.data.view_sequence_number = 1, o.data.player_sequence_number = 1;
2346
+ var u = function() {
2347
+ typeof this.data.view_start == "undefined" && (this.data.view_start = this.mux.utils.now(), this.emit("viewstart"), this.emit("renditionchange"));
2348
+ }.bind(b(o));
2349
+ if (o.on("viewinit", function(y, c) {
2350
+ this._resetVideoData(), this._resetViewData(), this._resetErrorData(), this._updateStateData(), Object.assign(this.data, c), this._initializeViewData(), this.one("play", u), this.one("adbreakstart", u);
2351
+ }), o.on("videochange", function(y, c) {
2352
+ this._resetView(c);
2353
+ }), o.on("programchange", function(y, c) {
2354
+ this.data.player_is_paused && this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."), this._resetView(Object.assign(c, { view_program_changed: !0 })), u(), this.emit("play"), this.emit("playing");
2355
+ }), o.on("fragmentchange", function(y, c) {
2356
+ this.currentFragmentPDT = c.currentFragmentPDT, this.currentFragmentStart = c.currentFragmentStart;
2357
+ }), o.on("destroy", o.destroy), typeof window != "undefined" && typeof window.addEventListener == "function" && typeof window.removeEventListener == "function") {
2358
+ var f = function() {
2359
+ var y = typeof o.data.view_start != "undefined";
2360
+ o.mux.WINDOW_HIDDEN = document.visibilityState === "hidden", y && o.mux.WINDOW_HIDDEN && (o.data.player_is_paused || o.emit("hb"));
2361
+ };
2362
+ window.addEventListener("visibilitychange", f, !1);
2363
+ var h = function(y) {
2364
+ y.persisted || o.destroy();
2365
+ };
2366
+ window.addEventListener("pagehide", h, !1), o.on("destroy", function() {
2367
+ window.removeEventListener("visibilitychange", f), window.removeEventListener("pagehide", h);
2368
+ });
2369
+ }
2370
+ o.on("playerready", function(y, c) {
2371
+ Object.assign(this.data, c);
2372
+ }), xi.forEach(function(y) {
2373
+ o.on(y, function(c, p) {
2374
+ y.indexOf("ad") !== 0 && this._updateStateData(), Object.assign(this.data, p), this._sanitizeData();
2375
+ }), o.on("after" + y, function() {
2376
+ (y !== "error" || this.errorTracker.viewErrored) && this.send(y);
2377
+ });
2378
+ }), o.on("viewend", function(y, c) {
2379
+ Object.assign(o.data, c);
2380
+ });
2381
+ var E = function(c) {
2382
+ var p = this.mux.utils.now();
2383
+ this.data.player_init_time && (this.data.player_startup_time = p - this.data.player_init_time), this.pageLoadInitTime = this.data.page_load_init_time || this.pageLoadInitTime, this.pageLoadEndTime = this.data.page_load_end_time || this.pageLoadEndTime, !this.mux.PLAYER_TRACKED && this.pageLoadInitTime && (this.mux.PLAYER_TRACKED = !0, (this.data.player_init_time || this.pageLoadEndTime) && (this.data.page_load_time = Math.min(this.data.player_init_time || Infinity, this.pageLoadEndTime || Infinity) - this.pageLoadInitTime)), this.send("playerready"), delete this.data.player_startup_time, delete this.data.page_load_time;
2384
+ };
2385
+ return o.one("playerready", E), o.longResumeTracker = new Ur(b(o)), o.errorTracker = new Ut(b(o)), new $t(b(o)), o.seekingTracker = new Kt(b(o)), o.playheadTime = new jt(b(o)), o.playbackHeartbeat = new Bt(b(o)), new zt(b(o)), o.watchTimeTracker = new Ft(b(o)), new Vt(b(o)), new Wr(b(o)), o.adTracker = new Xt(b(o)), new Jt(b(o)), new Gt(b(o)), new Qt(b(o)), new Br(b(o)), new Vr(b(o)), new jr(b(o)), n.hlsjs && o.addHLSJS(n), n.dashjs && o.addDashJS(n), o.emit("viewinit", n.data), o;
2386
+ }
2387
+ return N(t, [
2388
+ {
2389
+ key: "emit",
2390
+ value: function(a, n) {
2391
+ var o, s = Object.assign({ viewer_time: this.mux.utils.now() }, n), u = [a, s];
2392
+ if (this.emitTranslator) try {
2393
+ u = this.emitTranslator(a, s);
2394
+ } catch (f) {
2395
+ this.mux.log.warn("Exception in emit translator callback.", f);
2396
+ }
2397
+ u != null && u.length && (o = Se(X(t.prototype), "emit", this)).call.apply(o, [this].concat(V(u)));
2398
+ }
2399
+ },
2400
+ {
2401
+ key: "destroy",
2402
+ value: function() {
2403
+ this._destroyed || (this._destroyed = !0, typeof this.data.view_start != "undefined" && (this.emit("viewend"), this.send("viewend")), this.playbackEventDispatcher.destroy(), this.removeHLSJS(), this.removeDashJS(), window.clearTimeout(this._heartBeatTimeout));
2404
+ }
2405
+ },
2406
+ {
2407
+ key: "send",
2408
+ value: function(a) {
2409
+ if (this.data.view_id) {
2410
+ var n = Object.assign({}, this.data);
2411
+ if (n.video_source_is_live === void 0 && (n.player_source_duration === Infinity || n.video_source_duration === Infinity ? n.video_source_is_live = !0 : (n.player_source_duration > 0 || n.video_source_duration > 0) && (n.video_source_is_live = !1)), n.video_source_is_live || [
2412
+ "player_program_time",
2413
+ "player_manifest_newest_program_time",
2414
+ "player_live_edge_program_time",
2415
+ "player_program_time",
2416
+ "video_holdback",
2417
+ "video_part_holdback",
2418
+ "video_target_duration",
2419
+ "video_part_target_duration"
2420
+ ].forEach(function(h) {
2421
+ n[h] = void 0;
2422
+ }), n.video_source_url = n.video_source_url || n.player_source_url, n.video_source_url) {
2423
+ var s = H(re(n.video_source_url), 2), u = s[0];
2424
+ n.video_source_domain = s[1], n.video_source_hostname = u;
2425
+ }
2426
+ delete n.ad_request_id, n.video_playback_ranges && (n.video_playback_range = JSON.stringify(n.video_playback_ranges.filter(function(h) {
2427
+ return h[0] !== h[1];
2428
+ }).map(function(h) {
2429
+ return "".concat(h[0], ":").concat(h[1]);
2430
+ })), delete n.video_playback_ranges), this.playbackEventDispatcher.send(a, n), this.data.view_sequence_number++, this.data.player_sequence_number++, Si.has(a) || this._restartHeartBeat(), a === "viewend" && delete this.data.view_id;
2431
+ }
2432
+ }
2433
+ },
2434
+ {
2435
+ key: "_resetView",
2436
+ value: function(a) {
2437
+ this.emit("viewend"), this.send("viewend"), this.emit("viewinit", a);
2438
+ }
2439
+ },
2440
+ {
2441
+ key: "_updateStateData",
2442
+ value: function() {
2443
+ var a, n = this.getStateData();
2444
+ if (typeof this.stateDataTranslator == "function") try {
2445
+ n = this.stateDataTranslator(n);
2446
+ } catch (u) {
2447
+ this.mux.log.warn("Exception in stateDataTranslator translator callback.", u);
2448
+ }
2449
+ if (!((a = this.data) === null || a === void 0) && a.video_cdn && n != null && n.video_cdn) {
2450
+ n.video_cdn;
2451
+ n = Rt(n, ["video_cdn"]);
2452
+ }
2453
+ Object.assign(this.data, n), this.playheadTime._updatePlayheadTime(), this._sanitizeData();
2454
+ }
2455
+ },
2456
+ {
2457
+ key: "_sanitizeData",
2458
+ value: function() {
2459
+ var a = this;
2460
+ [
2461
+ "player_width",
2462
+ "player_height",
2463
+ "video_source_width",
2464
+ "video_source_height",
2465
+ "player_playhead_time",
2466
+ "video_source_bitrate"
2467
+ ].forEach(function(s) {
2468
+ var u = parseInt(a.data[s], 10);
2469
+ a.data[s] = isNaN(u) ? void 0 : u;
2470
+ });
2471
+ ["player_source_url", "video_source_url"].forEach(function(s) {
2472
+ if (a.data[s]) {
2473
+ var u = a.data[s].toLowerCase();
2474
+ (u.indexOf("data:") === 0 || u.indexOf("blob:") === 0) && (a.data[s] = "MSE style URL");
2475
+ }
2476
+ });
2477
+ }
2478
+ },
2479
+ {
2480
+ key: "_resetVideoData",
2481
+ value: function() {
2482
+ var a = this;
2483
+ Object.keys(this.data).forEach(function(n) {
2484
+ n.indexOf("video_") === 0 && delete a.data[n];
2485
+ });
2486
+ }
2487
+ },
2488
+ {
2489
+ key: "_resetViewData",
2490
+ value: function() {
2491
+ var a = this;
2492
+ Object.keys(this.data).forEach(function(n) {
2493
+ n.indexOf("view_") === 0 && delete a.data[n];
2494
+ }), this.data.view_sequence_number = 1;
2495
+ }
2496
+ },
2497
+ {
2498
+ key: "_resetErrorData",
2499
+ value: function() {
2500
+ delete this.data.player_error_code, delete this.data.player_error_message, delete this.data.player_error_context, delete this.data.player_error_severity, delete this.data.player_error_business_exception;
2501
+ }
2502
+ },
2503
+ {
2504
+ key: "_initializeViewData",
2505
+ value: function() {
2506
+ var a = this, n = this.data.view_id = ee(), o = function() {
2507
+ n === a.data.view_id && O(a.data, "player_view_count", 1);
2508
+ };
2509
+ this.data.player_is_paused ? this.one("play", o) : o();
2510
+ }
2511
+ },
2512
+ {
2513
+ key: "_restartHeartBeat",
2514
+ value: function() {
2515
+ var a = this;
2516
+ window.clearTimeout(this._heartBeatTimeout), this._heartBeatTimeout = window.setTimeout(function() {
2517
+ a.data.player_is_paused || a.emit("hb");
2518
+ }, 1e4);
2519
+ }
2520
+ },
2521
+ {
2522
+ key: "addHLSJS",
2523
+ value: function(a) {
2524
+ if (!a.hlsjs) {
2525
+ this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");
2526
+ return;
2527
+ }
2528
+ if (this.hlsjs) {
2529
+ this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");
2530
+ return;
2531
+ }
2532
+ this.hlsjs = a.hlsjs, Ot(this.mux, this.id, a.hlsjs, {}, a.Hls || window.Hls);
2533
+ }
2534
+ },
2535
+ {
2536
+ key: "removeHLSJS",
2537
+ value: function() {
2538
+ this.hlsjs && (Lt(this.hlsjs), this.hlsjs = void 0);
2539
+ }
2540
+ },
2541
+ {
2542
+ key: "addDashJS",
2543
+ value: function(a) {
2544
+ if (!a.dashjs) {
2545
+ this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");
2546
+ return;
2547
+ }
2548
+ if (this.dashjs) {
2549
+ this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");
2550
+ return;
2551
+ }
2552
+ this.dashjs = a.dashjs, Nt(this.mux, this.id, a.dashjs);
2553
+ }
2554
+ },
2555
+ {
2556
+ key: "removeDashJS",
2557
+ value: function() {
2558
+ this.dashjs && (Ct(this.dashjs), this.dashjs = void 0);
2559
+ }
2560
+ }
2561
+ ]), t;
2562
+ }(Ht);
2563
+ var he = G(nt());
2564
+ function Ae() {
2565
+ return he.default && !!(he.default.fullscreenElement || he.default.webkitFullscreenElement || he.default.mozFullScreenElement || he.default.msFullscreenElement);
2566
+ }
2567
+ var Di = [
2568
+ "loadstart",
2569
+ "pause",
2570
+ "play",
2571
+ "playing",
2572
+ "seeking",
2573
+ "seeked",
2574
+ "timeupdate",
2575
+ "ratechange",
2576
+ "stalled",
2577
+ "waiting",
2578
+ "error",
2579
+ "ended"
2580
+ ], qi = {
2581
+ 1: "MEDIA_ERR_ABORTED",
2582
+ 2: "MEDIA_ERR_NETWORK",
2583
+ 3: "MEDIA_ERR_DECODE",
2584
+ 4: "MEDIA_ERR_SRC_NOT_SUPPORTED"
2585
+ };
2586
+ function ot(r, e, t) {
2587
+ var i = H(se(e), 3), a = i[0], n = i[1], o = i[2], s = r.log, u = r.utils.getComputedStyle, f = r.utils.secondsToMs, h = { automaticErrorTracking: !0 };
2588
+ if (a) {
2589
+ if (o !== "video" && o !== "audio") return s.error("The element of `" + n + "` was not a media element.");
2590
+ } else return s.error("No element was found with the `" + n + "` query selector.");
2591
+ a.mux && (a.mux.destroy(), delete a.mux, s.warn("Already monitoring this video element, replacing existing event listeners"));
2592
+ t = Object.assign(h, t, {
2593
+ getPlayheadTime: function() {
2594
+ return f(a.currentTime);
2595
+ },
2596
+ getStateData: function() {
2597
+ var p, w, x, v = ((p = (w = this).getPlayheadTime) === null || p === void 0 ? void 0 : p.call(w)) || f(a.currentTime), m = this.hlsjs && this.hlsjs.url, _ = this.dashjs && typeof this.dashjs.getSource == "function" && this.dashjs.getSource(), d = {
2598
+ player_is_paused: a.paused,
2599
+ player_width: parseInt(u(a, "width")),
2600
+ player_height: parseInt(u(a, "height")),
2601
+ player_autoplay_on: a.autoplay,
2602
+ player_preload_on: a.preload,
2603
+ player_language_code: a.lang,
2604
+ player_is_fullscreen: Ae(),
2605
+ video_poster_url: a.poster,
2606
+ video_source_url: m || _ || a.currentSrc,
2607
+ video_source_duration: f(a.duration),
2608
+ video_source_height: a.videoHeight,
2609
+ video_source_width: a.videoWidth,
2610
+ view_dropped_frame_count: a == null || (x = a.getVideoPlaybackQuality) === null || x === void 0 ? void 0 : x.call(a).droppedVideoFrames
2611
+ };
2612
+ if (a.getStartDate && v > 0) {
2613
+ var g = a.getStartDate();
2614
+ if (g && typeof g.getTime == "function" && g.getTime()) {
2615
+ var T = g.getTime();
2616
+ if (d.player_program_time = T + v, a.seekable.length > 0) d.player_live_edge_program_time = T + a.seekable.end(a.seekable.length - 1);
2617
+ }
2618
+ }
2619
+ return d;
2620
+ }
2621
+ }), t.data = Object.assign({
2622
+ player_software: "HTML5 Video Element",
2623
+ player_mux_plugin_name: "VideoElementMonitor",
2624
+ player_mux_plugin_version: r.VERSION
2625
+ }, t.data), a.mux = a.mux || {}, a.mux.deleted = !1, a.mux.emit = function(c, p) {
2626
+ r.emit(n, c, p);
2627
+ }, a.mux.updateData = function(c) {
2628
+ a.mux.emit("hb", c);
2629
+ };
2630
+ var y = function() {
2631
+ s.error("The monitor for this video element has already been destroyed.");
2632
+ };
2633
+ a.mux.destroy = function() {
2634
+ Object.keys(a.mux.listeners).forEach(function(c) {
2635
+ a.removeEventListener(c, a.mux.listeners[c], !1);
2636
+ }), delete a.mux.listeners, a.mux.fullscreenChangeListener && (document.removeEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1), delete a.mux.fullscreenChangeListener), a.mux.destroy = y, a.mux.swapElement = y, a.mux.emit = y, a.mux.addHLSJS = y, a.mux.addDashJS = y, a.mux.removeHLSJS = y, a.mux.removeDashJS = y, a.mux.updateData = y, a.mux.setEmitTranslator = y, a.mux.setStateDataTranslator = y, a.mux.setGetPlayheadTime = y, a.mux.deleted = !0, r.emit(n, "destroy");
2637
+ }, a.mux.swapElement = function(c) {
2638
+ var p = H(se(c), 3), w = p[0], x = p[1], v = p[2];
2639
+ if (w) {
2640
+ if (v !== "video" && v !== "audio") return r.log.error("The element of `" + x + "` was not a media element.");
2641
+ } else return r.log.error("No element was found with the `" + x + "` query selector.");
2642
+ w.muxId = a.muxId, delete a.muxId, w.mux = w.mux || {}, w.mux.listeners = Object.assign({}, a.mux.listeners), delete a.mux.listeners, Object.keys(w.mux.listeners).forEach(function(m) {
2643
+ a.removeEventListener(m, w.mux.listeners[m], !1), w.addEventListener(m, w.mux.listeners[m], !1);
2644
+ }), w.mux.fullscreenChangeListener = a.mux.fullscreenChangeListener, delete a.mux.fullscreenChangeListener, w.mux.swapElement = a.mux.swapElement, w.mux.destroy = a.mux.destroy, delete a.mux, a = w;
2645
+ }, a.mux.addHLSJS = function(c) {
2646
+ r.addHLSJS(n, c);
2647
+ }, a.mux.addDashJS = function(c) {
2648
+ r.addDashJS(n, c);
2649
+ }, a.mux.removeHLSJS = function() {
2650
+ r.removeHLSJS(n);
2651
+ }, a.mux.removeDashJS = function() {
2652
+ r.removeDashJS(n);
2653
+ }, a.mux.setEmitTranslator = function(c) {
2654
+ r.setEmitTranslator(n, c);
2655
+ }, a.mux.setStateDataTranslator = function(c) {
2656
+ r.setStateDataTranslator(n, c);
2657
+ }, a.mux.setGetPlayheadTime = function(c) {
2658
+ c || (c = t.getPlayheadTime), r.setGetPlayheadTime(n, c);
2659
+ }, r.init(n, t), r.emit(n, "playerready"), a.paused || (r.emit(n, "play"), a.readyState > 2 && r.emit(n, "playing")), a.mux.listeners = {}, Di.forEach(function(c) {
2660
+ c === "error" && !t.automaticErrorTracking || (a.mux.listeners[c] = function() {
2661
+ var p = {};
2662
+ if (c === "error") {
2663
+ if (!a.error || a.error.code === 1) return;
2664
+ p.player_error_code = a.error.code, p.player_error_message = qi[a.error.code] || a.error.message;
2665
+ }
2666
+ r.emit(n, c, p);
2667
+ }, a.addEventListener(c, a.mux.listeners[c], !1));
2668
+ }), a.mux.listeners.enterpictureinpicture = function() {
2669
+ r.emit(n, "playbackmodechange", {
2670
+ player_playback_mode: "pip",
2671
+ player_playback_mode_data: "{}"
2672
+ });
2673
+ }, a.mux.listeners.leavepictureinpicture = function() {
2674
+ var c = Ae() ? "fullscreen" : "standard";
2675
+ r.emit(n, "playbackmodechange", {
2676
+ player_playback_mode: c,
2677
+ player_playback_mode_data: "{}"
2678
+ });
2679
+ }, a.addEventListener("enterpictureinpicture", a.mux.listeners.enterpictureinpicture, !1), a.addEventListener("leavepictureinpicture", a.mux.listeners.leavepictureinpicture, !1), a.mux.fullscreenChangeListener = function() {
2680
+ var c = Ae(), p = document.fullscreenElement;
2681
+ if (c && (p === a || p != null && p.contains(a))) r.emit(n, "playbackmodechange", {
2682
+ player_playback_mode: "fullscreen",
2683
+ player_playback_mode_data: "{}"
2684
+ });
2685
+ else if (!c) {
2686
+ var x = document.pictureInPictureElement === a ? "pip" : "standard";
2687
+ r.emit(n, "playbackmodechange", {
2688
+ player_playback_mode: x,
2689
+ player_playback_mode_data: "{}"
2690
+ });
2691
+ }
2692
+ }, document.addEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1);
2693
+ }
2694
+ function st(r, e, t, i) {
2695
+ var a = i;
2696
+ if (r && typeof r[e] == "function") try {
2697
+ a = r[e].apply(r, t);
2698
+ } catch (n) {
2699
+ q.info("safeCall error", n);
2700
+ }
2701
+ return a;
2702
+ }
2703
+ var ge = G(Q()), ye;
2704
+ ge.default && ge.default.WeakMap && (ye = /* @__PURE__ */ new WeakMap());
2705
+ function ut(r, e) {
2706
+ if (!r || !e || !ge.default || typeof ge.default.getComputedStyle != "function") return "";
2707
+ var t;
2708
+ return ye && ye.has(r) && (t = ye.get(r)), t || (t = ge.default.getComputedStyle(r, null), ye && ye.set(r, t)), t.getPropertyValue(e);
2709
+ }
2710
+ function lt(r) {
2711
+ return Math.floor(r * 1e3);
2712
+ }
2713
+ var de = {
2714
+ TARGET_DURATION: "#EXT-X-TARGETDURATION",
2715
+ PART_INF: "#EXT-X-PART-INF",
2716
+ SERVER_CONTROL: "#EXT-X-SERVER-CONTROL",
2717
+ INF: "#EXTINF",
2718
+ PROGRAM_DATE_TIME: "#EXT-X-PROGRAM-DATE-TIME",
2719
+ VERSION: "#EXT-X-VERSION",
2720
+ SESSION_DATA: "#EXT-X-SESSION-DATA"
2721
+ }, Ve = function(e) {
2722
+ return this.buffer = "", this.manifest = {
2723
+ segments: [],
2724
+ serverControl: {},
2725
+ sessionData: {}
2726
+ }, this.currentUri = {}, this.process(e), this.manifest;
2727
+ };
2728
+ Ve.prototype.process = function(r) {
2729
+ var e;
2730
+ for (this.buffer += r, e = this.buffer.indexOf("\n"); e > -1; e = this.buffer.indexOf("\n")) this.processLine(this.buffer.substring(0, e)), this.buffer = this.buffer.substring(e + 1);
2731
+ };
2732
+ Ve.prototype.processLine = function(r) {
2733
+ var t = Li(r, r.indexOf(":")), i = t[0], a = t.length === 2 ? ct(t[1]) : void 0;
2734
+ if (i[0] !== "#") this.currentUri.uri = i, this.manifest.segments.push(this.currentUri), this.manifest.targetDuration && !("duration" in this.currentUri) && (this.currentUri.duration = this.manifest.targetDuration), this.currentUri = {};
2735
+ else switch (i) {
2736
+ case de.TARGET_DURATION:
2737
+ if (!isFinite(a) || a < 0) return;
2738
+ this.manifest.targetDuration = a, this.setHoldBack();
2739
+ break;
2740
+ case de.PART_INF:
2741
+ dt(this.manifest, t), this.manifest.partInf.partTarget && (this.manifest.partTargetDuration = this.manifest.partInf.partTarget), this.setHoldBack();
2742
+ break;
2743
+ case de.SERVER_CONTROL:
2744
+ dt(this.manifest, t), this.setHoldBack();
2745
+ break;
2746
+ case de.INF:
2747
+ a === 0 ? this.currentUri.duration = .01 : a > 0 && (this.currentUri.duration = a);
2748
+ break;
2749
+ case de.PROGRAM_DATE_TIME:
2750
+ var n = a, o = new Date(n);
2751
+ this.manifest.dateTimeString || (this.manifest.dateTimeString = n, this.manifest.dateTimeObject = o), this.currentUri.dateTimeString = n, this.currentUri.dateTimeObject = o;
2752
+ break;
2753
+ case de.VERSION:
2754
+ dt(this.manifest, t);
2755
+ break;
2756
+ case de.SESSION_DATA:
2757
+ var u = Me(Ii(t[1]));
2758
+ Object.assign(this.manifest.sessionData, u);
2759
+ }
2760
+ };
2761
+ Ve.prototype.setHoldBack = function() {
2762
+ var r = this.manifest, e = r.serverControl, t = r.targetDuration, i = r.partTargetDuration;
2763
+ if (e) {
2764
+ var a = "holdBack", n = "partHoldBack", o = t && t * 3, s = i && i * 2;
2765
+ t && !e.hasOwnProperty(a) && (e[a] = o), o && e[a] < o && (e[a] = o), i && !e.hasOwnProperty(n) && (e[n] = i * 3), i && e[n] < s && (e[n] = s);
2766
+ }
2767
+ };
2768
+ var dt = function(r, e) {
2769
+ var t = Jr(e[0].replace("#EXT-X-", "")), i;
2770
+ Oi(e[1]) ? (i = {}, i = Object.assign(Pi(e[1]), i)) : i = ct(e[1]), r[t] = i;
2771
+ }, Jr = function(r) {
2772
+ return r.toLowerCase().replace(/-(\w)/g, function(e) {
2773
+ return e[1].toUpperCase();
2774
+ });
2775
+ }, ct = function(r) {
2776
+ if (r.toLowerCase() === "yes" || r.toLowerCase() === "no") return r.toLowerCase() === "yes";
2777
+ var e = r.indexOf(":") !== -1 ? r : parseFloat(r);
2778
+ return isNaN(e) ? r : e;
2779
+ }, Ai = function(r) {
2780
+ var e = {}, t = r.split("=");
2781
+ if (t.length > 1) {
2782
+ var i = Jr(t[0]);
2783
+ e[i] = ct(t[1]);
2784
+ }
2785
+ return e;
2786
+ }, Pi = function(r) {
2787
+ for (var e = r.split(","), t = {}, i = 0; e.length > i; i++) {
2788
+ var a = e[i], n = Ai(a);
2789
+ t = Object.assign(n, t);
2790
+ }
2791
+ return t;
2792
+ }, Oi = function(r) {
2793
+ return r.indexOf("=") > -1;
2794
+ }, Li = function(r, e) {
2795
+ return e === -1 ? [r] : [r.substring(0, e), r.substring(e + 1)];
2796
+ }, Ii = function(r) {
2797
+ var e = {};
2798
+ if (r) {
2799
+ var t = r.search(",");
2800
+ return [r.slice(0, t), r.slice(t + 1)].forEach(function(o, s) {
2801
+ for (var u = o.replace(/['"]+/g, "").split("="), f = 0; f < u.length; f++) u[f] === "DATA-ID" && (e["DATA-ID"] = u[1 - f]), u[f] === "VALUE" && (e.VALUE = u[1 - f]);
2802
+ }), { data: e };
2803
+ }
2804
+ }, Qr = Ve;
2805
+ var zr = {
2806
+ safeCall: st,
2807
+ safeIncrement: O,
2808
+ getComputedStyle: ut,
2809
+ secondsToMs: lt,
2810
+ assign: Object.assign,
2811
+ headersStringToObject: pe,
2812
+ cdnHeadersToRequestId: le,
2813
+ extractHostnameAndDomain: re,
2814
+ extractHostname: F,
2815
+ manifestParser: Qr,
2816
+ generateShortID: Oe,
2817
+ generateUUID: ee,
2818
+ now: P.now,
2819
+ findMediaElement: se
2820
+ };
2821
+ var Kr = {
2822
+ PLAYER_READY: "playerready",
2823
+ VIEW_INIT: "viewinit",
2824
+ VIDEO_CHANGE: "videochange",
2825
+ PLAY: "play",
2826
+ PAUSE: "pause",
2827
+ PLAYING: "playing",
2828
+ TIME_UPDATE: "timeupdate",
2829
+ SEEKING: "seeking",
2830
+ SEEKED: "seeked",
2831
+ REBUFFER_START: "rebufferstart",
2832
+ REBUFFER_END: "rebufferend",
2833
+ ERROR: "error",
2834
+ ENDED: "ended",
2835
+ RENDITION_CHANGE: "renditionchange",
2836
+ ORIENTATION_CHANGE: "orientationchange",
2837
+ PLAYBACK_MODE_CHANGE: "playbackmodechange",
2838
+ AD_REQUEST: "adrequest",
2839
+ AD_RESPONSE: "adresponse",
2840
+ AD_BREAK_START: "adbreakstart",
2841
+ AD_PLAY: "adplay",
2842
+ AD_PLAYING: "adplaying",
2843
+ AD_PAUSE: "adpause",
2844
+ AD_FIRST_QUARTILE: "adfirstquartile",
2845
+ AD_MID_POINT: "admidpoint",
2846
+ AD_THIRD_QUARTILE: "adthirdquartile",
2847
+ AD_ENDED: "adended",
2848
+ AD_BREAK_END: "adbreakend",
2849
+ AD_ERROR: "aderror",
2850
+ REQUEST_COMPLETED: "requestcompleted",
2851
+ REQUEST_FAILED: "requestfailed",
2852
+ REQUEST_CANCELLED: "requestcanceled",
2853
+ HEARTBEAT: "hb",
2854
+ DESTROY: "destroy"
2855
+ };
2856
+ var Mi = "mux-embed", Hi = "5.17.10", Bi = "2.1", M = {}, ne = function(e) {
2857
+ var t = arguments;
2858
+ typeof e == "string" ? ne.hasOwnProperty(e) ? be.default.setTimeout(function() {
2859
+ t = Array.prototype.splice.call(t, 1), ne[e].apply(null, t);
2860
+ }, 0) : q.warn("`" + e + "` is an unknown task") : typeof e == "function" ? be.default.setTimeout(function() {
2861
+ e(ne);
2862
+ }, 0) : q.warn("`" + e + "` is invalid.");
2863
+ }, Ui = {
2864
+ loaded: P.now(),
2865
+ NAME: Mi,
2866
+ VERSION: Hi,
2867
+ API_VERSION: Bi,
2868
+ PLAYER_TRACKED: !1,
2869
+ monitor: function(e, t) {
2870
+ return ot(ne, e, t);
2871
+ },
2872
+ destroyMonitor: function(e) {
2873
+ var i = H(se(e), 1)[0];
2874
+ i && i.mux && typeof i.mux.destroy == "function" ? i.mux.destroy() : q.error("A video element monitor for `" + e + "` has not been initialized via `mux.monitor`.");
2875
+ },
2876
+ addHLSJS: function(e, t) {
2877
+ var i = J(e);
2878
+ M[i] ? M[i].addHLSJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
2879
+ },
2880
+ addDashJS: function(e, t) {
2881
+ var i = J(e);
2882
+ M[i] ? M[i].addDashJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
2883
+ },
2884
+ removeHLSJS: function(e) {
2885
+ var t = J(e);
2886
+ M[t] ? M[t].removeHLSJS() : q.error("A monitor for `" + t + "` has not been initialized.");
2887
+ },
2888
+ removeDashJS: function(e) {
2889
+ var t = J(e);
2890
+ M[t] ? M[t].removeDashJS() : q.error("A monitor for `" + t + "` has not been initialized.");
2891
+ },
2892
+ init: function(e, t) {
2893
+ ce() && t && t.respectDoNotTrack && q.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");
2894
+ var i = J(e);
2895
+ M[i] = new Gr(ne, i, t);
2896
+ },
2897
+ emit: function(e, t, i) {
2898
+ var a = J(e);
2899
+ M[a] ? (M[a].emit(t, i), t === "destroy" && delete M[a]) : q.error("A monitor for `" + a + "` has not been initialized.");
2900
+ },
2901
+ updateData: function(e, t) {
2902
+ var i = J(e);
2903
+ M[i] ? M[i].emit("hb", t) : q.error("A monitor for `" + i + "` has not been initialized.");
2904
+ },
2905
+ setEmitTranslator: function(e, t) {
2906
+ var i = J(e);
2907
+ M[i] ? M[i].emitTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
2908
+ },
2909
+ setStateDataTranslator: function(e, t) {
2910
+ var i = J(e);
2911
+ M[i] ? M[i].stateDataTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
2912
+ },
2913
+ setGetPlayheadTime: function(e, t) {
2914
+ var i = J(e);
2915
+ M[i] ? M[i].getPlayheadTime = t : q.error("A monitor for `" + i + "` has not been initialized.");
2916
+ },
2917
+ checkDoNotTrack: ce,
2918
+ log: q,
2919
+ utils: zr,
2920
+ events: Kr,
2921
+ WINDOW_HIDDEN: !1,
2922
+ WINDOW_UNLOADING: !1
2923
+ };
2924
+ Object.assign(ne, Ui);
2925
+ typeof be.default != "undefined" && typeof be.default.addEventListener == "function" && be.default.addEventListener("pagehide", function(r) {
2926
+ r.persisted || (ne.WINDOW_UNLOADING = !0);
2927
+ }, !1);
2928
+ var jl = ne;
2929
+ /*!
2930
+ * JavaScript Cookie v2.1.3
2931
+ * https://github.com/js-cookie/js-cookie
2932
+ *
2933
+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
2934
+ * Released under the MIT license
2935
+ */
2936
+
2937
+ //#endregion
2938
+ //#region ../core/dist/dev/dom/media/mux/index.js
2939
+ const MUX_VIDEO_DOMAIN = "mux.com";
2940
+ var MuxMediaDelegate = class extends HlsMediaDelegate {
2941
+ static PLAYER_SOFTWARE_NAME = "";
2942
+ #MuxDataSdk = jl;
2943
+ #MuxDataSdkInitializedBefore = false;
2944
+ #playbackId = null;
2945
+ #customDomain = MUX_VIDEO_DOMAIN;
2946
+ #beaconCollectionDomain;
2947
+ #disableCookies = false;
2948
+ #metadata;
2949
+ #envKey;
2950
+ #playerSoftwareName = this.constructor.PLAYER_SOFTWARE_NAME;
2951
+ #playerSoftwareVersion = getPlayerVersion();
2952
+ #playerInitTime = this.#generatePlayerInitTime();
2953
+ get playbackId() {
2954
+ return this.#playbackId;
2955
+ }
2956
+ set playbackId(value) {
2957
+ if (this.#playbackId === value) return;
2958
+ this.#playbackId = value;
2959
+ this.#syncSrc();
2960
+ }
2961
+ get customDomain() {
2962
+ return this.#customDomain;
2963
+ }
2964
+ set customDomain(value) {
2965
+ const normalized = value || MUX_VIDEO_DOMAIN;
2966
+ if (this.#customDomain === normalized) return;
2967
+ this.#customDomain = normalized;
2968
+ this.#syncSrc();
2969
+ }
2970
+ get MuxDataSdk() {
2971
+ return this.#MuxDataSdk;
2972
+ }
2973
+ set MuxDataSdk(value) {
2974
+ this.#MuxDataSdk = value;
2975
+ }
2976
+ get beaconCollectionDomain() {
2977
+ return this.#beaconCollectionDomain;
2978
+ }
2979
+ set beaconCollectionDomain(value) {
2980
+ this.#beaconCollectionDomain = value;
2981
+ }
2982
+ get disableCookies() {
2983
+ return this.#disableCookies;
2984
+ }
2985
+ set disableCookies(value) {
2986
+ this.#disableCookies = value;
2987
+ }
2988
+ get envKey() {
2989
+ return this.#envKey;
2990
+ }
2991
+ set envKey(value) {
2992
+ this.#envKey = value;
2993
+ }
2994
+ get playerSoftwareName() {
2995
+ return this.#playerSoftwareName;
2996
+ }
2997
+ set playerSoftwareName(value) {
2998
+ this.#playerSoftwareName = value;
2999
+ }
3000
+ get playerSoftwareVersion() {
3001
+ return this.#playerSoftwareVersion;
3002
+ }
3003
+ set playerSoftwareVersion(value) {
3004
+ this.#playerSoftwareVersion = value;
3005
+ }
3006
+ get playerInitTime() {
3007
+ return this.#playerInitTime;
3008
+ }
3009
+ set playerInitTime(value) {
3010
+ this.#playerInitTime = value;
3011
+ }
3012
+ get metadata() {
3013
+ return this.#metadata;
3014
+ }
3015
+ set metadata(value) {
3016
+ this.#metadata = value;
3017
+ }
3018
+ attach(target) {
3019
+ super.attach(target);
3020
+ if (this.#MuxDataSdkInitializedBefore) this.#initializeMuxDataSdk();
3021
+ }
3022
+ detach() {
3023
+ if (this.target?.mux) {
3024
+ this.target.mux.destroy();
3025
+ delete this.target.mux;
3026
+ }
3027
+ super.detach();
3028
+ }
3029
+ load() {
3030
+ super.load();
3031
+ this.#initializeMuxDataSdk();
3032
+ }
3033
+ #syncSrc() {
3034
+ this.src = this.#playbackId ? toSrc(this.#playbackId, this.#customDomain) : "";
3035
+ }
3036
+ #initializeMuxDataSdk() {
3037
+ const target = this.target;
3038
+ if (!this.MuxDataSdk || !target || target.mux && !target.mux.deleted) return;
3039
+ this.#MuxDataSdkInitializedBefore = true;
3040
+ const { debug, beaconCollectionDomain, disableCookies, engine: hlsjs, envKey: env_key, playerSoftwareName: player_software_name, playerSoftwareVersion: player_software_version, playerInitTime: player_init_time, metadata = {} } = this;
3041
+ const { view_session_id = this.MuxDataSdk?.utils.generateUUID() } = metadata;
3042
+ const video_id = toVideoId(this);
3043
+ metadata.view_session_id = view_session_id;
3044
+ metadata.video_id = video_id;
3045
+ this.MuxDataSdk?.monitor(target, {
3046
+ debug,
3047
+ ...beaconCollectionDomain ? { beaconCollectionDomain } : {},
3048
+ ...disableCookies ? { disableCookies } : {},
3049
+ ...hlsjs ? { hlsjs } : {},
3050
+ Hls,
3051
+ data: {
3052
+ ...env_key ? { env_key } : {},
3053
+ ...player_software_name ? { player_software_name } : {},
3054
+ ...player_software_name ? { player_software: player_software_name } : {},
3055
+ ...player_software_version ? { player_software_version } : {},
3056
+ ...player_init_time ? { player_init_time } : {},
3057
+ ...metadata
3058
+ }
3059
+ });
3060
+ }
3061
+ #generatePlayerInitTime() {
3062
+ if (!this.MuxDataSdk) return void 0;
3063
+ return this.MuxDataSdk.utils.now();
3064
+ }
3065
+ };
3066
+ function toSrc(playbackId, customDomain) {
3067
+ return `https://stream.${customDomain}/${playbackId}.m3u8`;
3068
+ }
3069
+ function toVideoId(props) {
3070
+ if (props.metadata?.video_id) return props.metadata.video_id;
3071
+ if (!isMuxVideoSrc(props)) return props.src;
3072
+ return toPlaybackIdFromParameterized(props.playbackId) ?? toPlaybackIdFromSrc(props.src) ?? props.src;
3073
+ }
3074
+ function toPlaybackIdFromParameterized(playbackId) {
3075
+ if (!playbackId) return void 0;
3076
+ const [id] = playbackId.split("?");
3077
+ return id || void 0;
3078
+ }
3079
+ function toPlaybackIdFromSrc(src) {
3080
+ if (!src || !src.startsWith("https://stream.")) return void 0;
3081
+ const [playbackId] = new URL(src).pathname.slice(1).split(/\.m3u8|\//);
3082
+ return playbackId || void 0;
3083
+ }
3084
+ function isMuxVideoSrc({ playbackId, src, customDomain }) {
3085
+ if (playbackId) return true;
3086
+ if (typeof src !== "string") return false;
3087
+ const base = window?.location.href;
3088
+ const hostname = new URL(src, base).hostname.toLocaleLowerCase();
3089
+ return hostname.includes(MUX_VIDEO_DOMAIN) || !!customDomain && hostname.includes(customDomain.toLocaleLowerCase());
3090
+ }
3091
+ var MuxVideoDelegate = class extends MuxMediaDelegate {
3092
+ static PLAYER_SOFTWARE_NAME = "mux-video";
3093
+ };
3094
+ var MuxAudioDelegate = class extends MuxMediaDelegate {
3095
+ static PLAYER_SOFTWARE_NAME = "mux-audio";
3096
+ };
3097
+ var MuxCustomVideo = class extends DelegateMixin(CustomVideoElement, MuxVideoDelegate) {};
3098
+ var MuxCustomAudio = class extends DelegateMixin(CustomAudioElement, MuxAudioDelegate) {};
3099
+
3100
+ //#endregion
3101
+ export { MuxCustomVideo as n, MuxMediaDelegate as r, MuxCustomAudio as t };
3102
+ //# sourceMappingURL=mux-CBXn2z5k.js.map