@munsonlabs/video-player 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -1
- package/dist/chunks/brightcove-BjpjJMHX.mjs +1 -0
- package/dist/chunks/brightcove-mjKXQYMp.mjs +1 -0
- package/dist/chunks/constants-DZGeSme4.mjs +1 -0
- package/dist/chunks/dailymotion-B6CwDPyk.mjs +1 -0
- package/dist/chunks/dailymotion-BhvOCSDo.mjs +1 -0
- package/dist/chunks/jwplayer-CNDwSK03.mjs +1 -0
- package/dist/chunks/jwplayer-eDjA1f7V.mjs +1 -0
- package/dist/chunks/tech-DYVa4zaY.mjs +1 -0
- package/dist/chunks/tech-hIKMwrTq.mjs +1 -0
- package/dist/chunks/video.cjs-gZWrkL0e.mjs +239 -0
- package/dist/chunks/videojs.ads-jA_s2l9Y.mjs +3 -0
- package/dist/chunks/videojs.ima-Ccon1y6f.mjs +2 -0
- package/dist/chunks/vimeo-D1LvZaNd.mjs +15 -0
- package/dist/chunks/vimeo-yir3kEbO.mjs +1 -0
- package/dist/chunks/youtube-BE1BWyQG.mjs +1 -0
- package/dist/chunks/youtube-VA8teDMJ.mjs +1 -0
- package/dist/element.d.mts +27 -2
- package/dist/element.mjs +1 -1
- package/dist/index.d.mts +205 -1
- package/dist/index.mjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/chunks/VideoItem-C2dc1Nw7.mjs +0 -1
- package/dist/chunks/brightcove-CQ7KZDbD.mjs +0 -1
- package/dist/chunks/dailymotion-BgVShGbi.mjs +0 -1
- package/dist/chunks/index-DCRJ3iTc.d.mts +0 -204
- package/dist/chunks/jwplayer-C3SeHLno.mjs +0 -1
- package/dist/chunks/vimeo-BHc3ewpt.mjs +0 -1
- package/dist/chunks/youtube-CNXFp2IX.mjs +0 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o(((e,t)=>{t.exports=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{}})),u=o(((e,t)=>{var n=Array.prototype.slice;t.exports=r;function r(e,t){for((`length`in e)||(e=[e]),e=n.call(e);e.length;){var r=e.shift(),i=t(r);if(i)return i;r.childNodes&&r.childNodes.length&&(e=n.call(r.childNodes).concat(e))}}})),d=o(((e,t)=>{t.exports=n;function n(e,t){if(!(this instanceof n))return new n(e,t);this.data=e,this.nodeValue=e,this.length=e.length,this.ownerDocument=t||null}n.prototype.nodeType=8,n.prototype.nodeName=`#comment`,n.prototype.toString=function(){return`[object Comment]`}})),f=o(((e,t)=>{t.exports=n;function n(e,t){if(!(this instanceof n))return new n(e);this.data=e||``,this.length=this.data.length,this.ownerDocument=t||null}n.prototype.type=`DOMTextNode`,n.prototype.nodeType=3,n.prototype.nodeName=`#text`,n.prototype.toString=function(){return this.data},n.prototype.replaceData=function(e,t,n){var r=this.data,i=r.substring(0,e),a=r.substring(e+t,r.length);this.data=i+n+a,this.length=this.data.length}})),p=o(((e,t)=>{t.exports=n;function n(e){var t=this,n=e.type;e.target||=t,t.listeners||={};var r=t.listeners[n];if(r)return r.forEach(function(n){e.currentTarget=t,typeof n==`function`?n(e):n.handleEvent(e)});t.parentNode&&t.parentNode.dispatchEvent(e)}})),m=o(((e,t)=>{t.exports=n;function n(e,t){var n=this;n.listeners||={},n.listeners[e]||(n.listeners[e]=[]),n.listeners[e].indexOf(t)===-1&&n.listeners[e].push(t)}})),h=o(((e,t)=>{t.exports=n;function n(e,t){var n=this;if(n.listeners&&n.listeners[e]){var r=n.listeners[e],i=r.indexOf(t);i!==-1&&r.splice(i,1)}}})),g=o(((e,t)=>{t.exports=r;var n=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`];function r(e){switch(e.nodeType){case 3:return u(e.data);case 8:return`<!--`+e.data+`-->`;default:return i(e)}}function i(e){var t=[],i=e.tagName;return e.namespaceURI===`http://www.w3.org/1999/xhtml`&&(i=i.toLowerCase()),t.push(`<`+i+l(e)+s(e)),n.indexOf(i)>-1?t.push(` />`):(t.push(`>`),e.childNodes.length?t.push.apply(t,e.childNodes.map(r)):e.textContent||e.innerText?t.push(u(e.textContent||e.innerText)):e.innerHTML&&t.push(e.innerHTML),t.push(`</`+i+`>`)),t.join(``)}function a(e,t){var n=typeof e[t];return t===`style`&&Object.keys(e.style).length>0?!0:e.hasOwnProperty(t)&&(n===`string`||n===`boolean`||n===`number`)&&t!==`nodeName`&&t!==`className`&&t!==`tagName`&&t!==`textContent`&&t!==`innerText`&&t!==`namespaceURI`&&t!==`innerHTML`}function o(e){if(typeof e==`string`)return e;var t=``;return Object.keys(e).forEach(function(n){var r=e[n];n=n.replace(/[A-Z]/g,function(e){return`-`+e.toLowerCase()}),t+=n+`:`+r+`;`}),t}function s(e){var t=e.dataset,n=[];for(var r in t)n.push({name:`data-`+r,value:t[r]});return n.length?c(n):``}function c(e){var t=[];return e.forEach(function(e){var n=e.name,r=e.value;n===`style`&&(r=o(r)),t.push(n+`="`+d(r)+`"`)}),t.length?` `+t.join(` `):``}function l(e){var t=[];for(var n in e)a(e,n)&&t.push({name:n,value:e[n]});for(var r in e._attributes)for(var i in e._attributes[r]){var o=e._attributes[r][i],s=(o.prefix?o.prefix+`:`:``)+i;t.push({name:s,value:o.value})}return e.className&&t.push({name:`class`,value:e.className}),t.length?c(t):``}function u(e){var t=``;return typeof e==`string`?t=e:e&&(t=e.toString()),t.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}function d(e){return u(e).replace(/"/g,`"`)}})),_=o(((e,t)=>{var n=u(),r=p(),i=m(),a=h(),o=g(),s=`http://www.w3.org/1999/xhtml`;t.exports=c;function c(e,t,n){if(!(this instanceof c))return new c(e);var r=n===void 0?s:n||null;this.tagName=r===s?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={},this.tagName===`INPUT`&&(this.type=`text`)}c.prototype.type=`DOMElement`,c.prototype.nodeType=1,c.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e},c.prototype.replaceChild=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var n=this.childNodes.indexOf(t);return t.parentNode=null,this.childNodes[n]=e,e.parentNode=this,t},c.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e},c.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var n=t==null?-1:this.childNodes.indexOf(t);return n>-1?this.childNodes.splice(n,0,e):this.childNodes.push(e),e.parentNode=this,e},c.prototype.setAttributeNS=function(e,t,n){var r=null,i=t,a=t.indexOf(`:`);if(a>-1&&(r=t.substr(0,a),i=t.substr(a+1)),this.tagName===`INPUT`&&t===`type`)this.type=n;else{var o=this._attributes[e]||(this._attributes[e]={});o[i]={value:n,prefix:r}}},c.prototype.getAttributeNS=function(e,t){var n=this._attributes[e],r=n&&n[t]&&n[t].value;return this.tagName===`INPUT`&&t===`type`?this.type:typeof r==`string`?r:null},c.prototype.removeAttributeNS=function(e,t){if(Object.prototype.hasOwnProperty.call(this._attributes,e)){var n=this._attributes[e];n&&Object.prototype.hasOwnProperty.call(n,t)&&delete n[t]}},c.prototype.hasAttributeNS=function(e,t){var n=this._attributes[e];return!!n&&t in n},c.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t)},c.prototype.getAttribute=function(e){return this.getAttributeNS(null,e)},c.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e)},c.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e)},c.prototype.removeEventListener=a,c.prototype.addEventListener=i,c.prototype.dispatchEvent=r,c.prototype.focus=function(){},c.prototype.toString=function(){return o(this)},c.prototype.getElementsByClassName=function(e){var t=e.split(` `),r=[];return n(this,function(e){if(e.nodeType===1){var n=(e.className||``).split(` `);t.every(function(e){return n.indexOf(e)!==-1})&&r.push(e)}}),r},c.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return n(this.childNodes,function(n){n.nodeType===1&&(e===`*`||n.tagName.toLowerCase()===e)&&t.push(n)}),t},c.prototype.contains=function(e){return n(this,function(t){return e===t})||!1}})),v=o(((e,t)=>{var n=_();t.exports=r;function r(e){if(!(this instanceof r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=e||null}r.prototype.type=`DocumentFragment`,r.prototype.nodeType=11,r.prototype.nodeName=`#document-fragment`,r.prototype.appendChild=n.prototype.appendChild,r.prototype.replaceChild=n.prototype.replaceChild,r.prototype.removeChild=n.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(e){return String(e)}).join(``)}})),y=o(((e,t)=>{t.exports=n;function n(e){}n.prototype.initEvent=function(e,t,n){this.type=e,this.bubbles=t,this.cancelable=n},n.prototype.preventDefault=function(){}})),b=o(((e,t)=>{var n=u(),r=d(),i=f(),a=_(),o=v(),s=y(),c=p(),l=m(),g=h();t.exports=b;function b(){if(!(this instanceof b))return new b;this.head=this.createElement(`head`),this.body=this.createElement(`body`),this.documentElement=this.createElement(`html`),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var x=b.prototype;x.createTextNode=function(e){return new i(e,this)},x.createElementNS=function(e,t){var n=e===null?null:String(e);return new a(t,this,n)},x.createElement=function(e){return new a(e,this)},x.createDocumentFragment=function(){return new o(this)},x.createEvent=function(e){return new s(e)},x.createComment=function(e){return new r(e,this)},x.getElementById=function(e){return e=String(e),n(this.childNodes,function(t){if(String(t.id)===e)return t})||null},x.getElementsByClassName=a.prototype.getElementsByClassName,x.getElementsByTagName=a.prototype.getElementsByTagName,x.contains=a.prototype.contains,x.removeEventListener=g,x.addEventListener=l,x.dispatchEvent=c})),x=o(((e,t)=>{t.exports=new(b())})),S=o(((e,t)=>{var n=typeof global<`u`?global:typeof window<`u`?window:{},r=x(),i;typeof document<`u`?i=document:(i=n[`__GLOBAL_DOCUMENT_CACHE@4`],i||=n[`__GLOBAL_DOCUMENT_CACHE@4`]=r),t.exports=i})),C=o(((e,t)=>{function n(){return t.exports=n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.exports.__esModule=!0,t.exports.default=t.exports,n.apply(null,arguments)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),w=o(((e,t)=>{t.exports=r;var n=Object.prototype.toString;function r(e){if(!e)return!1;var t=n.call(e);return t===`[object Function]`||typeof e==`function`&&t!==`[object RegExp]`||typeof window<`u`&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}})),T=o(((e,t)=>{function n(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=r(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r(e,t){if(e){if(typeof e==`string`)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}}function i(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}t.exports=function(){function e(){this.typeToInterceptorsMap_=new Map,this.enabled_=!1}var t=e.prototype;return t.getIsEnabled=function(){return this.enabled_},t.enable=function(){this.enabled_=!0},t.disable=function(){this.enabled_=!1},t.reset=function(){this.typeToInterceptorsMap_=new Map,this.enabled_=!1},t.addInterceptor=function(e,t){this.typeToInterceptorsMap_.has(e)||this.typeToInterceptorsMap_.set(e,new Set);var n=this.typeToInterceptorsMap_.get(e);return n.has(t)?!1:(n.add(t),!0)},t.removeInterceptor=function(e,t){var n=this.typeToInterceptorsMap_.get(e);return n&&n.has(t)?(n.delete(t),!0):!1},t.clearInterceptorsByType=function(e){return this.typeToInterceptorsMap_.get(e)?(this.typeToInterceptorsMap_.delete(e),this.typeToInterceptorsMap_.set(e,new Set),!0):!1},t.clear=function(){return this.typeToInterceptorsMap_.size?(this.typeToInterceptorsMap_=new Map,!0):!1},t.getForType=function(e){return this.typeToInterceptorsMap_.get(e)||new Set},t.execute=function(e,t){for(var r=n(this.getForType(e)),i;!(i=r()).done;){var a=i.value;try{t=a(t)}catch{}}return t},e}()})),E=o(((e,t)=>{var n=function(){function e(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1}var t=e.prototype;return t.getIsEnabled=function(){return this.enabled_},t.enable=function(){this.enabled_=!0},t.disable=function(){this.enabled_=!1},t.reset=function(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1},t.getMaxAttempts=function(){return this.maxAttempts_},t.setMaxAttempts=function(e){this.maxAttempts_=e},t.getDelayFactor=function(){return this.delayFactor_},t.setDelayFactor=function(e){this.delayFactor_=e},t.getFuzzFactor=function(){return this.fuzzFactor_},t.setFuzzFactor=function(e){this.fuzzFactor_=e},t.getInitialDelay=function(){return this.initialDelay_},t.setInitialDelay=function(e){this.initialDelay_=e},t.createRetry=function(e){var t=e===void 0?{}:e,n=t.maxAttempts,i=t.delayFactor,a=t.fuzzFactor,o=t.initialDelay;return new r({maxAttempts:n||this.maxAttempts_,delayFactor:i||this.delayFactor_,fuzzFactor:a||this.fuzzFactor_,initialDelay:o||this.initialDelay_})},e}(),r=function(){function e(e){this.maxAttempts_=e.maxAttempts,this.delayFactor_=e.delayFactor,this.fuzzFactor_=e.fuzzFactor,this.currentDelay_=e.initialDelay,this.currentAttempt_=1}var t=e.prototype;return t.moveToNextAttempt=function(){this.currentAttempt_++;var e=this.currentDelay_*this.delayFactor_;this.currentDelay_+=e},t.shouldRetry=function(){return this.currentAttempt_<this.maxAttempts_},t.getCurrentDelay=function(){return this.currentDelay_},t.getCurrentMinPossibleDelay=function(){return(1-this.fuzzFactor_)*this.currentDelay_},t.getCurrentMaxPossibleDelay=function(){return(1+this.fuzzFactor_)*this.currentDelay_},t.getCurrentFuzzedDelay=function(){var e=this.getCurrentMinPossibleDelay(),t=this.getCurrentMaxPossibleDelay();return e+Math.random()*(t-e)},e}();t.exports=n})),ee=o(((e,t)=>{var n=l(),r=function(e,t){return t===void 0&&(t=!1),function(r,a,o){if(r){e(r);return}if(a.statusCode>=400&&a.statusCode<=599){var s=o;if(t)if(n.TextDecoder){var c=i(a.headers&&a.headers[`content-type`]);try{s=new TextDecoder(c).decode(o)}catch{}}else s=String.fromCharCode.apply(null,new Uint8Array(o));e({cause:s});return}e(null,o)}};function i(e){return e===void 0&&(e=``),e.toLowerCase().split(`;`).reduce(function(e,t){var n=t.split(`=`),r=n[0],i=n[1];return r.trim()===`charset`?i.trim():e},`utf-8`)}t.exports=r})),D=o(((e,t)=>{var n=l(),r=C(),i=w(),a=T(),o=E();f.httpHandler=ee(),f.requestInterceptorsStorage=new a,f.responseInterceptorsStorage=new a,f.retryManager=new o;
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>
|
|
6
|
+
* Copyright (c) 2014 David Björklund
|
|
7
|
+
* Available under the MIT license
|
|
8
|
+
* <https://github.com/kesla/parse-headers/blob/master/LICENCE>
|
|
9
|
+
*/
|
|
10
|
+
var s=function(e){var t={};return e&&e.trim().split(`
|
|
11
|
+
`).forEach(function(e){var n=e.indexOf(`:`),r=e.slice(0,n).trim().toLowerCase(),i=e.slice(n+1).trim();t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}),t};t.exports=f,t.exports.default=f,f.XMLHttpRequest=n.XMLHttpRequest||h,f.XDomainRequest=`withCredentials`in new f.XMLHttpRequest?f.XMLHttpRequest:n.XDomainRequest,c([`get`,`put`,`post`,`patch`,`head`,`delete`],function(e){f[e===`delete`?`del`:e]=function(t,n,r){return n=d(t,n,r),n.method=e.toUpperCase(),p(n)}});function c(e,t){for(var n=0;n<e.length;n++)t(e[n])}function u(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function d(e,t,n){var a=e;return i(t)?(n=t,typeof e==`string`&&(a={uri:e})):a=r({},t,{uri:e}),a.callback=n,a}function f(e,t,n){return t=d(e,t,n),p(t)}function p(e){if(e.callback===void 0)throw Error(`callback argument missing`);if(e.requestType&&f.requestInterceptorsStorage.getIsEnabled()){var t={uri:e.uri||e.url,headers:e.headers||{},body:e.body,metadata:e.metadata||{},retry:e.retry,timeout:e.timeout},n=f.requestInterceptorsStorage.execute(e.requestType,t);e.uri=n.uri,e.headers=n.headers,e.body=n.body,e.metadata=n.metadata,e.retry=n.retry,e.timeout=n.timeout}var r=!1,i=function(t,n,i){r||(r=!0,e.callback(t,n,i))};function a(){d.readyState===4&&!f.responseInterceptorsStorage.getIsEnabled()&&setTimeout(l,0)}function o(){var e=void 0;if(e=d.response?d.response:d.responseText||m(d),S)try{e=JSON.parse(e)}catch{}return e}function c(t){if(clearTimeout(C),clearTimeout(e.retryTimeout),t instanceof Error||(t=Error(``+(t||`Unknown XMLHttpRequest Error`))),t.statusCode=0,!g&&f.retryManager.getIsEnabled()&&e.retry&&e.retry.shouldRetry()){e.retryTimeout=setTimeout(function(){e.retry.moveToNextAttempt(),e.xhr=d,p(e)},e.retry.getCurrentFuzzedDelay());return}if(e.requestType&&f.responseInterceptorsStorage.getIsEnabled()){var n={headers:w.headers||{},body:w.body,responseUrl:d.responseURL,responseType:d.responseType},r=f.responseInterceptorsStorage.execute(e.requestType,n);w.body=r.body,w.headers=r.headers}return i(t,w)}function l(){if(!g){var t;clearTimeout(C),clearTimeout(e.retryTimeout),t=e.useXDR&&d.status===void 0?200:d.status===1223?204:d.status;var n=w,r=null;if(t===0?r=Error(`Internal XMLHttpRequest Error`):(n={body:o(),statusCode:t,method:v,headers:{},url:_,rawRequest:d},d.getAllResponseHeaders&&(n.headers=s(d.getAllResponseHeaders()))),e.requestType&&f.responseInterceptorsStorage.getIsEnabled()){var a={headers:n.headers||{},body:n.body,responseUrl:d.responseURL,responseType:d.responseType},c=f.responseInterceptorsStorage.execute(e.requestType,a);n.body=c.body,n.headers=c.headers}return i(r,n,n.body)}}var d=e.xhr||null;d||=e.cors||e.useXDR?new f.XDomainRequest:new f.XMLHttpRequest;var h,g,_=d.url=e.uri||e.url,v=d.method=e.method||`GET`,y=e.body||e.data,b=d.headers=e.headers||{},x=!!e.sync,S=!1,C,w={body:void 0,headers:{},statusCode:0,method:v,url:_,rawRequest:d};if(`json`in e&&e.json!==!1&&(S=!0,b.accept||b.Accept||(b.Accept=`application/json`),v!==`GET`&&v!==`HEAD`&&(b[`content-type`]||b[`Content-Type`]||(b[`Content-Type`]=`application/json`),y=JSON.stringify(e.json===!0?y:e.json))),d.onreadystatechange=a,d.onload=l,d.onerror=c,d.onprogress=function(){},d.onabort=function(){g=!0,clearTimeout(e.retryTimeout)},d.ontimeout=c,d.open(v,_,!x,e.username,e.password),x||(d.withCredentials=!!e.withCredentials),!x&&e.timeout>0&&(C=setTimeout(function(){if(!g){g=!0,d.abort(`timeout`);var e=Error(`XMLHttpRequest timeout`);e.code=`ETIMEDOUT`,c(e)}},e.timeout)),d.setRequestHeader)for(h in b)b.hasOwnProperty(h)&&d.setRequestHeader(h,b[h]);else if(e.headers&&!u(e.headers))throw Error(`Headers cannot be set on an XDomainRequest object`);return`responseType`in e&&(d.responseType=e.responseType),`beforeSend`in e&&typeof e.beforeSend==`function`&&e.beforeSend(d),d.send(y||null),d}function m(e){try{if(e.responseType===`document`)return e.responseXML;var t=e.responseXML&&e.responseXML.documentElement.nodeName===`parsererror`;if(e.responseType===``&&!t)return e.responseXML}catch{}return null}function h(){}})),O=o(((e,t)=>{var n=S(),r=Object.create||(function(){function e(){}return function(t){if(arguments.length!==1)throw Error(`Object.create shim only accepts one parameter.`);return e.prototype=t,new e}})();function i(e,t){this.name=`ParsingError`,this.code=e.code,this.message=t||e.message}i.prototype=r(Error.prototype),i.prototype.constructor=i,i.Errors={BadSignature:{code:0,message:`Malformed WebVTT signature.`},BadTimeStamp:{code:1,message:`Malformed time stamp.`}};function a(e){function t(e,t,n,r){return(e|0)*3600+(t|0)*60+(n|0)+(r|0)/1e3}var n=e.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return n?n[3]?t(n[1],n[2],n[3].replace(`:`,``),n[4]):n[1]>59?t(n[1],n[2],0,n[4]):t(0,n[1],n[2],n[4]):null}function o(){this.values=r(null)}o.prototype={set:function(e,t){!this.get(e)&&t!==``&&(this.values[e]=t)},get:function(e,t,n){return n?this.has(e)?this.values[e]:t[n]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,n){for(var r=0;r<n.length;++r)if(t===n[r]){this.set(e,t);break}},integer:function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(t=parseFloat(t),t>=0&&t<=100)?(this.set(e,t),!0):!1}};function s(e,t,n,r){var i=r?e.split(r):[e];for(var a in i)if(typeof i[a]==`string`){var o=i[a].split(n);o.length===2&&t(o[0].trim(),o[1].trim())}}function c(e,t,n){var r=e;function c(){var t=a(e);if(t===null)throw new i(i.Errors.BadTimeStamp,`Malformed timestamp: `+r);return e=e.replace(/^[^\sa-zA-Z-]+/,``),t}function l(e,t){var r=new o;s(e,function(e,t){switch(e){case`region`:for(var i=n.length-1;i>=0;i--)if(n[i].id===t){r.set(e,n[i].region);break}break;case`vertical`:r.alt(e,t,[`rl`,`lr`]);break;case`line`:var a=t.split(`,`),o=a[0];r.integer(e,o),r.percent(e,o)&&r.set(`snapToLines`,!1),r.alt(e,o,[`auto`]),a.length===2&&r.alt(`lineAlign`,a[1],[`start`,`center`,`end`]);break;case`position`:a=t.split(`,`),r.percent(e,a[0]),a.length===2&&r.alt(`positionAlign`,a[1],[`start`,`center`,`end`]);break;case`size`:r.percent(e,t);break;case`align`:r.alt(e,t,[`start`,`center`,`end`,`left`,`right`]);break}},/:/,/\s/),t.region=r.get(`region`,null),t.vertical=r.get(`vertical`,``);try{t.line=r.get(`line`,`auto`)}catch{}t.lineAlign=r.get(`lineAlign`,`start`),t.snapToLines=r.get(`snapToLines`,!0),t.size=r.get(`size`,100);try{t.align=r.get(`align`,`center`)}catch{t.align=r.get(`align`,`middle`)}try{t.position=r.get(`position`,`auto`)}catch{t.position=r.get(`position`,{start:0,left:0,center:50,middle:50,end:100,right:100},t.align)}t.positionAlign=r.get(`positionAlign`,{start:`start`,left:`start`,center:`center`,middle:`center`,end:`end`,right:`end`},t.align)}function u(){e=e.replace(/^\s+/,``)}if(u(),t.startTime=c(),u(),e.substr(0,3)!==`-->`)throw new i(i.Errors.BadTimeStamp,`Malformed time stamp (time stamps must be separated by '-->'): `+r);e=e.substr(3),u(),t.endTime=c(),u(),l(e,t)}var l=n.createElement&&n.createElement(`textarea`),u={c:`span`,i:`i`,b:`b`,u:`u`,ruby:`ruby`,rt:`rt`,v:`span`,lang:`span`},d={white:`rgba(255,255,255,1)`,lime:`rgba(0,255,0,1)`,cyan:`rgba(0,255,255,1)`,red:`rgba(255,0,0,1)`,yellow:`rgba(255,255,0,1)`,magenta:`rgba(255,0,255,1)`,blue:`rgba(0,0,255,1)`,black:`rgba(0,0,0,1)`},f={v:`title`,lang:`lang`},p={rt:`ruby`};function m(e,t){function n(){if(!t)return null;function e(e){return t=t.substr(e.length),e}var n=t.match(/^([^<]*)(<[^>]*>?)?/);return e(n[1]?n[1]:n[2])}function r(e){return l.innerHTML=e,e=l.textContent,l.textContent=``,e}function i(e,t){return!p[t.localName]||p[t.localName]===e.localName}function o(t,n){var r=u[t];if(!r)return null;var i=e.document.createElement(r),a=f[t];return a&&n&&(i[a]=n.trim()),i}for(var s=e.document.createElement(`div`),c=s,m,h=[];(m=n())!==null;){if(m[0]===`<`){if(m[1]===`/`){h.length&&h[h.length-1]===m.substr(2).replace(`>`,``)&&(h.pop(),c=c.parentNode);continue}var g=a(m.substr(1,m.length-2)),_;if(g){_=e.document.createProcessingInstruction(`timestamp`,g),c.appendChild(_);continue}var v=m.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!v||(_=o(v[1],v[3]),!_)||!i(c,_))continue;if(v[2]){var y=v[2].split(`.`);y.forEach(function(e){var t=/^bg_/.test(e),n=t?e.slice(3):e;if(d.hasOwnProperty(n)){var r=t?`background-color`:`color`,i=d[n];_.style[r]=i}}),_.className=y.join(` `)}h.push(v[1]),c.appendChild(_),c=_;continue}c.appendChild(e.document.createTextNode(r(m)))}return s}var h=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function g(e){for(var t=0;t<h.length;t++){var n=h[t];if(e>=n[0]&&e<=n[1])return!0}return!1}function _(e){var t=[],n=``,r;if(!e||!e.childNodes)return`ltr`;function i(e,t){for(var n=t.childNodes.length-1;n>=0;n--)e.push(t.childNodes[n])}function a(e){if(!e||!e.length)return null;var t=e.pop(),n=t.textContent||t.innerText;if(n){var r=n.match(/^.*(\n|\r)/);return r?(e.length=0,r[0]):n}if(t.tagName===`ruby`)return a(e);if(t.childNodes)return i(e,t),a(e)}for(i(t,e);n=a(t);)for(var o=0;o<n.length;o++)if(r=n.charCodeAt(o),g(r))return`rtl`;return`ltr`}function v(e){if(typeof e.line==`number`&&(e.snapToLines||e.line>=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,n=t.textTrackList,r=0,i=0;i<n.length&&n[i]!==t;i++)n[i].mode===`showing`&&r++;return++r*-1}function y(){}y.prototype.applyStyles=function(e,t){for(var n in t||=this.div,e)e.hasOwnProperty(n)&&(t.style[n]=e[n])},y.prototype.formatStyle=function(e,t){return e===0?0:e+t};function b(e,t,n){y.call(this),this.cue=t,this.cueDiv=m(e,t.text);var r={color:`rgba(255, 255, 255, 1)`,backgroundColor:`rgba(0, 0, 0, 0.8)`,position:`relative`,left:0,right:0,top:0,bottom:0,display:`inline`,writingMode:t.vertical===``?`horizontal-tb`:t.vertical===`lr`?`vertical-lr`:`vertical-rl`,unicodeBidi:`plaintext`};this.applyStyles(r,this.cueDiv),this.div=e.document.createElement(`div`),r={direction:_(this.cueDiv),writingMode:t.vertical===``?`horizontal-tb`:t.vertical===`lr`?`vertical-lr`:`vertical-rl`,unicodeBidi:`plaintext`,textAlign:t.align===`middle`?`center`:t.align,font:n.font,whiteSpace:`pre-line`,position:`absolute`},this.applyStyles(r),this.div.appendChild(this.cueDiv);var i=0;switch(t.positionAlign){case`start`:case`line-left`:i=t.position;break;case`center`:i=t.position-t.size/2;break;case`end`:case`line-right`:i=t.position-t.size;break}t.vertical===``?this.applyStyles({left:this.formatStyle(i,`%`),width:this.formatStyle(t.size,`%`)}):this.applyStyles({top:this.formatStyle(i,`%`),height:this.formatStyle(t.size,`%`)}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,`px`),bottom:this.formatStyle(e.bottom,`px`),left:this.formatStyle(e.left,`px`),right:this.formatStyle(e.right,`px`),height:this.formatStyle(e.height,`px`),width:this.formatStyle(e.width,`px`)})}}b.prototype=r(y.prototype),b.prototype.constructor=b;function x(e){var t,n,r,i;if(e.div){n=e.div.offsetHeight,r=e.div.offsetWidth,i=e.div.offsetTop;var a=(a=e.div.childNodes)&&(a=a[0])&&a.getClientRects&&a.getClientRects();e=e.div.getBoundingClientRect(),t=a?Math.max(a[0]&&a[0].height||0,e.height/a.length):0}this.left=e.left,this.right=e.right,this.top=e.top||i,this.height=e.height||n,this.bottom=e.bottom||i+(e.height||n),this.width=e.width||r,this.lineHeight=t===void 0?e.lineHeight:t}x.prototype.move=function(e,t){switch(t=t===void 0?this.lineHeight:t,e){case`+x`:this.left+=t,this.right+=t;break;case`-x`:this.left-=t,this.right-=t;break;case`+y`:this.top+=t,this.bottom+=t;break;case`-y`:this.top-=t,this.bottom-=t;break}},x.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},x.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},x.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},x.prototype.overlapsOppositeAxis=function(e,t){switch(t){case`+x`:return this.left<e.left;case`-x`:return this.right>e.right;case`+y`:return this.top<e.top;case`-y`:return this.bottom>e.bottom}},x.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},x.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},x.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,n=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,r=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e,{left:e.left,right:e.right,top:e.top||r,height:e.height||t,bottom:e.bottom||r+(e.height||t),width:e.width||n}};function C(e,t,n,r){function i(e,t){for(var i,a=new x(e),o=1,s=0;s<t.length;s++){for(;e.overlapsOppositeAxis(n,t[s])||e.within(n)&&e.overlapsAny(r);)e.move(t[s]);if(e.within(n))return e;var c=e.intersectPercentage(n);o>c&&(i=new x(e),o=c),e=new x(a)}return i||a}var a=new x(t),o=t.cue,s=v(o),c=[];if(o.snapToLines){var l;switch(o.vertical){case``:c=[`+y`,`-y`],l=`height`;break;case`rl`:c=[`+x`,`-x`],l=`width`;break;case`lr`:c=[`-x`,`+x`],l=`width`;break}var u=a.lineHeight,d=u*Math.round(s),f=n[l]+u,p=c[0];Math.abs(d)>f&&(d=d<0?-1:1,d*=Math.ceil(f/u)*u),s<0&&(d+=o.vertical===``?n.height:n.width,c=c.reverse()),a.move(p,d)}else{var m=a.lineHeight/n.height*100;switch(o.lineAlign){case`center`:s-=m/2;break;case`end`:s-=m;break}switch(o.vertical){case``:t.applyStyles({top:t.formatStyle(s,`%`)});break;case`rl`:t.applyStyles({left:t.formatStyle(s,`%`)});break;case`lr`:t.applyStyles({right:t.formatStyle(s,`%`)});break}c=[`+y`,`-x`,`+x`,`-y`],a=new x(t)}var h=i(a,c);t.move(h.toCSSCompatValues(n))}function w(){}w.StringDecoder=function(){return{decode:function(e){if(!e)return``;if(typeof e!=`string`)throw Error(`Error - expected string data.`);return decodeURIComponent(encodeURIComponent(e))}}},w.convertCueToDOMTree=function(e,t){return!e||!t?null:m(e,t)};var T=.05,E=`sans-serif`,ee=`1.5%`;w.processCues=function(e,t,n){if(!e||!t||!n)return null;for(;n.firstChild;)n.removeChild(n.firstChild);var r=e.document.createElement(`div`);r.style.position=`absolute`,r.style.left=`0`,r.style.right=`0`,r.style.top=`0`,r.style.bottom=`0`,r.style.margin=ee,n.appendChild(r);function i(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1}if(!i(t)){for(var a=0;a<t.length;a++)r.appendChild(t[a].displayState);return}var o=[],s=x.getSimpleBoxPosition(r),c={font:Math.round(s.height*T*100)/100+`px `+E};(function(){for(var n,i,a=0;a<t.length;a++)i=t[a],n=new b(e,i,c),r.appendChild(n.div),C(e,n,s,o),i.displayState=n.div,o.push(x.getSimpleBoxPosition(n))})()},w.Parser=function(e,t,n){n||(n=t,t={}),t||={},this.window=e,this.vttjs=t,this.state=`INITIAL`,this.buffer=``,this.decoder=n||new TextDecoder(`utf8`),this.regionList=[]},w.Parser.prototype={reportOrThrowError:function(e){if(e instanceof i)this.onparsingerror&&this.onparsingerror(e);else throw e},parse:function(e){var t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function n(){for(var e=t.buffer,n=0;n<e.length&&e[n]!==`\r`&&e[n]!==`
|
|
12
|
+
`;)++n;var r=e.substr(0,n);return e[n]===`\r`&&++n,e[n]===`
|
|
13
|
+
`&&++n,t.buffer=e.substr(n),r}function r(e){var n=new o;if(s(e,function(e,t){switch(e){case`id`:n.set(e,t);break;case`width`:n.percent(e,t);break;case`lines`:n.integer(e,t);break;case`regionanchor`:case`viewportanchor`:var r=t.split(`,`);if(r.length!==2)break;var i=new o;if(i.percent(`x`,r[0]),i.percent(`y`,r[1]),!i.has(`x`)||!i.has(`y`))break;n.set(e+`X`,i.get(`x`)),n.set(e+`Y`,i.get(`y`));break;case`scroll`:n.alt(e,t,[`up`]);break}},/=/,/\s/),n.has(`id`)){var r=new(t.vttjs.VTTRegion||t.window.VTTRegion);r.width=n.get(`width`,100),r.lines=n.get(`lines`,3),r.regionAnchorX=n.get(`regionanchorX`,0),r.regionAnchorY=n.get(`regionanchorY`,100),r.viewportAnchorX=n.get(`viewportanchorX`,0),r.viewportAnchorY=n.get(`viewportanchorY`,100),r.scroll=n.get(`scroll`,``),t.onregion&&t.onregion(r),t.regionList.push({id:n.get(`id`),region:r})}}function l(e){var n=new o;s(e,function(e,t){switch(e){case`MPEGT`:n.integer(e+`S`,t);break;case`LOCA`:n.set(e+`L`,a(t));break}},/[^\d]:/,/,/),t.ontimestampmap&&t.ontimestampmap({MPEGTS:n.get(`MPEGTS`),LOCAL:n.get(`LOCAL`)})}function u(e){e.match(/X-TIMESTAMP-MAP/)?s(e,function(e,t){switch(e){case`X-TIMESTAMP-MAP`:l(t);break}},/=/):s(e,function(e,t){switch(e){case`Region`:r(t);break}},/:/)}try{var d;if(t.state===`INITIAL`){if(!/\r\n|\n/.test(t.buffer))return this;d=n();var f=d.match(/^WEBVTT([ \t].*)?$/);if(!f||!f[0])throw new i(i.Errors.BadSignature);t.state=`HEADER`}for(var p=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(p?p=!1:d=n(),t.state){case`HEADER`:/:/.test(d)?u(d):d||(t.state=`ID`);continue;case`NOTE`:d||(t.state=`ID`);continue;case`ID`:if(/^NOTE($|[ \t])/.test(d)){t.state=`NOTE`;break}if(!d)continue;t.cue=new(t.vttjs.VTTCue||t.window.VTTCue)(0,0,``);try{t.cue.align=`center`}catch{t.cue.align=`middle`}if(t.state=`CUE`,d.indexOf(`-->`)===-1){t.cue.id=d;continue}case`CUE`:try{c(d,t.cue,t.regionList)}catch(e){t.reportOrThrowError(e),t.cue=null,t.state=`BADCUE`;continue}t.state=`CUETEXT`;continue;case`CUETEXT`:var m=d.indexOf(`-->`)!==-1;if(!d||m&&(p=!0)){t.oncue&&t.oncue(t.cue),t.cue=null,t.state=`ID`;continue}t.cue.text&&(t.cue.text+=`
|
|
14
|
+
`),t.cue.text+=d.replace(/\u2028/g,`
|
|
15
|
+
`).replace(/u2029/g,`
|
|
16
|
+
`);continue;case`BADCUE`:d||(t.state=`ID`);continue}}}catch(e){t.reportOrThrowError(e),t.state===`CUETEXT`&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state===`INITIAL`?`BADWEBVTT`:`BADCUE`}return this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),(e.cue||e.state===`HEADER`)&&(e.buffer+=`
|
|
17
|
+
|
|
18
|
+
`,e.parse()),e.state===`INITIAL`)throw new i(i.Errors.BadSignature)}catch(t){e.reportOrThrowError(t)}return e.onflush&&e.onflush(),this}},t.exports=w})),k=o(((e,t)=>{var n=`auto`,r={"":1,lr:1,rl:1},i={start:1,center:1,end:1,left:1,right:1,auto:1,"line-left":1,"line-right":1};function a(e){return typeof e==`string`&&r[e.toLowerCase()]?e.toLowerCase():!1}function o(e){return typeof e==`string`&&i[e.toLowerCase()]?e.toLowerCase():!1}function s(e,t,r){this.hasBeenReset=!1;var i=``,s=!1,c=e,l=t,u=r,d=null,f=``,p=!0,m=`auto`,h=`start`,g=`auto`,_=`auto`,v=100,y=`center`;Object.defineProperties(this,{id:{enumerable:!0,get:function(){return i},set:function(e){i=``+e}},pauseOnExit:{enumerable:!0,get:function(){return s},set:function(e){s=!!e}},startTime:{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`)throw TypeError(`Start time must be set to a number.`);c=e,this.hasBeenReset=!0}},endTime:{enumerable:!0,get:function(){return l},set:function(e){if(typeof e!=`number`)throw TypeError(`End time must be set to a number.`);l=e,this.hasBeenReset=!0}},text:{enumerable:!0,get:function(){return u},set:function(e){u=``+e,this.hasBeenReset=!0}},region:{enumerable:!0,get:function(){return d},set:function(e){d=e,this.hasBeenReset=!0}},vertical:{enumerable:!0,get:function(){return f},set:function(e){var t=a(e);if(t===!1)throw SyntaxError(`Vertical: an invalid or illegal direction string was specified.`);f=t,this.hasBeenReset=!0}},snapToLines:{enumerable:!0,get:function(){return p},set:function(e){p=!!e,this.hasBeenReset=!0}},line:{enumerable:!0,get:function(){return m},set:function(e){if(typeof e!=`number`&&e!==n)throw SyntaxError(`Line: an invalid number or illegal string was specified.`);m=e,this.hasBeenReset=!0}},lineAlign:{enumerable:!0,get:function(){return h},set:function(e){var t=o(e);t?(h=t,this.hasBeenReset=!0):console.warn(`lineAlign: an invalid or illegal string was specified.`)}},position:{enumerable:!0,get:function(){return g},set:function(e){if(e<0||e>100)throw Error(`Position must be between 0 and 100.`);g=e,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return _},set:function(e){var t=o(e);t?(_=t,this.hasBeenReset=!0):console.warn(`positionAlign: an invalid or illegal string was specified.`)}},size:{enumerable:!0,get:function(){return v},set:function(e){if(e<0||e>100)throw Error(`Size must be between 0 and 100.`);v=e,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return y},set:function(e){var t=o(e);if(!t)throw SyntaxError(`align: an invalid or illegal alignment string was specified.`);y=t,this.hasBeenReset=!0}}}),this.displayState=void 0}s.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},t.exports=s})),A=o(((e,t)=>{var n={"":!0,up:!0};function r(e){return typeof e==`string`&&n[e.toLowerCase()]?e.toLowerCase():!1}function i(e){return typeof e==`number`&&e>=0&&e<=100}function a(){var e=100,t=3,n=0,a=100,o=0,s=100,c=``;Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!i(t))throw Error(`Width must be between 0 and 100.`);e=t}},lines:{enumerable:!0,get:function(){return t},set:function(e){if(typeof e!=`number`)throw TypeError(`Lines must be set to a number.`);t=e}},regionAnchorY:{enumerable:!0,get:function(){return a},set:function(e){if(!i(e))throw Error(`RegionAnchorX must be between 0 and 100.`);a=e}},regionAnchorX:{enumerable:!0,get:function(){return n},set:function(e){if(!i(e))throw Error(`RegionAnchorY must be between 0 and 100.`);n=e}},viewportAnchorY:{enumerable:!0,get:function(){return s},set:function(e){if(!i(e))throw Error(`ViewportAnchorY must be between 0 and 100.`);s=e}},viewportAnchorX:{enumerable:!0,get:function(){return o},set:function(e){if(!i(e))throw Error(`ViewportAnchorX must be between 0 and 100.`);o=e}},scroll:{enumerable:!0,get:function(){return c},set:function(e){var t=r(e);t===!1?console.warn(`Scroll: an invalid or illegal string was specified.`):c=t}}})}t.exports=a})),te=o(((e,t)=>{var n=l(),r=t.exports={WebVTT:O(),VTTCue:k(),VTTRegion:A()};n.vttjs=r,n.WebVTT=r.WebVTT;var i=r.VTTCue,a=r.VTTRegion,o=n.VTTCue,s=n.VTTRegion;r.shim=function(){n.VTTCue=i,n.VTTRegion=a},r.restore=function(){n.VTTCue=o,n.VTTRegion=s},n.VTTCue||r.shim()})),ne=o(((e,t)=>{function n(e){return e&&e.__esModule?e:{default:e}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),re=o(((e,t)=>{var n=ne();Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(l()),i=`https://example.com`;e.default=function(e,t){if(/^[a-z]+:/i.test(t))return t;/^data:/.test(e)&&(e=r.default.location&&r.default.location.href||``);var n=/^\/\//.test(e),a=!r.default.location&&!/\/\//i.test(e);e=new r.default.URL(e,r.default.location||i);var o=new URL(t,e);return a?o.href.slice(i.length):n?o.href.slice(o.protocol.length):o.href},t.exports=e.default})),j=o(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var n=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(n,1),n>-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(arguments.length===2)for(var n=t.length,r=0;r<n;++r)t[r].call(this,arguments[1]);else for(var i=Array.prototype.slice.call(arguments,1),a=t.length,o=0;o<a;++o)t[o].apply(this,i)},t.dispose=function(){this.listeners={}},t.pipe=function(e){this.on(`data`,function(t){e.push(t)})},e}(),t.exports=e.default})),ie=o(((e,t)=>{var n=ne();Object.defineProperty(e,"__esModule",{value:!0}),e.default=a;var r=n(l()),i=function(e){return r.default.atob?r.default.atob(e):Buffer.from(e,`base64`).toString(`binary`)};function a(e){for(var t=i(e),n=new Uint8Array(t.length),r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}t.exports=e.default})),ae=o((e=>{
|
|
19
|
+
/*! @name m3u8-parser @version 7.2.0 @license Apache-2.0 */
|
|
20
|
+
Object.defineProperty(e,"__esModule",{value:!0});var t=j(),n=C(),r=ie();function i(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var a=i(t),o=i(n),s=i(r),c=class extends a.default{constructor(){super(),this.buffer=``}push(e){let t;for(this.buffer+=e,t=this.buffer.indexOf(`
|
|
21
|
+
`);t>-1;t=this.buffer.indexOf(`
|
|
22
|
+
`))this.trigger(`data`,this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}};let l=function(e){let t=/([0-9.]*)?@?([0-9.]*)?/.exec(e||``),n={};return t[1]&&(n.length=parseInt(t[1],10)),t[2]&&(n.offset=parseInt(t[2],10)),n},u=function(){return RegExp(`(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))`)},d=function(e){let t={};if(!e)return t;let n=e.split(u()),r=n.length,i;for(;r--;)n[r]!==``&&(i=/([^=]*)=(.*)/.exec(n[r]).slice(1),i[0]=i[0].replace(/^\s+|\s+$/g,``),i[1]=i[1].replace(/^\s+|\s+$/g,``),i[1]=i[1].replace(/^['"](.*)['"]$/g,`$1`),t[i[0]]=i[1]);return t},f=e=>{let t=e.split(`x`),n={};return t[0]&&(n.width=parseInt(t[0],10)),t[1]&&(n.height=parseInt(t[1],10)),n};var p=class extends a.default{constructor(){super(),this.customParsers=[],this.tagMappers=[]}push(e){let t,n;if(e=e.trim(),e.length!==0){if(e[0]!==`#`){this.trigger(`data`,{type:`uri`,uri:e});return}this.tagMappers.reduce((t,n)=>{let r=n(e);return r===e?t:t.concat([r])},[e]).forEach(e=>{for(let t=0;t<this.customParsers.length;t++)if(this.customParsers[t].call(this,e))return;if(e.indexOf(`#EXT`)!==0){this.trigger(`data`,{type:`comment`,text:e.slice(1)});return}if(e=e.replace(`\r`,``),t=/^#EXTM3U/.exec(e),t){this.trigger(`data`,{type:`tag`,tagType:`m3u`});return}if(t=/^#EXTINF:([0-9\.]*)?,?(.*)?$/.exec(e),t){n={type:`tag`,tagType:`inf`},t[1]&&(n.duration=parseFloat(t[1])),t[2]&&(n.title=t[2]),this.trigger(`data`,n);return}if(t=/^#EXT-X-TARGETDURATION:([0-9.]*)?/.exec(e),t){n={type:`tag`,tagType:`targetduration`},t[1]&&(n.duration=parseInt(t[1],10)),this.trigger(`data`,n);return}if(t=/^#EXT-X-VERSION:([0-9.]*)?/.exec(e),t){n={type:`tag`,tagType:`version`},t[1]&&(n.version=parseInt(t[1],10)),this.trigger(`data`,n);return}if(t=/^#EXT-X-MEDIA-SEQUENCE:(\-?[0-9.]*)?/.exec(e),t){n={type:`tag`,tagType:`media-sequence`},t[1]&&(n.number=parseInt(t[1],10)),this.trigger(`data`,n);return}if(t=/^#EXT-X-DISCONTINUITY-SEQUENCE:(\-?[0-9.]*)?/.exec(e),t){n={type:`tag`,tagType:`discontinuity-sequence`},t[1]&&(n.number=parseInt(t[1],10)),this.trigger(`data`,n);return}if(t=/^#EXT-X-PLAYLIST-TYPE:(.*)?$/.exec(e),t){n={type:`tag`,tagType:`playlist-type`},t[1]&&(n.playlistType=t[1]),this.trigger(`data`,n);return}if(t=/^#EXT-X-BYTERANGE:(.*)?$/.exec(e),t){n=o.default(l(t[1]),{type:`tag`,tagType:`byterange`}),this.trigger(`data`,n);return}if(t=/^#EXT-X-ALLOW-CACHE:(YES|NO)?/.exec(e),t){n={type:`tag`,tagType:`allow-cache`},t[1]&&(n.allowed=!/NO/.test(t[1])),this.trigger(`data`,n);return}if(t=/^#EXT-X-MAP:(.*)$/.exec(e),t){if(n={type:`tag`,tagType:`map`},t[1]){let e=d(t[1]);e.URI&&(n.uri=e.URI),e.BYTERANGE&&(n.byterange=l(e.BYTERANGE))}this.trigger(`data`,n);return}if(t=/^#EXT-X-STREAM-INF:(.*)$/.exec(e),t){n={type:`tag`,tagType:`stream-inf`},t[1]&&(n.attributes=d(t[1]),n.attributes.RESOLUTION&&(n.attributes.RESOLUTION=f(n.attributes.RESOLUTION)),n.attributes.BANDWIDTH&&(n.attributes.BANDWIDTH=parseInt(n.attributes.BANDWIDTH,10)),n.attributes[`FRAME-RATE`]&&(n.attributes[`FRAME-RATE`]=parseFloat(n.attributes[`FRAME-RATE`])),n.attributes[`PROGRAM-ID`]&&(n.attributes[`PROGRAM-ID`]=parseInt(n.attributes[`PROGRAM-ID`],10))),this.trigger(`data`,n);return}if(t=/^#EXT-X-MEDIA:(.*)$/.exec(e),t){n={type:`tag`,tagType:`media`},t[1]&&(n.attributes=d(t[1])),this.trigger(`data`,n);return}if(t=/^#EXT-X-ENDLIST/.exec(e),t){this.trigger(`data`,{type:`tag`,tagType:`endlist`});return}if(t=/^#EXT-X-DISCONTINUITY/.exec(e),t){this.trigger(`data`,{type:`tag`,tagType:`discontinuity`});return}if(t=/^#EXT-X-PROGRAM-DATE-TIME:(.*)$/.exec(e),t){n={type:`tag`,tagType:`program-date-time`},t[1]&&(n.dateTimeString=t[1],n.dateTimeObject=new Date(t[1])),this.trigger(`data`,n);return}if(t=/^#EXT-X-KEY:(.*)$/.exec(e),t){n={type:`tag`,tagType:`key`},t[1]&&(n.attributes=d(t[1]),n.attributes.IV&&(n.attributes.IV.substring(0,2).toLowerCase()===`0x`&&(n.attributes.IV=n.attributes.IV.substring(2)),n.attributes.IV=n.attributes.IV.match(/.{8}/g),n.attributes.IV[0]=parseInt(n.attributes.IV[0],16),n.attributes.IV[1]=parseInt(n.attributes.IV[1],16),n.attributes.IV[2]=parseInt(n.attributes.IV[2],16),n.attributes.IV[3]=parseInt(n.attributes.IV[3],16),n.attributes.IV=new Uint32Array(n.attributes.IV))),this.trigger(`data`,n);return}if(t=/^#EXT-X-START:(.*)$/.exec(e),t){n={type:`tag`,tagType:`start`},t[1]&&(n.attributes=d(t[1]),n.attributes[`TIME-OFFSET`]=parseFloat(n.attributes[`TIME-OFFSET`]),n.attributes.PRECISE=/YES/.test(n.attributes.PRECISE)),this.trigger(`data`,n);return}if(t=/^#EXT-X-CUE-OUT-CONT:(.*)?$/.exec(e),t){n={type:`tag`,tagType:`cue-out-cont`},t[1]?n.data=t[1]:n.data=``,this.trigger(`data`,n);return}if(t=/^#EXT-X-CUE-OUT:(.*)?$/.exec(e),t){n={type:`tag`,tagType:`cue-out`},t[1]?n.data=t[1]:n.data=``,this.trigger(`data`,n);return}if(t=/^#EXT-X-CUE-IN:?(.*)?$/.exec(e),t){n={type:`tag`,tagType:`cue-in`},t[1]?n.data=t[1]:n.data=``,this.trigger(`data`,n);return}if(t=/^#EXT-X-SKIP:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`skip`},n.attributes=d(t[1]),n.attributes.hasOwnProperty(`SKIPPED-SEGMENTS`)&&(n.attributes[`SKIPPED-SEGMENTS`]=parseInt(n.attributes[`SKIPPED-SEGMENTS`],10)),n.attributes.hasOwnProperty(`RECENTLY-REMOVED-DATERANGES`)&&(n.attributes[`RECENTLY-REMOVED-DATERANGES`]=n.attributes[`RECENTLY-REMOVED-DATERANGES`].split(` `)),this.trigger(`data`,n);return}if(t=/^#EXT-X-PART:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`part`},n.attributes=d(t[1]),[`DURATION`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=parseFloat(n.attributes[e]))}),[`INDEPENDENT`,`GAP`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=/YES/.test(n.attributes[e]))}),n.attributes.hasOwnProperty(`BYTERANGE`)&&(n.attributes.byterange=l(n.attributes.BYTERANGE)),this.trigger(`data`,n);return}if(t=/^#EXT-X-SERVER-CONTROL:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`server-control`},n.attributes=d(t[1]),[`CAN-SKIP-UNTIL`,`PART-HOLD-BACK`,`HOLD-BACK`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=parseFloat(n.attributes[e]))}),[`CAN-SKIP-DATERANGES`,`CAN-BLOCK-RELOAD`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=/YES/.test(n.attributes[e]))}),this.trigger(`data`,n);return}if(t=/^#EXT-X-PART-INF:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`part-inf`},n.attributes=d(t[1]),[`PART-TARGET`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=parseFloat(n.attributes[e]))}),this.trigger(`data`,n);return}if(t=/^#EXT-X-PRELOAD-HINT:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`preload-hint`},n.attributes=d(t[1]),[`BYTERANGE-START`,`BYTERANGE-LENGTH`].forEach(function(e){if(n.attributes.hasOwnProperty(e)){n.attributes[e]=parseInt(n.attributes[e],10);let t=e===`BYTERANGE-LENGTH`?`length`:`offset`;n.attributes.byterange=n.attributes.byterange||{},n.attributes.byterange[t]=n.attributes[e],delete n.attributes[e]}}),this.trigger(`data`,n);return}if(t=/^#EXT-X-RENDITION-REPORT:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`rendition-report`},n.attributes=d(t[1]),[`LAST-MSN`,`LAST-PART`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=parseInt(n.attributes[e],10))}),this.trigger(`data`,n);return}if(t=/^#EXT-X-DATERANGE:(.*)$/.exec(e),t&&t[1]){n={type:`tag`,tagType:`daterange`},n.attributes=d(t[1]),[`ID`,`CLASS`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=String(n.attributes[e]))}),[`START-DATE`,`END-DATE`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=new Date(n.attributes[e]))}),[`DURATION`,`PLANNED-DURATION`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=parseFloat(n.attributes[e]))}),[`END-ON-NEXT`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=/YES/i.test(n.attributes[e]))}),[`SCTE35-CMD`,` SCTE35-OUT`,`SCTE35-IN`].forEach(function(e){n.attributes.hasOwnProperty(e)&&(n.attributes[e]=n.attributes[e].toString(16))});let e=/^X-([A-Z]+-)+[A-Z]+$/;for(let t in n.attributes){if(!e.test(t))continue;let r=/[0-9A-Fa-f]{6}/g.test(n.attributes[t]),i=/^\d+(\.\d+)?$/.test(n.attributes[t]);n.attributes[t]=r?n.attributes[t].toString(16):i?parseFloat(n.attributes[t]):String(n.attributes[t])}this.trigger(`data`,n);return}if(t=/^#EXT-X-INDEPENDENT-SEGMENTS/.exec(e),t){this.trigger(`data`,{type:`tag`,tagType:`independent-segments`});return}if(t=/^#EXT-X-I-FRAMES-ONLY/.exec(e),t){this.trigger(`data`,{type:`tag`,tagType:`i-frames-only`});return}if(t=/^#EXT-X-CONTENT-STEERING:(.*)$/.exec(e),t){n={type:`tag`,tagType:`content-steering`},n.attributes=d(t[1]),this.trigger(`data`,n);return}if(t=/^#EXT-X-I-FRAME-STREAM-INF:(.*)$/.exec(e),t){n={type:`tag`,tagType:`i-frame-playlist`},n.attributes=d(t[1]),n.attributes.URI&&(n.uri=n.attributes.URI),n.attributes.BANDWIDTH&&(n.attributes.BANDWIDTH=parseInt(n.attributes.BANDWIDTH,10)),n.attributes.RESOLUTION&&(n.attributes.RESOLUTION=f(n.attributes.RESOLUTION)),n.attributes[`AVERAGE-BANDWIDTH`]&&(n.attributes[`AVERAGE-BANDWIDTH`]=parseInt(n.attributes[`AVERAGE-BANDWIDTH`],10)),n.attributes[`FRAME-RATE`]&&(n.attributes[`FRAME-RATE`]=parseFloat(n.attributes[`FRAME-RATE`])),this.trigger(`data`,n);return}if(t=/^#EXT-X-DEFINE:(.*)$/.exec(e),t){n={type:`tag`,tagType:`define`},n.attributes=d(t[1]),this.trigger(`data`,n);return}this.trigger(`data`,{type:`tag`,data:e.slice(4)})})}}addParser({expression:e,customType:t,dataParser:n,segment:r}){typeof n!=`function`&&(n=e=>e),this.customParsers.push(i=>{if(e.exec(i))return this.trigger(`data`,{type:`custom`,data:n(i),customType:t,segment:r}),!0})}addTagMapper({expression:e,map:t}){this.tagMappers.push(n=>e.test(n)?t(n):n)}};let m=e=>e.toLowerCase().replace(/-(\w)/g,e=>e[1].toUpperCase()),h=function(e){let t={};return Object.keys(e).forEach(function(n){t[m(n)]=e[n]}),t},g=function(e){let{serverControl:t,targetDuration:n,partTargetDuration:r}=e;if(!t)return;let i=`#EXT-X-SERVER-CONTROL`,a=`holdBack`,o=`partHoldBack`,s=n&&n*3,c=r&&r*2;n&&!t.hasOwnProperty(a)&&(t[a]=s,this.trigger(`info`,{message:`${i} defaulting HOLD-BACK to targetDuration * 3 (${s}).`})),s&&t[a]<s&&(this.trigger(`warn`,{message:`${i} clamping HOLD-BACK (${t[a]}) to targetDuration * 3 (${s})`}),t[a]=s),r&&!t.hasOwnProperty(o)&&(t[o]=r*3,this.trigger(`info`,{message:`${i} defaulting PART-HOLD-BACK to partTargetDuration * 3 (${t[o]}).`})),r&&t[o]<c&&(this.trigger(`warn`,{message:`${i} clamping PART-HOLD-BACK (${t[o]}) to partTargetDuration * 2 (${c}).`}),t[o]=c)};var _=class extends a.default{constructor(e={}){super(),this.lineStream=new c,this.parseStream=new p,this.lineStream.pipe(this.parseStream),this.mainDefinitions=e.mainDefinitions||{},this.params=new URL(e.uri,`https://a.com`).searchParams,this.lastProgramDateTime=null;let t=this,n=[],r={},i,a,l=!1,u=function(){},d={AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},f=0;this.manifest={allowCache:!0,discontinuityStarts:[],dateRanges:[],iFramePlaylists:[],segments:[]};let m=0,_=0,v={};this.on(`end`,()=>{r.uri||!r.parts&&!r.preloadHints||(!r.map&&i&&(r.map=i),!r.key&&a&&(r.key=a),!r.timeline&&typeof f==`number`&&(r.timeline=f),this.manifest.preloadSegment=r)}),this.parseStream.on(`data`,function(e){let c,p;if(t.manifest.definitions){for(let n in t.manifest.definitions)if(e.uri&&=e.uri.replace(`{$${n}}`,t.manifest.definitions[n]),e.attributes)for(let r in e.attributes)typeof e.attributes[r]==`string`&&(e.attributes[r]=e.attributes[r].replace(`{$${n}}`,t.manifest.definitions[n]))}({tag(){({version(){e.version&&(this.manifest.version=e.version)},"allow-cache"(){this.manifest.allowCache=e.allowed,`allowed`in e||(this.trigger(`info`,{message:`defaulting allowCache to YES`}),this.manifest.allowCache=!0)},byterange(){let t={};`length`in e&&(r.byterange=t,t.length=e.length,`offset`in e||(e.offset=m)),`offset`in e&&(r.byterange=t,t.offset=e.offset),m=t.offset+t.length},endlist(){this.manifest.endList=!0},inf(){`mediaSequence`in this.manifest||(this.manifest.mediaSequence=0,this.trigger(`info`,{message:`defaulting media sequence to zero`})),`discontinuitySequence`in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger(`info`,{message:`defaulting discontinuity sequence to zero`})),e.title&&(r.title=e.title),e.duration>0&&(r.duration=e.duration),e.duration===0&&(r.duration=.01,this.trigger(`info`,{message:`updating zero segment duration to a small value`})),this.manifest.segments=n},key(){if(!e.attributes){this.trigger(`warn`,{message:`ignoring key declaration without attribute list`});return}if(e.attributes.METHOD===`NONE`){a=null;return}if(!e.attributes.URI){this.trigger(`warn`,{message:`ignoring key declaration without URI`});return}if(e.attributes.KEYFORMAT===`com.apple.streamingkeydelivery`){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection[`com.apple.fps.1_0`]={attributes:e.attributes};return}if(e.attributes.KEYFORMAT===`com.microsoft.playready`){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection[`com.microsoft.playready`]={uri:e.attributes.URI};return}if(e.attributes.KEYFORMAT===`urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`){if([`SAMPLE-AES`,`SAMPLE-AES-CTR`,`SAMPLE-AES-CENC`].indexOf(e.attributes.METHOD)===-1){this.trigger(`warn`,{message:`invalid key method provided for Widevine`});return}if(e.attributes.METHOD===`SAMPLE-AES-CENC`&&this.trigger(`warn`,{message:`SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead`}),e.attributes.URI.substring(0,23)!==`data:text/plain;base64,`){this.trigger(`warn`,{message:`invalid key URI provided for Widevine`});return}if(!(e.attributes.KEYID&&e.attributes.KEYID.substring(0,2)===`0x`)){this.trigger(`warn`,{message:`invalid key ID provided for Widevine`});return}this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection[`com.widevine.alpha`]={attributes:{schemeIdUri:e.attributes.KEYFORMAT,keyId:e.attributes.KEYID.substring(2)},pssh:s.default(e.attributes.URI.split(`,`)[1])};return}e.attributes.METHOD||this.trigger(`warn`,{message:`defaulting key method to AES-128`}),a={method:e.attributes.METHOD||`AES-128`,uri:e.attributes.URI},e.attributes.IV!==void 0&&(a.iv=e.attributes.IV)},"media-sequence"(){if(!isFinite(e.number)){this.trigger(`warn`,{message:`ignoring invalid media sequence: `+e.number});return}this.manifest.mediaSequence=e.number},"discontinuity-sequence"(){if(!isFinite(e.number)){this.trigger(`warn`,{message:`ignoring invalid discontinuity sequence: `+e.number});return}this.manifest.discontinuitySequence=e.number,f=e.number},"playlist-type"(){if(!/VOD|EVENT/.test(e.playlistType)){this.trigger(`warn`,{message:`ignoring unknown playlist type: `+e.playlist});return}this.manifest.playlistType=e.playlistType},map(){i={},e.uri&&(i.uri=e.uri),e.byterange&&(i.byterange=e.byterange),a&&(i.key=a)},"stream-inf"(){if(this.manifest.playlists=n,this.manifest.mediaGroups=this.manifest.mediaGroups||d,!e.attributes){this.trigger(`warn`,{message:`ignoring empty stream-inf attributes`});return}r.attributes||={},o.default(r.attributes,e.attributes)},media(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||d,!(e.attributes&&e.attributes.TYPE&&e.attributes[`GROUP-ID`]&&e.attributes.NAME)){this.trigger(`warn`,{message:`ignoring incomplete or missing media group`});return}let t=this.manifest.mediaGroups[e.attributes.TYPE];t[e.attributes[`GROUP-ID`]]=t[e.attributes[`GROUP-ID`]]||{},c=t[e.attributes[`GROUP-ID`]],p={default:/yes/i.test(e.attributes.DEFAULT)},p.default?p.autoselect=!0:p.autoselect=/yes/i.test(e.attributes.AUTOSELECT),e.attributes.LANGUAGE&&(p.language=e.attributes.LANGUAGE),e.attributes.URI&&(p.uri=e.attributes.URI),e.attributes[`INSTREAM-ID`]&&(p.instreamId=e.attributes[`INSTREAM-ID`]),e.attributes.CHARACTERISTICS&&(p.characteristics=e.attributes.CHARACTERISTICS),e.attributes.FORCED&&(p.forced=/yes/i.test(e.attributes.FORCED)),c[e.attributes.NAME]=p},discontinuity(){f+=1,r.discontinuity=!0,this.manifest.discontinuityStarts.push(n.length)},"program-date-time"(){this.manifest.dateTimeString===void 0&&(this.manifest.dateTimeString=e.dateTimeString,this.manifest.dateTimeObject=e.dateTimeObject),r.dateTimeString=e.dateTimeString,r.dateTimeObject=e.dateTimeObject;let{lastProgramDateTime:t}=this;this.lastProgramDateTime=new Date(e.dateTimeString).getTime(),t===null&&this.manifest.segments.reduceRight((e,t)=>(t.programDateTime=e-t.duration*1e3,t.programDateTime),this.lastProgramDateTime)},targetduration(){if(!isFinite(e.duration)||e.duration<0){this.trigger(`warn`,{message:`ignoring invalid target duration: `+e.duration});return}this.manifest.targetDuration=e.duration,g.call(this,this.manifest)},start(){if(!e.attributes||isNaN(e.attributes[`TIME-OFFSET`])){this.trigger(`warn`,{message:`ignoring start declaration without appropriate attribute list`});return}this.manifest.start={timeOffset:e.attributes[`TIME-OFFSET`],precise:e.attributes.PRECISE}},"cue-out"(){r.cueOut=e.data},"cue-out-cont"(){r.cueOutCont=e.data},"cue-in"(){r.cueIn=e.data},skip(){this.manifest.skip=h(e.attributes),this.warnOnMissingAttributes_(`#EXT-X-SKIP`,e.attributes,[`SKIPPED-SEGMENTS`])},part(){l=!0;let t=this.manifest.segments.length,n=h(e.attributes);r.parts=r.parts||[],r.parts.push(n),n.byterange&&(n.byterange.hasOwnProperty(`offset`)||(n.byterange.offset=_),_=n.byterange.offset+n.byterange.length);let i=r.parts.length-1;this.warnOnMissingAttributes_(`#EXT-X-PART #${i} for segment #${t}`,e.attributes,[`URI`,`DURATION`]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach((e,t)=>{e.hasOwnProperty(`lastPart`)||this.trigger(`warn`,{message:`#EXT-X-RENDITION-REPORT #${t} lacks required attribute(s): LAST-PART`})})},"server-control"(){let t=this.manifest.serverControl=h(e.attributes);t.hasOwnProperty(`canBlockReload`)||(t.canBlockReload=!1,this.trigger(`info`,{message:`#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false`})),g.call(this,this.manifest),t.canSkipDateranges&&!t.hasOwnProperty(`canSkipUntil`)&&this.trigger(`warn`,{message:`#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set`})},"preload-hint"(){let t=this.manifest.segments.length,n=h(e.attributes),i=n.type&&n.type===`PART`;r.preloadHints=r.preloadHints||[],r.preloadHints.push(n),n.byterange&&(n.byterange.hasOwnProperty(`offset`)||(n.byterange.offset=i?_:0,i&&(_=n.byterange.offset+n.byterange.length)));let a=r.preloadHints.length-1;if(this.warnOnMissingAttributes_(`#EXT-X-PRELOAD-HINT #${a} for segment #${t}`,e.attributes,[`TYPE`,`URI`]),n.type)for(let e=0;e<r.preloadHints.length-1;e++){let i=r.preloadHints[e];i.type&&i.type===n.type&&this.trigger(`warn`,{message:`#EXT-X-PRELOAD-HINT #${a} for segment #${t} has the same TYPE ${n.type} as preload hint #${e}`})}},"rendition-report"(){let t=h(e.attributes);this.manifest.renditionReports=this.manifest.renditionReports||[],this.manifest.renditionReports.push(t);let n=this.manifest.renditionReports.length-1,r=[`LAST-MSN`,`URI`];l&&r.push(`LAST-PART`),this.warnOnMissingAttributes_(`#EXT-X-RENDITION-REPORT #${n}`,e.attributes,r)},"part-inf"(){this.manifest.partInf=h(e.attributes),this.warnOnMissingAttributes_(`#EXT-X-PART-INF`,e.attributes,[`PART-TARGET`]),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),g.call(this,this.manifest)},daterange(){this.manifest.dateRanges.push(h(e.attributes));let t=this.manifest.dateRanges.length-1;this.warnOnMissingAttributes_(`#EXT-X-DATERANGE #${t}`,e.attributes,[`ID`,`START-DATE`]);let n=this.manifest.dateRanges[t];n.endDate&&n.startDate&&new Date(n.endDate)<new Date(n.startDate)&&this.trigger(`warn`,{message:`EXT-X-DATERANGE END-DATE must be equal to or later than the value of the START-DATE`}),n.duration&&n.duration<0&&this.trigger(`warn`,{message:`EXT-X-DATERANGE DURATION must not be negative`}),n.plannedDuration&&n.plannedDuration<0&&this.trigger(`warn`,{message:`EXT-X-DATERANGE PLANNED-DURATION must not be negative`});let r=!!n.endOnNext;if(r&&!n.class&&this.trigger(`warn`,{message:`EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must have a CLASS attribute`}),r&&(n.duration||n.endDate)&&this.trigger(`warn`,{message:`EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must not contain DURATION or END-DATE attributes`}),n.duration&&n.endDate){let e=n.startDate.getTime()+n.duration*1e3;this.manifest.dateRanges[t].endDate=new Date(e)}if(!v[n.id])v[n.id]=n;else{for(let e in v[n.id])if(n[e]&&JSON.stringify(v[n.id][e])!==JSON.stringify(n[e])){this.trigger(`warn`,{message:`EXT-X-DATERANGE tags with the same ID in a playlist must have the same attributes values`});break}let e=this.manifest.dateRanges.findIndex(e=>e.id===n.id);this.manifest.dateRanges[e]=o.default(this.manifest.dateRanges[e],n),v[n.id]=o.default(v[n.id],n),this.manifest.dateRanges.pop()}},"independent-segments"(){this.manifest.independentSegments=!0},"i-frames-only"(){this.manifest.iFramesOnly=!0,this.requiredCompatibilityversion(this.manifest.version,4)},"content-steering"(){this.manifest.contentSteering=h(e.attributes),this.warnOnMissingAttributes_(`#EXT-X-CONTENT-STEERING`,e.attributes,[`SERVER-URI`])},define(){this.manifest.definitions=this.manifest.definitions||{};let t=(e,t)=>{if(e in this.manifest.definitions){this.trigger(`error`,{message:`EXT-X-DEFINE: Duplicate name ${e}`});return}this.manifest.definitions[e]=t};if(`QUERYPARAM`in e.attributes){if(`NAME`in e.attributes||`IMPORT`in e.attributes){this.trigger(`error`,{message:`EXT-X-DEFINE: Invalid attributes`});return}let n=this.params.get(e.attributes.QUERYPARAM);if(!n){this.trigger(`error`,{message:`EXT-X-DEFINE: No query param ${e.attributes.QUERYPARAM}`});return}t(e.attributes.QUERYPARAM,decodeURIComponent(n));return}if(`NAME`in e.attributes){if(`IMPORT`in e.attributes){this.trigger(`error`,{message:`EXT-X-DEFINE: Invalid attributes`});return}if(!(`VALUE`in e.attributes)||typeof e.attributes.VALUE!=`string`){this.trigger(`error`,{message:`EXT-X-DEFINE: No value for ${e.attributes.NAME}`});return}t(e.attributes.NAME,e.attributes.VALUE);return}if(`IMPORT`in e.attributes){if(!this.mainDefinitions[e.attributes.IMPORT]){this.trigger(`error`,{message:`EXT-X-DEFINE: No value ${e.attributes.IMPORT} to import, or IMPORT used on main playlist`});return}t(e.attributes.IMPORT,this.mainDefinitions[e.attributes.IMPORT]);return}this.trigger(`error`,{message:`EXT-X-DEFINE: No attribute`})},"i-frame-playlist"(){this.manifest.iFramePlaylists.push({attributes:e.attributes,uri:e.uri,timeline:f}),this.warnOnMissingAttributes_(`#EXT-X-I-FRAME-STREAM-INF`,e.attributes,[`BANDWIDTH`,`URI`])}}[e.tagType]||u).call(t)},uri(){r.uri=e.uri,n.push(r),this.manifest.targetDuration&&!(`duration`in r)&&(this.trigger(`warn`,{message:`defaulting segment duration to the target duration`}),r.duration=this.manifest.targetDuration),a&&(r.key=a),r.timeline=f,i&&(r.map=i),_=0,this.lastProgramDateTime!==null&&(r.programDateTime=this.lastProgramDateTime,this.lastProgramDateTime+=r.duration*1e3),r={}},comment(){},custom(){e.segment?(r.custom=r.custom||{},r.custom[e.customType]=e.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[e.customType]=e.data)}})[e.type].call(t)})}requiredCompatibilityversion(e,t){(e<t||!e)&&this.trigger(`warn`,{message:`manifest must be at least version ${t}`})}warnOnMissingAttributes_(e,t,n){let r=[];n.forEach(function(e){t.hasOwnProperty(e)||r.push(e)}),r.length&&this.trigger(`warn`,{message:`${e} lacks required attribute(s): ${r.join(`, `)}`})}push(e){this.lineStream.push(e)}end(){this.lineStream.push(`
|
|
23
|
+
`),this.manifest.dateRanges.length&&this.lastProgramDateTime===null&&this.trigger(`warn`,{message:`A playlist with EXT-X-DATERANGE tag must contain atleast one EXT-X-PROGRAM-DATE-TIME tag`}),this.lastProgramDateTime=null,this.trigger(`end`)}addParser(e){this.parseStream.addParser(e)}addTagMapper(e){this.parseStream.addTagMapper(e)}};e.LineStream=c,e.ParseStream=p,e.Parser=_})),oe=o((e=>{var t=ne();Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_VIDEO_CODEC=e.DEFAULT_AUDIO_CODEC=e.muxerSupportsCodec=e.browserSupportsCodec=e.getMimeForCodec=e.isTextCodec=e.isAudioCodec=e.isVideoCodec=e.codecsFromDefault=e.parseCodecs=e.mapLegacyAvcCodecs=e.translateLegacyCodecs=e.translateLegacyCodec=void 0;var n=t(l()),r={mp4:/^(av0?1|avc0?[1234]|vp0?9|flac|opus|mp3|mp4a|mp4v|stpp.ttml.im1t)/,webm:/^(vp0?[89]|av0?1|opus|vorbis)/,ogg:/^(vp0?[89]|theora|flac|opus|vorbis)/,video:/^(av0?1|avc0?[1234]|vp0?[89]|hvc1|hev1|theora|mp4v)/,audio:/^(mp4a|flac|vorbis|opus|ac-[34]|ec-3|alac|mp3|speex|aac)/,text:/^(stpp.ttml.im1t)/,muxerVideo:/^(avc0?1)/,muxerAudio:/^(mp4a)/,muxerText:/a^/},i=[`video`,`audio`,`text`],a=[`Video`,`Audio`,`Text`],o=function(e){return e&&e.replace(/avc1\.(\d+)\.(\d+)/i,function(e,t,n){var r=(`00`+Number(t).toString(16)).slice(-2),i=(`00`+Number(n).toString(16)).slice(-2);return`avc1.`+r+`00`+i})};e.translateLegacyCodec=o;var s=function(e){return e.map(o)};e.translateLegacyCodecs=s,e.mapLegacyAvcCodecs=function(e){return e.replace(/avc1\.(\d+)\.(\d+)/i,function(e){return s([e])[0]})};var c=function(e){e===void 0&&(e=``);var t=e.split(`,`),n=[];return t.forEach(function(e){e=e.trim();var t;i.forEach(function(i){var a=r[i].exec(e.toLowerCase());if(!(!a||a.length<=1)){t=i;var o=e.substring(0,a[1].length),s=e.replace(o,``);n.push({type:o,details:s,mediaType:i})}}),t||n.push({type:e,details:``,mediaType:`unknown`})}),n};e.parseCodecs=c,e.codecsFromDefault=function(e,t){if(!e.mediaGroups.AUDIO||!t)return null;var n=e.mediaGroups.AUDIO[t];if(!n)return null;for(var r in n){var i=n[r];if(i.default&&i.playlists)return c(i.playlists[0].attributes.CODECS)}return null},e.isVideoCodec=function(e){return e===void 0&&(e=``),r.video.test(e.trim().toLowerCase())};var u=function(e){return e===void 0&&(e=``),r.audio.test(e.trim().toLowerCase())};e.isAudioCodec=u;var d=function(e){return e===void 0&&(e=``),r.text.test(e.trim().toLowerCase())};e.isTextCodec=d;var f=function(e){if(!(!e||typeof e!=`string`)){var t=e.toLowerCase().split(`,`).map(function(e){return o(e.trim())}),n=`video`;t.length===1&&u(t[0])?n=`audio`:t.length===1&&d(t[0])&&(n=`application`);var i=`mp4`;return t.every(function(e){return r.mp4.test(e)})?i=`mp4`:t.every(function(e){return r.webm.test(e)})?i=`webm`:t.every(function(e){return r.ogg.test(e)})&&(i=`ogg`),n+`/`+i+`;codecs="`+e+`"`}};e.getMimeForCodec=f,e.browserSupportsCodec=function(e,t){return e===void 0&&(e=``),t===void 0&&(t=!1),n.default.MediaSource&&n.default.MediaSource.isTypeSupported&&n.default.MediaSource.isTypeSupported(f(e))||t&&n.default.ManagedMediaSource&&n.default.ManagedMediaSource.isTypeSupported&&n.default.ManagedMediaSource.isTypeSupported(f(e))||!1},e.muxerSupportsCodec=function(e){return e===void 0&&(e=``),e.toLowerCase().split(`,`).every(function(e){e=e.trim();for(var t=0;t<a.length;t++)if(r[`muxer`+a[t]].test(e))return!0;return!1})},e.DEFAULT_AUDIO_CODEC=`mp4a.40.2`,e.DEFAULT_VIDEO_CODEC=`avc1.4d400d`})),se=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.simpleTypeFromSourceType=void 0;var t=/^(audio|video|application)\/(x-|vnd\.apple\.)?mpegurl/i,n=/^application\/dash\+xml/i;e.simpleTypeFromSourceType=function(e){return t.test(e)?`hls`:n.test(e)?`dash`:e===`application/vnd.videojs.vhs+json`?`vhs-json`:null}})),M=o((e=>{var t=ne();Object.defineProperty(e,"__esModule",{value:!0}),e.reverseBytes=e.sliceBytes=e.bytesMatch=e.concatTypedArrays=e.stringToBytes=e.bytesToString=e.numberToBytes=e.bytesToNumber=e.IS_LITTLE_ENDIAN=e.IS_BIG_ENDIAN=e.ENDIANNESS=e.toBinaryString=e.toHexString=e.toUint8=e.isTypedArray=e.isArrayBufferView=e.padStart=e.countBytes=e.countBits=void 0;var n=t(l()),r=function(e,t){for(var n=``;t--;)n+=e;return n},i=function(e){return e.toString(2).length};e.countBits=i;var a=function(e){return Math.ceil(i(e)/8)};e.countBytes=a;var o=function(e,t,n){return n===void 0&&(n=` `),(r(n,t)+e.toString()).slice(-t)};e.padStart=o;var s=function(e){return ArrayBuffer.isView===`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer};e.isArrayBufferView=s;var c=function(e){return s(e)};e.isTypedArray=c;var u=function(e){return e instanceof Uint8Array?e:(!Array.isArray(e)&&!c(e)&&!(e instanceof ArrayBuffer)&&(e=typeof e!=`number`||typeof e==`number`&&e!==e?0:[e]),new Uint8Array(e&&e.buffer||e,e&&e.byteOffset||0,e&&e.byteLength||0))};e.toUint8=u,e.toHexString=function(e){e=u(e);for(var t=``,n=0;n<e.length;n++)t+=o(e[n].toString(16),2,`0`);return t},e.toBinaryString=function(e){e=u(e);for(var t=``,n=0;n<e.length;n++)t+=o(e[n].toString(2),8,`0`);return t};var d=n.default.BigInt||Number,f=[d(`0x1`),d(`0x100`),d(`0x10000`),d(`0x1000000`),d(`0x100000000`),d(`0x10000000000`),d(`0x1000000000000`),d(`0x100000000000000`),d(`0x10000000000000000`)],p=function(){var e=new Uint16Array([65484]),t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return t[0]===255?`big`:t[0]===204?`little`:`unknown`}();e.ENDIANNESS=p,e.IS_BIG_ENDIAN=p===`big`,e.IS_LITTLE_ENDIAN=p===`little`,e.bytesToNumber=function(e,t){var n=t===void 0?{}:t,r=n.signed,i=r===void 0?!1:r,a=n.le,o=a===void 0?!1:a;e=u(e);var s=o?`reduce`:`reduceRight`,c=(e[s]?e[s]:Array.prototype[s]).call(e,function(t,n,r){var i=o?r:Math.abs(r+1-e.length);return t+d(n)*f[i]},d(0));if(i){var l=f[e.length]/d(2)-d(1);c=d(c),c>l&&(c-=l,c-=l,c-=d(2))}return Number(c)},e.numberToBytes=function(e,t){var n=(t===void 0?{}:t).le,r=n===void 0?!1:n;(typeof e!=`bigint`&&typeof e!=`number`||typeof e==`number`&&e!==e)&&(e=0),e=d(e);for(var i=a(e),o=new Uint8Array(new ArrayBuffer(i)),s=0;s<i;s++){var c=r?s:Math.abs(s+1-o.length);o[c]=Number(e/f[s]&d(255)),e<0&&(o[c]=Math.abs(~o[c]),o[c]-=s===0?1:2)}return o},e.bytesToString=function(e){if(!e)return``;e=Array.prototype.slice.call(e);var t=String.fromCharCode.apply(null,u(e));try{return decodeURIComponent(escape(t))}catch{}return t},e.stringToBytes=function(e,t){if(typeof e!=`string`&&e&&typeof e.toString==`function`&&(e=e.toString()),typeof e!=`string`)return new Uint8Array;t||(e=unescape(encodeURIComponent(e)));for(var n=new Uint8Array(e.length),r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n},e.concatTypedArrays=function(){var e=[...arguments];if(e=e.filter(function(e){return e&&(e.byteLength||e.length)&&typeof e!=`string`}),e.length<=1)return u(e[0]);var t=e.reduce(function(e,t,n){return e+(t.byteLength||t.length)},0),n=new Uint8Array(t),r=0;return e.forEach(function(e){e=u(e),n.set(e,r),r+=e.byteLength}),n},e.bytesMatch=function(e,t,n){var r=n===void 0?{}:n,i=r.offset,a=i===void 0?0:i,o=r.mask,s=o===void 0?[]:o;e=u(e),t=u(t);var c=t.every?t.every:Array.prototype.every;return t.length&&e.length-a>=t.length&&c.call(t,function(t,n){return t===(s[n]?s[n]&e[a+n]:e[a+n])})},e.sliceBytes=function(e,t,n){return Uint8Array.prototype.slice?Uint8Array.prototype.slice.call(e,t,n):new Uint8Array(Array.prototype.slice.call(e,t,n))},e.reverseBytes=function(e){return e.reverse?e.reverse():Array.prototype.reverse.call(e)}})),ce=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.forEachMediaGroup=void 0,e.forEachMediaGroup=function(e,t,n){t.forEach(function(t){for(var r in e.mediaGroups[t])for(var i in e.mediaGroups[t][r]){var a=e.mediaGroups[t][r][i];n(a,t,r,i)}})}})),le=o((e=>{function t(e,t,n){if(n===void 0&&(n=Array.prototype),e&&typeof n.find==`function`)return n.find.call(e,t);for(var r=0;r<e.length;r++)if(Object.prototype.hasOwnProperty.call(e,r)){var i=e[r];if(t.call(void 0,i,r,e))return i}}function n(e,t){return t===void 0&&(t=Object),t&&typeof t.freeze==`function`?t.freeze(e):e}function r(e,t){if(typeof e!=`object`||!e)throw TypeError(`target is not an object`);for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}var i=n({HTML:`text/html`,isHTML:function(e){return e===i.HTML},XML_APPLICATION:`application/xml`,XML_TEXT:`text/xml`,XML_XHTML_APPLICATION:`application/xhtml+xml`,XML_SVG_IMAGE:`image/svg+xml`}),a=n({HTML:`http://www.w3.org/1999/xhtml`,isHTML:function(e){return e===a.HTML},SVG:`http://www.w3.org/2000/svg`,XML:`http://www.w3.org/XML/1998/namespace`,XMLNS:`http://www.w3.org/2000/xmlns/`});e.assign=r,e.find=t,e.freeze=n,e.MIME_TYPE=i,e.NAMESPACE=a})),ue=o((e=>{var t=le(),n=t.find,r=t.NAMESPACE;function i(e){return e!==``}function a(e){return e?e.split(/[\t\n\f\r ]+/).filter(i):[]}function o(e,t){return e.hasOwnProperty(t)||(e[t]=!0),e}function s(e){if(!e)return[];var t=a(e);return Object.keys(t.reduce(o,{}))}function c(e){return function(t){return e&&e.indexOf(t)!==-1}}function l(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}function u(e,t){var n=e.prototype;if(!(n instanceof t)){function r(){}r.prototype=t.prototype,r=new r,l(n,r),e.prototype=n=r}n.constructor!=e&&(typeof e!=`function`&&console.error(`unknown Class:`+e),n.constructor=e)}var d={},f=d.ELEMENT_NODE=1,p=d.ATTRIBUTE_NODE=2,m=d.TEXT_NODE=3,h=d.CDATA_SECTION_NODE=4,g=d.ENTITY_REFERENCE_NODE=5,_=d.ENTITY_NODE=6,v=d.PROCESSING_INSTRUCTION_NODE=7,y=d.COMMENT_NODE=8,b=d.DOCUMENT_NODE=9,x=d.DOCUMENT_TYPE_NODE=10,S=d.DOCUMENT_FRAGMENT_NODE=11,C=d.NOTATION_NODE=12,w={},T={};w.INDEX_SIZE_ERR=(T[1]=`Index size error`,1),w.DOMSTRING_SIZE_ERR=(T[2]=`DOMString size error`,2);var E=w.HIERARCHY_REQUEST_ERR=(T[3]=`Hierarchy request error`,3);w.WRONG_DOCUMENT_ERR=(T[4]=`Wrong document`,4);var ee=w.INVALID_CHARACTER_ERR=(T[5]=`Invalid character`,5);w.NO_DATA_ALLOWED_ERR=(T[6]=`No data allowed`,6),w.NO_MODIFICATION_ALLOWED_ERR=(T[7]=`No modification allowed`,7);var D=w.NOT_FOUND_ERR=(T[8]=`Not found`,8);w.NOT_SUPPORTED_ERR=(T[9]=`Not supported`,9);var O=w.INUSE_ATTRIBUTE_ERR=(T[10]=`Attribute in use`,10),k=w.INVALID_STATE_ERR=(T[11]=`Invalid state`,11);w.SYNTAX_ERR=(T[12]=`Syntax error`,12),w.INVALID_MODIFICATION_ERR=(T[13]=`Invalid modification`,13),w.NAMESPACE_ERR=(T[14]=`Invalid namespace`,14),w.INVALID_ACCESS_ERR=(T[15]=`Invalid access`,15);function A(e,t){if(t instanceof Error)var n=t;else n=this,Error.call(this,T[e]),this.message=T[e],Error.captureStackTrace&&Error.captureStackTrace(this,A);return n.code=e,t&&(this.message=this.message+`: `+t),n}A.prototype=Error.prototype,l(w,A);function te(){}te.prototype={length:0,item:function(e){return e>=0&&e<this.length?this[e]:null},toString:function(e,t,n){for(var r=!!n&&!!n.requireWellFormed,i=[],a=0;a<this.length;a++)Le(this[a],i,e,t,null,r);return i.join(``)},filter:function(e){return Array.prototype.filter.call(this,e)},indexOf:function(e){return Array.prototype.indexOf.call(this,e)}};function ne(e,t){this._node=e,this._refresh=t,re(this)}function re(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!==t){var n=e._refresh(e._node);if(Be(e,`length`,n.length),!e.$$length||n.length<e.$$length)for(var r=n.length;r in e;r++)Object.prototype.hasOwnProperty.call(e,r)&&delete e[r];l(n,e),e._inc=t}}ne.prototype.item=function(e){return re(this),this[e]||null},u(ne,te);function j(){}function ie(e,t){for(var n=e.length;n--;)if(e[n]===t)return n}function ae(e,t,n,r){if(r?t[ie(t,r)]=n:t[t.length++]=n,e){n.ownerElement=e;var i=e.ownerDocument;i&&(r&&pe(i,e,r),fe(i,e,n))}}function oe(e,t,n){var r=ie(t,n);if(r>=0){for(var i=t.length-1;r<i;)t[r]=t[++r];if(t.length=i,e){var a=e.ownerDocument;a&&(pe(a,e,n),n.ownerElement=null)}}else throw new A(D,Error(e.tagName+`@`+n))}j.prototype={length:0,item:te.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var n=this[t];if(n.nodeName==e)return n}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new A(O);var n=this.getNamedItem(e.nodeName);return ae(this._ownerElement,this,e,n),n},setNamedItemNS:function(e){var t=e.ownerElement,n;if(t&&t!=this._ownerElement)throw new A(O);return n=this.getNamedItemNS(e.namespaceURI,e.localName),ae(this._ownerElement,this,e,n),n},removeNamedItem:function(e){var t=this.getNamedItem(e);return oe(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var n=this.getNamedItemNS(e,t);return oe(this._ownerElement,this,n),n},getNamedItemNS:function(e,t){for(var n=this.length;n--;){var r=this[n];if(r.localName==t&&r.namespaceURI==e)return r}return null}};function se(){}se.prototype={hasFeature:function(e,t){return!0},createDocument:function(e,t,n){var r=new de;if(r.implementation=this,r.childNodes=new te,r.doctype=n||null,n&&r.appendChild(n),t){var i=r.createElementNS(e,t);r.appendChild(i)}return r},createDocumentType:function(e,t,n){var r=new Ae;return r.name=e,r.nodeName=e,r.publicId=t||``,r.systemId=n||``,r}};function M(){}M.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return I(this,e,t)},replaceChild:function(e,t){I(this,e,t,Ce),t&&this.removeChild(t)},removeChild:function(e){return P(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(e){return ze(this.ownerDocument||this,this,e)},normalize:function(){N(this,null,{enter:function(e){for(var t=e.firstChild;t;){var n=t.nextSibling;n!==null&&n.nodeType===m&&t.nodeType===m?(e.removeChild(n),t.appendData(n.data)):t=n}return!0}})},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(e){for(var t=this;t;){var n=t._nsMap;if(n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r]===e)return r}t=t.nodeType==p?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var n=t._nsMap;if(n&&Object.prototype.hasOwnProperty.call(n,e))return n[e];t=t.nodeType==p?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return this.lookupPrefix(e)==null}};function ce(e){return e==`<`&&`<`||e==`>`&&`>`||e==`&`&&`&`||e==`"`&&`"`||`&#`+e.charCodeAt()+`;`}l(d,M),l(d,M.prototype);function ue(e,t){return N(e,null,{enter:function(e){return t(e)?N.STOP:!0}})===N.STOP}function N(e,t,n){for(var r=[{node:e,context:t,phase:N.ENTER}];r.length>0;){var i=r.pop();if(i.phase===N.ENTER){var a=n.enter(i.node,i.context);if(a===N.STOP)return N.STOP;if(r.push({node:i.node,context:a,phase:N.EXIT}),a==null)continue;for(var o=i.node.lastChild;o;)r.push({node:o,context:a,phase:N.ENTER}),o=o.previousSibling}else n.exit&&n.exit(i.node,i.context)}}N.STOP=Symbol(`walkDOM.STOP`),N.ENTER=0,N.EXIT=1;function de(){this.ownerDocument=this}function fe(e,t,n){e&&e._inc++,n.namespaceURI===r.XMLNS&&(t._nsMap[n.prefix?n.localName:``]=n.value)}function pe(e,t,n,i){e&&e._inc++,n.namespaceURI===r.XMLNS&&delete t._nsMap[n.prefix?n.localName:``]}function me(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.length++]=n;else{for(var i=t.firstChild,a=0;i;)r[a++]=i,i=i.nextSibling;r.length=a,delete r[r.length]}}}function P(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextSibling=r:e.firstChild=r,r?r.previousSibling=n:e.lastChild=n,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,me(e.ownerDocument,e),t}function he(e){return e&&(e.nodeType===M.DOCUMENT_NODE||e.nodeType===M.DOCUMENT_FRAGMENT_NODE||e.nodeType===M.ELEMENT_NODE)}function F(e){return e&&(_e(e)||ve(e)||ge(e)||e.nodeType===M.DOCUMENT_FRAGMENT_NODE||e.nodeType===M.COMMENT_NODE||e.nodeType===M.PROCESSING_INSTRUCTION_NODE)}function ge(e){return e&&e.nodeType===M.DOCUMENT_TYPE_NODE}function _e(e){return e&&e.nodeType===M.ELEMENT_NODE}function ve(e){return e&&e.nodeType===M.TEXT_NODE}function ye(e,t){var r=e.childNodes||[];if(n(r,_e)||ge(t))return!1;var i=n(r,ge);return!(t&&i&&r.indexOf(i)>r.indexOf(t))}function be(e,t){var r=e.childNodes||[];function i(e){return _e(e)&&e!==t}if(n(r,i))return!1;var a=n(r,ge);return!(t&&a&&r.indexOf(a)>r.indexOf(t))}function xe(e,t,n){if(!he(e))throw new A(E,`Unexpected parent node type `+e.nodeType);if(n&&n.parentNode!==e)throw new A(D,`child not in parent`);if(!F(t)||ge(t)&&e.nodeType!==M.DOCUMENT_NODE)throw new A(E,`Unexpected node type `+t.nodeType+` for parent node type `+e.nodeType)}function Se(e,t,r){var i=e.childNodes||[],a=t.childNodes||[];if(t.nodeType===M.DOCUMENT_FRAGMENT_NODE){var o=a.filter(_e);if(o.length>1||n(a,ve))throw new A(E,`More than one element or text in fragment`);if(o.length===1&&!ye(e,r))throw new A(E,`Element in fragment can not be inserted before doctype`)}if(_e(t)&&!ye(e,r))throw new A(E,`Only one element can be added and only after doctype`);if(ge(t)){if(n(i,ge))throw new A(E,`Only one doctype is allowed`);var s=n(i,_e);if(r&&i.indexOf(s)<i.indexOf(r))throw new A(E,`Doctype can only be inserted before an element`);if(!r&&s)throw new A(E,`Doctype can not be appended since element is present`)}}function Ce(e,t,r){var i=e.childNodes||[],a=t.childNodes||[];if(t.nodeType===M.DOCUMENT_FRAGMENT_NODE){var o=a.filter(_e);if(o.length>1||n(a,ve))throw new A(E,`More than one element or text in fragment`);if(o.length===1&&!be(e,r))throw new A(E,`Element in fragment can not be inserted before doctype`)}if(_e(t)&&!be(e,r))throw new A(E,`Only one element can be added and only after doctype`);if(ge(t)){function e(e){return ge(e)&&e!==r}if(n(i,e))throw new A(E,`Only one doctype is allowed`);var s=n(i,_e);if(r&&i.indexOf(s)<i.indexOf(r))throw new A(E,`Doctype can only be inserted before an element`)}}function I(e,t,n,r){xe(e,t,n),e.nodeType===M.DOCUMENT_NODE&&(r||Se)(e,t,n);var i=t.parentNode;if(i&&i.removeChild(t),t.nodeType===S){var a=t.firstChild;if(a==null)return t;var o=t.lastChild}else a=o=t;var s=n?n.previousSibling:e.lastChild;a.previousSibling=s,o.nextSibling=n,s?s.nextSibling=a:e.firstChild=a,n==null?e.lastChild=o:n.previousSibling=o;do{a.parentNode=e;var c=e.ownerDocument||e;L(a,c)}while(a!==o&&(a=a.nextSibling));return me(e.ownerDocument||e,e),t.nodeType==S&&(t.firstChild=t.lastChild=null),t}function L(e,t){if(e.ownerDocument!==t){if(e.ownerDocument=t,e.nodeType===f&&e.attributes)for(var n=0;n<e.attributes.length;n++){var r=e.attributes.item(n);r&&(r.ownerDocument=t)}for(var i=e.firstChild;i;)L(i,t),i=i.nextSibling}}function we(e,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=e,t.previousSibling=e.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,e.lastChild=t,me(e.ownerDocument,e,t),L(t,e.ownerDocument||e),t}de.prototype={nodeName:`#document`,nodeType:b,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==S){for(var n=e.firstChild;n;){var r=n.nextSibling;this.insertBefore(n,t),n=r}return e}return I(this,e,t),L(e,this),this.documentElement===null&&e.nodeType===f&&(this.documentElement=e),e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),P(this,e)},replaceChild:function(e,t){I(this,e,t,Ce),L(e,this),t&&this.removeChild(t),_e(e)&&(this.documentElement=e)},importNode:function(e,t){return Re(this,e,t)},getElementById:function(e){var t=null;return ue(this.documentElement,function(n){if(n.nodeType==f&&n.getAttribute(`id`)==e)return t=n,!0}),t},getElementsByClassName:function(e){var t=s(e);return new ne(this,function(n){var r=[];return t.length>0&&ue(n.documentElement,function(i){if(i!==n&&i.nodeType===f){var a=i.getAttribute(`class`);if(a){var o=e===a;if(!o){var l=s(a);o=t.every(c(l))}o&&r.push(i)}}}),r})},createElement:function(e){var t=new Te;t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new te;var n=t.attributes=new j;return n._ownerElement=t,t},createDocumentFragment:function(){var e=new B;return e.ownerDocument=this,e.childNodes=new te,e},createTextNode:function(e){var t=new Oe;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new R;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){if(e.indexOf(`]]>`)!==-1)throw new A(ee,`data contains "]]>"`);var t=new ke;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var n=new Ne;return n.ownerDocument=this,n.tagName=n.nodeName=n.target=e,n.nodeValue=n.data=t,n},createAttribute:function(e){var t=new Ee;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new z;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var n=new Te,r=t.split(`:`),i=n.attributes=new j;return n.childNodes=new te,n.ownerDocument=this,n.nodeName=t,n.tagName=t,n.namespaceURI=e,r.length==2?(n.prefix=r[0],n.localName=r[1]):n.localName=t,i._ownerElement=n,n},createAttributeNS:function(e,t){var n=new Ee,r=t.split(`:`);return n.ownerDocument=this,n.nodeName=t,n.name=t,n.namespaceURI=e,n.specified=!0,r.length==2?(n.prefix=r[0],n.localName=r[1]):n.localName=t,n}},u(de,M);function Te(){this._nsMap={}}Te.prototype={nodeType:f,hasAttribute:function(e){return this.getAttributeNode(e)!=null},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||``},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var n=this.ownerDocument.createAttribute(e);n.value=n.nodeValue=``+t,this.setAttributeNode(n)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===S?this.insertBefore(e,null):we(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);n&&this.removeAttributeNode(n)},hasAttributeNS:function(e,t){return this.getAttributeNodeNS(e,t)!=null},getAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);return n&&n.value||``},setAttributeNS:function(e,t,n){var r=this.ownerDocument.createAttributeNS(e,t);r.value=r.nodeValue=``+n,this.setAttributeNode(r)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new ne(this,function(t){var n=[];return ue(t,function(r){r!==t&&r.nodeType==f&&(e===`*`||r.tagName==e)&&n.push(r)}),n})},getElementsByTagNameNS:function(e,t){return new ne(this,function(n){var r=[];return ue(n,function(i){i!==n&&i.nodeType===f&&(e===`*`||i.namespaceURI===e)&&(t===`*`||i.localName==t)&&r.push(i)}),r})}},de.prototype.getElementsByTagName=Te.prototype.getElementsByTagName,de.prototype.getElementsByTagNameNS=Te.prototype.getElementsByTagNameNS,u(Te,M);function Ee(){}Ee.prototype.nodeType=p,u(Ee,M);function De(){}De.prototype={data:``,substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw Error(T[E])},deleteData:function(e,t){this.replaceData(e,t,``)},replaceData:function(e,t,n){var r=this.data.substring(0,e),i=this.data.substring(e+t);n=r+n+i,this.nodeValue=this.data=n,this.length=n.length}},u(De,M);function Oe(){}Oe.prototype={nodeName:`#text`,nodeType:m,splitText:function(e){var t=this.data,n=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},u(Oe,De);function R(){}R.prototype={nodeName:`#comment`,nodeType:y},u(R,De);function ke(){}ke.prototype={nodeName:`#cdata-section`,nodeType:h},u(ke,De);function Ae(){}Ae.prototype.nodeType=x,u(Ae,M);function je(){}je.prototype.nodeType=C,u(je,M);function Me(){}Me.prototype.nodeType=_,u(Me,M);function z(){}z.prototype.nodeType=g,u(z,M);function B(){}B.prototype.nodeName=`#document-fragment`,B.prototype.nodeType=S,u(B,M);function Ne(){}Ne.prototype.nodeType=v,u(Ne,M);function Pe(){}Pe.prototype.serializeToString=function(e,t,n,r){return Fe.call(e,t,n,r)},M.prototype.toString=Fe;function Fe(e,t,n){var r=!!n&&!!n.requireWellFormed,i=[],a=this.nodeType==9&&this.documentElement||this,o=a.prefix,s=a.namespaceURI;if(s&&o==null){var o=a.lookupPrefix(s);if(o==null)var c=[{namespace:s,prefix:null}]}return Le(this,i,e,t,c,r),i.join(``)}function Ie(e,t,n){var i=e.prefix||``,a=e.namespaceURI;if(!a||i===`xml`&&a===r.XML||a===r.XMLNS)return!1;for(var o=n.length;o--;){var s=n[o];if(s.prefix===i)return s.namespace!==a}return!0}function V(e,t,n){e.push(` `,t,`="`,n.replace(/[<>&"\t\n\r]/g,ce),`"`)}function Le(e,t,n,i,a,o){a||=[],N(e,{ns:a,isHTML:n},{enter:function(e,n){var a=n.ns,s=n.isHTML;if(i)if(e=i(e),e){if(typeof e==`string`)return t.push(e),null}else return null;switch(e.nodeType){case f:var c=e.attributes,l=c.length,u=e.tagName;s=r.isHTML(e.namespaceURI)||s;var d=u;if(!s&&!e.prefix&&e.namespaceURI){for(var _,C=0;C<c.length;C++)if(c.item(C).name===`xmlns`){_=c.item(C).value;break}if(!_)for(var w=a.length-1;w>=0;w--){var T=a[w];if(T.prefix===``&&T.namespace===e.namespaceURI){_=T.namespace;break}}if(_!==e.namespaceURI)for(var w=a.length-1;w>=0;w--){var T=a[w];if(T.namespace===e.namespaceURI){T.prefix&&(d=T.prefix+`:`+u);break}}}t.push(`<`,d);for(var E=a.slice(),ee=0;ee<l;ee++){var D=c.item(ee);D.prefix==`xmlns`?E.push({prefix:D.localName,namespace:D.value}):D.nodeName==`xmlns`&&E.push({prefix:``,namespace:D.value})}for(var ee=0;ee<l;ee++){var D=c.item(ee);if(Ie(D,s,E)){var O=D.prefix||``,te=D.namespaceURI;V(t,O?`xmlns:`+O:`xmlns`,te),E.push({prefix:O,namespace:te})}var ne=i?i(D):D;ne&&(typeof ne==`string`?t.push(ne):V(t,ne.name,ne.value))}if(u===d&&Ie(e,s,E)){var re=e.prefix||``,te=e.namespaceURI;V(t,re?`xmlns:`+re:`xmlns`,te),E.push({prefix:re,namespace:te})}var j=e.firstChild;if(j||s&&!/^(?:meta|link|img|br|hr|input)$/i.test(u)){if(t.push(`>`),s&&/^script$/i.test(u)){for(;j;)j.data?t.push(j.data):Le(j,t,s,i,E.slice(),o),j=j.nextSibling;return t.push(`</`,u,`>`),null}return{ns:E,isHTML:s,tag:d}}else return t.push(`/>`),null;case b:case S:return{ns:a.slice(),isHTML:s,tag:null};case p:return V(t,e.name,e.value),null;case m:return t.push(e.data.replace(/[<&>]/g,ce)),null;case h:if(o&&e.data.indexOf(`]]>`)!==-1)throw new A(k,`The CDATASection data contains "]]>"`);return t.push(`<![CDATA[`,e.data.replace(/]]>/g,`]]]]><![CDATA[>`),`]]>`),null;case y:if(o&&e.data.indexOf(`-->`)!==-1)throw new A(k,`The comment node data contains "-->"`);return t.push(`<!--`,e.data,`-->`),null;case x:if(o){if(e.publicId&&!/^("[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%']*"|'[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%'"]*')$/.test(e.publicId))throw new A(k,`DocumentType publicId is not a valid PubidLiteral`);if(e.systemId&&!/^("[^"]*"|'[^']*')$/.test(e.systemId))throw new A(k,`DocumentType systemId is not a valid SystemLiteral`);if(e.internalSubset&&e.internalSubset.indexOf(`]>`)!==-1)throw new A(k,`DocumentType internalSubset contains "]>"`)}var ie=e.publicId,ae=e.systemId;if(t.push(`<!DOCTYPE `,e.name),ie)t.push(` PUBLIC `,ie),ae&&ae!=`.`&&t.push(` `,ae),t.push(`>`);else if(ae&&ae!=`.`)t.push(` SYSTEM `,ae,`>`);else{var oe=e.internalSubset;oe&&t.push(` [`,oe,`]`),t.push(`>`)}return null;case v:if(o&&e.data.indexOf(`?>`)!==-1)throw new A(k,`The ProcessingInstruction data contains "?>"`);return t.push(`<?`,e.target,` `,e.data,`?>`),null;case g:return t.push(`&`,e.nodeName,`;`),null;default:return t.push(`??`,e.nodeName),null}},exit:function(e,n){n&&n.tag&&t.push(`</`,n.tag,`>`)}})}function Re(e,t,n){var r;return N(t,null,{enter:function(t,i){var a=t.cloneNode(!1);return a.ownerDocument=e,a.parentNode=null,i===null?r=a:i.appendChild(a),t.nodeType===p||n?a:null}}),r}function ze(e,t,n){var r;return N(t,null,{enter:function(t,i){var a=new t.constructor;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var s=t[o];typeof s!=`object`&&s!=a[o]&&(a[o]=s)}t.childNodes&&(a.childNodes=new te),a.ownerDocument=e;var c=n;switch(a.nodeType){case f:var l=t.attributes,u=a.attributes=new j,d=l.length;u._ownerElement=a;for(var m=0;m<d;m++)a.setAttributeNode(ze(e,l.item(m),!0));break;case p:c=!0}return i===null?r=a:i.appendChild(a),c?a:null}}),r}function Be(e,t,n){e[t]=n}try{Object.defineProperty&&(Object.defineProperty(ne.prototype,"length",{get:function(){return re(this),this.$$length}}),Object.defineProperty(M.prototype,"textContent",{get:function(){if(this.nodeType===f||this.nodeType===S){var e=[];return N(this,null,{enter:function(t){if(t.nodeType===f||t.nodeType===S)return!0;if(t.nodeType===v||t.nodeType===y)return null;e.push(t.nodeValue)}}),e.join(``)}return this.nodeValue},set:function(e){switch(this.nodeType){case f:case S:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),Be=function(e,t,n){e[`$$`+t]=n})}catch{}e.DocumentType=Ae,e.DOMException=A,e.DOMImplementation=se,e.Element=Te,e.Node=M,e.NodeList=te,e.walkDOM=N,e.XMLSerializer=Pe})),N=o((e=>{var t=le().freeze;e.XML_ENTITIES=t({amp:`&`,apos:`'`,gt:`>`,lt:`<`,quot:`"`}),e.HTML_ENTITIES=t({Aacute:`Á`,aacute:`á`,Abreve:`Ă`,abreve:`ă`,ac:`∾`,acd:`∿`,acE:`∾̳`,Acirc:`Â`,acirc:`â`,acute:`´`,Acy:`А`,acy:`а`,AElig:`Æ`,aelig:`æ`,af:``,Afr:`𝔄`,afr:`𝔞`,Agrave:`À`,agrave:`à`,alefsym:`ℵ`,aleph:`ℵ`,Alpha:`Α`,alpha:`α`,Amacr:`Ā`,amacr:`ā`,amalg:`⨿`,AMP:`&`,amp:`&`,And:`⩓`,and:`∧`,andand:`⩕`,andd:`⩜`,andslope:`⩘`,andv:`⩚`,ang:`∠`,ange:`⦤`,angle:`∠`,angmsd:`∡`,angmsdaa:`⦨`,angmsdab:`⦩`,angmsdac:`⦪`,angmsdad:`⦫`,angmsdae:`⦬`,angmsdaf:`⦭`,angmsdag:`⦮`,angmsdah:`⦯`,angrt:`∟`,angrtvb:`⊾`,angrtvbd:`⦝`,angsph:`∢`,angst:`Å`,angzarr:`⍼`,Aogon:`Ą`,aogon:`ą`,Aopf:`𝔸`,aopf:`𝕒`,ap:`≈`,apacir:`⩯`,apE:`⩰`,ape:`≊`,apid:`≋`,apos:`'`,ApplyFunction:``,approx:`≈`,approxeq:`≊`,Aring:`Å`,aring:`å`,Ascr:`𝒜`,ascr:`𝒶`,Assign:`≔`,ast:`*`,asymp:`≈`,asympeq:`≍`,Atilde:`Ã`,atilde:`ã`,Auml:`Ä`,auml:`ä`,awconint:`∳`,awint:`⨑`,backcong:`≌`,backepsilon:`϶`,backprime:`‵`,backsim:`∽`,backsimeq:`⋍`,Backslash:`∖`,Barv:`⫧`,barvee:`⊽`,Barwed:`⌆`,barwed:`⌅`,barwedge:`⌅`,bbrk:`⎵`,bbrktbrk:`⎶`,bcong:`≌`,Bcy:`Б`,bcy:`б`,bdquo:`„`,becaus:`∵`,Because:`∵`,because:`∵`,bemptyv:`⦰`,bepsi:`϶`,bernou:`ℬ`,Bernoullis:`ℬ`,Beta:`Β`,beta:`β`,beth:`ℶ`,between:`≬`,Bfr:`𝔅`,bfr:`𝔟`,bigcap:`⋂`,bigcirc:`◯`,bigcup:`⋃`,bigodot:`⨀`,bigoplus:`⨁`,bigotimes:`⨂`,bigsqcup:`⨆`,bigstar:`★`,bigtriangledown:`▽`,bigtriangleup:`△`,biguplus:`⨄`,bigvee:`⋁`,bigwedge:`⋀`,bkarow:`⤍`,blacklozenge:`⧫`,blacksquare:`▪`,blacktriangle:`▴`,blacktriangledown:`▾`,blacktriangleleft:`◂`,blacktriangleright:`▸`,blank:`␣`,blk12:`▒`,blk14:`░`,blk34:`▓`,block:`█`,bne:`=⃥`,bnequiv:`≡⃥`,bNot:`⫭`,bnot:`⌐`,Bopf:`𝔹`,bopf:`𝕓`,bot:`⊥`,bottom:`⊥`,bowtie:`⋈`,boxbox:`⧉`,boxDL:`╗`,boxDl:`╖`,boxdL:`╕`,boxdl:`┐`,boxDR:`╔`,boxDr:`╓`,boxdR:`╒`,boxdr:`┌`,boxH:`═`,boxh:`─`,boxHD:`╦`,boxHd:`╤`,boxhD:`╥`,boxhd:`┬`,boxHU:`╩`,boxHu:`╧`,boxhU:`╨`,boxhu:`┴`,boxminus:`⊟`,boxplus:`⊞`,boxtimes:`⊠`,boxUL:`╝`,boxUl:`╜`,boxuL:`╛`,boxul:`┘`,boxUR:`╚`,boxUr:`╙`,boxuR:`╘`,boxur:`└`,boxV:`║`,boxv:`│`,boxVH:`╬`,boxVh:`╫`,boxvH:`╪`,boxvh:`┼`,boxVL:`╣`,boxVl:`╢`,boxvL:`╡`,boxvl:`┤`,boxVR:`╠`,boxVr:`╟`,boxvR:`╞`,boxvr:`├`,bprime:`‵`,Breve:`˘`,breve:`˘`,brvbar:`¦`,Bscr:`ℬ`,bscr:`𝒷`,bsemi:`⁏`,bsim:`∽`,bsime:`⋍`,bsol:`\\`,bsolb:`⧅`,bsolhsub:`⟈`,bull:`•`,bullet:`•`,bump:`≎`,bumpE:`⪮`,bumpe:`≏`,Bumpeq:`≎`,bumpeq:`≏`,Cacute:`Ć`,cacute:`ć`,Cap:`⋒`,cap:`∩`,capand:`⩄`,capbrcup:`⩉`,capcap:`⩋`,capcup:`⩇`,capdot:`⩀`,CapitalDifferentialD:`ⅅ`,caps:`∩︀`,caret:`⁁`,caron:`ˇ`,Cayleys:`ℭ`,ccaps:`⩍`,Ccaron:`Č`,ccaron:`č`,Ccedil:`Ç`,ccedil:`ç`,Ccirc:`Ĉ`,ccirc:`ĉ`,Cconint:`∰`,ccups:`⩌`,ccupssm:`⩐`,Cdot:`Ċ`,cdot:`ċ`,cedil:`¸`,Cedilla:`¸`,cemptyv:`⦲`,cent:`¢`,CenterDot:`·`,centerdot:`·`,Cfr:`ℭ`,cfr:`𝔠`,CHcy:`Ч`,chcy:`ч`,check:`✓`,checkmark:`✓`,Chi:`Χ`,chi:`χ`,cir:`○`,circ:`ˆ`,circeq:`≗`,circlearrowleft:`↺`,circlearrowright:`↻`,circledast:`⊛`,circledcirc:`⊚`,circleddash:`⊝`,CircleDot:`⊙`,circledR:`®`,circledS:`Ⓢ`,CircleMinus:`⊖`,CirclePlus:`⊕`,CircleTimes:`⊗`,cirE:`⧃`,cire:`≗`,cirfnint:`⨐`,cirmid:`⫯`,cirscir:`⧂`,ClockwiseContourIntegral:`∲`,CloseCurlyDoubleQuote:`”`,CloseCurlyQuote:`’`,clubs:`♣`,clubsuit:`♣`,Colon:`∷`,colon:`:`,Colone:`⩴`,colone:`≔`,coloneq:`≔`,comma:`,`,commat:`@`,comp:`∁`,compfn:`∘`,complement:`∁`,complexes:`ℂ`,cong:`≅`,congdot:`⩭`,Congruent:`≡`,Conint:`∯`,conint:`∮`,ContourIntegral:`∮`,Copf:`ℂ`,copf:`𝕔`,coprod:`∐`,Coproduct:`∐`,COPY:`©`,copy:`©`,copysr:`℗`,CounterClockwiseContourIntegral:`∳`,crarr:`↵`,Cross:`⨯`,cross:`✗`,Cscr:`𝒞`,cscr:`𝒸`,csub:`⫏`,csube:`⫑`,csup:`⫐`,csupe:`⫒`,ctdot:`⋯`,cudarrl:`⤸`,cudarrr:`⤵`,cuepr:`⋞`,cuesc:`⋟`,cularr:`↶`,cularrp:`⤽`,Cup:`⋓`,cup:`∪`,cupbrcap:`⩈`,CupCap:`≍`,cupcap:`⩆`,cupcup:`⩊`,cupdot:`⊍`,cupor:`⩅`,cups:`∪︀`,curarr:`↷`,curarrm:`⤼`,curlyeqprec:`⋞`,curlyeqsucc:`⋟`,curlyvee:`⋎`,curlywedge:`⋏`,curren:`¤`,curvearrowleft:`↶`,curvearrowright:`↷`,cuvee:`⋎`,cuwed:`⋏`,cwconint:`∲`,cwint:`∱`,cylcty:`⌭`,Dagger:`‡`,dagger:`†`,daleth:`ℸ`,Darr:`↡`,dArr:`⇓`,darr:`↓`,dash:`‐`,Dashv:`⫤`,dashv:`⊣`,dbkarow:`⤏`,dblac:`˝`,Dcaron:`Ď`,dcaron:`ď`,Dcy:`Д`,dcy:`д`,DD:`ⅅ`,dd:`ⅆ`,ddagger:`‡`,ddarr:`⇊`,DDotrahd:`⤑`,ddotseq:`⩷`,deg:`°`,Del:`∇`,Delta:`Δ`,delta:`δ`,demptyv:`⦱`,dfisht:`⥿`,Dfr:`𝔇`,dfr:`𝔡`,dHar:`⥥`,dharl:`⇃`,dharr:`⇂`,DiacriticalAcute:`´`,DiacriticalDot:`˙`,DiacriticalDoubleAcute:`˝`,DiacriticalGrave:"`",DiacriticalTilde:`˜`,diam:`⋄`,Diamond:`⋄`,diamond:`⋄`,diamondsuit:`♦`,diams:`♦`,die:`¨`,DifferentialD:`ⅆ`,digamma:`ϝ`,disin:`⋲`,div:`÷`,divide:`÷`,divideontimes:`⋇`,divonx:`⋇`,DJcy:`Ђ`,djcy:`ђ`,dlcorn:`⌞`,dlcrop:`⌍`,dollar:`$`,Dopf:`𝔻`,dopf:`𝕕`,Dot:`¨`,dot:`˙`,DotDot:`⃜`,doteq:`≐`,doteqdot:`≑`,DotEqual:`≐`,dotminus:`∸`,dotplus:`∔`,dotsquare:`⊡`,doublebarwedge:`⌆`,DoubleContourIntegral:`∯`,DoubleDot:`¨`,DoubleDownArrow:`⇓`,DoubleLeftArrow:`⇐`,DoubleLeftRightArrow:`⇔`,DoubleLeftTee:`⫤`,DoubleLongLeftArrow:`⟸`,DoubleLongLeftRightArrow:`⟺`,DoubleLongRightArrow:`⟹`,DoubleRightArrow:`⇒`,DoubleRightTee:`⊨`,DoubleUpArrow:`⇑`,DoubleUpDownArrow:`⇕`,DoubleVerticalBar:`∥`,DownArrow:`↓`,Downarrow:`⇓`,downarrow:`↓`,DownArrowBar:`⤓`,DownArrowUpArrow:`⇵`,DownBreve:`̑`,downdownarrows:`⇊`,downharpoonleft:`⇃`,downharpoonright:`⇂`,DownLeftRightVector:`⥐`,DownLeftTeeVector:`⥞`,DownLeftVector:`↽`,DownLeftVectorBar:`⥖`,DownRightTeeVector:`⥟`,DownRightVector:`⇁`,DownRightVectorBar:`⥗`,DownTee:`⊤`,DownTeeArrow:`↧`,drbkarow:`⤐`,drcorn:`⌟`,drcrop:`⌌`,Dscr:`𝒟`,dscr:`𝒹`,DScy:`Ѕ`,dscy:`ѕ`,dsol:`⧶`,Dstrok:`Đ`,dstrok:`đ`,dtdot:`⋱`,dtri:`▿`,dtrif:`▾`,duarr:`⇵`,duhar:`⥯`,dwangle:`⦦`,DZcy:`Џ`,dzcy:`џ`,dzigrarr:`⟿`,Eacute:`É`,eacute:`é`,easter:`⩮`,Ecaron:`Ě`,ecaron:`ě`,ecir:`≖`,Ecirc:`Ê`,ecirc:`ê`,ecolon:`≕`,Ecy:`Э`,ecy:`э`,eDDot:`⩷`,Edot:`Ė`,eDot:`≑`,edot:`ė`,ee:`ⅇ`,efDot:`≒`,Efr:`𝔈`,efr:`𝔢`,eg:`⪚`,Egrave:`È`,egrave:`è`,egs:`⪖`,egsdot:`⪘`,el:`⪙`,Element:`∈`,elinters:`⏧`,ell:`ℓ`,els:`⪕`,elsdot:`⪗`,Emacr:`Ē`,emacr:`ē`,empty:`∅`,emptyset:`∅`,EmptySmallSquare:`◻`,emptyv:`∅`,EmptyVerySmallSquare:`▫`,emsp:` `,emsp13:` `,emsp14:` `,ENG:`Ŋ`,eng:`ŋ`,ensp:` `,Eogon:`Ę`,eogon:`ę`,Eopf:`𝔼`,eopf:`𝕖`,epar:`⋕`,eparsl:`⧣`,eplus:`⩱`,epsi:`ε`,Epsilon:`Ε`,epsilon:`ε`,epsiv:`ϵ`,eqcirc:`≖`,eqcolon:`≕`,eqsim:`≂`,eqslantgtr:`⪖`,eqslantless:`⪕`,Equal:`⩵`,equals:`=`,EqualTilde:`≂`,equest:`≟`,Equilibrium:`⇌`,equiv:`≡`,equivDD:`⩸`,eqvparsl:`⧥`,erarr:`⥱`,erDot:`≓`,Escr:`ℰ`,escr:`ℯ`,esdot:`≐`,Esim:`⩳`,esim:`≂`,Eta:`Η`,eta:`η`,ETH:`Ð`,eth:`ð`,Euml:`Ë`,euml:`ë`,euro:`€`,excl:`!`,exist:`∃`,Exists:`∃`,expectation:`ℰ`,ExponentialE:`ⅇ`,exponentiale:`ⅇ`,fallingdotseq:`≒`,Fcy:`Ф`,fcy:`ф`,female:`♀`,ffilig:`ffi`,fflig:`ff`,ffllig:`ffl`,Ffr:`𝔉`,ffr:`𝔣`,filig:`fi`,FilledSmallSquare:`◼`,FilledVerySmallSquare:`▪`,fjlig:`fj`,flat:`♭`,fllig:`fl`,fltns:`▱`,fnof:`ƒ`,Fopf:`𝔽`,fopf:`𝕗`,ForAll:`∀`,forall:`∀`,fork:`⋔`,forkv:`⫙`,Fouriertrf:`ℱ`,fpartint:`⨍`,frac12:`½`,frac13:`⅓`,frac14:`¼`,frac15:`⅕`,frac16:`⅙`,frac18:`⅛`,frac23:`⅔`,frac25:`⅖`,frac34:`¾`,frac35:`⅗`,frac38:`⅜`,frac45:`⅘`,frac56:`⅚`,frac58:`⅝`,frac78:`⅞`,frasl:`⁄`,frown:`⌢`,Fscr:`ℱ`,fscr:`𝒻`,gacute:`ǵ`,Gamma:`Γ`,gamma:`γ`,Gammad:`Ϝ`,gammad:`ϝ`,gap:`⪆`,Gbreve:`Ğ`,gbreve:`ğ`,Gcedil:`Ģ`,Gcirc:`Ĝ`,gcirc:`ĝ`,Gcy:`Г`,gcy:`г`,Gdot:`Ġ`,gdot:`ġ`,gE:`≧`,ge:`≥`,gEl:`⪌`,gel:`⋛`,geq:`≥`,geqq:`≧`,geqslant:`⩾`,ges:`⩾`,gescc:`⪩`,gesdot:`⪀`,gesdoto:`⪂`,gesdotol:`⪄`,gesl:`⋛︀`,gesles:`⪔`,Gfr:`𝔊`,gfr:`𝔤`,Gg:`⋙`,gg:`≫`,ggg:`⋙`,gimel:`ℷ`,GJcy:`Ѓ`,gjcy:`ѓ`,gl:`≷`,gla:`⪥`,glE:`⪒`,glj:`⪤`,gnap:`⪊`,gnapprox:`⪊`,gnE:`≩`,gne:`⪈`,gneq:`⪈`,gneqq:`≩`,gnsim:`⋧`,Gopf:`𝔾`,gopf:`𝕘`,grave:"`",GreaterEqual:`≥`,GreaterEqualLess:`⋛`,GreaterFullEqual:`≧`,GreaterGreater:`⪢`,GreaterLess:`≷`,GreaterSlantEqual:`⩾`,GreaterTilde:`≳`,Gscr:`𝒢`,gscr:`ℊ`,gsim:`≳`,gsime:`⪎`,gsiml:`⪐`,Gt:`≫`,GT:`>`,gt:`>`,gtcc:`⪧`,gtcir:`⩺`,gtdot:`⋗`,gtlPar:`⦕`,gtquest:`⩼`,gtrapprox:`⪆`,gtrarr:`⥸`,gtrdot:`⋗`,gtreqless:`⋛`,gtreqqless:`⪌`,gtrless:`≷`,gtrsim:`≳`,gvertneqq:`≩︀`,gvnE:`≩︀`,Hacek:`ˇ`,hairsp:` `,half:`½`,hamilt:`ℋ`,HARDcy:`Ъ`,hardcy:`ъ`,hArr:`⇔`,harr:`↔`,harrcir:`⥈`,harrw:`↭`,Hat:`^`,hbar:`ℏ`,Hcirc:`Ĥ`,hcirc:`ĥ`,hearts:`♥`,heartsuit:`♥`,hellip:`…`,hercon:`⊹`,Hfr:`ℌ`,hfr:`𝔥`,HilbertSpace:`ℋ`,hksearow:`⤥`,hkswarow:`⤦`,hoarr:`⇿`,homtht:`∻`,hookleftarrow:`↩`,hookrightarrow:`↪`,Hopf:`ℍ`,hopf:`𝕙`,horbar:`―`,HorizontalLine:`─`,Hscr:`ℋ`,hscr:`𝒽`,hslash:`ℏ`,Hstrok:`Ħ`,hstrok:`ħ`,HumpDownHump:`≎`,HumpEqual:`≏`,hybull:`⁃`,hyphen:`‐`,Iacute:`Í`,iacute:`í`,ic:``,Icirc:`Î`,icirc:`î`,Icy:`И`,icy:`и`,Idot:`İ`,IEcy:`Е`,iecy:`е`,iexcl:`¡`,iff:`⇔`,Ifr:`ℑ`,ifr:`𝔦`,Igrave:`Ì`,igrave:`ì`,ii:`ⅈ`,iiiint:`⨌`,iiint:`∭`,iinfin:`⧜`,iiota:`℩`,IJlig:`IJ`,ijlig:`ij`,Im:`ℑ`,Imacr:`Ī`,imacr:`ī`,image:`ℑ`,ImaginaryI:`ⅈ`,imagline:`ℐ`,imagpart:`ℑ`,imath:`ı`,imof:`⊷`,imped:`Ƶ`,Implies:`⇒`,in:`∈`,incare:`℅`,infin:`∞`,infintie:`⧝`,inodot:`ı`,Int:`∬`,int:`∫`,intcal:`⊺`,integers:`ℤ`,Integral:`∫`,intercal:`⊺`,Intersection:`⋂`,intlarhk:`⨗`,intprod:`⨼`,InvisibleComma:``,InvisibleTimes:``,IOcy:`Ё`,iocy:`ё`,Iogon:`Į`,iogon:`į`,Iopf:`𝕀`,iopf:`𝕚`,Iota:`Ι`,iota:`ι`,iprod:`⨼`,iquest:`¿`,Iscr:`ℐ`,iscr:`𝒾`,isin:`∈`,isindot:`⋵`,isinE:`⋹`,isins:`⋴`,isinsv:`⋳`,isinv:`∈`,it:``,Itilde:`Ĩ`,itilde:`ĩ`,Iukcy:`І`,iukcy:`і`,Iuml:`Ï`,iuml:`ï`,Jcirc:`Ĵ`,jcirc:`ĵ`,Jcy:`Й`,jcy:`й`,Jfr:`𝔍`,jfr:`𝔧`,jmath:`ȷ`,Jopf:`𝕁`,jopf:`𝕛`,Jscr:`𝒥`,jscr:`𝒿`,Jsercy:`Ј`,jsercy:`ј`,Jukcy:`Є`,jukcy:`є`,Kappa:`Κ`,kappa:`κ`,kappav:`ϰ`,Kcedil:`Ķ`,kcedil:`ķ`,Kcy:`К`,kcy:`к`,Kfr:`𝔎`,kfr:`𝔨`,kgreen:`ĸ`,KHcy:`Х`,khcy:`х`,KJcy:`Ќ`,kjcy:`ќ`,Kopf:`𝕂`,kopf:`𝕜`,Kscr:`𝒦`,kscr:`𝓀`,lAarr:`⇚`,Lacute:`Ĺ`,lacute:`ĺ`,laemptyv:`⦴`,lagran:`ℒ`,Lambda:`Λ`,lambda:`λ`,Lang:`⟪`,lang:`⟨`,langd:`⦑`,langle:`⟨`,lap:`⪅`,Laplacetrf:`ℒ`,laquo:`«`,Larr:`↞`,lArr:`⇐`,larr:`←`,larrb:`⇤`,larrbfs:`⤟`,larrfs:`⤝`,larrhk:`↩`,larrlp:`↫`,larrpl:`⤹`,larrsim:`⥳`,larrtl:`↢`,lat:`⪫`,lAtail:`⤛`,latail:`⤙`,late:`⪭`,lates:`⪭︀`,lBarr:`⤎`,lbarr:`⤌`,lbbrk:`❲`,lbrace:`{`,lbrack:`[`,lbrke:`⦋`,lbrksld:`⦏`,lbrkslu:`⦍`,Lcaron:`Ľ`,lcaron:`ľ`,Lcedil:`Ļ`,lcedil:`ļ`,lceil:`⌈`,lcub:`{`,Lcy:`Л`,lcy:`л`,ldca:`⤶`,ldquo:`“`,ldquor:`„`,ldrdhar:`⥧`,ldrushar:`⥋`,ldsh:`↲`,lE:`≦`,le:`≤`,LeftAngleBracket:`⟨`,LeftArrow:`←`,Leftarrow:`⇐`,leftarrow:`←`,LeftArrowBar:`⇤`,LeftArrowRightArrow:`⇆`,leftarrowtail:`↢`,LeftCeiling:`⌈`,LeftDoubleBracket:`⟦`,LeftDownTeeVector:`⥡`,LeftDownVector:`⇃`,LeftDownVectorBar:`⥙`,LeftFloor:`⌊`,leftharpoondown:`↽`,leftharpoonup:`↼`,leftleftarrows:`⇇`,LeftRightArrow:`↔`,Leftrightarrow:`⇔`,leftrightarrow:`↔`,leftrightarrows:`⇆`,leftrightharpoons:`⇋`,leftrightsquigarrow:`↭`,LeftRightVector:`⥎`,LeftTee:`⊣`,LeftTeeArrow:`↤`,LeftTeeVector:`⥚`,leftthreetimes:`⋋`,LeftTriangle:`⊲`,LeftTriangleBar:`⧏`,LeftTriangleEqual:`⊴`,LeftUpDownVector:`⥑`,LeftUpTeeVector:`⥠`,LeftUpVector:`↿`,LeftUpVectorBar:`⥘`,LeftVector:`↼`,LeftVectorBar:`⥒`,lEg:`⪋`,leg:`⋚`,leq:`≤`,leqq:`≦`,leqslant:`⩽`,les:`⩽`,lescc:`⪨`,lesdot:`⩿`,lesdoto:`⪁`,lesdotor:`⪃`,lesg:`⋚︀`,lesges:`⪓`,lessapprox:`⪅`,lessdot:`⋖`,lesseqgtr:`⋚`,lesseqqgtr:`⪋`,LessEqualGreater:`⋚`,LessFullEqual:`≦`,LessGreater:`≶`,lessgtr:`≶`,LessLess:`⪡`,lesssim:`≲`,LessSlantEqual:`⩽`,LessTilde:`≲`,lfisht:`⥼`,lfloor:`⌊`,Lfr:`𝔏`,lfr:`𝔩`,lg:`≶`,lgE:`⪑`,lHar:`⥢`,lhard:`↽`,lharu:`↼`,lharul:`⥪`,lhblk:`▄`,LJcy:`Љ`,ljcy:`љ`,Ll:`⋘`,ll:`≪`,llarr:`⇇`,llcorner:`⌞`,Lleftarrow:`⇚`,llhard:`⥫`,lltri:`◺`,Lmidot:`Ŀ`,lmidot:`ŀ`,lmoust:`⎰`,lmoustache:`⎰`,lnap:`⪉`,lnapprox:`⪉`,lnE:`≨`,lne:`⪇`,lneq:`⪇`,lneqq:`≨`,lnsim:`⋦`,loang:`⟬`,loarr:`⇽`,lobrk:`⟦`,LongLeftArrow:`⟵`,Longleftarrow:`⟸`,longleftarrow:`⟵`,LongLeftRightArrow:`⟷`,Longleftrightarrow:`⟺`,longleftrightarrow:`⟷`,longmapsto:`⟼`,LongRightArrow:`⟶`,Longrightarrow:`⟹`,longrightarrow:`⟶`,looparrowleft:`↫`,looparrowright:`↬`,lopar:`⦅`,Lopf:`𝕃`,lopf:`𝕝`,loplus:`⨭`,lotimes:`⨴`,lowast:`∗`,lowbar:`_`,LowerLeftArrow:`↙`,LowerRightArrow:`↘`,loz:`◊`,lozenge:`◊`,lozf:`⧫`,lpar:`(`,lparlt:`⦓`,lrarr:`⇆`,lrcorner:`⌟`,lrhar:`⇋`,lrhard:`⥭`,lrm:``,lrtri:`⊿`,lsaquo:`‹`,Lscr:`ℒ`,lscr:`𝓁`,Lsh:`↰`,lsh:`↰`,lsim:`≲`,lsime:`⪍`,lsimg:`⪏`,lsqb:`[`,lsquo:`‘`,lsquor:`‚`,Lstrok:`Ł`,lstrok:`ł`,Lt:`≪`,LT:`<`,lt:`<`,ltcc:`⪦`,ltcir:`⩹`,ltdot:`⋖`,lthree:`⋋`,ltimes:`⋉`,ltlarr:`⥶`,ltquest:`⩻`,ltri:`◃`,ltrie:`⊴`,ltrif:`◂`,ltrPar:`⦖`,lurdshar:`⥊`,luruhar:`⥦`,lvertneqq:`≨︀`,lvnE:`≨︀`,macr:`¯`,male:`♂`,malt:`✠`,maltese:`✠`,Map:`⤅`,map:`↦`,mapsto:`↦`,mapstodown:`↧`,mapstoleft:`↤`,mapstoup:`↥`,marker:`▮`,mcomma:`⨩`,Mcy:`М`,mcy:`м`,mdash:`—`,mDDot:`∺`,measuredangle:`∡`,MediumSpace:` `,Mellintrf:`ℳ`,Mfr:`𝔐`,mfr:`𝔪`,mho:`℧`,micro:`µ`,mid:`∣`,midast:`*`,midcir:`⫰`,middot:`·`,minus:`−`,minusb:`⊟`,minusd:`∸`,minusdu:`⨪`,MinusPlus:`∓`,mlcp:`⫛`,mldr:`…`,mnplus:`∓`,models:`⊧`,Mopf:`𝕄`,mopf:`𝕞`,mp:`∓`,Mscr:`ℳ`,mscr:`𝓂`,mstpos:`∾`,Mu:`Μ`,mu:`μ`,multimap:`⊸`,mumap:`⊸`,nabla:`∇`,Nacute:`Ń`,nacute:`ń`,nang:`∠⃒`,nap:`≉`,napE:`⩰̸`,napid:`≋̸`,napos:`ʼn`,napprox:`≉`,natur:`♮`,natural:`♮`,naturals:`ℕ`,nbsp:`\xA0`,nbump:`≎̸`,nbumpe:`≏̸`,ncap:`⩃`,Ncaron:`Ň`,ncaron:`ň`,Ncedil:`Ņ`,ncedil:`ņ`,ncong:`≇`,ncongdot:`⩭̸`,ncup:`⩂`,Ncy:`Н`,ncy:`н`,ndash:`–`,ne:`≠`,nearhk:`⤤`,neArr:`⇗`,nearr:`↗`,nearrow:`↗`,nedot:`≐̸`,NegativeMediumSpace:``,NegativeThickSpace:``,NegativeThinSpace:``,NegativeVeryThinSpace:``,nequiv:`≢`,nesear:`⤨`,nesim:`≂̸`,NestedGreaterGreater:`≫`,NestedLessLess:`≪`,NewLine:`
|
|
24
|
+
`,nexist:`∄`,nexists:`∄`,Nfr:`𝔑`,nfr:`𝔫`,ngE:`≧̸`,nge:`≱`,ngeq:`≱`,ngeqq:`≧̸`,ngeqslant:`⩾̸`,nges:`⩾̸`,nGg:`⋙̸`,ngsim:`≵`,nGt:`≫⃒`,ngt:`≯`,ngtr:`≯`,nGtv:`≫̸`,nhArr:`⇎`,nharr:`↮`,nhpar:`⫲`,ni:`∋`,nis:`⋼`,nisd:`⋺`,niv:`∋`,NJcy:`Њ`,njcy:`њ`,nlArr:`⇍`,nlarr:`↚`,nldr:`‥`,nlE:`≦̸`,nle:`≰`,nLeftarrow:`⇍`,nleftarrow:`↚`,nLeftrightarrow:`⇎`,nleftrightarrow:`↮`,nleq:`≰`,nleqq:`≦̸`,nleqslant:`⩽̸`,nles:`⩽̸`,nless:`≮`,nLl:`⋘̸`,nlsim:`≴`,nLt:`≪⃒`,nlt:`≮`,nltri:`⋪`,nltrie:`⋬`,nLtv:`≪̸`,nmid:`∤`,NoBreak:``,NonBreakingSpace:`\xA0`,Nopf:`ℕ`,nopf:`𝕟`,Not:`⫬`,not:`¬`,NotCongruent:`≢`,NotCupCap:`≭`,NotDoubleVerticalBar:`∦`,NotElement:`∉`,NotEqual:`≠`,NotEqualTilde:`≂̸`,NotExists:`∄`,NotGreater:`≯`,NotGreaterEqual:`≱`,NotGreaterFullEqual:`≧̸`,NotGreaterGreater:`≫̸`,NotGreaterLess:`≹`,NotGreaterSlantEqual:`⩾̸`,NotGreaterTilde:`≵`,NotHumpDownHump:`≎̸`,NotHumpEqual:`≏̸`,notin:`∉`,notindot:`⋵̸`,notinE:`⋹̸`,notinva:`∉`,notinvb:`⋷`,notinvc:`⋶`,NotLeftTriangle:`⋪`,NotLeftTriangleBar:`⧏̸`,NotLeftTriangleEqual:`⋬`,NotLess:`≮`,NotLessEqual:`≰`,NotLessGreater:`≸`,NotLessLess:`≪̸`,NotLessSlantEqual:`⩽̸`,NotLessTilde:`≴`,NotNestedGreaterGreater:`⪢̸`,NotNestedLessLess:`⪡̸`,notni:`∌`,notniva:`∌`,notnivb:`⋾`,notnivc:`⋽`,NotPrecedes:`⊀`,NotPrecedesEqual:`⪯̸`,NotPrecedesSlantEqual:`⋠`,NotReverseElement:`∌`,NotRightTriangle:`⋫`,NotRightTriangleBar:`⧐̸`,NotRightTriangleEqual:`⋭`,NotSquareSubset:`⊏̸`,NotSquareSubsetEqual:`⋢`,NotSquareSuperset:`⊐̸`,NotSquareSupersetEqual:`⋣`,NotSubset:`⊂⃒`,NotSubsetEqual:`⊈`,NotSucceeds:`⊁`,NotSucceedsEqual:`⪰̸`,NotSucceedsSlantEqual:`⋡`,NotSucceedsTilde:`≿̸`,NotSuperset:`⊃⃒`,NotSupersetEqual:`⊉`,NotTilde:`≁`,NotTildeEqual:`≄`,NotTildeFullEqual:`≇`,NotTildeTilde:`≉`,NotVerticalBar:`∤`,npar:`∦`,nparallel:`∦`,nparsl:`⫽⃥`,npart:`∂̸`,npolint:`⨔`,npr:`⊀`,nprcue:`⋠`,npre:`⪯̸`,nprec:`⊀`,npreceq:`⪯̸`,nrArr:`⇏`,nrarr:`↛`,nrarrc:`⤳̸`,nrarrw:`↝̸`,nRightarrow:`⇏`,nrightarrow:`↛`,nrtri:`⋫`,nrtrie:`⋭`,nsc:`⊁`,nsccue:`⋡`,nsce:`⪰̸`,Nscr:`𝒩`,nscr:`𝓃`,nshortmid:`∤`,nshortparallel:`∦`,nsim:`≁`,nsime:`≄`,nsimeq:`≄`,nsmid:`∤`,nspar:`∦`,nsqsube:`⋢`,nsqsupe:`⋣`,nsub:`⊄`,nsubE:`⫅̸`,nsube:`⊈`,nsubset:`⊂⃒`,nsubseteq:`⊈`,nsubseteqq:`⫅̸`,nsucc:`⊁`,nsucceq:`⪰̸`,nsup:`⊅`,nsupE:`⫆̸`,nsupe:`⊉`,nsupset:`⊃⃒`,nsupseteq:`⊉`,nsupseteqq:`⫆̸`,ntgl:`≹`,Ntilde:`Ñ`,ntilde:`ñ`,ntlg:`≸`,ntriangleleft:`⋪`,ntrianglelefteq:`⋬`,ntriangleright:`⋫`,ntrianglerighteq:`⋭`,Nu:`Ν`,nu:`ν`,num:`#`,numero:`№`,numsp:` `,nvap:`≍⃒`,nVDash:`⊯`,nVdash:`⊮`,nvDash:`⊭`,nvdash:`⊬`,nvge:`≥⃒`,nvgt:`>⃒`,nvHarr:`⤄`,nvinfin:`⧞`,nvlArr:`⤂`,nvle:`≤⃒`,nvlt:`<⃒`,nvltrie:`⊴⃒`,nvrArr:`⤃`,nvrtrie:`⊵⃒`,nvsim:`∼⃒`,nwarhk:`⤣`,nwArr:`⇖`,nwarr:`↖`,nwarrow:`↖`,nwnear:`⤧`,Oacute:`Ó`,oacute:`ó`,oast:`⊛`,ocir:`⊚`,Ocirc:`Ô`,ocirc:`ô`,Ocy:`О`,ocy:`о`,odash:`⊝`,Odblac:`Ő`,odblac:`ő`,odiv:`⨸`,odot:`⊙`,odsold:`⦼`,OElig:`Œ`,oelig:`œ`,ofcir:`⦿`,Ofr:`𝔒`,ofr:`𝔬`,ogon:`˛`,Ograve:`Ò`,ograve:`ò`,ogt:`⧁`,ohbar:`⦵`,ohm:`Ω`,oint:`∮`,olarr:`↺`,olcir:`⦾`,olcross:`⦻`,oline:`‾`,olt:`⧀`,Omacr:`Ō`,omacr:`ō`,Omega:`Ω`,omega:`ω`,Omicron:`Ο`,omicron:`ο`,omid:`⦶`,ominus:`⊖`,Oopf:`𝕆`,oopf:`𝕠`,opar:`⦷`,OpenCurlyDoubleQuote:`“`,OpenCurlyQuote:`‘`,operp:`⦹`,oplus:`⊕`,Or:`⩔`,or:`∨`,orarr:`↻`,ord:`⩝`,order:`ℴ`,orderof:`ℴ`,ordf:`ª`,ordm:`º`,origof:`⊶`,oror:`⩖`,orslope:`⩗`,orv:`⩛`,oS:`Ⓢ`,Oscr:`𝒪`,oscr:`ℴ`,Oslash:`Ø`,oslash:`ø`,osol:`⊘`,Otilde:`Õ`,otilde:`õ`,Otimes:`⨷`,otimes:`⊗`,otimesas:`⨶`,Ouml:`Ö`,ouml:`ö`,ovbar:`⌽`,OverBar:`‾`,OverBrace:`⏞`,OverBracket:`⎴`,OverParenthesis:`⏜`,par:`∥`,para:`¶`,parallel:`∥`,parsim:`⫳`,parsl:`⫽`,part:`∂`,PartialD:`∂`,Pcy:`П`,pcy:`п`,percnt:`%`,period:`.`,permil:`‰`,perp:`⊥`,pertenk:`‱`,Pfr:`𝔓`,pfr:`𝔭`,Phi:`Φ`,phi:`φ`,phiv:`ϕ`,phmmat:`ℳ`,phone:`☎`,Pi:`Π`,pi:`π`,pitchfork:`⋔`,piv:`ϖ`,planck:`ℏ`,planckh:`ℎ`,plankv:`ℏ`,plus:`+`,plusacir:`⨣`,plusb:`⊞`,pluscir:`⨢`,plusdo:`∔`,plusdu:`⨥`,pluse:`⩲`,PlusMinus:`±`,plusmn:`±`,plussim:`⨦`,plustwo:`⨧`,pm:`±`,Poincareplane:`ℌ`,pointint:`⨕`,Popf:`ℙ`,popf:`𝕡`,pound:`£`,Pr:`⪻`,pr:`≺`,prap:`⪷`,prcue:`≼`,prE:`⪳`,pre:`⪯`,prec:`≺`,precapprox:`⪷`,preccurlyeq:`≼`,Precedes:`≺`,PrecedesEqual:`⪯`,PrecedesSlantEqual:`≼`,PrecedesTilde:`≾`,preceq:`⪯`,precnapprox:`⪹`,precneqq:`⪵`,precnsim:`⋨`,precsim:`≾`,Prime:`″`,prime:`′`,primes:`ℙ`,prnap:`⪹`,prnE:`⪵`,prnsim:`⋨`,prod:`∏`,Product:`∏`,profalar:`⌮`,profline:`⌒`,profsurf:`⌓`,prop:`∝`,Proportion:`∷`,Proportional:`∝`,propto:`∝`,prsim:`≾`,prurel:`⊰`,Pscr:`𝒫`,pscr:`𝓅`,Psi:`Ψ`,psi:`ψ`,puncsp:` `,Qfr:`𝔔`,qfr:`𝔮`,qint:`⨌`,Qopf:`ℚ`,qopf:`𝕢`,qprime:`⁗`,Qscr:`𝒬`,qscr:`𝓆`,quaternions:`ℍ`,quatint:`⨖`,quest:`?`,questeq:`≟`,QUOT:`"`,quot:`"`,rAarr:`⇛`,race:`∽̱`,Racute:`Ŕ`,racute:`ŕ`,radic:`√`,raemptyv:`⦳`,Rang:`⟫`,rang:`⟩`,rangd:`⦒`,range:`⦥`,rangle:`⟩`,raquo:`»`,Rarr:`↠`,rArr:`⇒`,rarr:`→`,rarrap:`⥵`,rarrb:`⇥`,rarrbfs:`⤠`,rarrc:`⤳`,rarrfs:`⤞`,rarrhk:`↪`,rarrlp:`↬`,rarrpl:`⥅`,rarrsim:`⥴`,Rarrtl:`⤖`,rarrtl:`↣`,rarrw:`↝`,rAtail:`⤜`,ratail:`⤚`,ratio:`∶`,rationals:`ℚ`,RBarr:`⤐`,rBarr:`⤏`,rbarr:`⤍`,rbbrk:`❳`,rbrace:`}`,rbrack:`]`,rbrke:`⦌`,rbrksld:`⦎`,rbrkslu:`⦐`,Rcaron:`Ř`,rcaron:`ř`,Rcedil:`Ŗ`,rcedil:`ŗ`,rceil:`⌉`,rcub:`}`,Rcy:`Р`,rcy:`р`,rdca:`⤷`,rdldhar:`⥩`,rdquo:`”`,rdquor:`”`,rdsh:`↳`,Re:`ℜ`,real:`ℜ`,realine:`ℛ`,realpart:`ℜ`,reals:`ℝ`,rect:`▭`,REG:`®`,reg:`®`,ReverseElement:`∋`,ReverseEquilibrium:`⇋`,ReverseUpEquilibrium:`⥯`,rfisht:`⥽`,rfloor:`⌋`,Rfr:`ℜ`,rfr:`𝔯`,rHar:`⥤`,rhard:`⇁`,rharu:`⇀`,rharul:`⥬`,Rho:`Ρ`,rho:`ρ`,rhov:`ϱ`,RightAngleBracket:`⟩`,RightArrow:`→`,Rightarrow:`⇒`,rightarrow:`→`,RightArrowBar:`⇥`,RightArrowLeftArrow:`⇄`,rightarrowtail:`↣`,RightCeiling:`⌉`,RightDoubleBracket:`⟧`,RightDownTeeVector:`⥝`,RightDownVector:`⇂`,RightDownVectorBar:`⥕`,RightFloor:`⌋`,rightharpoondown:`⇁`,rightharpoonup:`⇀`,rightleftarrows:`⇄`,rightleftharpoons:`⇌`,rightrightarrows:`⇉`,rightsquigarrow:`↝`,RightTee:`⊢`,RightTeeArrow:`↦`,RightTeeVector:`⥛`,rightthreetimes:`⋌`,RightTriangle:`⊳`,RightTriangleBar:`⧐`,RightTriangleEqual:`⊵`,RightUpDownVector:`⥏`,RightUpTeeVector:`⥜`,RightUpVector:`↾`,RightUpVectorBar:`⥔`,RightVector:`⇀`,RightVectorBar:`⥓`,ring:`˚`,risingdotseq:`≓`,rlarr:`⇄`,rlhar:`⇌`,rlm:``,rmoust:`⎱`,rmoustache:`⎱`,rnmid:`⫮`,roang:`⟭`,roarr:`⇾`,robrk:`⟧`,ropar:`⦆`,Ropf:`ℝ`,ropf:`𝕣`,roplus:`⨮`,rotimes:`⨵`,RoundImplies:`⥰`,rpar:`)`,rpargt:`⦔`,rppolint:`⨒`,rrarr:`⇉`,Rrightarrow:`⇛`,rsaquo:`›`,Rscr:`ℛ`,rscr:`𝓇`,Rsh:`↱`,rsh:`↱`,rsqb:`]`,rsquo:`’`,rsquor:`’`,rthree:`⋌`,rtimes:`⋊`,rtri:`▹`,rtrie:`⊵`,rtrif:`▸`,rtriltri:`⧎`,RuleDelayed:`⧴`,ruluhar:`⥨`,rx:`℞`,Sacute:`Ś`,sacute:`ś`,sbquo:`‚`,Sc:`⪼`,sc:`≻`,scap:`⪸`,Scaron:`Š`,scaron:`š`,sccue:`≽`,scE:`⪴`,sce:`⪰`,Scedil:`Ş`,scedil:`ş`,Scirc:`Ŝ`,scirc:`ŝ`,scnap:`⪺`,scnE:`⪶`,scnsim:`⋩`,scpolint:`⨓`,scsim:`≿`,Scy:`С`,scy:`с`,sdot:`⋅`,sdotb:`⊡`,sdote:`⩦`,searhk:`⤥`,seArr:`⇘`,searr:`↘`,searrow:`↘`,sect:`§`,semi:`;`,seswar:`⤩`,setminus:`∖`,setmn:`∖`,sext:`✶`,Sfr:`𝔖`,sfr:`𝔰`,sfrown:`⌢`,sharp:`♯`,SHCHcy:`Щ`,shchcy:`щ`,SHcy:`Ш`,shcy:`ш`,ShortDownArrow:`↓`,ShortLeftArrow:`←`,shortmid:`∣`,shortparallel:`∥`,ShortRightArrow:`→`,ShortUpArrow:`↑`,shy:``,Sigma:`Σ`,sigma:`σ`,sigmaf:`ς`,sigmav:`ς`,sim:`∼`,simdot:`⩪`,sime:`≃`,simeq:`≃`,simg:`⪞`,simgE:`⪠`,siml:`⪝`,simlE:`⪟`,simne:`≆`,simplus:`⨤`,simrarr:`⥲`,slarr:`←`,SmallCircle:`∘`,smallsetminus:`∖`,smashp:`⨳`,smeparsl:`⧤`,smid:`∣`,smile:`⌣`,smt:`⪪`,smte:`⪬`,smtes:`⪬︀`,SOFTcy:`Ь`,softcy:`ь`,sol:`/`,solb:`⧄`,solbar:`⌿`,Sopf:`𝕊`,sopf:`𝕤`,spades:`♠`,spadesuit:`♠`,spar:`∥`,sqcap:`⊓`,sqcaps:`⊓︀`,sqcup:`⊔`,sqcups:`⊔︀`,Sqrt:`√`,sqsub:`⊏`,sqsube:`⊑`,sqsubset:`⊏`,sqsubseteq:`⊑`,sqsup:`⊐`,sqsupe:`⊒`,sqsupset:`⊐`,sqsupseteq:`⊒`,squ:`□`,Square:`□`,square:`□`,SquareIntersection:`⊓`,SquareSubset:`⊏`,SquareSubsetEqual:`⊑`,SquareSuperset:`⊐`,SquareSupersetEqual:`⊒`,SquareUnion:`⊔`,squarf:`▪`,squf:`▪`,srarr:`→`,Sscr:`𝒮`,sscr:`𝓈`,ssetmn:`∖`,ssmile:`⌣`,sstarf:`⋆`,Star:`⋆`,star:`☆`,starf:`★`,straightepsilon:`ϵ`,straightphi:`ϕ`,strns:`¯`,Sub:`⋐`,sub:`⊂`,subdot:`⪽`,subE:`⫅`,sube:`⊆`,subedot:`⫃`,submult:`⫁`,subnE:`⫋`,subne:`⊊`,subplus:`⪿`,subrarr:`⥹`,Subset:`⋐`,subset:`⊂`,subseteq:`⊆`,subseteqq:`⫅`,SubsetEqual:`⊆`,subsetneq:`⊊`,subsetneqq:`⫋`,subsim:`⫇`,subsub:`⫕`,subsup:`⫓`,succ:`≻`,succapprox:`⪸`,succcurlyeq:`≽`,Succeeds:`≻`,SucceedsEqual:`⪰`,SucceedsSlantEqual:`≽`,SucceedsTilde:`≿`,succeq:`⪰`,succnapprox:`⪺`,succneqq:`⪶`,succnsim:`⋩`,succsim:`≿`,SuchThat:`∋`,Sum:`∑`,sum:`∑`,sung:`♪`,Sup:`⋑`,sup:`⊃`,sup1:`¹`,sup2:`²`,sup3:`³`,supdot:`⪾`,supdsub:`⫘`,supE:`⫆`,supe:`⊇`,supedot:`⫄`,Superset:`⊃`,SupersetEqual:`⊇`,suphsol:`⟉`,suphsub:`⫗`,suplarr:`⥻`,supmult:`⫂`,supnE:`⫌`,supne:`⊋`,supplus:`⫀`,Supset:`⋑`,supset:`⊃`,supseteq:`⊇`,supseteqq:`⫆`,supsetneq:`⊋`,supsetneqq:`⫌`,supsim:`⫈`,supsub:`⫔`,supsup:`⫖`,swarhk:`⤦`,swArr:`⇙`,swarr:`↙`,swarrow:`↙`,swnwar:`⤪`,szlig:`ß`,Tab:` `,target:`⌖`,Tau:`Τ`,tau:`τ`,tbrk:`⎴`,Tcaron:`Ť`,tcaron:`ť`,Tcedil:`Ţ`,tcedil:`ţ`,Tcy:`Т`,tcy:`т`,tdot:`⃛`,telrec:`⌕`,Tfr:`𝔗`,tfr:`𝔱`,there4:`∴`,Therefore:`∴`,therefore:`∴`,Theta:`Θ`,theta:`θ`,thetasym:`ϑ`,thetav:`ϑ`,thickapprox:`≈`,thicksim:`∼`,ThickSpace:` `,thinsp:` `,ThinSpace:` `,thkap:`≈`,thksim:`∼`,THORN:`Þ`,thorn:`þ`,Tilde:`∼`,tilde:`˜`,TildeEqual:`≃`,TildeFullEqual:`≅`,TildeTilde:`≈`,times:`×`,timesb:`⊠`,timesbar:`⨱`,timesd:`⨰`,tint:`∭`,toea:`⤨`,top:`⊤`,topbot:`⌶`,topcir:`⫱`,Topf:`𝕋`,topf:`𝕥`,topfork:`⫚`,tosa:`⤩`,tprime:`‴`,TRADE:`™`,trade:`™`,triangle:`▵`,triangledown:`▿`,triangleleft:`◃`,trianglelefteq:`⊴`,triangleq:`≜`,triangleright:`▹`,trianglerighteq:`⊵`,tridot:`◬`,trie:`≜`,triminus:`⨺`,TripleDot:`⃛`,triplus:`⨹`,trisb:`⧍`,tritime:`⨻`,trpezium:`⏢`,Tscr:`𝒯`,tscr:`𝓉`,TScy:`Ц`,tscy:`ц`,TSHcy:`Ћ`,tshcy:`ћ`,Tstrok:`Ŧ`,tstrok:`ŧ`,twixt:`≬`,twoheadleftarrow:`↞`,twoheadrightarrow:`↠`,Uacute:`Ú`,uacute:`ú`,Uarr:`↟`,uArr:`⇑`,uarr:`↑`,Uarrocir:`⥉`,Ubrcy:`Ў`,ubrcy:`ў`,Ubreve:`Ŭ`,ubreve:`ŭ`,Ucirc:`Û`,ucirc:`û`,Ucy:`У`,ucy:`у`,udarr:`⇅`,Udblac:`Ű`,udblac:`ű`,udhar:`⥮`,ufisht:`⥾`,Ufr:`𝔘`,ufr:`𝔲`,Ugrave:`Ù`,ugrave:`ù`,uHar:`⥣`,uharl:`↿`,uharr:`↾`,uhblk:`▀`,ulcorn:`⌜`,ulcorner:`⌜`,ulcrop:`⌏`,ultri:`◸`,Umacr:`Ū`,umacr:`ū`,uml:`¨`,UnderBar:`_`,UnderBrace:`⏟`,UnderBracket:`⎵`,UnderParenthesis:`⏝`,Union:`⋃`,UnionPlus:`⊎`,Uogon:`Ų`,uogon:`ų`,Uopf:`𝕌`,uopf:`𝕦`,UpArrow:`↑`,Uparrow:`⇑`,uparrow:`↑`,UpArrowBar:`⤒`,UpArrowDownArrow:`⇅`,UpDownArrow:`↕`,Updownarrow:`⇕`,updownarrow:`↕`,UpEquilibrium:`⥮`,upharpoonleft:`↿`,upharpoonright:`↾`,uplus:`⊎`,UpperLeftArrow:`↖`,UpperRightArrow:`↗`,Upsi:`ϒ`,upsi:`υ`,upsih:`ϒ`,Upsilon:`Υ`,upsilon:`υ`,UpTee:`⊥`,UpTeeArrow:`↥`,upuparrows:`⇈`,urcorn:`⌝`,urcorner:`⌝`,urcrop:`⌎`,Uring:`Ů`,uring:`ů`,urtri:`◹`,Uscr:`𝒰`,uscr:`𝓊`,utdot:`⋰`,Utilde:`Ũ`,utilde:`ũ`,utri:`▵`,utrif:`▴`,uuarr:`⇈`,Uuml:`Ü`,uuml:`ü`,uwangle:`⦧`,vangrt:`⦜`,varepsilon:`ϵ`,varkappa:`ϰ`,varnothing:`∅`,varphi:`ϕ`,varpi:`ϖ`,varpropto:`∝`,vArr:`⇕`,varr:`↕`,varrho:`ϱ`,varsigma:`ς`,varsubsetneq:`⊊︀`,varsubsetneqq:`⫋︀`,varsupsetneq:`⊋︀`,varsupsetneqq:`⫌︀`,vartheta:`ϑ`,vartriangleleft:`⊲`,vartriangleright:`⊳`,Vbar:`⫫`,vBar:`⫨`,vBarv:`⫩`,Vcy:`В`,vcy:`в`,VDash:`⊫`,Vdash:`⊩`,vDash:`⊨`,vdash:`⊢`,Vdashl:`⫦`,Vee:`⋁`,vee:`∨`,veebar:`⊻`,veeeq:`≚`,vellip:`⋮`,Verbar:`‖`,verbar:`|`,Vert:`‖`,vert:`|`,VerticalBar:`∣`,VerticalLine:`|`,VerticalSeparator:`❘`,VerticalTilde:`≀`,VeryThinSpace:` `,Vfr:`𝔙`,vfr:`𝔳`,vltri:`⊲`,vnsub:`⊂⃒`,vnsup:`⊃⃒`,Vopf:`𝕍`,vopf:`𝕧`,vprop:`∝`,vrtri:`⊳`,Vscr:`𝒱`,vscr:`𝓋`,vsubnE:`⫋︀`,vsubne:`⊊︀`,vsupnE:`⫌︀`,vsupne:`⊋︀`,Vvdash:`⊪`,vzigzag:`⦚`,Wcirc:`Ŵ`,wcirc:`ŵ`,wedbar:`⩟`,Wedge:`⋀`,wedge:`∧`,wedgeq:`≙`,weierp:`℘`,Wfr:`𝔚`,wfr:`𝔴`,Wopf:`𝕎`,wopf:`𝕨`,wp:`℘`,wr:`≀`,wreath:`≀`,Wscr:`𝒲`,wscr:`𝓌`,xcap:`⋂`,xcirc:`◯`,xcup:`⋃`,xdtri:`▽`,Xfr:`𝔛`,xfr:`𝔵`,xhArr:`⟺`,xharr:`⟷`,Xi:`Ξ`,xi:`ξ`,xlArr:`⟸`,xlarr:`⟵`,xmap:`⟼`,xnis:`⋻`,xodot:`⨀`,Xopf:`𝕏`,xopf:`𝕩`,xoplus:`⨁`,xotime:`⨂`,xrArr:`⟹`,xrarr:`⟶`,Xscr:`𝒳`,xscr:`𝓍`,xsqcup:`⨆`,xuplus:`⨄`,xutri:`△`,xvee:`⋁`,xwedge:`⋀`,Yacute:`Ý`,yacute:`ý`,YAcy:`Я`,yacy:`я`,Ycirc:`Ŷ`,ycirc:`ŷ`,Ycy:`Ы`,ycy:`ы`,yen:`¥`,Yfr:`𝔜`,yfr:`𝔶`,YIcy:`Ї`,yicy:`ї`,Yopf:`𝕐`,yopf:`𝕪`,Yscr:`𝒴`,yscr:`𝓎`,YUcy:`Ю`,yucy:`ю`,Yuml:`Ÿ`,yuml:`ÿ`,Zacute:`Ź`,zacute:`ź`,Zcaron:`Ž`,zcaron:`ž`,Zcy:`З`,zcy:`з`,Zdot:`Ż`,zdot:`ż`,zeetrf:`ℨ`,ZeroWidthSpace:``,Zeta:`Ζ`,zeta:`ζ`,Zfr:`ℨ`,zfr:`𝔷`,ZHcy:`Ж`,zhcy:`ж`,zigrarr:`⇝`,Zopf:`ℤ`,zopf:`𝕫`,Zscr:`𝒵`,zscr:`𝓏`,zwj:``,zwnj:``}),e.entityMap=e.HTML_ENTITIES})),de=o((e=>{var t=le().NAMESPACE,n=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,r=RegExp(`[\\-\\.0-9`+n.source.slice(1,-1)+`\\u00B7\\u0300-\\u036F\\u203F-\\u2040]`),i=RegExp(`^`+n.source+r.source+`*(?::`+n.source+r.source+`*)?$`),a=0,o=1,s=2,c=3,l=4,u=5,d=6,f=7;function p(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,p)}p.prototype=Error(),p.prototype.name=p.name;function m(){}m.prototype={parse:function(e,t,n){var r=this.domBuilder;r.startDocument(),x(t,t={}),h(e,t,n,r,this.errorHandler),r.endDocument()}};function h(e,n,r,i,a){function o(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}else return String.fromCharCode(e)}function s(e){var t=e.slice(1,-1);return Object.hasOwnProperty.call(r,t)?r[t]:t.charAt(0)===`#`?o(parseInt(t.substr(1).replace(`x`,`0x`))):(a.error(`entity not found:`+e),e)}function c(t){if(t>T){var n=e.substring(T,t).replace(/&#?\w+;/g,s);m&&l(T),i.characters(n,0,t-T),T=t}}function l(t,n){for(;t>=d&&(n=f.exec(e));)u=n.index,d=u+n[0].length,m.lineNumber++;m.columnNumber=t-u+1}for(var u=0,d=0,f=/.*(?:\r\n?|\n)|.*$/g,m=i.locator,h=[{currentNSMap:n}],x={},T=0;;){try{var E=e.indexOf(`<`,T);if(E<0){if(!e.substr(T).match(/^\s*$/)){var ee=i.doc,D=ee.createTextNode(e.substr(T));ee.appendChild(D),i.currentElement=D}return}switch(E>T&&c(E),e.charAt(E+1)){case`/`:var O=e.indexOf(`>`,E+3),k=e.substring(E+2,O).replace(/[ \t\n\r]+$/g,``),A=h.pop();O<0?(k=e.substring(E+2).replace(/[\s<].*/,``),a.error(`end tag name: `+k+` is not complete:`+A.tagName),O=E+1+k.length):k.match(/\s</)&&(k=k.replace(/[\s<].*/,``),a.error(`end tag name: `+k+` maybe not complete`),O=E+1+k.length);var te=A.localNSMap,ne=A.tagName==k;if(ne||A.tagName&&A.tagName.toLowerCase()==k.toLowerCase()){if(i.endElement(A.uri,A.localName,k),te)for(var re in te)Object.prototype.hasOwnProperty.call(te,re)&&i.endPrefixMapping(re);ne||a.fatalError(`end tag name: `+k+` is not match the current start tagName:`+A.tagName)}else h.push(A);O++;break;case`?`:m&&l(E),O=C(e,E,i);break;case`!`:m&&l(E),O=S(e,E,i,a);break;default:m&&l(E);var j=new w,ie=h[h.length-1].currentNSMap,O=_(e,E,j,ie,s,a),ae=j.length;if(!j.closed&&b(e,O,j.tagName,x)&&(j.closed=!0,r.nbsp||a.warning(`unclosed xml attribute`)),m&&ae){for(var oe=g(m,{}),se=0;se<ae;se++){var M=j[se];l(M.offset),M.locator=g(m,{})}i.locator=oe,v(j,i,ie)&&h.push(j),i.locator=m}else v(j,i,ie)&&h.push(j);t.isHTML(j.uri)&&!j.closed?O=y(e,O,j.tagName,s,i):O++}}catch(e){if(e instanceof p)throw e;a.error(`element parse error: `+e),O=-1}O>T?T=O:c(Math.max(E,T)+1)}}function g(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function _(e,n,r,i,p,m){function h(e,t,n){r.attributeNames.hasOwnProperty(e)&&m.fatalError(`Attribute `+e+` redefined`),r.addValue(e,t.replace(/[\t\n\r]/g,` `).replace(/&#?\w+;/g,p),n)}for(var g,_,v=++n,y=a;;){var b=e.charAt(v);switch(b){case`=`:if(y===o)g=e.slice(n,v),y=c;else if(y===s)y=c;else throw Error(`attribute equal must after attrName`);break;case`'`:case`"`:if(y===c||y===o)if(y===o&&(m.warning(`attribute value must after "="`),g=e.slice(n,v)),n=v+1,v=e.indexOf(b,n),v>0)_=e.slice(n,v),h(g,_,n-1),y=u;else throw Error(`attribute value no end '`+b+`' match`);else if(y==l)_=e.slice(n,v),h(g,_,n),m.warning(`attribute "`+g+`" missed start quot(`+b+`)!!`),n=v+1,y=u;else throw Error(`attribute value must after "="`);break;case`/`:switch(y){case a:r.setTagName(e.slice(n,v));case u:case d:case f:y=f,r.closed=!0;case l:case o:break;case s:r.closed=!0;break;default:throw Error(`attribute invalid close char('/')`)}break;case``:return m.error(`unexpected end of input`),y==a&&r.setTagName(e.slice(n,v)),v;case`>`:switch(y){case a:r.setTagName(e.slice(n,v));case u:case d:case f:break;case l:case o:_=e.slice(n,v),_.slice(-1)===`/`&&(r.closed=!0,_=_.slice(0,-1));case s:y===s&&(_=g),y==l?(m.warning(`attribute "`+_+`" missed quot(")!`),h(g,_,n)):((!t.isHTML(i[``])||!_.match(/^(?:disabled|checked|selected)$/i))&&m.warning(`attribute "`+_+`" missed value!! "`+_+`" instead!!`),h(_,_,n));break;case c:throw Error(`attribute value missed!!`)}return v;case``:b=` `;default:if(b<=` `)switch(y){case a:r.setTagName(e.slice(n,v)),y=d;break;case o:g=e.slice(n,v),y=s;break;case l:var _=e.slice(n,v);m.warning(`attribute "`+_+`" missed quot(")!!`),h(g,_,n);case u:y=d;break}else switch(y){case s:r.tagName,(!t.isHTML(i[``])||!g.match(/^(?:disabled|checked|selected)$/i))&&m.warning(`attribute "`+g+`" missed value!! "`+g+`" instead2!!`),h(g,g,n),n=v,y=o;break;case u:m.warning(`attribute space is required"`+g+`"!!`);case d:y=o,n=v;break;case c:y=l,n=v;break;case f:throw Error(`elements closed character '/' and '>' must be connected to`)}}v++}}function v(e,n,r){for(var i=e.tagName,a=null,o=e.length;o--;){var s=e[o],c=s.qName,l=s.value,u=c.indexOf(`:`);if(u>0)var d=s.prefix=c.slice(0,u),f=c.slice(u+1),p=d===`xmlns`&&f;else f=c,d=null,p=c===`xmlns`&&``;s.localName=f,p!==!1&&(a??(a={},x(r,r={})),r[p]=a[p]=l,s.uri=t.XMLNS,n.startPrefixMapping(p,l))}for(var o=e.length;o--;){s=e[o];var d=s.prefix;d&&(d===`xml`&&(s.uri=t.XML),d!==`xmlns`&&(s.uri=r[d||``]))}var u=i.indexOf(`:`);u>0?(d=e.prefix=i.slice(0,u),f=e.localName=i.slice(u+1)):(d=null,f=e.localName=i);var m=e.uri=r[d||``];if(n.startElement(m,f,i,e),e.closed){if(n.endElement(m,f,i),a)for(d in a)Object.prototype.hasOwnProperty.call(a,d)&&n.endPrefixMapping(d)}else return e.currentNSMap=r,e.localNSMap=a,!0}function y(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var a=e.indexOf(`</`+n+`>`,t),o=e.substring(t+1,a);if(/[&<]/.test(o))return/^script$/i.test(n)?(i.characters(o,0,o.length),a):(o=o.replace(/&#?\w+;/g,r),i.characters(o,0,o.length),a)}return t+1}function b(e,t,n,r){var i=r[n];return i??(i=e.lastIndexOf(`</`+n+`>`),i<t&&(i=e.lastIndexOf(`</`+n)),r[n]=i),i<t}function x(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}function S(e,t,n,r){switch(e.charAt(t+2)){case`-`:if(e.charAt(t+3)===`-`){var i=e.indexOf(`-->`,t+4);return i>t?(n.comment(e,t+4,i-t-4),i+3):(r.error(`Unclosed comment`),-1)}else return-1;default:if(e.substr(t+3,6)==`CDATA[`){var i=e.indexOf(`]]>`,t+9);return n.startCDATA(),n.characters(e,t+9,i-t-9),n.endCDATA(),i+3}var a=T(e,t),o=a.length;if(o>1&&/!doctype/i.test(a[0][0])){var s=a[1][0],c=!1,l=!1;o>3&&(/^public$/i.test(a[2][0])?(c=a[3][0],l=o>4&&a[4][0]):/^system$/i.test(a[2][0])&&(l=a[3][0]));var u=a[o-1];return n.startDTD(s,c,l),n.endDTD(),u.index+u[0].length}}return-1}function C(e,t,n){var r=e.indexOf(`?>`,t);if(r){var i=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)$/);return i?(i[0].length,n.processingInstruction(i[1],i[2]),r+2):-1}return-1}function w(){this.attributeNames={}}w.prototype={setTagName:function(e){if(!i.test(e))throw Error(`invalid tagName:`+e);this.tagName=e},addValue:function(e,t,n){if(!i.test(e))throw Error(`invalid attribute:`+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:t,offset:n}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}};function T(e,t){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(i.lastIndex=t,i.exec(e);n=i.exec(e);)if(r.push(n),n[1])return r}e.XMLReader=m,e.ParseError=p})),fe=o((e=>{var t=le(),n=ue(),r=N(),i=de(),a=n.DOMImplementation,o=t.NAMESPACE,s=i.ParseError,c=i.XMLReader;function l(e){return e.replace(/\r[\n\u0085]/g,`
|
|
25
|
+
`).replace(/[\r\u0085\u2028]/g,`
|
|
26
|
+
`)}function u(e){this.options=e||{locator:{}}}u.prototype.parseFromString=function(e,t){var n=this.options,i=new c,a=n.domBuilder||new f,s=n.errorHandler,u=n.locator,p=n.xmlns||{},m=/\/x?html?$/.test(t),h=m?r.HTML_ENTITIES:r.XML_ENTITIES;u&&a.setDocumentLocator(u),i.errorHandler=d(s,a,u),i.domBuilder=n.domBuilder||a,m&&(p[``]=o.HTML),p.xml=p.xml||o.XML;var g=n.normalizeLineEndings||l;return e&&typeof e==`string`?i.parse(g(e),p,h):i.errorHandler.error(`invalid doc source`),a.doc};function d(e,t,n){if(!e){if(t instanceof f)return t;e=t}var r={},i=e instanceof Function;n||={};function a(t){var a=e[t];!a&&i&&(a=e.length==2?function(n){e(t,n)}:e),r[t]=a&&function(e){a(`[xmldom `+t+`] `+e+m(n))}||function(){}}return a(`warning`),a(`error`),a(`fatalError`),r}function f(){this.cdata=!1}function p(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}f.prototype={startDocument:function(){this.doc=new a().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var i=this.doc,a=i.createElementNS(e,n||t),o=r.length;g(this,a),this.currentElement=a,this.locator&&p(this.locator,a);for(var s=0;s<o;s++){var e=r.getURI(s),c=r.getValue(s),n=r.getQName(s),l=i.createAttributeNS(e,n);this.locator&&p(r.getLocator(s),l),l.value=l.nodeValue=c,a.setAttributeNode(l)}},endElement:function(e,t,n){var r=this.currentElement;r.tagName,this.currentElement=r.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var n=this.doc.createProcessingInstruction(e,t);this.locator&&p(this.locator,n),g(this,n)},ignorableWhitespace:function(e,t,n){},characters:function(e,t,n){if(e=h.apply(this,arguments),e){if(this.cdata)var r=this.doc.createCDATASection(e);else var r=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(r):/^\s*$/.test(e)&&this.doc.appendChild(r),this.locator&&p(this.locator,r)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,n){e=h.apply(this,arguments);var r=this.doc.createComment(e);this.locator&&p(this.locator,r),g(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,n){var r=this.doc.implementation;if(r&&r.createDocumentType){var i=r.createDocumentType(e,t,n);this.locator&&p(this.locator,i),g(this,i),this.doc.doctype=i}},warning:function(e){console.warn(`[xmldom warning] `+e,m(this.locator))},error:function(e){console.error(`[xmldom error] `+e,m(this.locator))},fatalError:function(e){throw new s(e,this.locator)}};function m(e){if(e)return`
|
|
27
|
+
@`+(e.systemId||``)+`#[line:`+e.lineNumber+`,col:`+e.columnNumber+`]`}function h(e,t,n){return typeof e==`string`?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+``:e}`endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl`.replace(/\w+/g,function(e){f.prototype[e]=function(){return null}});function g(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}e.__DOMHandler=f,e.normalizeLineEndings=l,e.DOMParser=u})),pe=o((e=>{var t=ue();e.DOMImplementation=t.DOMImplementation,e.XMLSerializer=t.XMLSerializer,e.DOMParser=fe().DOMParser})),me=o((e=>{
|
|
28
|
+
/*! @name mpd-parser @version 1.3.1 @license Apache-2.0 */
|
|
29
|
+
Object.defineProperty(e,"__esModule",{value:!0});var t=re(),n=l(),r=ce(),i=ie(),a=pe();function o(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var s=o(t),c=o(n),u=o(i),d=`1.3.1`;let f=e=>!!e&&typeof e==`object`,p=(...e)=>e.reduce((e,t)=>(typeof t==`object`&&Object.keys(t).forEach(n=>{Array.isArray(e[n])&&Array.isArray(t[n])?e[n]=e[n].concat(t[n]):f(e[n])&&f(t[n])?e[n]=p(e[n],t[n]):e[n]=t[n]}),e),{}),m=e=>Object.keys(e).map(t=>e[t]),h=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},g=e=>e.reduce((e,t)=>e.concat(t),[]),_=e=>{if(!e.length)return[];let t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},v=(e,t)=>e.reduce((e,n,r)=>(n[t]&&e.push(r),e),[]),y=(e,t)=>m(e.reduce((e,n)=>(n.forEach(n=>{e[t(n)]=n}),e),{}));var b={INVALID_NUMBER_OF_PERIOD:`INVALID_NUMBER_OF_PERIOD`,INVALID_NUMBER_OF_CONTENT_STEERING:`INVALID_NUMBER_OF_CONTENT_STEERING`,DASH_EMPTY_MANIFEST:`DASH_EMPTY_MANIFEST`,DASH_INVALID_XML:`DASH_INVALID_XML`,NO_BASE_URL:`NO_BASE_URL`,MISSING_SEGMENT_INFORMATION:`MISSING_SEGMENT_INFORMATION`,SEGMENT_TIME_UNSPECIFIED:`SEGMENT_TIME_UNSPECIFIED`,UNSUPPORTED_UTC_TIMING_SCHEME:`UNSUPPORTED_UTC_TIMING_SCHEME`};let x=({baseUrl:e=``,source:t=``,range:n=``,indexRange:r=``})=>{let i={uri:t,resolvedUri:s.default(e||``,t)};if(n||r){let e=(n||r).split(`-`),t=c.default.BigInt?c.default.BigInt(e[0]):parseInt(e[0],10),a=c.default.BigInt?c.default.BigInt(e[1]):parseInt(e[1],10);t<2**53-1&&typeof t==`bigint`&&(t=Number(t)),a<2**53-1&&typeof a==`bigint`&&(a=Number(a));let o;o=typeof a==`bigint`||typeof t==`bigint`?c.default.BigInt(a)-c.default.BigInt(t)+c.default.BigInt(1):a-t+1,typeof o==`bigint`&&o<2**53-1&&(o=Number(o)),i.byterange={length:o,offset:t}}return i},S=e=>{let t;return t=typeof e.offset==`bigint`||typeof e.length==`bigint`?c.default.BigInt(e.offset)+c.default.BigInt(e.length)-c.default.BigInt(1):e.offset+e.length-1,`${e.offset}-${t}`},C=e=>(e&&typeof e!=`number`&&(e=parseInt(e,10)),isNaN(e)?null:e),w={static(e){let{duration:t,timescale:n=1,sourceDuration:r,periodDuration:i}=e,a=C(e.endNumber),o=t/n;return typeof a==`number`?{start:0,end:a}:typeof i==`number`?{start:0,end:i/o}:{start:0,end:r/o}},dynamic(e){let{NOW:t,clientOffset:n,availabilityStartTime:r,timescale:i=1,duration:a,periodStart:o=0,minimumUpdatePeriod:s=0,timeShiftBufferDepth:c=1/0}=e,l=C(e.endNumber),u=(t+n)/1e3,d=r+o,f=u+s-d,p=Math.ceil(f*i/a),m=Math.floor((u-d-c)*i/a),h=Math.floor((u-d)*i/a);return{start:Math.max(0,m),end:typeof l==`number`?l:Math.min(p,h)}}},T=e=>t=>{let{duration:n,timescale:r=1,periodStart:i,startNumber:a=1}=e;return{number:a+t,duration:n/r,timeline:i,time:t*n}},E=e=>{let{type:t,duration:n,timescale:r=1,periodDuration:i,sourceDuration:a}=e,{start:o,end:s}=w[t](e),c=h(o,s).map(T(e));if(t===`static`){let e=c.length-1,t=typeof i==`number`?i:a;c[e].duration=t-n/r*e}return c},ee=e=>{let{baseUrl:t,initialization:n={},sourceDuration:r,indexRange:i=``,periodStart:a,presentationTime:o,number:s=0,duration:c}=e;if(!t)throw Error(b.NO_BASE_URL);let l=x({baseUrl:t,source:n.sourceURL,range:n.range}),u=x({baseUrl:t,source:t,indexRange:i});if(u.map=l,c){let t=E(e);t.length&&(u.duration=t[0].duration,u.timeline=t[0].timeline)}else r&&(u.duration=r,u.timeline=a);return u.presentationTime=o||a,u.number=s,[u]},D=(e,t,n)=>{let r=e.sidx.map?e.sidx.map:null,i=e.sidx.duration,a=e.timeline||0,o=e.sidx.byterange,s=o.offset+o.length,l=t.timescale,u=t.references.filter(e=>e.referenceType!==1),d=[],f=e.endList?`static`:`dynamic`,p=e.sidx.timeline,m=p,h=e.mediaSequence||0,g;g=typeof t.firstOffset==`bigint`?c.default.BigInt(s)+t.firstOffset:s+t.firstOffset;for(let e=0;e<u.length;e++){let o=t.references[e],s=o.referencedSize,u=o.subsegmentDuration,_;_=typeof g==`bigint`?g+c.default.BigInt(s)-c.default.BigInt(1):g+s-1;let v=`${g}-${_}`,y=ee({baseUrl:n,timescale:l,timeline:a,periodStart:p,presentationTime:m,number:h,duration:u,sourceDuration:i,indexRange:v,type:f})[0];r&&(y.map=r),d.push(y),typeof g==`bigint`?g+=c.default.BigInt(s):g+=s,m+=u/l,h++}return e.segments=d,e},O=[`AUDIO`,`SUBTITLES`],k=e=>y(e,({timeline:e})=>e).sort((e,t)=>e.timeline>t.timeline?1:-1),A=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n].attributes.NAME===t)return e[n];return null},te=e=>{let t=[];return r.forEachMediaGroup(e,O,(e,n,r,i)=>{t=t.concat(e.playlists||[])}),t},ne=({playlist:e,mediaSequence:t})=>{e.mediaSequence=t,e.segments.forEach((t,n)=>{t.number=e.mediaSequence+n})},j=({oldPlaylists:e,newPlaylists:t,timelineStarts:n})=>{t.forEach(t=>{t.discontinuitySequence=n.findIndex(function({timeline:e}){return e===t.timeline});let r=A(e,t.attributes.NAME);if(!r||t.sidx)return;let i=t.segments[0],a=r.segments.findIndex(function(e){return Math.abs(e.presentationTime-i.presentationTime)<.016666666666666666});if(a===-1){ne({playlist:t,mediaSequence:r.mediaSequence+r.segments.length}),t.segments[0].discontinuity=!0,t.discontinuityStarts.unshift(0),(!r.segments.length&&t.timeline>r.timeline||r.segments.length&&t.timeline>r.segments[r.segments.length-1].timeline)&&t.discontinuitySequence--;return}r.segments[a].discontinuity&&!i.discontinuity&&(i.discontinuity=!0,t.discontinuityStarts.unshift(0),t.discontinuitySequence--),ne({playlist:t,mediaSequence:r.segments[a].number})})},ae=({oldManifest:e,newManifest:t})=>{let n=e.playlists.concat(te(e)),r=t.playlists.concat(te(t));return t.timelineStarts=k([e.timelineStarts,t.timelineStarts]),j({oldPlaylists:n,newPlaylists:r,timelineStarts:t.timelineStarts}),t},oe=e=>e&&e.uri+`-`+S(e.byterange),se=e=>{let t=e.reduce(function(e,t){return e[t.attributes.baseUrl]||(e[t.attributes.baseUrl]=[]),e[t.attributes.baseUrl].push(t),e},{}),n=[];return Object.values(t).forEach(e=>{let t=m(e.reduce((e,t)=>{let n=t.attributes.id+(t.attributes.lang||``);return e[n]?(t.segments&&(t.segments[0]&&(t.segments[0].discontinuity=!0),e[n].segments.push(...t.segments)),t.attributes.contentProtection&&(e[n].attributes.contentProtection=t.attributes.contentProtection)):(e[n]=t,e[n].attributes.timelineStarts=[]),e[n].attributes.timelineStarts.push({start:t.attributes.periodStart,timeline:t.attributes.periodStart}),e},{}));n=n.concat(t)}),n.map(e=>(e.discontinuityStarts=v(e.segments||[],`discontinuity`),e))},M=(e,t)=>{let n=oe(e.sidx),r=n&&t[n]&&t[n].sidx;return r&&D(e,r,e.sidx.resolvedUri),e},le=(e,t={})=>{if(!Object.keys(t).length)return e;for(let n in e)e[n]=M(e[n],t);return e},ue=({attributes:e,segments:t,sidx:n,mediaSequence:r,discontinuitySequence:i,discontinuityStarts:a},o)=>{let s={attributes:{NAME:e.id,BANDWIDTH:e.bandwidth,CODECS:e.codecs,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuitySequence:i,discontinuityStarts:a,timelineStarts:e.timelineStarts,mediaSequence:r,segments:t};return e.contentProtection&&(s.contentProtection=e.contentProtection),e.serviceLocation&&(s.attributes.serviceLocation=e.serviceLocation),n&&(s.sidx=n),o&&(s.attributes.AUDIO=`audio`,s.attributes.SUBTITLES=`subs`),s},N=({attributes:e,segments:t,mediaSequence:n,discontinuityStarts:r,discontinuitySequence:i})=>{t===void 0&&(t=[{uri:e.baseUrl,timeline:e.periodStart,resolvedUri:e.baseUrl||``,duration:e.sourceDuration,number:0}],e.duration=e.sourceDuration);let a={NAME:e.id,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1};e.codecs&&(a.CODECS=e.codecs);let o={attributes:a,uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,timelineStarts:e.timelineStarts,discontinuityStarts:r,discontinuitySequence:i,mediaSequence:n,segments:t};return e.serviceLocation&&(o.attributes.serviceLocation=e.serviceLocation),o},de=(e,t={},n=!1)=>{let r,i=e.reduce((e,i)=>{let a=i.attributes.role&&i.attributes.role.value||``,o=i.attributes.lang||``,s=i.attributes.label||`main`;if(o&&!i.attributes.label){let e=a?` (${a})`:``;s=`${i.attributes.lang}${e}`}e[s]||(e[s]={language:o,autoselect:!0,default:a===`main`,playlists:[],uri:``});let c=M(ue(i,n),t);return e[s].playlists.push(c),r===void 0&&a===`main`&&(r=i,r.default=!0),e},{});if(!r){let e=Object.keys(i)[0];i[e].default=!0}return i},fe=(e,t={})=>e.reduce((e,n)=>{let r=n.attributes.label||n.attributes.lang||`text`,i=n.attributes.lang||`und`;return e[r]||(e[r]={language:i,default:!1,autoselect:!1,playlists:[],uri:``}),e[r].playlists.push(M(N(n),t)),e},{}),me=e=>e.reduce((e,t)=>(t&&t.forEach(t=>{let{channel:n,language:r}=t;e[r]={autoselect:!1,default:!1,instreamId:n,language:r},t.hasOwnProperty(`aspectRatio`)&&(e[r].aspectRatio=t.aspectRatio),t.hasOwnProperty(`easyReader`)&&(e[r].easyReader=t.easyReader),t.hasOwnProperty(`3D`)&&(e[r][`3D`]=t[`3D`])}),e),{}),P=({attributes:e,segments:t,sidx:n,discontinuityStarts:r})=>{let i={attributes:{NAME:e.id,AUDIO:`audio`,SUBTITLES:`subs`,RESOLUTION:{width:e.width,height:e.height},CODECS:e.codecs,BANDWIDTH:e.bandwidth,"PROGRAM-ID":1},uri:``,endList:e.type===`static`,timeline:e.periodStart,resolvedUri:e.baseUrl||``,targetDuration:e.duration,discontinuityStarts:r,timelineStarts:e.timelineStarts,segments:t};return e.frameRate&&(i.attributes[`FRAME-RATE`]=e.frameRate),e.contentProtection&&(i.contentProtection=e.contentProtection),e.serviceLocation&&(i.attributes.serviceLocation=e.serviceLocation),n&&(i.sidx=n),i},he=({attributes:e})=>e.mimeType===`video/mp4`||e.mimeType===`video/webm`||e.contentType===`video`,F=({attributes:e})=>e.mimeType===`audio/mp4`||e.mimeType===`audio/webm`||e.contentType===`audio`,ge=({attributes:e})=>e.mimeType===`text/vtt`||e.contentType===`text`,_e=(e,t)=>{e.forEach(e=>{e.mediaSequence=0,e.discontinuitySequence=t.findIndex(function({timeline:t}){return t===e.timeline}),e.segments&&e.segments.forEach((e,t)=>{e.number=t})})},ve=e=>e?Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(r.playlists)},[]):[],ye=({dashPlaylists:e,locations:t,contentSteering:n,sidxMapping:r={},previousManifest:i,eventStream:a})=>{if(!e.length)return{};let{sourceDuration:o,type:s,suggestedPresentationDelay:c,minimumUpdatePeriod:l}=e[0].attributes,u=se(e.filter(he)).map(P),d=se(e.filter(F)),f=se(e.filter(ge)),p=e.map(e=>e.attributes.captionServices).filter(Boolean),m={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:``,duration:o,playlists:le(u,r)};l>=0&&(m.minimumUpdatePeriod=l*1e3),t&&(m.locations=t),n&&(m.contentSteering=n),s===`dynamic`&&(m.suggestedPresentationDelay=c),a&&a.length>0&&(m.eventStream=a);let h=m.playlists.length===0,g=d.length?de(d,r,h):null,_=f.length?fe(f,r):null,v=u.concat(ve(g),ve(_));return m.timelineStarts=k(v.map(({timelineStarts:e})=>e)),_e(v,m.timelineStarts),g&&(m.mediaGroups.AUDIO.audio=g),_&&(m.mediaGroups.SUBTITLES.subs=_),p.length&&(m.mediaGroups[`CLOSED-CAPTIONS`].cc=me(p)),i?ae({oldManifest:i,newManifest:m}):m},be=(e,t,n)=>{let{NOW:r,clientOffset:i,availabilityStartTime:a,timescale:o=1,periodStart:s=0,minimumUpdatePeriod:c=0}=e,l=(r+i)/1e3,u=a+s,d=l+c-u;return Math.ceil((d*o-t)/n)},xe=(e,t)=>{let{type:n,minimumUpdatePeriod:r=0,media:i=``,sourceDuration:a,timescale:o=1,startNumber:s=1,periodStart:c}=e,l=[],u=-1;for(let d=0;d<t.length;d++){let f=t[d],p=f.d,m=f.r||0,h=f.t||0;u<0&&(u=h),h&&h>u&&(u=h);let g;if(m<0){let s=d+1;g=s===t.length?n===`dynamic`&&r>0&&i.indexOf(`$Number$`)>0?be(e,u,p):(a*o-u)/p:(t[s].t-u)/p}else g=m+1;let _=s+l.length+g,v=s+l.length;for(;v<_;)l.push({number:v,duration:p/o,time:u,timeline:c}),u+=p,v++}return l},Se=/\$([A-z]*)(?:(%0)([0-9]+)d)?\$/g,Ce=e=>(t,n,r,i)=>{if(t===`$$`)return`$`;if(e[n]===void 0)return t;let a=``+e[n];return n===`RepresentationID`||(i=r?parseInt(i,10):1,a.length>=i)?a:`${Array(i-a.length+1).join(`0`)}${a}`},I=(e,t)=>e.replace(Se,Ce(t)),L=(e,t)=>!e.duration&&!t?[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodStart}]:e.duration?E(e):xe(e,t),we=(e,t)=>{let n={RepresentationID:e.id,Bandwidth:e.bandwidth||0},{initialization:r={sourceURL:``,range:``}}=e,i=x({baseUrl:e.baseUrl,source:I(r.sourceURL,n),range:r.range});return L(e,t).map(t=>{n.Number=t.number,n.Time=t.time;let r=I(e.media||``,n),a=e.timescale||1,o=e.presentationTimeOffset||0,c=e.periodStart+(t.time-o)/a;return{uri:r,timeline:t.timeline,duration:t.duration,resolvedUri:s.default(e.baseUrl||``,r),map:i,number:t.number,presentationTime:c}})},Te=(e,t)=>{let{baseUrl:n,initialization:r={}}=e,i=x({baseUrl:n,source:r.sourceURL,range:r.range}),a=x({baseUrl:n,source:t.media,range:t.mediaRange});return a.map=i,a},Ee=(e,t)=>{let{duration:n,segmentUrls:r=[],periodStart:i}=e;if(!n&&!t||n&&t)throw Error(b.SEGMENT_TIME_UNSPECIFIED);let a=r.map(t=>Te(e,t)),o;return n&&(o=E(e)),t&&(o=xe(e,t)),o.map((t,n)=>{if(a[n]){let r=a[n],o=e.timescale||1,s=e.presentationTimeOffset||0;return r.timeline=t.timeline,r.duration=t.duration,r.number=t.number,r.presentationTime=i+(t.time-s)/o,r}}).filter(e=>e)},De=({attributes:e,segmentInfo:t})=>{let n,r;t.template?(r=we,n=p(e,t.template)):t.base?(r=ee,n=p(e,t.base)):t.list&&(r=Ee,n=p(e,t.list));let i={attributes:e};if(!r)return i;let a=r(n,t.segmentTimeline);if(n.duration){let{duration:e,timescale:t=1}=n;n.duration=e/t}else a.length?n.duration=a.reduce((e,t)=>Math.max(e,Math.ceil(t.duration)),0):n.duration=0;return i.attributes=n,i.segments=a,t.base&&n.indexRange&&(i.sidx=a[0],i.segments=[]),i},Oe=e=>e.map(De),R=(e,t)=>_(e.childNodes).filter(({tagName:e})=>e===t),ke=e=>e.textContent.trim(),Ae=e=>parseFloat(e.split(`/`).reduce((e,t)=>e/t)),je=e=>{let t=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(e);if(!t)return 0;let[n,r,i,a,o,s]=t.slice(1);return parseFloat(n||0)*31536e3+parseFloat(r||0)*2592e3+parseFloat(i||0)*86400+parseFloat(a||0)*3600+parseFloat(o||0)*60+parseFloat(s||0)},Me=e=>(/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(e)&&(e+=`Z`),Date.parse(e)),z={mediaPresentationDuration(e){return je(e)},availabilityStartTime(e){return Me(e)/1e3},minimumUpdatePeriod(e){return je(e)},suggestedPresentationDelay(e){return je(e)},type(e){return e},timeShiftBufferDepth(e){return je(e)},start(e){return je(e)},width(e){return parseInt(e,10)},height(e){return parseInt(e,10)},bandwidth(e){return parseInt(e,10)},frameRate(e){return Ae(e)},startNumber(e){return parseInt(e,10)},timescale(e){return parseInt(e,10)},presentationTimeOffset(e){return parseInt(e,10)},duration(e){let t=parseInt(e,10);return isNaN(t)?je(e):t},d(e){return parseInt(e,10)},t(e){return parseInt(e,10)},r(e){return parseInt(e,10)},presentationTime(e){return parseInt(e,10)},DEFAULT(e){return e}},B=e=>e&&e.attributes?_(e.attributes).reduce((e,t)=>{let n=z[t.name]||z.DEFAULT;return e[t.name]=n(t.value),e},{}):{},Ne={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":`org.w3.clearkey`,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":`com.widevine.alpha`,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":`com.microsoft.playready`,"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":`com.adobe.primetime`,"urn:mpeg:dash:mp4protection:2011":`mp4protection`},Pe=(e,t)=>t.length?g(e.map(function(e){return t.map(function(t){let n=ke(t),r=s.default(e.baseUrl,n),i=p(B(t),{baseUrl:r});return r!==n&&!i.serviceLocation&&e.serviceLocation&&(i.serviceLocation=e.serviceLocation),i})})):e,Fe=e=>{let t=R(e,`SegmentTemplate`)[0],n=R(e,`SegmentList`)[0],r=n&&R(n,`SegmentURL`).map(e=>p({tag:`SegmentURL`},B(e))),i=R(e,`SegmentBase`)[0],a=n||t,o=a&&R(a,`SegmentTimeline`)[0],s=n||i||t,c=s&&R(s,`Initialization`)[0],l=t&&B(t);l&&c?l.initialization=c&&B(c):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});let u={template:l,segmentTimeline:o&&R(o,`S`).map(e=>B(e)),list:n&&p(B(n),{segmentUrls:r,initialization:B(c)}),base:i&&p(B(i),{initialization:B(c)})};return Object.keys(u).forEach(e=>{u[e]||delete u[e]}),u},Ie=(e,t,n)=>r=>{let i=Pe(t,R(r,`BaseURL`)),a=p(e,B(r)),o=Fe(r);return i.map(e=>({segmentInfo:p(n,o),attributes:p(a,e)}))},V=e=>e.reduce((e,t)=>{let n=B(t);n.schemeIdUri&&=n.schemeIdUri.toLowerCase();let r=Ne[n.schemeIdUri];if(r){e[r]={attributes:n};let i=R(t,`cenc:pssh`)[0];if(i){let t=ke(i);e[r].pssh=t&&u.default(t)}}return e},{}),Le=e=>{if(e.schemeIdUri===`urn:scte:dash:cc:cea-608:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t,n;return n=e,/^CC\d=/.test(e)?[t,n]=e.split(`=`):/^CC\d$/.test(e)&&(t=e),{channel:t,language:n}});if(e.schemeIdUri===`urn:scte:dash:cc:cea-708:2015`)return(typeof e.value==`string`?e.value.split(`;`):[]).map(e=>{let t={channel:void 0,language:void 0,aspectRatio:1,easyReader:0,"3D":0};if(/=/.test(e)){let[n,r=``]=e.split(`=`);t.channel=n,t.language=e,r.split(`,`).forEach(e=>{let[n,r]=e.split(`:`);n===`lang`?t.language=r:n===`er`?t.easyReader=Number(r):n===`war`?t.aspectRatio=Number(r):n===`3D`&&(t[`3D`]=Number(r))})}else t.language=e;return t.channel&&=`SERVICE`+t.channel,t})},Re=e=>g(R(e.node,`EventStream`).map(t=>{let n=B(t),r=n.schemeIdUri;return R(t,`Event`).map(t=>{let i=B(t),a=i.presentationTime||0,o=n.timescale||1,s=i.duration||0,c=a/o+e.attributes.start;return{schemeIdUri:r,value:n.value,id:i.id,start:c,end:c+s/o,messageData:ke(t)||i.messageData,contentEncoding:n.contentEncoding,presentationTimeOffset:n.presentationTimeOffset||0}})})),ze=(e,t,n)=>r=>{let i=B(r),a=Pe(t,R(r,`BaseURL`)),o=R(r,`Role`)[0],s=p(e,i,{role:B(o)}),c=R(r,`Accessibility`)[0],l=Le(B(c));l&&(s=p(s,{captionServices:l}));let u=R(r,`Label`)[0];if(u&&u.childNodes.length){let e=u.childNodes[0].nodeValue.trim();s=p(s,{label:e})}let d=V(R(r,`ContentProtection`));Object.keys(d).length&&(s=p(s,{contentProtection:d}));let f=Fe(r),m=R(r,`Representation`),h=p(n,f);return g(m.map(Ie(s,a,h)))},Be=(e,t)=>(n,r)=>{let i=Pe(t,R(n.node,`BaseURL`)),a=p(e,{periodStart:n.attributes.start});typeof n.attributes.duration==`number`&&(a.periodDuration=n.attributes.duration);let o=R(n.node,`AdaptationSet`),s=Fe(n.node);return g(o.map(ze(a,i,s)))},Ve=(e,t)=>{if(e.length>1&&t({type:`warn`,message:`The MPD manifest should contain no more than one ContentSteering tag`}),!e.length)return null;let n=p({serverURL:ke(e[0])},B(e[0]));return n.queryBeforeStart=n.queryBeforeStart===`true`,n},H=({attributes:e,priorPeriodAttributes:t,mpdType:n})=>typeof e.start==`number`?e.start:t&&typeof t.start==`number`&&typeof t.duration==`number`?t.start+t.duration:!t&&n===`static`?0:null,He=(e,t={})=>{let{manifestUri:n=``,NOW:r=Date.now(),clientOffset:i=0,eventHandler:a=function(){}}=t,o=R(e,`Period`);if(!o.length)throw Error(b.INVALID_NUMBER_OF_PERIOD);let s=R(e,`Location`),c=B(e),l=Pe([{baseUrl:n}],R(e,`BaseURL`)),u=R(e,`ContentSteering`);c.type=c.type||`static`,c.sourceDuration=c.mediaPresentationDuration||0,c.NOW=r,c.clientOffset=i,s.length&&(c.locations=s.map(ke));let d=[];return o.forEach((e,t)=>{let n=B(e),r=d[t-1];n.start=H({attributes:n,priorPeriodAttributes:r?r.attributes:null,mpdType:c.type}),d.push({node:e,attributes:n})}),{locations:c.locations,contentSteeringInfo:Ve(u,a),representationInfo:g(d.map(Be(c,l))),eventStream:g(d.map(Re))}},Ue=e=>{if(e===``)throw Error(b.DASH_EMPTY_MANIFEST);let t=new a.DOMParser,n,r;try{n=t.parseFromString(e,`application/xml`),r=n&&n.documentElement.tagName===`MPD`?n.documentElement:null}catch{}if(!r||r&&r.getElementsByTagName(`parsererror`).length>0)throw Error(b.DASH_INVALID_XML);return r},We=e=>{let t=R(e,`UTCTiming`)[0];if(!t)return null;let n=B(t);switch(n.schemeIdUri){case`urn:mpeg:dash:utc:http-head:2014`:case`urn:mpeg:dash:utc:http-head:2012`:n.method=`HEAD`;break;case`urn:mpeg:dash:utc:http-xsdate:2014`:case`urn:mpeg:dash:utc:http-iso:2014`:case`urn:mpeg:dash:utc:http-xsdate:2012`:case`urn:mpeg:dash:utc:http-iso:2012`:n.method=`GET`;break;case`urn:mpeg:dash:utc:direct:2014`:case`urn:mpeg:dash:utc:direct:2012`:n.method=`DIRECT`,n.value=Date.parse(n.value);break;default:throw Error(b.UNSUPPORTED_UTC_TIMING_SCHEME)}return n};e.VERSION=d,e.addSidxSegmentsToPlaylist=D,e.generateSidxKey=oe,e.inheritAttributes=He,e.parse=(e,t={})=>{let n=He(Ue(e),t);return ye({dashPlaylists:Oe(n.representationInfo),locations:n.locations,contentSteering:n.contentSteeringInfo,sidxMapping:t.sidxMapping,previousManifest:t.previousManifest,eventStream:n.eventStream})},e.parseUTCTiming=e=>We(Ue(e)),e.stringToMpdXml=Ue,e.toM3u8=ye,e.toPlaylists=Oe})),P=o(((e,t)=>{var n=2**32;t.exports={getUint64:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),r;return t.getBigUint64?(r=t.getBigUint64(0),r<2**53-1?Number(r):r):t.getUint32(0)*n+t.getUint32(4)},MAX_UINT32:n}})),he=o(((e,t)=>{var n=P().getUint64;t.exports=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),r={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:t.getUint32(4),timescale:t.getUint32(8)},i=12;r.version===0?(r.earliestPresentationTime=t.getUint32(i),r.firstOffset=t.getUint32(i+4),i+=8):(r.earliestPresentationTime=n(e.subarray(i)),r.firstOffset=n(e.subarray(i+8)),i+=16),i+=2;var a=t.getUint16(i);for(i+=2;a>0;i+=12,a--)r.references.push({referenceType:(e[i]&128)>>>7,referencedSize:t.getUint32(i)&2147483647,subsegmentDuration:t.getUint32(i+4),startsWithSap:!!(e[i+8]&128),sapType:(e[i+8]&112)>>>4,sapDeltaTime:t.getUint32(i+8)&268435455});return r}})),F=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getId3Offset=e.getId3Size=void 0;var t=M(),n=(0,t.toUint8)([73,68,51]),r=function(e,n){n===void 0&&(n=0),e=(0,t.toUint8)(e);var r=e[n+5],i=e[n+6]<<21|e[n+7]<<14|e[n+8]<<7|e[n+9];return(r&16)>>4?i+20:i+10};e.getId3Size=r,e.getId3Offset=function e(i,a){return a===void 0&&(a=0),i=(0,t.toUint8)(i),i.length-a<10||!(0,t.bytesMatch)(i,n,{offset:a})?a:(a+=r(i,a),e(i,a))}})),ge=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getHvcCodec=e.getAvcCodec=e.getAv1Codec=void 0;var t=M();e.getAv1Codec=function(e){var n=``,r=e[1]>>>3,i=e[1]&31,a=e[2]>>>7,o=(e[2]&64)>>6,s=(e[2]&32)>>5,c=(e[2]&16)>>4,l=(e[2]&8)>>3,u=(e[2]&4)>>2,d=e[2]&3;n+=r+`.`+(0,t.padStart)(i,2,`0`),a===0?n+=`M`:a===1&&(n+=`H`);var f=r===2&&o?s?12:10:o?10:8;return n+=`.`+(0,t.padStart)(f,2,`0`),n+=`.`+c,n+=`.`+l+u+d,n},e.getAvcCodec=function(e){var n=(0,t.toHexString)(e[1]),r=(0,t.toHexString)(e[2]&252),i=(0,t.toHexString)(e[3]);return``+n+r+i},e.getHvcCodec=function(e){var n=``,r=e[1]>>6,i=e[1]&31,a=(e[1]&32)>>5,o=e.subarray(2,6),s=e.subarray(6,12),c=e[12];r===1?n+=`A`:r===2?n+=`B`:r===3&&(n+=`C`),n+=i+`.`;var l=parseInt((0,t.toBinaryString)(o).split(``).reverse().join(``),2);l>255&&(l=parseInt((0,t.toBinaryString)(o),2)),n+=l.toString(16)+`.`,a===0?n+=`L`:n+=`H`,n+=c;for(var u=``,d=0;d<s.length;d++){var f=s[d];f&&(u&&(u+=`.`),u+=f.toString(16))}return u&&(n+=`.`+u),n}})),_e=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.setOpusHead=e.parseOpusHead=e.OPUS_HEAD=void 0,e.OPUS_HEAD=new Uint8Array([79,112,117,115,72,101,97,100]),e.parseOpusHead=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=t.getUint8(0),r=n!==0,i={version:n,channels:t.getUint8(1),preSkip:t.getUint16(2,r),sampleRate:t.getUint32(4,r),outputGain:t.getUint16(8,r),channelMappingFamily:t.getUint8(10)};if(i.channelMappingFamily>0&&e.length>10){i.streamCount=t.getUint8(11),i.twoChannelStreamCount=t.getUint8(12),i.channelMapping=[];for(var a=0;a<i.channels;a++)i.channelMapping.push(t.getUint8(13+a))}return i},e.setOpusHead=function(e){var t=e.channelMappingFamily<=0?11:12+e.channels,n=new DataView(new ArrayBuffer(t)),r=e.version!==0;return n.setUint8(0,e.version),n.setUint8(1,e.channels),n.setUint16(2,e.preSkip,r),n.setUint32(4,e.sampleRate,r),n.setUint16(8,e.outputGain,r),n.setUint8(10,e.channelMappingFamily),e.channelMappingFamily>0&&(n.setUint8(11,e.streamCount),e.channelMapping.foreach(function(e,t){n.setUint8(12+t,e)})),new Uint8Array(n.buffer)}})),ve=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseMediaInfo=e.parseTracks=e.addSampleDescription=e.buildFrameTable=e.findNamedBox=e.findBox=e.parseDescriptors=void 0;var t=M(),n=ge(),r=_e(),i=function(e){return typeof e==`string`?(0,t.stringToBytes)(e):e},a=function(e){return Array.isArray(e)?e.map(function(e){return i(e)}):[i(e)]},o,s=function(e){e=(0,t.toUint8)(e);for(var n=[],r=0;e.length>r;){var i=e[r],a=0,s=0;s++;var c=e[s];for(s++;c&128;)a=(c&127)<<7,c=e[s],s++;a+=c&127;for(var l=0;l<o.length;l++){var u=o[l],d=u.id,f=u.parser;if(i===d){n.push(f(e.subarray(s,s+a)));break}}r+=a+s}return n};e.parseDescriptors=s,o=[{id:3,parser:function(e){var n={tag:3,id:e[0]<<8|e[1],flags:e[2],size:3,dependsOnEsId:0,ocrEsId:0,descriptors:[],url:``};if(n.flags&128&&(n.dependsOnEsId=e[n.size]<<8|e[n.size+1],n.size+=2),n.flags&64){var r=e[n.size];n.url=(0,t.bytesToString)(e.subarray(n.size+1,n.size+1+r)),n.size+=r}return n.flags&32&&(n.ocrEsId=e[n.size]<<8|e[n.size+1],n.size+=2),n.descriptors=s(e.subarray(n.size))||[],n}},{id:4,parser:function(e){return{tag:4,oti:e[0],streamType:e[1],bufferSize:e[2]<<16|e[3]<<8|e[4],maxBitrate:e[5]<<24|e[6]<<16|e[7]<<8|e[8],avgBitrate:e[9]<<24|e[10]<<16|e[11]<<8|e[12],descriptors:s(e.subarray(13))}}},{id:5,parser:function(e){return{tag:5,bytes:e}}},{id:6,parser:function(e){return{tag:6,bytes:e}}}];var c=function e(n,r,i){i===void 0&&(i=!1),r=a(r),n=(0,t.toUint8)(n);var o=[];if(!r.length)return o;for(var s=0;s<n.length;){var c=(n[s]<<24|n[s+1]<<16|n[s+2]<<8|n[s+3])>>>0,l=n.subarray(s+4,s+8);if(c===0)break;var u=s+c;if(u>n.length){if(i)break;u=n.length}var d=n.subarray(s+8,u);(0,t.bytesMatch)(l,r[0])&&(r.length===1?o.push(d):o.push.apply(o,e(d,r.slice(1),i))),s=u}return o};e.findBox=c;var l=function(e,n){if(n=i(n),!n.length)return e.subarray(e.length);for(var r=0;r<e.length;){if((0,t.bytesMatch)(e.subarray(r,r+n.length),n)){var a=(e[r-4]<<24|e[r-3]<<16|e[r-2]<<8|e[r-1])>>>0,o=a>1?r+a:e.byteLength;return e.subarray(r+4,o)}r++}return e.subarray(e.length)};e.findNamedBox=l;var u=function(e,n,r){n===void 0&&(n=4),r===void 0&&(r=function(e){return(0,t.bytesToNumber)(e)});var i=[];if(!e||!e.length)return i;for(var a=(0,t.bytesToNumber)(e.subarray(4,8)),o=8;a;o+=n,a--)i.push(r(e.subarray(o,o+n)));return i},d=function(e,n){for(var r=u(c(e,[`stss`])[0]),i=u(c(e,[`stco`])[0]),a=u(c(e,[`stts`])[0],8,function(e){return{sampleCount:(0,t.bytesToNumber)(e.subarray(0,4)),sampleDelta:(0,t.bytesToNumber)(e.subarray(4,8))}}),o=u(c(e,[`stsc`])[0],12,function(e){return{firstChunk:(0,t.bytesToNumber)(e.subarray(0,4)),samplesPerChunk:(0,t.bytesToNumber)(e.subarray(4,8)),sampleDescriptionIndex:(0,t.bytesToNumber)(e.subarray(8,12))}}),s=c(e,[`stsz`])[0],l=u(s&&s.length&&s.subarray(4)||null),d=[],f=0;f<i.length;f++){for(var p=void 0,m=0;m<o.length;m++){var h=o[m];if(f+1>=h.firstChunk&&(m+1>=o.length||f+1<o[m+1].firstChunk)){p=h.samplesPerChunk;break}}for(var g=i[f],_=0;_<p;_++){var v=l[d.length],y=!r.length;r.length&&r.indexOf(d.length+1)!==-1&&(y=!0);for(var b={keyframe:y,start:g,end:g+v},x=0;x<a.length;x++){var S=a[x],C=S.sampleCount,w=S.sampleDelta;if(d.length<=C){b.timestamp=(d.length?d[d.length-1].timestamp:0)+w/n*1e3,b.duration=w;break}}d.push(b),g+=v}}return d};e.buildFrameTable=d;var f=function(e,i){var a=(0,t.bytesToString)(i.subarray(0,4));if(e.type===`video`?(e.info=e.info||{},e.info.width=i[28]<<8|i[29],e.info.height=i[30]<<8|i[31]):e.type===`audio`&&(e.info=e.info||{},e.info.channels=i[20]<<8|i[21],e.info.bitDepth=i[22]<<8|i[23],e.info.sampleRate=i[28]<<8|i[29]),a===`avc1`){var o=l(i,`avcC`);a+=`.`+(0,n.getAvcCodec)(o),e.info.avcC=o}else if(a===`hvc1`||a===`hev1`)a+=`.`+(0,n.getHvcCodec)(l(i,`hvcC`));else if(a===`mp4a`||a===`mp4v`){var c=s(l(i,`esds`).subarray(4))[0],u=c&&c.descriptors.filter(function(e){return e.tag===4})[0];u?(a+=`.`+(0,t.toHexString)(u.oti),u.oti===64?a+=`.`+(u.descriptors[0].bytes[0]>>3).toString():u.oti===32?a+=`.`+u.descriptors[0].bytes[4].toString():u.oti===221&&(a=`vorbis`)):e.type===`audio`?a+=`.40.2`:a+=`.20.9`}else if(a===`av01`)a+=`.`+(0,n.getAv1Codec)(l(i,`av1C`));else if(a===`vp09`){var d=l(i,`vpcC`),f=d[0],p=d[1],m=d[2]>>4,h=(d[2]&15)>>1,g=(d[2]&15)>>3,_=d[3],v=d[4],y=d[5];a+=`.`+(0,t.padStart)(f,2,`0`),a+=`.`+(0,t.padStart)(p,2,`0`),a+=`.`+(0,t.padStart)(m,2,`0`),a+=`.`+(0,t.padStart)(h,2,`0`),a+=`.`+(0,t.padStart)(_,2,`0`),a+=`.`+(0,t.padStart)(v,2,`0`),a+=`.`+(0,t.padStart)(y,2,`0`),a+=`.`+(0,t.padStart)(g,2,`0`)}else if(a===`theo`)a=`theora`;else if(a===`spex`)a=`speex`;else if(a===`.mp3`)a=`mp4a.40.34`;else if(a===`msVo`)a=`vorbis`;else if(a===`Opus`){a=`opus`;var b=l(i,`dOps`);e.info.opus=(0,r.parseOpusHead)(b),e.info.codecDelay=65e5}else a=a.toLowerCase();e.codec=a};e.addSampleDescription=f,e.parseTracks=function(e,n){n===void 0&&(n=!0),e=(0,t.toUint8)(e);var r=c(e,[`moov`,`trak`],!0),i=[];return r.forEach(function(e){var r={bytes:e},a=c(e,[`mdia`])[0],o=c(a,[`hdlr`])[0],s=(0,t.bytesToString)(o.subarray(8,12));s===`soun`?r.type=`audio`:s===`vide`?r.type=`video`:r.type=s;var l=c(e,[`tkhd`])[0];if(l){var u=new DataView(l.buffer,l.byteOffset,l.byteLength);r.number=u.getUint8(0)===0?u.getUint32(12):u.getUint32(20)}var p=c(a,[`mdhd`])[0];if(p){var m=p[0]===0?12:20;r.timescale=(p[m]<<24|p[m+1]<<16|p[m+2]<<8|p[m+3])>>>0}for(var h=c(a,[`minf`,`stbl`])[0],g=c(h,[`stsd`])[0],_=(0,t.bytesToNumber)(g.subarray(4,8)),v=8;_--;){var y=(0,t.bytesToNumber)(g.subarray(v,v+4));f(r,g.subarray(v+4,v+4+y)),v+=4+y}n&&(r.frameTable=d(h,r.timescale)),i.push(r)}),i},e.parseMediaInfo=function(e){var n=c(e,[`moov`,`mvhd`],!0)[0];if(!(!n||!n.length)){var r={};return n[0]===1?(r.timestampScale=(0,t.bytesToNumber)(n.subarray(20,24)),r.duration=(0,t.bytesToNumber)(n.subarray(24,32))):(r.timestampScale=(0,t.bytesToNumber)(n.subarray(12,16)),r.duration=(0,t.bytesToNumber)(n.subarray(16,20))),r.bytes=n,r}}})),ye=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseData=e.parseTracks=e.decodeBlock=e.findEbml=e.EBML_TAGS=void 0;var t=M(),n=ge(),r={EBML:(0,t.toUint8)([26,69,223,163]),DocType:(0,t.toUint8)([66,130]),Segment:(0,t.toUint8)([24,83,128,103]),SegmentInfo:(0,t.toUint8)([21,73,169,102]),Tracks:(0,t.toUint8)([22,84,174,107]),Track:(0,t.toUint8)([174]),TrackNumber:(0,t.toUint8)([215]),DefaultDuration:(0,t.toUint8)([35,227,131]),TrackEntry:(0,t.toUint8)([174]),TrackType:(0,t.toUint8)([131]),FlagDefault:(0,t.toUint8)([136]),CodecID:(0,t.toUint8)([134]),CodecPrivate:(0,t.toUint8)([99,162]),VideoTrack:(0,t.toUint8)([224]),AudioTrack:(0,t.toUint8)([225]),Cluster:(0,t.toUint8)([31,67,182,117]),Timestamp:(0,t.toUint8)([231]),TimestampScale:(0,t.toUint8)([42,215,177]),BlockGroup:(0,t.toUint8)([160]),BlockDuration:(0,t.toUint8)([155]),Block:(0,t.toUint8)([161]),SimpleBlock:(0,t.toUint8)([163])};e.EBML_TAGS=r;var i=[128,64,32,16,8,4,2,1],a=function(e){for(var t=1,n=0;n<i.length&&!(e&i[n]);n++)t++;return t},o=function(e,n,r,o){r===void 0&&(r=!0),o===void 0&&(o=!1);var s=a(e[n]),c=e.subarray(n,n+s);return r&&(c=Array.prototype.slice.call(e,n,n+s),c[0]^=i[s-1]),{length:s,value:(0,t.bytesToNumber)(c,{signed:o}),bytes:c}},s=function e(n){return typeof n==`string`?n.match(/.{1,2}/g).map(function(t){return e(t)}):typeof n==`number`?(0,t.numberToBytes)(n):n},c=function(e){return Array.isArray(e)?e.map(function(e){return s(e)}):[s(e)]},l=function e(n,r,i){if(i>=r.length)return r.length;var a=o(r,i,!1);if((0,t.bytesMatch)(n.bytes,a.bytes))return i;var s=o(r,i+a.length);return e(n,r,i+s.length+s.value+a.length)},u=function e(n,r){r=c(r),n=(0,t.toUint8)(n);var i=[];if(!r.length)return i;for(var a=0;a<n.length;){var s=o(n,a,!1),u=o(n,a+s.length),d=a+s.length+u.length;u.value===127&&(u.value=l(s,n,d),u.value!==n.length&&(u.value-=d));var f=d+u.value>n.length?n.length:d+u.value,p=n.subarray(d,f);(0,t.bytesMatch)(r[0],s.bytes)&&(r.length===1?i.push(p):i=i.concat(e(p,r.slice(1))));var m=s.length+u.length+p.length;a+=m}return i};e.findEbml=u;var d=function(e,n,i,a){var s;n===`group`&&(s=u(e,[r.BlockDuration])[0],s&&=(s=(0,t.bytesToNumber)(s),1/i*s*i/1e3),e=u(e,[r.Block])[0],n=`block`);var c=new DataView(e.buffer,e.byteOffset,e.byteLength),l=o(e,0),d=c.getInt16(l.length,!1),f=e[l.length+2],p=e.subarray(l.length+3),m=1/i*(a+d)*i/1e3,h={duration:s,trackNumber:l.value,keyframe:n===`simple`&&f>>7==1,invisible:(f&8)>>3==1,lacing:(f&6)>>1,discardable:n===`simple`&&(f&1)==1,frames:[],pts:m,dts:m,timestamp:d};if(!h.lacing)return h.frames.push(p),h;var g=p[0]+1,_=[],v=1;if(h.lacing===2)for(var y=(p.length-v)/g,b=0;b<g;b++)_.push(y);if(h.lacing===1)for(var x=0;x<g-1;x++){var S=0;do S+=p[v],v++;while(p[v-1]===255);_.push(S)}if(h.lacing===3)for(var C=0,w=0;w<g-1;w++){var T=w===0?o(p,v):o(p,v,!0,!0);C+=T.value,_.push(C),v+=T.length}return _.forEach(function(e){h.frames.push(p.subarray(v,v+e)),v+=e}),h};e.decodeBlock=d;var f=function(e){for(var t=0,n={};t<e.length;){var r=e[t]&127,i=e[t+1],a=void 0;a=i===1?e[t+2]:e.subarray(t+2,t+2+i),r===1?n.profile=a:r===2?n.level=a:r===3?n.bitDepth=a:r===4?n.chromaSubsampling=a:n[r]=a,t+=2+i}return n},p=function(e){e=(0,t.toUint8)(e);var i=[],a=u(e,[r.Segment,r.Tracks,r.Track]);return a.length||(a=u(e,[r.Tracks,r.Track])),a.length||(a=u(e,[r.Track])),a.length?(a.forEach(function(e){var a=u(e,r.TrackType)[0];if(!(!a||!a.length)){if(a[0]===1)a=`video`;else if(a[0]===2)a=`audio`;else if(a[0]===17)a=`subtitle`;else return;var o={rawCodec:(0,t.bytesToString)(u(e,[r.CodecID])[0]),type:a,codecPrivate:u(e,[r.CodecPrivate])[0],number:(0,t.bytesToNumber)(u(e,[r.TrackNumber])[0]),defaultDuration:(0,t.bytesToNumber)(u(e,[r.DefaultDuration])[0]),default:u(e,[r.FlagDefault])[0],rawData:e},s=``;if(/V_MPEG4\/ISO\/AVC/.test(o.rawCodec))s=`avc1.`+(0,n.getAvcCodec)(o.codecPrivate);else if(/V_MPEGH\/ISO\/HEVC/.test(o.rawCodec))s=`hev1.`+(0,n.getHvcCodec)(o.codecPrivate);else if(/V_MPEG4\/ISO\/ASP/.test(o.rawCodec))s=o.codecPrivate?`mp4v.20.`+o.codecPrivate[4].toString():`mp4v.20.9`;else if(/^V_THEORA/.test(o.rawCodec))s=`theora`;else if(/^V_VP8/.test(o.rawCodec))s=`vp8`;else if(/^V_VP9/.test(o.rawCodec))if(o.codecPrivate){var c=f(o.codecPrivate),l=c.profile,d=c.level,p=c.bitDepth,m=c.chromaSubsampling;s=`vp09.`,s+=(0,t.padStart)(l,2,`0`)+`.`,s+=(0,t.padStart)(d,2,`0`)+`.`,s+=(0,t.padStart)(p,2,`0`)+`.`,s+=``+(0,t.padStart)(m,2,`0`);var h=u(e,[224,[85,176],[85,177]])[0]||[],g=u(e,[224,[85,176],[85,185]])[0]||[],_=u(e,[224,[85,176],[85,186]])[0]||[],v=u(e,[224,[85,176],[85,187]])[0]||[];(h.length||g.length||_.length||v.length)&&(s+=`.`+(0,t.padStart)(v[0],2,`0`),s+=`.`+(0,t.padStart)(_[0],2,`0`),s+=`.`+(0,t.padStart)(h[0],2,`0`),s+=`.`+(0,t.padStart)(g[0],2,`0`))}else s=`vp9`;else/^V_AV1/.test(o.rawCodec)?s=`av01.`+(0,n.getAv1Codec)(o.codecPrivate):/A_ALAC/.test(o.rawCodec)?s=`alac`:/A_MPEG\/L2/.test(o.rawCodec)?s=`mp2`:/A_MPEG\/L3/.test(o.rawCodec)?s=`mp3`:/^A_AAC/.test(o.rawCodec)?s=o.codecPrivate?`mp4a.40.`+(o.codecPrivate[0]>>>3).toString():`mp4a.40.2`:/^A_AC3/.test(o.rawCodec)?s=`ac-3`:/^A_PCM/.test(o.rawCodec)?s=`pcm`:/^A_MS\/ACM/.test(o.rawCodec)?s=`speex`:/^A_EAC3/.test(o.rawCodec)?s=`ec-3`:/^A_VORBIS/.test(o.rawCodec)?s=`vorbis`:/^A_FLAC/.test(o.rawCodec)?s=`flac`:/^A_OPUS/.test(o.rawCodec)&&(s=`opus`);o.codec=s,i.push(o)}}),i.sort(function(e,t){return e.number-t.number})):i};e.parseTracks=p,e.parseData=function(e,n){var i=[],a=u(e,[r.Segment])[0],o=u(a,[r.SegmentInfo,r.TimestampScale])[0];o=o&&o.length?(0,t.bytesToNumber)(o):1e6;var s=u(a,[r.Cluster]);return n||=p(a),s.forEach(function(e,n){var a=u(e,[r.SimpleBlock]).map(function(e){return{type:`simple`,data:e}}),s=u(e,[r.BlockGroup]).map(function(e){return{type:`group`,data:e}}),c=u(e,[r.Timestamp])[0]||0;c&&c.length&&(c=(0,t.bytesToNumber)(c)),a.concat(s).sort(function(e,t){return e.data.byteOffset-t.data.byteOffset}).forEach(function(e,t){var n=d(e.data,e.type,o,c);i.push(n)})}),{tracks:n,blocks:i}}})),be=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.findH265Nal=e.findH264Nal=e.findNal=e.discardEmulationPreventionBytes=e.EMULATION_PREVENTION=e.NAL_TYPE_TWO=e.NAL_TYPE_ONE=void 0;var t=M(),n=(0,t.toUint8)([0,0,0,1]);e.NAL_TYPE_ONE=n;var r=(0,t.toUint8)([0,0,1]);e.NAL_TYPE_TWO=r;var i=(0,t.toUint8)([0,0,3]);e.EMULATION_PREVENTION=i;var a=function(e){for(var n=[],r=1;r<e.length-2;)(0,t.bytesMatch)(e.subarray(r,r+3),i)&&(n.push(r+2),r++),r++;if(n.length===0)return e;var a=e.length-n.length,o=new Uint8Array(a),s=0;for(r=0;r<a;s++,r++)s===n[0]&&(s++,n.shift()),o[r]=e[s];return o};e.discardEmulationPreventionBytes=a;var o=function(e,i,o,s){s===void 0&&(s=1/0),e=(0,t.toUint8)(e),o=[].concat(o);for(var c=0,l,u=0;c<e.length&&(u<s||l);){var d=void 0;if((0,t.bytesMatch)(e.subarray(c),n)?d=4:(0,t.bytesMatch)(e.subarray(c),r)&&(d=3),!d){c++;continue}if(u++,l)return a(e.subarray(l,c));var f=void 0;i===`h264`?f=e[c+d]&31:i===`h265`&&(f=e[c+d]>>1&63),o.indexOf(f)!==-1&&(l=c+d),c+=d+(i===`h264`?1:2)}return e.subarray(0,0)};e.findNal=o,e.findH264Nal=function(e,t,n){return o(e,`h264`,t,n)},e.findH265Nal=function(e,t,n){return o(e,`h265`,t,n)}})),xe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isLikelyFmp4MediaSegment=e.detectContainerForBytes=e.isLikely=void 0;var t=M(),n=ve(),r=ye(),i=F(),a=be(),o={webm:(0,t.toUint8)([119,101,98,109]),matroska:(0,t.toUint8)([109,97,116,114,111,115,107,97]),flac:(0,t.toUint8)([102,76,97,67]),ogg:(0,t.toUint8)([79,103,103,83]),ac3:(0,t.toUint8)([11,119]),riff:(0,t.toUint8)([82,73,70,70]),avi:(0,t.toUint8)([65,86,73]),wav:(0,t.toUint8)([87,65,86,69]),"3gp":(0,t.toUint8)([102,116,121,112,51,103]),mp4:(0,t.toUint8)([102,116,121,112]),fmp4:(0,t.toUint8)([115,116,121,112]),mov:(0,t.toUint8)([102,116,121,112,113,116]),moov:(0,t.toUint8)([109,111,111,118]),moof:(0,t.toUint8)([109,111,111,102])},s={aac:function(e){var n=(0,i.getId3Offset)(e);return(0,t.bytesMatch)(e,[255,16],{offset:n,mask:[255,22]})},mp3:function(e){var n=(0,i.getId3Offset)(e);return(0,t.bytesMatch)(e,[255,2],{offset:n,mask:[255,6]})},webm:function(e){var n=(0,r.findEbml)(e,[r.EBML_TAGS.EBML,r.EBML_TAGS.DocType])[0];return(0,t.bytesMatch)(n,o.webm)},mkv:function(e){var n=(0,r.findEbml)(e,[r.EBML_TAGS.EBML,r.EBML_TAGS.DocType])[0];return(0,t.bytesMatch)(n,o.matroska)},mp4:function(e){if(s[`3gp`](e)||s.mov(e))return!1;if((0,t.bytesMatch)(e,o.mp4,{offset:4})||(0,t.bytesMatch)(e,o.fmp4,{offset:4})||(0,t.bytesMatch)(e,o.moof,{offset:4})||(0,t.bytesMatch)(e,o.moov,{offset:4}))return!0},mov:function(e){return(0,t.bytesMatch)(e,o.mov,{offset:4})},"3gp":function(e){return(0,t.bytesMatch)(e,o[`3gp`],{offset:4})},ac3:function(e){var n=(0,i.getId3Offset)(e);return(0,t.bytesMatch)(e,o.ac3,{offset:n})},ts:function(e){if(e.length<189&&e.length>=1)return e[0]===71;for(var t=0;t+188<e.length&&t<188;){if(e[t]===71&&e[t+188]===71)return!0;t+=1}return!1},flac:function(e){var n=(0,i.getId3Offset)(e);return(0,t.bytesMatch)(e,o.flac,{offset:n})},ogg:function(e){return(0,t.bytesMatch)(e,o.ogg)},avi:function(e){return(0,t.bytesMatch)(e,o.riff)&&(0,t.bytesMatch)(e,o.avi,{offset:8})},wav:function(e){return(0,t.bytesMatch)(e,o.riff)&&(0,t.bytesMatch)(e,o.wav,{offset:8})},h264:function(e){return(0,a.findH264Nal)(e,7,3).length},h265:function(e){return(0,a.findH265Nal)(e,[32,33],3).length}},c=Object.keys(s).filter(function(e){return e!==`ts`&&e!==`h264`&&e!==`h265`}).concat([`ts`,`h264`,`h265`]);c.forEach(function(e){var n=s[e];s[e]=function(e){return n((0,t.toUint8)(e))}});var l=s;e.isLikely=l,e.detectContainerForBytes=function(e){e=(0,t.toUint8)(e);for(var n=0;n<c.length;n++){var r=c[n];if(l[r](e))return r}return``},e.isLikelyFmp4MediaSegment=function(e){return(0,n.findBox)(e,[`moof`]).length>0}})),Se=o(((e,t)=>{var n=9e4,r=function(e){return e*n},i=function(e,t){return e*t},a=function(e){return e/n},o=function(e,t){return e/t};t.exports={ONE_SECOND_IN_TS:n,secondsToVideoTs:r,secondsToAudioTs:i,videoTsToSeconds:a,audioTsToSeconds:o,audioTsToVideoTs:function(e,t){return r(o(e,t))},videoTsToAudioTs:function(e,t){return i(a(e),t)},metadataTsToSeconds:function(e,t,n){return a(n?e:e-t)}}})),Ce=o(((e,t)=>{
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Video.js 8.23.7 <http://videojs.com/>
|
|
33
|
+
* Copyright 2010-present Video.js contributors
|
|
34
|
+
* Available under Apache License Version 2.0
|
|
35
|
+
* <https://github.com/videojs/video.js/blob/main/LICENSE>
|
|
36
|
+
*
|
|
37
|
+
* Includes vtt.js <https://github.com/mozilla/vtt.js>
|
|
38
|
+
* Available under Apache License Version 2.0
|
|
39
|
+
* <https://github.com/mozilla/vtt.js/blob/main/LICENSE>
|
|
40
|
+
*/
|
|
41
|
+
var n=l(),r=S(),i=D(),a=te(),o=C(),s=re(),c=ae(),u=oe(),d=se(),f=M(),p=me(),m=he(),h=F(),g=xe(),_=Se();function v(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var y=v(n),b=v(r),x=v(i),w=v(a),T=v(o),E=v(s),ee=v(m),O=`8.23.7`;let k={},A=function(e,t){return k[e]=k[e]||[],t&&(k[e]=k[e].concat(t)),k[e]},ne=function(e,t){A(e,t)},j=function(e,t){let n=A(e).indexOf(t);return n<=-1?!1:(k[e]=k[e].slice(),k[e].splice(n,1),!0)},ie=function(e,t){A(e,[].concat(t).map(t=>{let n=(...r)=>(j(e,n),t(...r));return n}))},ce={prefixed:!0},le=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`,`fullscreen`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`,`-webkit-full-screen`]],ue=le[0],N;for(let e=0;e<le.length;e++)if(le[e][1]in b.default){N=le[e];break}if(N){for(let e=0;e<N.length;e++)ce[ue[e]]=N[e];ce.prefixed=N[0]!==ue[0]}let de=[],fe=(e,t,n)=>(r,i,a)=>{let o=t.levels[i],s=RegExp(`^(${o})$`),c=e;if(r!==`log`&&a.unshift(r.toUpperCase()+`:`),n&&(c=`%c${e}`,a.unshift(n)),a.unshift(c+`:`),de){de.push([].concat(a));let e=de.length-1e3;de.splice(0,e>0?e:0)}if(!y.default.console)return;let l=y.default.console[r];!l&&r===`debug`&&(l=y.default.console.info||y.default.console.log),!(!l||!o||!s.test(r))&&l[Array.isArray(a)?`apply`:`call`](y.default.console,a)};function pe(e,t=`:`,n=``){let r=`info`,i;function a(...e){i(`log`,r,e)}return i=fe(e,a,n),a.createLogger=(r,i,a)=>{let o=i===void 0?t:i,s=a===void 0?n:a;return pe(`${e} ${o} ${r}`,o,s)},a.createNewLogger=(e,t,n)=>pe(e,t,n),a.levels={all:`debug|log|warn|error`,off:``,debug:`debug|log|warn|error`,info:`log|warn|error`,warn:`warn|error`,error:`error`,DEFAULT:r},a.level=e=>{if(typeof e==`string`){if(!a.levels.hasOwnProperty(e))throw Error(`"${e}" in not a valid log level`);r=e}return r},a.history=()=>de?[].concat(de):[],a.history.filter=e=>(de||[]).filter(t=>RegExp(`.*${e}.*`).test(t[0])),a.history.clear=()=>{de&&(de.length=0)},a.history.disable=()=>{de!==null&&(de.length=0,de=null)},a.history.enable=()=>{de===null&&(de=[])},a.error=(...e)=>i(`error`,r,e),a.warn=(...e)=>i(`warn`,r,e),a.debug=(...e)=>i(`debug`,r,e),a}let P=pe(`VIDEOJS`),ge=P.createLogger,_e=Object.prototype.toString,ve=function(e){return Ce(e)?Object.keys(e):[]};function ye(e,t){ve(e).forEach(n=>t(e[n],n))}function be(e,t,n=0){return ve(e).reduce((n,r)=>t(n,e[r],r),n)}function Ce(e){return!!e&&typeof e==`object`}function I(e){return Ce(e)&&_e.call(e)===`[object Object]`&&e.constructor===Object}function L(...e){let t={};return e.forEach(e=>{e&&ye(e,(e,n)=>{if(!I(e)){t[n]=e;return}I(t[n])||(t[n]={}),t[n]=L(t[n],e)})}),t}function we(e={}){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t.push(r)}return t}function Te(e,t,n,r=!0){let i=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0}),a={configurable:!0,enumerable:!0,get(){let e=n();return i(e),e}};return r&&(a.set=i),Object.defineProperty(e,t,a)}var Ee=Object.freeze({__proto__:null,each:ye,reduce:be,isObject:Ce,isPlain:I,merge:L,values:we,defineLazyProperty:Te});let De=!1,Oe=null,R=!1,ke,Ae=!1,je=!1,Me=!1,z=!1,B=null,Ne=null,Pe=!!(y.default.cast&&y.default.cast.framework&&y.default.cast.framework.CastReceiverContext),Fe=null,Ie=!1,V=!1,Le=!1,Re=!1,ze=!1,Be=!1,Ve=!1,H=!!(Je()&&(`ontouchstart`in y.default||y.default.navigator.maxTouchPoints||y.default.DocumentTouch&&y.default.document instanceof y.default.DocumentTouch)),He=y.default.navigator&&y.default.navigator.userAgentData;if(He&&He.platform&&He.brands&&(R=He.platform===`Android`,je=!!He.brands.find(e=>e.brand===`Microsoft Edge`),Me=!!He.brands.find(e=>e.brand===`Chromium`),z=!je&&Me,B=Ne=(He.brands.find(e=>e.brand===`Chromium`)||{}).version||null,V=He.platform===`Windows`),!Me){let e=y.default.navigator&&y.default.navigator.userAgent||``;De=/iPod/i.test(e),Oe=function(){let t=e.match(/OS (\d+)_/i);return t&&t[1]?t[1]:null}(),R=/Android/i.test(e),ke=function(){let t=e.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!t)return null;let n=t[1]&&parseFloat(t[1]),r=t[2]&&parseFloat(t[2]);return n&&r?parseFloat(t[1]+`.`+t[2]):n||null}(),Ae=/Firefox/i.test(e),je=/Edg/i.test(e),Me=/Chrome/i.test(e)||/CriOS/i.test(e),z=!je&&Me,B=Ne=function(){let t=e.match(/(Chrome|CriOS)\/(\d+)/);return t&&t[2]?parseFloat(t[2]):null}(),Fe=function(){let t=/MSIE\s(\d+)\.\d/.exec(e),n=t&&parseFloat(t[1]);return!n&&/Trident\/7.0/i.test(e)&&/rv:11.0/.test(e)&&(n=11),n}(),ze=/Tizen/i.test(e),Be=/Web0S/i.test(e),Ve=ze||Be,Ie=/Safari/i.test(e)&&!z&&!R&&!je&&!Ve,V=/Windows/i.test(e),Le=/iPad/i.test(e)||Ie&&H&&!/iPhone/i.test(e),Re=/iPhone/i.test(e)&&!Le}let Ue=Re||Le||De,We=(Ie||Ue)&&!z;var Ge=Object.freeze({__proto__:null,get IS_IPOD(){return De},get IOS_VERSION(){return Oe},get IS_ANDROID(){return R},get ANDROID_VERSION(){return ke},get IS_FIREFOX(){return Ae},get IS_EDGE(){return je},get IS_CHROMIUM(){return Me},get IS_CHROME(){return z},get CHROMIUM_VERSION(){return B},get CHROME_VERSION(){return Ne},IS_CHROMECAST_RECEIVER:Pe,get IE_VERSION(){return Fe},get IS_SAFARI(){return Ie},get IS_WINDOWS(){return V},get IS_IPAD(){return Le},get IS_IPHONE(){return Re},get IS_TIZEN(){return ze},get IS_WEBOS(){return Be},get IS_SMART_TV(){return Ve},TOUCH_ENABLED:H,IS_IOS:Ue,IS_ANY_SAFARI:We});function Ke(e){return typeof e==`string`&&!!e.trim()}function qe(e){if(e.indexOf(` `)>=0)throw Error(`class has illegal whitespace characters`)}function Je(){return b.default===y.default.document}function Ye(e){return Ce(e)&&e.nodeType===1}function Xe(){try{return y.default.parent!==y.default.self}catch{return!0}}function Ze(e){return function(t,n){if(!Ke(t))return b.default[e](null);Ke(n)&&(n=b.default.querySelector(n));let r=Ye(n)?n:b.default;return r[e]&&r[e](t)}}function U(e=`div`,t={},n={},r){let i=b.default.createElement(e);return Object.getOwnPropertyNames(t).forEach(function(e){let n=t[e];e===`textContent`?Qe(i,n):(i[e]!==n||e===`tabIndex`)&&(i[e]=n)}),Object.getOwnPropertyNames(n).forEach(function(e){i.setAttribute(e,n[e])}),r&&_t(i,r),i}function Qe(e,t){return e.textContent===void 0?e.innerText=t:e.textContent=t,e}function $e(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function et(e,t){return qe(t),e.classList.contains(t)}function tt(e,...t){return e.classList.add(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e}function nt(e,...t){return e?(e.classList.remove(...t.reduce((e,t)=>e.concat(t.split(/\s+/)),[])),e):(P.warn(`removeClass was called with an element that doesn't exist`),null)}function rt(e,t,n){return typeof n==`function`&&(n=n(e,t)),typeof n!=`boolean`&&(n=void 0),t.split(/\s+/).forEach(t=>e.classList.toggle(t,n)),e}function it(e,t){Object.getOwnPropertyNames(t).forEach(function(n){let r=t[n];r==null||r===!1?e.removeAttribute(n):e.setAttribute(n,r===!0?``:r)})}function at(e){let t={},n=[`autoplay`,`controls`,`playsinline`,`loop`,`muted`,`default`,`defaultMuted`];if(e&&e.attributes&&e.attributes.length>0){let r=e.attributes;for(let e=r.length-1;e>=0;e--){let i=r[e].name,a=r[e].value;n.includes(i)&&(a=a!==null),t[i]=a}}return t}function ot(e,t){return e.getAttribute(t)}function st(e,t,n){e.setAttribute(t,n)}function ct(e,t){e.removeAttribute(t)}function lt(){b.default.body.focus(),b.default.onselectstart=function(){return!1}}function ut(){b.default.onselectstart=function(){return!0}}function dt(e){if(e&&e.getBoundingClientRect&&e.parentNode){let t=e.getBoundingClientRect(),n={};return[`bottom`,`height`,`left`,`right`,`top`,`width`].forEach(e=>{t[e]!==void 0&&(n[e]=t[e])}),n.height||=parseFloat(St(e,`height`)),n.width||=parseFloat(St(e,`width`)),n}}function ft(e){if(!e||e&&!e.offsetParent)return{left:0,top:0,width:0,height:0};let t=e.offsetWidth,n=e.offsetHeight,r=0,i=0;for(;e.offsetParent&&e!==b.default[ce.fullscreenElement];)r+=e.offsetLeft,i+=e.offsetTop,e=e.offsetParent;return{left:r,top:i,width:t,height:n}}function pt(e,t){let n={x:0,y:0};if(Ue){let t=e;for(;t&&t.nodeName.toLowerCase()!==`html`;){let e=St(t,`transform`);if(/^matrix/.test(e)){let t=e.slice(7,-1).split(/,\s/).map(Number);n.x+=t[4],n.y+=t[5]}else if(/^matrix3d/.test(e)){let t=e.slice(9,-1).split(/,\s/).map(Number);n.x+=t[12],n.y+=t[13]}if(t.assignedSlot&&t.assignedSlot.parentElement&&y.default.WebKitCSSMatrix){let e=y.default.getComputedStyle(t.assignedSlot.parentElement).transform,r=new y.default.WebKitCSSMatrix(e);n.x+=r.m41,n.y+=r.m42}t=t.parentNode||t.host}}let r={},i=ft(t.target),a=ft(e),o=a.width,s=a.height,c=t.offsetY-(a.top-i.top),l=t.offsetX-(a.left-i.left);return t.changedTouches&&(l=t.changedTouches[0].pageX-a.left,c=t.changedTouches[0].pageY+a.top,Ue&&(l-=n.x,c-=n.y)),r.y=1-Math.max(0,Math.min(1,c/s)),r.x=Math.max(0,Math.min(1,l/o)),r}function mt(e){return Ce(e)&&e.nodeType===3}function ht(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function gt(e){return typeof e==`function`&&(e=e()),(Array.isArray(e)?e:[e]).map(e=>{if(typeof e==`function`&&(e=e()),Ye(e)||mt(e))return e;if(typeof e==`string`&&/\S/.test(e))return b.default.createTextNode(e)}).filter(e=>e)}function _t(e,t){return gt(t).forEach(t=>e.appendChild(t)),e}function vt(e,t){return _t(ht(e),t)}function yt(e){return e.button===void 0&&e.buttons===void 0||e.button===0&&e.buttons===void 0||e.type===`mouseup`&&e.button===0&&e.buttons===0||e.type===`mousedown`&&e.button===0&&e.buttons===0?!0:!(e.button!==0||e.buttons!==1)}let bt=Ze(`querySelector`),xt=Ze(`querySelectorAll`);function St(e,t){if(!e||!t)return``;if(typeof y.default.getComputedStyle==`function`){let n;try{n=y.default.getComputedStyle(e)}catch{return``}return n?n.getPropertyValue(t)||n[t]:``}return``}function Ct(e){[...b.default.styleSheets].forEach(t=>{try{let n=[...t.cssRules].map(e=>e.cssText).join(``),r=b.default.createElement(`style`);r.textContent=n,e.document.head.appendChild(r)}catch{let n=b.default.createElement(`link`);n.rel=`stylesheet`,n.type=t.type,n.media=t.media.mediaText,n.href=t.href,e.document.head.appendChild(n)}})}var wt=Object.freeze({__proto__:null,isReal:Je,isEl:Ye,isInFrame:Xe,createEl:U,textContent:Qe,prependTo:$e,hasClass:et,addClass:tt,removeClass:nt,toggleClass:rt,setAttributes:it,getAttributes:at,getAttribute:ot,setAttribute:st,removeAttribute:ct,blockTextSelection:lt,unblockTextSelection:ut,getBoundingClientRect:dt,findPosition:ft,getPointerPosition:pt,isTextNode:mt,emptyEl:ht,normalizeContent:gt,appendContent:_t,insertContent:vt,isSingleLeftClick:yt,$:bt,$$:xt,computedStyle:St,copyStyleSheetsToWindow:Ct});let Tt=!1,Et,Dt=function(){if(Et.options.autoSetup===!1)return;let e=Array.prototype.slice.call(b.default.getElementsByTagName(`video`)),t=Array.prototype.slice.call(b.default.getElementsByTagName(`audio`)),n=Array.prototype.slice.call(b.default.getElementsByTagName(`video-js`)),r=e.concat(t,n);if(r&&r.length>0)for(let e=0,t=r.length;e<t;e++){let t=r[e];if(t&&t.getAttribute)t.player===void 0&&t.getAttribute(`data-setup`)!==null&&Et(t);else{Ot(1);break}}else Tt||Ot(1)};function Ot(e,t){Je()&&(t&&(Et=t),y.default.setTimeout(Dt,e))}function kt(){Tt=!0,y.default.removeEventListener(`load`,kt)}Je()&&(b.default.readyState===`complete`?kt():y.default.addEventListener(`load`,kt));let At=function(e){let t=b.default.createElement(`style`);return t.className=e,t},jt=function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t};var Mt=new WeakMap;let Nt=3;function Pt(){return Nt++}function Ft(e,t){if(!Mt.has(e))return;let n=Mt.get(e);n.handlers[t].length===0&&(delete n.handlers[t],e.removeEventListener?e.removeEventListener(t,n.dispatcher,!1):e.detachEvent&&e.detachEvent(`on`+t,n.dispatcher)),Object.getOwnPropertyNames(n.handlers).length<=0&&(delete n.handlers,delete n.dispatcher,delete n.disabled),Object.getOwnPropertyNames(n).length===0&&Mt.delete(e)}function It(e,t,n,r){n.forEach(function(n){e(t,n,r)})}function Lt(e){if(e.fixed_)return e;function t(){return!0}function n(){return!1}if(!e||!e.isPropagationStopped||!e.isImmediatePropagationStopped){let r=e||y.default.event;e={};let i=[`layerX`,`layerY`,`keyLocation`,`path`,`webkitMovementX`,`webkitMovementY`,`mozPressure`,`mozInputSource`];for(let t in r)i.includes(t)||t===`returnValue`&&r.preventDefault||(e[t]=r[t]);if(e.target||=e.srcElement||b.default,e.relatedTarget||=e.fromElement===e.target?e.toElement:e.fromElement,e.preventDefault=function(){r.preventDefault&&r.preventDefault(),e.returnValue=!1,r.returnValue=!1,e.defaultPrevented=!0},e.defaultPrevented=!1,e.stopPropagation=function(){r.stopPropagation&&r.stopPropagation(),e.cancelBubble=!0,r.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=n,e.stopImmediatePropagation=function(){r.stopImmediatePropagation&&r.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=n,e.clientX!==null&&e.clientX!==void 0){let t=b.default.documentElement,n=b.default.body;e.pageX=e.clientX+(t&&t.scrollLeft||n&&n.scrollLeft||0)-(t&&t.clientLeft||n&&n.clientLeft||0),e.pageY=e.clientY+(t&&t.scrollTop||n&&n.scrollTop||0)-(t&&t.clientTop||n&&n.clientTop||0)}e.which=e.charCode||e.keyCode,e.button!==null&&e.button!==void 0&&(e.button=e.button&1?0:e.button&4?1:e.button&2?2:0)}return e.fixed_=!0,e}let Rt,zt=function(){if(typeof Rt!=`boolean`){Rt=!1;try{let e=Object.defineProperty({},"passive",{get(){Rt=!0}});y.default.addEventListener(`test`,null,e),y.default.removeEventListener(`test`,null,e)}catch{}}return Rt},Bt=[`touchstart`,`touchmove`];function Vt(e,t,n){if(Array.isArray(t))return It(Vt,e,t,n);Mt.has(e)||Mt.set(e,{});let r=Mt.get(e);if(r.handlers||={},r.handlers[t]||(r.handlers[t]=[]),n.guid||=Pt(),r.handlers[t].push(n),r.dispatcher||=(r.disabled=!1,function(t,n){if(r.disabled)return;t=Lt(t);let i=r.handlers[t.type];if(i){let r=i.slice(0);for(let i=0,a=r.length;i<a&&!t.isImmediatePropagationStopped();i++)try{r[i].call(e,t,n)}catch(e){P.error(e)}}}),r.handlers[t].length===1)if(e.addEventListener){let n=!1;zt()&&Bt.indexOf(t)>-1&&(n={passive:!0}),e.addEventListener(t,r.dispatcher,n)}else e.attachEvent&&e.attachEvent(`on`+t,r.dispatcher)}function Ht(e,t,n){if(!Mt.has(e))return;let r=Mt.get(e);if(!r.handlers)return;if(Array.isArray(t))return It(Ht,e,t,n);let i=function(e,t){r.handlers[t]=[],Ft(e,t)};if(t===void 0){for(let t in r.handlers)Object.prototype.hasOwnProperty.call(r.handlers||{},t)&&i(e,t);return}let a=r.handlers[t];if(a){if(!n){i(e,t);return}if(n.guid)for(let e=0;e<a.length;e++)a[e].guid===n.guid&&a.splice(e--,1);Ft(e,t)}}function Ut(e,t,n){let r=Mt.has(e)?Mt.get(e):{},i=e.parentNode||e.ownerDocument;if(typeof t==`string`?t={type:t,target:e}:t.target||=e,t=Lt(t),r.dispatcher&&r.dispatcher.call(e,t,n),i&&!t.isPropagationStopped()&&t.bubbles===!0)Ut.call(null,i,t,n);else if(!i&&!t.defaultPrevented&&t.target&&t.target[t.type]){Mt.has(t.target)||Mt.set(t.target,{});let e=Mt.get(t.target);t.target[t.type]&&(e.disabled=!0,typeof t.target[t.type]==`function`&&t.target[t.type](),e.disabled=!1)}return!t.defaultPrevented}function Wt(e,t,n){if(Array.isArray(t))return It(Wt,e,t,n);let r=function(){Ht(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Pt(),Vt(e,t,r)}function Gt(e,t,n){let r=function(){Ht(e,t,r),n.apply(this,arguments)};r.guid=n.guid=n.guid||Pt(),Vt(e,t,r)}var Kt=Object.freeze({__proto__:null,fixEvent:Lt,on:Vt,off:Ht,trigger:Ut,one:Wt,any:Gt});let W=function(e,t,n){t.guid||=Pt();let r=t.bind(e);return r.guid=n?n+`_`+t.guid:t.guid,r},qt=function(e,t){let n=y.default.performance.now();return function(...r){let i=y.default.performance.now();i-n>=t&&(e(...r),n=i)}},Jt=function(e,t,n,r=y.default){let i,a=()=>{r.clearTimeout(i),i=null},o=function(){let a=this,o=arguments,s=function(){i=null,s=null,n||e.apply(a,o)};!i&&n&&e.apply(a,o),r.clearTimeout(i),i=r.setTimeout(s,t)};return o.cancel=a,o};var Yt=Object.freeze({__proto__:null,UPDATE_REFRESH_INTERVAL:30,bind_:W,throttle:qt,debounce:Jt});let Xt;var Zt=class{on(e,t){let n=this.addEventListener;this.addEventListener=()=>{},Vt(this,e,t),this.addEventListener=n}off(e,t){Ht(this,e,t)}one(e,t){let n=this.addEventListener;this.addEventListener=()=>{},Wt(this,e,t),this.addEventListener=n}any(e,t){let n=this.addEventListener;this.addEventListener=()=>{},Gt(this,e,t),this.addEventListener=n}trigger(e){let t=e.type||e;typeof e==`string`&&(e={type:t}),e=Lt(e),this.allowedEvents_[t]&&this[`on`+t]&&this[`on`+t](e),Ut(this,e)}queueTrigger(e){Xt||=new Map;let t=e.type||e,n=Xt.get(this);n||(n=new Map,Xt.set(this,n));let r=n.get(t);n.delete(t),y.default.clearTimeout(r);let i=y.default.setTimeout(()=>{n.delete(t),n.size===0&&(n=null,Xt.delete(this)),this.trigger(e)},0);n.set(t,i)}};Zt.prototype.allowedEvents_={},Zt.prototype.addEventListener=Zt.prototype.on,Zt.prototype.removeEventListener=Zt.prototype.off,Zt.prototype.dispatchEvent=Zt.prototype.trigger;let Qt=e=>typeof e.name==`function`?e.name():typeof e.name==`string`?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e,$t=e=>e instanceof Zt||!!e.eventBusEl_&&[`on`,`one`,`off`,`trigger`].every(t=>typeof e[t]==`function`),en=(e,t)=>{$t(e)?t():(e.eventedCallbacks||=[],e.eventedCallbacks.push(t))},tn=e=>typeof e==`string`&&/\S/.test(e)||Array.isArray(e)&&!!e.length,nn=(e,t,n)=>{if(!e||!e.nodeName&&!$t(e))throw Error(`Invalid target for ${Qt(t)}#${n}; must be a DOM node or evented object.`)},rn=(e,t,n)=>{if(!tn(e))throw Error(`Invalid event type for ${Qt(t)}#${n}; must be a non-empty string or array.`)},an=(e,t,n)=>{if(typeof e!=`function`)throw Error(`Invalid listener for ${Qt(t)}#${n}; must be a function.`)},on=(e,t,n)=>{let r=t.length<3||t[0]===e||t[0]===e.eventBusEl_,i,a,o;return r?(i=e.eventBusEl_,t.length>=3&&t.shift(),[a,o]=t):(i=t[0],a=t[1],o=t[2]),nn(i,e,n),rn(a,e,n),an(o,e,n),o=W(e,o),{isTargetingSelf:r,target:i,type:a,listener:o}},sn=(e,t,n,r)=>{nn(e,e,t),e.nodeName?Kt[t](e,n,r):e[t](n,r)},cn={on(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=on(this,e,`on`);if(sn(n,`on`,r,i),!t){let e=()=>this.off(n,r,i);e.guid=i.guid;let t=()=>this.off(`dispose`,e);t.guid=i.guid,sn(this,`on`,`dispose`,e),sn(n,`on`,`dispose`,t)}},one(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=on(this,e,`one`);if(t)sn(n,`one`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,sn(n,`one`,r,e)}},any(...e){let{isTargetingSelf:t,target:n,type:r,listener:i}=on(this,e,`any`);if(t)sn(n,`any`,r,i);else{let e=(...t)=>{this.off(n,r,e),i.apply(null,t)};e.guid=i.guid,sn(n,`any`,r,e)}},off(e,t,n){if(!e||tn(e))Ht(this.eventBusEl_,e,t);else{let r=e,i=t;nn(r,this,`off`),rn(i,this,`off`),an(n,this,`off`),n=W(this,n),this.off(`dispose`,n),r.nodeName?(Ht(r,i,n),Ht(r,`dispose`,n)):$t(r)&&(r.off(i,n),r.off(`dispose`,n))}},trigger(e,t){if(nn(this.eventBusEl_,this,`trigger`),!tn(e&&typeof e!=`string`?e.type:e))throw Error(`Invalid event type for ${Qt(this)}#trigger; must be a non-empty string or object with a type key that has a non-empty value.`);return Ut(this.eventBusEl_,e,t)}};function ln(e,t={}){let{eventBusKey:n}=t;if(n){if(!e[n].nodeName)throw Error(`The eventBusKey "${n}" does not refer to an element.`);e.eventBusEl_=e[n]}else e.eventBusEl_=U(`span`,{className:`vjs-event-bus`});return Object.assign(e,cn),e.eventedCallbacks&&e.eventedCallbacks.forEach(e=>{e()}),e.on(`dispose`,()=>{e.off(),[e,e.el_,e.eventBusEl_].forEach(function(e){e&&Mt.has(e)&&Mt.delete(e)}),y.default.setTimeout(()=>{e.eventBusEl_=null},0)}),e}let un={state:{},setState(e){typeof e==`function`&&(e=e());let t;return ye(e,(e,n)=>{this.state[n]!==e&&(t||={},t[n]={from:this.state[n],to:e}),this.state[n]=e}),t&&$t(this)&&this.trigger({changes:t,type:`statechanged`}),t}};function dn(e,t){return Object.assign(e,un),e.state=Object.assign({},e.state,t),typeof e.handleStateChanged==`function`&&$t(e)&&e.on(`statechanged`,e.handleStateChanged),e}let fn=function(e){return typeof e==`string`?e.replace(/./,e=>e.toLowerCase()):e},G=function(e){return typeof e==`string`?e.replace(/./,e=>e.toUpperCase()):e},pn=function(e,t){return G(e)===G(t)};var mn=Object.freeze({__proto__:null,toLowerCase:fn,toTitleCase:G,titleCaseEquals:pn}),K=class e{constructor(e,t,n){if(!e&&this.play?this.player_=e=this:this.player_=e,this.isDisposed_=!1,this.parentComponent_=null,this.options_=L({},this.options_),t=this.options_=L(this.options_,t),this.id_=t.id||t.el&&t.el.id,!this.id_){let t=e&&e.id&&e.id()||`no_player`;this.id_=`${t}_component_${Pt()}`}this.name_=t.name||null,t.el?this.el_=t.el:t.createEl!==!1&&(this.el_=this.createEl()),t.className&&this.el_&&t.className.split(` `).forEach(e=>this.addClass(e)),[`on`,`off`,`one`,`any`,`trigger`].forEach(e=>{this[e]=void 0}),t.evented!==!1&&(ln(this,{eventBusKey:this.el_?`el_`:null}),this.handleLanguagechange=this.handleLanguagechange.bind(this),this.on(this.player_,`languagechange`,this.handleLanguagechange)),dn(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},this.setTimeoutIds_=new Set,this.setIntervalIds_=new Set,this.rafIds_=new Set,this.namedRafs_=new Map,this.clearingTimersOnDispose_=!1,t.initChildren!==!1&&this.initChildren(),this.ready(n),t.reportTouchActivity!==!1&&this.enableTouchActivity()}dispose(e={}){if(!this.isDisposed_){if(this.readyQueue_&&(this.readyQueue_.length=0),this.trigger({type:`dispose`,bubbles:!1}),this.isDisposed_=!0,this.children_)for(let e=this.children_.length-1;e>=0;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&=(this.el_.parentNode&&(e.restoreEl?this.el_.parentNode.replaceChild(e.restoreEl,this.el_):this.el_.parentNode.removeChild(this.el_)),null),this.player_=null}}isDisposed(){return!!this.isDisposed_}player(){return this.player_}options(e){return e&&(this.options_=L(this.options_,e)),this.options_}el(){return this.el_}createEl(e,t,n){return U(e,t,n)}localize(e,t,n=e){let r=this.player_.language&&this.player_.language(),i=this.player_.languages&&this.player_.languages(),a=i&&i[r],o=r&&r.split(`-`)[0],s=i&&i[o],c=n;return a&&a[e]?c=a[e]:s&&s[e]&&(c=s[e]),t&&(c=c.replace(/\{(\d+)\}/g,function(e,n){let r=t[n-1],i=r;return r===void 0&&(i=e),i})),c}handleLanguagechange(){}contentEl(){return this.contentEl_||this.el_}id(){return this.id_}name(){return this.name_}children(){return this.children_}getChildById(e){return this.childIndex_[e]}getChild(e){if(e)return this.childNameIndex_[e]}getDescendant(...e){e=e.reduce((e,t)=>e.concat(t),[]);let t=this;for(let n=0;n<e.length;n++)if(t=t.getChild(e[n]),!t||!t.getChild)return;return t}setIcon(e,t=this.el()){if(!this.player_.options_.experimentalSvgIcons)return;let n=`http://www.w3.org/2000/svg`,r=U(`span`,{className:`vjs-icon-placeholder vjs-svg-icon`},{"aria-hidden":`true`}),i=b.default.createElementNS(n,`svg`);i.setAttributeNS(null,`viewBox`,`0 0 512 512`);let a=b.default.createElementNS(n,`use`);return i.appendChild(a),a.setAttributeNS(null,`href`,`#vjs-icon-${e}`),r.appendChild(i),this.iconIsSet_?t.replaceChild(r,t.querySelector(`.vjs-icon-placeholder`)):t.appendChild(r),this.iconIsSet_=!0,r}addChild(t,n={},r=this.children_.length){let i,a;if(typeof t==`string`){a=G(t);let r=n.componentClass||a;n.name=a;let o=e.getComponent(r);if(!o)throw Error(`Component ${r} does not exist`);if(typeof o!=`function`)return null;i=new o(this.player_||this,n)}else i=t;if(i.parentComponent_&&i.parentComponent_.removeChild(i),this.children_.splice(r,0,i),i.parentComponent_=this,typeof i.id==`function`&&(this.childIndex_[i.id()]=i),a||=i.name&&G(i.name()),a&&(this.childNameIndex_[a]=i,this.childNameIndex_[fn(a)]=i),typeof i.el==`function`&&i.el()){let e=null;this.children_[r+1]&&(this.children_[r+1].el_?e=this.children_[r+1].el_:Ye(this.children_[r+1])&&(e=this.children_[r+1])),this.contentEl().insertBefore(i.el(),e)}return i}removeChild(e){if(typeof e==`string`&&(e=this.getChild(e)),!e||!this.children_)return;let t=!1;for(let n=this.children_.length-1;n>=0;n--)if(this.children_[n]===e){t=!0,this.children_.splice(n,1);break}if(!t)return;e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[G(e.name())]=null,this.childNameIndex_[fn(e.name())]=null;let n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}initChildren(){let t=this.options_.children;if(t){let n=this.options_,r=e=>{let t=e.name,r=e.opts;if(n[t]!==void 0&&(r=n[t]),r===!1)return;r===!0&&(r={}),r.playerOptions=this.options_.playerOptions;let i=this.addChild(t,r);i&&(this[t]=i)},i,a=e.getComponent(`Tech`);i=Array.isArray(t)?t:Object.keys(t),i.concat(Object.keys(this.options_).filter(function(e){return!i.some(function(t){return typeof t==`string`?e===t:e===t.name})})).map(e=>{let n,r;return typeof e==`string`?(n=e,r=t[n]||this.options_[n]||{}):(n=e.name,r=e),{name:n,opts:r}}).filter(t=>{let n=e.getComponent(t.opts.componentClass||G(t.name));return n&&!a.isTech(n)}).forEach(r)}}buildCSSClass(){return``}ready(e,t=!1){if(e){if(!this.isReady_){this.readyQueue_=this.readyQueue_||[],this.readyQueue_.push(e);return}t?e.call(this):this.setTimeout(e,1)}}triggerReady(){this.isReady_=!0,this.setTimeout(function(){let e=this.readyQueue_;this.readyQueue_=[],e&&e.length>0&&e.forEach(function(e){e.call(this)},this),this.trigger(`ready`)},1)}$(e,t){return bt(e,t||this.contentEl())}$$(e,t){return xt(e,t||this.contentEl())}hasClass(e){return et(this.el_,e)}addClass(...e){tt(this.el_,...e)}removeClass(...e){nt(this.el_,...e)}toggleClass(e,t){rt(this.el_,e,t)}show(){this.removeClass(`vjs-hidden`)}hide(){this.addClass(`vjs-hidden`)}lockShowing(){this.addClass(`vjs-lock-showing`)}unlockShowing(){this.removeClass(`vjs-lock-showing`)}getAttribute(e){return ot(this.el_,e)}setAttribute(e,t){st(this.el_,e,t)}removeAttribute(e){ct(this.el_,e)}width(e,t){return this.dimension(`width`,e,t)}height(e,t){return this.dimension(`height`,e,t)}dimensions(e,t){this.width(e,!0),this.height(t)}dimension(e,t,n){if(t!==void 0){(t===null||t!==t)&&(t=0),(``+t).indexOf(`%`)!==-1||(``+t).indexOf(`px`)!==-1?this.el_.style[e]=t:t===`auto`?this.el_.style[e]=``:this.el_.style[e]=t+`px`,n||this.trigger(`componentresize`);return}if(!this.el_)return 0;let r=this.el_.style[e],i=r.indexOf(`px`);return parseInt(i===-1?this.el_[`offset`+G(e)]:r.slice(0,i),10)}currentDimension(e){let t=0;if(e!==`width`&&e!==`height`)throw Error(`currentDimension only accepts width or height value`);if(t=St(this.el_,e),t=parseFloat(t),t===0||isNaN(t)){let n=`offset${G(e)}`;t=this.el_[n]}return t}currentDimensions(){return{width:this.currentDimension(`width`),height:this.currentDimension(`height`)}}currentWidth(){return this.currentDimension(`width`)}currentHeight(){return this.currentDimension(`height`)}getPositions(){let e=this.el_.getBoundingClientRect();return{boundingClientRect:{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left},center:{x:e.left+e.width/2,y:e.top+e.height/2,width:0,height:0,top:e.top+e.height/2,right:e.left+e.width/2,bottom:e.top+e.height/2,left:e.left+e.width/2}}}focus(){this.el_.focus()}blur(){this.el_.blur()}handleKeyDown(e){this.player_&&(e.key!==`Tab`&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled)&&e.stopPropagation(),this.player_.handleKeyDown(e))}handleKeyPress(e){this.handleKeyDown(e)}emitTapEvents(){let e=0,t=null,n;this.on(`touchstart`,function(r){r.touches.length===1&&(t={pageX:r.touches[0].pageX,pageY:r.touches[0].pageY},e=y.default.performance.now(),n=!0)}),this.on(`touchmove`,function(e){if(e.touches.length>1)n=!1;else if(t){let r=e.touches[0].pageX-t.pageX,i=e.touches[0].pageY-t.pageY;Math.sqrt(r*r+i*i)>10&&(n=!1)}});let r=function(){n=!1};this.on(`touchleave`,r),this.on(`touchcancel`,r),this.on(`touchend`,function(r){t=null,n===!0&&y.default.performance.now()-e<200&&(r.preventDefault(),this.trigger(`tap`))})}enableTouchActivity(){if(!this.player()||!this.player().reportUserActivity)return;let e=W(this.player(),this.player().reportUserActivity),t;this.on(`touchstart`,function(){e(),this.clearInterval(t),t=this.setInterval(e,250)});let n=function(n){e(),this.clearInterval(t)};this.on(`touchmove`,e),this.on(`touchend`,n),this.on(`touchcancel`,n)}setTimeout(e,t){var n;return e=W(this,e),this.clearTimersOnDispose_(),n=y.default.setTimeout(()=>{this.setTimeoutIds_.has(n)&&this.setTimeoutIds_.delete(n),e()},t),this.setTimeoutIds_.add(n),n}clearTimeout(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),y.default.clearTimeout(e)),e}setInterval(e,t){e=W(this,e),this.clearTimersOnDispose_();let n=y.default.setInterval(e,t);return this.setIntervalIds_.add(n),n}clearInterval(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),y.default.clearInterval(e)),e}requestAnimationFrame(e){this.clearTimersOnDispose_();var t;return e=W(this,e),t=y.default.requestAnimationFrame(()=>{this.rafIds_.has(t)&&this.rafIds_.delete(t),e()}),this.rafIds_.add(t),t}requestNamedAnimationFrame(e,t){this.namedRafs_.has(e)&&this.cancelNamedAnimationFrame(e),this.clearTimersOnDispose_(),t=W(this,t);let n=this.requestAnimationFrame(()=>{t(),this.namedRafs_.has(e)&&this.namedRafs_.delete(e)});return this.namedRafs_.set(e,n),e}cancelNamedAnimationFrame(e){this.namedRafs_.has(e)&&(this.cancelAnimationFrame(this.namedRafs_.get(e)),this.namedRafs_.delete(e))}cancelAnimationFrame(e){return this.rafIds_.has(e)&&(this.rafIds_.delete(e),y.default.cancelAnimationFrame(e)),e}clearTimersOnDispose_(){this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one(`dispose`,()=>{[[`namedRafs_`,`cancelNamedAnimationFrame`],[`rafIds_`,`cancelAnimationFrame`],[`setTimeoutIds_`,`clearTimeout`],[`setIntervalIds_`,`clearInterval`]].forEach(([e,t])=>{this[e].forEach((e,n)=>this[t](n))}),this.clearingTimersOnDispose_=!1}))}getIsDisabled(){return!!this.el_.disabled}getIsExpresslyInert(){return this.el_.inert&&!this.el_.ownerDocument.documentElement.inert}getIsFocusable(e){return(e||this.el_).tabIndex>=0&&!(this.getIsDisabled()||this.getIsExpresslyInert())}getIsAvailableToBeFocused(e){function t(e){let t=y.default.getComputedStyle(e,null),n=t.getPropertyValue(`visibility`);return t.getPropertyValue(`display`)!==`none`&&![`hidden`,`collapse`].includes(n)}function n(e){return!(!t(e.parentElement)||!t(e)||e.style.opacity===`0`||y.default.getComputedStyle(e).height===`0px`||y.default.getComputedStyle(e).width===`0px`)}function r(e){if(e.offsetWidth+e.offsetHeight+e.getBoundingClientRect().height+e.getBoundingClientRect().width===0)return!1;let t={x:e.getBoundingClientRect().left+e.offsetWidth/2,y:e.getBoundingClientRect().top+e.offsetHeight/2};if(t.x<0||t.x>(b.default.documentElement.clientWidth||y.default.innerWidth)||t.y<0||t.y>(b.default.documentElement.clientHeight||y.default.innerHeight))return!1;let n=b.default.elementFromPoint(t.x,t.y);for(;n;){if(n===e)return!0;if(n.parentNode)n=n.parentNode;else return!1}}return e||=this.el(),!!(r(e)&&n(e)&&(!e.parentElement||e.tabIndex>=0))}static registerComponent(t,n){if(typeof t!=`string`||!t)throw Error(`Illegal component name, "${t}"; must be a non-empty string.`);let r=e.getComponent(`Tech`),i=r&&r.isTech(n),a=e===n||e.prototype.isPrototypeOf(n.prototype);if(i||!a){let e;throw e=i?`techs must be registered using Tech.registerTech()`:`must be a Component subclass`,Error(`Illegal component, "${t}"; ${e}.`)}t=G(t),e.components_||={};let o=e.getComponent(`Player`);if(t===`Player`&&o&&o.players){let e=o.players,t=Object.keys(e);if(e&&t.length>0){for(let n=0;n<t.length;n++)if(e[t[n]]!==null)throw Error(`Can not register Player component after player has been created.`)}}return e.components_[t]=n,e.components_[fn(t)]=n,n}static getComponent(t){if(!(!t||!e.components_))return e.components_[t]}};K.registerComponent(`Component`,K);function hn(e,t,n){if(typeof t!=`number`||t<0||t>n)throw Error(`Failed to execute '${e}' on 'TimeRanges': The index provided (${t}) is non-numeric or out of bounds (0-${n}).`)}function gn(e,t,n,r){return hn(e,r,n.length-1),n[r][t]}function _n(e){let t;return t=e===void 0||e.length===0?{length:0,start(){throw Error(`This TimeRanges object is empty`)},end(){throw Error(`This TimeRanges object is empty`)}}:{length:e.length,start:gn.bind(null,`start`,0,e),end:gn.bind(null,`end`,1,e)},y.default.Symbol&&y.default.Symbol.iterator&&(t[y.default.Symbol.iterator]=()=>(e||[]).values()),t}function vn(e,t){return Array.isArray(e)?_n(e):e===void 0||t===void 0?_n():_n([[e,t]])}let yn=function(e,t){e=e<0?0:e;let n=Math.floor(e%60),r=Math.floor(e/60%60),i=Math.floor(e/3600),a=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(i=r=n=`-`),i=i>0||o>0?i+`:`:``,r=((i||a>=10)&&r<10?`0`+r:r)+`:`,n=n<10?`0`+n:n,i+r+n},bn=yn;function xn(e){bn=e}function Sn(){bn=yn}function Cn(e,t=e){return bn(e,t)}var wn=Object.freeze({__proto__:null,createTimeRanges:vn,createTimeRange:vn,setFormatTime:xn,resetFormatTime:Sn,formatTime:Cn});function Tn(e,t){let n=0,r,i;if(!t)return 0;(!e||!e.length)&&(e=vn(0,0));for(let a=0;a<e.length;a++)r=e.start(a),i=e.end(a),i>t&&(i=t),n+=i-r;return n/t}function q(e){if(e instanceof q)return e;typeof e==`number`?this.code=e:typeof e==`string`?this.message=e:Ce(e)&&(typeof e.code==`number`&&(this.code=e.code),Object.assign(this,e)),this.message||=q.defaultMessages[this.code]||``}q.prototype.code=0,q.prototype.message=``,q.prototype.status=null,q.prototype.metadata=null,q.errorTypes=[`MEDIA_ERR_CUSTOM`,`MEDIA_ERR_ABORTED`,`MEDIA_ERR_NETWORK`,`MEDIA_ERR_DECODE`,`MEDIA_ERR_SRC_NOT_SUPPORTED`,`MEDIA_ERR_ENCRYPTED`],q.defaultMessages={1:`You aborted the media playback`,2:`A network error caused the media download to fail part-way.`,3:`The media playback was aborted due to a corruption problem or because the media used features your browser did not support.`,4:`The media could not be loaded, either because the server or network failed or because the format is not supported.`,5:`The media is encrypted and we do not have the keys to decrypt it.`},q.MEDIA_ERR_CUSTOM=0,q.prototype.MEDIA_ERR_CUSTOM=0,q.MEDIA_ERR_ABORTED=1,q.prototype.MEDIA_ERR_ABORTED=1,q.MEDIA_ERR_NETWORK=2,q.prototype.MEDIA_ERR_NETWORK=2,q.MEDIA_ERR_DECODE=3,q.prototype.MEDIA_ERR_DECODE=3,q.MEDIA_ERR_SRC_NOT_SUPPORTED=4,q.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4,q.MEDIA_ERR_ENCRYPTED=5,q.prototype.MEDIA_ERR_ENCRYPTED=5;function En(e){return e!=null&&typeof e.then==`function`}function Dn(e){En(e)&&e.then(null,e=>{})}let On=function(e){return[`kind`,`label`,`language`,`id`,`inBandMetadataTrackDispatchType`,`mode`,`src`].reduce((t,n,r)=>(e[n]&&(t[n]=e[n]),t),{cues:e.cues&&Array.prototype.map.call(e.cues,function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}})})};var kn={textTracksToJson:function(e){let t=e.$$(`track`),n=Array.prototype.map.call(t,e=>e.track);return Array.prototype.map.call(t,function(e){let t=On(e.track);return e.src&&(t.src=e.src),t}).concat(Array.prototype.filter.call(e.textTracks(),function(e){return n.indexOf(e)===-1}).map(On))},jsonToTextTracks:function(e,t){return e.forEach(function(e){let n=t.addRemoteTextTrack(e).track;!e.src&&e.cues&&e.cues.forEach(e=>n.addCue(e))}),t.textTracks()},trackToJson:On};let An=`vjs-modal-dialog`;var jn=class extends K{constructor(e,t){super(e,t),this.handleKeyDown_=e=>this.handleKeyDown(e),this.close_=e=>this.close(e),this.opened_=this.hasBeenOpened_=this.hasBeenFilled_=!1,this.closeable(!this.options_.uncloseable),this.content(this.options_.content),this.contentEl_=U(`div`,{className:`${An}-content`},{role:`document`}),this.descEl_=U(`p`,{className:`${An}-description vjs-control-text`,id:this.el().getAttribute(`aria-describedby`)}),Qe(this.descEl_,this.description()),this.el_.appendChild(this.descEl_),this.el_.appendChild(this.contentEl_)}createEl(){return super.createEl(`div`,{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":`${this.id()}_description`,"aria-hidden":`true`,"aria-label":this.label(),role:`dialog`,"aria-live":`polite`})}dispose(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,super.dispose()}buildCSSClass(){return`${An} vjs-hidden ${super.buildCSSClass()}`}label(){return this.localize(this.options_.label||`Modal Window`)}description(){let e=this.options_.description||this.localize(`This is a modal window.`);return this.closeable()&&(e+=` `+this.localize(`This modal can be closed by pressing the Escape key or activating the close button.`)),e}open(){if(this.opened_){this.options_.fillAlways&&this.fill();return}let e=this.player();this.trigger(`beforemodalopen`),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!e.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause(),this.on(`keydown`,this.handleKeyDown_),this.hadControls_=e.controls(),e.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute(`aria-hidden`,`false`),this.trigger(`modalopen`),this.hasBeenOpened_=!0}opened(e){return typeof e==`boolean`&&this[e?`open`:`close`](),this.opened_}close(){if(!this.opened_)return;let e=this.player();this.trigger(`beforemodalclose`),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&e.play(),this.off(`keydown`,this.handleKeyDown_),this.hadControls_&&e.controls(!0),this.hide(),this.el().setAttribute(`aria-hidden`,`true`),this.trigger({type:`modalclose`,bubbles:!0}),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}closeable(e){if(typeof e==`boolean`){let t=this.closeable_=!!e,n=this.getChild(`closeButton`);if(t&&!n){let e=this.contentEl_;this.contentEl_=this.el_,n=this.addChild(`closeButton`,{controlText:`Close Modal Dialog`}),this.contentEl_=e,this.on(n,`close`,this.close_)}!t&&n&&(this.off(n,`close`,this.close_),this.removeChild(n),n.dispose())}return this.closeable_}fill(){this.fillWith(this.content())}fillWith(e){let t=this.contentEl(),n=t.parentNode,r=t.nextSibling;this.trigger(`beforemodalfill`),this.hasBeenFilled_=!0,n.removeChild(t),this.empty(),vt(t,e),this.trigger(`modalfill`),r?n.insertBefore(t,r):n.appendChild(t);let i=this.getChild(`closeButton`);i&&n.appendChild(i.el_),this.trigger(`aftermodalfill`)}empty(){this.trigger(`beforemodalempty`),ht(this.contentEl()),this.trigger(`modalempty`)}content(e){return e!==void 0&&(this.content_=e),this.content_}conditionalFocus_(){let e=b.default.activeElement,t=this.player_.el_;this.previouslyActiveEl_=null,(t.contains(e)||t===e)&&(this.previouslyActiveEl_=e,this.focus())}conditionalBlur_(){this.previouslyActiveEl_&&=(this.previouslyActiveEl_.focus(),null)}handleKeyDown(e){if(this.trigger({type:`modalKeydown`,originalEvent:e,target:this,bubbles:!0}),e.stopPropagation(),e.key===`Escape`&&this.closeable()){e.preventDefault(),this.close();return}if(e.key!==`Tab`)return;let t=this.focusableEls_(),n=this.el_.querySelector(`:focus`),r;for(let e=0;e<t.length;e++)if(n===t[e]){r=e;break}b.default.activeElement===this.el_&&(r=0),e.shiftKey&&r===0?(t[t.length-1].focus(),e.preventDefault()):!e.shiftKey&&r===t.length-1&&(t[0].focus(),e.preventDefault())}focusableEls_(){let e=this.el_.querySelectorAll(`*`);return Array.prototype.filter.call(e,e=>(e instanceof y.default.HTMLAnchorElement||e instanceof y.default.HTMLAreaElement)&&e.hasAttribute(`href`)||(e instanceof y.default.HTMLInputElement||e instanceof y.default.HTMLSelectElement||e instanceof y.default.HTMLTextAreaElement||e instanceof y.default.HTMLButtonElement)&&!e.hasAttribute(`disabled`)||e instanceof y.default.HTMLIFrameElement||e instanceof y.default.HTMLObjectElement||e instanceof y.default.HTMLEmbedElement||e.hasAttribute(`tabindex`)&&e.getAttribute(`tabindex`)!==-1||e.hasAttribute(`contenteditable`))}};jn.prototype.options_={pauseOnOpen:!0,temporary:!0},K.registerComponent(`ModalDialog`,jn);var Mn=class extends Zt{constructor(e=[]){super(),this.tracks_=[];for(let t=0;t<e.length;t++)this.addTrack(e[t])}get length(){return this.tracks_.length}addTrack(e){let t=this.tracks_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.tracks_[t]}}),this.tracks_.indexOf(e)===-1&&(this.tracks_.push(e),this.trigger({track:e,type:`addtrack`,target:this})),e.labelchange_=()=>{this.trigger({track:e,type:`labelchange`,target:this})},$t(e)&&e.addEventListener(`labelchange`,e.labelchange_)}removeTrack(e){let t;for(let n=0,r=this.length;n<r;n++)if(this[n]===e){t=this[n],t.off&&t.off(),this.tracks_.splice(n,1);break}t&&this.trigger({track:t,type:`removetrack`,target:this})}getTrackById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}};Mn.prototype.allowedEvents_={change:`change`,addtrack:`addtrack`,removetrack:`removetrack`,labelchange:`labelchange`};for(let e in Mn.prototype.allowedEvents_)Mn.prototype[`on`+e]=null;let Nn=function(e,t){for(let n=0;n<e.length;n++)!Object.keys(e[n]).length||t.id===e[n].id||(e[n].enabled=!1)};var Pn=class extends Mn{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].enabled){Nn(e,e[t]);break}super(e),this.changing_=!1}addTrack(e){e.enabled&&Nn(this,e),super.addTrack(e),e.addEventListener&&(e.enabledChange_=()=>{this.changing_||(this.changing_=!0,Nn(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`enabledchange`,e.enabledChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.enabledChange_&&(e.removeEventListener(`enabledchange`,e.enabledChange_),e.enabledChange_=null)}};let Fn=function(e,t){for(let n=0;n<e.length;n++)!Object.keys(e[n]).length||t.id===e[n].id||(e[n].selected=!1)};var In=class extends Mn{constructor(e=[]){for(let t=e.length-1;t>=0;t--)if(e[t].selected){Fn(e,e[t]);break}super(e),this.changing_=!1,Object.defineProperty(this,"selectedIndex",{get(){for(let e=0;e<this.length;e++)if(this[e].selected)return e;return-1},set(){}})}addTrack(e){e.selected&&Fn(this,e),super.addTrack(e),e.addEventListener&&(e.selectedChange_=()=>{this.changing_||(this.changing_=!0,Fn(this,e),this.changing_=!1,this.trigger(`change`))},e.addEventListener(`selectedchange`,e.selectedChange_))}removeTrack(e){super.removeTrack(e),e.removeEventListener&&e.selectedChange_&&(e.removeEventListener(`selectedchange`,e.selectedChange_),e.selectedChange_=null)}},Ln=class extends Mn{addTrack(e){super.addTrack(e),this.queueChange_||=()=>this.queueTrigger(`change`),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=()=>this.trigger(`selectedlanguagechange`)),e.addEventListener(`modechange`,this.queueChange_),[`metadata`,`chapters`].indexOf(e.kind)===-1&&e.addEventListener(`modechange`,this.triggerSelectedlanguagechange_)}removeTrack(e){super.removeTrack(e),e.removeEventListener&&(this.queueChange_&&e.removeEventListener(`modechange`,this.queueChange_),this.selectedlanguagechange_&&e.removeEventListener(`modechange`,this.triggerSelectedlanguagechange_))}toJSON(){return this.tracks_.map(e=>e.toJSON())}},Rn=class{constructor(e=[]){this.trackElements_=[],Object.defineProperty(this,"length",{get(){return this.trackElements_.length}});for(let t=0,n=e.length;t<n;t++)this.addTrackElement_(e[t])}addTrackElement_(e){let t=this.trackElements_.length;``+t in this||Object.defineProperty(this,t,{get(){return this.trackElements_[t]}}),this.trackElements_.indexOf(e)===-1&&this.trackElements_.push(e)}getTrackElementByTrack_(e){let t;for(let n=0,r=this.trackElements_.length;n<r;n++)if(e===this.trackElements_[n].track){t=this.trackElements_[n];break}return t}removeTrackElement_(e){for(let t=0,n=this.trackElements_.length;t<n;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&typeof this.trackElements_[t].track.off==`function`&&this.trackElements_[t].track.off(),typeof this.trackElements_[t].off==`function`&&this.trackElements_[t].off(),this.trackElements_.splice(t,1);break}}},zn=class e{constructor(t){e.prototype.setCues_.call(this,t),Object.defineProperty(this,"length",{get(){return this.length_}})}setCues_(e){let t=this.length||0,n=0,r=e.length;this.cues_=e,this.length_=e.length;let i=function(e){``+e in this||Object.defineProperty(this,``+e,{get(){return this.cues_[e]}})};if(t<r)for(n=t;n<r;n++)i.call(this,n)}getCueById(e){let t=null;for(let n=0,r=this.length;n<r;n++){let r=this[n];if(r.id===e){t=r;break}}return t}};let Bn={alternative:`alternative`,captions:`captions`,main:`main`,sign:`sign`,subtitles:`subtitles`,commentary:`commentary`},Vn={alternative:`alternative`,descriptions:`descriptions`,main:`main`,"main-desc":`main-desc`,translation:`translation`,commentary:`commentary`},Hn={subtitles:`subtitles`,captions:`captions`,descriptions:`descriptions`,chapters:`chapters`,metadata:`metadata`},Un={disabled:`disabled`,hidden:`hidden`,showing:`showing`};var Wn=class extends Zt{constructor(e={}){super();let t={id:e.id||`vjs_track_`+Pt(),kind:e.kind||``,language:e.language||``},n=e.label||``;for(let e in t)Object.defineProperty(this,e,{get(){return t[e]},set(){}});Object.defineProperty(this,"label",{get(){return n},set(e){e!==n&&(n=e,this.trigger(`labelchange`))}})}};let Gn=function(e){return new URL(e,b.default.baseURI)},Kn=function(e){return new URL(e,b.default.baseURI).href},qn=function(e){if(typeof e==`string`){let t=e.split(`?`)[0].replace(/\/+$/,``).match(/\.([^.\/]+)$/);return t?t[1].toLowerCase():``}return``},Jn=function(e,t=y.default.location){return Gn(e).origin!==t.origin};var Yn=Object.freeze({__proto__:null,parseUrl:Gn,getAbsoluteURL:Kn,getFileExtension:qn,isCrossOrigin:Jn});let Xn=function(e,t){let n=new y.default.WebVTT.Parser(y.default,y.default.vttjs,y.default.WebVTT.StringDecoder()),r=[];n.oncue=function(e){t.addCue(e)},n.onparsingerror=function(e){r.push(e)},n.onflush=function(){t.trigger({type:`loadeddata`,target:t})},n.parse(e),r.length>0&&(y.default.console&&y.default.console.groupCollapsed&&y.default.console.groupCollapsed(`Text Track parsing errors for ${t.src}`),r.forEach(e=>P.error(e)),y.default.console&&y.default.console.groupEnd&&y.default.console.groupEnd()),n.flush()},Zn=function(e,t){let n={uri:e},r=Jn(e);r&&(n.cors=r);let i=t.tech_.crossOrigin()===`use-credentials`;i&&(n.withCredentials=i),x.default(n,W(this,function(e,n,r){if(e)return P.error(e,n);t.loaded_=!0,typeof y.default.WebVTT==`function`?Xn(r,t):t.tech_&&t.tech_.any([`vttjsloaded`,`vttjserror`],e=>{if(e.type===`vttjserror`){P.error(`vttjs failed to load, stopping trying to process ${t.src}`);return}return Xn(r,t)})}))};var Qn=class extends Wn{constructor(e={}){if(!e.tech)throw Error(`A tech was not provided.`);let t=L(e,{kind:Hn[e.kind]||`subtitles`,language:e.language||e.srclang||``}),n=Un[t.mode]||`disabled`,r=t.default;(t.kind===`metadata`||t.kind===`chapters`)&&(n=`hidden`),super(t),this.tech_=t.tech,this.cues_=[],this.activeCues_=[],this.preload_=this.tech_.preloadTextTracks!==!1;let i=new zn(this.cues_),a=new zn(this.activeCues_),o=!1;this.timeupdateHandler=W(this,function(e={}){if(!this.tech_.isDisposed()){if(!this.tech_.isReady_){e.type!==`timeupdate`&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler));return}this.activeCues=this.activeCues,o&&=(this.trigger(`cuechange`),!1),e.type!==`timeupdate`&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler))}}),this.tech_.one(`dispose`,()=>{this.stopTracking()}),n!==`disabled`&&this.startTracking(),Object.defineProperties(this,{default:{get(){return r},set(){}},mode:{get(){return n},set(e){Un[e]&&n!==e&&(n=e,!this.preload_&&n!==`disabled`&&this.cues.length===0&&Zn(this.src,this),this.stopTracking(),n!==`disabled`&&this.startTracking(),this.trigger(`modechange`))}},cues:{get(){return this.loaded_?i:null},set(){}},activeCues:{get(){if(!this.loaded_)return null;if(this.cues.length===0)return a;let e=this.tech_.currentTime(),t=[];for(let n=0,r=this.cues.length;n<r;n++){let r=this.cues[n];r.startTime<=e&&r.endTime>=e&&t.push(r)}if(o=!1,t.length!==this.activeCues_.length)o=!0;else for(let e=0;e<t.length;e++)this.activeCues_.indexOf(t[e])===-1&&(o=!0);return this.activeCues_=t,a.setCues_(this.activeCues_),a},set(){}}}),t.src?(this.src=t.src,this.preload_||(this.loaded_=!0),(this.preload_||t.kind!==`subtitles`&&t.kind!==`captions`)&&Zn(this.src,this)):this.loaded_=!0}startTracking(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler),this.tech_.on(`timeupdate`,this.timeupdateHandler)}stopTracking(){this.rvf_&&=(this.tech_.cancelVideoFrameCallback(this.rvf_),void 0),this.tech_.off(`timeupdate`,this.timeupdateHandler)}addCue(e){let t=e;if(!(`getCueAsHTML`in t)){t=new y.default.vttjs.VTTCue(e.startTime,e.endTime,e.text);for(let n in e)n in t||(t[n]=e[n]);t.id=e.id,t.originalCue_=e}let n=this.tech_.textTracks();for(let e=0;e<n.length;e++)n[e]!==this&&n[e].removeCue(t);this.cues_.push(t),this.cues.setCues_(this.cues_)}toJSON(){return kn.trackToJson(this)}removeCue(e){let t=this.cues_.length;for(;t--;){let n=this.cues_[t];if(n===e||n.originalCue_&&n.originalCue_===e){this.cues_.splice(t,1),this.cues.setCues_(this.cues_);break}}}};Qn.prototype.allowedEvents_={cuechange:`cuechange`};var $n=class extends Wn{constructor(e={}){let t=L(e,{kind:Vn[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"enabled",{get(){return n},set(e){typeof e!=`boolean`||e===n||(n=e,this.trigger(`enabledchange`))}}),t.enabled&&(this.enabled=t.enabled),this.loaded_=!0}},er=class extends Wn{constructor(e={}){let t=L(e,{kind:Bn[e.kind]||``});super(t);let n=!1;Object.defineProperty(this,"selected",{get(){return n},set(e){typeof e!=`boolean`||e===n||(n=e,this.trigger(`selectedchange`))}}),t.selected&&(this.selected=t.selected)}},tr=class e extends Zt{constructor(t={}){super();let n,r=new Qn(t);this.kind=r.kind,this.src=r.src,this.srclang=r.language,this.label=r.label,this.default=r.default,Object.defineProperties(this,{readyState:{get(){return n}},track:{get(){return r}}}),n=e.NONE,r.addEventListener(`loadeddata`,()=>{n=e.LOADED,this.trigger({type:`load`,target:this})})}};tr.prototype.allowedEvents_={load:`load`},tr.NONE=0,tr.LOADING=1,tr.LOADED=2,tr.ERROR=3;let nr={audio:{ListClass:Pn,TrackClass:$n,capitalName:`Audio`},video:{ListClass:In,TrackClass:er,capitalName:`Video`},text:{ListClass:Ln,TrackClass:Qn,capitalName:`Text`}};Object.keys(nr).forEach(function(e){nr[e].getterName=`${e}Tracks`,nr[e].privateName=`${e}Tracks_`});let rr={remoteText:{ListClass:Ln,TrackClass:Qn,capitalName:`RemoteText`,getterName:`remoteTextTracks`,privateName:`remoteTextTracks_`},remoteTextEl:{ListClass:Rn,TrackClass:tr,capitalName:`RemoteTextTrackEls`,getterName:`remoteTextTrackEls`,privateName:`remoteTextTrackEls_`}},ir=Object.assign({},nr,rr);rr.names=Object.keys(rr),nr.names=Object.keys(nr),ir.names=[].concat(rr.names,nr.names);function ar(e,t,n,r,i={}){let a=e.textTracks();i.kind=t,n&&(i.label=n),r&&(i.language=r),i.tech=e;let o=new ir.text.TrackClass(i);return a.addTrack(o),o}var J=class e extends K{constructor(e={},t=function(){}){e.reportTouchActivity=!1,super(null,e,t),this.onDurationChange_=e=>this.onDurationChange(e),this.trackProgress_=e=>this.trackProgress(e),this.trackCurrentTime_=e=>this.trackCurrentTime(e),this.stopTrackingCurrentTime_=e=>this.stopTrackingCurrentTime(e),this.disposeSourceHandler_=e=>this.disposeSourceHandler(e),this.queuedHanders_=new Set,this.hasStarted_=!1,this.on(`playing`,function(){this.hasStarted_=!0}),this.on(`loadstart`,function(){this.hasStarted_=!1}),ir.names.forEach(t=>{let n=ir[t];e&&e[n.getterName]&&(this[n.privateName]=e[n.getterName])}),this.featuresProgressEvents||this.manualProgressOn(),this.featuresTimeupdateEvents||this.manualTimeUpdatesOn(),[`Text`,`Audio`,`Video`].forEach(t=>{e[`native${t}Tracks`]===!1&&(this[`featuresNative${t}Tracks`]=!1)}),e.nativeCaptions===!1||e.nativeTextTracks===!1?this.featuresNativeTextTracks=!1:(e.nativeCaptions===!0||e.nativeTextTracks===!0)&&(this.featuresNativeTextTracks=!0),this.featuresNativeTextTracks||this.emulateTextTracks(),this.preloadTextTracks=e.preloadTextTracks!==!1,this.autoRemoteTextTracks_=new ir.text.ListClass,this.initTrackListeners(),e.nativeControlsForTouch||this.emitTapEvents(),this.constructor&&(this.name_=this.constructor.name||`Unknown Tech`)}triggerSourceset(e){this.isReady_||this.one(`ready`,()=>this.setTimeout(()=>this.triggerSourceset(e),1)),this.trigger({src:e,type:`sourceset`})}manualProgressOn(){this.on(`durationchange`,this.onDurationChange_),this.manualProgress=!0,this.one(`ready`,this.trackProgress_)}manualProgressOff(){this.manualProgress=!1,this.stopTrackingProgress(),this.off(`durationchange`,this.onDurationChange_)}trackProgress(e){this.stopTrackingProgress(),this.progressInterval=this.setInterval(W(this,function(){let e=this.bufferedPercent();this.bufferedPercent_!==e&&this.trigger(`progress`),this.bufferedPercent_=e,e===1&&this.stopTrackingProgress()}),500)}onDurationChange(e){this.duration_=this.duration()}buffered(){return vn(0,0)}bufferedPercent(){return Tn(this.buffered(),this.duration_)}stopTrackingProgress(){this.clearInterval(this.progressInterval)}manualTimeUpdatesOn(){this.manualTimeUpdates=!0,this.on(`play`,this.trackCurrentTime_),this.on(`pause`,this.stopTrackingCurrentTime_)}manualTimeUpdatesOff(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off(`play`,this.trackCurrentTime_),this.off(`pause`,this.stopTrackingCurrentTime_)}trackCurrentTime(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})},250)}stopTrackingCurrentTime(){this.clearInterval(this.currentTimeInterval),this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}dispose(){this.clearTracks(nr.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),super.dispose()}clearTracks(e){e=[].concat(e),e.forEach(e=>{let t=this[`${e}Tracks`]()||[],n=t.length;for(;n--;){let r=t[n];e===`text`&&this.removeRemoteTextTrack(r),t.removeTrack(r)}})}cleanupAutoTextTracks(){let e=this.autoRemoteTextTracks_||[],t=e.length;for(;t--;){let n=e[t];this.removeRemoteTextTrack(n)}}reset(){}crossOrigin(){}setCrossOrigin(){}error(e){return e!==void 0&&(this.error_=new q(e),this.trigger(`error`)),this.error_}played(){return this.hasStarted_?vn(0,0):vn()}play(){}setScrubbing(e){}scrubbing(){}setCurrentTime(e){this.manualTimeUpdates&&this.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}initTrackListeners(){nr.names.forEach(e=>{let t=nr[e],n=()=>{this.trigger(`${e}trackchange`)},r=this[t.getterName]();r.addEventListener(`removetrack`,n),r.addEventListener(`addtrack`,n),this.on(`dispose`,()=>{r.removeEventListener(`removetrack`,n),r.removeEventListener(`addtrack`,n)})})}addWebVttScript_(){if(!y.default.WebVTT)if(b.default.body.contains(this.el())){if(!this.options_[`vtt.js`]&&I(w.default)&&Object.keys(w.default).length>0){this.trigger(`vttjsloaded`);return}let e=b.default.createElement(`script`);e.src=this.options_[`vtt.js`]||`https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js`,e.onload=()=>{this.trigger(`vttjsloaded`)},e.onerror=()=>{this.trigger(`vttjserror`)},this.on(`dispose`,()=>{e.onload=null,e.onerror=null}),y.default.WebVTT=!0,this.el().parentNode.appendChild(e)}else this.ready(this.addWebVttScript_)}emulateTextTracks(){let e=this.textTracks(),t=this.remoteTextTracks(),n=t=>e.addTrack(t.track),r=t=>e.removeTrack(t.track);t.on(`addtrack`,n),t.on(`removetrack`,r),this.addWebVttScript_();let i=()=>this.trigger(`texttrackchange`),a=()=>{i();for(let t=0;t<e.length;t++){let n=e[t];n.removeEventListener(`cuechange`,i),n.mode===`showing`&&n.addEventListener(`cuechange`,i)}};a(),e.addEventListener(`change`,a),e.addEventListener(`addtrack`,a),e.addEventListener(`removetrack`,a),this.on(`dispose`,function(){t.off(`addtrack`,n),t.off(`removetrack`,r),e.removeEventListener(`change`,a),e.removeEventListener(`addtrack`,a),e.removeEventListener(`removetrack`,a);for(let t=0;t<e.length;t++)e[t].removeEventListener(`cuechange`,i)})}addTextTrack(e,t,n){if(!e)throw Error(`TextTrack kind is required but was not provided`);return ar(this,e,t,n)}createRemoteTextTrack(e){let t=L(e,{tech:this});return new rr.remoteTextEl.TrackClass(t)}addRemoteTextTrack(e={},t){let n=this.createRemoteTextTrack(e);return typeof t!=`boolean`&&(t=!1),this.remoteTextTrackEls().addTrackElement_(n),this.remoteTextTracks().addTrack(n.track),t===!1&&this.ready(()=>this.autoRemoteTextTracks_.addTrack(n.track)),n}removeRemoteTextTrack(e){let t=this.remoteTextTrackEls().getTrackElementByTrack_(e);this.remoteTextTrackEls().removeTrackElement_(t),this.remoteTextTracks().removeTrack(e),this.autoRemoteTextTracks_.removeTrack(e)}getVideoPlaybackQuality(){return{}}requestPictureInPicture(){return Promise.reject()}disablePictureInPicture(){return!0}setDisablePictureInPicture(){}requestVideoFrameCallback(e){let t=Pt();return!this.isReady_||this.paused()?(this.queuedHanders_.add(t),this.one(`playing`,()=>{this.queuedHanders_.has(t)&&(this.queuedHanders_.delete(t),e())})):this.requestNamedAnimationFrame(t,e),t}cancelVideoFrameCallback(e){this.queuedHanders_.has(e)?this.queuedHanders_.delete(e):this.cancelNamedAnimationFrame(e)}setPoster(){}playsinline(){}setPlaysinline(){}overrideNativeAudioTracks(e){}overrideNativeVideoTracks(e){}canPlayType(e){return``}static canPlayType(e){return``}static canPlaySource(t,n){return e.canPlayType(t.type)}static isTech(t){return t.prototype instanceof e||t instanceof e||t===e}static registerTech(t,n){if(e.techs_||={},!e.isTech(n))throw Error(`Tech ${t} must be a Tech`);if(!e.canPlayType)throw Error(`Techs must have a static canPlayType method on them`);if(!e.canPlaySource)throw Error(`Techs must have a static canPlaySource method on them`);return t=G(t),e.techs_[t]=n,e.techs_[fn(t)]=n,t!==`Tech`&&e.defaultTechOrder_.push(t),n}static getTech(t){if(t){if(e.techs_&&e.techs_[t])return e.techs_[t];if(t=G(t),y.default&&y.default.videojs&&y.default.videojs[t])return P.warn(`The ${t} tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)`),y.default.videojs[t]}}};ir.names.forEach(function(e){let t=ir[e];J.prototype[t.getterName]=function(){return this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName]}}),J.prototype.featuresVolumeControl=!0,J.prototype.featuresMuteControl=!0,J.prototype.featuresFullscreenResize=!1,J.prototype.featuresPlaybackRate=!1,J.prototype.featuresProgressEvents=!1,J.prototype.featuresSourceset=!1,J.prototype.featuresTimeupdateEvents=!1,J.prototype.featuresNativeTextTracks=!1,J.prototype.featuresVideoFrameCallback=!1,J.withSourceHandlers=function(e){e.registerSourceHandler=function(t,n){let r=e.sourceHandlers;r||=e.sourceHandlers=[],n===void 0&&(n=r.length),r.splice(n,0,t)},e.canPlayType=function(t){let n=e.sourceHandlers||[],r;for(let e=0;e<n.length;e++)if(r=n[e].canPlayType(t),r)return r;return``},e.selectSourceHandler=function(t,n){let r=e.sourceHandlers||[],i;for(let e=0;e<r.length;e++)if(i=r[e].canHandleSource(t,n),i)return r[e];return null},e.canPlaySource=function(t,n){let r=e.selectSourceHandler(t,n);return r?r.canHandleSource(t,n):``},[`seekable`,`seeking`,`duration`].forEach(function(e){let t=this[e];typeof t==`function`&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})},e.prototype),e.prototype.setSource=function(t){let n=e.selectSourceHandler(t,this.options_);n||(e.nativeSourceHandler?n=e.nativeSourceHandler:P.error(`No source handler found for the current source.`)),this.disposeSourceHandler(),this.off(`dispose`,this.disposeSourceHandler_),n!==e.nativeSourceHandler&&(this.currentSource_=t),this.sourceHandler_=n.handleSource(t,this,this.options_),this.one(`dispose`,this.disposeSourceHandler_)},e.prototype.disposeSourceHandler=function(){this.currentSource_&&=(this.clearTracks([`audio`,`video`]),null),this.cleanupAutoTextTracks(),this.sourceHandler_&&=(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),null)}},K.registerComponent(`Tech`,J),J.registerTech(`Tech`,J),J.defaultTechOrder_=[];let or={},sr={},cr={};function lr(e,t){or[e]=or[e]||[],or[e].push(t)}function ur(e,t,n){e.setTimeout(()=>Sr(t,or[t.type],n,e),1)}function dr(e,t){e.forEach(e=>e.setTech&&e.setTech(t))}function fr(e,t,n){return e.reduceRight(vr(n),t[n]())}function pr(e,t,n,r){return t[n](e.reduce(vr(n),r))}function mr(e,t,n,r=null){let i=`call`+G(n),a=e.reduce(vr(i),r),o=a===cr,s=o?null:t[n](a);return yr(e,n,s,o),s}let hr={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},gr={setCurrentTime:1,setMuted:1,setVolume:1},_r={play:1,pause:1};function vr(e){return(t,n)=>t===cr?cr:n[e]?n[e](t):t}function yr(e,t,n,r){for(let i=e.length-1;i>=0;i--){let a=e[i];a[t]&&a[t](r,n)}}function br(e){sr.hasOwnProperty(e.id())&&delete sr[e.id()]}function xr(e,t){let n=sr[e.id()],r=null;if(n==null)return r=t(e),sr[e.id()]=[[t,r]],r;for(let e=0;e<n.length;e++){let[i,a]=n[e];i===t&&(r=a)}return r===null&&(r=t(e),n.push([t,r])),r}function Sr(e={},t=[],n,r,i=[],a=!1){let[o,...s]=t;if(typeof o==`string`)Sr(e,or[o],n,r,i,a);else if(o){let t=xr(r,o);if(!t.setSource)return i.push(t),Sr(e,s,n,r,i,a);t.setSource(Object.assign({},e),function(o,c){if(o)return Sr(e,s,n,r,i,a);i.push(t),Sr(c,e.type===c.type?s:or[c.type],n,r,i,a)})}else s.length?Sr(e,s,n,r,i,a):a?n(e,i):Sr(e,or[`*`],n,r,i,!0)}let Cr={opus:`video/ogg`,ogv:`video/ogg`,mp4:`video/mp4`,mov:`video/mp4`,m4v:`video/mp4`,mkv:`video/x-matroska`,m4a:`audio/mp4`,mp3:`audio/mpeg`,aac:`audio/aac`,caf:`audio/x-caf`,flac:`audio/flac`,oga:`audio/ogg`,wav:`audio/wav`,m3u8:`application/x-mpegURL`,mpd:`application/dash+xml`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},wr=function(e=``){return Cr[qn(e).toLowerCase()]||``},Tr=(e,t)=>{if(!t)return``;if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;let n=e.cache_.sources.filter(e=>e.src===t);if(n.length)return n[0].type;let r=e.$$(`source`);for(let e=0;e<r.length;e++){let n=r[e];if(n.type&&n.src&&n.src===t)return n.type}return wr(t)},Er=function(e){if(Array.isArray(e)){let t=[];e.forEach(function(e){e=Er(e),Array.isArray(e)?t=t.concat(e):Ce(e)&&t.push(e)}),e=t}else e=typeof e==`string`&&e.trim()?[Dr({src:e})]:Ce(e)&&typeof e.src==`string`&&e.src&&e.src.trim()?[Dr(e)]:[];return e};function Dr(e){if(!e.type){let t=wr(e.src);t&&(e.type=t)}return e}var Or=`<svg xmlns="http://www.w3.org/2000/svg">
|
|
42
|
+
<defs>
|
|
43
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-play">
|
|
44
|
+
<path d="M16 10v28l22-14z"></path>
|
|
45
|
+
</symbol>
|
|
46
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-pause">
|
|
47
|
+
<path d="M12 38h8V10h-8v28zm16-28v28h8V10h-8z"></path>
|
|
48
|
+
</symbol>
|
|
49
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-audio">
|
|
50
|
+
<path d="M24 2C14.06 2 6 10.06 6 20v14c0 3.31 2.69 6 6 6h6V24h-8v-4c0-7.73 6.27-14 14-14s14 6.27 14 14v4h-8v16h6c3.31 0 6-2.69 6-6V20c0-9.94-8.06-18-18-18z"></path>
|
|
51
|
+
</symbol>
|
|
52
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-captions">
|
|
53
|
+
<path d="M38 8H10c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM22 22h-3v-1h-4v6h4v-1h3v2a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2zm14 0h-3v-1h-4v6h4v-1h3v2a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2z"></path>
|
|
54
|
+
</symbol>
|
|
55
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-subtitles">
|
|
56
|
+
<path d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM8 24h8v4H8v-4zm20 12H8v-4h20v4zm12 0h-8v-4h8v4zm0-8H20v-4h20v4z"></path>
|
|
57
|
+
</symbol>
|
|
58
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-fullscreen-enter">
|
|
59
|
+
<path d="M14 28h-4v10h10v-4h-6v-6zm-4-8h4v-6h6v-4H10v10zm24 14h-6v4h10V28h-4v6zm-6-24v4h6v6h4V10H28z"></path>
|
|
60
|
+
</symbol>
|
|
61
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-fullscreen-exit">
|
|
62
|
+
<path d="M10 32h6v6h4V28H10v4zm6-16h-6v4h10V10h-4v6zm12 22h4v-6h6v-4H28v10zm4-22v-6h-4v10h10v-4h-6z"></path>
|
|
63
|
+
</symbol>
|
|
64
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-play-circle">
|
|
65
|
+
<path d="M20 33l12-9-12-9v18zm4-29C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z"></path>
|
|
66
|
+
</symbol>
|
|
67
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-volume-mute">
|
|
68
|
+
<path d="M33 24c0-3.53-2.04-6.58-5-8.05v4.42l4.91 4.91c.06-.42.09-.85.09-1.28zm5 0c0 1.88-.41 3.65-1.08 5.28l3.03 3.03C41.25 29.82 42 27 42 24c0-8.56-5.99-15.72-14-17.54v4.13c5.78 1.72 10 7.07 10 13.41zM8.55 6L6 8.55 15.45 18H6v12h8l10 10V26.55l8.51 8.51c-1.34 1.03-2.85 1.86-4.51 2.36v4.13a17.94 17.94 0 0 0 7.37-3.62L39.45 42 42 39.45l-18-18L8.55 6zM24 8l-4.18 4.18L24 16.36V8z"></path>
|
|
69
|
+
</symbol>
|
|
70
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-volume-low">
|
|
71
|
+
<path d="M14 18v12h8l10 10V8L22 18h-8z"></path>
|
|
72
|
+
</symbol>
|
|
73
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-volume-medium">
|
|
74
|
+
<path d="M37 24c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zm-27-6v12h8l10 10V8L18 18h-8z"></path>
|
|
75
|
+
</symbol>
|
|
76
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-volume-high">
|
|
77
|
+
<path d="M6 18v12h8l10 10V8L14 18H6zm27 6c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zM28 6.46v4.13c5.78 1.72 10 7.07 10 13.41s-4.22 11.69-10 13.41v4.13c8.01-1.82 14-8.97 14-17.54S36.01 8.28 28 6.46z"></path>
|
|
78
|
+
</symbol>
|
|
79
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-spinner">
|
|
80
|
+
<path d="M18.8 21l9.53-16.51C26.94 4.18 25.49 4 24 4c-4.8 0-9.19 1.69-12.64 4.51l7.33 12.69.11-.2zm24.28-3c-1.84-5.85-6.3-10.52-11.99-12.68L23.77 18h19.31zm.52 2H28.62l.58 1 9.53 16.5C41.99 33.94 44 29.21 44 24c0-1.37-.14-2.71-.4-4zm-26.53 4l-7.8-13.5C6.01 14.06 4 18.79 4 24c0 1.37.14 2.71.4 4h14.98l-2.31-4zM4.92 30c1.84 5.85 6.3 10.52 11.99 12.68L24.23 30H4.92zm22.54 0l-7.8 13.51c1.4.31 2.85.49 4.34.49 4.8 0 9.19-1.69 12.64-4.51L29.31 26.8 27.46 30z"></path>
|
|
81
|
+
</symbol>
|
|
82
|
+
<symbol viewBox="0 0 24 24" id="vjs-icon-hd">
|
|
83
|
+
<path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm2-6h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1h-4V9zm1.5 4.5h2v-3h-2v3z"></path>
|
|
84
|
+
</symbol>
|
|
85
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-chapters">
|
|
86
|
+
<path d="M6 26h4v-4H6v4zm0 8h4v-4H6v4zm0-16h4v-4H6v4zm8 8h28v-4H14v4zm0 8h28v-4H14v4zm0-20v4h28v-4H14z"></path>
|
|
87
|
+
</symbol>
|
|
88
|
+
<symbol viewBox="0 0 40 40" id="vjs-icon-downloading">
|
|
89
|
+
<path d="M18.208 36.875q-3.208-.292-5.979-1.729-2.771-1.438-4.812-3.729-2.042-2.292-3.188-5.229-1.146-2.938-1.146-6.23 0-6.583 4.334-11.416 4.333-4.834 10.833-5.5v3.166q-5.167.75-8.583 4.646Q6.25 14.75 6.25 19.958q0 5.209 3.396 9.104 3.396 3.896 8.562 4.646zM20 28.417L11.542 20l2.083-2.083 4.917 4.916v-11.25h2.916v11.25l4.875-4.916L28.417 20zm1.792 8.458v-3.167q1.833-.25 3.541-.958 1.709-.708 3.167-1.875l2.333 2.292q-1.958 1.583-4.25 2.541-2.291.959-4.791 1.167zm6.791-27.792q-1.541-1.125-3.25-1.854-1.708-.729-3.541-1.021V3.042q2.5.25 4.77 1.208 2.271.958 4.271 2.5zm4.584 21.584l-2.25-2.25q1.166-1.5 1.854-3.209.687-1.708.937-3.541h3.209q-.292 2.5-1.229 4.791-.938 2.292-2.521 4.209zm.541-12.417q-.291-1.833-.958-3.562-.667-1.73-1.833-3.188l2.375-2.208q1.541 1.916 2.458 4.208.917 2.292 1.167 4.75z"></path>
|
|
90
|
+
</symbol>
|
|
91
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-file-download">
|
|
92
|
+
<path d="M10.8 40.55q-1.35 0-2.375-1T7.4 37.15v-7.7h3.4v7.7h26.35v-7.7h3.4v7.7q0 1.4-1 2.4t-2.4 1zM24 32.1L13.9 22.05l2.45-2.45 5.95 5.95V7.15h3.4v18.4l5.95-5.95 2.45 2.45z"></path>
|
|
93
|
+
</symbol>
|
|
94
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-file-download-done">
|
|
95
|
+
<path d="M9.8 40.5v-3.45h28.4v3.45zm9.2-9.05L7.4 19.85l2.45-2.35L19 26.65l19.2-19.2 2.4 2.4z"></path>
|
|
96
|
+
</symbol>
|
|
97
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-file-download-off">
|
|
98
|
+
<path d="M4.9 4.75L43.25 43.1 41 45.3l-4.75-4.75q-.05.05-.075.025-.025-.025-.075-.025H10.8q-1.35 0-2.375-1T7.4 37.15v-7.7h3.4v7.7h22.05l-7-7-1.85 1.8L13.9 21.9l1.85-1.85L2.7 7zm26.75 14.7l2.45 2.45-3.75 3.8-2.45-2.5zM25.7 7.15V21.1l-3.4-3.45V7.15z"></path>
|
|
99
|
+
</symbol>
|
|
100
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-share">
|
|
101
|
+
<path d="M36 32.17c-1.52 0-2.89.59-3.93 1.54L17.82 25.4c.11-.45.18-.92.18-1.4s-.07-.95-.18-1.4l14.1-8.23c1.07 1 2.5 1.62 4.08 1.62 3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6c0 .48.07.95.18 1.4l-14.1 8.23c-1.07-1-2.5-1.62-4.08-1.62-3.31 0-6 2.69-6 6s2.69 6 6 6c1.58 0 3.01-.62 4.08-1.62l14.25 8.31c-.1.42-.16.86-.16 1.31A5.83 5.83 0 1 0 36 32.17z"></path>
|
|
102
|
+
</symbol>
|
|
103
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-cog">
|
|
104
|
+
<path d="M38.86 25.95c.08-.64.14-1.29.14-1.95s-.06-1.31-.14-1.95l4.23-3.31c.38-.3.49-.84.24-1.28l-4-6.93c-.25-.43-.77-.61-1.22-.43l-4.98 2.01c-1.03-.79-2.16-1.46-3.38-1.97L29 4.84c-.09-.47-.5-.84-1-.84h-8c-.5 0-.91.37-.99.84l-.75 5.3a14.8 14.8 0 0 0-3.38 1.97L9.9 10.1a1 1 0 0 0-1.22.43l-4 6.93c-.25.43-.14.97.24 1.28l4.22 3.31C9.06 22.69 9 23.34 9 24s.06 1.31.14 1.95l-4.22 3.31c-.38.3-.49.84-.24 1.28l4 6.93c.25.43.77.61 1.22.43l4.98-2.01c1.03.79 2.16 1.46 3.38 1.97l.75 5.3c.08.47.49.84.99.84h8c.5 0 .91-.37.99-.84l.75-5.3a14.8 14.8 0 0 0 3.38-1.97l4.98 2.01a1 1 0 0 0 1.22-.43l4-6.93c.25-.43.14-.97-.24-1.28l-4.22-3.31zM24 31c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"></path>
|
|
105
|
+
</symbol>
|
|
106
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-square">
|
|
107
|
+
<path d="M36 8H12c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h24c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zm0 28H12V12h24v24z"></path>
|
|
108
|
+
</symbol>
|
|
109
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-circle">
|
|
110
|
+
<circle cx="24" cy="24" r="20"></circle>
|
|
111
|
+
</symbol>
|
|
112
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-circle-outline">
|
|
113
|
+
<path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z"></path>
|
|
114
|
+
</symbol>
|
|
115
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-circle-inner-circle">
|
|
116
|
+
<path d="M24 4C12.97 4 4 12.97 4 24s8.97 20 20 20 20-8.97 20-20S35.03 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16zm6-16c0 3.31-2.69 6-6 6s-6-2.69-6-6 2.69-6 6-6 6 2.69 6 6z"></path>
|
|
117
|
+
</symbol>
|
|
118
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-cancel">
|
|
119
|
+
<path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm10 27.17L31.17 34 24 26.83 16.83 34 14 31.17 21.17 24 14 16.83 16.83 14 24 21.17 31.17 14 34 16.83 26.83 24 34 31.17z"></path>
|
|
120
|
+
</symbol>
|
|
121
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-replay">
|
|
122
|
+
<path d="M24 10V2L14 12l10 10v-8c6.63 0 12 5.37 12 12s-5.37 12-12 12-12-5.37-12-12H8c0 8.84 7.16 16 16 16s16-7.16 16-16-7.16-16-16-16z"></path>
|
|
123
|
+
</symbol>
|
|
124
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-repeat">
|
|
125
|
+
<path d="M14 14h20v6l8-8-8-8v6H10v12h4v-8zm20 20H14v-6l-8 8 8 8v-6h24V26h-4v8z"></path>
|
|
126
|
+
</symbol>
|
|
127
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-replay-5">
|
|
128
|
+
<path d="M17.689 98l-8.697 8.696 8.697 8.697 2.486-2.485-4.32-4.319h1.302c4.93 0 9.071 1.722 12.424 5.165 3.352 3.443 5.029 7.638 5.029 12.584h3.55c0-2.958-.553-5.73-1.658-8.313-1.104-2.583-2.622-4.841-4.555-6.774-1.932-1.932-4.19-3.45-6.773-4.555-2.584-1.104-5.355-1.657-8.313-1.657H15.5l4.615-4.615zm-8.08 21.659v13.861h11.357v5.008H9.609V143h12.7c.834 0 1.55-.298 2.146-.894.596-.597.895-1.31.895-2.145v-7.781c0-.835-.299-1.55-.895-2.147a2.929 2.929 0 0 0-2.147-.894h-8.227v-5.096H25.35v-4.384z"></path>
|
|
129
|
+
</symbol>
|
|
130
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-replay-10">
|
|
131
|
+
<path d="M42.315 125.63c0-4.997-1.694-9.235-5.08-12.713-3.388-3.479-7.571-5.218-12.552-5.218h-1.315l4.363 4.363-2.51 2.51-8.787-8.786L25.221 97l2.45 2.45-4.662 4.663h1.375c2.988 0 5.788.557 8.397 1.673 2.61 1.116 4.892 2.65 6.844 4.602 1.953 1.953 3.487 4.234 4.602 6.844 1.116 2.61 1.674 5.41 1.674 8.398zM8.183 142v-19.657H3.176V117.8h9.643V142zm13.63 0c-1.156 0-2.127-.393-2.912-1.178-.778-.778-1.168-1.746-1.168-2.902v-16.04c0-1.156.393-2.127 1.178-2.912.779-.779 1.746-1.168 2.902-1.168h7.696c1.156 0 2.126.392 2.911 1.177.779.78 1.168 1.747 1.168 2.903v16.04c0 1.156-.392 2.127-1.177 2.912-.779.779-1.746 1.168-2.902 1.168zm.556-4.636h6.583v-15.02H22.37z"></path>
|
|
132
|
+
</symbol>
|
|
133
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-replay-30">
|
|
134
|
+
<path d="M26.047 97l-8.733 8.732 8.733 8.733 2.496-2.494-4.336-4.338h1.307c4.95 0 9.108 1.73 12.474 5.187 3.367 3.458 5.051 7.668 5.051 12.635h3.565c0-2.97-.556-5.751-1.665-8.346-1.109-2.594-2.633-4.862-4.574-6.802-1.94-1.941-4.208-3.466-6.803-4.575-2.594-1.109-5.375-1.664-8.345-1.664H23.85l4.634-4.634zM2.555 117.531v4.688h10.297v5.25H5.873v4.687h6.979v5.156H2.555V142H13.36c1.061 0 1.95-.395 2.668-1.186.718-.79 1.076-1.772 1.076-2.94v-16.218c0-1.168-.358-2.149-1.076-2.94-.717-.79-1.607-1.185-2.668-1.185zm22.482.14c-1.149 0-2.11.39-2.885 1.165-.78.78-1.172 1.744-1.172 2.893v15.943c0 1.149.388 2.11 1.163 2.885.78.78 1.745 1.172 2.894 1.172h7.649c1.148 0 2.11-.388 2.884-1.163.78-.78 1.17-1.745 1.17-2.894v-15.943c0-1.15-.386-2.111-1.16-2.885-.78-.78-1.746-1.172-2.894-1.172zm.553 4.518h6.545v14.93H25.59z"></path>
|
|
135
|
+
</symbol>
|
|
136
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-forward-5">
|
|
137
|
+
<path d="M29.508 97l-2.431 2.43 4.625 4.625h-1.364c-2.965 0-5.742.554-8.332 1.66-2.589 1.107-4.851 2.629-6.788 4.566-1.937 1.937-3.458 4.2-4.565 6.788-1.107 2.59-1.66 5.367-1.66 8.331h3.557c0-4.957 1.68-9.16 5.04-12.611 3.36-3.45 7.51-5.177 12.451-5.177h1.304l-4.326 4.33 2.49 2.49 8.715-8.716zm-9.783 21.61v13.89h11.382v5.018H19.725V142h12.727a2.93 2.93 0 0 0 2.15-.896 2.93 2.93 0 0 0 .896-2.15v-7.798c0-.837-.299-1.554-.896-2.152a2.93 2.93 0 0 0-2.15-.896h-8.245V123h11.29v-4.392z"></path>
|
|
138
|
+
</symbol>
|
|
139
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-forward-10">
|
|
140
|
+
<path d="M23.119 97l-2.386 2.383 4.538 4.538h-1.339c-2.908 0-5.633.543-8.173 1.63-2.54 1.085-4.76 2.577-6.66 4.478-1.9 1.9-3.392 4.12-4.478 6.66-1.085 2.54-1.629 5.264-1.629 8.172h3.49c0-4.863 1.648-8.986 4.944-12.372 3.297-3.385 7.368-5.078 12.216-5.078h1.279l-4.245 4.247 2.443 2.442 8.55-8.55zm-9.52 21.45v4.42h4.871V142h4.513v-23.55zm18.136 0c-1.125 0-2.066.377-2.824 1.135-.764.764-1.148 1.709-1.148 2.834v15.612c0 1.124.38 2.066 1.139 2.824.764.764 1.708 1.145 2.833 1.145h7.489c1.125 0 2.066-.378 2.824-1.136.764-.764 1.145-1.709 1.145-2.833v-15.612c0-1.125-.378-2.067-1.136-2.825-.764-.764-1.708-1.145-2.833-1.145zm.54 4.42h6.408v14.617h-6.407z"></path>
|
|
141
|
+
</symbol>
|
|
142
|
+
<symbol viewBox="0 96 48 48" id="vjs-icon-forward-30">
|
|
143
|
+
<path d="M25.549 97l-2.437 2.434 4.634 4.635H26.38c-2.97 0-5.753.555-8.347 1.664-2.594 1.109-4.861 2.633-6.802 4.574-1.94 1.94-3.465 4.207-4.574 6.802-1.109 2.594-1.664 5.377-1.664 8.347h3.565c0-4.967 1.683-9.178 5.05-12.636 3.366-3.458 7.525-5.187 12.475-5.187h1.307l-4.335 4.338 2.495 2.494 8.732-8.732zm-11.553 20.53v4.689h10.297v5.249h-6.978v4.688h6.978v5.156H13.996V142h10.808c1.06 0 1.948-.395 2.666-1.186.718-.79 1.077-1.771 1.077-2.94v-16.217c0-1.169-.36-2.15-1.077-2.94-.718-.79-1.605-1.186-2.666-1.186zm21.174.168c-1.149 0-2.11.389-2.884 1.163-.78.78-1.172 1.745-1.172 2.894v15.942c0 1.15.388 2.11 1.162 2.885.78.78 1.745 1.17 2.894 1.17h7.649c1.149 0 2.11-.386 2.885-1.16.78-.78 1.17-1.746 1.17-2.895v-15.942c0-1.15-.387-2.11-1.161-2.885-.78-.78-1.745-1.172-2.894-1.172zm.552 4.516h6.542v14.931h-6.542z"></path>
|
|
144
|
+
</symbol>
|
|
145
|
+
<symbol viewBox="0 0 512 512" id="vjs-icon-audio-description">
|
|
146
|
+
<g fill-rule="evenodd"><path d="M227.29 381.351V162.993c50.38-1.017 89.108-3.028 117.631 17.126 27.374 19.342 48.734 56.965 44.89 105.325-4.067 51.155-41.335 94.139-89.776 98.475-24.085 2.155-71.972 0-71.972 0s-.84-1.352-.773-2.568m48.755-54.804c31.43 1.26 53.208-16.633 56.495-45.386 4.403-38.51-21.188-63.552-58.041-60.796v103.612c-.036 1.466.575 2.22 1.546 2.57"></path><path d="M383.78 381.328c13.336 3.71 17.387-11.06 23.215-21.408 12.722-22.571 22.294-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.51c-.587 3.874 2.226 7.315 3.865 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894"></path><path d="M425.154 381.328c13.336 3.71 17.384-11.061 23.215-21.408 12.721-22.571 22.291-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.511c-.586 3.874 2.226 7.315 3.866 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894"></path><path d="M466.26 381.328c13.337 3.71 17.385-11.061 23.216-21.408 12.722-22.571 22.292-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.51c-.587 3.874 2.225 7.315 3.865 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894M4.477 383.005H72.58l18.573-28.484 64.169-.135s.065 19.413.065 28.62h48.756V160.307h-58.816c-5.653 9.537-140.85 222.697-140.85 222.697zm152.667-145.282v71.158l-40.453-.27 40.453-70.888z"></path></g>
|
|
147
|
+
</symbol>
|
|
148
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-next-item">
|
|
149
|
+
<path d="M12 36l17-12-17-12v24zm20-24v24h4V12h-4z"></path>
|
|
150
|
+
</symbol>
|
|
151
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-previous-item">
|
|
152
|
+
<path d="M12 12h4v24h-4zm7 12l17 12V12z"></path>
|
|
153
|
+
</symbol>
|
|
154
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-shuffle">
|
|
155
|
+
<path d="M21.17 18.34L10.83 8 8 10.83l10.34 10.34 2.83-2.83zM29 8l4.09 4.09L8 37.17 10.83 40l25.09-25.09L40 19V8H29zm.66 18.83l-2.83 2.83 6.26 6.26L29 40h11V29l-4.09 4.09-6.25-6.26z"></path>
|
|
156
|
+
</symbol>
|
|
157
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-cast">
|
|
158
|
+
<path d="M42 6H6c-2.21 0-4 1.79-4 4v6h4v-6h36v28H28v4h14c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4zM2 36v6h6c0-3.31-2.69-6-6-6zm0-8v4c5.52 0 10 4.48 10 10h4c0-7.73-6.27-14-14-14zm0-8v4c9.94 0 18 8.06 18 18h4c0-12.15-9.85-22-22-22z"></path>
|
|
159
|
+
</symbol>
|
|
160
|
+
<symbol viewBox="0 0 48 48" id="vjs-icon-picture-in-picture-enter">
|
|
161
|
+
<path d="M38 22H22v11.99h16V22zm8 16V9.96C46 7.76 44.2 6 42 6H6C3.8 6 2 7.76 2 9.96V38c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4zm-4 .04H6V9.94h36v28.1z"></path>
|
|
162
|
+
</symbol>
|
|
163
|
+
<symbol viewBox="0 0 22 18" id="vjs-icon-picture-in-picture-exit">
|
|
164
|
+
<path d="M18 4H4v10h14V4zm4 12V1.98C22 .88 21.1 0 20 0H2C.9 0 0 .88 0 1.98V16c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H2V1.97h18v14.05z"></path>
|
|
165
|
+
<path fill="none" d="M-1-3h24v24H-1z"></path>
|
|
166
|
+
</symbol>
|
|
167
|
+
<symbol viewBox="0 0 1792 1792" id="vjs-icon-facebook">
|
|
168
|
+
<path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759H734V905H479V609h255V391q0-186 104-288.5T1115 0q147 0 228 12z"></path>
|
|
169
|
+
</symbol>
|
|
170
|
+
<symbol viewBox="0 0 1792 1792" id="vjs-icon-linkedin">
|
|
171
|
+
<path d="M477 625v991H147V625h330zm21-306q1 73-50.5 122T312 490h-2q-82 0-132-49t-50-122q0-74 51.5-122.5T314 148t133 48.5T498 319zm1166 729v568h-329v-530q0-105-40.5-164.5T1168 862q-63 0-105.5 34.5T999 982q-11 30-11 81v553H659q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5T1285 602q171 0 275 113.5t104 332.5z"></path>
|
|
172
|
+
</symbol>
|
|
173
|
+
<symbol viewBox="0 0 1200 1227" id="vjs-icon-twitter">
|
|
174
|
+
<path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/>
|
|
175
|
+
</symbol>
|
|
176
|
+
<symbol viewBox="0 0 1792 1792" id="vjs-icon-tumblr">
|
|
177
|
+
<path d="M1328 1329l80 237q-23 35-111 66t-177 32q-104 2-190.5-26T787 1564t-95-106-55.5-120-16.5-118V676H452V461q72-26 129-69.5t91-90 58-102 34-99T779 12q1-5 4.5-8.5T791 0h244v424h333v252h-334v518q0 30 6.5 56t22.5 52.5 49.5 41.5 81.5 14q78-2 134-29z"></path>
|
|
178
|
+
</symbol>
|
|
179
|
+
<symbol viewBox="0 0 1792 1792" id="vjs-icon-pinterest">
|
|
180
|
+
<path d="M1664 896q0 209-103 385.5T1281.5 1561 896 1664q-111 0-218-32 59-93 78-164 9-34 54-211 20 39 73 67.5t114 28.5q121 0 216-68.5t147-188.5 52-270q0-114-59.5-214T1180 449t-255-63q-105 0-196 29t-154.5 77-109 110.5-67 129.5T377 866q0 104 40 183t117 111q30 12 38-20 2-7 8-31t8-30q6-23-11-43-51-61-51-151 0-151 104.5-259.5T904 517q151 0 235.5 82t84.5 213q0 170-68.5 289T980 1220q-61 0-98-43.5T859 1072q8-35 26.5-93.5t30-103T927 800q0-50-27-83t-77-33q-62 0-105 57t-43 142q0 73 25 122l-99 418q-17 70-13 177-206-91-333-281T128 896q0-209 103-385.5T510.5 231 896 128t385.5 103T1561 510.5 1664 896z"></path>
|
|
181
|
+
</symbol>
|
|
182
|
+
</defs>
|
|
183
|
+
</svg>`;let kr=ze?10009:Be?461:8,Ar={codes:{play:415,pause:19,ff:417,rw:412,back:kr},names:{415:`play`,19:`pause`,417:`ff`,412:`rw`,[kr]:`back`},isEventKey(e,t){return t=t.toLowerCase(),!!(this.names[e.keyCode]&&this.names[e.keyCode]===t)},getEventName(e){if(this.names[e.keyCode])return this.names[e.keyCode];if(this.codes[e.code]){let t=this.codes[e.code];return this.names[t]}return null}};var jr=class extends Zt{constructor(e){super(),this.player_=e,this.focusableComponents=[],this.isListening_=!1,this.isPaused_=!1,this.onKeyDown_=this.onKeyDown_.bind(this),this.lastFocusedComponent_=null}start(){this.isListening_||(this.player_.on(`keydown`,this.onKeyDown_),this.player_.on(`modalKeydown`,this.onKeyDown_),this.player_.on(`loadedmetadata`,()=>{this.focus(this.updateFocusableComponents()[0])}),this.player_.on(`modalclose`,()=>{this.refocusComponent()}),this.player_.on(`focusin`,this.handlePlayerFocus_.bind(this)),this.player_.on(`focusout`,this.handlePlayerBlur_.bind(this)),this.isListening_=!0,this.player_.errorDisplay&&this.player_.errorDisplay.on(`aftermodalfill`,()=>{this.updateFocusableComponents(),this.focusableComponents.length&&(this.focusableComponents.length>1?this.focusableComponents[1].focus():this.focusableComponents[0].focus())}))}stop(){this.player_.off(`keydown`,this.onKeyDown_),this.isListening_=!1}onKeyDown_(e){let t=e.originalEvent?e.originalEvent:e;if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(t.key)){if(this.isPaused_)return;t.preventDefault();let e=t.key.substring(5).toLowerCase();this.move(e)}else if(Ar.isEventKey(t,`play`)||Ar.isEventKey(t,`pause`)||Ar.isEventKey(t,`ff`)||Ar.isEventKey(t,`rw`)){t.preventDefault();let e=Ar.getEventName(t);this.performMediaAction_(e)}else Ar.isEventKey(t,`Back`)&&e.target&&typeof e.target.closeable==`function`&&e.target.closeable()&&(t.preventDefault(),e.target.close())}performMediaAction_(e){if(this.player_)switch(e){case`play`:this.player_.paused()&&this.player_.play();break;case`pause`:this.player_.paused()||this.player_.pause();break;case`ff`:this.userSeek_(this.player_.currentTime()+5);break;case`rw`:this.userSeek_(this.player_.currentTime()-5);break}}userSeek_(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(e)}pause(){this.isPaused_=!0}resume(){this.isPaused_=!1}handlePlayerBlur_(e){let t=e.relatedTarget,n=null,r=this.getCurrentComponent(e.target);t&&(n=!!t.closest(`.video-js`),t.classList.contains(`vjs-text-track-settings`)&&!this.isPaused_&&this.searchForTrackSelect_()),(!e.currentTarget.contains(e.relatedTarget)&&!n||!t)&&(r&&r.name()===`CloseButton`?this.refocusComponent():(this.pause(),r&&r.el()&&(this.lastFocusedComponent_=r)))}handlePlayerFocus_(){this.getCurrentComponent()&&this.getCurrentComponent().getIsFocusable()&&this.resume()}updateFocusableComponents(){let e=this.player_,t=[];function n(e){for(let r of e)r.hasOwnProperty(`el_`)&&r.getIsFocusable()&&r.getIsAvailableToBeFocused(r.el())&&t.push(r),r.hasOwnProperty(`children_`)&&r.children_.length>0&&n(r.children_)}return e.children_.forEach(e=>{if(e.hasOwnProperty(`el_`))if(e.getIsFocusable&&e.getIsAvailableToBeFocused&&e.getIsFocusable()&&e.getIsAvailableToBeFocused(e.el())){t.push(e);return}else e.hasOwnProperty(`children_`)&&e.children_.length>0?n(e.children_):e.hasOwnProperty(`items`)&&e.items.length>0?n(e.items):this.findSuitableDOMChild(e)&&t.push(e);if(e.name_===`ErrorDisplay`&&e.opened_){let n=e.el_.querySelector(`.vjs-errors-ok-button-container`);n&&n.querySelectorAll(`button`).forEach((e,n)=>{t.push({name:()=>`ModalButton`+(n+1),el:()=>e,getPositions:()=>{let t=e.getBoundingClientRect();return{boundingClientRect:{x:t.x,y:t.y,width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left},center:{x:t.left+t.width/2,y:t.top+t.height/2,width:0,height:0,top:t.top+t.height/2,right:t.left+t.width/2,bottom:t.top+t.height/2,left:t.left+t.width/2}}},getIsAvailableToBeFocused:()=>!0,getIsFocusable:e=>!0,focus:()=>e.focus()})})}}),this.focusableComponents=t,this.focusableComponents}findSuitableDOMChild(e){function t(n){if(e.getIsFocusable(n)&&e.getIsAvailableToBeFocused(n))return n;for(let e=0;e<n.children.length;e++){let r=n.children[e],i=t(r);if(i)return i}return null}return e.el()?t(e.el()):null}getCurrentComponent(e){this.updateFocusableComponents();let t=e||document.activeElement;if(this.focusableComponents.length){for(let e of this.focusableComponents)if(e.el()===t)return e}}add(e){let t=[...this.focusableComponents];e.hasOwnProperty(`el_`)&&e.getIsFocusable()&&e.getIsAvailableToBeFocused(e.el())&&t.push(e),this.focusableComponents=t,this.trigger({type:`focusableComponentsChanged`,focusableComponents:this.focusableComponents})}remove(e){for(let t=0;t<this.focusableComponents.length;t++)if(this.focusableComponents[t].name()===e.name()){this.focusableComponents.splice(t,1),this.trigger({type:`focusableComponentsChanged`,focusableComponents:this.focusableComponents});return}}clear(){this.focusableComponents.length>0&&(this.focusableComponents=[],this.trigger({type:`focusableComponentsChanged`,focusableComponents:this.focusableComponents}))}move(e){let t=this.getCurrentComponent();if(!t)return;let n=t.getPositions(),r=this.focusableComponents.filter(r=>r!==t&&this.isInDirection_(n.boundingClientRect,r.getPositions().boundingClientRect,e)),i=this.findBestCandidate_(n.center,r,e);i?this.focus(i):this.trigger({type:`endOfFocusableComponents`,direction:e,focusedComponent:t})}findBestCandidate_(e,t,n){let r=1/0,i=null;for(let a of t){let t=a.getPositions().center,o=this.calculateDistance_(e,t,n);o<r&&(r=o,i=a)}return i}isInDirection_(e,t,n){switch(n){case`right`:return t.left>=e.right;case`left`:return t.right<=e.left;case`down`:return t.top>=e.bottom;case`up`:return t.bottom<=e.top;default:return!1}}refocusComponent(){if(this.lastFocusedComponent_){this.player_.userActive()||this.player_.userActive(!0),this.updateFocusableComponents();for(let e=0;e<this.focusableComponents.length;e++)if(this.focusableComponents[e].name()===this.lastFocusedComponent_.name()){this.focus(this.focusableComponents[e]);return}}else this.focus(this.updateFocusableComponents()[0])}focus(e){typeof e==`object`&&(e.getIsAvailableToBeFocused(e.el())?e.focus():this.findSuitableDOMChild(e)&&this.findSuitableDOMChild(e).focus())}calculateDistance_(e,t,n){let r=Math.abs(e.x-t.x),i=Math.abs(e.y-t.y),a;switch(n){case`right`:case`left`:a=r+i*100;break;case`up`:a=i*2+r*.5;break;case`down`:a=i*5+r;break;default:a=r+i}return a}searchForTrackSelect_(){let e=this;for(let t of e.updateFocusableComponents())if(t.constructor.name===`TextTrackSelect`){e.focus(t);break}}},Mr=class extends K{constructor(e,t,n){let r=L({createEl:!1},t);if(super(e,r,n),!t.playerOptions.sources||t.playerOptions.sources.length===0)for(let n=0,r=t.playerOptions.techOrder;n<r.length;n++){let t=G(r[n]),i=J.getTech(t);if(t||(i=K.getComponent(t)),i&&i.isSupported()){e.loadTech_(t);break}}else e.src(t.playerOptions.sources)}};K.registerComponent(`MediaLoader`,Mr);var Nr=class extends K{constructor(e,t){super(e,t),this.options_.controlText&&this.controlText(this.options_.controlText),this.handleMouseOver_=e=>this.handleMouseOver(e),this.handleMouseOut_=e=>this.handleMouseOut(e),this.handleClick_=e=>this.handleClick(e),this.handleKeyDown_=e=>this.handleKeyDown(e),this.emitTapEvents(),this.enable()}createEl(e=`div`,t={},n={}){t=Object.assign({className:this.buildCSSClass(),tabIndex:0},t),e===`button`&&P.error(`Creating a ClickableComponent with an HTML element of ${e} is not supported; use a Button instead.`),n=Object.assign({role:`button`},n),this.tabIndex_=t.tabIndex;let r=U(e,t,n);return this.player_.options_.experimentalSvgIcons||r.appendChild(U(`span`,{className:`vjs-icon-placeholder`},{"aria-hidden":!0})),this.createControlTextEl(r),r}dispose(){this.controlTextEl_=null,super.dispose()}createControlTextEl(e){return this.controlTextEl_=U(`span`,{className:`vjs-control-text`},{"aria-live":`polite`}),e&&e.appendChild(this.controlTextEl_),this.controlText(this.controlText_,e),this.controlTextEl_}controlText(e,t=this.el()){if(e===void 0)return this.controlText_||`Need Text`;let n=this.localize(e);this.controlText_=e,Qe(this.controlTextEl_,n),!this.nonIconControl&&!this.player_.options_.noUITitleAttributes&&t.setAttribute(`title`,n)}buildCSSClass(){return`vjs-control vjs-button ${super.buildCSSClass()}`}enable(){this.enabled_||(this.enabled_=!0,this.removeClass(`vjs-disabled`),this.el_.setAttribute(`aria-disabled`,`false`),this.tabIndex_!==void 0&&this.el_.setAttribute(`tabIndex`,this.tabIndex_),this.on([`tap`,`click`],this.handleClick_),this.on(`keydown`,this.handleKeyDown_))}disable(){this.enabled_=!1,this.addClass(`vjs-disabled`),this.el_.setAttribute(`aria-disabled`,`true`),this.tabIndex_!==void 0&&this.el_.removeAttribute(`tabIndex`),this.off(`mouseover`,this.handleMouseOver_),this.off(`mouseout`,this.handleMouseOut_),this.off([`tap`,`click`],this.handleClick_),this.off(`keydown`,this.handleKeyDown_)}handleLanguagechange(){this.controlText(this.controlText_)}handleClick(e){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments)}handleKeyDown(e){e.key===` `||e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),this.trigger(`click`)):super.handleKeyDown(e)}};K.registerComponent(`ClickableComponent`,Nr);var Pr=class extends Nr{constructor(e,t){super(e,t),this.update(),this.update_=e=>this.update(e),e.on(`posterchange`,this.update_)}dispose(){this.player().off(`posterchange`,this.update_),super.dispose()}createEl(){return U(`div`,{className:`vjs-poster`})}crossOrigin(e){if(e===void 0)return this.$(`img`)?this.$(`img`).crossOrigin:this.player_.tech_&&this.player_.tech_.isReady_?this.player_.crossOrigin():this.player_.options_.crossOrigin||this.player_.options_.crossorigin||null;if(e!==null&&e!==`anonymous`&&e!==`use-credentials`){this.player_.log.warn(`crossOrigin must be null, "anonymous" or "use-credentials", given "${e}"`);return}this.$(`img`)&&(this.$(`img`).crossOrigin=e)}update(e){let t=this.player().poster();this.setSrc(t),t?this.show():this.hide()}setSrc(e){if(!e){this.el_.textContent=``;return}this.$(`img`)||this.el_.appendChild(U(`picture`,{className:`vjs-poster`,tabIndex:-1},{},U(`img`,{loading:`lazy`,crossOrigin:this.crossOrigin()},{alt:``}))),this.$(`img`).src=e}handleClick(e){this.player_.controls()&&(this.player_.tech(!0)&&this.player_.tech(!0).focus(),this.player_.paused()?Dn(this.player_.play()):this.player_.pause())}};Pr.prototype.crossorigin=Pr.prototype.crossOrigin,K.registerComponent(`PosterImage`,Pr);let Fr=`#222`,Ir=`#ccc`,Lr={monospace:`monospace`,sansSerif:`sans-serif`,serif:`serif`,monospaceSansSerif:`"Andale Mono", "Lucida Console", monospace`,monospaceSerif:`"Courier New", monospace`,proportionalSansSerif:`sans-serif`,proportionalSerif:`serif`,casual:`"Comic Sans MS", Impact, fantasy`,script:`"Monotype Corsiva", cursive`,smallcaps:`"Andale Mono", "Lucida Console", monospace, sans-serif`};function Rr(e,t){let n;if(e.length===4)n=e[1]+e[1]+e[2]+e[2]+e[3]+e[3];else if(e.length===7)n=e.slice(1);else throw Error(`Invalid color code provided, `+e+`; must be formatted as e.g. #f0e or #f604e2.`);return`rgba(`+parseInt(n.slice(0,2),16)+`,`+parseInt(n.slice(2,4),16)+`,`+parseInt(n.slice(4,6),16)+`,`+t+`)`}function zr(e,t,n){try{e.style[t]=n}catch{return}}function Br(e){return e?`${e}px`:``}var Vr=class extends K{constructor(e,t,n){super(e,t,n);let r=e=>this.updateDisplay(e),i=e=>{this.updateDisplayOverlay(),this.updateDisplay(e)};e.on(`loadstart`,e=>this.toggleDisplay(e)),e.on(`useractive`,r),e.on(`userinactive`,r),e.on(`texttrackchange`,r),e.on(`loadedmetadata`,e=>{this.updateDisplayOverlay(),this.preselectTrack(e)}),e.ready(W(this,function(){if(e.tech_&&e.tech_.featuresNativeTextTracks){this.hide();return}e.on(`fullscreenchange`,i),e.on(`playerresize`,i);let t=y.default.screen.orientation||y.default,n=y.default.screen.orientation?`change`:`orientationchange`;t.addEventListener(n,i),e.on(`dispose`,()=>t.removeEventListener(n,i));let r=this.options_.playerOptions.tracks||[];for(let e=0;e<r.length;e++)this.player_.addRemoteTextTrack(r[e],!0);this.preselectTrack()}))}preselectTrack(){let e={captions:1,subtitles:1},t=this.player_.textTracks(),n=this.player_.cache_.selectedLanguage,r,i,a;for(let o=0;o<t.length;o++){let s=t[o];n&&n.enabled&&n.language&&n.language===s.language&&s.kind in e?s.kind===n.kind?a=s:a||=s:n&&!n.enabled?(a=null,r=null,i=null):s.default&&(s.kind===`descriptions`&&!r?r=s:s.kind in e&&!i&&(i=s))}a?a.mode=`showing`:i?i.mode=`showing`:r&&(r.mode=`showing`)}toggleDisplay(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show()}createEl(){return super.createEl(`div`,{className:`vjs-text-track-display`},{translate:`yes`,"aria-live":`off`,"aria-atomic":`true`})}clearDisplay(){typeof y.default.WebVTT==`function`&&y.default.WebVTT.processCues(y.default,[],this.el_)}updateDisplay(){let e=this.player_.textTracks(),t=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),t){let t=[];for(let n=0;n<e.length;++n){let r=e[n];r.mode===`showing`&&t.push(r)}this.updateForTrack(t);return}let n=null,r=null,i=e.length;for(;i--;){let t=e[i];t.mode===`showing`&&(t.kind===`descriptions`?n=t:r=t)}if(r?(this.getAttribute(`aria-live`)!==`off`&&this.setAttribute(`aria-live`,`off`),this.updateForTrack(r)):n&&(this.getAttribute(`aria-live`)!==`assertive`&&this.setAttribute(`aria-live`,`assertive`),this.updateForTrack(n)),!(y.default.CSS!==void 0&&y.default.CSS.supports(`inset`,`10px`))){let e=this.el_,t=e.querySelectorAll(`.vjs-text-track-cue`),n=this.player_.controlBar.el_.getBoundingClientRect().height,r=this.player_.el_.getBoundingClientRect().height;e.style=``,zr(e,`position`,`relative`),zr(e,`height`,r-n+`px`),zr(e,`top`,`unset`),Ve?zr(e,`bottom`,r+`px`):zr(e,`bottom`,`0px`),t.length>0&&t.forEach(e=>{if(e.style.inset){let t=e.style.inset.split(` `);t.length===3&&Object.assign(e.style,{top:t[0],right:t[1],bottom:t[2],left:`unset`})}})}}updateDisplayOverlay(){if(!this.player_.videoHeight()||!(y.default.CSS!==void 0&&y.default.CSS.supports(`inset-inline: 10px`)))return;let e=this.player_.currentWidth(),t=this.player_.currentHeight(),n=e/t,r=this.player_.videoWidth()/this.player_.videoHeight(),i=0,a=0;Math.abs(n-r)>.1&&(n>r?i=Math.round((e-t*r)/2):a=Math.round((t-e/r)/2)),zr(this.el_,`insetInline`,Br(i)),zr(this.el_,`insetBlock`,Br(a))}updateDisplayState(e){let t=this.player_.textTrackSettings.getValues(),n=e.activeCues,r=n.length;for(;r--;){let e=n[r];if(!e)continue;let i=e.displayState;if(t.color&&(i.firstChild.style.color=t.color),t.textOpacity&&zr(i.firstChild,`color`,Rr(t.color||`#fff`,t.textOpacity)),t.backgroundColor&&(i.firstChild.style.backgroundColor=t.backgroundColor),t.backgroundOpacity&&zr(i.firstChild,`backgroundColor`,Rr(t.backgroundColor||`#000`,t.backgroundOpacity)),t.windowColor&&(t.windowOpacity?zr(i,`backgroundColor`,Rr(t.windowColor,t.windowOpacity)):i.style.backgroundColor=t.windowColor),t.edgeStyle&&(t.edgeStyle===`dropshadow`?i.firstChild.style.textShadow=`2px 2px 3px ${Fr}, 2px 2px 4px ${Fr}, 2px 2px 5px ${Fr}`:t.edgeStyle===`raised`?i.firstChild.style.textShadow=`1px 1px ${Fr}, 2px 2px ${Fr}, 3px 3px ${Fr}`:t.edgeStyle===`depressed`?i.firstChild.style.textShadow=`1px 1px ${Ir}, 0 1px ${Ir}, -1px -1px ${Fr}, 0 -1px ${Fr}`:t.edgeStyle===`uniform`&&(i.firstChild.style.textShadow=`0 0 4px ${Fr}, 0 0 4px ${Fr}, 0 0 4px ${Fr}, 0 0 4px ${Fr}`)),t.fontPercent&&t.fontPercent!==1){let e=y.default.parseFloat(i.style.fontSize);i.style.fontSize=e*t.fontPercent+`px`,i.style.height=`auto`,i.style.top=`auto`}t.fontFamily&&t.fontFamily!=="default"&&(t.fontFamily===`small-caps`?i.firstChild.style.fontVariant=`small-caps`:i.firstChild.style.fontFamily=Lr[t.fontFamily])}}updateForTrack(e){if(Array.isArray(e)||(e=[e]),typeof y.default.WebVTT!=`function`||e.every(e=>!e.activeCues))return;let t=[];for(let n=0;n<e.length;++n){let r=e[n];for(let e=0;e<r.activeCues.length;++e)t.push(r.activeCues[e])}y.default.WebVTT.processCues(y.default,t,this.el_);for(let t=0;t<e.length;++t){let n=e[t];for(let e=0;e<n.activeCues.length;++e){let r=n.activeCues[e].displayState;tt(r,`vjs-text-track-cue`,`vjs-text-track-cue-`+(n.language?n.language:t)),n.language&&st(r,`lang`,n.language)}this.player_.textTrackSettings&&this.updateDisplayState(n)}}};K.registerComponent(`TextTrackDisplay`,Vr);var Hr=class extends K{createEl(){let e=this.player_.isAudio(),t=this.localize(e?`Audio Player`:`Video Player`),n=U(`span`,{className:`vjs-control-text`,textContent:this.localize(`{1} is loading.`,[t])}),r=super.createEl(`div`,{className:`vjs-loading-spinner`,dir:`ltr`});return r.appendChild(n),r}handleLanguagechange(){this.$(`.vjs-control-text`).textContent=this.localize(`{1} is loading.`,[this.player_.isAudio()?`Audio Player`:`Video Player`])}};K.registerComponent(`LoadingSpinner`,Hr);var Y=class extends Nr{createEl(e,t={},n={}){e=`button`,t=Object.assign({className:this.buildCSSClass()},t),n=Object.assign({type:`button`},n);let r=U(e,t,n);return this.player_.options_.experimentalSvgIcons||r.appendChild(U(`span`,{className:`vjs-icon-placeholder`},{"aria-hidden":!0})),this.createControlTextEl(r),r}addChild(e,t={}){let n=this.constructor.name;return P.warn(`Adding an actionable (user controllable) child to a Button (${n}) is not supported; use a ClickableComponent instead.`),K.prototype.addChild.call(this,e,t)}enable(){super.enable(),this.el_.removeAttribute(`disabled`)}disable(){super.disable(),this.el_.setAttribute(`disabled`,`disabled`)}handleKeyDown(e){if(e.key===` `||e.key===`Enter`){e.stopPropagation();return}super.handleKeyDown(e)}};K.registerComponent(`Button`,Y);var Ur=class extends Y{constructor(e,t){super(e,t),this.mouseused_=!1,this.setIcon(`play`),this.on(`mousedown`,e=>this.handleMouseDown(e))}buildCSSClass(){return`vjs-big-play-button`}handleClick(e){let t=this.player_.play();if(e.type===`tap`||this.mouseused_&&`clientX`in e&&`clientY`in e){Dn(t),this.player_.tech(!0)&&this.player_.tech(!0).focus();return}let n=this.player_.getChild(`controlBar`),r=n&&n.getChild(`playToggle`);if(!r){this.player_.tech(!0).focus();return}let i=()=>r.focus();En(t)?t.then(i,()=>{}):this.setTimeout(i,1)}handleKeyDown(e){this.mouseused_=!1,super.handleKeyDown(e)}handleMouseDown(e){this.mouseused_=!0}};Ur.prototype.controlText_=`Play Video`,K.registerComponent(`BigPlayButton`,Ur);var Wr=class extends Y{constructor(e,t){super(e,t),this.setIcon(`cancel`),this.controlText(t&&t.controlText||this.localize(`Close`))}buildCSSClass(){return`vjs-close-button ${super.buildCSSClass()}`}handleClick(e){this.trigger({type:`close`,bubbles:!1})}handleKeyDown(e){e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),this.trigger(`click`)):super.handleKeyDown(e)}};K.registerComponent(`CloseButton`,Wr);var Gr=class extends Y{constructor(e,t={}){super(e,t),t.replay=t.replay===void 0||t.replay,this.setIcon(`play`),this.on(e,`play`,e=>this.handlePlay(e)),this.on(e,`pause`,e=>this.handlePause(e)),t.replay&&this.on(e,`ended`,e=>this.handleEnded(e))}buildCSSClass(){return`vjs-play-control ${super.buildCSSClass()}`}handleClick(e){this.player_.paused()?Dn(this.player_.play()):this.player_.pause()}handleSeeked(e){this.removeClass(`vjs-ended`),this.player_.paused()?this.handlePause(e):this.handlePlay(e)}handlePlay(e){this.removeClass(`vjs-ended`,`vjs-paused`),this.addClass(`vjs-playing`),this.setIcon(`pause`),this.controlText(`Pause`)}handlePause(e){this.removeClass(`vjs-playing`),this.addClass(`vjs-paused`),this.setIcon(`play`),this.controlText(`Play`)}handleEnded(e){this.removeClass(`vjs-playing`),this.addClass(`vjs-ended`),this.setIcon(`replay`),this.controlText(`Replay`),this.one(this.player_,`seeked`,e=>this.handleSeeked(e))}};Gr.prototype.controlText_=`Play`,K.registerComponent(`PlayToggle`,Gr);var Kr=class extends K{constructor(e,t){super(e,t),this.on(e,[`timeupdate`,`ended`,`seeking`],e=>this.update(e)),this.updateTextNode_()}createEl(){let e=this.buildCSSClass(),t=super.createEl(`div`,{className:`${e} vjs-time-control vjs-control`}),n=U(`span`,{className:`vjs-control-text`,textContent:`${this.localize(this.labelText_)}\u00a0`},{role:`presentation`});return t.appendChild(n),this.contentEl_=U(`span`,{className:`${e}-display`},{role:`presentation`}),t.appendChild(this.contentEl_),t}dispose(){this.contentEl_=null,this.textNode_=null,super.dispose()}update(e){!this.player_.options_.enableSmoothSeeking&&e.type===`seeking`||this.updateContent(e)}updateTextNode_(e=0){e=Cn(e),this.formattedTime_!==e&&(this.formattedTime_=e,this.requestNamedAnimationFrame(`TimeDisplay#updateTextNode_`,()=>{if(!this.contentEl_)return;let e=this.textNode_;e&&this.contentEl_.firstChild!==e&&(e=null,P.warn(`TimeDisplay#updateTextnode_: Prevented replacement of text node element since it was no longer a child of this node. Appending a new node instead.`)),this.textNode_=b.default.createTextNode(this.formattedTime_),this.textNode_&&(e?this.contentEl_.replaceChild(this.textNode_,e):this.contentEl_.appendChild(this.textNode_))}))}updateContent(e){}};Kr.prototype.labelText_=`Time`,Kr.prototype.controlText_=`Time`,K.registerComponent(`TimeDisplay`,Kr);var qr=class extends Kr{buildCSSClass(){return`vjs-current-time`}updateContent(e){let t;t=this.player_.ended()?this.player_.duration():e&&e.target&&typeof e.target.pendingSeekTime==`function`&&e.target.pendingSeekTime()!==null?e.target.pendingSeekTime():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(t)}};qr.prototype.labelText_=`Current Time`,qr.prototype.controlText_=`Current Time`,K.registerComponent(`CurrentTimeDisplay`,qr);var Jr=class extends Kr{constructor(e,t){super(e,t);let n=e=>this.updateContent(e);this.on(e,`durationchange`,n),this.on(e,`loadstart`,n),this.on(e,`loadedmetadata`,n)}buildCSSClass(){return`vjs-duration`}updateContent(e){let t=this.player_.duration();this.updateTextNode_(t)}};Jr.prototype.labelText_=`Duration`,Jr.prototype.controlText_=`Duration`,K.registerComponent(`DurationDisplay`,Jr);var Yr=class extends K{createEl(){let e=super.createEl(`div`,{className:`vjs-time-control vjs-time-divider`},{"aria-hidden":!0}),t=super.createEl(`div`),n=super.createEl(`span`,{textContent:`/`});return t.appendChild(n),e.appendChild(t),e}};K.registerComponent(`TimeDivider`,Yr);var Xr=class extends Kr{constructor(e,t){super(e,t),this.on(e,`durationchange`,e=>this.updateContent(e))}buildCSSClass(){return`vjs-remaining-time`}createEl(){let e=super.createEl();return this.options_.displayNegative!==!1&&e.insertBefore(U(`span`,{},{"aria-hidden":!0},`-`),this.contentEl_),e}updateContent(e){if(typeof this.player_.duration()!=`number`)return;let t;t=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(t)}};Xr.prototype.labelText_=`Remaining Time`,Xr.prototype.controlText_=`Remaining Time`,K.registerComponent(`RemainingTimeDisplay`,Xr);var Zr=class extends K{constructor(e,t){super(e,t),this.updateShowing(),this.on(this.player(),`durationchange`,e=>this.updateShowing(e))}createEl(){let e=super.createEl(`div`,{className:`vjs-live-control vjs-control`});return this.contentEl_=U(`div`,{className:`vjs-live-display`},{"aria-live":`off`}),this.contentEl_.appendChild(U(`span`,{className:`vjs-control-text`,textContent:`${this.localize(`Stream Type`)}\u00a0`})),this.contentEl_.appendChild(b.default.createTextNode(this.localize(`LIVE`))),e.appendChild(this.contentEl_),e}dispose(){this.contentEl_=null,super.dispose()}updateShowing(e){this.player().duration()===1/0?this.show():this.hide()}};K.registerComponent(`LiveDisplay`,Zr);var Qr=class extends Y{constructor(e,t){super(e,t),this.updateLiveEdgeStatus(),this.player_.liveTracker&&(this.updateLiveEdgeStatusHandler_=e=>this.updateLiveEdgeStatus(e),this.on(this.player_.liveTracker,`liveedgechange`,this.updateLiveEdgeStatusHandler_))}createEl(){let e=super.createEl(`button`,{className:`vjs-seek-to-live-control vjs-control`});return this.setIcon(`circle`,e),this.textEl_=U(`span`,{className:`vjs-seek-to-live-text`,textContent:this.localize(`LIVE`)},{"aria-hidden":`true`}),e.appendChild(this.textEl_),e}updateLiveEdgeStatus(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute(`aria-disabled`,!0),this.addClass(`vjs-at-live-edge`),this.controlText(`Seek to live, currently playing live`)):(this.setAttribute(`aria-disabled`,!1),this.removeClass(`vjs-at-live-edge`),this.controlText(`Seek to live, currently behind live`))}handleClick(){this.player_.liveTracker.seekToLiveEdge()}dispose(){this.player_.liveTracker&&this.off(this.player_.liveTracker,`liveedgechange`,this.updateLiveEdgeStatusHandler_),this.textEl_=null,super.dispose()}};Qr.prototype.controlText_=`Seek to live, currently playing live`,K.registerComponent(`SeekToLive`,Qr);function $r(e,t,n){return e=Number(e),Math.min(n,Math.max(t,isNaN(e)?t:e))}var ei=Object.freeze({__proto__:null,clamp:$r}),ti=class extends K{constructor(e,t){super(e,t),this.handleMouseDown_=e=>this.handleMouseDown(e),this.handleMouseUp_=e=>this.handleMouseUp(e),this.handleKeyDown_=e=>this.handleKeyDown(e),this.handleClick_=e=>this.handleClick(e),this.handleMouseMove_=e=>this.handleMouseMove(e),this.update_=e=>this.update(e),this.bar=this.getChild(this.options_.barName),this.vertical(!!this.options_.vertical),this.enable()}enabled(){return this.enabled_}enable(){this.enabled()||(this.on(`mousedown`,this.handleMouseDown_),this.on(`touchstart`,this.handleMouseDown_),this.on(`keydown`,this.handleKeyDown_),this.on(`click`,this.handleClick_),this.on(this.player_,`controlsvisible`,this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass(`disabled`),this.setAttribute(`tabindex`,0),this.enabled_=!0)}disable(){if(!this.enabled())return;let e=this.bar.el_.ownerDocument;this.off(`mousedown`,this.handleMouseDown_),this.off(`touchstart`,this.handleMouseDown_),this.off(`keydown`,this.handleKeyDown_),this.off(`click`,this.handleClick_),this.off(this.player_,`controlsvisible`,this.update_),this.off(e,`mousemove`,this.handleMouseMove_),this.off(e,`mouseup`,this.handleMouseUp_),this.off(e,`touchmove`,this.handleMouseMove_),this.off(e,`touchend`,this.handleMouseUp_),this.removeAttribute(`tabindex`),this.addClass(`disabled`),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}createEl(e,t={},n={}){return t.className+=` vjs-slider`,t=Object.assign({tabIndex:0},t),n=Object.assign({role:`slider`,"aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100},n),super.createEl(e,t,n)}handleMouseDown(e){let t=this.bar.el_.ownerDocument;e.type===`mousedown`&&e.preventDefault(),e.type===`touchstart`&&!z&&e.preventDefault(),lt(),this.addClass(`vjs-sliding`),this.trigger(`slideractive`),this.on(t,`mousemove`,this.handleMouseMove_),this.on(t,`mouseup`,this.handleMouseUp_),this.on(t,`touchmove`,this.handleMouseMove_),this.on(t,`touchend`,this.handleMouseUp_),this.handleMouseMove(e,!0)}handleMouseMove(e){}handleMouseUp(e){let t=this.bar.el_.ownerDocument;ut(),this.removeClass(`vjs-sliding`),this.trigger(`sliderinactive`),this.off(t,`mousemove`,this.handleMouseMove_),this.off(t,`mouseup`,this.handleMouseUp_),this.off(t,`touchmove`,this.handleMouseMove_),this.off(t,`touchend`,this.handleMouseUp_),this.update()}update(){if(!this.el_||!this.bar)return;let e=this.getProgress();return e===this.progress_?e:(this.progress_=e,this.requestNamedAnimationFrame(`Slider#update`,()=>{let t=this.vertical()?`height`:`width`;this.bar.el().style[t]=(e*100).toFixed(2)+`%`}),e)}getProgress(){return Number($r(this.getPercent(),0,1).toFixed(4))}calculateDistance(e){let t=pt(this.el_,e);return this.vertical()?t.y:t.x}handleKeyDown(e){let t=this.options_.playerOptions.spatialNavigation,n=t&&t.enabled,r=t&&t.horizontalSeek;n?r&&e.key===`ArrowLeft`||!r&&e.key===`ArrowDown`?(e.preventDefault(),e.stopPropagation(),this.stepBack()):r&&e.key===`ArrowRight`||!r&&e.key===`ArrowUp`?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(this.pendingSeekTime()&&(this.pendingSeekTime(null),this.userSeek_(this.player_.currentTime())),super.handleKeyDown(e)):e.key===`ArrowLeft`||e.key===`ArrowDown`?(e.preventDefault(),e.stopPropagation(),this.stepBack()):e.key===`ArrowUp`||e.key===`ArrowRight`?(e.preventDefault(),e.stopPropagation(),this.stepForward()):super.handleKeyDown(e)}handleClick(e){e.stopPropagation(),e.preventDefault()}vertical(e){if(e===void 0)return this.vertical_||!1;this.vertical_=!!e,this.vertical_?this.addClass(`vjs-slider-vertical`):this.addClass(`vjs-slider-horizontal`)}};K.registerComponent(`Slider`,ti);let ni=(e,t)=>$r(e/t*100,0,100).toFixed(2)+`%`;var ri=class extends K{constructor(e,t){super(e,t),this.partEls_=[],this.on(e,`progress`,e=>this.update(e))}createEl(){let e=super.createEl(`div`,{className:`vjs-load-progress`}),t=U(`span`,{className:`vjs-control-text`}),n=U(`span`,{textContent:this.localize(`Loaded`)}),r=b.default.createTextNode(`: `);return this.percentageEl_=U(`span`,{className:`vjs-control-text-loaded-percentage`,textContent:`0%`}),e.appendChild(t),t.appendChild(n),t.appendChild(r),t.appendChild(this.percentageEl_),e}dispose(){this.partEls_=null,this.percentageEl_=null,super.dispose()}update(e){this.requestNamedAnimationFrame(`LoadProgressBar#update`,()=>{let e=this.player_.liveTracker,t=this.player_.buffered(),n=e&&e.isLive()?e.seekableEnd():this.player_.duration(),r=this.player_.bufferedEnd(),i=this.partEls_,a=ni(r,n);this.percent_!==a&&(this.el_.style.width=a,Qe(this.percentageEl_,a),this.percent_=a);for(let e=0;e<t.length;e++){let n=t.start(e),a=t.end(e),o=i[e];o||(o=this.el_.appendChild(U()),i[e]=o),!(o.dataset.start===n&&o.dataset.end===a)&&(o.dataset.start=n,o.dataset.end=a,o.style.left=ni(n,r),o.style.width=ni(a-n,r))}for(let e=i.length;e>t.length;e--)this.el_.removeChild(i[e-1]);i.length=t.length})}};K.registerComponent(`LoadProgressBar`,ri);var ii=class extends K{constructor(e,t){super(e,t),this.update=qt(W(this,this.update),30)}createEl(){return super.createEl(`div`,{className:`vjs-time-tooltip`},{"aria-hidden":`true`})}update(e,t,n){let r=ft(this.el_),i=dt(this.player_.el()),a=e.width*t;if(!i||!r)return;let o=e.left-i.left+a,s=e.width-a+(i.right-e.right);s||(s=e.width-a,o=a);let c=r.width/2;o<c?c+=c-o:s<c&&(c=s),c<0?c=0:c>r.width&&(c=r.width),c=Math.round(c),this.el_.style.right=`-${c}px`,this.write(n)}write(e){Qe(this.el_,e)}updateTime(e,t,n,r){this.requestNamedAnimationFrame(`TimeTooltip#updateTime`,()=>{let i,a=this.player_.duration();if(this.player_.liveTracker&&this.player_.liveTracker.isLive()){let e=this.player_.liveTracker.liveWindow(),n=e-t*e;i=(n<1?``:`-`)+Cn(n,e)}else i=Cn(n,a);this.update(e,t,i),r&&r()})}};K.registerComponent(`TimeTooltip`,ii);var ai=class extends K{constructor(e,t){super(e,t),this.setIcon(`circle`),this.update=qt(W(this,this.update),30)}createEl(){return super.createEl(`div`,{className:`vjs-play-progress vjs-slider-bar`},{"aria-hidden":`true`})}update(e,t,n){let r=this.getChild(`timeTooltip`);if(!r)return;let i=n&&n.target&&typeof n.target.pendingSeekTime==`function`?n.target.pendingSeekTime():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();r.updateTime(e,t,i)}};ai.prototype.options_={children:[]},!Ue&&!R&&ai.prototype.options_.children.push(`timeTooltip`),K.registerComponent(`PlayProgressBar`,ai);var oi=class extends K{constructor(e,t){super(e,t),this.update=qt(W(this,this.update),30)}createEl(){return super.createEl(`div`,{className:`vjs-mouse-display`})}update(e,t){let n=t*this.player_.duration();this.getChild(`timeTooltip`).updateTime(e,t,n,()=>{this.el_.style.left=`${e.width*t}px`})}};oi.prototype.options_={children:[`timeTooltip`]},K.registerComponent(`MouseTimeDisplay`,oi);var si=class e extends ti{constructor(t,n){n=L(e.prototype.options_,n),n.children=[...n.children];let r=t.options_.disableSeekWhileScrubbingOnMobile&&(Ue||R)||t.options_.disableSeekWhileScrubbingOnSTV;(!Ue&&!R||r)&&n.children.splice(1,0,`mouseTimeDisplay`),super(t,n),this.shouldDisableSeekWhileScrubbing_=r,this.pendingSeekTime_=null,this.setEventHandlers_()}setEventHandlers_(){this.update_=W(this,this.update),this.update=qt(this.update_,30),this.on(this.player_,[`durationchange`,`timeupdate`],this.update),this.on(this.player_,[`ended`],this.update_),this.player_.liveTracker&&this.on(this.player_.liveTracker,`liveedgechange`,this.update),this.updateInterval=null,this.enableIntervalHandler_=e=>this.enableInterval_(e),this.disableIntervalHandler_=e=>this.disableInterval_(e),this.on(this.player_,[`playing`],this.enableIntervalHandler_),this.on(this.player_,[`ended`,`pause`,`waiting`],this.disableIntervalHandler_),`hidden`in b.default&&`visibilityState`in b.default&&this.on(b.default,`visibilitychange`,this.toggleVisibility_)}toggleVisibility_(e){b.default.visibilityState===`hidden`?(this.cancelNamedAnimationFrame(`SeekBar#update`),this.cancelNamedAnimationFrame(`Slider#update`),this.disableInterval_(e)):(!this.player_.ended()&&!this.player_.paused()&&this.enableInterval_(),this.update())}enableInterval_(){this.updateInterval||=this.setInterval(this.update,30)}disableInterval_(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&e&&e.type!==`ended`||(this.updateInterval&&=(this.clearInterval(this.updateInterval),null))}createEl(){return super.createEl(`div`,{className:`vjs-progress-holder`},{"aria-label":this.localize(`Progress Bar`)})}update(e){if(b.default.visibilityState===`hidden`)return;let t=super.update();return this.requestNamedAnimationFrame(`SeekBar#update`,()=>{let n=this.player_.ended()?this.player_.duration():this.getCurrentTime_(),r=this.player_.liveTracker,i=this.player_.duration();r&&r.isLive()&&(i=this.player_.liveTracker.liveCurrentTime()),this.percent_!==t&&(this.el_.setAttribute(`aria-valuenow`,(t*100).toFixed(2)),this.percent_=t),(this.currentTime_!==n||this.duration_!==i)&&(this.el_.setAttribute(`aria-valuetext`,this.localize(`progress bar timing: currentTime={1} duration={2}`,[Cn(n,i),Cn(i,i)],`{1} of {2}`)),this.currentTime_=n,this.duration_=i),this.bar&&this.bar.update(dt(this.el()),this.getProgress(),e)}),t}userSeek_(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(e)}getCurrentTime_(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()}pendingSeekTime(e){if(e!==void 0)if(e!==null){let t=this.player_.duration();this.pendingSeekTime_=Math.max(0,Math.min(e,t))}else this.pendingSeekTime_=null;return this.pendingSeekTime_}getPercent(){if(this.pendingSeekTime()!==null)return this.pendingSeekTime()/this.player_.duration();let e=this.getCurrentTime_(),t,n=this.player_.liveTracker;return n&&n.isLive()?(t=(e-n.seekableStart())/n.liveWindow(),n.atLiveEdge()&&(t=1)):t=e/this.player_.duration(),t}handleMouseDown(e){yt(e)&&(e.stopPropagation(),this.videoWasPlaying=!this.player_.paused(),this.shouldDisableSeekWhileScrubbing_||this.player_.pause(),super.handleMouseDown(e))}handleMouseMove(e,t=!1){if(!yt(e)||isNaN(this.player_.duration()))return;!t&&!this.player_.scrubbing()&&this.player_.scrubbing(!0);let n,r=this.calculateDistance(e),i=this.player_.liveTracker;if(!i||!i.isLive())n=r*this.player_.duration(),n===this.player_.duration()&&(n-=.1);else{if(r>=.99){i.seekToLiveEdge();return}let e=i.seekableStart(),t=i.liveCurrentTime();if(n=e+r*i.liveWindow(),n>=t&&(n=t),n<=e&&(n=e+.1),n===1/0)return}this.shouldDisableSeekWhileScrubbing_?this.pendingSeekTime(n):this.userSeek_(n),this.player_.options_.enableSmoothSeeking&&this.update()}enable(){super.enable();let e=this.getChild(`mouseTimeDisplay`);e&&e.show()}disable(){super.disable();let e=this.getChild(`mouseTimeDisplay`);e&&e.hide()}handleMouseUp(e){super.handleMouseUp(e),e&&e.stopPropagation(),this.player_.scrubbing(!1),this.pendingSeekTime()!==null&&(this.userSeek_(this.pendingSeekTime()),this.pendingSeekTime(null)),this.player_.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0}),this.videoWasPlaying?Dn(this.player_.play()):this.update_()}handlePendingSeek_(e){this.player_.paused()||this.player_.pause();let t=this.pendingSeekTime()===null?this.player_.currentTime():this.pendingSeekTime();this.pendingSeekTime(t+e),this.player_.trigger({type:`timeupdate`,target:this,manuallyTriggered:!0})}stepForward(){this.shouldDisableSeekWhileScrubbing_?this.handlePendingSeek_(this.options().stepSeconds):this.userSeek_(this.player_.currentTime()+this.options().stepSeconds)}stepBack(){this.shouldDisableSeekWhileScrubbing_?this.handlePendingSeek_(-this.options().stepSeconds):this.userSeek_(this.player_.currentTime()-this.options().stepSeconds)}handleAction(e){this.pendingSeekTime()!==null&&(this.userSeek_(this.pendingSeekTime()),this.pendingSeekTime(null)),this.player_.paused()?this.player_.play():this.player_.pause()}handleKeyDown(e){let t=this.player_.liveTracker;if(e.key===` `||e.key===`Enter`)e.preventDefault(),e.stopPropagation(),this.handleAction(e);else if(e.key===`Home`)e.preventDefault(),e.stopPropagation(),this.userSeek_(0);else if(e.key===`End`)e.preventDefault(),e.stopPropagation(),t&&t.isLive()?this.userSeek_(t.liveCurrentTime()):this.userSeek_(this.player_.duration());else if(/^[0-9]$/.test(e.key)){e.preventDefault(),e.stopPropagation();let n=parseInt(e.key,10)*.1;t&&t.isLive()?this.userSeek_(t.seekableStart()+t.liveWindow()*n):this.userSeek_(this.player_.duration()*n)}else e.key===`PageDown`?(e.preventDefault(),e.stopPropagation(),this.userSeek_(this.player_.currentTime()-this.options().stepSeconds*this.options().pageMultiplier)):e.key===`PageUp`?(e.preventDefault(),e.stopPropagation(),this.userSeek_(this.player_.currentTime()+this.options().stepSeconds*this.options().pageMultiplier)):super.handleKeyDown(e)}dispose(){this.disableInterval_(),this.off(this.player_,[`durationchange`,`timeupdate`],this.update),this.off(this.player_,[`ended`],this.update_),this.player_.liveTracker&&this.off(this.player_.liveTracker,`liveedgechange`,this.update),this.off(this.player_,[`playing`],this.enableIntervalHandler_),this.off(this.player_,[`ended`,`pause`,`waiting`],this.disableIntervalHandler_),`hidden`in b.default&&`visibilityState`in b.default&&this.off(b.default,`visibilitychange`,this.toggleVisibility_),super.dispose()}};si.prototype.options_={children:[`loadProgressBar`,`playProgressBar`],barName:`playProgressBar`,stepSeconds:5,pageMultiplier:12},K.registerComponent(`SeekBar`,si);var ci=class extends K{constructor(e,t){super(e,t),this.handleMouseMove=qt(W(this,this.handleMouseMove),30),this.throttledHandleMouseSeek=qt(W(this,this.handleMouseSeek),30),this.handleMouseUpHandler_=e=>this.handleMouseUp(e),this.handleMouseDownHandler_=e=>this.handleMouseDown(e),this.enable()}createEl(){return super.createEl(`div`,{className:`vjs-progress-control vjs-control`})}handleMouseMove(e){let t=this.getChild(`seekBar`);if(!t)return;let n=t.getChild(`playProgressBar`),r=t.getChild(`mouseTimeDisplay`);if(!n&&!r)return;let i=t.el(),a=ft(i),o=pt(i,e).x;o=$r(o,0,1),r&&r.update(a,o),n&&n.update(a,t.getProgress())}handleMouseSeek(e){let t=this.getChild(`seekBar`);t&&t.handleMouseMove(e)}enabled(){return this.enabled_}disable(){if(this.children().forEach(e=>e.disable&&e.disable()),this.enabled()&&(this.off([`mousedown`,`touchstart`],this.handleMouseDownHandler_),this.off(this.el_,[`mousemove`,`touchmove`],this.handleMouseMove),this.removeListenersAddedOnMousedownAndTouchstart(),this.addClass(`disabled`),this.enabled_=!1,this.player_.scrubbing())){let e=this.getChild(`seekBar`);this.player_.scrubbing(!1),e.videoWasPlaying&&Dn(this.player_.play())}}enable(){this.children().forEach(e=>e.enable&&e.enable()),!this.enabled()&&(this.on([`mousedown`,`touchstart`],this.handleMouseDownHandler_),this.on(this.el_,[`mousemove`,`touchmove`],this.handleMouseMove),this.removeClass(`disabled`),this.enabled_=!0)}removeListenersAddedOnMousedownAndTouchstart(){let e=this.el_.ownerDocument;this.off(e,`mousemove`,this.throttledHandleMouseSeek),this.off(e,`touchmove`,this.throttledHandleMouseSeek),this.off(e,`mouseup`,this.handleMouseUpHandler_),this.off(e,`touchend`,this.handleMouseUpHandler_)}handleMouseDown(e){let t=this.el_.ownerDocument,n=this.getChild(`seekBar`);n&&n.handleMouseDown(e),this.on(t,`mousemove`,this.throttledHandleMouseSeek),this.on(t,`touchmove`,this.throttledHandleMouseSeek),this.on(t,`mouseup`,this.handleMouseUpHandler_),this.on(t,`touchend`,this.handleMouseUpHandler_)}handleMouseUp(e){let t=this.getChild(`seekBar`);t&&t.handleMouseUp(e),this.removeListenersAddedOnMousedownAndTouchstart()}};ci.prototype.options_={children:[`seekBar`]},K.registerComponent(`ProgressControl`,ci);var li=class extends Y{constructor(e,t){super(e,t),this.setIcon(`picture-in-picture-enter`),this.on(e,[`enterpictureinpicture`,`leavepictureinpicture`],e=>this.handlePictureInPictureChange(e)),this.on(e,[`disablepictureinpicturechanged`,`loadedmetadata`],e=>this.handlePictureInPictureEnabledChange(e)),this.on(e,[`loadedmetadata`,`audioonlymodechange`,`audiopostermodechange`],()=>this.handlePictureInPictureAudioModeChange()),this.disable()}buildCSSClass(){return`vjs-picture-in-picture-control vjs-hidden ${super.buildCSSClass()}`}handlePictureInPictureAudioModeChange(){if(!(this.player_.currentType().substring(0,5)===`audio`||this.player_.audioPosterMode()||this.player_.audioOnlyMode())){this.show();return}this.player_.isInPictureInPicture()&&this.player_.exitPictureInPicture(),this.hide()}handlePictureInPictureEnabledChange(){b.default.pictureInPictureEnabled&&this.player_.disablePictureInPicture()===!1||this.player_.options_.enableDocumentPictureInPicture&&`documentPictureInPicture`in y.default?this.enable():this.disable()}handlePictureInPictureChange(e){this.player_.isInPictureInPicture()?(this.setIcon(`picture-in-picture-exit`),this.controlText(`Exit Picture-in-Picture`)):(this.setIcon(`picture-in-picture-enter`),this.controlText(`Picture-in-Picture`)),this.handlePictureInPictureEnabledChange()}handleClick(e){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()}show(){typeof b.default.exitPictureInPicture==`function`&&super.show()}};li.prototype.controlText_=`Picture-in-Picture`,K.registerComponent(`PictureInPictureToggle`,li);var ui=class extends Y{constructor(e,t){super(e,t),this.setIcon(`fullscreen-enter`),this.on(e,`fullscreenchange`,e=>this.handleFullscreenChange(e)),b.default[e.fsApi_.fullscreenEnabled]===!1&&this.disable()}buildCSSClass(){return`vjs-fullscreen-control ${super.buildCSSClass()}`}handleFullscreenChange(e){this.player_.isFullscreen()?(this.controlText(`Exit Fullscreen`),this.setIcon(`fullscreen-exit`)):(this.controlText(`Fullscreen`),this.setIcon(`fullscreen-enter`))}handleClick(e){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()}};ui.prototype.controlText_=`Fullscreen`,K.registerComponent(`FullscreenToggle`,ui);let di=function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass(`vjs-hidden`),e.on(t,`loadstart`,function(){t.tech_.featuresVolumeControl?e.removeClass(`vjs-hidden`):e.addClass(`vjs-hidden`)})};var fi=class extends K{createEl(){let e=super.createEl(`div`,{className:`vjs-volume-level`});return this.setIcon(`circle`,e),e.appendChild(super.createEl(`span`,{className:`vjs-control-text`})),e}};K.registerComponent(`VolumeLevel`,fi);var pi=class extends K{constructor(e,t){super(e,t),this.update=qt(W(this,this.update),30)}createEl(){return super.createEl(`div`,{className:`vjs-volume-tooltip`},{"aria-hidden":`true`})}update(e,t,n,r){if(!n){let n=dt(this.el_),r=dt(this.player_.el()),i=e.width*t;if(!r||!n)return;let a=e.left-r.left+i,o=e.width-i+(r.right-e.right),s=n.width/2;a<s?s+=s-a:o<s&&(s=o),s<0?s=0:s>n.width&&(s=n.width),this.el_.style.right=`-${s}px`}this.write(`${r}%`)}write(e){Qe(this.el_,e)}updateVolume(e,t,n,r,i){this.requestNamedAnimationFrame(`VolumeLevelTooltip#updateVolume`,()=>{this.update(e,t,n,r.toFixed(0)),i&&i()})}};K.registerComponent(`VolumeLevelTooltip`,pi);var mi=class extends K{constructor(e,t){super(e,t),this.update=qt(W(this,this.update),30)}createEl(){return super.createEl(`div`,{className:`vjs-mouse-display`})}update(e,t,n){let r=100*t;this.getChild(`volumeLevelTooltip`).updateVolume(e,t,n,r,()=>{n?this.el_.style.bottom=`${e.height*t}px`:this.el_.style.left=`${e.width*t}px`})}};mi.prototype.options_={children:[`volumeLevelTooltip`]},K.registerComponent(`MouseVolumeLevelDisplay`,mi);var hi=class extends ti{constructor(e,t){super(e,t),this.on(`slideractive`,e=>this.updateLastVolume_(e)),this.on(e,`volumechange`,e=>this.updateARIAAttributes(e)),e.ready(()=>this.updateARIAAttributes())}createEl(){return super.createEl(`div`,{className:`vjs-volume-bar vjs-slider-bar`},{"aria-label":this.localize(`Volume Level`),"aria-live":`polite`})}handleMouseDown(e){yt(e)&&super.handleMouseDown(e)}handleMouseMove(e){let t=this.getChild(`mouseVolumeLevelDisplay`);if(t){let n=this.el(),r=dt(n),i=this.vertical(),a=pt(n,e);a=i?a.y:a.x,a=$r(a,0,1),t.update(r,a,i)}yt(e)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(e)))}checkMuted(){this.player_.muted()&&this.player_.muted(!1)}getPercent(){return this.player_.muted()?0:this.player_.volume()}stepForward(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)}stepBack(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)}updateARIAAttributes(e){let t=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute(`aria-valuenow`,t),this.el_.setAttribute(`aria-valuetext`,t+`%`)}volumeAsPercentage_(){return Math.round(this.player_.volume()*100)}updateLastVolume_(){let e=this.player_.volume();this.one(`sliderinactive`,()=>{this.player_.volume()===0&&this.player_.lastVolume_(e)})}};hi.prototype.options_={children:[`volumeLevel`],barName:`volumeLevel`},!Ue&&!R&&hi.prototype.options_.children.splice(0,0,`mouseVolumeLevelDisplay`),hi.prototype.playerEvent=`volumechange`,K.registerComponent(`VolumeBar`,hi);var gi=class extends K{constructor(e,t={}){t.vertical=t.vertical||!1,(t.volumeBar===void 0||I(t.volumeBar))&&(t.volumeBar=t.volumeBar||{},t.volumeBar.vertical=t.vertical),super(e,t),di(this,e),this.throttledHandleMouseMove=qt(W(this,this.handleMouseMove),30),this.handleMouseUpHandler_=e=>this.handleMouseUp(e),this.on(`mousedown`,e=>this.handleMouseDown(e)),this.on(`touchstart`,e=>this.handleMouseDown(e)),this.on(`mousemove`,e=>this.handleMouseMove(e)),this.on(this.volumeBar,[`focus`,`slideractive`],()=>{this.volumeBar.addClass(`vjs-slider-active`),this.addClass(`vjs-slider-active`),this.trigger(`slideractive`)}),this.on(this.volumeBar,[`blur`,`sliderinactive`],()=>{this.volumeBar.removeClass(`vjs-slider-active`),this.removeClass(`vjs-slider-active`),this.trigger(`sliderinactive`)})}createEl(){let e=`vjs-volume-horizontal`;return this.options_.vertical&&(e=`vjs-volume-vertical`),super.createEl(`div`,{className:`vjs-volume-control vjs-control ${e}`})}handleMouseDown(e){let t=this.el_.ownerDocument;this.on(t,`mousemove`,this.throttledHandleMouseMove),this.on(t,`touchmove`,this.throttledHandleMouseMove),this.on(t,`mouseup`,this.handleMouseUpHandler_),this.on(t,`touchend`,this.handleMouseUpHandler_)}handleMouseUp(e){let t=this.el_.ownerDocument;this.off(t,`mousemove`,this.throttledHandleMouseMove),this.off(t,`touchmove`,this.throttledHandleMouseMove),this.off(t,`mouseup`,this.handleMouseUpHandler_),this.off(t,`touchend`,this.handleMouseUpHandler_)}handleMouseMove(e){this.volumeBar.handleMouseMove(e)}};gi.prototype.options_={children:[`volumeBar`]},K.registerComponent(`VolumeControl`,gi);let _i=function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass(`vjs-hidden`),e.on(t,`loadstart`,function(){t.tech_.featuresMuteControl?e.removeClass(`vjs-hidden`):e.addClass(`vjs-hidden`)})};var vi=class extends Y{constructor(e,t){super(e,t),_i(this,e),this.on(e,[`loadstart`,`volumechange`],e=>this.update(e))}buildCSSClass(){return`vjs-mute-control ${super.buildCSSClass()}`}handleClick(e){let t=this.player_.volume(),n=this.player_.lastVolume_();if(t===0){let e=n<.1?.1:n;this.player_.volume(e),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())}update(e){this.updateIcon_(),this.updateControlText_()}updateIcon_(){let e=this.player_.volume(),t=3;this.setIcon(`volume-high`),Ue&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),e===0||this.player_.muted()?(this.setIcon(`volume-mute`),t=0):e<.33?(this.setIcon(`volume-low`),t=1):e<.67&&(this.setIcon(`volume-medium`),t=2),nt(this.el_,[0,1,2,3].reduce((e,t)=>e+`${t?` `:``}vjs-vol-${t}`,``)),tt(this.el_,`vjs-vol-${t}`)}updateControlText_(){let e=this.player_.muted()||this.player_.volume()===0?`Unmute`:`Mute`;this.controlText()!==e&&this.controlText(e)}};vi.prototype.controlText_=`Mute`,K.registerComponent(`MuteToggle`,vi);var yi=class extends K{constructor(e,t={}){t.inline===void 0?t.inline=!0:t.inline=t.inline,(t.volumeControl===void 0||I(t.volumeControl))&&(t.volumeControl=t.volumeControl||{},t.volumeControl.vertical=!t.inline),super(e,t),this.handleKeyPressHandler_=e=>this.handleKeyPress(e),this.on(e,[`loadstart`],e=>this.volumePanelState_(e)),this.on(this.muteToggle,`keyup`,e=>this.handleKeyPress(e)),this.on(this.volumeControl,`keyup`,e=>this.handleVolumeControlKeyUp(e)),this.on(`keydown`,e=>this.handleKeyPress(e)),this.on(`mouseover`,e=>this.handleMouseOver(e)),this.on(`mouseout`,e=>this.handleMouseOut(e)),this.on(this.volumeControl,[`slideractive`],this.sliderActive_),this.on(this.volumeControl,[`sliderinactive`],this.sliderInactive_)}sliderActive_(){this.addClass(`vjs-slider-active`)}sliderInactive_(){this.removeClass(`vjs-slider-active`)}volumePanelState_(){this.volumeControl.hasClass(`vjs-hidden`)&&this.muteToggle.hasClass(`vjs-hidden`)&&this.addClass(`vjs-hidden`),this.volumeControl.hasClass(`vjs-hidden`)&&!this.muteToggle.hasClass(`vjs-hidden`)&&this.addClass(`vjs-mute-toggle-only`)}createEl(){let e=`vjs-volume-panel-horizontal`;return this.options_.inline||(e=`vjs-volume-panel-vertical`),super.createEl(`div`,{className:`vjs-volume-panel vjs-control ${e}`})}dispose(){this.handleMouseOut(),super.dispose()}handleVolumeControlKeyUp(e){e.key===`Escape`&&this.muteToggle.focus()}handleMouseOver(e){this.addClass(`vjs-hover`),Vt(b.default,`keyup`,this.handleKeyPressHandler_)}handleMouseOut(e){this.removeClass(`vjs-hover`),Ht(b.default,`keyup`,this.handleKeyPressHandler_)}handleKeyPress(e){e.key===`Escape`&&this.handleMouseOut()}};yi.prototype.options_={children:[`muteToggle`,`volumeControl`]},K.registerComponent(`VolumePanel`,yi);var bi=class extends Y{constructor(e,t){super(e,t),this.validOptions=[5,10,30],this.skipTime=this.getSkipForwardTime(),this.skipTime&&this.validOptions.includes(this.skipTime)?(this.setIcon(`forward-${this.skipTime}`),this.controlText(this.localize(`Skip forward {1} seconds`,[this.skipTime.toLocaleString(e.language())])),this.show()):this.hide()}getSkipForwardTime(){let e=this.options_.playerOptions;return e.controlBar&&e.controlBar.skipButtons&&e.controlBar.skipButtons.forward}buildCSSClass(){return`vjs-skip-forward-${this.getSkipForwardTime()} ${super.buildCSSClass()}`}handleClick(e){if(isNaN(this.player_.duration()))return;let t=this.player_.currentTime(),n=this.player_.liveTracker,r=n&&n.isLive()?n.seekableEnd():this.player_.duration(),i;i=t+this.skipTime<=r?t+this.skipTime:r,this.player_.currentTime(i)}handleLanguagechange(){this.controlText(this.localize(`Skip forward {1} seconds`,[this.skipTime]))}};bi.prototype.controlText_=`Skip Forward`,K.registerComponent(`SkipForward`,bi);var xi=class extends Y{constructor(e,t){super(e,t),this.validOptions=[5,10,30],this.skipTime=this.getSkipBackwardTime(),this.skipTime&&this.validOptions.includes(this.skipTime)?(this.setIcon(`replay-${this.skipTime}`),this.controlText(this.localize(`Skip backward {1} seconds`,[this.skipTime.toLocaleString(e.language())])),this.show()):this.hide()}getSkipBackwardTime(){let e=this.options_.playerOptions;return e.controlBar&&e.controlBar.skipButtons&&e.controlBar.skipButtons.backward}buildCSSClass(){return`vjs-skip-backward-${this.getSkipBackwardTime()} ${super.buildCSSClass()}`}handleClick(e){let t=this.player_.currentTime(),n=this.player_.liveTracker,r=n&&n.isLive()&&n.seekableStart(),i;i=r&&t-this.skipTime<=r?r:t>=this.skipTime?t-this.skipTime:0,this.player_.currentTime(i)}handleLanguagechange(){this.controlText(this.localize(`Skip backward {1} seconds`,[this.skipTime]))}};xi.prototype.controlText_=`Skip Backward`,K.registerComponent(`SkipBackward`,xi);var Si=class extends K{constructor(e,t){super(e,t),t&&(this.menuButton_=t.menuButton),this.focusedChild_=-1,this.on(`keydown`,e=>this.handleKeyDown(e)),this.boundHandleBlur_=e=>this.handleBlur(e),this.boundHandleTapClick_=e=>this.handleTapClick(e)}addEventListenerForItem(e){e instanceof K&&(this.on(e,`blur`,this.boundHandleBlur_),this.on(e,[`tap`,`click`],this.boundHandleTapClick_))}removeEventListenerForItem(e){e instanceof K&&(this.off(e,`blur`,this.boundHandleBlur_),this.off(e,[`tap`,`click`],this.boundHandleTapClick_))}removeChild(e){typeof e==`string`&&(e=this.getChild(e)),this.removeEventListenerForItem(e),super.removeChild(e)}addItem(e){let t=this.addChild(e);t&&this.addEventListenerForItem(t)}createEl(){let e=this.options_.contentElType||`ul`;this.contentEl_=U(e,{className:`vjs-menu-content`}),this.contentEl_.setAttribute(`role`,`menu`);let t=super.createEl(`div`,{append:this.contentEl_,className:`vjs-menu`});return t.appendChild(this.contentEl_),Vt(t,`click`,function(e){e.preventDefault(),e.stopImmediatePropagation()}),t}dispose(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,super.dispose()}handleBlur(e){let t=e.relatedTarget||b.default.activeElement;if(!this.children().some(e=>e.el()===t)){let e=this.menuButton_;e&&e.buttonPressed_&&t!==e.el().firstChild&&e.unpressButton()}}handleTapClick(e){if(this.menuButton_){this.menuButton_.unpressButton();let t=this.children();if(!Array.isArray(t))return;let n=t.filter(t=>t.el()===e.target)[0];if(!n)return;n.name()!==`CaptionSettingsMenuItem`&&this.menuButton_.focus()}}handleKeyDown(e){e.key===`ArrowLeft`||e.key===`ArrowDown`?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(e.key===`ArrowRight`||e.key===`ArrowUp`)&&(e.preventDefault(),e.stopPropagation(),this.stepBack())}stepForward(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_+1),this.focus(e)}stepBack(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_-1),this.focus(e)}focus(e=0){let t=this.children().slice();t.length&&t[0].hasClass(`vjs-menu-title`)&&t.shift(),t.length>0&&(e<0?e=0:e>=t.length&&(e=t.length-1),this.focusedChild_=e,t[e].el_.focus())}};K.registerComponent(`Menu`,Si);var Ci=class extends K{constructor(e,t={}){super(e,t),this.menuButton_=new Y(e,t),this.menuButton_.controlText(this.controlText_),this.menuButton_.el_.setAttribute(`aria-haspopup`,`true`);let n=Y.prototype.buildCSSClass();this.menuButton_.el_.className=this.buildCSSClass()+` `+n,this.menuButton_.removeClass(`vjs-control`),this.addChild(this.menuButton_),this.update(),this.enabled_=!0;let r=e=>this.handleClick(e);this.handleMenuKeyUp_=e=>this.handleMenuKeyUp(e),this.on(this.menuButton_,`tap`,r),this.on(this.menuButton_,`click`,r),this.on(this.menuButton_,`keydown`,e=>this.handleKeyDown(e)),this.on(this.menuButton_,`mouseenter`,()=>{this.addClass(`vjs-hover`),this.menu.show(),Vt(b.default,`keyup`,this.handleMenuKeyUp_)}),this.on(`mouseleave`,e=>this.handleMouseLeave(e)),this.on(`keydown`,e=>this.handleSubmenuKeyDown(e))}update(){let e=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=e,this.addChild(e),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute(`aria-expanded`,`false`),this.items&&this.items.length<=this.hideThreshold_?(this.hide(),this.menu.contentEl_.removeAttribute(`role`)):(this.show(),this.menu.contentEl_.setAttribute(`role`,`menu`))}createMenu(){let e=new Si(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){let t=U(`li`,{className:`vjs-menu-title`,textContent:G(this.options_.title),tabIndex:-1}),n=new K(this.player_,{el:t});e.addItem(n)}if(this.items=this.createItems(),this.items)for(let t=0;t<this.items.length;t++)e.addItem(this.items[t]);return e}createItems(){}createEl(){return super.createEl(`div`,{className:this.buildWrapperCSSClass()},{})}setIcon(e){return super.setIcon(e,this.menuButton_.el_)}buildWrapperCSSClass(){let e=`vjs-menu-button`;this.options_.inline===!0?e+=`-inline`:e+=`-popup`;let t=Y.prototype.buildCSSClass();return`vjs-menu-button ${e} ${t} ${super.buildCSSClass()}`}buildCSSClass(){let e=`vjs-menu-button`;return this.options_.inline===!0?e+=`-inline`:e+=`-popup`,`vjs-menu-button ${e} ${super.buildCSSClass()}`}controlText(e,t=this.menuButton_.el()){return this.menuButton_.controlText(e,t)}dispose(){this.handleMouseLeave(),super.dispose()}handleClick(e){this.buttonPressed_?this.unpressButton():this.pressButton()}handleMouseLeave(e){this.removeClass(`vjs-hover`),Ht(b.default,`keyup`,this.handleMenuKeyUp_)}focus(){this.menuButton_.focus()}blur(){this.menuButton_.blur()}handleKeyDown(e){e.key===`Escape`||e.key===`Tab`?(this.buttonPressed_&&this.unpressButton(),!e.key===`Tab`&&(e.preventDefault(),this.menuButton_.focus())):(e.key===`Up`||e.key===`Down`&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled))&&(this.buttonPressed_||(e.preventDefault(),this.pressButton()))}handleMenuKeyUp(e){(e.key===`Escape`||e.key===`Tab`)&&this.removeClass(`vjs-hover`)}handleSubmenuKeyPress(e){this.handleSubmenuKeyDown(e)}handleSubmenuKeyDown(e){(e.key===`Escape`||e.key===`Tab`)&&(this.buttonPressed_&&this.unpressButton(),!e.key===`Tab`&&(e.preventDefault(),this.menuButton_.focus()))}pressButton(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute(`aria-expanded`,`true`),Ue&&Xe())return;this.menu.focus()}}unpressButton(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute(`aria-expanded`,`false`))}disable(){this.unpressButton(),this.enabled_=!1,this.addClass(`vjs-disabled`),this.menuButton_.disable()}enable(){this.enabled_=!0,this.removeClass(`vjs-disabled`),this.menuButton_.enable()}};K.registerComponent(`MenuButton`,Ci);var wi=class extends Ci{constructor(e,t){let n=t.tracks;if(super(e,t),this.items.length<=1&&this.hide(),!n)return;let r=W(this,this.update);n.addEventListener(`removetrack`,r),n.addEventListener(`addtrack`,r),n.addEventListener(`labelchange`,r),this.player_.on(`ready`,r),this.player_.on(`dispose`,function(){n.removeEventListener(`removetrack`,r),n.removeEventListener(`addtrack`,r),n.removeEventListener(`labelchange`,r)})}};K.registerComponent(`TrackButton`,wi);var Ti=class extends Nr{constructor(e,t){super(e,t),this.selectable=t.selectable,this.isSelected_=t.selected||!1,this.multiSelectable=t.multiSelectable,this.selected(this.isSelected_),this.selectable?this.multiSelectable?this.el_.setAttribute(`role`,`menuitemcheckbox`):this.el_.setAttribute(`role`,`menuitemradio`):this.el_.setAttribute(`role`,`menuitem`)}createEl(e,t,n){this.nonIconControl=!0;let r=super.createEl(`li`,Object.assign({className:`vjs-menu-item`,tabIndex:-1},t),n),i=U(`span`,{className:`vjs-menu-item-text`,textContent:this.localize(this.options_.label)});return this.player_.options_.experimentalSvgIcons?r.appendChild(i):r.replaceChild(i,r.querySelector(`.vjs-icon-placeholder`)),r}handleKeyDown(e){[`Tab`,`Escape`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`ArrowDown`].includes(e.key)||super.handleKeyDown(e)}handleClick(e){this.selected(!0)}selected(e){this.selectable&&(e?(this.addClass(`vjs-selected`),this.el_.setAttribute(`aria-checked`,`true`),this.controlText(`, selected`),this.isSelected_=!0):(this.removeClass(`vjs-selected`),this.el_.setAttribute(`aria-checked`,`false`),this.controlText(``),this.isSelected_=!1))}};K.registerComponent(`MenuItem`,Ti);var Ei=class extends Ti{constructor(e,t){let n=t.track,r=e.textTracks();t.label=n.label||n.language||`Unknown`,t.selected=n.mode===`showing`,super(e,t),this.track=n,this.kinds=(t.kinds||[t.kind||this.track.kind]).filter(Boolean);let i=(...e)=>{this.handleTracksChange.apply(this,e)},a=(...e)=>{this.handleSelectedLanguageChange.apply(this,e)};if(e.on([`loadstart`,`texttrackchange`],i),r.addEventListener(`change`,i),r.addEventListener(`selectedlanguagechange`,a),this.on(`dispose`,function(){e.off([`loadstart`,`texttrackchange`],i),r.removeEventListener(`change`,i),r.removeEventListener(`selectedlanguagechange`,a)}),r.onchange===void 0){let e;this.on([`tap`,`click`],function(){if(typeof y.default.Event!=`object`)try{e=new y.default.Event(`change`)}catch{}e||(e=b.default.createEvent(`Event`),e.initEvent(`change`,!0,!0)),r.dispatchEvent(e)})}this.handleTracksChange()}handleClick(e){let t=this.track,n=this.player_.textTracks();if(super.handleClick(e),n)for(let e=0;e<n.length;e++){let r=n[e];this.kinds.indexOf(r.kind)!==-1&&(r===t?r.mode!==`showing`&&(r.mode=`showing`):r.mode!==`disabled`&&(r.mode=`disabled`))}}handleTracksChange(e){let t=this.track.mode===`showing`;t!==this.isSelected_&&this.selected(t)}handleSelectedLanguageChange(e){if(this.track.mode===`showing`){let e=this.player_.cache_.selectedLanguage;if(e&&e.enabled&&e.language===this.track.language&&e.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind}}}dispose(){this.track=null,super.dispose()}};K.registerComponent(`TextTrackMenuItem`,Ei);var Di=class extends Ei{constructor(e,t){t.track={player:e,kind:t.kind,kinds:t.kinds,default:!1,mode:`disabled`},t.kinds||=[t.kind],t.label?t.track.label=t.label:t.track.label=t.kinds.join(` and `)+` off`,t.selectable=!0,t.multiSelectable=!1,super(e,t)}handleTracksChange(e){let t=this.player().textTracks(),n=!0;for(let e=0,r=t.length;e<r;e++){let r=t[e];if(this.options_.kinds.indexOf(r.kind)>-1&&r.mode===`showing`){n=!1;break}}n!==this.isSelected_&&this.selected(n)}handleSelectedLanguageChange(e){let t=this.player().textTracks(),n=!0;for(let e=0,r=t.length;e<r;e++){let r=t[e];if([`captions`,`descriptions`,`subtitles`].indexOf(r.kind)>-1&&r.mode===`showing`){n=!1;break}}n&&(this.player_.cache_.selectedLanguage={enabled:!1})}handleLanguagechange(){this.$(`.vjs-menu-item-text`).textContent=this.player_.localize(this.options_.label),super.handleLanguagechange()}};K.registerComponent(`OffTextTrackMenuItem`,Di);var Oi=class extends wi{constructor(e,t={}){t.tracks=e.textTracks(),super(e,t)}createItems(e=[],t=Ei){let n;this.label_&&(n=`${this.label_} off`),e.push(new Di(this.player_,{kinds:this.kinds_,kind:this.kind_,label:n})),this.hideThreshold_+=1;let r=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(let n=0;n<r.length;n++){let i=r[n];if(this.kinds_.indexOf(i.kind)>-1){let n=new t(this.player_,{track:i,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});n.addClass(`vjs-${i.kind}-menu-item`),e.push(n)}}return e}};K.registerComponent(`TextTrackButton`,Oi);var ki=class extends Ti{constructor(e,t){let n=t.track,r=t.cue,i=e.currentTime();t.selectable=!0,t.multiSelectable=!1,t.label=r.text,t.selected=r.startTime<=i&&i<r.endTime,super(e,t),this.track=n,this.cue=r}handleClick(e){super.handleClick(),this.player_.currentTime(this.cue.startTime)}};K.registerComponent(`ChaptersTrackMenuItem`,ki);var Ai=class extends Oi{constructor(e,t,n){super(e,t,n),this.setIcon(`chapters`),this.selectCurrentItem_=()=>{this.items.forEach(e=>{e.selected(this.track_.activeCues[0]===e.cue)})}}buildCSSClass(){return`vjs-chapters-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-chapters-button ${super.buildWrapperCSSClass()}`}update(e){if(e&&e.track&&e.track.kind!==`chapters`)return;let t=this.findChaptersTrack();t===this.track_?(!this.items||t&&t.cues&&t.cues.length!==this.items.length)&&super.update():(this.setTrack(t),super.update())}setTrack(e){if(this.track_!==e){if(this.updateHandler_||=this.update.bind(this),this.track_){let e=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);e&&e.removeEventListener(`load`,this.updateHandler_),this.track_.removeEventListener(`cuechange`,this.selectCurrentItem_),this.track_=null}if(this.track_=e,this.track_){this.track_.mode=`hidden`;let e=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);e&&e.addEventListener(`load`,this.updateHandler_),this.track_.addEventListener(`cuechange`,this.selectCurrentItem_)}}}findChaptersTrack(){let e=this.player_.textTracks()||[];for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===this.kind_)return n}}getMenuCaption(){return this.track_&&this.track_.label?this.track_.label:this.localize(G(this.kind_))}createMenu(){return this.options_.title=this.getMenuCaption(),super.createMenu()}createItems(){let e=[];if(!this.track_)return e;let t=this.track_.cues;if(!t)return e;for(let n=0,r=t.length;n<r;n++){let r=t[n],i=new ki(this.player_,{track:this.track_,cue:r});e.push(i)}return e}};Ai.prototype.kind_=`chapters`,Ai.prototype.controlText_=`Chapters`,K.registerComponent(`ChaptersButton`,Ai);var ji=class extends Oi{constructor(e,t,n){super(e,t,n),this.setIcon(`audio-description`);let r=e.textTracks(),i=W(this,this.handleTracksChange);r.addEventListener(`change`,i),this.on(`dispose`,function(){r.removeEventListener(`change`,i)})}handleTracksChange(e){let t=this.player().textTracks(),n=!1;for(let e=0,r=t.length;e<r;e++){let r=t[e];if(r.kind!==this.kind_&&r.mode===`showing`){n=!0;break}}n?this.disable():this.enable()}buildCSSClass(){return`vjs-descriptions-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-descriptions-button ${super.buildWrapperCSSClass()}`}};ji.prototype.kind_=`descriptions`,ji.prototype.controlText_=`Descriptions`,K.registerComponent(`DescriptionsButton`,ji);var Mi=class extends Oi{constructor(e,t,n){super(e,t,n),this.setIcon(`subtitles`)}buildCSSClass(){return`vjs-subtitles-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-subtitles-button ${super.buildWrapperCSSClass()}`}};Mi.prototype.kind_=`subtitles`,Mi.prototype.controlText_=`Subtitles`,K.registerComponent(`SubtitlesButton`,Mi);var Ni=class extends Ei{constructor(e,t){t.track={player:e,kind:t.kind,label:t.kind+` settings`,selectable:!1,default:!1,mode:`disabled`},t.selectable=!1,t.name=`CaptionSettingsMenuItem`,super(e,t),this.addClass(`vjs-texttrack-settings`),this.controlText(`, opens `+t.kind+` settings dialog`)}handleClick(e){this.player().getChild(`textTrackSettings`).open()}handleLanguagechange(){this.$(`.vjs-menu-item-text`).textContent=this.player_.localize(this.options_.kind+` settings`),super.handleLanguagechange()}};K.registerComponent(`CaptionSettingsMenuItem`,Ni);var Pi=class extends Oi{constructor(e,t,n){super(e,t,n),this.setIcon(`captions`)}buildCSSClass(){return`vjs-captions-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-captions-button ${super.buildWrapperCSSClass()}`}createItems(){let e=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild(`textTrackSettings`)&&(e.push(new Ni(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),super.createItems(e)}};Pi.prototype.kind_=`captions`,Pi.prototype.controlText_=`Captions`,K.registerComponent(`CaptionsButton`,Pi);var Fi=class extends Ei{createEl(e,t,n){let r=super.createEl(e,t,n),i=r.querySelector(`.vjs-menu-item-text`);return this.options_.track.kind===`captions`&&(this.player_.options_.experimentalSvgIcons?this.setIcon(`captions`,r):i.appendChild(U(`span`,{className:`vjs-icon-placeholder`},{"aria-hidden":!0})),i.appendChild(U(`span`,{className:`vjs-control-text`,textContent:` ${this.localize(`Captions`)}`}))),r}};K.registerComponent(`SubsCapsMenuItem`,Fi);var Ii=class extends Oi{constructor(e,t={}){super(e,t),this.label_=`subtitles`,this.setIcon(`subtitles`),[`en`,`en-us`,`en-ca`,`fr-ca`].indexOf(this.player_.language_)>-1&&(this.label_=`captions`,this.setIcon(`captions`)),this.menuButton_.controlText(G(this.label_))}buildCSSClass(){return`vjs-subs-caps-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-subs-caps-button ${super.buildWrapperCSSClass()}`}createItems(){let e=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild(`textTrackSettings`)&&(e.push(new Ni(this.player_,{kind:this.label_})),this.hideThreshold_+=1),e=super.createItems(e,Fi),e}};Ii.prototype.kinds_=[`captions`,`subtitles`],Ii.prototype.controlText_=`Subtitles`,K.registerComponent(`SubsCapsButton`,Ii);var Li=class extends Ti{constructor(e,t){let n=t.track,r=e.audioTracks();t.label=n.label||n.language||`Unknown`,t.selected=n.enabled,super(e,t),this.track=n,this.addClass(`vjs-${n.kind}-menu-item`);let i=(...e)=>{this.handleTracksChange.apply(this,e)};r.addEventListener(`change`,i),this.on(`dispose`,()=>{r.removeEventListener(`change`,i)})}createEl(e,t,n){let r=super.createEl(e,t,n),i=r.querySelector(`.vjs-menu-item-text`);return[`main-desc`,`descriptions`].indexOf(this.options_.track.kind)>=0&&(i.appendChild(U(`span`,{className:`vjs-icon-placeholder`},{"aria-hidden":!0})),i.appendChild(U(`span`,{className:`vjs-control-text`,textContent:` `+this.localize(`Descriptions`)}))),r}handleClick(e){if(super.handleClick(e),this.track.enabled=!0,this.player_.tech_.featuresNativeAudioTracks){let e=this.player_.audioTracks();for(let t=0;t<e.length;t++){let n=e[t];n!==this.track&&(n.enabled=n===this.track)}}}handleTracksChange(e){this.selected(this.track.enabled)}};K.registerComponent(`AudioTrackMenuItem`,Li);var Ri=class extends wi{constructor(e,t={}){t.tracks=e.audioTracks(),super(e,t),this.setIcon(`audio`)}buildCSSClass(){return`vjs-audio-button ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-audio-button ${super.buildWrapperCSSClass()}`}createItems(e=[]){this.hideThreshold_=1;let t=this.player_.audioTracks();for(let n=0;n<t.length;n++){let r=t[n];e.push(new Li(this.player_,{track:r,selectable:!0,multiSelectable:!1}))}return e}};Ri.prototype.controlText_=`Audio Track`,K.registerComponent(`AudioTrackButton`,Ri);var zi=class extends Ti{constructor(e,t){let n=t.rate,r=parseFloat(n,10);t.label=n,t.selected=r===e.playbackRate(),t.selectable=!0,t.multiSelectable=!1,super(e,t),this.label=n,this.rate=r,this.on(e,`ratechange`,e=>this.update(e))}handleClick(e){super.handleClick(),this.player().playbackRate(this.rate)}update(e){this.selected(this.player().playbackRate()===this.rate)}};zi.prototype.contentElType=`button`,K.registerComponent(`PlaybackRateMenuItem`,zi);var Bi=class extends Ci{constructor(e,t){super(e,t),this.menuButton_.el_.setAttribute(`aria-describedby`,this.labelElId_),this.updateVisibility(),this.updateLabel(),this.on(e,`loadstart`,e=>this.updateVisibility(e)),this.on(e,`ratechange`,e=>this.updateLabel(e)),this.on(e,`playbackrateschange`,e=>this.handlePlaybackRateschange(e))}createEl(){let e=super.createEl();return this.labelElId_=`vjs-playback-rate-value-label-`+this.id_,this.labelEl_=U(`div`,{className:`vjs-playback-rate-value`,id:this.labelElId_,textContent:`1x`}),e.appendChild(this.labelEl_),e}dispose(){this.labelEl_=null,super.dispose()}buildCSSClass(){return`vjs-playback-rate ${super.buildCSSClass()}`}buildWrapperCSSClass(){return`vjs-playback-rate ${super.buildWrapperCSSClass()}`}createItems(){let e=this.playbackRates(),t=[];for(let n=e.length-1;n>=0;n--)t.push(new zi(this.player(),{rate:e[n]+`x`}));return t}handlePlaybackRateschange(e){this.update()}playbackRates(){let e=this.player();return e.playbackRates&&e.playbackRates()||[]}playbackRateSupported(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0}updateVisibility(e){this.playbackRateSupported()?this.removeClass(`vjs-hidden`):this.addClass(`vjs-hidden`)}updateLabel(e){this.playbackRateSupported()&&(this.labelEl_.textContent=this.player().playbackRate()+`x`)}};Bi.prototype.controlText_=`Playback Rate`,K.registerComponent(`PlaybackRateMenuButton`,Bi);var Vi=class extends K{buildCSSClass(){return`vjs-spacer ${super.buildCSSClass()}`}createEl(e=`div`,t={},n={}){return t.className||=this.buildCSSClass(),super.createEl(e,t,n)}};K.registerComponent(`Spacer`,Vi);var Hi=class extends Vi{buildCSSClass(){return`vjs-custom-control-spacer ${super.buildCSSClass()}`}createEl(){return super.createEl(`div`,{className:this.buildCSSClass(),textContent:`\xA0`})}};K.registerComponent(`CustomControlSpacer`,Hi);var Ui=class extends K{createEl(){return super.createEl(`div`,{className:`vjs-control-bar`,dir:`ltr`})}};Ui.prototype.options_={children:[`playToggle`,`skipBackward`,`skipForward`,`volumePanel`,`currentTimeDisplay`,`timeDivider`,`durationDisplay`,`progressControl`,`liveDisplay`,`seekToLive`,`remainingTimeDisplay`,`customControlSpacer`,`playbackRateMenuButton`,`chaptersButton`,`descriptionsButton`,`subsCapsButton`,`audioTrackButton`,`pictureInPictureToggle`,`fullscreenToggle`]},K.registerComponent(`ControlBar`,Ui);var Wi=class extends jn{constructor(e,t){super(e,t),this.on(e,`error`,e=>{this.open(e)})}buildCSSClass(){return`vjs-error-display ${super.buildCSSClass()}`}content(){let e=this.player().error();return e?this.localize(e.message):``}};Wi.prototype.options_=Object.assign({},jn.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),K.registerComponent(`ErrorDisplay`,Wi);var Gi=class extends K{constructor(e,t={}){super(e,t),this.el_.setAttribute(`aria-labelledby`,this.selectLabelledbyIds)}createEl(){return this.selectLabelledbyIds=[this.options_.legendId,this.options_.labelId].join(` `).trim(),U(`select`,{id:this.options_.id},{},this.options_.SelectOptions.map(e=>{let t=(this.options_.labelId?this.options_.labelId:`vjs-track-option-${Pt()}`)+`-`+e[1].replace(/\W+/g,``),n=U(`option`,{id:t,value:this.localize(e[0]),textContent:this.localize(e[1])});return n.setAttribute(`aria-labelledby`,`${this.selectLabelledbyIds} ${t}`),n}))}};K.registerComponent(`TextTrackSelect`,Gi);var Ki=class extends K{constructor(e,t={}){super(e,t);let n=U(`legend`,{textContent:this.localize(this.options_.legendText),id:this.options_.legendId});this.el().appendChild(n);let r=this.options_.selects;for(let t of r){let n=this.options_.selectConfigs[t],r=n.className,i=n.id.replace(`%s`,this.options_.id_),a=null,o=`vjs_select_${Pt()}`;if(this.options_.type===`colors`){a=U(`span`,{className:r});let e=U(`label`,{id:i,className:`vjs-label`,textContent:this.localize(n.label)});e.setAttribute(`for`,o),a.appendChild(e)}let s=new Gi(e,{SelectOptions:n.options,legendId:this.options_.legendId,id:o,labelId:i});this.addChild(s),this.options_.type===`colors`&&(a.appendChild(s.el()),this.el().appendChild(a))}}createEl(){return U(`fieldset`,{className:this.options_.className})}};K.registerComponent(`TextTrackFieldset`,Ki);var qi=class extends K{constructor(e,t={}){super(e,t);let n=this.options_.textTrackComponentid,r=new Ki(e,{id_:n,legendId:`captions-text-legend-${n}`,legendText:this.localize(`Text`),className:`vjs-fg vjs-track-setting`,selects:this.options_.fieldSets[0],selectConfigs:this.options_.selectConfigs,type:`colors`});this.addChild(r);let i=new Ki(e,{id_:n,legendId:`captions-background-${n}`,legendText:this.localize(`Text Background`),className:`vjs-bg vjs-track-setting`,selects:this.options_.fieldSets[1],selectConfigs:this.options_.selectConfigs,type:`colors`});this.addChild(i);let a=new Ki(e,{id_:n,legendId:`captions-window-${n}`,legendText:this.localize(`Caption Area Background`),className:`vjs-window vjs-track-setting`,selects:this.options_.fieldSets[2],selectConfigs:this.options_.selectConfigs,type:`colors`});this.addChild(a)}createEl(){return U(`div`,{className:`vjs-track-settings-colors`})}};K.registerComponent(`TextTrackSettingsColors`,qi);var Ji=class extends K{constructor(e,t={}){super(e,t);let n=this.options_.textTrackComponentid,r=new Ki(e,{id_:n,legendId:`captions-font-size-${n}`,legendText:`Font Size`,className:`vjs-font-percent vjs-track-setting`,selects:this.options_.fieldSets[0],selectConfigs:this.options_.selectConfigs,type:`font`});this.addChild(r);let i=new Ki(e,{id_:n,legendId:`captions-edge-style-${n}`,legendText:this.localize(`Text Edge Style`),className:`vjs-edge-style vjs-track-setting`,selects:this.options_.fieldSets[1],selectConfigs:this.options_.selectConfigs,type:`font`});this.addChild(i);let a=new Ki(e,{id_:n,legendId:`captions-font-family-${n}`,legendText:this.localize(`Font Family`),className:`vjs-font-family vjs-track-setting`,selects:this.options_.fieldSets[2],selectConfigs:this.options_.selectConfigs,type:`font`});this.addChild(a)}createEl(){return U(`div`,{className:`vjs-track-settings-font`})}};K.registerComponent(`TextTrackSettingsFont`,Ji);var Yi=class extends K{constructor(e,t={}){super(e,t);let n=new Y(e,{controlText:this.localize(`restore all settings to the default values`),className:`vjs-default-button`});n.el().classList.remove(`vjs-control`,`vjs-button`),n.el().textContent=this.localize(`Reset`),this.addChild(n);let r=this.localize(`Done`),i=new Y(e,{controlText:r,className:`vjs-done-button`});i.el().classList.remove(`vjs-control`,`vjs-button`),i.el().textContent=r,this.addChild(i)}createEl(){return U(`div`,{className:`vjs-track-settings-controls`})}};K.registerComponent(`TrackSettingsControls`,Yi);let Xi=`vjs-text-track-settings`,Zi=[`#000`,`Black`],Qi=[`#00F`,`Blue`],$i=[`#0FF`,`Cyan`],ea=[`#0F0`,`Green`],ta=[`#F0F`,`Magenta`],na=[`#F00`,`Red`],ra=[`#FFF`,`White`],ia=[`#FF0`,`Yellow`],aa=[`1`,`Opaque`],oa=[`0.5`,`Semi-Transparent`],sa=[`0`,`Transparent`],ca={backgroundColor:{selector:`.vjs-bg-color > select`,id:`captions-background-color-%s`,label:`Color`,options:[Zi,ra,na,ea,Qi,ia,ta,$i],className:`vjs-bg-color`},backgroundOpacity:{selector:`.vjs-bg-opacity > select`,id:`captions-background-opacity-%s`,label:`Opacity`,options:[aa,oa,sa],className:`vjs-bg-opacity vjs-opacity`},color:{selector:`.vjs-text-color > select`,id:`captions-foreground-color-%s`,label:`Color`,options:[ra,Zi,na,ea,Qi,ia,ta,$i],className:`vjs-text-color`},edgeStyle:{selector:`.vjs-edge-style > select`,id:``,label:`Text Edge Style`,options:[[`none`,`None`],[`raised`,`Raised`],[`depressed`,`Depressed`],[`uniform`,`Uniform`],[`dropshadow`,`Drop shadow`]]},fontFamily:{selector:`.vjs-font-family > select`,id:``,label:`Font Family`,options:[[`proportionalSansSerif`,`Proportional Sans-Serif`],[`monospaceSansSerif`,`Monospace Sans-Serif`],[`proportionalSerif`,`Proportional Serif`],[`monospaceSerif`,`Monospace Serif`],[`casual`,`Casual`],[`script`,`Script`],[`small-caps`,`Small Caps`]]},fontPercent:{selector:`.vjs-font-percent > select`,id:``,label:`Font Size`,options:[[`0.50`,`50%`],[`0.75`,`75%`],[`1.00`,`100%`],[`1.25`,`125%`],[`1.50`,`150%`],[`1.75`,`175%`],[`2.00`,`200%`],[`3.00`,`300%`],[`4.00`,`400%`]],default:2,parser:e=>e===`1.00`?null:Number(e)},textOpacity:{selector:`.vjs-text-opacity > select`,id:`captions-foreground-opacity-%s`,label:`Opacity`,options:[aa,oa],className:`vjs-text-opacity vjs-opacity`},windowColor:{selector:`.vjs-window-color > select`,id:`captions-window-color-%s`,label:`Color`,className:`vjs-window-color`},windowOpacity:{selector:`.vjs-window-opacity > select`,id:`captions-window-opacity-%s`,label:`Opacity`,options:[sa,oa,aa],className:`vjs-window-opacity vjs-opacity`}};ca.windowColor.options=ca.backgroundColor.options;function la(e,t){if(t&&(e=t(e)),e&&e!==`none`)return e}function ua(e,t){let n=e.options[e.options.selectedIndex].value;return la(n,t)}function da(e,t,n){if(t){for(let r=0;r<e.options.length;r++)if(la(e.options[r].value,n)===t){e.selectedIndex=r;break}}}var fa=class extends jn{constructor(e,t){t.temporary=!1,super(e,t),this.updateDisplay=this.updateDisplay.bind(this),this.fill(),this.hasBeenOpened_=this.hasBeenFilled_=!0,this.renderModalComponents(e),this.endDialog=U(`p`,{className:`vjs-control-text`,textContent:this.localize(`End of dialog window.`)}),this.el().appendChild(this.endDialog),this.setDefaults(),t.persistTextTrackSettings===void 0&&(this.options_.persistTextTrackSettings=this.options_.playerOptions.persistTextTrackSettings),this.bindFunctionsToSelectsAndButtons(),this.options_.persistTextTrackSettings&&this.restoreSettings()}renderModalComponents(e){let t=new qi(e,{textTrackComponentid:this.id_,selectConfigs:ca,fieldSets:[[`color`,`textOpacity`],[`backgroundColor`,`backgroundOpacity`],[`windowColor`,`windowOpacity`]]});this.addChild(t);let n=new Ji(e,{textTrackComponentid:this.id_,selectConfigs:ca,fieldSets:[[`fontPercent`],[`edgeStyle`],[`fontFamily`]]});this.addChild(n);let r=new Yi(e);this.addChild(r)}bindFunctionsToSelectsAndButtons(){this.on(this.$(`.vjs-done-button`),[`click`,`tap`],()=>{this.saveSettings(),this.close()}),this.on(this.$(`.vjs-default-button`),[`click`,`tap`],()=>{this.setDefaults(),this.updateDisplay()}),ye(ca,e=>{this.on(this.$(e.selector),`change`,this.updateDisplay)})}dispose(){this.endDialog=null,super.dispose()}label(){return this.localize(`Caption Settings Dialog`)}description(){return this.localize(`Beginning of dialog window. Escape will cancel and close the window.`)}buildCSSClass(){return super.buildCSSClass()+` vjs-text-track-settings`}getValues(){return be(ca,(e,t,n)=>{let r=ua(this.$(t.selector),t.parser);return r!==void 0&&(e[n]=r),e},{})}setValues(e){ye(ca,(t,n)=>{da(this.$(t.selector),e[n],t.parser)})}setDefaults(){ye(ca,e=>{let t=e.hasOwnProperty(`default`)?e.default:0;this.$(e.selector).selectedIndex=t})}restoreSettings(){let e;try{e=JSON.parse(y.default.localStorage.getItem(Xi))}catch(e){P.warn(e)}e&&this.setValues(e)}saveSettings(){if(!this.options_.persistTextTrackSettings)return;let e=this.getValues();try{Object.keys(e).length?y.default.localStorage.setItem(Xi,JSON.stringify(e)):y.default.localStorage.removeItem(Xi)}catch(e){P.warn(e)}}updateDisplay(){let e=this.player_.getChild(`textTrackDisplay`);e&&e.updateDisplay()}handleLanguagechange(){this.fill(),this.renderModalComponents(this.player_),this.bindFunctionsToSelectsAndButtons()}};K.registerComponent(`TextTrackSettings`,fa);var pa=class extends K{constructor(e,t){let n=t.ResizeObserver||y.default.ResizeObserver;t.ResizeObserver===null&&(n=!1);let r=L({createEl:!n,reportTouchActivity:!1},t);super(e,r),this.ResizeObserver=t.ResizeObserver||y.default.ResizeObserver,this.loadListener_=null,this.resizeObserver_=null,this.debouncedHandler_=Jt(()=>{this.resizeHandler()},100,!1,this),n?(this.resizeObserver_=new this.ResizeObserver(this.debouncedHandler_),this.resizeObserver_.observe(e.el())):(this.loadListener_=()=>{if(!this.el_||!this.el_.contentWindow)return;let e=this.debouncedHandler_,t=this.unloadListener_=function(){Ht(this,`resize`,e),Ht(this,`unload`,t),t=null};Vt(this.el_.contentWindow,`unload`,t),Vt(this.el_.contentWindow,`resize`,e)},this.one(`load`,this.loadListener_))}createEl(){return super.createEl(`iframe`,{className:`vjs-resize-manager`,tabIndex:-1,title:this.localize(`No content`)},{"aria-hidden":`true`})}resizeHandler(){!this.player_||!this.player_.trigger||this.player_.trigger(`playerresize`)}dispose(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off(`load`,this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,super.dispose()}};K.registerComponent(`ResizeManager`,pa);let ma={trackingThreshold:20,liveTolerance:15};var ha=class extends K{constructor(e,t){let n=L(ma,t,{createEl:!1});super(e,n),this.trackLiveHandler_=()=>this.trackLive_(),this.handlePlay_=e=>this.handlePlay(e),this.handleFirstTimeupdate_=e=>this.handleFirstTimeupdate(e),this.handleSeeked_=e=>this.handleSeeked(e),this.seekToLiveEdge_=e=>this.seekToLiveEdge(e),this.reset_(),this.on(this.player_,`durationchange`,e=>this.handleDurationchange(e)),this.on(this.player_,`canplay`,()=>this.toggleTracking())}trackLive_(){let e=this.player_.seekable();if(!e||!e.length)return;let t=Number(y.default.performance.now().toFixed(4)),n=this.lastTime_===-1?0:(t-this.lastTime_)/1e3;this.lastTime_=t,this.pastSeekEnd_=this.pastSeekEnd()+n;let r=this.liveCurrentTime(),i=this.player_.currentTime(),a=this.player_.paused()||this.seekedBehindLive_||Math.abs(r-i)>this.options_.liveTolerance;(!this.timeupdateSeen_||r===1/0)&&(a=!1),a!==this.behindLiveEdge_&&(this.behindLiveEdge_=a,this.trigger(`liveedgechange`))}handleDurationchange(){this.toggleTracking()}toggleTracking(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass(`vjs-liveui`),this.startTracking()):(this.player_.removeClass(`vjs-liveui`),this.stopTracking())}startTracking(){this.isTracking()||(this.timeupdateSeen_||=this.player_.hasStarted(),this.trackingInterval_=this.setInterval(this.trackLiveHandler_,30),this.trackLive_(),this.on(this.player_,[`play`,`pause`],this.trackLiveHandler_),this.timeupdateSeen_?this.on(this.player_,`seeked`,this.handleSeeked_):(this.one(this.player_,`play`,this.handlePlay_),this.one(this.player_,`timeupdate`,this.handleFirstTimeupdate_)))}handleFirstTimeupdate(){this.timeupdateSeen_=!0,this.on(this.player_,`seeked`,this.handleSeeked_)}handleSeeked(){let e=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=this.nextSeekedFromUser_&&e>2,this.nextSeekedFromUser_=!1,this.trackLive_()}handlePlay(){this.one(this.player_,`timeupdate`,this.seekToLiveEdge_)}reset_(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.nextSeekedFromUser_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,[`play`,`pause`],this.trackLiveHandler_),this.off(this.player_,`seeked`,this.handleSeeked_),this.off(this.player_,`play`,this.handlePlay_),this.off(this.player_,`timeupdate`,this.handleFirstTimeupdate_),this.off(this.player_,`timeupdate`,this.seekToLiveEdge_)}nextSeekedFromUser(){this.nextSeekedFromUser_=!0}stopTracking(){this.isTracking()&&(this.reset_(),this.trigger(`liveedgechange`))}seekableEnd(){let e=this.player_.seekable(),t=[],n=e?e.length:0;for(;n--;)t.push(e.end(n));return t.length?t.sort()[t.length-1]:1/0}seekableStart(){let e=this.player_.seekable(),t=[],n=e?e.length:0;for(;n--;)t.push(e.start(n));return t.length?t.sort()[0]:0}liveWindow(){let e=this.liveCurrentTime();return e===1/0?0:e-this.seekableStart()}isLive(){return this.isTracking()}atLiveEdge(){return!this.behindLiveEdge()}liveCurrentTime(){return this.pastSeekEnd()+this.seekableEnd()}pastSeekEnd(){let e=this.seekableEnd();return this.lastSeekEnd_!==-1&&e!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=e,this.pastSeekEnd_}behindLiveEdge(){return this.behindLiveEdge_}isTracking(){return typeof this.trackingInterval_==`number`}seekToLiveEdge(){this.seekedBehindLive_=!1,!this.atLiveEdge()&&(this.nextSeekedFromUser_=!1,this.player_.currentTime(this.liveCurrentTime()))}dispose(){this.stopTracking(),super.dispose()}};K.registerComponent(`LiveTracker`,ha);var ga=class extends K{constructor(e,t){super(e,t),this.on(`statechanged`,e=>this.updateDom_()),this.updateDom_()}createEl(){return this.els={title:U(`div`,{className:`vjs-title-bar-title`,id:`vjs-title-bar-title-${Pt()}`}),description:U(`div`,{className:`vjs-title-bar-description`,id:`vjs-title-bar-description-${Pt()}`})},U(`div`,{className:`vjs-title-bar`},{},we(this.els))}updateDom_(){let e=this.player_.tech_,t=e&&e.el_,n={title:`aria-labelledby`,description:`aria-describedby`};[`title`,`description`].forEach(e=>{let r=this.state[e],i=this.els[e],a=n[e];ht(i),r&&Qe(i,r),t&&(t.removeAttribute(a),r&&t.setAttribute(a,i.id))}),this.state.title||this.state.description?this.show():this.hide()}update(e){this.setState(e)}dispose(){let e=this.player_.tech_,t=e&&e.el_;t&&(t.removeAttribute(`aria-labelledby`),t.removeAttribute(`aria-describedby`)),super.dispose(),this.els=null}};K.registerComponent(`TitleBar`,ga);let _a={initialDisplay:4e3,position:[],takeFocus:!1};var va=class extends Y{constructor(e,t){t=L(_a,t),super(e,t),this.controlText(t.controlText),this.hide(),this.on(this.player_,[`useractive`,`userinactive`],e=>{this.removeClass(`force-display`)})}buildCSSClass(){return`vjs-transient-button focus-visible ${this.options_.position.map(e=>`vjs-${e}`).join(` `)}`}createEl(){let e=U(`button`,{},{type:`button`,class:this.buildCSSClass()},U(`span`));return this.controlTextEl_=e.querySelector(`span`),e}show(){super.show(),this.addClass(`force-display`),this.options_.takeFocus&&this.el().focus({preventScroll:!0}),this.forceDisplayTimeout=this.player_.setTimeout(()=>{this.removeClass(`force-display`)},this.options_.initialDisplay)}hide(){this.removeClass(`force-display`),super.hide()}dispose(){this.player_.clearTimeout(this.forceDisplayTimeout),super.dispose()}};K.registerComponent(`TransientButton`,va);let ya=e=>{let t=e.el();if(t.hasAttribute(`src`))return e.triggerSourceset(t.src),!0;let n=e.$$(`source`),r=[],i=``;if(!n.length)return!1;for(let e=0;e<n.length;e++){let t=n[e].src;t&&r.indexOf(t)===-1&&r.push(t)}return r.length?(r.length===1&&(i=r[0]),e.triggerSourceset(i),!0):!1},ba=Object.defineProperty({},"innerHTML",{get(){return this.cloneNode(!0).innerHTML},set(e){let t=b.default.createElement(this.nodeName.toLowerCase());t.innerHTML=e;let n=b.default.createDocumentFragment();for(;t.childNodes.length;)n.appendChild(t.childNodes[0]);return this.innerText=``,y.default.Element.prototype.appendChild.call(this,n),this.innerHTML}}),xa=(e,t)=>{let n={};for(let r=0;r<e.length&&(n=Object.getOwnPropertyDescriptor(e[r],t),!(n&&n.set&&n.get));r++);return n.enumerable=!0,n.configurable=!0,n},Sa=e=>xa([e.el(),y.default.HTMLMediaElement.prototype,y.default.Element.prototype,ba],`innerHTML`),Ca=function(e){let t=e.el();if(t.resetSourceWatch_)return;let n={},r=Sa(e),i=n=>(...r)=>{let i=n.apply(t,r);return ya(e),i};[`append`,`appendChild`,`insertAdjacentHTML`].forEach(e=>{t[e]&&(n[e]=t[e],t[e]=i(n[e]))}),Object.defineProperty(t,"innerHTML",L(r,{set:i(r.set)})),t.resetSourceWatch_=()=>{t.resetSourceWatch_=null,Object.keys(n).forEach(e=>{t[e]=n[e]}),Object.defineProperty(t,"innerHTML",r)},e.one(`sourceset`,t.resetSourceWatch_)},wa=Object.defineProperty({},"src",{get(){return this.hasAttribute(`src`)?Kn(y.default.Element.prototype.getAttribute.call(this,`src`)):``},set(e){return y.default.Element.prototype.setAttribute.call(this,`src`,e),e}}),Ta=e=>xa([e.el(),y.default.HTMLMediaElement.prototype,wa],`src`),Ea=function(e){if(!e.featuresSourceset)return;let t=e.el();if(t.resetSourceset_)return;let n=Ta(e),r=t.setAttribute,i=t.load;Object.defineProperty(t,"src",L(n,{set:r=>{let i=n.set.call(t,r);return e.triggerSourceset(t.src),i}})),t.setAttribute=(n,i)=>{let a=r.call(t,n,i);return/src/i.test(n)&&e.triggerSourceset(t.src),a},t.load=()=>{let n=i.call(t);return ya(e)||(e.triggerSourceset(``),Ca(e)),n},t.currentSrc?e.triggerSourceset(t.currentSrc):ya(e)||Ca(e),t.resetSourceset_=()=>{t.resetSourceset_=null,t.load=i,t.setAttribute=r,Object.defineProperty(t,"src",n),t.resetSourceWatch_&&t.resetSourceWatch_()}};var X=class e extends J{constructor(e,t){super(e,t);let n=e.source,r=!1;if(this.featuresVideoFrameCallback=this.featuresVideoFrameCallback&&this.el_.tagName===`VIDEO`,n&&(this.el_.currentSrc!==n.src||e.tag&&e.tag.initNetworkState_===3)?this.setSource(n):this.handleLateInit_(this.el_),e.enableSourceset&&this.setupSourcesetHandling_(),this.isScrubbing_=!1,this.el_.hasChildNodes()){let e=this.el_.childNodes,t=e.length,n=[];for(;t--;){let i=e[t];i.nodeName.toLowerCase()===`track`&&(this.featuresNativeTextTracks?(this.remoteTextTrackEls().addTrackElement_(i),this.remoteTextTracks().addTrack(i.track),this.textTracks().addTrack(i.track),!r&&!this.el_.hasAttribute(`crossorigin`)&&Jn(i.src)&&(r=!0)):n.push(i))}for(let e=0;e<n.length;e++)this.el_.removeChild(n[e])}this.proxyNativeTracks_(),this.featuresNativeTextTracks&&r&&P.warn(`Text Tracks are being loaded from another origin but the crossorigin attribute isn't used.
|
|
184
|
+
This may prevent text tracks from loading.`),this.restoreMetadataTracksInIOSNativePlayer_(),(H||Re)&&e.nativeControlsForTouch===!0&&this.setControls(!0),this.proxyWebkitFullscreen_(),this.triggerReady()}dispose(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),e.disposeMediaElement(this.el_),this.options_=null,super.dispose()}setupSourcesetHandling_(){Ea(this)}restoreMetadataTracksInIOSNativePlayer_(){let e=this.textTracks(),t,n=()=>{t=[];for(let n=0;n<e.length;n++){let r=e[n];r.kind===`metadata`&&t.push({track:r,storedMode:r.mode})}};n(),e.addEventListener(`change`,n),this.on(`dispose`,()=>e.removeEventListener(`change`,n));let r=()=>{for(let e=0;e<t.length;e++){let n=t[e];n.track.mode===`disabled`&&n.track.mode!==n.storedMode&&(n.track.mode=n.storedMode)}e.removeEventListener(`change`,r)};this.on(`webkitbeginfullscreen`,()=>{e.removeEventListener(`change`,n),e.removeEventListener(`change`,r),e.addEventListener(`change`,r)}),this.on(`webkitendfullscreen`,()=>{e.removeEventListener(`change`,n),e.addEventListener(`change`,n),e.removeEventListener(`change`,r)})}overrideNative_(e,t){if(t!==this[`featuresNative${e}Tracks`])return;let n=e.toLowerCase();this[`${n}TracksListeners_`]&&Object.keys(this[`${n}TracksListeners_`]).forEach(e=>{this.el()[`${n}Tracks`].removeEventListener(e,this[`${n}TracksListeners_`][e])}),this[`featuresNative${e}Tracks`]=!t,this[`${n}TracksListeners_`]=null,this.proxyNativeTracksForType_(n)}overrideNativeAudioTracks(e){this.overrideNative_(`Audio`,e)}overrideNativeVideoTracks(e){this.overrideNative_(`Video`,e)}proxyNativeTracksForType_(e){let t=nr[e],n=this.el()[t.getterName],r=this[t.getterName]();if(!this[`featuresNative${t.capitalName}Tracks`]||!n||!n.addEventListener)return;let i={change:t=>{let n={type:`change`,target:r,currentTarget:r,srcElement:r};r.trigger(n),e===`text`&&this[rr.remoteText.getterName]().trigger(n)},addtrack(e){r.addTrack(e.track)},removetrack(e){r.removeTrack(e.track)}},a=function(){let e=[];for(let t=0;t<r.length;t++){let i=!1;for(let e=0;e<n.length;e++)if(n[e]===r[t]){i=!0;break}i||e.push(r[t])}for(;e.length;)r.removeTrack(e.shift())};this[t.getterName+`Listeners_`]=i,Object.keys(i).forEach(e=>{let t=i[e];n.addEventListener(e,t),this.on(`dispose`,r=>n.removeEventListener(e,t))}),this.on(`loadstart`,a),this.on(`dispose`,e=>this.off(`loadstart`,a))}proxyNativeTracks_(){nr.names.forEach(e=>{this.proxyNativeTracksForType_(e)})}createEl(){let t=this.options_.tag;if(!t||!(this.options_.playerElIngest||this.movingMediaElementInDOM)){if(t){let n=t.cloneNode(!0);t.parentNode&&t.parentNode.insertBefore(n,t),e.disposeMediaElement(t),t=n}else{t=b.default.createElement(`video`);let e=L({},this.options_.tag&&at(this.options_.tag));(!H||this.options_.nativeControlsForTouch!==!0)&&delete e.controls,it(t,Object.assign(e,{id:this.options_.techId,class:`vjs-tech`}))}t.playerId=this.options_.playerId}this.options_.preload!==void 0&&st(t,`preload`,this.options_.preload),this.options_.disablePictureInPicture!==void 0&&(t.disablePictureInPicture=this.options_.disablePictureInPicture);let n=[`loop`,`muted`,`playsinline`,`autoplay`];for(let e=0;e<n.length;e++){let r=n[e],i=this.options_[r];i!==void 0&&(i?st(t,r,r):ct(t,r),t[r]=i)}return t}handleLateInit_(e){if(e.networkState===0||e.networkState===3)return;if(e.readyState===0){let e=!1,t=function(){e=!0};this.on(`loadstart`,t);let n=function(){e||this.trigger(`loadstart`)};this.on(`loadedmetadata`,n),this.ready(function(){this.off(`loadstart`,t),this.off(`loadedmetadata`,n),e||this.trigger(`loadstart`)});return}let t=[`loadstart`];t.push(`loadedmetadata`),e.readyState>=2&&t.push(`loadeddata`),e.readyState>=3&&t.push(`canplay`),e.readyState>=4&&t.push(`canplaythrough`),this.ready(function(){t.forEach(function(e){this.trigger(e)},this)})}setScrubbing(e){this.isScrubbing_=e}scrubbing(){return this.isScrubbing_}setCurrentTime(e){try{this.isScrubbing_&&this.el_.fastSeek&&We?this.el_.fastSeek(e):this.el_.currentTime=e}catch(e){P(e,`Video is not ready. (Video.js)`)}}duration(){if(this.el_.duration===1/0&&R&&z&&this.el_.currentTime===0){let e=()=>{this.el_.currentTime>0&&(this.el_.duration===1/0&&this.trigger(`durationchange`),this.off(`timeupdate`,e))};return this.on(`timeupdate`,e),NaN}return this.el_.duration||NaN}width(){return this.el_.offsetWidth}height(){return this.el_.offsetHeight}proxyWebkitFullscreen_(){if(!(`webkitDisplayingFullscreen`in this.el_))return;let e=function(){this.trigger(`fullscreenchange`,{isFullscreen:!1}),this.el_.controls&&!this.options_.nativeControlsForTouch&&this.controls()&&(this.el_.controls=!1)},t=function(){`webkitPresentationMode`in this.el_&&this.el_.webkitPresentationMode!==`picture-in-picture`&&(this.one(`webkitendfullscreen`,e),this.trigger(`fullscreenchange`,{isFullscreen:!0,nativeIOSFullscreen:!0}))};this.on(`webkitbeginfullscreen`,t),this.on(`dispose`,()=>{this.off(`webkitbeginfullscreen`,t),this.off(`webkitendfullscreen`,e)})}supportsFullScreen(){return typeof this.el_.webkitEnterFullScreen==`function`}enterFullScreen(){let e=this.el_;if(e.paused&&e.networkState<=e.HAVE_METADATA)Dn(this.el_.play()),this.setTimeout(function(){e.pause();try{e.webkitEnterFullScreen()}catch(e){this.trigger(`fullscreenerror`,e)}},0);else try{e.webkitEnterFullScreen()}catch(e){this.trigger(`fullscreenerror`,e)}}exitFullScreen(){if(!this.el_.webkitDisplayingFullscreen){this.trigger(`fullscreenerror`,Error(`The video is not fullscreen`));return}this.el_.webkitExitFullScreen()}requestPictureInPicture(){return this.el_.requestPictureInPicture()}requestVideoFrameCallback(e){return this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.requestVideoFrameCallback(e):super.requestVideoFrameCallback(e)}cancelVideoFrameCallback(e){this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.cancelVideoFrameCallback(e):super.cancelVideoFrameCallback(e)}src(e){if(e===void 0)return this.el_.src;this.setSrc(e)}addSourceElement(e,t){if(!e)return P.error(`Invalid source URL.`),!1;let n={src:e};t&&(n.type=t);let r=U(`source`,{},n);return this.el_.appendChild(r),!0}removeSourceElement(e){if(!e)return P.error(`Source URL is required to remove the source element.`),!1;let t=this.el_.querySelectorAll(`source`);for(let n of t)if(n.src===e)return this.el_.removeChild(n),!0;return P.warn(`No matching source element found with src: ${e}`),!1}reset(){e.resetMediaElement(this.el_)}currentSrc(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc}setControls(e){this.el_.controls=!!e}addTextTrack(e,t,n){return this.featuresNativeTextTracks?this.el_.addTextTrack(e,t,n):super.addTextTrack(e,t,n)}createRemoteTextTrack(e){if(!this.featuresNativeTextTracks)return super.createRemoteTextTrack(e);let t=b.default.createElement(`track`);return e.kind&&(t.kind=e.kind),e.label&&(t.label=e.label),(e.language||e.srclang)&&(t.srclang=e.language||e.srclang),e.default&&(t.default=e.default),e.id&&(t.id=e.id),e.src&&(t.src=e.src),t}addRemoteTextTrack(e,t){let n=super.addRemoteTextTrack(e,t);return this.featuresNativeTextTracks&&this.el().appendChild(n),n}removeRemoteTextTrack(e){if(super.removeRemoteTextTrack(e),this.featuresNativeTextTracks){let t=this.$$(`track`),n=t.length;for(;n--;)(e===t[n]||e===t[n].track)&&this.el().removeChild(t[n])}}getVideoPlaybackQuality(){if(typeof this.el().getVideoPlaybackQuality==`function`)return this.el().getVideoPlaybackQuality();let e={};return this.el().webkitDroppedFrameCount!==void 0&&this.el().webkitDecodedFrameCount!==void 0&&(e.droppedVideoFrames=this.el().webkitDroppedFrameCount,e.totalVideoFrames=this.el().webkitDecodedFrameCount),y.default.performance&&(e.creationTime=y.default.performance.now()),e}};Te(X,`TEST_VID`,function(){if(!Je())return;let e=b.default.createElement(`video`),t=b.default.createElement(`track`);return t.kind=`captions`,t.srclang=`en`,t.label=`English`,e.appendChild(t),e}),X.isSupported=function(){try{X.TEST_VID.volume=.5}catch{return!1}return!!(X.TEST_VID&&X.TEST_VID.canPlayType)},X.canPlayType=function(e){return X.TEST_VID.canPlayType(e)},X.canPlaySource=function(e,t){return X.canPlayType(e.type)},X.canControlVolume=function(){try{let e=X.TEST_VID.volume;X.TEST_VID.volume=e/2+.1;let t=e!==X.TEST_VID.volume;return t&&Ue?(y.default.setTimeout(()=>{X&&X.prototype&&(X.prototype.featuresVolumeControl=e!==X.TEST_VID.volume)}),!1):t}catch{return!1}},X.canMuteVolume=function(){try{let e=X.TEST_VID.muted;return X.TEST_VID.muted=!e,X.TEST_VID.muted?st(X.TEST_VID,`muted`,`muted`):ct(X.TEST_VID,`muted`,`muted`),e!==X.TEST_VID.muted}catch{return!1}},X.canControlPlaybackRate=function(){if(R&&z&&Ne<58)return!1;try{let e=X.TEST_VID.playbackRate;return X.TEST_VID.playbackRate=e/2+.1,e!==X.TEST_VID.playbackRate}catch{return!1}},X.canOverrideAttributes=function(){try{let e=()=>{};Object.defineProperty(b.default.createElement(`video`),"src",{get:e,set:e}),Object.defineProperty(b.default.createElement(`audio`),"src",{get:e,set:e}),Object.defineProperty(b.default.createElement(`video`),"innerHTML",{get:e,set:e}),Object.defineProperty(b.default.createElement(`audio`),"innerHTML",{get:e,set:e})}catch{return!1}return!0},X.supportsNativeTextTracks=function(){return We||Ue&&z},X.supportsNativeVideoTracks=function(){return!!(X.TEST_VID&&X.TEST_VID.videoTracks)},X.supportsNativeAudioTracks=function(){return!!(X.TEST_VID&&X.TEST_VID.audioTracks)},X.Events=[`loadstart`,`suspend`,`abort`,`error`,`emptied`,`stalled`,`loadedmetadata`,`loadeddata`,`canplay`,`canplaythrough`,`playing`,`waiting`,`seeking`,`seeked`,`ended`,`durationchange`,`timeupdate`,`progress`,`play`,`pause`,`ratechange`,`resize`,`volumechange`],[[`featuresMuteControl`,`canMuteVolume`],[`featuresPlaybackRate`,`canControlPlaybackRate`],[`featuresSourceset`,`canOverrideAttributes`],[`featuresNativeTextTracks`,`supportsNativeTextTracks`],[`featuresNativeVideoTracks`,`supportsNativeVideoTracks`],[`featuresNativeAudioTracks`,`supportsNativeAudioTracks`]].forEach(function([e,t]){Te(X.prototype,e,()=>X[t](),!0)}),X.prototype.featuresVolumeControl=X.canControlVolume(),X.prototype.movingMediaElementInDOM=!Ue,X.prototype.featuresFullscreenResize=!0,X.prototype.featuresProgressEvents=!0,X.prototype.featuresTimeupdateEvents=!0,X.prototype.featuresVideoFrameCallback=!!(X.TEST_VID&&X.TEST_VID.requestVideoFrameCallback),X.disposeMediaElement=function(e){if(e){for(e.parentNode&&e.parentNode.removeChild(e);e.hasChildNodes();)e.removeChild(e.firstChild);e.removeAttribute(`src`),typeof e.load==`function`&&(function(){try{e.load()}catch{}})()}},X.resetMediaElement=function(e){if(!e)return;let t=e.querySelectorAll(`source`),n=t.length;for(;n--;)e.removeChild(t[n]);e.removeAttribute(`src`),typeof e.load==`function`&&(function(){try{e.load()}catch{}})()},[`muted`,`defaultMuted`,`autoplay`,`controls`,`loop`,`playsinline`].forEach(function(e){X.prototype[e]=function(){return this.el_[e]||this.el_.hasAttribute(e)}}),[`muted`,`defaultMuted`,`autoplay`,`loop`,`playsinline`].forEach(function(e){X.prototype[`set`+G(e)]=function(t){this.el_[e]=t,t?this.el_.setAttribute(e,e):this.el_.removeAttribute(e)}}),[`paused`,`currentTime`,`buffered`,`volume`,`poster`,`preload`,`error`,`seeking`,`seekable`,`ended`,`playbackRate`,`defaultPlaybackRate`,`disablePictureInPicture`,`played`,`networkState`,`readyState`,`videoWidth`,`videoHeight`,`crossOrigin`].forEach(function(e){X.prototype[e]=function(){return this.el_[e]}}),[`volume`,`src`,`poster`,`preload`,`playbackRate`,`defaultPlaybackRate`,`disablePictureInPicture`,`crossOrigin`].forEach(function(e){X.prototype[`set`+G(e)]=function(t){this.el_[e]=t}}),[`pause`,`load`,`play`].forEach(function(e){X.prototype[e]=function(){return this.el_[e]()}}),J.withSourceHandlers(X),X.nativeSourceHandler={},X.nativeSourceHandler.canPlayType=function(e){try{return X.TEST_VID.canPlayType(e)}catch{return``}},X.nativeSourceHandler.canHandleSource=function(e,t){if(e.type)return X.nativeSourceHandler.canPlayType(e.type);if(e.src){let t=qn(e.src);return X.nativeSourceHandler.canPlayType(`video/${t}`)}return``},X.nativeSourceHandler.handleSource=function(e,t,n){t.setSrc(e.src)},X.nativeSourceHandler.dispose=function(){},X.registerSourceHandler(X.nativeSourceHandler),J.registerTech(`Html5`,X);let Da=[`progress`,`abort`,`suspend`,`emptied`,`stalled`,`loadedmetadata`,`loadeddata`,`timeupdate`,`resize`,`volumechange`,`texttrackchange`],Oa={canplay:`CanPlay`,canplaythrough:`CanPlayThrough`,playing:`Playing`,seeked:`Seeked`},ka=[`tiny`,`xsmall`,`small`,`medium`,`large`,`xlarge`,`huge`],Aa={};ka.forEach(e=>{Aa[e]=`vjs-layout-${e.charAt(0)===`x`?`x-${e.substring(1)}`:e}`});let ja={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0};var Z=class e extends K{constructor(t,n,r){if(t.id=t.id||n.id||`vjs_video_${Pt()}`,n=Object.assign(e.getTagSettings(t),n),n.initChildren=!1,n.createEl=!1,n.evented=!1,n.reportTouchActivity=!1,!n.language){let e=t.closest(`[lang]`);e&&(n.language=e.getAttribute(`lang`))}if(super(null,n,r),this.boundDocumentFullscreenChange_=e=>this.documentFullscreenChange_(e),this.boundFullWindowOnEscKey_=e=>this.fullWindowOnEscKey(e),this.boundUpdateStyleEl_=e=>this.updateStyleEl_(e),this.boundApplyInitTime_=e=>this.applyInitTime_(e),this.boundUpdateCurrentBreakpoint_=e=>this.updateCurrentBreakpoint_(e),this.boundHandleTechClick_=e=>this.handleTechClick_(e),this.boundHandleTechDoubleClick_=e=>this.handleTechDoubleClick_(e),this.boundHandleTechTouchStart_=e=>this.handleTechTouchStart_(e),this.boundHandleTechTouchMove_=e=>this.handleTechTouchMove_(e),this.boundHandleTechTouchEnd_=e=>this.handleTechTouchEnd_(e),this.boundHandleTechTap_=e=>this.handleTechTap_(e),this.boundUpdatePlayerHeightOnAudioOnlyMode_=e=>this.updatePlayerHeightOnAudioOnlyMode_(e),this.isFullscreen_=!1,this.log=ge(this.id_),this.fsApi_=ce,this.isPosterFromTech_=!1,this.queuedCallbacks_=[],this.isReady_=!1,this.hasStarted_=!1,this.userActive_=!1,this.debugEnabled_=!1,this.audioOnlyMode_=!1,this.audioPosterMode_=!1,this.audioOnlyCache_={controlBarHeight:null,playerHeight:null,hiddenChildren:[]},!this.options_||!this.options_.techOrder||!this.options_.techOrder.length)throw Error(`No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?`);if(this.tag=t,this.tagAttributes=t&&at(t),this.language(this.options_.language),n.languages){let e={};Object.getOwnPropertyNames(n.languages).forEach(function(t){e[t.toLowerCase()]=n.languages[t]}),this.languages_=e}else this.languages_=e.prototype.options_.languages;this.resetCache_(),this.poster_=n.poster||``,this.controls_=!!n.controls,t.controls=!1,t.removeAttribute(`controls`),this.changingSrc_=!1,this.playCallbacks_=[],this.playTerminatedQueue_=[],t.hasAttribute(`autoplay`)?this.autoplay(!0):this.autoplay(this.options_.autoplay),n.plugins&&Object.keys(n.plugins).forEach(e=>{if(typeof this[e]!=`function`)throw Error(`plugin "${e}" does not exist`)}),this.scrubbing_=!1,this.el_=this.createEl(),ln(this,{eventBusKey:`el_`}),this.fsApi_.requestFullscreen&&(Vt(b.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),this.on(this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_)),this.fluid_&&this.on([`playerreset`,`resize`],this.boundUpdateStyleEl_);let i=L(this.options_);if(n.plugins&&Object.keys(n.plugins).forEach(e=>{this[e](n.plugins[e])}),n.debug&&this.debug(!0),this.options_.playerOptions=i,this.middleware_=[],this.playbackRates(n.playbackRates),n.experimentalSvgIcons){let e=new y.default.DOMParser().parseFromString(Or,`image/svg+xml`);if(e.querySelector(`parsererror`))P.warn(`Failed to load SVG Icons. Falling back to Font Icons.`),this.options_.experimentalSvgIcons=null;else{let t=e.documentElement;t.style.display=`none`,this.el_.appendChild(t),this.addClass(`vjs-svg-icons-enabled`)}}this.initChildren(),this.isAudio(t.nodeName.toLowerCase()===`audio`),this.controls()?this.addClass(`vjs-controls-enabled`):this.addClass(`vjs-controls-disabled`),this.el_.setAttribute(`role`,`region`),this.isAudio()?this.el_.setAttribute(`aria-label`,this.localize(`Audio Player`)):this.el_.setAttribute(`aria-label`,this.localize(`Video Player`)),this.isAudio()&&this.addClass(`vjs-audio`),n.spatialNavigation&&n.spatialNavigation.enabled&&(this.spatialNavigation=new jr(this),this.addClass(`vjs-spatial-navigation-enabled`)),H&&this.addClass(`vjs-touch-enabled`),Ue||this.addClass(`vjs-workinghover`),e.players[this.id_]=this;let a=O.split(`.`)[0];this.addClass(`vjs-v${a}`),this.userActive(!0),this.reportUserActivity(),this.one(`play`,e=>this.listenForUserActivity_(e)),this.on(`keydown`,e=>this.handleKeyDown(e)),this.on(`languagechange`,e=>this.handleLanguagechange(e)),this.breakpoints(this.options_.breakpoints),this.responsive(this.options_.responsive),this.on(`ready`,()=>{this.audioPosterMode(this.options_.audioPosterMode),this.audioOnlyMode(this.options_.audioOnlyMode)})}dispose(){this.trigger(`dispose`),this.off(`dispose`),Ht(b.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),Ht(b.default,`keydown`,this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),e.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=``),this.playerElIngest_&&=null,this.tag&&=null,br(this),ir.names.forEach(e=>{let t=ir[e],n=this[t.getterName]();n&&n.off&&n.off()}),super.dispose({restoreEl:this.options_.restoreEl})}createEl(){let e=this.tag,t,n=this.playerElIngest_=e.parentNode&&e.parentNode.hasAttribute&&e.parentNode.hasAttribute(`data-vjs-player`),r=this.tag.tagName.toLowerCase()===`video-js`;n?t=this.el_=e.parentNode:r||(t=this.el_=super.createEl(`div`));let i=at(e);if(r){for(t=this.el_=e,e=this.tag=b.default.createElement(`video`);t.children.length;)e.appendChild(t.firstChild);et(t,`video-js`)||tt(t,`video-js`),t.appendChild(e),n=this.playerElIngest_=t,Object.keys(t).forEach(n=>{try{e[n]=t[n]}catch{}})}e.setAttribute(`tabindex`,`-1`),i.tabindex=`-1`,z&&V&&(e.setAttribute(`role`,`application`),i.role=`application`),e.removeAttribute(`width`),e.removeAttribute(`height`),`width`in i&&delete i.width,`height`in i&&delete i.height,Object.getOwnPropertyNames(i).forEach(function(n){r&&n===`class`||t.setAttribute(n,i[n]),r&&e.setAttribute(n,i[n])}),e.playerId=e.id,e.id+=`_html5_api`,e.className=`vjs-tech`,e.player=t.player=this,this.addClass(`vjs-paused`);let a=[`IS_SMART_TV`,`IS_TIZEN`,`IS_WEBOS`,`IS_ANDROID`,`IS_IPAD`,`IS_IPHONE`,`IS_CHROMECAST_RECEIVER`].filter(e=>Ge[e]).map(e=>`vjs-device-`+e.substring(3).toLowerCase().replace(/\_/g,`-`));if(this.addClass(...a),y.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0){this.styleEl_=At(`vjs-styles-dimensions`);let e=bt(`.vjs-styles-defaults`),t=bt(`head`);t.insertBefore(this.styleEl_,e?e.nextSibling:t.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);let o=e.getElementsByTagName(`a`);for(let e=0;e<o.length;e++){let t=o.item(e);tt(t,`vjs-hidden`),t.setAttribute(`hidden`,`hidden`)}return e.initNetworkState_=e.networkState,e.parentNode&&!n&&e.parentNode.insertBefore(t,e),$e(e,t),this.children_.unshift(e),this.el_.setAttribute(`lang`,this.language_),this.el_.setAttribute(`translate`,`no`),this.el_=t,t}crossOrigin(e){if(e===void 0)return this.techGet_(`crossOrigin`);if(e!==null&&e!==`anonymous`&&e!==`use-credentials`){P.warn(`crossOrigin must be null, "anonymous" or "use-credentials", given "${e}"`);return}this.techCall_(`setCrossOrigin`,e),this.posterImage&&this.posterImage.crossOrigin(e)}width(e){return this.dimension(`width`,e)}height(e){return this.dimension(`height`,e)}dimension(e,t){let n=e+`_`;if(t===void 0)return this[n]||0;if(t===``||t===`auto`){this[n]=void 0,this.updateStyleEl_();return}let r=parseFloat(t);if(isNaN(r)){P.error(`Improper value "${t}" supplied for for ${e}`);return}this[n]=r,this.updateStyleEl_()}fluid(e){if(e===void 0)return!!this.fluid_;this.fluid_=!!e,$t(this)&&this.off([`playerreset`,`resize`],this.boundUpdateStyleEl_),e?(this.addClass(`vjs-fluid`),this.fill(!1),en(this,()=>{this.on([`playerreset`,`resize`],this.boundUpdateStyleEl_)})):this.removeClass(`vjs-fluid`),this.updateStyleEl_()}fill(e){if(e===void 0)return!!this.fill_;this.fill_=!!e,e?(this.addClass(`vjs-fill`),this.fluid(!1)):this.removeClass(`vjs-fill`)}aspectRatio(e){if(e===void 0)return this.aspectRatio_;if(!/^\d+\:\d+$/.test(e))throw Error(`Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.`);this.aspectRatio_=e,this.fluid(!0),this.updateStyleEl_()}updateStyleEl_(){if(y.default.VIDEOJS_NO_DYNAMIC_STYLE===!0){let e=typeof this.width_==`number`?this.width_:this.options_.width,t=typeof this.height_==`number`?this.height_:this.options_.height,n=this.tech_&&this.tech_.el();n&&(e>=0&&(n.width=e),t>=0&&(n.height=t));return}let e,t,n,r;n=this.aspectRatio_!==void 0&&this.aspectRatio_!==`auto`?this.aspectRatio_:this.videoWidth()>0?this.videoWidth()+`:`+this.videoHeight():`16:9`;let i=n.split(`:`),a=i[1]/i[0];e=this.width_===void 0?this.height_===void 0?this.videoWidth()||300:this.height_/a:this.width_,t=this.height_===void 0?e*a:this.height_,r=/^[^a-zA-Z]/.test(this.id())?`dimensions-`+this.id():this.id()+`-dimensions`,this.addClass(r),jt(this.styleEl_,`
|
|
185
|
+
.${r} {
|
|
186
|
+
width: ${e}px;
|
|
187
|
+
height: ${t}px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.${r}.vjs-fluid:not(.vjs-audio-only-mode) {
|
|
191
|
+
padding-top: ${a*100}%;
|
|
192
|
+
}
|
|
193
|
+
`)}loadTech_(e,t){this.tech_&&this.unloadTech_();let n=G(e),r=e.charAt(0).toLowerCase()+e.slice(1);n!==`Html5`&&this.tag&&(J.getTech(`Html5`).disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=n,this.isReady_=!1;let i=this.autoplay();(typeof this.autoplay()==`string`||this.autoplay()===!0&&this.options_.normalizeAutoplay)&&(i=!1);let a={source:t,autoplay:i,nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:`${this.id()}_${r}_api`,playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,disablePictureInPicture:this.options_.disablePictureInPicture,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_[`vtt.js`],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset};ir.names.forEach(e=>{let t=ir[e];a[t.getterName]=this[t.privateName]}),Object.assign(a,this.options_[n]),Object.assign(a,this.options_[r]),Object.assign(a,this.options_[e.toLowerCase()]),this.tag&&(a.tag=this.tag),t&&t.src===this.cache_.src&&this.cache_.currentTime>0&&(a.startTime=this.cache_.currentTime);let o=J.getTech(e);if(!o)throw Error(`No Tech named '${n}' exists! '${n}' should be registered using videojs.registerTech()'`);this.tech_=new o(a),this.tech_.ready(W(this,this.handleTechReady_),!0),kn.jsonToTextTracks(this.textTracksJson_||[],this.tech_),Da.forEach(e=>{this.on(this.tech_,e,t=>this[`handleTech${G(e)}_`](t))}),Object.keys(Oa).forEach(e=>{this.on(this.tech_,e,t=>{if(this.tech_.playbackRate()===0&&this.tech_.seeking()){this.queuedCallbacks_.push({callback:this[`handleTech${Oa[e]}_`].bind(this),event:t});return}this[`handleTech${Oa[e]}_`](t)})}),this.on(this.tech_,`loadstart`,e=>this.handleTechLoadStart_(e)),this.on(this.tech_,`sourceset`,e=>this.handleTechSourceset_(e)),this.on(this.tech_,`waiting`,e=>this.handleTechWaiting_(e)),this.on(this.tech_,`ended`,e=>this.handleTechEnded_(e)),this.on(this.tech_,`seeking`,e=>this.handleTechSeeking_(e)),this.on(this.tech_,`play`,e=>this.handleTechPlay_(e)),this.on(this.tech_,`pause`,e=>this.handleTechPause_(e)),this.on(this.tech_,`durationchange`,e=>this.handleTechDurationChange_(e)),this.on(this.tech_,`fullscreenchange`,(e,t)=>this.handleTechFullscreenChange_(e,t)),this.on(this.tech_,`fullscreenerror`,(e,t)=>this.handleTechFullscreenError_(e,t)),this.on(this.tech_,`enterpictureinpicture`,e=>this.handleTechEnterPictureInPicture_(e)),this.on(this.tech_,`leavepictureinpicture`,e=>this.handleTechLeavePictureInPicture_(e)),this.on(this.tech_,`error`,e=>this.handleTechError_(e)),this.on(this.tech_,`posterchange`,e=>this.handleTechPosterChange_(e)),this.on(this.tech_,`textdata`,e=>this.handleTechTextData_(e)),this.on(this.tech_,`ratechange`,e=>this.handleTechRateChange_(e)),this.on(this.tech_,`loadedmetadata`,this.boundUpdateStyleEl_),this.usingNativeControls(this.techGet_(`controls`)),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode!==this.el()&&(n!==`Html5`||!this.tag)&&$e(this.tech_.el(),this.el()),this.tag&&=(this.tag.player=null,null)}unloadTech_(){ir.names.forEach(e=>{let t=ir[e];this[t.privateName]=this[t.getterName]()}),this.textTracksJson_=kn.textTracksToJson(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_=``,this.trigger(`posterchange`)),this.isPosterFromTech_=!1}tech(e){return e===void 0&&P.warn(`Using the tech directly can be dangerous. I hope you know what you're doing.
|
|
194
|
+
See https://github.com/videojs/video.js/issues/2617 for more info.
|
|
195
|
+
`),this.tech_}version(){return{"video.js":O}}addTechControlsListeners_(){this.removeTechControlsListeners_(),this.on(this.tech_,`click`,this.boundHandleTechClick_),this.on(this.tech_,`dblclick`,this.boundHandleTechDoubleClick_),this.on(this.tech_,`touchstart`,this.boundHandleTechTouchStart_),this.on(this.tech_,`touchmove`,this.boundHandleTechTouchMove_),this.on(this.tech_,`touchend`,this.boundHandleTechTouchEnd_),this.on(this.tech_,`tap`,this.boundHandleTechTap_)}removeTechControlsListeners_(){this.off(this.tech_,`tap`,this.boundHandleTechTap_),this.off(this.tech_,`touchstart`,this.boundHandleTechTouchStart_),this.off(this.tech_,`touchmove`,this.boundHandleTechTouchMove_),this.off(this.tech_,`touchend`,this.boundHandleTechTouchEnd_),this.off(this.tech_,`click`,this.boundHandleTechClick_),this.off(this.tech_,`dblclick`,this.boundHandleTechDoubleClick_)}handleTechReady_(){this.triggerReady(),this.cache_.volume&&this.techCall_(`setVolume`,this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()}handleTechLoadStart_(){this.removeClass(`vjs-ended`,`vjs-seeking`),this.error(null),this.handleTechDurationChange_(),this.paused()&&this.hasStarted(!1),this.trigger(`loadstart`),this.manualAutoplay_(this.autoplay()===!0&&this.options_.normalizeAutoplay?`play`:this.autoplay())}manualAutoplay_(e){if(!this.tech_||typeof e!=`string`)return;let t=()=>{let e=this.muted();this.muted(!0);let t=()=>{this.muted(e)};this.playTerminatedQueue_.push(t);let n=this.play();if(En(n))return n.catch(e=>{throw t(),Error(`Rejection at manualAutoplay. Restoring muted value. ${e||``}`)})},n;if(e===`any`&&!this.muted()?(n=this.play(),En(n)&&(n=n.catch(t))):n=e===`muted`&&!this.muted()?t():this.play(),En(n))return n.then(()=>{this.trigger({type:`autoplay-success`,autoplay:e})}).catch(()=>{this.trigger({type:`autoplay-failure`,autoplay:e})})}updateSourceCaches_(e=``){let t=e,n=``;typeof t!=`string`&&(t=e.src,n=e.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],t&&!n&&(n=Tr(this,t)),this.cache_.source=L({},e,{src:t,type:n});let r=this.cache_.sources.filter(e=>e.src&&e.src===t),i=[],a=this.$$(`source`),o=[];for(let e=0;e<a.length;e++){let n=at(a[e]);i.push(n),n.src&&n.src===t&&o.push(n.src)}o.length&&!r.length?this.cache_.sources=i:r.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=t}handleTechSourceset_(e){if(!this.changingSrc_){let t=e=>this.updateSourceCaches_(e),n=this.currentSource().src,r=e.src;n&&!/^blob:/.test(n)&&/^blob:/.test(r)&&(!this.lastSource_||this.lastSource_.tech!==r&&this.lastSource_.player!==n)&&(t=()=>{}),t(r),e.src||this.tech_.any([`sourceset`,`loadstart`],e=>{if(e.type===`sourceset`)return;let t=this.techGet_(`currentSrc`);this.lastSource_.tech=t,this.updateSourceCaches_(t)})}this.lastSource_={player:this.currentSource().src,tech:e.src},this.trigger({src:e.src,type:`sourceset`})}hasStarted(e){if(e===void 0)return this.hasStarted_;e!==this.hasStarted_&&(this.hasStarted_=e,this.hasStarted_?this.addClass(`vjs-has-started`):this.removeClass(`vjs-has-started`))}handleTechPlay_(){this.removeClass(`vjs-ended`,`vjs-paused`),this.addClass(`vjs-playing`),this.hasStarted(!0),this.trigger(`play`)}handleTechRateChange_(){this.tech_.playbackRate()>0&&this.cache_.lastPlaybackRate===0&&(this.queuedCallbacks_.forEach(e=>e.callback(e.event)),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger(`ratechange`)}handleTechWaiting_(){this.addClass(`vjs-waiting`),this.trigger(`waiting`);let e=this.currentTime(),t=()=>{e!==this.currentTime()&&(this.removeClass(`vjs-waiting`),this.off(`timeupdate`,t))};this.on(`timeupdate`,t)}handleTechCanPlay_(){this.removeClass(`vjs-waiting`),this.trigger(`canplay`)}handleTechCanPlayThrough_(){this.removeClass(`vjs-waiting`),this.trigger(`canplaythrough`)}handleTechPlaying_(){this.removeClass(`vjs-waiting`),this.trigger(`playing`)}handleTechSeeking_(){this.addClass(`vjs-seeking`),this.trigger(`seeking`)}handleTechSeeked_(){this.removeClass(`vjs-seeking`,`vjs-ended`),this.trigger(`seeked`)}handleTechPause_(){this.removeClass(`vjs-playing`),this.addClass(`vjs-paused`),this.trigger(`pause`)}handleTechEnded_(){this.addClass(`vjs-ended`),this.removeClass(`vjs-waiting`),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger(`ended`)}handleTechDurationChange_(){this.duration(this.techGet_(`duration`))}handleTechClick_(e){this.controls_&&(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.click===void 0||this.options_.userActions.click!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.click==`function`?this.options_.userActions.click.call(this,e):this.paused()?Dn(this.play()):this.pause())}handleTechDoubleClick_(e){this.controls_&&(Array.prototype.some.call(this.$$(`.vjs-control-bar, .vjs-modal-dialog`),t=>t.contains(e.target))||(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.doubleClick===void 0||this.options_.userActions.doubleClick!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.doubleClick==`function`?this.options_.userActions.doubleClick.call(this,e):this.isInPictureInPicture()&&!b.default.pictureInPictureElement?this.exitPictureInPicture():this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))}handleTechTap_(){this.userActive(!this.userActive())}handleTechTouchStart_(){this.userWasActive=this.userActive()}handleTechTouchMove_(){this.userWasActive&&this.reportUserActivity()}handleTechTouchEnd_(e){e.cancelable&&e.preventDefault()}toggleFullscreenClass_(){this.isFullscreen()?this.addClass(`vjs-fullscreen`):this.removeClass(`vjs-fullscreen`)}documentFullscreenChange_(e){let t=e.target.player;if(t&&t!==this)return;let n=this.el(),r=b.default[this.fsApi_.fullscreenElement]===n;!r&&n.matches&&(r=n.matches(`:`+this.fsApi_.fullscreen)),this.isFullscreen(r)}handleTechFullscreenChange_(e,t){t&&(t.nativeIOSFullscreen&&(this.addClass(`vjs-ios-native-fs`),this.tech_.one(`webkitendfullscreen`,()=>{this.removeClass(`vjs-ios-native-fs`)})),this.isFullscreen(t.isFullscreen))}handleTechFullscreenError_(e,t){this.trigger(`fullscreenerror`,t)}togglePictureInPictureClass_(){this.isInPictureInPicture()?this.addClass(`vjs-picture-in-picture`):this.removeClass(`vjs-picture-in-picture`)}handleTechEnterPictureInPicture_(e){this.isInPictureInPicture(!0)}handleTechLeavePictureInPicture_(e){this.isInPictureInPicture(!1)}handleTechError_(){let e=this.tech_.error();e&&this.error(e)}handleTechTextData_(){let e=null;arguments.length>1&&(e=arguments[1]),this.trigger(`textdata`,e)}getCache(){return this.cache_}resetCache_(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:``,source:{},sources:[],playbackRates:[],volume:1}}techCall_(e,t){this.ready(function(){if(e in gr)return pr(this.middleware_,this.tech_,e,t);if(e in _r)return mr(this.middleware_,this.tech_,e,t);try{this.tech_&&this.tech_[e](t)}catch(e){throw P(e),e}},!0)}techGet_(e){if(!(!this.tech_||!this.tech_.isReady_)){if(e in hr)return fr(this.middleware_,this.tech_,e);if(e in _r)return mr(this.middleware_,this.tech_,e);try{return this.tech_[e]()}catch(t){throw this.tech_[e]===void 0?(P(`Video.js: ${e} method not defined for ${this.techName_} playback technology.`,t),t):t.name===`TypeError`?(P(`Video.js: ${e} unavailable on ${this.techName_} playback technology element.`,t),this.tech_.isReady_=!1,t):(P(t),t)}}}play(){return new Promise(e=>{this.play_(e)})}play_(e=Dn){this.playCallbacks_.push(e);let t=!!(!this.changingSrc_&&(this.src()||this.currentSrc())),n=!!(We||Ue);if(this.waitToPlay_&&=(this.off([`ready`,`loadstart`],this.waitToPlay_),null),!this.isReady_||!t){this.waitToPlay_=e=>{this.play_()},this.one([`ready`,`loadstart`],this.waitToPlay_),!t&&n&&this.load();return}let r=this.techGet_(`play`);n&&this.hasClass(`vjs-ended`)&&this.resetProgressBar_(),r===null?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(r)}runPlayTerminatedQueue_(){let e=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],e.forEach(function(e){e()})}runPlayCallbacks_(e){let t=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],t.forEach(function(t){t(e)})}pause(){this.techCall_(`pause`)}paused(){return this.techGet_(`paused`)!==!1}played(){return this.techGet_(`played`)||vn(0,0)}scrubbing(e){if(e===void 0)return this.scrubbing_;this.scrubbing_=!!e,this.techCall_(`setScrubbing`,this.scrubbing_),e?this.addClass(`vjs-scrubbing`):this.removeClass(`vjs-scrubbing`)}currentTime(e){if(e===void 0)return this.cache_.currentTime=this.techGet_(`currentTime`)||0,this.cache_.currentTime;if(e<0&&(e=0),!this.isReady_||this.changingSrc_||!this.tech_||!this.tech_.isReady_){this.cache_.initTime=e,this.off(`canplay`,this.boundApplyInitTime_),this.one(`canplay`,this.boundApplyInitTime_);return}this.techCall_(`setCurrentTime`,e),this.cache_.initTime=0,isFinite(e)&&(this.cache_.currentTime=Number(e))}applyInitTime_(){this.currentTime(this.cache_.initTime)}duration(e){if(e===void 0)return this.cache_.duration===void 0?NaN:this.cache_.duration;e=parseFloat(e),e<0&&(e=1/0),e!==this.cache_.duration&&(this.cache_.duration=e,e===1/0?this.addClass(`vjs-live`):this.removeClass(`vjs-live`),isNaN(e)||this.trigger(`durationchange`))}remainingTime(){return this.duration()-this.currentTime()}remainingTimeDisplay(){return Math.floor(this.duration())-Math.floor(this.currentTime())}buffered(){let e=this.techGet_(`buffered`);return(!e||!e.length)&&(e=vn(0,0)),e}seekable(){let e=this.techGet_(`seekable`);return(!e||!e.length)&&(e=vn(0,0)),e}seeking(){return this.techGet_(`seeking`)}ended(){return this.techGet_(`ended`)}networkState(){return this.techGet_(`networkState`)}readyState(){return this.techGet_(`readyState`)}bufferedPercent(){return Tn(this.buffered(),this.duration())}bufferedEnd(){let e=this.buffered(),t=this.duration(),n=e.end(e.length-1);return n>t&&(n=t),n}volume(e){let t;if(e!==void 0){t=Math.max(0,Math.min(1,e)),this.cache_.volume=t,this.techCall_(`setVolume`,t),t>0&&this.lastVolume_(t);return}return t=parseFloat(this.techGet_(`volume`)),isNaN(t)?1:t}muted(e){if(e!==void 0){this.techCall_(`setMuted`,e);return}return this.techGet_(`muted`)||!1}defaultMuted(e){return e!==void 0&&this.techCall_(`setDefaultMuted`,e),this.techGet_(`defaultMuted`)||!1}lastVolume_(e){if(e!==void 0&&e!==0){this.cache_.lastVolume=e;return}return this.cache_.lastVolume}supportsFullScreen(){return this.techGet_(`supportsFullScreen`)||!1}isFullscreen(e){if(e!==void 0){let t=this.isFullscreen_;this.isFullscreen_=!!e,this.isFullscreen_!==t&&this.fsApi_.prefixed&&this.trigger(`fullscreenchange`),this.toggleFullscreenClass_();return}return this.isFullscreen_}requestFullscreen(e){this.isInPictureInPicture()&&this.exitPictureInPicture();let t=this;return new Promise((n,r)=>{function i(){t.off(`fullscreenerror`,o),t.off(`fullscreenchange`,a)}function a(){i(),n()}function o(e,t){i(),r(t)}t.one(`fullscreenchange`,a),t.one(`fullscreenerror`,o);let s=t.requestFullscreenHelper_(e);s&&(s.then(i,i),s.then(n,r))})}requestFullscreenHelper_(e){let t;if(this.fsApi_.prefixed||(t=this.options_.fullscreen&&this.options_.fullscreen.options||{},e!==void 0&&(t=e)),this.fsApi_.requestFullscreen){let e=this.el_[this.fsApi_.requestFullscreen](t);return e&&e.then(()=>this.isFullscreen(!0),()=>this.isFullscreen(!1)),e}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_(`enterFullScreen`):this.enterFullWindow()}exitFullscreen(){let e=this;return new Promise((t,n)=>{function r(){e.off(`fullscreenerror`,a),e.off(`fullscreenchange`,i)}function i(){r(),t()}function a(e,t){r(),n(t)}e.one(`fullscreenchange`,i),e.one(`fullscreenerror`,a);let o=e.exitFullscreenHelper_();o&&(o.then(r,r),o.then(t,n))})}exitFullscreenHelper_(){if(this.fsApi_.requestFullscreen){let e=b.default[this.fsApi_.exitFullscreen]();return e&&Dn(e.then(()=>this.isFullscreen(!1))),e}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_(`exitFullScreen`):this.exitFullWindow()}enterFullWindow(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=b.default.documentElement.style.overflow,Vt(b.default,`keydown`,this.boundFullWindowOnEscKey_),b.default.documentElement.style.overflow=`hidden`,tt(b.default.body,`vjs-full-window`),this.trigger(`enterFullWindow`)}fullWindowOnEscKey(e){e.key===`Escape`&&this.isFullscreen()===!0&&(this.isFullWindow?this.exitFullWindow():this.exitFullscreen())}exitFullWindow(){this.isFullscreen(!1),this.isFullWindow=!1,Ht(b.default,`keydown`,this.boundFullWindowOnEscKey_),b.default.documentElement.style.overflow=this.docOrigOverflow,nt(b.default.body,`vjs-full-window`),this.trigger(`exitFullWindow`)}disablePictureInPicture(e){if(e===void 0)return this.techGet_(`disablePictureInPicture`);this.techCall_(`setDisablePictureInPicture`,e),this.options_.disablePictureInPicture=e,this.trigger(`disablepictureinpicturechanged`)}isInPictureInPicture(e){if(e!==void 0){this.isInPictureInPicture_=!!e,this.togglePictureInPictureClass_();return}return!!this.isInPictureInPicture_}requestPictureInPicture(){if(this.options_.enableDocumentPictureInPicture&&y.default.documentPictureInPicture){let e=b.default.createElement(this.el().tagName);return e.classList=this.el().classList,e.classList.add(`vjs-pip-container`),this.posterImage&&e.appendChild(this.posterImage.el().cloneNode(!0)),this.titleBar&&e.appendChild(this.titleBar.el().cloneNode(!0)),e.appendChild(U(`p`,{className:`vjs-pip-text`},{},this.localize(`Playing in picture-in-picture`))),y.default.documentPictureInPicture.requestWindow({width:this.videoWidth(),height:this.videoHeight()}).then(t=>(Ct(t),this.el_.parentNode.insertBefore(e,this.el_),t.document.body.appendChild(this.el_),t.document.body.classList.add(`vjs-pip-window`),this.player_.isInPictureInPicture(!0),this.player_.trigger({type:`enterpictureinpicture`,pipWindow:t}),t.addEventListener(`pagehide`,t=>{let n=t.target.querySelector(`.video-js`);e.parentNode.replaceChild(n,e),this.player_.isInPictureInPicture(!1),this.player_.trigger(`leavepictureinpicture`)}),t))}return`pictureInPictureEnabled`in b.default&&this.disablePictureInPicture()===!1?this.techGet_(`requestPictureInPicture`):Promise.reject(`No PiP mode is available`)}exitPictureInPicture(){if(y.default.documentPictureInPicture&&y.default.documentPictureInPicture.window)return y.default.documentPictureInPicture.window.close(),Promise.resolve();if(`pictureInPictureEnabled`in b.default)return b.default.exitPictureInPicture()}handleKeyDown(e){let{userActions:t}=this.options_;!t||!t.hotkeys||(e=>{let t=e.tagName.toLowerCase();return e.isContentEditable?!0:t===`input`?[`button`,`checkbox`,`hidden`,`radio`,`reset`,`submit`].indexOf(e.type)===-1:[`textarea`].indexOf(t)!==-1})(this.el_.ownerDocument.activeElement)||(typeof t.hotkeys==`function`?t.hotkeys.call(this,e):this.handleHotkeys(e))}handleHotkeys(e){let{fullscreenKey:t=t=>e.key.toLowerCase()===`f`,muteKey:n=t=>e.key.toLowerCase()===`m`,playPauseKey:r=t=>e.key.toLowerCase()===`k`||e.key.toLowerCase()===` `}=this.options_.userActions?this.options_.userActions.hotkeys:{};if(t.call(this,e)){e.preventDefault(),e.stopPropagation();let t=K.getComponent(`FullscreenToggle`);b.default[this.fsApi_.fullscreenEnabled]!==!1&&t.prototype.handleClick.call(this,e)}else n.call(this,e)?(e.preventDefault(),e.stopPropagation(),K.getComponent(`MuteToggle`).prototype.handleClick.call(this,e)):r.call(this,e)&&(e.preventDefault(),e.stopPropagation(),K.getComponent(`PlayToggle`).prototype.handleClick.call(this,e))}canPlayType(e){let t;for(let n=0,r=this.options_.techOrder;n<r.length;n++){let i=r[n],a=J.getTech(i);if(a||=K.getComponent(i),!a){P.error(`The "${i}" tech is undefined. Skipped browser support check for that tech.`);continue}if(a.isSupported()&&(t=a.canPlayType(e),t))return t}return``}selectSource(e){let t=this.options_.techOrder.map(e=>[e,J.getTech(e)]).filter(([e,t])=>t?t.isSupported():(P.error(`The "${e}" tech is undefined. Skipped browser support check for that tech.`),!1)),n=function(e,t,n){let r;return e.some(e=>t.some(t=>{if(r=n(e,t),r)return!0})),r},r,i=e=>(t,n)=>e(n,t),a=([e,t],n)=>{if(t.canPlaySource(n,this.options_[e.toLowerCase()]))return{source:n,tech:e}};return r=this.options_.sourceOrder?n(e,t,i(a)):n(t,e,a),r||!1}handleSrc_(e,t){if(e===void 0)return this.cache_.src||``;this.resetRetryOnError_&&this.resetRetryOnError_();let n=Er(e);if(!n.length){this.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage})},0);return}if(this.changingSrc_=!0,t||(this.cache_.sources=n),this.updateSourceCaches_(n[0]),ur(this,n[0],(e,r)=>{if(this.middleware_=r,t||(this.cache_.sources=n),this.updateSourceCaches_(e),this.src_(e)){if(n.length>1)return this.handleSrc_(n.slice(1));this.changingSrc_=!1,this.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage})},0),this.triggerReady();return}dr(r,this.tech_)}),n.length>1){let e=()=>{this.error(null),this.handleSrc_(n.slice(1),!0)},t=()=>{this.off(`error`,e)};this.one(`error`,e),this.one(`playing`,t),this.resetRetryOnError_=()=>{this.off(`error`,e),this.off(`playing`,t)}}}src(e){return this.handleSrc_(e,!1)}src_(e){let t=this.selectSource([e]);return t?pn(t.tech,this.techName_)?(this.ready(function(){this.tech_.constructor.prototype.hasOwnProperty(`setSource`)?this.techCall_(`setSource`,e):this.techCall_(`src`,e.src),this.changingSrc_=!1},!0),!1):(this.changingSrc_=!0,this.loadTech_(t.tech,t.source),this.tech_.ready(()=>{this.changingSrc_=!1}),!1):!0}addSourceElement(e,t){return this.tech_?this.tech_.addSourceElement(e,t):!1}removeSourceElement(e){return this.tech_?this.tech_.removeSourceElement(e):!1}load(){if(this.tech_&&this.tech_.vhs){this.src(this.currentSource());return}this.techCall_(`load`)}reset(){this.paused()?this.doReset_():Dn(this.play().then(()=>this.doReset_()))}doReset_(){this.tech_&&this.tech_.clearTracks(`text`),this.removeClass(`vjs-playing`),this.addClass(`vjs-paused`),this.resetCache_(),this.poster(``),this.loadTech_(this.options_.techOrder[0],null),this.techCall_(`reset`),this.resetControlBarUI_(),this.error(null),this.titleBar&&this.titleBar.update({title:void 0,description:void 0}),$t(this)&&this.trigger(`playerreset`)}resetControlBarUI_(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()}resetProgressBar_(){this.currentTime(0);let{currentTimeDisplay:e,durationDisplay:t,progressControl:n,remainingTimeDisplay:r}=this.controlBar||{},{seekBar:i}=n||{};e&&e.updateContent(),t&&t.updateContent(),r&&r.updateContent(),i&&(i.update(),i.loadProgressBar&&i.loadProgressBar.update())}resetPlaybackRate_(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()}resetVolumeBar_(){this.volume(1),this.trigger(`volumechange`)}currentSources(){let e=this.currentSource(),t=[];return Object.keys(e).length!==0&&t.push(e),this.cache_.sources||t}currentSource(){return this.cache_.source||{}}currentSrc(){return this.currentSource()&&this.currentSource().src||``}currentType(){return this.currentSource()&&this.currentSource().type||``}preload(e){if(e!==void 0){this.techCall_(`setPreload`,e),this.options_.preload=e;return}return this.techGet_(`preload`)}autoplay(e){if(e===void 0)return this.options_.autoplay||!1;let t;typeof e==`string`&&/(any|play|muted)/.test(e)||e===!0&&this.options_.normalizeAutoplay?(this.options_.autoplay=e,this.manualAutoplay_(typeof e==`string`?e:`play`),t=!1):e?this.options_.autoplay=!0:this.options_.autoplay=!1,t=t===void 0?this.options_.autoplay:t,this.tech_&&this.techCall_(`setAutoplay`,t)}playsinline(e){return e!==void 0&&(this.techCall_(`setPlaysinline`,e),this.options_.playsinline=e),this.techGet_(`playsinline`)}loop(e){if(e!==void 0){this.techCall_(`setLoop`,e),this.options_.loop=e;return}return this.techGet_(`loop`)}poster(e){if(e===void 0)return this.poster_;e||=``,e!==this.poster_&&(this.poster_=e,this.techCall_(`setPoster`,e),this.isPosterFromTech_=!1,this.trigger(`posterchange`))}handleTechPosterChange_(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){let e=this.tech_.poster()||``;e!==this.poster_&&(this.poster_=e,this.isPosterFromTech_=!0,this.trigger(`posterchange`))}}controls(e){if(e===void 0)return!!this.controls_;e=!!e,this.controls_!==e&&(this.controls_=e,this.usingNativeControls()&&this.techCall_(`setControls`,e),this.controls_?(this.removeClass(`vjs-controls-disabled`),this.addClass(`vjs-controls-enabled`),this.trigger(`controlsenabled`),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass(`vjs-controls-enabled`),this.addClass(`vjs-controls-disabled`),this.trigger(`controlsdisabled`),this.usingNativeControls()||this.removeTechControlsListeners_()))}usingNativeControls(e){if(e===void 0)return!!this.usingNativeControls_;e=!!e,this.usingNativeControls_!==e&&(this.usingNativeControls_=e,this.usingNativeControls_?(this.addClass(`vjs-using-native-controls`),this.trigger(`usingnativecontrols`)):(this.removeClass(`vjs-using-native-controls`),this.trigger(`usingcustomcontrols`)))}error(e){if(e===void 0)return this.error_||null;if(A(`beforeerror`).forEach(t=>{let n=t(this,e);if(!(Ce(n)&&!Array.isArray(n)||typeof n==`string`||typeof n==`number`||n===null)){this.log.error(`please return a value that MediaError expects in beforeerror hooks`);return}e=n}),this.options_.suppressNotSupportedError&&e&&e.code===4){let t=function(){this.error(e)};this.options_.suppressNotSupportedError=!1,this.any([`click`,`touchstart`],t),this.one(`loadstart`,function(){this.off([`click`,`touchstart`],t)});return}if(e===null){this.error_=null,this.removeClass(`vjs-error`),this.errorDisplay&&this.errorDisplay.close();return}this.error_=new q(e),this.addClass(`vjs-error`),P.error(`(CODE:${this.error_.code} ${q.errorTypes[this.error_.code]})`,this.error_.message,this.error_),this.trigger(`error`),A(`error`).forEach(e=>e(this,this.error_))}reportUserActivity(e){this.userActivity_=!0}userActive(e){if(e===void 0)return this.userActive_;if(e=!!e,e!==this.userActive_){if(this.userActive_=e,this.userActive_){this.userActivity_=!0,this.removeClass(`vjs-user-inactive`),this.addClass(`vjs-user-active`),this.trigger(`useractive`);return}this.tech_&&this.tech_.one(`mousemove`,function(e){e.stopPropagation(),e.preventDefault()}),this.userActivity_=!1,this.removeClass(`vjs-user-active`),this.addClass(`vjs-user-inactive`),this.trigger(`userinactive`)}}listenForUserActivity_(){let e,t,n,r=W(this,this.reportUserActivity),i=function(e){(e.screenX!==t||e.screenY!==n)&&(t=e.screenX,n=e.screenY,r())},a=function(){r(),this.clearInterval(e),e=this.setInterval(r,250)},o=function(t){r(),this.clearInterval(e)};this.on(`mousedown`,a),this.on(`mousemove`,i),this.on(`mouseup`,o),this.on(`mouseleave`,o);let s=this.getChild(`controlBar`);s&&!Ue&&!R&&(s.on(`mouseenter`,function(e){this.player().options_.inactivityTimeout!==0&&(this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout),this.player().options_.inactivityTimeout=0}),s.on(`mouseleave`,function(e){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout})),this.on(`keydown`,r),this.on(`keyup`,r);let c;this.setInterval(function(){if(!this.userActivity_)return;this.userActivity_=!1,this.userActive(!0),this.clearTimeout(c);let e=this.options_.inactivityTimeout;e<=0||(c=this.setTimeout(function(){this.userActivity_||this.userActive(!1)},e))},250)}playbackRate(e){if(e!==void 0){this.techCall_(`setPlaybackRate`,e);return}return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_(`playbackRate`):1}defaultPlaybackRate(e){return e===void 0?this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_(`defaultPlaybackRate`):1:this.techCall_(`setDefaultPlaybackRate`,e)}isAudio(e){if(e!==void 0){this.isAudio_=!!e;return}return!!this.isAudio_}updatePlayerHeightOnAudioOnlyMode_(){let e=this.getChild(`ControlBar`);!e||this.audioOnlyCache_.controlBarHeight===e.currentHeight()||(this.audioOnlyCache_.controlBarHeight=e.currentHeight(),this.height(this.audioOnlyCache_.controlBarHeight))}enableAudioOnlyUI_(){this.addClass(`vjs-audio-only-mode`);let e=this.children(),t=this.getChild(`ControlBar`),n=t&&t.currentHeight();e.forEach(e=>{e!==t&&e.el_&&!e.hasClass(`vjs-hidden`)&&(e.hide(),this.audioOnlyCache_.hiddenChildren.push(e))}),this.audioOnlyCache_.playerHeight=this.currentHeight(),this.audioOnlyCache_.controlBarHeight=n,this.on(`playerresize`,this.boundUpdatePlayerHeightOnAudioOnlyMode_),this.height(n),this.trigger(`audioonlymodechange`)}disableAudioOnlyUI_(){this.removeClass(`vjs-audio-only-mode`),this.off(`playerresize`,this.boundUpdatePlayerHeightOnAudioOnlyMode_),this.audioOnlyCache_.hiddenChildren.forEach(e=>e.show()),this.height(this.audioOnlyCache_.playerHeight),this.trigger(`audioonlymodechange`)}audioOnlyMode(e){if(typeof e!=`boolean`||e===this.audioOnlyMode_)return this.audioOnlyMode_;if(this.audioOnlyMode_=e,e){let e=[];return this.isInPictureInPicture()&&e.push(this.exitPictureInPicture()),this.isFullscreen()&&e.push(this.exitFullscreen()),this.audioPosterMode()&&e.push(this.audioPosterMode(!1)),Promise.all(e).then(()=>this.enableAudioOnlyUI_())}return Promise.resolve().then(()=>this.disableAudioOnlyUI_())}enablePosterModeUI_(){(this.tech_&&this.tech_).hide(),this.addClass(`vjs-audio-poster-mode`),this.trigger(`audiopostermodechange`)}disablePosterModeUI_(){(this.tech_&&this.tech_).show(),this.removeClass(`vjs-audio-poster-mode`),this.trigger(`audiopostermodechange`)}audioPosterMode(e){return typeof e!=`boolean`||e===this.audioPosterMode_?this.audioPosterMode_:(this.audioPosterMode_=e,e?this.audioOnlyMode()?this.audioOnlyMode(!1).then(()=>{this.enablePosterModeUI_()}):Promise.resolve().then(()=>{this.enablePosterModeUI_()}):Promise.resolve().then(()=>{this.disablePosterModeUI_()}))}addTextTrack(e,t,n){if(this.tech_)return this.tech_.addTextTrack(e,t,n)}addRemoteTextTrack(e,t){if(this.tech_)return this.tech_.addRemoteTextTrack(e,t)}removeRemoteTextTrack(e={}){let{track:t}=e;if(t||=e,this.tech_)return this.tech_.removeRemoteTextTrack(t)}getVideoPlaybackQuality(){return this.techGet_(`getVideoPlaybackQuality`)}videoWidth(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0}videoHeight(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0}language(e){if(e===void 0)return this.language_;this.language_!==String(e).toLowerCase()&&(this.language_=String(e).toLowerCase(),$t(this)&&this.trigger(`languagechange`))}languages(){return L(e.prototype.options_.languages,this.languages_)}toJSON(){let e=L(this.options_),t=e.tracks;e.tracks=[];for(let n=0;n<t.length;n++){let r=t[n];r=L(r),r.player=void 0,e.tracks[n]=r}return e}createModal(e,t){t||={},t.content=e||``;let n=new jn(this,t);return this.addChild(n),n.on(`dispose`,()=>{this.removeChild(n)}),n.open(),n}updateCurrentBreakpoint_(){if(!this.responsive())return;let e=this.currentBreakpoint(),t=this.currentWidth();for(let n=0;n<ka.length;n++){let r=ka[n];if(t<=this.breakpoints_[r]){if(e===r)return;e&&this.removeClass(Aa[e]),this.addClass(Aa[r]),this.breakpoint_=r;break}}}removeCurrentBreakpoint_(){let e=this.currentBreakpointClass();this.breakpoint_=``,e&&this.removeClass(e)}breakpoints(e){return e===void 0?Object.assign(this.breakpoints_):(this.breakpoint_=``,this.breakpoints_=Object.assign({},ja,e),this.updateCurrentBreakpoint_(),Object.assign(this.breakpoints_))}responsive(e){if(e===void 0)return this.responsive_;e=!!e;let t=this.responsive_;if(e!==t)return this.responsive_=e,e?(this.on(`playerresize`,this.boundUpdateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off(`playerresize`,this.boundUpdateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),e}currentBreakpoint(){return this.breakpoint_}currentBreakpointClass(){return Aa[this.breakpoint_]||``}loadMedia(e,t){if(!e||typeof e!=`object`)return;let n=this.crossOrigin();this.reset(),this.cache_.media=L(e);let{artist:r,artwork:i,description:a,poster:o,src:s,textTracks:c,title:l}=this.cache_.media;!i&&o&&(this.cache_.media.artwork=[{src:o,type:wr(o)}]),n&&this.crossOrigin(n),s&&this.src(s),o&&this.poster(o),Array.isArray(c)&&c.forEach(e=>this.addRemoteTextTrack(e,!1)),this.titleBar&&this.titleBar.update({title:l,description:a||r||``}),this.ready(t)}getMedia(){if(!this.cache_.media){let e=this.poster(),t={src:this.currentSources(),textTracks:Array.prototype.map.call(this.remoteTextTracks(),e=>({kind:e.kind,label:e.label,language:e.language,src:e.src}))};return e&&(t.poster=e,t.artwork=[{src:t.poster,type:wr(t.poster)}]),t}return L(this.cache_.media)}static getTagSettings(e){let t={sources:[],tracks:[]},n=at(e),r=n[`data-setup`];if(et(e,`vjs-fill`)&&(n.fill=!0),et(e,`vjs-fluid`)&&(n.fluid=!0),r!==null)try{Object.assign(n,JSON.parse(r||`{}`))}catch(e){P.error(`data-setup`,e)}if(Object.assign(t,n),e.hasChildNodes()){let n=e.childNodes;for(let e=0,r=n.length;e<r;e++){let r=n[e],i=r.nodeName.toLowerCase();i===`source`?t.sources.push(at(r)):i===`track`&&t.tracks.push(at(r))}}return t}debug(e){if(e===void 0)return this.debugEnabled_;e?(this.trigger(`debugon`),this.previousLogLevel_=this.log.level,this.log.level(`debug`),this.debugEnabled_=!0):(this.trigger(`debugoff`),this.log.level(this.previousLogLevel_),this.previousLogLevel_=void 0,this.debugEnabled_=!1)}playbackRates(e){if(e===void 0)return this.cache_.playbackRates;Array.isArray(e)&&e.every(e=>typeof e==`number`)&&(this.cache_.playbackRates=e,this.trigger(`playbackrateschange`))}};Z.prototype.videoTracks=()=>{},Z.prototype.audioTracks=()=>{},Z.prototype.textTracks=()=>{},Z.prototype.remoteTextTracks=()=>{},Z.prototype.remoteTextTrackEls=()=>{},ir.names.forEach(function(e){let t=ir[e];Z.prototype[t.getterName]=function(){return this.tech_?this.tech_[t.getterName]():(this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName])}}),Z.prototype.crossorigin=Z.prototype.crossOrigin,Z.players={};let Ma=y.default.navigator;Z.prototype.options_={techOrder:J.defaultTechOrder_,html5:{},enableSourceset:!0,inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:[`mediaLoader`,`posterImage`,`titleBar`,`textTrackDisplay`,`loadingSpinner`,`bigPlayButton`,`liveTracker`,`controlBar`,`errorDisplay`,`textTrackSettings`,`resizeManager`],language:Ma&&(Ma.languages&&Ma.languages[0]||Ma.userLanguage||Ma.language)||`en`,languages:{},notSupportedMessage:`No compatible source was found for this media.`,normalizeAutoplay:!1,fullscreen:{options:{navigationUI:`hide`}},breakpoints:{},responsive:!1,audioOnlyMode:!1,audioPosterMode:!1,spatialNavigation:{enabled:!1,horizontalSeek:!1},enableSmoothSeeking:!1,disableSeekWhileScrubbingOnMobile:!1,disableSeekWhileScrubbingOnSTV:!1},Da.forEach(function(e){Z.prototype[`handleTech${G(e)}_`]=function(){return this.trigger(e)}}),K.registerComponent(`Player`,Z);let Na=`plugin`,Pa=`activePlugins_`,Fa={},Ia=e=>Fa.hasOwnProperty(e),La=e=>Ia(e)?Fa[e]:void 0,Ra=(e,t)=>{e[Pa]=e[Pa]||{},e[Pa][t]=!0},za=(e,t,n)=>{let r=(n?`before`:``)+`pluginsetup`;e.trigger(r,t),e.trigger(r+`:`+t.name,t)},Ba=function(e,t){let n=function(){za(this,{name:e,plugin:t,instance:null},!0);let n=t.apply(this,arguments);return Ra(this,e),za(this,{name:e,plugin:t,instance:n}),n};return Object.keys(t).forEach(function(e){n[e]=t[e]}),n},Va=(e,t)=>(t.prototype.name=e,function(...n){za(this,{name:e,plugin:t,instance:null},!0);let r=new t(this,...n);return this[e]=()=>r,za(this,r.getEventHash()),r});var Ha=class e{constructor(t){if(this.constructor===e)throw Error(`Plugin must be sub-classed; not directly instantiated.`);this.player=t,this.log||=this.player.log.createLogger(this.name),ln(this),delete this.trigger,dn(this,this.constructor.defaultState),Ra(t,this.name),this.dispose=this.dispose.bind(this),t.on(`dispose`,this.dispose)}version(){return this.constructor.VERSION}getEventHash(e={}){return e.name=this.name,e.plugin=this.constructor,e.instance=this,e}trigger(e,t={}){return Ut(this.eventBusEl_,e,this.getEventHash(t))}handleStateChanged(e){}dispose(){let{name:e,player:t}=this;this.trigger(`dispose`),this.off(),t.off(`dispose`,this.dispose),t[Pa][e]=!1,this.player=this.state=null,t[e]=Va(e,Fa[e])}static isBasic(t){let n=typeof t==`string`?La(t):t;return typeof n==`function`&&!e.prototype.isPrototypeOf(n.prototype)}static registerPlugin(t,n){if(typeof t!=`string`)throw Error(`Illegal plugin name, "${t}", must be a string, was ${typeof t}.`);if(Ia(t))P.warn(`A plugin named "${t}" already exists. You may want to avoid re-registering plugins!`);else if(Z.prototype.hasOwnProperty(t))throw Error(`Illegal plugin name, "${t}", cannot share a name with an existing player method!`);if(typeof n!=`function`)throw Error(`Illegal plugin for "${t}", must be a function, was ${typeof n}.`);return Fa[t]=n,t!==Na&&(e.isBasic(n)?Z.prototype[t]=Ba(t,n):Z.prototype[t]=Va(t,n)),n}static deregisterPlugin(e){if(e===Na)throw Error(`Cannot de-register base plugin.`);Ia(e)&&(delete Fa[e],delete Z.prototype[e])}static getPlugins(e=Object.keys(Fa)){let t;return e.forEach(e=>{let n=La(e);n&&(t||={},t[e]=n)}),t}static getPluginVersion(e){let t=La(e);return t&&t.VERSION||``}};Ha.getPlugin=La,Ha.BASE_PLUGIN_NAME=Na,Ha.registerPlugin(Na,Ha),Z.prototype.usingPlugin=function(e){return!!this[Pa]&&this[Pa][e]===!0},Z.prototype.hasPlugin=function(e){return!!Ia(e)};function Ua(e,t){let n=!1;return function(...r){return n||P.warn(e),n=!0,t.apply(this,r)}}function Wa(e,t,n,r){return Ua(`${t} is deprecated and will be removed in ${e}.0; please use ${n} instead.`,r)}var Ga={NetworkBadStatus:`networkbadstatus`,NetworkRequestFailed:`networkrequestfailed`,NetworkRequestAborted:`networkrequestaborted`,NetworkRequestTimeout:`networkrequesttimeout`,NetworkBodyParserFailed:`networkbodyparserfailed`,StreamingHlsPlaylistParserError:`streaminghlsplaylistparsererror`,StreamingDashManifestParserError:`streamingdashmanifestparsererror`,StreamingContentSteeringParserError:`streamingcontentsteeringparsererror`,StreamingVttParserError:`streamingvttparsererror`,StreamingFailedToSelectNextSegment:`streamingfailedtoselectnextsegment`,StreamingFailedToDecryptSegment:`streamingfailedtodecryptsegment`,StreamingFailedToTransmuxSegment:`streamingfailedtotransmuxsegment`,StreamingFailedToAppendSegment:`streamingfailedtoappendsegment`,StreamingCodecsChangeError:`streamingcodecschangeerror`};let Ka=e=>e.indexOf(`#`)===0?e.slice(1):e;function Q(e,t,n){let r=Q.getPlayer(e);if(r)return t&&P.warn(`Player "${e}" is already initialised. Options will not be applied.`),n&&r.ready(n),r;let i=typeof e==`string`?bt(`#`+Ka(e)):e;if(!Ye(i))throw TypeError(`The element or ID supplied is not valid. (videojs)`);let a=`getRootNode`in i&&i.getRootNode()instanceof y.default.ShadowRoot?i.getRootNode():i.ownerDocument.body;return(!i.ownerDocument.defaultView||!a.contains(i))&&P.warn(`The element supplied is not included in the DOM`),t||={},t.restoreEl===!0&&(t.restoreEl=(i.parentNode&&i.parentNode.hasAttribute&&i.parentNode.hasAttribute(`data-vjs-player`)?i.parentNode:i).cloneNode(!0)),A(`beforesetup`).forEach(e=>{let n=e(i,L(t));if(!Ce(n)||Array.isArray(n)){P.error(`please return an object in beforesetup hooks`);return}t=L(t,n)}),r=new(K.getComponent(`Player`))(i,t,n),A(`setup`).forEach(e=>e(r)),r}if(Q.hooks_=k,Q.hooks=A,Q.hook=ne,Q.hookOnce=ie,Q.removeHook=j,y.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0&&Je()){let e=bt(`.vjs-styles-defaults`);if(!e){e=At(`vjs-styles-defaults`);let t=bt(`head`);t&&t.insertBefore(e,t.firstChild),jt(e,`
|
|
196
|
+
.video-js {
|
|
197
|
+
width: 300px;
|
|
198
|
+
height: 150px;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.vjs-fluid:not(.vjs-audio-only-mode) {
|
|
202
|
+
padding-top: 56.25%
|
|
203
|
+
}
|
|
204
|
+
`)}}Ot(1,Q),Q.VERSION=O,Q.options=Z.prototype.options_,Q.getPlayers=()=>Z.players,Q.getPlayer=e=>{let t=Z.players,n;if(typeof e==`string`){let r=Ka(e),i=t[r];if(i)return i;n=bt(`#`+r)}else n=e;if(Ye(n)){let{player:e,playerId:r}=n;if(e||t[r])return e||t[r]}},Q.getAllPlayers=()=>Object.keys(Z.players).map(e=>Z.players[e]).filter(Boolean),Q.players=Z.players,Q.getComponent=K.getComponent,Q.registerComponent=(e,t)=>(J.isTech(t)&&P.warn(`The ${e} tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)`),K.registerComponent.call(K,e,t)),Q.getTech=J.getTech,Q.registerTech=J.registerTech,Q.use=lr,Object.defineProperty(Q,"middleware",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(Q.middleware,"TERMINATOR",{value:cr,writeable:!1,enumerable:!0}),Q.browser=Ge,Q.obj=Ee,Q.mergeOptions=Wa(9,`videojs.mergeOptions`,`videojs.obj.merge`,L),Q.defineLazyProperty=Wa(9,`videojs.defineLazyProperty`,`videojs.obj.defineLazyProperty`,Te),Q.bind=Wa(9,`videojs.bind`,`native Function.prototype.bind`,W),Q.registerPlugin=Ha.registerPlugin,Q.deregisterPlugin=Ha.deregisterPlugin,Q.plugin=(e,t)=>(P.warn(`videojs.plugin() is deprecated; use videojs.registerPlugin() instead`),Ha.registerPlugin(e,t)),Q.getPlugins=Ha.getPlugins,Q.getPlugin=Ha.getPlugin,Q.getPluginVersion=Ha.getPluginVersion,Q.addLanguage=function(e,t){return e=(``+e).toLowerCase(),Q.options.languages=L(Q.options.languages,{[e]:t}),Q.options.languages[e]},Q.log=P,Q.createLogger=ge,Q.time=wn,Q.createTimeRange=Wa(9,`videojs.createTimeRange`,`videojs.time.createTimeRanges`,vn),Q.createTimeRanges=Wa(9,`videojs.createTimeRanges`,`videojs.time.createTimeRanges`,vn),Q.formatTime=Wa(9,`videojs.formatTime`,`videojs.time.formatTime`,Cn),Q.setFormatTime=Wa(9,`videojs.setFormatTime`,`videojs.time.setFormatTime`,xn),Q.resetFormatTime=Wa(9,`videojs.resetFormatTime`,`videojs.time.resetFormatTime`,Sn),Q.parseUrl=Wa(9,`videojs.parseUrl`,`videojs.url.parseUrl`,Gn),Q.isCrossOrigin=Wa(9,`videojs.isCrossOrigin`,`videojs.url.isCrossOrigin`,Jn),Q.EventTarget=Zt,Q.any=Gt,Q.on=Vt,Q.one=Wt,Q.off=Ht,Q.trigger=Ut,Q.xhr=x.default,Q.TrackList=Mn,Q.TextTrack=Qn,Q.TextTrackList=Ln,Q.AudioTrack=$n,Q.AudioTrackList=Pn,Q.VideoTrack=er,Q.VideoTrackList=In,[`isEl`,`isTextNode`,`createEl`,`hasClass`,`addClass`,`removeClass`,`toggleClass`,`setAttributes`,`getAttributes`,`emptyEl`,`appendContent`,`insertContent`].forEach(e=>{Q[e]=function(){return P.warn(`videojs.${e}() is deprecated; use videojs.dom.${e}() instead`),wt[e].apply(null,arguments)}}),Q.computedStyle=Wa(9,`videojs.computedStyle`,`videojs.dom.computedStyle`,St),Q.dom=wt,Q.fn=Yt,Q.num=ei,Q.str=mn,Q.url=Yn,Q.Error=Ga;
|
|
205
|
+
/*! @name videojs-contrib-quality-levels @version 4.1.0 @license Apache-2.0 */
|
|
206
|
+
var qa=class{constructor(e){let t=this;return t.id=e.id,t.label=t.id,t.width=e.width,t.height=e.height,t.bitrate=e.bandwidth,t.frameRate=e.frameRate,t.enabled_=e.enabled,Object.defineProperty(t,"enabled",{get(){return t.enabled_()},set(e){t.enabled_(e)}}),t}},Ja=class extends Q.EventTarget{constructor(){super();let e=this;return e.levels_=[],e.selectedIndex_=-1,Object.defineProperty(e,"selectedIndex",{get(){return e.selectedIndex_}}),Object.defineProperty(e,"length",{get(){return e.levels_.length}}),e[Symbol.iterator]=()=>e.levels_.values(),e}addQualityLevel(e){let t=this.getQualityLevelById(e.id);if(t)return t;let n=this.levels_.length;return t=new qa(e),``+n in this||Object.defineProperty(this,n,{get(){return this.levels_[n]}}),this.levels_.push(t),this.trigger({qualityLevel:t,type:`addqualitylevel`}),t}removeQualityLevel(e){let t=null;for(let n=0,r=this.length;n<r;n++)if(this[n]===e){t=this.levels_.splice(n,1)[0],this.selectedIndex_===n?this.selectedIndex_=-1:this.selectedIndex_>n&&this.selectedIndex_--;break}return t&&this.trigger({qualityLevel:e,type:`removequalitylevel`}),t}getQualityLevelById(e){for(let t=0,n=this.length;t<n;t++){let n=this[t];if(n.id===e)return n}return null}dispose(){this.selectedIndex_=-1,this.levels_.length=0}};Ja.prototype.allowedEvents_={change:`change`,addqualitylevel:`addqualitylevel`,removequalitylevel:`removequalitylevel`};for(let e in Ja.prototype.allowedEvents_)Ja.prototype[`on`+e]=null;var Ya=`4.1.0`;let Xa=function(e,t){let n=e.qualityLevels,r=new Ja,i=function(){r.dispose(),e.qualityLevels=n,e.off(`dispose`,i)};return e.on(`dispose`,i),e.qualityLevels=()=>r,e.qualityLevels.VERSION=Ya,r},Za=function(e){return Xa(this,Q.obj.merge({},e))};Q.registerPlugin(`qualityLevels`,Za),Za.VERSION=Ya;
|
|
207
|
+
/*! @name @videojs/http-streaming @version 3.17.3 @license Apache-2.0 */
|
|
208
|
+
let Qa=E.default,$a=(e,t)=>t&&t.responseURL&&e!==t.responseURL?t.responseURL:e,eo=e=>Q.log.debug?Q.log.debug.bind(Q,`VHS:`,`${e} >`):function(){};function $(...e){let t=Q.obj||Q;return(t.merge||t.mergeOptions).apply(t,e)}function to(...e){let t=Q.time||Q;return(t.createTimeRanges||t.createTimeRanges).apply(t,e)}function no(e){if(e.length===0)return`Buffered Ranges are empty`;let t=`Buffered Ranges:
|
|
209
|
+
`;for(let n=0;n<e.length;n++){let r=e.start(n),i=e.end(n);t+=`${r} --> ${i}. Duration (${i-r})\n`}return t}let ro=1/30,io=ro*3,ao=function(e,t){let n=[],r;if(e&&e.length)for(r=0;r<e.length;r++)t(e.start(r),e.end(r))&&n.push([e.start(r),e.end(r)]);return to(n)},oo=function(e,t){return ao(e,function(e,n){return e-io<=t&&n+io>=t})},so=function(e,t){return ao(e,function(e){return e-ro>=t})},co=function(e){if(e.length<2)return to();let t=[];for(let n=1;n<e.length;n++){let r=e.end(n-1),i=e.start(n);t.push([r,i])}return to(t)},lo=function(e,t){let n=null,r=null,i=0,a=[],o=[];if(!e||!e.length||!t||!t.length)return to();let s=e.length;for(;s--;)a.push({time:e.start(s),type:`start`}),a.push({time:e.end(s),type:`end`});for(s=t.length;s--;)a.push({time:t.start(s),type:`start`}),a.push({time:t.end(s),type:`end`});for(a.sort(function(e,t){return e.time-t.time}),s=0;s<a.length;s++)a[s].type===`start`?(i++,i===2&&(n=a[s].time)):a[s].type===`end`&&(i--,i===1&&(r=a[s].time)),n!==null&&r!==null&&(o.push([n,r]),n=null,r=null);return to(o)},uo=e=>{let t=[];if(!e||!e.length)return``;for(let n=0;n<e.length;n++)t.push(e.start(n)+` => `+e.end(n));return t.join(`, `)},fo=function(e,t,n=1){return((e.length?e.end(e.length-1):0)-t)/n},po=e=>{let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t},mo=function(e,t){if(e===t)return!1;if(!e&&t||!t&&e||e.length!==t.length)return!0;for(let n=0;n<e.length;n++)if(e.start(n)!==t.start(n)||e.end(n)!==t.end(n))return!0;return!1},ho=function(e){if(!(!e||!e.length||!e.end))return e.end(e.length-1)},go=function(e,t){let n=0;if(!e||!e.length)return n;for(let r=0;r<e.length;r++){let i=e.start(r),a=e.end(r);if(!(t>a)){if(t>i&&t<=a){n+=a-t;continue}n+=a-i}}return n},_o=(e,t)=>{if(!t.preload)return t.duration;let n=0;return(t.parts||[]).forEach(function(e){n+=e.duration}),(t.preloadHints||[]).forEach(function(t){t.type===`PART`&&(n+=e.partTargetDuration)}),n},vo=e=>(e.segments||[]).reduce((e,t,n)=>(t.parts?t.parts.forEach(function(r,i){e.push({duration:r.duration,segmentIndex:n,partIndex:i,part:r,segment:t})}):e.push({duration:t.duration,segmentIndex:n,partIndex:null,segment:t,part:null}),e),[]),yo=e=>{let t=e.segments&&e.segments.length&&e.segments[e.segments.length-1];return t&&t.parts||[]},bo=({preloadSegment:e})=>{if(!e)return;let{parts:t,preloadHints:n}=e,r=(n||[]).reduce((e,t)=>e+ +(t.type===`PART`),0);return r+=t&&t.length?t.length:0,r},xo=(e,t)=>{if(t.endList)return 0;if(e&&e.suggestedPresentationDelay)return e.suggestedPresentationDelay;let n=yo(t).length>0;return n&&t.serverControl&&t.serverControl.partHoldBack?t.serverControl.partHoldBack:n&&t.partTargetDuration?t.partTargetDuration*3:t.serverControl&&t.serverControl.holdBack?t.serverControl.holdBack:t.targetDuration?t.targetDuration*3:0},So=function(e,t){let n=0,r=t-e.mediaSequence,i=e.segments[r];if(i){if(i.start!==void 0)return{result:i.start,precise:!0};if(i.end!==void 0)return{result:i.end-i.duration,precise:!0}}for(;r--;){if(i=e.segments[r],i.end!==void 0)return{result:n+i.end,precise:!0};if(n+=_o(e,i),i.start!==void 0)return{result:n+i.start,precise:!0}}return{result:n,precise:!1}},Co=function(e,t){let n=0,r,i=t-e.mediaSequence;for(;i<e.segments.length;i++){if(r=e.segments[i],r.start!==void 0)return{result:r.start-n,precise:!0};if(n+=_o(e,r),r.end!==void 0)return{result:r.end-n,precise:!0}}return{result:-1,precise:!1}},wo=function(e,t,n){if(t===void 0&&(t=e.mediaSequence+e.segments.length),t<e.mediaSequence)return 0;let r=So(e,t);if(r.precise)return r.result;let i=Co(e,t);return i.precise?i.result:r.result+n},To=function(e,t,n){if(!e)return 0;if(typeof n!=`number`&&(n=0),t===void 0){if(e.totalDuration)return e.totalDuration;if(!e.endList)return y.default.Infinity}return wo(e,t,n)},Eo=function({defaultDuration:e,durationList:t,startIndex:n,endIndex:r}){let i=0;if(n>r&&([n,r]=[r,n]),n<0){for(let t=n;t<Math.min(0,r);t++)i+=e;n=0}for(let e=n;e<r;e++)i+=t[e].duration;return i},Do=function(e,t,n,r){if(!e||!e.segments)return null;if(e.endList)return To(e);if(t===null)return null;t||=0;let i=wo(e,e.mediaSequence+e.segments.length,t);return n&&(r=typeof r==`number`?r:xo(null,e),i-=r),Math.max(0,i)},Oo=function(e,t,n){let r=t||0,i=Do(e,t,!0,n);return i===null?to():(i<r&&(i=r),to(r,i))},ko=function({playlist:e,currentTime:t,startingSegmentIndex:n,startingPartIndex:r,startTime:i,exactManifestTimings:a}){let o=t-i,s=vo(e),c=0;for(let e=0;e<s.length;e++){let t=s[e];if(n===t.segmentIndex&&!(typeof r==`number`&&typeof t.partIndex==`number`&&r!==t.partIndex)){c=e;break}}if(o<0){if(c>0)for(let t=c-1;t>=0;t--){let n=s[t];if(o+=n.duration,a){if(o<0)continue}else if(o+ro<=0)continue;return{partIndex:n.partIndex,segmentIndex:n.segmentIndex,startTime:i-Eo({defaultDuration:e.targetDuration,durationList:s,startIndex:c,endIndex:t})}}return{partIndex:s[0]&&s[0].partIndex||null,segmentIndex:s[0]&&s[0].segmentIndex||0,startTime:t}}if(c<0){for(let n=c;n<0;n++)if(o-=e.targetDuration,o<0)return{partIndex:s[0]&&s[0].partIndex||null,segmentIndex:s[0]&&s[0].segmentIndex||0,startTime:t};c=0}for(let t=c;t<s.length;t++){let n=s[t];o-=n.duration;let r=n.duration>ro,l=o===0,u=r&&o+ro>=0;if(!((l||u)&&t!==s.length-1)){if(a){if(o>0)continue}else if(o-ro>=0)continue;return{partIndex:n.partIndex,segmentIndex:n.segmentIndex,startTime:i+Eo({defaultDuration:e.targetDuration,durationList:s,startIndex:c,endIndex:t})}}}return{segmentIndex:s[s.length-1].segmentIndex,partIndex:s[s.length-1].partIndex,startTime:t}},Ao=function(e){return e.excludeUntil&&e.excludeUntil>Date.now()},jo=function(e){return e.excludeUntil&&e.excludeUntil===1/0},Mo=function(e){let t=Ao(e);return!e.disabled&&!t},No=function(e){return e.disabled},Po=function(e){for(let t=0;t<e.segments.length;t++)if(e.segments[t].key)return!0;return!1},Fo=function(e,t){return t.attributes&&t.attributes[e]},Io=function(e,t,n,r=0){return Fo(`BANDWIDTH`,n)?(e*n.attributes.BANDWIDTH-r*8)/t:NaN},Lo=(e,t)=>{if(e.playlists.length===1)return!0;let n=t.attributes.BANDWIDTH||Number.MAX_VALUE;return e.playlists.filter(e=>Mo(e)?(e.attributes.BANDWIDTH||0)<n:!1).length===0},Ro=(e,t)=>!e&&!t||!e&&t||e&&!t?!1:!!(e===t||e.id&&t.id&&e.id===t.id||e.resolvedUri&&t.resolvedUri&&e.resolvedUri===t.resolvedUri||e.uri&&t.uri&&e.uri===t.uri),zo=function(e,t){let n=e&&e.mediaGroups&&e.mediaGroups.AUDIO||{},r=!1;for(let e in n){for(let i in n[e])if(r=t(n[e][i]),r)break;if(r)break}return!!r},Bo=e=>{if(!e||!e.playlists||!e.playlists.length)return zo(e,e=>e.playlists&&e.playlists.length||e.uri);for(let t=0;t<e.playlists.length;t++){let n=e.playlists[t],r=n.attributes&&n.attributes.CODECS;if(!(r&&r.split(`,`).every(e=>u.isAudioCodec(e)))&&!zo(e,e=>Ro(n,e)))return!1}return!0};var Vo={liveEdgeDelay:xo,duration:To,seekable:Oo,getMediaInfoForTime:ko,isEnabled:Mo,isDisabled:No,isExcluded:Ao,isIncompatible:jo,playlistEnd:Do,isAes:Po,hasAttribute:Fo,estimateSegmentRequestTime:Io,isLowestEnabledRendition:Lo,isAudioOnly:Bo,playlistMatch:Ro,segmentDurationWithParts:_o};let{log:Ho}=Q,Uo=(e,t)=>`${e}-${t}`,Wo=(e,t,n)=>`placeholder-uri-${e}-${t}-${n}`,Go=({onwarn:e,oninfo:t,manifestString:n,customTagParsers:r=[],customTagMappers:i=[],llhls:a})=>{let o=new c.Parser;e&&o.on(`warn`,e),t&&o.on(`info`,t),r.forEach(e=>o.addParser(e)),i.forEach(e=>o.addTagMapper(e)),o.push(n),o.end();let s=o.manifest;if(a||([`preloadSegment`,`skip`,`serverControl`,`renditionReports`,`partInf`,`partTargetDuration`].forEach(function(e){s.hasOwnProperty(e)&&delete s[e]}),s.segments&&s.segments.forEach(function(e){[`parts`,`preloadHints`].forEach(function(t){e.hasOwnProperty(t)&&delete e[t]})})),!s.targetDuration){let t=10;s.segments&&s.segments.length&&(t=s.segments.reduce((e,t)=>Math.max(e,t.duration),0)),e&&e({message:`manifest has no targetDuration defaulting to ${t}`}),s.targetDuration=t}let l=yo(s);if(l.length&&!s.partTargetDuration){let t=l.reduce((e,t)=>Math.max(e,t.duration),0);e&&(e({message:`manifest has no partTargetDuration defaulting to ${t}`}),Ho.error(`LL-HLS manifest has parts but lacks required #EXT-X-PART-INF:PART-TARGET value. See https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-09#section-4.4.3.7. Playback is not guaranteed.`)),s.partTargetDuration=t}return s},Ko=(e,t)=>{e.mediaGroups&&[`AUDIO`,`SUBTITLES`].forEach(n=>{if(e.mediaGroups[n])for(let r in e.mediaGroups[n])for(let i in e.mediaGroups[n][r]){let a=e.mediaGroups[n][r][i];t(a,n,r,i)}})},qo=({playlist:e,uri:t,id:n})=>{e.id=n,e.playlistErrors_=0,t&&(e.uri=t),e.attributes=e.attributes||{}},Jo=e=>{let t=e.playlists.length;for(;t--;){let n=e.playlists[t];qo({playlist:n,id:Uo(t,n.uri)}),n.resolvedUri=Qa(e.uri,n.uri),e.playlists[n.id]=n,e.playlists[n.uri]=n,n.attributes.BANDWIDTH||Ho.warn(`Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute.`)}},Yo=e=>{Ko(e,t=>{t.uri&&(t.resolvedUri=Qa(e.uri,t.uri))})},Xo=(e,t)=>{let n=Uo(0,t),r={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:y.default.location.href,resolvedUri:y.default.location.href,playlists:[{uri:t,id:n,resolvedUri:t,attributes:{}}]};return r.playlists[n]=r.playlists[0],r.playlists[t]=r.playlists[0],r},Zo=(e,t,n=Wo)=>{e.uri=t;for(let t=0;t<e.playlists.length;t++)if(!e.playlists[t].uri){let n=`placeholder-uri-${t}`;e.playlists[t].uri=n}let r=Bo(e);Ko(e,(t,i,a,o)=>{if(!t.playlists||!t.playlists.length){if(r&&i===`AUDIO`&&!t.uri)for(let t=0;t<e.playlists.length;t++){let n=e.playlists[t];if(n.attributes&&n.attributes.AUDIO&&n.attributes.AUDIO===a)return}t.playlists=[T.default({},t)]}t.playlists.forEach(function(t,r){let s=n(i,a,o,t),c=Uo(r,s);t.uri?t.resolvedUri=t.resolvedUri||Qa(e.uri,t.uri):(t.uri=r===0?s:c,t.resolvedUri=t.uri),t.id=t.id||c,t.attributes=t.attributes||{},e.playlists[t.id]=t,e.playlists[t.uri]=t})}),Jo(e),Yo(e)};var Qo=class{constructor(){this.offset_=null,this.pendingDateRanges_=new Map,this.processedDateRanges_=new Map}setOffset(e=[]){if(this.offset_!==null||!e.length)return;let[t]=e;t.programDateTime!==void 0&&(this.offset_=t.programDateTime/1e3)}setPendingDateRanges(e=[]){if(!e.length)return;let[t]=e,n=t.startDate.getTime();this.trimProcessedDateRanges_(n),this.pendingDateRanges_=e.reduce((e,t)=>(e.set(t.id,t),e),new Map)}processDateRange(e){this.pendingDateRanges_.delete(e.id),this.processedDateRanges_.set(e.id,e)}getDateRangesToProcess(){if(this.offset_===null)return[];let e={},t=[];this.pendingDateRanges_.forEach((n,r)=>{this.processedDateRanges_.has(r)||(n.startTime=n.startDate.getTime()/1e3-this.offset_,n.processDateRange=()=>this.processDateRange(n),t.push(n),n.class&&(e[n.class]?n.classListIndex=e[n.class].push(n)-1:(e[n.class]=[n],n.classListIndex=0)))});for(let n of t){let t=e[n.class]||[];n.endDate?n.endTime=n.endDate.getTime()/1e3-this.offset_:n.endOnNext&&t[n.classListIndex+1]?n.endTime=t[n.classListIndex+1].startTime:n.duration?n.endTime=n.startTime+n.duration:n.plannedDuration?n.endTime=n.startTime+n.plannedDuration:n.endTime=n.startTime}return t}trimProcessedDateRanges_(e){new Map(this.processedDateRanges_).forEach((t,n)=>{t.startDate.getTime()<e&&this.processedDateRanges_.delete(n)})}};let $o=({requestType:e,request:t,error:n,parseFailure:r})=>{let i=t.status<200||t.status>299,a=t.status>=400&&t.status<=499,o={uri:t.uri,requestType:e},s=i&&!a||r;return n&&a?(o.error=T.default({},n),o.errorType=Q.Error.NetworkRequestFailed):t.aborted?o.errorType=Q.Error.NetworkRequestAborted:t.timedout?o.errorType=Q.Error.NetworkRequestTimeout:s&&(o.errorType=r?Q.Error.NetworkBodyParserFailed:Q.Error.NetworkBadStatus,o.status=t.status,o.headers=t.headers),o},es=eo(`CodecUtils`),ts=function(e){let t=e.attributes||{};if(t.CODECS)return u.parseCodecs(t.CODECS)},ns=(e,t)=>{let n=t.attributes||{};return e&&e.mediaGroups&&e.mediaGroups.AUDIO&&n.AUDIO&&e.mediaGroups.AUDIO[n.AUDIO]},rs=(e,t)=>{if(!ns(e,t))return!0;let n=t.attributes||{},r=e.mediaGroups.AUDIO[n.AUDIO];for(let e in r)if(!r[e].uri&&!r[e].playlists)return!0;return!1},is=function(e){let t={};return e.forEach(({mediaType:e,type:n,details:r})=>{t[e]=t[e]||[],t[e].push(u.translateLegacyCodec(`${n}${r}`))}),Object.keys(t).forEach(function(e){if(t[e].length>1){es(`multiple ${e} codecs found as attributes: ${t[e].join(`, `)}. Setting playlist codecs to null so that we wait for mux.js to probe segments for real codecs.`),t[e]=null;return}t[e]=t[e][0]}),t},as=function(e){let t=0;return e.audio&&t++,e.video&&t++,t},os=function(e,t){let n=t.attributes||{},r=is(ts(t)||[]);if(ns(e,t)&&!r.audio&&!rs(e,t)){let t=is(u.codecsFromDefault(e,n.AUDIO)||[]);t.audio&&(r.audio=t.audio)}return r},{EventTarget:ss}=Q,cs=(e,t)=>{if(t.endList||!t.serverControl)return e;let n={};if(t.serverControl.canBlockReload){let{preloadSegment:e}=t,r=t.mediaSequence+t.segments.length;if(e){let i=e.parts||[],a=bo(t)-1;a>-1&&a!==i.length-1&&(n._HLS_part=a),(a>-1||i.length)&&r--}n._HLS_msn=r}if(t.serverControl&&t.serverControl.canSkipUntil&&(n._HLS_skip=t.serverControl.canSkipDateranges?`v2`:`YES`),Object.keys(n).length){let t=new y.default.URL(e);[`_HLS_skip`,`_HLS_msn`,`_HLS_part`].forEach(function(e){n.hasOwnProperty(e)&&t.searchParams.set(e,n[e])}),e=t.toString()}return e},ls=(e,t)=>{if(!e)return t;let n=$(e,t);if(e.preloadHints&&!t.preloadHints&&delete n.preloadHints,e.parts&&!t.parts)delete n.parts;else if(e.parts&&t.parts)for(let r=0;r<t.parts.length;r++)e.parts&&e.parts[r]&&(n.parts[r]=$(e.parts[r],t.parts[r]));return!e.skipped&&t.skipped&&(n.skipped=!1),e.preload&&!t.preload&&(n.preload=!1),n},us=(e,t,n)=>{let r=e.slice(),i=t.slice();n||=0;let a=[],o;for(let e=0;e<i.length;e++){let t=r[e+n],s=i[e];t?(o=t.map||o,a.push(ls(t,s))):(o&&!s.map&&(s.map=o),a.push(s))}return a},ds=(e,t)=>{!e.resolvedUri&&e.uri&&(e.resolvedUri=Qa(t,e.uri)),e.key&&!e.key.resolvedUri&&(e.key.resolvedUri=Qa(t,e.key.uri)),e.map&&!e.map.resolvedUri&&(e.map.resolvedUri=Qa(t,e.map.uri)),e.map&&e.map.key&&!e.map.key.resolvedUri&&(e.map.key.resolvedUri=Qa(t,e.map.key.uri)),e.parts&&e.parts.length&&e.parts.forEach(e=>{e.resolvedUri||=Qa(t,e.uri)}),e.preloadHints&&e.preloadHints.length&&e.preloadHints.forEach(e=>{e.resolvedUri||=Qa(t,e.uri)})},fs=function(e){let t=e.segments||[],n=e.preloadSegment;if(n&&n.parts&&n.parts.length){if(n.preloadHints){for(let e=0;e<n.preloadHints.length;e++)if(n.preloadHints[e].type===`MAP`)return t}n.duration=e.targetDuration,n.preload=!0,t.push(n)}return t},ps=(e,t)=>e===t||e.segments&&t.segments&&e.segments.length===t.segments.length&&e.endList===t.endList&&e.mediaSequence===t.mediaSequence&&e.preloadSegment===t.preloadSegment,ms=(e,t,n=ps)=>{let r=$(e,{}),i=r.playlists[t.id];if(!i||n(i,t))return null;t.segments=fs(t);let a=$(i,t);if(a.preloadSegment&&!t.preloadSegment&&delete a.preloadSegment,i.segments){if(t.skip){t.segments=t.segments||[];for(let e=0;e<t.skip.skippedSegments;e++)t.segments.unshift({skipped:!0})}a.segments=us(i.segments,t.segments,t.mediaSequence-i.mediaSequence)}a.segments.forEach(e=>{ds(e,a.resolvedUri)});for(let e=0;e<r.playlists.length;e++)r.playlists[e].id===t.id&&(r.playlists[e]=a);return r.playlists[t.id]=a,r.playlists[t.uri]=a,Ko(e,(e,n,r,i)=>{if(e.playlists)for(let n=0;n<e.playlists.length;n++)t.id===e.playlists[n].id&&(e.playlists[n]=a)}),r},hs=(e,t)=>{let n=e.segments||[],r=n[n.length-1],i=r&&r.parts&&r.parts[r.parts.length-1],a=i&&i.duration||r&&r.duration;return t&&a?a*1e3:(e.partTargetDuration||e.targetDuration||10)*500},gs=(e,t,n)=>{if(!e)return;let r=[];return e.forEach(e=>{if(!e.attributes)return;let{BANDWIDTH:t,RESOLUTION:n,CODECS:i}=e.attributes;r.push({id:e.id,bandwidth:t,resolution:n,codecs:i})}),{type:t,isLive:n,renditions:r}};var _s=class extends ss{constructor(e,t,n={}){if(super(),!e)throw Error(`A non-empty playlist URL or object is required`);this.logger_=eo(`PlaylistLoader`);let{withCredentials:r=!1}=n;this.src=e,this.vhs_=t,this.withCredentials=r,this.addDateRangesToTextTrack_=n.addDateRangesToTextTrack;let i=t.options_;this.customTagParsers=i&&i.customTagParsers||[],this.customTagMappers=i&&i.customTagMappers||[],this.llhls=i&&i.llhls,this.dateRangesStorage_=new Qo,this.state=`HAVE_NOTHING`,this.handleMediaupdatetimeout_=this.handleMediaupdatetimeout_.bind(this),this.on(`mediaupdatetimeout`,this.handleMediaupdatetimeout_),this.on(`loadedplaylist`,this.handleLoadedPlaylist_.bind(this))}handleLoadedPlaylist_(){let e=this.media();if(!e)return;this.dateRangesStorage_.setOffset(e.segments),this.dateRangesStorage_.setPendingDateRanges(e.dateRanges);let t=this.dateRangesStorage_.getDateRangesToProcess();!t.length||!this.addDateRangesToTextTrack_||this.addDateRangesToTextTrack_(t)}handleMediaupdatetimeout_(){if(this.state!==`HAVE_METADATA`)return;let e=this.media(),t=Qa(this.main.uri,e.uri);this.llhls&&(t=cs(t,e)),this.state=`HAVE_CURRENT_METADATA`,this.request=this.vhs_.xhr({uri:t,withCredentials:this.withCredentials,requestType:`hls-playlist`},(e,t)=>{if(this.request){if(e)return this.playlistRequestError(this.request,this.media(),`HAVE_METADATA`);this.haveMetadata({playlistString:this.request.responseText,url:this.media().uri,id:this.media().id})}})}playlistRequestError(e,t,n){let{uri:r,id:i}=t;this.request=null,n&&(this.state=n),this.error={playlist:this.main.playlists[i],status:e.status,message:`HLS playlist request error at URL: ${r}.`,responseText:e.responseText,code:e.status>=500?4:2,metadata:$o({requestType:e.requestType,request:e,error:e.error})},this.trigger(`error`)}parseManifest_({url:e,manifestString:t}){try{let n=Go({onwarn:({message:t})=>this.logger_(`m3u8-parser warn for ${e}: ${t}`),oninfo:({message:t})=>this.logger_(`m3u8-parser info for ${e}: ${t}`),manifestString:t,customTagParsers:this.customTagParsers,customTagMappers:this.customTagMappers,llhls:this.llhls});return!n.playlists||!n.playlists.length||this.excludeAudioOnlyVariants(n.playlists),n}catch(e){this.error=e,this.error.metadata={errorType:Q.Error.StreamingHlsPlaylistParserError,error:e}}}excludeAudioOnlyVariants(e){let t=e=>{let{width:t,height:n}=(e.attributes||{}).RESOLUTION||{};return t&&n?!0:!!is(ts(e)||[]).video};e.some(t)&&e.forEach(e=>{t(e)||(e.excludeUntil=1/0)})}haveMetadata({playlistString:e,playlistObject:t,url:n,id:r}){this.request=null,this.state=`HAVE_METADATA`;let i={playlistInfo:{type:`media`,uri:n}};this.trigger({type:`playlistparsestart`,metadata:i});let a=t||this.parseManifest_({url:n,manifestString:e});a.lastRequest=Date.now(),qo({playlist:a,uri:n,id:r});let o=ms(this.main,a);this.targetDuration=a.partTargetDuration||a.targetDuration,this.pendingMedia_=null,o?(this.main=o,this.media_=this.main.playlists[r]):this.trigger(`playlistunchanged`),this.updateMediaUpdateTimeout_(hs(this.media(),!!o)),i.parsedPlaylist=gs(this.main.playlists,i.playlistInfo.type,!this.media_.endList),this.trigger({type:`playlistparsecomplete`,metadata:i}),this.trigger(`loadedplaylist`)}dispose(){this.trigger(`dispose`),this.stopRequest(),y.default.clearTimeout(this.mediaUpdateTimeout),y.default.clearTimeout(this.finalRenditionTimeout),this.dateRangesStorage_=new Qo,this.off()}stopRequest(){if(this.request){let e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}media(e,t){if(!e)return this.media_;if(this.state===`HAVE_NOTHING`)throw Error(`Cannot switch media playlist from `+this.state);if(typeof e==`string`){if(!this.main.playlists[e])throw Error(`Unknown playlist URI: `+e);e=this.main.playlists[e]}if(y.default.clearTimeout(this.finalRenditionTimeout),t){let t=(e.partTargetDuration||e.targetDuration)/2*1e3||5*1e3;this.finalRenditionTimeout=y.default.setTimeout(this.media.bind(this,e,!1),t);return}let n=this.state,r=!this.media_||e.id!==this.media_.id,i=this.main.playlists[e.id];if(i&&i.endList||e.endList&&e.segments.length){this.request&&=(this.request.onreadystatechange=null,this.request.abort(),null),this.state=`HAVE_METADATA`,this.media_=e,r&&(this.trigger(`mediachanging`),n===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`));return}if(this.updateMediaUpdateTimeout_(hs(e,!0)),!r)return;if(this.state=`SWITCHING_MEDIA`,this.request){if(e.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger(`mediachanging`),this.pendingMedia_=e;let a={playlistInfo:{type:`media`,uri:e.uri}};this.trigger({type:`playlistrequeststart`,metadata:a}),this.request=this.vhs_.xhr({uri:e.resolvedUri,withCredentials:this.withCredentials,requestType:`hls-playlist`},(t,r)=>{if(this.request){if(e.lastRequest=Date.now(),e.resolvedUri=$a(e.resolvedUri,r),t)return this.playlistRequestError(this.request,e,n);this.trigger({type:`playlistrequestcomplete`,metadata:a}),this.haveMetadata({playlistString:r.responseText,url:e.uri,id:e.id}),n===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`)}})}pause(){this.mediaUpdateTimeout&&=(y.default.clearTimeout(this.mediaUpdateTimeout),null),this.stopRequest(),this.state===`HAVE_NOTHING`&&(this.started=!1),this.state===`SWITCHING_MEDIA`?this.media_?this.state=`HAVE_METADATA`:this.state=`HAVE_MAIN_MANIFEST`:this.state===`HAVE_CURRENT_METADATA`&&(this.state=`HAVE_METADATA`)}load(e){this.mediaUpdateTimeout&&=(y.default.clearTimeout(this.mediaUpdateTimeout),null);let t=this.media();if(e){let e=t?(t.partTargetDuration||t.targetDuration)/2*1e3:5*1e3;this.mediaUpdateTimeout=y.default.setTimeout(()=>{this.mediaUpdateTimeout=null,this.load()},e);return}if(!this.started){this.start();return}t&&!t.endList?this.trigger(`mediaupdatetimeout`):this.trigger(`loadedplaylist`)}updateMediaUpdateTimeout_(e){this.mediaUpdateTimeout&&=(y.default.clearTimeout(this.mediaUpdateTimeout),null),!(!this.media()||this.media().endList)&&(this.mediaUpdateTimeout=y.default.setTimeout(()=>{this.mediaUpdateTimeout=null,this.trigger(`mediaupdatetimeout`),this.updateMediaUpdateTimeout_(e)},e))}start(){if(this.started=!0,typeof this.src==`object`){this.src.uri||(this.src.uri=y.default.location.href),this.src.resolvedUri=this.src.uri,setTimeout(()=>{this.setupInitialPlaylist(this.src)},0);return}let e={playlistInfo:{type:`multivariant`,uri:this.src}};this.trigger({type:`playlistrequeststart`,metadata:e}),this.request=this.vhs_.xhr({uri:this.src,withCredentials:this.withCredentials,requestType:`hls-playlist`},(t,n)=>{if(!this.request)return;if(this.request=null,t)return this.error={status:n.status,message:`HLS playlist request error at URL: ${this.src}.`,responseText:n.responseText,code:2,metadata:$o({requestType:n.requestType,request:n,error:t})},this.state===`HAVE_NOTHING`&&(this.started=!1),this.trigger(`error`);this.trigger({type:`playlistrequestcomplete`,metadata:e}),this.src=$a(this.src,n),this.trigger({type:`playlistparsestart`,metadata:e});let r=this.parseManifest_({manifestString:n.responseText,url:this.src});e.parsedPlaylist=gs(r.playlists,e.playlistInfo.type,!1),this.trigger({type:`playlistparsecomplete`,metadata:e}),this.setupInitialPlaylist(r)})}srcUri(){return typeof this.src==`string`?this.src:this.src.uri}setupInitialPlaylist(e){if(this.state=`HAVE_MAIN_MANIFEST`,e.playlists){this.main=e,Zo(this.main,this.srcUri()),e.playlists.forEach(e=>{e.segments=fs(e),e.segments.forEach(t=>{ds(t,e.resolvedUri)})}),this.trigger(`loadedplaylist`),this.request||this.media(this.main.playlists[0]);return}let t=this.srcUri()||y.default.location.href;this.main=Xo(e,t),this.haveMetadata({playlistObject:e,url:t,id:this.main.playlists[0].id}),this.trigger(`loadedmetadata`)}updateOrDeleteClone(e,t){let n=this.main,r=e.ID,i=n.playlists.length;for(;i--;){let a=n.playlists[i];if(a.attributes[`PATHWAY-ID`]===r){let o=a.resolvedUri,s=a.id;if(t){let t=this.createCloneURI_(a.resolvedUri,e),o=Uo(r,t),s=this.createCloneAttributes_(r,a.attributes),c=this.createClonePlaylist_(a,o,e,s);n.playlists[i]=c,n.playlists[o]=c,n.playlists[t]=c}else n.playlists.splice(i,1);delete n.playlists[s],delete n.playlists[o]}}this.updateOrDeleteCloneMedia(e,t)}updateOrDeleteCloneMedia(e,t){let n=this.main,r=e.ID;[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(e=>{if(!(!n.mediaGroups[e]||!n.mediaGroups[e][r])){for(let t in n.mediaGroups[e])if(t===r){for(let r in n.mediaGroups[e][t])n.mediaGroups[e][t][r].playlists.forEach((e,t)=>{let r=n.playlists[e.id],i=r.id,a=r.resolvedUri;delete n.playlists[i],delete n.playlists[a]});delete n.mediaGroups[e][t]}}}),t&&this.createClonedMediaGroups_(e)}addClonePathway(e,t={}){let n=this.main,r=n.playlists.length,i=this.createCloneURI_(t.resolvedUri,e),a=Uo(e.ID,i),o=this.createCloneAttributes_(e.ID,t.attributes),s=this.createClonePlaylist_(t,a,e,o);n.playlists[r]=s,n.playlists[a]=s,n.playlists[i]=s,this.createClonedMediaGroups_(e)}createClonedMediaGroups_(e){let t=e.ID,n=e[`BASE-ID`],r=this.main;[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(i=>{if(!(!r.mediaGroups[i]||r.mediaGroups[i][t]))for(let a in r.mediaGroups[i]){if(a===n)r.mediaGroups[i][t]={};else continue;for(let n in r.mediaGroups[i][a]){let o=r.mediaGroups[i][a][n];r.mediaGroups[i][t][n]=T.default({},o);let s=r.mediaGroups[i][t][n],c=this.createCloneURI_(o.resolvedUri,e);s.resolvedUri=c,s.uri=c,s.playlists=[],o.playlists.forEach((a,o)=>{let c=r.playlists[a.id],l=Uo(t,Wo(i,t,n));if(c&&!r.playlists[l]){let t=this.createClonePlaylist_(c,l,e),n=t.resolvedUri;r.playlists[l]=t,r.playlists[n]=t}s.playlists[o]=this.createClonePlaylist_(a,l,e)})}}})}createClonePlaylist_(e,t,n,r){let i=this.createCloneURI_(e.resolvedUri,n),a={resolvedUri:i,uri:i,id:t};return e.segments&&(a.segments=[]),r&&(a.attributes=r),$(e,a)}createCloneURI_(e,t){let n=new URL(e);n.hostname=t[`URI-REPLACEMENT`].HOST;let r=t[`URI-REPLACEMENT`].PARAMS;for(let e of Object.keys(r))n.searchParams.set(e,r[e]);return n.href}createCloneAttributes_(e,t){let n={"PATHWAY-ID":e};return[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(r=>{t[r]&&(n[r]=e)}),n}getKeyIdSet(e){let t=new Set;if(!e||!e.contentProtection)return t;for(let n in e.contentProtection)if(e.contentProtection[n]&&e.contentProtection[n].attributes&&e.contentProtection[n].attributes.keyId){let r=e.contentProtection[n].attributes.keyId;t.add(r.toLowerCase())}return t}};let vs=function(e,t,n,r){let i=e.responseType===`arraybuffer`?e.response:e.responseText;!t&&i&&(e.responseTime=Date.now(),e.roundTripTime=e.responseTime-e.requestTime,e.bytesReceived=i.byteLength||i.length,e.bandwidth||=Math.floor(e.bytesReceived/e.roundTripTime*8*1e3)),n.headers&&(e.responseHeaders=n.headers),t&&t.code===`ETIMEDOUT`&&(e.timedout=!0),!t&&!e.aborted&&n.statusCode!==200&&n.statusCode!==206&&n.statusCode!==0&&(t=Error(`XHR Failed with a response of: `+(e&&(i||e.responseText)))),r(t,e)},ys=(e,t)=>{if(!e||!e.size)return;let n=t;return e.forEach(e=>{n=e(n)}),n},bs=(e,t,n,r)=>{!e||!e.size||e.forEach(e=>{e(t,n,r)})},xs=function(){let e=function e(t,n){t=$({timeout:45e3},t);let r=e.beforeRequest||Q.Vhs.xhr.beforeRequest,i=e._requestCallbackSet||Q.Vhs.xhr._requestCallbackSet||new Set,a=e._responseCallbackSet||Q.Vhs.xhr._responseCallbackSet;r&&typeof r==`function`&&(Q.log.warn(`beforeRequest is deprecated, use onRequest instead.`),i.add(r));let o=Q.Vhs.xhr.original===!0?Q.xhr:Q.Vhs.xhr,s=ys(i,t);i.delete(r);let c=o(s||t,function(e,t){return bs(a,c,e,t),vs(c,e,t,n)}),l=c.abort;return c.abort=function(){return c.aborted=!0,l.apply(c,arguments)},c.uri=t.uri,c.requestType=t.requestType,c.requestTime=Date.now(),c};return e.original=!0,e},Ss=function(e){let t,n=e.offset;return t=typeof e.offset==`bigint`||typeof e.length==`bigint`?y.default.BigInt(e.offset)+y.default.BigInt(e.length)-y.default.BigInt(1):e.offset+e.length-1,`bytes=`+n+`-`+t},Cs=function(e){let t={};return e.byterange&&(t.Range=Ss(e.byterange)),t},ws=function(e,t){return e.start(t)+`-`+e.end(t)},Ts=function(e,t){let n=e.toString(16);return`00`.substring(0,2-n.length)+n+(t%2?` `:``)},Es=function(e){return e>=32&&e<126?String.fromCharCode(e):`.`},Ds=function(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];f.isArrayBufferView(r)?t[n]={bytes:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}:t[n]=r}),t},Os=function(e){let t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(`,`)},ks=function(e){return e.resolvedUri},As=e=>{let t=Array.prototype.slice.call(e),n=``,r,i;for(let e=0;e<t.length/16;e++)r=t.slice(e*16,e*16+16).map(Ts).join(``),i=t.slice(e*16,e*16+16).map(Es).join(``),n+=r+` `+i+`
|
|
210
|
+
`;return n};var js=Object.freeze({__proto__:null,createTransferableMessage:Ds,initSegmentId:Os,segmentKeyId:ks,hexDump:As,tagDump:({bytes:e})=>As(e),textRanges:e=>{let t=``,n;for(n=0;n<e.length;n++)t+=ws(e,n)+` `;return t}});let Ms=.25,Ns=(e,t)=>{if(!t.dateTimeObject)return null;let n=t.videoTimingInfo.transmuxerPrependedSeconds,r=e-(t.videoTimingInfo.transmuxedPresentationStart+n);return new Date(t.dateTimeObject.getTime()+r*1e3)},Ps=e=>e.transmuxedPresentationEnd-e.transmuxedPresentationStart-e.transmuxerPrependedSeconds,Fs=(e,t)=>{let n;try{n=new Date(e)}catch{return null}if(!t||!t.segments||t.segments.length===0)return null;let r=t.segments[0];if(n<new Date(r.dateTimeObject))return null;for(let e=0;e<t.segments.length-1;e++){r=t.segments[e];let i=new Date(t.segments[e+1].dateTimeObject);if(n<i)break}let i=t.segments[t.segments.length-1],a=i.dateTimeObject,o=i.videoTimingInfo?Ps(i.videoTimingInfo):i.duration+i.duration*Ms,s=new Date(a.getTime()+o*1e3);return n>s?null:(n>new Date(a)&&(r=i),{segment:r,estimatedStart:r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationStart:Vo.duration(t,t.mediaSequence+t.segments.indexOf(r)),type:r.videoTimingInfo?`accurate`:`estimate`})},Is=(e,t)=>{if(!t||!t.segments||t.segments.length===0)return null;let n=0,r;for(let i=0;i<t.segments.length&&(r=t.segments[i],n=r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationEnd:n+r.duration,!(e<=n));i++);let i=t.segments[t.segments.length-1];if(i.videoTimingInfo&&i.videoTimingInfo.transmuxedPresentationEnd<e)return null;if(e>n){if(e>n+i.duration*Ms)return null;r=i}return{segment:r,estimatedStart:r.videoTimingInfo?r.videoTimingInfo.transmuxedPresentationStart:n-r.duration,type:r.videoTimingInfo?`accurate`:`estimate`}},Ls=(e,t)=>{let n,r;try{n=new Date(e),r=new Date(t)}catch{}let i=n.getTime();return(r.getTime()-i)/1e3},Rs=e=>{if(!e.segments||e.segments.length===0)return!1;for(let t=0;t<e.segments.length;t++)if(!e.segments[t].dateTimeObject)return!1;return!0},zs=({playlist:e,time:t=void 0,callback:n})=>{if(!n)throw Error(`getProgramTime: callback must be provided`);if(!e||t===void 0)return n({message:`getProgramTime: playlist and time must be provided`});let r=Is(t,e);if(!r)return n({message:`valid programTime was not found`});if(r.type===`estimate`)return n({message:`Accurate programTime could not be determined. Please seek to e.seekTime and try again`,seekTime:r.estimatedStart});let i={mediaSeconds:t},a=Ns(t,r.segment);return a&&(i.programDateTime=a.toISOString()),n(null,i)},Bs=({programTime:e,playlist:t,retryCount:n=2,seekTo:r,pauseAfterSeek:i=!0,tech:a,callback:o})=>{if(!o)throw Error(`seekToProgramTime: callback must be provided`);if(e===void 0||!t||!r)return o({message:`seekToProgramTime: programTime, seekTo and playlist must be provided`});if(!t.endList&&!a.hasStarted_)return o({message:`player must be playing a live stream to start buffering`});if(!Rs(t))return o({message:`programDateTime tags must be provided in the manifest `+t.resolvedUri});let s=Fs(e,t);if(!s)return o({message:`${e} was not found in the stream`});let c=s.segment,l=Ls(c.dateTimeObject,e);if(s.type===`estimate`){if(n===0)return o({message:`${e} is not buffered yet. Try again`});r(s.estimatedStart+l),a.one(`seeked`,()=>{Bs({programTime:e,playlist:t,retryCount:n-1,seekTo:r,pauseAfterSeek:i,tech:a,callback:o})});return}let u=c.start+l;a.one(`seeked`,()=>o(null,a.currentTime())),i&&a.pause(),r(u)},Vs=(e,t)=>{if(e.readyState===4)return t()},Hs=(e,t,n,r)=>{let i=[],a,o=!1,s=function(e,t,r,i){return t.abort(),o=!0,n(e,t,r,i)},c=function(e,t){if(o)return;if(e)return e.metadata=$o({requestType:r,request:t,error:e}),s(e,t,``,i);let n=t.responseText.substring(i&&i.byteLength||0,t.responseText.length);if(i=f.concatTypedArrays(i,f.stringToBytes(n,!0)),a||=h.getId3Offset(i),i.length<10||a&&i.length<a+2)return Vs(t,()=>s(e,t,``,i));let c=g.detectContainerForBytes(i);return c===`ts`&&i.length<188||!c&&i.length<376?Vs(t,()=>s(e,t,``,i)):s(null,t,c,i)},l=t({uri:e,beforeSend(e){e.overrideMimeType(`text/plain; charset=x-user-defined`),e.addEventListener(`progress`,function({total:t,loaded:n}){return vs(e,null,{statusCode:e.status},c)})}},function(e,t){return vs(l,e,t,c)});return l},{EventTarget:Us}=Q,Ws=function(e,t){if(!ps(e,t)||e.sidx&&t.sidx&&(e.sidx.offset!==t.sidx.offset||e.sidx.length!==t.sidx.length)||!e.sidx&&t.sidx||e.sidx&&!t.sidx||e.segments&&!t.segments||!e.segments&&t.segments)return!1;if(!e.segments&&!t.segments)return!0;for(let n=0;n<e.segments.length;n++){let r=e.segments[n],i=t.segments[n];if(r.uri!==i.uri)return!1;if(!r.byterange&&!i.byterange)continue;let a=r.byterange,o=i.byterange;if(a&&!o||!a&&o||a.offset!==o.offset||a.length!==o.length)return!1}return!0},Gs=(e,t,n,r)=>`placeholder-uri-${e}-${t}-${r.attributes.NAME||n}`,Ks=({mainXml:e,srcUrl:t,clientOffset:n,sidxMapping:r,previousManifest:i})=>{let a=p.parse(e,{manifestUri:t,clientOffset:n,sidxMapping:r,previousManifest:i});return Zo(a,t,Gs),a},qs=(e,t)=>{Ko(e,(n,r,i,a)=>{(!t.mediaGroups[r][i]||!(a in t.mediaGroups[r][i]))&&delete e.mediaGroups[r][i][a]})},Js=(e,t,n)=>{let r=!0,i=$(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod,timelineStarts:t.timelineStarts});for(let e=0;e<t.playlists.length;e++){let a=t.playlists[e];if(a.sidx){let e=p.generateSidxKey(a.sidx);n&&n[e]&&n[e].sidx&&p.addSidxSegmentsToPlaylist(a,n[e].sidx,a.sidx.resolvedUri)}let o=ms(i,a,Ws);o&&(i=o,r=!1)}return Ko(t,(e,t,n,a)=>{if(e.playlists&&e.playlists.length){let o=e.playlists[0].id,s=ms(i,e.playlists[0],Ws);s&&(i=s,a in i.mediaGroups[t][n]||(i.mediaGroups[t][n][a]=e),i.mediaGroups[t][n][a].playlists[0]=i.playlists[o],r=!1)}}),qs(i,t),t.minimumUpdatePeriod!==e.minimumUpdatePeriod&&(r=!1),r?null:i},Ys=(e,t)=>(!e.map&&!t.map||!!(e.map&&t.map&&e.map.byterange.offset===t.map.byterange.offset&&e.map.byterange.length===t.map.byterange.length))&&e.uri===t.uri&&e.byterange.offset===t.byterange.offset&&e.byterange.length===t.byterange.length,Xs=(e,t)=>{let n={};for(let r in e){let i=e[r].sidx;if(i){let e=p.generateSidxKey(i);if(!t[e])break;let r=t[e].sidxInfo;Ys(r,i)&&(n[e]=t[e])}}return n},Zs=(e,t)=>{let n=Xs(e.playlists,t);return Ko(e,(e,r,i,a)=>{if(e.playlists&&e.playlists.length){let r=e.playlists;n=$(n,Xs(r,t))}}),n};var Qs=class extends Us{constructor(e,t,n={},r){super(),this.isPaused_=!0,this.mainPlaylistLoader_=r||this,r||(this.isMain_=!0);let{withCredentials:i=!1}=n;if(this.vhs_=t,this.withCredentials=i,this.addMetadataToTextTrack=n.addMetadataToTextTrack,!e)throw Error(`A non-empty playlist URL or object is required`);this.on(`minimumUpdatePeriod`,()=>{this.refreshXml_()}),this.on(`mediaupdatetimeout`,()=>{this.refreshMedia_(this.media().id)}),this.state=`HAVE_NOTHING`,this.loadedPlaylists_={},this.logger_=eo(`DashPlaylistLoader`),this.isMain_?(this.mainPlaylistLoader_.srcUrl=e,this.mainPlaylistLoader_.sidxMapping_={}):this.childPlaylist_=e}get isPaused(){return this.isPaused_}requestErrored_(e,t,n){if(!this.request)return!0;if(this.request=null,e)return this.error=typeof e==`object`&&!(e instanceof Error)?e:{status:t.status,message:`DASH request error at URL: `+t.uri,response:t.response,code:2,metadata:e.metadata},n&&(this.state=n),this.trigger(`error`),!0}addSidxSegments_(e,t,n){let r=e.sidx&&p.generateSidxKey(e.sidx);if(!e.sidx||!r||this.mainPlaylistLoader_.sidxMapping_[r]){y.default.clearTimeout(this.mediaRequest_),this.mediaRequest_=y.default.setTimeout(()=>n(!1),0);return}let i=$a(e.sidx.resolvedUri),a=(i,a)=>{if(this.requestErrored_(i,a,t))return;let o=this.mainPlaylistLoader_.sidxMapping_,{requestType:s}=a,c;try{c=ee.default(f.toUint8(a.response).subarray(8))}catch(e){e.metadata=$o({requestType:s,request:a,parseFailure:!0}),this.requestErrored_(e,a,t);return}return o[r]={sidxInfo:e.sidx,sidx:c},p.addSidxSegmentsToPlaylist(e,c,e.sidx.resolvedUri),n(!0)};this.request=Hs(i,this.vhs_.xhr,(t,n,r,o)=>{if(t)return a(t,n);if(!r||r!==`mp4`){let t=r||`unknown`;return a({status:n.status,message:`Unsupported ${t} container type for sidx segment at URL: ${i}`,response:``,playlist:e,internal:!0,playlistExclusionDuration:1/0,code:2},n)}let{offset:s,length:c}=e.sidx.byterange;if(o.length>=c+s)return a(t,{response:o.subarray(s,s+c),status:n.status,uri:n.uri});this.request=this.vhs_.xhr({uri:i,responseType:`arraybuffer`,requestType:`dash-sidx`,headers:Cs({byterange:e.sidx.byterange})},a)},`dash-sidx`)}dispose(){this.isPaused_=!0,this.trigger(`dispose`),this.stopRequest(),this.loadedPlaylists_={},y.default.clearTimeout(this.minimumUpdatePeriodTimeout_),y.default.clearTimeout(this.mediaRequest_),y.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.mediaRequest_=null,this.minimumUpdatePeriodTimeout_=null,this.mainPlaylistLoader_.createMupOnMedia_&&(this.off(`loadedmetadata`,this.mainPlaylistLoader_.createMupOnMedia_),this.mainPlaylistLoader_.createMupOnMedia_=null),this.off()}hasPendingRequest(){return this.request||this.mediaRequest_}stopRequest(){if(this.request){let e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}media(e){if(!e)return this.media_;if(this.state===`HAVE_NOTHING`)throw Error(`Cannot switch media playlist from `+this.state);let t=this.state;if(typeof e==`string`){if(!this.mainPlaylistLoader_.main.playlists[e])throw Error(`Unknown playlist URI: `+e);e=this.mainPlaylistLoader_.main.playlists[e]}let n=!this.media_||e.id!==this.media_.id;if(n&&this.loadedPlaylists_[e.id]&&this.loadedPlaylists_[e.id].endList){this.state=`HAVE_METADATA`,this.media_=e,n&&(this.trigger(`mediachanging`),this.trigger(`mediachange`));return}n&&(this.media_&&this.trigger(`mediachanging`),this.addSidxSegments_(e,t,n=>{this.haveMetadata({startingState:t,playlist:e})}))}haveMetadata({startingState:e,playlist:t}){this.state=`HAVE_METADATA`,this.loadedPlaylists_[t.id]=t,y.default.clearTimeout(this.mediaRequest_),this.mediaRequest_=null,this.refreshMedia_(t.id),e===`HAVE_MAIN_MANIFEST`?this.trigger(`loadedmetadata`):this.trigger(`mediachange`)}pause(){this.isPaused_=!0,this.mainPlaylistLoader_.createMupOnMedia_&&(this.off(`loadedmetadata`,this.mainPlaylistLoader_.createMupOnMedia_),this.mainPlaylistLoader_.createMupOnMedia_=null),this.stopRequest(),y.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.isMain_&&(y.default.clearTimeout(this.mainPlaylistLoader_.minimumUpdatePeriodTimeout_),this.mainPlaylistLoader_.minimumUpdatePeriodTimeout_=null),this.state===`HAVE_NOTHING`&&(this.started=!1)}load(e){this.isPaused_=!1,y.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null;let t=this.media();if(e){let e=t?t.targetDuration/2*1e3:5*1e3;this.mediaUpdateTimeout=y.default.setTimeout(()=>this.load(),e);return}if(!this.started){this.start();return}t&&!t.endList?(this.isMain_&&!this.minimumUpdatePeriodTimeout_&&(this.trigger(`minimumUpdatePeriod`),this.updateMinimumUpdatePeriodTimeout_()),this.trigger(`mediaupdatetimeout`)):this.trigger(`loadedplaylist`)}start(){if(this.started=!0,!this.isMain_){y.default.clearTimeout(this.mediaRequest_),this.mediaRequest_=y.default.setTimeout(()=>this.haveMain_(),0);return}this.requestMain_((e,t)=>{this.haveMain_(),!this.hasPendingRequest()&&!this.media_&&this.media(this.mainPlaylistLoader_.main.playlists[0])})}requestMain_(e){let t={manifestInfo:{uri:this.mainPlaylistLoader_.srcUrl}};this.trigger({type:`manifestrequeststart`,metadata:t}),this.request=this.vhs_.xhr({uri:this.mainPlaylistLoader_.srcUrl,withCredentials:this.withCredentials,requestType:`dash-manifest`},(n,r)=>{if(n){let{requestType:e}=r;n.metadata=$o({requestType:e,request:r,error:n})}if(this.requestErrored_(n,r)){this.state===`HAVE_NOTHING`&&(this.started=!1);return}this.trigger({type:`manifestrequestcomplete`,metadata:t});let i=r.responseText!==this.mainPlaylistLoader_.mainXml_;if(this.mainPlaylistLoader_.mainXml_=r.responseText,r.responseHeaders&&r.responseHeaders.date?this.mainLoaded_=Date.parse(r.responseHeaders.date):this.mainLoaded_=Date.now(),this.mainPlaylistLoader_.srcUrl=$a(this.mainPlaylistLoader_.srcUrl,r),i){this.handleMain_(),this.syncClientServerClock_(()=>e(r,i));return}return e(r,i)})}syncClientServerClock_(e){let t=p.parseUTCTiming(this.mainPlaylistLoader_.mainXml_);if(t===null)return this.mainPlaylistLoader_.clientOffset_=this.mainLoaded_-Date.now(),e();if(t.method===`DIRECT`)return this.mainPlaylistLoader_.clientOffset_=t.value-Date.now(),e();this.request=this.vhs_.xhr({uri:Qa(this.mainPlaylistLoader_.srcUrl,t.value),method:t.method,withCredentials:this.withCredentials,requestType:`dash-clock-sync`},(n,r)=>{if(!this.request)return;if(n){let{requestType:t}=r;return this.error.metadata=$o({requestType:t,request:r,error:n}),this.mainPlaylistLoader_.clientOffset_=this.mainLoaded_-Date.now(),e()}let i;i=t.method===`HEAD`?!r.responseHeaders||!r.responseHeaders.date?this.mainLoaded_:Date.parse(r.responseHeaders.date):Date.parse(r.responseText),this.mainPlaylistLoader_.clientOffset_=i-Date.now(),e()})}haveMain_(){this.state=`HAVE_MAIN_MANIFEST`,this.isMain_?this.trigger(`loadedplaylist`):this.media_||this.media(this.childPlaylist_)}handleMain_(){y.default.clearTimeout(this.mediaRequest_),this.mediaRequest_=null;let e=this.mainPlaylistLoader_.main,t={manifestInfo:{uri:this.mainPlaylistLoader_.srcUrl}};this.trigger({type:`manifestparsestart`,metadata:t});let n;try{n=Ks({mainXml:this.mainPlaylistLoader_.mainXml_,srcUrl:this.mainPlaylistLoader_.srcUrl,clientOffset:this.mainPlaylistLoader_.clientOffset_,sidxMapping:this.mainPlaylistLoader_.sidxMapping_,previousManifest:e})}catch(e){this.error=e,this.error.metadata={errorType:Q.Error.StreamingDashManifestParserError,error:e},this.trigger(`error`)}e&&(n=Js(e,n,this.mainPlaylistLoader_.sidxMapping_)),this.mainPlaylistLoader_.main=n||e;let r=this.mainPlaylistLoader_.main.locations&&this.mainPlaylistLoader_.main.locations[0];if(r&&r!==this.mainPlaylistLoader_.srcUrl&&(this.mainPlaylistLoader_.srcUrl=r),(!e||n&&n.minimumUpdatePeriod!==e.minimumUpdatePeriod)&&this.updateMinimumUpdatePeriodTimeout_(),this.addEventStreamToMetadataTrack_(n),n){let{duration:e,endList:r}=n,i=[];n.playlists.forEach(e=>{i.push({id:e.id,bandwidth:e.attributes.BANDWIDTH,resolution:e.attributes.RESOLUTION,codecs:e.attributes.CODECS})}),t.parsedManifest={duration:e,isLive:!r,renditions:i},this.trigger({type:`manifestparsecomplete`,metadata:t})}return!!n}updateMinimumUpdatePeriodTimeout_(){let e=this.mainPlaylistLoader_;e.createMupOnMedia_&&=(e.off(`loadedmetadata`,e.createMupOnMedia_),null),e.minimumUpdatePeriodTimeout_&&=(y.default.clearTimeout(e.minimumUpdatePeriodTimeout_),null);let t=e.main&&e.main.minimumUpdatePeriod;if(t===0&&(e.media()?t=e.media().targetDuration*1e3:(e.createMupOnMedia_=e.updateMinimumUpdatePeriodTimeout_,e.one(`loadedmetadata`,e.createMupOnMedia_))),typeof t!=`number`||t<=0){t<0&&this.logger_(`found invalid minimumUpdatePeriod of ${t}, not setting a timeout`);return}this.createMUPTimeout_(t)}createMUPTimeout_(e){let t=this.mainPlaylistLoader_;t.minimumUpdatePeriodTimeout_=y.default.setTimeout(()=>{t.minimumUpdatePeriodTimeout_=null,t.trigger(`minimumUpdatePeriod`),t.createMUPTimeout_(e)},e)}refreshXml_(){this.requestMain_((e,t)=>{t&&(this.media_&&=this.mainPlaylistLoader_.main.playlists[this.media_.id],this.mainPlaylistLoader_.sidxMapping_=Zs(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.sidxMapping_),this.addSidxSegments_(this.media(),this.state,e=>{this.refreshMedia_(this.media().id)}))})}refreshMedia_(e){if(!e)throw Error(`refreshMedia_ must take a media id`);this.media_&&this.isMain_&&this.handleMain_();let t=this.mainPlaylistLoader_.main.playlists,n=!this.media_||this.media_!==t[e];if(n?this.media_=t[e]:this.trigger(`playlistunchanged`),!this.mediaUpdateTimeout){let e=()=>{this.media().endList||(this.mediaUpdateTimeout=y.default.setTimeout(()=>{this.trigger(`mediaupdatetimeout`),e()},hs(this.media(),!!n)))};e()}this.trigger(`loadedplaylist`)}addEventStreamToMetadataTrack_(e){if(e&&this.mainPlaylistLoader_.main.eventStream){let e=this.mainPlaylistLoader_.main.eventStream.map(e=>({cueTime:e.start,frames:[{data:e.messageData}]}));this.addMetadataToTextTrack(`EventStream`,e,this.mainPlaylistLoader_.main.duration)}}getKeyIdSet(e){if(e.contentProtection){let t=new Set;for(let n in e.contentProtection){let r=e.contentProtection[n].attributes[`cenc:default_KID`];r&&t.add(r.replace(/-/g,``).toLowerCase())}return t}}},$s={GOAL_BUFFER_LENGTH:30,MAX_GOAL_BUFFER_LENGTH:60,BACK_BUFFER_LENGTH:30,GOAL_BUFFER_LENGTH_RATE:1,INITIAL_BANDWIDTH:4194304,BANDWIDTH_VARIANCE:1.2,BUFFER_LOW_WATER_LINE:0,MAX_BUFFER_LOW_WATER_LINE:30,EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:16,BUFFER_LOW_WATER_LINE_RATE:1,BUFFER_HIGH_WATER_LINE:30};let ec=e=>{let t=new Uint8Array(new ArrayBuffer(e.length));for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t.buffer},tc=function(e){return e.on=e.addEventListener,e.off=e.removeEventListener,e},nc=function(e){try{return URL.createObjectURL(new Blob([e],{type:`application/javascript`}))}catch{let t=new BlobBuilder;return t.append(e),URL.createObjectURL(t.getBlob())}},rc=function(e){return function(){let t=nc(e),n=tc(new Worker(t));n.objURL=t;let r=n.terminate;return n.on=n.addEventListener,n.off=n.removeEventListener,n.terminate=function(){return URL.revokeObjectURL(t),r.call(this)},n}},ic=function(e){return`var browserWorkerPolyFill = ${tc.toString()};\nbrowserWorkerPolyFill(self);
|
|
211
|
+
`+e},ac=function(e){return e.toString().replace(/^function.+?{/,``).slice(0,-1)};var oc=rc(ic(ac(function(){var e=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},t=function(){this.init=function(){var e={};this.on=function(t,n){e[t]||(e[t]=[]),e[t]=e[t].concat(n)},this.off=function(t,n){var r;return e[t]?(r=e[t].indexOf(n),e[t]=e[t].slice(),e[t].splice(r,1),r>-1):!1},this.trigger=function(t){var n=e[t],r,i,a;if(n)if(arguments.length===2)for(i=n.length,r=0;r<i;++r)n[r].call(this,arguments[1]);else{for(a=[],r=arguments.length,r=1;r<arguments.length;++r)a.push(arguments[r]);for(i=n.length,r=0;r<i;++r)n[r].apply(this,a)}},this.dispose=function(){e={}}}};t.prototype.pipe=function(e){return this.on(`data`,function(t){e.push(t)}),this.on(`done`,function(t){e.flush(t)}),this.on(`partialdone`,function(t){e.partialFlush(t)}),this.on(`endedtimeline`,function(t){e.endTimeline(t)}),this.on(`reset`,function(t){e.reset(t)}),e},t.prototype.push=function(e){this.trigger(`data`,e)},t.prototype.flush=function(e){this.trigger(`done`,e)},t.prototype.partialFlush=function(e){this.trigger(`partialdone`,e)},t.prototype.endTimeline=function(e){this.trigger(`endedtimeline`,e)},t.prototype.reset=function(e){this.trigger(`reset`,e)};var n=t,r=2**32,i={getUint64:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n;return t.getBigUint64?(n=t.getBigUint64(0),n<2**53-1?Number(n):n):t.getUint32(0)*r+t.getUint32(4)},MAX_UINT32:r},a=i.MAX_UINT32,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,ee,D,O,k,A,te,ne,re,j,ie,ae,oe,se,M,ce;(function(){var e;if(D={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},!(typeof Uint8Array>`u`)){for(e in D)D.hasOwnProperty(e)&&(D[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);O=new Uint8Array([105,115,111,109]),A=new Uint8Array([97,118,99,49]),k=new Uint8Array([0,0,0,1]),te=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]),ne=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]),re={video:te,audio:ne},ae=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),ie=new Uint8Array([0,0,0,0,0,0,0,0]),oe=new Uint8Array([0,0,0,0,0,0,0,0]),se=oe,M=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),ce=oe,j=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}})(),o=function(e){var t=[],n=0,r,i,a;for(r=1;r<arguments.length;r++)t.push(arguments[r]);for(r=t.length;r--;)n+=t[r].byteLength;for(i=new Uint8Array(n+8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),a.setUint32(0,i.byteLength),i.set(e,4),r=0,n=8;r<t.length;r++)i.set(t[r],n),n+=t[r].byteLength;return i},s=function(){return o(D.dinf,o(D.dref,ae))},c=function(e){return o(D.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,e.audioobjecttype<<3|e.samplingfrequencyindex>>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},l=function(){return o(D.ftyp,O,k,O,A)},x=function(e){return o(D.hdlr,re[e])},u=function(e){return o(D.mdat,e)},b=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,e.duration&255,85,196,0,0]);return e.samplerate&&(t[12]=e.samplerate>>>24&255,t[13]=e.samplerate>>>16&255,t[14]=e.samplerate>>>8&255,t[15]=e.samplerate&255),o(D.mdhd,t)},y=function(e){return o(D.mdia,b(e),x(e.type),f(e))},d=function(e){return o(D.mfhd,new Uint8Array([0,0,0,0,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255]))},f=function(e){return o(D.minf,e.type===`video`?o(D.vmhd,j):o(D.smhd,ie),s(),C(e))},p=function(e,t){for(var n=[],r=t.length;r--;)n[r]=T(t[r]);return o.apply(null,[D.moof,d(e)].concat(n))},m=function(e){for(var t=e.length,n=[];t--;)n[t]=_(e[t]);return o.apply(null,[D.moov,g(4294967295)].concat(n,h(e)))},h=function(e){for(var t=e.length,n=[];t--;)n[t]=E(e[t]);return o.apply(null,[D.mvex].concat(n))},g=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255,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 o(D.mvhd,t)},S=function(e){var t=e.samples||[],n=new Uint8Array(4+t.length),r,i;for(i=0;i<t.length;i++)r=t[i].flags,n[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return o(D.sdtp,n)},C=function(e){return o(D.stbl,w(e),o(D.stts,ce),o(D.stsc,se),o(D.stsz,M),o(D.stco,oe))},(function(){var e,t;w=function(n){return o(D.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),n.type===`video`?e(n):t(n))},e=function(e){var t=e.sps||[],n=e.pps||[],r=[],i=[],a,s;for(a=0;a<t.length;a++)r.push((t[a].byteLength&65280)>>>8),r.push(t[a].byteLength&255),r=r.concat(Array.prototype.slice.call(t[a]));for(a=0;a<n.length;a++)i.push((n[a].byteLength&65280)>>>8),i.push(n[a].byteLength&255),i=i.concat(Array.prototype.slice.call(n[a]));if(s=[D.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,(e.width&65280)>>8,e.width&255,(e.height&65280)>>8,e.height&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o(D.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255,t.length].concat(r,[n.length],i))),o(D.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var c=e.sarRatio[0],l=e.sarRatio[1];s.push(o(D.pasp,new Uint8Array([(c&4278190080)>>24,(c&16711680)>>16,(c&65280)>>8,c&255,(l&4278190080)>>24,(l&16711680)>>16,(l&65280)>>8,l&255])))}return o.apply(null,s)},t=function(e){return o(D.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(e.channelcount&65280)>>8,e.channelcount&255,(e.samplesize&65280)>>8,e.samplesize&255,0,0,0,0,(e.samplerate&65280)>>8,e.samplerate&255,0,0]),c(e))}})(),v=function(e){var t=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,0,(e.duration&4278190080)>>24,(e.duration&16711680)>>16,(e.duration&65280)>>8,e.duration&255,0,0,0,0,0,0,0,0,0,0,0,0,1,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,(e.width&65280)>>8,e.width&255,0,0,(e.height&65280)>>8,e.height&255,0,0]);return o(D.tkhd,t)},T=function(e){var t=o(D.tfhd,new Uint8Array([0,0,0,58,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),n,r,i,s,c=Math.floor(e.baseMediaDecodeTime/a),l=Math.floor(e.baseMediaDecodeTime%a);return n=o(D.tfdt,new Uint8Array([1,0,0,0,c>>>24&255,c>>>16&255,c>>>8&255,c&255,l>>>24&255,l>>>16&255,l>>>8&255,l&255])),s=92,e.type===`audio`?(r=ee(e,s),o(D.traf,t,n,r)):(i=S(e),r=ee(e,i.length+s),o(D.traf,t,n,r,i))},_=function(e){return e.duration=e.duration||4294967295,o(D.trak,v(e),y(e))},E=function(e){var t=new Uint8Array([0,0,0,0,(e.id&4278190080)>>24,(e.id&16711680)>>16,(e.id&65280)>>8,e.id&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.type!==`video`&&(t[t.length-1]=0),o(D.trex,t)},(function(){var e,t,n=function(e,t){var n=0,r=0,i=0,a=0;return e.length&&(e[0].duration!==void 0&&(n=1),e[0].size!==void 0&&(r=2),e[0].flags!==void 0&&(i=4),e[0].compositionTimeOffset!==void 0&&(a=8)),[0,0,n|r|i|a,1,(e.length&4278190080)>>>24,(e.length&16711680)>>>16,(e.length&65280)>>>8,e.length&255,(t&4278190080)>>>24,(t&16711680)>>>16,(t&65280)>>>8,t&255]};t=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+16*s.length,a=n(s,t),i=new Uint8Array(a.length+s.length*16),i.set(a),r=a.length,l=0;l<s.length;l++)c=s[l],i[r++]=(c.duration&4278190080)>>>24,i[r++]=(c.duration&16711680)>>>16,i[r++]=(c.duration&65280)>>>8,i[r++]=c.duration&255,i[r++]=(c.size&4278190080)>>>24,i[r++]=(c.size&16711680)>>>16,i[r++]=(c.size&65280)>>>8,i[r++]=c.size&255,i[r++]=c.flags.isLeading<<2|c.flags.dependsOn,i[r++]=c.flags.isDependedOn<<6|c.flags.hasRedundancy<<4|c.flags.paddingValue<<1|c.flags.isNonSyncSample,i[r++]=c.flags.degradationPriority&61440,i[r++]=c.flags.degradationPriority&15,i[r++]=(c.compositionTimeOffset&4278190080)>>>24,i[r++]=(c.compositionTimeOffset&16711680)>>>16,i[r++]=(c.compositionTimeOffset&65280)>>>8,i[r++]=c.compositionTimeOffset&255;return o(D.trun,i)},e=function(e,t){var r,i,a,s=e.samples||[],c,l;for(t+=20+8*s.length,a=n(s,t),r=new Uint8Array(a.length+s.length*8),r.set(a),i=a.length,l=0;l<s.length;l++)c=s[l],r[i++]=(c.duration&4278190080)>>>24,r[i++]=(c.duration&16711680)>>>16,r[i++]=(c.duration&65280)>>>8,r[i++]=c.duration&255,r[i++]=(c.size&4278190080)>>>24,r[i++]=(c.size&16711680)>>>16,r[i++]=(c.size&65280)>>>8,r[i++]=c.size&255;return o(D.trun,r)},ee=function(n,r){return n.type===`audio`?e(n,r):t(n,r)}})();var le={ftyp:l,mdat:u,moof:p,moov:m,initSegment:function(e){var t=l(),n=m(e),r=new Uint8Array(t.byteLength+n.byteLength);return r.set(t),r.set(n,t.byteLength),r}},ue=function(e){var t,n,r=[],i=[];for(i.byteLength=0,i.nalCount=0,i.duration=0,r.byteLength=0,t=0;t<e.length;t++)n=e[t],n.nalUnitType===`access_unit_delimiter_rbsp`?(r.length&&(r.duration=n.dts-r.dts,i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r)),r=[n],r.byteLength=n.data.byteLength,r.pts=n.pts,r.dts=n.dts):(n.nalUnitType===`slice_layer_without_partitioning_rbsp_idr`&&(r.keyFrame=!0),r.duration=n.dts-r.dts,r.byteLength+=n.data.byteLength,r.push(n));return i.length&&(!r.duration||r.duration<=0)&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.length,i.duration+=r.duration,i.push(r),i},N=function(e){var t,n,r=[],i=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,r.pts=e[0].pts,r.dts=e[0].dts,i.byteLength=0,i.nalCount=0,i.duration=0,i.pts=e[0].pts,i.dts=e[0].dts,t=0;t<e.length;t++)n=e[t],n.keyFrame?(r.length&&(i.push(r),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration),r=[n],r.nalCount=n.length,r.byteLength=n.byteLength,r.pts=n.pts,r.dts=n.dts,r.duration=n.duration):(r.duration+=n.duration,r.nalCount+=n.length,r.byteLength+=n.byteLength,r.push(n));return i.length&&r.duration<=0&&(r.duration=i[i.length-1].duration),i.byteLength+=r.byteLength,i.nalCount+=r.nalCount,i.duration+=r.duration,i.push(r),i},de=function(e){var t;return!e[0][0].keyFrame&&e.length>1&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},fe=function(){return{size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}}},pe=function(e,t){var n=fe();return n.dataOffset=t,n.compositionTimeOffset=e.pts-e.dts,n.duration=e.duration,n.size=4*e.length,n.size+=e.byteLength,e.keyFrame&&(n.flags.dependsOn=2,n.flags.isNonSyncSample=0),n},me={groupNalsIntoFrames:ue,groupFramesIntoGops:N,extendFirstKeyFrame:de,generateSampleTable:function(e,t){var n,r,i,a,o,s=t||0,c=[];for(n=0;n<e.length;n++)for(a=e[n],r=0;r<a.length;r++)o=a[r],i=pe(o,s),s+=i.size,c.push(i);return c},concatenateNalData:function(e){var t,n,r,i,a,o,s=0,c=e.byteLength+4*e.nalCount,l=new Uint8Array(c),u=new DataView(l.buffer);for(t=0;t<e.length;t++)for(i=e[t],n=0;n<i.length;n++)for(a=i[n],r=0;r<a.length;r++)o=a[r],u.setUint32(s,o.data.byteLength),s+=4,l.set(o.data,s),s+=o.data.byteLength;return l},generateSampleTableForFrame:function(e,t){var n,r=t||0,i=[];return n=pe(e,r),i.push(n),i},concatenateNalDataForFrame:function(e){var t,n,r=0,i=e.byteLength+4*e.length,a=new Uint8Array(i),o=new DataView(a.buffer);for(t=0;t<e.length;t++)n=e[t],o.setUint32(r,n.data.byteLength),r+=4,a.set(n.data,r),r+=n.data.byteLength;return a}},P=[33,16,5,32,164,27],he=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],F=function(e){for(var t=[];e--;)t.push(0);return t},ge=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=new Uint8Array(e[n].reduce(function(e,t){return e.concat(t)},[])),t},{})},_e,ve=function(){return _e||=ge({96e3:[P,[227,64],F(154),[56]],88200:[P,[231],F(170),[56]],64e3:[P,[248,192],F(240),[56]],48e3:[P,[255,192],F(268),[55,148,128],F(54),[112]],44100:[P,[255,192],F(268),[55,163,128],F(84),[112]],32e3:[P,[255,192],F(268),[55,234],F(226),[112]],24e3:[P,[255,192],F(268),[55,255,128],F(268),[111,112],F(126),[224]],16e3:[P,[255,192],F(268),[55,255,128],F(268),[111,255],F(269),[223,108],F(195),[1,192]],12e3:[he,F(268),[3,127,248],F(268),[6,255,240],F(268),[13,255,224],F(268),[27,253,128],F(259),[56]],11025:[he,F(268),[3,127,248],F(268),[6,255,240],F(268),[13,255,224],F(268),[27,255,192],F(268),[55,175,128],F(108),[112]],8e3:[he,F(268),[3,121,16],F(47),[7]]}),_e},ye=9e4,be=function(e){return e*ye},xe=function(e,t){return e*t},Se=function(e){return e/ye},Ce=function(e,t){return e/t},I={ONE_SECOND_IN_TS:ye,secondsToVideoTs:be,secondsToAudioTs:xe,videoTsToSeconds:Se,audioTsToSeconds:Ce,audioTsToVideoTs:function(e,t){return be(Ce(e,t))},videoTsToAudioTs:function(e,t){return xe(Se(e),t)},metadataTsToSeconds:function(e,t,n){return Se(n?e:e-t)}},L=ve,we=I,Te=function(e){var t,n,r=0;for(t=0;t<e.length;t++)n=e[t],r+=n.data.byteLength;return r},Ee={prefixWithSilence:function(e,t,n,r){var i,a=0,o=0,s=0,c=0,l,u,d;if(t.length&&(i=we.audioTsToVideoTs(e.baseMediaDecodeTime,e.samplerate),a=Math.ceil(we.ONE_SECOND_IN_TS/(e.samplerate/1024)),n&&r&&(o=i-Math.max(n,r),s=Math.floor(o/a),c=s*a),!(s<1||c>we.ONE_SECOND_IN_TS/2))){for(l=L()[e.samplerate],l||=t[0].data,u=0;u<s;u++)d=t[0],t.splice(0,0,{data:l,dts:d.dts-a,pts:d.pts-a});return e.baseMediaDecodeTime-=Math.floor(we.videoTsToAudioTs(c,e.samplerate)),c}},trimAdtsFramesByEarliestDts:function(e,t,n){return t.minSegmentDts>=n?e:(t.minSegmentDts=1/0,e.filter(function(e){return e.dts>=n?(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0):!1}))},generateSampleTable:function(e){var t,n,r=[];for(t=0;t<e.length;t++)n=e[t],r.push({size:n.data.byteLength,duration:1024});return r},concatenateFrameData:function(e){var t,n,r=0,i=new Uint8Array(Te(e));for(t=0;t<e.length;t++)n=e[t],i.set(n.data,r),r+=n.data.byteLength;return i}},De=I.ONE_SECOND_IN_TS,Oe={clearDtsInfo:function(e){delete e.minSegmentDts,delete e.maxSegmentDts,delete e.minSegmentPts,delete e.maxSegmentPts},calculateTrackBaseMediaDecodeTime:function(e,t){var n,r,i=e.minSegmentDts;return t||(i-=e.timelineStartInfo.dts),n=e.timelineStartInfo.baseMediaDecodeTime,n+=i,n=Math.max(0,n),e.type===`audio`&&(r=e.samplerate/De,n*=r,n=Math.floor(n)),n},collectDtsInfo:function(e,t){typeof t.pts==`number`&&(e.timelineStartInfo.pts===void 0&&(e.timelineStartInfo.pts=t.pts),e.minSegmentPts===void 0?e.minSegmentPts=t.pts:e.minSegmentPts=Math.min(e.minSegmentPts,t.pts),e.maxSegmentPts===void 0?e.maxSegmentPts=t.pts:e.maxSegmentPts=Math.max(e.maxSegmentPts,t.pts)),typeof t.dts==`number`&&(e.timelineStartInfo.dts===void 0&&(e.timelineStartInfo.dts=t.dts),e.minSegmentDts===void 0?e.minSegmentDts=t.dts:e.minSegmentDts=Math.min(e.minSegmentDts,t.dts),e.maxSegmentDts===void 0?e.maxSegmentDts=t.dts:e.maxSegmentDts=Math.max(e.maxSegmentDts,t.dts))}},R=4,ke=128,Ae={parseSei:function(e){for(var t=0,n={payloadType:-1,payloadSize:0},r=0,i=0;t<e.byteLength&&e[t]!==ke;){for(;e[t]===255;)r+=255,t++;for(r+=e[t++];e[t]===255;)i+=255,t++;if(i+=e[t++],!n.payload&&r===R)if(String.fromCharCode(e[t+3],e[t+4],e[t+5],e[t+6])===`GA94`){n.payloadType=r,n.payloadSize=i,n.payload=e.subarray(t,t+i);break}else n.payload=void 0;t+=i,r=0,i=0}return n},parseUserData:function(e){return e.payload[0]!==181||(e.payload[1]<<8|e.payload[2])!=49||String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])!==`GA94`||e.payload[7]!==3?null:e.payload.subarray(8,e.payload.length-1)},parseCaptionPackets:function(e,t){var n=[],r,i,a,o;if(!(t[0]&64))return n;for(i=t[0]&31,r=0;r<i;r++)a=r*3,o={type:t[a+2]&3,pts:e},t[a+2]&4&&(o.ccData=t[a+3]<<8|t[a+4],n.push(o));return n},discardEmulationPreventionBytes:function(e){for(var t=e.byteLength,n=[],r=1,i,a;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;i=t-n.length,a=new Uint8Array(i);var o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a},USER_DATA_REGISTERED_ITU_T_T35:R},je=n,Me=Ae,z=function(e){e||={},z.prototype.init.call(this),this.parse708captions_=typeof e.parse708captions==`boolean`?e.parse708captions:!0,this.captionPackets_=[],this.ccStreams_=[new H(0,0),new H(0,1),new H(1,0),new H(1,1)],this.parse708captions_&&(this.cc708Stream_=new V({captionServices:e.captionServices})),this.reset(),this.ccStreams_.forEach(function(e){e.on(`data`,this.trigger.bind(this,`data`)),e.on(`partialdone`,this.trigger.bind(this,`partialdone`)),e.on(`done`,this.trigger.bind(this,`done`))},this),this.parse708captions_&&(this.cc708Stream_.on(`data`,this.trigger.bind(this,`data`)),this.cc708Stream_.on(`partialdone`,this.trigger.bind(this,`partialdone`)),this.cc708Stream_.on(`done`,this.trigger.bind(this,`done`)))};z.prototype=new je,z.prototype.push=function(e){var t,n,r;if(e.nalUnitType===`sei_rbsp`&&(t=Me.parseSei(e.escapedRBSP),t.payload&&t.payloadType===Me.USER_DATA_REGISTERED_ITU_T_T35&&(n=Me.parseUserData(t),n))){if(e.dts<this.latestDts_){this.ignoreNextEqualDts_=!0;return}else if(e.dts===this.latestDts_&&this.ignoreNextEqualDts_){this.numSameDts_--,this.numSameDts_||(this.ignoreNextEqualDts_=!1);return}r=Me.parseCaptionPackets(e.pts,n),this.captionPackets_=this.captionPackets_.concat(r),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts}},z.prototype.flushCCStreams=function(e){this.ccStreams_.forEach(function(t){return e===`flush`?t.flush():t.partialFlush()},this)},z.prototype.flushStream=function(e){if(!this.captionPackets_.length){this.flushCCStreams(e);return}this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2?this.dispatchCea608Packet(e):this.dispatchCea708Packet(e)},this),this.captionPackets_.length=0,this.flushCCStreams(e)},z.prototype.flush=function(){return this.flushStream(`flush`)},z.prototype.partialFlush=function(){return this.flushStream(`partialFlush`)},z.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},z.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),this.activeCea608Channel_[e.type]!==null&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},z.prototype.setsChannel1Active=function(e){return(e.ccData&30720)==4096},z.prototype.setsChannel2Active=function(e){return(e.ccData&30720)==6144},z.prototype.setsTextOrXDSActive=function(e){return(e.ccData&28928)==256||(e.ccData&30974)==4138||(e.ccData&30974)==6186},z.prototype.dispatchCea708Packet=function(e){this.parse708captions_&&this.cc708Stream_.push(e)};var B={127:9834,4128:32,4129:160,4133:8230,4138:352,4140:338,4144:9608,4145:8216,4146:8217,4147:8220,4148:8221,4149:8226,4153:8482,4154:353,4156:339,4157:8480,4159:376,4214:8539,4215:8540,4216:8541,4217:8542,4218:9168,4219:9124,4220:9123,4221:9135,4222:9126,4223:9121,4256:12600},Ne=function(e){var t=B[e]||e;return e&4096&&e===t?``:String.fromCharCode(t)},Pe=function(e){return 32<=e&&e<=127||160<=e&&e<=255},Fe=function(e){this.windowNum=e,this.reset()};Fe.prototype.reset=function(){this.clearText(),this.pendingNewLine=!1,this.winAttr={},this.penAttr={},this.penLoc={},this.penColor={},this.visible=0,this.rowLock=0,this.columnLock=0,this.priority=0,this.relativePositioning=0,this.anchorVertical=0,this.anchorHorizontal=0,this.anchorPoint=0,this.rowCount=1,this.virtualRowCount=this.rowCount+1,this.columnCount=41,this.windowStyle=0,this.penStyle=0},Fe.prototype.getText=function(){return this.rows.join(`
|
|
212
|
+
`)},Fe.prototype.clearText=function(){this.rows=[``],this.rowIdx=0},Fe.prototype.newLine=function(e){for(this.rows.length>=this.virtualRowCount&&typeof this.beforeRowOverflow==`function`&&this.beforeRowOverflow(e),this.rows.length>0&&(this.rows.push(``),this.rowIdx++);this.rows.length>this.virtualRowCount;)this.rows.shift(),this.rowIdx--},Fe.prototype.isEmpty=function(){return this.rows.length===0?!0:this.rows.length===1?this.rows[0]===``:!1},Fe.prototype.addText=function(e){this.rows[this.rowIdx]+=e},Fe.prototype.backspace=function(){if(!this.isEmpty()){var e=this.rows[this.rowIdx];this.rows[this.rowIdx]=e.substr(0,e.length-1)}};var Ie=function(e,t,n){this.serviceNum=e,this.text=``,this.currentWindow=new Fe(-1),this.windows=[],this.stream=n,typeof t==`string`&&this.createTextDecoder(t)};Ie.prototype.init=function(e,t){this.startPts=e;for(var n=0;n<8;n++)this.windows[n]=new Fe(n),typeof t==`function`&&(this.windows[n].beforeRowOverflow=t)},Ie.prototype.setCurrentWindow=function(e){this.currentWindow=this.windows[e]},Ie.prototype.createTextDecoder=function(e){if(typeof TextDecoder>`u`)this.stream.trigger(`log`,{level:`warn`,message:"The `encoding` option is unsupported without TextDecoder support"});else try{this.textDecoder_=new TextDecoder(e)}catch(t){this.stream.trigger(`log`,{level:`warn`,message:`TextDecoder could not be created with `+e+` encoding. `+t})}};var V=function(e){e||={},V.prototype.init.call(this);var t=this,n=e.captionServices||{},r={},i;Object.keys(n).forEach(e=>{i=n[e],/^SERVICE/.test(e)&&(r[e]=i.encoding)}),this.serviceEncodings=r,this.current708Packet=null,this.services={},this.push=function(e){e.type===3?(t.new708Packet(),t.add708Bytes(e)):(t.current708Packet===null&&t.new708Packet(),t.add708Bytes(e))}};V.prototype=new je,V.prototype.new708Packet=function(){this.current708Packet!==null&&this.push708Packet(),this.current708Packet={data:[],ptsVals:[]}},V.prototype.add708Bytes=function(e){var t=e.ccData,n=t>>>8,r=t&255;this.current708Packet.ptsVals.push(e.pts),this.current708Packet.data.push(n),this.current708Packet.data.push(r)},V.prototype.push708Packet=function(){var e=this.current708Packet,t=e.data,n=null,r=null,i=0,a=t[i++];for(e.seq=a>>6,e.sizeCode=a&63;i<t.length;i++)a=t[i++],n=a>>5,r=a&31,n===7&&r>0&&(a=t[i++],n=a),this.pushServiceBlock(n,i,r),r>0&&(i+=r-1)},V.prototype.pushServiceBlock=function(e,t,n){var r,i=t,a=this.current708Packet.data,o=this.services[e];for(o||=this.initService(e,i);i<t+n&&i<a.length;i++)r=a[i],Pe(r)?i=this.handleText(i,o):r===24?i=this.multiByteCharacter(i,o):r===16?i=this.extendedCommands(i,o):128<=r&&r<=135?i=this.setCurrentWindow(i,o):152<=r&&r<=159?i=this.defineWindow(i,o):r===136?i=this.clearWindows(i,o):r===140?i=this.deleteWindows(i,o):r===137?i=this.displayWindows(i,o):r===138?i=this.hideWindows(i,o):r===139?i=this.toggleWindows(i,o):r===151?i=this.setWindowAttributes(i,o):r===144?i=this.setPenAttributes(i,o):r===145?i=this.setPenColor(i,o):r===146?i=this.setPenLocation(i,o):r===143?o=this.reset(i,o):r===8?o.currentWindow.backspace():r===12?o.currentWindow.clearText():r===13?o.currentWindow.pendingNewLine=!0:r===14?o.currentWindow.clearText():r===141&&i++},V.prototype.extendedCommands=function(e,t){var n=this.current708Packet.data[++e];return Pe(n)&&(e=this.handleText(e,t,{isExtended:!0})),e},V.prototype.getPts=function(e){return this.current708Packet.ptsVals[Math.floor(e/2)]},V.prototype.initService=function(e,t){var n=`SERVICE`+e,r=this,n,i;return n in this.serviceEncodings&&(i=this.serviceEncodings[n]),this.services[e]=new Ie(e,i,r),this.services[e].init(this.getPts(t),function(t){r.flushDisplayed(t,r.services[e])}),this.services[e]},V.prototype.handleText=function(e,t,n){var r=n&&n.isExtended,i=n&&n.isMultiByte,a=this.current708Packet.data,o=r?4096:0,s=a[e],c=a[e+1],l=t.currentWindow,u,d;function f(e){return e.map(e=>(`0`+(e&255).toString(16)).slice(-2)).join(``)}if(i?(d=[s,c],e++):d=[s],t.textDecoder_&&!r)u=t.textDecoder_.decode(new Uint8Array(d));else if(i){let e=f(d);u=String.fromCharCode(parseInt(e,16))}else u=Ne(o|s);return l.pendingNewLine&&!l.isEmpty()&&l.newLine(this.getPts(e)),l.pendingNewLine=!1,l.addText(u),e},V.prototype.multiByteCharacter=function(e,t){var n=this.current708Packet.data,r=n[e+1],i=n[e+2];return Pe(r)&&Pe(i)&&(e=this.handleText(++e,t,{isMultiByte:!0})),e},V.prototype.setCurrentWindow=function(e,t){var n=this.current708Packet.data[e]&7;return t.setCurrentWindow(n),e},V.prototype.defineWindow=function(e,t){var n=this.current708Packet.data,r=n[e],i=r&7;t.setCurrentWindow(i);var a=t.currentWindow;return r=n[++e],a.visible=(r&32)>>5,a.rowLock=(r&16)>>4,a.columnLock=(r&8)>>3,a.priority=r&7,r=n[++e],a.relativePositioning=(r&128)>>7,a.anchorVertical=r&127,r=n[++e],a.anchorHorizontal=r,r=n[++e],a.anchorPoint=(r&240)>>4,a.rowCount=r&15,r=n[++e],a.columnCount=r&63,r=n[++e],a.windowStyle=(r&56)>>3,a.penStyle=r&7,a.virtualRowCount=a.rowCount+1,e},V.prototype.setWindowAttributes=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.winAttr;return r=n[++e],i.fillOpacity=(r&192)>>6,i.fillRed=(r&48)>>4,i.fillGreen=(r&12)>>2,i.fillBlue=r&3,r=n[++e],i.borderType=(r&192)>>6,i.borderRed=(r&48)>>4,i.borderGreen=(r&12)>>2,i.borderBlue=r&3,r=n[++e],i.borderType+=(r&128)>>5,i.wordWrap=(r&64)>>6,i.printDirection=(r&48)>>4,i.scrollDirection=(r&12)>>2,i.justify=r&3,r=n[++e],i.effectSpeed=(r&240)>>4,i.effectDirection=(r&12)>>2,i.displayEffect=r&3,e},V.prototype.flushDisplayed=function(e,t){for(var n=[],r=0;r<8;r++)t.windows[r].visible&&!t.windows[r].isEmpty()&&n.push(t.windows[r].getText());t.endPts=e,t.text=n.join(`
|
|
213
|
+
|
|
214
|
+
`),this.pushCaption(t),t.startPts=e},V.prototype.pushCaption=function(e){e.text!==``&&(this.trigger(`data`,{startPts:e.startPts,endPts:e.endPts,text:e.text,stream:`cc708_`+e.serviceNum}),e.text=``,e.startPts=e.endPts)},V.prototype.displayWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible=1);return e},V.prototype.hideWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible=0);return e},V.prototype.toggleWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&(t.windows[i].visible^=1);return e},V.prototype.clearWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&t.windows[i].clearText();return e},V.prototype.deleteWindows=function(e,t){var n=this.current708Packet.data[++e],r=this.getPts(e);this.flushDisplayed(r,t);for(var i=0;i<8;i++)n&1<<i&&t.windows[i].reset();return e},V.prototype.setPenAttributes=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penAttr;return r=n[++e],i.textTag=(r&240)>>4,i.offset=(r&12)>>2,i.penSize=r&3,r=n[++e],i.italics=(r&128)>>7,i.underline=(r&64)>>6,i.edgeType=(r&56)>>3,i.fontStyle=r&7,e},V.prototype.setPenColor=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penColor;return r=n[++e],i.fgOpacity=(r&192)>>6,i.fgRed=(r&48)>>4,i.fgGreen=(r&12)>>2,i.fgBlue=r&3,r=n[++e],i.bgOpacity=(r&192)>>6,i.bgRed=(r&48)>>4,i.bgGreen=(r&12)>>2,i.bgBlue=r&3,r=n[++e],i.edgeRed=(r&48)>>4,i.edgeGreen=(r&12)>>2,i.edgeBlue=r&3,e},V.prototype.setPenLocation=function(e,t){var n=this.current708Packet.data,r=n[e],i=t.currentWindow.penLoc;return t.currentWindow.pendingNewLine=!0,r=n[++e],i.row=r&15,r=n[++e],i.column=r&63,e},V.prototype.reset=function(e,t){var n=this.getPts(e);return this.flushDisplayed(n,t),this.initService(t.serviceNum,e)};var Le={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Re=function(e){return e===null?``:(e=Le[e]||e,String.fromCharCode(e))},ze=14,Be=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Ve=function(){for(var e=[],t=ze+1;t--;)e.push({text:``,indent:0,offset:0});return e},H=function(e,t){H.prototype.init.call(this),this.field_=e||0,this.dataChannel_=t||0,this.name_=`CC`+((this.field_<<1|this.dataChannel_)+1),this.setConstants(),this.reset(),this.push=function(e){var t=e.ccData&32639,n,r,i,a;if(t===this.lastControlCode_){this.lastControlCode_=null;return}if((t&61440)==4096?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),r=t>>>8,i=t&255,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_=`popOn`;else if(t===this.END_OF_CAPTION_)this.mode_=`popOn`,this.clearFormatting(e.pts),this.flushDisplayed(e.pts),n=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=n,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)this.mode_===`popOn`?this.nonDisplayed_[this.row_].text=this.nonDisplayed_[this.row_].text.slice(0,-1):this.displayed_[this.row_].text=this.displayed_[this.row_].text.slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Ve();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Ve();else if(t===this.RESUME_DIRECT_CAPTIONING_)this.mode_!==`paintOn`&&(this.flushDisplayed(e.pts),this.displayed_=Ve()),this.mode_=`paintOn`,this.startPts_=e.pts;else if(this.isSpecialCharacter(r,i))r=(r&3)<<8,a=Re(r|i),this[this.mode_](e.pts,a),this.column_++;else if(this.isExtCharacter(r,i))this.mode_===`popOn`?this.nonDisplayed_[this.row_].text=this.nonDisplayed_[this.row_].text.slice(0,-1):this.displayed_[this.row_].text=this.displayed_[this.row_].text.slice(0,-1),r=(r&3)<<8,a=Re(r|i),this[this.mode_](e.pts,a),this.column_++;else if(this.isMidRowCode(r,i))this.clearFormatting(e.pts),this[this.mode_](e.pts,` `),this.column_++,(i&14)==14&&this.addFormatting(e.pts,[`i`]),(i&1)==1&&this.addFormatting(e.pts,[`u`]);else if(this.isOffsetControlCode(r,i)){let e=i&3;this.nonDisplayed_[this.row_].offset=e,this.column_+=e}else if(this.isPAC(r,i)){var o=Be.indexOf(t&7968);if(this.mode_===`rollUp`&&(o-this.rollUpRows_+1<0&&(o=this.rollUpRows_-1),this.setRollUp(e.pts,o)),o!==this.row_&&o>=0&&o<=14&&(this.clearFormatting(e.pts),this.row_=o),i&1&&this.formatting_.indexOf(`u`)===-1&&this.addFormatting(e.pts,[`u`]),(t&16)==16){let e=(t&14)>>1;this.column_=e*4,this.nonDisplayed_[this.row_].indent+=e}this.isColorPAC(i)&&(i&14)==14&&this.addFormatting(e.pts,[`i`])}else this.isNormalChar(r)&&(i===0&&(i=null),a=Re(r),a+=Re(i),this[this.mode_](e.pts,a),this.column_+=a.length)}};H.prototype=new je,H.prototype.flushDisplayed=function(e){let t=e=>{this.trigger(`log`,{level:`warn`,message:`Skipping a malformed 608 caption at index `+e+`.`})},n=[];this.displayed_.forEach((e,r)=>{if(e&&e.text&&e.text.length){try{e.text=e.text.trim()}catch{t(r)}e.text.length&&n.push({text:e.text,line:r+1,position:10+Math.min(70,e.indent*10)+e.offset*2.5})}else e??t(r)}),n.length&&this.trigger(`data`,{startPts:this.startPts_,endPts:e,content:n,stream:this.name_})},H.prototype.reset=function(){this.mode_=`popOn`,this.topRow_=0,this.startPts_=0,this.displayed_=Ve(),this.nonDisplayed_=Ve(),this.lastControlCode_=null,this.column_=0,this.row_=ze,this.rollUpRows_=2,this.formatting_=[]},H.prototype.setConstants=function(){this.dataChannel_===0?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):this.dataChannel_===1&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=this.CONTROL_|32,this.END_OF_CAPTION_=this.CONTROL_|47,this.ROLL_UP_2_ROWS_=this.CONTROL_|37,this.ROLL_UP_3_ROWS_=this.CONTROL_|38,this.ROLL_UP_4_ROWS_=this.CONTROL_|39,this.CARRIAGE_RETURN_=this.CONTROL_|45,this.RESUME_DIRECT_CAPTIONING_=this.CONTROL_|41,this.BACKSPACE_=this.CONTROL_|33,this.ERASE_DISPLAYED_MEMORY_=this.CONTROL_|44,this.ERASE_NON_DISPLAYED_MEMORY_=this.CONTROL_|46},H.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&t>=48&&t<=63},H.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&t>=32&&t<=63},H.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&t>=32&&t<=47},H.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&t>=33&&t<=35},H.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&t>=64&&t<=127},H.prototype.isColorPAC=function(e){return e>=64&&e<=79||e>=96&&e<=127},H.prototype.isNormalChar=function(e){return e>=32&&e<=127},H.prototype.setRollUp=function(e,t){if(this.mode_!==`rollUp`&&(this.row_=ze,this.mode_=`rollUp`,this.flushDisplayed(e),this.nonDisplayed_=Ve(),this.displayed_=Ve()),t!==void 0&&t!==this.row_)for(var n=0;n<this.rollUpRows_;n++)this.displayed_[t-n]=this.displayed_[this.row_-n],this.displayed_[this.row_-n]={text:``,indent:0,offset:0};t===void 0&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},H.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var n=t.reduce(function(e,t){return e+`<`+t+`>`},``);this[this.mode_](e,n)},H.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+`</`+t+`>`},``);this.formatting_=[],this[this.mode_](e,t)}},H.prototype.popOn=function(e,t){var n=this.nonDisplayed_[this.row_].text;n+=t,this.nonDisplayed_[this.row_].text=n},H.prototype.rollUp=function(e,t){var n=this.displayed_[this.row_].text;n+=t,this.displayed_[this.row_].text=n},H.prototype.shiftRowsUp_=function(){var e;for(e=0;e<this.topRow_;e++)this.displayed_[e]={text:``,indent:0,offset:0};for(e=this.row_+1;e<ze+1;e++)this.displayed_[e]={text:``,indent:0,offset:0};for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]={text:``,indent:0,offset:0}},H.prototype.paintOn=function(e,t){var n=this.displayed_[this.row_].text;n+=t,this.displayed_[this.row_].text=n};var He={CaptionStream:z,Cea608Stream:H,Cea708Stream:V},Ue={H264_STREAM_TYPE:27,ADTS_STREAM_TYPE:15,METADATA_STREAM_TYPE:21},We=n,Ge=8589934592,Ke=4294967296,qe=`shared`,Je=function(e,t){var n=1;for(e>t&&(n=-1);Math.abs(t-e)>Ke;)e+=n*Ge;return e},Ye=function(e){var t,n;Ye.prototype.init.call(this),this.type_=e||qe,this.push=function(e){if(e.type===`metadata`){this.trigger(`data`,e);return}this.type_!==qe&&e.type!==this.type_||(n===void 0&&(n=e.dts),e.dts=Je(e.dts,n),e.pts=Je(e.pts,n),t=e.dts,this.trigger(`data`,e))},this.flush=function(){n=t,this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)},this.discontinuity=function(){n=void 0,t=void 0},this.reset=function(){this.discontinuity(),this.trigger(`reset`)}};Ye.prototype=new We;var Xe={TimestampRolloverStream:Ye,handleRollover:Je},Ze={typedArrayIndexOf:(e,t,n)=>{if(!e)return-1;for(var r=n;r<e.length;r++)if(e[r]===t)return r;return-1}}.typedArrayIndexOf,U={Iso88591:0,Utf16:1,Utf16be:2,Utf8:3},Qe=function(e,t,n){var r,i=``;for(r=t;r<n;r++)i+=`%`+(`00`+e[r].toString(16)).slice(-2);return i},$e=function(e,t,n){return decodeURIComponent(Qe(e,t,n))},et=function(e,t,n){return unescape(Qe(e,t,n))},tt=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},nt={APIC:function(e){var t=1,n,r;e.data[0]===U.Utf8&&(n=Ze(e.data,0,t),!(n<0)&&(e.mimeType=et(e.data,t,n),t=n+1,e.pictureType=e.data[t],t++,r=Ze(e.data,0,t),!(r<0)&&(e.description=$e(e.data,t,r),t=r+1,e.mimeType===`-->`?e.url=et(e.data,t,e.data.length):e.pictureData=e.data.subarray(t,e.data.length))))},"T*":function(e){e.data[0]===U.Utf8&&(e.value=$e(e.data,1,e.data.length).replace(/\0*$/,``),e.values=e.value.split(`\0`))},TXXX:function(e){var t;e.data[0]===U.Utf8&&(t=Ze(e.data,0,1),t!==-1&&(e.description=$e(e.data,1,t),e.value=$e(e.data,t+1,e.data.length).replace(/\0*$/,``),e.data=e.value))},"W*":function(e){e.url=et(e.data,0,e.data.length).replace(/\0.*$/,``)},WXXX:function(e){var t;e.data[0]===U.Utf8&&(t=Ze(e.data,0,1),t!==-1&&(e.description=$e(e.data,1,t),e.url=et(e.data,t+1,e.data.length).replace(/\0.*$/,``)))},PRIV:function(e){var t;for(t=0;t<e.data.length;t++)if(e.data[t]===0){e.owner=et(e.data,0,t);break}e.privateData=e.data.subarray(t+1),e.data=e.privateData}},rt={parseId3Frames:function(e){var t,n,r=10,i=0,a=[];if(!(e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)){i=tt(e.subarray(6,10)),i+=10,e[5]&64&&(r+=4,r+=tt(e.subarray(10,14)),i-=tt(e.subarray(16,20)));do{if(t=tt(e.subarray(r+4,r+8)),t<1)break;n=String.fromCharCode(e[r],e[r+1],e[r+2],e[r+3]);var o={id:n,data:e.subarray(r+10,r+t+10)};o.key=o.id,nt[o.id]?nt[o.id](o):o.id[0]===`T`?nt[`T*`](o):o.id[0]===`W`&&nt[`W*`](o),a.push(o),r+=10,r+=t}while(r<i);return a}},parseSyncSafeInteger:tt,frameParsers:nt},it=n,at=Ue,ot=rt,st=function(e){var t={descriptor:e&&e.descriptor},n=0,r=[],i=0,a;if(st.prototype.init.call(this),this.dispatchType=at.METADATA_STREAM_TYPE.toString(16),t.descriptor)for(a=0;a<t.descriptor.length;a++)this.dispatchType+=(`00`+t.descriptor[a].toString(16)).slice(-2);this.push=function(e){var t,a,o,s,c,l;if(e.type===`timed-metadata`){if(e.dataAlignmentIndicator&&(i=0,r.length=0),r.length===0&&(e.data.length<10||e.data[0]!==73||e.data[1]!==68||e.data[2]!==51)){this.trigger(`log`,{level:`warn`,message:`Skipping unrecognized metadata packet`});return}if(r.push(e),i+=e.data.byteLength,r.length===1&&(n=ot.parseSyncSafeInteger(e.data.subarray(6,10)),n+=10),!(i<n)){for(t={data:new Uint8Array(n),frames:[],pts:r[0].pts,dts:r[0].dts},c=0;c<n;)t.data.set(r[0].data.subarray(0,n-c),c),c+=r[0].data.byteLength,i-=r[0].data.byteLength,r.shift();a=10,t.data[5]&64&&(a+=4,a+=ot.parseSyncSafeInteger(t.data.subarray(10,14)),n-=ot.parseSyncSafeInteger(t.data.subarray(16,20)));do{if(o=ot.parseSyncSafeInteger(t.data.subarray(a+4,a+8)),o<1){this.trigger(`log`,{level:`warn`,message:`Malformed ID3 frame encountered. Skipping remaining metadata parsing.`});break}if(l=String.fromCharCode(t.data[a],t.data[a+1],t.data[a+2],t.data[a+3]),s={id:l,data:t.data.subarray(a+10,a+o+10)},s.key=s.id,ot.frameParsers[s.id]?ot.frameParsers[s.id](s):s.id[0]===`T`?ot.frameParsers[`T*`](s):s.id[0]===`W`&&ot.frameParsers[`W*`](s),s.owner===`com.apple.streaming.transportStreamTimestamp`){var u=s.data,d=(u[3]&1)<<30|u[4]<<22|u[5]<<14|u[6]<<6|u[7]>>>2;d*=4,d+=u[7]&3,s.timeStamp=d,t.pts===void 0&&t.dts===void 0&&(t.pts=s.timeStamp,t.dts=s.timeStamp),this.trigger(`timestamp`,s)}t.frames.push(s),a+=10,a+=o}while(a<n);this.trigger(`data`,t)}}}};st.prototype=new it;var ct=st,lt=n,ut=He,dt=Ue,ft=Xe.TimestampRolloverStream,pt,mt,ht,gt=188,_t=71;pt=function(){var e=new Uint8Array(gt),t=0;pt.prototype.init.call(this),this.push=function(n){var r=0,i=gt,a;for(t?(a=new Uint8Array(n.byteLength+t),a.set(e.subarray(0,t)),a.set(n,t),t=0):a=n;i<a.byteLength;){if(a[r]===_t&&a[i]===_t){this.trigger(`data`,a.subarray(r,i)),r+=gt,i+=gt;continue}r++,i++}r<a.byteLength&&(e.set(a.subarray(r),0),t=a.byteLength-r)},this.flush=function(){t===gt&&e[0]===_t&&(this.trigger(`data`,e),t=0),this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)},this.reset=function(){t=0,this.trigger(`reset`)}},pt.prototype=new lt,mt=function(){var e,t,n,r;mt.prototype.init.call(this),r=this,this.packetsWaitingForPmt=[],this.programMapTable=void 0,e=function(e,r){var i=0;r.payloadUnitStartIndicator&&(i+=e[i]+1),r.type===`pat`?t(e.subarray(i),r):n(e.subarray(i),r)},t=function(e,t){t.section_number=e[7],t.last_section_number=e[8],r.pmtPid=(e[10]&31)<<8|e[11],t.pmtPid=r.pmtPid},n=function(e,t){var n,i,a,o;if(e[5]&1){for(r.programMapTable={video:null,audio:null,"timed-metadata":{}},n=(e[1]&15)<<8|e[2],i=3+n-4,a=(e[10]&15)<<8|e[11],o=12+a;o<i;){var s=e[o],c=(e[o+1]&31)<<8|e[o+2];s===dt.H264_STREAM_TYPE&&r.programMapTable.video===null?r.programMapTable.video=c:s===dt.ADTS_STREAM_TYPE&&r.programMapTable.audio===null?r.programMapTable.audio=c:s===dt.METADATA_STREAM_TYPE&&(r.programMapTable[`timed-metadata`][c]=s),o+=((e[o+3]&15)<<8|e[o+4])+5}t.programMapTable=r.programMapTable}},this.push=function(t){var n={},r=4;if(n.payloadUnitStartIndicator=!!(t[1]&64),n.pid=t[1]&31,n.pid<<=8,n.pid|=t[2],(t[3]&48)>>>4>1&&(r+=t[r]+1),n.pid===0)n.type=`pat`,e(t.subarray(r),n),this.trigger(`data`,n);else if(n.pid===this.pmtPid)for(n.type=`pmt`,e(t.subarray(r),n),this.trigger(`data`,n);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else this.programMapTable===void 0?this.packetsWaitingForPmt.push([t,r,n]):this.processPes_(t,r,n)},this.processPes_=function(e,t,n){n.pid===this.programMapTable.video?n.streamType=dt.H264_STREAM_TYPE:n.pid===this.programMapTable.audio?n.streamType=dt.ADTS_STREAM_TYPE:n.streamType=this.programMapTable[`timed-metadata`][n.pid],n.type=`pes`,n.data=e.subarray(t),this.trigger(`data`,n)}},mt.prototype=new lt,mt.STREAM_TYPES={h264:27,adts:15},ht=function(){var e=this,t=!1,n={data:[],size:0},r={data:[],size:0},i={data:[],size:0},a,o=function(e,t){var n;let r=e[0]<<16|e[1]<<8|e[2];t.data=new Uint8Array,r===1&&(t.packetLength=6+(e[4]<<8|e[5]),t.dataAlignmentIndicator=(e[6]&4)!=0,n=e[7],n&192&&(t.pts=(e[9]&14)<<27|(e[10]&255)<<20|(e[11]&254)<<12|(e[12]&255)<<5|(e[13]&254)>>>3,t.pts*=4,t.pts+=(e[13]&6)>>>1,t.dts=t.pts,n&64&&(t.dts=(e[14]&14)<<27|(e[15]&255)<<20|(e[16]&254)<<12|(e[17]&255)<<5|(e[18]&254)>>>3,t.dts*=4,t.dts+=(e[18]&6)>>>1)),t.data=e.subarray(9+e[8]))},s=function(t,n,r){var i=new Uint8Array(t.size),a={type:n},s=0,c=0,l=!1,u;if(!(!t.data.length||t.size<9)){for(a.trackId=t.data[0].pid,s=0;s<t.data.length;s++)u=t.data[s],i.set(u.data,c),c+=u.data.byteLength;o(i,a),l=n===`video`||a.packetLength<=t.size,(r||l)&&(t.size=0,t.data.length=0),l&&e.trigger(`data`,a)}};ht.prototype.init.call(this),this.push=function(o){({pat:function(){},pes:function(){var e,t;switch(o.streamType){case dt.H264_STREAM_TYPE:e=n,t=`video`;break;case dt.ADTS_STREAM_TYPE:e=r,t=`audio`;break;case dt.METADATA_STREAM_TYPE:e=i,t=`timed-metadata`;break;default:return}o.payloadUnitStartIndicator&&s(e,t,!0),e.data.push(o),e.size+=o.data.byteLength},pmt:function(){var n={type:`metadata`,tracks:[]};a=o.programMapTable,a.video!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.video,codec:`avc`,type:`video`}),a.audio!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.audio,codec:`adts`,type:`audio`}),t=!0,e.trigger(`data`,n)}})[o.type]()},this.reset=function(){n.size=0,n.data.length=0,r.size=0,r.data.length=0,this.trigger(`reset`)},this.flushStreams_=function(){s(n,`video`),s(r,`audio`),s(i,`timed-metadata`)},this.flush=function(){if(!t&&a){var n={type:`metadata`,tracks:[]};a.video!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.video,codec:`avc`,type:`video`}),a.audio!==null&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+a.audio,codec:`adts`,type:`audio`}),e.trigger(`data`,n)}t=!1,this.flushStreams_(),this.trigger(`done`)}},ht.prototype=new lt;var vt={PAT_PID:0,MP2T_PACKET_LENGTH:gt,TransportPacketStream:pt,TransportParseStream:mt,ElementaryStream:ht,TimestampRolloverStream:ft,CaptionStream:ut.CaptionStream,Cea608Stream:ut.Cea608Stream,Cea708Stream:ut.Cea708Stream,MetadataStream:ct};for(var yt in dt)dt.hasOwnProperty(yt)&&(vt[yt]=dt[yt]);var bt=vt,xt=n,St=I.ONE_SECOND_IN_TS,Ct,wt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];Ct=function(e){var t,n=0;Ct.prototype.init.call(this),this.skipWarn_=function(e,t){this.trigger(`log`,{level:`warn`,message:`adts skiping bytes ${e} to ${t} in frame ${n} outside syncword`})},this.push=function(r){var i=0,a,o,s,c,l;if(e||(n=0),r.type===`audio`){t&&t.length?(s=t,t=new Uint8Array(s.byteLength+r.data.byteLength),t.set(s),t.set(r.data,s.byteLength)):t=r.data;for(var u;i+7<t.length;){if(t[i]!==255||(t[i+1]&246)!=240){typeof u!=`number`&&(u=i),i++;continue}if(typeof u==`number`&&(this.skipWarn_(u,i),u=null),o=(~t[i+1]&1)*2,a=(t[i+3]&3)<<11|t[i+4]<<3|(t[i+5]&224)>>5,c=((t[i+6]&3)+1)*1024,l=c*St/wt[(t[i+2]&60)>>>2],t.byteLength-i<a)break;this.trigger(`data`,{pts:r.pts+n*l,dts:r.dts+n*l,sampleCount:c,audioobjecttype:(t[i+2]>>>6&3)+1,channelcount:(t[i+2]&1)<<2|(t[i+3]&192)>>>6,samplerate:wt[(t[i+2]&60)>>>2],samplingfrequencyindex:(t[i+2]&60)>>>2,samplesize:16,data:t.subarray(i+7+o,i+a)}),n++,i+=a}typeof u==`number`&&(this.skipWarn_(u,i),u=null),t=t.subarray(i)}},this.flush=function(){n=0,this.trigger(`done`)},this.reset=function(){t=void 0,this.trigger(`reset`)},this.endTimeline=function(){t=void 0,this.trigger(`endedtimeline`)}},Ct.prototype=new xt;var Tt=Ct,Et=function(e){var t=e.byteLength,n=0,r=0;this.length=function(){return 8*t},this.bitsAvailable=function(){return 8*t+r},this.loadWord=function(){var i=e.byteLength-t,a=new Uint8Array(4),o=Math.min(4,t);if(o===0)throw Error(`no bytes available`);a.set(e.subarray(i,i+o)),n=new DataView(a.buffer).getUint32(0),r=o*8,t-=o},this.skipBits=function(e){var i;r>e?(n<<=e,r-=e):(e-=r,i=Math.floor(e/8),e-=i*8,t-=i,this.loadWord(),n<<=e,r-=e)},this.readBits=function(e){var i=Math.min(r,e),a=n>>>32-i;return r-=i,r>0?n<<=i:t>0&&this.loadWord(),i=e-i,i>0?a<<i|this.readBits(i):a},this.skipLeadingZeros=function(){var e;for(e=0;e<r;++e)if(n&2147483648>>>e)return n<<=e,r-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return this.readBits(1)===1},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()},Dt=n,Ot=Et,kt,At=function(){var e=0,t,n;At.prototype.init.call(this),this.push=function(r){var i;n?(i=new Uint8Array(n.byteLength+r.data.byteLength),i.set(n),i.set(r.data,n.byteLength),n=i):n=r.data;for(var a=n.byteLength;e<a-3;e++)if(n[e+2]===1){t=e+5;break}for(;t<a;)switch(n[t]){case 0:if(n[t-1]!==0){t+=2;break}else if(n[t-2]!==0){t++;break}e+3!==t-2&&this.trigger(`data`,n.subarray(e+3,t-2));do t++;while(n[t]!==1&&t<a);e=t-2,t+=3;break;case 1:if(n[t-1]!==0||n[t-2]!==0){t+=3;break}this.trigger(`data`,n.subarray(e+3,t-2)),e=t-2,t+=3;break;default:t+=3;break}n=n.subarray(e),t-=e,e=0},this.reset=function(){n=null,e=0,this.trigger(`reset`)},this.flush=function(){n&&n.byteLength>3&&this.trigger(`data`,n.subarray(e+3)),n=null,e=0,this.trigger(`done`)},this.endTimeline=function(){this.flush(),this.trigger(`endedtimeline`)}},jt;At.prototype=new Dt,jt={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},kt=function(){var e=new At,t,n,r,i,a,o,s;kt.prototype.init.call(this),t=this,this.push=function(t){t.type===`video`&&(n=t.trackId,r=t.pts,i=t.dts,e.push(t))},e.on(`data`,function(e){var s={trackId:n,pts:r,dts:i,data:e,nalUnitTypeCode:e[0]&31};switch(s.nalUnitTypeCode){case 5:s.nalUnitType=`slice_layer_without_partitioning_rbsp_idr`;break;case 6:s.nalUnitType=`sei_rbsp`,s.escapedRBSP=a(e.subarray(1));break;case 7:s.nalUnitType=`seq_parameter_set_rbsp`,s.escapedRBSP=a(e.subarray(1)),s.config=o(s.escapedRBSP);break;case 8:s.nalUnitType=`pic_parameter_set_rbsp`;break;case 9:s.nalUnitType=`access_unit_delimiter_rbsp`;break}t.trigger(`data`,s)}),e.on(`done`,function(){t.trigger(`done`)}),e.on(`partialdone`,function(){t.trigger(`partialdone`)}),e.on(`reset`,function(){t.trigger(`reset`)}),e.on(`endedtimeline`,function(){t.trigger(`endedtimeline`)}),this.flush=function(){e.flush()},this.partialFlush=function(){e.partialFlush()},this.reset=function(){e.reset()},this.endTimeline=function(){e.endTimeline()},s=function(e,t){var n=8,r=8,i,a;for(i=0;i<e;i++)r!==0&&(a=t.readExpGolomb(),r=(n+a+256)%256),n=r===0?n:r},a=function(e){for(var t=e.byteLength,n=[],r=1,i,a;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;i=t-n.length,a=new Uint8Array(i);var o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a},o=function(e){var t=0,n=0,r=0,i=0,a,o,c,l,u,d,f,p,m,h,g,_=[1,1],v,y;if(a=new Ot(e),o=a.readUnsignedByte(),l=a.readUnsignedByte(),c=a.readUnsignedByte(),a.skipUnsignedExpGolomb(),jt[o]&&(u=a.readUnsignedExpGolomb(),u===3&&a.skipBits(1),a.skipUnsignedExpGolomb(),a.skipUnsignedExpGolomb(),a.skipBits(1),a.readBoolean()))for(g=u===3?12:8,y=0;y<g;y++)a.readBoolean()&&s(y<6?16:64,a);if(a.skipUnsignedExpGolomb(),d=a.readUnsignedExpGolomb(),d===0)a.readUnsignedExpGolomb();else if(d===1)for(a.skipBits(1),a.skipExpGolomb(),a.skipExpGolomb(),f=a.readUnsignedExpGolomb(),y=0;y<f;y++)a.skipExpGolomb();if(a.skipUnsignedExpGolomb(),a.skipBits(1),p=a.readUnsignedExpGolomb(),m=a.readUnsignedExpGolomb(),h=a.readBits(1),h===0&&a.skipBits(1),a.skipBits(1),a.readBoolean()&&(t=a.readUnsignedExpGolomb(),n=a.readUnsignedExpGolomb(),r=a.readUnsignedExpGolomb(),i=a.readUnsignedExpGolomb()),a.readBoolean()&&a.readBoolean()){switch(v=a.readUnsignedByte(),v){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:_=[a.readUnsignedByte()<<8|a.readUnsignedByte(),a.readUnsignedByte()<<8|a.readUnsignedByte()];break}_&&_[0]/_[1]}return{profileIdc:o,levelIdc:c,profileCompatibility:l,width:(p+1)*16-t*2-n*2,height:(2-h)*(m+1)*16-r*2-i*2,sarRatio:_}}},kt.prototype=new Dt;var Mt={H264Stream:kt,NalByteStream:At},Nt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],Pt=function(e,t){var n=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9],r=(e[t+5]&16)>>4;return n=n>=0?n:0,r?n+20:n+10},Ft=function(e,t){return e.length-t<10||e[t]!==73||e[t+1]!==68||e[t+2]!==51?t:(t+=Pt(e,t),Ft(e,t))},It=function(e){var t=Ft(e,0);return e.length>=t+2&&(e[t]&255)==255&&(e[t+1]&240)==240&&(e[t+1]&22)==16},Lt=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},Rt=function(e,t,n){var r,i=``;for(r=t;r<n;r++)i+=`%`+(`00`+e[r].toString(16)).slice(-2);return i},zt=function(e,t,n){return unescape(Rt(e,t,n))},Bt={isLikelyAacData:It,parseId3TagSize:Pt,parseAdtsSize:function(e,t){var n=(e[t+5]&224)>>5,r=e[t+4]<<3;return e[t+3]&6144|r|n},parseType:function(e,t){return e[t]===73&&e[t+1]===68&&e[t+2]===51?`timed-metadata`:e[t]&!0&&(e[t+1]&240)==240?`audio`:null},parseSampleRate:function(e){for(var t=0;t+5<e.length;){if(e[t]!==255||(e[t+1]&246)!=240){t++;continue}return Nt[(e[t+2]&60)>>>2]}return null},parseAacTimestamp:function(e){var t=10,n,r,i;e[5]&64&&(t+=4,t+=Lt(e.subarray(10,14)));do{if(n=Lt(e.subarray(t+4,t+8)),n<1)return null;if(i=String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3]),i===`PRIV`){r=e.subarray(t+10,t+n+10);for(var a=0;a<r.byteLength;a++)if(r[a]===0){if(zt(r,0,a)===`com.apple.streaming.transportStreamTimestamp`){var o=r.subarray(a+1),s=(o[3]&1)<<30|o[4]<<22|o[5]<<14|o[6]<<6|o[7]>>>2;return s*=4,s+=o[7]&3,s}break}}t+=10,t+=n}while(t<e.byteLength);return null}},Vt=n,Ht=Bt,Ut=function(){var e=new Uint8Array,t=0;Ut.prototype.init.call(this),this.setTimestamp=function(e){t=e},this.push=function(n){var r=0,i=0,a,o,s,c;for(e.length?(c=e.length,e=new Uint8Array(n.byteLength+c),e.set(e.subarray(0,c)),e.set(n,c)):e=n;e.length-i>=3;){if(e[i]===73&&e[i+1]===68&&e[i+2]===51){if(e.length-i<10||(r=Ht.parseId3TagSize(e,i),i+r>e.length))break;o={type:`timed-metadata`,data:e.subarray(i,i+r)},this.trigger(`data`,o),i+=r;continue}else if((e[i]&255)==255&&(e[i+1]&240)==240){if(e.length-i<7||(r=Ht.parseAdtsSize(e,i),i+r>e.length))break;s={type:`audio`,data:e.subarray(i,i+r),pts:t,dts:t},this.trigger(`data`,s),i+=r;continue}i++}a=e.length-i,e=a>0?e.subarray(i):new Uint8Array},this.reset=function(){e=new Uint8Array,this.trigger(`reset`)},this.endTimeline=function(){e=new Uint8Array,this.trigger(`endedtimeline`)}};Ut.prototype=new Vt;var Wt=Ut,Gt=[`audioobjecttype`,`channelcount`,`samplerate`,`samplingfrequencyindex`,`samplesize`],Kt=[`width`,`height`,`profileIdc`,`levelIdc`,`profileCompatibility`,`sarRatio`],W=n,qt=le,Jt=me,Yt=Ee,Xt=Oe,Zt=bt,Qt=I,$t=Tt,en=Mt.H264Stream,tn=Wt,nn=Bt.isLikelyAacData,rn=I.ONE_SECOND_IN_TS,an=Gt,on=Kt,sn,cn,ln,un,dn=function(e,t){t.stream=e,this.trigger(`log`,t)},fn=function(e,t){for(var n=Object.keys(t),r=0;r<n.length;r++){var i=n[r];i===`headOfPipeline`||!t[i].on||t[i].on(`log`,dn.bind(e,i))}},G=function(e,t){var n;if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},pn=function(e,t,n,r,i,a){var o=n-t,s=r-t,c=i-n;return{start:{dts:e,pts:e+o},end:{dts:e+s,pts:e+c},prependedContentDuration:a,baseMediaDecodeTime:e}};cn=function(e,t){var n=[],r,i=0,a=0,o=1/0;t||={},r=t.firstSequenceNumber||0,cn.prototype.init.call(this),this.push=function(t){Xt.collectDtsInfo(e,t),e&&an.forEach(function(n){e[n]=t[n]}),n.push(t)},this.setEarliestDts=function(e){i=e},this.setVideoBaseMediaDecodeTime=function(e){o=e},this.setAudioAppendStart=function(e){a=e},this.flush=function(){var s,c,l,u,d,f,p;if(n.length===0){this.trigger(`done`,`AudioSegmentStream`);return}s=Yt.trimAdtsFramesByEarliestDts(n,e,i),e.baseMediaDecodeTime=Xt.calculateTrackBaseMediaDecodeTime(e,t.keepOriginalTimestamps),p=Yt.prefixWithSilence(e,s,a,o),e.samples=Yt.generateSampleTable(s),l=qt.mdat(Yt.concatenateFrameData(s)),n=[],c=qt.moof(r,[e]),u=new Uint8Array(c.byteLength+l.byteLength),r++,u.set(c),u.set(l,c.byteLength),Xt.clearDtsInfo(e),d=Math.ceil(rn*1024/e.samplerate),s.length&&(f=s.length*d,this.trigger(`segmentTimingInfo`,pn(Qt.audioTsToVideoTs(e.baseMediaDecodeTime,e.samplerate),s[0].dts,s[0].pts,s[0].dts+f,s[0].pts+f,p||0)),this.trigger(`timingInfo`,{start:s[0].pts,end:s[0].pts+f})),this.trigger(`data`,{track:e,boxes:u}),this.trigger(`done`,`AudioSegmentStream`)},this.reset=function(){Xt.clearDtsInfo(e),n=[],this.trigger(`reset`)}},cn.prototype=new W,sn=function(e,t){var n,r=[],i=[],a,o;t||={},n=t.firstSequenceNumber||0,sn.prototype.init.call(this),delete e.minPTS,this.gopCache_=[],this.push=function(t){Xt.collectDtsInfo(e,t),t.nalUnitType===`seq_parameter_set_rbsp`&&!a&&(a=t.config,e.sps=[t.data],on.forEach(function(t){e[t]=a[t]},this)),t.nalUnitType===`pic_parameter_set_rbsp`&&!o&&(o=t.data,e.pps=[t.data]),r.push(t)},this.flush=function(){for(var a,o,s,c,l,u,d=0,f,p;r.length&&r[0].nalUnitType!==`access_unit_delimiter_rbsp`;)r.shift();if(r.length===0){this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`);return}if(a=Jt.groupNalsIntoFrames(r),s=Jt.groupFramesIntoGops(a),s[0][0].keyFrame||(o=this.getGopForFusion_(r[0],e),o?(d=o.duration,s.unshift(o),s.byteLength+=o.byteLength,s.nalCount+=o.nalCount,s.pts=o.pts,s.dts=o.dts,s.duration+=o.duration):s=Jt.extendFirstKeyFrame(s)),i.length){var m=t.alignGopsAtEnd?this.alignGopsAtEnd_(s):this.alignGopsAtStart_(s);if(!m){this.gopCache_.unshift({gop:s.pop(),pps:e.pps,sps:e.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),r=[],this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`);return}Xt.clearDtsInfo(e),s=m}Xt.collectDtsInfo(e,s),e.samples=Jt.generateSampleTable(s),l=qt.mdat(Jt.concatenateNalData(s)),e.baseMediaDecodeTime=Xt.calculateTrackBaseMediaDecodeTime(e,t.keepOriginalTimestamps),this.trigger(`processedGopsInfo`,s.map(function(e){return{pts:e.pts,dts:e.dts,byteLength:e.byteLength}})),f=s[0],p=s[s.length-1],this.trigger(`segmentTimingInfo`,pn(e.baseMediaDecodeTime,f.dts,f.pts,p.dts+p.duration,p.pts+p.duration,d)),this.trigger(`timingInfo`,{start:s[0].pts,end:s[s.length-1].pts+s[s.length-1].duration}),this.gopCache_.unshift({gop:s.pop(),pps:e.pps,sps:e.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),r=[],this.trigger(`baseMediaDecodeTime`,e.baseMediaDecodeTime),this.trigger(`timelineStartInfo`,e.timelineStartInfo),c=qt.moof(n,[e]),u=new Uint8Array(c.byteLength+l.byteLength),n++,u.set(c),u.set(l,c.byteLength),this.trigger(`data`,{track:e,boxes:u}),this.resetStream_(),this.trigger(`done`,`VideoSegmentStream`)},this.reset=function(){this.resetStream_(),r=[],this.gopCache_.length=0,i.length=0,this.trigger(`reset`)},this.resetStream_=function(){Xt.clearDtsInfo(e),a=void 0,o=void 0},this.getGopForFusion_=function(t){var n=45e3,r=1e4,i=1/0,a,o,s,c,l;for(l=0;l<this.gopCache_.length;l++)c=this.gopCache_[l],s=c.gop,!(!(e.pps&&G(e.pps[0],c.pps[0]))||!(e.sps&&G(e.sps[0],c.sps[0])))&&(s.dts<e.timelineStartInfo.dts||(a=t.dts-s.dts-s.duration,a>=-r&&a<=n&&(!o||i>a)&&(o=c,i=a)));return o?o.gop:null},this.alignGopsAtStart_=function(e){var t,n,r,a,o=e.byteLength,s=e.nalCount,c=e.duration,l;for(t=n=0;t<i.length&&n<e.length&&(r=i[t],a=e[n],r.pts!==a.pts);){if(a.pts>r.pts){t++;continue}n++,o-=a.byteLength,s-=a.nalCount,c-=a.duration}return n===0?e:n===e.length?null:(l=e.slice(n),l.byteLength=o,l.duration=c,l.nalCount=s,l.pts=l[0].pts,l.dts=l[0].dts,l)},this.alignGopsAtEnd_=function(e){for(var t=i.length-1,n=e.length-1,r,a,o=null,s=!1;t>=0&&n>=0;){if(r=i[t],a=e[n],r.pts===a.pts){s=!0;break}if(r.pts>a.pts){t--;continue}t===i.length-1&&(o=n),n--}if(!s&&o===null)return null;var c=s?n:o;if(c===0)return e;var l=e.slice(c),u=l.reduce(function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e},{byteLength:0,duration:0,nalCount:0});return l.byteLength=u.byteLength,l.duration=u.duration,l.nalCount=u.nalCount,l.pts=l[0].pts,l.dts=l[0].dts,l},this.alignGopsWith=function(e){i=e}},sn.prototype=new W,un=function(e,t){this.numberOfTracks=0,this.metadataStream=t,e||={},e.remux===void 0?this.remuxTracks=!0:this.remuxTracks=!!e.remux,typeof e.keepOriginalTimestamps==`boolean`?this.keepOriginalTimestamps=e.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,un.prototype.init.call(this),this.push=function(e){if(e.content||e.text)return this.pendingCaptions.push(e);if(e.frames)return this.pendingMetadata.push(e);this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,e.track.type===`video`&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),e.track.type===`audio`&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))}},un.prototype=new W,un.prototype.flush=function(e){var t=0,n={captions:[],captionStreams:{},metadata:[],info:{}},r,i,a,o=0,s;if(this.pendingTracks.length<this.numberOfTracks){if(e!==`VideoSegmentStream`&&e!==`AudioSegmentStream`||this.remuxTracks)return;if(this.pendingTracks.length===0){this.emittedTracks++,this.emittedTracks>=this.numberOfTracks&&(this.trigger(`done`),this.emittedTracks=0);return}}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,on.forEach(function(e){n.info[e]=this.videoTrack[e]},this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,an.forEach(function(e){n.info[e]=this.audioTrack[e]},this)),this.videoTrack||this.audioTrack){for(this.pendingTracks.length===1?n.type=this.pendingTracks[0].type:n.type=`combined`,this.emittedTracks+=this.pendingTracks.length,a=qt.initSegment(this.pendingTracks),n.initSegment=new Uint8Array(a.byteLength),n.initSegment.set(a),n.data=new Uint8Array(this.pendingBytes),s=0;s<this.pendingBoxes.length;s++)n.data.set(this.pendingBoxes[s],t),t+=this.pendingBoxes[s].byteLength;for(s=0;s<this.pendingCaptions.length;s++)r=this.pendingCaptions[s],r.startTime=Qt.metadataTsToSeconds(r.startPts,o,this.keepOriginalTimestamps),r.endTime=Qt.metadataTsToSeconds(r.endPts,o,this.keepOriginalTimestamps),n.captionStreams[r.stream]=!0,n.captions.push(r);for(s=0;s<this.pendingMetadata.length;s++)i=this.pendingMetadata[s],i.cueTime=Qt.metadataTsToSeconds(i.pts,o,this.keepOriginalTimestamps),n.metadata.push(i);for(n.metadata.dispatchType=this.metadataStream.dispatchType,this.pendingTracks.length=0,this.videoTrack=null,this.pendingBoxes.length=0,this.pendingCaptions.length=0,this.pendingBytes=0,this.pendingMetadata.length=0,this.trigger(`data`,n),s=0;s<n.captions.length;s++)r=n.captions[s],this.trigger(`caption`,r);for(s=0;s<n.metadata.length;s++)i=n.metadata[s],this.trigger(`id3Frame`,i)}this.emittedTracks>=this.numberOfTracks&&(this.trigger(`done`),this.emittedTracks=0)},un.prototype.setRemux=function(e){this.remuxTracks=e},ln=function(e){var t=this,n=!0,r,i;ln.prototype.init.call(this),e||={},this.baseMediaDecodeTime=e.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var n={};this.transmuxPipeline_=n,n.type=`aac`,n.metadataStream=new Zt.MetadataStream,n.aacStream=new tn,n.audioTimestampRolloverStream=new Zt.TimestampRolloverStream(`audio`),n.timedMetadataTimestampRolloverStream=new Zt.TimestampRolloverStream(`timed-metadata`),n.adtsStream=new $t,n.coalesceStream=new un(e,n.metadataStream),n.headOfPipeline=n.aacStream,n.aacStream.pipe(n.audioTimestampRolloverStream).pipe(n.adtsStream),n.aacStream.pipe(n.timedMetadataTimestampRolloverStream).pipe(n.metadataStream).pipe(n.coalesceStream),n.metadataStream.on(`timestamp`,function(e){n.aacStream.setTimestamp(e.timeStamp)}),n.aacStream.on(`data`,function(a){a.type!==`timed-metadata`&&a.type!==`audio`||n.audioSegmentStream||(i||={timelineStartInfo:{baseMediaDecodeTime:t.baseMediaDecodeTime},codec:`adts`,type:`audio`},n.coalesceStream.numberOfTracks++,n.audioSegmentStream=new cn(i,e),n.audioSegmentStream.on(`log`,t.getLogTrigger_(`audioSegmentStream`)),n.audioSegmentStream.on(`timingInfo`,t.trigger.bind(t,`audioTimingInfo`)),n.adtsStream.pipe(n.audioSegmentStream).pipe(n.coalesceStream),t.trigger(`trackinfo`,{hasAudio:!!i,hasVideo:!!r}))}),n.coalesceStream.on(`data`,this.trigger.bind(this,`data`)),n.coalesceStream.on(`done`,this.trigger.bind(this,`done`)),fn(this,n)},this.setupTsPipeline=function(){var n={};this.transmuxPipeline_=n,n.type=`ts`,n.metadataStream=new Zt.MetadataStream,n.packetStream=new Zt.TransportPacketStream,n.parseStream=new Zt.TransportParseStream,n.elementaryStream=new Zt.ElementaryStream,n.timestampRolloverStream=new Zt.TimestampRolloverStream,n.adtsStream=new $t,n.h264Stream=new en,n.captionStream=new Zt.CaptionStream(e),n.coalesceStream=new un(e,n.metadataStream),n.headOfPipeline=n.packetStream,n.packetStream.pipe(n.parseStream).pipe(n.elementaryStream).pipe(n.timestampRolloverStream),n.timestampRolloverStream.pipe(n.h264Stream),n.timestampRolloverStream.pipe(n.adtsStream),n.timestampRolloverStream.pipe(n.metadataStream).pipe(n.coalesceStream),n.h264Stream.pipe(n.captionStream).pipe(n.coalesceStream),n.elementaryStream.on(`data`,function(a){var o;if(a.type===`metadata`){for(o=a.tracks.length;o--;)!r&&a.tracks[o].type===`video`?(r=a.tracks[o],r.timelineStartInfo.baseMediaDecodeTime=t.baseMediaDecodeTime):!i&&a.tracks[o].type===`audio`&&(i=a.tracks[o],i.timelineStartInfo.baseMediaDecodeTime=t.baseMediaDecodeTime);r&&!n.videoSegmentStream&&(n.coalesceStream.numberOfTracks++,n.videoSegmentStream=new sn(r,e),n.videoSegmentStream.on(`log`,t.getLogTrigger_(`videoSegmentStream`)),n.videoSegmentStream.on(`timelineStartInfo`,function(r){i&&!e.keepOriginalTimestamps&&(i.timelineStartInfo=r,n.audioSegmentStream.setEarliestDts(r.dts-t.baseMediaDecodeTime))}),n.videoSegmentStream.on(`processedGopsInfo`,t.trigger.bind(t,`gopInfo`)),n.videoSegmentStream.on(`segmentTimingInfo`,t.trigger.bind(t,`videoSegmentTimingInfo`)),n.videoSegmentStream.on(`baseMediaDecodeTime`,function(e){i&&n.audioSegmentStream.setVideoBaseMediaDecodeTime(e)}),n.videoSegmentStream.on(`timingInfo`,t.trigger.bind(t,`videoTimingInfo`)),n.h264Stream.pipe(n.videoSegmentStream).pipe(n.coalesceStream)),i&&!n.audioSegmentStream&&(n.coalesceStream.numberOfTracks++,n.audioSegmentStream=new cn(i,e),n.audioSegmentStream.on(`log`,t.getLogTrigger_(`audioSegmentStream`)),n.audioSegmentStream.on(`timingInfo`,t.trigger.bind(t,`audioTimingInfo`)),n.audioSegmentStream.on(`segmentTimingInfo`,t.trigger.bind(t,`audioSegmentTimingInfo`)),n.adtsStream.pipe(n.audioSegmentStream).pipe(n.coalesceStream)),t.trigger(`trackinfo`,{hasAudio:!!i,hasVideo:!!r})}}),n.coalesceStream.on(`data`,this.trigger.bind(this,`data`)),n.coalesceStream.on(`id3Frame`,function(e){e.dispatchType=n.metadataStream.dispatchType,t.trigger(`id3Frame`,e)}),n.coalesceStream.on(`caption`,this.trigger.bind(this,`caption`)),n.coalesceStream.on(`done`,this.trigger.bind(this,`done`)),fn(this,n)},this.setBaseMediaDecodeTime=function(t){var n=this.transmuxPipeline_;e.keepOriginalTimestamps||(this.baseMediaDecodeTime=t),i&&(i.timelineStartInfo.dts=void 0,i.timelineStartInfo.pts=void 0,Xt.clearDtsInfo(i),n.audioTimestampRolloverStream&&n.audioTimestampRolloverStream.discontinuity()),r&&(n.videoSegmentStream&&(n.videoSegmentStream.gopCache_=[]),r.timelineStartInfo.dts=void 0,r.timelineStartInfo.pts=void 0,Xt.clearDtsInfo(r),n.captionStream.reset()),n.timestampRolloverStream&&n.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){i&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(t){var n=this.transmuxPipeline_;e.remux=t,n&&n.coalesceStream&&n.coalesceStream.setRemux(t)},this.alignGopsWith=function(e){r&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.getLogTrigger_=function(e){var t=this;return function(n){n.stream=e,t.trigger(`log`,n)}},this.push=function(e){if(n){var t=nn(e);t&&this.transmuxPipeline_.type!==`aac`?this.setupAacPipeline():!t&&this.transmuxPipeline_.type!==`ts`&&this.setupTsPipeline(),n=!1}this.transmuxPipeline_.headOfPipeline.push(e)},this.flush=function(){n=!0,this.transmuxPipeline_.headOfPipeline.flush()},this.endTimeline=function(){this.transmuxPipeline_.headOfPipeline.endTimeline()},this.reset=function(){this.transmuxPipeline_.headOfPipeline&&this.transmuxPipeline_.headOfPipeline.reset()},this.resetCaptions=function(){this.transmuxPipeline_.captionStream&&this.transmuxPipeline_.captionStream.reset()}},ln.prototype=new W;var mn={Transmuxer:ln,VideoSegmentStream:sn,AudioSegmentStream:cn,AUDIO_PROPERTIES:an,VIDEO_PROPERTIES:on,generateSegmentTimingInfo:pn},K={toUnsigned:function(e){return e>>>0},toHexString:function(e){return(`00`+e.toString(16)).slice(-2)}},hn=function(e){var t=``;return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3]),t},gn=K.toUnsigned,_n=hn,vn=function(e,t){var n=[],r,i,a,o,s;if(!t.length)return null;for(r=0;r<e.byteLength;)i=gn(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]),a=_n(e.subarray(r+4,r+8)),o=i>1?r+i:e.byteLength,a===t[0]&&(t.length===1?n.push(e.subarray(r+8,o)):(s=vn(e.subarray(r+8,o),t.slice(1)),s.length&&(n=n.concat(s)))),r=o;return n},yn=vn,bn=K.toUnsigned,xn=i.getUint64,Sn=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4))};return t.version===1?t.baseMediaDecodeTime=xn(e.subarray(4)):t.baseMediaDecodeTime=bn(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),t},Cn=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:t.getUint32(4)},r=n.flags[2]&1,i=n.flags[2]&2,a=n.flags[2]&8,o=n.flags[2]&16,s=n.flags[2]&32,c=n.flags[0]&65536,l=n.flags[0]&131072,u=8;return r&&(u+=4,n.baseDataOffset=t.getUint32(12),u+=4),i&&(n.sampleDescriptionIndex=t.getUint32(u),u+=4),a&&(n.defaultSampleDuration=t.getUint32(u),u+=4),o&&(n.defaultSampleSize=t.getUint32(u),u+=4),s&&(n.defaultSampleFlags=t.getUint32(u)),c&&(n.durationIsEmpty=!0),!r&&l&&(n.baseDataOffsetIsMoof=!0),n},wn=i.getUint64,Tn=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:t.getUint32(4),timescale:t.getUint32(8)},r=12;n.version===0?(n.earliestPresentationTime=t.getUint32(r),n.firstOffset=t.getUint32(r+4),r+=8):(n.earliestPresentationTime=wn(e.subarray(r)),n.firstOffset=wn(e.subarray(r+8)),r+=16),r+=2;var i=t.getUint16(r);for(r+=2;i>0;r+=12,i--)n.references.push({referenceType:(e[r]&128)>>>7,referencedSize:t.getUint32(r)&2147483647,subsegmentDuration:t.getUint32(r+4),startsWithSap:!!(e[r+8]&128),sapType:(e[r+8]&112)>>>4,sapDeltaTime:t.getUint32(r+8)&268435455});return n},q=function(e){return{isLeading:(e[0]&12)>>>2,dependsOn:e[0]&3,isDependedOn:(e[1]&192)>>>6,hasRedundancy:(e[1]&48)>>>4,paddingValue:(e[1]&14)>>>1,isNonSyncSample:e[1]&1,degradationPriority:e[2]<<8|e[3]}},En=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=t.flags[2]&1,i=t.flags[2]&4,a=t.flags[1]&1,o=t.flags[1]&2,s=t.flags[1]&4,c=t.flags[1]&8,l=n.getUint32(4),u=8,d;for(r&&(t.dataOffset=n.getInt32(u),u+=4),i&&l&&(d={flags:q(e.subarray(u,u+4))},u+=4,a&&(d.duration=n.getUint32(u),u+=4),o&&(d.size=n.getUint32(u),u+=4),c&&(t.version===1?d.compositionTimeOffset=n.getInt32(u):d.compositionTimeOffset=n.getUint32(u),u+=4),t.samples.push(d),l--);l--;)d={},a&&(d.duration=n.getUint32(u),u+=4),o&&(d.size=n.getUint32(u),u+=4),s&&(d.flags=q(e.subarray(u,u+4)),u+=4),c&&(t.version===1?d.compositionTimeOffset=n.getInt32(u):d.compositionTimeOffset=n.getUint32(u),u+=4),t.samples.push(d);return t},Dn=i.getUint64,On,kn,An=function(e){return new Date(e*1e3-20828448e5)},jn=hn,Mn=yn,Nn=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=[],r,i;for(r=0;r+4<e.length;r+=i){if(i=t.getUint32(r),r+=4,i<=0){n.push(`<span style='color:red;'>MALFORMED DATA</span>`);continue}switch(e[r]&31){case 1:n.push(`slice_layer_without_partitioning_rbsp`);break;case 5:n.push(`slice_layer_without_partitioning_rbsp_idr`);break;case 6:n.push(`sei_rbsp`);break;case 7:n.push(`seq_parameter_set_rbsp`);break;case 8:n.push(`pic_parameter_set_rbsp`);break;case 9:n.push(`access_unit_delimiter_rbsp`);break;default:n.push(`UNKNOWN NAL - `+e[r]&31);break}}return n},Pn={avc1:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{dataReferenceIndex:t.getUint16(6),width:t.getUint16(24),height:t.getUint16(26),horizresolution:t.getUint16(28)+t.getUint16(30)/16,vertresolution:t.getUint16(32)+t.getUint16(34)/16,frameCount:t.getUint16(40),depth:t.getUint16(74),config:On(e.subarray(78,e.byteLength))}},avcC:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={configurationVersion:e[0],avcProfileIndication:e[1],profileCompatibility:e[2],avcLevelIndication:e[3],lengthSizeMinusOne:e[4]&3,sps:[],pps:[]},r=e[5]&31,i,a,o=6,s;for(s=0;s<r;s++)a=t.getUint16(o),o+=2,n.sps.push(new Uint8Array(e.subarray(o,o+a))),o+=a;for(i=e[o],o++,s=0;s<i;s++)a=t.getUint16(o),o+=2,n.pps.push(new Uint8Array(e.subarray(o,o+a))),o+=a;return n},btrt:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{bufferSizeDB:t.getUint32(0),maxBitrate:t.getUint32(4),avgBitrate:t.getUint32(8)}},edts:function(e){return{boxes:On(e)}},elst:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),edits:[]},r=t.getUint32(4),i;for(i=8;r;r--)n.version===0?(n.edits.push({segmentDuration:t.getUint32(i),mediaTime:t.getInt32(i+4),mediaRate:t.getUint16(i+8)+t.getUint16(i+10)/(256*256)}),i+=12):(n.edits.push({segmentDuration:Dn(e.subarray(i)),mediaTime:Dn(e.subarray(i+8)),mediaRate:t.getUint16(i+16)+t.getUint16(i+18)/(256*256)}),i+=20);return n},esds:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),esId:e[6]<<8|e[7],streamPriority:e[8]&31,decoderConfig:{objectProfileIndication:e[11],streamType:e[12]>>>2&63,bufferSize:e[13]<<16|e[14]<<8|e[15],maxBitrate:e[16]<<24|e[17]<<16|e[18]<<8|e[19],avgBitrate:e[20]<<24|e[21]<<16|e[22]<<8|e[23],decoderConfigDescriptor:{tag:e[24],length:e[25],audioObjectType:e[26]>>>3&31,samplingFrequencyIndex:(e[26]&7)<<1|e[27]>>>7&1,channelConfiguration:e[27]>>>3&15}}}},ftyp:function(e){for(var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={majorBrand:jn(e.subarray(0,4)),minorVersion:t.getUint32(4),compatibleBrands:[]},r=8;r<e.byteLength;)n.compatibleBrands.push(jn(e.subarray(r,r+4))),r+=4;return n},dinf:function(e){return{boxes:On(e)}},dref:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),dataReferences:On(e.subarray(8))}},hdlr:function(e){var t={version:new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0),flags:new Uint8Array(e.subarray(1,4)),handlerType:jn(e.subarray(8,12)),name:``},n=8;for(n=24;n<e.byteLength;n++){if(e[n]===0){n++;break}t.name+=String.fromCharCode(e[n])}return t.name=decodeURIComponent(escape(t.name)),t},mdat:function(e){return{byteLength:e.byteLength,nals:Nn(e)}},mdhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=4,r,i={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),language:``};return i.version===1?(n+=4,i.creationTime=An(t.getUint32(n)),n+=8,i.modificationTime=An(t.getUint32(n)),n+=4,i.timescale=t.getUint32(n),n+=8,i.duration=t.getUint32(n)):(i.creationTime=An(t.getUint32(n)),n+=4,i.modificationTime=An(t.getUint32(n)),n+=4,i.timescale=t.getUint32(n),n+=4,i.duration=t.getUint32(n)),n+=4,r=t.getUint16(n),i.language+=String.fromCharCode((r>>10)+96),i.language+=String.fromCharCode(((r&992)>>5)+96),i.language+=String.fromCharCode((r&31)+96),i},mdia:function(e){return{boxes:On(e)}},mfhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sequenceNumber:e[4]<<24|e[5]<<16|e[6]<<8|e[7]}},minf:function(e){return{boxes:On(e)}},mp4a:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={dataReferenceIndex:t.getUint16(6),channelcount:t.getUint16(16),samplesize:t.getUint16(18),samplerate:t.getUint16(24)+t.getUint16(26)/65536};return e.byteLength>28&&(n.streamDescriptor=On(e.subarray(28))[0]),n},moof:function(e){return{boxes:On(e)}},moov:function(e){return{boxes:On(e)}},mvex:function(e){return{boxes:On(e)}},mvhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=4,r={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return r.version===1?(n+=4,r.creationTime=An(t.getUint32(n)),n+=8,r.modificationTime=An(t.getUint32(n)),n+=4,r.timescale=t.getUint32(n),n+=8,r.duration=t.getUint32(n)):(r.creationTime=An(t.getUint32(n)),n+=4,r.modificationTime=An(t.getUint32(n)),n+=4,r.timescale=t.getUint32(n),n+=4,r.duration=t.getUint32(n)),n+=4,r.rate=t.getUint16(n)+t.getUint16(n+2)/16,n+=4,r.volume=t.getUint8(n)+t.getUint8(n+1)/8,n+=2,n+=2,n+=8,r.matrix=new Uint32Array(e.subarray(n,n+36)),n+=36,n+=24,r.nextTrackId=t.getUint32(n),r},pdin:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),rate:t.getUint32(4),initialDelay:t.getUint32(8)}},sdtp:function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n;for(n=4;n<e.byteLength;n++)t.samples.push({dependsOn:(e[n]&48)>>4,isDependedOn:(e[n]&12)>>2,hasRedundancy:e[n]&3});return t},sidx:Tn,smhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),balance:e[4]+e[5]/256}},stbl:function(e){return{boxes:On(e)}},ctts:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),compositionOffsets:[]},r=t.getUint32(4),i;for(i=8;r;i+=8,r--)n.compositionOffsets.push({sampleCount:t.getUint32(i),sampleOffset:t[n.version===0?`getUint32`:`getInt32`](i+4)});return n},stss:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),syncSamples:[]},r=t.getUint32(4),i;for(i=8;r;i+=4,r--)n.syncSamples.push(t.getUint32(i));return n},stco:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),chunkOffsets:[]},r=t.getUint32(4),i;for(i=8;r;i+=4,r--)n.chunkOffsets.push(t.getUint32(i));return n},stsc:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=t.getUint32(4),r={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleToChunks:[]},i;for(i=8;n;i+=12,n--)r.sampleToChunks.push({firstChunk:t.getUint32(i),samplesPerChunk:t.getUint32(i+4),sampleDescriptionIndex:t.getUint32(i+8)});return r},stsd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleDescriptions:On(e.subarray(8))}},stsz:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleSize:t.getUint32(4),entries:[]},r;for(r=12;r<e.byteLength;r+=4)n.entries.push(t.getUint32(r));return n},stts:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),timeToSamples:[]},r=t.getUint32(4),i;for(i=8;r;i+=8,r--)n.timeToSamples.push({sampleCount:t.getUint32(i),sampleDelta:t.getUint32(i+4)});return n},styp:function(e){return Pn.ftyp(e)},tfdt:Sn,tfhd:Cn,tkhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=4,r={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return r.version===1?(n+=4,r.creationTime=An(t.getUint32(n)),n+=8,r.modificationTime=An(t.getUint32(n)),n+=4,r.trackId=t.getUint32(n),n+=4,n+=8,r.duration=t.getUint32(n)):(r.creationTime=An(t.getUint32(n)),n+=4,r.modificationTime=An(t.getUint32(n)),n+=4,r.trackId=t.getUint32(n),n+=4,n+=4,r.duration=t.getUint32(n)),n+=4,n+=8,r.layer=t.getUint16(n),n+=2,r.alternateGroup=t.getUint16(n),n+=2,r.volume=t.getUint8(n)+t.getUint8(n+1)/8,n+=2,n+=2,r.matrix=new Uint32Array(e.subarray(n,n+36)),n+=36,r.width=t.getUint16(n)+t.getUint16(n+2)/65536,n+=4,r.height=t.getUint16(n)+t.getUint16(n+2)/65536,r},traf:function(e){return{boxes:On(e)}},trak:function(e){return{boxes:On(e)}},trex:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:t.getUint32(4),defaultSampleDescriptionIndex:t.getUint32(8),defaultSampleDuration:t.getUint32(12),defaultSampleSize:t.getUint32(16),sampleDependsOn:e[20]&3,sampleIsDependedOn:(e[21]&192)>>6,sampleHasRedundancy:(e[21]&48)>>4,samplePaddingValue:(e[21]&14)>>1,sampleIsDifferenceSample:!!(e[21]&1),sampleDegradationPriority:t.getUint16(22)}},trun:En,"url ":function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4))}},vmhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),graphicsmode:t.getUint16(4),opcolor:new Uint16Array([t.getUint16(6),t.getUint16(8),t.getUint16(10)])}}};On=function(e){for(var t=0,n=[],r,i,a,o,s,c=new ArrayBuffer(e.length),l=new Uint8Array(c),u=0;u<e.length;++u)l[u]=e[u];for(r=new DataView(c);t<e.byteLength;)i=r.getUint32(t),a=jn(e.subarray(t+4,t+8)),o=i>1?t+i:e.byteLength,s=(Pn[a]||function(e){return{data:e}})(e.subarray(t+8,o)),s.size=i,s.type=a,n.push(s),t=o;return n},kn=function(e,t){var n;return t||=0,n=Array(t*2+1).join(` `),e.map(function(e,r){return n+e.type+`
|
|
215
|
+
`+Object.keys(e).filter(function(e){return e!==`type`&&e!==`boxes`}).map(function(t){var r=n+` `+t+`: `,i=e[t];if(i instanceof Uint8Array||i instanceof Uint32Array){var a=Array.prototype.slice.call(new Uint8Array(i.buffer,i.byteOffset,i.byteLength)).map(function(e){return` `+(`00`+e.toString(16)).slice(-2)}).join(``).match(/.{1,24}/g);return a?a.length===1?r+`<`+a.join(``).slice(1)+`>`:r+`<
|
|
216
|
+
`+a.map(function(e){return n+` `+e}).join(`
|
|
217
|
+
`)+`
|
|
218
|
+
`+n+` >`:r+`<>`}return r+JSON.stringify(i,null,2).split(`
|
|
219
|
+
`).map(function(e,t){return t===0?e:n+` `+e}).join(`
|
|
220
|
+
`)}).join(`
|
|
221
|
+
`)+(e.boxes?`
|
|
222
|
+
`+kn(e.boxes,t+1):``)}).join(`
|
|
223
|
+
`)};var Fn={inspect:On,textify:kn,parseType:jn,findBox:Mn,parseTraf:Pn.traf,parseTfdt:Pn.tfdt,parseHdlr:Pn.hdlr,parseTfhd:Pn.tfhd,parseTrun:Pn.trun,parseSidx:Pn.sidx},In={uint8ToCString:function(e){for(var t=0,n=String.fromCharCode(e[t]),r=``;n!==`\0`;)r+=n,t++,n=String.fromCharCode(e[t]);return r+=n,r}}.uint8ToCString,Ln=i.getUint64,Rn=function(e){var t=4,n=e[0],r,i,a,o,s,c,l,u;if(n===0){r=In(e.subarray(t)),t+=r.length,i=In(e.subarray(t)),t+=i.length;var d=new DataView(e.buffer);a=d.getUint32(t),t+=4,s=d.getUint32(t),t+=4,c=d.getUint32(t),t+=4,l=d.getUint32(t),t+=4}else if(n===1){var d=new DataView(e.buffer);a=d.getUint32(t),t+=4,o=Ln(e.subarray(t)),t+=8,c=d.getUint32(t),t+=4,l=d.getUint32(t),t+=4,r=In(e.subarray(t)),t+=r.length,i=In(e.subarray(t)),t+=i.length}u=new Uint8Array(e.subarray(t,e.byteLength));var f={scheme_id_uri:r,value:i,timescale:a||1,presentation_time:o,presentation_time_delta:s,event_duration:c,id:l,message_data:u};return Bn(n,f)?f:void 0},zn=function(e,t,n,r){return e||e===0?e/t:r+n/t},Bn=function(e,t){var n=t.scheme_id_uri!==`\0`,r=e===0&&Vn(t.presentation_time_delta)&&n,i=e===1&&Vn(t.presentation_time)&&n;return!(e>1)&&r||i},Vn=function(e){return e!==void 0||e!==null},Hn={parseEmsgBox:Rn,scaleTime:zn},Un=typeof window<`u`?window:e===void 0?typeof self<`u`?self:{}:e,Wn=K.toUnsigned,Gn=K.toHexString,Kn=yn,qn=hn,Jn=Hn,Yn=Cn,Xn=En,Zn=Sn,Qn=i.getUint64,$n,er,tr,nr,rr,ir,ar,J=Un,or=rt.parseId3Frames;$n=function(e){return Kn(e,[`moov`,`trak`]).reduce(function(e,t){var n=Kn(t,[`tkhd`])[0],r,i,a,o;return!n||(r=n[0],i=r===0?12:20,a=Wn(n[i]<<24|n[i+1]<<16|n[i+2]<<8|n[i+3]),o=Kn(t,[`mdia`,`mdhd`])[0],!o)?null:(r=o[0],i=r===0?12:20,e[a]=Wn(o[i]<<24|o[i+1]<<16|o[i+2]<<8|o[i+3]),e)},{})},er=function(e,t){var n=Kn(t,[`moof`,`traf`]).reduce(function(t,n){var r=Kn(n,[`tfhd`])[0],i=e[Wn(r[4]<<24|r[5]<<16|r[6]<<8|r[7])]||9e4,a=Kn(n,[`tfdt`])[0],o=new DataView(a.buffer,a.byteOffset,a.byteLength),s=a[0]===1?Qn(a.subarray(4,12)):o.getUint32(4);let c;return typeof s==`bigint`?c=s/J.BigInt(i):typeof s==`number`&&!isNaN(s)&&(c=s/i),c<2**53-1&&(c=Number(c)),c<t&&(t=c),t},1/0);return typeof n==`bigint`||isFinite(n)?n:0},tr=function(e,t){var n=Kn(t,[`moof`,`traf`]),r=0,i=0,a;if(n&&n.length){var o=Kn(n[0],[`tfhd`])[0],s=Kn(n[0],[`trun`])[0],c=Kn(n[0],[`tfdt`])[0];if(o&&(a=Yn(o).trackId),c&&(r=Zn(c).baseMediaDecodeTime),s){var l=Xn(s);l.samples&&l.samples.length&&(i=l.samples[0].compositionTimeOffset||0)}}var u=e[a]||9e4;typeof r==`bigint`&&(i=J.BigInt(i),u=J.BigInt(u));var d=(r+i)/u;return typeof d==`bigint`&&d<2**53-1&&(d=Number(d)),d},nr=function(e){var t=Kn(e,[`moov`,`trak`]),n=[];return t.forEach(function(e){var t=Kn(e,[`mdia`,`hdlr`]),r=Kn(e,[`tkhd`]);t.forEach(function(e,t){var i=qn(e.subarray(8,12)),a=r[t],o,s,c;i===`vide`&&(o=new DataView(a.buffer,a.byteOffset,a.byteLength),s=o.getUint8(0),c=s===0?o.getUint32(12):o.getUint32(20),n.push(c))})}),n},ir=function(e){var t=e[0]===0?12:20;return Wn(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])},rr=function(e){var t=Kn(e,[`moov`,`trak`]),n=[];return t.forEach(function(e){var t={},r=Kn(e,[`tkhd`])[0],i,a;r&&(i=new DataView(r.buffer,r.byteOffset,r.byteLength),a=i.getUint8(0),t.id=a===0?i.getUint32(12):i.getUint32(20));var o=Kn(e,[`mdia`,`hdlr`])[0];if(o){var s=qn(o.subarray(8,12));s===`vide`?t.type=`video`:s===`soun`?t.type=`audio`:t.type=s}var c=Kn(e,[`mdia`,`minf`,`stbl`,`stsd`])[0];if(c){var l=c.subarray(8);t.codec=qn(l.subarray(4,8));var u=Kn(l,[t.codec])[0],d,f;u&&(/^[asm]vc[1-9]$/i.test(t.codec)?(d=u.subarray(78),f=qn(d.subarray(4,8)),f===`avcC`&&d.length>11?(t.codec+=`.`,t.codec+=Gn(d[9]),t.codec+=Gn(d[10]),t.codec+=Gn(d[11])):t.codec=`avc1.4d400d`):/^mp4[a,v]$/i.test(t.codec)?(d=u.subarray(28),f=qn(d.subarray(4,8)),f===`esds`&&d.length>20&&d[19]!==0?(t.codec+=`.`+Gn(d[19]),t.codec+=`.`+Gn(d[20]>>>2&63).replace(/^0/,``)):t.codec=`mp4a.40.2`):t.codec=t.codec.toLowerCase())}var p=Kn(e,[`mdia`,`mdhd`])[0];p&&(t.timescale=ir(p)),n.push(t)}),n},ar=function(e,t=0){return Kn(e,[`emsg`]).map(e=>{var n=Jn.parseEmsgBox(new Uint8Array(e)),r=or(n.message_data);return{cueTime:Jn.scaleTime(n.presentation_time,n.timescale,n.presentation_time_delta,t),duration:Jn.scaleTime(n.event_duration,n.timescale),frames:r}})};var sr={findBox:Kn,parseType:qn,timescale:$n,startTime:er,compositionStartTime:tr,videoTrackIds:nr,tracks:rr,getTimescaleFromMediaHeader:ir,getEmsgID3:ar};let{parseTrun:cr}=Fn,{findBox:lr}=sr;var ur=Un,dr={getMdatTrafPairs:function(e){var t=lr(e,[`moof`,`traf`]),n=lr(e,[`mdat`]),r=[];return n.forEach(function(e,n){var i=t[n];r.push({mdat:e,traf:i})}),r},parseSamples:function(e,t,n){var r=t,i=n.defaultSampleDuration||0,a=n.defaultSampleSize||0,o=n.trackId,s=[];return e.forEach(function(e){var t=cr(e).samples;t.forEach(function(e){e.duration===void 0&&(e.duration=i),e.size===void 0&&(e.size=a),e.trackId=o,e.dts=r,e.compositionTimeOffset===void 0&&(e.compositionTimeOffset=0),typeof r==`bigint`?(e.pts=r+ur.BigInt(e.compositionTimeOffset),r+=ur.BigInt(e.duration)):(e.pts=r+e.compositionTimeOffset,r+=e.duration)}),s=s.concat(t)}),s}},fr=Ae.discardEmulationPreventionBytes,pr=He.CaptionStream,mr=yn,hr=Sn,gr=Cn,{getMdatTrafPairs:_r,parseSamples:vr}=dr,yr=function(e,t){for(var n=e,r=0;r<t.length;r++){var i=t[r];if(n<i.size)return i;n-=i.size}return null},br=function(e,t,n){var r=new DataView(e.buffer,e.byteOffset,e.byteLength),i={logs:[],seiNals:[]},a,o,s,c;for(o=0;o+4<e.length;o+=s)if(s=r.getUint32(o),o+=4,!(s<=0))switch(e[o]&31){case 6:var l=e.subarray(o+1,o+1+s),u=yr(o,t);if(a={nalUnitType:`sei_rbsp`,size:s,data:l,escapedRBSP:fr(l),trackId:n},u)a.pts=u.pts,a.dts=u.dts,c=u;else if(c)a.pts=c.pts,a.dts=c.dts;else{i.logs.push({level:`warn`,message:`We've encountered a nal unit without data at `+o+` for trackId `+n+`. See mux.js#223.`});break}i.seiNals.push(a);break}return i},xr=function(e,t){var n={};return _r(e).forEach(function(e){var r=e.mdat,i=e.traf,a=gr(mr(i,[`tfhd`])[0]),o=a.trackId,s=mr(i,[`tfdt`]),c=s.length>0?hr(s[0]).baseMediaDecodeTime:0,l=mr(i,[`trun`]),u,d;t===o&&l.length>0&&(u=vr(l,c,a),d=br(r,u,o),n[o]||(n[o]={seiNals:[],logs:[]}),n[o].seiNals=n[o].seiNals.concat(d.seiNals),n[o].logs=n[o].logs.concat(d.logs))}),n},Sr=function(e,t,n){var r;if(t===null)return null;r=xr(e,t);var i=r[t]||{};return{seiNals:i.seiNals,logs:i.logs,timescale:n}},Cr=function(){var e=!1,t,n,r,i,a,o;this.isInitialized=function(){return e},this.init=function(n){t=new pr,e=!0,o=n?n.isPartial:!1,t.on(`data`,function(e){e.startTime=e.startPts/i,e.endTime=e.endPts/i,a.captions.push(e),a.captionStreams[e.stream]=!0}),t.on(`log`,function(e){a.logs.push(e)})},this.isNewInit=function(e,t){return e&&e.length===0||t&&typeof t==`object`&&Object.keys(t).length===0?!1:r!==e[0]||i!==t[r]},this.parse=function(e,t,o){var s;if(!this.isInitialized()||!t||!o)return null;if(this.isNewInit(t,o))r=t[0],i=o[r];else if(r===null||!i)return n.push(e),null;for(;n.length>0;){var c=n.shift();this.parse(c,t,o)}return s=Sr(e,r,i),s&&s.logs&&(a.logs=a.logs.concat(s.logs)),s===null||!s.seiNals?a.logs.length?{logs:a.logs,captions:[],captionStreams:[]}:null:(this.pushNals(s.seiNals),this.flushStream(),a)},this.pushNals=function(e){if(!this.isInitialized()||!e||e.length===0)return null;e.forEach(function(e){t.push(e)})},this.flushStream=function(){if(!this.isInitialized())return null;o?t.partialFlush():t.flush()},this.clearParsedCaptions=function(){a.captions=[],a.captionStreams={},a.logs=[]},this.resetCaptionStream=function(){if(!this.isInitialized())return null;t.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){n=[],r=null,i=null,a?this.clearParsedCaptions():a={captions:[],captionStreams:{},logs:[]},this.resetCaptionStream()},this.reset()};let{parseTfdt:wr}=Fn,Tr=yn,{getTimescaleFromMediaHeader:Er}=sr,{parseSamples:Dr,getMdatTrafPairs:Or}=dr;var kr=function(){let e=9e4;this.init=function(t){let n=Tr(t,[`moov`,`trak`,`mdia`,`mdhd`])[0];n&&(e=Er(n))},this.parseSegment=function(t){let n=[],r=Or(t),i=0;return r.forEach(function(t){let r=t.mdat,a=t.traf,o=Tr(a,[`tfdt`])[0],s=Tr(a,[`tfhd`])[0],c=Tr(a,[`trun`]);if(o&&(i=wr(o).baseMediaDecodeTime),c.length&&s){let t=Dr(c,i,s),a=0;t.forEach(function(t){let i=new TextDecoder(`utf-8`),o=r.slice(a,a+t.size);if(Tr(o,[`vtte`])[0]){a+=t.size;return}Tr(o,[`vttc`]).forEach(function(r){let a=Tr(r,[`payl`])[0],o=Tr(r,[`sttg`])[0],s=t.pts/e,c=(t.pts+t.duration)/e,l,u;if(a)try{l=i.decode(a)}catch(e){console.error(e)}if(o)try{u=i.decode(o)}catch(e){console.error(e)}t.duration&&l&&n.push({cueText:l,start:s,end:c,settings:u})}),a+=t.size})}}),n}},Ar=Ue,jr=function(e){var t=e[1]&31;return t<<=8,t|=e[2],t},Mr=function(e){return!!(e[1]&64)},Nr=function(e){var t=0;return(e[3]&48)>>>4>1&&(t+=e[4]+1),t},Pr=function(e,t){var n=jr(e);return n===0?`pat`:n===t?`pmt`:t?`pes`:null},Fr=function(e){var t=Mr(e),n=4+Nr(e);return t&&(n+=e[n]+1),(e[n+10]&31)<<8|e[n+11]},Ir=function(e){var t={},n=Mr(e),r=4+Nr(e);if(n&&(r+=e[r]+1),e[r+5]&1){for(var i=3+((e[r+1]&15)<<8|e[r+2])-4,a=12+((e[r+10]&15)<<8|e[r+11]);a<i;){var o=r+a;t[(e[o+1]&31)<<8|e[o+2]]=e[o],a+=((e[o+3]&15)<<8|e[o+4])+5}return t}},Lr=function(e,t){switch(t[jr(e)]){case Ar.H264_STREAM_TYPE:return`video`;case Ar.ADTS_STREAM_TYPE:return`audio`;case Ar.METADATA_STREAM_TYPE:return`timed-metadata`;default:return null}},Rr=function(e){if(!Mr(e))return null;var t=4+Nr(e);if(t>=e.byteLength)return null;var n=null,r=e[t+7];return r&192&&(n={},n.pts=(e[t+9]&14)<<27|(e[t+10]&255)<<20|(e[t+11]&254)<<12|(e[t+12]&255)<<5|(e[t+13]&254)>>>3,n.pts*=4,n.pts+=(e[t+13]&6)>>>1,n.dts=n.pts,r&64&&(n.dts=(e[t+14]&14)<<27|(e[t+15]&255)<<20|(e[t+16]&254)<<12|(e[t+17]&255)<<5|(e[t+18]&254)>>>3,n.dts*=4,n.dts+=(e[t+18]&6)>>>1)),n},zr=function(e){switch(e){case 5:return`slice_layer_without_partitioning_rbsp_idr`;case 6:return`sei_rbsp`;case 7:return`seq_parameter_set_rbsp`;case 8:return`pic_parameter_set_rbsp`;case 9:return`access_unit_delimiter_rbsp`;default:return null}},Br={parseType:Pr,parsePat:Fr,parsePmt:Ir,parsePayloadUnitStartIndicator:Mr,parsePesType:Lr,parsePesTime:Rr,videoPacketContainsKeyFrame:function(e){for(var t=4+Nr(e),n=e.subarray(t),r=0,i=0,a=!1,o;i<n.byteLength-3;i++)if(n[i+2]===1){r=i+5;break}for(;r<n.byteLength;)switch(n[r]){case 0:if(n[r-1]!==0){r+=2;break}else if(n[r-2]!==0){r++;break}i+3!==r-2&&(o=zr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0));do r++;while(n[r]!==1&&r<n.length);i=r-2,r+=3;break;case 1:if(n[r-1]!==0||n[r-2]!==0){r+=3;break}o=zr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0),i=r-2,r+=3;break;default:r+=3;break}return n=n.subarray(i),r-=i,i=0,n&&n.byteLength>3&&(o=zr(n[i+3]&31),o===`slice_layer_without_partitioning_rbsp_idr`&&(a=!0)),a}},Vr=Ue,Hr=Xe.handleRollover,Y={};Y.ts=Br,Y.aac=Bt;var Ur=I.ONE_SECOND_IN_TS,Wr=188,Gr=71,Kr=function(e,t){for(var n=0,r=Wr,i,a;r<e.byteLength;){if(e[n]===Gr&&e[r]===Gr){switch(i=e.subarray(n,r),a=Y.ts.parseType(i,t.pid),a){case`pat`:t.pid=Y.ts.parsePat(i);break;case`pmt`:var o=Y.ts.parsePmt(i);t.table=t.table||{},Object.keys(o).forEach(function(e){t.table[e]=o[e]});break}n+=Wr,r+=Wr;continue}n++,r++}},qr=function(e,t,n){for(var r=0,i=Wr,a,o,s,c,l,u=!1;i<=e.byteLength;){if(e[r]===Gr&&(e[i]===Gr||i===e.byteLength)){switch(a=e.subarray(r,i),o=Y.ts.parseType(a,t.pid),o){case`pes`:s=Y.ts.parsePesType(a,t.table),c=Y.ts.parsePayloadUnitStartIndicator(a),s===`audio`&&c&&(l=Y.ts.parsePesTime(a),l&&(l.type=`audio`,n.audio.push(l),u=!0));break}if(u)break;r+=Wr,i+=Wr;continue}r++,i++}for(i=e.byteLength,r=i-Wr,u=!1;r>=0;){if(e[r]===Gr&&(e[i]===Gr||i===e.byteLength)){switch(a=e.subarray(r,i),o=Y.ts.parseType(a,t.pid),o){case`pes`:s=Y.ts.parsePesType(a,t.table),c=Y.ts.parsePayloadUnitStartIndicator(a),s===`audio`&&c&&(l=Y.ts.parsePesTime(a),l&&(l.type=`audio`,n.audio.push(l),u=!0));break}if(u)break;r-=Wr,i-=Wr;continue}r--,i--}},Jr=function(e,t,n){for(var r=0,i=Wr,a,o,s,c,l,u,d,f,p=!1,m={data:[],size:0};i<e.byteLength;){if(e[r]===Gr&&e[i]===Gr){switch(a=e.subarray(r,i),o=Y.ts.parseType(a,t.pid),o){case`pes`:if(s=Y.ts.parsePesType(a,t.table),c=Y.ts.parsePayloadUnitStartIndicator(a),s===`video`&&(c&&!p&&(l=Y.ts.parsePesTime(a),l&&(l.type=`video`,n.video.push(l),p=!0)),!n.firstKeyFrame)){if(c&&m.size!==0){for(u=new Uint8Array(m.size),d=0;m.data.length;)f=m.data.shift(),u.set(f,d),d+=f.byteLength;if(Y.ts.videoPacketContainsKeyFrame(u)){var h=Y.ts.parsePesTime(u);h?(n.firstKeyFrame=h,n.firstKeyFrame.type=`video`):console.warn(`Failed to extract PTS/DTS from PES at first keyframe. This could be an unusual TS segment, or else mux.js did not parse your TS segment correctly. If you know your TS segments do contain PTS/DTS on keyframes please file a bug report! You can try ffprobe to double check for yourself.`)}m.size=0}m.data.push(a),m.size+=a.byteLength}break}if(p&&n.firstKeyFrame)break;r+=Wr,i+=Wr;continue}r++,i++}for(i=e.byteLength,r=i-Wr,p=!1;r>=0;){if(e[r]===Gr&&e[i]===Gr){switch(a=e.subarray(r,i),o=Y.ts.parseType(a,t.pid),o){case`pes`:s=Y.ts.parsePesType(a,t.table),c=Y.ts.parsePayloadUnitStartIndicator(a),s===`video`&&c&&(l=Y.ts.parsePesTime(a),l&&(l.type=`video`,n.video.push(l),p=!0));break}if(p)break;r-=Wr,i-=Wr;continue}r--,i--}},Yr=function(e,t){if(e.audio&&e.audio.length){var n=t;(n===void 0||isNaN(n))&&(n=e.audio[0].dts),e.audio.forEach(function(e){e.dts=Hr(e.dts,n),e.pts=Hr(e.pts,n),e.dtsTime=e.dts/Ur,e.ptsTime=e.pts/Ur})}if(e.video&&e.video.length){var r=t;if((r===void 0||isNaN(r))&&(r=e.video[0].dts),e.video.forEach(function(e){e.dts=Hr(e.dts,r),e.pts=Hr(e.pts,r),e.dtsTime=e.dts/Ur,e.ptsTime=e.pts/Ur}),e.firstKeyFrame){var i=e.firstKeyFrame;i.dts=Hr(i.dts,r),i.pts=Hr(i.pts,r),i.dtsTime=i.dts/Ur,i.ptsTime=i.pts/Ur}}},Xr=function(e){for(var t=!1,n=0,r=null,i=null,a=0,o=0,s;e.length-o>=3;){switch(Y.aac.parseType(e,o)){case`timed-metadata`:if(e.length-o<10){t=!0;break}if(a=Y.aac.parseId3TagSize(e,o),a>e.length){t=!0;break}i===null&&(s=e.subarray(o,o+a),i=Y.aac.parseAacTimestamp(s)),o+=a;break;case`audio`:if(e.length-o<7){t=!0;break}if(a=Y.aac.parseAdtsSize(e,o),a>e.length){t=!0;break}r===null&&(s=e.subarray(o,o+a),r=Y.aac.parseSampleRate(s)),n++,o+=a;break;default:o++;break}if(t)return null}if(r===null||i===null)return null;var c=Ur/r;return{audio:[{type:`audio`,dts:i,pts:i},{type:`audio`,dts:i+n*1024*c,pts:i+n*1024*c}]}},Zr=function(e){var t={pid:null,table:null},n={};for(var r in Kr(e,t),t.table)if(t.table.hasOwnProperty(r))switch(t.table[r]){case Vr.H264_STREAM_TYPE:n.video=[],Jr(e,t,n),n.video.length===0&&delete n.video;break;case Vr.ADTS_STREAM_TYPE:n.audio=[],qr(e,t,n),n.audio.length===0&&delete n.audio;break}return n},Qr={inspect:function(e,t){var n=Y.aac.isLikelyAacData(e)?Xr(e):Zr(e);return!n||!n.audio&&!n.video?null:(Yr(n,t),n)},parseAudioPes_:qr};let $r=function(e,t){t.on(`data`,function(t){let n=t.initSegment;t.initSegment={data:n.buffer,byteOffset:n.byteOffset,byteLength:n.byteLength};let r=t.data;t.data=r.buffer,e.postMessage({action:`data`,segment:t,byteOffset:r.byteOffset,byteLength:r.byteLength},[t.data])}),t.on(`done`,function(t){e.postMessage({action:`done`})}),t.on(`gopInfo`,function(t){e.postMessage({action:`gopInfo`,gopInfo:t})}),t.on(`videoSegmentTimingInfo`,function(t){let n={start:{decode:I.videoTsToSeconds(t.start.dts),presentation:I.videoTsToSeconds(t.start.pts)},end:{decode:I.videoTsToSeconds(t.end.dts),presentation:I.videoTsToSeconds(t.end.pts)},baseMediaDecodeTime:I.videoTsToSeconds(t.baseMediaDecodeTime)};t.prependedContentDuration&&(n.prependedContentDuration=I.videoTsToSeconds(t.prependedContentDuration)),e.postMessage({action:`videoSegmentTimingInfo`,videoSegmentTimingInfo:n})}),t.on(`audioSegmentTimingInfo`,function(t){let n={start:{decode:I.videoTsToSeconds(t.start.dts),presentation:I.videoTsToSeconds(t.start.pts)},end:{decode:I.videoTsToSeconds(t.end.dts),presentation:I.videoTsToSeconds(t.end.pts)},baseMediaDecodeTime:I.videoTsToSeconds(t.baseMediaDecodeTime)};t.prependedContentDuration&&(n.prependedContentDuration=I.videoTsToSeconds(t.prependedContentDuration)),e.postMessage({action:`audioSegmentTimingInfo`,audioSegmentTimingInfo:n})}),t.on(`id3Frame`,function(t){e.postMessage({action:`id3Frame`,id3Frame:t})}),t.on(`caption`,function(t){e.postMessage({action:`caption`,caption:t})}),t.on(`trackinfo`,function(t){e.postMessage({action:`trackinfo`,trackInfo:t})}),t.on(`audioTimingInfo`,function(t){e.postMessage({action:`audioTimingInfo`,audioTimingInfo:{start:I.videoTsToSeconds(t.start),end:I.videoTsToSeconds(t.end)}})}),t.on(`videoTimingInfo`,function(t){e.postMessage({action:`videoTimingInfo`,videoTimingInfo:{start:I.videoTsToSeconds(t.start),end:I.videoTsToSeconds(t.end)}})}),t.on(`log`,function(t){e.postMessage({action:`log`,log:t})})};class ei{constructor(e,t){this.options=t||{},this.self=e,this.init()}init(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new mn.Transmuxer(this.options),$r(this.self,this.transmuxer)}pushMp4Captions(e){this.captionParser||(this.captionParser=new Cr,this.captionParser.init());let t=new Uint8Array(e.data,e.byteOffset,e.byteLength),n=this.captionParser.parse(t,e.trackIds,e.timescales);this.self.postMessage({action:`mp4Captions`,captions:n&&n.captions||[],logs:n&&n.logs||[],data:t.buffer},[t.buffer])}initMp4WebVttParser(e){this.webVttParser||=new kr;let t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.webVttParser.init(t)}getMp4WebVttText(e){this.webVttParser||=new kr;let t=new Uint8Array(e.data,e.byteOffset,e.byteLength),n=this.webVttParser.parseSegment(t);this.self.postMessage({action:`getMp4WebVttText`,mp4VttCues:n||[],data:t.buffer},[t.buffer])}probeMp4StartTime({timescales:e,data:t}){let n=sr.startTime(e,t);this.self.postMessage({action:`probeMp4StartTime`,startTime:n,data:t},[t.buffer])}probeMp4Tracks({data:e}){let t=sr.tracks(e);this.self.postMessage({action:`probeMp4Tracks`,tracks:t,data:e},[e.buffer])}probeEmsgID3({data:e,offset:t}){let n=sr.getEmsgID3(e,t);this.self.postMessage({action:`probeEmsgID3`,id3Frames:n,emsgData:e},[e.buffer])}probeTs({data:e,baseStartTime:t}){let n=typeof t==`number`&&!isNaN(t)?t*I.ONE_SECOND_IN_TS:void 0,r=Qr.inspect(e,n),i=null;r&&(i={hasVideo:r.video&&r.video.length===2||!1,hasAudio:r.audio&&r.audio.length===2||!1},i.hasVideo&&(i.videoStart=r.video[0].ptsTime),i.hasAudio&&(i.audioStart=r.audio[0].ptsTime)),this.self.postMessage({action:`probeTs`,result:i,data:e},[e.buffer])}clearAllMp4Captions(){this.captionParser&&this.captionParser.clearAllCaptions()}clearParsedMp4Captions(){this.captionParser&&this.captionParser.clearParsedCaptions()}push(e){let t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)}reset(){this.transmuxer.reset()}setTimestampOffset(e){let t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(I.secondsToVideoTs(t)))}setAudioAppendStart(e){this.transmuxer.setAudioAppendStart(Math.ceil(I.secondsToVideoTs(e.appendStart)))}setRemux(e){this.transmuxer.setRemux(e.remux)}flush(e){this.transmuxer.flush(),self.postMessage({action:`done`,type:`transmuxed`})}endTimeline(){this.transmuxer.endTimeline(),self.postMessage({action:`endedtimeline`,type:`transmuxed`})}alignGopsWith(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())}}self.onmessage=function(e){if(e.data.action===`init`&&e.data.options){this.messageHandlers=new ei(self,e.data.options);return}this.messageHandlers||=new ei(self),e.data&&e.data.action&&e.data.action!==`init`&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data)}})));let sc=(e,t,n)=>{let{type:r,initSegment:i,captions:a,captionStreams:o,metadata:s,videoFrameDtsTime:c,videoFramePtsTime:l}=e.data.segment;t.buffer.push({captions:a,captionStreams:o,metadata:s});let u=e.data.segment.boxes||{data:e.data.segment.data},d={type:r,data:new Uint8Array(u.data,u.data.byteOffset,u.data.byteLength),initSegment:new Uint8Array(i.data,i.byteOffset,i.byteLength)};c!==void 0&&(d.videoFrameDtsTime=c),l!==void 0&&(d.videoFramePtsTime=l),n(d)},cc=({transmuxedData:e,callback:t})=>{e.buffer=[],t(e)},lc=(e,t)=>{t.gopInfo=e.data.gopInfo},uc=e=>{let{transmuxer:t,bytes:n,audioAppendStart:r,gopsToAlignWith:i,remux:a,onData:o,onTrackInfo:s,onAudioTimingInfo:c,onVideoTimingInfo:l,onVideoSegmentTimingInfo:u,onAudioSegmentTimingInfo:d,onId3:f,onCaptions:p,onDone:m,onEndedTimeline:h,onTransmuxerLog:g,isEndOfTimeline:_,segment:v,triggerSegmentEventFn:y}=e,b={buffer:[]},x=_;if(t.onmessage=n=>{t.currentTransmux===e&&(n.data.action===`data`&&sc(n,b,o),n.data.action===`trackinfo`&&s(n.data.trackInfo),n.data.action===`gopInfo`&&lc(n,b),n.data.action===`audioTimingInfo`&&c(n.data.audioTimingInfo),n.data.action===`videoTimingInfo`&&l(n.data.videoTimingInfo),n.data.action===`videoSegmentTimingInfo`&&u(n.data.videoSegmentTimingInfo),n.data.action===`audioSegmentTimingInfo`&&d(n.data.audioSegmentTimingInfo),n.data.action===`id3Frame`&&f([n.data.id3Frame],n.data.id3Frame.dispatchType),n.data.action===`caption`&&p(n.data.caption),n.data.action===`endedtimeline`&&(x=!1,h()),n.data.action===`log`&&g(n.data.log),n.data.type===`transmuxed`&&(x||(t.onmessage=null,cc({transmuxedData:b,callback:m}),dc(t))))},t.onerror=()=>{m(null,{message:`Received an error message from the transmuxer worker`,metadata:{errorType:Q.Error.StreamingFailedToTransmuxSegment,segmentInfo:Dl({segment:v})}})},r&&t.postMessage({action:`setAudioAppendStart`,appendStart:r}),Array.isArray(i)&&t.postMessage({action:`alignGopsWith`,gopsToAlignWith:i}),a!==void 0&&t.postMessage({action:`setRemux`,remux:a}),n.byteLength){let e=n instanceof ArrayBuffer?n:n.buffer,r=n instanceof ArrayBuffer?0:n.byteOffset;y({type:`segmenttransmuxingstart`,segment:v}),t.postMessage({action:`push`,data:e,byteOffset:r,byteLength:n.byteLength},[e])}_&&t.postMessage({action:`endTimeline`}),t.postMessage({action:`flush`})},dc=e=>{e.currentTransmux=null,e.transmuxQueue.length&&(e.currentTransmux=e.transmuxQueue.shift(),typeof e.currentTransmux==`function`?e.currentTransmux():uc(e.currentTransmux))},fc=(e,t)=>{e.postMessage({action:t}),dc(e)},pc=(e,t)=>{if(!t.currentTransmux){t.currentTransmux=e,fc(t,e);return}t.transmuxQueue.push(fc.bind(null,t,e))},mc=e=>{pc(`reset`,e)},hc=e=>{pc(`endTimeline`,e)},gc=e=>{if(!e.transmuxer.currentTransmux){e.transmuxer.currentTransmux=e,uc(e);return}e.transmuxer.transmuxQueue.push(e)};var _c={reset:mc,endTimeline:hc,transmux:gc,createTransmuxer:e=>{let t=new oc;t.currentTransmux=null,t.transmuxQueue=[];let n=t.terminate;return t.terminate=()=>(t.currentTransmux=null,t.transmuxQueue.length=0,n.call(t)),t.postMessage({action:`init`,options:e}),t}};let vc=function(e){let t=e.transmuxer,n=e.endAction||e.action,r=e.callback,i=T.default({},e,{endAction:null,transmuxer:null,callback:null}),a=i=>{i.data.action===n&&(t.removeEventListener(`message`,a),i.data.data&&(i.data.data=new Uint8Array(i.data.data,e.byteOffset||0,e.byteLength||i.data.data.byteLength),e.data&&=i.data.data),r(i.data))};if(t.addEventListener(`message`,a),e.data){let n=e.data instanceof ArrayBuffer;i.byteOffset=n?0:e.data.byteOffset,i.byteLength=e.data.byteLength;let r=[n?e.data:e.data.buffer];t.postMessage(i,r)}else t.postMessage(i)},yc={FAILURE:2,TIMEOUT:-101,ABORTED:-102},bc=`wvtt`,xc=e=>{e.forEach(e=>{e.abort()})},Sc=e=>({bandwidth:e.bandwidth,bytesReceived:e.bytesReceived||0,roundTripTime:e.roundTripTime||0}),Cc=e=>{let t=e.target,n={bandwidth:1/0,bytesReceived:0,roundTripTime:Date.now()-t.requestTime||0};return n.bytesReceived=e.loaded,n.bandwidth=Math.floor(n.bytesReceived/n.roundTripTime*8*1e3),n},wc=(e,t)=>{let{requestType:n}=t,r=$o({requestType:n,request:t,error:e});return t.timedout?{status:t.status,message:`HLS request timed-out at URL: `+t.uri,code:yc.TIMEOUT,xhr:t,metadata:r}:t.aborted?{status:t.status,message:`HLS request aborted at URL: `+t.uri,code:yc.ABORTED,xhr:t,metadata:r}:e?{status:t.status,message:`HLS request errored at URL: `+t.uri,code:yc.FAILURE,xhr:t,metadata:r}:t.responseType===`arraybuffer`&&t.response.byteLength===0?{status:t.status,message:`Empty HLS response at URL: `+t.uri,code:yc.FAILURE,xhr:t,metadata:r}:null},Tc=(e,t,n,r)=>(i,a)=>{let o=a.response,s=wc(i,a);if(s)return n(s,e);if(o.byteLength!==16)return n({status:a.status,message:`Invalid HLS key at URL: `+a.uri,code:yc.FAILURE,xhr:a},e);let c=new DataView(o),l=new Uint32Array([c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12)]);for(let e=0;e<t.length;e++)t[e].bytes=l;return r({type:`segmentkeyloadcomplete`,segment:e,keyInfo:{uri:a.uri}}),n(null,e)},Ec=(e,t)=>{t===bc&&e.transmuxer.postMessage({action:`initMp4WebVttParser`,data:e.map.bytes})},Dc=(e,t,n)=>{t===bc&&vc({action:`getMp4WebVttText`,data:e.bytes,transmuxer:e.transmuxer,callback:({data:t,mp4VttCues:r})=>{e.bytes=t,n(null,e,{mp4VttCues:r})}})},Oc=(e,t)=>{let n=g.detectContainerForBytes(e.map.bytes);if(n!==`mp4`){let r=e.map.resolvedUri||e.map.uri,i=n||`unknown`;return t({internal:!0,message:`Found unsupported ${i} container for initialization segment at URL: ${r}`,code:yc.FAILURE,metadata:{mediaType:i}})}vc({action:`probeMp4Tracks`,data:e.map.bytes,transmuxer:e.transmuxer,callback:({tracks:n,data:r})=>(e.map.bytes=r,n.forEach(function(t){e.map.tracks=e.map.tracks||{},!e.map.tracks[t.type]&&(e.map.tracks[t.type]=t,typeof t.id==`number`&&t.timescale&&(e.map.timescales=e.map.timescales||{},e.map.timescales[t.id]=t.timescale),t.type===`text`&&Ec(e,t.codec))}),t(null))})},kc=({segment:e,finishProcessingFn:t,triggerSegmentEventFn:n})=>(r,i)=>{let a=wc(r,i);if(a)return t(a,e);let o=new Uint8Array(i.response);if(n({type:`segmentloaded`,segment:e}),e.map.key)return e.map.encryptedBytes=o,t(null,e);e.map.bytes=o,Oc(e,function(n){if(n)return n.xhr=i,n.status=i.status,t(n,e);t(null,e)})},Ac=({segment:e,finishProcessingFn:t,responseType:n,triggerSegmentEventFn:r})=>(i,a)=>{let o=wc(i,a);if(o)return t(o,e);r({type:`segmentloaded`,segment:e});let s=n===`arraybuffer`||!a.responseText?a.response:ec(a.responseText.substring(e.lastReachedChar||0));return e.stats=Sc(a),e.key?e.encryptedBytes=new Uint8Array(s):e.bytes=new Uint8Array(s),t(null,e)},jc=({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=e.map&&e.map.tracks||{},h=!!(m.audio&&m.video),g=r.bind(null,e,`audio`,`start`),_=r.bind(null,e,`audio`,`end`),v=r.bind(null,e,`video`,`start`),y=r.bind(null,e,`video`,`end`),b=()=>gc({bytes:t,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,remux:h,onData:t=>{t.type=t.type===`combined`?`video`:t.type,u(e,t)},onTrackInfo:t=>{n&&(h&&(t.isMuxed=!0),n(e,t))},onAudioTimingInfo:e=>{g&&e.start!==void 0&&(g(e.start),g=null),_&&e.end!==void 0&&_(e.end)},onVideoTimingInfo:e=>{v&&e.start!==void 0&&(v(e.start),v=null),y&&e.end!==void 0&&y(e.end)},onVideoSegmentTimingInfo:t=>{p({type:`segmenttransmuxingtiminginfoavailable`,segment:e,timingInfo:{pts:{start:t.start.presentation,end:t.end.presentation},dts:{start:t.start.decode,end:t.end.decode}}}),i(t)},onAudioSegmentTimingInfo:t=>{p({type:`segmenttransmuxingtiminginfoavailable`,segment:e,timingInfo:{pts:{start:t.start.pts,end:t.end.pts},dts:{start:t.start.dts,end:t.end.dts}}}),a(t)},onId3:(t,n)=>{o(e,t,n)},onCaptions:t=>{s(e,[t])},isEndOfTimeline:c,onEndedTimeline:()=>{l()},onTransmuxerLog:f,onDone:(t,n)=>{d&&(t.type=t.type===`combined`?`video`:t.type,p({type:`segmenttransmuxingcomplete`,segment:e}),d(n,e,t))},segment:e,triggerSegmentEventFn:p});vc({action:`probeTs`,transmuxer:e.transmuxer,data:t,baseStartTime:e.baseStartTime,callback:r=>{e.bytes=t=r.data;let i=r.result;i&&(n(e,{hasAudio:i.hasAudio,hasVideo:i.hasVideo,isMuxed:h}),n=null),b()}})},Mc=({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=new Uint8Array(t);if(g.isLikelyFmp4MediaSegment(m)){e.isFmp4=!0;let{tracks:i}=e.map;if(i.text&&(!i.audio||!i.video)){u(e,{data:m,type:`text`}),Dc(e,i.text.codec,d);return}let a={isFmp4:!0,hasVideo:!!i.video,hasAudio:!!i.audio};i.audio&&i.audio.codec&&i.audio.codec!==`enca`&&(a.audioCodec=i.audio.codec),i.video&&i.video.codec&&i.video.codec!==`encv`&&(a.videoCodec=i.video.codec),i.video&&i.audio&&(a.isMuxed=!0),n(e,a);let c=(t,n)=>{u(e,{data:m,type:a.hasAudio&&!a.isMuxed?`audio`:`video`}),n&&n.length&&o(e,n),t&&t.length&&s(e,t),d(null,e,{})};vc({action:`probeMp4StartTime`,timescales:e.map.timescales,data:m,transmuxer:e.transmuxer,callback:({data:n,startTime:o})=>{t=n.buffer,e.bytes=m=n,a.hasAudio&&!a.isMuxed&&r(e,`audio`,`start`,o),a.hasVideo&&r(e,`video`,`start`,o),vc({action:`probeEmsgID3`,data:m,transmuxer:e.transmuxer,offset:o,callback:({emsgData:n,id3Frames:r})=>{if(t=n.buffer,e.bytes=m=n,!i.video||!n.byteLength||!e.transmuxer){c(void 0,r);return}vc({action:`pushMp4Captions`,endAction:`mp4Captions`,transmuxer:e.transmuxer,data:m,timescales:e.map.timescales,trackIds:[i.video.id],callback:n=>{t=n.data.buffer,e.bytes=m=n.data,n.logs.forEach(function(e){f($(e,{stream:`mp4CaptionParser`}))}),c(n.captions,r)}})}})}});return}if(!e.transmuxer){d(null,e,{});return}if(e.container===void 0&&(e.container=g.detectContainerForBytes(m)),e.container!==`ts`&&e.container!==`aac`){n(e,{hasAudio:!1,hasVideo:!1}),d(null,e,{});return}jc({segment:e,bytes:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})},Nc=function({id:e,key:t,encryptedBytes:n,decryptionWorker:r,segment:i,doneFn:a},o){let s=t=>{if(t.data.source===e){r.removeEventListener(`message`,s);let e=t.data.decrypted;o(new Uint8Array(e.bytes,e.byteOffset,e.byteLength))}};r.onerror=()=>{let e=`An error occurred in the decryption worker`,t=Dl({segment:i});a({message:e,metadata:{error:Error(e),errorType:Q.Error.StreamingFailedToDecryptSegment,segmentInfo:t,keyInfo:{uri:i.key.resolvedUri||i.map.key.resolvedUri}}},i)},r.addEventListener(`message`,s);let c;c=t.bytes.slice?t.bytes.slice():new Uint32Array(Array.prototype.slice.call(t.bytes)),r.postMessage(Ds({source:e,encrypted:n,key:c,iv:t.iv}),[n.buffer,c.buffer])},Pc=({decryptionWorker:e,segment:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{p({type:`segmentdecryptionstart`}),Nc({id:t.requestId,key:t.key,encryptedBytes:t.encryptedBytes,decryptionWorker:e,segment:t,doneFn:d},e=>{t.bytes=e,p({type:`segmentdecryptioncomplete`,segment:t}),Mc({segment:t,bytes:t.bytes,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})})},Fc=({activeXhrs:e,decryptionWorker:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})=>{let m=0,h=!1;return(g,_)=>{if(!h){if(g)return h=!0,xc(e),d(g,_);if(m+=1,m===e.length){let m=function(){if(_.encryptedBytes)return Pc({decryptionWorker:t,segment:_,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p});Mc({segment:_,bytes:_.bytes,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u,doneFn:d,onTransmuxerLog:f,triggerSegmentEventFn:p})};if(_.endOfAllRequests=Date.now(),_.map&&_.map.encryptedBytes&&!_.map.bytes)return p({type:`segmentdecryptionstart`,segment:_}),Nc({decryptionWorker:t,id:_.requestId+`-init`,encryptedBytes:_.map.encryptedBytes,key:_.map.key,segment:_,doneFn:d},t=>{_.map.bytes=t,p({type:`segmentdecryptioncomplete`,segment:_}),Oc(_,t=>{if(t)return xc(e),d(t,_);m()})});m()}}}},Ic=({loadendState:e,abortFn:t})=>n=>{n.target.aborted&&t&&!e.calledAbortFn&&(t(),e.calledAbortFn=!0)},Lc=({segment:e,progressFn:t,trackInfoFn:n,timingInfoFn:r,videoSegmentTimingInfoFn:i,audioSegmentTimingInfoFn:a,id3Fn:o,captionsFn:s,isEndOfTimeline:c,endedTimelineFn:l,dataFn:u})=>n=>{if(!n.target.aborted)return e.stats=$(e.stats,Cc(n)),!e.stats.firstBytesReceivedAt&&e.stats.bytesReceived&&(e.stats.firstBytesReceivedAt=Date.now()),t(n,e)},Rc=({xhr:e,xhrOptions:t,decryptionWorker:n,segment:r,abortFn:i,progressFn:a,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m,doneFn:h,onTransmuxerLog:g,triggerSegmentEventFn:_})=>{let v=[],y=Fc({activeXhrs:v,decryptionWorker:n,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m,doneFn:h,onTransmuxerLog:g,triggerSegmentEventFn:_});if(r.key&&!r.key.bytes){let n=[r.key];r.map&&!r.map.bytes&&r.map.key&&r.map.key.resolvedUri===r.key.resolvedUri&&n.push(r.map.key);let i=$(t,{uri:r.key.resolvedUri,responseType:`arraybuffer`,requestType:`segment-key`}),a=Tc(r,n,y,_);_({type:`segmentkeyloadstart`,segment:r,keyInfo:{uri:r.key.resolvedUri}});let o=e(i,a);v.push(o)}if(r.map&&!r.map.bytes){if(r.map.key&&(!r.key||r.key.resolvedUri!==r.map.key.resolvedUri)){let n=$(t,{uri:r.map.key.resolvedUri,responseType:`arraybuffer`,requestType:`segment-key`}),i=Tc(r,[r.map.key],y,_);_({type:`segmentkeyloadstart`,segment:r,keyInfo:{uri:r.map.key.resolvedUri}});let a=e(n,i);v.push(a)}let n=$(t,{uri:r.map.resolvedUri,responseType:`arraybuffer`,headers:Cs(r.map),requestType:`segment-media-initialization`}),i=kc({segment:r,finishProcessingFn:y,triggerSegmentEventFn:_});_({type:`segmentloadstart`,segment:r});let a=e(n,i);v.push(a)}let b=$(t,{uri:r.part&&r.part.resolvedUri||r.resolvedUri,responseType:`arraybuffer`,headers:Cs(r),requestType:`segment`}),x=Ac({segment:r,finishProcessingFn:y,responseType:b.responseType,triggerSegmentEventFn:_});_({type:`segmentloadstart`,segment:r});let S=e(b,x);S.addEventListener(`progress`,Lc({segment:r,progressFn:a,trackInfoFn:o,timingInfoFn:s,videoSegmentTimingInfoFn:c,audioSegmentTimingInfoFn:l,id3Fn:u,captionsFn:d,isEndOfTimeline:f,endedTimelineFn:p,dataFn:m})),v.push(S);let C={};return v.forEach(e=>{e.addEventListener(`loadend`,Ic({loadendState:C,abortFn:i}))}),()=>xc(v)},zc=eo(`PlaylistSelector`),Bc=function(e){if(!e||!e.playlist)return;let t=e.playlist;return JSON.stringify({id:t.id,bandwidth:e.bandwidth,width:e.width,height:e.height,codecs:t.attributes&&t.attributes.CODECS||``})},Vc=function(e,t){if(!e)return``;let n=y.default.getComputedStyle(e);return n?n[t]:``},Hc=function(e,t){let n=e.slice();e.sort(function(e,r){let i=t(e,r);return i===0?n.indexOf(e)-n.indexOf(r):i})},Uc=function(e,t){let n,r;return e.attributes.BANDWIDTH&&(n=e.attributes.BANDWIDTH),n||=y.default.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(r=t.attributes.BANDWIDTH),r||=y.default.Number.MAX_VALUE,n-r},Wc=function(e,t){let n,r;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(n=e.attributes.RESOLUTION.width),n||=y.default.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(r=t.attributes.RESOLUTION.width),r||=y.default.Number.MAX_VALUE,n===r&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:n-r},Gc=function(e){let{main:t,bandwidth:n,playerWidth:r,playerHeight:i,playerObjectFit:a,limitRenditionByPlayerDimensions:o,playlistController:s}=e;if(!t)return;let c={bandwidth:n,width:r,height:i,limitRenditionByPlayerDimensions:o},l=t.playlists;Vo.isAudioOnly(t)&&(l=s.getAudioTrackPlaylists_(),c.audioOnly=!0);let u=l.map(e=>{let t,n=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,r=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height;return t=e.attributes&&e.attributes.BANDWIDTH,t||=y.default.Number.MAX_VALUE,{bandwidth:t,width:n,height:r,playlist:e}});Hc(u,(e,t)=>e.bandwidth-t.bandwidth),u=u.filter(e=>!Vo.isIncompatible(e.playlist));let d=u.filter(e=>Vo.isEnabled(e.playlist));d.length||(d=u.filter(e=>!Vo.isDisabled(e.playlist)));let f=d.filter(e=>e.bandwidth*$s.BANDWIDTH_VARIANCE<n),p=f[f.length-1],m=f.filter(e=>e.bandwidth===p.bandwidth)[0];if(o===!1){let e=m||d[0]||u[0];if(e&&e.playlist){let t=`sortedPlaylistReps`;return m&&(t=`bandwidthBestRep`),d[0]&&(t=`enabledPlaylistReps`),zc(`choosing ${Bc(e)} using ${t} with options`,c),e.playlist}return zc(`could not choose a playlist with options`,c),null}let h=f.filter(e=>e.width&&e.height);Hc(h,(e,t)=>e.width-t.width);let g=h.filter(e=>e.width===r&&e.height===i);p=g[g.length-1];let _=g.filter(e=>e.bandwidth===p.bandwidth)[0],v,b,x;_||(v=h.filter(e=>a===`cover`?e.width>r&&e.height>i:e.width>r||e.height>i),b=v.filter(e=>e.width===v[0].width&&e.height===v[0].height),p=b[b.length-1],x=b.filter(e=>e.bandwidth===p.bandwidth)[0]);let S;if(s.leastPixelDiffSelector){let e=h.map(e=>(e.pixelDiff=Math.abs(e.width-r)+Math.abs(e.height-i),e));Hc(e,(e,t)=>e.pixelDiff===t.pixelDiff?t.bandwidth-e.bandwidth:e.pixelDiff-t.pixelDiff),S=e[0]}let C=S||x||_||m||d[0]||u[0];if(C&&C.playlist){let e=`sortedPlaylistReps`;return S?e=`leastPixelDiffRep`:x?e=`resolutionPlusOneRep`:_?e=`resolutionBestRep`:m?e=`bandwidthBestRep`:d[0]&&(e=`enabledPlaylistReps`),zc(`choosing ${Bc(C)} using ${e} with options`,c),C.playlist}return zc(`could not choose a playlist with options`,c),null},Kc=function(){let e=this.useDevicePixelRatio&&y.default.devicePixelRatio||1;return isNaN(this.customPixelRatio)||(e=this.customPixelRatio),Gc({main:this.playlists.main,bandwidth:this.systemBandwidth,playerWidth:parseInt(Vc(this.tech_.el(),`width`),10)*e,playerHeight:parseInt(Vc(this.tech_.el(),`height`),10)*e,playerObjectFit:this.usePlayerObjectFit?Vc(this.tech_.el(),`objectFit`):``,limitRenditionByPlayerDimensions:this.limitRenditionByPlayerDimensions,playlistController:this.playlistController_})},qc=function(e){let t=-1,n=-1;if(e<0||e>1)throw Error(`Moving average bandwidth decay must be between 0 and 1.`);return function(){let r=this.useDevicePixelRatio&&y.default.devicePixelRatio||1;return isNaN(this.customPixelRatio)||(r=this.customPixelRatio),t<0&&(t=this.systemBandwidth,n=this.systemBandwidth),this.systemBandwidth>0&&this.systemBandwidth!==n&&(t=e*this.systemBandwidth+(1-e)*t,n=this.systemBandwidth),Gc({main:this.playlists.main,bandwidth:t,playerWidth:parseInt(Vc(this.tech_.el(),`width`),10)*r,playerHeight:parseInt(Vc(this.tech_.el(),`height`),10)*r,playerObjectFit:this.usePlayerObjectFit?Vc(this.tech_.el(),`objectFit`):``,limitRenditionByPlayerDimensions:this.limitRenditionByPlayerDimensions,playlistController:this.playlistController_})}},Jc=function(e){let{main:t,currentTime:n,bandwidth:r,duration:i,segmentDuration:a,timeUntilRebuffer:o,currentTimeline:s,syncController:c}=e,l=t.playlists.filter(e=>!Vo.isIncompatible(e)),u=l.filter(Vo.isEnabled);u.length||(u=l.filter(e=>!Vo.isDisabled(e)));let d=u.filter(Vo.hasAttribute.bind(null,`BANDWIDTH`)).map(e=>{let t=c.getSyncPoint(e,i,s,n)?1:2;return{playlist:e,rebufferingImpact:Vo.estimateSegmentRequestTime(a,r,e)*t-o}}),f=d.filter(e=>e.rebufferingImpact<=0);return Hc(f,(e,t)=>Uc(t.playlist,e.playlist)),f.length?f[0]:(Hc(d,(e,t)=>e.rebufferingImpact-t.rebufferingImpact),d[0]||null)},Yc=function(){let e=this.playlists.main.playlists.filter(Vo.isEnabled);return Hc(e,(e,t)=>Uc(e,t)),e.filter(e=>!!os(this.playlists.main,e).video)[0]||null},Xc=e=>{let t=0,n;return e.bytes&&(n=new Uint8Array(e.bytes),e.segments.forEach(e=>{n.set(e,t),t+=e.byteLength})),n};function Zc(e){try{return new URL(e).pathname.split(`/`).slice(-2).join(`/`)}catch{return``}}let Qc=function(e,t,n){if(!e[n]){t.trigger({type:`usage`,name:`vhs-608`});let r=n;/^cc708_/.test(n)&&(r=`SERVICE`+n.split(`_`)[1]);let i=t.textTracks().getTrackById(r);if(i)e[n]=i;else{let i=t.options_.vhs&&t.options_.vhs.captionServices||{},a=n,o=n,s=!1,c=i[r];c&&(a=c.label,o=c.language,s=c.default),e[n]=t.addRemoteTextTrack({kind:`captions`,id:r,default:s,label:a,language:o},!1).track}}},$c=function({inbandTextTracks:e,captionArray:t,timestampOffset:n}){if(!t)return;let r=y.default.WebKitDataCue||y.default.VTTCue;t.forEach(t=>{let i=t.stream;t.content?t.content.forEach(a=>{let o=new r(t.startTime+n,t.endTime+n,a.text);o.line=a.line,o.align=`left`,o.position=a.position,o.positionAlign=`line-left`,e[i].addCue(o)}):e[i].addCue(new r(t.startTime+n,t.endTime+n,t.text))})},el=function(e){Object.defineProperties(e.frame,{id:{get(){return Q.log.warn(`cue.frame.id is deprecated. Use cue.value.key instead.`),e.value.key}},value:{get(){return Q.log.warn(`cue.frame.value is deprecated. Use cue.value.data instead.`),e.value.data}},privateData:{get(){return Q.log.warn(`cue.frame.privateData is deprecated. Use cue.value.data instead.`),e.value.data}}})},tl=({inbandTextTracks:e,metadataArray:t,timestampOffset:n,videoDuration:r})=>{if(!t)return;let i=y.default.WebKitDataCue||y.default.VTTCue,a=e.metadataTrack_;if(!a||(t.forEach(e=>{let t=e.cueTime+n;typeof t!=`number`||y.default.isNaN(t)||t<0||!(t<1/0)||!e.frames||!e.frames.length||e.frames.forEach(e=>{let n=new i(t,t,e.value||e.url||e.data||``);n.frame=e,n.value=e,el(n),a.addCue(n)})}),!a.cues||!a.cues.length))return;let o=a.cues,s=[];for(let e=0;e<o.length;e++)o[e]&&s.push(o[e]);let c=s.reduce((e,t)=>{let n=e[t.startTime]||[];return n.push(t),e[t.startTime]=n,e},{}),l=Object.keys(c).sort((e,t)=>Number(e)-Number(t));l.forEach((e,t)=>{let n=c[e],i=isFinite(r)?r:e,a=Number(l[t+1])||i;n.forEach(e=>{e.endTime=a})})},nl={id:`ID`,class:`CLASS`,startDate:`START-DATE`,duration:`DURATION`,endDate:`END-DATE`,endOnNext:`END-ON-NEXT`,plannedDuration:`PLANNED-DURATION`,scte35Out:`SCTE35-OUT`,scte35In:`SCTE35-IN`},rl=new Set([`id`,`class`,`startDate`,`duration`,`endDate`,`endOnNext`,`startTime`,`endTime`,`processDateRange`]),il=({inbandTextTracks:e,dateRanges:t})=>{let n=e.metadataTrack_;if(!n)return;let r=y.default.WebKitDataCue||y.default.VTTCue;t.forEach(e=>{for(let t of Object.keys(e)){if(rl.has(t))continue;let i=new r(e.startTime,e.endTime,``);i.id=e.id,i.type=`com.apple.quicktime.HLS`,i.value={key:nl[t],data:e[t]},(t===`scte35Out`||t===`scte35In`)&&(i.value.data=new Uint8Array(i.value.data.match(/[\da-f]{2}/gi)).buffer),n.addCue(i)}e.processDateRange()})},al=(e,t,n)=>{e.metadataTrack_||(e.metadataTrack_=n.addRemoteTextTrack({kind:`metadata`,label:`Timed Metadata`},!1).track,Q.browser.IS_ANY_SAFARI||(e.metadataTrack_.inBandMetadataTrackDispatchType=t))},ol=function(e,t,n){let r,i;if(n&&n.cues)for(r=n.cues.length;r--;)i=n.cues[r],i.startTime>=e&&i.endTime<=t&&n.removeCue(i)},sl=function(e){let t=e.cues;if(!t)return;let n={};for(let r=t.length-1;r>=0;r--){let i=t[r],a=`${i.startTime}-${i.endTime}-${i.text}`;n[a]?e.removeCue(i):n[a]=i}},cl=(e,t,n)=>{if(t==null||!e.length)return[];let r=Math.ceil((t-n+3)*_.ONE_SECOND_IN_TS),i;for(i=0;i<e.length&&!(e[i].pts>r);i++);return e.slice(i)},ll=(e,t,n)=>{if(!t.length)return e;if(n)return t.slice();let r=t[0].pts,i=0;for(;i<e.length&&!(e[i].pts>=r);i++);return e.slice(0,i).concat(t)},ul=(e,t,n,r)=>{let i=Math.ceil((t-r)*_.ONE_SECOND_IN_TS),a=Math.ceil((n-r)*_.ONE_SECOND_IN_TS),o=e.slice(),s=e.length;for(;s--&&!(e[s].pts<=a););if(s===-1)return o;let c=s+1;for(;c--&&!(e[c].pts<=i););return c=Math.max(c,0),o.splice(c,s-c+1),o},dl=function(e,t){if(!e&&!t||!e&&t||e&&!t)return!1;if(e===t)return!0;let n=Object.keys(e).sort(),r=Object.keys(t).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0},fl=function(e,t,n){t||=[];let r=[],i=0;for(let a=0;a<t.length;a++){let o=t[a];if(e===o.timeline&&(r.push(a),i+=o.duration,i>n))return a}return r.length===0?0:r[r.length-1]},pl=e=>typeof e==`number`&&isFinite(e),ml=1/60,hl=(e,t,n)=>e!==`main`||!t||!n?null:!n.hasAudio&&!n.hasVideo?`Neither audio nor video found in segment.`:t.hasVideo&&!n.hasVideo?`Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.`:!t.hasVideo&&n.hasVideo?`Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.`:null,gl=(e,t,n)=>{let r=t-$s.BACK_BUFFER_LENGTH;e.length&&(r=Math.max(r,e.start(0)));let i=t-n;return Math.min(i,r)},_l=e=>{let{startOfSegment:t,duration:n,segment:r,part:i,playlist:{mediaSequence:a,id:o,segments:s=[]},mediaIndex:c,partIndex:l,timeline:u}=e,d=s.length-1,f=`mediaIndex/partIndex increment`;e.getMediaInfoForTime?f=`getMediaInfoForTime (${e.getMediaInfoForTime})`:e.isSyncRequest&&(f=`getSyncSegmentCandidate (isSyncRequest)`),e.independent&&(f+=` with independent ${e.independent}`);let p=typeof l==`number`,m=e.segment.uri?`segment`:`pre-segment`,h=p?bo({preloadSegment:r})-1:0;return`${m} [${a+c}/${a+d}]`+(p?` part [${l}/${h}]`:``)+` segment start/end [${r.start} => ${r.end}]`+(p?` part start/end [${i.start} => ${i.end}]`:``)+` startOfSegment [${t}] duration [${n}] timeline [${u}] selected by [${f}] playlist [${o}]`},vl=e=>`${e}TimingInfo`,yl=({segmentTimeline:e,currentTimeline:t,startOfSegment:n,buffered:r,overrideCheck:i})=>!i&&e===t?null:e<t?n:r.length?r.end(r.length-1):n,bl=({timelineChangeController:e,currentTimeline:t,segmentTimeline:n,loaderType:r,audioDisabled:i})=>{if(t===n)return!1;if(r===`audio`){let t=e.lastTimelineChange({type:`main`});return!t||t.to!==n}if(r===`main`&&i){let t=e.pendingTimelineChange({type:`audio`});return!(t&&t.to===n)}return!1},xl=e=>{if(!e)return!1;let t=e.pendingTimelineChange({type:`audio`}),n=e.pendingTimelineChange({type:`main`}),r=t&&n,i=r&&t.to!==n.to;return!!(r&&t.from!==-1&&n.from!==-1&&i)},Sl=e=>{let t=e.timelineChangeController_.pendingTimelineChange({type:`audio`}),n=e.timelineChangeController_.pendingTimelineChange({type:`main`});return t&&n&&t.to<n.to},Cl=e=>{let t=e.pendingSegment_;if(t&&bl({timelineChangeController:e.timelineChangeController_,currentTimeline:e.currentTimeline_,segmentTimeline:t.timeline,loaderType:e.loaderType_,audioDisabled:e.audioDisabled_})&&xl(e.timelineChangeController_)){if(Sl(e)){e.timelineChangeController_.trigger(`audioTimelineBehind`);return}e.timelineChangeController_.trigger(`fixBadTimelineChange`)}},wl=e=>{let t=0;return[`video`,`audio`].forEach(function(n){let r=e[`${n}TimingInfo`];if(!r)return;let{start:i,end:a}=r,o;typeof i==`bigint`||typeof a==`bigint`?o=y.default.BigInt(a)-y.default.BigInt(i):typeof i==`number`&&typeof a==`number`&&(o=a-i),o!==void 0&&o>t&&(t=o)}),typeof t==`bigint`&&t<2**53-1&&(t=Number(t)),t},Tl=({segmentDuration:e,maxDuration:t})=>e?Math.round(e)>t+ro:!1,El=(e,t)=>{if(t!==`hls`)return null;let n=wl({audioTimingInfo:e.audioTimingInfo,videoTimingInfo:e.videoTimingInfo});if(!n)return null;let r=e.playlist.targetDuration,i=Tl({segmentDuration:n,maxDuration:r*2}),a=Tl({segmentDuration:n,maxDuration:r}),o=`Segment with index ${e.mediaIndex} from playlist ${e.playlist.id} has a duration of ${n} when the reported duration is ${e.duration} and the target duration is ${r}. For HLS content, a duration in excess of the target duration may result in playback issues. See the HLS specification section on EXT-X-TARGETDURATION for more details: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.3.1`;return i||a?{severity:i?`warn`:`info`,message:o}:null},Dl=({type:e,segment:t})=>{if(!t)return;let n=!!(t.key||t.map&&t.map.ke),r=!!(t.map&&!t.map.bytes),i=t.startOfSegment===void 0?t.start:t.startOfSegment;return{type:e||t.type,uri:t.resolvedUri||t.uri,start:i,duration:t.duration,isEncrypted:n,isMediaInitialization:r}};var Ol=class extends Q.EventTarget{constructor(e,t={}){if(super(),!e)throw TypeError(`Initialization settings are required`);if(typeof e.currentTime!=`function`)throw TypeError(`No currentTime getter specified`);if(!e.mediaSource)throw TypeError(`No MediaSource specified`);this.bandwidth=e.bandwidth,this.throughput={rate:0,count:0},this.roundTrip=NaN,this.resetStats_(),this.mediaIndex=null,this.partIndex=null,this.hasPlayed_=e.hasPlayed,this.currentTime_=e.currentTime,this.seekable_=e.seekable,this.seeking_=e.seeking,this.duration_=e.duration,this.mediaSource_=e.mediaSource,this.vhs_=e.vhs,this.loaderType_=e.loaderType,this.currentMediaInfo_=void 0,this.startingMediaInfo_=void 0,this.segmentMetadataTrack_=e.segmentMetadataTrack,this.goalBufferLength_=e.goalBufferLength,this.sourceType_=e.sourceType,this.sourceUpdater_=e.sourceUpdater,this.inbandTextTracks_=e.inbandTextTracks,this.state_=`INIT`,this.timelineChangeController_=e.timelineChangeController,this.shouldSaveSegmentTimingInfo_=!0,this.parse708captions_=e.parse708captions,this.useDtsForTimestampOffset_=e.useDtsForTimestampOffset,this.captionServices_=e.captionServices,this.exactManifestTimings=e.exactManifestTimings,this.addMetadataToTextTrack=e.addMetadataToTextTrack,this.checkBufferTimeout_=null,this.error_=void 0,this.currentTimeline_=-1,this.shouldForceTimestampOffsetAfterResync_=!1,this.pendingSegment_=null,this.xhrOptions_=null,this.pendingSegments_=[],this.audioDisabled_=!1,this.isPendingTimestampOffset_=!1,this.gopBuffer_=[],this.timeMapping_=0,this.safeAppend_=!1,this.appendInitSegment_={audio:!0,video:!0},this.playlistOfLastInitSegment_={audio:null,video:null},this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_={id3:[],caption:[]},this.waitingOnRemove_=!1,this.quotaExceededErrorRetryTimeout_=null,this.activeInitSegmentId_=null,this.initSegments_={},this.cacheEncryptionKeys_=e.cacheEncryptionKeys,this.keyCache_={},this.decrypter_=e.decrypter,this.syncController_=e.syncController,this.syncPoint_={segmentIndex:0,time:0},this.transmuxer_=this.createTransmuxer_(),this.triggerSyncInfoUpdate_=()=>this.trigger(`syncinfoupdate`),this.syncController_.on(`syncinfoupdate`,this.triggerSyncInfoUpdate_),this.mediaSource_.addEventListener(`sourceopen`,()=>{this.isEndOfStream_()||(this.ended_=!1)}),this.fetchAtBuffer_=!1,this.logger_=eo(`SegmentLoader[${this.loaderType_}]`),Object.defineProperty(this,"state",{get(){return this.state_},set(e){e!==this.state_&&(this.logger_(`${this.state_} -> ${e}`),this.state_=e,this.trigger(`statechange`))}}),this.sourceUpdater_.on(`ready`,()=>{this.hasEnoughInfoToAppend_()?this.processCallQueue_():Cl(this)}),this.sourceUpdater_.on(`codecschange`,e=>{this.trigger(T.default({type:`codecschange`},e))}),this.loaderType_===`main`&&this.timelineChangeController_.on(`pendingtimelinechange`,()=>{this.hasEnoughInfoToAppend_()?this.processCallQueue_():Cl(this)}),this.loaderType_===`audio`&&this.timelineChangeController_.on(`timelinechange`,e=>{this.trigger(T.default({type:`timelinechange`},e)),this.hasEnoughInfoToLoad_()?this.processLoadQueue_():Cl(this),this.hasEnoughInfoToAppend_()?this.processCallQueue_():Cl(this)})}get mediaSequenceSync_(){return this.syncController_.getMediaSequenceSync(this.loaderType_)}createTransmuxer_(){return _c.createTransmuxer({remux:!1,alignGopsAtEnd:this.safeAppend_,keepOriginalTimestamps:!0,parse708captions:this.parse708captions_,captionServices:this.captionServices_})}resetStats_(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0,this.mediaAppends=0}dispose(){this.trigger(`dispose`),this.state=`DISPOSED`,this.pause(),this.abort_(),this.transmuxer_&&this.transmuxer_.terminate(),this.resetStats_(),this.checkBufferTimeout_&&y.default.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off(`syncinfoupdate`,this.triggerSyncInfoUpdate_),this.off()}setAudio(e){this.audioDisabled_=!e,e?this.appendInitSegment_.audio=!0:this.sourceUpdater_.removeAudio(0,this.duration_())}abort(){if(this.state!==`WAITING`){this.pendingSegment_&&=null,this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_);return}this.abort_(),this.state=`READY`,this.paused()||this.monitorBuffer_()}abort_(){this.pendingSegment_&&this.pendingSegment_.abortRequests&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_),this.waitingOnRemove_=!1,y.default.clearTimeout(this.quotaExceededErrorRetryTimeout_),this.quotaExceededErrorRetryTimeout_=null}checkForAbort_(e){return this.state===`APPENDING`&&!this.pendingSegment_?(this.state=`READY`,!0):!this.pendingSegment_||this.pendingSegment_.requestId!==e}error(e){return e!==void 0&&(this.logger_(`error occurred:`,e),this.error_=e),this.pendingSegment_=null,this.error_}endOfStream(){this.ended_=!0,this.transmuxer_&&_c.reset(this.transmuxer_),this.gopBuffer_.length=0,this.pause(),this.trigger(`ended`)}buffered_(){let e=this.getMediaInfo_();if(!this.sourceUpdater_||!e)return to();if(this.loaderType_===`main`){let{hasAudio:t,hasVideo:n,isMuxed:r}=e;if(n&&t&&!this.audioDisabled_&&!r)return this.sourceUpdater_.buffered();if(n)return this.sourceUpdater_.videoBuffered()}return this.sourceUpdater_.audioBuffered()}initSegmentForMap(e,t=!1){if(!e)return null;let n=Os(e),r=this.initSegments_[n];return t&&!r&&e.bytes&&(this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,tracks:e.tracks,timescales:e.timescales}),r||e}segmentKey(e,t=!1){if(!e)return null;let n=ks(e),r=this.keyCache_[n];this.cacheEncryptionKeys_&&t&&!r&&e.bytes&&(this.keyCache_[n]=r={resolvedUri:e.resolvedUri,bytes:e.bytes});let i={resolvedUri:(r||e).resolvedUri};return r&&(i.bytes=r.bytes),i}couldBeginLoading_(){return this.playlist_&&!this.paused()}load(){if(this.monitorBuffer_(),this.playlist_){if(this.state===`INIT`&&this.couldBeginLoading_())return this.init_();!this.couldBeginLoading_()||this.state!==`READY`&&this.state!==`INIT`||(this.state=`READY`)}}init_(){return this.state=`READY`,this.resetEverything(),this.monitorBuffer_()}playlist(e,t={}){if(!e||this.playlist_&&this.playlist_.endList&&e.endList&&this.playlist_.uri===e.uri)return;let n=this.playlist_,r=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=t,this.state===`INIT`&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0},this.loaderType_===`main`&&this.syncController_.setDateTimeMappingForStart(e));let i=null;if(n&&(n.id?i=n.id:n.uri&&(i=n.uri)),this.logger_(`playlist update [${i} => ${e.id||e.uri}]`),this.mediaSequenceSync_&&(this.mediaSequenceSync_.update(e,this.currentTime_()),this.logger_(`Playlist update:
|
|
224
|
+
currentTime: ${this.currentTime_()}
|
|
225
|
+
bufferedEnd: ${ho(this.buffered_())}
|
|
226
|
+
`,this.mediaSequenceSync_.diagnostics)),this.trigger(`syncinfoupdate`),this.state===`INIT`&&this.couldBeginLoading_())return this.init_();if(!n||n.uri!==e.uri){this.mediaIndex!==null&&(!e.endList&&typeof e.partTargetDuration==`number`?this.resetLoader():this.resyncLoader()),this.currentMediaInfo_=void 0,this.trigger(`playlistupdate`);return}let a=e.mediaSequence-n.mediaSequence;if(this.logger_(`live window shift [${a}]`),this.mediaIndex!==null)if(this.mediaIndex-=a,this.mediaIndex<0)this.mediaIndex=null,this.partIndex=null;else{let e=this.playlist_.segments[this.mediaIndex];if(this.partIndex&&(!e.parts||!e.parts.length||!e.parts[this.partIndex])){let e=this.mediaIndex;this.logger_(`currently processing part (index ${this.partIndex}) no longer exists.`),this.resetLoader(),this.mediaIndex=e}}r&&(r.mediaIndex-=a,r.mediaIndex<0?(r.mediaIndex=null,r.partIndex=null):(r.mediaIndex>=0&&(r.segment=e.segments[r.mediaIndex]),r.partIndex>=0&&r.segment.parts&&(r.part=r.segment.parts[r.partIndex]))),this.syncController_.saveExpiredSegmentInfo(n,e)}pause(){this.checkBufferTimeout_&&=(y.default.clearTimeout(this.checkBufferTimeout_),null)}paused(){return this.checkBufferTimeout_===null}resetEverything(e){this.ended_=!1,this.activeInitSegmentId_=null,this.appendInitSegment_={audio:!0,video:!0},this.resetLoader(),this.remove(0,1/0,e),this.transmuxer_&&(this.transmuxer_.postMessage({action:`clearAllMp4Captions`}),this.transmuxer_.postMessage({action:`reset`}))}resetLoader(){this.fetchAtBuffer_=!1,this.mediaSequenceSync_&&this.mediaSequenceSync_.resetAppendedStatus(),this.resyncLoader()}resyncLoader(){this.transmuxer_&&_c.reset(this.transmuxer_),this.mediaIndex=null,this.partIndex=null,this.syncPoint_=null,this.isPendingTimestampOffset_=!1;let e=this.currentMediaInfo_&&this.currentMediaInfo_.isFmp4;this.sourceType_===`hls`&&!e&&(this.shouldForceTimestampOffsetAfterResync_=!0),this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:`clearParsedMp4Captions`})}remove(e,t,n=()=>{},r=!1){if(t===1/0&&(t=this.duration_()),t<=e){this.logger_("skipping remove because end ${end} is <= start ${start}");return}if(!this.sourceUpdater_||!this.getMediaInfo_()){this.logger_(`skipping remove because no source updater or starting media info`);return}let i=1,a=()=>{i--,i===0&&n()};(r||!this.audioDisabled_)&&(i++,this.sourceUpdater_.removeAudio(e,t,a)),(r||this.loaderType_===`main`)&&(this.gopBuffer_=ul(this.gopBuffer_,e,t,this.timeMapping_),i++,this.sourceUpdater_.removeVideo(e,t,a));for(let n in this.inbandTextTracks_)ol(e,t,this.inbandTextTracks_[n]);ol(e,t,this.segmentMetadataTrack_),a()}monitorBuffer_(){this.checkBufferTimeout_&&y.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.default.setTimeout(this.monitorBufferTick_.bind(this),1)}monitorBufferTick_(){this.state===`READY`&&this.fillBuffer_(),this.checkBufferTimeout_&&y.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.default.setTimeout(this.monitorBufferTick_.bind(this),500)}fillBuffer_(){if(this.sourceUpdater_.updating())return;let e=this.chooseNextRequest_();if(!e)return;let t={segmentInfo:Dl({type:this.loaderType_,segment:e})};this.trigger({type:`segmentselected`,metadata:t}),typeof e.timestampOffset==`number`&&(this.isPendingTimestampOffset_=!1,this.timelineChangeController_.pendingTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline})),this.loadSegment_(e)}isEndOfStream_(e=this.mediaIndex,t=this.playlist_,n=this.partIndex){if(!t||!this.mediaSource_)return!1;let r=typeof e==`number`&&t.segments[e],i=e+1===t.segments.length,a=!r||!r.parts||n+1===r.parts.length;return t.endList&&this.mediaSource_.readyState===`open`&&i&&a}chooseNextRequest_(){let e=this.buffered_(),t=ho(e)||0,n=go(e,this.currentTime_()),r=!this.hasPlayed_()&&n>=1,i=n>=this.goalBufferLength_(),a=this.playlist_.segments;if(!a.length||r||i)return null;this.syncPoint_=this.syncPoint_||this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_(),this.loaderType_);let o={partIndex:null,mediaIndex:null,startOfSegment:null,playlist:this.playlist_,isSyncRequest:!this.syncPoint_};if(o.isSyncRequest)o.mediaIndex=fl(this.currentTimeline_,a,t),this.logger_(`choose next request. Can not find sync point. Fallback to media Index: ${o.mediaIndex}`);else if(this.mediaIndex!==null){let e=a[this.mediaIndex],n=typeof this.partIndex==`number`?this.partIndex:-1;o.startOfSegment=e.end?e.end:t,e.parts&&e.parts[n+1]?(o.mediaIndex=this.mediaIndex,o.partIndex=n+1):o.mediaIndex=this.mediaIndex+1}else{let e,n,r,i=this.fetchAtBuffer_?t:this.currentTime_();if(this.mediaSequenceSync_&&this.logger_(`chooseNextRequest_ request after Quality Switch:
|
|
227
|
+
For TargetTime: ${i}.
|
|
228
|
+
CurrentTime: ${this.currentTime_()}
|
|
229
|
+
BufferedEnd: ${t}
|
|
230
|
+
Fetch At Buffer: ${this.fetchAtBuffer_}
|
|
231
|
+
`,this.mediaSequenceSync_.diagnostics),this.mediaSequenceSync_&&this.mediaSequenceSync_.isReliable){let t=this.getSyncInfoFromMediaSequenceSync_(i);if(!t){let e=`No sync info found while using media sequence sync`;return this.error({message:e,metadata:{errorType:Q.Error.StreamingFailedToSelectNextSegment,error:Error(e)}}),this.logger_(`chooseNextRequest_ - no sync info found using media sequence sync`),null}this.logger_(`chooseNextRequest_ mediaSequence syncInfo (${t.start} --> ${t.end})`),e=t.segmentIndex,n=t.partIndex,r=t.start}else{this.logger_(`chooseNextRequest_ - fallback to a regular segment selection algorithm, based on a syncPoint.`);let t=Vo.getMediaInfoForTime({exactManifestTimings:this.exactManifestTimings,playlist:this.playlist_,currentTime:i,startingPartIndex:this.syncPoint_.partIndex,startingSegmentIndex:this.syncPoint_.segmentIndex,startTime:this.syncPoint_.time});e=t.segmentIndex,n=t.partIndex,r=t.startTime}o.getMediaInfoForTime=this.fetchAtBuffer_?`bufferedEnd ${i}`:`currentTime ${i}`,o.mediaIndex=e,o.startOfSegment=r,o.partIndex=n,this.logger_(`choose next request. Playlist switched and we have a sync point. Media Index: ${o.mediaIndex} `)}let s=a[o.mediaIndex],c=s&&typeof o.partIndex==`number`&&s.parts&&s.parts[o.partIndex];if(!s||typeof o.partIndex==`number`&&!c)return null;typeof o.partIndex!=`number`&&s.parts&&(o.partIndex=0,c=s.parts[0]);let l=this.vhs_.playlists&&this.vhs_.playlists.main&&this.vhs_.playlists.main.independentSegments||this.playlist_.independentSegments;if(!n&&c&&!l&&!c.independent)if(o.partIndex===0){let e=a[o.mediaIndex-1],t=e.parts&&e.parts.length&&e.parts[e.parts.length-1];t&&t.independent&&(--o.mediaIndex,o.partIndex=e.parts.length-1,o.independent=`previous segment`)}else s.parts[o.partIndex-1].independent&&(--o.partIndex,o.independent=`previous part`);let u=this.mediaSource_&&this.mediaSource_.readyState===`ended`;return o.mediaIndex>=a.length-1&&u&&!this.seeking_()?null:(this.shouldForceTimestampOffsetAfterResync_&&(this.shouldForceTimestampOffsetAfterResync_=!1,o.forceTimestampOffset=!0,this.logger_(`choose next request. Force timestamp offset after loader resync`)),this.generateSegmentInfo_(o))}getSyncInfoFromMediaSequenceSync_(e){if(!this.mediaSequenceSync_)return null;let t=Math.max(e,this.mediaSequenceSync_.start);e!==t&&this.logger_(`getSyncInfoFromMediaSequenceSync_. Pulled target time from ${e} to ${t}`);let n=this.mediaSequenceSync_.getSyncInfoForTime(t);if(!n)return null;if(!n.isAppended)return n;let r=this.mediaSequenceSync_.getSyncInfoForTime(n.end);return r?(r.isAppended&&this.logger_(`getSyncInfoFromMediaSequenceSync_: We encounter unexpected scenario where next media sequence sync info is also appended!`),r):null}generateSegmentInfo_(e){let{independent:t,playlist:n,mediaIndex:r,startOfSegment:i,isSyncRequest:a,partIndex:o,forceTimestampOffset:s,getMediaInfoForTime:c}=e,l=n.segments[r],u=typeof o==`number`&&l.parts[o],d={requestId:`segment-loader-`+Math.random(),uri:u&&u.resolvedUri||l.resolvedUri,mediaIndex:r,partIndex:u?o:null,isSyncRequest:a,startOfSegment:i,playlist:n,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:l.timeline,duration:u&&u.duration||l.duration,segment:l,part:u,byteLength:0,transmuxer:this.transmuxer_,getMediaInfoForTime:c,independent:t},f=s===void 0?this.isPendingTimestampOffset_:s;d.timestampOffset=this.timestampOffsetForSegment_({segmentTimeline:l.timeline,currentTimeline:this.currentTimeline_,startOfSegment:i,buffered:this.buffered_(),overrideCheck:f});let p=ho(this.sourceUpdater_.audioBuffered());return typeof p==`number`&&(d.audioAppendStart=p-this.sourceUpdater_.audioTimestampOffset()),this.sourceUpdater_.videoBuffered().length&&(d.gopsToAlignWith=cl(this.gopBuffer_,this.currentTime_()-this.sourceUpdater_.videoTimestampOffset(),this.timeMapping_)),d}timestampOffsetForSegment_(e){return yl(e)}earlyAbortWhenNeeded_(e){if(this.vhs_.tech_.paused()||!this.xhrOptions_.timeout||!this.playlist_.attributes.BANDWIDTH||Date.now()-(e.firstBytesReceivedAt||Date.now())<1e3)return;let t=this.currentTime_(),n=e.bandwidth,r=this.pendingSegment_.duration,i=Vo.estimateSegmentRequestTime(r,n,this.playlist_,e.bytesReceived),a=fo(this.buffered_(),t,this.vhs_.tech_.playbackRate())-1;if(i<=a)return;let o=Jc({main:this.vhs_.playlists.main,currentTime:t,bandwidth:n,duration:this.duration_(),segmentDuration:r,timeUntilRebuffer:a,currentTimeline:this.currentTimeline_,syncController:this.syncController_});if(!o)return;let s=i-a-o.rebufferingImpact,c=.5;a<=ro&&(c=1),!(!o.playlist||o.playlist.uri===this.playlist_.uri||s<c)&&(this.bandwidth=o.playlist.attributes.BANDWIDTH*$s.BANDWIDTH_VARIANCE+1,this.trigger(`earlyabort`))}handleAbort_(e){this.logger_(`Aborting ${_l(e)}`),this.mediaRequestsAborted+=1}handleProgress_(e,t){this.earlyAbortWhenNeeded_(t.stats),!this.checkForAbort_(t.requestId)&&this.trigger(`progress`)}handleTrackInfo_(e,t){let{hasAudio:n,hasVideo:r}=t,i={segmentInfo:Dl({type:this.loaderType_,segment:e}),trackInfo:{hasAudio:n,hasVideo:r}};this.trigger({type:`segmenttransmuxingtrackinfoavailable`,metadata:i}),this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId)&&(this.checkForIllegalMediaSwitch(t)||(t||={},dl(this.currentMediaInfo_,t)||(this.appendInitSegment_={audio:!0,video:!0},this.startingMediaInfo_=t,this.currentMediaInfo_=t,this.logger_(`trackinfo update`,t),this.trigger(`trackinfo`)),!this.checkForAbort_(e.requestId)&&(this.pendingSegment_.trackInfo=t,this.hasEnoughInfoToAppend_()?this.processCallQueue_():Cl(this))))}handleTimingInfo_(e,t,n,r){if(this.earlyAbortWhenNeeded_(e.stats),this.checkForAbort_(e.requestId))return;let i=this.pendingSegment_,a=vl(t);i[a]=i[a]||{},i[a][n]=r,this.logger_(`timinginfo: ${t} - ${n} - ${r}`),this.hasEnoughInfoToAppend_()?this.processCallQueue_():Cl(this)}handleCaptions_(e,t){if(this.earlyAbortWhenNeeded_(e.stats),this.checkForAbort_(e.requestId))return;if(t.length===0){this.logger_(`SegmentLoader received no captions from a caption event`);return}if(!this.pendingSegment_.hasAppendedData_){this.metadataQueue_.caption.push(this.handleCaptions_.bind(this,e,t));return}let n=this.sourceUpdater_.videoTimestampOffset()===null?this.sourceUpdater_.audioTimestampOffset():this.sourceUpdater_.videoTimestampOffset(),r={};t.forEach(e=>{r[e.stream]=r[e.stream]||{startTime:1/0,captions:[],endTime:0};let t=r[e.stream];t.startTime=Math.min(t.startTime,e.startTime+n),t.endTime=Math.max(t.endTime,e.endTime+n),t.captions.push(e)}),Object.keys(r).forEach(e=>{let{startTime:t,endTime:i,captions:a}=r[e],o=this.inbandTextTracks_;this.logger_(`adding cues from ${t} -> ${i} for ${e}`),Qc(o,this.vhs_.tech_,e),ol(t,i,o[e]),$c({captionArray:a,inbandTextTracks:o,timestampOffset:n})}),this.transmuxer_&&this.transmuxer_.postMessage({action:`clearParsedMp4Captions`})}handleId3_(e,t,n){if(this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId)){if(!this.pendingSegment_.hasAppendedData_){this.metadataQueue_.id3.push(this.handleId3_.bind(this,e,t,n));return}this.addMetadataToTextTrack(n,t,this.duration_())}}processMetadataQueue_(){this.metadataQueue_.id3.forEach(e=>e()),this.metadataQueue_.caption.forEach(e=>e()),this.metadataQueue_.id3=[],this.metadataQueue_.caption=[]}processCallQueue_(){let e=this.callQueue_;this.callQueue_=[],e.forEach(e=>e())}processLoadQueue_(){let e=this.loadQueue_;this.loadQueue_=[],e.forEach(e=>e())}hasEnoughInfoToLoad_(){if(this.loaderType_!==`audio`)return!0;let e=this.pendingSegment_;return e?this.getCurrentMediaInfo_()?!bl({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}):!0:!1}getCurrentMediaInfo_(e=this.pendingSegment_){return e&&e.trackInfo||this.currentMediaInfo_}getMediaInfo_(e=this.pendingSegment_){return this.getCurrentMediaInfo_(e)||this.startingMediaInfo_}getPendingSegmentPlaylist(){return this.pendingSegment_?this.pendingSegment_.playlist:null}hasEnoughInfoToAppend_(){if(!this.sourceUpdater_.ready()||this.waitingOnRemove_||this.quotaExceededErrorRetryTimeout_)return!1;let e=this.pendingSegment_,t=this.getCurrentMediaInfo_();if(!e||!t)return!1;let{hasAudio:n,hasVideo:r,isMuxed:i}=t;return!(r&&!e.videoTimingInfo||n&&!this.audioDisabled_&&!i&&!e.audioTimingInfo||bl({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}))}handleData_(e,t){if(this.earlyAbortWhenNeeded_(e.stats),this.checkForAbort_(e.requestId))return;if(this.callQueue_.length||!this.hasEnoughInfoToAppend_()){Cl(this),this.callQueue_.push(this.handleData_.bind(this,e,t));return}let n=this.pendingSegment_;if(this.setTimeMapping_(n.timeline),this.updateMediaSecondsLoaded_(n.part||n.segment),this.mediaSource_.readyState!==`closed`){if(e.map&&(e.map=this.initSegmentForMap(e.map,!0),n.segment.map=e.map),e.key&&this.segmentKey(e.key,!0),n.isFmp4=e.isFmp4,n.timingInfo=n.timingInfo||{},n.isFmp4)this.trigger(`fmp4`),n.timingInfo.start=n[vl(t.type)].start;else{let e=this.getCurrentMediaInfo_(),t=this.loaderType_===`main`&&e&&e.hasVideo,r;t&&(r=n.videoTimingInfo.start),n.timingInfo.start=this.trueSegmentStart_({currentStart:n.timingInfo.start,playlist:n.playlist,mediaIndex:n.mediaIndex,currentVideoTimestampOffset:this.sourceUpdater_.videoTimestampOffset(),useVideoTimingInfo:t,firstVideoFrameTimeForData:r,videoTimingInfo:n.videoTimingInfo,audioTimingInfo:n.audioTimingInfo})}if(this.updateAppendInitSegmentStatus(n,t.type),this.updateSourceBufferTimestampOffset_(n),n.isSyncRequest){this.updateTimingInfoEnd_(n),this.syncController_.saveSegmentTimingInfo({segmentInfo:n,shouldSaveTimelineMapping:this.loaderType_===`main`});let e=this.chooseNextRequest_();if(e.mediaIndex!==n.mediaIndex||e.partIndex!==n.partIndex){this.logger_(`sync segment was incorrect, not appending`);return}this.logger_(`sync segment was correct, appending`)}n.hasAppendedData_=!0,this.processMetadataQueue_(),this.appendData_(n,t)}}updateAppendInitSegmentStatus(e,t){this.loaderType_===`main`&&typeof e.timestampOffset==`number`&&!e.changedTimestampOffset&&(this.appendInitSegment_={audio:!0,video:!0}),this.playlistOfLastInitSegment_[t]!==e.playlist&&(this.appendInitSegment_[t]=!0)}getInitSegmentAndUpdateState_({type:e,initSegment:t,map:n,playlist:r}){if(n){let e=Os(n);if(this.activeInitSegmentId_===e)return null;t=this.initSegmentForMap(n,!0).bytes,this.activeInitSegmentId_=e}return t&&this.appendInitSegment_[e]?(this.playlistOfLastInitSegment_[e]=r,this.appendInitSegment_[e]=!1,this.activeInitSegmentId_=null,t):null}handleQuotaExceededError_({segmentInfo:e,type:t,bytes:n},r){let i=this.sourceUpdater_.audioBuffered(),a=this.sourceUpdater_.videoBuffered();i.length>1&&this.logger_(`On QUOTA_EXCEEDED_ERR, found gaps in the audio buffer: `+po(i).join(`, `)),a.length>1&&this.logger_(`On QUOTA_EXCEEDED_ERR, found gaps in the video buffer: `+po(a).join(`, `));let o=i.length?i.start(0):0,s=i.length?i.end(i.length-1):0,c=a.length?a.start(0):0,l=a.length?a.end(a.length-1):0;if(s-o<=1&&l-c<=1){this.logger_(`On QUOTA_EXCEEDED_ERR, single segment too large to append to buffer, triggering an error. Appended byte length: ${n.byteLength}, audio buffer: ${po(i).join(`, `)}, video buffer: ${po(a).join(`, `)}, `),this.error({message:`Quota exceeded error with append of a single segment of content`,excludeUntil:1/0}),this.trigger(`error`);return}this.waitingOnRemove_=!0,this.callQueue_.push(this.appendToSourceBuffer_.bind(this,{segmentInfo:e,type:t,bytes:n}));let u=this.currentTime_()-1;this.logger_(`On QUOTA_EXCEEDED_ERR, removing audio/video from 0 to ${u}`),this.remove(0,u,()=>{this.logger_(`On QUOTA_EXCEEDED_ERR, retrying append in 1s`),this.waitingOnRemove_=!1,this.quotaExceededErrorRetryTimeout_=y.default.setTimeout(()=>{this.logger_(`On QUOTA_EXCEEDED_ERR, re-processing call queue`),this.quotaExceededErrorRetryTimeout_=null,this.processCallQueue_()},1*1e3)},!0)}handleAppendError_({segmentInfo:e,type:t,bytes:n},r){if(r){if(r.code===22){this.handleQuotaExceededError_({segmentInfo:e,type:t,bytes:n});return}this.logger_(`Received non QUOTA_EXCEEDED_ERR on append`,r),this.error({message:`${t} append of ${n.length}b failed for segment #${e.mediaIndex} in playlist ${e.playlist.id}`,metadata:{errorType:Q.Error.StreamingFailedToAppendSegment}}),this.trigger(`appenderror`)}}appendToSourceBuffer_({segmentInfo:e,type:t,initSegment:n,data:r,bytes:i}){if(!i){let e=[r],t=r.byteLength;n&&(e.unshift(n),t+=n.byteLength),i=Xc({bytes:t,segments:e})}let a={segmentInfo:Dl({type:this.loaderType_,segment:e})};this.trigger({type:`segmentappendstart`,metadata:a}),this.sourceUpdater_.appendBuffer({segmentInfo:e,type:t,bytes:i},this.handleAppendError_.bind(this,{segmentInfo:e,type:t,bytes:i}))}handleSegmentTimingInfo_(e,t,n){if(!this.pendingSegment_||t!==this.pendingSegment_.requestId)return;let r=this.pendingSegment_.segment,i=`${e}TimingInfo`;r[i]||(r[i]={}),r[i].transmuxerPrependedSeconds=n.prependedContentDuration||0,r[i].transmuxedPresentationStart=n.start.presentation,r[i].transmuxedDecodeStart=n.start.decode,r[i].transmuxedPresentationEnd=n.end.presentation,r[i].transmuxedDecodeEnd=n.end.decode,r[i].baseMediaDecodeTime=n.baseMediaDecodeTime}appendData_(e,t){let{type:n,data:r}=t;if(!r||!r.byteLength||n===`audio`&&this.audioDisabled_)return;let i=this.getInitSegmentAndUpdateState_({type:n,initSegment:t.initSegment,playlist:e.playlist,map:e.isFmp4?e.segment.map:null});this.appendToSourceBuffer_({segmentInfo:e,type:n,initSegment:i,data:r})}loadSegment_(e){if(this.state=`WAITING`,this.pendingSegment_=e,this.trimBackBuffer_(e),typeof e.timestampOffset==`number`&&this.transmuxer_&&this.transmuxer_.postMessage({action:`clearAllMp4Captions`}),!this.hasEnoughInfoToLoad_()){Cl(this),this.loadQueue_.push(()=>{let t=T.default({},e,{forceTimestampOffset:!0});T.default(e,this.generateSegmentInfo_(t)),this.isPendingTimestampOffset_=!1,this.updateTransmuxerAndRequestSegment_(e)});return}this.updateTransmuxerAndRequestSegment_(e)}updateTransmuxerAndRequestSegment_(e){this.shouldUpdateTransmuxerTimestampOffset_(e.timestampOffset)&&(this.gopBuffer_.length=0,e.gopsToAlignWith=[],this.timeMapping_=0,this.transmuxer_.postMessage({action:`reset`}),this.transmuxer_.postMessage({action:`setTimestampOffset`,timestampOffset:e.timestampOffset}));let t=this.createSimplifiedSegmentObj_(e),n=this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex),r=this.mediaIndex!==null,i=e.timeline!==this.currentTimeline_&&e.timeline>0,a=n||r&&i;this.logger_(`Requesting
|
|
232
|
+
${Zc(e.uri)}
|
|
233
|
+
${_l(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),this.appendInitSegment_={video:!0,audio:!0}),e.abortRequests=Rc({xhr:this.vhs_.xhr,xhrOptions:this.xhrOptions_,decryptionWorker:this.decrypter_,segment:t,abortFn:this.handleAbort_.bind(this,e),progressFn:this.handleProgress_.bind(this),trackInfoFn:this.handleTrackInfo_.bind(this),timingInfoFn:this.handleTimingInfo_.bind(this),videoSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,`video`,e.requestId),audioSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,`audio`,e.requestId),captionsFn:this.handleCaptions_.bind(this),isEndOfTimeline:a,endedTimelineFn:()=>{this.logger_(`received endedtimeline callback`)},id3Fn:this.handleId3_.bind(this),dataFn:this.handleData_.bind(this),doneFn:this.segmentRequestFinished_.bind(this),onTransmuxerLog:({message:t,level:n,stream:r})=>{this.logger_(`${_l(e)} logged from transmuxer stream ${r} as a ${n}: ${t}`)},triggerSegmentEventFn:({type:e,segment:t,keyInfo:n,trackInfo:r,timingInfo:i})=>{let a={segmentInfo:Dl({segment:t})};n&&(a.keyInfo=n),r&&(a.trackInfo=r),i&&(a.timingInfo=i),this.trigger({type:e,metadata:a})}})}trimBackBuffer_(e){let t=gl(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);t>0&&this.remove(0,t)}createSimplifiedSegmentObj_(e){let t=e.segment,n=e.part,r=e.segment.key||e.segment.map&&e.segment.map.key,i=e.segment.map&&!e.segment.map.bytes,a={resolvedUri:n?n.resolvedUri:t.resolvedUri,byterange:n?n.byterange:t.byterange,requestId:e.requestId,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,part:e.part,type:this.loaderType_,start:e.startOfSegment,duration:e.duration,isEncrypted:r,isMediaInitialization:i},o=e.playlist.segments[e.mediaIndex-1];if(o&&o.timeline===t.timeline&&(o.videoTimingInfo?a.baseStartTime=o.videoTimingInfo.transmuxedDecodeEnd:o.audioTimingInfo&&(a.baseStartTime=o.audioTimingInfo.transmuxedDecodeEnd)),t.key){let n=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);a.key=this.segmentKey(t.key),a.key.iv=n}return t.map&&(a.map=this.initSegmentForMap(t.map)),a}saveTransferStats_(e){this.mediaRequests+=1,e&&(this.mediaBytesTransferred+=e.bytesReceived,this.mediaTransferDuration+=e.roundTripTime)}saveBandwidthRelatedStats_(e,t){if(this.pendingSegment_.byteLength=t.bytesReceived,e<ml){this.logger_(`Ignoring segment's bandwidth because its duration of ${e} is less than the min to record ${ml}`);return}let n={bandwidthInfo:{from:this.bandwidth,to:t.bandwidth}};this.trigger({type:`bandwidthupdated`,metadata:n}),this.bandwidth=t.bandwidth,this.roundTrip=t.roundTripTime}handleTimeout_(){this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,this.trigger(`bandwidthupdate`),this.trigger(`timeout`)}segmentRequestFinished_(e,t,n){if(this.callQueue_.length){this.callQueue_.push(this.segmentRequestFinished_.bind(this,e,t,n));return}if(this.saveTransferStats_(t.stats),!this.pendingSegment_||t.requestId!==this.pendingSegment_.requestId)return;if(e){if(this.pendingSegment_=null,this.state=`READY`,e.code===yc.ABORTED)return;if(this.pause(),e.code===yc.TIMEOUT){this.handleTimeout_();return}this.mediaRequestsErrored+=1,this.error(e),this.trigger(`error`);return}let r=this.pendingSegment_;this.saveBandwidthRelatedStats_(r.duration,t.stats),r.endOfAllRequests=t.endOfAllRequests,n.gopInfo&&(this.gopBuffer_=ll(this.gopBuffer_,n.gopInfo,this.safeAppend_)),this.state=`APPENDING`,this.trigger(`appending`),this.waitForAppendsToComplete_(r)}setTimeMapping_(e){let t=this.syncController_.mappingForTimeline(e);t!==null&&(this.timeMapping_=t)}updateMediaSecondsLoaded_(e){typeof e.start==`number`&&typeof e.end==`number`?this.mediaSecondsLoaded+=e.end-e.start:this.mediaSecondsLoaded+=e.duration}shouldUpdateTransmuxerTimestampOffset_(e){return e===null?!1:this.loaderType_===`main`&&e!==this.sourceUpdater_.videoTimestampOffset()||!this.audioDisabled_&&e!==this.sourceUpdater_.audioTimestampOffset()}trueSegmentStart_({currentStart:e,playlist:t,mediaIndex:n,firstVideoFrameTimeForData:r,currentVideoTimestampOffset:i,useVideoTimingInfo:a,videoTimingInfo:o,audioTimingInfo:s}){if(e!==void 0)return e;if(!a)return s.start;let c=t.segments[n-1];return n===0||!c||c.start===void 0||c.end!==r+i?r:o.start}waitForAppendsToComplete_(e){let t=this.getCurrentMediaInfo_(e);if(!t){this.error({message:`No starting media returned, likely due to an unsupported media format.`,playlistExclusionDuration:1/0}),this.trigger(`error`);return}let{hasAudio:n,hasVideo:r,isMuxed:i}=t,a=this.loaderType_===`main`&&r,o=!this.audioDisabled_&&n&&!i;if(e.waitingOnAppends=0,!e.hasAppendedData_){!e.timingInfo&&typeof e.timestampOffset==`number`&&(this.isPendingTimestampOffset_=!0),e.timingInfo={start:0},e.waitingOnAppends++,this.isPendingTimestampOffset_||(this.updateSourceBufferTimestampOffset_(e),this.processMetadataQueue_()),this.checkAppendsDone_(e);return}a&&e.waitingOnAppends++,o&&e.waitingOnAppends++,a&&this.sourceUpdater_.videoQueueCallback(this.checkAppendsDone_.bind(this,e)),o&&this.sourceUpdater_.audioQueueCallback(this.checkAppendsDone_.bind(this,e))}checkAppendsDone_(e){this.checkForAbort_(e.requestId)||(e.waitingOnAppends--,e.waitingOnAppends===0&&this.handleAppendsDone_())}checkForIllegalMediaSwitch(e){let t=hl(this.loaderType_,this.getCurrentMediaInfo_(),e);return t?(this.error({message:t,playlistExclusionDuration:1/0}),this.trigger(`error`),!0):!1}updateSourceBufferTimestampOffset_(e){if(e.timestampOffset===null||typeof e.timingInfo.start!=`number`||e.changedTimestampOffset||this.loaderType_!==`main`)return;let t=!1;e.timestampOffset-=this.getSegmentStartTimeForTimestampOffsetCalculation_({videoTimingInfo:e.segment.videoTimingInfo,audioTimingInfo:e.segment.audioTimingInfo,timingInfo:e.timingInfo}),e.changedTimestampOffset=!0,e.timestampOffset!==this.sourceUpdater_.videoTimestampOffset()&&(this.sourceUpdater_.videoTimestampOffset(e.timestampOffset),t=!0),e.timestampOffset!==this.sourceUpdater_.audioTimestampOffset()&&(this.sourceUpdater_.audioTimestampOffset(e.timestampOffset),t=!0),t&&this.trigger(`timestampoffset`)}getSegmentStartTimeForTimestampOffsetCalculation_({videoTimingInfo:e,audioTimingInfo:t,timingInfo:n}){return this.useDtsForTimestampOffset_?e&&typeof e.transmuxedDecodeStart==`number`?e.transmuxedDecodeStart:t&&typeof t.transmuxedDecodeStart==`number`?t.transmuxedDecodeStart:n.start:n.start}updateTimingInfoEnd_(e){e.timingInfo=e.timingInfo||{};let t=this.getMediaInfo_(),n=this.loaderType_===`main`&&t&&t.hasVideo&&e.videoTimingInfo?e.videoTimingInfo:e.audioTimingInfo;n&&(e.timingInfo.end=typeof n.end==`number`?n.end:n.start+e.duration)}handleAppendsDone_(){if(this.pendingSegment_){let e={segmentInfo:Dl({type:this.loaderType_,segment:this.pendingSegment_})};this.trigger({type:`appendsdone`,metadata:e})}if(!this.pendingSegment_){this.state=`READY`,this.paused()||this.monitorBuffer_();return}let e=this.pendingSegment_;e.part&&e.part.syncInfo?e.part.syncInfo.markAppended():e.segment.syncInfo&&e.segment.syncInfo.markAppended(),this.updateTimingInfoEnd_(e),this.shouldSaveSegmentTimingInfo_&&this.syncController_.saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:this.loaderType_===`main`});let t=El(e,this.sourceType_);if(t&&(t.severity===`warn`?Q.log.warn(t.message):this.logger_(t.message)),this.recordThroughput_(e),this.pendingSegment_=null,this.state=`READY`,e.isSyncRequest&&(this.trigger(`syncinfoupdate`),!e.hasAppendedData_)){this.logger_(`Throwing away un-appended sync request ${_l(e)}`);return}this.logger_(`Appended ${_l(e)}`),this.addSegmentMetadataCue_(e),this.fetchAtBuffer_=!0,this.currentTimeline_!==e.timeline&&(this.timelineChangeController_.lastTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline}),this.loaderType_===`main`&&!this.audioDisabled_&&this.timelineChangeController_.lastTimelineChange({type:`audio`,from:this.currentTimeline_,to:e.timeline})),this.currentTimeline_=e.timeline,this.trigger(`syncinfoupdate`);let n=e.segment,r=e.part,i=n.end&&this.currentTime_()-n.end>e.playlist.targetDuration*3,a=r&&r.end&&this.currentTime_()-r.end>e.playlist.partTargetDuration*3;if(i||a){this.logger_(`bad ${i?`segment`:`part`} ${_l(e)}`),this.resetEverything();return}this.mediaIndex!==null&&this.trigger(`bandwidthupdate`),this.trigger(`progress`),this.mediaIndex=e.mediaIndex,this.partIndex=e.partIndex,this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex)&&this.endOfStream(),this.trigger(`appended`),e.hasAppendedData_&&this.mediaAppends++,this.paused()||this.monitorBuffer_()}recordThroughput_(e){if(e.duration<ml){this.logger_(`Ignoring segment's throughput because its duration of ${e.duration} is less than the min to record ${ml}`);return}let t=this.throughput.rate,n=Date.now()-e.endOfAllRequests+1,r=Math.floor(e.byteLength/n*8*1e3);this.throughput.rate+=(r-t)/++this.throughput.count}addSegmentMetadataCue_(e){if(!this.segmentMetadataTrack_)return;let t=e.segment,n=t.start,r=t.end;if(!pl(n)||!pl(r))return;ol(n,r,this.segmentMetadataTrack_);let i=y.default.WebKitDataCue||y.default.VTTCue,a={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,programDateTime:t.programDateTime,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:n,end:r},o=new i(n,r,JSON.stringify(a));o.value=a,this.segmentMetadataTrack_.addCue(o)}};function kl(){}let Al=function(e){return typeof e==`string`?e.replace(/./,e=>e.toUpperCase()):e},jl=[`video`,`audio`],Ml=(e,t)=>{let n=t[`${e}Buffer`];return n&&n.updating||t.queuePending[e]},Nl=(e,t)=>{for(let n=0;n<t.length;n++){let r=t[n];if(r.type===`mediaSource`)return null;if(r.type===e)return n}return null},Pl=(e,t)=>{if(t.queue.length===0)return;let n=0,r=t.queue[n];if(r.type===`mediaSource`){!t.updating()&&t.mediaSource.readyState!==`closed`&&(t.queue.shift(),r.action(t),r.doneFn&&r.doneFn(),Pl(`audio`,t),Pl(`video`,t));return}if(e!==`mediaSource`&&!(!t.ready()||t.mediaSource.readyState===`closed`||Ml(e,t))){if(r.type!==e){if(n=Nl(e,t.queue),n===null)return;r=t.queue[n]}if(t.queue.splice(n,1),t.queuePending[e]=r,r.action(e,t),!r.doneFn){t.queuePending[e]=null,Pl(e,t);return}}},Fl=(e,t)=>{let n=t[`${e}Buffer`],r=Al(e);n&&(n.removeEventListener(`updateend`,t[`on${r}UpdateEnd_`]),n.removeEventListener(`error`,t[`on${r}Error_`]),t.codecs[e]=null,t[`${e}Buffer`]=null)},Il=(e,t)=>e&&t&&Array.prototype.indexOf.call(e.sourceBuffers,t)!==-1,Ll={appendBuffer:(e,t,n)=>(r,i)=>{let a=i[`${r}Buffer`];if(Il(i.mediaSource,a)){i.logger_(`Appending segment ${t.mediaIndex}'s ${e.length} bytes to ${r}Buffer`);try{a.appendBuffer(e)}catch(e){i.logger_(`Error with code ${e.code} `+(e.code===22?`(QUOTA_EXCEEDED_ERR) `:``)+`when appending segment ${t.mediaIndex} to ${r}Buffer`),i.queuePending[r]=null,n(e)}}},remove:(e,t)=>(n,r)=>{let i=r[`${n}Buffer`];if(Il(r.mediaSource,i)){r.logger_(`Removing ${e} to ${t} from ${n}Buffer`);try{i.remove(e,t)}catch{r.logger_(`Remove ${e} to ${t} from ${n}Buffer failed`)}}},timestampOffset:e=>(t,n)=>{let r=n[`${t}Buffer`];Il(n.mediaSource,r)&&(n.logger_(`Setting ${t}timestampOffset to ${e}`),r.timestampOffset=e)},callback:e=>(t,n)=>{e()},endOfStream:e=>t=>{if(t.mediaSource.readyState===`open`){t.logger_(`Calling mediaSource endOfStream(${e||``})`);try{t.mediaSource.endOfStream(e)}catch(e){Q.log.warn(`Failed to call media source endOfStream`,e)}}},duration:e=>t=>{t.logger_(`Setting mediaSource duration to ${e}`);try{t.mediaSource.duration=e}catch(e){Q.log.warn(`Failed to set media source duration`,e)}},abort:()=>(e,t)=>{if(t.mediaSource.readyState!==`open`)return;let n=t[`${e}Buffer`];if(Il(t.mediaSource,n)){t.logger_(`calling abort on ${e}Buffer`);try{n.abort()}catch(t){Q.log.warn(`Failed to abort on ${e}Buffer`,t)}}},addSourceBuffer:(e,t)=>n=>{let r=Al(e),i=u.getMimeForCodec(t);n.logger_(`Adding ${e}Buffer with codec ${t} to mediaSource`);let a=n.mediaSource.addSourceBuffer(i);a.addEventListener(`updateend`,n[`on${r}UpdateEnd_`]),a.addEventListener(`error`,n[`on${r}Error_`]),n.codecs[e]=t,n[`${e}Buffer`]=a},removeSourceBuffer:e=>t=>{let n=t[`${e}Buffer`];if(Fl(e,t),Il(t.mediaSource,n)){t.logger_(`Removing ${e}Buffer with codec ${t.codecs[e]} from mediaSource`);try{t.mediaSource.removeSourceBuffer(n)}catch(t){Q.log.warn(`Failed to removeSourceBuffer ${e}Buffer`,t)}}},changeType:e=>(t,n)=>{let r=n[`${t}Buffer`],i=u.getMimeForCodec(e);if(!Il(n.mediaSource,r))return;let a=e.substring(0,e.indexOf(`.`)),o=n.codecs[t];if(o.substring(0,o.indexOf(`.`))===a)return;let s={codecsChangeInfo:{from:o,to:e}};n.trigger({type:`codecschange`,metadata:s}),n.logger_(`changing ${t}Buffer codec from ${o} to ${e}`);try{r.changeType(i),n.codecs[t]=e}catch(e){s.errorType=Q.Error.StreamingCodecsChangeError,s.error=e,e.metadata=s,n.error_=e,n.trigger(`error`),Q.log.warn(`Failed to changeType on ${t}Buffer`,e)}}},Rl=({type:e,sourceUpdater:t,action:n,doneFn:r,name:i})=>{t.queue.push({type:e,action:n,doneFn:r,name:i}),Pl(e,t)},zl=(e,t)=>n=>{let r=no(t[`${e}Buffered`]());if(t.logger_(`received "updateend" event for ${e} Source Buffer: `,r),t.queuePending[e]){let n=t.queuePending[e].doneFn;t.queuePending[e]=null,n&&n(t[`${e}Error_`])}Pl(e,t)};var Bl=class extends Q.EventTarget{constructor(e){super(),this.mediaSource=e,this.sourceopenListener_=()=>Pl(`mediaSource`,this),this.mediaSource.addEventListener(`sourceopen`,this.sourceopenListener_),this.logger_=eo(`SourceUpdater`),this.audioTimestampOffset_=0,this.videoTimestampOffset_=0,this.queue=[],this.queuePending={audio:null,video:null},this.delayedAudioAppendQueue_=[],this.videoAppendQueued_=!1,this.codecs={},this.onVideoUpdateEnd_=zl(`video`,this),this.onAudioUpdateEnd_=zl(`audio`,this),this.onVideoError_=e=>{this.videoError_=e},this.onAudioError_=e=>{this.audioError_=e},this.createdSourceBuffers_=!1,this.initializedEme_=!1,this.triggeredReady_=!1}initializedEme(){this.initializedEme_=!0,this.triggerReady()}hasCreatedSourceBuffers(){return this.createdSourceBuffers_}hasInitializedAnyEme(){return this.initializedEme_}ready(){return this.hasCreatedSourceBuffers()&&this.hasInitializedAnyEme()}createSourceBuffers(e){this.hasCreatedSourceBuffers()||(this.addOrChangeSourceBuffers(e),this.createdSourceBuffers_=!0,this.trigger(`createdsourcebuffers`),this.triggerReady())}triggerReady(){this.ready()&&!this.triggeredReady_&&(this.triggeredReady_=!0,this.trigger(`ready`))}addSourceBuffer(e,t){Rl({type:`mediaSource`,sourceUpdater:this,action:Ll.addSourceBuffer(e,t),name:`addSourceBuffer`})}abort(e){Rl({type:e,sourceUpdater:this,action:Ll.abort(e),name:`abort`})}removeSourceBuffer(e){if(!this.canRemoveSourceBuffer()){Q.log.error(`removeSourceBuffer is not supported!`);return}Rl({type:`mediaSource`,sourceUpdater:this,action:Ll.removeSourceBuffer(e),name:`removeSourceBuffer`})}canRemoveSourceBuffer(){return!Q.browser.IS_FIREFOX&&y.default.MediaSource&&y.default.MediaSource.prototype&&typeof y.default.MediaSource.prototype.removeSourceBuffer==`function`}static canChangeType(){return y.default.SourceBuffer&&y.default.SourceBuffer.prototype&&typeof y.default.SourceBuffer.prototype.changeType==`function`}canChangeType(){return this.constructor.canChangeType()}changeType(e,t){if(!this.canChangeType()){Q.log.error(`changeType is not supported!`);return}Rl({type:e,sourceUpdater:this,action:Ll.changeType(t),name:`changeType`})}addOrChangeSourceBuffers(e){if(!e||typeof e!=`object`||Object.keys(e).length===0)throw Error(`Cannot addOrChangeSourceBuffers to undefined codecs`);Object.keys(e).forEach(t=>{let n=e[t];if(!this.hasCreatedSourceBuffers())return this.addSourceBuffer(t,n);this.canChangeType()&&this.changeType(t,n)})}appendBuffer(e,t){let{segmentInfo:n,type:r,bytes:i}=e;if(this.processedAppend_=!0,r===`audio`&&this.videoBuffer&&!this.videoAppendQueued_){this.delayedAudioAppendQueue_.push([e,t]),this.logger_(`delayed audio append of ${i.length} until video append`);return}let a=t;if(Rl({type:r,sourceUpdater:this,action:Ll.appendBuffer(i,n||{mediaIndex:-1},a),doneFn:t,name:`appendBuffer`}),r===`video`){if(this.videoAppendQueued_=!0,!this.delayedAudioAppendQueue_.length)return;let e=this.delayedAudioAppendQueue_.slice();this.logger_(`queuing delayed audio ${e.length} appendBuffers`),this.delayedAudioAppendQueue_.length=0,e.forEach(e=>{this.appendBuffer.apply(this,e)})}}audioBuffered(){return Il(this.mediaSource,this.audioBuffer)&&this.audioBuffer.buffered?this.audioBuffer.buffered:to()}videoBuffered(){return Il(this.mediaSource,this.videoBuffer)&&this.videoBuffer.buffered?this.videoBuffer.buffered:to()}buffered(){let e=Il(this.mediaSource,this.videoBuffer)?this.videoBuffer:null,t=Il(this.mediaSource,this.audioBuffer)?this.audioBuffer:null;return t&&!e?this.audioBuffered():e&&!t?this.videoBuffered():lo(this.audioBuffered(),this.videoBuffered())}setDuration(e,t=kl){Rl({type:`mediaSource`,sourceUpdater:this,action:Ll.duration(e),name:`duration`,doneFn:t})}endOfStream(e=null,t=kl){typeof e!=`string`&&(e=void 0),Rl({type:`mediaSource`,sourceUpdater:this,action:Ll.endOfStream(e),name:`endOfStream`,doneFn:t})}removeAudio(e,t,n=kl){if(!this.audioBuffered().length||this.audioBuffered().end(0)===0){n();return}Rl({type:`audio`,sourceUpdater:this,action:Ll.remove(e,t),doneFn:n,name:`remove`})}removeVideo(e,t,n=kl){if(!this.videoBuffered().length||this.videoBuffered().end(0)===0){n();return}Rl({type:`video`,sourceUpdater:this,action:Ll.remove(e,t),doneFn:n,name:`remove`})}updating(){return!!(Ml(`audio`,this)||Ml(`video`,this))}audioTimestampOffset(e){return e!==void 0&&this.audioBuffer&&this.audioTimestampOffset_!==e&&(Rl({type:`audio`,sourceUpdater:this,action:Ll.timestampOffset(e),name:`timestampOffset`}),this.audioTimestampOffset_=e),this.audioTimestampOffset_}videoTimestampOffset(e){return e!==void 0&&this.videoBuffer&&this.videoTimestampOffset_!==e&&(Rl({type:`video`,sourceUpdater:this,action:Ll.timestampOffset(e),name:`timestampOffset`}),this.videoTimestampOffset_=e),this.videoTimestampOffset_}audioQueueCallback(e){this.audioBuffer&&Rl({type:`audio`,sourceUpdater:this,action:Ll.callback(e),name:`callback`})}videoQueueCallback(e){this.videoBuffer&&Rl({type:`video`,sourceUpdater:this,action:Ll.callback(e),name:`callback`})}dispose(){this.trigger(`dispose`),jl.forEach(e=>{this.abort(e),this.canRemoveSourceBuffer()?this.removeSourceBuffer(e):this[`${e}QueueCallback`](()=>Fl(e,this))}),this.videoAppendQueued_=!1,this.delayedAudioAppendQueue_.length=0,this.sourceopenListener_&&this.mediaSource.removeEventListener(`sourceopen`,this.sourceopenListener_),this.off()}};let Vl=e=>decodeURIComponent(escape(String.fromCharCode.apply(null,e))),Hl=e=>{let t=new Uint8Array(e);return Array.from(t).map(e=>e.toString(16).padStart(2,`0`)).join(``)},Ul=new Uint8Array(`
|
|
234
|
+
|
|
235
|
+
`.split(``).map(e=>e.charCodeAt(0)));var Wl=class extends Error{constructor(){super(`Trying to parse received VTT cues, but there is no WebVTT. Make sure vtt.js is loaded.`)}},Gl=class extends Ol{constructor(e,t={}){super(e,t),this.mediaSource_=null,this.subtitlesTrack_=null,this.featuresNativeTextTracks_=e.featuresNativeTextTracks,this.loadVttJs=e.loadVttJs,this.shouldSaveSegmentTimingInfo_=!1}buffered_(){if(!this.subtitlesTrack_||!this.subtitlesTrack_.cues||!this.subtitlesTrack_.cues.length)return to();let e=this.subtitlesTrack_.cues,t=e[0].startTime,n=e[e.length-1].startTime;return to([[t,n]])}initSegmentForMap(e,t=!1){if(!e)return null;let n=Os(e),r=this.initSegments_[n];if(t&&!r&&e.bytes){let t=Ul.byteLength+e.bytes.byteLength,i=new Uint8Array(t);i.set(e.bytes),i.set(Ul,e.bytes.byteLength),this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:i}}return r||e}couldBeginLoading_(){return this.playlist_&&this.subtitlesTrack_&&!this.paused()}init_(){return this.state=`READY`,this.resetEverything(),this.monitorBuffer_()}track(e){return e===void 0?this.subtitlesTrack_:(this.subtitlesTrack_=e,this.state===`INIT`&&this.couldBeginLoading_()&&this.init_(),this.subtitlesTrack_)}remove(e,t){ol(e,t,this.subtitlesTrack_)}fillBuffer_(){let e=this.chooseNextRequest_();if(e){if(this.syncController_.timestampOffsetForTimeline(e.timeline)===null){this.syncController_.one(`timestampoffset`,()=>{this.state=`READY`,this.paused()||this.monitorBuffer_()}),this.state=`WAITING_ON_TIMELINE`;return}this.loadSegment_(e)}}timestampOffsetForSegment_(){return null}chooseNextRequest_(){return this.skipEmptySegments_(super.chooseNextRequest_())}skipEmptySegments_(e){for(;e&&e.segment.empty;){if(e.mediaIndex+1>=e.playlist.segments.length){e=null;break}e=this.generateSegmentInfo_({playlist:e.playlist,mediaIndex:e.mediaIndex+1,startOfSegment:e.startOfSegment+e.duration,isSyncRequest:e.isSyncRequest})}return e}stopForError(e){this.error(e),this.state=`READY`,this.pause(),this.trigger(`error`)}segmentRequestFinished_(e,t,n){if(!this.subtitlesTrack_){this.state=`READY`;return}if(this.saveTransferStats_(t.stats),!this.pendingSegment_){this.state=`READY`,this.mediaRequestsAborted+=1;return}if(e){e.code===yc.TIMEOUT&&this.handleTimeout_(),e.code===yc.ABORTED?this.mediaRequestsAborted+=1:this.mediaRequestsErrored+=1,this.stopForError(e);return}let r=this.pendingSegment_,i=n.mp4VttCues&&n.mp4VttCues.length;i&&(r.mp4VttCues=n.mp4VttCues),this.saveBandwidthRelatedStats_(r.duration,t.stats),t.key&&this.segmentKey(t.key,!0),this.state=`APPENDING`,this.trigger(`appending`);let a=r.segment;if(a.map&&(a.map.bytes=t.map.bytes),r.bytes=t.bytes,typeof y.default.WebVTT!=`function`&&typeof this.loadVttJs==`function`){this.state=`WAITING_ON_VTTJS`,this.loadVttJs().then(()=>this.segmentRequestFinished_(e,t,n),()=>this.stopForError({message:`Error loading vtt.js`}));return}a.requested=!0;try{this.parseVTTCues_(r)}catch(e){this.stopForError({message:e.message,metadata:{errorType:Q.Error.StreamingVttParserError,error:e}});return}if(i||this.updateTimeMapping_(r,this.syncController_.timelines[r.timeline],this.playlist_),r.cues.length?r.timingInfo={start:r.cues[0].startTime,end:r.cues[r.cues.length-1].endTime}:r.timingInfo={start:r.startOfSegment,end:r.startOfSegment+r.duration},r.isSyncRequest){this.trigger(`syncinfoupdate`),this.pendingSegment_=null,this.state=`READY`;return}r.byteLength=r.bytes.byteLength,this.mediaSecondsLoaded+=a.duration,r.cues.forEach(e=>{this.subtitlesTrack_.addCue(this.featuresNativeTextTracks_?new y.default.VTTCue(e.startTime,e.endTime,e.text):e)}),sl(this.subtitlesTrack_),this.handleAppendsDone_()}handleData_(e,t){let n=e&&e.type===`vtt`,r=t&&t.type===`text`;n&&r&&super.handleData_(e,t)}updateTimingInfoEnd_(){}parseMp4VttCues_(e){let t=this.sourceUpdater_.videoTimestampOffset()===null?this.sourceUpdater_.audioTimestampOffset():this.sourceUpdater_.videoTimestampOffset();e.mp4VttCues.forEach(n=>{let r=n.start+t,i=n.end+t,a=new y.default.VTTCue(r,i,n.cueText);n.settings&&n.settings.split(` `).forEach(e=>{let t=e.split(`:`),n=t[0],r=t[1];a[n]=isNaN(r)?r:Number(r)}),e.cues.push(a)})}parseVTTCues_(e){let t,n=!1;if(typeof y.default.WebVTT!=`function`)throw new Wl;if(e.cues=[],e.timestampmap={MPEGTS:0,LOCAL:0},e.mp4VttCues){this.parseMp4VttCues_(e);return}typeof y.default.TextDecoder==`function`?t=new y.default.TextDecoder(`utf8`):(t=y.default.WebVTT.StringDecoder(),n=!0);let r=new y.default.WebVTT.Parser(y.default,y.default.vttjs,t);if(r.oncue=e.cues.push.bind(e.cues),r.ontimestampmap=t=>{e.timestampmap=t},r.onparsingerror=e=>{Q.log.warn(`Error encountered when parsing cues: `+e.message)},e.segment.map){let t=e.segment.map.bytes;n&&(t=Vl(t)),r.parse(t)}let i=e.bytes;n&&(i=Vl(i)),r.parse(i),r.flush()}updateTimeMapping_(e,t,n){let r=e.segment;if(!t)return;if(!e.cues.length){r.empty=!0;return}let{MPEGTS:i,LOCAL:a}=e.timestampmap,o=i/_.ONE_SECOND_IN_TS-a+t.mapping;if(e.cues.forEach(e=>{let n=e.endTime-e.startTime,r=this.handleRollover_(e.startTime+o,t.time);e.startTime=Math.max(r,0),e.endTime=Math.max(r+n,0)}),!n.syncInfo){let t=e.cues[0].startTime,i=e.cues[e.cues.length-1].startTime;n.syncInfo={mediaSequence:n.mediaSequence+e.mediaIndex,time:Math.min(t,i-r.duration)}}}handleRollover_(e,t){if(t===null)return e;let n=e*_.ONE_SECOND_IN_TS,r=t*_.ONE_SECOND_IN_TS,i;for(i=r<n?-8589934592:8589934592;Math.abs(n-r)>4294967296;)n+=i;return n/_.ONE_SECOND_IN_TS}};let Kl=function(e,t){let n=e.cues;for(let e=0;e<n.length;e++){let r=n[e];if(t>=r.adStartTime&&t<=r.adEndTime)return r}return null},ql=function(e,t,n=0){if(!e.segments)return;let r=n,i;for(let n=0;n<e.segments.length;n++){let a=e.segments[n];if(i||=Kl(t,r+a.duration/2),i){if(`cueIn`in a){i.endTime=r,i.adEndTime=r,r+=a.duration,i=null;continue}if(r<i.endTime){r+=a.duration;continue}i.endTime+=a.duration}else if(`cueOut`in a&&(i=new y.default.VTTCue(r,r+a.duration,a.cueOut),i.adStartTime=r,i.adEndTime=r+parseFloat(a.cueOut),t.addCue(i)),`cueOutCont`in a){let[e,n]=a.cueOutCont.split(`/`).map(parseFloat);i=new y.default.VTTCue(r,r+a.duration,``),i.adStartTime=r-e,i.adEndTime=i.adStartTime+n,t.addCue(i)}r+=a.duration}};var Jl=class{constructor({start:e,end:t,segmentIndex:n,partIndex:r=null,appended:i=!1}){this.start_=e,this.end_=t,this.segmentIndex_=n,this.partIndex_=r,this.appended_=i}isInRange(e){return e>=this.start&&e<this.end}markAppended(){this.appended_=!0}resetAppendedStatus(){this.appended_=!1}get isAppended(){return this.appended_}get start(){return this.start_}get end(){return this.end_}get segmentIndex(){return this.segmentIndex_}get partIndex(){return this.partIndex_}},Yl=class{constructor(e,t=[]){this.segmentSyncInfo_=e,this.partsSyncInfo_=t}get segmentSyncInfo(){return this.segmentSyncInfo_}get partsSyncInfo(){return this.partsSyncInfo_}get hasPartsSyncInfo(){return this.partsSyncInfo_.length>0}resetAppendStatus(){this.segmentSyncInfo_.resetAppendedStatus(),this.partsSyncInfo_.forEach(e=>e.resetAppendedStatus())}},Xl=class{constructor(){this.storage_=new Map,this.diagnostics_=``,this.isReliable_=!1,this.start_=-1/0,this.end_=1/0}get start(){return this.start_}get end(){return this.end_}get diagnostics(){return this.diagnostics_}get isReliable(){return this.isReliable_}resetAppendedStatus(){this.storage_.forEach(e=>e.resetAppendStatus())}update(e,t){let{mediaSequence:n,segments:r}=e;if(this.isReliable_=this.isReliablePlaylist_(n,r),this.isReliable_)return this.updateStorage_(r,n,this.calculateBaseTime_(n,r,t))}getSyncInfoForTime(e){for(let{segmentSyncInfo:t,partsSyncInfo:n}of this.storage_.values())if(n.length){for(let t of n)if(t.isInRange(e))return t}else if(t.isInRange(e))return t;return null}getSyncInfoForMediaSequence(e){return this.storage_.get(e)}updateStorage_(e,t,n){let r=new Map,i=`
|
|
236
|
+
`,a=n,o=t;this.start_=a,e.forEach((e,t)=>{let n=this.storage_.get(o),s=a,c=s+e.duration,l=!!(n&&n.segmentSyncInfo&&n.segmentSyncInfo.isAppended),u=new Jl({start:s,end:c,appended:l,segmentIndex:t});e.syncInfo=u;let d=a,f=(e.parts||[]).map((e,r)=>{let a=d,s=d+e.duration,c=!!(n&&n.partsSyncInfo&&n.partsSyncInfo[r]&&n.partsSyncInfo[r].isAppended),l=new Jl({start:a,end:s,appended:c,segmentIndex:t,partIndex:r});return d=s,i+=`Media Sequence: ${o}.${r} | Range: ${a} --> ${s} | Appended: ${c}\n`,e.syncInfo=l,l});r.set(o,new Yl(u,f)),i+=`${Zc(e.resolvedUri)} | Media Sequence: ${o} | Range: ${s} --> ${c} | Appended: ${l}\n`,o++,a=c}),this.end_=a,this.storage_=r,this.diagnostics_=i}calculateBaseTime_(e,t,n){if(!this.storage_.size)return 0;if(this.storage_.has(e))return this.storage_.get(e).segmentSyncInfo.start;let r=Math.min(...this.storage_.keys());if(e<r){let n=r-e,i=this.storage_.get(r).segmentSyncInfo.start;for(let e=0;e<n;e++){let n=t[e];i-=n.duration}return i}return n}isReliablePlaylist_(e,t){return e!=null&&Array.isArray(t)&&t.length}},Zl=class extends Xl{constructor(e){super(),this.parent_=e}calculateBaseTime_(e,t,n){if(!this.storage_.size){let t=this.parent_.getSyncInfoForMediaSequence(e);return t?t.segmentSyncInfo.start:0}return super.calculateBaseTime_(e,t,n)}};let Ql=[{name:`VOD`,run:(e,t,n,r,i)=>n===1/0?null:{time:0,segmentIndex:0,partIndex:null}},{name:`MediaSequence`,run:(e,t,n,r,i,a)=>{let o=e.getMediaSequenceSync(a);if(!o||!o.isReliable)return null;let s=o.getSyncInfoForTime(i);return s?{time:s.start,partIndex:s.partIndex,segmentIndex:s.segmentIndex}:null}},{name:`ProgramDateTime`,run:(e,t,n,r,i)=>{if(!Object.keys(e.timelineToDatetimeMappings).length)return null;let a=null,o=null,s=vo(t);i||=0;for(let n=0;n<s.length;n++){let r=s[t.endList||i===0?n:s.length-(n+1)],c=r.segment,l=e.timelineToDatetimeMappings[c.timeline];if(!l||!c.dateTimeObject)continue;let u=c.dateTimeObject.getTime()/1e3+l;if(c.parts&&typeof r.partIndex==`number`)for(let e=0;e<r.partIndex;e++)u+=c.parts[e].duration;let d=Math.abs(i-u);if(o!==null&&(d===0||o<d))break;o=d,a={time:u,segmentIndex:r.segmentIndex,partIndex:r.partIndex}}return a}},{name:`Segment`,run:(e,t,n,r,i)=>{let a=null,o=null;i||=0;let s=vo(t);for(let e=0;e<s.length;e++){let n=s[t.endList||i===0?e:s.length-(e+1)],c=n.segment,l=n.part&&n.part.start||c&&c.start;if(c.timeline===r&&l!==void 0){let e=Math.abs(i-l);if(o!==null&&o<e)break;(!a||o===null||o>=e)&&(o=e,a={time:l,segmentIndex:n.segmentIndex,partIndex:n.partIndex})}}return a}},{name:`Discontinuity`,run:(e,t,n,r,i)=>{let a=null;if(i||=0,t.discontinuityStarts&&t.discontinuityStarts.length){let n=null;for(let r=0;r<t.discontinuityStarts.length;r++){let o=t.discontinuityStarts[r],s=t.discontinuitySequence+r+1,c=e.discontinuities[s];if(c){let e=Math.abs(i-c.time);if(n!==null&&n<e)break;(!a||n===null||n>=e)&&(n=e,a={time:c.time,segmentIndex:o,partIndex:null})}}}return a}},{name:`Playlist`,run:(e,t,n,r,i)=>t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence,partIndex:null}:null}];var $l=class extends Q.EventTarget{constructor(e={}){super(),this.timelines=[],this.discontinuities=[],this.timelineToDatetimeMappings={};let t=new Xl,n=new Zl(t),r=new Zl(t);this.mediaSequenceStorage_={main:t,audio:n,vtt:r},this.logger_=eo(`SyncController`)}getMediaSequenceSync(e){return this.mediaSequenceStorage_[e]||null}getSyncPoint(e,t,n,r,i){if(t!==1/0)return Ql.find(({name:e})=>e===`VOD`).run(this,e,t);let a=this.runStrategies_(e,t,n,r,i);if(!a.length)return null;for(let t of a){let{syncPoint:n,strategy:i}=t,{segmentIndex:a,time:o}=n;if(a<0)continue;let s=e.segments[a],c=o,l=c+s.duration;if(this.logger_(`Strategy: ${i}. Current time: ${r}. selected segment: ${a}. Time: [${c} -> ${l}]}`),r>=c&&r<l)return this.logger_(`Found sync point with exact match: `,n),n}return this.selectSyncPoint_(a,{key:`time`,value:r})}getExpiredTime(e,t){if(!e||!e.segments)return null;let n=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!n.length)return null;let r=this.selectSyncPoint_(n,{key:`segmentIndex`,value:0});return r.segmentIndex>0&&(r.time*=-1),Math.abs(r.time+Eo({defaultDuration:e.targetDuration,durationList:e.segments,startIndex:r.segmentIndex,endIndex:0}))}runStrategies_(e,t,n,r,i){let a=[];for(let o=0;o<Ql.length;o++){let s=Ql[o],c=s.run(this,e,t,n,r,i);c&&(c.strategy=s.name,a.push({strategy:s.name,syncPoint:c}))}return a}selectSyncPoint_(e,t){let n=e[0].syncPoint,r=Math.abs(e[0].syncPoint[t.key]-t.value),i=e[0].strategy;for(let a=1;a<e.length;a++){let o=Math.abs(e[a].syncPoint[t.key]-t.value);o<r&&(r=o,n=e[a].syncPoint,i=e[a].strategy)}return this.logger_(`syncPoint for [${t.key}: ${t.value}] chosen with strategy [${i}]: [time:${n.time}, segmentIndex:${n.segmentIndex}`+(typeof n.partIndex==`number`?`,partIndex:${n.partIndex}`:``)+`]`),n}saveExpiredSegmentInfo(e,t){let n=t.mediaSequence-e.mediaSequence;if(n>86400){Q.log.warn(`Not saving expired segment info. Media sequence gap ${n} is too large.`);return}for(let r=n-1;r>=0;r--){let n=e.segments[r];if(n&&n.start!==void 0){t.syncInfo={mediaSequence:e.mediaSequence+r,time:n.start},this.logger_(`playlist refresh sync: [time:${t.syncInfo.time}, mediaSequence: ${t.syncInfo.mediaSequence}]`),this.trigger(`syncinfoupdate`);break}}}setDateTimeMappingForStart(e){if(this.timelineToDatetimeMappings={},e.segments&&e.segments.length&&e.segments[0].dateTimeObject){let t=e.segments[0],n=t.dateTimeObject.getTime()/1e3;this.timelineToDatetimeMappings[t.timeline]=-n}}saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:t}){let n=this.calculateSegmentTimeMapping_(e,e.timingInfo,t),r=e.segment;n&&(this.saveDiscontinuitySyncInfo_(e),e.playlist.syncInfo||(e.playlist.syncInfo={mediaSequence:e.playlist.mediaSequence+e.mediaIndex,time:r.start}));let i=r.dateTimeObject;r.discontinuity&&t&&i&&(this.timelineToDatetimeMappings[r.timeline]=-(i.getTime()/1e3))}timestampOffsetForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].time}mappingForTimeline(e){return this.timelines[e]===void 0?null:this.timelines[e].mapping}calculateSegmentTimeMapping_(e,t,n){let r=e.segment,i=e.part,a=this.timelines[e.timeline],o,s;if(typeof e.timestampOffset==`number`)a={time:e.startOfSegment,mapping:e.startOfSegment-t.start},n&&(this.timelines[e.timeline]=a,this.trigger(`timestampoffset`),this.logger_(`time mapping for timeline ${e.timeline}: [time: ${a.time}] [mapping: ${a.mapping}]`)),o=e.startOfSegment,s=t.end+a.mapping;else if(a)o=t.start+a.mapping,s=t.end+a.mapping;else return!1;return i&&(i.start=o,i.end=s),(!r.start||o<r.start)&&(r.start=o),r.end=s,!0}saveDiscontinuitySyncInfo_(e){let t=e.playlist,n=e.segment;if(n.discontinuity)this.discontinuities[n.timeline]={time:n.start,accuracy:0};else if(t.discontinuityStarts&&t.discontinuityStarts.length)for(let r=0;r<t.discontinuityStarts.length;r++){let i=t.discontinuityStarts[r],a=t.discontinuitySequence+r+1,o=i-e.mediaIndex,s=Math.abs(o);if(!this.discontinuities[a]||this.discontinuities[a].accuracy>s){let r;r=o<0?n.start-Eo({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex,endIndex:i}):n.end+Eo({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex+1,endIndex:i}),this.discontinuities[a]={time:r,accuracy:s}}}}dispose(){this.trigger(`dispose`),this.off()}},eu=class extends Q.EventTarget{constructor(){super(),this.pendingTimelineChanges_={},this.lastTimelineChanges_={}}clearPendingTimelineChange(e){this.pendingTimelineChanges_[e]=null,this.trigger(`pendingtimelinechange`)}pendingTimelineChange({type:e,from:t,to:n}){return typeof t==`number`&&typeof n==`number`&&(this.pendingTimelineChanges_[e]={type:e,from:t,to:n},this.trigger(`pendingtimelinechange`)),this.pendingTimelineChanges_[e]}lastTimelineChange({type:e,from:t,to:n}){if(typeof t==`number`&&typeof n==`number`){this.lastTimelineChanges_[e]={type:e,from:t,to:n},delete this.pendingTimelineChanges_[e];let r={timelineChangeInfo:{from:t,to:n}};this.trigger({type:`timelinechange`,metadata:r})}return this.lastTimelineChanges_[e]}dispose(){this.trigger(`dispose`),this.pendingTimelineChanges_={},this.lastTimelineChanges_={},this.off()}},tu=rc(ic(ac(function(){
|
|
237
|
+
/*! @name pkcs7 @version 1.0.4 @license Apache-2.0 */
|
|
238
|
+
/*! @name aes-decrypter @version 4.0.2 @license Apache-2.0 */
|
|
239
|
+
var e=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var n=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(n,1),n>-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(arguments.length===2)for(var n=t.length,r=0;r<n;++r)t[r].call(this,arguments[1]);else for(var i=Array.prototype.slice.call(arguments,1),a=t.length,o=0;o<a;++o)t[o].apply(this,i)},t.dispose=function(){this.listeners={}},t.pipe=function(e){this.on(`data`,function(t){e.push(t)})},e}();function t(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}let n=function(){let e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],n=e[1],r=t[4],i=n[4],a,o,s,c=[],l=[],u,d,f,p,m,h;for(a=0;a<256;a++)l[(c[a]=a<<1^(a>>7)*283)^a]=a;for(o=s=0;!r[o];o^=u||1,s=l[s]||1)for(p=s^s<<1^s<<2^s<<3^s<<4,p=p>>8^p&255^99,r[o]=p,i[p]=o,f=c[d=c[u=c[o]]],h=f*16843009^d*65537^u*257^o*16843008,m=c[p]*257^p*16843008,a=0;a<4;a++)t[a][o]=m=m<<24^m>>>8,n[a][p]=h=h<<24^h>>>8;for(a=0;a<5;a++)t[a]=t[a].slice(0),n[a]=n[a].slice(0);return e},r=null;class i{constructor(e){r||=n(),this._tables=[[r[0][0].slice(),r[0][1].slice(),r[0][2].slice(),r[0][3].slice(),r[0][4].slice()],[r[1][0].slice(),r[1][1].slice(),r[1][2].slice(),r[1][3].slice(),r[1][4].slice()]];let t,i,a,o=this._tables[0][4],s=this._tables[1],c=e.length,l=1;if(c!==4&&c!==6&&c!==8)throw Error(`Invalid aes key size`);let u=e.slice(0),d=[];for(this._key=[u,d],t=c;t<4*c+28;t++)a=u[t-1],(t%c===0||c===8&&t%c===4)&&(a=o[a>>>24]<<24^o[a>>16&255]<<16^o[a>>8&255]<<8^o[a&255],t%c===0&&(a=a<<8^a>>>24^l<<24,l=l<<1^(l>>7)*283)),u[t]=u[t-c]^a;for(i=0;t;i++,t--)a=u[i&3?t:t-4],t<=4||i<4?d[i]=a:d[i]=s[0][o[a>>>24]]^s[1][o[a>>16&255]]^s[2][o[a>>8&255]]^s[3][o[a&255]]}decrypt(e,t,n,r,i,a){let o=this._key[1],s=e^o[0],c=r^o[1],l=n^o[2],u=t^o[3],d,f,p,m=o.length/4-2,h,g=4,_=this._tables[1],v=_[0],y=_[1],b=_[2],x=_[3],S=_[4];for(h=0;h<m;h++)d=v[s>>>24]^y[c>>16&255]^b[l>>8&255]^x[u&255]^o[g],f=v[c>>>24]^y[l>>16&255]^b[u>>8&255]^x[s&255]^o[g+1],p=v[l>>>24]^y[u>>16&255]^b[s>>8&255]^x[c&255]^o[g+2],u=v[u>>>24]^y[s>>16&255]^b[c>>8&255]^x[l&255]^o[g+3],g+=4,s=d,c=f,l=p;for(h=0;h<4;h++)i[(3&-h)+a]=S[s>>>24]<<24^S[c>>16&255]<<16^S[l>>8&255]<<8^S[u&255]^o[g++],d=s,s=c,c=l,l=u,u=d}}class a extends e{constructor(){super(e),this.jobs=[],this.delay=1,this.timeout_=null}processJob_(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null}push(e){this.jobs.push(e),this.timeout_||=setTimeout(this.processJob_.bind(this),this.delay)}}let o=function(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24},s=function(e,t,n){let r=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),a=new i(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),c=new Int32Array(s.buffer),l,u,d,f,p,m,h,g,_;for(l=n[0],u=n[1],d=n[2],f=n[3],_=0;_<r.length;_+=4)p=o(r[_]),m=o(r[_+1]),h=o(r[_+2]),g=o(r[_+3]),a.decrypt(p,m,h,g,c,_),c[_]=o(c[_]^l),c[_+1]=o(c[_+1]^u),c[_+2]=o(c[_+2]^d),c[_+3]=o(c[_+3]^f),l=p,u=m,d=h,f=g;return s};class c{constructor(e,n,r,i){let s=c.STEP,l=new Int32Array(e.buffer),u=new Uint8Array(e.byteLength),d=0;for(this.asyncStream_=new a,this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u)),d=s;d<l.length;d+=s)r=new Uint32Array([o(l[d-4]),o(l[d-3]),o(l[d-2]),o(l[d-1])]),this.asyncStream_.push(this.decryptChunk_(l.subarray(d,d+s),n,r,u));this.asyncStream_.push(function(){i(null,t(u))})}static get STEP(){return 32e3}decryptChunk_(e,t,n,r){return function(){let i=s(e,t,n);r.set(i,e.byteOffset)}}}var l=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},u=typeof window<`u`?window:l===void 0?typeof self<`u`?self:{}:l,d=function(e){return ArrayBuffer.isView===`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},f=u.BigInt||Number;f(`0x1`),f(`0x100`),f(`0x10000`),f(`0x1000000`),f(`0x100000000`),f(`0x10000000000`),f(`0x1000000000000`),f(`0x100000000000000`),f(`0x10000000000000000`),(function(){var e=new Uint16Array([65484]),t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return t[0]===255?`big`:t[0]===204?`little`:`unknown`})();let p=function(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];d(r)?t[n]={bytes:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}:t[n]=r}),t};self.onmessage=function(e){let t=e.data;new c(new Uint8Array(t.encrypted.bytes,t.encrypted.byteOffset,t.encrypted.byteLength),new Uint32Array(t.key.bytes,t.key.byteOffset,t.key.byteLength/4),new Uint32Array(t.iv.bytes,t.iv.byteOffset,t.iv.byteLength/4),function(e,n){self.postMessage(p({source:t.source,decrypted:n}),[n.buffer])})}})));let nu=e=>{let t=e.default?`main`:`alternative`;return e.characteristics&&e.characteristics.indexOf(`public.accessibility.describes-video`)>=0&&(t=`main-desc`),t},ru=(e,t)=>{e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)},iu=(e,t)=>{t.activePlaylistLoader=e,e.load()},au=(e,t)=>()=>{let{segmentLoaders:{[e]:n,main:r},mediaTypes:{[e]:i}}=t,a=i.activeTrack(),o=i.getActiveGroup(),s=i.activePlaylistLoader,c=i.lastGroup_;if(!(o&&c&&o.id===c.id)&&(i.lastGroup_=o,i.lastTrack_=a,ru(n,i),!(!o||o.isMainPlaylist))){if(!o.playlistLoader){s&&r.resetEverything();return}n.resyncLoader(),iu(o.playlistLoader,i)}},ou=(e,t)=>()=>{let{segmentLoaders:{[e]:n},mediaTypes:{[e]:r}}=t;r.lastGroup_=null,n.abort(),n.pause()},su=(e,t)=>()=>{let{mainPlaylistLoader:n,segmentLoaders:{[e]:r,main:i},mediaTypes:{[e]:a}}=t,o=a.activeTrack(),s=a.getActiveGroup(),c=a.activePlaylistLoader,l=a.lastTrack_;if(!(l&&o&&l.id===o.id)&&(a.lastGroup_=s,a.lastTrack_=o,ru(r,a),s)){if(s.isMainPlaylist){if(!o||!l||o.id===l.id)return;let e=t.vhs.playlistController_,r=e.selectPlaylist();if(e.media()===r)return;a.logger_(`track change. Switching main audio from ${l.id} to ${o.id}`),n.pause(),i.resetEverything(),e.fastQualityChange_(r);return}if(e===`AUDIO`){if(!s.playlistLoader){i.setAudio(!0),i.resetEverything();return}r.setAudio(!0),i.setAudio(!1)}if(c===s.playlistLoader){iu(s.playlistLoader,a);return}r.track&&r.track(o),r.resetEverything(),iu(s.playlistLoader,a)}},cu={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:n},excludePlaylist:r}=t,i=n.activeTrack(),a=n.activeGroup(),o=(a.filter(e=>e.default)[0]||a[0]).id,s=n.tracks[o];if(i===s){r({error:{message:`Problem encountered loading the default audio track.`}});return}Q.log.warn(`Problem encountered loading the alternate audio track.Switching back to default.`);for(let e in n.tracks)n.tracks[e].enabled=n.tracks[e]===s;n.onTrackChanged()},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:n}}=t;Q.log.warn(`Problem encountered loading the subtitle track.Disabling subtitle track.`);let r=n.activeTrack();r&&(r.mode=`disabled`),n.onTrackChanged()}},lu={AUDIO:(e,t,n)=>{if(!t)return;let{tech:r,requestOptions:i,segmentLoaders:{[e]:a}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,cu[e](e,n))},SUBTITLES:(e,t,n)=>{let{tech:r,requestOptions:i,segmentLoaders:{[e]:a},mediaTypes:{[e]:o}}=n;t.on(`loadedmetadata`,()=>{let e=t.media();a.playlist(e,i),a.track(o.activeTrack()),(!r.paused()||e.endList&&r.preload()!==`none`)&&a.load()}),t.on(`loadedplaylist`,()=>{a.playlist(t.media(),i),r.paused()||a.load()}),t.on(`error`,cu[e](e,n))}},uu={AUDIO:(e,t)=>{let{vhs:n,sourceType:r,segmentLoaders:{[e]:i},requestOptions:a,main:{mediaGroups:o},mediaTypes:{[e]:{groups:s,tracks:c,logger_:l}},mainPlaylistLoader:u}=t,d=Bo(u.main);(!o[e]||Object.keys(o[e]).length===0)&&(o[e]={main:{default:{default:!0}}},d&&(o[e].main.default.playlists=u.main.playlists));for(let i in o[e]){s[i]||(s[i]=[]);for(let f in o[e][i]){let p=o[e][i][f],m;d?(l(`AUDIO group '${i}' label '${f}' is a main playlist`),p.isMainPlaylist=!0,m=null):m=r===`vhs-json`&&p.playlists?new _s(p.playlists[0],n,a):p.resolvedUri?new _s(p.resolvedUri,n,a):p.playlists&&r===`dash`?new Qs(p.playlists[0],n,a,u):null,p=$({id:f,playlistLoader:m},p),lu[e](e,p.playlistLoader,t),s[i].push(p),c[f]===void 0&&(c[f]=new Q.AudioTrack({id:f,kind:nu(p),enabled:!1,language:p.language,default:p.default,label:f}))}}i.on(`error`,cu[e](e,t))},SUBTITLES:(e,t)=>{let{tech:n,vhs:r,sourceType:i,segmentLoaders:{[e]:a},requestOptions:o,main:{mediaGroups:s},mediaTypes:{[e]:{groups:c,tracks:l}},mainPlaylistLoader:u}=t;for(let a in s[e]){c[a]||(c[a]=[]);for(let d in s[e][a]){if(!r.options_.useForcedSubtitles&&s[e][a][d].forced)continue;let f=s[e][a][d],p;if(i===`hls`)p=new _s(f.resolvedUri,r,o);else if(i===`dash`){if(!f.playlists.filter(e=>e.excludeUntil!==1/0).length)return;p=new Qs(f.playlists[0],r,o,u)}else i===`vhs-json`&&(p=new _s(f.playlists?f.playlists[0]:f.resolvedUri,r,o));f=$({id:d,playlistLoader:p},f),lu[e](e,f.playlistLoader,t),c[a].push(f),l[d]===void 0&&(l[d]=n.addRemoteTextTrack({id:d,kind:`subtitles`,default:f.default&&f.autoselect,language:f.language,label:d},!1).track)}}a.on(`error`,cu[e](e,t))},"CLOSED-CAPTIONS":(e,t)=>{let{tech:n,main:{mediaGroups:r},mediaTypes:{[e]:{groups:i,tracks:a}}}=t;for(let t in r[e]){i[t]||(i[t]=[]);for(let o in r[e][t]){let s=r[e][t][o];if(!/^(?:CC|SERVICE)/.test(s.instreamId))continue;let c=n.options_.vhs&&n.options_.vhs.captionServices||{},l={label:o,language:s.language,instreamId:s.instreamId,default:s.default&&s.autoselect};c[l.instreamId]&&(l=$(l,c[l.instreamId])),l.default===void 0&&delete l.default,i[t].push($({id:o},s)),a[o]===void 0&&(a[o]=n.addRemoteTextTrack({id:l.instreamId,kind:`captions`,default:l.default,language:l.language,label:l.label},!1).track)}}}},du=(e,t)=>{for(let n=0;n<e.length;n++)if(Ro(t,e[n])||e[n].playlists&&du(e[n].playlists,t))return!0;return!1},fu=(e,t)=>n=>{let{mainPlaylistLoader:r,mediaTypes:{[e]:{groups:i}}}=t,a=r.media();if(!a)return null;let o=null;a.attributes[e]&&(o=i[a.attributes[e]]);let s=Object.keys(i);if(!o)if(e===`AUDIO`&&s.length>1&&Bo(t.main))for(let e=0;e<s.length;e++){let t=i[s[e]];if(du(t,a)){o=t;break}}else i.main?o=i.main:s.length===1&&(o=i[s[0]]);return n===void 0?o:n===null||!o?null:o.filter(e=>e.id===n.id)[0]||null},pu={AUDIO:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].enabled)return n[e];return null},SUBTITLES:(e,t)=>()=>{let{mediaTypes:{[e]:{tracks:n}}}=t;for(let e in n)if(n[e].mode===`showing`||n[e].mode===`hidden`)return n[e];return null}},mu=(e,{mediaTypes:t})=>()=>{let n=t[e].activeTrack();return n?t[e].activeGroup(n):null},hu=e=>{[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{uu[t](t,e)});let{mediaTypes:t,mainPlaylistLoader:n,tech:r,vhs:i,segmentLoaders:{AUDIO:a,main:o}}=e;[`AUDIO`,`SUBTITLES`].forEach(n=>{t[n].activeGroup=fu(n,e),t[n].activeTrack=pu[n](n,e),t[n].onGroupChanged=au(n,e),t[n].onGroupChanging=ou(n,e),t[n].onTrackChanged=su(n,e),t[n].getActiveGroup=mu(n,e)});let s=t.AUDIO.activeGroup();if(s){let e=(s.filter(e=>e.default)[0]||s[0]).id;t.AUDIO.tracks[e].enabled=!0,t.AUDIO.onGroupChanged(),t.AUDIO.onTrackChanged(),t.AUDIO.getActiveGroup().playlistLoader?(o.setAudio(!1),a.setAudio(!0)):o.setAudio(!0)}n.on(`mediachange`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanged())}),n.on(`mediachanging`,()=>{[`AUDIO`,`SUBTITLES`].forEach(e=>t[e].onGroupChanging())});let c=()=>{t.AUDIO.onTrackChanged(),r.trigger({type:`usage`,name:`vhs-audio-change`})};r.audioTracks().addEventListener(`change`,c),r.remoteTextTracks().addEventListener(`change`,t.SUBTITLES.onTrackChanged),i.on(`dispose`,()=>{r.audioTracks().removeEventListener(`change`,c),r.remoteTextTracks().removeEventListener(`change`,t.SUBTITLES.onTrackChanged)}),r.clearTracks(`audio`);for(let e in t.AUDIO.tracks)r.audioTracks().addTrack(t.AUDIO.tracks[e])},gu=()=>{let e={};return[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(t=>{e[t]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:kl,activeTrack:kl,getActiveGroup:kl,onGroupChanged:kl,onTrackChanged:kl,lastTrack_:null,logger_:eo(`MediaGroups[${t}]`)}}),e};var _u=class{constructor(){this.priority_=[],this.pathwayClones_=new Map}set version(e){e===1&&(this.version_=e)}set ttl(e){this.ttl_=e||300}set reloadUri(e){e&&(this.reloadUri_=Qa(this.reloadUri_,e))}set priority(e){e&&e.length&&(this.priority_=e)}set pathwayClones(e){e&&e.length&&(this.pathwayClones_=new Map(e.map(e=>[e.ID,e])))}get version(){return this.version_}get ttl(){return this.ttl_}get reloadUri(){return this.reloadUri_}get priority(){return this.priority_}get pathwayClones(){return this.pathwayClones_}},vu=class extends Q.EventTarget{constructor(e,t){super(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=!1,this.availablePathways_=new Set,this.steeringManifest=new _u,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.currentPathwayClones=new Map,this.nextPathwayClones=new Map,this.excludedSteeringManifestURLs=new Set,this.logger_=eo(`Content Steering`),this.xhr_=e,this.getBandwidth_=t}assignTagProperties(e,t){this.manifestType_=t.serverUri?`HLS`:`DASH`;let n=t.serverUri||t.serverURL;if(!n){this.logger_(`steering manifest URL is ${n}, cannot request steering manifest.`),this.trigger(`error`);return}if(n.startsWith(`data:`)){this.decodeDataUriManifest_(n.substring(n.indexOf(`,`)+1));return}this.steeringManifest.reloadUri=Qa(e,n),this.defaultPathway=t.pathwayId||t.defaultServiceLocation,this.queryBeforeStart=t.queryBeforeStart,this.proxyServerUrl_=t.proxyServerURL,this.defaultPathway&&!this.queryBeforeStart&&this.trigger(`content-steering`)}requestSteeringManifest(e){let t=this.steeringManifest.reloadUri;if(!t)return;let n=e?t:this.getRequestURI(t);if(!n){this.logger_(`No valid content steering manifest URIs. Stopping content steering.`),this.trigger(`error`),this.dispose();return}let r={contentSteeringInfo:{uri:n}};this.trigger({type:`contentsteeringloadstart`,metadata:r}),this.request_=this.xhr_({uri:n,requestType:`content-steering-manifest`},(e,t)=>{if(e){if(t.status===410){this.logger_(`manifest request 410 ${e}.`),this.logger_(`There will be no more content steering requests to ${n} this session.`),this.excludedSteeringManifestURLs.add(n);return}if(t.status===429){let n=t.responseHeaders[`retry-after`];this.logger_(`manifest request 429 ${e}.`),this.logger_(`content steering will retry in ${n} seconds.`),this.startTTLTimeout_(parseInt(n,10));return}this.logger_(`manifest failed to load ${e}.`),this.startTTLTimeout_();return}this.trigger({type:`contentsteeringloadcomplete`,metadata:r});let i;try{i=JSON.parse(this.request_.responseText)}catch(e){let t={errorType:Q.Error.StreamingContentSteeringParserError,error:e};this.trigger({type:`error`,metadata:t})}this.assignSteeringProperties_(i);let a={contentSteeringInfo:r.contentSteeringInfo,contentSteeringManifest:{version:this.steeringManifest.version,reloadUri:this.steeringManifest.reloadUri,priority:this.steeringManifest.priority}};this.trigger({type:`contentsteeringparsed`,metadata:a}),this.startTTLTimeout_()})}setProxyServerUrl_(e){let t=new y.default.URL(e),n=new y.default.URL(this.proxyServerUrl_);return n.searchParams.set(`url`,encodeURI(t.toString())),this.setSteeringParams_(n.toString())}decodeDataUriManifest_(e){let t=JSON.parse(y.default.atob(e));this.assignSteeringProperties_(t)}setSteeringParams_(e){let t=new y.default.URL(e),n=this.getPathway(),r=this.getBandwidth_();if(n){let e=`_${this.manifestType_}_pathway`;t.searchParams.set(e,n)}if(r){let e=`_${this.manifestType_}_throughput`;t.searchParams.set(e,r)}return t.toString()}assignSteeringProperties_(e){if(this.steeringManifest.version=e.VERSION,!this.steeringManifest.version){this.logger_(`manifest version is ${e.VERSION}, which is not supported.`),this.trigger(`error`);return}this.steeringManifest.ttl=e.TTL,this.steeringManifest.reloadUri=e[`RELOAD-URI`],this.steeringManifest.priority=e[`PATHWAY-PRIORITY`]||e[`SERVICE-LOCATION-PRIORITY`],this.steeringManifest.pathwayClones=e[`PATHWAY-CLONES`],this.nextPathwayClones=this.steeringManifest.pathwayClones,this.availablePathways_.size||(this.logger_(`There are no available pathways for content steering. Ending content steering.`),this.trigger(`error`),this.dispose());let t=(e=>{for(let t of e)if(this.availablePathways_.has(t))return t;return[...this.availablePathways_][0]})(this.steeringManifest.priority);this.currentPathway!==t&&(this.currentPathway=t,this.trigger(`content-steering`))}getPathway(){return this.currentPathway||this.defaultPathway}getRequestURI(e){if(!e)return null;let t=e=>this.excludedSteeringManifestURLs.has(e);if(this.proxyServerUrl_){let n=this.setProxyServerUrl_(e);if(!t(n))return n}let n=this.setSteeringParams_(e);return t(n)?null:n}startTTLTimeout_(e=this.steeringManifest.ttl){let t=e*1e3;this.ttlTimeout_=y.default.setTimeout(()=>{this.requestSteeringManifest()},t)}clearTTLTimeout_(){y.default.clearTimeout(this.ttlTimeout_),this.ttlTimeout_=null}abort(){this.request_&&this.request_.abort(),this.request_=null}dispose(){this.off(`content-steering`),this.off(`error`),this.abort(),this.clearTTLTimeout_(),this.currentPathway=null,this.defaultPathway=null,this.queryBeforeStart=null,this.proxyServerUrl_=null,this.manifestType_=null,this.ttlTimeout_=null,this.request_=null,this.excludedSteeringManifestURLs=new Set,this.availablePathways_=new Set,this.steeringManifest=new _u}addAvailablePathway(e){e&&this.availablePathways_.add(e)}clearAvailablePathways(){this.availablePathways_.clear()}excludePathway(e){return this.availablePathways_.delete(e)}didDASHTagChange(e,t){return!t&&this.steeringManifest.reloadUri||t&&(Qa(e,t.serverURL)!==this.steeringManifest.reloadUri||t.defaultServiceLocation!==this.defaultPathway||t.queryBeforeStart!==this.queryBeforeStart||t.proxyServerURL!==this.proxyServerUrl_)}getAvailablePathways(){return this.availablePathways_}};let yu=(e,t)=>{let n=null;return(...r)=>{clearTimeout(n),n=setTimeout(()=>{e.apply(null,r)},t)}},bu,xu=[`mediaRequests`,`mediaRequestsAborted`,`mediaRequestsTimedout`,`mediaRequestsErrored`,`mediaTransferDuration`,`mediaBytesTransferred`,`mediaAppends`],Su=function(e){return this.audioSegmentLoader_[e]+this.mainSegmentLoader_[e]},Cu=function({currentPlaylist:e,buffered:t,currentTime:n,nextPlaylist:r,bufferLowWaterLine:i,bufferHighWaterLine:a,duration:o,bufferBasedABR:s,log:c}){if(!r)return Q.log.warn(`We received no playlist to switch to. Please check your stream.`),!1;let l=`allowing switch ${e&&e.id||`null`} -> ${r.id}`;if(!e)return c(`${l} as current playlist is not set`),!0;if(r.id===e.id)return!1;let u=!!oo(t,n).length;if(!e.endList)return!u&&typeof e.partTargetDuration==`number`?(c(`not ${l} as current playlist is live llhls, but currentTime isn't in buffered.`),!1):(c(`${l} as current playlist is live`),!0);let d=go(t,n),f=s?$s.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:$s.MAX_BUFFER_LOW_WATER_LINE;if(o<f)return c(`${l} as duration < max low water line (${o} < ${f})`),!0;let p=r.attributes.BANDWIDTH,m=e.attributes.BANDWIDTH;if(p<m&&(!s||d<a)){let e=`${l} as next bandwidth < current bandwidth (${p} < ${m})`;return s&&(e+=` and forwardBuffer < bufferHighWaterLine (${d} < ${a})`),c(e),!0}if((!s||p>m)&&d>=i){let e=`${l} as forwardBuffer >= bufferLowWaterLine (${d} >= ${i})`;return s&&(e+=` and next bandwidth > current bandwidth (${p} > ${m})`),c(e),!0}return c(`not ${l} as no switching criteria met`),!1};var wu=class extends Q.EventTarget{constructor(e){super(),this.fastQualityChange_=yu(this.fastQualityChange_.bind(this),100);let{src:t,withCredentials:n,tech:r,bandwidth:i,externVhs:a,useCueTags:o,playlistExclusionDuration:s,enableLowInitialPlaylist:c,sourceType:l,cacheEncryptionKeys:u,bufferBasedABR:d,leastPixelDiffSelector:f,captionServices:p,experimentalUseMMS:m}=e;if(!t)throw Error(`A non-empty playlist URL or JSON manifest string is required`);let{maxPlaylistRetries:h}=e;h??=1/0,bu=a,this.bufferBasedABR=!!d,this.leastPixelDiffSelector=!!f,this.withCredentials=n,this.tech_=r,this.vhs_=r.vhs,this.player_=e.player_,this.sourceType_=l,this.useCueTags_=o,this.playlistExclusionDuration=s,this.maxPlaylistRetries=h,this.enableLowInitialPlaylist=c,this.usingManagedMediaSource_=!1,this.useCueTags_&&(this.cueTagsTrack_=this.tech_.addTextTrack(`metadata`,`ad-cues`),this.cueTagsTrack_.inBandMetadataTrackDispatchType=``),this.requestOptions_={withCredentials:n,maxPlaylistRetries:h,timeout:null},this.on(`error`,this.pauseLoading),this.mediaTypes_=gu(),m&&y.default.ManagedMediaSource?(this.tech_.el_.disableRemotePlayback=!0,this.mediaSource=new y.default.ManagedMediaSource,this.usingManagedMediaSource_=!0,Q.log(`Using ManagedMediaSource`)):y.default.MediaSource&&(this.mediaSource=new y.default.MediaSource),this.handleDurationChange_=this.handleDurationChange_.bind(this),this.handleSourceOpen_=this.handleSourceOpen_.bind(this),this.handleSourceEnded_=this.handleSourceEnded_.bind(this),this.load=this.load.bind(this),this.pause=this.pause.bind(this),this.mediaSource.addEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.addEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.addEventListener(`sourceended`,this.handleSourceEnded_),this.mediaSource.addEventListener(`startstreaming`,this.load),this.mediaSource.addEventListener(`endstreaming`,this.pause),this.seekable_=to(),this.hasPlayed_=!1,this.syncController_=new $l(e),this.segmentMetadataTrack_=r.addRemoteTextTrack({kind:`metadata`,label:`segment-metadata`},!1).track,this.segmentMetadataTrack_.mode=`hidden`,this.decrypter_=new tu,this.sourceUpdater_=new Bl(this.mediaSource),this.inbandTextTracks_={},this.timelineChangeController_=new eu,this.keyStatusMap_=new Map;let g={vhs:this.vhs_,parse708captions:e.parse708captions,useDtsForTimestampOffset:e.useDtsForTimestampOffset,captionServices:p,mediaSource:this.mediaSource,currentTime:this.tech_.currentTime.bind(this.tech_),seekable:()=>this.seekable(),seeking:()=>this.tech_.seeking(),duration:()=>this.duration(),hasPlayed:()=>this.hasPlayed_,goalBufferLength:()=>this.goalBufferLength(),bandwidth:i,syncController:this.syncController_,decrypter:this.decrypter_,sourceType:this.sourceType_,inbandTextTracks:this.inbandTextTracks_,cacheEncryptionKeys:u,sourceUpdater:this.sourceUpdater_,timelineChangeController:this.timelineChangeController_,exactManifestTimings:e.exactManifestTimings,addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)};this.mainPlaylistLoader_=this.sourceType_===`dash`?new Qs(t,this.vhs_,$(this.requestOptions_,{addMetadataToTextTrack:this.addMetadataToTextTrack.bind(this)})):new _s(t,this.vhs_,$(this.requestOptions_,{addDateRangesToTextTrack:this.addDateRangesToTextTrack_.bind(this)})),this.setupMainPlaylistLoaderListeners_(),this.mainSegmentLoader_=new Ol($(g,{segmentMetadataTrack:this.segmentMetadataTrack_,loaderType:`main`}),e),this.audioSegmentLoader_=new Ol($(g,{loaderType:`audio`}),e),this.subtitleSegmentLoader_=new Gl($(g,{loaderType:`vtt`,featuresNativeTextTracks:this.tech_.featuresNativeTextTracks,loadVttJs:()=>new Promise((e,t)=>{function n(){r.off(`vttjserror`,i),e()}function i(){r.off(`vttjsloaded`,n),t()}r.one(`vttjsloaded`,n),r.one(`vttjserror`,i),r.addWebVttScript_()})}),e);let _=()=>this.mainSegmentLoader_.bandwidth;this.contentSteeringController_=new vu(this.vhs_.xhr,_),this.setupSegmentLoaderListeners_(),this.bufferBasedABR&&(this.mainPlaylistLoader_.one(`loadedplaylist`,()=>this.startABRTimer_()),this.tech_.on(`pause`,()=>this.stopABRTimer_()),this.tech_.on(`play`,()=>this.startABRTimer_())),xu.forEach(e=>{this[e+`_`]=Su.bind(this,e)}),this.logger_=eo(`pc`),this.triggeredFmp4Usage=!1,this.tech_.preload()===`none`?(this.loadOnPlay_=()=>{this.loadOnPlay_=null,this.mainPlaylistLoader_.load()},this.tech_.one(`play`,this.loadOnPlay_)):this.mainPlaylistLoader_.load(),this.timeToLoadedData__=-1,this.mainAppendsToLoadedData__=-1,this.audioAppendsToLoadedData__=-1;let v=this.tech_.preload()===`none`?`play`:`loadstart`;this.tech_.one(v,()=>{let e=Date.now();this.tech_.one(`loadeddata`,()=>{this.timeToLoadedData__=Date.now()-e,this.mainAppendsToLoadedData__=this.mainSegmentLoader_.mediaAppends,this.audioAppendsToLoadedData__=this.audioSegmentLoader_.mediaAppends})})}mainAppendsToLoadedData_(){return this.mainAppendsToLoadedData__}audioAppendsToLoadedData_(){return this.audioAppendsToLoadedData__}appendsToLoadedData_(){let e=this.mainAppendsToLoadedData_(),t=this.audioAppendsToLoadedData_();return e===-1||t===-1?-1:e+t}timeToLoadedData_(){return this.timeToLoadedData__}checkABR_(e=`abr`){let t=this.selectPlaylist();t&&this.shouldSwitchToMedia_(t)&&this.switchMedia_(t,e)}switchMedia_(e,t,n){let r=this.media(),i=r&&(r.id||r.uri),a=e&&(e.id||e.uri);if(i&&i!==a){this.logger_(`switch media ${i} -> ${a} from ${t}`);let n={renditionInfo:{id:a,bandwidth:e.attributes.BANDWIDTH,resolution:e.attributes.RESOLUTION,codecs:e.attributes.CODECS},cause:t};this.trigger({type:`renditionselected`,metadata:n}),this.tech_.trigger({type:`usage`,name:`vhs-rendition-change-${t}`})}this.mainPlaylistLoader_.media(e,n)}switchMediaForDASHContentSteering_(){[`AUDIO`,`SUBTITLES`,`CLOSED-CAPTIONS`].forEach(e=>{let t=this.mediaTypes_[e],n=t?t.activeGroup():null,r=this.contentSteeringController_.getPathway();if(n&&r){let t=(n.length?n[0].playlists:n.playlists).filter(e=>e.attributes.serviceLocation===r);t.length&&this.mediaTypes_[e].activePlaylistLoader.media(t[0])}})}startABRTimer_(){this.stopABRTimer_(),this.abrTimer_=y.default.setInterval(()=>this.checkABR_(),250)}stopABRTimer_(){this.tech_.scrubbing&&this.tech_.scrubbing()||(y.default.clearInterval(this.abrTimer_),this.abrTimer_=null)}getAudioTrackPlaylists_(){let e=this.main(),t=e&&e.playlists||[];if(!e||!e.mediaGroups||!e.mediaGroups.AUDIO)return t;let n=e.mediaGroups.AUDIO,r=Object.keys(n),i;if(Object.keys(this.mediaTypes_.AUDIO.groups).length)i=this.mediaTypes_.AUDIO.activeTrack();else{let e=n.main||r.length&&n[r[0]];for(let t in e)if(e[t].default){i={label:t};break}}if(!i)return t;let a=[];for(let t in n)if(n[t][i.label]){let r=n[t][i.label];if(r.playlists&&r.playlists.length)a.push.apply(a,r.playlists);else if(r.uri)a.push(r);else if(e.playlists.length)for(let n=0;n<e.playlists.length;n++){let r=e.playlists[n];r.attributes&&r.attributes.AUDIO&&r.attributes.AUDIO===t&&a.push(r)}}return a.length?a:t}setupMainPlaylistLoaderListeners_(){this.mainPlaylistLoader_.on(`loadedmetadata`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;Lo(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,e.endList&&this.tech_.preload()!==`none`&&(this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.mainSegmentLoader_.load()),hu({sourceType:this.sourceType_,segmentLoaders:{AUDIO:this.audioSegmentLoader_,SUBTITLES:this.subtitleSegmentLoader_,main:this.mainSegmentLoader_},tech:this.tech_,requestOptions:this.requestOptions_,mainPlaylistLoader:this.mainPlaylistLoader_,vhs:this.vhs_,main:this.main(),mediaTypes:this.mediaTypes_,excludePlaylist:this.excludePlaylist.bind(this)}),this.triggerPresenceUsage_(this.main(),e),this.setupFirstPlay(),!this.mediaTypes_.AUDIO.activePlaylistLoader||this.mediaTypes_.AUDIO.activePlaylistLoader.media()?this.trigger(`selectedinitialmedia`):this.mediaTypes_.AUDIO.activePlaylistLoader.one(`loadedmetadata`,()=>{this.trigger(`selectedinitialmedia`)})}),this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_);let e=this.mainPlaylistLoader_.media();if(!e){this.attachContentSteeringListeners_(),this.initContentSteeringController_(),this.excludeUnsupportedVariants_();let t;if(this.enableLowInitialPlaylist&&(t=this.selectInitialPlaylist()),t||=this.selectPlaylist(),!t||!this.shouldSwitchToMedia_(t)||(this.initialMedia_=t,this.switchMedia_(this.initialMedia_,`initial`),!(this.sourceType_===`vhs-json`&&this.initialMedia_.segments)))return;e=this.initialMedia_}this.handleUpdatedMediaPlaylist(e)}),this.mainPlaylistLoader_.on(`error`,()=>{let e=this.mainPlaylistLoader_.error;this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainPlaylistLoader_.on(`mediachanging`,()=>{this.mainSegmentLoader_.abort(),this.mainSegmentLoader_.pause()}),this.mainPlaylistLoader_.on(`mediachange`,()=>{let e=this.mainPlaylistLoader_.media(),t=e.targetDuration*1.5*1e3;Lo(this.mainPlaylistLoader_.main,this.mainPlaylistLoader_.media())?this.requestOptions_.timeout=0:this.requestOptions_.timeout=t,this.sourceType_===`dash`&&this.mainPlaylistLoader_.isPaused&&this.mainPlaylistLoader_.load(),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_?this.runFastQualitySwitch_():this.mainSegmentLoader_.load(),this.tech_.trigger({type:`mediachange`,bubbles:!0})}),this.mainPlaylistLoader_.on(`playlistunchanged`,()=>{let e=this.mainPlaylistLoader_.media();e.lastExcludeReason_!==`playlist-unchanged`&&this.stuckAtPlaylistEnd_(e)&&(this.excludePlaylist({error:{message:`Playlist no longer updating.`,reason:`playlist-unchanged`}}),this.tech_.trigger(`playliststuck`))}),this.mainPlaylistLoader_.on(`renditiondisabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-disabled`})}),this.mainPlaylistLoader_.on(`renditionenabled`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-rendition-enabled`})}),[`manifestrequeststart`,`manifestrequestcomplete`,`manifestparsestart`,`manifestparsecomplete`,`playlistrequeststart`,`playlistrequestcomplete`,`playlistparsestart`,`playlistparsecomplete`,`renditiondisabled`,`renditionenabled`].forEach(e=>{this.mainPlaylistLoader_.on(e,e=>{this.player_.trigger(T.default({},e))})})}handleUpdatedMediaPlaylist(e){this.useCueTags_&&this.updateAdCues_(e),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.playlist(e,this.requestOptions_),this.waitingForFastQualityPlaylistReceived_&&this.runFastQualitySwitch_(),this.updateDuration(!e.endList),this.tech_.paused()||(this.mainSegmentLoader_.load(),this.audioSegmentLoader_&&this.audioSegmentLoader_.load())}triggerPresenceUsage_(e,t){let n=e.mediaGroups||{},r=!0,i=Object.keys(n.AUDIO);for(let e in n.AUDIO)for(let t in n.AUDIO[e])n.AUDIO[e][t].uri||(r=!1);r&&this.tech_.trigger({type:`usage`,name:`vhs-demuxed`}),Object.keys(n.SUBTITLES).length&&this.tech_.trigger({type:`usage`,name:`vhs-webvtt`}),bu.Playlist.isAes(t)&&this.tech_.trigger({type:`usage`,name:`vhs-aes`}),i.length&&Object.keys(n.AUDIO[i[0]]).length>1&&this.tech_.trigger({type:`usage`,name:`vhs-alternate-audio`}),this.useCueTags_&&this.tech_.trigger({type:`usage`,name:`vhs-playlist-cue-tags`})}shouldSwitchToMedia_(e){let t=this.mainPlaylistLoader_.media()||this.mainPlaylistLoader_.pendingMedia_,n=this.tech_.currentTime(),r=this.bufferLowWaterLine(),i=this.bufferHighWaterLine();return Cu({buffered:this.tech_.buffered(),currentTime:n,currentPlaylist:t,nextPlaylist:e,bufferLowWaterLine:r,bufferHighWaterLine:i,duration:this.duration(),bufferBasedABR:this.bufferBasedABR,log:this.logger_})}setupSegmentLoaderListeners_(){this.mainSegmentLoader_.on(`bandwidthupdate`,()=>{this.checkABR_(`bandwidthupdate`),this.tech_.trigger(`bandwidthupdate`)}),this.mainSegmentLoader_.on(`timeout`,()=>{this.bufferBasedABR&&this.mainSegmentLoader_.load()}),this.bufferBasedABR||this.mainSegmentLoader_.on(`progress`,()=>{this.trigger(`progress`)}),this.mainSegmentLoader_.on(`error`,()=>{let e=this.mainSegmentLoader_.error();this.excludePlaylist({playlistToExclude:e.playlist,error:e})}),this.mainSegmentLoader_.on(`appenderror`,()=>{this.error=this.mainSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(`timestampoffset`,()=>{this.tech_.trigger({type:`usage`,name:`vhs-timestamp-offset`})}),this.audioSegmentLoader_.on(`syncinfoupdate`,()=>{this.onSyncInfoUpdate_()}),this.audioSegmentLoader_.on(`appenderror`,()=>{this.error=this.audioSegmentLoader_.error_,this.trigger(`error`)}),this.mainSegmentLoader_.on(`ended`,()=>{this.logger_(`main segment loader ended`),this.onEndOfStream()}),this.timelineChangeController_.on(`audioTimelineBehind`,()=>{let e=this.audioSegmentLoader_.pendingSegment_;if(!e||!e.segment||!e.segment.syncInfo)return;let t=e.segment.syncInfo.end+.01;this.tech_.setCurrentTime(t)}),this.timelineChangeController_.on(`fixBadTimelineChange`,()=>{this.logger_(`Fix bad timeline change. Restarting al segment loaders...`),this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}),this.mainSegmentLoader_.on(`earlyabort`,e=>{this.bufferBasedABR||(this.delegateLoaders_(`all`,[`abort`]),this.excludePlaylist({error:{message:`Aborted early because there isn't enough bandwidth to complete the request without rebuffering.`},playlistExclusionDuration:10}))});let e=()=>{if(!this.sourceUpdater_.hasCreatedSourceBuffers())return this.tryToCreateSourceBuffers_();let e=this.getCodecsOrExclude_();e&&this.sourceUpdater_.addOrChangeSourceBuffers(e)};this.mainSegmentLoader_.on(`trackinfo`,e),this.audioSegmentLoader_.on(`trackinfo`,e),this.mainSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`fmp4`,()=>{this.triggeredFmp4Usage||=(this.tech_.trigger({type:`usage`,name:`vhs-fmp4`}),!0)}),this.audioSegmentLoader_.on(`ended`,()=>{this.logger_(`audioSegmentLoader ended`),this.onEndOfStream()}),[`segmentselected`,`segmentloadstart`,`segmentloaded`,`segmentkeyloadstart`,`segmentkeyloadcomplete`,`segmentdecryptionstart`,`segmentdecryptioncomplete`,`segmenttransmuxingstart`,`segmenttransmuxingcomplete`,`segmenttransmuxingtrackinfoavailable`,`segmenttransmuxingtiminginfoavailable`,`segmentappendstart`,`appendsdone`,`bandwidthupdated`,`timelinechange`,`codecschange`].forEach(e=>{this.mainSegmentLoader_.on(e,e=>{this.player_.trigger(T.default({},e))}),this.audioSegmentLoader_.on(e,e=>{this.player_.trigger(T.default({},e))}),this.subtitleSegmentLoader_.on(e,e=>{this.player_.trigger(T.default({},e))})})}mediaSecondsLoaded_(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}load(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}pause(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}fastQualityChange_(e=this.selectPlaylist()){if(e&&e===this.mainPlaylistLoader_.media()){this.logger_(`skipping fastQualityChange because new media is same as old`);return}this.switchMedia_(e,`fast-quality`),this.waitingForFastQualityPlaylistReceived_=!0}runFastQualitySwitch_(){this.waitingForFastQualityPlaylistReceived_=!1,this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}play(){if(this.setupFirstPlay())return;this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();let e=this.tech_.seekable();if(this.tech_.duration()===1/0&&this.tech_.currentTime()<e.start(0))return this.tech_.setCurrentTime(e.end(e.length-1))}setupFirstPlay(){let e=this.mainPlaylistLoader_.media();if(!e||this.tech_.paused()||this.hasPlayed_)return!1;if(!e.endList||e.start){let t=this.seekable();if(!t.length)return!1;let n=t.end(0),r=n;if(e.start){let i=e.start.timeOffset;if(i<0){let a=this.mainPlaylistLoader_.main,o=n+bu.Playlist.liveEdgeDelay(a,e);r=Math.max(Math.min(o+i,n),t.start(0))}else r=Math.min(n,i)}this.trigger(`firstplay`),this.tech_.setCurrentTime(r)}return this.hasPlayed_=!0,this.load(),!0}handleSourceOpen_(){if(this.tryToCreateSourceBuffers_(),this.tech_.autoplay()){let e=this.tech_.play();e!==void 0&&typeof e.then==`function`&&e.then(null,e=>{})}this.trigger(`sourceopen`)}handleSourceEnded_(){if(!this.inbandTextTracks_.metadataTrack_)return;let e=this.inbandTextTracks_.metadataTrack_.cues;if(!e||!e.length)return;let t=this.duration();e[e.length-1].endTime=isNaN(t)||Math.abs(t)===1/0?Number.MAX_VALUE:t}handleDurationChange_(){this.tech_.trigger(`durationchange`)}onEndOfStream(){let e=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader){let t=this.mainSegmentLoader_.getCurrentMediaInfo_();!t||t.hasVideo?e&&=this.audioSegmentLoader_.ended_:e=this.audioSegmentLoader_.ended_}e&&(this.stopABRTimer_(),this.sourceUpdater_.endOfStream())}stuckAtPlaylistEnd_(e){if(!this.seekable().length)return!1;let t=this.syncController_.getExpiredTime(e,this.duration());if(t===null)return!1;let n=bu.Playlist.playlistEnd(e,t),r=this.tech_.currentTime(),i=this.tech_.buffered();if(!i.length)return n-r<=io;let a=i.end(i.length-1);return a-r<=io&&n-a<=io}excludePlaylist({playlistToExclude:e=this.mainPlaylistLoader_.media(),error:t={},playlistExclusionDuration:n}){if(e||=this.mainPlaylistLoader_.media(),n=n||t.playlistExclusionDuration||this.playlistExclusionDuration,!e){this.error=t,this.mediaSource.readyState===`open`?this.sourceUpdater_.endOfStream(`network`):this.trigger(`error`);return}e.playlistErrors_++;let r=this.mainPlaylistLoader_.main.playlists,i=r.filter(Mo),a=i.length===1&&i[0]===e;if(r.length===1&&n!==1/0)return Q.log.warn(`Problem encountered with playlist ${e.id}. Trying again since it is the only playlist.`),this.tech_.trigger(`retryplaylist`),this.mainPlaylistLoader_.load(a);if(a){if(this.main().contentSteering){let t=this.pathwayAttribute_(e),n=this.contentSteeringController_.steeringManifest.ttl*1e3;this.contentSteeringController_.excludePathway(t),this.excludeThenChangePathway_(),setTimeout(()=>{this.contentSteeringController_.addAvailablePathway(t)},n);return}let t=!1;r.forEach(n=>{if(n===e)return;let r=n.excludeUntil;r!==void 0&&r!==1/0&&(t=!0,delete n.excludeUntil)}),t&&(Q.log.warn(`Removing other playlists from the exclusion list because the last rendition is about to be excluded.`),this.tech_.trigger(`retryplaylist`))}let o;o=e.playlistErrors_>this.maxPlaylistRetries?1/0:Date.now()+n*1e3,e.excludeUntil=o,t.reason&&(e.lastExcludeReason_=t.reason),this.tech_.trigger(`excludeplaylist`),this.tech_.trigger({type:`usage`,name:`vhs-rendition-excluded`});let s=this.selectPlaylist();if(!s){this.error=`Playback cannot continue. No available working or supported playlists.`,this.trigger(`error`);return}let c=t.internal?this.logger_:Q.log.warn,l=t.message?` `+t.message:``;c(`${t.internal?`Internal problem`:`Problem`} encountered with playlist ${e.id}.${l} Switching to playlist ${s.id}.`),s.attributes.AUDIO!==e.attributes.AUDIO&&this.delegateLoaders_(`audio`,[`abort`,`pause`]),s.attributes.SUBTITLES!==e.attributes.SUBTITLES&&this.delegateLoaders_(`subtitle`,[`abort`,`pause`]),this.delegateLoaders_(`main`,[`abort`,`pause`]);let u=s.targetDuration/2*1e3||5*1e3,d=typeof s.lastRequest==`number`&&Date.now()-s.lastRequest<=u;return this.switchMedia_(s,`exclude`,a||d)}pauseLoading(){this.delegateLoaders_(`all`,[`abort`,`pause`]),this.stopABRTimer_()}delegateLoaders_(e,t){let n=[],r=e===`all`;(r||e===`main`)&&n.push(this.mainPlaylistLoader_);let i=[];(r||e===`audio`)&&i.push(`AUDIO`),(r||e===`subtitle`)&&(i.push(`CLOSED-CAPTIONS`),i.push(`SUBTITLES`)),i.forEach(e=>{let t=this.mediaTypes_[e]&&this.mediaTypes_[e].activePlaylistLoader;t&&n.push(t)}),[`main`,`audio`,`subtitle`].forEach(t=>{let r=this[`${t}SegmentLoader_`];r&&(e===t||e===`all`)&&n.push(r)}),n.forEach(e=>t.forEach(t=>{typeof e[t]==`function`&&e[t]()}))}setCurrentTime(e){let t=oo(this.tech_.buffered(),e);if(!(this.mainPlaylistLoader_&&this.mainPlaylistLoader_.media())||!this.mainPlaylistLoader_.media().segments)return 0;if(t&&t.length)return e;this.mainSegmentLoader_.pause(),this.mainSegmentLoader_.resetEverything(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.resetEverything()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.pause(),this.subtitleSegmentLoader_.resetEverything()),this.load()}duration(){if(!this.mainPlaylistLoader_)return 0;let e=this.mainPlaylistLoader_.media();return e?e.endList?this.mediaSource?this.mediaSource.duration:bu.Playlist.duration(e):1/0:0}seekable(){return this.seekable_}getSeekableRange_(e,t){let n=e.media();if(!n)return null;let r=this.syncController_.getMediaSequenceSync(t);if(r&&r.isReliable){let e=r.start,t=r.end;if(!isFinite(e)||!isFinite(t))return null;let i=bu.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n);return to([[e,Math.max(e,t-i)]])}let i=this.syncController_.getExpiredTime(n,this.duration());if(i===null)return null;let a=bu.Playlist.seekable(n,i,bu.Playlist.liveEdgeDelay(this.mainPlaylistLoader_.main,n));return a.length?a:null}computeFinalSeekable_(e,t){if(!t)return e;let n=e.start(0),r=e.end(0),i=t.start(0),a=t.end(0);return i>r||n>a?e:to([[Math.max(n,i),Math.min(r,a)]])}onSyncInfoUpdate_(){if(!this.mainPlaylistLoader_)return;let e=this.getSeekableRange_(this.mainPlaylistLoader_,`main`);if(!e)return;let t;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(t=this.getSeekableRange_(this.mediaTypes_.AUDIO.activePlaylistLoader,`audio`),!t))return;let n=this.seekable_;if(this.seekable_=this.computeFinalSeekable_(e,t),!this.seekable_||n&&n.length&&this.seekable_.length&&n.start(0)===this.seekable_.start(0)&&n.end(0)===this.seekable_.end(0))return;this.logger_(`seekable updated [${uo(this.seekable_)}]`);let r={seekableRanges:this.seekable_};this.trigger({type:`seekablerangeschanged`,metadata:r}),this.tech_.trigger(`seekablechanged`)}updateDuration(e){if(this.updateDuration_&&=(this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),null),this.mediaSource.readyState!==`open`){this.updateDuration_=this.updateDuration.bind(this,e),this.mediaSource.addEventListener(`sourceopen`,this.updateDuration_);return}if(e){let e=this.seekable();if(!e.length)return;(isNaN(this.mediaSource.duration)||this.mediaSource.duration<e.end(e.length-1))&&this.sourceUpdater_.setDuration(e.end(e.length-1));return}let t=this.tech_.buffered(),n=bu.Playlist.duration(this.mainPlaylistLoader_.media());t.length>0&&(n=Math.max(n,t.end(t.length-1))),this.mediaSource.duration!==n&&this.sourceUpdater_.setDuration(n)}dispose(){this.trigger(`dispose`),this.decrypter_.terminate(),this.mainPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.contentSteeringController_.dispose(),this.keyStatusMap_.clear(),this.loadOnPlay_&&this.tech_.off(`play`,this.loadOnPlay_),[`AUDIO`,`SUBTITLES`].forEach(e=>{let t=this.mediaTypes_[e].groups;for(let e in t)t[e].forEach(e=>{e.playlistLoader&&e.playlistLoader.dispose()})}),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.sourceUpdater_.dispose(),this.timelineChangeController_.dispose(),this.stopABRTimer_(),this.updateDuration_&&this.mediaSource.removeEventListener(`sourceopen`,this.updateDuration_),this.mediaSource.removeEventListener(`durationchange`,this.handleDurationChange_),this.mediaSource.removeEventListener(`sourceopen`,this.handleSourceOpen_),this.mediaSource.removeEventListener(`sourceended`,this.handleSourceEnded_),this.off()}main(){return this.mainPlaylistLoader_.main}media(){return this.mainPlaylistLoader_.media()||this.initialMedia_}areMediaTypesKnown_(){let e=!!this.mediaTypes_.AUDIO.activePlaylistLoader,t=!!this.mainSegmentLoader_.getCurrentMediaInfo_(),n=e?!!this.audioSegmentLoader_.getCurrentMediaInfo_():!0;return!(!t||!n)}getCodecsOrExclude_(){let e={main:this.mainSegmentLoader_.getCurrentMediaInfo_()||{},audio:this.audioSegmentLoader_.getCurrentMediaInfo_()||{}},t=this.mainSegmentLoader_.getPendingSegmentPlaylist()||this.media();e.video=e.main;let n=os(this.main(),t),r={},i=!!this.mediaTypes_.AUDIO.activePlaylistLoader;if(e.main.hasVideo&&(r.video=n.video||e.main.videoCodec||u.DEFAULT_VIDEO_CODEC),e.main.isMuxed&&(r.video+=`,${n.audio||e.main.audioCodec||u.DEFAULT_AUDIO_CODEC}`),(e.main.hasAudio&&!e.main.isMuxed||e.audio.hasAudio||i)&&(r.audio=n.audio||e.main.audioCodec||e.audio.audioCodec||u.DEFAULT_AUDIO_CODEC,e.audio.isFmp4=e.main.hasAudio&&!e.main.isMuxed?e.main.isFmp4:e.audio.isFmp4),!r.audio&&!r.video){this.excludePlaylist({playlistToExclude:t,error:{message:`Could not determine codecs for playlist.`},playlistExclusionDuration:1/0});return}let a=(e,t)=>e?u.browserSupportsCodec(t,this.usingManagedMediaSource_):u.muxerSupportsCodec(t),o={},s;if([`video`,`audio`].forEach(function(t){if(r.hasOwnProperty(t)&&!a(e[t].isFmp4,r[t])){let n=e[t].isFmp4?`browser`:`muxer`;o[n]=o[n]||[],o[n].push(r[t]),t===`audio`&&(s=n)}}),i&&s&&t.attributes.AUDIO){let e=t.attributes.AUDIO;this.main().playlists.forEach(n=>{(n.attributes&&n.attributes.AUDIO)===e&&n!==t&&(n.excludeUntil=1/0)}),this.logger_(`excluding audio group ${e} as ${s} does not support codec(s): "${r.audio}"`)}if(Object.keys(o).length){let e=Object.keys(o).reduce((e,t)=>(e&&(e+=`, `),e+=`${t} does not support codec(s): "${o[t].join(`,`)}"`,e),``)+`.`;this.excludePlaylist({playlistToExclude:t,error:{internal:!0,message:e},playlistExclusionDuration:1/0});return}if(this.sourceUpdater_.hasCreatedSourceBuffers()&&!this.sourceUpdater_.canChangeType()){let e=[];if([`video`,`audio`].forEach(t=>{let n=(u.parseCodecs(this.sourceUpdater_.codecs[t]||``)[0]||{}).type,i=(u.parseCodecs(r[t]||``)[0]||{}).type;n&&i&&n.toLowerCase()!==i.toLowerCase()&&e.push(`"${this.sourceUpdater_.codecs[t]}" -> "${r[t]}"`)}),e.length){this.excludePlaylist({playlistToExclude:t,error:{message:`Codec switching not supported: ${e.join(`, `)}.`,internal:!0},playlistExclusionDuration:1/0});return}}return r}tryToCreateSourceBuffers_(){if(this.mediaSource.readyState!==`open`||this.sourceUpdater_.hasCreatedSourceBuffers()||!this.areMediaTypesKnown_())return;let e=this.getCodecsOrExclude_();if(!e)return;this.sourceUpdater_.createSourceBuffers(e);let t=[e.video,e.audio].filter(Boolean).join(`,`);this.excludeIncompatibleVariants_(t)}excludeUnsupportedVariants_(){let e=this.main().playlists,t=[];Object.keys(e).forEach(n=>{let r=e[n];if(t.indexOf(r.id)!==-1)return;t.push(r.id);let i=os(this.main,r),a=[];i.audio&&!u.muxerSupportsCodec(i.audio)&&!u.browserSupportsCodec(i.audio,this.usingManagedMediaSource_)&&a.push(`audio codec ${i.audio}`),i.video&&!u.muxerSupportsCodec(i.video)&&!u.browserSupportsCodec(i.video,this.usingManagedMediaSource_)&&a.push(`video codec ${i.video}`),i.text&&i.text===`stpp.ttml.im1t`&&a.push(`text codec ${i.text}`),a.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id} for unsupported: ${a.join(`, `)}`))})}excludeIncompatibleVariants_(e){let t=[],n=this.main().playlists,r=is(u.parseCodecs(e)),i=as(r),a=r.video&&u.parseCodecs(r.video)[0]||null,o=r.audio&&u.parseCodecs(r.audio)[0]||null;Object.keys(n).forEach(e=>{let r=n[e];if(t.indexOf(r.id)!==-1||r.excludeUntil===1/0)return;t.push(r.id);let s=[],c=os(this.mainPlaylistLoader_.main,r),l=as(c);if(!(!c.audio&&!c.video)){if(l!==i&&s.push(`codec count "${l}" !== "${i}"`),!this.sourceUpdater_.canChangeType()){let e=c.video&&u.parseCodecs(c.video)[0]||null,t=c.audio&&u.parseCodecs(c.audio)[0]||null;e&&a&&e.type.toLowerCase()!==a.type.toLowerCase()&&s.push(`video codec "${e.type}" !== "${a.type}"`),t&&o&&t.type.toLowerCase()!==o.type.toLowerCase()&&s.push(`audio codec "${t.type}" !== "${o.type}"`)}s.length&&(r.excludeUntil=1/0,this.logger_(`excluding ${r.id}: ${s.join(` && `)}`))}})}updateAdCues_(e){let t=0,n=this.seekable();n.length&&(t=n.start(0)),ql(e,this.cueTagsTrack_,t)}goalBufferLength(){let e=this.tech_.currentTime(),t=$s.GOAL_BUFFER_LENGTH,n=$s.GOAL_BUFFER_LENGTH_RATE,r=Math.max(t,$s.MAX_GOAL_BUFFER_LENGTH);return Math.min(t+e*n,r)}bufferLowWaterLine(){let e=this.tech_.currentTime(),t=$s.BUFFER_LOW_WATER_LINE,n=$s.BUFFER_LOW_WATER_LINE_RATE,r=Math.max(t,$s.MAX_BUFFER_LOW_WATER_LINE),i=Math.max(t,$s.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE);return Math.min(t+e*n,this.bufferBasedABR?i:r)}bufferHighWaterLine(){return $s.BUFFER_HIGH_WATER_LINE}addDateRangesToTextTrack_(e){al(this.inbandTextTracks_,`com.apple.streaming`,this.tech_),il({inbandTextTracks:this.inbandTextTracks_,dateRanges:e})}addMetadataToTextTrack(e,t,n){let r=this.sourceUpdater_.videoBuffer?this.sourceUpdater_.videoTimestampOffset():this.sourceUpdater_.audioTimestampOffset();al(this.inbandTextTracks_,e,this.tech_),tl({inbandTextTracks:this.inbandTextTracks_,metadataArray:t,timestampOffset:r,videoDuration:n})}pathwayAttribute_(e){return e.attributes[`PATHWAY-ID`]||e.attributes.serviceLocation}initContentSteeringController_(){let e=this.main();if(e.contentSteering){for(let t of e.playlists)this.contentSteeringController_.addAvailablePathway(this.pathwayAttribute_(t));if(this.contentSteeringController_.assignTagProperties(e.uri,e.contentSteering),this.contentSteeringController_.queryBeforeStart){this.contentSteeringController_.requestSteeringManifest(!0);return}this.tech_.one(`canplay`,()=>{this.contentSteeringController_.requestSteeringManifest()})}}resetContentSteeringController_(){this.contentSteeringController_.clearAvailablePathways(),this.contentSteeringController_.dispose(),this.initContentSteeringController_()}attachContentSteeringListeners_(){this.contentSteeringController_.on(`content-steering`,this.excludeThenChangePathway_.bind(this)),[`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.contentSteeringController_.on(e,e=>{this.trigger(T.default({},e))})}),this.sourceType_===`dash`&&this.mainPlaylistLoader_.on(`loadedplaylist`,()=>{let e=this.main();(this.contentSteeringController_.didDASHTagChange(e.uri,e.contentSteering)||(()=>{let t=this.contentSteeringController_.getAvailablePathways(),n=[];for(let r of e.playlists){let e=r.attributes.serviceLocation;if(e&&(n.push(e),!t.has(e)))return!0}return!!(!n.length&&t.size)})())&&this.resetContentSteeringController_()})}excludeThenChangePathway_(){let e=this.contentSteeringController_.getPathway();if(!e)return;this.handlePathwayClones_();let t=this.main().playlists,n=new Set,r=!1;Object.keys(t).forEach(i=>{let a=t[i],o=this.pathwayAttribute_(a),s=o&&e!==o;a.excludeUntil===1/0&&a.lastExcludeReason_===`content-steering`&&!s&&(delete a.excludeUntil,delete a.lastExcludeReason_,r=!0);let c=!a.excludeUntil&&a.excludeUntil!==1/0;!n.has(a.id)&&s&&c&&(n.add(a.id),a.excludeUntil=1/0,a.lastExcludeReason_=`content-steering`,this.logger_(`excluding ${a.id} for ${a.lastExcludeReason_}`))}),this.contentSteeringController_.manifestType_===`DASH`&&Object.keys(this.mediaTypes_).forEach(t=>{let n=this.mediaTypes_[t];if(n.activePlaylistLoader){let t=n.activePlaylistLoader.media_;t&&t.attributes.serviceLocation!==e&&(r=!0)}}),r&&this.changeSegmentPathway_()}handlePathwayClones_(){let e=this.main().playlists,t=this.contentSteeringController_.currentPathwayClones,n=this.contentSteeringController_.nextPathwayClones;if(t&&t.size||n&&n.size){for(let[e,r]of t.entries())n.get(e)||(this.mainPlaylistLoader_.updateOrDeleteClone(r),this.contentSteeringController_.excludePathway(e));for(let[r,i]of n.entries()){let n=t.get(r);if(!n){e.filter(e=>e.attributes[`PATHWAY-ID`]===i[`BASE-ID`]).forEach(e=>{this.mainPlaylistLoader_.addClonePathway(i,e)}),this.contentSteeringController_.addAvailablePathway(r);continue}this.equalPathwayClones_(n,i)||(this.mainPlaylistLoader_.updateOrDeleteClone(i,!0),this.contentSteeringController_.addAvailablePathway(r))}this.contentSteeringController_.currentPathwayClones=new Map(JSON.parse(JSON.stringify([...n])))}}equalPathwayClones_(e,t){if(e[`BASE-ID`]!==t[`BASE-ID`]||e.ID!==t.ID||e[`URI-REPLACEMENT`].HOST!==t[`URI-REPLACEMENT`].HOST)return!1;let n=e[`URI-REPLACEMENT`].PARAMS,r=t[`URI-REPLACEMENT`].PARAMS;for(let e in n)if(n[e]!==r[e])return!1;for(let e in r)if(n[e]!==r[e])return!1;return!0}changeSegmentPathway_(){let e=this.selectPlaylist();this.pauseLoading(),this.contentSteeringController_.manifestType_===`DASH`&&this.switchMediaForDASHContentSteering_(),this.switchMedia_(e,`content-steering`)}excludeNonUsablePlaylistsByKeyId_(){if(!this.mainPlaylistLoader_||!this.mainPlaylistLoader_.main)return;let e=0,t=`non-usable`;this.mainPlaylistLoader_.main.playlists.forEach(n=>{let r=this.mainPlaylistLoader_.getKeyIdSet(n);!r||!r.size||r.forEach(r=>{let i=`usable`,a=this.keyStatusMap_.has(r)&&this.keyStatusMap_.get(r)===i,o=n.lastExcludeReason_===t&&n.excludeUntil===1/0;a?a&&o&&(delete n.excludeUntil,delete n.lastExcludeReason_,this.logger_(`enabling playlist ${n.id} because key ID ${r} is ${i}`)):(n.excludeUntil!==1/0&&n.lastExcludeReason_!==t&&(n.excludeUntil=1/0,n.lastExcludeReason_=t,this.logger_(`excluding playlist ${n.id} because the key ID ${r} doesn't exist in the keyStatusMap or is not ${i}`)),e++)})}),e>=this.mainPlaylistLoader_.main.playlists.length&&this.mainPlaylistLoader_.main.playlists.forEach(e=>{let n=e&&e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height<720,r=e.excludeUntil===1/0&&e.lastExcludeReason_===t;n&&r&&(delete e.excludeUntil,Q.log.warn(`enabling non-HD playlist ${e.id} because all playlists were excluded due to ${t} key IDs`))})}addKeyStatus_(e,t){let n=(typeof e==`string`?e:Hl(e)).slice(0,32).toLowerCase();this.logger_(`KeyStatus '${t}' with key ID ${n} added to the keyStatusMap`),this.keyStatusMap_.set(n,t)}updatePlaylistByKeyStatus(e,t){this.addKeyStatus_(e,t),this.waitingForFastQualityPlaylistReceived_||this.excludeNonUsableThenChangePlaylist_(),this.mainPlaylistLoader_.off(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this)),this.mainPlaylistLoader_.on(`loadedplaylist`,this.excludeNonUsableThenChangePlaylist_.bind(this))}excludeNonUsableThenChangePlaylist_(){this.excludeNonUsablePlaylistsByKeyId_(),this.fastQualityChange_()}};let Tu=(e,t,n)=>r=>{let i=e.main.playlists[t],a=jo(i),o=Mo(i);if(r===void 0)return o;r?delete i.disabled:i.disabled=!0;let s={renditionInfo:{id:t,bandwidth:i.attributes.BANDWIDTH,resolution:i.attributes.RESOLUTION,codecs:i.attributes.CODECS},cause:`fast-quality`};return r!==o&&!a&&(r?(n(i),e.trigger({type:`renditionenabled`,metadata:s})):e.trigger({type:`renditiondisabled`,metadata:s})),r};var Eu=class{constructor(e,t,n){let{playlistController_:r}=e,i=r.fastQualityChange_.bind(r);if(t.attributes){let e=t.attributes.RESOLUTION;this.width=e&&e.width,this.height=e&&e.height,this.bandwidth=t.attributes.BANDWIDTH,this.frameRate=t.attributes[`FRAME-RATE`]}this.codecs=os(r.main(),t),this.playlist=t,this.id=n,this.enabled=Tu(e.playlists,t.id,i)}};let Du=function(e){e.representations=()=>{let t=e.playlistController_.main(),n=Bo(t)?e.playlistController_.getAudioTrackPlaylists_():t.playlists;return n?n.filter(e=>!jo(e)).map((t,n)=>new Eu(e,t,t.id)):[]}},Ou=[`seeking`,`seeked`,`pause`,`playing`,`error`];var ku=class extends Q.EventTarget{constructor(e){super(),this.playlistController_=e.playlistController,this.tech_=e.tech,this.seekable=e.seekable,this.allowSeeksWithinUnsafeLiveWindow=e.allowSeeksWithinUnsafeLiveWindow,this.liveRangeSafeTimeDelta=e.liveRangeSafeTimeDelta,this.media=e.media,this.playedRanges_=[],this.consecutiveUpdates=0,this.lastRecordedTime=null,this.checkCurrentTimeTimeout_=null,this.logger_=eo(`PlaybackWatcher`),this.logger_(`initialize`);let t=()=>this.monitorCurrentTime_(),n=()=>this.monitorCurrentTime_(),r=()=>this.techWaiting_(),i=()=>this.resetTimeUpdate_(),a=this.playlistController_,o=[`main`,`subtitle`,`audio`],s={};o.forEach(e=>{s[e]={reset:()=>this.resetSegmentDownloads_(e),updateend:()=>this.checkSegmentDownloads_(e)},a[`${e}SegmentLoader_`].on(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].on(`playlistupdate`,s[e].reset),this.tech_.on([`seeked`,`seeking`],s[e].reset)});let c=e=>{[`main`,`audio`].forEach(t=>{a[`${t}SegmentLoader_`][e](`appended`,this.seekingAppendCheck_)})};this.seekingAppendCheck_=()=>{this.fixesBadSeeks_()&&(this.consecutiveUpdates=0,this.lastRecordedTime=this.tech_.currentTime(),c(`off`))},this.clearSeekingAppendCheck_=()=>c(`off`),this.watchForBadSeeking_=()=>{this.clearSeekingAppendCheck_(),c(`on`)},this.tech_.on(`seeked`,this.clearSeekingAppendCheck_),this.tech_.on(`seeking`,this.watchForBadSeeking_),this.tech_.on(`waiting`,r),this.tech_.on(Ou,i),this.tech_.on(`canplay`,n),this.tech_.one(`play`,t),this.dispose=()=>{this.clearSeekingAppendCheck_(),this.logger_(`dispose`),this.tech_.off(`waiting`,r),this.tech_.off(Ou,i),this.tech_.off(`canplay`,n),this.tech_.off(`play`,t),this.tech_.off(`seeking`,this.watchForBadSeeking_),this.tech_.off(`seeked`,this.clearSeekingAppendCheck_),o.forEach(e=>{a[`${e}SegmentLoader_`].off(`appendsdone`,s[e].updateend),a[`${e}SegmentLoader_`].off(`playlistupdate`,s[e].reset),this.tech_.off([`seeked`,`seeking`],s[e].reset)}),this.checkCurrentTimeTimeout_&&y.default.clearTimeout(this.checkCurrentTimeTimeout_),this.resetTimeUpdate_()}}monitorCurrentTime_(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&y.default.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=y.default.setTimeout(this.monitorCurrentTime_.bind(this),250)}resetSegmentDownloads_(e){let t=this.playlistController_[`${e}SegmentLoader_`];this[`${e}StalledDownloads_`]>0&&this.logger_(`resetting possible stalled download count for ${e} loader`),this[`${e}StalledDownloads_`]=0,this[`${e}Buffered_`]=t.buffered_()}checkSegmentDownloads_(e){let t=this.playlistController_,n=t[`${e}SegmentLoader_`],r=n.buffered_(),i=mo(this[`${e}Buffered_`],r);if(this[`${e}Buffered_`]=r,i){let n={bufferedRanges:r};t.trigger({type:`bufferedrangeschanged`,metadata:n}),this.resetSegmentDownloads_(e);return}this[`${e}StalledDownloads_`]++,this.logger_(`found #${this[`${e}StalledDownloads_`]} ${e} appends that did not increase buffer (possible stalled download)`,{playlistId:n.playlist_&&n.playlist_.id,buffered:po(r)}),!(this[`${e}StalledDownloads_`]<10)&&(this.logger_(`${e} loader stalled download exclusion`),this.resetSegmentDownloads_(e),this.tech_.trigger({type:`usage`,name:`vhs-${e}-download-exclusion`}),e!==`subtitle`&&t.excludePlaylist({error:{message:`Excessive ${e} segment downloading detected.`},playlistExclusionDuration:1/0}))}checkCurrentTime_(){if(this.tech_.paused()||this.tech_.seeking())return;let e=this.tech_.currentTime(),t=this.tech_.buffered();if(this.lastRecordedTime===e&&(!t.length||e+io>=t.end(t.length-1)))return this.techWaiting_();if(this.consecutiveUpdates>=5&&e===this.lastRecordedTime)this.consecutiveUpdates++,this.waiting_();else if(e===this.lastRecordedTime)this.consecutiveUpdates++;else{this.playedRanges_.push(to([this.lastRecordedTime,e]));let t={playedRanges:this.playedRanges_};this.playlistController_.trigger({type:`playedrangeschanged`,metadata:t}),this.consecutiveUpdates=0,this.lastRecordedTime=e}}resetTimeUpdate_(){this.consecutiveUpdates=0}fixesBadSeeks_(){if(!this.tech_.seeking())return!1;let e=this.seekable(),t=this.tech_.currentTime(),n=this.afterSeekableWindow_(e,t,this.media(),this.allowSeeksWithinUnsafeLiveWindow),r;if(n&&(r=e.end(e.length-1)),this.beforeSeekableWindow_(e,t)){let t=e.start(0);r=t+(t===e.end(0)?0:io)}if(r!==void 0)return this.logger_(`Trying to seek outside of seekable at time ${t} with seekable range ${uo(e)}. Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0;let i=this.playlistController_.sourceUpdater_,a=this.tech_.buffered(),o=i.audioBuffer?i.audioBuffered():null,s=i.videoBuffer?i.videoBuffered():null,c=this.media(),l=c.partTargetDuration?c.partTargetDuration:(c.targetDuration-ro)*2,u=[o,s];for(let e=0;e<u.length;e++)if(u[e]&&go(u[e],t)<l)return!1;let d=so(a,t);return d.length===0?!1:(r=d.start(0)+io,this.logger_(`Buffered region starts (${d.start(0)}) just beyond seek point (${t}). Seeking to ${r}.`),this.tech_.setCurrentTime(r),!0)}waiting_(){if(this.techWaiting_())return;let e=this.tech_.currentTime(),t=oo(this.tech_.buffered(),e);if(t.length&&e+3<=t.end(0)){this.resetTimeUpdate_(),this.tech_.setCurrentTime(e),this.logger_(`Stopped at ${e} while inside a buffered region [${t.start(0)} -> ${t.end(0)}]. Attempting to resume playback by seeking to the current time.`),this.tech_.trigger({type:`usage`,name:`vhs-unknown-waiting`});return}}techWaiting_(){let e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking())return!0;if(this.beforeSeekableWindow_(e,t)){let n=e.end(e.length-1);return this.logger_(`Fell out of live window at time ${t}. Seeking to live point (seekable end) ${n}`),this.resetTimeUpdate_(),this.tech_.setCurrentTime(n),this.tech_.trigger({type:`usage`,name:`vhs-live-resync`}),!0}let n=this.tech_.vhs.playlistController_.sourceUpdater_,r=this.tech_.buffered();if(this.videoUnderflow_({audioBuffered:n.audioBuffered(),videoBuffered:n.videoBuffered(),currentTime:t}))return this.resetTimeUpdate_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:`usage`,name:`vhs-video-underflow`}),!0;let i=so(r,t);return i.length>0?(this.logger_(`Stopped at ${t} and seeking to ${i.start(0)}`),this.resetTimeUpdate_(),this.skipTheGap_(t),!0):!1}afterSeekableWindow_(e,t,n,r=!1){if(!e.length)return!1;let i=e.end(e.length-1)+io,a=!n.endList,o=typeof n.partTargetDuration==`number`;return a&&(o||r)&&(i=e.end(e.length-1)+n.targetDuration*3),t>i}beforeSeekableWindow_(e,t){return!!(e.length&&e.start(0)>0&&t<e.start(0)-this.liveRangeSafeTimeDelta)}videoUnderflow_({videoBuffered:e,audioBuffered:t,currentTime:n}){if(!e)return;let r;if(e.length&&t.length){let i=oo(e,n-3),a=oo(e,n),o=oo(t,n);o.length&&!a.length&&i.length&&(r={start:i.end(0),end:o.end(0)})}else so(e,n).length||(r=this.gapFromVideoUnderflow_(e,n));return r?(this.logger_(`Encountered a gap in video from ${r.start} to ${r.end}. Seeking to current time ${n}`),!0):!1}skipTheGap_(e){let t=this.tech_.buffered(),n=this.tech_.currentTime(),r=so(t,n);if(this.resetTimeUpdate_(),r.length===0||n!==e)return;this.logger_(`skipTheGap_:`,`currentTime:`,n,`scheduled currentTime:`,e,`nextRange start:`,r.start(0)),this.tech_.setCurrentTime(r.start(0)+ro);let i={gapInfo:{from:n,to:r.start(0)}};this.playlistController_.trigger({type:`gapjumped`,metadata:i}),this.tech_.trigger({type:`usage`,name:`vhs-gap-skip`})}gapFromVideoUnderflow_(e,t){let n=co(e);for(let e=0;e<n.length;e++){let r=n.start(e),i=n.end(e);if(t-r<4&&t-r>2)return{start:r,end:i}}return null}};let Au={errorInterval:30,getSource(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_||this.currentSource())}},ju=function(e,t){let n=0,r=0,i=$(Au,t);e.ready(()=>{e.trigger({type:`usage`,name:`vhs-error-reload-initialized`})});let a=function(){r&&e.currentTime(r)},o=function(t){t!=null&&(r=e.duration()!==1/0&&e.currentTime()||0,e.one(`loadedmetadata`,a),e.src(t),e.trigger({type:`usage`,name:`vhs-error-reload`}),e.play())},s=function(){if(Date.now()-n<i.errorInterval*1e3){e.trigger({type:`usage`,name:`vhs-error-reload-canceled`});return}if(!i.getSource||typeof i.getSource!=`function`){Q.log.error(`ERROR: reloadSourceOnError - The option getSource must be a function!`);return}return n=Date.now(),i.getSource.call(e,o)},c=function(){e.off(`loadedmetadata`,a),e.off(`error`,s),e.off(`dispose`,c)};e.on(`error`,s),e.on(`dispose`,c),e.reloadSourceOnError=function(t){c(),ju(e,t)}},Mu=function(e){ju(this,e)};var Nu=`3.17.3`,Pu=`7.1.0`,Fu=`1.3.1`,Iu=`7.2.0`,Lu=`4.0.2`;let Ru={PlaylistLoader:_s,Playlist:Vo,utils:js,STANDARD_PLAYLIST_SELECTOR:Kc,INITIAL_PLAYLIST_SELECTOR:Yc,lastBandwidthSelector:Kc,movingAverageBandwidthSelector:qc,comparePlaylistBandwidth:Uc,comparePlaylistResolution:Wc,xhr:xs()};Object.keys($s).forEach(e=>{Object.defineProperty(Ru,e,{get(){return Q.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),$s[e]},set(t){if(Q.log.warn(`using Vhs.${e} is UNSAFE be sure you know what you are doing`),typeof t!=`number`||t<0){Q.log.warn(`value of Vhs.${e} must be greater than or equal to 0`);return}$s[e]=t}})});let zu=`videojs-vhs`,Bu=function(e,t){let n=t.media(),r=-1;for(let t=0;t<e.length;t++)if(e[t].id===n.id){r=t;break}e.selectedIndex_=r,e.trigger({selectedIndex:r,type:`change`})},Vu=function(e,t){t.representations().forEach(t=>{e.addQualityLevel(t)}),Bu(e,t.playlists)};Ru.canPlaySource=function(){return Q.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)};let Hu=(e,t,n)=>{if(!e)return e;let r={};t&&t.attributes&&t.attributes.CODECS&&(r=is(u.parseCodecs(t.attributes.CODECS))),n&&n.attributes&&n.attributes.CODECS&&(r.audio=n.attributes.CODECS);let i=u.getMimeForCodec(r.video),a=u.getMimeForCodec(r.audio),o={};for(let n in e)o[n]={},a&&(o[n].audioContentType=a),i&&(o[n].videoContentType=i),t.contentProtection&&t.contentProtection[n]&&t.contentProtection[n].pssh&&(o[n].pssh=t.contentProtection[n].pssh),typeof e[n]==`string`&&(o[n].url=e[n]);return $(e,o)},Uu=(e,t)=>e.reduce((e,n)=>{if(!n.contentProtection)return e;let r=t.reduce((e,t)=>{let r=n.contentProtection[t];return r&&r.pssh&&(e[t]={pssh:r.pssh}),e},{});return Object.keys(r).length&&e.push(r),e},[]),Wu=({player:e,sourceKeySystems:t,audioMedia:n,mainPlaylists:r})=>{if(!e.eme.initializeMediaKeys)return Promise.resolve();let i=Uu(n?r.concat([n]):r,Object.keys(t)),a=[],o=[];return i.forEach(t=>{o.push(new Promise((t,n)=>{e.tech_.one(`keysessioncreated`,t)})),a.push(new Promise((n,r)=>{e.eme.initializeMediaKeys({keySystems:t},e=>{if(e){r(e);return}n()})}))}),Promise.race([Promise.all(a),Promise.race(o)])},Gu=({player:e,sourceKeySystems:t,media:n,audioMedia:r})=>{let i=Hu(t,n,r);return i?(e.currentSource().keySystems=i,i&&!e.eme?(Q.log.warn(`DRM encrypted source cannot be decrypted without a DRM plugin`),!1):!0):!1},Ku=()=>{if(!y.default.localStorage)return null;let e=y.default.localStorage.getItem(zu);if(!e)return null;try{return JSON.parse(e)}catch{return null}},qu=e=>{if(!y.default.localStorage)return!1;let t=Ku();t=t?$(t,e):e;try{y.default.localStorage.setItem(zu,JSON.stringify(t))}catch{return!1}return t},Ju=e=>e.toLowerCase().indexOf(`data:application/vnd.videojs.vhs+json,`)===0?JSON.parse(e.substring(e.indexOf(`,`)+1)):e,Yu=(e,t)=>{e._requestCallbackSet||=new Set,e._requestCallbackSet.add(t)},Xu=(e,t)=>{e._responseCallbackSet||=new Set,e._responseCallbackSet.add(t)},Zu=(e,t)=>{e._requestCallbackSet&&(e._requestCallbackSet.delete(t),e._requestCallbackSet.size||delete e._requestCallbackSet)},Qu=(e,t)=>{e._responseCallbackSet&&(e._responseCallbackSet.delete(t),e._responseCallbackSet.size||delete e._responseCallbackSet)};Ru.supportsNativeHls=function(){if(!b.default||!b.default.createElement)return!1;let e=b.default.createElement(`video`);return Q.getTech(`Html5`).isSupported()?[`application/vnd.apple.mpegurl`,`audio/mpegurl`,`audio/x-mpegurl`,`application/x-mpegurl`,`video/x-mpegurl`,`video/mpegurl`,`application/mpegurl`].some(function(t){return/maybe|probably/i.test(e.canPlayType(t))}):!1}(),Ru.supportsNativeDash=function(){return!b.default||!b.default.createElement||!Q.getTech(`Html5`).isSupported()?!1:/maybe|probably/i.test(b.default.createElement(`video`).canPlayType(`application/dash+xml`))}(),Ru.supportsTypeNatively=e=>e===`hls`?Ru.supportsNativeHls:e===`dash`?Ru.supportsNativeDash:!1,Ru.isSupported=function(){return Q.log.warn(`VHS is no longer a tech. Please remove it from your player's techOrder.`)},Ru.xhr.onRequest=function(e){Yu(Ru.xhr,e)},Ru.xhr.onResponse=function(e){Xu(Ru.xhr,e)},Ru.xhr.offRequest=function(e){Zu(Ru.xhr,e)},Ru.xhr.offResponse=function(e){Qu(Ru.xhr,e)};let $u=Q.getComponent(`Component`);var ed=class extends $u{constructor(e,t,n){if(super(t,n.vhs),typeof n.initialBandwidth==`number`&&(this.options_.bandwidth=n.initialBandwidth),this.logger_=eo(`VhsHandler`),t.options_&&t.options_.playerId){let e=Q.getPlayer(t.options_.playerId);this.player_=e}if(this.tech_=t,this.source_=e,this.stats={},this.ignoreNextSeekingEvent_=!1,this.setOptions_(),this.options_.overrideNative&&t.overrideNativeAudioTracks&&t.overrideNativeVideoTracks)t.overrideNativeAudioTracks(!0),t.overrideNativeVideoTracks(!0);else if(this.options_.overrideNative&&(t.featuresNativeVideoTracks||t.featuresNativeAudioTracks))throw Error(`Overriding native VHS requires emulated tracks. See https://git.io/vMpjB`);this.on(b.default,[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`],e=>{let t=b.default.fullscreenElement||b.default.webkitFullscreenElement||b.default.mozFullScreenElement||b.default.msFullscreenElement;t&&t.contains(this.tech_.el())?this.playlistController_.fastQualityChange_():this.playlistController_.checkABR_()}),this.on(this.tech_,`seeking`,function(){if(this.ignoreNextSeekingEvent_){this.ignoreNextSeekingEvent_=!1;return}this.setCurrentTime(this.tech_.currentTime())}),this.on(this.tech_,`error`,function(){this.tech_.error()&&this.playlistController_&&this.playlistController_.pauseLoading()}),this.on(this.tech_,`play`,this.play)}setOptions_(e={}){if(this.options_=$(this.options_,e),this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions!==!1,this.options_.useDevicePixelRatio=this.options_.useDevicePixelRatio||!1,this.options_.usePlayerObjectFit=this.options_.usePlayerObjectFit||!1,this.options_.useBandwidthFromLocalStorage=this.source_.useBandwidthFromLocalStorage===void 0?this.options_.useBandwidthFromLocalStorage||!1:this.source_.useBandwidthFromLocalStorage,this.options_.useForcedSubtitles=this.options_.useForcedSubtitles||!1,this.options_.useNetworkInformationApi=this.options_.useNetworkInformationApi===void 0?!0:this.options_.useNetworkInformationApi,this.options_.useDtsForTimestampOffset=this.options_.useDtsForTimestampOffset||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,this.options_.llhls=this.options_.llhls!==!1,this.options_.bufferBasedABR=this.options_.bufferBasedABR||!1,typeof this.options_.playlistExclusionDuration!=`number`&&(this.options_.playlistExclusionDuration=60),typeof this.options_.bandwidth!=`number`&&this.options_.useBandwidthFromLocalStorage){let e=Ku();e&&e.bandwidth&&(this.options_.bandwidth=e.bandwidth,this.tech_.trigger({type:`usage`,name:`vhs-bandwidth-from-local-storage`})),e&&e.throughput&&(this.options_.throughput=e.throughput,this.tech_.trigger({type:`usage`,name:`vhs-throughput-from-local-storage`}))}typeof this.options_.bandwidth!=`number`&&(this.options_.bandwidth=$s.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===$s.INITIAL_BANDWIDTH,[`withCredentials`,`useDevicePixelRatio`,`usePlayerObjectFit`,`customPixelRatio`,`limitRenditionByPlayerDimensions`,`bandwidth`,`customTagParsers`,`customTagMappers`,`cacheEncryptionKeys`,`playlistSelector`,`initialPlaylistSelector`,`bufferBasedABR`,`liveRangeSafeTimeDelta`,`llhls`,`useForcedSubtitles`,`useNetworkInformationApi`,`useDtsForTimestampOffset`,`exactManifestTimings`,`leastPixelDiffSelector`].forEach(e=>{this.source_[e]!==void 0&&(this.options_[e]=this.source_[e])}),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions,this.useDevicePixelRatio=this.options_.useDevicePixelRatio,this.usePlayerObjectFit=this.options_.usePlayerObjectFit;let t=this.options_.customPixelRatio;typeof t==`number`&&t>=0&&(this.customPixelRatio=t)}setOptions(e={}){this.setOptions_(e)}src(e,t){if(!e)return;this.setOptions_(),this.options_.src=Ju(this.source_.src),this.options_.tech=this.tech_,this.options_.externVhs=Ru,this.options_.sourceType=d.simpleTypeFromSourceType(t),this.options_.seekTo=e=>{this.tech_.setCurrentTime(e)},this.options_.player_=this.player_,this.playlistController_=new wu(this.options_);let n=$({liveRangeSafeTimeDelta:io},this.options_,{seekable:()=>this.seekable(),media:()=>this.playlistController_.media(),playlistController:this.playlistController_});this.playbackWatcher_=new ku(n),this.attachStreamingEventListeners_(),this.playlistController_.on(`error`,()=>{let e=Q.players[this.tech_.options_.playerId],t=this.playlistController_.error;typeof t==`object`&&!t.code?t.code=3:typeof t==`string`&&(t={message:t,code:3}),e.error(t)});let r=this.options_.bufferBasedABR?Ru.movingAverageBandwidthSelector(.55):Ru.STANDARD_PLAYLIST_SELECTOR;this.playlistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):r.bind(this),this.playlistController_.selectInitialPlaylist=Ru.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.playlistController_.mainPlaylistLoader_,this.mediaSource=this.playlistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get(){return this.playlistController_.selectPlaylist},set(e){this.playlistController_.selectPlaylist=e.bind(this)}},throughput:{get(){return this.playlistController_.mainSegmentLoader_.throughput.rate},set(e){this.playlistController_.mainSegmentLoader_.throughput.rate=e,this.playlistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get(){let e=this.playlistController_.mainSegmentLoader_.bandwidth,t=y.default.navigator.connection||y.default.navigator.mozConnection||y.default.navigator.webkitConnection,n=1e7;if(this.options_.useNetworkInformationApi&&t){let r=t.downlink*1e3*1e3;e=r>=n&&e>=n?Math.max(e,r):r}return e},set(e){this.playlistController_.mainSegmentLoader_.bandwidth=e,this.playlistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get(){let e=1/(this.bandwidth||1),t;return t=this.throughput>0?1/this.throughput:0,Math.floor(1/(e+t))},set(){Q.log.error(`The "systemBandwidth" property is read-only`)}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:()=>this.bandwidth||0,enumerable:!0},mediaRequests:{get:()=>this.playlistController_.mediaRequests_()||0,enumerable:!0},mediaRequestsAborted:{get:()=>this.playlistController_.mediaRequestsAborted_()||0,enumerable:!0},mediaRequestsTimedout:{get:()=>this.playlistController_.mediaRequestsTimedout_()||0,enumerable:!0},mediaRequestsErrored:{get:()=>this.playlistController_.mediaRequestsErrored_()||0,enumerable:!0},mediaTransferDuration:{get:()=>this.playlistController_.mediaTransferDuration_()||0,enumerable:!0},mediaBytesTransferred:{get:()=>this.playlistController_.mediaBytesTransferred_()||0,enumerable:!0},mediaSecondsLoaded:{get:()=>this.playlistController_.mediaSecondsLoaded_()||0,enumerable:!0},mediaAppends:{get:()=>this.playlistController_.mediaAppends_()||0,enumerable:!0},mainAppendsToLoadedData:{get:()=>this.playlistController_.mainAppendsToLoadedData_()||0,enumerable:!0},audioAppendsToLoadedData:{get:()=>this.playlistController_.audioAppendsToLoadedData_()||0,enumerable:!0},appendsToLoadedData:{get:()=>this.playlistController_.appendsToLoadedData_()||0,enumerable:!0},timeToLoadedData:{get:()=>this.playlistController_.timeToLoadedData_()||0,enumerable:!0},buffered:{get:()=>po(this.tech_.buffered()),enumerable:!0},currentTime:{get:()=>this.tech_.currentTime(),enumerable:!0},currentSource:{get:()=>this.tech_.currentSource_,enumerable:!0},currentTech:{get:()=>this.tech_.name_,enumerable:!0},duration:{get:()=>this.tech_.duration(),enumerable:!0},main:{get:()=>this.playlists.main,enumerable:!0},playerDimensions:{get:()=>this.tech_.currentDimensions(),enumerable:!0},seekable:{get:()=>po(this.tech_.seekable()),enumerable:!0},timestamp:{get:()=>Date.now(),enumerable:!0},videoPlaybackQuality:{get:()=>this.tech_.getVideoPlaybackQuality(),enumerable:!0}}),this.tech_.one(`canplay`,this.playlistController_.setupFirstPlay.bind(this.playlistController_)),this.tech_.on(`bandwidthupdate`,()=>{this.options_.useBandwidthFromLocalStorage&&qu({bandwidth:this.bandwidth,throughput:Math.round(this.throughput)})}),this.playlistController_.on(`selectedinitialmedia`,()=>{Du(this)}),this.playlistController_.sourceUpdater_.on(`createdsourcebuffers`,()=>{this.setupEme_()}),this.on(this.playlistController_,`progress`,function(){this.tech_.trigger(`progress`)}),this.on(this.playlistController_,`firstplay`,function(){this.ignoreNextSeekingEvent_=!0}),this.setupQualityLevels_(),this.tech_.el()&&(this.mediaSourceUrl_=y.default.URL.createObjectURL(this.playlistController_.mediaSource),(Q.browser.IS_ANY_SAFARI||Q.browser.IS_IOS)&&this.options_.overrideNative&&this.options_.sourceType===`hls`&&typeof this.tech_.addSourceElement==`function`?(this.tech_.addSourceElement(this.mediaSourceUrl_),this.tech_.addSourceElement(this.source_.src)):this.tech_.src(this.mediaSourceUrl_))}createKeySessions_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader;this.logger_(`waiting for EME key session creation`),Wu({player:this.player_,sourceKeySystems:this.source_.keySystems,audioMedia:e&&e.media(),mainPlaylists:this.playlists.main.playlists}).then(()=>{this.logger_(`created EME key session`),this.playlistController_.sourceUpdater_.initializedEme()}).catch(e=>{this.logger_(`error while creating EME key session`,e),this.player_.error({message:`Failed to initialize media keys for EME`,code:3})})}handleWaitingForKey_(){this.logger_(`waitingforkey fired, attempting to create any new key sessions`),this.createKeySessions_()}setupEme_(){let e=this.playlistController_.mediaTypes_.AUDIO.activePlaylistLoader,t=Gu({player:this.player_,sourceKeySystems:this.source_.keySystems,media:this.playlists.media(),audioMedia:e&&e.media()});if(this.player_.tech_.on(`keystatuschange`,e=>{this.playlistController_.updatePlaylistByKeyStatus(e.keyId,e.status)}),this.handleWaitingForKey_=this.handleWaitingForKey_.bind(this),this.player_.tech_.on(`waitingforkey`,this.handleWaitingForKey_),!t){this.playlistController_.sourceUpdater_.initializedEme();return}this.createKeySessions_()}setupQualityLevels_(){let e=Q.players[this.tech_.options_.playerId];!e||!e.qualityLevels||this.qualityLevels_||(this.qualityLevels_=e.qualityLevels(),this.playlistController_.on(`selectedinitialmedia`,()=>{Vu(this.qualityLevels_,this)}),this.playlists.on(`mediachange`,()=>{Bu(this.qualityLevels_,this.playlists)}))}static version(){return{"@videojs/http-streaming":Nu,"mux.js":Pu,"mpd-parser":Fu,"m3u8-parser":Iu,"aes-decrypter":Lu}}version(){return this.constructor.version()}canChangeType(){return Bl.canChangeType()}play(){this.playlistController_.play()}setCurrentTime(e){this.playlistController_.setCurrentTime(e)}duration(){return this.playlistController_.duration()}seekable(){return this.playlistController_.seekable()}dispose(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.playlistController_&&this.playlistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.tech_&&this.tech_.vhs&&delete this.tech_.vhs,this.mediaSourceUrl_&&y.default.URL.revokeObjectURL&&(y.default.URL.revokeObjectURL(this.mediaSourceUrl_),this.mediaSourceUrl_=null),this.tech_&&this.tech_.off(`waitingforkey`,this.handleWaitingForKey_),super.dispose()}convertToProgramTime(e,t){return zs({playlist:this.playlistController_.media(),time:e,callback:t})}seekToProgramTime(e,t,n=!0,r=2){return Bs({programTime:e,playlist:this.playlistController_.media(),retryCount:r,pauseAfterSeek:n,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})}setupXhrHooks_(){this.xhr.onRequest=e=>{Yu(this.xhr,e)},this.xhr.onResponse=e=>{Xu(this.xhr,e)},this.xhr.offRequest=e=>{Zu(this.xhr,e)},this.xhr.offResponse=e=>{Qu(this.xhr,e)},this.player_.trigger(`xhr-hooks-ready`)}attachStreamingEventListeners_(){[`seekablerangeschanged`,`bufferedrangeschanged`,`contentsteeringloadstart`,`contentsteeringloadcomplete`,`contentsteeringparsed`].forEach(e=>{this.playlistController_.on(e,e=>{this.player_.trigger(T.default({},e))})}),[`gapjumped`,`playedrangeschanged`].forEach(e=>{this.playbackWatcher_.on(e,e=>{this.player_.trigger(T.default({},e))})})}};let td={name:`videojs-http-streaming`,VERSION:Nu,canHandleSource(e,t={}){let n=$(Q.options,t);return!n.vhs.experimentalUseMMS&&!u.browserSupportsCodec(`avc1.4d400d,mp4a.40.2`,!1)?!1:td.canPlayType(e.type,n)},handleSource(e,t,n={}){return t.vhs=new ed(e,t,$(Q.options,n)),t.vhs.xhr=xs(),t.vhs.setupXhrHooks_(),t.vhs.src(e.src,e.type),t.vhs},canPlayType(e,t){let n=d.simpleTypeFromSourceType(e);if(!n)return``;let r=td.getOverrideNative(t);return!Ru.supportsTypeNatively(n)||r?`maybe`:``},getOverrideNative(e={}){let{vhs:t={}}=e,n=!(Q.browser.IS_ANY_SAFARI||Q.browser.IS_IOS),{overrideNative:r=n}=t;return r}};u.browserSupportsCodec(`avc1.4d400d,mp4a.40.2`,!0)&&Q.getTech(`Html5`).registerSourceHandler(td,0),Q.VhsHandler=ed,Q.VhsSourceHandler=td,Q.Vhs=Ru,Q.use||Q.registerComponent(`Vhs`,Ru),Q.options.vhs=Q.options.vhs||{},(!Q.getPlugin||!Q.getPlugin(`reloadSourceOnError`))&&Q.registerPlugin(`reloadSourceOnError`,Mu),t.exports=Q}));export{c as a,o as i,S as n,l as r,Ce as t};
|