"undefined"!=typeof window&&function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Hls=t():n.Hls=t()}(this,function(){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var i={};return t.m=n,t.c=i,t.d=function(n,i,r){t.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:r})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"});Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,i){var r,u;if((1&i&&(n=t(n)),8&i)||4&i&&"object"==typeof n&&n&&n.__esModule)return n;if(r=Object.create(null),t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&i&&"string"!=typeof n)for(u in n)t.d(r,u,function(t){return n[t]}.bind(null,u));return r},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="/dist/",t(t.s=13)}([function(n,t,i){"use strict";function r(){}function c(n,t){return"["+n+"] > "+t}function l(n){var t=e.console[n];return t?function(){for(var u=arguments.length,i=new Array(u),r=0;r<u;r++)i[r]=arguments[r];i[0]&&(i[0]=c(n,i[0]));t.apply(e.console,i)}:r}var o,f,u,e,s,h;i.d(t,"a",function(){return s});i.d(t,"b",function(){return h});o=i(5);f={trace:r,debug:r,log:r,warn:r,info:r,error:r};u=f;e=Object(o.a)();s=function(n){if(e.console&&!0===n||"object"==typeof n){!function(n){for(var i=arguments.length,r=new Array(i>1?i-1:0),t=1;t<i;t++)r[t-1]=arguments[t];r.forEach(function(t){u[t]=n[t]?n[t].bind(n):l(t)})}(n,"debug","log","info","warn","error");try{u.log()}catch(n){u=f}}else u=f};h=u},function(n,t){"use strict";t.a={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_CREATED:"hlsBufferCreated",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_SWITCHING:"hlsLevelSwitching",LEVEL_SWITCHED:"hlsLevelSwitched",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",AUDIO_TRACKS_UPDATED:"hlsAudioTracksUpdated",AUDIO_TRACK_SWITCHING:"hlsAudioTrackSwitching",AUDIO_TRACK_SWITCHED:"hlsAudioTrackSwitched",AUDIO_TRACK_LOADING:"hlsAudioTrackLoading",AUDIO_TRACK_LOADED:"hlsAudioTrackLoaded",SUBTITLE_TRACKS_UPDATED:"hlsSubtitleTracksUpdated",SUBTITLE_TRACK_SWITCH:"hlsSubtitleTrackSwitch",SUBTITLE_TRACK_LOADING:"hlsSubtitleTrackLoading",SUBTITLE_TRACK_LOADED:"hlsSubtitleTrackLoaded",SUBTITLE_FRAG_PROCESSED:"hlsSubtitleFragProcessed",INIT_PTS_FOUND:"hlsInitPtsFound",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_DECRYPTED:"hlsFragDecrypted",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",FPS_DROP_LEVEL_CAPPING:"hlsFpsDropLevelCapping",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded",STREAM_STATE_TRANSITION:"hlsStreamStateTransition",LIVE_BACK_BUFFER_REACHED:"hlsLiveBackBufferReached"}},function(n,t,i){"use strict";var r,u;i.d(t,"b",function(){return r});i.d(t,"a",function(){return u}),function(n){n.NETWORK_ERROR="networkError";n.MEDIA_ERROR="mediaError";n.KEY_SYSTEM_ERROR="keySystemError";n.MUX_ERROR="muxError";n.OTHER_ERROR="otherError"}(r||(r={})),function(n){n.KEY_SYSTEM_NO_KEYS="keySystemNoKeys";n.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess";n.KEY_SYSTEM_NO_SESSION="keySystemNoSession";n.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed";n.KEY_SYSTEM_NO_INIT_DATA="keySystemNoInitData";n.MANIFEST_LOAD_ERROR="manifestLoadError";n.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut";n.MANIFEST_PARSING_ERROR="manifestParsingError";n.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError";n.LEVEL_LOAD_ERROR="levelLoadError";n.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut";n.LEVEL_SWITCH_ERROR="levelSwitchError";n.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError";n.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut";n.FRAG_LOAD_ERROR="fragLoadError";n.FRAG_LOAD_TIMEOUT="fragLoadTimeOut";n.FRAG_DECRYPT_ERROR="fragDecryptError";n.FRAG_PARSING_ERROR="fragParsingError";n.REMUX_ALLOC_ERROR="remuxAllocError";n.KEY_LOAD_ERROR="keyLoadError";n.KEY_LOAD_TIMEOUT="keyLoadTimeOut";n.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError";n.BUFFER_APPEND_ERROR="bufferAppendError";n.BUFFER_APPENDING_ERROR="bufferAppendingError";n.BUFFER_STALLED_ERROR="bufferStalledError";n.BUFFER_FULL_ERROR="bufferFullError";n.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole";n.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall";n.INTERNAL_EXCEPTION="internalException"}(u||(u={}))},function(n,t,i){"use strict";i.d(t,"a",function(){return r});var r=Number.isFinite||function(n){return"number"==typeof n&&isFinite(n)}},function(n,t,i){"use strict";function o(){var n=Object(f.a)();return r||void 0===n.TextDecoder||(r=new n.TextDecoder("utf-8")),r}var r,f,u,e;i.d(t,"b",function(){return e});f=i(5);u=function(){function n(){}return n.isHeader=function(n,t){return t+10<=n.length&&73===n[t]&&68===n[t+1]&&51===n[t+2]&&n[t+3]<255&&n[t+4]<255&&n[t+6]<128&&n[t+7]<128&&n[t+8]<128&&n[t+9]<128},n.isFooter=function(n,t){return t+10<=n.length&&51===n[t]&&68===n[t+1]&&73===n[t+2]&&n[t+3]<255&&n[t+4]<255&&n[t+6]<128&&n[t+7]<128&&n[t+8]<128&&n[t+9]<128},n.getID3Data=function(t,i){for(var u=i,r=0;n.isHeader(t,i);)r+=10,r+=n._readSize(t,i+6),n.isFooter(t,i+10)&&(r+=10),i+=r;if(r>0)return t.subarray(u,u+r)},n._readSize=function(n,t){var i=0;return i=(127&n[t])<<21,i|=(127&n[t+1])<<14,i|=(127&n[t+2])<<7,i|127&n[t+3]},n.getTimeStamp=function(t){for(var u,r=n.getID3Frames(t),i=0;i<r.length;i++)if(u=r[i],n.isTimeStampFrame(u))return n._readTimeStamp(u)},n.isTimeStampFrame=function(n){return n&&"PRIV"===n.key&&"com.apple.streaming.transportStreamTimestamp"===n.info},n._getFrameData=function(t){var r=String.fromCharCode(t[0],t[1],t[2],t[3]),i=n._readSize(t,4);return{type:r,size:i,data:t.subarray(10,10+i)}},n.getID3Frames=function(t){for(var e,o,u,f,i=0,r=[];n.isHeader(t,i);){for(e=n._readSize(t,i+6),o=(i+=10)+e;i+8<o;)u=n._getFrameData(t.subarray(i)),f=n._decodeFrame(u),f&&r.push(f),i+=u.size+10;n.isFooter(t,i)&&(i+=10)}return r},n._decodeFrame=function(t){return"PRIV"===t.type?n._decodePrivFrame(t):"T"===t.type[0]?n._decodeTextFrame(t):"W"===t.type[0]?n._decodeURLFrame(t):void 0},n._readTimeStamp=function(n){if(8===n.data.byteLength){var t=new Uint8Array(n.data),r=1&t[3],i=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return i/=45,r&&(i+=47721858.84),Math.round(i)}},n._decodePrivFrame=function(t){if(!(t.size<2)){var i=n._utf8ArrayToStr(t.data,!0),r=new Uint8Array(t.data.subarray(i.length+1));return{key:t.type,info:i,data:r.buffer}}},n._decodeTextFrame=function(t){var i,r,u,f;if(!(t.size<2))return"TXXX"===t.type?(i=1,r=n._utf8ArrayToStr(t.data.subarray(i),!0),i+=r.length+1,u=n._utf8ArrayToStr(t.data.subarray(i)),{key:t.type,info:r,data:u}):(f=n._utf8ArrayToStr(t.data.subarray(1)),{key:t.type,data:f})},n._decodeURLFrame=function(t){var i,r,u,f;return"WXXX"===t.type?t.size<2?void 0:(i=1,r=n._utf8ArrayToStr(t.data.subarray(i)),i+=r.length+1,u=n._utf8ArrayToStr(t.data.subarray(i)),{key:t.type,info:r,data:u}):(f=n._utf8ArrayToStr(t.data),{key:t.type,data:f})},n._utf8ArrayToStr=function(n,t){var s,r,h;if(void 0===t&&(t=!1),s=o(),s)return(r=s.decode(n),t)?(h=r.indexOf("\0"),-1!==h?r.substring(0,h):r):r.replace(/\0/g,"");for(var i,e,c,l=n.length,u="",f=0;f<l;){if(0===(i=n[f++])&&t)return u;if(0!==i&&3!==i)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:u+=String.fromCharCode(i);break;case 12:case 13:e=n[f++];u+=String.fromCharCode((31&i)<<6|63&e);break;case 14:e=n[f++];c=n[f++];u+=String.fromCharCode((15&i)<<12|(63&e)<<6|(63&c)<<0)}}return u},n}();e=u._utf8ArrayToStr;t.a=u},function(n,t,i){"use strict";function r(){return"undefined"==typeof window?self:window}i.d(t,"a",function(){return r})},function(n){var i,r,u,f,t;i=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/;r=/^([^\/?#]*)(.*)$/;u=/(?:\/|^)\.(?=\/)/g;f=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g;t={buildAbsoluteURL:function(n,i,u){var s,f,e,h,o,c,l;if(u=u||{},n=n.trim(),!(i=i.trim())){if(!u.alwaysNormalize)return n;if(s=t.parseURL(n),!s)throw new Error("Error trying to parse base URL.");return s.path=t.normalizePath(s.path),t.buildURLFromParts(s)}if(f=t.parseURL(i),!f)throw new Error("Error trying to parse relative URL.");if(f.scheme)return u.alwaysNormalize?(f.path=t.normalizePath(f.path),t.buildURLFromParts(f)):i;if(e=t.parseURL(n),!e)throw new Error("Error trying to parse base URL.");return!e.netLoc&&e.path&&"/"!==e.path[0]&&(h=r.exec(e.path),e.netLoc=h[1],e.path=h[2]),e.netLoc&&!e.path&&(e.path="/"),o={scheme:e.scheme,netLoc:f.netLoc,path:null,params:f.params,query:f.query,fragment:f.fragment},f.netLoc||(o.netLoc=e.netLoc,"/"===f.path[0])||(f.path?(c=e.path,l=c.substring(0,c.lastIndexOf("/")+1)+f.path,o.path=t.normalizePath(l)):(o.path=e.path,f.params||(o.params=e.params,f.query||(o.query=e.query)))),null===o.path&&(o.path=u.alwaysNormalize?t.normalizePath(f.path):f.path),t.buildURLFromParts(o)},parseURL:function(n){var t=i.exec(n);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(n){for(n=n.split("").reverse().join("").replace(u,"");n.length!==(n=n.replace(f,"")).length;);return n.split("").reverse().join("")},buildURLFromParts:function(n){return n.scheme+n.netLoc+n.path+n.params+n.query+n.fragment}};n.exports=t},function(n,t,i){"use strict";var f=function(){function n(n,t){this.subtle=n;this.aesIV=t}return n.prototype.decrypt=function(n,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,n)},n}(),e=function(){function n(n,t){this.subtle=n;this.key=t}return n.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},n}(),o=function(){function t(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54];this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.sBox=new Uint32Array(256);this.invSBox=new Uint32Array(256);this.key=new Uint32Array(0);this.initTable()}var n=t.prototype;return n.uint8ArrayToUint32Array_=function(n){for(var r=new DataView(n),i=new Uint32Array(4),t=0;t<4;t++)i[t]=r.getUint32(4*t);return i},n.initTable=function(){for(var l=this.sBox,a=this.invSBox,e=this.subMix,v=e[0],y=e[1],p=e[2],w=e[3],o=this.invSubMix,b=o[0],k=o[1],d=o[2],g=o[3],r=new Uint32Array(256),i=0,f=0,u=0,t,u=0;u<256;u++)r[u]=u<128?u<<1:u<<1^283;for(u=0;u<256;u++){t=f^f<<1^f<<2^f<<3^f<<4;t=t>>>8^255&t^99;l[i]=t;a[t]=i;var s=r[i],h=r[s],c=r[h],n=257*r[t]^16843008*t;v[i]=n<<24|n>>>8;y[i]=n<<16|n>>>16;p[i]=n<<8|n>>>24;w[i]=n;n=16843009*c^65537*h^257*s^16843008*i;b[t]=n<<24|n>>>8;k[t]=n<<16|n>>>16;d[t]=n<<8|n>>>24;g[t]=n;i?(i=s^r[r[r[c^s]]],f^=r[r[f]]):i=f=1}},n.expandKey=function(n){for(var r,e=this.uint8ArrayToUint32Array_(n),l=!0,h=0;h<e.length&&l;)l=e[h]===this.key[h],h++;if(!l){if(this.key=e,r=this.keySize=e.length,4!==r&&6!==r&&8!==r)throw new Error("Invalid aes key size="+r);for(var f,a,t,o=this.ksRows=4*(r+6+1),s=this.keySchedule=new Uint32Array(o),v=this.invKeySchedule=new Uint32Array(o),u=this.sBox,y=this.rcon,c=this.invSubMix,p=c[0],w=c[1],b=c[2],k=c[3],i=0;i<o;i++)i<r?a=s[i]=e[i]:(t=a,i%r==0?(t=u[(t=t<<8|t>>>24)>>>24]<<24|u[t>>>16&255]<<16|u[t>>>8&255]<<8|u[255&t],t^=y[i/r|0]<<24):r>6&&i%r==4&&(t=u[t>>>24]<<24|u[t>>>16&255]<<16|u[t>>>8&255]<<8|u[255&t]),s[i]=a=(s[i-r]^t)>>>0);for(f=0;f<o;f++)i=o-f,t=3&f?s[i]:s[i-4],v[f]=f<4||i<=4?t:p[u[t>>>24]]^w[u[t>>>16&255]]^b[u[t>>>8&255]]^k[u[255&t]],v[f]=v[f]>>>0}},n.networkToHostOrderSwap=function(n){return n<<24|(65280&n)<<8|(16711680&n)>>8|n>>>24},n.decrypt=function(n,t,i,r){for(var p,w,b,k,o,s,h,c,ft,et,ot,st,e,ht,y,d,ct,pt=this.keySize+6,f=this.invKeySchedule,u=this.invSBox,g=this.invSubMix,nt=g[0],tt=g[1],it=g[2],rt=g[3],ut=this.uint8ArrayToUint32Array_(i),lt=ut[0],at=ut[1],vt=ut[2],yt=ut[3],a=new Int32Array(n),v=new Int32Array(a.length),l=this.networkToHostOrderSwap;t<a.length;){for(ft=l(a[t]),et=l(a[t+1]),ot=l(a[t+2]),st=l(a[t+3]),o=ft^f[0],s=st^f[1],h=ot^f[2],c=et^f[3],e=4,ht=1;ht<pt;ht++)p=nt[o>>>24]^tt[s>>16&255]^it[h>>8&255]^rt[255&c]^f[e],w=nt[s>>>24]^tt[h>>16&255]^it[c>>8&255]^rt[255&o]^f[e+1],b=nt[h>>>24]^tt[c>>16&255]^it[o>>8&255]^rt[255&s]^f[e+2],k=nt[c>>>24]^tt[o>>16&255]^it[s>>8&255]^rt[255&h]^f[e+3],o=p,s=w,h=b,c=k,e+=4;p=u[o>>>24]<<24^u[s>>16&255]<<16^u[h>>8&255]<<8^u[255&c]^f[e];w=u[s>>>24]<<24^u[h>>16&255]<<16^u[c>>8&255]<<8^u[255&o]^f[e+1];b=u[h>>>24]<<24^u[c>>16&255]<<16^u[o>>8&255]<<8^u[255&s]^f[e+2];k=u[c>>>24]<<24^u[o>>16&255]<<16^u[s>>8&255]<<8^u[255&h]^f[e+3];e+=3;v[t]=l(p^lt);v[t+1]=l(k^at);v[t+2]=l(b^vt);v[t+3]=l(w^yt);lt=ft;at=et;vt=ot;yt=st;t+=4}return r?(y=v.buffer,d=y.byteLength,(ct=d&&new DataView(y).getUint8(d-1))?y.slice(0,d-ct):y):v.buffer},n.destroy=function(){this.key=void 0;this.keySize=void 0;this.ksRows=void 0;this.sBox=void 0;this.invSBox=void 0;this.subMix=void 0;this.invSubMix=void 0;this.keySchedule=void 0;this.invKeySchedule=void 0;this.rcon=void 0},t}(),u=i(2),r=i(0),s=i(1),h=i(5),c=Object(h.a)(),l=function(){function t(n,t,i){var u=(void 0===i?{}:i).removePKCS7Padding,f=void 0===u||u,r;if(this.logEnabled=!0,this.observer=n,this.config=t,this.removePKCS7Padding=f,f)try{r=c.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch(n){}this.disableWebCrypto=!this.subtle}var n=t.prototype;return n.isSync=function(){return this.disableWebCrypto&&this.config.enableSoftwareAES},n.decrypt=function(n,t,i,u){var c=this,s,h;this.disableWebCrypto&&this.config.enableSoftwareAES?(this.logEnabled&&(r.b.log("JS AES decrypt"),this.logEnabled=!1),s=this.decryptor,s||(this.decryptor=s=new o),s.expandKey(t),u(s.decrypt(n,0,i,this.removePKCS7Padding))):(this.logEnabled&&(r.b.log("WebCrypto AES decrypt"),this.logEnabled=!1),h=this.subtle,this.key!==t&&(this.key=t,this.fastAesKey=new e(h,t)),this.fastAesKey.expandKey().then(function(r){new f(h,i).decrypt(n,r).catch(function(r){c.onWebCryptoError(r,n,t,i,u)}).then(function(n){u(n)})}).catch(function(r){c.onWebCryptoError(r,n,t,i,u)}))},n.onWebCryptoError=function(n,t,i,f,e){this.config.enableSoftwareAES?(r.b.log("WebCrypto Error, disable WebCrypto API"),this.disableWebCrypto=!0,this.logEnabled=!0,this.decrypt(t,i,f,e)):(r.b.error("decrypting error : "+n.message),this.observer.trigger(s.a.ERROR,{type:u.b.MEDIA_ERROR,details:u.a.FRAG_DECRYPT_ERROR,fatal:!0,reason:n.message}))},n.destroy=function(){var n=this.decryptor;n&&(n.destroy(),this.decryptor=void 0)},t}();t.a=l},function(n){"use strict";function r(){}function o(n,t,i){this.fn=n;this.context=t;this.once=i||!1}function f(n,t,r,u,f){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new o(r,u||n,f),e=i?i+t:t;return n._events[e]?n._events[e].fn?n._events[e]=[n._events[e],s]:n._events[e].push(s):(n._events[e]=s,n._eventsCount++),n}function u(n,t){0==--n._eventsCount?n._events=new r:delete n._events[t]}function t(){this._events=new r;this._eventsCount=0}var e=Object.prototype.hasOwnProperty,i="~";Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(i=!1));t.prototype.eventNames=function(){var r,n,t=[];if(0===this._eventsCount)return t;for(n in r=this._events)e.call(r,n)&&t.push(i?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};t.prototype.listeners=function(n){var e=i?i+n:n,t=this._events[e];if(!t)return[];if(t.fn)return[t.fn];for(var r=0,u=t.length,f=new Array(u);r<u;r++)f[r]=t[r].fn;return f};t.prototype.listenerCount=function(n){var r=i?i+n:n,t=this._events[r];return t?t.fn?1:t.length:0};t.prototype.emit=function(n,t,r,u,f,e){var a=i?i+n:n,h,s,o,c,l,v;if(!this._events[a])return!1;if(o=this._events[a],c=arguments.length,o.fn){switch(o.once&&this.removeListener(n,o.fn,void 0,!0),c){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,t),!0;case 3:return o.fn.call(o.context,t,r),!0;case 4:return o.fn.call(o.context,t,r,u),!0;case 5:return o.fn.call(o.context,t,r,u,f),!0;case 6:return o.fn.call(o.context,t,r,u,f,e),!0}for(s=1,h=new Array(c-1);s<c;s++)h[s-1]=arguments[s];o.fn.apply(o.context,h)}else for(v=o.length,s=0;s<v;s++)switch(o[s].once&&this.removeListener(n,o[s].fn,void 0,!0),c){case 1:o[s].fn.call(o[s].context);break;case 2:o[s].fn.call(o[s].context,t);break;case 3:o[s].fn.call(o[s].context,t,r);break;case 4:o[s].fn.call(o[s].context,t,r,u);break;default:if(!h)for(l=1,h=new Array(c-1);l<c;l++)h[l-1]=arguments[l];o[s].fn.apply(o[s].context,h)}return!0};t.prototype.on=function(n,t,i){return f(this,n,t,i,!1)};t.prototype.once=function(n,t,i){return f(this,n,t,i,!0)};t.prototype.removeListener=function(n,t,r,f){var o=i?i+n:n,e;if(!this._events[o])return this;if(!t)return u(this,o),this;if(e=this._events[o],e.fn)e.fn!==t||f&&!e.once||r&&e.context!==r||u(this,o);else{for(var s=0,h=[],c=e.length;s<c;s++)(e[s].fn!==t||f&&!e[s].once||r&&e[s].context!==r)&&h.push(e[s]);h.length?this._events[o]=1===h.length?h[0]:h:u(this,o)}return this};t.prototype.removeAllListeners=function(n){var t;return n?(t=i?i+n:n,this._events[t]&&u(this,t)):(this._events=new r,this._eventsCount=0),this};t.prototype.off=t.prototype.removeListener;t.prototype.addListener=t.prototype.on;t.prefixed=i;t.EventEmitter=t;n.exports=t},function(n,t,i){"use strict";function d(n,t){return 255===n[t]&&240==(246&n[t+1])}function g(n,t){return 1&n[t+1]?7:9}function nt(n,t){return(3&n[t+3])<<11|n[t+4]<<3|(224&n[t+5])>>>5}function a(n,t){return!!(t+1<n.length&&d(n,t))}function ct(n,t){var r,i;return a(n,t)&&(r=g(n,t),t+5<n.length&&(r=nt(n,t)),i=t+r,i===n.length||i+1<n.length&&d(n,i))?!0:!1}function tt(n,t,i,f,o){if(!n.samplerate){var s=function(n,t,i,f){var h,o,c,l,s,a=navigator.userAgent.toLowerCase(),y=f,v=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];if(h=1+((192&t[i+2])>>>6),!((o=(60&t[i+2])>>>2)>v.length-1))return l=(1&t[i+2])<<2,l|=(192&t[i+3])>>>6,r.b.log("manifest codec:"+f+",ADTS data:type:"+h+",sampleingIndex:"+o+"["+v[o]+"Hz],channelConfig:"+l),/firefox/i.test(a)?o>=6?(h=5,s=new Array(4),c=o-3):(h=2,s=new Array(2),c=o):-1!==a.indexOf("android")?(h=2,s=new Array(2),c=o):(h=5,s=new Array(4),f&&(-1!==f.indexOf("mp4a.40.29")||-1!==f.indexOf("mp4a.40.5"))||!f&&o>=6?c=o-3:((f&&-1!==f.indexOf("mp4a.40.2")&&(o>=6&&1===l||/vivaldi/i.test(a))||!f&&1===l)&&(h=2,s=new Array(2)),c=o)),s[0]=h<<3,s[0]|=(14&o)>>1,s[1]|=(1&o)<<7,s[1]|=l<<3,5===h&&(s[1]|=(14&c)>>1,s[2]=(1&c)<<7,s[2]|=8,s[3]=0),{config:s,samplerate:v[o],channelCount:l,codec:"mp4a.40."+h,manifestCodec:y};n.trigger(u.a.ERROR,{type:e.b.MEDIA_ERROR,details:e.a.FRAG_PARSING_ERROR,fatal:!0,reason:"invalid ADTS sampling index:"+o})}(t,i,f,o);n.config=s.config;n.samplerate=s.samplerate;n.channelCount=s.channelCount;n.codec=s.codec;n.manifestCodec=s.manifestCodec;r.b.log("parsed codec:"+n.codec+",rate:"+s.samplerate+",nb channel:"+s.channelCount)}}function it(n){return 9216e4/n}function rt(n,t,i,r,u){var f=function(n,t,i,r,u){var f,e,o=n.length;if(f=g(n,t),e=nt(n,t),(e-=f)>0&&t+f+e<=o)return{headerLength:f,frameLength:e,stamp:i+r*u}}(t,i,r,u,it(n.samplerate));if(f){var o=f.stamp,e=f.headerLength,s=f.frameLength,h={unit:t.subarray(i+e,i+e+s),pts:o,dts:o};return n.samples.push(h),{sample:h,length:s+e}}}function ut(n,t,i,r){void 0===i&&(i=1);void 0===r&&(r=!1);var u=n*t*i;return r?Math.round(u):u}function f(n,t){return void 0===t&&(t=!1),ut(n,1e3,1/9e4,t)}function ft(n,t){return void 0===t&&(t=1),ut(n,9e4,1/t)}var u=i(1),e=i(2),k=i(7),st=i(3),r=i(0),ht=i(5),o=i(4),lt=function(){function t(n,t,i){this.observer=n;this.config=i;this.remuxer=t}var n=t.prototype;return n.resetInitSegment=function(n,t,i,r){this._audioTrack={container:"audio/adts",type:"audio",id:0,sequenceNumber:0,isAAC:!0,samples:[],len:0,manifestCodec:t,duration:r,inputTimeScale:9e4}},n.resetTimeStamp=function(){},t.probe=function(n){if(!n)return!1;for(var t=(o.a.getID3Data(n,0)||[]).length,i=n.length;t<i;t++)if(ct(n,t))return r.b.log("ADTS sync word found !"),!0;return!1},n.append=function(n,t,i,u){for(var c,h=this._audioTrack,e=o.a.getID3Data(n,0)||[],l=o.a.getTimeStamp(e),v=Object(st.a)(l)?90*l:9e4*t,y=0,s=v,p=n.length,f=e.length,w=[{pts:s,dts:s,data:e}];f<p-1;)if(a(n,f)&&f+5<p){if(tt(h,this.observer,n,f,h.manifestCodec),c=rt(h,n,f,v,y),!c){r.b.log("Unable to parse AAC frame");break}f+=c.length;s=c.sample.pts;y++}else o.a.isHeader(n,f)?(e=o.a.getID3Data(n,f),w.push({pts:s,dts:s,data:e}),f+=e.length):f++;this.remuxer.remux(h,{samples:[]},{samples:w,inputTimeScale:9e4},{samples:[]},t,i,u)},n.destroy=function(){},t}(),at=i(10),c={BitratesMap:[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],SamplingRateMap:[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],SamplesCoefficients:[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],BytesInSlot:[0,1,1,4],appendFrame:function(n,t,i,r,u){var f,e,o;if(!(i+24>t.length)&&(f=this.parseHeader(t,i),f&&i+f.frameLength<=t.length))return e=r+u*(9e4*f.samplesPerFrame/f.sampleRate),o={unit:t.subarray(i,i+f.frameLength),pts:e,dts:e},n.config=[],n.channelCount=f.channelCount,n.samplerate=f.sampleRate,n.samples.push(o),{sample:o,length:f.frameLength}},parseHeader:function(n,t){var i=n[t+1]>>3&3,r=n[t+1]>>1&3,u=n[t+2]>>4&15,f=n[t+2]>>2&3,h=n[t+2]>>1&1;if(1!==i&&0!==u&&15!==u&&3!==f){var l=3===i?3-r:3===r?3:4,a=1e3*c.BitratesMap[14*l+u-1],v=3===i?0:2===i?1:2,e=c.SamplingRateMap[3*v+f],y=n[t+3]>>6==3?1:2,o=c.SamplesCoefficients[i][r],s=c.BytesInSlot[r],p=8*o*s;return{sampleRate:e,channelCount:y,frameLength:parseInt(o*a/e+h,10)*s,samplesPerFrame:p}}},isHeaderPattern:function(n,t){return 255===n[t]&&224==(224&n[t+1])&&0!=(6&n[t+1])},isHeader:function(n,t){return!!(t+1<n.length&&this.isHeaderPattern(n,t))},probe:function(n,t){var i,u,r;return t+1<n.length&&this.isHeaderPattern(n,t)&&(i=this.parseHeader(n,t),u=4,i&&i.frameLength&&(u=i.frameLength),r=t+u,r===n.length||r+1<n.length&&this.isHeaderPattern(n,r))?!0:!1}},l=c,p=function(){function t(n){this.data=n;this.bytesAvailable=n.byteLength;this.word=0;this.bitsAvailable=0}var n=t.prototype;return n.loadWord=function(){var t=this.data,i=this.bytesAvailable,r=t.byteLength-i,u=new Uint8Array(4),n=Math.min(4,i);if(0===n)throw new Error("no bytes available");u.set(t.subarray(r,r+n));this.word=new DataView(u.buffer).getUint32(0);this.bitsAvailable=8*n;this.bytesAvailable-=n},n.skipBits=function(n){var t;this.bitsAvailable>n?(this.word<<=n,this.bitsAvailable-=n):(n-=this.bitsAvailable,n-=(t=n>>3)>>3,this.bytesAvailable-=t,this.loadWord(),this.word<<=n,this.bitsAvailable-=n)},n.readBits=function(n){var t=Math.min(this.bitsAvailable,n),i=this.word>>>32-t;return n>32&&r.b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0?this.word<<=t:this.bytesAvailable>0&&this.loadWord(),(t=n-t)>0&&this.bitsAvailable?i<<t|this.readBits(t):i},n.skipLZ=function(){for(var n=0;n<this.bitsAvailable;++n)if(0!=(this.word&2147483648>>>n))return this.word<<=n,this.bitsAvailable-=n,n;return this.loadWord(),n+this.skipLZ()},n.skipUEG=function(){this.skipBits(1+this.skipLZ())},n.skipEG=function(){this.skipBits(1+this.skipLZ())},n.readUEG=function(){var n=this.skipLZ();return this.readBits(n+1)-1},n.readEG=function(){var n=this.readUEG();return 1&n?1+n>>>1:-1*(n>>>1)},n.readBoolean=function(){return 1===this.readBits(1)},n.readUByte=function(){return this.readBits(8)},n.readUShort=function(){return this.readBits(16)},n.readUInt=function(){return this.readBits(32)},n.skipScalingList=function(n){for(var r=8,t=8,i=0;i<n;i++)0!==t&&(t=(r+this.readEG()+256)%256),r=0===t?r:t},n.readSPS=function(){var t,a,v,y,s,p,u,w=0,b=0,k=0,d=0,r=this.readUByte.bind(this),g=this.readBits.bind(this),i=this.readUEG.bind(this),e=this.readBoolean.bind(this),f=this.skipBits.bind(this),h=this.skipEG.bind(this),o=this.skipUEG.bind(this),nt=this.skipScalingList.bind(this),c,l,n;if((r(),t=r(),g(5),f(3),r(),o(),100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t)&&(c=i(),3===c&&f(1),o(),o(),f(1),e()))for(p=3!==c?8:12,u=0;u<p;u++)e()&&nt(u<6?16:64);if(o(),l=i(),0===l)i();else if(1===l)for(f(1),h(),h(),a=i(),u=0;u<a;u++)h();if(o(),f(1),v=i(),y=i(),0===(s=g(1))&&f(1),f(1),e()&&(w=i(),b=i(),k=i(),d=i()),n=[1,1],e()&&e())switch(r()){case 1:n=[1,1];break;case 2:n=[12,11];break;case 3:n=[10,11];break;case 4:n=[16,11];break;case 5:n=[40,33];break;case 6:n=[24,11];break;case 7:n=[20,11];break;case 8:n=[32,11];break;case 9:n=[80,33];break;case 10:n=[18,11];break;case 11:n=[15,11];break;case 12:n=[64,33];break;case 13:n=[160,99];break;case 14:n=[4,3];break;case 15:n=[3,2];break;case 16:n=[2,1];break;case 255:n=[r()<<8|r(),r()<<8|r()]}return{width:Math.ceil(16*(v+1)-2*w-2*b),height:(2-s)*(y+1)*16-(s?2:4)*(k+d),pixelRatio:n}},n.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},t}(),vt=function(){function t(n,t,i,r){this.decryptdata=i;this.discardEPB=r;this.decrypter=new k.a(n,t,{removePKCS7Padding:!1})}var n=t.prototype;return n.decryptBuffer=function(n,t){this.decrypter.decrypt(n,this.decryptdata.key.buffer,this.decryptdata.iv.buffer,t)},n.decryptAacSample=function(n,t,i,r){var u=n[t].unit,f=u.subarray(16,u.length-u.length%16),e=f.buffer.slice(f.byteOffset,f.byteOffset+f.length),o=this;this.decryptBuffer(e,function(f){f=new Uint8Array(f);u.set(f,16);r||o.decryptAacSamples(n,t+1,i)})},n.decryptAacSamples=function(n,t,i){for(;;t++){if(t>=n.length)return void i();if(!(n[t].unit.length<32)){var r=this.decrypter.isSync();if(this.decryptAacSample(n,t,i,r),!r)return}}},n.getAvcEncryptedData=function(n){for(var u=16*Math.floor((n.length-48)/160)+16,i=new Int8Array(u),r=0,t=32;t<=n.length-16;t+=160,r+=16)i.set(n.subarray(t,t+16),r);return i},n.getAvcDecryptedUnit=function(n,t){t=new Uint8Array(t);for(var i=0,r=32;r<=n.length-16;r+=160,i+=16)n.set(t.subarray(i,i+16),r);return n},n.decryptAvcSample=function(n,t,i,r,u,f){var e=this.discardEPB(u.data),s=this.getAvcEncryptedData(e),o=this;this.decryptBuffer(s.buffer,function(s){u.data=o.getAvcDecryptedUnit(e,s);f||o.decryptAvcSamples(n,t,i+1,r)})},n.decryptAvcSamples=function(n,t,i,r){for(var f,u,e;;t++,i=0){if(t>=n.length)return void r();for(f=n[t].units;!(i>=f.length);i++)if(u=f[i],!(u.length<=48||1!==u.type&&5!==u.type)&&(e=this.decrypter.isSync(),this.decryptAvcSample(n,t,i,r,u,e),!e))return}},t}(),yt={video:1,audio:2,id3:3,text:4},pt=function(){function t(n,t,i,r){this.observer=n;this.config=i;this.typeSupported=r;this.remuxer=t;this.sampleAes=null}var n=t.prototype;return n.setDecryptData=function(n){this.sampleAes=null!=n&&null!=n.key&&"SAMPLE-AES"===n.method?new vt(this.observer,this.config,n,this.discardEPB):null},t.probe=function(n){var i=t._syncOffset(n);return!(i<0)&&(i&&r.b.warn("MPEG2-TS detected but first sync word found @ offset "+i+", junk ahead ?"),!0)},t._syncOffset=function(n){for(var i=Math.min(1e3,n.length-564),t=0;t<i;){if(71===n[t]&&71===n[t+188]&&71===n[t+376])return t;t++}return-1},t.createTrack=function(n,t){return{container:"video"===n||"audio"===n?"video/mp2t":void 0,type:n,id:yt[n],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:"video"===n?0:void 0,isAAC:"audio"===n||void 0,duration:"audio"===n?t:void 0}},n.resetInitSegment=function(n,i,r,u){this.pmtParsed=!1;this._pmtId=-1;this._avcTrack=t.createTrack("video",u);this._audioTrack=t.createTrack("audio",u);this._id3Track=t.createTrack("id3",u);this._txtTrack=t.createTrack("text",u);this.aacOverFlow=null;this.aacLastPTS=null;this.avcSample=null;this.audioCodec=i;this.videoCodec=r;this._duration=u},n.resetTimeStamp=function(){},n.append=function(n,i,f,o){var s,b,ft,h,c,g=n.length,nt=!1,d;this.contiguous=f;var et=this.pmtParsed,p=this._avcTrack,a=this._audioTrack,w=this._id3Track,tt=p.pid,it=a.pid,rt=w.pid,ot=this._pmtId,v=p.pesData,l=a.pesData,y=w.pesData,at=this._parsePAT,vt=this._parsePMT,k=this._parsePES,st=this._parseAVCPES.bind(this),ht=this._parseAACPES.bind(this),ct=this._parseMPEGPES.bind(this),lt=this._parseID3PES.bind(this),ut=t._syncOffset(n);for(g-=(g+ut)%188,s=ut;s<g;s+=188)if(71===n[s]){if(b=!!(64&n[s+1]),ft=((31&n[s+1])<<8)+n[s+2],(48&n[s+3])>>4>1){if((h=s+5+n[s+4])===s+188)continue}else h=s+4;switch(ft){case tt:b&&(v&&(c=k(v))&&st(c,!1),v={data:[],size:0});v&&(v.data.push(n.subarray(h,s+188)),v.size+=s+188-h);break;case it:b&&(l&&(c=k(l))&&(a.isAAC?ht(c):ct(c)),l={data:[],size:0});l&&(l.data.push(n.subarray(h,s+188)),l.size+=s+188-h);break;case rt:b&&(y&&(c=k(y))&&lt(c),y={data:[],size:0});y&&(y.data.push(n.subarray(h,s+188)),y.size+=s+188-h);break;case 0:b&&(h+=n[h]+1);ot=this._pmtId=at(n,h);break;case ot:b&&(h+=n[h]+1);d=vt(n,h,!0===this.typeSupported.mpeg||!0===this.typeSupported.mp3,null!=this.sampleAes);(tt=d.avc)>0&&(p.pid=tt);(it=d.audio)>0&&(a.pid=it,a.isAAC=d.isAAC);(rt=d.id3)>0&&(w.pid=rt);nt&&!et&&(r.b.log("reparse from beginning"),nt=!1,s=ut-188);et=this.pmtParsed=!0;break;case 17:case 8191:break;default:nt=!0}}else this.observer.trigger(u.a.ERROR,{type:e.b.MEDIA_ERROR,details:e.a.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});v&&(c=k(v))?(st(c,!0),p.pesData=null):p.pesData=v;l&&(c=k(l))?(a.isAAC?ht(c):ct(c),a.pesData=null):(l&&l.size&&r.b.log("last AAC PES packet truncated,might overlap between fragments"),a.pesData=l);y&&(c=k(y))?(lt(c),w.pesData=null):w.pesData=y;null==this.sampleAes?this.remuxer.remux(a,p,w,this._txtTrack,i,f,o):this.decryptAndRemux(a,p,w,this._txtTrack,i,f,o)},n.decryptAndRemux=function(n,t,i,r,u,f,e){if(n.samples&&n.isAAC){var o=this;this.sampleAes.decryptAacSamples(n.samples,0,function(){o.decryptAndRemuxAvc(n,t,i,r,u,f,e)})}else this.decryptAndRemuxAvc(n,t,i,r,u,f,e)},n.decryptAndRemuxAvc=function(n,t,i,r,u,f,e){if(t.samples){var o=this;this.sampleAes.decryptAvcSamples(t.samples,0,0,function(){o.remuxer.remux(n,t,i,r,u,f,e)})}else this.remuxer.remux(n,t,i,r,u,f,e)},n.destroy=function(){this._initPTS=this._initDTS=void 0;this._duration=0},n._parsePAT=function(n,t){return(31&n[t+10])<<8|n[t+11]},n._parsePMT=function(n,t,i,u){var o,e,f={audio:-1,avc:-1,id3:-1,isAAC:!0};for(o=t+3+((15&n[t+1])<<8|n[t+2])-4,t+=12+((15&n[t+10])<<8|n[t+11]);t<o;){switch(e=(31&n[t+1])<<8|n[t+2],n[t]){case 207:if(!u){r.b.log("unknown stream type:"+n[t]);break}case 15:-1===f.audio&&(f.audio=e);break;case 21:-1===f.id3&&(f.id3=e);break;case 219:if(!u){r.b.log("unknown stream type:"+n[t]);break}case 27:-1===f.avc&&(f.avc=e);break;case 3:case 4:i?-1===f.audio&&(f.audio=e,f.isAAC=!1):r.b.log("MPEG audio found, not supported in this browser for now");break;case 36:r.b.warn("HEVC stream type found, not supported for now");break;default:r.b.log("unknown stream type:"+n[t])}t+=5+((15&n[t+3])<<8|n[t+4])}return f},n._parsePES=function(n){var t,a,o,v,l,f,e,u,y=0,i=n.data,h,c,p,s;if(!n||0===n.size)return null;for(;i[0].length<19&&i.length>1;)h=new Uint8Array(i[0].length+i[1].length),h.set(i[0]),h.set(i[1],i[0].length),i[0]=h,i.splice(1,1);if(1===((t=i[0])[0]<<16)+(t[1]<<8)+t[2]){if((o=(t[4]<<8)+t[5])&&o>n.size-6||(192&(a=t[7])&&((f=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2)>4294967295&&(f-=8589934592),64&a?((e=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2)>4294967295&&(e-=8589934592),f-e>54e5&&(r.b.warn(Math.round((f-e)/9e4)+"s delta between PTS and DTS, align them"),f=e)):e=f),u=(v=t[8])+9,n.size<=u))return null;for(n.size-=u,l=new Uint8Array(n.size),c=0,p=i.length;c<p;c++){if(s=(t=i[c]).byteLength,u){if(u>s){u-=s;continue}t=t.subarray(u);s-=u;u=0}l.set(t,y);y+=s}return o&&(o-=v+3),{data:l,pts:f,dts:e,len:o}}return null},n.pushAccesUnit=function(n,t){var u,i,f;if(n.units.length&&n.frame){if(u=t.samples,i=u.length,isNaN(n.pts)){if(!i)return void t.dropped++;f=u[i-1];n.pts=f.pts;n.dts=f.dts}!this.config.forceKeyFrameOnDiscontinuity||!0===n.key||t.sps&&(i||this.contiguous)?(n.id=i,u.push(n)):t.dropped++}n.debug.length&&r.b.log(n.pts+"/"+n.dts+":"+n.debug)},n._parseAVCPES=function(n,t){var r,e,i,s=this,f=this._avcTrack,l=this._parseAVCNALu(n.data),u=this.avcSample,a=!1,c=this.pushAccesUnit.bind(this),h=function(n,t,i,r){return{key:n,pts:t,dts:i,units:[],debug:r}};n.data=null;u&&l.length&&!f.audFound&&(c(u,f),u=this.avcSample=h(!1,n.pts,n.dts,""));l.forEach(function(t){var tt,v,d,rt,g,nt,et,ut,w;switch(t.type){case 1:e=!0;u||(u=s.avcSample=h(!0,n.pts,n.dts,""));u.frame=!0;tt=t.data;a&&tt.length>4&&(v=new p(tt).readSliceType(),2!==v&&4!==v&&7!==v&&9!==v||(u.key=!0));break;case 5:e=!0;u||(u=s.avcSample=h(!0,n.pts,n.dts,""));u.key=!0;u.frame=!0;break;case 6:e=!0;(r=new p(s.discardEPB(t.data))).readUByte();for(var y=0,l=0,it=!1,b=0;!it&&r.bytesAvailable>1;){y=0;do y+=b=r.readUByte();while(255===b);l=0;do l+=b=r.readUByte();while(255===b);if(4===y&&0!==r.bytesAvailable){if((it=!0,181===r.readUByte())&&49===r.readUShort()&&1195456820===r.readUInt()&&3===r.readUByte()){var ft=r.readUByte(),ot=31&ft,k=[ft,r.readUByte()];for(i=0;i<ot;i++)k.push(r.readUByte()),k.push(r.readUByte()),k.push(r.readUByte());s._insertSampleInOrder(s._txtTrack.samples,{type:3,pts:n.pts,bytes:k})}}else if(5===y&&0!==r.bytesAvailable){if(it=!0,l>16){for(d=[],i=0;i<16;i++)d.push(r.readUByte().toString(16)),3!==i&&5!==i&&7!==i&&9!==i||d.push("-");for(rt=l-16,g=new Uint8Array(rt),i=0;i<rt;i++)g[i]=r.readUByte();s._insertSampleInOrder(s._txtTrack.samples,{pts:n.pts,payloadType:y,uuid:d.join(""),userDataBytes:g,userData:Object(o.b)(g.buffer)})}}else if(l<r.bytesAvailable)for(i=0;i<l;i++)r.readUByte()}break;case 7:if(e=!0,a=!0,!f.sps){for(nt=(r=new p(t.data)).readSPS(),f.width=nt.width,f.height=nt.height,f.pixelRatio=nt.pixelRatio,f.sps=[t.data],f.duration=s._duration,et=t.data.subarray(1,4),ut="avc1.",i=0;i<3;i++)w=et[i].toString(16),w.length<2&&(w="0"+w),ut+=w;f.codec=ut}break;case 8:e=!0;f.pps||(f.pps=[t.data]);break;case 9:e=!1;f.audFound=!0;u&&c(u,f);u=s.avcSample=h(!1,n.pts,n.dts,"");break;case 12:e=!1;break;default:e=!1;u&&(u.debug+="unknown NAL "+t.type+" ")}u&&e&&u.units.push(t)});t&&u&&(c(u,f),this.avcSample=null)},n._insertSampleInOrder=function(n,t){var r=n.length,i;if(r>0){if(t.pts>=n[r-1].pts)n.push(t);else for(i=r-1;i>=0;i--)if(t.pts<n[i].pts){n.splice(i,0,t);break}}else n.push(t)},n._getLastNalUnit=function(){var r,n=this.avcSample,t,i;return n&&0!==n.units.length||(t=this._avcTrack.samples,n=t[t.length-1]),n&&(i=n.units,r=i[i.length-1]),r},n._parseAVCNALu=function(n){var e,a,o,s,r=0,v=n.byteLength,p=this._avcTrack,t=p.naluState||0,y=t,h=[],u=-1,i,c,f,l;for(-1===t&&(u=0,s=31&n[0],t=0,r=1);r<v;)(e=n[r++],t)?1!==t?e?1===e?(u>=0?(o={data:n.subarray(u,r-t-1),type:s},h.push(o)):(i=this._getLastNalUnit(),i&&(y&&r<=4-y&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-y)),(a=r-t-1)>0)&&(c=new Uint8Array(i.data.byteLength+a),c.set(i.data,0),c.set(n.subarray(0,a),i.data.byteLength),i.data=c)),r<v?(u=r,s=31&n[r],t=0):t=-1):t=0:t=3:t=e?0:2:t=e?0:1;return(u>=0&&t>=0&&(o={data:n.subarray(u,v),type:s,state:t},h.push(o)),0===h.length)&&(f=this._getLastNalUnit(),f&&(l=new Uint8Array(f.data.byteLength+n.byteLength),l.set(f.data,0),l.set(n,f.data.byteLength),f.data=l)),p.naluState=t,h},n.discardEPB=function(n){for(var r,u,f,e=n.byteLength,i=[],t=1;t<e-2;)0===n[t]&&0===n[t+1]&&3===n[t+2]?(i.push(t+2),t+=2):t++;if(0===i.length)return n;for(u=e-i.length,f=new Uint8Array(u),r=0,t=0;t<u;r++,t++)r===i[0]&&(r++,i.shift()),f[t]=n[r];return f},n._parseAACPES=function(n){var b,p,t,k,f,s,h,w=this._audioTrack,i=n.data,c=n.pts,o=this.aacOverFlow,d=this.aacLastPTS,l,v,y;for(o&&(l=new Uint8Array(o.byteLength+i.byteLength),l.set(o,0),l.set(i,o.byteLength),i=l),t=0,f=i.length;t<f-1&&!a(i,t);t++);if(!t||(t<f-1?(s="AAC PES did not start with ADTS header,offset:"+t,h=!1):(s="no ADTS header found in AAC PES",h=!0),r.b.warn("parsing error:"+s),this.observer.trigger(u.a.ERROR,{type:e.b.MEDIA_ERROR,details:e.a.FRAG_PARSING_ERROR,fatal:h,reason:s}),!h)){for((tt(w,this.observer,i,t,this.audioCodec),p=0,b=it(w.samplerate),o&&d)&&(v=d+b,Math.abs(v-c)>1&&(r.b.log("AAC: align PTS for overlapping frames by "+Math.round((v-c)/90)),c=v));t<f;){if(a(i,t)){if(t+5<f&&(y=rt(w,i,t,c,p),y)){t+=y.length;k=y.sample.pts;p++;continue}break}t++}o=t<f?i.subarray(t,f):null;this.aacOverFlow=o;this.aacLastPTS=k}},n._parseMPEGPES=function(n){for(var r,i=n.data,f=i.length,u=0,t=0,e=n.pts;t<f;)if(l.isHeader(i,t)){if(r=l.appendFrame(this._audioTrack,i,t,e,u),!r)break;t+=r.length;u++}else t++},n._parseID3PES=function(n){this._id3Track.samples.push(n)},t}(),wt=function(){function t(n,t,i){this.observer=n;this.config=i;this.remuxer=t}var n=t.prototype;return n.resetInitSegment=function(n,t,i,r){this._audioTrack={container:"audio/mpeg",type:"audio",id:-1,sequenceNumber:0,isAAC:!1,samples:[],len:0,manifestCodec:t,duration:r,inputTimeScale:9e4}},n.resetTimeStamp=function(){},t.probe=function(n){var t,u,i=o.a.getID3Data(n,0);if(i&&void 0!==o.a.getTimeStamp(i))for(t=i.length,u=Math.min(n.length-1,t+100);t<u;t++)if(l.probe(n,t))return r.b.log("MPEG Audio sync word found !"),!0;return!1},n.append=function(n,t,i,r){for(var e,f=o.a.getID3Data(n,0),c=o.a.getTimeStamp(f),s=c?90*c:9e4*t,u=f.length,p=n.length,a=0,h=0,v=this._audioTrack,y=[{pts:s,dts:s,data:f}];u<p;)if(l.isHeader(n,u)){if(e=l.appendFrame(v,n,u,s,a),!e)break;u+=e.length;h=e.sample.pts;a++}else o.a.isHeader(n,u)?(f=o.a.getID3Data(n,u),y.push({pts:h,dts:h,data:f}),u+=f.length):u++;this.remuxer.remux(v,{samples:[]},{samples:y,inputTimeScale:9e4},{samples:[]},t,i,r)},n.destroy=function(){},t}(),v=function(){function n(){}return n.getSilentFrame=function(n,t){switch(n){case"mp4a.40.2":if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},n}(),s=Math.pow(2,32)-1,h=function(){function n(){}return n.init=function(){var t,i,r,u,f;for(t in n.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},n.types)n.types.hasOwnProperty(t)&&(n.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);i=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]);r=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]);n.HDLR_TYPES={video:i,audio:r};u=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);f=new Uint8Array([0,0,0,0,0,0,0,0]);n.STTS=n.STSC=n.STCO=f;n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]);n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]);n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]);n.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var e=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),s=new Uint8Array([0,0,0,1]);n.FTYP=n.box(n.types.ftyp,e,s,e,o);n.DINF=n.box(n.types.dinf,n.box(n.types.dref,u))},n.box=function(n){for(var r,u=Array.prototype.slice.call(arguments,1),t=8,i=u.length,f=i;i--;)t+=u[i].byteLength;for((r=new Uint8Array(t))[0]=t>>24&255,r[1]=t>>16&255,r[2]=t>>8&255,r[3]=255&t,r.set(n,4),i=0,t=8;i<f;i++)r.set(u[i],t),t+=u[i].byteLength;return r},n.hdlr=function(t){return n.box(n.types.hdlr,n.HDLR_TYPES[t])},n.mdat=function(t){return n.box(n.types.mdat,t)},n.mdhd=function(t,i){i*=t;var r=Math.floor(i/(s+1)),u=Math.floor(i%(s+1));return n.box(n.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,u>>24,u>>16&255,u>>8&255,255&u,85,196,0,0]))},n.mdia=function(t){return n.box(n.types.mdia,n.mdhd(t.timescale,t.duration),n.hdlr(t.type),n.minf(t))},n.mfhd=function(t){return n.box(n.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))},n.minf=function(t){return"audio"===t.type?n.box(n.types.minf,n.box(n.types.smhd,n.SMHD),n.DINF,n.stbl(t)):n.box(n.types.minf,n.box(n.types.vmhd,n.VMHD),n.DINF,n.stbl(t))},n.moof=function(t,i,r){return n.box(n.types.moof,n.mfhd(t),n.traf(r,i))},n.moov=function(t){for(var i=t.length,r=[];i--;)r[i]=n.trak(t[i]);return n.box.apply(null,[n.types.moov,n.mvhd(t[0].timescale,t[0].duration)].concat(r).concat(n.mvex(t)))},n.mvex=function(t){for(var i=t.length,r=[];i--;)r[i]=n.trex(t[i]);return n.box.apply(null,[n.types.mvex].concat(r))},n.mvhd=function(t,i){i*=t;var r=Math.floor(i/(s+1)),u=Math.floor(i%(s+1)),f=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,u>>24,u>>16&255,u>>8&255,255&u,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 n.box(n.types.mvhd,f)},n.sdtp=function(t){for(var r,u=t.samples||[],f=new Uint8Array(4+u.length),i=0;i<u.length;i++)r=u[i].flags,f[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return n.box(n.types.sdtp,f)},n.stbl=function(t){return n.box(n.types.stbl,n.stsd(t),n.box(n.types.stts,n.STTS),n.box(n.types.stsc,n.STSC),n.box(n.types.stsz,n.STSZ),n.box(n.types.stco,n.STCO))},n.avc1=function(t){for(var e,u,r=[],f=[],i=0;i<t.sps.length;i++)u=(e=t.sps[i]).byteLength,r.push(u>>>8&255),r.push(255&u),r=r.concat(Array.prototype.slice.call(e));for(i=0;i<t.pps.length;i++)u=(e=t.pps[i]).byteLength,f.push(u>>>8&255),f.push(255&u),f=f.concat(Array.prototype.slice.call(e));var l=n.box(n.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|t.sps.length].concat(r).concat([t.pps.length]).concat(f))),h=t.width,c=t.height,o=t.pixelRatio[0],s=t.pixelRatio[1];return n.box(n.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,h>>8&255,255&h,c>>8&255,255&c,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,n.box(n.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),n.box(n.types.pasp,new Uint8Array([o>>24,o>>16&255,o>>8&255,255&o,s>>24,s>>16&255,s>>8&255,255&s])))},n.esds=function(n){var t=n.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(n.config).concat([6,1,2]))},n.mp4a=function(t){var i=t.samplerate;return n.box(n.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,i>>8&255,255&i,0,0]),n.box(n.types.esds,n.esds(t)))},n.mp3=function(t){var i=t.samplerate;return n.box(n.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,i>>8&255,255&i,0,0]))},n.stsd=function(t){return"audio"===t.type?t.isAAC||"mp3"!==t.codec?n.box(n.types.stsd,n.STSD,n.mp4a(t)):n.box(n.types.stsd,n.STSD,n.mp3(t)):n.box(n.types.stsd,n.STSD,n.avc1(t))},n.tkhd=function(t){var i=t.id,f=t.duration*t.timescale,e=t.width,o=t.height,r=Math.floor(f/(s+1)),u=Math.floor(f%(s+1));return n.box(n.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,i>>24&255,i>>16&255,i>>8&255,255&i,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,u>>24,u>>16&255,u>>8&255,255&u,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,e>>8&255,255&e,0,0,o>>8&255,255&o,0,0]))},n.traf=function(t,i){var e=n.sdtp(t),r=t.id,u=Math.floor(i/(s+1)),f=Math.floor(i%(s+1));return n.box(n.types.traf,n.box(n.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),n.box(n.types.tfdt,new Uint8Array([1,0,0,0,u>>24,u>>16&255,u>>8&255,255&u,f>>24,f>>16&255,f>>8&255,255&f])),n.trun(t,e.length+16+20+8+16+8+8),e)},n.trak=function(t){return t.duration=t.duration||4294967295,n.box(n.types.trak,n.tkhd(t),n.mdia(t))},n.trex=function(t){var i=t.id;return n.box(n.types.trex,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},n.trun=function(t,i){var f,h,e,o,r,s,l=t.samples||[],u=l.length,a=12+16*u,c=new Uint8Array(a);for(i+=8+a,c.set([0,0,15,1,u>>>24&255,u>>>16&255,u>>>8&255,255&u,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0),f=0;f<u;f++)e=(h=l[f]).duration,o=h.size,r=h.flags,s=h.cts,c.set([e>>>24&255,e>>>16&255,e>>>8&255,255&e,o>>>24&255,o>>>16&255,o>>>8&255,255&o,r.isLeading<<2|r.dependsOn,r.isDependedOn<<6|r.hasRedundancy<<4|r.paddingValue<<1|r.isNonSync,61440&r.degradPrio,15&r.degradPrio,s>>>24&255,s>>>16&255,s>>>8&255,255&s],12+16*f);return n.box(n.types.trun,c)},n.initSegment=function(t){n.types||n.init();var i,r=n.moov(t);return(i=new Uint8Array(n.FTYP.byteLength+r.byteLength)).set(n.FTYP),i.set(r,n.FTYP.byteLength),i},n}(),y,et=ft(10),bt=ft(.2),w=function(){function t(n,t,i,r){this.observer=n;this.config=t;this.typeSupported=i;var u=navigator.userAgent;this.isSafari=r&&r.indexOf("Apple")>-1&&u&&!u.match("CriOS");this.ISGenerated=!1}var n=t.prototype;return n.destroy=function(){},n.resetTimeStamp=function(n){this._initPTS=this._initDTS=n},n.resetInitSegment=function(){this.ISGenerated=!1},n.remux=function(n,t,i,f,e,o,s){var v,w,h,y;if(this.ISGenerated||this.generateIS(n,t,e),this.ISGenerated){var p=n.samples.length,c=t.samples.length,l=e,a=e;p&&c&&(v=(n.samples[0].pts-t.samples[0].pts)/t.inputTimeScale,l+=Math.max(0,v),a+=Math.max(0,-v));p?(n.timescale||(r.b.warn("regenerate InitSegment as audio detected"),this.generateIS(n,t,e)),h=this.remuxAudio(n,l,o,s),c&&(h&&(w=h.endPTS-h.startPTS),t.timescale||(r.b.warn("regenerate InitSegment as video detected"),this.generateIS(n,t,e)),this.remuxVideo(t,a,o,w,s))):c&&(y=this.remuxVideo(t,a,o,0,s),y&&n.codec&&this.remuxEmptyAudio(n,l,o,y))}i.samples.length&&this.remuxID3(i,e);f.samples.length&&this.remuxText(f,e);this.observer.trigger(u.a.FRAG_PARSED)},n.generateIS=function(n,t,i){var f,o,y=this.observer,p=n.samples,a=t.samples,v=this.typeSupported,w="audio/mp4",s={},b={tracks:s},c=void 0===this._initPTS,l;(c&&(f=o=1/0),n.config&&p.length&&(n.timescale=n.samplerate,r.b.log("audio sampling rate : "+n.samplerate),n.isAAC||(v.mpeg?(w="audio/mpeg",n.codec=""):v.mp3&&(n.codec="mp3")),s.audio={container:w,codec:n.codec,initSegment:!n.isAAC&&v.mpeg?new Uint8Array:h.initSegment([n]),metadata:{channelCount:n.channelCount}},c&&(f=o=p[0].pts-n.inputTimeScale*i)),t.sps&&t.pps&&a.length)&&(l=t.inputTimeScale,t.timescale=l,s.video={container:"video/mp4",codec:t.codec,initSegment:h.initSegment([t]),metadata:{width:t.width,height:t.height}},c&&(f=Math.min(f,a[0].pts-l*i),o=Math.min(o,a[0].dts-l*i),this.observer.trigger(u.a.INIT_PTS_FOUND,{initPTS:f})));Object.keys(s).length?(y.trigger(u.a.FRAG_PARSING_INIT_SEGMENT,b),this.ISGenerated=!0,c&&(this._initPTS=f,this._initDTS=o)):y.trigger(u.a.ERROR,{type:e.b.MEDIA_ERROR,details:e.a.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})},n.remuxVideo=function(n,t,i,o,s){var l,nt,ii,k,a,ri,ut,ft=8,y=n.timescale,c=n.samples,tt=[],et=c.length,ui=this._PTSNormalize,lt=this._initPTS,p=this.nextAvcDts,ot=this.isSafari,st,ht,g,b,it,yt,w,dt,rt,ai,ni,ti;if(0!==et){if(ot&&(i|=c.length&&p&&(s&&Math.abs(t-p/y)<.1||Math.abs(c[0].pts-p-lt)<y/5)),i||(p=t*y),c.forEach(function(n){n.pts=ui(n.pts-lt,p);n.dts=ui(n.dts-lt,p)}),c.sort(function(n,t){var i=n.dts-t.dts,r=n.pts-t.pts;return i||r||n.id-t.id}),st=c.reduce(function(n,t){return Math.max(Math.min(n,t.pts-t.dts),-1*bt)},0),st<0)for(r.b.warn("PTS < DTS detected in video samples, shifting DTS by "+f(st,!0)+" ms to overcome this issue"),ht=0;ht<c.length;ht++)c[ht].dts+=st;g=c[0];a=Math.max(g.dts,0);k=Math.max(g.pts,0);b=a-p;i&&b&&(b>1?r.b.log("AVC: "+f(b,!0)+" ms hole between fragments detected,filling it"):b<-1&&r.b.log("AVC: "+f(-b,!0)+" ms overlapping between fragments detected"),a=p,c[0].dts=a,k=Math.max(k-b,p),c[0].pts=k,r.b.log("Video: PTS/DTS adjusted: "+f(k,!0)+"/"+f(a,!0)+", delta: "+f(b,!0)+" ms"));g=c[c.length-1];ut=Math.max(g.dts,0);ri=Math.max(g.pts,0,ut);ot&&(l=Math.round((ut-a)/(c.length-1)));for(var fi=0,ei=0,ct=0;ct<et;ct++){for(var d=c[ct],oi=d.units,si=oi.length,at=0,vt=0;vt<si;vt++)at+=oi[vt].data.length;ei+=at;fi+=si;d.length=at;d.dts=ot?a+ct*l:Math.max(d.dts,a);d.pts=Math.max(d.pts,d.dts)}it=ei+4*fi+8;try{nt=new Uint8Array(it)}catch(n){return void this.observer.trigger(u.a.ERROR,{type:e.b.MUX_ERROR,details:e.a.REMUX_ALLOC_ERROR,fatal:!1,bytes:it,reason:"fail allocating video mdat "+it})}for(yt=new DataView(nt.buffer),yt.setUint32(0,it),nt.set(h.types.mdat,4),w=0;w<et;w++){for(var v=c[w],hi=v.units,ci=0,pt=void 0,wt=0,vi=hi.length;wt<vi;wt++){var li=hi[wt],yi=li.data,kt=li.data.byteLength;yt.setUint32(ft,kt);ft+=4;nt.set(yi,ft);ft+=kt;ci+=4+kt}if(ot)pt=Math.max(0,l*Math.round((v.pts-v.dts)/l));else{if(w<et-1)l=c[w+1].dts-v.dts;else if(dt=this.config,rt=v.dts-c[w>0?w-1:w].dts,dt.stretchShortVideoTrack){var pi=dt.maxBufferHole,wi=Math.floor(pi*y),gt=(o?k+o*y:this.nextAudioPts)-v.pts;gt>wi?((l=gt-rt)<0&&(l=rt),r.b.log("It is approximately "+f(gt,!1)+" ms to the next segment; using duration "+f(l,!1)+" ms for the last video frame.")):l=rt}else l=rt;pt=Math.round(v.pts-v.dts)}tt.push({size:ci,duration:l,cts:pt,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:v.key?2:1,isNonSync:v.key?0:1}})}return this.nextAvcDts=ut+l,ai=n.dropped,(n.nbNalu=0,n.dropped=0,tt.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1)&&(ni=tt[0].flags,ni.dependsOn=2,ni.isNonSync=0),n.samples=tt,ii=h.moof(n.sequenceNumber++,a,n),n.samples=[],ti={data1:ii,data2:nt,startPTS:k/y,endPTS:(ri+l)/y,startDTS:a/y,endDTS:this.nextAvcDts/y,type:"video",hasAudio:!1,hasVideo:!0,nb:tt.length,dropped:ai},this.observer.trigger(u.a.FRAG_PARSING_DATA,ti),ti}},n.remuxAudio=function(n,t,i,o){var nt,c,tt,gt,vt,ht,it=n.inputTimeScale,oi=n.timescale,ct=it/oi,p=(n.isAAC?1024:1152)*ct,si=this._PTSNormalize,ni=this._initPTS,yt=!n.isAAC&&this.typeSupported.mpeg,ut=yt?0:8,s=n.samples,ft=[],l=this.nextAudioPts,rt,b,pt,wt,bt,k,y,lt,ii,g,st,kt,dt,at;if(i|=s.length&&l&&(o&&Math.abs(t-l/it)<.1||Math.abs(s[0].pts-l-ni)<20*p),s.forEach(function(n){n.pts=n.dts=si(n.pts-ni,t*it)}),0!==(s=s.filter(function(n){return n.pts>=0})).length){if(i||(l=o?t*it:s[0].pts),n.isAAC)for(var ti=this.config.maxAudioFramesDrift,w=0,a=l;w<s.length;)if(b=s[w],(rt=b.pts-a)<=-ti*p)r.b.warn("Dropping 1 audio frame @ "+f(a,!0)+" ms due to "+f(rt,!0)+" ms overlap."),s.splice(w,1);else if(rt>=ti*p&&rt<et&&a){for(pt=Math.round(rt/p),r.b.warn("Injecting "+pt+" audio frames @ "+f(a,!0)+" ms due to "+f(a,!0)+" ms gap."),wt=0;wt<pt;wt++)bt=Math.max(a,0),(c=v.getSilentFrame(n.manifestCodec||n.codec,n.channelCount))||(r.b.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),c=b.unit.subarray()),s.splice(w,0,{unit:c,pts:bt,dts:bt}),a+=p,w++;b.pts=b.dts=a;a+=p;w++}else Math.abs(rt),b.pts=b.dts=a,a+=p,w++;for(k=s.length,y=0;k--;)y+=s[k].unit.byteLength;for(lt=0,ii=s.length;lt<ii;lt++){var ri=s[lt],ot=ri.unit,d=ri.pts;if(void 0!==ht)nt.duration=Math.round((d-ht)/ct);else{if(g=d-l,st=0,i&&n.isAAC&&g){if(g>0&&g<et)st=Math.round((d-l)/p),r.b.log(f(g,!0)+" ms hole between AAC samples detected,filling it"),st>0&&((c=v.getSilentFrame(n.manifestCodec||n.codec,n.channelCount))||(c=ot.subarray()),y+=st*c.length);else if(g<-12){r.b.log("drop overlapping AAC sample, expected/parsed/delta: "+f(l,!0)+" ms / "+f(d,!0)+" ms / "+f(-g,!0)+" ms");y-=ot.byteLength;continue}d=l}if(vt=d,!(y>0))return;y+=ut;try{tt=new Uint8Array(y)}catch(n){return void this.observer.trigger(u.a.ERROR,{type:e.b.MUX_ERROR,details:e.a.REMUX_ALLOC_ERROR,fatal:!1,bytes:y,reason:"fail allocating audio mdat "+y})}for(yt||(new DataView(tt.buffer).setUint32(0,y),tt.set(h.types.mdat,4)),kt=0;kt<st;kt++)(c=v.getSilentFrame(n.manifestCodec||n.codec,n.channelCount))||(r.b.log("Unable to get silent frame for given audio codec; duplicating this frame instead."),c=ot.subarray()),tt.set(c,ut),ut+=c.byteLength,nt={size:c.byteLength,cts:0,duration:1024,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},ft.push(nt)}tt.set(ot,ut);dt=ot.byteLength;ut+=dt;nt={size:dt,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}};ft.push(nt);ht=d}if(at=0,(k=ft.length)>=2&&(at=ft[k-2].duration,nt.duration=at),k){this.nextAudioPts=l=ht+ct*at;n.samples=ft;gt=yt?new Uint8Array:h.moof(n.sequenceNumber++,vt/ct,n);n.samples=[];var ui=vt/it,fi=l/it,ei={data1:gt,data2:tt,startPTS:ui,endPTS:fi,startDTS:ui,endDTS:fi,type:"audio",hasAudio:!0,hasVideo:!1,nb:k};return this.observer.trigger(u.a.FRAG_PARSING_DATA,ei),ei}return null}},n.remuxEmptyAudio=function(n,t,i,u){var f=n.inputTimeScale,y=f/(n.samplerate?n.samplerate:f),h=this.nextAudioPts,c=(void 0!==h?h:u.startDTS*f)+this._initDTS,p=u.endDTS*f+this._initDTS,l=1024*y,w=Math.ceil((p-c)/l),a=v.getSilentFrame(n.manifestCodec||n.codec,n.channelCount),o,e,s;if(r.b.warn("remux empty Audio"),a){for(o=[],e=0;e<w;e++)s=c+e*l,o.push({unit:a,pts:s,dts:s});n.samples=o;this.remuxAudio(n,t,i)}else r.b.trace("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!")},n.remuxID3=function(n){var t,r=n.samples.length,f=n.inputTimeScale,e=this._initPTS,o=this._initDTS,i;if(r){for(i=0;i<r;i++)(t=n.samples[i]).pts=(t.pts-e)/f,t.dts=(t.dts-o)/f;this.observer.trigger(u.a.FRAG_PARSING_METADATA,{samples:n.samples})}n.samples=[]},n.remuxText=function(n){var t;n.samples.sort(function(n,t){return n.pts-t.pts});var i,r=n.samples.length,f=n.inputTimeScale,e=this._initPTS;if(r){for(t=0;t<r;t++)(i=n.samples[t]).pts=(i.pts-e)/f;this.observer.trigger(u.a.FRAG_PARSING_USERDATA,{samples:n.samples})}n.samples=[]},n._PTSNormalize=function(n,t){var i;if(void 0===t)return n;for(i=t<n?-8589934592:8589934592;Math.abs(n-t)>4294967296;)n+=i;return n},t}(),kt=function(){function t(n){this.observer=n}var n=t.prototype;return n.destroy=function(){},n.resetTimeStamp=function(){},n.resetInitSegment=function(){},n.remux=function(n,t,i,r,f,e,o,s){var c=this.observer,h="";n&&(h+="audio");t&&(h+="video");c.trigger(u.a.FRAG_PARSING_DATA,{data1:s,startPTS:f,startDTS:f,type:h,hasAudio:!!n,hasVideo:!!t,nb:1,dropped:0});c.trigger(u.a.FRAG_PARSED)},t}(),b=Object(ht.a)(),ot;try{y=b.performance.now.bind(b.performance)}catch(n){r.b.debug("Unable to use Performance API on this environment");y=b.Date.now}ot=function(){function t(n,t,i,r){this.observer=n;this.typeSupported=t;this.config=i;this.vendor=r}var n=t.prototype;return n.destroy=function(){var n=this.demuxer;n&&n.destroy()},n.push=function(n,t,i,r,f,e,o,s,h,c,l,a){var p=this,v,w;n.byteLength>0&&null!=t&&null!=t.key&&"AES-128"===t.method?(v=this.decrypter,null==v&&(v=this.decrypter=new k.a(this.observer,this.config)),w=y(),v.decrypt(n,t.key.buffer,t.iv.buffer,function(n){var v=y();p.observer.trigger(u.a.FRAG_DECRYPTED,{stats:{tstart:w,tdecrypt:v}});p.pushDecrypted(new Uint8Array(n),t,new Uint8Array(i),r,f,e,o,s,h,c,l,a)})):this.pushDecrypted(new Uint8Array(n),t,new Uint8Array(i),r,f,e,o,s,h,c,l,a)},n.pushDecrypted=function(n,t,i,r,f,o,s,h,c,l,a,v){var y=this.demuxer,p,d,rt,g;if(!y||(s||h)&&!this.probe(n)){for(var b=this.observer,nt=this.typeSupported,tt=this.config,it=[{demux:pt,remux:w},{demux:at.a,remux:kt},{demux:lt,remux:w},{demux:wt,remux:w}],k=0,ut=it.length;k<ut;k++)if(p=it[k],d=p.demux.probe,d(n)){rt=this.remuxer=new p.remux(b,tt,nt,this.vendor);y=new p.demux(b,rt,tt,nt);this.probe=d;break}if(!y)return void b.trigger(u.a.ERROR,{type:e.b.MEDIA_ERROR,details:e.a.FRAG_PARSING_ERROR,fatal:!0,reason:"no demux matching with content found"});this.demuxer=y}g=this.remuxer;(s||h)&&(y.resetInitSegment(i,r,f,l),g.resetInitSegment());s&&(y.resetTimeStamp(v),g.resetTimeStamp(v));"function"==typeof y.setDecryptData&&y.setDecryptData(t);y.append(n,o,c,a)},t}();t.a=ot},function(n,t,i){"use strict";var f=i(0),r=i(1),u=Math.pow(2,32)-1,e=function(){function n(n,t){this.observer=n;this.remuxer=t}var t=n.prototype;return t.resetTimeStamp=function(n){this.initPTS=n},t.resetInitSegment=function(t,i,u,f){var e,o;t&&t.byteLength?(e=this.initData=n.parseInitSegment(t),null==i&&(i="mp4a.40.5"),null==u&&(u="avc1.42e01e"),o={},e.audio&&e.video?o.audiovideo={container:"video/mp4",codec:i+","+u,initSegment:f?t:null}:(e.audio&&(o.audio={container:"audio/mp4",codec:i,initSegment:f?t:null}),e.video&&(o.video={container:"video/mp4",codec:u,initSegment:f?t:null})),this.observer.trigger(r.a.FRAG_PARSING_INIT_SEGMENT,{tracks:o})):(i&&(this.audioCodec=i),u&&(this.videoCodec=u))},n.probe=function(t){return n.findBox({data:t,start:0,end:Math.min(t.length,16384)},["moof"]).length>0},n.bin2str=function(n){return String.fromCharCode.apply(null,n)},n.readUint16=function(n,t){n.data&&(t+=n.start,n=n.data);var i=n[t]<<8|n[t+1];return i<0?65536+i:i},n.readUint32=function(n,t){n.data&&(t+=n.start,n=n.data);var i=n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3];return i<0?4294967296+i:i},n.writeUint32=function(n,t,i){n.data&&(t+=n.start,n=n.data);n[t]=i>>24;n[t+1]=i>>16&255;n[t+2]=i>>8&255;n[t+3]=255&i},n.findBox=function(t,i){var r,s,u,h,o,f,e=[];if(t.data?(o=t.start,u=t.end,t=t.data):(o=0,u=t.byteLength),!i.length)return null;for(r=o;r<u;)f=(s=n.readUint32(t,r))>1?r+s:u,n.bin2str(t.subarray(r+4,r+8))===i[0]&&(1===i.length?e.push({data:t,start:r+8,end:f}):(h=n.findBox({data:t,start:r+8,end:f},i.slice(1))).length&&(e=e.concat(h))),r=f;return e},n.parseSegmentIndex=function(t){var s,y=n.findBox(t,["moov"])[0],p=y?y.end:null,i=0,r=n.findBox(t,["sidx"]),f,h,e,c,l,u,a,o,v;if(!r||!r[0])return null;for(s=[],f=(r=r[0]).data[0],i=0===f?8:16,h=n.readUint32(r,i),i+=4,i+=0===f?8:16,i+=2,e=r.end+0,c=n.readUint16(r,i),i+=2,l=0;l<c;l++){if(u=i,a=n.readUint32(r,u),u+=4,o=2147483647&a,1==(2147483648&a)>>>31)return void console.warn("SIDX has hierarchical references (not supported)");v=n.readUint32(r,u);u+=4;s.push({referenceSize:o,subsegmentDuration:v,info:{duration:v/h,start:e,end:e+o-1}});e+=o;i=u+=4}return{earliestPresentationTime:0,timescale:h,version:f,referencesCount:c,references:s,moovEndOffset:p}},n.parseInitSegment=function(t){var i=[];return n.findBox(t,["moov","trak"]).forEach(function(t){var o=n.findBox(t,["tkhd"])[0],c,u,e,r,v;if(o){var l=o.data[o.start],h=0===l?12:20,a=n.readUint32(o,h),s=n.findBox(t,["mdia","mdhd"])[0];s&&(h=0===(l=s.data[s.start])?12:20,c=n.readUint32(s,h),u=n.findBox(t,["mdia","hdlr"])[0],u&&(e={soun:"audio",vide:"video"}[n.bin2str(u.data.subarray(u.start+8,u.start+12))],e&&(r=n.findBox(t,["mdia","minf","stbl","stsd"]),r.length&&(r=r[0],v=n.bin2str(r.data.subarray(r.start+12,r.start+16)),f.b.log("MP4Demuxer:"+e+":"+v+" found")),i[a]={timescale:c,type:e},i[e]={timescale:c,id:a})))}}),i},n.getStartDTS=function(t,i){var u,f,r;return u=n.findBox(i,["moof","traf"]),f=[].concat.apply([],u.map(function(i){return n.findBox(i,["tfhd"]).map(function(r){var u,f;return u=n.readUint32(r,4),f=t[u].timescale||9e4,n.findBox(i,["tfdt"]).map(function(t){var r,i;return r=t.data[t.start],i=n.readUint32(t,4),1===r&&(i*=Math.pow(2,32),i+=n.readUint32(t,8)),i})[0]/f})})),r=Math.min.apply(null,f),isFinite(r)?r:0},n.offsetStartDTS=function(t,i,r){n.findBox(i,["moof","traf"]).map(function(i){return n.findBox(i,["tfhd"]).map(function(f){var o=n.readUint32(f,4),e=t[o].timescale||9e4;n.findBox(i,["tfdt"]).map(function(t){var s=t.data[t.start],i=n.readUint32(t,4),f,o;0===s?n.writeUint32(t,4,i-r*e):(i*=Math.pow(2,32),i+=n.readUint32(t,8),i-=r*e,i=Math.max(i,0),f=Math.floor(i/(u+1)),o=Math.floor(i%(u+1)),n.writeUint32(t,4,f),n.writeUint32(t,8,o))})})})},t.append=function(t,i,u,f){var e=this.initData,s,o,h;e||(this.resetInitSegment(t,this.audioCodec,this.videoCodec,!1),e=this.initData);o=this.initPTS;void 0===o&&(h=n.getStartDTS(e,t),this.initPTS=o=h-i,this.observer.trigger(r.a.INIT_PTS_FOUND,{initPTS:o}));n.offsetStartDTS(e,t,o);s=n.getStartDTS(e,t);this.remuxer.remux(e.audio,e.video,null,null,s,u,f,t)},t.destroy=function(){},n}();t.a=e},function(n,t,i){function r(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var i={},r;return t.m=n,t.c=i,t.i=function(n){return n},t.d=function(n,i,r){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:r})},t.r=function(n){Object.defineProperty(n,"__esModule",{value:!0})},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="/",t.oe=function(n){throw console.error(n),n;},r=t(t.s=ENTRY_MODULE),r.default||r}function f(n){return(n+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function e(n,t,r){var e={},l,v,o,y,a,p,h,s,c;if(e[r]=[],l=t.toString(),v=l.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/),!v)return e;for(y=v[1],a=new RegExp("(\\\\n|\\W)"+f(y)+u,"g");o=a.exec(l);)"dll-reference"!==o[3]&&e[r].push(o[3]);for(a=new RegExp("\\("+f(y)+'\\("(dll-reference\\s([\\.|\\-|\\+|\\w|/|@]+))"\\)\\)'+u,"g");o=a.exec(l);)n[o[2]]||(e[r].push(o[1]),n[o[2]]=i(o[1]).m),e[o[2]]=e[o[2]]||[],e[o[2]].push(o[4]);for(h=Object.keys(e),s=0;s<h.length;s++)for(c=0;c<e[h[s]].length;c++)p=e[h[s]][c],isNaN(1*p)||(e[h[s]][c]=1*e[h[s]][c]);return e}function o(n){return Object.keys(n).reduce(function(t,i){return t||n[i].length>0},!1)}var u="\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)";n.exports=function(n,t){var h,c,l;t=t||{};var u={main:i.m},f=t.all?{main:Object.keys(u.main)}:function(n,t){for(var a,l,i,f,r={main:[t]},h={main:[]},c={main:{}};o(r);)for(a=Object.keys(r),l=0;l<a.length;l++)if(i=a[l],f=r[i].pop(),c[i]=c[i]||{},!c[i][f]&&n[i][f]){c[i][f]=!0;h[i]=h[i]||[];h[i].push(f);for(var v=e(n,n[i][f],i),s=Object.keys(v),u=0;u<s.length;u++)r[s[u]]=r[s[u]]||[],r[s[u]]=r[s[u]].concat(v[s[u]])}return h}(u,n),s="";return(Object.keys(f).filter(function(n){return"main"!==n}).forEach(function(n){for(var t=0;f[n][t];)t++;f[n].push(t);u[n][t]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })";s=s+"var "+n+" = ("+r.toString().replace("ENTRY_MODULE",JSON.stringify(t))+")({"+f[n].map(function(t){return JSON.stringify(t)+": "+u[n][t].toString()}).join(",")+"});\n"}),s=s+"new (("+r.toString().replace("ENTRY_MODULE",JSON.stringify(n))+")({"+f.main.map(function(n){return JSON.stringify(n)+": "+u.main[n].toString()}).join(",")+"}))(self);",h=new window.Blob([s],{type:"text/javascript"}),t.bare)?h:(c=(window.URL||window.webkitURL||window.mozURL||window.msURL).createObjectURL(h),l=new window.Worker(c),l.objectURL=c,l)}},function(n,t,i){"use strict";i.r(t);var u=i(9),r=i(1),f=i(0),e=i(8);t.default=function(n){var t=new e.EventEmitter,i;t.trigger=function(n){for(var r=arguments.length,u=new Array(r>1?r-1:0),i=1;i<r;i++)u[i-1]=arguments[i];t.emit.apply(t,[n,n].concat(u))};t.off=function(n){for(var r=arguments.length,u=new Array(r>1?r-1:0),i=1;i<r;i++)u[i-1]=arguments[i];t.removeListener.apply(t,[n].concat(u))};i=function(t,i){n.postMessage({event:t,data:i})};n.addEventListener("message",function(r){var e=r.data,o;switch(e.cmd){case"init":o=JSON.parse(e.config);n.demuxer=new u.a(t,e.typeSupported,o,e.vendor);Object(f.a)(o.debug);i("init",null);break;case"demux":n.demuxer.push(e.data,e.decryptdata,e.initSegment,e.audioCodec,e.videoCodec,e.timeOffset,e.discontinuity,e.trackSwitch,e.contiguous,e.duration,e.accurateTimeOffset,e.defaultInitPTS)}});t.on(r.a.FRAG_DECRYPTED,i);t.on(r.a.FRAG_PARSING_INIT_SEGMENT,i);t.on(r.a.FRAG_PARSED,i);t.on(r.a.ERROR,i);t.on(r.a.FRAG_PARSING_METADATA,i);t.on(r.a.FRAG_PARSING_USERDATA,i);t.on(r.a.INIT_PTS_FOUND,i);t.on(r.a.FRAG_PARSING_DATA,function(t,i){var r=[],u={event:t,data:i};i.data1&&(u.data1=i.data1.buffer,r.push(i.data1.buffer),delete i.data1);i.data2&&(u.data2=i.data2.buffer,r.push(i.data2.buffer),delete i.data2);n.postMessage(u,r)})}},function(n,t,i){"use strict";function pi(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function wi(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function bi(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function dt(n,t){return MediaSource.isTypeSupported((t||"video")+'/mp4;codecs="'+n+'"')}function te(n,t){n.rawProgramDateTime?n.programDateTime=Date.parse(n.rawProgramDateTime):t&&t.programDateTime&&(n.programDateTime=t.endProgramDateTime);Object(e.a)(n.programDateTime)||(n.programDateTime=null,n.rawProgramDateTime=null)}function ni(){return window.MediaSource||window.WebKitMediaSource}function or(n,t,i){switch(t){case"audio":n.audioGroupIds||(n.audioGroupIds=[]);n.audioGroupIds.push(i);break;case"text":n.textGroupIds||(n.textGroupIds=[]);n.textGroupIds.push(i)}}function sr(n,t,i){var u=n[t],f=n[i],o=f.startPTS;Object(e.a)(o)?i>t?(u.duration=o-u.start,u.duration<0&&r.b.warn("negative duration computed for frag "+u.sn+",level "+u.level+", there should be some duration drift between playlist and fragment!")):(f.duration=u.start-o,f.duration<0&&r.b.warn("negative duration computed for frag "+f.sn+",level "+f.level+", there should be some duration drift between playlist and fragment!")):f.start=i>t?u.start+u.duration:Math.max(u.start-f.duration,0)}function ri(n,t,i,r,u,f){var a=i,l,v,s,h,o,c;if(Object(e.a)(t.startPTS)&&(l=Math.abs(t.startPTS-i),t.deltaPTS=Object(e.a)(t.deltaPTS)?Math.max(l,t.deltaPTS):l,a=Math.max(i,t.startPTS),i=Math.min(i,t.startPTS),r=Math.max(r,t.endPTS),u=Math.min(u,t.startDTS),f=Math.max(f,t.endDTS)),v=i-t.start,t.start=t.startPTS=i,t.maxStartPTS=a,t.endPTS=r,t.startDTS=u,t.endDTS=f,t.duration=r-i,c=t.sn,!n||c<n.startSN||c>n.endSN)return 0;for(s=c-n.startSN,(h=n.fragments)[s]=t,o=s;o>0;o--)sr(h,o,o-1);for(o=s;o<h.length-1;o++)sr(h,o,o+1);return n.PTSKnown=!0,v}function hr(n,t){var i,u,o,f;if(t.initSegment&&n.initSegment&&(t.initSegment=n.initSegment),u=0,cr(n,t,function(n,r){u=n.cc-r.cc;Object(e.a)(n.startPTS)&&(r.start=r.startPTS=n.startPTS,r.endPTS=n.endPTS,r.duration=n.duration,r.backtracked=n.backtracked,r.dropped=n.dropped,i=r);t.PTSKnown=!0}),t.PTSKnown){if(u)for(r.b.log("discontinuity sliding from playlist, take drift into account"),o=t.fragments,f=0;f<o.length;f++)o[f].cc+=u;i?ri(t,i,i.startPTS,i.endPTS,i.startDTS,i.endDTS):function(n,t){var r=t.startSN-n.startSN,u=n.fragments,f=t.fragments,i;if(!(r<0)&&!(r>u.length))for(i=0;i<f.length;i++)f[i].start+=u[r].start}(n,t);t.PTSKnown=n.PTSKnown}}function cr(n,t,i){var u,f;if(n&&t)for(var e=Math.max(n.startSN,t.startSN)-t.startSN,o=Math.min(n.endSN,t.endSN)-t.startSN,s=t.startSN-n.startSN,r=e;r<=o;r++){if(u=n.fragments[s+r],f=t.fragments[r],!u||!f)break;i(u,f,r)}}function lr(n,t,i){var r=1e3*(t.averagetargetduration?t.averagetargetduration:t.targetduration),u=r/2;return n&&t.endSN===n.endSN&&(r=u),i&&(r=Math.max(u,r-(window.performance.now()-i))),Math.round(r)}function ar(n,t){t.fragments.forEach(function(t){if(t){var i=t.start+n;t.start=t.startPTS=i;t.endPTS=i+t.duration}});t.PTSKnown=!0}function vr(n,t,i){!function(n,t,i){if(function(n,t,i){var r=!1;return t&&t.details&&i&&(i.endCC>i.startCC||n&&n.cc<i.startCC)&&(r=!0),r}(n,i,t)){var u=function(n,t){var u=n.fragments,f=t.fragments,i;if(f.length&&u.length){if(i=function(n,t){for(var r,u=null,i=0;i<n.length;i+=1)if(r=n[i],r&&r.cc===t){u=r;break}return u}(u,f[0].cc),i&&(!i||i.startPTS))return i;r.b.log("No frag in previous level to align on")}else r.b.log("No fragments to align")}(i.details,t);u&&(r.b.log("Adjusting PTS using last level due to CC increase within current level"),ar(u.start,t))}}(n,i,t);!i.PTSKnown&&t&&function(n,t){if(t&&t.fragments.length){if(!n.hasProgramDateTime||!t.hasProgramDateTime)return;var u=t.fragments[0].programDateTime,i=(n.fragments[0].programDateTime-u)/1e3+t.fragments[0].start;Object(e.a)(i)&&(r.b.log("adjusting PTS using programDateTime delta, sliding:"+i.toFixed(3)),ar(i,n))}}(i,t.details)}function yr(n,t,i){var r,u;if(null===t||!Array.isArray(n)||!n.length||!Object(e.a)(t)||t<(n[0].programDateTime||0)||t>=(n[n.length-1].endProgramDateTime||0))return null;for(i=i||0,r=0;r<n.length;++r)if(u=n[r],he(t,i,u))return u;return null}function pr(n,t,i,r){void 0===i&&(i=0);void 0===r&&(r=0);var u=n?t[n.sn-t[0].sn+1]:null;return u&&!wr(i,r,u)?u:at.search(t,wr.bind(null,i,r))}function wr(n,t,i){void 0===n&&(n=0);void 0===t&&(t=0);var r=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-r<=n?1:i.start-r>n&&i.start?-1:0}function he(n,t,i){var r=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-r>n}function ce(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function nu(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function iu(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function fu(n,t){var i;try{i=new Event("addtrack")}catch(n){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=n;t.dispatchEvent(i)}function ft(n){if(n&&n.cues)for(;n.cues.length>0;)n.removeCue(n.cues[0])}function ou(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function hu(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function lu(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function vu(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function pu(){this.window=window;this.state="INITIAL";this.buffer="";this.decoder=new to;this.regionList=[]}function wu(){this.values=Object.create(null)}function bu(n,t,i,r){var f=r?n.split(r):[n],e,u;for(e in f)"string"==typeof f[e]&&(u=f[e].split(i),2===u.length&&t(u[0],u[1]))}function io(n,t,i){function f(){var t=function(n){function i(n,t,i,r){return 3600*(0|n)+60*(0|t)+(0|i)+(0|r)/1e3}var t=n.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return t?t[3]?i(t[1],t[2],t[3].replace(":",""),t[4]):t[1]>59?i(t[1],t[2],0,t[4]):i(0,t[1],t[2],t[4]):null}(n);if(null===t)throw new Error("Malformed timestamp: "+u);return n=n.replace(/^[^\sa-zA-Z-]+/,""),t}function r(){n=n.replace(/^\s+/,"")}var u=n;if(r(),t.startTime=f(),r(),"-->"!==n.substr(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+u);n=n.substr(3);r();t.endTime=f();r(),function(n,t){var r=new wu,u,f;bu(n,function(n,t){var f,u,e;switch(n){case"region":for(f=i.length-1;f>=0;f--)if(i[f].id===t){r.set(n,i[f].region);break}break;case"vertical":r.alt(n,t,["rl","lr"]);break;case"line":u=t.split(",");e=u[0];r.integer(n,e);r.percent(n,e)&&r.set("snapToLines",!1);r.alt(n,e,["auto"]);2===u.length&&r.alt("lineAlign",u[1],["start",ot,"end"]);break;case"position":u=t.split(",");r.percent(n,u[0]);2===u.length&&r.alt("positionAlign",u[1],["start",ot,"end","line-left","line-right","auto"]);break;case"size":r.percent(n,t);break;case"align":r.alt(n,t,["start",ot,"end","left","right"])}},/:/,/\s/);t.region=r.get("region",null);t.vertical=r.get("vertical","");u=r.get("line","auto");"auto"===u&&-1===bt.line&&(u=-1);t.line=u;t.lineAlign=r.get("lineAlign","start");t.snapToLines=r.get("snapToLines",!0);t.size=r.get("size",100);t.align=r.get("align",ot);f=r.get("position","auto");"auto"===f&&50===bt.position&&(f="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50);t.position=f}(n,t)}function ku(n){return n.replace(/<br(?: \/)?>/gi,"\n")}function ro(n,t,i,r){for(var e,o,h,f,c,s,l=window.VTTCue||TextTrackCue,u=0;u<r.rows.length;u++)if(h=!0,f=0,c="",!(e=r.rows[u]).isEmpty()){for(s=0;s<e.chars.length;s++)e.chars[s].uchar.match(/\s/)&&h?f++:(c+=e.chars[s].uchar,h=!1);e.cueStartTime=t;t===i&&(i+=.0001);o=new l(t,i,ku(c.trim()));f>=16?f--:f++;o.line=navigator.userAgent.match(/Firefox\//)?u+1:u>7?u-2:u+1;o.align="left";o.position=Math.max(0,Math.min(100,f/32*100));n.addCue(o)}}function ef(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function vo(n,t){return n&&n.label===t.name&&!(n.textTrack1||n.textTrack2)}function sf(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function ai(n){for(var r,i=[],t=0;t<n.length;t++)r=n[t],"subtitles"===r.kind&&r.label&&i.push(n[t]);return i}function lf(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function bo(n,t,i){return t in n?Object.defineProperty(n,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[t]=i,n}function ko(n,t,i){return t in n?Object.defineProperty(n,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[t]=i,n}function l(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function yf(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function pf(n,t,i){return t&&yf(n.prototype,t),i&&yf(n,i),n}var st,yi,p,kt,it,ui,br,tu,ru,uu,wt,au,bt,ot,du,of,cf,af,vf,vi;i.r(t);st={};i.r(st);i.d(st,"newCue",function(){return ro});var c,g,ht=i(6),f=i(2),e=i(3),u=i(1),r=i(0),wf={hlsEventGeneric:!0,hlsHandlerDestroying:!0,hlsHandlerDestroyed:!0},h=function(){function t(n){this.hls=void 0;this.handledEvents=void 0;this.useGenericHandler=void 0;this.hls=n;this.onEvent=this.onEvent.bind(this);for(var i=arguments.length,r=new Array(i>1?i-1:0),t=1;t<i;t++)r[t-1]=arguments[t];this.handledEvents=r;this.useGenericHandler=!0;this.registerListeners()}var n=t.prototype;return n.destroy=function(){this.onHandlerDestroying();this.unregisterListeners();this.onHandlerDestroyed()},n.onHandlerDestroying=function(){},n.onHandlerDestroyed=function(){},n.isEventHandler=function(){return"object"==typeof this.handledEvents&&this.handledEvents.length&&"function"==typeof this.onEvent},n.registerListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(n){if(wf[n])throw new Error("Forbidden event-name: "+n);this.hls.on(n,this.onEvent)},this)},n.unregisterListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(n){this.hls.off(n,this.onEvent)},this)},n.onEvent=function(n,t){this.onEventGeneric(n,t)},n.onEventGeneric=function(n,t){try{(function(n,t){var i="on"+n.replace("hls","");if("function"!=typeof this[i])throw new Error("Event "+n+" has no generic handler in this "+this.constructor.name+" class (tried "+i+")");return this[i].bind(this,t)}).call(this,n,t).call()}catch(t){r.b.error("An internal error happened while handling event "+n+'. Error message: "'+t.message+'". Here is a stacktrace:',t);this.hls.trigger(u.a.ERROR,{type:f.b.OTHER_ERROR,details:f.a.INTERNAL_EXCEPTION,fatal:!1,event:n,err:t})}},t}();!function(n){n.MANIFEST="manifest";n.LEVEL="level";n.AUDIO_TRACK="audioTrack";n.SUBTITLE_TRACK="subtitleTrack"}(c||(c={})),function(n){n.MAIN="main";n.AUDIO="audio";n.SUBTITLE="subtitle"}(g||(g={}));yi=i(10);kt=function(){function t(n,t){this._uri=null;this.baseuri=void 0;this.reluri=void 0;this.method=null;this.key=null;this.iv=null;this.baseuri=n;this.reluri=t}var n,i,r;return n=t,(i=[{key:"uri",get:function(){return!this._uri&&this.reluri&&(this._uri=Object(ht.buildAbsoluteURL)(this.baseuri,this.reluri,{alwaysNormalize:!0})),this._uri}}])&&pi(n.prototype,i),r&&pi(n,r),t}();!function(n){n.AUDIO="audio";n.VIDEO="video"}(p||(p={}));it=function(){function t(){var n;this._url=null;this._byteRange=null;this._decryptdata=null;this._elementaryStreams=((n={})[p.AUDIO]=!1,n[p.VIDEO]=!1,n);this.deltaPTS=0;this.rawProgramDateTime=null;this.programDateTime=null;this.title=null;this.tagList=[];this.cc=void 0;this.type=void 0;this.relurl=void 0;this.baseurl=void 0;this.duration=void 0;this.start=void 0;this.sn=0;this.urlId=0;this.level=0;this.levelkey=void 0;this.loader=void 0}var i,u,f,n=t.prototype;return n.setByteRange=function(n,t){var r=n.split("@",2),i=[];i[0]=1===r.length?t?t.byteRangeEndOffset:0:parseInt(r[1]);i[1]=parseInt(r[0])+i[0];this._byteRange=i},n.addElementaryStream=function(n){this._elementaryStreams[n]=!0},n.hasElementaryStream=function(n){return!0===this._elementaryStreams[n]},n.createInitializationVector=function(n){for(var i=new Uint8Array(16),t=12;t<16;t++)i[t]=n>>8*(15-t)&255;return i},n.setDecryptDataFromLevelKey=function(n,t){var i=n;return n&&n.method&&n.uri&&!n.iv&&((i=new kt(n.baseuri,n.reluri)).method=n.method,i.iv=this.createInitializationVector(t)),i},i=t,(u=[{key:"url",get:function(){return!this._url&&this.relurl&&(this._url=Object(ht.buildAbsoluteURL)(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url},set:function(n){this._url=n}},{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"decryptdata",get:function(){if(!this.levelkey&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkey){var n=this.sn;"number"!=typeof n&&(this.levelkey&&"AES-128"===this.levelkey.method&&!this.levelkey.iv&&r.b.warn('missing IV for initialization segment with method="'+this.levelkey.method+'" - compliance issue'),n=0);this._decryptdata=this.setDecryptDataFromLevelKey(this.levelkey,n)}return this._decryptdata}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime||!Object(e.a)(this.programDateTime))return null;var n=Object(e.a)(this.duration)?this.duration:0;return this.programDateTime+1e3*n}},{key:"encrypted",get:function(){return!(!this.decryptdata||null===this.decryptdata.uri||null!==this.decryptdata.key)}}])&&wi(i.prototype,u),f&&wi(i,f),t}();var bf=function(){function t(n){this.endCC=0;this.endSN=0;this.fragments=[];this.initSegment=null;this.live=!0;this.needSidxRanges=!1;this.startCC=0;this.startSN=0;this.startTimeOffset=null;this.targetduration=0;this.totalduration=0;this.type=null;this.url=n;this.version=null}var n,i,r;return n=t,(i=[{key:"hasProgramDateTime",get:function(){return!(!this.fragments[0]||!Object(e.a)(this.fragments[0].programDateTime))}}])&&bi(n.prototype,i),r&&bi(n,r),t}(),kf=/^(\d+)x(\d+)$/,ki=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,rt=function(){function t(n){for(var i in"string"==typeof n&&(n=t.parseAttrList(n)),n)n.hasOwnProperty(i)&&(this[i]=n[i])}var n=t.prototype;return n.decimalInteger=function(n){var t=parseInt(this[n],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.hexadecimalInteger=function(n){var t,r,i;if(this[n]){for(t=(this[n]||"0x").slice(2),t=(1&t.length?"0":"")+t,r=new Uint8Array(t.length/2),i=0;i<t.length/2;i++)r[i]=parseInt(t.slice(2*i,2*i+2),16);return r}return null},n.hexadecimalIntegerAsNumber=function(n){var t=parseInt(this[n],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},n.decimalFloatingPoint=function(n){return parseFloat(this[n])},n.enumeratedString=function(n){return this[n]},n.decimalResolution=function(n){var t=kf.exec(this[n]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},t.parseAttrList=function(n){var i,r={},t;for(ki.lastIndex=0;null!==(i=ki.exec(n));)t=i[2],0===t.indexOf('"')&&t.lastIndexOf('"')===t.length-1&&(t=t.slice(1,-1)),r[i[1]]=t;return r},t}(),df={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,drac:!0,dvav:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0}};var di=/#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g,gi=/#EXT-X-MEDIA:(.*)/g,nr=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/|(?!#)([\S+ ?]+)/.source,/|#EXT-X-BYTERANGE:*(.+)/.source,/|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/|#.*/.source].join(""),"g"),gf=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)([^:]*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/,ne=/\.(mp4|m4s|m4v|m4a)$/i,ct=function(){function n(){}return n.findGroup=function(n,t){for(var r,i=0;i<n.length;i++)if(r=n[i],r.id===t)return r},n.convertAVC1ToAVCOTI=function(n){var t,i=n.split(".");return i.length>2?(t=i.shift()+".",t+=parseInt(i.shift()).toString(16),t+=("000"+parseInt(i.shift()).toString(16)).substr(-4)):t=n,t},n.resolve=function(n,t){return ht.buildAbsoluteURL(t,n,{alwaysNormalize:!0})},n.parseMasterPlaylist=function(t,i){function s(n,t){["video","audio"].forEach(function(i){var r=n.filter(function(n){return function(n,t){var i=df[t];return!!i&&!0===i[n.slice(0,4)]}(n,i)}),u;r.length&&(u=r.filter(function(n){return 0===n.lastIndexOf("avc1",0)||0===n.lastIndexOf("mp4a",0)}),t[i+"Codec"]=u.length>0?u[0]:r[0],n=n.filter(function(n){return-1===r.indexOf(n)}))});t.unknownCodecs=n}var e,o=[],r,u,f;for(di.lastIndex=0;null!=(e=di.exec(t));)r={},u=r.attrs=new rt(e[1]),r.url=n.resolve(e[2],i),f=u.decimalResolution("RESOLUTION"),f&&(r.width=f.width,r.height=f.height),r.bitrate=u.decimalInteger("AVERAGE-BANDWIDTH")||u.decimalInteger("BANDWIDTH"),r.name=u.NAME,s([].concat((u.CODECS||"").split(/[ ,]+/)),r),r.videoCodec&&-1!==r.videoCodec.indexOf("avc1")&&(r.videoCodec=n.convertAVC1ToAVCOTI(r.videoCodec)),o.push(r);return o},n.parseMasterPlaylistMedia=function(t,i,r,u){var h,o,c,f,e,s;for(void 0===u&&(u=[]),o=[],c=0,gi.lastIndex=0;null!==(h=gi.exec(t));)f=new rt(h[1]),f.TYPE===r&&(e={id:c++,groupId:f["GROUP-ID"],name:f.NAME||f.LANGUAGE,type:r,"default":"YES"===f.DEFAULT,autoselect:"YES"===f.AUTOSELECT,forced:"YES"===f.FORCED,lang:f.LANGUAGE},(f.URI&&(e.url=n.resolve(f.URI,i)),u.length)&&(s=n.findGroup(u,e.groupId),e.audioCodec=s?s.codec:u[0].codec),o.push(e));return o},n.parseLevelPlaylist=function(n,t,i,u,f){var h,l,a,g=0,v=0,s=new bf(t),w=0,y=null,o=new it,b=null,p,k,ot,nt,c,tt,et,d;for(nr.lastIndex=0;null!==(h=nr.exec(n));)if(p=h[1],p)o.duration=parseFloat(p),k=(" "+h[2]).slice(1),o.title=k||null,o.tagList.push(k?["INF",p,k]:["INF",p]);else if(h[3])Object(e.a)(o.duration)&&(ot=g++,o.type=u,o.start=v,a&&(o.levelkey=a),o.sn=ot,o.level=i,o.cc=w,o.urlId=f,o.baseurl=t,o.relurl=(" "+h[3]).slice(1),te(o,y),s.fragments.push(o),y=o,v+=o.duration,o=new it);else if(h[4])nt=(" "+h[4]).slice(1),y?o.setByteRange(nt,y):o.setByteRange(nt);else if(h[5])o.rawProgramDateTime=(" "+h[5]).slice(1),o.tagList.push(["PROGRAM-DATE-TIME",o.rawProgramDateTime]),null===b&&(b=s.fragments.length);else{if(!(h=h[0].match(gf))){r.b.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<h.length&&void 0===h[l];l++);c=(" "+h[l+1]).slice(1);tt=(" "+h[l+2]).slice(1);switch(h[l]){case"#":o.tagList.push(tt?[c,tt]:[c]);break;case"PLAYLIST-TYPE":s.type=c.toUpperCase();break;case"MEDIA-SEQUENCE":g=s.startSN=parseInt(c);break;case"TARGETDURATION":s.targetduration=parseFloat(c);break;case"VERSION":s.version=parseInt(c);break;case"EXTM3U":break;case"ENDLIST":s.live=!1;break;case"DIS":w++;o.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":w=parseInt(c);break;case"KEY":var ut=new rt(c),ft=ut.enumeratedString("METHOD"),st=ut.URI,ht=ut.hexadecimalInteger("IV");ft&&(a=new kt(t,st),st&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(ft)>=0&&(a.method=ft,a.key=null,a.iv=ht));break;case"START":et=new rt(c).decimalFloatingPoint("TIME-OFFSET");Object(e.a)(et)&&(s.startTimeOffset=et);break;case"MAP":d=new rt(c);o.relurl=d.URI;d.BYTERANGE&&o.setByteRange(d.BYTERANGE);o.baseurl=t;o.level=i;o.type=u;o.sn="initSegment";s.initSegment=o;(o=new it).rawProgramDateTime=s.initSegment.rawProgramDateTime;break;default:r.b.warn("line parsed but not handled: "+h)}}return(o=y)&&!o.relurl&&(s.fragments.pop(),v-=o.duration),s.totalduration=v,s.averagetargetduration=v/s.fragments.length,s.endSN=g-1,s.startCC=s.fragments[0]?s.fragments[0].cc:0,s.endCC=w,!s.initSegment&&s.fragments.length&&s.fragments.every(function(n){return ne.test(n.relurl)})&&(r.b.warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX"),(o=new it).relurl=s.fragments[0].relurl,o.baseurl=t,o.level=i,o.type=u,o.sn="initSegment",s.initSegment=o,s.needSidxRanges=!0),b&&function(n,t){for(var r,u=n[t],i=t-1;i>=0;i--)r=n[i],r.programDateTime=u.programDateTime-1e3*r.duration,u=r}(s.fragments,b),s},n}();var tr=window.performance,ie=function(n){function i(t){var i;return(i=n.call(this,t,u.a.MANIFEST_LOADING,u.a.LEVEL_LOADING,u.a.AUDIO_TRACK_LOADING,u.a.SUBTITLE_TRACK_LOADING)||this).loaders={},i}var o,s,t;return s=n,(o=i).prototype=Object.create(s.prototype),o.prototype.constructor=o,o.__proto__=s,i.canHaveQualityLevels=function(n){return n!==c.AUDIO_TRACK&&n!==c.SUBTITLE_TRACK},i.mapContextToLevelType=function(n){switch(n.type){case c.AUDIO_TRACK:return g.AUDIO;case c.SUBTITLE_TRACK:return g.SUBTITLE;default:return g.MAIN}},i.getResponseUrl=function(n,t){var i=n.url;return void 0!==i&&0!==i.indexOf("data:")||(i=t.url),i},t=i.prototype,t.createInternalLoader=function(n){var t=this.hls.config,r=t.pLoader,u=t.loader,i=new(r||u)(t);return n.loader=i,this.loaders[n.type]=i,i},t.getInternalLoader=function(n){return this.loaders[n.type]},t.resetInternalLoader=function(n){this.loaders[n]&&delete this.loaders[n]},t.destroyInternalLoaders=function(){var n,t;for(n in this.loaders)t=this.loaders[n],t&&t.destroy(),this.resetInternalLoader(n)},t.destroy=function(){this.destroyInternalLoaders();n.prototype.destroy.call(this)},t.onManifestLoading=function(n){this.load({url:n.url,type:c.MANIFEST,level:0,id:null,responseType:"text"})},t.onLevelLoading=function(n){this.load({url:n.url,type:c.LEVEL,level:n.level,id:n.id,responseType:"text"})},t.onAudioTrackLoading=function(n){this.load({url:n.url,type:c.AUDIO_TRACK,level:null,id:n.id,responseType:"text"})},t.onSubtitleTrackLoading=function(n){this.load({url:n.url,type:c.SUBTITLE_TRACK,level:null,id:n.id,responseType:"text"})},t.load=function(n){var t=this.hls.config,u,f,e,o,i,s,h,l;if(r.b.debug("Loading playlist of type "+n.type+", level: "+n.level+", id: "+n.id),i=this.getInternalLoader(n),i){if(s=i.context,s&&s.url===n.url)return r.b.trace("playlist request ongoing"),!1;r.b.warn("aborting previous loader for type: "+n.type);i.abort()}switch(n.type){case c.MANIFEST:u=t.manifestLoadingMaxRetry;f=t.manifestLoadingTimeOut;e=t.manifestLoadingRetryDelay;o=t.manifestLoadingMaxRetryTimeout;break;case c.LEVEL:u=0;o=0;e=0;f=t.levelLoadingTimeOut;break;default:u=t.levelLoadingMaxRetry;f=t.levelLoadingTimeOut;e=t.levelLoadingRetryDelay;o=t.levelLoadingMaxRetryTimeout}return i=this.createInternalLoader(n),h={timeout:f,maxRetry:u,retryDelay:e,maxRetryDelay:o},l={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)},r.b.debug("Calling internal loader delegate for URL: "+n.url),i.load(n,h,l),!0},t.loadsuccess=function(n,t,i,r){if(void 0===r&&(r=null),i.isSidxRequest)return this._handleSidxRequest(n,i),void this._handlePlaylistLoaded(n,t,i,r);if(this.resetInternalLoader(i.type),"string"!=typeof n.data)throw new Error('expected responseType of "text" for PlaylistLoader');var u=n.data;t.tload=tr.now();0===u.indexOf("#EXTM3U")?u.indexOf("#EXTINF:")>0||u.indexOf("#EXT-X-TARGETDURATION:")>0?this._handleTrackOrLevelPlaylist(n,t,i,r):this._handleMasterPlaylist(n,t,i,r):this._handleManifestParsingError(n,i,"no EXTM3U delimiter",r)},t.loaderror=function(n,t,i){void 0===i&&(i=null);this._handleNetworkError(t,i,!1,n)},t.loadtimeout=function(n,t,i){void 0===i&&(i=null);this._handleNetworkError(t,i,!0)},t._handleMasterPlaylist=function(n,t,f,e){var a=this.hls,c=n.data,s=i.getResponseUrl(n,f),o=ct.parseMasterPlaylist(c,s),l;if(o.length){var v=o.map(function(n){return{id:n.attrs.AUDIO,codec:n.audioCodec}}),h=ct.parseMasterPlaylistMedia(c,s,"AUDIO",v),y=ct.parseMasterPlaylistMedia(c,s,"SUBTITLES");h.length&&(l=!1,h.forEach(function(n){n.url||(l=!0)}),!1===l&&o[0].audioCodec&&!o[0].attrs.AUDIO&&(r.b.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"),h.unshift({type:"main",name:"main","default":!1,autoselect:!1,forced:!1,id:-1})));a.trigger(u.a.MANIFEST_LOADED,{levels:o,audioTracks:h,subtitles:y,url:s,stats:t,networkDetails:e})}else this._handleManifestParsingError(n,f,"no level found in manifest",e)},t._handleTrackOrLevelPlaylist=function(n,t,r,f){var w=this.hls,s=r.id,h=r.level,a=r.type,l=i.getResponseUrl(n,r),v=Object(e.a)(s)?s:0,b=Object(e.a)(h)?h:v,k=i.mapContextToLevelType(r),o=ct.parseLevelPlaylist(n.data,l,b,k,v),y,p;(o.tload=t.tload,a===c.MANIFEST)&&(y={url:l,details:o},w.trigger(u.a.MANIFEST_LOADED,{levels:[y],audioTracks:[],url:l,stats:t,networkDetails:f}));(t.tparsed=tr.now(),o.needSidxRanges)?(p=o.initSegment.url,this.load({url:p,isSidxRequest:!0,type:a,level:h,levelDetails:o,id:s,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer"})):(r.levelDetails=o,this._handlePlaylistLoaded(n,t,r,f))},t._handleSidxRequest=function(n,t){var r,u,i;if("string"==typeof n.data)throw new Error("sidx request must be made with responseType of array buffer");r=yi.a.parseSegmentIndex(new Uint8Array(n.data));r&&(u=r.references,i=t.levelDetails,u.forEach(function(n,t){var r=n.info,u;i&&(u=i.fragments[t],0===u.byteRange.length&&u.setByteRange(String(1+r.end-r.start)+"@"+String(r.start)))}),i&&i.initSegment.setByteRange(String(r.moovEndOffset)+"@0"))},t._handleManifestParsingError=function(n,t,i,r){this.hls.trigger(u.a.ERROR,{type:f.b.NETWORK_ERROR,details:f.a.MANIFEST_PARSING_ERROR,fatal:!0,url:n.url,reason:i,networkDetails:r})},t._handleNetworkError=function(n,t,i,e){var s,o,h,l;void 0===i&&(i=!1);void 0===e&&(e=null);r.b.info("A network error occured while loading a "+n.type+"-type playlist");h=this.getInternalLoader(n);switch(n.type){case c.MANIFEST:s=i?f.a.MANIFEST_LOAD_TIMEOUT:f.a.MANIFEST_LOAD_ERROR;o=!0;break;case c.LEVEL:s=i?f.a.LEVEL_LOAD_TIMEOUT:f.a.LEVEL_LOAD_ERROR;o=!1;break;case c.AUDIO_TRACK:s=i?f.a.AUDIO_TRACK_LOAD_TIMEOUT:f.a.AUDIO_TRACK_LOAD_ERROR;o=!1;break;default:o=!1}h&&(h.abort(),this.resetInternalLoader(n.type));l={type:f.b.NETWORK_ERROR,details:s,fatal:o,url:n.url,loader:h,context:n,networkDetails:t};e&&(l.response=e);this.hls.trigger(u.a.ERROR,l)},t._handlePlaylistLoaded=function(n,t,r,f){var s=r.type,h=r.level,o=r.id,e=r.levelDetails;if(e&&e.targetduration)if(i.canHaveQualityLevels(r.type))this.hls.trigger(u.a.LEVEL_LOADED,{details:e,level:h||0,id:o||0,stats:t,networkDetails:f});else switch(s){case c.AUDIO_TRACK:this.hls.trigger(u.a.AUDIO_TRACK_LOADED,{details:e,id:o,stats:t,networkDetails:f});break;case c.SUBTITLE_TRACK:this.hls.trigger(u.a.SUBTITLE_TRACK_LOADED,{details:e,id:o,stats:t,networkDetails:f})}else this._handleManifestParsingError(n,r,"invalid target duration",f)},i}(h),re=function(n){function s(t){var i;return(i=n.call(this,t,u.a.FRAG_LOADING)||this).loaders={},i}var i,o,t;return o=n,(i=s).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=s.prototype,t.destroy=function(){var i=this.loaders,r,t;for(r in i)t=i[r],t&&t.destroy();this.loaders={};n.prototype.destroy.call(this)},t.onFragLoading=function(n){var t=n.frag,o=t.type,c=this.loaders,i=this.hls.config,v=i.fLoader,y=i.loader,f,l,a,u,s,h;t.loaded=0;u=c[o];u&&(r.b.warn("abort previous fragment loader for type: "+o),u.abort());u=c[o]=t.loader=i.fLoader?new v(i):new y(i);f={url:t.url,frag:t,responseType:"arraybuffer",progressData:!1};s=t.byteRangeStartOffset;h=t.byteRangeEndOffset;Object(e.a)(s)&&Object(e.a)(h)&&(f.rangeStart=s,f.rangeEnd=h);l={timeout:i.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:i.fragLoadingMaxRetryTimeout};a={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this),onProgress:this.loadprogress.bind(this)};u.load(f,l,a)},t.loadsuccess=function(n,t,i,r){void 0===r&&(r=null);var e=n.data,f=i.frag;f.loader=void 0;this.loaders[f.type]=void 0;this.hls.trigger(u.a.FRAG_LOADED,{payload:e,frag:f,stats:t,networkDetails:r})},t.loaderror=function(n,t,i){void 0===i&&(i=null);var r=t.frag,e=r.loader;e&&e.abort();this.loaders[r.type]=void 0;this.hls.trigger(u.a.ERROR,{type:f.b.NETWORK_ERROR,details:f.a.FRAG_LOAD_ERROR,fatal:!1,frag:t.frag,response:n,networkDetails:i})},t.loadtimeout=function(n,t,i){void 0===i&&(i=null);var r=t.frag,e=r.loader;e&&e.abort();this.loaders[r.type]=void 0;this.hls.trigger(u.a.ERROR,{type:f.b.NETWORK_ERROR,details:f.a.FRAG_LOAD_TIMEOUT,fatal:!1,frag:t.frag,networkDetails:i})},t.loadprogress=function(n,t,i,r){void 0===r&&(r=null);var f=t.frag;f.loaded=n.loaded;this.hls.trigger(u.a.FRAG_LOAD_PROGRESS,{frag:f,stats:n,networkDetails:r})},s}(h),ue=function(n){function o(t){var i;return(i=n.call(this,t,u.a.KEY_LOADING)||this).loaders={},i.decryptkey=null,i.decrypturl=null,i}var i,e,t;return e=n,(i=o).prototype=Object.create(e.prototype),i.prototype.constructor=i,i.__proto__=e,t=o.prototype,t.destroy=function(){var i,t;for(i in this.loaders)t=this.loaders[i],t&&t.destroy();this.loaders={};n.prototype.destroy.call(this)},t.onKeyLoading=function(n){var t=n.frag,e=t.type,o=this.loaders[e],f,i;if(t.decryptdata)if(f=t.decryptdata.uri,f!==this.decrypturl||null===this.decryptkey){if(i=this.hls.config,o&&(r.b.warn("abort previous key loader for type:"+e),o.abort()),!f)return void r.b.warn("key uri is falsy");t.loader=this.loaders[e]=new i.loader(i);this.decrypturl=f;this.decryptkey=null;var s={url:f,frag:t,responseType:"arraybuffer"},h={timeout:i.fragLoadingTimeOut,maxRetry:0,retryDelay:i.fragLoadingRetryDelay,maxRetryDelay:i.fragLoadingMaxRetryTimeout},c={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};t.loader.load(s,h,c)}else this.decryptkey&&(t.decryptdata.key=this.decryptkey,this.hls.trigger(u.a.KEY_LOADED,{frag:t}));else r.b.warn("Missing decryption data on fragment in onKeyLoading")},t.loadsuccess=function(n,t,i){var f=i.frag;f.decryptdata?(this.decryptkey=f.decryptdata.key=new Uint8Array(n.data),f.loader=void 0,delete this.loaders[f.type],this.hls.trigger(u.a.KEY_LOADED,{frag:f})):r.b.error("after key load, decryptdata unset")},t.loaderror=function(n,t){var i=t.frag,r=i.loader;r&&r.abort();delete this.loaders[i.type];this.hls.trigger(u.a.ERROR,{type:f.b.NETWORK_ERROR,details:f.a.KEY_LOAD_ERROR,fatal:!1,frag:i,response:n})},t.loadtimeout=function(n,t){var i=t.frag,r=i.loader;r&&r.abort();delete this.loaders[i.type];this.hls.trigger(u.a.ERROR,{type:f.b.NETWORK_ERROR,details:f.a.KEY_LOAD_TIMEOUT,fatal:!1,frag:i})},o}(h),lt="NOT_LOADED",ir="APPENDING",gt="PARTIAL",rr="OK",fe=function(n){function f(t){var i;return(i=n.call(this,t,u.a.BUFFER_APPENDED,u.a.FRAG_BUFFERED,u.a.FRAG_LOADED)||this).bufferPadding=.2,i.fragments=Object.create(null),i.timeRanges=Object.create(null),i.config=t.config,i}var i,r,t;return r=n,(i=f).prototype=Object.create(r.prototype),i.prototype.constructor=i,i.__proto__=r,t=f.prototype,t.destroy=function(){this.fragments=Object.create(null);this.timeRanges=Object.create(null);this.config=null;h.prototype.destroy.call(this);n.prototype.destroy.call(this)},t.getBufferedFrag=function(n,t){var i=this.fragments,r=Object.keys(i).filter(function(r){var u=i[r],f;return u.body.type!==t?!1:u.buffered?(f=u.body,f.startPTS<=n&&n<=f.endPTS):!1}),u;return 0===r.length?null:(u=r.pop(),i[u].body)},t.detectEvictedFragments=function(n,t){var i,r,u=this;Object.keys(this.fragments).forEach(function(f){var o=u.fragments[f],s,e;if(!0===o.buffered&&(s=o.range[n],s))for(i=s.time,e=0;e<i.length;e++)if(r=i[e],!1===u.isTimeBuffered(r.startPTS,r.endPTS,t)){u.removeFragment(o.body);break}})},t.detectPartialFragments=function(n){var i=this,r=this.getFragmentKey(n),t=this.fragments[r];t&&(t.buffered=!0,Object.keys(this.timeRanges).forEach(function(r){if(n.hasElementaryStream(r)){var u=i.timeRanges[r];t.range[r]=i.getBufferedTimes(n.startPTS,n.endPTS,u)}}))},t.getBufferedTimes=function(n,t,i){for(var u,f,e=[],o=!1,r=0;r<i.length;r++){if(u=i.start(r)-this.bufferPadding,f=i.end(r)+this.bufferPadding,n>=u&&t<=f){e.push({startPTS:Math.max(n,i.start(r)),endPTS:Math.min(t,i.end(r))});break}if(n<f&&t>u)e.push({startPTS:Math.max(n,i.start(r)),endPTS:Math.min(t,i.end(r))}),o=!0;else if(t<=u)break}return{time:e,partial:o}},t.getFragmentKey=function(n){return n.type+"_"+n.level+"_"+n.urlId+"_"+n.sn},t.getPartialFragment=function(n){var i,r,u,t=this,f=null,e=0;return Object.keys(this.fragments).forEach(function(o){var s=t.fragments[o];t.isPartial(s)&&(r=s.body.startPTS-t.bufferPadding,u=s.body.endPTS+t.bufferPadding,n>=r&&n<=u&&(i=Math.min(n-r,u-n),e<=i&&(f=s.body,e=i)))}),f},t.getState=function(n){var r=this.getFragmentKey(n),t=this.fragments[r],i=lt;return void 0!==t&&(i=t.buffered?!0===this.isPartial(t)?gt:rr:ir),i},t.isPartial=function(n){return!0===n.buffered&&(void 0!==n.range.video&&!0===n.range.video.partial||void 0!==n.range.audio&&!0===n.range.audio.partial)},t.isTimeBuffered=function(n,t,i){for(var u,f,r=0;r<i.length;r++){if(u=i.start(r)-this.bufferPadding,f=i.end(r)+this.bufferPadding,n>=u&&t<=f)return!0;if(t<=u)return!1}return!1},t.onFragLoaded=function(n){var t=n.frag;Object(e.a)(t.sn)&&!t.bitrateTest&&(this.fragments[this.getFragmentKey(t)]={body:t,range:Object.create(null),buffered:!1})},t.onBufferAppended=function(n){var t=this;this.timeRanges=n.timeRanges;Object.keys(this.timeRanges).forEach(function(n){var i=t.timeRanges[n];t.detectEvictedFragments(n,i)})},t.onFragBuffered=function(n){this.detectPartialFragments(n.frag)},t.hasFragment=function(n){var t=this.getFragmentKey(n);return void 0!==this.fragments[t]},t.removeFragment=function(n){var t=this.getFragmentKey(n);delete this.fragments[t]},t.removeAllFragments=function(){this.fragments=Object.create(null)},f}(h),at={search:function(n,t){for(var f,i=0,r=n.length-1,u=null,e=null;i<=r;)if(f=t(e=n[u=(i+r)/2|0]),f>0)i=u+1;else{if(!(f<0))return e;r=u-1}return null}},a=function(){function n(){}return n.isBuffered=function(n,t){try{if(n)for(var r=n.buffered,i=0;i<r.length;i++)if(t>=r.start(i)&&t<=r.end(i))return!0}catch(n){}return!1},n.bufferInfo=function(n,t,i){try{if(n){for(var u=n.buffered,f=[],r=0;r<u.length;r++)f.push({start:u.start(r),end:u.end(r)});return this.bufferedInfo(f,t,i)}}catch(n){}return{len:0,start:t,end:t,nextStart:void 0}},n.bufferedInfo=function(n,t,i){var r,u,e,s,f,h;if(n.sort(function(n,t){var i=n.start-t.start;return i||t.end-n.end}),r=[],i)for(u=0;u<n.length;u++)e=r.length,e?(s=r[e-1].end,n[u].start-s<i?n[u].end>s&&(r[e-1].end=n[u].end):r.push(n[u])):r.push(n[u]);else r=n;for(var c,l=0,a=t,v=t,o=0;o<r.length;o++)if(f=r[o].start,h=r[o].end,t+i>=f&&t<h)a=f,l=(v=h)-t;else if(t+i<f){c=f;break}return{len:l,start:a,end:v,nextStart:c}},n}(),ee=i(8),oe=i(11),ur=i(9);var se=i(5),fr=function(n){function r(){return n.apply(this,arguments)||this}var t,i;return i=n,(t=r).prototype=Object.create(i.prototype),t.prototype.constructor=t,t.__proto__=i,r.prototype.trigger=function(n){for(var i=arguments.length,r=new Array(i>1?i-1:0),t=1;t<i;t++)r[t-1]=arguments[t];this.emit.apply(this,[n,n].concat(r))},r}(ee.EventEmitter),er=Object(se.a)(),ti=ni()||{isTypeSupported:function(){return!1}},ii=function(){function t(n,t){var l=this,h,c,o;this.hls=n;this.id=t;var i=this.observer=new fr,s=n.config,e=function(t,i){(i=i||{}).frag=l.frag;i.id=l.id;n.trigger(t,i)};if(i.on(u.a.FRAG_DECRYPTED,e),i.on(u.a.FRAG_PARSING_INIT_SEGMENT,e),i.on(u.a.FRAG_PARSING_DATA,e),i.on(u.a.FRAG_PARSED,e),i.on(u.a.ERROR,e),i.on(u.a.FRAG_PARSING_METADATA,e),i.on(u.a.FRAG_PARSING_USERDATA,e),i.on(u.a.INIT_PTS_FOUND,e),h={mp4:ti.isTypeSupported("video/mp4"),mpeg:ti.isTypeSupported("audio/mpeg"),mp3:ti.isTypeSupported('audio/mp4; codecs="mp3"')},c=navigator.vendor,s.enableWorker&&"undefined"!=typeof Worker){r.b.log("demuxing in webworker");try{o=this.w=oe(12);this.onwmsg=this.onWorkerMessage.bind(this);o.addEventListener("message",this.onwmsg);o.onerror=function(t){n.trigger(u.a.ERROR,{type:f.b.OTHER_ERROR,details:f.a.INTERNAL_EXCEPTION,fatal:!0,event:"demuxerWorker",err:{message:t.message+" ("+t.filename+":"+t.lineno+")"}})};o.postMessage({cmd:"init",typeSupported:h,vendor:c,id:t,config:JSON.stringify(s)})}catch(n){r.b.warn("Error in worker:",n);r.b.error("Error while initializing DemuxerWorker, fallback on DemuxerInline");o&&er.URL.revokeObjectURL(o.objectURL);this.demuxer=new ur.a(i,h,s,c);this.w=void 0}}else this.demuxer=new ur.a(i,h,s,c)}var n=t.prototype;return n.destroy=function(){var n=this.w,t,i;n?(n.removeEventListener("message",this.onwmsg),n.terminate(),this.w=null):(t=this.demuxer,t&&(t.destroy(),this.demuxer=null));i=this.observer;i&&(i.removeAllListeners(),this.observer=null)},n.push=function(n,t,i,u,f,o,s,h){var y=this.w,p=Object(e.a)(f.startPTS)?f.startPTS:f.start,w=f.decryptdata,c=this.frag,a=!(c&&f.cc===c.cc),l=!(c&&f.level===c.level),k=c&&f.sn===c.sn+1,b=!l&&k,v;(a&&r.b.log(this.id+":discontinuity detected"),l&&r.b.log(this.id+":switch detected"),this.frag=f,y)?y.postMessage({cmd:"demux",data:n,decryptdata:w,initSegment:t,audioCodec:i,videoCodec:u,timeOffset:p,discontinuity:a,trackSwitch:l,contiguous:b,duration:o,accurateTimeOffset:s,defaultInitPTS:h},n instanceof ArrayBuffer?[n]:[]):(v=this.demuxer,v&&v.push(n,w,t,i,u,p,a,l,b,o,s,h))},n.onWorkerMessage=function(n){var t=n.data,i=this.hls;switch(t.event){case"init":er.URL.revokeObjectURL(this.w.objectURL);break;case u.a.FRAG_PARSING_DATA:t.data.data1=new Uint8Array(t.data1);t.data2&&(t.data.data2=new Uint8Array(t.data2));default:t.data=t.data||{};t.data.frag=this.frag;t.data.id=this.id;i.trigger(t.event,t.data)}},t}();ui={toString:function(n){for(var i="",r=n.length,t=0;t<r;t++)i+="["+n.start(t).toFixed(3)+","+n.end(t).toFixed(3)+"]";return i}};br=function(){function t(n,t,i,r){this.config=n;this.media=t;this.fragmentTracker=i;this.hls=r;this.nudgeRetry=0;this.stallReported=!1;this.stalled=null;this.moved=!1;this.seeking=!1}var n=t.prototype;return n.poll=function(n){var y=this.config,t=this.media,e=this.stalled,i=t.currentTime,u=t.seeking,p=this.seeking&&!u,w=!this.seeking&&u,s,h,c,l,v;if(this.seeking=u,i===n){if((w||p)&&(this.stalled=null),!t.paused&&!t.ended&&0!==t.playbackRate&&t.buffered.length){var f=a.bufferInfo(t,i,0),b=f.len>0,o=f.nextStart||0;if(b||o){if(u){if(f.len>2||!o||o-i>2)return;this.moved=!1}if(!this.moved&&this.stalled&&(s=Math.max(o,f.start||0)-i,s>0&&s<=2))return void this._trySkipBufferHole(null);h=self.performance.now();null!==e?(c=h-e,!u&&c>=250&&this._reportStall(f.len),l=a.bufferInfo(t,i,y.maxBufferHole),this._tryFixBufferStall(l,c)):this.stalled=h}}}else(this.moved=!0,null!==e)&&(this.stallReported&&(v=self.performance.now()-e,r.b.warn("playback not stuck anymore @"+i+", after "+Math.round(v)+"ms"),this.stallReported=!1),this.stalled=null,this.nudgeRetry=0)},n._tryFixBufferStall=function(n,t){var i=this.config,f=this.fragmentTracker,e=this.media.currentTime,u=f.getPartialFragment(e);u&&this._trySkipBufferHole(u)||n.len>i.maxBufferHole&&t>1e3*i.highBufferWatchdogPeriod&&(r.b.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())},n._reportStall=function(n){var t=this.hls,i=this.media;this.stallReported||(this.stallReported=!0,r.b.warn("Playback stalling at @"+i.currentTime+" due to low buffer"),t.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_STALLED_ERROR,fatal:!1,buffer:n}))},n._trySkipBufferHole=function(n){for(var s,i,c=this.config,l=this.hls,t=this.media,e=t.currentTime,h=0,o=0;o<t.buffered.length;o++){if(s=t.buffered.start(o),e+c.maxBufferHole>=h&&e<s)return i=Math.max(s+.05,t.currentTime+.1),r.b.warn("skipping hole, adjusting currentTime from "+e+" to "+i),this.moved=!0,this.stalled=null,t.currentTime=i,n&&l.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_SEEK_OVER_HOLE,fatal:!1,reason:"fragment loaded with buffer holes, seeking from "+e+" to "+i,frag:n}),i;h=t.buffered.end(o)}return 0},n._tryNudgeBuffer=function(){var n=this.config,o=this.hls,s=this.media,t=s.currentTime,i=(this.nudgeRetry||0)+1,e;(this.nudgeRetry=i,i<n.nudgeMaxRetry)?(e=t+i*n.nudgeOffset,r.b.warn("Nudging 'currentTime' from "+t+" to "+e),s.currentTime=e,o.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_NUDGE_ON_STALL,fatal:!1})):(r.b.error("Playhead still not moving while enough data buffered @"+t+" after "+n.nudgeMaxRetry+" nudges"),o.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_STALLED_ERROR,fatal:!0}))},t}();var kr=function(n){function u(t){for(var i,u=arguments.length,f=new Array(u>1?u-1:0),r=1;r<u;r++)f[r-1]=arguments[r];return(i=n.call.apply(n,[this,t].concat(f))||this)._boundTick=void 0,i._tickTimer=null,i._tickInterval=null,i._tickCallCount=0,i._boundTick=i.tick.bind(ce(i)),i}var i,r,t;return r=n,(i=u).prototype=Object.create(r.prototype),i.prototype.constructor=i,i.__proto__=r,t=u.prototype,t.onHandlerDestroying=function(){this.clearNextTick();this.clearInterval()},t.hasInterval=function(){return!!this._tickInterval},t.hasNextTick=function(){return!!this._tickTimer},t.setInterval=function(n){return!this._tickInterval&&(this._tickInterval=self.setInterval(this._boundTick,n),!0)},t.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},t.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},t.tick=function(){this._tickCallCount++;1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&(this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)),this._tickCallCount=0)},t.doTick=function(){},u}(h),w="STOPPED",dr="STARTING",s="IDLE",gr="PAUSED",nt="KEY_LOADING",b="FRAG_LOADING",vt="FRAG_LOADING_WAITING_RETRY",yt="WAITING_TRACK",v="PARSING",y="PARSED",ut="BUFFER_FLUSHING",fi="ENDED",k="ERROR",ei="WAITING_INIT_PTS",pt="WAITING_LEVEL",oi=function(n){function f(){return n.apply(this,arguments)||this}var i,u,t;return u=n,(i=f).prototype=Object.create(u.prototype),i.prototype.constructor=i,i.__proto__=u,t=f.prototype,t.doTick=function(){},t.startLoad=function(){},t.stopLoad=function(){var n=this.fragCurrent;n&&(n.loader&&n.loader.abort(),this.fragmentTracker.removeFragment(n));this.demuxer&&(this.demuxer.destroy(),this.demuxer=null);this.fragCurrent=null;this.fragPrevious=null;this.clearInterval();this.clearNextTick();this.state=w},t._streamEnded=function(n,t){var i=this.fragCurrent,u=this.fragmentTracker,r;return!t.live&&i&&!i.backtracked&&i.sn===t.endSN&&!n.nextStart?(r=u.getState(i),r===gt||r===rr):!1},t.onMediaSeeking=function(){var h=this.config,i=this.media,c=this.mediaBuffer,u=this.state,n=i?i.currentTime:null,f=a.bufferInfo(c||i,n,this.config.maxBufferHole),t;if(Object(e.a)(n)&&r.b.log("media seeking to "+n.toFixed(3)),u===b){if(t=this.fragCurrent,0===f.len&&t){var o=h.maxFragLookUpTolerance,l=t.start-o,v=t.start+t.duration+o;n<l||n>v?(t.loader&&(r.b.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.state=s):r.b.log("seeking outside of buffer but within currently loaded fragment range")}}else u===fi&&(0===f.len&&(this.fragPrevious=null,this.fragCurrent=null),this.state=s);i&&(this.lastCurrentTime=n);this.loadedmetadata||(this.nextLoadPosition=this.startPosition=n);this.tick()},t.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},t.onHandlerDestroying=function(){this.stopLoad();n.prototype.onHandlerDestroying.call(this)},t.onHandlerDestroyed=function(){this.state=w;this.fragmentTracker=null},t.computeLivePosition=function(n,t){var i=void 0!==this.config.liveSyncDuration?this.config.liveSyncDuration:this.config.liveSyncDurationCount*t.targetduration;return n+Math.max(0,t.totalduration-i)},f}(kr);tu=function(n){function o(t,i){var r;return(r=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHING,u.a.MANIFEST_LOADING,u.a.MANIFEST_PARSED,u.a.LEVEL_LOADED,u.a.KEY_LOADED,u.a.FRAG_LOADED,u.a.FRAG_LOAD_EMERGENCY_ABORTED,u.a.FRAG_PARSING_INIT_SEGMENT,u.a.FRAG_PARSING_DATA,u.a.FRAG_PARSED,u.a.ERROR,u.a.AUDIO_TRACK_SWITCHING,u.a.AUDIO_TRACK_SWITCHED,u.a.BUFFER_CREATED,u.a.BUFFER_APPENDED,u.a.BUFFER_FLUSHED)||this).fragmentTracker=i,r.config=t.config,r.audioCodecSwap=!1,r._state=w,r.stallReported=!1,r.gapController=null,r.altAudio=!1,r}var i,h,c,l,d,t;return h=n,(i=o).prototype=Object.create(h.prototype),i.prototype.constructor=i,i.__proto__=h,t=o.prototype,t.startLoad=function(n){var t,u,i;this.levels?(t=this.lastCurrentTime,u=this.hls,(this.stopLoad(),this.setInterval(100),this.level=-1,this.fragLoadError=0,this.startFragRequested)||(i=u.startLevel,-1===i&&(i=0,this.bitrateTest=!0),this.level=u.nextLoadLevel=i,this.loadedmetadata=!1),t>0&&-1===n&&(r.b.log("override startPosition with lastCurrentTime @"+t.toFixed(3)),n=t),this.state=s,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=n,this.tick()):(this.forceStartLoad=!0,this.state=w)},t.stopLoad=function(){this.forceStartLoad=!1;n.prototype.stopLoad.call(this)},t.doTick=function(){var n,i,t;switch(this.state){case ut:this.fragLoadError=0;break;case s:this._doTickIdle();break;case pt:n=this.levels[this.level];n&&n.details&&(this.state=s);break;case vt:i=window.performance.now();t=this.retryDate;(!t||i>=t||this.media&&this.media.seeking)&&(r.b.log("mediaController: retryDate reached, switch back to IDLE state"),this.state=s)}this._checkBuffer();this._checkFragmentChanged()},t._doTickIdle=function(){var s=this.hls,n=s.config,h=this.media,c,f,e,t,l,o,v,i,y;if(void 0!==this.levelLastLoaded&&(h||!this.startFragRequested&&n.startFragPrefetch)&&(c=this.loadedmetadata?h.currentTime:this.nextLoadPosition,f=s.nextLoadLevel,e=this.levels[f],e&&(l=e.bitrate,t=l?Math.max(8*n.maxBufferSize/l,n.maxBufferLength):n.maxBufferLength,t=Math.min(t,n.maxMaxBufferLength),o=a.bufferInfo(this.mediaBuffer?this.mediaBuffer:h,c,n.maxBufferHole),v=o.len,!(v>=t))))if(r.b.trace("buffer length of "+v.toFixed(3)+" is below max of "+t.toFixed(3)+". checking for more payload ..."),this.level=s.nextLoadLevel=f,i=e.details,!i||i.live&&this.levelLastLoaded!==f)this.state=pt;else{if(this._streamEnded(o,i))return y={},this.altAudio&&(y.type="video"),this.hls.trigger(u.a.BUFFER_EOS,y),void(this.state=fi);this._fetchPayloadOrEos(c,o,i)}},t._fetchPayloadOrEos=function(n,t,i){var c=this.fragPrevious,l=this.level,f=i.fragments,e=f.length,h;if(0!==e){var u,s=f[0].start,a=f[e-1].start+f[e-1].duration,o=t.end;if(i.initSegment&&!i.initSegment.data)u=i.initSegment;else if(i.live){if(h=this.config.initialLiveManifestSize,e<h)return void r.b.warn("Can not start playback of a level, reason: not enough fragments "+e+" < "+h);if(null===(u=this._ensureFragmentAtLivePoint(i,o,s,a,c,f,e)))return}else o<s&&(u=f[0]);u||(u=this._findFragment(s,c,e,f,o,a,i));u&&(u.encrypted?(r.b.log("Loading key for "+u.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+l),this._loadKey(u)):(r.b.log("Loading "+u.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+l+", currentTime:"+n.toFixed(3)+",bufferEnd:"+o.toFixed(3)),this._loadFragment(u)))}},t._ensureFragmentAtLivePoint=function(n,t,i,u,f,e,o){var s,l=this.hls.config,h=this.media,y=void 0!==l.liveMaxLatencyDuration?l.liveMaxLatencyDuration:l.liveMaxLatencyDurationCount*n.targetduration,c,a,v;return(t<Math.max(i-l.maxFragLookUpTolerance,u-y)&&(c=this.liveSyncPosition=this.computeLivePosition(i,n),t=c,h&&!h.paused&&h.readyState&&h.duration>c&&c>h.currentTime&&(r.b.log("buffer end: "+t.toFixed(3)+" is located too far from the end of live sliding playlist, reset currentTime to : "+c.toFixed(3)),h.currentTime=c),this.nextLoadPosition=c),n.PTSKnown&&t>u&&h&&h.readyState)?null:(this.startFragRequested&&!n.PTSKnown&&(f&&(n.hasProgramDateTime?(r.b.log("live playlist, switching playlist, load frag with same PDT: "+f.programDateTime),s=yr(e,f.endProgramDateTime,l.maxFragLookUpTolerance)):(a=f.sn+1,a>=n.startSN&&a<=n.endSN&&(v=e[a-n.startSN],f.cc===v.cc&&(s=v,r.b.log("live playlist, switching playlist, load frag with next SN: "+s.sn))),s||(s=at.search(e,function(n){return f.cc-n.cc}))&&r.b.log("live playlist, switching playlist, load frag with same CC: "+s.sn))),s||(s=e[Math.min(o-1,Math.round(o/2))],r.b.log("live playlist, switching playlist, unknown, load middle frag : "+s.sn))),s)},t._findFragment=function(n,t,i,u,f,e,o){var s,l=this.hls.config,v;if(s=f<e?pr(t,u,f,f>e-l.maxFragLookUpTolerance?0:l.maxFragLookUpTolerance):u[i-1],s){var c=s.sn-o.startSN,y=t&&s.level===t.level,a=u[c-1],h=u[c+1];t&&s.sn===t.sn&&(y&&!s.backtracked?s.sn<o.endSN?(v=t.deltaPTS,v&&v>l.maxBufferHole&&t.dropped&&c?(s=a,r.b.warn("Previous fragment was dropped with large PTS gap between audio and video. Maybe fragment is not starting with a keyframe? Loading previous one to try to overcome this")):(s=h,r.b.log("Re-loading fragment with SN: "+s.sn))):s=null:s.backtracked&&(h&&h.backtracked?(r.b.warn("Already backtracked from fragment "+h.sn+", will not backtrack to fragment "+s.sn+". Loading fragment "+h.sn),s=h):(r.b.warn("Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe"),s.dropped=0,a?(s=a).backtracked=!0:c&&(s=null))))}return s},t._loadKey=function(n){this.state=nt;this.hls.trigger(u.a.KEY_LOADING,{frag:n})},t._loadFragment=function(n){var t=this.fragmentTracker.getState(n);this.fragCurrent=n;"initSegment"!==n.sn&&(this.startFragRequested=!0);Object(e.a)(n.sn)&&!n.bitrateTest&&(this.nextLoadPosition=n.start+n.duration);n.backtracked||t===lt||t===gt?(n.autoLevel=this.hls.autoLevelEnabled,n.bitrateTest=this.bitrateTest,this.hls.trigger(u.a.FRAG_LOADING,{frag:n}),this.demuxer||(this.demuxer=new ii(this.hls,"main")),this.state=b):t===ir&&this._reduceMaxBufferLength(n.duration)&&this.fragmentTracker.removeFragment(n)},t.getBufferedFrag=function(n){return this.fragmentTracker.getBufferedFrag(n,g.MAIN)},t.followingBufferedFrag=function(n){return n?this.getBufferedFrag(n.endPTS+.5):null},t._checkFragmentChanged=function(){var r,n,t=this.media,i,f;t&&t.readyState&&!1===t.seeking&&((n=t.currentTime)>this.lastCurrentTime&&(this.lastCurrentTime=n),a.isBuffered(t,n)?r=this.getBufferedFrag(n):a.isBuffered(t,n+.1)&&(r=this.getBufferedFrag(n+.1)),r)&&(i=r,i!==this.fragPlaying&&(this.hls.trigger(u.a.FRAG_CHANGED,{frag:i}),f=i.level,this.fragPlaying&&this.fragPlaying.level===f||this.hls.trigger(u.a.LEVEL_SWITCHED,{level:f}),this.fragPlaying=i))},t.immediateLevelSwitch=function(){var i,n,t;(r.b.log("immediateLevelSwitch"),this.immediateSwitch)||(this.immediateSwitch=!0,n=this.media,n?(i=n.paused,n.pause()):i=!0,this.previouslyPaused=i);t=this.fragCurrent;t&&t.loader&&t.loader.abort();this.fragCurrent=null;this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},t.immediateLevelSwitchEnd=function(){var n=this.media;n&&n.buffered.length&&(this.immediateSwitch=!1,a.isBuffered(n,n.currentTime)&&(n.currentTime-=.0001),this.previouslyPaused||n.play())},t.nextLevelSwitch=function(){var n=this.media,r,u,t,i;if(n&&n.readyState){if((u=this.getBufferedFrag(n.currentTime))&&u.startPTS>1&&this.flushMainBuffer(0,u.startPTS-1),n.paused)r=0;else{var e=this.hls.nextLoadLevel,o=this.levels[e],f=this.fragLastKbps;r=f&&this.fragCurrent?this.fragCurrent.duration*o.bitrate/(1e3*f)+1:0}(t=this.getBufferedFrag(n.currentTime+r))&&(t=this.followingBufferedFrag(t))&&(i=this.fragCurrent,i&&i.loader&&i.loader.abort(),this.fragCurrent=null,this.flushMainBuffer(t.maxStartPTS,Number.POSITIVE_INFINITY))}},t.flushMainBuffer=function(n,t){this.state=ut;var i={startOffset:n,endOffset:t};this.altAudio&&(i.type="video");this.hls.trigger(u.a.BUFFER_FLUSHING,i)},t.onMediaAttached=function(n){var t=this.media=this.mediaBuffer=n.media,i;this.onvseeking=this.onMediaSeeking.bind(this);this.onvseeked=this.onMediaSeeked.bind(this);this.onvended=this.onMediaEnded.bind(this);t.addEventListener("seeking",this.onvseeking);t.addEventListener("seeked",this.onvseeked);t.addEventListener("ended",this.onvended);i=this.config;this.levels&&i.autoStartLoad&&this.hls.startLoad(i.startPosition);this.gapController=new br(i,t,this.fragmentTracker,this.hls)},t.onMediaDetaching=function(){var n=this.media,t;n&&n.ended&&(r.b.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);t=this.levels;t&&t.forEach(function(n){n.details&&n.details.fragments.forEach(function(n){n.backtracked=void 0})});n&&(n.removeEventListener("seeking",this.onvseeking),n.removeEventListener("seeked",this.onvseeked),n.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null);this.fragmentTracker.removeAllFragments();this.media=this.mediaBuffer=null;this.loadedmetadata=!1;this.stopLoad()},t.onMediaSeeked=function(){var n=this.media,t=n?n.currentTime:void 0;Object(e.a)(t)&&r.b.log("media seeked to "+t.toFixed(3));this.tick()},t.onManifestLoading=function(){r.b.log("trigger BUFFER_RESET");this.hls.trigger(u.a.BUFFER_RESET);this.fragmentTracker.removeAllFragments();this.stalled=!1;this.startPosition=this.lastCurrentTime=0},t.onManifestParsed=function(n){var t,u=!1,f=!1,i;n.levels.forEach(function(n){(t=n.audioCodec)&&(-1!==t.indexOf("mp4a.40.2")&&(u=!0),-1!==t.indexOf("mp4a.40.5")&&(f=!0))});this.audioCodecSwitch=u&&f;this.audioCodecSwitch&&r.b.log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC");this.altAudio=n.altAudio;this.levels=n.levels;this.startFragRequested=!1;i=this.config;(i.autoStartLoad||this.forceStartLoad)&&this.hls.startLoad(i.startPosition)},t.onLevelLoaded=function(n){var t=n.details,o=n.level,c=this.levels[this.levelLastLoaded],l=this.levels[o],a=t.totalduration,f=0,h,i;(r.b.log("level "+o+" loaded ["+t.startSN+","+t.endSN+"],duration:"+a),t.live)?(h=l.details,h&&t.fragments.length>0?(hr(h,t),f=t.fragments[0].start,this.liveSyncPosition=this.computeLivePosition(f,h),t.PTSKnown&&Object(e.a)(f)?r.b.log("live playlist sliding:"+f.toFixed(3)):(r.b.log("live playlist - outdated PTS, unknown sliding"),vr(this.fragPrevious,c,t))):(r.b.log("live playlist - first load, unknown sliding"),t.PTSKnown=!1,vr(this.fragPrevious,c,t))):t.PTSKnown=!1;(l.details=t,this.levelLastLoaded=o,this.hls.trigger(u.a.LEVEL_UPDATED,{details:t,level:o}),!1===this.startFragRequested)&&((-1===this.startPosition||-1===this.lastCurrentTime)&&(i=t.startTimeOffset,Object(e.a)(i)?(i<0&&(r.b.log("negative start time offset "+i+", count from end of last fragment"),i=f+a+i),r.b.log("start time offset found in playlist, adjust startPosition to "+i),this.startPosition=i):t.live?(this.startPosition=this.computeLivePosition(f,t),r.b.log("configure startPosition to "+this.startPosition)):this.startPosition=0,this.lastCurrentTime=this.startPosition),this.nextLoadPosition=this.startPosition);this.state===pt&&(this.state=s);this.tick()},t.onKeyLoaded=function(){this.state===nt&&(this.state=s,this.tick())},t.onFragLoaded=function(n){var t=this.fragCurrent,o=this.hls,l=this.levels,c=this.media,f=n.frag;if(this.state===b&&t&&"main"===f.type&&f.level===t.level&&f.sn===t.sn){var e=n.stats,h=l[t.level],i=h.details;if(this.bitrateTest=!1,this.stats=e,r.b.log("Loaded "+t.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+t.level),f.bitrateTest&&o.nextLoadLevel)this.state=s,this.startFragRequested=!1,e.tparsed=e.tbuffered=window.performance.now(),o.trigger(u.a.FRAG_BUFFERED,{stats:e,frag:t,id:"main"}),this.tick();else if("initSegment"===f.sn)this.state=s,e.tparsed=e.tbuffered=window.performance.now(),i.initSegment.data=n.payload,o.trigger(u.a.FRAG_BUFFERED,{stats:e,frag:t,id:"main"}),this.tick();else{r.b.log("Parsing "+t.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+t.level+", cc "+t.cc);this.state=v;this.pendingBuffering=!0;this.appended=!1;f.bitrateTest&&(f.bitrateTest=!1,this.fragmentTracker.onFragLoaded({frag:f}));var a=!(c&&c.seeking)&&(i.PTSKnown||!i.live),y=i.initSegment?i.initSegment.data:[],p=this._getAudioCodec(h);(this.demuxer=this.demuxer||new ii(this.hls,"main")).push(n.payload,y,p,h.videoCodec,t,i.totalduration,a)}}this.fragLoadError=0},t.onFragParsingInitSegment=function(n){var o=this.fragCurrent,c=n.frag,e,t,i,f,s,h;if(o&&"main"===n.id&&c.sn===o.sn&&c.level===o.level&&this.state===v){i=n.tracks;(i.audio&&this.altAudio&&delete i.audio,t=i.audio)&&(f=this.levels[this.level].audioCodec,s=navigator.userAgent.toLowerCase(),f&&this.audioCodecSwap&&(r.b.log("swapping playlist audio codec"),f=-1!==f.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),this.audioCodecSwitch&&1!==t.metadata.channelCount&&-1===s.indexOf("firefox")&&(f="mp4a.40.5"),-1!==s.indexOf("android")&&"audio/mpeg"!==t.container&&(f="mp4a.40.2",r.b.log("Android: force audio codec to "+f)),t.levelCodec=f,t.id=n.id);for(e in(t=i.video)&&(t.levelCodec=this.levels[this.level].videoCodec,t.id=n.id),this.hls.trigger(u.a.BUFFER_CODECS,i),i)t=i[e],r.b.log("main track:"+e+",container:"+t.container+",codecs[level/parsed]=["+t.levelCodec+"/"+t.codec+"]"),h=t.initSegment,h&&(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(u.a.BUFFER_APPENDING,{type:e,data:h,parent:"main",content:"initSegment"}));this.tick()}},t.onFragParsingData=function(n){var o=this,i=this.fragCurrent,l=n.frag,f,t,h,a,c;if(i&&"main"===n.id&&l.sn===i.sn&&l.level===i.level&&("audio"!==n.type||!this.altAudio)&&this.state===v){if(f=this.levels[this.level],t=i,Object(e.a)(n.endPTS)||(n.endPTS=n.startPTS+i.duration,n.endDTS=n.startDTS+i.duration),!0===n.hasAudio&&t.addElementaryStream(p.AUDIO),!0===n.hasVideo&&t.addElementaryStream(p.VIDEO),r.b.log("Parsed "+n.type+",PTS:["+n.startPTS.toFixed(3)+","+n.endPTS.toFixed(3)+"],DTS:["+n.startDTS.toFixed(3)+"/"+n.endDTS.toFixed(3)+"],nb:"+n.nb+",dropped:"+(n.dropped||0)),"video"===n.type)if(t.dropped=n.dropped,t.dropped)if(t.backtracked)r.b.warn("Already backtracked on this fragment, appending with the gap",t.sn);else{if(h=f.details,!h||t.sn!==h.startSN)return r.b.warn("missing video frame(s), backtracking fragment",t.sn),this.fragmentTracker.removeFragment(t),t.backtracked=!0,this.nextLoadPosition=n.startPTS,this.state=s,this.fragPrevious=t,void this.tick();r.b.warn("missing video frame(s) on first frag, appending with gap",t.sn)}else t.backtracked=!1;a=ri(f.details,t,n.startPTS,n.endPTS,n.startDTS,n.endDTS);c=this.hls;c.trigger(u.a.LEVEL_PTS_UPDATED,{details:f.details,level:this.level,drift:a,type:n.type,start:n.startPTS,end:n.endPTS});[n.data1,n.data2].forEach(function(t){t&&t.length&&o.state===v&&(o.appended=!0,o.pendingBuffering=!0,c.trigger(u.a.BUFFER_APPENDING,{type:n.type,data:t,parent:"main",content:"data"}))});this.tick()}},t.onFragParsed=function(n){var t=this.fragCurrent,i=n.frag;t&&"main"===n.id&&i.sn===t.sn&&i.level===t.level&&this.state===v&&(this.stats.tparsed=window.performance.now(),this.state=y,this._checkAppendedParsed())},t.onAudioTrackSwitching=function(n){var f=!!n.url,e=n.id,t,i;f||(this.mediaBuffer!==this.media&&(r.b.log("switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media,t=this.fragCurrent,t.loader&&(r.b.log("switching to main audio track, cancel main fragment load"),t.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=s),i=this.hls,i.trigger(u.a.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"}),i.trigger(u.a.AUDIO_TRACK_SWITCHED,{id:e}),this.altAudio=!1)},t.onAudioTrackSwitched=function(n){var u=n.id,i=!!this.hls.audioTracks[u].url,t;i&&(t=this.videoBuffer,t&&this.mediaBuffer!==t&&(r.b.log("switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=t));this.altAudio=i;this.tick()},t.onBufferCreated=function(n){var i,e,u=n.tracks,o=!1,t,f;for(t in u)f=u[t],"main"===f.id?(e=t,i=f,"video"===t&&(this.videoBuffer=u[t].buffer)):o=!0;o&&i?(r.b.log("alternate track found, use "+e+".buffered to schedule main fragment loading"),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media},t.onBufferAppended=function(n){if("main"===n.parent){var t=this.state;t!==v&&t!==y||(this.pendingBuffering=n.pending>0,this._checkAppendedParsed())}},t._checkAppendedParsed=function(){var t,i,n;this.state!==y||this.appended&&this.pendingBuffering||(t=this.fragCurrent,t&&(i=this.mediaBuffer?this.mediaBuffer:this.media,r.b.log("main buffered : "+ui.toString(i.buffered)),this.fragPrevious=t,n=this.stats,n.tbuffered=window.performance.now(),this.fragLastKbps=Math.round(8*n.total/(n.tbuffered-n.tfirst)),this.hls.trigger(u.a.FRAG_BUFFERED,{stats:n,frag:t,id:"main"}),this.state=s),this.tick())},t.onError=function(n){var i=n.frag||this.fragCurrent,u,t;if(!i||"main"===i.type){u=!!this.media&&a.isBuffered(this.media,this.media.currentTime)&&a.isBuffered(this.media,this.media.currentTime+.5);switch(n.details){case f.a.FRAG_LOAD_ERROR:case f.a.FRAG_LOAD_TIMEOUT:case f.a.KEY_LOAD_ERROR:case f.a.KEY_LOAD_TIMEOUT:n.fatal||(this.fragLoadError+1<=this.config.fragLoadingMaxRetry?(t=Math.min(Math.pow(2,this.fragLoadError)*this.config.fragLoadingRetryDelay,this.config.fragLoadingMaxRetryTimeout),r.b.warn("mediaController: frag loading failed, retry in "+t+" ms"),this.retryDate=window.performance.now()+t,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.fragLoadError++,this.state=vt):(r.b.error("mediaController: "+n.details+" reaches max retry, redispatch as fatal ..."),n.fatal=!0,this.state=k));break;case f.a.LEVEL_LOAD_ERROR:case f.a.LEVEL_LOAD_TIMEOUT:this.state!==k&&(n.fatal?(this.state=k,r.b.warn("streamController: "+n.details+",switch to "+this.state+" state ...")):n.levelRetry||this.state!==pt||(this.state=s));break;case f.a.BUFFER_FULL_ERROR:"main"!==n.parent||this.state!==v&&this.state!==y||(u?(this._reduceMaxBufferLength(this.config.maxBufferLength),this.state=s):(r.b.warn("buffer full error also media.currentTime is not buffered, flush everything"),this.fragCurrent=null,this.flushMainBuffer(0,Number.POSITIVE_INFINITY)))}}},t._reduceMaxBufferLength=function(n){var t=this.config;return t.maxMaxBufferLength>=n&&(t.maxMaxBufferLength/=2,r.b.warn("main:reduce max buffer length to "+t.maxMaxBufferLength+"s"),!0)},t._checkBuffer=function(){var n=this.media,t;n&&0!==n.readyState&&(t=(this.mediaBuffer?this.mediaBuffer:n).buffered,!this.loadedmetadata&&t.length?(this.loadedmetadata=!0,this._seekToStartPos()):this.immediateSwitch?this.immediateLevelSwitchEnd():this.gapController.poll(this.lastCurrentTime,t))},t.onFragLoadEmergencyAborted=function(){this.state=s;this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition);this.tick()},t.onBufferFlushed=function(){var n=this.mediaBuffer?this.mediaBuffer:this.media;n&&this.fragmentTracker.detectEvictedFragments(p.VIDEO,n.buffered);this.state=s;this.fragPrevious=null},t.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},t._seekToStartPos=function(){var t=this.media,i=t.currentTime,n=t.seeking?i:this.startPosition;i!==n&&n>=0&&(r.b.log("target start position not buffered, seek to buffered.start(0) "+n+" from current time "+i+" "),t.currentTime=n)},t._getAudioCodec=function(n){var t=this.config.defaultAudioCodec||n.audioCodec;return this.audioCodecSwap&&(r.b.log("swapping playlist audio codec"),t&&(t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5")),t},c=o,(l=[{key:"state",set:function(n){if(this.state!==n){var t=this.state;this._state=n;r.b.log("main stream-controller: "+t+"->"+n);this.hls.trigger(u.a.STREAM_STATE_TRANSITION,{previousState:t,nextState:n})}},get:function(){return this._state}},{key:"currentLevel",get:function(){var t=this.media,n;return t&&(n=this.getBufferedFrag(t.currentTime),n)?n.level:-1}},{key:"nextBufferedFrag",get:function(){var n=this.media;return n?this.followingBufferedFrag(this.getBufferedFrag(n.currentTime)):null}},{key:"nextLevel",get:function(){var n=this.nextBufferedFrag;return n?n.level:-1}},{key:"liveSyncPosition",get:function(){return this._liveSyncPosition},set:function(n){this._liveSyncPosition=n}}])&&nu(c.prototype,l),d&&nu(c,d),o}(oi);window.performance;uu=function(n){function e(t){var i;return(i=n.call(this,t,u.a.MANIFEST_LOADED,u.a.LEVEL_LOADED,u.a.AUDIO_TRACK_SWITCHED,u.a.FRAG_LOADED,u.a.ERROR)||this).canload=!1,i.currentLevelIndex=null,i.manualLevelIndex=-1,i.timer=null,ru=/chrome|firefox/.test(navigator.userAgent.toLowerCase()),i}var i,o,s,h,c,t;return o=n,(i=e).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=e.prototype,t.onHandlerDestroying=function(){this.clearTimer();this.manualLevelIndex=-1},t.clearTimer=function(){null!==this.timer&&(clearTimeout(this.timer),this.timer=null)},t.startLoad=function(){var n=this._levels;this.canload=!0;this.levelRetryCount=0;n&&n.forEach(function(n){n.loadError=0;var t=n.details;t&&t.live&&(n.details=void 0)});null!==this.timer&&this.loadLevel()},t.stopLoad=function(){this.canload=!1},t.onManifestLoaded=function(n){var h,t=[],c=[],l={},o=null,s=!1,i=!1,e;if(n.levels.forEach(function(n){var r=n.attrs;n.loadError=0;n.fragmentError=!1;s=s||!!n.videoCodec;i=i||!!n.audioCodec;ru&&n.audioCodec&&-1!==n.audioCodec.indexOf("mp4a.40.34")&&(n.audioCodec=void 0);(o=l[n.bitrate])?o.url.push(n.url):(n.url=[n.url],n.urlId=0,l[n.bitrate]=n,t.push(n));r&&(r.AUDIO&&(i=!0,or(o||n,"audio",r.AUDIO)),r.SUBTITLES&&or(o||n,"text",r.SUBTITLES))}),s&&i&&(t=t.filter(function(n){return!!n.videoCodec})),t=t.filter(function(n){var t=n.audioCodec,i=n.videoCodec;return(!t||dt(t,"audio"))&&(!i||dt(i,"video"))}),n.audioTracks&&(c=n.audioTracks.filter(function(n){return!n.audioCodec||dt(n.audioCodec,"audio")})).forEach(function(n,t){n.id=t}),t.length>0){for(h=t[0].bitrate,t.sort(function(n,t){return n.bitrate-t.bitrate}),this._levels=t,e=0;e<t.length;e++)if(t[e].bitrate===h){this._firstLevel=e;r.b.log("manifest loaded,"+t.length+" level(s) found, first bitrate:"+h);break}this.hls.trigger(u.a.MANIFEST_PARSED,{levels:t,audioTracks:c,firstLevel:this._firstLevel,stats:n.stats,audio:i,video:s,altAudio:c.some(function(n){return!!n.url})})}else this.hls.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:this.hls.url,reason:"no level with compatible codecs found in manifest"})},t.setLevelInternal=function(n){var i=this._levels,e=this.hls,o,t,s,h;n>=0&&n<i.length?((this.clearTimer(),this.currentLevelIndex!==n)&&(r.b.log("switching to level "+n),this.currentLevelIndex=n,o=i[n],o.level=n,e.trigger(u.a.LEVEL_SWITCHING,o)),t=i[n],s=t.details,(!s||s.live)&&(h=t.urlId,e.trigger(u.a.LEVEL_LOADING,{url:t.url[h],level:n,id:h}))):e.trigger(u.a.ERROR,{type:f.b.OTHER_ERROR,details:f.a.LEVEL_SWITCH_ERROR,level:n,fatal:!1,reason:"invalid level idx"})},t.onError=function(n){if(n.fatal)n.type===f.b.NETWORK_ERROR&&this.clearTimer();else{var t,i=!1,r=!1;switch(n.details){case f.a.FRAG_LOAD_ERROR:case f.a.FRAG_LOAD_TIMEOUT:case f.a.KEY_LOAD_ERROR:case f.a.KEY_LOAD_TIMEOUT:t=n.frag.level;r=!0;break;case f.a.LEVEL_LOAD_ERROR:case f.a.LEVEL_LOAD_TIMEOUT:t=n.context.level;i=!0;break;case f.a.REMUX_ALLOC_ERROR:t=n.level;i=!0}void 0!==t&&this.recoverLevel(n,t,i,r)}},t.recoverLevel=function(n,t,i,u){var o,s,h,l=this,c=this.hls.config,e=n.details,f=this._levels[t];if(f.loadError++,f.fragmentError=u,i){if(!(this.levelRetryCount+1<=c.levelLoadingMaxRetry))return r.b.error("level controller, cannot recover from "+e+" error"),this.currentLevelIndex=null,this.clearTimer(),void(n.fatal=!0);s=Math.min(Math.pow(2,this.levelRetryCount)*c.levelLoadingRetryDelay,c.levelLoadingMaxRetryTimeout);this.timer=setTimeout(function(){return l.loadLevel()},s);n.levelRetry=!0;this.levelRetryCount++;r.b.warn("level controller, "+e+", retry in "+s+" ms, current retry count is "+this.levelRetryCount)}(i||u)&&((o=f.url.length)>1&&f.loadError<o?(f.urlId=(f.urlId+1)%o,f.details=void 0,r.b.warn("level controller, "+e+" for level "+t+": switching to redundant URL-id "+f.urlId)):-1===this.manualLevelIndex?(h=0===t?this._levels.length-1:t-1,r.b.warn("level controller, "+e+": switch to "+h),this.hls.nextAutoLevel=this.currentLevelIndex=h):u&&(r.b.warn("level controller, "+e+": reload a fragment"),this.currentLevelIndex=null))},t.onFragLoaded=function(n){var i=n.frag,t;void 0!==i&&"main"===i.type&&(t=this._levels[i.level],void 0!==t&&(t.fragmentError=!1,t.loadError=0,this.levelRetryCount=0))},t.onLevelLoaded=function(n){var e=this,u=n.level,f=n.details,t,i;u===this.currentLevelIndex&&(t=this._levels[u],(t.fragmentError||(t.loadError=0,this.levelRetryCount=0),f.live)?(i=lr(t.details,f,n.stats.trequest),r.b.log("live playlist, reload in "+Math.round(i)+" ms"),this.timer=setTimeout(function(){return e.loadLevel()},i)):this.clearTimer())},t.onAudioTrackSwitched=function(n){var u=this.hls.audioTracks[n.id].groupId,t=this.hls.levels[this.currentLevelIndex],r,i;if(t&&t.audioGroupIds){for(r=-1,i=0;i<t.audioGroupIds.length;i++)if(t.audioGroupIds[i]===u){r=i;break}r!==t.urlId&&(t.urlId=r,this.startLoad())}},t.loadLevel=function(){var n;if((r.b.debug("call to loadLevel"),null!==this.currentLevelIndex&&this.canload)&&(n=this._levels[this.currentLevelIndex],"object"==typeof n&&n.url.length>0)){var i=this.currentLevelIndex,t=n.urlId,f=n.url[t];r.b.log("Attempt loading level index "+i+" with URL-id "+t);this.hls.trigger(u.a.LEVEL_LOADING,{url:f,level:i,id:t})}},s=e,(h=[{key:"levels",get:function(){return this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(n){var t=this._levels;t&&(n=Math.min(n,t.length-1),this.currentLevelIndex===n&&t[n].details||this.setLevelInternal(n))}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(n){this.manualLevelIndex=n;void 0===this._startLevel&&(this._startLevel=n);-1!==n&&(this.level=n)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(n){this._firstLevel=n}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var n=this.hls.config.startLevel;return void 0!==n?n:this._firstLevel}return this._startLevel},set:function(n){this._startLevel=n}},{key:"nextLoadLevel",get:function(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(n){this.level=n;-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=n)}}])&&iu(s.prototype,h),c&&iu(s,c),e}(h);wt=i(4);var le=function(n){function e(t){var i;return(i=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHING,u.a.FRAG_PARSING_METADATA,u.a.LIVE_BACK_BUFFER_REACHED)||this).id3Track=void 0,i.media=void 0,i}var i,f,t;return f=n,(i=e).prototype=Object.create(f.prototype),i.prototype.constructor=i,i.__proto__=f,t=e.prototype,t.destroy=function(){h.prototype.destroy.call(this)},t.onMediaAttached=function(n){this.media=n.media;this.media},t.onMediaDetaching=function(){ft(this.id3Track);this.id3Track=void 0;this.media=void 0},t.getID3Track=function(n){for(var t,i=0;i<n.length;i++)if(t=n[i],"metadata"===t.kind&&"id3"===t.label)return fu(t,this.media),t;return this.media.addTextTrack("metadata","id3")},t.onFragParsingMetadata=function(n){var l=n.frag,u=n.samples,c,t,e,f,i,o,s,h;for(this.id3Track||(this.id3Track=this.getID3Track(this.media.textTracks),this.id3Track.mode="hidden"),c=window.WebKitDataCue||window.VTTCue||window.TextTrackCue,t=0;t<u.length;t++)if(e=wt.a.getID3Frames(u[t].data),e)for(f=u[t].pts,i=t<u.length-1?u[t+1].pts:l.endPTS,f===i?i+=.0001:f>i&&(r.b.warn("detected an id3 sample with endTime < startTime, adjusting endTime to (startTime + 0.25)"),i=f+.25),o=0;o<e.length;o++)s=e[o],wt.a.isTimeStampFrame(s)||(h=new c(f,i,""),h.value=s,this.id3Track.addCue(h))},t.onLiveBackBufferReached=function(n){var r=n.bufferEnd,t=this.id3Track,i;if(t&&t.cues&&t.cues.length&&(i=function(n,t){var i,r,u;if(t<n[0].endTime)return n[0];if(t>n[n.length-1].endTime)return n[n.length-1];for(i=0,r=n.length-1;i<=r;)if(u=Math.floor((r+i)/2),t<n[u].endTime)r=u-1;else{if(!(t>n[u].endTime))return n[u];i=u+1}return n[i].endTime-t<t-n[r].endTime?n[i]:n[r]}(t.cues,r),i))for(;t.cues[0]!==i;)t.removeCue(t.cues[0])},e}(h),eu=function(){function t(n){this.alpha_=void 0;this.estimate_=void 0;this.totalWeight_=void 0;this.alpha_=n?Math.exp(Math.log(.5)/n):0;this.estimate_=0;this.totalWeight_=0}var n=t.prototype;return n.sample=function(n,t){var i=Math.pow(this.alpha_,n);this.estimate_=t*(1-i)+i*this.estimate_;this.totalWeight_+=n},n.getTotalWeight=function(){return this.totalWeight_},n.getEstimate=function(){if(this.alpha_){var n=1-Math.pow(this.alpha_,this.totalWeight_);return this.estimate_/n}return this.estimate_},t}(),ae=function(){function t(n,t,i,r){this.hls=void 0;this.defaultEstimate_=void 0;this.minWeight_=void 0;this.minDelayMs_=void 0;this.slow_=void 0;this.fast_=void 0;this.hls=n;this.defaultEstimate_=r;this.minWeight_=.001;this.minDelayMs_=50;this.slow_=new eu(t);this.fast_=new eu(i)}var n=t.prototype;return n.sample=function(n,t){var i=(n=Math.max(n,this.minDelayMs_))/1e3,r=8*t/i;this.fast_.sample(i,r);this.slow_.sample(i,r)},n.canEstimate=function(){var n=this.fast_;return n&&n.getTotalWeight()>=this.minWeight_},n.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},n.destroy=function(){},t}();var ve=window.performance,ye=function(n){function o(t){var i;return(i=n.call(this,t,u.a.FRAG_LOADING,u.a.FRAG_LOADED,u.a.FRAG_BUFFERED,u.a.ERROR)||this).lastLoadedFragLevel=0,i._nextAutoLevel=-1,i.hls=t,i.timer=null,i._bwEstimator=null,i.onCheck=i._abandonRulesCheck.bind(function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(i)),i}var i,s,c,l,v,t;return s=n,(i=o).prototype=Object.create(s.prototype),i.prototype.constructor=i,i.__proto__=s,t=o.prototype,t.destroy=function(){this.clearTimer();h.prototype.destroy.call(this)},t.onFragLoading=function(n){var i=n.frag;if("main"===i.type&&(this.timer||(this.fragCurrent=i,this.timer=setInterval(this.onCheck,100)),!this._bwEstimator)){var r,u,f=this.hls,t=f.config,e=i.level;f.levels[e].details.live?(r=t.abrEwmaFastLive,u=t.abrEwmaSlowLive):(r=t.abrEwmaFastVoD,u=t.abrEwmaSlowVoD);this._bwEstimator=new ae(f,u,r,t.abrEwmaDefaultEstimate)}},t._abandonRulesCheck=function(){var e=this.hls,f=e.media,n=this.fragCurrent,o,p,t,h,c,i,k;if(n){if(o=n.loader,p=e.minAutoLevel,!o||o.stats&&o.stats.aborted)return r.b.warn("frag loader destroy or aborted, disarm abandonRules"),this.clearTimer(),void(this._nextAutoLevel=-1);if(t=o.stats,f&&t&&(!f.paused&&0!==f.playbackRate||!f.readyState)&&n.autoLevel&&n.level&&(h=ve.now()-t.trequest,c=Math.abs(f.playbackRate),h>500*n.duration/c)){var s=e.levels,w=Math.max(1,t.bw?t.bw/8:1e3*t.loaded/h),l=s[n.level],d=l.realBitrate?Math.max(l.realBitrate,l.bitrate):l.bitrate,g=t.total?t.total:Math.max(t.loaded,Math.round(n.duration*d/8)),b=f.currentTime,y=(g-t.loaded)/w,v=(a.bufferInfo(f,b,e.config.maxBufferHole).end-b)/c;if(v<2*n.duration/c&&y>v){for(i=n.level-1;i>p;i--)if(k=s[i].realBitrate?Math.max(s[i].realBitrate,s[i].bitrate):s[i].bitrate,n.duration*k/(6.4*w)<v)break;void 0<y&&(r.b.warn("loading too slow, abort fragment loading and switch to level "+i+":fragLoadedDelay["+i+"]<fragLoadedDelay["+(n.level-1)+"];bufferStarvationDelay:"+(void 0).toFixed(1)+"<"+y.toFixed(1)+":"+v.toFixed(1)),e.nextLoadLevel=i,this._bwEstimator.sample(h,t.loaded),o.abort(),this.clearTimer(),e.trigger(u.a.FRAG_LOAD_EMERGENCY_ABORTED,{frag:n,stats:t}))}}}},t.onFragLoaded=function(n){var i=n.frag,r;if("main"===i.type&&Object(e.a)(i.sn)){if(this.clearTimer(),this.lastLoadedFragLevel=i.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var t=this.hls.levels[i.level],u=(t.loaded?t.loaded.bytes:0)+n.stats.loaded,f=(t.loaded?t.loaded.duration:0)+n.frag.duration;t.loaded={bytes:u,duration:f};t.realBitrate=Math.round(8*u/f)}n.frag.bitrateTest&&(r=n.stats,r.tparsed=r.tbuffered=r.tload,this.onFragBuffered(n))}},t.onFragBuffered=function(n){var t=n.stats,i=n.frag,u;!0!==t.aborted&&"main"===i.type&&Object(e.a)(i.sn)&&(!i.bitrateTest||t.tload===t.tbuffered)&&(u=t.tparsed-t.trequest,r.b.log("latency/loading/parsing/append/kbps:"+Math.round(t.tfirst-t.trequest)+"/"+Math.round(t.tload-t.tfirst)+"/"+Math.round(t.tparsed-t.tload)+"/"+Math.round(t.tbuffered-t.tparsed)+"/"+Math.round(8*t.loaded/(t.tbuffered-t.trequest))),this._bwEstimator.sample(u,t.loaded),t.bwEstimate=this._bwEstimator.getEstimate(),this.bitrateTestDelay=i.bitrateTest?u/1e3:0)},t.onError=function(n){switch(n.details){case f.a.FRAG_LOAD_ERROR:case f.a.FRAG_LOAD_TIMEOUT:this.clearTimer()}},t.clearTimer=function(){clearInterval(this.timer);this.timer=null},t._findBestLevel=function(n,t,i,u,f,e,o,s,h){for(var p,v,y,c=f;c>=u;c--)if(p=h[c],p){var l=p.details,w=l?l.totalduration/l.fragments.length:t,b=!!l&&l.live,a=void 0;if(a=c<=n?o*i:s*i,v=h[c].realBitrate?Math.max(h[c].realBitrate,h[c].bitrate):h[c].bitrate,y=v*w/a,r.b.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+c+"/"+Math.round(a)+"/"+v+"/"+w+"/"+e+"/"+y),a>v&&(!y||b&&!this.bitrateTestDelay||y<e))return c}return-1},c=o,(l=[{key:"nextAutoLevel",get:function(){var n=this._nextAutoLevel,i=this._bwEstimator,t;return(-1===n||i&&i.canEstimate())?(t=this._nextABRAutoLevel,-1!==n&&(t=Math.min(n,t)),t):n},set:function(n){this._nextAutoLevel=n}},{key:"_nextABRAutoLevel",get:function(){var u=this.hls,h=u.maxAutoLevel,c=u.levels,n=u.config,l=u.minAutoLevel,t=u.media,v=this.lastLoadedFragLevel,i=this.fragCurrent?this.fragCurrent.duration:0,y=t?t.currentTime:0,k=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,p=this._bwEstimator?this._bwEstimator.getEstimate():n.abrEwmaDefaultEstimate,o=(a.bufferInfo(t,y,n.maxBufferHole).end-y)/k,f=this._findBestLevel(v,i,p,l,h,o,n.abrBandWidthFactor,n.abrBandWidthUpFactor,c),e;if(f>=0)return f;r.b.trace("rebuffering expected to happen, lets try to find a quality level minimizing the rebuffering");var s=i?Math.min(i,n.maxStarvationDelay):n.maxStarvationDelay,w=n.abrBandWidthFactor,b=n.abrBandWidthUpFactor;return 0===o&&(e=this.bitrateTestDelay,e&&(s=(i?Math.min(i,n.maxLoadingDelay):n.maxLoadingDelay)-e,r.b.trace("bitrate test took "+Math.round(1e3*e)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*s)+" ms"),w=b=1)),f=this._findBestLevel(v,i,p,l,h,o+s,w,b,c),Math.max(f,0)}}])&&ou(c.prototype,l),v&&ou(c,v),o}(h),su=ni(),pe=function(n){function s(t){var i;return(i=n.call(this,t,u.a.MEDIA_ATTACHING,u.a.MEDIA_DETACHING,u.a.MANIFEST_PARSED,u.a.BUFFER_RESET,u.a.BUFFER_APPENDING,u.a.BUFFER_CODECS,u.a.BUFFER_EOS,u.a.BUFFER_FLUSHING,u.a.LEVEL_PTS_UPDATED,u.a.LEVEL_UPDATED)||this)._msDuration=null,i._levelDuration=null,i._levelTargetDuration=10,i._live=null,i._objectUrl=null,i._needsFlush=!1,i._needsEos=!1,i.config=void 0,i.audioTimestampOffset=void 0,i.bufferCodecEventsExpected=0,i._bufferCodecEventsTotal=0,i.media=null,i.mediaSource=null,i.segments=[],i.parent=void 0,i.appending=!1,i.appended=0,i.appendError=0,i.flushBufferCounter=0,i.tracks={},i.pendingTracks={},i.sourceBuffer={},i.flushRange=[],i._onMediaSourceOpen=function(){r.b.log("media source opened");i.hls.trigger(u.a.MEDIA_ATTACHED,{media:i.media});var n=i.mediaSource;n&&n.removeEventListener("sourceopen",i._onMediaSourceOpen);i.checkPendingTracks()},i._onMediaSourceClose=function(){r.b.log("media source closed")},i._onMediaSourceEnded=function(){r.b.log("media source ended")},i._onSBUpdateEnd=function(){var t,n,f;i.audioTimestampOffset&&i.sourceBuffer.audio&&(t=i.sourceBuffer.audio,r.b.warn("change mpeg audio timestamp offset from "+t.timestampOffset+" to "+i.audioTimestampOffset),t.timestampOffset=i.audioTimestampOffset,delete i.audioTimestampOffset);i._needsFlush&&i.doFlush();i._needsEos&&i.checkEos();i.appending=!1;var e=i.parent,o=i.segments.reduce(function(n,t){return t.parent===e?n+1:n},0),s={},h=i.sourceBuffer;for(n in h){if(f=h[n],!f)throw Error("handling source buffer update end error: source buffer for "+n+" uninitilized and unable to update buffered TimeRanges.");s[n]=f.buffered}i.hls.trigger(u.a.BUFFER_APPENDED,{parent:e,pending:o,timeRanges:s});i._needsFlush||i.doAppending();i.updateMediaElementDuration();0===o&&i.flushLiveBackBuffer()},i._onSBUpdateError=function(n){r.b.error("sourceBuffer error:",n);i.hls.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_APPENDING_ERROR,fatal:!1})},i.config=t.config,i}var i,o,t;return o=n,(i=s).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=s.prototype,t.destroy=function(){h.prototype.destroy.call(this)},t.onLevelPtsUpdated=function(n){var f=n.type,i=this.tracks.audio,t,u;if("audio"===f&&i&&"audio/mpeg"===i.container){if(t=this.sourceBuffer.audio,!t)throw Error("Level PTS Updated and source buffer for audio uninitalized");if(Math.abs(t.timestampOffset-n.start)>.1){u=t.updating;try{t.abort()}catch(n){r.b.warn("can not abort audio buffer: "+n)}u?this.audioTimestampOffset=n.start:(r.b.warn("change mpeg audio timestamp offset from "+t.timestampOffset+" to "+n.start),t.timestampOffset=n.start)}}},t.onManifestParsed=function(n){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=n.altAudio?2:1;r.b.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},t.onMediaAttaching=function(n){var i=this.media=n.media,t;i&&su&&(t=this.mediaSource=new su,t.addEventListener("sourceopen",this._onMediaSourceOpen),t.addEventListener("sourceended",this._onMediaSourceEnded),t.addEventListener("sourceclose",this._onMediaSourceClose),i.src=window.URL.createObjectURL(t),this._objectUrl=i.src)},t.onMediaDetaching=function(){r.b.log("media source detaching");var n=this.mediaSource;if(n){if("open"===n.readyState)try{n.endOfStream()}catch(n){r.b.warn("onMediaDetaching:"+n.message+" while calling endOfStream")}n.removeEventListener("sourceopen",this._onMediaSourceOpen);n.removeEventListener("sourceended",this._onMediaSourceEnded);n.removeEventListener("sourceclose",this._onMediaSourceClose);this.media&&(this._objectUrl&&window.URL.revokeObjectURL(this._objectUrl),this.media.src===this._objectUrl?(this.media.removeAttribute("src"),this.media.load()):r.b.warn("media.src was changed by a third party - skip cleanup"));this.mediaSource=null;this.media=null;this._objectUrl=null;this.bufferCodecEventsExpected=this._bufferCodecEventsTotal;this.pendingTracks={};this.tracks={};this.sourceBuffer={};this.flushRange=[];this.segments=[];this.appended=0}this.hls.trigger(u.a.MEDIA_DETACHED)},t.checkPendingTracks=function(){var i=this.bufferCodecEventsExpected,n=this.pendingTracks,t=Object.keys(n).length;(t&&!i||2===t)&&(this.createSourceBuffers(n),this.pendingTracks={},this.doAppending())},t.onBufferReset=function(){var t=this.sourceBuffer,i,n;for(i in t){n=t[i];try{n&&(this.mediaSource&&this.mediaSource.removeSourceBuffer(n),n.removeEventListener("updateend",this._onSBUpdateEnd),n.removeEventListener("error",this._onSBUpdateError))}catch(t){}}this.sourceBuffer={};this.flushRange=[];this.segments=[];this.appended=0},t.onBufferCodecs=function(n){var t=this;Object.keys(this.sourceBuffer).length||(Object.keys(n).forEach(function(i){t.pendingTracks[i]=n[i]}),this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks())},t.createSourceBuffers=function(n){var h=this.sourceBuffer,c=this.mediaSource,i,t,s,e,o;if(!c)throw Error("createSourceBuffers called when mediaSource was null");for(i in n)if(!h[i]){if(t=n[i],!t)throw Error("source buffer exists for track "+i+", however track does not");s=t.levelCodec||t.codec;e=t.container+";codecs="+s;r.b.log("creating sourceBuffer("+e+")");try{o=h[i]=c.addSourceBuffer(e);o.addEventListener("updateend",this._onSBUpdateEnd);o.addEventListener("error",this._onSBUpdateError);this.tracks[i]={buffer:o,codec:s,id:t.id,container:t.container,levelCodec:t.levelCodec}}catch(n){r.b.error("error while trying to add sourceBuffer:"+n.message);this.hls.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.BUFFER_ADD_CODEC_ERROR,fatal:!1,err:n,mimeType:e})}}this.hls.trigger(u.a.BUFFER_CREATED,{tracks:this.tracks})},t.onBufferAppending=function(n){this._needsFlush||(this.segments?this.segments.push(n):this.segments=[n],this.doAppending())},t.onBufferEos=function(n){var t,i;for(t in this.sourceBuffer)n.type&&n.type!==t||(i=this.sourceBuffer[t],i&&!i.ended&&(i.ended=!0,r.b.log(t+" sourceBuffer now EOS")));this.checkEos()},t.checkEos=function(){var i=this.sourceBuffer,t=this.mediaSource,u,n;if(t&&"open"===t.readyState){for(u in i)if(n=i[u],n){if(!n.ended)return;if(n.updating)return void(this._needsEos=!0)}r.b.log("all media data are available, signal endOfStream() to MediaSource and stop loading fragment");try{t.endOfStream()}catch(i){r.b.warn("exception while calling mediaSource.endOfStream()")}this._needsEos=!1}else this._needsEos=!1},t.onBufferFlushing=function(n){n.type?this.flushRange.push({start:n.startOffset,end:n.endOffset,type:n.type}):(this.flushRange.push({start:n.startOffset,end:n.endOffset,type:"video"}),this.flushRange.push({start:n.startOffset,end:n.endOffset,type:"audio"}));this.flushBufferCounter=0;this.doFlush()},t.flushLiveBackBuffer=function(){var n,e,t,o;if(this._live&&(n=this.config.liveBackBufferLength,isFinite(n)&&!(n<0)))if(this.media)for(var c=this.media.currentTime,s=this.sourceBuffer,h=Object.keys(s),i=c-Math.max(n,this._levelTargetDuration),f=h.length-1;f>=0;f--)e=h[f],t=s[e],t&&(o=t.buffered,o.length>0&&i>o.start(0)&&this.removeBufferRange(e,t,0,i)&&this.hls.trigger(u.a.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i}));else r.b.error("flushLiveBackBuffer called without attaching media")},t.onLevelUpdated=function(n){var t=n.details;t.fragments.length>0&&(this._levelDuration=t.totalduration+t.fragments[0].start,this._levelTargetDuration=t.averagetargetduration||t.targetduration||10,this._live=t.live,this.updateMediaElementDuration())},t.updateMediaElementDuration=function(){var n,u=this.config,i,t;if(null!==this._levelDuration&&this.media&&this.mediaSource&&this.sourceBuffer&&0!==this.media.readyState&&"open"===this.mediaSource.readyState){for(i in this.sourceBuffer)if(t=this.sourceBuffer[i],t&&!0===t.updating)return;n=this.media.duration;null===this._msDuration&&(this._msDuration=this.mediaSource.duration);!0===this._live&&!0===u.liveDurationInfinity?(r.b.log("Media Source duration is set to Infinity"),this._msDuration=this.mediaSource.duration=1/0):(this._levelDuration>this._msDuration&&this._levelDuration>n||!Object(e.a)(n))&&(r.b.log("Updating Media Source duration to "+this._levelDuration.toFixed(3)),this._msDuration=this.mediaSource.duration=this._levelDuration)}},t.doFlush=function(){for(var n,t,i,e,f;this.flushRange.length;){if(n=this.flushRange[0],!this.flushBuffer(n.start,n.end,n.type))return void(this._needsFlush=!0);this.flushRange.shift();this.flushBufferCounter=0}if(0===this.flushRange.length){this._needsFlush=!1;t=0;i=this.sourceBuffer;try{for(e in i)f=i[e],f&&(t+=f.buffered.length)}catch(n){r.b.error("error while accessing sourceBuffer.buffered")}this.appended=t;this.hls.trigger(u.a.BUFFER_FLUSHED)}},t.doAppending=function(){var s=this.config,h=this.hls,o=this.segments,e=this.sourceBuffer,n,t,i;if(Object.keys(e).length){if(!this.media||this.media.error)return this.segments=[],void r.b.error("trying to append although a media error occured, flush segment and abort");if(!this.appending&&(n=o.shift(),n))try{if(t=e[n.type],!t)return void this._onSBUpdateEnd();if(t.updating)return void o.unshift(n);t.ended=!1;this.parent=n.parent;t.appendBuffer(n.data);this.appendError=0;this.appended++;this.appending=!0}catch(e){r.b.error("error while trying to append buffer:"+e.message);o.unshift(n);i={type:f.b.MEDIA_ERROR,parent:n.parent,details:"",fatal:!1};22===e.code?(this.segments=[],i.details=f.a.BUFFER_FULL_ERROR):(this.appendError++,i.details=f.a.BUFFER_APPEND_ERROR,this.appendError>s.appendErrorMaxRetry&&(r.b.log("fail "+s.appendErrorMaxRetry+" times to append segment in sourceBuffer"),this.segments=[],i.fatal=!0));h.trigger(u.a.ERROR,i)}}},t.flushBuffer=function(n,t,i){var e=this.sourceBuffer,f,u;if(!Object.keys(e).length)return!0;if(f="null",this.media&&(f=this.media.currentTime.toFixed(3)),r.b.log("flushBuffer,pos/start/end: "+f+"/"+n+"/"+t),this.flushBufferCounter>=this.appended)return r.b.warn("abort flushing too many retries"),!0;if(u=e[i],u){if(u.ended=!1,u.updating)return r.b.warn("cannot flush, sb updating in progress"),!1;if(this.removeBufferRange(i,u,n,t))return this.flushBufferCounter++,!1}return r.b.log("buffer flushed"),!0},t.removeBufferRange=function(n,t,i,u){var f,h;try{for(f=0;f<t.buffered.length;f++){var c=t.buffered.start(f),e=t.buffered.end(f),o=Math.max(c,i),s=Math.min(e,u);if(Math.min(s,e)-o>.5)return h="null",this.media&&(h=this.media.currentTime.toString()),r.b.log("sb remove "+n+" ["+o+","+s+"], of ["+c+","+e+"], pos:"+h),t.remove(o,s),!0}}catch(n){r.b.warn("removeBufferRange failed",n)}return!1},s}(h);var we=function(n){function i(t){var i;return(i=n.call(this,t,u.a.FPS_DROP_LEVEL_CAPPING,u.a.MEDIA_ATTACHING,u.a.MANIFEST_PARSED,u.a.BUFFER_CODECS,u.a.MEDIA_DETACHING)||this).autoLevelCapping=Number.POSITIVE_INFINITY,i.firstLevel=null,i.levels=[],i.media=null,i.restrictedLevels=[],i.timer=null,i}var r,f,e,s,o,t;return f=n,(r=i).prototype=Object.create(f.prototype),r.prototype.constructor=r,r.__proto__=f,t=i.prototype,t.destroy=function(){this.hls.config.capLevelToPlayerSize&&(this.media=null,this.stopCapping())},t.onFpsDropLevelCapping=function(n){i.isLevelAllowed(n.droppedLevel,this.restrictedLevels)&&this.restrictedLevels.push(n.droppedLevel)},t.onMediaAttaching=function(n){this.media=n.media instanceof window.HTMLVideoElement?n.media:null},t.onManifestParsed=function(n){var t=this.hls;this.restrictedLevels=[];this.levels=n.levels;this.firstLevel=n.firstLevel;t.config.capLevelToPlayerSize&&n.video&&this.startCapping()},t.onBufferCodecs=function(n){this.hls.config.capLevelToPlayerSize&&n.video&&this.startCapping()},t.onLevelsUpdated=function(n){this.levels=n.levels},t.onMediaDetaching=function(){this.stopCapping()},t.detectPlayerSize=function(){var t,n;this.media&&(t=this.levels?this.levels.length:0,t&&(n=this.hls,n.autoLevelCapping=this.getMaxLevel(t-1),n.autoLevelCapping>this.autoLevelCapping&&n.streamController.nextLevelSwitch(),this.autoLevelCapping=n.autoLevelCapping))},t.getMaxLevel=function(n){var r=this,t;return this.levels?(t=this.levels.filter(function(t,u){return i.isLevelAllowed(u,r.restrictedLevels)&&u<=n}),i.getMaxLevelByMediaSize(t,this.mediaWidth,this.mediaHeight)):-1},t.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),clearInterval(this.timer),this.timer=setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},t.stopCapping=function(){this.restrictedLevels=[];this.firstLevel=null;this.autoLevelCapping=Number.POSITIVE_INFINITY;this.timer&&(this.timer=clearInterval(this.timer),this.timer=null)},i.isLevelAllowed=function(n,t){return void 0===t&&(t=[]),-1===t.indexOf(n)},i.getMaxLevelByMediaSize=function(n,t,i){var f,e,o,r,u;if(!n||n&&!n.length)return-1;for(o=n.length-1,r=0;r<n.length;r+=1)if(u=n[r],(u.width>=t||u.height>=i)&&(f=u,!(e=n[r+1])||f.width!==e.width||f.height!==e.height)){o=r;break}return o},e=i,o=[{key:"contentScaleFactor",get:function(){var n=1;try{n=window.devicePixelRatio}catch(n){}return n}}],(s=[{key:"mediaWidth",get:function(){var t,n=this.media;return n&&(t=n.width||n.clientWidth||n.offsetWidth,t*=i.contentScaleFactor),t}},{key:"mediaHeight",get:function(){var t,n=this.media;return n&&(t=n.height||n.clientHeight||n.offsetHeight,t*=i.contentScaleFactor),t}}])&&hu(e.prototype,s),o&&hu(e,o),i}(h),be=window.performance,ke=function(n){function e(t){return n.call(this,t,u.a.MEDIA_ATTACHING)||this}var i,f,t;return f=n,(i=e).prototype=Object.create(f.prototype),i.prototype.constructor=i,i.__proto__=f,t=e.prototype,t.destroy=function(){this.timer&&clearInterval(this.timer);this.isVideoPlaybackQualityAvailable=!1},t.onMediaAttaching=function(n){var t=this.hls.config;t.capLevelOnFPSDrop&&("function"==typeof(this.video=n.media instanceof window.HTMLVideoElement?n.media:null).getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),clearInterval(this.timer),this.timer=setInterval(this.checkFPSInterval.bind(this),t.fpsDroppedMonitoringPeriod))},t.checkFPS=function(n,t,i){var s=be.now(),e;if(t){if(this.lastTime){var c=s-this.lastTime,o=i-this.lastDroppedFrames,h=t-this.lastDecodedFrames,l=1e3*o/c,f=this.hls;(f.trigger(u.a.FPS_DROP,{currentDropped:o,currentDecoded:h,totalDroppedFrames:i}),l>0&&o>f.config.fpsDroppedMonitoringThreshold*h)&&(e=f.currentLevel,r.b.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===f.autoLevelCapping||f.autoLevelCapping>=e)&&(e-=1,f.trigger(u.a.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:f.currentLevel}),f.autoLevelCapping=e,f.streamController.nextLevelSwitch()))}this.lastTime=s;this.lastDroppedFrames=i;this.lastDecodedFrames=t}},t.checkFPSInterval=function(){var n=this.video,t;n&&(this.isVideoPlaybackQualityAvailable?(t=n.getVideoPlaybackQuality(),this.checkFPS(n,t.totalVideoFrames,t.droppedVideoFrames)):this.checkFPS(n,n.webkitDecodedFrameCount,n.webkitDroppedFrameCount))},e}(h),cu=window,si=cu.performance,de=cu.XMLHttpRequest,ge=function(){function t(n){n&&n.xhrSetup&&(this.xhrSetup=n.xhrSetup)}var n=t.prototype;return n.destroy=function(){this.abort();this.loader=null},n.abort=function(){var n=this.loader;n&&4!==n.readyState&&(this.stats.aborted=!0,n.abort());window.clearTimeout(this.requestTimeout);this.requestTimeout=null;window.clearTimeout(this.retryTimeout);this.retryTimeout=null},n.load=function(n,t,i){this.context=n;this.config=t;this.callbacks=i;this.stats={trequest:si.now(),retry:0};this.retryDelay=t.retryDelay;this.loadInternal()},n.loadInternal=function(){var n,t=this.context,i,r;n=this.loader=new de;i=this.stats;i.tfirst=0;i.loaded=0;r=this.xhrSetup;try{if(r)try{r(n,t.url)}catch(i){n.open("GET",t.url,!0);r(n,t.url)}n.readyState||n.open("GET",t.url,!0)}catch(i){return void this.callbacks.onError({code:n.status,text:i.message},t,n)}t.rangeEnd&&n.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1));n.onreadystatechange=this.readystatechange.bind(this);n.onprogress=this.loadprogress.bind(this);n.responseType=t.responseType;this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),this.config.timeout);n.send()},n.readystatechange=function(n){var i=n.currentTarget,s=i.readyState,t=this.stats,f=this.context,e=this.config,u,o,h,c;if(!t.aborted&&s>=2)if(window.clearTimeout(this.requestTimeout),0===t.tfirst&&(t.tfirst=Math.max(si.now(),t.trequest)),4===s)if(u=i.status,u>=200&&u<300){t.tload=Math.max(t.tfirst,si.now());h="arraybuffer"===f.responseType?(o=i.response).byteLength:(o=i.responseText).length;t.loaded=t.total=h;c={url:i.responseURL,data:o};this.callbacks.onSuccess(c,t,f,i)}else t.retry>=e.maxRetry||u>=400&&u<499?(r.b.error(u+" while loading "+f.url),this.callbacks.onError({code:u,text:i.statusText},f,i)):(r.b.warn(u+" while loading "+f.url+", retrying in "+this.retryDelay+"..."),this.destroy(),this.retryTimeout=window.setTimeout(this.loadInternal.bind(this),this.retryDelay),this.retryDelay=Math.min(2*this.retryDelay,e.maxRetryDelay),t.retry++);else this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),e.timeout)},n.loadtimeout=function(){r.b.warn("timeout while loading "+this.context.url);this.callbacks.onTimeout(this.stats,this.context,null)},n.loadprogress=function(n){var r=n.currentTarget,t=this.stats,i;t.loaded=n.loaded;n.lengthComputable&&(t.total=n.total);i=this.callbacks.onProgress;i&&i(t,this.context,null,r)},t}();au=function(n){function e(t){var i;return(i=n.call(this,t,u.a.MANIFEST_LOADING,u.a.MANIFEST_PARSED,u.a.AUDIO_TRACK_LOADED,u.a.AUDIO_TRACK_SWITCHED,u.a.LEVEL_LOADED,u.a.ERROR)||this)._trackId=-1,i._selectDefaultTrack=!0,i.tracks=[],i.trackIdBlacklist=Object.create(null),i.audioGroupId=null,i}var i,o,s,h,c,t;return o=n,(i=e).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=e.prototype,t.onManifestLoading=function(){this.tracks=[];this._trackId=-1;this._selectDefaultTrack=!0},t.onManifestParsed=function(n){var t=this.tracks=n.audioTracks||[];this.hls.trigger(u.a.AUDIO_TRACKS_UPDATED,{audioTracks:t});this._selectAudioGroup(this.hls.nextLoadLevel)},t.onAudioTrackLoaded=function(n){if(n.id>=this.tracks.length)r.b.warn("Invalid audio track id:",n.id);else{if(r.b.log("audioTrack "+n.id+" loaded"),this.tracks[n.id].details=n.details,n.details.live&&!this.hasInterval()){var t=1e3*n.details.targetduration;this.setInterval(t)}!n.details.live&&this.hasInterval()&&this.clearInterval()}},t.onAudioTrackSwitched=function(n){var t=this.tracks[n.id].groupId;t&&this.audioGroupId!==t&&(this.audioGroupId=t)},t.onLevelLoaded=function(n){this._selectAudioGroup(n.level)},t.onError=function(n){n.type===f.b.NETWORK_ERROR&&(n.fatal&&this.clearInterval(),n.details===f.a.AUDIO_TRACK_LOAD_ERROR&&(r.b.warn("Network failure on audio-track id:",n.context.id),this._handleLoadError()))},t._setAudioTrack=function(n){var t;if(this._trackId===n&&this.tracks[this._trackId].details)r.b.debug("Same id as current audio-track passed, and track details available -> no-op");else if(n<0||n>=this.tracks.length)r.b.warn("Invalid id passed to audio-track controller");else{t=this.tracks[n];r.b.log("Now switching to audio-track index "+n);this.clearInterval();this._trackId=n;var i=t.url,f=t.type,e=t.id;this.hls.trigger(u.a.AUDIO_TRACK_SWITCHING,{id:e,type:f,url:i});this._loadTrackDetailsIfNeeded(t)}},t.doTick=function(){this._updateTrack(this._trackId)},t._selectAudioGroup=function(n){var t=this.hls.levels[n],i;t&&t.audioGroupIds&&(i=t.audioGroupIds[t.urlId],this.audioGroupId!==i&&(this.audioGroupId=i,this._selectInitialAudioTrack()))},t._selectInitialAudioTrack=function(){var e=this,i=this.tracks,o,n,s,t,h;i.length&&(o=this.tracks[this._trackId],n=null,(o&&(n=o.name),this._selectDefaultTrack)&&(s=i.filter(function(n){return n.default}),s.length?i=s:r.b.warn("No default audio tracks defined")),t=!1,h=function(){i.forEach(function(i){t||e.audioGroupId&&i.groupId!==e.audioGroupId||n&&n!==i.name||(e._setAudioTrack(i.id),t=!0)})},h(),t||(n=null,h()),t||(r.b.error("No track found for running audio group-ID: "+this.audioGroupId),this.hls.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:f.a.AUDIO_TRACK_LOAD_ERROR,fatal:!0})))},t._needsTrackLoading=function(n){var t=n.details,i=n.url;return!(t&&!t.live)&&!!i},t._loadTrackDetailsIfNeeded=function(n){if(this._needsTrackLoading(n)){var i=n.url,t=n.id;r.b.log("loading audio-track playlist for id: "+t);this.hls.trigger(u.a.AUDIO_TRACK_LOADING,{url:i,id:t})}},t._updateTrack=function(n){if(!(n<0||n>=this.tracks.length)){this.clearInterval();this._trackId=n;r.b.log("trying to update audio-track "+n);var t=this.tracks[n];this._loadTrackDetailsIfNeeded(t)}},t._handleLoadError=function(){var n,t;this.trackIdBlacklist[this._trackId]=!0;var i=this._trackId,u=this.tracks[i],f=u.name,e=u.language,o=u.groupId;for(r.b.warn("Loading failed on audio track id: "+i+", group-id: "+o+', name/language: "'+f+'" / "'+e+'"'),n=i,t=0;t<this.tracks.length;t++)if(!this.trackIdBlacklist[t]&&this.tracks[t].name===f){n=t;break}n!==i?(r.b.log("Attempting audio-track fallback id:",n,"group-id:",this.tracks[n].groupId),this._setAudioTrack(n)):r.b.warn('No fallback audio-track found for name/language: "'+f+'" / "'+e+'"')},s=e,(h=[{key:"audioTracks",get:function(){return this.tracks}},{key:"audioTrack",get:function(){return this._trackId},set:function(n){this._setAudioTrack(n);this._selectDefaultTrack=!1}}])&&lu(s.prototype,h),c&&lu(s,c),e}(kr);var et=window.performance,no=function(n){function o(t,i){var r;return(r=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHING,u.a.AUDIO_TRACKS_UPDATED,u.a.AUDIO_TRACK_SWITCHING,u.a.AUDIO_TRACK_LOADED,u.a.KEY_LOADED,u.a.FRAG_LOADED,u.a.FRAG_PARSING_INIT_SEGMENT,u.a.FRAG_PARSING_DATA,u.a.FRAG_PARSED,u.a.ERROR,u.a.BUFFER_RESET,u.a.BUFFER_CREATED,u.a.BUFFER_APPENDED,u.a.BUFFER_FLUSHED,u.a.INIT_PTS_FOUND)||this).fragmentTracker=i,r.config=t.config,r.audioCodecSwap=!1,r._state=w,r.initPTS=[],r.waitingFragment=null,r.videoTrackCC=null,r}var i,h,c,l,d,t;return h=n,(i=o).prototype=Object.create(h.prototype),i.prototype.constructor=i,i.__proto__=h,t=o.prototype,t.onInitPtsFound=function(n){var u=n.id,t=n.frag.cc,i=n.initPTS;"main"===u&&(this.initPTS[t]=i,this.videoTrackCC=t,r.b.log("InitPTS for cc: "+t+" found from video track: "+i),this.state===ei&&this.tick())},t.startLoad=function(n){if(this.tracks){var t=this.lastCurrentTime;this.stopLoad();this.setInterval(100);this.fragLoadError=0;t>0&&-1===n?(r.b.log("audio:override startPosition with lastCurrentTime @"+t.toFixed(3)),this.state=s):(this.lastCurrentTime=this.startPosition?this.startPosition:n,this.state=dr);this.nextLoadPosition=this.startPosition=this.lastCurrentTime;this.tick()}else this.startPosition=n,this.state=w},t.doTick=function(){var o,p,t,it=this.hls,c=it.config,w,ot,tt,ct,pt;switch(this.state){case dr:this.state=yt;this.loadedmetadata=!1;break;case s:if(w=this.tracks,!w)break;if(!this.media&&(this.startFragRequested||!c.startFragPrefetch))break;if(this.loadedmetadata)o=this.media.currentTime;else if(void 0===(o=this.nextLoadPosition))break;var rt=this.mediaBuffer?this.mediaBuffer:this.media,dt=this.videoBuffer?this.videoBuffer:this.media,h=a.bufferInfo(rt,o,c.maxBufferHole),gt=a.bufferInfo(dt,o,c.maxBufferHole),ni=h.len,f=h.end,v=this.fragPrevious,ti=Math.min(c.maxBufferLength,c.maxMaxBufferLength),ii=Math.max(ti,gt.len),d=this.audioSwitch,g=this.trackId;if((ni<ii||d)&&g<w.length){if(void 0===(t=w[g].details)){this.state=yt;break}if(!d&&this._streamEnded(h,t))return this.hls.trigger(u.a.BUFFER_EOS,{type:"audio"}),void(this.state=fi);var n,i=t.fragments,ft=i.length,l=i[0].start,wt=i[ft-1].start+i[ft-1].duration;if(d)if(t.live&&!t.PTSKnown)r.b.log("switching audiotrack, live stream, unknown PTS,load first fragment"),f=0;else if(f=o,t.PTSKnown&&o<l){if(!(h.end>l||h.nextStart))return;r.b.log("alt audio track ahead of main track, seek to start of alt audio track");this.media.currentTime=l+.05}if(t.initSegment&&!t.initSegment.data)n=t.initSegment;else if(f<=l){if(n=i[0],null!==this.videoTrackCC&&n.cc!==this.videoTrackCC&&(n=function(n,t){return at.search(n,function(n){return n.cc<t?1:n.cc>t?-1:0})}(i,this.videoTrackCC)),t.live&&n.loadIdx&&n.loadIdx===this.fragLoadIdx)return ot=h.nextStart?h.nextStart:l,r.b.log("no alt audio available @currentTime:"+this.media.currentTime+", seeking @"+(ot+.05)),void(this.media.currentTime=ot+.05)}else{var y,st=c.maxFragLookUpTolerance,ht=v?i[v.sn-i[0].sn+1]:void 0,bt=function(n){var t=Math.min(st,n.duration);return n.start+n.duration-t<=f?1:n.start-t>f&&n.start?-1:0};f<wt?(f>wt-st&&(st=0),y=ht&&!bt(ht)?ht:at.search(i,bt)):y=i[ft-1];y&&(n=y,l=y.start,v&&n.level===v.level&&n.sn===v.sn&&(n.sn<t.endSN?(n=i[n.sn+1-t.startSN],r.b.log("SN just loaded, load next one: "+n.sn)):n=null))}n&&(n.encrypted?(r.b.log("Loading key for "+n.sn+" of ["+t.startSN+" ,"+t.endSN+"],track "+g),this.state=nt,it.trigger(u.a.KEY_LOADING,{frag:n})):(r.b.log("Loading "+n.sn+", cc: "+n.cc+" of ["+t.startSN+" ,"+t.endSN+"],track "+g+", currentTime:"+o+",bufferEnd:"+f.toFixed(3)),this.fragCurrent=n,(d||this.fragmentTracker.getState(n)===lt)&&("initSegment"!==n.sn&&(this.startFragRequested=!0),Object(e.a)(n.sn)&&(this.nextLoadPosition=n.start+n.duration),it.trigger(u.a.FRAG_LOADING,{frag:n}),this.state=b)))}break;case yt:(p=this.tracks[this.trackId])&&p.details&&(this.state=s);break;case vt:var ri=et.now(),kt=this.retryDate,ui=(rt=this.media)&&rt.seeking;(!kt||ri>=kt||ui)&&(r.b.log("audioStreamController: retryDate reached, switch back to IDLE state"),this.state=s);break;case ei:if(tt=this.videoTrackCC,void 0===this.initPTS[tt])break;ct=this.waitingFragment;ct?(pt=ct.frag.cc,tt!==pt?(p=this.tracks[this.trackId]).details&&p.details.live&&(r.b.warn("Waiting fragment CC ("+pt+") does not match video track CC ("+tt+")"),this.waitingFragment=null,this.state=s):(this.state=b,this.onFragLoaded(this.waitingFragment),this.waitingFragment=null)):this.state=s}},t.onMediaAttached=function(n){var i=this.media=this.mediaBuffer=n.media,t;this.onvseeking=this.onMediaSeeking.bind(this);this.onvended=this.onMediaEnded.bind(this);i.addEventListener("seeking",this.onvseeking);i.addEventListener("ended",this.onvended);t=this.config;this.tracks&&t.autoStartLoad&&this.startLoad(t.startPosition)},t.onMediaDetaching=function(){var n=this.media;n&&n.ended&&(r.b.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);n&&(n.removeEventListener("seeking",this.onvseeking),n.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null);this.media=this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=!1;this.fragmentTracker.removeAllFragments();this.stopLoad()},t.onAudioTracksUpdated=function(n){r.b.log("audio tracks updated");this.tracks=n.audioTracks},t.onAudioTrackSwitching=function(n){var t=!!n.url;this.trackId=n.id;this.fragCurrent=null;this.state=gr;this.waitingFragment=null;t?this.setInterval(100):this.demuxer&&(this.demuxer.destroy(),this.demuxer=null);t&&(this.audioSwitch=!0,this.state=s);this.tick()},t.onAudioTrackLoaded=function(n){var t=n.details,o=n.id,h=this.tracks[o],c=t.totalduration,u=0,f,i;(r.b.log("track "+o+" loaded ["+t.startSN+","+t.endSN+"],duration:"+c),t.live)?(f=h.details,f&&t.fragments.length>0?(hr(f,t),u=t.fragments[0].start,t.PTSKnown?r.b.log("live audio playlist sliding:"+u.toFixed(3)):r.b.log("live audio playlist - outdated PTS, unknown sliding")):(t.PTSKnown=!1,r.b.log("live audio playlist - first load, unknown sliding"))):t.PTSKnown=!1;(h.details=t,this.startFragRequested)||(-1===this.startPosition&&(i=t.startTimeOffset,Object(e.a)(i)?(r.b.log("start time offset found in playlist, adjust startPosition to "+i),this.startPosition=i):t.live?(this.startPosition=this.computeLivePosition(u,t),r.b.log("compute startPosition for audio-track to "+this.startPosition)):this.startPosition=0),this.nextLoadPosition=this.startPosition);this.state===yt&&(this.state=s);this.tick()},t.onKeyLoaded=function(){this.state===nt&&(this.state=s,this.tick())},t.onFragLoaded=function(n){var i=this.fragCurrent,f=n.frag,h,y;if(this.state===b&&i&&"audio"===f.type&&f.level===i.level&&f.sn===i.sn){var c=this.tracks[this.trackId],t=c.details,p=t.totalduration,l=i.level,e=i.sn,a=i.cc,w=this.config.defaultAudioCodec||c.audioCodec||"mp4a.40.2",o=this.stats=n.stats;"initSegment"===e?(this.state=s,o.tparsed=o.tbuffered=et.now(),t.initSegment.data=n.payload,this.hls.trigger(u.a.FRAG_BUFFERED,{stats:o,frag:i,id:"audio"}),this.tick()):(this.state=v,this.appended=!1,this.demuxer||(this.demuxer=new ii(this.hls,"audio")),h=this.initPTS[a],y=t.initSegment?t.initSegment.data:[],t.initSegment||void 0!==h?(this.pendingBuffering=!0,r.b.log("Demuxing "+e+" of ["+t.startSN+" ,"+t.endSN+"],track "+l),this.demuxer.push(n.payload,y,w,null,i,p,!1,h)):(r.b.log("unknown video PTS for continuity counter "+a+", waiting for video PTS before demuxing audio frag "+e+" of ["+t.startSN+" ,"+t.endSN+"],track "+l),this.waitingFragment=n,this.state=ei))}this.fragLoadError=0},t.onFragParsingInitSegment=function(n){var f=this.fragCurrent,s=n.frag,t,i,e,o;f&&"audio"===n.id&&s.sn===f.sn&&s.level===f.level&&this.state===v&&(i=n.tracks,(i.video&&delete i.video,t=i.audio)&&(t.levelCodec=t.codec,t.id=n.id,this.hls.trigger(u.a.BUFFER_CODECS,i),r.b.log("audio track:audio,container:"+t.container+",codecs[level/parsed]=["+t.levelCodec+"/"+t.codec+"]"),e=t.initSegment,e&&(o={type:"audio",data:e,parent:"audio",content:"initSegment"},this.audioSwitch?this.pendingData=[o]:(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(u.a.BUFFER_APPENDING,o))),this.tick()))},t.onFragParsingData=function(n){var s=this,t=this.fragCurrent,a=n.frag,l,i;if(t&&"audio"===n.id&&"audio"===n.type&&a.sn===t.sn&&a.level===t.level&&this.state===v){var h=this.trackId,w=this.tracks[h],o=this.hls;Object(e.a)(n.endPTS)||(n.endPTS=n.startPTS+t.duration,n.endDTS=n.startDTS+t.duration);t.addElementaryStream(p.AUDIO);r.b.log("parsed "+n.type+",PTS:["+n.startPTS.toFixed(3)+","+n.endPTS.toFixed(3)+"],DTS:["+n.startDTS.toFixed(3)+"/"+n.endDTS.toFixed(3)+"],nb:"+n.nb);ri(w.details,t,n.startPTS,n.endPTS);var b=this.audioSwitch,c=this.media,y=!1;if(b&&(c&&c.readyState?(l=c.currentTime,r.b.log("switching audio track : currentTime:"+l),l>=n.startPTS&&(r.b.log("switching audio track : flushing all audio"),this.state=ut,o.trigger(u.a.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"}),y=!0,this.audioSwitch=!1,o.trigger(u.a.AUDIO_TRACK_SWITCHED,{id:h}))):(this.audioSwitch=!1,o.trigger(u.a.AUDIO_TRACK_SWITCHED,{id:h}))),i=this.pendingData,!i)return r.b.warn("Apparently attempt to enqueue media payload without codec initialization data upfront"),void o.trigger(u.a.ERROR,{type:f.b.MEDIA_ERROR,details:null,fatal:!0});this.audioSwitch||([n.data1,n.data2].forEach(function(t){t&&t.length&&i.push({type:n.type,data:t,parent:"audio",content:"data"})}),!y&&i.length&&(i.forEach(function(n){s.state===v&&(s.pendingBuffering=!0,s.hls.trigger(u.a.BUFFER_APPENDING,n))}),this.pendingData=[],this.appended=!0));this.tick()}},t.onFragParsed=function(n){var t=this.fragCurrent,i=n.frag;t&&"audio"===n.id&&i.sn===t.sn&&i.level===t.level&&this.state===v&&(this.stats.tparsed=et.now(),this.state=y,this._checkAppendedParsed())},t.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=!1},t.onBufferCreated=function(n){var t=n.tracks.audio;t&&(this.mediaBuffer=t.buffer,this.loadedmetadata=!0);n.tracks.video&&(this.videoBuffer=n.tracks.video.buffer)},t.onBufferAppended=function(n){if("audio"===n.parent){var t=this.state;t!==v&&t!==y||(this.pendingBuffering=n.pending>0,this._checkAppendedParsed())}},t._checkAppendedParsed=function(){var t;if(!(this.state!==y||this.appended&&this.pendingBuffering)){var n=this.fragCurrent,i=this.stats,f=this.hls;n&&(this.fragPrevious=n,i.tbuffered=et.now(),f.trigger(u.a.FRAG_BUFFERED,{stats:i,frag:n,id:"audio"}),t=this.mediaBuffer?this.mediaBuffer:this.media,t&&r.b.log("audio buffered : "+ui.toString(t.buffered)),this.audioSwitch&&this.appended&&(this.audioSwitch=!1,f.trigger(u.a.AUDIO_TRACK_SWITCHED,{id:this.trackId})),this.state=s);this.tick()}},t.onError=function(n){var p=n.frag,h,t,e,c,o,l,i;if(!p||"audio"===p.type)switch(n.details){case f.a.FRAG_LOAD_ERROR:case f.a.FRAG_LOAD_TIMEOUT:if(h=n.frag,h&&"audio"!==h.type)break;n.fatal||(t=this.fragLoadError,t?t++:t=1,e=this.config,t<=e.fragLoadingMaxRetry?(this.fragLoadError=t,c=Math.min(Math.pow(2,t-1)*e.fragLoadingRetryDelay,e.fragLoadingMaxRetryTimeout),r.b.warn("AudioStreamController: frag loading failed, retry in "+c+" ms"),this.retryDate=et.now()+c,this.state=vt):(r.b.error("AudioStreamController: "+n.details+" reaches max retry, redispatch as fatal ..."),n.fatal=!0,this.state=k));break;case f.a.AUDIO_TRACK_LOAD_ERROR:case f.a.AUDIO_TRACK_LOAD_TIMEOUT:case f.a.KEY_LOAD_ERROR:case f.a.KEY_LOAD_TIMEOUT:this.state!==k&&(this.state=n.fatal?k:s,r.b.warn("AudioStreamController: "+n.details+" while loading frag, now switching to "+this.state+" state ..."));break;case f.a.BUFFER_FULL_ERROR:"audio"===n.parent&&(this.state===v||this.state===y)&&(o=this.mediaBuffer,l=this.media.currentTime,o&&a.isBuffered(o,l)&&a.isBuffered(o,l+.5)?(i=this.config,i.maxMaxBufferLength>=i.maxBufferLength&&(i.maxMaxBufferLength/=2,r.b.warn("AudioStreamController: reduce max buffer length to "+i.maxMaxBufferLength+"s")),this.state=s):(r.b.warn("AudioStreamController: buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,this.state=ut,this.hls.trigger(u.a.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"})))}},t.onBufferFlushed=function(){var t=this,n=this.pendingData;n&&n.length?(r.b.log("AudioStreamController: appending pending audio data after buffer flushed"),n.forEach(function(n){t.hls.trigger(u.a.BUFFER_APPENDING,n)}),this.appended=!0,this.pendingData=[],this.state=y):(this.state=s,this.fragPrevious=null,this.tick())},c=o,(l=[{key:"state",set:function(n){if(this.state!==n){var t=this.state;this._state=n;r.b.log("audio stream:"+t+"->"+n)}},get:function(){return this._state}}])&&vu(c.prototype,l),d&&vu(c,d),o}(oi),yu=function(){function t(n){return"string"==typeof n&&!!u[n.toLowerCase()]&&n.toLowerCase()}function n(n){for(var i,r,t=1;t<arguments.length;t++){i=arguments[t];for(r in i)n[r]=i[r]}return n}function i(i,u,f){var e=this,o={enumerable:!0};e.hasBeenReset=!1;var s="",h=!1,c=i,l=u,a=f,v=null,y="",p=!0,w="auto",b="start",k=50,d="middle",g=50,nt="middle";Object.defineProperty(e,"id",n({},o,{get:function(){return s},set:function(n){s=""+n}}));Object.defineProperty(e,"pauseOnExit",n({},o,{get:function(){return h},set:function(n){h=!!n}}));Object.defineProperty(e,"startTime",n({},o,{get:function(){return c},set:function(n){if("number"!=typeof n)throw new TypeError("Start time must be set to a number.");c=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"endTime",n({},o,{get:function(){return l},set:function(n){if("number"!=typeof n)throw new TypeError("End time must be set to a number.");l=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"text",n({},o,{get:function(){return a},set:function(n){a=""+n;this.hasBeenReset=!0}}));Object.defineProperty(e,"region",n({},o,{get:function(){return v},set:function(n){v=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"vertical",n({},o,{get:function(){return y},set:function(n){var t=function(n){return"string"==typeof n&&!!r[n.toLowerCase()]&&n.toLowerCase()}(n);if(!1===t)throw new SyntaxError("An invalid or illegal string was specified.");y=t;this.hasBeenReset=!0}}));Object.defineProperty(e,"snapToLines",n({},o,{get:function(){return p},set:function(n){p=!!n;this.hasBeenReset=!0}}));Object.defineProperty(e,"line",n({},o,{get:function(){return w},set:function(n){if("number"!=typeof n&&"auto"!==n)throw new SyntaxError("An invalid number or illegal string was specified.");w=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"lineAlign",n({},o,{get:function(){return b},set:function(n){var i=t(n);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");b=i;this.hasBeenReset=!0}}));Object.defineProperty(e,"position",n({},o,{get:function(){return k},set:function(n){if(n<0||n>100)throw new Error("Position must be between 0 and 100.");k=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"positionAlign",n({},o,{get:function(){return d},set:function(n){var i=t(n);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");d=i;this.hasBeenReset=!0}}));Object.defineProperty(e,"size",n({},o,{get:function(){return g},set:function(n){if(n<0||n>100)throw new Error("Size must be between 0 and 100.");g=n;this.hasBeenReset=!0}}));Object.defineProperty(e,"align",n({},o,{get:function(){return nt},set:function(n){var i=t(n);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");nt=i;this.hasBeenReset=!0}}));e.displayState=void 0}if("undefined"!=typeof window&&window.VTTCue)return window.VTTCue;var r={"":!0,lr:!0,rl:!0},u={start:!0,middle:!0,end:!0,left:!0,right:!0};return i.prototype.getCueAsHTML=function(){return window.WebVTT.convertCueToDOMTree(window,this.text)},i}(),to=function(){return{decode:function(n){if(!n)return"";if("string"!=typeof n)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(n))}}};wu.prototype={set:function(n,t){this.get(n)||""===t||(this.values[n]=t)},get:function(n,t,i){return i?this.has(n)?this.values[n]:t[i]:this.has(n)?this.values[n]:t},has:function(n){return n in this.values},alt:function(n,t,i){for(var r=0;r<i.length;++r)if(t===i[r]){this.set(n,t);break}},integer:function(n,t){/^-?\d+$/.test(t)&&this.set(n,parseInt(t,10))},percent:function(n,t){return!!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(t=parseFloat(t))>=0&&t<=100)&&(this.set(n,t),!0)}};bt=new yu(0,0,0);ot="middle"===bt.align?"middle":"center";pu.prototype={parse:function(n){function f(){for(var i=t.buffer,n=0,r,i=ku(i);n<i.length&&"\r"!==i[n]&&"\n"!==i[n];)++n;return r=i.substr(0,n),"\r"===i[n]&&++n,"\n"===i[n]&&++n,t.buffer=i.substr(n),r}var t=this,i,u,r,e;n&&(t.buffer+=t.decoder.decode(n,{stream:!0}));try{if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;if(u=(i=f()).match(/^(ï»¿)?WEBVTT([ \t].*)?$/),!u||!u[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(r=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(r?r=!1:i=f(),t.state){case"HEADER":/:/.test(i)?bu(i,function(){},/:/):i||(t.state="ID");continue;case"NOTE":i||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){t.state="NOTE";break}if(!i)continue;if(t.cue=new yu(0,0,""),t.state="CUE",-1===i.indexOf("-->")){t.cue.id=i;continue}case"CUE":try{io(i,t.cue,t.regionList)}catch(n){t.cue=null;t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":if(e=-1!==i.indexOf("-->"),!i||e&&(r=!0)){t.oncue&&t.oncue(t.cue);t.cue=null;t.state="ID";continue}t.cue.text&&(t.cue.text+="\n");t.cue.text+=i;continue;case"BADCUE":i||(t.state="ID");continue}}}catch(n){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue);t.cue=null;t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this},flush:function(){try{if(this.buffer+=this.decoder.decode(),(this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state)throw new Error("Malformed WebVTT signature.");}catch(n){throw n;}return this.onflush&&this.onflush(),this}};du=pu;var gu,nf={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},tf=function(n){var t=n;return nf.hasOwnProperty(n)&&(t=nf[n]),String.fromCharCode(t)},uo={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},fo={17:2,18:4,21:6,22:8,23:10,19:13,20:15},eo={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},oo={25:2,26:4,29:6,30:8,31:10,27:13,28:15},so=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];!function(n){n[n.ERROR=0]="ERROR";n[n.TEXT=1]="TEXT";n[n.WARNING=2]="WARNING";n[n.INFO=2]="INFO";n[n.DEBUG=3]="DEBUG";n[n.DATA=3]="DATA"}(gu||(gu={}));var o={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(n){this.time=n},log:function(n){this.verboseFilter[n];this.verboseLevel}},d=function(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t].toString(16));return i},rf=function(){function t(n,t,i,r,u){this.foreground=void 0;this.underline=void 0;this.italics=void 0;this.background=void 0;this.flash=void 0;this.foreground=n||"white";this.underline=t||!1;this.italics=i||!1;this.background=r||"black";this.flash=u||!1}var n=t.prototype;return n.reset=function(){this.foreground="white";this.underline=!1;this.italics=!1;this.background="black";this.flash=!1},n.setStyles=function(n){for(var i,r=["foreground","underline","italics","background","flash"],t=0;t<r.length;t++)i=r[t],n.hasOwnProperty(i)&&(this[i]=n[i])},n.isDefault=function(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash},n.equals=function(n){return this.foreground===n.foreground&&this.underline===n.underline&&this.italics===n.italics&&this.background===n.background&&this.flash===n.flash},n.copy=function(n){this.foreground=n.foreground;this.underline=n.underline;this.italics=n.italics;this.background=n.background;this.flash=n.flash},n.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},t}(),ho=function(){function t(n,t,i,r,u,f){this.uchar=void 0;this.penState=void 0;this.uchar=n||" ";this.penState=new rf(t,i,r,u,f)}var n=t.prototype;return n.reset=function(){this.uchar=" ";this.penState.reset()},n.setChar=function(n,t){this.uchar=n;this.penState.copy(t)},n.setPenState=function(n){this.penState.copy(n)},n.equals=function(n){return this.uchar===n.uchar&&this.penState.equals(n.penState)},n.copy=function(n){this.uchar=n.uchar;this.penState.copy(n.penState)},n.isEmpty=function(){return" "===this.uchar&&this.penState.isDefault()},t}(),co=function(){function t(){this.chars=void 0;this.pos=void 0;this.currPenState=void 0;this.cueStartTime=void 0;this.chars=[];for(var n=0;n<100;n++)this.chars.push(new ho);this.pos=0;this.currPenState=new rf}var n=t.prototype;return n.equals=function(n){for(var i=!0,t=0;t<100;t++)if(!this.chars[t].equals(n.chars[t])){i=!1;break}return i},n.copy=function(n){for(var t=0;t<100;t++)this.chars[t].copy(n.chars[t])},n.isEmpty=function(){for(var t=!0,n=0;n<100;n++)if(!this.chars[n].isEmpty()){t=!1;break}return t},n.setCursor=function(n){this.pos!==n&&(this.pos=n);this.pos<0?(o.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>100&&(o.log("ERROR","Too large cursor position "+this.pos),this.pos=100)},n.moveCursor=function(n){var i=this.pos+n,t;if(n>1)for(t=this.pos+1;t<i+1;t++)this.chars[t].setPenState(this.currPenState);this.setCursor(i)},n.backSpace=function(){this.moveCursor(-1);this.chars[this.pos].setChar(" ",this.currPenState)},n.insertChar=function(n){n>=144&&this.backSpace();var t=tf(n);this.pos>=100?o.log("ERROR","Cannot insert "+n.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))},n.clearFromPos=function(n){for(var t=n;t<100;t++)this.chars[t].reset()},n.clear=function(){this.clearFromPos(0);this.pos=0;this.currPenState.reset()},n.clearToEndOfRow=function(){this.clearFromPos(this.pos)},n.getTextString=function(){for(var t,i=[],r=!0,n=0;n<100;n++)t=this.chars[n].uchar," "!==t&&(r=!1),i.push(t);return r?"":i.join("")},n.setPenStyles=function(n){this.currPenState.setStyles(n);this.chars[this.pos].setPenState(this.currPenState)},t}(),hi=function(){function t(){this.rows=void 0;this.currRow=void 0;this.nrRollUpRows=void 0;this.lastOutputScreen=void 0;this.rows=[];for(var n=0;n<15;n++)this.rows.push(new co);this.currRow=14;this.nrRollUpRows=null;this.reset()}var n=t.prototype;return n.reset=function(){for(var n=0;n<15;n++)this.rows[n].clear();this.currRow=14},n.equals=function(n){for(var i=!0,t=0;t<15;t++)if(!this.rows[t].equals(n.rows[t])){i=!1;break}return i},n.copy=function(n){for(var t=0;t<15;t++)this.rows[t].copy(n.rows[t])},n.isEmpty=function(){for(var t=!0,n=0;n<15;n++)if(!this.rows[n].isEmpty()){t=!1;break}return t},n.backSpace=function(){this.rows[this.currRow].backSpace()},n.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},n.insertChar=function(n){this.rows[this.currRow].insertChar(n)},n.setPen=function(n){this.rows[this.currRow].setPenStyles(n)},n.moveCursor=function(n){this.rows[this.currRow].moveCursor(n)},n.setCursor=function(n){o.log("INFO","setCursor: "+n);this.rows[this.currRow].setCursor(n)},n.setPAC=function(n){var t,r,f,u,e,i,s,h,c,l;if(o.log("INFO","pacData = "+JSON.stringify(n)),t=n.row-1,this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(r=0;r<15;r++)this.rows[r].clear();if(f=this.currRow+1-this.nrRollUpRows,u=this.lastOutputScreen,u&&(e=u.rows[f].cueStartTime,e&&o.time&&e<o.time))for(i=0;i<this.nrRollUpRows;i++)this.rows[t-this.nrRollUpRows+i+1].copy(u.rows[f+i])}this.currRow=t;s=this.rows[this.currRow];null!==n.indent&&(h=n.indent,c=Math.max(h-1,0),s.setCursor(n.indent),n.color=s.chars[c].penState.foreground);l={foreground:n.color,underline:n.underline,italics:n.italics,background:"black",flash:!1};this.setPen(l)},n.setBkgData=function(n){o.log("INFO","bkgData = "+JSON.stringify(n));this.backSpace();this.setPen(n);this.insertChar(32)},n.setRollUpRows=function(n){this.nrRollUpRows=n},n.rollUp=function(){if(null!==this.nrRollUpRows){o.log("TEXT",this.getDisplayText());var t=this.currRow+1-this.nrRollUpRows,n=this.rows.splice(t,1)[0];n.clear();this.rows.splice(this.currRow,0,n);o.log("INFO","Rolling up")}else o.log("DEBUG","roll_up but nrRollUpRows not set yet")},n.getDisplayText=function(n){var r;n=n||!1;for(var t=[],u="",f=-1,i=0;i<15;i++)r=this.rows[i].getTextString(),r&&(f=i+1,n?t.push("Row "+f+": '"+r+"'"):t.push(r.trim()));return t.length>0&&(u=n?"["+t.join(" | ")+"]":t.join("\n")),u},n.getTextAndFormat=function(){return this.rows},t}(),uf=function(){function t(n,t){this.chNr=void 0;this.outputFilter=void 0;this.mode=void 0;this.verbose=void 0;this.displayedMemory=void 0;this.nonDisplayedMemory=void 0;this.lastOutputScreen=void 0;this.currRollUpRow=void 0;this.writeScreen=void 0;this.cueStartTime=void 0;this.lastCueEndTime=void 0;this.chNr=n;this.outputFilter=t;this.mode=null;this.verbose=0;this.displayedMemory=new hi;this.nonDisplayedMemory=new hi;this.lastOutputScreen=new hi;this.currRollUpRow=this.displayedMemory.rows[14];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null}var n=t.prototype;return n.reset=function(){this.mode=null;this.displayedMemory.reset();this.nonDisplayedMemory.reset();this.lastOutputScreen.reset();this.currRollUpRow=this.displayedMemory.rows[14];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null},n.getHandler=function(){return this.outputFilter},n.setHandler=function(n){this.outputFilter=n},n.setPAC=function(n){this.writeScreen.setPAC(n)},n.setBkgData=function(n){this.writeScreen.setBkgData(n)},n.setMode=function(n){n!==this.mode&&(this.mode=n,o.log("INFO","MODE="+n),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=n)},n.insertChars=function(n){for(var i,t=0;t<n.length;t++)this.writeScreen.insertChar(n[t]);i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";o.log("INFO",i+": "+this.writeScreen.getDisplayText(!0));"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(o.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())},n.ccRCL=function(){o.log("INFO","RCL - Resume Caption Loading");this.setMode("MODE_POP-ON")},n.ccBS=function(){o.log("INFO","BS - BackSpace");"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},n.ccAOF=function(){},n.ccAON=function(){},n.ccDER=function(){o.log("INFO","DER- Delete to End of Row");this.writeScreen.clearToEndOfRow();this.outputDataUpdate()},n.ccRU=function(n){o.log("INFO","RU("+n+") - Roll Up");this.writeScreen=this.displayedMemory;this.setMode("MODE_ROLL-UP");this.writeScreen.setRollUpRows(n)},n.ccFON=function(){o.log("INFO","FON - Flash On");this.writeScreen.setPen({flash:!0})},n.ccRDC=function(){o.log("INFO","RDC - Resume Direct Captioning");this.setMode("MODE_PAINT-ON")},n.ccTR=function(){o.log("INFO","TR");this.setMode("MODE_TEXT")},n.ccRTD=function(){o.log("INFO","RTD");this.setMode("MODE_TEXT")},n.ccEDM=function(){o.log("INFO","EDM - Erase Displayed Memory");this.displayedMemory.reset();this.outputDataUpdate(!0)},n.ccCR=function(){o.log("INFO","CR - Carriage Return");this.writeScreen.rollUp();this.outputDataUpdate(!0)},n.ccENM=function(){o.log("INFO","ENM - Erase Non-displayed Memory");this.nonDisplayedMemory.reset()},n.ccEOC=function(){if(o.log("INFO","EOC - End Of Caption"),"MODE_POP-ON"===this.mode){var n=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory;this.nonDisplayedMemory=n;this.writeScreen=this.nonDisplayedMemory;o.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)},n.ccTO=function(n){o.log("INFO","TO("+n+") - Tab Offset");this.writeScreen.moveCursor(n)},n.ccMIDROW=function(n){var t={flash:!1},i;(t.underline=n%2==1,t.italics=n>=46,t.italics)?t.foreground="white":(i=Math.floor(n/2)-16,t.foreground=["white","green","blue","cyan","red","yellow","magenta"][i]);o.log("INFO","MIDROW: "+JSON.stringify(t));this.writeScreen.setPen(t)},n.outputDataUpdate=function(n){void 0===n&&(n=!1);var t=o.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),n&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},n.cueSplitAtTime=function(n){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,n,this.displayedMemory),this.cueStartTime=n))},t}(),lo=function(){function t(n,t,i){this.field=void 0;this.outputs=void 0;this.channels=void 0;this.currChNr=void 0;this.lastCmdA=void 0;this.lastCmdB=void 0;this.lastTime=void 0;this.dataCounters=void 0;this.field=n||1;this.outputs=[t,i];this.channels=[new uf(1,t),new uf(2,i)];this.currChNr=-1;this.lastCmdA=null;this.lastCmdB=null;this.lastTime=null;this.dataCounters={padding:0,char:0,cmd:0,other:0}}var n=t.prototype;return n.getHandler=function(n){return this.channels[n].getHandler()},n.setHandler=function(n,t){this.channels[n].setHandler(t)},n.addData=function(n,t){var f,i,r,e=!1,u;for(this.lastTime=n,o.setTime(n),u=0;u<t.length;u+=2)(i=127&t[u],r=127&t[u+1],0!==i||0!==r)?((o.log("DATA","["+d([t[u],t[u+1]])+"] -> ("+d([i,r])+")"),(f=this.parseCmd(i,r))||(f=this.parseMidrow(i,r)),f||(f=this.parsePAC(i,r)),f||(f=this.parseBackgroundAttributes(i,r)),f)||(e=this.parseChars(i,r))&&(this.currChNr&&this.currChNr>=0?this.channels[this.currChNr-1].insertChars(e):o.log("WARNING","No channel found yet. TEXT-MODE?")),f?this.dataCounters.cmd+=2:e?this.dataCounters.char+=2:(this.dataCounters.other+=2,o.log("WARNING","Couldn't parse cleaned data "+d([i,r])+" orig: "+d([t[u],t[u+1]])))):this.dataCounters.padding+=2},n.parseCmd=function(n,t){var r=null,i;return!((20===n||28===n)&&t>=32&&t<=47)&&!((23===n||31===n)&&t>=33&&t<=35)?!1:n===this.lastCmdA&&t===this.lastCmdB?(this.lastCmdA=null,this.lastCmdB=null,o.log("DEBUG","Repeated command ("+d([n,t])+") is dropped"),!0):(r=20===n||23===n?1:2,i=this.channels[r-1],20===n||28===n?32===t?i.ccRCL():33===t?i.ccBS():34===t?i.ccAOF():35===t?i.ccAON():36===t?i.ccDER():37===t?i.ccRU(2):38===t?i.ccRU(3):39===t?i.ccRU(4):40===t?i.ccFON():41===t?i.ccRDC():42===t?i.ccTR():43===t?i.ccRTD():44===t?i.ccEDM():45===t?i.ccCR():46===t?i.ccENM():47===t&&i.ccEOC():i.ccTO(t-32),this.lastCmdA=n,this.lastCmdB=t,this.currChNr=r,!0)},n.parseMidrow=function(n,t){var i=null;return(17===n||25===n)&&t>=32&&t<=47&&((i=17===n?1:2)!==this.currChNr?(o.log("ERROR","Mismatch channel in midrow parsing"),!1):(this.channels[i-1].ccMIDROW(t),o.log("DEBUG","MIDROW ("+d([n,t])+")"),!0))},n.parsePAC=function(n,t){var i,r=null,u;return!((n>=17&&n<=23||n>=25&&n<=31)&&t>=64&&t<=127)&&!((16===n||24===n)&&t>=64&&t<=95)?!1:n===this.lastCmdA&&t===this.lastCmdB?(this.lastCmdA=null,this.lastCmdB=null,!0):(i=n<=23?1:2,r=t>=64&&t<=95?1===i?uo[n]:eo[n]:1===i?fo[n]:oo[n],u=this.interpretPAC(r,t),this.channels[i-1].setPAC(u),this.lastCmdA=n,this.lastCmdB=t,this.currChNr=i,!0)},n.interpretPAC=function(n,t){var i=t,r={color:null,italics:!1,indent:null,underline:!1,row:n};return i=t>95?t-96:t-64,r.underline=1==(1&i),i<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((i-16)/2),r},n.parseChars=function(n,t){var f=null,r=null,i=null,u,e;return(n>=25?(f=2,i=n-8):(f=1,i=n),i>=17&&i<=19)?(u=t,u=17===i?t+80:18===i?t+112:t+144,o.log("INFO","Special char '"+tf(u)+"' in channel "+f),r=[u]):n>=32&&n<=127&&(r=0===t?[n]:[n,t]),r&&(e=d(r),o.log("DEBUG","Char codes =  "+e.join(",")),this.lastCmdA=null,this.lastCmdB=null),r},n.parseBackgroundAttributes=function(n,t){var i,r,u;return((16===n||24===n)&&t>=32&&t<=47||(23===n||31===n)&&t>=45&&t<=47)&&(i={},16===n||24===n?(r=Math.floor((t-32)/2),i.background=so[r],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),u=n<24?1:2,this.channels[u-1].setBkgData(i),this.lastCmdA=null,this.lastCmdB=null,!0)},n.reset=function(){for(var n=0;n<this.channels.length;n++)this.channels[n]&&this.channels[n].reset();this.lastCmdA=null;this.lastCmdB=null},n.cueSplitAtTime=function(n){for(var t=0;t<this.channels.length;t++)this.channels[t]&&this.channels[t].cueSplitAtTime(n)},t}(),ff=function(){function n(n,t){this.timelineController=void 0;this.trackName=void 0;this.startTime=void 0;this.endTime=void 0;this.screen=void 0;this.timelineController=n;this.trackName=t;this.startTime=null;this.endTime=null;this.screen=null}var t=n.prototype;return t.dispatchCue=function(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen),this.startTime=null)},t.newCue=function(n,t,i){(null===this.startTime||this.startTime>n)&&(this.startTime=n);this.endTime=t;this.screen=i;this.timelineController.createCaptionsTrack(this.trackName)},n}(),ci=function(n,t,i){return n.substr(i||0,t.length)===t},li=function(n){for(var t=5381,i=n.length;i;)t=33*t^n.charCodeAt(--i);return(t>>>0).toString()},ao={parse:function(n,t,i,r,u,f){var s,w=Object(wt.b)(new Uint8Array(n)).trim().replace(/\r\n|\n\r|\n|\r/g,"\n").split("\n"),y="00:00.000",l=0,h=0,c=0,p=[],a=!0,v=!1,o=new du;o.oncue=function(n){var u=i[r],t=i.ccOffset;u&&u.new&&(void 0!==h?t=i.ccOffset=u.start:function(n,t,i){var r=n[t],u=n[r.prevCC];if(!u||!u.new&&r.new)return n.ccOffset=n.presentationOffset=r.start,void(r.new=!1);for(;u&&u.new;)n.ccOffset+=r.start-u.start,r.new=!1,u=n[(r=u).prevCC];n.presentationOffset=i}(i,r,c));c&&(t=c-i.presentationOffset);v&&(n.startTime+=t-h,n.endTime+=t-h);n.id=li(n.startTime.toString())+li(n.endTime.toString())+li(n.text);n.text=decodeURIComponent(encodeURIComponent(n.text));n.endTime>0&&p.push(n)};o.onparsingerror=function(n){s=n};o.onflush=function(){s&&f?f(s):u(p)};w.forEach(function(n){if(a){if(ci(n,"X-TIMESTAMP-MAP=")){a=!1;v=!0;n.substr(16).split(",").forEach(function(n){ci(n,"LOCAL:")?y=n.substr(6):ci(n,"MPEGTS:")&&(l=parseInt(n.substr(7)))});try{t+(9e4*i[r].start||0)<0&&(t+=8589934592);l-=t;h=function(n){var t=parseInt(n.substr(-3)),i=parseInt(n.substr(-6,2)),r=parseInt(n.substr(-9,2)),u=n.length>9?parseInt(n.substr(0,n.indexOf(":"))):0;if(!(Object(e.a)(t)&&Object(e.a)(i)&&Object(e.a)(r)&&Object(e.a)(u)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+n);return t+=1e3*i,t+=6e4*r,t+36e5*u}(y)/1e3;c=l/9e4}catch(n){v=!1;s=n}return}""===n&&(a=!1)}o.parse(n+"\n")});o.flush()}};of=function(n){function o(t){var i,r,f;return((i=n.call(this,t,u.a.MEDIA_ATTACHING,u.a.MEDIA_DETACHING,u.a.FRAG_PARSING_USERDATA,u.a.FRAG_DECRYPTED,u.a.MANIFEST_LOADING,u.a.MANIFEST_LOADED,u.a.FRAG_LOADED,u.a.INIT_PTS_FOUND)||this).media=null,i.config=void 0,i.enabled=!0,i.Cues=void 0,i.textTracks=[],i.tracks=[],i.initPTS=[],i.unparsedVttFrags=[],i.cueRanges=[],i.captionsTracks={},i.captionsProperties=void 0,i.cea608Parser=void 0,i.lastSn=-1,i.prevCC=-1,i.vttCCs=null,i.hls=t,i.config=t.config,i.Cues=t.config.cueHandler,i.captionsProperties={textTrack1:{label:i.config.captionsTextTrack1Label,languageCode:i.config.captionsTextTrack1LanguageCode},textTrack2:{label:i.config.captionsTextTrack2Label,languageCode:i.config.captionsTextTrack2LanguageCode}},i.config.enableCEA708Captions)&&(r=new ff(ef(i),"textTrack1"),f=new ff(ef(i),"textTrack2"),i.cea608Parser=new lo(0,r,f)),i}var i,f,t;return f=n,(i=o).prototype=Object.create(f.prototype),i.prototype.constructor=i,i.__proto__=f,t=o.prototype,t.addCues=function(n,t,i,r){for(var u,e,o,s,h,c,f=this.cueRanges,l=!1,a=f.length;a--;)if(u=f[a],e=(o=u[0],s=u[1],h=t,c=i,Math.min(s,c)-Math.max(o,h)),e>=0&&(u[0]=Math.min(u[0],t),u[1]=Math.max(u[1],i),l=!0,e/(i-t)>.5))return;l||f.push([t,i]);this.Cues.newCue(this.captionsTracks[n],t,i,r)},t.onInitPtsFound=function(n){var i=this,r=n.frag,u=n.id,f=n.initPTS,t=this.unparsedVttFrags;"main"===u&&(this.initPTS[r.cc]=f);t.length&&(this.unparsedVttFrags=[],t.forEach(function(n){i.onFragLoaded(n)}))},t.getExistingTrack=function(n){var i=this.media,t,r;if(i)for(t=0;t<i.textTracks.length;t++)if(r=i.textTracks[t],r[n])return r;return null},t.createCaptionsTrack=function(n){var f=this.captionsProperties,t=this.captionsTracks,e=this.media,u=f[n],o=u.label,s=u.languageCode,r,i;t[n]||(r=this.getExistingTrack(n),r?(t[n]=r,ft(t[n]),fu(t[n],e)):(i=this.createTextTrack("captions",o,s),i&&(i[n]=!0,t[n]=i)))},t.createTextTrack=function(n,t,i){var r=this.media;if(r)return r.addTextTrack(n,t,i)},t.destroy=function(){n.prototype.destroy.call(this)},t.onMediaAttaching=function(n){this.media=n.media;this._cleanTracks()},t.onMediaDetaching=function(){var n=this.captionsTracks;Object.keys(n).forEach(function(t){ft(n[t]);delete n[t]})},t.onManifestLoading=function(){this.lastSn=-1;this.prevCC=-1;this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,"new":!1}};this._cleanTracks()},t._cleanTracks=function(){var i=this.media,n,t;if(i&&(n=i.textTracks,n))for(t=0;t<n.length;t++)ft(n[t])},t.onManifestLoaded=function(n){var i=this,t;(this.textTracks=[],this.unparsedVttFrags=this.unparsedVttFrags||[],this.initPTS=[],this.cueRanges=[],this.config.enableWebVTT)&&(this.tracks=n.subtitles||[],t=this.media?this.media.textTracks:[],this.tracks.forEach(function(n,r){var u,e,f;if(r<t.length){for(e=null,f=0;f<t.length;f++)if(vo(t[f],n)){e=t[f];break}e&&(u=e)}u||(u=i.createTextTrack("subtitles",n.name,n.lang));u.mode=n.default?i.hls.subtitleDisplay?"showing":"hidden":"disabled";i.textTracks.push(u)}))},t.onFragLoaded=function(n){var t=n.frag,r=n.payload,f=this.cea608Parser,o=this.initPTS,h=this.lastSn,c=this.unparsedVttFrags,s,i;if("main"===t.type)s=t.sn,t.sn!==h+1&&f&&f.reset(),this.lastSn=s;else if("subtitle"===t.type)if(r.byteLength){if(!Object(e.a)(o[t.cc]))return c.push(n),void(o.length&&this.hls.trigger(u.a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t}));i=t.decryptdata;null!=i&&null!=i.key&&"AES-128"===i.method||this._parseVTTs(t,r)}else this.hls.trigger(u.a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t})},t._parseVTTs=function(n,t){var i=this.hls,e=this.prevCC,o=this.textTracks,f=this.vttCCs;f[n.cc]||(f[n.cc]={start:n.start,prevCC:e,"new":!0},this.prevCC=n.cc);ao.parse(t,this.initPTS[n.cc],f,n.cc,function(t){var f=o[n.level];"disabled"!==f.mode?(t.forEach(function(n){if(!f.cues.getCueById(n.id))try{if(f.addCue(n),!f.cues.getCueById(n.id))throw new Error("addCue is failed for: "+n);}catch(i){r.b.debug("Failed occurred on adding cues: "+i);var t=new window.TextTrackCue(n.startTime,n.endTime,n.text);t.id=n.id;f.addCue(t)}}),i.trigger(u.a.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n})):i.trigger(u.a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n})},function(t){r.b.log("Failed to parse VTT cue: "+t);i.trigger(u.a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n})})},t.onFragDecrypted=function(n){var t=n.frag,i=n.payload;if("subtitle"===t.type){if(!Object(e.a)(this.initPTS[t.cc]))return void this.unparsedVttFrags.push(n);this._parseVTTs(t,i)}},t.onFragParsingUserdata=function(n){var t,i,r;if(this.enabled&&this.cea608Parser)for(t=0;t<n.samples.length;t++)i=n.samples[t].bytes,i&&(r=this.extractCea608Data(i),this.cea608Parser.addData(n.samples[t].pts,r))},t.extractCea608Data=function(n){for(var t,i,r,o=31&n[0],u=2,f=[],e=0;e<o;e++)t=n[u++],i=127&n[u++],r=127&n[u++],0===i&&0===r||0!=(4&t)&&0==(3&t)&&(f.push(i),f.push(r));return f},o}(h);var yo=function(n){function f(t){var i;return(i=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHING,u.a.MANIFEST_LOADED,u.a.SUBTITLE_TRACK_LOADED)||this).tracks=[],i.trackId=-1,i.media=null,i.stopped=!0,i.subtitleDisplay=!0,i.queuedDefaultTrack=null,i}var i,o,s,c,l,t;return o=n,(i=f).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=f.prototype,t.destroy=function(){h.prototype.destroy.call(this)},t.onMediaAttached=function(n){var t=this;this.media=n.media;this.media&&(Object(e.a)(this.queuedDefaultTrack)&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=null),this.trackChangeListener=this._onTextTracksChanged.bind(this),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.subtitlePollingInterval=setInterval(function(){t.trackChangeListener()},500):this.media.textTracks.addEventListener("change",this.trackChangeListener))},t.onMediaDetaching=function(){this.media&&(this.useTextTrackPolling?clearInterval(this.subtitlePollingInterval):this.media.textTracks.removeEventListener("change",this.trackChangeListener),Object(e.a)(this.subtitleTrack)&&(this.queuedDefaultTrack=this.subtitleTrack),ai(this.media.textTracks).forEach(function(n){ft(n)}),this.subtitleTrack=-1,this.media=null)},t.onManifestLoaded=function(n){var t=this,i=n.subtitles||[];this.tracks=i;this.hls.trigger(u.a.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:i});i.forEach(function(n){n.default&&(t.media?t.subtitleTrack=n.id:t.queuedDefaultTrack=n.id)})},t.onSubtitleTrackLoaded=function(n){var s=this,t=n.id,u=n.details,f=this.trackId,e=this.tracks,o=e[f],i;t>=e.length||t!==f||!o||this.stopped?this._clearReloadTimer():(r.b.log("subtitle track "+t+" loaded"),u.live)?(i=lr(o.details,u,n.stats.trequest),r.b.log("Reloading live subtitle playlist in "+i+"ms"),this.timer=setTimeout(function(){s._loadCurrentTrack()},i)):this._clearReloadTimer()},t.startLoad=function(){this.stopped=!1;this._loadCurrentTrack()},t.stopLoad=function(){this.stopped=!0;this._clearReloadTimer()},t._clearReloadTimer=function(){this.timer&&(clearTimeout(this.timer),this.timer=null)},t._loadCurrentTrack=function(){var n=this.trackId,i=this.tracks,f=this.hls,t=i[n];n<0||!t||t.details&&!t.details.live||(r.b.log("Loading subtitle track "+n),f.trigger(u.a.SUBTITLE_TRACK_LOADING,{url:t.url,id:n}))},t._toggleTrackModes=function(n){var u=this.media,f=this.subtitleDisplay,e=this.trackId,t,i,r;u&&(t=ai(u.textTracks),-1===n?[].slice.call(t).forEach(function(n){n.mode="disabled"}):(i=t[e],i&&(i.mode="disabled")),r=t[n],r&&(r.mode=f?"showing":"hidden"))},t._setSubtitleTrackInternal=function(n){var t=this.hls,i=this.tracks;!Object(e.a)(n)||n<-1||n>=i.length||(this.trackId=n,r.b.log("Switching to subtitle track "+n),t.trigger(u.a.SUBTITLE_TRACK_SWITCH,{id:n}),this._loadCurrentTrack())},t._onTextTracksChanged=function(){if(this.media){for(var t=-1,i=ai(this.media.textTracks),n=0;n<i.length;n++)if("hidden"===i[n].mode)t=n;else if("showing"===i[n].mode){t=n;break}this.subtitleTrack=t}},s=f,(c=[{key:"subtitleTracks",get:function(){return this.tracks}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(n){this.trackId!==n&&(this._toggleTrackModes(n),this._setSubtitleTrackInternal(n))}}])&&sf(s.prototype,c),l&&sf(s,l),f}(h),po=i(7),tt,hf=window.performance,wo=function(n){function e(t,i){var r;return(r=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHING,u.a.ERROR,u.a.KEY_LOADED,u.a.FRAG_LOADED,u.a.SUBTITLE_TRACKS_UPDATED,u.a.SUBTITLE_TRACK_SWITCH,u.a.SUBTITLE_TRACK_LOADED,u.a.SUBTITLE_FRAG_PROCESSED,u.a.LEVEL_UPDATED)||this).fragmentTracker=i,r.config=t.config,r.state=w,r.tracks=[],r.tracksBuffered=[],r.currentTrackId=-1,r.decrypter=new po.a(t,t.config),r.lastAVStart=0,r._onMediaSeeking=r.onMediaSeeking.bind(function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(r)),r}var i,f,t;return f=n,(i=e).prototype=Object.create(f.prototype),i.prototype.constructor=i,i.__proto__=f,t=e.prototype,t.onSubtitleFragProcessed=function(n){var u=n.frag,o=n.success,t,r,f,i,e;if((this.fragPrevious=u,this.state=s,o)&&(t=this.tracksBuffered[this.currentTrackId],t)){for(f=u.start,i=0;i<t.length;i++)if(f>=t[i].start&&f<=t[i].end){r=t[i];break}e=u.start+u.duration;r?r.end=e:(r={start:f,end:e},t.push(r))}},t.onMediaAttached=function(n){var t=n.media;this.media=t;t.addEventListener("seeking",this._onMediaSeeking);this.state=s},t.onMediaDetaching=function(){var n=this;this.media&&(this.media.removeEventListener("seeking",this._onMediaSeeking),this.fragmentTracker.removeAllFragments(),this.currentTrackId=-1,this.tracks.forEach(function(t){n.tracksBuffered[t.id]=[]}),this.media=null,this.state=w)},t.onError=function(n){var t=n.frag;t&&"subtitle"===t.type&&(this.state=s)},t.onSubtitleTracksUpdated=function(n){var t=this;r.b.log("subtitle tracks updated");this.tracksBuffered=[];this.tracks=n.subtitleTracks;this.tracks.forEach(function(n){t.tracksBuffered[n.id]=[]})},t.onSubtitleTrackSwitch=function(n){if(this.currentTrackId=n.id,this.tracks&&this.tracks.length&&-1!==this.currentTrackId){var t=this.tracks[this.currentTrackId];t&&t.details&&this.setInterval(500)}else this.clearInterval()},t.onSubtitleTrackLoaded=function(n){var r=n.id,t=n.details,u=this.currentTrackId,f=this.tracks,i=f[u];r>=f.length||r!==u||!i||(t.live&&function(n,t,i){var f,r,u;if(void 0===i&&(i=0),f=-1,cr(n,t,function(n,t,i){t.start=n.start;f=i}),r=t.fragments,f<0)r.forEach(function(n){n.start+=i});else for(u=f+1;u<r.length;u++)r[u].start=r[u-1].start+r[u-1].duration}(i.details,t,this.lastAVStart),i.details=t,this.setInterval(500))},t.onKeyLoaded=function(){this.state===nt&&(this.state=s)},t.onFragLoaded=function(n){var i=this.fragCurrent,t=n.frag.decryptdata,f=n.frag,e=this.hls,r;this.state===b&&i&&"subtitle"===n.frag.type&&i.sn===n.frag.sn&&n.payload.byteLength>0&&t&&t.key&&"AES-128"===t.method&&(r=hf.now(),this.decrypter.decrypt(n.payload,t.key.buffer,t.iv.buffer,function(n){var t=hf.now();e.trigger(u.a.FRAG_DECRYPTED,{frag:f,payload:n,stats:{tstart:r,tdecrypt:t}})}))},t.onLevelUpdated=function(n){var t=n.details.fragments;this.lastAVStart=t.length?t[0].start:0},t.doTick=function(){var e;if(this.media)switch(this.state){case s:var i=this.config,o=this.currentTrackId,p=this.fragmentTracker,w=this.media,f=this.tracks;if(!f||!f[o]||!f[o].details)break;var n,k=i.maxBufferHole,c=i.maxFragLookUpTolerance,d=Math.min(i.maxBufferLength,i.maxMaxBufferLength),l=a.bufferedInfo(this._getBuffered(),w.currentTime,k),v=l.end,g=l.len,y=f[o].details,t=y.fragments,h=t.length,tt=t[h-1].start+t[h-1].duration;if(g>d)return;e=this.fragPrevious;v<tt?(e&&y.hasProgramDateTime&&(n=yr(t,e.endProgramDateTime,c)),n||(n=pr(e,t,v,c))):n=t[h-1];n&&n.encrypted?(r.b.log("Loading key for "+n.sn),this.state=nt,this.hls.trigger(u.a.KEY_LOADING,{frag:n})):n&&p.getState(n)===lt&&(this.fragCurrent=n,this.state=b,this.hls.trigger(u.a.FRAG_LOADING,{frag:n}))}else this.state=s},t.stopLoad=function(){this.lastAVStart=0;n.prototype.stopLoad.call(this)},t._getBuffered=function(){return this.tracksBuffered[this.currentTrackId]||[]},t.onMediaSeeking=function(){this.fragPrevious=null},e}(oi);!function(n){n.WIDEVINE="com.widevine.alpha";n.PLAYREADY="com.microsoft.playready"}(tt||(tt={}));cf="undefined"!=typeof window&&window.navigator&&window.navigator.requestMediaKeySystemAccess?window.navigator.requestMediaKeySystemAccess.bind(window.navigator):null;af=function(n){function e(t){var i;return(i=n.call(this,t,u.a.MEDIA_ATTACHED,u.a.MEDIA_DETACHED,u.a.MANIFEST_PARSED)||this)._widevineLicenseUrl=void 0,i._licenseXhrSetup=void 0,i._emeEnabled=void 0,i._requestMediaKeySystemAccess=void 0,i._config=void 0,i._mediaKeysList=[],i._media=null,i._hasSetMediaKeys=!1,i._requestLicenseFailureCount=0,i._onMediaEncrypted=function(n){r.b.log('Media is encrypted using "'+n.initDataType+'" init data type');i._attemptSetMediaKeys();i._generateRequestWithPreferredKeySession(n.initDataType,n.initData)},i._config=t.config,i._widevineLicenseUrl=i._config.widevineLicenseUrl,i._licenseXhrSetup=i._config.licenseXhrSetup,i._emeEnabled=i._config.emeEnabled,i._requestMediaKeySystemAccess=i._config.requestMediaKeySystemAccessFunc,i}var i,o,s,h,c,t;return o=n,(i=e).prototype=Object.create(o.prototype),i.prototype.constructor=i,i.__proto__=o,t=e.prototype,t.getLicenseServerUrl=function(n){switch(n){case tt.WIDEVINE:if(!this._widevineLicenseUrl)break;return this._widevineLicenseUrl}throw new Error('no license server URL configured for key-system "'+n+'"');},t._attemptKeySystemAccess=function(n,t,i){var u=this,f=function(n,t,i){switch(n){case tt.WIDEVINE:return function(n,t){var i={videoCapabilities:[]};return t.forEach(function(n){i.videoCapabilities.push({contentType:'video/mp4; codecs="'+n+'"'})}),[i]}(0,i);default:throw new Error("Unknown key-system: "+n);}}(n,0,i);r.b.log("Requesting encrypted media key-system access");this.requestMediaKeySystemAccess(n,f).then(function(t){u._onMediaKeySystemAccessObtained(n,t)}).catch(function(t){r.b.error('Failed to obtain key-system "'+n+'" access:',t)})},t._onMediaKeySystemAccessObtained=function(n,t){var u=this,i;r.b.log('Access for key-system "'+n+'" obtained');i={mediaKeysSessionInitialized:!1,mediaKeySystemAccess:t,mediaKeySystemDomain:n};this._mediaKeysList.push(i);t.createMediaKeys().then(function(t){i.mediaKeys=t;r.b.log('Media-keys created for key-system "'+n+'"');u._onMediaKeysCreated()}).catch(function(n){r.b.error("Failed to create media-keys:",n)})},t._onMediaKeysCreated=function(){var n=this;this._mediaKeysList.forEach(function(t){t.mediaKeysSession||(t.mediaKeysSession=t.mediaKeys.createSession(),n._onNewMediaKeySession(t.mediaKeysSession))})},t._onNewMediaKeySession=function(n){var t=this;r.b.log("New key-system session "+n.sessionId);n.addEventListener("message",function(i){t._onKeySessionMessage(n,i.message)},!1)},t._onKeySessionMessage=function(n,t){r.b.log("Got EME message event, creating license request");this._requestLicense(t,function(t){r.b.log("Received license data (length: "+(t?t.byteLength:t)+"), updating key-session");n.update(t)})},t._attemptSetMediaKeys=function(){if(!this._media)throw new Error("Attempted to set mediaKeys without first attaching a media element");if(!this._hasSetMediaKeys){var n=this._mediaKeysList[0];if(!n||!n.mediaKeys)return r.b.error("Fatal: Media is encrypted but no CDM access or no keys have been obtained yet"),void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_KEYS,fatal:!0});r.b.log("Setting keys for encrypted media");this._media.setMediaKeys(n.mediaKeys);this._hasSetMediaKeys=!0}},t._generateRequestWithPreferredKeySession=function(n,t){var o=this,i=this._mediaKeysList[0],e;if(!i)return r.b.error("Fatal: Media is encrypted but not any key-system access has been obtained yet"),void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_ACCESS,fatal:!0});if(i.mediaKeysSessionInitialized)r.b.warn("Key-Session already initialized but requested again");else{if(e=i.mediaKeysSession,!e)return r.b.error("Fatal: Media is encrypted but no key-session existing"),void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_SESSION,fatal:!0});if(!t)return r.b.warn("Fatal: initData required for generating a key session is null"),void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_INIT_DATA,fatal:!0});r.b.log('Generating key-session request for "'+n+'" init data type');i.mediaKeysSessionInitialized=!0;e.generateRequest(n,t).then(function(){r.b.debug("Key-session generation succeeded")}).catch(function(n){r.b.error("Error generating key-session request:",n);o.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_SESSION,fatal:!1})})}},t._createLicenseXhr=function(n,t,i){var r=new XMLHttpRequest,u=this._licenseXhrSetup;try{if(u)try{u(r,n)}catch(t){r.open("POST",n,!0);u(r,n)}r.readyState||r.open("POST",n,!0)}catch(n){throw new Error("issue setting up KeySystem license XHR "+n);}return r.responseType="arraybuffer",r.onreadystatechange=this._onLicenseRequestReadyStageChange.bind(this,r,n,t,i),r},t._onLicenseRequestReadyStageChange=function(n,t,i,e){switch(n.readyState){case 4:if(200===n.status)this._requestLicenseFailureCount=0,r.b.log("License request succeeded"),"arraybuffer"!==n.responseType&&r.b.warn("xhr response type was not set to the expected arraybuffer for license request"),e(n.response);else{if(r.b.error("License Request XHR failed ("+t+"). Status: "+n.status+" ("+n.statusText+")"),this._requestLicenseFailureCount++,this._requestLicenseFailureCount>3)return void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0});var o=4-this._requestLicenseFailureCount;r.b.warn("Retrying license request, "+o+" attempts left");this._requestLicense(i,e)}}},t._generateLicenseRequestChallenge=function(n,t){switch(n.mediaKeySystemDomain){case tt.WIDEVINE:return t}throw new Error("unsupported key-system: "+n.mediaKeySystemDomain);},t._requestLicense=function(n,t){var i,e,o,s;if(r.b.log("Requesting content license for key-system"),i=this._mediaKeysList[0],!i)return r.b.error("Fatal error: Media is encrypted but no key-system access has been obtained yet"),void this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_NO_ACCESS,fatal:!0});try{e=this.getLicenseServerUrl(i.mediaKeySystemDomain);o=this._createLicenseXhr(e,n,t);r.b.log("Sending license request to URL: "+e);s=this._generateLicenseRequestChallenge(i,n);o.send(s)}catch(n){r.b.error("Failure requesting DRM license: "+n);this.hls.trigger(u.a.ERROR,{type:f.b.KEY_SYSTEM_ERROR,details:f.a.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})}},t.onMediaAttached=function(n){if(this._emeEnabled){var t=n.media;this._media=t;t.addEventListener("encrypted",this._onMediaEncrypted)}},t.onMediaDetached=function(){this._media&&(this._media.removeEventListener("encrypted",this._onMediaEncrypted),this._media=null)},t.onManifestParsed=function(n){if(this._emeEnabled){var t=n.levels.map(function(n){return n.audioCodec}),i=n.levels.map(function(n){return n.videoCodec});this._attemptKeySystemAccess(tt.WIDEVINE,t,i)}},s=e,(h=[{key:"requestMediaKeySystemAccess",get:function(){if(!this._requestMediaKeySystemAccess)throw new Error("No requestMediaKeySystemAccess function configured");return this._requestMediaKeySystemAccess}}])&&lf(s.prototype,h),c&&lf(s,c),e}(h);vf=function(n){for(var i,r,t=1;t<arguments.length;t++)i=null!=arguments[t]?arguments[t]:{},r=Object.keys(i),"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(i).filter(function(n){return Object.getOwnPropertyDescriptor(i,n).enumerable}))),r.forEach(function(t){bo(n,t,i[t])});return n}({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,initialLiveManifestSize:1,maxBufferLength:30,maxBufferSize:6e7,maxBufferHole:.5,lowBufferWatchdogPeriod:.5,highBufferWatchdogPeriod:3,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,liveDurationInfinity:!1,liveBackBufferLength:1/0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:void 0,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:ge,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,abrController:ye,bufferController:pe,capLevelController:we,fpsController:ke,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,requestMediaKeySystemAccessFunc:cf},function(){return{cueHandler:st,enableCEA708Captions:!0,enableWebVTT:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es"}}(),{subtitleStreamController:wo,subtitleTrackController:yo,timelineController:of,audioStreamController:no,audioTrackController:au,emeController:af});i.d(t,"default",function(){return vi});vi=function(n){function t(i){var u,y,f,o,c,a,v;if(void 0===i&&(i={}),(u=n.call(this)||this).config=void 0,u._autoLevelCapping=void 0,u.abrController=void 0,u.capLevelController=void 0,u.levelController=void 0,u.streamController=void 0,u.networkControllers=void 0,u.audioTrackController=void 0,u.subtitleTrackController=void 0,u.emeController=void 0,u.coreComponents=void 0,u.media=null,u.url=null,y=t.DefaultConfig,(i.liveSyncDurationCount||i.liveMaxLatencyDurationCount)&&(i.liveSyncDuration||i.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(u.config=function(n){for(var i,r,t=1;t<arguments.length;t++)i=null!=arguments[t]?arguments[t]:{},r=Object.keys(i),"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(i).filter(function(n){return Object.getOwnPropertyDescriptor(i,n).enumerable}))),r.forEach(function(t){ko(n,t,i[t])});return n}({},y,i),f=l(u).config,void 0!==f.liveMaxLatencyDurationCount&&f.liveMaxLatencyDurationCount<=f.liveSyncDurationCount)throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be gt "liveSyncDurationCount"');if(void 0!==f.liveMaxLatencyDuration&&(void 0===f.liveSyncDuration||f.liveMaxLatencyDuration<=f.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be gt "liveSyncDuration"');Object(r.a)(f.debug);u._autoLevelCapping=-1;var p=u.abrController=new f.abrController(l(u)),w=new f.bufferController(l(u)),b=u.capLevelController=new f.capLevelController(l(u)),k=new f.fpsController(l(u)),d=new ie(l(u)),g=new re(l(u)),nt=new ue(l(u)),tt=new le(l(u)),it=u.levelController=new uu(l(u)),s=new fe(l(u)),h=[it,u.streamController=new tu(l(u),s)],e=f.audioStreamController;return e&&h.push(new e(l(u),s)),u.networkControllers=h,o=[d,g,nt,p,w,b,k,tt,s],(e=f.audioTrackController)&&(c=new e(l(u)),u.audioTrackController=c,o.push(c)),(e=f.subtitleTrackController)&&(a=new e(l(u)),u.subtitleTrackController=a,h.push(a)),(e=f.emeController)&&(v=new e(l(u)),u.emeController=v,o.push(v)),(e=f.subtitleStreamController)&&h.push(new e(l(u),s)),(e=f.timelineController)&&o.push(new e(l(u))),u.coreComponents=o,u}var e,o,i;return o=n,(e=t).prototype=Object.create(o.prototype),e.prototype.constructor=e,e.__proto__=o,t.isSupported=function(){return function(){var n=ni();if(!n)return!1;var t=self.SourceBuffer||self.WebKitSourceBuffer,i=n&&"function"==typeof n.isTypeSupported&&n.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),r=!t||t.prototype&&"function"==typeof t.prototype.appendBuffer&&"function"==typeof t.prototype.remove;return!!i&&!!r}()},pf(t,null,[{key:"version",get:function(){return"0.13.2"}},{key:"Events",get:function(){return u.a}},{key:"ErrorTypes",get:function(){return f.b}},{key:"ErrorDetails",get:function(){return f.a}},{key:"DefaultConfig",get:function(){return t.defaultConfig?t.defaultConfig:vf},set:function(n){t.defaultConfig=n}}]),i=t.prototype,i.destroy=function(){r.b.log("destroy");this.trigger(u.a.DESTROYING);this.detachMedia();this.coreComponents.concat(this.networkControllers).forEach(function(n){n.destroy()});this.url=null;this.removeAllListeners();this._autoLevelCapping=-1},i.attachMedia=function(n){r.b.log("attachMedia");this.media=n;this.trigger(u.a.MEDIA_ATTACHING,{media:n})},i.detachMedia=function(){r.b.log("detachMedia");this.trigger(u.a.MEDIA_DETACHING);this.media=null},i.loadSource=function(n){n=ht.buildAbsoluteURL(window.location.href,n,{alwaysNormalize:!0});r.b.log("loadSource:"+n);this.url=n;this.trigger(u.a.MANIFEST_LOADING,{url:n})},i.startLoad=function(n){void 0===n&&(n=-1);r.b.log("startLoad("+n+")");this.networkControllers.forEach(function(t){t.startLoad(n)})},i.stopLoad=function(){r.b.log("stopLoad");this.networkControllers.forEach(function(n){n.stopLoad()})},i.swapAudioCodec=function(){r.b.log("swapAudioCodec");this.streamController.swapAudioCodec()},i.recoverMediaError=function(){r.b.log("recoverMediaError");var n=this.media;this.detachMedia();n&&this.attachMedia(n)},pf(t,[{key:"levels",get:function(){return this.levelController.levels}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(n){r.b.log("set currentLevel:"+n);this.loadLevel=n;this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(n){r.b.log("set nextLevel:"+n);this.levelController.manualLevel=n;this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(n){r.b.log("set loadLevel:"+n);this.levelController.manualLevel=n}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(n){this.levelController.nextLoadLevel=n}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(n){r.b.log("set firstLevel:"+n);this.levelController.firstLevel=n}},{key:"startLevel",get:function(){return this.levelController.startLevel},set:function(n){r.b.log("set startLevel:"+n);-1!==n&&(n=Math.max(n,this.minAutoLevel));this.levelController.startLevel=n}},{key:"capLevelToPlayerSize",set:function(n){var t=!!n;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(n){r.b.log("set autoLevelCapping:"+n);this._autoLevelCapping=n}},{key:"bandwidthEstimate",get:function(){var n=this.abrController._bwEstimator;return n?n.getEstimate():NaN}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){for(var t=this.levels,i=this.config.minAutoBitrate,r=t?t.length:0,n=0;n<r;n++)if((t[n].realBitrate?Math.max(t[n].realBitrate,t[n].bitrate):t[n].bitrate)>i)return n;return 0}},{key:"maxAutoLevel",get:function(){var n=this.levels,t=this.autoLevelCapping;return-1===t&&n&&n.length?n.length-1:t}},{key:"nextAutoLevel",get:function(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)},set:function(n){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,n)}},{key:"audioTracks",get:function(){var n=this.audioTrackController;return n?n.audioTracks:[]}},{key:"audioTrack",get:function(){var n=this.audioTrackController;return n?n.audioTrack:-1},set:function(n){var t=this.audioTrackController;t&&(t.audioTrack=n)}},{key:"liveSyncPosition",get:function(){return this.streamController.liveSyncPosition}},{key:"subtitleTracks",get:function(){var n=this.subtitleTrackController;return n?n.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var n=this.subtitleTrackController;return n?n.subtitleTrack:-1},set:function(n){var t=this.subtitleTrackController;t&&(t.subtitleTrack=n)}},{key:"subtitleDisplay",get:function(){var n=this.subtitleTrackController;return!!n&&n.subtitleDisplay},set:function(n){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=n)}}]),t}(fr);vi.defaultConfig=void 0}]).default})