@sapia-ai/chatbot-v3 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{EmbeddedVideoPlayer-SaMMfDIW.js → EmbeddedVideoPlayer-CNcds-dW.js} +283 -282
  2. package/dist/Preview-Dmns6UWL.js +84 -0
  3. package/dist/api.js +1 -1
  4. package/dist/{dist-DGBYKC8c.js → dist-B9SbMqZU.js} +2693 -2693
  5. package/dist/embed/createChatbot.d.ts +2 -0
  6. package/dist/{fix-webm-duration-BW9Fbdzt.js → fix-webm-duration-BWL-ZRDX.js} +2 -2
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.js +15479 -2067
  9. package/dist/jsx-runtime-8QqjHL5t.js +24 -0
  10. package/dist/messages-Czlp86gl.js +1963 -0
  11. package/dist/react-B0K-sClg.js +295 -0
  12. package/dist/{react-Bujo1aK5.js → react-ChCcxVnw.js} +90 -89
  13. package/dist/{react-GXf8sbzf.js → react-DJysvNxz.js} +72 -71
  14. package/dist/{react-BVzcquey.js → react-Dbs-sPBo.js} +93 -92
  15. package/dist/{react-lp7yfM94.js → react-NauLB_WU.js} +91 -90
  16. package/dist/{react-BGJ7Szvq.js → react-QrtEtv1G.js} +76 -74
  17. package/dist/{react-BrCGR7Ca.js → react-be7q6yw_.js} +312 -310
  18. package/dist/{react-CRTg4gz8.js → react-czRIxT0g.js} +85 -84
  19. package/dist/{react-BMxM8TWJ.js → react-dE7BdGuR.js} +49 -48
  20. package/package.json +14 -25
  21. package/dist/EmbeddedVideoPlayer-SaMMfDIW.js.map +0 -1
  22. package/dist/Preview-Db-hgkTh.js +0 -83
  23. package/dist/Preview-Db-hgkTh.js.map +0 -1
  24. package/dist/dash.all.min-DZ1yEcJk.js.map +0 -1
  25. package/dist/dist-BSi28_cP.js.map +0 -1
  26. package/dist/dist-DGBYKC8c.js.map +0 -1
  27. package/dist/dist-FvHBWiRa.js.map +0 -1
  28. package/dist/fix-webm-duration-BW9Fbdzt.js.map +0 -1
  29. package/dist/hls-mBncGwsE.js.map +0 -1
  30. package/dist/index.js.map +0 -1
  31. package/dist/max-Btet1snX.js.map +0 -1
  32. package/dist/messages-C4jqrtSG.js +0 -187
  33. package/dist/messages-C4jqrtSG.js.map +0 -1
  34. package/dist/react-BGJ7Szvq.js.map +0 -1
  35. package/dist/react-BMxM8TWJ.js.map +0 -1
  36. package/dist/react-BVzcquey.js.map +0 -1
  37. package/dist/react-BrCGR7Ca.js.map +0 -1
  38. package/dist/react-Bujo1aK5.js.map +0 -1
  39. package/dist/react-CRTg4gz8.js.map +0 -1
  40. package/dist/react-GXf8sbzf.js.map +0 -1
  41. package/dist/react-lp7yfM94.js.map +0 -1
  42. package/dist/sapia-chatbot.css +0 -3
  43. package/dist-umd/sapia-chatbot.umd.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-DGBYKC8c.js","names":["ta","aa","na","mt","B","oa","G","Q","U","ae","Me","Ke","$e","cr","fr","Ze","et","tt","it","st","vt","ht","yt","Re","Le","H","Te","ze","bt","O","re","Ie","J","de","Tt","Et","W","X","kt","q","Ne","fe","b","k","xt","N","l","$","Rt","Se","Ce","Dt","St","qt","At","Ot","Pt","F","ie","He","pe","P","Z","la","me","da","Lt","ca","ve","ce","_a","Be","Ue","qe","It","Nt","Ct","pa","ma","Mt","Ht","Bt","Ut","Fe","Ft","Wt","jt","Vt","Gt","Jt","Qt","zt","Kt","Yt","Xt","$t","Sa","Zt","er","je","Ye","tr","Pa","rr","ar","ir","nr","Xe","Ia","sr","or","he","oe","ee","Mr","z","se","Pe","ut","lt","we","be","dt","ct","_e","Ve","ft","_t","Ii","zr","M","ue","R","lt","k","C","_","K","Y","h","te","O","w","$","B","P","Me","J","W","ft","ne","oe","G","Tt","be","yt","ae","Re","xe","Ce","ke","x","re","mt","Pe","se","Le","he","_e","ie","Ae","ce","U","Se","ue","Ie","Ne","gt","Oe","le","Ke","Mt","bt","Rt","de","Ct","Ve","vt","kt","S","pe","Lt","ht","Q","At","St","It","Nt","Ut","Kt","Wt","Ft","ze","Vt","Yt","$t","A","Bt","ye","jt","ee","Gt","Be","me","qt","zt","Xt","Qt","Zt","ut","fe","ct","Z","I","wt","D","P","r","o","E","b","Y","U","k","t","de","B","K","T","_","m","I","p","O","M","c","u","N","g","G","y","Z","V","x","w","ae","ue","re","ee","te","ie","se","$","X","z","j","q","ne","J","Q","L","H","oe","f","g","u","m","d","s","p","x","a","h","C","y","b","c","r","E","D","T","EventTarget","Element","Document","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_mediaController","getTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_mutationObserver","_handlePointerMove","handlePointerMove_fn","_handlePointerUp","handlePointerUp_fn","_handleSlotChange","Attributes","getTemplateHTML","MediaGestureReceiver","MEDIA_UI_ATTRIBUTE_NAMES","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","document","document","globalThis","globalThis","globalThis","document","defaultStateMediator","defaultRequestMap","stateMediator","requestMap","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_keyUpHandler","_keyDownHandler","ButtonPressedKeys","DEFAULT_SEEK_OFFSET","Attributes","globalThis","document","Attributes","getTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_mediaController","Attributes","getTemplateHTML","MediaTooltip","getSlotTemplateHTML","getTooltipContentHTML","globalThis","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","ccIconOn","ccIconOff","getSlotTemplateHTML","getTooltipContentHTML","updateAriaChecked","getSubtitlesListAttr","globalThis","setSubtitlesListAttr","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_previouslyFocused","_invokerElement","_handleOpen","handleOpen_fn","_handleClosed","handleClosed_fn","_handleInvoke","handleInvoke_fn","_handleFocusOut","handleFocusOut_fn","_handleKeyDown","handleKeyDown_fn","getTemplateHTML","getSlotTemplateHTML","Attributes","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_mediaController","_handlePointerMove","handlePointerMove_fn","getTemplateHTML","getContainerTemplateHTML","globalThis","document","__accessCheck","__privateGet","__privateAdd","__privateSet","_mediaController","getTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_mediaController","getTemplateHTML","getSlotTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_slot","getSlotTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","getSlotTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","_keyDownHandler","getSlotTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","getSlotTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_mediaController","Attributes","getTemplateHTML","globalThis","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","__accessCheck","__privateGet","__privateAdd","_rates","Attributes","DEFAULT_RATE","getSlotTemplateHTML","getTooltipContentHTML","globalThis","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","Attributes","getTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_slot","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_mediaController","getTemplateHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","_slot","globalThis","Attributes","DEFAULT_SEEK_OFFSET","getSlotTemplateHTML","updateAriaLabel","getTooltipContentHTML","DEFAULT_TIME","globalThis","Attributes","getSlotTemplateHTML","updateAriaLabel","getTooltipContentHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","Attributes","getSlotTemplateHTML","updateAriaLabel","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","MediaPreviewThumbnail","globalThis","__accessCheck","__privateGet","__privateAdd","globalThis","getSlotTemplateHTML","getTooltipContentHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","globalThis","tokenize","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","document","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_handleSlotChange","handleSlotChange_fn","_handleKeyDown","document","getTemplateHTML","Attributes","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","getTemplateHTML","getSuffixSlotInnerHTML","Attributes","globalThis","document","getTemplateHTML","globalThis","getTemplateHTML","globalThis","globalThis","getSlotTemplateHTML","getTooltipContentHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_prevState","_render","render_fn","_onChange","onChange_fn","globalThis","getSlotTemplateHTML","getTooltipContentHTML","updateAriaLabel","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","_prevState","_render","render_fn","_onChange","onChange_fn","getTemplateHTML","getSubtitlesListAttr","globalThis","setSubtitlesListAttr","getSlotTemplateHTML","getTooltipContentHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateMethod","_render","render_fn","_onChange","onChange_fn","globalThis","getSlotTemplateHTML","getTooltipContentHTML","globalThis","__accessCheck","__privateGet","__privateAdd","__privateSet","__privateMethod","globalThis","globalThis","getTemplateHTML","globalThis","globalThis","l","h","y","p","me","f","pt","ee","xe","B","Jt","E","P","te","ae","fe","ge","ra","ie","ba","_t","xt","Ot","c","v","S","Pe","ye","ka","o","n","Ht","ve","V","re","oe","ne","se","de","m","Oa","De","Ue","L","Ee","wt","Pt","Dt","M","Te","Ra","xa","_a","we","d","g","p","f","r","E","u","X","le","ce","m","Ee","pe","Me"],"sources":["../../../node_modules/.pnpm/mux-embed@5.18.1/node_modules/mux-embed/dist/mux.mjs","../../../node_modules/.pnpm/@mux+playback-core@0.35.0/node_modules/@mux/playback-core/dist/index.mjs","../../../node_modules/.pnpm/@mux+mux-video@0.31.0/node_modules/@mux/mux-video/dist/base.mjs","../../../node_modules/.pnpm/castable-video@1.1.16/node_modules/castable-video/castable-utils.js","../../../node_modules/.pnpm/castable-video@1.1.16/node_modules/castable-video/castable-remote-playback.js","../../../node_modules/.pnpm/castable-video@1.1.16/node_modules/castable-video/castable-mixin.js","../../../node_modules/.pnpm/@mux+mux-video@0.31.0/node_modules/@mux/mux-video/dist/index.mjs","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/constants.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/utils.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/lang/en.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/i18n.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/time.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/server-safe-globals.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/resize-observer.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/element-utils.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-gesture-receiver.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-container.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/attribute-token-list.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/captions.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/fullscreen-api.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/platform-tests.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-store/util.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-store/state-mediator.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-store/request-map.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-store/media-store.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-controller.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-tooltip.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-chrome-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-airplay-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-captions-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-cast-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-chrome-dialog.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-chrome-range.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-control-bar.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-text-display.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-duration-display.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/labels/labels.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-error-dialog.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-keyboard-shortcuts-dialog.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-fullscreen-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-live-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-loading-indicator.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-mute-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-pip-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-playback-rate-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-play-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-poster-image.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-preview-chapter-display.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-preview-thumbnail.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-preview-time-display.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-seek-backward-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-seek-forward-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-time-display.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/range-animation.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-time-range.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-volume-range.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-loop-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/template-parts.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/template-processor.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/media-theme-element.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/anchor-utils.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/utils/events.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-chrome-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-chrome-menu-item.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-settings-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-settings-menu-item.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-chrome-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-settings-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-audio-track-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-audio-track-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-captions-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-captions-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-playback-rate-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-playback-rate-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-rendition-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-rendition-menu-button.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-context-menu.js","../../../node_modules/.pnpm/media-chrome@4.19.2_react@19.2.7/node_modules/media-chrome/dist/menu/media-context-menu-item.js","../../../node_modules/.pnpm/@mux+mux-player@3.13.0_react@19.2.7/node_modules/@mux/mux-player/dist/base.mjs","../../../node_modules/.pnpm/@mux+mux-player@3.13.0_react@19.2.7/node_modules/@mux/mux-player/dist/index.mjs","../../../node_modules/.pnpm/@mux+mux-player-react@3.13.0_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react_3a8cb2a930fa0d87ceea4f791d659807/node_modules/@mux/mux-player-react/dist/index.mjs"],"sourcesContent":["var ta=Object.create;var pt=Object.defineProperty;var ra=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var ia=Object.getPrototypeOf,na=Object.prototype.hasOwnProperty;var mt=function(r,e){return function(){return r&&(e=r(r=0)),e}};var B=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var oa=function(r,e,t,i){if(e&&typeof e==\"object\"||typeof e==\"function\")for(var a=aa(e),n=0,o=a.length,s;n<o;n++)s=a[n],!na.call(r,s)&&s!==t&&pt(r,s,{get:function(u){return e[u]}.bind(null,s),enumerable:!(i=ra(e,s))||i.enumerable});return r};var G=function(r,e,t){return t=r!=null?ta(ia(r)):{},oa(e||!r||!r.__esModule?pt(t,\"default\",{value:r,enumerable:!0}):t,r)};var Q=B(function(tn,gt){var De;typeof window!=\"undefined\"?De=window:typeof global!=\"undefined\"?De=global:typeof self!=\"undefined\"?De=self:De={};gt.exports=De});function U(r,e){return e!=null&&typeof Symbol!=\"undefined\"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):U(r,e)}var ae=mt(function(){ae()});function Me(r){\"@swc/helpers - typeof\";return r&&typeof Symbol!=\"undefined\"&&r.constructor===Symbol?\"symbol\":typeof r}var Ke=mt(function(){});var $e=B(function(As,lr){var ur=Array.prototype.slice;lr.exports=Ca;function Ca(r,e){for((\"length\"in r)||(r=[r]),r=ur.call(r);r.length;){var t=r.shift(),i=e(t);if(i)return i;t.childNodes&&t.childNodes.length&&(r=ur.call(t.childNodes).concat(r))}}});var cr=B(function(Ps,dr){ae();dr.exports=ye;function ye(r,e){if(!U(this,ye))return new ye(r,e);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=e||null}ye.prototype.nodeType=8;ye.prototype.nodeName=\"#comment\";ye.prototype.toString=function(){return\"[object Comment]\"}});var fr=B(function(Is,_r){ae();_r.exports=ne;function ne(r,e){if(!U(this,ne))return new ne(r);this.data=r||\"\",this.length=this.data.length,this.ownerDocument=e||null}ne.prototype.type=\"DOMTextNode\";ne.prototype.nodeType=3;ne.prototype.nodeName=\"#text\";ne.prototype.toString=function(){return this.data};ne.prototype.replaceData=function(e,t,i){var a=this.data,n=a.substring(0,e),o=a.substring(e+t,a.length);this.data=n+i+o,this.length=this.data.length}});var Ze=B(function(Ns,pr){pr.exports=Ma;function Ma(r){var e=this,t=r.type;r.target||(r.target=e),e.listeners||(e.listeners={});var i=e.listeners[t];if(i)return i.forEach(function(a){r.currentTarget=e,typeof a==\"function\"?a(r):a.handleEvent(r)});e.parentNode&&e.parentNode.dispatchEvent(r)}});var et=B(function(Cs,mr){mr.exports=Ha;function Ha(r,e){var t=this;t.listeners||(t.listeners={}),t.listeners[r]||(t.listeners[r]=[]),t.listeners[r].indexOf(e)===-1&&t.listeners[r].push(e)}});var tt=B(function(Ms,vr){vr.exports=Ba;function Ba(r,e){var t=this;if(t.listeners&&t.listeners[r]){var i=t.listeners[r],a=i.indexOf(e);a!==-1&&i.splice(a,1)}}});var br=B(function(Bs,gr){Ke();gr.exports=hr;var Ua=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];function hr(r){switch(r.nodeType){case 3:return rt(r.data);case 8:return\"<!--\"+r.data+\"-->\";default:return Fa(r)}}function Fa(r){var e=[],t=r.tagName;return r.namespaceURI===\"http://www.w3.org/1999/xhtml\"&&(t=t.toLowerCase()),e.push(\"<\"+t+Ga(r)+Va(r)),Ua.indexOf(t)>-1?e.push(\" />\"):(e.push(\">\"),r.childNodes.length?e.push.apply(e,r.childNodes.map(hr)):r.textContent||r.innerText?e.push(rt(r.textContent||r.innerText)):r.innerHTML&&e.push(r.innerHTML),e.push(\"</\"+t+\">\")),e.join(\"\")}function Wa(r,e){var t=Me(r[e]);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\"}function ja(r){if(typeof r==\"string\")return r;var e=\"\";return Object.keys(r).forEach(function(t){var i=r[t];t=t.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()}),e+=t+\":\"+i+\";\"}),e}function Va(r){var e=r.dataset,t=[];for(var i in e)t.push({name:\"data-\"+i,value:e[i]});return t.length?yr(t):\"\"}function yr(r){var e=[];return r.forEach(function(t){var i=t.name,a=t.value;i===\"style\"&&(a=ja(a)),e.push(i+'=\"'+Ja(a)+'\"')}),e.length?\" \"+e.join(\" \"):\"\"}function Ga(r){var e=[];for(var t in r)Wa(r,t)&&e.push({name:t,value:r[t]});for(var i in r._attributes)for(var a in r._attributes[i]){var n=r._attributes[i][a],o=(n.prefix?n.prefix+\":\":\"\")+a;e.push({name:o,value:n.value})}return r.className&&e.push({name:\"class\",value:r.className}),e.length?yr(e):\"\"}function rt(r){var e=\"\";return typeof r==\"string\"?e=r:r&&(e=r.toString()),e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function Ja(r){return rt(r).replace(/\"/g,\"&quot;\")}});var it=B(function(Fs,Tr){ae();var at=$e(),Qa=Ze(),za=et(),Ka=tt(),Ya=br(),wr=\"http://www.w3.org/1999/xhtml\";Tr.exports=I;function I(r,e,t){if(!U(this,I))return new I(r);var i=t===void 0?wr:t||null;this.tagName=i===wr?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\")}I.prototype.type=\"DOMElement\";I.prototype.nodeType=1;I.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e};I.prototype.replaceChild=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=this.childNodes.indexOf(t);return t.parentNode=null,this.childNodes[i]=e,e.parentNode=this,t};I.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e};I.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=t==null?-1:this.childNodes.indexOf(t);return i>-1?this.childNodes.splice(i,0,e):this.childNodes.push(e),e.parentNode=this,e};I.prototype.setAttributeNS=function(e,t,i){var a=null,n=t,o=t.indexOf(\":\");if(o>-1&&(a=t.substr(0,o),n=t.substr(o+1)),this.tagName===\"INPUT\"&&t===\"type\")this.type=i;else{var s=this._attributes[e]||(this._attributes[e]={});s[n]={value:i,prefix:a}}};I.prototype.getAttributeNS=function(e,t){var i=this._attributes[e],a=i&&i[t]&&i[t].value;return this.tagName===\"INPUT\"&&t===\"type\"?this.type:typeof a!=\"string\"?null:a};I.prototype.removeAttributeNS=function(e,t){var i=this._attributes[e];i&&delete i[t]};I.prototype.hasAttributeNS=function(e,t){var i=this._attributes[e];return!!i&&t in i};I.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t)};I.prototype.getAttribute=function(e){return this.getAttributeNS(null,e)};I.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e)};I.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e)};I.prototype.removeEventListener=Ka;I.prototype.addEventListener=za;I.prototype.dispatchEvent=Qa;I.prototype.focus=function(){};I.prototype.toString=function(){return Ya(this)};I.prototype.getElementsByClassName=function(e){var t=e.split(\" \"),i=[];return at(this,function(a){if(a.nodeType===1){var n=a.className||\"\",o=n.split(\" \");t.every(function(s){return o.indexOf(s)!==-1})&&i.push(a)}}),i};I.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return at(this.childNodes,function(i){i.nodeType===1&&(e===\"*\"||i.tagName.toLowerCase()===e)&&t.push(i)}),t};I.prototype.contains=function(e){return at(this,function(t){return e===t})||!1}});var kr=B(function(js,Er){ae();var nt=it();Er.exports=Y;function Y(r){if(!U(this,Y))return new Y;this.childNodes=[],this.parentNode=null,this.ownerDocument=r||null}Y.prototype.type=\"DocumentFragment\";Y.prototype.nodeType=11;Y.prototype.nodeName=\"#document-fragment\";Y.prototype.appendChild=nt.prototype.appendChild;Y.prototype.replaceChild=nt.prototype.replaceChild;Y.prototype.removeChild=nt.prototype.removeChild;Y.prototype.toString=function(){return this.childNodes.map(function(e){return String(e)}).join(\"\")}});var Rr=B(function(Vs,xr){xr.exports=ot;function ot(r){}ot.prototype.initEvent=function(e,t,i){this.type=e,this.bubbles=t,this.cancelable=i};ot.prototype.preventDefault=function(){}});var Sr=B(function(Js,Dr){ae();var Xa=$e(),$a=cr(),Za=fr(),Ae=it(),ei=kr(),ti=Rr(),ri=Ze(),ai=et(),ii=tt();Dr.exports=We;function We(){if(!U(this,We))return new We;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}var j=We.prototype;j.createTextNode=function(e){return new Za(e,this)};j.createElementNS=function(e,t){var i=e===null?null:String(e);return new Ae(t,this,i)};j.createElement=function(e){return new Ae(e,this)};j.createDocumentFragment=function(){return new ei(this)};j.createEvent=function(e){return new ti(e)};j.createComment=function(e){return new $a(e,this)};j.getElementById=function(e){e=String(e);var t=Xa(this.childNodes,function(i){if(String(i.id)===e)return i});return t||null};j.getElementsByClassName=Ae.prototype.getElementsByClassName;j.getElementsByTagName=Ae.prototype.getElementsByTagName;j.contains=Ae.prototype.contains;j.removeEventListener=ii;j.addEventListener=ai;j.dispatchEvent=ri});var Ar=B(function(Qs,qr){var ni=Sr();qr.exports=new ni});var st=B(function(zs,Pr){var Or=typeof global!=\"undefined\"?global:typeof window!=\"undefined\"?window:{},oi=Ar(),Oe;typeof document!=\"undefined\"?Oe=document:(Oe=Or[\"__GLOBAL_DOCUMENT_CACHE@4\"],Oe||(Oe=Or[\"__GLOBAL_DOCUMENT_CACHE@4\"]=oi));Pr.exports=Oe});function vt(r){if(Array.isArray(r))return r}function ht(r,e){var t=r==null?null:typeof Symbol!=\"undefined\"&&r[Symbol.iterator]||r[\"@@iterator\"];if(t!=null){var i=[],a=!0,n=!1,o,s;try{for(t=t.call(r);!(a=(o=t.next()).done)&&(i.push(o.value),!(e&&i.length===e));a=!0);}catch(u){n=!0,s=u}finally{try{!a&&t.return!=null&&t.return()}finally{if(n)throw s}}return i}}function yt(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function Re(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function Le(r,e){if(r){if(typeof r==\"string\")return Re(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t===\"Object\"&&r.constructor&&(t=r.constructor.name),t===\"Map\"||t===\"Set\")return Array.from(t);if(t===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Re(r,e)}}function H(r,e){return vt(r)||ht(r,e)||Le(r,e)||yt()}var Te=G(Q());var ze=G(Q());var bt=G(Q()),sa={now:function(){var r=bt.default.performance,e=r&&r.timing,t=e&&e.navigationStart,i=typeof t==\"number\"&&typeof r.now==\"function\"?t+r.now():Date.now();return Math.round(i)}},O=sa;var re=function(){var e,t,i;if(typeof((e=ze.default.crypto)===null||e===void 0?void 0:e.getRandomValues)==\"function\"){i=new Uint8Array(32),ze.default.crypto.getRandomValues(i);for(var a=0;a<32;a++)i[a]=i[a]%16}else{i=[];for(var n=0;n<32;n++)i[n]=Math.random()*16|0}var o=0;t=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(p){var y=p===\"x\"?i[o]:i[o]&3|8;return o++,y.toString(16)});var s=O.now(),u=s==null?void 0:s.toString(16).substring(3);return u?t.substring(0,28)+u:t},Ie=function(){return(\"000000\"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)};var J=function(e){if(e&&typeof e.nodeName!=\"undefined\")return e.muxId||(e.muxId=Ie()),e.muxId;var t;try{t=document.querySelector(e)}catch(i){}return t&&!t.muxId&&(t.muxId=e),(t==null?void 0:t.muxId)||e},de=function(e){var t;e&&typeof e.nodeName!=\"undefined\"?(t=e,e=J(t)):t=document.querySelector(e);var i=t&&t.nodeName?t.nodeName.toLowerCase():\"\";return[t,e,i]};function wt(r){if(Array.isArray(r))return Re(r)}function Tt(r){if(typeof Symbol!=\"undefined\"&&r[Symbol.iterator]!=null||r[\"@@iterator\"]!=null)return Array.from(r)}function Et(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function W(r){return wt(r)||Tt(r)||Le(r)||Et()}var X={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},kt=function(r){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,W(s)),p=(i=console.info).bind.apply(i,W(s)),y=(a=console.debug).bind.apply(a,W(s)),x=(n=console.warn).bind.apply(n,W(s)),D=(o=console.error).bind.apply(o,W(s)),f=e;return{trace:function(){for(var v=arguments.length,w=new Array(v),h=0;h<v;h++)w[h]=arguments[h];if(!(f>X.TRACE))return u.apply(void 0,W(w))},debug:function(){for(var v=arguments.length,w=new Array(v),h=0;h<v;h++)w[h]=arguments[h];if(!(f>X.DEBUG))return y.apply(void 0,W(w))},info:function(){for(var v=arguments.length,w=new Array(v),h=0;h<v;h++)w[h]=arguments[h];if(!(f>X.INFO))return p.apply(void 0,W(w))},warn:function(){for(var v=arguments.length,w=new Array(v),h=0;h<v;h++)w[h]=arguments[h];if(!(f>X.WARN))return x.apply(void 0,W(w))},error:function(){for(var v=arguments.length,w=new Array(v),h=0;h<v;h++)w[h]=arguments[h];if(!(f>X.ERROR))return D.apply(void 0,W(w))},get level(){return f},set level(_){_!==this.level&&(f=_!=null?_:e)}}};var q=kt(\"[mux]\");var Ne=G(Q());function fe(){var r=Ne.default.doNotTrack||Ne.default.navigator&&Ne.default.navigator.doNotTrack;return r===\"1\"}function b(r){if(r===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return r}ae();function k(r,e){if(!U(r,e))throw new TypeError(\"Cannot call a class as a function\")}function xt(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function N(r,e,t){return e&&xt(r.prototype,e),t&&xt(r,t),r}function l(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $(r){return $=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},$(r)}function Rt(r,e){for(;!Object.prototype.hasOwnProperty.call(r,e)&&(r=$(r),r!==null););return r}function Se(r,e,t){return typeof Reflect!=\"undefined\"&&Reflect.get?Se=Reflect.get:Se=function(a,n,o){var s=Rt(a,n);if(s){var u=Object.getOwnPropertyDescriptor(s,n);return u.get?u.get.call(o||a):u.value}},Se(r,e,t||r)}function Ce(r,e){return Ce=Object.setPrototypeOf||function(i,a){return i.__proto__=a,i},Ce(r,e)}function Dt(r,e){if(typeof e!=\"function\"&&e!==null)throw new TypeError(\"Super expression must either be null or a function\");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&Ce(r,e)}function St(r,e){if(r==null)return{};var t={},i=Object.keys(r),a,n;for(n=0;n<i.length;n++)a=i[n],!(e.indexOf(a)>=0)&&(t[a]=r[a]);return t}function qt(r,e){if(r==null)return{};var t=St(r,e),i,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);for(a=0;a<n.length;a++)i=n[a],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(t[i]=r[i])}return t}function At(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(r){return!1}}Ke();function Ot(r,e){return e&&(Me(e)===\"object\"||typeof e==\"function\")?e:b(r)}function Pt(r){var e=At();return function(){var i=$(r),a;if(e){var n=$(this).constructor;a=Reflect.construct(i,arguments,n)}else a=i.apply(this,arguments);return Ot(this,a)}}var F=function(r){return ie(r)[0]};var ie=function(r){if(typeof r!=\"string\"||r===\"\")return[\"localhost\"];var e=/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/,t=r.match(e)||[],i=t[4],a;return i&&(a=(i.match(/[^\\.]+\\.[^\\.]+$/)||[])[0]),[i,a]};var He=G(Q()),ua={exists:function(){var r=He.default.performance,e=r&&r.timing;return e!==void 0},domContentLoadedEventEnd:function(){var r=He.default.performance,e=r&&r.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var r=He.default.performance,e=r&&r.timing;return e&&e.navigationStart}},pe=ua;function P(r,e,t){t=t===void 0?1:t,r[e]=r[e]||0,r[e]+=t}function Z(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},i=Object.keys(t);typeof Object.getOwnPropertySymbols==\"function\"&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),i.forEach(function(a){l(r,a,t[a])})}return r}function la(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,i)}return t}function me(r,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):la(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}var da=[\"x-cdn\",\"content-type\"],Lt=[\"x-request-id\",\"cf-ray\",\"x-amz-cf-id\",\"x-akamai-request-id\"],ca=da.concat(Lt);function ve(r){r=r||\"\";var e={},t=r.trim().split(/[\\r\\n]+/);return t.forEach(function(i){if(i){var a=i.split(\": \"),n=a.shift();n&&(ca.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf(\"x-litix-\")===0)&&(e[n]=a.join(\": \"))}}),e}function ce(r){if(r){var e=Lt.find(function(t){return r[t]!==void 0});return e?r[e]:void 0}}var _a=function(r){var e={};for(var t in r){var i=r[t],a=i[\"DATA-ID\"].search(\"io.litix.data.\");if(a!==-1){var n=i[\"DATA-ID\"].replace(\"io.litix.data.\",\"\");e[n]=i.VALUE}}return e},Be=_a;var Ue=function(r){if(!r)return{};var e=pe.navigationStart(),t=r.loading,i=t?t.start:r.trequest,a=t?t.first:r.tfirst,n=t?t.end:r.tload;return{bytesLoaded:r.total,requestStart:Math.round(e+i),responseStart:Math.round(e+a),responseEnd:Math.round(e+n)}},qe=function(r){if(!(!r||typeof r.getAllResponseHeaders!=\"function\"))return ve(r.getAllResponseHeaders())},It=function(r,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},a=arguments.length>4?arguments[4]:void 0,n=r.log,o=r.utils.secondsToMs,s=function(h){var m=parseInt(a.version),c;return m===1&&h.programDateTime!==null&&(c=h.programDateTime),m===0&&h.pdt!==null&&(c=h.pdt),c};if(!pe.exists()){n.warn(\"performance timing not supported. Not tracking HLS.js.\");return}var u=function(h,m){return r.emit(e,h,m)},p=function(h,m){var c=m.levels,d=m.audioTracks,g=m.url,T=m.stats,E=m.networkDetails,S=m.sessionData,L={},C={};c.forEach(function(V,le){L[le]={width:V.width,height:V.height,bitrate:V.bitrate,attrs:V.attrs}}),d.forEach(function(V,le){C[le]={name:V.name,language:V.lang,bitrate:V.bitrate}});var A=Ue(T),R=A.bytesLoaded,te=A.requestStart,Ee=A.responseStart,ke=A.responseEnd;u(\"requestcompleted\",me(Z({},Be(S)),{request_event_type:h,request_bytes_loaded:R,request_start:te,request_response_start:Ee,request_response_end:ke,request_type:\"manifest\",request_hostname:F(g),request_response_headers:qe(E),request_rendition_lists:{media:L,audio:C,video:{}}}))};t.on(a.Events.MANIFEST_LOADED,p);var y=function(h,m){var c=m.details,d=m.level,g=m.networkDetails,T=m.stats,E=Ue(T),S=E.bytesLoaded,L=E.requestStart,C=E.responseStart,A=E.responseEnd,R=c.fragments[c.fragments.length-1],te=s(R)+o(R.duration);u(\"requestcompleted\",{request_event_type:h,request_bytes_loaded:S,request_start:L,request_response_start:C,request_response_end:A,request_current_level:d,request_type:\"manifest\",request_hostname:F(c.url),request_response_headers:qe(g),video_holdback:c.holdBack&&o(c.holdBack),video_part_holdback:c.partHoldBack&&o(c.partHoldBack),video_part_target_duration:c.partTarget&&o(c.partTarget),video_target_duration:c.targetduration&&o(c.targetduration),video_source_is_live:c.live,player_manifest_newest_program_time:isNaN(te)?void 0:te})};t.on(a.Events.LEVEL_LOADED,y);var x=function(h,m){var c=m.details,d=m.networkDetails,g=m.stats,T=Ue(g),E=T.bytesLoaded,S=T.requestStart,L=T.responseStart,C=T.responseEnd;u(\"requestcompleted\",{request_event_type:h,request_bytes_loaded:E,request_start:S,request_response_start:L,request_response_end:C,request_type:\"manifest\",request_hostname:F(c.url),request_response_headers:qe(d)})};t.on(a.Events.AUDIO_TRACK_LOADED,x);var D=function(h,m){var c=m.stats,d=m.networkDetails,g=m.frag;c=c||g.stats;var T=Ue(c),E=T.bytesLoaded,S=T.requestStart,L=T.responseStart,C=T.responseEnd,A=d?qe(d):void 0,R={request_event_type:h,request_bytes_loaded:E,request_start:S,request_response_start:L,request_response_end:C,request_hostname:d?F(d.responseURL):void 0,request_id:A?ce(A):void 0,request_response_headers:A,request_media_duration:g.duration,request_url:d==null?void 0:d.responseURL};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)};t.on(a.Events.FRAG_LOADED,D);var f=function(h,m){var c=m.frag,d=c.start,g=s(c),T={currentFragmentPDT:g,currentFragmentStart:o(d)};u(\"fragmentchange\",T)};t.on(a.Events.FRAG_CHANGED,f);var _=function(h,m){var c=m.type,d=m.details,g=m.response,T=m.fatal,E=m.frag,S=m.networkDetails,L=(E==null?void 0:E.url)||m.url||\"\",C=S?qe(S):void 0;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\",{request_error:d,request_url:L,request_hostname:F(L),request_id:C?ce(C):void 0,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\",request_error_code:g==null?void 0:g.code,request_error_text:g==null?void 0:g.text}),T){var A,R=\"\".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\"):\"\");u(\"error\",{player_error_code:c,player_error_message:d,player_error_context:R})}};t.on(a.Events.ERROR,_);var v=function(h,m){var c=m.frag,d=c&&c._url||\"\";u(\"requestcanceled\",{request_event_type:h,request_url:d,request_type:\"media\",request_hostname:F(d)})};t.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED,v);var w=function(h,m){var c=m.level,d=t.levels[c];if(d&&d.attrs&&d.attrs.BANDWIDTH){var g=d.attrs.BANDWIDTH,T,E=parseFloat(d.attrs[\"FRAME-RATE\"]);isNaN(E)||(T=E),g?u(\"renditionchange\",{video_source_fps:T,video_source_bitrate:g,video_source_width:d.width,video_source_height:d.height,video_source_rendition_name:d.name,video_source_codec:d==null?void 0:d.videoCodec}):n.warn(\"missing BANDWIDTH from HLS manifest parsed by HLS.js\")}};t.on(a.Events.LEVEL_SWITCHED,w),t._stopMuxMonitor=function(){t.off(a.Events.MANIFEST_LOADED,p),t.off(a.Events.LEVEL_LOADED,y),t.off(a.Events.AUDIO_TRACK_LOADED,x),t.off(a.Events.FRAG_LOADED,D),t.off(a.Events.FRAG_CHANGED,f),t.off(a.Events.ERROR,_),t.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED,v),t.off(a.Events.LEVEL_SWITCHED,w),t.off(a.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(a.Events.DESTROYING,t._stopMuxMonitor)},Nt=function(r){r&&typeof r._stopMuxMonitor==\"function\"&&r._stopMuxMonitor()};var Ct=function(r,e){if(!r||!r.requestEndDate)return{};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,p=typeof e.getMetricsFor==\"function\"?e.getMetricsFor(r.mediaType).HttpList:e.getDashMetrics().getHttpRequests(r.mediaType),y;p.length>0&&(y=ve(p[p.length-1]._responseHeaders||\"\"));var x=y?ce(y):void 0;return{requestStart:n,requestResponseStart:o,requestResponseEnd:s,requestBytesLoaded:a,requestResponseHeaders:y,requestMediaDuration:u,requestHostname:t,requestUrl:i,requestId:x}},fa=function(r,e){if(typeof e.getCurrentRepresentationForType==\"function\"){var t=e.getCurrentRepresentationForType(r);return t?{currentLevel:t.absoluteIndex,renditionWidth:t.width||null,renditionHeight:t.height||null,renditionBitrate:t.bandwidth}:{}}var i=e.getQualityFor(r),a=e.getCurrentTrackFor(r).bitrateList;return a?{currentLevel:i,renditionWidth:a[i].width||null,renditionHeight:a[i].height||null,renditionBitrate:a[i].bandwidth}:{}},pa=function(r){var e;return(e=r.match(/.*codecs\\*?=\"(.*)\"/))===null||e===void 0?void 0:e[1]},ma=function(e){try{var t,i,a=(i=e.getVersion)===null||i===void 0||(t=i.call(e))===null||t===void 0?void 0:t.split(\".\").map(function(n){return parseInt(n)})[0];return a}catch(n){return!1}},Mt=function(r,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},a=r.log;if(!t||!t.on){a.warn(\"Invalid dash.js player reference. Monitoring blocked.\");return}var n=ma(t),o=function(c,d){return r.emit(e,c,d)},s=function(c){var d=c.type,g=c.data,T=(g||{}).url;o(\"requestcompleted\",{request_event_type:d,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:\"manifest\",request_hostname:F(T),request_url:T})};t.on(\"manifestLoaded\",s);var u={},p=function(c){if(typeof c.getRequests!=\"function\")return null;var d=c.getRequests({state:\"executed\"});return d.length===0?null:d[d.length-1]},y=function(c){var d=c.type,g=c.fragmentModel,T=c.chunk,E=p(g);x({type:d,request:E,chunk:T})},x=function(c){var d=c.type,g=c.chunk,T=c.request,E=(g||{}).mediaInfo,S=E||{},L=S.type,C=S.bitrateList;C=C||[];var A={};C.forEach(function(xe,K){A[K]={},A[K].width=xe.width,A[K].height=xe.height,A[K].bitrate=xe.bandwidth,A[K].attrs={}}),L===\"video\"?u.video=A:L===\"audio\"?u.audio=A:u.media=A;var R=Ct(T,t),te=R.requestStart,Ee=R.requestResponseStart,ke=R.requestResponseEnd,V=R.requestResponseHeaders,le=R.requestMediaDuration,Ge=R.requestHostname,Je=R.requestUrl,Qe=R.requestId;o(\"requestcompleted\",{request_event_type:d,request_start:te,request_response_start:Ee,request_response_end:ke,request_bytes_loaded:-1,request_type:L+\"_init\",request_response_headers:V,request_hostname:Ge,request_id:Qe,request_url:Je,request_media_duration:le,request_rendition_lists:u})};n>=4?t.on(\"initFragmentLoaded\",x):t.on(\"initFragmentLoaded\",y);var D=function(c){var d=c.type,g=c.fragmentModel,T=c.chunk,E=p(g);f({type:d,request:E,chunk:T})},f=function(c){var d=c.type,g=c.chunk,T=c.request,E=g||{},S=E.mediaInfo,L=E.start,C=S||{},A=C.type,R=Ct(T,t),te=R.requestStart,Ee=R.requestResponseStart,ke=R.requestResponseEnd,V=R.requestBytesLoaded,le=R.requestResponseHeaders,Ge=R.requestMediaDuration,Je=R.requestHostname,Qe=R.requestUrl,xe=R.requestId,K=fa(A,t),Xr=K.currentLevel,$r=K.renditionWidth,Zr=K.renditionHeight,ea=K.renditionBitrate;o(\"requestcompleted\",{request_event_type:d,request_start:te,request_response_start:Ee,request_response_end:ke,request_bytes_loaded:V,request_type:A,request_response_headers:le,request_hostname:Je,request_id:xe,request_url:Qe,request_media_start_time:L,request_media_duration:Ge,request_current_level:Xr,request_labeled_bitrate:ea,request_video_width:$r,request_video_height:Zr})};n>=4?t.on(\"mediaFragmentLoaded\",f):t.on(\"mediaFragmentLoaded\",D);var _={video:void 0,audio:void 0,totalBitrate:void 0},v=function(){if(_.video&&typeof _.video.bitrate==\"number\"){if(!(_.video.width&&_.video.height)){a.warn(\"have bitrate info for video but missing width/height\");return}var c=_.video.bitrate;if(_.audio&&typeof _.audio.bitrate==\"number\"&&(c+=_.audio.bitrate),c!==_.totalBitrate)return _.totalBitrate=c,{video_source_bitrate:c,video_source_height:_.video.height,video_source_width:_.video.width,video_source_codec:pa(_.video.codec)}}},w=function(c,d,g){var T=c.mediaType;if(T===\"audio\"||T===\"video\"){var E;if(typeof t.getRepresentationsByType==\"function\")if(c.newRepresentation)E={bitrate:c.newRepresentation.bandwidth,width:c.newRepresentation.width,height:c.newRepresentation.height,qualityIndex:c.newRepresentation.absoluteIndex};else{var S=t.getRepresentationsByType(T);if(S&&typeof c.newQuality==\"number\"){var L=S.find(function(A){return A.absoluteIndex===c.newQuality||A.index===c.newQuality});L&&(E={bitrate:L.bandwidth,width:L.width,height:L.height,qualityIndex:c.newQuality})}}else{if(typeof c.newQuality!=\"number\"){a.warn(\"missing evt.newQuality in qualityChangeRendered event\",c);return}E=t.getBitrateInfoListFor(T).find(function(A){var R=A.qualityIndex;return R===c.newQuality})}if(!(E&&typeof E.bitrate==\"number\")){a.warn(\"missing bitrate info for \".concat(T));return}_[T]=me(Z({},E),{codec:t.getCurrentTrackFor(T).codec});var C=v();C&&o(\"renditionchange\",C)}};t.on(\"qualityChangeRendered\",w);var h=function(c){var d=c.request,g=c.mediaType;d=d||{},o(\"requestcanceled\",{request_event_type:d.type+\"_\"+d.action,request_url:d.url,request_type:g,request_hostname:F(d.url)})};t.on(\"fragmentLoadingAbandoned\",h);var m=function(c){var d=c.error,g,T,E=(d==null||(g=d.data)===null||g===void 0?void 0:g.request)||{},S=(d==null||(T=d.data)===null||T===void 0?void 0:T.response)||{};(d==null?void 0:d.code)===27&&o(\"requestfailed\",{request_error:E.type+\"_\"+E.action,request_url:E.url,request_hostname:F(E.url),request_type:E.mediaType,request_error_code:S.status,request_error_text:S.statusText});var L=\"\".concat(E!=null&&E.url?\"url: \".concat(E.url,\"\\n\"):\"\")+\"\".concat(S!=null&&S.status||S!=null&&S.statusText?\"response: \".concat(S==null?void 0:S.status,\", \").concat(S==null?void 0:S.statusText,\"\\n\"):\"\");o(\"error\",{player_error_code:d==null?void 0:d.code,player_error_message:d==null?void 0:d.message,player_error_context:L})};t.on(\"error\",m),t._stopMuxMonitor=function(){t.off(\"manifestLoaded\",s),t.off(\"initFragmentLoaded\",x),t.off(\"mediaFragmentLoaded\",f),t.off(\"qualityChangeRendered\",w),t.off(\"error\",m),t.off(\"fragmentLoadingAbandoned\",h),delete t._stopMuxMonitor}},Ht=function(r){r&&typeof r._stopMuxMonitor==\"function\"&&r._stopMuxMonitor()};var Bt=0,va=function(){\"use strict\";function r(){k(this,r),l(this,\"_listeners\",void 0)}return N(r,[{key:\"on\",value:function(t,i,a){return i._eventEmitterGuid=i._eventEmitterGuid||++Bt,this._listeners=this._listeners||{},this._listeners[t]=this._listeners[t]||[],a&&(i=i.bind(a)),this._listeners[t].push(i),i}},{key:\"off\",value:function(t,i){var a=this._listeners&&this._listeners[t];a&&a.forEach(function(n,o){n._eventEmitterGuid===i._eventEmitterGuid&&a.splice(o,1)})}},{key:\"one\",value:function(t,i,a){var n=this;i._eventEmitterGuid=i._eventEmitterGuid||++Bt;var o=function(){n.off(t,o),i.apply(a||this,arguments)};o._eventEmitterGuid=i._eventEmitterGuid,this.on(t,o)}},{key:\"emit\",value:function(t,i){var a=this;if(this._listeners){i=i||{};var n=this._listeners[\"before\"+t]||[],o=this._listeners[\"before*\"]||[],s=this._listeners[t]||[],u=this._listeners[\"after\"+t]||[],p=function(y,x){y=y.slice(),y.forEach(function(D){D.call(a,{type:t},x)})};p(n,i),p(o,i),p(s,i),p(u,i)}}}]),r}(),Ut=va;var Fe=G(Q()),ha=function(){\"use strict\";function r(e){var t=this;k(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(){t._playheadShouldBeProgressing=!0}),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(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on(\"timeupdate\",function(){t._playbackHeartbeatInterval!==null&&e.emit(\"playbackheartbeat\")}),e.on(\"devicesleep\",function(i,a){t._playbackHeartbeatInterval!==null&&(Fe.default.clearInterval(t._playbackHeartbeatInterval),e.emit(\"playbackheartbeatend\",{viewer_time:a.viewer_time}),t._playbackHeartbeatInterval=null)})}return N(r,[{key:\"_startPlaybackHeartbeatInterval\",value:function(){var t=this;this._playbackHeartbeatInterval===null&&(this.pm.emit(\"playbackheartbeat\"),this._playbackHeartbeatInterval=Fe.default.setInterval(function(){t.pm.emit(\"playbackheartbeat\")},this.pm.playbackHeartbeatTime))}},{key:\"_stopPlaybackHeartbeatInterval\",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(Fe.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit(\"playbackheartbeatend\"),this._playbackHeartbeatInterval=null)}}]),r}(),Ft=ha;var ya=function r(e){\"use strict\";var t=this;k(this,r),l(this,\"viewErrored\",void 0),e.on(\"viewinit\",function(){t.viewErrored=!1}),e.on(\"error\",function(i,a){try{var n=e.errorTranslator({player_error_code:a.player_error_code,player_error_message:a.player_error_message,player_error_context:a.player_error_context,player_error_severity:a.player_error_severity,player_error_business_exception:a.player_error_business_exception});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)}catch(o){e.mux.log.warn(\"Exception in error translator callback.\",o),t.viewErrored=!0}}),e.on(\"aftererror\",function(){var i,a,n,o,s;(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})},Wt=ya;var ga=function(){\"use strict\";function r(e){k(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))}return N(r,[{key:\"_updateWatchTime\",value:function(t,i){var a=i.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=a),P(this.pm.data,\"view_watch_time\",a-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=a}},{key:\"_clearWatchTimeState\",value:function(t,i){this._updateWatchTime(t,i),this._watchTimeTrackerLastCheckedTime=null}}]),r}(),jt=ga;var ba=function(){\"use strict\";function r(e){var t=this;k(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=O.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null,e.on(\"viewinit\",function(){t.pm.data.view_playing_time_ms_cumulative=0});var i=this._startPlaybackTimeTracking.bind(this);e.on(\"playing\",i),e.on(\"adplaying\",i);var a=function(){t.pm.data.player_is_paused||i()};e.on(\"seeked\",a),e.on(\"rebufferend\",a);var n=this._stopPlaybackTimeTracking.bind(this);e.on(\"playbackheartbeatend\",n),e.on(\"seeking\",n),e.on(\"rebufferstart\",n),e.on(\"adplaying\",function(){t._isAdPlaying=!0}),e.on(\"adended\",function(){t._isAdPlaying=!1}),e.on(\"adpause\",function(){t._isAdPlaying=!1}),e.on(\"adbreakstart\",function(){t._isAdPlaying=!1}),e.on(\"adbreakend\",function(){t._isAdPlaying=!1}),e.on(\"adplay\",function(){t._isAdPlaying=!1}),e.on(\"viewinit\",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=O.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return N(r,[{key:\"_startPlaybackTimeTracking\",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this._lastTime=O.now(),this.pm.on(\"playbackheartbeat\",this._callbackUpdatePlaybackTime))}},{key:\"_stopPlaybackTimeTracking\",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off(\"playbackheartbeat\",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:\"_updatePlaybackTime\",value:function(){var t=this.pm.data.player_playhead_time||0,i=O.now(),a=i-this._lastTime,n=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&t>this._playbackTimeTrackerLastPlayheadPosition?n=t-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(n=a),n>0&&n<=1e3&&P(this.pm.data,\"view_content_playback_time\",n),this._callbackUpdatePlaybackTime!==null&&a>0&&a<=1e3&&(this._isAdPlaying&&P(this.pm.data,\"ad_playing_time_ms_cumulative\",a),P(this.pm.data,\"view_playing_time_ms_cumulative\",a)),this._playbackTimeTrackerLastPlayheadPosition=t,this._lastTime=i}}]),r}(),Vt=ba;var wa=function(){\"use strict\";function r(e){k(this,r),l(this,\"pm\",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on(\"playbackheartbeat\",t),e.on(\"playbackheartbeatend\",t),e.on(\"timeupdate\",t),e.on(\"destroy\",function(){e.off(\"timeupdate\",t)})}return N(r,[{key:\"_updateMaxPlayheadPosition\",value:function(){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)}},{key:\"_updatePlayheadTime\",value:function(t,i){var a=this,n=function(){a.pm.currentFragmentPDT&&a.pm.currentFragmentStart&&(a.pm.data.player_program_time=a.pm.currentFragmentPDT+a.pm.data.player_playhead_time-a.pm.currentFragmentStart)};if(i&&i.player_playhead_time)this.pm.data.player_playhead_time=i.player_playhead_time,n(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var o=this.pm.getPlayheadTime();typeof o!=\"undefined\"&&(this.pm.data.player_playhead_time=o,n(),this._updateMaxPlayheadPosition())}}}]),r}(),Gt=wa;var Jt=5*60*1e3,Ta=function r(e){\"use strict\";if(k(this,r),!e.disableRebufferTracking){var t,i=function(n,o){a(o),t=void 0},a=function(n){if(t){var o=n.viewer_time-t;P(e.data,\"view_rebuffer_duration\",o),t=n.viewer_time,e.data.view_rebuffer_duration>Jt&&(e.emit(\"viewend\"),e.send(\"viewend\"),e.mux.log.warn(\"Ending view after rebuffering for longer than \".concat(Jt,\"ms, future events will be ignored unless a programchange or videochange occurs.\")))}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)};e.on(\"playbackheartbeat\",function(n,o){return a(o)}),e.on(\"rebufferstart\",function(n,o){t||(P(e.data,\"view_rebuffer_count\",1),t=o.viewer_time,e.one(\"rebufferend\",i))}),e.on(\"viewinit\",function(){t=void 0,e.off(\"rebufferend\",i)})}},Qt=Ta;var Ea=function(){\"use strict\";function r(e){var t=this;k(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(){t._cleanupRebufferTracker(null,{viewer_time:O.now()})}))}return N(r,[{key:\"_checkIfRebuffering\",value:function(t,i){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(t,i);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(i.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(t,i,!0);return}var a=i.viewer_time-this._lastPlayheadTimeUpdatedTime;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}},{key:\"_clearRebufferTrackerState\",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:\"_prepareRebufferTrackerState\",value:function(t){this._lastCheckedTime=t,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=t}},{key:\"_cleanupRebufferTracker\",value:function(t,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit(\"rebufferend\",{viewer_time:i.viewer_time});else{if(this._lastCheckedTime===null)return;var n=this.pm.data.player_playhead_time-this._lastPlayheadTime,o=i.viewer_time-this._lastPlayheadTimeUpdatedTime;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}))}a?this._prepareRebufferTrackerState(i.viewer_time):this._clearRebufferTrackerState()}}]),r}(),zt=Ea;var ka=function(){\"use strict\";function r(e){var t=this;k(this,r),l(this,\"pm\",void 0),this.pm=e,e.on(\"viewinit\",function(){var i=e.data,a=i.view_id;if(!i.view_program_changed){var n=function(o,s){var u=s.viewer_time;o.type===\"playing\"&&typeof e.data.view_time_to_first_frame==\"undefined\"?t.calculateTimeToFirstFrame(u||O.now(),a):o.type===\"adplaying\"&&(typeof e.data.view_time_to_first_frame==\"undefined\"||t._inPrerollPosition())&&t.calculateTimeToFirstFrame(u||O.now(),a)};e.one(\"playing\",n),e.one(\"adplaying\",n),e.one(\"viewend\",function(){e.off(\"playing\",n),e.off(\"adplaying\",n)})}})}return N(r,[{key:\"_inPrerollPosition\",value:function(){return typeof this.pm.data.view_content_playback_time==\"undefined\"||this.pm.data.view_content_playback_time<=1e3}},{key:\"calculateTimeToFirstFrame\",value:function(t,i){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))}}]),r}(),Kt=ka;var xa=function r(e){\"use strict\";var t=this;k(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(){t._lastPlayheadPosition=-1});var i=[\"pause\",\"rebufferstart\",\"seeking\",\"error\",\"adbreakstart\",\"hb\",\"renditionchange\",\"orientationchange\",\"viewend\",\"playbackmodechange\"],a=[\"playing\",\"hb\",\"renditionchange\",\"orientationchange\",\"playbackmodechange\"];i.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var o=e.data.player_playhead_time-t._lastPlayheadPosition;if(o<0){t._lastPlayheadPosition=-1;return}var s=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),u=Math.max(0,s-1),p=Math.max(0,1-s);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,p),P(e.data,\"view_total_content_playback_time\",o),P(e.data,\"view_total_upscaling\",u*o),P(e.data,\"view_total_downscaling\",p*o)}t._lastPlayheadPosition=-1})}),a.forEach(function(n){e.on(n,function(){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})})},Yt=xa;var Ra=2e3,Da=function r(e){\"use strict\";var t=this;k(this,r),l(this,\"isSeeking\",void 0),this.isSeeking=!1;var i=-1,a=function(){var n=O.now(),o=(e.data.viewer_time||n)-(i||n);P(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};e.on(\"seeking\",function(n,o){if(Object.assign(e.data,o),t.isSeeking&&o.viewer_time-i<=Ra){i=o.viewer_time;return}t.isSeeking&&a(),t.isSeeking=!0,i=o.viewer_time,P(e.data,\"view_seek_count\",1),e.send(\"seeking\")}),e.on(\"seeked\",function(){a()}),e.on(\"viewend\",function(){t.isSeeking&&(a(),e.send(\"seeked\")),t.isSeeking=!1,i=-1})},Xt=Da;var $t=function(e,t){e.push(t),e.sort(function(i,a){return i.viewer_time-a.viewer_time})},Sa=[\"adbreakstart\",\"adrequest\",\"adresponse\",\"adplay\",\"adplaying\",\"adpause\",\"adended\",\"adbreakend\",\"aderror\",\"adclicked\",\"adskipped\"],qa=function(){\"use strict\";function r(e){var t=this;k(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(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),Sa.forEach(function(a){return e.on(a,t._updateAdData.bind(t))});var i=function(){t.isAdBreak=!1};e.on(\"adbreakstart\",function(){t.isAdBreak=!0}),e.on(\"play\",i),e.on(\"playing\",i),e.on(\"viewend\",i),e.on(\"adrequest\",function(a,n){n=Object.assign({ad_request_id:\"generatedAdRequestId\"+t._currentAdRequestNumber++},n),$t(t._adRequests,n),P(e.data,\"view_ad_request_count\"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||P(e.data,\"view_preroll_request_count\"))}),e.on(\"adresponse\",function(a,n){n=Object.assign({ad_request_id:\"generatedAdRequestId\"+t._currentAdResponseNumber++},n),$t(t._adResponses,n);var o=t.findAdRequest(n.ad_request_id);o&&P(e.data,\"view_ad_request_time\",Math.max(0,n.viewer_time-o.viewer_time))}),e.on(\"adplay\",function(a,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,P(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)}),e.on(\"adplaying\",function(a,n){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)}),e.on(\"adclicked\",function(a,n){t._wouldBeNewAdPlay||P(e.data,\"view_ad_clicked_count\")}),e.on(\"adskipped\",function(a,n){t._wouldBeNewAdPlay||P(e.data,\"view_ad_skipped_count\")}),e.on(\"adended\",function(){t._wouldBeNewAdPlay=!0}),e.on(\"aderror\",function(){t._wouldBeNewAdPlay=!0})}return N(r,[{key:\"inPrerollPosition\",value:function(){return typeof this.pm.data.view_content_playback_time==\"undefined\"||this.pm.data.view_content_playback_time<=1e3}},{key:\"findAdRequest\",value:function(t){for(var i=0;i<this._adRequests.length;i++)if(this._adRequests[i].ad_request_id===t)return this._adRequests[i]}},{key:\"_updateAdData\",value:function(t,i){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&i.ad_tag_url){var a=H(ie(i.ad_tag_url),2),n=a[0],o=a[1];this.pm.data.view_preroll_ad_tag_domain=o,this.pm.data.view_preroll_ad_tag_hostname=n}if(!this.pm.data.view_preroll_ad_asset_hostname&&i.ad_asset_url){var s=H(ie(i.ad_asset_url),2),u=s[0],p=s[1];this.pm.data.view_preroll_ad_asset_domain=p,this.pm.data.view_preroll_ad_asset_hostname=u}this.pm.data.ad_type=\"preroll\"}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)}}]),r}(),Zt=qa;var Aa=function r(e){\"use strict\";var t=this;k(this,r),l(this,\"lastWallClockTime\",void 0);var i=function(){t.lastWallClockTime=O.now(),e.on(\"before*\",a)},a=function(n){var o=O.now(),s=t.lastWallClockTime;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\"))};e.one(\"playbackheartbeat\",i),e.on(\"playbackheartbeatend\",function(){e.off(\"before*\",a),e.one(\"playbackheartbeat\",i)})},er=Aa;var je=G(Q());var Ye=function(r){return r()}(function(){var r=function(){for(var i=0,a={};i<arguments.length;i++){var n=arguments[i];for(var o in n)a[o]=n[o]}return a};function e(t){function i(a,n,o){var s;if(typeof document!=\"undefined\"){if(arguments.length>1){if(o=r({path:\"/\"},i.defaults,o),typeof o.expires==\"number\"){var u=new Date;u.setMilliseconds(u.getMilliseconds()+o.expires*864e5),o.expires=u}try{s=JSON.stringify(n),/^[\\{\\[]/.test(s)&&(n=s)}catch(v){}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=[a,\"=\",n,o.expires?\"; expires=\"+o.expires.toUTCString():\"\",o.path?\"; path=\"+o.path:\"\",o.domain?\"; domain=\"+o.domain:\"\",o.secure?\"; secure\":\"\"].join(\"\")}a||(s={});for(var p=document.cookie?document.cookie.split(\"; \"):[],y=/(%[0-9A-Z]{2})+/g,x=0;x<p.length;x++){var D=p[x].split(\"=\"),f=D.slice(1).join(\"=\");f.charAt(0)==='\"'&&(f=f.slice(1,-1));try{var _=D[0].replace(y,decodeURIComponent);if(f=t.read?t.read(f,_):t(f,_)||f.replace(y,decodeURIComponent),this.json)try{f=JSON.parse(f)}catch(v){}if(a===_){s=f;break}a||(s[_]=f)}catch(v){}}return s}}return i.set=i,i.get=function(a){return i.call(i,a)},i.getJSON=function(){return i.apply({json:!0},[].slice.call(arguments))},i.defaults={},i.remove=function(a,n){i(a,\"\",r(n,{expires:-1}))},i.withConverter=e,i}return e(function(){})});var tr=\"muxData\",Oa=function(r){return Object.entries(r).map(function(e){var t=H(e,2),i=t[0],a=t[1];return\"\".concat(i,\"=\").concat(a)}).join(\"&\")},Pa=function(r){return r.split(\"&\").reduce(function(e,t){var i=H(t.split(\"=\"),2),a=i[0],n=i[1],o=+n,s=n&&o==n?o:n;return e[a]=s,e},{})},rr=function(){var e;try{e=Pa(Ye.get(tr)||\"\")}catch(t){e={}}return e},ar=function(e){try{Ye.set(tr,Oa(e),{expires:365})}catch(t){}},ir=function(){var e=rr();return e.mux_viewer_id=e.mux_viewer_id||re(),e.msn=e.msn||Math.random(),ar(e),{mux_viewer_id:e.mux_viewer_id,mux_sample_number:e.msn}},nr=function(){var e=rr(),t=O.now();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=re(),e.sst=t),e.sex=t+25*60*1e3,ar(e),{session_id:e.sid,session_start:e.sst,session_expires:e.sex}};function Xe(r,e){var t=e.beaconCollectionDomain,i=e.beaconDomain;if(t){var a=/localhost(?::\\d+)?$/.test(t)?\"http://\":\"https://\";return a+t}r=r||\"inferred\";var n=i||\"litix.io\";return r.match(/^[a-z0-9]+$/)?\"https://\"+r+\".\"+n:\"https://img.litix.io/a.gif\"}var La={a:\"env\",b:\"beacon\",c:\"custom\",d:\"ad\",e:\"event\",f:\"experiment\",i:\"internal\",m:\"mux\",n:\"response\",p:\"player\",q:\"request\",r:\"retry\",s:\"session\",t:\"timestamp\",u:\"viewer\",v:\"video\",w:\"page\",x:\"view\",y:\"sub\"},Ia=sr(La),Na={ad:\"ad\",af:\"affiliate\",ag:\"aggregate\",ap:\"api\",al:\"application\",ao:\"audio\",ar:\"architecture\",as:\"asset\",au:\"autoplay\",av:\"average\",bi:\"bitrate\",bn:\"brand\",br:\"break\",bw:\"browser\",by:\"bytes\",bz:\"business\",ca:\"cached\",cb:\"cancel\",cc:\"codec\",cd:\"code\",cg:\"category\",ch:\"changed\",ci:\"client\",ck:\"clicked\",cl:\"canceled\",cm:\"cmcd\",cn:\"config\",co:\"count\",ce:\"counter\",cp:\"complete\",cq:\"creator\",cr:\"creative\",cs:\"captions\",ct:\"content\",cu:\"current\",cv:\"cumulative\",cx:\"connection\",cz:\"context\",da:\"data\",dg:\"downscaling\",dm:\"domain\",dn:\"cdn\",do:\"downscale\",dr:\"drm\",dp:\"dropped\",du:\"duration\",dv:\"device\",dy:\"dynamic\",eb:\"enabled\",ec:\"encoding\",ed:\"edge\",en:\"end\",eg:\"engine\",em:\"embed\",er:\"error\",ep:\"experiments\",es:\"errorcode\",et:\"errortext\",ee:\"event\",ev:\"events\",ex:\"expires\",ez:\"exception\",fa:\"failed\",fi:\"first\",fm:\"family\",ft:\"format\",fp:\"fps\",fq:\"frequency\",fr:\"frame\",fs:\"fullscreen\",ha:\"has\",hb:\"holdback\",he:\"headers\",ho:\"host\",hn:\"hostname\",ht:\"height\",id:\"id\",ii:\"init\",in:\"instance\",ip:\"ip\",is:\"is\",ke:\"key\",la:\"language\",lb:\"labeled\",le:\"level\",li:\"live\",ld:\"loaded\",lo:\"load\",lw:\"low\",ls:\"lists\",lt:\"latency\",ma:\"max\",md:\"media\",me:\"message\",mf:\"manifest\",mi:\"mime\",ml:\"midroll\",mm:\"min\",mn:\"manufacturer\",mo:\"model\",mp:\"mode\",ms:\"ms\",mx:\"mux\",ne:\"newest\",nm:\"name\",no:\"number\",on:\"on\",or:\"origin\",os:\"os\",pa:\"paused\",pb:\"playback\",pd:\"producer\",pe:\"percentage\",pf:\"played\",pg:\"program\",ph:\"playhead\",pi:\"plugin\",pl:\"preroll\",pn:\"playing\",po:\"poster\",pp:\"pip\",pr:\"preload\",ps:\"position\",pt:\"part\",pv:\"previous\",py:\"property\",px:\"pop\",pz:\"plan\",ra:\"rate\",rd:\"requested\",re:\"rebuffer\",rf:\"rendition\",rg:\"range\",rm:\"remote\",ro:\"ratio\",rp:\"response\",rq:\"request\",rs:\"requests\",sa:\"sample\",sd:\"skipped\",se:\"session\",sh:\"shift\",sk:\"seek\",sm:\"stream\",so:\"source\",sq:\"sequence\",sr:\"series\",ss:\"status\",st:\"start\",su:\"startup\",sv:\"server\",sw:\"software\",sy:\"severity\",ta:\"tag\",tc:\"tech\",te:\"text\",tg:\"target\",th:\"throughput\",ti:\"time\",tl:\"total\",to:\"to\",tt:\"title\",ty:\"type\",ug:\"upscaling\",un:\"universal\",up:\"upscale\",ur:\"url\",us:\"user\",va:\"variant\",vd:\"viewed\",vi:\"video\",ve:\"version\",vw:\"view\",vr:\"viewer\",wd:\"width\",wa:\"watch\",wt:\"waiting\"},or=sr(Na);function sr(r){var e={};for(var t in r)r.hasOwnProperty(t)&&(e[r[t]]=t);return e}function he(r){var e={},t={};return Object.keys(r).forEach(function(i){var a=!1;if(r.hasOwnProperty(i)&&r[i]!==void 0){var n=i.split(\"_\"),o=n[0],s=Ia[o];s||(q.info(\"Data key word `\"+n[0]+\"` not expected in \"+i),s=o+\"_\"),n.splice(1).forEach(function(u){u===\"url\"&&(a=!0),or[u]?s+=or[u]:Number.isInteger(Number(u))?s+=u:(q.info(\"Data key word `\"+u+\"` not expected in \"+i),s+=\"_\"+u+\"_\")}),a?t[s]=r[i]:e[s]=r[i]}}),Object.assign(e,t)}var oe=G(Q()),Lr=G(st());var si={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},ui=56*1024,li=[\"hb\",\"requestcompleted\",\"requestfailed\",\"requestcanceled\"],di=\"https://img.litix.io\",ee=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=e||di,this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},si,t)};ee.prototype.queueEvent=function(r,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||r===\"eventrateexceeded\"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};ee.prototype.flushEvents=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(r&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};ee.prototype.destroy=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,r?this._clearBeaconQueue():this.flushEvents(),oe.default.clearTimeout(this._sendTimeout)};ee.prototype._clearBeaconQueue=function(){var r=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(r);r>0&&Object.assign(e[e.length-1],he({mux_view_message:\"event queue truncated\"}));var t=this._createPayload(e);Ir(this._beaconUrl,t,!0,function(){})};ee.prototype._sendBeaconQueue=function(){var r=this;if(this._postInFlight){this._resendAfterPost=!0;return}var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),i=O.now();Ir(this._beaconUrl,t,!1,function(a,n){n?(r._eventQueue=e.concat(r._eventQueue),r._failureCount+=1,q.info(\"Error sending beacon: \"+n)):r._failureCount=0,r._roundTripTime=O.now()-i,r._postInFlight=!1,r._resendAfterPost&&(r._resendAfterPost=!1,r._eventQueue.length>0&&r._sendBeaconQueue())})};ee.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var r=Math.pow(2,this._failureCount-1);return r=r*Math.random(),(1+r)*this._options.baseTimeBetweenBeacons};ee.prototype._startBeaconSending=function(){var r=this;oe.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=oe.default.setTimeout(function(){r._eventQueue.length&&r._sendBeaconQueue(),r._startBeaconSending()},this._getNextBeaconTime()))};ee.prototype._createPayload=function(r){var e=this,t={transmission_timestamp:Math.round(O.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var i,a,n,o=function(){i=JSON.stringify({metadata:t,events:a||r}),n=i.length/1024},s=function(){return n<=e._options.maxPayloadKBSize};return o(),s()||(q.info(\"Payload size is too big (\"+n+\" kb). Removing unnecessary events.\"),a=r.filter(function(u){return li.indexOf(u.e)===-1}),o()),s()||(q.info(\"Payload size still too big (\"+n+\" kb). Cropping fields..\"),a.forEach(function(u){for(var p in u){var y=u[p],x=50*1024;typeof y==\"string\"&&y.length>x&&(u[p]=y.substring(0,x))}}),o()),i};var ci=typeof Lr.default.exitPictureInPicture==\"function\"?function(r){return r.length<=ui}:function(r){return!1},Ir=function(r,e,t,i){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(r,e)){i();return}if(oe.default.fetch){oe.default.fetch(r,{method:\"POST\",body:e,headers:{\"Content-Type\":\"text/plain\"},keepalive:ci(e)}).then(function(n){return i(null,n.ok?null:\"Error\")}).catch(function(n){return i(null,n)});return}if(oe.default.XMLHttpRequest){var a=new oe.default.XMLHttpRequest;a.onreadystatechange=function(){if(a.readyState===4)return i(null,a.status!==200?\"error\":void 0)},a.open(\"POST\",r),a.setRequestHeader(\"Content-Type\",\"text/plain\"),a.send(e);return}i()},Nr=ee;var _i=[\"env_key\",\"view_id\",\"view_sequence_number\",\"player_sequence_number\",\"beacon_domain\",\"player_playhead_time\",\"viewer_time\",\"mux_api_version\",\"event\",\"video_id\",\"player_instance_id\",\"player_error_code\",\"player_error_message\",\"player_error_context\",\"player_error_severity\",\"player_error_business_exception\",\"view_playing_time_ms_cumulative\",\"ad_playing_time_ms_cumulative\"],fi=[\"adplay\",\"adplaying\",\"adpause\",\"adfirstquartile\",\"admidpoint\",\"adthirdquartile\",\"adended\",\"adresponse\",\"adrequest\"],pi=[\"ad_id\",\"ad_creative_id\",\"ad_universal_id\"],mi=[\"viewstart\",\"error\",\"ended\",\"viewend\"],vi=10*60*1e3,Cr=function(){\"use strict\";function r(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};k(this,r);var a,n,o,s,u,p,y,x,D,f,_,v;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 Nr(Xe(this.envKey,this.options));var w;this.sampleRate=(w=this.options.sampleRate)!==null&&w!==void 0?w:1;var h;this.disableCookies=(h=this.options.disableCookies)!==null&&h!==void 0?h:!1;var m;this.respectDoNotTrack=(m=this.options.respectDoNotTrack)!==null&&m!==void 0?m:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(a=this.options.platform)===null||a===void 0?void 0:a.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(o=this.options.platform)===null||o===void 0?void 0:o.layout,viewer_device_name:(s=this.options.platform)===null||s===void 0?void 0:s.product,viewer_device_category:\"\",viewer_device_manufacturer:(u=this.options.platform)===null||u===void 0?void 0:u.manufacturer,viewer_os_family:(y=this.options.platform)===null||y===void 0||(p=y.os)===null||p===void 0?void 0:p.family,viewer_os_architecture:(D=this.options.platform)===null||D===void 0||(x=D.os)===null||x===void 0?void 0:x.architecture,viewer_os_version:(_=this.options.platform)===null||_===void 0||(f=_.os)===null||f===void 0?void 0:f.version,page_url:je.default===null||je.default===void 0||(v=je.default.location)===null||v===void 0?void 0:v.href},this.viewerData=this.disableCookies?{}:ir()}return N(r,[{key:\"send\",value:function(t,i){if(!(!t||!(i!=null&&i.view_id))){if(this.respectDoNotTrack&&fe())return q.info(\"Not sending `\"+t+\"` because Do Not Track is enabled\");if(!i||typeof i!=\"object\")return q.error(\"A data object was expected in send() but was not provided\");var a=this.disableCookies?{}:nr(),n=me(Z({},this.pageLevelData,i,a,this.viewerData),{event:t,env_key:this.envKey});n.user_id&&(n.viewer_user_id=n.user_id,delete n.user_id);var o,s=((o=n.mux_sample_number)!==null&&o!==void 0?o:0)>=this.sampleRate,u=this._deduplicateBeaconData(t,n),p=he(u);if(this.lastEventTime=this.mux.utils.now(),s)return q.info(\"Not sending event due to sample rate restriction\",t,n,p);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,p),!this.rateLimited)if(q.info(\"Sending event\",t,n,p),this.rateLimited=!this.eventQueue.queueEvent(t,p),this.mux.WINDOW_UNLOADING&&t===\"viewend\")this.eventQueue.destroy(!0);else{if(this.mux.WINDOW_HIDDEN&&t===\"hb\")this.eventQueue.flushEvents(!0);else if(mi.indexOf(t)>=0){if(t===\"error\"&&i.player_error_severity===\"warning\")return;this.eventQueue.flushEvents()}if(this.rateLimited)return n.event=\"eventrateexceeded\",p=he(n),this.eventQueue.queueEvent(n.event,p),q.error(\"Beaconing disabled due to rate limit.\")}}}},{key:\"destroy\",value:function(){this.eventQueue.destroy(!1)}},{key:\"_deduplicateBeaconData\",value:function(t,i){var a=this,n={},o=i.view_id;if(o===\"-1\"||t===\"viewstart\"||t===\"viewend\"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=vi)n=Z({},i),o&&(this.previousBeaconData=n),o&&t===\"viewend\"&&(this.previousBeaconData=null);else{var s=t.indexOf(\"request\")===0;Object.entries(i).forEach(function(u){var p=H(u,2),y=p[0],x=p[1];a.previousBeaconData&&(x!==a.previousBeaconData[y]||_i.indexOf(y)>-1||a.objectHasChanged(s,y,x,a.previousBeaconData[y])||a.eventRequiresKey(t,y))&&(n[y]=x,a.previousBeaconData[y]=x)})}return n}},{key:\"objectHasChanged\",value:function(t,i,a,n){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}},{key:\"eventRequiresKey\",value:function(t,i){return!!(t===\"renditionchange\"&&i.indexOf(\"video_source_\")===0||pi.includes(i)&&fi.includes(t)||t===\"playbackmodechange\"&&i.indexOf(\"player_playback_mode\")===0)}}]),r}();var hi=function r(e){\"use strict\";k(this,r);var t=0,i=0,a=0,n=0,o=0,s=0,u=0,p=function(D,f){var _=f.request_start,v=f.request_response_start,w=f.request_response_end,h=f.request_bytes_loaded;n++;var m,c;if(v?(m=v-(_!=null?_:0),c=(w!=null?w:0)-v):c=(w!=null?w:0)-(_!=null?_:0),c>0&&h&&h>0){var d=h/c*8e3;o++,i+=h,a+=c,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,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)}},y=function(D,f){n++,s++,e.data.view_request_count=n,e.data.view_request_failed_count=s},x=function(D,f){n++,u++,e.data.view_request_count=n,e.data.view_request_canceled_count=u};e.on(\"requestcompleted\",p),e.on(\"requestfailed\",y),e.on(\"requestcanceled\",x)},Mr=hi;var yi=60*60*1e3,gi=function r(e){\"use strict\";var t=this;k(this,r),l(this,\"_lastEventTime\",void 0),e.on(\"before*\",function(i,a){var n=a.viewer_time,o=O.now(),s=t._lastEventTime;if(t._lastEventTime=o,s&&o-s>yi){var u=Object.keys(e.data).reduce(function(y,x){return x.indexOf(\"video_\")===0?Object.assign(y,l({},x,e.data[x])):y},{});e.mux.log.info(\"Received event after at least an hour inactivity, creating a new view\");var p=e.playbackHeartbeat._playheadShouldBeProgressing;e._resetView(Object.assign({viewer_time:n},u)),e.playbackHeartbeat._playheadShouldBeProgressing=p,e.playbackHeartbeat._playheadShouldBeProgressing&&i.type!==\"play\"&&i.type!==\"adbreakstart\"&&(e.emit(\"play\",{viewer_time:n}),i.type!==\"playing\"&&e.emit(\"playing\",{viewer_time:n}))}})},Hr=gi;var bi=function r(e){\"use strict\";k(this,r);var t=function(u){var p=wi(u),y=Ti(u);if(p!=null&&!Br(p,n)&&o<=y){n=p,o=y;var x={video_cdn:p};e.emit(\"cdnchange\",x)}},i=null,a=null,n=null,o=0;e.on(\"viewinit\",function(){i=null,a=null,n=null,o=0}),e.on(\"beforecdnchange\",function(s,u){var p=u==null?void 0:u.video_cdn;p&&(typeof u.video_previous_cdn==\"undefined\"||u.video_previous_cdn===null)&&(Br(p,a)?u.video_previous_cdn=i!=null?i:void 0:(u.video_previous_cdn=a!=null?a:void 0,i=a,a=p))}),e.on(\"requestcompleted\",function(s,u){t(u)})};function Br(r,e){return(r==null?void 0:r.toLowerCase())===(e==null?void 0:e.toLowerCase())}function wi(r){var e;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}function Ti(r){return r!=null&&r.request_start?r.request_start:r!=null&&r.viewer_time?r.viewer_time:Date.now()}var Ur=bi;var Ei=function(r){try{return JSON.parse(r),!0}catch(e){return!1}},ki=function r(e){\"use strict\";var t=this;k(this,r),l(this,\"_emittingAutomaticEvent\",!1),l(this,\"_hasInitialized\",!1),l(this,\"_currentMode\",\"standard\"),e.on(\"viewstart\",function(){t._hasInitialized||(t._hasInitialized=!0,t._currentMode=e.data.player_playback_mode||\"standard\",t._emittingAutomaticEvent=!0,e.emit(\"playbackmodechange\",{player_playback_mode:t._currentMode,player_playback_mode_data:\"{}\"}),t._emittingAutomaticEvent=!1)}),e.on(\"viewend\",function(){t._hasInitialized=!1}),e.on(\"playbackmodechange\",function(i,a){t._emittingAutomaticEvent||(a.player_playback_mode_data?Ei(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)})},Fr=ki;var xi=function(){\"use strict\";function r(e){k(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))}return N(r,[{key:\"_updateLastRangeEnd\",value:function(){var t=this.pm.data.video_playback_ranges;if(t&&t.length>0){var i=this.pm.data.player_playhead_time||0;t[t.length-1][1]=i}}},{key:\"_updatePlaybackRange\",value:function(){var t,i=this.pm.data.player_playhead_time||0;if(!(!this.pm.disableAdPlaybackRangeFiltering&&(!((t=this.pm.adTracker)===null||t===void 0)&&t.isAdBreak)&&this._lastPlayheadTime!==null&&i<this._lastPlayheadTime)){if(this._lastPlayheadTime!==null&&this._currentRangeStart!==null){var a=Math.abs(i-this._lastPlayheadTime);if(a>1e3){var n=this.pm.data.video_playback_ranges;n&&n.length>0&&(n[n.length-1][1]=this._lastPlayheadTime),this._currentRangeStart=null}}if(this._currentRangeStart===null){var o=this.pm.data.video_playback_ranges||[];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}else this._updateLastRangeEnd();this._lastPlayheadTime=i}}},{key:\"_endPlaybackRange\",value:function(){this._currentRangeStart!==null&&(this._updateLastRangeEnd(),this._currentRangeStart=null,this._lastPlayheadTime=null)}}]),r}(),Wr=xi;var z=Object.freeze({CELLULAR:\"cellular\",WIFI:\"wifi\",WIRED:\"wired\",OTHER:\"other\",NO_CONNECTION:\"no_connection\",UNKNOWN:\"unknown\"}),jr=function(r){if(!r)return z.UNKNOWN;switch(r){case\"cellular\":case\"wimax\":return z.CELLULAR;case\"wifi\":return z.WIFI;case\"ethernet\":return z.WIRED;case\"none\":return z.NO_CONNECTION;case\"bluetooth\":case\"other\":return z.OTHER;case\"unknown\":return z.UNKNOWN;default:var e=r;return z.OTHER}};var Vr=function(r){return typeof r==\"object\"&&\"connection\"in r&&typeof r.connection==\"object\"};var se=G(Q()),Ri=function(){\"use strict\";function r(e){var t=this;k(this,r),l(this,\"pm\",void 0),l(this,\"lastType\",void 0),l(this,\"lastLowDataMode\",void 0),this.pm=e,this.pm.one(\"viewinit\",function(){var i,a=t.emit.bind(t);a(),se.default.addEventListener(\"online\",a),se.default.addEventListener(\"offline\",a),(i=r.connection)===null||i===void 0||i.addEventListener(\"change\",a),t.pm.on(\"destroy\",function(){var n;(n=r.connection)===null||n===void 0||n.removeEventListener(\"change\",a),se.default.removeEventListener(\"online\",a),se.default.removeEventListener(\"offline\",a)})})}return N(r,[{key:\"type\",get:function(){var t,i;return((t=se.default.navigator)===null||t===void 0?void 0:t.onLine)===!1?z.NO_CONNECTION:!((i=r.connection)===null||i===void 0)&&i.type?jr(r.connection.type):z.UNKNOWN}},{key:\"lowDataMode\",get:function(){var t;return(t=r.connection)===null||t===void 0?void 0:t.saveData}},{key:\"emit\",value:function(){var t=this.type,i=this.lowDataMode;t===this.lastType&&i===this.lastLowDataMode||(this.lastType=t,this.lastLowDataMode=i,this.pm.emit(\"networkchange\",Z({viewer_connection_type:t},i!==void 0&&{viewer_connection_low_data_mode:i})))}}],[{key:\"connection\",get:function(){return Vr(se.default.navigator)?se.default.navigator.connection:null}}]),r}(),Gr=Ri;var Di=[\"viewstart\",\"ended\",\"loadstart\",\"pause\",\"play\",\"playing\",\"ratechange\",\"waiting\",\"adplay\",\"adpause\",\"adended\",\"aderror\",\"adplaying\",\"adrequest\",\"adresponse\",\"adbreakstart\",\"adbreakend\",\"adfirstquartile\",\"admidpoint\",\"adthirdquartile\",\"rebufferstart\",\"rebufferend\",\"seeked\",\"error\",\"hb\",\"requestcompleted\",\"requestfailed\",\"requestcanceled\",\"renditionchange\",\"networkchange\",\"cdnchange\",\"playbackmodechange\"],Si=new Set([\"requestcompleted\",\"requestfailed\",\"requestcanceled\"]),qi=function(r){\"use strict\";Dt(t,r);var e=Pt(t);function t(i,a,n){k(this,t);var o;o=e.call(this),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=pe.navigationStart(),o.pageLoadEndTime=pe.domContentLoadedEventEnd();var s={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:\"litix.io\",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,disableAdPlaybackRangeFiltering:!1,errorTranslator:function(_){return _},emitTranslator:function(){for(var _=arguments.length,v=new Array(_),w=0;w<_;w++)v[w]=arguments[w];return v},stateDataTranslator:function(_){return _}};if(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(s,n),n.data=n.data||{},!1)var u,p;n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),q.level=n.debug?X.DEBUG:X.WARN,o.getPlayheadTime=n.getPlayheadTime,o.getStateData=n.getStateData||function(){return{}},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 Cr(i,n.data.env_key,n),o.data={player_instance_id:re(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},o.data.view_sequence_number=1,o.data.player_sequence_number=1;var y=function(){typeof this.data.view_start==\"undefined\"&&(this.data.view_start=this.mux.utils.now(),this.emit(\"viewstart\"),this.emit(\"renditionchange\"))}.bind(b(o));if(o.on(\"viewinit\",function(_,v){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,v),this._initializeViewData(),this.one(\"play\",y),this.one(\"adbreakstart\",y)}),o.on(\"videochange\",function(_,v){this._resetView(v)}),o.on(\"programchange\",function(_,v){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(v,{view_program_changed:!0})),y(),this.emit(\"play\"),this.emit(\"playing\")}),o.on(\"fragmentchange\",function(_,v){this.currentFragmentPDT=v.currentFragmentPDT,this.currentFragmentStart=v.currentFragmentStart}),o.on(\"destroy\",o.destroy),typeof window!=\"undefined\"&&typeof window.addEventListener==\"function\"&&typeof window.removeEventListener==\"function\"){var x=function(){var _=typeof o.data.view_start!=\"undefined\";o.mux.WINDOW_HIDDEN=document.visibilityState===\"hidden\",_&&o.mux.WINDOW_HIDDEN&&(o.data.player_is_paused||o.emit(\"hb\"))};window.addEventListener(\"visibilitychange\",x,!1);var D=function(_){_.persisted||o.destroy()};window.addEventListener(\"pagehide\",D,!1),o.on(\"destroy\",function(){window.removeEventListener(\"visibilitychange\",x),window.removeEventListener(\"pagehide\",D)})}o.on(\"playerready\",function(_,v){Object.assign(this.data,v)}),Di.forEach(function(_){o.on(_,function(v,w){_.indexOf(\"ad\")!==0&&this._updateStateData(),Object.assign(this.data,w),this._sanitizeData()}),o.on(\"after\"+_,function(){(_!==\"error\"||this.errorTracker.viewErrored)&&this.send(_)})}),o.on(\"viewend\",function(_,v){Object.assign(o.data,v)});var f=function(v){var w=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=w-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||1/0,this.pageLoadEndTime||1/0)-this.pageLoadInitTime)),this.send(\"playerready\"),delete this.data.player_startup_time,delete this.data.page_load_time};return o.one(\"playerready\",f),o.longResumeTracker=new Hr(b(o)),o.errorTracker=new Wt(b(o)),new er(b(o)),o.seekingTracker=new Xt(b(o)),o.playheadTime=new Gt(b(o)),o.playbackHeartbeat=new Ft(b(o)),new Yt(b(o)),o.watchTimeTracker=new jt(b(o)),new Vt(b(o)),new Wr(b(o)),o.adTracker=new Zt(b(o)),new zt(b(o)),new Qt(b(o)),new Kt(b(o)),new Mr(b(o)),new Ur(b(o)),new Fr(b(o)),new Gr(b(o)),n.hlsjs&&o.addHLSJS(n),n.dashjs&&o.addDashJS(n),o.emit(\"viewinit\",n.data),o}return N(t,[{key:\"emit\",value:function(a,n){var o,s=Object.assign({viewer_time:this.mux.utils.now()},n),u=[a,s];if(this.emitTranslator)try{u=this.emitTranslator(a,s)}catch(p){this.mux.log.warn(\"Exception in emit translator callback.\",p)}u!=null&&u.length&&(o=Se($(t.prototype),\"emit\",this)).call.apply(o,[this].concat(W(u)))}},{key:\"destroy\",value:function(){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))}},{key:\"send\",value:function(a){if(this.data.view_id){var n=Object.assign({},this.data),o=[\"player_program_time\",\"player_manifest_newest_program_time\",\"player_live_edge_program_time\",\"player_program_time\",\"video_holdback\",\"video_part_holdback\",\"video_target_duration\",\"video_part_target_duration\"];if(n.video_source_is_live===void 0&&(n.player_source_duration===1/0||n.video_source_duration===1/0?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||o.forEach(function(y){n[y]=void 0}),n.video_source_url=n.video_source_url||n.player_source_url,n.video_source_url){var s=H(ie(n.video_source_url),2),u=s[0],p=s[1];n.video_source_domain=p,n.video_source_hostname=u}delete n.ad_request_id,n.video_playback_ranges&&(n.video_playback_range=JSON.stringify(n.video_playback_ranges.filter(function(y){return y[0]!==y[1]}).map(function(y){return\"\".concat(y[0],\":\").concat(y[1])})),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}}},{key:\"_resetView\",value:function(a){this.emit(\"viewend\"),this.send(\"viewend\"),this.emit(\"viewinit\",a)}},{key:\"_updateStateData\",value:function(){var a,n=this.getStateData();if(typeof this.stateDataTranslator==\"function\")try{n=this.stateDataTranslator(n)}catch(u){this.mux.log.warn(\"Exception in stateDataTranslator translator callback.\",u)}if(!((a=this.data)===null||a===void 0)&&a.video_cdn&&(n!=null&&n.video_cdn)){var o=n.video_cdn,s=qt(n,[\"video_cdn\"]);n=s}Object.assign(this.data,n),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:\"_sanitizeData\",value:function(){var a=this,n=[\"player_width\",\"player_height\",\"video_source_width\",\"video_source_height\",\"player_playhead_time\",\"video_source_bitrate\"];n.forEach(function(s){var u=parseInt(a.data[s],10);a.data[s]=isNaN(u)?void 0:u});var o=[\"player_source_url\",\"video_source_url\"];o.forEach(function(s){if(a.data[s]){var u=a.data[s].toLowerCase();(u.indexOf(\"data:\")===0||u.indexOf(\"blob:\")===0)&&(a.data[s]=\"MSE style URL\")}})}},{key:\"_resetVideoData\",value:function(){var a=this;Object.keys(this.data).forEach(function(n){n.indexOf(\"video_\")===0&&delete a.data[n]})}},{key:\"_resetViewData\",value:function(){var a=this;Object.keys(this.data).forEach(function(n){n.indexOf(\"view_\")===0&&delete a.data[n]}),this.data.view_sequence_number=1}},{key:\"_resetErrorData\",value:function(){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}},{key:\"_initializeViewData\",value:function(){var a=this,n=this.data.view_id=re(),o=function(){n===a.data.view_id&&P(a.data,\"player_view_count\",1)};this.data.player_is_paused?this.one(\"play\",o):o()}},{key:\"_restartHeartBeat\",value:function(){var a=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){a.data.player_is_paused||a.emit(\"hb\")},1e4)}},{key:\"addHLSJS\",value:function(a){if(!a.hlsjs){this.mux.log.warn(\"You must pass a valid hlsjs instance in order to track it.\");return}if(this.hlsjs){this.mux.log.warn(\"An instance of HLS.js is already being monitored for this player.\");return}this.hlsjs=a.hlsjs,It(this.mux,this.id,a.hlsjs,{},a.Hls||window.Hls)}},{key:\"removeHLSJS\",value:function(){this.hlsjs&&(Nt(this.hlsjs),this.hlsjs=void 0)}},{key:\"addDashJS\",value:function(a){if(!a.dashjs){this.mux.log.warn(\"You must pass a valid dashjs instance in order to track it.\");return}if(this.dashjs){this.mux.log.warn(\"An instance of Dash.js is already being monitored for this player.\");return}this.dashjs=a.dashjs,Mt(this.mux,this.id,a.dashjs)}},{key:\"removeDashJS\",value:function(){this.dashjs&&(Ht(this.dashjs),this.dashjs=void 0)}}]),t}(Ut),Jr=qi;var ge=G(st());function Pe(){return ge.default&&!!(ge.default.fullscreenElement||ge.default.webkitFullscreenElement||ge.default.mozFullScreenElement||ge.default.msFullscreenElement)}var Ai=[\"loadstart\",\"pause\",\"play\",\"playing\",\"seeking\",\"seeked\",\"timeupdate\",\"ratechange\",\"stalled\",\"waiting\",\"error\",\"ended\"],Oi={1:\"MEDIA_ERR_ABORTED\",2:\"MEDIA_ERR_NETWORK\",3:\"MEDIA_ERR_DECODE\",4:\"MEDIA_ERR_SRC_NOT_SUPPORTED\"};function ut(r,e,t){var i=H(de(e),3),a=i[0],n=i[1],o=i[2],s=r.log,u=r.utils.getComputedStyle,p=r.utils.secondsToMs,y={automaticErrorTracking:!0};if(a){if(o!==\"video\"&&o!==\"audio\")return s.error(\"The element of `\"+n+\"` was not a media element.\")}else return s.error(\"No element was found with the `\"+n+\"` query selector.\");a.mux&&(a.mux.destroy(),delete a.mux,s.warn(\"Already monitoring this video element, replacing existing event listeners\"));var x={getPlayheadTime:function(){return p(a.currentTime)},getStateData:function(){var _,v,w,h=((_=(v=this).getPlayheadTime)===null||_===void 0?void 0:_.call(v))||p(a.currentTime),m=this.hlsjs&&this.hlsjs.url,c=this.dashjs&&typeof this.dashjs.getSource==\"function\"&&this.dashjs.getSource(),d={player_is_paused:a.paused,player_width:parseInt(u(a,\"width\")),player_height:parseInt(u(a,\"height\")),player_autoplay_on:a.autoplay,player_preload_on:a.preload,player_language_code:a.lang,player_is_fullscreen:Pe(),video_poster_url:a.poster,video_source_url:m||c||a.currentSrc,video_source_duration:p(a.duration),video_source_height:a.videoHeight,video_source_width:a.videoWidth,view_dropped_frame_count:a==null||(w=a.getVideoPlaybackQuality)===null||w===void 0?void 0:w.call(a).droppedVideoFrames};if(a.getStartDate&&h>0){var g=a.getStartDate();if(g&&typeof g.getTime==\"function\"&&g.getTime()){var T=g.getTime();if(d.player_program_time=T+h,a.seekable.length>0){var E=T+a.seekable.end(a.seekable.length-1);d.player_live_edge_program_time=E}}}return d}};t=Object.assign(y,t,x),t.data=Object.assign({player_software:\"HTML5 Video Element\",player_mux_plugin_name:\"VideoElementMonitor\",player_mux_plugin_version:r.VERSION},t.data),a.mux=a.mux||{},a.mux.deleted=!1,a.mux.emit=function(f,_){r.emit(n,f,_)},a.mux.updateData=function(f){a.mux.emit(\"hb\",f)};var D=function(){s.error(\"The monitor for this video element has already been destroyed.\")};a.mux.destroy=function(){Object.keys(a.mux.listeners).forEach(function(f){a.removeEventListener(f,a.mux.listeners[f],!1)}),delete a.mux.listeners,a.mux.fullscreenChangeListener&&(document.removeEventListener(\"fullscreenchange\",a.mux.fullscreenChangeListener,!1),delete a.mux.fullscreenChangeListener),a.mux.destroy=D,a.mux.swapElement=D,a.mux.emit=D,a.mux.addHLSJS=D,a.mux.addDashJS=D,a.mux.removeHLSJS=D,a.mux.removeDashJS=D,a.mux.updateData=D,a.mux.setEmitTranslator=D,a.mux.setStateDataTranslator=D,a.mux.setGetPlayheadTime=D,a.mux.deleted=!0,r.emit(n,\"destroy\")},a.mux.swapElement=function(f){var _=H(de(f),3),v=_[0],w=_[1],h=_[2];if(v){if(h!==\"video\"&&h!==\"audio\")return r.log.error(\"The element of `\"+w+\"` was not a media element.\")}else return r.log.error(\"No element was found with the `\"+w+\"` query selector.\");v.muxId=a.muxId,delete a.muxId,v.mux=v.mux||{},v.mux.listeners=Object.assign({},a.mux.listeners),delete a.mux.listeners,Object.keys(v.mux.listeners).forEach(function(m){a.removeEventListener(m,v.mux.listeners[m],!1),v.addEventListener(m,v.mux.listeners[m],!1)}),v.mux.fullscreenChangeListener=a.mux.fullscreenChangeListener,delete a.mux.fullscreenChangeListener,v.mux.swapElement=a.mux.swapElement,v.mux.destroy=a.mux.destroy,delete a.mux,a=v},a.mux.addHLSJS=function(f){r.addHLSJS(n,f)},a.mux.addDashJS=function(f){r.addDashJS(n,f)},a.mux.removeHLSJS=function(){r.removeHLSJS(n)},a.mux.removeDashJS=function(){r.removeDashJS(n)},a.mux.setEmitTranslator=function(f){r.setEmitTranslator(n,f)},a.mux.setStateDataTranslator=function(f){r.setStateDataTranslator(n,f)},a.mux.setGetPlayheadTime=function(f){f||(f=t.getPlayheadTime),r.setGetPlayheadTime(n,f)},r.init(n,t),r.emit(n,\"playerready\"),a.paused||(r.emit(n,\"play\"),a.readyState>2&&r.emit(n,\"playing\")),a.mux.listeners={},Ai.forEach(function(f){f===\"error\"&&!t.automaticErrorTracking||(a.mux.listeners[f]=function(){var _={};if(f===\"error\"){if(!a.error||a.error.code===1)return;_.player_error_code=a.error.code,_.player_error_message=Oi[a.error.code]||a.error.message}r.emit(n,f,_)},a.addEventListener(f,a.mux.listeners[f],!1))}),a.mux.listeners.enterpictureinpicture=function(){r.emit(n,\"playbackmodechange\",{player_playback_mode:\"pip\",player_playback_mode_data:\"{}\"})},a.mux.listeners.leavepictureinpicture=function(){var f=Pe()?\"fullscreen\":\"standard\";r.emit(n,\"playbackmodechange\",{player_playback_mode:f,player_playback_mode_data:\"{}\"})},a.addEventListener(\"enterpictureinpicture\",a.mux.listeners.enterpictureinpicture,!1),a.addEventListener(\"leavepictureinpicture\",a.mux.listeners.leavepictureinpicture,!1),a.mux.fullscreenChangeListener=function(){var f=Pe(),_=document.fullscreenElement;if(f&&(_===a||_!=null&&_.contains(a)))r.emit(n,\"playbackmodechange\",{player_playback_mode:\"fullscreen\",player_playback_mode_data:\"{}\"});else if(!f){var v=document.pictureInPictureElement===a,w=v?\"pip\":\"standard\";r.emit(n,\"playbackmodechange\",{player_playback_mode:w,player_playback_mode_data:\"{}\"})}},document.addEventListener(\"fullscreenchange\",a.mux.fullscreenChangeListener,!1)}function lt(r,e,t,i){var a=i;if(r&&typeof r[e]==\"function\")try{a=r[e].apply(r,t)}catch(n){q.info(\"safeCall error\",n)}return a}var we=G(Q()),be;we.default&&we.default.WeakMap&&(be=new WeakMap);function dt(r,e){if(!r||!e||!we.default||typeof we.default.getComputedStyle!=\"function\")return\"\";var t;return be&&be.has(r)&&(t=be.get(r)),t||(t=we.default.getComputedStyle(r,null),be&&be.set(r,t)),t.getPropertyValue(e)}function ct(r){return Math.floor(r*1e3)}var _e={TARGET_DURATION:\"#EXT-X-TARGETDURATION\",PART_INF:\"#EXT-X-PART-INF\",SERVER_CONTROL:\"#EXT-X-SERVER-CONTROL\",INF:\"#EXTINF\",PROGRAM_DATE_TIME:\"#EXT-X-PROGRAM-DATE-TIME\",VERSION:\"#EXT-X-VERSION\",SESSION_DATA:\"#EXT-X-SESSION-DATA\"},Ve=function(e){return this.buffer=\"\",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(e),this.manifest};Ve.prototype.process=function(r){var e;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)};Ve.prototype.processLine=function(r){var e=r.indexOf(\":\"),t=Ni(r,e),i=t[0],a=t.length===2?ft(t[1]):void 0;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={};else switch(i){case _e.TARGET_DURATION:{if(!isFinite(a)||a<0)return;this.manifest.targetDuration=a,this.setHoldBack();break}case _e.PART_INF:{_t(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case _e.SERVER_CONTROL:{_t(this.manifest,t),this.setHoldBack();break}case _e.INF:{a===0?this.currentUri.duration=.01:a>0&&(this.currentUri.duration=a);break}case _e.PROGRAM_DATE_TIME:{var n=a,o=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=o),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=o;break}case _e.VERSION:{_t(this.manifest,t);break}case _e.SESSION_DATA:{var s=Ci(t[1]),u=Be(s);Object.assign(this.manifest.sessionData,u)}}};Ve.prototype.setHoldBack=function(){var r=this.manifest,e=r.serverControl,t=r.targetDuration,i=r.partTargetDuration;if(e){var a=\"holdBack\",n=\"partHoldBack\",o=t&&t*3,s=i&&i*2;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)}};var _t=function(r,e){var t=Qr(e[0].replace(\"#EXT-X-\",\"\")),i;Ii(e[1])?(i={},i=Object.assign(Li(e[1]),i)):i=ft(e[1]),r[t]=i},Qr=function(r){return r.toLowerCase().replace(/-(\\w)/g,function(e){return e[1].toUpperCase()})},ft=function(r){if(r.toLowerCase()===\"yes\"||r.toLowerCase()===\"no\")return r.toLowerCase()===\"yes\";var e=r.indexOf(\":\")!==-1?r:parseFloat(r);return isNaN(e)?r:e},Pi=function(r){var e={},t=r.split(\"=\");if(t.length>1){var i=Qr(t[0]);e[i]=ft(t[1])}return e},Li=function(r){for(var e=r.split(\",\"),t={},i=0;e.length>i;i++){var a=e[i],n=Pi(a);t=Object.assign(n,t)}return t},Ii=function(r){return r.indexOf(\"=\")>-1},Ni=function(r,e){return e===-1?[r]:[r.substring(0,e),r.substring(e+1)]},Ci=function(r){var e={};if(r){var t=r.search(\",\"),i=r.slice(0,t),a=r.slice(t+1),n=[i,a];return n.forEach(function(o,s){for(var u=o.replace(/['\"]+/g,\"\").split(\"=\"),p=0;p<u.length;p++)u[p]===\"DATA-ID\"&&(e[\"DATA-ID\"]=u[1-p]),u[p]===\"VALUE\"&&(e.VALUE=u[1-p])}),{data:e}}},zr=Ve;var Mi={safeCall:lt,safeIncrement:P,getComputedStyle:dt,secondsToMs:ct,assign:Object.assign,headersStringToObject:ve,cdnHeadersToRequestId:ce,extractHostnameAndDomain:ie,extractHostname:F,manifestParser:zr,generateShortID:Ie,generateUUID:re,now:O.now,findMediaElement:de},Kr=Mi;var Hi={PLAYER_READY:\"playerready\",VIEW_INIT:\"viewinit\",VIDEO_CHANGE:\"videochange\",PLAY:\"play\",PAUSE:\"pause\",PLAYING:\"playing\",TIME_UPDATE:\"timeupdate\",SEEKING:\"seeking\",SEEKED:\"seeked\",REBUFFER_START:\"rebufferstart\",REBUFFER_END:\"rebufferend\",ERROR:\"error\",ENDED:\"ended\",RENDITION_CHANGE:\"renditionchange\",ORIENTATION_CHANGE:\"orientationchange\",PLAYBACK_MODE_CHANGE:\"playbackmodechange\",NETWORK_CHANGE:\"networkchange\",AD_REQUEST:\"adrequest\",AD_RESPONSE:\"adresponse\",AD_BREAK_START:\"adbreakstart\",AD_PLAY:\"adplay\",AD_PLAYING:\"adplaying\",AD_PAUSE:\"adpause\",AD_FIRST_QUARTILE:\"adfirstquartile\",AD_MID_POINT:\"admidpoint\",AD_THIRD_QUARTILE:\"adthirdquartile\",AD_ENDED:\"adended\",AD_BREAK_END:\"adbreakend\",AD_ERROR:\"aderror\",REQUEST_COMPLETED:\"requestcompleted\",REQUEST_FAILED:\"requestfailed\",REQUEST_CANCELLED:\"requestcanceled\",HEARTBEAT:\"hb\",DESTROY:\"destroy\"},Yr=Hi;var Bi=\"mux-embed\",Ui=\"5.18.1\",Fi=\"2.1\",M={},ue=function(e){var t=arguments;typeof e==\"string\"?ue.hasOwnProperty(e)?Te.default.setTimeout(function(){t=Array.prototype.splice.call(t,1),ue[e].apply(null,t)},0):q.warn(\"`\"+e+\"` is an unknown task\"):typeof e==\"function\"?Te.default.setTimeout(function(){e(ue)},0):q.warn(\"`\"+e+\"` is invalid.\")},Wi={loaded:O.now(),NAME:Bi,VERSION:Ui,API_VERSION:Fi,PLAYER_TRACKED:!1,monitor:function(e,t){return ut(ue,e,t)},destroyMonitor:function(e){var t=H(de(e),1),i=t[0];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`.\")},addHLSJS:function(e,t){var i=J(e);M[i]?M[i].addHLSJS(t):q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},addDashJS:function(e,t){var i=J(e);M[i]?M[i].addDashJS(t):q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},removeHLSJS:function(e){var t=J(e);M[t]?M[t].removeHLSJS():q.error(\"A monitor for `\"+t+\"` has not been initialized.\")},removeDashJS:function(e){var t=J(e);M[t]?M[t].removeDashJS():q.error(\"A monitor for `\"+t+\"` has not been initialized.\")},init:function(e,t){fe()&&t&&t.respectDoNotTrack&&q.info(\"The browser's Do Not Track flag is enabled - Mux beaconing is disabled.\");var i=J(e);M[i]=new Jr(ue,i,t)},emit:function(e,t,i){var a=J(e);M[a]?(M[a].emit(t,i),t===\"destroy\"&&delete M[a]):q.error(\"A monitor for `\"+a+\"` has not been initialized.\")},updateData:function(e,t){var i=J(e);M[i]?M[i].emit(\"hb\",t):q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},setEmitTranslator:function(e,t){var i=J(e);M[i]?M[i].emitTranslator=t:q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},setStateDataTranslator:function(e,t){var i=J(e);M[i]?M[i].stateDataTranslator=t:q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},setGetPlayheadTime:function(e,t){var i=J(e);M[i]?M[i].getPlayheadTime=t:q.error(\"A monitor for `\"+i+\"` has not been initialized.\")},checkDoNotTrack:fe,log:q,utils:Kr,events:Yr,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(ue,Wi);typeof Te.default!=\"undefined\"&&typeof Te.default.addEventListener==\"function\"&&Te.default.addEventListener(\"pagehide\",function(r){r.persisted||(ue.WINDOW_UNLOADING=!0)},!1);var Zl=ue;export{Zl as default};\n/*!\n* JavaScript Cookie v2.1.3\n* https://github.com/js-cookie/js-cookie\n*\n* Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n* Released under the MIT license\n*/\n","import ye from\"mux-embed\";import lt from\"hls.js\";var R=lt;import{CapLevelController as wt}from\"hls.js\";var k={VIDEO:\"video\",THUMBNAIL:\"thumbnail\",STORYBOARD:\"storyboard\",DRM:\"drm\"},C={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},V=e=>e===k.VIDEO?\"playback\":e,_=class _ extends Error{constructor(t,r=_.MEDIA_ERR_CUSTOM,n,o){var s;super(t),this.name=\"MediaError\",this.code=r,this.context=o,this.fatal=n!=null?n:r>=_.MEDIA_ERR_NETWORK&&r<=_.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=_.defaultMessages[this.code])!=null?s:\"\")}};_.MEDIA_ERR_ABORTED=1,_.MEDIA_ERR_NETWORK=2,_.MEDIA_ERR_DECODE=3,_.MEDIA_ERR_SRC_NOT_SUPPORTED=4,_.MEDIA_ERR_ENCRYPTED=5,_.MEDIA_ERR_CUSTOM=100,_.defaultMessages={1:\"You aborted the media playback\",2:\"A network error caused the media download to fail.\",3:\"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",4:\"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",5:\"The media is encrypted and there are no keys to decrypt it.\"};var T=_;var dt=e=>e==null,K=(e,t)=>dt(t)?!1:e in t,Y={ANY:\"any\",MUTED:\"muted\"},h={ON_DEMAND:\"on-demand\",LIVE:\"live\",UNKNOWN:\"unknown\"},te={MSE:\"mse\",NATIVE:\"native\"},O={HEADER:\"header\",QUERY:\"query\",NONE:\"none\"},fr=Object.values(O),w={M3U8:\"application/vnd.apple.mpegurl\",MP4:\"video/mp4\"},$={HLS:w.M3U8},yr=Object.keys($),Tr=[...Object.values(w),\"hls\",\"HLS\"],mr={upTo720p:\"720p\",upTo1080p:\"1080p\",upTo1440p:\"1440p\",upTo2160p:\"2160p\"},Er={noLessThan480p:\"480p\",noLessThan540p:\"540p\",noLessThan720p:\"720p\",noLessThan1080p:\"1080p\",noLessThan1440p:\"1440p\",noLessThan2160p:\"2160p\"},gr={DESCENDING:\"desc\"},Mr={upTo720p:\"720p\",upTo1080p:\"1080p\",upTo1440p:\"1440p\",upTo2160p:\"2160p\"};var pt=\"en\",B={code:pt};var P=(e,t,r,n,o=e)=>{o.addEventListener(t,r,n),e.addEventListener(\"teardown\",()=>{o.removeEventListener(t,r)},{once:!0})};function Me(e,t,r){t&&r>t&&(r=t);for(let n=0;n<e.length;n++)if(e.start(n)<=r&&e.end(n)>=r)return!0;return!1}var J=e=>{let t=e.indexOf(\"?\");if(t<0)return[e];let r=e.slice(0,t),n=e.slice(t);return[r,n]},W=e=>{let{type:t}=e;if(t){let r=t.toUpperCase();return K(r,$)?$[r]:t}return ft(e)},ne=e=>e===\"VOD\"?h.ON_DEMAND:h.LIVE,oe=e=>e===\"EVENT\"?Number.POSITIVE_INFINITY:e===\"VOD\"?Number.NaN:0,ft=e=>{let{src:t}=e;if(!t)return\"\";let r=\"\";try{r=G(t).pathname}catch{console.error(\"Invalid url when trying to infer mime type\",t)}let n=r.lastIndexOf(\".\");if(n<0)return Tt(e)?w.M3U8:\"\";let s=r.slice(n+1).toUpperCase();return K(s,w)?w[s]:\"\"},j=e=>{try{return new URL(e),!1}catch{return!0}},be=e=>e.split(`\n`).find((t,r,n)=>r>0&&n[r-1].startsWith(\"#EXT-X-STREAM-INF\")),G=(e,t)=>{var o;if(!j(e))return new URL(e);let r=(o=window==null?void 0:window.location)==null?void 0:o.href,n=t!=null?t:r;return t&&j(t.toString())&&(n=new URL(t,r)),new URL(e,n)},yt=\"mux.com\",Tt=({src:e,customDomain:t=yt})=>{let r;try{r=new URL(`${e}`)}catch{return!1}let n=r.protocol===\"https:\",o=r.hostname===`stream.${t}`.toLowerCase(),s=r.pathname.split(\"/\"),a=s.length===2,i=!(s!=null&&s[1].includes(\".\"));return n&&o&&a&&i},ae=e=>{let t=(e!=null?e:\"\").split(\".\")[1];if(t)try{let r=t.replace(/-/g,\"+\").replace(/_/g,\"/\"),n=decodeURIComponent(atob(r).split(\"\").map(function(o){return\"%\"+(\"00\"+o.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"));return JSON.parse(n)}catch{return}},Re=({exp:e},t=Date.now())=>!e||e*1e3<t,xe=({sub:e},t)=>e!==t,Ce=({aud:e},t)=>!e,ve=({aud:e},t)=>e!==t,ke=\"en\";function x(e,t=!0){var o,s;let r=t&&(s=(o=B)==null?void 0:o[e])!=null?s:e,n=t?B.code:ke;return new re(r,n)}var re=class{constructor(t,r=(n=>(n=B)!=null?n:ke)()){this.message=t,this.locale=r}format(t){return this.message.replace(/\\{(\\w+)\\}/g,(r,n)=>{var o;return(o=t[n])!=null?o:\"\"})}toString(){return this.message}};var mt=Object.values(Y),De=e=>typeof e==\"boolean\"||typeof e==\"string\"&&mt.includes(e),Pe=(e,t,r)=>{let{autoplay:n}=e,o=!1,s=!1,a=De(n)?n:!!n,i=()=>{o||P(t,\"playing\",()=>{o=!0},{once:!0})};if(i(),P(t,\"loadstart\",()=>{o=!1,i(),se(t,a)},{once:!0}),P(t,\"loadstart\",()=>{r||(e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=!Number.isFinite(t.duration)),se(t,a)},{once:!0}),r&&r.once(R.Events.LEVEL_LOADED,(u,f)=>{var c;e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=(c=f.details.live)!=null?c:!1}),!a){let u=()=>{!s||Number.isFinite(e.startTime)||(r!=null&&r.liveSyncPosition?t.currentTime=r.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};r&&P(t,\"play\",()=>{t.preload===\"metadata\"?r.once(R.Events.LEVEL_UPDATED,u):u()},{once:!0})}return u=>{o||(a=De(u)?u:!!u,se(t,a))}},se=(e,t)=>{if(!t)return;let r=e.muted,n=()=>e.muted=r;switch(t){case Y.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(n)});break;case Y.MUTED:e.muted=!0,e.play().catch(n);break;default:e.play().catch(()=>{});break}};var Le=({preload:e,src:t},r,n)=>{let o=c=>{c!=null&&[\"\",\"none\",\"metadata\",\"auto\"].includes(c)?r.setAttribute(\"preload\",c):r.removeAttribute(\"preload\")};if(!n)return o(e),o;let s=!1,a=!1,i=n.config.maxBufferLength,l=n.config.maxBufferSize,u=c=>{o(c);let y=c!=null?c:r.preload;a||y===\"none\"||(y===\"metadata\"?(n.config.maxBufferLength=1,n.config.maxBufferSize=1):(n.config.maxBufferLength=i,n.config.maxBufferSize=l),f())},f=()=>{!s&&t&&(s=!0,n.loadSource(t))};return P(r,\"play\",()=>{a=!0,n.config.maxBufferLength=i,n.config.maxBufferSize=l,f()},{once:!0}),u(e),u};var he=(e,t,r)=>{let{minPreloadSegments:n}=e;if(n==null||n<=0||!r)return;let o=0,s=!1,a=t.playbackRate||1,i=()=>{t.playbackRate!==0&&(a=t.playbackRate,t.playbackRate=0)};t.playbackRate=0,P(t,\"ratechange\",i);let l=(u,{frag:f})=>{s||f.type!==\"main\"||(o++,o>=n&&(s=!0,t.removeEventListener(\"ratechange\",i),t.playbackRate=a))};r.on(R.Events.FRAG_BUFFERED,l),t.addEventListener(\"teardown\",()=>{s||(s=!0,r.off(R.Events.FRAG_BUFFERED,l),t.playbackRate=a)},{once:!0})},_e=(e,t,r)=>{let{initialEstimateSegments:n}=e;if(n==null||n<=0||!r)return;let o=0;r.on(R.Events.FRAG_BUFFERED,(s,{frag:a})=>{a.type===\"main\"&&(o++,o<n&&r.abrController.resetEstimator(r.config.abrEwmaDefaultEstimate))})};function we(e,t){var l;if(!(\"videoTracks\"in e))return;let r=new WeakMap;t.on(R.Events.MANIFEST_PARSED,function(u,f){i();let c=e.addVideoTrack(\"main\");c.selected=!0;for(let[y,d]of f.levels.entries()){let p=c.addRendition(d.url[0],d.width,d.height,d.videoCodec,d.bitrate);r.set(d,`${y}`),p.id=`${y}`}}),t.on(R.Events.AUDIO_TRACKS_UPDATED,function(u,f){a();for(let c of f.audioTracks){let y=c.default?\"main\":\"alternative\",d=e.addAudioTrack(y,c.name,c.lang);d.id=`${c.id}`,c.default&&(d.enabled=!0)}});let n=()=>{var c;let u=+((c=[...e.audioTracks].find(y=>y.enabled))==null?void 0:c.id),f=t.audioTracks.map(y=>y.id);u!=t.audioTrack&&f.includes(u)&&(t.audioTrack=u)};e.audioTracks.addEventListener(\"change\",n),t.on(R.Events.LEVELS_UPDATED,function(u,f){var d;let c=e.videoTracks[(d=e.videoTracks.selectedIndex)!=null?d:0];if(!c)return;let y=f.levels.map(p=>r.get(p));for(let p of e.videoRenditions)p.id&&!y.includes(p.id)&&c.removeRendition(p)});let o=u=>{let f=u.target.selectedIndex;f!=t.nextLevel&&(t.nextLevel=f)};(l=e.videoRenditions)==null||l.addEventListener(\"change\",o);let s=()=>{for(let u of e.videoTracks)e.removeVideoTrack(u)},a=()=>{for(let u of e.audioTracks)e.removeAudioTrack(u)},i=()=>{s(),a()};t.once(R.Events.DESTROYING,()=>{var u,f;i(),(u=e.audioTracks)==null||u.removeEventListener(\"change\",n),(f=e.videoRenditions)==null||f.removeEventListener(\"change\",o)})}var ie=e=>\"time\"in e?e.time:e.startTime;function Ae(e,t){t.on(R.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(o,{tracks:s})=>{s.forEach(a=>{var f,c;let i=(f=a.subtitleTrack)!=null?f:a.closedCaptions,l=t.subtitleTracks.findIndex(({lang:y,name:d,type:p})=>y==(i==null?void 0:i.lang)&&d===a.label&&p.toLowerCase()===a.kind),u=((c=a._id)!=null?c:a.default)?\"default\":`${a.kind}${l}`;ce(e,a.kind,a.label,i==null?void 0:i.lang,u,a.default)})});let r=()=>{if(!t.subtitleTracks.length)return;let o=Array.from(e.textTracks).find(i=>i.id&&i.mode===\"showing\"&&[\"subtitles\",\"captions\"].includes(i.kind));if(!o)return;let s=t.subtitleTracks[t.subtitleTrack],a=s?s.default?\"default\":`${t.subtitleTracks[t.subtitleTrack].type.toLowerCase()}${t.subtitleTrack}`:void 0;if(t.subtitleTrack<0||(o==null?void 0:o.id)!==a){let i=t.subtitleTracks.findIndex(({lang:l,name:u,type:f,default:c})=>o.id===\"default\"&&c||l==o.language&&u===o.label&&f.toLowerCase()===o.kind);t.subtitleTrack=i}(o==null?void 0:o.id)===a&&o.cues&&Array.from(o.cues).forEach(i=>{o.addCue(i)})};e.textTracks.addEventListener(\"change\",r),t.on(R.Events.CUES_PARSED,(o,{track:s,cues:a})=>{let i=e.textTracks.getTrackById(s);if(!i)return;let l=i.mode===\"disabled\";l&&(i.mode=\"hidden\"),a.forEach(u=>{var f;(f=i.cues)!=null&&f.getCueById(u.id)||i.addCue(u)}),l&&(i.mode=\"disabled\")}),t.once(R.Events.DESTROYING,()=>{e.textTracks.removeEventListener(\"change\",r),e.querySelectorAll(\"track[data-removeondestroy]\").forEach(s=>{s.remove()})});let n=()=>{Array.from(e.textTracks).forEach(o=>{var s,a;if(![\"subtitles\",\"caption\"].includes(o.kind)&&(o.label===\"thumbnails\"||o.kind===\"chapters\")){if(!((s=o.cues)!=null&&s.length)){let i=\"track\";o.kind&&(i+=`[kind=\"${o.kind}\"]`),o.label&&(i+=`[label=\"${o.label}\"]`);let l=e.querySelector(i),u=(a=l==null?void 0:l.getAttribute(\"src\"))!=null?a:\"\";l==null||l.removeAttribute(\"src\"),setTimeout(()=>{l==null||l.setAttribute(\"src\",u)},0)}o.mode!==\"hidden\"&&(o.mode=\"hidden\")}})};t.once(R.Events.MANIFEST_LOADED,n),t.once(R.Events.MEDIA_ATTACHED,n)}function ce(e,t,r,n,o,s){let a=document.createElement(\"track\");return a.kind=t,a.label=r,n&&(a.srclang=n),o&&(a.id=o),s&&(a.default=!0),a.track.mode=[\"subtitles\",\"captions\"].includes(t)?\"disabled\":\"hidden\",a.setAttribute(\"data-removeondestroy\",\"\"),e.append(a),a.track}function Et(e,t){let r=Array.prototype.find.call(e.querySelectorAll(\"track\"),n=>n.track===t);r==null||r.remove()}function U(e,t,r){var n;return(n=Array.from(e.querySelectorAll(\"track\")).find(o=>o.track.label===t&&o.track.kind===r))==null?void 0:n.track}async function Se(e,t,r,n){let o=U(e,r,n);return o||(o=ce(e,n,r),o.mode=\"hidden\",await new Promise(s=>setTimeout(()=>s(void 0),0))),o.mode!==\"hidden\"&&(o.mode=\"hidden\"),[...t].sort((s,a)=>ie(a)-ie(s)).forEach(s=>{var l,u;let a=s.value,i=ie(s);if(\"endTime\"in s&&s.endTime!=null)o==null||o.addCue(new VTTCue(i,s.endTime,n===\"chapters\"?a:JSON.stringify(a!=null?a:null)));else{let f=Array.prototype.findIndex.call(o==null?void 0:o.cues,p=>p.startTime>=i),c=(l=o==null?void 0:o.cues)==null?void 0:l[f],y=c?c.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,d=(u=o==null?void 0:o.cues)==null?void 0:u[f-1];d&&(d.endTime=i),o==null||o.addCue(new VTTCue(i,y,n===\"chapters\"?a:JSON.stringify(a!=null?a:null)))}}),e.textTracks.dispatchEvent(new Event(\"change\",{bubbles:!0,composed:!0})),o}var ue=\"cuepoints\",Ie=Object.freeze({label:ue});async function Ne(e,t,r=Ie){return Se(e,t,r.label,\"metadata\")}var q=e=>({time:e.startTime,value:JSON.parse(e.text)});function gt(e,t={label:ue}){let r=U(e,t.label,\"metadata\");return r!=null&&r.cues?Array.from(r.cues,n=>q(n)):[]}function Oe(e,t={label:ue}){var s,a;let r=U(e,t.label,\"metadata\");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return q(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:l})=>i<=n&&l>n);return q(o||r.activeCues[0])}async function Ue(e,t=Ie){return new Promise(r=>{P(e,\"loadstart\",async()=>{let n=await Ne(e,[],t);P(e,\"cuechange\",()=>{let o=Oe(e);if(o){let s=new CustomEvent(\"cuepointchange\",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}var le=\"chapters\",He=Object.freeze({label:le}),z=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function Ke(e,t,r=He){return Se(e,t,r.label,\"chapters\")}function Mt(e,t={label:le}){var n;let r=U(e,t.label,\"chapters\");return(n=r==null?void 0:r.cues)!=null&&n.length?Array.from(r.cues,o=>z(o)):[]}function We(e,t={label:le}){var s,a;let r=U(e,t.label,\"chapters\");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return z(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:l})=>i<=n&&l>n);return z(o||r.activeCues[0])}async function Fe(e,t=He){return new Promise(r=>{P(e,\"loadstart\",async()=>{let n=await Ke(e,[],t);P(e,\"cuechange\",()=>{let o=We(e);if(o){let s=new CustomEvent(\"chapterchange\",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}function bt(e,t){if(t){let r=t.playingDate;if(r!=null)return new Date(r.getTime()-e.currentTime*1e3)}return typeof e.getStartDate==\"function\"?e.getStartDate():new Date(NaN)}function Rt(e,t){if(t&&t.playingDate)return t.playingDate;if(typeof e.getStartDate==\"function\"){let r=e.getStartDate();return new Date(r.getTime()+e.currentTime*1e3)}return new Date(NaN)}var de={VIDEO:\"v\",THUMBNAIL:\"t\",STORYBOARD:\"s\",DRM:\"d\"},xt=e=>{if(e===k.VIDEO)return de.VIDEO;if(e===k.DRM)return de.DRM},Ct=(e,t)=>{var o,s;let r=V(e),n=`${r}Token`;return(o=t.tokens)!=null&&o[r]?(s=t.tokens)==null?void 0:s[r]:K(n,t)?t[n]:void 0},F=(e,t,r,n,o=!1,s=!(a=>(a=globalThis.navigator)==null?void 0:a.onLine)())=>{var E,D;if(s){let g=x(\"Your device appears to be offline\",o),b=void 0,m=T.MEDIA_ERR_NETWORK,v=new T(g,m,!1,b);return v.errorCategory=t,v.muxCode=C.NETWORK_OFFLINE,v.data=e,v}let i=\"status\"in e?e.status:e.code,l=Date.now(),u=T.MEDIA_ERR_NETWORK;if(i===200)return;let f=V(t),c=Ct(t,r),y=xt(t),[d]=J((E=r.playbackId)!=null?E:\"\");if(!i||!d)return;let p=ae(c);if(c&&!p){let g=x(\"The {tokenNamePrefix}-token provided is invalid or malformed.\",o).format({tokenNamePrefix:f}),b=x(\"Compact JWT string: {token}\",o).format({token:c}),m=new T(g,u,!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_TOKEN_MALFORMED,m.data=e,m}if(i>=500){let g=new T(\"\",u,n!=null?n:!0);return g.errorCategory=t,g.muxCode=C.NETWORK_UNKNOWN_ERROR,g}if(i===403)if(p){if(Re(p,l)){let g={timeStyle:\"medium\",dateStyle:\"medium\"},b=x(\"The video\\u2019s secured {tokenNamePrefix}-token has expired.\",o).format({tokenNamePrefix:f}),m=x(\"Expired at: {expiredDate}. Current time: {currentDate}.\",o).format({expiredDate:new Intl.DateTimeFormat(\"en\",g).format((D=p.exp)!=null?D:0*1e3),currentDate:new Intl.DateTimeFormat(\"en\",g).format(l)}),v=new T(b,u,!0,m);return v.errorCategory=t,v.muxCode=C.NETWORK_TOKEN_EXPIRED,v.data=e,v}if(xe(p,d)){let g=x(\"The video\\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.\",o).format({tokenNamePrefix:f}),b=x(\"Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}\",o).format({tokenNamePrefix:f,playbackId:d,tokenPlaybackId:p.sub}),m=new T(g,u,!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_TOKEN_SUB_MISMATCH,m.data=e,m}if(Ce(p,y)){let g=x(\"The {tokenNamePrefix}-token is formatted with incorrect information.\",o).format({tokenNamePrefix:f}),b=x(\"The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.\",o).format({tokenNamePrefix:f,expectedAud:y}),m=new T(g,u,!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_TOKEN_AUD_MISSING,m.data=e,m}if(ve(p,y)){let g=x(\"The {tokenNamePrefix}-token is formatted with incorrect information.\",o).format({tokenNamePrefix:f}),b=x(\"The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.\",o).format({tokenNamePrefix:f,expectedAud:y,aud:p.aud}),m=new T(g,u,!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_TOKEN_AUD_MISMATCH,m.data=e,m}}else{let g=x(\"Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.\",o).format({tokenNamePrefix:f,category:t}),b=x(\"Specified playback ID: {playbackId}\",o).format({playbackId:d}),m=new T(g,u,n!=null?n:!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_TOKEN_MISSING,m.data=e,m}if(i===412){let g=x(\"This playback-id may belong to a live stream that is not currently active or an asset that is not ready.\",o),b=x(\"Specified playback ID: {playbackId}\",o).format({playbackId:d}),m=new T(g,u,n!=null?n:!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_NOT_READY,m.streamType=r.streamType===h.LIVE?\"live\":r.streamType===h.ON_DEMAND?\"on-demand\":\"unknown\",m.data=e,m}if(i===404){let g=x(\"This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.\",o),b=x(\"Specified playback ID: {playbackId}\",o).format({playbackId:d}),m=new T(g,u,n!=null?n:!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_NOT_FOUND,m.data=e,m}if(i===400){let g=x(\"The URL or playback-id was invalid. You may have used an invalid value as a playback-id.\"),b=x(\"Specified playback ID: {playbackId}\",o).format({playbackId:d}),m=new T(g,u,n!=null?n:!0,b);return m.errorCategory=t,m.muxCode=C.NETWORK_INVALID_URL,m.data=e,m}let M=new T(\"\",u,n!=null?n:!0);return M.errorCategory=t,M.muxCode=C.NETWORK_UNKNOWN_ERROR,M.data=e,M};var Ve=R.DefaultConfig.capLevelController,vt={\"720p\":921600,\"1080p\":2073600,\"1440p\":4194304,\"2160p\":8294400};function kt(e){let t=e.toLowerCase().trim();return vt[t]}var S=class S extends Ve{constructor(t){super(t)}static setMaxAutoResolution(t,r){r?S.maxAutoResolution.set(t,r):S.maxAutoResolution.delete(t)}getMaxAutoResolution(){var r;let t=this.hls;return(r=S.maxAutoResolution.get(t))!=null?r:void 0}get levels(){var t;return(t=this.hls.levels)!=null?t:[]}getValidLevels(t){return this.levels.filter((r,n)=>this.isLevelAllowed(r)&&n<=t)}getMaxLevelCapped(t){let r=this.getValidLevels(t),n=this.getMaxAutoResolution();if(!n)return super.getMaxLevel(t);let o=kt(n);if(!o)return super.getMaxLevel(t);let s=r.filter(l=>l.width*l.height<=o),a=s.findIndex(l=>l.width*l.height===o);if(a!==-1){let l=s[a];return r.findIndex(u=>u===l)}if(s.length===0)return 0;let i=s[s.length-1];return r.findIndex(l=>l===i)}getMaxLevel(t){if(this.getMaxAutoResolution()!==void 0)return this.getMaxLevelCapped(t);let r=super.getMaxLevel(t),n=this.getValidLevels(t);if(!n[r])return r;let o=Math.min(n[r].width,n[r].height),s=S.minMaxResolution;return o>=s?r:Ve.getMaxLevelByMediaSize(n,s*(16/9),s)}};S.minMaxResolution=720,S.maxAutoResolution=new WeakMap;var pe=S,X=pe;var Dt=\"com.apple.fps.1_0\",Pt=\"application/vnd.apple.mpegurl\",Ye=({mediaEl:e,getAppCertificate:t,getLicenseKey:r,saveAndDispatchError:n,drmTypeCb:o})=>{if(!window.WebKitMediaKeys||!(\"onwebkitneedkey\"in e)){console.error(\"No WebKitMediaKeys. FairPlay may not be supported\");let y=x(\"Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.\"),d=new T(y,T.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=k.DRM,d.muxCode=C.ENCRYPTED_CDM_ERROR,n(e,d),()=>{}}let s=e,a=t(),i=null,l=y=>{(async()=>{try{s.webkitKeys||u();let p=await a;if(y.initData===null||p==null)return;let M=Lt(y.initData,p);f(M)}catch(p){console.error(\"Could not start encrypted playback due to exception\",p),n(s,p)}})()},u=()=>{try{let y=new WebKitMediaKeys(Dt);s.webkitSetMediaKeys(y),o()}catch{let y=\"Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.\",d=new T(y,T.MEDIA_ERR_ENCRYPTED,!0);throw d.errorCategory=k.DRM,d.muxCode=C.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,d}},f=y=>{let d=s.webkitKeys.createSession(Pt,y),p=async D=>{try{let g=D.message,b=await r(g);d.update(b)}catch(g){console.error(\"Error on FairPlay session message\",g),n(e,g)}},M=D=>{let g=D.target.error;if(!g)return;console.error(`Internal Webkit Key Session Error - sysCode: ${g.systemCode} code: ${g.code}`);let b=x(\"The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.\"),m=new T(b,T.MEDIA_ERR_ENCRYPTED,!0);m.errorCategory=k.DRM,m.muxCode=C.ENCRYPTED_CDM_ERROR,n(e,m)},E=()=>{d.removeEventListener(\"webkitkeymessage\",p),d.removeEventListener(\"webkitkeyerror\",M),e.removeEventListener(\"teardown\",E),\"webkitCurrentPlaybackTargetIsWireless\"in e&&e.removeEventListener(\"webkitcurrentplaybacktargetiswirelesschanged\",E),i=null;try{d.close()}catch{}};\"webkitCurrentPlaybackTargetIsWireless\"in e&&e.addEventListener(\"webkitcurrentplaybacktargetiswirelesschanged\",E,{once:!0}),d.addEventListener(\"webkitkeymessage\",p),d.addEventListener(\"webkitkeyerror\",M),e.addEventListener(\"teardown\",E),i=E},c=()=>{e.removeEventListener(\"webkitneedkey\",l),e.removeEventListener(\"teardown\",c),i==null||i();try{s.webkitSetMediaKeys(null)}catch{}};return e.addEventListener(\"webkitneedkey\",l),e.addEventListener(\"teardown\",c,{once:!0}),c},Lt=(e,t)=>{let r=_t(ht(e)),n=new Uint8Array(e),o=new Uint8Array(r),s=new Uint8Array(t),a=n.byteLength+4+s.byteLength+4+o.byteLength,i=new Uint8Array(a),l=0,u=c=>{i.set(c,l),l+=c.byteLength},f=c=>{let y=new DataView(i.buffer),d=c.byteLength;y.setUint32(l,d,!0),l+=4,u(c)};return u(n),f(o),f(s),i},ht=e=>new TextDecoder(\"utf-16le\").decode(e).replace(\"skd://\",\"\").slice(1);function _t(e){let t=new ArrayBuffer(e.length*2),r=new DataView(t);for(let n=0;n<e.length;n++)r.setUint16(n*2,e.charCodeAt(n),!0);return t}var $e=({mediaEl:e,getAppCertificate:t,getLicenseKey:r,saveAndDispatchError:n,drmTypeCb:o,fallbackToWebkitFairplay:s})=>{let a=null,i=async c=>{try{let y=c.initDataType;if(y!==\"skd\"){console.error(`Received unexpected initialization data type \"${y}\"`);return}e.mediaKeys||await l(y);let d=c.initData;if(d==null){console.error(`Could not start encrypted playback due to missing initData in ${c.type} event`);return}await u(y,d)}catch(y){n(e,y);return}},l=async c=>{let y=await navigator.requestMediaKeySystemAccess(\"com.apple.fps\",[{initDataTypes:[c],videoCapabilities:[{contentType:\"application/vnd.apple.mpegurl\",robustness:\"\"}],distinctiveIdentifier:\"not-allowed\",persistentState:\"not-allowed\",sessionTypes:[\"temporary\"]}]).then(p=>(o(),p)).catch(()=>{let p=x(\"Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.\"),M=new T(p,T.MEDIA_ERR_ENCRYPTED,!0);M.errorCategory=k.DRM,M.muxCode=C.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,n(e,M)});if(!y)return;let d=await y.createMediaKeys();try{let p=await t();await d.setServerCertificate(p).catch(()=>{let M=x(\"Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.\"),E=new T(M,T.MEDIA_ERR_ENCRYPTED,!0);return E.errorCategory=k.DRM,E.muxCode=C.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(E)})}catch(p){n(e,p);return}await e.setMediaKeys(d)},u=async(c,y)=>{let d=e.mediaKeys.createSession(),p=async D=>{let g=D.message,b=await r(g);try{await d.update(b)}catch{let m=x(\"Failed to update DRM license. This may be an issue with the player or your protected content.\"),v=new T(m,T.MEDIA_ERR_ENCRYPTED,!0);v.errorCategory=k.DRM,v.muxCode=C.ENCRYPTED_UPDATE_LICENSE_FAILED,n(e,v)}},M=()=>{let D=g=>{let b;if(g===\"internal-error\"){let m=x(\"The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.\");b=new T(m,T.MEDIA_ERR_ENCRYPTED,!0),b.errorCategory=k.DRM,b.muxCode=C.ENCRYPTED_CDM_ERROR}else if(g===\"output-restricted\"||g===\"output-downscaled\"){let m=x(\"DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.\");b=new T(m,T.MEDIA_ERR_ENCRYPTED,!1),b.errorCategory=k.DRM,b.muxCode=C.ENCRYPTED_OUTPUT_RESTRICTED}b&&n(e,b)};d.keyStatuses.forEach(g=>D(g))};d.addEventListener(\"keystatuseschange\",M),d.addEventListener(\"message\",p);let E=async()=>{d.removeEventListener(\"keystatuseschange\",M),d.removeEventListener(\"message\",p),\"webkitCurrentPlaybackTargetIsWireless\"in e&&e.removeEventListener(\"webkitcurrentplaybacktargetiswirelesschanged\",E),e.removeEventListener(\"teardown\",E),await d.close().catch(D=>{console.warn(\"There was an error when closing EME session\",D)}),a=null};\"webkitCurrentPlaybackTargetIsWireless\"in e&&e.addEventListener(\"webkitcurrentplaybacktargetiswirelesschanged\",E,{once:!0}),e.addEventListener(\"teardown\",E,{once:!0}),a=E,await d.generateRequest(c,y).catch(async D=>{if(D.name===\"NotSupportedError\"&&\"webkitCurrentPlaybackTargetIsWireless\"in e&&e.webkitCurrentPlaybackTargetIsWireless)console.warn(\"Failed to generate a DRM license request. Attempting to fallback to Webkit DRM\"),s==null||s();else{let g=x(\"Failed to generate a DRM license request. This may be an issue with the player or your protected content.\"),b=new T(g,T.MEDIA_ERR_ENCRYPTED,!0);return b.errorCategory=k.DRM,b.muxCode=C.ENCRYPTED_GENERATE_REQUEST_FAILED,console.error(\"Failed to generate license request\",D),Promise.reject(b)}})},f=async()=>{e.removeEventListener(\"encrypted\",i),e.removeEventListener(\"teardown\",f),a&&await a(),await e.setMediaKeys(null).catch(()=>{})};return e.addEventListener(\"encrypted\",i),e.addEventListener(\"teardown\",f,{once:!0}),f};var Q={FAIRPLAY:\"fairplay\",PLAYREADY:\"playready\",WIDEVINE:\"widevine\"},At=e=>{if(e.includes(\"fps\"))return Q.FAIRPLAY;if(e.includes(\"playready\"))return Q.PLAYREADY;if(e.includes(\"widevine\"))return Q.WIDEVINE},St=(e,t)=>{let r=be(e);if(!r)return Promise.reject(new Error(\"No media playlist URL found in multivariant playlist\"));if(j(r)&&!t)return Promise.reject(new Error(\"masterPlaylistUrl is required to resolve relative media playlist URL\"));let n;try{n=G(r,t)}catch(o){return Promise.reject(o)}return fetch(n).then(o=>o.status!==200?Promise.reject(o):o.text())},It=e=>{let t=e.split(`\n`).filter(n=>n.startsWith(\"#EXT-X-SESSION-DATA\"));if(!t.length)return{};let r={};for(let n of t){let o=Ot(n),s=o[\"DATA-ID\"];s&&(r[s]={...o})}return{sessionData:r}},Nt=/([A-Z0-9-]+)=\"?(.*?)\"?(?:,|$)/g;function Ot(e){let t=[...e.matchAll(Nt)];return Object.fromEntries(t.map(([,r,n])=>[r,n]))}var Ut=e=>{var i,l,u;let t=e.split(`\n`),n=(l=((i=t.find(f=>f.startsWith(\"#EXT-X-PLAYLIST-TYPE\")))!=null?i:\"\").split(\":\")[1])==null?void 0:l.trim(),o=ne(n),s=oe(n),a;if(o===h.LIVE){let f=t.find(y=>y.startsWith(\"#EXT-X-PART-INF\"));if(!!f)a=+f.split(\":\")[1].split(\"=\")[1]*2;else{let y=t.find(M=>M.startsWith(\"#EXT-X-TARGETDURATION\")),d=(u=y==null?void 0:y.split(\":\"))==null?void 0:u[1];a=+(d!=null?d:6)*3}}return{streamType:o,targetLiveWindow:s,liveEdgeStartOffset:a}},Ht=async(e,t)=>{if(t===w.MP4)return{streamType:h.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===w.M3U8){let r=await fetch(e);if(!r.ok)return Promise.reject(r);let n=await r.text(),o=await St(n,r.url);return{...It(n),...Ut(o)}}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0,sessionData:void 0}},Kt=async(e,t,r=W({src:e}))=>{var l,u,f,c;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,sessionData:a}=await Ht(e,r),i=a==null?void 0:a[\"com.apple.hls.chapters\"];(i!=null&&i.URI||i!=null&&i.VALUE.toLocaleLowerCase().startsWith(\"http\"))&&Te((l=i.URI)!=null?l:i.VALUE,t),((u=L.get(t))!=null?u:{}).liveEdgeStartOffset=s,((f=L.get(t))!=null?f:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent(\"targetlivewindowchange\",{composed:!0,bubbles:!0})),((c=L.get(t))!=null?c:{}).streamType=n,t.dispatchEvent(new CustomEvent(\"streamtypechange\",{composed:!0,bubbles:!0}))},Te=async(e,t)=>{var r,n;try{let o=await fetch(e);if(!o.ok)throw new Error(`Failed to fetch Mux metadata: ${o.status} ${o.statusText}`);let s=await o.json(),a={};if(!((r=s==null?void 0:s[0])!=null&&r.metadata))return;for(let l of s[0].metadata)l.key&&l.value&&(a[l.key]=l.value);((n=L.get(t))!=null?n:{}).metadata=a;let i=new CustomEvent(\"muxmetadata\");t.dispatchEvent(i)}catch(o){console.error(o)}},Wt=e=>{var a;let t=e.type,r=ne(t),n=oe(t),o,s=!!((a=e.partList)!=null&&a.length);return r===h.LIVE&&(o=s?e.partTarget*2:e.targetduration*3),{streamType:r,targetLiveWindow:n,liveEdgeStartOffset:o,lowLatency:s}},Ft=(e,t,r)=>{var i,l,u,f,c,y,d,p;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,lowLatency:a}=Wt(e);if(n===h.LIVE){a?(r.config.backBufferLength=(i=r.userConfig.backBufferLength)!=null?i:4,r.config.maxFragLookUpTolerance=(l=r.userConfig.maxFragLookUpTolerance)!=null?l:.001,r.config.abrBandWidthUpFactor=(u=r.userConfig.abrBandWidthUpFactor)!=null?u:r.config.abrBandWidthFactor):r.config.backBufferLength=(f=r.userConfig.backBufferLength)!=null?f:8;let M=Object.freeze({get length(){return t.seekable.length},start(E){return t.seekable.start(E)},end(E){var D;return E>this.length||E<0||Number.isFinite(t.duration)?t.seekable.end(E):(D=r.liveSyncPosition)!=null?D:t.seekable.end(E)}});((c=L.get(t))!=null?c:{}).seekable=M}((y=L.get(t))!=null?y:{}).liveEdgeStartOffset=s,((d=L.get(t))!=null?d:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent(\"targetlivewindowchange\",{composed:!0,bubbles:!0})),((p=L.get(t))!=null?p:{}).streamType=n,t.dispatchEvent(new CustomEvent(\"streamtypechange\",{composed:!0,bubbles:!0}))},je,Je,Ze=(Je=(je=globalThis==null?void 0:globalThis.navigator)==null?void 0:je.userAgent)!=null?Je:\"\",Ge,qe,ze,Vt=(ze=(qe=(Ge=globalThis==null?void 0:globalThis.navigator)==null?void 0:Ge.userAgentData)==null?void 0:qe.platform)!=null?ze:\"\",Yt=Ze.toLowerCase().includes(\"android\")||[\"x11\",\"android\"].some(e=>Vt.toLowerCase().includes(e)),$t=e=>/^((?!chrome|android).)*safari/i.test(Ze)&&!!e.canPlayType(\"application/vnd.apple.mpegurl\"),L=new WeakMap,A=\"mux.com\",Xe,Qe,et=(Qe=(Xe=R).isSupported)==null?void 0:Qe.call(Xe),Bt=e=>Yt||!$t(e),kn=()=>{if(typeof window!=\"undefined\")return ye.utils.now()},jt=ye.utils.generateUUID,Dn=({playbackId:e,customDomain:t=A,maxResolution:r,minResolution:n,renditionOrder:o,programStartTime:s,programEndTime:a,assetStartTime:i,assetEndTime:l,playbackToken:u,tokens:{playback:f=u}={},extraSourceParams:c={}}={})=>{if(!e)return;let[y,d=\"\"]=J(e),p=new URL(`https://stream.${t}/${y}.m3u8${d}`);return f||p.searchParams.has(\"token\")?(p.searchParams.forEach((M,E)=>{E!=\"token\"&&p.searchParams.delete(E)}),f&&p.searchParams.set(\"token\",f)):(r&&p.searchParams.set(\"max_resolution\",r),n&&(p.searchParams.set(\"min_resolution\",n),r&&+r.slice(0,-1)<+n.slice(0,-1)&&console.error(\"minResolution must be <= maxResolution\",\"minResolution\",n,\"maxResolution\",r)),o&&p.searchParams.set(\"rendition_order\",o),s&&p.searchParams.set(\"program_start_time\",`${s}`),a&&p.searchParams.set(\"program_end_time\",`${a}`),i&&p.searchParams.set(\"asset_start_time\",`${i}`),l&&p.searchParams.set(\"asset_end_time\",`${l}`),Object.entries(c).forEach(([M,E])=>{E!=null&&p.searchParams.set(M,E)})),p.toString()},ee=e=>{if(!e)return;let[t]=e.split(\"?\");return t||void 0},tt=e=>{if(!e||!e.startsWith(\"https://stream.\"))return;let[t]=new URL(e).pathname.slice(1).split(/\\.m3u8|\\//);return t||void 0},Jt=e=>{var t,r,n;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:it(e)&&(n=(r=ee(e.playbackId))!=null?r:tt(e.src))!=null?n:e.src},Gt=e=>{var t;return(t=L.get(e))==null?void 0:t.error},Pn=e=>{var t;return(t=L.get(e))==null?void 0:t.metadata},Be=e=>{var t,r;return(r=(t=L.get(e))==null?void 0:t.streamType)!=null?r:h.UNKNOWN},Ln=e=>{var t,r;return(r=(t=L.get(e))==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN},rt=e=>{var t,r;return(r=(t=L.get(e))==null?void 0:t.seekable)!=null?r:e.seekable},hn=e=>{var n;let t=(n=L.get(e))==null?void 0:n.liveEdgeStartOffset;if(typeof t!=\"number\")return Number.NaN;let r=rt(e);return r.length?r.end(r.length-1)-t:Number.NaN},_n=e=>{var t;return(t=L.get(e))==null?void 0:t.coreReference},me=.034,qt=(e,t,r=me)=>Math.abs(e-t)<=r,nt=(e,t,r=me)=>e>t||qt(e,t,r),zt=(e,t=me)=>e.paused&&nt(e.currentTime,e.duration,t),ot=(e,t)=>{var u,f,c;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let r=t.currentLevel>=0?(f=(u=t.levels)==null?void 0:u[t.currentLevel])==null?void 0:f.details:(c=t.levels.find(y=>!!y.details))==null?void 0:c.details;if(!r||r.live)return;let{fragments:n}=r;if(!(n!=null&&n.length))return;if(e.currentTime<e.duration-(r.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let s=o.start+o.duration/2,a=e.buffered.start(e.buffered.length-1),i=e.buffered.end(e.buffered.length-1);return s>a&&s<i},Xt=(e,t)=>e.ended||e.loop?e.ended:t&&ot(e,t)?!0:zt(e),Qt=(e,t,r)=>{Zt(t,r,e);let{metadata:n={}}=e,{view_session_id:o=jt()}=n,s=Jt(e);n.view_session_id=o,n.video_id=s,e.metadata=n;let a=y=>{var d;(d=t.mux)==null||d.emit(\"hb\",{view_drm_type:y})};e.drmTypeCb=a,e.fallbackToWebkitFairplay=async()=>{var E;let y=!t.paused,d=t.currentTime;e.useWebkitFairplay=!0;let p=e.muxDataKeepSession;e.muxDataKeepSession=!0;let M=(E=L.get(t))==null?void 0:E.coreReference;Qt(e,t,M),e.muxDataKeepSession=p,e.useWebkitFairplay=!1,y&&await t.play().then(()=>{t.currentTime=d}).catch(()=>{}),t.currentTime=d},L.set(t,{retryCount:0});let i=er(e,t),l=Le(e,t,i);e!=null&&e.muxDataKeepSession&&(t!=null&&t.mux)&&!t.mux.deleted?i&&t.mux.addHLSJS({hlsjs:i,Hls:i?R:void 0}):ir(e,t,i),cr(e,t,i),Ue(t),Fe(t);let u=Pe(e,t,i);he(e,t,i),_e(e,t,i);let f={engine:i,setAutoplay:u,setPreload:l},c=L.get(t);return c&&(c.coreReference=f),f},Zt=(e,t,r)=>{let n=t==null?void 0:t.engine;e!=null&&e.mux&&!e.mux.deleted&&(r!=null&&r.muxDataKeepSession?n&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),n&&(n.detachMedia(),n.destroy()),e&&(e.hasAttribute(\"src\")&&(e.removeAttribute(\"src\"),e.load()),e.removeEventListener(\"error\",ut),e.removeEventListener(\"error\",fe),e.removeEventListener(\"durationchange\",ct),L.delete(e),e.dispatchEvent(new Event(\"teardown\")))};function at(e,t){var u;let r=W(e);if(!(r===w.M3U8))return!0;let o=!r||((u=t.canPlayType(r))!=null?u:!0),{preferPlayback:s}=e,a=s===te.MSE,i=s===te.NATIVE,l=et&&(a||Bt(t));return o&&(i||!l)}var er=(e,t)=>{let{debug:r,streamType:n,startTime:o=-1,metadata:s,preferCmcd:a,_hlsConfig:i={},maxAutoResolution:l,initialBandwidthEstimateKbps:u}=e,c=W(e)===w.M3U8,y=at(e,t);if(c&&!y&&et){let d={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelOnFPSDrop:!0,...u!=null?{abrEwmaDefaultEstimate:u*1e3}:{}},p=tr(n),M=rr(e),E=[O.QUERY,O.HEADER].includes(a)?{useHeaders:a===O.HEADER,sessionId:s==null?void 0:s.view_session_id,contentId:s==null?void 0:s.video_id}:void 0,D=sr(e,i),g=new R({debug:r,startPosition:o,cmcd:E,xhrSetup:(b,m)=>{var H,Ee;if(a&&a!==O.QUERY)return;let v=G(m);if(!v.searchParams.has(\"CMCD\"))return;let N=((Ee=(H=v.searchParams.get(\"CMCD\"))==null?void 0:H.split(\",\"))!=null?Ee:[]).filter(ge=>ge.startsWith(\"sid\")||ge.startsWith(\"cid\")).join(\",\");v.searchParams.set(\"CMCD\",N),b.open(\"GET\",v)},...d,...D,...p,...M,...i});return D.capLevelController===X&&l!==void 0&&X.setMaxAutoResolution(g,l),g.on(R.Events.MANIFEST_PARSED,async function(b,m){var N,H;let v=(N=m.sessionData)==null?void 0:N[\"com.apple.hls.chapters\"];(v!=null&&v.URI||v!=null&&v.VALUE.toLocaleLowerCase().startsWith(\"http\"))&&Te((H=v==null?void 0:v.URI)!=null?H:v==null?void 0:v.VALUE,t)}),g}},tr=e=>e===h.LIVE?{backBufferLength:8}:{},rr=e=>{let{tokens:{drm:t}={},playbackId:r,drmTypeCb:n}=e,o=ee(r);return!t||!o?{}:{emeEnabled:!0,drmSystems:{\"com.apple.fps\":{licenseUrl:Z(e,\"fairplay\"),serverCertificateUrl:st(e,\"fairplay\")},\"com.widevine.alpha\":{licenseUrl:Z(e,\"widevine\")},\"com.microsoft.playready\":{licenseUrl:Z(e,\"playready\")}},requestMediaKeySystemAccessFunc:(s,a)=>(s===\"com.widevine.alpha\"&&(a=[...a.map(i=>{var u;let l=(u=i.videoCapabilities)==null?void 0:u.map(f=>({...f,robustness:\"HW_SECURE_ALL\"}));return{...i,videoCapabilities:l}}),...a]),navigator.requestMediaKeySystemAccess(s,a).then(i=>{let l=At(s);return n==null||n(l),i}))}},nr=async e=>{let t=await fetch(e);return t.status!==200?Promise.reject(t):await t.arrayBuffer()},or=async(e,t)=>{let r=await fetch(t,{method:\"POST\",headers:{\"Content-type\":\"application/octet-stream\"},body:e});if(r.status!==200)return Promise.reject(r);let n=await r.arrayBuffer();return new Uint8Array(n)},ar=(e,t)=>{let o={mediaEl:t,getAppCertificate:()=>nr(st(e,\"fairplay\")).catch(s=>{if(s instanceof Response){let a=F(s,k.DRM,e);return console.error(\"mediaError\",a==null?void 0:a.message,a==null?void 0:a.context),a?Promise.reject(a):Promise.reject(new Error(\"Unexpected error in app cert request\"))}return Promise.reject(s)}),getLicenseKey:s=>or(s,Z(e,\"fairplay\")).catch(a=>{if(a instanceof Response){let i=F(a,k.DRM,e);return console.error(\"mediaError\",i==null?void 0:i.message,i==null?void 0:i.context),i?Promise.reject(i):Promise.reject(new Error(\"Unexpected error in license key request\"))}return Promise.reject(a)}),saveAndDispatchError:I,drmTypeCb:()=>{var s;(s=e.drmTypeCb)==null||s.call(e,Q.FAIRPLAY)}};if(e.useWebkitFairplay)Ye(o);else{let s={fallbackToWebkitFairplay:async()=>{var i;await a(),(i=e.fallbackToWebkitFairplay)==null||i.call(e)},...o},a=$e(s)}},Z=({playbackId:e,tokens:{drm:t}={},customDomain:r=A},n)=>{let o=ee(e);return`https://license.${r.toLocaleLowerCase().endsWith(A)?r:A}/license/${n}/${o}?token=${t}`},st=({playbackId:e,tokens:{drm:t}={},customDomain:r=A},n)=>{let o=ee(e);return`https://license.${r.toLocaleLowerCase().endsWith(A)?r:A}/appcert/${n}/${o}?token=${t}`},it=({playbackId:e,src:t,customDomain:r})=>{if(e)return!0;if(typeof t!=\"string\")return!1;let n=window==null?void 0:window.location.href,o=new URL(t,n).hostname.toLocaleLowerCase();return o.includes(A)||!!r&&o.includes(r.toLocaleLowerCase())},sr=(e,t)=>{let r={};return r.capLevelToPlayerSize=e.capRenditionToPlayerSize,r.capLevelToPlayerSize==null?(r.capLevelController=X,r.capLevelToPlayerSize=!0):r.capLevelController=wt,r},ir=(e,t,r)=>{var l;let{envKey:n,disableTracking:o,muxDataSDK:s=ye,muxDataSDKOptions:a={}}=e,i=it(e);if(!o&&(n||i)){let{playerInitTime:u,playerSoftwareName:f,playerSoftwareVersion:c,beaconCollectionDomain:y,debug:d,disableCookies:p}=e,M={...e.metadata,video_title:((l=e==null?void 0:e.metadata)==null?void 0:l.video_title)||void 0},E=D=>typeof D.player_error_code==\"string\"?!1:typeof e.errorTranslator==\"function\"?e.errorTranslator(D):D;s.monitor(t,{debug:d,beaconCollectionDomain:y,hlsjs:r,Hls:r?R:void 0,automaticErrorTracking:!1,errorTranslator:E,disableCookies:p,...a,data:{...n?{env_key:n}:{},player_software_name:f,player_software:f,player_software_version:c,player_init_time:u,...M}})}},cr=(e,t,r)=>{var f,c;let n=at(e,t),{src:o,customDomain:s=A}=e,a=()=>{t.ended||e.disablePseudoEnded||!Xt(t,r)||(ot(t,r)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event(\"ended\")))},i,l,u=()=>{let y=rt(t),d,p;y.length>0&&(d=y.start(0),p=y.end(0)),(l!==p||i!==d)&&t.dispatchEvent(new CustomEvent(\"seekablechange\",{composed:!0})),i=d,l=p};if(P(t,\"durationchange\",u),t&&n){let y=W(e);if(typeof o==\"string\"){if(o.endsWith(\".mp4\")&&o.includes(s)){let M=tt(o),E=new URL(`https://stream.${s}/${M}/metadata.json`);Te(E.toString(),t)}let d=()=>{if(Be(t)!==h.LIVE||Number.isFinite(t.duration))return;let M=setInterval(u,1e3);t.addEventListener(\"teardown\",()=>{clearInterval(M)},{once:!0}),P(t,\"durationchange\",()=>{Number.isFinite(t.duration)&&clearInterval(M)})},p=async()=>Kt(o,t,y).then(d).catch(M=>{if(M instanceof Response){let E=F(M,k.VIDEO,e);if(E){I(t,E);return}}else M instanceof Error});if(t.preload===\"none\"){let M=()=>{p(),t.removeEventListener(\"loadedmetadata\",E)},E=()=>{p(),t.removeEventListener(\"play\",M)};P(t,\"play\",M,{once:!0}),P(t,\"loadedmetadata\",E,{once:!0})}else p();(f=e.tokens)!=null&&f.drm?ar(e,t):P(t,\"encrypted\",()=>{let M=x(\"Attempting to play DRM-protected content without providing a DRM token.\"),E=new T(M,T.MEDIA_ERR_ENCRYPTED,!0);E.errorCategory=k.DRM,E.muxCode=C.ENCRYPTED_MISSING_TOKEN,I(t,E)},{once:!0}),t.setAttribute(\"src\",o),e.startTime&&(((c=L.get(t))!=null?c:{}).startTime=e.startTime,t.addEventListener(\"durationchange\",ct,{once:!0}))}else t.removeAttribute(\"src\");t.addEventListener(\"error\",ut),t.addEventListener(\"error\",fe),t.addEventListener(\"emptied\",()=>{t.querySelectorAll(\"track[data-removeondestroy]\").forEach(p=>{p.remove()})},{once:!0}),P(t,\"pause\",a),P(t,\"seeked\",a),P(t,\"play\",()=>{t.ended||nt(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else r&&o?(r.once(R.Events.LEVEL_LOADED,(y,d)=>{Ft(d.details,t,r),u(),Be(t)===h.LIVE&&!Number.isFinite(t.duration)&&(r.on(R.Events.LEVEL_UPDATED,u),P(t,\"durationchange\",()=>{Number.isFinite(t.duration)&&r.off(R.Events.LEVELS_UPDATED,u)}))}),r.on(R.Events.ERROR,(y,d)=>{var M,E;let p=ur(d,e);if(p.muxCode===C.NETWORK_NOT_READY){let g=(M=L.get(t))!=null?M:{},b=(E=g.retryCount)!=null?E:0;if(b<6){let m=b===0?5e3:6e4,v=new T(`Retrying in ${m/1e3} seconds...`,p.code,p.fatal);Object.assign(v,p),I(t,v);let N=setTimeout(()=>{g.retryCount=b+1,d.details===\"manifestLoadError\"&&d.url&&r.loadSource(d.url)},m);t.addEventListener(\"teardown\",()=>clearTimeout(N),{once:!0});return}else{g.retryCount=0;let m=new T('Try again later or <a href=\"#\" onclick=\"window.location.reload(); return false;\" style=\"color: #4a90e2;\">click here to retry</a>',p.code,p.fatal);Object.assign(m,p),I(t,m);return}}I(t,p)}),r.on(R.Events.MANIFEST_LOADED,()=>{let y=L.get(t);y&&y.error&&(y.error=null,y.retryCount=0,t.dispatchEvent(new Event(\"emptied\")),t.dispatchEvent(new Event(\"loadstart\")))}),t.addEventListener(\"error\",fe),P(t,\"waiting\",a),we(e,r),Ae(t,r),r.attachMedia(t)):console.error(\"It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.\")};function ct(e){var n;let t=e.target,r=(n=L.get(t))==null?void 0:n.startTime;if(r&&Me(t.seekable,t.duration,r)){let o=t.preload===\"auto\";o&&(t.preload=\"none\"),t.currentTime=r,o&&(t.preload=\"auto\")}}async function ut(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(t!=null&&t.error))return;let{message:r,code:n}=t.error,o=new T(r,n);if(t.src&&n===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var a;let s=(a=Gt(t))!=null?a:t.error;(s==null?void 0:s.code)===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&I(t,o)},500);return}if(t.src&&(n!==T.MEDIA_ERR_DECODE||n!==void 0))try{let{status:s}=await fetch(t.src);o.data={response:{code:s}}}catch{}I(t,o)}function I(e,t){var r;t.fatal&&(((r=L.get(e))!=null?r:{}).error=t,e.dispatchEvent(new CustomEvent(\"error\",{detail:t})))}function fe(e){var n,o;if(!(e instanceof CustomEvent)||!(e.detail instanceof T))return;let t=e.target,r=e.detail;!r||!r.fatal||(((n=L.get(t))!=null?n:{}).error=r,(o=t.mux)==null||o.emit(\"error\",{player_error_code:r.code,player_error_message:r.message,player_error_context:r.context}))}var ur=(e,t)=>{var l,u,f;!e.fatal?t.debug&&console.warn(\"getErrorFromHlsErrorData() (non-fatal)\",e):console.error(\"getErrorFromHlsErrorData()\",e);let n={[R.ErrorTypes.NETWORK_ERROR]:T.MEDIA_ERR_NETWORK,[R.ErrorTypes.MEDIA_ERROR]:T.MEDIA_ERR_DECODE,[R.ErrorTypes.KEY_SYSTEM_ERROR]:T.MEDIA_ERR_ENCRYPTED},o=c=>[R.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,R.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(c.details)?T.MEDIA_ERR_NETWORK:n[c.type],s=c=>{if(c.type===R.ErrorTypes.KEY_SYSTEM_ERROR)return k.DRM;if(c.type===R.ErrorTypes.NETWORK_ERROR)return k.VIDEO},a,i=o(e);if(i===T.MEDIA_ERR_NETWORK&&e.response){let c=(l=s(e))!=null?l:k.VIDEO;a=(u=F(e.response,c,t,e.fatal))!=null?u:new T(\"\",i,e.fatal)}else if(i===T.MEDIA_ERR_ENCRYPTED)if(e.details===R.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let c=x(\"Attempting to play DRM-protected content without providing a DRM token.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_MISSING_TOKEN}else if(e.details===R.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let c=x(\"Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(e.details===R.ErrorDetails.KEY_SYSTEM_NO_SESSION){let c=x(\"Failed to generate a DRM license request. This may be an issue with the player or your protected content.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,!0),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(e.details===R.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let c=x(\"Failed to update DRM license. This may be an issue with the player or your protected content.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(e.details===R.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let c=x(\"Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(e.details===R.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let c=x(\"The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_CDM_ERROR}else if(e.details===R.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let c=x(\"DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.\");a=new T(c,T.MEDIA_ERR_ENCRYPTED,!1),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_OUTPUT_RESTRICTED}else a=new T(e.error.message,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=k.DRM,a.muxCode=C.ENCRYPTED_ERROR;else a=new T(\"\",i,e.fatal);return a.context||(a.context=`${e.url?`url: ${e.url}\n`:\"\"}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text}\n`:\"\"}${e.reason?`failure reason: ${e.reason}\n`:\"\"}${e.level?`level: ${e.level}\n`:\"\"}${e.parent?`parent stream controller: ${e.parent}\n`:\"\"}${e.buffer?`buffer length: ${e.buffer}\n`:\"\"}${e.error?`error: ${e.error}\n`:\"\"}${e.event?`event: ${e.event}\n`:\"\"}${e.err?`error message: ${(f=e.err)==null?void 0:f.message}\n`:\"\"}`),a.data=e,a};export{Y as AutoplayTypes,fr as CmcdTypeValues,O as CmcdTypes,w as ExtensionMimeTypeMap,R as Hls,Mr as MaxAutoResolution,mr as MaxResolution,T as MediaError,$ as MimeTypeShorthandMap,X as MinCapLevelController,Er as MinResolution,k as MuxErrorCategory,C as MuxErrorCode,de as MuxJWTAud,te as PlaybackTypes,gr as RenditionOrder,h as StreamTypes,Ke as addChapters,Ne as addCuePoints,ce as addTextTrack,Tr as allMediaTypes,V as errorCategoryToTokenNameOrPrefix,Te as fetchAndDispatchMuxMetadata,kn as generatePlayerInitTime,jt as generateUUID,We as getActiveChapter,Oe as getActiveCuePoint,nr as getAppCertificate,sr as getCapLevelControllerConfig,Mt as getChapters,_n as getCoreReference,gt as getCuePoints,Rt as getCurrentPdt,rr as getDRMConfig,Xt as getEnded,Gt as getError,or as getLicenseKey,hn as getLiveEdgeStart,St as getMediaPlaylistFromMultivariantPlaylist,Pn as getMetadata,It as getMultivariantPlaylistSessionData,rt as getSeekable,bt as getStartDate,Wt as getStreamInfoFromHlsjsLevelDetails,Ut as getStreamInfoFromPlaylist,Ht as getStreamInfoFromSrcAndType,Be as getStreamType,tr as getStreamTypeConfig,Ln as getTargetLiveWindow,U as getTextTrack,x as i18n,Qt as initialize,K as isKeyOf,it as isMuxVideoSrc,zt as isPseudoEnded,ot as isStuckOnLastFragment,cr as loadMedia,ye as mux,L as muxMediaState,ae as parseJwt,Ot as parseTagAttributes,Et as removeTextTrack,Fe as setupChapters,Ue as setupCuePoints,er as setupHls,ir as setupMux,ar as setupNativeFairplayDRM,yr as shorthandKeys,Zt as teardown,st as toAppCertURL,At as toDRMTypeFromKeySystem,Z as toLicenseKeyURL,Dn as toMuxVideoURL,tt as toPlaybackIdFromSrc,J as toPlaybackIdParts,Ft as updateStreamInfoFromHlsjsLevelDetails,Kt as updateStreamInfoFromSrc};\n//# sourceMappingURL=index.mjs.map\n","var D=n=>{throw TypeError(n)};var P=(n,a,e)=>a.has(n)||D(\"Cannot \"+e);var r=(n,a,e)=>(P(n,a,\"read from private field\"),e?e.call(n):a.get(n)),o=(n,a,e)=>a.has(n)?D(\"Cannot add the same private member more than once\"):a instanceof WeakSet?a.add(n):a.set(n,e),E=(n,a,e,i)=>(P(n,a,\"write to private field\"),i?i.call(n,e):a.set(n,e),e),b=(n,a,e)=>(P(n,a,\"access private method\"),e);import{initialize as W,teardown as F,generatePlayerInitTime as V,PlaybackTypes as L,toMuxVideoURL as H,MediaError as ce,getError as w,CmcdTypeValues as x,addCuePoints as $,getCuePoints as z,getActiveCuePoint as X,addChapters as j,getActiveChapter as q,getMetadata as Z,getStartDate as J,getCurrentPdt as Q,getStreamType as ee,getTargetLiveWindow as te,getLiveEdgeStart as ie,getSeekable as se,getEnded as re,getChapters as ne,toPlaybackIdFromSrc as ae,toPlaybackIdParts as ue,getCoreReference as oe}from\"@mux/playback-core\";var Y=()=>{try{return\"0.31.0\"}catch{}return\"UNKNOWN\"},U=Y(),k=()=>U;import{CustomVideoElement as y,Events as Ie}from\"custom-media-element\";var v=`\n<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" part=\"logo\" style=\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\" viewBox=\"0 0 1600 500\"><g fill=\"#fff\"><path d=\"M994.287 93.486c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m0-93.486c-34.509 0-62.484 27.976-62.484 62.486v187.511c0 68.943-56.09 125.033-125.032 125.033s-125.03-56.09-125.03-125.033V62.486C681.741 27.976 653.765 0 619.256 0s-62.484 27.976-62.484 62.486v187.511C556.772 387.85 668.921 500 806.771 500c137.851 0 250.001-112.15 250.001-250.003V62.486c0-34.51-27.976-62.486-62.485-62.486M1537.51 468.511c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m-275.883-218.509-143.33 143.329c-24.402 24.402-24.402 63.966 0 88.368 24.402 24.402 63.967 24.402 88.369 0l143.33-143.329 143.328 143.329c24.402 24.4 63.967 24.402 88.369 0 24.403-24.402 24.403-63.966.001-88.368l-143.33-143.329.001-.004 143.329-143.329c24.402-24.402 24.402-63.965 0-88.367s-63.967-24.402-88.369 0L1349.996 161.63 1206.667 18.302c-24.402-24.401-63.967-24.402-88.369 0s-24.402 63.965 0 88.367l143.329 143.329v.004ZM437.511 468.521c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31M461.426 4.759C438.078-4.913 411.2.432 393.33 18.303L249.999 161.632 106.669 18.303C88.798.432 61.922-4.913 38.573 4.759 15.224 14.43-.001 37.214-.001 62.488v375.026c0 34.51 27.977 62.486 62.487 62.486 34.51 0 62.486-27.976 62.486-62.486V213.341l80.843 80.844c24.404 24.402 63.965 24.402 88.369 0l80.843-80.844v224.173c0 34.51 27.976 62.486 62.486 62.486s62.486-27.976 62.486-62.486V62.488c0-25.274-15.224-48.058-38.573-57.729\" style=\"fill-rule:nonzero\"/></g></svg>`;var t={BEACON_COLLECTION_DOMAIN:\"beacon-collection-domain\",CUSTOM_DOMAIN:\"custom-domain\",DEBUG:\"debug\",DISABLE_TRACKING:\"disable-tracking\",DISABLE_COOKIES:\"disable-cookies\",DISABLE_PSEUDO_ENDED:\"disable-pseudo-ended\",DRM_TOKEN:\"drm-token\",PLAYBACK_TOKEN:\"playback-token\",ENV_KEY:\"env-key\",MAX_RESOLUTION:\"max-resolution\",MIN_RESOLUTION:\"min-resolution\",MAX_AUTO_RESOLUTION:\"max-auto-resolution\",RENDITION_ORDER:\"rendition-order\",PROGRAM_START_TIME:\"program-start-time\",PROGRAM_END_TIME:\"program-end-time\",ASSET_START_TIME:\"asset-start-time\",ASSET_END_TIME:\"asset-end-time\",METADATA_URL:\"metadata-url\",PLAYBACK_ID:\"playback-id\",PLAYER_SOFTWARE_NAME:\"player-software-name\",PLAYER_SOFTWARE_VERSION:\"player-software-version\",PLAYER_INIT_TIME:\"player-init-time\",PREFER_CMCD:\"prefer-cmcd\",PREFER_PLAYBACK:\"prefer-playback\",START_TIME:\"start-time\",STREAM_TYPE:\"stream-type\",TARGET_LIVE_WINDOW:\"target-live-window\",LIVE_EDGE_OFFSET:\"live-edge-offset\",TYPE:\"type\",LOGO:\"logo\",CAP_RENDITION_TO_PLAYER_SIZE:\"cap-rendition-to-player-size\",INITIAL_BANDWIDTH_ESTIMATE_KBPS:\"initial-bandwidth-estimate-kbps\",INITIAL_ESTIMATE_SEGMENTS:\"initial-estimate-segments\",MIN_PRELOAD_SEGMENTS:\"min-preload-segments\"},de=Object.values(t),B=k(),K=\"mux-video\",T,_,m,I,p,S,O,M,c,R,u,A,N,g,G=class extends y{constructor(){super();o(this,u);o(this,T);o(this,_);o(this,m,{});o(this,I,{});o(this,p);o(this,S);o(this,O);o(this,M);o(this,c,\"\");o(this,R,e=>{var l;let i=Z(this.nativeEl),s=(l=this.metadata)!=null?l:{};this.metadata={...i,...s},(i==null?void 0:i[\"com.mux.video.branding\"])===\"mux-free-plan\"&&(E(this,c,\"default\"),this.updateLogo())});o(this,N);E(this,_,V())}static get NAME(){return K}static get VERSION(){return B}static get observedAttributes(){var e;return[...de,...(e=y.observedAttributes)!=null?e:[]]}static getLogoHTML(e){return!e||e===\"false\"?\"\":e===\"default\"?v:`<img part=\"logo\" src=\"${e}\" />`}static getTemplateHTML(e={}){var i;return`\n ${y.getTemplateHTML(e)}\n <style>\n :host {\n position: relative;\n }\n slot[name=\"logo\"] {\n display: flex;\n justify-content: end;\n position: absolute;\n top: 1rem;\n right: 1rem;\n opacity: 0;\n transition: opacity 0.25s ease-in-out;\n z-index: 1;\n }\n slot[name=\"logo\"]:has([part=\"logo\"]) {\n opacity: 1;\n }\n slot[name=\"logo\"] [part=\"logo\"] {\n width: 5rem;\n pointer-events: none;\n user-select: none;\n }\n </style>\n <slot name=\"logo\">\n ${this.getLogoHTML((i=e[t.LOGO])!=null?i:\"\")}\n </slot>\n `}get preferCmcd(){var e;return(e=this.getAttribute(t.PREFER_CMCD))!=null?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?x.includes(e)?this.setAttribute(t.PREFER_CMCD,e):console.warn(`Invalid value for preferCmcd. Must be one of ${x.join()}`):this.removeAttribute(t.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(t.PLAYER_INIT_TIME)?+this.getAttribute(t.PLAYER_INIT_TIME):r(this,_)}set playerInitTime(e){e!=this.playerInitTime&&(e==null?this.removeAttribute(t.PLAYER_INIT_TIME):this.setAttribute(t.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return(e=r(this,O))!=null?e:K}set playerSoftwareName(e){E(this,O,e)}get playerSoftwareVersion(){var e;return(e=r(this,S))!=null?e:B}set playerSoftwareVersion(e){E(this,S,e)}get _hls(){var e;return(e=r(this,u,A))==null?void 0:e.engine}get mux(){var e;return(e=this.nativeEl)==null?void 0:e.mux}get error(){var e;return(e=w(this.nativeEl))!=null?e:null}get errorTranslator(){return r(this,M)}set errorTranslator(e){E(this,M,e)}get src(){return this.getAttribute(\"src\")}set src(e){e!==this.src&&(e==null?this.removeAttribute(\"src\"):this.setAttribute(\"src\",e))}get type(){var e;return(e=this.getAttribute(t.TYPE))!=null?e:void 0}set type(e){e!==this.type&&(e?this.setAttribute(t.TYPE,e):this.removeAttribute(t.TYPE))}get preload(){let e=this.getAttribute(\"preload\");return e===\"\"?\"auto\":[\"none\",\"metadata\",\"auto\"].includes(e)?e:super.preload}set preload(e){e!=this.getAttribute(\"preload\")&&([\"\",\"none\",\"metadata\",\"auto\"].includes(e)?this.setAttribute(\"preload\",e):this.removeAttribute(\"preload\"))}get debug(){return this.getAttribute(t.DEBUG)!=null}set debug(e){e!==this.debug&&(e?this.setAttribute(t.DEBUG,\"\"):this.removeAttribute(t.DEBUG))}get disableTracking(){return this.hasAttribute(t.DISABLE_TRACKING)}set disableTracking(e){e!==this.disableTracking&&this.toggleAttribute(t.DISABLE_TRACKING,!!e)}get disableCookies(){return this.hasAttribute(t.DISABLE_COOKIES)}set disableCookies(e){e!==this.disableCookies&&(e?this.setAttribute(t.DISABLE_COOKIES,\"\"):this.removeAttribute(t.DISABLE_COOKIES))}get disablePseudoEnded(){return this.hasAttribute(t.DISABLE_PSEUDO_ENDED)}set disablePseudoEnded(e){e!==this.disablePseudoEnded&&(e?this.setAttribute(t.DISABLE_PSEUDO_ENDED,\"\"):this.removeAttribute(t.DISABLE_PSEUDO_ENDED))}get startTime(){let e=this.getAttribute(t.START_TIME);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set startTime(e){e!==this.startTime&&(e==null?this.removeAttribute(t.START_TIME):this.setAttribute(t.START_TIME,`${e}`))}get initialBandwidthEstimateKbps(){let e=this.getAttribute(t.INITIAL_BANDWIDTH_ESTIMATE_KBPS);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set initialBandwidthEstimateKbps(e){e!==this.initialBandwidthEstimateKbps&&(e==null?this.removeAttribute(t.INITIAL_BANDWIDTH_ESTIMATE_KBPS):this.setAttribute(t.INITIAL_BANDWIDTH_ESTIMATE_KBPS,`${e}`))}get initialEstimateSegments(){let e=this.getAttribute(t.INITIAL_ESTIMATE_SEGMENTS);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set initialEstimateSegments(e){e!==this.initialEstimateSegments&&(e==null?this.removeAttribute(t.INITIAL_ESTIMATE_SEGMENTS):this.setAttribute(t.INITIAL_ESTIMATE_SEGMENTS,`${e}`))}get minPreloadSegments(){let e=this.getAttribute(t.MIN_PRELOAD_SEGMENTS);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set minPreloadSegments(e){e!==this.minPreloadSegments&&(e==null?this.removeAttribute(t.MIN_PRELOAD_SEGMENTS):this.setAttribute(t.MIN_PRELOAD_SEGMENTS,`${e}`))}get playbackId(){var e;return this.hasAttribute(t.PLAYBACK_ID)?this.getAttribute(t.PLAYBACK_ID):(e=ae(this.src))!=null?e:void 0}set playbackId(e){e!==this.playbackId&&(e?this.setAttribute(t.PLAYBACK_ID,e):this.removeAttribute(t.PLAYBACK_ID))}get maxResolution(){var e;return(e=this.getAttribute(t.MAX_RESOLUTION))!=null?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(t.MAX_RESOLUTION,e):this.removeAttribute(t.MAX_RESOLUTION))}get minResolution(){var e;return(e=this.getAttribute(t.MIN_RESOLUTION))!=null?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(t.MIN_RESOLUTION,e):this.removeAttribute(t.MIN_RESOLUTION))}get maxAutoResolution(){var e;return(e=this.getAttribute(t.MAX_AUTO_RESOLUTION))!=null?e:void 0}set maxAutoResolution(e){e==null?this.removeAttribute(t.MAX_AUTO_RESOLUTION):this.setAttribute(t.MAX_AUTO_RESOLUTION,e)}get renditionOrder(){var e;return(e=this.getAttribute(t.RENDITION_ORDER))!=null?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(t.RENDITION_ORDER,e):this.removeAttribute(t.RENDITION_ORDER))}get programStartTime(){let e=this.getAttribute(t.PROGRAM_START_TIME);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set programStartTime(e){e==null?this.removeAttribute(t.PROGRAM_START_TIME):this.setAttribute(t.PROGRAM_START_TIME,`${e}`)}get programEndTime(){let e=this.getAttribute(t.PROGRAM_END_TIME);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set programEndTime(e){e==null?this.removeAttribute(t.PROGRAM_END_TIME):this.setAttribute(t.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){let e=this.getAttribute(t.ASSET_START_TIME);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set assetStartTime(e){e==null?this.removeAttribute(t.ASSET_START_TIME):this.setAttribute(t.ASSET_START_TIME,`${e}`)}get assetEndTime(){let e=this.getAttribute(t.ASSET_END_TIME);if(e==null)return;let i=+e;return Number.isNaN(i)?void 0:i}set assetEndTime(e){e==null?this.removeAttribute(t.ASSET_END_TIME):this.setAttribute(t.ASSET_END_TIME,`${e}`)}get customDomain(){var e;return(e=this.getAttribute(t.CUSTOM_DOMAIN))!=null?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(t.CUSTOM_DOMAIN,e):this.removeAttribute(t.CUSTOM_DOMAIN))}get capRenditionToPlayerSize(){var e;return((e=this._hlsConfig)==null?void 0:e.capLevelToPlayerSize)!=null?this._hlsConfig.capLevelToPlayerSize:r(this,N)}set capRenditionToPlayerSize(e){E(this,N,e)}get drmToken(){var e;return(e=this.getAttribute(t.DRM_TOKEN))!=null?e:void 0}set drmToken(e){e!==this.drmToken&&(e?this.setAttribute(t.DRM_TOKEN,e):this.removeAttribute(t.DRM_TOKEN))}get playbackToken(){var e,i,s,l;if(this.hasAttribute(t.PLAYBACK_TOKEN))return(e=this.getAttribute(t.PLAYBACK_TOKEN))!=null?e:void 0;if(this.hasAttribute(t.PLAYBACK_ID)){let[,f]=ue((i=this.playbackId)!=null?i:\"\");return(s=new URLSearchParams(f).get(\"token\"))!=null?s:void 0}if(this.src)return(l=new URLSearchParams(this.src).get(\"token\"))!=null?l:void 0}set playbackToken(e){e!==this.playbackToken&&(e?this.setAttribute(t.PLAYBACK_TOKEN,e):this.removeAttribute(t.PLAYBACK_TOKEN))}get tokens(){let e=this.getAttribute(t.PLAYBACK_TOKEN),i=this.getAttribute(t.DRM_TOKEN);return{...r(this,I),...e!=null?{playback:e}:{},...i!=null?{drm:i}:{}}}set tokens(e){E(this,I,e!=null?e:{})}get ended(){return re(this.nativeEl,this._hls)}get envKey(){var e;return(e=this.getAttribute(t.ENV_KEY))!=null?e:void 0}set envKey(e){e!==this.envKey&&(e?this.setAttribute(t.ENV_KEY,e):this.removeAttribute(t.ENV_KEY))}get beaconCollectionDomain(){var e;return(e=this.getAttribute(t.BEACON_COLLECTION_DOMAIN))!=null?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(t.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(t.BEACON_COLLECTION_DOMAIN))}get streamType(){var e;return(e=this.getAttribute(t.STREAM_TYPE))!=null?e:ee(this.nativeEl)}set streamType(e){e!==this.streamType&&(e?this.setAttribute(t.STREAM_TYPE,e):this.removeAttribute(t.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(t.TARGET_LIVE_WINDOW)?+this.getAttribute(t.TARGET_LIVE_WINDOW):te(this.nativeEl)}set targetLiveWindow(e){e!=this.targetLiveWindow&&(e==null?this.removeAttribute(t.TARGET_LIVE_WINDOW):this.setAttribute(t.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e,i;if(this.hasAttribute(t.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:s}=this,l=(e=this.nativeEl.seekable.end(0))!=null?e:0,f=(i=this.nativeEl.seekable.start(0))!=null?i:0;return Math.max(f,l-s)}return ie(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(t.LIVE_EDGE_OFFSET))return+this.getAttribute(t.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){e!=this.liveEdgeOffset&&(e==null?this.removeAttribute(t.LIVE_EDGE_OFFSET):this.setAttribute(t.LIVE_EDGE_OFFSET,`${+e}`))}get seekable(){return se(this.nativeEl)}async addCuePoints(e){return $(this.nativeEl,e)}get activeCuePoint(){return X(this.nativeEl)}get cuePoints(){return z(this.nativeEl)}async addChapters(e){return j(this.nativeEl,e)}get activeChapter(){return q(this.nativeEl)}get chapters(){return ne(this.nativeEl)}getStartDate(){return J(this.nativeEl,this._hls)}get currentPdt(){return Q(this.nativeEl,this._hls)}get preferPlayback(){let e=this.getAttribute(t.PREFER_PLAYBACK);if(e===L.MSE||e===L.NATIVE)return e}set preferPlayback(e){e!==this.preferPlayback&&(e===L.MSE||e===L.NATIVE?this.setAttribute(t.PREFER_PLAYBACK,e):this.removeAttribute(t.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith(\"metadata-\")&&![t.METADATA_URL].includes(i)).reduce((i,s)=>{let l=this.getAttribute(s);return l!=null&&(i[s.replace(/^metadata-/,\"\").replace(/-/g,\"_\")]=l),i},{}),...r(this,m)}}set metadata(e){E(this,m,e!=null?e:{}),this.mux&&this.mux.emit(\"hb\",r(this,m))}get _hlsConfig(){return r(this,p)}set _hlsConfig(e){E(this,p,e)}get logo(){var e;return(e=this.getAttribute(t.LOGO))!=null?e:r(this,c)}set logo(e){e?this.setAttribute(t.LOGO,e):this.removeAttribute(t.LOGO)}load(){W(this,this.nativeEl,r(this,u,A))}unload(){F(this.nativeEl,r(this,u,A),this)}attributeChangedCallback(e,i,s){var f,C;switch(y.observedAttributes.includes(e)&&![\"src\",\"autoplay\",\"preload\"].includes(e)&&super.attributeChangedCallback(e,i,s),e){case t.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=s!=null?s:void 0;break;case t.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=s!=null?s:void 0;break;case\"src\":{let d=!!i,h=!!s;!d&&h?b(this,u,g).call(this):d&&!h?this.unload():d&&h&&(this.unload(),b(this,u,g).call(this));break}case\"autoplay\":if(s===i)break;(f=r(this,u,A))==null||f.setAutoplay(this.autoplay);break;case\"preload\":if(s===i)break;(C=r(this,u,A))==null||C.setPreload(s);break;case t.PLAYBACK_ID:case t.CUSTOM_DOMAIN:case t.MAX_RESOLUTION:case t.MIN_RESOLUTION:case t.RENDITION_ORDER:case t.PROGRAM_START_TIME:case t.PROGRAM_END_TIME:case t.ASSET_START_TIME:case t.ASSET_END_TIME:case t.PLAYBACK_TOKEN:this.src=H(this);break;case t.DEBUG:{let d=this.debug;this.mux&&console.info(\"Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src.\"),this._hls&&(this._hls.config.debug=d);break}case t.METADATA_URL:s&&fetch(s).then(d=>d.json()).then(d=>this.metadata=d).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${s}!`));break;case t.STREAM_TYPE:(s==null||s!==i)&&this.dispatchEvent(new CustomEvent(\"streamtypechange\",{composed:!0,bubbles:!0}));break;case t.TARGET_LIVE_WINDOW:(s==null||s!==i)&&this.dispatchEvent(new CustomEvent(\"targetlivewindowchange\",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;case t.LOGO:(s==null||s!==i)&&this.updateLogo();break;case t.DISABLE_TRACKING:{if(s==null||s!==i){let d=this.currentTime,h=this.paused;this.unload(),b(this,u,g).call(this).then(()=>{this.currentTime=d,h||this.play()})}break}case t.DISABLE_COOKIES:{(s==null||s!==i)&&this.disableCookies&&document.cookie.split(\";\").forEach(h=>{h.trim().startsWith(\"muxData\")&&(document.cookie=h.replace(/^ +/,\"\").replace(/=.*/,\"=;expires=\"+new Date().toUTCString()+\";path=/\"))});break}case t.CAP_RENDITION_TO_PLAYER_SIZE:(s==null||s!==i)&&(this.capRenditionToPlayerSize=s!=null?!0:void 0)}}updateLogo(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector('slot[name=\"logo\"]');if(!e)return;let i=this.constructor.getLogoHTML(r(this,c)||this.logo);e.innerHTML=i}connectedCallback(){var e,i;(e=super.connectedCallback)==null||e.call(this),(i=this.nativeEl)==null||i.addEventListener(\"muxmetadata\",r(this,R)),this.nativeEl&&this.src&&!r(this,u,A)&&b(this,u,g).call(this)}disconnectedCallback(){var e,i;(e=this.nativeEl)==null||e.removeEventListener(\"muxmetadata\",r(this,R)),this.unload(),(i=super.disconnectedCallback)==null||i.call(this)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{composed:!0,detail:e.detail}))}};T=new WeakMap,_=new WeakMap,m=new WeakMap,I=new WeakMap,p=new WeakMap,S=new WeakMap,O=new WeakMap,M=new WeakMap,c=new WeakMap,R=new WeakMap,u=new WeakSet,A=function(){return oe(this.nativeEl)},N=new WeakMap,g=async function(){r(this,T)||(await E(this,T,Promise.resolve()),E(this,T,null),this.load())};export{t as Attributes,Ie as Events,ce as MediaError,G as MuxVideoBaseElement,V as generatePlayerInitTime,K as playerSoftwareName,B as playerSoftwareVersion};\n//# sourceMappingURL=base.mjs.map\n","/* global WeakRef */\n\nexport const privateProps = new WeakMap();\n\nexport class InvalidStateError extends Error {}\nexport class NotSupportedError extends Error {}\nexport class NotFoundError extends Error {}\n\nconst HLS_RESPONSE_HEADERS = ['application/x-mpegURL','application/vnd.apple.mpegurl','audio/mpegurl']\n\n// Fallback to a plain Set if WeakRef is not available.\nexport const IterableWeakSet = globalThis.WeakRef ?\n class extends Set {\n add(el) {\n super.add(new WeakRef(el));\n }\n forEach(fn) {\n super.forEach((ref) => {\n const value = ref.deref();\n if (value) fn(value);\n });\n }\n } : Set;\n\nexport function onCastApiAvailable(callback) {\n if (!globalThis.chrome?.cast?.isAvailable) {\n globalThis.__onGCastApiAvailable = () => {\n // The globalThis.__onGCastApiAvailable callback alone is not reliable for\n // the added cast.framework. It's loaded in a separate JS file.\n // https://www.gstatic.com/eureka/clank/101/cast_sender.js\n // https://www.gstatic.com/cast/sdk/libs/sender/1.0/cast_framework.js\n customElements\n .whenDefined('google-cast-button')\n .then(callback);\n };\n } else if (!globalThis.cast?.framework) {\n customElements\n .whenDefined('google-cast-button')\n .then(callback);\n } else {\n callback();\n }\n}\n\nexport function requiresCastFramework() {\n // todo: exclude for Android>=56 which supports the Remote Playback API natively.\n return globalThis.chrome;\n}\n\nexport function loadCastFramework() {\n const sdkUrl = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';\n if (globalThis.chrome?.cast || document.querySelector(`script[src=\"${sdkUrl}\"]`)) return;\n\n const script = document.createElement('script');\n script.src = sdkUrl;\n document.head.append(script);\n}\n\nexport function castContext() {\n return globalThis.cast?.framework?.CastContext.getInstance();\n}\n\nexport function currentSession() {\n return castContext()?.getCurrentSession();\n}\n\nexport function currentMedia() {\n return currentSession()?.getSessionObj().media[0];\n}\n\nexport function editTracksInfo(request) {\n return new Promise((resolve, reject) => {\n currentMedia().editTracksInfo(request, resolve, reject);\n });\n}\n\nexport function getMediaStatus(request) {\n return new Promise((resolve, reject) => {\n currentMedia().getStatus(request, resolve, reject);\n });\n}\n\nexport function setCastOptions(options) {\n return castContext().setOptions({\n ...getDefaultCastOptions(),\n ...options,\n });\n}\n\nexport function getDefaultCastOptions() {\n return {\n // Set the receiver application ID to your own (created in the\n // Google Cast Developer Console), or optionally\n // use the chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID\n receiverApplicationId: 'CC1AD845',\n\n // Auto join policy can be one of the following three:\n // ORIGIN_SCOPED - Auto connect from same appId and page origin\n // TAB_AND_ORIGIN_SCOPED - Auto connect from same appId, page origin, and tab\n // PAGE_SCOPED - No auto connect\n autoJoinPolicy: 'origin_scoped',\n\n // The following flag enables Cast Connect(requires Chrome 87 or higher)\n // https://developers.googleblog.com/2020/08/introducing-cast-connect-android-tv.html\n androidReceiverCompatible: false,\n\n language: 'en-US',\n resumeSavedSession: true,\n };\n}\n\n//Get the segment format given the end of the URL (.m4s, .ts, etc)\nfunction getFormat(segment) {\n if (!segment) return undefined;\n\n const regex = /\\.([a-zA-Z0-9]+)(?:\\?.*)?$/;\n const match = segment.match(regex);\n return match ? match[1] : null;\n}\n\nfunction parseAudioRenditionUrl(playlistContent) {\n for (const line of playlistContent.split('\\n')) {\n const trimmed = line.trim();\n if (trimmed.startsWith('#EXT-X-MEDIA') && /TYPE=AUDIO/i.test(trimmed)) {\n const match = trimmed.match(/URI=\"([^\"]+)\"/i);\n if (match) return match[1];\n }\n }\n return undefined;\n}\n\nfunction parsePlaylistUrls(playlistContent) {\n const lines = playlistContent.split('\\n');\n const urls = [];\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i].trim();\n\n // Locate available video playlists and get the next line which is the URI (https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-17#section-4.4.6.2)\n if (line.startsWith('#EXT-X-STREAM-INF')) {\n const nextLine = lines[i + 1] ? lines[i + 1].trim() : '';\n if (nextLine && !nextLine.startsWith('#')) {\n urls.push(nextLine);\n }\n }\n }\n\n return urls;\n}\n\nfunction parseSegment(playlistContent){\n const lines = playlistContent.split('\\n');\n\n const url = lines.find(line => !line.trim().startsWith('#') && line.trim() !== '');\n\n return url?.trim();\n}\n\nexport async function isHls(url) {\n if (!url) return false;\n if (/\\.m3u8?(\\?.*)?$/i.test(url)) return true;\n if (url.startsWith('blob:')) return false;\n\n try {\n const response = await fetch(url, {method: 'HEAD'});\n const contentType = response.headers.get('Content-Type');\n\n return HLS_RESPONSE_HEADERS.some((header) => contentType === header);\n } catch (err) {\n console.error('Error while trying to get the Content-Type of the manifest', err);\n return false;\n }\n}\n\nexport async function getPlaylistSegmentFormat(url) {\n if (!url || url.startsWith('blob:')) return { videoFormat: undefined, audioFormat: undefined };\n try {\n const mainManifestContent = await (await fetch(url)).text();\n let videoChunksContent = mainManifestContent;\n\n const playlists = parsePlaylistUrls(mainManifestContent);\n if (playlists.length > 0) {\n const chosenPlaylistUrl = new URL(playlists[0], url).toString();\n videoChunksContent = await (await fetch(chosenPlaylistUrl)).text();\n }\n\n const videoSegment = parseSegment(videoChunksContent);\n const videoFormat = getFormat(videoSegment);\n\n const audioRenditionPath = parseAudioRenditionUrl(mainManifestContent);\n let audioFormat = videoFormat;\n if (audioRenditionPath) {\n try {\n const audioPlaylistUrl = new URL(audioRenditionPath, url).toString();\n const audioChunksContent = await (await fetch(audioPlaylistUrl)).text();\n const audioSegment = parseSegment(audioChunksContent);\n audioFormat = getFormat(audioSegment) ?? videoFormat;\n } catch (err) {\n console.error('Error while trying to parse the audio rendition playlist', err);\n }\n }\n\n return { videoFormat, audioFormat };\n } catch (err) {\n console.error('Error while trying to parse the manifest playlist', err);\n return { videoFormat: undefined, audioFormat: undefined };\n }\n}\n","/* global chrome, cast */\nimport {\n privateProps,\n IterableWeakSet,\n InvalidStateError,\n NotSupportedError,\n onCastApiAvailable,\n castContext,\n currentSession,\n currentMedia,\n editTracksInfo,\n getMediaStatus,\n setCastOptions\n} from './castable-utils.js';\n\nconst remoteInstances = new IterableWeakSet();\nconst castElementRef = new WeakSet();\n\nlet cf;\n\nonCastApiAvailable(() => {\n if (!globalThis.chrome?.cast?.isAvailable) {\n // Useful to see in verbose logs if this shows undefined or false.\n console.debug('chrome.cast.isAvailable', globalThis.chrome?.cast?.isAvailable);\n return;\n }\n\n if (!cf) {\n cf = cast.framework;\n\n castContext().addEventListener(cf.CastContextEventType.CAST_STATE_CHANGED, (e) => {\n remoteInstances.forEach((r) => privateProps.get(r).onCastStateChanged?.(e));\n });\n\n castContext().addEventListener(cf.CastContextEventType.SESSION_STATE_CHANGED, (e) => {\n remoteInstances.forEach((r) => privateProps.get(r).onSessionStateChanged?.(e));\n });\n\n remoteInstances.forEach((r) => privateProps.get(r).init?.());\n }\n});\n\n\nlet remotePlaybackCallbackIdCount = 0;\n\n/**\n * Remote Playback shim for the Google cast SDK.\n * https://w3c.github.io/remote-playback/\n */\nexport class RemotePlayback extends EventTarget {\n #media;\n #isInit;\n #remotePlayer;\n #remoteListeners;\n #state = 'disconnected';\n #available = false;\n #callbacks = new Set();\n #callbackIds = new WeakMap();\n #onTextTrackChange = () => this.#updateRemoteTextTrack();\n\n constructor(media) {\n super();\n\n this.#media = media;\n\n remoteInstances.add(this);\n privateProps.set(this, {\n init: () => this.#init(),\n onCastStateChanged: () => this.#onCastStateChanged(),\n onSessionStateChanged: () => this.#onSessionStateChanged(),\n getCastPlayer: () => this.#castPlayer,\n });\n\n this.#init();\n }\n\n destroy() {\n this.#media?.textTracks?.removeEventListener('change', this.#onTextTrackChange);\n\n // Remove controller listeners if element is removed while casting\n // (in that case #disconnect() won't be called).\n if (this.#remoteListeners && this.#remotePlayer?.controller) {\n Object.entries(this.#remoteListeners).forEach(([event, listener]) => {\n this.#remotePlayer.controller.removeEventListener(event, listener);\n });\n }\n\n if (this.#media) castElementRef.delete(this.#media);\n this.#isInit = false;\n }\n\n get #castPlayer() {\n if (castElementRef.has(this.#media)) return this.#remotePlayer;\n return undefined;\n }\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n * @return {'disconnected'|'connecting'|'connected'}\n */\n get state() {\n return this.#state;\n }\n\n async watchAvailability(callback) {\n if (this.#media.disableRemotePlayback) {\n throw new InvalidStateError('disableRemotePlayback attribute is present.');\n }\n\n this.#callbackIds.set(callback, ++remotePlaybackCallbackIdCount);\n this.#callbacks.add(callback);\n\n // https://w3c.github.io/remote-playback/#getting-the-remote-playback-devices-availability-information\n queueMicrotask(() => callback(this.#hasDevicesAvailable()));\n\n return remotePlaybackCallbackIdCount;\n }\n\n async cancelWatchAvailability(callback) {\n if (this.#media.disableRemotePlayback) {\n throw new InvalidStateError('disableRemotePlayback attribute is present.');\n }\n\n if (callback) {\n this.#callbacks.delete(callback);\n } else {\n this.#callbacks.clear();\n }\n }\n\n async prompt() {\n if (this.#media.disableRemotePlayback) {\n throw new InvalidStateError('disableRemotePlayback attribute is present.');\n }\n\n if (!globalThis.chrome?.cast?.isAvailable) {\n throw new NotSupportedError('The RemotePlayback API is disabled on this platform.');\n }\n\n const willDisconnect = castElementRef.has(this.#media);\n castElementRef.add(this.#media);\n\n setCastOptions(this.#media.castOptions);\n\n Object.entries(this.#remoteListeners).forEach(([event, listener]) => {\n this.#remotePlayer.controller.addEventListener(event, listener);\n });\n\n try {\n // Open browser cast menu.\n await castContext().requestSession();\n } catch (err) {\n // If there will be no disconnect, reset some state here.\n if (!willDisconnect) {\n castElementRef.delete(this.#media);\n }\n\n // Don't throw an error if disconnecting or cancelling.\n if (err === 'cancel') {\n return;\n }\n\n throw new Error(err);\n }\n\n privateProps.get(this.#media)?.loadOnPrompt?.();\n }\n\n #disconnect() {\n if (!castElementRef.has(this.#media)) return;\n\n Object.entries(this.#remoteListeners).forEach(([event, listener]) => {\n this.#remotePlayer.controller.removeEventListener(event, listener);\n });\n\n castElementRef.delete(this.#media);\n\n // isMuted is not in savedPlayerState. should we sync this back to local?\n this.#media.muted = this.#remotePlayer.isMuted;\n this.#media.currentTime = this.#remotePlayer.savedPlayerState.currentTime;\n if (this.#remotePlayer.savedPlayerState.isPaused === false) {\n this.#media.play();\n }\n }\n\n #hasDevicesAvailable() {\n // Cast state: NO_DEVICES_AVAILABLE, NOT_CONNECTED, CONNECTING, CONNECTED\n // https://developers.google.com/cast/docs/reference/web_sender/cast.framework#.CastState\n const castState = castContext()?.getCastState();\n return castState && castState !== 'NO_DEVICES_AVAILABLE';\n }\n\n #onCastStateChanged() {\n // Cast state: NO_DEVICES_AVAILABLE, NOT_CONNECTED, CONNECTING, CONNECTED\n // https://developers.google.com/cast/docs/reference/web_sender/cast.framework#.CastState\n const castState = castContext().getCastState();\n\n if (castElementRef.has(this.#media)) {\n if (castState === 'CONNECTING') {\n this.#state = 'connecting';\n this.dispatchEvent(new Event('connecting'));\n }\n }\n\n if (!this.#available && castState?.includes('CONNECT')) {\n this.#available = true;\n for (let callback of this.#callbacks) callback(true);\n }\n else if (this.#available && (!castState || castState === 'NO_DEVICES_AVAILABLE')) {\n this.#available = false;\n for (let callback of this.#callbacks) callback(false);\n }\n }\n\n async #onSessionStateChanged() {\n // Session states: NO_SESSION, SESSION_STARTING, SESSION_STARTED, SESSION_START_FAILED,\n // SESSION_ENDING, SESSION_ENDED, SESSION_RESUMED\n // https://developers.google.com/cast/docs/reference/web_sender/cast.framework#.SessionState\n\n const { SESSION_RESUMED } = cf.SessionState;\n if (castContext().getSessionState() === SESSION_RESUMED) {\n /**\n * Figure out if this was the video that started the resumed session.\n * @TODO make this more specific than just checking against the video src!! (WL)\n *\n * If this video element can get the same unique id on each browser refresh\n * it would be possible to pass this unique id w/ `LoadRequest.customData`\n * and verify against currentMedia().customData below.\n */\n if (this.#media.castSrc === currentMedia()?.media.contentId) {\n castElementRef.add(this.#media);\n\n Object.entries(this.#remoteListeners).forEach(([event, listener]) => {\n this.#remotePlayer.controller.addEventListener(event, listener);\n });\n\n /**\n * There is cast framework resume session bug when you refresh the page a few\n * times the this.#remotePlayer.currentTime will not be in sync with the receiver :(\n * The below status request syncs it back up.\n */\n try {\n await getMediaStatus(new chrome.cast.media.GetStatusRequest());\n } catch (error) {\n console.error(error);\n }\n\n // Dispatch the play, playing events manually to sync remote playing state.\n this.#remoteListeners[cf.RemotePlayerEventType.IS_PAUSED_CHANGED]();\n this.#remoteListeners[cf.RemotePlayerEventType.PLAYER_STATE_CHANGED]();\n }\n }\n }\n\n #init() {\n if (!cf || this.#isInit) return;\n this.#isInit = true;\n\n setCastOptions(this.#media.castOptions);\n\n /**\n * @TODO add listeners for addtrack, removetrack (WL)\n * This only has an impact on <track> with a `src` because these have to be\n * loaded manually in the load() method. This will require a new load() call\n * for each added/removed track w/ src.\n */\n this.#media.textTracks.addEventListener('change', this.#onTextTrackChange);\n\n this.#onCastStateChanged();\n\n this.#remotePlayer = new cf.RemotePlayer();\n new cf.RemotePlayerController(this.#remotePlayer);\n\n this.#remoteListeners = {\n [cf.RemotePlayerEventType.IS_CONNECTED_CHANGED]: ({ value }) => {\n if (value === true) {\n this.#state = 'connected';\n this.dispatchEvent(new Event('connect'));\n } else {\n this.#disconnect();\n this.#state = 'disconnected';\n this.dispatchEvent(new Event('disconnect'));\n }\n },\n [cf.RemotePlayerEventType.DURATION_CHANGED]: () => {\n this.#media.dispatchEvent(new Event('durationchange'));\n },\n [cf.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]: () => {\n this.#media.dispatchEvent(new Event('volumechange'));\n },\n [cf.RemotePlayerEventType.IS_MUTED_CHANGED]: () => {\n this.#media.dispatchEvent(new Event('volumechange'));\n },\n [cf.RemotePlayerEventType.CURRENT_TIME_CHANGED]: () => {\n if (!this.#castPlayer?.isMediaLoaded) return;\n this.#media.dispatchEvent(new Event('timeupdate'));\n },\n [cf.RemotePlayerEventType.VIDEO_INFO_CHANGED]: () => {\n this.#media.dispatchEvent(new Event('resize'));\n },\n [cf.RemotePlayerEventType.IS_PAUSED_CHANGED]: () => {\n this.#media.dispatchEvent(new Event(this.paused ? 'pause' : 'play'));\n },\n [cf.RemotePlayerEventType.PLAYER_STATE_CHANGED]: () => {\n // Player states: IDLE, PLAYING, PAUSED, BUFFERING\n // https://developers.google.com/cast/docs/reference/web_sender/chrome.cast.media#.PlayerState\n\n // pause event is handled above.\n if (this.#castPlayer?.playerState === chrome.cast.media.PlayerState.PAUSED) {\n return;\n }\n\n this.#media.dispatchEvent(\n new Event(\n {\n [chrome.cast.media.PlayerState.PLAYING]: 'playing',\n [chrome.cast.media.PlayerState.BUFFERING]: 'waiting',\n [chrome.cast.media.PlayerState.IDLE]: 'emptied',\n }[this.#castPlayer?.playerState]\n )\n );\n },\n [cf.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]: async () => {\n if (!this.#castPlayer?.isMediaLoaded) return;\n\n // mediaInfo is not immediately available due to a bug? wait one tick\n await Promise.resolve();\n this.#onRemoteMediaLoaded();\n },\n };\n }\n\n #onRemoteMediaLoaded() {\n this.#updateRemoteTextTrack();\n }\n\n async #updateRemoteTextTrack() {\n if (!this.#castPlayer) return;\n\n // Get the tracks w/ trackId's that have been loaded; manually or via a playlist like a M3U8 or MPD.\n const remoteTracks = this.#remotePlayer.mediaInfo?.tracks ?? [];\n const remoteSubtitles = remoteTracks.filter(\n ({ type }) => type === chrome.cast.media.TrackType.TEXT\n );\n\n const localSubtitles = [...this.#media.textTracks].filter(\n ({ kind }) => kind === 'subtitles' || kind === 'captions'\n );\n\n // Create a new array from the local subs w/ the trackId's from the remote subs.\n const subtitles = remoteSubtitles\n .map(({ language, name, trackId }) => {\n // Find the corresponding local text track and assign the trackId.\n const { mode } =\n localSubtitles.find(\n (local) => local.language === language && local.label === name\n ) ?? {};\n if (mode) return { mode, trackId };\n return false;\n })\n .filter(Boolean);\n\n const hiddenSubtitles = subtitles.filter(\n ({ mode }) => mode !== 'showing'\n );\n const hiddenTrackIds = hiddenSubtitles.map(({ trackId }) => trackId);\n const showingSubtitle = subtitles.find(({ mode }) => mode === 'showing');\n\n // Note this could also include audio or video tracks, diff against local state.\n const activeTrackIds =\n currentSession()?.getSessionObj().media[0]\n ?.activeTrackIds ?? [];\n let requestTrackIds = activeTrackIds;\n\n if (activeTrackIds.length) {\n // Filter out all local hidden subtitle trackId's.\n requestTrackIds = requestTrackIds.filter(\n (id) => !hiddenTrackIds.includes(id)\n );\n }\n\n if (showingSubtitle?.trackId) {\n requestTrackIds = [...requestTrackIds, showingSubtitle.trackId];\n }\n\n // Remove duplicate ids.\n requestTrackIds = [...new Set(requestTrackIds)];\n\n const arrayEquals = (a, b) =>\n a.length === b.length && a.every((a) => b.includes(a));\n if (!arrayEquals(activeTrackIds, requestTrackIds)) {\n try {\n const request = new chrome.cast.media.EditTracksInfoRequest(\n requestTrackIds\n );\n await editTracksInfo(request);\n } catch (error) {\n console.error(error);\n }\n }\n }\n}\n","/* global chrome */\nimport { RemotePlayback } from './castable-remote-playback.js';\nimport {\n privateProps,\n requiresCastFramework,\n loadCastFramework,\n currentSession,\n getDefaultCastOptions,\n isHls,\n getPlaylistSegmentFormat,\n} from './castable-utils.js';\n\n/**\n * CastableMediaMixin\n *\n * This mixin function provides a way to compose multiple classes.\n * @see https://justinfagnani.com/2015/12/21/real-mixins-with-javascript-classes/\n *\n * @param {HTMLMediaElement} superclass - HTMLMediaElement or an extended class of it.\n * @return {CastableMedia}\n */\nexport const CastableMediaMixin = (superclass) =>\n class CastableMedia extends superclass {\n static observedAttributes = [\n ...(superclass.observedAttributes ?? []),\n 'cast-src',\n 'cast-content-type',\n 'cast-stream-type',\n 'cast-receiver',\n ];\n\n #localState = { paused: false };\n #castOptions = getDefaultCastOptions();\n #castCustomData;\n #remote;\n\n get remote() {\n if (this.#remote) return this.#remote;\n\n if (requiresCastFramework()) {\n // Don't create a new RemotePlayback when the element is disconnected.\n // super.disconnectedCallback() may trigger property access that reaches\n // this getter, which would re-create a RemotePlayback after cleanup.\n if (!this.isConnected) return undefined;\n\n // No need to load the Cast framework if it's disabled.\n if (!this.disableRemotePlayback) {\n loadCastFramework();\n }\n\n privateProps.set(this, {\n loadOnPrompt: () => this.#loadOnPrompt(),\n });\n\n return (this.#remote = new RemotePlayback(this));\n }\n\n return super.remote;\n }\n\n get #castPlayer() {\n return privateProps.get(this.#remote)?.getCastPlayer?.();\n }\n\n disconnectedCallback() {\n this.#remote?.destroy();\n this.#remote = null;\n privateProps.delete(this);\n super.disconnectedCallback?.();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (attrName === 'cast-receiver' && newValue) {\n this.#castOptions.receiverApplicationId = newValue;\n return;\n }\n\n if (!this.#castPlayer) return;\n\n switch (attrName) {\n case 'cast-stream-type':\n case 'cast-src':\n this.load();\n break;\n }\n }\n\n async #loadOnPrompt() {\n // Pause locally when the session is created.\n this.#localState.paused = super.paused;\n super.pause();\n\n // Sync over the muted state but not volume, 100% is different on TV's :P\n this.muted = super.muted;\n\n try {\n await this.load();\n } catch (err) {\n console.error(err);\n }\n }\n\n async load() {\n if (!this.#castPlayer) return super.load();\n\n const mediaInfo = new chrome.cast.media.MediaInfo(this.castSrc, this.castContentType);\n mediaInfo.customData = this.castCustomData;\n\n // Manually add text tracks with a `src` attribute.\n // M3U8's load text tracks in the receiver, handle these in the media loaded event.\n const subtitles = [...this.querySelectorAll('track')].filter(\n ({ kind, src }) => src && (kind === 'subtitles' || kind === 'captions')\n );\n\n const activeTrackIds = [];\n let textTrackIdCount = 0;\n\n if (subtitles.length) {\n mediaInfo.tracks = subtitles.map((trackEl) => {\n const trackId = ++textTrackIdCount;\n // only activate 1 subtitle text track.\n if (activeTrackIds.length === 0 && trackEl.track.mode === 'showing') {\n activeTrackIds.push(trackId);\n }\n\n const track = new chrome.cast.media.Track(trackId, chrome.cast.media.TrackType.TEXT);\n track.trackContentId = trackEl.src;\n track.trackContentType = 'text/vtt';\n track.subtype =\n trackEl.kind === 'captions'\n ? chrome.cast.media.TextTrackType.CAPTIONS\n : chrome.cast.media.TextTrackType.SUBTITLES;\n track.name = trackEl.label;\n track.language = trackEl.srclang;\n return track;\n });\n }\n\n if (this.castStreamType === 'live') {\n mediaInfo.streamType = chrome.cast.media.StreamType.LIVE;\n } else {\n mediaInfo.streamType = chrome.cast.media.StreamType.BUFFERED;\n }\n\n mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();\n mediaInfo.metadata.title = this.title;\n mediaInfo.metadata.images = [{ url: this.poster }];\n\n const hlsDetected = await isHls(this.castSrc);\n if (hlsDetected) {\n if (!mediaInfo.contentType) {\n mediaInfo.contentType = 'application/x-mpegURL';\n }\n const { videoFormat, audioFormat } = await getPlaylistSegmentFormat(this.castSrc);\n\n const isVideoFMP4 =\n videoFormat?.includes('m4s') || videoFormat?.includes('mp4') || videoFormat?.includes('m4a');\n if (isVideoFMP4) {\n mediaInfo.hlsSegmentFormat = chrome.cast.media.HlsSegmentFormat.FMP4;\n mediaInfo.hlsVideoSegmentFormat = chrome.cast.media.HlsVideoSegmentFormat.FMP4;\n } else if (audioFormat?.includes('aac')) {\n mediaInfo.hlsSegmentFormat = chrome.cast.media.HlsSegmentFormat.AAC;\n mediaInfo.hlsVideoSegmentFormat = chrome.cast.media.HlsVideoSegmentFormat.MPEG2_TS;\n } else if (videoFormat?.includes('ts') || audioFormat?.includes('ts')) {\n mediaInfo.hlsSegmentFormat = chrome.cast.media.HlsSegmentFormat.TS;\n mediaInfo.hlsVideoSegmentFormat = chrome.cast.media.HlsVideoSegmentFormat.MPEG2_TS;\n }\n }\n\n const request = new chrome.cast.media.LoadRequest(mediaInfo);\n request.currentTime = super.currentTime ?? 0;\n request.autoplay = !this.#localState.paused;\n request.activeTrackIds = activeTrackIds;\n\n await currentSession()?.loadMedia(request);\n\n this.dispatchEvent(new Event('volumechange'));\n }\n\n play() {\n if (this.#castPlayer) {\n if (this.#castPlayer.isPaused) {\n this.#castPlayer.controller?.playOrPause();\n }\n return;\n }\n return super.play();\n }\n\n pause() {\n if (this.#castPlayer) {\n if (!this.#castPlayer.isPaused) {\n this.#castPlayer.controller?.playOrPause();\n }\n return;\n }\n super.pause();\n }\n\n /**\n * @see https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastOptions\n * @readonly\n *\n * @typedef {Object} CastOptions\n * @property {string} [receiverApplicationId='CC1AD845'] - The app id of the cast receiver.\n * @property {string} [autoJoinPolicy='origin_scoped'] - The auto join policy.\n * @property {string} [language='en-US'] - The language to use for the cast receiver.\n * @property {boolean} [androidReceiverCompatible=false] - Whether to use the Cast Connect.\n * @property {boolean} [resumeSavedSession=true] - Whether to resume the last session.\n *\n * @return {CastOptions}\n */\n get castOptions() {\n return this.#castOptions;\n }\n\n get castReceiver() {\n return this.getAttribute('cast-receiver') ?? undefined;\n }\n\n set castReceiver(val) {\n if (this.castReceiver == val) return;\n this.setAttribute('cast-receiver', `${val}`);\n }\n\n // Allow the cast source url to be different than <video src>, could be a blob.\n get castSrc() {\n // Try the first <source src> for usage with even more native markup.\n const currentSrc = this.currentSrc;\n const resolvedSrc = currentSrc?.startsWith('blob:') ? undefined : currentSrc;\n return (\n this.getAttribute('cast-src') ??\n this.querySelector('source')?.src ??\n resolvedSrc ??\n this.getAttribute('src') ??\n undefined\n );\n }\n\n set castSrc(val) {\n if (this.castSrc == val) return;\n this.setAttribute('cast-src', `${val}`);\n }\n\n get castContentType() {\n return this.getAttribute('cast-content-type') ?? undefined;\n }\n\n set castContentType(val) {\n this.setAttribute('cast-content-type', `${val}`);\n }\n\n get castStreamType() {\n // NOTE: Per https://github.com/video-dev/media-ui-extensions/issues/3 `streamType` may yield `\"unknown\"`\n return this.getAttribute('cast-stream-type') ?? this.streamType ?? undefined;\n }\n\n set castStreamType(val) {\n this.setAttribute('cast-stream-type', `${val}`);\n }\n\n get castCustomData() {\n return this.#castCustomData;\n }\n\n set castCustomData(val) {\n const valType = typeof val;\n if (!['object', 'undefined'].includes(valType)) {\n console.error(`castCustomData must be nullish or an object but value was of type ${valType}`);\n return;\n }\n\n this.#castCustomData = val;\n }\n\n get readyState() {\n if (this.#castPlayer) {\n switch (this.#castPlayer.playerState) {\n case chrome.cast.media.PlayerState.IDLE:\n return 0;\n case chrome.cast.media.PlayerState.BUFFERING:\n return 2;\n default:\n return 3;\n }\n }\n return super.readyState;\n }\n\n get paused() {\n if (this.#castPlayer) return this.#castPlayer.isPaused;\n return super.paused;\n }\n\n get muted() {\n if (this.#castPlayer) return this.#castPlayer?.isMuted;\n return super.muted;\n }\n\n set muted(val) {\n if (this.#castPlayer) {\n if ((val && !this.#castPlayer.isMuted) || (!val && this.#castPlayer.isMuted)) {\n this.#castPlayer.controller?.muteOrUnmute();\n }\n return;\n }\n super.muted = val;\n }\n\n get volume() {\n if (this.#castPlayer) return this.#castPlayer?.volumeLevel ?? 1;\n return super.volume;\n }\n\n set volume(val) {\n if (this.#castPlayer) {\n this.#castPlayer.volumeLevel = +val;\n this.#castPlayer.controller?.setVolumeLevel();\n return;\n }\n super.volume = val;\n }\n\n get duration() {\n // castPlayer duration returns `0` when no media is loaded.\n if (this.#castPlayer && this.#castPlayer?.isMediaLoaded) {\n return this.#castPlayer?.duration ?? NaN;\n }\n return super.duration;\n }\n\n get currentTime() {\n if (this.#castPlayer && this.#castPlayer?.isMediaLoaded) {\n return this.#castPlayer?.currentTime ?? 0;\n }\n return super.currentTime;\n }\n\n set currentTime(val) {\n if (this.#castPlayer) {\n this.#castPlayer.currentTime = val;\n this.#castPlayer.controller?.seek();\n return;\n }\n super.currentTime = val;\n }\n };\n\nexport const CastableVideoMixin = CastableMediaMixin;\n","var f=e=>{throw TypeError(e)};var g=(e,o,t)=>o.has(e)||f(\"Cannot \"+t);var u=(e,o,t)=>(g(e,o,\"read from private field\"),t?t.call(e):o.get(e)),m=(e,o,t)=>o.has(e)?f(\"Cannot add the same private member more than once\"):o instanceof WeakSet?o.add(e):o.set(e,t),d=(e,o,t,l)=>(g(e,o,\"write to private field\"),l?l.call(e,t):o.set(e,t),t);var s=class{addEventListener(){}removeEventListener(){}dispatchEvent(o){return!0}};if(typeof DocumentFragment==\"undefined\"){class e extends s{}globalThis.DocumentFragment=e}var n=class extends s{},p=class extends s{},x={get(e){},define(e,o,t){},getName(e){return null},upgrade(e){},whenDefined(e){return Promise.resolve(n)}},a,h=class{constructor(o,t={}){m(this,a);d(this,a,t==null?void 0:t.detail)}get detail(){return u(this,a)}initCustomEvent(){}};a=new WeakMap;function C(e,o){return new n}var y={document:{createElement:C},DocumentFragment,customElements:x,CustomEvent:h,EventTarget:s,HTMLElement:n,HTMLVideoElement:p},b=typeof window==\"undefined\"||typeof globalThis.customElements==\"undefined\",c=b?y:globalThis,k=b?y.document:globalThis.document;import{MuxVideoBaseElement as T}from\"@mux/mux-video/base\";import{CastableMediaMixin as E}from\"castable-video/castable-mixin.js\";import{MediaTracksMixin as D}from\"media-tracks\";export*from\"@mux/mux-video/base\";var r,i=class extends E(D(T)){constructor(){super(...arguments);m(this,r)}get autoplay(){let t=this.getAttribute(\"autoplay\");return t===null?!1:t===\"\"?!0:t}set autoplay(t){let l=this.autoplay;t!==l&&(t?this.setAttribute(\"autoplay\",typeof t==\"string\"?t:\"\"):this.removeAttribute(\"autoplay\"))}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var t;return(t=u(this,r))!=null?t:this.muxCastCustomData}set castCustomData(t){d(this,r,t)}};r=new WeakMap;c.customElements.get(\"mux-video\")||(c.customElements.define(\"mux-video\",i),c.MuxVideoElement=i);var F=i;export{F as default};\n//# sourceMappingURL=index.mjs.map\n","const MediaUIEvents = {\n MEDIA_PLAY_REQUEST: \"mediaplayrequest\",\n MEDIA_PAUSE_REQUEST: \"mediapauserequest\",\n MEDIA_MUTE_REQUEST: \"mediamuterequest\",\n MEDIA_UNMUTE_REQUEST: \"mediaunmuterequest\",\n MEDIA_LOOP_REQUEST: \"medialooprequest\",\n MEDIA_VOLUME_REQUEST: \"mediavolumerequest\",\n MEDIA_SEEK_REQUEST: \"mediaseekrequest\",\n MEDIA_AIRPLAY_REQUEST: \"mediaairplayrequest\",\n MEDIA_ENTER_FULLSCREEN_REQUEST: \"mediaenterfullscreenrequest\",\n MEDIA_EXIT_FULLSCREEN_REQUEST: \"mediaexitfullscreenrequest\",\n MEDIA_PREVIEW_REQUEST: \"mediapreviewrequest\",\n MEDIA_ENTER_PIP_REQUEST: \"mediaenterpiprequest\",\n MEDIA_EXIT_PIP_REQUEST: \"mediaexitpiprequest\",\n MEDIA_ENTER_CAST_REQUEST: \"mediaentercastrequest\",\n MEDIA_EXIT_CAST_REQUEST: \"mediaexitcastrequest\",\n MEDIA_SHOW_TEXT_TRACKS_REQUEST: \"mediashowtexttracksrequest\",\n MEDIA_HIDE_TEXT_TRACKS_REQUEST: \"mediahidetexttracksrequest\",\n MEDIA_SHOW_SUBTITLES_REQUEST: \"mediashowsubtitlesrequest\",\n MEDIA_DISABLE_SUBTITLES_REQUEST: \"mediadisablesubtitlesrequest\",\n MEDIA_TOGGLE_SUBTITLES_REQUEST: \"mediatogglesubtitlesrequest\",\n MEDIA_PLAYBACK_RATE_REQUEST: \"mediaplaybackraterequest\",\n MEDIA_RENDITION_REQUEST: \"mediarenditionrequest\",\n MEDIA_AUDIO_TRACK_REQUEST: \"mediaaudiotrackrequest\",\n MEDIA_SEEK_TO_LIVE_REQUEST: \"mediaseektoliverequest\",\n REGISTER_MEDIA_STATE_RECEIVER: \"registermediastatereceiver\",\n UNREGISTER_MEDIA_STATE_RECEIVER: \"unregistermediastatereceiver\"\n};\nconst MediaStateReceiverAttributes = {\n MEDIA_CHROME_ATTRIBUTES: \"mediachromeattributes\",\n MEDIA_CONTROLLER: \"mediacontroller\"\n};\nconst MediaUIProps = {\n MEDIA_AIRPLAY_UNAVAILABLE: \"mediaAirplayUnavailable\",\n MEDIA_AUDIO_TRACK_ENABLED: \"mediaAudioTrackEnabled\",\n MEDIA_AUDIO_TRACK_LIST: \"mediaAudioTrackList\",\n MEDIA_AUDIO_TRACK_UNAVAILABLE: \"mediaAudioTrackUnavailable\",\n MEDIA_BUFFERED: \"mediaBuffered\",\n MEDIA_CAST_UNAVAILABLE: \"mediaCastUnavailable\",\n MEDIA_CHAPTERS_CUES: \"mediaChaptersCues\",\n MEDIA_CURRENT_TIME: \"mediaCurrentTime\",\n MEDIA_DURATION: \"mediaDuration\",\n MEDIA_ENDED: \"mediaEnded\",\n MEDIA_ERROR: \"mediaError\",\n MEDIA_ERROR_CODE: \"mediaErrorCode\",\n MEDIA_ERROR_MESSAGE: \"mediaErrorMessage\",\n MEDIA_FULLSCREEN_UNAVAILABLE: \"mediaFullscreenUnavailable\",\n MEDIA_HAS_PLAYED: \"mediaHasPlayed\",\n MEDIA_HEIGHT: \"mediaHeight\",\n MEDIA_IS_AIRPLAYING: \"mediaIsAirplaying\",\n MEDIA_IS_CASTING: \"mediaIsCasting\",\n MEDIA_IS_FULLSCREEN: \"mediaIsFullscreen\",\n MEDIA_IS_PIP: \"mediaIsPip\",\n MEDIA_LOADING: \"mediaLoading\",\n MEDIA_MUTED: \"mediaMuted\",\n MEDIA_LOOP: \"mediaLoop\",\n MEDIA_PAUSED: \"mediaPaused\",\n MEDIA_PIP_UNAVAILABLE: \"mediaPipUnavailable\",\n MEDIA_PLAYBACK_RATE: \"mediaPlaybackRate\",\n MEDIA_PREVIEW_CHAPTER: \"mediaPreviewChapter\",\n MEDIA_PREVIEW_COORDS: \"mediaPreviewCoords\",\n MEDIA_PREVIEW_IMAGE: \"mediaPreviewImage\",\n MEDIA_PREVIEW_TIME: \"mediaPreviewTime\",\n MEDIA_RENDITION_LIST: \"mediaRenditionList\",\n MEDIA_RENDITION_SELECTED: \"mediaRenditionSelected\",\n MEDIA_RENDITION_UNAVAILABLE: \"mediaRenditionUnavailable\",\n MEDIA_SEEKABLE: \"mediaSeekable\",\n MEDIA_STREAM_TYPE: \"mediaStreamType\",\n MEDIA_SUBTITLES_LIST: \"mediaSubtitlesList\",\n MEDIA_SUBTITLES_SHOWING: \"mediaSubtitlesShowing\",\n MEDIA_TARGET_LIVE_WINDOW: \"mediaTargetLiveWindow\",\n MEDIA_TIME_IS_LIVE: \"mediaTimeIsLive\",\n MEDIA_VOLUME: \"mediaVolume\",\n MEDIA_VOLUME_LEVEL: \"mediaVolumeLevel\",\n MEDIA_VOLUME_UNAVAILABLE: \"mediaVolumeUnavailable\",\n MEDIA_LANG: \"mediaLang\",\n MEDIA_WIDTH: \"mediaWidth\"\n};\nconst MediaUIPropsEntries = Object.entries(\n MediaUIProps\n);\nconst MediaUIAttributes = MediaUIPropsEntries.reduce(\n (dictObj, [key, propName]) => {\n dictObj[key] = propName.toLowerCase();\n return dictObj;\n },\n {}\n);\nconst AdditionalStateChangeEvents = {\n USER_INACTIVE_CHANGE: \"userinactivechange\",\n BREAKPOINTS_CHANGE: \"breakpointchange\",\n BREAKPOINTS_COMPUTED: \"breakpointscomputed\"\n};\nconst MediaStateChangeEvents = MediaUIPropsEntries.reduce(\n (dictObj, [key, propName]) => {\n dictObj[key] = propName.toLowerCase();\n return dictObj;\n },\n { ...AdditionalStateChangeEvents }\n);\nconst StateChangeEventToAttributeMap = Object.entries(\n MediaStateChangeEvents\n).reduce(\n (mapObj, [key, eventType]) => {\n const attrName = MediaUIAttributes[key];\n if (attrName) {\n mapObj[eventType] = attrName;\n }\n return mapObj;\n },\n { userinactivechange: \"userinactive\" }\n);\nconst AttributeToStateChangeEventMap = Object.entries(\n MediaUIAttributes\n).reduce(\n (mapObj, [key, attrName]) => {\n const evtType = MediaStateChangeEvents[key];\n if (evtType) {\n mapObj[attrName] = evtType;\n }\n return mapObj;\n },\n { userinactive: \"userinactivechange\" }\n);\nconst TextTrackKinds = {\n SUBTITLES: \"subtitles\",\n CAPTIONS: \"captions\",\n DESCRIPTIONS: \"descriptions\",\n CHAPTERS: \"chapters\",\n METADATA: \"metadata\"\n};\nconst TextTrackModes = {\n DISABLED: \"disabled\",\n HIDDEN: \"hidden\",\n SHOWING: \"showing\"\n};\nconst ReadyStates = {\n HAVE_NOTHING: 0,\n HAVE_METADATA: 1,\n HAVE_CURRENT_DATA: 2,\n HAVE_FUTURE_DATA: 3,\n HAVE_ENOUGH_DATA: 4\n};\nconst PointerTypes = {\n MOUSE: \"mouse\",\n PEN: \"pen\",\n TOUCH: \"touch\"\n};\nconst AvailabilityStates = {\n UNAVAILABLE: \"unavailable\",\n UNSUPPORTED: \"unsupported\"\n};\nconst StreamTypes = {\n LIVE: \"live\",\n ON_DEMAND: \"on-demand\",\n UNKNOWN: \"unknown\"\n};\nconst VolumeLevels = {\n HIGH: \"high\",\n MEDIUM: \"medium\",\n LOW: \"low\",\n OFF: \"off\"\n};\nconst WebkitPresentationModes = {\n INLINE: \"inline\",\n FULLSCREEN: \"fullscreen\",\n PICTURE_IN_PICTURE: \"picture-in-picture\"\n};\nexport {\n AttributeToStateChangeEventMap,\n AvailabilityStates,\n MediaStateChangeEvents,\n MediaStateReceiverAttributes,\n MediaUIAttributes,\n MediaUIEvents,\n MediaUIProps,\n PointerTypes,\n ReadyStates,\n StateChangeEventToAttributeMap,\n StreamTypes,\n TextTrackKinds,\n TextTrackModes,\n VolumeLevels,\n WebkitPresentationModes\n};\n","function stringifyRenditionList(renditions) {\n return renditions == null ? void 0 : renditions.map(stringifyRendition).join(\" \");\n}\nfunction parseRenditionList(renditions) {\n return renditions == null ? void 0 : renditions.split(/\\s+/).map(parseRendition);\n}\nfunction stringifyRendition(rendition) {\n if (rendition) {\n const { id, width, height } = rendition;\n return [id, width, height].filter((a) => a != null).join(\":\");\n }\n}\nfunction parseRendition(rendition) {\n if (rendition) {\n const [id, width, height] = rendition.split(\":\");\n return { id, width: +width, height: +height };\n }\n}\nfunction stringifyAudioTrackList(audioTracks) {\n return audioTracks == null ? void 0 : audioTracks.map(stringifyAudioTrack).join(\" \");\n}\nfunction parseAudioTrackList(audioTracks) {\n return audioTracks == null ? void 0 : audioTracks.split(/\\s+/).map(parseAudioTrack);\n}\nfunction stringifyAudioTrack(audioTrack) {\n if (audioTrack) {\n const { id, kind, language, label } = audioTrack;\n return [id, kind, language, label].filter((a) => a != null).join(\":\");\n }\n}\nfunction parseAudioTrack(audioTrack) {\n if (audioTrack) {\n const [id, kind, language, label] = audioTrack.split(\":\");\n return {\n id,\n kind,\n language,\n label\n };\n }\n}\nfunction dashedToCamel(word) {\n return word.split(\"-\").map(function(x, i) {\n return (i ? x[0].toUpperCase() : x[0].toLowerCase()) + x.slice(1).toLowerCase();\n }).join(\"\");\n}\nfunction constToCamel(word, upperFirst = false) {\n return word.split(\"_\").map(function(x, i) {\n return (i || upperFirst ? x[0].toUpperCase() : x[0].toLowerCase()) + x.slice(1).toLowerCase();\n }).join(\"\");\n}\nfunction camelCase(name) {\n return name.replace(/[-_]([a-z])/g, ($0, $1) => $1.toUpperCase());\n}\nfunction isValidNumber(x) {\n return typeof x === \"number\" && !Number.isNaN(x) && Number.isFinite(x);\n}\nfunction isNumericString(str) {\n if (typeof str != \"string\")\n return false;\n return !isNaN(str) && !isNaN(parseFloat(str));\n}\nconst delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nconst capitalize = (str) => str && str[0].toUpperCase() + str.slice(1);\nexport {\n camelCase,\n capitalize,\n constToCamel,\n dashedToCamel,\n delay,\n isNumericString,\n isValidNumber,\n parseAudioTrack,\n parseAudioTrackList,\n parseRendition,\n parseRenditionList,\n stringifyAudioTrack,\n stringifyAudioTrackList,\n stringifyRendition,\n stringifyRenditionList\n};\n","const En = {\n \"Start airplay\": \"Start airplay\",\n \"Stop airplay\": \"Stop airplay\",\n Audio: \"Audio\",\n Captions: \"Captions\",\n \"Enable captions\": \"Enable captions\",\n \"Disable captions\": \"Disable captions\",\n \"Start casting\": \"Start casting\",\n \"Stop casting\": \"Stop casting\",\n \"Enter fullscreen mode\": \"Enter fullscreen mode\",\n \"Exit fullscreen mode\": \"Exit fullscreen mode\",\n Mute: \"Mute\",\n Unmute: \"Unmute\",\n Loop: \"Loop\",\n \"Enter picture in picture mode\": \"Enter picture in picture mode\",\n \"Exit picture in picture mode\": \"Exit picture in picture mode\",\n Play: \"Play\",\n Pause: \"Pause\",\n \"Playback rate\": \"Playback rate\",\n \"Playback rate {playbackRate}\": \"Playback rate {playbackRate}\",\n Quality: \"Quality\",\n \"Seek backward\": \"Seek backward\",\n \"Seek forward\": \"Seek forward\",\n Settings: \"Settings\",\n Auto: \"Auto\",\n \"audio player\": \"audio player\",\n \"video player\": \"video player\",\n volume: \"volume\",\n seek: \"seek\",\n \"closed captions\": \"closed captions\",\n \"current playback rate\": \"current playback rate\",\n \"playback time\": \"playback time\",\n \"media loading\": \"media loading\",\n settings: \"settings\",\n \"audio tracks\": \"audio tracks\",\n quality: \"quality\",\n play: \"play\",\n pause: \"pause\",\n mute: \"mute\",\n unmute: \"unmute\",\n \"chapter: {chapterName}\": \"chapter: {chapterName}\",\n live: \"live\",\n Off: \"Off\",\n \"start airplay\": \"start airplay\",\n \"stop airplay\": \"stop airplay\",\n \"start casting\": \"start casting\",\n \"stop casting\": \"stop casting\",\n \"enter fullscreen mode\": \"enter fullscreen mode\",\n \"exit fullscreen mode\": \"exit fullscreen mode\",\n \"enter picture in picture mode\": \"enter picture in picture mode\",\n \"exit picture in picture mode\": \"exit picture in picture mode\",\n \"seek to live\": \"seek to live\",\n \"playing live\": \"playing live\",\n \"seek back {seekOffset} seconds\": \"seek back {seekOffset} seconds\",\n \"seek forward {seekOffset} seconds\": \"seek forward {seekOffset} seconds\",\n \"Network Error\": \"Network Error\",\n \"Decode Error\": \"Decode Error\",\n \"Source Not Supported\": \"Source Not Supported\",\n \"Encryption Error\": \"Encryption Error\",\n \"A network error caused the media download to fail.\": \"A network error caused the media download to fail.\",\n \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\": \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",\n \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\": \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",\n \"The media is encrypted and there are no keys to decrypt it.\": \"The media is encrypted and there are no keys to decrypt it.\",\n hour: \"hour\",\n hours: \"hours\",\n minute: \"minute\",\n minutes: \"minutes\",\n second: \"second\",\n seconds: \"seconds\",\n \"{time} remaining\": \"{time} remaining\",\n \"{currentTime} of {totalTime}\": \"{currentTime} of {totalTime}\",\n \"video not loaded, unknown time.\": \"video not loaded, unknown time.\"\n};\nexport {\n En\n};\n","var _a;\nimport { En } from \"../lang/en.js\";\nconst translations = {\n en: En\n};\nlet currentLang = ((_a = globalThis.navigator) == null ? void 0 : _a.language) || \"en\";\nconst setLanguage = (langCode) => {\n currentLang = langCode;\n};\nconst addTranslation = (lang, languageDictionary) => {\n translations[lang] = languageDictionary;\n};\nconst resolveTranslation = (key) => {\n var _a2, _b, _c;\n const [base] = currentLang.split(\"-\");\n return ((_a2 = translations[currentLang]) == null ? void 0 : _a2[key]) || ((_b = translations[base]) == null ? void 0 : _b[key]) || ((_c = translations.en) == null ? void 0 : _c[key]) || key;\n};\nconst getResolvedLanguage = () => {\n const [base] = currentLang.split(\"-\");\n if (translations[currentLang])\n return currentLang;\n if (translations[base])\n return base;\n return \"en\";\n};\nconst t = (key, vars = {}) => resolveTranslation(key).replace(\n /\\{(\\w+)\\}/g,\n (_, v) => v in vars ? String(vars[v]) : `{${v}}`\n);\nexport {\n addTranslation,\n getResolvedLanguage,\n setLanguage,\n t\n};\n","import { isValidNumber } from \"./utils.js\";\nimport { t } from \"./i18n.js\";\nconst UnitLabels = [\n {\n singular: \"hour\",\n plural: \"hours\"\n },\n {\n singular: \"minute\",\n plural: \"minutes\"\n },\n {\n singular: \"second\",\n plural: \"seconds\"\n }\n];\nconst toTimeUnitPhrase = (timeUnitValue, unitIndex) => {\n const unitLabel = timeUnitValue === 1 ? t(UnitLabels[unitIndex].singular) : t(UnitLabels[unitIndex].plural);\n return `${timeUnitValue} ${unitLabel}`;\n};\nconst formatAsTimePhrase = (seconds) => {\n if (!isValidNumber(seconds))\n return \"\";\n const positiveSeconds = Math.abs(seconds);\n const negative = positiveSeconds !== seconds;\n const secondsDateTime = new Date(0, 0, 0, 0, 0, positiveSeconds, 0);\n const timeParts = [\n secondsDateTime.getHours(),\n secondsDateTime.getMinutes(),\n secondsDateTime.getSeconds()\n ];\n const timeString = timeParts.map(\n (timeUnitValue, index) => timeUnitValue && toTimeUnitPhrase(timeUnitValue, index)\n ).filter((x) => x).join(\", \");\n if (negative) {\n return t(\"{time} remaining\", { time: timeString });\n }\n return timeString;\n};\nfunction formatTime(seconds, guide) {\n let negative = false;\n if (seconds < 0) {\n negative = true;\n seconds = 0 - seconds;\n }\n seconds = seconds < 0 ? 0 : seconds;\n let s = Math.floor(seconds % 60);\n let m = Math.floor(seconds / 60 % 60);\n let h = Math.floor(seconds / 3600);\n const gm = Math.floor(guide / 60 % 60);\n const gh = Math.floor(guide / 3600);\n if (isNaN(seconds) || seconds === Infinity) {\n h = m = s = \"0\";\n }\n h = h > 0 || gh > 0 ? h + \":\" : \"\";\n m = ((h || gm >= 10) && m < 10 ? \"0\" + m : m) + \":\";\n s = s < 10 ? \"0\" + s : s;\n return (negative ? \"-\" : \"\") + h + m + s;\n}\nconst emptyTimeRanges = Object.freeze({\n length: 0,\n start(index) {\n const unsignedIdx = index >>> 0;\n if (unsignedIdx >= this.length) {\n throw new DOMException(\n `Failed to execute 'start' on 'TimeRanges': The index provided (${unsignedIdx}) is greater than or equal to the maximum bound (${this.length}).`\n );\n }\n return 0;\n },\n end(index) {\n const unsignedIdx = index >>> 0;\n if (unsignedIdx >= this.length) {\n throw new DOMException(\n `Failed to execute 'end' on 'TimeRanges': The index provided (${unsignedIdx}) is greater than or equal to the maximum bound (${this.length}).`\n );\n }\n return 0;\n }\n});\nfunction serializeTimeRanges(timeRanges = emptyTimeRanges) {\n return Array.from(timeRanges).map(\n (_, i) => [\n Number(timeRanges.start(i).toFixed(3)),\n Number(timeRanges.end(i).toFixed(3))\n ].join(\":\")\n ).join(\" \");\n}\nexport {\n emptyTimeRanges,\n formatAsTimePhrase,\n formatTime,\n serializeTimeRanges\n};\n","class EventTarget {\n addEventListener() {\n }\n removeEventListener() {\n }\n dispatchEvent() {\n return true;\n }\n}\nclass Node extends EventTarget {\n}\nclass Element extends Node {\n constructor() {\n super(...arguments);\n this.role = null;\n }\n}\nclass ResizeObserver {\n observe() {\n }\n unobserve() {\n }\n disconnect() {\n }\n}\nconst documentShim = {\n createElement: function() {\n return new globalThisShim.HTMLElement();\n },\n createElementNS: function() {\n return new globalThisShim.HTMLElement();\n },\n addEventListener() {\n },\n removeEventListener() {\n },\n dispatchEvent(_event) {\n return false;\n }\n};\nconst globalThisShim = {\n ResizeObserver,\n document: documentShim,\n Node,\n Element,\n HTMLElement: class HTMLElement extends Element {\n constructor() {\n super(...arguments);\n this.innerHTML = \"\";\n }\n get content() {\n return new globalThisShim.DocumentFragment();\n }\n },\n DocumentFragment: class DocumentFragment extends EventTarget {\n },\n customElements: {\n get: function() {\n },\n define: function() {\n },\n whenDefined: function() {\n }\n },\n localStorage: {\n getItem(_key) {\n return null;\n },\n setItem(_key, _value) {\n },\n removeItem(_key) {\n }\n },\n CustomEvent: function CustomEvent() {\n },\n getComputedStyle: function() {\n },\n navigator: {\n languages: [],\n get userAgent() {\n return \"\";\n }\n },\n matchMedia(media) {\n return {\n matches: false,\n media\n };\n },\n DOMParser: class DOMParser {\n parseFromString(string, _contentType) {\n return {\n body: {\n textContent: string\n }\n };\n }\n }\n};\nconst isServer = \"global\" in globalThis && (globalThis == null ? void 0 : globalThis.global) === globalThis || // node or node-like environments, whether or not there are global polyfills like jsdom\ntypeof window === \"undefined\" || typeof window.customElements === \"undefined\";\nconst isShimmed = Object.keys(globalThisShim).every((key) => key in globalThis);\nconst GlobalThis = isServer && !isShimmed ? globalThisShim : globalThis;\nconst Document = isServer && !isShimmed ? documentShim : globalThis.document;\nexport {\n Document,\n GlobalThis,\n Document as document,\n GlobalThis as globalThis,\n isServer\n};\n","import { globalThis } from \"./server-safe-globals.js\";\nconst callbacksMap = /* @__PURE__ */ new WeakMap();\nconst getCallbacks = (element) => {\n let callbacks = callbacksMap.get(element);\n if (!callbacks)\n callbacksMap.set(element, callbacks = /* @__PURE__ */ new Set());\n return callbacks;\n};\nconst observer = new globalThis.ResizeObserver(\n (entries) => {\n for (const entry of entries) {\n for (const callback of getCallbacks(entry.target)) {\n callback(entry);\n }\n }\n }\n);\nfunction observeResize(element, callback) {\n getCallbacks(element).add(callback);\n observer.observe(element);\n}\nfunction unobserveResize(element, callback) {\n const callbacks = getCallbacks(element);\n callbacks.delete(callback);\n if (!callbacks.size) {\n observer.unobserve(element);\n }\n}\nexport {\n observeResize,\n unobserveResize\n};\n","import { MediaStateReceiverAttributes } from \"../constants.js\";\nfunction namedNodeMapToObject(namedNodeMap) {\n const obj = {};\n for (const attr of namedNodeMap) {\n obj[attr.name] = attr.value;\n }\n return obj;\n}\nfunction getMediaController(host) {\n var _a;\n return (_a = getAttributeMediaController(host)) != null ? _a : closestComposedNode(host, \"media-controller\");\n}\nfunction getAttributeMediaController(host) {\n var _a;\n const { MEDIA_CONTROLLER } = MediaStateReceiverAttributes;\n const mediaControllerId = host.getAttribute(MEDIA_CONTROLLER);\n if (mediaControllerId) {\n return (_a = getDocumentOrShadowRoot(host)) == null ? void 0 : _a.getElementById(\n mediaControllerId\n );\n }\n}\nconst updateIconText = (svg, value, selector = \".value\") => {\n const node = svg.querySelector(selector);\n if (!node)\n return;\n node.textContent = value;\n};\nconst getAllSlotted = (el, name) => {\n const slotSelector = `slot[name=\"${name}\"]`;\n const slot = el.shadowRoot.querySelector(slotSelector);\n if (!slot)\n return [];\n return slot.children;\n};\nconst getSlotted = (el, name) => getAllSlotted(el, name)[0];\nconst containsComposedNode = (rootNode, childNode) => {\n if (!rootNode || !childNode)\n return false;\n if (rootNode == null ? void 0 : rootNode.contains(childNode))\n return true;\n return containsComposedNode(\n rootNode,\n childNode.getRootNode().host\n );\n};\nconst closestComposedNode = (childNode, selector) => {\n if (!childNode)\n return null;\n const closest = childNode.closest(selector);\n if (closest)\n return closest;\n return closestComposedNode(\n childNode.getRootNode().host,\n selector\n );\n};\nfunction getActiveElement(root = document) {\n var _a;\n const activeEl = root == null ? void 0 : root.activeElement;\n if (!activeEl)\n return null;\n return (_a = getActiveElement(activeEl.shadowRoot)) != null ? _a : activeEl;\n}\nfunction getDocumentOrShadowRoot(node) {\n var _a;\n const rootNode = (_a = node == null ? void 0 : node.getRootNode) == null ? void 0 : _a.call(node);\n if (rootNode instanceof ShadowRoot || rootNode instanceof Document) {\n return rootNode;\n }\n return null;\n}\nfunction isElementVisible(element, { depth = 3, checkOpacity = true, checkVisibilityCSS = true } = {}) {\n if (element.checkVisibility) {\n return element.checkVisibility({\n checkOpacity,\n checkVisibilityCSS\n });\n }\n let el = element;\n while (el && depth > 0) {\n const style = getComputedStyle(el);\n if (checkOpacity && style.opacity === \"0\" || checkVisibilityCSS && style.visibility === \"hidden\" || style.display === \"none\") {\n return false;\n }\n el = el.parentElement;\n depth--;\n }\n return true;\n}\nfunction getPointProgressOnLine(x, y, p1, p2) {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n const lengthSquared = dx * dx + dy * dy;\n if (lengthSquared === 0)\n return 0;\n const projection = ((x - p1.x) * dx + (y - p1.y) * dy) / lengthSquared;\n return Math.max(0, Math.min(1, projection));\n}\nfunction distance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\nfunction getOrInsertCSSRule(styleParent, selectorText) {\n const cssRule = getCSSRule(styleParent, (st) => st === selectorText);\n if (cssRule)\n return cssRule;\n return insertCSSRule(styleParent, selectorText);\n}\nfunction getCSSRule(styleParent, predicate) {\n var _a, _b;\n let style;\n for (style of (_a = styleParent.querySelectorAll(\"style:not([media])\")) != null ? _a : []) {\n let cssRules;\n try {\n cssRules = (_b = style.sheet) == null ? void 0 : _b.cssRules;\n } catch {\n continue;\n }\n for (const rule of cssRules != null ? cssRules : []) {\n if (predicate(rule.selectorText))\n return rule;\n }\n }\n}\nfunction insertCSSRule(styleParent, selectorText) {\n var _a, _b;\n const styles = (_a = styleParent.querySelectorAll(\"style:not([media])\")) != null ? _a : [];\n const style = styles == null ? void 0 : styles[styles.length - 1];\n if (!(style == null ? void 0 : style.sheet)) {\n console.warn(\n \"Media Chrome: No style sheet found on style tag of\",\n styleParent\n );\n return {\n // @ts-ignore\n style: {\n setProperty: () => {\n },\n removeProperty: () => \"\",\n getPropertyValue: () => \"\"\n }\n };\n }\n const cssRuleId = style == null ? void 0 : style.sheet.insertRule(`${selectorText}{}`, style.sheet.cssRules.length);\n return (_b = style.sheet.cssRules) == null ? void 0 : _b[cssRuleId];\n}\nfunction getNumericAttr(el, attrName, defaultValue = Number.NaN) {\n const attrVal = el.getAttribute(attrName);\n return attrVal != null ? +attrVal : defaultValue;\n}\nfunction setNumericAttr(el, attrName, value) {\n const nextNumericValue = +value;\n if (value == null || Number.isNaN(nextNumericValue)) {\n if (el.hasAttribute(attrName)) {\n el.removeAttribute(attrName);\n }\n return;\n }\n if (getNumericAttr(el, attrName, void 0) === nextNumericValue)\n return;\n el.setAttribute(attrName, `${nextNumericValue}`);\n}\nfunction getBooleanAttr(el, attrName) {\n return el.hasAttribute(attrName);\n}\nfunction setBooleanAttr(el, attrName, value) {\n if (value == null) {\n if (el.hasAttribute(attrName)) {\n el.removeAttribute(attrName);\n }\n return;\n }\n if (getBooleanAttr(el, attrName) == value)\n return;\n el.toggleAttribute(attrName, value);\n}\nfunction getStringAttr(el, attrName, defaultValue = null) {\n var _a;\n return (_a = el.getAttribute(attrName)) != null ? _a : defaultValue;\n}\nfunction setStringAttr(el, attrName, value) {\n if (value == null) {\n if (el.hasAttribute(attrName)) {\n el.removeAttribute(attrName);\n }\n return;\n }\n const nextValue = `${value}`;\n if (getStringAttr(el, attrName, void 0) === nextValue)\n return;\n el.setAttribute(attrName, nextValue);\n}\nexport {\n closestComposedNode,\n containsComposedNode,\n distance,\n getActiveElement,\n getAllSlotted,\n getAttributeMediaController,\n getBooleanAttr,\n getCSSRule,\n getDocumentOrShadowRoot,\n getMediaController,\n getNumericAttr,\n getOrInsertCSSRule,\n getPointProgressOnLine,\n getSlotted,\n getStringAttr,\n insertCSSRule,\n isElementVisible,\n namedNodeMapToObject,\n setBooleanAttr,\n setNumericAttr,\n setStringAttr,\n updateIconText\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaController;\nimport {\n MediaUIAttributes,\n MediaUIEvents,\n MediaStateReceiverAttributes,\n PointerTypes\n} from \"./constants.js\";\nimport {\n closestComposedNode,\n getBooleanAttr,\n namedNodeMapToObject,\n setBooleanAttr\n} from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));\n box-sizing: border-box;\n }\n </style>\n `\n );\n}\nclass MediaGestureReceiver extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _mediaController, void 0);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n // NOTE: Currently \"baking in\" actions + attrs until we come up with\n // a more robust architecture (CJP)\n static get observedAttributes() {\n return [\n MediaStateReceiverAttributes.MEDIA_CONTROLLER,\n MediaUIAttributes.MEDIA_PAUSED\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n }\n }\n connectedCallback() {\n var _a, _b;\n this.tabIndex = -1;\n this.setAttribute(\"aria-hidden\", \"true\");\n __privateSet(this, _mediaController, getMediaControllerEl(this));\n if (this.getAttribute(MediaStateReceiverAttributes.MEDIA_CONTROLLER)) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.associateElement) == null ? void 0 : _b.call(_a, this);\n }\n if (!__privateGet(this, _mediaController))\n return;\n __privateGet(this, _mediaController).addEventListener(\"pointerdown\", this);\n __privateGet(this, _mediaController).addEventListener(\"click\", this);\n if (!__privateGet(this, _mediaController).hasAttribute(\"tabindex\")) {\n __privateGet(this, _mediaController).tabIndex = 0;\n }\n }\n disconnectedCallback() {\n var _a, _b, _c, _d;\n if (this.getAttribute(MediaStateReceiverAttributes.MEDIA_CONTROLLER)) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n }\n (_c = __privateGet(this, _mediaController)) == null ? void 0 : _c.removeEventListener(\"pointerdown\", this);\n (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.removeEventListener(\"click\", this);\n __privateSet(this, _mediaController, null);\n }\n handleEvent(event) {\n var _a;\n const composedTarget = (_a = event.composedPath()) == null ? void 0 : _a[0];\n const allowList = [\"video\", \"media-controller\"];\n if (!allowList.includes(composedTarget == null ? void 0 : composedTarget.localName))\n return;\n if (event.type === \"pointerdown\") {\n this._pointerType = event.pointerType;\n } else if (event.type === \"click\") {\n const { clientX, clientY } = event;\n const { left, top, width, height } = this.getBoundingClientRect();\n const x = clientX - left;\n const y = clientY - top;\n if (x < 0 || y < 0 || x > width || y > height || // In case this element has no dimensions (or display: none) return.\n width === 0 && height === 0) {\n return;\n }\n const pointerType = this._pointerType || \"mouse\";\n this._pointerType = void 0;\n if (pointerType === PointerTypes.TOUCH) {\n this.handleTap(event);\n return;\n } else if (pointerType === PointerTypes.MOUSE || pointerType === PointerTypes.PEN) {\n this.handleMouseClick(event);\n return;\n }\n }\n }\n /**\n * @type {boolean} Is the media paused\n */\n get mediaPaused() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED);\n }\n set mediaPaused(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED, value);\n }\n // NOTE: Currently \"baking in\" actions + attrs until we come up with\n // a more robust architecture (CJP)\n /**\n * @abstract\n * @argument {Event} e\n */\n handleTap(e) {\n }\n // eslint-disable-line\n // eslint-disable-next-line\n handleMouseClick(e) {\n const eventName = this.mediaPaused ? MediaUIEvents.MEDIA_PLAY_REQUEST : MediaUIEvents.MEDIA_PAUSE_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, { composed: true, bubbles: true })\n );\n }\n}\n_mediaController = new WeakMap();\nMediaGestureReceiver.shadowRootOptions = { mode: \"open\" };\nMediaGestureReceiver.getTemplateHTML = getTemplateHTML;\nfunction getMediaControllerEl(controlEl) {\n var _a;\n const mediaControllerId = controlEl.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n return (_a = controlEl.getRootNode()) == null ? void 0 : _a.getElementById(mediaControllerId);\n }\n return closestComposedNode(controlEl, \"media-controller\");\n}\nif (!globalThis.customElements.get(\"media-gesture-receiver\")) {\n globalThis.customElements.define(\n \"media-gesture-receiver\",\n MediaGestureReceiver\n );\n}\nvar media_gesture_receiver_default = MediaGestureReceiver;\nexport {\n media_gesture_receiver_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _mutationObserver, _pointerDownTimeStamp, _currentMedia, _inactiveTimeout, _autohide, _handleMutation, _isResizePending, _handleResize, _handlePointerMove, handlePointerMove_fn, _handlePointerUp, handlePointerUp_fn, _setInactive, setInactive_fn, _setActive, setActive_fn, _scheduleInactive, scheduleInactive_fn, _chainedSlot, _handleSlotChange;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaStateChangeEvents } from \"./constants.js\";\nimport { observeResize, unobserveResize } from \"./utils/resize-observer.js\";\nimport \"./media-gesture-receiver.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getBooleanAttr,\n getStringAttr,\n namedNodeMapToObject,\n setBooleanAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nimport MediaGestureReceiver from \"./media-gesture-receiver.js\";\nconst Attributes = {\n AUDIO: \"audio\",\n AUTOHIDE: \"autohide\",\n BREAKPOINTS: \"breakpoints\",\n GESTURES_DISABLED: \"gesturesdisabled\",\n KEYBOARD_CONTROL: \"keyboardcontrol\",\n NO_AUTOHIDE: \"noautohide\",\n USER_INACTIVE: \"userinactive\",\n AUTOHIDE_OVER_CONTROLS: \"autohideovercontrols\"\n};\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n ${/*\n * outline on media is turned off because it is allowed to get focus to faciliate hotkeys.\n * However, on keyboard interactions, the focus outline is shown,\n * which is particularly noticeable when going fullscreen via hotkeys.\n */\n \"\"}\n :host([${MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {\n outline: none;\n }\n\n :host {\n box-sizing: border-box;\n position: relative;\n display: inline-block;\n line-height: 0;\n background-color: var(--media-background-color, #000);\n overflow: hidden;\n }\n\n :host(:not([${Attributes.AUDIO}])) [part~=layer]:not([part~=media-layer]) {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: flex;\n flex-flow: column nowrap;\n align-items: start;\n pointer-events: none;\n background: none;\n }\n\n slot[name=media] {\n display: var(--media-slot-display, contents);\n }\n\n ${/*\n * when in audio mode, hide the slotted media element by default\n */\n \"\"}\n :host([${Attributes.AUDIO}]) slot[name=media] {\n display: var(--media-slot-display, none);\n }\n\n ${/*\n * when in audio mode, hide the gesture-layer which causes media-controller to be taller than the control bar\n */\n \"\"}\n :host([${Attributes.AUDIO}]) [part~=layer][part~=gesture-layer] {\n height: 0;\n display: block;\n }\n\n ${/*\n * if gestures are disabled, don't accept pointer-events\n */\n \"\"}\n :host(:not([${Attributes.AUDIO}])[${Attributes.GESTURES_DISABLED}]) ::slotted([slot=gestures-chrome]),\n :host(:not([${Attributes.AUDIO}])[${Attributes.GESTURES_DISABLED}]) media-gesture-receiver[slot=gestures-chrome] {\n display: none;\n }\n\n ${/*\n * any slotted element that isn't a poster or media slot should be pointer-events auto\n * we'll want to add here any slotted elements that shouldn't get pointer-events by default when slotted\n */\n \"\"}\n ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) {\n pointer-events: auto;\n }\n\n :host(:not([${Attributes.AUDIO}])) *[part~=layer][part~=centered-layer] {\n align-items: center;\n justify-content: center;\n }\n\n :host(:not([${Attributes.AUDIO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),\n :host(:not([${Attributes.AUDIO}])) media-gesture-receiver[slot=gestures-chrome] {\n align-self: stretch;\n flex-grow: 1;\n }\n\n slot[name=middle-chrome] {\n display: inline;\n flex-grow: 1;\n pointer-events: none;\n background: none;\n }\n\n ${/* Position the media and poster elements to fill the container */\n \"\"}\n ::slotted([slot=media]),\n ::slotted([slot=poster]) {\n width: 100%;\n height: 100%;\n }\n\n ${/* Video specific styles */\n \"\"}\n :host(:not([${Attributes.AUDIO}])) .spacer {\n flex-grow: 1;\n }\n\n ${/* Safari needs this to actually make the element fill the window */\n \"\"}\n :host(:-webkit-full-screen) {\n ${/* Needs to use !important otherwise easy to break */\n \"\"}\n width: 100% !important;\n height: 100% !important;\n }\n\n ${/* Only add these if auto hide is not disabled */\n \"\"}\n ::slotted(:not([slot=media]):not([slot=poster]):not([${Attributes.NO_AUTOHIDE}]):not([hidden]):not([role=dialog])) {\n opacity: 1;\n transition: var(--media-control-transition-in, opacity 0.25s);\n }\n\n ${/* Hide controls when inactive, not paused, not audio and auto hide not disabled */\n \"\"}\n :host([${Attributes.USER_INACTIVE}]:not([${MediaUIAttributes.MEDIA_PAUSED}]):not([${MediaUIAttributes.MEDIA_IS_AIRPLAYING}]):not([${MediaUIAttributes.MEDIA_IS_CASTING}]):not([${Attributes.AUDIO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${Attributes.NO_AUTOHIDE}]):not([role=dialog])) {\n opacity: 0;\n transition: var(--media-control-transition-out, opacity 1s);\n }\n\n :host([${Attributes.USER_INACTIVE}]:not([${Attributes.NO_AUTOHIDE}]):not([${MediaUIAttributes.MEDIA_PAUSED}]):not([${MediaUIAttributes.MEDIA_IS_CASTING}]):not([${Attributes.AUDIO}])) ::slotted([slot=media]) {\n cursor: none;\n }\n\n :host([${Attributes.USER_INACTIVE}][${Attributes.AUTOHIDE_OVER_CONTROLS}]:not([${Attributes.NO_AUTOHIDE}]):not([${MediaUIAttributes.MEDIA_PAUSED}]):not([${MediaUIAttributes.MEDIA_IS_CASTING}]):not([${Attributes.AUDIO}])) * {\n --media-cursor: none;\n cursor: none;\n }\n\n\n ::slotted(media-control-bar) {\n align-self: stretch;\n }\n\n ${/* ::slotted([slot=poster]) doesn't work for slot fallback content so hide parent slot instead */\n \"\"}\n :host(:not([${Attributes.AUDIO}])[${MediaUIAttributes.MEDIA_HAS_PLAYED}]) slot[name=poster] {\n display: none;\n }\n\n ::slotted([role=dialog]) {\n width: 100%;\n height: 100%;\n align-self: center;\n }\n\n ::slotted([role=menu]) {\n align-self: end;\n }\n </style>\n\n <slot name=\"media\" part=\"layer media-layer\"></slot>\n <slot name=\"poster\" part=\"layer poster-layer\"></slot>\n <slot name=\"gestures-chrome\" part=\"layer gesture-layer\">\n <media-gesture-receiver slot=\"gestures-chrome\">\n <template shadowrootmode=\"${MediaGestureReceiver.shadowRootOptions.mode}\">\n ${MediaGestureReceiver.getTemplateHTML({})}\n </template>\n </media-gesture-receiver>\n </slot>\n <span part=\"layer vertical-layer\">\n <slot name=\"top-chrome\" part=\"top chrome\"></slot>\n <slot name=\"middle-chrome\" part=\"middle chrome\"></slot>\n <slot name=\"centered-chrome\" part=\"layer centered-layer center centered chrome\"></slot>\n ${/* default, effectively \"bottom-chrome\" */\n \"\"}\n <slot part=\"bottom chrome\"></slot>\n </span>\n <slot name=\"dialog\" part=\"layer dialog-layer\"></slot>\n `\n );\n}\nconst MEDIA_UI_ATTRIBUTE_NAMES = Object.values(MediaUIAttributes);\nconst defaultBreakpoints = \"sm:384 md:576 lg:768 xl:960\";\nfunction resizeCallback(entry) {\n setBreakpoints(entry.target, entry.contentRect.width);\n}\nfunction setBreakpoints(container, width) {\n var _a;\n if (!container.isConnected)\n return;\n const breakpoints = (_a = container.getAttribute(Attributes.BREAKPOINTS)) != null ? _a : defaultBreakpoints;\n const ranges = createBreakpointMap(breakpoints);\n const activeBreakpoints = getBreakpoints(ranges, width);\n let changed = false;\n Object.keys(ranges).forEach((name) => {\n if (activeBreakpoints.includes(name)) {\n if (!container.hasAttribute(`breakpoint${name}`)) {\n container.setAttribute(`breakpoint${name}`, \"\");\n changed = true;\n }\n return;\n }\n if (container.hasAttribute(`breakpoint${name}`)) {\n container.removeAttribute(`breakpoint${name}`);\n changed = true;\n }\n });\n if (changed) {\n const evt = new CustomEvent(MediaStateChangeEvents.BREAKPOINTS_CHANGE, {\n detail: activeBreakpoints\n });\n container.dispatchEvent(evt);\n }\n if (!container.breakpointsComputed) {\n container.breakpointsComputed = true;\n container.dispatchEvent(\n new CustomEvent(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, {\n bubbles: true,\n composed: true\n })\n );\n }\n}\nfunction createBreakpointMap(breakpoints) {\n const pairs = breakpoints.split(/\\s+/);\n return Object.fromEntries(pairs.map((pair) => pair.split(\":\")));\n}\nfunction getBreakpoints(breakpoints, width) {\n return Object.keys(breakpoints).filter((name) => {\n return width >= parseInt(breakpoints[name]);\n });\n}\nclass MediaContainer extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _handlePointerMove);\n __privateAdd(this, _handlePointerUp);\n __privateAdd(this, _setInactive);\n __privateAdd(this, _setActive);\n __privateAdd(this, _scheduleInactive);\n __privateAdd(this, _mutationObserver, void 0);\n __privateAdd(this, _pointerDownTimeStamp, 0);\n __privateAdd(this, _currentMedia, null);\n __privateAdd(this, _inactiveTimeout, null);\n __privateAdd(this, _autohide, void 0);\n this.breakpointsComputed = false;\n __privateAdd(this, _handleMutation, (mutationsList) => {\n const media = this.media;\n for (const mutation of mutationsList) {\n if (mutation.type !== \"childList\")\n continue;\n const removedNodes = mutation.removedNodes;\n for (const node of removedNodes) {\n if (node.slot != \"media\" || mutation.target != this)\n continue;\n let previousSibling = mutation.previousSibling && mutation.previousSibling.previousElementSibling;\n if (!previousSibling || !media) {\n this.mediaUnsetCallback(node);\n } else {\n let wasFirst = previousSibling.slot !== \"media\";\n while ((previousSibling = previousSibling.previousSibling) !== null) {\n if (previousSibling.slot == \"media\")\n wasFirst = false;\n }\n if (wasFirst)\n this.mediaUnsetCallback(node);\n }\n }\n if (media) {\n for (const node of mutation.addedNodes) {\n if (node === media)\n this.handleMediaUpdated(media);\n }\n }\n }\n });\n __privateAdd(this, _isResizePending, false);\n __privateAdd(this, _handleResize, (entry) => {\n if (__privateGet(this, _isResizePending))\n return;\n setTimeout(() => {\n resizeCallback(entry);\n __privateSet(this, _isResizePending, false);\n }, 0);\n __privateSet(this, _isResizePending, true);\n });\n __privateAdd(this, _chainedSlot, void 0);\n __privateAdd(this, _handleSlotChange, () => {\n const slotEls = __privateGet(this, _chainedSlot).assignedElements({ flatten: true });\n if (!slotEls.length) {\n if (__privateGet(this, _currentMedia)) {\n this.mediaUnsetCallback(__privateGet(this, _currentMedia));\n }\n return;\n }\n this.handleMediaUpdated(this.media);\n });\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n const html = this.constructor.getTemplateHTML(attrs);\n this.shadowRoot.setHTMLUnsafe ? this.shadowRoot.setHTMLUnsafe(html) : this.shadowRoot.innerHTML = html;\n }\n __privateSet(this, _mutationObserver, new MutationObserver(__privateGet(this, _handleMutation)));\n }\n static get observedAttributes() {\n return [Attributes.AUTOHIDE, Attributes.GESTURES_DISABLED].concat(MEDIA_UI_ATTRIBUTE_NAMES).filter(\n (name) => ![\n MediaUIAttributes.MEDIA_RENDITION_LIST,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST,\n MediaUIAttributes.MEDIA_CHAPTERS_CUES,\n MediaUIAttributes.MEDIA_WIDTH,\n MediaUIAttributes.MEDIA_HEIGHT,\n MediaUIAttributes.MEDIA_ERROR,\n MediaUIAttributes.MEDIA_ERROR_MESSAGE\n ].includes(name)\n );\n }\n // Could share this code with media-chrome-html-element instead\n attributeChangedCallback(attrName, _oldValue, newValue) {\n if (attrName.toLowerCase() == Attributes.AUTOHIDE) {\n this.autohide = newValue;\n }\n }\n // First direct child with slot=media, or null\n get media() {\n let media = this.querySelector(\":scope > [slot=media]\");\n if ((media == null ? void 0 : media.nodeName) == \"SLOT\")\n media = media.assignedElements({ flatten: true })[0];\n return media;\n }\n async handleMediaUpdated(media) {\n if (!media)\n return;\n __privateSet(this, _currentMedia, media);\n if (media.localName.includes(\"-\")) {\n await globalThis.customElements.whenDefined(media.localName);\n }\n this.mediaSetCallback(media);\n }\n connectedCallback() {\n var _a;\n __privateGet(this, _mutationObserver).observe(this, { childList: true, subtree: true });\n observeResize(this, __privateGet(this, _handleResize));\n const isAudioChrome = this.getAttribute(Attributes.AUDIO) != null;\n const label = isAudioChrome ? t(\"audio player\") : t(\"video player\");\n this.setAttribute(\"role\", \"region\");\n this.setAttribute(\"aria-label\", label);\n this.handleMediaUpdated(this.media);\n this.setAttribute(Attributes.USER_INACTIVE, \"\");\n setBreakpoints(this, this.getBoundingClientRect().width);\n const chainedSlot = this.querySelector(\n \":scope > slot[slot=media]\"\n );\n if (chainedSlot) {\n __privateSet(this, _chainedSlot, chainedSlot);\n __privateGet(this, _chainedSlot).addEventListener(\"slotchange\", __privateGet(this, _handleSlotChange));\n }\n this.addEventListener(\"pointerdown\", this);\n this.addEventListener(\"pointermove\", this);\n this.addEventListener(\"pointerup\", this);\n this.addEventListener(\"mouseleave\", this);\n this.addEventListener(\"keyup\", this);\n (_a = globalThis.window) == null ? void 0 : _a.addEventListener(\"mouseup\", this);\n }\n disconnectedCallback() {\n var _a;\n unobserveResize(this, __privateGet(this, _handleResize));\n clearTimeout(__privateGet(this, _inactiveTimeout));\n __privateGet(this, _mutationObserver).disconnect();\n if (this.media) {\n this.mediaUnsetCallback(this.media);\n }\n (_a = globalThis.window) == null ? void 0 : _a.removeEventListener(\"mouseup\", this);\n this.removeEventListener(\"pointerdown\", this);\n this.removeEventListener(\"pointermove\", this);\n this.removeEventListener(\"pointerup\", this);\n this.removeEventListener(\"mouseleave\", this);\n this.removeEventListener(\"keyup\", this);\n if (__privateGet(this, _chainedSlot)) {\n __privateGet(this, _chainedSlot).removeEventListener(\"slotchange\", __privateGet(this, _handleSlotChange));\n __privateSet(this, _chainedSlot, null);\n }\n __privateSet(this, _isResizePending, false);\n }\n /**\n * @abstract\n */\n mediaSetCallback(_media) {\n }\n mediaUnsetCallback(_media) {\n __privateSet(this, _currentMedia, null);\n }\n handleEvent(event) {\n switch (event.type) {\n case \"pointerdown\":\n __privateSet(this, _pointerDownTimeStamp, event.timeStamp);\n break;\n case \"pointermove\":\n __privateMethod(this, _handlePointerMove, handlePointerMove_fn).call(this, event);\n break;\n case \"pointerup\":\n __privateMethod(this, _handlePointerUp, handlePointerUp_fn).call(this, event);\n break;\n case \"mouseleave\":\n __privateMethod(this, _setInactive, setInactive_fn).call(this);\n break;\n case \"mouseup\":\n this.removeAttribute(Attributes.KEYBOARD_CONTROL);\n break;\n case \"keyup\":\n __privateMethod(this, _scheduleInactive, scheduleInactive_fn).call(this);\n this.setAttribute(Attributes.KEYBOARD_CONTROL, \"\");\n break;\n }\n }\n set autohide(seconds) {\n const parsedSeconds = Number(seconds);\n __privateSet(this, _autohide, isNaN(parsedSeconds) ? 0 : parsedSeconds);\n }\n get autohide() {\n return (__privateGet(this, _autohide) === void 0 ? 2 : __privateGet(this, _autohide)).toString();\n }\n get breakpoints() {\n return getStringAttr(this, Attributes.BREAKPOINTS);\n }\n set breakpoints(value) {\n setStringAttr(this, Attributes.BREAKPOINTS, value);\n }\n get audio() {\n return getBooleanAttr(this, Attributes.AUDIO);\n }\n set audio(value) {\n setBooleanAttr(this, Attributes.AUDIO, value);\n }\n get gesturesDisabled() {\n return getBooleanAttr(this, Attributes.GESTURES_DISABLED);\n }\n set gesturesDisabled(value) {\n setBooleanAttr(this, Attributes.GESTURES_DISABLED, value);\n }\n get keyboardControl() {\n return getBooleanAttr(this, Attributes.KEYBOARD_CONTROL);\n }\n set keyboardControl(value) {\n setBooleanAttr(this, Attributes.KEYBOARD_CONTROL, value);\n }\n get noAutohide() {\n return getBooleanAttr(this, Attributes.NO_AUTOHIDE);\n }\n set noAutohide(value) {\n setBooleanAttr(this, Attributes.NO_AUTOHIDE, value);\n }\n get autohideOverControls() {\n return getBooleanAttr(this, Attributes.AUTOHIDE_OVER_CONTROLS);\n }\n set autohideOverControls(value) {\n setBooleanAttr(this, Attributes.AUTOHIDE_OVER_CONTROLS, value);\n }\n get userInteractive() {\n return getBooleanAttr(this, Attributes.USER_INACTIVE);\n }\n set userInteractive(value) {\n setBooleanAttr(this, Attributes.USER_INACTIVE, value);\n }\n}\n_mutationObserver = new WeakMap();\n_pointerDownTimeStamp = new WeakMap();\n_currentMedia = new WeakMap();\n_inactiveTimeout = new WeakMap();\n_autohide = new WeakMap();\n_handleMutation = new WeakMap();\n_isResizePending = new WeakMap();\n_handleResize = new WeakMap();\n_handlePointerMove = new WeakSet();\nhandlePointerMove_fn = function(event) {\n if (event.pointerType !== \"mouse\") {\n const MAX_TAP_DURATION = 250;\n if (event.timeStamp - __privateGet(this, _pointerDownTimeStamp) < MAX_TAP_DURATION)\n return;\n }\n __privateMethod(this, _setActive, setActive_fn).call(this);\n clearTimeout(__privateGet(this, _inactiveTimeout));\n const autohideOverControls = this.hasAttribute(\n Attributes.AUTOHIDE_OVER_CONTROLS\n );\n if ([this, this.media].includes(event.target) || autohideOverControls) {\n __privateMethod(this, _scheduleInactive, scheduleInactive_fn).call(this);\n }\n};\n_handlePointerUp = new WeakSet();\nhandlePointerUp_fn = function(event) {\n if (event.pointerType === \"touch\") {\n const controlsVisible = !this.hasAttribute(Attributes.USER_INACTIVE);\n if ([this, this.media].includes(event.target) && controlsVisible) {\n __privateMethod(this, _setInactive, setInactive_fn).call(this);\n } else {\n __privateMethod(this, _scheduleInactive, scheduleInactive_fn).call(this);\n }\n } else if (event.composedPath().some(\n (el) => [\"media-play-button\", \"media-fullscreen-button\"].includes(\n el == null ? void 0 : el.localName\n )\n )) {\n __privateMethod(this, _scheduleInactive, scheduleInactive_fn).call(this);\n }\n};\n_setInactive = new WeakSet();\nsetInactive_fn = function() {\n if (__privateGet(this, _autohide) < 0)\n return;\n if (this.hasAttribute(Attributes.USER_INACTIVE))\n return;\n this.setAttribute(Attributes.USER_INACTIVE, \"\");\n const evt = new globalThis.CustomEvent(\n MediaStateChangeEvents.USER_INACTIVE_CHANGE,\n { composed: true, bubbles: true, detail: true }\n );\n this.dispatchEvent(evt);\n};\n_setActive = new WeakSet();\nsetActive_fn = function() {\n if (!this.hasAttribute(Attributes.USER_INACTIVE))\n return;\n this.removeAttribute(Attributes.USER_INACTIVE);\n const evt = new globalThis.CustomEvent(\n MediaStateChangeEvents.USER_INACTIVE_CHANGE,\n { composed: true, bubbles: true, detail: false }\n );\n this.dispatchEvent(evt);\n};\n_scheduleInactive = new WeakSet();\nscheduleInactive_fn = function() {\n __privateMethod(this, _setActive, setActive_fn).call(this);\n clearTimeout(__privateGet(this, _inactiveTimeout));\n const autohide = parseInt(this.autohide);\n if (autohide < 0)\n return;\n __privateSet(this, _inactiveTimeout, setTimeout(() => {\n __privateMethod(this, _setInactive, setInactive_fn).call(this);\n }, autohide * 1e3));\n};\n_chainedSlot = new WeakMap();\n_handleSlotChange = new WeakMap();\nMediaContainer.shadowRootOptions = { mode: \"open\" };\nMediaContainer.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-container\")) {\n globalThis.customElements.define(\"media-container\", MediaContainer);\n}\nvar media_container_default = MediaContainer;\nexport {\n Attributes,\n MediaContainer,\n media_container_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _el, _attr, _defaultSet, _tokenSet, _tokens, tokens_get;\nclass AttributeTokenList {\n constructor(el, attr, { defaultValue } = { defaultValue: void 0 }) {\n __privateAdd(this, _tokens);\n __privateAdd(this, _el, void 0);\n __privateAdd(this, _attr, void 0);\n __privateAdd(this, _defaultSet, void 0);\n __privateAdd(this, _tokenSet, /* @__PURE__ */ new Set());\n __privateSet(this, _el, el);\n __privateSet(this, _attr, attr);\n __privateSet(this, _defaultSet, new Set(defaultValue));\n }\n [Symbol.iterator]() {\n return __privateGet(this, _tokens, tokens_get).values();\n }\n get length() {\n return __privateGet(this, _tokens, tokens_get).size;\n }\n get value() {\n var _a;\n return (_a = [...__privateGet(this, _tokens, tokens_get)].join(\" \")) != null ? _a : \"\";\n }\n set value(val) {\n var _a;\n if (val === this.value)\n return;\n __privateSet(this, _tokenSet, /* @__PURE__ */ new Set());\n this.add(...(_a = val == null ? void 0 : val.split(\" \")) != null ? _a : []);\n }\n toString() {\n return this.value;\n }\n item(index) {\n return [...__privateGet(this, _tokens, tokens_get)][index];\n }\n values() {\n return __privateGet(this, _tokens, tokens_get).values();\n }\n forEach(callback, thisArg) {\n __privateGet(this, _tokens, tokens_get).forEach(callback, thisArg);\n }\n add(...tokens) {\n var _a, _b;\n tokens.forEach((t) => __privateGet(this, _tokenSet).add(t));\n if (this.value === \"\" && !((_a = __privateGet(this, _el)) == null ? void 0 : _a.hasAttribute(`${__privateGet(this, _attr)}`))) {\n return;\n }\n (_b = __privateGet(this, _el)) == null ? void 0 : _b.setAttribute(`${__privateGet(this, _attr)}`, `${this.value}`);\n }\n remove(...tokens) {\n var _a;\n tokens.forEach((t) => __privateGet(this, _tokenSet).delete(t));\n (_a = __privateGet(this, _el)) == null ? void 0 : _a.setAttribute(`${__privateGet(this, _attr)}`, `${this.value}`);\n }\n contains(token) {\n return __privateGet(this, _tokens, tokens_get).has(token);\n }\n toggle(token, force) {\n if (typeof force !== \"undefined\") {\n if (force) {\n this.add(token);\n return true;\n } else {\n this.remove(token);\n return false;\n }\n }\n if (this.contains(token)) {\n this.remove(token);\n return false;\n }\n this.add(token);\n return true;\n }\n replace(oldToken, newToken) {\n this.remove(oldToken);\n this.add(newToken);\n return oldToken === newToken;\n }\n}\n_el = new WeakMap();\n_attr = new WeakMap();\n_defaultSet = new WeakMap();\n_tokenSet = new WeakMap();\n_tokens = new WeakSet();\ntokens_get = function() {\n return __privateGet(this, _tokenSet).size ? __privateGet(this, _tokenSet) : __privateGet(this, _defaultSet);\n};\nexport {\n AttributeTokenList\n};\n","import { MediaUIAttributes, TextTrackKinds } from \"../constants.js\";\nconst splitTextTracksStr = (textTracksStr = \"\") => textTracksStr.split(/\\s+/);\nconst parseTextTrackStr = (textTrackStr = \"\") => {\n const [kind, language, encodedLabel] = textTrackStr.split(\":\");\n const label = encodedLabel ? decodeURIComponent(encodedLabel) : void 0;\n return {\n kind: kind === \"cc\" ? TextTrackKinds.CAPTIONS : TextTrackKinds.SUBTITLES,\n language,\n label\n };\n};\nconst parseTextTracksStr = (textTracksStr = \"\", textTrackLikeObj = {}) => {\n return splitTextTracksStr(textTracksStr).map((textTrackStr) => {\n const textTrackObj = parseTextTrackStr(textTrackStr);\n return {\n ...textTrackLikeObj,\n ...textTrackObj\n };\n });\n};\nconst parseTracks = (trackOrTracks) => {\n if (!trackOrTracks)\n return [];\n if (Array.isArray(trackOrTracks)) {\n return trackOrTracks.map((trackObjOrStr) => {\n if (typeof trackObjOrStr === \"string\") {\n return parseTextTrackStr(trackObjOrStr);\n }\n return trackObjOrStr;\n });\n }\n if (typeof trackOrTracks === \"string\") {\n return parseTextTracksStr(trackOrTracks);\n }\n return [trackOrTracks];\n};\nconst formatTextTrackObj = ({ kind, label, language } = { kind: \"subtitles\" }) => {\n if (!label)\n return language;\n return `${kind === \"captions\" ? \"cc\" : \"sb\"}:${language}:${encodeURIComponent(\n label\n )}`;\n};\nconst stringifyTextTrackList = (textTracks = []) => {\n return Array.prototype.map.call(textTracks, formatTextTrackObj).join(\" \");\n};\nconst isMatchingPropOf = (key, value) => (obj) => obj[key] === value;\nconst textTrackObjAsPred = (filterObj) => {\n const preds = Object.entries(filterObj).map(([key, value]) => {\n return isMatchingPropOf(key, value);\n });\n return (textTrack) => preds.every((pred) => pred(textTrack));\n};\nconst updateTracksModeTo = (mode, tracks = [], tracksToUpdate = []) => {\n const preds = parseTracks(tracksToUpdate).map(textTrackObjAsPred);\n const isTrackToUpdate = (textTrack) => {\n return preds.some((pred) => pred(textTrack));\n };\n Array.from(tracks).filter(isTrackToUpdate).forEach((textTrack) => {\n textTrack.mode = mode;\n });\n};\nconst getTextTracksList = (media, filterPredOrObj = () => true) => {\n if (!(media == null ? void 0 : media.textTracks))\n return [];\n const filterPred = typeof filterPredOrObj === \"function\" ? filterPredOrObj : textTrackObjAsPred(filterPredOrObj);\n return Array.from(media.textTracks).filter(filterPred);\n};\nconst areSubsOn = (el) => {\n var _a;\n const showingSubtitles = !!((_a = el.mediaSubtitlesShowing) == null ? void 0 : _a.length) || el.hasAttribute(MediaUIAttributes.MEDIA_SUBTITLES_SHOWING);\n return showingSubtitles;\n};\nexport {\n areSubsOn,\n formatTextTrackObj,\n getTextTracksList,\n isMatchingPropOf,\n parseTextTrackStr,\n parseTextTracksStr,\n parseTracks,\n splitTextTracksStr,\n stringifyTextTrackList,\n textTrackObjAsPred,\n updateTracksModeTo\n};\n","import { WebkitPresentationModes } from \"../constants.js\";\nimport { containsComposedNode } from \"./element-utils.js\";\nimport { document } from \"./server-safe-globals.js\";\nconst enterFullscreen = (stateOwners) => {\n var _a;\n const { media, fullscreenElement } = stateOwners;\n try {\n const enterFullscreenKey = fullscreenElement && \"requestFullscreen\" in fullscreenElement ? \"requestFullscreen\" : fullscreenElement && \"webkitRequestFullScreen\" in fullscreenElement ? \"webkitRequestFullScreen\" : void 0;\n if (enterFullscreenKey) {\n const maybePromise = (_a = fullscreenElement[enterFullscreenKey]) == null ? void 0 : _a.call(fullscreenElement);\n if (maybePromise instanceof Promise) {\n return maybePromise.catch(() => {\n });\n }\n } else if (media == null ? void 0 : media.webkitEnterFullscreen) {\n media.webkitEnterFullscreen();\n } else if (media == null ? void 0 : media.requestFullscreen) {\n media.requestFullscreen();\n }\n } catch (e) {\n console.error(e);\n }\n};\nconst exitFullscreenKey = \"exitFullscreen\" in document ? \"exitFullscreen\" : \"webkitExitFullscreen\" in document ? \"webkitExitFullscreen\" : \"webkitCancelFullScreen\" in document ? \"webkitCancelFullScreen\" : void 0;\nconst exitFullscreen = (stateOwners) => {\n var _a;\n const { documentElement } = stateOwners;\n if (exitFullscreenKey) {\n const maybePromise = (_a = documentElement == null ? void 0 : documentElement[exitFullscreenKey]) == null ? void 0 : _a.call(documentElement);\n if (maybePromise instanceof Promise) {\n return maybePromise.catch(() => {\n });\n }\n }\n};\nconst fullscreenElementKey = \"fullscreenElement\" in document ? \"fullscreenElement\" : \"webkitFullscreenElement\" in document ? \"webkitFullscreenElement\" : void 0;\nconst getFullscreenElement = (stateOwners) => {\n const { documentElement, media } = stateOwners;\n const docFullscreenElement = documentElement == null ? void 0 : documentElement[fullscreenElementKey];\n if (!docFullscreenElement && \"webkitDisplayingFullscreen\" in media && \"webkitPresentationMode\" in media && media.webkitDisplayingFullscreen && media.webkitPresentationMode === WebkitPresentationModes.FULLSCREEN) {\n return media;\n }\n return docFullscreenElement;\n};\nconst isFullscreen = (stateOwners) => {\n var _a;\n const { media, documentElement, fullscreenElement = media } = stateOwners;\n if (!media || !documentElement)\n return false;\n const currentFullscreenElement = getFullscreenElement(stateOwners);\n if (!currentFullscreenElement)\n return false;\n if (currentFullscreenElement === fullscreenElement || currentFullscreenElement === media) {\n return true;\n }\n if (currentFullscreenElement.localName.includes(\"-\")) {\n let currentRoot = currentFullscreenElement.shadowRoot;\n if (!(fullscreenElementKey in currentRoot)) {\n return containsComposedNode(\n currentFullscreenElement,\n /** @TODO clean up type assumptions (e.g. Node) (CJP) */\n // @ts-ignore\n fullscreenElement\n );\n }\n while (currentRoot == null ? void 0 : currentRoot[fullscreenElementKey]) {\n if (currentRoot[fullscreenElementKey] === fullscreenElement)\n return true;\n currentRoot = (_a = currentRoot[fullscreenElementKey]) == null ? void 0 : _a.shadowRoot;\n }\n }\n return false;\n};\nconst fullscreenEnabledKey = \"fullscreenEnabled\" in document ? \"fullscreenEnabled\" : \"webkitFullscreenEnabled\" in document ? \"webkitFullscreenEnabled\" : void 0;\nconst isFullscreenEnabled = (stateOwners) => {\n const { documentElement, media } = stateOwners;\n return !!(documentElement == null ? void 0 : documentElement[fullscreenEnabledKey]) || media && \"webkitSupportsFullscreen\" in media;\n};\nexport {\n enterFullscreen,\n exitFullscreen,\n getFullscreenElement,\n isFullscreen,\n isFullscreenEnabled\n};\n","import { globalThis, document } from \"./server-safe-globals.js\";\nimport { delay } from \"./utils.js\";\nimport { isFullscreenEnabled } from \"./fullscreen-api.js\";\nlet testMediaEl;\nconst getTestMediaEl = () => {\n var _a, _b;\n if (testMediaEl)\n return testMediaEl;\n testMediaEl = (_b = (_a = document) == null ? void 0 : _a.createElement) == null ? void 0 : _b.call(_a, \"video\");\n return testMediaEl;\n};\nconst hasVolumeSupportAsync = async (mediaEl = getTestMediaEl()) => {\n if (!mediaEl)\n return false;\n const prevVolume = mediaEl.volume;\n mediaEl.volume = prevVolume / 2 + 0.1;\n const abortController = new AbortController();\n const volumeSupported = await Promise.race([\n dispatchedVolumeChange(mediaEl, abortController.signal),\n volumeChanged(mediaEl, prevVolume)\n ]);\n abortController.abort();\n return volumeSupported;\n};\nconst dispatchedVolumeChange = (mediaEl, signal) => {\n return new Promise((resolve) => {\n mediaEl.addEventListener(\"volumechange\", () => resolve(true), { signal });\n });\n};\nconst volumeChanged = async (mediaEl, prevVolume) => {\n for (let i = 0; i < 10; i++) {\n if (mediaEl.volume === prevVolume)\n return false;\n await delay(10);\n }\n return mediaEl.volume !== prevVolume;\n};\nconst isSafari = /.*Version\\/.*Safari\\/.*/.test(\n globalThis.navigator.userAgent\n);\nconst hasPipSupport = (mediaEl = getTestMediaEl()) => {\n if (globalThis.matchMedia(\"(display-mode: standalone)\").matches && isSafari)\n return false;\n return typeof (mediaEl == null ? void 0 : mediaEl.requestPictureInPicture) === \"function\";\n};\nconst hasFullscreenSupport = (mediaEl = getTestMediaEl()) => {\n return isFullscreenEnabled({ documentElement: document, media: mediaEl });\n};\nconst fullscreenSupported = hasFullscreenSupport();\nconst pipSupported = hasPipSupport();\nconst airplaySupported = !!globalThis.WebKitPlaybackTargetAvailabilityEvent;\nconst castSupported = !!globalThis.chrome;\nexport {\n airplaySupported,\n castSupported,\n fullscreenSupported,\n getTestMediaEl,\n hasFullscreenSupport,\n hasPipSupport,\n hasVolumeSupportAsync,\n pipSupported\n};\n","import { TextTrackKinds, TextTrackModes } from \"../constants.js\";\nimport { getTextTracksList, updateTracksModeTo } from \"../utils/captions.js\";\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nconst getSubtitleTracks = (stateOwners) => {\n return getTextTracksList(stateOwners.media, (textTrack) => {\n return [TextTrackKinds.SUBTITLES, TextTrackKinds.CAPTIONS].includes(\n textTrack.kind\n );\n }).sort((a, b) => a.kind >= b.kind ? 1 : -1);\n};\nconst getShowingSubtitleTracks = (stateOwners) => {\n return getTextTracksList(stateOwners.media, (textTrack) => {\n return textTrack.mode === TextTrackModes.SHOWING && [TextTrackKinds.SUBTITLES, TextTrackKinds.CAPTIONS].includes(\n textTrack.kind\n );\n });\n};\nconst toggleSubtitleTracks = (stateOwners, force) => {\n const tracks = getSubtitleTracks(stateOwners);\n const showingSubitleTracks = getShowingSubtitleTracks(stateOwners);\n const subtitlesShowing = !!showingSubitleTracks.length;\n if (!tracks.length)\n return;\n if (force === false || subtitlesShowing && force !== true) {\n updateTracksModeTo(TextTrackModes.DISABLED, tracks, showingSubitleTracks);\n } else if (force === true || !subtitlesShowing && force !== false) {\n let subTrack = tracks[0];\n const { options } = stateOwners;\n if (!(options == null ? void 0 : options.noSubtitlesLangPref)) {\n const subtitlesPref = globalThis.localStorage.getItem(\n \"media-chrome-pref-subtitles-lang\"\n );\n const userLangPrefs = subtitlesPref ? [subtitlesPref, ...globalThis.navigator.languages] : globalThis.navigator.languages;\n const preferredAvailableSubs = tracks.filter((textTrack) => {\n return userLangPrefs.some(\n (lang) => textTrack.language.toLowerCase().startsWith(lang.split(\"-\")[0])\n );\n }).sort((textTrackA, textTrackB) => {\n const idxA = userLangPrefs.findIndex(\n (lang) => textTrackA.language.toLowerCase().startsWith(lang.split(\"-\")[0])\n );\n const idxB = userLangPrefs.findIndex(\n (lang) => textTrackB.language.toLowerCase().startsWith(lang.split(\"-\")[0])\n );\n return idxA - idxB;\n });\n if (preferredAvailableSubs[0]) {\n subTrack = preferredAvailableSubs[0];\n }\n }\n const { language, label, kind } = subTrack;\n updateTracksModeTo(TextTrackModes.DISABLED, tracks, showingSubitleTracks);\n updateTracksModeTo(TextTrackModes.SHOWING, tracks, [\n { language, label, kind }\n ]);\n }\n};\nconst areValuesEq = (x, y) => {\n if (x === y)\n return true;\n if (x == null || y == null)\n return false;\n if (typeof x !== typeof y)\n return false;\n if (typeof x === \"number\" && Number.isNaN(x) && Number.isNaN(y))\n return true;\n if (typeof x !== \"object\")\n return false;\n if (Array.isArray(x))\n return areArraysEq(x, y);\n return Object.entries(x).every(\n // NOTE: Checking key in y to disambiguate between between missing keys and keys whose value are undefined (CJP)\n ([key, value]) => key in y && areValuesEq(value, y[key])\n );\n};\nconst areArraysEq = (xs, ys) => {\n const xIsArray = Array.isArray(xs);\n const yIsArray = Array.isArray(ys);\n if (xIsArray !== yIsArray)\n return false;\n if (!(xIsArray || yIsArray))\n return true;\n if (xs.length !== ys.length)\n return false;\n return xs.every((x, i) => areValuesEq(x, ys[i]));\n};\nexport {\n areArraysEq,\n areValuesEq,\n getShowingSubtitleTracks,\n getSubtitleTracks,\n toggleSubtitleTracks\n};\n","import { document, globalThis } from \"../utils/server-safe-globals.js\";\nimport {\n AvailabilityStates,\n StreamTypes,\n TextTrackKinds\n} from \"../constants.js\";\nimport { containsComposedNode } from \"../utils/element-utils.js\";\nimport {\n enterFullscreen,\n exitFullscreen,\n isFullscreen\n} from \"../utils/fullscreen-api.js\";\nimport {\n airplaySupported,\n castSupported,\n fullscreenSupported,\n hasFullscreenSupport,\n hasPipSupport,\n hasVolumeSupportAsync,\n pipSupported\n} from \"../utils/platform-tests.js\";\nimport {\n getShowingSubtitleTracks,\n getSubtitleTracks,\n toggleSubtitleTracks\n} from \"./util.js\";\nimport { getTextTracksList } from \"../utils/captions.js\";\nimport { isValidNumber } from \"../utils/utils.js\";\nconst StreamTypeValues = Object.values(StreamTypes);\nlet volumeSupported;\nconst volumeSupportPromise = hasVolumeSupportAsync().then((supported) => {\n volumeSupported = supported;\n return volumeSupported;\n});\nconst prepareStateOwners = async (...stateOwners) => {\n await Promise.all(\n stateOwners.filter((x) => x).map(async (stateOwner) => {\n if (!(\"localName\" in stateOwner && stateOwner instanceof globalThis.HTMLElement)) {\n return;\n }\n const name = stateOwner.localName;\n if (!name.includes(\"-\"))\n return;\n const classDef = globalThis.customElements.get(name);\n if (classDef && stateOwner instanceof classDef)\n return;\n await globalThis.customElements.whenDefined(name);\n globalThis.customElements.upgrade(stateOwner);\n })\n );\n};\nconst domParser = new globalThis.DOMParser();\nconst parseHtmlToText = (text) => text ? domParser.parseFromString(text, \"text/html\").body.textContent || text : text;\nconst stateMediator = {\n mediaError: {\n get(stateOwners, event) {\n const { media } = stateOwners;\n if ((event == null ? void 0 : event.type) === \"playing\")\n return;\n return media == null ? void 0 : media.error;\n },\n mediaEvents: [\"emptied\", \"error\", \"playing\"]\n },\n mediaErrorCode: {\n get(stateOwners, event) {\n var _a;\n const { media } = stateOwners;\n if ((event == null ? void 0 : event.type) === \"playing\")\n return;\n return (_a = media == null ? void 0 : media.error) == null ? void 0 : _a.code;\n },\n mediaEvents: [\"emptied\", \"error\", \"playing\"]\n },\n mediaErrorMessage: {\n get(stateOwners, event) {\n var _a, _b;\n const { media } = stateOwners;\n if ((event == null ? void 0 : event.type) === \"playing\")\n return;\n return (_b = (_a = media == null ? void 0 : media.error) == null ? void 0 : _a.message) != null ? _b : \"\";\n },\n mediaEvents: [\"emptied\", \"error\", \"playing\"]\n },\n mediaWidth: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.videoWidth) != null ? _a : 0;\n },\n mediaEvents: [\"resize\"]\n },\n mediaHeight: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.videoHeight) != null ? _a : 0;\n },\n mediaEvents: [\"resize\"]\n },\n mediaPaused: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.paused) != null ? _a : true;\n },\n set(value, stateOwners) {\n var _a;\n const { media } = stateOwners;\n if (!media)\n return;\n if (value) {\n media.pause();\n } else {\n (_a = media.play()) == null ? void 0 : _a.catch(() => {\n });\n }\n },\n mediaEvents: [\"play\", \"playing\", \"pause\", \"emptied\"]\n },\n mediaHasPlayed: {\n // We want to let the user know that the media started playing at any point (`media-has-played`).\n // Since these propagators are all called when boostrapping state, let's verify this is\n // a real playing event by checking that 1) there's media and 2) it isn't currently paused.\n get(stateOwners, event) {\n const { media } = stateOwners;\n if (!media)\n return false;\n if (!event)\n return !media.paused;\n return event.type === \"playing\";\n },\n mediaEvents: [\"playing\", \"emptied\"]\n },\n mediaEnded: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.ended) != null ? _a : false;\n },\n mediaEvents: [\"seeked\", \"ended\", \"emptied\"]\n },\n mediaPlaybackRate: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.playbackRate) != null ? _a : 1;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!media)\n return;\n if (!Number.isFinite(+value))\n return;\n media.playbackRate = +value;\n },\n mediaEvents: [\"ratechange\", \"loadstart\"]\n },\n mediaMuted: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.muted) != null ? _a : false;\n },\n set(value, stateOwners) {\n const { media, options: { noMutedPref } = {} } = stateOwners;\n if (!media)\n return;\n media.muted = value;\n try {\n const hasLocalStoragePrefMuted = globalThis.localStorage.getItem(\"media-chrome-pref-muted\") !== null;\n const hasMutedAttribute = media.hasAttribute(\"muted\");\n if (noMutedPref) {\n if (hasLocalStoragePrefMuted)\n globalThis.localStorage.removeItem(\"media-chrome-pref-muted\");\n return;\n }\n if (hasMutedAttribute && !hasLocalStoragePrefMuted) {\n return;\n }\n globalThis.localStorage.setItem(\n \"media-chrome-pref-muted\",\n value ? \"true\" : \"false\"\n );\n } catch (e) {\n console.debug(\"Error setting muted pref\", e);\n }\n },\n mediaEvents: [\"volumechange\"],\n stateOwnersUpdateHandlers: [\n (handler, stateOwners) => {\n const {\n options: { noMutedPref }\n } = stateOwners;\n const { media } = stateOwners;\n if (!media || media.muted || noMutedPref)\n return;\n try {\n const mutedPref = globalThis.localStorage.getItem(\"media-chrome-pref-muted\") === \"true\";\n stateMediator.mediaMuted.set(mutedPref, stateOwners);\n handler(mutedPref);\n } catch (e) {\n console.debug(\"Error getting muted pref\", e);\n }\n }\n ]\n },\n mediaLoop: {\n get(stateOwners) {\n const { media } = stateOwners;\n return media == null ? void 0 : media.loop;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!media)\n return;\n media.loop = value;\n },\n mediaEvents: [\"medialooprequest\"]\n },\n mediaVolume: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.volume) != null ? _a : 1;\n },\n set(value, stateOwners) {\n const { media, options: { noVolumePref } = {} } = stateOwners;\n if (!media)\n return;\n try {\n if (value == null) {\n globalThis.localStorage.removeItem(\"media-chrome-pref-volume\");\n } else if (!media.hasAttribute(\"muted\") && !noVolumePref) {\n globalThis.localStorage.setItem(\n \"media-chrome-pref-volume\",\n value.toString()\n );\n }\n } catch (e) {\n console.debug(\"Error setting volume pref\", e);\n }\n if (!Number.isFinite(+value))\n return;\n media.volume = +value;\n },\n mediaEvents: [\"volumechange\"],\n stateOwnersUpdateHandlers: [\n (handler, stateOwners) => {\n const {\n options: { noVolumePref }\n } = stateOwners;\n if (noVolumePref)\n return;\n try {\n const { media } = stateOwners;\n if (!media)\n return;\n const volumePref = globalThis.localStorage.getItem(\n \"media-chrome-pref-volume\"\n );\n if (volumePref == null)\n return;\n stateMediator.mediaVolume.set(+volumePref, stateOwners);\n handler(+volumePref);\n } catch (e) {\n console.debug(\"Error getting volume pref\", e);\n }\n }\n ]\n },\n // NOTE: Keeping this roughly equivalent to prior impl to reduce number of changes,\n // however we may want to model \"derived\" state differently from \"primary\" state\n // (in this case, derived === mediaVolumeLevel, primary === mediaMuted, mediaVolume) (CJP)\n mediaVolumeLevel: {\n get(stateOwners) {\n const { media } = stateOwners;\n if (typeof (media == null ? void 0 : media.volume) == \"undefined\")\n return \"high\";\n if (media.muted || media.volume === 0)\n return \"off\";\n if (media.volume < 0.5)\n return \"low\";\n if (media.volume < 0.75)\n return \"medium\";\n return \"high\";\n },\n mediaEvents: [\"volumechange\"]\n },\n mediaCurrentTime: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return (_a = media == null ? void 0 : media.currentTime) != null ? _a : 0;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!media || !isValidNumber(value))\n return;\n media.currentTime = value;\n },\n mediaEvents: [\"timeupdate\", \"loadedmetadata\"]\n },\n mediaDuration: {\n get(stateOwners) {\n const { media, options: { defaultDuration } = {} } = stateOwners;\n if (defaultDuration && (!media || !media.duration || Number.isNaN(media.duration) || !Number.isFinite(media.duration))) {\n return defaultDuration;\n }\n return Number.isFinite(media == null ? void 0 : media.duration) ? media.duration : Number.NaN;\n },\n mediaEvents: [\"durationchange\", \"loadedmetadata\", \"emptied\"]\n },\n mediaLoading: {\n get(stateOwners) {\n const { media } = stateOwners;\n return (media == null ? void 0 : media.readyState) < 3;\n },\n mediaEvents: [\"waiting\", \"playing\", \"emptied\"]\n },\n mediaSeekable: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n if (!((_a = media == null ? void 0 : media.seekable) == null ? void 0 : _a.length))\n return void 0;\n const start = media.seekable.start(0);\n const end = media.seekable.end(media.seekable.length - 1);\n if (!start && !end)\n return void 0;\n return [Number(start.toFixed(3)), Number(end.toFixed(3))];\n },\n mediaEvents: [\"loadedmetadata\", \"emptied\", \"progress\", \"seekablechange\"]\n },\n mediaBuffered: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n const timeRanges = (_a = media == null ? void 0 : media.buffered) != null ? _a : [];\n return Array.from(timeRanges).map((_, i) => [\n Number(timeRanges.start(i).toFixed(3)),\n Number(timeRanges.end(i).toFixed(3))\n ]);\n },\n mediaEvents: [\"progress\", \"emptied\"]\n },\n mediaStreamType: {\n get(stateOwners) {\n const { media, options: { defaultStreamType } = {} } = stateOwners;\n const usedDefaultStreamType = [\n StreamTypes.LIVE,\n StreamTypes.ON_DEMAND\n ].includes(defaultStreamType) ? defaultStreamType : void 0;\n if (!media)\n return usedDefaultStreamType;\n const { streamType } = media;\n if (StreamTypeValues.includes(streamType)) {\n if (streamType === StreamTypes.UNKNOWN) {\n return usedDefaultStreamType;\n }\n return streamType;\n }\n const duration = media.duration;\n if (duration === Infinity) {\n return StreamTypes.LIVE;\n } else if (Number.isFinite(duration)) {\n return StreamTypes.ON_DEMAND;\n }\n return usedDefaultStreamType;\n },\n mediaEvents: [\n \"emptied\",\n \"durationchange\",\n \"loadedmetadata\",\n \"streamtypechange\"\n ]\n },\n mediaTargetLiveWindow: {\n get(stateOwners) {\n const { media } = stateOwners;\n if (!media)\n return Number.NaN;\n const { targetLiveWindow } = media;\n const streamType = stateMediator.mediaStreamType.get(stateOwners);\n if ((targetLiveWindow == null || Number.isNaN(targetLiveWindow)) && streamType === StreamTypes.LIVE) {\n return 0;\n }\n return targetLiveWindow;\n },\n mediaEvents: [\n \"emptied\",\n \"durationchange\",\n \"loadedmetadata\",\n \"streamtypechange\",\n \"targetlivewindowchange\"\n ]\n },\n mediaTimeIsLive: {\n get(stateOwners) {\n const {\n media,\n // Default to 10 seconds\n options: { liveEdgeOffset = 10 } = {}\n } = stateOwners;\n if (!media)\n return false;\n if (typeof media.liveEdgeStart === \"number\") {\n if (Number.isNaN(media.liveEdgeStart))\n return false;\n return media.currentTime >= media.liveEdgeStart;\n }\n const live = stateMediator.mediaStreamType.get(stateOwners) === StreamTypes.LIVE;\n if (!live)\n return false;\n const seekable = media.seekable;\n if (!seekable)\n return true;\n if (!seekable.length)\n return false;\n const liveEdgeStart = seekable.end(seekable.length - 1) - liveEdgeOffset;\n return media.currentTime >= liveEdgeStart;\n },\n mediaEvents: [\"playing\", \"timeupdate\", \"progress\", \"waiting\", \"emptied\"]\n },\n // Text Tracks modeling\n mediaSubtitlesList: {\n get(stateOwners) {\n return getSubtitleTracks(stateOwners).map(\n ({ kind, label, language }) => ({ kind, label, language })\n );\n },\n mediaEvents: [\"loadstart\"],\n textTracksEvents: [\"addtrack\", \"removetrack\"]\n },\n mediaSubtitlesShowing: {\n get(stateOwners) {\n return getShowingSubtitleTracks(stateOwners).map(\n ({ kind, label, language }) => ({ kind, label, language })\n );\n },\n mediaEvents: [\"loadstart\"],\n textTracksEvents: [\"addtrack\", \"removetrack\", \"change\"],\n stateOwnersUpdateHandlers: [\n (_handler, stateOwners) => {\n var _a, _b;\n const { media, options } = stateOwners;\n if (!media)\n return;\n const updateDefaultSubtitlesCallback = (event) => {\n var _a2;\n if (!options.defaultSubtitles)\n return;\n const nonSubsEvent = event && ![TextTrackKinds.CAPTIONS, TextTrackKinds.SUBTITLES].includes(\n // @ts-ignore\n (_a2 = event == null ? void 0 : event.track) == null ? void 0 : _a2.kind\n );\n if (nonSubsEvent)\n return;\n toggleSubtitleTracks(stateOwners, true);\n };\n media.addEventListener(\n \"loadstart\",\n updateDefaultSubtitlesCallback\n );\n (_a = media.textTracks) == null ? void 0 : _a.addEventListener(\n \"addtrack\",\n updateDefaultSubtitlesCallback\n );\n (_b = media.textTracks) == null ? void 0 : _b.addEventListener(\n \"removetrack\",\n updateDefaultSubtitlesCallback\n );\n return () => {\n var _a2, _b2;\n media.removeEventListener(\n \"loadstart\",\n updateDefaultSubtitlesCallback\n );\n (_a2 = media.textTracks) == null ? void 0 : _a2.removeEventListener(\n \"addtrack\",\n updateDefaultSubtitlesCallback\n );\n (_b2 = media.textTracks) == null ? void 0 : _b2.removeEventListener(\n \"removetrack\",\n updateDefaultSubtitlesCallback\n );\n };\n }\n ]\n },\n mediaChaptersCues: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n if (!media)\n return [];\n const [chaptersTrack] = getTextTracksList(media, {\n kind: TextTrackKinds.CHAPTERS\n });\n return Array.from((_a = chaptersTrack == null ? void 0 : chaptersTrack.cues) != null ? _a : []).map(\n ({ text, startTime, endTime }) => ({\n text: parseHtmlToText(text),\n startTime,\n endTime\n })\n );\n },\n mediaEvents: [\"loadstart\", \"loadedmetadata\"],\n textTracksEvents: [\"addtrack\", \"removetrack\", \"change\"],\n stateOwnersUpdateHandlers: [\n (handler, stateOwners) => {\n var _a;\n const { media } = stateOwners;\n if (!media)\n return;\n const chaptersTrack = media.querySelector(\n 'track[kind=\"chapters\"][default][src]'\n );\n const shadowChaptersTrack = (_a = media.shadowRoot) == null ? void 0 : _a.querySelector(\n ':is(video,audio) > track[kind=\"chapters\"][default][src]'\n );\n chaptersTrack == null ? void 0 : chaptersTrack.addEventListener(\"load\", handler);\n shadowChaptersTrack == null ? void 0 : shadowChaptersTrack.addEventListener(\"load\", handler);\n return () => {\n chaptersTrack == null ? void 0 : chaptersTrack.removeEventListener(\"load\", handler);\n shadowChaptersTrack == null ? void 0 : shadowChaptersTrack.removeEventListener(\"load\", handler);\n };\n }\n ]\n },\n // Modeling state tied to root node\n mediaIsPip: {\n get(stateOwners) {\n var _a, _b;\n const { media, documentElement } = stateOwners;\n if (!media || !documentElement)\n return false;\n if (!documentElement.pictureInPictureElement)\n return false;\n if (documentElement.pictureInPictureElement === media)\n return true;\n if (documentElement.pictureInPictureElement instanceof HTMLMediaElement) {\n if (!((_a = media.localName) == null ? void 0 : _a.includes(\"-\")))\n return false;\n return containsComposedNode(\n media,\n documentElement.pictureInPictureElement\n );\n }\n if (documentElement.pictureInPictureElement.localName.includes(\"-\")) {\n let currentRoot = documentElement.pictureInPictureElement.shadowRoot;\n while (currentRoot == null ? void 0 : currentRoot.pictureInPictureElement) {\n if (currentRoot.pictureInPictureElement === media)\n return true;\n currentRoot = (_b = currentRoot.pictureInPictureElement) == null ? void 0 : _b.shadowRoot;\n }\n }\n return false;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!media)\n return;\n if (value) {\n if (!document.pictureInPictureEnabled) {\n console.warn(\"MediaChrome: Picture-in-picture is not enabled\");\n return;\n }\n if (!media.requestPictureInPicture) {\n console.warn(\n \"MediaChrome: The current media does not support picture-in-picture\"\n );\n return;\n }\n const warnNotReady = () => {\n console.warn(\n \"MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.\"\n );\n };\n media.requestPictureInPicture().catch((err) => {\n if (err.code === 11) {\n if (!media.src) {\n console.warn(\n \"MediaChrome: The media is not ready for picture-in-picture. It must have a src set.\"\n );\n return;\n }\n if (media.readyState === 0 && media.preload === \"none\") {\n const cleanup = () => {\n media.removeEventListener(\"loadedmetadata\", tryPip);\n media.preload = \"none\";\n };\n const tryPip = () => {\n media.requestPictureInPicture().catch(warnNotReady);\n cleanup();\n };\n media.addEventListener(\"loadedmetadata\", tryPip);\n media.preload = \"metadata\";\n setTimeout(() => {\n if (media.readyState === 0)\n warnNotReady();\n cleanup();\n }, 1e3);\n } else {\n throw err;\n }\n } else {\n throw err;\n }\n });\n } else if (document.pictureInPictureElement) {\n document.exitPictureInPicture();\n }\n },\n mediaEvents: [\"enterpictureinpicture\", \"leavepictureinpicture\"]\n },\n mediaRenditionList: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return [...(_a = media == null ? void 0 : media.videoRenditions) != null ? _a : []].map((videoRendition) => ({\n ...videoRendition\n }));\n },\n mediaEvents: [\"emptied\", \"loadstart\"],\n videoRenditionsEvents: [\"addrendition\", \"removerendition\"]\n },\n /** @TODO Model this as a derived value? (CJP) */\n mediaRenditionSelected: {\n get(stateOwners) {\n var _a, _b, _c;\n const { media } = stateOwners;\n return (_c = (_b = media == null ? void 0 : media.videoRenditions) == null ? void 0 : _b[(_a = media.videoRenditions) == null ? void 0 : _a.selectedIndex]) == null ? void 0 : _c.id;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!(media == null ? void 0 : media.videoRenditions)) {\n console.warn(\n \"MediaController: Rendition selection not supported by this media.\"\n );\n return;\n }\n const renditionId = value;\n const index = Array.prototype.findIndex.call(\n media.videoRenditions,\n (r) => r.id == renditionId\n );\n if (media.videoRenditions.selectedIndex != index) {\n media.videoRenditions.selectedIndex = index;\n }\n },\n mediaEvents: [\"emptied\"],\n videoRenditionsEvents: [\"addrendition\", \"removerendition\", \"change\"]\n },\n mediaAudioTrackList: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n return [...(_a = media == null ? void 0 : media.audioTracks) != null ? _a : []];\n },\n mediaEvents: [\"emptied\", \"loadstart\"],\n audioTracksEvents: [\"addtrack\", \"removetrack\"]\n },\n mediaAudioTrackEnabled: {\n get(stateOwners) {\n var _a, _b;\n const { media } = stateOwners;\n return (_b = [...(_a = media == null ? void 0 : media.audioTracks) != null ? _a : []].find(\n (audioTrack) => audioTrack.enabled\n )) == null ? void 0 : _b.id;\n },\n set(value, stateOwners) {\n const { media } = stateOwners;\n if (!(media == null ? void 0 : media.audioTracks)) {\n console.warn(\n \"MediaChrome: Audio track selection not supported by this media.\"\n );\n return;\n }\n const audioTrackId = value;\n for (const track of media.audioTracks) {\n track.enabled = audioTrackId == track.id;\n }\n },\n mediaEvents: [\"emptied\"],\n audioTracksEvents: [\"addtrack\", \"removetrack\", \"change\"]\n },\n mediaIsFullscreen: {\n get(stateOwners) {\n return isFullscreen(stateOwners);\n },\n set(value, stateOwners, event) {\n var _a, _b;\n if (!value) {\n exitFullscreen(stateOwners);\n } else {\n enterFullscreen(stateOwners);\n const isPointer = event.detail;\n if (isPointer && !((_a = stateOwners.media) == null ? void 0 : _a.inert))\n (_b = stateOwners.media) == null ? void 0 : _b.focus();\n }\n },\n // older Safari version may require webkit-specific events\n rootEvents: [\"fullscreenchange\", \"webkitfullscreenchange\"],\n // iOS requires webkit-specific events on the video.\n mediaEvents: [\n \"webkitbeginfullscreen\",\n \"webkitendfullscreen\",\n \"webkitpresentationmodechanged\"\n ]\n },\n mediaIsCasting: {\n // Note this relies on a customized castable-video element.\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n if (!(media == null ? void 0 : media.remote) || ((_a = media.remote) == null ? void 0 : _a.state) === \"disconnected\")\n return false;\n return media.remote.state === \"connected\";\n },\n set(value, stateOwners) {\n var _a, _b;\n const { media } = stateOwners;\n if (!media)\n return;\n if (value && ((_a = media.remote) == null ? void 0 : _a.state) !== \"disconnected\")\n return;\n if (!value && ((_b = media.remote) == null ? void 0 : _b.state) !== \"connected\")\n return;\n if (typeof media.remote.prompt !== \"function\") {\n console.warn(\n \"MediaChrome: Casting is not supported in this environment\"\n );\n return;\n }\n media.remote.prompt().catch(() => {\n });\n },\n remoteEvents: [\"connect\", \"connecting\", \"disconnect\"]\n },\n // NOTE: Newly added state for tracking airplaying\n mediaIsAirplaying: {\n // NOTE: Cannot know if airplaying since Safari doesn't fully support HTMLMediaElement::remote yet (e.g. remote::state) (CJP)\n get() {\n return false;\n },\n set(_value, stateOwners) {\n const { media } = stateOwners;\n if (!media)\n return;\n if (!(media.webkitShowPlaybackTargetPicker && globalThis.WebKitPlaybackTargetAvailabilityEvent)) {\n console.error(\n \"MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment\"\n );\n return;\n }\n media.webkitShowPlaybackTargetPicker();\n },\n mediaEvents: [\"webkitcurrentplaybacktargetiswirelesschanged\"]\n },\n mediaFullscreenUnavailable: {\n get(stateOwners) {\n const { media } = stateOwners;\n if (!fullscreenSupported || !hasFullscreenSupport(media))\n return AvailabilityStates.UNSUPPORTED;\n return void 0;\n }\n },\n mediaPipUnavailable: {\n get(stateOwners) {\n const { media } = stateOwners;\n if (!pipSupported || !hasPipSupport(media))\n return AvailabilityStates.UNSUPPORTED;\n else if (media == null ? void 0 : media.disablePictureInPicture)\n return AvailabilityStates.UNAVAILABLE;\n return void 0;\n }\n },\n mediaVolumeUnavailable: {\n get(stateOwners) {\n const { media } = stateOwners;\n if (volumeSupported === false || (media == null ? void 0 : media.volume) == void 0) {\n return AvailabilityStates.UNSUPPORTED;\n }\n return void 0;\n },\n // NOTE: Slightly different impl here. Added generic support for\n // \"stateOwnersUpdateHandlers\" since the original impl had to hack around\n // race conditions. (CJP)\n stateOwnersUpdateHandlers: [\n (handler) => {\n if (volumeSupported == null) {\n volumeSupportPromise.then(\n (supported) => handler(supported ? void 0 : AvailabilityStates.UNSUPPORTED)\n );\n }\n }\n ]\n },\n mediaCastUnavailable: {\n // @ts-ignore\n get(stateOwners, { availability = \"not-available\" } = {}) {\n var _a;\n const { media } = stateOwners;\n if (!castSupported || !((_a = media == null ? void 0 : media.remote) == null ? void 0 : _a.state)) {\n return AvailabilityStates.UNSUPPORTED;\n }\n if (availability == null || availability === \"available\")\n return void 0;\n return AvailabilityStates.UNAVAILABLE;\n },\n stateOwnersUpdateHandlers: [\n (handler, stateOwners) => {\n var _a;\n const { media } = stateOwners;\n if (!media)\n return;\n const remotePlaybackDisabled = media.disableRemotePlayback || media.hasAttribute(\"disableremoteplayback\");\n if (!remotePlaybackDisabled) {\n (_a = media == null ? void 0 : media.remote) == null ? void 0 : _a.watchAvailability((availabilityBool) => {\n const availability = availabilityBool ? \"available\" : \"not-available\";\n handler({ availability });\n }).catch((error) => {\n if (error.name === \"NotSupportedError\") {\n handler({ availability: null });\n } else {\n handler({ availability: \"not-available\" });\n }\n });\n }\n return () => {\n var _a2;\n (_a2 = media == null ? void 0 : media.remote) == null ? void 0 : _a2.cancelWatchAvailability().catch(() => {\n });\n };\n }\n ]\n },\n mediaAirplayUnavailable: {\n get(_stateOwners, event) {\n if (!airplaySupported)\n return AvailabilityStates.UNSUPPORTED;\n if ((event == null ? void 0 : event.availability) === \"not-available\") {\n return AvailabilityStates.UNAVAILABLE;\n }\n return void 0;\n },\n // NOTE: Keeping this event, as it's still the documented way of monitoring\n // for AirPlay availability from Apple.\n // See: https://developer.apple.com/documentation/webkitjs/adding_an_airplay_button_to_your_safari_media_controls#2940021 (CJP)\n mediaEvents: [\"webkitplaybacktargetavailabilitychanged\"],\n stateOwnersUpdateHandlers: [\n (handler, stateOwners) => {\n var _a;\n const { media } = stateOwners;\n if (!media)\n return;\n const remotePlaybackDisabled = media.disableRemotePlayback || media.hasAttribute(\"disableremoteplayback\");\n if (!remotePlaybackDisabled) {\n (_a = media == null ? void 0 : media.remote) == null ? void 0 : _a.watchAvailability((availabilityBool) => {\n const availability = availabilityBool ? \"available\" : \"not-available\";\n handler({ availability });\n }).catch((error) => {\n if (error.name === \"NotSupportedError\") {\n handler({ availability: null });\n } else {\n handler({ availability: \"not-available\" });\n }\n });\n }\n return () => {\n var _a2;\n (_a2 = media == null ? void 0 : media.remote) == null ? void 0 : _a2.cancelWatchAvailability().catch(() => {\n });\n };\n }\n ]\n },\n mediaRenditionUnavailable: {\n get(stateOwners) {\n var _a;\n const { media } = stateOwners;\n if (!(media == null ? void 0 : media.videoRenditions)) {\n return AvailabilityStates.UNSUPPORTED;\n }\n if (!((_a = media.videoRenditions) == null ? void 0 : _a.length)) {\n return AvailabilityStates.UNAVAILABLE;\n }\n return void 0;\n },\n mediaEvents: [\"emptied\", \"loadstart\"],\n videoRenditionsEvents: [\"addrendition\", \"removerendition\"]\n },\n mediaAudioTrackUnavailable: {\n get(stateOwners) {\n var _a, _b;\n const { media } = stateOwners;\n if (!(media == null ? void 0 : media.audioTracks)) {\n return AvailabilityStates.UNSUPPORTED;\n }\n if (((_b = (_a = media.audioTracks) == null ? void 0 : _a.length) != null ? _b : 0) <= 1) {\n return AvailabilityStates.UNAVAILABLE;\n }\n return void 0;\n },\n mediaEvents: [\"emptied\", \"loadstart\"],\n audioTracksEvents: [\"addtrack\", \"removetrack\"]\n },\n mediaLang: {\n get(stateOwners) {\n const { options: { mediaLang } = {} } = stateOwners;\n return mediaLang != null ? mediaLang : \"en\";\n }\n }\n};\nexport {\n prepareStateOwners,\n stateMediator,\n volumeSupportPromise\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport {\n MediaUIEvents,\n StreamTypes,\n TextTrackKinds,\n TextTrackModes\n} from \"../constants.js\";\nimport {\n getTextTracksList,\n parseTracks,\n updateTracksModeTo\n} from \"../utils/captions.js\";\nimport { getSubtitleTracks, toggleSubtitleTracks } from \"./util.js\";\nconst requestMap = {\n /**\n * @TODO Consider adding state to `StateMediator` for e.g. `mediaThumbnailCues` and use that for derived state here (CJP)\n */\n [MediaUIEvents.MEDIA_PREVIEW_REQUEST](stateMediator, stateOwners, { detail }) {\n var _a, _b, _c;\n const { media } = stateOwners;\n const mediaPreviewTime = detail != null ? detail : void 0;\n let mediaPreviewImage = void 0;\n let mediaPreviewCoords = void 0;\n if (media && mediaPreviewTime != null) {\n const [track] = getTextTracksList(media, {\n kind: TextTrackKinds.METADATA,\n label: \"thumbnails\"\n });\n const cue = Array.prototype.find.call((_a = track == null ? void 0 : track.cues) != null ? _a : [], (c, i, cs) => {\n if (i === 0)\n return c.endTime > mediaPreviewTime;\n if (i === cs.length - 1)\n return c.startTime <= mediaPreviewTime;\n return c.startTime <= mediaPreviewTime && c.endTime > mediaPreviewTime;\n });\n if (cue) {\n const base = !/'^(?:[a-z]+:)?\\/\\//i.test(cue.text) ? (_b = media == null ? void 0 : media.querySelector(\n 'track[label=\"thumbnails\"]'\n )) == null ? void 0 : _b.src : void 0;\n const url = new URL(cue.text, base);\n const previewCoordsStr = new URLSearchParams(url.hash).get(\"#xywh\");\n mediaPreviewCoords = previewCoordsStr.split(\",\").map((numStr) => +numStr);\n mediaPreviewImage = url.href;\n }\n }\n const mediaDuration = stateMediator.mediaDuration.get(stateOwners);\n const mediaChaptersCues = stateMediator.mediaChaptersCues.get(stateOwners);\n let mediaPreviewChapter = (_c = mediaChaptersCues.find((c, i, cs) => {\n if (i === cs.length - 1 && mediaDuration === c.endTime) {\n return c.startTime <= mediaPreviewTime && c.endTime >= mediaPreviewTime;\n }\n return c.startTime <= mediaPreviewTime && c.endTime > mediaPreviewTime;\n })) == null ? void 0 : _c.text;\n if (detail != null && mediaPreviewChapter == null) {\n mediaPreviewChapter = \"\";\n }\n return {\n mediaPreviewTime,\n mediaPreviewImage,\n mediaPreviewCoords,\n mediaPreviewChapter\n };\n },\n [MediaUIEvents.MEDIA_PAUSE_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaPaused\";\n const value = true;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_PLAY_REQUEST](stateMediator, stateOwners) {\n var _a, _b, _c, _d;\n const key = \"mediaPaused\";\n const value = false;\n const isLive = stateMediator.mediaStreamType.get(stateOwners) === StreamTypes.LIVE;\n const canAutoSeekToLive = !((_a = stateOwners.options) == null ? void 0 : _a.noAutoSeekToLive);\n const isDVR = stateMediator.mediaTargetLiveWindow.get(stateOwners) > 0;\n if (isLive && canAutoSeekToLive && !isDVR) {\n const seekableEnd = (_b = stateMediator.mediaSeekable.get(stateOwners)) == null ? void 0 : _b[1];\n if (seekableEnd) {\n const seekToLiveOffset = (_d = (_c = stateOwners.options) == null ? void 0 : _c.seekToLiveOffset) != null ? _d : 0;\n const liveEdgeTime = seekableEnd - seekToLiveOffset;\n stateMediator.mediaCurrentTime.set(liveEdgeTime, stateOwners);\n }\n }\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaPlaybackRate\";\n const value = detail;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_MUTE_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaMuted\";\n const value = true;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_UNMUTE_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaMuted\";\n const value = false;\n if (!stateMediator.mediaVolume.get(stateOwners)) {\n stateMediator.mediaVolume.set(0.25, stateOwners);\n }\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_LOOP_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaLoop\";\n const value = !!detail;\n stateMediator[key].set(value, stateOwners);\n return { mediaLoop: value };\n },\n [MediaUIEvents.MEDIA_VOLUME_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaVolume\";\n const value = detail;\n if (value && stateMediator.mediaMuted.get(stateOwners)) {\n stateMediator.mediaMuted.set(false, stateOwners);\n }\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_SEEK_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaCurrentTime\";\n const value = detail;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_SEEK_TO_LIVE_REQUEST](stateMediator, stateOwners) {\n var _a, _b, _c;\n const key = \"mediaCurrentTime\";\n const seekableEnd = (_a = stateMediator.mediaSeekable.get(stateOwners)) == null ? void 0 : _a[1];\n if (Number.isNaN(Number(seekableEnd)))\n return;\n const seekToLiveOffset = (_c = (_b = stateOwners.options) == null ? void 0 : _b.seekToLiveOffset) != null ? _c : 0;\n const value = seekableEnd - seekToLiveOffset;\n stateMediator[key].set(value, stateOwners);\n },\n // Text Tracks state change requests\n [MediaUIEvents.MEDIA_SHOW_SUBTITLES_REQUEST](_stateMediator, stateOwners, { detail }) {\n var _a;\n const { options } = stateOwners;\n const tracks = getSubtitleTracks(stateOwners);\n const tracksToUpdate = parseTracks(detail);\n const preferredLanguage = (_a = tracksToUpdate[0]) == null ? void 0 : _a.language;\n if (preferredLanguage && !options.noSubtitlesLangPref) {\n globalThis.localStorage.setItem(\n \"media-chrome-pref-subtitles-lang\",\n preferredLanguage\n );\n }\n updateTracksModeTo(TextTrackModes.SHOWING, tracks, tracksToUpdate);\n },\n [MediaUIEvents.MEDIA_DISABLE_SUBTITLES_REQUEST](_stateMediator, stateOwners, { detail }) {\n const tracks = getSubtitleTracks(stateOwners);\n const tracksToUpdate = detail != null ? detail : [];\n updateTracksModeTo(TextTrackModes.DISABLED, tracks, tracksToUpdate);\n },\n [MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST](_stateMediator, stateOwners, { detail }) {\n toggleSubtitleTracks(stateOwners, detail);\n },\n // Renditions/Tracks state change requests\n [MediaUIEvents.MEDIA_RENDITION_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaRenditionSelected\";\n const value = detail;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_AUDIO_TRACK_REQUEST](stateMediator, stateOwners, { detail }) {\n const key = \"mediaAudioTrackEnabled\";\n const value = detail;\n stateMediator[key].set(value, stateOwners);\n },\n // State change requests dependent on root node\n [MediaUIEvents.MEDIA_ENTER_PIP_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsPip\";\n const value = true;\n if (stateMediator.mediaIsFullscreen.get(stateOwners)) {\n stateMediator.mediaIsFullscreen.set(false, stateOwners);\n }\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_EXIT_PIP_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsPip\";\n const value = false;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST](stateMediator, stateOwners, event) {\n const key = \"mediaIsFullscreen\";\n const value = true;\n if (stateMediator.mediaIsPip.get(stateOwners)) {\n stateMediator.mediaIsPip.set(false, stateOwners);\n }\n stateMediator[key].set(value, stateOwners, event);\n },\n [MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsFullscreen\";\n const value = false;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_ENTER_CAST_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsCasting\";\n const value = true;\n if (stateMediator.mediaIsFullscreen.get(stateOwners)) {\n stateMediator.mediaIsFullscreen.set(false, stateOwners);\n }\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_EXIT_CAST_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsCasting\";\n const value = false;\n stateMediator[key].set(value, stateOwners);\n },\n [MediaUIEvents.MEDIA_AIRPLAY_REQUEST](stateMediator, stateOwners) {\n const key = \"mediaIsAirplaying\";\n const value = true;\n stateMediator[key].set(value, stateOwners);\n }\n};\nexport {\n requestMap\n};\n","import {\n stateMediator as defaultStateMediator,\n prepareStateOwners\n} from \"./state-mediator.js\";\nimport { areValuesEq } from \"./util.js\";\nimport { requestMap as defaultRequestMap } from \"./request-map.js\";\nconst createMediaStore = ({\n media,\n fullscreenElement,\n documentElement,\n stateMediator = defaultStateMediator,\n requestMap = defaultRequestMap,\n options = {},\n monitorStateOwnersOnlyWithSubscriptions = true\n}) => {\n const callbacks = [];\n const stateOwners = {\n // Spreading options here since folks should not rely on holding onto references\n // for any app-level logic wrt options.\n options: { ...options }\n };\n let state = Object.freeze({\n mediaPreviewTime: void 0,\n mediaPreviewImage: void 0,\n mediaPreviewCoords: void 0,\n mediaPreviewChapter: void 0\n });\n const updateState = (nextStateDelta) => {\n if (nextStateDelta == void 0)\n return;\n if (areValuesEq(nextStateDelta, state)) {\n return;\n }\n state = Object.freeze({\n ...state,\n ...nextStateDelta\n });\n callbacks.forEach((cb) => cb(state));\n };\n const updateStateFromFacade = () => {\n const nextState = Object.entries(stateMediator).reduce(\n (nextState2, [stateName, { get }]) => {\n nextState2[stateName] = get(stateOwners);\n return nextState2;\n },\n {}\n );\n updateState(nextState);\n };\n const stateUpdateHandlers = {};\n let nextStateOwners = void 0;\n const updateStateOwners = async (nextStateOwnersDelta, nextSubscriberCount) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;\n const pendingUpdate = !!nextStateOwners;\n nextStateOwners = {\n ...stateOwners,\n ...nextStateOwners != null ? nextStateOwners : {},\n ...nextStateOwnersDelta\n };\n if (pendingUpdate)\n return;\n await prepareStateOwners(...Object.values(nextStateOwnersDelta));\n const shouldTeardownFromSubscriberCount = callbacks.length > 0 && nextSubscriberCount === 0 && monitorStateOwnersOnlyWithSubscriptions;\n const mediaChanged = stateOwners.media !== nextStateOwners.media;\n const textTracksChanged = ((_a = stateOwners.media) == null ? void 0 : _a.textTracks) !== ((_b = nextStateOwners.media) == null ? void 0 : _b.textTracks);\n const videoRenditionsChanged = ((_c = stateOwners.media) == null ? void 0 : _c.videoRenditions) !== ((_d = nextStateOwners.media) == null ? void 0 : _d.videoRenditions);\n const audioTracksChanged = ((_e = stateOwners.media) == null ? void 0 : _e.audioTracks) !== ((_f = nextStateOwners.media) == null ? void 0 : _f.audioTracks);\n const remoteChanged = ((_g = stateOwners.media) == null ? void 0 : _g.remote) !== ((_h = nextStateOwners.media) == null ? void 0 : _h.remote);\n const rootNodeChanged = stateOwners.documentElement !== nextStateOwners.documentElement;\n const teardownMedia = !!stateOwners.media && (mediaChanged || shouldTeardownFromSubscriberCount);\n const teardownTextTracks = !!((_i = stateOwners.media) == null ? void 0 : _i.textTracks) && (textTracksChanged || shouldTeardownFromSubscriberCount);\n const teardownVideoRenditions = !!((_j = stateOwners.media) == null ? void 0 : _j.videoRenditions) && (videoRenditionsChanged || shouldTeardownFromSubscriberCount);\n const teardownAudioTracks = !!((_k = stateOwners.media) == null ? void 0 : _k.audioTracks) && (audioTracksChanged || shouldTeardownFromSubscriberCount);\n const teardownRemote = !!((_l = stateOwners.media) == null ? void 0 : _l.remote) && (remoteChanged || shouldTeardownFromSubscriberCount);\n const teardownRootNode = !!stateOwners.documentElement && (rootNodeChanged || shouldTeardownFromSubscriberCount);\n const teardownSomething = teardownMedia || teardownTextTracks || teardownVideoRenditions || teardownAudioTracks || teardownRemote || teardownRootNode;\n const shouldSetupFromSubscriberCount = callbacks.length === 0 && nextSubscriberCount === 1 && monitorStateOwnersOnlyWithSubscriptions;\n const setupMedia = !!nextStateOwners.media && (mediaChanged || shouldSetupFromSubscriberCount);\n const setupTextTracks = !!((_m = nextStateOwners.media) == null ? void 0 : _m.textTracks) && (textTracksChanged || shouldSetupFromSubscriberCount);\n const setupVideoRenditions = !!((_n = nextStateOwners.media) == null ? void 0 : _n.videoRenditions) && (videoRenditionsChanged || shouldSetupFromSubscriberCount);\n const setupAudioTracks = !!((_o = nextStateOwners.media) == null ? void 0 : _o.audioTracks) && (audioTracksChanged || shouldSetupFromSubscriberCount);\n const setupRemote = !!((_p = nextStateOwners.media) == null ? void 0 : _p.remote) && (remoteChanged || shouldSetupFromSubscriberCount);\n const setupRootNode = !!nextStateOwners.documentElement && (rootNodeChanged || shouldSetupFromSubscriberCount);\n const setupSomething = setupMedia || setupTextTracks || setupVideoRenditions || setupAudioTracks || setupRemote || setupRootNode;\n const somethingToDo = teardownSomething || setupSomething;\n if (!somethingToDo) {\n Object.entries(nextStateOwners).forEach(\n ([stateOwnerName, stateOwner]) => {\n stateOwners[stateOwnerName] = stateOwner;\n }\n );\n updateStateFromFacade();\n nextStateOwners = void 0;\n return;\n }\n Object.entries(stateMediator).forEach(\n ([\n stateName,\n {\n get,\n mediaEvents = [],\n textTracksEvents = [],\n videoRenditionsEvents = [],\n audioTracksEvents = [],\n remoteEvents = [],\n rootEvents = [],\n stateOwnersUpdateHandlers = []\n }\n ]) => {\n if (!stateUpdateHandlers[stateName]) {\n stateUpdateHandlers[stateName] = {};\n }\n const handler = (event) => {\n const nextValue = get(stateOwners, event);\n updateState({ [stateName]: nextValue });\n };\n let prevHandler;\n prevHandler = stateUpdateHandlers[stateName].mediaEvents;\n mediaEvents.forEach((eventType) => {\n if (prevHandler && teardownMedia) {\n stateOwners.media.removeEventListener(eventType, prevHandler);\n stateUpdateHandlers[stateName].mediaEvents = void 0;\n }\n if (setupMedia) {\n nextStateOwners.media.addEventListener(eventType, handler);\n stateUpdateHandlers[stateName].mediaEvents = handler;\n }\n });\n prevHandler = stateUpdateHandlers[stateName].textTracksEvents;\n textTracksEvents.forEach((eventType) => {\n var _a2, _b2;\n if (prevHandler && teardownTextTracks) {\n (_a2 = stateOwners.media.textTracks) == null ? void 0 : _a2.removeEventListener(\n eventType,\n prevHandler\n );\n stateUpdateHandlers[stateName].textTracksEvents = void 0;\n }\n if (setupTextTracks) {\n (_b2 = nextStateOwners.media.textTracks) == null ? void 0 : _b2.addEventListener(\n eventType,\n handler\n );\n stateUpdateHandlers[stateName].textTracksEvents = handler;\n }\n });\n prevHandler = stateUpdateHandlers[stateName].videoRenditionsEvents;\n videoRenditionsEvents.forEach((eventType) => {\n var _a2, _b2;\n if (prevHandler && teardownVideoRenditions) {\n (_a2 = stateOwners.media.videoRenditions) == null ? void 0 : _a2.removeEventListener(\n eventType,\n prevHandler\n );\n stateUpdateHandlers[stateName].videoRenditionsEvents = void 0;\n }\n if (setupVideoRenditions) {\n (_b2 = nextStateOwners.media.videoRenditions) == null ? void 0 : _b2.addEventListener(\n eventType,\n handler\n );\n stateUpdateHandlers[stateName].videoRenditionsEvents = handler;\n }\n });\n prevHandler = stateUpdateHandlers[stateName].audioTracksEvents;\n audioTracksEvents.forEach((eventType) => {\n var _a2, _b2;\n if (prevHandler && teardownAudioTracks) {\n (_a2 = stateOwners.media.audioTracks) == null ? void 0 : _a2.removeEventListener(\n eventType,\n prevHandler\n );\n stateUpdateHandlers[stateName].audioTracksEvents = void 0;\n }\n if (setupAudioTracks) {\n (_b2 = nextStateOwners.media.audioTracks) == null ? void 0 : _b2.addEventListener(\n eventType,\n handler\n );\n stateUpdateHandlers[stateName].audioTracksEvents = handler;\n }\n });\n prevHandler = stateUpdateHandlers[stateName].remoteEvents;\n remoteEvents.forEach((eventType) => {\n var _a2, _b2;\n if (prevHandler && teardownRemote) {\n (_a2 = stateOwners.media.remote) == null ? void 0 : _a2.removeEventListener(\n eventType,\n prevHandler\n );\n stateUpdateHandlers[stateName].remoteEvents = void 0;\n }\n if (setupRemote) {\n (_b2 = nextStateOwners.media.remote) == null ? void 0 : _b2.addEventListener(eventType, handler);\n stateUpdateHandlers[stateName].remoteEvents = handler;\n }\n });\n prevHandler = stateUpdateHandlers[stateName].rootEvents;\n rootEvents.forEach((eventType) => {\n if (prevHandler && teardownRootNode) {\n stateOwners.documentElement.removeEventListener(\n eventType,\n prevHandler\n );\n stateUpdateHandlers[stateName].rootEvents = void 0;\n }\n if (setupRootNode) {\n nextStateOwners.documentElement.addEventListener(\n eventType,\n handler\n );\n stateUpdateHandlers[stateName].rootEvents = handler;\n }\n });\n const prevHandlerTeardowns = stateUpdateHandlers[stateName].stateOwnersUpdateHandlers;\n if (prevHandlerTeardowns && teardownSomething) {\n const teardowns = Array.isArray(prevHandlerTeardowns) ? prevHandlerTeardowns : [prevHandlerTeardowns];\n teardowns.forEach((teardown) => {\n if (typeof teardown === \"function\") {\n teardown();\n }\n });\n }\n if (setupSomething) {\n const newTeardowns = stateOwnersUpdateHandlers.map((fn) => fn(handler, nextStateOwners)).filter((teardown) => typeof teardown === \"function\");\n stateUpdateHandlers[stateName].stateOwnersUpdateHandlers = newTeardowns.length === 1 ? newTeardowns[0] : newTeardowns;\n } else if (teardownSomething) {\n stateUpdateHandlers[stateName].stateOwnersUpdateHandlers = void 0;\n }\n }\n );\n Object.entries(nextStateOwners).forEach(([stateOwnerName, stateOwner]) => {\n stateOwners[stateOwnerName] = stateOwner;\n });\n updateStateFromFacade();\n nextStateOwners = void 0;\n };\n updateStateOwners({ media, fullscreenElement, documentElement, options });\n return {\n // note that none of these cases directly interact with the media element, root node, full screen element, etc.\n // note these \"actions\" could just be the events if we wanted, especially if we normalize on \"detail\" for\n // any payload-relevant values\n // This is roughly equivalent to our used to be in our state requests dictionary object, though much of the\n // \"heavy lifting\" is now moved into the facade `set()`\n dispatch(action) {\n const { type, detail } = action;\n if (requestMap[type] && state.mediaErrorCode == null) {\n updateState(requestMap[type](stateMediator, stateOwners, action));\n return;\n }\n if (type === \"mediaelementchangerequest\") {\n updateStateOwners({ media: detail });\n } else if (type === \"fullscreenelementchangerequest\") {\n updateStateOwners({ fullscreenElement: detail });\n } else if (type === \"documentelementchangerequest\") {\n updateStateOwners({ documentElement: detail });\n } else if (type === \"optionschangerequest\") {\n Object.entries(detail != null ? detail : {}).forEach(([optionName, optionValue]) => {\n stateOwners.options[optionName] = optionValue;\n });\n updateStateFromFacade();\n }\n },\n getState() {\n return state;\n },\n subscribe(callback) {\n updateStateOwners({}, callbacks.length + 1);\n callbacks.push(callback);\n callback(state);\n return () => {\n const idx = callbacks.indexOf(callback);\n if (idx >= 0) {\n updateStateOwners({}, callbacks.length - 1);\n callbacks.splice(idx, 1);\n }\n };\n }\n };\n};\nvar media_store_default = createMediaStore;\nexport {\n createMediaStore,\n media_store_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _hotKeys, _fullscreenElement, _mediaStore, _keyboardShortcutsDialog, _mediaStateCallback, _mediaStoreUnsubscribe, _mediaStateEventHandler, _subtitlesState, _setupDefaultStore, setupDefaultStore_fn, _keyUpHandler, _keyDownHandler, keyDownHandler_fn, _showKeyboardShortcutsDialog, showKeyboardShortcutsDialog_fn;\nimport { MediaContainer } from \"./media-container.js\";\nimport { document, globalThis } from \"./utils/server-safe-globals.js\";\nimport { AttributeTokenList } from \"./utils/attribute-token-list.js\";\nimport {\n delay,\n stringifyRenditionList,\n stringifyAudioTrackList\n} from \"./utils/utils.js\";\nimport { stringifyTextTrackList } from \"./utils/captions.js\";\nimport {\n MediaUIEvents,\n MediaUIAttributes,\n MediaStateReceiverAttributes,\n AttributeToStateChangeEventMap,\n MediaUIProps\n} from \"./constants.js\";\nimport {\n getBooleanAttr,\n getNumericAttr,\n getStringAttr,\n setBooleanAttr,\n setNumericAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nimport { createMediaStore } from \"./media-store/media-store.js\";\nimport { setLanguage, getResolvedLanguage } from \"./utils/i18n.js\";\nconst ButtonPressedKeys = [\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n \" \",\n \"f\",\n \"m\",\n \"k\",\n \"c\",\n \"l\",\n \"j\",\n \">\",\n \"<\",\n \"p\"\n];\nconst DEFAULT_SEEK_OFFSET = 10;\nconst DEFAULT_VOLUME_STEP = 0.025;\nconst DEFAULT_PLAYBACK_RATE_STEP = 0.25;\nconst MIN_PLAYBACK_RATE = 0.25;\nconst MAX_PLAYBACK_RATE = 2;\nconst Attributes = {\n DEFAULT_SUBTITLES: \"defaultsubtitles\",\n DEFAULT_STREAM_TYPE: \"defaultstreamtype\",\n DEFAULT_DURATION: \"defaultduration\",\n FULLSCREEN_ELEMENT: \"fullscreenelement\",\n HOTKEYS: \"hotkeys\",\n KEYBOARD_BACKWARD_SEEK_OFFSET: \"keyboardbackwardseekoffset\",\n KEYBOARD_FORWARD_SEEK_OFFSET: \"keyboardforwardseekoffset\",\n KEYBOARD_DOWN_VOLUME_STEP: \"keyboarddownvolumestep\",\n KEYBOARD_UP_VOLUME_STEP: \"keyboardupvolumestep\",\n KEYS_USED: \"keysused\",\n LANG: \"lang\",\n LOOP: \"loop\",\n LIVE_EDGE_OFFSET: \"liveedgeoffset\",\n NO_AUTO_SEEK_TO_LIVE: \"noautoseektolive\",\n NO_DEFAULT_STORE: \"nodefaultstore\",\n NO_HOTKEYS: \"nohotkeys\",\n NO_MUTED_PREF: \"nomutedpref\",\n NO_SUBTITLES_LANG_PREF: \"nosubtitleslangpref\",\n NO_VOLUME_PREF: \"novolumepref\",\n SEEK_TO_LIVE_OFFSET: \"seektoliveoffset\"\n};\nclass MediaController extends MediaContainer {\n constructor() {\n super();\n __privateAdd(this, _setupDefaultStore);\n __privateAdd(this, _keyDownHandler);\n __privateAdd(this, _showKeyboardShortcutsDialog);\n this.mediaStateReceivers = [];\n this.associatedElementSubscriptions = /* @__PURE__ */ new Map();\n __privateAdd(this, _hotKeys, new AttributeTokenList(this, Attributes.HOTKEYS));\n __privateAdd(this, _fullscreenElement, void 0);\n __privateAdd(this, _mediaStore, void 0);\n __privateAdd(this, _keyboardShortcutsDialog, null);\n __privateAdd(this, _mediaStateCallback, void 0);\n __privateAdd(this, _mediaStoreUnsubscribe, void 0);\n __privateAdd(this, _mediaStateEventHandler, (event) => {\n var _a;\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch(event);\n });\n __privateAdd(this, _subtitlesState, void 0);\n __privateAdd(this, _keyUpHandler, (e) => {\n const { key, shiftKey } = e;\n const isShiftSlash = shiftKey && (key === \"/\" || key === \"?\");\n const shouldHandle = isShiftSlash || ButtonPressedKeys.includes(key);\n if (!shouldHandle) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n return;\n }\n this.keyboardShortcutHandler(e);\n });\n this.associateElement(this);\n let prevState = {};\n __privateSet(this, _mediaStateCallback, (nextState) => {\n Object.entries(nextState).forEach(([stateName, stateValue]) => {\n if (stateName in prevState && prevState[stateName] === stateValue)\n return;\n this.propagateMediaState(stateName, stateValue);\n const attrName = stateName.toLowerCase();\n const evt = new globalThis.CustomEvent(\n AttributeToStateChangeEventMap[attrName],\n { composed: true, detail: stateValue }\n );\n this.dispatchEvent(evt);\n });\n prevState = nextState;\n });\n }\n static get observedAttributes() {\n return super.observedAttributes.concat(\n Attributes.NO_HOTKEYS,\n Attributes.HOTKEYS,\n Attributes.DEFAULT_STREAM_TYPE,\n Attributes.DEFAULT_SUBTITLES,\n Attributes.DEFAULT_DURATION,\n Attributes.NO_MUTED_PREF,\n Attributes.NO_VOLUME_PREF,\n Attributes.LANG,\n Attributes.LOOP,\n Attributes.LIVE_EDGE_OFFSET,\n Attributes.SEEK_TO_LIVE_OFFSET,\n Attributes.NO_AUTO_SEEK_TO_LIVE\n );\n }\n get mediaStore() {\n return __privateGet(this, _mediaStore);\n }\n set mediaStore(value) {\n var _a, _b;\n if (__privateGet(this, _mediaStore)) {\n (_a = __privateGet(this, _mediaStoreUnsubscribe)) == null ? void 0 : _a.call(this);\n __privateSet(this, _mediaStoreUnsubscribe, void 0);\n }\n __privateSet(this, _mediaStore, value);\n if (!__privateGet(this, _mediaStore) && !this.hasAttribute(Attributes.NO_DEFAULT_STORE)) {\n __privateMethod(this, _setupDefaultStore, setupDefaultStore_fn).call(this);\n return;\n }\n __privateSet(this, _mediaStoreUnsubscribe, (_b = __privateGet(this, _mediaStore)) == null ? void 0 : _b.subscribe(\n __privateGet(this, _mediaStateCallback)\n ));\n }\n get fullscreenElement() {\n var _a;\n return (_a = __privateGet(this, _fullscreenElement)) != null ? _a : this;\n }\n set fullscreenElement(element) {\n var _a;\n if (this.hasAttribute(Attributes.FULLSCREEN_ELEMENT)) {\n this.removeAttribute(Attributes.FULLSCREEN_ELEMENT);\n }\n __privateSet(this, _fullscreenElement, element);\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch({\n type: \"fullscreenelementchangerequest\",\n detail: this.fullscreenElement\n });\n }\n get defaultSubtitles() {\n return getBooleanAttr(this, Attributes.DEFAULT_SUBTITLES);\n }\n set defaultSubtitles(value) {\n setBooleanAttr(this, Attributes.DEFAULT_SUBTITLES, value);\n }\n get defaultStreamType() {\n return getStringAttr(this, Attributes.DEFAULT_STREAM_TYPE);\n }\n set defaultStreamType(value) {\n setStringAttr(this, Attributes.DEFAULT_STREAM_TYPE, value);\n }\n get defaultDuration() {\n return getNumericAttr(this, Attributes.DEFAULT_DURATION);\n }\n set defaultDuration(value) {\n setNumericAttr(this, Attributes.DEFAULT_DURATION, value);\n }\n get noHotkeys() {\n return getBooleanAttr(this, Attributes.NO_HOTKEYS);\n }\n set noHotkeys(value) {\n setBooleanAttr(this, Attributes.NO_HOTKEYS, value);\n }\n get keysUsed() {\n return getStringAttr(this, Attributes.KEYS_USED);\n }\n set keysUsed(value) {\n setStringAttr(this, Attributes.KEYS_USED, value);\n }\n get liveEdgeOffset() {\n return getNumericAttr(this, Attributes.LIVE_EDGE_OFFSET);\n }\n set liveEdgeOffset(value) {\n setNumericAttr(this, Attributes.LIVE_EDGE_OFFSET, value);\n }\n get noAutoSeekToLive() {\n return getBooleanAttr(this, Attributes.NO_AUTO_SEEK_TO_LIVE);\n }\n set noAutoSeekToLive(value) {\n setBooleanAttr(this, Attributes.NO_AUTO_SEEK_TO_LIVE, value);\n }\n get noVolumePref() {\n return getBooleanAttr(this, Attributes.NO_VOLUME_PREF);\n }\n set noVolumePref(value) {\n setBooleanAttr(this, Attributes.NO_VOLUME_PREF, value);\n }\n get noMutedPref() {\n return getBooleanAttr(this, Attributes.NO_MUTED_PREF);\n }\n set noMutedPref(value) {\n setBooleanAttr(this, Attributes.NO_MUTED_PREF, value);\n }\n get noSubtitlesLangPref() {\n return getBooleanAttr(this, Attributes.NO_SUBTITLES_LANG_PREF);\n }\n set noSubtitlesLangPref(value) {\n setBooleanAttr(this, Attributes.NO_SUBTITLES_LANG_PREF, value);\n }\n get noDefaultStore() {\n return getBooleanAttr(this, Attributes.NO_DEFAULT_STORE);\n }\n set noDefaultStore(value) {\n setBooleanAttr(this, Attributes.NO_DEFAULT_STORE, value);\n }\n get resolvedLang() {\n return getResolvedLanguage();\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === Attributes.NO_HOTKEYS) {\n if (newValue !== oldValue && newValue === \"\") {\n if (this.hasAttribute(Attributes.HOTKEYS)) {\n console.warn(\n \"Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled.\"\n );\n }\n this.disableHotkeys();\n } else if (newValue !== oldValue && newValue === null) {\n this.enableHotkeys();\n }\n } else if (attrName === Attributes.HOTKEYS) {\n __privateGet(this, _hotKeys).value = newValue;\n } else if (attrName === Attributes.DEFAULT_SUBTITLES && newValue !== oldValue) {\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch({\n type: \"optionschangerequest\",\n detail: {\n defaultSubtitles: this.hasAttribute(Attributes.DEFAULT_SUBTITLES)\n }\n });\n } else if (attrName === Attributes.DEFAULT_STREAM_TYPE) {\n (_c = __privateGet(this, _mediaStore)) == null ? void 0 : _c.dispatch({\n type: \"optionschangerequest\",\n detail: {\n defaultStreamType: (_b = this.getAttribute(Attributes.DEFAULT_STREAM_TYPE)) != null ? _b : void 0\n }\n });\n } else if (attrName === Attributes.LIVE_EDGE_OFFSET && newValue !== oldValue) {\n (_d = __privateGet(this, _mediaStore)) == null ? void 0 : _d.dispatch({\n type: \"optionschangerequest\",\n detail: {\n liveEdgeOffset: this.hasAttribute(Attributes.LIVE_EDGE_OFFSET) ? +this.getAttribute(Attributes.LIVE_EDGE_OFFSET) : void 0,\n seekToLiveOffset: this.hasAttribute(Attributes.SEEK_TO_LIVE_OFFSET) ? +this.getAttribute(Attributes.SEEK_TO_LIVE_OFFSET) : this.hasAttribute(Attributes.LIVE_EDGE_OFFSET) ? +this.getAttribute(Attributes.LIVE_EDGE_OFFSET) : void 0\n }\n });\n } else if (attrName === Attributes.SEEK_TO_LIVE_OFFSET && newValue !== oldValue) {\n (_e = __privateGet(this, _mediaStore)) == null ? void 0 : _e.dispatch({\n type: \"optionschangerequest\",\n detail: {\n // Mirror #setupDefaultStore: prefer seektoliveoffset, fall back to\n // liveedgeoffset, otherwise undefined.\n seekToLiveOffset: this.hasAttribute(Attributes.SEEK_TO_LIVE_OFFSET) ? +this.getAttribute(Attributes.SEEK_TO_LIVE_OFFSET) : this.hasAttribute(Attributes.LIVE_EDGE_OFFSET) ? +this.getAttribute(Attributes.LIVE_EDGE_OFFSET) : void 0\n }\n });\n } else if (attrName === Attributes.NO_AUTO_SEEK_TO_LIVE) {\n (_f = __privateGet(this, _mediaStore)) == null ? void 0 : _f.dispatch({\n type: \"optionschangerequest\",\n detail: {\n noAutoSeekToLive: this.hasAttribute(Attributes.NO_AUTO_SEEK_TO_LIVE)\n }\n });\n } else if (attrName === Attributes.FULLSCREEN_ELEMENT) {\n const el = newValue ? (_g = this.getRootNode()) == null ? void 0 : _g.getElementById(newValue) : void 0;\n __privateSet(this, _fullscreenElement, el);\n (_h = __privateGet(this, _mediaStore)) == null ? void 0 : _h.dispatch({\n type: \"fullscreenelementchangerequest\",\n detail: this.fullscreenElement\n });\n } else if (attrName === Attributes.LANG && newValue !== oldValue) {\n setLanguage(newValue);\n (_i = __privateGet(this, _mediaStore)) == null ? void 0 : _i.dispatch({\n type: \"optionschangerequest\",\n detail: {\n mediaLang: newValue\n }\n });\n } else if (attrName === Attributes.LOOP && newValue !== oldValue) {\n (_j = __privateGet(this, _mediaStore)) == null ? void 0 : _j.dispatch({\n type: MediaUIEvents.MEDIA_LOOP_REQUEST,\n detail: newValue != null\n });\n } else if (attrName === Attributes.NO_VOLUME_PREF && newValue !== oldValue) {\n (_k = __privateGet(this, _mediaStore)) == null ? void 0 : _k.dispatch({\n type: \"optionschangerequest\",\n detail: {\n noVolumePref: this.hasAttribute(Attributes.NO_VOLUME_PREF)\n }\n });\n } else if (attrName === Attributes.NO_MUTED_PREF && newValue !== oldValue) {\n (_l = __privateGet(this, _mediaStore)) == null ? void 0 : _l.dispatch({\n type: \"optionschangerequest\",\n detail: {\n noMutedPref: this.hasAttribute(Attributes.NO_MUTED_PREF)\n }\n });\n }\n }\n connectedCallback() {\n var _a, _b, _c;\n this.associateElement(this);\n if (!__privateGet(this, _mediaStore) && !this.hasAttribute(Attributes.NO_DEFAULT_STORE)) {\n __privateMethod(this, _setupDefaultStore, setupDefaultStore_fn).call(this);\n }\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch({\n type: \"documentelementchangerequest\",\n detail: document\n });\n (_b = __privateGet(this, _mediaStore)) == null ? void 0 : _b.dispatch({\n type: \"fullscreenelementchangerequest\",\n detail: this.fullscreenElement\n });\n super.connectedCallback();\n if (__privateGet(this, _mediaStore) && !__privateGet(this, _mediaStoreUnsubscribe)) {\n __privateSet(this, _mediaStoreUnsubscribe, (_c = __privateGet(this, _mediaStore)) == null ? void 0 : _c.subscribe(\n __privateGet(this, _mediaStateCallback)\n ));\n }\n if (__privateGet(this, _subtitlesState) !== void 0 && __privateGet(this, _mediaStore) && this.media) {\n setTimeout(() => {\n var _a2, _b2, _c2;\n if ((_b2 = (_a2 = this.media) == null ? void 0 : _a2.textTracks) == null ? void 0 : _b2.length) {\n (_c2 = __privateGet(this, _mediaStore)) == null ? void 0 : _c2.dispatch({\n type: MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,\n detail: __privateGet(this, _subtitlesState)\n });\n }\n }, 0);\n }\n this.hasAttribute(Attributes.NO_HOTKEYS) ? this.disableHotkeys() : this.enableHotkeys();\n }\n disconnectedCallback() {\n var _a, _b, _c, _d, _e, _f;\n (_a = super.disconnectedCallback) == null ? void 0 : _a.call(this);\n this.disableHotkeys();\n if (__privateGet(this, _mediaStore)) {\n const currentState = __privateGet(this, _mediaStore).getState();\n __privateSet(this, _subtitlesState, !!((_b = currentState.mediaSubtitlesShowing) == null ? void 0 : _b.length));\n (_c = __privateGet(this, _mediaStore)) == null ? void 0 : _c.dispatch({\n type: \"fullscreenelementchangerequest\",\n detail: void 0\n });\n (_d = __privateGet(this, _mediaStore)) == null ? void 0 : _d.dispatch({\n type: \"documentelementchangerequest\",\n detail: void 0\n });\n (_e = __privateGet(this, _mediaStore)) == null ? void 0 : _e.dispatch({\n type: MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,\n detail: false\n });\n }\n if (__privateGet(this, _mediaStoreUnsubscribe)) {\n (_f = __privateGet(this, _mediaStoreUnsubscribe)) == null ? void 0 : _f.call(this);\n __privateSet(this, _mediaStoreUnsubscribe, void 0);\n }\n this.unassociateElement(this);\n if (__privateGet(this, _keyboardShortcutsDialog)) {\n __privateGet(this, _keyboardShortcutsDialog).remove();\n __privateSet(this, _keyboardShortcutsDialog, null);\n }\n }\n /**\n * @override\n * @param {HTMLMediaElement} media\n */\n mediaSetCallback(media) {\n var _a;\n super.mediaSetCallback(media);\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch({\n type: \"mediaelementchangerequest\",\n detail: media\n });\n if (!media.hasAttribute(\"tabindex\")) {\n media.tabIndex = -1;\n }\n }\n /**\n * @override\n * @param {HTMLMediaElement} media\n */\n mediaUnsetCallback(media) {\n var _a;\n super.mediaUnsetCallback(media);\n (_a = __privateGet(this, _mediaStore)) == null ? void 0 : _a.dispatch({\n type: \"mediaelementchangerequest\",\n detail: void 0\n });\n }\n propagateMediaState(stateName, state) {\n propagateMediaState(this.mediaStateReceivers, stateName, state);\n }\n associateElement(element) {\n if (!element)\n return;\n const { associatedElementSubscriptions } = this;\n if (associatedElementSubscriptions.has(element))\n return;\n const registerMediaStateReceiver = this.registerMediaStateReceiver.bind(this);\n const unregisterMediaStateReceiver = this.unregisterMediaStateReceiver.bind(this);\n const unsubscribe = monitorForMediaStateReceivers(\n element,\n registerMediaStateReceiver,\n unregisterMediaStateReceiver\n );\n Object.values(MediaUIEvents).forEach((eventName) => {\n element.addEventListener(eventName, __privateGet(this, _mediaStateEventHandler));\n });\n associatedElementSubscriptions.set(element, unsubscribe);\n }\n unassociateElement(element) {\n if (!element)\n return;\n const { associatedElementSubscriptions } = this;\n if (!associatedElementSubscriptions.has(element))\n return;\n const unsubscribe = associatedElementSubscriptions.get(element);\n unsubscribe();\n associatedElementSubscriptions.delete(element);\n Object.values(MediaUIEvents).forEach((eventName) => {\n element.removeEventListener(eventName, __privateGet(this, _mediaStateEventHandler));\n });\n }\n registerMediaStateReceiver(el) {\n if (!el)\n return;\n const els = this.mediaStateReceivers;\n const index = els.indexOf(el);\n if (index > -1)\n return;\n els.push(el);\n if (__privateGet(this, _mediaStore)) {\n Object.entries(__privateGet(this, _mediaStore).getState()).forEach(\n ([stateName, stateValue]) => {\n propagateMediaState([el], stateName, stateValue);\n }\n );\n }\n }\n unregisterMediaStateReceiver(el) {\n const els = this.mediaStateReceivers;\n const index = els.indexOf(el);\n if (index < 0)\n return;\n els.splice(index, 1);\n }\n enableHotkeys() {\n this.addEventListener(\"keydown\", __privateMethod(this, _keyDownHandler, keyDownHandler_fn));\n }\n disableHotkeys() {\n this.removeEventListener(\"keydown\", __privateMethod(this, _keyDownHandler, keyDownHandler_fn));\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n }\n // Added string to support JSX compatibility\n get hotkeys() {\n return __privateGet(this, _hotKeys);\n }\n set hotkeys(value) {\n setStringAttr(this, Attributes.HOTKEYS, value);\n }\n keyboardShortcutHandler(e) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i;\n const target = e.target;\n const keysUsed = ((_c = (_b = (_a = target.getAttribute(Attributes.KEYS_USED)) == null ? void 0 : _a.split(\" \")) != null ? _b : target == null ? void 0 : target.keysUsed) != null ? _c : []).map((key) => key === \"Space\" ? \" \" : key).filter(Boolean);\n if (keysUsed.includes(e.key)) {\n return;\n }\n let eventName, detail, evt;\n if (__privateGet(this, _hotKeys).contains(`no${e.key.toLowerCase()}`))\n return;\n if (e.key === \" \" && __privateGet(this, _hotKeys).contains(`nospace`))\n return;\n const isShiftSlash = e.shiftKey && (e.key === \"/\" || e.key === \"?\");\n if (isShiftSlash && __privateGet(this, _hotKeys).contains(\"noshift+/\"))\n return;\n switch (e.key) {\n case \" \":\n case \"k\":\n eventName = __privateGet(this, _mediaStore).getState().mediaPaused ? MediaUIEvents.MEDIA_PLAY_REQUEST : MediaUIEvents.MEDIA_PAUSE_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, {\n composed: true,\n bubbles: true\n })\n );\n break;\n case \"m\":\n eventName = this.mediaStore.getState().mediaVolumeLevel === \"off\" ? MediaUIEvents.MEDIA_UNMUTE_REQUEST : MediaUIEvents.MEDIA_MUTE_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, {\n composed: true,\n bubbles: true\n })\n );\n break;\n case \"f\":\n eventName = this.mediaStore.getState().mediaIsFullscreen ? MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST : MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, {\n composed: true,\n bubbles: true\n })\n );\n break;\n case \"c\":\n this.dispatchEvent(\n new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,\n { composed: true, bubbles: true }\n )\n );\n break;\n case \"ArrowLeft\":\n case \"j\": {\n const offsetValue = this.hasAttribute(\n Attributes.KEYBOARD_BACKWARD_SEEK_OFFSET\n ) ? +this.getAttribute(Attributes.KEYBOARD_BACKWARD_SEEK_OFFSET) : DEFAULT_SEEK_OFFSET;\n detail = Math.max(\n ((_d = this.mediaStore.getState().mediaCurrentTime) != null ? _d : 0) - offsetValue,\n 0\n );\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_SEEK_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \"ArrowRight\":\n case \"l\": {\n const offsetValue = this.hasAttribute(\n Attributes.KEYBOARD_FORWARD_SEEK_OFFSET\n ) ? +this.getAttribute(Attributes.KEYBOARD_FORWARD_SEEK_OFFSET) : DEFAULT_SEEK_OFFSET;\n detail = Math.max(\n ((_e = this.mediaStore.getState().mediaCurrentTime) != null ? _e : 0) + offsetValue,\n 0\n );\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_SEEK_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \"ArrowUp\": {\n const step = this.hasAttribute(Attributes.KEYBOARD_UP_VOLUME_STEP) ? +this.getAttribute(Attributes.KEYBOARD_UP_VOLUME_STEP) : DEFAULT_VOLUME_STEP;\n detail = Math.min(\n ((_f = this.mediaStore.getState().mediaVolume) != null ? _f : 1) + step,\n 1\n );\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_VOLUME_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \"ArrowDown\": {\n const step = this.hasAttribute(Attributes.KEYBOARD_DOWN_VOLUME_STEP) ? +this.getAttribute(Attributes.KEYBOARD_DOWN_VOLUME_STEP) : DEFAULT_VOLUME_STEP;\n detail = Math.max(\n ((_g = this.mediaStore.getState().mediaVolume) != null ? _g : 1) - step,\n 0\n );\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_VOLUME_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \"<\": {\n const playbackRate = (_h = this.mediaStore.getState().mediaPlaybackRate) != null ? _h : 1;\n detail = Math.max(\n playbackRate - DEFAULT_PLAYBACK_RATE_STEP,\n MIN_PLAYBACK_RATE\n ).toFixed(2);\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \">\": {\n const playbackRate = (_i = this.mediaStore.getState().mediaPlaybackRate) != null ? _i : 1;\n detail = Math.min(\n playbackRate + DEFAULT_PLAYBACK_RATE_STEP,\n MAX_PLAYBACK_RATE\n ).toFixed(2);\n evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n break;\n }\n case \"/\":\n case \"?\": {\n if (e.shiftKey) {\n __privateMethod(this, _showKeyboardShortcutsDialog, showKeyboardShortcutsDialog_fn).call(this);\n }\n break;\n }\n case \"p\": {\n eventName = this.mediaStore.getState().mediaIsPip ? MediaUIEvents.MEDIA_EXIT_PIP_REQUEST : MediaUIEvents.MEDIA_ENTER_PIP_REQUEST;\n evt = new globalThis.CustomEvent(eventName, {\n composed: true,\n bubbles: true\n });\n this.dispatchEvent(evt);\n break;\n }\n default:\n break;\n }\n }\n}\n_hotKeys = new WeakMap();\n_fullscreenElement = new WeakMap();\n_mediaStore = new WeakMap();\n_keyboardShortcutsDialog = new WeakMap();\n_mediaStateCallback = new WeakMap();\n_mediaStoreUnsubscribe = new WeakMap();\n_mediaStateEventHandler = new WeakMap();\n_subtitlesState = new WeakMap();\n_setupDefaultStore = new WeakSet();\nsetupDefaultStore_fn = function() {\n var _a;\n this.mediaStore = createMediaStore({\n media: this.media,\n fullscreenElement: this.fullscreenElement,\n options: {\n defaultSubtitles: this.hasAttribute(Attributes.DEFAULT_SUBTITLES),\n defaultDuration: this.hasAttribute(Attributes.DEFAULT_DURATION) ? +this.getAttribute(Attributes.DEFAULT_DURATION) : void 0,\n defaultStreamType: (\n /** @type {import('./media-store/state-mediator.js').StreamTypeValue} */\n (_a = this.getAttribute(\n Attributes.DEFAULT_STREAM_TYPE\n )) != null ? _a : void 0\n ),\n liveEdgeOffset: this.hasAttribute(Attributes.LIVE_EDGE_OFFSET) ? +this.getAttribute(Attributes.LIVE_EDGE_OFFSET) : void 0,\n seekToLiveOffset: this.hasAttribute(Attributes.SEEK_TO_LIVE_OFFSET) ? +this.getAttribute(Attributes.SEEK_TO_LIVE_OFFSET) : this.hasAttribute(Attributes.LIVE_EDGE_OFFSET) ? +this.getAttribute(Attributes.LIVE_EDGE_OFFSET) : void 0,\n noAutoSeekToLive: this.hasAttribute(Attributes.NO_AUTO_SEEK_TO_LIVE),\n // NOTE: This wasn't updated if it was changed later. Should it be? (CJP)\n noVolumePref: this.hasAttribute(Attributes.NO_VOLUME_PREF),\n noMutedPref: this.hasAttribute(Attributes.NO_MUTED_PREF),\n noSubtitlesLangPref: this.hasAttribute(\n Attributes.NO_SUBTITLES_LANG_PREF\n )\n }\n });\n};\n_keyUpHandler = new WeakMap();\n_keyDownHandler = new WeakSet();\nkeyDownHandler_fn = function(e) {\n var _a;\n const { metaKey, altKey, key, shiftKey } = e;\n const isShiftSlash = shiftKey && (key === \"/\" || key === \"?\");\n if (isShiftSlash && ((_a = __privateGet(this, _keyboardShortcutsDialog)) == null ? void 0 : _a.open)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n return;\n }\n if (metaKey || altKey || !isShiftSlash && !ButtonPressedKeys.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n return;\n }\n const target = e.target;\n const isRangeInput = target instanceof HTMLElement && (target.tagName.toLowerCase() === \"media-volume-range\" || target.tagName.toLowerCase() === \"media-time-range\");\n if ([\" \", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\"].includes(key) && !(__privateGet(this, _hotKeys).contains(`no${key.toLowerCase()}`) || key === \" \" && __privateGet(this, _hotKeys).contains(\"nospace\")) && !isRangeInput) {\n e.preventDefault();\n }\n this.addEventListener(\"keyup\", __privateGet(this, _keyUpHandler), { once: true });\n};\n_showKeyboardShortcutsDialog = new WeakSet();\nshowKeyboardShortcutsDialog_fn = function() {\n if (!__privateGet(this, _keyboardShortcutsDialog)) {\n __privateSet(this, _keyboardShortcutsDialog, document.createElement(\n \"media-keyboard-shortcuts-dialog\"\n ));\n this.appendChild(__privateGet(this, _keyboardShortcutsDialog));\n }\n __privateGet(this, _keyboardShortcutsDialog).open = true;\n};\nconst MEDIA_UI_ATTRIBUTE_NAMES = Object.values(MediaUIAttributes);\nconst MEDIA_UI_PROP_NAMES = Object.values(MediaUIProps);\nconst getMediaUIAttributesFrom = (child) => {\n var _a, _b, _c, _d;\n let { observedAttributes } = child.constructor;\n if (!observedAttributes && ((_a = child.nodeName) == null ? void 0 : _a.includes(\"-\"))) {\n globalThis.customElements.upgrade(child);\n ({ observedAttributes } = child.constructor);\n }\n const mediaChromeAttributesList = (_d = (_c = (_b = child == null ? void 0 : child.getAttribute) == null ? void 0 : _b.call(child, MediaStateReceiverAttributes.MEDIA_CHROME_ATTRIBUTES)) == null ? void 0 : _c.split) == null ? void 0 : _d.call(_c, /\\s+/);\n if (!Array.isArray(observedAttributes || mediaChromeAttributesList))\n return [];\n return (observedAttributes || mediaChromeAttributesList).filter(\n (attrName) => MEDIA_UI_ATTRIBUTE_NAMES.includes(attrName)\n );\n};\nconst hasMediaUIProps = (mediaStateReceiverCandidate) => {\n var _a, _b;\n if (((_a = mediaStateReceiverCandidate.nodeName) == null ? void 0 : _a.includes(\"-\")) && !!globalThis.customElements.get(\n (_b = mediaStateReceiverCandidate.nodeName) == null ? void 0 : _b.toLowerCase()\n ) && !(mediaStateReceiverCandidate instanceof globalThis.customElements.get(\n mediaStateReceiverCandidate.nodeName.toLowerCase()\n ))) {\n globalThis.customElements.upgrade(mediaStateReceiverCandidate);\n }\n return MEDIA_UI_PROP_NAMES.some(\n (propName) => propName in mediaStateReceiverCandidate\n );\n};\nconst isMediaStateReceiver = (child) => {\n return hasMediaUIProps(child) || !!getMediaUIAttributesFrom(child).length;\n};\nconst serializeTuple = (tuple) => {\n var _a;\n return (_a = tuple == null ? void 0 : tuple.join) == null ? void 0 : _a.call(tuple, \":\");\n};\nconst CustomAttrSerializer = {\n [MediaUIAttributes.MEDIA_SUBTITLES_LIST]: stringifyTextTrackList,\n [MediaUIAttributes.MEDIA_SUBTITLES_SHOWING]: stringifyTextTrackList,\n [MediaUIAttributes.MEDIA_SEEKABLE]: serializeTuple,\n [MediaUIAttributes.MEDIA_BUFFERED]: (tuples) => tuples == null ? void 0 : tuples.map(serializeTuple).join(\" \"),\n [MediaUIAttributes.MEDIA_PREVIEW_COORDS]: (coords) => coords == null ? void 0 : coords.join(\" \"),\n [MediaUIAttributes.MEDIA_RENDITION_LIST]: stringifyRenditionList,\n [MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST]: stringifyAudioTrackList\n};\nconst setAttr = async (child, attrName, attrValue) => {\n var _a, _b;\n if (!child.isConnected) {\n await delay(0);\n }\n if (typeof attrValue === \"boolean\" || attrValue == null) {\n return setBooleanAttr(child, attrName, attrValue);\n }\n if (typeof attrValue === \"number\") {\n return setNumericAttr(child, attrName, attrValue);\n }\n if (typeof attrValue === \"string\") {\n return setStringAttr(child, attrName, attrValue);\n }\n if (Array.isArray(attrValue) && !attrValue.length) {\n return child.removeAttribute(attrName);\n }\n const val = (_b = (_a = CustomAttrSerializer[attrName]) == null ? void 0 : _a.call(CustomAttrSerializer, attrValue)) != null ? _b : attrValue;\n return child.setAttribute(attrName, val);\n};\nconst isMediaSlotElementDescendant = (el) => {\n var _a;\n return !!((_a = el.closest) == null ? void 0 : _a.call(el, '*[slot=\"media\"]'));\n};\nconst traverseForMediaStateReceivers = (rootNode, mediaStateReceiverCallback) => {\n if (isMediaSlotElementDescendant(rootNode)) {\n return;\n }\n const traverseForMediaStateReceiversSync = (rootNode2, mediaStateReceiverCallback2) => {\n var _a, _b;\n if (isMediaStateReceiver(rootNode2)) {\n mediaStateReceiverCallback2(rootNode2);\n }\n const { children = [] } = rootNode2 != null ? rootNode2 : {};\n const shadowChildren = (_b = (_a = rootNode2 == null ? void 0 : rootNode2.shadowRoot) == null ? void 0 : _a.children) != null ? _b : [];\n const allChildren = [...children, ...shadowChildren];\n allChildren.forEach(\n (child) => traverseForMediaStateReceivers(\n child,\n mediaStateReceiverCallback2\n )\n );\n };\n const name = rootNode == null ? void 0 : rootNode.nodeName.toLowerCase();\n if (name.includes(\"-\") && !isMediaStateReceiver(rootNode)) {\n globalThis.customElements.whenDefined(name).then(() => {\n traverseForMediaStateReceiversSync(rootNode, mediaStateReceiverCallback);\n });\n return;\n }\n traverseForMediaStateReceiversSync(rootNode, mediaStateReceiverCallback);\n};\nconst propagateMediaState = (els, stateName, val) => {\n els.forEach((el) => {\n if (stateName in el) {\n el[stateName] = val;\n return;\n }\n const relevantAttrs = getMediaUIAttributesFrom(el);\n const attrName = stateName.toLowerCase();\n if (!relevantAttrs.includes(attrName))\n return;\n setAttr(el, attrName, val);\n });\n};\nconst monitorForMediaStateReceivers = (rootNode, registerMediaStateReceiver, unregisterMediaStateReceiver) => {\n traverseForMediaStateReceivers(rootNode, registerMediaStateReceiver);\n const registerMediaStateReceiverHandler = (evt) => {\n var _a;\n const el = (_a = evt == null ? void 0 : evt.composedPath()[0]) != null ? _a : evt.target;\n registerMediaStateReceiver(el);\n };\n const unregisterMediaStateReceiverHandler = (evt) => {\n var _a;\n const el = (_a = evt == null ? void 0 : evt.composedPath()[0]) != null ? _a : evt.target;\n unregisterMediaStateReceiver(el);\n };\n rootNode.addEventListener(\n MediaUIEvents.REGISTER_MEDIA_STATE_RECEIVER,\n registerMediaStateReceiverHandler\n );\n rootNode.addEventListener(\n MediaUIEvents.UNREGISTER_MEDIA_STATE_RECEIVER,\n unregisterMediaStateReceiverHandler\n );\n const mutationCallback = (mutationsList) => {\n mutationsList.forEach((mutationRecord) => {\n const {\n addedNodes = [],\n removedNodes = [],\n type,\n target,\n attributeName\n } = mutationRecord;\n if (type === \"childList\") {\n Array.prototype.forEach.call(\n addedNodes,\n (node) => traverseForMediaStateReceivers(\n node,\n registerMediaStateReceiver\n )\n );\n Array.prototype.forEach.call(\n removedNodes,\n (node) => traverseForMediaStateReceivers(\n node,\n unregisterMediaStateReceiver\n )\n );\n } else if (type === \"attributes\" && attributeName === MediaStateReceiverAttributes.MEDIA_CHROME_ATTRIBUTES) {\n if (isMediaStateReceiver(target)) {\n registerMediaStateReceiver(target);\n } else {\n unregisterMediaStateReceiver(target);\n }\n }\n });\n };\n let prevSlotted = [];\n const slotChangeHandler = (event) => {\n const slotEl = event.target;\n if (slotEl.name === \"media\")\n return;\n prevSlotted.forEach(\n (node) => traverseForMediaStateReceivers(node, unregisterMediaStateReceiver)\n );\n prevSlotted = [\n ...slotEl.assignedElements({ flatten: true })\n ];\n prevSlotted.forEach(\n (node) => traverseForMediaStateReceivers(node, registerMediaStateReceiver)\n );\n };\n rootNode.addEventListener(\"slotchange\", slotChangeHandler);\n const observer = new MutationObserver(mutationCallback);\n observer.observe(rootNode, {\n childList: true,\n attributes: true,\n subtree: true\n });\n const unsubscribe = () => {\n traverseForMediaStateReceivers(rootNode, unregisterMediaStateReceiver);\n rootNode.removeEventListener(\"slotchange\", slotChangeHandler);\n observer.disconnect();\n rootNode.removeEventListener(\n MediaUIEvents.REGISTER_MEDIA_STATE_RECEIVER,\n registerMediaStateReceiverHandler\n );\n rootNode.removeEventListener(\n MediaUIEvents.UNREGISTER_MEDIA_STATE_RECEIVER,\n unregisterMediaStateReceiverHandler\n );\n };\n return unsubscribe;\n};\nif (!globalThis.customElements.get(\"media-controller\")) {\n globalThis.customElements.define(\"media-controller\", MediaController);\n}\nvar media_controller_default = MediaController;\nexport {\n Attributes,\n MediaController,\n media_controller_default as default\n};\n","import {\n closestComposedNode,\n getMediaController,\n getStringAttr,\n isElementVisible,\n namedNodeMapToObject,\n setStringAttr\n} from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nconst Attributes = {\n PLACEMENT: \"placement\",\n BOUNDS: \"bounds\"\n};\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7)));\n --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color));\n --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2);\n --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px);\n --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color));\n position: relative;\n pointer-events: none;\n display: var(--media-tooltip-display, inline-flex);\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: var(--media-tooltip-z-index, 1);\n background: var(--_tooltip-background);\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n font: var(--media-font,\n var(--media-font-weight, 400)\n var(--media-font-size, 13px) /\n var(--media-text-content-height, var(--media-control-height, 18px))\n var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));\n padding: var(--media-tooltip-padding, .35em .7em);\n border: var(--media-tooltip-border, none);\n border-radius: var(--media-tooltip-border-radius, 5px);\n filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2)));\n white-space: var(--media-tooltip-white-space, nowrap);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n img, svg {\n display: inline-block;\n }\n\n #arrow {\n position: absolute;\n width: 0px;\n height: 0px;\n border-style: solid;\n display: var(--media-tooltip-arrow-display, block);\n }\n\n :host(:not([placement])),\n :host([placement=\"top\"]) {\n position: absolute;\n bottom: calc(100% + var(--media-tooltip-distance, 12px));\n left: 50%;\n transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0);\n }\n :host(:not([placement])) #arrow,\n :host([placement=\"top\"]) #arrow {\n top: 100%;\n left: 50%;\n border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width);\n border-color: var(--_tooltip-arrow-background) transparent transparent transparent;\n transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);\n }\n\n :host([placement=\"right\"]) {\n position: absolute;\n left: calc(100% + var(--media-tooltip-distance, 12px));\n top: 50%;\n transform: translate(0, -50%);\n }\n :host([placement=\"right\"]) #arrow {\n top: 50%;\n right: 100%;\n border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0;\n border-color: transparent var(--_tooltip-arrow-background) transparent transparent;\n transform: translate(0, -50%);\n }\n\n :host([placement=\"bottom\"]) {\n position: absolute;\n top: calc(100% + var(--media-tooltip-distance, 12px));\n left: 50%;\n transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0);\n }\n :host([placement=\"bottom\"]) #arrow {\n bottom: 100%;\n left: 50%;\n border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width);\n border-color: transparent transparent var(--_tooltip-arrow-background) transparent;\n transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);\n }\n\n :host([placement=\"left\"]) {\n position: absolute;\n right: calc(100% + var(--media-tooltip-distance, 12px));\n top: 50%;\n transform: translate(0, -50%);\n }\n :host([placement=\"left\"]) #arrow {\n top: 50%;\n left: 100%;\n border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height);\n border-color: transparent transparent transparent var(--_tooltip-arrow-background);\n transform: translate(0, -50%);\n }\n \n :host([placement=\"none\"]) #arrow {\n display: none;\n }\n </style>\n <slot></slot>\n <div id=\"arrow\"></div>\n `\n );\n}\nclass MediaTooltip extends globalThis.HTMLElement {\n constructor() {\n super();\n // Adjusts tooltip position relative to the closest specified container\n // such that it doesn't spill out of the left or right sides. Only applies\n // to 'top' and 'bottom' placed tooltips.\n this.updateXOffset = () => {\n var _a;\n if (!isElementVisible(this, { checkOpacity: false, checkVisibilityCSS: false }))\n return;\n const placement = this.placement;\n if (placement === \"left\" || placement === \"right\") {\n this.style.removeProperty(\"--media-tooltip-offset-x\");\n return;\n }\n const tooltipStyle = getComputedStyle(this);\n const containingEl = (_a = closestComposedNode(this, \"#\" + this.bounds)) != null ? _a : getMediaController(this);\n if (!containingEl)\n return;\n const { x: containerX, width: containerWidth } = containingEl.getBoundingClientRect();\n const { x: tooltipX, width: tooltipWidth } = this.getBoundingClientRect();\n const tooltipRight = tooltipX + tooltipWidth;\n const containerRight = containerX + containerWidth;\n const offsetXVal = tooltipStyle.getPropertyValue(\n \"--media-tooltip-offset-x\"\n );\n const currOffsetX = offsetXVal ? parseFloat(offsetXVal.replace(\"px\", \"\")) : 0;\n const marginVal = tooltipStyle.getPropertyValue(\n \"--media-tooltip-container-margin\"\n );\n const currMargin = marginVal ? parseFloat(marginVal.replace(\"px\", \"\")) : 0;\n const leftDiff = tooltipX - containerX + currOffsetX - currMargin;\n const rightDiff = tooltipRight - containerRight + currOffsetX + currMargin;\n if (leftDiff < 0) {\n this.style.setProperty(\"--media-tooltip-offset-x\", `${leftDiff}px`);\n return;\n }\n if (rightDiff > 0) {\n this.style.setProperty(\"--media-tooltip-offset-x\", `${rightDiff}px`);\n return;\n }\n this.style.removeProperty(\"--media-tooltip-offset-x\");\n };\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.arrowEl = this.shadowRoot.querySelector(\"#arrow\");\n if (Object.prototype.hasOwnProperty.call(this, \"placement\")) {\n const placement = this.placement;\n delete this.placement;\n this.placement = placement;\n }\n }\n static get observedAttributes() {\n return [Attributes.PLACEMENT, Attributes.BOUNDS];\n }\n /**\n * Get or set tooltip placement\n */\n get placement() {\n return getStringAttr(this, Attributes.PLACEMENT);\n }\n set placement(value) {\n setStringAttr(this, Attributes.PLACEMENT, value);\n }\n /**\n * Get or set tooltip container ID selector that will constrain the tooltips\n * horizontal position.\n */\n get bounds() {\n return getStringAttr(this, Attributes.BOUNDS);\n }\n set bounds(value) {\n setStringAttr(this, Attributes.BOUNDS, value);\n }\n}\nMediaTooltip.shadowRootOptions = { mode: \"open\" };\nMediaTooltip.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-tooltip\")) {\n globalThis.customElements.define(\"media-tooltip\", MediaTooltip);\n}\nvar media_tooltip_default = MediaTooltip;\nexport {\n Attributes,\n media_tooltip_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _mediaController, _clickListener, _positionTooltip, _keyupListener, _keydownListener, _setupTooltip, setupTooltip_fn;\nimport {\n MediaStateReceiverAttributes,\n MediaUIAttributes\n} from \"./constants.js\";\nimport MediaTooltip from \"./media-tooltip.js\";\nimport {\n getBooleanAttr,\n getOrInsertCSSRule,\n getStringAttr,\n namedNodeMapToObject,\n setBooleanAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nconst Attributes = {\n TOOLTIP_PLACEMENT: \"tooltipplacement\",\n DISABLED: \"disabled\",\n NO_TOOLTIP: \"notooltip\"\n};\nfunction getTemplateHTML(_attrs, _props = {}) {\n return (\n /*html*/\n `\n <style>\n :host {\n position: relative;\n font: var(--media-font,\n var(--media-font-weight, bold)\n var(--media-font-size, 14px) /\n var(--media-text-content-height, var(--media-control-height, 24px))\n var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));\n padding: var(--media-button-padding, var(--media-control-padding, 10px));\n justify-content: var(--media-button-justify-content, center);\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n box-sizing: border-box;\n transition: background .15s linear;\n pointer-events: auto;\n cursor: var(--media-cursor, pointer);\n -webkit-tap-highlight-color: transparent;\n }\n\n ${/*\n Only show outline when keyboard focusing.\n https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo\n */\n \"\"}\n :host(:focus-visible) {\n box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));\n outline: 0;\n }\n ${/*\n * hide default focus ring, particularly when using mouse\n */\n \"\"}\n :host(:where(:focus)) {\n box-shadow: none;\n outline: 0;\n }\n\n :host(:hover) {\n background: var(--media-control-hover-background, rgba(50 50 70 / .7));\n }\n\n slot[name=\"icon\"] {\n display: inline-flex;\n align-items: center;\n }\n\n svg, img, ::slotted(svg), ::slotted(img) {\n width: var(--media-button-icon-width);\n height: var(--media-button-icon-height, var(--media-control-height, 24px));\n transform: var(--media-button-icon-transform);\n transition: var(--media-button-icon-transition);\n fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));\n vertical-align: middle;\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n }\n\n media-tooltip {\n ${/** Make sure unpositioned tooltip doesn't cause page overflow (scroll). */\n \"\"}\n max-width: 0;\n overflow-x: clip;\n opacity: 0;\n transition: opacity .3s, max-width 0s 9s;\n }\n\n :host(:hover) media-tooltip,\n :host(:focus-visible) media-tooltip {\n max-width: 100vw;\n opacity: 1;\n transition: opacity .3s;\n }\n\n :host([notooltip]) slot[name=\"tooltip\"] {\n display: none;\n }\n </style>\n\n ${this.getSlotTemplateHTML(_attrs, _props)}\n\n <slot name=\"tooltip\">\n <media-tooltip part=\"tooltip\" aria-hidden=\"true\">\n <template shadowrootmode=\"${MediaTooltip.shadowRootOptions.mode}\">\n ${MediaTooltip.getTemplateHTML({})}\n </template>\n <slot name=\"tooltip-content\">\n ${this.getTooltipContentHTML(_attrs)}\n </slot>\n </media-tooltip>\n </slot>\n `\n );\n}\nfunction getSlotTemplateHTML(_attrs, _props) {\n return (\n /*html*/\n `\n <slot></slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return \"\";\n}\nclass MediaChromeButton extends globalThis.HTMLElement {\n constructor() {\n super();\n // Called when we know the tooltip is ready / defined\n __privateAdd(this, _setupTooltip);\n __privateAdd(this, _mediaController, void 0);\n this.preventClick = false;\n this.tooltipEl = null;\n __privateAdd(this, _clickListener, (e) => {\n if (!this.preventClick) {\n this.handleClick(e);\n }\n setTimeout(__privateGet(this, _positionTooltip), 0);\n });\n __privateAdd(this, _positionTooltip, () => {\n var _a, _b;\n (_b = (_a = this.tooltipEl) == null ? void 0 : _a.updateXOffset) == null ? void 0 : _b.call(_a);\n });\n // NOTE: There are definitely some \"false positive\" cases with multi-key pressing,\n // but this should be good enough for most use cases.\n __privateAdd(this, _keyupListener, (e) => {\n const { key } = e;\n if (!this.keysUsed.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyupListener));\n return;\n }\n if (!this.preventClick) {\n this.handleClick(e);\n }\n });\n __privateAdd(this, _keydownListener, (e) => {\n const { metaKey, altKey, key } = e;\n if (metaKey || altKey || !this.keysUsed.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyupListener));\n return;\n }\n this.addEventListener(\"keyup\", __privateGet(this, _keyupListener), { once: true });\n });\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n const html = this.constructor.getTemplateHTML(attrs);\n this.shadowRoot.setHTMLUnsafe ? this.shadowRoot.setHTMLUnsafe(html) : this.shadowRoot.innerHTML = html;\n }\n this.tooltipEl = this.shadowRoot.querySelector(\"media-tooltip\");\n }\n static get observedAttributes() {\n return [\n \"disabled\",\n Attributes.TOOLTIP_PLACEMENT,\n MediaStateReceiverAttributes.MEDIA_CONTROLLER,\n MediaUIAttributes.MEDIA_LANG\n ];\n }\n enable() {\n this.addEventListener(\"click\", __privateGet(this, _clickListener));\n this.addEventListener(\"keydown\", __privateGet(this, _keydownListener));\n this.tabIndex = 0;\n }\n disable() {\n this.removeEventListener(\"click\", __privateGet(this, _clickListener));\n this.removeEventListener(\"keydown\", __privateGet(this, _keydownListener));\n this.removeEventListener(\"keyup\", __privateGet(this, _keyupListener));\n this.tabIndex = -1;\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n } else if (attrName === \"disabled\" && newValue !== oldValue) {\n if (newValue == null) {\n this.enable();\n } else {\n this.disable();\n }\n } else if (attrName === Attributes.TOOLTIP_PLACEMENT && this.tooltipEl && newValue !== oldValue) {\n this.tooltipEl.placement = newValue;\n } else if (attrName === MediaUIAttributes.MEDIA_LANG) {\n this.shadowRoot.querySelector('slot[name=\"tooltip-content\"]').innerHTML = this.constructor.getTooltipContentHTML();\n }\n __privateGet(this, _positionTooltip).call(this);\n }\n connectedCallback() {\n var _a, _b, _c;\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"display\",\n `var(--media-control-display, var(--${this.localName}-display, inline-flex))`\n );\n if (!this.hasAttribute(\"disabled\")) {\n this.enable();\n } else {\n this.disable();\n }\n this.setAttribute(\"role\", \"button\");\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(\n this,\n _mediaController,\n // @ts-ignore\n (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(mediaControllerId)\n );\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n globalThis.customElements.whenDefined(\"media-tooltip\").then(() => __privateMethod(this, _setupTooltip, setupTooltip_fn).call(this));\n }\n disconnectedCallback() {\n var _a, _b;\n this.disable();\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n this.removeEventListener(\"mouseenter\", __privateGet(this, _positionTooltip));\n this.removeEventListener(\"focus\", __privateGet(this, _positionTooltip));\n this.removeEventListener(\"click\", __privateGet(this, _clickListener));\n }\n get keysUsed() {\n return [\"Enter\", \" \"];\n }\n /**\n * Get or set tooltip placement\n */\n get tooltipPlacement() {\n return getStringAttr(this, Attributes.TOOLTIP_PLACEMENT);\n }\n set tooltipPlacement(value) {\n setStringAttr(this, Attributes.TOOLTIP_PLACEMENT, value);\n }\n get mediaController() {\n return getStringAttr(this, MediaStateReceiverAttributes.MEDIA_CONTROLLER);\n }\n set mediaController(value) {\n setStringAttr(this, MediaStateReceiverAttributes.MEDIA_CONTROLLER, value);\n }\n get disabled() {\n return getBooleanAttr(this, Attributes.DISABLED);\n }\n set disabled(value) {\n setBooleanAttr(this, Attributes.DISABLED, value);\n }\n get noTooltip() {\n return getBooleanAttr(this, Attributes.NO_TOOLTIP);\n }\n set noTooltip(value) {\n setBooleanAttr(this, Attributes.NO_TOOLTIP, value);\n }\n /**\n * @abstract\n */\n handleClick(_e) {\n }\n}\n_mediaController = new WeakMap();\n_clickListener = new WeakMap();\n_positionTooltip = new WeakMap();\n_keyupListener = new WeakMap();\n_keydownListener = new WeakMap();\n_setupTooltip = new WeakSet();\nsetupTooltip_fn = function() {\n this.addEventListener(\"mouseenter\", __privateGet(this, _positionTooltip));\n this.addEventListener(\"focus\", __privateGet(this, _positionTooltip));\n this.addEventListener(\"click\", __privateGet(this, _clickListener));\n const initialPlacement = this.tooltipPlacement;\n if (initialPlacement && this.tooltipEl) {\n this.tooltipEl.placement = initialPlacement;\n }\n};\nMediaChromeButton.shadowRootOptions = { mode: \"open\" };\nMediaChromeButton.getTemplateHTML = getTemplateHTML;\nMediaChromeButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaChromeButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-chrome-button\")) {\n globalThis.customElements.define(\"media-chrome-button\", MediaChromeButton);\n}\nvar media_chrome_button_default = MediaChromeButton;\nexport {\n MediaChromeButton,\n media_chrome_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getStringAttr,\n setStringAttr,\n getBooleanAttr,\n setBooleanAttr\n} from \"./utils/element-utils.js\";\nconst airplayIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z\"/>\n</svg>\n`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([${MediaUIAttributes.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) {\n display: none !important;\n }\n\n ${/* Double negative, but safer if display doesn't equal 'block' */\n \"\"}\n :host(:not([${MediaUIAttributes.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter],\n :host(:not([${MediaUIAttributes.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"enter\">${airplayIcon}</slot>\n <slot name=\"exit\">${airplayIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-enter\">${t(\"start airplay\")}</slot>\n <slot name=\"tooltip-exit\">${t(\"stop airplay\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const label = el.mediaIsAirplaying ? t(\"stop airplay\") : t(\"start airplay\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaAirplayButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_IS_AIRPLAYING,\n MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_IS_AIRPLAYING) {\n updateAriaLabel(this);\n }\n }\n /**\n * Are we currently airplaying\n */\n get mediaIsAirplaying() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_IS_AIRPLAYING);\n }\n set mediaIsAirplaying(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_IS_AIRPLAYING, value);\n }\n /**\n * Airplay unavailability state\n */\n get mediaAirplayUnavailable() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE);\n }\n set mediaAirplayUnavailable(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE, value);\n }\n handleClick() {\n const evt = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_AIRPLAY_REQUEST,\n {\n composed: true,\n bubbles: true\n }\n );\n this.dispatchEvent(evt);\n }\n}\nMediaAirplayButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaAirplayButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-airplay-button\")) {\n globalThis.customElements.define(\"media-airplay-button\", MediaAirplayButton);\n}\nvar media_airplay_button_default = MediaAirplayButton;\nexport {\n media_airplay_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"./constants.js\";\nimport {\n areSubsOn,\n parseTextTracksStr,\n stringifyTextTrackList\n} from \"./utils/captions.js\";\nimport { t } from \"./utils/i18n.js\";\nconst ccIconOn = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z\"/>\n</svg>`;\nconst ccIconOff = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([aria-checked=\"true\"]) slot[name=off] {\n display: none !important;\n }\n\n ${/* Double negative, but safer if display doesn't equal 'block' */\n \"\"}\n :host(:not([aria-checked=\"true\"])) slot[name=on] {\n display: none !important;\n }\n\n :host([aria-checked=\"true\"]) slot[name=tooltip-enable],\n :host(:not([aria-checked=\"true\"])) slot[name=tooltip-disable] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"on\">${ccIconOn}</slot>\n <slot name=\"off\">${ccIconOff}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-enable\">${t(\"Enable captions\")}</slot>\n <slot name=\"tooltip-disable\">${t(\"Disable captions\")}</slot>\n `\n );\n}\nconst updateAriaChecked = (el) => {\n el.setAttribute(\"aria-checked\", areSubsOn(el).toString());\n};\nclass MediaCaptionsButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_SUBTITLES_LIST,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"button\");\n this.setAttribute(\"aria-label\", t(\"closed captions\"));\n updateAriaChecked(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_SUBTITLES_SHOWING) {\n updateAriaChecked(this);\n }\n }\n /**\n * An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesList() {\n return getSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST);\n }\n set mediaSubtitlesList(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST, list);\n }\n /**\n * An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesShowing() {\n return getSubtitlesListAttr(\n this,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n );\n }\n set mediaSubtitlesShowing(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_SHOWING, list);\n }\n handleClick() {\n this.dispatchEvent(\n new globalThis.CustomEvent(MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST, {\n composed: true,\n bubbles: true\n })\n );\n }\n}\nMediaCaptionsButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaCaptionsButton.getTooltipContentHTML = getTooltipContentHTML;\nconst getSubtitlesListAttr = (el, attrName) => {\n const attrVal = el.getAttribute(attrName);\n return attrVal ? parseTextTracksStr(attrVal) : [];\n};\nconst setSubtitlesListAttr = (el, attrName, list) => {\n if (!(list == null ? void 0 : list.length)) {\n el.removeAttribute(attrName);\n return;\n }\n const newValStr = stringifyTextTrackList(list);\n const oldVal = el.getAttribute(attrName);\n if (oldVal === newValStr)\n return;\n el.setAttribute(attrName, newValStr);\n};\nif (!globalThis.customElements.get(\"media-captions-button\")) {\n globalThis.customElements.define(\n \"media-captions-button\",\n MediaCaptionsButton\n );\n}\nvar media_captions_button_default = MediaCaptionsButton;\nexport {\n MediaCaptionsButton,\n media_captions_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getBooleanAttr,\n setBooleanAttr,\n getStringAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nconst enterIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><g><path class=\"cast_caf_icon_arch0\" d=\"M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z\"/><path class=\"cast_caf_icon_arch1\" d=\"M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z\"/><path class=\"cast_caf_icon_arch2\" d=\"M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z\"/><path class=\"cast_caf_icon_box\" d=\"M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z\"/></g></svg>`;\nconst exitIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><g><path class=\"cast_caf_icon_arch0\" d=\"M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z\"/><path class=\"cast_caf_icon_arch1\" d=\"M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z\"/><path class=\"cast_caf_icon_arch2\" d=\"M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z\"/><path class=\"cast_caf_icon_box\" d=\"M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z\"/><path class=\"cast_caf_icon_boxfill\" d=\"M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z\"/></g></svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([${MediaUIAttributes.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) {\n display: none !important;\n }\n\n ${/* Double negative, but safer if display doesn't equal 'block' */\n \"\"}\n :host(:not([${MediaUIAttributes.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_IS_CASTING}]) slot[name=tooltip-enter],\n :host(:not([${MediaUIAttributes.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"enter\">${enterIcon}</slot>\n <slot name=\"exit\">${exitIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-enter\">${t(\"Start casting\")}</slot>\n <slot name=\"tooltip-exit\">${t(\"Stop casting\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const label = el.mediaIsCasting ? t(\"stop casting\") : t(\"start casting\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaCastButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_IS_CASTING,\n MediaUIAttributes.MEDIA_CAST_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_IS_CASTING) {\n updateAriaLabel(this);\n }\n }\n /**\n * @type {boolean} Are we currently casting\n */\n get mediaIsCasting() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_IS_CASTING);\n }\n set mediaIsCasting(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_IS_CASTING, value);\n }\n /**\n * @type {string | undefined} Cast unavailability state\n */\n get mediaCastUnavailable() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_CAST_UNAVAILABLE);\n }\n set mediaCastUnavailable(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_CAST_UNAVAILABLE, value);\n }\n handleClick() {\n const eventName = this.mediaIsCasting ? MediaUIEvents.MEDIA_EXIT_CAST_REQUEST : MediaUIEvents.MEDIA_ENTER_CAST_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, { composed: true, bubbles: true })\n );\n }\n}\nMediaCastButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaCastButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-cast-button\")) {\n globalThis.customElements.define(\"media-cast-button\", MediaCastButton);\n}\nvar media_cast_button_default = MediaCastButton;\nexport {\n media_cast_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _isInit, _previouslyFocused, _invokerElement, _init, init_fn, _handleOpen, handleOpen_fn, _handleClosed, handleClosed_fn, _handleInvoke, handleInvoke_fn, _handleFocusOut, handleFocusOut_fn, _handleKeyDown, handleKeyDown_fn;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport {\n containsComposedNode,\n getActiveElement,\n getBooleanAttr,\n namedNodeMapToObject,\n setBooleanAttr,\n getOrInsertCSSRule\n} from \"./utils/element-utils.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n font: var(--media-font,\n var(--media-font-weight, normal)\n var(--media-font-size, 14px) /\n var(--media-text-content-height, var(--media-control-height, 24px))\n var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n display: var(--media-dialog-display, inline-flex);\n justify-content: center;\n align-items: center;\n ${/** The hide transition is defined below after a short delay. */\n \"\"}\n transition-behavior: allow-discrete;\n visibility: hidden;\n opacity: 0;\n transform: translateY(2px) scale(.99);\n pointer-events: none;\n }\n\n :host([open]) {\n transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out;\n visibility: visible;\n opacity: 1;\n transform: translateY(0) scale(1);\n pointer-events: auto;\n }\n\n #content {\n display: flex;\n position: relative;\n box-sizing: border-box;\n width: min(320px, 100%);\n word-wrap: break-word;\n max-height: 100%;\n overflow: auto;\n text-align: center;\n line-height: 1.4;\n }\n </style>\n ${this.getSlotTemplateHTML(_attrs)}\n `\n );\n}\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <slot id=\"content\"></slot>\n `\n );\n}\nconst Attributes = {\n OPEN: \"open\",\n ANCHOR: \"anchor\"\n};\nclass MediaChromeDialog extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _init);\n __privateAdd(this, _handleOpen);\n __privateAdd(this, _handleClosed);\n __privateAdd(this, _handleInvoke);\n __privateAdd(this, _handleFocusOut);\n __privateAdd(this, _handleKeyDown);\n __privateAdd(this, _isInit, false);\n __privateAdd(this, _previouslyFocused, null);\n __privateAdd(this, _invokerElement, null);\n }\n static get observedAttributes() {\n return [Attributes.OPEN, Attributes.ANCHOR];\n }\n get open() {\n return getBooleanAttr(this, Attributes.OPEN);\n }\n set open(value) {\n setBooleanAttr(this, Attributes.OPEN, value);\n }\n handleEvent(event) {\n switch (event.type) {\n case \"invoke\":\n __privateMethod(this, _handleInvoke, handleInvoke_fn).call(this, event);\n break;\n case \"focusout\":\n __privateMethod(this, _handleFocusOut, handleFocusOut_fn).call(this, event);\n break;\n case \"keydown\":\n __privateMethod(this, _handleKeyDown, handleKeyDown_fn).call(this, event);\n break;\n }\n }\n connectedCallback() {\n __privateMethod(this, _init, init_fn).call(this);\n if (!this.role) {\n this.role = \"dialog\";\n }\n this.addEventListener(\"invoke\", this);\n this.addEventListener(\"focusout\", this);\n this.addEventListener(\"keydown\", this);\n }\n disconnectedCallback() {\n this.removeEventListener(\"invoke\", this);\n this.removeEventListener(\"focusout\", this);\n this.removeEventListener(\"keydown\", this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n __privateMethod(this, _init, init_fn).call(this);\n if (attrName === Attributes.OPEN && newValue !== oldValue) {\n if (this.open) {\n __privateMethod(this, _handleOpen, handleOpen_fn).call(this);\n } else {\n __privateMethod(this, _handleClosed, handleClosed_fn).call(this);\n }\n }\n }\n focus() {\n __privateSet(this, _previouslyFocused, getActiveElement());\n const focusCancelled = !this.dispatchEvent(new Event(\"focus\", { composed: true, cancelable: true }));\n const focusInCancelled = !this.dispatchEvent(new Event(\"focusin\", { composed: true, bubbles: true, cancelable: true }));\n if (focusCancelled || focusInCancelled)\n return;\n const focusable = this.querySelector(\n '[autofocus], [tabindex]:not([tabindex=\"-1\"]), [role=\"menu\"]'\n );\n focusable == null ? void 0 : focusable.focus();\n }\n get keysUsed() {\n return [\"Escape\", \"Tab\"];\n }\n}\n_isInit = new WeakMap();\n_previouslyFocused = new WeakMap();\n_invokerElement = new WeakMap();\n_init = new WeakSet();\ninit_fn = function() {\n if (__privateGet(this, _isInit))\n return;\n __privateSet(this, _isInit, true);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n queueMicrotask(() => {\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"transition\",\n `display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in`\n );\n });\n }\n};\n_handleOpen = new WeakSet();\nhandleOpen_fn = function() {\n var _a;\n (_a = __privateGet(this, _invokerElement)) == null ? void 0 : _a.setAttribute(\"aria-expanded\", \"true\");\n this.dispatchEvent(new Event(\"open\", { composed: true, bubbles: true }));\n this.addEventListener(\"transitionend\", () => this.focus(), { once: true });\n};\n_handleClosed = new WeakSet();\nhandleClosed_fn = function() {\n var _a;\n (_a = __privateGet(this, _invokerElement)) == null ? void 0 : _a.setAttribute(\"aria-expanded\", \"false\");\n this.dispatchEvent(new Event(\"close\", { composed: true, bubbles: true }));\n};\n_handleInvoke = new WeakSet();\nhandleInvoke_fn = function(event) {\n __privateSet(this, _invokerElement, event.relatedTarget);\n if (!containsComposedNode(this, event.relatedTarget)) {\n this.open = !this.open;\n }\n};\n_handleFocusOut = new WeakSet();\nhandleFocusOut_fn = function(event) {\n var _a;\n if (!containsComposedNode(this, event.relatedTarget)) {\n (_a = __privateGet(this, _previouslyFocused)) == null ? void 0 : _a.focus();\n if (__privateGet(this, _invokerElement) && __privateGet(this, _invokerElement) !== event.relatedTarget && this.open) {\n this.open = false;\n }\n }\n};\n_handleKeyDown = new WeakSet();\nhandleKeyDown_fn = function(event) {\n var _a, _b, _c, _d, _e;\n const { key, ctrlKey, altKey, metaKey } = event;\n if (ctrlKey || altKey || metaKey) {\n return;\n }\n if (!this.keysUsed.includes(key)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n if (key === \"Tab\") {\n if (event.shiftKey) {\n (_b = (_a = this.previousElementSibling) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);\n } else {\n (_d = (_c = this.nextElementSibling) == null ? void 0 : _c.focus) == null ? void 0 : _d.call(_c);\n }\n this.blur();\n } else if (key === \"Escape\") {\n (_e = __privateGet(this, _previouslyFocused)) == null ? void 0 : _e.focus();\n this.open = false;\n }\n};\nMediaChromeDialog.shadowRootOptions = { mode: \"open\" };\nMediaChromeDialog.getTemplateHTML = getTemplateHTML;\nMediaChromeDialog.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-chrome-dialog\")) {\n globalThis.customElements.define(\"media-chrome-dialog\", MediaChromeDialog);\n}\nvar media_chrome_dialog_default = MediaChromeDialog;\nexport {\n Attributes,\n MediaChromeDialog,\n media_chrome_dialog_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _mediaController, _isInputTarget, _startpoint, _endpoint, _cssRules, _segments, _onFocusIn, _onFocusOut, _updateComputedStyles, _updateActiveSegment, updateActiveSegment_fn, _enableUserEvents, enableUserEvents_fn, _disableUserEvents, disableUserEvents_fn, _handlePointerDown, handlePointerDown_fn, _handlePointerEnter, handlePointerEnter_fn, _handlePointerUp, handlePointerUp_fn, _handlePointerLeave, handlePointerLeave_fn, _handlePointerMove, handlePointerMove_fn;\nimport { MediaStateReceiverAttributes } from \"./constants.js\";\nimport { globalThis, document } from \"./utils/server-safe-globals.js\";\nimport {\n getOrInsertCSSRule,\n getPointProgressOnLine,\n insertCSSRule,\n namedNodeMapToObject\n} from \"./utils/element-utils.js\";\nimport { observeResize, unobserveResize } from \"./utils/resize-observer.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));\n --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px));\n\n box-shadow: var(--_focus-visible-box-shadow, none);\n background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));\n height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding));\n display: inline-flex;\n align-items: center;\n ${/* Don't horizontal align w/ justify-content! #container can go negative on the x-axis w/ small width. */\n \"\"}\n vertical-align: middle;\n box-sizing: border-box;\n position: relative;\n width: 100px;\n transition: background .15s linear;\n cursor: var(--media-cursor, pointer);\n pointer-events: auto;\n touch-action: none; ${/* Prevent scrolling when dragging on mobile. */\n \"\"}\n }\n\n ${/* Reset before `outline` on track could be set by a CSS var */\n \"\"}\n input[type=range]:focus {\n outline: 0;\n }\n input[type=range]:focus::-webkit-slider-runnable-track {\n outline: 0;\n }\n\n :host(:hover) {\n background: var(--media-control-hover-background, rgb(50 50 70 / .7));\n }\n\n #leftgap {\n padding-left: var(--media-range-padding-left, var(--_media-range-padding));\n }\n\n #rightgap {\n padding-right: var(--media-range-padding-right, var(--_media-range-padding));\n }\n\n #startpoint,\n #endpoint {\n position: absolute;\n }\n\n #endpoint {\n right: 0;\n }\n\n #container {\n ${/* Not using the CSS `padding` prop makes it easier for slide open volume ranges so the width can be zero. */\n \"\"}\n width: var(--media-range-track-width, 100%);\n transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px));\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n min-width: 40px;\n }\n\n #range {\n ${/* The input range acts as a hover and hit zone for input events. */\n \"\"}\n display: var(--media-time-range-hover-display, block);\n bottom: var(--media-time-range-hover-bottom, 0);\n height: var(--media-time-range-hover-height, max(100% , 25px));\n width: 100%;\n position: absolute;\n cursor: var(--media-cursor, pointer);\n\n -webkit-appearance: none; ${/* Hides the slider so that custom slider can be made */\n \"\"}\n -webkit-tap-highlight-color: transparent;\n background: transparent; ${/* Otherwise white in Chrome */\n \"\"}\n margin: 0;\n z-index: 1;\n }\n\n @media (hover: hover) {\n #range {\n bottom: var(--media-time-range-hover-bottom, 0);\n height: var(--media-time-range-hover-height, max(100%, 20px));\n }\n }\n\n ${/* Special styling for WebKit/Blink */\n \"\"}\n ${/* Make thumb width/height small so it has no effect on range click position. */\n \"\"}\n #range::-webkit-slider-thumb {\n -webkit-appearance: none;\n background: transparent;\n width: .1px;\n height: .1px;\n }\n\n ${/* The thumb is not positioned relative to the track in Firefox */\n \"\"}\n #range::-moz-range-thumb {\n background: transparent;\n border: transparent;\n width: .1px;\n height: .1px;\n }\n\n #appearance {\n height: var(--media-range-track-height, 4px);\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n position: absolute;\n ${/* Required for Safari to stop glitching track height on hover */\n \"\"}\n will-change: transform;\n }\n\n #track {\n background: var(--media-range-track-background, rgb(255 255 255 / .2));\n border-radius: var(--media-range-track-border-radius, 1px);\n border: var(--media-range-track-border, none);\n outline: var(--media-range-track-outline);\n outline-offset: var(--media-range-track-outline-offset);\n backdrop-filter: var(--media-range-track-backdrop-filter);\n -webkit-backdrop-filter: var(--media-range-track-backdrop-filter);\n box-shadow: var(--media-range-track-box-shadow, none);\n position: absolute;\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n\n #progress,\n #pointer {\n position: absolute;\n height: 100%;\n will-change: width;\n }\n\n #progress {\n background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238)));\n transition: var(--media-range-track-transition);\n }\n\n #pointer {\n background: var(--media-range-track-pointer-background);\n border-right: var(--media-range-track-pointer-border-right);\n transition: visibility .25s, opacity .25s;\n visibility: hidden;\n opacity: 0;\n }\n\n @media (hover: hover) {\n :host(:hover) #pointer {\n transition: visibility .5s, opacity .5s;\n visibility: visible;\n opacity: 1;\n }\n }\n\n #thumb,\n ::slotted([slot=thumb]) {\n width: var(--media-range-thumb-width, 10px);\n height: var(--media-range-thumb-height, 10px);\n transition: var(--media-range-thumb-transition);\n transform: var(--media-range-thumb-transform, none);\n opacity: var(--media-range-thumb-opacity, 1);\n translate: -50%;\n position: absolute;\n left: 0;\n cursor: var(--media-cursor, pointer);\n }\n\n #thumb {\n border-radius: var(--media-range-thumb-border-radius, 10px);\n background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238)));\n box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent);\n border: var(--media-range-thumb-border, none);\n }\n\n :host([disabled]) #thumb {\n background-color: #777;\n }\n\n .segments #appearance {\n height: var(--media-range-segment-hover-height, 7px);\n }\n\n #track {\n clip-path: url(#segments-clipping);\n }\n\n #segments {\n --segments-gap: var(--media-range-segments-gap, 2px);\n position: absolute;\n width: 100%;\n height: 100%;\n }\n\n #segments-clipping {\n transform: translateX(calc(var(--segments-gap) / 2));\n }\n\n #segments-clipping:empty {\n display: none;\n }\n\n #segments-clipping rect {\n height: var(--media-range-track-height, 4px);\n y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2);\n transition: var(--media-range-segment-transition, transform .1s ease-in-out);\n transform: var(--media-range-segment-transform, scaleY(1));\n transform-origin: center;\n }\n\n /* Visible label for accessibility - positioned off-screen but technically visible (Firefox requires visible labels) */\n #range-label {\n position: absolute;\n left: -10000px;\n background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));\n pointer-events: none;\n }\n </style>\n <div id=\"leftgap\"></div>\n <div id=\"container\">\n <div id=\"startpoint\"></div>\n <div id=\"endpoint\"></div>\n <div id=\"appearance\">\n <div id=\"track\" part=\"track\">\n <div id=\"pointer\"></div>\n <div id=\"progress\" part=\"progress\"></div>\n </div>\n <slot name=\"thumb\">\n <div id=\"thumb\" part=\"thumb\"></div>\n </slot>\n <svg id=\"segments\" aria-hidden=\"true\"><clipPath id=\"segments-clipping\"></clipPath></svg>\n </div>\n <input id=\"range\" type=\"range\" min=\"0\" max=\"1\" step=\"any\" value=\"0\">\n <label for=\"range\" id=\"range-label\"></label>\n\n ${this.getContainerTemplateHTML(_attrs)}\n </div>\n <div id=\"rightgap\"></div>\n `\n );\n}\nfunction getContainerTemplateHTML(_attrs) {\n return \"\";\n}\nclass MediaChromeRange extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _updateActiveSegment);\n __privateAdd(this, _enableUserEvents);\n __privateAdd(this, _disableUserEvents);\n __privateAdd(this, _handlePointerDown);\n __privateAdd(this, _handlePointerEnter);\n __privateAdd(this, _handlePointerUp);\n __privateAdd(this, _handlePointerLeave);\n __privateAdd(this, _handlePointerMove);\n __privateAdd(this, _mediaController, void 0);\n __privateAdd(this, _isInputTarget, void 0);\n __privateAdd(this, _startpoint, void 0);\n __privateAdd(this, _endpoint, void 0);\n __privateAdd(this, _cssRules, {});\n __privateAdd(this, _segments, []);\n __privateAdd(this, _onFocusIn, () => {\n if (this.range.matches(\":focus-visible\")) {\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"--_focus-visible-box-shadow\",\n \"var(--_focus-box-shadow)\"\n );\n }\n });\n __privateAdd(this, _onFocusOut, () => {\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.removeProperty(\"--_focus-visible-box-shadow\");\n });\n __privateAdd(this, _updateComputedStyles, () => {\n const clipping = this.shadowRoot.querySelector(\"#segments-clipping\");\n if (clipping)\n clipping.parentNode.append(clipping);\n });\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n const html = this.constructor.getTemplateHTML(attrs);\n this.shadowRoot.setHTMLUnsafe ? this.shadowRoot.setHTMLUnsafe(html) : this.shadowRoot.innerHTML = html;\n }\n this.container = this.shadowRoot.querySelector(\"#container\");\n __privateSet(this, _startpoint, this.shadowRoot.querySelector(\"#startpoint\"));\n __privateSet(this, _endpoint, this.shadowRoot.querySelector(\"#endpoint\"));\n this.range = this.shadowRoot.querySelector(\"#range\");\n this.appearance = this.shadowRoot.querySelector(\"#appearance\");\n }\n static get observedAttributes() {\n return [\n \"disabled\",\n \"aria-disabled\",\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n } else if (attrName === \"disabled\" || attrName === \"aria-disabled\" && oldValue !== newValue) {\n if (newValue == null) {\n this.range.removeAttribute(attrName);\n __privateMethod(this, _enableUserEvents, enableUserEvents_fn).call(this);\n } else {\n this.range.setAttribute(attrName, newValue);\n __privateMethod(this, _disableUserEvents, disableUserEvents_fn).call(this);\n }\n }\n }\n connectedCallback() {\n var _a, _b, _c;\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"display\",\n `var(--media-control-display, var(--${this.localName}-display, inline-flex))`\n );\n __privateGet(this, _cssRules).pointer = getOrInsertCSSRule(this.shadowRoot, \"#pointer\");\n __privateGet(this, _cssRules).progress = getOrInsertCSSRule(this.shadowRoot, \"#progress\");\n __privateGet(this, _cssRules).thumb = getOrInsertCSSRule(\n this.shadowRoot,\n '#thumb, ::slotted([slot=\"thumb\"])'\n );\n __privateGet(this, _cssRules).activeSegment = getOrInsertCSSRule(\n this.shadowRoot,\n \"#segments-clipping rect:nth-child(0)\"\n );\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(this, _mediaController, (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(\n mediaControllerId\n ));\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n this.updateBar();\n this.shadowRoot.addEventListener(\"focusin\", __privateGet(this, _onFocusIn));\n this.shadowRoot.addEventListener(\"focusout\", __privateGet(this, _onFocusOut));\n __privateMethod(this, _enableUserEvents, enableUserEvents_fn).call(this);\n observeResize(this.container, __privateGet(this, _updateComputedStyles));\n }\n disconnectedCallback() {\n var _a, _b;\n __privateMethod(this, _disableUserEvents, disableUserEvents_fn).call(this);\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n this.shadowRoot.removeEventListener(\"focusin\", __privateGet(this, _onFocusIn));\n this.shadowRoot.removeEventListener(\"focusout\", __privateGet(this, _onFocusOut));\n unobserveResize(this.container, __privateGet(this, _updateComputedStyles));\n }\n updatePointerBar(evt) {\n var _a;\n (_a = __privateGet(this, _cssRules).pointer) == null ? void 0 : _a.style.setProperty(\n \"width\",\n `${this.getPointerRatio(evt) * 100}%`\n );\n }\n updateBar() {\n var _a, _b;\n const rangePercent = this.range.valueAsNumber * 100;\n (_a = __privateGet(this, _cssRules).progress) == null ? void 0 : _a.style.setProperty(\"width\", `${rangePercent}%`);\n (_b = __privateGet(this, _cssRules).thumb) == null ? void 0 : _b.style.setProperty(\"left\", `${rangePercent}%`);\n }\n updateSegments(segments) {\n const clipping = this.shadowRoot.querySelector(\"#segments-clipping\");\n clipping.textContent = \"\";\n this.container.classList.toggle(\"segments\", !!(segments == null ? void 0 : segments.length));\n if (!(segments == null ? void 0 : segments.length))\n return;\n const normalized = [\n .../* @__PURE__ */ new Set([\n +this.range.min,\n ...segments.flatMap((s) => [s.start, s.end]),\n +this.range.max\n ])\n ];\n __privateSet(this, _segments, [...normalized]);\n const lastMarker = normalized.pop();\n for (const [i, marker] of normalized.entries()) {\n const [isFirst, isLast] = [i === 0, i === normalized.length - 1];\n const x = isFirst ? \"calc(var(--segments-gap) / -1)\" : `${marker * 100}%`;\n const x2 = isLast ? lastMarker : normalized[i + 1];\n const width = `calc(${(x2 - marker) * 100}%${isFirst || isLast ? \"\" : ` - var(--segments-gap)`})`;\n const segmentEl = document.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"rect\"\n );\n const cssRule = insertCSSRule(\n this.shadowRoot,\n `#segments-clipping rect:nth-child(${i + 1})`\n );\n cssRule.style.setProperty(\"x\", x);\n cssRule.style.setProperty(\"width\", width);\n clipping.append(segmentEl);\n }\n }\n getPointerRatio(evt) {\n return getPointProgressOnLine(\n evt.clientX,\n evt.clientY,\n __privateGet(this, _startpoint).getBoundingClientRect(),\n __privateGet(this, _endpoint).getBoundingClientRect()\n );\n }\n get dragging() {\n return this.hasAttribute(\"dragging\");\n }\n handleEvent(evt) {\n switch (evt.type) {\n case \"pointermove\":\n __privateMethod(this, _handlePointerMove, handlePointerMove_fn).call(this, evt);\n break;\n case \"input\":\n this.updateBar();\n break;\n case \"pointerenter\":\n __privateMethod(this, _handlePointerEnter, handlePointerEnter_fn).call(this, evt);\n break;\n case \"pointerdown\":\n __privateMethod(this, _handlePointerDown, handlePointerDown_fn).call(this, evt);\n break;\n case \"pointerup\":\n __privateMethod(this, _handlePointerUp, handlePointerUp_fn).call(this);\n break;\n case \"pointerleave\":\n __privateMethod(this, _handlePointerLeave, handlePointerLeave_fn).call(this);\n break;\n }\n }\n get keysUsed() {\n return [\"ArrowUp\", \"ArrowRight\", \"ArrowDown\", \"ArrowLeft\"];\n }\n}\n_mediaController = new WeakMap();\n_isInputTarget = new WeakMap();\n_startpoint = new WeakMap();\n_endpoint = new WeakMap();\n_cssRules = new WeakMap();\n_segments = new WeakMap();\n_onFocusIn = new WeakMap();\n_onFocusOut = new WeakMap();\n_updateComputedStyles = new WeakMap();\n_updateActiveSegment = new WeakSet();\nupdateActiveSegment_fn = function(evt) {\n const rule = __privateGet(this, _cssRules).activeSegment;\n if (!rule)\n return;\n const pointerRatio = this.getPointerRatio(evt);\n const segmentIndex = __privateGet(this, _segments).findIndex((start, i, arr) => {\n const end = arr[i + 1];\n return end != null && pointerRatio >= start && pointerRatio <= end;\n });\n const selectorText = `#segments-clipping rect:nth-child(${segmentIndex + 1})`;\n if (rule.selectorText != selectorText || !rule.style.transform) {\n rule.selectorText = selectorText;\n rule.style.setProperty(\n \"transform\",\n \"var(--media-range-segment-hover-transform, scaleY(2))\"\n );\n }\n};\n_enableUserEvents = new WeakSet();\nenableUserEvents_fn = function() {\n if (this.hasAttribute(\"disabled\") || !this.isConnected)\n return;\n this.addEventListener(\"input\", this);\n this.addEventListener(\"pointerdown\", this);\n this.addEventListener(\"pointerenter\", this);\n};\n_disableUserEvents = new WeakSet();\ndisableUserEvents_fn = function() {\n var _a, _b;\n this.removeEventListener(\"input\", this);\n this.removeEventListener(\"pointerdown\", this);\n this.removeEventListener(\"pointerenter\", this);\n this.removeEventListener(\"pointerleave\", this);\n (_a = globalThis.window) == null ? void 0 : _a.removeEventListener(\"pointerup\", this);\n (_b = globalThis.window) == null ? void 0 : _b.removeEventListener(\"pointermove\", this);\n};\n_handlePointerDown = new WeakSet();\nhandlePointerDown_fn = function(evt) {\n var _a;\n __privateSet(this, _isInputTarget, evt.composedPath().includes(this.range));\n (_a = globalThis.window) == null ? void 0 : _a.addEventListener(\"pointerup\", this, { once: true });\n};\n_handlePointerEnter = new WeakSet();\nhandlePointerEnter_fn = function(evt) {\n var _a;\n if (evt.pointerType !== \"mouse\")\n __privateMethod(this, _handlePointerDown, handlePointerDown_fn).call(this, evt);\n this.addEventListener(\"pointerleave\", this, { once: true });\n (_a = globalThis.window) == null ? void 0 : _a.addEventListener(\"pointermove\", this);\n};\n_handlePointerUp = new WeakSet();\nhandlePointerUp_fn = function() {\n var _a;\n (_a = globalThis.window) == null ? void 0 : _a.removeEventListener(\"pointerup\", this);\n this.toggleAttribute(\"dragging\", false);\n this.range.disabled = this.hasAttribute(\"disabled\");\n};\n_handlePointerLeave = new WeakSet();\nhandlePointerLeave_fn = function() {\n var _a, _b;\n this.removeEventListener(\"pointerleave\", this);\n (_a = globalThis.window) == null ? void 0 : _a.removeEventListener(\"pointermove\", this);\n this.toggleAttribute(\"dragging\", false);\n this.range.disabled = this.hasAttribute(\"disabled\");\n (_b = __privateGet(this, _cssRules).activeSegment) == null ? void 0 : _b.style.removeProperty(\"transform\");\n};\n_handlePointerMove = new WeakSet();\nhandlePointerMove_fn = function(evt) {\n if (evt.pointerType === \"pen\" && evt.buttons === 0) {\n return;\n }\n this.toggleAttribute(\n \"dragging\",\n evt.buttons === 1 || evt.pointerType !== \"mouse\"\n );\n this.updatePointerBar(evt);\n __privateMethod(this, _updateActiveSegment, updateActiveSegment_fn).call(this, evt);\n if (this.dragging && (evt.pointerType !== \"mouse\" || !__privateGet(this, _isInputTarget))) {\n this.range.disabled = true;\n this.range.valueAsNumber = this.getPointerRatio(evt);\n this.range.dispatchEvent(\n new Event(\"input\", { bubbles: true, composed: true })\n );\n }\n};\nMediaChromeRange.shadowRootOptions = { mode: \"open\" };\nMediaChromeRange.getTemplateHTML = getTemplateHTML;\nMediaChromeRange.getContainerTemplateHTML = getContainerTemplateHTML;\nif (!globalThis.customElements.get(\"media-chrome-range\")) {\n globalThis.customElements.define(\"media-chrome-range\", MediaChromeRange);\n}\nvar media_chrome_range_default = MediaChromeRange;\nexport {\n MediaChromeRange,\n media_chrome_range_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaController;\nimport { MediaStateReceiverAttributes } from \"./constants.js\";\nimport { namedNodeMapToObject } from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n ${/* Need position to display above video for some reason */\n \"\"}\n box-sizing: border-box;\n display: var(--media-control-display, var(--media-control-bar-display, inline-flex));\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n --media-loading-indicator-icon-height: 44px;\n }\n\n ::slotted(media-time-range),\n ::slotted(media-volume-range) {\n min-height: 100%;\n }\n\n ::slotted(media-time-range),\n ::slotted(media-clip-selector) {\n flex-grow: 1;\n }\n\n ::slotted([role=\"menu\"]) {\n position: absolute;\n }\n </style>\n\n <slot></slot>\n `\n );\n}\nclass MediaControlBar extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _mediaController, void 0);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n static get observedAttributes() {\n return [MediaStateReceiverAttributes.MEDIA_CONTROLLER];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n }\n }\n connectedCallback() {\n var _a, _b, _c;\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(this, _mediaController, (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(\n mediaControllerId\n ));\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n }\n disconnectedCallback() {\n var _a, _b;\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n}\n_mediaController = new WeakMap();\nMediaControlBar.shadowRootOptions = { mode: \"open\" };\nMediaControlBar.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-control-bar\")) {\n globalThis.customElements.define(\"media-control-bar\", MediaControlBar);\n}\nvar media_control_bar_default = MediaControlBar;\nexport {\n media_control_bar_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaController;\nimport { MediaStateReceiverAttributes } from \"./constants.js\";\nimport { getOrInsertCSSRule, namedNodeMapToObject } from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nfunction getTemplateHTML(_attrs, _props = {}) {\n return (\n /*html*/\n `\n <style>\n :host {\n font: var(--media-font,\n var(--media-font-weight, normal)\n var(--media-font-size, 14px) /\n var(--media-text-content-height, var(--media-control-height, 24px))\n var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))));\n padding: var(--media-control-padding, 10px);\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n box-sizing: border-box;\n text-align: center;\n pointer-events: auto;\n }\n\n ${/*\n Only show outline when keyboard focusing.\n https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo\n */\n \"\"}\n :host(:focus-visible) {\n box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));\n outline: 0;\n }\n\n ${/*\n * hide default focus ring, particularly when using mouse\n */\n \"\"}\n :host(:where(:focus)) {\n box-shadow: none;\n outline: 0;\n }\n </style>\n\n ${this.getSlotTemplateHTML(_attrs, _props)}\n `\n );\n}\nfunction getSlotTemplateHTML(_attrs, _props) {\n return (\n /*html*/\n `\n <slot></slot>\n `\n );\n}\nclass MediaTextDisplay extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _mediaController, void 0);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n static get observedAttributes() {\n return [MediaStateReceiverAttributes.MEDIA_CONTROLLER];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n }\n }\n connectedCallback() {\n var _a, _b, _c;\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"display\",\n `var(--media-control-display, var(--${this.localName}-display, inline-flex))`\n );\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(this, _mediaController, (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(\n mediaControllerId\n ));\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n }\n disconnectedCallback() {\n var _a, _b;\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n}\n_mediaController = new WeakMap();\nMediaTextDisplay.shadowRootOptions = { mode: \"open\" };\nMediaTextDisplay.getTemplateHTML = getTemplateHTML;\nMediaTextDisplay.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-text-display\")) {\n globalThis.customElements.define(\"media-text-display\", MediaTextDisplay);\n}\nvar media_text_display_default = MediaTextDisplay;\nexport {\n MediaTextDisplay,\n media_text_display_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _slot;\nimport { MediaTextDisplay } from \"./media-text-display.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { formatTime } from \"./utils/time.js\";\nimport { MediaUIAttributes } from \"./constants.js\";\nimport { getNumericAttr, setNumericAttr } from \"./utils/element-utils.js\";\nfunction getSlotTemplateHTML(_attrs, props) {\n return (\n /*html*/\n `\n <slot>${formatTime(props.mediaDuration)}</slot>\n `\n );\n}\nclass MediaDurationDisplay extends MediaTextDisplay {\n constructor() {\n var _a;\n super();\n __privateAdd(this, _slot, void 0);\n __privateSet(this, _slot, this.shadowRoot.querySelector(\"slot\"));\n __privateGet(this, _slot).textContent = formatTime((_a = this.mediaDuration) != null ? _a : 0);\n }\n static get observedAttributes() {\n return [...super.observedAttributes, MediaUIAttributes.MEDIA_DURATION];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName === MediaUIAttributes.MEDIA_DURATION) {\n __privateGet(this, _slot).textContent = formatTime(+newValue);\n }\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n /**\n * @type {number | undefined} In seconds\n */\n get mediaDuration() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_DURATION);\n }\n set mediaDuration(time) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_DURATION, time);\n }\n}\n_slot = new WeakMap();\nMediaDurationDisplay.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-duration-display\")) {\n globalThis.customElements.define(\n \"media-duration-display\",\n MediaDurationDisplay\n );\n}\nvar media_duration_display_default = MediaDurationDisplay;\nexport {\n media_duration_display_default as default\n};\n","import { t } from \"../utils/i18n.js\";\nconst defaultErrorTitles = {\n 2: t(\"Network Error\"),\n 3: t(\"Decode Error\"),\n 4: t(\"Source Not Supported\"),\n 5: t(\"Encryption Error\")\n};\nconst defaultErrorMessages = {\n 2: t(\"A network error caused the media download to fail.\"),\n 3: t(\n \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\"\n ),\n 4: t(\n \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\"\n ),\n 5: t(\"The media is encrypted and there are no keys to decrypt it.\")\n};\nconst formatError = (error) => {\n var _a, _b;\n if (error.code === 1)\n return null;\n return {\n title: (_a = defaultErrorTitles[error.code]) != null ? _a : `Error ${error.code}`,\n message: (_b = defaultErrorMessages[error.code]) != null ? _b : error.message\n };\n};\nexport {\n formatError\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaError;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIAttributes } from \"./constants.js\";\nimport { formatError } from \"./labels/labels.js\";\nimport { MediaChromeDialog } from \"./media-chrome-dialog.js\";\nimport {\n getNumericAttr,\n getStringAttr,\n setNumericAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nfunction getSlotTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n background: rgb(20 20 30 / .8);\n }\n\n #content {\n display: block;\n padding: 1.2em 1.5em;\n }\n\n h3,\n p {\n margin-block: 0 .3em;\n }\n </style>\n <slot name=\"error-${attrs.mediaerrorcode}\" id=\"content\">\n ${formatErrorMessage({ code: +attrs.mediaerrorcode, message: attrs.mediaerrormessage })}\n </slot>\n `\n );\n}\nfunction shouldOpenErrorDialog(error) {\n return error.code && formatError(error) !== null;\n}\nfunction formatErrorMessage(error) {\n var _a;\n const { title, message } = (_a = formatError(error)) != null ? _a : {};\n let html = \"\";\n if (title)\n html += `<slot name=\"error-${error.code}-title\"><h3>${title}</h3></slot>`;\n if (message)\n html += `<slot name=\"error-${error.code}-message\"><p>${message}</p></slot>`;\n return html;\n}\nconst observedAttributes = [\n MediaUIAttributes.MEDIA_ERROR_CODE,\n MediaUIAttributes.MEDIA_ERROR_MESSAGE\n];\nclass MediaErrorDialog extends MediaChromeDialog {\n constructor() {\n super(...arguments);\n __privateAdd(this, _mediaError, null);\n }\n static get observedAttributes() {\n return [...super.observedAttributes, ...observedAttributes];\n }\n formatErrorMessage(error) {\n return this.constructor.formatErrorMessage(error);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a;\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (!observedAttributes.includes(attrName))\n return;\n const mediaError = (_a = this.mediaError) != null ? _a : {\n code: this.mediaErrorCode,\n message: this.mediaErrorMessage\n };\n this.open = shouldOpenErrorDialog(mediaError);\n if (this.open) {\n this.shadowRoot.querySelector(\"slot\").name = `error-${this.mediaErrorCode}`;\n this.shadowRoot.querySelector(\"#content\").innerHTML = this.formatErrorMessage(mediaError);\n if (!this.hasAttribute(\"aria-label\")) {\n const { title } = formatError(mediaError);\n if (title)\n this.setAttribute(\"aria-label\", title);\n }\n }\n }\n get mediaError() {\n return __privateGet(this, _mediaError);\n }\n set mediaError(value) {\n __privateSet(this, _mediaError, value);\n }\n get mediaErrorCode() {\n return getNumericAttr(this, \"mediaerrorcode\");\n }\n set mediaErrorCode(value) {\n setNumericAttr(this, \"mediaerrorcode\", value);\n }\n get mediaErrorMessage() {\n return getStringAttr(this, \"mediaerrormessage\");\n }\n set mediaErrorMessage(value) {\n setStringAttr(this, \"mediaerrormessage\", value);\n }\n}\n_mediaError = new WeakMap();\nMediaErrorDialog.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaErrorDialog.formatErrorMessage = formatErrorMessage;\nif (!globalThis.customElements.get(\"media-error-dialog\")) {\n globalThis.customElements.define(\"media-error-dialog\", MediaErrorDialog);\n}\nvar media_error_dialog_default = MediaErrorDialog;\nexport {\n MediaErrorDialog,\n media_error_dialog_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar _clickHandler, _keyDownHandler;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaChromeDialog } from \"./media-chrome-dialog.js\";\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 9999;\n background: rgb(20 20 30 / .8);\n backdrop-filter: blur(10px);\n }\n\n #content {\n display: block;\n width: clamp(400px, 40vw, 700px);\n max-width: 90vw;\n text-align: left;\n }\n\n h2 {\n margin: 0 0 1.5rem 0;\n font-size: 1.5rem;\n font-weight: 500;\n text-align: center;\n }\n\n .shortcuts-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .shortcuts-table tr {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n }\n\n .shortcuts-table tr:last-child {\n border-bottom: none;\n }\n\n .shortcuts-table td {\n padding: 0.75rem 0.5rem;\n }\n\n .shortcuts-table td:first-child {\n text-align: right;\n padding-right: 1rem;\n width: 40%;\n min-width: 120px;\n }\n\n .shortcuts-table td:last-child {\n padding-left: 1rem;\n }\n\n .key {\n display: inline-block;\n background: rgba(255, 255, 255, 0.15);\n border: 1px solid rgba(255, 255, 255, 0.2);\n border-radius: 4px;\n padding: 0.25rem 0.5rem;\n font-family: 'Courier New', monospace;\n font-size: 0.9rem;\n font-weight: 500;\n min-width: 1.5rem;\n text-align: center;\n margin: 0 0.2rem;\n }\n\n .description {\n color: rgba(255, 255, 255, 0.9);\n font-size: 0.95rem;\n }\n\n .key-combo {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 0.3rem;\n }\n\n .key-separator {\n color: rgba(255, 255, 255, 0.5);\n font-size: 0.9rem;\n }\n </style>\n <slot id=\"content\">\n ${formatKeyboardShortcuts()}\n </slot>\n `\n );\n}\nfunction formatKeyboardShortcuts() {\n const shortcuts = [\n { keys: [\"Space\", \"k\"], description: \"Toggle Playback\" },\n { keys: [\"m\"], description: \"Toggle mute\" },\n { keys: [\"f\"], description: \"Toggle fullscreen\" },\n { keys: [\"c\"], description: \"Toggle captions or subtitles, if available\" },\n { keys: [\"p\"], description: \"Toggle Picture in Picture\" },\n { keys: [\"\\u2190\", \"j\"], description: \"Seek back 10s\" },\n { keys: [\"\\u2192\", \"l\"], description: \"Seek forward 10s\" },\n { keys: [\"\\u2191\"], description: \"Turn volume up\" },\n { keys: [\"\\u2193\"], description: \"Turn volume down\" },\n { keys: [\"< (SHIFT+,)\"], description: \"Decrease playback rate\" },\n { keys: [\"> (SHIFT+.)\"], description: \"Increase playback rate\" }\n ];\n const rows = shortcuts.map(({ keys, description }) => {\n const keyCombo = keys.map(\n (key, index) => index > 0 ? `<span class=\"key-separator\">or</span><span class=\"key\">${key}</span>` : `<span class=\"key\">${key}</span>`\n ).join(\"\");\n return `\n <tr>\n <td>\n <div class=\"key-combo\">${keyCombo}</div>\n </td>\n <td class=\"description\">${description}</td>\n </tr>\n `;\n }).join(\"\");\n return `\n <h2>Keyboard Shortcuts</h2>\n <table class=\"shortcuts-table\">${rows}</table>\n `;\n}\nclass MediaKeyboardShortcutsDialog extends MediaChromeDialog {\n constructor() {\n super(...arguments);\n __privateAdd(this, _clickHandler, (e) => {\n var _a;\n if (!this.open)\n return;\n const content = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector(\"#content\");\n if (!content)\n return;\n const path = e.composedPath();\n const isClickOnHost = path[0] === this || path.includes(this);\n const isClickInsideContent = path.includes(content);\n if (isClickOnHost && !isClickInsideContent) {\n this.open = false;\n }\n });\n __privateAdd(this, _keyDownHandler, (e) => {\n if (!this.open)\n return;\n const isShiftSlash = e.shiftKey && (e.key === \"/\" || e.key === \"?\");\n if ((e.key === \"Escape\" || isShiftSlash) && !e.ctrlKey && !e.altKey && !e.metaKey) {\n this.open = false;\n e.preventDefault();\n e.stopPropagation();\n }\n });\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.open) {\n this.addEventListener(\"click\", __privateGet(this, _clickHandler));\n document.addEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n }\n }\n disconnectedCallback() {\n this.removeEventListener(\"click\", __privateGet(this, _clickHandler));\n document.removeEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === \"open\") {\n if (this.open) {\n this.addEventListener(\"click\", __privateGet(this, _clickHandler));\n document.addEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n } else {\n this.removeEventListener(\"click\", __privateGet(this, _clickHandler));\n document.removeEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n }\n }\n }\n}\n_clickHandler = new WeakMap();\n_keyDownHandler = new WeakMap();\nMediaKeyboardShortcutsDialog.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-keyboard-shortcuts-dialog\")) {\n globalThis.customElements.define(\"media-keyboard-shortcuts-dialog\", MediaKeyboardShortcutsDialog);\n}\nvar media_keyboard_shortcuts_dialog_default = MediaKeyboardShortcutsDialog;\nexport {\n MediaKeyboardShortcutsDialog,\n media_keyboard_shortcuts_dialog_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _lastActionEvent;\nimport { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getBooleanAttr,\n getStringAttr,\n setBooleanAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nconst enterFullscreenIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z\"/>\n</svg>`;\nconst exitFullscreenIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([${MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) {\n display: none !important;\n }\n\n ${/* Double negative, but safer if display doesn't equal 'block' */\n \"\"}\n :host(:not([${MediaUIAttributes.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter],\n :host(:not([${MediaUIAttributes.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"enter\">${enterFullscreenIcon}</slot>\n <slot name=\"exit\">${exitFullscreenIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-enter\">${t(\"Enter fullscreen mode\")}</slot>\n <slot name=\"tooltip-exit\">${t(\"Exit fullscreen mode\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const label = el.mediaIsFullscreen ? t(\"exit fullscreen mode\") : t(\"enter fullscreen mode\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaFullscreenButton extends MediaChromeButton {\n constructor() {\n super(...arguments);\n __privateAdd(this, _lastActionEvent, null);\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_IS_FULLSCREEN,\n MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_IS_FULLSCREEN) {\n updateAriaLabel(this);\n }\n }\n /**\n * @type {string | undefined} Fullscreen unavailability state\n */\n get mediaFullscreenUnavailable() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE);\n }\n set mediaFullscreenUnavailable(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE, value);\n }\n /**\n * @type {boolean} Whether fullscreen is available\n */\n get mediaIsFullscreen() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_IS_FULLSCREEN);\n }\n set mediaIsFullscreen(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_IS_FULLSCREEN, value);\n }\n handleClick(e) {\n __privateSet(this, _lastActionEvent, e);\n const isPointerEvent = __privateGet(this, _lastActionEvent) instanceof PointerEvent;\n const event = this.mediaIsFullscreen ? new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST,\n { composed: true, bubbles: true }\n ) : new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST,\n { composed: true, bubbles: true, detail: isPointerEvent }\n );\n this.dispatchEvent(event);\n }\n}\n_lastActionEvent = new WeakMap();\nMediaFullscreenButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaFullscreenButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-fullscreen-button\")) {\n globalThis.customElements.define(\n \"media-fullscreen-button\",\n MediaFullscreenButton\n );\n}\nvar media_fullscreen_button_default = MediaFullscreenButton;\nexport {\n media_fullscreen_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { getBooleanAttr, setBooleanAttr } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nconst { MEDIA_TIME_IS_LIVE, MEDIA_PAUSED } = MediaUIAttributes;\nconst { MEDIA_SEEK_TO_LIVE_REQUEST, MEDIA_PLAY_REQUEST } = MediaUIEvents;\nconst indicatorSVG = '<svg viewBox=\"0 0 6 12\" aria-hidden=\"true\"><circle cx=\"3\" cy=\"6\" r=\"2\"></circle></svg>';\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host { --media-tooltip-display: none; }\n \n slot[name=indicator] > *,\n :host ::slotted([slot=indicator]) {\n ${/* Override styles for icon-only buttons */\n \"\"}\n min-width: auto;\n fill: var(--media-live-button-icon-color, rgb(140, 140, 140));\n color: var(--media-live-button-icon-color, rgb(140, 140, 140));\n }\n\n :host([${MEDIA_TIME_IS_LIVE}]:not([${MEDIA_PAUSED}])) slot[name=indicator] > *,\n :host([${MEDIA_TIME_IS_LIVE}]:not([${MEDIA_PAUSED}])) ::slotted([slot=indicator]) {\n fill: var(--media-live-button-indicator-color, rgb(255, 0, 0));\n color: var(--media-live-button-indicator-color, rgb(255, 0, 0));\n }\n\n :host([${MEDIA_TIME_IS_LIVE}]:not([${MEDIA_PAUSED}])) {\n cursor: var(--media-cursor, not-allowed);\n }\n\n slot[name=text]{\n text-transform: uppercase;\n }\n\n </style>\n\n <slot name=\"indicator\">${indicatorSVG}</slot>\n ${/*\n A new line between spacer and text creates inconsistent spacing\n between slotted items and default slots.\n */\n \"\"}\n <slot name=\"spacer\">&nbsp;</slot><slot name=\"text\">${t(\"live\")}</slot>\n `\n );\n}\nconst updateAriaAttributes = (el) => {\n var _a;\n const isPausedOrNotLive = el.mediaPaused || !el.mediaTimeIsLive;\n const label = isPausedOrNotLive ? t(\"seek to live\") : t(\"playing live\");\n el.setAttribute(\"aria-label\", label);\n const textSlot = (_a = el.shadowRoot) == null ? void 0 : _a.querySelector('slot[name=\"text\"]');\n if (textSlot)\n textSlot.textContent = t(\"live\");\n isPausedOrNotLive ? el.removeAttribute(\"aria-disabled\") : el.setAttribute(\"aria-disabled\", \"true\");\n};\nclass MediaLiveButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MEDIA_TIME_IS_LIVE,\n MEDIA_PAUSED\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaAttributes(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n updateAriaAttributes(this);\n }\n /**\n * @type {boolean} Is the media paused\n */\n get mediaPaused() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED);\n }\n set mediaPaused(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED, value);\n }\n /**\n * @type {boolean} Is the media playback currently live\n */\n get mediaTimeIsLive() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_TIME_IS_LIVE);\n }\n set mediaTimeIsLive(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_TIME_IS_LIVE, value);\n }\n handleClick() {\n if (!this.mediaPaused && this.mediaTimeIsLive)\n return;\n this.dispatchEvent(\n new globalThis.CustomEvent(MEDIA_SEEK_TO_LIVE_REQUEST, {\n composed: true,\n bubbles: true\n })\n );\n if (this.hasAttribute(MEDIA_PAUSED)) {\n this.dispatchEvent(\n new globalThis.CustomEvent(MEDIA_PLAY_REQUEST, {\n composed: true,\n bubbles: true\n })\n );\n }\n }\n}\nMediaLiveButton.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-live-button\")) {\n globalThis.customElements.define(\"media-live-button\", MediaLiveButton);\n}\nvar media_live_button_default = MediaLiveButton;\nexport {\n media_live_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaController, _delay;\nimport {\n MediaUIAttributes,\n MediaStateReceiverAttributes\n} from \"./constants.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport {\n getBooleanAttr,\n setBooleanAttr,\n getOrInsertCSSRule,\n setStringAttr,\n getStringAttr,\n namedNodeMapToObject\n} from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nconst Attributes = {\n LOADING_DELAY: \"loadingdelay\",\n NO_AUTOHIDE: \"noautohide\"\n};\nconst DEFAULT_LOADING_DELAY = 500;\nconst loadingIndicatorIcon = `\n<svg aria-hidden=\"true\" viewBox=\"0 0 100 100\">\n <path d=\"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50\">\n <animateTransform\n attributeName=\"transform\"\n attributeType=\"XML\"\n type=\"rotate\"\n dur=\"1s\"\n from=\"0 50 50\"\n to=\"360 50 50\"\n repeatCount=\"indefinite\" />\n </path>\n</svg>\n`;\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));\n vertical-align: middle;\n box-sizing: border-box;\n --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${DEFAULT_LOADING_DELAY}ms);\n }\n\n #status {\n color: rgba(0,0,0,0);\n width: 0px;\n height: 0px;\n }\n\n :host slot[name=icon] > *,\n :host ::slotted([slot=icon]) {\n opacity: var(--media-loading-indicator-opacity, 0);\n transition: opacity 0.15s;\n }\n\n :host([${MediaUIAttributes.MEDIA_LOADING}]:not([${MediaUIAttributes.MEDIA_PAUSED}])) slot[name=icon] > *,\n :host([${MediaUIAttributes.MEDIA_LOADING}]:not([${MediaUIAttributes.MEDIA_PAUSED}])) ::slotted([slot=icon]) {\n opacity: var(--media-loading-indicator-opacity, 1);\n transition: opacity 0.15s var(--_loading-indicator-delay);\n }\n\n :host #status {\n visibility: var(--media-loading-indicator-opacity, hidden);\n transition: visibility 0.15s;\n }\n\n :host([${MediaUIAttributes.MEDIA_LOADING}]:not([${MediaUIAttributes.MEDIA_PAUSED}])) #status {\n visibility: var(--media-loading-indicator-opacity, visible);\n transition: visibility 0.15s var(--_loading-indicator-delay);\n }\n\n svg, img, ::slotted(svg), ::slotted(img) {\n width: var(--media-loading-indicator-icon-width);\n height: var(--media-loading-indicator-icon-height, 100px);\n fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));\n vertical-align: middle;\n }\n </style>\n\n <slot name=\"icon\">${loadingIndicatorIcon}</slot>\n <div id=\"status\" role=\"status\" aria-live=\"polite\">${t(\"media loading\")}</div>\n `\n );\n}\nclass MediaLoadingIndicator extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _mediaController, void 0);\n __privateAdd(this, _delay, DEFAULT_LOADING_DELAY);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n static get observedAttributes() {\n return [\n MediaStateReceiverAttributes.MEDIA_CONTROLLER,\n MediaUIAttributes.MEDIA_PAUSED,\n MediaUIAttributes.MEDIA_LOADING,\n Attributes.LOADING_DELAY\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if (attrName === Attributes.LOADING_DELAY && oldValue !== newValue) {\n this.loadingDelay = Number(newValue);\n } else if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n }\n }\n connectedCallback() {\n var _a, _b, _c;\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(this, _mediaController, (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(\n mediaControllerId\n ));\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n }\n disconnectedCallback() {\n var _a, _b;\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n /**\n * Delay in ms\n */\n get loadingDelay() {\n return __privateGet(this, _delay);\n }\n set loadingDelay(delay) {\n __privateSet(this, _delay, delay);\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n style.setProperty(\n \"--_loading-indicator-delay\",\n `var(--media-loading-indicator-transition-delay, ${delay}ms)`\n );\n }\n /**\n * Is the media paused\n */\n get mediaPaused() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED);\n }\n set mediaPaused(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED, value);\n }\n /**\n * Is the media loading\n */\n get mediaLoading() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_LOADING);\n }\n set mediaLoading(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_LOADING, value);\n }\n get mediaController() {\n return getStringAttr(this, MediaStateReceiverAttributes.MEDIA_CONTROLLER);\n }\n set mediaController(value) {\n setStringAttr(this, MediaStateReceiverAttributes.MEDIA_CONTROLLER, value);\n }\n get noAutohide() {\n return getBooleanAttr(this, Attributes.NO_AUTOHIDE);\n }\n set noAutohide(value) {\n setBooleanAttr(this, Attributes.NO_AUTOHIDE, value);\n }\n}\n_mediaController = new WeakMap();\n_delay = new WeakMap();\nMediaLoadingIndicator.shadowRootOptions = { mode: \"open\" };\nMediaLoadingIndicator.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-loading-indicator\")) {\n globalThis.customElements.define(\n \"media-loading-indicator\",\n MediaLoadingIndicator\n );\n}\nvar media_loading_indicator_default = MediaLoadingIndicator;\nexport {\n Attributes,\n media_loading_indicator_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport { getStringAttr, setStringAttr } from \"./utils/element-utils.js\";\nconst offIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z\"/>\n</svg>`;\nconst lowIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z\"/>\n</svg>`;\nconst highIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host(:not([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]),\n :host([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) {\n display: none !important;\n }\n\n :host(:not([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute],\n :host([${MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"off\">${offIcon}</slot>\n <slot name=\"low\">${lowIcon}</slot>\n <slot name=\"medium\">${lowIcon}</slot>\n <slot name=\"high\">${highIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-mute\">${t(\"Mute\")}</slot>\n <slot name=\"tooltip-unmute\">${t(\"Unmute\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const muted = el.mediaVolumeLevel === \"off\";\n const label = muted ? t(\"unmute\") : t(\"mute\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaMuteButton extends MediaChromeButton {\n static get observedAttributes() {\n return [...super.observedAttributes, MediaUIAttributes.MEDIA_VOLUME_LEVEL];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_VOLUME_LEVEL) {\n updateAriaLabel(this);\n }\n }\n /**\n * @type {string | undefined}\n */\n get mediaVolumeLevel() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_VOLUME_LEVEL);\n }\n set mediaVolumeLevel(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_VOLUME_LEVEL, value);\n }\n handleClick() {\n const eventName = this.mediaVolumeLevel === \"off\" ? MediaUIEvents.MEDIA_UNMUTE_REQUEST : MediaUIEvents.MEDIA_MUTE_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, { composed: true, bubbles: true })\n );\n }\n}\nMediaMuteButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaMuteButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-mute-button\")) {\n globalThis.customElements.define(\"media-mute-button\", MediaMuteButton);\n}\nvar media_mute_button_default = MediaMuteButton;\nexport {\n media_mute_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getBooleanAttr,\n getStringAttr,\n setBooleanAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nconst pipIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 28 24\">\n <path d=\"M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([${MediaUIAttributes.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) {\n display: none !important;\n }\n\n :host(:not([${MediaUIAttributes.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_IS_PIP}]) slot[name=tooltip-enter],\n :host(:not([${MediaUIAttributes.MEDIA_IS_PIP}])) slot[name=tooltip-exit] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"enter\">${pipIcon}</slot>\n <slot name=\"exit\">${pipIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-enter\">${t(\"Enter picture in picture mode\")}</slot>\n <slot name=\"tooltip-exit\">${t(\"Exit picture in picture mode\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const label = el.mediaIsPip ? t(\"exit picture in picture mode\") : t(\"enter picture in picture mode\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaPipButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_IS_PIP,\n MediaUIAttributes.MEDIA_PIP_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_IS_PIP) {\n updateAriaLabel(this);\n }\n }\n /**\n * @type {string | undefined} Pip unavailability state\n */\n get mediaPipUnavailable() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_PIP_UNAVAILABLE);\n }\n set mediaPipUnavailable(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_PIP_UNAVAILABLE, value);\n }\n /**\n * @type {boolean} Is the media currently playing picture-in-picture\n */\n get mediaIsPip() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_IS_PIP);\n }\n set mediaIsPip(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_IS_PIP, value);\n }\n handleClick() {\n const eventName = this.mediaIsPip ? MediaUIEvents.MEDIA_EXIT_PIP_REQUEST : MediaUIEvents.MEDIA_ENTER_PIP_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, { composed: true, bubbles: true })\n );\n }\n}\nMediaPipButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaPipButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-pip-button\")) {\n globalThis.customElements.define(\"media-pip-button\", MediaPipButton);\n}\nvar media_pip_button_default = MediaPipButton;\nexport {\n media_pip_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar _rates;\nimport { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { AttributeTokenList } from \"./utils/attribute-token-list.js\";\nimport { getNumericAttr, setNumericAttr } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nconst Attributes = {\n RATES: \"rates\"\n};\nconst DEFAULT_RATES = [1, 1.2, 1.5, 1.7, 2];\nconst DEFAULT_RATE = 1;\nfunction normalizePlaybackRate(rate) {\n return Math.round(rate * 100) / 100;\n}\nfunction getSlotTemplateHTML(attrs) {\n const rate = attrs[\"mediaplaybackrate\"] ? normalizePlaybackRate(+attrs[\"mediaplaybackrate\"]) : DEFAULT_RATE;\n return (\n /*html*/\n `\n <style>\n :host {\n min-width: 5ch;\n padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));\n }\n </style>\n <slot name=\"icon\">${rate}x</slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Playback rate\");\n}\nclass MediaPlaybackRateButton extends MediaChromeButton {\n constructor() {\n var _a;\n super();\n __privateAdd(this, _rates, new AttributeTokenList(this, Attributes.RATES, {\n defaultValue: DEFAULT_RATES\n }));\n this.container = this.shadowRoot.querySelector('slot[name=\"icon\"]');\n this.container.innerHTML = `${normalizePlaybackRate((_a = this.mediaPlaybackRate) != null ? _a : DEFAULT_RATE)}x`;\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n Attributes.RATES\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === Attributes.RATES) {\n __privateGet(this, _rates).value = newValue;\n }\n if (attrName === MediaUIAttributes.MEDIA_PLAYBACK_RATE) {\n const newPlaybackRate = newValue ? +newValue : Number.NaN;\n const playbackRate = normalizePlaybackRate(\n !Number.isNaN(newPlaybackRate) ? newPlaybackRate : DEFAULT_RATE\n );\n this.container.innerHTML = `${playbackRate}x`;\n this.setAttribute(\n \"aria-label\",\n t(\"Playback rate {playbackRate}\", { playbackRate })\n );\n }\n }\n /**\n * Get the playback rates for the button.\n */\n get rates() {\n return __privateGet(this, _rates);\n }\n /**\n * Set the playback rates for the button.\n * For React 19+ compatibility, accept a string of space-separated rates.\n */\n set rates(value) {\n if (!value) {\n __privateGet(this, _rates).value = \"\";\n } else if (Array.isArray(value)) {\n __privateGet(this, _rates).value = value.join(\" \");\n } else if (typeof value === \"string\") {\n __privateGet(this, _rates).value = value;\n }\n }\n /**\n * @type {number} The current playback rate\n */\n get mediaPlaybackRate() {\n return getNumericAttr(\n this,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n DEFAULT_RATE\n );\n }\n set mediaPlaybackRate(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PLAYBACK_RATE, value);\n }\n handleClick() {\n var _a, _b;\n const availableRates = Array.from(__privateGet(this, _rates).values(), (str) => +str).sort(\n (a, b) => a - b\n );\n const detail = (_b = (_a = availableRates.find((r) => r > this.mediaPlaybackRate)) != null ? _a : availableRates[0]) != null ? _b : DEFAULT_RATE;\n const evt = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,\n { composed: true, bubbles: true, detail }\n );\n this.dispatchEvent(evt);\n }\n}\n_rates = new WeakMap();\nMediaPlaybackRateButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaPlaybackRateButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-playback-rate-button\")) {\n globalThis.customElements.define(\n \"media-playback-rate-button\",\n MediaPlaybackRateButton\n );\n}\nvar media_playback_rate_button_default = MediaPlaybackRateButton;\nexport {\n Attributes,\n DEFAULT_RATE,\n DEFAULT_RATES,\n media_playback_rate_button_default as default,\n normalizePlaybackRate\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport { getBooleanAttr, setBooleanAttr } from \"./utils/element-utils.js\";\nconst playIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"m6 21 15-9L6 3v18Z\"/>\n</svg>`;\nconst pauseIcon = `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M6 20h4V4H6v16Zm8-16v16h4V4h-4Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host([${MediaUIAttributes.MEDIA_PAUSED}]) slot[name=pause],\n :host(:not([${MediaUIAttributes.MEDIA_PAUSED}])) slot[name=play] {\n display: none !important;\n }\n\n :host([${MediaUIAttributes.MEDIA_PAUSED}]) slot[name=tooltip-pause],\n :host(:not([${MediaUIAttributes.MEDIA_PAUSED}])) slot[name=tooltip-play] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"play\">${playIcon}</slot>\n <slot name=\"pause\">${pauseIcon}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return (\n /*html*/\n `\n <slot name=\"tooltip-play\">${t(\"Play\")}</slot>\n <slot name=\"tooltip-pause\">${t(\"Pause\")}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n const label = el.mediaPaused ? t(\"play\") : t(\"pause\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaPlayButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PAUSED,\n MediaUIAttributes.MEDIA_ENDED\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_PAUSED || attrName === MediaUIAttributes.MEDIA_LANG) {\n updateAriaLabel(this);\n }\n }\n /**\n * Is the media paused\n */\n get mediaPaused() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED);\n }\n set mediaPaused(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED, value);\n }\n handleClick() {\n const eventName = this.mediaPaused ? MediaUIEvents.MEDIA_PLAY_REQUEST : MediaUIEvents.MEDIA_PAUSE_REQUEST;\n this.dispatchEvent(\n new globalThis.CustomEvent(eventName, { composed: true, bubbles: true })\n );\n }\n}\nMediaPlayButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaPlayButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-play-button\")) {\n globalThis.customElements.define(\"media-play-button\", MediaPlayButton);\n}\nvar media_play_button_default = MediaPlayButton;\nexport {\n MediaPlayButton,\n media_play_button_default as default\n};\n","import { globalThis } from \"./utils/server-safe-globals.js\";\nimport { getStringAttr, namedNodeMapToObject, setStringAttr } from \"./utils/element-utils.js\";\nconst Attributes = {\n PLACEHOLDER_SRC: \"placeholdersrc\",\n SRC: \"src\"\n};\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n pointer-events: none;\n display: var(--media-poster-image-display, inline-block);\n box-sizing: border-box;\n }\n\n img {\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n background-repeat: no-repeat;\n background-position: var(--media-poster-image-background-position, var(--media-object-position, center));\n background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain));\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, center);\n }\n </style>\n\n <img part=\"poster img\" aria-hidden=\"true\" id=\"image\"/>\n `\n );\n}\nconst unsetBackgroundImage = (el) => {\n el.style.removeProperty(\"background-image\");\n};\nconst setBackgroundImage = (el, image) => {\n el.style[\"background-image\"] = `url('${image}')`;\n};\nclass MediaPosterImage extends globalThis.HTMLElement {\n static get observedAttributes() {\n return [Attributes.PLACEHOLDER_SRC, Attributes.SRC];\n }\n constructor() {\n super();\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.image = this.shadowRoot.querySelector(\"#image\");\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName === Attributes.SRC) {\n if (newValue == null) {\n this.image.removeAttribute(Attributes.SRC);\n } else {\n this.image.setAttribute(Attributes.SRC, newValue);\n }\n }\n if (attrName === Attributes.PLACEHOLDER_SRC) {\n if (newValue == null) {\n unsetBackgroundImage(this.image);\n } else {\n setBackgroundImage(this.image, newValue);\n }\n }\n }\n /**\n *\n */\n get placeholderSrc() {\n return getStringAttr(this, Attributes.PLACEHOLDER_SRC);\n }\n set placeholderSrc(value) {\n setStringAttr(this, Attributes.SRC, value);\n }\n /**\n *\n */\n get src() {\n return getStringAttr(this, Attributes.SRC);\n }\n set src(value) {\n setStringAttr(this, Attributes.SRC, value);\n }\n}\nMediaPosterImage.shadowRootOptions = { mode: \"open\" };\nMediaPosterImage.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-poster-image\")) {\n globalThis.customElements.define(\"media-poster-image\", MediaPosterImage);\n}\nvar media_poster_image_default = MediaPosterImage;\nexport {\n Attributes,\n media_poster_image_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _slot;\nimport { MediaTextDisplay } from \"./media-text-display.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIAttributes } from \"./constants.js\";\nimport { getStringAttr, setStringAttr } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nclass MediaPreviewChapterDisplay extends MediaTextDisplay {\n constructor() {\n super();\n __privateAdd(this, _slot, void 0);\n __privateSet(this, _slot, this.shadowRoot.querySelector(\"slot\"));\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PREVIEW_CHAPTER,\n MediaUIAttributes.MEDIA_LANG\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_PREVIEW_CHAPTER || attrName === MediaUIAttributes.MEDIA_LANG) {\n if (newValue !== oldValue && newValue != null) {\n __privateGet(this, _slot).textContent = newValue;\n if (newValue !== \"\") {\n const ariaValueText = t(\"chapter: {chapterName}\", {\n chapterName: newValue\n });\n this.setAttribute(\"aria-valuetext\", ariaValueText);\n } else {\n this.removeAttribute(\"aria-valuetext\");\n }\n }\n }\n }\n /**\n * @type {string | undefined} Timeline preview chapter\n */\n get mediaPreviewChapter() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_CHAPTER);\n }\n set mediaPreviewChapter(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_CHAPTER, value);\n }\n}\n_slot = new WeakMap();\nif (!globalThis.customElements.get(\"media-preview-chapter-display\")) {\n globalThis.customElements.define(\n \"media-preview-chapter-display\",\n MediaPreviewChapterDisplay\n );\n}\nvar media_preview_chapter_display_default = MediaPreviewChapterDisplay;\nexport {\n media_preview_chapter_display_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _mediaController;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport {\n MediaUIAttributes,\n MediaStateReceiverAttributes\n} from \"./constants.js\";\nimport {\n getOrInsertCSSRule,\n getStringAttr,\n namedNodeMapToObject,\n setStringAttr\n} from \"./utils/element-utils.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n box-sizing: border-box;\n display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block));\n overflow: hidden;\n }\n\n img {\n display: none;\n position: relative;\n }\n </style>\n <img crossorigin loading=\"eager\" decoding=\"async\">\n `\n );\n}\nclass MediaPreviewThumbnail extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _mediaController, void 0);\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n static get observedAttributes() {\n return [\n MediaStateReceiverAttributes.MEDIA_CONTROLLER,\n MediaUIAttributes.MEDIA_PREVIEW_IMAGE,\n MediaUIAttributes.MEDIA_PREVIEW_COORDS\n ];\n }\n connectedCallback() {\n var _a, _b, _c;\n const mediaControllerId = this.getAttribute(\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n );\n if (mediaControllerId) {\n __privateSet(\n this,\n _mediaController,\n // @ts-ignore\n (_a = this.getRootNode()) == null ? void 0 : _a.getElementById(mediaControllerId)\n );\n (_c = (_b = __privateGet(this, _mediaController)) == null ? void 0 : _b.associateElement) == null ? void 0 : _c.call(_b, this);\n }\n }\n disconnectedCallback() {\n var _a, _b;\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d, _e;\n if ([\n MediaUIAttributes.MEDIA_PREVIEW_IMAGE,\n MediaUIAttributes.MEDIA_PREVIEW_COORDS\n ].includes(attrName)) {\n this.update();\n }\n if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, (_c = this.getRootNode()) == null ? void 0 : _c.getElementById(newValue));\n (_e = (_d = __privateGet(this, _mediaController)) == null ? void 0 : _d.associateElement) == null ? void 0 : _e.call(_d, this);\n }\n }\n }\n /**\n * @type {string | undefined} The url of the preview image\n */\n get mediaPreviewImage() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_IMAGE);\n }\n set mediaPreviewImage(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_IMAGE, value);\n }\n /**\n * @type {Array<number> | undefined} Fixed length array [x, y, width, height] or undefined\n */\n get mediaPreviewCoords() {\n const attrVal = this.getAttribute(MediaUIAttributes.MEDIA_PREVIEW_COORDS);\n if (!attrVal)\n return void 0;\n return attrVal.split(/\\s+/).map((coord) => +coord);\n }\n set mediaPreviewCoords(value) {\n if (!value) {\n this.removeAttribute(MediaUIAttributes.MEDIA_PREVIEW_COORDS);\n return;\n }\n this.setAttribute(MediaUIAttributes.MEDIA_PREVIEW_COORDS, value.join(\" \"));\n }\n update() {\n const coords = this.mediaPreviewCoords;\n const previewImage = this.mediaPreviewImage;\n if (!(coords && previewImage))\n return;\n const [x, y, w, h] = coords;\n const src = previewImage.split(\"#\")[0];\n const computedStyle = getComputedStyle(this);\n const { maxWidth, maxHeight, minWidth, minHeight } = computedStyle;\n const objectFit = computedStyle.getPropertyValue(\"--media-preview-thumbnail-object-fit\").trim() || \"contain\";\n let scaleX;\n let scaleY;\n if (objectFit === \"fill\") {\n const maxRatioX = parseInt(maxWidth) / w;\n const maxRatioY = parseInt(maxHeight) / h;\n const minRatioX = parseInt(minWidth) / w;\n const minRatioY = parseInt(minHeight) / h;\n scaleX = maxRatioX < 1 ? maxRatioX : Math.max(maxRatioX, minRatioX);\n scaleY = maxRatioY < 1 ? maxRatioY : Math.max(maxRatioY, minRatioY);\n } else {\n const maxRatio = Math.min(parseInt(maxWidth) / w, parseInt(maxHeight) / h);\n const minRatio = Math.max(parseInt(minWidth) / w, parseInt(minHeight) / h);\n const isScalingDown2 = maxRatio < 1;\n const scale = isScalingDown2 ? maxRatio : minRatio > 1 ? minRatio : 1;\n scaleX = scale;\n scaleY = scale;\n }\n const { style } = getOrInsertCSSRule(this.shadowRoot, \":host\");\n const imgStyle = getOrInsertCSSRule(this.shadowRoot, \"img\").style;\n const img = this.shadowRoot.querySelector(\"img\");\n const isScalingDown = Math.min(scaleX, scaleY) < 1;\n const extremum = isScalingDown ? \"min\" : \"max\";\n style.setProperty(`${extremum}-width`, \"initial\", \"important\");\n style.setProperty(`${extremum}-height`, \"initial\", \"important\");\n style.width = `${w * scaleX}px`;\n style.height = `${h * scaleY}px`;\n const resize = () => {\n imgStyle.width = `${this.imgWidth * scaleX}px`;\n imgStyle.height = `${this.imgHeight * scaleY}px`;\n imgStyle.display = \"block\";\n };\n if (img.src !== src) {\n img.onload = () => {\n this.imgWidth = img.naturalWidth;\n this.imgHeight = img.naturalHeight;\n resize();\n img.onload = null;\n };\n img.src = src;\n resize();\n }\n resize();\n imgStyle.transform = `translate(-${x * scaleX}px, -${y * scaleY}px)`;\n }\n}\n_mediaController = new WeakMap();\nMediaPreviewThumbnail.shadowRootOptions = { mode: \"open\" };\nMediaPreviewThumbnail.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-preview-thumbnail\")) {\n globalThis.customElements.define(\n \"media-preview-thumbnail\",\n MediaPreviewThumbnail\n );\n}\nvar media_preview_thumbnail_default = MediaPreviewThumbnail;\nexport {\n media_preview_thumbnail_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _slot;\nimport { MediaTextDisplay } from \"./media-text-display.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { formatTime } from \"./utils/time.js\";\nimport { MediaUIAttributes } from \"./constants.js\";\nimport { getNumericAttr, setNumericAttr } from \"./utils/element-utils.js\";\nclass MediaPreviewTimeDisplay extends MediaTextDisplay {\n constructor() {\n super();\n __privateAdd(this, _slot, void 0);\n __privateSet(this, _slot, this.shadowRoot.querySelector(\"slot\"));\n __privateGet(this, _slot).textContent = formatTime(0);\n }\n static get observedAttributes() {\n return [...super.observedAttributes, MediaUIAttributes.MEDIA_PREVIEW_TIME];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_PREVIEW_TIME && newValue != null) {\n __privateGet(this, _slot).textContent = formatTime(parseFloat(newValue));\n }\n }\n /**\n * Timeline preview time\n */\n get mediaPreviewTime() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_PREVIEW_TIME);\n }\n set mediaPreviewTime(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PREVIEW_TIME, value);\n }\n}\n_slot = new WeakMap();\nif (!globalThis.customElements.get(\"media-preview-time-display\")) {\n globalThis.customElements.define(\n \"media-preview-time-display\",\n MediaPreviewTimeDisplay\n );\n}\nvar media_preview_time_display_default = MediaPreviewTimeDisplay;\nexport {\n media_preview_time_display_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { getNumericAttr, setNumericAttr, getSlotted, updateIconText } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nconst Attributes = {\n SEEK_OFFSET: \"seekoffset\"\n};\nconst DEFAULT_SEEK_OFFSET = 30;\nconst backwardIcon = (seekOffset) => `\n <svg aria-hidden=\"true\" viewBox=\"0 0 20 24\">\n <defs>\n <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>\n </defs>\n <text class=\"text value\" transform=\"translate(2.18 19.87)\">${seekOffset}</text>\n <path d=\"M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z\"/>\n </svg>`;\nfunction getSlotTemplateHTML(_attrs, props) {\n return (\n /*html*/\n `\n <slot name=\"icon\">${backwardIcon(props.seekOffset)}</slot>\n `\n );\n}\nconst updateAriaLabel = (el, seekOffset) => {\n el.setAttribute(\"aria-label\", t(\"seek back {seekOffset} seconds\", { seekOffset }));\n};\nfunction getTooltipContentHTML() {\n return t(\"Seek backward\");\n}\nconst DEFAULT_TIME = 0;\nclass MediaSeekBackwardButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n Attributes.SEEK_OFFSET\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.seekOffset = getNumericAttr(\n this,\n Attributes.SEEK_OFFSET,\n DEFAULT_SEEK_OFFSET\n );\n }\n attributeChangedCallback(attrName, _oldValue, newValue) {\n super.attributeChangedCallback(attrName, _oldValue, newValue);\n updateAriaLabel(this, this.seekOffset);\n if (attrName === Attributes.SEEK_OFFSET) {\n this.seekOffset = getNumericAttr(\n this,\n Attributes.SEEK_OFFSET,\n DEFAULT_SEEK_OFFSET\n );\n }\n }\n // Own props\n /**\n * Seek amount in seconds\n */\n get seekOffset() {\n return getNumericAttr(this, Attributes.SEEK_OFFSET, DEFAULT_SEEK_OFFSET);\n }\n set seekOffset(value) {\n setNumericAttr(this, Attributes.SEEK_OFFSET, value);\n this.setAttribute(\n \"aria-label\",\n t(\"seek back {seekOffset} seconds\", { seekOffset: this.seekOffset })\n );\n updateIconText(getSlotted(this, \"icon\"), this.seekOffset);\n }\n // Props derived from Media UI Attributes\n /**\n * The current time in seconds\n */\n get mediaCurrentTime() {\n return getNumericAttr(\n this,\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n DEFAULT_TIME\n );\n }\n set mediaCurrentTime(time) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME, time);\n }\n handleClick() {\n const detail = Math.max(this.mediaCurrentTime - this.seekOffset, 0);\n const evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_SEEK_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n }\n}\nMediaSeekBackwardButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaSeekBackwardButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-seek-backward-button\")) {\n globalThis.customElements.define(\n \"media-seek-backward-button\",\n MediaSeekBackwardButton\n );\n}\nvar media_seek_backward_button_default = MediaSeekBackwardButton;\nexport {\n Attributes,\n media_seek_backward_button_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { getNumericAttr, setNumericAttr, getSlotted, updateIconText } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nconst Attributes = {\n SEEK_OFFSET: \"seekoffset\"\n};\nconst DEFAULT_SEEK_OFFSET = 30;\nconst forwardIcon = (seekOffset) => `\n <svg aria-hidden=\"true\" viewBox=\"0 0 20 24\">\n <defs>\n <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>\n </defs>\n <text class=\"text value\" transform=\"translate(8.9 19.87)\">${seekOffset}</text>\n <path d=\"M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z\"/>\n </svg>`;\nfunction getSlotTemplateHTML(_attrs, props) {\n return (\n /*html*/\n `\n <slot name=\"icon\">${forwardIcon(props.seekOffset)}</slot>\n `\n );\n}\nconst updateAriaLabel = (el, seekOffset) => {\n el.setAttribute(\"aria-label\", t(\"seek forward {seekOffset} seconds\", { seekOffset }));\n};\nfunction getTooltipContentHTML() {\n return t(\"Seek forward\");\n}\nconst DEFAULT_TIME = 0;\nclass MediaSeekForwardButton extends MediaChromeButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n Attributes.SEEK_OFFSET\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.seekOffset = getNumericAttr(\n this,\n Attributes.SEEK_OFFSET,\n DEFAULT_SEEK_OFFSET\n );\n }\n attributeChangedCallback(attrName, _oldValue, newValue) {\n super.attributeChangedCallback(attrName, _oldValue, newValue);\n updateAriaLabel(this, this.seekOffset);\n if (attrName === Attributes.SEEK_OFFSET) {\n this.seekOffset = getNumericAttr(\n this,\n Attributes.SEEK_OFFSET,\n DEFAULT_SEEK_OFFSET\n );\n }\n }\n // Own props\n /**\n * Seek amount in seconds\n */\n get seekOffset() {\n return getNumericAttr(this, Attributes.SEEK_OFFSET, DEFAULT_SEEK_OFFSET);\n }\n set seekOffset(value) {\n setNumericAttr(this, Attributes.SEEK_OFFSET, value);\n this.setAttribute(\n \"aria-label\",\n t(\"seek forward {seekOffset} seconds\", { seekOffset: this.seekOffset })\n );\n updateIconText(getSlotted(this, \"icon\"), this.seekOffset);\n }\n // Props derived from Media UI Attributes\n /**\n * The current time in seconds\n */\n get mediaCurrentTime() {\n return getNumericAttr(\n this,\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n DEFAULT_TIME\n );\n }\n set mediaCurrentTime(time) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME, time);\n }\n handleClick() {\n const detail = this.mediaCurrentTime + this.seekOffset;\n const evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_SEEK_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n });\n this.dispatchEvent(evt);\n }\n}\nMediaSeekForwardButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaSeekForwardButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-seek-forward-button\")) {\n globalThis.customElements.define(\n \"media-seek-forward-button\",\n MediaSeekForwardButton\n );\n}\nvar media_seek_forward_button_default = MediaSeekForwardButton;\nexport {\n Attributes,\n media_seek_forward_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _slot, _keyUpHandler, _keyDownHandler, _setupEventListeners, setupEventListeners_fn, _removeEventListeners, removeEventListeners_fn, _makeInteractive, makeInteractive_fn, _makeNonInteractive, makeNonInteractive_fn;\nimport { MediaTextDisplay } from \"./media-text-display.js\";\nimport {\n getBooleanAttr,\n getNumericAttr,\n getOrInsertCSSRule,\n setBooleanAttr,\n setNumericAttr\n} from \"./utils/element-utils.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { formatAsTimePhrase, formatTime } from \"./utils/time.js\";\nimport { MediaUIAttributes } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nconst Attributes = {\n REMAINING: \"remaining\",\n SHOW_DURATION: \"showduration\",\n NO_TOGGLE: \"notoggle\"\n};\nconst CombinedAttributes = [\n ...Object.values(Attributes),\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n MediaUIAttributes.MEDIA_DURATION,\n MediaUIAttributes.MEDIA_SEEKABLE\n];\nconst ButtonPressedKeys = [\"Enter\", \" \"];\nconst DEFAULT_TIMES_SEP = \"&nbsp;/&nbsp;\";\nconst formatTimesLabel = (el, { timesSep = DEFAULT_TIMES_SEP } = {}) => {\n var _a, _b;\n const currentTime = (_a = el.mediaCurrentTime) != null ? _a : 0;\n const [, seekableEnd] = (_b = el.mediaSeekable) != null ? _b : [];\n let endTime = 0;\n if (Number.isFinite(el.mediaDuration)) {\n endTime = el.mediaDuration;\n } else if (Number.isFinite(seekableEnd)) {\n endTime = seekableEnd;\n }\n const timeLabel = el.remaining ? formatTime(0 - (endTime - currentTime)) : formatTime(currentTime);\n if (!el.showDuration)\n return timeLabel;\n return `${timeLabel}${timesSep}${formatTime(endTime)}`;\n};\nconst updateAriaDescription = (el) => {\n var _a;\n const currentTime = el.mediaCurrentTime;\n const [, seekableEnd] = (_a = el.mediaSeekable) != null ? _a : [];\n let endTime = null;\n if (Number.isFinite(el.mediaDuration)) {\n endTime = el.mediaDuration;\n } else if (Number.isFinite(seekableEnd)) {\n endTime = seekableEnd;\n }\n if (currentTime == null || endTime === null) {\n el.setAttribute(\"aria-description\", t(\"video not loaded, unknown time.\"));\n return;\n }\n const currentTimePhrase = el.remaining ? formatAsTimePhrase(0 - (endTime - currentTime)) : formatAsTimePhrase(currentTime);\n if (!el.showDuration) {\n el.setAttribute(\"aria-description\", currentTimePhrase);\n return;\n }\n const totalTimePhrase = formatAsTimePhrase(endTime);\n const fullPhrase = t(\"{currentTime} of {totalTime}\", {\n currentTime: currentTimePhrase,\n totalTime: totalTimePhrase\n });\n el.setAttribute(\"aria-description\", fullPhrase);\n};\nfunction getSlotTemplateHTML(_attrs, props) {\n return (\n /*html*/\n `\n <slot>${formatTimesLabel(props)}</slot>\n `\n );\n}\nconst updateAriaLabel = (el) => {\n el.setAttribute(\"aria-label\", t(\"playback time\"));\n};\nclass MediaTimeDisplay extends MediaTextDisplay {\n constructor() {\n super();\n __privateAdd(this, _setupEventListeners);\n __privateAdd(this, _removeEventListeners);\n // Makes element clickable and focusable only when not disabled and noToggle is not present\n __privateAdd(this, _makeInteractive);\n // Removes interactivity from the element, making it neither clickable nor focusable\n __privateAdd(this, _makeNonInteractive);\n __privateAdd(this, _slot, void 0);\n __privateAdd(this, _keyUpHandler, null);\n __privateAdd(this, _keyDownHandler, (evt) => {\n const { metaKey, altKey, key } = evt;\n if (metaKey || altKey || !ButtonPressedKeys.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n return;\n }\n this.addEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n });\n __privateSet(this, _slot, this.shadowRoot.querySelector(\"slot\"));\n __privateGet(this, _slot).innerHTML = `${formatTimesLabel(this)}`;\n }\n static get observedAttributes() {\n return [...super.observedAttributes, ...CombinedAttributes, \"disabled\"];\n }\n connectedCallback() {\n const { style } = getOrInsertCSSRule(\n this.shadowRoot,\n \":host(:hover:not([notoggle]))\"\n );\n style.setProperty(\"cursor\", \"var(--media-cursor, pointer)\");\n style.setProperty(\n \"background\",\n \"var(--media-control-hover-background, rgba(50 50 70 / .7))\"\n );\n this.setAttribute(\"aria-label\", t(\"playback time\"));\n __privateMethod(this, _makeInteractive, makeInteractive_fn).call(this);\n super.connectedCallback();\n }\n toggleTimeDisplay() {\n if (this.noToggle) {\n return;\n }\n if (this.hasAttribute(\"remaining\")) {\n this.removeAttribute(\"remaining\");\n } else {\n this.setAttribute(\"remaining\", \"\");\n }\n }\n disconnectedCallback() {\n this.disable();\n __privateMethod(this, _removeEventListeners, removeEventListeners_fn).call(this);\n super.disconnectedCallback();\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n updateAriaLabel(this);\n if (CombinedAttributes.includes(attrName)) {\n this.update();\n } else if (attrName === \"disabled\" && newValue !== oldValue) {\n if (newValue == null) {\n __privateMethod(this, _makeInteractive, makeInteractive_fn).call(this);\n } else {\n __privateMethod(this, _makeNonInteractive, makeNonInteractive_fn).call(this);\n }\n } else if (attrName === Attributes.NO_TOGGLE && newValue !== oldValue) {\n if (this.noToggle) {\n __privateMethod(this, _makeNonInteractive, makeNonInteractive_fn).call(this);\n } else {\n __privateMethod(this, _makeInteractive, makeInteractive_fn).call(this);\n }\n }\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n enable() {\n if (!this.noToggle) {\n this.tabIndex = 0;\n }\n }\n disable() {\n this.tabIndex = -1;\n }\n // Own props\n /**\n * Whether to show the remaining time\n */\n get remaining() {\n return getBooleanAttr(this, Attributes.REMAINING);\n }\n set remaining(show) {\n setBooleanAttr(this, Attributes.REMAINING, show);\n }\n /**\n * Whether to show the duration\n */\n get showDuration() {\n return getBooleanAttr(this, Attributes.SHOW_DURATION);\n }\n set showDuration(show) {\n setBooleanAttr(this, Attributes.SHOW_DURATION, show);\n }\n /**\n * Disable the default behavior that toggles between current and remaining time\n */\n get noToggle() {\n return getBooleanAttr(this, Attributes.NO_TOGGLE);\n }\n set noToggle(noToggle) {\n setBooleanAttr(this, Attributes.NO_TOGGLE, noToggle);\n }\n // Props derived from media UI attributes\n /**\n * Get the duration\n */\n get mediaDuration() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_DURATION);\n }\n set mediaDuration(time) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_DURATION, time);\n }\n /**\n * The current time in seconds\n */\n get mediaCurrentTime() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME);\n }\n set mediaCurrentTime(time) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME, time);\n }\n /**\n * Range of values that can be seeked to.\n * An array of two numbers [start, end]\n */\n get mediaSeekable() {\n const seekable = this.getAttribute(MediaUIAttributes.MEDIA_SEEKABLE);\n if (!seekable)\n return void 0;\n return seekable.split(\":\").map((time) => +time);\n }\n set mediaSeekable(range) {\n if (range == null) {\n this.removeAttribute(MediaUIAttributes.MEDIA_SEEKABLE);\n return;\n }\n this.setAttribute(MediaUIAttributes.MEDIA_SEEKABLE, range.join(\":\"));\n }\n update() {\n const timesLabel = formatTimesLabel(this);\n updateAriaDescription(this);\n if (timesLabel !== __privateGet(this, _slot).innerHTML) {\n __privateGet(this, _slot).innerHTML = timesLabel;\n }\n }\n}\n_slot = new WeakMap();\n_keyUpHandler = new WeakMap();\n_keyDownHandler = new WeakMap();\n_setupEventListeners = new WeakSet();\nsetupEventListeners_fn = function() {\n if (__privateGet(this, _keyUpHandler)) {\n return;\n }\n __privateSet(this, _keyUpHandler, (evt) => {\n const { key } = evt;\n if (!ButtonPressedKeys.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n return;\n }\n this.toggleTimeDisplay();\n });\n this.addEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n this.addEventListener(\"click\", this.toggleTimeDisplay);\n};\n_removeEventListeners = new WeakSet();\nremoveEventListeners_fn = function() {\n if (__privateGet(this, _keyUpHandler)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _keyUpHandler));\n this.removeEventListener(\"keydown\", __privateGet(this, _keyDownHandler));\n this.removeEventListener(\"click\", this.toggleTimeDisplay);\n __privateSet(this, _keyUpHandler, null);\n }\n};\n_makeInteractive = new WeakSet();\nmakeInteractive_fn = function() {\n if (!this.noToggle && !this.hasAttribute(\"disabled\")) {\n this.setAttribute(\"role\", \"button\");\n this.enable();\n __privateMethod(this, _setupEventListeners, setupEventListeners_fn).call(this);\n }\n};\n_makeNonInteractive = new WeakSet();\nmakeNonInteractive_fn = function() {\n this.removeAttribute(\"role\");\n this.disable();\n __privateMethod(this, _removeEventListeners, removeEventListeners_fn).call(this);\n};\nMediaTimeDisplay.getSlotTemplateHTML = getSlotTemplateHTML;\nif (!globalThis.customElements.get(\"media-time-display\")) {\n globalThis.customElements.define(\"media-time-display\", MediaTimeDisplay);\n}\nvar media_time_display_default = MediaTimeDisplay;\nexport {\n Attributes,\n media_time_display_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateWrapper = (obj, member, setter, getter) => ({\n set _(value) {\n __privateSet(obj, member, value, setter);\n },\n get _() {\n return __privateGet(obj, member, getter);\n }\n});\nvar _range, _startTime, _previousTime, _deltaTime, _frameCount, _updateTimestamp, _updateStartValue, _lastRangeIncrease, _id, _animate;\nclass RangeAnimation {\n constructor(range, callback, fps) {\n __privateAdd(this, _range, void 0);\n __privateAdd(this, _startTime, void 0);\n __privateAdd(this, _previousTime, void 0);\n __privateAdd(this, _deltaTime, void 0);\n __privateAdd(this, _frameCount, void 0);\n __privateAdd(this, _updateTimestamp, void 0);\n __privateAdd(this, _updateStartValue, void 0);\n __privateAdd(this, _lastRangeIncrease, void 0);\n __privateAdd(this, _id, 0);\n __privateAdd(this, _animate, (now = performance.now()) => {\n __privateSet(this, _id, requestAnimationFrame(__privateGet(this, _animate)));\n __privateSet(this, _deltaTime, performance.now() - __privateGet(this, _previousTime));\n const fpsInterval = 1e3 / this.fps;\n if (__privateGet(this, _deltaTime) > fpsInterval) {\n __privateSet(this, _previousTime, now - __privateGet(this, _deltaTime) % fpsInterval);\n const fps = 1e3 / ((now - __privateGet(this, _startTime)) / ++__privateWrapper(this, _frameCount)._);\n const delta = (now - __privateGet(this, _updateTimestamp)) / 1e3 / this.duration;\n let value = __privateGet(this, _updateStartValue) + delta * this.playbackRate;\n const increase = value - __privateGet(this, _range).valueAsNumber;\n if (increase > 0) {\n __privateSet(this, _lastRangeIncrease, this.playbackRate / this.duration / fps);\n } else {\n __privateSet(this, _lastRangeIncrease, 0.995 * __privateGet(this, _lastRangeIncrease));\n value = __privateGet(this, _range).valueAsNumber + __privateGet(this, _lastRangeIncrease);\n }\n this.callback(value);\n }\n });\n __privateSet(this, _range, range);\n this.callback = callback;\n this.fps = fps;\n }\n start() {\n if (__privateGet(this, _id) !== 0)\n return;\n __privateSet(this, _previousTime, performance.now());\n __privateSet(this, _startTime, __privateGet(this, _previousTime));\n __privateSet(this, _frameCount, 0);\n __privateGet(this, _animate).call(this);\n }\n stop() {\n if (__privateGet(this, _id) === 0)\n return;\n cancelAnimationFrame(__privateGet(this, _id));\n __privateSet(this, _id, 0);\n }\n update({ start, duration, playbackRate }) {\n const increase = start - __privateGet(this, _range).valueAsNumber;\n const durationDelta = Math.abs(duration - this.duration);\n if (increase > 0 || increase < -0.03 || durationDelta >= 0.5) {\n this.callback(start);\n }\n __privateSet(this, _updateStartValue, start);\n __privateSet(this, _updateTimestamp, performance.now());\n this.duration = duration;\n this.playbackRate = playbackRate;\n }\n}\n_range = new WeakMap();\n_startTime = new WeakMap();\n_previousTime = new WeakMap();\n_deltaTime = new WeakMap();\n_frameCount = new WeakMap();\n_updateTimestamp = new WeakMap();\n_updateStartValue = new WeakMap();\n_lastRangeIncrease = new WeakMap();\n_id = new WeakMap();\n_animate = new WeakMap();\nexport {\n RangeAnimation\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _rootNode, _animation, _boxes, _previewTime, _previewBox, _currentBox, _boxPaddingLeft, _boxPaddingRight, _mediaChaptersCues, _isPointerDown, _toggleRangeAnimation, _shouldRangeAnimate, shouldRangeAnimate_fn, _updateRange, _getElementRects, getElementRects_fn, _getBoxPosition, getBoxPosition_fn, _getBoxShiftPosition, getBoxShiftPosition_fn, _handlePointerMove, handlePointerMove_fn, _previewRequest, previewRequest_fn, _seekRequest, seekRequest_fn;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaChromeRange } from \"./media-chrome-range.js\";\nimport \"./media-preview-thumbnail.js\";\nimport \"./media-preview-time-display.js\";\nimport \"./media-preview-chapter-display.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { isValidNumber } from \"./utils/utils.js\";\nimport { formatAsTimePhrase } from \"./utils/time.js\";\nimport { isElementVisible } from \"./utils/element-utils.js\";\nimport { RangeAnimation } from \"./utils/range-animation.js\";\nimport {\n getOrInsertCSSRule,\n containsComposedNode,\n closestComposedNode,\n getBooleanAttr,\n setBooleanAttr,\n getNumericAttr,\n setNumericAttr,\n getStringAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nimport MediaPreviewThumbnail from \"./media-preview-thumbnail.js\";\nconst updateAriaValueText = (el) => {\n const range = el.range;\n const currentTimePhrase = formatAsTimePhrase(+calcTimeFromRangeValue(el));\n const totalTimePhrase = formatAsTimePhrase(+el.mediaSeekableEnd);\n const fullPhrase = !(currentTimePhrase && totalTimePhrase) ? t(\"video not loaded, unknown time.\") : t(\"{currentTime} of {totalTime}\", {\n currentTime: currentTimePhrase,\n totalTime: totalTimePhrase\n });\n range.setAttribute(\"aria-valuetext\", fullPhrase);\n};\nfunction getContainerTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n --media-box-border-radius: 4px;\n --media-box-padding-left: 10px;\n --media-box-padding-right: 10px;\n --media-preview-border-radius: var(--media-box-border-radius);\n --media-box-arrow-offset: var(--media-box-border-radius);\n --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));\n --_preview-background: var(--media-preview-background, var(--_control-background));\n\n ${/* 1% rail width trick was off in Safari, contain: layout seems to\n prevent the horizontal overflow as well. */\n \"\"}\n contain: layout;\n }\n\n #buffered {\n background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4));\n position: absolute;\n height: 100%;\n will-change: width;\n }\n\n #preview-rail,\n #current-rail {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 100%;\n pointer-events: none;\n will-change: transform;\n }\n\n [part~=\"box\"] {\n width: min-content;\n ${/* absolute position is needed here so the box doesn't overflow the bounds */\n \"\"}\n position: absolute;\n bottom: 100%;\n flex-direction: column;\n align-items: center;\n transform: translateX(-50%);\n }\n\n [part~=\"current-box\"] {\n display: var(--media-current-box-display, var(--media-box-display, flex));\n margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px));\n visibility: hidden;\n }\n\n [part~=\"preview-box\"] {\n display: var(--media-preview-box-display, var(--media-box-display, flex));\n margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px));\n transition-property: var(--media-preview-transition-property, visibility, opacity);\n transition-duration: var(--media-preview-transition-duration-out, .25s);\n transition-delay: var(--media-preview-transition-delay-out, 0s);\n visibility: hidden;\n opacity: 0;\n }\n\n :host(:is([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}], [${MediaUIAttributes.MEDIA_PREVIEW_TIME}])[dragging]) [part~=\"preview-box\"] {\n transition-duration: var(--media-preview-transition-duration-in, .5s);\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n visibility: visible;\n opacity: 1;\n }\n\n @media (hover: hover) {\n :host(:is([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}], [${MediaUIAttributes.MEDIA_PREVIEW_TIME}]):hover) [part~=\"preview-box\"] {\n transition-duration: var(--media-preview-transition-duration-in, .5s);\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n visibility: visible;\n opacity: 1;\n }\n }\n\n media-preview-thumbnail,\n ::slotted(media-preview-thumbnail) {\n visibility: hidden;\n ${/* delay changing these CSS props until the preview box transition is ended */\n \"\"}\n transition: visibility 0s .25s;\n transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));\n background: var(--media-preview-thumbnail-background, var(--_preview-background));\n box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2));\n max-width: var(--media-preview-thumbnail-max-width, 180px);\n max-height: var(--media-preview-thumbnail-max-height, 160px);\n min-width: var(--media-preview-thumbnail-min-width, 120px);\n min-height: var(--media-preview-thumbnail-min-height, 80px);\n border: var(--media-preview-thumbnail-border);\n border-radius: var(--media-preview-thumbnail-border-radius,\n var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0);\n }\n\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail,\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) {\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n visibility: visible;\n }\n\n @media (hover: hover) {\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail,\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) {\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n visibility: visible;\n }\n\n :host([${MediaUIAttributes.MEDIA_PREVIEW_TIME}]:hover) {\n --media-time-range-hover-display: block;\n }\n }\n\n media-preview-chapter-display,\n ::slotted(media-preview-chapter-display) {\n font-size: var(--media-font-size, 13px);\n line-height: 17px;\n min-width: 0;\n visibility: hidden;\n ${/* delay changing these CSS props until the preview box transition is ended */\n \"\"}\n transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s;\n transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));\n background: var(--media-preview-chapter-background, var(--_preview-background));\n border-radius: var(--media-preview-chapter-border-radius,\n var(--media-preview-border-radius) var(--media-preview-border-radius)\n var(--media-preview-border-radius) var(--media-preview-border-radius));\n padding: var(--media-preview-chapter-padding, 3.5px 9px);\n margin: var(--media-preview-chapter-margin, 0 0 5px);\n text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75));\n }\n\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display,\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) {\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n border-radius: var(--media-preview-chapter-border-radius, 0);\n padding: var(--media-preview-chapter-padding, 3.5px 9px 0);\n margin: var(--media-preview-chapter-margin, 0);\n min-width: 100%;\n }\n\n media-preview-chapter-display[${MediaUIAttributes.MEDIA_PREVIEW_CHAPTER}],\n ::slotted(media-preview-chapter-display[${MediaUIAttributes.MEDIA_PREVIEW_CHAPTER}]) {\n visibility: visible;\n }\n\n media-preview-chapter-display:not([aria-valuetext]),\n ::slotted(media-preview-chapter-display:not([aria-valuetext])) {\n display: none;\n }\n\n media-preview-time-display,\n ::slotted(media-preview-time-display),\n media-time-display,\n ::slotted(media-time-display) {\n font-size: var(--media-font-size, 13px);\n line-height: 17px;\n min-width: 0;\n ${/* delay changing these CSS props until the preview box transition is ended */\n \"\"}\n transition: min-width 0s, border-radius 0s;\n transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));\n background: var(--media-preview-time-background, var(--_preview-background));\n border-radius: var(--media-preview-time-border-radius,\n var(--media-preview-border-radius) var(--media-preview-border-radius)\n var(--media-preview-border-radius) var(--media-preview-border-radius));\n padding: var(--media-preview-time-padding, 3.5px 9px);\n margin: var(--media-preview-time-margin, 0);\n text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75));\n transform: translateX(min(\n max(calc(50% - var(--_box-width) / 2),\n calc(var(--_box-shift, 0))),\n calc(var(--_box-width) / 2 - 50%)\n ));\n }\n\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display,\n :host([${MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) {\n transition-delay: var(--media-preview-transition-delay-in, .25s);\n border-radius: var(--media-preview-time-border-radius,\n 0 0 var(--media-preview-border-radius) var(--media-preview-border-radius));\n min-width: 100%;\n }\n\n :host([${MediaUIAttributes.MEDIA_PREVIEW_TIME}]:hover) {\n --media-time-range-hover-display: block;\n }\n\n [part~=\"arrow\"],\n ::slotted([part~=\"arrow\"]) {\n display: var(--media-box-arrow-display, inline-block);\n transform: translateX(min(\n max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)),\n calc(var(--_box-shift, 0))),\n calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset))\n ));\n ${/* border-color has to come before border-top-color! */\n \"\"}\n border-color: transparent;\n border-top-color: var(--media-box-arrow-background, var(--_control-background));\n border-width: var(--media-box-arrow-border-width,\n var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0);\n border-style: solid;\n justify-content: center;\n height: 0;\n }\n </style>\n <div id=\"preview-rail\">\n <slot name=\"preview\" part=\"box preview-box\">\n <media-preview-thumbnail>\n <template shadowrootmode=\"${MediaPreviewThumbnail.shadowRootOptions.mode}\">\n ${MediaPreviewThumbnail.getTemplateHTML({})}\n </template>\n </media-preview-thumbnail>\n <media-preview-chapter-display></media-preview-chapter-display>\n <media-preview-time-display></media-preview-time-display>\n <slot name=\"preview-arrow\"><div part=\"arrow\"></div></slot>\n </slot>\n </div>\n <div id=\"current-rail\">\n <slot name=\"current\" part=\"box current-box\">\n ${/* Example: add the current time w/ arrow to the playhead\n <media-time-display slot=\"current\"></media-time-display>\n <div part=\"arrow\" slot=\"current\"></div> */\n \"\"}\n </slot>\n </div>\n `\n );\n}\nconst calcRangeValueFromTime = (el, time = el.mediaCurrentTime) => {\n const startTime = Number.isFinite(el.mediaSeekableStart) ? el.mediaSeekableStart : 0;\n const endTime = Number.isFinite(el.mediaDuration) ? el.mediaDuration : el.mediaSeekableEnd;\n if (Number.isNaN(endTime))\n return 0;\n const value = (time - startTime) / (endTime - startTime);\n return Math.max(0, Math.min(value, 1));\n};\nconst calcTimeFromRangeValue = (el, value = el.range.valueAsNumber) => {\n const startTime = Number.isFinite(el.mediaSeekableStart) ? el.mediaSeekableStart : 0;\n const endTime = Number.isFinite(el.mediaDuration) ? el.mediaDuration : el.mediaSeekableEnd;\n if (Number.isNaN(endTime))\n return 0;\n return value * (endTime - startTime) + startTime;\n};\nclass MediaTimeRange extends MediaChromeRange {\n constructor() {\n super();\n __privateAdd(this, _shouldRangeAnimate);\n __privateAdd(this, _getElementRects);\n /**\n * Get the position, max and min for the box in percentage.\n * It's important this is in percentage so when the player is resized\n * the box will move accordingly.\n */\n __privateAdd(this, _getBoxPosition);\n __privateAdd(this, _getBoxShiftPosition);\n __privateAdd(this, _handlePointerMove);\n __privateAdd(this, _previewRequest);\n __privateAdd(this, _seekRequest);\n __privateAdd(this, _rootNode, null);\n __privateAdd(this, _animation, void 0);\n __privateAdd(this, _boxes, void 0);\n __privateAdd(this, _previewTime, void 0);\n __privateAdd(this, _previewBox, void 0);\n __privateAdd(this, _currentBox, void 0);\n __privateAdd(this, _boxPaddingLeft, void 0);\n __privateAdd(this, _boxPaddingRight, void 0);\n __privateAdd(this, _mediaChaptersCues, void 0);\n __privateAdd(this, _isPointerDown, void 0);\n __privateAdd(this, _toggleRangeAnimation, () => {\n if (__privateMethod(this, _shouldRangeAnimate, shouldRangeAnimate_fn).call(this)) {\n __privateGet(this, _animation).start();\n } else {\n __privateGet(this, _animation).stop();\n }\n });\n __privateAdd(this, _updateRange, (value) => {\n if (this.dragging)\n return;\n if (isValidNumber(value)) {\n this.range.valueAsNumber = value;\n }\n if (!__privateGet(this, _isPointerDown)) {\n this.updateBar();\n }\n });\n const track = this.shadowRoot.querySelector(\"#track\");\n track.insertAdjacentHTML(\n \"afterbegin\",\n '<div id=\"buffered\" part=\"buffered\"></div>'\n );\n __privateSet(this, _boxes, this.shadowRoot.querySelectorAll('[part~=\"box\"]'));\n __privateSet(this, _previewBox, this.shadowRoot.querySelector('[part~=\"preview-box\"]'));\n __privateSet(this, _currentBox, this.shadowRoot.querySelector('[part~=\"current-box\"]'));\n const computedStyle = getComputedStyle(this);\n __privateSet(this, _boxPaddingLeft, parseInt(\n computedStyle.getPropertyValue(\"--media-box-padding-left\")\n ));\n __privateSet(this, _boxPaddingRight, parseInt(\n computedStyle.getPropertyValue(\"--media-box-padding-right\")\n ));\n __privateSet(this, _animation, new RangeAnimation(this.range, __privateGet(this, _updateRange), 60));\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PAUSED,\n MediaUIAttributes.MEDIA_DURATION,\n MediaUIAttributes.MEDIA_SEEKABLE,\n MediaUIAttributes.MEDIA_CURRENT_TIME,\n MediaUIAttributes.MEDIA_PREVIEW_IMAGE,\n MediaUIAttributes.MEDIA_PREVIEW_TIME,\n MediaUIAttributes.MEDIA_PREVIEW_CHAPTER,\n MediaUIAttributes.MEDIA_BUFFERED,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n MediaUIAttributes.MEDIA_LOADING,\n MediaUIAttributes.MEDIA_ENDED\n ];\n }\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.range.setAttribute(\"aria-label\", t(\"seek\"));\n __privateGet(this, _toggleRangeAnimation).call(this);\n __privateSet(this, _rootNode, this.getRootNode());\n (_a = __privateGet(this, _rootNode)) == null ? void 0 : _a.addEventListener(\"transitionstart\", this);\n }\n disconnectedCallback() {\n var _a;\n super.disconnectedCallback();\n __privateGet(this, _animation).stop();\n (_a = __privateGet(this, _rootNode)) == null ? void 0 : _a.removeEventListener(\"transitionstart\", this);\n __privateSet(this, _rootNode, null);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (oldValue == newValue)\n return;\n if (attrName === MediaUIAttributes.MEDIA_CURRENT_TIME || attrName === MediaUIAttributes.MEDIA_PAUSED || attrName === MediaUIAttributes.MEDIA_ENDED || attrName === MediaUIAttributes.MEDIA_LOADING || attrName === MediaUIAttributes.MEDIA_DURATION || attrName === MediaUIAttributes.MEDIA_SEEKABLE) {\n __privateGet(this, _animation).update({\n start: calcRangeValueFromTime(this),\n duration: this.mediaSeekableEnd - this.mediaSeekableStart,\n playbackRate: this.mediaPlaybackRate\n });\n __privateGet(this, _toggleRangeAnimation).call(this);\n updateAriaValueText(this);\n } else if (attrName === MediaUIAttributes.MEDIA_BUFFERED) {\n this.updateBufferedBar();\n }\n if (attrName === MediaUIAttributes.MEDIA_DURATION || attrName === MediaUIAttributes.MEDIA_SEEKABLE) {\n this.mediaChaptersCues = __privateGet(this, _mediaChaptersCues);\n this.updateBar();\n }\n }\n get mediaChaptersCues() {\n return __privateGet(this, _mediaChaptersCues);\n }\n set mediaChaptersCues(value) {\n var _a;\n __privateSet(this, _mediaChaptersCues, value);\n this.updateSegments(\n (_a = __privateGet(this, _mediaChaptersCues)) == null ? void 0 : _a.map((c) => ({\n start: calcRangeValueFromTime(this, c.startTime),\n end: calcRangeValueFromTime(this, c.endTime)\n }))\n );\n }\n /**\n * Is the media paused\n */\n get mediaPaused() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED);\n }\n set mediaPaused(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_PAUSED, value);\n }\n /**\n * Is the media loading\n */\n get mediaLoading() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_LOADING);\n }\n set mediaLoading(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_LOADING, value);\n }\n /**\n *\n */\n get mediaDuration() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_DURATION);\n }\n set mediaDuration(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_DURATION, value);\n }\n /**\n *\n */\n get mediaCurrentTime() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME);\n }\n set mediaCurrentTime(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_CURRENT_TIME, value);\n }\n /**\n *\n */\n get mediaPlaybackRate() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_PLAYBACK_RATE, 1);\n }\n set mediaPlaybackRate(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PLAYBACK_RATE, value);\n }\n /**\n * An array of ranges, each range being an array of two numbers.\n * e.g. [[1, 2], [3, 4]]\n */\n get mediaBuffered() {\n const buffered = this.getAttribute(MediaUIAttributes.MEDIA_BUFFERED);\n if (!buffered)\n return [];\n return buffered.split(\" \").map((timePair) => timePair.split(\":\").map((timeStr) => +timeStr));\n }\n set mediaBuffered(list) {\n if (!list) {\n this.removeAttribute(MediaUIAttributes.MEDIA_BUFFERED);\n return;\n }\n const strVal = list.map((tuple) => tuple.join(\":\")).join(\" \");\n this.setAttribute(MediaUIAttributes.MEDIA_BUFFERED, strVal);\n }\n /**\n * Range of values that can be seeked to\n * An array of two numbers [start, end]\n */\n get mediaSeekable() {\n const seekable = this.getAttribute(MediaUIAttributes.MEDIA_SEEKABLE);\n if (!seekable)\n return void 0;\n return seekable.split(\":\").map((time) => +time);\n }\n set mediaSeekable(range) {\n if (range == null) {\n this.removeAttribute(MediaUIAttributes.MEDIA_SEEKABLE);\n return;\n }\n this.setAttribute(MediaUIAttributes.MEDIA_SEEKABLE, range.join(\":\"));\n }\n /**\n *\n */\n get mediaSeekableEnd() {\n var _a;\n const [, end = this.mediaDuration] = (_a = this.mediaSeekable) != null ? _a : [];\n return end;\n }\n get mediaSeekableStart() {\n var _a;\n const [start = 0] = (_a = this.mediaSeekable) != null ? _a : [];\n return start;\n }\n /**\n * The url of the preview image\n */\n get mediaPreviewImage() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_IMAGE);\n }\n set mediaPreviewImage(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_PREVIEW_IMAGE, value);\n }\n /**\n *\n */\n get mediaPreviewTime() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_PREVIEW_TIME);\n }\n set mediaPreviewTime(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PREVIEW_TIME, value);\n }\n /**\n *\n */\n get mediaEnded() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_ENDED);\n }\n set mediaEnded(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_ENDED, value);\n }\n /* Add a buffered progress bar */\n updateBar() {\n super.updateBar();\n this.updateBufferedBar();\n this.updateCurrentBox();\n }\n updateBufferedBar() {\n var _a;\n const buffered = this.mediaBuffered;\n if (!buffered.length) {\n return;\n }\n let relativeBufferedEnd;\n if (!this.mediaEnded) {\n const currentTime = this.mediaCurrentTime;\n const [, bufferedEnd = this.mediaSeekableStart] = (_a = buffered.find(\n ([start, end]) => start <= currentTime && currentTime <= end\n )) != null ? _a : [];\n relativeBufferedEnd = calcRangeValueFromTime(this, bufferedEnd);\n } else {\n relativeBufferedEnd = 1;\n }\n const { style } = getOrInsertCSSRule(this.shadowRoot, \"#buffered\");\n style.setProperty(\"width\", `${relativeBufferedEnd * 100}%`);\n }\n updateCurrentBox() {\n const currentSlot = this.shadowRoot.querySelector(\n 'slot[name=\"current\"]'\n );\n if (!currentSlot.assignedElements().length)\n return;\n const currentRailRule = getOrInsertCSSRule(\n this.shadowRoot,\n \"#current-rail\"\n );\n const currentBoxRule = getOrInsertCSSRule(\n this.shadowRoot,\n '[part~=\"current-box\"]'\n );\n const rects = __privateMethod(this, _getElementRects, getElementRects_fn).call(this, __privateGet(this, _currentBox));\n const boxPos = __privateMethod(this, _getBoxPosition, getBoxPosition_fn).call(this, rects, this.range.valueAsNumber);\n const boxShift = __privateMethod(this, _getBoxShiftPosition, getBoxShiftPosition_fn).call(this, rects, this.range.valueAsNumber);\n currentRailRule.style.transform = `translateX(${boxPos})`;\n currentRailRule.style.setProperty(\"--_range-width\", `${rects.range.width}`);\n currentBoxRule.style.setProperty(\"--_box-shift\", `${boxShift}`);\n currentBoxRule.style.setProperty(\"--_box-width\", `${rects.box.width}px`);\n currentBoxRule.style.setProperty(\"visibility\", \"initial\");\n }\n handleEvent(evt) {\n super.handleEvent(evt);\n switch (evt.type) {\n case \"input\":\n __privateMethod(this, _seekRequest, seekRequest_fn).call(this);\n break;\n case \"pointermove\":\n __privateMethod(this, _handlePointerMove, handlePointerMove_fn).call(this, evt);\n break;\n case \"pointerup\":\n if (__privateGet(this, _isPointerDown))\n __privateSet(this, _isPointerDown, false);\n break;\n case \"pointerdown\":\n __privateSet(this, _isPointerDown, true);\n break;\n case \"pointerleave\":\n __privateMethod(this, _previewRequest, previewRequest_fn).call(this, null);\n break;\n case \"transitionstart\":\n if (containsComposedNode(evt.target, this)) {\n setTimeout(() => __privateGet(this, _toggleRangeAnimation).call(this), 0);\n }\n break;\n }\n }\n}\n_rootNode = new WeakMap();\n_animation = new WeakMap();\n_boxes = new WeakMap();\n_previewTime = new WeakMap();\n_previewBox = new WeakMap();\n_currentBox = new WeakMap();\n_boxPaddingLeft = new WeakMap();\n_boxPaddingRight = new WeakMap();\n_mediaChaptersCues = new WeakMap();\n_isPointerDown = new WeakMap();\n_toggleRangeAnimation = new WeakMap();\n_shouldRangeAnimate = new WeakSet();\nshouldRangeAnimate_fn = function() {\n return this.isConnected && !this.mediaPaused && !this.mediaLoading && !this.mediaEnded && this.mediaSeekableEnd > 0 && isElementVisible(this);\n};\n_updateRange = new WeakMap();\n_getElementRects = new WeakSet();\ngetElementRects_fn = function(box) {\n var _a;\n const bounds = (_a = this.getAttribute(\"bounds\") ? closestComposedNode(this, `#${this.getAttribute(\"bounds\")}`) : this.parentElement) != null ? _a : this;\n const boundsRect = bounds.getBoundingClientRect();\n const rangeRect = this.range.getBoundingClientRect();\n const width = box.offsetWidth;\n const min = -(rangeRect.left - boundsRect.left - width / 2);\n const max = boundsRect.right - rangeRect.left - width / 2;\n return {\n box: { width, min, max },\n bounds: boundsRect,\n range: rangeRect\n };\n};\n_getBoxPosition = new WeakSet();\ngetBoxPosition_fn = function(rects, ratio) {\n let position = `${ratio * 100}%`;\n const { width, min, max } = rects.box;\n if (!width)\n return position;\n if (!Number.isNaN(min)) {\n const pad = `var(--media-box-padding-left)`;\n const minPos = `calc(1 / var(--_range-width) * 100 * ${min}% + ${pad})`;\n position = `max(${minPos}, ${position})`;\n }\n if (!Number.isNaN(max)) {\n const pad = `var(--media-box-padding-right)`;\n const maxPos = `calc(1 / var(--_range-width) * 100 * ${max}% - ${pad})`;\n position = `min(${position}, ${maxPos})`;\n }\n return position;\n};\n_getBoxShiftPosition = new WeakSet();\ngetBoxShiftPosition_fn = function(rects, ratio) {\n const { width, min, max } = rects.box;\n const pointerX = ratio * rects.range.width;\n if (pointerX < min + __privateGet(this, _boxPaddingLeft)) {\n const offset = rects.range.left - rects.bounds.left - __privateGet(this, _boxPaddingLeft);\n return `${pointerX - width / 2 + offset}px`;\n }\n if (pointerX > max - __privateGet(this, _boxPaddingRight)) {\n const offset = rects.bounds.right - rects.range.right - __privateGet(this, _boxPaddingRight);\n return `${pointerX + width / 2 - offset - rects.range.width}px`;\n }\n return 0;\n};\n_handlePointerMove = new WeakSet();\nhandlePointerMove_fn = function(evt) {\n const isOverBoxes = [...__privateGet(this, _boxes)].some(\n (b) => evt.composedPath().includes(b)\n );\n if (!this.dragging && (isOverBoxes || !evt.composedPath().includes(this))) {\n __privateMethod(this, _previewRequest, previewRequest_fn).call(this, null);\n return;\n }\n const duration = this.mediaSeekableEnd;\n if (!duration)\n return;\n const previewRailRule = getOrInsertCSSRule(\n this.shadowRoot,\n \"#preview-rail\"\n );\n const previewBoxRule = getOrInsertCSSRule(\n this.shadowRoot,\n '[part~=\"preview-box\"]'\n );\n const rects = __privateMethod(this, _getElementRects, getElementRects_fn).call(this, __privateGet(this, _previewBox));\n let pointerRatio = (evt.clientX - rects.range.left) / rects.range.width;\n pointerRatio = Math.max(0, Math.min(1, pointerRatio));\n const boxPos = __privateMethod(this, _getBoxPosition, getBoxPosition_fn).call(this, rects, pointerRatio);\n const boxShift = __privateMethod(this, _getBoxShiftPosition, getBoxShiftPosition_fn).call(this, rects, pointerRatio);\n previewRailRule.style.transform = `translateX(${boxPos})`;\n previewRailRule.style.setProperty(\"--_range-width\", `${rects.range.width}`);\n previewBoxRule.style.setProperty(\"--_box-shift\", `${boxShift}`);\n previewBoxRule.style.setProperty(\"--_box-width\", `${rects.box.width}px`);\n const diff = Math.round(__privateGet(this, _previewTime)) - Math.round(pointerRatio * duration);\n if (Math.abs(diff) < 1 && pointerRatio > 0.01 && pointerRatio < 0.99)\n return;\n __privateSet(this, _previewTime, pointerRatio * duration);\n __privateMethod(this, _previewRequest, previewRequest_fn).call(this, __privateGet(this, _previewTime));\n};\n_previewRequest = new WeakSet();\npreviewRequest_fn = function(detail) {\n this.dispatchEvent(\n new globalThis.CustomEvent(MediaUIEvents.MEDIA_PREVIEW_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n })\n );\n};\n_seekRequest = new WeakSet();\nseekRequest_fn = function() {\n __privateGet(this, _animation).stop();\n const detail = calcTimeFromRangeValue(this);\n this.dispatchEvent(\n new globalThis.CustomEvent(MediaUIEvents.MEDIA_SEEK_REQUEST, {\n composed: true,\n bubbles: true,\n detail\n })\n );\n};\nMediaTimeRange.shadowRootOptions = { mode: \"open\" };\nMediaTimeRange.getContainerTemplateHTML = getContainerTemplateHTML;\nif (!globalThis.customElements.get(\"media-time-range\")) {\n globalThis.customElements.define(\"media-time-range\", MediaTimeRange);\n}\nvar media_time_range_default = MediaTimeRange;\nexport {\n media_time_range_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar _handleRangeInput;\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaChromeRange } from \"./media-chrome-range.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"./constants.js\";\nimport { t } from \"./utils/i18n.js\";\nimport {\n getBooleanAttr,\n getNumericAttr,\n getStringAttr,\n setBooleanAttr,\n setNumericAttr,\n setStringAttr\n} from \"./utils/element-utils.js\";\nconst DEFAULT_VOLUME = 1;\nconst toVolume = (el) => {\n if (el.mediaMuted)\n return 0;\n return el.mediaVolume;\n};\nconst formatAsPercentString = (value) => `${Math.round(value * 100)}%`;\nclass MediaVolumeRange extends MediaChromeRange {\n constructor() {\n super(...arguments);\n __privateAdd(this, _handleRangeInput, () => {\n const detail = this.range.value;\n const evt = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_VOLUME_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail\n }\n );\n this.dispatchEvent(evt);\n });\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_VOLUME,\n MediaUIAttributes.MEDIA_MUTED,\n MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.range.setAttribute(\"aria-label\", t(\"volume\"));\n this.range.addEventListener(\"input\", __privateGet(this, _handleRangeInput));\n }\n disconnectedCallback() {\n this.range.removeEventListener(\"input\", __privateGet(this, _handleRangeInput));\n super.disconnectedCallback();\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_VOLUME || attrName === MediaUIAttributes.MEDIA_MUTED) {\n this.range.valueAsNumber = toVolume(this);\n this.range.setAttribute(\n \"aria-valuetext\",\n formatAsPercentString(this.range.valueAsNumber)\n );\n this.updateBar();\n }\n }\n /**\n *\n */\n get mediaVolume() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_VOLUME, DEFAULT_VOLUME);\n }\n set mediaVolume(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_VOLUME, value);\n }\n /**\n * Is the media currently muted\n */\n get mediaMuted() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_MUTED);\n }\n set mediaMuted(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_MUTED, value);\n }\n /**\n * The volume unavailability state\n */\n get mediaVolumeUnavailable() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE);\n }\n set mediaVolumeUnavailable(value) {\n setStringAttr(this, MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE, value);\n }\n}\n_handleRangeInput = new WeakMap();\nif (!globalThis.customElements.get(\"media-volume-range\")) {\n globalThis.customElements.define(\"media-volume-range\", MediaVolumeRange);\n}\nvar media_volume_range_default = MediaVolumeRange;\nexport {\n media_volume_range_default as default\n};\n","import { MediaChromeButton } from \"./media-chrome-button.js\";\nimport { globalThis } from \"./utils/server-safe-globals.js\";\nimport { MediaUIEvents, MediaUIAttributes } from \"./constants.js\";\nimport { getBooleanAttr, setBooleanAttr } from \"./utils/element-utils.js\";\nimport { t } from \"./utils/i18n.js\";\nfunction getSlotTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n min-width: 4ch;\n padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));\n width: 100%;\n display: grid;\n grid-template-columns: 1fr auto;\n gap: 1rem;\n font-weight: var(--media-button-font-weight, normal);\n }\n\n #checked-indicator {\n display: none;\n }\n\n :host([${MediaUIAttributes.MEDIA_LOOP}]) #checked-indicator {\n display: block;\n }\n </style>\n \n <span id=\"icon\">\n </span>\n\n <div id=\"checked-indicator\">\n <svg aria-hidden=\"true\" viewBox=\"0 1 24 24\" part=\"checked-indicator indicator\">\n <path d=\"m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z\"/>\n </svg>\n </div>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Loop\");\n}\nclass MediaLoopButton extends MediaChromeButton {\n constructor() {\n super(...arguments);\n this.container = null;\n }\n static get observedAttributes() {\n return [...super.observedAttributes, MediaUIAttributes.MEDIA_LOOP];\n }\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.container = ((_a = this.shadowRoot) == null ? void 0 : _a.querySelector(\"#icon\")) || null;\n if (this.container) {\n this.container.textContent = t(\"Loop\");\n }\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_LOOP && this.container) {\n this.setAttribute(\n \"aria-checked\",\n this.mediaLoop ? \"true\" : \"false\"\n );\n }\n }\n get mediaLoop() {\n return getBooleanAttr(this, MediaUIAttributes.MEDIA_LOOP);\n }\n set mediaLoop(value) {\n setBooleanAttr(this, MediaUIAttributes.MEDIA_LOOP, value);\n }\n handleClick() {\n const looping = !this.mediaLoop;\n const evt = new globalThis.CustomEvent(MediaUIEvents.MEDIA_LOOP_REQUEST, {\n composed: true,\n bubbles: true,\n detail: looping\n });\n this.dispatchEvent(evt);\n }\n}\nMediaLoopButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaLoopButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-loop-button\")) {\n globalThis.customElements.define(\"media-loop-button\", MediaLoopButton);\n}\nvar media_loop_button_default = MediaLoopButton;\nexport {\n media_loop_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _parts, _processor, _items, _value, _element, _attributeName, _namespaceURI, _list, list_get, _parentNode, _nodes;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nconst ELEMENT = 1;\nconst STRING = 0;\nconst PART = 1;\nconst defaultProcessor = {\n processCallback(instance, parts, state) {\n if (!state)\n return;\n for (const [expression, part] of parts) {\n if (expression in state) {\n const value = state[expression];\n if (typeof value === \"boolean\" && part instanceof AttrPart && typeof part.element[part.attributeName] === \"boolean\") {\n part.booleanValue = value;\n } else if (typeof value === \"function\" && part instanceof AttrPart) {\n part.element[part.attributeName] = value;\n } else {\n part.value = value;\n }\n }\n }\n }\n};\nclass TemplateInstance extends globalThis.DocumentFragment {\n constructor(template, state, processor = defaultProcessor) {\n var _a;\n super();\n __privateAdd(this, _parts, void 0);\n __privateAdd(this, _processor, void 0);\n this.append(template.content.cloneNode(true));\n __privateSet(this, _parts, parse(this));\n __privateSet(this, _processor, processor);\n (_a = processor.createCallback) == null ? void 0 : _a.call(processor, this, __privateGet(this, _parts), state);\n processor.processCallback(this, __privateGet(this, _parts), state);\n }\n update(state) {\n __privateGet(this, _processor).processCallback(this, __privateGet(this, _parts), state);\n }\n}\n_parts = new WeakMap();\n_processor = new WeakMap();\nconst parse = (element, parts = []) => {\n let type, value;\n for (const attr of element.attributes || []) {\n if (attr.value.includes(\"{{\")) {\n const list = new AttrPartList();\n for ([type, value] of tokenize(attr.value)) {\n if (!type)\n list.append(value);\n else {\n const part = new AttrPart(element, attr.name, attr.namespaceURI);\n list.append(part);\n parts.push([value, part]);\n }\n }\n attr.value = list.toString();\n }\n }\n for (const node of element.childNodes) {\n if (node.nodeType === ELEMENT && !(node instanceof HTMLTemplateElement)) {\n parse(node, parts);\n } else {\n const data = node.data;\n if (node.nodeType === ELEMENT || data.includes(\"{{\")) {\n const items = [];\n if (data) {\n for ([type, value] of tokenize(data))\n if (!type)\n items.push(new Text(value));\n else {\n const part = new ChildNodePart(element);\n items.push(part);\n parts.push([value, part]);\n }\n } else if (node instanceof HTMLTemplateElement) {\n const part = new InnerTemplatePart(element, node);\n items.push(part);\n parts.push([part.expression, part]);\n }\n node.replaceWith(\n ...items.flatMap((part) => part.replacementNodes || [part])\n );\n }\n }\n }\n return parts;\n};\nconst mem = {};\nconst tokenize = (text) => {\n let value = \"\", open = 0, tokens = mem[text], i = 0, c;\n if (tokens)\n return tokens;\n else\n tokens = [];\n for (; c = text[i]; i++) {\n if (c === \"{\" && text[i + 1] === \"{\" && text[i - 1] !== \"\\\\\" && text[i + 2] && ++open == 1) {\n if (value)\n tokens.push([STRING, value]);\n value = \"\";\n i++;\n } else if (c === \"}\" && text[i + 1] === \"}\" && text[i - 1] !== \"\\\\\" && !--open) {\n tokens.push([PART, value.trim()]);\n value = \"\";\n i++;\n } else\n value += c || \"\";\n }\n if (value)\n tokens.push([STRING, (open > 0 ? \"{{\" : \"\") + value]);\n return mem[text] = tokens;\n};\nconst FRAGMENT = 11;\nclass Part {\n get value() {\n return \"\";\n }\n set value(val) {\n }\n toString() {\n return this.value;\n }\n}\nconst attrPartToList = /* @__PURE__ */ new WeakMap();\nclass AttrPartList {\n constructor() {\n __privateAdd(this, _items, []);\n }\n [Symbol.iterator]() {\n return __privateGet(this, _items).values();\n }\n get length() {\n return __privateGet(this, _items).length;\n }\n item(index) {\n return __privateGet(this, _items)[index];\n }\n append(...items) {\n for (const item of items) {\n if (item instanceof AttrPart) {\n attrPartToList.set(item, this);\n }\n __privateGet(this, _items).push(item);\n }\n }\n toString() {\n return __privateGet(this, _items).join(\"\");\n }\n}\n_items = new WeakMap();\nclass AttrPart extends Part {\n constructor(element, attributeName, namespaceURI) {\n super();\n __privateAdd(this, _list);\n __privateAdd(this, _value, \"\");\n __privateAdd(this, _element, void 0);\n __privateAdd(this, _attributeName, void 0);\n __privateAdd(this, _namespaceURI, void 0);\n __privateSet(this, _element, element);\n __privateSet(this, _attributeName, attributeName);\n __privateSet(this, _namespaceURI, namespaceURI);\n }\n get attributeName() {\n return __privateGet(this, _attributeName);\n }\n get attributeNamespace() {\n return __privateGet(this, _namespaceURI);\n }\n get element() {\n return __privateGet(this, _element);\n }\n get value() {\n return __privateGet(this, _value);\n }\n set value(newValue) {\n if (__privateGet(this, _value) === newValue)\n return;\n __privateSet(this, _value, newValue);\n if (!__privateGet(this, _list, list_get) || __privateGet(this, _list, list_get).length === 1) {\n if (newValue == null) {\n __privateGet(this, _element).removeAttributeNS(\n __privateGet(this, _namespaceURI),\n __privateGet(this, _attributeName)\n );\n } else {\n __privateGet(this, _element).setAttributeNS(\n __privateGet(this, _namespaceURI),\n __privateGet(this, _attributeName),\n newValue\n );\n }\n } else {\n __privateGet(this, _element).setAttributeNS(\n __privateGet(this, _namespaceURI),\n __privateGet(this, _attributeName),\n __privateGet(this, _list, list_get).toString()\n );\n }\n }\n get booleanValue() {\n return __privateGet(this, _element).hasAttributeNS(\n __privateGet(this, _namespaceURI),\n __privateGet(this, _attributeName)\n );\n }\n set booleanValue(value) {\n if (!__privateGet(this, _list, list_get) || __privateGet(this, _list, list_get).length === 1)\n this.value = value ? \"\" : null;\n else\n throw new DOMException(\"Value is not fully templatized\");\n }\n}\n_value = new WeakMap();\n_element = new WeakMap();\n_attributeName = new WeakMap();\n_namespaceURI = new WeakMap();\n_list = new WeakSet();\nlist_get = function() {\n return attrPartToList.get(this);\n};\nclass ChildNodePart extends Part {\n constructor(parentNode, nodes) {\n super();\n __privateAdd(this, _parentNode, void 0);\n __privateAdd(this, _nodes, void 0);\n __privateSet(this, _parentNode, parentNode);\n __privateSet(this, _nodes, nodes ? [...nodes] : [new Text()]);\n }\n get replacementNodes() {\n return __privateGet(this, _nodes);\n }\n get parentNode() {\n return __privateGet(this, _parentNode);\n }\n get nextSibling() {\n return __privateGet(this, _nodes)[__privateGet(this, _nodes).length - 1].nextSibling;\n }\n get previousSibling() {\n return __privateGet(this, _nodes)[0].previousSibling;\n }\n // FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?\n get value() {\n return __privateGet(this, _nodes).map((node) => node.textContent).join(\"\");\n }\n set value(newValue) {\n this.replace(newValue);\n }\n replace(...nodes) {\n const normalisedNodes = nodes.flat().flatMap(\n (node) => node == null ? [new Text()] : node.forEach ? [...node] : node.nodeType === FRAGMENT ? [...node.childNodes] : node.nodeType ? [node] : [new Text(node)]\n );\n if (!normalisedNodes.length)\n normalisedNodes.push(new Text());\n __privateSet(this, _nodes, swapdom(\n __privateGet(this, _nodes)[0].parentNode,\n __privateGet(this, _nodes),\n normalisedNodes,\n this.nextSibling\n ));\n }\n}\n_parentNode = new WeakMap();\n_nodes = new WeakMap();\nclass InnerTemplatePart extends ChildNodePart {\n constructor(parentNode, template) {\n const directive = template.getAttribute(\"directive\") || template.getAttribute(\"type\");\n let expression = template.getAttribute(\"expression\") || template.getAttribute(directive) || \"\";\n if (expression.startsWith(\"{{\"))\n expression = expression.trim().slice(2, -2).trim();\n super(parentNode);\n this.expression = expression;\n this.template = template;\n this.directive = directive;\n }\n}\nfunction swapdom(parent, a, b, end = null) {\n let i = 0, cur, next, bi, n = b.length, m = a.length;\n while (i < n && i < m && a[i] == b[i])\n i++;\n while (i < n && i < m && b[n - 1] == a[m - 1])\n end = b[--m, --n];\n if (i == m)\n while (i < n)\n parent.insertBefore(b[i++], end);\n if (i == n)\n while (i < m)\n parent.removeChild(a[i++]);\n else {\n cur = a[i];\n while (i < n) {\n bi = b[i++], next = cur ? cur.nextSibling : end;\n if (cur == bi)\n cur = next;\n else if (i < n && b[i] == next)\n parent.replaceChild(bi, cur), cur = next;\n else\n parent.insertBefore(bi, cur);\n }\n while (cur != end)\n next = cur.nextSibling, parent.removeChild(cur), cur = next;\n }\n return b;\n}\nexport {\n AttrPart,\n AttrPartList,\n ChildNodePart,\n InnerTemplatePart,\n Part,\n TemplateInstance,\n defaultProcessor,\n parse,\n tokenize\n};\n","import {\n AttrPart,\n InnerTemplatePart,\n TemplateInstance\n} from \"./template-parts.js\";\nimport { isNumericString } from \"./utils.js\";\nconst pipeModifiers = {\n string: (value) => String(value)\n};\nclass PartialTemplate {\n constructor(template) {\n this.template = template;\n this.state = void 0;\n }\n}\nconst templates = /* @__PURE__ */ new WeakMap();\nconst templateInstances = /* @__PURE__ */ new WeakMap();\nconst Directives = {\n partial: (part, state) => {\n state[part.expression] = new PartialTemplate(part.template);\n },\n if: (part, state) => {\n var _a;\n if (evaluateExpression(part.expression, state)) {\n if (templates.get(part) !== part.template) {\n templates.set(part, part.template);\n const tpl = new TemplateInstance(part.template, state, processor);\n part.replace(tpl);\n templateInstances.set(part, tpl);\n } else {\n (_a = templateInstances.get(part)) == null ? void 0 : _a.update(state);\n }\n } else {\n part.replace(\"\");\n templates.delete(part);\n templateInstances.delete(part);\n }\n }\n};\nconst DirectiveNames = Object.keys(Directives);\nconst processor = {\n processCallback(instance, parts, state) {\n var _a, _b;\n if (!state)\n return;\n for (const [expression, part] of parts) {\n if (part instanceof InnerTemplatePart) {\n if (!part.directive) {\n const directive = DirectiveNames.find(\n (n) => part.template.hasAttribute(n)\n );\n if (directive) {\n part.directive = directive;\n part.expression = part.template.getAttribute(directive);\n }\n }\n (_a = Directives[part.directive]) == null ? void 0 : _a.call(Directives, part, state);\n continue;\n }\n let value = evaluateExpression(expression, state);\n if (value instanceof PartialTemplate) {\n if (templates.get(part) !== value.template) {\n templates.set(part, value.template);\n value = new TemplateInstance(value.template, value.state, processor);\n part.value = value;\n templateInstances.set(part, value);\n } else {\n (_b = templateInstances.get(part)) == null ? void 0 : _b.update(value.state);\n }\n continue;\n }\n if (value) {\n if (part instanceof AttrPart) {\n if (part.attributeName.startsWith(\"aria-\")) {\n value = String(value);\n }\n }\n if (part instanceof AttrPart) {\n if (typeof value === \"boolean\") {\n part.booleanValue = value;\n } else if (typeof value === \"function\") {\n part.element[part.attributeName] = value;\n } else {\n part.value = value;\n }\n } else {\n part.value = value;\n templates.delete(part);\n templateInstances.delete(part);\n }\n } else {\n if (part instanceof AttrPart) {\n part.value = void 0;\n } else {\n part.value = void 0;\n templates.delete(part);\n templateInstances.delete(part);\n }\n }\n }\n }\n};\nconst operators = {\n \"!\": (a) => !a,\n \"!!\": (a) => !!a,\n \"==\": (a, b) => a == b,\n \"!=\": (a, b) => a != b,\n \">\": (a, b) => a > b,\n \">=\": (a, b) => a >= b,\n \"<\": (a, b) => a < b,\n \"<=\": (a, b) => a <= b,\n \"??\": (a, b) => a != null ? a : b,\n \"|\": (a, b) => {\n var _a;\n return (_a = pipeModifiers[b]) == null ? void 0 : _a.call(pipeModifiers, a);\n }\n};\nfunction tokenizeExpression(expr) {\n return tokenize(expr, {\n boolean: /true|false/,\n number: /-?\\d+\\.?\\d*/,\n string: /([\"'])((?:\\\\.|[^\\\\])*?)\\1/,\n operator: /[!=><][=!]?|\\?\\?|\\|/,\n ws: /\\s+/,\n param: /[$a-z_][$\\w]*/i\n }).filter(({ type }) => type !== \"ws\");\n}\nfunction evaluateExpression(expr, state = {}) {\n var _a, _b, _c, _d, _e, _f, _g;\n const tokens = tokenizeExpression(expr);\n if (tokens.length === 0 || tokens.some(({ type }) => !type)) {\n return invalidExpression(expr);\n }\n if (((_a = tokens[0]) == null ? void 0 : _a.token) === \">\") {\n const partial = state[(_b = tokens[1]) == null ? void 0 : _b.token];\n if (!partial) {\n return invalidExpression(expr);\n }\n const partialState = { ...state };\n partial.state = partialState;\n const args = tokens.slice(2);\n for (let i = 0; i < args.length; i += 3) {\n const name = (_c = args[i]) == null ? void 0 : _c.token;\n const operator = (_d = args[i + 1]) == null ? void 0 : _d.token;\n const value = (_e = args[i + 2]) == null ? void 0 : _e.token;\n if (name && operator === \"=\") {\n partialState[name] = getParamValue(value, state);\n }\n }\n return partial;\n }\n if (tokens.length === 1) {\n if (!isValidParam(tokens[0])) {\n return invalidExpression(expr);\n }\n return getParamValue(tokens[0].token, state);\n }\n if (tokens.length === 2) {\n const operator = (_f = tokens[0]) == null ? void 0 : _f.token;\n const run = operators[operator];\n if (!run || !isValidParam(tokens[1])) {\n return invalidExpression(expr);\n }\n const a = getParamValue(tokens[1].token, state);\n return run(a);\n }\n if (tokens.length === 3) {\n const operator = (_g = tokens[1]) == null ? void 0 : _g.token;\n const run = operators[operator];\n if (!run || !isValidParam(tokens[0]) || !isValidParam(tokens[2])) {\n return invalidExpression(expr);\n }\n const a = getParamValue(tokens[0].token, state);\n if (operator === \"|\") {\n return run(a, tokens[2].token);\n }\n const b = getParamValue(tokens[2].token, state);\n return run(a, b);\n }\n}\nfunction invalidExpression(expr) {\n console.warn(`Warning: invalid expression \\`${expr}\\``);\n return false;\n}\nfunction isValidParam({ type }) {\n return [\"number\", \"boolean\", \"string\", \"param\"].includes(type);\n}\nfunction getParamValue(raw, state) {\n const firstChar = raw[0];\n const lastChar = raw.slice(-1);\n if (raw === \"true\" || raw === \"false\") {\n return raw === \"true\";\n }\n if (firstChar === lastChar && [`'`, `\"`].includes(firstChar)) {\n return raw.slice(1, -1);\n }\n if (isNumericString(raw)) {\n return parseFloat(raw);\n }\n return state[raw];\n}\nfunction tokenize(str, parsers) {\n let len, match, token;\n const tokens = [];\n while (str) {\n token = null;\n len = str.length;\n for (const key in parsers) {\n match = parsers[key].exec(str);\n if (match && match.index < len) {\n token = {\n token: match[0],\n type: key,\n matches: match.slice(1)\n };\n len = match.index;\n }\n }\n if (len) {\n tokens.push({\n token: str.substr(0, len),\n type: void 0\n });\n }\n if (token) {\n tokens.push(token);\n }\n str = str.substr(len + (token ? token.token.length : 0));\n }\n return tokens;\n}\nexport {\n evaluateExpression,\n getParamValue,\n processor,\n tokenizeExpression\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _template, _prevTemplate, _prevTemplateId, _observer, _upgradeProperty, upgradeProperty_fn, _updateTemplate, updateTemplate_fn, _renderBind;\nimport { MediaStateChangeEvents } from \"./constants.js\";\nimport { globalThis, document } from \"./utils/server-safe-globals.js\";\nimport { TemplateInstance } from \"./utils/template-parts.js\";\nimport { processor } from \"./utils/template-processor.js\";\nimport { camelCase, isNumericString } from \"./utils/utils.js\";\nexport * from \"./utils/template-parts.js\";\nconst observedMediaAttributes = {\n mediatargetlivewindow: \"targetlivewindow\",\n mediastreamtype: \"streamtype\"\n};\nconst prependTemplate = document.createElement(\"template\");\nprependTemplate.innerHTML = /*html*/\n`\n <style>\n :host {\n display: inline-block;\n line-height: 0;\n }\n\n media-controller {\n width: 100%;\n height: 100%;\n }\n\n media-captions-button:not([mediasubtitleslist]),\n media-captions-menu:not([mediasubtitleslist]),\n media-captions-menu-button:not([mediasubtitleslist]),\n media-audio-track-menu[mediaaudiotrackunavailable],\n media-audio-track-menu-button[mediaaudiotrackunavailable],\n media-rendition-menu[mediarenditionunavailable],\n media-rendition-menu-button[mediarenditionunavailable],\n media-volume-range[mediavolumeunavailable],\n media-airplay-button[mediaairplayunavailable],\n media-fullscreen-button[mediafullscreenunavailable],\n media-cast-button[mediacastunavailable],\n media-pip-button[mediapipunavailable] {\n display: none;\n }\n </style>\n`;\nclass MediaThemeElement extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _upgradeProperty);\n __privateAdd(this, _updateTemplate);\n __privateAdd(this, _template, void 0);\n __privateAdd(this, _prevTemplate, void 0);\n __privateAdd(this, _prevTemplateId, void 0);\n __privateAdd(this, _observer, void 0);\n __privateAdd(this, _renderBind, void 0);\n if (this.shadowRoot) {\n this.renderRoot = this.shadowRoot;\n } else {\n this.renderRoot = this.attachShadow({ mode: \"open\" });\n this.createRenderer();\n }\n __privateSet(this, _observer, new MutationObserver((mutationList) => {\n var _a;\n if (this.mediaController && !((_a = this.mediaController) == null ? void 0 : _a.breakpointsComputed))\n return;\n if (mutationList.some((mutation) => {\n const target = mutation.target;\n if (target === this)\n return true;\n if (target.localName !== \"media-controller\")\n return false;\n if (observedMediaAttributes[mutation.attributeName])\n return true;\n if (mutation.attributeName.startsWith(\"breakpoint\"))\n return true;\n return false;\n })) {\n this.render();\n }\n }));\n __privateSet(this, _renderBind, this.render.bind(this));\n __privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, \"template\");\n }\n /** @type {HTMLElement & { breakpointsComputed?: boolean }} */\n get mediaController() {\n return this.renderRoot.querySelector(\"media-controller\");\n }\n get template() {\n var _a;\n return (_a = __privateGet(this, _template)) != null ? _a : this.constructor.template;\n }\n set template(value) {\n if (value === null) {\n this.removeAttribute(\"template\");\n return;\n }\n if (typeof value === \"string\") {\n this.setAttribute(\"template\", value);\n } else if (value instanceof HTMLTemplateElement) {\n __privateSet(this, _template, value);\n __privateSet(this, _prevTemplateId, null);\n this.createRenderer();\n }\n }\n get props() {\n var _a, _b, _c;\n const observedAttributes = [\n ...Array.from((_b = (_a = this.mediaController) == null ? void 0 : _a.attributes) != null ? _b : []).filter(\n ({ name }) => {\n return observedMediaAttributes[name] || name.startsWith(\"breakpoint\");\n }\n ),\n ...Array.from(this.attributes)\n ];\n const props = {};\n for (const attr of observedAttributes) {\n const name = (_c = observedMediaAttributes[attr.name]) != null ? _c : camelCase(attr.name);\n let { value } = attr;\n if (value != null) {\n if (isNumericString(value)) {\n value = parseFloat(value);\n }\n props[name] = value === \"\" ? true : value;\n } else {\n props[name] = false;\n }\n }\n return props;\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName === \"template\" && oldValue != newValue) {\n __privateMethod(this, _updateTemplate, updateTemplate_fn).call(this);\n }\n }\n connectedCallback() {\n this.addEventListener(\n MediaStateChangeEvents.BREAKPOINTS_COMPUTED,\n __privateGet(this, _renderBind)\n );\n __privateGet(this, _observer).observe(this, { attributes: true });\n __privateGet(this, _observer).observe(this.renderRoot, {\n attributes: true,\n subtree: true\n });\n __privateMethod(this, _updateTemplate, updateTemplate_fn).call(this);\n }\n disconnectedCallback() {\n this.removeEventListener(\n MediaStateChangeEvents.BREAKPOINTS_COMPUTED,\n __privateGet(this, _renderBind)\n );\n __privateGet(this, _observer).disconnect();\n }\n createRenderer() {\n if (this.template instanceof HTMLTemplateElement && this.template !== __privateGet(this, _prevTemplate)) {\n __privateSet(this, _prevTemplate, this.template);\n this.renderer = new TemplateInstance(\n this.template,\n this.props,\n // @ts-ignore\n this.constructor.processor\n );\n this.renderRoot.textContent = \"\";\n this.renderRoot.append(\n prependTemplate.content.cloneNode(true),\n this.renderer\n );\n }\n }\n render() {\n var _a;\n (_a = this.renderer) == null ? void 0 : _a.update(this.props);\n }\n}\n_template = new WeakMap();\n_prevTemplate = new WeakMap();\n_prevTemplateId = new WeakMap();\n_observer = new WeakMap();\n_upgradeProperty = new WeakSet();\nupgradeProperty_fn = function(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n};\n_updateTemplate = new WeakSet();\nupdateTemplate_fn = function() {\n var _a;\n const templateId = this.getAttribute(\"template\");\n if (!templateId || templateId === __privateGet(this, _prevTemplateId))\n return;\n const rootNode = this.getRootNode();\n const template = (_a = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a.call(\n rootNode,\n templateId\n );\n if (template) {\n __privateSet(this, _prevTemplateId, templateId);\n __privateSet(this, _template, template);\n this.createRenderer();\n return;\n }\n if (isValidUrl(templateId)) {\n __privateSet(this, _prevTemplateId, templateId);\n request(templateId).then((data) => {\n const template2 = document.createElement(\"template\");\n template2.innerHTML = data;\n __privateSet(this, _template, template2);\n this.createRenderer();\n }).catch(console.error);\n }\n};\n_renderBind = new WeakMap();\nMediaThemeElement.observedAttributes = [\"template\"];\nMediaThemeElement.processor = processor;\nfunction isValidUrl(url) {\n if (!/^(\\/|\\.\\/|https?:\\/\\/)/.test(url))\n return false;\n const base = /^https?:\\/\\//.test(url) ? void 0 : location.origin;\n try {\n new URL(url, base);\n } catch (e) {\n return false;\n }\n return true;\n}\nasync function request(resource) {\n const response = await fetch(resource);\n if (response.status !== 200) {\n throw new Error(\n `Failed to load resource: the server responded with a status of ${response.status}`\n );\n }\n return response.text();\n}\nif (!globalThis.customElements.get(\"media-theme\")) {\n globalThis.customElements.define(\"media-theme\", MediaThemeElement);\n}\nexport {\n MediaThemeElement\n};\n","function computePosition({\n anchor,\n floating,\n placement\n}) {\n const rects = getElementRects({ anchor, floating });\n const { x, y } = computeCoordsFromPlacement(rects, placement);\n return { x, y };\n}\nfunction getElementRects({\n anchor,\n floating\n}) {\n return {\n anchor: getRectRelativeToOffsetParent(anchor, floating.offsetParent),\n floating: {\n x: 0,\n y: 0,\n width: floating.offsetWidth,\n height: floating.offsetHeight\n }\n };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent) {\n var _a;\n const rect = element.getBoundingClientRect();\n const offsetRect = (_a = offsetParent == null ? void 0 : offsetParent.getBoundingClientRect()) != null ? _a : { x: 0, y: 0 };\n return {\n x: rect.x - offsetRect.x,\n y: rect.y - offsetRect.y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction computeCoordsFromPlacement({ anchor, floating }, placement) {\n const alignmentAxis = getSideAxis(placement) === \"x\" ? \"y\" : \"x\";\n const alignLength = alignmentAxis === \"y\" ? \"height\" : \"width\";\n const side = getSide(placement);\n const commonX = anchor.x + anchor.width / 2 - floating.width / 2;\n const commonY = anchor.y + anchor.height / 2 - floating.height / 2;\n const commonAlign = anchor[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = { x: commonX, y: anchor.y - floating.height };\n break;\n case \"bottom\":\n coords = { x: commonX, y: anchor.y + anchor.height };\n break;\n case \"right\":\n coords = { x: anchor.x + anchor.width, y: commonY };\n break;\n case \"left\":\n coords = { x: anchor.x - floating.width, y: commonY };\n break;\n default:\n coords = { x: anchor.x, y: anchor.y };\n }\n switch (placement.split(\"-\")[1]) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign;\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign;\n break;\n }\n return coords;\n}\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getSideAxis(placement) {\n return [\"top\", \"bottom\"].includes(getSide(placement)) ? \"y\" : \"x\";\n}\nexport {\n computePosition\n};\n","class InvokeEvent extends Event {\n /**\n * @param init - The event options.\n */\n constructor({ action = \"auto\", relatedTarget, ...options }) {\n super(\"invoke\", options);\n this.action = action;\n this.relatedTarget = relatedTarget;\n }\n}\nclass ToggleEvent extends Event {\n /**\n * @param init - The event options.\n */\n constructor({ newState, oldState, ...options }) {\n super(\"toggle\", options);\n this.newState = newState;\n this.oldState = oldState;\n }\n}\nexport {\n InvokeEvent,\n ToggleEvent\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _mediaController, _previouslyFocused, _invokerElement, _previousItems, _mutationObserver, _isPopover, _cssRule, _handleSlotChange, handleSlotChange_fn, _toggleHeader, toggleHeader_fn, _handleMenuItems, _updateLayoutStyle, updateLayoutStyle_fn, _handleInvoke, handleInvoke_fn, _handleOpen, handleOpen_fn, _handleClosed, handleClosed_fn, _handleBoundsResize, _handleMenuResize, _positionMenu, positionMenu_fn, _resizeMenu, resizeMenu_fn, _handleClick, handleClick_fn, _backButtonElement, backButtonElement_get, _handleToggle, handleToggle_fn, _checkSubmenuHasExpanded, checkSubmenuHasExpanded_fn, _handleFocusOut, handleFocusOut_fn, _handleKeyDown, handleKeyDown_fn, _getItem, getItem_fn, _getTabItem, getTabItem_fn, _setTabItem, setTabItem_fn, _selectItem, selectItem_fn;\nimport { MediaStateReceiverAttributes } from \"../constants.js\";\nimport { globalThis, document } from \"../utils/server-safe-globals.js\";\nimport { computePosition } from \"../utils/anchor-utils.js\";\nimport { observeResize, unobserveResize } from \"../utils/resize-observer.js\";\nimport { ToggleEvent, InvokeEvent } from \"../utils/events.js\";\nimport {\n getActiveElement,\n containsComposedNode,\n closestComposedNode,\n insertCSSRule,\n getMediaController,\n getAttributeMediaController,\n getDocumentOrShadowRoot,\n namedNodeMapToObject\n} from \"../utils/element-utils.js\";\nfunction createMenuItem({\n type,\n text,\n value,\n checked\n}) {\n const item = document.createElement(\n \"media-chrome-menu-item\"\n );\n item.type = type != null ? type : \"\";\n item.part.add(\"menu-item\");\n if (type)\n item.part.add(type);\n item.value = value;\n item.checked = checked;\n const label = document.createElement(\"span\");\n label.textContent = text;\n item.append(label);\n return item;\n}\nfunction createIndicator(el, name) {\n let customIndicator = el.querySelector(`:scope > [slot=\"${name}\"]`);\n if ((customIndicator == null ? void 0 : customIndicator.nodeName) == \"SLOT\")\n customIndicator = customIndicator.assignedElements({ flatten: true })[0];\n if (customIndicator) {\n customIndicator = customIndicator.cloneNode(true);\n return customIndicator;\n }\n const fallbackIndicator = el.shadowRoot.querySelector(\n `[name=\"${name}\"] > svg`\n );\n if (fallbackIndicator) {\n return fallbackIndicator.cloneNode(true);\n }\n return \"\";\n}\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n font: var(--media-font,\n var(--media-font-weight, normal)\n var(--media-font-size, 14px) /\n var(--media-text-content-height, var(--media-control-height, 24px))\n var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));\n color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));\n --_menu-bg: rgb(20 20 30 / .8);\n background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg))));\n border-radius: var(--media-menu-border-radius);\n border: var(--media-menu-border, none);\n display: var(--media-menu-display, inline-flex) !important;\n ${/* ^^Prevent override by Tailwind CSS causing the menu to not hide properly. */\n \"\"}\n transition: var(--media-menu-transition-in,\n visibility 0s,\n opacity .2s ease-out,\n transform .15s ease-out,\n left .2s ease-in-out,\n min-width .2s ease-in-out,\n min-height .2s ease-in-out\n ) !important;\n ${/* ^^Prevent transition override by media-container */\n \"\"}\n visibility: var(--media-menu-visibility, visible);\n opacity: var(--media-menu-opacity, 1);\n max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px));\n transform: var(--media-menu-transform-in, translateY(0) scale(1));\n flex-direction: column;\n ${/* Prevent overflowing a flex container */\n \"\"}\n min-height: 0;\n position: relative;\n bottom: var(--_menu-bottom);\n box-sizing: border-box;\n } \n\n @-moz-document url-prefix() {\n :host{\n --_menu-bg: rgb(20 20 30);\n }\n }\n\n :host([hidden]) {\n transition: var(--media-menu-transition-out,\n visibility .15s ease-in,\n opacity .15s ease-in,\n transform .15s ease-in\n ) !important;\n visibility: var(--media-menu-hidden-visibility, hidden);\n opacity: var(--media-menu-hidden-opacity, 0);\n max-height: var(--media-menu-hidden-max-height,\n var(--media-menu-max-height, var(--_menu-max-height, 300px)));\n transform: var(--media-menu-transform-out, translateY(2px) scale(.99));\n pointer-events: none;\n }\n\n :host([slot=\"submenu\"]) {\n background: none;\n width: 100%;\n min-height: 100%;\n position: absolute;\n bottom: 0;\n right: -100%;\n }\n\n #container {\n display: flex;\n flex-direction: column;\n min-height: 0;\n transition: transform .2s ease-out;\n transform: translate(0, 0);\n }\n\n #container.has-expanded {\n transition: transform .2s ease-in;\n transform: translate(-100%, 0);\n }\n\n button {\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n outline: inherit;\n display: inline-flex;\n align-items: center;\n }\n\n slot[name=\"header\"][hidden] {\n display: none;\n }\n\n slot[name=\"header\"] > *,\n slot[name=\"header\"]::slotted(*) {\n padding: .4em .7em;\n border-bottom: 1px solid rgb(255 255 255 / .25);\n cursor: var(--media-cursor, default);\n }\n\n slot[name=\"header\"] > button[part~=\"back\"],\n slot[name=\"header\"]::slotted(button[part~=\"back\"]) {\n cursor: var(--media-cursor, pointer);\n }\n\n svg[part~=\"back\"] {\n height: var(--media-menu-icon-height, var(--media-control-height, 24px));\n fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));\n display: block;\n margin-right: .5ch;\n }\n\n slot:not([name]) {\n gap: var(--media-menu-gap);\n flex-direction: var(--media-menu-flex-direction, column);\n overflow: var(--media-menu-overflow, hidden auto);\n display: flex;\n min-height: 0;\n }\n\n :host([role=\"menu\"]) slot:not([name]) {\n padding-block: .4em;\n }\n\n slot:not([name])::slotted([role=\"menu\"]) {\n background: none;\n }\n\n media-chrome-menu-item > span {\n margin-right: .5ch;\n max-width: var(--media-menu-item-max-width);\n text-overflow: ellipsis;\n overflow: hidden;\n }\n </style>\n <style id=\"layout-row\" media=\"width:0\">\n\n slot[name=\"header\"] > *,\n slot[name=\"header\"]::slotted(*) {\n padding: .4em .5em;\n }\n\n slot:not([name]) {\n gap: var(--media-menu-gap, .25em);\n flex-direction: var(--media-menu-flex-direction, row);\n padding-inline: .5em;\n }\n\n media-chrome-menu-item {\n padding: .3em .5em;\n }\n\n media-chrome-menu-item[aria-checked=\"true\"] {\n background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2));\n }\n\n ${/* In row layout hide the checked indicator completely. */\n \"\"}\n media-chrome-menu-item::part(checked-indicator) {\n display: var(--media-menu-item-checked-indicator-display, none);\n }\n </style>\n <div id=\"container\" part=\"container\">\n <slot name=\"header\" hidden>\n <button part=\"back button\" aria-label=\"Back to previous menu\">\n <slot name=\"back-icon\">\n <svg aria-hidden=\"true\" viewBox=\"0 0 20 24\" part=\"back indicator\">\n <path d=\"m11.88 17.585.742-.669-4.2-4.665 4.2-4.666-.743-.669-4.803 5.335 4.803 5.334Z\"/>\n </svg>\n </slot>\n <slot name=\"title\"></slot>\n </button>\n </slot>\n <slot></slot>\n </div>\n <slot name=\"checked-indicator\" hidden></slot>\n `\n );\n}\nconst Attributes = {\n STYLE: \"style\",\n HIDDEN: \"hidden\",\n DISABLED: \"disabled\",\n ANCHOR: \"anchor\"\n};\nclass MediaChromeMenu extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _handleSlotChange);\n __privateAdd(this, _toggleHeader);\n /**\n * Sets the layout style for the menu.\n * It can be a row or column layout. e.g. playback-rate-menu\n */\n __privateAdd(this, _updateLayoutStyle);\n __privateAdd(this, _handleInvoke);\n __privateAdd(this, _handleOpen);\n __privateAdd(this, _handleClosed);\n /**\n * Updates the popover menu position based on the anchor element.\n * @param {number} [menuWidth]\n */\n __privateAdd(this, _positionMenu);\n /**\n * Resize this menu to fit the submenu.\n * @param {boolean} animate\n */\n __privateAdd(this, _resizeMenu);\n __privateAdd(this, _handleClick);\n __privateAdd(this, _backButtonElement);\n /**\n * Handle the toggle event of submenus.\n * Closes all other open submenus when opening a submenu.\n * Resizes this menu to fit the submenu.\n *\n * @param {ToggleEvent} event\n */\n __privateAdd(this, _handleToggle);\n /**\n * Check if any submenu is expanded and update the container class accordingly.\n * When the CSS :has() selector is supported, this can be done with CSS only.\n */\n __privateAdd(this, _checkSubmenuHasExpanded);\n __privateAdd(this, _handleFocusOut);\n __privateAdd(this, _handleKeyDown);\n __privateAdd(this, _getItem);\n __privateAdd(this, _getTabItem);\n __privateAdd(this, _setTabItem);\n __privateAdd(this, _selectItem);\n __privateAdd(this, _mediaController, null);\n __privateAdd(this, _previouslyFocused, null);\n __privateAdd(this, _invokerElement, null);\n __privateAdd(this, _previousItems, /* @__PURE__ */ new Set());\n __privateAdd(this, _mutationObserver, void 0);\n __privateAdd(this, _isPopover, false);\n __privateAdd(this, _cssRule, null);\n /**\n * Fires an event when a menu item is added or removed.\n * This is needed to update the description slot of an ancestor menu item.\n */\n __privateAdd(this, _handleMenuItems, () => {\n const previousItems = __privateGet(this, _previousItems);\n const currentItems = new Set(this.items);\n for (const item of previousItems) {\n if (!currentItems.has(item)) {\n this.dispatchEvent(new CustomEvent(\"removemenuitem\", { detail: item }));\n }\n }\n for (const item of currentItems) {\n if (!previousItems.has(item)) {\n this.dispatchEvent(new CustomEvent(\"addmenuitem\", { detail: item }));\n }\n }\n __privateSet(this, _previousItems, currentItems);\n });\n __privateAdd(this, _handleBoundsResize, () => {\n __privateMethod(this, _positionMenu, positionMenu_fn).call(this);\n __privateMethod(this, _resizeMenu, resizeMenu_fn).call(this, false);\n });\n __privateAdd(this, _handleMenuResize, () => {\n __privateMethod(this, _positionMenu, positionMenu_fn).call(this);\n });\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.container = this.shadowRoot.querySelector(\"#container\");\n this.defaultSlot = this.shadowRoot.querySelector(\n \"slot:not([name])\"\n );\n __privateSet(this, _mutationObserver, new MutationObserver(__privateGet(this, _handleMenuItems)));\n }\n static get observedAttributes() {\n return [\n Attributes.DISABLED,\n Attributes.HIDDEN,\n Attributes.STYLE,\n Attributes.ANCHOR,\n MediaStateReceiverAttributes.MEDIA_CONTROLLER\n ];\n }\n static formatMenuItemText(text, _data) {\n return text;\n }\n enable() {\n this.addEventListener(\"click\", this);\n this.addEventListener(\"focusout\", this);\n this.addEventListener(\"keydown\", this);\n this.addEventListener(\"invoke\", this);\n this.addEventListener(\"toggle\", this);\n }\n disable() {\n this.removeEventListener(\"click\", this);\n this.removeEventListener(\"focusout\", this);\n this.removeEventListener(\"keyup\", this);\n this.removeEventListener(\"invoke\", this);\n this.removeEventListener(\"toggle\", this);\n }\n handleEvent(event) {\n switch (event.type) {\n case \"slotchange\":\n __privateMethod(this, _handleSlotChange, handleSlotChange_fn).call(this, event);\n break;\n case \"invoke\":\n __privateMethod(this, _handleInvoke, handleInvoke_fn).call(this, event);\n break;\n case \"click\":\n __privateMethod(this, _handleClick, handleClick_fn).call(this, event);\n break;\n case \"toggle\":\n __privateMethod(this, _handleToggle, handleToggle_fn).call(this, event);\n break;\n case \"focusout\":\n __privateMethod(this, _handleFocusOut, handleFocusOut_fn).call(this, event);\n break;\n case \"keydown\":\n __privateMethod(this, _handleKeyDown, handleKeyDown_fn).call(this, event);\n break;\n }\n }\n connectedCallback() {\n var _a, _b;\n __privateGet(this, _mutationObserver).observe(this.defaultSlot, { childList: true });\n __privateSet(this, _cssRule, insertCSSRule(this.shadowRoot, \":host\"));\n __privateMethod(this, _updateLayoutStyle, updateLayoutStyle_fn).call(this);\n if (!this.hasAttribute(\"disabled\")) {\n this.enable();\n }\n if (!this.role) {\n this.role = \"menu\";\n }\n __privateSet(this, _mediaController, getAttributeMediaController(this));\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.associateElement) == null ? void 0 : _b.call(_a, this);\n if (!this.hidden) {\n observeResize(getBoundsElement(this), __privateGet(this, _handleBoundsResize));\n observeResize(this, __privateGet(this, _handleMenuResize));\n }\n __privateMethod(this, _toggleHeader, toggleHeader_fn).call(this);\n this.shadowRoot.addEventListener(\"slotchange\", this);\n }\n disconnectedCallback() {\n var _a, _b;\n __privateGet(this, _mutationObserver).disconnect();\n unobserveResize(getBoundsElement(this), __privateGet(this, _handleBoundsResize));\n unobserveResize(this, __privateGet(this, _handleMenuResize));\n this.disable();\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n __privateSet(this, _previouslyFocused, null);\n __privateSet(this, _invokerElement, null);\n this.shadowRoot.removeEventListener(\"slotchange\", this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n var _a, _b, _c, _d;\n if (attrName === Attributes.HIDDEN && newValue !== oldValue) {\n if (!__privateGet(this, _isPopover))\n __privateSet(this, _isPopover, true);\n if (this.hidden) {\n __privateMethod(this, _handleClosed, handleClosed_fn).call(this);\n } else {\n __privateMethod(this, _handleOpen, handleOpen_fn).call(this);\n }\n this.dispatchEvent(\n new ToggleEvent({\n oldState: this.hidden ? \"open\" : \"closed\",\n newState: this.hidden ? \"closed\" : \"open\",\n bubbles: true\n })\n );\n } else if (attrName === MediaStateReceiverAttributes.MEDIA_CONTROLLER) {\n if (oldValue) {\n (_b = (_a = __privateGet(this, _mediaController)) == null ? void 0 : _a.unassociateElement) == null ? void 0 : _b.call(_a, this);\n __privateSet(this, _mediaController, null);\n }\n if (newValue && this.isConnected) {\n __privateSet(this, _mediaController, getAttributeMediaController(this));\n (_d = (_c = __privateGet(this, _mediaController)) == null ? void 0 : _c.associateElement) == null ? void 0 : _d.call(_c, this);\n }\n } else if (attrName === Attributes.DISABLED && newValue !== oldValue) {\n if (newValue == null) {\n this.enable();\n } else {\n this.disable();\n }\n } else if (attrName === Attributes.STYLE && newValue !== oldValue) {\n __privateMethod(this, _updateLayoutStyle, updateLayoutStyle_fn).call(this);\n }\n }\n formatMenuItemText(text, data) {\n return this.constructor.formatMenuItemText(\n text,\n data\n );\n }\n get anchor() {\n return this.getAttribute(\"anchor\");\n }\n set anchor(value) {\n this.setAttribute(\"anchor\", `${value}`);\n }\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n var _a;\n if (this.anchor) {\n return (_a = getDocumentOrShadowRoot(this)) == null ? void 0 : _a.querySelector(\n `#${this.anchor}`\n );\n }\n return null;\n }\n /**\n * Returns the menu items.\n */\n get items() {\n return this.defaultSlot.assignedElements({ flatten: true }).filter(isMenuItem);\n }\n get radioGroupItems() {\n return this.items.filter((item) => item.role === \"menuitemradio\");\n }\n get checkedItems() {\n return this.items.filter((item) => item.checked);\n }\n get value() {\n var _a, _b;\n return (_b = (_a = this.checkedItems[0]) == null ? void 0 : _a.value) != null ? _b : \"\";\n }\n set value(newValue) {\n const item = this.items.find((item2) => item2.value === newValue);\n if (!item)\n return;\n __privateMethod(this, _selectItem, selectItem_fn).call(this, item);\n }\n focus() {\n __privateSet(this, _previouslyFocused, getActiveElement());\n if (this.items.length) {\n __privateMethod(this, _setTabItem, setTabItem_fn).call(this, this.items[0]);\n this.items[0].focus();\n return;\n }\n const focusable = this.querySelector(\n '[autofocus], [tabindex]:not([tabindex=\"-1\"]), [role=\"menu\"]'\n );\n focusable == null ? void 0 : focusable.focus();\n }\n handleSelect(event) {\n var _a;\n const item = __privateMethod(this, _getItem, getItem_fn).call(this, event);\n if (!item)\n return;\n __privateMethod(this, _selectItem, selectItem_fn).call(this, item, item.type === \"checkbox\");\n if (__privateGet(this, _invokerElement) && !this.hidden) {\n (_a = __privateGet(this, _previouslyFocused)) == null ? void 0 : _a.focus();\n this.hidden = true;\n }\n }\n get keysUsed() {\n return [\n \"Enter\",\n \"Escape\",\n \"Tab\",\n \" \",\n \"ArrowDown\",\n \"ArrowUp\",\n \"Home\",\n \"End\"\n ];\n }\n handleMove(event) {\n var _a, _b;\n const { key } = event;\n const items = this.items;\n const currentItem = (_b = (_a = __privateMethod(this, _getItem, getItem_fn).call(this, event)) != null ? _a : __privateMethod(this, _getTabItem, getTabItem_fn).call(this)) != null ? _b : items[0];\n const currentIndex = items.indexOf(currentItem);\n let index = Math.max(0, currentIndex);\n if (key === \"ArrowDown\") {\n index++;\n } else if (key === \"ArrowUp\") {\n index--;\n } else if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = items.length - 1;\n }\n if (index < 0) {\n index = items.length - 1;\n }\n if (index > items.length - 1) {\n index = 0;\n }\n __privateMethod(this, _setTabItem, setTabItem_fn).call(this, items[index]);\n items[index].focus();\n }\n}\n_mediaController = new WeakMap();\n_previouslyFocused = new WeakMap();\n_invokerElement = new WeakMap();\n_previousItems = new WeakMap();\n_mutationObserver = new WeakMap();\n_isPopover = new WeakMap();\n_cssRule = new WeakMap();\n_handleSlotChange = new WeakSet();\nhandleSlotChange_fn = function(event) {\n const slot = event.target;\n for (const node of slot.assignedNodes({ flatten: true })) {\n if (node.nodeType === 3 && node.textContent.trim() === \"\") {\n node.remove();\n }\n }\n if ([\"header\", \"title\"].includes(slot.name)) {\n __privateMethod(this, _toggleHeader, toggleHeader_fn).call(this);\n }\n if (!slot.name) {\n __privateGet(this, _handleMenuItems).call(this);\n }\n};\n_toggleHeader = new WeakSet();\ntoggleHeader_fn = function() {\n const header = this.shadowRoot.querySelector(\n 'slot[name=\"header\"]'\n );\n const title = this.shadowRoot.querySelector(\n 'slot[name=\"title\"]'\n );\n header.hidden = title.assignedNodes().length === 0 && header.assignedNodes().length === 0;\n};\n_handleMenuItems = new WeakMap();\n_updateLayoutStyle = new WeakSet();\nupdateLayoutStyle_fn = function() {\n var _a;\n const layoutRowStyle = this.shadowRoot.querySelector(\"#layout-row\");\n const menuLayout = (_a = getComputedStyle(this).getPropertyValue(\"--media-menu-layout\")) == null ? void 0 : _a.trim();\n layoutRowStyle.setAttribute(\"media\", menuLayout === \"row\" ? \"\" : \"width:0\");\n};\n_handleInvoke = new WeakSet();\nhandleInvoke_fn = function(event) {\n __privateSet(this, _invokerElement, event.relatedTarget);\n if (!containsComposedNode(this, event.relatedTarget)) {\n this.hidden = !this.hidden;\n }\n};\n_handleOpen = new WeakSet();\nhandleOpen_fn = function() {\n var _a;\n (_a = __privateGet(this, _invokerElement)) == null ? void 0 : _a.setAttribute(\"aria-expanded\", \"true\");\n this.addEventListener(\"transitionend\", () => this.focus(), { once: true });\n observeResize(getBoundsElement(this), __privateGet(this, _handleBoundsResize));\n observeResize(this, __privateGet(this, _handleMenuResize));\n};\n_handleClosed = new WeakSet();\nhandleClosed_fn = function() {\n var _a;\n (_a = __privateGet(this, _invokerElement)) == null ? void 0 : _a.setAttribute(\"aria-expanded\", \"false\");\n unobserveResize(getBoundsElement(this), __privateGet(this, _handleBoundsResize));\n unobserveResize(this, __privateGet(this, _handleMenuResize));\n};\n_handleBoundsResize = new WeakMap();\n_handleMenuResize = new WeakMap();\n_positionMenu = new WeakSet();\npositionMenu_fn = function(menuWidth) {\n if (this.hasAttribute(\"mediacontroller\") && !this.anchor)\n return;\n if (this.hidden || !this.anchorElement)\n return;\n const { x, y } = computePosition({\n anchor: this.anchorElement,\n floating: this,\n placement: \"top-start\"\n });\n menuWidth != null ? menuWidth : menuWidth = this.offsetWidth;\n const bounds = getBoundsElement(this);\n const boundsRect = bounds.getBoundingClientRect();\n const right = boundsRect.width - x - menuWidth;\n const bottom = boundsRect.height - y - this.offsetHeight;\n const { style } = __privateGet(this, _cssRule);\n style.setProperty(\"position\", \"absolute\");\n style.setProperty(\"right\", `${Math.max(0, right)}px`);\n style.setProperty(\"--_menu-bottom\", `${bottom}px`);\n const computedStyle = getComputedStyle(this);\n const isBottomCalc = style.getPropertyValue(\"--_menu-bottom\") === computedStyle.bottom;\n const realBottom = isBottomCalc ? bottom : parseFloat(computedStyle.bottom);\n const maxHeight = boundsRect.height - realBottom - parseFloat(computedStyle.marginBottom);\n this.style.setProperty(\"--_menu-max-height\", `${maxHeight}px`);\n};\n_resizeMenu = new WeakSet();\nresizeMenu_fn = function(animate) {\n const expandedMenuItem = this.querySelector(\n '[role=\"menuitem\"][aria-haspopup][aria-expanded=\"true\"]'\n );\n const expandedSubmenu = expandedMenuItem == null ? void 0 : expandedMenuItem.querySelector(\n '[role=\"menu\"]'\n );\n const { style } = __privateGet(this, _cssRule);\n if (!animate) {\n style.setProperty(\"--media-menu-transition-in\", \"none\");\n }\n if (expandedSubmenu) {\n const height = expandedSubmenu.offsetHeight;\n const width = Math.max(\n expandedSubmenu.offsetWidth,\n expandedMenuItem.offsetWidth\n );\n this.style.setProperty(\"min-width\", `${width}px`);\n this.style.setProperty(\"min-height\", `${height}px`);\n __privateMethod(this, _positionMenu, positionMenu_fn).call(this, width);\n } else {\n this.style.removeProperty(\"min-width\");\n this.style.removeProperty(\"min-height\");\n __privateMethod(this, _positionMenu, positionMenu_fn).call(this);\n }\n style.removeProperty(\"--media-menu-transition-in\");\n};\n_handleClick = new WeakSet();\nhandleClick_fn = function(event) {\n var _a;\n event.stopPropagation();\n if (event.composedPath().includes(__privateGet(this, _backButtonElement, backButtonElement_get))) {\n (_a = __privateGet(this, _previouslyFocused)) == null ? void 0 : _a.focus();\n this.hidden = true;\n return;\n }\n const item = __privateMethod(this, _getItem, getItem_fn).call(this, event);\n if (!item || item.hasAttribute(\"disabled\"))\n return;\n __privateMethod(this, _setTabItem, setTabItem_fn).call(this, item);\n this.handleSelect(event);\n};\n_backButtonElement = new WeakSet();\nbackButtonElement_get = function() {\n var _a;\n const headerSlot = this.shadowRoot.querySelector(\n 'slot[name=\"header\"]'\n );\n return (_a = headerSlot.assignedElements({ flatten: true })) == null ? void 0 : _a.find((el) => el.matches('button[part~=\"back\"]'));\n};\n_handleToggle = new WeakSet();\nhandleToggle_fn = function(event) {\n if (event.target === this)\n return;\n __privateMethod(this, _checkSubmenuHasExpanded, checkSubmenuHasExpanded_fn).call(this);\n const menuItemsWithSubmenu = Array.from(\n this.querySelectorAll('[role=\"menuitem\"][aria-haspopup]')\n );\n for (const item of menuItemsWithSubmenu) {\n if (item.invokeTargetElement == event.target)\n continue;\n if (event.newState == \"open\" && item.getAttribute(\"aria-expanded\") == \"true\" && !item.invokeTargetElement.hidden) {\n item.invokeTargetElement.dispatchEvent(\n new InvokeEvent({ relatedTarget: item })\n );\n }\n }\n for (const item of menuItemsWithSubmenu) {\n item.setAttribute(\"aria-expanded\", `${!item.submenuElement.hidden}`);\n }\n __privateMethod(this, _resizeMenu, resizeMenu_fn).call(this, true);\n};\n_checkSubmenuHasExpanded = new WeakSet();\ncheckSubmenuHasExpanded_fn = function() {\n const selector = '[role=\"menuitem\"] > [role=\"menu\"]:not([hidden])';\n const expandedMenuItem = this.querySelector(selector);\n this.container.classList.toggle(\"has-expanded\", !!expandedMenuItem);\n};\n_handleFocusOut = new WeakSet();\nhandleFocusOut_fn = function(event) {\n var _a;\n if (!containsComposedNode(this, event.relatedTarget)) {\n if (__privateGet(this, _isPopover)) {\n (_a = __privateGet(this, _previouslyFocused)) == null ? void 0 : _a.focus();\n }\n if (__privateGet(this, _invokerElement) && __privateGet(this, _invokerElement) !== event.relatedTarget && !this.hidden) {\n this.hidden = true;\n }\n }\n};\n_handleKeyDown = new WeakSet();\nhandleKeyDown_fn = function(event) {\n var _a, _b, _c, _d, _e;\n const { key, ctrlKey, altKey, metaKey } = event;\n if (ctrlKey || altKey || metaKey) {\n return;\n }\n if (!this.keysUsed.includes(key)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n if (key === \"Tab\") {\n if (__privateGet(this, _isPopover)) {\n this.hidden = true;\n return;\n }\n if (event.shiftKey) {\n (_b = (_a = this.previousElementSibling) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);\n } else {\n (_d = (_c = this.nextElementSibling) == null ? void 0 : _c.focus) == null ? void 0 : _d.call(_c);\n }\n this.blur();\n } else if (key === \"Escape\") {\n (_e = __privateGet(this, _previouslyFocused)) == null ? void 0 : _e.focus();\n if (__privateGet(this, _isPopover)) {\n this.hidden = true;\n }\n } else if (key === \"Enter\" || key === \" \") {\n this.handleSelect(event);\n } else {\n this.handleMove(event);\n }\n};\n_getItem = new WeakSet();\ngetItem_fn = function(event) {\n return event.composedPath().find((el) => {\n return [\"menuitemradio\", \"menuitemcheckbox\"].includes(\n el.role\n );\n });\n};\n_getTabItem = new WeakSet();\ngetTabItem_fn = function() {\n return this.items.find((item) => item.tabIndex === 0);\n};\n_setTabItem = new WeakSet();\nsetTabItem_fn = function(tabItem) {\n for (const item of this.items) {\n item.tabIndex = item === tabItem ? 0 : -1;\n }\n};\n_selectItem = new WeakSet();\nselectItem_fn = function(item, toggle) {\n const oldCheckedItems = [...this.checkedItems];\n if (item.type === \"radio\") {\n this.radioGroupItems.forEach((el) => el.checked = false);\n }\n if (toggle) {\n item.checked = !item.checked;\n } else {\n item.checked = true;\n }\n if (this.checkedItems.some((opt, i) => opt != oldCheckedItems[i])) {\n this.dispatchEvent(\n new Event(\"change\", { bubbles: true, composed: true })\n );\n }\n};\nMediaChromeMenu.shadowRootOptions = { mode: \"open\" };\nMediaChromeMenu.getTemplateHTML = getTemplateHTML;\nfunction isMenuItem(element) {\n return [\"menuitem\", \"menuitemradio\", \"menuitemcheckbox\"].includes(\n element == null ? void 0 : element.role\n );\n}\nfunction getBoundsElement(host) {\n var _a;\n return (_a = host.getAttribute(\"bounds\") ? closestComposedNode(host, `#${host.getAttribute(\"bounds\")}`) : getMediaController(host) || host.parentElement) != null ? _a : host;\n}\nif (!globalThis.customElements.get(\"media-chrome-menu\")) {\n globalThis.customElements.define(\"media-chrome-menu\", MediaChromeMenu);\n}\nvar media_chrome_menu_default = MediaChromeMenu;\nexport {\n Attributes,\n MediaChromeMenu,\n createIndicator,\n createMenuItem,\n media_chrome_menu_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _dirty, _ownerElement, _handleSlotChange, handleSlotChange_fn, _submenuConnected, submenuConnected_fn, _submenuDisconnected, submenuDisconnected_fn, _handleMenuItem, _handleKeyUp, _handleKeyDown, _reset, reset_fn;\nimport { globalThis, document } from \"../utils/server-safe-globals.js\";\nimport { InvokeEvent } from \"../utils/events.js\";\nimport {\n getDocumentOrShadowRoot,\n containsComposedNode,\n namedNodeMapToObject\n} from \"../utils/element-utils.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n transition: var(--media-menu-item-transition,\n background .15s linear,\n opacity .2s ease-in-out\n );\n outline: var(--media-menu-item-outline, 0);\n outline-offset: var(--media-menu-item-outline-offset, -1px);\n cursor: var(--media-cursor, pointer);\n display: flex;\n align-items: center;\n align-self: stretch;\n justify-self: stretch;\n white-space: nowrap;\n white-space-collapse: collapse;\n text-wrap: nowrap;\n padding: .4em .8em .4em 1em;\n }\n\n :host(:focus-visible) {\n box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));\n outline: var(--media-menu-item-hover-outline, 0);\n outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px));\n }\n\n :host(:hover) {\n cursor: var(--media-cursor, pointer);\n background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5));\n outline: var(--media-menu-item-hover-outline);\n outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px));\n }\n\n :host([aria-checked=\"true\"]) {\n background: var(--media-menu-item-checked-background);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n :host([disabled]) {\n pointer-events: none;\n color: rgba(255, 255, 255, .3);\n }\n\n slot:not([name]) {\n width: 100%;\n }\n\n slot:not([name=\"submenu\"]) {\n display: inline-flex;\n align-items: center;\n transition: inherit;\n opacity: var(--media-menu-item-opacity, 1);\n }\n\n slot[name=\"description\"] {\n justify-content: end;\n }\n\n slot[name=\"description\"] > span {\n display: inline-block;\n margin-inline: 1em .2em;\n max-width: var(--media-menu-item-description-max-width, 100px);\n text-overflow: ellipsis;\n overflow: hidden;\n font-size: .8em;\n font-weight: 400;\n text-align: right;\n position: relative;\n top: .04em;\n }\n\n slot[name=\"checked-indicator\"] {\n display: none;\n }\n\n :host(:is([role=\"menuitemradio\"],[role=\"menuitemcheckbox\"])) slot[name=\"checked-indicator\"] {\n display: var(--media-menu-item-checked-indicator-display, inline-block);\n }\n\n ${/* For all slotted icons in prefix and suffix. */\n \"\"}\n svg, img, ::slotted(svg), ::slotted(img) {\n height: var(--media-menu-item-icon-height, var(--media-control-height, 24px));\n fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));\n display: block;\n }\n\n ${/* Only for indicator icons like checked-indicator or captions-indicator. */\n \"\"}\n [part~=\"indicator\"],\n ::slotted([part~=\"indicator\"]) {\n fill: var(--media-menu-item-indicator-fill,\n var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))));\n height: var(--media-menu-item-indicator-height, 1.25em);\n margin-right: .5ch;\n }\n\n [part~=\"checked-indicator\"] {\n visibility: hidden;\n }\n\n :host([aria-checked=\"true\"]) [part~=\"checked-indicator\"] {\n visibility: visible;\n }\n </style>\n <slot name=\"checked-indicator\">\n <svg aria-hidden=\"true\" viewBox=\"0 1 24 24\" part=\"checked-indicator indicator\">\n <path d=\"m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z\"/>\n </svg>\n </slot>\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"description\"></slot>\n <slot name=\"suffix\">\n ${this.getSuffixSlotInnerHTML(_attrs)}\n </slot>\n <slot name=\"submenu\"></slot>\n `\n );\n}\nfunction getSuffixSlotInnerHTML(_attrs) {\n return \"\";\n}\nconst Attributes = {\n TYPE: \"type\",\n VALUE: \"value\",\n CHECKED: \"checked\",\n DISABLED: \"disabled\"\n};\nclass MediaChromeMenuItem extends globalThis.HTMLElement {\n constructor() {\n super();\n __privateAdd(this, _handleSlotChange);\n __privateAdd(this, _submenuConnected);\n __privateAdd(this, _submenuDisconnected);\n __privateAdd(this, _reset);\n __privateAdd(this, _dirty, false);\n __privateAdd(this, _ownerElement, void 0);\n /**\n * If there is a slotted submenu the fallback content of the description slot\n * is populated with the text of the first checked item.\n */\n __privateAdd(this, _handleMenuItem, () => {\n var _a, _b;\n if (this.submenuElement.items) {\n this.setAttribute(\"submenusize\", `${this.submenuElement.items.length}`);\n }\n const descriptionSlot = this.shadowRoot.querySelector(\n 'slot[name=\"description\"]'\n );\n const checkedItem = (_a = this.submenuElement.checkedItems) == null ? void 0 : _a[0];\n const description = (_b = checkedItem == null ? void 0 : checkedItem.dataset.description) != null ? _b : checkedItem == null ? void 0 : checkedItem.text;\n const span = document.createElement(\"span\");\n span.textContent = description != null ? description : \"\";\n descriptionSlot.replaceChildren(span);\n });\n __privateAdd(this, _handleKeyUp, (event) => {\n const { key } = event;\n if (!this.keysUsed.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _handleKeyUp));\n return;\n }\n this.handleClick(event);\n });\n __privateAdd(this, _handleKeyDown, (event) => {\n const { metaKey, altKey, key } = event;\n if (metaKey || altKey || !this.keysUsed.includes(key)) {\n this.removeEventListener(\"keyup\", __privateGet(this, _handleKeyUp));\n return;\n }\n this.addEventListener(\"keyup\", __privateGet(this, _handleKeyUp), { once: true });\n });\n if (!this.shadowRoot) {\n this.attachShadow(this.constructor.shadowRootOptions);\n const attrs = namedNodeMapToObject(this.attributes);\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n }\n static get observedAttributes() {\n return [\n Attributes.TYPE,\n Attributes.DISABLED,\n Attributes.CHECKED,\n Attributes.VALUE\n ];\n }\n enable() {\n if (!this.hasAttribute(\"tabindex\")) {\n this.setAttribute(\"tabindex\", \"-1\");\n }\n if (isCheckable(this) && !this.hasAttribute(\"aria-checked\")) {\n this.setAttribute(\"aria-checked\", \"false\");\n }\n this.addEventListener(\"click\", this);\n this.addEventListener(\"keydown\", this);\n }\n disable() {\n this.removeAttribute(\"tabindex\");\n this.removeEventListener(\"click\", this);\n this.removeEventListener(\"keydown\", this);\n this.removeEventListener(\"keyup\", this);\n }\n handleEvent(event) {\n switch (event.type) {\n case \"slotchange\":\n __privateMethod(this, _handleSlotChange, handleSlotChange_fn).call(this, event);\n break;\n case \"click\":\n this.handleClick(event);\n break;\n case \"keydown\":\n __privateGet(this, _handleKeyDown).call(this, event);\n break;\n case \"keyup\":\n __privateGet(this, _handleKeyUp).call(this, event);\n break;\n }\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName === Attributes.CHECKED && isCheckable(this) && !__privateGet(this, _dirty)) {\n this.setAttribute(\"aria-checked\", newValue != null ? \"true\" : \"false\");\n } else if (attrName === Attributes.TYPE && newValue !== oldValue) {\n this.role = \"menuitem\" + newValue;\n } else if (attrName === Attributes.DISABLED && newValue !== oldValue) {\n if (newValue == null) {\n this.enable();\n } else {\n this.disable();\n }\n }\n }\n connectedCallback() {\n if (!this.hasAttribute(Attributes.DISABLED)) {\n this.enable();\n }\n this.role = \"menuitem\" + this.type;\n __privateSet(this, _ownerElement, closestMenuItemsContainer(this, this.parentNode));\n __privateMethod(this, _reset, reset_fn).call(this);\n if (this.submenuElement) {\n __privateMethod(this, _submenuConnected, submenuConnected_fn).call(this);\n }\n this.shadowRoot.addEventListener(\"slotchange\", this);\n }\n disconnectedCallback() {\n this.disable();\n __privateMethod(this, _reset, reset_fn).call(this);\n __privateSet(this, _ownerElement, null);\n this.shadowRoot.removeEventListener(\"slotchange\", this);\n }\n get invokeTarget() {\n return this.getAttribute(\"invoketarget\");\n }\n set invokeTarget(value) {\n this.setAttribute(\"invoketarget\", `${value}`);\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute\n * or the slotted submenu element.\n */\n get invokeTargetElement() {\n var _a;\n if (this.invokeTarget) {\n return (_a = getDocumentOrShadowRoot(this)) == null ? void 0 : _a.querySelector(\n `#${this.invokeTarget}`\n );\n }\n return this.submenuElement;\n }\n /**\n * Returns the slotted submenu element.\n */\n get submenuElement() {\n const submenuSlot = this.shadowRoot.querySelector(\n 'slot[name=\"submenu\"]'\n );\n return submenuSlot.assignedElements({\n flatten: true\n })[0];\n }\n get type() {\n var _a;\n return (_a = this.getAttribute(Attributes.TYPE)) != null ? _a : \"\";\n }\n set type(val) {\n this.setAttribute(Attributes.TYPE, `${val}`);\n }\n get value() {\n var _a;\n return (_a = this.getAttribute(Attributes.VALUE)) != null ? _a : this.text;\n }\n set value(val) {\n this.setAttribute(Attributes.VALUE, val);\n }\n get text() {\n var _a;\n return ((_a = this.textContent) != null ? _a : \"\").trim();\n }\n get checked() {\n if (!isCheckable(this))\n return void 0;\n return this.getAttribute(\"aria-checked\") === \"true\";\n }\n set checked(value) {\n if (!isCheckable(this))\n return;\n __privateSet(this, _dirty, true);\n this.setAttribute(\"aria-checked\", value ? \"true\" : \"false\");\n if (value) {\n this.part.add(\"checked\");\n } else {\n this.part.remove(\"checked\");\n }\n }\n handleClick(event) {\n if (isCheckable(this))\n return;\n if (this.invokeTargetElement && containsComposedNode(this, event.target)) {\n this.invokeTargetElement.dispatchEvent(\n new InvokeEvent({ relatedTarget: this })\n );\n }\n }\n get keysUsed() {\n return [\"Enter\", \" \"];\n }\n}\n_dirty = new WeakMap();\n_ownerElement = new WeakMap();\n_handleSlotChange = new WeakSet();\nhandleSlotChange_fn = function(event) {\n const slot = event.target;\n const isDefaultSlot = !(slot == null ? void 0 : slot.name);\n if (isDefaultSlot) {\n for (const node of slot.assignedNodes({ flatten: true })) {\n if (node instanceof Text && node.textContent.trim() === \"\") {\n node.remove();\n }\n }\n }\n if (slot.name === \"submenu\") {\n if (this.submenuElement) {\n __privateMethod(this, _submenuConnected, submenuConnected_fn).call(this);\n } else {\n __privateMethod(this, _submenuDisconnected, submenuDisconnected_fn).call(this);\n }\n }\n};\n_submenuConnected = new WeakSet();\nsubmenuConnected_fn = async function() {\n this.setAttribute(\"aria-haspopup\", \"menu\");\n this.setAttribute(\"aria-expanded\", `${!this.submenuElement.hidden}`);\n this.submenuElement.addEventListener(\"change\", __privateGet(this, _handleMenuItem));\n this.submenuElement.addEventListener(\"addmenuitem\", __privateGet(this, _handleMenuItem));\n this.submenuElement.addEventListener(\n \"removemenuitem\",\n __privateGet(this, _handleMenuItem)\n );\n __privateGet(this, _handleMenuItem).call(this);\n};\n_submenuDisconnected = new WeakSet();\nsubmenuDisconnected_fn = function() {\n this.removeAttribute(\"aria-haspopup\");\n this.removeAttribute(\"aria-expanded\");\n this.submenuElement.removeEventListener(\"change\", __privateGet(this, _handleMenuItem));\n this.submenuElement.removeEventListener(\n \"addmenuitem\",\n __privateGet(this, _handleMenuItem)\n );\n this.submenuElement.removeEventListener(\n \"removemenuitem\",\n __privateGet(this, _handleMenuItem)\n );\n __privateGet(this, _handleMenuItem).call(this);\n};\n_handleMenuItem = new WeakMap();\n_handleKeyUp = new WeakMap();\n_handleKeyDown = new WeakMap();\n_reset = new WeakSet();\nreset_fn = function() {\n var _a;\n const items = (_a = __privateGet(this, _ownerElement)) == null ? void 0 : _a.radioGroupItems;\n if (!items)\n return;\n let checkedItem = items.filter((item) => item.getAttribute(\"aria-checked\") === \"true\").pop();\n if (!checkedItem)\n checkedItem = items[0];\n for (const item of items) {\n item.setAttribute(\"aria-checked\", \"false\");\n }\n checkedItem == null ? void 0 : checkedItem.setAttribute(\"aria-checked\", \"true\");\n};\nMediaChromeMenuItem.shadowRootOptions = { mode: \"open\" };\nMediaChromeMenuItem.getTemplateHTML = getTemplateHTML;\nMediaChromeMenuItem.getSuffixSlotInnerHTML = getSuffixSlotInnerHTML;\nfunction isCheckable(item) {\n return item.type === \"radio\" || item.type === \"checkbox\";\n}\nfunction closestMenuItemsContainer(childNode, parentNode) {\n if (!childNode)\n return null;\n const { host } = childNode.getRootNode();\n if (!parentNode && host)\n return closestMenuItemsContainer(childNode, host);\n if (parentNode == null ? void 0 : parentNode.items)\n return parentNode;\n return closestMenuItemsContainer(parentNode, parentNode == null ? void 0 : parentNode.parentNode);\n}\nif (!globalThis.customElements.get(\"media-chrome-menu-item\")) {\n globalThis.customElements.define(\n \"media-chrome-menu-item\",\n MediaChromeMenuItem\n );\n}\nvar media_chrome_menu_item_default = MediaChromeMenuItem;\nexport {\n Attributes,\n MediaChromeMenuItem,\n media_chrome_menu_item_default as default\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaChromeMenu } from \"./media-chrome-menu.js\";\nimport { getMediaController } from \"../utils/element-utils.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n ${MediaChromeMenu.getTemplateHTML(_attrs)}\n <style>\n :host {\n --_menu-bg: rgb(20 20 30 / .8);\n background: var(--media-settings-menu-background,\n var(--media-menu-background,\n var(--media-control-background,\n var(--media-secondary-color, var(--_menu-bg)))));\n min-width: var(--media-settings-menu-min-width, 170px);\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n }\n\n @-moz-document url-prefix() {\n :host{\n --_menu-bg: rgb(20 20 30);\n }\n }\n\n :host([role=\"menu\"]) {\n ${/* Bottom fix setting menu items for animation when the height expands. */\n \"\"}\n justify-content: end;\n }\n\n slot:not([name]) {\n justify-content: var(--media-settings-menu-justify-content);\n flex-direction: var(--media-settings-menu-flex-direction, column);\n overflow: visible;\n }\n\n #container.has-expanded {\n --media-settings-menu-item-opacity: 0;\n }\n </style>\n `\n );\n}\nclass MediaSettingsMenu extends MediaChromeMenu {\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n if (this.anchor !== \"auto\")\n return super.anchorElement;\n return getMediaController(this).querySelector(\n \"media-settings-menu-button\"\n );\n }\n}\nMediaSettingsMenu.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-settings-menu\")) {\n globalThis.customElements.define(\"media-settings-menu\", MediaSettingsMenu);\n}\nvar media_settings_menu_default = MediaSettingsMenu;\nexport {\n MediaSettingsMenu,\n media_settings_menu_default as default\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaChromeMenuItem } from \"./media-chrome-menu-item.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n ${MediaChromeMenuItem.getTemplateHTML.call(this, _attrs)}\n <style>\n slot:not([name=\"submenu\"]) {\n opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));\n }\n\n :host([aria-expanded=\"true\"]:hover) {\n background: transparent;\n }\n </style>\n `\n );\n}\nfunction getSuffixSlotInnerHTML(_attrs) {\n return (\n /*html*/\n `\n <svg aria-hidden=\"true\" viewBox=\"0 0 20 24\">\n <path d=\"m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z\"/>\n </svg>\n `\n );\n}\nclass MediaSettingsMenuItem extends MediaChromeMenuItem {\n}\nMediaSettingsMenuItem.shadowRootOptions = { mode: \"open\" };\nMediaSettingsMenuItem.getTemplateHTML = getTemplateHTML;\nMediaSettingsMenuItem.getSuffixSlotInnerHTML = getSuffixSlotInnerHTML;\nif (!globalThis.customElements.get(\"media-settings-menu-item\")) {\n globalThis.customElements.define(\n \"media-settings-menu-item\",\n MediaSettingsMenuItem\n );\n}\nvar media_settings_menu_item_default = MediaSettingsMenuItem;\nexport {\n MediaSettingsMenuItem,\n media_settings_menu_item_default as default\n};\n","import { MediaChromeButton } from \"../media-chrome-button.js\";\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { InvokeEvent } from \"../utils/events.js\";\nimport { getDocumentOrShadowRoot } from \"../utils/element-utils.js\";\nclass MediaChromeMenuButton extends MediaChromeButton {\n connectedCallback() {\n super.connectedCallback();\n if (this.invokeTargetElement) {\n this.setAttribute(\"aria-haspopup\", \"menu\");\n }\n }\n get invokeTarget() {\n return this.getAttribute(\"invoketarget\");\n }\n set invokeTarget(value) {\n this.setAttribute(\"invoketarget\", `${value}`);\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n * @return {HTMLElement | null}\n */\n get invokeTargetElement() {\n var _a;\n if (this.invokeTarget) {\n return (_a = getDocumentOrShadowRoot(this)) == null ? void 0 : _a.querySelector(\n `#${this.invokeTarget}`\n );\n }\n return null;\n }\n handleClick() {\n var _a;\n (_a = this.invokeTargetElement) == null ? void 0 : _a.dispatchEvent(\n new InvokeEvent({ relatedTarget: this })\n );\n }\n}\nif (!globalThis.customElements.get(\"media-chrome-menu-button\")) {\n globalThis.customElements.define(\n \"media-chrome-menu-button\",\n MediaChromeMenuButton\n );\n}\nvar media_chrome_menu_button_default = MediaChromeMenuButton;\nexport {\n MediaChromeMenuButton,\n media_chrome_menu_button_default as default\n};\n","import { MediaChromeMenuButton } from \"./media-chrome-menu-button.js\";\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { getMediaController } from \"../utils/element-utils.js\";\nimport { t } from \"../utils/i18n.js\";\nfunction getSlotTemplateHTML() {\n return (\n /*html*/\n `\n <style>\n :host([aria-expanded=\"true\"]) slot[name=tooltip] {\n display: none;\n }\n </style>\n <slot name=\"icon\">\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"/>\n </svg>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Settings\");\n}\nclass MediaSettingsMenuButton extends MediaChromeMenuButton {\n static get observedAttributes() {\n return [...super.observedAttributes, \"target\"];\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"aria-label\", t(\"settings\"));\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n * @return {HTMLElement | null}\n */\n get invokeTargetElement() {\n if (this.invokeTarget != void 0)\n return super.invokeTargetElement;\n return getMediaController(this).querySelector(\"media-settings-menu\");\n }\n}\nMediaSettingsMenuButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaSettingsMenuButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-settings-menu-button\")) {\n globalThis.customElements.define(\n \"media-settings-menu-button\",\n MediaSettingsMenuButton\n );\n}\nvar media_settings_menu_button_default = MediaSettingsMenuButton;\nexport {\n MediaSettingsMenuButton,\n media_settings_menu_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _audioTrackList, _prevState, _render, render_fn, _onChange, onChange_fn;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"../constants.js\";\nimport { parseAudioTrackList } from \"../utils/utils.js\";\nimport {\n MediaChromeMenu,\n createMenuItem,\n createIndicator\n} from \"./media-chrome-menu.js\";\nimport {\n getStringAttr,\n setStringAttr,\n getMediaController\n} from \"../utils/element-utils.js\";\nclass MediaAudioTrackMenu extends MediaChromeMenu {\n constructor() {\n super(...arguments);\n __privateAdd(this, _render);\n __privateAdd(this, _onChange);\n __privateAdd(this, _audioTrackList, []);\n __privateAdd(this, _prevState, void 0);\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_UNAVAILABLE\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED && oldValue !== newValue) {\n this.value = newValue;\n } else if (attrName === MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST && oldValue !== newValue) {\n __privateSet(this, _audioTrackList, parseAudioTrackList(newValue != null ? newValue : \"\"));\n __privateMethod(this, _render, render_fn).call(this);\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n var _a;\n if (this.anchor !== \"auto\")\n return super.anchorElement;\n return (_a = getMediaController(this)) == null ? void 0 : _a.querySelector(\n \"media-audio-track-menu-button\"\n );\n }\n get mediaAudioTrackList() {\n return __privateGet(this, _audioTrackList);\n }\n set mediaAudioTrackList(list) {\n __privateSet(this, _audioTrackList, list);\n __privateMethod(this, _render, render_fn).call(this);\n }\n /**\n * Get enabled audio track id.\n */\n get mediaAudioTrackEnabled() {\n var _a;\n return (_a = getStringAttr(this, MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED)) != null ? _a : \"\";\n }\n set mediaAudioTrackEnabled(id) {\n setStringAttr(this, MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED, id);\n }\n}\n_audioTrackList = new WeakMap();\n_prevState = new WeakMap();\n_render = new WeakSet();\nrender_fn = function() {\n if (__privateGet(this, _prevState) === JSON.stringify(this.mediaAudioTrackList))\n return;\n __privateSet(this, _prevState, JSON.stringify(this.mediaAudioTrackList));\n const audioTrackList = this.mediaAudioTrackList;\n this.defaultSlot.textContent = \"\";\n audioTrackList.sort((a, b) => a.id.localeCompare(b.id, void 0, { numeric: true }));\n for (const audioTrack of audioTrackList) {\n const text = this.formatMenuItemText(audioTrack.label, audioTrack);\n const item = createMenuItem({\n type: \"radio\",\n text,\n value: `${audioTrack.id}`,\n checked: audioTrack.enabled\n });\n item.prepend(createIndicator(this, \"checked-indicator\"));\n this.defaultSlot.append(item);\n }\n};\n_onChange = new WeakSet();\nonChange_fn = function() {\n if (this.value == null)\n return;\n const event = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_AUDIO_TRACK_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail: this.value\n }\n );\n this.dispatchEvent(event);\n};\nif (!globalThis.customElements.get(\"media-audio-track-menu\")) {\n globalThis.customElements.define(\n \"media-audio-track-menu\",\n MediaAudioTrackMenu\n );\n}\nvar media_audio_track_menu_default = MediaAudioTrackMenu;\nexport {\n MediaAudioTrackMenu,\n media_audio_track_menu_default as default\n};\n","import { MediaUIAttributes } from \"../constants.js\";\nimport { MediaChromeMenuButton } from \"./media-chrome-menu-button.js\";\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport {\n getStringAttr,\n setStringAttr,\n getMediaController\n} from \"../utils/element-utils.js\";\nimport { t } from \"../utils/i18n.js\";\nconst audioTrackIcon = (\n /*html*/\n `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z\"/>\n <path d=\"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z\"/>\n</svg>`\n);\nfunction getSlotTemplateHTML() {\n return (\n /*html*/\n `\n <style>\n :host([aria-expanded=\"true\"]) slot[name=tooltip] {\n display: none;\n }\n </style>\n <slot name=\"icon\">${audioTrackIcon}</slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Audio\");\n}\nconst updateAriaLabel = (el) => {\n const label = t(\"Audio\");\n el.setAttribute(\"aria-label\", label);\n};\nclass MediaAudioTrackMenuButton extends MediaChromeMenuButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,\n MediaUIAttributes.MEDIA_AUDIO_TRACK_UNAVAILABLE\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n }\n attributeChangedCallback(attrName, _oldValue, newValue) {\n super.attributeChangedCallback(attrName, _oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_LANG) {\n updateAriaLabel(this);\n }\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n * @return {HTMLElement | null}\n */\n get invokeTargetElement() {\n var _a;\n if (this.invokeTarget != void 0)\n return super.invokeTargetElement;\n return (_a = getMediaController(this)) == null ? void 0 : _a.querySelector(\"media-audio-track-menu\");\n }\n /**\n * Get enabled audio track id.\n * @return {string}\n */\n get mediaAudioTrackEnabled() {\n var _a;\n return (_a = getStringAttr(this, MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED)) != null ? _a : \"\";\n }\n set mediaAudioTrackEnabled(id) {\n setStringAttr(this, MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED, id);\n }\n}\nMediaAudioTrackMenuButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaAudioTrackMenuButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-audio-track-menu-button\")) {\n globalThis.customElements.define(\n \"media-audio-track-menu-button\",\n MediaAudioTrackMenuButton\n );\n}\nvar media_audio_track_menu_button_default = MediaAudioTrackMenuButton;\nexport {\n MediaAudioTrackMenuButton,\n media_audio_track_menu_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _prevState, _render, render_fn, _onChange, onChange_fn;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"../constants.js\";\nimport { getMediaController } from \"../utils/element-utils.js\";\nimport {\n MediaChromeMenu,\n createMenuItem,\n createIndicator\n} from \"./media-chrome-menu.js\";\nimport {\n parseTextTracksStr,\n stringifyTextTrackList,\n formatTextTrackObj\n} from \"../utils/captions.js\";\nimport { t } from \"../utils/i18n.js\";\nconst ccIcon = (\n /*html*/\n `\n <svg aria-hidden=\"true\" viewBox=\"0 0 26 24\" part=\"captions-indicator indicator\">\n <path d=\"M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z\"/>\n </svg>`\n);\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n ${MediaChromeMenu.getTemplateHTML(_attrs)}\n <slot name=\"captions-indicator\" hidden>${ccIcon}</slot>\n `\n );\n}\nclass MediaCaptionsMenu extends MediaChromeMenu {\n constructor() {\n super(...arguments);\n __privateAdd(this, _render);\n __privateAdd(this, _onChange);\n __privateAdd(this, _prevState, void 0);\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_SUBTITLES_LIST,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_SUBTITLES_LIST && oldValue !== newValue) {\n __privateMethod(this, _render, render_fn).call(this);\n } else if (attrName === MediaUIAttributes.MEDIA_SUBTITLES_SHOWING && oldValue !== newValue) {\n this.value = newValue || \"\";\n __privateMethod(this, _render, render_fn).call(this);\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n if (this.anchor !== \"auto\")\n return super.anchorElement;\n return getMediaController(this).querySelector(\"media-captions-menu-button\");\n }\n /**\n * @type {Array<object>} An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesList() {\n return getSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST);\n }\n set mediaSubtitlesList(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST, list);\n }\n /**\n * An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesShowing() {\n return getSubtitlesListAttr(\n this,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n );\n }\n set mediaSubtitlesShowing(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_SHOWING, list);\n }\n}\n_prevState = new WeakMap();\n_render = new WeakSet();\nrender_fn = function() {\n var _a;\n const hasListChanged = __privateGet(this, _prevState) !== JSON.stringify(this.mediaSubtitlesList);\n const hasShowingChanged = this.value !== this.getAttribute(MediaUIAttributes.MEDIA_SUBTITLES_SHOWING);\n if (!hasListChanged && !hasShowingChanged)\n return;\n __privateSet(this, _prevState, JSON.stringify(this.mediaSubtitlesList));\n this.defaultSlot.textContent = \"\";\n const isOff = !this.value;\n const item = createMenuItem({\n type: \"radio\",\n text: this.formatMenuItemText(t(\"Off\")),\n value: \"off\",\n checked: isOff\n });\n item.prepend(createIndicator(this, \"checked-indicator\"));\n this.defaultSlot.append(item);\n const subtitlesList = this.mediaSubtitlesList;\n for (const subs of subtitlesList) {\n const item2 = createMenuItem({\n type: \"radio\",\n text: this.formatMenuItemText(subs.label, subs),\n value: formatTextTrackObj(subs),\n checked: this.value == formatTextTrackObj(subs)\n });\n item2.prepend(createIndicator(this, \"checked-indicator\"));\n const type = (_a = subs.kind) != null ? _a : \"subs\";\n if (type === \"captions\") {\n item2.append(createIndicator(this, \"captions-indicator\"));\n }\n this.defaultSlot.append(item2);\n }\n};\n_onChange = new WeakSet();\nonChange_fn = function() {\n const showingSubs = this.mediaSubtitlesShowing;\n const showingSubsStr = this.getAttribute(\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n );\n const localStateChange = this.value !== showingSubsStr;\n if ((showingSubs == null ? void 0 : showingSubs.length) && localStateChange) {\n this.dispatchEvent(\n new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_DISABLE_SUBTITLES_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail: showingSubs\n }\n )\n );\n }\n if (!this.value || !localStateChange)\n return;\n const event = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_SHOW_SUBTITLES_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail: this.value\n }\n );\n this.dispatchEvent(event);\n};\nMediaCaptionsMenu.getTemplateHTML = getTemplateHTML;\nconst getSubtitlesListAttr = (el, attrName) => {\n const attrVal = el.getAttribute(attrName);\n return attrVal ? parseTextTracksStr(attrVal) : [];\n};\nconst setSubtitlesListAttr = (el, attrName, list) => {\n if (!(list == null ? void 0 : list.length)) {\n el.removeAttribute(attrName);\n return;\n }\n const newValStr = stringifyTextTrackList(list);\n const oldVal = el.getAttribute(attrName);\n if (oldVal === newValStr)\n return;\n el.setAttribute(attrName, newValStr);\n};\nif (!globalThis.customElements.get(\"media-captions-menu\")) {\n globalThis.customElements.define(\"media-captions-menu\", MediaCaptionsMenu);\n}\nvar media_captions_menu_default = MediaCaptionsMenu;\nexport {\n MediaCaptionsMenu,\n media_captions_menu_default as default\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes } from \"../constants.js\";\nimport { MediaChromeMenuButton } from \"./media-chrome-menu-button.js\";\nimport { getMediaController } from \"../utils/element-utils.js\";\nimport {\n areSubsOn,\n parseTextTracksStr,\n stringifyTextTrackList\n} from \"../utils/captions.js\";\nimport { t } from \"../utils/i18n.js\";\nconst ccIconOn = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z\"/>\n</svg>`;\nconst ccIconOff = `<svg aria-hidden=\"true\" viewBox=\"0 0 26 24\">\n <path d=\"M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z\"/>\n</svg>`;\nfunction getSlotTemplateHTML() {\n return (\n /*html*/\n `\n <style>\n :host([data-captions-enabled=\"true\"]) slot[name=off] {\n display: none !important;\n }\n\n ${/* Double negative, but safer if display doesn't equal 'block' */\n \"\"}\n :host(:not([data-captions-enabled=\"true\"])) slot[name=on] {\n display: none !important;\n }\n\n :host([aria-expanded=\"true\"]) slot[name=tooltip] {\n display: none;\n }\n </style>\n\n <slot name=\"icon\">\n <slot name=\"on\">${ccIconOn}</slot>\n <slot name=\"off\">${ccIconOff}</slot>\n </slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Captions\");\n}\nconst updateAriaChecked = (el) => {\n el.setAttribute(\"data-captions-enabled\", areSubsOn(el).toString());\n};\nconst updateAriaLabel = (el) => {\n el.setAttribute(\"aria-label\", t(\"closed captions\"));\n};\nclass MediaCaptionsMenuButton extends MediaChromeMenuButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_SUBTITLES_LIST,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING,\n MediaUIAttributes.MEDIA_LANG\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n updateAriaLabel(this);\n updateAriaChecked(this);\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_SUBTITLES_SHOWING) {\n updateAriaChecked(this);\n } else if (attrName === MediaUIAttributes.MEDIA_LANG) {\n updateAriaLabel(this);\n }\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n * @return {HTMLElement | null}\n */\n get invokeTargetElement() {\n var _a;\n if (this.invokeTarget != void 0)\n return super.invokeTargetElement;\n return (_a = getMediaController(this)) == null ? void 0 : _a.querySelector(\"media-captions-menu\");\n }\n /**\n * An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesList() {\n return getSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST);\n }\n set mediaSubtitlesList(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_LIST, list);\n }\n /**\n * An array of TextTrack-like objects.\n * Objects must have the properties: kind, language, and label.\n */\n get mediaSubtitlesShowing() {\n return getSubtitlesListAttr(\n this,\n MediaUIAttributes.MEDIA_SUBTITLES_SHOWING\n );\n }\n set mediaSubtitlesShowing(list) {\n setSubtitlesListAttr(this, MediaUIAttributes.MEDIA_SUBTITLES_SHOWING, list);\n }\n}\nMediaCaptionsMenuButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaCaptionsMenuButton.getTooltipContentHTML = getTooltipContentHTML;\nconst getSubtitlesListAttr = (el, attrName) => {\n const attrVal = el.getAttribute(attrName);\n return attrVal ? parseTextTracksStr(attrVal) : [];\n};\nconst setSubtitlesListAttr = (el, attrName, list) => {\n if (!(list == null ? void 0 : list.length)) {\n el.removeAttribute(attrName);\n return;\n }\n const newValStr = stringifyTextTrackList(list);\n const oldVal = el.getAttribute(attrName);\n if (oldVal === newValStr)\n return;\n el.setAttribute(attrName, newValStr);\n};\nif (!globalThis.customElements.get(\"media-captions-menu-button\")) {\n globalThis.customElements.define(\n \"media-captions-menu-button\",\n MediaCaptionsMenuButton\n );\n}\nvar media_captions_menu_button_default = MediaCaptionsMenuButton;\nexport {\n MediaCaptionsMenuButton,\n media_captions_menu_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _rates, _render, render_fn, _onChange, onChange_fn;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"../constants.js\";\nimport { AttributeTokenList } from \"../utils/attribute-token-list.js\";\nimport {\n getNumericAttr,\n setNumericAttr,\n getMediaController\n} from \"../utils/element-utils.js\";\nimport {\n DEFAULT_RATES,\n DEFAULT_RATE,\n normalizePlaybackRate\n} from \"../media-playback-rate-button.js\";\nimport {\n MediaChromeMenu,\n createMenuItem,\n createIndicator\n} from \"./media-chrome-menu.js\";\nconst Attributes = {\n RATES: \"rates\"\n};\nclass MediaPlaybackRateMenu extends MediaChromeMenu {\n constructor() {\n super();\n __privateAdd(this, _render);\n __privateAdd(this, _onChange);\n __privateAdd(this, _rates, new AttributeTokenList(this, Attributes.RATES, {\n defaultValue: DEFAULT_RATES\n }));\n __privateMethod(this, _render, render_fn).call(this);\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n Attributes.RATES\n ];\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_PLAYBACK_RATE && oldValue != newValue) {\n this.value = newValue;\n __privateMethod(this, _render, render_fn).call(this);\n } else if (attrName === Attributes.RATES && oldValue != newValue) {\n __privateGet(this, _rates).value = newValue;\n __privateMethod(this, _render, render_fn).call(this);\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n if (this.anchor !== \"auto\")\n return super.anchorElement;\n return getMediaController(this).querySelector(\n \"media-playback-rate-menu-button\"\n );\n }\n /**\n * Get the playback rates for the button.\n */\n get rates() {\n return __privateGet(this, _rates);\n }\n /**\n * Set the playback rates for the button.\n * For React 19+ compatibility, accept a string of space-separated rates.\n */\n set rates(value) {\n if (!value) {\n __privateGet(this, _rates).value = \"\";\n } else if (Array.isArray(value)) {\n __privateGet(this, _rates).value = value.join(\" \");\n } else if (typeof value === \"string\") {\n __privateGet(this, _rates).value = value;\n }\n __privateMethod(this, _render, render_fn).call(this);\n }\n /**\n * The current playback rate\n */\n get mediaPlaybackRate() {\n return getNumericAttr(\n this,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n DEFAULT_RATE\n );\n }\n set mediaPlaybackRate(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PLAYBACK_RATE, value);\n }\n}\n_rates = new WeakMap();\n_render = new WeakSet();\nrender_fn = function() {\n this.defaultSlot.textContent = \"\";\n const currentRate = normalizePlaybackRate(this.mediaPlaybackRate);\n const ratesSet = new Set(\n Array.from(__privateGet(this, _rates)).map((rate) => normalizePlaybackRate(Number(rate)))\n );\n if (currentRate > 0 && !ratesSet.has(currentRate)) {\n ratesSet.add(currentRate);\n }\n const sortedRates = Array.from(ratesSet).sort((a, b) => a - b);\n for (const rate of sortedRates) {\n const item = createMenuItem({\n type: \"radio\",\n text: this.formatMenuItemText(`${rate}x`, rate),\n value: rate.toString(),\n checked: currentRate === rate\n });\n item.prepend(createIndicator(this, \"checked-indicator\"));\n this.defaultSlot.append(item);\n }\n};\n_onChange = new WeakSet();\nonChange_fn = function() {\n if (!this.value)\n return;\n const event = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail: this.value\n }\n );\n this.dispatchEvent(event);\n};\nif (!globalThis.customElements.get(\"media-playback-rate-menu\")) {\n globalThis.customElements.define(\n \"media-playback-rate-menu\",\n MediaPlaybackRateMenu\n );\n}\nvar media_playback_rate_menu_default = MediaPlaybackRateMenu;\nexport {\n Attributes,\n MediaPlaybackRateMenu,\n media_playback_rate_menu_default as default\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes } from \"../constants.js\";\nimport { MediaChromeMenuButton } from \"./media-chrome-menu-button.js\";\nimport {\n getNumericAttr,\n setNumericAttr,\n getMediaController\n} from \"../utils/element-utils.js\";\nimport { t } from \"../utils/i18n.js\";\nimport { normalizePlaybackRate } from \"../media-playback-rate-button.js\";\nconst DEFAULT_RATE = 1;\nfunction getSlotTemplateHTML(attrs) {\n const rate = attrs[\"mediaplaybackrate\"] ? normalizePlaybackRate(+attrs[\"mediaplaybackrate\"]) : DEFAULT_RATE;\n return (\n /*html*/\n `\n <style>\n :host {\n min-width: 5ch;\n padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));\n }\n\n :host([aria-expanded=\"true\"]) slot {\n display: block;\n }\n\n :host([aria-expanded=\"true\"]) slot[name=tooltip] {\n display: none;\n }\n </style>\n <slot name=\"icon\">${rate}x</slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Playback rate\");\n}\nclass MediaPlaybackRateMenuButton extends MediaChromeMenuButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE\n ];\n }\n constructor() {\n var _a;\n super();\n this.container = this.shadowRoot.querySelector('slot[name=\"icon\"]');\n this.container.innerHTML = `${normalizePlaybackRate((_a = this.mediaPlaybackRate) != null ? _a : DEFAULT_RATE)}x`;\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (attrName === MediaUIAttributes.MEDIA_PLAYBACK_RATE) {\n const newPlaybackRate = newValue ? +newValue : Number.NaN;\n const playbackRate = normalizePlaybackRate(\n !Number.isNaN(newPlaybackRate) ? newPlaybackRate : DEFAULT_RATE\n );\n this.container.innerHTML = `${playbackRate}x`;\n this.setAttribute(\n \"aria-label\",\n t(\"Playback rate {playbackRate}\", { playbackRate })\n );\n }\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n */\n get invokeTargetElement() {\n if (this.invokeTarget != void 0)\n return super.invokeTargetElement;\n return getMediaController(this).querySelector(\"media-playback-rate-menu\");\n }\n /**\n * The current playback rate\n */\n get mediaPlaybackRate() {\n return getNumericAttr(\n this,\n MediaUIAttributes.MEDIA_PLAYBACK_RATE,\n DEFAULT_RATE\n );\n }\n set mediaPlaybackRate(value) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_PLAYBACK_RATE, value);\n }\n}\nMediaPlaybackRateMenuButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaPlaybackRateMenuButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-playback-rate-menu-button\")) {\n globalThis.customElements.define(\n \"media-playback-rate-menu-button\",\n MediaPlaybackRateMenuButton\n );\n}\nvar media_playback_rate_menu_button_default = MediaPlaybackRateMenuButton;\nexport {\n DEFAULT_RATE,\n MediaPlaybackRateMenuButton,\n media_playback_rate_menu_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _renditionList, _prevState, _render, render_fn, _onChange, onChange_fn;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaUIAttributes, MediaUIEvents } from \"../constants.js\";\nimport {\n getMediaController,\n getStringAttr,\n setStringAttr,\n getNumericAttr,\n setNumericAttr\n} from \"../utils/element-utils.js\";\nimport { parseRenditionList } from \"../utils/utils.js\";\nimport {\n MediaChromeMenu,\n createMenuItem,\n createIndicator\n} from \"./media-chrome-menu.js\";\nimport { t } from \"../utils/i18n.js\";\nclass MediaRenditionMenu extends MediaChromeMenu {\n constructor() {\n super(...arguments);\n __privateAdd(this, _render);\n __privateAdd(this, _onChange);\n __privateAdd(this, _renditionList, []);\n __privateAdd(this, _prevState, {});\n }\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_RENDITION_LIST,\n MediaUIAttributes.MEDIA_RENDITION_SELECTED,\n MediaUIAttributes.MEDIA_RENDITION_UNAVAILABLE,\n MediaUIAttributes.MEDIA_HEIGHT,\n MediaUIAttributes.MEDIA_WIDTH\n ];\n }\n static formatMenuItemText(text, rendition) {\n return super.formatMenuItemText(text, rendition);\n }\n static formatRendition(rendition, { showBitrate = false } = {}) {\n const renditionText = `${Math.min(\n rendition.width,\n rendition.height\n )}p`;\n if (showBitrate && rendition.bitrate) {\n const mbps = rendition.bitrate / 1e6;\n const bitrateText = `${mbps.toFixed(mbps < 1 ? 1 : 0)} Mbps`;\n return `${renditionText} (${bitrateText})`;\n }\n return this.formatMenuItemText(renditionText, rendition);\n }\n static compareRendition(a, b) {\n var _a, _b;\n return b.height === a.height ? ((_a = b.bitrate) != null ? _a : 0) - ((_b = a.bitrate) != null ? _b : 0) : b.height - a.height;\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n if (oldValue !== newValue) {\n switch (attrName) {\n case MediaUIAttributes.MEDIA_RENDITION_SELECTED:\n this.value = newValue != null ? newValue : \"auto\";\n __privateMethod(this, _render, render_fn).call(this);\n break;\n case MediaUIAttributes.MEDIA_RENDITION_LIST:\n __privateSet(this, _renditionList, parseRenditionList(newValue));\n __privateMethod(this, _render, render_fn).call(this);\n break;\n case MediaUIAttributes.MEDIA_HEIGHT:\n case MediaUIAttributes.MEDIA_WIDTH:\n __privateMethod(this, _render, render_fn).call(this);\n break;\n }\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"change\", __privateMethod(this, _onChange, onChange_fn));\n }\n /**\n * Returns the anchor element when it is a floating menu.\n */\n get anchorElement() {\n if (this.anchor !== \"auto\")\n return super.anchorElement;\n return getMediaController(this).querySelector(\n \"media-rendition-menu-button\"\n );\n }\n get mediaRenditionList() {\n return __privateGet(this, _renditionList);\n }\n set mediaRenditionList(list) {\n __privateSet(this, _renditionList, list);\n __privateMethod(this, _render, render_fn).call(this);\n }\n /**\n * Get selected rendition id.\n */\n get mediaRenditionSelected() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_RENDITION_SELECTED);\n }\n set mediaRenditionSelected(id) {\n setStringAttr(this, MediaUIAttributes.MEDIA_RENDITION_SELECTED, id);\n }\n get mediaHeight() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_HEIGHT);\n }\n set mediaHeight(height) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_HEIGHT, height);\n }\n get mediaWidth() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_WIDTH);\n }\n set mediaWidth(width) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_WIDTH, width);\n }\n compareRendition(a, b) {\n const ctor = this.constructor;\n return ctor.compareRendition(a, b);\n }\n formatMenuItemText(text, rendition) {\n const ctor = this.constructor;\n return ctor.formatMenuItemText(text, rendition);\n }\n formatRendition(rendition, options) {\n const ctor = this.constructor;\n return ctor.formatRendition(rendition, options);\n }\n showRenditionBitrate(rendition) {\n return this.mediaRenditionList.some(\n (r) => r !== rendition && r.height === rendition.height && r.bitrate !== rendition.bitrate\n );\n }\n}\n_renditionList = new WeakMap();\n_prevState = new WeakMap();\n_render = new WeakSet();\nrender_fn = function() {\n const isAuto = !this.mediaRenditionSelected;\n if (__privateGet(this, _prevState).mediaRenditionList === JSON.stringify(this.mediaRenditionList) && __privateGet(this, _prevState).mediaHeight === this.mediaHeight && __privateGet(this, _prevState).mediaWidth === this.mediaWidth && __privateGet(this, _prevState).isAuto === isAuto)\n return;\n __privateGet(this, _prevState).mediaRenditionList = JSON.stringify(\n this.mediaRenditionList\n );\n __privateGet(this, _prevState).mediaHeight = this.mediaHeight;\n __privateGet(this, _prevState).mediaWidth = this.mediaWidth;\n __privateGet(this, _prevState).isAuto = isAuto;\n const renditionList = this.mediaRenditionList.sort(\n this.compareRendition.bind(this)\n );\n const selectedRendition = renditionList.find(\n (rendition) => rendition.id === this.mediaRenditionSelected\n );\n for (const rendition of renditionList) {\n rendition.selected = rendition === selectedRendition;\n }\n this.defaultSlot.textContent = \"\";\n for (const rendition of renditionList) {\n const text = this.formatRendition(rendition, {\n showBitrate: this.showRenditionBitrate(rendition)\n });\n const item2 = createMenuItem({\n type: \"radio\",\n text,\n value: `${rendition.id}`,\n checked: rendition.selected && !isAuto\n });\n item2.prepend(createIndicator(this, \"checked-indicator\"));\n this.defaultSlot.append(item2);\n }\n const showSelectedBitrate = selectedRendition && this.showRenditionBitrate(selectedRendition);\n let autoText = void 0;\n if (isAuto) {\n if (selectedRendition) {\n autoText = this.formatMenuItemText(\n `${t(\"Auto\")} \\u2022 ${this.formatRendition(selectedRendition, {\n showBitrate: showSelectedBitrate\n })}`,\n selectedRendition\n );\n } else if (this.mediaHeight > 0 && this.mediaWidth > 0) {\n autoText = this.formatMenuItemText(`${t(\"Auto\")} (${Math.min(this.mediaWidth, this.mediaHeight)}p)`);\n }\n }\n if (!autoText) {\n autoText = this.formatMenuItemText(t(\"Auto\"));\n }\n const item = createMenuItem({\n type: \"radio\",\n text: autoText,\n value: \"auto\",\n checked: isAuto\n });\n item.dataset.description = autoText;\n item.prepend(createIndicator(this, \"checked-indicator\"));\n this.defaultSlot.append(item);\n};\n_onChange = new WeakSet();\nonChange_fn = function() {\n if (this.value == null)\n return;\n const event = new globalThis.CustomEvent(\n MediaUIEvents.MEDIA_RENDITION_REQUEST,\n {\n composed: true,\n bubbles: true,\n detail: this.value\n }\n );\n this.dispatchEvent(event);\n};\nif (!globalThis.customElements.get(\"media-rendition-menu\")) {\n globalThis.customElements.define(\"media-rendition-menu\", MediaRenditionMenu);\n}\nvar media_rendition_menu_default = MediaRenditionMenu;\nexport {\n MediaRenditionMenu,\n media_rendition_menu_default as default\n};\n","import { MediaUIAttributes } from \"../constants.js\";\nimport { MediaChromeMenuButton } from \"./media-chrome-menu-button.js\";\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport {\n getStringAttr,\n setStringAttr,\n getMediaController,\n getNumericAttr,\n setNumericAttr\n} from \"../utils/element-utils.js\";\nimport { t } from \"../utils/i18n.js\";\nconst renditionIcon = (\n /*html*/\n `<svg aria-hidden=\"true\" viewBox=\"0 0 24 24\">\n <path d=\"M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z\" />\n</svg>`\n);\nfunction getSlotTemplateHTML() {\n return (\n /*html*/\n `\n <style>\n :host([aria-expanded=\"true\"]) slot[name=tooltip] {\n display: none;\n }\n </style>\n <slot name=\"icon\">${renditionIcon}</slot>\n `\n );\n}\nfunction getTooltipContentHTML() {\n return t(\"Quality\");\n}\nclass MediaRenditionMenuButton extends MediaChromeMenuButton {\n static get observedAttributes() {\n return [\n ...super.observedAttributes,\n MediaUIAttributes.MEDIA_RENDITION_SELECTED,\n MediaUIAttributes.MEDIA_RENDITION_UNAVAILABLE,\n MediaUIAttributes.MEDIA_HEIGHT\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"aria-label\", t(\"quality\"));\n }\n /**\n * Returns the element with the id specified by the `invoketarget` attribute.\n */\n get invokeTargetElement() {\n if (this.invokeTarget != void 0)\n return super.invokeTargetElement;\n return getMediaController(this).querySelector(\"media-rendition-menu\");\n }\n /**\n * Get selected rendition id.\n */\n get mediaRenditionSelected() {\n return getStringAttr(this, MediaUIAttributes.MEDIA_RENDITION_SELECTED);\n }\n set mediaRenditionSelected(id) {\n setStringAttr(this, MediaUIAttributes.MEDIA_RENDITION_SELECTED, id);\n }\n get mediaHeight() {\n return getNumericAttr(this, MediaUIAttributes.MEDIA_HEIGHT);\n }\n set mediaHeight(height) {\n setNumericAttr(this, MediaUIAttributes.MEDIA_HEIGHT, height);\n }\n}\nMediaRenditionMenuButton.getSlotTemplateHTML = getSlotTemplateHTML;\nMediaRenditionMenuButton.getTooltipContentHTML = getTooltipContentHTML;\nif (!globalThis.customElements.get(\"media-rendition-menu-button\")) {\n globalThis.customElements.define(\n \"media-rendition-menu-button\",\n MediaRenditionMenuButton\n );\n}\nvar media_rendition_menu_button_default = MediaRenditionMenuButton;\nexport {\n MediaRenditionMenuButton,\n media_rendition_menu_button_default as default\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\nvar _isContextMenuOpen, _updateVisibility, updateVisibility_fn, _closeContextMenu, closeContextMenu_fn, _closeOtherContextMenus, closeOtherContextMenus_fn, _isVideoContainer, isVideoContainer_fn, _onControllerContextMenu, _onContextMenu, onContextMenu_fn, _onDocumentClick, _onKeyDown, _onMenuClick;\nimport { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaChromeMenu } from \"./media-chrome-menu.js\";\nimport { getMediaController } from \"../utils/element-utils.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n ${MediaChromeMenu.getTemplateHTML(_attrs)}\n <style>\n :host {\n --_menu-bg: rgb(20 20 30 / .8);\n background: var(--media-settings-menu-background,\n var(--media-menu-background,\n var(--media-control-background,\n var(--media-secondary-color, var(--_menu-bg)))));\n min-width: var(--media-settings-menu-min-width, 170px);\n border-radius: 2px;\n overflow: hidden;\n }\n </style>\n `\n );\n}\nclass MediaContextMenu extends MediaChromeMenu {\n constructor() {\n super();\n __privateAdd(this, _updateVisibility);\n __privateAdd(this, _closeContextMenu);\n __privateAdd(this, _closeOtherContextMenus);\n __privateAdd(this, _isVideoContainer);\n __privateAdd(this, _onContextMenu);\n __privateAdd(this, _isContextMenuOpen, false);\n __privateAdd(this, _onControllerContextMenu, (event) => {\n const target = event.target;\n const isVideoElement = (target == null ? void 0 : target.nodeName) === \"VIDEO\";\n const isVideoContainer = __privateMethod(this, _isVideoContainer, isVideoContainer_fn).call(this, target);\n if (isVideoElement || isVideoContainer) {\n if (!__privateGet(this, _isContextMenuOpen)) {\n __privateMethod(this, _onContextMenu, onContextMenu_fn).call(this, event);\n } else {\n __privateMethod(this, _closeContextMenu, closeContextMenu_fn).call(this);\n }\n }\n });\n __privateAdd(this, _onDocumentClick, (event) => {\n const target = event.target;\n const isInsideMenu = this.contains(target);\n const isRightClick = event.button === 2;\n const isVideo = (target == null ? void 0 : target.nodeName) === \"VIDEO\";\n const isVideoContainer = __privateMethod(this, _isVideoContainer, isVideoContainer_fn).call(this, target);\n if (isInsideMenu) {\n return;\n }\n const isRightClickOnVideo = isRightClick && (isVideo || isVideoContainer);\n if (isRightClickOnVideo) {\n return;\n }\n __privateMethod(this, _closeContextMenu, closeContextMenu_fn).call(this);\n });\n __privateAdd(this, _onKeyDown, (event) => {\n if (event.key === \"Escape\") {\n __privateMethod(this, _closeContextMenu, closeContextMenu_fn).call(this);\n }\n });\n __privateAdd(this, _onMenuClick, (event) => {\n var _a, _b;\n const target = event.target;\n if ((_a = target.matches) == null ? void 0 : _a.call(target, 'button[invoke=\"copy\"]')) {\n const input = (_b = target.closest(\"media-context-menu-item\")) == null ? void 0 : _b.querySelector('input[slot=\"copy\"]');\n input && navigator.clipboard.writeText(input.value);\n }\n __privateMethod(this, _closeContextMenu, closeContextMenu_fn).call(this);\n });\n this.setAttribute(\"noautohide\", \"\");\n __privateMethod(this, _updateVisibility, updateVisibility_fn).call(this);\n }\n connectedCallback() {\n super.connectedCallback();\n getMediaController(this).addEventListener(\n \"contextmenu\",\n __privateGet(this, _onControllerContextMenu)\n );\n this.addEventListener(\"click\", __privateGet(this, _onMenuClick));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n getMediaController(this).removeEventListener(\n \"contextmenu\",\n __privateGet(this, _onControllerContextMenu)\n );\n this.removeEventListener(\"click\", __privateGet(this, _onMenuClick));\n document.removeEventListener(\"mousedown\", __privateGet(this, _onDocumentClick));\n document.removeEventListener(\"keydown\", __privateGet(this, _onKeyDown));\n }\n}\n_isContextMenuOpen = new WeakMap();\n_updateVisibility = new WeakSet();\nupdateVisibility_fn = function() {\n this.hidden = !__privateGet(this, _isContextMenuOpen);\n};\n_closeContextMenu = new WeakSet();\ncloseContextMenu_fn = function() {\n __privateSet(this, _isContextMenuOpen, false);\n __privateMethod(this, _updateVisibility, updateVisibility_fn).call(this);\n};\n_closeOtherContextMenus = new WeakSet();\ncloseOtherContextMenus_fn = function() {\n const allContextMenus = document.querySelectorAll(\"media-context-menu\");\n allContextMenus.forEach((menu) => {\n var _a;\n if (menu !== this) {\n __privateMethod(_a = menu, _closeContextMenu, closeContextMenu_fn).call(_a);\n }\n });\n};\n_isVideoContainer = new WeakSet();\nisVideoContainer_fn = function(element) {\n if (!element)\n return false;\n if (element.hasAttribute(\"slot\") && element.getAttribute(\"slot\") === \"media\") {\n return true;\n }\n if (element.nodeName.includes(\"-\") && element.tagName.includes(\"-\")) {\n const hasVideoAttributes = element.hasAttribute(\"src\") || element.hasAttribute(\"poster\") || element.hasAttribute(\"preload\") || element.hasAttribute(\"playsinline\");\n return hasVideoAttributes;\n }\n return false;\n};\n_onControllerContextMenu = new WeakMap();\n_onContextMenu = new WeakSet();\nonContextMenu_fn = function(event) {\n event.preventDefault();\n __privateMethod(this, _closeOtherContextMenus, closeOtherContextMenus_fn).call(this);\n __privateSet(this, _isContextMenuOpen, true);\n this.style.position = \"fixed\";\n this.style.left = `${event.clientX}px`;\n this.style.top = `${event.clientY}px`;\n __privateMethod(this, _updateVisibility, updateVisibility_fn).call(this);\n document.addEventListener(\"mousedown\", __privateGet(this, _onDocumentClick), {\n once: true\n });\n document.addEventListener(\"keydown\", __privateGet(this, _onKeyDown), { once: true });\n};\n_onDocumentClick = new WeakMap();\n_onKeyDown = new WeakMap();\n_onMenuClick = new WeakMap();\nMediaContextMenu.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-context-menu\")) {\n globalThis.customElements.define(\"media-context-menu\", MediaContextMenu);\n}\nvar media_context_menu_default = MediaContextMenu;\nexport {\n MediaContextMenu,\n media_context_menu_default as default\n};\n","import { globalThis } from \"../utils/server-safe-globals.js\";\nimport { MediaChromeMenuItem } from \"./media-chrome-menu-item.js\";\nfunction getTemplateHTML(_attrs) {\n return (\n /*html*/\n `\n ${MediaChromeMenuItem.getTemplateHTML.call(this, _attrs)}\n <style>\n ::slotted(*) {\n color: var(--media-text-color, white);\n text-decoration: none;\n border: none;\n background: none;\n cursor: pointer;\n padding: 0;\n min-height: var(--media-control-height, 24px);\n }\n </style>\n `\n );\n}\nclass MediaContextMenuItem extends MediaChromeMenuItem {\n}\nMediaContextMenuItem.shadowRootOptions = { mode: \"open\" };\nMediaContextMenuItem.getTemplateHTML = getTemplateHTML;\nif (!globalThis.customElements.get(\"media-context-menu-item\")) {\n globalThis.customElements.define(\n \"media-context-menu-item\",\n MediaContextMenuItem\n );\n}\nvar media_context_menu_item_default = MediaContextMenuItem;\nexport {\n MediaContextMenuItem,\n media_context_menu_item_default as default\n};\n","var lt=t=>{throw TypeError(t)};var Ae=(t,a,e)=>a.has(t)||lt(\"Cannot \"+e);var l=(t,a,e)=>(Ae(t,a,\"read from private field\"),e?e.call(t):a.get(t)),h=(t,a,e)=>a.has(t)?lt(\"Cannot add the same private member more than once\"):a instanceof WeakSet?a.add(t):a.set(t,e),y=(t,a,e,i)=>(Ae(t,a,\"write to private field\"),i?i.call(t,e):a.set(t,e),e),p=(t,a,e)=>(Ae(t,a,\"access private method\"),e);var Y=class{addEventListener(){}removeEventListener(){}dispatchEvent(a){return!0}};if(typeof DocumentFragment==\"undefined\"){class t extends Y{}globalThis.DocumentFragment=t}var Q=class extends Y{},Ce=class extends Y{},Gt={get(t){},define(t,a,e){},getName(t){return null},upgrade(t){},whenDefined(t){return Promise.resolve(Q)}},J,ke=class{constructor(a,e={}){h(this,J);y(this,J,e==null?void 0:e.detail)}get detail(){return l(this,J)}initCustomEvent(){}};J=new WeakMap;function jt(t,a){return new Q}var ut={document:{createElement:jt},DocumentFragment,customElements:Gt,CustomEvent:ke,EventTarget:Y,HTMLElement:Q,HTMLVideoElement:Ce},mt=typeof window==\"undefined\"||typeof globalThis.customElements==\"undefined\",_=mt?ut:globalThis,D=mt?ut.document:globalThis.document;import{MediaController as _a,MediaErrorDialog as Ht}from\"media-chrome\";import{Attributes as we}from\"media-chrome/dist/media-container.js\";import{MediaStateChangeEvents as Pt,MediaUIAttributes as Ee,MediaUIEvents as wt}from\"media-chrome/dist/constants.js\";import\"media-chrome/dist/experimental/index.js\";import{MediaError as ve,Attributes as n}from\"@mux/mux-video/base\";import{StreamTypes as L,PlaybackTypes as Te,addTextTrack as Ra,removeTextTrack as xa,CmcdTypeValues as Dt,i18n as V,parseJwt as De,MuxJWTAud as Ue,generatePlayerInitTime as Oa}from\"@mux/playback-core\";import{i18n as Jt}from\"@mux/playback-core\";import{StreamTypes as xe,parseJwt as pt}from\"@mux/playback-core\";function ct(t){let a=\"\";return Object.entries(t).forEach(([e,i])=>{i!=null&&(a+=`${me(e)}: ${i}; `)}),a?a.trim():void 0}function me(t){return t.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase()}function ce(t){return t.replace(/[-_]([a-z])/g,(a,e)=>e.toUpperCase())}function f(t){if(t==null)return;let a=+t;return Number.isNaN(a)?void 0:a}function _e(t){let a=zt(t).toString();return a?\"?\"+a:\"\"}function zt(t){let a={};for(let e in t)t[e]!=null&&(a[e]=t[e]);return new URLSearchParams(a)}var Re=(t,a)=>!t||!a?!1:t.contains(a)?!0:Re(t,a.getRootNode().host);var bt=\"mux.com\",Xt=()=>{try{return\"3.13.0\"}catch{}return\"UNKNOWN\"},qt=Xt(),be=()=>qt,ht=(t,{token:a,customDomain:e=bt,thumbnailTime:i,programTime:r}={})=>{var u;let s=a==null?i:void 0,{aud:d}=(u=pt(a))!=null?u:{};if(!(a&&d!==\"t\"))return`https://image.${e}/${t}/thumbnail.webp${_e({token:a,time:s,program_time:r})}`},gt=(t,{token:a,customDomain:e=bt,programStartTime:i,programEndTime:r}={})=>{var d;let{aud:s}=(d=pt(a))!=null?d:{};if(!(a&&s!==\"s\"))return`https://image.${e}/${t}/storyboard.vtt${_e({token:a,format:\"webp\",program_start_time:i,program_end_time:r})}`},ee=t=>{if(t){if([xe.LIVE,xe.ON_DEMAND].includes(t))return t;if(t!=null&&t.includes(\"live\"))return xe.LIVE}};var Qt={crossorigin:\"crossOrigin\",playsinline:\"playsInline\"};function ft(t){var a;return(a=Qt[t])!=null?a:ce(t)}var U,B,C,pe=class{constructor(a,e){h(this,U);h(this,B);h(this,C,[]);y(this,U,a),y(this,B,e)}[Symbol.iterator](){return l(this,C).values()}get length(){return l(this,C).length}get value(){var a;return(a=l(this,C).join(\" \"))!=null?a:\"\"}set value(a){var e;a!==this.value&&(y(this,C,[]),this.add(...(e=a==null?void 0:a.split(\" \"))!=null?e:[]))}toString(){return this.value}item(a){return l(this,C)[a]}values(){return l(this,C).values()}keys(){return l(this,C).keys()}forEach(a){l(this,C).forEach(a)}add(...a){var e,i;a.forEach(r=>{this.contains(r)||l(this,C).push(r)}),!(this.value===\"\"&&!((e=l(this,U))!=null&&e.hasAttribute(`${l(this,B)}`)))&&((i=l(this,U))==null||i.setAttribute(`${l(this,B)}`,`${this.value}`))}remove(...a){var e;a.forEach(i=>{l(this,C).splice(l(this,C).indexOf(i),1)}),(e=l(this,U))==null||e.setAttribute(`${l(this,B)}`,`${this.value}`)}contains(a){return l(this,C).includes(a)}toggle(a,e){return typeof e!=\"undefined\"?e?(this.add(a),!0):(this.remove(a),!1):this.contains(a)?(this.remove(a),!1):(this.add(a),!0)}replace(a,e){this.remove(a),this.add(e)}};U=new WeakMap,B=new WeakMap,C=new WeakMap;var yt=`[mux-player ${be()}]`;function O(...t){console.warn(yt,...t)}function k(...t){console.error(yt,...t)}function Oe(t){var e;let a=(e=t.message)!=null?e:\"\";t.context&&(a+=` ${t.context}`),t.file&&(a+=` ${Jt(\"Read more: \")}\nhttps://github.com/muxinc/elements/blob/main/errors/${t.file}`),O(a)}var E={AUTOPLAY:\"autoplay\",CROSSORIGIN:\"crossorigin\",LOOP:\"loop\",MUTED:\"muted\",PLAYSINLINE:\"playsinline\",PRELOAD:\"preload\"},P={VOLUME:\"volume\",PLAYBACKRATE:\"playbackrate\",MUTED:\"muted\"},Xa={...E,...P},Tt=Object.freeze({length:0,start(t){let a=t>>>0;if(a>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${a}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(t){let a=t>>>0;if(a>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${a}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),ea=Object.values(E).filter(t=>E.PLAYSINLINE!==t),ta=Object.values(P),aa=[...ea,...ta],Le=class extends _.HTMLElement{static get observedAttributes(){return aa}constructor(){super()}attributeChangedCallback(a,e,i){var r,s;switch(a){case P.MUTED:{this.media&&(this.media.muted=i!=null,this.media.defaultMuted=i!=null);return}case P.VOLUME:{let d=(r=f(i))!=null?r:1;this.media&&(this.media.volume=d);return}case P.PLAYBACKRATE:{let d=(s=f(i))!=null?s:1;this.media&&(this.media.playbackRate=d,this.media.defaultPlaybackRate=d);return}}}play(){var a,e;return(e=(a=this.media)==null?void 0:a.play())!=null?e:Promise.reject()}pause(){var a;(a=this.media)==null||a.pause()}load(){var a;(a=this.media)==null||a.load()}get media(){var a;return(a=this.shadowRoot)==null?void 0:a.querySelector(\"mux-video\")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var a,e;return(e=(a=this.media)==null?void 0:a.paused)!=null?e:!0}get duration(){var a,e;return(e=(a=this.media)==null?void 0:a.duration)!=null?e:NaN}get ended(){var a,e;return(e=(a=this.media)==null?void 0:a.ended)!=null?e:!1}get buffered(){var a,e;return(e=(a=this.media)==null?void 0:a.buffered)!=null?e:Tt}get seekable(){var a,e;return(e=(a=this.media)==null?void 0:a.seekable)!=null?e:Tt}get readyState(){var a,e;return(e=(a=this.media)==null?void 0:a.readyState)!=null?e:0}get videoWidth(){var a,e;return(e=(a=this.media)==null?void 0:a.videoWidth)!=null?e:0}get videoHeight(){var a,e;return(e=(a=this.media)==null?void 0:a.videoHeight)!=null?e:0}get currentSrc(){var a,e;return(e=(a=this.media)==null?void 0:a.currentSrc)!=null?e:\"\"}get currentTime(){var a,e;return(e=(a=this.media)==null?void 0:a.currentTime)!=null?e:0}set currentTime(a){this.media&&(this.media.currentTime=Number(a))}get volume(){var a,e;return(e=(a=this.media)==null?void 0:a.volume)!=null?e:1}set volume(a){this.media&&(this.media.volume=Number(a))}get playbackRate(){var a,e;return(e=(a=this.media)==null?void 0:a.playbackRate)!=null?e:1}set playbackRate(a){this.media&&(this.media.playbackRate=Number(a))}get defaultPlaybackRate(){var a;return(a=f(this.getAttribute(P.PLAYBACKRATE)))!=null?a:1}set defaultPlaybackRate(a){a!=null?this.setAttribute(P.PLAYBACKRATE,`${a}`):this.removeAttribute(P.PLAYBACKRATE)}get crossOrigin(){return te(this,E.CROSSORIGIN)}set crossOrigin(a){this.setAttribute(E.CROSSORIGIN,`${a}`)}get autoplay(){return te(this,E.AUTOPLAY)!=null}set autoplay(a){a?this.setAttribute(E.AUTOPLAY,typeof a==\"string\"?a:\"\"):this.removeAttribute(E.AUTOPLAY)}get loop(){return te(this,E.LOOP)!=null}set loop(a){a?this.setAttribute(E.LOOP,\"\"):this.removeAttribute(E.LOOP)}get muted(){var a,e;return(e=(a=this.media)==null?void 0:a.muted)!=null?e:!1}set muted(a){this.media&&(this.media.muted=!!a)}get defaultMuted(){return te(this,E.MUTED)!=null}set defaultMuted(a){a?this.setAttribute(E.MUTED,\"\"):this.removeAttribute(E.MUTED)}get playsInline(){return te(this,E.PLAYSINLINE)!=null}set playsInline(a){k(\"playsInline is set to true by default and is not currently supported as a setter.\")}get preload(){return this.media?this.media.preload:this.getAttribute(\"preload\")}set preload(a){[\"\",\"none\",\"metadata\",\"auto\"].includes(a)?this.setAttribute(E.PRELOAD,a):this.removeAttribute(E.PRELOAD)}};function te(t,a){return t.media?t.media.getAttribute(a):t.getAttribute(a)}var Me=Le;import\"media-chrome/dist/media-theme-element.js\";var vt=`:host {\n --media-control-display: var(--controls);\n --media-loading-indicator-display: var(--loading-indicator);\n --media-dialog-display: var(--dialog);\n --media-play-button-display: var(--play-button);\n --media-live-button-display: var(--live-button);\n --media-seek-backward-button-display: var(--seek-backward-button);\n --media-seek-forward-button-display: var(--seek-forward-button);\n --media-mute-button-display: var(--mute-button);\n --media-captions-button-display: var(--captions-button);\n --media-captions-menu-button-display: var(--captions-menu-button, var(--media-captions-button-display));\n --media-rendition-menu-button-display: var(--rendition-menu-button);\n --media-audio-track-menu-button-display: var(--audio-track-menu-button);\n --media-airplay-button-display: var(--airplay-button);\n --media-pip-button-display: var(--pip-button);\n --media-fullscreen-button-display: var(--fullscreen-button);\n --media-cast-button-display: var(--cast-button, var(--_cast-button-drm-display));\n --media-playback-rate-button-display: var(--playback-rate-button);\n --media-playback-rate-menu-button-display: var(--playback-rate-menu-button);\n --media-volume-range-display: var(--volume-range);\n --media-time-range-display: var(--time-range);\n --media-time-display-display: var(--time-display);\n --media-duration-display-display: var(--duration-display);\n --media-title-display-display: var(--title-display);\n\n display: inline-block;\n line-height: 0;\n width: 100%;\n}\n\na {\n color: #fff;\n font-size: 0.9em;\n text-decoration: underline;\n}\n\nmedia-theme {\n display: inline-block;\n line-height: 0;\n width: 100%;\n height: 100%;\n direction: ltr;\n}\n\nmedia-poster-image {\n display: inline-block;\n line-height: 0;\n width: 100%;\n height: 100%;\n}\n\nmedia-poster-image:not([src]):not([placeholdersrc]) {\n display: none;\n}\n\n::part(top),\n[part~='top'] {\n --media-control-display: var(--controls, var(--top-controls));\n --media-play-button-display: var(--play-button, var(--top-play-button));\n --media-live-button-display: var(--live-button, var(--top-live-button));\n --media-seek-backward-button-display: var(--seek-backward-button, var(--top-seek-backward-button));\n --media-seek-forward-button-display: var(--seek-forward-button, var(--top-seek-forward-button));\n --media-mute-button-display: var(--mute-button, var(--top-mute-button));\n --media-captions-button-display: var(--captions-button, var(--top-captions-button));\n --media-captions-menu-button-display: var(\n --captions-menu-button,\n var(--media-captions-button-display, var(--top-captions-menu-button))\n );\n --media-rendition-menu-button-display: var(--rendition-menu-button, var(--top-rendition-menu-button));\n --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--top-audio-track-menu-button));\n --media-airplay-button-display: var(--airplay-button, var(--top-airplay-button));\n --media-pip-button-display: var(--pip-button, var(--top-pip-button));\n --media-fullscreen-button-display: var(--fullscreen-button, var(--top-fullscreen-button));\n --media-cast-button-display: var(--cast-button, var(--top-cast-button, var(--_cast-button-drm-display)));\n --media-playback-rate-button-display: var(--playback-rate-button, var(--top-playback-rate-button));\n --media-playback-rate-menu-button-display: var(\n --captions-menu-button,\n var(--media-playback-rate-button-display, var(--top-playback-rate-menu-button))\n );\n --media-volume-range-display: var(--volume-range, var(--top-volume-range));\n --media-time-range-display: var(--time-range, var(--top-time-range));\n --media-time-display-display: var(--time-display, var(--top-time-display));\n --media-duration-display-display: var(--duration-display, var(--top-duration-display));\n --media-title-display-display: var(--title-display, var(--top-title-display));\n}\n\n::part(center),\n[part~='center'] {\n --media-control-display: var(--controls, var(--center-controls));\n --media-play-button-display: var(--play-button, var(--center-play-button));\n --media-live-button-display: var(--live-button, var(--center-live-button));\n --media-seek-backward-button-display: var(--seek-backward-button, var(--center-seek-backward-button));\n --media-seek-forward-button-display: var(--seek-forward-button, var(--center-seek-forward-button));\n --media-mute-button-display: var(--mute-button, var(--center-mute-button));\n --media-captions-button-display: var(--captions-button, var(--center-captions-button));\n --media-captions-menu-button-display: var(\n --captions-menu-button,\n var(--media-captions-button-display, var(--center-captions-menu-button))\n );\n --media-rendition-menu-button-display: var(--rendition-menu-button, var(--center-rendition-menu-button));\n --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--center-audio-track-menu-button));\n --media-airplay-button-display: var(--airplay-button, var(--center-airplay-button));\n --media-pip-button-display: var(--pip-button, var(--center-pip-button));\n --media-fullscreen-button-display: var(--fullscreen-button, var(--center-fullscreen-button));\n --media-cast-button-display: var(--cast-button, var(--center-cast-button, var(--_cast-button-drm-display)));\n --media-playback-rate-button-display: var(--playback-rate-button, var(--center-playback-rate-button));\n --media-playback-rate-menu-button-display: var(\n --playback-rate-menu-button,\n var(--media-playback-rate-button-display, var(--center-playback-rate-menu-button))\n );\n --media-volume-range-display: var(--volume-range, var(--center-volume-range));\n --media-time-range-display: var(--time-range, var(--center-time-range));\n --media-time-display-display: var(--time-display, var(--center-time-display));\n --media-duration-display-display: var(--duration-display, var(--center-duration-display));\n}\n\n::part(bottom),\n[part~='bottom'] {\n --media-control-display: var(--controls, var(--bottom-controls));\n --media-play-button-display: var(--play-button, var(--bottom-play-button));\n --media-live-button-display: var(--live-button, var(--bottom-live-button));\n --media-seek-backward-button-display: var(--seek-backward-button, var(--bottom-seek-backward-button));\n --media-seek-forward-button-display: var(--seek-forward-button, var(--bottom-seek-forward-button));\n --media-mute-button-display: var(--mute-button, var(--bottom-mute-button));\n --media-captions-button-display: var(--captions-button, var(--bottom-captions-button));\n --media-captions-menu-button-display: var(\n --captions-menu-button,\n var(--media-captions-button-display, var(--bottom-captions-menu-button))\n );\n --media-rendition-menu-button-display: var(--rendition-menu-button, var(--bottom-rendition-menu-button));\n --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--bottom-audio-track-menu-button));\n --media-airplay-button-display: var(--airplay-button, var(--bottom-airplay-button));\n --media-pip-button-display: var(--pip-button, var(--bottom-pip-button));\n --media-fullscreen-button-display: var(--fullscreen-button, var(--bottom-fullscreen-button));\n --media-cast-button-display: var(--cast-button, var(--bottom-cast-button, var(--_cast-button-drm-display)));\n --media-playback-rate-button-display: var(--playback-rate-button, var(--bottom-playback-rate-button));\n --media-playback-rate-menu-button-display: var(\n --playback-rate-menu-button,\n var(--media-playback-rate-button-display, var(--bottom-playback-rate-menu-button))\n );\n --media-volume-range-display: var(--volume-range, var(--bottom-volume-range));\n --media-time-range-display: var(--time-range, var(--bottom-time-range));\n --media-time-display-display: var(--time-display, var(--bottom-time-display));\n --media-duration-display-display: var(--duration-display, var(--bottom-duration-display));\n --media-title-display-display: var(--title-display, var(--bottom-title-display));\n}\n\n:host([no-tooltips]) {\n --media-tooltip-display: none;\n}\n`;import{TemplateInstance as ra,ChildNodePart as ge,AttrPart as fe}from\"media-chrome/dist/media-theme-element.js\";var ae=new WeakMap,Ne=class t{constructor(a,e){this.element=a;this.type=e;this.element.addEventListener(this.type,this);let i=ae.get(this.element);i&&i.set(this.type,this)}set(a){if(typeof a==\"function\")this.handleEvent=a.bind(this.element);else if(typeof a==\"object\"&&typeof a.handleEvent==\"function\")this.handleEvent=a.handleEvent.bind(a);else{this.element.removeEventListener(this.type,this);let e=ae.get(this.element);e&&e.delete(this.type)}}static for(a){ae.has(a.element)||ae.set(a.element,new Map);let e=a.attributeName.slice(2),i=ae.get(a.element);return i&&i.has(e)?i.get(e):new t(a.element,e)}};function oa(t,a){return t instanceof fe&&t.attributeName.startsWith(\"on\")?(Ne.for(t).set(a),t.element.removeAttributeNS(t.attributeNamespace,t.attributeName),!0):!1}function na(t,a){return a instanceof he&&t instanceof ge?(a.renderInto(t),!0):!1}function sa(t,a){return a instanceof DocumentFragment&&t instanceof ge?(a.childNodes.length&&t.replace(...a.childNodes),!0):!1}function da(t,a){if(t instanceof fe){let e=t.attributeNamespace,i=t.element.getAttributeNS(e,t.attributeName);return String(a)!==i&&(t.value=String(a)),!0}return t.value=String(a),!0}function la(t,a){if(t instanceof fe&&a instanceof Element){let e=t.element;return e[t.attributeName]!==a&&(t.element.removeAttributeNS(t.attributeNamespace,t.attributeName),e[t.attributeName]=a),!0}return!1}function ua(t,a){if(typeof a==\"boolean\"&&t instanceof fe){let e=t.attributeNamespace,i=t.element.hasAttributeNS(e,t.attributeName);return a!==i&&(t.booleanValue=a),!0}return!1}function ma(t,a){return a===!1&&t instanceof ge?(t.replace(\"\"),!0):!1}function ca(t,a){la(t,a)||ua(t,a)||oa(t,a)||ma(t,a)||na(t,a)||sa(t,a)||da(t,a)}var Se=new Map,At=new WeakMap,Ct=new WeakMap,he=class{constructor(a,e,i){this.strings=a;this.values=e;this.processor=i;this.stringsKey=this.strings.join(\"\u0001\")}get template(){if(Se.has(this.stringsKey))return Se.get(this.stringsKey);{let a=D.createElement(\"template\"),e=this.strings.length-1;return a.innerHTML=this.strings.reduce((i,r,s)=>i+r+(s<e?`{{ ${s} }}`:\"\"),\"\"),Se.set(this.stringsKey,a),a}}renderInto(a){var r;let e=this.template;if(At.get(a)!==e){At.set(a,e);let s=new ra(e,this.values,this.processor);Ct.set(a,s),a instanceof ge?a.replace(...s.children):a.appendChild(s);return}let i=Ct.get(a);(r=i==null?void 0:i.update)==null||r.call(i,this.values)}},pa={processCallback(t,a,e){var i;if(e){for(let[r,s]of a)if(r in e){let d=(i=e[r])!=null?i:\"\";ca(s,d)}}}};function ie(t,...a){return new he(t,a,pa)}function kt(t,a){t.renderInto(a)}import{StreamTypes as ba,toMuxVideoURL as _t}from\"@mux/playback-core\";var ha=t=>{let{tokens:a}=t;return a.drm?\":host(:not([cast-receiver])) { --_cast-button-drm-display: none; }\":\"\"},Rt=t=>ie`\n <style>\n ${ha(t)}\n ${vt}\n </style>\n ${Ea(t)}\n`,ga=t=>{let a=t.hotKeys?`${t.hotKeys}`:\"\";return ee(t.streamType)===\"live\"&&(a+=\" noarrowleft noarrowright\"),a},fa={TOP:\"top\",CENTER:\"center\",BOTTOM:\"bottom\",LAYER:\"layer\",MEDIA_LAYER:\"media-layer\",POSTER_LAYER:\"poster-layer\",VERTICAL_LAYER:\"vertical-layer\",CENTERED_LAYER:\"centered-layer\",GESTURE_LAYER:\"gesture-layer\",CONTROLLER_LAYER:\"controller\",BUTTON:\"button\",RANGE:\"range\",THUMB:\"thumb\",DISPLAY:\"display\",CONTROL_BAR:\"control-bar\",MENU_BUTTON:\"menu-button\",MENU:\"menu\",MENU_ITEM:\"menu-item\",OPTION:\"option\",POSTER:\"poster\",LIVE:\"live\",PLAY:\"play\",PRE_PLAY:\"pre-play\",SEEK_BACKWARD:\"seek-backward\",SEEK_FORWARD:\"seek-forward\",MUTE:\"mute\",CAPTIONS:\"captions\",AIRPLAY:\"airplay\",PIP:\"pip\",FULLSCREEN:\"fullscreen\",CAST:\"cast\",PLAYBACK_RATE:\"playback-rate\",VOLUME:\"volume\",TIME:\"time\",TITLE:\"title\",AUDIO_TRACK:\"audio-track\",RENDITION:\"rendition\"},ya=Object.values(fa).join(\", \"),Ea=t=>{var a,e,i,r,s,d,u,b,R,j,z,A,T,x,F,g,ue,X,q,He,$e,Fe,Ye,We,Ze,Ge,je,ze,Xe,qe,Qe,Je,et,tt,at,it,rt,ot,nt,st,dt;return ie`\n <media-theme\n template=\"${t.themeTemplate||!1}\"\n defaultstreamtype=\"${(a=t.defaultStreamType)!=null?a:!1}\"\n hotkeys=\"${ga(t)||!1}\"\n nohotkeys=\"${t.noHotKeys||!t.hasSrc||!1}\"\n noautoseektolive=\"${!!((e=t.streamType)!=null&&e.includes(ba.LIVE))&&t.targetLiveWindow!==0}\"\n novolumepref=\"${t.novolumepref||!1}\"\n nomutedpref=\"${t.nomutedpref||!1}\"\n disabled=\"${!t.hasSrc||t.isDialogOpen}\"\n audio=\"${(i=t.audio)!=null?i:!1}\"\n style=\"${(r=ct({\"--media-primary-color\":t.primaryColor,\"--media-secondary-color\":t.secondaryColor,\"--media-accent-color\":t.accentColor}))!=null?r:!1}\"\n defaultsubtitles=\"${!t.defaultHiddenCaptions}\"\n forwardseekoffset=\"${(s=t.forwardSeekOffset)!=null?s:!1}\"\n backwardseekoffset=\"${(d=t.backwardSeekOffset)!=null?d:!1}\"\n playbackrates=\"${(u=t.playbackRates)!=null?u:!1}\"\n defaultshowremainingtime=\"${(b=t.defaultShowRemainingTime)!=null?b:!1}\"\n defaultduration=\"${(R=t.defaultDuration)!=null?R:!1}\"\n hideduration=\"${(j=t.hideDuration)!=null?j:!1}\"\n title=\"${(z=t.title)!=null?z:!1}\"\n videotitle=\"${(A=t.videoTitle)!=null?A:!1}\"\n proudlydisplaymuxbadge=\"${(T=t.proudlyDisplayMuxBadge)!=null?T:!1}\"\n exportparts=\"${ya}\"\n onclose=\"${t.onCloseErrorDialog}\"\n onfocusin=\"${t.onFocusInErrorDialog}\"\n >\n <mux-video\n slot=\"media\"\n inert=\"${(x=t.noHotKeys)!=null?x:!1}\"\n target-live-window=\"${(F=t.targetLiveWindow)!=null?F:!1}\"\n stream-type=\"${(g=ee(t.streamType))!=null?g:!1}\"\n crossorigin=\"${(ue=t.crossOrigin)!=null?ue:\"\"}\"\n playsinline\n autoplay=\"${(X=t.autoplay)!=null?X:!1}\"\n muted=\"${(q=t.muted)!=null?q:!1}\"\n loop=\"${(He=t.loop)!=null?He:!1}\"\n preload=\"${($e=t.preload)!=null?$e:!1}\"\n debug=\"${(Fe=t.debug)!=null?Fe:!1}\"\n prefer-cmcd=\"${(Ye=t.preferCmcd)!=null?Ye:!1}\"\n disable-tracking=\"${(We=t.disableTracking)!=null?We:!1}\"\n disable-cookies=\"${(Ze=t.disableCookies)!=null?Ze:!1}\"\n prefer-playback=\"${(Ge=t.preferPlayback)!=null?Ge:!1}\"\n start-time=\"${t.startTime!=null?t.startTime:!1}\"\n initial-bandwidth-estimate-kbps=\"${t.initialBandwidthEstimateKbps!=null?t.initialBandwidthEstimateKbps:!1}\"\n initial-estimate-segments=\"${t.initialEstimateSegments!=null?t.initialEstimateSegments:!1}\"\n min-preload-segments=\"${t.minPreloadSegments!=null?t.minPreloadSegments:!1}\"\n beacon-collection-domain=\"${(je=t.beaconCollectionDomain)!=null?je:!1}\"\n player-init-time=\"${(ze=t.playerInitTime)!=null?ze:!1}\"\n player-software-name=\"${(Xe=t.playerSoftwareName)!=null?Xe:!1}\"\n player-software-version=\"${(qe=t.playerSoftwareVersion)!=null?qe:!1}\"\n env-key=\"${(Qe=t.envKey)!=null?Qe:!1}\"\n custom-domain=\"${(Je=t.customDomain)!=null?Je:!1}\"\n src=\"${t.src?t.src:t.playbackId?_t(t):!1}\"\n cast-src=\"${t.src?t.src:t.playbackId?_t(t):!1}\"\n cast-receiver=\"${(et=t.castReceiver)!=null?et:!1}\"\n drm-token=\"${(at=(tt=t.tokens)==null?void 0:tt.drm)!=null?at:!1}\"\n playback-token=\"${(rt=(it=t.tokens)==null?void 0:it.playback)!=null?rt:!1}\"\n exportparts=\"video\"\n disable-pseudo-ended=\"${(ot=t.disablePseudoEnded)!=null?ot:!1}\"\n max-auto-resolution=\"${(nt=t.maxAutoResolution)!=null?nt:!1}\"\n cap-rendition-to-player-size=\"${(st=t.capRenditionToPlayerSize)!=null?st:!1}\"\n >\n ${t.storyboard?ie`<track label=\"thumbnails\" default kind=\"metadata\" src=\"${t.storyboard}\" />`:ie``}\n <slot></slot>\n </mux-video>\n <slot name=\"poster\" slot=\"poster\">\n <media-poster-image\n part=\"poster\"\n exportparts=\"poster, img\"\n src=\"${t.poster?t.poster:!1}\"\n placeholdersrc=\"${(dt=t.placeholder)!=null?dt:!1}\"\n ></media-poster-image>\n </slot>\n </media-theme>\n`};import{errorCategoryToTokenNameOrPrefix as xt,i18n as v,MediaError as S,MuxErrorCategory as Ot,MuxErrorCode as c}from\"@mux/playback-core\";var Lt=t=>t.charAt(0).toUpperCase()+t.slice(1),Ta=(t,a=!1)=>{var e,i;if(t.muxCode){let r=Lt((e=t.errorCategory)!=null?e:\"video\"),s=xt((i=t.errorCategory)!=null?i:Ot.VIDEO);if(t.muxCode===c.NETWORK_OFFLINE)return v(\"Your device appears to be offline\",a);if(t.muxCode===c.NETWORK_TOKEN_EXPIRED)return v(\"{category} URL has expired\",a).format({category:r});if([c.NETWORK_TOKEN_SUB_MISMATCH,c.NETWORK_TOKEN_AUD_MISMATCH,c.NETWORK_TOKEN_AUD_MISSING,c.NETWORK_TOKEN_MALFORMED].includes(t.muxCode))return v(\"{category} URL is formatted incorrectly\",a).format({category:r});if(t.muxCode===c.NETWORK_TOKEN_MISSING)return v(\"Invalid {categoryName} URL\",a).format({categoryName:s});if(t.muxCode===c.NETWORK_NOT_FOUND)return v(\"{category} does not exist\",a).format({category:r});if(t.muxCode===c.NETWORK_NOT_READY){let d=t.streamType===\"live\"?\"Live stream\":\"Video\";return v(\"{mediaType} is not currently available\",a).format({mediaType:d})}}if(t.code){if(t.code===S.MEDIA_ERR_NETWORK)return v(\"Network Error\",a);if(t.code===S.MEDIA_ERR_DECODE)return v(\"Media Error\",a);if(t.code===S.MEDIA_ERR_SRC_NOT_SUPPORTED)return v(\"Source Not Supported\",a)}return v(\"Error\",a)},va=(t,a=!1)=>{var e,i;if(t.muxCode){let r=Lt((e=t.errorCategory)!=null?e:\"video\"),s=xt((i=t.errorCategory)!=null?i:Ot.VIDEO);return t.muxCode===c.NETWORK_OFFLINE?v(\"Check your internet connection and try reloading this video.\",a):t.muxCode===c.NETWORK_TOKEN_EXPIRED?v(\"The video\\u2019s secured {tokenNamePrefix}-token has expired.\",a).format({tokenNamePrefix:s}):t.muxCode===c.NETWORK_TOKEN_SUB_MISMATCH?v(\"The video\\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.\",a).format({tokenNamePrefix:s}):t.muxCode===c.NETWORK_TOKEN_MALFORMED?v(\"{category} URL is formatted incorrectly\",a).format({category:r}):[c.NETWORK_TOKEN_AUD_MISMATCH,c.NETWORK_TOKEN_AUD_MISSING].includes(t.muxCode)?v(\"The {tokenNamePrefix}-token is formatted with incorrect information.\",a).format({tokenNamePrefix:s}):[c.NETWORK_TOKEN_MISSING,c.NETWORK_INVALID_URL].includes(t.muxCode)?v(\"The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.\",a).format({tokenNamePrefix:s}):t.muxCode===c.NETWORK_NOT_FOUND?\"\":t.message}return t.code&&(t.code===S.MEDIA_ERR_NETWORK||t.code===S.MEDIA_ERR_DECODE||t.code===S.MEDIA_ERR_SRC_NOT_SUPPORTED),t.message},Mt=(t,a=!1)=>{let e=Ta(t,a).toString(),i=va(t,a).toString();return{title:e,message:i}},Aa=t=>{if(t.muxCode){if(t.muxCode===c.NETWORK_TOKEN_EXPIRED)return\"403-expired-token.md\";if(t.muxCode===c.NETWORK_TOKEN_MALFORMED)return\"403-malformatted-token.md\";if([c.NETWORK_TOKEN_AUD_MISMATCH,c.NETWORK_TOKEN_AUD_MISSING].includes(t.muxCode))return\"403-incorrect-aud-value.md\";if(t.muxCode===c.NETWORK_TOKEN_SUB_MISMATCH)return\"403-playback-id-mismatch.md\";if(t.muxCode===c.NETWORK_TOKEN_MISSING)return\"missing-signed-tokens.md\";if(t.muxCode===c.NETWORK_NOT_FOUND)return\"404-not-found.md\";if(t.muxCode===c.NETWORK_NOT_READY)return\"412-not-playable.md\"}if(t.code){if(t.code===S.MEDIA_ERR_NETWORK)return\"\";if(t.code===S.MEDIA_ERR_DECODE)return\"media-decode-error.md\";if(t.code===S.MEDIA_ERR_SRC_NOT_SUPPORTED)return\"media-src-not-supported.md\"}return\"\"},Ie=(t,a)=>{let e=Aa(t);return{message:t.message,context:t.context,file:e}};var St=`<template id=\"media-theme-gerwig\">\n <style>\n @keyframes pre-play-hide {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n\n 30% {\n transform: scale(0.7);\n }\n\n 100% {\n transform: scale(1.5);\n opacity: 0;\n }\n }\n\n :host {\n --_primary-color: var(--media-primary-color, #fff);\n --_secondary-color: var(--media-secondary-color, transparent);\n --_accent-color: var(--media-accent-color, #fa50b5);\n --_text-color: var(--media-text-color, #000);\n\n --media-icon-color: var(--_primary-color);\n --media-control-background: var(--_secondary-color);\n --media-control-hover-background: var(--_accent-color);\n --media-time-buffered-color: rgba(255, 255, 255, 0.4);\n --media-preview-time-text-shadow: none;\n --media-control-height: 14px;\n --media-control-padding: 6px;\n --media-tooltip-container-margin: 6px;\n --media-tooltip-distance: 18px;\n\n color: var(--_primary-color);\n display: inline-block;\n width: 100%;\n height: 100%;\n }\n\n :host([audio]) {\n --_secondary-color: var(--media-secondary-color, black);\n --media-preview-time-text-shadow: none;\n }\n\n :host([audio]) ::slotted([slot='media']) {\n height: 0px;\n }\n\n :host([audio]) media-loading-indicator {\n display: none;\n }\n\n :host([audio]) media-controller {\n background: transparent;\n }\n\n :host([audio]) media-controller::part(vertical-layer) {\n background: transparent;\n }\n\n :host([audio]) media-control-bar {\n width: 100%;\n background-color: var(--media-control-background);\n }\n\n /*\n * 0.433s is the transition duration for VTT Regions.\n * Borrowed here, so the captions don't move too fast.\n */\n media-controller {\n --media-webkit-text-track-transform: translateY(0) scale(0.98);\n --media-webkit-text-track-transition: transform 0.433s ease-out 0.3s;\n }\n media-controller:is([mediapaused], :not([userinactive])) {\n --media-webkit-text-track-transform: translateY(-50px) scale(0.98);\n --media-webkit-text-track-transition: transform 0.15s ease;\n }\n\n /*\n * CSS specific to iOS devices.\n * See: https://stackoverflow.com/questions/30102792/css-media-query-to-target-only-ios-devices/60220757#60220757\n */\n @supports (-webkit-touch-callout: none) {\n /* Disable subtitle adjusting for iOS Safari */\n media-controller[mediaisfullscreen] {\n --media-webkit-text-track-transform: unset;\n --media-webkit-text-track-transition: unset;\n }\n }\n\n media-time-range {\n --media-box-padding-left: 6px;\n --media-box-padding-right: 6px;\n --media-range-bar-color: var(--_accent-color);\n --media-time-range-buffered-color: var(--_primary-color);\n --media-range-track-color: transparent;\n --media-range-track-background: rgba(255, 255, 255, 0.4);\n --media-range-thumb-background: radial-gradient(\n circle,\n #000 0%,\n #000 25%,\n var(--_accent-color) 25%,\n var(--_accent-color)\n );\n --media-range-thumb-width: 12px;\n --media-range-thumb-height: 12px;\n --media-range-thumb-transform: scale(0);\n --media-range-thumb-transition: transform 0.3s;\n --media-range-thumb-opacity: 1;\n --media-preview-background: var(--_primary-color);\n --media-box-arrow-background: var(--_primary-color);\n --media-preview-thumbnail-border: 5px solid var(--_primary-color);\n --media-preview-border-radius: 5px;\n --media-text-color: var(--_text-color);\n --media-control-hover-background: transparent;\n --media-preview-chapter-text-shadow: none;\n color: var(--_accent-color);\n padding: 0 6px;\n }\n\n :host([audio]) media-time-range {\n --media-preview-time-padding: 1.5px 6px;\n --media-preview-box-margin: 0 0 -5px;\n }\n\n media-time-range:hover {\n --media-range-thumb-transform: scale(1);\n }\n\n media-preview-thumbnail {\n border-bottom-width: 0;\n }\n\n [part~='menu'] {\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n bottom: 50px;\n padding: 2.5px 10px;\n }\n\n [part~='menu']::part(indicator) {\n fill: var(--_accent-color);\n }\n\n [part~='menu']::part(menu-item) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 6px 10px;\n min-height: 34px;\n }\n\n [part~='menu']::part(checked) {\n font-weight: 700;\n }\n\n media-captions-menu,\n media-rendition-menu,\n media-audio-track-menu,\n media-playback-rate-menu {\n position: absolute; /* ensure they don't take up space in DOM on load */\n --media-menu-background: var(--_primary-color);\n --media-menu-item-checked-background: transparent;\n --media-text-color: var(--_text-color);\n --media-menu-item-hover-background: transparent;\n --media-menu-item-hover-outline: var(--_accent-color) solid 1px;\n }\n\n media-rendition-menu {\n min-width: 140px;\n }\n\n /* The icon is a circle so make it 16px high instead of 14px for more balance. */\n media-audio-track-menu-button {\n --media-control-padding: 5px;\n --media-control-height: 16px;\n }\n\n media-playback-rate-menu-button {\n --media-control-padding: 6px 3px;\n min-width: 4.4ch;\n }\n\n media-playback-rate-menu {\n --media-menu-flex-direction: row;\n --media-menu-item-checked-background: var(--_accent-color);\n --media-menu-item-checked-indicator-display: none;\n margin-right: 6px;\n padding: 0;\n --media-menu-gap: 0.25em;\n }\n\n media-playback-rate-menu[part~='menu']::part(menu-item) {\n padding: 6px 6px 6px 8px;\n }\n\n media-playback-rate-menu[part~='menu']::part(checked) {\n color: #fff;\n }\n\n :host(:not([audio])) media-time-range {\n /* Adding px is required here for calc() */\n --media-range-padding: 0px;\n background: transparent;\n z-index: 10;\n height: 10px;\n bottom: -3px;\n width: 100%;\n }\n\n media-control-bar :is([role='button'], [role='switch'], button) {\n line-height: 0;\n }\n\n media-control-bar :is([part*='button'], [part*='range'], [part*='display']) {\n border-radius: 3px;\n }\n\n .spacer {\n flex-grow: 1;\n background-color: var(--media-control-background, rgba(20, 20, 30, 0.7));\n }\n\n media-control-bar[slot~='top-chrome'] {\n min-height: 42px;\n pointer-events: none;\n }\n\n media-control-bar {\n --gradient-steps:\n hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%, hsl(0 0% 0% / 0.104) 22.5%,\n hsl(0 0% 0% / 0.175) 29%, hsl(0 0% 0% / 0.259) 35.3%, hsl(0 0% 0% / 0.352) 41.2%, hsl(0 0% 0% / 0.45) 47.1%,\n hsl(0 0% 0% / 0.55) 52.9%, hsl(0 0% 0% / 0.648) 58.8%, hsl(0 0% 0% / 0.741) 64.7%, hsl(0 0% 0% / 0.825) 71%,\n hsl(0 0% 0% / 0.896) 77.5%, hsl(0 0% 0% / 0.951) 84.5%, hsl(0 0% 0% / 0.987) 91.9%, hsl(0 0% 0%) 100%;\n }\n\n :host([title]) media-control-bar[slot='top-chrome']::before,\n :host([videotitle]) media-control-bar[slot='top-chrome']::before {\n content: '';\n position: absolute;\n width: 100%;\n padding-bottom: min(100px, 25%);\n background: linear-gradient(to top, var(--gradient-steps));\n opacity: 0.8;\n pointer-events: none;\n }\n\n :host(:not([audio])) media-control-bar[part~='bottom']::before {\n content: '';\n position: absolute;\n width: 100%;\n bottom: 0;\n left: 0;\n padding-bottom: min(100px, 25%);\n background: linear-gradient(to bottom, var(--gradient-steps));\n opacity: 0.8;\n z-index: 1;\n pointer-events: none;\n }\n\n media-control-bar[part~='bottom'] > * {\n z-index: 20;\n }\n\n media-control-bar[part~='bottom'] {\n padding: 6px 6px;\n }\n\n media-control-bar[slot~='top-chrome'] > * {\n --media-control-background: transparent;\n --media-control-hover-background: transparent;\n position: relative;\n }\n\n media-controller::part(vertical-layer) {\n transition: background-color 1s;\n }\n\n media-controller:is([mediapaused], :not([userinactive]))::part(vertical-layer) {\n background-color: var(--controls-backdrop-color, var(--controls, transparent));\n transition: background-color 0.25s;\n }\n\n .center-controls {\n --media-button-icon-width: 100%;\n --media-button-icon-height: auto;\n --media-tooltip-display: none;\n pointer-events: none;\n width: 100%;\n display: flex;\n flex-flow: row;\n align-items: center;\n justify-content: center;\n paint-order: stroke;\n stroke: rgba(102, 102, 102, 1);\n stroke-width: 0.3px;\n text-shadow:\n 0 0 2px rgb(0 0 0 / 0.25),\n 0 0 6px rgb(0 0 0 / 0.25);\n }\n\n .center-controls media-play-button {\n --media-control-background: transparent;\n --media-control-hover-background: transparent;\n --media-control-padding: 0;\n width: 40px;\n filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25));\n }\n\n [breakpointsm] .center-controls media-play-button {\n width: 90px;\n height: 90px;\n border-radius: 50%;\n transition: background 0.4s;\n padding: 24px;\n --media-control-background: #000;\n --media-control-hover-background: var(--_accent-color);\n }\n\n .center-controls media-seek-backward-button,\n .center-controls media-seek-forward-button {\n --media-control-background: transparent;\n --media-control-hover-background: transparent;\n padding: 0;\n margin: 0 20px;\n width: max(33px, min(8%, 40px));\n text-shadow:\n 0 0 2px rgb(0 0 0 / 0.25),\n 0 0 6px rgb(0 0 0 / 0.25);\n }\n\n [breakpointsm]:not([audio]) .center-controls.pre-playback {\n display: grid;\n align-items: initial;\n justify-content: initial;\n height: 100%;\n overflow: hidden;\n }\n\n [breakpointsm]:not([audio]) .center-controls.pre-playback media-play-button {\n place-self: var(--_pre-playback-place, center);\n grid-area: 1 / 1;\n margin: 16px;\n }\n\n /* Show and hide controls or pre-playback state */\n\n [breakpointsm]:is([mediahasplayed], :not([mediapaused])):not([audio])\n .center-controls.pre-playback\n media-play-button {\n /* Using \\`forwards\\` would lead to a laggy UI after the animation got in the end state */\n animation: 0.3s linear pre-play-hide;\n opacity: 0;\n pointer-events: none;\n }\n\n .autoplay-unmute {\n --media-control-hover-background: transparent;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25));\n }\n\n .autoplay-unmute-btn {\n --media-control-height: 16px;\n border-radius: 8px;\n background: #000;\n color: var(--_primary-color);\n display: flex;\n align-items: center;\n padding: 8px 16px;\n font-size: 18px;\n font-weight: 500;\n cursor: pointer;\n }\n\n .autoplay-unmute-btn:hover {\n background: var(--_accent-color);\n }\n\n [breakpointsm] .autoplay-unmute-btn {\n --media-control-height: 30px;\n padding: 14px 24px;\n font-size: 26px;\n }\n\n .autoplay-unmute-btn svg {\n margin: 0 6px 0 0;\n }\n\n [breakpointsm] .autoplay-unmute-btn svg {\n margin: 0 10px 0 0;\n }\n\n media-controller:not([audio]):not([mediahasplayed]) *:is(media-control-bar, media-time-range) {\n display: none;\n }\n\n media-error-dialog:not([mediaerrorcode]) {\n opacity: 0;\n }\n\n media-loading-indicator {\n --media-loading-icon-width: 100%;\n --media-button-icon-height: auto;\n display: var(--media-control-display, var(--media-loading-indicator-display, flex));\n pointer-events: none;\n position: absolute;\n width: min(15%, 150px);\n flex-flow: row;\n align-items: center;\n justify-content: center;\n }\n\n /* Intentionally don't target the div for transition but the children\n of the div. Prevents messing with media-chrome's autohide feature. */\n media-loading-indicator + div * {\n transition: opacity 0.15s;\n opacity: 1;\n }\n\n media-loading-indicator[medialoading]:not([mediapaused]) ~ div > * {\n opacity: 0;\n transition-delay: 400ms;\n }\n\n media-volume-range {\n width: min(100%, 100px);\n --media-range-padding-left: 10px;\n --media-range-padding-right: 10px;\n --media-range-thumb-width: 12px;\n --media-range-thumb-height: 12px;\n --media-range-thumb-background: radial-gradient(\n circle,\n #000 0%,\n #000 25%,\n var(--_primary-color) 25%,\n var(--_primary-color)\n );\n --media-control-hover-background: none;\n }\n\n media-time-display {\n white-space: nowrap;\n }\n\n /* Generic style for explicitly disabled controls */\n media-control-bar[part~='bottom'] [disabled],\n media-control-bar[part~='bottom'] [aria-disabled='true'] {\n opacity: 60%;\n cursor: not-allowed;\n }\n\n media-text-display {\n --media-font-size: 16px;\n --media-control-padding: 14px;\n font-weight: 500;\n }\n\n media-play-button.animated *:is(g, path) {\n transition: all 0.3s;\n }\n\n media-play-button.animated[mediapaused] .pause-icon-pt1 {\n opacity: 0;\n }\n\n media-play-button.animated[mediapaused] .pause-icon-pt2 {\n transform-origin: center center;\n transform: scaleY(0);\n }\n\n media-play-button.animated[mediapaused] .play-icon {\n clip-path: inset(0 0 0 0);\n }\n\n media-play-button.animated:not([mediapaused]) .play-icon {\n clip-path: inset(0 0 0 100%);\n }\n\n media-seek-forward-button,\n media-seek-backward-button {\n --media-font-weight: 400;\n }\n\n .mute-icon {\n display: inline-block;\n }\n\n .mute-icon :is(path, g) {\n transition: opacity 0.5s;\n }\n\n .muted {\n opacity: 0;\n }\n\n media-mute-button[mediavolumelevel='low'] :is(.volume-medium, .volume-high),\n media-mute-button[mediavolumelevel='medium'] :is(.volume-high) {\n opacity: 0;\n }\n\n media-mute-button[mediavolumelevel='off'] .unmuted {\n opacity: 0;\n }\n\n media-mute-button[mediavolumelevel='off'] .muted {\n opacity: 1;\n }\n\n /**\n * Our defaults for these buttons are to hide them at small sizes\n * users can override this with CSS\n */\n media-controller:not([breakpointsm]):not([audio]) {\n --bottom-play-button: none;\n --bottom-seek-backward-button: none;\n --bottom-seek-forward-button: none;\n --bottom-time-display: none;\n --bottom-playback-rate-menu-button: none;\n --bottom-pip-button: none;\n }\n\n [part='mux-badge'] {\n position: absolute;\n bottom: 10px;\n right: 10px;\n z-index: 2;\n opacity: 0.6;\n transition:\n opacity 0.2s ease-in-out,\n bottom 0.2s ease-in-out;\n }\n\n [part='mux-badge']:hover {\n opacity: 1;\n }\n\n [part='mux-badge'] a {\n font-size: 14px;\n font-family: var(--_font-family);\n color: var(--_primary-color);\n text-decoration: none;\n display: flex;\n align-items: center;\n gap: 5px;\n }\n\n [part='mux-badge'] .mux-badge-text {\n transition: opacity 0.5s ease-in-out;\n opacity: 0;\n }\n\n [part='mux-badge'] .mux-badge-logo {\n width: 40px;\n height: auto;\n display: inline-block;\n }\n\n [part='mux-badge'] .mux-badge-logo svg {\n width: 100%;\n height: 100%;\n fill: white;\n }\n\n media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'],\n media-controller:not([userinactive]) [part='mux-badge'],\n media-controller[mediahasplayed][mediapaused] [part='mux-badge'] {\n transition: bottom 0.1s ease-in-out;\n }\n\n media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] {\n transition: bottom 0.2s ease-in-out 0.62s;\n }\n\n media-controller:not([userinactive]) [part='mux-badge'] .mux-badge-text,\n media-controller[mediahasplayed][mediapaused] [part='mux-badge'] .mux-badge-text {\n opacity: 1;\n }\n\n media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] .mux-badge-text {\n opacity: 0;\n }\n\n media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] {\n bottom: 10px;\n }\n\n media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'] {\n bottom: 10px;\n }\n\n media-controller:not([userinactive])[mediahasplayed] [part='mux-badge'],\n media-controller[mediahasplayed][mediapaused] [part='mux-badge'] {\n bottom: calc(28px + var(--media-control-height, 0px) + var(--media-control-padding, 0px) * 2);\n }\n </style>\n\n <template partial=\"TitleDisplay\">\n <template if=\"videotitle\">\n <template if=\"videotitle != true\">\n <media-text-display part=\"top title display\" class=\"title-display\">{{videotitle}}</media-text-display>\n </template>\n </template>\n <template if=\"!videotitle\">\n <template if=\"title\">\n <media-text-display part=\"top title display\" class=\"title-display\">{{title}}</media-text-display>\n </template>\n </template>\n </template>\n\n <template partial=\"PlayButton\">\n <media-play-button\n part=\"{{section ?? 'bottom'}} play button\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n class=\"animated\"\n >\n <svg aria-hidden=\"true\" viewBox=\"0 0 18 14\" slot=\"icon\">\n <g class=\"play-icon\">\n <path\n d=\"M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z\"\n />\n </g>\n <g class=\"pause-icon\">\n <path\n class=\"pause-icon-pt1\"\n d=\"M5.90709 0H2.96889C2.46857 0 2.06299 0.405585 2.06299 0.9059V13.0941C2.06299 13.5944 2.46857 14 2.96889 14H5.90709C6.4074 14 6.81299 13.5944 6.81299 13.0941V0.9059C6.81299 0.405585 6.4074 0 5.90709 0Z\"\n />\n <path\n class=\"pause-icon-pt2\"\n d=\"M15.1571 0H12.2189C11.7186 0 11.313 0.405585 11.313 0.9059V13.0941C11.313 13.5944 11.7186 14 12.2189 14H15.1571C15.6574 14 16.063 13.5944 16.063 13.0941V0.9059C16.063 0.405585 15.6574 0 15.1571 0Z\"\n />\n </g>\n </svg>\n </media-play-button>\n </template>\n\n <template partial=\"PrePlayButton\">\n <media-play-button\n part=\"{{section ?? 'center'}} play button pre-play\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n >\n <svg aria-hidden=\"true\" viewBox=\"0 0 18 14\" slot=\"icon\" style=\"transform: translate(3px, 0)\">\n <path\n d=\"M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z\"\n />\n </svg>\n </media-play-button>\n </template>\n\n <template partial=\"SeekBackwardButton\">\n <media-seek-backward-button\n seekoffset=\"{{backwardseekoffset}}\"\n part=\"{{section ?? 'bottom'}} seek-backward button\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n >\n <svg viewBox=\"0 0 22 14\" aria-hidden=\"true\" slot=\"icon\">\n <path\n d=\"M3.65 2.07888L0.0864 6.7279C-0.0288 6.87812 -0.0288 7.12188 0.0864 7.2721L3.65 11.9211C3.7792 12.0896 4 11.9703 4 11.7321V2.26787C4 2.02968 3.7792 1.9104 3.65 2.07888Z\"\n />\n <text transform=\"translate(6 12)\" style=\"font-size: 14px; font-family: 'ArialMT', 'Arial'\">\n {{backwardseekoffset}}\n </text>\n </svg>\n </media-seek-backward-button>\n </template>\n\n <template partial=\"SeekForwardButton\">\n <media-seek-forward-button\n seekoffset=\"{{forwardseekoffset}}\"\n part=\"{{section ?? 'bottom'}} seek-forward button\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n >\n <svg viewBox=\"0 0 22 14\" aria-hidden=\"true\" slot=\"icon\">\n <g>\n <text transform=\"translate(-1 12)\" style=\"font-size: 14px; font-family: 'ArialMT', 'Arial'\">\n {{forwardseekoffset}}\n </text>\n <path\n d=\"M18.35 11.9211L21.9136 7.2721C22.0288 7.12188 22.0288 6.87812 21.9136 6.7279L18.35 2.07888C18.2208 1.91041 18 2.02968 18 2.26787V11.7321C18 11.9703 18.2208 12.0896 18.35 11.9211Z\"\n />\n </g>\n </svg>\n </media-seek-forward-button>\n </template>\n\n <template partial=\"MuteButton\">\n <media-mute-button part=\"bottom mute button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <svg viewBox=\"0 0 18 14\" slot=\"icon\" class=\"mute-icon\" aria-hidden=\"true\">\n <g class=\"unmuted\">\n <path\n d=\"M6.76786 1.21233L3.98606 3.98924H1.19937C0.593146 3.98924 0.101743 4.51375 0.101743 5.1607V6.96412L0 6.99998L0.101743 7.03583V8.83926C0.101743 9.48633 0.593146 10.0108 1.19937 10.0108H3.98606L6.76773 12.7877C7.23561 13.2547 8 12.9007 8 12.2171V1.78301C8 1.09925 7.23574 0.745258 6.76786 1.21233Z\"\n />\n <path\n class=\"volume-low\"\n d=\"M10 3.54781C10.7452 4.55141 11.1393 5.74511 11.1393 6.99991C11.1393 8.25471 10.7453 9.44791 10 10.4515L10.7988 11.0496C11.6734 9.87201 12.1356 8.47161 12.1356 6.99991C12.1356 5.52821 11.6735 4.12731 10.7988 2.94971L10 3.54781Z\"\n />\n <path\n class=\"volume-medium\"\n d=\"M12.3778 2.40086C13.2709 3.76756 13.7428 5.35806 13.7428 7.00026C13.7428 8.64246 13.2709 10.233 12.3778 11.5992L13.2106 12.1484C14.2107 10.6185 14.739 8.83796 14.739 7.00016C14.739 5.16236 14.2107 3.38236 13.2106 1.85156L12.3778 2.40086Z\"\n />\n <path\n class=\"volume-high\"\n d=\"M15.5981 0.75L14.7478 1.2719C15.7937 2.9919 16.3468 4.9723 16.3468 7C16.3468 9.0277 15.7937 11.0082 14.7478 12.7281L15.5981 13.25C16.7398 11.3722 17.343 9.211 17.343 7C17.343 4.789 16.7398 2.6268 15.5981 0.75Z\"\n />\n </g>\n <g class=\"muted\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.39976 4.98924H1.19937C1.19429 4.98924 1.17777 4.98961 1.15296 5.01609C1.1271 5.04369 1.10174 5.09245 1.10174 5.1607V8.83926C1.10174 8.90761 1.12714 8.95641 1.15299 8.984C1.17779 9.01047 1.1943 9.01084 1.19937 9.01084H4.39977L7 11.6066V2.39357L4.39976 4.98924ZM7.47434 1.92006C7.4743 1.9201 7.47439 1.92002 7.47434 1.92006V1.92006ZM6.76773 12.7877L3.98606 10.0108H1.19937C0.593146 10.0108 0.101743 9.48633 0.101743 8.83926V7.03583L0 6.99998L0.101743 6.96412V5.1607C0.101743 4.51375 0.593146 3.98924 1.19937 3.98924H3.98606L6.76786 1.21233C7.23574 0.745258 8 1.09925 8 1.78301V12.2171C8 12.9007 7.23561 13.2547 6.76773 12.7877Z\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15.2677 9.30323C15.463 9.49849 15.7796 9.49849 15.9749 9.30323C16.1701 9.10796 16.1701 8.79138 15.9749 8.59612L14.2071 6.82841L15.9749 5.06066C16.1702 4.8654 16.1702 4.54882 15.9749 4.35355C15.7796 4.15829 15.4631 4.15829 15.2678 4.35355L13.5 6.1213L11.7322 4.35348C11.537 4.15822 11.2204 4.15822 11.0251 4.35348C10.8298 4.54874 10.8298 4.86532 11.0251 5.06058L12.7929 6.82841L11.0251 8.59619C10.8299 8.79146 10.8299 9.10804 11.0251 9.3033C11.2204 9.49856 11.537 9.49856 11.7323 9.3033L13.5 7.53552L15.2677 9.30323Z\"\n />\n </g>\n </svg>\n </media-mute-button>\n </template>\n\n <template partial=\"PipButton\">\n <media-pip-button part=\"bottom pip button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"icon\">\n <path\n d=\"M15.9891 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.989C0 13.0996 0.9004 14 2.011 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0ZM17 11.9891C17 12.5465 16.5465 13 15.9891 13H2.011C1.4536 13 1.0001 12.5465 1.0001 11.9891V2.0109C1.0001 1.4535 1.4536 0.9999 2.011 0.9999H15.9891C16.5465 0.9999 17 1.4535 17 2.0109V11.9891Z\"\n />\n <path\n d=\"M15.356 5.67822H8.19523C8.03253 5.67822 7.90063 5.81012 7.90063 5.97282V11.3836C7.90063 11.5463 8.03253 11.6782 8.19523 11.6782H15.356C15.5187 11.6782 15.6506 11.5463 15.6506 11.3836V5.97282C15.6506 5.81012 15.5187 5.67822 15.356 5.67822Z\"\n />\n </svg>\n </media-pip-button>\n </template>\n\n <template partial=\"CaptionsMenu\">\n <media-captions-menu-button part=\"bottom captions button\">\n <svg aria-hidden=\"true\" viewBox=\"0 0 18 14\" slot=\"on\">\n <path\n d=\"M15.989 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9004 14 2.011 14H15.989C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.989 0ZM4.2292 8.7639C4.5954 9.1902 5.0935 9.4031 5.7233 9.4031C6.1852 9.4031 6.5544 9.301 6.8302 9.0969C7.1061 8.8933 7.2863 8.614 7.3702 8.26H8.4322C8.3062 8.884 8.0093 9.3733 7.5411 9.7273C7.0733 10.0813 6.4703 10.2581 5.732 10.2581C5.108 10.2581 4.5699 10.1219 4.1168 9.8489C3.6637 9.5759 3.3141 9.1946 3.0685 8.7058C2.8224 8.2165 2.6994 7.6511 2.6994 7.009C2.6994 6.3611 2.8224 5.7927 3.0685 5.3034C3.3141 4.8146 3.6637 4.4323 4.1168 4.1559C4.5699 3.88 5.108 3.7418 5.732 3.7418C6.4703 3.7418 7.0733 3.922 7.5411 4.2818C8.0094 4.6422 8.3062 5.1461 8.4322 5.794H7.3702C7.2862 5.4283 7.106 5.1368 6.8302 4.921C6.5544 4.7052 6.1852 4.5968 5.7233 4.5968C5.0934 4.5968 4.5954 4.8116 4.2292 5.2404C3.8635 5.6696 3.6804 6.259 3.6804 7.009C3.6804 7.7531 3.8635 8.3381 4.2292 8.7639ZM11.0974 8.7639C11.4636 9.1902 11.9617 9.4031 12.5915 9.4031C13.0534 9.4031 13.4226 9.301 13.6984 9.0969C13.9743 8.8933 14.1545 8.614 14.2384 8.26H15.3004C15.1744 8.884 14.8775 9.3733 14.4093 9.7273C13.9415 10.0813 13.3385 10.2581 12.6002 10.2581C11.9762 10.2581 11.4381 10.1219 10.985 9.8489C10.5319 9.5759 10.1823 9.1946 9.9367 8.7058C9.6906 8.2165 9.5676 7.6511 9.5676 7.009C9.5676 6.3611 9.6906 5.7927 9.9367 5.3034C10.1823 4.8146 10.5319 4.4323 10.985 4.1559C11.4381 3.88 11.9762 3.7418 12.6002 3.7418C13.3385 3.7418 13.9415 3.922 14.4093 4.2818C14.8776 4.6422 15.1744 5.1461 15.3004 5.794H14.2384C14.1544 5.4283 13.9742 5.1368 13.6984 4.921C13.4226 4.7052 13.0534 4.5968 12.5915 4.5968C11.9616 4.5968 11.4636 4.8116 11.0974 5.2404C10.7317 5.6696 10.5486 6.259 10.5486 7.009C10.5486 7.7531 10.7317 8.3381 11.0974 8.7639Z\"\n />\n </svg>\n <svg aria-hidden=\"true\" viewBox=\"0 0 18 14\" slot=\"off\">\n <path\n d=\"M5.73219 10.258C5.10819 10.258 4.57009 10.1218 4.11699 9.8488C3.66389 9.5758 3.31429 9.1945 3.06869 8.7057C2.82259 8.2164 2.69958 7.651 2.69958 7.0089C2.69958 6.361 2.82259 5.7926 3.06869 5.3033C3.31429 4.8145 3.66389 4.4322 4.11699 4.1558C4.57009 3.8799 5.10819 3.7417 5.73219 3.7417C6.47049 3.7417 7.07348 3.9219 7.54128 4.2817C8.00958 4.6421 8.30638 5.146 8.43238 5.7939H7.37039C7.28639 5.4282 7.10618 5.1367 6.83039 4.9209C6.55459 4.7051 6.18538 4.5967 5.72348 4.5967C5.09358 4.5967 4.59559 4.8115 4.22939 5.2403C3.86369 5.6695 3.68058 6.2589 3.68058 7.0089C3.68058 7.753 3.86369 8.338 4.22939 8.7638C4.59559 9.1901 5.09368 9.403 5.72348 9.403C6.18538 9.403 6.55459 9.3009 6.83039 9.0968C7.10629 8.8932 7.28649 8.6139 7.37039 8.2599H8.43238C8.30638 8.8839 8.00948 9.3732 7.54128 9.7272C7.07348 10.0812 6.47049 10.258 5.73219 10.258Z\"\n />\n <path\n d=\"M12.6003 10.258C11.9763 10.258 11.4382 10.1218 10.9851 9.8488C10.532 9.5758 10.1824 9.1945 9.93685 8.7057C9.69075 8.2164 9.56775 7.651 9.56775 7.0089C9.56775 6.361 9.69075 5.7926 9.93685 5.3033C10.1824 4.8145 10.532 4.4322 10.9851 4.1558C11.4382 3.8799 11.9763 3.7417 12.6003 3.7417C13.3386 3.7417 13.9416 3.9219 14.4094 4.2817C14.8777 4.6421 15.1745 5.146 15.3005 5.7939H14.2385C14.1545 5.4282 13.9743 5.1367 13.6985 4.9209C13.4227 4.7051 13.0535 4.5967 12.5916 4.5967C11.9617 4.5967 11.4637 4.8115 11.0975 5.2403C10.7318 5.6695 10.5487 6.2589 10.5487 7.0089C10.5487 7.753 10.7318 8.338 11.0975 8.7638C11.4637 9.1901 11.9618 9.403 12.5916 9.403C13.0535 9.403 13.4227 9.3009 13.6985 9.0968C13.9744 8.8932 14.1546 8.6139 14.2385 8.2599H15.3005C15.1745 8.8839 14.8776 9.3732 14.4094 9.7272C13.9416 10.0812 13.3386 10.258 12.6003 10.258Z\"\n />\n <path\n d=\"M15.9891 1C16.5465 1 17 1.4535 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H2.0109C1.4535 13 1 12.5465 1 11.9891V2.0109C1 1.4535 1.4535 0.9999 2.0109 0.9999L15.9891 1ZM15.9891 0H2.0109C0.9003 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9003 14 2.0109 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0Z\"\n />\n </svg>\n </media-captions-menu-button>\n <media-captions-menu\n hidden\n anchor=\"auto\"\n part=\"bottom captions menu\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n exportparts=\"menu-item\"\n >\n <div slot=\"checked-indicator\">\n <style>\n .indicator {\n position: relative;\n top: 1px;\n width: 0.9em;\n height: auto;\n fill: var(--_accent-color);\n margin-right: 5px;\n }\n\n [aria-checked='false'] .indicator {\n display: none;\n }\n </style>\n <svg viewBox=\"0 0 14 18\" class=\"indicator\">\n <path\n d=\"M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027\"\n fill-rule=\"evenodd\"\n />\n </svg></div\n ></media-captions-menu>\n </template>\n\n <template partial=\"AirplayButton\">\n <media-airplay-button part=\"bottom airplay button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"icon\">\n <path\n d=\"M16.1383 0H1.8618C0.8335 0 0 0.8335 0 1.8617V10.1382C0 11.1664 0.8335 12 1.8618 12H3.076C3.1204 11.9433 3.1503 11.8785 3.2012 11.826L4.004 11H1.8618C1.3866 11 1 10.6134 1 10.1382V1.8617C1 1.3865 1.3866 0.9999 1.8618 0.9999H16.1383C16.6135 0.9999 17.0001 1.3865 17.0001 1.8617V10.1382C17.0001 10.6134 16.6135 11 16.1383 11H13.9961L14.7989 11.826C14.8499 11.8785 14.8798 11.9432 14.9241 12H16.1383C17.1665 12 18.0001 11.1664 18.0001 10.1382V1.8617C18 0.8335 17.1665 0 16.1383 0Z\"\n />\n <path\n d=\"M9.55061 8.21903C9.39981 8.06383 9.20001 7.98633 9.00011 7.98633C8.80021 7.98633 8.60031 8.06383 8.44951 8.21903L4.09771 12.697C3.62471 13.1838 3.96961 13.9998 4.64831 13.9998H13.3518C14.0304 13.9998 14.3754 13.1838 13.9023 12.697L9.55061 8.21903Z\"\n />\n </svg>\n </media-airplay-button>\n </template>\n\n <template partial=\"FullscreenButton\">\n <media-fullscreen-button part=\"bottom fullscreen button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"enter\">\n <path\n d=\"M1.00745 4.39539L1.01445 1.98789C1.01605 1.43049 1.47085 0.978289 2.02835 0.979989L6.39375 0.992589L6.39665 -0.007411L2.03125 -0.020011C0.920646 -0.023211 0.0176463 0.874489 0.0144463 1.98509L0.00744629 4.39539H1.00745Z\"\n />\n <path\n d=\"M17.0144 2.03431L17.0076 4.39541H18.0076L18.0144 2.03721C18.0176 0.926712 17.1199 0.0237125 16.0093 0.0205125L11.6439 0.0078125L11.641 1.00781L16.0064 1.02041C16.5638 1.02201 17.016 1.47681 17.0144 2.03431Z\"\n />\n <path\n d=\"M16.9925 9.60498L16.9855 12.0124C16.9839 12.5698 16.5291 13.022 15.9717 13.0204L11.6063 13.0078L11.6034 14.0078L15.9688 14.0204C17.0794 14.0236 17.9823 13.1259 17.9855 12.0153L17.9925 9.60498H16.9925Z\"\n />\n <path\n d=\"M0.985626 11.9661L0.992426 9.60498H-0.0074737L-0.0142737 11.9632C-0.0174737 13.0738 0.880226 13.9767 1.99083 13.98L6.35623 13.9926L6.35913 12.9926L1.99373 12.98C1.43633 12.9784 0.983926 12.5236 0.985626 11.9661Z\"\n />\n </svg>\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"exit\">\n <path\n d=\"M5.39655 -0.0200195L5.38955 2.38748C5.38795 2.94488 4.93315 3.39708 4.37565 3.39538L0.0103463 3.38278L0.00744629 4.38278L4.37285 4.39538C5.48345 4.39858 6.38635 3.50088 6.38965 2.39028L6.39665 -0.0200195H5.39655Z\"\n />\n <path\n d=\"M12.6411 2.36891L12.6479 0.0078125H11.6479L11.6411 2.36601C11.6379 3.47651 12.5356 4.37951 13.6462 4.38271L18.0116 4.39531L18.0145 3.39531L13.6491 3.38271C13.0917 3.38111 12.6395 2.92641 12.6411 2.36891Z\"\n />\n <path\n d=\"M12.6034 14.0204L12.6104 11.613C12.612 11.0556 13.0668 10.6034 13.6242 10.605L17.9896 10.6176L17.9925 9.61759L13.6271 9.60499C12.5165 9.60179 11.6136 10.4995 11.6104 11.6101L11.6034 14.0204H12.6034Z\"\n />\n <path\n d=\"M5.359 11.6315L5.3522 13.9926H6.3522L6.359 11.6344C6.3622 10.5238 5.4645 9.62088 4.3539 9.61758L-0.0115043 9.60498L-0.0144043 10.605L4.351 10.6176C4.9084 10.6192 5.3607 11.074 5.359 11.6315Z\"\n />\n </svg>\n </media-fullscreen-button>\n </template>\n\n <template partial=\"CastButton\">\n <media-cast-button part=\"bottom cast button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"enter\">\n <path\n d=\"M16.0072 0H2.0291C0.9185 0 0.0181 0.9003 0.0181 2.011V5.5009C0.357 5.5016 0.6895 5.5275 1.0181 5.5669V2.011C1.0181 1.4536 1.4716 1 2.029 1H16.0072C16.5646 1 17.0181 1.4536 17.0181 2.011V11.9891C17.0181 12.5465 16.5646 13 16.0072 13H8.4358C8.4746 13.3286 8.4999 13.6611 8.4999 13.9999H16.0071C17.1177 13.9999 18.018 13.0996 18.018 11.989V2.011C18.0181 0.9003 17.1178 0 16.0072 0ZM0 6.4999V7.4999C3.584 7.4999 6.5 10.4159 6.5 13.9999H7.5C7.5 9.8642 4.1357 6.4999 0 6.4999ZM0 8.7499V9.7499C2.3433 9.7499 4.25 11.6566 4.25 13.9999H5.25C5.25 11.1049 2.895 8.7499 0 8.7499ZM0.0181 11V14H3.0181C3.0181 12.3431 1.675 11 0.0181 11Z\"\n />\n </svg>\n <svg viewBox=\"0 0 18 14\" aria-hidden=\"true\" slot=\"exit\">\n <path\n d=\"M15.9891 0H2.01103C0.900434 0 3.35947e-05 0.9003 3.35947e-05 2.011V5.5009C0.338934 5.5016 0.671434 5.5275 1.00003 5.5669V2.011C1.00003 1.4536 1.45353 1 2.01093 1H15.9891C16.5465 1 17 1.4536 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H8.41773C8.45653 13.3286 8.48183 13.6611 8.48183 13.9999H15.989C17.0996 13.9999 17.9999 13.0996 17.9999 11.989V2.011C18 0.9003 17.0997 0 15.9891 0ZM-0.0180664 6.4999V7.4999C3.56593 7.4999 6.48193 10.4159 6.48193 13.9999H7.48193C7.48193 9.8642 4.11763 6.4999 -0.0180664 6.4999ZM-0.0180664 8.7499V9.7499C2.32523 9.7499 4.23193 11.6566 4.23193 13.9999H5.23193C5.23193 11.1049 2.87693 8.7499 -0.0180664 8.7499ZM3.35947e-05 11V14H3.00003C3.00003 12.3431 1.65693 11 3.35947e-05 11Z\"\n />\n <path d=\"M2.15002 5.634C5.18352 6.4207 7.57252 8.8151 8.35282 11.8499H15.8501V2.1499H2.15002V5.634Z\" />\n </svg>\n </media-cast-button>\n </template>\n\n <template partial=\"LiveButton\">\n <media-live-button part=\"{{section ?? 'top'}} live button\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\">\n <span slot=\"text\">Live</span>\n </media-live-button>\n </template>\n\n <template partial=\"PlaybackRateMenu\">\n <media-playback-rate-menu-button part=\"bottom playback-rate button\"></media-playback-rate-menu-button>\n <media-playback-rate-menu\n hidden\n anchor=\"auto\"\n rates=\"{{playbackrates}}\"\n exportparts=\"menu-item\"\n part=\"bottom playback-rate menu\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n ></media-playback-rate-menu>\n </template>\n\n <template partial=\"VolumeRange\">\n <media-volume-range\n part=\"bottom volume range\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n ></media-volume-range>\n </template>\n\n <template partial=\"TimeDisplay\">\n <media-time-display\n remaining=\"{{defaultshowremainingtime}}\"\n showduration=\"{{!hideduration}}\"\n part=\"bottom time display\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n ></media-time-display>\n </template>\n\n <template partial=\"TimeRange\">\n <media-time-range part=\"bottom time range\" disabled=\"{{disabled}}\" aria-disabled=\"{{disabled}}\" exportparts=\"thumb\">\n <media-preview-thumbnail slot=\"preview\"></media-preview-thumbnail>\n <media-preview-chapter-display slot=\"preview\"></media-preview-chapter-display>\n <media-preview-time-display slot=\"preview\"></media-preview-time-display>\n <div slot=\"preview\" part=\"arrow\"></div>\n </media-time-range>\n </template>\n\n <template partial=\"AudioTrackMenu\">\n <media-audio-track-menu-button part=\"bottom audio-track button\">\n <svg aria-hidden=\"true\" slot=\"icon\" viewBox=\"0 0 18 16\">\n <path d=\"M9 15A7 7 0 1 1 9 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 9 0a8 8 0 0 0 0 16Z\" />\n <path\n d=\"M5.2 6.3a.5.5 0 0 1 .5.5v2.4a.5.5 0 1 1-1 0V6.8a.5.5 0 0 1 .5-.5Zm2.4-2.4a.5.5 0 0 1 .5.5v7.2a.5.5 0 0 1-1 0V4.4a.5.5 0 0 1 .5-.5ZM10 5.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.4-.8a.5.5 0 0 1 .5.5v5.6a.5.5 0 0 1-1 0V5.2a.5.5 0 0 1 .5-.5Z\"\n />\n </svg>\n </media-audio-track-menu-button>\n <media-audio-track-menu\n hidden\n anchor=\"auto\"\n part=\"bottom audio-track menu\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n exportparts=\"menu-item\"\n >\n <div slot=\"checked-indicator\">\n <style>\n .indicator {\n position: relative;\n top: 1px;\n width: 0.9em;\n height: auto;\n fill: var(--_accent-color);\n margin-right: 5px;\n }\n\n [aria-checked='false'] .indicator {\n display: none;\n }\n </style>\n <svg viewBox=\"0 0 14 18\" class=\"indicator\">\n <path\n d=\"M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </div>\n </media-audio-track-menu>\n </template>\n\n <template partial=\"RenditionMenu\">\n <media-rendition-menu-button part=\"bottom rendition button\">\n <svg aria-hidden=\"true\" slot=\"icon\" viewBox=\"0 0 18 14\">\n <path\n d=\"M2.25 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM9 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6.75 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n />\n </svg>\n </media-rendition-menu-button>\n <media-rendition-menu\n hidden\n anchor=\"auto\"\n part=\"bottom rendition menu\"\n disabled=\"{{disabled}}\"\n aria-disabled=\"{{disabled}}\"\n >\n <div slot=\"checked-indicator\">\n <style>\n .indicator {\n position: relative;\n top: 1px;\n width: 0.9em;\n height: auto;\n fill: var(--_accent-color);\n margin-right: 5px;\n }\n\n [aria-checked='false'] .indicator {\n opacity: 0;\n }\n </style>\n <svg viewBox=\"0 0 14 18\" class=\"indicator\">\n <path\n d=\"M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </div>\n </media-rendition-menu>\n </template>\n\n <template partial=\"MuxBadge\">\n <div part=\"mux-badge\">\n <a href=\"https://www.mux.com/player\" target=\"_blank\">\n <span class=\"mux-badge-text\">Powered by</span>\n <div class=\"mux-badge-logo\">\n <svg\n viewBox=\"0 0 1600 500\"\n style=\"fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2\"\n >\n <g>\n <path\n d=\"M994.287,93.486c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m0,-93.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,68.943 -56.09,125.033 -125.032,125.033c-68.942,-0 -125.03,-56.09 -125.03,-125.033l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,137.853 112.149,250.003 249.999,250.003c137.851,-0 250.001,-112.15 250.001,-250.003l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486\"\n style=\"fill-rule: nonzero\"\n ></path>\n <path\n d=\"M1537.51,468.511c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m-275.883,-218.509l-143.33,143.329c-24.402,24.402 -24.402,63.966 0,88.368c24.402,24.402 63.967,24.402 88.369,-0l143.33,-143.329l143.328,143.329c24.402,24.4 63.967,24.402 88.369,-0c24.403,-24.402 24.403,-63.966 0.001,-88.368l-143.33,-143.329l0.001,-0.004l143.329,-143.329c24.402,-24.402 24.402,-63.965 0,-88.367c-24.402,-24.402 -63.967,-24.402 -88.369,-0l-143.329,143.328l-143.329,-143.328c-24.402,-24.401 -63.967,-24.402 -88.369,-0c-24.402,24.402 -24.402,63.965 0,88.367l143.329,143.329l0,0.004Z\"\n style=\"fill-rule: nonzero\"\n ></path>\n <path\n d=\"M437.511,468.521c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m23.915,-463.762c-23.348,-9.672 -50.226,-4.327 -68.096,13.544l-143.331,143.329l-143.33,-143.329c-17.871,-17.871 -44.747,-23.216 -68.096,-13.544c-23.349,9.671 -38.574,32.455 -38.574,57.729l0,375.026c0,34.51 27.977,62.486 62.487,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-224.173l80.843,80.844c24.404,24.402 63.965,24.402 88.369,-0l80.843,-80.844l0,224.173c0,34.51 27.976,62.486 62.486,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-375.026c0,-25.274 -15.224,-48.058 -38.573,-57.729\"\n style=\"fill-rule: nonzero\"\n ></path>\n </g>\n </svg>\n </div>\n </a>\n </div>\n </template>\n\n <media-controller\n part=\"controller\"\n defaultstreamtype=\"{{defaultstreamtype ?? 'on-demand'}}\"\n breakpoints=\"sm:470\"\n gesturesdisabled=\"{{disabled}}\"\n hotkeys=\"{{hotkeys}}\"\n nohotkeys=\"{{nohotkeys}}\"\n novolumepref=\"{{novolumepref}}\"\n audio=\"{{audio}}\"\n noautoseektolive=\"{{noautoseektolive}}\"\n defaultsubtitles=\"{{defaultsubtitles}}\"\n defaultduration=\"{{defaultduration ?? false}}\"\n keyboardforwardseekoffset=\"{{forwardseekoffset}}\"\n keyboardbackwardseekoffset=\"{{backwardseekoffset}}\"\n exportparts=\"layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer\"\n style=\"--_pre-playback-place:{{preplaybackplace ?? 'center'}}\"\n >\n <slot name=\"media\" slot=\"media\"></slot>\n <slot name=\"poster\" slot=\"poster\"></slot>\n\n <media-loading-indicator slot=\"centered-chrome\" noautohide></media-loading-indicator>\n\n <template if=\"!audio\">\n <media-error-dialog slot=\"dialog\" noautohide></media-error-dialog>\n <!-- Pre-playback UI -->\n <!-- same for both on-demand and live -->\n <div slot=\"centered-chrome\" class=\"center-controls pre-playback\">\n <template if=\"!breakpointsm\">{{>PlayButton section=\"center\"}}</template>\n <template if=\"breakpointsm\">{{>PrePlayButton section=\"center\"}}</template>\n </div>\n\n <!-- Mux Badge -->\n <template if=\"proudlydisplaymuxbadge\"> {{>MuxBadge}} </template>\n\n <!-- Autoplay centered unmute button -->\n <!--\n todo: figure out how show this with available state variables\n needs to show when:\n - autoplay is enabled\n - playback has been successful\n - audio is muted\n - in place / instead of the pre-plaback play button\n - not to show again after user has interacted with this button\n - OR user has interacted with the mute button in the control bar\n -->\n <!--\n There should be a >MuteButton to the left of the \"Unmute\" text, but a templating bug\n makes it appear even if commented out in the markup, add it back when code is un-commented\n -->\n <!-- <div slot=\"centered-chrome\" class=\"autoplay-unmute\">\n <div role=\"button\" class=\"autoplay-unmute-btn\">Unmute</div>\n </div> -->\n\n <template if=\"streamtype == 'on-demand'\">\n <template if=\"breakpointsm\">\n <media-control-bar part=\"control-bar top\" slot=\"top-chrome\">{{>TitleDisplay}} </media-control-bar>\n </template>\n {{>TimeRange}}\n <media-control-bar part=\"control-bar bottom\">\n {{>PlayButton}} {{>SeekBackwardButton}} {{>SeekForwardButton}} {{>TimeDisplay}} {{>MuteButton}}\n {{>VolumeRange}}\n <div class=\"spacer\"></div>\n {{>RenditionMenu}} {{>PlaybackRateMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}}\n {{>CastButton}} {{>PipButton}} {{>FullscreenButton}}\n </media-control-bar>\n </template>\n\n <template if=\"streamtype == 'live'\">\n <media-control-bar part=\"control-bar top\" slot=\"top-chrome\">\n {{>LiveButton}}\n <template if=\"breakpointsm\"> {{>TitleDisplay}} </template>\n </media-control-bar>\n <template if=\"targetlivewindow > 0\">{{>TimeRange}}</template>\n <media-control-bar part=\"control-bar bottom\">\n {{>PlayButton}}\n <template if=\"targetlivewindow > 0\">{{>SeekBackwardButton}} {{>SeekForwardButton}}</template>\n {{>MuteButton}} {{>VolumeRange}}\n <div class=\"spacer\"></div>\n {{>RenditionMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} {{>CastButton}} {{>PipButton}}\n {{>FullscreenButton}}\n </media-control-bar>\n </template>\n </template>\n\n <template if=\"audio\">\n <template if=\"streamtype == 'on-demand'\">\n <template if=\"title\">\n <media-control-bar part=\"control-bar top\">{{>TitleDisplay}}</media-control-bar>\n </template>\n <media-control-bar part=\"control-bar bottom\">\n {{>PlayButton}}\n <template if=\"breakpointsm\"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template>\n {{>MuteButton}}\n <template if=\"breakpointsm\">{{>VolumeRange}}</template>\n {{>TimeDisplay}} {{>TimeRange}}\n <template if=\"breakpointsm\">{{>PlaybackRateMenu}}</template>\n {{>AirplayButton}} {{>CastButton}}\n </media-control-bar>\n </template>\n\n <template if=\"streamtype == 'live'\">\n <template if=\"title\">\n <media-control-bar part=\"control-bar top\">{{>TitleDisplay}}</media-control-bar>\n </template>\n <media-control-bar part=\"control-bar bottom\">\n {{>PlayButton}} {{>LiveButton section=\"bottom\"}} {{>MuteButton}}\n <template if=\"breakpointsm\">\n {{>VolumeRange}}\n <template if=\"targetlivewindow > 0\"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template>\n </template>\n <template if=\"targetlivewindow > 0\"> {{>TimeDisplay}} {{>TimeRange}} </template>\n <template if=\"!targetlivewindow\"><div class=\"spacer\"></div></template>\n {{>AirplayButton}} {{>CastButton}}\n </media-control-bar>\n </template>\n </template>\n\n <slot></slot>\n </media-controller>\n</template>\n`;import{MediaThemeElement as ka}from\"media-chrome/dist/media-theme-element.js\";import\"media-chrome/dist/menu\";var Pe=D.createElement(\"template\");\"innerHTML\"in Pe&&(Pe.innerHTML=St);var Nt,It,ye=class extends ka{};ye.template=(It=(Nt=Pe.content)==null?void 0:Nt.children)==null?void 0:It[0];_.customElements.get(\"media-theme-gerwig\")||_.customElements.define(\"media-theme-gerwig\",ye);var La=\"gerwig\",N={SRC:\"src\",POSTER:\"poster\"},o={STYLE:\"style\",DEFAULT_HIDDEN_CAPTIONS:\"default-hidden-captions\",PRIMARY_COLOR:\"primary-color\",SECONDARY_COLOR:\"secondary-color\",ACCENT_COLOR:\"accent-color\",FORWARD_SEEK_OFFSET:\"forward-seek-offset\",BACKWARD_SEEK_OFFSET:\"backward-seek-offset\",PLAYBACK_TOKEN:\"playback-token\",THUMBNAIL_TOKEN:\"thumbnail-token\",STORYBOARD_TOKEN:\"storyboard-token\",FULLSCREEN_ELEMENT:\"fullscreen-element\",DRM_TOKEN:\"drm-token\",STORYBOARD_SRC:\"storyboard-src\",THUMBNAIL_TIME:\"thumbnail-time\",AUDIO:\"audio\",NOHOTKEYS:\"nohotkeys\",HOTKEYS:\"hotkeys\",PLAYBACK_RATES:\"playbackrates\",DEFAULT_SHOW_REMAINING_TIME:\"default-show-remaining-time\",DEFAULT_DURATION:\"default-duration\",TITLE:\"title\",VIDEO_TITLE:\"video-title\",PLACEHOLDER:\"placeholder\",THEME:\"theme\",DEFAULT_STREAM_TYPE:\"default-stream-type\",TARGET_LIVE_WINDOW:\"target-live-window\",EXTRA_SOURCE_PARAMS:\"extra-source-params\",NO_VOLUME_PREF:\"no-volume-pref\",NO_MUTED_PREF:\"no-muted-pref\",CAST_RECEIVER:\"cast-receiver\",NO_TOOLTIPS:\"no-tooltips\",PROUDLY_DISPLAY_MUX_BADGE:\"proudly-display-mux-badge\",DISABLE_PSEUDO_ENDED:\"disable-pseudo-ended\"},Be=[\"audio\",\"backwardseekoffset\",\"defaultduration\",\"defaultshowremainingtime\",\"defaultsubtitles\",\"noautoseektolive\",\"disabled\",\"exportparts\",\"forwardseekoffset\",\"hideduration\",\"hotkeys\",\"nohotkeys\",\"playbackrates\",\"defaultstreamtype\",\"streamtype\",\"style\",\"targetlivewindow\",\"template\",\"title\",\"videotitle\",\"novolumepref\",\"nomutedpref\",\"proudlydisplaymuxbadge\"];function Ma(t,a){var i,r,s;return{src:!t.playbackId&&t.src,playbackId:t.playbackId,hasSrc:!!t.playbackId||!!t.src||!!t.currentSrc,poster:t.poster,storyboard:((i=t.media)==null?void 0:i.currentSrc)&&t.storyboard,storyboardSrc:t.getAttribute(o.STORYBOARD_SRC),fullscreenElement:t.getAttribute(o.FULLSCREEN_ELEMENT),placeholder:t.getAttribute(\"placeholder\"),themeTemplate:Na(t),thumbnailTime:!t.tokens.thumbnail&&t.thumbnailTime,autoplay:t.autoplay,crossOrigin:t.crossOrigin,loop:t.loop,noHotKeys:t.hasAttribute(o.NOHOTKEYS),hotKeys:t.getAttribute(o.HOTKEYS),muted:t.muted,paused:t.paused,preload:t.preload,envKey:t.envKey,preferCmcd:t.preferCmcd,debug:t.debug,disableTracking:t.disableTracking,disableCookies:t.disableCookies,tokens:t.tokens,beaconCollectionDomain:t.beaconCollectionDomain,maxResolution:t.maxResolution,minResolution:t.minResolution,maxAutoResolution:t.maxAutoResolution,programStartTime:t.programStartTime,programEndTime:t.programEndTime,assetStartTime:t.assetStartTime,assetEndTime:t.assetEndTime,renditionOrder:t.renditionOrder,metadata:t.metadata,playerInitTime:t.playerInitTime,playerSoftwareName:t.playerSoftwareName,playerSoftwareVersion:t.playerSoftwareVersion,startTime:t.startTime,initialBandwidthEstimateKbps:t.initialBandwidthEstimateKbps,initialEstimateSegments:t.initialEstimateSegments,minPreloadSegments:t.minPreloadSegments,preferPlayback:t.preferPlayback,audio:t.audio,defaultStreamType:t.defaultStreamType,targetLiveWindow:t.getAttribute(n.TARGET_LIVE_WINDOW),streamType:ee(t.getAttribute(n.STREAM_TYPE)),primaryColor:t.getAttribute(o.PRIMARY_COLOR),secondaryColor:t.getAttribute(o.SECONDARY_COLOR),accentColor:t.getAttribute(o.ACCENT_COLOR),forwardSeekOffset:t.forwardSeekOffset,backwardSeekOffset:t.backwardSeekOffset,defaultHiddenCaptions:t.defaultHiddenCaptions,defaultDuration:t.defaultDuration,defaultShowRemainingTime:t.defaultShowRemainingTime,hideDuration:Ia(t),playbackRates:t.getAttribute(o.PLAYBACK_RATES),customDomain:(r=t.getAttribute(n.CUSTOM_DOMAIN))!=null?r:void 0,title:t.getAttribute(o.TITLE),videoTitle:(s=t.getAttribute(o.VIDEO_TITLE))!=null?s:t.getAttribute(o.TITLE),novolumepref:t.hasAttribute(o.NO_VOLUME_PREF),nomutedpref:t.hasAttribute(o.NO_MUTED_PREF),proudlyDisplayMuxBadge:t.hasAttribute(o.PROUDLY_DISPLAY_MUX_BADGE),castReceiver:t.castReceiver,disablePseudoEnded:t.hasAttribute(o.DISABLE_PSEUDO_ENDED),capRenditionToPlayerSize:t.capRenditionToPlayerSize,...a,extraSourceParams:t.extraSourceParams}}var Sa=Ht.formatErrorMessage;Ht.formatErrorMessage=t=>{var a,e;if(t instanceof ve){let i=Mt(t,!1);return`\n ${i!=null&&i.title?`<h3>${i.title}</h3>`:\"\"}\n ${i!=null&&i.message||i!=null&&i.linkUrl?`<p>\n ${i==null?void 0:i.message}\n ${i!=null&&i.linkUrl?`<a\n href=\"${i.linkUrl}\"\n target=\"_blank\"\n rel=\"external noopener\"\n aria-label=\"${(a=i.linkText)!=null?a:\"\"} ${V(\"(opens in a new window)\")}\"\n >${(e=i.linkText)!=null?e:i.linkUrl}</a\n >`:\"\"}\n </p>`:\"\"}\n `}return Sa(t)};function Na(t){var e,i;let a=t.theme;if(a){let r=(i=(e=t.getRootNode())==null?void 0:e.getElementById)==null?void 0:i.call(e,a);if(r&&r instanceof HTMLTemplateElement)return r;a.startsWith(\"media-theme-\")||(a=`media-theme-${a}`);let s=_.customElements.get(a);if(s!=null&&s.template)return s.template}}function Ia(t){var e;let a=(e=t.mediaController)==null?void 0:e.querySelector(\"media-time-display\");return a&&getComputedStyle(a).getPropertyValue(\"--media-duration-display-display\").trim()===\"none\"}function Ut(t){let a=t.videoTitle?{video_title:t.videoTitle}:{};return t.getAttributeNames().filter(e=>e.startsWith(\"metadata-\")).reduce((e,i)=>{let r=t.getAttribute(i);return r!==null&&(e[i.replace(/^metadata-/,\"\").replace(/-/g,\"_\")]=r),e},a)}var Pa=Object.values(n),wa=Object.values(N),Da=Object.values(o),Bt=be(),Vt=\"mux-player\",Kt={isDialogOpen:!1},Ua={redundant_streams:!0},re,W,oe,w,ne,Z,se,de,H,G,$,le,m,I,$t,Ke,K,Ft,Yt,Wt,Zt,Ve=class extends Me{constructor(){super();h(this,m);h(this,re);h(this,W,!1);h(this,oe,{});h(this,w,!0);h(this,ne,new pe(this,\"hotkeys\"));h(this,Z);h(this,se,()=>p(this,m,K).call(this));h(this,de,()=>p(this,m,K).call(this));h(this,H,()=>p(this,m,K).call(this));h(this,G);h(this,$,{...Kt,onCloseErrorDialog:e=>{var r;((r=e.composedPath()[0])==null?void 0:r.localName)===\"media-error-dialog\"&&p(this,m,Ke).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:e=>{var s;if(((s=e.composedPath()[0])==null?void 0:s.localName)!==\"media-error-dialog\")return;Re(this,D.activeElement)||e.preventDefault()}});h(this,le,e=>{var s;let i=(s=this.media)==null?void 0:s.error;if(!(i instanceof ve)){let{message:d,code:u}=i!=null?i:{};i=new ve(d,u)}if(!(i!=null&&i.fatal)){O(i),i.data&&O(`${i.name} data:`,i.data);return}let r=Ie(i,!1);r.message&&Oe(r),k(i),i.data&&k(`${i.name} data:`,i.data),p(this,m,Ke).call(this,{isDialogOpen:!0})});y(this,re,Oa()),this.attachShadow({mode:\"open\"}),p(this,m,$t).call(this),this.isConnected&&p(this,m,I).call(this)}static get NAME(){return Vt}static get VERSION(){return Bt}static get observedAttributes(){var e;return[...(e=Me.observedAttributes)!=null?e:[],...wa,...Pa,...Da]}get mediaTheme(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector(\"media-theme\")}get mediaController(){var e,i;return(i=(e=this.mediaTheme)==null?void 0:e.shadowRoot)==null?void 0:i.querySelector(\"media-controller\")}connectedCallback(){p(this,m,I).call(this);let e=this.media;e&&(e.metadata=Ut(this))}disconnectedCallback(){var e,i,r,s,d,u,b,R;(e=l(this,Z))==null||e.disconnect(),(i=this.media)==null||i.removeEventListener(\"streamtypechange\",l(this,se)),(r=this.media)==null||r.removeEventListener(\"loadstart\",l(this,de)),this.removeEventListener(\"error\",l(this,le)),this.media&&(this.media.errorTranslator=void 0),(d=(s=this.media)==null?void 0:s.textTracks)==null||d.removeEventListener(\"addtrack\",l(this,H)),(b=(u=this.media)==null?void 0:u.textTracks)==null||b.removeEventListener(\"removetrack\",l(this,H)),(R=l(this,G))==null||R.call(this),y(this,G,void 0),y(this,W,!1)}attributeChangedCallback(e,i,r){switch(p(this,m,I).call(this),super.attributeChangedCallback(e,i,r),e){case o.HOTKEYS:l(this,ne).value=r;break;case o.THUMBNAIL_TIME:{r!=null&&this.tokens.thumbnail&&O(V(\"Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.\").toString());break}case o.THUMBNAIL_TOKEN:{if(r){let d=De(r);if(d){let{aud:u}=d,b=Ue.THUMBNAIL;u!==b&&O(V(\"The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.\").format({aud:u,expectedAud:b,tokenNamePrefix:\"thumbnail\"}))}}break}case o.STORYBOARD_TOKEN:{if(r){let d=De(r);if(d){let{aud:u}=d,b=Ue.STORYBOARD;u!==b&&O(V(\"The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.\").format({aud:u,expectedAud:b,tokenNamePrefix:\"storyboard\"}))}}break}case o.DRM_TOKEN:{if(r){let d=De(r);if(d){let{aud:u}=d,b=Ue.DRM;u!==b&&O(V(\"The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.\").format({aud:u,expectedAud:b,tokenNamePrefix:\"drm\"}))}}break}case n.PLAYBACK_ID:{r!=null&&r.includes(\"?token\")&&k(V(\"The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.\").format({playbackId:r}));break}case n.STREAM_TYPE:{r&&![L.LIVE,L.ON_DEMAND,L.UNKNOWN].includes(r)?[\"ll-live\",\"live:dvr\",\"ll-live:dvr\"].includes(this.streamType)?this.targetLiveWindow=r.includes(\"dvr\")?Number.POSITIVE_INFINITY:0:Oe({file:\"invalid-stream-type.md\",message:V(\"Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`\").format({streamType:this.streamType})}):r===L.LIVE?this.getAttribute(o.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN;break}case o.FULLSCREEN_ELEMENT:{if(r!=null||r!==i){let d=D.getElementById(r),u=d==null?void 0:d.querySelector(\"mux-player\");this.mediaController&&d&&u&&(this.mediaController.fullscreenElement=d)}break}case n.CAP_RENDITION_TO_PLAYER_SIZE:{(r==null||r!==i)&&(this.capRenditionToPlayerSize=r!=null?!0:void 0);break}}[n.PLAYBACK_ID,N.SRC,o.PLAYBACK_TOKEN].includes(e)&&i!==r&&y(this,$,{...l(this,$),...Kt}),p(this,m,K).call(this,{[ft(e)]:r})}async requestFullscreen(e){var i;if(!(!this.mediaController||this.mediaController.hasAttribute(Ee.MEDIA_IS_FULLSCREEN)))return(i=this.mediaController)==null||i.dispatchEvent(new _.CustomEvent(wt.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((r,s)=>{var d;(d=this.mediaController)==null||d.addEventListener(Pt.MEDIA_IS_FULLSCREEN,()=>r(),{once:!0})})}async exitFullscreen(){var e;if(!(!this.mediaController||!this.mediaController.hasAttribute(Ee.MEDIA_IS_FULLSCREEN)))return(e=this.mediaController)==null||e.dispatchEvent(new _.CustomEvent(wt.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((i,r)=>{var s;(s=this.mediaController)==null||s.addEventListener(Pt.MEDIA_IS_FULLSCREEN,()=>i(),{once:!0})})}get preferCmcd(){var e;return(e=this.getAttribute(n.PREFER_CMCD))!=null?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?Dt.includes(e)?this.setAttribute(n.PREFER_CMCD,e):O(`Invalid value for preferCmcd. Must be one of ${Dt.join()}`):this.removeAttribute(n.PREFER_CMCD))}get hasPlayed(){var e,i;return(i=(e=this.mediaController)==null?void 0:e.hasAttribute(Ee.MEDIA_HAS_PLAYED))!=null?i:!1}get inLiveWindow(){var e;return(e=this.mediaController)==null?void 0:e.hasAttribute(Ee.MEDIA_TIME_IS_LIVE)}get _hls(){var e;return(e=this.media)==null?void 0:e._hls}get mux(){var e;return(e=this.media)==null?void 0:e.mux}get theme(){var e;return(e=this.getAttribute(o.THEME))!=null?e:La}set theme(e){this.setAttribute(o.THEME,`${e}`)}get themeProps(){let e=this.mediaTheme;if(!e)return;let i={};for(let r of e.getAttributeNames()){if(Be.includes(r))continue;let s=e.getAttribute(r);i[ce(r)]=s===\"\"?!0:s}return i}set themeProps(e){var r,s;p(this,m,I).call(this);let i={...this.themeProps,...e};for(let d in i){if(Be.includes(d))continue;let u=e==null?void 0:e[d];typeof u==\"boolean\"||u==null?(r=this.mediaTheme)==null||r.toggleAttribute(me(d),!!u):(s=this.mediaTheme)==null||s.setAttribute(me(d),u)}}get playbackId(){var e;return(e=this.getAttribute(n.PLAYBACK_ID))!=null?e:void 0}set playbackId(e){e?this.setAttribute(n.PLAYBACK_ID,e):this.removeAttribute(n.PLAYBACK_ID)}get src(){var e,i;return this.playbackId?(e=M(this,N.SRC))!=null?e:void 0:(i=this.getAttribute(N.SRC))!=null?i:void 0}set src(e){e?this.setAttribute(N.SRC,e):this.removeAttribute(N.SRC)}get poster(){var r;let e=this.getAttribute(N.POSTER);if(e!=null)return e;let{tokens:i}=this;if(i.playback&&!i.thumbnail){O(\"Missing expected thumbnail token. No poster image will be shown\");return}if(this.playbackId&&!this.audio)return ht(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(r=this.thumbnailTime)!=null?r:this.startTime,programTime:this.programStartTime,token:i.thumbnail})}set poster(e){e||e===\"\"?this.setAttribute(N.POSTER,e):this.removeAttribute(N.POSTER)}get storyboardSrc(){var e;return(e=this.getAttribute(o.STORYBOARD_SRC))!=null?e:void 0}set storyboardSrc(e){e?this.setAttribute(o.STORYBOARD_SRC,e):this.removeAttribute(o.STORYBOARD_SRC)}get storyboard(){let{tokens:e}=this;if(this.storyboardSrc&&!e.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[L.LIVE,L.UNKNOWN].includes(this.streamType)||e.playback&&!e.storyboard))return gt(this.playbackId,{customDomain:this.customDomain,token:e.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(o.AUDIO)}set audio(e){if(!e){this.removeAttribute(o.AUDIO);return}this.setAttribute(o.AUDIO,\"\")}get hotkeys(){return l(this,ne)}get nohotkeys(){return this.hasAttribute(o.NOHOTKEYS)}set nohotkeys(e){if(!e){this.removeAttribute(o.NOHOTKEYS);return}this.setAttribute(o.NOHOTKEYS,\"\")}get thumbnailTime(){return f(this.getAttribute(o.THUMBNAIL_TIME))}set thumbnailTime(e){this.setAttribute(o.THUMBNAIL_TIME,`${e}`)}get videoTitle(){var e,i;return(i=(e=this.getAttribute(o.VIDEO_TITLE))!=null?e:this.getAttribute(o.TITLE))!=null?i:\"\"}set videoTitle(e){e!==this.videoTitle&&(e?this.setAttribute(o.VIDEO_TITLE,e):this.removeAttribute(o.VIDEO_TITLE))}get placeholder(){var e;return(e=M(this,o.PLACEHOLDER))!=null?e:\"\"}set placeholder(e){this.setAttribute(o.PLACEHOLDER,`${e}`)}get primaryColor(){var i,r;let e=this.getAttribute(o.PRIMARY_COLOR);if(e!=null||this.mediaTheme&&(e=(r=(i=_.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue(\"--_primary-color\"))==null?void 0:r.trim(),e))return e}set primaryColor(e){this.setAttribute(o.PRIMARY_COLOR,`${e}`)}get secondaryColor(){var i,r;let e=this.getAttribute(o.SECONDARY_COLOR);if(e!=null||this.mediaTheme&&(e=(r=(i=_.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue(\"--_secondary-color\"))==null?void 0:r.trim(),e))return e}set secondaryColor(e){this.setAttribute(o.SECONDARY_COLOR,`${e}`)}get accentColor(){var i,r;let e=this.getAttribute(o.ACCENT_COLOR);if(e!=null||this.mediaTheme&&(e=(r=(i=_.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue(\"--_accent-color\"))==null?void 0:r.trim(),e))return e}set accentColor(e){this.setAttribute(o.ACCENT_COLOR,`${e}`)}get defaultShowRemainingTime(){return this.hasAttribute(o.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(e){e?this.setAttribute(o.DEFAULT_SHOW_REMAINING_TIME,\"\"):this.removeAttribute(o.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(o.PLAYBACK_RATES))return this.getAttribute(o.PLAYBACK_RATES).trim().split(/\\s*,?\\s+/).map(e=>Number(e)).filter(e=>!Number.isNaN(e)).sort((e,i)=>e-i)}set playbackRates(e){if(!e){this.removeAttribute(o.PLAYBACK_RATES);return}this.setAttribute(o.PLAYBACK_RATES,e.join(\" \"))}get forwardSeekOffset(){var e;return(e=f(this.getAttribute(o.FORWARD_SEEK_OFFSET)))!=null?e:10}set forwardSeekOffset(e){this.setAttribute(o.FORWARD_SEEK_OFFSET,`${e}`)}get backwardSeekOffset(){var e;return(e=f(this.getAttribute(o.BACKWARD_SEEK_OFFSET)))!=null?e:10}set backwardSeekOffset(e){this.setAttribute(o.BACKWARD_SEEK_OFFSET,`${e}`)}get defaultHiddenCaptions(){return this.hasAttribute(o.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(e){e?this.setAttribute(o.DEFAULT_HIDDEN_CAPTIONS,\"\"):this.removeAttribute(o.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return f(this.getAttribute(o.DEFAULT_DURATION))}set defaultDuration(e){e==null?this.removeAttribute(o.DEFAULT_DURATION):this.setAttribute(o.DEFAULT_DURATION,`${e}`)}get playerInitTime(){return this.hasAttribute(n.PLAYER_INIT_TIME)?f(this.getAttribute(n.PLAYER_INIT_TIME)):l(this,re)}set playerInitTime(e){e!=this.playerInitTime&&(e==null?this.removeAttribute(n.PLAYER_INIT_TIME):this.setAttribute(n.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return(e=this.getAttribute(n.PLAYER_SOFTWARE_NAME))!=null?e:Vt}get playerSoftwareVersion(){var e;return(e=this.getAttribute(n.PLAYER_SOFTWARE_VERSION))!=null?e:Bt}get beaconCollectionDomain(){var e;return(e=this.getAttribute(n.BEACON_COLLECTION_DOMAIN))!=null?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(n.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(n.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var e;return(e=this.getAttribute(n.MAX_RESOLUTION))!=null?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(n.MAX_RESOLUTION,e):this.removeAttribute(n.MAX_RESOLUTION))}get minResolution(){var e;return(e=this.getAttribute(n.MIN_RESOLUTION))!=null?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(n.MIN_RESOLUTION,e):this.removeAttribute(n.MIN_RESOLUTION))}get maxAutoResolution(){var e;return(e=this.getAttribute(n.MAX_AUTO_RESOLUTION))!=null?e:void 0}set maxAutoResolution(e){e==null?this.removeAttribute(n.MAX_AUTO_RESOLUTION):this.setAttribute(n.MAX_AUTO_RESOLUTION,e)}get renditionOrder(){var e;return(e=this.getAttribute(n.RENDITION_ORDER))!=null?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(n.RENDITION_ORDER,e):this.removeAttribute(n.RENDITION_ORDER))}get programStartTime(){return f(this.getAttribute(n.PROGRAM_START_TIME))}set programStartTime(e){e==null?this.removeAttribute(n.PROGRAM_START_TIME):this.setAttribute(n.PROGRAM_START_TIME,`${e}`)}get programEndTime(){return f(this.getAttribute(n.PROGRAM_END_TIME))}set programEndTime(e){e==null?this.removeAttribute(n.PROGRAM_END_TIME):this.setAttribute(n.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){return f(this.getAttribute(n.ASSET_START_TIME))}set assetStartTime(e){e==null?this.removeAttribute(n.ASSET_START_TIME):this.setAttribute(n.ASSET_START_TIME,`${e}`)}get assetEndTime(){return f(this.getAttribute(n.ASSET_END_TIME))}set assetEndTime(e){e==null?this.removeAttribute(n.ASSET_END_TIME):this.setAttribute(n.ASSET_END_TIME,`${e}`)}get extraSourceParams(){return this.hasAttribute(o.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(o.EXTRA_SOURCE_PARAMS)).entries()].reduce((e,[i,r])=>(e[i]=r,e),{}):Ua}set extraSourceParams(e){e==null?this.removeAttribute(o.EXTRA_SOURCE_PARAMS):this.setAttribute(o.EXTRA_SOURCE_PARAMS,new URLSearchParams(e).toString())}get customDomain(){var e;return(e=this.getAttribute(n.CUSTOM_DOMAIN))!=null?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(n.CUSTOM_DOMAIN,e):this.removeAttribute(n.CUSTOM_DOMAIN))}get envKey(){var e;return(e=M(this,n.ENV_KEY))!=null?e:void 0}set envKey(e){this.setAttribute(n.ENV_KEY,`${e}`)}get noVolumePref(){return this.hasAttribute(o.NO_VOLUME_PREF)}set noVolumePref(e){e?this.setAttribute(o.NO_VOLUME_PREF,\"\"):this.removeAttribute(o.NO_VOLUME_PREF)}get noMutedPref(){return this.hasAttribute(o.NO_MUTED_PREF)}set noMutedPref(e){e?this.setAttribute(o.NO_MUTED_PREF,\"\"):this.removeAttribute(o.NO_MUTED_PREF)}get debug(){return M(this,n.DEBUG)!=null}set debug(e){e?this.setAttribute(n.DEBUG,\"\"):this.removeAttribute(n.DEBUG)}get disableTracking(){return M(this,n.DISABLE_TRACKING)!=null}set disableTracking(e){this.toggleAttribute(n.DISABLE_TRACKING,!!e)}get disableCookies(){return M(this,n.DISABLE_COOKIES)!=null}set disableCookies(e){e?this.setAttribute(n.DISABLE_COOKIES,\"\"):this.removeAttribute(n.DISABLE_COOKIES)}get streamType(){var e,i,r;return(r=(i=this.getAttribute(n.STREAM_TYPE))!=null?i:(e=this.media)==null?void 0:e.streamType)!=null?r:L.UNKNOWN}set streamType(e){this.setAttribute(n.STREAM_TYPE,`${e}`)}get defaultStreamType(){var e,i,r;return(r=(i=this.getAttribute(o.DEFAULT_STREAM_TYPE))!=null?i:(e=this.mediaController)==null?void 0:e.getAttribute(o.DEFAULT_STREAM_TYPE))!=null?r:L.ON_DEMAND}set defaultStreamType(e){e?this.setAttribute(o.DEFAULT_STREAM_TYPE,e):this.removeAttribute(o.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var e,i;return this.hasAttribute(o.TARGET_LIVE_WINDOW)?+this.getAttribute(o.TARGET_LIVE_WINDOW):(i=(e=this.media)==null?void 0:e.targetLiveWindow)!=null?i:Number.NaN}set targetLiveWindow(e){e==this.targetLiveWindow||Number.isNaN(e)&&Number.isNaN(this.targetLiveWindow)||(e==null?this.removeAttribute(o.TARGET_LIVE_WINDOW):this.setAttribute(o.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e;return(e=this.media)==null?void 0:e.liveEdgeStart}get startTime(){return f(M(this,n.START_TIME))}set startTime(e){this.setAttribute(n.START_TIME,`${e}`)}get initialBandwidthEstimateKbps(){return f(M(this,n.INITIAL_BANDWIDTH_ESTIMATE_KBPS))}set initialBandwidthEstimateKbps(e){e==null?this.removeAttribute(n.INITIAL_BANDWIDTH_ESTIMATE_KBPS):this.setAttribute(n.INITIAL_BANDWIDTH_ESTIMATE_KBPS,`${e}`)}get initialEstimateSegments(){return f(M(this,n.INITIAL_ESTIMATE_SEGMENTS))}set initialEstimateSegments(e){e==null?this.removeAttribute(n.INITIAL_ESTIMATE_SEGMENTS):this.setAttribute(n.INITIAL_ESTIMATE_SEGMENTS,`${e}`)}get minPreloadSegments(){return f(M(this,n.MIN_PRELOAD_SEGMENTS))}set minPreloadSegments(e){e==null?this.removeAttribute(n.MIN_PRELOAD_SEGMENTS):this.setAttribute(n.MIN_PRELOAD_SEGMENTS,`${e}`)}get preferPlayback(){let e=this.getAttribute(n.PREFER_PLAYBACK);if(e===Te.MSE||e===Te.NATIVE)return e}set preferPlayback(e){e!==this.preferPlayback&&(e===Te.MSE||e===Te.NATIVE?this.setAttribute(n.PREFER_PLAYBACK,e):this.removeAttribute(n.PREFER_PLAYBACK))}get metadata(){var e;return(e=this.media)==null?void 0:e.metadata}set metadata(e){if(p(this,m,I).call(this),!this.media){k(\"underlying media element missing when trying to set metadata. metadata will not be set.\");return}this.media.metadata={...Ut(this),...e}}get _hlsConfig(){var e;return(e=this.media)==null?void 0:e._hlsConfig}set _hlsConfig(e){if(p(this,m,I).call(this),!this.media){k(\"underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.\");return}this.media._hlsConfig=e}async addCuePoints(e){var i;if(p(this,m,I).call(this),!this.media){k(\"underlying media element missing when trying to addCuePoints. cuePoints will not be added.\");return}return(i=this.media)==null?void 0:i.addCuePoints(e)}get activeCuePoint(){var e;return(e=this.media)==null?void 0:e.activeCuePoint}get cuePoints(){var e,i;return(i=(e=this.media)==null?void 0:e.cuePoints)!=null?i:[]}addChapters(e){var i;if(p(this,m,I).call(this),!this.media){k(\"underlying media element missing when trying to addChapters. chapters will not be added.\");return}return(i=this.media)==null?void 0:i.addChapters(e)}get activeChapter(){var e;return(e=this.media)==null?void 0:e.activeChapter}get chapters(){var e,i;return(i=(e=this.media)==null?void 0:e.chapters)!=null?i:[]}getStartDate(){var e;return(e=this.media)==null?void 0:e.getStartDate()}get currentPdt(){var e;return(e=this.media)==null?void 0:e.currentPdt}get tokens(){let e=this.getAttribute(o.PLAYBACK_TOKEN),i=this.getAttribute(o.DRM_TOKEN),r=this.getAttribute(o.THUMBNAIL_TOKEN),s=this.getAttribute(o.STORYBOARD_TOKEN);return{...l(this,oe),...e!=null?{playback:e}:{},...i!=null?{drm:i}:{},...r!=null?{thumbnail:r}:{},...s!=null?{storyboard:s}:{}}}set tokens(e){y(this,oe,e!=null?e:{})}get playbackToken(){var e;return(e=this.getAttribute(o.PLAYBACK_TOKEN))!=null?e:void 0}set playbackToken(e){this.setAttribute(o.PLAYBACK_TOKEN,`${e}`)}get drmToken(){var e;return(e=this.getAttribute(o.DRM_TOKEN))!=null?e:void 0}set drmToken(e){this.setAttribute(o.DRM_TOKEN,`${e}`)}get thumbnailToken(){var e;return(e=this.getAttribute(o.THUMBNAIL_TOKEN))!=null?e:void 0}set thumbnailToken(e){this.setAttribute(o.THUMBNAIL_TOKEN,`${e}`)}get storyboardToken(){var e;return(e=this.getAttribute(o.STORYBOARD_TOKEN))!=null?e:void 0}set storyboardToken(e){this.setAttribute(o.STORYBOARD_TOKEN,`${e}`)}addTextTrack(e,i,r,s){var u;let d=(u=this.media)==null?void 0:u.nativeEl;if(d)return Ra(d,e,i,r,s)}removeTextTrack(e){var r;let i=(r=this.media)==null?void 0:r.nativeEl;if(i)return xa(i,e)}get textTracks(){var e;return(e=this.media)==null?void 0:e.textTracks}get castReceiver(){var e;return(e=this.getAttribute(o.CAST_RECEIVER))!=null?e:void 0}set castReceiver(e){e!==this.castReceiver&&(e?this.setAttribute(o.CAST_RECEIVER,e):this.removeAttribute(o.CAST_RECEIVER))}get castCustomData(){var e;return(e=this.media)==null?void 0:e.castCustomData}set castCustomData(e){if(!this.media){k(\"underlying media element missing when trying to set castCustomData. castCustomData will not be set.\");return}this.media.castCustomData=e}get noTooltips(){return this.hasAttribute(o.NO_TOOLTIPS)}set noTooltips(e){if(!e){this.removeAttribute(o.NO_TOOLTIPS);return}this.setAttribute(o.NO_TOOLTIPS,\"\")}get proudlyDisplayMuxBadge(){return this.hasAttribute(o.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(e){e?this.setAttribute(o.PROUDLY_DISPLAY_MUX_BADGE,\"\"):this.removeAttribute(o.PROUDLY_DISPLAY_MUX_BADGE)}get capRenditionToPlayerSize(){var e;return(e=this.media)==null?void 0:e.capRenditionToPlayerSize}set capRenditionToPlayerSize(e){if(!this.media){k(\"underlying media element missing when trying to set capRenditionToPlayerSize\");return}this.media.capRenditionToPlayerSize=e}};re=new WeakMap,W=new WeakMap,oe=new WeakMap,w=new WeakMap,ne=new WeakMap,Z=new WeakMap,se=new WeakMap,de=new WeakMap,H=new WeakMap,G=new WeakMap,$=new WeakMap,le=new WeakMap,m=new WeakSet,I=function(){var e,i,r,s;if(!l(this,W)){y(this,W,!0),p(this,m,K).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof _.HTMLElement))throw\"\"}catch{k(\"<media-theme> failed to upgrade!\")}try{customElements.upgrade(this.media)}catch{k(\"underlying media element failed to upgrade!\")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof _a))throw\"\"}catch{k(\"<media-controller> failed to upgrade!\")}p(this,m,Ft).call(this),p(this,m,Yt).call(this),p(this,m,Wt).call(this),y(this,w,(i=(e=this.mediaController)==null?void 0:e.hasAttribute(we.USER_INACTIVE))!=null?i:!0),p(this,m,Zt).call(this),(r=this.media)==null||r.addEventListener(\"streamtypechange\",l(this,se)),(s=this.media)==null||s.addEventListener(\"loadstart\",l(this,de))}},$t=function(){var e,i;try{(e=window==null?void 0:window.CSS)==null||e.registerProperty({name:\"--media-primary-color\",syntax:\"<color>\",inherits:!0}),(i=window==null?void 0:window.CSS)==null||i.registerProperty({name:\"--media-secondary-color\",syntax:\"<color>\",inherits:!0})}catch{}},Ke=function(e){Object.assign(l(this,$),e),p(this,m,K).call(this)},K=function(e={}){kt(Rt(Ma(this,{...l(this,$),...e})),this.shadowRoot)},Ft=function(){let e=i=>{var d,u;if(!(i!=null&&i.startsWith(\"theme-\")))return;let r=i.replace(/^theme-/,\"\");if(Be.includes(r))return;let s=this.getAttribute(i);s!=null?(d=this.mediaTheme)==null||d.setAttribute(r,s):(u=this.mediaTheme)==null||u.removeAttribute(r)};y(this,Z,new MutationObserver(i=>{for(let{attributeName:r}of i)e(r)})),l(this,Z).observe(this,{attributes:!0}),this.getAttributeNames().forEach(e)},Yt=function(){this.addEventListener(\"error\",l(this,le)),this.media&&(this.media.errorTranslator=(e={})=>{var r,s,d;if(!(((r=this.media)==null?void 0:r.error)instanceof ve))return e;let i=Ie((s=this.media)==null?void 0:s.error,!1);return{player_error_code:(d=this.media)==null?void 0:d.error.code,player_error_message:i.message?String(i.message):e.player_error_message,player_error_context:i.context?String(i.context):e.player_error_context}})},Wt=function(){var e,i,r,s;(i=(e=this.media)==null?void 0:e.textTracks)==null||i.addEventListener(\"addtrack\",l(this,H)),(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener(\"removetrack\",l(this,H))},Zt=function(){var j,z;if(!/Firefox/i.test(navigator.userAgent))return;let i,r=new WeakMap,s=()=>this.streamType===L.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,d=(A,T,x=!1)=>{if(s())return;Array.from(A&&A.activeCues||[]).forEach(g=>{if(!(!g.snapToLines||g.line<-5||g.line>=0&&g.line<10))if(!T||this.paused){let ue=g.text.split(`\n`).length,X=-3;this.streamType===L.LIVE&&(X=-2);let q=X-ue;if(g.line===q&&!x)return;r.has(g)||r.set(g,g.line),g.line=q}else setTimeout(()=>{g.line=r.get(g)||\"auto\"},500)})},u=()=>{var A,T;d(i,(T=(A=this.mediaController)==null?void 0:A.hasAttribute(we.USER_INACTIVE))!=null?T:!1)},b=()=>{var x,F;let T=Array.from(((F=(x=this.mediaController)==null?void 0:x.media)==null?void 0:F.textTracks)||[]).filter(g=>[\"subtitles\",\"captions\"].includes(g.kind)&&g.mode===\"showing\")[0];T!==i&&(i==null||i.removeEventListener(\"cuechange\",u)),i=T,i==null||i.addEventListener(\"cuechange\",u),d(i,l(this,w))};b(),(j=this.textTracks)==null||j.addEventListener(\"change\",b),(z=this.textTracks)==null||z.addEventListener(\"addtrack\",b);let R=()=>{var T,x;let A=(x=(T=this.mediaController)==null?void 0:T.hasAttribute(we.USER_INACTIVE))!=null?x:!0;l(this,w)!==A&&(y(this,w,A),d(i,l(this,w)))};this.addEventListener(\"userinactivechange\",R),y(this,G,()=>{var A,T;i==null||i.removeEventListener(\"cuechange\",u),(A=this.textTracks)==null||A.removeEventListener(\"change\",b),(T=this.textTracks)==null||T.removeEventListener(\"addtrack\",b),this.removeEventListener(\"userinactivechange\",R)})};function M(t,a){return t.media?t.media.getAttribute(a):t.getAttribute(a)}var Ii=Ve;export{ve as MediaError,Ii as default,Oa as generatePlayerInitTime,M as getVideoAttribute,Vt as playerSoftwareName,Bt as playerSoftwareVersion};\n","var c=e=>{throw TypeError(e)};var d=(e,t,n)=>t.has(e)||c(\"Cannot \"+n);var g=(e,t,n)=>(d(e,t,\"read from private field\"),n?n.call(e):t.get(e)),p=(e,t,n)=>t.has(e)?c(\"Cannot add the same private member more than once\"):t instanceof WeakSet?t.add(e):t.set(e,n),f=(e,t,n,i)=>(d(e,t,\"write to private field\"),i?i.call(e,n):t.set(e,n),n);var o=class{addEventListener(){}removeEventListener(){}dispatchEvent(t){return!0}};if(typeof DocumentFragment==\"undefined\"){class e extends o{}globalThis.DocumentFragment=e}var s=class extends o{},a=class extends o{},b={get(e){},define(e,t,n){},getName(e){return null},upgrade(e){},whenDefined(e){return Promise.resolve(s)}},r,m=class{constructor(t,n={}){p(this,r);f(this,r,n==null?void 0:n.detail)}get detail(){return g(this,r)}initCustomEvent(){}};r=new WeakMap;function y(e,t){return new s}var h={document:{createElement:y},DocumentFragment,customElements:b,CustomEvent:m,EventTarget:o,HTMLElement:s,HTMLVideoElement:a},E=typeof window==\"undefined\"||typeof globalThis.customElements==\"undefined\",l=E?h:globalThis,x=E?h.document:globalThis.document;import\"@mux/mux-video\";import u from\"@mux/mux-player/base\";export*from\"@mux/mux-player/base\";l.customElements.get(\"mux-player\")||(l.customElements.define(\"mux-player\",u),l.MuxPlayerElement=u);var F=u;export{F as default};\n","\"use client\";import m,{useState as pe,useRef as Ee}from\"react\";import{MaxResolution as Le,MinResolution as Ae,RenditionOrder as Ie,generatePlayerInitTime as Me}from\"@mux/playback-core\";import{MediaError as Ke}from\"@mux/mux-player\";import X from\"react\";var M=parseInt(X.version)>=19,E={className:\"class\",classname:\"class\",htmlFor:\"for\",crossOrigin:\"crossorigin\",viewBox:\"viewBox\",playsInline:\"playsinline\",autoPlay:\"autoplay\",playbackRate:\"playbackrate\"},B=e=>e==null,ee=(e,t)=>B(t)?!1:e in t,te=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),ne=(e,t)=>{if(!(!M&&typeof t==\"boolean\"&&!t)){if(ee(e,E))return E[e];if(typeof t!=\"undefined\")return/[A-Z]/.test(e)?te(e):e}};var ae=(e,t)=>!M&&typeof e==\"boolean\"?\"\":e,P=(e={})=>{let{ref:t,...n}=e;return Object.entries(n).reduce((o,[a,l])=>{let i=ne(a,l);if(!i)return o;let c=ae(l,a);return o[i]=c,o},{})};import*as d from\"react\";function x(e,t){if(typeof e==\"function\")return e(t);e!=null&&(e.current=t)}function re(...e){return t=>{let n=!1,o=e.map(a=>{let l=x(a,t);return!n&&typeof l==\"function\"&&(n=!0),l});if(n)return()=>{for(let a=0;a<o.length;a++){let l=o[a];typeof l==\"function\"?l():x(e[a],null)}}}}function f(...e){return d.useCallback(re(...e),e)}import{useEffect as le}from\"react\";var oe=Object.prototype.hasOwnProperty,ue=(e,t)=>{if(Object.is(e,t))return!0;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return!1;if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:e.some((a,l)=>t[l]===a);let n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(let a=0;a<n.length;a++)if(!oe.call(t,n[a])||!Object.is(e[n[a]],t[n[a]]))return!1;return!0},p=(e,t,n)=>!ue(t,e[n]),se=(e,t,n)=>{e[n]=t},ie=(e,t,n,o=se,a=p)=>le(()=>{let l=n==null?void 0:n.current;l&&a(l,t,e)&&o(l,t,e)},[n==null?void 0:n.current,t]),u=ie;var ye=()=>{try{return\"3.13.0\"}catch{}return\"UNKNOWN\"},me=ye(),g=()=>me;import{useEffect as ce}from\"react\";var r=(e,t,n)=>ce(()=>{let o=t==null?void 0:t.current;if(!o||!n)return;let a=e,l=n;return o.addEventListener(a,l),()=>{o.removeEventListener(a,l)}},[t==null?void 0:t.current,n,e]);var Pe=m.forwardRef(({children:e,...t},n)=>m.createElement(\"mux-player\",{suppressHydrationWarning:!0,...P(t),ref:n},e)),xe=(e,t)=>{let{onAbort:n,onCanPlay:o,onCanPlayThrough:a,onEmptied:l,onLoadStart:i,onLoadedData:c,onLoadedMetadata:v,onProgress:R,onDurationChange:T,onVolumeChange:h,onRateChange:b,onResize:C,onWaiting:k,onPlay:O,onPlaying:S,onTimeUpdate:w,onPause:N,onSeeking:L,onSeeked:A,onStalled:I,onSuspend:_,onEnded:K,onError:H,onCuePointChange:D,onChapterChange:V,metadata:W,tokens:U,paused:z,playbackId:F,playbackRates:G,currentTime:Z,themeProps:j,extraSourceParams:q,castCustomData:J,_hlsConfig:Y,...$}=t;return u(\"tokens\",U,e),u(\"playbackId\",F,e),u(\"playbackRates\",G,e),u(\"metadata\",W,e),u(\"extraSourceParams\",q,e),u(\"_hlsConfig\",Y,e),u(\"themeProps\",j,e),u(\"castCustomData\",J,e),u(\"paused\",z,e,(s,y)=>{y!=null&&(y?s.pause():s.play())},(s,y,Q)=>s.hasAttribute(\"autoplay\")&&!s.hasPlayed?!1:p(s,y,Q)),u(\"currentTime\",Z,e,(s,y)=>{y!=null&&(s.currentTime=y)}),r(\"abort\",e,n),r(\"canplay\",e,o),r(\"canplaythrough\",e,a),r(\"emptied\",e,l),r(\"loadstart\",e,i),r(\"loadeddata\",e,c),r(\"loadedmetadata\",e,v),r(\"progress\",e,R),r(\"durationchange\",e,T),r(\"volumechange\",e,h),r(\"ratechange\",e,b),r(\"resize\",e,C),r(\"waiting\",e,k),r(\"play\",e,O),r(\"playing\",e,S),r(\"timeupdate\",e,w),r(\"pause\",e,N),r(\"seeking\",e,L),r(\"seeked\",e,A),r(\"stalled\",e,I),r(\"suspend\",e,_),r(\"ended\",e,K),r(\"error\",e,H),r(\"cuepointchange\",e,D),r(\"chapterchange\",e,V),[$]},de=g(),fe=\"mux-player-react\",ge=m.forwardRef((e,t)=>{var i;let n=Ee(null),o=f(n,t),[a]=xe(n,e),[l]=pe((i=e.playerInitTime)!=null?i:Me());return m.createElement(Pe,{ref:o,defaultHiddenCaptions:e.defaultHiddenCaptions,playerSoftwareName:fe,playerSoftwareVersion:de,playerInitTime:l,...a})}),ze=ge;export{Le as MaxResolution,Ke as MediaError,Ae as MinResolution,Ie as RenditionOrder,ze as default,Me as generatePlayerInitTime,fe as playerSoftwareName,de as playerSoftwareVersion};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],"mappings":"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"}