1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,61564,e=>{"use strict";var t=e.i(43476),i=e.i(19455),r=e.i(87280);e.s(["Hero",0,function(){return(0,t.jsxs)("section",{"aria-labelledby":"hero-heading",className:"flex flex-col items-center gap-6 px-4 py-12 text-center md:gap-8 md:px-6 md:py-24",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:gap-2",children:[(0,t.jsxs)("p",{className:"relative overflow-hidden text-xs text-muted-foreground","aria-hidden":"true",children:[(0,t.jsx)("span",{children:"No tracking. No login. Free forever."}),(0,t.jsx)("span",{className:"pointer-events-none absolute inset-0 animate-shine bg-gradient-to-r from-transparent via-white to-transparent mix-blend-overlay"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("h1",{id:"hero-heading",className:"text-2xl font-medium tracking-tight md:text-5xl",children:"Your sidebar deserves better."}),(0,t.jsx)("p",{className:"max-w-xl text-base text-muted-foreground md:text-lg",children:"Undiscord shows you all your Discord servers in one place and lets you bulk leave the ones you no longer need, quickly and safely."})]})]}),(0,t.jsxs)("div",{className:"flex gap-3",role:"group","aria-label":"Call to action",children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{document.getElementById("trailer")?.scrollIntoView({behavior:"smooth"})},children:"Learn more"}),(0,t.jsx)(r.GetExtensionButton,{})]})]})}])},42033,e=>{"use strict";let t,i,r,a;var s=e.i(71645),n=Object.create,o=Object.defineProperty,l=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,c=function(e,t){return function(){return e&&(t=e(e=0)),t}},m=function(e,t){return function(){return t||e((t={exports:{}}).exports,t),t.exports}},f=function(e,t,i,r){if(t&&"object"==typeof t||"function"==typeof t)for(var a,s=d(t),n=0,u=s.length;n<u;n++)a=s[n],h.call(e,a)||a===i||o(e,a,{get:(function(e){return t[e]}).bind(null,a),enumerable:!(r=l(t,a))||r.enumerable});return e},p=function(e,t,i){return i=null!=e?n(u(e)):{},f(!t&&e&&e.__esModule?i:o(i,"default",{value:e,enumerable:!0}),e)},g=m(function(t,i){i.exports="u">typeof window?window:e.g});function E(e,t){return null!=t&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):E(e,t)}var y=c(function(){y()});function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var T=c(function(){}),A=m(function(e,t){var i=Array.prototype.slice;t.exports=function(e,t){for(("length"in e)||(e=[e]),e=i.call(e);e.length;){var r=e.shift(),a=t(r);if(a)return a;r.childNodes&&r.childNodes.length&&(e=i.call(r.childNodes).concat(e))}}}),_=m(function(e,t){function i(e,t){if(!E(this,i))return new i(e,t);this.data=e,this.nodeValue=e,this.length=e.length,this.ownerDocument=t||null}y(),t.exports=i,i.prototype.nodeType=8,i.prototype.nodeName="#comment",i.prototype.toString=function(){return"[object Comment]"}}),S=m(function(e,t){function i(e,t){if(!E(this,i))return new i(e);this.data=e||"",this.length=this.data.length,this.ownerDocument=t||null}y(),t.exports=i,i.prototype.type="DOMTextNode",i.prototype.nodeType=3,i.prototype.nodeName="#text",i.prototype.toString=function(){return this.data},i.prototype.replaceData=function(e,t,i){var r=this.data,a=r.substring(0,e),s=r.substring(e+t,r.length);this.data=a+i+s,this.length=this.data.length}}),k=m(function(e,t){t.exports=function(e){var t=this,i=e.type;e.target||(e.target=t),t.listeners||(t.listeners={});var r=t.listeners[i];if(r)return r.forEach(function(i){e.currentTarget=t,"function"==typeof i?i(e):i.handleEvent(e)});t.parentNode&&t.parentNode.dispatchEvent(e)}}),L=m(function(e,t){t.exports=function(e,t){this.listeners||(this.listeners={}),this.listeners[e]||(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)}}),R=m(function(e,t){t.exports=function(e,t){if(this.listeners&&this.listeners[e]){var i=this.listeners[e],r=i.indexOf(t);-1!==r&&i.splice(r,1)}}}),I=m(function(e,t){T(),t.exports=function e(t){switch(t.nodeType){case 3:return a(t.data);case 8:return"<!--"+t.data+"-->";default:var s,n,o;return n=[],o=(s=t).tagName,"http://www.w3.org/1999/xhtml"===s.namespaceURI&&(o=o.toLowerCase()),n.push("<"+o+function(e){var t=[];for(var i in e)(function(e,t){var i=b(e[t]);return"style"===t&&Object.keys(e.style).length>0||e.hasOwnProperty(t)&&("string"===i||"boolean"===i||"number"===i)&&"nodeName"!==t&&"className"!==t&&"tagName"!==t&&"textContent"!==t&&"innerText"!==t&&"namespaceURI"!==t&&"innerHTML"!==t}
1)(e,i)&&t.push({name:i,value:e[i]});for(var a in e._attributes)for(var s in e._attributes[a]){var n=e._attributes[a][s],o=(n.prefix?n.prefix+":":"")+s;t.push({name:o,value:n.value})}return e.className&&t.push({name:"class",value:e.className}),t.length?r(t):""}(s)+function(e){var t=e.dataset,i=[];for(var a in t)i.push({name:"data-"+a,value:t[a]});return i.length?r(i):""}(s)),i.indexOf(o)>-1?n.push(" />"):(n.push(">"),s.childNodes.length?n.push.apply(n,s.childNodes.map(e)):s.textContent||s.innerText?n.push(a(s.textContent||s.innerText)):s.innerHTML&&n.push(s.innerHTML),n.push("</"+o+">")),n.join("")}};var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(e){var t=[];return e.forEach(function(e){var i=e.name,r=e.value;"style"===i&&(r=function(e){if("string"==typeof e)return e;var t="";return Object.keys(e).forEach(function(i){var r=e[i];i=i.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),t+=i+":"+r+";"}),t}(r)),t.push(i+'="'+a(r).replace(/"/g,""")+'"')}),t.length?" "+t.join(" "):""}function a(e){var t="";return"string"==typeof e?t=e:e&&(t=e.toString()),t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}}),w=m(function(e,t){y();var i=A(),r=k(),a=L(),s=R(),n=I(),o="http://www.w3.org/1999/xhtml";function l(e,t,i){if(!E(this,l))return new l(e);var r=void 0===i?o:i||null;this.tagName=r===o?String(e).toUpperCase():e,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=t||null,this.namespaceURI=r,this._attributes={},"INPUT"===this.tagName&&(this.type="text")}t.exports=l,l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e},l.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},l.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e},l.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=null==t?-1:this.childNodes.indexOf(t);return i>-1?this.childNodes.splice(i,0,e):this.childNodes.push(e),e.parentNode=this,e},l.prototype.setAttributeNS=function(e,t,i){var r=null,a=t,s=t.indexOf(":");(s>-1&&(r=t.substr(0,s),a=t.substr(s+1)),"INPUT"===this.tagName&&"type"===t)?this.type=i:(this._attributes[e]||(this._attributes[e]={}))[a]={value:i,prefix:r}},l.prototype.getAttributeNS=function(e,t){var i=this._attributes[e],r=i&&i[t]&&i[t].value;return"INPUT"===this.tagName&&"type"===t?this.type:"string"!=typeof r?null:r},l.prototype.removeAttributeNS=function(e,t){var i=this._attributes[e];i&&delete i[t]},l.prototype.hasAttributeNS=function(e,t){var i=this._attributes[e];return!!i&&t in i},l.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t)},l.prototype.getAttribute=function(e){return this.getAttributeNS(null,e)},l.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e)},l.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e)},l.prototype.removeEventListener=s,l.prototype.addEventListener=a,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return n(this)},l.prototype.getElementsByClassName=function(e){var t=e.split(" "),r=[];return i(this,function(e){if(1===e.nodeType){var i=(e.className||"").split(" ");t.every(function(e){return -1!==i.indexOf(e)})&&r.push(e)}}),r},l.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return i(this.childNodes,function(i){1===i.nodeType&&("*"===e||i.tagName.toLowerCase()===e)&&t.push(i)}),t},l.prototype.contains=function(e){return i(this,function(t){return e===t})||!1}}),C=m(function(e,t){y();var i=w();function r(e){if(!E(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=e||null}t.exports=r,r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=i.prototype.appendChild,r.prototype.replaceChild=i.prototype.replaceChild,r.prototype.removeChild=i.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(e){return String(e)}).join("")}}),D=m(function(e,t){function i(e){}t.exports=i,i.prototype.initEvent=function(e,t,i){this.type=e,this.bubbles=t,this.cancelable=i},i.prototype.preventDefault=function(){}}),x=m(function(e,t){y();var i=A(),r=_(),a=S(),s=w(),n=C(),o=D(),l=k(),d=L(),u=R();function h(){if(!E(this,h))return new h;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}t.exports=h;var c=h.prototype;c.createTextNode=function(e){return new a(e,this)},c.createElementNS=function(e,t){return new s(t,this,null===e?null:String(e))},c.createElement=function(e){return new s(e,this)},c.createDocumentFragment=function(){return new n(this)},c.createEvent=function(e){return new o(e)},c.createComment=function(e){return new r(e,this)},c.getElementById=function(e){return e=String(e),i(this.childNodes,function(t){if(String(t.id)===e)return t})||null},c.getElementsByClassName=s.prototype.getElementsByClassName,c.getElementsByTagName=s.prototype.getElementsByTagName,c.contains=s.prototype.contains,c.removeEventListener=u,c.addEventListener=d,c.dispatchEvent=l}),M=m(function(e,t){t.exports=new(x())}),P=m(function(t,i){var r,a=e.g,s=M();"u">typeof document?r=document:(r=a["__GLOBAL_DOCUMENT_CACHE@4"])||(r=a["__GLOBAL_DOCUMENT_CACHE@4"]=s),i.exports=r});function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=Array(t);i<t;i++)r[i]=e[i];return r}function N(e,t){if(e){if("string"==typeof e)return O(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if("Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return O(e,t)}}function U(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r,a,s=[],n=!0,o=!1;try{for(i=i.call(e);!(n=(r=i.next()).done)&&(s.push(r.value),!(t&&s.length===t));n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return s}}(e,t)||N(e,t)||function(){throw TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=p(g()),B=p(g()),$=p(g()),H=function(){var e=$.default.performance,t=e&&e.timing,i=t&&t.navigationStart;return Math.round("number"==typeof i&&"function"==typeof e.now?i+e.now():Date.now())},G=function(){if("function"==typeof(null==(e=B.default.crypto)?void 0:e.getRandomValues)){i=new Uint8Array(32),B.default.crypto.getRandomValues(i);for(var e,t,i,r=0;r<32;r++)i[r]=i[r]%16}else{i=[];for(var a=0;a<32;a++)i[a]=16*Math.random()|0}var s=0;t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t="x"===e?i[s]:3&i[s]|8;return s++,t.toString(16)});var n=H(),o=null==n?void 0:n.toString(16).substring(3);return o?t.substring(0,28)+o:t},V=function(){return("000000"+(0x81bf1000*Math.random()|0).toString(36)).slice(-6)},K=function(e){var t;if(e&&void 0!==e.nodeName)return e.muxId||(e.muxId=V()),e.muxId;try{t=document.querySelector(e)}catch(e){}return t&&!t.muxId&&(t.muxId=e),(null==t?void 0:t.muxId)||e},W=function(e){e&&void 0!==e.nodeName?e=K(t=e):t=document.querySelector(e);var t,i=t&&t.nodeName?t.nodeName.toLowerCase():"";return[t,e,i]};function q(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var j=function(e){var t,i,r,a,s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,o=e?[console,e]:[console],l=(t=console.trace).bind.apply(t,q(o)),d=(i=console.info).bind.apply(i,q(o)),u=(r=console.debug).bind.apply(r,q(o)),h=(a=console.warn).bind.apply(a,q(o)),c=(s=console.error).bind.apply(s,q(o)),m=n;return{trace:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>0))return l.apply(void 0,q(t))},debug:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>1))return u.apply(void 0,q(t))},info:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>2))return d.apply(void 0,q(t))},warn:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>3))return h.apply(void 0,q(t))},error:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>4))return c.apply(void 0,q(t))},get level(){return m},set level(v){v!==this.level&&(m=null!=v?v:n)}}}("[mux]"),Y=p(g());function z(){return"1"===(Y.default.doNotTrack||Y.default.navigator&&Y.default.navigator.doNotTrack)}function Q(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e,t){if(!E(e,t))throw TypeError("Cannot call a class as a function")}function Z(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function J(e,t,i){return t&&Z(e.prototype,t),i&&Z(e,i),e}function ee(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function et(e){return(et=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ei(e,t,i){return(ei="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,i){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=et(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(i||e):a.value}})(e,t,i||e)}function er(e,t){return(er=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}y(),T();var ea=function(e){return es(e)[0]},es=function(e){if("string"!=typeof e||""===e)return["localhost"];var t,i=(e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return i&&(t=(i.match(/[^\.]+\.[^\.]+$/)||[])[0]),[i,t]},en=p(g()),eo=function(){var e=en.default.performance;return void 0!==(e&&e.timing)}
1,el=function(){var e=en.default.performance,t=e&&e.timing;return t&&t.domContentLoadedEventEnd},ed=function(){var e=en.default.performance,t=e&&e.timing;return t&&t.navigationStart};function eu(e,t,i){i=void 0===i?1:i,e[t]=e[t]||0,e[t]+=i}function eh(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},r=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),r.forEach(function(t){ee(e,t,i[t])})}return e}function ec(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t.push.apply(t,i)}return t})(Object(t)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))}),e}var em=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],ef=["x-cdn","content-type"].concat(em);function ep(e){var t={};return(e=e||"").trim().split(/[\r\n]+/).forEach(function(e){if(e){var i=e.split(": "),r=i.shift();r&&(ef.indexOf(r.toLowerCase())>=0||0===r.toLowerCase().indexOf("x-litix-"))&&(t[r]=i.join(": "))}}),t}function eg(e){if(e){var t=em.find(function(t){return void 0!==e[t]});return t?e[t]:void 0}}var ev=function(e){var t={};for(var i in e){var r=e[i];-1!==r["DATA-ID"].search("io.litix.data.")&&(t[r["DATA-ID"].replace("io.litix.data.","")]=r.VALUE)}return t},eE=function(e){if(!e)return{};var t=ed(),i=e.loading,r=i?i.start:e.trequest,a=i?i.first:e.tfirst,s=i?i.end:e.tload;return{bytesLoaded:e.total,requestStart:Math.round(t+r),responseStart:Math.round(t+a),responseEnd:Math.round(t+s)}},ey=function(e){if(!(!e||"function"!=typeof e.getAllResponseHeaders))return ep(e.getAllResponseHeaders())},eb=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=arguments.length>4?arguments[4]:void 0,a=e.log,s=e.utils.secondsToMs,n=function(e){var t,i=parseInt(r.version);return 1===i&&null!==e.programDateTime&&(t=e.programDateTime),0===i&&null!==e.pdt&&(t=e.pdt),t};if(!eo())return void a.warn("performance timing not supported. Not tracking HLS.js.");var o=function(i,r){return e.emit(t,i,r)},l=function(e,t){var i=t.levels,r=t.audioTracks,a=t.url,s=t.stats,n=t.networkDetails,l=t.sessionData,d={},u={};i.forEach(function(e,t){d[t]={width:e.width,height:e.height,bitrate:e.bitrate,attrs:e.attrs}}),r.forEach(function(e,t){u[t]={name:e.name,language:e.lang,bitrate:e.bitrate}});var h=eE(s),c=h.bytesLoaded,m=h.requestStart,f=h.responseStart,p=h.responseEnd;o("requestcompleted",ec(eh({},ev(l)),{request_event_type:e,request_bytes_loaded:c,request_start:m,request_response_start:f,request_response_end:p,request_type:"manifest",request_hostname:ea(a),request_response_headers:ey(n),request_rendition_lists:{media:d,audio:u,video:{}}}))};i.on(r.Events.MANIFEST_LOADED,l);var d=function(e,t){var i=t.details,r=t.level,a=t.networkDetails,l=eE(t.stats),d=l.bytesLoaded,u=l.requestStart,h=l.responseStart,c=l.responseEnd,m=i.fragments[i.fragments.length-1],f=n(m)+s(m.duration);o("requestcompleted",{request_event_type:e,request_bytes_loaded:d,request_start:u,request_response_start:h,request_response_end:c,request_current_level:r,request_type:"manifest",request_hostname:ea(i.url),request_response_headers:ey(a),video_holdback:i.holdBack&&s(i.holdBack),video_part_holdback:i.partHoldBack&&s(i.partHoldBack),video_part_target_duration:i.partTarget&&s(i.partTarget),video_target_duration:i.targetduration&&s(i.targetduration),video_source_is_live:i.live,player_manifest_newest_program_time:isNaN(f)?void 0:f})};i.on(r.Events.LEVEL_LOADED,d);var u=function(e,t){var i=t.details,r=t.networkDetails,a=eE(t.stats);o("requestcompleted",{request_event_type:e,request_bytes_loaded:a.bytesLoaded,request_start:a.requestStart,request_response_start:a.responseStart,request_response_end:a.responseEnd,request_type:"manifest",request_hostname:ea(i.url),request_response_headers:ey(r)})};i.on(r.Events.AUDIO_TRACK_LOADED,u);var h=function(e,t){var r=t.stats,a=t.networkDetails,s=t.frag,n=eE(r=r||s.stats),l=n.bytesLoaded,d=n.requestStart,u=n.responseStart,h=n.responseEnd,c=a?ey(a):void 0,m={request_event_type:e,request_bytes_loaded:l,request_start:d,request_response_start:u,request_response_end:h,request_hostname:a?ea(a.responseURL):void 0,request_id:c?eg(c):void 0,request_response_headers:c,request_media_duration:s.duration,request_url:null==a?void 0:a.responseURL};"main"===s.type?(m.request_type="media",m.request_current_level=s.level,m.request_video_width=(i.levels[s.level]||{}).width,m.request_video_height=(i.levels[s.level]||{}).height,m.request_labeled_bitrate=(i.levels[s.level]||{}).bitrate):m.request_type=s.type,o("requestcompleted",m)};i.on(r.Events.FRAG_LOADED,h);var c=function(e,t){var i=t.frag,r=i.start;o("fragmentchange",{currentFragmentPDT:n(i),currentFragmentStart:s(r)})};i.on(r.Events.FRAG_CHANGED,c);var m=function(e,t){var i,a=t.type,s=t.details,n=t.response,l=t.fatal,d=t.frag,u=t.networkDetails,h=(null==d?void 0:d.url)||t.url||"",c=u?ey(u):void 0;(s===r.ErrorDetails.MANIFEST_LOAD_ERROR||s===r.ErrorDetails.MANIFEST_LOAD_TIMEOUT||s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT||s===r.ErrorDetails.LEVEL_LOAD_ERROR||s===r.ErrorDetails.LEVEL_LOAD_TIMEOUT||s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT)&&o("requestfailed",{request_error:s,request_url:h,request_hostname:ea(h),request_id:c?eg(c):void 0,request_type:s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:null==n?void 0:n.code,request_error_text:null==n?void 0:n.text}),l&&o("error",{player_error_code:a,player_error_message:s,player_error_context:"".concat(h?"url: ".concat(h,"\n"):"")+"".concat(n&&(n.code||n.text)?"response: ".concat(n.code,", ").concat(n.text,"\n"):"")+"".concat(t.reason?"failure reason: ".concat(t.reason,"\n"):"")+"".concat(t.level?"level: ".concat(t.level,"\n"):"")+"".concat(t.parent?"parent stream controller: ".concat(t.parent,"\n"):"")+"".concat(t.buffer?"buffer length: ".concat(t.buffer,"\n"):"")+"".concat(t.error?"error: ".concat(t.error,"\n"):"")+"".concat(t.event?"event: ".concat(t.event,"\n"):"")+"".concat(t.err?"error message: ".concat(null==(i=t.err)?void 0:i.message,"\n"):"")})};i.on(r.Events.ERROR,m);var f=function(e,t){var i=t.frag,r=i&&i._url||"";o("requestcanceled",{request_event_type:e,request_url:r,request_type:"media",request_hostname:ea(r)})};i.on(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f);var p=function(e,t){var r=t.level,s=i.levels[r];if(s&&s.attrs&&s.attrs.BANDWIDTH){var n,l=s.attrs.BANDWIDTH,d=parseFloat(s.attrs["FRAME-RATE"]);isNaN(d)||(n=d),l?o("renditionchange",{video_source_fps:n,video_source_bitrate:l,video_source_width:s.width,video_source_height:s.height,video_source_rendition_name:s.name,video_source_codec:null==s?void 0:s.videoCodec}):a.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};i.on(r.Events.LEVEL_SWITCHED,p),i._stopMuxMonitor=function(){i.off(r.Events.MANIFEST_LOADED,l),i.off(r.Events.LEVEL_LOADED,d),i.off(r.Events.AUDIO_TRACK_LOADED,u),i.off(r.Events.FRAG_LOADED,h),i.off(r.Events.FRAG_CHANGED,c),i.off(r.Events.ERROR,m),i.off(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f),i.off(r.Events.LEVEL_SWITCHED,p),i.off(r.Events.DESTROYING,i._stopMuxMonitor),delete i._stopMuxMonitor},i.on(r.Events.DESTROYING,i._stopMuxMonitor)},eT=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eA=function(e,t){if(!e||!e.requestEndDate)return{};var i,r=ea(e.url),a=e.url,s=e.bytesLoaded,n=new Date(e.requestStartDate).getTime(),o=new Date(e.firstByteDate).getTime(),l=new Date(e.requestEndDate).getTime(),d=isNaN(e.duration)?0:e.duration,u="function"==typeof t.getMetricsFor?t.getMetricsFor(e.mediaType).HttpList:t.getDashMetrics().getHttpRequests(e.mediaType);u.length>0&&(i=ep(u[u.length-1]._responseHeaders||""));var h=i?eg(i):void 0;return{requestStart:n,requestResponseStart:o,requestResponseEnd:l,requestBytesLoaded:s,requestResponseHeaders:i,requestMediaDuration:d,requestHostname:r,requestUrl:a,requestId:h}},e_=function(e,t){var i=t.getQualityFor(e),r=t.getCurrentTrackFor(e).bitrateList;return r?{currentLevel:i,renditionWidth:r[i].width||null,renditionHeight:r[i].height||null,renditionBitrate:r[i].bandwidth}:{}},eS=function(e){var t;return null==(t=e.match(/.*codecs\*?="(.*)"/))?void 0:t[1]},ek=function(e){try{var t,i;return null==(i=e.getVersion)||null==(t=i.call(e))?void 0:t.split(".").map(function(e){return parseInt(e)})[0]}catch(e){return!1}},eL=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=e.log;if(!i||!i.on)return void r.warn("Invalid dash.js player reference. Monitoring blocked.");var a=ek(i),s=function(i,r){return e.emit(t,i,r)},n=function(e){var t=e.type,i=(e.data||{}).url;s("requestcompleted",{request_event_type:t,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ea(i),request_url:i})};i.on("manifestLoaded",n);var o={},l=function(e){if("function"!=typeof e.getRequests)return null;var t=e.getRequests({state:"executed"});return 0===t.length?null:t[t.length-1]},d=function(e){var t=e.type,r=e.chunk,a=e.request,n=(r||{}).mediaInfo||{},l=n.type,d=n.bitrateList,u={};
1(d=d||[]).forEach(function(e,t){u[t]={},u[t].width=e.width,u[t].height=e.height,u[t].bitrate=e.bandwidth,u[t].attrs={}}),"video"===l?o.video=u:"audio"===l?o.audio=u:o.media=u;var h=eA(a,i),c=h.requestStart,m=h.requestResponseStart,f=h.requestResponseEnd,p=h.requestResponseHeaders,g=h.requestMediaDuration,E=h.requestHostname,y=h.requestUrl;s("requestcompleted",{request_event_type:t,request_start:c,request_response_start:m,request_response_end:f,request_bytes_loaded:-1,request_type:l+"_init",request_response_headers:p,request_hostname:E,request_id:h.requestId,request_url:y,request_media_duration:g,request_rendition_lists:o})};a>=4?i.on("initFragmentLoaded",d):i.on("initFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;d({type:t,request:l(i),chunk:r})});var u=function(e){var t=e.type,r=e.chunk,a=e.request,n=r||{},o=n.mediaInfo,l=n.start,d=(o||{}).type,u=eA(a,i),h=u.requestStart,c=u.requestResponseStart,m=u.requestResponseEnd,f=u.requestBytesLoaded,p=u.requestResponseHeaders,g=u.requestMediaDuration,E=u.requestHostname,y=u.requestUrl,b=u.requestId,T=e_(d,i),A=T.currentLevel,_=T.renditionWidth,S=T.renditionHeight;s("requestcompleted",{request_event_type:t,request_start:h,request_response_start:c,request_response_end:m,request_bytes_loaded:f,request_type:d,request_response_headers:p,request_hostname:E,request_id:b,request_url:y,request_media_start_time:l,request_media_duration:g,request_current_level:A,request_labeled_bitrate:T.renditionBitrate,request_video_width:_,request_video_height:S})};a>=4?i.on("mediaFragmentLoaded",u):i.on("mediaFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;u({type:t,request:l(i),chunk:r})});var h={video:void 0,audio:void 0,totalBitrate:void 0},c=function(){if(h.video&&"number"==typeof h.video.bitrate){if(!(h.video.width&&h.video.height))return void r.warn("have bitrate info for video but missing width/height");var e=h.video.bitrate;if(h.audio&&"number"==typeof h.audio.bitrate&&(e+=h.audio.bitrate),e!==h.totalBitrate)return h.totalBitrate=e,{video_source_bitrate:e,video_source_height:h.video.height,video_source_width:h.video.width,video_source_codec:eS(h.video.codec)}}},m=function(e,t,a){if("number"!=typeof e.newQuality)return void r.warn("missing evt.newQuality in qualityChangeRendered event",e);var n=e.mediaType;if("audio"===n||"video"===n){var o=i.getBitrateInfoListFor(n).find(function(t){return t.qualityIndex===e.newQuality});if(!(o&&"number"==typeof o.bitrate))return void r.warn("missing bitrate info for ".concat(n));h[n]=ec(eh({}
1,o),{codec:i.getCurrentTrackFor(n).codec});var l=c();l&&s("renditionchange",l)}};i.on("qualityChangeRendered",m);var f=function(e){var t=e.request,i=e.mediaType;s("requestcanceled",{request_event_type:(t=t||{}).type+"_"+t.action,request_url:t.url,request_type:i,request_hostname:ea(t.url)})};i.on("fragmentLoadingAbandoned",f);var p=function(e){var t,i,r=e.error,a=(null==r||null==(t=r.data)?void 0:t.request)||{},n=(null==r||null==(i=r.data)?void 0:i.response)||{};(null==r?void 0:r.code)===27&&s("requestfailed",{request_error:a.type+"_"+a.action,request_url:a.url,request_hostname:ea(a.url),request_type:a.mediaType,request_error_code:n.status,request_error_text:n.statusText});var o="".concat(null!=a&&a.url?"url: ".concat(a.url,"\n"):"")+"".concat(null!=n&&n.status||null!=n&&n.statusText?"response: ".concat(null==n?void 0:n.status,", ").concat(null==n?void 0:n.statusText,"\n"):"");s("error",{player_error_code:null==r?void 0:r.code,player_error_message:null==r?void 0:r.message,player_error_context:o})};i.on("error",p),i._stopMuxMonitor=function(){i.off("manifestLoaded",n),i.off("initFragmentLoaded",d),i.off("mediaFragmentLoaded",u),i.off("qualityChangeRendered",m),i.off("error",p),i.off("fragmentLoadingAbandoned",f),delete i._stopMuxMonitor}},eR=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eI=0,ew=function(){function e(){X(this,e),ee(this,"_listeners",void 0)}return J(e,[{key:"on",value:function(e,t,i){return t._eventEmitterGuid=t._eventEmitterGuid||++eI,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],i&&(t=t.bind(i)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var i=this._listeners&&this._listeners[e];i&&i.forEach(function(e,r){e._eventEmitterGuid===t._eventEmitterGuid&&i.splice(r,1)})}},{key:"one",value:function(e,t,i){var r=this;t._eventEmitterGuid=t._eventEmitterGuid||++eI;var a=function(){r.off(e,a),t.apply(i||this,arguments)};a._eventEmitterGuid=t._eventEmitterGuid,this.on(e,a)}},{key:"emit",value:function(e,t){var i=this;if(this._listeners){t=t||{};var r=this._listeners["before*"]||[],a=this._listeners[e]||[],s=this._listeners["after"+e]||[],n=function(t,r){(t=t.slice()).forEach(function(t){t.call(i,{type:e},r)})};n(r,t),n(a,t),n(s,t)}}}]),e}(),eC=p(g()),eD=function(){function e(t){var i=this;X(this,e),ee(this,"_playbackHeartbeatInterval",void 0),ee(this,"_playheadShouldBeProgressing",void 0),ee(this,"pm",void 0),this.pm=t,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,t.on("playing",function(){i._playheadShouldBeProgressing=!0}),t.on("play",this._startPlaybackHeartbeatInterval.bind(this)),t.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),t.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),t.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("seeked",function(){t.data.player_is_paused?i._stopPlaybackHeartbeatInterval():i._startPlaybackHeartbeatInterval()}),t.on("timeupdate",function(){null!==i._playbackHeartbeatInterval&&t.emit("playbackheartbeat")}),t.on("devicesleep",function(e,r){null!==i._playbackHeartbeatInterval&&(eC.default.clearInterval(i._playbackHeartbeatInterval),t.emit("playbackheartbeatend",{viewer_time:r.viewer_time}),i._playbackHeartbeatInterval=null)})}return J(e,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;null===this._playbackHeartbeatInterval&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=eC.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,null!==this._playbackHeartbeatInterval&&(eC.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),e}(),ex=function e(t){var i=this;X(this,e),ee(this,"viewErrored",void 0),t.on("viewinit",function(){i.viewErrored=!1}),t.on("error",function(e,r){try{var a=t.errorTranslator({player_error_code:r.player_error_code,player_error_message:r.player_error_message,player_error_context:r.player_error_context,player_error_severity:r.player_error_severity,player_error_business_exception:r.player_error_business_exception});a&&(t.data.player_error_code=a.player_error_code||r.player_error_code,t.data.player_error_message=a.player_error_message||r.player_error_message,t.data.player_error_context=a.player_error_context||r.player_error_context,t.data.player_error_severity=a.player_error_severity||r.player_error_severity,t.data.player_error_business_exception=a.player_error_business_exception||r.player_error_business_exception,i.viewErrored=!0)}catch(e){t.mux.log.warn("Exception in error translator callback.",e),i.viewErrored=!0}}),t.on("aftererror",function(){var e,i,r,a,s;null==(e=t.data)||delete e.player_error_code,null==(i=t.data)||delete i.player_error_message,null==(r=t.data)||delete r.player_error_context,null==(a=t.data)||delete a.player_error_severity,null==(s=t.data)||delete s.player_error_business_exception})},eM=function(){function e(t){X(this,e),ee(this,"_watchTimeTrackerLastCheckedTime",void 0),ee(this,"pm",void 0),this.pm=t,this._watchTimeTrackerLastCheckedTime=null,t.on("playbackheartbeat",this._updateWatchTime.bind(this)),t.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return J(e,[{key:"_updateWatchTime",value:function(e,t){var i=t.viewer_time;null===this._watchTimeTrackerLastCheckedTime&&(this._watchTimeTrackerLastCheckedTime=i),eu(this.pm.data,"view_watch_time",i-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=i}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),e}(),eP=function(){function e(t){var i=this;X(this,e),ee(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),ee(this,"_lastTime",void 0),ee(this,"_isAdPlaying",void 0),ee(this,"_callbackUpdatePlaybackTime",void 0),ee(this,"pm",void 0),this.pm=t,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=H(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);t.on("playing",r),t.on("adplaying",r),t.on("seeked",r);var a=this._stopPlaybackTimeTracking.bind(this);t.on("playbackheartbeatend",a),t.on("seeking",a),t.on("adplaying",function(){i._isAdPlaying=!0}),t.on("adended",function(){i._isAdPlaying=!1}),t.on("adpause",function(){i._isAdPlaying=!1}),t.on("adbreakstart",function(){i._isAdPlaying=!1}),t.on("adbreakend",function(){i._isAdPlaying=!1}),t.on("adplay",function(){i._isAdPlaying=!1}),t.on("viewinit",function(){i._playbackTimeTrackerLastPlayheadPosition=-1,i._lastTime=H(),i._isAdPlaying=!1,i._callbackUpdatePlaybackTime=null})}return J(e,[{key:"_startPlaybackTimeTracking",value:function(){null===this._callbackUpdatePlaybackTime&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,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 e=this.pm.data.player_playhead_time,t=H(),i=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?i=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(i=t-this._lastTime),i>0&&i<=1e3&&eu(this.pm.data,"view_content_playback_time",i),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),e}(),eO=function(){function e(t){X(this,e),ee(this,"pm",void 0),this.pm=t;var i=this._updatePlayheadTime.bind(this);t.on("playbackheartbeat",i),t.on("playbackheartbeatend",i),t.on("timeupdate",i),t.on("destroy",function(){t.off("timeupdate",i)})}return J(e,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=void 0===this.pm.data.view_max_playhead_position?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(e,t){var i=this,r=function(){i.pm.currentFragmentPDT&&i.pm.currentFragmentStart&&(i.pm.data.player_program_time=i.pm.currentFragmentPDT+i.pm.data.player_playhead_time-i.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,r(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var a=this.pm.getPlayheadTime();void 0!==a&&(this.pm.data.player_playhead_time=a,r(),this._updateMaxPlayheadPosition())}}}]),e}(),eN=function e(t){if(X(this,e),!t.disableRebufferTracking){var i,r=function(e,t){a(t),i=void 0},a=function(e){if(i){var r=e.viewer_time-i;eu(t.data,"view_rebuffer_duration",r),i=e.viewer_time,t.data.view_rebuffer_duration>3e5&&(t.emit("viewend"),t.send("viewend"),t.mux.log.warn("Ending view after rebuffering for longer than ".concat(3e5,"ms, future events will be ignored unless a programchange or videochange occurs.")))}t.data.view_watch_time>=0&&t.data.view_rebuffer_count>0&&(t.data.view_rebuffer_frequency=t.data.view_rebuffer_count/t.data.view_watch_time,t.data.view_rebuffer_percentage=t.data.view_rebuffer_duration/t.data.view_watch_time)};t.on("playbackheartbeat",function(e,t){return a(t)}),t.on("rebufferstart",function(e,a){i||(eu(t.data,"view_rebuffer_count",1),i=a.viewer_time,t.one("rebufferend",r))}),t.on("viewinit",function(){i=void 0,t.off("rebufferend",r)})}},eU=function(){function e(t){var i=this;X(this,e),ee(this,"_lastCheckedTime",void 0),ee(this,"_lastPlayheadTime",void 0),ee(this,"_lastPlayheadTimeUpdatedTime",void 0),ee(this,"_rebuffering",void 0),ee(this,"pm",void 0),this.pm=t,t.disableRebufferTracking||t.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,t.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),t.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),t.on("seeking",function(){i._cleanupRebufferTracker(null,{viewer_time:H()})}))}return J(e,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)return void this._cleanupRebufferTracker(e,t);if(null===this._lastCheckedTime)return void this._prepareRebufferTrackerState(t.viewer_time);if(this._lastPlayheadTime!==this.pm.data.player_playhead_time)return void this._cleanupRebufferTracker(e,t,!0);var i=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.sustainedRebufferThreshold&&i>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(null===this._lastCheckedTime)return;var r=this.pm.data.player_playhead_time-this._lastPlayheadTime,a=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.minimumRebufferDuration&&r>0&&a-r>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+a-r}))}i?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),e}(),eF=function(){function e(t){var i=this;X(this,e),ee(this,"NAVIGATION_START",void 0),ee(this,"pm",void 0),this.pm=t,t.on("viewinit",function(){var e=t.data,r=e.view_id;if(!e.view_program_changed){var a=function(e,a){var s=a.viewer_time;"playing"===e.type&&void 0===t.data.view_time_to_first_frame?i.calculateTimeToFirstFrame(s||H(),r):"adplaying"===e.type&&(void 0===t.data.view_time_to_first_frame||i._inPrerollPosition())&&i.calculateTimeToFirstFrame(s||H(),r)};t.one("playing",a),t.one("adplaying",a),t.one("viewend",function(){t.off("playing",a),t.off("adplaying",a)})}})}return J(e,[{key:"_inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),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.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),e}(),eB=function e(t){var i=this;X(this,e),ee(this,"_lastPlayerHeight",void 0),ee(this,"_lastPlayerWidth",void 0),ee(this,"_lastPlayheadPosition",void 0),ee(this,"_lastSourceHeight",void 0),ee(this,"_lastSourceWidth",void 0),t.on("viewinit",function(){i._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb","renditionchange","orientationchange","viewend"].forEach(function(e){t.on(e,function(){if(i._lastPlayheadPosition>=0&&t.data.player_playhead_time>=0&&i._lastPlayerWidth>=0&&i._lastSourceWidth>0&&i._lastPlayerHeight>=0&&i._lastSourceHeight>0){var e=t.data.player_playhead_time-i._lastPlayheadPosition;if(e<0){i._lastPlayheadPosition=-1;return}var r=Math.min(i._lastPlayerWidth/i._lastSourceWidth,i._lastPlayerHeight/i._lastSourceHeight),a=Math.max(0,r-1),s=Math.max(0,1-r);t.data.view_max_upscale_percentage=Math.max(t.data.view_max_upscale_percentage||0,a),t.data.view_max_downscale_percentage=Math.max(t.data.view_max_downscale_percentage||0,s),eu(t.data,"view_total_content_playback_time",e),eu(t.data,"view_total_upscaling",a*e),eu(t.data,"view_total_downscaling",s*e)}i._lastPlayheadPosition=-1})}),["playing","hb","renditionchange","orientationchange"].forEach(function(e){t.on(e,function(){i._lastPlayheadPosition=t.data.player_playhead_time,i._lastPlayerWidth=t.data.player_width,i._lastPlayerHeight=t.data.player_height,i._lastSourceWidth=t.data.video_source_width,i._lastSourceHeight=t.data.video_source_height})})},e$=function e(t){var i=this;X(this,e),ee(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,a=function(){var e=H(),a=(t.data.viewer_time||e)-(r||e);eu(t.data,"view_seek_duration",a),t.data.view_max_seek_time=Math.max(t.data.view_max_seek_time||0,a),i.isSeeking=!1,r=-1};t.on("seeking",function(e,s){if(Object.assign(t.data,s),i.isSeeking&&s.viewer_time-r<=2e3){r=s.viewer_time;return}i.isSeeking&&a(),i.isSeeking=!0,r=s.viewer_time,eu(t.data,"view_seek_count",1),t.send("seeking")}),t.on("seeked",function(){a()}),t.on("viewend",function(){i.isSeeking&&(a(),t.send("seeked")),i.isSeeking=!1,r=-1})},eH=function(e,t){e.push(t),e.sort(function(e,t){return e.viewer_time-t.viewer_time})},eG=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],eV=function(){function e(t){var i=this;X(this,e),ee(this,"_adHasPlayed",void 0),ee(this,"_adRequ
1ests",void 0),ee(this,"_adResponses",void 0),ee(this,"_currentAdRequestNumber",void 0),ee(this,"_currentAdResponseNumber",void 0),ee(this,"_prerollPlayTime",void 0),ee(this,"_wouldBeNewAdPlay",void 0),ee(this,"isAdBreak",void 0),ee(this,"pm",void 0),this.pm=t,t.on("viewinit",function(){i.isAdBreak=!1,i._currentAdRequestNumber=0,i._currentAdResponseNumber=0,i._adRequests=[],i._adResponses=[],i._adHasPlayed=!1,i._wouldBeNewAdPlay=!0,i._prerollPlayTime=void 0}),eG.forEach(function(e){return t.on(e,i._updateAdData.bind(i))});var r=function(){i.isAdBreak=!1};t.on("adbreakstart",function(){i.isAdBreak=!0}),t.on("play",r),t.on("playing",r),t.on("viewend",r),t.on("adrequest",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdRequestNumber++},r),eH(i._adRequests,r),eu(t.data,"view_ad_request_count"),i.inPrerollPosition()&&(t.data.view_preroll_requested=!0,i._adHasPlayed||eu(t.data,"view_preroll_request_count"))}),t.on("adresponse",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdResponseNumber++},r),eH(i._adResponses,r);var a=i.findAdRequest(r.ad_request_id);a&&eu(t.data,"view_ad_request_time",Math.max(0,r.viewer_time-a.viewer_time))}),t.on("adplay",function(e,r){i._adHasPlayed=!0,i._wouldBeNewAdPlay&&(i._wouldBeNewAdPlay=!1,eu(t.data,"view_ad_played_count")),i.inPrerollPosition()&&!t.data.view_preroll_played&&(t.data.view_preroll_played=!0,i._adRequests.length>0&&(t.data.view_preroll_request_time=Math.max(0,r.viewer_time-i._adRequests[0].viewer_time)),t.data.view_start&&(t.data.view_startup_preroll_request_time=Math.max(0,r.viewer_time-t.data.view_start)),i._prerollPlayTime=r.viewer_time)}),t.on("adplaying",function(e,r){i.inPrerollPosition()&&void 0===t.data.view_preroll_load_time&&void 0!==i._prerollPlayTime&&(t.data.view_preroll_load_time=r.viewer_time-i._prerollPlayTime,t.data.view_startup_preroll_load_time=r.viewer_time-i._prerollPlayTime)}),t.on("adclicked",function(e,r){i._wouldBeNewAdPlay||eu(t.data,"view_ad_clicked_count")}),t.on("adskipped",function(e,r){i._wouldBeNewAdPlay||eu(t.data,"view_ad_skipped_count")}),t.on("adended",function(){i._wouldBeNewAdPlay=!0}),t.on("aderror",function(){i._wouldBeNewAdPlay=!0})}return J(e,[{key:"inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var i=U(es(t.ad_tag_url),2),r=i[0],a=i[1];this.pm.data.view_preroll_ad_tag_domain=a,this.pm.data.view_preroll_ad_tag_hostname=r}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var s=U(es(t.ad_asset_url),2),n=s[0],o=s[1];this.pm.data.view_preroll_ad_asset_domain=o,this.pm.data.view_preroll_ad_asset_hostname=n}}this.pm.data.ad_asset_url=null==t?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=null==t?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=null==t?void 0:t.ad_creative_id,this.pm.data.ad_id=null==t?void 0:t.ad_id,this.pm.data.ad_universal_id=null==t?void 0:t.ad_universal_id}}]),e}(),eK=p(g()),eW=function e(t){X(this,e);var i,r,a=function(){t.disableRebufferTracking||(eu(t.data,"view_waiting_rebuffer_count",1),i=H(),r=eK.default.setInterval(function(){if(i){var e=H();eu(t.data,"view_waiting_rebuffer_duration",e-i),i=e}},250))},s=function(){t.disableRebufferTracking||i&&(eu(t.data,"view_waiting_rebuffer_duration",H()-i),i=!1,eK.default.clearInterval(r))},n=!1,o=function(){n=!0},l=function(){n=!1,s()};t.on("waiting",function(){n&&a()}),t.on("playing",function(){s(),o()}),t.on("pause",l),t.on("seeking",l)},eq=function e(t){var i=this;X(this,e),ee(this,"lastWallClockTime",void 0);var r=function(){i.lastWallClockTime=H(),t.on("before*",a)},a=function(e){var r=H(),a=i.lastWallClockTime;i.lastWallClockTime=r,r-a>3e4&&(t.emit("devicesleep",{viewer_time:a}),Object.assign(t.data,{viewer_time:a}),t.send("devicesleep"),t.emit("devicewake",{viewer_time:r}),Object.assign(t.data,{viewer_time:r}),t.send("devicewake"))};t.one("playbackheartbeat",r),t.on("playbackheartbeatend",function(){t.off("before*",a),t.one("playbackheartbeat",r)})},ej=p(g()),eY=(ti=function(){for(var e=0,t={};e<arguments.length;e++){var i=arguments[e];for(var r in i)t[r]=i[r]}return t},function e(t){function i(e,r,a){var s;if("u">typeof document){if(arguments.length>1){if("number"==typeof(a=ti({path:"/"},i.defaults,a)).expires){var n=new Date;n.setMilliseconds(n.getMilliseconds()+864e5*a.expires),a.expires=n}try{s=JSON.stringify(r),/^[\{\[]/.test(s)&&(r=s)}catch(e){}return r=t.write?t.write(r,e):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decode
1URIComponent),e=(e=(e=encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=e+"="+r+(a.expires?"; expires="+a.expires.toUTCString():"")+(a.path?"; path="+a.path:"")+(a.domain?"; domain="+a.domain:"")+(a.secure?"; secure":"")}e||(s={});for(var o=document.cookie?document.cookie.split("; "):[],l=/(%[0-9A-Z]{2})+/g,d=0;d<o.length;d++){var u=o[d].split("="),h=u.slice(1).join("=");'"'===h.charAt(0)&&(h=h.slice(1,-1));try{var c=u[0].replace(l,decodeURIComponent);if(h=t.read?t.read(h,c):t(h,c)||h.replace(l,decodeURIComponent),this.json)try{h=JSON.parse(h)}catch(e){}if(e===c){s=h;break}e||(s[c]=h)}catch(e){}}return s}}return i.set=i,i.get=function(e){return i.call(i,e)},i.getJSON=function(){return i.apply({json:!0},[].slice.call(arguments))},i.defaults={},i.remove=function(e,t){i(e,"",ti(t,{expires:-1}))},i.withConverter=e,i}(function(){})),ez="muxData",eQ=function(){var e;try{e=(eY.get(ez)||"").split("&").reduce(function(e,t){var i=U(t.split("="),2),r=i[0],a=i[1],s=+a;return e[r]=a&&s==a?s:a,e},{})}catch(t){e={}}return e},eX=function(e){try{eY.set(ez,Object.entries(e).map(function(e){var t=U(e,2),i=t[0],r=t[1];return"".concat(i,"=").concat(r)}).join("&"),{expires:365})}catch(e){}},eZ=function(){var e=eQ();return e.mux_viewer_id=e.mux_viewer_id||G(),e.msn=e.msn||Math.random(),eX(e),{mux_viewer_id:e.mux_viewer_id,mux_sample_number:e.msn}},eJ=function(){var e=eQ(),t=H();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=G(),e.sst=t),e.sex=t+15e5,eX(e),{session_id:e.sid,session_start:e.sst,session_expires:e.sex}},e0=p(g()),e1=function(){var e;switch(e2()){case"cellular":e="cellular";break;case"ethernet":e="wired";break;case"wifi":e="wifi";break;case void 0:break;default:e="other"}return e},e2=function(){var e=e0.default.navigator,t=e&&(e.connection||e.mozConnection||e.webkitConnection);return t&&t.type};e1.getConnectionFromAPI=e2;var e3=e5({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"}),e4=e5({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",cn:"config",co:"count",ce:"counter",cp:"complete",cq:"creator",cr:"creative",cs:"captions",ct:"content",cu:"current",cx:"connection",cz:"context",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",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",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",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"});function e5(e){var t={};for(var i in e)e.hasOwnProperty(i)&&(t[e[i]]=i);return t}function e8(e){var t={},i={};return Object.keys(e).forEach(function(r){var a=!1;if(e.hasOwnProperty(r)&&void 0!==e[r]){var s=r.split("_"),n=s[0],o=e3[n];o||(j.info("Data key word `"+s[0]+"` not expected in "+r),o=n+"_"),s.splice(1).forEac
1h(function(e){"url"===e&&(a=!0),e4[e]?o+=e4[e]:Number.isInteger(Number(e))?o+=e:(j.info("Data key word `"+e+"` not expected in "+r),o+="_"+e+"_")}),a?i[o]=e[r]:t[o]=e[r]}}),Object.assign(t,i)}var e9=p(g()),e6=p(P()),e7={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},te=["hb","requestcompleted","requestfailed","requestcanceled"],tt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._beaconUrl=e||"https://img.litix.io",this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},e7,t)};tt.prototype.queueEvent=function(e,t){var i=Object.assign({},t);return(this._eventQueue.length<=this._options.maxQueueLength||"eventrateexceeded"===e)&&(this._eventQueue.push(i),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},tt.prototype.flushEvents=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&1===this._eventQueue.length?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},tt.prototype.destroy=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.destroyed=!0,e?this._clearBeaconQueue():this.flushEvents(),e9.default.clearTimeout(this._sendTimeout)},tt.prototype._clearBeaconQueue=function(){var e=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,t=this._eventQueue.slice(e);e>0&&Object.assign(t[t.length-1],e8({mux_view_message:"event queue truncated"}));var i=this._createPayload(t);ts(this._beaconUrl,i,!0,function(){})},tt.prototype._sendBeaconQueue=function(){var e=this;if(this._postInFlight){this._resendAfterPost=!0;return}var t=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var i=this._createPayload(t),r=H();ts(this._beaconUrl,i,!1,function(i,a){a?(e._eventQueue=t.concat(e._eventQueue),e._failureCount+=1,j.info("Error sending beacon: "+a)):e._failureCount=0,e._roundTripTime=H()-r,e._postInFlight=!1,e._resendAfterPost&&(e._resendAfterPost=!1,e._eventQueue.length>0&&e._sendBeaconQueue())})},tt.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var e=Math.pow(2,this._failureCount-1);return(1+(e*=Math.random()))*this._options.baseTimeBetweenBeacons},tt.prototype._startBeaconSending=function(){var e=this;e9.default.clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=e9.default.setTimeout(function(){e._eventQueue.length&&e._sendBeaconQueue(),e._startBeaconSending()},this._getNextBeaconTime()))},tt.prototype._createPayload=function(e){var t=this,i={transmission_timestamp:Math.round(H())};this._roundTripTime&&(i.rtt_ms=Math.round(this._roundTripTime));var r,a,s,n=function(){s=(r=JSON.stringify({metadata:i,events:a||e})).length/1024},o=function(){return s<=t._options.maxPayloadKBSize};return n(),o()||(j.info("Payload size is too big ("+s+" kb). Removing unnecessary events."),a=e.filter(function(e){return -1===te.indexOf(e.e)}),n()),o()||(j.info("Payload size still too big ("+s+" kb). Cropping fields.."),a.forEach(function(e){for(var t in e){var i=e[t];"string"==typeof i&&i.length>51200&&(e[t]=i.substring(0,51200))}}),n()),r};var ti,tr,ta="function"==typeof e6.default.exitPictureInPicture?function(e){return e.length<=57344}:function(e){return!1},ts=function(e,t,i,r){if(i&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(e,t))return void r();if(e9.default.fetch)return void e9.default.fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},keepalive:ta(t)}).then(function(e){return r(null,e.ok?null:"Error")}).catch(function(e){return r(null,e)});if(e9.default.XMLHttpRequest){var a=new e9.default.XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState)return r(null,200!==a.status?"error":void 0)},a.open("POST",e),a.setRequestHeader("Content-Type","text/plain"),a.send(t);return}r()},tn=["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"],to=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],tl=["ad_id","ad_creative_id","ad_universal_id"],td=["viewstart","error","ended","viewend"],tu=function(){function e(t,i){var r,a,s,n,o,l,d,u,h,c,m,f,p,g,E,y,b,T,A,_=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};X(this,e),ee(this,"mux",void 0),ee(this,"envKey",void 0),ee(this,"options",void 0),ee(this,"eventQueue",void 0),ee(this,"sampleRate",void 0),ee(this,"disableCookies",void 0),ee(this,"respectDoNotTrack",void 0),ee(this,"previousBeaconData",void 0),ee(this,"lastEventTime",void 0),ee(this,"rateLimited",void 0),ee(this,"pageLevelData",void 0),ee(this,"viewerData",void 0),this.mux=t,this.envKey=i,this.options=_,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new tt((r=this.envKey,s=(a=this.options).beaconCollectionDomain,n=a.beaconDomain,s?"https://"+s:(r=r||"inferred").match(/^[a-z0-9]+$/)?"https://"+r+"."+(n||"litix.io"):"https://img.litix.io/a.gif")),this.sampleRate=null!=(b=this.options.sampleRate)?b:1,this.disableCookies=null!=(T=this.options.disableCookies)&&T,this.respectDoNotTrack=null!=(A=this.options.respectDoNotTrack)&&A,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:null==(o=this.options.platform)?void 0:o.name,viewer_application_version:null==(l=this.options.platform)?void 0:l.version,viewer_application_engine:null==(d=this.options.platform)?void 0:d.layout,viewer_device_name:null==(u=this.options.platform)?void 0:u.product,viewer_device_category:"",viewer_device_manufacturer:null==(h=this.options.platform)?void 0:h.manufacturer,viewer_os_family:null==(m=this.options.platform)||null==(c=m.os)?void 0:c.family,viewer_os_architecture:null==(p=this.options.platform)||null==(f=p.os)?void 0:f.architecture,viewer_os_version:null==(E=this.options.platform)||null==(g=E.os)?void 0:g.version,viewer_connection_type:e1(),page_url:null===ej.default||void 0===ej.default||null==(y=ej.default.location)?void 0:y.href},this.viewerData=this.disableCookies?{}:eZ()}return J(e,[{key:"send",value:function(e,t){if(!(!e||!(null!=t&&t.view_id))){if(this.respectDoNotTrack&&z())return j.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||"object"!=typeof t)return j.error("A data object was expected in send() but was not provided");var i=this.disableCookies?{}:eJ(),r=ec(eh({},this.pageLevelData,t,i,this.viewerData),{event:e,env_key:this.envKey});r.user_id&&(r.viewer_user_id=r.user_id,delete r.user_id);var a,s=(null!=(a=r.mux_sample_number)?a:0)>=this.sampleRate,n=e8(this._deduplicateBeaconData(e,r));if(this.lastEventTime=this.mux.utils.now(),s)return j.info("Not sending event due to sample rate restriction",e,r,n);if(this.envKey||j.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,r,n),!this.rateLimited){if(j.info("Sending event",e,r,n),this.rateLimited=!this.eventQueue.queueEvent(e,n),this.mux.WINDOW_UNLOADING&&"viewend"===e)this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&"hb"===e?this.eventQueue.flushEvents(!0):td.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return r.event="eventrateexceeded",n=e8(r),this.eventQueue.queueEvent(r.event,n),j.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var i=this,r={},a=t.view_id;if("-1"===a||"viewstart"===e||"viewend"===e||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)r=eh({},t),a&&(this.previousBeaconData=r),a&&"viewend"===e&&(this.previousBeaconData=null);else{var s=0===e.indexOf("request");Object.entries(t).forEach(function(t){var a=U(t,2),n=a[0],o=a[1];i.previousBeaconData&&(o!==i.previousBeaconData[n]||tn.indexOf(n)>-1||i.objectHasChanged(s,n,o,i.previousBeaconData[n])||i.eventRequiresKey(e,n))&&
1(r[n]=o,i.previousBeaconData[n]=o)})}return r}},{key:"objectHasChanged",value:function(e,t,i,r){return!!e&&0===t.indexOf("request_")&&("request_response_headers"===t||"object"!=typeof i||"object"!=typeof r||Object.keys(i||{}).length!==Object.keys(r||{}).length)}},{key:"eventRequiresKey",value:function(e,t){return!!("renditionchange"===e&&0===t.indexOf("video_source_")||tl.includes(t)&&to.includes(e))}}]),e}(),th=function e(t){X(this,e);var i=0,r=0,a=0,s=0,n=0,o=0,l=0;t.on("requestcompleted",function(e,o){var l,d,u=o.request_start,h=o.request_response_start,c=o.request_response_end,m=o.request_bytes_loaded;if(s++,h?(l=h-(null!=u?u:0),d=(null!=c?c:0)-h):d=(null!=c?c:0)-(null!=u?u:0),d>0&&m&&m>0){var f=m/d*8e3;n++,r+=m,a+=d,t.data.view_min_request_throughput=Math.min(t.data.view_min_request_throughput||1/0,f),t.data.view_average_request_throughput=r/a*8e3,t.data.view_request_count=s,l>0&&(i+=l,t.data.view_max_request_latency=Math.max(t.data.view_max_request_latency||0,l),t.data.view_average_request_latency=i/n)}}),t.on("requestfailed",function(e,i){s++,o++,t.data.view_request_count=s,t.data.view_request_failed_count=o}),t.on("requestcanceled",function(e,i){s++,l++,t.data.view_request_count=s,t.data.view_request_canceled_count=l})},tc=function e(t){var i=this;X(this,e),ee(this,"_lastEventTime",void 0),t.on("before*",function(e,r){var a=r.viewer_time,s=H(),n=i._lastEventTime;if(i._lastEventTime=s,n&&s-n>36e5){var o=Object.keys(t.data).reduce(function(e,i){return 0===i.indexOf("video_")?Object.assign(e,ee({},i,t.data[i])):e},{});t.mux.log.info("Received event after at least an hour inactivity, creating a new view");var l=t.playbackHeartbeat._playheadShouldBeProgressing;t._resetView(Object.assign({viewer_time:a},o)),t.playbackHeartbeat._playheadShouldBeProgressing=l,t.playbackHeartbeat._playheadShouldBeProgressing&&"play"!==e.type&&"adbreakstart"!==e.type&&(t.emit("play",{viewer_time:a}),"playing"!==e.type&&t.emit("playing",{viewer_time:a}))}})},tm=["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"],tf=new Set(["requestcompleted","requestfailed","requestcanceled"]),tp=function(e){if("function"!=typeof e&&null!==e)throw 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&&er(r,e);var t,i=(t=function(){if("u"<typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,i=et(r);return e=t?Reflect.construct(i,arguments,et(this).constructor):i.apply(this,arguments),e&&("object"===b(e)||"function"==typeof e)?e:Q(this)});function r(e,t,a){X(this,r),ee(Q(s=i.call(this)),"DOM_CONTENT_LOADED_EVENT_END",void 0),ee(Q(s),"NAVIGATION_START",void 0),ee(Q(s),"_destroyed",void 0),ee(Q(s),"_heartBeatTimeout",void 0),ee(Q(s),"adTracker",void 0),ee(Q(s),"dashjs",void 0),ee(Q(s),"data",void 0),ee(Q(s),"disablePlayheadRebufferTracking",void 0),ee(Q(s),"disableRebufferTracking",void 0),ee(Q(s),"errorTracker",void 0),ee(Q(s),"errorTranslator",void 0),ee(Q(s),"emitTranslator",void 0),ee(Q(s),"getAdData",void 0),ee(Q(s),"getPlayheadTime",void 0),ee(Q(s),"getStateData",void 0),ee(Q(s),"stateDataTranslator",void 0),ee(Q(s),"hlsjs",void 0),ee(Q(s),"id",void 0),ee(Q(s),"longResumeTracker",void 0),ee(Q(s),"minimumRebufferDuration",void 0),ee(Q(s),"mux",void 0),ee(Q(s),"playbackEventDispatcher",void 0),ee(Q(s),"playbackHeartbeat",void 0),ee(Q(s),"playbackHeartbeatTime",void 0),ee(Q(s),"playheadTime",void 0),ee(Q(s),"seekingTracker",void 0),ee(Q(s),"sustainedRebufferThreshold",void 0),ee(Q(s),"watchTimeTracker",void 0),ee(Q(s),"currentFragmentPDT",void 0),ee(Q(s),"currentFragmentStart",void 0),s.DOM_CONTENT_LOADED_EVENT_END=el(),s.NAVIGATION_START=ed(),s.mux=e,s.id=t,null!=a&&a.beaconDomain&&s.mux.log.warn("The `beaconDomain` setting has been deprecated
1in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),(a=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(e){return e},emitTranslator:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t},stateDataTranslator:function(e){return e}},a)).data=a.data||{},a.data.property_key&&(a.data.env_key=a.data.property_key,delete a.data.property_key),j.level=a.debug?1:3,s.getPlayheadTime=a.getPlayheadTime,s.getStateData=a.getStateData||function(){return{}},s.getAdData=a.getAdData||function(){},s.minimumRebufferDuration=a.minimumRebufferDuration,s.sustainedRebufferThreshold=a.sustainedRebufferThreshold,s.playbackHeartbeatTime=a.playbackHeartbeatTime,s.disableRebufferTracking=a.disableRebufferTracking,s.disableRebufferTracking&&s.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."),s.disablePlayheadRebufferTracking=a.disablePlayheadRebufferTracking,s.errorTranslator=a.errorTranslator,s.emitTranslator=a.emitTranslator,s.stateDataTranslator=a.stateDataTranslator,s.playbackEventDispatcher=new tu(e,a.data.env_key,a),s.data={player_instance_id:G(),mux_sample_rate:a.sampleRate,beacon_domain:a.beaconCollectionDomain||a.beaconDomain},s.data.view_sequence_number=1,s.data.player_sequence_number=1;var s,n=(function(){void 0===this.data.view_start&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}).bind(Q(s));if(s.on("viewinit",function(e,t){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,t),this._initializeViewData(),this.one("play",n),this.one("adbreakstart",n)}),s.on("videochange",function(e,t){this._resetView(t)}),s.on("programchange",function(e,t){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(t,{view_program_changed:!0})),n(),this.emit("play"),this.emit("playing")}),s.on("fragmentchange",function(e,t){this.currentFragmentPDT=t.currentFragmentPDT,this.currentFragmentStart=t.currentFragmentStart}),s.on("destroy",s.destroy),"u">typeof window&&"function"==typeof window.addEventListener&&"function"==typeof window.removeEventListener){var o=function(){var e=void 0!==s.data.view_start;s.mux.WINDOW_HIDDEN="hidden"===document.visibilityState,e&&s.mux.WINDOW_HIDDEN&&(s.data.player_is_paused||s.emit("hb"))};window.addEventListener("visibilitychange",o,!1);var l=function(e){e.persisted||s.destroy()};window.addEventListener("pagehide",l,!1),s.on("destroy",function(){window.removeEventListener("visibilitychange",o),window.removeEventListener("pagehide",l)})}return s.on("playerready",function(e,t){Object.assign(this.data,t)}),tm.forEach(function(e){s.on(e,function(t,i){0!==e.indexOf("ad")&&this._updateStateData(),Object.assign(this.data,i),this._sanitizeData()}),s.on("after"+e,function(){("error"!==e||this.errorTracker.viewErrored)&&this.send(e)})}),s.on("viewend",function(e,t){Object.assign(s.data,t)}),s.one("playerready",function(e){var t=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=t-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time}),s.longResumeTracker=new tc(Q(s)),s.errorTracker=new ex(Q(s)),new eq(Q(s)),s.seekingTracker=new e$(Q(s)),s.playheadTime=new eO(Q(s)),s.playbackHeartbeat=new eD(
1Q(s)),new eB(Q(s)),s.watchTimeTracker=new eM(Q(s)),new eP(Q(s)),s.adTracker=new eV(Q(s)),new eU(Q(s)),new eN(Q(s)),new eF(Q(s)),new eW(Q(s)),new th(Q(s)),a.hlsjs&&s.addHLSJS(a),a.dashjs&&s.addDashJS(a),s.emit("viewinit",a.data),s}return J(r,[{key:"emit",value:function(e,t){var i,a=Object.assign({viewer_time:this.mux.utils.now()},t),s=[e,a];if(this.emitTranslator)try{s=this.emitTranslator(e,a)}catch(e){this.mux.log.warn("Exception in emit translator callback.",e)}null!=s&&s.length&&(i=ei(et(r.prototype),"emit",this)).call.apply(i,[this].concat(q(s)))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,void 0!==this.data.view_start&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(e){if(this.data.view_id){var t=Object.assign({},this.data);if(void 0===t.video_source_is_live&&(t.player_source_duration===1/0||t.video_source_duration===1/0?t.video_source_is_live=!0:(t.player_source_duration>0||t.video_source_duration>0)&&(t.video_source_is_live=!1)),t.video_source_is_live||["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"].forEach(function(e){t[e]=void 0}),t.video_source_url=t.video_source_url||t.player_source_url,t.video_source_url){var i=U(es(t.video_source_url),2),r=i[0];t.video_source_domain=i[1],t.video_source_hostname=r}delete t.ad_request_id,this.playbackEventDispatcher.send(e,t),this.data.view_sequence_number++,this.data.player_sequence_number++,tf.has(e)||this._restartHeartBeat(),"viewend"===e&&delete this.data.view_id}}},{key:"_resetView",value:function(e){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",e)}},{key:"_updateStateData",value:function(){var e=this.getStateData();if("function"==typeof this.stateDataTranslator)try{e=this.stateDataTranslator(e)}catch(e){this.mux.log.warn("Exception in stateDataTranslator translator callback.",e)}Object.assign(this.data,e),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var e=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(t){var i=parseInt(e.data[t],10);e.data[t]=isNaN(i)?void 0:i}),["player_source_url","video_source_url"].forEach(function(t){if(e.data[t]){var i=e.data[t].toLowerCase();(0===i.indexOf("data:")||0===i.indexOf("blob:"))&&(e.data[t]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("video_")&&delete e.data[t]})}},{key:"_resetViewData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("view_")&&delete e.data[t]}),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 e=this,t=this.data.view_id=G(),i=function(){t===e.data.view_id&&eu(e.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",i):i()}},{key:"_restartHeartBeat",value:function(){var e=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){e.data.player_is_paused||e.emit("hb")},1e4)}},{key:"addHLSJS",value:function(e){e.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=e.hlsjs,eb(this.mux,this.id,e.hlsjs,{},e.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){this.hlsjs&&(eT(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(e){e.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=e.dashjs,eL(this.mux,this.id,e.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){this.dashjs&&(eR(this.dashjs),this.dashjs=void 0)}}]),r}(ew),tg=p(P()),tv=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],tE={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"},ty=p(g());ty.default&&ty.default.WeakMap&&(tr=new WeakMap);var tb=function(e){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(e),this.manifest};tb.prototype.process=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf("\n");t>-1;t=this.buffer.indexOf("\n"))this.processLine(this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}
1,tb.prototype.processLine=function(e){var t=e.indexOf(":"),i=tR(e,t),r=i[0],a=2===i.length?t_(i[1]):void 0;if("#"!==r[0])this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),!this.manifest.targetDuration||"duration"in this.currentUri||(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case"#EXT-X-TARGETDURATION":if(!isFinite(a)||a<0)return;this.manifest.targetDuration=a,this.setHoldBack();break;case"#EXT-X-PART-INF":tT(this.manifest,i),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case"#EXT-X-SERVER-CONTROL":tT(this.manifest,i),this.setHoldBack();break;case"#EXTINF":0===a?this.currentUri.duration=.01:a>0&&(this.currentUri.duration=a);break;case"#EXT-X-PROGRAM-DATE-TIME":var s=new Date(a);this.manifest.dateTimeString||(this.manifest.dateTimeString=a,this.manifest.dateTimeObject=s),this.currentUri.dateTimeString=a,this.currentUri.dateTimeObject=s;break;case"#EXT-X-VERSION":tT(this.manifest,i);break;case"#EXT-X-SESSION-DATA":var n=ev(tI(i[1]));Object.assign(this.manifest.sessionData,n)}},tb.prototype.setHoldBack=function(){var e=this.manifest,t=e.serverControl,i=e.targetDuration,r=e.partTargetDuration;if(t){var a="holdBack",s="partHoldBack",n=i&&3*i,o=r&&2*r;i&&!t.hasOwnProperty(a)&&(t[a]=n),n&&t[a]<n&&(t[a]=n),r&&!t.hasOwnProperty(s)&&(t[s]=3*r),r&&t[s]<o&&(t[s]=o)}};var tT=function(e,t){var i,r=tA(t[0].replace("#EXT-X-",""));
1tL(t[1])?(i={},i=Object.assign(tk(t[1]),i)):i=t_(t[1]),e[r]=i},tA=function(e){return e.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},t_=function(e){if("yes"===e.toLowerCase()||"no"===e.toLowerCase())return"yes"===e.toLowerCase();var t=-1!==e.indexOf(":")?e:parseFloat(e);return isNaN(t)?e:t},tS=function(e){var t={},i=e.split("=");return i.length>1&&(t[tA(i[0])]=t_(i[1])),t},tk=function(e){for(var t=e.split(","),i={},r=0;t.length>r;r++)i=Object.assign(tS(t[r]),i);return i},tL=function(e){return e.indexOf("=")>-1},tR=function(e,t){return -1===t?[e]:[e.substring(0,t),e.substring(t+1)]},tI=function(e){var t={};if(e){var i=e.search(",");return[e.slice(0,i),e.slice(i+1)].forEach(function(e,i){for(var r=e.replace(/['"]+/g,"").split("="),a=0;a<r.length;a++)"DATA-ID"===r[a]&&(t["DATA-ID"]=r[1-a]),"VALUE"===r[a]&&(t.VALUE=r[1-a])}),{data:t}}},tw={safeCall:function(e,t,i,r){var a=r;if(e&&"function"==typeof e[t])try{a=e[t].apply(e,i)}catch(e){j.info("safeCall error",e)}return a},safeIncrement:eu,getComputedStyle:function(e,t){var i;return e&&t&&ty.default&&"function"==typeof ty.default.getComputedStyle?(tr&&tr.has(e)&&(i=tr.get(e)),i||(i=ty.default.getComputedStyle(e,null),tr&&tr.set(e,i)),i.getPropertyValue(t)):""},secondsToMs:function(e){return Math.floor(1e3*e)},assign:Object.assign,headersStringToObject:ep,cdnHeadersToRequestId:eg,extractHostnameAndDomain:es,extractHostname:ea,manifestParser:tb,generateShortID:V,generateUUID:G,now:H,findMediaElement:W},tC={},tD=function(e){var t=arguments;"string"==typeof e?tD.hasOwnProperty(e)?F.default.setTimeout(function(){t=Array.prototype.splice.call(t,1),tD[e].apply(null,t)},0):j.warn("`"+e+"` is an unknown task"):"function"==typeof e?F.default.setTimeout(function(){e(tD)},0):j.warn("`"+e+"` is invalid.")},tx={loaded:H(),NAME:"mux-embed",VERSION:"5.9.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(e,t){return function(e,t,i){var r=U(W(t),3),a=r[0],s=r[1],n=r[2],o=e.log,l=e.utils.getComputedStyle,d=e.utils.secondsToMs;if(!a)return o.error("No element was found with the `"+s+"` query selector.");if("video"!==n&&"audio"!==n)return o.error("The element of `"+s+"` was not a media element.");a.mux&&(a.mux.destroy(),delete a.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),(i=Object.assign({automaticErrorTracking:!0},i,{getPlayheadTime:function(){return d(a.currentTime)},getStateData:function(){var e,t,i=(null==(e=this.getPlayheadTime)?void 0:e.call(this))||d(a.currentTime),r=this.hlsjs&&this.hlsjs.url,s=this.dashjs&&"function"==typeof this.dashjs.getSource&&this.dashjs.getSource(),n={player_is_paused:a.paused,player_width:parseInt(l(a,"width")),player_height:parseInt(l(a,"height")),player_autoplay_on:a.autoplay,player_preload_on:a.preload,player_language_code:a.lang,player_is_fullscreen:tg.default&&!!(tg.default.fullscreenElement||tg.default.webkitFullscreenElement||tg.default.mozFullScreenElement||tg.default.msFullscreenElement),video_poster_url:a.poster,video_source_url:r||s||a.currentSrc,video_source_duration:d(a.duration),video_source_height:a.videoHeight,video_source_width:a.videoWidth,view_dropped_frame_count:null==a||null==(t=a.getVideoPlaybackQuality)?void 0:t.call(a).droppedVideoFrames};if(a.getStartDate&&i>0){var o=a.getStartDate();if(o&&"function"==typeof o.getTime&&o.getTime()){var u=o.getTime();n.player_program_time=u+i,a.seekable.length>0&&(n.player_live_edge_program_time=u+a.seekable.end(a.seekable.length-1))}}return n}})).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:e.VERSION},i.data),a.mux=a.mux||{},a.mux.deleted=!1,a.mux.emit=function(t,i){e.emit(s,t,i)},a.mux.updateData=function(e){a.mux.emit("hb",e)};var u=function(){o.error("The monitor for this video element has already been destroyed.")};a.mux.destroy=function(){Object.keys(a.mux.listeners).forEach(function(e){a.removeEventListener(e,a.mux.listeners[e],!1)}),delete a.mux.listeners,a.mux.destroy=u,a.mux.swapElement=u,a.mux.emit=u,a.mux.addHLSJS=u,a.mux.addDashJS=u,a.mux.removeHLSJS=u,a.mux.removeDashJS=u,a.mux.updateData=u,a.mux.setEmitTranslator=u,a.mux.setStateDataTranslator=u,a.mux.setGetPlayheadTime=u,a.mux.deleted=!0,e.emit(s,"destroy")},a.mux.swapElement=function(t){var i=U(W(t),3),r=i[0],s=i[1],n=i[2];return r?"video"!==n&&"audio"!==n?e.log.error("The element of `"+s+"` was not a media element."):void(r.muxId=a.muxId,delete a.muxId,r.mux=r.mux||{},r.mux.listeners=Object.assign({},a.mux.listeners),delete a.mux.listeners,Object.keys(r.mux.listeners).forEac
1h(function(e){a.removeEventListener(e,r.mux.listeners[e],!1),r.addEventListener(e,r.mux.listeners[e],!1)}),r.mux.swapElement=a.mux.swapElement,r.mux.destroy=a.mux.destroy,delete a.mux,a=r):e.log.error("No element was found with the `"+s+"` query selector.")},a.mux.addHLSJS=function(t){e.addHLSJS(s,t)},a.mux.addDashJS=function(t){e.addDashJS(s,t)},a.mux.removeHLSJS=function(){e.removeHLSJS(s)},a.mux.removeDashJS=function(){e.removeDashJS(s)},a.mux.setEmitTranslator=function(t){e.setEmitTranslator(s,t)},a.mux.setStateDataTranslator=function(t){e.setStateDataTranslator(s,t)},a.mux.setGetPlayheadTime=function(t){t||(t=i.getPlayheadTime),e.setGetPlayheadTime(s,t)},e.init(s,i),e.emit(s,"playerready"),a.paused||(e.emit(s,"play"),a.readyState>2&&e.emit(s,"playing")),a.mux.listeners={},tv.forEach(function(t){("error"!==t||i.automaticErrorTracking)&&(a.mux.listeners[t]=function(){var i={};if("error"===t){if(!a.error||1===a.error.code)return;i.player_error_code=a.error.code,i.player_error_message=tE[a.error.code]||a.error.message}e.emit(s,t,i)},a.addEventListener(t,a.mux.listeners[t],!1))})}(tD,e,t)},destroyMonitor:function(e){var t=U(W(e),1)[0];t&&t.mux&&"function"==typeof t.mux.destroy?t.mux.destroy():j.error("A video element monitor for `"+e+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(e,t){var i=K(e);tC[i]?tC[i].addHLSJS(t):j.error("A monitor for `"+i+"` has not been initialized.")},addDashJS:function(e,t){var i=K(e);tC[i]?tC[i].addDashJS(t):j.error("A monitor for `"+i+"` has not been initialized.")},removeHLSJS:function(e){var t=K(e);tC[t]?tC[t].removeHLSJS():j.error("A monitor for `"+t+"` has not been initialized.")},removeDashJS:function(e){var t=K(e);tC[t]?tC[t].removeDashJS():j.error("A monitor for `"+t+"` has not been initialized.")},init:function(e,t){z()&&t&&t.respectDoNotTrack&&j.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var i=K(e);tC[i]=new tp(tD,i,t)},emit:function(e,t,i){var r=K(e);tC[r]?(tC[r].emit(t,i),"destroy"===t&&delete tC[r]):j.error("A monitor for `"+r+"` has not been initialized.")},updateData:function(e,t){var i=K(e);tC[i]?tC[i].emit("hb",t):j.error("A monitor for `"+i+"` has not been initialized.")},setEmitTranslator:function(e,t){var i=K(e);tC[i]?tC[i].emitTranslator=t:j.error("A monitor for `"+i+"` has not been initialized.")},setStateDataTranslator:function(e,t){var i=K(e);tC[i]?tC[i].stateDataTranslator=t:j.error("A monitor for `"+i+"` has not been initialized.")},setGetPlayheadTime:function(e,t){var i=K(e);tC[i]?tC[i].getPlayheadTime=t:j.error("A monitor for `"+i+"` has not been initialized.")},checkDoNotTrack:z,log:j,utils:tw,events:{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",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"},WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(tD,tx),void 0!==F.default&&"function"==typeof F.default.addEventListener&&F.default.addEventListener("pagehide",function(e){e.persisted||(tD.WINDOW_UNLOADING=!0)},!1);let tM=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},tP=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=tO},tO=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,tN=((l5={}).NETWORK_ERROR="networkError",l5.MEDIA_ERROR="mediaError",l5.KEY_SYSTEM_ERROR="keySystemError",l5.MUX_ERROR="muxError",l5.OTHER_ERROR="otherError",l5),tU=((l8={}).KEY_SYSTEM_NO_KEYS="keySystemNoKeys",l8.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",l8.KEY_SYSTEM_NO_SESSION="keySystemNoSession",l8.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",l8.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",l8.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",l8.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",l8.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",l8.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",l8.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",l8.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",l8.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",l8.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",l8.MANIFEST_LOAD_ERROR="manifestLoadError",l8.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",l8.MANIFEST_PARSING_ERROR="manifestParsingError",l8.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",l8.LEVEL_EMPTY_ERROR="levelEmptyError",l8.LEVEL_LOAD_ERROR="levelLoadError",l8.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",l8.LEVEL_PARSING_ERROR="levelParsingError",l8.LEVEL_SWITCH_ERROR="levelSwitchError",l8.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",l8.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",l8.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",l8.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",l8.FRAG_LOAD_ERROR="fragLoadError",l8.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",l8.FRAG_DECRYPT_ERROR="fragDecryptError",l8.FRAG_PARSING_ERROR="fragParsingError",l8.FRAG_GAP="fragGap",l8.REMUX_ALLOC_ER
1ROR="remuxAllocError",l8.KEY_LOAD_ERROR="keyLoadError",l8.KEY_LOAD_TIMEOUT="keyLoadTimeOut",l8.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",l8.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",l8.BUFFER_APPEND_ERROR="bufferAppendError",l8.BUFFER_APPENDING_ERROR="bufferAppendingError",l8.BUFFER_STALLED_ERROR="bufferStalledError",l8.BUFFER_FULL_ERROR="bufferFullError",l8.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",l8.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",l8.ASSET_LIST_LOAD_ERROR="assetListLoadError",l8.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",l8.ASSET_LIST_PARSING_ERROR="assetListParsingError",l8.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",l8.INTERNAL_EXCEPTION="internalException",l8.INTERNAL_ABORTED="aborted",l8.ATTACH_MEDIA_ERROR="attachMediaError",l8.UNKNOWN="unknown",l8),tF=((l9={}).MEDIA_ATTACHING="hlsMediaAttaching",l9.MEDIA_ATTACHED="hlsMediaAttached",l9.MEDIA_DETACHING="hlsMediaDetaching",l9.MEDIA_DETACHED="hlsMediaDetached",l9.MEDIA_ENDED="hlsMediaEnded",l9.STALL_RESOLVED="hlsStallResolved",l9.BUFFER_RESET="hlsBufferReset",l9.BUFFER_CODECS="hlsBufferCodecs",l9.BUFFER_CREATED="hlsBufferCreated",l9.BUFFER_APPENDING="hlsBufferAppending",l9.BUFFER_APPENDED="hlsBufferAppended",l9.BUFFER_EOS="hlsBufferEos",l9.BUFFERED_TO_END="hlsBufferedToEnd",l9.BUFFER_FLUSHING="hlsBufferFlushing",l9.BUFFER_FLUSHED="hlsBufferFlushed",l9.MANIFEST_LOADING="hlsManifestLoading",l9.MANIFEST_LOADED="hlsManifestLoaded",l9.MANIFEST_PARSED="hlsManifestParsed",l9.LEVEL_SWITCHING="hlsLevelSwitching",l9.LEVEL_SWITCHED="hlsLevelSwitched",l9.LEVEL_LOADING="hlsLevelLoading",l9.LEVEL_LOADED="hlsLevelLoaded",l9.LEVEL_UPDATED="hlsLevelUpdated",l9.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",l9.LEVELS_UPDATED="hlsLevelsUpdated",l9.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",l9.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",l9.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",l9.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",l9.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",l9.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",l9.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",l9.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",l9.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",l9.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",l9.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",l9.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",l9.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",l9.CUES_PARSED="hlsCuesParsed",l9.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",l9.INIT_PTS_FOUND="hlsInitPtsFound",l9.FRAG_LOADING="hlsFragLoading",l9.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",l9.FRAG_LOADED="hlsFragLoaded",l9.FRAG_DECRYPTED="hlsFragDecrypted",l9.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",l9.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",l9.FRAG_PARSING_METADATA="hlsFragParsingMetadata",l9.FRAG_PARSED="hlsFragParsed",l9.FRAG_BUFFERED="hlsFragBuffered",l9.FRAG_CHANGED="hlsFragChanged",l9.FPS_DROP="hlsFpsDrop",l9.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",l9.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",l9.ERROR="hlsError",l9.DESTROYING="hlsDestroying",l9.KEY_LOADING="hlsKeyLoading",l9.KEY_LOADED="hlsKeyLoaded",l9.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",l9.BACK_BUFFER_REACHED="hlsBackBufferReached",l9.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",l9.ASSET_LIST_LOADING="hlsAssetListLoading",l9.ASSET_LIST_LOADED="hlsAssetListLoaded",l9.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",l9.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",l9.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",l9.INTERSTITIAL_STARTED="hlsInterstitialStarted",l9.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",l9.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",l9.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",l9.INTERSTITIAL_ENDED="hlsInterstitialEnded",l9.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",l9.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",l9.EVENT_CUE_ENTER="hlsEventCueEnter",l9);var tB="manifest",t$="level",tH="audioTrack",tG="subtitleTrack",tV="main",tK="audio",tW="subtitle";class tq{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i}sample(e,t){let i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}
1getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class tj{constructor(e,t,i,r=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new tq(e),this.fast_=new tq(t),this.defaultTTFB_=r,this.ttfb_=new tq(e)}update(e,t){let{slow_:i,fast_:r,ttfb_:a}=this;i.halfLife!==e&&(this.slow_=new tq(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.fast_=new tq(t,r.getEstimate(),r.getTotalWeight())),a.halfLife!==e&&(this.ttfb_=new tq(e,a.getEstimate(),a.getTotalWeight()))}sample(e,t){let i=(e=Math.max(e,this.minDelayMs_))/1e3,r=8*t/i;this.fast_.sample(i,r),this.slow_.sample(i,r)}sampleTTFB(e){let t=Math.sqrt(2)*Math.exp(-Math.pow(e/1e3,2)/2);this.ttfb_.sample(t,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function tY(){return(tY=Object.assign.bind()).apply(null,arguments)}function tz(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,r)}return i}function tQ(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?tz(Object(i),!0).forEach(function(t){var r,a;r=t,a=i[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t);if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):tz(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}class tX{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const i=`[${e}]:`;this.trace=tZ,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i)}}let tZ=function(){},tJ={trace:tZ,debug:tZ,log:tZ,warn:tZ,info:tZ,error:tZ};function t0(){return tY({},tJ)}function t1(e,t,i){let r;return t[e]?t[e].bind(t):(r=self.console[e])?r.bind(self.console,`${i?"["+i+"] ":""}[${e}] >`):tZ}let t2=t0();function t3(e=!0){if(!("u"<typeof self))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function t4(e,t){let i=Object.keys(e),r=Object.keys(t),a=i.length,s=r.length;return!a||!s||a===s&&!i.some(e=>-1===r.indexOf(e))}function t5(e,t=!1){let i,r;if("u">typeof TextDecoder){let i=new TextDecoder("utf-8").decode(e);if(t){let e=i.indexOf("\0");return -1!==e?i.substring(0,e):i}return i.replace(/\0/g,"")}let a=e.length,s="",n=0;for(;n<a&&(0!==(i=e[n++])||!t);)if(0!==i&&3!==i)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:s+=String.fromCharCode(i);break;case 12:case 13:s+=String.fromCharCode((31&i)<<6|63&(r=e[n++]));break;case 14:s+=String.fromCharCode((15&i)<<12|(63&(r=e[n++]))<<6|63&e[n++])}return s}function t8(e){let t="";for(let i=0;i<e.length;i++){let r=e[i].toString(16);r.length<2&&(r="0"+r),t+=r}return t}function t9(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var t6={exports:{}},t7=di?t6.exports:(di=1,l0=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,l1=/^(?=([^\/?#]*))\1([^]*)$/,l2=/(?:\/|^)\.(?=\/)/g,l3=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,t6.exports=l4={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=l4.parseURL(e);if(!r)throw Error("Error trying to parse base URL.");return r.path=l4.normalizePath(r.path),l4.buildURLFromParts(r)}var a=l4.parseURL(t);if(!a)throw Error("Error trying to parse relative URL.");
1if(a.scheme)return i.alwaysNormalize?(a.path=l4.normalizePath(a.path),l4.buildURLFromParts(a)):t;var s=l4.parseURL(e);if(!s)throw Error("Error trying to parse base URL.");if(!s.netLoc&&s.path&&"/"!==s.path[0]){var n=l1.exec(s.path);s.netLoc=n[1],s.path=n[2]}s.netLoc&&!s.path&&(s.path="/");var o={scheme:s.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(o.netLoc=s.netLoc,"/"!==a.path[0]))if(a.path){var l=s.path,d=l.substring(0,l.lastIndexOf("/")+1)+a.path;o.path=l4.normalizePath(d)}else o.path=s.path,!a.params&&(o.params=s.params,a.query||(o.query=s.query));return null===o.path&&(o.path=i.alwaysNormalize?l4.normalizePath(a.path):a.path),l4.buildURLFromParts(o)},parseURL:function(e){var t=l0.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(l2,"");e.length!==(e=e.replace(l3,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},t6.exports);class ie{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var it="audio",ii="video",ir="audiovideo";class ia{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,"string"==typeof e&&(e={url:e}),this.base=e,function(e,t){let i=function e(t,i){let r=Object.getPrototypeOf(t);if(r){let t=Object.getOwnPropertyDescriptor(r,i);return t||e(r,i)}}(e,t);i&&(i.enumerable=!0,Object.defineProperty(e,t,i))}(this,"stats")}setByteRange(e,t){let i,r=e.split("@",2);i=1===r.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(r[1]),this._byteRange=[i,parseInt(r[0])+i]}get baseurl(){return this.base.url}get byteRange(){return null===this._byteRange?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return null===this._streams&&(this._streams={[it]:null,[ii]:null,[ir]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return null!==this._stats}get hasStreams(){return null!==this._streams}get stats(){return null===this._stats&&(this._stats=new ie),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=t7.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[it]=null,e[ii]=null,e[ir]=null}}function is(e){return"initSegment"!==e.sn}class io extends ia{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(tM(e)&&tM(t))return t-e}return null}get bitrate(){return this.byteLength?8*this.byteLength/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!(null!=(e=this._decryptdata)&&e.keyId)){let e=Object.keys(t);if(1===e.length){let i=this._decryptdata=t[e[0]]||null;i&&(this._decryptdata=i.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;let e=tM(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e,t;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;
1if(this.levelkeys){let e=Object.keys(this.levelkeys),i=e.length;if(i>1||1===i&&null!=(t=this.levelkeys[e[0]])&&t.encrypted)return!0}return!1}get programDateTime(){return null===this._programDateTime&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!tM(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return is(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){let t=this.levelkeys;if(t){var i;let r=t[e];r&&!(null!=(i=this._decryptdata)&&i.keyId)&&(this._decryptdata=r.getDecryptData(this.sn,t))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,r,a,s=!1){let{elementaryStreams:n}=this,o=n[e];if(!o){n[e]={startPTS:t,endPTS:i,startDTS:r,endDTS:a,partial:s};return}o.startPTS=Math.min(o.startPTS,t),o.endPTS=Math.max(o.endPTS,i),o.startDTS=Math.min(o.startDTS,r),o.endDTS=Math.max(o.endDTS,a)}}class il extends ia{constructor(e,t,i,r,a){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=r;const s=e.enumeratedString("BYTERANGE");s&&this.setByteRange(s,a),a&&(this.fragOffset=a.fragOffset+a.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}let id=[].push,iu={video:1,audio:2,id3:3,text:4};function ih(e){return String.fromCharCode.apply(null,e)}function ic(e,t){let i=e[t]<<8|e[t+1];return i<0?65536+i:i}function im(e,t){let i=ig(e,t);return i<0?0x100000000+i:i}function ip(e,t){let i=im(e,t);return i*=0x100000000,i+=im(e,t+4)}function ig(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function iv(e,t){let i=[];if(!t.length)return i;let r=e.byteLength;for(let a=0;a<r;){let s=im(e,a),n=ih(e.subarray(a+4,a+8)),o=s>1?a+s:r;if(n===t[0])if(1===t.length)i.push(e.subarray(a+8,o));else{let r=iv(e.subarray(a+8,o),t.slice(1));r.length&&id.apply(i,r)}a=o}return i}function iE(e){let t=[],i=iv(e,["moov","trak"]);for(let e=0;e<i.length;e++){let r=i[e],a=iv(r,["tkhd"])[0];if(a){let e=a[0],i=im(a,0===e?12:20),s=iv(r,["mdia","mdhd"])[0];if(s){e=s[0];let a=im(s,0===e?12:20),n=iv(r,["mdia","hdlr"])[0];if(n){let e=ih(n.subarray(8,12)),s={soun:it,vide:ii}[e],o=function(e){let t,i=e.subarray(8),r=i.subarray(86),a=ih(i.subarray(4,8)),s=a,n="enca"===a||"encv"===a;if(n){let e=iv(i,[a])[0].subarray("enca"===a?28:78);iv(e,["sinf"]).forEach(e=>{let t=iv(e,["schm"])[0];if(t){let i=ih(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iv(e,["frma"])[0];t&&(s=ih(t))}}})}let o=s;switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let e=iv(r,["avcC"])[0];e&&e.length>3&&(s+="."+iT(e[1])+iT(e[2])+iT(e[3]),t=iy("avc1"===o?"dva1":"dvav",r));break}case"mp4a":{let e=iv(i,[a])[0],t=iv(e.subarray(28),["esds"])[0];if(t&&t.length>7){let e=4;if(3!==t[e++])break;e=ib(t,e)+2;let i=t[e++];if(128&i&&(e+=2),64&i&&(e+=t[e++]),4!==t[e++])break;e=ib(t,e);let r=t[e++];if(64===r)s+="."+iT(r);else break;if(e+=12,5!==t[e++])break;e=ib(t,e);let a=t[e++],n=(248&a)>>3;31===n&&(n+=1+((7&a)<<3)+((224&t[e])>>5)),s+="."+n}break}case"hvc1":case"hev1":{let e=iv(r,["hvcC"])[0];if(e&&e.length>12){let t=e[1],i=["","A","B","C"][t>>6],r=im(e,2),a=e[12],n=e.subarray(6,12);s+="."+i+(31&t),s+="."+(function(e){let t=0;for(let i=0;i<32;i++)t|=(e>>i&1)<<31-i;return t>>>0})(r).toString(16).toUpperCase(),s+="."+((32&t)>>5?"H":"L")+a;let o="";for(let e=n.length;e--;){let t=n[e];(t||o)&&(o="."+t.toString(16).toUpperCase()+o)}s+=o}t=iy("hev1"==o?"dvhe":"dvh1",r);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":s=iy(s,r)||s;break;case"vp09":{let e=iv(r,["vpcC"])[0];if(e&&e.length>6){let t=e[4],i=e[5],r=e[6]>>4&15;s+="."+iA(t)+"."+iA(i)+"."+iA(r)}break}case"av01":{let e=iv(r,["av1C"])[0];if(e&&e.length>2){let i=e[1]>>>5,a=31&e[1],n=e[2]>>>7?"H":"M",o=(64&e[2])>>6,l=(32&e[2])>>5,d=(16&e[2])>>4,u=(8&e[2])>>3,h=(4&e[2])>>2,c=3&e[2];s+="."+i+"."+iA(a)+n+"."+iA(2===i&&o?l?12:10:o?10:8)+"."+d+"."+u+h+c+"."+iA(1)+"."+iA(1)+"."+iA(1)+".0",t=iy("dav1",r)}}}return{codec:s,encrypted:n,supplemental:t}}(iv(r,["mdia","minf","stbl","stsd"])[0]);s?(t[i]={timescale:a,type:s,stsd:o},t[s]=tQ({timescale:a,id:i},o)):t[i]={timescale:a,type:e,stsd:o}}}}}
1return iv(e,["moov","mvex","trex"]).forEach(e=>{let i=t[im(e,4)];i&&(i.default={duration:im(e,12),flags:im(e,20)})}),t}function iy(e,t){let i=iv(t,["dvvC"]),r=i.length?i[0]:iv(t,["dvcC"])[0];if(r){let t=r[2]>>1&127,i=r[2]<<5&32|r[3]>>3&31;return e+"."+iA(t)+"."+iA(i)}}function ib(e,t){let i=t+5;for(;128&e[t++]&&t<i;);return t}function iT(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function iA(e){return(e<10?"0":"")+e}function i_(e,t){iv(e,["moov","trak"]).forEach(e=>{let i=iv(e,["mdia","minf","stbl","stsd"])[0];if(!i)return;let r=i.subarray(8),a=iv(r,["enca"]),s=a.length>0;s||(a=iv(r,["encv"])),a.forEach(e=>{iv(s?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{let i=iS(e);i&&t(i,s)})})})}function iS(e){let t=iv(e,["schm"])[0];if(t){let i=ih(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iv(e,["schi","tenc"])[0];if(t)return t}}}function ik(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}function iL(e,t){let i=[],r=t.samples,a=t.timescale,s=t.id,n=!1;return iv(r,["moof"]).map(o=>{let l=o.byteOffset-8;iv(o,["traf"]).map(o=>{let d=iv(o,["tfdt"]).map(e=>{let t=e[0],i=im(e,4);return 1===t&&(i*=0x100000000,i+=im(e,8)),i/a})[0];return void 0!==d&&(e=d),iv(o,["tfhd"]).map(d=>{let u=im(d,4),h=0xffffff&im(d,0),c=0,m=0,f=8;u===s&&((1&h)!=0&&(f+=8),(2&h)!=0&&(f+=4),(8&h)!=0&&(c=im(d,f),f+=4),(16&h)!=0&&(m=im(d,f),f+=4),(32&h)!=0&&(f+=4),"video"===t.type&&(n=iR(t.codec)),iv(o,["trun"]).map(s=>{let o=s[0],d=0xffffff&im(s,0),u=0,h=(256&d)!=0,f=0,p=(512&d)!=0,g=0,E=(1024&d)!=0,y=(2048&d)!=0,b=0,T=im(s,4),A=8;(1&d)!=0&&(u=im(s,A),A+=4),(4&d)!=0&&(A+=4);let _=u+l;for(let l=0;l<T;l++){if(h?(f=im(s,A),A+=4):f=c,p?(g=im(s,A),A+=4):g=m,E&&(A+=4),y&&(b=0===o?im(s,A):ig(s,A),A+=4),t.type===ii){let t=0;for(;t<g;){let s=im(r,_);_+=4,function(e,t){if(!e)return 6==(31&t);{let e=t>>1&63;return 39===e||40===e}}(n,r[_])&&iI(r.subarray(_,_+s),n?2:1,e+b/a,i),_+=s,t+=s+4}}e+=f/a}}))})})}),i}function iR(e){if(!e)return!1;let t=e.substring(0,4);return"hvc1"===t||"hev1"===t||"dvh1"===t||"dvhe"===t}function iI(e,t,i,r){let a,s=iw(e);a=0+t;let n=0,o=0,l=0;for(;a<s.length;){n=0;do{if(a>=s.length)break;n+=l=s[a++]}while(255===l)o=0;do{if(a>=s.length)break;o+=l=s[a++]}while(255===l)let e=s.length-a,t=a;if(o<e)a+=o;else if(o>e){t2.error(`Malformed SEI payload. ${o} is too small, only ${e} bytes left to parse.`);break}if(4===n){if(181===s[t++]){let e=ic(s,t);if(t+=2,49===e){let e=im(s,t);if(t+=4,0x47413934===e){let e=s[t++];if(3===e){let a=s[t++],o=31&a,l=64&a,d=l?2+3*o:0,u=new Uint8Array(d);if(l){u[0]=a;for(let e=1;e<d;e++)u[e]=s[t++]}r.push({type:e,payloadType:n,pts:i,bytes:u})}}}}}else if(5===n&&o>16){let e=[];for(let i=0;i<16;i++){let r=s[t++].toString(16);e.push(1==r.length?"0"+r:r),(3===i||5===i||7===i||9===i)&&e.push("-")}let a=o-16,l=new Uint8Array(a);for(let e=0;e<a;e++)l[e]=s[t++];r.push({payloadType:n,pts:i,uuid:e.join(""),userData:t5(l),userDataBytes:l})}}}function iw(e){let t=e.byteLength,i=[],r=1;for(;r<t-2;)0===e[r]&&0===e[r+1]&&3===e[r+2]?(i.push(r+2),r+=2):r++;if(0===i.length)return e;let a=t-i.length,s=new Uint8Array(a),n=0;for(r=0;r<a;n++,r++)n===i[0]&&(n++,i.shift()),s[r]=e[n];return s}let iC={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function iD(e,t){let i=iC[t];return!!i&&!!i[e.slice(0,4)]}function ix(e,t,i=!0){return!e.split(",").some(e=>!iM(e,t,i))}function iM(e,t,i=!0){var r;let a=t3(i);return null!=(r=null==a?void 0:a.isTypeSupported(iP(e,t)))&&r}function iP(e,t){return`${t}/mp4;codecs=${e}`}function iO(e){if(e){let t=e.substring(0,4);return iC.video[t]}return 2}function iN(e){let t=/\(Windows.+Firefox\//i.test(navigator.userAgent);return e.split(",").reduce((e,i)=>{let r=t&&iR(i)?9:iC.video[i];return r?(2*r+e)/(e?3:2):(iC.audio[i]+e)/(e?2:1)},0)}let iU={},iF=/flac|opus|mp4a\.40\.34/i;function iB(e,t=!0){return e.replace(iF,e=>(function(e,t=!0){if(iU[e])return iU[e];let i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let a=0;a<i.length;a++){var r;if(iM(i[a],"audio",t))return iU[e]=i[a],i[a];
1if("mp3"===i[a]&&null!=(r=t3(t))&&r.isTypeSupported("audio/mpeg"))return""}return e})(e.toLowerCase(),t))}function i$(e,t){if(e&&(e.length>4||-1!==["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e))&&(iH(e,"audio")||iH(e,"video")))return e;if(t){let i=t.split(",");if(i.length>1){if(e){for(let t=i.length;t--;)if(i[t].substring(0,4)===e.substring(0,4))return i[t]}return i[0]}}return t||e}function iH(e,t){return iD(e,t)&&iM(e,t)}function iG(e){let t=t3(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported("audio/mpeg"),mp3:t.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:t.isTypeSupported('audio/mp4; codecs="ac-3"')}}function iV(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let iK={supported:!1,smooth:!1,powerEfficient:!1},iW={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function iq(e,t){return{supported:!1,configurations:t,decodingInfoResults:[iK],error:e}}function ij(e,t,i,r={}){var a,s,n,o,l,d;let u,h,c,m,f,p,g,E,y=e.videoCodec;if(!y&&!e.audioCodec||!i)return Promise.resolve(iW);let b=[],T=(u=null==(s=(a=e).videoCodec)?void 0:s.split(","),h=iY(a),c=a.width||640,m=a.height||480,f=a.frameRate||30,p=a.videoRange.toLowerCase(),u?u.map(e=>{let t={contentType:iP(function(e){if(e.startsWith("av01.")){let t=e.split("."),i=["0","111","01","01","01","0"];for(let e=t.length;e>4&&e<10;e++)t[e]=i[e-4];return t.join(".")}return e}(e),"video"),width:c,height:m,bitrate:h,framerate:f};return"sdr"!==p&&(t.transferFunction=p),t}):[]),A=T.length,_=(n=e,o=t,l=A>0,g=null==(d=n.audioCodec)?void 0:d.split(","),E=iY(n),g&&n.audioGroups?n.audioGroups.reduce((e,t)=>{var i;let r=t?null==(i=o.groups[t])?void 0:i.tracks:null;return r?r.reduce((e,i)=>{if(i.groupId===t){let t=parseFloat(i.channels||"");g.forEach(i=>{let r={contentType:iP(i,"audio"),bitrate:l?function(e,t){if(t<=1)return 1;let i=128e3;return"ec-3"===e?i=768e3:"ac-3"===e&&(i=64e4),Math.min(t/2,i)}(i,E):E};t&&(r.channels=""+t),e.push(r)})}return e},e):e},[]):[]),S=_.length;for(let e=A||+S||1;e--;){let t={type:"media-source"};if(A&&(t.video=T[e%A]),S){t.audio=_[e%S];let i=t.audio.bitrate;t.video&&i&&(t.video.bitrate-=i)}b.push(t)}if(y){let e=navigator.userAgent;if(y.split(",").some(e=>iR(e))&&/\(Windows.+Firefox\//i.test(navigator.userAgent))return Promise.resolve(iq(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),b))}return Promise.all(b.map(e=>{let t=function(e){let t="",{audio:i,video:r}=e;if(r){let e=iV(r.contentType);t+=`${e}_r${r.height}x${r.width}f${Math.ceil(r.framerate)}${r.transferFunction||"sd"}_${Math.ceil(r.bitrate/1e5)}`}if(i){let e=iV(i.contentType);t+=`${r?"_":""}${e}_c${i.channels}`}return t}(e);return r[t]||(r[t]=i.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:b,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:b,decodingInfoResults:[],error:e}))}function iY(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let iz=["NONE","TYPE-0","TYPE-1",null],iQ=["SDR","PQ","HLG"];function iX(e){let{canSkipUntil:t,canSkipDateRanges:i,age:r}=e;return t&&r<t/2?i?"v2":"YES":""}class iZ{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class iJ{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(e=>!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const i=null==(t=e.supplemental)?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`)}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return i0(this._audioGroups,e)}hasSubtitleGroup(e){return i0(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function i0(e,t){return!!t&&!!e&&-1!==e.indexOf(t)}let i1=(e,t)=>{let i;return JSON.stringify(e,(i=new WeakSet,(e,r)=>{if(t&&(r=t(e,r)),"object"==typeof r&&null!==r){if(i.has(r))return;i.add(r)}return r}))};function i2(e,t){t2.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function i3(e){return e.reduce((e,t)=>
1{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);let r=t.channels||"2";return i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function i4(e){if(!e)return e;let{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}=e;return{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}}function i5(e,t,i){if("attrs"in e){let i=t.indexOf(e);if(-1!==i)return i}for(let r=0;r<t.length;r++)if(i8(e,t[r],i))return r;return -1}function i8(e,t,i){let{groupId:r,name:a,lang:s,assocLang:n,default:o}=e,l=e.forced;return(void 0===r||t.groupId===r)&&(void 0===a||t.name===a)&&(void 0===s||function(e,t="--"){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e)}(s,t.lang))&&(void 0===s||t.assocLang===n)&&(void 0===o||t.default===o)&&(void 0===l||t.forced===l)&&(!("characteristics"in e)||function(e,t=""){let i=e.split(","),r=t.split(",");return i.length===r.length&&!i.some(e=>-1===r.indexOf(e))}(e.characteristics||"",t.characteristics))&&(void 0===i||i(e,t))}function i9(e,t){let{audioCodec:i,channels:r}=e;return(void 0===i||(t.audioCodec||"").substring(0,4)===i.substring(0,4))&&(void 0===r||r===(t.channels||"2"))}function i6(e,t,i){for(let r=t;r>-1;r--)if(i(e[r]))return r;for(let r=t+1;r<e.length;r++)if(i(e[r]))return r;return -1}function i7(e,t){var i;return!!e&&e!==(null==(i=t.loadLevelObj)?void 0:i.uri)}let re=function(e,t){let i=0,r=e.length-1,a=null,s=null;for(;i<=r;){let n=t(s=e[a=(i+r)/2|0]);if(n>0)i=a+1;else{if(!(n<0))return s;r=a-1}}return null};function rt(e,t,i=0,r=0,a=.005){let s=null;if(e){s=t[1+e.sn-t[0].sn]||null;let r=e.endDTS-i;r>0&&r<15e-7&&(i+=15e-7),s&&e.level!==s.level&&s.end<=e.end&&(s=t[2+e.sn-t[0].sn]||null)}else 0===i&&0===t[0].start&&(s=t[0]);if(s&&((!e||e.level===s.level)&&0===ri(i,r,s)||function(e,t,i){if(t&&0===t.start&&t.level<e.level&&(t.endPTS||0)>0){let r=t.tagList.reduce((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e),i);return e.start<=r}return!1}(s,e,Math.min(a,r))))return s;let n=re(t,ri.bind(null,i,r));return n&&(n!==e||!s)?n:s}function ri(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;let r=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-r<=e?1:i.start-r>e&&i.start?-1:0}function rr(e,t,i){if(e&&e.startCC<=t&&e.endCC>=t){let r,a=e.fragments,{fragmentHint:s}=e;return s&&(a=a.concat(s)),re(a,e=>e.cc<t?1:e.cc>t?-1:(r=e,e.end<=i)?1:e.start>i?-1:0),r||null}return null}function ra(e){switch(e.details){case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_TIMEOUT:case tU.LEVEL_LOAD_TIMEOUT:case tU.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function rs(e){return e.details.startsWith("key")}function rn(e){return rs(e)&&!!e.frag&&!e.frag.decryptdata}function ro(e,t){let i=ra(t);return e.default[`${i?"timeout":"error"}Retry`]}function rl(e,t){return Math.min(("linear"===e.backoff?1:Math.pow(2,t))*e.retryDelayMs,e.maxRetryDelayMs)}function rd(e){return tQ(tQ({},e),{errorRetry:null,timeoutRetry:null})}function ru(e,t,i,r){var a;if(!e)return!1;let s=null==r?void 0:r.code,n=t<e.maxNumRetry&&(rh(a=s)||!!a&&(a<400||a>499)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,r,n):n}function rh(e){return 0===e&&!1===navigator.onLine}function rc(e){let t={action:0,flags:0};return e&&(t.resolved=!0),t}var rm="NOT_LOADED",rf="APPENDING",rp="PARTIAL";class rg{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e&&(e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let t=i.length;t--;){let r=i[t];if(!r)break;
1if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,i){let{fragments:r}=this,a=Object.keys(r);for(let s=a.length;s--;){let n=r[a[s]];if((null==n?void 0:n.body.type)===t&&(!i||n.buffered)){let t=n.body;if(t.start<=e&&e<=t.end)return t}}return null}detectEvictedFragments(e,t,i,r,a){this.timeRanges&&(this.timeRanges[e]=t);let s=(null==r?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach(r=>{let n=this.fragments[r];if(!n||s>=n.body.sn)return;if(!n.buffered&&(!n.loaded||a)){n.body.type===i&&this.removeFragment(n.body);return}let o=n.range[e];if(o){if(0===o.time.length)return void this.removeFragment(n.body);o.time.some(e=>{let i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(n.body),i})}})}detectPartialFragments(e){let t=this.timeRanges;if(!t||"initSegment"===e.frag.sn)return;let i=e.frag,r=rE(i),a=this.fragments[r];if(!a||a.buffered&&i.gap)return;let s=!i.relurl;Object.keys(t).forEach(r=>{let n=i.elementaryStreams[r];if(!n)return;let o=t[r],l=s||!0===n.partial;a.range[r]=this.getBufferedTimes(i,e.part,l,o)}),a.loaded=null,Object.keys(a.range).length?(this.bufferedEnd(a,i),rv(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=ry(i,t=>t.fragment.sn>=e))}fragBuffered(e,t){let i=rE(e),r=this.fragments[i];!r&&t&&(r=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),r&&(r.loaded=null,this.bufferedEnd(r,e))}getBufferedTimes(e,t,i,r){let a={time:[],partial:i},s=e.start,n=e.end,o=e.minEndPTS||n,l=e.maxStartPTS||s;for(let e=0;e<r.length;e++){let t=r.start(e)-this.bufferPadding,i=r.end(e)+this.bufferPadding;if(l>=t&&o<=i){a.time.push({startPTS:Math.max(s,r.start(e)),endPTS:Math.min(n,r.end(e))});break}if(s<i&&n>t){let t=Math.max(s,r.start(e)),i=Math.min(n,r.end(e));i>t&&(a.partial=!0,a.time.push({startPTS:t,endPTS:i}))}else if(n<=t)break}return a}getPartialFragment(e){let t,i,r,a=null,s=0,{bufferPadding:n,fragments:o}=this;return Object.keys(o).forEach(l=>{let d=o[l];d&&rv(d)&&(i=d.body.start-n,r=d.body.end+n,e>=i&&e<=r&&s<=(t=Math.min(e-i,r-e))&&(a=d.body,s=t))}),a}isEndListAppended(e){let t=this.endListFragments[e];return void 0!==t&&(t.buffered||rv(t))}getState(e){let t=rE(e),i=this.fragments[t];if(i)if(!i.buffered)return rf;else if(rv(i))return rp;else return"OK";return rm}isTimeBuffered(e,t,i){let r,a;for(let s=0;s<i.length;s++){if(r=i.start(s)-this.bufferPadding,a=i.end(s)+this.bufferPadding,e>=r&&t<=a)return!0;if(t<=r)break}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if("initSegment"===t.frag.sn||t.frag.bitrateTest)return;let i=t.frag,r=t.part?null:t,a=rE(i);this.fragments[a]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:r,timeRanges:a,type:s}=t;if("initSegment"===i.sn)return;let n=i.type;if(r){let e=this.activePartLists[n];e||(this.activePartLists[n]=e=[]),e.push(r)}this.timeRanges=a;let o=a[s];this.detectEvictedFragments(s,o,n,r)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=rE(e);return!!this.fragments[t]}hasFragments(e){let{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let r=i.length;r--;){let a=t[i[r]];if((null==a?void 0:a.body.type)===e)return!0}return!1}hasParts(e){var t;return!!(null!=(t=this.activePartLists[e])&&t.length)}removeFragmentsInRange(e,t,i,r,a){(!r||this.hasGaps)&&Object.keys(this.fragments).forEach(s=>{let n=this.fragments[s];if(!n)return;let o=n.body;o.type===i&&(!r||o.gap)&&o.start<t&&o.end>e&&(n.buffered||a)&&this.removeFragment(o)})}removeFragment(e){let t=rE(e);e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let t=e.sn;this.activePartLists[e.type]=ry(i,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;
1t&&t.forEach(e=>e.clearElementaryStreamInfo())}}function rv(e){var t,i,r;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(i=e.range.audio)&&i.partial||null!=(r=e.range.audiovideo)&&r.partial)}function rE(e){return`${e.type}_${e.level}_${e.sn}`}function ry(e,t){return e.filter(e=>{let i=t(e);return i||e.clearElementaryStreamInfo(),i})}class rb{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case 0:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case 1:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}class rT{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,r=i[0],a=i[1],s=i[2],n=i[3],o=this.invSubMix,l=o[0],d=o[1],u=o[2],h=o[3],c=new Uint32Array(256),m=0,f=0,p=0;for(p=0;p<256;p++)p<128?c[p]=p<<1:c[p]=p<<1^283;for(p=0;p<256;p++){let i=f^f<<1^f<<2^f<<3^f<<4;i=i>>>8^255&i^99,e[m]=i,t[i]=m;let o=c[m],p=c[o],g=c[p],E=257*c[i]^0x1010100*i;r[m]=E<<24|E>>>8,a[m]=E<<16|E>>>16,s[m]=E<<8|E>>>24,n[m]=E,E=0x1010101*g^65537*p^257*o^0x1010100*m,l[i]=E<<24|E>>>8,d[i]=E<<16|E>>>16,u[i]=E<<8|E>>>24,h[i]=E,m?(m=o^c[c[c[g^o]]],f^=c[c[f]]):m=f=1}}expandKey(e){let t,i,r,a,s=this.uint8ArrayToUint32Array_(e),n=!0,o=0;for(;o<s.length&&n;)n=s[o]===this.key[o],o++;if(n)return;this.key=s;let l=this.keySize=s.length;if(4!==l&&6!==l&&8!==l)throw Error("Invalid aes key size="+l);let d=this.ksRows=(l+6+1)*4,u=this.keySchedule=new Uint32Array(d),h=this.invKeySchedule=new Uint32Array(d),c=this.sBox,m=this.rcon,f=this.invSubMix,p=f[0],g=f[1],E=f[2],y=f[3];for(t=0;t<d;t++){if(t<l){r=u[t]=s[t];continue}a=r,t%l==0?a=(c[(a=a<<8|a>>>24)>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a])^m[t/l|0]<<24:l>6&&t%l==4&&(a=c[a>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a]),u[t]=r=(u[t-l]^a)>>>0}for(i=0;i<d;i++)t=d-i,a=3&i?u[t]:u[t-4],i<4||t<=4?h[i]=a:h[i]=p[c[a>>>24]]^g[c[a>>>16&255]]^E[c[a>>>8&255]]^y[c[255&a]],h[i]=h[i]>>>0}networkToHostOrderSwap(e){return e<<24|(65280&e)<<8|(0xff0000&e)>>8|e>>>24}decrypt(e,t,i){let r,a,s,n,o,l,d,u,h,c,m,f,p,g,E=this.keySize+6,y=this.invKeySchedule,b=this.invSBox,T=this.invSubMix,A=T[0],_=T[1],S=T[2],k=T[3],L=this.uint8ArrayToUint32Array_(i),R=L[0],I=L[1],w=L[2],C=L[3],D=new Int32Array(e),x=new Int32Array(D.length),M=this.networkToHostOrderSwap;for(;t<D.length;){for(g=1,h=M(D[t]),c=M(D[t+1]),m=M(D[t+2]),f=M(D[t+3]),o=h^y[0],l=f^y[1],d=m^y[2],u=c^y[3],p=4;g<E;g++)r=A[o>>>24]^_[l>>16&255]^S[d>>8&255]^k[255&u]^y[p],a=A[l>>>24]^_[d>>16&255]^S[u>>8&255]^k[255&o]^y[p+1],s=A[d>>>24]^_[u>>16&255]^S[o>>8&255]^k[255&l]^y[p+2],n=A[u>>>24]^_[o>>16&255]^S[l>>8&255]^k[255&d]^y[p+3],o=r,l=a,d=s,u=n,p+=4;r=b[o>>>24]<<24^b[l>>16&255]<<16^b[d>>8&255]<<8^b[255&u]^y[p],a=b[l>>>24]<<24^b[d>>16&255]<<16^b[u>>8&255]<<8^b[255&o]^y[p+1],s=b[d>>>24]<<24^b[u>>16&255]<<16^b[o>>8&255]<<8^b[255&l]^y[p+2],n=b[u>>>24]<<24^b[o>>16&255]<<16^b[l>>8&255]<<8^b[255&d]^y[p+3],x[t]=M(r^R),x[t+1]=M(n^I),x[t+2]=M(s^w),x[t+3]=M(a^C),R=h,I=c,w=m,C=f,t+=4}return x.buffer}}class rA{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i}expandKey(){let e=function(e){switch(e){case 0:return"AES-CBC";case 1:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}class r_{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftw
1areAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch(e){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);if(this.reset(),this.removePKCS7Padding){let e,t;return(t=(e=i.byteLength)&&new DataView(i.buffer).getUint8(e-1))?i.slice(0,e-t):i}return i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i,r){return this.useSoftware?new Promise((a,s)=>{let n=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(n,t,i,r);let o=this.flush();o?a(o.buffer):s(Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i,r)}softwareDecrypt(e,t,i,r){let{currentIV:a,currentResult:s,remainderData:n}=this;if(0!==r||16!==t.byteLength)return t2.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),n&&(e=ik(n,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;a&&(i=a);let l=this.softwareDecrypter;return(l||(l=this.softwareDecrypter=new rT),l.expandKey(t),this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=o.slice(-16).buffer,s)?s:null}webCryptoDecrypt(e,t,i,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,r));this.key=t,this.fastAesKey=new rA(this.subtle,t,r)}return this.fastAesKey.expandKey().then(t=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new rb(this.subtle,new Uint8Array(i),r).decrypt(e.buffer,t)):Promise.reject(Error("web crypto not initialized"))).catch(a=>(t2.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${a.name}: ${a.message}`),this.onWebCryptoError(e,t,i,r)))}onWebCryptoError(e,t,i,r){let a=this.enableSoftwareAES;if(a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,r);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(a?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%16;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(t2.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}class rS{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(e=>"GAP"===e[0]))return void o(rL(e));else e.gap=!1;let l=this.loader=a?new a(r):new s(r),d=rk(e);e.loader=l;let u=rd(r.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:131072};e.stats=l.stats;let c={onSuccess:(t,i,r,a)=>{this.resetLoader(e,l);let s=t.data;r.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(s.slice(0,16)),s=s.slice(16)),n({frag:e,part:null,payload:s,networkDetails:a})},onError:(t,r,a,s)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:tQ({url:i,data:void 0},t),error:Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:a,stats:s}))},onAbort:(t,i,r)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:r,stats:t}))},onTimeout:(t,i,r)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${h.timeout}ms`),networkDetails:r,stats:t}))}};t&&(c.onProgress=(i,r,a,s)=>t({frag:e,part:null,payload:a,networkDetails:s})),l.load(d,h,c)})}loadPart(e,t,i){this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>
1{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void o(rL(e,t));let l=this.loader=a?new a(r):new s(r),d=rk(e,t);e.loader=l;let u=rd(r.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:131072};t.stats=l.stats,l.load(d,h,{onSuccess:(r,a,s,o)=>{this.resetLoader(e,l),this.updateStatsFromPart(e,t);let d={frag:e,part:t,payload:r.data,networkDetails:o};i(d),n(d)},onError:(i,r,a,s)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:tQ({url:d.url,data:void 0},i),error:Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:a,stats:s}))},onAbort:(i,r,a)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:Error("Aborted"),networkDetails:a,stats:i}))},onTimeout:(i,r,a)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:Error(`Timeout after ${h.timeout}ms`),networkDetails:a,stats:i}))}})})}updateStatsFromPart(e,t){let i=e.stats,r=t.stats,a=r.total;if(i.loaded+=r.loaded,a){let r=Math.round(e.duration/t.duration),s=Math.min(Math.round(i.loaded/a),r),n=(r-s)*Math.round(i.loaded/s);i.total=i.loaded+n}else i.total=Math.max(i.loaded,i.total);let s=i.loading,n=r.loading;s.start?s.first+=n.first-n.start:(s.start=n.start,s.first=n.first),s.end=n.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function rk(e,t=null){let i=t||e,r={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=i.byteRangeStartOffset,s=i.byteRangeEndOffset;if(tM(a)&&tM(s)){var n,o;let t=a,i=s;if("initSegment"===e.sn&&("AES-128"===(o=null==(n=e.decryptdata)?void 0:n.method)||"AES-256"===o)){let e=s-a;e%16&&(i=s+(16-e%16)),0!==a&&(r.resetIV=!0,t=a-16)}r.rangeStart=t,r.rangeEnd=i}return r}function rL(e,t){let i=Error(`GAP ${e.gap?"tag":"attribute"} found`),r={type:tN.MEDIA_ERROR,details:tU.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(r.part=t),(t||e).stats.aborted=!0,new rR(r)}class rR extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class rI extends tX{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)}clearNextTick(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class rw{constructor(e,t,i,r=0,a=-1,s=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=rC(),this.buffering={audio:rC(),video:rC(),audiovideo:rC()},this.level=e,this.sn=t,this.id=i,this.size=r,this.part=a,this.partial=s}}function rC(){return{start:0,executeStart:0,executeEnd:0,end:0}}let rD={length:0,start:()=>0,end:()=>0};class rx{static isBuffered(e,t){if(e){let i=rx.getBuffered(e);for(let e=i.length;e--;)if(t>=i.start(e)&&t<=i.end(e))return!0}return!1}static bufferedRanges(e){if(e){let t=rx.getBuffered(e);return rx.timeRangesToArray(t)}return[]}static timeRangesToArray(e){let t=[];for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}static bufferInfo(e,t,i){if(e){let r=rx.bufferedRanges(e);if(r.length)return rx.bufferedInfo(r,t,i)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,i){let r;t=Math.max(0,t),e.length>1&&e.sort((e,t)=>
1e.start-t.start||t.end-e.end);let a=-1,s=[];if(i)for(let r=0;r<e.length;r++){t>=e[r].start&&t<=e[r].end&&(a=r);let n=s.length;if(n){let t=s[n-1].end;e[r].start-t<i?e[r].end>t&&(s[n-1].end=e[r].end):s.push(e[r])}else s.push(e[r])}else s=e;let n=0,o=t,l=t;for(let e=0;e<s.length;e++){let d=s[e].start,u=s[e].end;if(-1===a&&t>=d&&t<=u&&(a=e),t+i>=d&&t<u)o=d,n=(l=u)-t;else if(t+i<d){r=d;break}}return{len:n,start:o||0,end:l||0,nextStart:r,buffered:e,bufferedIndex:a}}static getBuffered(e){try{return e.buffered||rD}catch(e){return t2.log("failed to get media.buffered",e),rD}}}let rM=/\{\$([a-zA-Z0-9-_]+)\}/g;function rP(e,t){if(null!==e.variableList||e.hasVariableRefs){let i=e.variableList;return t.replace(rM,t=>{let r=t.substring(2,t.length-1),a=null==i?void 0:i[r];return void 0===a?(e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),t):a})}return t}function rO(e,t,i){let r,a,s=e.variableList;if(s||(e.variableList=s={}),"QUERYPARAM"in t){r=t.QUERYPARAM;try{let e=new self.URL(i).searchParams;if(e.has(r))a=e.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${i}"`)}catch(t){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else r=t.NAME,a=t.VALUE;r in s?e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`)):s[r]=a||""}let rN=/^(\d+)x(\d+)$/,rU=/(.+?)=(".*?"|.*?)(?:,|$)/g;class rF{constructor(e,t){"string"==typeof e&&(e=rF.parseAttrList(e,t)),tY(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2),i=new Uint8Array((t=(1&t.length?"0":"")+t).length/2);for(let e=0;e<t.length/2;e++)i[e]=parseInt(t.slice(2*e,2*e+2),16);return i}return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){let i=this[e];return(i?i.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){let t=rN.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let i,r={};for(rU.lastIndex=0;null!==(i=rU.exec(e));){let a=i[1].trim(),s=i[2],n=0===s.indexOf('"')&&s.lastIndexOf('"')===s.length-1,o=!1;if(n)s=s.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":o=!0}if(t&&(n||o))s=rP(t,s);else if(!o&&!n)switch(a){case"CLOSED-CAPTIONS":if("NONE"===s)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":t2.warn(`${e}: attribute ${a} is missing quotes`)}r[a]=s}return r}}class rB{constructor(e,t,i=0){var r;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(r=null==t?void 0:t.tagOrder)?r:i,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){t2.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=tY(new rF({}),i,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]);tM(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){let{tagAnchor:e}=this;return null===e||null===e.programDateTime?(t2.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return null!==t?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(tM(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&tM(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class r${constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.drift
1StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let i=t.decryptdata;return i||(t.setKeyFormat(e.keyFormat),i=t.decryptdata),!!i&&e.matches(i)})}get hasProgramDateTime(){return!!this.fragments.length&&tM(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(-1!==t){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function rH(e,t){return e.length===t.length&&!e.some((e,i)=>e!==t[i])}function rG(e,t){return!e&&!t||!!e&&!!t&&rH(e,t)}function rV(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function rK(e){switch(e){case"AES-128":case"AES-256":return 0;case"AES-256-CTR":return 1;default:throw Error(`invalid full segment method ${e}`)}}function rW(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function rq(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function rj(e){let t=function(e,t,i){let r=e[t];e[t]=e[i],e[i]=r};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function rY(e){let t=e.split(":"),i=null;if("data"===t[0]&&2===t.length){let e=t[1].split(";"),r=e[e.length-1].split(",");if(2===r.length){let t="base64"===r[0],a=r[1];if(t)e.splice(-1,1),i=rW(a);else{let e,t;e=rq(a).subarray(0,16),(t=new Uint8Array(16)).set(e,16-e.length),i=t}}}return i}let rz="u">typeof self?self:void 0;var rQ="org.w3.clearkey",rX="com.apple.fps",rZ="com.microsoft.playready",rJ="com.widevine.alpha",r0="org.w3.clearkey",r1="com.apple.streamingkeydelivery",r2="com.microsoft.playready",r3="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function r4(e){switch(e){case r1:return rX;case r2:return rZ;case r3:return rJ;case r0:return rQ}}function r5(e){switch(e){case rX:return r1;case rZ:return r2;case rJ:return r3;case rQ:return r0}}function r8(e){let{drmSystems:t,widevineLicenseUrl:i}=e,r=t?[rX,rJ,rZ,rQ].filter(e=>!!t[e]):[];return!r[rJ]&&i&&r.push(rJ),r}let r9=null!=rz&&null!=(l6=rz.navigator)&&l6.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function r6(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(t)),r=i.substring(i.indexOf("<"),i.length),a=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){let e=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(e){let t=rW(e).subarray(0,16);return rj(t),t}}return null}let r7={};class ae{static clearKeyUriToKeyIdMap(){r7={}}static setKeyIdForUri(e,t){r7[e]=t}static addKeyIdForUri(e){let t=Object.keys(r7).length%Number.MAX_SAFE_INTEGER,i=new Uint8Array(16);return new DataView(i.buffer,12,4).setUint32(0,t),r7[e]=i,i}constructor(e,t,i,r=[1],a=null,s){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pss
1h=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=r,this.iv=a,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!rV(e),null!=s&&s.startsWith("0x")&&(this.keyId=new Uint8Array(t9(s)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&rH(e.keyFormatVersions,this.keyFormatVersions)&&rG(e.iv,this.iv)&&rG(e.keyId,this.keyId)}isSupported(){if(this.method){if(rV(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case r1:case r3:case r2:case r0:return -1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(e,t){var i,r;if(!this.encrypted||!this.uri)return null;if(rV(this.method)){let t=this.iv;return t||("number"!=typeof e&&(t2.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),t=function(e){let t=new Uint8Array(16);for(let i=12;i<16;i++)t[i]=e>>8*(15-i)&255;return t}(e)),new ae(this.method,this.uri,"identity",this.keyFormatVersions,t)}if(this.keyId){let e=r7[this.uri];if(e&&!rH(this.keyId,e)&&ae.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}let a=rY(this.uri);if(a)switch(this.keyFormat){case r3:if(this.pssh=a,!this.keyId){let e=function(e){let t=[];if(e instanceof ArrayBuffer){let i=e.byteLength,r=0;for(;r+32<i;){let i=function(e){let t=e.getUint32(0),i=e.byteOffset,r=e.byteLength;if(r<t)return{offset:i,size:r};if(0x70737368!==e.getUint32(4))return{offset:i,size:t};let a=e.getUint32(8)>>>24;if(0!==a&&1!==a)return{offset:i,size:t};let s=e.buffer,n=t8(new Uint8Array(s,i+12,16)),o=null,l=0;if(0===a)l=28;else{let a=e.getUint32(28);if(!a||r<32+16*a)return{offset:i,size:t};o=[];for(let e=0;e<a;e++)o.push(new Uint8Array(s,i+32+16*e,16));l=32+16*a}if(!l)return{offset:i,size:t};let d=e.getUint32(l);return t-32<d?{offset:i,size:t}:{version:a,systemId:n,kids:o,data:new Uint8Array(s,i+l+4,d),offset:i,size:t}}(new DataView(e,r));t.push(i),r+=i.size}}return t}(a.buffer);if(e.length){let t=e[0];this.keyId=null!=(i=t.kids)&&i.length?t.kids[0]:null}}this.keyId||(this.keyId=at(t));break;case r2:{let e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(e,t){let i,r;if(16!==e.byteLength)throw RangeError("Invalid system id");i=new Uint8Array,r=new Uint8Array;let a=new Uint8Array(4);return t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),function(e,...t){let i=t.length,r=8,a=i;for(;a--;)r+=t[a].byteLength;let s=new Uint8Array(r);for(s[0]=r>>24&255,s[1]=r>>16&255,s[2]=r>>8&255,s[3]=255&r,s.set(e,4),a=0,r=8;a<i;a++)s.set(t[a],r),r+=t[a].byteLength;return s}([112,115,115,104],new Uint8Array([0,0,0,0]),e,r,i,a,t)}(e,a),this.keyId=r6(a);break}default:{let e=a.subarray(0,16);if(16!==e.length){let t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e}}if(!this.keyId||16!==this.keyId.byteLength){let e,i;!(e=(i=null==(r=t)?void 0:r[r3])?i.keyId:null)&&((e=at(t))||(e=r7[this.uri])),e&&(this.keyId=e,ae.setKeyIdForUri(this.uri,e))}return this}}function at(e){let t=null==e?void 0:e[r2];if(t){let e=rY(t.uri);if(e)return r6(e)}return null}let ai=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,ar=/#EXT-X-MEDIA:(.*)/g,aa=/^#EXT(?:INF|-X-TARGETDURATION):/m,as=RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),an=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class ao{static findGroup(e,t){for(let i=0;i<e.length;i++){let r=e[i];if(r.id===t)return r}}static resolve(e,t){return t7.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return aa.test(e)}static parseMasterPlaylist(e,t){var i;let r,a={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:rM.test(e)},s=[];if(ai.lastIndex=0,!e.startsWith("#EXTM3U"))return a.playlistParsingError=Error("no EXTM3U delimiter"),a;for(;null!=(r=ai.exec(e));)if(r[1]){let e=new rF(r[1],a),n=rP(a,r[2]),o={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:ao.resolve(n,t)},l=e.decimalResolution("RESOLUTION");l&&(o.width=l.width,o.height=l.height),ah(e.CODECS,o);let d=e["SUPPLEMENTAL-CODECS"];d&&(o.supplemental={},ah(d,o.supplemental)),null!=(i=o.unknownCodecs)&&i.length||s.push(o),a.levels.push(o)}else if(r[3]){let e=r[3],i=r[4];switch(e){case"SESSION-DATA":{let e=new rF(i,a),t=e["DATA-ID"];t&&(null===a.sessionData&&(a.sessionData={}),a.sessionData[t]=e);break}case"SESSION-KEY":{let e=ad(i,t,a);e.encrypted&&e.isSupported()?(null===a.sessionKeys&&(a.sessionKeys=[]),a.sessionKeys.push(e)):t2.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${i}"`);break}case"DEFINE":{let e=new rF(i,a);rO(a,e,t)}break;case"CONTENT-STEERING":{let e=new rF(i,a);a.contentSteering={uri:ao.resolve(e["SERVER-URI"],t),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":a.startTimeOffset=au(i)}}let n=s.length>0&&s.length<a.levels.length;return a.levels=n?s:a.levels,0===a.levels.length&&(a.playlistParsingError=Error("no levels found in manifest")),a}static parseMasterPlaylistMedia(e,t,i){let r,a={},s=i.levels,n={AUDIO:s.map(e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:s.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]},o=0;for(ar.lastIndex=0;null!==(r=ar.exec(e));){let e=new rF(r[1],i),s=e.TYPE;if(s){let i=n[s],r=a[s]||[];a[s]=r;let l=e.LANGUAGE,d=e["ASSOC-LANGUAGE"],u=e.CHANNELS,h=e.CHARACTERISTICS,c=e["INSTREAM-ID"],m={attrs:e,bitrate:0,id:o++,groupId:e["GROUP-ID"]||"",name:e.NAME||l||"",type:s,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:l,url:e.URI?ao.resolve(e.URI,t):""};if(d&&(m.assocLang=d),u&&(m.channels=u),h&&(m.characteristics=h),c&&(m.instreamId=c),null!=i&&i.length){let e=ao.findGroup(i,m.groupId)||i[0];ac(m,e,"audioCodec"),ac(m,e,"textCodec")}r.push(m)}}return a}static parseLevelPlaylist(e,t,i,r,a,s){var n;let o,l,d,u,h={url:t},c=new r$(t),m=c.fragments,f=[],p=null,g=0,E=0,y=0,b=0,T=0,A=null,_=new io(r,h),S=-1,k=!1,L=null;if(as.lastIndex=0,c.m3u8=e,c.hasVariableRefs=rM.test(e),(null==(n=as.exec(e))?void 0:n[0])!=="#EXTM3U")return c.playlistParsingError=Error("Missing format identifier #EXTM3U"),c;for(;null!==(o=as.exec(e));){k&&(k=!1,(_=new io(r,h)).playlistOffset=y,_.setStart(y),_.sn=g,_.cc=b,T&&(_.bitrate=T),_.level=i,p&&(_.initSegment=p,p.rawProgramDateTime&&(_.rawProgramDateTime=p.rawProgramDateTime,p.rawProgramDateTime=null),L&&(_.setByteRange(L),L=null)));
1let e=o[1];if(e){_.duration=parseFloat(e);let t=(" "+o[2]).slice(1);_.title=t||null,_.tagList.push(t?["INF",e,t]:["INF",e])}else if(o[3]){if(tM(_.duration)){_.playlistOffset=y,_.setStart(y),d&&ap(_,d,c),_.sn=g,_.level=i,_.cc=b,m.push(_);let e=(" "+o[3]).slice(1);_.relurl=rP(c,e),am(_,A,f),A=_,y+=_.duration,g++,E=0,k=!0}}else{if(!(o=o[0].match(an))){t2.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<o.length&&void 0===o[l];l++);let e=(" "+o[l]).slice(1),a=(" "+o[l+1]).slice(1),n=o[l+2]?(" "+o[l+2]).slice(1):null;switch(e){case"BYTERANGE":A?_.setByteRange(a,A):_.setByteRange(a);break;case"PROGRAM-DATE-TIME":_.rawProgramDateTime=a,_.tagList.push(["PROGRAM-DATE-TIME",a]),-1===S&&(S=m.length);break;case"PLAYLIST-TYPE":c.type&&ag(c,e,o),c.type=a.toUpperCase();break;case"MEDIA-SEQUENCE":0!==c.startSN?ag(c,e,o):m.length>0&&av(c,e,o),g=c.startSN=parseInt(a);break;case"SKIP":{c.skippedSegments&&ag(c,e,o);let t=new rF(a,c),i=t.decimalInteger("SKIPPED-SEGMENTS");if(tM(i)){c.skippedSegments+=i;for(let e=i;e--;)m.push(null);g+=i}let r=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");r&&(c.recentlyRemovedDateranges=(c.recentlyRemovedDateranges||[]).concat(r.split(" ")));break}case"TARGETDURATION":0!==c.targetduration&&ag(c,e,o),c.targetduration=Math.max(parseInt(a),1);break;case"VERSION":null!==c.version&&ag(c,e,o),c.version=parseInt(a);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":c.live||ag(c,e,o),c.live=!1;break;case"#":(a||n)&&_.tagList.push(n?[a,n]:[a]);break;case"DISCONTINUITY":b++,_.tagList.push(["DIS"]);break;case"GAP":_.gap=!0,_.tagList.push([e]);break;case"BITRATE":_.tagList.push([e,a]),tM(T=1e3*parseInt(a))?_.bitrate=T:T=0;break;case"DATERANGE":{let e=new rF(a,c),t=new rB(e,c.dateRanges[e.ID],c.dateRangeTagCount);c.dateRangeTagCount++,t.isValid||c.skippedSegments?c.dateRanges[t.id]=t:t2.warn(`Ignoring invalid DATERANGE tag: "${a}"`),_.tagList.push(["EXT-X-DATERANGE",a]);break}case"DEFINE":{let e=new rF(a,c);"IMPORT"in e?function(e,t,i){let r=t.IMPORT;if(i&&r in i){let t=e.variableList;t||(e.variableList=t={}),t[r]=i[r]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}(c,e,s):rO(c,e,t)}break;case"DISCONTINUITY-SEQUENCE":0!==c.startCC?ag(c,e,o):m.length>0&&av(c,e,o),c.startCC=b=parseInt(a);break;case"KEY":{let e=ad(a,t,c);if(e.isSupported()){if("NONE"===e.method){d=void 0;break}d||(d={});let t=d[e.keyFormat];null!=t&&t.matches(e)||(t&&(d=tY({},d)),d[e.keyFormat]=e)}else t2.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${a}"`);break}case"START":c.startTimeOffset=au(a);break;case"MAP":{let e=new rF(a,c);if(_.duration){let t=new io(r,h);af(t,e,i,d),p=t,_.initSegment=p,p.rawProgramDateTime&&!_.rawProgramDateTime&&(_.rawProgramDateTime=p.rawProgramDateTime)}else{let t=_.byteRangeEndOffset;if(t){let e=_.byteRangeStartOffset;L=`${t-e}@${e}`}else L=null;af(_,e,i,d),p=_,k=!0}p.cc=b;break}case"SERVER-CONTROL":u&&ag(c,e,o),c.canBlockReload=(u=new rF(a)).bool("CAN-BLOCK-RELOAD"),c.canSkipUntil=u.optionalFloat("CAN-SKIP-UNTIL",0),c.canSkipDateRanges=c.canSkipUntil>0&&u.bool("CAN-SKIP-DATERANGES"),c.partHoldBack=u.optionalFloat("PART-HOLD-BACK",0),c.holdBack=u.optionalFloat("HOLD-BACK",0);break;case"PART-INF":c.partTarget&&ag(c,e,o),c.partTarget=new rF(a).decimalFloatingPoint("PART-TARGET");break;case"PART":{let e=c.partList;e||(e=c.partList=[]);let t=E>0?e[e.length-1]:void 0,i=E++,r=new il(new rF(a,c),_,h,i,t);e.push(r),_.duration+=r.duration;break}case"PRELOAD-HINT":{let e=new rF(a,c);c.preloadHint=e;break}case"RENDITION-REPORT":{let e=new rF(a,c);c.renditionReports=c.renditionReports||[],c.renditionReports.push(e);break}default:t2.warn(`line parsed but not handled: ${o}`)}}}A&&!A.relurl?(m.pop(),y-=A.duration,c.partList&&(c.fragmentHint=A)):c.partList&&(am(_,A,f),_.cc=b,c.fragmentHint=_,d&&ap(_,d,c)),c.targetduration||(c.playlistParsingError=Error("Missing Target Duration"));let R=m.length,I=m[0],w=m[R-1];if((y+=c.skippedSegments*c.targetduration)>0&&R&&w){c.averagetargetduration=y/R;let e=w.sn;c.endSN="initSegment"!==e?e:0,c.live||(w.endList=!0),S>0&&(function(e,t){let i=e[t];for(let r=t;r--;){let t=e[r];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(m,S),I&&f.unshift(I))}return c.fragmentHint&&(y+=c.fragmentHint.duration),c.totalduration=y,f.length&&c.dateRangeTagCount&&I&&al(f,c),c.endCC=b,c}}function al(e,t){let i=e.length;if(!i)if(!t.hasProgramDateTime)return;else{let r=t.fragments[t.fragments.length-1];e.push(r),i++}let r=e[i-1],a=t.live?1/0:t.totalduration,s=Object.keys(t.dateRanges);for(let o=s.length;o--;){let l=t.dateRanges[s[o]],d=l.startDate.getTime();l.tagAnchor=r.ref;for(let r=i;r--;){var n;if((null==(n=e[r])?void 0:n.sn)<t.startSN)break;let i=function(e,t,i,r,a){let s=i[r];if(s){let o=s.programDateTime;if(t>=o||0===r){var n;if(t<=o+1e3*(((null==(n=i[r+1])?void 0:n.start)||a)-s.start)){let a=i[r].sn-e.startSN;if(a<0)return -1;let s=e.fragments;if(s.length>i.length){let n=(i[r+1]||s[s.length-1]).sn-e.startSN;for(let e=n;e>a;e--){let i=s[e].programDateTime;if(t>=i&&t<i+1e3*s[e].duration)return e}}return a}}}return -1}(t,d,e,r,a);if(-1!==i){l.tagAnchor=t.fragments[i].ref;break}}}}function ad(e,t,i){var r,a;let s=new rF(e,i),n=null!=(r=s.METHOD)?r:"",o=s.URI,l=s.hexadecimalInteger("IV"),d=s.KEYFORMATVERSIONS,u=null!=(a=s.KEYFORMAT)?a:"identity";return o&&s.IV&&!l&&t2.error(`Invalid IV: ${s.IV}`),new ae(n,o?ao.resolve(o,t):"",u,(d||"1").split("/").map(Number).filter(Number.isFinite),l,s.KEYID)}function au(e){let t=new rF(e).decimalFloatingPoint("TIME-OFFSET");return tM(t)?t:null}function ah(e,t){let i=(e||"").split(/[ ,]+/).filter(e=>e);
1["video","audio","text"].forEach(e=>{let r=i.filter(t=>iD(t,e));r.length&&(t[`${e}Codec`]=r.map(e=>e.split("/")[0]).join(","),i=i.filter(e=>-1===r.indexOf(e)))}),t.unknownCodecs=i}function ac(e,t,i){let r=t[i];r&&(e[i]=r)}function am(e,t,i){e.rawProgramDateTime?i.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function af(e,t,i,r){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",r&&(e.levelkeys=r),e.initSegment=null}function ap(e,t,i){e.levelkeys=t;let{encryptedFragments:r}=i;(!r.length||r[r.length-1].levelkeys!==t)&&Object.keys(t).some(e=>t[e].isCommonEncryption)&&r.push(e)}function ag(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must not appear more than once (${i[0]})`)}function av(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`)}function aE(e,t){let i=t.startPTS;if(tM(i)){let r,a=0;t.sn>e.sn?(a=i-e.start,r=e):(a=e.start-i,r=t),r.duration!==a&&r.setDuration(a)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0))}function ay(e,t,i,r,a,s,n){let o;r-i<=0&&(n.warn("Fragment should have a positive duration",t),r=i+t.duration,s=a+t.duration);let l=i,d=r,u=t.startPTS,h=t.endPTS;if(tM(u)){let o=Math.abs(u-i);e&&o>e.totalduration?n.warn(`media timestamps and playlist times differ by ${o}s for level ${t.level} ${e.url}`):tM(t.deltaPTS)?t.deltaPTS=Math.max(o,t.deltaPTS):t.deltaPTS=o,l=Math.max(i,u),i=Math.min(i,u),a=void 0!==t.startDTS?Math.min(a,t.startDTS):a,d=Math.min(r,h),r=Math.max(r,h),s=void 0!==t.endDTS?Math.max(s,t.endDTS):s}let c=i-t.start;0!==t.start&&t.setStart(i),t.setDuration(r-t.start),t.startPTS=i,t.maxStartPTS=l,t.startDTS=a,t.endPTS=r,t.minEndPTS=d,t.endDTS=s;let m=t.sn;if(!e||m<e.startSN||m>e.endSN)return 0;let f=m-e.startSN,p=e.fragments;for(p[f]=t,o=f;o>0;o--)aE(p[o],p[o-1]);for(o=f;o<p.length-1;o++)aE(p[o],p[o+1]);return e.fragmentHint&&aE(p[p.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,c}function ab(e,t,i,r,a){return Error(`${e} ${a.url} 2Playlist starting @${t.startSN} 3${t.m3u8} 4 5Playlist starting @${i.startSN} 6${i.m3u8}`)}function aT(e,t,i=!0){let r=t.startSN+t.skippedSegments-e.startSN,a=e.fragments,s=r>=0,n=0;if(s&&r<a.length)n=a[r].start;else if(s&&t.startSN===e.endSN+1)n=e.fragmentEnd;else if(s&&i)n=e.fragmentStart+r*t.levelTargetDuration;else{if(t.skippedSegments||0!==t.fragmentStart)return;n=e.fragmentStart}aA(t,n)}function aA(e,t){if(t){let i=e.fragments;for(let r=e.skippedSegments;r<i.length;r++)i[r].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t)}}function a_(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){let r=e.fragments;if(r.length&&4*i>t){let e=1e3*r[r.length-1].duration;e<i&&(i=e)}}else i/=2;return Math.round(i)}function aS(e,t,i){if(!e)return null;let r=e.fragments[t-e.startSN];return r||(r=e.fragmentHint)&&r.sn===t?r:t<e.startSN&&i&&i.sn===t?i:null}function ak(e,t,i){return e?aL(e.partList,t,i):null}function aL(e,t,i){if(e)for(let r=e.length;r--;){let a=e[r];if(a.index===i&&a.fragment.sn===t)return a}return null}function aR(e){e.forEach((e,t)=>{var i;null==(i=e.details)||i.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function aI(e){return e.replace(/\?[^?]*$/,"")}function aw(e,t){for(let r=0,a=e.length;r<a;r++){var i;if((null==(i=e[r])?void 0:i.cc)===t)return e[r]}return null}function aC(e,t){let i=e.start+t;e.startPTS=i,e.setStart(i),e.endPTS=i+e.duration}function aD(e,t){let i=t.fragments;for(let t=0,r=i.length;t<r;t++)aC(i[t],e);t.fragmentHint&&aC(t.fragmentHint,e),t.alignedSliding=!0}function ax(e,t){if((!t||!(e.startCC<t.endCC)||!(e.endCC>t.startCC))&&1)return;let i=Math.min(t.endCC,e.endCC),r=aw(t.fragments,i),a=aw(e.fragments,i);r&&a&&(t2.log(`Aligning playlist at start of dicontinuity sequence ${i}`),aD(r.start-a.start,e))}function aM(e,t){let i,r;if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let a=e.fragments,s=t.fragments;if(!a.length||!s.length)return;let n=Math.min(t.endCC,e.endCC);t.startCC<n&&e.startCC<n&&(i=aw(s,n),r=aw(a,n)),i&&r||(r=aw(a,(i=s[Math.floor(s.length/2)]).cc)||a[Math.floor(a.length/2)]);let o=i.programDateTime,l=r.programDateTime;o&&l&&aD((l-o)/1e3-(r.start-i.start),e)}function aP(e,t,i){aO(e,t,i),e.addEventListener(t,i)}function aO(e,t,i){e.removeEventListener(t,i)}let aN=function(e){let t="",i=e.length;for(let r=0;r<i;r++)t+=`[${e.start(r).toFixed(3)}-${e.end(r).toFixed(3)}]`;return t},aU="STOPPED",aF="IDLE",aB="KEY_LOADING",a$="FRAG_LOADING",aH="FRAG_LOADING_WAITING_RETRY",aG="WAITING_TRACK",aV="PARSING",aK="PARSED",aW="ENDED",aq="ERROR",aj="WAITING_INIT_PTS",aY="WAITING_LEVEL";class az extends rI{constructor(e,t,i,r,a){super(r,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=aU,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:e,fragCurrent:t,media:i,mediaBuffer:r,state:a}=this,s=i?i.currentTime:0,n=rx.bufferInfo(r||i,s,e.maxBufferHole),o=!n.len;if(this.log(`Media seeking to ${tM(s)?s.toFixed(3):s}, state: ${a}, ${o?"out of":"in"} buffer`),this.state===aW)this.resetLoadingState();else if(t){let i=e.maxFragLookUpTolerance,r=t.start-i,a=t.start+t.duration+i;if(o||a<n.start||r>n.end){let e=s>a;(s<r||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(i&&(this.fragmentTracker.removeFragmentsInRange(s,1/0,this.playlistType,!0),s>this.lastCurrentTime&&(this.lastCurrentTime=s),!this.loadingParts)){let e=Math.max(n.end,s),t=this.shouldLoadParts(this.getLevelDetails(),e);t&&(this.log(`LL-Part loading ON after seeking to ${s.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=t)}!this.hls.hasEnoughToStart&&(this.log(`Setting ${o?"startPosition":"nextLoadPosition"} to ${s} for seek without enough to start`),this.nextLoadPosition=s,o&&(this.startPosition=s)),o&&this.state===aF&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=a,this.hls=e,this.fragmentLoader=new rS(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new r_(e.config)}registerListeners(){let{hls:e}=this;
6e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===aU)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=aU}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return -1===t&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;let i=e.end||0,r=this.config.timelineOffset||0;if(i<=r)return!1;let a=e.buffered;this.config.maxBufferHole&&a&&a.length>1&&(e=rx.bufferedInfo(a,e.start,0));let s=e.nextStart;if(s&&s>r&&s<t.edge||this.media.currentTime<e.start)return!1;let n=t.partList;if(null!=n&&n.length){let e=n[n.length-1];return rx.isBuffered(this.media,e.start+e.duration/2)}let o=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)}getLevelDetails(){if(this.levels&&null!==this.levelLastLoaded)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var t;return(null==(t=this.getLevelDetails())?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;aP(i,"seeking",this.onMediaSeeking),aP(i,"ended",this.onMediaEnded);let r=this.config;this.levels&&r.autoStartLoad&&this.state===aU&&this.startLoad(r.startPosition)}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(null!==r){if(r.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),aO(r,"seeking",this.onMediaSeeking),aO(r,"ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=aU,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this.startFragRequested=!0,this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let r=e=>{let t=e.frag;if(this.fragContextChanged(t)){this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++,this._handleFragmentLoadProgress(e)};this._doFragLoad(e,t,i,r).then(e=>{if(!e)return;let t=this.state,i=e.frag;if(this.fragContextChanged(i)){t!==a$&&(this.fragCurrent||t!==aV)||(this.fragmentTracker.removeFragment(i),this.state=aF);return}"payload"in e&&(this.log(`Loaded ${i.type} sn: ${i.sn} of ${this.playlistLabel()} ${i.level}`),this.hls.trigger(tF.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)}).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===rf){let t=e.type,r=this.getFwdBufferInfo(this.mediaBuffer,t),a=Math.max(e.duration,r?r.len:this.config.maxBufferLength),s=this.backtrackFragment;(1==(s?e.sn-s.sn:0)||this.reduceMaxBufferLength(a,e.duration))&&i.removeFragment(e)}else(null==(t=this.mediaBuffer)?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===rp&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){let t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){e-t&&this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:e,endOffset:t,type:i})}_loadInitSegment(e,t){this._doFragLoad(e,t).then(e=>{let t=null==e?void 0:e.frag;if(!t||this.fragContextChanged(t)||!this.levels)throw Error("init load aborted");return e}).then(e=>{let{hls:t}=this,{frag:i,payload:r}=e,a=i.decryptdata;if(r&&r.byteLength>0&&null!=a&&a.key&&a.iv&&rV(a.method)){let s=self.performance.now();
6return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,rK(a.method)).catch(e=>{throw t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:i}),e}).then(r=>{let a=self.performance.now();return t.trigger(tF.FRAG_DECRYPTED,{frag:i,payload:r,stats:{tstart:s,tdecrypt:a}}),e.payload=r,this.completeInitSegmentLoad(e)})}return this.completeInitSegmentLoad(e)}).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(t),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw Error("init load aborted, missing levels");let i=e.frag.stats;this.state!==aU&&(this.state=aF),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var i,r;let a=e.tracks;if(a&&!t.encrypted&&(null!=(i=a.audio)&&i.encrypted||null!=(r=a.video)&&r.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let e=this.media,i=Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`);return this.warn(i.message),!!e&&!e.mediaKeys&&(this.hls.trigger(tF.ERROR,{type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_KEYS,fatal:!1,error:i,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){let i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?aN(rx.getBuffered(i)):"(detached)"})`),is(e)){var r;if(e.type!==tW){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e])){this.state=aF;return}}let t=null==(r=this.levels)?void 0:r[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=aF}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:r,partsLoaded:a}=e,s=!a||0===a.length||a.some(e=>!e),n=new rw(i.level,i.sn,i.stats.chunkCount+1,0,r?r.index:-1,!s);t.flush(n)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,r){var a,s;let n;this.fragCurrent=e;let o=t.details;if(!this.levels||!o)throw Error(`frag load aborted, missing level${o?"":" detail"}s`);let l=null;if(e.encrypted&&!(null!=(a=e.decryptdata)&&a.key)){if(this.log(`Loading key for ${e.sn} of [${o.startSN}-${o.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=aB,this.fragCurrent=e,l=this.keyLoader.load(e).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(tF.KEY_LOADED,e),this.state===aB&&(this.state=aF),e}),this.hls.trigger(tF.KEY_LOADING,{frag:e}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else!e.encrypted&&(l=this.keyLoader.loadClear(e,o.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");let d=this.fragPrevious;if(is(e)&&(!d||e.sn!==d.sn)){let i=this.shouldLoadParts(t.details,e.end);i!==this.loadingParts&&(this.log(`LL-Part loading ${i?"ON":"OFF"} loading sn ${null==d?void 0:d.sn}->${e.sn}`),this.loadingParts=i)}if(i=Math.max(e.start,i||0),this.loadingParts&&is(e)){let a=o.partList;if(a&&r){i>o.fragmentEnd&&o.fragmentHint&&(e=o.fragmentHint);let s=this.getNextPart(a,e,i);if(s>-1){let n,d=a[s];return(e=this.fragCurrent=d.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${d.index} (${s}/${a.length-1}) of ${this.fragInfo(e,!1,d)}) cc: ${e.cc} [${o.startSN}-${o.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=d.start+d.duration,this.state=a$,n=l?l.then(i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,d,t,r)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(e,d,t,r).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tF.FRAG_LOADING,{frag:e,part:d,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts")):n}if(!e.url||this.loadedEndOfParts(a,i))return Promise.resolve(null)}}if(is(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${null==(s=o.partList)?void 0:s.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+o.startSN+"-"+o.endSN+"]"}, target: ${parseFloat(i.toFixed(3))}`),tM(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=a$;let u=this.config.progressive&&e.type!==tW;return(n=u&&l?l.then(t=>!t||this.fragContextChanged(t.frag)?null:this.fragmentLoader.load(e,r)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(e,u?r:void 0),l]).then(([e])=>(!u&&r&&r(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tF.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING")):n}doFragPartsLoad(e,t,i,r){return new Promise((a,s)=>{var n;let o=[],l=null==(n=i.details)?void 0:n.partList,d=t=>{this.fragmentLoader.loadPart(e,t,r).then(r=>{o[t.index]=r;let s=r.part;this.hls.trigger(tF.FRAG_LOADED,r);let n=ak(i.details,e.sn,t.index+1)||aL(l,e.sn,t.index+1);if(!n)return a({frag:e,part:s,partsLoaded:o});d(n)}).catch(s)};d(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;t.frag&&t.details===tU.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===tN.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(tF.ERROR,t)}else this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==aV){this.fragCurrent||this.state===aU||this.state===aq||(this.state=aF);return}let{frag:i,part:r,level:a}=t,s=self.performance.now();i.stats.parsing.end=s,r&&(r.stats.parsing.end=s);let n=this.getLevelDetails(),o=n&&i.sn>n.endSN||this.shouldLoadParts(n,i.end);o!==this.loadingParts&&(this.log(`LL-Part loading ${o?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=o),this.updateLevelTiming(i,r,a,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i,r;let a=e.partList[0];if(a.fragment.type===tW)return!1;if(t>=a.end+((null==(i=e.fragmentHint)?void 0:i.duration)||0)&&(this.hls.hasEnoughToStart?(null==(r=this.media)?void 0:r.currentTime)||this.lastCurrentTime:this.getLoadPosition())>a.start-a.fragment.duration)return!0}}return!1}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:r,sn:a,part:s}=e;if(!(null!=t&&t[r]))return this.warn(`Levels object was unset while buffering fragment ${a} of ${this.playlistLabel()} ${r}. The current chunk will not be buffered.`),null;let n=t[r],o=n.details,l=s>-1?ak(o,a,s):null,d=l?l.fragment:aS(o,a,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:n}):null}bufferFragmentData(e,t,i,r,a){if(this.state!==aV)return;let{data1:s,data2:n}=e,o=s;if(n&&(o=ik(s,n)),!o.length)return;let l=this.initPTS[t.cc],d=l?-l.baseTime/l.timescale:void 0,u={type:e.type,frag:t,part:i,chunkMeta:r,offset:d,parent:t.type,data:o};if(this.hls.trigger(tF.BUFFER_APPENDING,u),e.dropped&&e.independent&&!i){if(a)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!rx.isBuffered(t,t.currentTime))return void this.flushMainBuffer(0,e.start);let i=t.currentTime,r=rx.bufferInfo(t,i,0),a=e.duration,s=Math.min(2*this.config.maxFragLookUpTolerance,.25*a),n=Math.max(Math.min(e.start-s,r.end-s),i+s);e.start-n>s&&this.flushMainBuffer(n,e.start)}getFwdBufferInfo(e,t){var i;let r=this.getLoadPosition();if(!tM(r))return null;let a=this.lastCurrentTime>r||null!=(i=this.media)&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,r,t,a)}getFwdBufferInfoAtPos(e,t,i,r){let a=rx.bufferInfo(e,t,r);if(0===a.len&&void 0!==a.nextStart){let s=this.fragmentTracker.getBufferedFrag(t,i);if(s&&(a.nextStart<=s.end||s.gap)){let i=Math.max(Math.min(a.nextStart,s.end)-t,r);return rx.bufferInfo(e,t,i)}}return a}
6getMaxBufferLength(e){let{config:t}=this;return Math.min(e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){let i=this.config,r=Math.max(Math.min(e-t,i.maxBufferLength),t),a=Math.max(e-3*t,i.maxMaxBufferLength/2,r);return a>=r&&(i.maxMaxBufferLength=a,this.warn(`Reduce max buffer length to ${a}s`),!0)}getAppendedFrag(e,t=tV){let i=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,r=i.length;if(!r)return null;let{config:a}=this,s=i[0].start,n=a.lowLatencyMode&&!!t.partList,o=null;if(t.live){let i=a.initialLiveManifestSize;if(r<i)return this.warn(`Not enough fragments to start playback (have: ${r}, need: ${i})`),null;if(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<s){var l;n&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),o=this.getInitialLiveFragment(t);let i=this.hls.startPosition,r=this.hls.liveSyncPosition,a=o?(-1!==i&&i>=s?i:r)||o.start:e;this.log(`Setting startPosition to ${a} to match start frag at live edge. mainStart: ${i} liveSyncPosition: ${r} frag.start: ${null==(l=o)?void 0:l.start}`),this.startPosition=this.nextLoadPosition=a}}else e<=s&&(o=i[0]);if(!o){let i=this.loadingParts?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,i,t)}let d=this.filterReplacedPrimary(o,t);if(!d&&o){let e=o.sn-t.startSN;d=this.filterReplacedPrimary(i[e+1]||null,t)}return this.mapToInitFragWhenRequired(d)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return("OK"===i||i===rp&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,r,a){let s=null;if(e.gap&&(s=this.getNextFragment(this.nextLoadPosition,t))&&!s.gap&&i.nextStart){let e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,r,0);if(null!==e&&i.len+e.len>=a){let e=s.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${r}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,s}get primaryPrefetch(){if(aQ(this.config)){var e;if(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(aQ(this.config)&&e.type!==tW){let i=this.hls.interstitialsManager,r=null==i?void 0:i.bufferingItem;if(r){let i=r.event;if(i){if(i.appendInPlace||Math.abs(e.start-r.start)>1||0===r.start)return null}else if(e.end<=r.start&&(null==t?void 0:t.live)===!1||e.start>r.end&&r.nextEvent&&(r.nextEvent.appendInPlace||e.start-r.end>1))return null}let a=null==i?void 0:i.playerQueue;if(a)for(let t=a.length;t--;){let i=a[t].interstitial;if(i.appendInPlace&&e.start>=i.startTime&&e.end<=i.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let r=-1,a=!1,s=!0;for(let n=0,o=e.length;n<o;n++){let o=e[n];if(s=s&&!o.independent,r>-1&&i<o.start)break;let l=o.loaded;l?r=-1:(a||(o.independent||s)&&o.fragment===t)&&(o.fragment!==t&&this.warn(`Need buffer at ${i} but next unloaded part starts at ${o.start}`),r=n),a=l}return r}loadedEndOfParts(e,t){let i;for(let r=e.length;r--&&(i=e[r]).loaded;)if(t>i.start)return!0;return!1}getInitialLiveFragment(e){let t=e.fragments,i=this.fragPrevious,r=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),r=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!tM(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let r=0;r<e.length;++r){let a=e[r];if(function(e,t,i){let r=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-r>e}(t,i,a))return a}return null}(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!r){let a=i.sn+1;if(a>=e.startSN&&a<=e.endSN){let s=t[a-e.startSN];i.cc===s.cc&&(r=s,this.log(`Live playlist, switching playlist, load frag with next SN: ${r.sn}`))}!r&&(r=rr(e,i.cc,i.end))&&this.log(`Live playlist, switching playlist, load frag with same CC: ${r.sn}`)}}else{let t=this.hls.liveSyncPosition;null!==t&&(r=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return r}getFragmentAtPosition(e,t,i){let r,{config:a}=this,{fragPrevious:s}=this,{fragments:n,endSN:o}=i,{fragmentHint:l}=i,{maxFragLookUpTolerance:d}=a,u=i.partList,h=!!(this.loadingParts&&null!=u&&u.length&&l);if(h&&!this.bitrateTest&&u[u.length-1].fragment.sn===l.sn&&(n=n.concat(l),o=l.sn),e<t){var c;let i=e<this.lastCurrentTime||e>t-d||null!=(c=this.media)&&c.paused||!this.startFragRequested?0:d;r=rt(s,n,e,i)}else r=n[n.length-1];if(r){let e=r.sn-i.startSN,t=this.fragmentTracker.getState(r);
6if(("OK"===t||t===rp&&r.gap)&&(s=r),s&&r.sn===s.sn&&(!h||u[0].fragment.sn>r.sn||!i.live)&&r.level===s.level){let t=n[e+1];r=r.sn<o&&"OK"!==this.fragmentTracker.getState(t)?t:null}}return r}alignPlaylists(e,t,i){let r=e.fragments.length;if(!r)return this.warn("No fragments in live playlist"),0;let a=e.fragmentStart,s=!t,n=e.alignedSliding&&tM(a);if(s||!n&&!a){i&&(ax(e,i),e.alignedSliding||aM(e,i),e.alignedSliding||e.skippedSegments||aT(i,e,!1));let a=e.fragmentStart;return this.log(`Live playlist sliding: ${a.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${r}`),a}return a}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);let r=this.timelineOffset;if(-1===i){let a=null!==this.startTimeOffset,s=a?this.startTimeOffset:e.startTimeOffset;null!==s&&tM(s)?(i=t+s,s<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${s} found in ${a?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+r}this.nextLoadPosition=i+r}getLoadPosition(){var e;let{media:t}=this,i=0;return null!=(e=this.hls)&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&is(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===aH)||(this.state=aF)}onFragmentOrKeyLoadError(e,t){var i,r,a;if(t.chunkMeta&&!t.frag){let e=this.getCurrentContext(t.chunkMeta);e&&(t.frag=e.frag)}let s=t.frag;if(!s||s.type!==e||!this.levels)return;if(this.fragContextChanged(s))return void this.warn(`Frag load error must match current frag to retry ${s.url} > ${null==(r=this.fragCurrent)?void 0:r.url}`);let n=t.details===tU.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(s,!0);let o=t.errorAction;if(!o){this.state=aq;return}let{action:l,flags:d,retryCount:u=0,retryConfig:h}=o,c=!!h,m=c&&5===l,f=c&&!o.resolved&&1===d,p=null==(i=this.hls.latestLevelDetails)?void 0:i.live;if(!m&&f&&is(s)&&!s.endList&&p&&!rn(t))this.resetFragmentErrors(e),this.treatAsGap(s),o.resolved=!0;else if((m||f)&&u<h.maxNumRetry){let i=rh(null==(a=t.response)?void 0:a.code),r=rl(h,u);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+r,this.state=aH,o.resolved=!0,i){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${t.details}, retrying loading ${u+1}/${h.maxNumRetry} in ${r}ms`)}else if(h){if(this.resetFragmentErrors(e),!(u<h.maxNumRetry))return void this.warn(`${t.details} reached or exceeded max retry (${u})`);n||3===l||(o.resolved=!0)}else 2===l?this.state=aY:this.state=aq;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,i=t===1/0;(!t||e>=t||i&&!rh(0))&&(i&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=aF)}reduceLengthAndFlushBuffer(e){if(this.state===aV||this.state===aK){let t=e.frag,i=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,i),a=r&&r.len>.5;a&&this.reduceMaxBufferLength(r.len,(null==t?void 0:t.duration)||10);let s=!a;return s&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),s}return!1}resetFragmentErrors(e){e===tK&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==aU&&(this.state=aF)}afterBufferFlushed(e,t,i){if(!e)return;let r=rx.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,r,i),this.state===aW&&this.resetLoadingState()}
6resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==aU&&(this.state=aF)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;null!=t&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${-1===e.level?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,r){let a=i.details;if(!a)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce((t,s)=>{let n=e.elementaryStreams[s];if(n){let o=n.endPTS-n.startPTS;if(o<=0)return this.warn(`Could not parse fragment ${e.sn} ${s} duration reliably (${o})`),t||!1;let l=r?0:ay(a,e,n.startPTS,n.endPTS,n.startDTS,n.endDTS,this);return this.hls.trigger(tF.LEVEL_PTS_UPDATED,{details:a,level:i,drift:l,type:s,frag:e,start:n.startPTS,end:n.endPTS}),!0}return t},!1)){var s;let t=(null==(s=this.transmuxer)?void 0:s.error)===null;if((0===i.fragmentError||t&&(i.fragmentError<2||e.endList))&&this.treatAsGap(e,i),t){let t=Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=aK,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(tF.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===tV?"level":"track"}fragInfo(e,t=!0,i){var r,a;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${(null!=(r=t&&!i?e.startPTS:(i||e).start)?r:NaN).toFixed(3)}-${(null!=(a=t&&!i?e.endPTS:(i||e).end)?a:NaN).toFixed(3)}]${i&&"main"===e.type?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null==(e=this.transmuxer)||e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function aQ(e){return!!e.interstitialsController&&!1!==e.enableInterstitialPlayback}class aX{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let e,{chunks:t,dataLength:i}=this;return t.length?(e=1===t.length?t[0]:function(e,t){let i=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++){let a=e[t];i.set(a,r),r+=a.length}return i}(t,i),this.reset(),e):new Uint8Array(0)}reset(){this.chunks.length=0,this.dataLength=0}}var aZ={exports:{}},aJ=(dr||(dr=1,!function(e){var t=Object.prototype.hasOwnProperty,i="~";function r(){}function a(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,r,s,n){if("function"!=typeof r)throw TypeError("The listener must be a function");var o=new a(r,s||e,n),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function n(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(i=!1)),o.prototype.eventNames=function(){var e,r,a=[];if(0===this._eventsCount)return a;for(r in e=this._events)t.call(e,r)&&a.push(i?r.slice(1):r);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(e)):a},o.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var a=0,s=r.length,n=Array(s);a<s;a++)n[a]=r[a].fn;return n},o.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,a,s,n){var o=i?i+e:e;if(!this._events[o])return!1;var l,d,u=this._events[o],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,a),!0;case 5:return u.fn.call(u.context,t,r,a,s),!0;case 6:return u.fn.call(u.context,t,r,a,s,n),!0}for(d=1,l=Array(h-1);d<h;d++)l[d-1]=arguments[d];u.fn.apply(u.context,l)}else{var c,m=u.length;for(d=0;d<m;d++)switch(u[d].once&&this.removeListener(e,u[d].fn,void 0,!0),h){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,t);break;case 3:u[d].fn.call(u[d].context,t,r);break;case 4:u[d].fn.call(u[d].context,t,r,a);break;default:if(!l)for(c=1,l=Array(h-1);c<h;c++)l[c-1]=arguments[c];u[d].fn.apply(u[d].context,l)}}return!0},o.prototype.on=function(e,t,i){return s(this,e,t,i,!1)},o.prototype.once=function(e,t,i){return s(this,e,t,i,!0)},o.prototype.removeListener=function(e,t,r,a){var s=i?i+e:e;if(!this._events[s])return this;if(!t)return n(this,s),this;var o=this._events[s];if(o.fn)o.fn!==t||a&&!o.once||r&&o.context!==r||n(this,s);else{for(var l=0,d=[],u=o.length;l<u;l++)(o[l].fn!==t||a&&!o[l].once||r&&o[l].context!==r)&&d.push(o[l]);d.length?this._events[s]=1===d.length?d[0]:d:n(this,s)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&n(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=i,o.EventEmitter=o,e.exports=o}
6(aZ)),(l7=aZ.exports)&&l7.__esModule&&Object.prototype.hasOwnProperty.call(l7,"default"))?l7.default:l7;let a0="1.6.15",a1={};function a2(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a3(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a4(e,t){return(127&e[t])<<21|(127&e[t+1])<<14|(127&e[t+2])<<7|127&e[t+3]}function a5(e,t){let i=t,r=0;for(;a3(e,t);)r+=10,r+=a4(e,t+6),a2(e,t+10)&&(r+=10),t+=r;if(r>0)return e.subarray(i,i+r)}function a8(e,t){return 255===e[t]&&(246&e[t+1])==240}function a9(e,t){return 1&e[t+1]?7:9}function a6(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function a7(e,t){return t+1<e.length&&a8(e,t)}function se(e,t,i,r,a){if(!e.samplerate){let s=function(e,t,i,r){let a=t[i+2],s=a>>2&15;if(s>12){let t=Error(`invalid ADTS sampling index:${s}`);e.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message});return}let n=(a>>6&3)+1,o=t[i+3]>>6&3|(1&a)<<2,l="mp4a.40."+n,d=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][s],u=s;(5===n||29===n)&&(u-=3);let h=[n<<3|(14&u)>>1,(1&u)<<7|o<<3];return t2.log(`manifest codec:${r}, parsed codec:${l}, channels:${o}, rate:${d} (ADTS object type:${n} sampling index:${s})`),{config:h,samplerate:d,channelCount:o,codec:l,parsedCodec:l,manifestCodec:r}}(t,i,r,a);s&&tY(e,s)}}function st(e,t,i,r,a){let s,n=r+a*(9216e4/e.samplerate),o=function(e,t){let i=a9(e,t);if(t+i<=e.length){let r=a6(e,t)-i;if(r>0)return{headerLength:i,frameLength:r}}}(t,i);if(o){let{frameLength:r,headerLength:a}=o,l=a+r,d=Math.max(0,i+l-t.length);d?(s=new Uint8Array(l-a)).set(t.subarray(i+a,t.length),0):s=t.subarray(i+a,i+l);let u={unit:s,pts:n};return d||e.samples.push(u),{sample:u,length:l,missing:d}}let l=t.length-i;return(s=new Uint8Array(l)).set(t.subarray(i,t.length),0),{sample:{unit:s,pts:n},length:l,missing:-1}}function si(e,t=0,i=1/0){var r,a,s,n,o,l;let d,u,h,c,m,f;return r=e,a=t,s=i,n=Uint8Array,d=(o=r)instanceof ArrayBuffer?o:o.buffer,u=1,"BYTES_PER_ELEMENT"in n&&(u=n.BYTES_PER_ELEMENT),c=((h=(l=r)&&l.buffer instanceof ArrayBuffer&&void 0!==l.byteLength&&void 0!==l.byteOffset?r.byteOffset:0)+r.byteLength)/u,f=Math.floor(Math.min((m=Math.floor(Math.max(0,Math.min((h+a)/u,c))))+Math.max(s,0),c)),new n(d,m,f-m)}function sr(e){let t=0,i=[];for(;a3(e,t);){let r=a4(e,t+6);e[t+5]>>6&1&&(t+=10);let a=(t+=10)+r;for(;t+10<a;){let r=function(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=a4(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}}(e.subarray(t)),a=function(e){if("PRIV"===e.type){if(e.size<2)return;let t=t5(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}}if("W"===e.type[0]){if("WXXX"===e.type){if(e.size<2)return;let t=1,i=t5(e.data.subarray(t),!0);t+=i.length+1;let r=t5(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t5(e.data);return{key:e.type,info:"",data:t}}if("APIC"===e.type)return function(e){let t,i={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if(e.size<2)return;if(3!==e.data[0])return void console.log("Ignore frame with unrecognized character encoding");let r=e.data.subarray(1).indexOf(0);if(-1===r)return;let a=t5(si(e.data,1,r)),s=e.data[2+r],n=e.data.subarray(3+r).indexOf(0);if(-1===n)return;let o=t5(si(e.data,3+r,n));if("-->"===a)t=t5(si(e.data,4+r+n));else{var l;t=(l=e.data.subarray(4+r+n))instanceof ArrayBuffer?l:0==l.byteOffset&&l.byteLength==l.buffer.byteLength?l.buffer:new Uint8Array(l).buffer}return i.mimeType=a,i.pictureType=s,i.description=o,i.data=t,i}(e);if(e.size<2)return;if("TXXX"===e.type){let t=1,i=t5(e.data.subarray(t),!0);t+=i.length+1;let r=t5(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t5(e.data.subarray(1));return{key:e.type,info:"",data:t}}(r);a&&i.push(a),t+=r.size+10}a2(e,t)&&(t+=10)}return i}function sa(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info}function ss(e){let t=sr(e);for(let e=0;e<t.length;e++){let i=t[e];if(sa(i))return function(e){if(8===e.data.byteLength){let t=new Uint8Array(e.data),i=1&t[3],r=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return r/=45,i&&(r+=47721858.84),Math.round(r)}}(i)}}let sn=((de={}).audioId3="org.id3",de.dateRange="com.apple.quicktime.HLS",de.emsg="https://aomedia.org/emsg/ID3",de.misbklv="urn:misb:KLV:bin:1910.1",de);
6function so(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class sl{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,r){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){let i;this.cachedData&&(e=ik(this.cachedData,e),this.cachedData=null);let r=a5(e,0),a=r?r.length:0,s=this._audioTrack,n=this._id3Track,o=r?ss(r):void 0,l=e.length;for((null===this.basePTS||0===this.frameIndex&&tM(o))&&(this.basePTS=sd(o,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),r&&r.length>0&&n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sn.audioId3,duration:1/0});a<l;){if(this.canParse(e,a)){let t=this.appendFrame(s,e,a);t?(this.frameIndex++,this.lastPTS=t.sample.pts,a+=t.length,i=a):a=l}else{var d,u;a3(d=e,u=a)&&a4(d,u+6)+10<=d.length-u?(r=a5(e,a),n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sn.audioId3,duration:1/0}),a+=r.length,i=a):a++}if(a===l&&i!==l){let t=e.slice(i);this.cachedData?this.cachedData=ik(this.cachedData,t):this.cachedData=t}}return{audioTrack:s,videoTrack:so(),id3Track:n,textTrack:so()}}demuxSampleAes(e,t,i){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:so(),id3Track:this._id3Track,textTrack:so()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}let sd=(e,t,i)=>tM(e)?90*e:9e4*t+(i?9e4*i.baseTime/i.timescale:0),su=null,sh=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],sc=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],sm=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],sf=[0,1,1,4];function sp(e,t,i,r,a){if(i+24>t.length)return;let s=sg(t,i);if(s&&i+s.frameLength<=t.length){let n=r+a*(9e4*s.samplesPerFrame/s.sampleRate),o={unit:t.subarray(i,i+s.frameLength),pts:n,dts:n};return e.config=[],e.channelCount=s.channelCount,e.samplerate=s.sampleRate,e.samples.push(o),{sample:o,length:s.frameLength,missing:0}}}function sg(e,t){let i=e[t+1]>>3&3,r=e[t+1]>>1&3,a=e[t+2]>>4&15,s=e[t+2]>>2&3;if(1!==i&&0!==a&&15!==a&&3!==s){let n=e[t+2]>>1&1,o=e[t+3]>>6,l=1e3*sh[14*(3===i?3-r:3===r?3:4)+a-1],d=sc[3*(3===i?0:2===i?1:2)+s],u=sm[i][r],h=sf[r],c=Math.floor(u*l/d+n)*h;if(null===su){let e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);su=e?parseInt(e[1]):0}return su&&su<=87&&2===r&&l>=224e3&&0===o&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:3===o?1:2,frameLength:c,samplesPerFrame:8*u*h}}}function sv(e,t){return 255===e[t]&&(224&e[t+1])==224&&(6&e[t+1])!=0}function sE(e,t){return t+1<e.length&&sv(e,t)}function sy(e,t){if(t+1<e.length&&sv(e,t)){let i=sg(e,t),r=4;null!=i&&i.frameLength&&(r=i.frameLength);let a=t+r;return a===e.length||sE(e,a)}return!1}let sb=(e,t)=>{let i=0,r=5;t+=5;let a=new Uint32Array(1),s=new Uint32Array(1),n=new Uint8Array(1);for(;r>0;){n[0]=e[t];let o=Math.min(r,8),l=8-o;s[0]=0xff000000>>>24+l<<l,a[0]=(n[0]&s[0])>>l,i=i?i<<o|a[0]:a[0],t+=1,r-=o}return i};function sT(e,t,i,r,a){if(i+8>t.length||11!==t[i]||119!==t[i+1])return -1;let s=t[i+4]>>6;if(s>=3)return -1;let n=[48e3,44100,32e3][s],o=63&t[i+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+s];if(i+l>t.length)return -1;let d=t[i+6]>>5,u=0;2===d?u+=2:(1&d&&1!==d&&(u+=2),4&d&&(u+=2));let h=(t[i+6]<<8|t[i+7])>>12-u&1,c=[2,1,2,3,3,4,4,5][d]+h,m=t[i+5]>>3,f=7&t[i+5],p=new Uint8Array([s<<6|m<<1|f>>2,(3&f)<<6|d<<3|h<<2|o>>4,o<<4&224]),g=t.subarray(i,i+l);return e.config=p,e.channelCount=c,e.samplerate=n,e.samples.push({unit:g,pts:r+1536/n*9e4*a}),l}let sA=/\/emsg[-/]ID3/i;function s_(e,t){return tM(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class sS{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new r_(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,0)}decryptAacSample(e,t,i){let r=e[t].unit;if(r.length<=16)return;let a=r.subarray(16,r.length-r.length%16),s=a.buffer.slice(a.byteOffset,a.byteOffset+a.length);this.decryptBuffer(s).then(a=>{let s=new Uint8Array(a);r.set(s,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}).catch(i)}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=new Int8Array(16*Math.floor((e.length-48)/160)+16),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)t.set(e.subarray(r,r+16),i);return t}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),r=0;for(let t=32;t<e.length-16;t+=160,r+=16)e.set(i.subarray(r,r+16),t);return e}decryptAvcSample(e,t,i,r,a){let s=iw(a.data),n=this.getAvcEncryptedData(s);this.decryptBuffer(n.buffer).then(n=>{a.data=this.getAvcDecryptedUnit(s,n),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,r)}).catch(r)}decryptAvcSamples(e,t,i,r){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void r();let a=e[t].units;for(;!(i>=a.length);i++){let s=a[i];
6if(!(s.data.length<=48)&&(1===s.type||5===s.type)&&(this.decryptAvcSample(e,t,i,r,s),!this.decrypter.isSync()))return}}}}class sk{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){var t;let i,r=this.VideoSample;if(r&&0!==r.units.length||(r=e[e.length-1]),null!=(t=r)&&t.units){let e=r.units;i=e[e.length-1]}return i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){let i=t.samples,r=i.length;if(!r)return void t.dropped++;{let t=i[r-1];e.pts=t.pts,e.dts=t.dts}}t.samples.push(e)}}parseNALu(e,t,i){let r,a,s,n=t.byteLength,o=e.naluState||0,l=o,d=[],u=0,h=-1,c=0;for(-1===o&&(h=0,c=this.getNALuType(t,0),o=0,u=1);u<n;){if(r=t[u++],!o){o=+!r;continue}if(1===o){o=2*!r;continue}if(r)if(1===r){if(a=u-o-1,h>=0){let e={data:t.subarray(h,a),type:c};d.push(e)}else{let i=this.getLastNalUnit(e.samples);i&&(l&&u<=4-l&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-l)),a>0&&(i.data=ik(i.data,t.subarray(0,a)),i.state=0))}u<n?(s=this.getNALuType(t,u),h=u,c=s,o=0):o=-1}else o=0;else o=3}if(h>=0&&o>=0){let e={data:t.subarray(h,n),type:c,state:o};d.push(e)}if(0===d.length){let i=this.getLastNalUnit(e.samples);i&&(i.data=ik(i.data,t))}return e.naluState=o,d}}class sL{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,r=new Uint8Array(4),a=Math.min(4,t);if(0===a)throw Error("no bytes available");r.set(e.subarray(i,i+a)),this.word=new DataView(r.buffer).getUint32(0),this.bitsAvailable=8*a,this.bytesAvailable-=a}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e||(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord()),this.word<<=e,this.bitsAvailable-=e}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&t2.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw Error("no bits available");return(t=e-t)>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&0x80000000>>>e)!=0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class sR extends sk{parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d,u,h;switch(r.type){case 1:{let t=!1;a=!0;let s=r.data;if(o&&s.length>4){let e=this.readSliceType(s);(2===e||4===e||7===e||9===e)&&(t=!0)}t&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.frame=!0,n.key=t;break}case 5:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 6:a=!0,iI(r.data,1,i.pts,t.samples);break;case 7:{a=!0,o=!0;let t=r.data,i=this.readSPS(t);if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(u=e.pixelRatio)?void 0:u[0])!==i.pixelRatio[0]||(null==(h=e.pixelRatio)?void 0:h[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t];let r=t.subarray(1,4),a="avc1.";for(let e=0;e<3;e++){let t=r[e].toString(16);t.length<2&&(t="0"+t),a+=t}e.codec=a}break}case 8:a=!0,e.pps=[r.data];break;case 9:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:a=!0;break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}
6getNALuType(e,t){return 31&e[t]}readSliceType(e){let t=new sL(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let i=8,r=8;for(let a=0;a<e;a++)0!==r&&(r=(i+t.readEG()+256)%256),i=0===r?i:r}readSPS(e){let t,i,r,a=new sL(e),s=0,n=0,o=0,l=0,d=a.readUByte.bind(a),u=a.readBits.bind(a),h=a.readUEG.bind(a),c=a.readBoolean.bind(a),m=a.skipBits.bind(a),f=a.skipEG.bind(a),p=a.skipUEG.bind(a),g=this.skipScalingList.bind(this);d();let E=d();if(u(5),m(3),d(),p(),100===E||110===E||122===E||244===E||44===E||83===E||86===E||118===E||128===E){let e=h();if(3===e&&m(1),p(),p(),m(1),c())for(r=0,i=3!==e?8:12;r<i;r++)c()&&g(r<6?16:64,a)}p();let y=h();if(0===y)h();else if(1===y)for(m(1),f(),f(),t=h(),r=0;r<t;r++)f();p(),m(1);let b=h(),T=h(),A=u(1);0===A&&m(1),m(1),c()&&(s=h(),n=h(),o=h(),l=h());let _=[1,1];if(c()&&c())switch(d()){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:_=[d()<<8|d(),d()<<8|d()]}return{width:Math.ceil((b+1)*16-2*s-2*n),height:(2-A)*(T+1)*16-(A?2:4)*(o+l),pixelRatio:_}}}class sI extends sk{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d;switch(r.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.frame=!0,a=!0;break;case 16:case 17:case 18:case 21:a=!0,o&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 19:case 20:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 39:a=!0,iI(r.data,2,i.pts,t.samples);break;case 32:a=!0,e.vps||("object"!=typeof e.params&&(e.params={}),e.params=tY(e.params,this.readVPS(r.data)),this.initVPS=r.data),e.vps=[r.data];break;case 33:if(a=!0,o=!0,void 0===e.vps||e.vps[0]===this.initVPS||void 0===e.sps||this.matchSPS(e.sps[0],r.data)||(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let t=this.readSPS(r.data);for(let i in e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.codec=t.codecString,e.sps=[],"object"!=typeof e.params&&(e.params={}),t.params)e.params[i]=t.params[i]}this.pushParameterSet(e.sps,r.data,e.vps),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0;break;case 34:if(a=!0,"object"==typeof e.params){if(!e.pps){e.pps=[];let t=this.readPPS(r.data);for(let i in t)e.params[i]=t[i]}this.pushParameterSet(e.pps,r.data,e.vps)}break;case 35:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}pushParameterSet(e,t,i){(!i||i[0]!==this.initVPS)&&(i||e.length)||e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),i=0;for(let r=0;r<e.byteLength;r++)(!(r>=2)||3!==e[r]||0!==e[r-1]||0!==e[r-2])&&(t[i]=e[r],i++);return new Uint8Array(t.buffer,0,i)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){let t=new sL(e);return t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6),{numTemporalLayers:t.readBits(3)+1,temporalIdNested:t.readBoolean()}}readSPS(e){let t=new sL(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let i=t.readBits(3);t.readBoolean();let r=t.readBits(2),a=t.readBoolean(),s=t.readBits(5),n=t.readUByte(),o=t.readUByte(),l=t.readUByte(),d=t.readUByte(),u=t.readUByte(),h=t.readUByte(),c=t.readUByte(),m=t.readUByte(),f=t.readUByte(),p=t.readUByte(),g=t.readUByte(),E=[],y=[];for(let e=0;e<i;e++)E.push(t.readBoolean()),y.push(t.readBoolean());if(i>0)for(let e=i;e<8;e++)t.readBits(2);for(let e=0;e<i;e++)E[e]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),y[e]&&t.readUByte();t.readUEG();let b=t.readUEG();3==b&&t.skipBits(1);let T=t.readUEG(),A=t.readUEG(),_=t.readBoolean(),S=0,k=0,L=0,R=0;_&&(S+=t.readUEG(),k+=t.readUEG(),L+=t.readUEG(),R+=t.readUEG());let I=t.readUEG(),w=t.readUEG(),C=t.readUEG(),D=t.readBoolean();for(let e=D?0:i;e<=i;e++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let e=0;e<4;e++)for(let i=0;i<(3===e?2:6);i++)if(t.readBoolean()){let i=Math.min(64,1<<4+(e<<1));e>1&&t.readEG();for(let e=0;e<i;e++)t.readEG()}else t.readUEG();t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let x=t.readUEG(),M=0;for(let e=0;e<x;e++){let i=!1;if(0!==e&&(i=t.readBoolean()),i){e===x&&t.readUEG(),t.readBoolean(),t.readUEG();let i=0;for(let e=0;e<=M;e++){let e=t.readBoolean(),r=!1;e||(r=t.readBoolean()),(e||r)&&i++}M=i}else{let e=t.readUEG(),i=t.readUEG();M=e+i;for(let i=0;i<e;i++)t.readUEG(),t.readBoolean();for(let e=0;e<i;e++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){let e=t.readUEG();for(let i=0;i<e;i++){for(let e=0;e<C+4;e++)t.readBits(1);t.readBits(1)}}let P=0,O=1,N=1,U=!0,F=1,B=0;t.readBoolean(),t.readBoolean();if(t.readBoolean()){if(t.readBoolean()){let e=t.readUByte();e>0&&e<16?(O=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],N=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(O=t.readBits(16),N=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(F=t.readBits(32),B=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let e=t.readBoolean(),r=t.readBoolean(),a=!1;(e||r)&&((a=t.readBoolean())&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),a&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let s=0;s<=i;s++){let i=(U=t.readBoolean())||t.readBoolean(),s=!1;i?t.readEG():s=t.readBoolean();let n=s?1:t.readUEG()+1;if(e)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(r)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),P=t.readUEG())}let $=T,H=A;if(_){let e=1,t=1;1===b?e=t=2:2==b&&(e=2),$=T-e*k-e*S,H=A-t*R-t*L}let G=r?["A","B","C"][r]:"",V=n<<24|o<<16|l<<8|d,K=0;for(let e=0;e<32;e++)K=(K|(V>>e&1)<<31-e)>>>0;let W=K.toString(16);return 1===s&&"2"===W&&(W="6"),{codecString:`hvc1.${G}${s}.${W}.${a?"H":"L"}${g}.B0`,params:{general_tier_flag:a,general_profile_idc:s,general_profile_space:r,general_profile_compatibility_flags:[n,o,l,d],general_constraint_indicator_flags:[u,h,c,m,f,p],general_level_idc:g,bit_depth:I+8,bit_depth_luma_minus8:I,bit_depth_chroma_minus8:w,min_spatial_segmentation_idc:P,chroma_format_idc:b,frame_rate:{fixed:U,fps:B/F}},width:$,height:H,pixelRatio:[O,N]}}readPPS(e){let t=new sL(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let i=t.readBoolean(),r=t.readBoolean(),a=1;return r&&i?a=0:r?a=3:i&&(a=2),{parallelismType:a}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}class sw{constructor(e,t,i,r){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.logger=r,this.videoParser=null}static probe(e,t){let i=sw.syncOffset(e);return i>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${i}`),-1!==i}static syncOffset(e){let t=e.length,i=Math.min(940,t-188)+1,r=0;for(;r<i;){let a=!1,s=-1,n=0;for(let o=r;o<t;o+=188)if(71===e[o]&&(t-o==188||71===e[o+188])){if(n++,-1===s&&0!==(s=o)&&(i=Math.min(s+18612,e.length-188)+1),a||(a=0===sC(e,o)),a&&n>1&&(0===s&&n>2||o+188>i))return s}else if(n)return -1;else break;r++}return -1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:iu[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,r){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=sw.createTrack("video"),this._videoTrack.duration=r,this._audioTrack=sw.createTrack("audio",r),this._id3Track=sw.createTrack("id3"),this._txtTrack=sw.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,r=!1){let a;i||(this.sampleAes=null);let s=this._videoTrack,n=this._audioTrack,o=this._id3Track,l=this._txtTrack,d=s.pid,u=s.pesData,h=n.pid,c=o.pid,m=n.pesData,f=o.pesData,p=null,g=this.pmtParsed,E=this._pmtId,y=e.length;if(this.remainderData&&(y=(e=ik(this.remainderData,e)).length,this.remainderData=null),y<188&&!r)return this.remainderData=e,{audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};let b=Math.max(0,sw.syncOffset(e));(y-=(y-b)%188)<e.byteLength&&!r&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let T=0;for(let t=b;t<y;t+=188)if(71===e[t]){let r,y=!!(64&e[t+1]),T=sC(e,t);if((48&e[t+3])>>4>1){if((r=t+5+e[t+4])===t+188)continue}else r=t+4;switch(T){case d:y&&(u&&(a=sM(u,this.logger))&&(this.readyVideoParser(s.segmentCodec),null!==this.videoParser&&this.videoParser.parsePES(s,l,a,!1)),u={data:[],size:0}),u&&(u.data.push(e.subarray(r,t+188)),u.size+=t+188-r);break;case h:if(y){if(m&&(a=sM(m,this.logger)))switch(n.segmentCodec){case"aac":this.parseAACPES(n,a);break;case"mp3":this.parseMPEGPES(n,a);break;case"ac3":this.parseAC3PES(n,a)}m={data:[],size:0}}m&&(m.data.push(e.subarray(r,t+188)),m.size+=t+188-r);break;case c:y&&(f&&(a=sM(f,this.logger))&&this.parseID3PES(o,a),f={data:[],size:0}),f&&(f.data.push(e.subarray(r,t+188)),f.size+=t+188-r);break;case 0:var A,_;y&&(r+=e[r]+1),E=this._pmtId=(31&(A=e)[(_=r)+10])<<8|A[_+11];break;case E:{y&&(r+=e[r]+1);let a=function(e,t,i,r,a,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(15&e[t+1])<<8|e[t+2],l=t+3+o-4,d=(15&e[t+10])<<8|e[t+11];for(t+=12+d;t<l;){let o=sC(e,t),l=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!r){sx("ADTS AAC",s);break}case 15:-1===n.audioPid&&(n.audioPid=o);break;case 21:-1===n.id3Pid&&(n.id3Pid=o);break;case 219:if(!r){sx("H.264",s);break}case 27:-1===n.videoPid&&(n.videoPid=o);break;case 3:case 4:i.mpeg||i.mp3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="mp3"):s.log("MPEG audio found, not supported in this browser");break;case 193:if(!r){sx("AC-3",s);break}case 129:i.ac3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="ac3"):s.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===n.audioPid&&l>0){let r=t+5,a=l;for(;a>2;){106===e[r]&&(!0!==i.ac3?s.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=o,n.segmentAudioCodec="ac3"));let t=e[r+1]+2;r+=t,a-=t}}break;case 194:case 135:return sD(a,Error("Unsupported EC-3 in M2TS found"),void 0,s),n;case 36:-1===n.videoPid&&(n.videoPid=o,n.segmentVideoCodec="hevc",s.log("HEVC in M2TS found"))}t+=l+5}return n}
6(e,r,this.typeSupported,i,this.observer,this.logger);(d=a.videoPid)>0&&(s.pid=d,s.segmentCodec=a.segmentVideoCodec),(h=a.audioPid)>0&&(n.pid=h,n.segmentCodec=a.segmentAudioCodec),(c=a.id3Pid)>0&&(o.pid=c),null===p||g||(this.logger.warn(`MPEG-TS PMT found at ${t} after unknown PID '${p}'. Backtracking to sync byte @${b} to parse all TS packets.`),p=null,t=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:p=T}}else T++;T>0&&sD(this.observer,Error(`Found ${T} TS packet/s that do not start with 0x47`),void 0,this.logger),s.pesData=u,n.pesData=m,o.pesData=f;let S={audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};return r&&this.extractRemainingSamples(S),S}flush(){let e,{remainderData:t}=this;return(this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes)?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(e){let t,{audioTrack:i,videoTrack:r,id3Track:a,textTrack:s}=e,n=r.pesData,o=i.pesData,l=a.pesData;if(n&&(t=sM(n,this.logger))?(this.readyVideoParser(r.segmentCodec),null!==this.videoParser&&(this.videoParser.parsePES(r,s,t,!0),r.pesData=null)):r.pesData=n,o&&(t=sM(o,this.logger))){switch(i.segmentCodec){case"aac":this.parseAACPES(i,t);break;case"mp3":this.parseMPEGPES(i,t);break;case"ac3":this.parseAC3PES(i,t)}i.pesData=null}else null!=o&&o.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),i.pesData=o;l&&(t=sM(l,this.logger))?(this.parseID3PES(a,t),a.pesData=null):a.pesData=l}demuxSampleAes(e,t,i){let r=this.demux(e,i,!0,!this.config.progressive),a=this.sampleAes=new sS(this.observer,this.config,t);return this.decrypt(r,a)}readyVideoParser(e){null===this.videoParser&&("avc"===e?this.videoParser=new sR:"hevc"===e&&(this.videoParser=new sI))}decrypt(e,t){return new Promise(i=>{let{audioTrack:r,videoTrack:a}=e;r.samples&&"aac"===r.segmentCodec?t.decryptAacSamples(r.samples,0,()=>{a.samples?t.decryptAvcSamples(a.samples,0,0,()=>{i(e)}):i(e)}):a.samples&&t.decryptAvcSamples(a.samples,0,0,()=>{i(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let i,r,a,s,n=0,o=this.aacOverFlow,l=t.data;if(o){this.aacOverFlow=null;let t=o.missing,i=o.sample.unit.byteLength;-1===t?l=ik(o.sample.unit,l):(o.sample.unit.set(l.subarray(0,t),i-t),e.samples.push(o.sample),n=o.missing)}for(i=n,r=l.length;i<r-1&&!a7(l,i);i++);if(i!==n){let e,t=i<r-1;if(e=t?`AAC PES did not start with ADTS header,offset:${i}`:"No ADTS header found in AAC PES",sD(this.observer,Error(e),t,this.logger),!t)return}if(se(e,this.observer,l,i,this.audioCodec),void 0!==t.pts)a=t.pts;else{if(!o)return void this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");let t=9216e4/e.samplerate;a=o.sample.pts+t}let d=0;for(;i<r;){if(s=st(e,l,i,a,d),i+=s.length,s.missing){this.aacOverFlow=s;break}for(d++;i<r-1&&!a7(l,i);i++);}}parseMPEGPES(e,t){let i=t.data,r=i.length,a=0,s=0,n=t.pts;if(void 0===n)return void this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");for(;s<r;)if(sE(i,s)){let t=sp(e,i,s,n,a);if(t)s+=t.length,a++;else break}else s++}parseAC3PES(e,t){{let i,r=t.data,a=t.pts;if(void 0===a)return void this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");let s=r.length,n=0,o=0;for(;o<s&&(i=sT(e,r,o,a,n++))>0;)o+=i}}parseID3PES(e,t){if(void 0===t.pts)return void this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");let i=tY({},t,{type:this._videoTrack?sn.emsg:sn.audioId3,duration:1/0});e.samples.push(i)}}function sC(e,t){return((31&e[t+1])<<8)+e[t+2]}function sD(e,t,i,r){r.warn(`parsing error: ${t.message}`),e.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function sx(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function sM(e,t){let i,r,a,s,n,o=0,l=e.data;if(!e||0===e.size)return null;for(;l[0].length<19&&l.length>1;)l[0]=ik(l[0],l[1]),l.splice(1,1);if(1===((i=l[0])[0]<<16)+(i[1]<<8)+i[2]){if((r=(i[4]<<8)+i[5])&&r>e.size-6)return null;let d=i[7];192&d&&(s=(14&i[9])*0x20000000+(255&i[10])*4194304+(254&i[11])*16384+(255&i[12])*128+(254&i[13])/2,64&d?s-(n=(14&i[14])*0x20000000+(255&i[15])*4194304+(254&i[16])*16384+(255&i[17])*128+(254&i[18])/2)>54e5&&(t.warn(`${Math.round((s-n)/9e4)}s delta between PTS and DTS, align them`),s=n):n=s);let u=(a=i[8])+9;if(e.size<=u)return null;e.size-=u;let h=new Uint8Array(e.size);for(let e=0,t=l.length;e<t;e++){let t=(i=l[e]).byteLength;if(u)if(u>t){u-=t;continue}else i=i.subarray(u),t-=u,u=0;h.set(i,o),o+=t}return r&&(r-=a+3),{data:h,pts:s,dts:n,len:r}}return null}class sP{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}class sO{static init(){let e;for(e in sO.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},sO.types)sO.types.hasOwnProperty(e)&&(sO.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);sO.HDLR_TYPES={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])};let t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);sO.STTS=sO.STSC=sO.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),sO.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),sO.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),sO.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),sO.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);
6let i=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);sO.FTYP=sO.box(sO.types.ftyp,i,a,i,r),sO.DINF=sO.box(sO.types.dinf,sO.box(sO.types.dref,t))}static box(e,...t){let i=8,r=t.length,a=r;for(;r--;)i+=t[r].byteLength;let s=new Uint8Array(i);for(s[0]=i>>24&255,s[1]=i>>16&255,s[2]=i>>8&255,s[3]=255&i,s.set(e,4),r=0,i=8;r<a;r++)s.set(t[r],i),i+=t[r].byteLength;return s}static hdlr(e){return sO.box(sO.types.hdlr,sO.HDLR_TYPES[e])}static mdat(e){return sO.box(sO.types.mdat,e)}static mdhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000);return sO.box(sO.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))}static mdia(e){return sO.box(sO.types.mdia,sO.mdhd(e.timescale||0,e.duration||0),sO.hdlr(e.type),sO.minf(e))}static mfhd(e){return sO.box(sO.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?sO.box(sO.types.minf,sO.box(sO.types.smhd,sO.SMHD),sO.DINF,sO.stbl(e)):sO.box(sO.types.minf,sO.box(sO.types.vmhd,sO.VMHD),sO.DINF,sO.stbl(e))}static moof(e,t,i){return sO.box(sO.types.moof,sO.mfhd(e),sO.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=sO.trak(e[t]);return sO.box.apply(null,[sO.types.moov,sO.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(sO.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=sO.trex(e[t]);return sO.box.apply(null,[sO.types.mvex,...i])}static mvhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return sO.box(sO.types.mvhd,a)}static sdtp(e){let t,i,r=e.samples||[],a=new Uint8Array(4+r.length);for(t=0;t<r.length;t++)i=r[t].flags,a[t+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return sO.box(sO.types.sdtp,a)}static stbl(e){return sO.box(sO.types.stbl,sO.stsd(e),sO.box(sO.types.stts,sO.STTS),sO.box(sO.types.stsc,sO.STSC),sO.box(sO.types.stsz,sO.STSZ),sO.box(sO.types.stco,sO.STCO))}static avc1(e){let t,i,r,a=[],s=[];for(t=0;t<e.sps.length;t++)r=(i=e.sps[t]).byteLength,a.push(r>>>8&255),a.push(255&r),a=a.concat(Array.prototype.slice.call(i));for(t=0;t<e.pps.length;t++)r=(i=e.pps[t]).byteLength,s.push(r>>>8&255),s.push(255&r),s=s.concat(Array.prototype.slice.call(i));let n=sO.box(sO.types.avcC,new Uint8Array([1,a[3],a[4],a[5],255,224|e.sps.length].concat(a).concat([e.pps.length]).concat(s))),o=e.width,l=e.height,d=e.pixelRatio[0],u=e.pixelRatio[1];return sO.box(sO.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),n,sO.box(sO.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sO.box(sO.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,u>>24,u>>16&255,u>>8&255,255&u])))}static esds(e){return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e.config,6,1,2])}static audioStsd(e){let t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return sO.box(sO.types.mp4a,sO.audioStsd(e),sO.box(sO.types.esds,sO.esds(e)))}static mp3(e){return sO.box(sO.types[".mp3"],sO.audioStsd(e))}static ac3(e){return sO.box(sO.types["ac-3"],sO.audioStsd(e),sO.box(sO.types.dac3,e.config))}static stsd(e){let{segmentCodec:t}=e;if("audio"===e.type){if("aac"===t)return sO.box(sO.types.stsd,sO.STSD,sO.mp4a(e));if("ac3"===t&&e.config)return sO.box(sO.types.stsd,sO.STSD,sO.ac3(e));if("mp3"===t&&"mp3"===e.codec)return sO.box(sO.types.stsd,sO.STSD,sO.mp3(e))}else if(e.pps&&e.sps){if("avc"===t)return sO.box(sO.types.stsd,sO.STSD,sO.avc1(e));if("hevc"===t&&e.vps)return sO.box(sO.types.stsd,sO.STSD,sO.hvc1(e))}
6else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){let t=e.id,i=(e.duration||0)*(e.timescale||0),r=e.width||0,a=e.height||0,s=Math.floor(i/0x100000000),n=Math.floor(i%0x100000000);return sO.box(sO.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,n>>24,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,a>>8&255,255&a,0,0]))}static traf(e,t){let i=sO.sdtp(e),r=e.id,a=Math.floor(t/0x100000000),s=Math.floor(t%0x100000000);return sO.box(sO.types.traf,sO.box(sO.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),sO.box(sO.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,s>>24,s>>16&255,s>>8&255,255&s])),sO.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||0xffffffff,sO.box(sO.types.trak,sO.tkhd(e),sO.mdia(e))}static trex(e){let t=e.id;return sO.box(sO.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i,r,a,s,n,o,l=e.samples||[],d=l.length,u=12+16*d,h=new Uint8Array(u);for(t+=8+u,h.set([+("video"===e.type),0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),i=0;i<d;i++)a=(r=l[i]).duration,s=r.size,n=r.flags,o=r.cts,h.set([a>>>24&255,a>>>16&255,a>>>8&255,255&a,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.paddingValue<<1|n.isNonSync,61440&n.degradPrio,15&n.degradPrio,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12+16*i);return sO.box(sO.types.trun,h)}static initSegment(e){sO.types||sO.init();let t=sO.moov(e);return ik(sO.FTYP,t)}static hvc1(e){let t=e.params,i=[e.vps,e.sps,e.pps],r=new Uint8Array([1,t.general_profile_space<<6|32*!!t.general_tier_flag|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|64*!!t.frame_rate.fixed,i.length]),a=r.length;for(let e=0;e<i.length;e+=1){a+=3;for(let t=0;t<i[e].length;t+=1)a+=2+i[e][t].length}let s=new Uint8Array(a);s.set(r,0),a=r.length;let n=i.length-1;for(let e=0;e<i.length;e+=1){s.set(new Uint8Array([32+e|128*(e===n),0,i[e].length]),a),a+=3;for(let t=0;t<i[e].length;t+=1)s.set(new Uint8Array([i[e][t].length>>8,255&i[e][t].length]),a),a+=2,s.set(i[e][t],a),a+=i[e][t].length}let o=sO.box(sO.types.hvcC,s),l=e.width,d=e.height,u=e.pixelRatio[0],h=e.pixelRatio[1];return sO.box(sO.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,d>>8&255,255&d,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,sO.box(sO.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sO.box(sO.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,h>>24,h>>16&255,h>>8&255,255&h])))}}function sN(e,t,i=1,r=!1){let a=e*t*i;return r?Math.round(a):a}function sU(e,t=!1){return sN(e,1e3,11111111111111112e-21,t)}function sF(e){let{baseTime:t,timescale:i,trackId:r}=e;return`${t/i} (${t}/${i}) trackId: ${r}`}sO.types=void 0,sO.HDLR_TYPES=void 0,sO.STTS=void 0,sO.STSC=void 0,sO.STCO=void 0,sO.STSZ=void 0,sO.VMHD=void 0,sO.SMHD=void 0,sO.STSD=void 0,sO.FTYP=void 0,sO.DINF=void 0;let sB=null,s$=null;function sH(e,t,i,r){return{duration:t,size:i,cts:r,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:+!e}}}class sG extends tX{constructor(e,t,i,r){if(super("mp4-remuxer",r),this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===sB){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sB=e?parseInt(e[1]):0}if(null===s$){const e=navigator.userAgent.match(/Safari\/(\d+)/i);s$=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t?sF(t):t} > ${e?sF(e):e}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,i=e[0].pts,r=e.reduce((e,r)=>{let a=r.pts,s=a-e;return(s<-0x100000000&&(t=!0,s=(a=sV(a,i))-e),s>0)?e:a},i);return t&&this.debug("PTS rollover detected"),r}remux(e,t,i,r,a,s,n,o){let l,d,u,h,c,m,f=a,p=a,g=e.pid>-1,E=t.pid>-1,y=t.samples.length,b=e.samples.length>0,T=n&&y>0||y>1;if((!g||b)&&(!E||T)||this.ISGenerated||n){let i;if(this.ISGenerated){var A,_,S,k;let e=this.videoTrackConfig;(e&&(t.width!==e.width||t.height!==e.height||(null==(A=t.pixelRatio)?void 0:A[0])!==(null==(_=e.pixelRatio)?void 0:_[0])||(null==(S=t.pixelRatio)?void 0:S[1])!==(null==(k=e.pixelRatio)?void 0:k[1]))||!e&&T||null===this.nextAudioTs&&b)&&this.resetInitSegment()}this.ISGenerated||(u=this.generateIS(e,t,a,s));let r=this.isVideoContiguous,n=-1;if(T&&(n=function(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return -1}(t.samples),!r&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,n>0){this.warn(`Dropped ${n} out of ${y} video samples due to a missing keyframe`);let e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(n),t.dropped+=n,p+=(t.samples[0].pts-e)/t.inputTimeScale,i=p}else -1===n&&(this.warn(`No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(b&&T){let i=this.getVideoStartPts(t.samples),r=(sV(e.samples[0].pts,i)-i)/t.inputTimeScale;f+=Math.max(0,r),p+=Math.max(0,-r)}if(b){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),u=this.generateIS(e,t,a,s)),d=this.remuxAudio(e,f,this.isAudioContiguous,s,E||T||o===tK?p:void 0),T){let i=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),u=this.generateIS(e,t,a,s)),l=this.remuxVideo(t,p,r,i)}}else T&&(l=this.remuxVideo(t,p,r,0));l&&(l.firstKeyFrame=n,l.independent=-1!==n,l.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(c=sK(i,a,this._initPTS,this._initDTS)),r.samples.length&&(h=sW(r,a,this._initPTS))),{audio:d,video:l,initSegment:u,independent:m,text:h,id3:c}}computeInitPts(e,t,i,r){let a=Math.round(i*t),s=sV(e,a);if(s<a+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(a-s)/t} ${r}`);s<a+t;)s+=0x200000000;return s-a}generateIS(e,t,i,r){let a,s,n,o=e.samples,l=t.samples,d=this.typeSupported,u={},h=this._initPTS,c=!h||r,m="audio/mp4",f=-1;if(c&&(a=s=1/0),e.config&&o.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(m="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}u.audio={id:"audio",container:m,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&d.mpeg?new Uint8Array(0):sO.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(f=e.id,n=e.inputTimeScale,h&&n===h.timescale?c=!1:a=s=this.computeInitPts(o[0].pts,n,i,"audio"))}if(t.sps&&t.pps&&l.length){if(t.timescale=t.inputTimeScale,u.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:sO.initSegment([t]),metadata:{width:t.width,height:t.height}},c)if(f=t.id,n=t.inputTimeScale,h&&n===h.timescale)c=!1;else{let e=this.getVideoStartPts(l),t=sV(l[0].dts,e),r=this.computeInitPts(t,n,i,"video"),o=this.computeInitPts(e,n,i,"video");s=Math.min(s,r),a=Math.min(a,o)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(u).length)return this.ISGenerated=!0,c?(h&&this.warn(`Timestamps at playlist time: ${r?"":"~"}${i} ${a/n} != initPTS: ${h.baseTime/h.timescale} (${h.baseTime}/${h.timescale}) trackId: ${h.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${a/n} (${a}/${n}) trackId: ${f}`),this._initPTS={baseTime:a,timescale:n,trackId:f},this._initDTS={baseTime:s,timescale:n,trackId:f}):a=n=void 0,{tracks:u,initPTS:a,timescale:n,trackId:f}}remuxVideo(e,t,i,r){let a,s,n,o=e.inputTimeScale,l=e.samples,d=[],u=l.length,h=this._initPTS,c=h.baseTime*o/h.timescale,m=this.nextVideoTs,f=8,p=this.videoSampleDuration,g=1/0,E=-1/0,y=!1;if(!i||null===m){let e=c+t*o,r=l[0].pts-sV(l[0].dts,l[0].pts);sB&&null!==m&&15e3>Math.abs(e-r-(m+c))?i=!0:m=e-r-c}let b=m+c;for(let e=0;e<u;e++){let t=l[e];t.pts=sV(t.pts,b),t.dts=sV(t.dts,b),t.dts<l[e>0?e-1:e].dts&&(y=!0)}y&&l.sort(function(e,t){let i=e.dts-t.dts,r=e.pts-t.pts;return i||r}),a=l[0].dts;let T=(s=l[l.length-1].dts)-a,A=T?Math.round(T/(u-1)):p||e.inputTimeScale/30;if(i){let i=a-b,r=i>A,s=i<-1;if((r||s)&&(r?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sU(i,!0)} ms (${i}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sU(-i,!0)} ms (${i}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!s||b>=l[0].pts||sB)){a=b;let e=l[0].pts-i;
6if(r)l[0].dts=a,l[0].pts=e;else{let t=!0;for(let r=0;r<l.length&&(!(l[r].dts>e)||!t);r++){let e=l[r].pts;if(l[r].dts-=i,l[r].pts-=i,r<l.length-1){let i=l[r+1].pts;t=i<=l[r].pts==i<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${sU(e,!0)}/${sU(a,!0)}, delta: ${sU(i,!0)} ms`)}}let _=0,S=0,k=a=Math.max(0,a);for(let e=0;e<u;e++){let t=l[e],i=t.units,r=i.length,a=0;for(let e=0;e<r;e++)a+=i[e].data.length;S+=a,_+=r,t.length=a,t.dts<k?(t.dts=k,k+=A/4|0||1):k=t.dts,g=Math.min(t.pts,g),E=Math.max(t.pts,E)}s=l[u-1].dts;let L=S+4*_+8;try{n=new Uint8Array(L)}catch(e){this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MUX_ERROR,details:tU.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:L,reason:`fail allocating video mdat ${L}`});return}let R=new DataView(n.buffer);R.setUint32(0,L),n.set(sO.types.mdat,4);let I=!1,w=1/0,C=1/0,D=-1/0,x=-1/0;for(let e=0;e<u;e++){let t,i=l[e],a=i.units,s=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],i=t.data,r=t.data.byteLength;R.setUint32(f,r),f+=4,n.set(i,f),f+=r,s+=4+r}if(e<u-1)p=l[e+1].dts-i.dts,t=l[e+1].pts-i.pts;else{let a=this.config,s=e>0?i.dts-l[e-1].dts:A;if(t=e>0?i.pts-l[e-1].pts:A,a.stretchShortVideoTrack&&null!==this.nextAudioTs){let e=Math.floor(a.maxBufferHole*o),t=(r?g+r*o:this.nextAudioTs+c)-i.pts;t>e?((p=t-s)<0?p=s:I=!0,this.log(`It is approximately ${t/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=s}else p=s}let h=Math.round(i.pts-i.dts);w=Math.min(w,p),D=Math.max(D,p),C=Math.min(C,t),x=Math.max(x,t),d.push(sH(i.key,p,s,h))}if(d.length){if(sB){if(sB<70){let e=d[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(s$&&x-C<D-w&&A/D<.025&&0===d[0].cts){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let e=a;for(let t=0,i=d.length;t<i;t++){let r=e+d[t].duration,a=e+d[t].cts;if(t<i-1){let e=r+d[t+1].cts;d[t].duration=e-a}else d[t].duration=t?d[t-1].duration:A;d[t].cts=0,e=r}}}let M=s+(p=I||!p?A:p);this.nextVideoTs=m=M-c,this.videoSampleDuration=p,this.isVideoContiguous=!0;let P={data1:sO.moof(e.sequenceNumber++,a,tY(e,{samples:d})),data2:n,startPTS:(g-c)/o,endPTS:(E+p-c)/o,startDTS:(a-c)/o,endDTS:m/o,type:"video",hasAudio:!1,hasVideo:!0,nb:d.length,dropped:e.dropped};return e.samples=[],e.dropped=0,P}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}}remuxAudio(e,t,i,r,a){let s,n=e.inputTimeScale,o=e.samplerate?e.samplerate:n,l=n/o,d=this.getSamplesPerFrame(e),u=d*l,h=this._initPTS,c="mp3"===e.segmentCodec&&this.typeSupported.mpeg,m=[],f=void 0!==a,p=e.samples,g=8*!c,E=this.nextAudioTs||-1,y=h.baseTime*n/h.timescale,b=y+t*n;if(this.isAudioContiguous=i=i||p.length&&E>0&&(r&&9e3>Math.abs(b-(E+y))||Math.abs(sV(p[0].pts,b)-(E+y))<20*u),p.forEach(function(e){e.pts=sV(e.pts,b)}),!i||E<0){let e=p.length;if(e!==(p=p.filter(e=>e.pts>=0)).length&&this.warn(`Removed ${p.length-e} of ${e} samples (initPTS ${y} / ${n})`),!p.length)return;E=0===a?0:r&&!f?Math.max(0,b-y):p[0].pts-y}if("aac"===e.segmentCodec){let t=this.config.maxAudioFramesDrift;for(let i=0,r=E+y;i<p.length;i++){let a=p[i],s=a.pts,o=s-r,l=Math.abs(1e3*o/n);if(o<=-t*u&&f)0===i&&(this.warn(`Audio frame @ ${(s/n).toFixed(3)}s overlaps marker by ${Math.round(1e3*o/n)} ms.`),this.nextAudioTs=E=s-y,r=s);else if(o>=t*u&&l<1e4&&f){let t=Math.round(o/u);for(r=s-t*u;r<0&&t&&u;)t--,r+=u;0===i&&(this.nextAudioTs=E=r-y),this.warn(`Injecting ${t} audio frames @ ${((r-y)/n).toFixed(3)}s due to ${Math.round(1e3*o/n)} ms gap.`);for(let s=0;s<t;s++){let t=sP.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);t||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),t=a.unit.subarray()),p.splice(i,0,{unit:t,pts:r}),r+=u,i++}}a.pts=r,r+=u}}let T=null,A=null,_=0,S=p.length;for(;S--;)_+=p[S].unit.byteLength;for(let t=0,r=p.length;t<r;t++){let r=p[t],a=r.unit,n=r.pts;if(null!==A)m[t-1].duration=Math.round((n-A)/l);else{if(i&&"aac"===e.segmentCodec&&(n=E+y),T=n,!(_>0))return;_+=g;try{s=new Uint8Array(_)}catch(e){this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MUX_ERROR,details:tU.REMUX_ALLOC_ER
6ROR,fatal:!1,error:e,bytes:_,reason:`fail allocating audio mdat ${_}`});return}c||(new DataView(s.buffer).setUint32(0,_),s.set(sO.types.mdat,4))}s.set(a,g);let o=a.byteLength;g+=o,m.push(sH(!0,d,o,0)),A=n}let k=m.length;if(!k)return;let L=m[m.length-1];E=A-y,this.nextAudioTs=E+l*L.duration;let R=c?new Uint8Array(0):sO.moof(e.sequenceNumber++,T/l,tY({},e,{samples:m}));e.samples=[];let I=(T-y)/n,w=this.nextAudioTs/n,C={data1:R,data2:s,startPTS:I,endPTS:w,startDTS:I,endDTS:w,type:"audio",hasAudio:!0,hasVideo:!1,nb:k};return this.isAudioContiguous=!0,C}}function sV(e,t){let i;if(null===t)return e;for(i=t<e?-0x200000000:0x200000000;Math.abs(e-t)>0x100000000;)e+=i;return e}function sK(e,t,i,r){let a=e.samples.length;if(!a)return;let s=e.inputTimeScale;for(let n=0;n<a;n++){let a=e.samples[n];a.pts=sV(a.pts-i.baseTime*s/i.timescale,t*s)/s,a.dts=sV(a.dts-r.baseTime*s/r.timescale,t*s)/s}let n=e.samples;return e.samples=[],{samples:n}}function sW(e,t,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let s=0;s<r;s++){let r=e.samples[s];r.pts=sV(r.pts-i.baseTime*a/i.timescale,t*a)/a}e.samples.sort((e,t)=>e.pts-t.pts);let s=e.samples;return e.samples=[],{samples:s}}function sq(e,t,i=!1){return(null==e?void 0:e.start)!==void 0?(e.start+(i?e.duration:0))/e.timescale:t}function sj(e,t,i){let r=e.codec;return r&&r.length>4?r:t===it?"ec-3"===r||"ac-3"===r||"alac"===r?r:"fLaC"===r||"Opus"===r?iB(r,!1):(i.warn(`Unhandled audio codec "${r}" in mp4 MAP`),r||"mp4a"):(i.warn(`Unhandled video codec "${r}" in mp4 MAP`),r||"avc1")}try{t=self.performance.now.bind(self.performance)}catch(e){t=Date.now}let sY=[{demux:class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,r){let a=this.videoTrack=so("video",1),s=this.audioTrack=so("audio",1),n=this.txtTrack=so("text",1);if(this.id3Track=so("id3",1),this.timeOffset=0,!(null!=e&&e.byteLength))return;let o=iE(e);if(o.video){let{id:e,timescale:t,codec:i,supplemental:r}=o.video;a.id=e,a.timescale=n.timescale=t,a.codec=i,a.supplemental=r}if(o.audio){let{id:e,timescale:t,codec:i}=o.audio;s.id=e,s.timescale=t,s.codec=i}n.id=iu.text,a.sampleDuration=0,a.duration=s.duration=r}resetContiguity(){this.remainderData=null}static probe(e){let t=e.byteLength;for(let i=0;i<t;){let r=im(e,i);if(r>8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=r>1?i+r:t}return!1}demux(e,t){this.timeOffset=t;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=ik(this.remainderData,e));let t=function(e){let t={valid:null,remainder:null},i=iv(e,["moof"]);if(i.length<2)return t.remainder=e,t;let r=i[i.length-1];return t.valid=e.slice(0,r.byteOffset-8),t.remainder=e.slice(r.byteOffset-8),t}(i);this.remainderData=t.remainder,r.samples=t.valid||new Uint8Array}else r.samples=i;let s=this.extractID3Track(r,t);return a.samples=iL(t,r),{videoTrack:r,audioTrack:this.audioTrack,id3Track:s,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let r=this.extractID3Track(t,this.timeOffset);return i.samples=iL(e,t),{videoTrack:t,audioTrack:so(),id3Track:r,textTrack:so()}}extractID3Track(e,t){let i=this.id3Track;return e.samples.length&&iv(e.samples,["emsg"]).forEach(e=>{let r=function(e){let t=e[0],i="",r="",a=0,s=0,n=0,o=0,l=0,d=0;if(0===t){for(;"\0"!==ih(e.subarray(d,d+1));)i+=ih(e.subarray(d,d+1)),d+=1;for(i+=ih(e.subarray(d,d+1)),d+=1;"\0"!==ih(e.subarray(d,d+1));)r+=ih(e.subarray(d,d+1)),d+=1;r+=ih(e.subarray(d,d+1)),d+=1,a=im(e,12),s=im(e,16),o=im(e,20),l=im(e,24),d=28}else if(1===t){d+=4,a=im(e,d);let t=im(e,d+=4),s=im(e,d+=4);for(d+=4,tP(n=0x100000000*t+s)||(n=Number.MAX_SAFE_INTEGER,t2.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=im(e,d),d+=4,l=im(e,d),d+=4;"\0"!==ih(e.subarray(d,d+1));)i+=ih(e.subarray(d,d+1)),d+=1;for(i+=ih(e.subarray(d,d+1)),d+=1;"\0"!==ih(e.subarray(d,d+1));)r+=ih(e.subarray(d,d+1)),d+=1;r+=ih(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:r,timeScale:a,presentationTime:n,presentationTimeDelta:s,eventDuration:o,id:l,payload:e.subarray(d,e.byteLength)}}(e);if(sA.test(r.schemeIdUri)){let e=s_(r,t),a=0xffffffff===r.eventDuration?1/0:r.eventDuration/r.timeScale;a<=.001&&(a=1/0);let s=r.payload;i.samples.push({data:s,len:s.byteLength,dts:e,pts:e,type:sn.emsg,duration:a})}else if(this.config.enableEmsgKLVMetadata&&r.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){let e=s_(r,t);i.samples.push({data:r.payload,len:r.payload.byteLength,dts:e,pts:e,type:sn.misbklv,duration:1/0})}}),i}demuxSampleAes(e,t,i){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}},remux:class extends tX{constructor(e,t,i,r){super("passthrough-remuxer",r),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,r){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,r),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:i,videoCodec:r}=this;if(!(null!=e&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:s}=this.initData=iE(e);if(t)!function(e,t){if(!e||!t)return;let i=t.keyId;i&&t.isCommonEncryption&&i_(e,(e,t)=>{let r=e.subarray(8,24);r.some(e=>0!==e)||(t2.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${t8(r)} -> ${t8(i)}`),e.set(i,8))})}(e,t);else{let e=a||s;null!=e&&e.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${e.codec}")!`)}a&&(i=sj(a,it,this)),s&&(r=sj(s,ii,this));let n={};a&&s?n.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:a?n.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"}:s?n.video={container:"video/mp4",codec:r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,r,a,s){var n,o;let{initPTS:l,lastEndTime:d}=this,u={audio:void 0,video:void 0,text:r,id3:i,initSegment:void 0};
6tM(d)||(d=this.lastEndTime=a||0);let h=t.samples;if(!h.length)return u;let c={initPTS:void 0,timescale:void 0,trackId:void 0},m=this.initData;if(null!=(n=m)&&n.length||(this.generateInitSegment(h),m=this.initData),!(null!=(o=m)&&o.length))return this.warn("Failed to generate initSegment."),u;this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);let f=function(e,t,i){let r={},a=iv(e,["moof","traf"]);for(let e=0;e<a.length;e++){let s=a[e],n=iv(s,["tfhd"])[0],o=im(n,4),l=t[o];if(!l)continue;r[o]||(r[o]={start:NaN,duration:0,sampleCount:0,timescale:l.timescale,type:l.type});let d=r[o],u=iv(s,["tfdt"])[0];if(u){let e=u[0],t=im(u,4);1===e&&(0xffffffff===t?i.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(t*=0x100000000,t+=im(u,8))),tM(t)&&(!tM(d.start)||t<d.start)&&(d.start=t)}let h=l.default,c=im(n,0)|(null==h?void 0:h.flags),m=(null==h?void 0:h.duration)||0;8&c&&(m=2&c?im(n,12):im(n,8));let f=iv(s,["trun"]),p=d.start||0,g=0,E=m;for(let e=0;e<f.length;e++){let t=f[e],i=im(t,4),r=d.sampleCount;d.sampleCount+=i;let a=1&t[3],s=4&t[3],n=1&t[2],o=2&t[2],l=4&t[2],u=8&t[2],h=8,c=i;for(a&&(h+=4),s&&i&&(1&t[h+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=r),h+=4,n?(E=im(t,h),h+=4):E=m,o&&(h+=4),u&&(h+=4),p+=E,g+=E,c--);c--;)n?(E=im(t,h),h+=4):E=m,o&&(h+=4),l&&(1&t[h+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=d.sampleCount-(c+1),d.keyFrameStart=p),h+=4),u&&(h+=4),p+=E,g+=E;!g&&m&&(g+=m*i)}d.duration+=g}if(!Object.keys(r).some(e=>r[e].duration)){let t=1/0,i=0,a=iv(e,["sidx"]);for(let e=0;e<a.length;e++){let r=function(e){let t=[],i=e[0],r=8,a=im(e,8);r+=4;let s=0,n=0;0===i?(s=im(e,r),n=im(e,r+4),r+=8):(s=ip(e,r),n=ip(e,r+8),r+=16),r+=2;let o=e.length+n,l=ic(e,r);r+=2;for(let i=0;i<l;i++){let i=r,s=im(e,i);i+=4;let n=0x7fffffff&s;if(1==(0x80000000&s)>>>31)return t2.warn("SIDX has hierarchical references (not supported)"),null;let l=im(e,i);i+=4,t.push({referenceSize:n,subsegmentDuration:l,info:{duration:l/a,start:o,end:o+n-1}}),o+=n,i+=4,r=i}return{earliestPresentationTime:s,timescale:a,version:i,referencesCount:l,references:t}}(a[e]);if(null!=r&&r.references){t=Math.min(t,r.earliestPresentationTime/r.timescale);let e=r.references.reduce((e,t)=>e+t.info.duration||0,0);i=Math.max(i,e+r.earliestPresentationTime/r.timescale)}}i&&tM(i)&&Object.keys(r).forEach(e=>{r[e].duration||(r[e].duration=i*r[e].timescale-r[e].start)})}return r}(h,m,this),p=m.audio?f[m.audio.id]:null,g=m.video?f[m.video.id]:null,E=sq(g,1/0),y=sq(p,1/0),b=sq(g,0,!0),T=sq(p,0,!0),A=a,_=0,S=p&&(!g||!l&&y<E||l&&l.trackId===m.audio.id),k=S?p:g;if(k){let e=k.timescale,t=k.start-a*e,i=S?m.audio.id:m.video.id;A=k.start/e,_=S?T-y:b-E,(s||!l)&&(function(e,t,i,r){if(null===e)return!0;let a=Math.max(r,1);return Math.abs(t-e.baseTime/e.timescale-i)>a}(l,A,a,_)||e!==l.timescale)&&(l&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${a} ${t/e} != initPTS: ${l.baseTime/l.timescale} (${l.baseTime}/${l.timescale}) trackId: ${l.trackId}`),this.log(`Found initPTS at playlist time: ${a} offset: ${A-a} (${t}/${e}) trackId: ${i}`),l=null,c.initPTS=t,c.timescale=e,c.trackId=i)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${a}`);l?(c.initPTS=l.baseTime,c.timescale=l.timescale,c.trackId=l.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=A,c.timescale=1,c.trackId=-1),this.initPTS=l={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId});let L=A-l.baseTime/l.timescale,R=L+_;_>0?this.lastEndTime=R:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let I=!!m.audio,w=!!m.video,C="";I&&(C+="audio"),w&&(C+="video");let D={data1:h,startPTS:L,startDTS:L,endPTS:R,endDTS:R,type:C,hasAudio:I,hasVideo:w,nb:1,dropped:0,encrypted:!!m.audio&&m.audio.encrypted||!!m.video&&m.video.encrypted};u.audio=I&&!w?D:void 0,u.video=w?D:void 0;let x=null==g?void 0:g.sampleCount;if(x){let e=g.keyFrameIndex,t=-1!==e;D.nb=x,D.dropped=0===e||this.isVideoContiguous?0:t?e:x,D.independent=t,D.firstKeyFrame=e,t&&g.keyFrameStart&&(D.firstKeyFramePTS=(g.keyFrameStart-l.baseTime)/l.timescale),this.isVideoContiguous||(u.independent=t),this.isVideoContiguous||(this.isVideoContiguous=t),D.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${x} dropped: ${D.dropped} start: ${D.firstKeyFramePTS||"NA"}`)}return u.initSegment=c,u.id3=sK(i,a,l,l),r.samples.length&&(u.text=sW(r,a,l)),u}}},{demux:sw,remux:sG},{demux:class extends sl{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;let i=a5(e,0),r=(null==i?void 0:i.length)||0;if(sy(e,r))return!1;for(let i=e.length;r<i;r++)if(function(e,t){if(a7(e,t)){let i=a9(e,t);if(t+i>=e.length)return!1;let r=a6(e,t);if(r<=i)return!1;let a=t+r;return a===e.length||a7(e,a)}return!1}(e,r))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return t+5<e.length&&a8(e,t)&&a6(e,t)<=e.length-t}appendFrame(e,t,i){se(e,this.observer,t,i,e.manifestCodec);let r=st(e,t,i,this.basePTS,this.frameIndex);if(r&&0===r.missing)return r}},remux:sG},{demux:class extends sl{resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=a5(e,0),i=(null==t?void 0:t.length)||0;
6if(t&&11===e[i]&&119===e[i+1]&&void 0!==ss(t)&&16>=sb(e,i))return!1;for(let t=e.length;i<t;i++)if(sy(e,i))return t2.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return sv(e,t)&&4<=e.length-t}appendFrame(e,t,i){if(null!==this.basePTS)return sp(e,t,i,this.basePTS,this.frameIndex)}},remux:sG}];sY.splice(2,0,{demux:class extends sl{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,i){let r=sT(e,t,i,this.basePTS,this.frameIndex);if(-1!==r)return{sample:e.samples[e.samples.length-1],length:r,missing:0}}static probe(e){if(!e)return!1;let t=a5(e,0);if(!t)return!1;let i=t.length;return!!(11===e[i]&&119===e[i+1]&&void 0!==ss(t)&&16>sb(e,i))}},remux:sG});class sz{constructor(e,t,i,r,a,s){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.id=a,this.logger=s}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,i,r,a){var s,n;let o,l=r.transmuxing;l.executeStart=t();let d=new Uint8Array(e),{currentTransmuxState:u,transmuxConfig:h}=this;a&&(this.currentTransmuxState=a);let{contiguous:c,discontinuity:m,trackSwitch:f,accurateTimeOffset:p,timeOffset:g,initSegmentChange:E}=a||u,{audioCodec:y,videoCodec:b,defaultInitPts:T,duration:A,initSegmentData:_}=h,S=(s=d,n=i,o=null,s.byteLength>0&&(null==n?void 0:n.key)!=null&&null!==n.iv&&null!=n.method&&(o=n),o);if(S&&rV(S.method)){let e=this.getDecrypter(),i=rK(S.method);if(!e.isSync())return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(d,S.key.buffer,S.iv.buffer,i).then(e=>{let t=this.push(e,null,r);return this.decryptionPromise=null,t}),this.decryptionPromise;{let a=e.softwareDecrypt(d,S.key.buffer,S.iv.buffer,i);if(r.part>-1){let t=e.flush();a=t?t.buffer:t}if(!a)return l.executeEnd=t(),sQ(r);d=new Uint8Array(a)}}let k=this.needsProbing(m,f);if(k){let e=this.configureTransmuxer(d);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),l.executeEnd=t(),sQ(r)}(m||f||E||k)&&this.resetInitSegment(_,y,b,A,i),(m||E||k)&&this.resetInitialTimestamp(T),c||this.resetContiguity();let L=this.transmux(d,S,g,p,r);this.asyncResult=sX(L);let R=this.currentTransmuxState;return R.contiguous=!0,R.discontinuity=!1,R.trackSwitch=!1,l.executeEnd=t(),L}flush(e){let i=e.transmuxing;i.executeStart=t();let{decrypter:r,currentTransmuxState:a,decryptionPromise:s}=this;if(s)return this.asyncResult=!0,s.then(()=>this.flush(e));let n=[],{timeOffset:o}=a;if(r){let t=r.flush();t&&n.push(this.push(t.buffer,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d){i.executeEnd=t();let r=[sQ(e)];return this.asyncResult?Promise.resolve(r):r}let u=l.flush(o);return sX(u)?(this.asyncResult=!0,u.then(t=>(this.flushRemux(n,t,e),n))):(this.flushRemux(n,u,e),this.asyncResult)?Promise.resolve(n):n}flushRemux(e,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=i,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${r.sn}${r.part>-1?" part: "+r.part:""} of ${this.id===tV?"level":"track"} ${r.level}`);let u=this.remuxer.remux(a,s,n,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=t()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;t&&i&&(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,r,a){let{demuxer:s,remuxer:n}=this;s&&n&&(s.resetInitSegment(e,t,i,r),n.resetInitSegment(e,t,i,a))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,r,a){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,r,a):this.transmuxUnencrypted(e,i,r,a)}transmuxUnencrypted(e,t,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(a,s,n,o,t,i,!1,this.id),chunkMeta:r}}transmuxSampleAes(e,t,i,r,a){return this.demuxer.demuxSampleAes(e,t,i).then(e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,r,!1,this.id),chunkMeta:a}))}
6configureTransmuxer(e){let t,{config:i,observer:r,typeSupported:a}=this;for(let i=0,r=sY.length;i<r;i++){var s;if(null!=(s=sY[i].demux)&&s.probe(e,this.logger)){t=sY[i];break}}if(!t)return Error("Failed to find demuxer by probing fragment data");let n=this.demuxer,o=this.remuxer,l=t.remux,d=t.demux;o&&o instanceof l||(this.remuxer=new l(r,i,a,this.logger)),n&&n instanceof d||(this.demuxer=new d(r,i,a,this.logger),this.probe=d.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new r_(this.config)),e}}let sQ=e=>({remuxResult:{},chunkMeta:e});function sX(e){return"then"in e&&e.then instanceof Function}class sZ{constructor(e,t,i,r,a){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=r,this.defaultInitPts=a||null}}class sJ{constructor(e,t,i,r,a,s){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=r,this.timeOffset=a,this.initSegmentChange=s}}let s0=0;class s1{constructor(e,t,i,r){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=s0++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{let t=e.data,i=this.hls;if(i&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":{var r;let e=null==(r=this.workerContext)?void 0:r.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":i.logger[t.data.logType]&&i.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,i.trigger(t.event,t.data)}},this.onWorkerError=e=>{if(!this.hls)return;let t=Error(`${e.message} (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:t})};const a=e.config;this.hls=e,this.id=t,this.useWorker=!!a.enableWorker,this.onTransmuxComplete=i,this.onFlush=r;const s=(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===tF.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)};this.observer=new aJ,this.observer.on(tF.FRAG_DECRYPTED,s),this.observer.on(tF.ERROR,s);const n=iG(a.preferManagedMediaSource);if(this.useWorker&&"u">typeof Worker){const i=this.hls.logger;if(a.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{a.workerPath?(i.log(`loading Web Worker ${a.workerPath} for "${t}"`),this.workerContext=function(e){let t=a1[e];if(t)return t.clientCount++,t;let i=new self.URL(e,self.location.href).href,r={worker:new self.Worker(i),scriptURL:i,clientCount:1};return a1[e]=r,r}(a.workerPath)):(i.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){let e=a1[a0];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),i=self.URL.createObjectURL(t),r={worker:new self.Worker(i),objectURL:i,clientCount:1};return a1[a0]=r,r}());const{worker:e}=this.workerContext;e.addEventListener("message",this.onWorkerMessage),e.addEventListener("error",this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:n,id:t,config:i1(a)})}catch(r){i.warn(`Error setting up "${t}" Web Worker, fallback to inline`,r),this.terminateWorker(),this.error=null,this.transmuxer=new sz(this.observer,n,a,"",t,e.logger)}return}}this.transmuxer=new sz(this.observer,n,a,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=s0++;let t=this.hls.config,i=iG(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupp
6orted:i,id:this.id,config:i1(t)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),function(e){let t=a1[e||a0];if(t&&1==t.clientCount--){let{worker:i,objectURL:r}=t;delete a1[e||a0],r&&self.URL.revokeObjectURL(r),i.terminate()}}(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,r,a,s,n,o,l,d){var u,h;l.transmuxing.start=self.performance.now();let{instanceNo:c,transmuxer:m}=this,f=s?s.start:a.start,p=a.decryptdata,g=this.frag,E=!(g&&a.cc===g.cc),y=!(g&&l.level===g.level),b=g?l.sn-g.sn:-1,T=this.part?l.part-this.part.index:-1,A=0===b&&l.id>1&&l.id===(null==g?void 0:g.stats.chunkCount),_=!y&&(1===b||0===b&&(1===T||A&&T<=0)),S=self.performance.now();(y||b||0===a.stats.parsing.start)&&(a.stats.parsing.start=S),s&&(T||!_)&&(s.stats.parsing.start=S);let k=!(g&&(null==(u=a.initSegment)?void 0:u.url)===(null==(h=g.initSegment)?void 0:h.url)),L=new sJ(E,_,o,y,f,k);if(!_||E||k){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${a.type} sn: ${l.sn}${l.part>-1?" part: "+l.part:""} ${this.id===tV?"level":"track"}: ${l.level} id: ${l.id} 7 discontinuity: ${E} 8 trackSwitch: ${y} 9 contiguous: ${_} 10 accurateTimeOffset: ${o} 11 timeOffset: ${f} 12 initSegmentChange: ${k}`);let e=new sZ(i,r,t,n,d);this.configureTransmuxer(e)}if(this.frag=a,this.part=s,this.workerContext)this.workerContext.worker.postMessage({instanceNo:c,cmd:"demux",data:e,decryptdata:p,chunkMeta:l,state:L},e instanceof ArrayBuffer?[e]:[]);else if(m){let t=m.push(e,p,l,L);sX(t)?t.then(e=>{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}):this.handleTransmuxComplete(t)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){let t=i.flush(e);sX(t)?t.then(t=>{this.handleFlushResult(t,e)}).catch(t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}):this.handleFlushResult(t,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){let{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class s2 extends tX{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){let r=null==t?void 0:t.renditionReports;if(r){let a=-1;for(let i=0;i<r.length;i++){let s,n=r[i];try{s=new self.URL(n.URI,t.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),s=n.URI||""}if(s===e){a=i;break}s===e.substring(0,s.length)&&(a=i)}if(-1!==a){let e=r[a],s=parseInt(e["LAST-MSN"])||t.lastPartSn,n=parseInt(e["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let e=Math.min(t.age-t.partTarget,t.targetduration);n>=0&&e>t.partTarget&&(n+=1)}return new iZ(s,n>=0?n:void 0,i&&iX(i))}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(e,t,i){let{details:r,stats:a}=t,s=self.performance.now(),n=a.loading.first?Math.max(0,s-a.loading.first):0;r.advancedDateTime=Date.now()-n;let o=this.hls.config.timelineOffset;
12if(o!==r.appliedTimelineOffset){let e=Math.max(o||0,0);r.appliedTimelineOffset=e,r.fragments.forEach(t=>{t.setStart(t.playlistOffset+e)})}if(r.live||null!=i&&i.live){let o,d,u,h="levelInfo"in t?t.levelInfo:t.track;if(r.reloaded(i),i&&r.fragments.length>0){!function(e,t,i){let r;if(e===t)return;let a=null,s=e.fragments;for(let e=s.length-1;e>=0;e--){let t=s[e].initSegment;if(t){a=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS,function(e,t,i){let r=t.skippedSegments,a=Math.max(e.startSN,t.startSN)-t.startSN,s=+!!e.fragmentHint+(r?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,n=t.startSN-e.startSN,o=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let h=a;h<=s;h++){let a=l[n+h],s=o[h];if(r&&!s&&a&&(s=t.fragments[h]=a),a&&s){var d,u;i(a,s,h,o);let r=a.relurl,n=s.relurl;if(r&&(d=r)!==(u=n)&&u&&aI(d)!==aI(u)){t.playlistParsingError=ab(`media sequence mismatch ${s.sn}:`,e,t,a,s);return}if(a.cc!==s.cc){t.playlistParsingError=ab(`discontinuity sequence mismatch (${a.cc}!=${s.cc})`,e,t,a,s);return}}}}(e,t,(e,i,s,n)=>{if((!t.startCC||t.skippedSegments)&&i.cc!==e.cc){let r=e.cc-i.cc;for(let e=s;e<n.length;e++)n[e].cc+=r;t.endCC=n[n.length-1].cc}tM(e.startPTS)&&tM(e.endPTS)&&(i.setStart(i.startPTS=e.startPTS),i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.setDuration(e.endPTS-e.startPTS),i.duration&&(r=i),t.PTSKnown=t.alignedSliding=!0),e.hasStream
12s&&(i.elementaryStreams=e.elementaryStreams),i.loader=e.loader,e.hasStats&&(i.stats=e.stats),e.initSegment&&(i.initSegment=e.initSegment,a=e.initSegment)});let n=t.fragments,o=t.fragmentHint?n.concat(t.fragmentHint):n;if(a&&o.forEach(e=>{var t;e&&(!e.initSegment||e.initSegment.relurl===(null==(t=a)?void 0:t.relurl))&&(e.initSegment=a)}),t.skippedSegments){if(t.deltaUpdateFailed=n.some(e=>!e),t.deltaUpdateFailed){i.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)n.shift();t.startSN=n[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){let{dateRanges:r,recentlyRemovedDateranges:a}=t,s=tY({},e);a&&a.forEach(e=>{delete s[e]});let n=Object.keys(s).length;return n?(Object.keys(r).forEach(e=>{let t=s[e],a=new rB(r[e].attr,t);a.isValid?(s[e]=a,t||(a.tagOrder+=n)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${i1(r[e].attr)}"`)}),s):r}(e.dateRanges,t,i));let r=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let e=1;e<o.length;e++)null===o[e].programDateTime&&am(o[e],o[e-1],r);al(r,t)}t.endCC=n[n.length-1].cc}if(!t.startCC){var l;let i=aS(e,t.startSN-1);t.startCC=null!=(l=null==i?void 0:i.cc)?l:n[0].cc}(function(e,t,i){if(e&&t){let r=0;for(let a=0,s=e.length;a<=s;a++){let s=e[a],n=t[a+r];s&&n&&s.index===n.index&&s.fragment.sn===n.fragment.sn?i(s,n):r--}}})(e.partList,t.partList,(e,t)=>{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),r?ay(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS,i):aT(e,t),n.length&&(t.totalduration=t.edge-n[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let d=t.advancedDateTime;if(t.advanced&&d){let e=t.edge;t.driftStart||(t.driftStartTime=d,t.driftStart=e),t.driftEndTime=d,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;-1===t.requestScheduled&&(t.requestScheduled=e.requestScheduled)}(i,r,this);let e=r.playlistParsingError;if(e){this.warn(e);let i=this.hls;if(!i.config.ignorePlaylistParsingErrors){var l;let{networkDetails:s}=t;i.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_PARSING_ERROR,fatal:!1,url:r.url,error:e,reason:e.message,level:t.level||void 0,parent:null==(l=r.fragments[0])?void 0:l.type,networkDetails:s,stats:a});return}r.playlistParsingError=null}}-1===r.requestScheduled&&(r.requestScheduled=a.loading.start);let c=this.hls.mainForwardBufferInfo,m=c?c.end-c.len:0,f=(r.edge-m)*1e3,p=a_(r,f);if(r.requestScheduled+p<s?r.requestScheduled=s:r.requestScheduled+=p,this.log(`live playlist ${e} ${r.advanced?"REFRESHED "+r.lastPartSn+"-"+r.lastPartIndex:r.updated?"UPDATED":"MISSED"}`),!this.canLoad||!r.live)return;if(r.canBlockReload&&r.endSN&&r.advanced){let e=this.hls.config.lowLatencyMode,a=r.lastPartSn,n=r.endSN,l=r.lastPartIndex,c=a===n;-1!==l?c?(d=n+1,u=e?0:l):(d=a,u=e?l+1:r.maxPartIndex):d=n+1;let m=r.age,f=m+r.ageHeader,p=Math.min(f-r.partTarget,1.5*r.targetduration);if(p>0){if(f>3*r.targetduration)this.log(`Playlist last advanced ${m.toFixed(2)}s ago. Omitting segment and part directives.`),d=void 0,u=void 0;else if(null!=i&&i.tuneInGoal&&f-r.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${p} with playlist age: ${r.age}`),p=0;else{let e=Math.floor(p/r.targetduration);d+=e,void 0!==u&&(u+=Math.round(p%r.targetduration/r.partTarget)),this.log(`CDN Tune-in age: ${r.ageHeader}s last advanced ${m.toFixed(2)}s goal: ${p} skip sn ${e} to part ${u}`)}r.tuneInGoal=p}if(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,u),e||!c){r.requestScheduled=s,this.loadingPlaylist(h,o);return}}else(r.canBlockReload||r.canSkipUntil)&&(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,u));o&&void 0!==d&&r.canBlockReload&&(r.requestScheduled=a.loading.first+Math.max(p-2*n,p/2)),this.scheduleLoading(h,o,r)}else this.clearTimer()}scheduleLoading(e,t,i){let r=i||e.details;if(!r)return void this.loadingPlaylist(e,t);let a=self.performance.now(),s=r.requestScheduled;if(a>=s)return void this.loadingPlaylist(e,t);let n=s-a;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(n)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),n)}getDeliveryDirectives(e,t,i,r){let a=iX(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,r=t.part,a=""),new iZ(i,r,a)}checkRetry(e){let t=e.details,i=ra(e),r=e.errorAction,{action:a,retryCount:s=0,retryConfig:n}=r||{},o=!!r&&!!n&&(5===a||!r.resolved&&2===a);if(o){var l;if(s>=n.maxNumRetry)return!1;if(i&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let e=rl(n,s);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),e),this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,r.resolved=!0}return o}}function s3(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!s4(e[i].attrs,t[i].attrs))return!1;return!0}function s4(e,t,i){let r=e["STABLE-RENDITION-ID"];return r&&!i?r===t["STABLE-RENDITION-ID"]:!(i||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>e[i]!==t[i])}function s5(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class s8{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,i){if(null===this.queues||null===this.tracks)return;let r=this.queues[t];r.push(e),1!==r.length||i||this.executeNext(t)}appendBlocker(e){return new Promise(t=>{this.append({label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}},e)})}prependBlocker(e){return new Promise(t=>{this.queues&&this.queues[e].unshift({label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEac
12h(e=>{var t;let i=null==(t=e[0])?void 0:t.label;("async-blocker"===i||"async-blocker-prepend"===i)&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null===this.queues||this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(null===this.queues||null===this.tracks)return;let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(a){var i;if(r.onError(a),null===this.queues||null===this.tracks)return;let t=null==(i=this.tracks[e])?void 0:i.buffer;null!=t&&t.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){let{queues:e,tracks:t}=this;return null===e||null===t?"<destroyed>":` 13${this.list("video")} 14${this.list("audio")} 15${this.list("audiovideo")}}`}list(e){var t,i;return null!=(t=this.queues)&&t[e]||null!=(i=this.tracks)&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;let i=null==(t=this.tracks)?void 0:t[e],r=null==i?void 0:i.buffer;return r?`SourceBuffer${r.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let s9=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,s6="Hl
15sJsTrackRemovedError";class s7 extends Error{constructor(e){super(e),this.name=s6}}function ne(e){let t=e.querySelectorAll("source");[].slice.call(t).forEach(t=>{e.removeChild(t)})}function nt(e){return+("audio"===e)}class ni{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=1/0,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(tF.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(tF.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&tM(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return -1;let i=t.filter((t,i)=>this.isLevelAllowed(t)&&i<=e);return this.clientRect=null,ni.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=1/0,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height)}static getMaxLevelByMediaSize(e,t,i){if(!(null!=e&&e.length))return -1;let r=(e,t)=>!t||e.width!==t.width||e.height!==t.height,a=e.length-1,s=Math.max(t,i);for(let t=0;t<e.length;t+=1){let i=e[t];if((i.width>=s||i.height>=s)&&r(i,e[t+1])){a=t;break}}return a}}class nr{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof nr?e:new nr(e))),this.value=e,this.params=t}}function na(e,t,i){return Error(`failed to serialize "${Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as ${t}`,{cause:i})}class ns{constructor(e){this.description=e}}let nn="Bare Item";function no(e){if(e<-0x38d7ea4c67fff||0x38d7ea4c67fff<e)throw na(e,"Integer");return e.toString()}let nl=/[\x00-\x1f\x7f]+/;
15function nd(e){let t=e.description||e.toString().slice(7,-1);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw na(t,"Token");return t}function nu(e){switch(typeof e){case"number":if(!tM(e))throw na(e,nn);if(Number.isInteger(e))return no(e);let t=function e(t,i){if(t<0)return-e(-t,i);let r=Math.pow(10,i);if(!(Math.abs(t*r%1-.5)<Number.EPSILON))return Math.round(t*r)/r;{let e=Math.floor(t*r);return(e%2==0?e:e+1)/r}}(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw na(e,"Decimal");let i=t.toString();return i.includes(".")?i:`${i}.0`;case"string":if(nl.test(e))throw na(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;case"symbol":return nd(e);case"boolean":if("boolean"!=typeof e)throw na(e,"Boolean");return e?"?1":"?0";case"object":if(e instanceof Date)return`@${no(e.getTime()/1e3)}`;if(e instanceof Uint8Array){if(!1===ArrayBuffer.isView(e))throw na(e,"Byte Sequence");return`:${btoa(String.fromCharCode(...e))}:`}if(e instanceof ns)return nd(e);default:throw na(e,nn)}}function nh(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw na(e,"Key");return e}function nc(e){return null==e?"":Object.entries(e).map(([e,t])=>!0===t?`;${nh(e)}`:`;${nh(e)}=${nu(t)}`).join("")}function nm(e){return e instanceof nr?`${nu(e.value)}${nc(e.params)}`:nu(e)}function nf(e,t){return function(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw na(e,"Dict");let i=e instanceof Map?e.entries():Object.entries(e),r=(null==t?void 0:t.whitespace)?" ":"";return Array.from(i).map(([e,t])=>{t instanceof nr==!1&&(t=new nr(t));let i=nh(e);if(!0===t.value)i+=nc(t.params);else if(i+="=",Array.isArray(t.value)){var r;i+=(r=t,`(${r.value.map(nm).join(" ")})${nc(r.params)}`)}else i+=nm(t);return i}).join(`,${r}`)}(e,t)}let np="CMCD-Object",ng="CMCD-Request",nv="CMCD-Session",nE="CMCD-Status",ny={br:np,ab:np,d:np,ot:np,tb:np,tpb:np,lb:np,tab:np,lab:np,url:np,pb:ng,bl:ng,tbl:ng,dl:ng,ltc:ng,mtp:ng,nor:ng,nrr:ng,rc:ng,sn:ng,sta:ng,su:ng,ttfb:ng,ttfbb:ng,ttlb:ng,cmsdd:ng,cmsds:ng,smrt:ng,df:ng,cs:ng,ts:ng,cid:nv,pr:nv,sf:nv,sid:nv,st:nv,v:nv,msd:nv,bs:nE,bsd:nE,cdn:nE,rtp:nE,bg:nE,pt:nE,ec:nE,e:nE},nb="event",nT=e=>Math.round(e),nA=(e,t)=>Array.isArray(e)?e.map(e=>nA(e,t)):e instanceof nr&&"string"==typeof e.value?new nr(nA(e.value,t),e.params):(t.baseUrl&&(e=function(e,t){let i=new URL(e),r=new URL(t);if(i.origin!==r.origin)return e;let a=i.pathname.split("/").slice(1),s=r.pathname.split("/").slice(1,-1);for(;a[0]===s[0];)a.shift(),s.shift();for(;s.length;)s.shift(),a.unshift("..");return a.join("/")+i.search+i.hash}(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e),n_=e=>100*nT(e/100),nS={br:nT,d:nT,bl:n_,dl:n_,mtp:n_,nor:(e,t)=>{let i=e;return t.version>=2&&(e instanceof nr&&"string"==typeof e.value?i=new nr([e]):"string"==typeof e&&(i=[e])),nA(i,t)},rtp:n_,tb:nT},nk="request",nL="response",nR=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],nI=["e"],nw=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function nC(e){return nw.test(e)}let nD=["d","dl","nor","ot","rtp","su"],nx=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],nM=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function nP(e){return nM.includes(e)||nC(e)}let nO={[nL]:function(e){return nR.includes(e)||nD.includes(e)||nx.includes(e)||nC(e)},[nb]:function(e){return nR.includes(e)||nI.includes(e)||nC(e)},[nk]:function(e){return nR.includes(e)||nD.includes(e)||nC(e)}};function nN(e,t={}){let i={};if(null==e||"object"!=typeof e)return i;let r=t.version||e.v||1,a=t.reportingMode||nk,s=1===r?nP:nO[a],n=Object.keys(e).filter(s),o=t.filter;"function"==typeof o&&(n=n.filter(o));let l=a===nL||a===nb;l&&!n.includes("ts")&&n.push("ts"),r>1&&!n.includes("v")&&n.push("v");let d=tY({},nS,t.formatters),u={version:r,reportingMode:a,baseUrl:t.baseUrl};return n.sort().forEach(t=>{var a;let s=e[t],n=d[t];if("function"==typeof n&&(s=n(s,u)),"v"===t)if(1===r)return;else s=r;("pr"!=t||1!==s)&&(l&&"ts"===t&&!tM(s)&&(s=Date.now()),("number"==typeof(a=s)?tM(a):null!=a&&""!==a&&!1!==a)&&(["ot","sf","st","e","sta"].includes(t)&&"string"==typeof s&&(s=new ns(s)),i[t]=s))}),i}let nU=/CMCD=[^&#]+/;function nF(e,t,i,r){e&&Object.keys(t).forEach(a=>{let s=e.filter(e=>e.groupId===a).map(e=>{let s=tY({},e);return s.details=void 0,s.attrs=new rF(s.attrs),s.url=s.attrs.URI=nB(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),s.groupId=s.attrs["GROUP-ID"]=t[a],s.attrs["PATHWAY-ID"]=r,s});e.push(...s)})}function nB(e,t,i,r){let a,{HOST:s,PARAMS:n,[i]:o}=r;t&&(a=null==o?void 0:o[t])&&(e=a);let l=new self.URL(e);
15return s&&!a&&(l.host=s),n&&Object.keys(n).sort().forEach(e=>{e&&l.searchParams.set(e,n[e])}),l.href}class n$ extends tX{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=n$.CDMCleanupPromise?[n$.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=e=>{let{initDataType:t,initData:i}=e,r=`"${e.type}" event: init data type: "${t}"`;if(this.debug(r),null!==i){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=r8(this.config));let t=e.map(r5).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(a=>{let s,n=r4(a);if("sinf"!==t||n!==rX)return void this.log(`Ignoring "${e.type}" event with init data type: "${t}" for selected key-system ${n}`);try{let e=ih(new Uint8Array(i)),t=rW(JSON.parse(e).sinf),r=iS(t);if(!r)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");s=new Uint8Array(r.subarray(8,24))}catch(e){this.warn(`${r} Failed to parse sinf: ${e}`);return}let o=t8(s),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[o];for(let e=0;e<d.length;e++){let r=d[e],a=r.decryptdata;if(!a.keyId)continue;let n=t8(a.keyId);if(rH(s,a.keyId)||-1!==a.uri.replace(/-/g,"").indexOf(o)){if(!(u=l[n]))continue;if(a.pssh)break;delete l[n],a.pssh=new Uint8Array(i),a.keyId=s,(u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(r,t,i,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}u||this.handleError(Error(`Key ID ${o} not encountered in playlist. Key-system sessions ${d.length}.`))}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){this.hls.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(tF.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(tF.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(tF.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(tF.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,r=null==t?void 0:t[e];return r?r.licenseUrl:e===rJ&&i?i:void 0}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(void 0===t)throw Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=null==t?void 0:t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,r=t.map(e=>e.audioCodec).filter(i),a=t.map(e=>e.videoCodec).filter(i);return r.length+a.length===0&&a.push("avc1.42e01e"),new Promise((t,i)=>{let s=e=>{let n=e.shift();this.getMediaKeysPromise(n,r,a).then(e=>t({keySystem:n,mediaKeys:e})).catch(t=>{e.length?s(e):t instanceof nG?i(t):i(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})};s(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===r9&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){var r;let a=function(e,t,i,r){var a,s,n,o;let l;switch(e){case rX:l=["cenc","sinf"];break;case rJ:case rZ:l=["cenc"];break;case rQ:l=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return a=l,s=t,n=i,[{initDataTypes:a,persistentState:(o=r).persistentState||"optional",distinctiveIdentifier:o.distinctiveIdentifier||"optional",sessionTypes:o.sessionTypes||[o.sessionType||"temporary"],audioCapabilities:s.map(e=>({contentType:`audio/mp4; codecs=${e}`,robustness:o.audioRobustness||"",encryptionScheme:o.audioEncryptionScheme||null})),videoCapabilities:n.map(e=>({contentType:`video/mp4; codecs=${e}`,robustness:o.videoRobustness||"",encryptionScheme:o.videoEncryptionScheme||null}))}]}(e,t,i,this.config.drmSystemOptions||{}),s=this.keySystemAccessPromises[e],n=null==(r=s)?void 0:r.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${e}" key-system access with config: ${i1(a)}`),n=this.requestMediaKeySystemAccess(e,a);let t=s=this.keySystemAccessPromises[e]={keySystemAccess:n};return n.catch(t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)}),n.then(i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);let r=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let a=t.mediaKeys=i.createMediaKeys().then(i=>(this.log(`Media-keys created for "${e}"`),t.hasMediaKeys=!0,r.then(t=>t?this.setMediaKeysServerCertificate(i,e,t):i)));return a.catch(t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)}),a})}return n.then(()=>s.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}
15" keyId: ${t8(e.keyId||[])} keyUri: ${e.uri}`);let r=i.createSession(),a={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:r,keyStatus:"status-pending"};return this.mediaKeySessions.push(a),a}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),r=nH(t);this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(i,"cenc",t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${t8(e.decryptdata.keyId||[])} 16 } (data length: ${t.byteLength})`),i.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>r5(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((t,i)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{let r=r5(e);r?t(r):i(Error(`Unable to find format for key-system "${e}"`))}).catch(i)})}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){let t=r8(this.config),i=e.map(r4).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(i)}getKeyStatus(e){let{mediaKeySessions:t}=this;for(let a=0;a<t.length;a++){var i,r;let s=(i=e,r=t[a],i.keyId&&r.mediaKeysSession.keyStatuses.has(i.keyId)?r.mediaKeysSession.keyStatuses.get(i.keyId):i.matches(r.decryptdata)?r.keyStatus:void 0);if(s)return s}}loadKey(e){let t=e.keyInfo.decryptdata,i=nH(t),r=this.bannedKeyIds[i];if(r||"internal-error"===this.getKeyStatus(t)){let i=nV(r||"internal-error",t);return this.handleError(i,e.frag),Promise.reject(i)}let a=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${a}`);let s=this.keyIdToKeySessionPromise[i];if(!s){let r=this.getKeySystemForKeyPromise(t).then(({keySystem:i,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${a}`),this.attemptSetMediaKeys(i,r).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:i,mediaKeys:r,decryptdata:t}))))).then(e=>{let i=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",i,"playlist-key")});return r.catch(t=>this.handleError(t,e.frag)),this.keyIdToKeySessionPromise[i]=r,r}return s.catch(i=>{if(i instanceof nG){let r=tQ({},i.data);"internal-error"===this.getKeyStatus(t)&&(r.decryptdata=t);let a=new nG(r,i.message);this.handleError(a,e.frag)}}),s}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof nG){t&&(e.data.frag=t);let i=e.data.decryptdata;this.error(`${e.message}${i?` (${t8(i.keyId||[])})`:""}`),this.hls.trigger(tF.ERROR,e.data)}else this.error(e.message),this.hls.trigger(tF.ERROR,{type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){let t=nH(e),i=this.keyIdToKeySessionPromise[t];if(!i){let t=r4(e.keyFormat),i=t?[t]:r8(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=r8(this.config)),0===e.length)throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${i1({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let r=Promise.all(i).then(()=>this.media?this.media.setMediaKeys(t):new Promise((e,i)=>{this.mediaResolved=()=>
16{if(this.mediaResolved=void 0,!this.media)return i(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=t,this.media.setMediaKeys(t).then(e).catch(i)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===i.indexOf(e))})}generateRequestWithPreferredKeySession(e,t,i,r){var a;let s=null==(a=this.config.drmSystems)||null==(a=a[e.keySystem])?void 0:a.generateRequest;if(s)try{let r=s.call(this.hls,t,i,e);if(!r)throw Error("Invalid response from configured generateRequest filter");t=r.initDataType,i=r.initData?r.initData:null,e.decryptdata.pssh=i?new Uint8Array(i):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let n=nH(e.decryptdata),o=e.decryptdata.uri;this.log(`Generating key-session request for "${r}" keyId: ${n} URI: ${o} (init data type: ${t} length: ${i.byteLength})`);let l=new aJ,d=e._onmessage=t=>{let i=e.mediaKeysSession;if(!i)return void l.emit("error",Error("invalid state"));let{messageType:r,message:a}=t;this.log(`"${r}" message event for session "${i.sessionId}" message size: ${a.byteLength}`),"license-request"===r||"license-renewal"===r?this.renewLicense(e,a).catch(e=>{l.eventNames().length?l.emit("error",e):this.handleError(e)}):"license-release"===r?e.keySystem===rX&&this.updateKeySession(e,rq("acknowledged")).then(()=>this.removeSession(e)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${r}"`)},u=(e,t)=>{let i;t.keyStatus=e,e.startsWith("usable")?l.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?i=nV(e,t.decryptdata):"expired"===e?i=Error(`key expired (keyId: ${n})`):"released"===e?i=Error("key released"):"status-pending"===e||this.warn(`unhandled key status change "${e}" (keyId: ${n})`),i&&(l.eventNames().length?l.emit("error",i):this.handleError(i))},h=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void l.emit("error",Error("invalid state"));let i=this.getKeyStatuses(e);if(!Object.keys(i).some(e=>"status-pending"!==i[e]))return;if("expired"===i[n]){this.log(`Expired key ${i1(i)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let r=i[n];if(r)u(r,e);else{var a;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(a=e.keyStatusTimeouts)[n]||(a[n]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;let t=this.getKeyStatus(e.decryptdata);if(t&&"status-pending"!==t)return this.log(`No status for keyId ${n} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${t} from other session.`),u(t,e);this.log(`key status for ${n} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),u(r="internal-error",e)},1e3)),this.log(`No status for keyId ${n} (${i1(i)}).`)}};aP(e.mediaKeysSession,"message",d),aP(e.mediaKeysSession,"keystatuseschange",h);let c=new Promise((e,t)=>{l.on("error",t),l.on("resolved",e)});return e.mediaKeysSession.generateRequest(t,i).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${n} URI: ${o}`)}).catch(t=>{throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_SESSION,error:t,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${t}`)}).then(()=>c).catch(t=>(l.removeAllListeners(),this.removeSession(e).then(()=>{throw t}))).then(()=>(l.removeAllListeners(),e))}getKeyStatuses(e){let t={};return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if("string"==typeof r&&"object"==typeof i){let e=r;r=i,i=e}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);e.keySystem===rZ&&16===a.length&&(t[t8(a)]=i,rj(a));let s=t8(a);"internal-error"===i&&(this.bannedKeyIds[s]=i),this.log(`key status change "${i}" for keyStatuses keyId: ${s} key-session "${e.mediaKeysSession.sessionId}"`),t[s]=i}),t}fetchServerCertificate(e){let t=this.config,i=new t.loader(t),r=this.getServerCertificateUrl(e);return r?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,s)=>{let n={responseType:"arraybuffer",url:r},o=t.certLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};i.load(n,l,{onSuccess:(e,t,i,r)=>{a(e.data)},onError:(t,i,a,o)=>{s(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:tQ({url:n.url,data:void 0},t)},`"${e}" certificate request failed (${r}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,a)=>{s(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:{url:n.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(e,t,i)=>{s(Error("aborted"))}})})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((r,a)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i.byteLength}) on "${t}"`),r(e)}).catch(e=>{a(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(t=>this.updateKeySession(e,new Uint8Array(t)).catch(t=>{throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:t,fatal:!1},t.message)}))}unpackPlayReadyKeyMessage(e,t){let i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let r=new DOMParser().parseFromString(i,"application/xml"),a=r.querySelectorAll("HttpHeader");if(a.length>0){let t;for(let i=0,r=a.length;i<r;i++){var s,n;let r=null==(s=(t=a[i]).querySelector("name"))?void 0:s.textContent,o=null==(n=t.querySelector("value"))?void 0:n.textContent;r&&o&&e.setRequestHeader(r,o)}}let o=r.querySelector("Challenge"),l=null==o?void 0:o.textContent;
16if(!l)throw Error("Cannot find <Challenge> in key message");return rq(atob(l))}setupLicenseXHR(e,t,i,r){let a=this.config.licenseXhrSetup;return a?Promise.resolve().then(()=>{if(!i.decryptdata)throw Error("Key removed");return a.call(this.hls,e,t,i,r)}).catch(s=>{if(!i.decryptdata)throw s;return e.open("POST",t,!0),a.call(this.hls,e,t,i,r)}).then(i=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:i||r})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:r}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((r,a)=>{let s=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${s}`);let n=new XMLHttpRequest;n.responseType="arraybuffer",n.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return a(Error("invalid state"));if(4===n.readyState)if(200===n.status){this._requestLicenseFailureCount=0;let t=n.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);let i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,n,s,e)}catch(e){this.error(e)}r(t)}else{let o=i.errorRetry,l=o?o.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||n.status>=400&&n.status<500)a(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:n,response:{url:s,data:void 0,code:n.status,text:n.statusText}},`License Request XHR failed (${s}). Status: ${n.status} (${n.statusText})`));else{let i=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(r,a)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=n,this.setupLicenseXHR(n,s,e,t).then(({xhr:t,licenseChallenge:i})=>{e.keySystem==rZ&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}).catch(a)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,aP(i,"encrypted",this.onMediaEncrypted),aP(i,"waitingforkey",this.onWaitingForKey);let r=this.mediaResolved;r?r():this.mediaKeys=i.mediaKeys}onMediaDetached(){let e=this.media;e&&(aO(e,"encrypted",this.onMediaEncrypted),aO(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let t=this.mediaResolved;if(t&&t(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let i=this.media,r=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,ae.clearKeyUriToKeyIdMap();let a=r.length;n$.CDMCleanupPromise=Promise.all(r.map(e=>this.removeSession(e)).concat((null==i||null==(e=i.setMediaKeys(null))?void 0:e.catch(e=>{this.log(`Could not clear media keys: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${e}`)})}))||Promise.resolve())).catch(e=>{this.log(`Could not close sessions and clear media keys: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${e}`)})}).then(()=>{a&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){let e=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i,decryptdata:r}=e;if(t){var a;this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${t8((null==r?void 0:r.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);s>-1&&this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:n}=e;
16n&&Object.keys(n).forEach(e=>self.clearTimeout(n[e]));let{drmSystemOptions:o}=this.config;return(o&&("persistent-license"===o.sessionType||null!=(a=o.sessionTypes)&&a.some(e=>"persistent-license"===e))?new Promise((e,i)=>{self.setTimeout(()=>i(Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(e).catch(i)}):Promise.resolve()).catch(e=>{this.log(`Could not remove session: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${e}`)})}).then(()=>t.close()).catch(e=>{this.log(`Could not close session: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${e}`)})})}return Promise.resolve()}}function nH(e){if(!e)throw Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw Error("keyId is null");return t8(e.keyId)}n$.CDMCleanupPromise=void 0;class nG extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=Error(t)),this.data=e,e.err=e.error}}function nV(e,t){let i="output-restricted"===e,r=i?tU.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:tU.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new nG({type:tN.KEY_SYSTEM_ERROR,details:r,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`)}function nK(e,t){let i;try{i=new Event("addtrack")}catch(e){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function nW(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw Error(`addCue is failed for: ${t}`)}catch(i){t2.debug(`[texttrack-utils]: ${i}`);try{let i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){t2.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function nq(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues)for(let i=e.cues.length;i--;)t&&e.cues[i].removeEventListener("enter",t),e.removeCue(e.cues[i]);"disabled"===i&&(e.mode=i)}function nj(e,t,i,r){let a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&e.cues.length>0){let a=function(e,t,i){let r=[],a=function(e,t){let i;if(t<=e[0].startTime)return 0;let r=e.length-1;if(t>e[r].endTime)return -1;let a=0,s=r;for(;a<=s;)if(t<e[i=Math.floor((s+a)/2)].startTime)s=i-1;else{if(!(t>e[i].startTime)||!(a<r))return i;a=i+1}return e[a].startTime-t<t-e[s].startTime?a:s}(e,t);if(a>-1)for(let s=a,n=e.length;s<n;s++){let a=e[s];if(a.startTime>=t&&a.endTime<=i)r.push(a);else if(a.startTime>i)break}return r}(e.cues,t,i);for(let t=0;t<a.length;t++)(!r||r(a[t]))&&e.removeCue(a[t])}"disabled"===a&&(e.mode=a)}function nY(e){let t=[];for(let i=0;i<e.length;i++){let r=e[i];("subtitles"===r.kind||"captions"===r.kind)&&r.label&&t.push(e[i])}return t}function nz(e){let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()}let nQ=((dt={})[dt.Point=0]="Point",dt[dt.Range=1]="Range",dt);class nX{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null==(e=this.assetListLoader)||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;let i=this.playoutLimit;return!(e<=0||isNaN(i))&&(0===i||((null==(t=this.assetList[e])?void 0:t.startOffset)||0)>i)}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return nZ(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(0===this.startTime||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime,i=nZ(t,e);return t-i<.1}return!1}get resumptionOffset(){let e=this.resumeOffset,t=tM(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return nZ(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&.025>Math.abs(this.resumeOffset-this.duration)))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e,t=this.playoutLimit;return e=null!==this._duration?this._duration:this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0,!isNaN(t)&&t<e&&(e=t),e}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return"RANGE"===this.dateRange.attr["X-TIMELINE-OCCUPIES"]?nQ.Range:nQ.Point}get supplementsPrimary(){return"PRIMARY"===this.dateRange.attr["X-TIMELINE-STYLE"]}get contentMayVary(){return"NO"!==this.dateRange.attr["X-CONTENT-MAY-VARY"]}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||null!==this.assetListResponse}toString(){var e;return e=this,`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}}function nZ(e,t){return e-t.start<t.duration/2&&!(.025>Math.abs(e-(t.start+t.duration)))?t.start:t.start+t.duration}function nJ(e,t,i){let r=new self.URL(e,i);return"data:"!==r.protocol&&r.searchParams.set("_HLS_primary_id",t),r}function n0(e,t){for(;null!=(i=e.assetList[++t])&&i.error;)var i;return t}function n1(e){let t=e.timelineStart,i=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+i).toFixed(2)}]`}class n2{constructor(e,t,i,r){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
16s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(tF.PLAYOUT_LIMIT_REACHED,{})};const a=this.hls=new e(t);this.interstitial=i,this.assetItem=r;const s=()=>{this.hasDetails=!0};a.once(tF.LEVEL_LOADED,s),a.once(tF.AUDIO_TRACK_LOADED,s),a.once(tF.SUBTITLE_TRACK_LOADED,s),a.on(tF.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&a.on(tF.BUFFER_APPENDED,()=>{let e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,a.trigger(tF.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=nJ(t,e.config.primarySessionId||"").href}catch(e){}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if(null!=(t=this.hls)&&t.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset,a=rx.bufferInfo(e,r,0);return this.getAssetTime(a.end)>=i-.02}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=rx.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let i=t-this.startOffset;if(i>0&&i<e)return i}return e}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return(null==(e=this.hls)?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let t=this.timelineOffset;if(e!==t&&Math.abs(e-t)>1/9e4&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){return Math.min(Math.max(0,e-this.timelineOffset),this.duration)}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null==(t=this.hls)||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,null==(e=this.hls)||e.detachMedia()}resumeBuffering(){var e;null==(e=this.hls)||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.hls)||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=e=>delete e.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,i){var r;null==(r=this.hls)||r.on(e,t)}once(e,t,i){var r;null==(r=this.hls)||r.once(e,t)}off(e,t,i){var r;null==(r=this.hls)||r.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${n1(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}class n3 extends tX{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={}
16,this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,r)=>e<=r.startOffset&&t>r.startOffset?(delete r.error,i+1):i,0):0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);let r=this.items;if(r)for(r[i]||(void 0===t&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&null!=(a=r[i])&&a.event;){var a;i--}return i}findItemIndexAtTime(e,t){let i=this.items;if(i)for(let r=0;r<i.length;r++){let a=i[r];if(t&&"primary"!==t&&(a=a[t]),e===a.start||e>a.start&&e<a.end)return r}return -1}findJumpRestrictedIndex(e,t){let i=this.items;if(i)for(let r=e;r<=t&&i[r];r++){let e=i[r].event;if(null!=e&&e.restrictions.jump&&!e.appendInPlace)return r}return -1}findEventIndex(e){let t=this.items;if(t)for(let r=t.length;r--;){var i;if((null==(i=t[r].event)?void 0:i.identifier)===e)return r}return -1}findAssetIndex(e,t){let i=e.assetList,r=i.length;if(r>1)for(let e=0;e<r;e++){let a=i[e];if(!a.error){let i=a.timelineStart;if(t===i||t>i&&(t<i+(a.duration||0)||e===r-1))return e}}return 0}get assetIdAtEnd(){var e;let t=null==(e=this.items)||null==(e=e[this.length-1])?void 0:e.event;if(t){let e=t.assetList,i=e[e.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,t){let i=e.main.details,{dateRanges:r}=i,a=this.events,s=this.parseDateRanges(r,{url:i.url},t),n=Object.keys(r),o=a?a.filter(e=>!n.includes(e.identifier)):[];s.length&&s.sort((e,t)=>{let i=e.cue.pre,r=e.cue.post,a=t.cue.pre,s=t.cue.post;if(i&&!a)return -1;if(a&&!i||r&&!s)return 1;if(s&&!r)return -1;if(!i&&!a&&!r&&!s){let i=e.startTime,r=t.startTime;if(i!==r)return i-r}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=s,o.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,o)}updateSchedule(e,t=[],i=!1){let r=this.events||[];
16if(r.length||t.length||this.length<2){let a=this.items,s=this.parseSchedule(r,e);(i||t.length||(null==a?void 0:a.length)!==s.length||s.some((e,t)=>Math.abs(e.playout.start-a[t].playout.start)>.005||Math.abs(e.playout.end-a[t].playout.end)>.005))&&(this.items=s,this.onScheduleUpdate(t,a))}}parseDateRanges(e,t,i){let r=[],a=Object.keys(e);for(let s=0;s<a.length;s++){let n=a[s],o=e[n];if(o.isInterstitial){let e=this.eventMap[n];e?e.setDateRange(o):(e=new nX(o,t),this.eventMap[n]=e,!1===i&&(e.appendInPlace=i)),r.push(e)}}return r}parseSchedule(e,t){let i=[],r=t.main.details,a=r.live?1/0:r.edge,s=0;if((e=e.filter(e=>!e.error&&!(e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(e,t);let r=0,o=0;if(e.forEach((t,n)=>{let l=t.cue.pre,d=t.cue.post,u=e[n-1]||null,h=t.appendInPlace,c=d?a:t.startOffset,m=t.duration,f=t.timelineOccupancy===nQ.Range?m:0,p=t.resumptionOffset,g=(null==u?void 0:u.startTime)===c,E=c+t.cumulativeDuration,y=h?E+m:c+p;if(l||!d&&c<=0){let e=o;o+=f,t.timelineStart=E;let r=s;s+=m,i.push({event:t,start:E,end:y,playout:{start:r,end:s},integrated:{start:e,end:o}})}else{if(!(c<=a))return;if(!g){let a=c-r;if(a>.033){let l=r,d=o;o+=a;let u=s;s+=a;let h={previousEvent:e[n-1]||null,nextEvent:t,start:l,end:l+a,playout:{start:u,end:s},integrated:{start:d,end:o}};i.push(h)}else a>0&&u&&(u.cumulativeDuration+=a,i[i.length-1].end=c)}d&&(y=E),t.timelineStart=E;let l=o;o+=f;let h=s;s+=m,i.push({event:t,start:E,end:y,playout:{start:h,end:s},integrated:{start:l,end:o}})}let b=t.resumeTime;r=d||b>a?a:b}),r<a){var n;let e=r,t=o,l=a-r;o+=l;let d=s;s+=l,i.push({previousEvent:(null==(n=i[i.length-1])?void 0:n.event)||null,nextEvent:null,start:r,end:e+l,playout:{start:d,end:s},integrated:{start:t,end:o}})}this.setDurations(a,s,o)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i}}resolveOffsets(e,t){let i=t.main.details,r=i.live?1/0:i.edge,a=0,s=-1;e.forEach((n,o)=>{let l=n.cue.pre,d=n.cue.post,u=l?0:d?r:n.startTime;this.updateAssetDurations(n),s===u?n.cumulativeDuration=a:(a=0,s=u),!d&&n.snapOptions.in&&(n.resumeAnchor=rt(null,i.fragments,n.startOffset+n.resumptionOffset,0,0)||void 0),n.appendInPlace&&!n.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(n,t)||(n.appendInPlace=!1)),!n.appendInPlace&&o+1<e.length&&e[o+1].startTime-e[o].resumeTime<.033&&(e[o+1].appendInPlace=!1,e[o+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${n}`));let h=tM(n.resumeOffset)?n.resumeOffset:n.duration;a+=h})}primaryCanResumeInPlaceAt(e,t){let i=e.resumeTime,r=e.startTime+e.resumptionOffset;return Math.abs(i-r)>.025?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${r}`),!1):!Object.keys(t).some(r=>{let a=t[r].details,s=a.edge;if(i>=s)return this.log(`"${e.identifier}" resumption ${i} past ${r} playlist end ${s}`),!1;let n=rt(null,a.fragments,i);if(!n)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${r} playlist (${a.fragStart}-${a.fragmentEnd})`),!0;let o=.175*("audio"===r);return!(Math.abs(n.start-i)<.025+o||Math.abs(n.end-i)<.025+o)&&(this.log(`"${e.identifier}" resumption ${i} not aligned with ${r} fragment bounds (${n.start}-${n.end} sn: ${n.sn} cc: ${n.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,i=0,r=!1,a=!1;for(let s=0;s<e.assetList.length;s++){let n=e.assetList[s],o=t+i;n.startOffset=i,n.timelineStart=o,r||(r=null===n.duration),a||(a=!!n.error),i+=n.error?0:n.duration||0}r&&!a?e.duration=Math.max(i,e.duration):e.duration=i}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function n4(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class n5{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){let i,r=e.assetListUrl;try{i=nJ(r,this.hls.sessionId,e.baseUrl)}catch(i){let t=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_ERROR,i,r);this.hls.trigger(tF.ERROR,t);return}t&&"data:"!==i.protocol&&i.searchParams.set("_HLS_start_offset",""+t);let a=this.hls.config,s=new a.loader(a),n={responseType:"json",url:i.href},o=a.interstitialAssetListLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return s.load(n,l,{onSuccess:(t,i,r,a)=>{let s=t.data;if(!Array.isArray(null==s?void 0:s.ASSETS)){let t=this.assignAssetListError(e,tU.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),r.url,i,a);this.hls.trigger(tF.ERROR,t);return}e.assetListResponse=s,this.hls.trigger(tF.ASSET_LIST_LOADED,{event:e,assetListResponse:s,networkDetails:a})},onError:(t,i,r,a)=>{let s=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${t.code} ${t.text} (${i.url})`),i.url,a,r);this.hls.trigger(tF.ERROR,s)},onTimeout:(t,i,r)=>{let a=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${i.url})`),i.url,t,r);this.hls.trigger(tF.ERROR,a)}}),this.hls.trigger(tF.ASSET_LIST_LOADING,{event:e}),s}assignAssetListError(e,t,i,r,a,s){return e.error=i,{type:tN.NETWORK_E
16RROR,details:t,fatal:!1,interstitial:e,url:r,error:i,networkDetails:s,stats:a}}}function n8(e){var t;null==e||null==(t=e.play())||t.catch(()=>{})}function n9(e,t){return`[${e}] Advancing timeline position to ${t}`}class n6{constructor(e){this.buffered=void 0;const t=(t,i,r)=>{if((i>>>=0)>r-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}let n7={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},oe=e=>String.fromCharCode(n7[e]||e),ot={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},oi={17:2,18:4,21:6,22:8,23:10,19:13,20:15},or={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},oa={25:2,26:4,29:6,30:8,31:10,27:13,28:15},os=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class on{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i="function"==typeof t?t():t;t2.log(`${this.time} [${e}] ${i}`)}}}let oo=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t};class ol{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let r=t[i];e.hasOwnProperty(r)&&(this[r]=e[r])}}isDefault(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class od{constructor(){this.uchar=" ",this.penState=new ol}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return" "===this.uchar&&this.penState.isDefault()}}class ou{constructor(e){this.chars=[],this.pos=0,this.currPenState=new ol,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<100;e++)this.chars.push(new od);this.logger=e}equals(e){for(let t=0;t<100;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<100;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<100;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>100&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=100)}moveCursor(e){let t=this.pos+e;if(e>1)for(let e=this.pos+1;e<t+1;e++)this.chars[e].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=oe(e);this.pos>=100?this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t<100;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let i=0;i<100;i++){let r=this.chars[i].uchar;" "!==r&&(t=!1),e.push(r)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class oh{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<15;t++)this.rows.push(new ou(e));this.logger=e}reset(){for(let e=0;e<15;e++)this.rows[e].clear();this.currRow=14}equals(e){let t=!0;for(let i=0;i<15;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<15;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<15;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+i1(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let e=0;e<15;e++)this.rows[e].clear();let e=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){let r=i.rows[e].cueStartTime,a=this.logger.time;if(null!==r&&null!==a&&r<a)for(let r=0;r<this.nrRollUpRows;r++)this.rows[t-this.nrRollUpRows+r+1].copy(i.rows[e+r])}}this.currRow=t;let i=this.rows[this.currRow];if(null!==e.indent){let t=Math.max(e.indent-1,0);i.setCursor(e.indent),e.color=i.chars[t].penState.foreground}let r={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(r)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+i1(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],i="",r=-1;for(let i=0;i<15;i++){let a=this.rows[i].getTextString();a&&(r=i+1,e?t.push("Row "+r+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class oc{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new oh(i),this.nonDisplayedMemory=new oh(i),this.lastOutputScreen=new oh(i),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;t<e.length;t++)this.writeScreen.insertChar(e[t]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),("MODE_PAINT-ON"===this.mode||"MODE_ROLL-UP"===this.mode)&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}
16ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};(t.underline=e%2==1,t.italics=e>=46,t.italics)?t.foreground="white":t.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(e/2)-16],this.logger.log(2,"MIDROW: "+i1(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&!this.displayedMemory.isEmpty()&&(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e)}}class om{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const r=this.logger=new on;this.channels=[null,new oc(e,t,r),new oc(e+1,i,r)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e<t.length;e+=2){var i,r,a,s,n,o,l,d;let u=127&t[e],h=127&t[e+1],c=!1,m=null;if(0===u&&0===h)continue;this.logger.log(3,()=>"["+oo([t[e],t[e+1]])+"] -> ("+oo([u,h])+")");let f=this.cmdHistory;if(u>=16&&u<=31){if(i=u,r=h,(a=f).a===i&&a.b===r){(s=f).a=null,s.b=null,this.logger.log(3,()=>"Repeated command ("+oo([u,h])+") is dropped");continue}n=u,o=h,(l=this.cmdHistory).a=n,l.b=o,(c=this.parseCmd(u,h))||(c=this.parseMidrow(u,h)),c||(c=this.parsePAC(u,h)),c||(c=this.parseBackgroundAttributes(u,h))}else{(d=f).a=null,d.b=null}if(!c&&(m=this.parseChars(u,h))){let e=this.currentChannel;e&&e>0?this.channels[e].insertChars(m):this.logger.log(2,"No channel found yet. TEXT-MODE?")}c||m||this.logger.log(2,()=>"Couldn't parse cleaned data "+oo([u,h])+" orig: "+oo([t[e],t[e+1]]))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;let i=20===e||21===e||23===e?1:2,r=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?r.ccRCL():33===t?r.ccBS():34===t?r.ccAOF():35===t?r.ccAON():36===t?r.ccDER():37===t?r.ccRU(2):38===t?r.ccRU(3):39===t?r.ccRU(4):40===t?r.ccFON():41===t?r.ccRDC():42===t?r.ccTR():43===t?r.ccRTD():44===t?r.ccEDM():45===t?r.ccCR():46===t?r.ccENM():47===t&&r.ccEOC():r.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if((i=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let r=this.channels[i];return!!r&&(r.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+oo([e,t])+")"),!0)}return!1}parsePAC(e,t){let i,r=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(16===e||24===e)&&t>=64&&t<=95;if(!(r||a))return!1;let s=e<=23?1:2;i=t>=64&&t<=95?1===s?ot[e]:or[e]:1===s?oi[e]:oa[e];let n=this.channels[s];return!!n&&(n.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0)}interpretPAC(e,t){let i,r={color:null,italics:!1,indent:null,underline:!1,row:e};return r.underline=(1&(i=t>95?t-96:t-64))==1,i<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((i-16)/2),r}parseChars(e,t){let i,r=null,a=null;if(e>=25?(i=2,a=e-8):(i=1,a=e),a>=17&&a<=19){let e;e=17===a?t+80:18===a?t+112:t+144,this.logger.log(2,()=>"Special char '"+oe(e)+"' in channel "+i),r=[e]}else e>=32&&e<=127&&(r=0===t?[e]:[e,t]);return r&&this.logger.log(3,()=>"Char codes = "+oo(r).join(",")),r}
16parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;let i={};return 16===e||24===e?(i.background=os[Math.floor((t-32)/2)],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),this.channels[e<=23?1:2].setBkgData(i),!0}reset(){var e;for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}(e=this.cmdHistory).a=null,e.b=null}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}}var of=function(){if(null!=rz&&rz.VTTCue)return self.VTTCue;let e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t||!Array.isArray(e))return!1;let i=t.toLowerCase();return!!~e.indexOf(i)&&i}function r(e){let t=1;for(;t<arguments.length;t++){let i=arguments[t];for(let t in i)e[t]=i[t]}return e}function a(a,s,n){let o={enumerable:!0};this.hasBeenReset=!1;let l="",d=!1,u=a,h=s,c=n,m=null,f="",p=!0,g="auto",E="start",y=50,b="middle",T=50,A="middle";Object.defineProperty(this,"id",r({},o,{get:function(){return l},set:function(e){l=""+e}})),Object.defineProperty(this,"pauseOnExit",r({},o,{get:function(){return d},set:function(e){d=!!e}})),Object.defineProperty(this,"startTime",r({},o,{get:function(){return u},set:function(e){if("number"!=typeof e)throw TypeError("Start time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"endTime",r({},o,{get:function(){return h},set:function(e){if("number"!=typeof e)throw TypeError("End time must be set to a number.");h=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"text",r({},o,{get:function(){return c},set:function(e){c=""+e,this.hasBeenReset=!0}})),Object.defineProperty(this,"region",r({},o,{get:function(){return m},set:function(e){m=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"vertical",r({},o,{get:function(){return f},set:function(t){let r=i(e,t);if(!1===r)throw SyntaxError("An invalid or illegal string was specified.");f=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"snapToLines",r({},o,{get:function(){return p},set:function(e){p=!!e,this.hasBeenReset=!0}})),Object.defineProperty(this,"line",r({},o,{get:function(){return g},set:function(e){if("number"!=typeof e&&"auto"!==e)throw SyntaxError("An invalid number or illegal string was specified.");g=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"lineAlign",r({},o,{get:function(){return E},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");E=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"position",r({},o,{get:function(){return y},set:function(e){if(e<0||e>100)throw Error("Position must be between 0 and 100.");y=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"positionAlign",r({},o,{get:function(){return b},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");b=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"size",r({},o,{get:function(){return T},set:function(e){if(e<0||e>100)throw Error("Size must be between 0 and 100.");T=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"align",r({},o,{get:function(){return A},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");A=r,this.hasBeenReset=!0}})),this.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class op{decode(e,t){if(!e)return"";if("string"!=typeof e)throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function og(e){function t(e,t,i,r){return(0|e)*3600+(0|t)*60+(0|i)+parseFloat(r||0)}let i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class ov{constructor(){this.values=Object.create(null)}set(e,t){this.get(e)||""===t||(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let r=0;r<i.length;++r)if(t===i[r]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}}function oE(e,t,i,r){let a=r?e.split(r):[e];for(let e in a){if("string"!=typeof a[e])continue;let r=a[e].split(i);if(2===r.length)t(r[0],r[1])}}let oy=new of(0,0,""),ob="middle"===oy.align?"middle":"center";function oT(e){return e.replace(/<br(?: \/)?>/gi,"\n")}class oA{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new op,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;function i(){let e=t.buffer,i=0;for(e=oT(e);i<e.length&&"\r"!==e[i]&&"\n"!==e[i];)++i;let r=e.slice(0,i);return"\r"===e[i]&&++i,"\n"===e[i]&&++i,t.buffer=e.slice(i),r}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{let e="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;let r=(e=i()).match(/^()?WEBVTT([ \t].*)?$/);if(!(null!=r&&r[0]))throw Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer&&/\r\n|\n/.test(t.buffer);)switch(a?a=!1:e=i(),t.state){case"HEADER":if(/:/.test(e)){var r;r=e,oE(r,function(e,t){},/:/)}else e||(t.state="ID");continue;case"NOTE":e||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(e)){t.state="NOTE";break}if(!e)continue;if(t.cue=new of(0,0,""),t.state="CUE",-1===e.indexOf("-->")){t.cue.id=e;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{!function(e,t,i){var r;let a,s,n,o=e;
16function l(){let t=og(e);if(null===t)throw Error("Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function d(){e=e.replace(/^\s+/,"")}if(d(),t.startTime=l(),d(),"-->"!==e.slice(0,3))throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+o);e=e.slice(3),d(),t.endTime=l(),d(),r=e,a=new ov,oE(r,function(e,t){let r;switch(e){case"region":for(let r=i.length-1;r>=0;r--)if(i[r].id===t){a.set(e,i[r].region);break}break;case"vertical":a.alt(e,t,["rl","lr"]);break;case"line":r=t.split(","),a.integer(e,r[0]),a.percent(e,r[0])&&a.set("snapToLines",!1),a.alt(e,r[0],["auto"]),2===r.length&&a.alt("lineAlign",r[1],["start",ob,"end"]);break;case"position":r=t.split(","),a.percent(e,r[0]),2===r.length&&a.alt("positionAlign",r[1],["start",ob,"end","line-left","line-right","auto"]);break;case"size":a.percent(e,t);break;case"align":a.alt(e,t,["start",ob,"end","left","right"])}},/:/,/\s/),t.region=a.get("region",null),t.vertical=a.get("vertical",""),"auto"===(s=a.get("line","auto"))&&-1===oy.line&&(s=-1),t.line=s,t.lineAlign=a.get("lineAlign","start"),t.snapToLines=a.get("snapToLines",!0),t.size=a.get("size",100),t.align=a.get("align",ob),"auto"===(n=a.get("position","auto"))&&50===oy.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}(e,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let i=-1!==e.indexOf("-->");if(!e||i&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=e}continue;case"BADCUE":e||(t.state="ID")}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this}flush(){try{if((this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state||"BADWEBVTT"===this.state)throw Error("Malformed WebVTT signature.")}catch(e){this.onparsingerror&&this.onparsingerror(e)}return this.onflush&&this.onflush(),this}}let o_=/\r\n|\n\r|\n|\r/g,oS=function(e,t,i=0){return e.slice(i,i+t.length)===t},ok=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),r=parseInt(e.slice(-9,-7)),a=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!tM(t)||!tM(i)||!tM(r)||!tM(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*r,t+=36e5*a};function oL(e,t,i){return nz(e.toString())+nz(t.toString())+nz(i)}let oR=function(e,t,i){let r=e[t],a=e[r.prevCC];if(!a||!a.new&&r.new){e.ccOffset=e.presentationOffset=r.start,r.new=!1;return}for(;null!=(s=a)&&s.new;){var s;e.ccOffset+=r.start-a.start,r.new=!1,a=e[(r=a).prevCC]}e.presentationOffset=i},oI="stpp.ttml.im1t",ow=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,oC=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oD={left:"start",center:"center",right:"end",start:"start",end:"end"};function ox(e,t,i,r){let a=iv(new Uint8Array(e),["mdat"]);if(0===a.length)return void r(Error("Could not parse IMSC1 mdat"));let s=a.map(e=>t5(e)),n=function(e,t=1,i=!1){return sN(e,1,1/t,i)}(t.baseTime,t.timescale);try{s.forEach(e=>i(function(e,t){let i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw Error("Invalid ttml");let r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(r).reduce((e,t)=>(e[t]=i.getAttribute(`ttp:${t}`)||r[t],e),{}),s="preserve"!==i.getAttribute("xml:space"),n=oP(oM(i,"styling","style")),o=oP(oM(i,"layout","region")),l=oM(i,"body","[begin]");return[].map.call(l,e=>{var i,r,l;let d,u,h,c=function e(t,i){return[].slice.call(t.childNodes).reduce((t,r,a)=>{var s;return"br"===r.nodeName&&a?t+"\n":null!=(s=r.childNodes)&&s.length?e(r,i):i?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}(e,s);if(!c||!e.hasAttribute("begin"))return null;let m=oU(e.getAttribute("begin"),a),f=oU(e.getAttribute("dur"),a),p=oU(e.getAttribute("end"),a);if(null===m)throw oN(e);if(null===p){if(null===f)throw oN(e);p=m+f}let g=new of(m-t,p-t,c);g.id=oL(g.startTime,g.endTime,g.text);let E=(i=o[e.getAttribute("region")],r=n[e.getAttribute("style")],l=n,d="http://www.w3.org/ns/ttml#styling",u=null,(h=null!=i&&i.hasAttribute("style")?i.getAttribute("style"):null)&&l.hasOwnProperty(h)&&(u=l[h]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>
16{let a=oO(r,d,t)||oO(i,d,t)||oO(u,d,t);return a&&(e[t]=a),e},{})),{textAlign:y}=E;if(y){let e=oD[y];e&&(g.lineAlign=e),g.align=y}return tY(g,E),g}).filter(e=>null!==e)}(e,n)))}catch(e){r(e)}}function oM(e,t,i){let r=e.getElementsByTagName(t)[0];return r?[].slice.call(r.querySelectorAll(i)):[]}function oP(e){return e.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function oO(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function oN(e){return Error(`Could not parse ttml timestamp ${e}`)}function oU(e,t){var i,r;let a,s;if(!e)return null;let n=og(e);return null===n&&(ow.test(e)?(i=e,r=t,s=(0|(a=ow.exec(i))[4])+(0|a[5])/r.subFrameRate,n=(0|a[1])*3600+(0|a[2])*60+(0|a[3])+s/r.frameRate):oC.test(e)&&(n=function(e,t){let i=oC.exec(e),r=Number(i[1]);switch(i[2]){case"h":return 3600*r;case"m":return 60*r;case"ms":return 1e3*r;case"f":return r/t.frameRate;case"t":return r/t.tickRate}return r}(e,t))),n}class oF{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}function oB(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function o$(e,t){return!!e&&e.kind===oB(t)&&s5(t,e)}function oH(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}let oG=/\s/,oV={newCue(e,t,i,r){let a,s,n,o,l,d=[],u=self.VTTCue||self.TextTrackCue;for(let c=0;c<r.rows.length;c++)if(a=r.rows[c],n=!0,o=0,l="",!a.isEmpty()){var h;for(let e=0;e<a.chars.length;e++)oG.test(a.chars[e].uchar)&&n?o++:(l+=a.chars[e].uchar,n=!1);a.cueStartTime=t,t===i&&(i+=1e-4),o>=16?o--:o++;let r=oT(l.trim()),m=oL(t,i,r);null!=e&&null!=(h=e.cues)&&h.getCueById(m)||((s=new u(t,i,r)).id=m,s.line=c+1,s.align="left",s.position=10+Math.min(80,10*Math.floor(8*o/32)),d.push(s))}return e&&d.length&&(d.sort((e,t)=>"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line),d.forEach(t=>nW(e,t))),d}},oK=/(\d+)-(\d+)\/(\d+)/;class oW{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||oq,this.controller=new self.AbortController,this.stats=new ie}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){var r;let a,s=this.stats;if(s.loading.start)throw Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=(r=e,a={method:"GET",mode:"cors",credentials:"same-origin",signal:this.controller.signal,headers:new self.Headers(tY({},r.headers))},r.rangeEnd&&a.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),a),o="arraybuffer"===e.responseType,l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&tM(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},t.timeout),(sX(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(i=>{var r;this.response=this.loader=i;let a=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},u-(a-s.loading.start)),!i.ok){let{status:e,statusText:t}=i;throw new oj(t||"fetch, bad network response",e,i)}s.loading.first=a,s.total=function(e){let t=e.get("Content-Range");if(t){let e=function(e){let t=oK.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(tM(e))return e}let i=e.get("Content-Length");if(i)return parseInt(i)}(i.headers)||s.total;let n=null==(r=this.callbacks)?void 0:r.onProgress;return n&&tM(t.highWaterMark)?this.loadProgressively(i,s,e,t.highWaterMark,n):o?i.arrayBuffer():"json"===e.responseType?i.json():i.text()}).then(i=>{var r,a;let n=this.response;if(!n)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let o=i[l];o&&(s.loaded=s.total=o);let d={url:n.url,data:i,code:n.status},u=null==(r=this.callbacks)?void 0:r.onProgress;u&&!tM(t.highWaterMark)&&u(s,e,i,n),null==(a=this.callbacks)||a.onSuccess(d,s,e,n)}).catch(t=>{var i;if(self.clearTimeout(this.requestTimeout),s.aborted)return;let r=t&&t.code||0,a=t?t.message:null;null==(i=this.callbacks)||i.onError({code:r,text:a}
16,e,t?t.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,r=0,a){let s=new aX,n=e.body.getReader(),o=()=>n.read().then(n=>{if(n.done)return s.dataLength&&a(t,i,s.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let l=n.value,d=l.length;return t.loaded+=d,d<r||s.dataLength?(s.push(l),s.dataLength>=r&&a(t,i,s.flush().buffer,e)):a(t,i,l.buffer,e),o()}).catch(()=>Promise.reject());return o()}}function oq(e,t){return new self.Request(e.url,t)}class oj extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}let oY=/^age:\s*[\d.]+\s*$/im;class oz{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new ie,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let i=this.loader=new self.XMLHttpRequest,r=this.stats;r.loading.first=0,r.loaded=0,r.aborted=!1;let a=this.xhrSetup;a?Promise.resolve().then(()=>{if(this.loader===i&&!this.stats.aborted)return a(i,t.url)}).catch(e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),a(i,t.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(e=>{var a;null==(a=this.callbacks)||a.onError({code:i.status,text:e.message},t,i,r)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let r=t.headers,{maxTimeToFirstByteMs:a,maxLoadTimeMs:s}=i.loadPolicy;if(r)for(let t in r)e.setRequestHeader(t,r[t]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=a&&tM(a)?a:s,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let r=t.readyState,a=this.config;if(!i.aborted&&r>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),a.timeout!==a.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),a.timeout=a.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===r)){var s,n,o;self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let r=t.status,l="text"===t.responseType?t.responseText:null;if(r>=200&&r<300){let a=null!=l?l:t.response;if(null!=a){i.loading.end=Math.max(self.performance.now(),i.loading.first),i.loaded=i.total="arraybuffer"===t.responseType?a.byteLength:a.length,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first);let o=null==(s=this.callbacks)?void 0:s.onProgress;o&&o(i,e,a,t);let l={url:t.responseURL,data:a,code:r};null==(n=this.callbacks)||n.onSuccess(l,i,e,t);return}}let d=a.loadPolicy.errorRetry;ru(d,i.retry,!1,{url:e.url,data:void 0,code:r})?this.retry(d):(t2.error(`${r} while loading ${e.url}`),null==(o=this.callbacks)||o.onError({code:r,text:t.statusText},e,t,i))}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry;if(ru(e,this.stats.retry,!0))this.retry(e);else{var t;t2.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);let e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}
16retry(e){let{context:t,stats:i}=this;this.retryDelay=rl(e,i.retry),i.retry++,t2.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&oY.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let oQ=tQ(tQ({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:1/0,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:oz,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class extends tX{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.co
16decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=e=>{var t;let i,{fragCurrent:r,partCurrent:a,hls:s}=this,{autoLevelEnabled:n,media:o}=s;if(!r||!o)return;let l=performance.now(),d=a?a.stats:r.stats,u=a?a.duration:r.duration,h=l-d.loading.start,c=s.minAutoLevel,m=r.level,f=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||m<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n)return;let p=f>-1&&f!==m,g=!!e||p;if(!g&&(o.paused||!o.playbackRate||!o.readyState))return;let E=s.mainForwardBufferInfo;if(!g&&null===E)return;let y=this.bwEstimator.getEstimateTTFB(),b=Math.abs(o.playbackRate);if(h<=Math.max(y,u/(2*b)*1e3))return;let T=E?E.len/b:0,A=d.loading.first?d.loading.first-d.loading.start:-1,_=d.loaded&&A>-1,S=this.getBwEstimate(),k=s.levels,L=k[m],R=Math.max(d.loaded,Math.round(u*(r.bitrate||L.averageBitrate)/8)),I=_?h-A:h;I<1&&_&&(I=Math.min(h,8*d.loaded/S));let w=_?1e3*d.loaded/I:0,C=y/1e3,D=w?(R-d.loaded)/w:8*R/S+C;if(D<=T)return;let x=w?8*w:S,M=(null==(t=(null==e?void 0:e.details)||this.hls.latestLevelDetails)?void 0:t.live)===!0,P=this.hls.config.abrBandWidthUpFactor,O=1/0;for(i=m-1;i>c;i--){let e=k[i].maxBitrate,t=!k[i].details||M;if((O=this.getTimeToLoadFrag(C,x,u*e,t))<Math.min(T,u+C))break}if(O>=D||O>10*u)return;_?this.bwEstimator.sample(h-Math.min(y,A),d.loaded):this.bwEstimator.sampleTTFB(h);let N=k[i].maxBitrate;this.getBwEstimate()*P>N&&this.resetEstimator(N);let U=this.findBestLevel(N,c,i,0,T,1,1);U>-1&&(i=U),this.warn(`Fragment ${r.sn}${a?" part "+a.index:""} of level ${m} is loading too slowly; 17 Fragment duration: ${r.duration.toFixed(3)} 18 Time to underbuffer: ${T.toFixed(3)} s 19 Estimated load time for current fragment: ${D.toFixed(3)} s 20 Estimated load time for down switch fragment: ${O.toFixed(3)} s 21 TTFB estimate: ${0|A} ms 22 Current BW estimate: ${tM(S)?0|S:"Unknown"} bps 23 New BW estimate: ${0|this.getBwEstimate()} bps 24 Switching to level ${i} @ ${0|N} bps`),s.nextLoadLevel=s.nextAutoLevel=i,this.clearTimer();let F=()=>{if(this.clearTimer(),this.fragCurrent===r&&this.hls.loadLevel===i&&i>0){let e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${i>0?"and switching down":""} 25 Fragment duration: ${r.duration.toFixed(3)} s 26 Time to underbuffer: ${e.toFixed(3)} s`),r.abortRequests(),this.fragCurrent=this.partCurrent=null,i>c){let t=this.findBestLevel(this.hls.levels[c].bitrate,c,i,0,e,1,1);-1===t&&(t=c),this.hls.nextLoadLevel=this.hls.nextAutoLevel=t,this.resetEstimator(this.hls.levels[t].bitrate)}}};p||D>2*O?F():this.timer=self.setInterval(F,1e3*O),s.trigger(tF.FRAG_LOAD_EMERGENCY_ABORTED,{frag:r,part:a,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new tj(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(tF.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let i=t.frag;
26if(!this.ignoreFragment(i)){if(!i.bitrateTest){var r;this.fragCurrent=i,this.partCurrent=null!=(r=t.part)?r:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case tU.FRAG_LOAD_TIMEOUT:{let e=t.frag,{fragCurrent:i,partCurrent:r}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){let t=performance.now(),i=r?r.stats:e.stats,a=t-i.loading.start,s=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&s>-1){let e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(a-Math.min(e,s),i.loaded)}else this.bwEstimator.sampleTTFB(a)}}}}getTimeToLoadFrag(e,t,i,r){let a=r?e+this.lastLevelLoadSec:0;return e+i/t+a}onLevelLoaded(e,t){let i=this.hls.config,{loading:r}=t.stats,a=r.end-r.first;tM(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:i}){let r=i?i.stats:t.stats;if(t.type===tV&&this.bwEstimator.sampleTTFB(r.loading.first-r.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let e=i?i.duration:t.duration,a=this.hls.levels[t.level],s=(a.loaded?a.loaded.bytes:0)+r.loaded,n=(a.loaded?a.loaded.duration:0)+e;a.loaded={bytes:s,duration:n},a.realBitrate=Math.round(8*s/n)}if(t.bitrateTest){let e={stats:r,frag:t,part:i,id:t.type};this.onFragBuffered(tF.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:r}=t,a=null!=r&&r.stats.loaded?r.stats:i.stats;if(a.aborted||this.ignoreFragment(i))return;let s=a.parsing.end-a.loading.start-Math.min(a.loading.first-a.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(s,a.loaded),a.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==tV||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),r=this.hls.config.maxStarvationDelay,a=this.findBestLevel(i,t,e,0,r,1,1);if(a>-1)return a;let s=this.hls.firstLevel,n=Math.min(Math.max(s,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${s} clamped to ${n}`),n}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(-1!==e&&(!t||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){let t=this.hls.levels;if(t.length>Math.max(e,r)&&t[e].loadError<=t[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}
26_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;let{maxAutoLevel:r,config:a,minAutoLevel:s}=i,n=t?t.duration:e?e.duration:0,o=this.getBwEstimate(),l=this.getStarvationDelay(),d=a.abrBandWidthFactor,u=a.abrBandWidthUpFactor;if(l){let e=this.findBestLevel(o,s,r,l,0,d,u);if(e>=0)return this.rebufferNotice=-1,e}let h=n?Math.min(n,a.maxStarvationDelay):a.maxStarvationDelay;if(!l){let e=this.bitrateTestDelay;e&&(h=(n?Math.min(n,a.maxLoadingDelay):a.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),d=u=1)}let c=this.findBestLevel(o,s,r,l,h,d,u);if(this.rebufferNotice!==c&&(this.rebufferNotice=c,this.info(`${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${c}`)),c>-1)return c;let m=i.levels[s],f=i.loadLevelObj;return f&&(null==m?void 0:m.bitrate)<f.bitrate?s:i.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,r=e.mainForwardBufferInfo;return(r?r.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,r,a,s,n){var o,l;let d,u=r+a,h=this.lastLoadedFragLevel,c=-1===h?this.hls.firstLevel:h,{fragCurrent:m,partCurrent:f}=this,{levels:p,allAudioTracks:g,loadLevel:E,config:y}=this.hls;if(1===p.length)return 0;let b=p[c],T=!!(null!=(o=this.hls.latestLevelDetails)&&o.live),A=-1===E||-1===h,_="SDR",S=(null==b?void 0:b.frameRate)||0,{audioPreference:k,videoPreference:L}=y,R=this.audioTracksByGroup||(this.audioTracksByGroup=i3(g)),I=-1;if(A){if(-1!==this.firstSelection)return this.firstSelection;let r=function(e,t,i,r,a){let s=Object.keys(e),n=null==r?void 0:r.channels,o=null==r?void 0:r.audioCodec,l=null==a?void 0:a.videoCodec,d=n&&2===parseInt(n),u=!1,h=!1,c=1/0,m=1/0,f=1/0,p=1/0,g=0,E=[],{preferHDR:y,allowedVideoRanges:b}=function(e,t){let i=!1,r=[];if(e&&(i="SDR"!==e,r=[e]),t){let e="SDR"!==(r=t.allowedVideoRanges||iQ.slice(0)).join("")&&!t.videoCodec;(i=void 0!==t.preferHDR?t.preferHDR:e&&function(){if("function"==typeof matchMedia){let e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}())||(r=["SDR"])}return{preferHDR:i,allowedVideoRanges:r}}(t,a);for(let t=s.length;t--;){let i=e[s[t]];u||(u=i.channels[2]>0),c=Math.min(c,i.minHeight),m=Math.min(m,i.minFramerate),f=Math.min(f,i.minBitrate),b.filter(e=>i.videoRanges[e]>0).length>0&&(h=!0)}c=tM(c)?c:0,m=tM(m)?m:0;let T=Math.max(1080,c),A=Math.max(30,m);i=Math.max(f=tM(f)?f:i,i),h||(t=void 0);let _=s.length>1;return{codecSet:s.reduce((t,r)=>{let a=e[r];if(r===t)return t;if(E=h?b.filter(e=>a.videoRanges[e]>0):[],_){if(a.minBitrate>i)return i2(r,`min bitrate of ${a.minBitrate} > current estimate of ${i}`),t;if(!a.hasDefaultAudio)return i2(r,"no renditions with default or auto-select sound found"),t;if(o&&r.indexOf(o.substring(0,4))%5!=0)return i2(r,`audio codec preference "${o}" not found`),t;if(n&&!d){if(!a.channels[n])return i2(r,`no renditions with ${n} channel sound found (channels options: ${Object.keys(a.channels)})`),t}else if((!o||d)&&u&&0===a.channels["2"])return i2(r,"no renditions with stereo sound found"),t;if(a.minHeight>T)return i2(r,`min resolution of ${a.minHeight} > maximum of ${T}`),t;if(a.minFramerate>A)return i2(r,`min framerate of ${a.minFramerate} > maximum of ${A}`),t;if(!E.some(e=>a.videoRanges[e]>0))return i2(r,`no variants with VIDEO-RANGE of ${i1(E)} found`),t;if(l&&r.indexOf(l.substring(0,4))%5!=0)return i2(r,`video codec preference "${l}" not found`),t;if(a.maxScore<g)return i2(r,`max score of ${a.maxScore} < selected max of ${g}`),t}return t&&(iN(r)>=iN(t)||a.fragmentError>e[t].fragmentError)?t:(p=a.minIndex,g=a.maxScore,r)},void 0),videoRanges:E,preferHDR:y,minFramerate:m,minBitrate:f,minIndex:p}}(this.codecTiers||(this.codecTiers=p.slice(t,i+1).reduce((e,t,i)=>{if(!t.codecSet)return e;let r=t.audioGroups,a=e[t.codecSet];a||(e[t.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:i,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!r,fragmentError:0}
26),a.minBitrate=Math.min(a.minBitrate,t.bitrate);let s=Math.min(t.height,t.width);return a.minHeight=Math.min(a.minHeight,s),a.minFramerate=Math.min(a.minFramerate,t.frameRate),a.minIndex=Math.min(a.minIndex,i),a.maxScore=Math.max(a.maxScore,t.score),a.fragmentError+=t.fragmentError,a.videoRanges[t.videoRange]=(a.videoRanges[t.videoRange]||0)+1,r&&r.forEach(e=>{if(!e)return;let t=R.groups[e];t&&(a.hasDefaultAudio=a.hasDefaultAudio||R.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!R.hasDefaultAudio&&!R.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{a.channels[e]=(a.channels[e]||0)+t.channels[e]}))}),e},{})),_,e,k,L),{codecSet:a,videoRanges:s,minFramerate:n,minBitrate:o,minIndex:l,preferHDR:u}=r;I=l,d=a,_=u?s[s.length-1]:s[0],S=n,e=Math.max(e,o),this.log(`picked start tier ${i1(r)}`)}else d=null==b?void 0:b.codecSet,_=null==b?void 0:b.videoRange;let w=f?f.duration:m?m.duration:0,C=this.bwEstimator.getEstimateTTFB()/1e3,D=[];for(let o=i;o>=t;o--){let t,m=p[o],g=o>c;if(!m)continue;if(y.useMediaCapabilities&&!m.supportedResult&&!m.supportedPromise){let t=navigator.mediaCapabilities;"function"==typeof(null==t?void 0:t.decodingInfo)&&function(e,t,i,r,a,s){let n=e.videoCodec,o=e.audioCodec?e.audioGroups:null,l=null==s?void 0:s.audioCodec,d=null==s?void 0:s.channels,u=d?parseInt(d):l?1/0:2,h=null;if(null!=o&&o.length)try{h=1===o.length&&o[0]?t.groups[o[0]].channels:o.reduce((e,i)=>{if(i){let r=t.groups[i];if(!r)throw Error(`Audio track group ${i} not found`);Object.keys(r.channels).forEach(t=>{e[t]=(e[t]||0)+r.channels[t]})}return e},{2:0})}catch(e){return!0}return void 0!==n&&(n.split(",").some(e=>iR(e))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(r,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(a,8e6))||!!h&&tM(u)&&Object.keys(h).some(e=>parseInt(e)>u)}(m,R,_,S,e,k)?(m.supportedPromise=ij(m,R,t,this.supportedCache),m.supportedPromise.then(e=>{if(!this.hls)return;m.supportedResult=e;let t=this.hls.levels,i=t.indexOf(m);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${i} ${i1(e)}`):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${i} not smooth or powerEfficient: ${i1(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${i} ${i1(e)}`),i>-1&&t.length>1&&(this.log(`Removing unsupported level ${i}`),this.hls.removeLevel(i),-1===this.hls.loadLevel&&(this.hls.nextLoadLevel=0)))}).catch(e=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${e}`)})):m.supportedResult=iW}if((d&&m.codecSet!==d||_&&m.videoRange!==_||g&&S>m.frameRate||!g&&S>0&&S<m.frameRate||null!=(l=m.supportedResult)&&null!=(l=l.decodingInfoResults)&&l.some(e=>!1===e.smooth))&&(!A||o!==I)){D.push(o);continue}let b=m.details,L=(f?null==b?void 0:b.partTarget:null==b?void 0:b.averagetargetduration)||w;t=g?n*e:s*e;let x=w&&r>=2*w&&0===a?m.averageBitrate:m.maxBitrate,M=this.getTimeToLoadFrag(C,t,x*L,void 0===b);if(t>=x&&(o===h||0===m.loadError&&0===m.fragmentError)&&(M<=C||!tM(M)||T&&!this.bitrateTestDelay||M<u)){let e=this.forcedAutoLevel;return o!==E&&(-1===e||e!==E)&&(D.length&&this.trace(`Skipped level(s) ${D.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${p[D[0]].codecs}" ${p[D[0]].videoRange}; not compatible with "${d}" ${_}`),this.info(`switch candidate:${c}->${o} adjustedbw(${Math.round(t)})-bitrate=${Math.round(t-x)} ttfb:${C.toFixed(1)} avgDuration:${L.toFixed(1)} maxFetchDuration:${u.toFixed(1)} fetchDuration:${M.toFixed(1)} firstSelection:${A} codecSet:${m.codecSet} videoRange:${m.videoRange} hls.loadLevel:${E}`)),A&&(this.firstSelection=o),o}}return -1}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}},bufferController:class extends tX{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&(null==(t=this.mediaSource)?void 0:t.readyState)==="open"&&this.hls.pauseBuffer
26ing()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{let{media:t,mediaSource:i}=this;e&&this.log("Media source opened"),t&&i&&(i.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(tF.MEDIA_ATTACHED,{media:t,mediaSource:i}),null!==this.mediaSource&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=function(e){return"u">typeof self&&e===self.ManagedMediaSource}(t3(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){let{hls:e}=this;e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.BUFFER_RESET,this.onBufferReset,this),e.on(tF.BUFFER_APPENDING,this.onBufferAppending,this),e.on(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tF.BUFFER_EOS,this.onBufferEos,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.FRAG_PARSED,this.onFragParsed,this),e.on(tF.FRAG_CHANGED,this.onFragChanged,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.BUFFER_RESET,this.onBufferReset,this),e.off(tF.BUFFER_APPENDING,this.onBufferAppending,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.BUFFER_EOS,this.onBufferEos,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.FRAG_PARSED,this.onFragParsed,this),e.off(tF.FRAG_CHANGED,this.onFragChanged,this),e.off(tF.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let i={};if(this.operationQueue){let e=this.isUpdating();e||this.operationQueue.removeBlockers();let t=this.isQueued();(e||t)&&this.warn(`Transfering MediaSource with${t?" operations in queue":""}${e?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}let r=this.transferData;return!this.sourceBufferCount&&r&&r.mediaSource===t?tY(i,r.tracks):this.sourceBuffers.forEach(e=>{let[t]=e;t&&(i[t]=tY({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:e,mediaSource:t,tracks:i}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var i;let r=2;(!t.audio||t.video)&&t.altAudio||(r=1),this.bufferCodecEventsTotal=r,this.log(`${r} bufferCodec event(s) expected.`),null!=(i=this.transferData)&&i.mediaSource&&this.sourceBufferCount&&r&&this.bufferCreated()}onMediaAttaching(e,t){let i=this.media=t.media;this.transferData=this.overrides=void 0;let r=t3(this.appendSource);if(r){let e=!!t.mediaSource;(e||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let n=this.mediaSource=t.mediaSource||new r;if(this.assignMediaSource(n),e)this._objectUrl=i.src,this.attachTransferred();else{let e=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{var a,s;let t;i.removeAttribute("src");let r=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||r&&n instanceof r,ne(i),a=i,s=e,(t=self.document.createElement("source")).type="video/mp4",t.src=s,a.appendChild(t),i.load()}catch(t){i.src=e}else i.src=e}i.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,i;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"}
26 media source: ${null==(i=e.constructor)?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let i=this.tracks,r=t.tracks,a=r?Object.keys(r):null,s=a?a.length:0,n=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(r&&a&&s){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) 27required tracks: ${i1(i,(e,t)=>"initSegment"===e?void 0:t)}; 28transfer tracks: ${i1(r,(e,t)=>"initSegment"===e?void 0:t)}}`),!t4(r,i)){t.mediaSource=null,t.tracks=void 0;let a=e.currentTime,s=this.details,n=Math.max(a,(null==s?void 0:s.fragments[0].start)||0);return n-a>1?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${a} -> ${n}`):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(r)}"->"${Object.keys(i)}") start time: ${n} currentTime: ${a}`),this.onMediaDetaching(tF.MEDIA_DETACHING,{}),this.onMediaAttaching(tF.MEDIA_ATTACHING,t),void(e.currentTime=n))}this.transferData=void 0,a.forEach(e=>{let t=r[e];if(t){let i=t.buffer;if(i){let r=this.fragmentTracker,a=t.id;if(r.hasFragments(a)||r.hasParts(a)){let t=rx.getBuffered(i);r.detectEvictedFragments(e,t,a,null,!0)}let s=nt(e),n=[e,i];this.sourceBuffers[s]=n,i.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,t)}}}),n(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),n()}get mediaSourceOpenOrEnded(){var e;let t=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===t||"ended"===t}onMediaDetaching(e,t){let i=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:r,mediaSource:a,_objectUrl:s}=this;if(a){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let e="open"===a.readyState;try{let t=a.sourceBuffers;for(let i=t.length;i--;)e&&t[i].abort(),a.removeSourceBuffer(t[i]);e&&a.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}a.removeEventListener("sourceopen",this._onMediaSourceOpen),a.removeEventListener("sourceended",this._onMediaSourceEnded),a.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.removeEventListener("startstreaming",this._onStartStreaming),a.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}r&&(r.removeEventListener("emptied",this._onMediaEmptied),i||(s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(r.removeAttribute("src"),this.appendSource&&ne(r),r.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(tF.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t,i;let r=null==(t=this.tracks[e])?void 0:t.buffer;if(this.removeBuffer(e),r)try{null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(r)}catch(t){this.warn(`onBufferReset ${e}`,t)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[nt(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new s8(this.tracks)}onBufferCodecs(e,t){var i;let r=this.tracks,a=Object.keys(t);this.log(`BUFFER_CODECS: "${a}" (current SB count ${this.sourceBufferCount})`);let s="audiovideo"in t&&(r.audio||r.video)||r.audiovideo&&("audio"in t||"video"in t),n=!s&&this.sourceBufferCount&&this.media&&a.some(e=>!r[e]);
28s||n?this.warn(`Unsupported transition between "${Object.keys(r)}" and "${a}" SourceBuffers`):(a.forEach(e=>{var i,a;let{id:s,codec:n,levelCodec:o,container:l,metadata:d,supplemental:u}=t[e],h=r[e],c=null==(i=this.transferData)||null==(i=i.tracks)?void 0:i[e],m=null!=c&&c.buffer?c:h,f=(null==m?void 0:m.pendingCodec)||(null==m?void 0:m.codec),p=null==m?void 0:m.levelCodec;h||(h=r[e]={buffer:void 0,listeners:[],codec:n,supplemental:u,container:l,levelCodec:o,metadata:d,id:s});let g=i$(f,p),E=null==g?void 0:g.replace(s9,"$1"),y=i$(n,o),b=null==(a=y)?void 0:a.replace(s9,"$1");y&&g&&E!==b&&("audio"===e.slice(0,5)&&(y=iB(y,this.appendSource)),this.log(`switching codec ${f} to ${y}`),y!==(h.pendingCodec||h.codec)&&(h.pendingCodec=y),h.container=l,this.appendChangeType(e,l,y))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(!(this.bufferCodecEventsTotal>1)||this.tracks.video||t.video||(null==(i=t.audio)?void 0:i.id)!=="main"||(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks()))}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(e,t,i){let r=`${t};codecs=${i}`,a={label:`change-type=${r}`,execute:()=>{let a=this.tracks[e];if(a){let s=a.buffer;null!=s&&s.changeType&&(this.log(`changing ${e} sourceBuffer type to ${r}`),s.changeType(r),a.codec=i,a.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};this.append(a,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;let i=e.start,r=i+.05*e.duration;if((null==(t=this.fragmentTracker.getAppendedFrag(i,tV))?void 0:t.gap)===!0)return;let a={label:"block-audio",execute:()=>{var e;let t=this.tracks.video;(this.lastVideoAppendEnd>r||null!=t&&t.buffer&&rx.isBuffered(t.buffer,r)||(null==(e=this.fragmentTracker.getAppendedFrag(r,tV))?void 0:e.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}};this.blockedAudioAppend={op:a,frag:e},this.append(a,"audio",!0)}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){let{tracks:i}=this,{data:r,type:a,parent:s,frag:n,part:o,chunkMeta:l,offset:d}=t,u=l.buffering[a],{sn:h,cc:c}=n,m=self.performance.now();u.start=m;let f=n.stats.buffering,p=o?o.stats.buffering:null;0===f.start&&(f.start=m),p&&0===p.start&&(p.start=m);let g=i.audio,E=!1;"audio"===a&&(null==g?void 0:g.container)==="audio/mpeg"&&(E=!this.lastMpegAudioChunk||1===l.id||this.lastMpegAudioChunk.sn!==l.sn,this.lastMpegAudioChunk=l);let y=i.video,b=null==y?void 0:y.buffer;if(b&&"initSegment"!==h){let e=o||n,t=this.blockedAudioAppend;if("audio"!==a||"main"===s||this.blockedAudioAppend||y.ending||y.ended){if("video"===a){let i=e.end;if(t){let e=t.frag.start;(i>e||i<this.lastVideoAppendEnd||rx.isBuffered(b,e))&&this.unblockAudio()}this.lastVideoAppendEnd=i}}else{let t=e.start+.05*e.duration,i=b.buffered,r=this.currentOp("video");(i.length||r)&&(r||rx.isBuffered(b,t)||!(this.lastVideoAppendEnd<t))||this.blockAudio(e)}}let T=(o||n).start,A={label:`append-${a}`,execute:()=>{var e;u.executeStart=self.performance.now();let t=null==(e=this.tracks[a])?void 0:e.buffer;t&&(E?this.updateTimestampOffset(t,T,.1,a,h,c):void 0!==d&&tM(d)&&this.updateTimestampOffset(t,d,1e-6,a,h,c)),this.appendExecutor(r,a)},onStart:()=>{},onComplete:()=>{let e=self.performance.now();u.executeEnd=u.end=e,0===f.first&&(f.first=e),p&&0===p.first&&(p.first=e);let t={};this.sourceBuffers.forEach(([e,i])=>{e&&(t[e]=rx.getBuffered(i))}),this.appendErrors[a]=0,"audio"===a||"video"===a?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(tF.BUFFER_APPENDED,{type:a,frag:n,part:o,chunkMeta:l,parent:n.type,timeRanges:t})},onError:e=>{var t;let i={type:tN.MEDIA_ERROR,parent:n.type,details:tU.BUFFER_APPEND_ERROR,sourceBufferName:a,frag:n,part:o,chunkMeta:l,error:e,err:e,fatal:!1},r=null==(t=this.media)?void 0:t.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e)i.details=tU.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!r)i.errorAction=rc(!0);else if(e.name===s6&&0===this.sourceBufferCount)i.errorAction=rc(!0);else{let e=++this.appendErrors[a];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${a}
28" sourceBuffer (${r||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||r)&&(i.fatal=!0)}this.hls.trigger(tF.ERROR,i)}};this.log(`queuing "${a}" append sn: ${h}${o?" p: "+o.index:""} of ${n.type===tV?"level":"track"} ${n.level} cc: ${c}`),this.append(A,a,this.isPending(this.tracks[a]))}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(tF.BUFFER_FLUSHED,{type:e})},onError:r=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,r)}}}onBufferFlushing(e,t){let{type:i,startOffset:r,endOffset:a}=t;i?this.append(this.getFlushOp(i,r,a),i):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,r,a),e)})}onFragParsed(e,t){let{frag:i,part:r}=t,a=[],s=r?r.elementaryStreams:i.elementaryStreams;s[ir]?a.push("audiovideo"):(s[it]&&a.push("audio"),s[ii]&&a.push("video"));let n=()=>{let e=self.performance.now();i.stats.buffering.end=e,r&&(r.stats.buffering.end=e);let t=r?r.stats:i.stats;this.hls.trigger(tF.FRAG_BUFFERED,{frag:i,part:r,stats:t,id:i.type})};0===a.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(n,a).catch(e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([e])=>{if(e){let i=this.tracks[e];(!t.type||t.type===e)&&(i.ending=!0,i.ended||(i.ended=!0,this.log(`${e} buffer reached EOS`)))}});let r=(null==(i=this.overrides)?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t;return e&&!(null!=(t=this.tracks[e])&&t.ended)})?r?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:e}=this;if(!e||"open"!==e.readyState){e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(tF.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(tF.BUFFERED_TO_END,void 0)):"video"===t.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(null!==e){let t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===tU.BUFFER_APPEND_ERROR&&t.frag){var i;let e=null==(i=t.errorAction)?void 0:i.nextAutoLevel;tM(e)&&e!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||null===t||!this.sourceBufferCount)return;let r=e.config,a=i.currentTime,s=t.levelTargetDuration,n=t.live&&null!==r.liveBackBufferLength?r.liveBackBufferLength:r.backBufferLength;if(tM(n)&&n>=0){let e=Math.max(n,s),t=Math.floor(a/s)*s-e;this.flushBackBuffer(a,s,t)}let o=r.frontBufferFlushThreshold;if(tM(o)&&o>0){let e=Math.max(Math.max(r.maxBufferLength,o),s),t=Math.floor(a/s)*s+e;this.flushFrontBuffer(a,s,t)}}flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([e,t])=>{if(t){let a=rx.getBuffered(t);if(a.length>0&&i>a.start(0)){var r;this.hls.trigger(tF.BACK_BUFFER_REACHED,{bufferEnd:i});let t=this.tracks[e];if(null!=(r=this.details)&&r.live)this.hls.trigger(tF.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:e})}}})}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([t,r])=>{if(r){let a=rx.getBuffered(r),s=a.length;if(s<2)return;let n=a.start(s-1),o=a.end(s-1);i>n||e>=n&&e<=o||this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:t})}})}getDurationAndRange(){var e;let{details:t,mediaSource:i}=this;if(!t||!this.media||(null==i?void 0:i.readyState)!=="open")return null;let r=t.edge;
28if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&i.setLiveSeekableRange){let e=Math.max(0,t.fragmentStart),i=Math.max(e,r);return{duration:1/0,start:e,end:i}}return{duration:1/0}}let a=null==(e=this.overrides)?void 0:e.duration;if(a)return tM(a)?{duration:a}:null;let s=this.media.duration;return r>(tM(i.duration)?i.duration:0)&&r>s||!tM(s)?{duration:r}:null}updateMediaSource({duration:e,start:t,end:i}){let r=this.mediaSource;this.media&&r&&"open"===r.readyState&&(r.duration!==e&&(tM(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),r.duration=e),void 0!==t&&void 0!==i&&(this.log(`MediaSource duration is set to ${r.duration}. Setting seekable range to ${t}-${i}.`),r.setLiveSeekableRange(t,i)))}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${i1(i)}`),this.tracksReady){var r;let e=null==(r=this.transferData)?void 0:r.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,i])=>{if(t){let r=this.tracks[t];e[t]={buffer:i,container:r.container,codec:r.codec,supplemental:r.supplemental,levelCodec:r.levelCodec,id:r.id,metadata:r.metadata}}}),this.hls.trigger(tF.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let a in e){let s=e[a];if(this.isPending(s)){let e=this.getTrackCodec(s,a),n=`${s.container};codecs=${e}`;s.codec=e,this.log(`creating sourceBuffer(${n})${this.currentOp(a)?" Queued":""} ${i1(s)}`);try{let e=i.addSourceBuffer(n),r=nt(a),o=[a,e];t[r]=o,s.buffer=e}catch(e){var r;this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(a),null==(r=this.operationQueue)||r.removeBlockers(),delete this.tracks[a],this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:a,mimeType:n,parent:s.id});return}this.trackSourceBuffer(a,s)}}this.bufferCreated()}getTrackCodec(e,t){let i=e.supplemental,r=e.codec;i&&("video"===t||"audiovideo"===t)&&ix(i,"video")&&(r=function(e,t){let i=[];if(e){let t=e.split(",");for(let e=0;e<t.length;e++)iD(t[e],"video")||i.push(t[e])}return t&&i.push(t),i.join(",")}(r,i));let a=i$(r,e.levelCodec);return a?"audio"===t.slice(0,5)?iB(a,this.appendSource):a:""}trackSourceBuffer(e,t){let i=t.buffer;if(!i)return;let r=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:r,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(e,t)=>{let i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(tF.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t;let i=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==i?void 0:i.src}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if((null==(t=this.mediaSource)?void 0:t.readyState)==="closed")return void this.resetBuffer(e);let i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i;let r=Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${r}`,t),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);a&&a.onError(r)}updateTimestampOffset(e,t,i,r,a,s){Math.abs(t-e.timestampOffset)>=i&&(this.log(`Updating ${r} SourceBuffer timestampOffset to ${t} (sn: ${a} cc: ${s})`),e.timestampOffset=t)}removeExecutor(e,t,i){let{media:r,mediaSource:a}=this,s=this.tracks[e],n=null==s?void 0:s.buffer;if(!r||!a||!n){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}let o=tM(r.duration)?r.duration:1/0,l=tM(a.duration)?a.duration:1/0,d=Math.max(0,t),u=Math.min(i,o,l);u>d&&(!s.ending||s.ended)?(s.ended=!1,this.log(`Removing [${d},${u}] from the ${e} SourceBuffer`),n.remove(d,u)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){let i=this.tracks[t],r=null==i?void 0:i.buffer;if(!r)throw new s7(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,r.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn(`SourceBuffer blocked callback ${e}
28`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:i}=this,r=t.map(e=>this.appendBlocker(e));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(r).then(t=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t;let i=null==(t=this.tracks[e])?void 0:t.buffer;i&&!i.updating&&this.shiftAndExecuteNext(e)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+ +!!this.isPending(this.tracks[t]),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+ +!!t,0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){let r=this.tracks[e];if(!r)return;let a=r.buffer;if(!a)return;let s=i.bind(this,e);r.listeners.push({event:t,listener:s}),a.addEventListener(t,s)}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let i=t.buffer;i&&(t.listeners.forEach(e=>{i.removeEventListener(e.event,e.listener)}),t.listeners.length=0)}},capLevelController:ni,errorController:class extends tX{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tF.ERROR,this.onError,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tF.ERROR,this.onError,this),e.off(tF.ERROR,this.onErrorOut,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===tV?e.level:this.getVariantIndex()}getVariantIndex(){var e;let t=this.hls,i=t.currentLevel;return null!=(e=t.loadLevelObj)&&e.details||-1===i?t.loadLevel:i}variantHasKey(e,t){if(e){var i;if(null!=(i=e.details)&&i.hasKey(t))return!0;let r=e.audioGroups;if(r)return this.hls.allAudioTracks.filter(e=>r.indexOf(e.groupId)>=0).some(e=>{var i;return null==(i=e.details)?void 0:i.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,r,a;if(t.fatal)return;let s=this.hls,n=t.context;switch(t.details){case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case tU.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap){t.errorAction=rc();return}case tU.FRAG_GAP:case tU.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=2;return;case tU.LEVEL_EMPTY_ERROR:case tU.LEVEL_PARSING_ERROR:{let e=t.parent===tV?t.level:s.loadLevel;t.details===tU.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(r=r.levelDetails)&&r.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case tU.LEVEL_LOAD_ERROR:case tU.LEVEL_LOAD_TIMEOUT:"number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case tU.AUDIO_TRACK_LOAD_ERROR:case tU.AUDIO_TRACK_LOAD_TIMEOUT:case tU.SUBTITLE_LOAD_ERROR:case tU.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let e=s.loadLevelObj;e&&(n.type===tH&&e.hasAudioGroup(n.groupId)||n.type===tG&&e.hasSubtitleGroup(n.groupId))&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.loadLevel),t.errorAction.action=2,t.errorAction.flags=1)}return;case tU.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:2,flags:2};return;case tU.KEY_SYSTEM_SESSION_UPDATE_FAILED:case tU.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case tU.KEY_SYSTEM_NO_SESSION:t.errorAction={action:2,flags:4};return;
28case tU.BUFFER_ADD_CODEC_ERROR:case tU.REMUX_ALLOC_ERROR:case tU.BUFFER_APPEND_ERROR:t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(a=t.level)?a:s.loadLevel));return;case tU.INTERNAL_EXCEPTION:case tU.BUFFER_APPENDING_ERROR:case tU.BUFFER_FULL_ERROR:case tU.LEVEL_SWITCH_ERROR:case tU.BUFFER_STALLED_ERROR:case tU.BUFFER_SEEK_OVER_HOLE:case tU.BUFFER_NUDGE_ON_STALL:t.errorAction=rc();return}t.type===tN.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=rc())}getPlaylistRetryOrSwitchAction(e,t){let i=ro(this.hls.config.playlistLoadPolicy,e),r=this.playlistError++;if(ru(i,r,ra(e),e.response))return{action:5,flags:0,retryConfig:i,retryCount:r};let a=this.getLevelSwitchAction(e,t);return i&&(a.retryConfig=i,a.retryCount=r),a}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),r=t.levels[i],{fragLoadPolicy:a,keyLoadPolicy:s}=t.config,n=ro(rs(e)?s:a,e),o=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(r&&(e.details!==tU.FRAG_GAP&&r.fragmentError++,!rn(e))&&ru(n,o,ra(e),e.response))return{action:5,flags:0,retryConfig:n,retryCount:o};let l=this.getLevelSwitchAction(e,i);return n&&(l.retryConfig=n,l.retryCount=o),l}getLevelSwitchAction(e,t){let i=this.hls;null==t&&(t=i.loadLevel);let r=this.hls.levels[t];if(r){var a,s,n,o;let t=e.details;r.loadError++,t===tU.BUFFER_APPEND_ERROR&&r.fragmentError++;let l=-1,{levels:d,loadLevel:u,minAutoLevel:h,maxAutoLevel:c}=i;i.autoLevelEnabled||i.config.preserveManualLevelOnError||(i.loadLevel=-1);let m=null==(a=e.frag)?void 0:a.type,f=(m===tK&&t===tU.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===tU.BUFFER_ADD_CODEC_ERROR||t===tU.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:e})=>r.audioCodec!==e),p="video"===e.sourceBufferName&&(t===tU.BUFFER_ADD_CODEC_ERROR||t===tU.BUFFER_APPEND_ERROR)&&d.some(({codecSet:e,audioCodec:t})=>r.codecSet!==e&&r.audioCodec===t),{type:g,groupId:E}=null!=(s=e.context)?s:{};for(let i=d.length;i--;){let a=(i+u)%d.length;if(a!==u&&a>=h&&a<=c&&0===d[a].loadError){let i=d[a];if(t===tU.FRAG_GAP&&m===tV&&e.frag){let t=d[a].details;if(t){let i=rt(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else if(g===tH&&i.hasAudioGroup(E)||g===tG&&i.hasSubtitleGroup(E))continue;else if(m===tK&&null!=(n=r.audioGroups)&&n.some(e=>i.hasAudioGroup(e))||m===tW&&null!=(o=r.subtitleGroups)&&o.some(e=>i.hasSubtitleGroup(e))||f&&r.audioCodec===i.audioCodec||p&&r.codecSet===i.codecSet||!f&&r.codecSet!==i.codecSet)continue;l=a;break}}if(l>-1&&i.loadLevel!==l)return e.levelRetry=!0,this.playlistError=0,{action:2,flags:0,nextAutoLevel:l}}return{action:2,flags:1}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case 0:break;case 2:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===tU.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):t.fatal=!0}if(t.fatal)return void this.hls.stopLoad()}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:r}=i,a=i.nextAutoLevel;switch(r){case 0:this.switchLevel(e,a);break;case 2:{let r=this.getVariantLevelIndex(e.frag),a=t.levels[r],s=null==a?void 0:a.attrs["HDCP-LEVEL"];if(i.hdcpLevel=s,"NONE"===s)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(s){t.maxHdcpLevel=iz[iz.indexOf(s)-1],i.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case 4:{let t=e.decryptdata;if(t){let r=this.hls.levels,a=r.length;for(let i=a;i--;)if(this.variantHasKey(r[i],t)){var s,n;this.log(`Banned key found in level ${i} (${r[i].bitrate}bps) or audio group "${null==(s=r[i].audioGroups)?void 0:s.join(",")}" (${null==(n=e.frag)?void 0:n.type} fragment) ${t8(t.keyId||[])}`),r[i].fragmentError++,r[i].loadError++,this.log(`Removing level ${i} with key error (${e.error})`),this.hls.removeLevel(i)}let o=e.frag;if(this.hls.levels.length<a)i.resolved=!0;else if(o&&o.type!==tV){let e=o.decryptdata;e&&!t.matches(e)&&(i.resolved=!0)}}}}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){if(void 0!==t&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===tU.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&"audiovideo"!==e.sourceBufferName)){let t=iV(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)i[r][`${e.sourceBufferName}Codec`]===t&&(this.log(`Removing level ${r} for ${e.details} ("${t}" not supported)`),this.hls.removeLevel(r))}}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}
28registerListeners(){this.hls.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,i){let r=performance.now();if(t){if(this.lastTime){let e=r-this.lastTime,a=i-this.lastDroppedFrames,s=t-this.lastDecodedFrames,n=1e3*a/e,o=this.hls;if(o.trigger(tF.FPS_DROP,{currentDropped:a,currentDecoded:s,totalDroppedFrames:i}),n>0&&a>o.config.fpsDroppedMonitoringThreshold*s){let e=o.currentLevel;o.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===o.autoLevelCapping||o.autoLevelCapping>=e)&&(e-=1,o.trigger(tF.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:o.currentLevel}),o.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=r,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:r9,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:oV,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends az{constructor(e,t,i){super(e,t,i,"subt
28itle-stream-controller",tW),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tF.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tF.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=aF,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let i,{frag:r,success:a}=t;if(this.fragContextChanged(r)||(is(r)&&(this.fragPrevious=r),this.state=aF),!a)return;let s=this.tracksBuffered[this.currentTrackId];if(!s)return;let n=r.start;for(let e=0;e<s.length;e++)if(n>=s[e].start&&n<=s[e].end){i=s[e];break}let o=r.start+r.duration;i?i.end=o:(i={start:n,end:o},s.push(i)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null),this.media&&this.tick()}onBufferFlushing(e,t){let{startOffset:i,endOffset:r}=t;if(0===i&&r!==1/0){let e=r-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach(t=>{for(let i=0;i<t.length;){if(t[i].end<=e){t.shift();continue}if(t[i].start<e)t[i].start=e;else break;i++}}),this.fragmentTracker.removeFragmentsInRange(i,e,tW)}}onError(e,t){let i=t.frag;(null==i?void 0:i.type)===tW&&(t.details===tU.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==aU&&(this.state=aF))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&s3(this.levels,t)){this.levels=t.map(e=>new iJ(e));return}this.tracksBuffered=[],this.levels=t.map(e=>{let t=new iJ(e);return this.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,1/0,tW),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!(null!=(i=this.levels)&&i.length)||-1===this.currentTrackId)return void this.clearInterval();let r=this.levels[this.currentTrackId];null!=r&&r.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,r&&this.state!==aU&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i,r;let{currentTrackId:a,levels:s}=this,{details:n,id:o}=t;if(!s)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);let l=s[o];if(o>=s.length||!l)return;this.log(`Subtitle track ${o} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(n.live||null!=(i=l.details)&&i.live){if(n.deltaUpdateFailed)return;let e=this.mainDetails;if(!e){this.startFragRequested=!1;return}let t=e.fragments[0];l.details?0===(d=this.alignPlaylists(n,l.details,null==(r=this.levelLastLoaded)?void 0:r.details))&&t&&aA(n,d=t.start):n.hasProgramDateTime&&e.hasProgramDateTime?(aM(n,e),d=n.fragmentStart):t&&aA(n,d=t.start),e&&!this.startFragRequested&&this.setStartPosition(e,d)}l.details=n,this.levelLastLoaded=l,o===a&&(this.hls.trigger(tF.SUBTITLE_TRACK_UPDATED,{details:n,id:o,groupId:t.groupId}),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===aF&&(rt(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,r=t.decryptdata,a=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>
280&&null!=r&&r.key&&r.iv&&rV(r.method)){let e=performance.now();this.decrypter.decrypt(new Uint8Array(i),r.key.buffer,r.iv.buffer,rK(r.method)).catch(e=>{throw a.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e}).then(i=>{let r=performance.now();a.trigger(tF.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:r}})}).catch(e=>{this.warn(`${e.name}: ${e.message}`),this.state=aF})}}doTick(){if(!this.media){this.state=aF;return}if(this.state===aF){let{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;let{config:r}=this,a=this.getLoadPosition(),{end:s,len:n}=rx.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],a,r.maxBufferHole),o=i.details;if(n>this.hls.maxBufferLength+o.levelTargetDuration)return;let l=o.fragments,d=l.length,u=o.edge,h=null,c=this.fragPrevious;if(s<u){let e=r.maxFragLookUpTolerance;(h=rt(c,l,Math.max(l[0].start,s),s>u-e?0:e))||!c||!(c.start<l[0].start)||(h=l[0])}else h=l[d-1];if(!(h=this.filterReplacedPrimary(h,i.details)))return;let m=l[h.sn-o.startSN-1];if(m&&m.cc===h.cc&&this.fragmentTracker.getState(m)===rm&&(h=m),this.fragmentTracker.getState(h)===rm){let e=this.mapToInitFragWhenRequired(h);e&&this.loadFragment(e,i,s)}}}loadFragment(e,t,i){is(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new n6(this.tracksBuffered[this.currentTrackId]||[])}},subtitleTrackController:class extends s2{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null,t=nY(this.media.textTracks);for(let i=0;i<t.length;i++)if("hidden"===t[i].mode)e=t[i];else if("showing"===t[i].mode){e=t[i];break}let i=this.findTrackForTextTrack(e);this.subtitleTrack!==i&&this.setSubtitleTrack(i)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tF.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){let i=this.media;if(!i)return;let r=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,r||nY(i.textTracks).forEac
28h(e=>{nq(e)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Subtitle track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Subtitle track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.subtitleGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.subtitlePreference;if(!a&&t){this.selectDefaultTrack=!1;let i=i5(t,e);if(i>-1)a=e[i];else{let e=i5(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(tF.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:e}),-1!==r&&-1===this.trackId&&this.setSubtitleTrack(r)}}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let r=0;r<t.length;r++){let a=t[r];if((!i||a.default)&&(i||e)&&(!e||i8(a,e)))return r}if(e){for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++)if(s5(t[i],e))return i}return -1}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tG||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(-1===e.id)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&i8(e,i))return i;let r=i5(e,this.tracksInGroup);if(r>-1){let e=this.tracksInGroup[r];return this.setSubtitleTrack(r),e}{if(i)return null;let r=i5(e,t);if(r>-1)return t[r]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tF.SUBTITLE_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}toggleTrackModes(){let e,{media:t}=this;if(!t)return;let i=nY(t.textTracks),r=this.currentTrack;if(r&&((e=i.filter(e=>s5(r,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(i).forEach(t=>{"disabled"!==t.mode&&t!==e&&(t.mode="disabled")}),e){let t=this.subtitleDisplay?"showing":"hidden";e.mode!==t&&(e.mode=t)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!tM(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e]||null;if(this.trackId=e,this.currentTrack=r,this.toggleTrackModes(),!r)return void this.hls.trigger(tF.SUBTITLE_TRACK_SWITCH,{id:e});let a=!!r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:s,groupId:n="",name:o,type:l,url:d}=r;this.hls.trigger(tF.SUBTITLE_TRACK_SWITCH,{id:s,groupId:n,name:o,type:l,url:d});let u=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(u)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oH(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}}
28,e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this),e.on(tF.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(tF.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tF.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this),e.off(tF.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(tF.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tF.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new oF(this,"textTrack1"),t=new oF(this,"textTrack2"),i=new oF(this,"textTrack3"),r=new oF(this,"textTrack4");this.cea608Parser1=new om(1,e,t),this.cea608Parser2=new om(3,i,r)}addCues(e,t,i,r,a){let s=!1;for(let e=a.length;e--;){var n,o;let r=a[e],l=(n=r[0],o=r[1],Math.min(o,i)-Math.max(n,t));if(l>=0&&(r[0]=Math.min(r[0],t),r[1]=Math.max(r[1],i),s=!0,l/(i-t)>.5))return}if(s||a.push([t,i]),this.config.renderTextTracksNatively){let a=this.captionsTracks[e];this.Cues.newCue(a,t,i,r)}else{let a=this.Cues.newCue(null,t,i,r);this.hls.trigger(tF.CUES_PARSED,{type:"captions",cues:a,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){let{unparsedVttFrags:n}=this;i===tV&&(this.initPTS[t.cc]={baseTime:r,timescale:a,trackId:s}),n.length&&(this.unparsedVttFrags=[],n.forEach(e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(tF.FRAG_LOADED,e):this.hls.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let r=0;r<i.textTracks.length;r++){let a=i.textTracks[r];if(o$(a,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return a}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:r}=this,{label:a,languageCode:s}=t[e],n=this.getExistingTrack(a,s);if(n)i[e]=n,nq(i[e]),nK(i[e],r);else{let t=this.createTextTrack("captions",a,s);t&&(t[e]=!0,i[e]=t)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(tF.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(e,t,i){let r=this.media;if(r)return r.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){let i=!!t.transferMedia;if(this.media=null,i)return;let{captionsTracks:r}=this;Object.keys(r).forEach(e=>{nq(r[e]),delete r[e]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oH(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;
28if(t)for(let e=0;e<t.length;e++)nq(t[e])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],r=i.some(e=>e.textCodec===oI);if(this.config.enableWebVTT||r&&this.config.enableIMSC1){if(s3(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let e=this.media,t=e?nY(e.textTracks):null;if(this.tracks.forEach((e,i)=>{let r;if(t){let i=null;for(let r=0;r<t.length;r++)if(t[r]&&o$(t[r],e)){i=t[r],t[r]=null;break}i&&(r=i)}if(r)nq(r);else{let t=oB(e);(r=this.createTextTrack(t,e.name,e.lang))&&(r.mode="disabled")}r&&this.textTracks.push(r)}),null!=t&&t.length){let e=t.filter(e=>null!==e).map(e=>e.label);e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let e=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}));this.hls.trigger(tF.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{let t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;let i=`textTrack${t[1]}`,r=this.captionsProperties[i];r&&(r.label=e.name,e.lang&&(r.languageCode=e.lang),r.media=e)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===tV){var i,r;let{cea608Parser1:e,cea608Parser2:a,lastSn:s}=this,{cc:n,sn:o}=t.frag,l=null!=(i=null==(r=t.part)?void 0:r.index)?i:-1;e&&a&&(o!==s+1||o===s&&l!==this.lastPartIndex+1||n!==this.lastCc)&&(e.reset(),a.reset()),this.lastCc=n,this.lastSn=o,this.lastPartIndex=l}}onFragLoaded(e,t){let{frag:i,payload:r}=t;if(i.type===tW)if(r.byteLength){let e=i.decryptdata,a="stats"in t;if(null==e||!e.encrypted||a){let e=this.tracks[i.level],a=this.vttCCs;a[i.cc]||(a[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===oI?this._parseIMSC1(i,r):this._parseVTTs(t)}}else this.hls.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;ox(t,this.initPTS[e.cc],t=>{this._appendCues(t,e.level),i.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},t=>{i.logger.log(`Failed to parse IMSC1: ${t}`),i.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})}_parseVTTs(e){var t,i,r,a,s,n,o,l;let d,u,h,c,m,f,p,g,E,{frag:y,payload:b}=e,{initPTS:T,unparsedVttFrags:A}=this,_=T.length-1;if(!T[y.cc]&&-1===_)return void A.push(e);let S=this.hls;i=null!=(t=y.initSegment)&&t.data?ik(y.initSegment.data,new Uint8Array(b)).buffer:b,r=this.initPTS[y.cc],a=this.vttCCs,s=y.cc,n=y.start,o=e=>{this._appendCues(e,y.level),S.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:y})},l=t=>{let i="Missing initPTS for VTT MPEGTS"===t.message;i?A.push(e):this._fallbackToIMSC1(y,b),S.logger.log(`Failed to parse VTT cue: ${t}`),i&&_>y.cc||S.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:y,error:t})},u=new oA,h=t5(new Uint8Array(i)).trim().replace(o_,"\n").split("\n"),c=[],m=r?function(e,t=1){return sN(e,9e4,1/t)}(r.baseTime,r.timescale):0,f="00:00.000",p=0,g=0,E=!0,u.oncue=function(e){let t=a[s],i=a.ccOffset,o=(p-m)/9e4;if(null!=t&&t.new&&(void 0!==g?i=a.ccOffset=t.start:oR(a,s,o)),o){if(!r){d=Error("Missing initPTS for VTT MPEGTS");return}i=o-a.presentationOffset}let l=e.endTime-e.startTime,u=sV((e.startTime+i-g)*9e4,9e4*n)/9e4;e.startTime=Math.max(u,0),e.endTime=Math.max(u+l,0);let h=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(h)),e.id||(e.id=oL(e.startTime,e.endTime,h)),e.endTime>0&&c.push(e)},u.onparsingerror=function(e){d=e},u.onflush=function(){d?l(d):o(c)},h.forEach(e=>{if(E)if(oS(e,"X-TIMESTAMP-MAP=")){E=!1,e.slice(16).split(",").forEach(e=>{oS(e,"LOCAL:")?f=e.slice(6):oS(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))});try{g=ok(f)/1e3}catch(e){d=e}return}else""===e&&(E=!1);u.parse(e+"\n")}),u.flush()}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||ox(t,this.initPTS[e.cc],()=>{i.textCodec=oI,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let i=this.textTracks[t];if(!i||"disabled"===i.mode)return;
28e.forEach(e=>nW(i,e))}else{let r=this.tracks[t];if(!r)return;let a=r.default?"default":"subtitles"+t;i.trigger(tF.CUES_PARSED,{type:"subtitles",cues:e,track:a})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===tW&&this.onFragLoaded(tF.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:i,samples:r}=t;if(i.type!==tV||"NONE"!==this.closedCaptionsForLevel(i))for(let e=0;e<r.length;e++){let t=r[e].bytes;if(t){this.cea608Parser1||this.initCea608Parsers();let i=this.extractCea608Data(t);this.cea608Parser1.addData(r[e].pts,i[0]),this.cea608Parser2.addData(r[e].pts,i[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:r,type:a}){let{media:s}=this;if(s&&!(s.currentTime<i)){if(!a||"video"===a){let{captionsTracks:e}=this;Object.keys(e).forEach(r=>nj(e[r],t,i))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==r){let{textTracks:e}=this;Object.keys(e).forEach(i=>nj(e[i],t,r))}}}extractCea608Data(e){let t=[[],[]],i=31&e[0],r=2;for(let a=0;a<i;a++){let i=e[r++],a=127&e[r++],s=127&e[r++];if((0!==a||0!==s)&&(4&i)!=0){let e=3&i;(0===e||1===e)&&(t[e].push(a),t[e].push(s))}}return t}},audioStreamController:class extends az{constructor(e,t,i){super(e,t,i,"audio-stream-controller",tK),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tF.BUFFER_RESET,this.onBufferReset,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tF.BUFFER_RESET,this.onBufferReset,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){if(i===tV){let e=t.cc,i=this.fragCurrent;if(this.initPTS[e]={baseTime:r,timescale:a,trackId:s},this.log(`InitPTS for cc: ${e} found from main: ${r/a} (${r}/${a}) trackId: ${s}`),this.mainAnchor=t,this.state===aj){let i=this.waitingData;(i||this.loadingParts)&&(!i||i.frag.cc===e)||this.syncWithAnchor(t,null==i?void 0:i.frag)}else!this.hls.hasEnoughToStart&&i&&i.cc!==e?(i.abortRequests(),this.syncWithAnchor(t,i)):this.state===aF&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i;let r=(null==(i=this.mainFragLoading)?void 0:i.frag)||null;if(t&&(null==r?void 0:r.cc)===t.cc)return;let a=(r||e).cc,s=rr(this.getLevelDetails(),a,this.getLoadPosition());s&&(this.log(`Syncing with main frag at ${s.start} cc ${s.cc}`),this.startFragRequested=!1,this.nextLoadPosition=s.start,this.resetLoadingState(),this.state===aF&&this.doTickIdle())}
28startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=aU;return}let i=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),i>0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=aF):this.state=aG,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case aF:this.doTickIdle();break;case aG:{let{levels:e,trackId:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(r&&!this.waitForLive(i)){if(this.waitForCdnTuneIn(r))break;this.state=aj}break}case aH:this.checkRetryDate();break;case aj:{let e=this.waitingData;if(e){let{frag:t,part:i,cache:r,complete:a}=e,s=this.mainAnchor;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.state=a$;let e={frag:t,part:i,payload:r.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),a&&super._handleFragmentLoadComplete(e)}else s&&s.cc!==e.frag.cc&&this.syncWithAnchor(s,e.frag)}else this.state=aF}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){let{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;let{hls:t,levels:i,media:r,trackId:a}=this,s=t.config;if(!this.buffering||!r&&!this.primaryPrefetch&&(this.startFragRequested||!s.startFragPrefetch)||!(null!=i&&i[a]))return;let n=i[a],o=n.details;if(!o||this.waitForLive(n)||this.waitForCdnTuneIn(o)){this.state=aG,this.startFragRequested=!1;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,it,tK));let d=this.getFwdBufferInfo(l,tK);if(null===d)return;if(!this.switchingTrack&&this._streamEnded(d,o)){t.trigger(tF.BUFFER_EOS,{type:"audio"}),this.state=aW;return}let u=d.len,h=t.maxBufferLength,c=o.fragments,m=c[0].start,f=this.getLoadPosition(),p=this.flushing?f:d.end;if(this.switchingTrack&&r&&o.PTSKnown&&f<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=m+.05),u>=h&&!this.switchingTrack&&p<c[c.length-1].start)return;let g=this.getNextFragment(p,o);if(g&&this.isLoopLoading(g,p)&&(g=this.getNextFragmentLoopLoading(g,o,d,tV,h)),!g){this.bufferFlushed=!0;return}let E=(null==(e=this.mainFragLoading)?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&E&&is(g)&&!g.endList&&(!o.live||!this.loadingParts&&p<this.hls.liveSyncPosition)&&("OK"===this.fragmentTracker.getState(E)&&(this.mainFragLoading=E=null),E&&is(E))){if(g.start>E.end){let e=this.fragmentTracker.getFragAtPos(p,tV);e&&e.end>E.end&&(E=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(g.start>E.end)return}this.loadFragment(g,n,p)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new iJ(e))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:r}=this;r&&(r.abortRequests(),this.removeUnbufferedFrags(r.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==aU&&(this.setInterval(100),this.state=aF,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;let i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(tF.AUDIO_TRACK_LOADED,i))}onAudioTrackLoaded(e,t){var i,r;let{levels:a}=this,{details:s,id:n,groupId:o,track:l}=t;if(!a)return void this.warn(`Audio tracks reset while loading track ${n} "${l.name}" of "${o}"`);let d=this.mainDetails;if(!d||s.endCC>d.endCC||d.expired){this.cachedTrackLoadedData=t,this.state!==aU&&(this.state=aG);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${n} "${l.name}" of "${o}" loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:${s.totalduration}`);let u=a[n],h=0;
28if(s.live||null!=(i=u.details)&&i.live){if(this.checkLiveUpdate(s),s.deltaUpdateFailed)return;u.details&&(h=this.alignPlaylists(s,u.details,null==(r=this.levelLastLoaded)?void 0:r.details)),s.alignedSliding||(ax(s,d),s.alignedSliding||aM(s,d),h=s.fragmentStart)}u.details=s,this.levelLastLoaded=u,this.startFragRequested||this.setStartPosition(d,h),this.hls.trigger(tF.AUDIO_TRACK_UPDATED,{details:s,id:n,groupId:t.groupId}),this.state!==aG||this.waitForCdnTuneIn(s)||(this.state=aF),this.tick()}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{config:s,trackId:n,levels:o}=this;if(!o)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let l=o[n];if(!l)return void this.warn("Audio track is undefined on fragment load progress");let d=l.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let u=s.defaultAudioCodec||l.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new s1(this.hls,tK,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let c=this.initPTS[i.cc],m=null==(t=i.initSegment)?void 0:t.data;if(void 0!==c){let e=r?r.index:-1,t=new rw(i.level,i.sn,i.stats.chunkCount,a.byteLength,e,-1!==e);h.push(a,m,u,"",i,r,d.totalduration,!1,t,c)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${n}`);let{cache:e}=this.waitingData=this.waitingData||{frag:i,part:r,cache:new aX,complete:!1};e.push(new Uint8Array(a)),this.state!==aU&&(this.state=aj)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===tV&&is(t.frag)&&(this.mainFragLoading=t,this.state===aF&&this.tick())}onFragBuffered(e,t){let{frag:i,part:r}=t;if(i.type!==tK){this.audioOnly||i.type!==tV||i.elementaryStreams.video||i.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(i))return void this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);if(is(i)){this.fragPrevious=i;let e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(tF.AUDIO_TRACK_SWITCHED,tQ({},e)))}this.fragBufferedComplete(i,r),this.media&&this.tick()}onError(e,t){var i;if(t.fatal){this.state=aq;return}switch(t.details){case tU.FRAG_GAP:case tU.FRAG_PARSING_ERROR:case tU.FRAG_DECRYPT_ERROR:case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tK,t);break;case tU.AUDIO_TRACK_LOAD_ERROR:case tU.AUDIO_TRACK_LOAD_TIMEOUT:case tU.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aG||(null==(i=t.context)?void 0:i.type)!==tH||(this.state=aF);break;case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case tU.BUFFER_FULL_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,1/0,"audio"));break;case tU.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==ii&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ii){this.flushing=!1,this.bufferFlushed=!0,this.state===aW&&(this.state=aF);let e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,tK),this.tick())}}_handleTransmuxComplete(e){var t;let i="audio",{hls:r}=this,{remuxResult:a,chunkMeta:s}=e,n=this.getCurrentContext(s);if(!n)return void this.resetWhenMissingContext(s);let{frag:o,part:l,level:d}=n,{details:u}=d,{audio:h,text:c,id3:m,initSegment:f}=a;if(this.fragContextChanged(o)||!u)return void this.fragmentTracker.removeFragment(o);if(this.state=aV,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),null!=f&&f.tracks){let e=o.initSegment||o;if(this.unhandledEncryptionError(f,o))return;this._bufferInitSegment(d,f.tracks,e,s),r.trigger(tF.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:f.tracks})}if(h){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=h;l&&(l.elementaryStreams[it]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),o.setElementaryStreamInfo(it,e,t,i,r),this.bufferFragmentData(h,o,l,s)}if(null!=m&&null!=(t=m.samples)&&t.length){let e=tY({id:i,frag:o,details:u},m);r.trigger(tF.FRAG_PARSING_METADATA,e)}if(c){let e=tY({id:i,frag:o,details:u},c);r.trigger(tF.FRAG_PARSING_USERDATA,e)}}_bufferInitSegment(e,t,i,r){if(this.state!==aV||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let a=t.audio;a.id=tK;let s=e.audioCodec;this.log(`Init audio buffer, container:${a.container}, codecs[level/parsed]=[${s}/${a.codec}]`),s&&1===s.split(",").length&&(a.levelCodec=s),this.hls.trigger(tF.BUFFER_CODECS,t);let n=a.initSegment;if(null!=n&&n.byteLength){let e={type:"audio",frag:i,part:null,chunkMeta:r,parent:i.type,data:n};this.hls.trigger(tF.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);if(this.switchingTrack||r===rm||r===rp){var a;if(is(e))if(null!=(a=t.details)&&a.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=aj;let i=this.mainDetails;i&&i.fragmentStart!==t.details.fragmentStart&&aM(t.details,i)}else super.loadFragment(e,t,i);else this._loadInitSegment(e,t)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n}=this.bufferedTrack;i8({name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n},e,i9)||(i7(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,1/0,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(tF.AUDIO_TRACK_SWITCHED,tQ({},e))}},audioTrackController:class extends s2{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tF.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Audio track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Audio track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.audioGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>
28{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.audioPreference;if(!a&&t){let i=i5(t,e,i9);if(i>-1)a=e[i];else{let e=i5(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(tF.AUDIO_TRACKS_UPDATED,{audioTracks:e});let n=this.trackId;if(-1!==r&&-1===n)this.setAudioTrack(r);else if(e.length&&-1===n){var s;let t=Error(`No audio track selected for current audio group-ID(s): ${null==(s=this.groupIds)?void 0:s.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tH||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let a=this.allAudioTracks;
28if(this.selectDefaultTrack=!1,a.length){let s=this.currentTrack;if(s&&i8(e,s,i9))return s;let n=i5(e,this.tracksInGroup,i9);if(n>-1){let e=this.tracksInGroup[n];return this.setAudioTrack(n),e}if(s){var i,r;let s,n,o,l,d,u,h=t.loadLevel;-1===h&&(h=t.firstAutoLevel);let c=(i=t.levels,s=i[r=h],(n=i.reduce((e,t,i)=>{let r=t.uri;return(e[r]||(e[r]=[])).push(i),e},{})[s.uri]).length>1&&(r=Math.max.apply(Math,n)),o=s.videoRange,l=s.frameRate,d=s.codecSet.substring(0,4),(u=i6(i,r,t=>{if(t.videoRange!==o||t.frameRate!==l||t.codecSet.substring(0,4)!==d)return!1;let i=t.audioGroups;return i5(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),i9)>-1}))>-1?u:i6(i,r,t=>{let i=t.audioGroups;return i5(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),i9)>-1}));if(-1===c)return null;t.nextLoadLevel=c}if(e.channels||e.audioCodec){let t=i5(e,a);if(t>-1)return a[t]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a||(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(tF.AUDIO_TRACK_SWITCHING,tQ({},r)),a))return;let s=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(s)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let r=t[i];if((!this.selectDefaultTrack||r.default)&&(!e||i8(e,r,i9)))return i}if(e){let{name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o}=e;for(let e=0;e<t.length;e++)if(i8({name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o},t[e],i9))return e;for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&i7(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tF.AUDIO_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}},emeController:n$,cmcdController:class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:"m",su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{let{frag:t,part:i}=e,r=this.hls.levels[t.level],a=this.getObjectType(t),s={d:1e3*(i||t).duration,ot:a};("v"===a||"a"===a||"av"==a)&&(s.br=r.bitrate/1e3,s.tb=this.getTopBandwidth(a)/1e3,s.bl=this.getBufferLength(a));let n=i?this.getNextPart(i):this.getNextFrag(t);null!=n&&n.url&&n.url!==t.url&&(s.nor=n.url),this.apply(e,s)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHED,this.onMediaDetached,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHED,this.onMediaDetached,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,r;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(r=t.tracks.video)?void 0:r.buffer}createData(){var e;return{v:1,sf:"h",sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){tY(t,this.createData());let i="i"===t.ot||"v"===t.ot||"av"===t.ot;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);let{includeKeys:r}=this;r&&(t=Object.keys(t).reduce((e,i)=>(r.includes(i)&&(e[i]=t[i]),e),{}));let a={baseUrl:e.url};if(this.useHeaders){var s;e.headers||(e.headers={}),s=e.headers,tY(s,function(e,t={}){let i={};return e?Object.entries(function(e,t){let i={};if(!e)return i;let r=Object.keys(e),a=t?Object.keys(t).reduce((e,i)=>{var r;return null==(r=t[i])||r.forEach(t=>e[t]=i),e},{}):{};return r.reduce((t,i)=>{var r;let s=ny[i]||a[i]||ng;return(null!=(r=t[s])?r:t[s]={})[i]=e[i],t},i)}
28(nN(e,t),null==t?void 0:t.customHeaderMap)).reduce((e,[t,i])=>{let r=nf(i,{whitespace:!1});return r&&(e[t]=r),e},i):i}(t,a))}else e.url=function(e,t,i){let r=function(e,t={}){if(!e)return"";let i=function(e,t={}){return e?encodeURIComponent(function(e,t={}){return e?nf(nN(e,t),{whitespace:!1}):""}(e,t)):""}(e,t);return`CMCD=${i}`}(t,i);if(!r)return e;if(nU.test(e))return e.replace(nU,r);let a=e.includes("?")?"&":"?";return`${e}${a}${r}`}(e.url,t,a)}getNextFrag(e){var t;let i=null==(t=this.hls.levels[e.level])?void 0:t.details;if(i){let t=e.sn-i.startSN;return i.fragments[t+1]}}getNextPart(e){var t;let{index:i,fragment:r}=e,a=null==(t=this.hls.levels[r.level])||null==(t=t.details)?void 0:t.partList;if(a){let{sn:e}=r;for(let t=a.length-1;t>=0;t--){let r=a[t];if(r.index===i&&r.fragment.sn===e)return a[t+1]}}}getObjectType(e){let{type:t}=e;return"subtitle"===t?"tt":"initSegment"===e.sn?"i":"audio"===t?"a":"main"===t?this.hls.audioTracks.length?"v":"av":void 0}getTopBandwidth(e){let t,i=0,r=this.hls;if("a"===e)t=r.audioTracks;else{let e=r.maxAutoLevel,i=e>-1?e+1:r.levels.length;t=r.levels.slice(0,i)}return t.forEach(e=>{e.bitrate>i&&(i=e.bitrate)}),i>0?i:NaN}getBufferLength(e){let t=this.media,i="a"===e?this.audioBuffer:this.videoBuffer;return i&&t?1e3*rx.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len:NaN}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}},contentSteeringController:class extends tX{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(t=>t!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:i}=t;null!==i&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((null==i?void 0:i.action)===2&&1===i.flags){let e=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:i,pathwayId:r,type:s}=t.context;i&&e?a=this.getPathwayForGroupId(i,s,a):r&&(a=r)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!r&&e&&(r=this.pathways()),r&&r.length>1&&(this.updatePathwayPriority(r),i.resolved=this.pathwayId!==a),t.details!==tU.BUFFER_APPEND_ERROR||t.fatal?i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${e?e.length:e} priorities: ${i1(r)} penalized: ${i1(this.penalizedPathways)}`):i.resolved=!0}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){let t;this._pathwayPriority=e;let i=this.penalizedPathways,r=performance.now();
28Object.keys(i).forEach(e=>{r-i[e]>3e5&&delete i[e]});for(let r=0;r<e.length;r++){let a=e[r];if(a in i)continue;if(a===this.pathwayId)return;let s=this.hls.nextLoadLevel,n=this.hls.levels[s];if((t=this.getLevelsForPathway(a)).length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,aR(t),this.hls.trigger(tF.LEVELS_UPDATED,{levels:t});let e=this.hls.levels[s];n&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==n.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==n.bitrate&&this.log(`Unstable Pathways change from bitrate ${n.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=s);break}}}getPathwayForGroupId(e,t,i){let r=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i<r.length;i++)if(t===tH&&r[i].hasAudioGroup(e)||t===tG&&r[i].hasSubtitleGroup(e))return r[i].pathwayId;return i}clonePathways(e){let t=this.levels;if(!t)return;let i={},r={};e.forEach(e=>{let{ID:a,"BASE-ID":s,"URI-REPLACEMENT":n}=e;if(t.some(e=>e.pathwayId===a))return;let o=this.getLevelsForPathway(s).map(e=>{let t=new rF(e.attrs);t["PATHWAY-ID"]=a;let s=t.AUDIO&&`${t.AUDIO}_clone_${a}`,o=t.SUBTITLES&&`${t.SUBTITLES}_clone_${a}`;s&&(i[t.AUDIO]=s,t.AUDIO=s),o&&(r[t.SUBTITLES]=o,t.SUBTITLES=o);let l=nB(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",n),d=new iJ({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t<e.audioGroups.length;t++)d.addGroupId("audio",`${e.audioGroups[t]}_clone_${a}`);if(e.subtitleGroups)for(let t=1;t<e.subtitleGroups.length;t++)d.addGroupId("text",`${e.subtitleGroups[t]}_clone_${a}`);return d});t.push(...o),nF(this.audioTracks,i,n,a),nF(this.subtitleTracks,r,n,a)})}loadSteeringManifest(e){let t,i=this.hls.config,r=i.loader;this.loader&&this.loader.destroy(),this.loader=new r(i);try{t=new self.URL(e)}catch(t){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if("data:"!==t.protocol){let e=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+e)}let a={responseType:"json",url:t.href},s=i.steeringManifestLoadPolicy.default,n=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0};this.log(`Requesting steering manifest: ${t}`),this.loader.load(a,o,{onSuccess:(e,i,r,a)=>{this.log(`Loaded steering manifest: "${t}"`);let s=e.data;if((null==s?void 0:s.VERSION)!==1)return void this.log(`Steering VERSION ${s.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=s.TTL;let{"RELOAD-URI":n,"PATHWAY-CLONES":o,"PATHWAY-PRIORITY":l}=s;if(n)try{this.uri=new self.URL(n,t).href}catch(e){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${n}`);return}this.scheduleRefresh(this.uri||r.url),o&&this.clonePathways(o);let d={steeringManifest:s,url:t.toString()};this.hls.trigger(tF.STEERING_MANIFEST_LOADED,d),l&&this.updatePathwayPriority(l)},onError:(e,t,i,r)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code){this.enabled=!1,this.log(`Steering manifest ${t.url} no longer available`);return}let a=1e3*this.timeToLoad;if(429===e.code){let e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){let t=e.getResponseHeader("Retry-After");t&&(a=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`);return}this.scheduleRefresh(this.uri||t.url,a)},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}})}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var t;let i=null==(t=this.hls)?void 0:t.media;i&&!i.ended?this.loadSteeringManifest(e):this.scheduleRefresh(e,1e3*this.timeToLoad)},t)}},interstitialsController:class extends tX{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1}
28,this.onSeeking=()=>{var e,t;let i=this.currentTime;if(void 0===i||this.playbackDisabled||!this.schedule)return;let r=i-this.timelinePos;if(Math.abs(r)<1/7056e5)return;let a=r<=-.01;this.timelinePos=i,this.bufferedPos=i;let s=this.playingItem;if(!s)return void this.checkBuffer();if(a&&this.schedule.resetErrorsInRange(i,i-r)&&this.updateSchedule(!0),this.checkBuffer(),a&&i<s.start||i>=s.end){let t=this.findItemIndex(s),r=this.schedule.findItemIndexAtTime(i);if(-1===r&&(r=t+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${i} (resolving from ${t} to ${r})`)),!this.isInterstitial(s)&&null!=(e=this.media)&&e.paused&&(this.shouldPlay=!1),!a&&r>t){let e=this.schedule.findJumpRestrictedIndex(t+1,r);if(e>t)return void this.setSchedulePosition(e)}this.setSchedulePosition(r);return}let n=this.playingAsset;if(!n){if(this.playingLastItem&&this.isInterstitial(s)){let e=s.event.assetList[0];e&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,e))}return}let o=n.timelineStart,l=n.duration||0;(a&&i<o||i>=o+l)&&(null!=(t=s.event)&&t.appendInPlace&&(this.clearAssetPlayers(s.event,s),this.flushFrontBuffer(i)),this.setScheduleToAssetAtTime(i,n))},this.onTimeupdate=()=>{let e=this.currentTime;if(void 0===e||this.playbackDisabled||!(e>this.timelinePos))return;this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();let t=this.playingItem;if(!t||this.playingLastItem)return;if(e>=t.end){this.timelinePos=t.end;let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}let i=this.playingAsset;!i||e>=i.timelineStart+(i.duration||0)&&this.setScheduleToAssetAtTime(e,i)},this.onScheduleUpdate=(e,t)=>{let i=this.schedule;if(!i)return;let r=this.playingItem,a=i.events||[],s=i.items||[],n=i.durations,o=e.map(e=>e.identifier),l=!!(a.length||o.length);(l||t)&&this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a} 29Schedule: ${s.map(e=>n4(e))} pos: ${this.timelinePos}`),o.length&&this.log(`Removed events ${o}`);let d=null,u=null;r&&(d=this.updateItem(r,this.timelinePos),this.itemsMatch(r,d)?this.playingItem=d:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let h=this.bufferingItem;if(h&&(u=this.updateItem(h,this.bufferedPos),this.itemsMatch(h,u)?this.bufferingItem=u:h.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(h.event,null))),e.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(e=>{if(e.interstitial.appendInPlace){let t=e.assetItem.timelineStart,i=e.timelineOffset-t;if(i)try{e.timelineOffset=t}catch(r){Math.abs(i)>.025&&this.warn(`${r} ("${e.assetId}" ${e.timelineOffset}->${t})`)}}}),l||t){if(this.hls.trigger(tF.INTERSTITIALS_UPDATED,{events:a.slice(0),schedule:s.slice(0),durations:n,removedIds:o}),this.isInterstitial(r)&&o.includes(r.event.identifier)){this.warn(`Interstitial "${r.event.identifier}" removed while playing`),this.primaryFallback(r.event);return}r&&this.trimInPlace(d,r),h&&u!==d&&this.trimInPlace(u,h),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new n5(e),this.schedule=new n3(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;e&&(e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tF.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(tF.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(tF.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(tF.MEDIA_ENDED,this.onMediaEnded,this),e.on(tF.ERROR,this.onError,this),e.on(tF.DESTROYING,this.onDestroying,this))}unregisterListeners(){let e=this.hls;
29e&&(e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tF.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(tF.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(tF.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(tF.MEDIA_ENDED,this.onMediaEnded,this),e.off(tF.ERROR,this.onError,this),e.off(tF.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null==(e=this.getBufferingPlayer())||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.getBufferingPlayer())||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){aO(e,"play",this.onPlay),aO(e,"pause",this.onPause),aO(e,"seeking",this.onSeeking),aO(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){let i=this.media=t.media;aP(i,"seeking",this.onSeeking),aP(i,"timeupdate",this.onTimeupdate),aP(i,"play",this.onPlay),aP(i,"pause",this.onPause)}onMediaAttached(e,t){let i=this.effectivePlayingItem,r=this.detachedData;if(this.detachedData=null,null===i)this.checkStart();else if(!r){this.clearScheduleState();let e=this.findItemIndex(i);this.setSchedulePosition(e)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(this.media=null,!i&&(r&&this.removeMediaListeners(r),this.detachedData)){let e=this.getBufferingPlayer();e&&(this.log(`Removing schedule state for detachedData and ${e}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=t=>t?e.getAssetPlayer(t.identifier):t,i=(i,a,s,n,o)=>{if(i){let l=i[a].start,d=i.event;if(d){if("playout"===a||d.timelineOccupancy!==nQ.Point){let e=t(s);(null==e?void 0:e.interstitial)===d&&(l+=e.assetItem.startOffset+e[o])}}else l+=("bufferedPos"===n?r():e[n])-i.start;return l}return 0},r=()=>{let t=e.bufferedPos;return t===Number.MAX_VALUE?a("primary"):Math.max(t,0)},a=t=>{var i,r;return null!=(i=e.primaryDetails)&&i.live?e.primaryDetails.edge:(null==(r=e.schedule)?void 0:r.durations[t])||0},s=(r,a)=>{var s,n;let o=e.effectivePlayingItem;if(null!=o&&null!=(s=o.event)&&s.restrictions.skip||!e.schedule)return;e.log(`seek to ${r} "${a}"`);let l=e.effectivePlayingItem,d=e.schedule.findItemIndexAtTime(r,a),u=null==(n=e.schedule.items)?void 0:n[d],h=e.getBufferingPlayer(),c=null==h?void 0:h.interstitial,m=null==c?void 0:c.appendInPlace,f=l&&e.itemsMatch(l,u);if(l&&(m||f)){let s=t(e.playingAsset),n=(null==s?void 0:s.media)||e.primaryMedia;if(n){let t="primary"===a?n.currentTime:i(l,a,e.playingAsset,"timelinePos","currentTime"),o=r-t,d=(m?t:n.currentTime)+o;if(d>=0&&(!s||m||d<=s.duration)){n.currentTime=d;return}}}if(u){let t=r;if("primary"!==a){let e=r-u[a].start;t=u.start+e}let i=!e.isInterstitial(u);if((!e.isInterstitial(l)||l.event.appendInPlace)&&(i||u.event.appendInPlace)){let i=e.media||(m?null==h?void 0:h.media:null);i&&(i.currentTime=t)}else if(l){let s=e.findItemIndex(l);if(d>s){let t=e.schedule.findJumpRestrictedIndex(s+1,d);if(t>s)return void e.setSchedulePosition(t)}let n=0;if(i)e.timelinePos=t,e.checkBuffer();else{let e=u.event.assetList,t=r-(u[a]||u).start;for(let i=e.length;i--;){let r=e[i];if(r.duration&&t>=r.startOffset&&t<r.startOffset+r.duration){n=i;break}}}e.setSchedulePosition(d,n)}}},n=()=>{let t=e.effectivePlayingItem;if(e.isInterstitial(t))return t;let i=e.bufferingItem||e.waitingItem;return e.isInterstitial(i)?i:null},o={get bufferedEnd(){let t=e.bufferingItem||e.waitingItem,r=e.bufferingItem;if(r&&r===t){var l;return i(r,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-r.playout.start||(null==(l=e.bufferingAsset)?void 0:l.startOffset)||0}return 0},get currentTime(){let t=n(),r=e.effectivePlayingItem;if(r&&r===t)return i(r,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-r.playout.start;return 0},set currentTime(time){let t=n(),i=e.effectivePlayingItem;i&&i===t&&s(time+i.playout.start,"playout")},get duration(){let e=n();if(e)return e.playout.end-e.playout.start;return 0},get assetPlayers(){var d;let t=null==(d=n())?void 0:d.event.assetList;if(t)return t.map(t=>e.getAssetPlayer(t.identifier));return[]},get playingIndex(){var u;let t=null==(u=n())?void 0:u.event;if(t&&e.effectivePlayingAsset)return t.findAssetIndex(e.effectivePlayingAsset);return -1},get scheduleItem(){return n()}};return this.manager={get events(){var h;return(null==(h=e.schedule)||null==(h=h.events)?void 0:h.slice(0))||[]},get schedule(){var c;return(null==(c=e.schedule)||null==(c=c.items)?void 0:c.slice(0))||[]},get interstitialPlayer(){if(n())return o;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return e.bufferingItem||e.waitingItem},get bufferingIndex(){let t=e.bufferingItem||e.waitingItem;return e.findItemIndex(t)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let t=e.effectivePlayingItem;return e.findItemIndex(t)},primary:{get bufferedEnd(){return r()},get currentTime(){let t=e.timelinePos;return t>0?t:0},set currentTime(time){s(time,"primary")},get duration(){return a("primary")},get seekableStart(){var m;return(null==(m=e.primaryDetails)?void 0:m.fragmentStart)||0}},integrated:{get bufferedEnd(){return i(e.bufferingItem||e.waitingItem,"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(time){s(time,"integrated")},get duration(){return a("integrated")},get seekableStart(){var f;return((t,i)=>{var r,a;if(0!==t&&"primary"!==i&&null!=(r=e.schedule)&&r.length){let r=e.schedule.findItemIndexAtTime(t),s=null==(a=e.sc
29hedule.items)?void 0:a[r];if(s)return t+(s[i].start-s.start)}return t})((null==(f=e.primaryDetails)?void 0:f.fragmentStart)||0,"integrated")}},skip:()=>{let t=e.effectivePlayingItem,i=null==t?void 0:t.event;if(i&&!i.restrictions.skip){let r=e.findItemIndex(t);i.appendInPlace?s(t.playout.start+t.event.duration+.001,"playout"):e.advanceAfterAssetEnded(i,r,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let t=this.playingItem,i=null==(e=this.schedule)?void 0:e.items;return!!this.playbackStarted&&!!t&&!!i&&this.findItemIndex(t)===i.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){var e,t;if(null===this.mediaSelection)return;let i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let r=this.media;!r&&null!=(e=this.bufferingItem)&&null!=(e=e.event)&&e.appendInPlace&&(r=this.primaryMedia);let a=null==(t=r)?void 0:t.currentTime;if(void 0!==a&&tM(a))return a}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!!(null!=e&&e.event)}retreiveMediaSource(e,t){let i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t)}transferMediaFromPlayer(e,t){let i=e.interstitial.appendInPlace,r=e.media;if(i&&r===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&r){this.detachedData={media:r};return}let i=e.transferMedia();this.log(`transfer MediaSource from ${e} ${i1(i)}`),this.detachedData=i}else t&&r&&(this.shouldPlay||(this.shouldPlay=!r.paused))}transferMediaTo(e,t){var i,r;let a;if(e.media===t)return;let s=null,n=this.hls,o=e!==n,l=o&&e.interstitial.appendInPlace,d=null==(i=this.detachedData)?void 0:i.mediaSource;if(n.media)l&&(s=n.transferMedia(),this.detachedData=s),a="Primary";else if(d){let e=this.getBufferingPlayer();e?(s=e.transferMedia(),a=`${e}`):a="detached MediaSource"}else a="detached media";if(!s){if(d)s=this.detachedData,this.log(`using detachedData: MediaSource ${i1(s)}`);else if(!this.detachedData||n.media===t){let e=this.playerQueue;e.length>1&&e.forEach(e=>{if(o&&e.interstitial.appendInPlace!==l){let t=e.interstitial;this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${t}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}let u=s&&"mediaSource"in s&&(null==(r=s.mediaSource)?void 0:r.readyState)!=="closed",h=u&&s?s:t;this.log(`${u?"transfering MediaSource":"attaching media"} to ${o?e:"Primary"} from ${a} (media.currentTime: ${t.currentTime})`);let c=this.schedule;if(h===s&&c){let t=o&&e.assetId===c.assetIdAtEnd;h.overrides={duration:c.duration,endOfStream:!o||t,cueRemoval:!o}}e.attachMedia(h)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,t=null==e?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;-1===this.bufferedPos&&(this.bufferedPos=0);let i=this.timelinePos,r=this.effectivePlayingItem;if(-1===i){let i=this.hls.startPosition;if(this.log(n9("checkStart",i)),this.timelinePos=i,t.length&&t[0].cue.pre){let i=e.findEventIndex(t[0].identifier);this.setSchedulePosition(i)}else if(i>=0||!this.primaryLive){let t=this.timelinePos=i>0?i:0,r=e.findItemIndexAtTime(t);this.setSchedulePosition(r)}}else if(r&&!this.playingItem){let t=e.findItemIndex(r);this.setSchedulePosition(t)}}advanceAssetBuffering(e,t){let i=e.event,r=i.findAssetIndex(t),a=n0(i,r);if(i.isAssetPastPlayoutLimit(a)){if(this.schedule){var s;let t=null==(s=this.schedule.items)?void 0:s[this.findItemIndex(e)+1];t&&this.bufferedToItem(t)}}else this.bufferedToEvent(e,a)}advanceAfterAssetEnded(e,t,i){let r=n0(e,i);if(e.isAssetPastPlayoutLimit(r)){if(this.schedule){let i=this.schedule.items;if(i){let r=t+1;if(r>=i.length)return void this.setSchedulePosition(-1);let a=e.resumeTime;this.timelinePos<a&&(this.log(n9("advanceAfterAssetEnded",a)),this.timelinePos=a,e.appendInPlace&&this.advanceInPlace(a),this.checkBuffer(this.bufferedPos<a)),this.setSchedulePosition(r)}}}else{if(e.appendInPlace){let t=e.assetList[r];t&&this.advanceInPlace(t.timelineStart)}this.setSchedulePosition(t,r)}}setScheduleToAssetAtTime(e,t){let i=this.schedule;if(!i)return;let r=t.parentIdentifier,a=i.getEvent(r);if(a){let t=i.findEventIndex(r),s=i.findAssetIndex(a,e);this.advanceAfterAssetEnded(a,t,s-1)}}setSchedulePosition(e,t){var i,r,a;let s=null==(i=this.schedule)?void 0:i.items;if(!s||this.playbackDisabled)return;let n=e>=0?s[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${n?n4(n):n}
29) pos: ${this.timelinePos}`);let o=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(o)){let i=o.event,d=this.playingAsset,u=null==d?void 0:d.identifier,h=u?this.getAssetPlayer(u):null;if(h&&u&&(!this.eventItemsMatch(o,n)||void 0!==t&&u!==i.assetList[t].identifier)){let t=i.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${t+1}/${i.assetList.length} ${n1(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(tF.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:t,event:i,schedule:s.slice(0),scheduleIndex:e,player:h}),o!==this.playingItem){this.itemsMatch(o,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(i,this.findItemIndex(this.playingItem),t);return}this.retreiveMediaSource(u,n),h.media&&!(null!=(r=this.detachedData)&&r.mediaSource)&&h.detachMedia()}if(!this.eventItemsMatch(o,n)&&(this.endedItem=o,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${i} ${n4(o)}`),i.hasPlayed=!0,this.hls.trigger(tF.INTERSTITIAL_ENDED,{event:i,schedule:s.slice(0),scheduleIndex:e}),i.cue.once)){this.updateSchedule();let e=null==(a=this.schedule)?void 0:a.items;if(n&&e){let i=this.findItemIndex(n);this.advanceSchedule(i,e,t,o,l)}return}}this.advanceSchedule(e,s,t,o,l)}advanceSchedule(e,t,i,r,a){let s=this.schedule;if(!s)return;let n=t[e]||null,o=this.primaryMedia,l=this.playerQueue;if(l.length&&l.forEach(t=>{let i=t.interstitial,r=s.findEventIndex(i.identifier);(r<e||r>e+1)&&this.clearInterstitial(i,n)}),this.isInterstitial(n)){this.timelinePos=Math.min(Math.max(this.timelinePos,n.start),n.end);let a=n.event;if(void 0===i){i=s.findAssetIndex(a,this.timelinePos);let t=n0(a,i-1);if(a.isAssetPastPlayoutLimit(t)||a.appendInPlace&&this.timelinePos===n.end)return void this.advanceAfterAssetEnded(a,e,i);i=t}let l=this.waitingItem;this.assetsBuffered(n,o)||this.setBufferingItem(n);let d=this.preloadAssets(a,i);if(this.eventItemsMatch(n,l||r)||(this.waitingItem=n,this.log(`INTERSTITIAL_STARTED ${n4(n)} ${a.appendInPlace?"append in place":""}`),this.hls.trigger(tF.INTERSTITIAL_STARTED,{event:a,schedule:t.slice(0),scheduleIndex:e})),!a.assetListLoaded)return void this.log(`Waiting for ASSET-LIST to complete loading ${a}`);if(a.assetListLoader&&(a.assetListLoader.destroy(),a.assetListLoader=void 0),!o)return void this.log(`Waiting for attachMedia to start Interstitial ${a}`);this.waitingItem=this.endedItem=null,this.playingItem=n;let u=a.assetList[i];if(!u)return void this.advanceAfterAssetEnded(a,e,i||0);if(d||(d=this.getAssetPlayer(u.identifier)),null===d||d.destroyed){let e=a.assetList.length;this.warn(`asset ${i+1}/${e} player destroyed ${a}`),(d=this.createAssetPlayer(a,u,i)).loadSource()}if(!this.eventItemsMatch(n,this.bufferingItem)&&a.appendInPlace&&this.isAssetBuffered(u))return;this.startAssetPlayer(d,i,t,e,o),this.shouldPlay&&n8(d.media)}else n?(this.resumePrimary(n,e,r),this.shouldPlay&&n8(this.hls.media)):a&&this.isInterstitial(r)&&(this.endedItem=null,this.playingItem=r,r.event.appendInPlace||this.attachPrimary(s.durations.primary,null))}get playbackDisabled(){return!1===this.hls.config.enableInterstitialPlayback}get primaryDetails(){var e;return null==(e=this.mediaSelection)?void 0:e.main.details}get primaryLive(){var e;return!!(null!=(e=this.primaryDetails)&&e.live)}resumePrimary(e,t,i){var r,a;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${n4(e)}`),!(null!=(r=this.detachedData)&&r.mediaSource)){let i=this.timelinePos;(i<e.start||i>=e.end)&&(i=this.getPrimaryResumption(e,t),this.log(n9("resumePrimary",i)),this.timelinePos=i),this.attachPrimary(i,e)}if(!i)return;let s=null==(a=this.schedule)?void 0:a.items;s&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${n4(e)}`),this.hls.trigger(tF.INTERSTITIALS_PRIMARY_RESUMED,{schedule:s.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){let i=e.start;if(this.primaryLive){let e=this.primaryDetails;if(0===t)return this.hls.startPosition;if(e&&(i<e.fragmentStart||i>e.edge))return this.hls.liveSyncPosition||-1}return i}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:rx.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let r=this.primaryMedia;if(!r)return;let a=this.hls;a.media?this.checkBuffer():(this.transferMediaTo(a,r),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(n9("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i))}
29startLoadingPrimaryAt(e,t){var i;let r=this.hls;!r.loadingEnabled||!r.media||Math.abs(((null==(i=r.mainForwardBufferInfo)?void 0:i.start)||r.media.currentTime)-e)>.5?r.startLoad(e,t):r.bufferingEnabled||r.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),null==(e=this.schedule)||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(tF.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(-1===t.level||!this.schedule)return;let i=this.hls.levels[t.level];if(!i.details)return;let r=tQ(tQ({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=r,this.schedule.parseInterstitialDateRanges(r,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){let i=this.hls.audioTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=tQ(tQ({},this.altSelection),{},{audio:i});return}let a=tQ(tQ({},r),{},{audio:i});this.mediaSelection=a}onSubtitleTrackUpdated(e,t){let i=this.hls.subtitleTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=tQ(tQ({},this.altSelection),{},{subtitles:i});return}let a=tQ(tQ({},r),{},{subtitles:i});this.mediaSelection=a}onAudioTrackSwitching(e,t){let i=i4(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setAudioOption(t)||e.setAudioOption(i)))}onSubtitleTrackSwitch(e,t){let i=i4(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(i)))}onBufferCodecs(e,t){let i=t.tracks;i&&(this.requiredTracks=i)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){let i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){let e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let e=0;e<t.length;e++){let r=t[e];if(r.cue.post){var i;let e=this.schedule.findEventIndex(r.identifier),t=null==(i=this.schedule.items)?void 0:i[e];this.isInterstitial(t)&&this.eventItemsMatch(t,this.bufferingItem)&&this.bufferedToItem(t,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}updateItem(e,t){var i;let r=null==(i=this.schedule)?void 0:i.items;return e&&r&&r[this.findItemIndex(e,t)]||null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((t,i)=>{e.event.isAssetPastPlayoutLimit(i)&&this.clearAssetPlayer(t.identifier,null)});let i=e.end+.25,r=rx.bufferInfo(this.primaryMedia,i,0);(r.end>i||(r.nextStart||0)>i)&&(this.log(`trim buffered interstitial ${n4(e)} (was ${n4(t)})`),this.attachPrimary(i,null,!0),this.flushFrontBuffer(i))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===(null==(i=t.event)?void 0:i.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;let i=this.mediaSelection;i&&(null==(t=this.schedule)||t.updateSchedule(i,[],e))}checkBuffer(e){var t;let i=null==(t=this.schedule)?void 0:t.items;if(!i)return;let r=rx.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=r.len<1),this.updateBufferedPos(r.end,i,e)}updateBufferedPos(e,t,i){let r=this.schedule,a=this.bufferingItem;if(this.bufferedPos>e||!r)return;if(1===t.length&&this.itemsMatch(t[0],a)){this.bufferedPos=e;return}let s=this.playingItem,n=this.findItemIndex(s),o=r.findItemIndexAtTime(e);if(this.bufferedPos<e){var l;let i=this.findItemIndex(a),r=Math.min(i+1,t.length-1),s=t[r];if((-1===o&&a&&e>=a.end||null!=(l=s.event)&&l.appendInPlace&&e+.01>=s.start)&&(o=r),this.isInterstitial(a)){let e=a.event;if(r-n>1&&!1===e.appendInPlace||0===e.assetList.length&&e.assetListLoader)return}if(this.bufferedPos=e,o>i&&o>n)this.bufferedToItem(s);else{let t=this.primaryDetails;this.primaryLive&&t&&e>t.edge-t.targetduration&&s.start<t.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(s)&&this.preloadAssets(s.event,0)}}else i&&s&&!this.itemsMatch(s,a)&&(o===n?this.bufferedToItem(s):o===n+1&&this.bufferedToItem(t[o]))}assetsBuffered(e,t){return 0!==e.event.assetList.length&&!e.event.assetList.some(e=>{let i=this.getAssetPlayer(e.identifier);return!(null!=i&&i.bufferedInPlaceToEnd(t))})}setBufferingItem(e){let t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){let{items:r,events:a}=i;if(!r||!a)return t;
29let s=this.isInterstitial(e),n=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let o=n?n.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${n4(e)}`+(t?` (${o.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(s){let t=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,i)=>{let r=this.getAssetPlayer(e.identifier);r&&(i===t&&r.loadSource(),r.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(tF.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:a.slice(0),schedule:r.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){let i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(null!==i){this.bufferingAsset=null;let t=this.detachedData;t&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)}}}preloadPrimary(e){let t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i)}bufferedToEvent(e,t){let i=e.event,r=0===i.assetList.length&&!i.assetListLoader,a=i.cue.once;if(r||!a){let e=this.preloadAssets(i,t);if(null!=e&&e.interstitial.appendInPlace){let t=this.primaryMedia;t&&this.bufferAssetPlayer(e,t)}}}preloadAssets(e,t){let i=e.assetUrl,r=e.assetList.length,a=0===r&&!e.assetListLoader,s=e.cue.once;if(a){let a,s=e.timelineStart;if(e.appendInPlace){var n;let t=this.playingItem;this.isInterstitial(t)||(null==t||null==(n=t.nextEvent)?void 0:n.identifier)!==e.identifier||this.flushFrontBuffer(s+.25)}let o=0;if(!this.playingItem&&this.primaryLive&&-1===(o=this.hls.startPosition)&&(o=this.hls.liveSyncPosition||0),o&&!(e.cue.pre||e.cue.post)){let e=o-s;e>0&&(a=Math.round(1e3*e)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${i?1:r} ${e}${a?` live-start: ${o} start-offset: ${a}`:""}`),i)return this.createAsset(e,0,0,s,e.duration,i);let l=this.assetListLoader.loadAssetList(e,a);l&&(e.assetListLoader=l)}else if(!s&&r){for(let i=t;i<r;i++){let t=e.assetList[i],r=this.getAssetPlayerQueueIndex(t.identifier);(-1===r||this.playerQueue[r].destroyed)&&!t.error&&this.createAssetPlayer(e,t,i)}let i=e.assetList[t];if(i){let e=this.getAssetPlayer(i.identifier);return e&&e.loadSource(),e}}return null}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(t=>{this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:t})}))}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return -1}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i]}return null}createAsset(e,t,i,r,a,s){let n={parentIdentifier:e.identifier,identifier:`${e.identifier}-${t+1}-${nz(s)}`,duration:a,startOffset:i,timelineStart:r,uri:s};return this.createAssetPlayer(e,n,t)}createAssetPlayer(e,t,i){let r=this.hls,a=r.userConfig,s=a.videoPreference,n=r.loadLevelObj||r.levels[r.currentLevel];(s||n)&&(s=tY({},s),n.videoCodec&&(s.videoCodec=n.videoCodec),n.videoRange&&(s.allowedVideoRanges=[n.videoRange]));let o=r.audioTracks[r.audioTrack],l=r.subtitleTracks[r.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let e=this.timelinePos-t.timelineStart;if(e>1){let i=t.duration;i&&e<i&&(d=e)}}let u=t.identifier,h=tQ(tQ({},a),{},{maxMaxBufferLength:Math.min(180,r.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:r.sessionId,assetPlayerId:u,abrEwmaDefaultEstimate:r.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:s,audioPreference:o||a.audioPreference,subtitlePreference:l||a.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(h.timelineOffset=t.timelineStart));let c=h.cmcd;null!=c&&c.sessionId&&c.contentId&&(h.cmcd=tY({},c,{contentId:nz(t.uri)})),this.getAssetPlayer(u)&&this.warn(`Duplicate date range identifier ${e} and asset ${u}`);let m=new n2(this.HlsPlayerClass,h,e,t);this.playerQueue.push(m),e.assetList[i]=t;let f=!0,p=r=>{if(r.live){var a;let t=Error(`Interstitials MUST be VOD assets ${e}`),r={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ER
29ROR,error:t},s=(null==(a=this.schedule)?void 0:a.findEventIndex(e.identifier))||-1;this.handleAssetItemError(r,e,s,i,t.message);return}let s=r.edge-r.fragmentStart,n=t.duration;(f||null===n||s>n)&&(f=!1,this.log(`Interstitial asset "${u}" duration change ${n} > ${s}`),t.duration=s,this.updateSchedule())};m.on(tF.LEVEL_UPDATED,(e,{details:t})=>p(t)),m.on(tF.LEVEL_PTS_UPDATED,(e,{details:t})=>p(t)),m.on(tF.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let g=(e,t)=>{let i=this.getAssetPlayer(u);if(i&&t.tracks){i.off(tF.BUFFER_CODECS,g),i.tracks=t.tracks;let e=this.primaryMedia;this.bufferingAsset===i.assetItem&&e&&!i.media&&this.bufferAssetPlayer(i,e)}};m.on(tF.BUFFER_CODECS,g);let E=()=>{var i;let r=this.getAssetPlayer(u);if(this.log(`buffered to end of asset ${r}`),!r||!this.schedule)return;let a=this.schedule.findEventIndex(e.identifier),s=null==(i=this.schedule.items)?void 0:i[a];this.isInterstitial(s)&&this.advanceAssetBuffering(s,t)};m.on(tF.BUFFERED_TO_END,E);let y=t=>()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;this.shouldPlay=!0;let i=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,t)};return m.once(tF.MEDIA_ENDED,y(i)),m.once(tF.PLAYOUT_LIMIT_REACHED,y(1/0)),m.on(tF.ERROR,(t,r)=>{if(!this.schedule)return;let a=this.getAssetPlayer(u);r.details===tU.BUFFER_STALLED_ERROR?null!=a&&a.appendInPlace?this.handleInPlaceStall(e):(this.onTimeupdate(),this.checkBuffer(!0)):this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${r.error} ${e}`)}),m.on(tF.DESTROYING,()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;let t=Error(`Asset player destroyed unexpectedly ${u}`),r={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ERROR,error:t};this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,t.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${n1(t)}`),this.hls.trigger(tF.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:m}),m}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(-1!==t){this.log(`reset asset player "${e}" after error`);let i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails()}}clearAssetPlayer(e,t){let i=this.getAssetPlayerQueueIndex(e);if(-1!==i){let e=this.playerQueue[i];this.log(`clear ${e} toSegment: ${t?n4(t):t}`),this.transferMediaFromPlayer(e,t),this.playerQueue.splice(i,1),e.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,r,a){let{interstitial:s,assetItem:n,assetId:o}=e,l=s.assetList.length,d=this.playingAsset;this.endedAsset=null,this.playingAsset=n,d&&d.identifier===o||(d&&(this.clearAssetPlayer(d.identifier,i[r]),delete d.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${l} ${n1(n)}`),this.hls.trigger(tF.INTERSTITIAL_ASSET_STARTED,{asset:n,assetListIndex:t,event:s,schedule:i.slice(0),scheduleIndex:r,player:e})),this.bufferAssetPlayer(e,a)}bufferAssetPlayer(e,t){var i,r;if(!this.schedule)return;let{interstitial:a,assetItem:s}=e,n=this.schedule.findEventIndex(a.identifier),o=null==(i=this.schedule.items)?void 0:i[n];if(!o)return;e.loadSource(),this.setBufferingItem(o),this.bufferingAsset=s;let l=this.getBufferingPlayer();if(l===e)return;let d=a.appendInPlace;if(d&&(null==l?void 0:l.interstitial.appendInPlace)===!1)return;let u=(null==l?void 0:l.tracks)||(null==(r=this.detachedData)?void 0:r.tracks)||this.requiredTracks;if(d&&s!==this.playingAsset){if(!e.tracks)return void this.log(`Waiting for track info before buffering ${e}`);if(u&&!t4(u,e.tracks)){let t=Error(`Asset ${n1(s)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(u)}')`),i={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},r=a.findAssetIndex(s);this.handleAssetItemError(i,a,n,r,t.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){let t=this.schedule,i=this.primaryMedia;if(!t||!i)return;let r=i.currentTime,a=t.findAssetIndex(e,r),s=e.assetList[a];if(s){let n=this.getAssetPlayer(s.identifier);if(n){let o=n.currentTime||r-s.timelineStart,l=n.duration-o;if(this.warn(`Stalled at ${o} of ${o+l} in ${n} ${e} (media.currentTime: ${r})`),o&&(l/i.playbackRate<.5||n.bufferedInPlaceToEnd(i))&&n.hls){let i=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,a)}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,i,r,a){if(e.details===tU.BUFFER_STALLED_ERROR)return;let s=t.assetList[r]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${s?n1(s):s} ${e.error}`),!this.schedule)return;let n=(null==s?void 0:s.identifier)||"",o=this.getAssetPlayerQueueIndex(n),l=this.playerQueue[o]||null,d=this.schedule.items,u=tY({},e,{fatal:!1,errorAction:rc(!0),asset:s,assetListIndex:r,event:t,schedule:d,scheduleIndex:i,player:l});if(this.hls.trigger(tF.INTERSTITIAL_ASSET_ERROR,u),!e.fatal)return;let h=this.playingAsset,c=this.bufferingAsset,m=Error(a);if(s&&(this.clearAssetPlayer(n,null),s.error=m),t.assetList.some(e=>!e.error))for(let e=r;e<t.assetList.length;e++)this.resetAssetPlayer(t.assetList[e].identifier);else t.error=m;this.updateSchedule(!0),t.error?this.primaryFallback(t):h&&h.identifier===n?this.advanceAfterAssetEnded(t,i,r):c&&c.identifier===n&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,c)}primaryFallback(e){let t=e.timelineStart,i=this.effectivePlayingItem,r=this.timelinePos;if(i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${r} playing: ${n4(i)} error: ${e.error}`),-1===r&&(r=this.hls.startPosition);let a=this.updateItem(i,r);this.itemsMatch(i,a)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(-1===r)return void this.checkStart();if(!this.schedule)return;let a=this.schedule.findItemIndexAtTime(r);this.setSchedulePosition(a)}onAssetListLoaded(e,t){var i,r,a;let s=t.event,n=s.identifier,o=t.assetListResponse.ASSETS;if(!(null!=(i=this.schedule)&&i.hasEvent(n)))return;let l=s.timelineStart,d=s.duration,u=0;o.forEach((e,t)=>{let i=parseFloat(e.DURATION);this.createAsset(s,t,u,l+u,i,e.URI),u+=i}),s.duration=u,this.log(`Loaded asset-list with duration: ${u} (was: ${d}) ${s}`);let h=this.waitingItem,c=(null==h?void 0:h.event.identifier)===n;this.updateSchedule();let m=null==(r=this.bufferingItem)?void 0:r.event;if(c){let e=this.schedule.findEventIndex(n),t=null==(a=this.schedule.items)?void 0:a[e];if(t){if(!this.playingItem&&this.timelinePos>t.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e){s.error=Error(`Interstitial ${o.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${s}`),this.log(s.error.message),this.updateSchedule(!0),this.primaryFallback(s);return}this.setBufferingItem(t)}this.setSchedulePosition(e)}else if((null==m?void 0:m.identifier)===n){let e=s.assetList[0];if(e){let t=this.getAssetPlayer(e.identifier);if(m.appendInPlace){let e=this.primaryMedia;t&&e&&this.bufferAssetPlayer(t,e)}else t&&t.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case tU.ASSET_LIST_PARSING_ERROR:case tU.ASSET_LIST_LOAD_ERROR:case tU.ASSET_LIST_LOAD_TIMEOUT:{let e=t.interstitial;e&&(this.updateSchedule(!0),this.primaryFallback(e));break}case tU.BUFFER_STALLED_ERROR:{let e=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(e)&&e.event.appendInPlace)return void this.handleInPlaceStall(e.event);this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0)}}}}});class oX extends rI{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>
29{if(this.hls){var e;this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){let{hls:e}=this;e&&(e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;let i=this.media=t.media;aP(i,"playing",this.onMediaPlaying),aP(i,"waiting",this.onMediaWaiting),aP(i,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();let{media:i}=this;i&&(aO(i,"playing",this.onMediaPlaying),aO(i,"waiting",this.onMediaWaiting),aO(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!(null!=(e=this.media)&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var i,r,a;let s=null==(i=this.hls)?void 0:i.config;if(!s)return;let n=this.media;if(!n)return;let{seeking:o}=n,l=this.seeking&&!o,d=!this.seeking&&o,u=n.paused&&!o||n.ended||0===n.playbackRate;if(this.seeking=o,e!==t){t&&(this.ended=0),this.moved=!0,!o&&(this.nudgeRetry=0,s.nudgeOnVideoHole&&!u&&e>t&&this.nudgeOnVideoHole(e,t)),0===this.waiting&&this.stallResolved(e);return}if(d||l){l&&this.stallResolved(e);return}if(u){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&n.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!1}));return}if(!rx.getBuffered(n).length){this.nudgeRetry=0;return}let h=rx.bufferInfo(n,e,0),c=h.nextStart||0,m=this.fragmentTracker;if(o&&m&&this.hls){let t=oZ(this.hls.inFlightFragments,e),i=h.len>2,r=!c||t||c-e>2&&!m.getPartialFragment(e);if(i||r)return;this.moved=!1}let f=null==(r=this.hls)?void 0:r.latestLevelDetails;if(!this.moved&&null!==this.stalled&&m){if(!(h.len>0)&&!c)return;let t=Math.max(c,h.start||0)-e,i=null!=f&&f.live?2*f.targetduration:2,r=o0(e,m);if(t>0&&(t<=i||r)){n.paused||this._trySkipBufferHole(r);return}}let p=s.detectStallWithCurrentTimeMs,g=self.performance.now(),E=this.waiting,y=this.stalled;if(null===y)if(E>0&&g-E<p)y=this.stalled=E;else{this.stalled=g;return}let b=g-y;if(!o&&(b>=p||E)&&this.hls){if((null==(a=this.mediaSource)?void 0:a.readyState)==="ended"&&!(null!=f&&f.live)&&1>Math.abs(e-((null==f?void 0:f.edge)||0))){if(this.ended)return;this.ended=e||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(h),!this.media||!this.hls)return}let T=rx.bufferInfo(n,e,s.maxBufferHole);this._tryFixBufferStall(T,b,e)}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(tF.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var i;let r=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&null!=(i=this.buffered.audio)&&i.length&&r&&r.length>1&&e>r.end(0)){let i=rx.bufferedInfo(rx.timeRangesToArray(this.buffered.audio),e,0);if(i.len>1&&t>=i.start){let i=rx.timeRangesToArray(r),a=rx.bufferedInfo(i,t,0).bufferedIndex;if(a>-1&&a<i.length-1){let t=rx.bufferedInfo(i,e,0).bufferedIndex,r=i[a].end,s=i[a+1].start;if((-1===t||t>a)&&s-r<1&&e-r<2){let i=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${r} -> ${s} buffered index: ${t}`);this.warn(i.message),this.media.currentTime+=1e-6;let a=o0(e,this.fragmentTracker);a&&"fragment"in a?a=a.fragment:a||(a=void 0);let n=rx.bufferInfo(this.media,e,0);this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,frag:a,buffer:n.len,bufferInfo:n})}}}}}_tryFixBufferStall(e,t,i){var r,a;let{fragmentTracker:s,media:n}=this,o=null==(r=this.hls)?void 0:r.config;if(!n||!s||!o)return;let l=null==(a=this.hls)?void 0:a.latestLevelDetails,d=o0(i,s);if((d||null!=l&&l.live&&i<l.fragmentStart)&&(this._trySkipBufferHole(d)||!this.media))return;let u=e.buffered,h=this.adjacentTraversal(e,i);(u&&u.length>1&&e.len>o.maxBufferHole||e.nextStart&&(e.nextStart-i<o.maxBufferHole||h))&&(t>1e3*o.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){let i=this.fragmentTracker,r=e.nextStart;if(i&&r){let e=i.getFragAtPos(t,tV),a=i.getFragAtPos(r,tV);if(e&&a)return a.sn-e.sn<2}return!1}_reportStall(e){let{hls:t,media:i,stallReported:r,stalled:a}=this;if(!r&&null!==a&&i&&t){this.stallReported=!0;let r=Error(`Playback stalling at @${i.currentTime} due to low buffer (${i1(e)})`);this.warn(r.message),t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:a}})}}_trySkipBufferHole(e){var t,i;let{fragmentTracker:r,media:a}=this,s=null==(t=this.hls)?void 0:t.config;if(!a||!r||!s)return 0;let n=a.currentTime,o=rx.bufferInfo(a,n,0),l=n<o.start?o.start:o.nextStart;
29if(l&&this.hls){let t=o.len<=s.maxBufferHole,d=o.len>0&&o.len<1&&a.readyState<3,u=l-n;if(u>0&&(t||d)){if(u>s.maxBufferHole){let t=!1;if(0===n){let e=r.getAppendedFrag(0,tV);e&&l<e.end&&(t=!0)}if(!t&&e){if(!(null!=(i=this.hls.loadLevelObj)&&i.details)||oZ(this.hls.inFlightFragments,l))return 0;let t=!1,a=e.end;for(;a<l;){let e=o0(a,r);if(e)a+=e.duration;else{t=!0;break}}if(t)return 0}}let t=Math.max(l+.05,n+.1);if(this.warn(`skipping hole, adjusting currentTime from ${n} to ${t}`),this.moved=!0,a.currentTime=t,!(null!=e&&e.gap)){let i=Error(`fragment loaded with buffer holes, seeking from ${n} to ${t}`),r={type:tN.MEDIA_ERROR,details:tU.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,buffer:o.len,bufferInfo:o};e&&("fragment"in e?r.part=e:r.frag=e),this.hls.trigger(tF.ERROR,r)}return t}}return 0}_tryNudgeBuffer(e){let{hls:t,media:i,nudgeRetry:r}=this,a=null==t?void 0:t.config;if(!i||!a)return 0;let s=i.currentTime;if(this.nudgeRetry++,r<a.nudgeMaxRetry){let n=s+(r+1)*a.nudgeOffset,o=Error(`Nudging 'currentTime' from ${s} to ${n}`);this.warn(o.message),i.currentTime=n,t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1,buffer:e.len,bufferInfo:e})}else{let i=Error(`Playhead still not moving while enough data buffered @${s} after ${a.nudgeMaxRetry} nudges`);this.error(i.message),t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_STALLED_ERROR,error:i,fatal:!0,buffer:e.len,bufferInfo:e})}}}function oZ(e,t){let i=oJ(e.main);if(i&&i.start<=t)return i;let r=oJ(e.audio);return r&&r.start<=t?r:null}function oJ(e){if(!e)return null;switch(e.state){case aF:case aU:case aW:case aq:return null}return e.frag}function o0(e,t){return t.getAppendedFrag(e,tV)||t.getPartialFragment(e)}function o1(){if("u">typeof self)return self.VTTCue||self.TextTrackCue}function o2(e,t,i,r,a){let s=new e(t,i,"");try{s.value=r,a&&(s.type=a)}catch(n){s=new e(t,i,i1(a?tQ({type:a},r):r))}return s}let o3=(()=>{let e=o1();try{e&&new e(0,1/0,"")}catch(e){return Number.MAX_VALUE}return 1/0})();class o4{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(tF.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;e&&(e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var i;this.media=t.media,(null==(i=t.overrides)?void 0:i.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;let t=null==(e=this.hls)?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,t.transferMedia||(this.id3Track&&(this.removeCues&&nq(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let i=e[t];if("metadata"===i.kind&&"id3"===i.label)return nK(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:i,enableID3MetadataCues:r}=this.hls.config;if(!i&&!r)return;let{samples:a}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let s=o1();if(s)for(let e=0;e<a.length;
29e++){let t=a[e].type;if(t===sn.emsg&&!i||!r)continue;let n=sr(a[e].data),o=a[e].pts,l=o+a[e].duration;l>o3&&(l=o3),l-o<=0&&(l=o+.25);for(let e=0;e<n.length;e++){let i=n[e];if(!sa(i)){this.updateId3CueEnds(o,t);let e=o2(s,o,l,i,t);e&&this.id3Track.addCue(e)}}}}updateId3CueEnds(e,t){var i;let r=null==(i=this.id3Track)?void 0:i.cues;if(r)for(let i=r.length;i--;){let a=r[i];a.type===t&&a.startTime<e&&a.endTime===o3&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:r}){let{id3Track:a,hls:s}=this;if(!s)return;let{config:{enableEmsgMetadataCues:n,enableID3MetadataCues:o}}=s;a&&(n||o)&&nj(a,t,i,"audio"===r?e=>e.type===sn.audioId3&&o:"video"===r?e=>e.type===sn.emsg&&n:e=>e.type===sn.audioId3&&o||e.type===sn.emsg&&n)}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){var i,r;if(!this.hls||!this.media)return;let{assetPlayerId:a,timelineOffset:s,enableDateRangeMetadataCues:n,interstitialsController:o}=this.hls.config;if(!n)return;let l=o1();if(a&&s&&!o){let{fragmentStart:t,fragmentEnd:i}=e,r=this.assetCue;r?(r.startTime=t,r.endTime=i):l&&(r=this.assetCue=o2(l,t,i,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"))&&(r.id=a,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(r),r.addEventListener("enter",this.onEventCueEnter))}if(!e.hasProgramDateTime)return;let{id3Track:d}=this,{dateRanges:u}=e,h=Object.keys(u),c=this.dateRangeCuesAppended;if(d&&t)if(null!=(i=d.cues)&&i.length){let e=Object.keys(c).filter(e=>!h.includes(e));for(let t=e.length;t--;){let i=e[t],a=null==(r=c[i])?void 0:r.cues;delete c[i],a&&Object.keys(a).forEach(e=>{let t=a[e];if(t){t.removeEventListener("enter",this.onEventCueEnter);try{d.removeCue(t)}catch(e){}}})}}else c=this.dateRangeCuesAppended={};let m=e.fragments[e.fragments.length-1];if(0!==h.length&&tM(null==m?void 0:m.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e<h.length;e++){let t=h[e],i=u[t],r=i.startTime,a=c[t],s=(null==a?void 0:a.cues)||{},n=(null==a?void 0:a.durationKnown)||!1,d=o3,{duration:m,endDate:f}=i;if(f&&null!==m)d=r+m,n=!0;else if(i.endOnNext&&!n){let e=h.reduce((e,t)=>{if(t!==i.id){let r=u[t];if(r.class===i.class&&r.startDate>i.startDate&&(!e||i.startDate<e.startDate))return r}return e},null);e&&(d=e.startTime,n=!0)}let p=Object.keys(i.attr);for(let e=0;e<p.length;e++){let u=p[e];if("ID"===u||"CLASS"===u||"CUE"===u||"START-DATE"===u||"DURATION"===u||"END-DATE"===u||"END-ON-NEXT"===u)continue;let h=s[u];if(h)n&&!(null!=a&&a.durationKnown)?h.endTime=d:Math.abs(h.startTime-r)>.01&&(h.startTime=r,h.endTime=d);else if(l){let e=i.attr[u];("SCTE35-OUT"===u||"SCTE35-IN"===u||"SCTE35-CMD"===u)&&(e=t9(e));let a=o2(l,r,d,{key:u,data:e},sn.dateRange);a&&(a.id=t,this.id3Track.addCue(a),s[u]=a,o&&("X-ASSET-LIST"===u||"X-ASSET-URL"===u)&&a.addEventListener("enter",this.onEventCueEnter))}}c[t]={cues:s,dateRange:i,durationKnown:n}}}}}class o5{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:e}=this,t=this.levelDetails;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(null===i)return;this._latency=i;let{lowLatencyMode:r,maxLiveSyncPlaybackRate:a}=this.config;if(!r||1===a||!t.live)return;let s=this.targetLatency;if(null===s)return;let n=i-s;if(n<Math.min(this.maxLatency,s+t.targetduration)&&n>.05&&this.forwardBufferLength>1){let t=Math.min(Math.min(2,Math.max(1,a)),Math.max(1,Math.round(2/(1+Math.exp(-.75*n-this.edgeStalled))*20)/20));this.changeMediaPlaybackRate(e,t)}else 1!==e.playbackRate&&0!==e.playbackRate&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return(null==(e=this.hls)?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){let{config:e}=this;if(void 0!==e.liveMaxLatencyDuration)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let e=this.levelDetails;if(null===e||null===this.hls)return null;let{holdBack:t,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:s,lowLatencyMode:n}=this.config,o=this.hls.userConfig,l=n&&i||t;return(this._targetLatencyUpdated||o.liveSyncDuration||o.liveSyncDurationCount||0===l)&&(l=void 0!==a?a:s*r),l+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,r)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(null===e||null===t)return null;let i=this.levelDetails;if(null===i)return null;let r=i.edge,a=e-t-this.edgeStalled;return Math.min(Math.max(r-i.totalduration,a),r-(this.config.lowLatencyMode&&i.partTarget||i.targetduration))}get drift(){let e=this.levelDetails;return null===e?1:e.drift}get edgeStalled(){let e=this.levelDetails;if(null===e)return 0;let t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;
29e&&(e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.ERROR,this.onError,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var i;t.details===tU.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&null!=(i=this.levelDetails)&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var i,r;e.playbackRate!==t&&(null==(i=this.hls)||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${null==(r=this.targetLatency)?void 0:r.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){let e=this.levelDetails;return null===e?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}class o8 extends s2{constructor(e,t){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=this.hls.config.preferManagedMediaSource,r=[],a={},s={},n=!1,o=!1,l=!1;t.levels.forEach(e=>{let t=e.attrs,{audioCodec:d,videoCodec:u}=e;d&&(e.audioCodec=d=iB(d,i)||void 0),u&&(u=e.videoCodec=function(e){let t=e.split(",");for(let e=0;e<t.length;e++){let i=t[e].split(".");i.length>2&&"avc1"===i[0]&&(t[e]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`)}return t.join(",")}(u));let{width:h,height:c,unknownCodecs:m}=e,f=(null==m?void 0:m.length)||0;if(n||(n=!!(h&&c)),o||(o=!!u),l||(l=!!d),f||d&&!this.isAudioSupported(d)||u&&!this.isVideoSupported(u))return void this.log(`Some or all CODECS not supported "${t.CODECS}"`);let{CODECS:p,"FRAME-RATE":g,"HDCP-LEVEL":E,"PATHWAY-ID":y,RESOLUTION:b,"VIDEO-RANGE":T}=t,A=`${y||"."}-`,_=`${A}${e.bitrate}-${b}-${g}-${p}-${T}-${E}`;if(a[_])if(a[_].uri===e.url||e.attrs["PATHWAY-ID"])a[_].addGroupId("audio",t.AUDIO),a[_].addGroupId("text",t.SUBTITLES);else{let t=s[_]+=1;e.attrs["PATHWAY-ID"]=Array(t+1).join(".");let i=this.createLevel(e);a[_]=i,r.push(i)}else{let t=this.createLevel(e);a[_]=t,s[_]=1,r.push(t)}}),this.filterAndSortMediaOptions(r,t,n,o,l)}createLevel(e){let t=new iJ(e),i=e.supplemental;if(null!=i&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){let e=Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(e.message),t.supportedResult=iq(e,[])}return t}isAudioSupported(e){return ix(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return ix(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,i,r,a){var s,n;let o=[],l=[],d=e,u=(null==(s=t.stats)?void 0:s.parsing)||{};if((i||r)&&a&&(d=d.filter(({videoCodec:e,videoRange:t,width:i,height:r})=>{var a;return(!!e||!!(i&&r))&&!!(a=t)&&iQ.indexOf(a)>-1})),0===d.length){Promise.resolve().then(()=>
29{if(this.hls){let e="no level with compatible codecs found in manifest",i=e;t.levels.length&&(i=`one or more CODECS in variant not supported: ${i1(t.levels.map(e=>e.attrs.CODECS).filter((e,t,i)=>i.indexOf(e)===t))}`,this.warn(i),e+=` (${i})`);let r=Error(e);this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:r,reason:i})}}),u.end=performance.now();return}t.audioTracks&&o9(o=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),t.subtitles&&o9(l=t.subtitles);let h=d.slice(0);d.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return iQ.indexOf(e.videoRange)-iQ.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){let i=iO(e.videoCodec),r=iO(t.videoCodec);if(i!==r)return r-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){let i=iN(e.codecSet),r=iN(t.codecSet);if(i!==r)return r-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let c=h[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==h.length){for(let e=0;e<h.length;e++)if(h[e].pathwayId===d[0].pathwayId){c=h[e];break}}this._levels=d;for(let e=0;e<d.length;e++)if(d[e]===c){this._firstLevel=e;let t=c.bitrate,i=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${t}`),(null==(n=this.hls.userConfig)?void 0:n.abrEwmaDefaultEstimate)===void 0){let e=Math.min(t,this.hls.config.abrEwmaDefaultEstimateMax);e>i&&i===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}let m=a&&!r,f=this.hls.config,p=!!(f.audioStreamController&&f.audioTrackController),g={levels:d,audioTracks:o,subtitleTracks:l,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:a,video:r,altAudio:p&&!m&&o.some(e=>!!e.url)};u.end=performance.now(),this.hls.trigger(tF.MANIFEST_PARSED,g)}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){let i=Error("invalid level idx"),r=e<0;if(this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:i,reason:i.message}),r)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,r=this.currentLevel,a=r?r.attrs["PATHWAY-ID"]:void 0,s=t[e],n=s.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=s,i===e&&r&&a===n)return;this.log(`Switching to level ${e} (${s.height?s.height+"p ":""}${s.videoRange?s.videoRange+" ":""}${s.codecSet?s.codecSet+" ":""}@${s.bitrate})${n?" with Pathway "+n:""} from level ${i}${a?" with Pathway "+a:""}`);let o={level:e,attrs:s.attrs,details:s.details,bitrate:s.bitrate,averageBitrate:s.averageBitrate,maxBitrate:s.maxBitrate,realBitrate:s.realBitrate,width:s.width,height:s.height,codecSet:s.codecSet,audioCodec:s.audioCodec,videoCodec:s.videoCodec,audioGroups:s.audioGroups,subtitleGroups:s.subtitleGroups,loaded:s.loaded,loadError:s.loadError,fragmentError:s.fragmentError,name:s.name,id:s.id,uri:s.uri,url:s.url,urlId:0,audioGroupIds:s.audioGroupIds,textGroupIds:s.textGroupIds};this.hls.trigger(tF.LEVEL_SWITCHING,o);let l=s.details;if(!l||l.live){let e=this.switchParams(s.uri,null==r?void 0:r.details,l);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){let e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),i=e.filter(e=>-1!==t.indexOf(e));if(e.length<1)return void this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);this.steering.pathwayPriority=i}}onError(e,t){!t.fatal&&t.context&&t.context.type===t$&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===tV){let e=t.elementaryStreams;if(!Object.keys(e).some(t=>!!e[t]))return;let i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i,r;let{level:a,details:s}=t,n=t.levelInfo;if(!n){this.warn(`Invalid level index ${a}`),null!=(r=t.deliveryDirectives)&&r.skip&&(s.deltaUpdateFailed=!0);return}if(n===this.currentLevel||t.withoutMultiVariant){0===n.fragmentError&&(n.loadError=0);let e=n.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(a,t,e)}else null!=(i=t.deliveryDirectives)&&i.skip&&(s.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLo
29ading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=this.getUrlWithDirectives(e.uri,t),r=this.currentLevelIndex,a=e.attrs["PATHWAY-ID"],s=e.details,n=null==s?void 0:s.age;this.log(`Loading level index ${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${a?" Pathway "+a:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${i}`),this.hls.trigger(tF.LEVEL_LOADING,{url:i,level:r,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return -1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(1===this._levels.length)return;let i=this._levels.filter((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(e=>e.level=-1)),!1));aR(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let r=i.length-1;this._firstLevel=Math.min(this._firstLevel,r),this._startLevel&&(this._startLevel=Math.min(this._startLevel,r)),this.hls.trigger(tF.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(tF.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function o9(e){let t={};e.forEach(e=>{let i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++})}function o6(){return self.SourceBuffer||self.WebKitSourceBuffer}function o7(){if(!t3())return!1;let e=o6();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class le extends az{constructor(e,t,i){super(e,t,i,"stream-controller",tV),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let e=this.media,t=e?e.currentTime:null;if(null===t||!tM(t)||(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t)))return;let i=this.getFwdBufferInfoAtPos(e,t,tV,0);null===i||0===i.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${i?i.len:"empty"})`):this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){let{lastCurrentTime:i,hls:r}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=r.startLevel;-1===e&&(r.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=r.firstAutoLevel),r.nextLoadLevel=e,this.level=r.loadLevel,this._hasEnoughToStart=!!t}i>0&&-1===e&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=aF,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=aU}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case aY:{let{levels:e,level:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(!r||r.live&&(this.levelLastLoaded!==i||this.waitForLive(i)))this.hls.nextLoadLevel!==this.level&&(this.state=aF);else{if(this.waitForCdnTuneIn(r))break;this.state=aF}break}case aH:this.checkRetryDate()}this.state===aF&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),null!=(e=this.media)&&e.readyState&&!1===this.media.seeking&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:r}=this;if(null===t||!r&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;
29let a=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(null!=i&&i[a]))return;let s=i[a],n=this.getMainFwdBufferInfo();if(null===n)return;let o=this.getLevelDetails();if(o&&this._streamEnded(n,o)){let e={};2===this.altAudio&&(e.type="video"),this.hls.trigger(tF.BUFFER_EOS,e),this.state=aW;return}if(!this.buffering)return;e.loadLevel!==a&&-1===e.manualLevel&&this.log(`Adapting to level ${a} from level ${this.level}`),this.level=e.nextLoadLevel=a;let l=s.details;if(!l||this.state===aY||this.waitForLive(s)){this.level=a,this.state=aY,this.startFragRequested=!1;return}let d=n.len,u=this.getMaxBufferLength(s.maxBitrate);if(d>=u)return;this.backtrackFragment&&this.backtrackFragment.start>n.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:n.end,c=this.getNextFragment(h,l);if(this.couldBacktrack&&!this.fragPrevious&&c&&is(c)&&"OK"!==this.fragmentTracker.getState(c)){var m;let e=(null!=(m=this.backtrackFragment)?m:c).sn-l.startSN,t=l.fragments[e-1];t&&c.cc===t.cc&&(c=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&n.len&&(this.backtrackFragment=null);if(c&&this.isLoopLoading(c,h)){if(!c.gap){let e=this.audioOnly&&!this.altAudio?it:ii,t=(e===ii?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,tV)}c=this.getNextFragmentLoopLoading(c,l,n,tV,u)}c&&(!c.initSegment||c.initSegment.data||this.bitrateTest||(c=c.initSegment),this.loadFragment(c,s,h))}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);r===rm||r===rp?is(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,tV)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,1/0)}nextLevelSwitch(){let{levels:e,media:t}=this;if(null!=t&&t.readyState){let i,r=this.getAppendedFrag(t.currentTime);r&&r.start>1&&this.flushMainBuffer(0,r.start-1);let a=this.getLevelDetails();if(null!=a&&a.live){let e=this.getMainFwdBufferInfo();if(!e||e.len<2*a.targetduration)return}if(!t.paused&&e){let t=e[this.hls.nextLoadLevel],r=this.fragLastKbps;i=r&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*r)+1:0}else i=0;let s=this.getBufferedFrag(t.currentTime+i);if(s){let e=this.followingBufferedFrag(s);if(e){this.abortCurrentFrag();let t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,r=Math.max(s.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(r,1/0)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case aB:case a$:case aH:case aV:case aK:this.state=aF}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,2===this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;aP(i,"playing",this.onMediaPlaying),aP(i,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){let{media:i}=this;i&&(aO(i,"playing",this.onMediaPlaying),aO(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),t.transferMedia||(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(tF.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){var i;let r,a=!1,s=!1;for(let e=0;e<t.levels.length;e++){let i=t.levels[e].audioCodec;i&&(a=a||-1!==i.indexOf("mp4a.40.2"),s=s||-1!==i.indexOf("mp4a.40.5"))}this.audioCodecSwitch=a&&s&&"function"!=typeof(null==(r=o6())||null==(i=r.prototype)?void 0:i.changeType),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:i}=this;if(!i||this.state!==aF)return;let r=t.levelInfo;(!r.details||r.details.live&&(this.levelLastLoaded!==r||r.details.expired)||this.waitForCdnTuneIn(r.details))&&(this.state=aY)}
29onLevelLoaded(e,t){var i,r;let{levels:a,startFragRequested:s}=this,n=t.level,o=t.details,l=o.totalduration;if(!a)return void this.warn(`Levels were reset while loading level ${n}`);this.log(`Level ${n} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${l}`);let d=t.levelInfo,u=this.fragCurrent;u&&(this.state===a$||this.state===aH)&&u.level!==t.level&&u.loader&&this.abortCurrentFrag();let h=0;if(o.live||null!=(i=d.details)&&i.live){if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;h=this.alignPlaylists(o,d.details,null==(r=this.levelLastLoaded)?void 0:r.details)}if(d.details=o,this.levelLastLoaded=d,s||this.setStartPosition(o,h),this.hls.trigger(tF.LEVEL_UPDATED,{details:o,level:n}),this.state===aY){if(this.waitForCdnTuneIn(o))return;this.state=aF}s&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let r=this.hls.liveSyncPosition,a=this.getLoadPosition(),s=e.fragmentStart,n=e.edge,o=a>=s-t.maxFragLookUpTolerance&&a<=n;if(null!==r&&i.duration>r&&(a<r||!o)){let s=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!o&&i.readyState<4||a<n-s)&&(this._hasEnoughToStart||(this.nextLoadPosition=r),i.readyState))if(this.warn(`Playback: ${a.toFixed(3)} is located too far from the end of live sliding playlist: ${n}, reset currentTime to : ${r.toFixed(3)}`),"buffered"===this.config.liveSyncMode){var l;let e=rx.bufferInfo(i,r,0);if(!(null!=(l=e.buffered)&&l.length)||e.start<=a){i.currentTime=r;return}let{nextStart:t}=rx.bufferedInfo(e.buffered,a,0);t&&(i.currentTime=t)}else i.currentTime=r}}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{levels:s}=this;if(!s)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let n=s[i.level];if(!n)return void this.warn(`Level ${i.level} not found on progress`);let o=n.details;if(!o){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let l=n.videoCodec,d=o.PTSKnown||!o.live,u=null==(t=i.initSegment)?void 0:t.data,h=this._getAudioCodec(n),c=this.transmuxer=this.transmuxer||new s1(this.hls,tV,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=r?r.index:-1,f=new rw(i.level,i.sn,i.stats.chunkCount,a.byteLength,m,-1!==m),p=this.initPTS[i.cc];c.push(a,u,h,l,i,r,o.totalduration,d,f,p)}onAudioTrackSwitching(e,t){let i=this.hls,r=0!==this.altAudio;if(i7(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(r){this.altAudio=0,this.fragmentTracker.removeAllFragments(),i.once(tF.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(tF.AUDIO_TRACK_SWITCHED,t)}),i.trigger(tF.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:null});return}i.trigger(tF.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=i7(t.url,this.hls);if(i){let e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=2*!!i,this.tick()}onBufferCreated(e,t){let i,r,a=t.tracks,s=!1;for(let e in a){let t=a[e];if("main"===t.id){if(r=e,i=t,"video"===e){let t=a[e];t&&(this.videoBuffer=t.buffer)}}else s=!0}s&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:r}=t,a=i.type===tV;if(a){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===aK&&(this.state=aF);return}let e=r?r.stats:i.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),is(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,r)}let s=this.media;s&&(!this._hasEnoughToStart&&rx.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),a&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal){this.state=aq;return}switch(t.details){case tU.FRAG_GAP:case tU.FRAG_PARSING_ERROR:case tU.FRAG_DECRYPT_ERROR:case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tV,t);break;case tU.LEVEL_LOAD_ERROR:case tU.LEVEL_LOAD_TIMEOUT:case tU.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aY||(null==(i=t.context)?void 0:i.type)!==t$||(this.state=aF);break;case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case tU.BUFFER_FULL_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,1/0));break;case tU.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=aF,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==it||!this.altAudio){let e=(t===ii?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,t,tV),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,-1===this.level&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking)return void this.log(`could not seek to ${i}, already seeking at ${t}`);let r=this.timelineOffset;r&&i&&(i+=r);let a=this.getLevelDetails(),s=rx.getBuffered(e),n=s.length?s.start(0):0,o=n-i,l=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||o>0&&(o<l||this.loadingParts&&o<2*((null==a?void 0:a.partTarget)||0)))&&(this.log(`adjusting start position by ${o} to match buffer start`),i+=o,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${n}`),e.currentTime=i)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(e=>{let{hls:i}=this,r=null==e?void 0:e.frag;if(!r||this.fragContextChanged(r))return;t.fragmentError=0,this.state=aF,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(tF.FRAG_LOADED,e),r.bitrateTest=!1}
29).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(t),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){let t=this.playlistType,{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,s=this.getCurrentContext(a);if(!s)return void this.resetWhenMissingContext(a);let{frag:n,part:o,level:l}=s,{video:d,text:u,id3:h,initSegment:c}=r,{details:m}=l,f=this.altAudio?void 0:r.audio;if(this.fragContextChanged(n))return void this.fragmentTracker.removeFragment(n);if(this.state=aV,c){let e=c.tracks;if(e){let r=n.initSegment||n;if(this.unhandledEncryptionError(c,n))return;this._bufferInitSegment(l,e,r,a),i.trigger(tF.FRAG_PARSING_INIT_SEGMENT,{frag:r,id:t,tracks:e})}let r=c.initPTS,s=c.timescale,o=this.initPTS[n.cc];if(tM(r)&&(!o||o.baseTime!==r||o.timescale!==s)){let e=c.trackId;this.initPTS[n.cc]={baseTime:r,timescale:s,trackId:e},i.trigger(tF.INIT_PTS_FOUND,{frag:n,id:t,initPTS:r,timescale:s,trackId:e})}}if(d&&m){f&&"audiovideo"===d.type&&this.logMuxedErr(n);let e=m.fragments[n.sn-1-m.startSN],t=n.sn===m.startSN,i=!e||n.cc>e.cc;if(!1!==r.independent){let{startPTS:e,endPTS:r,startDTS:s,endDTS:l}=d;if(o)o.elementaryStreams[d.type]={startPTS:e,endPTS:r,startDTS:s,endDTS:l};else if(d.firstKeyFrame&&d.independent&&1===a.id&&!i&&(this.couldBacktrack=!0),d.dropped&&d.independent){let a=this.getMainFwdBufferInfo(),s=(a?a.end:this.getLoadPosition())+this.config.maxBufferHole,o=d.firstKeyFramePTS?d.firstKeyFramePTS:e;if(!t&&s<o-this.config.maxBufferHole&&!i)return void this.backtrack(n);i&&(n.gap=!0),n.setElementaryStreamInfo(d.type,n.start,r,n.start,l,!0)}else t&&e-(m.appliedTimelineOffset||0)>2&&(n.gap=!0);n.setElementaryStreamInfo(d.type,e,r,s,l),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(d,n,o,a,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(f){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=f;o&&(o.elementaryStreams[it]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),n.setElementaryStreamInfo(it,e,t,i,r),this.bufferFragmentData(f,n,o,a)}if(m&&null!=h&&h.samples.length){let e={id:t,frag:n,details:m,samples:h.samples};i.trigger(tF.FRAG_PARSING_METADATA,e)}if(m&&u){let e={id:t,frag:n,details:m,samples:u.samples};i.trigger(tF.FRAG_PARSING_USERDATA,e)}}logMuxedErr(e){this.warn(`${is(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,i,r){if(this.state!==aV)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));let{audio:a,video:s,audiovideo:n}=t;if(a){let i=e.audioCodec,r=i$(a.codec,i);"mp4a"===r&&(r="mp4a.40.5");let s=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){r&&(r=-1!==r.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");let e=a.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===s.indexOf("firefox")&&(r="mp4a.40.5")}r&&-1!==r.indexOf("mp4a.40.5")&&-1!==s.indexOf("android")&&"audio/mpeg"!==a.container&&(r="mp4a.40.2",this.log(`Android: force audio codec to ${r}`)),i&&i!==r&&this.log(`Swapping manifest audio codec "${i}" for "${r}"`),a.levelCodec=r,a.id=tV,this.log(`Init audio buffer, container:${a.container}, codecs[selected/level/parsed]=[${r||""}/${i||""}/${a.codec}]`),delete t.audiovideo}if(s){s.levelCodec=e.videoCodec,s.id=tV;let i=s.codec;if((null==i?void 0:i.length)===4)switch(i){case"hvc1":case"hev1":s.codec="hvc1.1.6.L120.90";break;case"av01":s.codec="av01.0.04M.08";break;case"avc1":s.codec="avc1.42e01e"}this.log(`Init video buffer, container:${s.container}, codecs[level/parsed]=[${e.videoCodec||""}/${i}]${s.codec!==i?" parsed-corrected="+s.codec:""}${s.supplemental?" supplemental="+s.supplemental:""}`),delete t.audiovideo}n&&(this.log(`Init audiovideo buffer, container:${n.container}, codecs[level/parsed]=[${e.codecs}/${n.codec}]`),delete t.video,delete t.audio);let o=Object.keys(t);if(o.length){if(this.hls.trigger(tF.BUFFER_CODECS,t),!this.hls)return;o.forEach(e=>{let a=t[e].initSegment;null!=a&&a.byteLength&&this.hls.trigger(tF.BUFFER_APPENDING,{type:e,data:a,frag:i,part:null,chunkMeta:r,parent:i.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,tV)}get maxBufferLength(){let{levels:e,level:t}=this,i=null==e?void 0:e[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=aF}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){let i=e.currentTime;if(rx.isBuffered(e,i)?t=this.getAppendedFrag(i):rx.isBuffered(e,i+.
291)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let e=this.fragPlaying,i=t.level;(!e||t.sn!==e.sn||e.level!==i)&&(this.fragPlaying=t,this.hls.trigger(tF.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(tF.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;return tM(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;if(tM(t)){let e=this.getLevelDetails(),i=this.currentFrag||(e?rt(null,e.fragments,t):null);if(i){let e=i.programDateTime;if(null!==e)return new Date(e+(t-i.start)*1e3)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class lt extends tX{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let i in this.keyIdToKeyInfo){let r=this.keyIdToKeyInfo[i].loader;if(r){var t;if(e&&e!==(null==(t=r.context)?void 0:t.frag.type))return;r.abort()}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){for(let e in this.detach(),this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=tU.KEY_LOAD_ERROR,i,r,a){return new rR({type:tN.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:a,error:i,networkDetails:r})}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let r=0,a=t.length;r<a;r++){let s=t[r];if(e.cc<=s.cc&&(!is(e)||!is(s)||e.sn<s.sn)||!i&&r==a-1)return this.emeController.selectKeySystemFormat(s).then(e=>{if(!this.emeController)return;s.setKeyFormat(e);let t=r4(e);if(t)return this.emeController.getKeySystemAccess([t])})}if(this.config.requireKeySystemAccessOnStart){let e=r8(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,r;t&&e.setKeyFormat(t);let a=e.decryptdata;if(!a){let i=Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,i))}let s=a.uri;if(!s)return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let n=li(a),o=this.keyIdToKeyInfo[n];if(null!=(i=o)&&i.decryptdata.key)return a.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if(this.emeController&&null!=(r=o)&&r.keyLoadPromise)switch(this.emeController.getKeyStatus(o.decryptdata)){case"usable":case"usable-in-future":return o.keyLoadPromise.then(t=>{let{keyInfo:i}=t;return a.key=i.decryptdata.key,{frag:e,keyInfo:i}})}switch(this.log(`${this.keyIdToKeyInfo[n]?"Rel":"L"}oading${a.keyId?" keyId: "+t8(a.keyId):""} URI: ${a.uri} from ${e.type} ${e.level}`),o=this.keyIdToKeyInfo[n]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if("identity"===a.keyFormat)return this.loadKeyHTTP(o,e);return this.loadKeyEME(o,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${a.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var r,a;if(!e.decryptdata.keyId&&null!=(r=t.initSegment)&&r.data){let i,r=(a=t.initSegment.data,i=[],i_(a,e=>i.push(e.subarray(8,24))),i);if(r.length){let t=r[0];t.some(e=>0!==e)?(this.log(`Using keyId found in init segment ${t8(t)}`),ae.setKeyIdForUri(e.decryptdata.uri,t)):(t=ae.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${t8(t)}`)),e.decryptdata.keyId=t}}return e.decryptdata.keyId||is(t)?(e.keyLoadPromise=this.emeController.loadKey(i).then(t=>(e.mediaKeySessionContext=t,i))).catch(i=>{throw e.keyLoadPromise=null,"data"in i&&(i.data.frag=t),i}):Promise.resolve(i)}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,r=new i.loader(i);return t.keyLoader=e.loader=r,e.keyLoadPromise=new Promise((a,s)=>{let n={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},o=i.keyLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};r.load(n,l,{onSuccess:(e,t,i,r)=>{let{frag:n,keyInfo:o}=i,l=li(o.decryptdata);if(!n.decryptdata||o!==this.keyIdToKeyInfo[l])return s(this.createKeyLoadError(n,tU.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),r));o.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,o.loader=null,a({frag:n,keyInfo:o})},onError:(e,i,r,a)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.KEY_LOAD_ERROR,Error(`HTTP Error ${e.code} loading key ${e.text}`),r,tQ({url:n.url,data:void 0},e)))},onTimeout:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.KEY_LOAD_TIMEOUT,Error("key loading timed out"),r))},onAbort:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.INTERNAL_ABORTED,Error("key loading aborted"),r))}})})}
29resetLoader(e){let{frag:t,keyInfo:i,url:r}=e,a=i.loader;t.keyLoader===a&&(t.keyLoader=null,i.loader=null);let s=li(i.decryptdata)||r;delete this.keyIdToKeyInfo[s],a&&a.destroy()}}function li(e){if(e.keyFormat!==r1){let t=e.keyId;if(t)return t8(t)}return e.uri}function lr(e){let{type:t}=e;switch(t){case tH:return tK;case tG:return tW;default:return tV}}function la(e,t){let i=e.url;return(void 0===i||0===i.indexOf("data:"))&&(i=t.url),i}class ls{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(tF.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(tF.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,r=t.loader,a=new(i||r)(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:tB,url:i,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){let{id:i,level:r,pathwayId:a,url:s,deliveryDirectives:n,levelInfo:o}=t;this.load({id:i,level:r,pathwayId:a,responseType:"text",type:t$,url:s,deliveryDirectives:n,levelOrTrack:o})}onAudioTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tH,url:a,deliveryDirectives:s,levelOrTrack:n})}onSubtitleTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tG,url:a,deliveryDirectives:s,levelOrTrack:n})}onLevelsUpdated(e,t){let i=this.loaders[t$];if(i){let e=i.context;e&&!t.levels.some(t=>t===e.levelOrTrack)&&(i.abort(),delete this.loaders[t$])}}load(e){var t;let i,r=this.hls.config,a=this.getInternalLoader(e);if(a){let t=this.hls.logger,i=a.context;if(i&&i.levelOrTrack===e.levelOrTrack&&(i.url===e.url||i.deliveryDirectives&&!e.deliveryDirectives))return void(i.url===e.url?t.log(`[playlist-loader]: ignore ${e.url} ongoing request`):t.log(`[playlist-loader]: ignore ${e.url} in favor of ${i.url}`));t.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),a.abort()}if(i=e.type===tB?r.manifestLoadPolicy.default:tY({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),a=this.createInternalLoader(e),tM(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===t$&&null!==e.level?t=this.hls.levels[e.level].details:e.type===tH&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===tG&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){let e=t.partTarget,r=t.targetduration;if(e&&r){let t=1e3*Math.max(3*e,.8*r);i=tY({},i,{maxTimeToFirstByteMs:Math.min(t,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,i.maxTimeToFirstByteMs)})}}}let s=i.errorRetry||i.timeoutRetry||{},n={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:s.maxNumRetry||0,retryDelay:s.retryDelayMs||0,maxRetryDelay:s.maxRetryDelayMs||0};a.load(e,n,{onSuccess:(e,t,i,r)=>{let a=this.getInternalLoader(i);this.resetInternalLoader(i.type);let s=e.data;t.parsing.start=performance.now(),ao.isMediaPlaylist(s)||i.type!==tB?this.handleTrackOrLevelPlaylist(e,t,i,r||null,a):this.handleMasterPlaylist(e,t,i,r)},onError:(e,t,i,r)=>{this.handleNetworkError(t,i,!1,e,r)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}})}
29checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,r){let a=this.hls,s=e.data,n=la(e,i),o=ao.parseMasterPlaylist(s,n);if(o.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,o.playlistParsingError,r,t);return}let{contentSteering:l,levels:d,sessionData:u,sessionKeys:h,startTimeOffset:c,variableList:m}=o;this.variableList=m,d.forEach(e=>{let{unknownCodecs:t}=e;if(t){let{preferManagedMediaSource:i}=this.hls.config,{audioCodec:r,videoCodec:a}=e;for(let s=t.length;s--;){let n=t[s];ix(n,"audio",i)?(e.audioCodec=r=r?`${r},${n}`:n,iC.audio[r.substring(0,4)]=2,t.splice(s,1)):ix(n,"video",i)&&(e.videoCodec=a=a?`${a},${n}`:n,iC.video[a.substring(0,4)]=2,t.splice(s,1))}}});let{AUDIO:f=[],SUBTITLES:p,"CLOSED-CAPTIONS":g}=ao.parseMasterPlaylistMedia(s,n,o);f.length&&(f.some(e=>!e.url)||!d[0].audioCodec||d[0].attrs.AUDIO||(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),f.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new rF({}),bitrate:0,url:""}))),a.trigger(tF.MANIFEST_LOADED,{levels:d,audioTracks:f,subtitles:p,captions:g,contentSteering:l,url:n,stats:t,networkDetails:r,sessionData:u,sessionKeys:h,startTimeOffset:c,variableList:m})}handleTrackOrLevelPlaylist(e,t,i,r,a){let s=this.hls,{id:n,level:o,type:l}=i,d=la(e,i),u=tM(o)?o:tM(n)?n:0,h=lr(i),c=ao.parseLevelPlaylist(e.data,d,u,h,0,this.variableList);if(l===tB){let e={attrs:new rF({}),bitrate:0,details:c,name:"",url:d};c.requestScheduled=t.loading.start+a_(c,0),s.trigger(tF.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:r,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=c,this.handlePlaylistLoaded(c,e,t,i,r,a)}handleManifestParsingError(e,t,i,r,a){this.hls.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.MANIFEST_PARSING_ERROR,fatal:t.type===tB,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:r,stats:a})}handleNetworkError(e,t,i=!1,r,a){let s=`A network ${i?"timeout":"error"+(r?" (status "+r.code+")":"")} occurred while loading ${e.type}`;e.type===t$?s+=`: ${e.level} id: ${e.id}`:(e.type===tH||e.type===tG)&&(s+=` id: ${e.id} group-id: "${e.groupId}"`);let n=Error(s);this.hls.logger.warn(`[playlist-loader]: ${s}`);let o=tU.UNKNOWN,l=!1,d=this.getInternalLoader(e);switch(e.type){case tB:o=i?tU.MANIFEST_LOAD_TIMEOUT:tU.MANIFEST_LOAD_ERROR,l=!0;break;case t$:o=i?tU.LEVEL_LOAD_TIMEOUT:tU.LEVEL_LOAD_ERROR,l=!1;break;case tH:o=i?tU.AUDIO_TRACK_LOAD_TIMEOUT:tU.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case tG:o=i?tU.SUBTITLE_TRACK_LOAD_TIMEOUT:tU.SUBTITLE_LOAD_ERROR,l=!1}d&&this.resetInternalLoader(e.type);let u={type:tN.NETWORK_ERROR,details:o,fatal:l,url:e.url,loader:d,context:e,error:n,networkDetails:t,stats:a};r&&(u.response=tQ({url:(null==t?void 0:t.url)||e.url,data:void 0},r)),this.hls.trigger(tF.ERROR,u)}handlePlaylistLoaded(e,t,i,r,a,s){let n=this.hls,{type:o,level:l,levelOrTrack:d,id:u,groupId:h,deliveryDirectives:c}=r,m=la(t,r),f=lr(r),p="number"==typeof r.level&&f===tV?l:void 0,g=e.playlistParsingError;if(g){if(this.hls.logger.warn(`${g} ${e.url}`),!n.config.ignorePlaylistParsingErrors)return void n.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_PARSING_ERROR,fatal:!1,url:m,error:g,reason:g.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});e.playlistParsingError=null}if(!e.fragments.length){let s=e.playlistParsingError=Error("No Segments found in Playlist");n.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_EMPTY_ERROR,fatal:!1,url:m,error:s,reason:s.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});return}switch(e.live&&s&&(s.getCacheAge&&(e.ageHeader=s.getCacheAge()||0),(!s.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),o){case tB:case t$:if(p)if(d){if(d!==n.levels[p]){let e=n.levels.indexOf(d);e>-1&&(p=e)}}else p=0;n.trigger(tF.LEVEL_LOADED,{details:e,levelInfo:d||n.levels[0],level:p||0,id:u||0,stats:i,networkDetails:a,deliveryDirectives:c,withoutMultiVariant:o===tB});break;case tH:n.trigger(tF.AUDIO_TRACK_LOADED,{details:e,track:d,id:u||0,groupId:h||"",stats:i,networkDetails:a,deliveryDirectives:c});break;case tG:n.trigger(tF.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:u||0,groupId:h||"",stats:i,networkDetails:a,deliveryDirectives:c})}}}class ln{static get version(){return a0}static isMSESupported(){return o7()}static isSupported(){if(!o7())return!1;let e=t3();
29return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>e.isTypeSupported(iP(t,"video")))||["mp4a.40.2","fLaC"].some(t=>e.isTypeSupported(iP(t,"audio"))))}static getMediaSource(){return t3()}static get Events(){return tF}static get MetadataSchema(){return sn}static get ErrorTypes(){return tN}static get ErrorDetails(){return tU}static get DefaultConfig(){return ln.defaultConfig?ln.defaultConfig:oQ}static set DefaultConfig(e){ln.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new aJ,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=function(e,t,i){let r=t0();if("object"==typeof console&&!0===e||"object"==typeof e){let a=["debug","log","info","warn","error"];a.forEach(t=>{r[t]=t1(t,e,i)});try{r.log(`Debug logs enabled for "${t}" in hls.js version 1.6.15`)}catch(e){return t0()}a.forEach(t=>{t2[t]=t1(t,e)})}else tY(t2,r);return r}(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=function(e,t,i){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let r=function e(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,r)=>(i[r]=e(t[r]),i),{}):t}(e),a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(e=>{let s=`${"level"===e?"playlist":e}LoadPolicy`,n=void 0===t[s],o=[];a.forEach(i=>{let a=`${e}Loading${i}`,l=t[a];if(void 0!==l&&n){o.push(a);let e=r[s].default;switch(t[s]={default:e},i){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}}),o.length&&i.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${s}": ${i1(t[s])}`)}),tQ(tQ({},r),t)}(ln.DefaultConfig,e,t);this.userConfig=e,i.progressive&&function(e,t){let i=e.loader;i!==oW&&i!==oz?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}()&&(e.loader=oW,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}(i,t);const{abrController:r,bufferController:a,capLevelController:s,errorController:n,fpsController:o}=i,l=new n(this),d=this.abrController=new r(this),u=new rg(this),h=i.interstitialsController,c=h?this.interstitialsController=new h(this,ln):null,m=this.bufferController=new a(this,u),f=this.capLevelController=new s(this),p=new o(this),g=new ls(this),E=i.contentSteeringController,y=E?new E(this):null,b=this.levelController=new o8(this,y),T=new o4(this),A=new lt(this.config,this.logger),_=this.streamController=new le(this,u,A),S=this.gapController=new oX(this,u);f.setStreamController(_),p.setStreamController(_);const k=[g,b,_];c&&k.splice(1,0,c),y&&k.splice(1,0,y),this.networkControllers=k;const L=[d,m,S,f,p,T,u];this.audioTrackController=this.createController(i.audioTrackController,k);const R=i.audioStreamController;R&&k.push(this.audioStreamController=new R(this,u,A)),this.subtitleTrackController=this.createController(i.subtitleTrackController,k);const I=i.subtitleStreamController;I&&k.push(this.subtititleStreamController=new I(this,u,A)),this.createController(i.timelineController,L),A.emeController=this.emeController=this.createController(i.emeController,L),this.cmcdController=this.createController(i.cmcdController,L),this.latencyController=this.createController(o5,L),this.coreComponents=L,k.push(l);const w=l.onErrorOut;"function"==typeof w&&this.on(tF.ERROR,w,l),this.on(tF.MANIFEST_LOADED,g.onManifestLoaded,g)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,r){this._emitter.off(e,t,i,r)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}
29trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;let i=e===tF.ERROR;this.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(tF.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let t=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.ATTACH_MEDIA_ERROR,fatal:!0,error:t});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());let t="media"in e,i=t?e.media:e,r=t?e:{media:i};this._media=i,this.trigger(tF.MEDIA_ATTACHING,r)}detachMedia(){this.logger.log("detachMedia"),this.trigger(tF.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;let e=this.bufferController.transferMedia();return this.trigger(tF.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();let t=this.media,i=this._url,r=this._url=t7.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),t&&i&&(i!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(tF.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].startLoad(e,t),this.started&&this.networkControllers);i++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!this.started&&this.networkControllers);e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){let e={[tV]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[tK]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[tW]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=function(){try{return crypto.randomUUID()}catch(e){try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(t){let e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)})}}}()),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return -1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){iz.indexOf(e)>-1&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return -1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let i=e.length;for(let r=0;r<i;r++)if(e[r].maxBitrate>=t)return r;return 0}get maxAutoLevel(){let e,{levels:t,autoLevelCapping:i,maxHdcpLevel:r}=this;if(e=-1===i&&null!=t&&t.length?t.length-1:i,r)for(let i=e;i--;){let e=t[i].attrs["HDCP-LEVEL"];if(e&&e<=r)return i}return e}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}
29setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!(null!=(e=this.bufferController)&&e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return ij(e,i3(t),navigator.mediaCapabilities)}}ln.defaultConfig=void 0;var lo="video",ll=e=>e===lo?"playback":e,ld=class e extends Error{constructor(t,i=e.MEDIA_ERR_CUSTOM,r,a){var s;super(t),this.name="MediaError",this.code=i,this.context=a,this.fatal=null!=r?r:i>=e.MEDIA_ERR_NETWORK&&i<=e.MEDIA_ERR_ENCRYPTED,this.message||(this.message=null!=(s=e.defaultMessages[this.code])?s:"")}};ld.MEDIA_ERR_ABORTED=1,ld.MEDIA_ERR_NETWORK=2,ld.MEDIA_ERR_DECODE=3,ld.MEDIA_ERR_SRC_NOT_SUPPORTED=4,ld.MEDIA_ERR_ENCRYPTED=5,ld.MEDIA_ERR_CUSTOM=100,ld.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 lu=(e,t)=>null!=t&&e in t,lh={ANY:"any",MUTED:"muted"},lc="on-demand",lm="live",lf="unknown",lp="native",lg={HEADER:"header",QUERY:"query",NONE:"none"},lv=Object.values(lg),lE={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},ly={HLS:lE.M3U8};Object.keys(ly),[...Object.values(lE)];var lb={code:"en"},lT=(e,t,i,r,a=e)=>{a.addEventListener(t,i,r),e.addEventListener("teardown",()=>{a.removeEventListener(t,i)},{once:!0})},lA=e=>{let t=e.indexOf("?");return t<0?[e]:[e.slice(0,t),e.slice(t)]},l_=e=>{let{type:t}=e;if(t){let e=t.toUpperCase();return lu(e,ly)?ly[e]:t}return lL(e)},lS=e=>"VOD"===e?lc:lm,lk=e=>"EVENT"===e?1/0:"VOD"===e?NaN:0,lL=e=>{let{src:t}=e;if(!t)return"";let i="";try{i=new URL(t).pathname}catch{console.error("invalid url")}let r=i.lastIndexOf(".");if(r<0)return lI(e)?lE.M3U8:"";let a=i.slice(r+1).toUpperCase();return lu(a,lE)?lE[a]:""},lR="mux.com",lI=({src:e,customDomain:t=lR})=>{let i;try{i=new URL(`${e}`)}catch{return!1}let r="https:"===i.protocol,a=i.hostname===`stream.${t}`.toLowerCase(),s=i.pathname.split("/"),n=2===s.length,o=!(null!=s&&s[1].includes("."));return r&&a&&n&&o},lw=e=>{let t=(null!=e?e:"").split(".")[1];if(t)try{let e=t.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(e).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}catch{return}};function lC(e,t=!0){var i;return new lD(t&&null!=(i=null==lb?void 0:lb[e])?i:e,t?lb.code:"en")}
29var lD=class{constructor(e,t=(e=>null!=(e=lb)?e:"en")()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var r;return null!=(r=e[i])?r:""})}toString(){return this.message}},lx=Object.values(lh),lM=e=>"boolean"==typeof e||"string"==typeof e&&lx.includes(e),lP=(e,t)=>{if(!t)return;let i=e.muted,r=()=>e.muted=i;switch(t){case lh.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(r)});break;case lh.MUTED:e.muted=!0,e.play().catch(r);break;default:e.play().catch(()=>{})}},lO=e=>"time"in e?e.time:e.startTime;function lN(e,t,i,r,a,s){let n=document.createElement("track");return n.kind=t,n.label=i,r&&(n.srclang=r),a&&(n.id=a),s&&(n.default=!0),n.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),e.append(n),n.track}function lU(e,t,i){var r;return null==(r=Array.from(e.querySelectorAll("track")).find(e=>e.track.label===t&&e.track.kind===i))?void 0:r.track}async function lF(e,t,i,r){let a=lU(e,i,r);return a||((a=lN(e,r,i)).mode="hidden",await new Promise(e=>setTimeout(()=>e(void 0),0))),"hidden"!==a.mode&&(a.mode="hidden"),[...t].sort((e,t)=>lO(t)-lO(e)).forEach(t=>{var i,s;let n=t.value,o=lO(t);if("endTime"in t&&null!=t.endTime)null==a||a.addCue(new VTTCue(o,t.endTime,"chapters"===r?n:JSON.stringify(null!=n?n:null)));else{let t=Array.prototype.findIndex.call(null==a?void 0:a.cues,e=>e.startTime>=o),l=null==(i=null==a?void 0:a.cues)?void 0:i[t],d=l?l.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,u=null==(s=null==a?void 0:a.cues)?void 0:s[t-1];u&&(u.endTime=o),null==a||a.addCue(new VTTCue(o,d,"chapters"===r?n:JSON.stringify(null!=n?n:null)))}}),e.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),a}var lB="cuepoints",l$=Object.freeze({label:lB});async function lH(e,t,i=l$){return lF(e,t,i.label,"metadata")}var lG=e=>({time:e.startTime,value:JSON.parse(e.text)});function lV(e,t={label:lB}){var i,r;let a=lU(e,t.label,"metadata");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return lG(a.activeCues[0]);let{currentTime:s}=e;return lG(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function lK(e,t=l$){return new Promise(i=>{lT(e,"loadstart",async()=>{let r=await lH(e,[],t);lT(e,"cuechange",()=>{let t=lV(e);if(t){let i=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}var lW="chapters",lq=Object.freeze({label:lW}),lj=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function lY(e,t,i=lq){return lF(e,t,i.label,"chapters")}function lz(e,t={label:lW}){var i,r;let a=lU(e,t.label,"chapters");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return lj(a.activeCues[0]);let{currentTime:s}=e;return lj(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function lQ(e,t=lq){return new Promise(i=>{lT(e,"loadstart",async()=>{let r=await lY(e,[],t);lT(e,"cuechange",()=>{let t=lz(e);if(t){let i=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}var lX=(e,t,i,r,a=!1,s=!(e=>null==(e=globalThis.navigator)?void 0:e.onLine)())=>{var n,o,l,d;let u,h;if(s){let i=lC("Your device appears to be offline",a),r=ld.MEDIA_ERR_NETWORK,s=new ld(i,r,!1,void 0);return s.errorCategory=t,s.muxCode=2000002,s.data=e,s}let c="status"in e?e.status:e.code,m=Date.now(),f=ld.MEDIA_ERR_NETWORK;if(200===c)return;let p=ll(t),g=(u=ll(t),h=`${u}Token`,null!=(l=i.tokens)&&l[u]?null==(d=i.tokens)?void 0:d[u]:lu(h,i)?i[h]:void 0),E=t===lo?"v":"drm"===t?"d":void 0,[y]=lA(null!=(n=i.playbackId)?n:"");if(!c||!y)return;let b=lw(g);if(g&&!b){let i=new ld(lC("The {tokenNamePrefix}-token provided is invalid or malformed.",a).format({tokenNamePrefix:p}),f,!0,lC("Compact JWT string: {token}",a).format({token:g}));return i.errorCategory=t,i.muxCode=2412202,i.data=e,i}if(c>=500){let e=new ld("",f,null==r||r);return e.errorCategory=t,e.muxCode=2e6,e}if(403===c)if(b){if((({exp:e},t=Date.now())=>!e||1e3*e<t)(b,m)){let i={timeStyle:"medium",dateStyle:"medium"},r=new ld(lC("The videoâs secured {tokenNamePrefix}-token has expired.",a).format({tokenNamePrefix:p}),f,!0,lC("Expired at: {expiredDate}. Current time: {currentDate}.",a).format({expiredDate:new Intl.DateTimeFormat("en",i).format(null!=(o=b.exp)?o:0),currentDate:new Intl.DateTimeFormat("en",i).format(m)}));return r.errorCategory=t,r.muxCode=2403210,r.data=e,r}if((({sub:e},t)=>e!==t)(b,y)){let i=new ld(lC("The videoâs playback ID does not match the one encoded in the {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p}),f,!0,lC("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",a).format({tokenNamePrefix:p,playbackId:y,tokenPlaybackId:b.sub}));return i.errorCategory=t,i.muxCode=2403232,i.data=e,i}if((({aud:e},t)=>!e)(b,0)){let i=new ld(lC("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lC("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:E}));return i.errorCategory=t,i.muxCode=2403221,i.data=e,i}if((({aud:e},t)=>e!==t)(b,E)){let i=new ld(lC("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:E,aud:b.aud}));return i.errorCategory=t,i.muxCode=2403222,i.data=e,i}}else{let i=new ld(lC("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p,category:t}),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=2403201,i.data=e,i}if(412===c){let s=new ld(lC("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",a),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return s.errorCategory=t,s.muxCode=2412e3,s.streamType=i.streamType===lm?"live":i.streamType===lc?"on-demand":"unknown",s.data=e,s}if(404===c){let i=new ld(lC("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",a),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=2404e3,i.data=e,i}
29if(400===c){let i=new ld(lC("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=24e5,i.data=e,i}let T=new ld("",f,null==r||r);return T.errorCategory=t,T.muxCode=2e6,T.data=e,T},lZ=ln.DefaultConfig.capLevelController,lJ=class e extends lZ{constructor(e){super(e)}get levels(){var e;return null!=(e=this.hls.levels)?e:[]}getValidLevels(e){return this.levels.filter((t,i)=>this.isLevelAllowed(t)&&i<=e)}getMaxLevel(t){let i=super.getMaxLevel(t),r=this.getValidLevels(t);if(!r[i])return i;let a=Math.min(r[i].width,r[i].height),s=e.minMaxResolution;return a>=s?i:lZ.getMaxLevelByMediaSize(r,16/9*s,s)}};lJ.minMaxResolution=720;var l0,l1,l2,l3,l4,l5,l8,l9,l6,l7,de,dt,di,dr,da,ds,dn,dl,dd,du,dh,dc,dm,df="fairplay",dp=/([A-Z0-9-]+)="?(.*?)"?(?:,|$)/g,dg=async(e,t)=>{if(t===lE.MP4)return{streamType:lc,targetLiveWindow:NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===lE.M3U8){let t=await fetch(e);if(!t.ok)return Promise.reject(t);let i=await t.text(),r=await fetch(i.split(` 30`).find((e,t,i)=>t&&i[t-1].startsWith("#EXT-X-STREAM-INF"))).then(e=>200!==e.status?Promise.reject(e):e.text());return{...(e=>{let t=e.split(` 31`).filter(e=>e.startsWith("#EXT-X-SESSION-DATA"));if(!t.length)return{};let i={};for(let e of t){let t=Object.fromEntries([...e.matchAll(dp)].map(([,e,t])=>[e,t])),r=t["DATA-ID"];r&&(i[r]={...t})}return{sessionData:i}})(i),...(e=>{var t,i,r;let a=e.split(` 32`),s=null==(i=(null!=(t=a.find(e=>e.startsWith("#EXT-X-PLAYLIST-TYPE")))?t:"").split(":")[1])?void 0:i.trim(),n=lS(s),o=lk(s),l;if(n===lm){let e=a.find(e=>e.startsWith("#EXT-X-PART-INF"));if(e)l=2*e.split(":")[1].split("=")[1];else{let e=a.find(e=>e.startsWith("#EXT-X-TARGETDURATION")),t=null==(r=null==e?void 0:e.split(":"))?void 0:r[1];l=(null!=t?t:6)*3}}return{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:l}})(r)}}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}},dv=async(e,t,i=l_({src:e}))=>{var r,a,s,n;let{streamType:o,targetLiveWindow:l,liveEdgeStartOffset:d,sessionData:u}=await dg(e,i),h=null==u?void 0:u["com.apple.hls.chapters"];(null!=h&&h.URI||null!=h&&h.VALUE.toLocaleLowerCase().startsWith("http"))&&dE(null!=(r=h.URI)?r:h.VALUE,t),(null!=(a=dS.get(t))?a:{}).liveEdgeStartOffset=d,(null!=(s=dS.get(t))?s:{}).targetLiveWindow=l,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(n=dS.get(t))?n:{}).streamType=o,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},dE=async(e,t)=>{var i,r;try{let a=await fetch(e);if(!a.ok)throw Error(`Failed to fetch Mux metadata: ${a.status} ${a.statusText}`);let s=await a.json(),n={};if(!(null!=(i=null==s?void 0:s[0])&&i.metadata))return;for(let e of s[0].metadata)e.key&&e.value&&(n[e.key]=e.value);(null!=(r=dS.get(t))?r:{}).metadata=n;let o=new CustomEvent("muxmetadata");t.dispatchEvent(o)}catch(e){console.error(e)}},dy=null!=(ds=null==(da=null==globalThis?void 0:globalThis.navigator)?void 0:da.userAgent)?ds:"",db=null!=(dd=null==(dl=null==(dn=null==globalThis?void 0:globalThis.navigator)?void 0:dn.userAgentData)?void 0:dl.platform)?dd:"",dT=null!=(dc=null==(dh=null==(du=null==globalThis?void 0:globalThis.navigator)?void 0:du.userAgentData)?void 0:dh.brands)?dc:[],dA=dy.toLowerCase().includes("android")||["x11","android"].some(e=>db.toLowerCase().includes(e)),d_=dT.find(e=>"Google Chrome"===e.brand),dS=new WeakMap,dk="mux.com",dL=null==(dm=ln.isSupported)?void 0:dm.call(ln),dR=()=>tD.utils.now(),dI=tD.utils.generateUUID,dw=({playbackId:e,customDomain:t=dk,maxResolution:i,minResolution:r,renditionOrder:a,programStartTime:s,programEndTime:n,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:h={}}={})=>{if(!e)return;let[c,m=""]=lA(e),f=new URL(`https://stream.${t}/${c}.m3u8${m}`);
32return u||f.searchParams.has("token")?(f.searchParams.forEach((e,t)=>{"token"!=t&&f.searchParams.delete(t)}),u&&f.searchParams.set("token",u)):(i&&f.searchParams.set("max_resolution",i),r&&(f.searchParams.set("min_resolution",r),i&&+i.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",i)),a&&f.searchParams.set("rendition_order",a),s&&f.searchParams.set("program_start_time",`${s}`),n&&f.searchParams.set("program_end_time",`${n}`),o&&f.searchParams.set("asset_start_time",`${o}`),l&&f.searchParams.set("asset_end_time",`${l}`),Object.entries(h).forEach(([e,t])=>{null!=t&&f.searchParams.set(e,t)})),f.toString()},dC=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},dD=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(/\.m3u8|\//);return t||void 0},dx=e=>{var t;return null==(t=dS.get(e))?void 0:t.error},dM=e=>{var t,i;return null!=(i=null==(t=dS.get(e))?void 0:t.streamType)?i:lf},dP=e=>{var t,i;return null!=(i=null==(t=dS.get(e))?void 0:t.seekable)?i:e.seekable},dO=.034,dN=(e,t,i=dO)=>e>t||((e,t,i=dO)=>Math.abs(e-t)<=i)(e,t,i),dU=(e,t)=>{var i,r,a;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let s=t.currentLevel>=0?null==(r=null==(i=t.levels)?void 0:i[t.currentLevel])?void 0:r.details:null==(a=t.levels.find(e=>!!e.details))?void 0:a.details;if(!s||s.live)return;let{fragments:n}=s;if(!(null!=n&&n.length))return;if(e.currentTime<e.duration-(s.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=e.buffered.start(e.buffered.length-1),u=e.buffered.end(e.buffered.length-1);return l>d&&l<u},dF=(e,t)=>e.ended||e.loop?e.ended:!!(t&&dU(e,t))||((e,t=dO)=>e.paused&&dN(e.currentTime,e.duration,t))(e),dB=(e,t,i)=>{let r=null==t?void 0:t.engine;null!=e&&e.mux&&!e.mux.deleted&&(null!=i&&i.muxDataKeepSession?r&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),r&&(r.detachMedia(),r.destroy()),e&&(e.hasAttribute("src")&&(e.removeAttribute("src"),e.load()),e.removeEventListener("error",dz),e.removeEventListener("error",dX),e.removeEventListener("durationchange",dY),dS.delete(e),e.dispatchEvent(new Event("teardown")))};function d$(e,t){var i,r;let a=l_(e);if(a!==lE.M3U8)return!0;let s=!a||null==(i=t.canPlayType(a))||i,{preferPlayback:n}=e,o=dL&&("mse"===n||dA||d_&&parseInt(null!=(r=d_.version)?r:"0")>=141&&!!t.canPlayType("application/vnd.apple.mpegurl"));return s&&(n===lp||!o)}var dH=e=>e===lm?{backBufferLength:8}:{},dG=e=>{let{tokens:{drm:t}={},playbackId:i,drmTypeCb:r}=e,a=dC(i);return t&&a?{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:dW(e,"fairplay"),serverCertificateUrl:dq(e,"fairplay")},"com.widevine.alpha":{licenseUrl:dW(e,"widevine")},"com.microsoft.playready":{licenseUrl:dW(e,"playready")}},requestMediaKeySystemAccessFunc:(e,t)=>("com.widevine.alpha"===e&&(t=[...t.map(e=>{var t;let i=null==(t=e.videoCapabilities)?void 0:t.map(e=>({...e,robustness:"HW_SECURE_ALL"}));return{...e,videoCapabilities:i}}),...t]),navigator.requestMediaKeySystemAccess(e,t).then(t=>{let i=e.includes("fps")?df:e.includes("playready")?"playready":e.includes("widevine")?"widevine":void 0;return null==r||r(i),t}))}:{}},dV=async e=>{let t=await fetch(e);return 200!==t.status?Promise.reject(t):await t.arrayBuffer()},dK=async(e,t)=>{let i=await fetch(t,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:e});return 200!==i.status?Promise.reject(i):new Uint8Array(await i.arrayBuffer())},dW=({playbackId:e,tokens:{drm:t}={},customDomain:i=dk},r)=>{let a=dC(e);return`https://license.${i.toLocaleLowerCase().endsWith(dk)?i:dk}/license/${r}/${a}?token=${t}`},dq=({playbackId:e,tokens:{drm:t}={},customDomain:i=dk},r)=>{let a=dC(e);return`https://license.${i.toLocaleLowerCase().endsWith(dk)?i:dk}/appcert/${r}/${a}?token=${t}`},dj=({playbackId:e,src:t,customDomain:i})=>{if(e)return!0;if("string"!=typeof t)return!1;let r=new URL(t,null==window?void 0:window.location.href).hostname.toLocaleLowerCase();return r.includes(dk)||!!i&&r.includes(i.toLocaleLowerCase())};function dY(e){var t;let i=e.target,r=null==(t=dS.get(i))?void 0:t.startTime;if(r&&function(e,t,i){t&&i>t&&(i=t);for(let t=0;t<e.length;t++)if(e.start(t)<=i&&e.end(t)>=i)return!0;return!1}(i.seekable,i.duration,r)){let e="auto"===i.preload;e&&(i.preload="none"),i.currentTime=r,e&&(i.preload="auto")}}async function dz(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(null!=t&&t.error))return;let{message:i,code:r}=t.error,a=new ld(i,r);if(t.src&&r===ld.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING)return void setTimeout(()=>{var e;let i=null!=(e=dx(t))?e:t.error;(null==i?void 0:i.code)===ld.MEDIA_ERR_SRC_NOT_SUPPORTED&&dQ(t,a)},500);if(t.src&&(r!==ld.MEDIA_ERR_DECODE||void 0!==r))try{let{status:e}=await fetch(t.src);a.data={response:{code:e}}}catch{}dQ(t,a)}function dQ(e,t){var i;t.fatal&&((null!=(i=dS.get(e))?i:{}).error=t,e.dispatchEvent(new CustomEvent("error",{detail:t})))}function dX(e){var t,i;if(!(e instanceof CustomEvent)||!(e.detail instanceof ld))return;let r=e.target,a=e.detail;a&&a.fatal&&((null!=(t=dS.get(r))?t:{}).error=a,null==(i=r.mux)||i.emit("error",{player_error_code:a.code,player_error_message:a.message,player_error_context:a.context}))}var dZ=(e,t)=>{var i,r,a;e.fatal?console.error("getErrorFromHlsErrorData()",e):t.debug&&console.warn("getErrorFromHlsErrorData() (non-fatal)",e);
32let s={[ln.ErrorTypes.NETWORK_ERROR]:ld.MEDIA_ERR_NETWORK,[ln.ErrorTypes.MEDIA_ERROR]:ld.MEDIA_ERR_DECODE,[ln.ErrorTypes.KEY_SYSTEM_ERROR]:ld.MEDIA_ERR_ENCRYPTED},n,o=[ln.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,ln.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(e.details)?ld.MEDIA_ERR_NETWORK:s[e.type];if(o===ld.MEDIA_ERR_NETWORK&&e.response){let a=null!=(i=e.type===ln.ErrorTypes.KEY_SYSTEM_ERROR?"drm":e.type===ln.ErrorTypes.NETWORK_ERROR?lo:void 0)?i:lo;n=null!=(r=lX(e.response,a,t,e.fatal))?r:new ld("",o,e.fatal)}else o===ld.MEDIA_ERR_ENCRYPTED?e.details===ln.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE?((n=new ld(lC("Attempting to play DRM-protected content without providing a DRM token."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000002):e.details===ln.ErrorDetails.KEY_SYSTEM_NO_ACCESS?((n=new ld(lC("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000001):e.details===ln.ErrorDetails.KEY_SYSTEM_NO_SESSION?((n=new ld(lC("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),ld.MEDIA_ERR_ENCRYPTED,!0)).errorCategory="drm",n.muxCode=5000002):e.details===ln.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED?((n=new ld(lC("Failed to update DRM license. This may be an issue with the player or your protected content."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000003):e.details===ln.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED?((n=new ld(lC("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000004):e.details===ln.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR?((n=new ld(lC("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000005):e.details===ln.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED?((n=new ld(lC("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen."),ld.MEDIA_ERR_ENCRYPTED,!1)).errorCategory="drm",n.muxCode=5000006):((n=new ld(e.error.message,ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5e6):n=new ld("",o,e.fatal);return n.context||(n.context=`${e.url?`url: ${e.url} 33`:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text} 34`:""}${e.reason?`failure reason: ${e.reason} 35`:""}${e.level?`level: ${e.level} 36`:""}${e.parent?`parent stream controller: ${e.parent} 37`:""}${e.buffer?`buffer length: ${e.buffer} 38`:""}${e.error?`error: ${e.error} 39`:""}${e.event?`event: ${e.event} 40`:""}${e.err?`error message: ${null==(a=e.err)?void 0:a.message} 41`:""}`),n.data=e,n};let dJ=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],d0=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function d1(e){return` 42 <style> 43 :host { 44 display: inline-flex; 45 line-height: 0; 46 flex-direction: column; 47 justify-content: end; 48 } 49 50 audio { 51 width: 100%; 52 } 53 </style> 54 <slot name="media"> 55 <audio${d4(e)}></audio> 56 </slot> 57 <slot></slot> 58 `}function d2(e){return` 59 <style> 60 :host { 61 display: inline-block; 62 line-height: 0; 63 } 64 65 video { 66 max-width: 100%; 67 max-height: 100%; 68 min-width: 100%; 69 min-height: 100%; 70 object-fit: var(--media-object-fit, contain); 71 object-position: var(--media-object-position, 50% 50%); 72 } 73 74 video::-webkit-media-text-track-container { 75 transform: var(--media-webkit-text-track-transform); 76 transition: var(--media-webkit-text-track-transition); 77 } 78 </style> 79 <slot name="media"> 80 <video${d4(e)}></video> 81 </slot> 82 <slot></slot> 83 `}function d3(e,{tag:t,is:i}){let r=globalThis.document?.createElement?.(t,{is:i}),a=r?function(e){let t=[];for(let i=Object.getPrototypeOf(e);i&&i!==HTMLElement.prototype;i=Object.getPrototypeOf(i)){let e=Object.getOwnPropertyNames(i);t.push(...e)}return t}(r):[];return class s extends e{static getTemplateHTML=t.endsWith("audio")?d1:d2;static shadowRootOptions={mode:"open"};static Events=dJ;static #e=!1;static get observedAttributes(){return s.#t(),[...r?.constructor?.observedAttributes??[],...d0]}static #t(){if(this.#e)return;this.#e=!0;let e=new Set(this.observedAttributes);for(let t of(e.delete("muted"),a))if(!(t in this.prototype))if("function"==typeof r[t])this.prototype[t]=function(...e){return this.#i(),(()=>{if(this.call)return this.call(t,...e);let i=this.nativeEl?.[t];return i?.apply(this.nativeEl,e)})()};else{let i={get(){this.#i();let i=t.toLowerCase();if(e.has(i)){let e=this.getAttribute(i);return null!==e&&(""===e||e)}return this.get?.(t)??this.nativeEl?.[t]}};t!==t.toUpperCase()&&(i.set=function(i){this.#i();let r=t.toLowerCase();e.has(r)?!0===i||!1===i||null==i?this.toggleAttribute(r,!!i):this.setAttribute(r,i):this.set?this.set(t,i):this.nativeEl&&(this.nativeEl[t]=i)}),Object.defineProperty(this.prototype,t,i)}}#r=!1;#a=null;#s=new Map;#n;get;set;call;get nativeEl(){return this.#i(),this.#a??this.querySelector(":scope > [slot=media]")??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}set nativeEl(e){this.#a=e}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){return this.getAttribute("preload")??this.nativeEl?.preload}set preload(e){this.setAttribute("preload",`${e}`)}#i(){this.#r||(this.#r=!0,this.init())}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=function(e){let t={};for(let i of e)t[i.name]=i.value;return t}(this.attributes);i&&(e.is=i),t&&(e.part=t),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}for(let e of(this.nativeEl.muted=this.hasAttribute("muted"),a))this.#o(e);for(let e of(this.#n=new MutationObserver(this.#l.bind(this)),this.shadowRoot.addEventListener("slotchange",()=>this.#d()),this.#d(),this.constructor.Events))this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}#d(){let e=new Map(this.#s),t=this.shadowRoot?.querySelector("slot:not([name])");(t?.assignedElements({flatten:!0}).filter(e=>
83["track","source"].includes(e.localName))).forEach(t=>{e.delete(t);let i=this.#s.get(t);i||(i=t.cloneNode(),this.#s.set(t,i),this.#n?.observe(t,{attributes:!0})),this.nativeEl?.append(i),this.#u(i)}),e.forEach((e,t)=>{e.remove(),this.#s.delete(t)})}#l(e){for(let t of e)if("attributes"===t.type){let{target:e,attributeName:i}=t,r=this.#s.get(e);r&&i&&(r.setAttribute(i,e.getAttribute(i)??""),this.#u(r))}}#u(e){e&&"track"===e.localName&&e.default&&("chapters"===e.kind||"metadata"===e.kind)&&"disabled"===e.track.mode&&(e.track.mode="hidden")}#o(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}attributeChangedCallback(e,t,i){this.#i(),this.#h(e,t,i)}#h(e,t,i){["id","class"].includes(e)||!s.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(null===i?this.nativeEl?.removeAttribute(e):this.nativeEl?.getAttribute(e)!==i&&this.nativeEl?.setAttribute(e,i))}connectedCallback(){this.#i()}}}function d4(e){let t="";for(let i in e){if(!d0.includes(i))continue;let r=e[i];""===r?t+=` ${i}`:t+=` ${i}="${r}"`}return t}let d5=d3(globalThis.HTMLElement??class{},{tag:"video"});d3(globalThis.HTMLElement??class{},{tag:"audio"});var d8,d9,d6,d7,ue,ut,ui,ur,ua,us,un,uo,ul=e=>{throw TypeError(e)},ud=(e,t,i)=>t.has(e)||ul("Cannot "+i),uu=(e,t,i)=>(ud(e,t,"read from private field"),i?i.call(e):t.get(e)),uh=(e,t,i)=>t.has(e)?ul("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),uc=(e,t,i,r)=>(ud(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),um=(e,t,i)=>(ud(e,t,"access private method"),i),uf=(()=>{try{return"0.28.1"}catch{}return"UNKNOWN"})(),up=` 84<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>`,ug={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",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"}
84,uv=Object.values(ug),uE="mux-video",uy=class extends d5{constructor(){super(),uh(this,un),uh(this,d8),uh(this,d9),uh(this,d6),uh(this,d7,{}),uh(this,ue,{}),uh(this,ut),uh(this,ui),uh(this,ur),uh(this,ua),uh(this,us,""),uc(this,d6,dR()),this.nativeEl.addEventListener("muxmetadata",e=>{var t,i,r;let a=(i=this.nativeEl,null==(r=dS.get(i))?void 0:r.metadata),s=null!=(t=this.metadata)?t:{};this.metadata={...a,...s},(null==a?void 0:a["com.mux.video.branding"])==="mux-free-plan"&&(uc(this,us,"default"),this.updateLogo())})}static get NAME(){return uE}static get VERSION(){return uf}static get observedAttributes(){var e;return[...uv,...null!=(e=d5.observedAttributes)?e:[]]}static getLogoHTML(e){return e&&"false"!==e?"default"===e?up:`<img part="logo" src="${e}" />`:""}static getTemplateHTML(e={}){var t;return` 85 ${d5.getTemplateHTML(e)} 86 <style> 87 :host { 88 position: relative; 89 } 90 slot[name="logo"] { 91 display: flex; 92 justify-content: end; 93 position: absolute; 94 top: 1rem; 95 right: 1rem; 96 opacity: 0; 97 transition: opacity 0.25s ease-in-out; 98 z-index: 1; 99 } 100 slot[name="logo"]:has([part="logo"]) { 101 opacity: 1; 102 } 103 slot[name="logo"] [part="logo"] { 104 width: 5rem; 105 pointer-events: none; 106 user-select: none; 107 } 108 </style> 109 <slot name="logo"> 110 ${this.getLogoHTML(null!=(t=e[ug.LOGO])?t:"")} 111 </slot> 112 `}get preferCmcd(){var e;return null!=(e=this.getAttribute(ug.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lv.includes(e)?this.setAttribute(ug.PREFER_CMCD,e):console.warn(`Invalid value for preferCmcd. Must be one of ${lv.join()}`):this.removeAttribute(ug.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(ug.PLAYER_INIT_TIME)?+this.getAttribute(ug.PLAYER_INIT_TIME):uu(this,d6)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(ug.PLAYER_INIT_TIME):this.setAttribute(ug.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=uu(this,ur))?e:uE}set playerSoftwareName(e){uc(this,ur,e)}get playerSoftwareVersion(){var e;return null!=(e=uu(this,ui))?e:uf}set playerSoftwareVersion(e){uc(this,ui,e)}get _hls(){var e;return null==(e=uu(this,d8))?void 0:e.engine}get mux(){var e;return null==(e=this.nativeEl)?void 0:e.mux}get error(){var e;return null!=(e=dx(this.nativeEl))?e:null}get errorTranslator(){return uu(this,ua)}set errorTranslator(e){uc(this,ua,e)}get src(){return this.getAttribute("src")}set src(e){e!==this.src&&(null==e?this.removeAttribute("src"):this.setAttribute("src",e))}get type(){var e;return null!=(e=this.getAttribute(ug.TYPE))?e:void 0}set type(e){e!==this.type&&(e?this.setAttribute(ug.TYPE,e):this.removeAttribute(ug.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 null!=this.getAttribute(ug.DEBUG)}set debug(e){e!==this.debug&&(e?this.setAttribute(ug.DEBUG,""):this.removeAttribute(ug.DEBUG))}get disableTracking(){return this.hasAttribute(ug.DISABLE_TRACKING)}set disableTracking(e){e!==this.disableTracking&&this.toggleAttribute(ug.DISABLE_TRACKING,!!e)}get disableCookies(){return this.hasAttribute(ug.DISABLE_COOKIES)}set disableCookies(e){e!==this.disableCookies&&(e?this.setAttribute(ug.DISABLE_COOKIES,""):this.removeAttribute(ug.DISABLE_COOKIES))}get disablePseudoEnded(){return this.hasAttribute(ug.DISABLE_PSEUDO_ENDED)}set disablePseudoEnded(e){e!==this.disablePseudoEnded&&(e?this.setAttribute(ug.DISABLE_PSEUDO_ENDED,""):this.removeAttribute(ug.DISABLE_PSEUDO_ENDED))}get startTime(){let e=this.getAttribute(ug.START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set startTime(e){e!==this.startTime&&(null==e?this.removeAttribute(ug.START_TIME):this.setAttribute(ug.START_TIME,`${e}`))}get playbackId(){var e;return this.hasAttribute(ug.PLAYBACK_ID)?this.getAttribute(ug.PLAYBACK_ID):null!=(e=dD(this.src))?e:void 0}set playbackId(e){e!==this.playbackId&&(e?this.setAttribute(ug.PLAYBACK_ID,e):this.removeAttribute(ug.PLAYBACK_ID))}get maxResolution(){var e;return null!=(e=this.getAttribute(ug.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(ug.MAX_RESOLUTION,e):this.removeAttribute(ug.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(ug.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(ug.MIN_RESOLUTION,e):this.removeAttribute(ug.MIN_RESOLUTION))}get renditionOrder(){var e;return null!=(e=this.getAttribute(ug.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(ug.RENDITION_ORDER,e):this.removeAttribute(ug.RENDITION_ORDER))}get programStartTime(){let e=this.getAttribute(ug.PROGRAM_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programStartTime(e){null==e?this.removeAttribute(ug.PROGRAM_START_TIME):this.setAttribute(ug.PROGRAM_START_TIME,`${e}`)}get programEndTime(){let e=this.getAttribute(ug.PROGRAM_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programEndTime(e){null==e?this.removeAttribute(ug.PROGRAM_END_TIME):this.setAttribute(ug.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){let e=this.getAttribute(ug.ASSET_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetStartTime(e){null==e?this.removeAttribute(ug.ASSET_START_TIME):this.setAttribute(ug.ASSET_START_TIME,`${e}`)}get assetEndTime(){let e=this.getAttribute(ug.ASSET_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetEndTime(e){null==e?this.removeAttribute(ug.ASSET_END_TIME):this.setAttribute(ug.ASSET_END_TIME,`${e}`)}get customDomain(){var e;return null!=(e=this.getAttribute(ug.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(ug.CUSTOM_DOMAIN,e):this.removeAttribute(ug.CUSTOM_DOMAIN))}get drmToken(){var e;return null!=(e=this.getAttribute(ug.DRM_TOKEN))?e:void 0}
112set drmToken(e){e!==this.drmToken&&(e?this.setAttribute(ug.DRM_TOKEN,e):this.removeAttribute(ug.DRM_TOKEN))}get playbackToken(){var e,t,i,r;if(this.hasAttribute(ug.PLAYBACK_TOKEN))return null!=(e=this.getAttribute(ug.PLAYBACK_TOKEN))?e:void 0;if(this.hasAttribute(ug.PLAYBACK_ID)){let[,e]=lA(null!=(t=this.playbackId)?t:"");return null!=(i=new URLSearchParams(e).get("token"))?i:void 0}if(this.src)return null!=(r=new URLSearchParams(this.src).get("token"))?r:void 0}set playbackToken(e){e!==this.playbackToken&&(e?this.setAttribute(ug.PLAYBACK_TOKEN,e):this.removeAttribute(ug.PLAYBACK_TOKEN))}get tokens(){let e=this.getAttribute(ug.PLAYBACK_TOKEN),t=this.getAttribute(ug.DRM_TOKEN);return{...uu(this,ue),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{}}}set tokens(e){uc(this,ue,null!=e?e:{})}get ended(){return dF(this.nativeEl,this._hls)}get envKey(){var e;return null!=(e=this.getAttribute(ug.ENV_KEY))?e:void 0}set envKey(e){e!==this.envKey&&(e?this.setAttribute(ug.ENV_KEY,e):this.removeAttribute(ug.ENV_KEY))}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(ug.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(ug.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(ug.BEACON_COLLECTION_DOMAIN))}get streamType(){var e;return null!=(e=this.getAttribute(ug.STREAM_TYPE))?e:dM(this.nativeEl)}set streamType(e){e!==this.streamType&&(e?this.setAttribute(ug.STREAM_TYPE,e):this.removeAttribute(ug.STREAM_TYPE))}get targetLiveWindow(){var e,t,i;return this.hasAttribute(ug.TARGET_LIVE_WINDOW)?+this.getAttribute(ug.TARGET_LIVE_WINDOW):(e=this.nativeEl,null!=(i=null==(t=dS.get(e))?void 0:t.targetLiveWindow)?i:NaN)}set targetLiveWindow(e){e!=this.targetLiveWindow&&(null==e?this.removeAttribute(ug.TARGET_LIVE_WINDOW):this.setAttribute(ug.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e,t;if(this.hasAttribute(ug.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:i}=this,r=null!=(e=this.nativeEl.seekable.end(0))?e:0;return Math.max(null!=(t=this.nativeEl.seekable.start(0))?t:0,r-i)}return(e=>{var t;let i=null==(t=dS.get(e))?void 0:t.liveEdgeStartOffset;if("number"!=typeof i)return NaN;let r=dP(e);return r.length?r.end(r.length-1)-i:NaN})(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(ug.LIVE_EDGE_OFFSET))return+this.getAttribute(ug.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){e!=this.liveEdgeOffset&&(null==e?this.removeAttribute(ug.LIVE_EDGE_OFFSET):this.setAttribute(ug.LIVE_EDGE_OFFSET,`${+e}`))}get seekable(){return dP(this.nativeEl)}async addCuePoints(e){return lH(this.nativeEl,e)}get activeCuePoint(){return lV(this.nativeEl)}get cuePoints(){return function(e,t={label:lB}){let i=lU(e,t.label,"metadata");return null!=i&&i.cues?Array.from(i.cues,e=>lG(e)):[]}(this.nativeEl)}async addChapters(e){return lY(this.nativeEl,e)}get activeChapter(){return lz(this.nativeEl)}get chapters(){return function(e,t={label:lW}){var i;let r=lU(e,t.label,"chapters");return null!=(i=null==r?void 0:r.cues)&&i.length?Array.from(r.cues,e=>lj(e)):[]}(this.nativeEl)}getStartDate(){return function(e,t){if(t){let i=t.playingDate;if(null!=i)return new Date(i.getTime()-1e3*e.currentTime)}return"function"==typeof e.getStartDate?e.getStartDate():new Date(NaN)}(this.nativeEl,this._hls)}get currentPdt(){var e,t;return e=this.nativeEl,(t=this._hls)&&t.playingDate?t.playingDate:new Date("function"==typeof e.getStartDate?e.getStartDate().getTime()+1e3*e.currentTime:NaN)}get preferPlayback(){let e=this.getAttribute(ug.PREFER_PLAYBACK);if("mse"===e||e===lp)return e}set preferPlayback(e){e!==this.preferPlayback&&("mse"===e||e===lp?this.setAttribute(ug.PREFER_PLAYBACK,e):this.removeAttribute(ug.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(e=>e.startsWith("metadata-")&&![ug.METADATA_URL].includes(e)).reduce((e,t)=>{let i=this.getAttribute(t);return null!=i&&(e[t.replace(/^metadata-/,"").replace(/-/g,"_")]=i),e},{}),...uu(this,d7)}}set metadata(e){uc(this,d7,null!=e?e:{}),this.mux&&this.mux.emit("hb",uu(this,d7))}get _hlsConfig(){return uu(this,ut)}set _hlsConfig(e){uc(this,ut,e)}get logo(){var e;return null!=(e=this.getAttribute(ug.LOGO))?e:uu(this,us)}set logo(e){e?this.setAttribute(ug.LOGO,e):this.removeAttribute(ug.LOGO)}load(){uc(this,d8,((e,t,i)=>{var r,a,s;dB(t,i,e);let{metadata:n={}}=e,{view_session_id:o=dI()}=n,l=null!=(r=null==e?void 0:e.metadata)&&r.video_id?e.metadata.video_id:dj(e)&&null!=(s=null!=(a=dC(e.playbackId))?a:dD(e.src))?s:e.src;n.view_session_id=o,n.video_id=l,e.metadata=n,e.drmTypeCb=e=>{var i;null==(i=t.mux)||i.emit("hb",{view_drm_type:e})},dS.set(t,{retryCount:0});let d=((e,t)=>{let{debug:i,streamType:r,startTime:a=-1,metadata:s,preferCmcd:n,_hlsConfig:o={}}=e,l=l_(e)===lE.M3U8,d=d$(e,t);if(l&&!d&&dL){let l=dH(r),d=dG(e),u=new ln({debug:i,startPosition:a,cmcd:[lg.QUERY,lg.HEADER].includes(n)?{useHeaders:n===lg.HEADER,sessionId:null==s?void 0:s.view_session_id,contentId:null==s?void 0:s.video_id}:void 0,xhrSetup:(e,t)=>{var i,r;if(n&&n!==lg.QUERY)return;let a=new URL(t);if(!a.searchParams.has("CMCD"))return;let s=(null!=(r=null==(i=a.searchParams.get("CMCD"))?void 0:i.split(","))?r:[]).filter(e=>e.startsWith("sid")||e.startsWith("cid")).join(",");a.searchParams.set("CMCD",s),e.open("GET",a)},...null==o.capLevelToPlayerSize?{capLevelController:lJ}:{},...{backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},...l,...d,...o});return u.on(ln.Events.MANIFEST_PARSED,async function(e,i){var r,a;let s=null==(r=i.sessionData)?void 0:r["com.apple.hls.chapters"];(null!=s&&s.URI||null!=s&&s.VALUE.toLocaleLowerCase().startsWith("http"))&&dE(null!=(a=null==s?void 0:s.URI)?a:null==s?void 0:s.VALUE,t)}),u}})(e,t),u=(({preload:e,src:t},i,r)=>{let a=e=>{null!=e&&["","none","metadata","auto"].includes(e)?i.setAttribute("preload",e):i.removeAttribute("preload")};if(!r)return a(e),a;let s=!1,n=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=e=>{a(e);let t=null!=e?e:i.preload;n||"none"===t||("metadata"===t?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!s&&t&&(s=!0,r.loadSource(t))};return lT(i,"play",()=>{n=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(e),d})(e,t,d);null!=e&&e.muxDataKeepSession&&null!=t&&t.mux&&!t.mux.deleted?d&&t.mux.addHLSJS({hlsjs:d,Hls:d?ln:void 0}):((e,t,i)=>{var r;let{envKey:a,disableTracking:s,muxDataSDK:n=tD,muxDataSDKOptions:o={}}=e,l=dj(e);if(!s&&(a||l)){let{playerInitTime:s,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:h,disableCookies:c}=e,m={...e.metadata,video_title:(null==(r=null==e?void 0:e.metadata)?void 0:r.video_title)||void 0};n.monitor(t,{debug:h,beaconCollectionDomain:u,hlsjs:i,Hls:i?ln:void 0,automaticErrorTracking:!1,errorTranslator:t=>"string"!=typeof t.player_error_code&&("function"==typeof e.errorTranslator?e.errorTranslator(t):t),disableCookies:c,...o,data:{...a?{env_key:a}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:s,...m}})}})(e,t,d),((e,t,i)=>{var r,a;let s=d$(e,t),{src:n,customDomain:o=dk}=e,l=()=>{t.ended||e.disablePseudoEnded||!dF(t,i)||(dU(t,i)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))},d,u,h=()=>{let e=dP(t),i,r;e.length>0&&(i=e.start(0),r=e.end(0)),(u!==r||d!==i)&&t.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),d=i,u=r};if(lT(t,"durationchange",h),t&&s){let i=l_(e);
112if("string"==typeof n){if(n.endsWith(".mp4")&&n.includes(o)){let e=dD(n);dE(new URL(`https://stream.${o}/${e}/metadata.json`).toString(),t)}let s=()=>{if(dM(t)!==lm||Number.isFinite(t.duration))return;let e=setInterval(h,1e3);t.addEventListener("teardown",()=>{clearInterval(e)},{once:!0}),lT(t,"durationchange",()=>{Number.isFinite(t.duration)&&clearInterval(e)})},l=async()=>dv(n,t,i).then(s).catch(i=>{if(i instanceof Response){let r=lX(i,lo,e);if(r)return void dQ(t,r)}});if("none"===t.preload){let e=()=>{l(),t.removeEventListener("loadedmetadata",i)},i=()=>{l(),t.removeEventListener("play",e)};lT(t,"play",e,{once:!0}),lT(t,"loadedmetadata",i,{once:!0})}else l();null!=(r=e.tokens)&&r.drm?lT(t,"encrypted",async i=>{try{let r=i.initDataType;if("skd"!==r)return void console.error(`Received unexpected initialization data type "${r}"`);if(!t.mediaKeys){let i=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(t=>{var i;return null==(i=e.drmTypeCb)||i.call(e,df),t}).catch(()=>{let e=lC("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);i.errorCategory="drm",i.muxCode=5000001,dQ(t,i)});if(!i)return;let a=await i.createMediaKeys();try{let t=await dV(dq(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=lX(t,"drm",e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in app cert request"))}return Promise.reject(t)});await a.setServerCertificate(t).catch(()=>{let e=lC("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),t=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory="drm",t.muxCode=5000004,Promise.reject(t)})}catch(e){dQ(t,e);return}await t.setMediaKeys(a)}let a=i.initData;if(null==a)return void console.error(`Could not start encrypted playback due to missing initData in ${i.type} event`);let s=t.mediaKeys.createSession();s.addEventListener("keystatuseschange",()=>{s.keyStatuses.forEach(e=>{let i;if("internal-error"===e){let e=lC("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");(i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0)).errorCategory="drm",i.muxCode=5000005}else if("output-restricted"===e||"output-downscaled"===e){let e=lC("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");(i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!1)).errorCategory="drm",i.muxCode=5000006}i&&dQ(t,i)})});let n=await Promise.all([s.generateRequest(r,a).catch(()=>{let e=lC("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);i.errorCategory="drm",i.muxCode=5000002,dQ(t,i)}),new Promise(e=>{s.addEventListener("message",t=>{e(t.message)},{once:!0})})]).then(([,e])=>e),o=await dK(n,dW(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=lX(t,"drm",e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in license key request"))}return Promise.reject(t)});await s.update(o).catch(()=>{let e=lC("Failed to update DRM license. This may be an issue with the player or your protected content."),t=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory="drm",t.muxCode=5000003,Promise.reject(t)})}catch(e){dQ(t,e);return}}):lT(t,"encrypted",()=>{let e=new ld(lC("Attempting to play DRM-protected content without providing a DRM token."),ld.MEDIA_ERR_ENCRYPTED,!0);e.errorCategory="drm",e.muxCode=5000002,dQ(t,e)},{once:!0}),t.setAttribute("src",n),e.startTime&&((null!=(a=dS.get(t))?a:{}).startTime=e.startTime,t.addEventListener("durationchange",dY,{once:!0}))}else t.removeAttribute("src");t.addEventListener("error",dz),t.addEventListener("error",dX),t.addEventListener("emptied",()=>
112{t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})},{once:!0}),lT(t,"pause",l),lT(t,"seeked",l),lT(t,"play",()=>{t.ended||dN(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else{let r,a;i&&n?(i.once(ln.Events.LEVEL_LOADED,(e,r)=>{((e,t,i)=>{var r,a,s,n,o,l,d,u,h;let c,m,f,p,g,{streamType:E,targetLiveWindow:y,liveEdgeStartOffset:b,lowLatency:T}=(m=lS(c=e.type),f=lk(c),g=!!(null!=(h=e.partList)&&h.length),m===lm&&(p=g?2*e.partTarget:3*e.targetduration),{streamType:m,targetLiveWindow:f,liveEdgeStartOffset:p,lowLatency:g});if(E===lm){T?(i.config.backBufferLength=null!=(r=i.userConfig.backBufferLength)?r:4,i.config.maxFragLookUpTolerance=null!=(a=i.userConfig.maxFragLookUpTolerance)?a:.001,i.config.abrBandWidthUpFactor=null!=(s=i.userConfig.abrBandWidthUpFactor)?s:i.config.abrBandWidthFactor):i.config.backBufferLength=null!=(n=i.userConfig.backBufferLength)?n:8;let e=Object.freeze({get length(){return t.seekable.length},start:e=>t.seekable.start(e),end(e){var r;return e>this.length||e<0||Number.isFinite(t.duration)?t.seekable.end(e):null!=(r=i.liveSyncPosition)?r:t.seekable.end(e)}});(null!=(o=dS.get(t))?o:{}).seekable=e}(null!=(l=dS.get(t))?l:{}).liveEdgeStartOffset=b,(null!=(d=dS.get(t))?d:{}).targetLiveWindow=y,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(u=dS.get(t))?u:{}).streamType=E,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))})(r.details,t,i),h(),dM(t)!==lm||Number.isFinite(t.duration)||(i.on(ln.Events.LEVEL_UPDATED,h),lT(t,"durationchange",()=>{Number.isFinite(t.duration)&&i.off(ln.Events.LEVELS_UPDATED,h)}))}),i.on(ln.Events.ERROR,(r,a)=>{var s,n;let o=dZ(a,e);if(2412e3===o.muxCode){let e=null!=(s=dS.get(t))?s:{},r=null!=(n=e.retryCount)?n:0;if(r<6){let s=0===r?5e3:6e4,n=new ld(`Retrying in ${s/1e3} seconds...`,o.code,o.fatal);Object.assign(n,o),dQ(t,n),setTimeout(()=>{e.retryCount=r+1,"manifestLoadError"===a.details&&a.url&&i.loadSource(a.url)},s);return}{e.retryCount=0;let i=new ld('Try again later or <a href="#" onclick="window.location.reload(); return false;" style="color: #4a90e2;">click here to retry</a>',o.code,o.fatal);Object.assign(i,o),dQ(t,i);return}}dQ(t,o)}),i.on(ln.Events.MANIFEST_LOADED,()=>{let e=dS.get(t);e&&e.error&&(e.error=null,e.retryCount=0,t.dispatchEvent(new Event("emptied")),t.dispatchEvent(new Event("loadstart")))}),t.addEventListener("error",dX),lT(t,"waiting",l),function(e,t){var i;if(!("videoTracks"in e))return;let r=new WeakMap;t.on(ln.Events.MANIFEST_PARSED,function(t,i){s();let a=e.addVideoTrack("main");for(let[e,t]of(a.selected=!0,i.levels.entries())){let i=a.addRendition(t.url[0],t.width,t.height,t.videoCodec,t.bitrate);r.set(t,`${e}`),i.id=`${e}`}}),t.on(ln.Events.AUDIO_TRACKS_UPDATED,function(t,i){for(let t of(a(),i.audioTracks)){let i=t.default?"main":"alternative",r=e.addAudioTrack(i,t.name,t.lang);r.id=`${t.id}`,t.default&&(r.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var i;let r=+(null==(i=[...e.audioTracks].find(e=>e.enabled))?void 0:i.id),a=t.audioTracks.map(e=>e.id);r!=t.audioTrack&&a.includes(r)&&(t.audioTrack=r)}),t.on(ln.Events.LEVELS_UPDATED,function(t,i){var a;let s=e.videoTracks[null!=(a=e.videoTracks.selectedIndex)?a:0];if(!s)return;let n=i.levels.map(e=>r.get(e));for(let t of e.videoRenditions)t.id&&!n.includes(t.id)&&s.removeRendition(t)}),null==(i=e.videoRenditions)||i.addEventListener("change",e=>{let i=e.target.selectedIndex;i!=t.nextLevel&&(t.nextLevel=i)});let a=()=>{for(let t of e.audioTracks)e.removeAudioTrack(t)},s=()=>{(()=>{for(let t of e.videoTracks)e.removeVideoTrack(t)})(),a()};t.once(ln.Events.DESTROYING,s)}(e,i),i.on(ln.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(e,{tracks:r})=>{r.forEach(e=>{var r,a;let s=null!=(r=e.subtitleTrack)?r:e.closedCaptions,n=i.subtitleTracks.findIndex(({lang:t,name:i,type:r})=>t==(null==s?void 0:s.lang)&&i===e.label&&r.toLowerCase()===e.kind),o=(null!=(a=e._id)?a:e.default)?"default":`${e.kind}${n}`;lN(t,e.kind,e.label,null==s?void 0:s.lang,o,e.default)})}),r=()=>{if(!i.subtitleTracks.length)return;let e=Array.from(t.textTracks).find(e=>e.id&&"showing"===e.mode&&["subtitles","captions"].includes(e.kind));if(!e)return;let r=i.subtitleTracks[i.subtitleTrack],a=r?r.default?"default":`${i.subtitleTracks[i.subtitleTrack].type.toLowerCase()}${i.subtitleTrack}`:void 0;if(i.subtitleTrack<0||(null==e?void 0:e.id)!==a){let t=i.subtitleTracks.findIndex(({lang:t,name:i,type:r,default:a})=>"default"===e.id&&a||t==e.language&&i===e.label&&r.toLowerCase()===e.kind);i.subtitleTrack=t}
112(null==e?void 0:e.id)===a&&e.cues&&Array.from(e.cues).forEach(t=>{e.addCue(t)})},t.textTracks.addEventListener("change",r),i.on(ln.Events.CUES_PARSED,(e,{track:i,cues:r})=>{let a=t.textTracks.getTrackById(i);if(!a)return;let s="disabled"===a.mode;s&&(a.mode="hidden"),r.forEach(e=>{var t;null!=(t=a.cues)&&t.getCueById(e.id)||a.addCue(e)}),s&&(a.mode="disabled")}),i.once(ln.Events.DESTROYING,()=>{t.textTracks.removeEventListener("change",r),t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})}),a=()=>{Array.from(t.textTracks).forEach(e=>{var i,r;if(!["subtitles","caption"].includes(e.kind)&&("thumbnails"===e.label||"chapters"===e.kind)){if(!(null!=(i=e.cues)&&i.length)){let i="track";e.kind&&(i+=`[kind="${e.kind}"]`),e.label&&(i+=`[label="${e.label}"]`);let a=t.querySelector(i),s=null!=(r=null==a?void 0:a.getAttribute("src"))?r:"";null==a||a.removeAttribute("src"),setTimeout(()=>{null==a||a.setAttribute("src",s)},0)}"hidden"!==e.mode&&(e.mode="hidden")}})},i.once(ln.Events.MANIFEST_LOADED,a),i.once(ln.Events.MEDIA_ATTACHED,a),i.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.")}})(e,t,d),lK(t),lQ(t);let h=((e,t,i)=>{let{autoplay:r}=e,a=!1,s=!1,n=lM(r)?r:!!r,o=()=>{a||lT(t,"playing",()=>{a=!0},{once:!0})};if(o(),lT(t,"loadstart",()=>{a=!1,o(),lP(t,n)},{once:!0}),lT(t,"loadstart",()=>{i||(s=e.streamType&&e.streamType!==lf?e.streamType===lm:!Number.isFinite(t.duration)),lP(t,n)},{once:!0}),i&&i.once(ln.Events.LEVEL_LOADED,(t,i)=>{var r;s=e.streamType&&e.streamType!==lf?e.streamType===lm:null!=(r=i.details.live)&&r}),!n){let r=()=>{!s||Number.isFinite(e.startTime)||(null!=i&&i.liveSyncPosition?t.currentTime=i.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};i&&lT(t,"play",()=>{"metadata"===t.preload?i.once(ln.Events.LEVEL_UPDATED,r):r()},{once:!0})}return e=>{a||lP(t,n=lM(e)?e:!!e)}})(e,t,d);return{engine:d,setAutoplay:h,setPreload:u}})(this,this.nativeEl,uu(this,d8)))}unload(){dB(this.nativeEl,uu(this,d8),this),uc(this,d8,void 0)}attributeChangedCallback(e,t,i){var r,a;switch(d5.observedAttributes.includes(e)&&!["src","autoplay","preload"].includes(e)&&super.attributeChangedCallback(e,t,i),e){case ug.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=null!=i?i:void 0;break;case ug.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=null!=i?i:void 0;break;case"src":{let e=!!t,r=!!i;!e&&r?um(this,un,uo).call(this):e&&!r?this.unload():e&&r&&(this.unload(),um(this,un,uo).call(this));break}
112case"autoplay":if(i===t)break;null==(r=uu(this,d8))||r.setAutoplay(this.autoplay);break;case"preload":if(i===t)break;null==(a=uu(this,d8))||a.setPreload(i);break;case ug.PLAYBACK_ID:this.src=dw(this);break;case ug.DEBUG:{let e=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=e);break}case ug.METADATA_URL:i&&fetch(i).then(e=>e.json()).then(e=>this.metadata=e).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${i}!`));break;case ug.STREAM_TYPE:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case ug.TARGET_LIVE_WINDOW:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;case ug.LOGO:(null==i||i!==t)&&this.updateLogo();break;case ug.DISABLE_TRACKING:if(null==i||i!==t){let e=this.currentTime,t=this.paused;this.unload(),um(this,un,uo).call(this).then(()=>{this.currentTime=e,t||this.play()})}break;case ug.DISABLE_COOKIES:(null==i||i!==t)&&this.disableCookies&&document.cookie.split(";").forEach(e=>{e.trim().startsWith("muxData")&&(document.cookie=e.replace(/^ +/,"").replace(/=.*/,"=;expires="+new Date().toUTCString()+";path=/"))})}}updateLogo(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector('slot[name="logo"]');e&&(e.innerHTML=this.constructor.getLogoHTML(uu(this,us)||this.logo))}connectedCallback(){var e;null==(e=super.connectedCallback)||e.call(this),this.nativeEl&&this.src&&!uu(this,d8)&&um(this,un,uo).call(this)}disconnectedCallback(){this.unload()}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{composed:!0,detail:e.detail}))}};d8=new WeakMap,d9=new WeakMap,d6=new WeakMap,d7=new WeakMap,ue=new WeakMap,ut=new WeakMap,ui=new WeakMap,ur=new WeakMap,ua=new WeakMap,us=new WeakMap,un=new WeakSet,uo=async function(){uu(this,d9)||(await uc(this,d9,Promise.resolve()),uc(this,d9,null),this.load())};let ub=new WeakMap;class uT extends Error{}class uA extends Error{}let u_=["application/x-mpegURL","application/vnd.apple.mpegurl","audio/mpegurl"];function uS(){return globalThis.cast?.framework?.CastContext.getInstance()}function uk(){return uS()?.getCurrentSession()}function uL(){return uk()?.getSessionObj().media[0]}function uR(e){return uS().setOptions({...uI(),...e})}function uI(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}async function uw(e){try{let t=(await fetch(e,{method:"HEAD"})).headers.get("Content-Type");return u_.some(e=>t===e)}catch(e){return console.error("Error while trying to get the Content-Type of the manifest",e),!1}}async function uC(e){try{let i=await (await fetch(e)).text(),r=i,a=function(e){let t=e.split("\n"),i=[];for(let e=0;e<t.length;e++)if(t[e].trim().startsWith("#EXT-X-STREAM-INF")){let r=t[e+1]?t[e+1].trim():"";r&&!r.startsWith("#")&&i.push(r)}return i}(i);if(a.length>0){let t=new URL(a[0],e).toString();r=await (await fetch(t)).text()}var t=r.split("\n").find(e=>!e.trim().startsWith("#")&&""!==e.trim());if(!t)return;let s=t.match(/\.([a-zA-Z0-9]+)(?:\?.*)?$/);return s?s[1]:null}catch(e){console.error("Error while trying to parse the manifest playlist",e);return}}let uD=new(globalThis.WeakRef?class extends Set{add(e){super.add(new WeakRef(e))}forEach(e){super.forEach(t=>{let i=t.deref();i&&e(i)})}}:Set),ux=new WeakSet;he=()=>{globalThis.chrome?.cast?.isAvailable?i||(i=cast.framework,uS().addEventListener(i.CastContextEventType.CAST_STATE_CHANGED,e=>{uD.forEach(t=>ub.get(t).onCastStateChanged?.(e))}),uS().addEventListener(i.CastContextEventType.SESSION_STATE_CHANGED,e=>{uD.forEach(t=>ub.get(t).onSessionStateChanged?.(e))}),uD.forEach(e=>ub.get(e).init?.())):console.debug("chrome.cast.isAvailable",globalThis.chrome?.cast?.isAvailable)},globalThis.chrome?.cast?.isAvailable?globalThis.cast?.framework?he():customElements.whenDefined("google-cast-button").then(he):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(he)};let uM=0;
112class uP extends EventTarget{#c;#r;#m;#f;#p="disconnected";#g=!1;#v=new Set;#E=new WeakMap;constructor(e){super(),this.#c=e,uD.add(this),ub.set(this,{init:()=>this.#i(),onCastStateChanged:()=>this.#y(),onSessionStateChanged:()=>this.#b(),getCastPlayer:()=>this.#T}),this.#i()}get #T(){if(ux.has(this.#c))return this.#m}get state(){return this.#p}async watchAvailability(e){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");return this.#E.set(e,++uM),this.#v.add(e),queueMicrotask(()=>e(this.#A())),uM}async cancelWatchAvailability(e){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");e?this.#v.delete(e):this.#v.clear()}async prompt(){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");if(!globalThis.chrome?.cast?.isAvailable)throw new uA("The RemotePlayback API is disabled on this platform.");let e=ux.has(this.#c);ux.add(this.#c),uR(this.#c.castOptions),Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.addEventListener(e,t)});try{await uS().requestSession()}catch(t){if(e||ux.delete(this.#c),"cancel"===t)return;throw Error(t)}ub.get(this.#c)?.loadOnPrompt?.()}#_(){ux.has(this.#c)&&(Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.removeEventListener(e,t)}),ux.delete(this.#c),this.#c.muted=this.#m.isMuted,this.#c.currentTime=this.#m.savedPlayerState.currentTime,!1===this.#m.savedPlayerState.isPau
112sed&&this.#c.play())}#A(){let e=uS()?.getCastState();return e&&"NO_DEVICES_AVAILABLE"!==e}#y(){let e=uS().getCastState();if(ux.has(this.#c)&&"CONNECTING"===e&&(this.#p="connecting",this.dispatchEvent(new Event("connecting"))),!this.#g&&e?.includes("CONNECT"))for(let e of(this.#g=!0,this.#v))e(!0);else if(this.#g&&(!e||"NO_DEVICES_AVAILABLE"===e))for(let e of(this.#g=!1,this.#v))e(!1)}async #b(){let{SESSION_RESUMED:e}=i.SessionState;if(uS().getSessionState()===e&&this.#c.castSrc===uL()?.media.contentId){ux.add(this.#c),Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.addEventListener(e,t)});try{var t;await (t=new chrome.cast.media.GetStatusRequest,new Promise((e,i)=>{uL().getStatus(t,e,i)}))}catch(e){console.error(e)}this.#f[i.RemotePlayerEventType.IS_PAUSED_CHANGED](),this.#f[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}}#i(){i&&!this.#r&&(this.#r=!0,uR(this.#c.castOptions),this.#c.textTracks.addEventListener("change",()=>this.#S()),this.#y(),this.#m=new i.RemotePlayer,new i.RemotePlayerController(this.#m),this.#f={[i.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:e})=>{!0===e?(this.#p="connected",this.dispatchEvent(new Event("connect"))):(this.#_(),this.#p="disconnected",this.dispatchEvent(new Event("disconnect")))},[i.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.#c.dispatchEvent(new Event("durationchange"))},[i.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.#c.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.#c.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{this.#T?.isMediaLoaded&&this.#c.dispatchEvent(new Event("timeupdate"))},[i.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.#c.dispatchEvent(new Event("resize"))},[i.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.#c.dispatchEvent(new Event(this.paused?"pause":"play"))},[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{this.#T?.playerState!==chrome.cast.media.PlayerState.PAUSED&&this.#c.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[this.#T?.playerState]))},[i.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{this.#T?.isMediaLoaded&&(await Promise.resolve(),this.#k())}})}#k(){this.#S()}async #S(){let e;if(!this.#T)return;let t=(this.#m.mediaInfo?.tracks??[]).filter(({type:e})=>e===chrome.cast.media.TrackType.TEXT),i=[...this.#c.textTracks].filter(({kind:e})=>"subtitles"===e||"captions"===e),r=t.map(({language:e,name:t,trackId:r})=>{let{mode:a}=i.find(i=>i.language===e&&i.label===t)??{};return!!a&&{mode:a,trackId:r}}).filter(Boolean),a=r.filter(({mode:e})=>"showing"!==e).map(({trackId:e})=>e),s=r.find(({mode:e})=>"showing"===e),n=uk()?.getSessionObj().media[0]?.activeTrackIds??[],o=n;if(n.length&&(o=o.filter(e=>!a.includes(e))),s?.trackId&&(o=[...o,s.trackId]),e=o=[...new Set(o)],!(n.length===e.length&&n.every(t=>e.includes(t))))try{let e=new chrome.cast.media.EditTracksInfoRequest(o);await new Promise((t,i)=>{uL().editTracksInfo(e,t,i)})}catch(e){console.error(e)}}}let uO=e=>class extends e{static observedAttributes=[...e.observedAttributes??[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"];#L={paused:!1};#R=uI();#I;#w;get remote(){return this.#w?this.#w:globalThis.chrome?(this.disableRemotePlayback||function(){let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if(globalThis.chrome?.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}(),ub.set(this,{loadOnPrompt:()=>this.#C()}),this.#w=new uP(this)):super.remote}get #T(){return ub.get(this.remote)?.getCastPlayer?.()}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),"cast-receiver"===e&&i){this.#R.receiverApplicationId=i;return}if(this.#T)switch(e){case"cast-stream-type":case"cast-src":this.load()}}async #C(){this.#L.paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(e){console.error(e)}}async load(){if(!this.#T)return super.load();let e=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);e.customData=this.castCustomData;let t=[...this.querySelectorAll("track")].filter(({kind:e,src:t})=>t&&("subtitles"===e||"captions"===e)),i=[],r=0;if(t.length&&(e.tracks=t.map(e=>{let t=++r;0===i.length&&"showing"===e.track.mode&&i.push(t);let a=new chrome.cast.media.Track(t,chrome.cast.media.TrackType.TEXT);return a.trackContentId=e.src,a.trackContentType="text/vtt",a.subtype="captions"===e.kind?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,a.name=e.label,a.language=e.srclang,a})),"live"===this.castStreamType?e.streamType=chrome.cast.media.StreamType.LIVE:e.streamType=chrome.cast.media.StreamType.BUFFERED,e.metadata=new chrome.cast.media.GenericMediaMetadata,e.metadata.title=this.title,e.metadata.images=[{url:this.poster}],uw(this.castSrc)){let t=await uC(this.castSrc);t?.includes("m4s")||t?.includes("mp4")?(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.FMP4,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.FMP4):t?.includes("ts")&&(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.TS,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.TS)}let a=new chrome.cast.media.LoadRequest(e);a.currentTime=super.currentTime??0,a.autoplay=!this.#L.paused,a.activeTrackIds=i,await uk()?.loadMedia(a),this.dispatchEvent(new Event("volumechange"))}play(){if(this.#T){this.#T.isPaused&&this.#T.controller?.playOrPause();return}return super.play()}pause(){if(this.#T){this.#T.isPaused||this.#T.controller?.playOrPause();return}super.pause()}get castOptions(){return this.#R}get castReceiver(){return this.getAttribute("cast-receiver")??void 0}set castReceiver(e){this.castReceiver!=e&&this.setAttribute("cast-receiver",`${e}`)}get castSrc(){return this.getAttribute("cast-src")??this.querySelector("source")?.src??this.currentSrc}set castSrc(e){this.castSrc!=e&&this.setAttribute("cast-src",`${e}`)}get castContentType(){return this.getAttribute("cast-content-type")??void 0}set castContentType(e){this.setAttribute("cast-content-type",`${e}`)}get castStreamType(){return this.getAttribute("cast-stream-type")??this.streamType??void 0}set castStreamType(e){this.setAttribute("cast-stream-type",`${e}`)}get castCustomData(){return this.#I}set castCustomData(e){let t=typeof e;["object","undefined"].includes(t)?this.#I=e:console.error(`castCustomData must be nullish or an object but value was of type ${t}`)}get readyState(){if(this.#T)switch(this.#T.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.#T?this.#T.isPaused:super.paused}get muted(){return this.#T?this.#T?.isMuted:super.muted}set muted(e){if(this.#T){(e&&!this.#T.isMuted||!e&&this.#T.isMuted)&&this.#T.controller?.muteOr
112Unmute();return}super.muted=e}get volume(){return this.#T?this.#T?.volumeLevel??1:super.volume}set volume(e){if(this.#T){this.#T.volumeLevel=+e,this.#T.controller?.setVolumeLevel();return}super.volume=e}get duration(){return this.#T&&this.#T?.isMediaLoaded?this.#T?.duration??NaN:super.duration}get currentTime(){return this.#T&&this.#T?.isMediaLoaded?this.#T?.currentTime??0:super.currentTime}set currentTime(e){if(this.#T){this.#T.currentTime=e,this.#T.controller?.seek();return}super.currentTime=e}};class uN extends Event{track;constructor(e,t){super(e),this.track=t.track}}let uU=new WeakMap;function uF(e){var t,i;let r;return uU.get(e)??(t=e,i={},(r=uU.get(t))||uU.set(t,r={}),Object.assign(r,i))}function uB(e,t){let i=e.videoTracks;uF(t).media=e,uF(t).renditionSet||(uF(t).renditionSet=new Set);let r=uF(i).trackSet;r.add(t);let a=r.size-1;a in uH.prototype||Object.defineProperty(uH.prototype,a,{get(){return[...uF(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new uN("addtrack",{track:t}))})}function u$(e){let t=uF(e).media?.videoTracks;t&&(uF(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new uN("removetrack",{track:e}))}))}class uH extends EventTarget{#D;#x;#M;constructor(){super(),uF(this).trackSet=new Set}get #P(){return uF(this).trackSet}[Symbol.iterator](){return this.#P.values()}get length(){return this.#P.size}getTrackById(e){return[...this.#P].find(t=>t.id===e)??null}get selectedIndex(){return[...this.#P].findIndex(e=>e.selected)}get onaddtrack(){return this.#D}set onaddtrack(e){this.#D&&(this.removeEventListener("addtrack",this.#D),this.#D=void 0),"function"==typeof e&&(this.#D=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#x}set onremovetrack(e){this.#x&&(this.removeEventListener("removetrack",this.#x),this.#x=void 0),"function"==typeof e&&(this.#x=e,this.addEventListener("removetrack",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uG extends Event{rendition;constructor(e,t){super(e),this.rendition=t.rendition}}function uV(e){return[...uF(e).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...uF(e).renditionSet])}class uK extends EventTarget{#O;#N;#M;[Symbol.iterator](){return uV(this).values()}get length(){return uV(this).length}getRenditionById(e){return uV(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return uV(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of uV(this).entries())i.selected=t===e}get onaddrendition(){return this.#O}set onaddrendition(e){this.#O&&(this.removeEventListener("addrendition",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#N}set onremoverendition(e){this.#N&&(this.removeEventListener("removerendition",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("removerendition",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uW{src;id;width;height;bitrate;frameRate;codec;#U=!1;get selected(){return this.#U}set selected(e){if(this.#U!==e){var t;let i;this.#U=e,t=this,(i=uF(t).media.videoRenditions)&&!uF(i).changeRequested&&(uF(i).changeRequested=!0,queueMicrotask(()=>{delete uF(i).changeRequested,uF(t).track.selected&&i.dispatchEvent(new Event("change"))}))}}}class uq{id;kind;label="";language="";sourceBuffer;#U=!1;addRendition(e,t,i,r,a,s){var n;let o,l,d,u=new uW;return u.src=e,u.width=t,u.height=i,u.frameRate=s,u.bitrate=a,u.codec=r,n=this,o=uF(n).media.videoRenditions,uF(u).media=uF(n).media,uF(u).track=n,(l=uF(n).renditionSet).add(u),(d=l.size-1)in uK.prototype||Object.defineProperty(uK.prototype,d,{get(){return uV(this)[d]}}),queueMicrotask(()=>{n.selected&&o.dispatchEvent(new uG("addrendition",{rendition:u}))}),u}removeRendition(e){let t,i;t=uF(e).media.videoRenditions,i=uF(e).track,uF(i).renditionSet.delete(e),queueMicrotask(()=>{uF(e).track.selected&&t.dispatchEvent(new uG("removerendition",{rendition:e}))})}get selected(){return this.#U}set selected(e){this.#U===e||(this.#U=e,!0===e&&function(e){let t=uF(e).media.videoTracks??[],i=!1;for(let r of t)r!==e&&(r.selected=!1,i=!0);if(i){if(uF(t).changeRequested)return;uF(t).changeRequested=!0,queueMicrotask(()=>{delete uF(t).changeRequested,t.dispatchEvent(new Event("change"))})}}(this))}}function uj(e){return[...uF(e).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...uF(e).renditionSet])}
112class uY extends EventTarget{#O;#N;#M;[Symbol.iterator](){return uj(this).values()}get length(){return uj(this).length}getRenditionById(e){return uj(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return uj(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of uj(this).entries())i.selected=t===e}get onaddrendition(){return this.#O}set onaddrendition(e){this.#O&&(this.removeEventListener("addrendition",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#N}set onremoverendition(e){this.#N&&(this.removeEventListener("removerendition",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("removerendition",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uz{src;id;bitrate;codec;#U=!1;get selected(){return this.#U}set selected(e){if(this.#U!==e){var t;let i;this.#U=e,t=this,(i=uF(t).media.audioRenditions)&&!uF(i).changeRequested&&(uF(i).changeRequested=!0,queueMicrotask(()=>{delete uF(i).changeRequested,uF(t).track.enabled&&i.dispatchEvent(new Event("change"))}))}}}function uQ(e,t){let i=e.audioTracks;uF(t).media=e,uF(t).renditionSet||(uF(t).renditionSet=new Set);let r=uF(i).trackSet;r.add(t);let a=r.size-1;a in uZ.prototype||Object.defineProperty(uZ.prototype,a,{get(){return[...uF(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new uN("addtrack",{track:t}))})}function uX(e){let t=uF(e).media?.audioTracks;t&&(uF(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new uN("removetrack",{track:e}))}))}class uZ extends EventTarget{#D;#x;#M;constructor(){super(),uF(this).trackSet=new Set}get #P(){return uF(this).trackSet}[Symbol.iterator](){return this.#P.values()}get length(){return this.#P.size}getTrackById(e){return[...this.#P].find(t=>t.id===e)??null}get onaddtrack(){return this.#D}set onaddtrack(e){this.#D&&(this.removeEventListener("addtrack",this.#D),this.#D=void 0),"function"==typeof e&&(this.#D=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#x}set onremovetrack(e){this.#x&&(this.removeEventListener("removetrack",this.#x),this.#x=void 0),"function"==typeof e&&(this.#x=e,this.addEventListener("removetrack",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uJ{id;kind;label="";language="";sourceBuffer;#F=!1;addRendition(e,t,i){var r;let a,s,n,o=new uz;return o.src=e,o.codec=t,o.bitrate=i,r=this,a=uF(r).media.audioRenditions,uF(o).media=uF(r).media,uF(o).track=r,(s=uF(r).renditionSet).add(o),(n=s.size-1)in uY.prototype||Object.defineProperty(uY.prototype,n,{get(){return uj(this)[n]}}),queueMicrotask(()=>{r.enabled&&a.dispatchEvent(new uG("addrendition",{rendition:o}))}),o}removeRendition(e){let t,i;t=uF(e).media.audioRenditions,i=uF(e).track,uF(i).renditionSet.delete(e),queueMicrotask(()=>{uF(e).track.enabled&&t.dispatchEvent(new uG("removerendition",{rendition:e}))})}get enabled(){return this.#F}set enabled(e){if(this.#F!==e){let t;this.#F=e,(t=uF(this).media.audioTracks)&&!uF(t).changeRequested&&(uF(t).changeRequested=!0,queueMicrotask(()=>{delete uF(t).changeRequested,t.dispatchEvent(new Event("change"))}))}}}let u0=u3(globalThis.HTMLMediaElement,"video"),u1=u3(globalThis.HTMLMediaElement,"audio");function u2(e){if(!e?.prototype)return e;let t=u3(e,"video");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"videoTracks",{get(){var e=this;let t=uF(e).videoTracks;if(!t&&(t=new uH,uF(e).videoTracks=t,u0)){let i=u0.call(e.nativeEl??e);for(let t of i)uB(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof uq)){for(let e of i)u$(e);return}uB(e,r.track)}),i.addEventListener("removetrack",e=>{u$(e.track)})}return t}});let i=u3(e,"audio");(!i||`${i}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"audioTracks",{get(){var e=this;let t=uF(e).audioTracks;
112if(!t&&(t=new uZ,uF(e).audioTracks=t,u1)){let i=u1.call(e.nativeEl??e);for(let t of i)uQ(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof uJ)){for(let e of i)uX(e);return}uQ(e,r.track)}),i.addEventListener("removetrack",e=>{uX(e.track)})}return t}}),"addVideoTrack"in e.prototype||(e.prototype.addVideoTrack=function(e,t="",i=""){let r=new uq;return r.kind=e,r.label=t,r.language=i,uB(this,r),r}),"removeVideoTrack"in e.prototype||(e.prototype.removeVideoTrack=u$),"addAudioTrack"in e.prototype||(e.prototype.addAudioTrack=function(e,t="",i=""){let r=new uJ;return r.kind=e,r.label=t,r.language=i,uQ(this,r),r}),"removeAudioTrack"in e.prototype||(e.prototype.removeAudioTrack=uX),"videoRenditions"in e.prototype||Object.defineProperty(e.prototype,"videoRenditions",{get(){return r(this)}});let r=e=>{let t=uF(e).videoRenditions;return t||(uF(t=new uK).media=e,uF(e).videoRenditions=t),t};"audioRenditions"in e.prototype||Object.defineProperty(e.prototype,"audioRenditions",{get(){return a(this)}});let a=e=>{let t=uF(e).audioRenditions;return t||(uF(t=new uY).media=e,uF(e).audioRenditions=t),t};return e}function u3(e,t){if(e?.prototype)return Object.getOwnPropertyDescriptor(e.prototype,`${t}Tracks`)?.get}var u4=e=>{throw TypeError(e)},u5=(e,t,i)=>t.has(e)||u4("Cannot "+i),u8=(e,t,i)=>(u5(e,t,"read from private field"),i?i.call(e):t.get(e)),u9=(e,t,i)=>t.has(e)?u4("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),u6=(e,t,i,r)=>(u5(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),u7=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends u7{});var he,ht,hi=class extends u7{},hr=class{constructor(e,t={}){u9(this,ht),u6(this,ht,null==t?void 0:t.detail)}get detail(){return u8(this,ht)}initCustomEvent(){}};ht=new WeakMap;var ha={document:{createElement:function(e,t){return new hi}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(hi)},CustomEvent:hr,EventTarget:u7,HTMLElement:hi,HTMLVideoElement:class extends u7{}},hs="u"<typeof window||void 0===globalThis.customElements,hn=hs?ha:globalThis;hs&&ha.document;var ho,hl=class extends uO(u2(uy)){constructor(){super(...arguments),u9(this,ho)}get autoplay(){let e=this.getAttribute("autoplay");return null!==e&&(""===e||e)}set autoplay(e){e!==this.autoplay&&(e?this.setAttribute("autoplay","string"==typeof e?e:""):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 e;return null!=(e=u8(this,ho))?e:this.muxCastCustomData}set castCustomData(e){u6(this,ho,e)}};ho=new WeakMap,hn.customElements.get("mux-video")||(hn.customElements.define("mux-video",hl),hn.MuxVideoElement=hl);let hd={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_LOOP_REQUEST:"medialooprequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediash
112owsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},hu={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},hh={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_P
112LAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_LOOP:"mediaLoop",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_LANG:"mediaLang",MEDIA_WIDTH:"mediaWidth"},hc=Object.entries(hh),hm=hc.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{}),hf=hc.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),hp=Object.entries(hf).reduce((e,[t,i])=>{let r=hm[t];return r&&(e[i]=r),e},{userinactivechange:"userinactive"}),hg=Object.entries(hm).reduce((e,[t,i])=>{let r=hf[t];return r&&(e[i]=r),e},{userinactive:"userinactivechange"}),hv={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},hE={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"},hy={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},hb={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},hT={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"},hA={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function h_(e){if(e){let{id:t,width:i,height:r}=e;return[t,i,r].filter(e=>null!=e).join(":")}}function hS(e){if(e){let[t,i,r]=e.split(":");return{id:t,width:+i,height:+r}}}function hk(e){if(e){let{id:t,kind:i,language:r,label:a}=e;return[t,i,r,a].filter(e=>null!=e).join(":")}}function hL(e){if(e){let[t,i,r,a]=e.split(":");return{id:t,kind:i,language:r,label:a}}}function hR(e){return"number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e)}function hI(e){return"string"==typeof e&&!isNaN(e)&&!isNaN(parseFloat(e))}e.s(["AttributeToStateChangeEventMap",0,hg,"AvailabilityStates",0,hb,"MediaStateChangeEvents",0,hf,"MediaStateReceiverAttributes",0,hu,"MediaUIAttributes",0,hm,"MediaUIEvents",0,hd,"MediaUIProps",0,hh,"PointerTypes",0,hy,"ReadyStates",0,{HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},"StateChangeEventToAttributeMap",0,hp,"StreamTypes",0,hT,"TextTrackKinds",0,hv,"TextTrackModes",0,hE,"VolumeLevels",0,{HIGH:"high",MEDIUM:"medium",LOW:"low",OFF:"off"},"WebkitPresentationModes",0,hA],92617),e.i(92617);let hw=e=>new Promise(t=>setTimeout(t,e)),hC=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],hD=e=>{if(!hR(e))return"";let t=Math.abs(e),i=t!==e,r=new Date(0,0,0,0,0,t,0),a=[r.getHours(),r.getMinutes(),r.getSeconds()].map((e,t)=>{let i;return e&&(i=1===e?hC[t].singular:hC[t].plural,`${e} ${i}`)}).filter(e=>e).join(", ");return`${a}${i?" remaining":""}`};function hx(e,t){let i=!1;e<0&&(i=!0,e=0-e);let r=Math.floor((e=e<0?0:e)%60),a=Math.floor(e/60%60),s=Math.floor(e/3600),n=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(s=a=r="0"),a=(((s=s>
1120||o>0?s+":":"")||n>=10)&&a<10?"0"+a:a)+":",(i?"-":"")+s+a+(r=r<10?"0"+r:r)}let hM=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});e.s(["emptyTimeRanges",0,hM,"formatAsTimePhrase",0,hD,"formatTime",0,hx,"serializeTimeRanges",0,function(e=hM){return Array.from(e).map((t,i)=>[Number(e.start(i).toFixed(3)),Number(e.end(i).toFixed(3))].join(":")).join(" ")}],38333),e.i(38333);let hP={en:{"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute",Loop:"Loop","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings",Auto:"Auto","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute","chapter: {chapterName}":"chapter: {chapterName}",live:"live",Off:"Off","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","Source Not Supported":"Source Not Supported","Encryption Error":"Encryption
112Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","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.","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.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."}},hO=(null==(v_=globalThis.navigator)?void 0:v_.language)||"en",hN=(e,t={})=>(e=>{var t,i,r;let[a]=hO.split("-");return(null==(t=hP[hO])?void 0:t[e])||(null==(i=hP[a])?void 0:i[e])||(null==(r=hP.en)?void 0:r[e])||e})(e).replace(/\{(\w+)\}/g,(e,i)=>i in t?String(t[i]):`{${i}}`);class hU{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}}class hF extends hU{}class hB extends hF{constructor(){super(...arguments),this.role=null}}let h$={createElement:function(){return new hH.HTMLElement},createElementNS:function(){return new hH.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent:e=>!1},hH={ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},document:h$,Node:hF,Element:hB,HTMLElement:class extends hB{constructor(){super(...arguments),this.innerHTML=""}get content(){return new hH.DocumentFragment}},DocumentFragment:class extends hU{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem:e=>null,setItem(e,t){},removeItem(e){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia:e=>({matches:!1,media:e}),DOMParser:class{parseFromString(e,t){return{body:{textContent:e}}}}},hG="global"in globalThis&&(null==globalThis?void 0:globalThis.global)===globalThis||"u"<typeof window||void 0===window.customElements,hV=Object.keys(hH).every(e=>e in globalThis),hK=hG&&!hV?hH:globalThis,hW=hG&&!hV?h$:globalThis.document,hq=new WeakMap,hj=e=>{let t=hq.get(e);return t||hq.set(e,t=new Set),t},hY=new hK.ResizeObserver(e=>{for(let t of e)for(let e of hj(t.target))e(t)});function hz(e,t){hj(e).add(t),hY.observe(e)}function hQ(e,t){let i=hj(e);i.delete(t),i.size||hY.unobserve(e)}function hX(e){let t={};for(let i of e)t[i.name]=i.value;return t}function hZ(e){var t;return null!=(t=hJ(e))?t:h3(e,"media-controller")}function hJ(e){var t;let{MEDIA_CONTROLLER:i}=hu,r=e.getAttribute(i);if(r)return null==(t=h5(e))?void 0:t.getElementById(r)}let h0=(e,t,i=".value")=>{let r=e.querySelector(i);r&&(r.textContent=t)},h1=(e,t)=>{let i,r;return(i=`slot[name="${t}"]`,!(r=e.shadowRoot.querySelector(i))?[]:r.children)[0]},h2=(e,t)=>!!e&&!!t&&(null!=e&&!!e.contains(t)||h2(e,t.getRootNode().host)),h3=(e,t)=>{if(!e)return null;let i=e.closest(t);return i||h3(e.getRootNode().host,t)};function h4(e=document){var t;let i=null==e?void 0:e.activeElement;return i?null!=(t=h4(i.shadowRoot))?t:i:null}function h5(e){var t;let i=null==(t=null==e?void 0:e.getRootNode)?void 0:t.call(e);return i instanceof ShadowRoot||i instanceof Document?i:null}function h8(e,{depth:t=3,checkOpacity:i=!0,checkVisibilityCSS:r=!0}={}){if(e.checkVisibility)return e.checkVisibility({checkOpacity:i,checkVisibilityCSS:r});let a=e;for(;a&&t>0;){let e=getComputedStyle(a);if(i&&"0"===e.opacity||r&&"hidden"===e.visibility||"none"===e.display)return!1;a=a.parentElement,t--}return!0}function h9(e,t){let i=function(e,t){var i,r;let a;for(a of null!=(i=e.querySelectorAll("style:not([media])"))?i:[]){let e;try{e=null==(r=a.sheet)?void 0:r.cssRules}catch{continue}for(let i of null!=e?e:[])if(t(i.selectorText))return i}}(e,e=>e===t);return i||h6(e,t)}function h6(e,t){var i,r;let a=null!=(i=e.querySelectorAll("style:not([media])"))?i:[],s=null==a?void 0:a[a.length-1];return(null==s?void 0:s.sheet)?(null==s||s.sheet.insertRule(`${t}{}`,s.sheet.cssRules.length),null==(r=s.sheet.cssRules)?void 0:r[s.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",e),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function h7(e,t,i=NaN){let r=e.getAttribute(t);return null!=r?+r:i}function ce(e,t,i){let r=+i;if(null==i||Number.isNaN(r)){e.hasAttribute(t)&&e.removeAttribute(t);return}h7(e,t,void 0)!==r&&e.setAttribute(t,`${r}`)}function ct(e,t){return e.hasAttribute(t)}function ci(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}ct(e,t)!=i&&e.toggleAttribute(t,i)}function cr(e,t,i=null){var r;return null!=(r=e.getAttribute(t))?r:i}function ca(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}let r=`${i}`;cr(e,t,void 0)!==r&&e.setAttribute(t,r)}var cs=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cn=(e,t,i)=>(cs(e,t,"read from private field"),i?i.call(e):t.get(e)),co=(e,t,i,r)=>(cs(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cl extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,vS,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PAUSED]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=cn(this,vS))?void 0:r.unassociateElement)||a.call(r,this),co(this,vS,null)),i&&this.isConnected&&(co(this,vS,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=cn(this,vS))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i,r,a,s;let n;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),co(this,vS,(a=this,(n=a.getAttribute(hu.MEDIA_CONTROLLER))?null==(s=a.getRootNode())?void 0:s.getElementById(n):h3(a,"media-controller"))),this.getAttribute(hu.MEDIA_CONTROLLER)&&(null==(t=null==(e=cn(this,vS))?void 0:e.associateElement)||t.call(e,this)),null==(i=cn(this,vS))||i.addEventListener("pointerdown",this),null==(r=cn(this,vS))||r.addEventListener("click",this)}disconnectedCallback(){var e,t,i,r;this.getAttribute(hu.MEDIA_CONTROLLER)&&(null==(t=null==(e=cn(this,vS))?void 0:e.unassociateElement)||t.call(e,this)),null==(i=cn(this,vS))||i.removeEventListener("pointerdown",this),null==(r=cn(this,vS))||r.removeEventListener("click",this),co(this,vS,null)}handleEvent(e){var t;let i=null==(t=e.composedPath())?void 0:t[0];if(["video","media-controller"].includes(null==i?void 0:i.localName)){if("pointerdown"===e.type)this._pointerType=e.pointerType;else if("click"===e.type){let{clientX:t,clientY:i}=e,{left:r,top:a,width:s,height:n}=this.getBoundingClientRect(),o=t-r,l=i-a;if(o<0||l<0||o>s||l>n||0===s&&0===n)return;let d=this._pointerType||"mouse";if(this._pointerType=void 0,d===hy.TOUCH)return void this.handleTap(e);if(d===hy.MOUSE||d===hy.PEN)return void this.handleMouseClick(e)}}}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new hK.CustomEvent(t,{composed:!0,bubbles:!0}))}}vS=new WeakMap,cl.shadowRootOptions={mode:"open"},cl.getTemplateHTML=function(e){return` 113 <style> 114 :host { 115 display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block)); 116 box-sizing: border-box; 117 } 118 </style> 119 `}
119,hK.customElements.get("media-gesture-receiver")||hK.customElements.define("media-gesture-receiver",cl);var cd=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cu=(e,t,i)=>(cd(e,t,"read from private field"),i?i.call(e):t.get(e)),ch=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cc=(e,t,i,r)=>(cd(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),cm=(e,t,i)=>(cd(e,t,"access private method"),i);let cf="audio",cp="autohide",cg="breakpoints",cv="gesturesdisabled",cE="keyboardcontrol",cy="noautohide",cb="userinactive",cT="autohideovercontrols",cA=Object.values(hm);function c_(e,t){var i,r,a;if(!e.isConnected)return;let s=Object.fromEntries((null!=(i=e.getAttribute(cg))?i:"sm:384 md:576 lg:768 xl:960").split(/\s+/).map(e=>e.split(":"))),n=(r=s,a=t,Object.keys(r).filter(e=>a>=parseInt(r[e]))),o=!1;if(Object.keys(s).forEach(t=>{if(n.includes(t)){e.hasAttribute(`breakpoint${t}`)||(e.setAttribute(`breakpoint${t}`,""),o=!0);return}e.hasAttribute(`breakpoint${t}`)&&(e.removeAttribute(`breakpoint${t}`),o=!0)}),o){let t=new CustomEvent(hf.BREAKPOINTS_CHANGE,{detail:n});e.dispatchEvent(t)}e.breakpointsComputed||(e.breakpointsComputed=!0,e.dispatchEvent(new CustomEvent(hf.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}class cS extends hK.HTMLElement{constructor(){if(super(),ch(this,vC),ch(this,vP),ch(this,vN),ch(this,vF),ch(this,v$),ch(this,vG),ch(this,vk,0),ch(this,vL,null),ch(this,vR,null),ch(this,vI,void 0),this.breakpointsComputed=!1,ch(this,vw,new MutationObserver(cm(this,vC,vD).bind(this))),ch(this,vx,!1),ch(this,vM,e=>{cu(this,vx)||(setTimeout(()=>{c_(e.target,e.contentRect.width),cc(this,vx,!1)},0),cc(this,vx,!0))}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}const e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){cu(this,vL)&&this.mediaUnsetCallback(cu(this,vL));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[cp,cv].concat(cA).filter(e=>![hm.MEDIA_RENDITION_LIST,hm.MEDIA_AUDIO_TRACK_LIST,hm.MEDIA_CHAPTERS_CUES,hm.MEDIA_WIDTH,hm.MEDIA_HEIGHT,hm.MEDIA_ERROR,hm.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==cp&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(null==e?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(cc(this,vL,e),e.localName.includes("-")&&await hK.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;cu(this,vw).observe(this,{childList:!0,subtree:!0}),hz(this,cu(this,vM));let t=null!=this.getAttribute(cf)?hN("audio player"):hN("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",t),this.handleMediaUpdated(this.media),this.setAttribute(cb,""),c_(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),null==(e=hK.window)||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;cu(this,vw).disconnect(),hQ(this,cu(this,vM)),this.media&&this.mediaUnsetCallback(this.media),null==(e=hK.window)||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){cc(this,vL,null)}handleEvent(e){switch(e.type){case"pointerdown":cc(this,vk,e.timeStamp);break;case"pointermove":cm(this,vP,vO).call(this,e);break;case"pointerup":cm(this,vN,vU).call(this,e);break;case"mouseleave":cm(this,vF,vB).call(this);break;case"mouseup":this.removeAttribute(cE);break;case"keyup":cm(this,vG,vV).call(this),this.setAttribute(cE,"")}}set autohide(e){let t=Number(e);cc(this,vI,isNaN(t)?0:t)}get autohide(){return(void 0===cu(this,vI)?2:cu(this,vI)).toString()}get breakpoints(){return cr(this,cg)}set breakpoints(e){ca(this,cg,e)}get audio(){return ct(this,cf)}set audio(e){ci(this,cf,e)}get gesturesDisabled(){return ct(this,cv)}set gesturesDisabled(e){ci(this,cv,e)}get keyboardControl(){return ct(this,cE)}set keyboardControl(e){ci(this,cE,e)}get noAutohide(){return ct(this,cy)}set noAutohide(e){ci(this,cy,e)}get autohideOverControls(){return ct(this,cT)}set autohideOverControls(e){ci(this,cT,e)}get userInteractive(){return ct(this,cb)}set userInteractive(e){ci(this,cb,e)}}vk=new WeakMap,vL=new WeakMap,vR=new WeakMap,vI=new WeakMap,vw=new WeakMap,vC=new WeakSet,vD=function(e){let t=this.media;for(let i of e)if("childList"===i.type){for(let e of i.removedNodes
119){if("media"!=e.slot||i.target!=this)continue;let r=i.previousSibling&&i.previousSibling.previousElementSibling;if(r&&t){let t="media"!==r.slot;for(;null!==(r=r.previousSibling);)"media"==r.slot&&(t=!1);t&&this.mediaUnsetCallback(e)}else this.mediaUnsetCallback(e)}if(t)for(let e of i.addedNodes)e===t&&this.handleMediaUpdated(t)}},vx=new WeakMap,vM=new WeakMap,vP=new WeakSet,vO=function(e){if("mouse"!==e.pointerType&&e.timeStamp-cu(this,vk)<250)return;cm(this,v$,vH).call(this),clearTimeout(cu(this,vR));let t=this.hasAttribute(cT);([this,this.media].includes(e.target)||t)&&cm(this,vG,vV).call(this)},vN=new WeakSet,vU=function(e){if("touch"===e.pointerType){let t=!this.hasAttribute(cb);[this,this.media].includes(e.target)&&t?cm(this,vF,vB).call(this):cm(this,vG,vV).call(this)}else e.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(null==e?void 0:e.localName))&&cm(this,vG,vV).call(this)},vF=new WeakSet,vB=function(){if(0>cu(this,vI)||this.hasAttribute(cb))return;this.setAttribute(cb,"");let e=new hK.CustomEvent(hf.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(e)},v$=new WeakSet,vH=function(){if(!this.hasAttribute(cb))return;this.removeAttribute(cb);let e=new hK.CustomEvent(hf.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(e)},vG=new WeakSet,vV=function(){cm(this,v$,vH).call(this),clearTimeout(cu(this,vR));let e=parseInt(this.autohide);e<0||cc(this,vR,setTimeout(()=>{cm(this,vF,vB).call(this)},1e3*e))},cS.shadowRootOptions={mode:"open"},cS.getTemplateHTML=function(e){return` 120 <style> 121 122 :host([${hm.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) { 123 outline: none; 124 } 125 126 :host { 127 box-sizing: border-box; 128 position: relative; 129 display: inline-block; 130 line-height: 0; 131 background-color: var(--media-background-color, #000); 132 overflow: hidden; 133 } 134 135 :host(:not([${cf}])) [part~=layer]:not([part~=media-layer]) { 136 position: absolute; 137 top: 0; 138 left: 0; 139 bottom: 0; 140 right: 0; 141 display: flex; 142 flex-flow: column nowrap; 143 align-items: start; 144 pointer-events: none; 145 background: none; 146 } 147 148 slot[name=media] { 149 display: var(--media-slot-display, contents); 150 } 151 152 153 :host([${cf}]) slot[name=media] { 154 display: var(--media-slot-display, none); 155 } 156 157 158 :host([${cf}]) [part~=layer][part~=gesture-layer] { 159 height: 0; 160 display: block; 161 } 162 163 164 :host(:not([${cf}])[${cv}]) ::slotted([slot=gestures-chrome]), 165 :host(:not([${cf}])[${cv}]) media-gesture-receiver[slot=gestures-chrome] { 166 display: none; 167 } 168 169 170 ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) { 171 pointer-events: auto; 172 } 173 174 :host(:not([${cf}])) *[part~=layer][part~=centered-layer] { 175 align-items: center; 176 justify-content: center; 177 } 178 179 :host(:not([${cf}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]), 180 :host(:not([${cf}])) media-gesture-receiver[slot=gestures-chrome] { 181 align-self: stretch; 182 flex-grow: 1; 183 } 184 185 slot[name=middle-chrome] { 186 display: inline; 187 flex-grow: 1; 188 pointer-events: none; 189 background: none; 190 } 191 192 193 ::slotted([slot=media]), 194 ::slotted([slot=poster]) { 195 width: 100%; 196 height: 100%; 197 } 198 199 200 :host(:not([${cf}])) .spacer { 201 flex-grow: 1; 202 } 203 204 205 :host(:-webkit-full-screen) { 206 207 width: 100% !important; 208 height: 100% !important; 209 } 210 211 212 ::slotted(:not([slot=media]):not([slot=poster]):not([${cy}]):not([hidden]):not([role=dialog])) { 213 opacity: 1; 214 transition: var(--media-control-transition-in, opacity 0.25s); 215 } 216 217 218 :host([${cb}]:not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_AIRPLAYING}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${cy}]):not([role=dialog])) { 219 opacity: 0; 220 transition: var(--media-control-transition-out, opacity 1s); 221 } 222 223 :host([${cb}
223]:not([${cy}]):not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) ::slotted([slot=media]) { 224 cursor: none; 225 } 226 227 :host([${cb}][${cT}]:not([${cy}]):not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) * { 228 --media-cursor: none; 229 cursor: none; 230 } 231 232 233 ::slotted(media-control-bar) { 234 align-self: stretch; 235 } 236 237 238 :host(:not([${cf}])[${hm.MEDIA_HAS_PLAYED}]) slot[name=poster] { 239 display: none; 240 } 241 242 ::slotted([role=dialog]) { 243 width: 100%; 244 height: 100%; 245 align-self: center; 246 } 247 248 ::slotted([role=menu]) { 249 align-self: end; 250 } 251 </style> 252 253 <slot name="media" part="layer media-layer"></slot> 254 <slot name="poster" part="layer poster-layer"></slot> 255 <slot name="gestures-chrome" part="layer gesture-layer"> 256 <media-gesture-receiver slot="gestures-chrome"> 257 <template shadowrootmode="${cl.shadowRootOptions.mode}"> 258 ${cl.getTemplateHTML({})} 259 </template> 260 </media-gesture-receiver> 261 </slot> 262 <span part="layer vertical-layer"> 263 <slot name="top-chrome" part="top chrome"></slot> 264 <slot name="middle-chrome" part="middle chrome"></slot> 265 <slot name="centered-chrome" part="layer centered-layer center centered chrome"></slot> 266 267 <slot part="bottom chrome"></slot> 268 </span> 269 <slot name="dialog" part="layer dialog-layer"></slot> 270 `},hK.customElements.get("media-container")||hK.customElements.define("media-container",cS);var ck=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cL=(e,t,i)=>(ck(e,t,"read from private field"),i?i.call(e):t.get(e)),cR=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cI=(e,t,i,r)=>(ck(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cw{constructor(e,t,{defaultValue:i}={defaultValue:void 0}){cR(this,vY),cR(this,vK,void 0),cR(this,vW,void 0),cR(this,vq,void 0),cR(this,vj,new Set),cI(this,vK,e),cI(this,vW,t),cI(this,vq,new Set(i))}[Symbol.iterator](){return cL(this,vY,vz).values()}get length(){return cL(this,vY,vz).size}get value(){var e;return null!=(e=[...cL(this,vY,vz)].join(" "))?e:""}set value(e){var t;e!==this.value&&(cI(this,vj,new Set),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return[...cL(this,vY,vz)][e]}values(){return cL(this,vY,vz).values()}forEach(e,t){cL(this,vY,vz).forEach(e,t)}add(...e){var t,i;e.forEach(e=>cL(this,vj).add(e)),(""!==this.value||(null==(t=cL(this,vK))?void 0:t.hasAttribute(`${cL(this,vW)}`)))&&(null==(i=cL(this,vK))||i.setAttribute(`${cL(this,vW)}`,`${this.value}`))}remove(...e){var t;e.forEach(e=>cL(this,vj).delete(e)),null==(t=cL(this,vK))||t.setAttribute(`${cL(this,vW)}`,`${this.value}`)}contains(e){return cL(this,vY,vz).has(e)}toggle(e,t){if(void 0!==t)if(t)return this.add(e),!0;else return this.remove(e),!1;return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}}vK=new WeakMap,vW=new WeakMap,vq=new WeakMap,vj=new WeakMap,vY=new WeakSet,vz=function(){return cL(this,vj).size?cL(this,vj):cL(this,vq)};let cC=(e="")=>{let[t,i,r]=e.split(":"),a=r?decodeURIComponent(r):void 0;return{kind:"cc"===t?hv.CAPTIONS:hv.SUBTITLES,language:i,label:a}},cD=(e="",t={})=>((e="")=>e.split(/\s+/))(e).map(e=>{let i=cC(e);return{...t,...i}}),cx=e=>e?Array.isArray(e)?e.map(e=>"string"==typeof e?cC(e):e):"string"==typeof e?cD(e):[e]:[],cM=({kind:e,label:t,language:i}={kind:"subtitles"})=>t?`${"captions"===e?"cc":"sb"}:${i}:${encodeURIComponent(t)}`:i,cP=(e=[])=>Array.prototype.map.call(e,cM).join(" "),cO=e=>{let t=Object.entries(e).map(([e,t])=>i=>i[e]===t);return e=>t.every(t=>t(e))},cN=(e,t=[],i=[])=>{let r=cx(i).map(cO);Array.from(t).filter(e=>r.some(t=>t(e))).forEach(t=>{t.mode=e})},cU=(e,t=()=>!0)=>{if(!(null==e?void 0:e.textTracks))return[];let i="function"==typeof t?t:cO(t);return Array.from(e.textTracks).filter(i)},cF=e=>{var t;return!!(null==(t=e.mediaSubtitlesShowing)?void 0:t.length)||e.hasAttribute(hm.MEDIA_SUBTITLES_SHOWING)},cB="exitFullscreen"in hW?"exitFullscreen":"webkitExitFullscreen"in hW?"webkitExitFullscreen":"webkitCancelFullScreen"in hW?"webkitCancelFullScreen":void 0,c$="fullscreenElement"in hW?"fullscreenElement":"webkitFullscreenElement"in hW?"webkitFullscreenElement":void 0,cH="fullscreenEnabled"in hW?"fullscreenEnabled":"webkitFullscreenEnabled"in hW?"webkitFullscreenEnabled":void 0,cG=()=>{var e;return r||(r=null==(e=null==hW?void 0:hW.createElement)?void 0:e.call(hW,"video"))},cV=async(e=cG())=>{if(!e)return!1;let t=e.volume;
270e.volume=t/2+.1;let i=new AbortController,r=await Promise.race([cK(e,i.signal),cW(e,t)]);return i.abort(),r},cK=(e,t)=>new Promise(i=>{e.addEventListener("volumechange",()=>i(!0),{signal:t})}),cW=async(e,t)=>{for(let i=0;i<10;i++){if(e.volume===t)return!1;await hw(10)}return e.volume!==t},cq=/.*Version\/.*Safari\/.*/.test(hK.navigator.userAgent),cj=(e=cG())=>(!hK.matchMedia("(display-mode: standalone)").matches||!cq)&&"function"==typeof(null==e?void 0:e.requestPictureInPicture),cY=(e=cG())=>(e=>{let{documentElement:t,media:i}=e;return!!(null==t?void 0:t[cH])||i&&"webkitSupportsFullscreen"in i})({documentElement:hW,media:e}),cz=cY(),cQ=cj(),cX=!!hK.WebKitPlaybackTargetAvailabilityEvent,cZ=!!hK.chrome,cJ=e=>cU(e.media,e=>[hv.SUBTITLES,hv.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),c0=e=>cU(e.media,e=>e.mode===hE.SHOWING&&[hv.SUBTITLES,hv.CAPTIONS].includes(e.kind)),c1=(e,t)=>{let i=cJ(e),r=c0(e),a=!!r.length;if(i.length){if(!1===t||a&&!0!==t)cN(hE.DISABLED,i,r);else if(!0===t||!a&&!1!==t){let t=i[0],{options:a}=e;if(!(null==a?void 0:a.noSubtitlesLangPref)){let e=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),r=e?[e,...globalThis.navigator.languages]:globalThis.navigator.languages,a=i.filter(e=>r.some(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))).sort((e,t)=>r.findIndex(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))-r.findIndex(e=>t.language.toLowerCase().startsWith(e.split("-")[0])));a[0]&&(t=a[0])}let{language:s,label:n,kind:o}=t;cN(hE.DISABLED,i,r),cN(hE.SHOWING,i,[{language:s,label:n,kind:o}])}}},c2=(e,t)=>e===t||null!=e&&null!=t&&typeof e==typeof t&&(!!("number"==typeof e&&Number.isNaN(e)&&Number.isNaN(t))||"object"==typeof e&&(Array.isArray(e)?c3(e,t):Object.entries(e).every(([e,i])=>e in t&&c2(i,t[e])))),c3=(e,t)=>{let i=Array.isArray(e),r=Array.isArray(t);return i===r&&(!i&&!r||e.length===t.length&&e.every((e,i)=>c2(e,t[i])))},c4=Object.values(hT),c5=cV().then(e=>a=e),c8=async(...e)=>{await Promise.all(e.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof hK.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let i=hK.customElements.get(t);i&&e instanceof i||(await hK.customElements.whenDefined(t),hK.customElements.upgrade(e))}))},c9=new hK.DOMParser,c6={mediaError:{get(e,t){let{media:i}=e;if((null==t?void 0:t.type)!=="playing")return null==i?void 0:i.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(e,t){var i;let{media:r}=e;if((null==t?void 0:t.type)!=="playing")return null==(i=null==r?void 0:r.error)?void 0:i.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(e,t){var i,r;let{media:a}=e;if((null==t?void 0:t.type)!=="playing")return null!=(r=null==(i=null==a?void 0:a.error)?void 0:i.message)?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoWidth)?t:0},mediaEvents:["resize"]},mediaHeight:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoHeight)?t:0},mediaEvents:["resize"]},mediaPaused:{get(e){var t;let{media:i}=e;return null==(t=null==i?void 0:i.paused)||t},set(e,t){var i;let{media:r}=t;r&&(e?r.pause():null==(i=r.play())||i.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(e,t){let{media:i}=e;return!!i&&(t?"playing"===t.type:!i.paused)},mediaEvents:["playing","emptied"]},mediaEnded:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.ended)&&t},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.playbackRate)?t:1},set(e,t){let{media:i}=t;!i||Number.isFinite(+e)&&(i.playbackRate=+e)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.muted)&&t},set(e,t){let{media:i,options:{noMutedPref:r}={}}=t;if(i){i.muted=e;try{let t=null!==hK.localStorage.getItem("media-chrome-pref-muted"),a=i.hasAttribute("muted");if(r){t&&hK.localStorage.removeItem("media-chrome-pref-muted");return}if(a&&!t)return;hK.localStorage.setItem("media-chrome-pref-muted",e?"true":"false")}catch(e){console.debug("Error setting muted pref",e)}}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noMutedPref:i}}=t,{media:r}=t;if(r&&!r.muted&&!i)try{let i="true"===hK.localStorage.getItem("media-chrome-pref-muted");c6.mediaMuted.set(i,t),e(i)}catch(e){console.debug("Error getting muted pref",e)}}]},mediaLoop:{get(e){let{media:t}=e;return null==t?void 0:t.loop},set(e,t){let{media:i}=t;i&&(i.loop=e)},mediaEvents:["medialooprequest"]},mediaVolume:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.volume)?t:1},set(e,t){let{media:i,options:{noVolumePref:r}={}}=t;if(i){try{null==e?hK.localStorage.removeItem("media-chrome-pref-volume"):i.hasAttribute("muted")||r||hK.localStorage.setItem("media-chrome-pref-volume",e.toString())}catch(e){console.debug("Error setting volume pref",e)}Number.isFinite(+e)&&(i.volume=+e)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noVolumePref:i}}=t;if(!i)try{let{media:i}=t;if(!i)return;let r=hK.localStorage.getItem("media-chrome-pref-volume");if(null==r)return;c6.mediaVolume.set(+r,t),e(+r)}catch(e){console.debug("Error getting volume pref",e)}}]},mediaVolumeLevel:{get(e){let{media:t}=e;return void 0===(null==t?void 0:t.volume)?"high":t.muted||0===t.volume?"off":t.volume<.5?"low":t.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.currentTime)?t:0},set(e,t){let{media:i}=t;i&&hR(e)&&(i.currentTime=e)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(e){let{media:t,options:{defaultDuration:i}={}}=e;return i&&(!t||!t.duration||Number.isNaN(t.duration)||!Number.isFinite(t.duration))?i:Number.isFinite(null==t?void 0:t.duration)?t.duration:NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(e){let{media:t}=e;return(null==t?void 0:t.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(e){var t;let{media:i}=e;if(!(null==(t=null==i?void 0:i.seekable)?void 0:t.length))return;let r=i.seekable.start(0),a=i.seekable.end(i.seekable.length-1);if(r||a)return[Number(r.toFixed(3)),Number(a.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(e){var t;let{media:i}=e,r=null!=(t=null==i?void 0:i.buffered)?t:[];return Array.from(r).map((e,t)=>[Number(r.start(t).toFixed(3)),Number(r.end(t).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(e){let{media:t,options:{defaultStreamType:i}={}}=e,r=[hT.LIVE,hT.ON_DEMAND].includes(i)?i:void 0;if(!t)return r;let{streamType:a}=t;if(c4.includes(a))return a===hT.UNKNOWN?r:a;let s=t.duration;return s===1/0?hT.LIVE:Number.isFinite(s)?hT.ON_DEMAND:r}
270,mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(e){let{media:t}=e;if(!t)return NaN;let{targetLiveWindow:i}=t,r=c6.mediaStreamType.get(e);return(null==i||Number.isNaN(i))&&r===hT.LIVE?0:i},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(e){let{media:t,options:{liveEdgeOffset:i=10}={}}=e;if(!t)return!1;if("number"==typeof t.liveEdgeStart)return!Number.isNaN(t.liveEdgeStart)&&t.currentTime>=t.liveEdgeStart;if(c6.mediaStreamType.get(e)!==hT.LIVE)return!1;let r=t.seekable;if(!r)return!0;if(!r.length)return!1;let a=r.end(r.length-1)-i;return t.currentTime>=a},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get:e=>cJ(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get:e=>c0(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i,r;let{media:a,options:s}=t;if(!a)return;let n=e=>{var i;s.defaultSubtitles&&(e&&![hv.CAPTIONS,hv.SUBTITLES].includes(null==(i=null==e?void 0:e.track)?void 0:i.kind)||c1(t,!0))};return a.addEventListener("loadstart",n),null==(i=a.textTracks)||i.addEventListener("addtrack",n),null==(r=a.textTracks)||r.addEventListener("removetrack",n),()=>{var e,t;a.removeEventListener("loadstart",n),null==(e=a.textTracks)||e.removeEventListener("addtrack",n),null==(t=a.textTracks)||t.removeEventListener("removetrack",n)}}]},mediaChaptersCues:{get(e){var t;let{media:i}=e;if(!i)return[];let[r]=cU(i,{kind:hv.CHAPTERS});return Array.from(null!=(t=null==r?void 0:r.cues)?t:[]).map(({text:e,startTime:t,endTime:i})=>({text:e&&c9.parseFromString(e,"text/html").body.textContent||e,startTime:t,endTime:i}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(!r)return;let a=r.querySelector('track[kind="chapters"][default][src]'),s=null==(i=r.shadowRoot)?void 0:i.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return null==a||a.addEventListener("load",e),null==s||s.addEventListener("load",e),()=>{null==a||a.removeEventListener("load",e),null==s||s.removeEventListener("load",e)}}]},mediaIsPip:{get(e){var t,i;let{media:r,documentElement:a}=e;if(!r||!a||!a.pictureInPictureElement)return!1;if(a.pictureInPictureElement===r)return!0;if(a.pictureInPictureElement instanceof HTMLMediaElement)return!!(null==(t=r.localName)?void 0:t.includes("-"))&&h2(r,a.pictureInPictureElement);if(a.pictureInPictureElement.localName.includes("-")){let e=a.pictureInPictureElement.shadowRoot;for(;null==e?void 0:e.pictureInPictureElement;){if(e.pictureInPictureElement===r)return!0;e=null==(i=e.pictureInPictureElement)?void 0:i.shadowRoot}}return!1},set(e,t){let{media:i}=t;if(i)if(e){if(!hW.pictureInPictureEnabled)return void console.warn("MediaChrome: Picture-in-picture is not enabled");if(!i.requestPictureInPicture)return void console.warn("MediaChrome: The current media does not support picture-in-picture");let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};i.requestPictureInPicture().catch(t=>{if(11===t.code){if(!i.src)return void console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");if(0===i.readyState&&"none"===i.preload){let t=()=>{i.removeEventListener("loadedmetadata",r),i.preload="none"},r=()=>{i.requestPictureInPicture().catch(e),t()};i.addEventListener("loadedmetadata",r),i.preload="metadata",setTimeout(()=>{0===i.readyState&&e(),t()},1e3)}else throw t}else throw t})}else hW.pictureInPictureElement&&hW.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.videoRenditions)?t:[]].map(e=>({...e}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(e){var t,i,r;let{media:a}=e;return null==(r=null==(i=null==a?void 0:a.videoRenditions)?void 0:i[null==(t=a.videoRenditions)?void 0:t.selectedIndex])?void 0:r.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.videoRenditions))return void console.warn("MediaController: Rendition selection not supported by this media.");let r=Array.prototype.findIndex.call(i.videoRenditions,t=>t.id==e);i.videoRenditions.selectedIndex!=r&&(i.videoRenditions.selectedIndex=r)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.audioTracks)?t:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(e){var t,i;let{media:r}=e;return null==(i=[...null!=(t=null==r?void 0:r.audioTracks)?t:[]].find(e=>e.enabled))?void 0:i.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.audioTracks))return void console.warn("MediaChrome: Audio track selection not supported by this media.");
270for(let t of i.audioTracks)t.enabled=e==t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get:e=>(e=>{var t;let{media:i,documentElement:r,fullscreenElement:a=i}=e;if(!i||!r)return!1;let s=(e=>{let{documentElement:t,media:i}=e,r=null==t?void 0:t[c$];return!r&&"webkitDisplayingFullscreen"in i&&"webkitPresentationMode"in i&&i.webkitDisplayingFullscreen&&i.webkitPresentationMode===hA.FULLSCREEN?i:r})(e);if(!s)return!1;if(s===a||s===i)return!0;if(s.localName.includes("-")){let e=s.shadowRoot;if(!(c$ in e))return h2(s,a);for(;null==e?void 0:e[c$];){if(e[c$]===a)return!0;e=null==(t=e[c$])?void 0:t.shadowRoot}}return!1})(e),set(e,t,i){var r;e?((e=>{var t;let{media:i,fullscreenElement:r}=e;try{let e=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(e){let i=null==(t=r[e])?void 0:t.call(r);if(i instanceof Promise)return i.catch(()=>{})}else(null==i?void 0:i.webkitEnterFullscreen)?i.webkitEnterFullscreen():(null==i?void 0:i.requestFullscreen)&&i.requestFullscreen()}catch(e){console.error(e)}})(t),i.detail&&(null==(r=t.media)||r.focus())):(e=>{var t;let{documentElement:i}=e;if(cB){let e=null==(t=null==i?void 0:i[cB])?void 0:t.call(i);if(e instanceof Promise)return e.catch(()=>{})}})(t)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(e){var t;let{media:i}=e;return!!(null==i?void 0:i.remote)&&(null==(t=i.remote)?void 0:t.state)!=="disconnected"&&!!i.remote.state},set(e,t){var i,r;let{media:a}=t;if(a&&(!e||(null==(i=a.remote)?void 0:i.state)==="disconnected")&&(e||(null==(r=a.remote)?void 0:r.state)==="connected")){if("function"!=typeof a.remote.prompt)return void console.warn("MediaChrome: Casting is not supported in this environment");a.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get:()=>!1,set(e,t){let{media:i}=t;if(i){if(!(i.webkitShowPlaybackTargetPicker&&hK.WebKitPlaybackTargetAvailabilityEvent))return void console.error("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");i.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(e){let{media:t}=e;if(!cz||!cY(t))return hb.UNSUPPORTED}},mediaPipUnavailable:{get(e){let{media:t}=e;return cQ&&cj(t)?(null==t?void 0:t.disablePictureInPicture)?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED}},mediaVolumeUnavailable:{get(e){let{media:t}=e;if(!1===a||(null==t?void 0:t.volume)==void 0)return hb.UNSUPPORTED},stateOwnersUpdateHandlers:[e=>{null==a&&c5.then(t=>e(t?void 0:hb.UNSUPPORTED))}]},mediaCastUnavailable:{get(e,{availability:t="not-available"}={}){var i;let{media:r}=e;return cZ&&(null==(i=null==r?void 0:r.remote)?void 0:i.state)?null!=t&&"available"!==t?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED},stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaAirplayUnavailable:{get:(e,t)=>cX?(null==t?void 0:t.availability)==="not-available"?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED,mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaRenditionUnavailable:{get(e){var t;let{media:i}=e;return(null==i?void 0:i.videoRenditions)?(null==(t=i.videoRenditions)?void 0:t.length)?void 0:hb.UNAVAILABLE:hb.UNSUPPORTED},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(e){var t,i;let{media:r}=e;return(null==r?void 0:r.audioTracks)?(null!=(i=null==(t=r.audioTracks)?void 0:t.length)?i:0)<=1?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaLang:{get(e){let{options:{mediaLang:t}={}}=e;return null!=t?t:"en"}}},c7={[hd.MEDIA_PREVIEW_REQUEST](e,t,{detail:i}){var r,a,s;let n,o,{media:l}=t,d=null!=i?i:void 0;if(l&&null!=d){let[e]=cU(l,{kind:hv.METADATA,label:"thumbnails"}),t=Array.prototype.find.call(null!=(r=null==e?void 0:e.cues)?r:[],
270(e,t,i)=>0===t?e.endTime>d:t===i.length-1?e.startTime<=d:e.startTime<=d&&e.endTime>d);if(t){let e=/'^(?:[a-z]+:)?\/\//i.test(t.text)||null==(a=null==l?void 0:l.querySelector('track[label="thumbnails"]'))?void 0:a.src,i=new URL(t.text,e);o=new URLSearchParams(i.hash).get("#xywh").split(",").map(e=>+e),n=i.href}}let u=e.mediaDuration.get(t),h=null==(s=e.mediaChaptersCues.get(t).find((e,t,i)=>t===i.length-1&&u===e.endTime?e.startTime<=d&&e.endTime>=d:e.startTime<=d&&e.endTime>d))?void 0:s.text;return null!=i&&null==h&&(h=""),{mediaPreviewTime:d,mediaPreviewImage:n,mediaPreviewCoords:o,mediaPreviewChapter:h}},[hd.MEDIA_PAUSE_REQUEST](e,t){e.mediaPaused.set(!0,t)},[hd.MEDIA_PLAY_REQUEST](e,t){var i,r,a,s;let n=e.mediaStreamType.get(t)===hT.LIVE,o=!(null==(i=t.options)?void 0:i.noAutoSeekToLive),l=e.mediaTargetLiveWindow.get(t)>0;if(n&&o&&!l){let i=null==(r=e.mediaSeekable.get(t))?void 0:r[1];if(i){let r=null!=(s=null==(a=t.options)?void 0:a.seekToLiveOffset)?s:0;e.mediaCurrentTime.set(i-r,t)}}e.mediaPaused.set(!1,t)},[hd.MEDIA_PLAYBACK_RATE_REQUEST](e,t,{detail:i}){e.mediaPlaybackRate.set(i,t)},[hd.MEDIA_MUTE_REQUEST](e,t){e.mediaMuted.set(!0,t)},[hd.MEDIA_UNMUTE_REQUEST](e,t){e.mediaVolume.get(t)||e.mediaVolume.set(.25,t),e.mediaMuted.set(!1,t)},[hd.MEDIA_LOOP_REQUEST](e,t,{detail:i}){let r=!!i;return e.mediaLoop.set(r,t),{mediaLoop:r}},[hd.MEDIA_VOLUME_REQUEST](e,t,{detail:i}){i&&e.mediaMuted.get(t)&&e.mediaMuted.set(!1,t),e.mediaVolume.set(i,t)},[hd.MEDIA_SEEK_REQUEST](e,t,{detail:i}){e.mediaCurrentTime.set(i,t)},[hd.MEDIA_SEEK_TO_LIVE_REQUEST](e,t){var i,r,a;let s=null==(i=e.mediaSeekable.get(t))?void 0:i[1];if(Number.isNaN(Number(s)))return;let n=null!=(a=null==(r=t.options)?void 0:r.seekToLiveOffset)?a:0;e.mediaCurrentTime.set(s-n,t)},[hd.MEDIA_SHOW_SUBTITLES_REQUEST](e,t,{detail:i}){var r;let{options:a}=t,s=cJ(t),n=cx(i),o=null==(r=n[0])?void 0:r.language;o&&!a.noSubtitlesLangPref&&hK.localStorage.setItem("media-chrome-pref-subtitles-lang",o),cN(hE.SHOWING,s,n)},[hd.MEDIA_DISABLE_SUBTITLES_REQUEST](e,t,{detail:i}){let r=cJ(t);cN(hE.DISABLED,r,null!=i?i:[])},[hd.MEDIA_TOGGLE_SUBTITLES_REQUEST](e,t,{detail:i}){c1(t,i)},[hd.MEDIA_RENDITION_REQUEST](e,t,{detail:i}){e.mediaRenditionSelected.set(i,t)},[hd.MEDIA_AUDIO_TRACK_REQUEST](e,t,{detail:i}){e.mediaAudioTrackEnabled.set(i,t)},[hd.MEDIA_ENTER_PIP_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsPip.set(!0,t)},[hd.MEDIA_EXIT_PIP_REQUEST](e,t){e.mediaIsPip.set(!1,t)},[hd.MEDIA_ENTER_FULLSCREEN_REQUEST](e,t,i){e.mediaIsPip.get(t)&&e.mediaIsPip.set(!1,t),e.mediaIsFullscreen.set(!0,t,i)},[hd.MEDIA_EXIT_FULLSCREEN_REQUEST](e,t){e.mediaIsFullscreen.set(!1,t)},[hd.MEDIA_ENTER_CAST_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsCasting.set(!0,t)},[hd.MEDIA_EXIT_CAST_REQUEST](e,t){e.mediaIsCasting.set(!1,t)},[hd.MEDIA_AIRPLAY_REQUEST](e,t){e.mediaIsAirplaying.set(!0,t)}};var me=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},mt=(e,t,i)=>(me(e,t,"read from private field"),i?i.call(e):t.get(e)),mi=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},mr=(e,t,i,r)=>(me(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),ma=(e,t,i)=>(me(e,t,"access private method"),i);let ms=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter"," ","f","m","k","c","l","j",">","<","p"],mn="defaultsubtitles",mo="defaultstreamtype",ml="defaultduration",md="fullscreenelement",mu="hotkeys",mh="keyboardbackwardseekoffset",mc="keyboardforwardseekoffset",mm="keyboarddownvolumestep",mf="keyboardupvolumestep",mp="keysused",mg="lang",mv="loop",mE="liveedgeoffset",my="noautoseektolive",mb="nodefaultstore",mT="nohotkeys",mA="nomutedpref",m_="nosubtitleslangpref",mS="novolumepref",mk="seektoliveoffset";class mL extends cS{constructor(){super(),mi(this,v3),mi(this,v5),mi(this,v9),mi(this,v7),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,mi(this,vQ,new cw(this,mu)),mi(this,vX,void 0),mi(this,vZ,void 0),mi(this,vJ,null),mi(this,v0,void 0),mi(this,v1,void 0),mi(this,v2,e=>{var t;null==(t=mt(this,vZ))||t.dispatch(e)}),this.associateElement(this);let e={};mr(this,v0,t=>{Object.entries(t).forEach(([t,i])=>{if(t in e&&e[t]===i)return;
270this.propagateMediaState(t,i);let r=t.toLowerCase(),a=new hK.CustomEvent(hg[r],{composed:!0,detail:i});this.dispatchEvent(a)}),e=t}),this.hasAttribute(mT)?this.disableHotkeys():this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(mT,mu,mo,mn,ml,mA,mS,mg,mv)}get mediaStore(){return mt(this,vZ)}set mediaStore(e){var t,i;(mt(this,vZ)&&(null==(t=mt(this,v1))||t.call(this),mr(this,v1,void 0)),mr(this,vZ,e),mt(this,vZ)||this.hasAttribute(mb))?mr(this,v1,null==(i=mt(this,vZ))?void 0:i.subscribe(mt(this,v0))):ma(this,v3,v4).call(this)}get fullscreenElement(){var e;return null!=(e=mt(this,vX))?e:this}set fullscreenElement(e){var t;this.hasAttribute(md)&&this.removeAttribute(md),mr(this,vX,e),null==(t=mt(this,vZ))||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return ct(this,mn)}set defaultSubtitles(e){ci(this,mn,e)}get defaultStreamType(){return cr(this,mo)}set defaultStreamType(e){ca(this,mo,e)}get defaultDuration(){return h7(this,ml)}set defaultDuration(e){ce(this,ml,e)}get noHotkeys(){return ct(this,mT)}set noHotkeys(e){ci(this,mT,e)}get keysUsed(){return cr(this,mp)}set keysUsed(e){ca(this,mp,e)}get liveEdgeOffset(){return h7(this,mE)}set liveEdgeOffset(e){ce(this,mE,e)}get noAutoSeekToLive(){return ct(this,my)}set noAutoSeekToLive(e){ci(this,my,e)}get noVolumePref(){return ct(this,mS)}set noVolumePref(e){ci(this,mS,e)}get noMutedPref(){return ct(this,mA)}set noMutedPref(e){ci(this,mA,e)}get noSubtitlesLangPref(){return ct(this,m_)}set noSubtitlesLangPref(e){ci(this,m_,e)}get noDefaultStore(){return ct(this,mb)}set noDefaultStore(e){ci(this,mb,e)}attributeChangedCallback(e,t,i){var r,a,s,n,o,l,d,u,h,c,m,f;if(super.attributeChangedCallback(e,t,i),e===mT)i!==t&&""===i?(this.hasAttribute(mu)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&null===i&&this.enableHotkeys();else if(e===mu)mt(this,vQ).value=i;else if(e===mn&&i!==t)null==(r=mt(this,vZ))||r.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(mn)}});else if(e===mo)null==(s=mt(this,vZ))||s.dispatch({type:"optionschangerequest",detail:{defaultStreamType:null!=(a=this.getAttribute(mo))?a:void 0}});else if(e===mE)null==(n=mt(this,vZ))||n.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(mE)?+this.getAttribute(mE):void 0,seekToLiveOffset:this.hasAttribute(mk)?void 0:+this.getAttribute(mE)}});else if(e===mk)null==(o=mt(this,vZ))||o.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(mk)?+this.getAttribute(mk):void 0}});else if(e===my)null==(l=mt(this,vZ))||l.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(my)}});else if(e===md){let e=i?null==(d=this.getRootNode())?void 0:d.getElementById(i):void 0;mr(this,vX,e),null==(u=mt(this,vZ))||u.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===mg&&i!==t?(hO=i,null==(h=mt(this,vZ))||h.dispatch({type:"optionschangerequest",detail:{mediaLang:i}})):e===mv&&i!==t?null==(c=mt(this,vZ))||c.dispatch({type:hd.MEDIA_LOOP_REQUEST,detail:null!=i}):e===mS&&i!==t?null==(m=mt(this,vZ))||m.dispatch({type:"optionschangerequest",detail:{noVolumePref:this.hasAttribute(mS)}}):e===mA&&i!==t&&(null==(f=mt(this,vZ))||f.dispatch({type:"optionschangerequest",detail:{noMutedPref:this.hasAttribute(mA)}}))}connectedCallback(){var e,t;mt(this,vZ)||this.hasAttribute(mb)||ma(this,v3,v4).call(this),null==(e=mt(this,vZ))||e.dispatch({type:"documentelementchangerequest",detail:hW}),super.connectedCallback(),mt(this,vZ)&&!mt(this,v1)&&mr(this,v1,null==(t=mt(this,vZ))?void 0:t.subscribe(mt(this,v0))),this.hasAttribute(mT)?this.disableHotkeys():this.enableHotkeys()}disconnectedCallback(){var e,t,i,r;null==(e=super.disconnectedCallback)||e.call(this),mt(this,vZ)&&(null==(t=mt(this,vZ))||t.dispatch({type:"documentelementchangerequest",detail:void 0}),null==(i=mt(this,vZ))||i.dispatch({type:hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),mt(this,v1)&&(null==(r=mt(this,v1))||r.call(this),mr(this,v1,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),null==(t=mt(this,vZ))||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),null==(t=mt(this,vZ))||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){mO(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=mN(e,this.registerMediaStateReceiver.bind(this),this.unregisterMediaStateReceiver.bind(this));
270Object.values(hd).forEach(t=>{e.addEventListener(t,mt(this,v2))}),t.set(e,i)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;t.has(e)&&(t.get(e)(),t.delete(e),Object.values(hd).forEach(t=>{e.removeEventListener(t,mt(this,v2))}))}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;!(t.indexOf(e)>-1)&&(t.push(e),mt(this,vZ)&&Object.entries(mt(this,vZ).getState()).forEach(([t,i])=>{mO([e],t,i)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",ma(this,v9,v6))}disableHotkeys(){this.removeEventListener("keydown",ma(this,v9,v6)),this.removeEventListener("keyup",ma(this,v5,v8))}get hotkeys(){return cr(this,mu)}set hotkeys(e){ca(this,mu,e)}keyboardShortcutHandler(e){var t,i,r,a,s,n,o,l,d;let u,h,c,m=e.target;if(!((null!=(r=null!=(i=null==(t=m.getAttribute(mp))?void 0:t.split(" "))?i:null==m?void 0:m.keysUsed)?r:[]).map(e=>"Space"===e?" ":e).filter(Boolean).includes(e.key)||mt(this,vQ).contains(`no${e.key.toLowerCase()}`)||" "===e.key&&mt(this,vQ).contains("nospace"))&&!(e.shiftKey&&("/"===e.key||"?"===e.key)&&mt(this,vQ).contains("noshift+/")))switch(e.key){case" ":case"k":u=mt(this,vZ).getState().mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"m":u="off"===this.mediaStore.getState().mediaVolumeLevel?hd.MEDIA_UNMUTE_REQUEST:hd.MEDIA_MUTE_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"f":u=this.mediaStore.getState().mediaIsFullscreen?hd.MEDIA_EXIT_FULLSCREEN_REQUEST:hd.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":case"j":{let e=this.hasAttribute(mh)?+this.getAttribute(mh):10;h=Math.max((null!=(a=this.mediaStore.getState().mediaCurrentTime)?a:0)-e,0),c=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowRight":case"l":{let e=this.hasAttribute(mc)?+this.getAttribute(mc):10;h=Math.max((null!=(s=this.mediaStore.getState().mediaCurrentTime)?s:0)+e,0),c=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowUp":{let e=this.hasAttribute(mf)?+this.getAttribute(mf):.025;h=Math.min((null!=(n=this.mediaStore.getState().mediaVolume)?n:1)+e,1),c=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowDown":{let e=this.hasAttribute(mm)?+this.getAttribute(mm):.025;h=Math.max((null!=(o=this.mediaStore.getState().mediaVolume)?o:1)-e,0),c=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"<":h=Math.max((null!=(l=this.mediaStore.getState().mediaPlaybackRate)?l:1)-.25,.25).toFixed(2),c=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break;case">":h=Math.min((null!=(d=this.mediaStore.getState().mediaPlaybackRate)?d:1)+.25,2).toFixed(2),c=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break;case"/":case"?":e.shiftKey&&ma(this,v7,Ee).call(this);break;case"p":u=this.mediaStore.getState().mediaIsPip?hd.MEDIA_EXIT_PIP_REQUEST:hd.MEDIA_ENTER_PIP_REQUEST,c=new hK.CustomEvent(u,{composed:!0,bubbles:!0}),this.dispatchEvent(c)}}}vQ=new WeakMap,vX=new WeakMap,vZ=new WeakMap,vJ=new WeakMap,v0=new WeakMap,v1=new WeakMap,v2=new WeakMap,v3=new WeakSet,v4=function(){var e;this.mediaStore=(({media:e,fullscreenElement:t,documentElement:i,stateMediator:r=c6,requestMap:a=c7,options:s={},monitorStateOwnersOnlyWithSubscriptions:n=!0})=>{let o,l=[],d={options:{...s}},u=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),h=e=>{void 0==e||c2(e,u)||(u=Object.freeze({...u,...e}),l.forEach(e=>e(u)))},c=()=>{h(Object.entries(r).reduce((e,[t,{get:i}])=>(e[t]=i(d),e),{}))},m={},f=async(e,t)=>{var i,a,s,u,f,p,g,E,y,b,T,A,_,S,k,L;let R=!!o;if(o={...d,...null!=o?o:{},...e},R)return;await c8(...Object.values(e));let I=l.length>0&&0===t&&n,w=d.media!==o.media,C=(null==(i=d.media)?void 0:i.textTracks)!==(null==(a=o.media)?void 0:a.textTracks),D=(null==(s=d.media)?void 0:s.videoRenditions)!==(null==(u=o.media)?void 0:u.videoRenditions),x=(null==(f=d.media)?void 0:f.audioTracks)!==(null==(p=o.media)?void 0:p.audioTracks),M=(null==(g=d.media)?void 0:g.remote)!==(null==(E=o.media)?void 0:E.remote),P=d.documentElement!==o.documentElement,O=!!d.media&&(w||I),N=!!(null==(y=d.media)?void 0:y.textTracks)&&(C||I),U=!!(null==(b=d.media)?void 0:b.videoRenditions)&&(D||I),F=!!(null==(T=d.media)?void 0:T.audioTracks)&&(x||I),B=!!(null==(A=d.media)?void 0:A.remote)&&(M||I),$=!!d.documentElement&&(P||I),H=O||N||U||F||B||$,G=0===l.length&&1===t&&n,V=!!o.media&&(w||G),K=!!(null==(_=o.media)?void 0:_.textTracks)&&(C||G),W=!!(null==(S=o.media)?void 0:S.videoRenditions)&&(D||G),q=!!(null==(k=o.media)?void 0:k.audioTracks)&&(x||G),j=!!(null==(L=o.media)?void 0:L.remote)&&(M||G),Y=!!o.documentElement&&(P||G),z=V||K||W||q||j||Y;
270if(!(H||z)){Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0;return}Object.entries(r).forEach(([e,{get:t,mediaEvents:i=[],textTracksEvents:r=[],videoRenditionsEvents:a=[],audioTracksEvents:s=[],remoteEvents:n=[],rootEvents:l=[],stateOwnersUpdateHandlers:u=[]}])=>{let c;m[e]||(m[e]={});let f=i=>{h({[e]:t(d,i)})};c=m[e].mediaEvents,i.forEach(t=>{c&&O&&(d.media.removeEventListener(t,c),m[e].mediaEvents=void 0),V&&(o.media.addEventListener(t,f),m[e].mediaEvents=f)}),c=m[e].textTracksEvents,r.forEach(t=>{var i,r;c&&N&&(null==(i=d.media.textTracks)||i.removeEventListener(t,c),m[e].textTracksEvents=void 0),K&&(null==(r=o.media.textTracks)||r.addEventListener(t,f),m[e].textTracksEvents=f)}),c=m[e].videoRenditionsEvents,a.forEach(t=>{var i,r;c&&U&&(null==(i=d.media.videoRenditions)||i.removeEventListener(t,c),m[e].videoRenditionsEvents=void 0),W&&(null==(r=o.media.videoRenditions)||r.addEventListener(t,f),m[e].videoRenditionsEvents=f)}),c=m[e].audioTracksEvents,s.forEach(t=>{var i,r;c&&F&&(null==(i=d.media.audioTracks)||i.removeEventListener(t,c),m[e].audioTracksEvents=void 0),q&&(null==(r=o.media.audioTracks)||r.addEventListener(t,f),m[e].audioTracksEvents=f)}),c=m[e].remoteEvents,n.forEach(t=>{var i,r;c&&B&&(null==(i=d.media.remote)||i.removeEventListener(t,c),m[e].remoteEvents=void 0),j&&(null==(r=o.media.remote)||r.addEventListener(t,f),m[e].remoteEvents=f)}),c=m[e].rootEvents,l.forEach(t=>{c&&$&&(d.documentElement.removeEventListener(t,c),m[e].rootEvents=void 0),Y&&(o.documentElement.addEventListener(t,f),m[e].rootEvents=f)});let p=m[e].stateOwnersUpdateHandlers;if(p&&H&&(Array.isArray(p)?p:[p]).forEach(e=>{"function"==typeof e&&e()}),z){let t=u.map(e=>e(f,o)).filter(e=>"function"==typeof e);m[e].stateOwnersUpdateHandlers=1===t.length?t[0]:t}else H&&(m[e].stateOwnersUpdateHandlers=void 0)}),Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0};return f({media:e,fullscreenElement:t,documentElement:i,options:s}),{dispatch(e){let{type:t,detail:i}=e;a[t]&&null==u.mediaErrorCode?h(a[t](r,d,e)):"mediaelementchangerequest"===t?f({media:i}):"fullscreenelementchangerequest"===t?f({fullscreenElement:i}):"documentelementchangerequest"===t?f({documentElement:i}):"optionschangerequest"===t&&(Object.entries(null!=i?i:{}).forEach(([e,t])=>{d.options[e]=t}),c())},getState:()=>u,subscribe:e=>(f({},l.length+1),l.push(e),e(u),()=>{let t=l.indexOf(e);t>=0&&(f({},l.length-1),l.splice(t,1))})}})({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(mn),defaultDuration:this.hasAttribute(ml)?+this.getAttribute(ml):void 0,defaultStreamType:null!=(e=this.getAttribute(mo))?e:void 0,liveEdgeOffset:this.hasAttribute(mE)?+this.getAttribute(mE):void 0,seekToLiveOffset:this.hasAttribute(mk)?+this.getAttribute(mk):this.hasAttribute(mE)?+this.getAttribute(mE):void 0,noAutoSeekToLive:this.hasAttribute(my),noVolumePref:this.hasAttribute(mS),noMutedPref:this.hasAttribute(mA),noSubtitlesLangPref:this.hasAttribute(m_)}})},v5=new WeakSet,v8=function(e){let{key:t,shiftKey:i}=e;i&&("/"===t||"?"===t)||ms.includes(t)?this.keyboardShortcutHandler(e):this.removeEventListener("keyup",ma(this,v5,v8))},v9=new WeakSet,v6=function(e){var t;let{metaKey:i,altKey:r,key:a,shiftKey:s}=e,n=s&&("/"===a||"?"===a);if(n&&(null==(t=mt(this,vJ))?void 0:t.open)||i||r||!n&&!ms.includes(a))return void this.removeEventListener("keyup",ma(this,v5,v8));let o=e.target,l=o instanceof HTMLElement&&("media-volume-range"===o.tagName.toLowerCase()||"media-time-range"===o.tagName.toLowerCase());![" ","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(a)||mt(this,vQ).contains(`no${a.toLowerCase()}`)||" "===a&&mt(this,vQ).contains("nospace")||l||e.preventDefault(),this.addEventListener("keyup",ma(this,v5,v8),{once:!0})},v7=new WeakSet,Ee=function(){mt(this,vJ)||(mr(this,vJ,hW.createElement("media-keyboard-shortcuts-dialog")),this.appendChild(mt(this,vJ))),mt(this,vJ).open=!0};let mR=Object.values(hm),mI=Object.values(hh),mw=e=>{var t,i,r,a;let{observedAttributes:s}=e.constructor;!s&&(null==(t=e.nodeName)?void 0:t.includes("-"))&&(hK.customElements.upgrade(e),{observedAttributes:s}=e.constructor);let n=null==(a=null==(r=null==(i=null==e?void 0:e.getAttribute)?void 0:i.call(e,hu.MEDIA_CHROME_ATTRIBUTES))?void 0:r.split)?void 0:a.call(r,/\s+/);return Array.isArray(s||n)?(s||n).filter(e=>mR.includes(e)):[]},mC=e=>{var t,i;return(null==(t=e.nodeName)?void 0:t.includes("-"))&&hK.customElements.get(null==(i=e.nodeName)?void 0:i.toLowerCase())&&!(e instanceof hK.customElements.get(e.nodeName.toLowerCase()))&&hK.customElements.upgrade(e),mI.some(t=>
270t in e)||!!mw(e).length},mD=e=>{var t;return null==(t=null==e?void 0:e.join)?void 0:t.call(e,":")},mx={[hm.MEDIA_SUBTITLES_LIST]:cP,[hm.MEDIA_SUBTITLES_SHOWING]:cP,[hm.MEDIA_SEEKABLE]:mD,[hm.MEDIA_BUFFERED]:e=>null==e?void 0:e.map(mD).join(" "),[hm.MEDIA_PREVIEW_COORDS]:e=>null==e?void 0:e.join(" "),[hm.MEDIA_RENDITION_LIST]:function(e){return null==e?void 0:e.map(h_).join(" ")},[hm.MEDIA_AUDIO_TRACK_LIST]:function(e){return null==e?void 0:e.map(hk).join(" ")}},mM=async(e,t,i)=>{var r,a;if(e.isConnected||await hw(0),"boolean"==typeof i||null==i)return ci(e,t,i);if("number"==typeof i)return ce(e,t,i);if("string"==typeof i)return ca(e,t,i);if(Array.isArray(i)&&!i.length)return e.removeAttribute(t);let s=null!=(a=null==(r=mx[t])?void 0:r.call(mx,i))?a:i;return e.setAttribute(t,s)},mP=(e,t)=>{var i;if(null==(i=e.closest)?void 0:i.call(e,'*[slot="media"]'))return;let r=(e,t)=>{var i,r;mC(e)&&t(e);let{children:a=[]}=null!=e?e:{};[...a,...null!=(r=null==(i=null==e?void 0:e.shadowRoot)?void 0:i.children)?r:[]].forEach(e=>mP(e,t))},a=null==e?void 0:e.nodeName.toLowerCase();a.includes("-")&&!mC(e)?hK.customElements.whenDefined(a).then(()=>{r(e,t)}):r(e,t)},mO=(e,t,i)=>{e.forEach(e=>{if(t in e){e[t]=i;return}let r=mw(e),a=t.toLowerCase();r.includes(a)&&mM(e,a,i)})},mN=(e,t,i)=>{mP(e,t);let r=e=>{var i;t(null!=(i=null==e?void 0:e.composedPath()[0])?i:e.target)},a=e=>{var t;i(null!=(t=null==e?void 0:e.composedPath()[0])?t:e.target)};e.addEventListener(hd.REGISTER_MEDIA_STATE_RECEIVER,r),e.addEventListener(hd.UNREGISTER_MEDIA_STATE_RECEIVER,a);let s=[],n=e=>{let r=e.target;"media"!==r.name&&(s.forEach(e=>mP(e,i)),(s=[...r.assignedElements({flatten:!0})]).forEach(e=>mP(e,t)))};e.addEventListener("slotchange",n);let o=new MutationObserver(e=>{e.forEach(e=>{let{addedNodes:r=[],removedNodes:a=[],type:s,target:n,attributeName:o}=e;"childList"===s?(Array.prototype.forEach.call(r,e=>mP(e,t)),Array.prototype.forEach.call(a,e=>mP(e,i))):"attributes"===s&&o===hu.MEDIA_CHROME_ATTRIBUTES&&(mC(n)?t(n):i(n))})});return o.observe(e,{childList:!0,attributes:!0,subtree:!0}),()=>{mP(e,i),e.removeEventListener("slotchange",n),o.disconnect(),e.removeEventListener(hd.REGISTER_MEDIA_STATE_RECEIVER,r),e.removeEventListener(hd.UNREGISTER_MEDIA_STATE_RECEIVER,a)}};hK.customElements.get("media-controller")||hK.customElements.define("media-controller",mL);let mU="placement",mF="bounds";class mB extends hK.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!h8(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if("left"===t||"right"===t)return void this.style.removeProperty("--media-tooltip-offset-x");let i=getComputedStyle(this),r=null!=(e=h3(this,"#"+this.bounds))?e:hZ(this);if(!r)return;let{x:a,width:s}=r.getBoundingClientRect(),{x:n,width:o}=this.getBoundingClientRect(),l=i.getPropertyValue("--media-tooltip-offset-x"),d=l?parseFloat(l.replace("px","")):0,u=i.getPropertyValue("--media-tooltip-container-margin"),h=u?parseFloat(u.replace("px","")):0,c=n-a+d-h,m=n+o-(a+s)+d+h;c<0?this.style.setProperty("--media-tooltip-offset-x",`${c}px`):m>0?this.style.setProperty("--media-tooltip-offset-x",`${m}px`):this.style.removeProperty("--media-tooltip-offset-x")},!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}if(this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){const e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[mU,mF]}get placement(){return cr(this,mU)}set placement(e){ca(this,mU,e)}get bounds(){return cr(this,mF)}set bounds(e){ca(this,mF,e)}}mB.shadowRootOptions={mode:"open"},mB.getTemplateHTML=function(e){return` 271 <style> 272 :host { 273 --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7))); 274 --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color)); 275 --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2); 276 --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px); 277 --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color)); 278 position: relative; 279 pointer-events: none; 280 display: var(--media-tooltip-display, inline-flex); 281 justify-content: center; 282 align-items: center; 283 box-sizing: border-box; 284 z-index: var(--media-tooltip-z-index, 1); 285 background: var(--_tooltip-background); 286 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 287 font: var(--media-font, 288 var(--media-font-weight, 400) 289 var(--media-font-size, 13px) / 290 var(--media-text-content-height, var(--media-control-height, 18px)) 291 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 292 padding: var(--media-tooltip-padding, .35em .7em); 293 border: var(--media-tooltip-border, none); 294 border-radius: var(--media-tooltip-border-radius, 5px); 295 filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2))); 296 white-space: var(--media-tooltip-white-space, nowrap); 297 } 298 299 :host([hidden]) { 300 display: none; 301 } 302 303 img, svg { 304 display: inline-block; 305 } 306 307 #arrow { 308 position: absolute; 309 width: 0px; 310 height: 0px; 311 border-style: solid; 312 display: var(--media-tooltip-arrow-display, block); 313 } 314 315 :host(:not([placement])), 316 :host([placement="top"]) { 317 position: absolute; 318 bottom: calc(100% + var(--media-tooltip-distance, 12px)); 319 left: 50%; 320 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0
320); 321 } 322 :host(:not([placement])) #arrow, 323 :host([placement="top"]) #arrow { 324 top: 100%; 325 left: 50%; 326 border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width); 327 border-color: var(--_tooltip-arrow-background) transparent transparent transparent; 328 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 329 } 330 331 :host([placement="right"]) { 332 position: absolute; 333 left: calc(100% + var(--media-tooltip-distance, 12px)); 334 top: 50%; 335 transform: translate(0, -50%); 336 } 337 :host([placement="right"]) #arrow { 338 top: 50%; 339 right: 100%; 340 border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0; 341 border-color: transparent var(--_tooltip-arrow-background) transparent transparent; 342 transform: translate(0, -50%); 343 } 344 345 :host([placement="bottom"]) { 346 position: absolute; 347 top: calc(100% + var(--media-tooltip-distance, 12px)); 348 left: 50%; 349 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0); 350 } 351 :host([placement="bottom"]) #arrow { 352 bottom: 100%; 353 left: 50%; 354 border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width); 355 border-color: transparent transparent var(--_tooltip-arrow-background) transparent; 356 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 357 } 358 359 :host([placement="left"]) { 360 position: absolute; 361 right: calc(100% + var(--media-tooltip-distance, 12px)); 362 top: 50%; 363 transform: translate(0, -50%); 364 } 365 :host([placement="left"]) #arrow { 366 top: 50%; 367 left: 100%; 368 border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height); 369 border-color: transparent transparent transparent var(--_tooltip-arrow-background); 370 transform: translate(0, -50%); 371 } 372 373 :host([placement="none"]) #arrow { 374 display: none; 375 } 376 </style> 377 <slot></slot> 378 <div id="arrow"></div> 379 `},hK.customElements.get("media-tooltip")||hK.customElements.define("media-tooltip",mB);var m$=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},mH=(e,t,i)=>(m$(e,t,"read from private field"),i?i.call(e):t.get(e)),mG=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},mV=(e,t,i,r)=>(m$(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let mK="tooltipplacement",mW="disabled",mq="notooltip";class mj extends hK.HTMLElement{constructor(){if(super(),mG(this,En),mG(this,Et,void 0),this.preventClick=!1,this.tooltipEl=null,mG(this,Ei,e=>{this.preventClick||this.handleClick(e),setTimeout(mH(this,Er),0)}),mG(this,Er,()=>{var e,t;null==(t=null==(e=this.tooltipEl)?void 0:e.updateXOffset)||t.call(e)}),mG(this,Ea,e=>{let{key:t}=e;this.keysUsed.includes(t)?this.preventClick||this.handleClick(e):this.removeEventListener("keyup",mH(this,Ea))}),mG(this,Es,e=>{let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",mH(this,Ea)):this.addEventListener("keyup",mH(this,Ea),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",mK,hu.MEDIA_CONTROLLER,hm.MEDIA_LANG]}enable(){this.addEventListener("click",mH(this,Ei)),this.addEventListener("keydown",mH(this,Es)),this.tabIndex=0}disable(){this.removeEventListener("click",mH(this,Ei)),this.removeEventListener("keydown",mH(this,Es)),this.removeEventListener("keyup",mH(this,Ea)),this.tabIndex=-1}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=mH(this,Et))?void 0:r.unassociateElement)||a.call(r,this),mV(this,Et,null)),i&&this.isConnected&&(mV(this,Et,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=mH(this,Et))?void 0:n.associateElement)||o.call(n,this))):"disabled"===e&&i!==t?null==i?this.enable():this.disable():e===mK&&this.tooltipEl&&i!==t?this.tooltipEl.placement=i:e===hm.MEDIA_LA
379NG&&(this.shadowRoot.querySelector('slot[name="tooltip-content"]').innerHTML=this.constructor.getTooltipContentHTML()),mH(this,Er).call(this)}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(mV(this,Et,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=mH(this,Et))?void 0:t.associateElement)||i.call(t,this)),hK.customElements.whenDefined("media-tooltip").then(()=>{var e,t;return(e=En,t=Eo,m$(this,e,"access private method"),t).call(this)})}disconnectedCallback(){var e,t;this.disable(),null==(t=null==(e=mH(this,Et))?void 0:e.unassociateElement)||t.call(e,this),mV(this,Et,null),this.removeEventListener("mouseenter",mH(this,Er)),this.removeEventListener("focus",mH(this,Er)),this.removeEventListener("click",mH(this,Ei))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return cr(this,mK)}set tooltipPlacement(e){ca(this,mK,e)}get mediaController(){return cr(this,hu.MEDIA_CONTROLLER)}set mediaController(e){ca(this,hu.MEDIA_CONTROLLER,e)}get disabled(){return ct(this,mW)}set disabled(e){ci(this,mW,e)}get noTooltip(){return ct(this,mq)}set noTooltip(e){ci(this,mq,e)}handleClick(e){}}Et=new WeakMap,Ei=new WeakMap,Er=new WeakMap,Ea=new WeakMap,Es=new WeakMap,En=new WeakSet,Eo=function(){this.addEventListener("mouseenter",mH(this,Er)),this.addEventListener("focus",mH(this,Er)),this.addEventListener("click",mH(this,Ei));let e=this.tooltipPlacement;e&&this.tooltipEl&&(this.tooltipEl.placement=e)},mj.shadowRootOptions={mode:"open"},mj.getTemplateHTML=function(e,t={}){return` 380 <style> 381 :host { 382 position: relative; 383 font: var(--media-font, 384 var(--media-font-weight, bold) 385 var(--media-font-size, 14px) / 386 var(--media-text-content-height, var(--media-control-height, 24px)) 387 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 388 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 389 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 390 padding: var(--media-button-padding, var(--media-control-padding, 10px)); 391 justify-content: var(--media-button-justify-content, center); 392 display: inline-flex; 393 align-items: center; 394 vertical-align: middle; 395 box-sizing: border-box; 396 transition: background .15s linear; 397 pointer-events: auto; 398 cursor: var(--media-cursor, pointer); 399 -webkit-tap-highlight-color: transparent; 400 } 401 402 403 :host(:focus-visible) { 404 box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 405 outline: 0; 406 } 407 408 :host(:where(:focus)) { 409 box-shadow: none; 410 outline: 0; 411 } 412 413 :host(:hover) { 414 background: var(--media-control-hover-background, rgba(50 50 70 / .7)); 415 } 416 417 svg, img, ::slotted(svg), ::slotted(img) { 418 width: var(--media-button-icon-width); 419 height: var(--media-button-icon-height, var(--media-control-height, 24px)); 420 transform: var(--media-button-icon-transform); 421 transition: var(--media-button-icon-transition); 422 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 423 vertical-align: middle; 424 max-width: 100%; 425 max-height: 100%; 426 min-width: 100%; 427 } 428 429 media-tooltip { 430 431 max-width: 0; 432 overflow-x: clip; 433 opacity: 0; 434 transition: opacity .3s, max-width 0s 9s; 435 } 436 437 :host(:hover) media-tooltip, 438 :host(:focus-visible) media-tooltip { 439 max-width: 100vw; 440 opacity: 1; 441 transition: opacity .3s; 442 } 443 444 :host([notooltip]) slot[name="tooltip"] { 445 display: none; 446 } 447 </style> 448 449 ${this.getSlotTemplateHTML(e,t)} 450 451 <slot name="tooltip"> 452 <media-tooltip part="tooltip" aria-hidden="true"> 453 <template shadowrootmode="${mB.shadowRootOptions.mode}"> 454 ${mB.getTemplateHTML({})} 455 </template> 456 <slot name="tooltip-content"> 457 ${this.getTooltipContentHTML(e)} 458 </slot> 459 </media-tooltip> 460 </slot> 461 `},mj.getSlotTemplateHTML=function(e,t){return` 462 <slot></slot> 463 `},mj.getTooltipContentHTML=function(){return""},hK.customElements.get("media-chrome-button")||hK.customElements.define("media-chrome-button",mj);let mY=`<svg aria-hidden="true" viewBox="0 0 26 24"> 464 <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"/> 465</svg> 466`,mz=e=>{let t=e.mediaIsAirplaying?hN("stop airplay"):hN("start airplay");e.setAttribute("aria-label",t)};class mQ extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_AIRPLAYING,hm.MEDIA_AIRPLAY_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),mz(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_AIRPLAYING&&mz(this)}get mediaIsAirplaying(){return ct(this,hm.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){ci(this,hm.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return cr(this,hm.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ca(this,hm.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new hK.CustomEvent(hd.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}}mQ.getSlotTemplateHTML=function(e){return` 467 <style> 468 :host([${hm.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) { 469 display: none !important; 470 } 471 472 473 :host(:not([${hm.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) { 474 display: none !important; 475 } 476 477 :host([${hm.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter], 478 :host(:not([${hm.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] { 479 display: none; 480 } 481 </style> 482 483 <slot name="icon"> 484 <slot name="enter">${mY}</slot> 485 <slot name="exit">${mY}</slot> 486 </slot> 487 `},mQ.getTooltipContentHTML=function(){return` 488 <slot name="tooltip-enter">${hN("start airplay")}</slot> 489 <slot name="tooltip-exit">${hN("stop airplay")}</slot> 490 `},hK.customElements.get("media-airplay-button")||hK.customElements.define("media-airplay-button",mQ);let mX=`<svg aria-hidden="true" viewBox="0 0 26 24"> 491 <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
4910 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"/> 492</svg>`,mZ=`<svg aria-hidden="true" viewBox="0 0 26 24"> 493 <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"/> 494</svg>`,mJ=e=>{e.setAttribute("aria-checked",cF(e).toString())};class m0 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",hN("closed captions")),mJ(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_SHOWING&&mJ(this)}get mediaSubtitlesList(){return m1(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){m2(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return m1(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){m2(this,hm.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}}m0.getSlotTemplateHTML=function(e){return` 495 <style> 496 :host([aria-checked="true"]) slot[name=off] { 497 display: none !important; 498 } 499 500 501 :host(:not([aria-checked="true"])) slot[name=on] { 502 display: none !important; 503 } 504 505 :host([aria-checked="true"]) slot[name=tooltip-enable], 506 :host(:not([aria-checked="true"])) slot[name=tooltip-disable] { 507 display: none; 508 } 509 </style> 510 511 <slot name="icon"> 512 <slot name="on">${mX}</slot> 513 <slot name="off">${mZ}</slot> 514 </slot> 515 `},m0.getTooltipContentHTML=function(){return` 516 <slot name="tooltip-enable">${hN("Enable captions")}</slot> 517 <slot name="tooltip-disable">${hN("Disable captions")}</slot> 518 `};let m1=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},m2=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};hK.customElements.get("media-captions-button")||hK.customElements.define("media-captions-button",m0);let m3=e=>{let t=e.mediaIsCasting?hN("stop casting"):hN("start casting");e.setAttribute("aria-label",t)};class m4 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_CASTING,hm.MEDIA_CAST_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),m3(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_CASTING&&m3(this)}get mediaIsCasting(){return ct(this,hm.MEDIA_IS_CASTING)}set mediaIsCasting(e){ci(this,hm.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return cr(this,hm.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ca(this,hm.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?hd.MEDIA_EXIT_CAST_REQUEST:hd.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}m4.getSlotTemplateHTML=function(e){return` 519 <style> 520 :host([${hm.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) { 521 display: none !important; 522 } 523 524 525 :host(:not([${hm.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) { 526 display: none !important; 527 } 528 529 :host([${hm.MEDIA_IS_CASTING}]) slot[name=tooltip-enter], 530 :host(:not([${hm.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] { 531 display: none; 532 } 533 </style> 534 535 <slot name="icon"> 536 <slot name="enter"><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></slot> 537 <slot name="exit"><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></slot> 538 </slot> 539 `},m4.getTooltipContentHTML=function(){return` 540 <slot name="tooltip-enter">${hN("Start casting")}</slot> 541 <slot name="tooltip-exit">${hN("Stop casting")}</slot> 542 `},hK.customElements.get("media-cast-button")||hK.customElements.define("media-cast-button",m4);var m5=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},m8=(e,t,i)=>(m5(e,t,"read from private field"),i?i.call(e):t.get(e)),m9=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},m6=(e,t,i,r)=>(m5(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),m7=(e,t,i)=>(m5(e,t,"access private method"),i);let fe="open";class ft extends hK.HTMLElement{constructor(){super(),m9(this,Eh),m9(this,Em),m9(this,Ep),m9(this,Ev),m9(this,Ey),m9(this,ET),m9(this,El,!1),m9(this,Ed,null),m9(this,Eu,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[fe,"anchor"]}get open(){return ct(this,fe)}set open(e){ci(this,fe,e)}handleEvent(e){switch(e.type){case"invoke":m7(this,Ev,EE).call(this,e);break;case"focusout":m7(this,Ey,Eb).call(this,e);break;case"keydown":m7(this,ET,EA).call(this,e)}}connectedCallback(){m7(this,Eh,Ec).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,i){m7(this,Eh,Ec).call(this),e===fe&&i!==t&&(this.open?m7(this,Em,Ef).call(this):m7(this,Ep,Eg).call(this))}focus(){m6(this,Ed,h4());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;
542let i=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==i||i.focus()}get keysUsed(){return["Escape","Tab"]}}El=new WeakMap,Ed=new WeakMap,Eu=new WeakMap,Eh=new WeakSet,Ec=function(){if(!m8(this,El)&&(m6(this,El,!0),!this.shadowRoot)){this.attachShadow(this.constructor.shadowRootOptions);let e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e),queueMicrotask(()=>{let{style:e}=h9(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}},Em=new WeakSet,Ef=function(){var e;null==(e=m8(this,Eu))||e.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})},Ep=new WeakSet,Eg=function(){var e;null==(e=m8(this,Eu))||e.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))},Ev=new WeakSet,EE=function(e){m6(this,Eu,e.relatedTarget),h2(this,e.relatedTarget)||(this.open=!this.open)},Ey=new WeakSet,Eb=function(e){var t;!h2(this,e.relatedTarget)&&(null==(t=m8(this,Ed))||t.focus(),m8(this,Eu)&&m8(this,Eu)!==e.relatedTarget&&this.open&&(this.open=!1))},ET=new WeakSet,EA=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;o||l||d||this.keysUsed.includes(n)&&(e.preventDefault(),e.stopPropagation(),"Tab"===n?(e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()):"Escape"===n&&(null==(s=m8(this,Ed))||s.focus(),this.open=!1))},ft.shadowRootOptions={mode:"open"},ft.getTemplateHTML=function(e){return` 543 <style> 544 :host { 545 font: var(--media-font, 546 var(--media-font-weight, normal) 547 var(--media-font-size, 14px) / 548 var(--media-text-content-height, var(--media-control-height, 24px)) 549 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 550 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 551 display: var(--media-dialog-display, inline-flex); 552 justify-content: center; 553 align-items: center; 554 555 transition-behavior: allow-discrete; 556 visibility: hidden; 557 opacity: 0; 558 transform: translateY(2px) scale(.99); 559 pointer-events: none; 560 } 561 562 :host([open]) { 563 transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out; 564 visibility: visible; 565 opacity: 1; 566 transform: translateY(0) scale(1); 567 pointer-events: auto; 568 } 569 570 #content { 571 display: flex; 572 position: relative; 573 box-sizing: border-box; 574 width: min(320px, 100%); 575 word-wrap: break-word; 576 max-height: 100%; 577 overflow: auto; 578 text-align: center; 579 line-height: 1.4; 580 } 581 </style> 582 ${this.getSlotTemplateHTML(e)} 583 `},ft.getSlotTemplateHTML=function(e){return` 584 <slot id="content"></slot> 585 `},hK.customElements.get("media-chrome-dialog")||hK.customElements.define("media-chrome-dialog",ft);var fi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fr=(e,t,i)=>(fi(e,t,"read from private field"),i?i.call(e):t.get(e)),fa=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fs=(e,t,i,r)=>(fi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),fn=(e,t,i)=>(fi(e,t,"access private method"),i);class fo extends hK.HTMLElement{constructor(){if(super(),fa(this,Ex),fa(this,EP),fa(this,EN),fa(this,EF),fa(this,E$),fa(this,EG),fa(this,EK),fa(this,Eq),fa(this,E_,void 0),fa(this,ES,void 0),fa(this,Ek,void 0),fa(this,EL,void 0),fa(this,ER,{}),fa(this,EI,[]),fa(this,Ew,()=>{if(this.range.matches(":focus-visible")){let{style:e}=h9(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),fa(this,EC,()=>{let{style:e}=h9(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),fa(this,ED,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.container=this.shadowRoot.querySelector("#container"),fs(this,Ek,this.shadowRoot.querySelector("#startpoint")),fs(this,EL,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=fr(this,E_))?void 0:r.unassociateElement)||a.call(r,this),fs(this,E_,null)),i&&this.isConnected&&(fs(this,E_,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fr(this,E_))?void 0:n.associateElement)||o.call(n,this))):("disabled"===e||"aria-disabled"===e&&t!==i)&&(null==i?(this.range.removeAttribute(e),fn(this,EP,EO).call(this)):(this.range.setAttribute(e,i),fn(this,EN,EU).call(this)))}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),fr(this,ER).pointer=h9(this.shadowRoot,"#pointer"),fr(this,ER).progress=h9(this.shadowRoot,"#progress"),fr(this,ER).thumb=h9(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),fr(this,ER).activeSegment=h9(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(fs(this,E_,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fr(this,E_))?void 0:t.associateElement)||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",fr(this,Ew)),this.shadowRoot.addEventListener("focusout",fr(this,EC)),fn(this,EP,EO).call(this),hz(this.container,fr(this,E
585D))}disconnectedCallback(){var e,t;fn(this,EN,EU).call(this),null==(t=null==(e=fr(this,E_))?void 0:e.unassociateElement)||t.call(e,this),fs(this,E_,null),this.shadowRoot.removeEventListener("focusin",fr(this,Ew)),this.shadowRoot.removeEventListener("focusout",fr(this,EC)),hQ(this.container,fr(this,ED))}updatePointerBar(e){var t;null==(t=fr(this,ER).pointer)||t.style.setProperty("width",`${100*this.getPointerRatio(e)}%`)}updateBar(){var e,t;let i=100*this.range.valueAsNumber;null==(e=fr(this,ER).progress)||e.style.setProperty("width",`${i}%`),null==(t=fr(this,ER).thumb)||t.style.setProperty("left",`${i}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(null==e?void 0:e.length)),!(null==e?void 0:e.length))return;let i=[...new Set([+this.range.min,...e.flatMap(e=>[e.start,e.end]),+this.range.max])];fs(this,EI,[...i]);let r=i.pop();for(let[e,a]of i.entries()){let[s,n]=[0===e,e===i.length-1],o=s?"calc(var(--segments-gap) / -1)":`${100*a}%`,l=n?r:i[e+1],d=`calc(${(l-a)*100}%${s||n?"":" - var(--segments-gap)"})`,u=hW.createElementNS("http://www.w3.org/2000/svg","rect"),h=h6(this.shadowRoot,`#segments-clipping rect:nth-child(${e+1})`);h.style.setProperty("x",o),h.style.setProperty("width",d),t.append(u)}}getPointerRatio(e){var t,i,r,a;let s,n,o;return t=e.clientX,i=e.clientY,r=fr(this,Ek).getBoundingClientRect(),s=(a=fr(this,EL).getBoundingClientRect()).x-r.x,0==(o=s*s+(n=a.y-r.y)*n)?0:Math.max(0,Math.min(1,((t-r.x)*s+(i-r.y)*n)/o))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":fn(this,Eq,Ej).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":fn(this,E$,EH).call(this,e);break;
585case"pointerdown":fn(this,EF,EB).call(this,e);break;case"pointerup":fn(this,EG,EV).call(this);break;case"pointerleave":fn(this,EK,EW).call(this)}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}}E_=new WeakMap,ES=new WeakMap,Ek=new WeakMap,EL=new WeakMap,ER=new WeakMap,EI=new WeakMap,Ew=new WeakMap,EC=new WeakMap,ED=new WeakMap,Ex=new WeakSet,EM=function(e){let t=fr(this,ER).activeSegment;if(!t)return;let i=this.getPointerRatio(e),r=fr(this,EI).findIndex((e,t,r)=>{let a=r[t+1];return null!=a&&i>=e&&i<=a}),a=`#segments-clipping rect:nth-child(${r+1})`;t.selectorText==a&&t.style.transform||(t.selectorText=a,t.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))},EP=new WeakSet,EO=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))},EN=new WeakSet,EU=function(){var e,t;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),null==(e=hK.window)||e.removeEventListener("pointerup",this),null==(t=hK.window)||t.removeEventListener("pointermove",this)},EF=new WeakSet,EB=function(e){var t;fs(this,ES,e.composedPath().includes(this.range)),null==(t=hK.window)||t.addEventListener("pointerup",this)},E$=new WeakSet,EH=function(e){var t;"mouse"!==e.pointerType&&fn(this,EF,EB).call(this,e),this.addEventListener("pointerleave",this),null==(t=hK.window)||t.addEventListener("pointermove",this)},EG=new WeakSet,EV=function(){var e;null==(e=hK.window)||e.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")},EK=new WeakSet,EW=function(){var e,t;this.removeEventListener("pointerleave",this),null==(e=hK.window)||e.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),null==(t=fr(this,ER).activeSegment)||t.style.removeProperty("transform")},Eq=new WeakSet,Ej=function(e){("pen"!==e.pointerType||0!==e.buttons)&&(this.toggleAttribute("dragging",1===e.buttons||"mouse"!==e.pointerType),this.updatePointerBar(e),fn(this,Ex,EM).call(this,e),this.dragging&&("mouse"!==e.pointerType||!fr(this,ES))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(e),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))))},fo.shadowRootOptions={mode:"open"},fo.getTemplateHTML=function(e){return` 586 <style> 587 :host { 588 --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 589 --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px)); 590 591 box-shadow: var(--_focus-visible-box-shadow, none); 592 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 593 height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding)); 594 display: inline-flex; 595 align-items: center; 596 597 vertical-align: middle; 598 box-sizing: border-box; 599 position: relative; 600 width: 100px; 601 transition: background .15s linear; 602 cursor: var(--media-cursor, pointer); 603 pointer-events: auto; 604 touch-action: none; 605 } 606 607 608 input[type=range]:focus { 609 outline: 0; 610 } 611 input[type=range]:focus::-webkit-slider-runnable-track { 612 outline: 0; 613 } 614 615 :host(:hover) { 616 background: var(--media-control-hover-background, rgb(50 50 70 / .7)); 617 } 618 619 #leftgap { 620 padding-left: var(--media-range-padding-left, var(--_media-range-padding)); 621 } 622 623 #rightgap { 624 padding-right: var(--media-range-padding-right, var(--_media-range-padding)); 625 } 626 627 #startpoint, 628 #endpoint { 629 position: absolute; 630 } 631 632 #endpoint { 633 right: 0; 634 } 635 636 #container { 637 638 width: var(--media-range-track-width, 100%); 639 transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px)); 640 position: relative; 641 height: 100%; 642 display: flex; 643 align-items: center; 644 min-width: 40px; 645 } 646 647 #range { 648 649 display: var(--media-time-range-hover-display, block); 650 bottom: var(--media-time-range-hover-bottom, -7px); 651 height: var(--media-time-range-hover-height, max(100% + 7px, 25px)); 652 width: 100%; 653 position: absolute; 654 cursor: var(--media-cursor, pointer); 655 656 -webkit-appearance: none; 657 -webkit-tap-highlight-color: transparent; 658 background: transparent; 659 margin: 0; 660 z-index: 1; 661 } 662 663 @media (hover: hover) { 664 #range { 665 bottom: var(--media-time-range-hover-bottom, -5px); 666 height: var(--media-time-range-hover-height, max(100% + 5px, 20px)); 667 } 668 } 669 670 671 672 #range::-webkit-slider-thumb { 673 -webkit-appearance: none; 674 background: transparent; 675 width: .1px; 676 height: .1px; 677 } 678 679 680 #range::-moz-range-thumb { 681 background: transparent; 682 border: transparent; 683 width: .1px; 684 height: .1px; 685 } 686 687 #appearance { 688 height: var(--media-range-track-height, 4px); 689 display: flex; 690 flex-direction: column; 691 justify-content: center; 692 width: 100%; 693 position: absolute; 694 695 will-change: transform; 696 } 697 698 #track { 699 background: var(--media-range-track-background, rgb(255 255 255 / .2)); 700 border-radius: var(--media-range-track-border-radius, 1px); 701 border: var(--media-range-track-border, none); 702 outline: var(--media-range-track-outline); 703 outline-offset: var(--media-range-track-outline-offset); 704 backdrop-filter: var(--media-range-track-backdrop-filter); 705 -webkit-backdrop-filter: var(--media-range-track-backdrop-filter);
706 box-shadow: var(--media-range-track-box-shadow, none); 707 position: absolute; 708 width: 100%; 709 height: 100%; 710 overflow: hidden; 711 } 712 713 #progress, 714 #pointer { 715 position: absolute; 716 height: 100%; 717 will-change: width; 718 } 719 720 #progress { 721 background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238))); 722 transition: var(--media-range-track-transition); 723 } 724 725 #pointer { 726 background: var(--media-range-track-pointer-background); 727 border-right: var(--media-range-track-pointer-border-right); 728 transition: visibility .25s, opacity .25s; 729 visibility: hidden; 730 opacity: 0; 731 } 732 733 @media (hover: hover) { 734 :host(:hover) #pointer { 735 transition: visibility .5s, opacity .5s; 736 visibility: visible; 737 opacity: 1; 738 } 739 } 740 741 #thumb, 742 ::slotted([slot=thumb]) { 743 width: var(--media-range-thumb-width, 10px); 744 height: var(--media-range-thumb-height, 10px); 745 transition: var(--media-range-thumb-transition); 746 transform: var(--media-range-thumb-transform, none); 747 opacity: var(--media-range-thumb-opacity, 1); 748 translate: -50%; 749 position: absolute; 750 left: 0; 751 cursor: var(--media-cursor, pointer); 752 } 753 754 #thumb { 755 border-radius: var(--media-range-thumb-border-radius, 10px); 756 background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238))); 757 box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent); 758 border: var(--media-range-thumb-border, none); 759 } 760 761 :host([disabled]) #thumb { 762 background-color: #777; 763 } 764 765 .segments #appearance { 766 height: var(--media-range-segment-hover-height, 7px); 767 } 768 769 #track { 770 clip-path: url(#segments-clipping); 771 } 772 773 #segments { 774 --segments-gap: var(--media-range-segments-gap, 2px); 775 position: absolute; 776 width: 100%; 777 height: 100%; 778 } 779 780 #segments-clipping { 781 transform: translateX(calc(var(--segments-gap) / 2)); 782 } 783 784 #segments-clipping:empty { 785 display: none; 786 } 787 788 #segments-clipping rect { 789 height: var(--media-range-track-height, 4px); 790 y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2); 791 transition: var(--media-range-segment-transition, transform .1s ease-in-out); 792 transform: var(--media-range-segment-transform, scaleY(1)); 793 transform-origin: center; 794 } 795 </style> 796 <div id="leftgap"></div> 797 <div id="container"> 798 <div id="startpoint"></div> 799 <div id="endpoint"></div> 800 <div id="appearance"> 801 <div id="track" part="track"> 802 <div id="pointer"></div> 803 <div id="progress" part="progress"></div> 804 </div> 805 <slot name="thumb"> 806 <div id="thumb" part="thumb"></div> 807 </slot> 808 <svg id="segments"><clipPath id="segments-clipping"></clipPath></svg> 809 </div>
810 <input id="range" type="range" min="0" max="1" step="any" value="0"> 811 </div> 812 <div id="rightgap"></div> 813 `},hK.customElements.get("media-chrome-range")||hK.customElements.define("media-chrome-range",fo);var fl=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fd=(e,t,i)=>(fl(e,t,"read from private field"),i?i.call(e):t.get(e)),fu=(e,t,i,r)=>(fl(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fh extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EY,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fd(this,EY))?void 0:r.unassociateElement)||a.call(r,this),fu(this,EY,null)),i&&this.isConnected&&(fu(this,EY,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fd(this,EY))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(fu(this,EY,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=fd(this,EY))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fd(this,EY))?void 0:e.unassociateElement)||t.call(e,this),fu(this,EY,null)}}EY=new WeakMap,fh.shadowRootOptions={mode:"open"},fh.getTemplateHTML=function(e){return` 814 <style> 815 :host { 816 817 box-sizing: border-box; 818 display: var(--media-control-display, var(--media-control-bar-display, inline-flex)); 819 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 820 --media-loading-indicator-icon-height: 44px; 821 } 822 823 ::slotted(media-time-range), 824 ::slotted(media-volume-range) { 825 min-height: 100%; 826 } 827 828 ::slotted(media-time-range), 829 ::slotted(media-clip-selector) { 830 flex-grow: 1; 831 } 832 833 ::slotted([role="menu"]) { 834 position: absolute; 835 } 836 </style> 837 838 <slot></slot> 839 `},hK.customElements.get("media-control-bar")||hK.customElements.define("media-control-bar",fh);var fc=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fm=(e,t,i)=>(fc(e,t,"read from private field"),i?i.call(e):t.get(e)),ff=(e,t,i,r)=>(fc(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fp extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,Ez,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fm(this,Ez))?void 0:r.unassociateElement)||a.call(r,this),ff(this,Ez,null)),i&&this.isConnected&&(ff(this,Ez,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fm(this,Ez))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(ff(this,Ez,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fm(this,Ez))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fm(this,Ez))?void 0:e.unassociateElement)||t.call(e,this),ff(this,Ez,null)}}Ez=new WeakMap,fp.shadowRootOptions={mode:"open"},fp.getTemplateHTML=function(e,t={}){return` 840 <style> 841 :host { 842 font: var(--media-font, 843 var(--media-font-weight, normal) 844 var(--media-font-size, 14px) / 845 var(--media-text-content-height, var(--media-control-height, 24px)) 846 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 847 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 848 background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)))); 849 padding: var(--media-control-padding, 10px); 850 display: inline-flex; 851 justify-content: center; 852 align-items: center; 853 vertical-align: middle; 854 box-sizing: border-box; 855 text-align: center; 856 pointer-events: auto; 857 } 858 859 860 :host(:focus-visible) { 861 box-shadow: inset 0 0 0 2px rgb(27 127 204 / .9); 862 outline: 0; 863 } 864 865 866 :host(:where(:focus)) { 867 box-shadow: none; 868 outline: 0; 869 } 870 </style> 871
872 ${this.getSlotTemplateHTML(e,t)} 873 `},fp.getSlotTemplateHTML=function(e,t){return` 874 <slot></slot> 875 `},hK.customElements.get("media-text-display")||hK.customElements.define("media-text-display",fp);var fg=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fv=(e,t,i)=>(fg(e,t,"read from private field"),i?i.call(e):t.get(e));class fE extends fp{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EQ,void 0),((e,t,i,r)=>(fg(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,EQ,this.shadowRoot.querySelector("slot")),fv(this,EQ).textContent=hx(null!=(e=this.mediaDuration)?e:0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===hm.MEDIA_DURATION&&(fv(this,EQ).textContent=hx(+i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}}EQ=new WeakMap,fE.getSlotTemplateHTML=function(e,t){return` 876 <slot>${hx(t.mediaDuration)}</slot> 877 `},hK.customElements.get("media-duration-display")||hK.customElements.define("media-duration-display",fE);let fy={2:hN("Network Error"),3:hN("Decode Error"),4:hN("Source Not Supported"),5:hN("Encryption
877Error")},fb={2:hN("A network error caused the media download to fail."),3:hN("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:hN("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:hN("The media is encrypted and there are no keys to decrypt it.")},fT=e=>{var t,i;return 1===e.code?null:{title:null!=(t=fy[e.code])?t:`Error ${e.code}`,message:null!=(i=fb[e.code])?i:e.message}};var fA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};function f_(e){var t;let{title:i,message:r}=null!=(t=fT(e))?t:{},a="";return i&&(a+=`<slot name="error-${e.code}-title"><h3>${i}</h3></slot>`),r&&(a+=`<slot name="error-${e.code}-message"><p>${r}</p></slot>`),a}let fS=[hm.MEDIA_ERROR_CODE,hm.MEDIA_ERROR_MESSAGE];class fk extends ft{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EX,null)}static get observedAttributes(){return[...super.observedAttributes,...fS]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,i){var r;if(super.attributeChangedCallback(e,t,i),!fS.includes(e))return;let a=null!=(r=this.mediaError)?r:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=a.code&&null!==fT(a),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(a))}get mediaError(){var e,t;return fA(this,e=EX,"read from private field"),t?t.call(this):e.get(this)}set mediaError(e){var t,i;fA(this,t=EX,"write to private field"),i?i.call(this,e):t.set(this,e)}get mediaErrorCode(){return h7(this,"mediaerrorcode")}set mediaErrorCode(e){ce(this,"mediaerrorcode",e)}get mediaErrorMessage(){return cr(this,"mediaerrormessage")}set mediaErrorMessage(e){ca(this,"mediaerrormessage",e)}}EX=new WeakMap,fk.getSlotTemplateHTML=function(e){return` 878 <style> 879 :host { 880 background: rgb(20 20 30 / .8); 881 } 882 883 #content { 884 display: block; 885 padding: 1.2em 1.5em; 886 } 887 888 h3, 889 p { 890 margin-block: 0 .3em; 891 } 892 </style> 893 <slot name="error-${e.mediaerrorcode}" id="content"> 894 ${f_({code:+e.mediaerrorcode,message:e.mediaerrormessage})} 895 </slot> 896 `},fk.formatErrorMessage=f_,hK.customElements.get("media-error-dialog")||hK.customElements.define("media-error-dialog",fk);var fL=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)},fR=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)};class fI extends ft{constructor(){super(...arguments),fR(this,EZ,e=>{var t;if(!this.open)return;let i=null==(t=this.shadowRoot)?void 0:t.querySelector("#content");if(!i)return;let r=e.composedPath(),a=r[0]===this||r.includes(this),s=r.includes(i);a&&!s&&(this.open=!1)}),fR(this,EJ,e=>{if(!this.open)return;let t=e.shiftKey&&("/"===e.key||"?"===e.key);"Escape"!==e.key&&!t||e.ctrlKey||e.altKey||e.metaKey||(this.open=!1,e.preventDefault(),e.stopPropagation())})}connectedCallback(){super.connectedCallback(),this.open&&(this.addEventListener("click",fL(this,EZ)),document.addEventListener("keydown",fL(this,EJ)))}disconnectedCallback(){this.removeEventListener("click",fL(this,EZ)),document.removeEventListener("keydown",fL(this,EJ))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"open"===e&&(this.open?(this.addEventListener("click",fL(this,EZ)),document.addEventListener("keydown",fL(this,EJ))):(this.removeEventListener("click",fL(this,EZ)),document.removeEventListener("keydown",fL(this,EJ))))}}EZ=new WeakMap,EJ=new WeakMap,fI.getSlotTemplateHTML=function(e){let t;return` 897 <style> 898 :host { 899 position: fixed; 900 top: 0; 901 left: 0; 902 z-index: 9999; 903 background: rgb(20 20 30 / .8); 904 backdrop-filter: blur(10px); 905 } 906 907 #content { 908 display: block; 909 width: clamp(400px, 40vw, 700px); 910 max-width: 90vw; 911 text-align: left; 912 } 913 914 h2 { 915 margin: 0 0 1.5rem 0; 916 font-size: 1.5rem; 917 font-weight: 500; 918 text-align: center; 919 } 920 921 .shortcuts-table { 922 width: 100%; 923 border-collapse: collapse; 924 } 925 926 .shortcuts-table tr { 927 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 928 } 929 930 .shortcuts-table tr:last-child { 931 border-bottom: none; 932 } 933 934 .shortcuts-table td { 935 padding: 0.75rem 0.5rem; 936 } 937 938 .shortcuts-table td:first-child { 939 text-align: right; 940 padding-right: 1rem; 941 width: 40%; 942 min-width: 120px; 943 } 944 945 .shortcuts-table td:last-child { 946 padding-left: 1rem; 947 } 948 949 .key { 950 display: inline-block; 951 background: rgba(255, 255, 255, 0.15); 952 border: 1px solid rgba(255, 255, 255, 0.2); 953 border-radius: 4px; 954 padding: 0.25rem 0.5rem; 955 font-family: 'Courier New', monospace; 956 font-size: 0.9rem; 957 font-weight: 500; 958 min-width: 1.5rem; 959 text-align: center; 960 margin: 0 0.2rem; 961 } 962 963 .description { 964 color: rgba(255, 255, 255, 0.9); 965 font-size: 0.95rem; 966 } 967 968 .key-combo { 969 display: flex; 970 align-items: center; 971 justify-content: flex-end; 972 gap: 0.3rem; 973 } 974 975 .key-separator { 976 color: rgba(255, 255, 255, 0.5); 977 font-size: 0.9rem; 978 } 979 </style> 980 <slot id="content"> 981 ${t=[{keys:["Space","k"],description:"Toggle Playback"},{keys:["m"],description:"Toggle mute"},{keys:["f"],description:"Toggle fullscreen"},{keys:["c"],description:"Toggle captions or subtitles, if available"},{keys:["p"],description:"Toggle Picture in Picture"},{keys:["â","j"],description:"Seek back 10s"},{keys:["â","l"],description:"Seek forward 10s"},{keys:["â"],description:"Turn volume up"},{keys:["â"],description:"Turn volume down"},{keys:["< (SHIFT+,)"],description:"Decrease playback rate"},{keys:["> (SHIFT+.)"],description:"Increase playback rate"}].map(({keys:e,description:t})=>{let i=e.map((e,t)=>t>0?`<span class="key-separator">or</span><span class="key">${e}</span>`:`<span class="key">${e}</span>`).join("");return` 982 <tr> 983 <td> 984 <div class="key-combo">${i}</div> 985 </td> 986 <td class="description">${t}</td> 987 </tr> 988 `}).join(""),` 989 <h2>Keyboard Shortcuts</h2> 990 <table class="shortcuts-table">${t}</table> 991 `} 992 </slot> 993 `},hK.customElements.get("media-keyboard-shortcuts-dialog")||hK.customElements.define("media-keyboard-shortcuts-dialog",fI);var fw=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};let fC=`<svg aria-hidden="true" viewBox="0 0 26 24"> 994 <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/> 995</svg>`,fD=`<svg aria-hidden="true" viewBox="0 0 26 24"> 996 <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/> 997</svg>`,fx=e=>{let t=e.mediaIsFullscreen?hN("exit fullscreen mode"):hN("enter fullscreen mode");e.setAttribute("aria-label",t)};class fM extends mj{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E0,null)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_FULLSCREEN,hm.MEDIA_FULLSCREEN_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),fx(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_FULLSCREEN&&fx(this)}get mediaFullscreenUnavailable(){return cr(this,hm.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ca(this,hm.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return ct(this,hm.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){ci(this,hm.MEDIA_IS_FULLSCREEN,e)}handleClick(e){var t,i,r,a;fw(this,t=E0,"write to private field"),i?i.call(this,e):t.set(this,e);let s=(fw(this,r=E0,"read from private field"),(a?a.call(this):r.get(this))instanceof PointerEvent),n=this.mediaIsFullscreen?new hK.CustomEvent(hd.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0}):new hK.CustomEvent(hd.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}}E0=new WeakMap,fM.getSlotTemplateHTML=function(e){return` 998 <style> 999 :host([${hm.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) { 1000 display: none !important; 1001 } 1002 1003 1004 :host(:not([${hm.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) { 1005 display: none !important; 1006 } 1007 1008 :host([${hm.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter], 1009 :host(:not([${hm.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] { 1010 display: none; 1011 } 1012 </style> 1013 1014 <slot name="icon"> 1015 <slot name="enter">${fC}</slot> 1016 <slot name="exit">${fD}</slot> 1017 </slot> 1018 `},fM.getTooltipContentHTML=function(){return` 1019 <slot name="tooltip-enter">${hN("Enter fullscreen mode")}</slot> 1020 <slot name="tooltip-exit">${hN("Exit fullscreen mode")}</slot> 1021 `},hK.customElements.get("media-fullscreen-button")||hK.customElements.define("media-fullscreen-button",fM);let{MEDIA_TIME_IS_LIVE:fP,MEDIA_PAUSED:fO}=hm,{MEDIA_SEEK_TO_LIVE_REQUEST:fN,MEDIA_PLAY_REQUEST:fU}=hd,fF=e=>{var t;let i=e.mediaPaused||!e.mediaTimeIsLive,r=i?hN("seek to live"):hN("playing live");e.setAttribute("aria-label",r);let a=null==(t=e.shadowRoot)?void 0:t.querySelector('slot[name="text"]');a&&(a.textContent=hN("live")),i?e.removeAttribute("aria-disabled"):e.setAttribute("aria-disabled","true")};class fB extends mj{static get observedAttributes(){return[...super.observedAttributes,fP,fO]}connectedCallback(){super.connectedCallback(),fF(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),fF(this)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return ct(this,hm.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){ci(this,hm.MEDIA_TIME_IS_LIVE,e)}handleClick(){(this.mediaPaused||!this.mediaTimeIsLive)&&(this.dispatchEvent(new hK.CustomEvent(fN,{composed:!0,bubbles:!0})),this.hasAttribute(fO)&&this.dispatchEvent(new hK.CustomEvent(fU,{composed:!0,bubbles:!0})))}}fB.getSlotTemplateHTML=function(e){return` 1022 <style> 1023 :host { --media-tooltip-display: none; } 1024 1025 slot[name=indicator] > *, 1026 :host ::slotted([slot=indicator]) { 1027 1028 min-width: auto; 1029 fill: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1030 color: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1031 } 1032 1033 :host([${fP}]:not([${fO}])) slot[name=indicator] > *, 1034 :host([${fP}]:not([${fO}])) ::slotted([slot=indicator]) { 1035 fill: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1036 color: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1037 } 1038 1039 :host([${fP}]:not([${fO}])) { 1040 cursor: var(--media-cursor, not-allowed); 1041 } 1042 1043 slot[name=text]{ 1044 text-transform: uppercase; 1045 } 1046 1047 </style> 1048 1049 <slot name="indicator"><svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg></slot> 1050 1051 <slot name="spacer"> </slot><slot name="text">${hN("live")}</slot> 1052 `},hK.customElements.get("media-live-button")||hK.customElements.define("media-live-button",fB);var f$=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fH=(e,t,i)=>(f$(e,t,"read from private field"),i?i.call(e):t.get(e)),fG=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fV=(e,t,i,r)=>(f$(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);
1052let fK="loadingdelay",fW="noautohide",fq=` 1053<svg aria-hidden="true" viewBox="0 0 100 100"> 1054 <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"> 1055 <animateTransform 1056 attributeName="transform" 1057 attributeType="XML" 1058 type="rotate" 1059 dur="1s" 1060 from="0 50 50" 1061 to="360 50 50" 1062 repeatCount="indefinite" /> 1063 </path> 1064</svg> 1065`;class fj extends hK.HTMLElement{constructor(){if(super(),fG(this,E1,void 0),fG(this,E2,500),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PAUSED,hm.MEDIA_LOADING,fK]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===fK&&t!==i?this.loadingDelay=Number(i):e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fH(this,E1))?void 0:r.unassociateElement)||a.call(r,this),fV(this,E1,null)),i&&this.isConnected&&(fV(this,E1,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fH(this,E1))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(fV(this,E1,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=fH(this,E1))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fH(this,E1))?void 0:e.unassociateElement)||t.call(e,this),fV(this,E1,null)}get loadingDelay(){return fH(this,E2)}set loadingDelay(e){fV(this,E2,e);let{style:t}=h9(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaLoading(){return ct(this,hm.MEDIA_LOADING)}set mediaLoading(e){ci(this,hm.MEDIA_LOADING,e)}get mediaController(){return cr(this,hu.MEDIA_CONTROLLER)}set mediaController(e){ca(this,hu.MEDIA_CONTROLLER,e)}get noAutohide(){return ct(this,fW)}set noAutohide(e){ci(this,fW,e)}}E1=new WeakMap,E2=new WeakMap,fj.shadowRootOptions={mode:"open"},fj.getTemplateHTML=function(e){return` 1066 <style> 1067 :host { 1068 display: var(--media-control-display, var(--media-loading-indicator-display, inline-block)); 1069 vertical-align: middle; 1070 box-sizing: border-box; 1071 --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, 500ms); 1072 } 1073 1074 #status { 1075 color: rgba(0,0,0,0); 1076 width: 0px; 1077 height: 0px; 1078 } 1079 1080 :host slot[name=icon] > *, 1081 :host ::slotted([slot=icon]) { 1082 opacity: var(--media-loading-indicator-opacity, 0); 1083 transition: opacity 0.15s; 1084 } 1085 1086 :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) slot[name=icon] > *, 1087 :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) ::slotted([slot=icon]) { 1088 opacity: var(--media-loading-indicator-opacity, 1); 1089 transition: opacity 0.15s var(--_loading-indicator-delay); 1090 } 1091 1092 :host #status { 1093 visibility: var(--media-loading-indicator-opacity, hidden); 1094 transition: visibility 0.15s; 1095 } 1096 1097 :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) #status { 1098 visibility: var(--media-loading-indicator-opacity, visible); 1099 transition: visibility 0.15s var(--_loading-indicator-delay); 1100 } 1101 1102 svg, img, ::slotted(svg), ::slotted(img) { 1103 width: var(--media-loading-indicator-icon-width); 1104 height: var(--media-loading-indicator-icon-height, 100px); 1105 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1106 vertical-align: middle; 1107 } 1108 </style> 1109 1110 <slot name="icon">${fq}</slot> 1111 <div id="status" role="status" aria-live="polite">${hN("media loading")}</div> 1112 `},hK.customElements.get("media-loading-indicator")||hK.customElements.define("media-loading-indicator",fj);let fY=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1113 <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"/> 1114</svg>`,fz=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1115 <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"/> 1116</svg>`,fQ=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1117 <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"/> 1118</svg>`,fX=e=>{let t="off"===e.mediaVolumeLevel?hN("unmute"):hN("mute");e.setAttribute("aria-label",t)};class fZ extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_VOLUME_LEVEL]}connectedCallback(){super.connectedCallback(),fX(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_VOLUME_LEVEL&&fX(this)}get mediaVolumeLevel(){return cr(this,hm.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ca(this,hm.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e="off"===this.mediaVolumeLevel?hd.MEDIA_UNMUTE_REQUEST:hd.MEDIA_MUTE_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}fZ.getSlotTemplateHTML=function(e){return` 1119 <style> 1120 :host(:not([${hm.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]), 1121 :host([${hm.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) { 1122 display: none !important; 1123 } 1124 1125 :host([${hm.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) { 1126 display: none !important; 1127 } 1128 1129 :host([${hm.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) { 1130 display: none !important; 1131 } 1132 1133 :host([${hm.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) { 1134 display: none !important; 1135 } 1136 1137 :host(:not([${hm.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute], 1138 :host([${hm.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] { 1139 display: none; 1140 } 1141 </style> 1142 1143 <slot name="icon"> 1144 <slot name="off">${fY}</slot> 1145 <slot name="low">${fz}</slot> 1146 <slot name="medium">${fz}</slot> 1147 <slot name="high">${fQ}</slot> 1148 </slot> 1149 `},fZ.getTooltipContentHTML=function(){return` 1150 <slot name="tooltip-mute">${hN("Mute")}</slot> 1151 <slot name="tooltip-unmute">${hN("Unmute")}</slot> 1152 `},hK.customElements.get("media-mute-button")||hK.customElements.define("media-mute-button",fZ);let fJ=`<svg aria-hidden="true" viewBox="0 0 28 24"> 1153 <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"/> 1154</svg>`,f0=e=>{let t=e.mediaIsPip?hN("exit picture in picture mode"):hN("enter picture in picture mode");e.setAttribute("aria-label",t)};class f1 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_PIP,hm.MEDIA_PIP_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),f0(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_PIP&&f0(this)}get mediaPipUnavailable(){return cr(this,hm.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ca(this,hm.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return ct(this,hm.MEDIA_IS_PIP)}set mediaIsPip(e){ci(this,hm.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?hd.MEDIA_EXIT_PIP_REQUEST:hd.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}f1.getSlotTemplateHTML=function(e){return` 1155 <style> 1156 :host([${hm.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) { 1157 display: none !important; 1158 } 1159 1160 :host(:not([${hm.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) { 1161 display: none !important; 1162 } 1163 1164 :host([${hm.MEDIA_IS_PIP}]) slot[name=tooltip-enter], 1165 :host(:not([${hm.MEDIA_IS_PIP}])) slot[name=tooltip-exit] { 1166 display: none; 1167 } 1168 </style> 1169 1170 <slot name="icon"> 1171 <slot name="enter">${fJ}</slot> 1172 <slot name="exit">${fJ}</slot> 1173 </slot> 1174 `},f1.getTooltipContentHTML=function(){return` 1175 <slot name="tooltip-enter">${hN("Enter picture in picture mode")}</slot> 1176 <slot name="tooltip-exit">${hN("Exit picture in picture mode")}</slot> 1177 `},hK.customElements.get("media-pip-button")||hK.customElements.define("media-pip-button",f1);var f2=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)};let f3="rates",f4=[1,1.2,1.5,1.7,2];class f5 extends mj{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E3,new cw(this,f3,{defaultValue:f4})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE,f3]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===f3&&(f2(this,E3).value=i),e===hm.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",hN("Playback rate {playbackRate}",{playbackRate:t}))}}get rates(){return f2(this,E3)}set rates(e){e?Array.isArray(e)?f2(this,E3).value=e.join(" "):"str
1177ing"==typeof e&&(f2(this,E3).value=e):f2(this,E3).value=""}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let i=Array.from(f2(this,E3).values(),e=>+e).sort((e,t)=>e-t),r=null!=(t=null!=(e=i.find(e=>e>this.mediaPlaybackRate))?e:i[0])?t:1,a=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:r});this.dispatchEvent(a)}}E3=new WeakMap,f5.getSlotTemplateHTML=function(e){return` 1178 <style> 1179 :host { 1180 min-width: 5ch; 1181 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1182 } 1183 </style> 1184 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 1185 `},f5.getTooltipContentHTML=function(){return hN("Playback rate")},hK.customElements.get("media-playback-rate-button")||hK.customElements.define("media-playback-rate-button",f5);let f8=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1186 <path d="m6 21 15-9L6 3v18Z"/> 1187</svg>`,f9=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1188 <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/> 1189</svg>`,f6=e=>{let t=e.mediaPaused?hN("play"):hN("pause");e.setAttribute("aria-label",t)};class f7 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PAUSED,hm.MEDIA_ENDED]}connectedCallback(){super.connectedCallback(),f6(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),(e===hm.MEDIA_PAUSED||e===hm.MEDIA_LANG)&&f6(this)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}f7.getSlotTemplateHTML=function(e){return` 1190 <style> 1191 :host([${hm.MEDIA_PAUSED}]) slot[name=pause], 1192 :host(:not([${hm.MEDIA_PAUSED}])) slot[name=play] { 1193 display: none !important; 1194 } 1195 1196 :host([${hm.MEDIA_PAUSED}]) slot[name=tooltip-pause], 1197 :host(:not([${hm.MEDIA_PAUSED}])) slot[name=tooltip-play] { 1198 display: none; 1199 } 1200 </style> 1201 1202 <slot name="icon"> 1203 <slot name="play">${f8}</slot> 1204 <slot name="pause">${f9}</slot> 1205 </slot> 1206 `},f7.getTooltipContentHTML=function(){return` 1207 <slot name="tooltip-play">${hN("Play")}</slot> 1208 <slot name="tooltip-pause">${hN("Pause")}</slot> 1209 `},hK.customElements.get("media-play-button")||hK.customElements.define("media-play-button",f7);let pe="placeholdersrc";class pt extends hK.HTMLElement{static get observedAttributes(){return[pe,"src"]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){if("src"===e&&(null==i?this.image.removeAttribute("src"):this.image.setAttribute("src",i)),e===pe)if(null==i)this.image.style.removeProperty("background-image");else{var r;r=this.image,r.style["background-image"]=`url('${i}')`}}get placeholderSrc(){return cr(this,pe)}set placeholderSrc(e){ca(this,"src",e)}get src(){return cr(this,"src")}set src(e){ca(this,"src",e)}}pt.shadowRootOptions={mode:"open"},pt.getTemplateHTML=function(e){return` 1210 <style> 1211 :host { 1212 pointer-events: none; 1213 display: var(--media-poster-image-display, inline-block); 1214 box-sizing: border-box; 1215 } 1216 1217 img { 1218 max-width: 100%; 1219 max-height: 100%; 1220 min-width: 100%; 1221 min-height: 100%; 1222 background-repeat: no-repeat; 1223 background-position: var(--media-poster-image-background-position, var(--media-object-position, center)); 1224 background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain)); 1225 object-fit: var(--media-object-fit, contain); 1226 object-position: var(--media-object-position, center); 1227 } 1228 </style> 1229 1230 <img part="poster img" aria-hidden="true" id="image"/> 1231 `},hK.customElements.get("media-poster-image")||hK.customElements.define("media-poster-image",pt);var pi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};E4=new WeakMap,hK.customElements.get("media-preview-chapter-display")||hK.customElements.define("media-preview-chapter-display",class extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E4,void 0),((e,t,i,r)=>(pi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E4,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PREVIEW_CHAPTER,hm.MEDIA_LA
1231NG]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),(e===hm.MEDIA_PREVIEW_CHAPTER||e===hm.MEDIA_LANG)&&i!==t&&null!=i){var r;if((pi(this,E4,"read from private field"),r?r.call(this):E4.get(this)).textContent=i,""!==i){let e=hN("chapter: {chapterName}",{chapterName:i});this.setAttribute("aria-valuetext",e)}else this.removeAttribute("aria-valuetext")}}get mediaPreviewChapter(){return cr(this,hm.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ca(this,hm.MEDIA_PREVIEW_CHAPTER,e)}});var pr=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pa=(e,t,i)=>(pr(e,t,"read from private field"),i?i.call(e):t.get(e)),ps=(e,t,i,r)=>(pr(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pn extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E5,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(ps(this,E5,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=pa(this,E5))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=pa(this,E5))?void 0:e.unassociateElement)||t.call(e,this),ps(this,E5,null)}attributeChangedCallback(e,t,i){var r,a,s,n,o;[hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=pa(this,E5))?void 0:r.unassociateElement)||a.call(r,this),ps(this,E5,null)),i&&this.isConnected&&(ps(this,E5,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=pa(this,E5))?void 0:n.associateElement)||o.call(n,this)))}get mediaPreviewImage(){return cr(this,hm.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ca(this,hm.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(hm.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(e=>+e)}set mediaPreviewCoords(e){e?this.setAttribute(hm.MEDIA_PREVIEW_COORDS,e.join(" ")):this.removeAttribute(hm.MEDIA_PREVIEW_COORDS)}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[i,r,a,s]=e,n=t.split("#")[0],{maxWidth:o,maxHeight:l,minWidth:d,minHeight:u}=getComputedStyle(this),h=Math.min(parseInt(o)/a,parseInt(l)/s),c=Math.max(parseInt(d)/a,parseInt(u)/s),m=h<1,f=m?h:c>1?c:1,{style:p}=h9(this.shadowRoot,":host"),g=h9(this.shadowRoot,"img").style,E=this.shadowRoot.querySelector("img"),y=m?"min":"max";p.setProperty(`${y}-width`,"initial","important"),p.setProperty(`${y}-height`,"initial","important"),p.width=`${a*f}px`,p.height=`${s*f}px`;let b=()=>{g.width=`${this.imgWidth*f}px`,g.height=`${this.imgHeight*f}px`,g.display="block"};E.src!==n&&(E.onload=()=>{this.imgWidth=E.naturalWidth,this.imgHeight=E.naturalHeight,b()},E.src=n,b()),b(),g.transform=`translate(-${i*f}px, -${r*f}px)`}}E5=new WeakMap,pn.shadowRootOptions={mode:"open"},pn.getTemplateHTML=function(e){return` 1232 <style> 1233 :host { 1234 box-sizing: border-box; 1235 display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block)); 1236 overflow: hidden; 1237 } 1238 1239 img { 1240 display: none; 1241 position: relative; 1242 } 1243 </style> 1244 <img crossorigin loading="eager" decoding="async"> 1245 `},hK.customElements.get("media-preview-thumbnail")||hK.customElements.define("media-preview-thumbnail",pn);var po=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pl=(e,t,i)=>(po(e,t,"read from private field"),i?i.call(e):t.get(e));E8=new WeakMap,hK.customElements.get("media-preview-time-display")||hK.customElements.define("media-preview-time-display",class extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E8,void 0),((e,t,i,r)=>(po(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E8,this.shadowRoot.querySelector("slot")),pl(this,E8).textContent=hx(0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PREVIEW_TIME&&null!=i&&(pl(this,E8).textContent=hx(
1245parseFloat(i)))}get mediaPreviewTime(){return h7(this,hm.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ce(this,hm.MEDIA_PREVIEW_TIME,e)}});let pd="seekoffset";class pu extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_CURRENT_TIME,pd]}connectedCallback(){super.connectedCallback(),this.seekOffset=h7(this,pd,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===pd&&(this.seekOffset=h7(this,pd,30))}get seekOffset(){return h7(this,pd,30)}set seekOffset(e){ce(this,pd,e),this.setAttribute("aria-label",hN("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),h0(h1(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pu.getSlotTemplateHTML=function(e,t){let i;return` 1246 <slot name="icon">${i=t.seekOffset,` 1247 <svg aria-hidden="true" viewBox="0 0 20 24"> 1248 <defs> 1249 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1250 </defs> 1251 <text class="text value" transform="translate(2.18 19.87)">${i}</text> 1252 <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"/> 1253 </svg>`}</slot> 1254 `},pu.getTooltipContentHTML=function(){return hN("Seek backward")},hK.customElements.get("media-seek-backward-button")||hK.customElements.define("media-seek-backward-button",pu);let ph="seekoffset";class pc extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_CURRENT_TIME,ph]}connectedCallback(){super.connectedCallback(),this.seekOffset=h7(this,ph,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===ph&&(this.seekOffset=h7(this,ph,30))}get seekOffset(){return h7(this,ph,30)}set seekOffset(e){ce(this,ph,e),this.setAttribute("aria-label",hN("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),h0(h1(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pc.getSlotTemplateHTML=function(e,t){let i;return` 1255 <slot name="icon">${i=t.seekOffset,` 1256 <svg aria-hidden="true" viewBox="0 0 20 24"> 1257 <defs> 1258 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1259 </defs> 1260 <text class="text value" transform="translate(8.9 19.87)">${i}</text> 1261 <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"/> 1262 </svg>`}</slot> 1263 `},pc.getTooltipContentHTML=function(){return hN("Seek forward")},hK.customElements.get("media-seek-forward-button")||hK.customElements.define("media-seek-forward-button",pc);var pm=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pf=(e,t,i)=>(pm(e,t,"read from private field"),i?i.call(e):t.get(e));let pp={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},pg=[...Object.values(pp),hm.MEDIA_CURRENT_TIME,hm.MEDIA_DURATION,hm.MEDIA_SEEKABLE],pv=["Enter"," "],pE=" / ",py=(e,{timesSep:t=pE}={})=>{var i,r;let a=null!=(i=e.mediaCurrentTime)?i:0,[,s]=null!=(r=e.mediaSeekable)?r:[],n=0;Number.isFinite(e.mediaDuration)?n=e.mediaDuration:Number.isFinite(s)&&(n=s);let o=e.remaining?hx(0-(n-a)):hx(a);return e.showDuration?`${o}${t}${hx(n)}`:o};class pb extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E9,void 0),((e,t,i,r)=>(pm(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E9,this.shadowRoot.querySelector("slot")),pf(this,E9).innerHTML=`${py(this)}`}static get observedAttributes(){return[...super.observedAttributes,...pg,"disabled"]}connectedCallback(){let{style:e}=h9(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-cursor, pointer)"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",hN("playback time"));let t=e=>{let{key:i}=e;pv.includes(i)?this.toggleTimeDisplay():this.removeEventListener("keyup",t)};this.addEventListener("keydown",e=>{let{metaKey:i,altKey:r,key:a}=e;i||r||!pv.includes(a)?this.removeEventListener("keyup",t):this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,i){pg.includes(e)?this.update():"disabled"===e&&i!==t&&(null==i?this.enable():this.disable()),super.attributeChangedCallback(e,t,i)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return ct(this,pp.REMAINING)}set remaining(e){ci(this,pp.REMAINING,e)}get showDuration(){return ct(this,pp.SHOW_DURATION)}set showDuration(e){ci(this,pp.SHOW_DURATION,e)}get noToggle(){return ct(this,pp.NO_TOGGLE)}set noToggle(e){ci(this,pp.NO_TOGGLE,e)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(hm.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(hm.MEDIA_SEEKABLE):this.setAttribute(hm.MEDIA_SEEKABLE,e.join(":"))}update(){let e=py(this);(e=>{var t;let i=e.mediaCurrentTime,[,r]=null!=(t=e.mediaSeekable)?t:[],a=null;if(Number.isFinite(e.mediaDuration)?a=e.mediaDuration:Number.isFinite(r)&&(a=r),null==i||null===a)return e.setAttribute("aria-valuetext","video not loaded, unknown time.");let s=e.remaining?hD(0-(a-i)):hD(i);if(!e.showDuration)return e.setAttribute("aria-valuetext",s);let n=hD(a),o=`${s} of ${n}`;e.setAttribute("aria-valuetext",o)})(this),e!==pf(this,E9).innerHTML&&(pf(this,E9).innerHTML=e)}}E9=new WeakMap,pb.getSlotTemplateHTML=function(e,t){return` 1264 <slot>${py(t)}</slot> 1265 `},hK.customElements.get("media-time-display")||hK.customElements.define("media-time-display",pb);var pT=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pA=(e,t,i)=>(pT(e,t,"read from private field"),i?i.call(e):t.get(e)),p_=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pS=(e,t,i,r)=>(pT(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pk{constructor(e,t,i){p_(this,E6,void 0),p_(this,E7,void 0),p_(this,ye,void 0),p_(this,yt,void 0),p_(this,yi,void 0),p_(this,yr,void 0),p_(this,ya,void 0),p_(this,ys,void 0),p_(this,yn,0),p_(this,yo,(e=performance.now())=>{pS(this,yn,requestAnimationFrame(pA(this,yo))),pS(this,yt,performance.now()-pA(this,ye));let t=1e3/this.fps;if(pA(this,yt)>t){let i,r,a,s;pS(this,ye,e-pA(this,yt)%t);let n=1e3/((e-pA(this,E7))/++(i=this,r=yi,{set _(value){pS(i,r,value,a)},get _(){return pA(i,r,s)}})._),o=(e-pA(this,yr))/1e3/this.duration,l=pA(this,ya)+o*this.playbackRate;l-pA(this,E6).valueAsNumber>0?pS(this,ys,this.playbackRate/this.duration/n):(pS(this,ys,.995*pA(this,ys)),l=pA(this,E6).valueAsNumber+pA(this,ys)),this.callback(l)}}),pS(this,E6,e),this.callback=t,this.fps=i}start(){0===pA(this,yn)&&(pS(this,ye,performance.now()),pS(this,E7,pA(this,ye)),pS(this,yi,0),pA(this,yo).call(this))}stop(){0!==pA(this,yn)&&(cancelAnimationFrame(pA(this,yn)),pS(this,yn,0))}update({start:e,duration:t,playbackRate:i}){let r=e-pA(this,E6).valueAsNumber,a=Math.abs(t-this.duration);(r>0||r<-.03||a>=.5)&&this.callback(e),pS(this,ya,e),pS(this,yr,performance.now()),this.duration=t,this.playbackRate=i}}E6=new WeakMap,E7=new WeakMap,ye=new WeakMap,yt=new WeakMap,yi=new WeakMap,yr=new WeakMap,ya=new WeakMap,ys=new WeakMap,yn=new WeakMap,yo=new WeakMap;var pL=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pR=(e,t,i)=>(pL(e,t,"read from private field"),i?i.call(e):t.get(e)),pI=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pw=(e,t,i,r)=>(pL(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),pC=(e,t,i)=>(pL(e,t,"access private method"),i);let pD=(e,t=e.mediaCurrentTime)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:Math.max(0,Math.min((t-i)/(r-i),1))},px=(e,t=e.range.valueAsNumber)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:t*(r-i)+i};class pM extends fo{constructor(){super(),pI(this,yE),pI(this,yb),pI(this,y_),pI(this,yk),pI(this,yR),pI(this,yw),pI(this,yD),pI(this,yM),pI(this,yl,void 0),pI(this,yd,void 0),pI(this,yu,void 0),pI(this,yh,void 0),pI(this,yc,void 0),pI(this,ym,void 0),pI(this,yf,void 0),pI(this,yp,void 0),pI(this,yg,void 0),pI(this,yv,void 0),pI(this,yA,e=>{!this.dragging&&(hR(e)&&(this.range.valueAsNumber=e),pR(this,yv)||this.updateBar())}),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),pw(this,yu,this.shadowRoot.querySelectorAll('[part~="box"]')),pw(this,yc,this.shadowRoot.querySelector('[part~="preview-box"]')),pw(this,ym,this.shadowRoot.querySelector('[part~="current-box"]'));const e=getComputedStyle(this);pw(this,yf,parseInt(e.getPropertyValue("--media-box-padding-left"))),pw(this,yp,parseInt(e.getPropertyValue("--media-box-padding-right"))),pw(this,yd,new pk(this.range,pR(this,yA),60))}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PAUSED,hm.MEDIA_DURATION,hm.MEDIA_SEEKABLE,hm.MEDIA_CURRENT_TIME,hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_TIME,hm.MEDIA_PREVIEW_CHAPTER,hm.MEDIA_BUFFERED,hm.MEDIA_PLAYBACK_RATE,hm.MEDIA_LOADING,hm.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",hN("seek")),pC(this,yE,yy).call(this),pw(this,yl,this.getRootNode()),null==(e=pR(this,yl))||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),pC(this,yE,yy).call(this),null==(e=pR(this,yl))||e.removeEventListener("transitionstart",this),pw(this,yl,null)}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),t!=i){if(e===hm.MEDIA_CURRENT_TIME||e===hm.MEDIA_PAUSED||e===hm.MEDIA_ENDED||e===hm.MEDIA_LOADING||e===hm.MEDIA_DURATION||e===hm.MEDIA_SEEKABLE){let e,t,i,r;pR(this,yd).update({start:pD(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),pC(this,yE,yy).call(this),e=this.range,t=hD(+px(this)),i=hD(+this.mediaSeekableEnd),r
1265=t&&i?`${t} of ${i}`:"video not loaded, unknown time.",e.setAttribute("aria-valuetext",r)}else e===hm.MEDIA_BUFFERED&&this.updateBufferedBar();(e===hm.MEDIA_DURATION||e===hm.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=pR(this,yg),this.updateBar())}}get mediaChaptersCues(){return pR(this,yg)}set mediaChaptersCues(e){var t;pw(this,yg,e),this.updateSegments(null==(t=pR(this,yg))?void 0:t.map(e=>({start:pD(this,e.startTime),end:pD(this,e.endTime)})))}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaLoading(){return ct(this,hm.MEDIA_LOADING)}set mediaLoading(e){ci(this,hm.MEDIA_LOADING,e)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(hm.MEDIA_BUFFERED);return e?e.split(" ").map(e=>e.split(":").map(e=>+e)):[]}set mediaBuffered(e){if(!e)return void this.removeAttribute(hm.MEDIA_BUFFERED);let t=e.map(e=>e.join(":")).join(" ");this.setAttribute(hm.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(hm.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(hm.MEDIA_SEEKABLE):this.setAttribute(hm.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaPreviewImage(){return cr(this,hm.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ca(this,hm.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return h7(this,hm.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ce(this,hm.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return ct(this,hm.MEDIA_ENDED)}set mediaEnded(e){ci(this,hm.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t,i=this.mediaBuffered;if(!i.length)return;if(this.mediaEnded)t=1;else{let r=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=null!=(e=i.find(([e,t])=>e<=r&&r<=t))?e:[];t=pD(this,a)}let{style:r}=h9(this.shadowRoot,"#buffered");r.setProperty("width",`${100*t}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let e=h9(this.shadowRoot,"#current-rail"),t=h9(this.shadowRoot,'[part~="current-box"]'),i=pC(this,y_,yS).call(this,pR(this,ym)),r=pC(this,yk,yL).call(this,i,this.range.valueAsNumber),a=pC(this,yR,yI).call(this,i,this.range.valueAsNumber);e.style.transform=`translateX(${r})`,e.style.setProperty("--_range-width",`${i.range.width}`),t.style.setProperty("--_box-shift",`${a}`),t.style.setProperty("--_box-width",`${i.box.width}px`),t.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":pC(this,yM,yP).call(this);break;case"pointermove":pC(this,yw,yC).call(this,e);break;case"pointerup":pR(this,yv)&&pw(this,yv,!1);break;case"pointerdown":pw(this,yv,!0);break;case"pointerleave":pC(this,yD,yx).call(this,null);break;case"transitionstart":h2(e.target,this)&&setTimeout(()=>pC(this,yE,yy).call(this),0)}}}yl=new WeakMap,yd=new WeakMap,yu=new WeakMap,yh=new WeakMap,yc=new WeakMap,ym=new WeakMap,yf=new WeakMap,yp=new WeakMap,yg=new WeakMap,yv=new WeakMap,yE=new WeakSet,yy=function(){pC(this,yb,yT).call(this)?pR(this,yd).start():pR(this,yd).stop()},yb=new WeakSet,yT=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&h8(this)},yA=new WeakMap,y_=new WeakSet,yS=function(e){var t;let i=(null!=(t=this.getAttribute("bounds")?h3(this,`#${this.getAttribute("bounds")}`):this.parentElement)?t:this).getBoundingClientRect(),r=this.range.getBoundingClientRect(),a=e.offsetWidth,s=-(r.left-i.left-a/2),n=i.right-r.left-a/2;return{box:{width:a,min:s,max:n},bounds:i,range:r}},yk=new WeakSet,yL=function(e,t){let i=`${100*t}%`,{width:r,min:a,max:s}=e.box;if(!r)return i;if(!Number.isNaN(a)){let e=`calc(1 / var(--_range-width) * 100 * ${a}% + var(--media-box-padding-left))`;i=`max(${e}, ${i})`}if(!Number.isNaN(s)){let e=`calc(1 / var(--_range-width) * 100 * ${s}% - var(--media-box-padding-right))`;i=`min(${i}, ${e})`}return i},yR=new WeakSet,yI=function(e,t){let{width:i,min:r,max:a}
1265=e.box,s=t*e.range.width;if(s<r+pR(this,yf)){let t=e.range.left-e.bounds.left-pR(this,yf);return`${s-i/2+t}px`}if(s>a-pR(this,yp)){let t=e.bounds.right-e.range.right-pR(this,yp);return`${s+i/2-t-e.range.width}px`}return 0},yw=new WeakSet,yC=function(e){let t=[...pR(this,yu)].some(t=>e.composedPath().includes(t));if(!this.dragging&&(t||!e.composedPath().includes(this)))return void pC(this,yD,yx).call(this,null);let i=this.mediaSeekableEnd;if(!i)return;let r=h9(this.shadowRoot,"#preview-rail"),a=h9(this.shadowRoot,'[part~="preview-box"]'),s=pC(this,y_,yS).call(this,pR(this,yc)),n=(e.clientX-s.range.left)/s.range.width;n=Math.max(0,Math.min(1,n));let o=pC(this,yk,yL).call(this,s,n),l=pC(this,yR,yI).call(this,s,n);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${s.range.width}`),a.style.setProperty("--_box-shift",`${l}`),a.style.setProperty("--_box-width",`${s.box.width}px`),1>Math.abs(Math.round(pR(this,yh))-Math.round(n*i))&&n>.01&&n<.99||(pw(this,yh,n*i),pC(this,yD,yx).call(this,pR(this,yh)))},yD=new WeakSet,yx=function(e){this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:e}))},yM=new WeakSet,yP=function(){pR(this,yd).stop();let e=px(this);this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e}))},pM.shadowRootOptions={mode:"open"},pM.getTemplateHTML=function(e){return` 1266 ${fo.getTemplateHTML(e)} 1267 <style> 1268 :host { 1269 --media-box-border-radius: 4px; 1270 --media-box-padding-left: 10px; 1271 --media-box-padding-right: 10px; 1272 --media-preview-border-radius: var(--media-box-border-radius); 1273 --media-box-arrow-offset: var(--media-box-border-radius); 1274 --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 1275 --_preview-background: var(--media-preview-background, var(--_control-background)); 1276 1277 1278 contain: layout; 1279 } 1280 1281 #buffered { 1282 background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4)); 1283 position: absolute; 1284 height: 100%; 1285 will-change: width; 1286 } 1287 1288 #preview-rail, 1289 #current-rail { 1290 width: 100%; 1291 position: absolute; 1292 left: 0; 1293 bottom: 100%; 1294 pointer-events: none; 1295 will-change: transform; 1296 } 1297 1298 [part~="box"] { 1299 width: min-content; 1300 1301 position: absolute; 1302 bottom: 100%; 1303 flex-direction: column; 1304 align-items: center; 1305 transform: translateX(-50%); 1306 } 1307 1308 [part~="current-box"] { 1309 display: var(--media-current-box-display, var(--media-box-display, flex)); 1310 margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px)); 1311 visibility: hidden; 1312 } 1313 1314 [part~="preview-box"] { 1315 display: var(--media-preview-box-display, var(--media-box-display, flex)); 1316 margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px)); 1317 transition-property: var(--media-preview-transition-property, visibility, opacity); 1318 transition-duration: var(--media-preview-transition-duration-out, .25s); 1319 transition-delay: var(--media-preview-transition-delay-out, 0s); 1320 visibility: hidden; 1321 opacity: 0; 1322 } 1323 1324 :host(:is([${hm.MEDIA_PREVIEW_IMAGE}], [${hm.MEDIA_PREVIEW_TIME}])[dragging]) [part~="preview-box"] { 1325 transition-duration: var(--media-preview-transition-duration-in, .5s); 1326 transition-delay: var(--media-preview-transition-delay-in, .25s); 1327 visibility: visible; 1328 opacity: 1; 1329 } 1330 1331 @media (hover: hover) { 1332 :host(:is([${hm.MEDIA_PREVIEW_IMAGE}], [${hm.MEDIA_PREVIEW_TIME}]):hover) [part~="preview-box"] { 1333 transition-duration: var(--media-preview-transition-duration-in, .5s); 1334 transition-delay: var(--media-preview-transition-delay-in, .25s); 1335 visibility: visible; 1336 opacity: 1; 1337 } 1338 } 1339 1340 media-preview-thumbnail, 1341 ::slotted(media-preview-thumbnail) { 1342 visibility: hidden; 1343 1344 transition: visibility 0s .25s; 1345 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1346 background: var(--media-preview-thumbnail-background, var(--_preview-background)); 1347 box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2)); 1348 max-width: var(--media-preview-thumbnail-max-width, 180px); 1349 max-height: var(--media-preview-thumbnail-max-height, 160px); 1350 min-width: var(--media-preview-thumbnail-min-width, 120px); 1351 min-height: var(--media-preview-thumbnail-min-height, 80px); 1352 border: var(--media-preview-thumbnail-border); 1353 border-radius: var(--media-preview-thumbnail-border-radius, 1354 var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0); 1355 } 1356 1357 :host([${hm.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail, 1358 :host([${hm.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) { 1359 transition-delay: var(--media-preview-transition-delay-in, .25s); 1360 visibility: visible; 1361 } 1362 1363 @media (hover: hover) { 1364 :host([${hm.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail, 1365 :host([${hm.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) { 1366 transition-delay: var(--media-preview-transition-delay-in, .25s); 1367 visibility: visible; 1368 } 1369 1370 :host([${hm.MEDIA_PREVIEW_TIME}]:hover) { 1371 --media-time-range-hover-display: block; 1372 } 1373 } 1374 1375 media-preview-chapter-display, 1376 ::slotted(media-preview-chapter-display) { 1377 font-size: var(--media-font-size, 13px); 1378 line-height: 17px; 1379 min-width: 0; 1380 visibility: hidden; 1381 1382 transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s; 1383 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1384 background: var(--media-preview-chapter-background, var(--_preview-background)); 1385 border-radius: var(--media-preview-chapter-border-radius, 1386 var(--media-preview-border-radius) var(--media-preview-border-radius) 1387 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1388 padding: var(--media-preview-chapter-padding, 3.5px 9px); 1389 margin: var(--media-preview-chapter-margin, 0 0 5px); 1390 text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1391 } 1392 1393 :host([${hm.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display, 1394 :host([${hm.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) { 1395 transition-delay: var(--media-preview-transition-delay-in, .25s); 1396 border-radius: var(--media-preview-chapter-border-radius, 0); 1397 padding: var(--media-preview-chapter-padding, 3.5px 9px 0); 1398 margin: var(--media-preview-chapter-margin, 0); 1399 min-width: 100%; 1400 } 1401 1402 media-preview-chapter-display[${hm.MEDIA_PREVIEW_CHAPTER}], 1403 ::slotted(media-preview-chapter-display[${hm.MEDIA_PREVIEW_CHAPTER}]) { 1404 visibility: visible; 1405 } 1406 1407 media-preview-chapter-display:not([aria-valuetext]), 1408 ::slotted(media-preview-chapter-display:not([aria-valuetext])) { 1409 display: none; 1410 } 1411 1412 media-preview-time-display, 1413 ::slotted(media-preview-time-display), 1414 media-time-display, 1415 ::slotted(media-time-display) { 1416 font-size: var(--media-font-size, 13px); 1417 line-height: 17px; 1418 min-width: 0; 1419 1420 transition: min-width 0s, border-radius 0s; 1421 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1422 background: var(--media-preview-time-background, var(--_preview-background)); 1423 border-radius: var(--media-preview-time-border-radius, 1424 var(--media-preview-border-radius) var(--media-preview-border-radius) 1425 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1426 padding: var(--media-preview-time-padding, 3.5px 9px); 1427 margin: var(--media-preview-time-margin, 0); 1428 text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1429 transform: translateX(min( 1430 max(calc(50% - var(--_box-width) / 2), 1431 calc(var(--_box-shift, 0))), 1432 calc(var(--_box-width) / 2 - 50%) 1433 )); 1434 } 1435 1436 :host([${hm.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display, 1437 :host([${hm.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) { 1438 transition-delay: var(--media-preview-transition-delay-in, .25s); 1439 border-radius: var(--media-preview-time-border-radius, 1440 0 0 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1441 min-width: 100%; 1442 } 1443 1444 :host([${hm.MEDIA_PREVIEW_TIME}]:hover) { 1445 --media-time-range-hover-display: block; 1446 } 1447 1448 [part~="arrow"], 1449 ::slotted([part~="arrow"]) { 1450 display: var(--media-box-arrow-display, inline-block); 1451 transform: translateX(min( 1452 max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)), 1453 calc(var(--_box-shift, 0))), 1454 calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset)) 1455 )); 1456 1457 border-color: transparent; 1458 border-top-color: var(--media-box-arrow-background, var(--_control-background)); 1459 border-width: var(--media-box-arrow-border-width, 1460 var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0); 1461 border-style: solid; 1462 justify-content: center; 1463 height: 0; 1464 } 1465 </style> 1466 <div id="preview-rail"> 1467 <slot name="preview" part="box preview-box">
1468 <media-preview-thumbnail> 1469 <template shadowrootmode="${pn.shadowRootOptions.mode}"> 1470 ${pn.getTemplateHTML({})} 1471 </template> 1472 </media-preview-thumbnail> 1473 <media-preview-chapter-display></media-preview-chapter-display> 1474 <media-preview-time-display></media-preview-time-display> 1475 <slot name="preview-arrow"><div part="arrow"></div></slot> 1476 </slot> 1477 </div> 1478 <div id="current-rail"> 1479 <slot name="current" part="box current-box"> 1480 1481 </slot> 1482 </div> 1483 `},hK.customElements.get("media-time-range")||hK.customElements.define("media-time-range",pM),hK.customElements.get("media-volume-range")||hK.customElements.define("media-volume-range",class extends fo{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_VOLUME,hm.MEDIA_MUTED,hm.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",hN("volume"))}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_VOLUME||e===hm.MEDIA_MUTED){let e;this.range.valueAsNumber=this.mediaMuted?0:this.mediaVolume,this.range.setAttribute("aria-valuetext",(e=this.range.valueAsNumber,`${Math.round(100*e)}%`)),this.updateBar()}}
1483get mediaVolume(){return h7(this,hm.MEDIA_VOLUME,1)}set mediaVolume(e){ce(this,hm.MEDIA_VOLUME,e)}get mediaMuted(){return ct(this,hm.MEDIA_MUTED)}set mediaMuted(e){ci(this,hm.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return cr(this,hm.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ca(this,hm.MEDIA_VOLUME_UNAVAILABLE,e)}});class pP extends mj{constructor(){super(...arguments),this.container=null}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_LOOP]}connectedCallback(){var e;super.connectedCallback(),this.container=(null==(e=this.shadowRoot)?void 0:e.querySelector("#icon"))||null,this.container&&(this.container.textContent=hN("Loop"))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_LOOP&&this.container&&this.setAttribute("aria-checked",this.mediaLoop?"true":"false")}get mediaLoop(){return ct(this,hm.MEDIA_LOOP)}set mediaLoop(e){ci(this,hm.MEDIA_LOOP,e)}handleClick(){let e=!this.mediaLoop,t=new hK.CustomEvent(hd.MEDIA_LOOP_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pP.getSlotTemplateHTML=function(e){return` 1484 <style> 1485 :host { 1486 min-width: 4ch; 1487 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1488 width: 100%; 1489 display: grid; 1490 grid-template-columns: 1fr auto; 1491 gap: 1rem; 1492 font-weight: var(--media-button-font-weight, normal); 1493 } 1494 1495 #checked-indicator { 1496 display: none; 1497 } 1498 1499 :host([${hm.MEDIA_LOOP}]) #checked-indicator { 1500 display: block; 1501 } 1502 </style> 1503 1504 <span id="icon"> 1505 </span> 1506 1507 <div id="checked-indicator"> 1508 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 1509 <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"/> 1510 </svg> 1511 </div> 1512 `},pP.getTooltipContentHTML=function(){return hN("Loop")},hK.customElements.get("media-loop-button")||hK.customElements.define("media-loop-button",pP);var pO=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pN=(e,t,i)=>(pO(e,t,"read from private field"),i?i.call(e):t.get(e)),pU=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pF=(e,t,i,r)=>(pO(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let pB={processCallback(e,t,i){if(i){for(let[e,r]of t)if(e in i){let t=i[e];"boolean"==typeof t&&r instanceof pj&&"boolean"==typeof r.element[r.attributeName]?r.booleanValue=t:"function"==typeof t&&r instanceof pj?r.element[r.attributeName]=t:r.value=t}}}};class p$ extends hK.DocumentFragment{constructor(e,t,i=pB){var r;super(),pU(this,yO,void 0),pU(this,yN,void 0),this.append(e.content.cloneNode(!0)),pF(this,yO,pH(this)),pF(this,yN,i),null==(r=i.createCallback)||r.call(i,this,pN(this,yO),t),i.processCallback(this,pN(this,yO),t)}update(e){pN(this,yN).processCallback(this,pN(this,yO),e)}}yO=new WeakMap,yN=new WeakMap;let pH=(e,t=[])=>{let i,r;for(let a of e.attributes||[])if(a.value.includes("{{")){let s=new pq;for([i,r]of pV(a.value))if(i){let i=new pj(e,a.name,a.namespaceURI);s.append(i),t.push([r,i])}else s.append(r);a.value=s.toString()}for(let a of e.childNodes)if(1!==a.nodeType||a instanceof HTMLTemplateElement){let s=a.data;if(1===a.nodeType||s.includes("{{")){let n=[];if(s)for([i,r]of pV(s))if(i){let i=new pY(e);n.push(i),t.push([r,i])}else n.push(new Text(r));else if(a instanceof HTMLTemplateElement){let i=new pz(e,a);n.push(i),t.push([i.expression,i])}a.replaceWith(...n.flatMap(e=>e.replacementNodes||[e]))}}else pH(a,t);return t},pG={},pV=e=>{let t="",i=0,r=pG[e],a=0,s;if(r)return r;for(r=[];s=e[a];a++)"{"===s&&"{"===e[a+1]&&"\\"!==e[a-1]&&e[a+2]&&1==++i?(t&&r.push([0,t]),t="",a++):"}"!==s||"}"!==e[a+1]||"\\"===e[a-1]||--i?t+=s||"":(r.push([1,t.trim()]),t="",a++);return t&&r.push([0,(i>0?"{{":"")+t]),pG[e]=r};class pK{get value(){return""}set value(e){}toString(){return this.value}}let pW=new WeakMap;class pq{constructor(){pU(this,yU,[])}[Symbol.iterator](){return pN(this,yU).values()}get length(){return pN(this,yU).length}item(e){return pN(this,yU)[e]}append(...e){for(let t of e)t instanceof pj&&pW.set(t,this),pN(this,yU).push(t)}toString(){return pN(this,yU).join("")}}yU=new WeakMap;class pj extends pK{constructor(e,t,i){super(),pU(this,yG),pU(this,yF,""),pU(this,yB,void 0),pU(this,y$,void 0),pU(this,yH,void 0),pF(this,yB,e),pF(this,y$,t),pF(this,yH,i)}get attributeName(){return pN(this,y$)}get attributeNamespace(){return pN(this,yH)}
1512get element(){return pN(this,yB)}get value(){return pN(this,yF)}set value(e){pN(this,yF)!==e&&(pF(this,yF,e),pN(this,yG,yV)&&1!==pN(this,yG,yV).length?pN(this,yB).setAttributeNS(pN(this,yH),pN(this,y$),pN(this,yG,yV).toString()):null==e?pN(this,yB).removeAttributeNS(pN(this,yH),pN(this,y$)):pN(this,yB).setAttributeNS(pN(this,yH),pN(this,y$),e))}get booleanValue(){return pN(this,yB).hasAttributeNS(pN(this,yH),pN(this,y$))}set booleanValue(e){if(pN(this,yG,yV)&&1!==pN(this,yG,yV).length)throw new DOMException("Value is not fully templatized");this.value=e?"":null}}yF=new WeakMap,yB=new WeakMap,y$=new WeakMap,yH=new WeakMap,yG=new WeakSet,yV=function(){return pW.get(this)};class pY extends pK{constructor(e,t){super(),pU(this,yK,void 0),pU(this,yW,void 0),pF(this,yK,e),pF(this,yW,t?[...t]:[new Text])}get replacementNodes(){return pN(this,yW)}get parentNode(){return pN(this,yK)}get nextSibling(){return pN(this,yW)[pN(this,yW).length-1].nextSibling}get previousSibling(){return pN(this,yW)[0].previousSibling}get value(){return pN(this,yW).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(e=>null==e?[new Text]:e.forEach?[...e]:11===e.nodeType?[...e.childNodes]:e.nodeType?[e]:[new Text(e)]);t.length||t.push(new Text),pF(this,yW,function(e,t,i,r=null){let a=0,s,n,o,l=i.length,d=t.length;for(;a<l&&a<d&&t[a]==i[a];)a++;for(;a<l&&a<d&&i[l-1]==t[d-1];)r=i[--d,--l];if(a==d)for(;a<l;)e.insertBefore(i[a++],r);if(a==l)for(;a<d;)e.removeChild(t[a++]);else{for(s=t[a];a<l;)o=i[a++],n=s?s.nextSibling:r,s==o?s=n:a<l&&i[a]==n?(e.replaceChild(o,s),s=n):e.insertBefore(o,s);for(;s!=r;)n=s.nextSibling,e.removeChild(s),s=n}return i}(pN(this,yW)[0].parentNode,pN(this,yW),t,this.nextSibling))}}yK=new WeakMap,yW=new WeakMap;class pz extends pY{constructor(e,t){const i=t.getAttribute("directive")||t.getAttribute("type");let r=t.getAttribute("expression")||t.getAttribute(i)||"";r.startsWith("{{")&&(r=r.trim().slice(2,-2).trim()),super(e),this.expression=r,this.template=t,this.directive=i}}let pQ={string:e=>String(e)};class pX{constructor(e){this.template=e,this.state=void 0}}let pZ=new WeakMap,pJ=new WeakMap,p0={partial:(e,t)=>{t[e.expression]=new pX(e.template)},if:(e,t)=>{var i;if(p4(e.expression,t))if(pZ.get(e)!==e.template){pZ.set(e,e.template);let i=new p$(e.template,t,p2);e.replace(i),pJ.set(e,i)}else null==(i=pJ.get(e))||i.update(t);else e.replace(""),pZ.delete(e),pJ.delete(e)}},p1=Object.keys(p0),p2={processCallback(e,t,i){var r,a;if(i)for(let[e,s]of t){if(s instanceof pz){if(!s.directive){let e=p1.find(e=>s.template.hasAttribute(e));e&&(s.directive=e,s.expression=s.template.getAttribute(e))}null==(r=p0[s.directive])||r.call(p0,s,i);continue}let t=p4(e,i);if(t instanceof pX){pZ.get(s)!==t.template?(pZ.set(s,t.template),s.value=t=new p$(t.template,t.state,p2),pJ.set(s,t)):null==(a=pJ.get(s))||a.update(t.state);continue}t?(s instanceof pj&&s.attributeName.startsWith("aria-")&&(t=String(t)),s instanceof pj?"boolean"==typeof t?s.booleanValue=t:"function"==typeof t?s.element[s.attributeName]=t:s.value=t:(s.value=t,pZ.delete(s),pJ.delete(s))):s instanceof pj?s.value=void 0:(s.value=void 0,pZ.delete(s),pJ.delete(s))}}},p3={"!":e=>!e,"!!":e=>!!e,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>
1512e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"??":(e,t)=>null!=e?e:t,"|":(e,t)=>{var i;return null==(i=pQ[t])?void 0:i.call(pQ,e)}};function p4(e,t={}){var i,r,a,s,n,o,l;let d=(function(e,t){let i,r,a,s=[];for(;e;){for(let s in a=null,i=e.length,t)(r=t[s].exec(e))&&r.index<i&&(a={token:r[0],type:s,matches:r.slice(1)},i=r.index);i&&s.push({token:e.substr(0,i),type:void 0}),a&&s.push(a),e=e.substr(i+(a?a.token.length:0))}return s})(e,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>"ws"!==e);if(0===d.length||d.some(({type:e})=>!e))return p5(e);if((null==(i=d[0])?void 0:i.token)===">"){let i=t[null==(r=d[1])?void 0:r.token];if(!i)return p5(e);let o={...t};i.state=o;let l=d.slice(2);for(let e=0;e<l.length;e+=3){let i=null==(a=l[e])?void 0:a.token,r=null==(s=l[e+1])?void 0:s.token,d=null==(n=l[e+2])?void 0:n.token;i&&"="===r&&(o[i]=p9(d,t))}return i}if(1===d.length)return p8(d[0])?p9(d[0].token,t):p5(e);if(2===d.length){let i=p3[null==(o=d[0])?void 0:o.token];return i&&p8(d[1])?i(p9(d[1].token,t)):p5(e)}if(3===d.length){let i=null==(l=d[1])?void 0:l.token,r=p3[i];if(!r||!p8(d[0])||!p8(d[2]))return p5(e);let a=p9(d[0].token,t);return r(a,"|"===i?d[2].token:p9(d[2].token,t))}}function p5(e){return console.warn(`Warning: invalid expression \`${e}\``),!1}function p8({type:e}){return["number","boolean","string","param"].includes(e)}function p9(e,t){let i=e[0],r=e.slice(-1);return"true"===e||"false"===e?"true"===e:i===r&&["'",'"'].includes(i)?e.slice(1,-1):hI(e)?parseFloat(e):t[e]}var p6=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},p7=(e,t,i)=>(p6(e,t,"read from private field"),i?i.call(e):t.get(e)),ge=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gt=(e,t,i,r)=>(p6(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gi=(e,t,i)=>(p6(e,t,"access private method"),i);let gr={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},ga=hW.createElement("template");ga.innerHTML=` 1513 <style> 1514 :host { 1515 display: inline-block; 1516 line-height: 0; 1517 } 1518 1519 media-controller { 1520 width: 100%; 1521 height: 100%; 1522 } 1523 1524 media-captions-button:not([mediasubtitleslist]), 1525 media-captions-menu:not([mediasubtitleslist]), 1526 media-captions-menu-button:not([mediasubtitleslist]), 1527 media-audio-track-menu[mediaaudiotrackunavailable], 1528 media-audio-track-menu-button[mediaaudiotrackunavailable], 1529 media-rendition-menu[mediarenditionunavailable], 1530 media-rendition-menu-button[mediarenditionunavailable], 1531 media-volume-range[mediavolumeunavailable], 1532 media-airplay-button[mediaairplayunavailable], 1533 media-fullscreen-button[mediafullscreenunavailable], 1534 media-cast-button[mediacastunavailable], 1535 media-pip-button[mediapipunavailable] { 1536 display: none; 1537 } 1538 </style> 1539`;class gs extends hK.HTMLElement{constructor(){super(),ge(this,yz),ge(this,yX),ge(this,yq,void 0),ge(this,yj,void 0),ge(this,yY,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());const e=new MutationObserver(e=>{var t;(!this.mediaController||(null==(t=this.mediaController)?void 0:t.breakpointsComputed))&&e.some(e=>{let t=e.target;return t===this||"media-controller"===t.localName&&!!(gr[e.attributeName]||e.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(hf.BREAKPOINTS_COMPUTED,this.render),gi(this,yz,yQ).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return null!=(e=p7(this,yq))?e:this.constructor.template}set template(e){null===e?this.removeAttribute("template"):"string"==typeof e?this.setAttribute("template",e):e instanceof HTMLTemplateElement&&(gt(this,yq,e),gt(this,yY,null),this.createRenderer())}get props(){var e,t,i;let r=[...Array.from(null!=(t=null==(e=this.mediaController)?void 0:e.attributes)?t:[]).filter(({name:e})=>gr[e]||e.startsWith("breakpoint")),...Array.from(this.attributes)],a={};for(let e of r){let t=null!=(i=gr[e.name])?i:e.name.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase()),{value:r}=e;null!=r?(hI(r)&&(r=parseFloat(r)),a[t]=""===r||r):a[t]=!1}return a}
1539attributeChangedCallback(e,t,i){"template"===e&&t!=i&&gi(this,yX,yZ).call(this)}connectedCallback(){gi(this,yX,yZ).call(this)}createRenderer(){this.template instanceof HTMLTemplateElement&&this.template!==p7(this,yj)&&(gt(this,yj,this.template),this.renderer=new p$(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(ga.content.cloneNode(!0),this.renderer))}render(){var e;null==(e=this.renderer)||e.update(this.props)}}async function gn(e){let t=await fetch(e);if(200!==t.status)throw Error(`Failed to load resource: the server responded with a status of ${t.status}`);return t.text()}function go(e){return e.split("-")[0]}yq=new WeakMap,yj=new WeakMap,yY=new WeakMap,yz=new WeakSet,yQ=function(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}},yX=new WeakSet,yZ=function(){var e;let t=this.getAttribute("template");if(!t||t===p7(this,yY))return;let i=this.getRootNode(),r=null==(e=null==i?void 0:i.getElementById)?void 0:e.call(i,t);if(r){gt(this,yY,t),gt(this,yq,r),this.createRenderer();return}(function(e){if(!/^(\/|\.\/|https?:\/\/)/.test(e))return!1;let t=/^https?:\/\//.test(e)?void 0:location.origin;try{new URL(e,t)}catch(e){return!1}return!0})(t)&&(gt(this,yY,t),gn(t).then(e=>{let t=hW.createElement("template");t.innerHTML=e,gt(this,yq,t),this.createRenderer()}).catch(console.error))},gs.observedAttributes=["template"],gs.processor=p2,hK.customElements.get("media-theme")||hK.customElements.define("media-theme",gs);class gl extends Event{constructor({action:e="auto",relatedTarget:t,...i}){super("invoke",i),this.action=e,this.relatedTarget=t}}class gd extends Event{constructor({newState:e,oldState:t,...i}){super("toggle",i),this.newState=e,this.oldState=t}}var gu=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gh=(e,t,i)=>(gu(e,t,"read from private field"),i?i.call(e):t.get(e)),gc=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gm=(e,t,i,r)=>(gu(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gf=(e,t,i)=>(gu(e,t,"access private method"),i);function gp({type:e,text:t,value:i,checked:r}){let a=hW.createElement("media-chrome-menu-item");a.type=null!=e?e:"",a.part.add("menu-item"),e&&a.part.add(e),a.value=i,a.checked=r;let s=hW.createElement("span");return s.textContent=t,a.append(s),a}function gg(e,t){let i=e.querySelector(`:scope > [slot="${t}"]`);if((null==i?void 0:i.nodeName)=="SLOT"&&(i=i.assignedElements({flatten:!0})[0]),i)return i.cloneNode(!0);let r=e.shadowRoot.querySelector(`[name="${t}"] > svg`);return r?r.cloneNode(!0):""}let gv="style",gE="hidden",gy="disabled";class gb extends hK.HTMLElement{constructor(){if(super(),gc(this,y8),gc(this,y6),gc(this,bt),gc(this,br),gc(this,bs),gc(this,bo),gc(this,bh),gc(this,bm),gc(this,bp),gc(this,bv),gc(this,by),gc(this,bT),gc(this,b_),gc(this,bk),gc(this,bR),gc(this,bw),gc(this,bD),gc(this,bM),gc(this,yJ,null),gc(this,y0,null),gc(this,y1,null),gc(this,y2,new Set),gc(this,y3,void 0),gc(this,y4,!1),gc(this,y5,null),gc(this,be,()=>{let e=gh(this,y2),t=new Set(this.items);for(let i of e)t.has(i)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:i}));for(let i of t)e.has(i)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:i}));gm(this,y2,t)}),gc(this,bd,()=>{gf(this,bh,bc).call(this),gf(this,bm,bf).call(this,!1)}),gc(this,bu,()=>{gf(this,bh,bc).call(this)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),gm(this,y3,new MutationObserver(gh(this,be))),gh(this,y3).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[gy,gE,gv,"anchor",hu.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":gf(this,y8,y9).call(this,e);break;case"invoke":gf(this,br,ba).call(this,e);break;case"click":gf(this,bp,bg).call(this,e);break;case"toggle":gf(this,by,bb).call(this,e);break;case"focusout":gf(this,b_,bS).call(this,e);break;case"keydown":gf(this,bk,bL).call(this,e)}}connectedCallback(){var e,t;gm(this,y5,h6(this.shadowRoot,":host")),gf(this,bt,bi).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),gm(this,yJ,hJ(this)),null==(t=null==(e=gh(this,yJ))?void 0:e.associateElement)||t.call(e,this),this.hidden||(hz(gA(this),gh(this,bd)),hz(this,gh(this,bu))),gf(this,y6,y7).call(this)}disconnectedCallback(){var e,t;hQ(gA(this),gh(this,bd)),hQ(this,gh(this,bu)),this.disable(),null==(t=null==(e=gh(this,yJ))?void 0:e.unassociateElement)||t.call(e,this),gm(this,yJ,null)}attributeChangedCallback(e,t,i){var r,a,s,n;
1539e===gE&&i!==t?(gh(this,y4)||gm(this,y4,!0),this.hidden?gf(this,bo,bl).call(this):gf(this,bs,bn).call(this),this.dispatchEvent(new gd({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=gh(this,yJ))?void 0:r.unassociateElement)||a.call(r,this),gm(this,yJ,null)),i&&this.isConnected&&(gm(this,yJ,hJ(this)),null==(n=null==(s=gh(this,yJ))?void 0:s.associateElement)||n.call(s,this))):e===gy&&i!==t?null==i?this.enable():this.disable():e===gv&&i!==t&&gf(this,bt,bi).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?null==(e=h5(this))?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(gT)}get radioGroupItems(){return this.items.filter(e=>"menuitemradio"===e.role)}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return null!=(t=null==(e=this.checkedItems[0])?void 0:e.value)?t:""}set value(e){let t=this.items.find(t=>t.value===e);t&&gf(this,bM,bP).call(this,t)}focus(){if(gm(this,y0,h4()),this.items.length){gf(this,bD,bx).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==e||e.focus()}handleSelect(e){var t;let i=gf(this,bR,bI).call(this,e);i&&(gf(this,bM,bP).call(this,i,"checkbox"===i.type),gh(this,y1)&&!this.hidden&&(null==(t=gh(this,y0))||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,i;let{key:r}=e,a=this.items,s=null!=(i=null!=(t=gf(this,bR,bI).call(this,e))?t:gf(this,bw,bC).call(this))?i:a[0],n=Math.max(0,a.indexOf(s));"ArrowDown"===r?n++:"ArrowUp"===r?n--:"Home"===e.key?n=0:"End"===e.key&&(n=a.length-1),n<0&&(n=a.length-1),n>a.length-1&&(n=0),gf(this,bD,bx).call(this,a[n]),a[n].focus()}}function gT(e){return["menuitem","menuitemradio","menuitemcheckbox"].includes(null==e?void 0:e.role)}function gA(e){var t;return null!=(t=e.getAttribute("bounds")?h3(e,`#${e.getAttribute("bounds")}`):hZ(e)||e.parentElement)?t:e}yJ=new WeakMap,y0=new WeakMap,y1=new WeakMap,y2=new WeakMap,y3=new WeakMap,y4=new WeakMap,y5=new WeakMap,y8=new WeakSet,y9=function(e){let t=e.target;for(let e of t.assignedNodes({flatten:!0}))3===e.nodeType&&""===e.textContent.trim()&&e.remove();["header","title"].includes(t.name)&&gf(this,y6,y7).call(this),t.name||gh(this,be).call(this)},y6=new WeakSet,y7=function(){let e=this.shadowRoot.querySelector('slot[name="header"]');e.hidden=0===this.shadowRoot.querySelector('slot[name="title"]').assignedNodes().length&&0===e.assignedNodes().length},be=new WeakMap,bt=new WeakSet,bi=function(){var e;let t=this.shadowRoot.querySelector("#layout-row"),i=null==(e=getComputedStyle(this).getPropertyValue("--media-menu-layout"))?void 0:e.trim();t.setAttribute("media","row"===i?"":"width:0")},br=new WeakSet,ba=function(e){gm(this,y1,e.relatedTarget),h2(this,e.relatedTarget)||(this.hidden=!this.hidden)},bs=new WeakSet,bn=function(){var e;null==(e=gh(this,y1))||e.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),hz(gA(this),gh(this,bd)),hz(this,gh(this,bu))},bo=new WeakSet,bl=function(){var e;null==(e=gh(this,y1))||e.setAttribute("aria-expanded","false"),hQ(gA(this),gh(this,bd)),hQ(this,gh(this,bu))},bd=new WeakMap,bu=new WeakMap,bh=new WeakSet,bc=function(e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:i}=function({anchor:e,floating:t,placement:i}){let{x:r,y:a}=function({anchor:e,floating:t},i){let r,a="x"==(["top","bottom"].includes(go(i))?"y":"x")?"y":"x",s="y"===a?"height":"width",n=go(i),o=e.x+e.width/2-t.width/2,l=e.y+e.height/2-t.height/2,d=e[s]/2-t[s]/2;switch(n){case"top":r={x:o,y:e.y-t.height};break;case"bottom":r={x:o,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:l};break;case"left":r={x:e.x-t.width,y:l};break;default:r={x:e.x,y:e.y}}switch(i.split("-")[1]){case"start":r[a]-=d;break;case"end":r[a]+=d}return r}(function({anchor:e,floating:t}){var i,r,a;let s,n;return{anchor:(i=e,r=t.offsetParent,s=i.getBoundingClientRect(),n=null!=(a=null==r?void 0:r.getBoundingClientRect())?a:{x:0,y:0},{x:s.x-n.x,y:s.y-n.y,width:s.width,height:s.height}),floating:{x:0,y:0,width:t.offsetWidth,height:t.offsetHeight}}}({anchor:e,floating:t}),i);return{x:r,y:a}}({anchor:this.anchorElement,floating:this,placement:"top-start"});null!=e||(e=this.offsetWidth);let r=gA(this).getBoundingClientRect(),a=r.width-t-e,s=r.height-i-this.offsetHeight,{style:n}=gh(this,y5);n.setProperty("position","absolute"),n.setProperty("right",`${Math.max(0,a)}px`),n.setProperty("--_menu-bottom",`${s}px`);let o=getComputedStyle(this),l=n.getPropertyValue("--_menu-bottom")===o.bottom?s:parseFloat(o.bottom),d=r.height-l-parseFloat(o.marginBottom);this.style.setProperty("--_menu-max-height",`${d}px`)}
1539,bm=new WeakSet,bf=function(e){let t=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),i=null==t?void 0:t.querySelector('[role="menu"]'),{style:r}=gh(this,y5);if(e||r.setProperty("--media-menu-transition-in","none"),i){let e=i.offsetHeight,r=Math.max(i.offsetWidth,t.offsetWidth);this.style.setProperty("min-width",`${r}px`),this.style.setProperty("min-height",`${e}px`),gf(this,bh,bc).call(this,r)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),gf(this,bh,bc).call(this);r.removeProperty("--media-menu-transition-in")},bp=new WeakSet,bg=function(e){var t;if(e.stopPropagation(),e.composedPath().includes(gh(this,bv,bE))){null==(t=gh(this,y0))||t.focus(),this.hidden=!0;return}let i=gf(this,bR,bI).call(this,e);!i||i.hasAttribute("disabled")||(gf(this,bD,bx).call(this,i),this.handleSelect(e))},bv=new WeakSet,bE=function(){var e;return null==(e=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))?void 0:e.find(e=>e.matches('button[part~="back"]'))},by=new WeakSet,bb=function(e){if(e.target===this)return;gf(this,bT,bA).call(this);let t=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let i of t)i.invokeTargetElement!=e.target&&("open"!=e.newState||"true"!=i.getAttribute("aria-expanded")||i.invokeTargetElement.hidden||i.invokeTargetElement.dispatchEvent(new gl({relatedTarget:i})));for(let e of t)e.setAttribute("aria-expanded",`${!e.submenuElement.hidden}`);gf(this,bm,bf).call(this,!0)},bT=new WeakSet,bA=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)},b_=new WeakSet,bS=function(e){var t;h2(this,e.relatedTarget)||(gh(this,y4)&&(null==(t=gh(this,y0))||t.focus()),gh(this,y1)&&gh(this,y1)!==e.relatedTarget&&!this.hidden&&(this.hidden=!0))},bk=new WeakSet,bL=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;if(!o&&!l&&!d&&this.keysUsed.includes(n))if(e.preventDefault(),e.stopPropagation(),"Tab"===n){if(gh(this,y4)){this.hidden=!0;return}e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()}else"Escape"===n?(null==(s=gh(this,y0))||s.focus(),gh(this,y4)&&(this.hidden=!0)):"Enter"===n||" "===n?this.handleSelect(e):this.handleMove(e)},bR=new WeakSet,bI=function(e){return e.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))},bw=new WeakSet,bC=function(){return this.items.find(e=>0===e.tabIndex)},bD=new WeakSet,bx=function(e){for(let t of this.items)t.tabIndex=t===e?0:-1},bM=new WeakSet,bP=function(e,t){let i=[...this.checkedItems];"radio"===e.type&&this.radioGroupItems.forEach(e=>e.checked=!1),t?e.checked=!e.checked:e.checked=!0,this.checkedItems.some((e,t)=>e!=i[t])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))},gb.shadowRootOptions={mode:"open"},gb.getTemplateHTML=function(e){return` 1540 <style> 1541 :host { 1542 font: var(--media-font, 1543 var(--media-font-weight, normal) 1544 var(--media-font-size, 14px) / 1545 var(--media-text-content-height, var(--media-control-height, 24px)) 1546 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 1547 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 1548 --_menu-bg: rgb(20 20 30 / .8); 1549 background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg)))); 1550 border-radius: var(--media-menu-border-radius); 1551 border: var(--media-menu-border, none); 1552 display: var(--media-menu-display, inline-flex) !important; 1553 1554 transition: var(--media-menu-transition-in, 1555 visibility 0s, 1556 opacity .2s ease-out, 1557 transform .15s ease-out, 1558 left .2s ease-in-out, 1559 min-width .2s ease-in-out, 1560 min-height .2s ease-in-out 1561 ) !important; 1562 1563 visibility: var(--media-menu-visibility, visible); 1564 opacity: var(--media-menu-opacity, 1); 1565 max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px)); 1566 transform: var(--media-menu-transform-in, translateY(0) scale(1)); 1567 flex-direction: column; 1568 1569 min-height: 0; 1570 position: relative; 1571 bottom: var(--_menu-bottom); 1572 box-sizing: border-box; 1573 } 1574 1575 @-moz-document url-prefix() { 1576 :host{ 1577 --_menu-bg: rgb(20 20 30); 1578 } 1579 } 1580 1581 :host([hidden]) { 1582 transition: var(--media-menu-transition-out, 1583 visibility .15s ease-in, 1584 opacity .15s ease-in, 1585 transform .15s ease-in 1586 ) !important; 1587 visibility: var(--media-menu-hidden-visibility, hidden); 1588 opacity: var(--media-menu-hidden-opacity, 0); 1589 max-height: var(--media-menu-hidden-max-height, 1590 var(--media-menu-max-height, var(--_menu-max-height, 300px))); 1591 transform: var(--media-menu-transform-out, translateY(2px) scale(.99)); 1592 pointer-events: none; 1593 } 1594 1595 :host([slot="submenu"]) { 1596 background: none; 1597 width: 100%; 1598 min-height: 100%; 1599 position: absolute; 1600 bottom: 0; 1601 right: -100%; 1602 } 1603 1604 #container { 1605 display: flex; 1606 flex-direction: column; 1607 min-height: 0; 1608 transition: transform .2s ease-out; 1609 transform: translate(0, 0); 1610 } 1611 1612 #container.has-expanded { 1613 transition: transform .2s ease-in; 1614 transform: translate(-100%, 0); 1615 } 1616 1617 button { 1618 background: none; 1619 color: inherit; 1620 border: none; 1621 padding: 0; 1622 font: inherit; 1623 outline: inherit; 1624 display: inline-flex; 1625 align-items: center; 1626 } 1627 1628 slot[name="header"][hidden] { 1629 display: none; 1630 } 1631 1632 slot[name="header"] > *, 1633 slot[name="header"]::slotted(*) { 1634 padding: .4em .7em; 1635 border-bottom: 1px solid rgb(255 255 255 / .25); 1636 cursor: var(--media-cursor, default); 1637 } 1638 1639 slot[name="header"] > button[part~="back"], 1640 slot[name="header"]::slotted(button[part~="back"]) { 1641 cursor: var(--media-cursor, pointer); 1642 } 1643 1644 svg[part~="back"] { 1645 height: var(--media-menu-icon-height, var(--media-control-height, 24px)); 1646 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1647 display: block; 1648 margin-right: .5ch; 1649 } 1650 1651 slot:not([name]) { 1652 gap: var(--media-menu-gap); 1653 flex-direction: var(--media-menu-flex-direction, column); 1654 overflow: var(--media-menu-overflow, hidden auto); 1655 display: flex; 1656 min-height: 0; 1657 } 1658 1659 :host([role="menu"]) slot:not([name]) { 1660 padding-block: .4em; 1661 } 1662 1663 slot:not([name])::slotted([role="menu"]) { 1664 background: none; 1665 } 1666 1667 media-chrome-menu-item > span { 1668 margin-right: .5ch; 1669 max-width: var(--media-menu-item-max-width); 1670 text-overflow: ellipsis; 1671 overflow: hidden; 1672 } 1673 </style> 1674 <style id="layout-row" media="width:0"> 1675 1676 slot[name="header"] > *, 1677 slot[name="header"]::slotted(*) { 1678 padding: .4em .5em; 1679 } 1680 1681 slot:not([name]) { 1682 gap: var(--media-menu-gap, .25em); 1683 flex-direction: var(--media-menu-flex-direction, row); 1684 padding-inline: .5em; 1685 } 1686 1687 media-chrome-menu-item { 1688 padding: .3em .5em; 1689 } 1690 1691 media-chrome-menu-item[aria-checked="true"] { 1692 background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2)); 1693 } 1694 1695 1696 media-chrome-menu-item::part(checked-indicator) { 1697 display: var(--media-menu-item-checked-indicator-display, none); 1698 } 1699 </style> 1700 <div id="container" part="container"> 1701 <slot name="header" hidden> 1702 <button part="back button" aria-label="Back to previous menu"> 1703 <slot name="back-icon"> 1704 <svg aria-hidden="true" viewBox="0 0 20 24" part="back indicator"> 1705 <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"/> 1706 </svg> 1707 </slot> 1708 <slot name="title"></slot> 1709 </button> 1710 </slot> 1711 <slot></slot> 1712 </div> 1713 <slot name="checked-indicator" hidden></slot> 1714 `}
1714,hK.customElements.get("media-chrome-menu")||hK.customElements.define("media-chrome-menu",gb);var g_=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gS=(e,t,i)=>(g_(e,t,"read from private field"),i?i.call(e):t.get(e)),gk=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gL=(e,t,i,r)=>(g_(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gR=(e,t,i)=>(g_(e,t,"access private method"),i);let gI="type",gw="value",gC="checked",gD="disabled";class gx extends hK.HTMLElement{constructor(){if(super(),gk(this,bU),gk(this,bB),gk(this,bH),gk(this,bK),gk(this,bq),gk(this,bY),gk(this,bO,!1),gk(this,bN,void 0),gk(this,bV,()=>{var e,t;this.submenuElement.items&&this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let i=this.shadowRoot.querySelector('slot[name="description"]'),r=null==(e=this.submenuElement.checkedItems)?void 0:e[0],a=null!=(t=null==r?void 0:r.dataset.description)?t:null==r?void 0:r.text,s=hW.createElement("span");s.textContent=null!=a?a:"",i.replaceChildren(s)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[gI,gD,gC,gw]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),gM(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":gR(this,bU,bF).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":gR(this,bq,bj).call(this,e);break;case"keyup":gR(this,bK,bW).call(this,e)}}attributeChangedCallback(e,t,i){e===gC&&gM(this)&&!gS(this,bO)?this.setAttribute("aria-checked",null!=i?"true":"false"):e===gI&&i!==t?this.role="menuitem"+i:e===gD&&i!==t&&(null==i?this.enable():this.disable())}connectedCallback(){this.hasAttribute(gD)||this.enable(),this.role="menuitem"+this.type,gL(this,bN,function e(t,i){if(!t)return null;let{host:r}=t.getRootNode();return!i&&r?e(t,r):(null==i?void 0:i.items)?i:e(i,null==i?void 0:i.parentNode)}(this,this.parentNode)),gR(this,bY,bz).call(this),this.submenuElement&&gR(this,bB,b$).call(this)}disconnectedCallback(){this.disable(),gR(this,bY,bz).call(this),gL(this,bN,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=h5(this))?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return null!=(e=this.getAttribute(gI))?e:""}set type(e){this.setAttribute(gI,`${e}`)}get value(){var e;return null!=(e=this.getAttribute(gw))?e:this.text}set value(e){this.setAttribute(gw,e)}get text(){var e;return(null!=(e=this.textContent)?e:"").trim()}get checked(){if(gM(this))return"true"===this.getAttribute("aria-checked")}set checked(e){gM(this)&&(gL(this,bO,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){!gM(this)&&this.invokeTargetElement&&h2(this,e.target)&&this.invokeTargetElement.dispatchEvent(new gl({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}}function gM(e){return"radio"===e.type||"checkbox"===e.type}bO=new WeakMap,bN=new WeakMap,bU=new WeakSet,bF=function(e){let t=e.target;if(!(null==t?void 0:t.name))for(let e of t.assignedNodes({flatten:!0}))e instanceof Text&&""===e.textContent.trim()&&e.remove();"submenu"===t.name&&(this.submenuElement?gR(this,bB,b$).call(this):gR(this,bH,bG).call(this))},bB=new WeakSet,b$=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",gS(this,bV)),this.submenuElement.addEventListener("addmenuitem",gS(this,bV)),this.submenuElement.addEventListener("removemenuitem",gS(this,bV)),gS(this,bV).call(this)},bH=new WeakSet,bG=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",gS(this,bV)),this.submenuElement.removeEventListener("addmenuitem",gS(this,bV)),this.submenuElement.removeEventListener("removemenuitem",gS(this,bV)),gS(this,bV).call(this)},bV=new WeakMap,bK=new WeakSet,bW=function(e){let{key:t}=e;this.keysUsed.includes(t)?this.handleClick(e):this.removeEventListener("keyup",gR(this,bK,bW))},bq=new WeakSet,bj=function(e){let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",gR(this,bK,bW)):this.addEventListener("keyup",gR(this,bK,bW),{once:!0})},bY=new WeakSet,bz=function(){var e;let t=null==(e=gS(this,bN))?void 0:e.radioGroupItems;if(!t)return;let i=t.filter(e=>"true"===e.getAttribute("aria-checked")).pop();
1714for(let e of(i||(i=t[0]),t))e.setAttribute("aria-checked","false");null==i||i.setAttribute("aria-checked","true")},gx.shadowRootOptions={mode:"open"},gx.getTemplateHTML=function(e){return` 1715 <style> 1716 :host { 1717 transition: var(--media-menu-item-transition, 1718 background .15s linear, 1719 opacity .2s ease-in-out 1720 ); 1721 outline: var(--media-menu-item-outline, 0); 1722 outline-offset: var(--media-menu-item-outline-offset, -1px); 1723 cursor: var(--media-cursor, pointer); 1724 display: flex; 1725 align-items: center; 1726 align-self: stretch; 1727 justify-self: stretch; 1728 white-space: nowrap; 1729 white-space-collapse: collapse; 1730 text-wrap: nowrap; 1731 padding: .4em .8em .4em 1em; 1732 } 1733 1734 :host(:focus-visible) { 1735 box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 1736 outline: var(--media-menu-item-hover-outline, 0); 1737 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 1738 } 1739 1740 :host(:hover) { 1741 cursor: var(--media-cursor, pointer); 1742 background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5)); 1743 outline: var(--media-menu-item-hover-outline); 1744 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 1745 } 1746 1747 :host([aria-checked="true"]) { 1748 background: var(--media-menu-item-checked-background); 1749 } 1750 1751 :host([hidden]) { 1752 display: none; 1753 } 1754 1755 :host([disabled]) { 1756 pointer-events: none; 1757 color: rgba(255, 255, 255, .3); 1758 } 1759 1760 slot:not([name]) { 1761 width: 100%; 1762 } 1763 1764 slot:not([name="submenu"]) { 1765 display: inline-flex; 1766 align-items: center; 1767 transition: inherit; 1768 opacity: var(--media-menu-item-opacity, 1); 1769 } 1770 1771 slot[name="description"] { 1772 justify-content: end; 1773 } 1774 1775 slot[name="description"] > span { 1776 display: inline-block; 1777 margin-inline: 1em .2em; 1778 max-width: var(--media-menu-item-description-max-width, 100px); 1779 text-overflow: ellipsis; 1780 overflow: hidden; 1781 font-size: .8em; 1782 font-weight: 400; 1783 text-align: right; 1784 position: relative; 1785 top: .04em; 1786 } 1787 1788 slot[name="checked-indicator"] { 1789 display: none; 1790 } 1791 1792 :host(:is([role="menuitemradio"],[role="menuitemcheckbox"])) slot[name="checked-indicator"] { 1793 display: var(--media-menu-item-checked-indicator-display, inline-block); 1794 } 1795 1796 1797 svg, img, ::slotted(svg), ::slotted(img) { 1798 height: var(--media-menu-item-icon-height, var(--media-control-height, 24px)); 1799 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1800 display: block; 1801 } 1802 1803 1804 [part~="indicator"], 1805 ::slotted([part~="indicator"]) { 1806 fill: var(--media-menu-item-indicator-fill, 1807 var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)))); 1808 height: var(--media-menu-item-indicator-height, 1.25em); 1809 margin-right: .5ch; 1810 } 1811 1812 [part~="checked-indicator"] { 1813 visibility: hidden; 1814 } 1815 1816 :host([aria-checked="true"]) [part~="checked-indicator"] { 1817 visibility: visible; 1818 } 1819 </style> 1820 <slot name="checked-indicator"> 1821 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 1822 <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"/> 1823 </svg> 1824 </slot> 1825 <slot name="prefix"></slot> 1826 <slot></slot> 1827 <slot name="description"></slot> 1828 <slot name="suffix"> 1829 ${this.getSuffixSlotInnerHTML(e)} 1830 </slot> 1831 <slot name="submenu"></slot> 1832 `},gx.getSuffixSlotInnerHTML=function(e){return""},hK.customElements.get("media-chrome-menu-item")||hK.customElements.define("media-chrome-menu-item",gx);class gP extends gb{get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-settings-menu-button")}}gP.getTemplateHTML=function(e){return` 1833 ${gb.getTemplateHTML(e)} 1834 <style> 1835 :host { 1836 --_menu-bg: rgb(20 20 30 / .8); 1837 background: var(--media-settings-menu-background, 1838 var(--media-menu-background, 1839 var(--media-control-background, 1840 var(--media-secondary-color, var(--_menu-bg))))); 1841 min-width: var(--media-settings-menu-min-width, 170px); 1842 border-radius: 2px 2px 0 0; 1843 overflow: hidden; 1844 } 1845 1846 @-moz-document url-prefix() { 1847 :host{ 1848 --_menu-bg: rgb(20 20 30); 1849 } 1850 } 1851 1852 :host([role="menu"]) { 1853 1854 justify-content: end; 1855 } 1856 1857 slot:not([name]) { 1858 justify-content: var(--media-settings-menu-justify-content); 1859 flex-direction: var(--media-settings-menu-flex-direction, column); 1860 overflow: visible; 1861 } 1862 1863 #container.has-expanded { 1864 --media-settings-menu-item-opacity: 0; 1865 } 1866 </style> 1867 `}
1867,hK.customElements.get("media-settings-menu")||hK.customElements.define("media-settings-menu",gP);class gO extends gx{}gO.shadowRootOptions={mode:"open"},gO.getTemplateHTML=function(e){return` 1868 ${gx.getTemplateHTML.call(this,e)} 1869 <style> 1870 slot:not([name="submenu"]) { 1871 opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity)); 1872 } 1873 1874 :host([aria-expanded="true"]:hover) { 1875 background: transparent; 1876 } 1877 </style> 1878 `},gO.getSuffixSlotInnerHTML=function(e){return` 1879 <svg aria-hidden="true" viewBox="0 0 20 24"> 1880 <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"/> 1881 </svg> 1882 `},hK.customElements.get("media-settings-menu-item")||hK.customElements.define("media-settings-menu-item",gO);class gN extends mj{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=h5(this))?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;null==(e=this.invokeTargetElement)||e.dispatchEvent(new gl({relatedTarget:this}))}}hK.customElements.get("media-chrome-menu-button")||hK.customElements.define("media-chrome-menu-button",gN);class gU extends gN{static get observedAttributes(){return[...super.observedAttributes,"target"]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",hN("settings"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-settings-menu")}}gU.getSlotTemplateHTML=function(){return` 1883 <style> 1884 :host([aria-expanded="true"]) slot[name=tooltip] { 1885 display: none; 1886 } 1887 </style> 1888 <slot name="icon"> 1889 <svg aria-hidden="true" viewBox="0 0 24 24"> 1890 <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"/> 1891 </svg> 1892 </slot> 1893 `},gU.getTooltipContentHTML=function(){return hN("Settings")},hK.customElements.get("media-settings-menu-button")||hK.customElements.define("media-settings-menu-button",gU);var gF=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gB=(e,t,i)=>(gF(e,t,"read from private field"),i?i.call(e):t.get(e)),g$=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gH=(e,t,i,r)=>(gF(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gG=(e,t,i)=>(gF(e,t,"access private method"),i);bQ=new WeakMap,bX=new WeakMap,bZ=new WeakSet,bJ=function(){if(gB(this,bX)===JSON.stringify(this.mediaAudioTrackList))return;gH(this,bX,JSON.stringify(this.mediaAudioTrackList));let e=this.mediaAudioTrackList;for(let t of(this.defaultSlot.textContent="",e.sort((e,t)=>e.id.localeCompare(t.id,void 0,{numeric:!0})),e)){let e=gp({type:"radio",text:this.formatMenuItemText(t.label,t),value:`${t.id}`,checked:t.enabled});
1893e.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(e)}},b0=new WeakSet,b1=function(){if(null==this.value)return;let e=new hK.CustomEvent(hd.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-audio-track-menu")||hK.customElements.define("media-audio-track-menu",class extends gb{constructor(){super(...arguments),g$(this,bZ),g$(this,b0),g$(this,bQ,[]),g$(this,bX,void 0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_AUDIO_TRACK_LIST,hm.MEDIA_AUDIO_TRACK_ENABLED,hm.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_AUDIO_TRACK_ENABLED&&t!==i)this.value=i;else if(e===hm.MEDIA_AUDIO_TRACK_LIST&&t!==i){var r;gH(this,bQ,null==(r=null!=i?i:"")?void 0:r.split(/\s+/).map(hL)),gG(this,bZ,bJ).call(this)}}connectedCallback(){super.connectedCallback(),this.addEventListener("change",gG(this,b0,b1))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",gG(this,b0,b1))}get anchorElement(){var e;return"auto"!==this.anchor?super.anchorElement:null==(e=hZ(this))?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return gB(this,bQ)}set mediaAudioTrackList(e){gH(this,bQ,e),gG(this,bZ,bJ).call(this)}get mediaAudioTrackEnabled(){var e;return null!=(e=cr(this,hm.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ca(this,hm.MEDIA_AUDIO_TRACK_ENABLED,e)}});let gV=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1894 <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/> 1895 <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"/> 1896</svg>`,gK=e=>{let t=hN("Audio");e.setAttribute("aria-label",t)};class gW extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_AUDIO_TRACK_ENABLED,hm.MEDIA_AUDIO_TRACK_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),gK(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_LANG&&gK(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=hZ(this))?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return null!=(e=cr(this,hm.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ca(this,hm.MEDIA_AUDIO_TRACK_ENABLED,e)}}gW.getSlotTemplateHTML=function(){return` 1897 <style> 1898 :host([aria-expanded="true"]) slot[name=tooltip] { 1899 display: none; 1900 } 1901 </style> 1902 <slot name="icon">${gV}</slot> 1903 `},gW.getTooltipContentHTML=function(){return hN("Audio")},hK.customElements.get("media-audio-track-menu-button")||hK.customElements.define("media-audio-track-menu-button",gW);var gq=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gj=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gY=(e,t,i)=>(gq(e,t,"access private method"),i);let gz=` 1904 <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator"> 1905 <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"/> 1906 </svg>`;class gQ extends gb{constructor(){super(...arguments),gj(this,b3),gj(this,b5),gj(this,b2,void 0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_LIST&&t!==i?gY(this,b3,b4).call(this):e===hm.MEDIA_SUBTITLES_SHOWING&&t!==i&&(this.value=i||"",gY(this,b3,b4).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",gY(this,b5,b8))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",gY(this,b5,b8))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return gX(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){gZ(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return gX(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){gZ(this,hm.MEDIA_SUBTITLES_SHOWING,e)}}b2=new WeakMap,b3=new WeakSet,b4=function(){var e,t,i,r,a,s;let n=(gq(this,t=b2,"read from private field"),(i?i.call(this):t.get(this))!==JSON.stringify(this.mediaSubtitlesList)),o=this.value!==this.getAttribute(hm.MEDIA_SUBTITLES_SHOWING);if(!n&&!o)return;r=b2,a=JSON.stringify(this.mediaSubtitlesList),gq(this,r,"write to private field"),s?s.call(this,a):r.set(this,a),this.defaultSlot.textContent="";let l=!this.value,d=gp({type:"radio",text:this.formatMenuItemText(hN("Off")),value:"off",checked:l});for(let t of(d.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(d),this.mediaSubtitlesList)){let i=gp({type:"radio",text:this.formatMenuItemText(t.label,t),value:cM(t),checked:this.value==cM(t)});i.prepend(gg(this,"checked-indicator")),"captions"===(null!=(e=t.kind)?e:"subs")&&i.append(gg(this,"captions-indicator")),this.defaultSlot.append(i)}},b5=new WeakSet,b8=function(){let e=this.mediaSubtitlesShowing,t=this.getAttribute(hm.MEDIA_SUBTITLES_SHOWING),i=this.value!==t;if((null==e?void 0:e.length)&&i&&this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:e})),!this.value||!i)return;let r=new hK.CustomEvent(hd.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)},gQ.getTemplateHTML=function(e){return` 1907 ${gb.getTemplateHTML(e)} 1908 <slot name="captions-indicator" hidden>${gz}</slot> 1909 `};let gX=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},gZ=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};
1909hK.customElements.get("media-captions-menu")||hK.customElements.define("media-captions-menu",gQ);let gJ=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1910 <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"/> 1911</svg>`,g0=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1912 <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"/> 1913</svg>`,g1=e=>{e.setAttribute("data-captions-enabled",cF(e).toString())},g2=e=>{e.setAttribute("aria-label",hN("closed captions"))};class g3 extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING,hm.MEDIA_LANG]}connectedCallback(){super.connectedCallback(),g2(this),g1(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_SHOWING?g1(this):e===hm.MEDIA_LANG&&g2(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=hZ(this))?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return g4(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){g5(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return g4(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){g5(this,hm.MEDIA_SUBTITLES_SHOWING,e)}}g3.getSlotTemplateHTML=function(){return` 1914 <style> 1915 :host([data-captions-enabled="true"]) slot[name=off] { 1916 display: none !important; 1917 } 1918 1919 1920 :host(:not([data-captions-enabled="true"])) slot[name=on] { 1921 display: none !important; 1922 } 1923 1924 :host([aria-expanded="true"]) slot[name=tooltip] { 1925 display: none; 1926 } 1927 </style> 1928 1929 <slot name="icon"> 1930 <slot name="on">${gJ}</slot> 1931 <slot name="off">${g0}</slot> 1932 </slot> 1933 `},g3.getTooltipContentHTML=function(){return hN("Captions")};let g4=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},g5=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};hK.customElements.get("media-captions-menu-button")||hK.customElements.define("media-captions-menu-button",g3);var g8=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},g9=(e,t,i)=>(g8(e,t,"read from private field"),i?i.call(e):t.get(e)),g6=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},g7=(e,t,i)=>(g8(e,t,"access private method"),i);let ve="rates";b9=new WeakMap,b6=new WeakSet,b7=function(){this.defaultSlot.textContent="";let e=this.mediaPlaybackRate,t=new Set(Array.from(g9(this,b9)).map(e=>Number(e)));for(let i of(e>0&&!t.has(e)&&t.add(e),Array.from(t).sort((e,t)=>
1933e-t))){let t=gp({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i.toString(),checked:e===i});t.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(t)}},Te=new WeakSet,Tt=function(){if(!this.value)return;let e=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-playback-rate-menu")||hK.customElements.define("media-playback-rate-menu",class extends gb{constructor(){super(),g6(this,b6),g6(this,Te),g6(this,b9,new cw(this,ve,{defaultValue:f4})),g7(this,b6,b7).call(this)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE,ve]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PLAYBACK_RATE&&t!=i?(this.value=i,g7(this,b6,b7).call(this)):e===ve&&t!=i&&(g9(this,b9).value=i,g7(this,b6,b7).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",g7(this,Te,Tt))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",g7(this,Te,Tt))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-playback-rate-menu-button")}get rates(){return g9(this,b9)}set rates(e){e?Array.isArray(e)?g9(this,b9).value=e.join(" "):"string"==typeof e&&(g9(this,b9).value=e):g9(this,b9).value="",g7(this,b6,b7).call(this)}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}});class vt extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE]}constructor(){var e;super(),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",hN("Playback rate {playbackRate}",{playbackRate:t}))}}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-playback-rate-menu")}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}}vt.getSlotTemplateHTML=function(e){return` 1934 <style> 1935 :host { 1936 min-width: 5ch; 1937 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1938 } 1939 1940 :host([aria-expanded="true"]) slot[name=tooltip] { 1941 display: none; 1942 } 1943 </style> 1944 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 1945 `},vt.getTooltipContentHTML=function(){return hN("Playback rate")},hK.customElements.get("media-playback-rate-menu-button")||hK.customElements.define("media-playback-rate-menu-button",vt);var vi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vr=(e,t,i)=>(vi(e,t,"read from private field"),i?i.call(e):t.get(e)),va=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vs=(e,t,i,r)=>(vi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vn=(e,t,i)=>(vi(e,t,"access private method"),i);Ti=new WeakMap,Tr=new WeakMap,Ta=new WeakSet,Ts=function(){if(vr(this,Tr).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&vr(this,Tr).mediaHeight===this.mediaHeight)return;vr(this,Tr).mediaRenditionList=JSON.stringify(this.mediaRenditionList),vr(this,Tr).mediaHeight=this.mediaHeight;let e=this.mediaRenditionList.sort(this.compareRendition.bind(this)),t=e.find(e=>e.id===this.mediaRenditionSelected);for(let i of e)i.selected=i===t;this.defaultSlot.textContent="";let i=!this.mediaRenditionSelected;for(let t of e){let e=gp({type:"radio",text:this.formatRendition(t,{showBitrate:this.showRenditionBitrate(t)}),value:`${t.id}`,checked:t.selected&&!i});
1945e.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(e)}let r=t&&this.showRenditionBitrate(t),a=i?t?this.formatMenuItemText(`${hN("Auto")} \u2022 ${this.formatRendition(t,{showBitrate:r})}`,t):this.formatMenuItemText(`${hN("Auto")} (${this.mediaHeight}p)`):this.formatMenuItemText(hN("Auto")),s=gp({type:"radio",text:a,value:"auto",checked:i});s.dataset.description=a,s.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(s)},Tn=new WeakSet,To=function(){if(null==this.value)return;let e=new hK.CustomEvent(hd.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-rendition-menu")||hK.customElements.define("media-rendition-menu",class extends gb{constructor(){super(...arguments),va(this,Ta),va(this,Tn),va(this,Ti,[]),va(this,Tr,{})}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_RENDITION_LIST,hm.MEDIA_RENDITION_SELECTED,hm.MEDIA_RENDITION_UNAVAILABLE,hm.MEDIA_HEIGHT]}static formatMenuItemText(e,t){return super.formatMenuItemText(e,t)}static formatRendition(e,{showBitrate:t=!1}={}){let i=`${Math.min(e.width,e.height)}p`;if(t&&e.bitrate){let t=e.bitrate/1e6,r=`${t.toFixed(+(t<1))} Mbps`;return`${i} (${r})`}return this.formatMenuItemText(i,e)}static compareRendition(e,t){var i,r;return t.height===e.height?(null!=(i=t.bitrate)?i:0)-(null!=(r=e.bitrate)?r:0):t.height-e.height}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_RENDITION_SELECTED&&t!==i)this.value=null!=i?i:"auto",vn(this,Ta,Ts).call(this);else if(e===hm.MEDIA_RENDITION_LIST&&t!==i)vs(this,Ti,null==i?void 0:i.split(/\s+/).map(hS)),vn(this,Ta,Ts).call(this);else e===hm.MEDIA_HEIGHT&&t!==i&&vn(this,Ta,Ts).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vn(this,Tn,To))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vn(this,Tn,To))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return vr(this,Ti)}set mediaRenditionList(e){vs(this,Ti,e),vn(this,Ta,Ts).call(this)}get mediaRenditionSelected(){return cr(this,hm.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ca(this,hm.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return h7(this,hm.MEDIA_HEIGHT)}set mediaHeight(e){ce(this,hm.MEDIA_HEIGHT,e)}compareRendition(e,t){return this.constructor.compareRendition(e,t)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}formatRendition(e,t){return this.constructor.formatRendition(e,t)}showRenditionBitrate(e){return this.mediaRenditionList.some(t=>t!==e&&t.height===e.height&&t.bitrate!==e.bitrate)}});let vo=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1946 <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" /> 1947</svg>`;class vl extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_RENDITION_SELECTED,hm.MEDIA_RENDITION_UNAVAILABLE,hm.MEDIA_HEIGHT]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",hN("quality"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return cr(this,hm.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ca(this,hm.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return h7(this,hm.MEDIA_HEIGHT)}set mediaHeight(e){ce(this,hm.MEDIA_HEIGHT,e)}}vl.getSlotTemplateHTML=function(){return` 1948 <style> 1949 :host([aria-expanded="true"]) slot[name=tooltip] { 1950 display: none; 1951 } 1952 </style> 1953 <slot name="icon">${vo}</slot> 1954 `},vl.getTooltipContentHTML=function(){return hN("Quality")},hK.customElements.get("media-rendition-menu-button")||hK.customElements.define("media-rendition-menu-button",vl);var vd=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vu=(e,t,i)=>(vd(e,t,"read from private field"),i?i.call(e):t.get(e)),vh=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vc=(e,t,i,r)=>(vd(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vm=(e,t,i)=>(vd(e,t,"access private method"),i);class vf extends gb{constructor(){super(),vh(this,Td),vh(this,Th),vh(this,Tm),vh(this,Tp),vh(this,TE),vh(this,Tl,!1),vh(this,Tv,e=>
1954{let t=e.target,i=(null==t?void 0:t.nodeName)==="VIDEO",r=vm(this,Tp,Tg).call(this,t);(i||r)&&(vu(this,Tl)?vm(this,Th,Tc).call(this):vm(this,TE,Ty).call(this,e))}),vh(this,Tb,e=>{let t=e.target,i=this.contains(t),r=2===e.button,a=(null==t?void 0:t.nodeName)==="VIDEO",s=vm(this,Tp,Tg).call(this,t);i||r&&(a||s)||vm(this,Th,Tc).call(this)}),vh(this,TT,e=>{"Escape"===e.key&&vm(this,Th,Tc).call(this)}),vh(this,TA,e=>{var t,i;let r=e.target;if(null==(t=r.matches)?void 0:t.call(r,'button[invoke="copy"]')){let e=null==(i=r.closest("media-context-menu-item"))?void 0:i.querySelector('input[slot="copy"]');e&&navigator.clipboard.writeText(e.value)}vm(this,Th,Tc).call(this)}),this.setAttribute("noautohide",""),vm(this,Td,Tu).call(this)}connectedCallback(){super.connectedCallback(),hZ(this).addEventListener("contextmenu",vu(this,Tv)),this.addEventListener("click",vu(this,TA))}disconnectedCallback(){super.disconnectedCallback(),hZ(this).removeEventListener("contextmenu",vu(this,Tv)),this.removeEventListener("click",vu(this,TA)),document.removeEventListener("mousedown",vu(this,Tb)),document.removeEventListener("keydown",vu(this,TT))}}Tl=new WeakMap,Td=new WeakSet,Tu=function(){this.hidden=!vu(this,Tl)},Th=new WeakSet,Tc=function(){vc(this,Tl,!1),vm(this,Td,Tu).call(this)},Tm=new WeakSet,Tf=function(){document.querySelectorAll("media-context-menu").forEach(e=>{e!==this&&vm(e,Th,Tc).call(e)})},Tp=new WeakSet,Tg=function(e){return!!e&&(!!e.hasAttribute("slot")&&"media"===e.getAttribute("slot")||!!(e.nodeName.includes("-")&&e.tagName.includes("-"))&&(e.hasAttribute("src")||e.hasAttribute("poster")||e.hasAttribute("preload")||e.hasAttribute("playsinline")))},Tv=new WeakMap,TE=new WeakSet,Ty=function(e){e.preventDefault(),vm(this,Tm,Tf).call(this),vc(this,Tl,!0),this.style.position="fixed",this.style.left=`${e.clientX}px`,this.style.top=`${e.clientY}px`,vm(this,Td,Tu).call(this),document.addEventListener("mousedown",vu(this,Tb),{once:!0}),document.addEventListener("keydown",vu(this,TT),{once:!0})},Tb=new WeakMap,TT=new WeakMap,TA=new WeakMap,vf.getTemplateHTML=function(e){return` 1955 ${gb.getTemplateHTML(e)} 1956 <style> 1957 :host { 1958 --_menu-bg: rgb(20 20 30 / .8); 1959 background: var(--media-settings-menu-background, 1960 var(--media-menu-background, 1961 var(--media-control-background, 1962 var(--media-secondary-color, var(--_menu-bg))))); 1963 min-width: var(--media-settings-menu-min-width, 170px); 1964 border-radius: 2px; 1965 overflow: hidden; 1966 } 1967 </style> 1968 `},hK.customElements.get("media-context-menu")||hK.customElements.define("media-context-menu",vf);class vp extends gx{}vp.shadowRootOptions={mode:"open"},vp.getTemplateHTML=function(e){return` 1969 ${gx.getTemplateHTML.call(this,e)} 1970 <style> 1971 ::slotted(*) { 1972 color: var(--media-text-color, white); 1973 text-decoration: none; 1974 border: none; 1975 background: none; 1976 cursor: pointer; 1977 padding: 0; 1978 min-height: var(--media-control-height, 24px); 1979 } 1980 </style> 1981 `},hK.customElements.get("media-context-menu-item")||hK.customElements.define("media-context-menu-item",vp);var vg=e=>{throw TypeError(e)},vv=(e,t,i)=>t.has(e)||vg("Cannot "+i),vE=(e,t,i)=>(vv(e,t,"read from private field"),i?i.call(e):t.get(e)),vy=(e,t,i)=>t.has(e)?vg("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),vb=(e,t,i,r)=>(vv(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vT=(e,t,i)=>(vv(e,t,"access private method"),i),vA=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends vA{});var v_,vS,vk,vL,vR,vI,vw,vC,vD,vx,vM,vP,vO,vN,vU,vF,vB,v$,vH,vG,vV,vK,vW,vq,vj,vY,vz,vQ,vX,vZ,vJ,v0,v1,v2,v3,v4,v5,v8,v9,v6,v7,Ee,Et,Ei,Er,Ea,Es,En,Eo,El,Ed,Eu,Eh,Ec,Em,Ef,Ep,Eg,Ev,EE,Ey,Eb,ET,EA,E_,ES,Ek,EL,ER,EI,Ew,EC,ED,Ex,EM,EP,EO,EN,EU,EF,EB,E$,EH,EG,EV,EK,EW,Eq,Ej,EY,Ez,EQ,EX,EZ,EJ,E0,E1,E2,E3,E4,E5,E8,E9,E6,E7,ye,yt,yi,yr,ya,ys,yn,yo,yl,yd,yu,yh,yc,ym,yf,yp,yg,yv,yE,yy,yb,yT,yA,y_,yS,yk,yL,yR,yI,yw,yC,yD,yx,yM,yP,yO,yN,yU,yF,yB,y$,yH,yG,yV,yK,yW,yq,yj,yY,yz,yQ,yX,yZ,yJ,
1981y0,y1,y2,y3,y4,y5,y8,y9,y6,y7,be,bt,bi,br,ba,bs,bn,bo,bl,bd,bu,bh,bc,bm,bf,bp,bg,bv,bE,by,bb,bT,bA,b_,bS,bk,bL,bR,bI,bw,bC,bD,bx,bM,bP,bO,bN,bU,bF,bB,b$,bH,bG,bV,bK,bW,bq,bj,bY,bz,bQ,bX,bZ,bJ,b0,b1,b2,b3,b4,b5,b8,b9,b6,b7,Te,Tt,Ti,Tr,Ta,Ts,Tn,To,Tl,Td,Tu,Th,Tc,Tm,Tf,Tp,Tg,Tv,TE,Ty,Tb,TT,TA,T_,TS=class extends vA{},Tk=class{constructor(e,t={}){vy(this,T_),vb(this,T_,null==t?void 0:t.detail)}get detail(){return vE(this,T_)}initCustomEvent(){}};T_=new WeakMap;var TL={document:{createElement:function(e,t){return new TS}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(TS)},CustomEvent:Tk,EventTarget:vA,HTMLElement:TS,HTMLVideoElement:class extends vA{}},TR="u"<typeof window||void 0===globalThis.customElements,TI=TR?TL:globalThis,Tw=TR?TL.document:globalThis.document;function TC(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function TD(e){return e.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Tx(e){if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}function TM(e){let t=(function(e){let t={};for(let i in e)null!=e[i]&&(t[i]=e[i]);return new URLSearchParams(t)})(e).toString();return t?"?"+t:""}var TP,TO,TN,TU=(e,t)=>!!e&&!!t&&(!!e.contains(t)||TU(e,t.getRootNode().host)),TF="mux.com",TB=(()=>{try{return"3.9.1"}catch{}return"UNKNOWN"})(),T$=e=>{if(e){if([lm,lc].includes(e))return e;if(null!=e&&e.includes("live"))return lm}},TH={crossorigin:"crossOrigin",playsinline:"playsInline"},TG=class{constructor(e,t){vy(this,TP),vy(this,TO),vy(this,TN,[]),vb(this,TP,e),vb(this,TO,t)}[Symbol.iterator](){return vE(this,TN).values()}get length(){return vE(this,TN).length}get value(){var e;return null!=(e=vE(this,TN).join(" "))?e:""}set value(e){var t;e!==this.value&&(vb(this,TN,[]),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return vE(this,TN)[e]}values(){return vE(this,TN).values()}keys(){return vE(this,TN).keys()}forEach(e){vE(this,TN).forEach(e)}add(...e){var t,i;e.forEach(e=>{this.contains(e)||vE(this,TN).push(e)}),(""!==this.value||null!=(t=vE(this,TP))&&t.hasAttribute(`${vE(this,TO)}`))&&null!=(i=vE(this,TP))&&i.setAttribute(`${vE(this,TO)}`,`${this.value}`)}remove(...e){var t;e.forEach(e=>{vE(this,TN).splice(vE(this,TN).indexOf(e),1)}),null==(t=vE(this,TP))||t.setAttribute(`${vE(this,TO)}`,`${this.value}`)}contains(e){return vE(this,TN).includes(e)}toggle(e,t){return void 0!==t?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};TP=new WeakMap,TO=new WeakMap,TN=new WeakMap;var TV=`[mux-player ${TB}]`;function TK(...e){console.warn(TV,...e)}function TW(...e){console.error(TV,...e)}function Tq(e){var t;let i=null!=(t=e.message)?t:"";e.context&&(i+=` ${e.context}`),e.file&&(i+=` ${lC("Read more: ")} 1982https://github.com/muxinc/elements/blob/main/errors/${e.file}`),TK(i)}var Tj={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},TY={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},Tz=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),TQ=[...Object.values(Tj).filter(e=>Tj.PLAYSINLINE!==e),...Object.values(TY)];function TX(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}var TZ=class extends TI.HTMLElement{static get observedAttributes(){return TQ}constructor(){super()}attributeChangedCallback(e,t,i){var r,a;switch(e){case TY.MUTED:this.media&&(this.media.muted=null!=i,this.media.defaultMuted=null!=i);return;case TY.VOLUME:{let e=null!=(r=Tx(i))?r:1;this.media&&(this.media.volume=e);return}case TY.PLAYBACKRATE:{let e=null!=(a=Tx(i))?a:1;this.media&&(this.media.playbackRate=e,this.media.defaultPlaybackRate=e);return}}}play(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.play())?t:Promise.reject()}pause(){var e;null==(e=this.media)||e.pause()}load(){var e;null==(e=this.media)||e.load()}get media(){var e;return null==(e=this.shadowRoot)?void 0:e.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 e,t;return null==(t=null==(e=this.media)?void 0:e.paused)||t}get duration(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.duration)?t:NaN}
1982get ended(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.ended)&&t}get buffered(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.buffered)?t:Tz}get seekable(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.seekable)?t:Tz}get readyState(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.readyState)?t:0}get videoWidth(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoWidth)?t:0}get videoHeight(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoHeight)?t:0}get currentSrc(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentSrc)?t:""}get currentTime(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentTime)?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.volume)?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.playbackRate)?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return null!=(e=Tx(this.getAttribute(TY.PLAYBACKRATE)))?e:1}set defaultPlaybackRate(e){null!=e?this.setAttribute(TY.PLAYBACKRATE,`${e}`):this.removeAttribute(TY.PLAYBACKRATE)}get crossOrigin(){return TX(this,Tj.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tj.CROSSORIGIN,`${e}`)}get autoplay(){return null!=TX(this,Tj.AUTOPLAY)}set autoplay(e){e?this.setAttribute(Tj.AUTOPLAY,"string"==typeof e?e:""):this.removeAttribute(Tj.AUTOPLAY)}get loop(){return null!=TX(this,Tj.LOOP)}set loop(e){e?this.setAttribute(Tj.LOOP,""):this.removeAttribute(Tj.LOOP)}get muted(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.muted)&&t}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return null!=TX(this,Tj.MUTED)}set defaultMuted(e){e?this.setAttribute(Tj.MUTED,""):this.removeAttribute(Tj.MUTED)}get playsInline(){return null!=TX(this,Tj.PLAYSINLINE)}set playsInline(e){TW("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(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tj.PRELOAD,e):this.removeAttribute(Tj.PRELOAD)}},TJ=`:host { 1983 --media-control-display: var(--controls); 1984 --media-loading-indicator-display: var(--loading-indicator); 1985 --media-dialog-display: var(--dialog); 1986 --media-play-button-display: var(--play-button); 1987 --media-live-button-display: var(--live-button); 1988 --media-seek-backward-button-display: var(--seek-backward-button); 1989 --media-seek-forward-button-display: var(--seek-forward-button); 1990 --media-mute-button-display: var(--mute-button); 1991 --media-captions-button-display: var(--captions-button); 1992 --media-captions-menu-button-display: var(--captions-menu-button, var(--media-captions-button-display)); 1993 --media-rendition-menu-button-display: var(--rendition-menu-button); 1994 --media-audio-track-menu-button-display: var(--audio-track-menu-button); 1995 --media-airplay-button-display: var(--airplay-button); 1996 --media-pip-button-display: var(--pip-button); 1997 --media-fullscreen-button-display: var(--fullscreen-button); 1998 --media-cast-button-display: var(--cast-button, var(--_cast-button-drm-display)); 1999 --media-playback-rate-button-display: var(--playback-rate-button); 2000 --media-playback-rate-menu-button-display: var(--playback-rate-menu-button); 2001 --media-volume-range-display: var(--volume-range); 2002 --media-time-range-display: var(--time-range); 2003 --media-time-display-display: var(--time-display); 2004 --media-duration-display-display: var(--duration-display); 2005 --media-title-display-display: var(--title-display); 2006 2007 display: inline-block; 2008 line-height: 0; 2009 width: 100%; 2010} 2011 2012a { 2013 color: #fff; 2014 font-size: 0.9em; 2015 text-decoration: underline; 2016} 2017 2018media-theme { 2019 display: inline-block; 2020 line-height: 0; 2021 width: 100%; 2022 height: 100%; 2023 direction: ltr; 2024} 2025 2026media-poster-image { 2027 display: inline-block; 2028 line-height: 0; 2029 width: 100%; 2030 height: 100%; 2031} 2032 2033media-poster-image:not([src]):not([placeholdersrc]) { 2034 display: none; 2035} 2036 2037::part(top), 2038[part~='top'] { 2039 --media-control-display: var(--controls, var(--top-controls)); 2040 --media-play-button-display: var(--play-button, var(--top-play-button)); 2041 --media-live-button-display: var(--live-button, var(--top-live-button)); 2042 --media-seek-backward-button-display: var(--seek-backward-button, var(--top-seek-backward-button)); 2043 --media-seek-forward-button-display: var(--seek-forward-button, var(--top-seek-forward-button)); 2044 --media-mute-button-display: var(--mute-button, var(--top-mute-button)); 2045 --media-captions-button-display: var(--captions-button, var(--top-captions-button)); 2046 --media-captions-menu-button-display: var( 2047 --captions-menu-button, 2048 var(--media-captions-button-display, var(--top-captions-menu-button)) 2049 ); 2050 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--top-rendition-menu-button)); 2051 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--top-audio-track-menu-button)); 2052 --media-airplay-button-display: var(--airplay-button, var(--top-airplay-button)); 2053 --media-pip-button-display: var(--pip-button, var(--top-pip-button)); 2054 --media-fullscreen-button-display: var(--fullscreen-button, var(--top-fullscreen-button)); 2055 --media-cast-button-display: var(--cast-button, var(--top-cast-button, var(--_cast-button-drm-display))); 2056 --media-playback-rate-button-display: var(--playback-rate-button, var(--top-playback-rate-button)); 2057 --media-playback-rate-menu-button-display: var( 2058 --captions-menu-button, 2059 var(--media-playback-rate-button-display, var(--top-playback-rate-menu-button)) 2060 ); 2061 --media-volume-range-display: var(--volume-range, var(--top-volume-range)); 2062 --media-time-range-display: var(--time-range, var(--top-time-range)); 2063 --media-time-display-display: var(--time-display, var(--top-time-display)); 2064 --media-duration-display-display: var(--duration-display, var(--top-duration-display)); 2065 --media-title-display-display: var(--title-display, var(--top-title-display)); 2066} 2067 2068::part(center), 2069[part~='center'] {
2070 --media-control-display: var(--controls, var(--center-controls)); 2071 --media-play-button-display: var(--play-button, var(--center-play-button)); 2072 --media-live-button-display: var(--live-button, var(--center-live-button)); 2073 --media-seek-backward-button-display: var(--seek-backward-button, var(--center-seek-backward-button)); 2074 --media-seek-forward-button-display: var(--seek-forward-button, var(--center-seek-forward-button)); 2075 --media-mute-button-display: var(--mute-button, var(--center-mute-button)); 2076 --media-captions-button-display: var(--captions-button, var(--center-captions-button)); 2077 --media-captions-menu-button-display: var( 2078 --captions-menu-button, 2079 var(--media-captions-button-display, var(--center-captions-menu-button)) 2080 ); 2081 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--center-rendition-menu-button)); 2082 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--center-audio-track-menu-button)); 2083 --media-airplay-button-display: var(--airplay-button, var(--center-airplay-button)); 2084 --media-pip-button-display: var(--pip-button, var(--center-pip-button)); 2085 --media-fullscreen-button-display: var(--fullscreen-button, var(--center-fullscreen-button)); 2086 --media-cast-button-display: var(--cast-button, var(--center-cast-button, var(--_cast-button-drm-display))); 2087 --media-playback-rate-button-display: var(--playback-rate-button, var(--center-playback-rate-button)); 2088 --media-playback-rate-menu-button-display: var( 2089 --playback-rate-menu-button, 2090 var(--media-playback-rate-button-display, var(--center-playback-rate-menu-button)) 2091 ); 2092 --media-volume-range-display: var(--volume-range, var(--center-volume-range)); 2093 --media-time-range-display: var(--time-range, var(--center-time-range)); 2094 --media-time-display-display: var(--time-display, var(--center-time-display)); 2095 --media-duration-display-display: var(--duration-display, var(--center-duration-display)); 2096} 2097 2098::part(bottom), 2099[part~='bottom'] { 2100 --media-control-display: var(--controls, var(--bottom-controls)); 2101 --media-play-button-display: var(--play-button, var(--bottom-play-button)); 2102 --media-live-button-display: var(--live-button, var(--bottom-live-button)); 2103 --media-seek-backward-button-display: var(--seek-backward-button, var(--bottom-seek-backward-button)); 2104 --media-seek-forward-button-display: var(--seek-forward-button, var(--bottom-seek-forward-button)); 2105 --media-mute-button-display: var(--mute-button, var(--bottom-mute-button)); 2106 --media-captions-button-display: var(--captions-button, var(--bottom-captions-button)); 2107 --media-captions-menu-button-display: var( 2108 --captions-menu-button, 2109 var(--media-captions-button-display, var(--bottom-captions-menu-button)) 2110 ); 2111 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--bottom-rendition-menu-button)); 2112 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--bottom-audio-track-menu-button)); 2113 --media-airplay-button-display: var(--airplay-button, var(--bottom-airplay-button)); 2114 --media-pip-button-display: var(--pip-button, var(--bottom-pip-button)); 2115 --media-fullscreen-button-display: var(--fullscreen-button, var(--bottom-fullscreen-button)); 2116 --media-cast-button-display: var(--cast-button, var(--bottom-cast-button, var(--_cast-button-drm-display))); 2117 --media-playback-rate-button-display: var(--playback-rate-button, var(--bottom-playback-rate-button)); 2118 --media-playback-rate-menu-button-display: var( 2119 --playback-rate-menu-button, 2120 var(--media-playback-rate-button-display, var(--bottom-playback-rate-menu-button)) 2121 ); 2122 --media-volume-range-display: var(--volume-range, var(--bottom-volume-range)); 2123 --media-time-range-display: var(--time-range, var(--bottom-time-range)); 2124 --media-time-display-display: var(--time-display, var(--bottom-time-display)); 2125 --media-duration-display-display: var(--duration-display, var(--bottom-duration-display)); 2126 --media-title-display-display: var(--title-display, var(--bottom-title-display)); 2127} 2128 2129:host([no-tooltips]) { 2130 --media-tooltip-display: none; 2131} 2132`,T0=new WeakMap,T1=class e{constructor(e,t){this.element=e,this.type=t,this.element.addEventListener(this.type,this);let i=T0.get(this.element);i&&i.set(this.type,this)}set(e){if("function"==typeof e)this.handleEvent=e.bind(this.element);else if("object"==typeof e&&"function"==typeof e.handleEvent)this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let e=T0.get(this.element);
2132e&&e.delete(this.type)}}static for(t){T0.has(t.element)||T0.set(t.element,new Map);let i=t.attributeName.slice(2),r=T0.get(t.element);return r&&r.has(i)?r.get(i):new e(t.element,i)}},T2=new Map,T3=new WeakMap,T4=new WeakMap,T5=class{constructor(e,t,i){this.strings=e,this.values=t,this.processor=i,this.stringsKey=this.strings.join("\x01")}get template(){if(T2.has(this.stringsKey))return T2.get(this.stringsKey);{let e=Tw.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((e,i,r)=>e+i+(r<t?`{{ ${r} }}`:""),""),T2.set(this.stringsKey,e),e}}renderInto(e){var t;let i=this.template;if(T3.get(e)!==i){T3.set(e,i);let t=new p$(i,this.values,this.processor);T4.set(e,t),e instanceof pY?e.replace(...t.children):e.appendChild(t);return}let r=T4.get(e);null==(t=null==r?void 0:r.update)||t.call(r,this.values)}},T8={processCallback(e,t,i){var r;if(i)for(let[e,a]of t)e in i&&function(e,t){(function(e,t){if(e instanceof pj&&t instanceof Element){let i=e.element;return i[e.attributeName]!==t&&(e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),i[e.attributeName]=t),!0}return!1})(e,t)||function(e,t){if("boolean"==typeof t&&e instanceof pj){let i=e.attributeNamespace;return t!==e.element.hasAttributeNS(i,e.attributeName)&&(e.booleanValue=t),!0}return!1}(e,t)||e instanceof pj&&e.attributeName.startsWith("on")&&(T1.for(e).set(t),e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),1)||!1===t&&e instanceof pY&&(e.replace(""),1)||t instanceof T5&&e instanceof pY&&(t.renderInto(e),1)||t instanceof DocumentFragment&&e instanceof pY&&(t.childNodes.length&&e.replace(...t.childNodes),1)||function(e,t){if(e instanceof pj){let i=e.attributeNamespace,r=e.element.getAttributeNS(i,e.attributeName);return String(t)!==r&&(e.value=String(t))}e.value=String(t)}(e,t)}(a,null!=(r=i[e])?r:"")}};function T9(e,...t){return new T5(e,t,T8)}var T6=Object.values({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"}).join(", "),T7=e=>e.charAt(0).toUpperCase()+e.slice(1),Ae=(e,t)=>
2132{let i=(e=>{if(e.muxCode){if(2403210===e.muxCode)return"403-expired-token.md";if(2412202===e.muxCode)return"403-malformatted-token.md";if([2403222,2403221].includes(e.muxCode))return"403-incorrect-aud-value.md";if(2403232===e.muxCode)return"403-playback-id-mismatch.md";if(2403201===e.muxCode)return"missing-signed-tokens.md";if(2404e3===e.muxCode)return"404-not-found.md";if(2412e3===e.muxCode)return"412-not-playable.md"}if(e.code){if(e.code===ld.MEDIA_ERR_NETWORK)return"";if(e.code===ld.MEDIA_ERR_DECODE)return"media-decode-error.md";if(e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""})(e);return{message:e.message,context:e.context,file:i}},At
vendor: 8,830 bytes, lines 2132-2432
2132=`<template id="media-theme-gerwig"> 2133 <style> 2134 @keyframes pre-play-hide { 2135 0% { 2136 transform: scale(1); 2137 opacity: 1; 2138 } 2139 2140 30% { 2141 transform: scale(0.7); 2142 } 2143 2144 100% { 2145 transform: scale(1.5); 2146 opacity: 0; 2147 } 2148 } 2149 2150 :host { 2151 --_primary-color: var(--media-primary-color, #fff); 2152 --_secondary-color: var(--media-secondary-color, transparent); 2153 --_accent-color: var(--media-accent-color, #fa50b5); 2154 --_text-color: var(--media-text-color, #000); 2155 2156 --media-icon-color: var(--_primary-color); 2157 --media-control-background: var(--_secondary-color); 2158 --media-control-hover-background: var(--_accent-color); 2159 --media-time-buffered-color: rgba(255, 255, 255, 0.4); 2160 --media-preview-time-text-shadow: none; 2161 --media-control-height: 14px; 2162 --media-control-padding: 6px; 2163 --media-tooltip-container-margin: 6px; 2164 --media-tooltip-distance: 18px; 2165 2166 color: var(--_primary-color); 2167 display: inline-block; 2168 width: 100%; 2169 height: 100%; 2170 } 2171 2172 :host([audio]) { 2173 --_secondary-color: var(--media-secondary-color, black); 2174 --media-preview-time-text-shadow: none; 2175 } 2176 2177 :host([audio]) ::slotted([slot='media']) { 2178 height: 0px; 2179 } 2180 2181 :host([audio]) media-loading-indicator { 2182 display: none; 2183 } 2184 2185 :host([audio]) media-controller { 2186 background: transparent; 2187 } 2188 2189 :host([audio]) media-controller::part(vertical-layer) { 2190 background: transparent; 2191 } 2192 2193 :host([audio]) media-control-bar { 2194 width: 100%; 2195 background-color: var(--media-control-background); 2196 } 2197 2198 /* 2199 * 0.433s is the transition duration for VTT Regions. 2200 * Borrowed here, so the captions don't move too fast. 2201 */ 2202 media-controller { 2203 --media-webkit-text-track-transform: translateY(0) scale(0.98); 2204 --media-webkit-text-track-transition: transform 0.433s ease-out 0.3s; 2205 } 2206 media-controller:is([mediapaused], :not([userinactive])) { 2207 --media-webkit-text-track-transform: translateY(-50px) scale(0.98); 2208 --media-webkit-text-track-transition: transform 0.15s ease; 2209 } 2210 2211 /* 2212 * CSS specific to iOS devices. 2213 * See: https://stackoverflow.com/questions/30102792/css-media-query-to-target-only-ios-devices/60220757#60220757 2214 */ 2215 @supports (-webkit-touch-callout: none) { 2216 /* Disable subtitle adjusting for iOS Safari */ 2217 media-controller[mediaisfullscreen] { 2218 --media-webkit-text-track-transform: unset; 2219 --media-webkit-text-track-transition: unset; 2220 } 2221 } 2222 2223 media-time-range { 2224 --media-box-padding-left: 6px; 2225 --media-box-padding-right: 6px; 2226 --media-range-bar-color: var(--_accent-color); 2227 --media-time-range-buffered-color: var(--_primary-color); 2228 --media-range-track-color: transparent; 2229 --media-range-track-background: rgba(255, 255, 255, 0.4); 2230 --media-range-thumb-background: radial-gradient( 2231 circle, 2232 #000 0%, 2233 #000 25%, 2234 var(--_accent-color) 25%, 2235 var(--_accent-color) 2236 ); 2237 --media-range-thumb-width: 12px; 2238 --media-range-thumb-height: 12px; 2239 --media-range-thumb-transform: scale(0); 2240 --media-range-thumb-transition: transform 0.3s; 2241 --media-range-thumb-opacity: 1; 2242 --media-preview-background: var(--_primary-color); 2243 --media-box-arrow-background: var(--_primary-color); 2244 --media-preview-thumbnail-border: 5px solid var(--_primary-color); 2245 --media-preview-border-radius: 5px; 2246 --media-text-color: var(--_text-color); 2247 --media-control-hover-background: transparent; 2248 --media-preview-chapter-text-shadow: none; 2249 color: var(--_accent-color); 2250 padding: 0 6px; 2251 } 2252 2253 :host([audio]) media-time-range { 2254 --media-preview-time-padding: 1.5px 6px; 2255 --media-preview-box-margin: 0 0 -5px; 2256 } 2257 2258 media-time-range:hover { 2259 --media-range-thumb-transform: scale(1); 2260 } 2261 2262 media-preview-thumbnail { 2263 border-bottom-width: 0; 2264 } 2265 2266 [part~='menu'] { 2267 border-radius: 2px; 2268 border: 1px solid rgba(0, 0, 0, 0.1); 2269 bottom: 50px; 2270 padding: 2.5px 10px; 2271 } 2272 2273 [part~='menu']::part(indicator) { 2274 fill: var(--_accent-color); 2275 } 2276 2277 [part~='menu']::part(menu-item) { 2278 box-sizing: border-box; 2279 display: flex; 2280 align-items: center; 2281 padding: 6px 10px; 2282 min-height: 34px; 2283 } 2284 2285 [part~='menu']::part(checked) { 2286 font-weight: 700; 2287 } 2288 2289 media-captions-menu, 2290 media-rendition-menu, 2291 media-audio-track-menu, 2292 media-playback-rate-menu { 2293 position: absolute; /* ensure they don't take up space in DOM on load */ 2294 --media-menu-background: var(--_primary-color); 2295 --media-menu-item-checked-background: transparent; 2296 --media-text-color: var(--_text-color); 2297 --media-menu-item-hover-background: transparent; 2298 --media-menu-item-hover-outline: var(--_accent-color) solid 1px; 2299 } 2300 2301 media-rendition-menu { 2302 min-width: 140px; 2303 } 2304 2305 /* The icon is a circle so make it 16px high instead of 14px for more balance. */ 2306 media-audio-track-menu-button { 2307 --media-control-padding: 5px; 2308 --media-control-height: 16px; 2309 } 2310 2311 media-playback-rate-menu-button { 2312 --media-control-padding: 6px 3px; 2313 min-width: 4.4ch; 2314 } 2315 2316 media-playback-rate-menu { 2317 --media-menu-flex-direction: row; 2318 --media-menu-item-checked-background: var(--_accent-color); 2319 --media-menu-item-checked-indicator-display: none; 2320 margin-right: 6px; 2321 padding: 0; 2322 --media-menu-gap: 0.25em; 2323 } 2324 2325 media-playback-rate-menu[part~='menu']::part(menu-item) { 2326 padding: 6px 6px 6px 8px; 2327 } 2328 2329 media-playback-rate-menu[part~='menu']::part(checked) { 2330 color: #fff; 2331 } 2332 2333 :host(:not([audio])) media-time-range { 2334 /* Adding px is required here for calc() */ 2335 --media-range-padding: 0px; 2336 background: transparent; 2337 z-index: 10; 2338 height: 10px; 2339 bottom: -3px; 2340 width: 100%; 2341 } 2342 2343 media-control-bar :is([role='button'], [role='switch'], button) { 2344 line-height: 0; 2345 } 2346 2347 media-control-bar :is([part*='button'], [part*='range'], [part*='display']) { 2348 border-radius: 3px; 2349 } 2350 2351 .spacer { 2352 flex-grow: 1; 2353 background-color: var(--media-control-background, rgba(20, 20, 30, 0.7)); 2354 } 2355 2356 media-control-bar[slot~='top-chrome'] { 2357 min-height: 42px; 2358 pointer-events: none; 2359 } 2360 2361 media-control-bar { 2362 --gradient-steps: 2363 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%, 2364 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%, 2365 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%, 2366 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%; 2367 } 2368 2369 :host([title]) media-control-bar[slot='top-chrome']::before, 2370 :host([videotitle]) media-control-bar[slot='top-chrome']::before { 2371 content: ''; 2372 position: absolute; 2373 width: 100%; 2374 padding-bottom: min(100px, 25%); 2375 background: linear-gradient(to top, var(--gradient-steps)); 2376 opacity: 0.8; 2377 pointer-events: none; 2378 } 2379 2380 :host(:not([audio])) media-control-bar[part~='bottom']::before { 2381 content: ''; 2382 position: absolute; 2383 width: 100%; 2384 bottom: 0; 2385 left: 0; 2386 padding-bottom: min(100px, 25%); 2387 background: linear-gradient(to bottom, var(--gradient-steps)); 2388 opacity: 0.8; 2389 z-index: 1; 2390 pointer-events: none; 2391 } 2392 2393 media-control-bar[part~='bottom'] > * { 2394 z-index: 20; 2395 } 2396 2397 media-control-bar[part~='bottom'] { 2398 padding: 6px 6px; 2399 } 2400 2401 media-control-bar[slot~='top-chrome'] > * { 2402 --media-control-background: transparent; 2403 --media-control-hover-background: transparent; 2404 position: relative; 2405 } 2406 2407 media-controller::part(vertical-layer) { 2408 transition: background-color 1s; 2409 } 2410 2411 media-controller:is([mediapaused], :not([userinactive]))::part(vertical-layer) { 2412 background-color: var(--controls-backdrop-color, var(--controls, transparent)); 2413 transition: background-color 0.25s; 2414 } 2415 2416 .center-controls { 2417 --media-button-icon-width: 100%; 2418 --media-button-icon-height: auto; 2419 --media-tooltip-display: none; 2420 pointer-events: none; 2421 width: 100%; 2422 display: flex; 2423 flex-flow: row; 2424 align-items: center; 2425 justify-content: center; 2426 paint-order: stroke; 2427 stroke: rgba(102, 102, 102, 1); 2428 stroke-width: 0.3px; 2429 text-shadow: 2430 0 0 2px rgb(0 0 0 / 0.25), 2431 0 0 6px rgb(0 0 0 / 0.25); 2432
2432} 2433 2434 .center-controls media-play-button { 2435 --media-control-background: transparent; 2436 --media-control-hover-background: transparent; 2437 --media-control-padding: 0; 2438 width: 40px; 2439 filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25))
vendor: 38,939 bytes, lines 2439-3264
2439; 2440 } 2441 2442 [breakpointsm] .center-controls media-play-button { 2443 width: 90px; 2444 height: 90px; 2445 border-radius: 50%; 2446 transition: background 0.4s; 2447 padding: 24px; 2448 --media-control-background: #000; 2449 --media-control-hover-background: var(--_accent-color); 2450 } 2451 2452 .center-controls media-seek-backward-button, 2453 .center-controls media-seek-forward-button { 2454 --media-control-background: transparent; 2455 --media-control-hover-background: transparent; 2456 padding: 0; 2457 margin: 0 20px; 2458 width: max(33px, min(8%, 40px)); 2459 text-shadow: 2460 0 0 2px rgb(0 0 0 / 0.25), 2461 0 0 6px rgb(0 0 0 / 0.25); 2462 } 2463 2464 [breakpointsm]:not([audio]) .center-controls.pre-playback { 2465 display: grid; 2466 align-items: initial; 2467 justify-content: initial; 2468 height: 100%; 2469 overflow: hidden; 2470 } 2471 2472 [breakpointsm]:not([audio]) .center-controls.pre-playback media-play-button { 2473 place-self: var(--_pre-playback-place, center); 2474 grid-area: 1 / 1; 2475 margin: 16px; 2476 } 2477 2478 /* Show and hide controls or pre-playback state */ 2479 2480 [breakpointsm]:is([mediahasplayed], :not([mediapaused])):not([audio]) 2481 .center-controls.pre-playback 2482 media-play-button { 2483 /* Using \`forwards\` would lead to a laggy UI after the animation got in the end state */ 2484 animation: 0.3s linear pre-play-hide; 2485 opacity: 0; 2486 pointer-events: none; 2487 } 2488 2489 .autoplay-unmute { 2490 --media-control-hover-background: transparent; 2491 width: 100%; 2492 display: flex; 2493 align-items: center; 2494 justify-content: center; 2495 filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25)); 2496 } 2497 2498 .autoplay-unmute-btn { 2499 --media-control-height: 16px; 2500 border-radius: 8px; 2501 background: #000; 2502 color: var(--_primary-color); 2503 display: flex; 2504 align-items: center; 2505 padding: 8px 16px; 2506 font-size: 18px; 2507 font-weight: 500; 2508 cursor: pointer; 2509 } 2510 2511 .autoplay-unmute-btn:hover { 2512 background: var(--_accent-color); 2513 } 2514 2515 [breakpointsm] .autoplay-unmute-btn { 2516 --media-control-height: 30px; 2517 padding: 14px 24px; 2518 font-size: 26px; 2519 } 2520 2521 .autoplay-unmute-btn svg { 2522 margin: 0 6px 0 0; 2523 } 2524 2525 [breakpointsm] .autoplay-unmute-btn svg { 2526 margin: 0 10px 0 0; 2527 } 2528 2529 media-controller:not([audio]):not([mediahasplayed]) *:is(media-control-bar, media-time-range) { 2530 display: none; 2531 } 2532 2533 media-error-dialog:not([mediaerrorcode]) { 2534 opacity: 0; 2535 } 2536 2537 media-loading-indicator { 2538 --media-loading-icon-width: 100%; 2539 --media-button-icon-height: auto; 2540 display: var(--media-control-display, var(--media-loading-indicator-display, flex)); 2541 pointer-events: none; 2542 position: absolute; 2543 width: min(15%, 150px); 2544 flex-flow: row; 2545 align-items: center; 2546 justify-content: center; 2547 } 2548 2549 /* Intentionally don't target the div for transition but the children 2550 of the div. Prevents messing with media-chrome's autohide feature. */ 2551 media-loading-indicator + div * { 2552 transition: opacity 0.15s; 2553 opacity: 1; 2554 } 2555 2556 media-loading-indicator[medialoading]:not([mediapaused]) ~ div > * { 2557 opacity: 0; 2558 transition-delay: 400ms; 2559 } 2560 2561 media-volume-range { 2562 width: min(100%, 100px); 2563 --media-range-padding-left: 10px; 2564 --media-range-padding-right: 10px; 2565 --media-range-thumb-width: 12px; 2566 --media-range-thumb-height: 12px; 2567 --media-range-thumb-background: radial-gradient( 2568 circle, 2569 #000 0%, 2570 #000 25%, 2571 var(--_primary-color) 25%, 2572 var(--_primary-color) 2573 ); 2574 --media-control-hover-background: none; 2575 } 2576 2577 media-time-display { 2578 white-space: nowrap; 2579 } 2580 2581 /* Generic style for explicitly disabled controls */ 2582 media-control-bar[part~='bottom'] [disabled], 2583 media-control-bar[part~='bottom'] [aria-disabled='true'] { 2584 opacity: 60%; 2585 cursor: not-allowed; 2586 } 2587 2588 media-text-display { 2589 --media-font-size: 16px; 2590 --media-control-padding: 14px; 2591 font-weight: 500; 2592 } 2593 2594 media-play-button.animated *:is(g, path) { 2595 transition: all 0.3s; 2596 } 2597 2598 media-play-button.animated[mediapaused] .pause-icon-pt1 { 2599 opacity: 0; 2600 } 2601 2602 media-play-button.animated[mediapaused] .pause-icon-pt2 { 2603 transform-origin: center center; 2604 transform: scaleY(0); 2605 } 2606 2607 media-play-button.animated[mediapaused] .play-icon { 2608 clip-path: inset(0 0 0 0); 2609 } 2610 2611 media-play-button.animated:not([mediapaused]) .play-icon { 2612 clip-path: inset(0 0 0 100%); 2613 } 2614 2615 media-seek-forward-button, 2616 media-seek-backward-button { 2617 --media-font-weight: 400; 2618 } 2619 2620 .mute-icon { 2621 display: inline-block; 2622 } 2623 2624 .mute-icon :is(path, g) { 2625 transition: opacity 0.5s; 2626 } 2627 2628 .muted { 2629 opacity: 0; 2630 } 2631 2632 media-mute-button[mediavolumelevel='low'] :is(.volume-medium, .volume-high), 2633 media-mute-button[mediavolumelevel='medium'] :is(.volume-high) { 2634 opacity: 0; 2635 } 2636 2637 media-mute-button[mediavolumelevel='off'] .unmuted { 2638 opacity: 0; 2639 } 2640 2641 media-mute-button[mediavolumelevel='off'] .muted { 2642 opacity: 1; 2643 } 2644 2645 /** 2646 * Our defaults for these buttons are to hide them at small sizes 2647 * users can override this with CSS 2648 */ 2649 media-controller:not([breakpointsm]):not([audio]) { 2650 --bottom-play-button: none; 2651 --bottom-seek-backward-button: none; 2652 --bottom-seek-forward-button: none; 2653 --bottom-time-display: none; 2654 --bottom-playback-rate-menu-button: none; 2655 --bottom-pip-button: none; 2656 } 2657 2658 [part='mux-badge'] { 2659 position: absolute; 2660 bottom: 10px; 2661 right: 10px; 2662 z-index: 2; 2663 opacity: 0.6; 2664 transition: 2665 opacity 0.2s ease-in-out, 2666 bottom 0.2s ease-in-out; 2667 } 2668 2669 [part='mux-badge']:hover { 2670 opacity: 1; 2671 } 2672 2673 [part='mux-badge'] a { 2674 font-size: 14px; 2675 font-family: var(--_font-family); 2676 color: var(--_primary-color); 2677 text-decoration: none; 2678 display: flex; 2679 align-items: center; 2680 gap: 5px; 2681 } 2682 2683 [part='mux-badge'] .mux-badge-text { 2684 transition: opacity 0.5s ease-in-out; 2685 opacity: 0; 2686 } 2687 2688 [part='mux-badge'] .mux-badge-logo { 2689 width: 40px; 2690 height: auto; 2691 display: inline-block; 2692 } 2693 2694 [part='mux-badge'] .mux-badge-logo svg { 2695 width: 100%; 2696 height: 100%; 2697 fill: white; 2698 } 2699 2700 media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'], 2701 media-controller:not([userinactive]) [part='mux-badge'], 2702 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] { 2703 transition: bottom 0.1s ease-in-out; 2704 } 2705 2706 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] { 2707 transition: bottom 0.2s ease-in-out 0.62s; 2708 } 2709 2710 media-controller:not([userinactive]) [part='mux-badge'] .mux-badge-text, 2711 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] .mux-badge-text { 2712 opacity: 1; 2713 } 2714 2715 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] .mux-badge-text { 2716 opacity: 0; 2717 } 2718 2719 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] { 2720 bottom: 10px; 2721 } 2722 2723 media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'] { 2724 bottom: 10px; 2725 } 2726 2727 media-controller:not([userinactive])[mediahasplayed] [part='mux-badge'], 2728 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] { 2729 bottom: calc(28px + var(--media-control-height, 0px) + var(--media-control-padding, 0px) * 2); 2730 } 2731 </style> 2732 2733 <template partial="TitleDisplay"> 2734 <template if="videotitle"> 2735 <template if="videotitle != true"> 2736 <media-text-display part="top title display" class="title-display">{{videotitle}}</media-text-display> 2737 </template> 2738 </template> 2739 <template if="!videotitle"> 2740 <template if="title"> 2741 <media-text-display part="top title display" class="title-display">{{title}}</media-text-display> 2742 </template> 2743 </template> 2744 </template> 2745 2746 <template partial="PlayButton"> 2747 <media-play-button 2748 part="{{section ?? 'bottom'}} play button" 2749 disabled="{{disabled}}" 2750 aria-disabled="{{disabled}}" 2751 class="animated" 2752 > 2753 <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon"> 2754 <g class="play-icon"> 2755 <path 2756 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" 2757 /> 2758 </g> 2759 <g class="pause-icon"> 2760 <path 2761 class="pause-icon-pt1" 2762 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" 2763 /> 2764 <path 2765 class="pause-icon-pt2" 2766 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" 2767 /> 2768 </g> 2769 </svg> 2770 </media-play-button> 2771 </template> 2772 2773 <template partial="PrePlayButton"> 2774 <media-play-button 2775 part="{{section ?? 'center'}} play button pre-play" 2776 disabled="{{disabled}}" 2777 aria-disabled="{{disabled}}" 2778 > 2779 <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon" style="transform: translate(3px, 0)"> 2780 <path 2781 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" 2782 /> 2783 </svg> 2784 </media-play-button> 2785 </template> 2786 2787 <template partial="SeekBackwardButton"> 2788 <media-seek-backward-button 2789 seekoffset="{{backwardseekoffset}}" 2790 part="{{section ?? 'bottom'}} seek-backward button" 2791 disabled="{{disabled}}" 2792 aria-disabled="{{disabled}}" 2793 > 2794 <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon"> 2795 <path 2796 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" 2797 /> 2798 <text transform="translate(6 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'"> 2799 {{backwardseekoffset}} 2800 </text> 2801 </svg> 2802 </media-seek-backward-button> 2803 </template> 2804 2805 <template partial="SeekForwardButton"> 2806 <media-seek-forward-button 2807 seekoffset="{{forwardseekoffset}}" 2808 part="{{section ?? 'bottom'}} seek-forward button" 2809 disabled="{{disabled}}" 2810 aria-disabled="{{disabled}}" 2811 > 2812 <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon"> 2813 <g> 2814 <text transform="translate(-1 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'"> 2815 {{forwardseekoffset}} 2816 </text> 2817 <path 2818 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" 2819 /> 2820 </g> 2821 </svg> 2822 </media-seek-forward-button> 2823 </template> 2824 2825 <template partial="MuteButton"> 2826 <media-mute-button part="bottom mute button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2827 <svg viewBox="0 0 18 14" slot="icon" class="mute-icon" aria-hidden="true"> 2828 <g class="unmuted"> 2829 <path 2830 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" 2831 /> 2832 <path 2833 class="volume-low" 2834 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" 2835 /> 2836 <path 2837 class="volume-medium" 2838 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" 2839 /> 2840 <path 2841 class="volume-high" 2842 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" 2843 /> 2844 </g> 2845 <g class="muted"> 2846 <path 2847 fill-rule="evenodd" 2848 clip-rule="evenodd" 2849 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" 2850 /> 2851 <path 2852 fill-rule="evenodd" 2853 clip-rule="evenodd" 2854 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" 2855 /> 2856 </g> 2857 </svg> 2858 </media-mute-button> 2859 </template> 2860 2861 <template partial="PipButton"> 2862 <media-pip-button part="bottom pip button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2863 <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon"> 2864 <path 2865 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" 2866 /> 2867 <path 2868 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" 2869 /> 2870 </svg> 2871 </media-pip-button> 2872 </template> 2873 2874 <template partial="CaptionsMenu"> 2875 <media-captions-menu-button part="bottom captions button"> 2876 <svg aria-hidden="true" viewBox="0 0 18 14" slot="on"> 2877 <path 2878 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" 2879 /> 2880 </svg> 2881 <svg aria-hidden="true" viewBox="0 0 18 14" slot="off"> 2882 <path 2883 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" 2884 /> 2885 <path 2886 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" 2887 /> 2888 <path 2889 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" 2890 /> 2891 </svg> 2892 </media-captions-menu-button> 2893 <media-captions-menu 2894 hidden 2895 anchor="auto" 2896 part="bottom captions menu" 2897 disabled="{{disabled}}" 2898 aria-disabled="{{disabled}}" 2899 exportparts="menu-item" 2900 > 2901 <div slot="checked-indicator"> 2902 <style> 2903 .indicator { 2904 position: relative; 2905 top: 1px; 2906 width: 0.9em; 2907 height: auto; 2908 fill: var(--_accent-color); 2909 margin-right: 5px; 2910 } 2911 2912 [aria-checked='false'] .indicator { 2913 display: none; 2914 } 2915 </style> 2916 <svg viewBox="0 0 14 18" class="indicator"> 2917 <path 2918 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" 2919 fill-rule="evenodd" 2920 /> 2921 </svg></div 2922 ></media-captions-menu> 2923 </template> 2924 2925 <template partial="AirplayButton"> 2926 <media-airplay-button part="bottom airplay button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2927 <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon"> 2928 <path 2929 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" 2930 /> 2931 <path 2932 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" 2933 /> 2934 </svg> 2935 </media-airplay-button> 2936 </template> 2937 2938 <template partial="FullscreenButton"> 2939 <media-fullscreen-button part="bottom fullscreen button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2940 <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter"> 2941 <path 2942 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" 2943 /> 2944 <path 2945 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" 2946 /> 2947 <path 2948 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" 2949 /> 2950 <path 2951 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" 2952 /> 2953 </svg> 2954 <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit"> 2955 <path 2956 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" 2957 /> 2958 <path 2959 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" 2960 /> 2961 <path 2962 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" 2963 /> 2964 <path 2965 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" 2966 /> 2967 </svg> 2968 </media-fullscreen-button> 2969 </template> 2970 2971 <template partial="CastButton"> 2972 <media-cast-button part="bottom cast button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2973 <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter"> 2974 <path 2975 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" 2976 /> 2977 </svg> 2978 <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit"> 2979 <path 2980 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" 2981 /> 2982 <path d="M2.15002 5.634C5.18352 6.4207 7.57252 8.8151 8.35282 11.8499H15.8501V2.1499H2.15002V5.634Z" /> 2983 </svg> 2984 </media-cast-button> 2985 </template> 2986 2987 <template partial="LiveButton"> 2988 <media-live-button part="{{section ?? 'top'}} live button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2989 <span slot="text">Live</span> 2990 </media-live-button> 2991 </template> 2992 2993 <template partial="PlaybackRateMenu"> 2994 <media-playback-rate-menu-button part="bottom playback-rate button"></media-playback-rate-menu-button> 2995 <media-playback-rate-menu 2996 hidden 2997 anchor="auto" 2998 rates="{{playbackrates}}" 2999 exportparts="menu-item" 3000 part="bottom playback-rate menu" 3001 disabled="{{disabled}}" 3002 aria-disabled="{{disabled}}" 3003 ></media-playback-rate-menu> 3004 </template> 3005 3006 <template partial="VolumeRange"> 3007 <media-volume-range 3008 part="bottom volume range" 3009 disabled="{{disabled}}" 3010 aria-disabled="{{disabled}}" 3011 ></media-volume-range> 3012 </template> 3013 3014 <template partial="TimeDisplay"> 3015 <media-time-display 3016 remaining="{{defaultshowremainingtime}}" 3017 showduration="{{!hideduration}}" 3018 part="bottom time display" 3019 disabled="{{disabled}}" 3020 aria-disabled="{{disabled}}" 3021 ></media-time-display> 3022 </template> 3023 3024 <template partial="TimeRange"> 3025 <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}" exportparts="thumb"> 3026 <media-preview-thumbnail slot="preview"></media-preview-thumbnail> 3027 <media-preview-chapter-display slot="preview"></media-preview-chapter-display> 3028 <media-preview-time-display slot="preview"></media-preview-time-display> 3029 <div slot="preview" part="arrow"></div> 3030 </media-time-range> 3031 </template> 3032 3033 <template partial="AudioTrackMenu"> 3034 <media-audio-track-menu-button part="bottom audio-track button"> 3035 <svg aria-hidden="true" slot="icon" viewBox="0 0 18 16"> 3036 <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" /> 3037 <path 3038 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" 3039 /> 3040 </svg> 3041 </media-audio-track-menu-button> 3042 <media-audio-track-menu 3043 hidden 3044 anchor="auto" 3045 part="bottom audio-track menu" 3046 disabled="{{disabled}}" 3047 aria-disabled="{{disabled}}" 3048 exportparts="menu-item" 3049 > 3050 <div slot="checked-indicator"> 3051 <style> 3052 .indicator { 3053 position: relative; 3054 top: 1px; 3055 width: 0.9em; 3056 height: auto; 3057 fill: var(--_accent-color); 3058 margin-right: 5px; 3059 } 3060 3061 [aria-checked='false'] .indicator { 3062 display: none; 3063 } 3064 </style> 3065 <svg viewBox="0 0 14 18" class="indicator"> 3066 <path 3067 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" 3068 fill-rule="evenodd" 3069 /> 3070 </svg> 3071 </div> 3072 </media-audio-track-menu> 3073 </template> 3074 3075 <template partial="RenditionMenu"> 3076 <media-rendition-menu-button part="bottom rendition button"> 3077 <svg aria-hidden="true" slot="icon" viewBox="0 0 18 14"> 3078 <path 3079 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" 3080 /> 3081 </svg> 3082 </media-rendition-menu-button> 3083 <media-rendition-menu 3084 hidden 3085 anchor="auto" 3086 part="bottom rendition menu" 3087 disabled="{{disabled}}" 3088 aria-disabled="{{disabled}}" 3089 > 3090 <div slot="checked-indicator"> 3091 <style> 3092 .indicator { 3093 position: relative; 3094 top: 1px; 3095 width: 0.9em; 3096 height: auto; 3097 fill: var(--_accent-color); 3098 margin-right: 5px; 3099 } 3100 3101 [aria-checked='false'] .indicator { 3102 opacity: 0; 3103 } 3104 </style> 3105 <svg viewBox="0 0 14 18" class="indicator"> 3106 <path 3107 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" 3108 fill-rule="evenodd" 3109 /> 3110 </svg> 3111 </div> 3112 </media-rendition-menu> 3113 </template> 3114 3115 <template partial="MuxBadge"> 3116 <div part="mux-badge"> 3117 <a href="https://www.mux.com/player" target="_blank"> 3118 <span class="mux-badge-text">Powered by</span> 3119 <div class="mux-badge-logo"> 3120 <svg 3121 viewBox="0 0 1600 500" 3122 style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2" 3123 > 3124 <g> 3125 <path 3126 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" 3127 style="fill-rule: nonzero" 3128 ></path> 3129 <path 3130 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" 3131 style="fill-rule: nonzero" 3132 ></path> 3133 <path 3134 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" 3135 style="fill-rule: nonzero" 3136 ></path> 3137 </g> 3138 </svg> 3139 </div> 3140 </a> 3141 </div> 3142 </template> 3143 3144 <media-controller 3145 part="controller" 3146 defaultstreamtype="{{defaultstreamtype ?? 'on-demand'}}" 3147 breakpoints="sm:470" 3148 gesturesdisabled="{{disabled}}" 3149 hotkeys="{{hotkeys}}" 3150 nohotkeys="{{nohotkeys}}" 3151 novolumepref="{{novolumepref}}" 3152 audio="{{audio}}" 3153 noautoseektolive="{{noautoseektolive}}" 3154 defaultsubtitles="{{defaultsubtitles}}" 3155 defaultduration="{{defaultduration ?? false}}" 3156 keyboardforwardseekoffset="{{forwardseekoffset}}" 3157 keyboardbackwardseekoffset="{{backwardseekoffset}}" 3158 exportparts="layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer" 3159 style="--_pre-playback-place:{{preplaybackplace ?? 'center'}}" 3160 > 3161 <slot name="media" slot="media"></slot> 3162 <slot name="poster" slot="poster"></slot> 3163 3164 <media-loading-indicator slot="centered-chrome" noautohide></media-loading-indicator> 3165 3166 <template if="!audio"> 3167 <media-error-dialog slot="dialog" noautohide></media-error-dialog> 3168 <!-- Pre-playback UI --> 3169 <!-- same for both on-demand and live --> 3170 <div slot="centered-chrome" class="center-controls pre-playback"> 3171 <template if="!breakpointsm">{{>PlayButton section="center"}}</template> 3172 <template if="breakpointsm">{{>PrePlayButton section="center"}}</template> 3173 </div> 3174 3175 <!-- Mux Badge --> 3176 <template if="proudlydisplaymuxbadge"> {{>MuxBadge}} </template> 3177 3178 <!-- Autoplay centered unmute button --> 3179 <!-- 3180 todo: figure out how show this with available state variables 3181 needs to show when: 3182 - autoplay is enabled 3183 - playback has been successful 3184 - audio is muted 3185 - in place / instead of the pre-plaback play button 3186 - not to show again after user has interacted with this button 3187 - OR user has interacted with the mute button in the control bar 3188 --> 3189 <!-- 3190 There should be a >MuteButton to the left of the "Unmute" text, but a templating bug 3191 makes it appear even if commented out in the markup, add it back when code is un-commented 3192 --> 3193 <!-- <div slot="centered-chrome" class="autoplay-unmute"> 3194 <div role="button" class="autoplay-unmute-btn">Unmute</div> 3195 </div> --> 3196 3197 <template if="streamtype == 'on-demand'"> 3198 <template if="breakpointsm"> 3199 <media-control-bar part="control-bar top" slot="top-chrome">{{>TitleDisplay}} </media-control-bar> 3200 </template> 3201 {{>TimeRange}} 3202 <media-control-bar part="control-bar bottom"> 3203 {{>PlayButton}} {{>SeekBackwardButton}} {{>SeekForwardButton}} {{>TimeDisplay}} {{>MuteButton}} 3204 {{>VolumeRange}} 3205 <div class="spacer"></div> 3206 {{>RenditionMenu}} {{>PlaybackRateMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} 3207 {{>CastButton}} {{>PipButton}} {{>FullscreenButton}} 3208 </media-control-bar> 3209 </template> 3210 3211 <template if="streamtype == 'live'"> 3212 <media-control-bar part="control-bar top" slot="top-chrome"> 3213 {{>LiveButton}} 3214 <template if="breakpointsm"> {{>TitleDisplay}} </template> 3215 </media-control-bar> 3216 <template if="targetlivewindow > 0">{{>TimeRange}}</template> 3217 <media-control-bar part="control-bar bottom"> 3218 {{>PlayButton}} 3219 <template if="targetlivewindow > 0">{{>SeekBackwardButton}} {{>SeekForwardButton}}</template> 3220 {{>MuteButton}} {{>VolumeRange}} 3221 <div class="spacer"></div> 3222 {{>RenditionMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} {{>CastButton}} {{>PipButton}} 3223 {{>FullscreenButton}} 3224 </media-control-bar> 3225 </template> 3226 </template> 3227 3228 <template if="audio"> 3229 <template if="streamtype == 'on-demand'"> 3230 <template if="title"> 3231 <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar> 3232 </template> 3233 <media-control-bar part="control-bar bottom"> 3234 {{>PlayButton}} 3235 <template if="breakpointsm"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template> 3236 {{>MuteButton}} 3237 <template if="breakpointsm">{{>VolumeRange}}</template> 3238 {{>TimeDisplay}} {{>TimeRange}} 3239 <template if="breakpointsm">{{>PlaybackRateMenu}}</template> 3240 {{>AirplayButton}} {{>CastButton}} 3241 </media-control-bar> 3242 </template> 3243 3244 <template if="streamtype == 'live'"> 3245 <template if="title"> 3246 <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar> 3247 </template> 3248 <media-control-bar part="control-bar bottom"> 3249 {{>PlayButton}} {{>LiveButton section="bottom"}} {{>MuteButton}} 3250 <template if="breakpointsm"> 3251 {{>VolumeRange}} 3252 <template if="targetlivewindow > 0"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template> 3253 </template> 3254 <template if="targetlivewindow > 0"> {{>TimeDisplay}} {{>TimeRange}} </template> 3255 <template if="!targetlivewindow"><div class="spacer"></div></template> 3256 {{>AirplayButton}} {{>CastButton}} 3257 </media-control-bar> 3258 </template> 3259 </template> 3260 3261 <slot></slot> 3262 </media-controller> 3263</template> 3264`
3264,Ai=Tw.createElement("template");"innerHTML"in Ai&&(Ai.innerHTML=At);var Ar,Aa,As=class extends gs{};As.template=null==(Aa=null==(Ar=Ai.content)?void 0:Ar.children)?void 0:Aa[0],TI.customElements.get("media-theme-gerwig")||TI.customElements.define("media-theme-gerwig",As);var An={SRC:"src",POSTER:"poster"},Ao={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"},Al=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","videotitle","novolumepref","nomutedpref","proudlydisplaymuxbadge"],Ad=fk.formatErrorMessage;function Au(e){let t=e.videoTitle?{video_title:e.videoTitle}:{};return e.getAttributeNames().filter(e=>e.startsWith("metadata-")).reduce((t,i)=>{let r=e.getAttribute(i);return null!==r&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=r),t},t)}fk.formatErrorMessage=e=>{var t,i;if(e instanceof ld){let r=((e,t=!1)=>({title:((e,t=!1)=>{var i,r;if(e.muxCode){let a=T7(null!=(i=e.errorCategory)?i:"video"),s=ll(null!=(r=e.errorCategory)?r:lo);if(2000002===e.muxCode)return lC("Your device appears to be offline",t);if(2403210===e.muxCode)return lC("{category} URL has expired",t).format({category:a});if([2403232,2403222,2403221,2412202].includes(e.muxCode))return lC("{category} URL is formatted incorrectly",t).format({category:a});if(2403201===e.muxCode)return lC("Invalid {categoryName} URL",t).format({categoryName:s});if(2404e3===e.muxCode)return lC("{category} does not exist",t).format({category:a});if(2412e3===e.muxCode){let i="live"===e.streamType?"Live stream":"Video";return lC("{mediaType} is not currently available",t).format({mediaType:i})}}if(e.code){if(e.code===ld.MEDIA_ERR_NETWORK)return lC("Network Error",t);if(e.code===ld.MEDIA_ERR_DECODE)return lC("Media Error",t);if(e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED)return lC("Source Not Supported",t)}return lC("Error",t)})(e,t).toString(),message:((e,t=!1)=>{var i,r;if(e.muxCode){let a=T7(null!=(i=e.errorCategory)?i:"video"),s=ll(null!=(r=e.errorCategory)?r:lo);return 2000002===e.muxCode?lC("Check your internet connection and try reloading this video.",t):2403210===e.muxCode?lC("The videoâs secured {tokenNamePrefix}-token has expired.",t).format({tokenNamePrefix:s}):2403232===e.muxCode?lC("The videoâs playback ID does not match the one encoded in the {tokenNamePrefix}-token.",t).format({tokenNamePrefix:s}):2412202===e.muxCode?lC("{category} URL is formatted incorrectly",t).format({category:a}):[2403222,2403221].includes(e.muxCode)?lC("The {tokenNamePrefix}-token is formatted with incorrect information.",t).format({tokenNamePrefix:s}):[2403201,24e5].includes(e.muxCode)?lC("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",t).format({tokenNamePrefix:s}):2404e3===e.muxCode?"":e.message}return e.code&&(e.code===ld.MEDIA_ERR_NETWORK||e.code===ld.MEDIA_ERR_DECODE||e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED),e.message})(e,t).toString()}))(e,!1);return` 3265 ${null!=r&&r.title?`<h3>${r.title}</h3>`:""} 3266 ${null!=r&&r.message||null!=r&&r.linkUrl?`<p> 3267 ${null==r?void 0:r.message} 3268 ${null!=r&&r.linkUrl?`<a 3269 href="${r.linkUrl}" 3270 target="_blank" 3271 rel="external noopener" 3272 aria-label="${null!=(t=r.linkText)?t:""} ${lC("(opens in a new window)")}" 3273 >${null!=(i=r.linkText)?i:r.linkUrl}</a 3274 >`:""} 3275 </p>`:""} 3276 `}return Ad(e)};var Ah,Ac,Am,Af,Ap,Ag,Av,AE,Ay,Ab,AT,AA,A_,AS,Ak,AL=Object.values(ug),AR=Object.values(An),AI=Object.values(Ao),Aw="mux-
3276player",AC={isDialogOpen:!1},AD={redundant_streams:!0},Ax=class extends TZ{constructor(){super(),vy(this,Av),vy(this,Ah),vy(this,Ac,!1),vy(this,Am,{}),vy(this,Af,!0),vy(this,Ap,new TG(this,"hotkeys")),vy(this,Ag,{...AC,onCloseErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&vT(this,Av,Ab).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&(TU(this,Tw.activeElement)||e.preventDefault())}}),vb(this,Ah,dR()),this.attachShadow({mode:"open"}),vT(this,Av,Ay).call(this),this.isConnected&&vT(this,Av,AE).call(this)}static get NAME(){return Aw}static get VERSION(){return TB}static get observedAttributes(){var e;return[...null!=(e=TZ.observedAttributes)?e:[],...AR,...AL,...AI]}get mediaTheme(){var e;return null==(e=this.shadowRoot)?void 0:e.querySelector("media-theme")}get mediaController(){var e,t;return null==(t=null==(e=this.mediaTheme)?void 0:e.shadowRoot)?void 0:t.querySelector("media-controller")}connectedCallback(){let e=this.media;e&&(e.metadata=Au(this))}attributeChangedCallback(e,t,i){var r;switch(vT(this,Av,AE).call(this),super.attributeChangedCallback(e,t,i),e){case Ao.HOTKEYS:vE(this,Ap).value=i;break;case Ao.THUMBNAIL_TIME:null!=i&&this.tokens.thumbnail&&TK(lC("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").toString());break;case Ao.THUMBNAIL_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"t"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"t",tokenNamePrefix:"thumbnail"}))}}break;case Ao.STORYBOARD_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"s"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"s",tokenNamePrefix:"storyboard"}))}}break;case Ao.DRM_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"d"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"d",tokenNamePrefix:"drm"}))}}break;case ug.PLAYBACK_ID:null!=i&&i.includes("?token")&&TW(lC("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:i}));break;case ug.STREAM_TYPE:i&&![lm,lc,lf].includes(i)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=i.includes("dvr")?1/0:0:Tq({file:"invalid-stream-type.md",message:lC("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):i===lm?null==this.getAttribute(Ao.TARGET_LIVE_WINDOW)&&(this.targetLiveWindow=0):this.targetLiveWindow=NaN;break;case Ao.FULLSCREEN_ELEMENT:if(null!=i||i!==t){let e=Tw.getElementById(i),t=null==e?void 0:e.querySelector("mux-player");this.mediaController&&e&&t&&(this.mediaController.fullscreenElement=e)}}[ug.PLAYBACK_ID,An.SRC,Ao.PLAYBACK_TOKEN].includes(e)&&t!==i&&vb(this,Ag,{...vE(this,Ag),...AC}),vT(this,Av,AT).call(this,{[null!=(r=TH[e])?r:TD(e)]:i})}async requestFullscreen(e){var t;if(!(!this.mediaController||this.mediaController.hasAttribute(hm.MEDIA_IS_FULLSCREEN)))return null==(t=this.mediaController)||t.dispatchEvent(new TI.CustomEvent(hd.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>{var i;null==(i=this.mediaController)||i.addEventListener(hf.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}async exitFullscreen(){var e;if(!(!this.mediaController||!this.mediaController.hasAttribute(hm.MEDIA_IS_FULLSCREEN)))return null==(e=this.mediaController)||e.dispatchEvent(new TI.CustomEvent(hd.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>{var i;null==(i=this.mediaController)||i.addEventListener(hf.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}get preferCmcd(){var e;return null!=(e=this.getAttribute(ug.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lv.includes(e)?this.setAttribute(ug.PREFER_CMCD,e):TK(`Invalid value for preferCmcd. Must be one of ${lv.join()}`):this.removeAttribute(ug.PREFER_CMCD))}get hasPlayed(){var e,t;return null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(hm.MEDIA_HAS_P
3276LAYED))&&t}get inLiveWindow(){var e;return null==(e=this.mediaController)?void 0:e.hasAttribute(hm.MEDIA_TIME_IS_LIVE)}get _hls(){var e;return null==(e=this.media)?void 0:e._hls}get mux(){var e;return null==(e=this.media)?void 0:e.mux}get theme(){var e;return null!=(e=this.getAttribute(Ao.THEME))?e:"gerwig"}set theme(e){this.setAttribute(Ao.THEME,`${e}`)}get themeProps(){let e=this.mediaTheme;if(!e)return;let t={};for(let i of e.getAttributeNames()){if(Al.includes(i))continue;let r=e.getAttribute(i);t[TD(i)]=""===r||r}return t}set themeProps(e){var t,i;vT(this,Av,AE).call(this);let r={...this.themeProps,...e};for(let a in r){if(Al.includes(a))continue;let r=null==e?void 0:e[a];"boolean"==typeof r||null==r?null==(t=this.mediaTheme)||t.toggleAttribute(TC(a),!!r):null==(i=this.mediaTheme)||i.setAttribute(TC(a),r)}}get playbackId(){var e;return null!=(e=this.getAttribute(ug.PLAYBACK_ID))?e:void 0}set playbackId(e){e?this.setAttribute(ug.PLAYBACK_ID,e):this.removeAttribute(ug.PLAYBACK_ID)}get src(){var e,t;return this.playbackId?null!=(e=AM(this,An.SRC))?e:void 0:null!=(t=this.getAttribute(An.SRC))?t:void 0}set src(e){e?this.setAttribute(An.SRC,e):this.removeAttribute(An.SRC)}get poster(){var e;let t=this.getAttribute(An.POSTER);if(null!=t)return t;let{tokens:i}=this;return i.playback&&!i.thumbnail?void TK("Missing expected thumbnail token. No poster image will be shown"):this.playbackId&&!this.audio?((e,{token:t,customDomain:i=TF,thumbnailTime:r,programTime:a}={})=>{var s;let n=null==t?r:void 0,{aud:o}=null!=(s=lw(t))?s:{};if(!(t&&"t"!==o))return`https://image.${i}/${e}/thumbnail.webp${TM({token:t,time:n,program_time:a})}`})(this.playbackId,{customDomain:this.customDomain,thumbnailTime:null!=(e=this.thumbnailTime)?e:this.startTime,programTime:this.programStartTime,token:i.thumbnail}):void 0}set poster(e){e||""===e?this.setAttribute(An.POSTER,e):this.removeAttribute(An.POSTER)}get storyboardSrc(){var e;return null!=(e=this.getAttribute(Ao.STORYBOARD_SRC))?e:void 0}set storyboardSrc(e){e?this.setAttribute(Ao.STORYBOARD_SRC,e):this.removeAttribute(Ao.STORYBOARD_SRC)}get storyboard(){let{tokens:e}=this;return this.storyboardSrc&&!e.storyboard?this.storyboardSrc:this.audio||!this.playbackId||!this.streamType||[lm,lf].includes(this.streamType)||e.playback&&!e.storyboard?void 0:((e,{token:t,customDomain:i=TF,programStartTime:r,programEndTime:a}={})=>{var s;let{aud:n}=null!=(s=lw(t))?s:{};if(!(t&&"s"!==n))return`https://image.${i}/${e}/storyboard.vtt${TM({token:t,format:"webp",program_start_time:r,program_end_time:a})}`})(this.playbackId,{customDomain:this.customDomain,token:e.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(Ao.AUDIO)}set audio(e){e?this.setAttribute(Ao.AUDIO,""):this.removeAttribute(Ao.AUDIO)}get hotkeys(){return vE(this,Ap)}get nohotkeys(){return this.hasAttribute(Ao.NOHOTKEYS)}set nohotkeys(e){e?this.setAttribute(Ao.NOHOTKEYS,""):this.removeAttribute(Ao.NOHOTKEYS)}get thumbnailTime(){return Tx(this.getAttribute(Ao.THUMBNAIL_TIME))}set thumbnailTime(e){this.setAttribute(Ao.THUMBNAIL_TIME,`${e}`)}get videoTitle(){var e,t;return null!=(t=null!=(e=this.getAttribute(Ao.VIDEO_TITLE))?e:this.getAttribute(Ao.TITLE))?t:""}set videoTitle(e){e!==this.videoTitle&&(e?this.setAttribute(Ao.VIDEO_TITLE,e):this.removeAttribute(Ao.VIDEO_TITLE))}get placeholder(){var e;return null!=(e=AM(this,Ao.PLACEHOLDER))?e:""}set placeholder(e){this.setAttribute(Ao.PLACEHOLDER,`${e}`)}get primaryColor(){var e,t;let i=this.getAttribute(Ao.PRIMARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_primary-color"))?void 0:t.trim()))return i}set primaryColor(e){this.setAttribute(Ao.PRIMARY_COLOR,`${e}`)}get secondaryColor(){var e,t;let i=this.getAttribute(Ao.SECONDARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_secondary-color"))?void 0:t.trim()))return i}set secondaryColor(e){this.setAttribute(Ao.SECONDARY_COLOR,`${e}`)}get accentColor(){var e,t;let i=this.getAttribute(Ao.ACCENT_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_accent-color"))?void 0:t.trim()))return i}set accentColor(e){this.setAttribute(Ao.ACCENT_COLOR,`${e}`)}get defaultShowRemainingTime(){return this.hasAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(e){e?this.setAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(Ao.PLAYBACK_RATES))return this.getAttribute(Ao.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(e=>Number(e)).filter(e=>!Number.isNaN(e)).sort((e,t)=>
3276e-t)}set playbackRates(e){e?this.setAttribute(Ao.PLAYBACK_RATES,e.join(" ")):this.removeAttribute(Ao.PLAYBACK_RATES)}get forwardSeekOffset(){var e;return null!=(e=Tx(this.getAttribute(Ao.FORWARD_SEEK_OFFSET)))?e:10}set forwardSeekOffset(e){this.setAttribute(Ao.FORWARD_SEEK_OFFSET,`${e}`)}get backwardSeekOffset(){var e;return null!=(e=Tx(this.getAttribute(Ao.BACKWARD_SEEK_OFFSET)))?e:10}set backwardSeekOffset(e){this.setAttribute(Ao.BACKWARD_SEEK_OFFSET,`${e}`)}get defaultHiddenCaptions(){return this.hasAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(e){e?this.setAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return Tx(this.getAttribute(Ao.DEFAULT_DURATION))}set defaultDuration(e){null==e?this.removeAttribute(Ao.DEFAULT_DURATION):this.setAttribute(Ao.DEFAULT_DURATION,`${e}`)}get playerInitTime(){return this.hasAttribute(ug.PLAYER_INIT_TIME)?Tx(this.getAttribute(ug.PLAYER_INIT_TIME)):vE(this,Ah)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(ug.PLAYER_INIT_TIME):this.setAttribute(ug.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=this.getAttribute(ug.PLAYER_SOFTWARE_NAME))?e:Aw}get playerSoftwareVersion(){var e;return null!=(e=this.getAttribute(ug.PLAYER_SOFTWARE_VERSION))?e:TB}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(ug.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(ug.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(ug.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var e;return null!=(e=this.getAttribute(ug.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(ug.MAX_RESOLUTION,e):this.removeAttribute(ug.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(ug.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(ug.MIN_RESOLUTION,e):this.removeAttribute(ug.MIN_RESOLUTION))}get renditionOrder(){var e;return null!=(e=this.getAttribute(ug.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(ug.RENDITION_ORDER,e):this.removeAttribute(ug.RENDITION_ORDER))}get programStartTime(){return Tx(this.getAttribute(ug.PROGRAM_START_TIME))}set programStartTime(e){null==e?this.removeAttribute(ug.PROGRAM_START_TIME):this.setAttribute(ug.PROGRAM_START_TIME,`${e}`)}get programEndTime(){return Tx(this.getAttribute(ug.PROGRAM_END_TIME))}set programEndTime(e){null==e?this.removeAttribute(ug.PROGRAM_END_TIME):this.setAttribute(ug.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){return Tx(this.getAttribute(ug.ASSET_START_TIME))}set assetStartTime(e){null==e?this.removeAttribute(ug.ASSET_START_TIME):this.setAttribute(ug.ASSET_START_TIME,`${e}`)}get assetEndTime(){return Tx(this.getAttribute(ug.ASSET_END_TIME))}set assetEndTime(e){null==e?this.removeAttribute(ug.ASSET_END_TIME):this.setAttribute(ug.ASSET_END_TIME,`${e}`)}get extraSourceParams(){return this.hasAttribute(Ao.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(Ao.EXTRA_SOURCE_PARAMS)).entries()].reduce((e,[t,i])=>(e[t]=i,e),{}):AD}set extraSourceParams(e){null==e?this.removeAttribute(Ao.EXTRA_SOURCE_PARAMS):this.setAttribute(Ao.EXTRA_SOURCE_PARAMS,new URLSearchParams(e).toString())}get customDomain(){var e;return null!=(e=this.getAttribute(ug.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(ug.CUSTOM_DOMAIN,e):this.removeAttribute(ug.CUSTOM_DOMAIN))}get envKey(){var e;return null!=(e=AM(this,ug.ENV_KEY))?e:void 0}set envKey(e){this.setAttribute(ug.ENV_KEY,`${e}`)}get noVolumePref(){return this.hasAttribute(Ao.NO_VOLUME_PREF)}set noVolumePref(e){e?this.setAttribute(Ao.NO_VOLUME_PREF,""):this.removeAttribute(Ao.NO_VOLUME_PREF)}get noMutedPref(){return this.hasAttribute(Ao.NO_MUTED_PREF)}set noMutedPref(e){e?this.setAttribute(Ao.NO_MUTED_PREF,""):this.removeAttribute(Ao.NO_MUTED_PREF)}get debug(){return null!=AM(this,ug.DEBUG)}set debug(e){e?this.setAttribute(ug.DEBUG,""):this.removeAttribute(ug.DEBUG)}get disableTracking(){return null!=AM(this,ug.DISABLE_TRACKING)}set disableTracking(e){this.toggleAttribute(ug.DISABLE_TRACKING,!!e)}get disableCookies(){return null!=AM(this,ug.DISABLE_COOKIES)}set disableCookies(e){e?this.setAttribute(ug.DISABLE_COOKIES,""):this.removeAttribute(ug.DISABLE_COOKIES)}get streamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(ug.STREAM_TYPE))?t:null==(e=this.media)?void 0:e.streamType)?i:lf}set streamType(e){this.setAttribute(ug.STREAM_TYPE,`${e}`)}get defaultStreamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(Ao.DEFAULT_STREAM_TYPE))?t:null==(e=this.mediaController)?void 0:e.getAttribute(Ao.DEFAULT_STREAM_TYPE))?i:lc}set defaultStreamType(e){e?this.setAttribute(Ao.DEFAULT_STREAM_TYPE,e):this.removeAttribute(Ao.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var e,t;return this.hasAttribute(Ao.TARGET_LIVE_WINDOW)?+this.getAttribute(Ao.TARGET_LIVE_WINDOW):null!=(t=null==(e=this.media)?void 0:e.targetLiveWindow)?t:NaN}
3276set targetLiveWindow(e){e==this.targetLiveWindow||Number.isNaN(e)&&Number.isNaN(this.targetLiveWindow)||(null==e?this.removeAttribute(Ao.TARGET_LIVE_WINDOW):this.setAttribute(Ao.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e;return null==(e=this.media)?void 0:e.liveEdgeStart}get startTime(){return Tx(AM(this,ug.START_TIME))}set startTime(e){this.setAttribute(ug.START_TIME,`${e}`)}get preferPlayback(){let e=this.getAttribute(ug.PREFER_PLAYBACK);if("mse"===e||e===lp)return e}set preferPlayback(e){e!==this.preferPlayback&&("mse"===e||e===lp?this.setAttribute(ug.PREFER_PLAYBACK,e):this.removeAttribute(ug.PREFER_PLAYBACK))}get metadata(){var e;return null==(e=this.media)?void 0:e.metadata}set metadata(e){(vT(this,Av,AE).call(this),this.media)?this.media.metadata={...Au(this),...e}:TW("underlying media element missing when trying to set metadata. metadata will not be set.")}get _hlsConfig(){var e;return null==(e=this.media)?void 0:e._hlsConfig}set _hlsConfig(e){(vT(this,Av,AE).call(this),this.media)?this.media._hlsConfig=e:TW("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.")}async addCuePoints(e){var t;return(vT(this,Av,AE).call(this),this.media)?null==(t=this.media)?void 0:t.addCuePoints(e):void TW("underlying media element missing when trying to addCuePoints. cuePoints will not be added.")}get activeCuePoint(){var e;return null==(e=this.media)?void 0:e.activeCuePoint}get cuePoints(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.cuePoints)?t:[]}addChapters(e){var t;return(vT(this,Av,AE).call(this),this.media)?null==(t=this.media)?void 0:t.addChapters(e):void TW("underlying media element missing when trying to addChapters. chapters will not be added.")}get activeChapter(){var e;return null==(e=this.media)?void 0:e.activeChapter}get chapters(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.chapters)?t:[]}getStartDate(){var e;return null==(e=this.media)?void 0:e.getStartDate()}get currentPdt(){var e;return null==(e=this.media)?void 0:e.currentPdt}get tokens(){let e=this.getAttribute(Ao.PLAYBACK_TOKEN),t=this.getAttribute(Ao.DRM_TOKEN),i=this.getAttribute(Ao.THUMBNAIL_TOKEN),r=this.getAttribute(Ao.STORYBOARD_TOKEN);return{...vE(this,Am),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{},...null!=i?{thumbnail:i}:{},...null!=r?{storyboard:r}:{}}}set tokens(e){vb(this,Am,null!=e?e:{})}get playbackToken(){var e;return null!=(e=this.getAttribute(Ao.PLAYBACK_TOKEN))?e:void 0}set playbackToken(e){this.setAttribute(Ao.PLAYBACK_TOKEN,`${e}`)}get drmToken(){var e;return null!=(e=this.getAttribute(Ao.DRM_TOKEN))?e:void 0}set drmToken(e){this.setAttribute(Ao.DRM_TOKEN,`${e}`)}get thumbnailToken(){var e;return null!=(e=this.getAttribute(Ao.THUMBNAIL_TOKEN))?e:void 0}set thumbnailToken(e){this.setAttribute(Ao.THUMBNAIL_TOKEN,`${e}`)}get storyboardToken(){var e;return null!=(e=this.getAttribute(Ao.STORYBOARD_TOKEN))?e:void 0}set storyboardToken(e){this.setAttribute(Ao.STORYBOARD_TOKEN,`${e}`)}addTextTrack(e,t,i,r){var a;let s=null==(a=this.media)?void 0:a.nativeEl;if(s)return lN(s,e,t,i,r)}removeTextTrack(e){var t;let i=null==(t=this.media)?void 0:t.nativeEl;if(i){let t;return void(null==(t=Array.prototype.find.call(i.querySelectorAll("track"),t=>t.track===e))||t.remove())}}get textTracks(){var e;return null==(e=this.media)?void 0:e.textTracks}get castReceiver(){var e;return null!=(e=this.getAttribute(Ao.CAST_RECEIVER))?e:void 0}set castReceiver(e){e!==this.castReceiver&&(e?this.setAttribute(Ao.CAST_RECEIVER,e):this.removeAttribute(Ao.CAST_RECEIVER))}get castCustomData(){var e;return null==(e=this.media)?void 0:e.castCustomData}set castCustomData(e){this.media?this.media.castCustomData=e:TW("underlying media element missing when trying to set castCustomData. castCustomData will not be set.")}get noTooltips(){return this.hasAttribute(Ao.NO_TOOLTIPS)}set noTooltips(e){e?this.setAttribute(Ao.NO_TOOLTIPS,""):this.removeAttribute(Ao.NO_TOOLTIPS)}get proudlyDisplayMuxBadge(){return this.hasAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(e){e?this.setAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE,""):this.removeAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE)}};function AM(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}Ah=new WeakMap,Ac=new WeakMap,Am=new WeakMap,Af=new WeakMap,Ap=new WeakMap,Ag=new WeakMap,Av=new WeakSet,AE=function(){var e,t,i,r;if(!vE(this,Ac)){vb(this,Ac,!0),vT(this,Av,AT).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof TI.HTMLElement))throw""}catch{TW("<media-theme> failed to upgrade!")}try{customElements.upgrade(this.media)}catch{TW("underlying media element failed to upgrade!")}
3276try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof mL))throw""}catch{TW("<media-controller> failed to upgrade!")}vT(this,Av,AA).call(this),vT(this,Av,A_).call(this),vT(this,Av,AS).call(this),vb(this,Af,null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))||t),vT(this,Av,Ak).call(this),null==(i=this.media)||i.addEventListener("streamtypechange",()=>vT(this,Av,AT).call(this)),null==(r=this.media)||r.addEventListener("loadstart",()=>vT(this,Av,AT).call(this))}},Ay=function(){var e,t;try{null==(e=null==window?void 0:window.CSS)||e.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),null==(t=null==window?void 0:window.CSS)||t.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Ab=function(e){Object.assign(vE(this,Ag),e),vT(this,Av,AT).call(this)},AT=function(e={}){var t,i,r,a,s,n,o,l,d,u,h,c,m,f,p,g,E,y,b,T,A,_,S,k,L,R,I,w,C,D,x,M,P,O,N,U,F,B,$,H,G,V,K,W,q;let j,Y,z,Q;t={...vE(this,Ag),...e},j={src:!this.playbackId&&this.src,playbackId:this.playbackId,hasSrc:!!this.playbackId||!!this.src||!!this.currentSrc,poster:this.poster,storyboard:this.storyboard,storyboardSrc:this.getAttribute(Ao.STORYBOARD_SRC),fullscreenElement:this.getAttribute(Ao.FULLSCREEN_ELEMENT),placeholder:this.getAttribute("placeholder"),themeTemplate:function(e){var t,i;let r=e.theme;if(r){let a=null==(i=null==(t=e.getRootNode())?void 0:t.getElementById)?void 0:i.call(t,r);
3276if(a&&a instanceof HTMLTemplateElement)return a;r.startsWith("media-theme-")||(r=`media-theme-${r}`);let s=TI.customElements.get(r);if(null!=s&&s.template)return s.template}}(this),thumbnailTime:!this.tokens.thumbnail&&this.thumbnailTime,autoplay:this.autoplay,crossOrigin:this.crossOrigin,loop:this.loop,noHotKeys:this.hasAttribute(Ao.NOHOTKEYS),hotKeys:this.getAttribute(Ao.HOTKEYS),muted:this.muted,paused:this.paused,preload:this.preload,envKey:this.envKey,preferCmcd:this.preferCmcd,debug:this.debug,disableTracking:this.disableTracking,disableCookies:this.disableCookies,tokens:this.tokens,beaconCollectionDomain:this.beaconCollectionDomain,maxResolution:this.maxResolution,minResolution:this.minResolution,programStartTime:this.programStartTime,programEndTime:this.programEndTime,assetStartTime:this.assetStartTime,assetEndTime:this.assetEndTime,renditionOrder:this.renditionOrder,metadata:this.metadata,playerInitTime:this.playerInitTime,playerSoftwareName:this.playerSoftwareName,playerSoftwareVersion:this.playerSoftwareVersion,startTime:this.startTime,preferPlayback:this.preferPlayback,audio:this.audio,defaultStreamType:this.defaultStreamType,targetLiveWindow:this.getAttribute(ug.TARGET_LIVE_WINDOW),streamType:T$(this.getAttribute(ug.STREAM_TYPE)),primaryColor:this.getAttribute(Ao.PRIMARY_COLOR),secondaryColor:this.getAttribute(Ao.SECONDARY_COLOR),accentColor:this.getAttribute(Ao.ACCENT_COLOR),forwardSeekOffset:this.forwardSeekOffset,backwardSeekOffset:this.backwardSeekOffset,defaultHiddenCaptions:this.defaultHiddenCaptions,defaultDuration:this.defaultDuration,defaultShowRemainingTime:this.defaultShowRemainingTime,hideDuration:(Y=null==(a=this.mediaController)?void 0:a.querySelector("media-time-display"))&&"none"===getComputedStyle(Y).getPropertyValue("--media-duration-display-display").trim(),playbackRates:this.getAttribute(Ao.PLAYBACK_RATES),customDomain:null!=(i=this.getAttribute(ug.CUSTOM_DOMAIN))?i:void 0,title:this.getAttribute(Ao.TITLE),videoTitle:null!=(r=this.getAttribute(Ao.VIDEO_TITLE))?r:this.getAttribute(Ao.TITLE),novolumepref:this.hasAttribute(Ao.NO_VOLUME_PREF),nomutedpref:this.hasAttribute(Ao.NO_MUTED_PREF),proudlyDisplayMuxBadge:this.hasAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE),castReceiver:this.castReceiver,disablePseudoEnded:this.hasAttribute(Ao.DISABLE_PSEUDO_ENDED),...t,extraSourceParams:this.extraSourceParams},s=T9` 3277 <style> 3278 ${(e=>{let{tokens:t}=e;return t.drm?":host(:not([cast-receiver])) { --_cast-button-drm-display: none; }":""})(j)} 3279 ${TJ} 3280 </style> 3281 ${o=j,T9` 3282 <media-theme 3283 template="${o.themeTemplate||!1}" 3284 defaultstreamtype="${null!=(l=o.defaultStreamType)&&l}" 3285 hotkeys="${z=o.hotKeys?`${o.hotKeys}`:"","live"===T$(o.streamType)&&(z+=" noarrowleft noarrowright"),z||!1}" 3286 nohotkeys="${o.noHotKeys||!o.hasSrc||!1}" 3287 noautoseektolive="${!!(null!=(d=o.streamType)&&d.includes(lm))&&0!==o.targetLiveWindow}" 3288 novolumepref="${o.novolumepref||!1}" 3289 nomutedpref="${o.nomutedpref||!1}" 3290 disabled="${!o.hasSrc||o.isDialogOpen}" 3291 audio="${null!=(u=o.audio)&&u}" 3292 style="${null!=(q={"--media-primary-color":o.primaryColor,"--media-secondary-color":o.secondaryColor,"--media-accent-color":o.accentColor},Q="",Object.entries(q).forEach(([e,t])=>{null!=t&&(Q+=`${TC(e)}: ${t}; `)}),h=Q?Q.trim():void 0)&&h}" 3293 defaultsubtitles="${!o.defaultHiddenCaptions}" 3294 forwardseekoffset="${null!=(c=o.forwardSeekOffset)&&c}" 3295 backwardseekoffset="${null!=(m=o.backwardSeekOffset)&&m}" 3296 playbackrates="${null!=(f=o.playbackRates)&&f}" 3297 defaultshowremainingtime="${null!=(p=o.defaultShowRemainingTime)&&p}" 3298 defaultduration="${null!=(g=o.defaultDuration)&&g}" 3299 hideduration="${null!=(E=o.hideDuration)&&E}" 3300 title="${null!=(y=o.title)&&y}" 3301 videotitle="${null!=(b=o.videoTitle)&&b}" 3302 proudlydisplaymuxbadge="${null!=(T=o.proudlyDisplayMuxBadge)&&T}" 3303 exportparts="${T6}" 3304 onclose="${o.onCloseErrorDialog}" 3305 onfocusin="${o.onFocusInErrorDialog}" 3306 > 3307 <mux-video 3308 slot="media" 3309 inert="${null!=(A=o.noHotKeys)&&A}" 3310 target-live-window="${null!=(_=o.targetLiveWindow)&&_}" 3311 stream-type="${null!=(S=T$(o.streamType))&&S}" 3312 crossorigin="${null!=(k=o.crossOrigin)?k:""}" 3313 playsinline 3314 autoplay="${null!=(L=o.autoplay)&&L}" 3315 muted="${null!=(R=o.muted)&&R}" 3316 loop="${null!=(I=o.loop)&&I}" 3317 preload="${null!=(w=o.preload)&&w}" 3318 debug="${null!=(C=o.debug)&&C}" 3319 prefer-cmcd="${null!=(D=o.preferCmcd)&&D}" 3320 disable-tracking="${null!=(x=o.disableTracking)&&x}" 3321 disable-cookies="${null!=(M=o.disableCookies)&&M}" 3322 prefer-playback="${null!=(P=o.preferPlayback)&&P}" 3323 start-time="${null!=o.startTime&&o.startTime}" 3324 beacon-collection-domain="${null!=(O=o.beaconCollectionDomain)&&O}" 3325 player-init-time="${null!=(N=o.playerInitTime)&&N}"
3326 player-software-name="${null!=(U=o.playerSoftwareName)&&U}" 3327 player-software-version="${null!=(F=o.playerSoftwareVersion)&&F}" 3328 env-key="${null!=(B=o.envKey)&&B}" 3329 custom-domain="${null!=($=o.customDomain)&&$}" 3330 src="${o.src?o.src:!!o.playbackId&&dw(o)}" 3331 cast-src="${o.src?o.src:!!o.playbackId&&dw(o)}" 3332 cast-receiver="${null!=(H=o.castReceiver)&&H}" 3333 drm-token="${null!=(V=null==(G=o.tokens)?void 0:G.drm)&&V}" 3334 exportparts="video" 3335 disable-pseudo-ended="${null!=(K=o.disablePseudoEnded)&&K}" 3336 > 3337 ${o.storyboard?T9`<track label="thumbnails" default kind="metadata" src="${o.storyboard}" />`:T9``} 3338 <slot></slot> 3339 </mux-video> 3340 <slot name="poster" slot="poster"> 3341 <media-poster-image 3342 part="poster" 3343 exportparts="poster, img" 3344 src="${!!o.poster&&o.poster}" 3345 placeholdersrc="${null!=(W=o.placeholder)&&W}" 3346 ></media-poster-image> 3347 </slot> 3348 </media-theme> 3349`} 3350`,n=this.shadowRoot,s.renderInto(n)},AA=function(){let e=e=>{var t,i;if(!(null!=e&&e.startsWith("theme-")))return;let r=e.replace(/^theme-/,"");if(Al.includes(r))return;let a=this.getAttribute(e);null!=a?null==(t=this.mediaTheme)||t.setAttribute(r,a):null==(i=this.mediaTheme)||i.removeAttribute(r)};new MutationObserver(t=>{for(let{attributeName:i}of t)e(i)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(e)},A_=function(){let e=e=>{var t;let i=null==(t=this.media)?void 0:t.error;if(!(i instanceof ld)){let{message:e,code:t}=null!=i?i:{};i=new ld(e,t)}if(!(null!=i&&i.fatal)){TK(i),i.data&&TK(`${i.name} data:`,i.data);return}let r=Ae(i,!1);r.message&&Tq(r),TW(i),i.data&&TW(`${i.name} data:`,i.data),vT(this,Av,Ab).call(this,{isDialogOpen:!0})};this.addEventListener("error",e),this.media&&(this.media.errorTranslator=(e={})=>{var t,i,r;if(!((null==(t=this.media)?void 0:t.error)instanceof ld))return e;let a=Ae(null==(i=this.media)?void 0:i.error,!1);return{player_error_code:null==(r=this.media)?void 0:r.error.code,player_error_message:a.message?String(a.message):e.player_error_message,player_error_context:a.context?String(a.context):e.player_error_context}})},AS=function(){var e,t,i,r;let a=()=>vT(this,Av,AT).call(this);null==(t=null==(e=this.media)?void 0:e.textTracks)||t.addEventListener("addtrack",a),null==(r=null==(i=this.media)?void 0:i.textTracks)||r.addEventListener("removetrack",a)},Ak=function(){var e,t;if(!/Firefox/i.test(navigator.userAgent))return;let i,r=new WeakMap,a=()=>this.streamType===lm&&!this.secondaryColor&&this.offsetWidth>=800,s=(e,t,i=!1)=>{a()||Array.from(e&&e.activeCues||[]).forEach(e=>{if(!(!e.snapToLines||e.line<-5||e.line>=0&&e.line<10))if(!t||this.paused){let t=e.text.split(` 3351`).length,a=-3;this.streamType===lm&&(a=-2);let s=a-t;if(e.line===s&&!i)return;r.has(e)||r.set(e,e.line),e.line=s}else setTimeout(()=>{e.line=r.get(e)||"auto"},500)})},n=()=>{var e,t;s(i,null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))&&t)},o=()=>{var e,t;let r=Array.from((null==(t=null==(e=this.mediaController)?void 0:e.media)?void 0:t.textTracks)||[]).filter(e=>["subtitles","captions"].includes(e.kind)&&"showing"===e.mode)[0];r!==i&&(null==i||i.removeEventListener("cuechange",n)),null==(i=r)||i.addEventListener("cuechange",n),s(i,vE(this,Af))};o(),null==(e=this.textTracks)||e.addEventListener("change",o),null==(t=this.textTracks)||t.addEventListener("addtrack",o),this.addEventListener("userinactivechange",()=>{var e,t;let r=null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))||t;vE(this,Af)!==r&&(vb(this,Af,r),s(i,vE(this,Af)))})};var AP=e=>{throw TypeError(e)},AO=(e,t,i)=>t.has(e)||AP("Cannot "+i),AN=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends AN{});var AU,AF=class extends AN{},AB=class{constructor(e,t={}){((e,t,i)=>t.has(e)?AP("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i))(this,AU),((e,t,i,r)=>(AO(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,AU,null==t?void 0:t.detail)}get detail(){let e,t;return AO(this,e=AU,"read from private field"),t?t.call(this):e.get(this)}initCustomEvent(){}};AU=new WeakMap;var A$={document:{createElement:function(e,t){return new AF}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(AF)},CustomEvent:AB,EventTarget:AN,HTMLElement:AF,HTMLVideoElement:class extends AN{}},AH="u"<typeof window||void 0===globalThis.customElements,AG=AH?A$:globalThis;AH&&A$.document,AG.customElements.get("mux-player")||(AG.customElements.define("mux-player",Ax),AG.MuxPlayerElement=Ax);
3351var AV=parseInt(s.default.version)>=19,AK={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"};function AW(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var Aq=Object.prototype.hasOwnProperty,Aj=(e,t,i)=>!((e,t)=>{if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(Array.isArray(e))return!!Array.isArray(t)&&e.length===t.length&&e.some((e,i)=>t[i]===e);let i=Object.keys(e),r=Object.keys(t);if(i.length!==r.length)return!1;for(let r=0;r<i.length;r++)if(!Aq.call(t,i[r])||!Object.is(e[i[r]],t[i[r]]))return!1;return!0})(t,e[i]),AY=(e,t,i)=>{e[i]=t},Az=(e,t,i,r=AY,a=Aj)=>(0,s.useEffect)(()=>{let s=null==i?void 0:i.current;s&&a(s,t,e)&&r(s,t,e)},[null==i?void 0:i.current,t]),AQ=(()=>{try{return"3.9.1"}catch{}return"UNKNOWN"})(),AX=(e,t,i)=>(0,s.useEffect)(()=>{let r=null==t?void 0:t.current;if(r&&i)return r.addEventListener(e,i),()=>{r.removeEventListener(e,i)}},[null==t?void 0:t.current,i,e]),AZ=s.default.forwardRef(({children:e,...t},i)=>s.default.createElement("mux-player",{suppressHydrationWarning:!0,...((e={})=>{let{ref:t,...i}=e;return Object.entries(i).reduce((e,[t,i])=>{let r=((e,t)=>{if(!(!AV&&"boolean"==typeof t&&!t)){let i,r;if(i=e,null!=(r=AK)&&i in r)return AK[e];if(void 0!==t)return/[A-Z]/.test(e)?e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`):e}})(t,i);if(!r)return e;let a=AV||"boolean"!=typeof i?i:"";return e[r]=a,e},{})})(t),ref:i},e)),AJ="mux-player-react",A0=s.default.forwardRef((e,t)=>{var i;let r=(0,s.useRef)(null),a=function(...e){return s.useCallback(function(...e){return t=>{let i=!1,r=e.map(e=>{let r=AW(e,t);return i||"function"!=typeof r||(i=!0),r});if(i)return()=>{for(let t=0;t<r.length;t++){let i=r[t];"function"==typeof i?i():AW(e[t],null)}}}}(...e),e)}(r,t),[n]=((e,t)=>{let{onAbort:i,onCanPlay:r,onCanPlayThrough:a,onEmptied:s,onLoadStart:n,onLoadedData:o,onLoadedMetadata:l,onProgress:d,onDurationChange:u,onVolumeChange:h,onRateChange:c,onResize:m,onWaiting:f,onPlay:p,onPlaying:g,onTimeUpdate:E,onPause:y,onSeeking:b,onSeeked:T,onStalled:A,onSuspend:_,onEnded:S,onError:k,onCuePointChange:L,onChapterChange:R,metadata:I,tokens:w,paused:C,playbackId:D,playbackRates:x,currentTime:M,themeProps:P,extraSourceParams:O,castCustomData:N,_hlsConfig:U,...F}=t;return Az("tokens",w,e),Az("playbackId",D,e),Az("playbackRates",x,e),Az("metadata",I,e),Az("extraSourceParams",O,e),Az("_hlsConfig",U,e),Az("themeProps",P,e),Az("castCustomData",N,e),Az("paused",C,e,(e,t)=>{null!=t&&(t?e.pause():e.play())},(e,t,i)=>(!e.hasAttribute("autoplay")||!!e.hasPlayed)&&Aj(e,t,i)),Az("currentTime",M,e,(e,t)=>{null!=t&&(e.currentTime=t)}),AX("abort",e,i),AX("canplay",e,r),AX("canplaythrough",e,a),AX("emptied",e,s),AX("loadstart",e,n),AX("loadeddata",e,o),AX("loadedmetadata",e,l),AX("progress",e,d),AX("durationchange",e,u),AX("volumechange",e,h),AX("ratechange",e,c),AX("resize",e,m),AX("waiting",e,f),AX("play",e,p),AX("playing",e,g),AX("timeupdate",e,E),AX("pause",e,y),AX("seeking",e,b),AX("seeked",e,T),AX("stalled",e,A),AX("suspend",e,_),AX("ended",e,S),AX("error",e,k),AX("cuepointchange",e,L),AX("chapterchange",e,R),[F]}
3351)(r,e),[o]=(0,s.useState)(null!=(i=e.playerInitTime)?i:dR());return s.default.createElement(AZ,{ref:a,defaultHiddenCaptions:e.defaultHiddenCaptions,playerSoftwareName:AJ,playerSoftwareVersion:AQ,playerInitTime:o,...n})});e.s(["default",0,A0,"playerSoftwareName",0,AJ,"playerSoftwareVersion",0,AQ],68399),e.i(68399),e.s(["MaxResolution",0,{upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},"MediaError",0,ld,"MinResolution",0,{noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},"RenditionOrder",0,{DESCENDING:"desc"},"default",0,A0,"generatePlayerInitTime",0,dR,"playerSoftwareName",0,AJ,"playerSoftwareVersion",0,AQ],42033)},26306,e=>{"use strict";var t=e.i(43476),i=e.i(71645),r=e.i(57688),a=e.i(75254);let s=(0,a.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),n=(0,a.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);var o=e.i(87280);e.s(["StepCard",0,function({step:e,title:a,description:l,mediaSrc:d,mediaAlt:u="",mediaType:h="video",imagePosition:c="right",showButton:m=!1}){let[f,p]=(0,i.useState)(!0),g=(0,i.useRef)(null),E=`step-${e}-heading`,y=(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:gap-2.5",children:[(0,t.jsxs)("span",{className:"font-mono text-sm font-medium uppercase tracking-wide text-muted-foreground","aria-hidden":"true",children:["Step ",e]}),(0,t.jsxs)("h2",{id:E,className:"text-2xl font-medium leading-[1.2] md:text-4xl",children:[(0,t.jsxs)("span",{className:"sr-only",children:["Step ",e,": "]}),a]}),(0,t.jsx)("p",{className:"text-base leading-[1.5] text-muted-foreground md:text-lg",children:l}),m&&(0,t.jsx)("div",{className:"pt-2",children:(0,t.jsx)(o.GetExtensionButton,{variant:"outline"})})]}),b=(0,t.jsxs)("div",{className:"group relative aspect-square w-full overflow-hidden rounded-3xl bg-primary",children:["video"===h?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("video",{ref:g,src:d,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata","aria-label":u||`Step ${e} demonstration: ${a}`,className:"pointer-events-none h-full w-full select-none object-cover",draggable:!1}),(0,t.jsx)("button",{type:"button",onClick:()=>{g.current&&(f?(g.current.pause(),p(!1)):(g.current.play().catch(()=>{}),p(!0)))},className:"absolute right-3 top-3 flex h-8 w-8 cursor-pointer items-center backdrop-blur-md justify-center rounded-full bg-black/10 text-white opacity-0 transition-all duration-300 hover:bg-black/40 group-hover:opacity-100","aria-label":f?"Pause video":"Play video",children:f?(0,t.jsx)(n,{className:"size-4",fill:"white","aria-hidden":"true"}):(0,t.jsx)(s,{className:"size-4",fill:"white","aria-hidden":"true"})})]}):(0,t.jsx)(r.default,{src:d,alt:u,fill:!0,sizes:"(max-width: 768px) 100vw, 50vw",className:"pointer-events-none select-none object-cover",draggable:!1}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-3xl ring-1 ring-inset ring-black/5"})]});return(0,t.jsx)("section",{"aria-labelledby":E,className:"flex flex-col gap-6 px-4 py-8 md:flex-row md:items-center md:gap-12 md:px-6 md:py-12",children:"left"===c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"md:w-1/2",children:b}),(0,t.jsx)("div",{className:"md:w-1/2",children:y})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"order-2 md:order-1 md:w-1/2",children:y}),(0,t.jsx)("div",{className:"order-1 md:order-2 md:w-1/2",children:b})]})})}],26306)},73443,e=>{"use strict";var t=e.i(43476),i=e.i(71645),r=e.i(30030),a=e.i(75830),s=e.i(20783),n=e.i(81140),o=e.i(69340),l=e.i(48425),d=e.i(34620),u=e.i(96626),h=e.i(10772),c="Collapsible",[m,f]=(0,r.createContextScope)(c),[p,g]=m(c),E=i.forwardRef((e,r)=>{let{__scopeCollapsible:a,open:s,defaultOpen:n,disabled:d,onOpenChange:u,...m}=e,[f,g]=(0,o.useControllableState)({prop:s,defaultProp:n??!1,onChange:u,caller:c});return(0,t.jsx)(p,{scope:a,disabled:d,contentId:(0,h.useId)(),open:f,onOpenToggle:i.useCallback(()=>g(e=>!e),[g]),children:(0,t.jsx)(l.Primitive.div,{"data-state":S(f),"data-disabled":d?"":void 0,...m,ref:r})})});E.displayName=c;var y="CollapsibleTrigger",b=i.forwardRef((e,i)=>{let{__scopeCollapsible:r,...a}=e,s=g(y,r);return(0,t.jsx)(l.Primitive.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":S(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...a,ref:i,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)})});b.displayName=y;var T="CollapsibleContent",A=i.forwardRef((e,i)=>{let{forceMount:r,...a}=e,s=g(T,e.__scopeCollapsible);return(0,t.jsx)(u.Presence,{present:r||s.open,children:({present:e})=>(0,t.jsx)(_,{...a,ref:i,present:e})})});A.displayName=T;var _=i.forwardRef((e,r)=>{let{__scopeCollapsible:a,present:n,children:o,...u}=e,h=g(T,a),[c,m]=i.useState(n),f=i.useRef(null),p=(0,s.useComposedRefs)(r,f),E=i.useRef(0),y=E.current,b=i.useRef(0),A=b.current,_=h.open||c,k=i.useRef(_),L=i.useRef(void 0);return i.useEffect(()=>{let e=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.useLayoutEffect)(()=>{let e=f.current;if(e){L.current=L.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();E.current=t.height,b.current=t.width,k.current||(e.style.transitionDuration=L.current.transitionDuration,e.style.animationName=L.current.animationName),m(n)}},[h.open,n]),(0,t.jsx)(l.Primitive.div,{"data-state":S(h.open),"data-disabled":h.disabled?"":void 0,id:h.contentId,hidden:!_,...u,ref:p,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":A?`${A}px`:void 0,...e.style},children:_&&o})});function S(e){return e?"open":"closed"}var k=e.i(86318),L="Accordion",R=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[I,w,C]=(0,a.createCollection)(L),[D,x]=(0,r.createContextScope)(L,[C,f]),M=f(),P=i.default.forwardRef((e,i)=>{let{type:r,...a}=e;return(0,t.jsx)(I.Provider,{scope:e.__scopeAccordion,children:"multiple"===r?(0,t.jsx)($,{...a,ref:i}
3351):(0,t.jsx)(B,{...a,ref:i})})});P.displayName=L;var[O,N]=D(L),[U,F]=D(L,{collapsible:!1}),B=i.default.forwardRef((e,r)=>{let{value:a,defaultValue:s,onValueChange:n=()=>{},collapsible:l=!1,...d}=e,[u,h]=(0,o.useControllableState)({prop:a,defaultProp:s??"",onChange:n,caller:L});return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:i.default.useMemo(()=>u?[u]:[],[u]),onItemOpen:h,onItemClose:i.default.useCallback(()=>l&&h(""),[l,h]),children:(0,t.jsx)(U,{scope:e.__scopeAccordion,collapsible:l,children:(0,t.jsx)(V,{...d,ref:r})})})}),$=i.default.forwardRef((e,r)=>{let{value:a,defaultValue:s,onValueChange:n=()=>{},...l}=e,[d,u]=(0,o.useControllableState)({prop:a,defaultProp:s??[],onChange:n,caller:L}),h=i.default.useCallback(e=>u((t=[])=>[...t,e]),[u]),c=i.default.useCallback(e=>u((t=[])=>t.filter(t=>t!==e)),[u]);return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:d,onItemOpen:h,onItemClose:c,children:(0,t.jsx)(U,{scope:e.__scopeAccordion,collapsible:!0,children:(0,t.jsx)(V,{...l,ref:r})})})}),[H,G]=D(L),V=i.default.forwardRef((e,r)=>{let{__scopeAccordion:a,disabled:o,dir:d,orientation:u="vertical",...h}=e,c=i.default.useRef(null),m=(0,s.useComposedRefs)(c,r),f=w(a),p="ltr"===(0,k.useDirection)(d),g=(0,n.composeEventHandlers)(e.onKeyDown,e=>{if(!R.includes(e.key))return;let t=e.target,i=f().filter(e=>!e.ref.current?.disabled),r=i.findIndex(e=>e.ref.current===t),a=i.length;if(-1===r)return;e.preventDefault();let s=r,n=a-1,o=()=>{(s=r+1)>n&&(s=0)},l=()=>{(s=r-1)<0&&(s=n)};switch(e.key){case"Home":s=0;break;case"End":s=n;break;case"ArrowRight":"horizontal"===u&&(p?o():l());break;case"ArrowDown":"vertical"===u&&o();break;case"ArrowLeft":"horizontal"===u&&(p?l():o());break;case"ArrowUp":"vertical"===u&&l()}let d=s%a;i[d].ref.current?.focus()});return(0,t.jsx)(H,{scope:a,disabled:o,direction:d,orientation:u,children:(0,t.jsx)(I.Slot,{scope:a,children:(0,t.jsx)(l.Primitive.div,{...h,"data-orientation":u,ref:m,onKeyDown:o?void 0:g})})})}),K="AccordionItem",[W,q]=D(K),j=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,value:a,...s}=e,n=G(K,r),o=N(K,r),l=M(r),d=(0,h.useId)(),u=a&&o.value.includes(a)||!1,c=n.disabled||e.disabled;return(0,t.jsx)(W,{scope:r,open:u,disabled:c,triggerId:d,children:(0,t.jsx)(E,{"data-orientation":n.orientation,"data-state":ee(u),...l,...s,ref:i,disabled:c,open:u,onOpenChange:e=>{e?o.onItemOpen(a):o.onItemClose(a)}})})});j.displayName=K;var Y="AccordionHeader",z=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Y,r);return(0,t.jsx)(l.Primitive.h3,{"data-orientation":s.orientation,"data-state":ee(n.open),"data-disabled":n.disabled?"":void 0,...a,ref:i})});z.displayName=Y;var Q="AccordionTrigger",X=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Q,r),o=F(Q,r),l=M(r);return(0,t.jsx)(I.ItemSlot,{scope:r,children:(0,t.jsx)(b,{"aria-disabled":n.open&&!o.collapsible||void 0,"data-orientation":s.orientation,id:n.triggerId,...l,...a,ref:i}
3351)})});X.displayName=Q;var Z="AccordionContent",J=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Z,r),o=M(r);return(0,t.jsx)(A,{role:"region","aria-labelledby":n.triggerId,"data-orientation":s.orientation,...o,...a,ref:i,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function ee(e){return e?"open":"closed"}J.displayName=Z;var et=e.i(31171),et=et,ei=e.i(75157);e.s(["Accordion",0,function({...e}){return(0,t.jsx)(P,{"data-slot":"accordion",...e})},"AccordionContent",0,function({className:e,children:i,...r}){return(0,t.jsx)(J,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...r,children:(0,t.jsx)("div",{className:(0,ei.cn)("pt-0 pb-4",e),children:i})})},"AccordionItem",0,function({className:e,...i}){return(0,t.jsx)(j,{"data-slot":"accordion-item",className:(0,ei.cn)("border-b last:border-b-0",e),...i})},"AccordionTrigger",0,function({className:e,children:i,...r}){return(0,t.jsx)(z,{className:"flex",children:(0,t.jsxs)(X,{"data-slot":"accordion-trigger",className:(0,ei.cn)("group focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",e),...r,children:[(0,t.jsx)("span",{className:"decoration-transparent underline transition-colors duration-200 group-hover:decoration-current",children:i}),(0,t.jsx)(et.default,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]})})}],73443)},72436,e=>{"use strict";var t=e.i(43476),i=e.i(71645);e.i(74080);var r=e.i(91918),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let s=(0,r.createSlot)(`Primitive.${a}`),n=i.forwardRef((e,i)=>{let{asChild:r,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(r?s:a,{...n,ref:i})});return n.displayName=`Primitive.${a}`,{...e,[a]:n}},{}),s="horizontal",n=["horizontal","vertical"],o=i.forwardRef((e,i)=>{var r;let{decorative:o,orientation:l=s,...d}=e,u=(r=l,n.includes(r))?l:s;return(0,t.jsx)(a.div,{"data-orientation":u,...o?{role:"none"}:{"aria-orientation":"vertical"===u?u:void 0,role:"separator"},...d,ref:i})});o.displayName="Separator";var l=e.i(75157);e.s(["Separator",0,function({className:e,orientation:i="horizontal",decorative:r=!0,...a}){return(0,t.jsx)(o,{"data-slot":"separator",decorative:r,orientation:i,className:(0,l.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...a})}],72436)},46798,e=>{"use strict";let t;var i=e.i(43476),r=e.i(71645),a=e.i(81140),s=e.i(20783),n=e.i(30030),o=e.i(26330),l=e.i(10772),d=e.i(53660),u=e.i(74606),h=e.i(96626),c=e.i(48425),m=Symbol("radix.slottable"),f=e.i(69340),p=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),g=r.forwardRef((e,t)=>(0,i.jsx)(c.Primitive.span,{...e,ref:t,style:{...p,...e.style}}));g.displayName="VisuallyHidden";var[E,y]=(0,n.createContextScope)("Tooltip",[d.createPopperScope]),b=(0,d.createPopperScope)(),T="TooltipProvider",A="tooltip.open",[_,S]=E(T),k=e=>{let{__scopeTooltip:t,delayDuration:a=700,skipDelayDuration:s=300,disableHoverableContent:n=!1,children:o}=e,l=r.useRef(!0),d=r.useRef(!1),u=r.useRef(0);return r.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,i.jsx)(_,{scope:t,isOpenDelayedRef:l,delayDuration:a,onOpen:r.useCallback(()=>{window.clearTimeout(u.current),l.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>l.current=!0,s)},[s]),isPointerInTransitRef:d,onPointerInTransitChange:r.useCallback(e=>{d.current=e},[]),disableHoverableContent:n,children:o})};k.displayName=T;var L="Tooltip",[R,I]=E(L),w=e=>{let{__scopeTooltip:t,children:a,open:s,defaultOpen:n,onOpenChange:o,disableHoverableContent:u,delayDuration:h}=e,c=S(L,e.__scopeTooltip),m=b(t),[p,g]=r.useState(null),E=(0,l.useId)(),y=r.useRef(0),T=u??c.disableHoverableContent,_=h??c.delayDuration,k=r.useRef(!1),[I,w]=(0,f.useControllableState)({prop:s,defaultProp:n??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(A))):c.onClose(),o?.(e)},caller:L}),C=r.useMemo(()=>I?k.current?"delayed-open":"instant-open":"closed",[I]),D=r.useCallback(()=>{window.clearTimeout(y.current),y.current=0,k.current=!1,w(!0)},[w]),x=r.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w(!1)},[w]),M=r.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{k.current=!0,w(!0),y.current=0},_)},[_,w]);return r.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,i.jsx)(d.Root,{...m,children:(0,i.jsx)(R,{scope:t,contentId:E,open:I,stateAttribute:C,trigger:p,onTriggerChange:g,onTriggerEnter:r.useCallback(()=>{c.isOpenDelayedRef.current?M():D()},[c.isOpenDelayedRef,M,D]),onTriggerLeave:r.useCallback(()=>{T?x():(window.clearTimeout(y.current),y.current=0)},[x,T]),onOpen:D,onClose:x,disableHoverableContent:T,children:a})})};w.displayName=L;var C="TooltipTrigger",D=r.forwardRef((e,t)=>
3351{let{__scopeTooltip:n,...o}=e,l=I(C,n),u=S(C,n),h=b(n),m=r.useRef(null),f=(0,s.useComposedRefs)(t,m,l.onTriggerChange),p=r.useRef(!1),g=r.useRef(!1),E=r.useCallback(()=>p.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),(0,i.jsx)(d.Anchor,{asChild:!0,...h,children:(0,i.jsx)(c.Primitive.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...o,ref:f,onPointerMove:(0,a.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||u.isPointerInTransitRef.current||(l.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,a.composeEventHandlers)(e.onPointerLeave,()=>{l.onTriggerLeave(),g.current=!1}),onPointerDown:(0,a.composeEventHandlers)(e.onPointerDown,()=>{l.open&&l.onClose(),p.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{p.current||l.onOpen()}),onBlur:(0,a.composeEventHandlers)(e.onBlur,l.onClose),onClick:(0,a.composeEventHandlers)(e.onClick,l.onClose)})})});D.displayName=C;var x="TooltipPortal",[M,P]=E(x,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:a,container:s}=e,n=I(x,t);return(0,i.jsx)(M,{scope:t,forceMount:r,children:(0,i.jsx)(h.Presence,{present:r||n.open,children:(0,i.jsx)(u.Portal,{asChild:!0,container:s,children:a})})})};O.displayName=x;var N="TooltipContent",U=r.forwardRef((e,t)=>{let r=P(N,e.__scopeTooltip),{forceMount:a=r.forceMount,side:s="top",...n}=e,o=I(N,e.__scopeTooltip);return(0,i.jsx)(h.Presence,{present:a||o.open,children:o.disableHoverableContent?(0,i.jsx)(G,{side:s,...n,ref:t}):(0,i.jsx)(F,{side:s,...n,ref:t})})}),F=r.forwardRef((e,t)=>{let a=I(N,e.__scopeTooltip),n=S(N,e.__scopeTooltip),o=r.useRef(null),l=(0,s.useComposedRefs)(t,o),[d,u]=r.useState(null),{trigger:h,onClose:c}=a,m=o.current,{onPointerInTransitChange:f}=n,p=r.useCallback(()=>{u(null),f(!1)},[f]),g=r.useCallback((e,t)=>{let i,r=e.currentTarget,a={x:e.clientX,y:e.clientY},s=function(e,t){let i=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(i,r,a,s)){case s:return"left";case a:return"right";case i:return"top";case r:return"bottom";default:throw Error("unreachable")}}(a,r.getBoundingClientRect());u(((i=[...function(e,t,i=5){let r=[];switch(t){case"top":r.push({x:e.x-i,y:e.y+i},{x:e.x+i,y:e.y+i});break;case"bottom":r.push({x:e.x-i,y:e.y-i},{x:e.x+i,y:e.y-i});break;case"left":r.push({x:e.x+i,y:e.y-i},{x:e.x+i,y:e.y+i});break;case"right":r.push({x:e.x-i,y:e.y-i},{x:e.x-i,y:e.y+i})}return r}(a,s),...function(e){let{top:t,right:i,bottom:r,left:a}=e;return[{x:a,y:t},{x:i,y:t},{x:i,y:r},{x:a,y:r}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let i=0;i<e.length;i++){let r=e[i];for(;t.length>=2;){let e=t[t.length-1],i=t[t.length-2];if((e.x-i.x)*(r.y-i.y)>=(e.y-i.y)*(r.x-i.x))t.pop();else break}t.push(r)}t.pop();let i=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;i.length>=2;){let e=i[i.length-1],t=i[i.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))i.pop();else break}i.push(r)}return(i.pop(),1===t.length&&1===i.length&&t[0].x===i[0].x&&t[0].y===i[0].y)?t:t.concat(i)}(i))),f(!0)},[f]);return r.useEffect(()=>()=>p(),[p]),r.useEffect(()=>{if(h&&m){let e=e=>g(e,m),t=e=>g(e,h);return h.addEventListener("pointerleave",e),m.addEventListener("pointerleave",t),()=>{h.removeEventListener("pointerleave",e),m.removeEventListener("pointerleave",t)}}},[h,m,g,p]),r.useEffect(()=>{if(d){let e=e=>{let t=e.target,i={x:e.clientX,y:e.clientY},r=h?.contains(t)||m?.contains(t),a=!function(e,t){let{x:i,y:r}=e,a=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let n=t[e],o=t[s],l=n.x,d=n.y,u=o.x,h=o.y;d>r!=h>r&&i<(u-l)*(r-d)/(h-d)+l&&(a=!a)}return a}(i,d);r?p():a&&(p(),c())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[h,m,d,c,p]),(0,i.jsx)(G,{...e,ref:l})}),[B,$]=E(L,{isInside:!1}),H=((t=({children:e})=>(0,i.jsx)(i.Fragment,{children:e})).displayName="TooltipContent.Slottable",t.__radixId=m,t),G=r.forwardRef((e,t)=>
3351{let{__scopeTooltip:a,children:s,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:u,...h}=e,c=I(N,a),m=b(a),{onClose:f}=c;return r.useEffect(()=>(document.addEventListener(A,f),()=>document.removeEventListener(A,f)),[f]),r.useEffect(()=>{if(c.trigger){let e=e=>{let t=e.target;t?.contains(c.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[c.trigger,f]),(0,i.jsx)(o.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,i.jsxs)(d.Content,{"data-state":c.stateAttribute,...m,...h,ref:t,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,i.jsx)(H,{children:s}),(0,i.jsx)(B,{scope:a,isInside:!0,children:(0,i.jsx)(g,{id:c.contentId,role:"tooltip",children:n||s})})]})})});U.displayName=N;var V="TooltipArrow",K=r.forwardRef((e,t)=>{let{__scopeTooltip:r,...a}=e,s=b(r);return $(V,r).isInside?null:(0,i.jsx)(d.Arrow,{...s,...a,ref:t})});K.displayName=V;var W=e.i(75157);function q({delayDuration:e=0,...t}){return(0,i.jsx)(k,{"data-slot":"tooltip-provider",delayDuration:e,...t})}e.s(["Tooltip",0,function({...e}){return(0,i.jsx)(q,{children:(0,i.jsx)(w,{"data-slot":"tooltip",...e})})},"TooltipContent",0,function({className:e,sideOffset:t=0,children:r,...a}){return(0,i.jsx)(O,{children:(0,i.jsxs)(U,{"data-slot":"tooltip-content",sideOffset:t,className:(0,W.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...a,children:[r,(0,i.jsx)(K,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})},"TooltipProvider",0,q,"TooltipTrigger",0,function({...e}){return(0,i.jsx)(D,{"data-slot":"tooltip-trigger",...e})}],46798)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.