@castlabs/prestoplay 6.2.6 → 6.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +1 -1
  3. package/cjs/cl.adobe.js +3 -3
  4. package/cjs/cl.airplay.js +3 -3
  5. package/cjs/cl.broadpeak.js +6 -6
  6. package/cjs/cl.cast.js +103 -103
  7. package/cjs/cl.conviva.js +32 -32
  8. package/cjs/cl.core.js +377 -376
  9. package/cjs/cl.crypto.js +9 -9
  10. package/cjs/cl.dash.js +69 -68
  11. package/cjs/cl.externs.js +64 -33
  12. package/cjs/cl.freewheel.js +23 -23
  13. package/cjs/cl.hls.js +44 -43
  14. package/cjs/cl.hlssmpte.js +6 -6
  15. package/cjs/cl.htmlcue.js +30 -30
  16. package/cjs/cl.ima.js +21 -21
  17. package/cjs/cl.mse.js +251 -248
  18. package/cjs/cl.muxdata.js +11 -11
  19. package/cjs/cl.onboard.js +3 -3
  20. package/cjs/cl.persistent.js +13 -13
  21. package/cjs/cl.playlist.js +5 -5
  22. package/cjs/cl.smooth.js +69 -69
  23. package/cjs/cl.thumbnails.js +22 -22
  24. package/cjs/cl.tizen.js +69 -69
  25. package/cjs/cl.ttml.js +26 -26
  26. package/cjs/cl.verimatrix.js +5 -5
  27. package/cjs/cl.vimond.js +13 -13
  28. package/cjs/cl.vr.js +24 -0
  29. package/cjs/cl.vtt.js +14 -14
  30. package/cjs/cl.youbora.js +16 -16
  31. package/cl.adobe.js +3 -3
  32. package/cl.airplay.js +3 -3
  33. package/cl.broadpeak.js +5 -5
  34. package/cl.cast.js +82 -82
  35. package/cl.conviva.js +27 -27
  36. package/cl.core.js +333 -329
  37. package/cl.crypto.js +8 -8
  38. package/cl.dash.js +64 -62
  39. package/cl.externs.js +60 -33
  40. package/cl.freewheel.js +19 -19
  41. package/cl.hls.js +37 -36
  42. package/cl.hlssmpte.js +5 -5
  43. package/cl.htmlcue.js +24 -24
  44. package/cl.ima.js +16 -16
  45. package/cl.mse.js +223 -220
  46. package/cl.muxdata.js +9 -9
  47. package/cl.onboard.js +4 -4
  48. package/cl.persistent.js +9 -9
  49. package/cl.playlist.js +4 -4
  50. package/cl.smooth.js +57 -57
  51. package/cl.thumbnails.js +17 -17
  52. package/cl.tizen.js +57 -57
  53. package/cl.ttml.js +21 -21
  54. package/cl.verimatrix.js +4 -4
  55. package/cl.vimond.js +8 -8
  56. package/cl.vr.js +14 -0
  57. package/cl.vtt.js +12 -12
  58. package/cl.youbora.js +14 -14
  59. package/package.json +1 -1
package/cl.crypto.js CHANGED
@@ -1,9 +1,9 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var MG=function(a){a=_.dg(a);const b=new Uint32Array(4);for(let c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},OG=function(a,b,c){return _.v(function*(){let d=new ArrayBuffer(0);try{d=yield NG(a,c.url)}catch(e){return a.m.debug("Could not fetch key"),a.l.onError(new _.H(1,7,7104,null,e)),b}try{return yield a.h.importKey(d),yield a.h.decrypt(b,c.iv)}catch(e){return a.m.warn("Could not decrypt segment data!",e),a.l.onError(new _.H(1,3,3103,null,e)),b}})},NG=function(a,b){return _.v(function*(){if(a.o[b])return a.o[b];
2
- var c=_.wg(b);c=yield a.j.fetch(c).N;return a.o[b]=c.data})},PG=class{constructor(){this.A=[0,1,2,4,8,16,32,64,128,27,54];this.B=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.j=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.w=new Uint32Array(256);this.m=new Uint32Array(256);this.o=new Uint32Array(0);this.g=this.a=this.h=this.f=null;{const c=this.w,d=this.m;var a=this.B;const e=a[0],f=a[1],g=a[2];a=a[3];var b=
3
- this.j;const h=b[0],k=b[1],l=b[2];b=b[3];const m=new Uint32Array(256);let n=0,q=0,t;for(t=0;256>t;t++)m[t]=128>t?t<<1:t<<1^283;for(t=0;256>t;t++){let w=q^q<<1^q<<2^q<<3^q<<4;w=w>>>8^w&255^99;c[n]=w;d[w]=n;const A=m[n],D=m[A],E=m[D];let B=257*m[w]^16843008*w;e[n]=B<<24|B>>>8;f[n]=B<<16|B>>>16;g[n]=B<<8|B>>>24;a[n]=B;B=16843009*E^65537*D^257*A^16843008*n;h[w]=B<<24|B>>>8;k[w]=B<<16|B>>>16;l[w]=B<<8|B>>>24;b[w]=B;n?(n=A^m[m[m[E^A]]],q^=m[m[q]]):n=q=1}}}importKey(a){a=MG(a);for(var b=!0,c=0;c<a.length&&
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var uH=function(a){a=_.gg(a);const b=new Uint32Array(4);for(let c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},wH=function(a,b,c){return _.v(function*(){let d=new ArrayBuffer(0);try{d=yield vH(a,c.url)}catch(e){return a.m.debug("Could not fetch key"),a.l.onError(new _.H(1,7,7104,null,e)),b}try{return yield a.h.importKey(d),yield a.h.decrypt(b,c.iv)}catch(e){return a.m.warn("Could not decrypt segment data!",e),a.l.onError(new _.H(1,3,3103,null,e)),b}})},vH=function(a,b){return _.v(function*(){if(a.o[b])return a.o[b];
2
+ var c=_.zg(b);c=yield a.j.fetch(c).O;return a.o[b]=c.data})},xH=class{constructor(){this.A=[0,1,2,4,8,16,32,64,128,27,54];this.B=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.j=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.w=new Uint32Array(256);this.m=new Uint32Array(256);this.o=new Uint32Array(0);this.g=this.a=this.h=this.f=null;{const c=this.w,d=this.m;var a=this.B;const e=a[0],f=a[1],g=a[2];a=a[3];var b=
3
+ this.j;const h=b[0],k=b[1],l=b[2];b=b[3];const m=new Uint32Array(256);let n=0,q=0,t;for(t=0;256>t;t++)m[t]=128>t?t<<1:t<<1^283;for(t=0;256>t;t++){let w=q^q<<1^q<<2^q<<3^q<<4;w=w>>>8^w&255^99;c[n]=w;d[w]=n;const B=m[n],A=m[B],E=m[A];let C=257*m[w]^16843008*w;e[n]=C<<24|C>>>8;f[n]=C<<16|C>>>16;g[n]=C<<8|C>>>24;a[n]=C;C=16843009*E^65537*A^257*B^16843008*n;h[w]=C<<24|C>>>8;k[w]=C<<16|C>>>16;l[w]=C<<8|C>>>24;b[w]=C;n?(n=B^m[m[m[E^B]]],q^=m[m[q]]):n=q=1}}}importKey(a){a=uH(a);for(var b=!0,c=0;c<a.length&&
4
4
  b;)b=a[c]===this.o[c],c++;if(b)return new Promise(m=>m());this.o=a;this.a=a.length;if(4!==this.a&&6!==this.a&&8!==this.a)throw Error("Invalid aes key size\x3d"+this.a);this.g=4*(this.a+7);this.f=new Uint32Array(this.g);this.h=new Uint32Array(this.g);b=this.w;const d=this.A;var e=this.j;c=e[0];const f=e[1],g=e[2],h=e[3];let k=0,l=0;for(e=0;e<this.g;e++)e<this.a?k=this.f[e]=a[e]:(l=k,0===e%this.a?(l=l<<8|l>>>24,l=b[l>>>24]<<24|b[l>>>16&255]<<16|b[l>>>8&255]<<8|b[l&255],l^=d[e/this.a|0]<<24):6<this.a&&
5
- 4===e%this.a&&(l=b[l>>>24]<<24|b[l>>>16&255]<<16|b[l>>>8&255]<<8|b[l&255]),k=(this.f[e-this.a]^l)>>>0,this.f[e]=k);for(a=0;a<this.g;a++)e=this.g-a,l=a&3?this.f[e]:this.f[e-4],this.h[a]=4>a||4>=e?l:c[b[l>>>24]]^f[b[l>>>16&255]]^g[b[l>>>8&255]]^h[b[l&255]],this.h[a]>>>=0;return new Promise(m=>m())}decrypt(a,b){let c=0;const d=this.a+6,e=this.h,f=this.m;var g=this.j;const h=g[0],k=g[1],l=g[2];g=g[3];var m=MG(b);b=m[0];let n=m[1],q=m[2];m=m[3];a=_.cg(a);const t=new Int32Array(a.length);let w,A,D;let E,
6
- B,na,Za,of,ue,zd,ab,Og;const Vc=this.C.bind(this);for(;c<a.length;){Za=Vc(a[c]);of=Vc(a[c+1]);ue=Vc(a[c+2]);zd=Vc(a[c+3]);E=Za^e[0];B=zd^e[1];na=ue^e[2];var ta=of^e[3];ab=4;for(Og=1;Og<d;Og++)w=h[E>>>24]^k[B>>16&255]^l[na>>8&255]^g[ta&255]^e[ab],A=h[B>>>24]^k[na>>16&255]^l[ta>>8&255]^g[E&255]^e[ab+1],D=h[na>>>24]^k[ta>>16&255]^l[E>>8&255]^g[B&255]^e[ab+2],ta=h[ta>>>24]^k[E>>16&255]^l[B>>8&255]^g[na&255]^e[ab+3],E=w,B=A,na=D,ab+=4;w=f[E>>>24]<<24^f[B>>16&255]<<16^f[na>>8&255]<<8^f[ta&255]^e[ab];A=
7
- f[B>>>24]<<24^f[na>>16&255]<<16^f[ta>>8&255]<<8^f[E&255]^e[ab+1];D=f[na>>>24]<<24^f[ta>>16&255]<<16^f[E>>8&255]<<8^f[B&255]^e[ab+2];ta=f[ta>>>24]<<24^f[E>>16&255]<<16^f[B>>8&255]<<8^f[na&255]^e[ab+3];ab+=3;t[c]=Vc(w^b);t[c+1]=Vc(ta^n);t[c+2]=Vc(D^q);t[c+3]=Vc(A^m);b=Za;n=of;q=ue;m=zd;c+=4}return new Promise(hb=>{{var Ia=t.buffer;const $a=Ia.byteLength,dc=$a&&(new DataView(Ia)).getUint8($a-1);Ia=dc?Ia.slice(0,$a-dc):Ia}hb(Ia)})}destroy(){this.A=this.h=this.f=this.j=this.B=this.m=this.w=this.g=this.a=
8
- this.o=null;return new Promise(a=>a())}C(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24}};var QG=class{constructor(){this.a=null}importKey(a){const b=this;return _.v(function*(){b.a=yield crypto.subtle.importKey("raw",a,{name:"AES-CBC"},!1,["decrypt"])})}decrypt(a,b){const c=this;return _.v(function*(){return yield crypto.subtle.decrypt({name:"AES-CBC",iv:b},c.a,a)})}destroy(){this.a=null;return new Promise(a=>a())}};_.x("clpp.crypto.CryptoComponent",class extends _.ro{constructor(){super();this.j=this.l=null;this.w=this.A.bind(this);this.o={};this.h=null;this.m=new _.O("clpp.crypto")}f(a){this.l=a}a(){this.l=null}g(){if(window.crypto&&crypto.subtle){var a=crypto.subtle.decrypt;a=typeof crypto.subtle.importKey===_.Qc&&typeof a===_.Qc}else a=!1;a?this.h=new QG:(this.m.warn("No WebCrypto APIs found. Will fallback to software AES"),this.h=new PG);this.j=this.l.getNetworkEngine();this.j.Tc(this.w)}release(){this.j&&
9
- this.j.Ed(this.w);this.h&&(this.h.destroy(),this.h=null);this.j=null;this.o={}}id(){return"crypto"}A(a){const b=this;return _.v(function*(){const c=a.request||null;c&&2===c.type&&c.keyInfo&&a.data&&(b.m.debug("Decrypt data"),a.data=yield OG(b,a.data,c.keyInfo));return a})}});};f.call(g, window);
5
+ 4===e%this.a&&(l=b[l>>>24]<<24|b[l>>>16&255]<<16|b[l>>>8&255]<<8|b[l&255]),k=(this.f[e-this.a]^l)>>>0,this.f[e]=k);for(a=0;a<this.g;a++)e=this.g-a,l=a&3?this.f[e]:this.f[e-4],this.h[a]=4>a||4>=e?l:c[b[l>>>24]]^f[b[l>>>16&255]]^g[b[l>>>8&255]]^h[b[l&255]],this.h[a]>>>=0;return new Promise(m=>m())}decrypt(a,b){let c=0;const d=this.a+6,e=this.h,f=this.m;var g=this.j;const h=g[0],k=g[1],l=g[2];g=g[3];var m=uH(b);b=m[0];let n=m[1],q=m[2];m=m[3];a=_.fg(a);const t=new Int32Array(a.length);let w,B,A;let E,
6
+ C,oa,$a,rf,we,Bd,bb,Sg;const Wc=this.C.bind(this);for(;c<a.length;){$a=Wc(a[c]);rf=Wc(a[c+1]);we=Wc(a[c+2]);Bd=Wc(a[c+3]);E=$a^e[0];C=Bd^e[1];oa=we^e[2];var ta=rf^e[3];bb=4;for(Sg=1;Sg<d;Sg++)w=h[E>>>24]^k[C>>16&255]^l[oa>>8&255]^g[ta&255]^e[bb],B=h[C>>>24]^k[oa>>16&255]^l[ta>>8&255]^g[E&255]^e[bb+1],A=h[oa>>>24]^k[ta>>16&255]^l[E>>8&255]^g[C&255]^e[bb+2],ta=h[ta>>>24]^k[E>>16&255]^l[C>>8&255]^g[oa&255]^e[bb+3],E=w,C=B,oa=A,bb+=4;w=f[E>>>24]<<24^f[C>>16&255]<<16^f[oa>>8&255]<<8^f[ta&255]^e[bb];B=
7
+ f[C>>>24]<<24^f[oa>>16&255]<<16^f[ta>>8&255]<<8^f[E&255]^e[bb+1];A=f[oa>>>24]<<24^f[ta>>16&255]<<16^f[E>>8&255]<<8^f[C&255]^e[bb+2];ta=f[ta>>>24]<<24^f[E>>16&255]<<16^f[C>>8&255]<<8^f[oa&255]^e[bb+3];bb+=3;t[c]=Wc(w^b);t[c+1]=Wc(ta^n);t[c+2]=Wc(A^q);t[c+3]=Wc(B^m);b=$a;n=rf;q=we;m=Bd;c+=4}return new Promise(hb=>{{var Ia=t.buffer;const ab=Ia.byteLength,dc=ab&&(new DataView(Ia)).getUint8(ab-1);Ia=dc?Ia.slice(0,ab-dc):Ia}hb(Ia)})}destroy(){this.A=this.h=this.f=this.j=this.B=this.m=this.w=this.g=this.a=
8
+ this.o=null;return new Promise(a=>a())}C(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24}};var yH=class{constructor(){this.a=null}importKey(a){const b=this;return _.v(function*(){b.a=yield crypto.subtle.importKey("raw",a,{name:"AES-CBC"},!1,["decrypt"])})}decrypt(a,b){const c=this;return _.v(function*(){return yield crypto.subtle.decrypt({name:"AES-CBC",iv:b},c.a,a)})}destroy(){this.a=null;return new Promise(a=>a())}};_.x("clpp.crypto.CryptoComponent",class extends _.zo{constructor(){super();this.j=this.l=null;this.w=this.A.bind(this);this.o={};this.h=null;this.m=new _.O("clpp.crypto")}f(a){this.l=a}a(){this.l=null}g(){if(window.crypto&&crypto.subtle){var a=crypto.subtle.decrypt;a=typeof crypto.subtle.importKey===_.Sc&&typeof a===_.Sc}else a=!1;a?this.h=new yH:(this.m.warn("No WebCrypto APIs found. Will fallback to software AES"),this.h=new xH);this.j=this.l.getNetworkEngine();this.j.Vc(this.w)}release(){this.j&&
9
+ this.j.Gd(this.w);this.h&&(this.h.destroy(),this.h=null);this.j=null;this.o={}}id(){return"crypto"}A(a){const b=this;return _.v(function*(){const c=a.request||null;c&&2===c.type&&c.keyInfo&&a.data&&(b.m.debug("Decrypt data"),a.data=yield wH(b,a.data,c.keyInfo));return a})}});};f.call(g, window);
package/cl.dash.js CHANGED
@@ -1,62 +1,64 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var rz="Channel parsing failure! Ignoring scheme and value",sz="ContentProtection",tz="EssentialProperty",uz="Missing \x3cms:pro/\x3e node in ContentProtection element",vz="SegmentBase does not contain sufficient segment information:",wz="SegmentList does not contain sufficient segment information:",xz="SegmentTemplate does not contain sufficient segment information:",yz="SegmentTimeline",zz='The last "S" element cannot have a negative repeat',Az="application",Bz="duration",Cz="http://www.w3.org/1999/xlink",
2
- Dz='ignoring the remaining "S" elements.',Ez="presentationTimeOffset",Fz="schemeIdUri",Gz="static",Hz="timescale",Iz="urn:microsoft:playready",Jz="urn:mpeg:cenc:2013",Kz="urn:mpeg:dash:utc:http-head:2014",Lz="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95",Mz="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",Nz=function(a){return new _.Ok(Promise.reject(a),()=>Promise.resolve())},Oz=function(a){return new _.Ok(Promise.all(a.map(b=>b.N)),()=>Promise.all(a.map(b=>b.abort())))},Pz=function(a,b){return a.reduce(((c,
3
- d,e)=>d.catch(c.bind(null,e))).bind(null,b),Promise.reject())},Qz=function(a,b,c){return Array.prototype.filter.call(a.childNodes,d=>d instanceof Element&&d.localName==c&&d.namespaceURI==b)},Rz=function(a,b,c){a=Qz(a,b,c);return 1!=a.length?null:a[0]},Sz=function(a,b,c){return a.hasAttributeNS(b,c)?a.getAttributeNS(b,c):null},Tz=function(a,b,c,d=null){let e=null;a=a.getAttribute(b);null!=a&&(e=c(a));return null==e?d:e},Uz=function(a){if(!a)return null;/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(a)&&
4
- (a+="Z");a=Date.parse(a);return isNaN(a)?null:Math.floor(a/1E3)},Vz=function(a){if(!a)return null;const b=/^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$/.exec(a);if(!b)return _.z("Invalid duration string:",a),null;a=31536E3*Number(b[1]||null)+2592E3*Number(b[2]||null)+86400*Number(b[3]||null)+3600*Number(b[4]||null)+60*Number(b[5]||null)+Number(b[6]||null);return isFinite(a)?a:null},Wz=function(a){var b=/([0-9]+)-([0-9]+)/.exec(a);if(!b)return null;
5
- a=Number(b[1]);if(!isFinite(a))return null;b=Number(b[2]);return isFinite(b)?{start:a,end:b}:null},Xz=function(a){a=Number(a);return 0===a%1?a:null},Yz=function(a){a=Number(a);return 0===a%1&&0<a?a:null},Zz=function(a){a=Number(a);return 0===a%1&&0<=a?a:null},$z=function(a){let b;a=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(a)?null:a},aA=function(a,b){try{const c=_.gg(a);return _.Vs(c,b)}catch(c){return null}},bA=function(a,b,c,d,e){const f={RepresentationID:b,
6
- Number:c,Bandwidth:d,Time:e};return a.replace(/\$(RepresentationID|Number|Bandwidth|Time)?(?:%0([0-9]+)([diouxX]))?\$/g,(g,h,k,l)=>{if("$$"==g)return"$";let m=f[h];if(null==m)return _.z("URL template does not have an available substitution ","for identifier",'"'+h+'":',a),g;"RepresentationID"==h&&k&&(_.z("URL template should not contain a width specifier for identifier",'"RepresentationID":',a),k=void 0);"Time"==h&&(m=Math.round(m));switch(l){case void 0:case "d":case "i":case "u":g=m.toString();
7
- break;case "o":g=m.toString(8);break;case "x":g=m.toString(16);break;case "X":g=m.toString(16).toUpperCase();break;default:g=m.toString()}k=window.parseInt(k,10)||1;return Array(Math.max(0,k-g.length)+1).join("0")+g})},eA=function(a,b){var c=cA(a,b,Hz);let d=1;c&&(d=Yz(c)||1);c=cA(a,b,Bz);(c=Yz(c||""))&&(c/=d);let e=0;a.Sb||(e=Number(cA(a,b,Ez))||0);var f=cA(a,b,"startNumber");let g=Zz(f||"");if(null==f||null==g)g=1;f=cA(a,b,"endNumber");f=null!==f?Zz(f||""):null;var h=dA(a,b,yz),k=null;if(h){{k=
8
- d;var l=e,m=a.ba.duration||Infinity;h=_.Ss(h,"S");const A=[];var n=0;for(let D=0;D<h.length;++D){var q=h[D],t=Tz(q,"t",Zz);const E=Tz(q,"d",Zz);var w=Tz(q,"r",Xz);null!=t&&(t-=l);if(!E){_.z('"S" element must have a duration:',Dz,q);break}t=null!=t?t:n;w=w||0;if(0>w)if(D+1<h.length){w=Tz(h[D+1],"t",Zz);if(null==w){_.z('An "S" element cannot have a negative repeat','if the next "S" element does not have a valid start time:',Dz,q);break}else if(t>=w){_.z('An "S" element cannot have a negative repeatif its start ',
9
- 'time exceeds the next "S" element\'s start time:',Dz,q);break}w=Math.ceil((w-t)/E)-1}else{if(Infinity==m){_.z(zz,"if the Period has an infinite duration:",'ignoring the last "S" element.',q);break}else if(t/k>=m){_.z(zz,"if its start time exceeds the Period's duration:",'igoring the last "S" element.',q);break}w=Math.ceil((m*k-t)/E)-1}0<A.length&&t!=n&&(Math.abs((t-n)/k)>=_.ao&&_.z("SegmentTimeline contains a large gap/overlap:","the content may have errors in it.",q),A[A.length-1].end=t/k);for(q=
10
- 0;q<=w;++q)n=t+E,A.push({start:t/k,end:n/k,wf:t}),t=n}k=A}}l=e/d||0;a=cA(a,b,"availabilityTimeOffset");b=Number(a||"");b=isNaN(b)?null:b;if(null==a||null==b)b=0;return{timescale:d,oa:c,Xb:g,$c:f,Db:l,Pd:e,timeline:k,Uc:b}},cA=function(a,b,c){return[b(a.O),b(a.na),b(a.sa)].filter(_.ek).map(d=>d.getAttribute(c)).reduce((d,e)=>d||e)},dA=function(a,b,c){return[b(a.O),b(a.na),b(a.sa)].filter(_.ek).map(d=>_.Ts(d,c)).reduce((d,e)=>d||e)},gA=function(a,b,c,d,e,f){const g=Sz(a,Cz,"href"),h=Sz(a,Cz,"actuate")||
11
- "onRequest";for(let l=0;l<a.attributes.length;l++){const m=a.attributes[l];m.namespaceURI==Cz&&(a.removeAttributeNS(m.namespaceURI,m.localName),--l)}if(5<=f)return Nz(new _.H(_.G,4,4028));if("onLoad"!=h)return Nz(new _.H(_.G,4,4027));const k=_.Ls([d],[g]);d=_.wg(k,b);d.type=1;return e.fetch(d).Cc(l=>{l=aA(l.data,a.tagName);if(!l)return Nz(new _.H(_.G,4,4001,{uri:g}));for(;a.childNodes.length;)a.removeChild(a.childNodes[0]);for(;l.childNodes.length;){var m=l.childNodes[0];l.removeChild(m);a.appendChild(m)}for(m=
12
- 0;m<l.attributes.length;m++){const n=l.attributes[m].nodeName,q=l.getAttribute(n);a.setAttribute(n,q)}return fA(a,b,c,k[0],e,f+1)})},fA=function(a,b,c,d,e,f=0){if(Sz(a,Cz,"href")){var g=gA(a,b,c,d,e,f);c&&(g=g.Cc(void 0,()=>fA(a,b,c,d,e,f)));return g}g=[];for(let h=0;h<a.childNodes.length;h++){const k=a.childNodes[h];k instanceof Element&&("urn:mpeg:dash:resolve-to-zero:2013"==Sz(k,Cz,"href")?(a.removeChild(k),--h):k.tagName!=yz&&g.push(fA(k,b,c,d,e,f)))}return Oz(g).Cc(()=>a)},iA=function(a,b,c,
13
- d){let e;const f=(new _.Yn).W("sidx",g=>{e=hA(b,d,c,g)});a&&f.parse(a);if(e)return e;_.yf('Invalid box type, expected "sidx".');throw new _.H(_.G,3,3004);},hA=function(a,b,c,d){const e=[];d.G.skip(4);const f=_.N(d.G);if(0==f)throw _.yf("Invalid timescale."),new _.H(_.G,3,3005);if(0==d.version){var g=_.N(d.G);var h=_.N(d.G)}else g=_.Di(d.G),h=_.Di(d.G);d.G.skip(2);const k=_.Bi(d.G);a=a+d.size+h;for(h=0;h<k;h++){var l=_.N(d.G);const m=(l&2147483648)>>>31;l&=2147483647;const n=_.N(d.G);d.G.skip(4);if(1==
14
- m)throw _.yf("Heirarchical SIDXs are not supported."),new _.H(_.G,3,3006);e.push(new _.st(e.length,g/f-b,(g+n)/f-b,()=>c,a,a+l-1,b));g+=n;a+=l}d.Za.stop();return e},jA=function(a){var b=_.ts(a.a);let c;for(c=1;8>=c&&!(b&1<<8-c);c++);if(8<c)throw new _.H(_.G,3,3002);const d=new Uint8Array(c);d[0]=b;for(b=1;b<c;b++)d[b]=_.ts(a.a);return d},mA=function(a){var b=jA(a);if(7<b.length)throw new _.H(_.G,3,3002);var c=0;for(var d=0;d<b.length;d++)c=256*c+b[d];b=c;c=jA(a);a:{for(e of kA)if(_.li(c,new Uint8Array(e))){var e=
15
- !0;break a}e=!1}if(e)c=a.f.byteLength-a.a.getPosition();else{if(8==c.length&&c[1]&224)throw new _.H(_.G,3,3001);e=c[0]&(1<<8-c.length)-1;for(d=1;d<c.length;d++)e=256*e+c[d];c=e}c=a.a.getPosition()+c<=a.f.byteLength?c:a.f.byteLength-a.a.getPosition();e=new DataView(a.f.buffer,a.f.byteOffset+a.a.getPosition(),c);a.a.skip(c);return new lA(b,e)},nA=function(a){if(8<a.a.byteLength)throw new _.H(_.G,3,3002);if(8==a.a.byteLength&&a.a.getUint8(0)&224)throw new _.H(_.G,3,3001);let b=0;for(let c=0;c<a.a.byteLength;c++){const d=
16
- a.a.getUint8(c);b=256*b+d}return b},qA=function(a,b,c,d,e,f){const g=[],h=()=>e;a=new oA(a.a);let k=null,l=null;for(;_.zi(a.a);){var m=mA(a);if(187==m.id){var n=pA(m);n&&(m=c*n.xf,n=b+n.mf,null!=k&&g.push(new _.st(g.length,k-f,m-f,h,l,n-1,f)),k=m,l=n)}}null!=k&&g.push(new _.st(g.length,k-f,d-f,h,l,null,f));return g},pA=function(a){var b=new oA(a.a);a=mA(b);if(179!=a.id)throw _.z("Not a CueTime element."),new _.H(_.G,3,3013);a=nA(a);b=mA(b);if(183!=b.id)throw _.z("Not a CueTrackPositions element."),
17
- new _.H(_.G,3,3012);b=new oA(b.a);let c=0;for(;_.zi(b.a);){const d=mA(b);if(241==d.id){c=nA(d);break}}return{xf:a,mf:c}},rA=function(a,b){b=dA(a,b,"Initialization");if(!b)return null;let c=a.O.Ha;var d=b.getAttribute("sourceURL");d&&(c=_.Ls(a.O.Ha,[d]));a=0;d=null;if(b=Tz(b,"range",Wz))a=b.start,d=b.end;return new _.Ix(()=>c,a,d)},uA=function(a,b){var c=Number(cA(a,sA,Ez))||0,d=cA(a,sA,Hz),e=1;d&&(e=Yz(d)||1);d=c/e||0;c=rA(a,sA);{e=a.O.mimeType.split("/")[1];if(a.O.contentType!=_.r&&e!=_.md&&"webm"!=
18
- e)throw _.yf("SegmentBase specifies an unsupported container type.",a.O),new _.H(_.G,4,4006);if("webm"==e&&!c)throw _.yf(vz,"the SegmentBase uses a WebM container,","but does not contain an Initialization element.",a.O),new _.H(_.G,4,4005);const g=dA(a,sA,"RepresentationIndex");var f=cA(a,sA,"indexRange");let h=a.O.Ha;f=Wz(f||"");if(g){const k=g.getAttribute("sourceURL");k&&(h=_.Ls(a.O.Ha,[k]));f=Tz(g,"range",Wz,f)}if(!f)throw _.yf(vz,"the SegmentBase does not contain @indexRange","or a RepresentationIndex element.",
19
- a.O),new _.H(_.G,4,4002);a=tA(a,b,c,h,f.start,f.end,e,d)}return{createSegmentIndex:a.createSegmentIndex,findSegmentPosition:a.findSegmentPosition,getSegmentReference:a.getSegmentReference,adjustSegmentDurations:a.adjustSegmentDurations,getDuration:a.getDuration,initSegmentReference:c}},sA=function(a){return a.zc},tA=function(a,b,c,d,e,f,g,h){const k=a.presentationTimeline,l=!a.gc||!a.ba.nd,m=a.ba.start,n=a.ba.duration;let q=b,t=null;return{createSegmentIndex:function(){return _.v(function*(){var w=
20
- [q(d,e,f),"webm"==g?q(c.Ka(),c.Fa,c.wa):null];q=null;w=yield Promise.all(w);var A=w[0];const D=w[1]||null;A=g==_.md?iA(A,e,d,h):(new vA).parse(A,D,d,h);_.lt(k,A,m);t=new _.Kx(A);l&&_.vt(t,n);return w})},findSegmentPosition:function(w){return t.h(w)},getSegmentReference:function(w){return t.get(w)},adjustSegmentDurations:function(w,A){return t.f(w,A)},getDuration:function(){return t.getDuration()}}},AA=function(a,b,c,d){const e=wA(a);{var f=eA(a,xA);var g=cA(a,xA,"media");const h=cA(a,xA,"index");
21
- f={oa:f.oa,timescale:f.timescale,Xb:f.Xb,$c:f.$c,Db:f.Db,Pd:f.Pd,timeline:f.timeline,sd:g,tc:h,Uc:f.Uc}}g=f.tc?1:0;g+=f.timeline?1:0;g+=f.oa?1:0;if(0==g)throw _.yf("SegmentTemplate does not contain any segment information:","the SegmentTemplate must contain either an index URL template","a SegmentTimeline, or a segment duration.",a.O),new _.H(_.G,4,4002);1!=g&&(_.z("SegmentTemplate containes multiple segment information sources:","the SegmentTemplate should only contain an index URL template,","a SegmentTimeline or a segment duration.",
22
- a.O),f.tc?(_.xf("Using the index URL template by default."),f.timeline=null):_.xf("Using the SegmentTimeline by default."),f.oa=null);if(!f.tc&&!f.sd)throw _.yf(xz,"the SegmentTemplate's media URL template is missing.",a.O),new _.H(_.G,4,4002);if(f.tc){c=a.O.mimeType.split("/")[1];if(c!=_.md&&"webm"!=c)throw _.yf("SegmentTemplate specifies an unsupported container type.",a.O),new _.H(_.G,4,4006);if("webm"==c&&!e)throw _.yf(xz,"the SegmentTemplate uses a WebM container,","but does not contain an initialization URL template.",
23
- a.O),new _.H(_.G,4,4005);d=bA(f.tc,a.O.id,null,a.bandwidth||null,null);d=_.Ls(a.O.Ha,[d]);a=tA(a,b,e,d,0,null,c,f.Db)}else f.oa?(d||(c=a.presentationTimeline,c.o=Math.max(c.o,f.Uc),c.A.debug("notifyAvailabilityTimeOffset: maxAvailabilityTimeOffset\x3d"+c.o),_.mt(a.presentationTimeline,f.oa),_.kt(a.presentationTimeline,a.ba.start)),a=yA(a,f)):(d=b=null,a.sa.id&&a.O.id&&(d=a.sa.id+","+a.O.id,b=c[d]),g=zA(a,f),f=!a.gc||!a.ba.nd,b?(f&&_.vt(new _.Kx(g),a.ba.duration),_.tt(b,g),c=_.ot(a.presentationTimeline),
24
- _.ut(b,c-a.ba.start)):(_.lt(a.presentationTimeline,g,a.ba.start),b=new _.Kx(g),d&&a.gc&&(c[d]=b)),f&&_.vt(b,a.ba.duration),a={createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:b.h.bind(b),getSegmentReference:b.get.bind(b),adjustSegmentDurations:b.f.bind(b),getDuration:b.getDuration.bind(b)});return{createSegmentIndex:a.createSegmentIndex,findSegmentPosition:a.findSegmentPosition,getSegmentReference:a.getSegmentReference,adjustSegmentDurations:a.adjustSegmentDurations,getDuration:a.getDuration,
25
- initSegmentReference:e}},wA=function(a){const b=cA(a,xA,"initialization");if(!b)return null;const c=a.O.id,d=a.bandwidth||null,e=a.O.Ha;return new _.Ix(function(){const f=bA(b,c,null,d,null);return _.Ls(e,[f])},0,null)},yA=function(a,b){const c=a.ba.duration,d=b.oa,e=b.Xb,f=b.$c,g=b.timescale,h=b.sd,k=a.bandwidth||null,l=a.O.id,m=a.O.Ha;return{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:function(n){return 0>n||c&&n>=c?null:Math.floor(n/d)},getSegmentReference:function(n){const q=
26
- n+e;if(null!==f&&q>f)return null;const t=n*d;let w=t+d;c&&(w=Math.min(w,c));return 0>w||c&&t>=c?null:new _.st(n,t,w,function(){const A=bA(h,l,q,k,t*g);return _.Ls(m,[A])},0,null,b.Db)},adjustSegmentDurations:function(){},getDuration:function(){return c}}},zA=function(a,b){const c=[];for(let d=0;d<b.timeline.length;d++){const e=d+b.Xb;c.push(new _.st(e,b.timeline[d].start,b.timeline[d].end,function(f,g,h,k,l,m){f=bA(f,g,l,h,m);return _.Ls(k,[f]).map(n=>n.toString())}.bind(null,b.sd,a.O.id,a.bandwidth||
27
- null,a.O.Ha,e,b.timeline[d].wf+b.Pd),0,null,b.Db))}return c},xA=function(a){return a.Wb},EA=function(a,b){const c=rA(a,BA);{var d=CA(a),e=eA(a,BA);var f=e.Xb;0==f&&(_.z("SegmentList@startNumber must be \x3e 0"),f=1);let g=0;e.oa?g=e.oa*(f-1):e.timeline&&0<e.timeline.length&&(g=e.timeline[0].start);f={oa:e.oa,startTime:g,Xb:f,Db:e.Db,timeline:e.timeline,Tb:d}}if(!f.oa&&!f.timeline&&1<f.Tb.length)throw _.z(wz,"the SegmentList specifies multiple segments,","but does not specify a segment duration or timeline.",
28
- a.O),new _.H(_.G,4,4002);if(!f.oa&&!a.ba.duration&&!f.timeline&&1==f.Tb.length)throw _.z(wz,"the SegmentList specifies one segment,","but does not specify a segment duration, period duration,","or timeline.",a.O),new _.H(_.G,4,4002);if(f.timeline&&0==f.timeline.length)throw _.z(wz,"the SegmentList has an empty timeline.",a.O),new _.H(_.G,4,4002);e=d=null;a.sa.id&&a.O.id&&(e=a.sa.id+","+a.O.id,d=b[e]);f=DA(a.ba.duration,f.Xb,a.O.Ha,f);d?(_.tt(d,f),b=_.ot(a.presentationTimeline),_.ut(d,b-a.ba.start)):
29
- (_.lt(a.presentationTimeline,f,a.ba.start),d=new _.Kx(f),e&&a.gc&&(b[e]=d));a.gc&&a.ba.nd||_.vt(d,a.ba.duration);return{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:d.h.bind(d),getSegmentReference:d.get.bind(d),adjustSegmentDurations:d.f.bind(d),getDuration:d.getDuration.bind(d),initSegmentReference:c}},BA=function(a){return a.Eb},DA=function(a,b,c,d){let e=d.Tb.length;d.timeline&&d.timeline.length!=d.Tb.length&&(e=Math.min(d.timeline.length,d.Tb.length),_.z("The number of items in the segment timeline and the number of",
30
- "segment URLs do not match, truncating",d.Tb.length,"to",e));const f=[];var g=d.startTime;for(let h=0;h<e;h++){const k=d.Tb[h],l=_.Ls(c,[k.ff]);let m;m=null!=d.oa?g+d.oa:d.timeline?d.timeline[h].end:g+a;f.push(new _.st(h+b,g,m,()=>l,k.start,k.end,d.Db));g=m}return f},CA=function(a){return[a.O.Eb,a.na.Eb,a.sa.Eb].filter(_.ek).map(b=>_.Ss(b,"SegmentURL")).reduce((b,c)=>0<b.length?b:c).map(b=>{b.getAttribute("indexRange")&&!a.md&&(a.md=!0,_.z("We do not support the SegmentURL@indexRange attribute on SegmentList. We only use the SegmentList@duration attribute or SegmentTimeline, which must be accurate."));
31
- const c=b.getAttribute("media");b=Tz(b,"mediaRange",Wz,{start:0,end:null});return{ff:c,start:b.start,end:b.end}})},GA=function(a,b){return a.find(c=>FA.get(c.rb)===b)},HA=function(a){const b=Rz(a.node,Iz,"pro");if(!b)return _.z(uz,a),null;a=_.ii(b.textContent);a=_.ft(a);a=_.$s(a.a);return{keyId:null,rb:Mz,node:document.createElement("null"),init:[{initData:_.Xs(a),initDataType:_.jc,keyId:null}]}},IA=function(a,b){b=void 0===b?"4.0.0.0":b;var c=Rz(a.node,Jz,"pssh");if(!c)return _.z("Missing \x3ccenc:pssh/\x3e node in ContentProtection element",
32
- a),null;a=_.ii(c.textContent);c=new _.On(new DataView(a.buffer),!1);c.skip(12);c.skip(16);c.skip(4);a=_.ts(c);_.us(c);8===a&&c.skip(2);if(18!==_.ts(c))_.z("Unable to parse WV PSSH Data. KeyIdType does not match!"),a=null;else if(a=_.ts(c),16!==a)_.z("Unable to parse WV PSSH Data. KeyID length is "+a),a=null;else{{const d=new Uint8Array(a);for(let e=0;e<a;e++)d[e]=_.ts(c);a=d}a=_.ki(a);a=_.$s(a)}if(!a)return _.z("Unable to parse WV PSSH data. Can not create PR data!"),null;b=_.dt(b,a.a);return{keyId:null,
33
- rb:Lz,node:document.createElement("null"),init:[{initData:_.Xs(b),initDataType:_.jc,keyId:null}]}},JA=function(a,b){const c=Rz(a.node,Iz,"pro");if(!c)return _.z(uz,a),null;a=_.ii(c.textContent);a=_.ft(a);return a.version!==b&&(_.C(`Parsing from ${a.version} to ${b}.`),a=_.et(a,b))?{keyId:null,rb:Lz,node:document.createElement("null"),init:[{initData:_.Xs(a),initDataType:_.jc,keyId:null}]}:null},MA=function(a,b,c,d){const e=KA(a);let f=null;a=[];let g=[];const h=GA(e,_.yc),k=GA(e,_.xc);if(k&&d){var l=
34
- JA(k,d);l&&(e[e.indexOf(k)]=l)}k&&!h&&(l=HA(k))&&e.push(l);h&&!k&&(d=IA(h,d||void 0))&&e.push(d);d=new Set(e.map(m=>m.keyId));d.delete(null);if(1<d.size)throw new _.H(_.G,4,4010);b||(g=e.filter(m=>"urn:mpeg:dash:mp4protection:2011"==m.rb?(f=m.init||f,!1):!0),g.length&&(a=LA(f,g,c),0==a.length&&(a=[_.Ms(_.qd,f,c)])));if(e.length&&(b||!g.length)){a=[];for(const m of FA.values())m!=_.Bd&&a.push(_.Ms(m,f,c))}if(b=Array.from(d)[0]||null)for(const m of a)for(const n of m.initData)n.keyId=b;return{Zd:b,
35
- Nf:f,drmInfos:a,be:!0}},KA=function(a){const b=[];for(const c of a)(a=NA(c))&&b.push(a);return b},LA=function(a,b,c){const d=[];for(const f of b){var e=FA.get(f.rb);if(e){b=_.Ms(e,f.init||a,c);if(e=OA.get(e))b.licenseServerUri=e(f);d.push(b)}}return d},PA=function(a,b,c,d,e){const f=MA(a,c,d,e);if(b.be){a=1==b.drmInfos.length&&!b.drmInfos[0].keySystem;c=0==f.drmInfos.length;if(0==b.drmInfos.length||a&&!c)b.drmInfos=f.drmInfos;b.be=!1}else if(0<f.drmInfos.length&&(b.drmInfos=b.drmInfos.filter(g=>f.drmInfos.some(h=>
36
- h.keySystem==g.keySystem)),0==b.drmInfos.length))throw new _.H(_.G,4,4008);return f.Zd||b.Zd},NA=function(a){let b=a.getAttribute(Fz),c=Sz(a,Jz,"default_KID");const d=Qz(a,Jz,"pssh").map(_.Us);if(!b)return _.yf("Missing required schemeIdUri attribute on","ContentProtection element",a),null;b=b.toLowerCase();if(c&&(c=c.replace(/-/g,"").toLowerCase(),c.includes(" ")))throw new _.H(_.G,4,4009);let e=[];try{e=d.map(f=>({initDataType:_.jc,initData:_.ii(f),keyId:null}))}catch(f){throw new _.H(_.G,4,4007);
37
- }return{node:a,rb:b,keyId:c,init:0<e.length?e:null}},QA=function(a,b){return _.At(_.Ig(a,b))?_.r:a.split("/")[0]},TA=function(a){_.v(function*(){a.f.debug(_.gs);let b=0;try{b=yield RA(a)}catch(c){if(a.a&&c.a&&(a.a.onError(c),c.severity===_.G))return}a.a&&SA(a,b)})},RA=function(a){return _.v(function*(){var b=_.wg(a.j,a.g.attemptParameters);b.type=1;var c=Date.now();b=a.a.networkingEngine.fetch(b);_.ch(a.m,b);b=yield b.N;if(!a.a)return 0;b.uri&&!a.j.includes(b.uri)&&a.j.unshift(b.uri);yield UA(a,b.data,
38
- b.uri);c=(Date.now()-c)/1E3;_.ht(a.F,1,c);return c})},SA=function(a,b){0>a.A||a.w.$(Math.max(3,a.A-b,_.it(a.F)))},UA=function(a,b,c){return _.v(function*(){var d=aA(b,"MPD");if(!d)throw new _.H(_.G,4,4001,c);d=fA(d,a.g.attemptParameters,a.g.xlinkFailGracefully,c,a.a.networkingEngine);_.ch(a.m,d);d=yield d.N;return VA(a,d,c)})},VA=function(a,b,c){return _.v(function*(){var d=[c],e=_.Ss(b,"Location").map(_.Us).filter(_.ek);0<e.length&&(d=_.Ls(d,e),a.j=d);e=_.Ss(b,"BaseURL").map(_.Us);d=_.Ls(d,e);e=
39
- Tz(b,"minBufferTime",Vz,0);a.A=Tz(b,"minimumUpdatePeriod",Vz,-1);var f=Tz(b,"availabilityStartTime",Uz);let g=Tz(b,"timeShiftBufferDepth",Vz);var h=Tz(b,"suggestedPresentationDelay",Vz);const k=Tz(b,"maxSegmentDuration",Vz);let l=b.getAttribute("type")||Gz;"dynamic"===l&&(a.B=l,a.H=f);const m=l===Gz&&"dynamic"===a.B;m&&(a.f.info("MPD dynamic to static transition."),l=a.B,f=a.H);f=a.h?a.h.presentationTimeline:new _.Jx(f,null!=h?h:3*e,!!a.g.autoCorrectDrift);{h={gc:l!=Gz,Sb:m,presentationTimeline:f,
40
- sa:null,ba:null,na:null,O:null,bandwidth:0,md:!1};var n=Tz(b,"mediaPresentationDuration",Vz),q=[],t=0;const E=_.Ss(b,"Period");for(let B=0;B<E.length;B++){var w=E[B];t=Tz(w,_.ae,Vz,t);var A=Tz(w,Bz,Vz);let na=null;if(B!=E.length-1){var D=Tz(E[B+1],_.ae,Vz);null!=D&&(na=D-t)}else null!=n&&(na=n-t);D=_.ao;na&&A&&Math.abs(na-A)>D&&a.f.warn("There is a gap/overlap between Periods",w);null==na&&(na=A);w=WA(a,h,d,{start:t,duration:na,node:w,nd:null==na||B==E.length-1});q.push(w);A=h.sa.id;a.C.includes(A)||
41
- (a.C.push(A),a.h&&(a.a.filterNewPeriod(w),a.h.periods.push(w)));if(null==na){B!=E.length-1&&a.f.warn("Skipping Period",B+1,"and any subsequent Periods:","Period",B+1,"does not have a valid start time.",q[B+1]);t=null;break}t+=na}null==a.h&&a.a.filterAllPeriods(q);null!=n?(t!=n&&a.f.warn("@mediaPresentationDuration does not match the total duration of ","all Periods."),h={periods:q,duration:n,$d:!1}):h={periods:q,duration:t,$d:!0}}n=h.duration;q=h.periods;f.f=l==Gz;if(m&&!f.Sb())a.a.onEvent(new _.F(_.nd));
42
- f.B=m;l!=Gz&&(m||h.$d)||f.Fb(n||Infinity);f.isLive()&&a.g.availabilityWindowOverride&&!isNaN(a.g.availabilityWindowOverride)&&(g=a.g.availabilityWindowOverride);null==g&&(g=Infinity);f.Vb=g;_.mt(f,k||1);f.isLive();a.h||(a.h={presentationTimeline:f,periods:q,offlineSessionIds:[],minBufferTime:e||0},null!=f.m&&null==f.g&&(e=_.Ss(b,"UTCTiming"),d=yield XA(a,d,e),a.a&&(f.w=d)))})},XA=function(a,b,c){c=c.map(e=>({scheme:e.getAttribute(Fz),value:e.getAttribute(_.xe)}));const d=a.g.clockSyncUri;!c.length&&
43
- d&&c.push({scheme:Kz,value:d});return Pz(c,e=>{var f=e.scheme;e=e.value;switch(f){case Kz:case "urn:mpeg:dash:utc:http-head:2012":return YA(a,b,e,"HEAD");case "urn:mpeg:dash:utc:http-xsdate:2014":case "urn:mpeg:dash:utc:http-iso:2014":case "urn:mpeg:dash:utc:http-xsdate:2012":case "urn:mpeg:dash:utc:http-iso:2012":return YA(a,b,e,"GET");case "urn:mpeg:dash:utc:direct:2014":case "urn:mpeg:dash:utc:direct:2012":return f=Date.parse(e),Promise.resolve(isNaN(f)?0:f-Date.now());case "urn:mpeg:dash:utc:http-ntp:2014":case "urn:mpeg:dash:utc:ntp:2014":case "urn:mpeg:dash:utc:sntp:2014":return a.f.warn("NTP UTCTiming scheme is not supported"),
44
- Promise.reject();default:return a.f.warn("Unrecognized scheme in UTCTiming element",f),Promise.reject()}}).catch(()=>{a.f.warn("A UTCTiming element should always be given in live manifests! This content may not play on clients with bad clocks!");return 0})},WA=function(a,b,c,d){b.sa=ZA(a,d.node,null,c);b.ba=d;b.sa.id||(a.f.info("No Period ID given for Period with start time "+d.start+", Assigning a default"),b.sa.id="__clpp_period_"+d.start);c=_.Ss(d.node,"EventStream");for(var e of c)$A(a,d.start,
45
- d.duration,e);e=_.Ss(d.node,_.ea).map(t=>aB(a,b,t)).filter(_.ek);if(b.gc){c=[];for(var f of e)for(var g of f.qf)c.push(g);if(c.length!=(new Set(c)).size)throw new _.H(_.G,4,4018);}f=e.filter(t=>!t.Od);g=e.filter(t=>t.Od);for(var h of g){g=h.streams[0];e=h.Od;for(var k of f)if(k.id==e)for(var l of k.streams)l.trickModeVideo=g}k=bB(f,_.u);l=bB(f,_.Rb);if(!k.length&&!l.length)throw new _.H(_.G,4,4004);l.length||(l=[null]);k.length||(k=[null]);h=[];for(var m of l)for(var n of k)cB(a,m,n,h);n=bB(f,_.r);
46
- m=[];for(var q of n)m.push.apply(m,q.streams);q=bB(f,_.Tc);n=[];for(const t of q)n.push.apply(n,t.streams);return{startTime:d.start,textStreams:m,thumbStreams:n,variants:h}},ZA=function(a,b,c,d){c=c||{contentType:"",mimeType:"",codecs:"",emsgSchemeIdUris:[],frameRate:void 0,ud:null};d=d||c.Ha;const e=_.Ss(b,"BaseURL").map(_.Us);let f=b.getAttribute("contentType")||c.contentType;const g=b.getAttribute(_.jd)||c.mimeType,h=b.getAttribute(_.tc)||c.codecs,k=Tz(b,"frameRate",$z)||c.frameRate;var l=_.Ss(b,
47
- "InbandEventStream");var m=c.emsgSchemeIdUris.slice();for(var n of l)l=n.getAttribute(Fz),m.includes(l)||m.push(l);n=_.Ss(b,"AudioChannelConfiguration");a=dB(a,n)||c.ud;f||(f=QA(g,h));return{Ha:_.Ls(d,e),zc:_.Ts(b,"SegmentBase")||c.zc,Eb:_.Ts(b,"SegmentList")||c.Eb,Wb:_.Ts(b,"SegmentTemplate")||c.Wb,width:Tz(b,_.Oe,Zz)||c.width,height:Tz(b,_.Rc,Zz)||c.height,contentType:f,mimeType:g,codecs:h,frameRate:k,emsgSchemeIdUris:m,id:b.getAttribute("id"),ud:a}},$A=function(a,b,c,d){const e=d.getAttribute(Fz)||
48
- "",f=d.getAttribute(_.xe)||"",g=Tz(d,Hz,Zz)||1;for(const k of _.Ss(d,"Event")){d=Tz(k,"presentationTime",Zz)||0;var h=Tz(k,Bz,Zz)||0;d=d/g+b;h=d+h/g;null!=c&&(d=Math.min(d,b+c),h=Math.min(h,b+c));let l=_.Ff;e.startsWith(_.re)?l=_.Hf:"urn:mpeg:dash:event:callback:2015"===e&&(l=_.od);const m={schemeIdUri:e,value:f,startTime:d,endTime:h,id:k.getAttribute("id")||"",type:l,eventElement:k};m.type===_.od&&(m.Mc=()=>{if(m.eventElement){var n=m.eventElement.getAttribute("messageData")||"";n&&n.startsWith("http")&&
49
- (n=_.wg(n),n.type=_.vg,a.a.networkingEngine.fetch(n))}});a.a.onTimelineCueAdded(m)}},aB=function(a,b,c){b.na=ZA(a,c,b.sa,null);let d=!1;var e=_.Ss(c,"Role");const f=e.map(B=>B.getAttribute(_.xe)).filter(_.ek);let g=null;var h=_.Ss(c,"Label").map(B=>B.textContent).filter(_.ek);h&&0<h.length&&(g=h[h.length-1]);let k=void 0;(h=b.na.contentType==_.r)&&(k=_.qs);for(var l of e)if(e=l.getAttribute(Fz),null==e||"urn:mpeg:dash:role:2011"===e||"urn:mpeg:dash:role"===e)switch(e=l.getAttribute(_.xe),e){case "main":d=
50
- !0;break;case "caption":case _.qs:k=e}var m=_.Ss(c,tz);l=null;e=!1;for(var n of m)"http://dashif.org/guidelines/trickmode"==n.getAttribute(Fz)?l=n.getAttribute(_.xe):e=!0;n=_.Ss(c,"Accessibility");const q=new Map;for(var t of n)if(n=t.getAttribute(Fz),"urn:scte:dash:cc:cea-608:2015"==n||"urn:scte:dash:cc:cea-708:2015"==n)if(n=1,m=t.getAttribute(_.xe),null!=m)for(const B of m.split(";")){if(B.includes("\x3d")){var w=B.split("\x3d");m=w[0].startsWith("CC")?w[0]:"CC"+w[0];w=w[1].split(",")[0].split(":").pop()}else m=
51
- "CC"+n,n+=2,w=B;q.set(m,_.Gg(w))}else q.set("CC1",_.pe);if(e)return null;t=_.Ss(c,sz);const A=MA(t,a.g.ignoreDrmInfo,b.sa.id,a.g.playreadyVersion||null),D=_.Gg(c.getAttribute("lang")||_.pe);null==g&&(g=c.getAttribute("label"));t=_.Ss(c,_.Va);c=t.map(B=>eB(a,b,A,k,D,g,d,f,q,B)).filter(B=>!!B);if(0==c.length){if(h)return null;throw new _.H(_.G,4,4003);}if(!b.na.contentType||b.na.contentType==Az){b.na.contentType=QA(c[0].mimeType,c[0].codecs);for(var E of c)E.type=b.na.contentType}for(const B of c)for(const na of A.drmInfos)B.keyId&&
52
- na.keyIds.push(B.keyId);E=t.map(B=>B.getAttribute("id")).filter(_.ek);return{id:b.na.id||"__fake__"+a.o++,contentType:b.na.contentType,language:D,rd:d,streams:c,drmInfos:A.drmInfos,Od:l,qf:E}},bB=function(a,b){return a.filter(c=>c.contentType==b)},cB=function(a,b,c,d){if(b||c)if(b&&c){var e=b.drmInfos;var f=c.drmInfos;if(e.length&&f.length?0<_.Is(e,f).length:1){f=_.Is(b.drmInfos,c.drmInfos);for(var g of b.streams)for(const h of c.streams)e=(h.bandwidth||0)+(g.bandwidth||0),e={id:a.o++,language:b.language,
53
- primary:b.rd||c.rd,audio:g,video:h,bandwidth:e,drmInfos:f,allowedByApplication:!0,allowedByKeySystem:!0},d.push(e)}}else{g=b||c;for(f of g.streams)e=f.bandwidth||0,e={id:a.o++,language:g.language||_.pe,primary:g.rd,audio:b?f:null,video:c?f:null,bandwidth:e,drmInfos:g.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0},d.push(e)}},eB=function(a,b,c,d,e,f,g,h,k,l){b.O=ZA(a,l,b.na,null);if(!fB(a,b.O))return a.f.warn("Skipping Representation",b.O),null;b.bandwidth=Tz(l,"bandwidth",Yz)||0;let m;var n=
54
- b.O.contentType,q=n==_.r||n==Az,t=n==_.Tc;try{if(n=(w,A,D)=>gB(a,w,A,D),b.O.zc)m=uA(b,n);else if(b.O.Eb)m=EA(b,a.D);else if(b.O.Wb)m=AA(b,n,a.D,!!a.h);else{const w=b.O.Ha,A=b.ba.duration||0;m={createSegmentIndex:()=>Promise.resolve(),findSegmentPosition:D=>0<=D&&D<A?1:null,getSegmentReference:D=>1!=D?null:new _.st(1,0,A,()=>w,0,null,0),adjustSegmentDurations:()=>{},getDuration:()=>A,initSegmentReference:null}}}catch(w){if(q&&4002==w.code)return null;throw w;}q=_.Ss(l,sz);q=PA(q,c,a.g.ignoreDrmInfo,
55
- b.sa.id,a.g.playreadyVersion||null);n=void 0;t&&(t=(t=(l=_.Ts(l,tz))&&l.getAttribute(Fz))||"",hB.includes(t)&&(l=(l=l.getAttribute(_.xe))&&l.split("x").map(w=>parseInt(w,10)))&&2==l.length&&(m.horizontalTiles=l[0],m.verticalTiles=l[1],b.na.Wb&&(l=m.horizontalTiles*m.verticalTiles,n=(n=Tz(b.na.Wb,Bz,Zz)||0)?n/l:void 0)));return{id:a.o++,originalId:b.O.id,createSegmentIndex:m.createSegmentIndex,findSegmentPosition:m.findSegmentPosition,getSegmentReference:m.getSegmentReference,initSegmentReference:m.initSegmentReference,
56
- adjustSegmentDurations:m.adjustSegmentDurations,getDuration:m.getDuration,mimeType:b.O.mimeType,codecs:b.O.codecs,frameRate:b.O.frameRate,bandwidth:b.bandwidth,width:b.O.width,height:b.O.height,kind:d,encrypted:0<c.drmInfos.length,keyId:q,language:e,label:f,type:b.na.contentType,primary:g,trickModeVideo:null,emsgSchemeIdUris:b.O.emsgSchemeIdUris,roles:h,channelsCount:b.O.ud,closedCaptions:k,horizontalTiles:m.horizontalTiles,verticalTiles:m.verticalTiles,durationPerTile:n}},fB=function(a,b){let c;
57
- c=b.zc?1:0;c+=b.Eb?1:0;c+=b.Wb?1:0;if(0==c){if(b.contentType==_.r||b.contentType==Az)return!0;a.f.warn("Representation does not contain a segment information source:","the Representation must contain one of SegmentBase, SegmentList,",'SegmentTemplate, or explicitly indicate that it is "text".',b);return!1}1!=c&&(a.f.warn("Representation contains multiple segment information sources:","the Representation should only contain one of SegmentBase,","SegmentList, or SegmentTemplate.",b),b.zc?(a.f.info("Using SegmentBase by default."),
58
- b.Eb=null):a.f.info("Using SegmentList by default."),b.Wb=null);return!0},gB=function(a,b,c,d){return _.v(function*(){var e=_.jt(b,c,d,a.g.attemptParameters);e.type=2;e=a.a.networkingEngine.fetch(e);_.ch(a.m,e);return(yield e.N).data})},dB=function(a,b){for(const d of b){b=d.getAttribute(Fz);if(!b)continue;const e=d.getAttribute(_.xe);if(e)switch(b){case "urn:mpeg:dash:outputChannelPositionList:2012":return e.trim().split(/ +/).length;case "urn:mpeg:dash:23003:3:audio_channel_configuration:2011":case "urn:dts:dash:audio_channel_configuration:2012":var c=
59
- parseInt(e,10);if(!c){a.f.warn(rz,b,e);continue}return c;case "tag:dolby.com,2014:dash:audio_channel_configuration:2011":case "urn:dolby:dash:audio_channel_configuration:2011":c=parseInt(e,16);if(!c){a.f.warn(rz,b,e);continue}for(a=0;c;)c&1&&++a,c>>=1;return a;default:a.f.warn("Unrecognized audio channel scheme:",b,e)}}return null},YA=function(a,b,c,d){return _.v(function*(){var e=_.Ls(b,[c]);e=_.wg(e,a.g.attemptParameters);e.type=5;e.method=d;e=a.a.networkingEngine.fetch(e);_.ch(a.m,e);e=yield e.N;
60
- if("HEAD"==d){if(!e.headers||!e.headers.date)return a.f.warn("UTC timing response is missing","expected date header"),0;e=e.headers.date}else e=_.gg(e.data);e=Date.parse(e);return isNaN(e)?(a.f.warn("Unable to parse date from UTC timing response"),0):e-Date.now()})},hB=["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"];var oA=class{constructor(a){this.f=a;this.a=new _.On(a,!1)}},kA=[[255],[127,255],[63,255,255],[31,255,255,255],[15,255,255,255,255],[7,255,255,255,255,255],[3,255,255,255,255,255,255],[1,255,255,255,255,255,255,255]],lA=class{constructor(a,b){this.id=a;this.a=b}};var vA=class{parse(a,b,c,d){var e;b=new oA(new DataView(b));if(440786851!=mA(b).id)throw _.yf("Not an EBML element."),new _.H(_.G,3,3008);var f=mA(b);if(408125543!=f.id)throw _.yf("Not a Segment element."),new _.H(_.G,3,3009);b=f.a.byteOffset;f=new oA(f.a);for(e=null;_.zi(f.a);){var g=mA(f);if(357149030==g.id){e=g;break}}if(!e)throw _.yf("Not an Info element."),new _.H(_.G,3,3010);e=new oA(e.a);g=1E6;for(f=null;_.zi(e.a);){const h=mA(e);if(2807729==h.id)g=nA(h);else if(17545==h.id)if(f=h,4==f.a.byteLength)f=
61
- f.a.getFloat32(0);else if(8==f.a.byteLength)f=f.a.getFloat64(0);else throw new _.H(_.G,3,3003);}if(null==f)throw new _.H(_.G,3,3011);e=g/=1E9;f*=g;a=mA(new oA(new DataView(a)));if(475249515!=a.id)throw _.yf("Not a Cues element."),new _.H(_.G,3,3007);return qA(a,b,e,f,c,d)}};var FA=(new Map).set("urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b",_.Bd).set(Mz,_.yc).set(Lz,_.xc).set("urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95",_.xc).set("urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2",_.wc).set("urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb",_.vc),OA=(new Map).set(_.yc,function(a){return(a=Rz(a.node,"urn:microsoft","laurl"))?a.getAttribute("licenseUrl")||"":""}).set(_.xc,function(a){a=Rz(a.node,Iz,"pro");if(!a)return"";a=_.ii(a.textContent);return _.ft(a).g||""});var iB=class{constructor(){this.a=this.g=null;this.j=[];this.h=null;this.C=[];this.o=1;this.D={};this.A=0;this.F=new _.Hx(5);this.w=new _.rh(()=>{TA(this)});this.m=new _.An;this.f=new _.O("clpp.dash.DashParser");this.H=this.B=null}configure(a){this.g=a}start(a,b){const c=this;return _.v(function*(){c.j=[a];c.a=b;const d=yield RA(c);c.a&&SA(c,d);if(!c.a)throw new _.H(_.G,7,7001);return c.h})}stop(){this.g=this.a=null;this.j=[];this.h=null;this.C=[];this.D={};null!=this.w&&(this.w.stop(),this.w=null);
62
- return this.m.destroy()}update(){RA(this).catch(a=>{if(this.a&&a)this.a.onError(a)})}onExpirationUpdated(){}};_.x("clpp.dash.DashComponent",class extends _.ro{constructor(){super()}f(){_.tm.mpd=iB;_.rm[_.Jb]=iB}a(){_.yt("mpd");_.zt(_.Jb)}g(){}release(){}id(){return"dash"}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Uz="Channel parsing failure! Ignoring scheme and value",Vz="ContentProtection",Wz="EssentialProperty",Xz="Failed to parse UTCTiming tags.",Yz="Missing \x3cms:pro/\x3e node in ContentProtection element",Zz="No UTCTiming elements found.",$z="SegmentBase does not contain sufficient segment information:",aA="SegmentList does not contain sufficient segment information:",bA="SegmentTemplate does not contain sufficient segment information:",cA="SegmentTimeline",dA='The last "S" element cannot have a negative repeat',
2
+ eA="application",fA="duration",gA="http://www.w3.org/1999/xlink",hA='ignoring the last "S" element.',iA='ignoring the remaining "S" elements.',jA="presentationTimeOffset",kA="schemeIdUri",lA="static",mA="timescale",nA="urn:microsoft:playready",oA="urn:mpeg:cenc:2013",pA="urn:mpeg:dash:utc:http-head:2014",qA="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95",rA="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",sA=function(a){return new _.Xk(Promise.reject(a),()=>Promise.resolve())},tA=function(a){return new _.Xk(Promise.all(a.map(b=>
3
+ b.O)),()=>Promise.all(a.map(b=>b.abort())))},uA=function(a,b){return a.reduce(((c,d,e)=>d.catch(c.bind(null,e))).bind(null,b),Promise.reject())},vA=function(a){var b=void 0===b?1024:b;if(!(a instanceof Uint8Array))return"";if(typeof b!==_.p||0>=b)b=1024;return(a.byteLength>b?a.subarray(0,b):a).toString()},wA=function(a,b,c){return Array.prototype.filter.call(a.childNodes,d=>d instanceof Element&&d.localName==c&&d.namespaceURI==b)},xA=function(a,b,c){a=wA(a,b,c);return 1!=a.length?null:a[0]},yA=function(a,
4
+ b,c){return a.hasAttributeNS(b,c)?a.getAttributeNS(b,c):null},zA=function(a,b,c,d=null){let e=null;a=a.getAttribute(b);null!=a&&(e=c(a));return null==e?d:e},AA=function(a){if(!a)return null;/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(a)&&(a+="Z");a=Date.parse(a);return isNaN(a)?null:Math.floor(a/1E3)},BA=function(a){if(!a)return null;const b=/^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$/.exec(a);if(!b)return _.z("Invalid duration string:",a),null;a=31536E3*
5
+ Number(b[1]||null)+2592E3*Number(b[2]||null)+86400*Number(b[3]||null)+3600*Number(b[4]||null)+60*Number(b[5]||null)+Number(b[6]||null);return isFinite(a)?a:null},CA=function(a){var b=/([0-9]+)-([0-9]+)/.exec(a);if(!b)return null;a=Number(b[1]);if(!isFinite(a))return null;b=Number(b[2]);return isFinite(b)?{start:a,end:b}:null},DA=function(a){a=Number(a);return 0===a%1?a:null},EA=function(a){a=Number(a);return 0===a%1&&0<a?a:null},FA=function(a){a=Number(a);return 0===a%1&&0<=a?a:null},GA=function(a){let b;
6
+ a=(b=a.match(/^(\d+)\/(\d+)$/))?Number(b[1])/Number(b[2]):Number(a);return isNaN(a)?null:a},HA=function(a,b){try{const c=_.jg(a);return _.vt(c,b)}catch(c){return null}},IA=function(a,b,c,d,e){const f={RepresentationID:b,Number:c,Bandwidth:d,Time:e};return a.replace(/\$(RepresentationID|Number|Bandwidth|Time)?(?:%0([0-9]+)([diouxX]))?\$/g,(g,h,k,l)=>{if("$$"==g)return"$";let m=f[h];if(null==m)return _.z("URL template does not have an available substitution ","for identifier",'"'+h+'":',a),g;"RepresentationID"==
7
+ h&&k&&(_.z("URL template should not contain a width specifier for identifier",'"RepresentationID":',a),k=void 0);"Time"==h&&(m=Math.round(m));switch(l){case void 0:case "d":case "i":case "u":g=m.toString();break;case "o":g=m.toString(8);break;case "x":g=m.toString(16);break;case "X":g=m.toString(16).toUpperCase();break;default:g=m.toString()}k=window.parseInt(k,10)||1;return Array(Math.max(0,k-g.length)+1).join("0")+g})},LA=function(a,b){var c=JA(a,b,mA);let d=1;c&&(d=EA(c)||1);c=JA(a,b,fA);(c=EA(c||
8
+ ""))&&(c/=d);let e=0;a.Ub||(e=Number(JA(a,b,jA))||0);var f=JA(a,b,"startNumber");let g=FA(f||"");if(null==f||null==g)g=1;f=JA(a,b,"endNumber");f=null!==f?FA(f||""):null;var h=KA(a,b,cA),k=null;if(h){{k=d;var l=e,m=a.da.duration||Infinity;h=_.st(h,"S");const B=[];var n=0;for(let A=0;A<h.length;++A){var q=h[A],t=zA(q,"t",FA);const E=zA(q,"d",FA);var w=zA(q,"r",DA);null!=t&&(t-=l);if(!E){_.z('"S" element must have a duration:',iA,q);break}t=null!=t?t:n;w=w||0;if(0>w)if(A+1<h.length){w=zA(h[A+1],"t",
9
+ FA);if(null==w){_.z('An "S" element cannot have a negative repeat','if the next "S" element does not have a valid start time:',iA,q);break}else if(t>=w){_.z('An "S" element cannot have a negative repeat if its start ','time exceeds the next "S" element\'s start time:',iA,q);break}w=Math.ceil((w-t)/E)-1}else{if(Infinity==m){_.z(dA,"if the Period has an infinite duration:",hA,q);break}else if(t/k>=m){_.z(dA,"if its start time exceeds the Period's duration:",hA,q);break}w=Math.ceil((m*k-t)/E)-1}0<B.length&&
10
+ t!=n&&(Math.abs((t-n)/k)>=_.jo&&_.z("SegmentTimeline contains a large gap/overlap:","the content may have errors in it.",q),B[B.length-1].end=t/k);for(q=0;q<=w;++q)n=t+E,B.push({start:t/k,end:n/k,Df:t}),t=n}k=B}}l=e/d||0;a=JA(a,b,"availabilityTimeOffset");b=Number(a||"");b=isNaN(b)?null:b;if(null==a||null==b)b=0;return{timescale:d,pa:c,Zb:g,cd:f,Fb:l,Rd:e,timeline:k,Wc:b}},JA=function(a,b,c){return[b(a.P),b(a.oa),b(a.sa)].filter(_.nk).map(d=>d.getAttribute(c)).reduce((d,e)=>d||e)},KA=function(a,b,
11
+ c){return[b(a.P),b(a.oa),b(a.sa)].filter(_.nk).map(d=>_.tt(d,c)).reduce((d,e)=>d||e)},NA=function(a,b,c,d,e,f){const g=yA(a,gA,"href"),h=yA(a,gA,"actuate")||"onRequest";for(let l=0;l<a.attributes.length;l++){const m=a.attributes[l];m.namespaceURI==gA&&(a.removeAttributeNS(m.namespaceURI,m.localName),--l)}if(5<=f)return sA(new _.H(_.G,4,4028));if("onLoad"!=h)return sA(new _.H(_.G,4,4027));const k=_.lt([d],[g]);d=_.zg(k,b);d.type=1;return e.fetch(d).Cc(l=>{l=HA(l.data,a.tagName);if(!l)return sA(new _.H(_.G,
12
+ 4,4001,{uri:g}));for(;a.childNodes.length;)a.removeChild(a.childNodes[0]);for(;l.childNodes.length;){var m=l.childNodes[0];l.removeChild(m);a.appendChild(m)}for(m=0;m<l.attributes.length;m++){const n=l.attributes[m].nodeName,q=l.getAttribute(n);a.setAttribute(n,q)}return MA(a,b,c,k[0],e,f+1)})},MA=function(a,b,c,d,e,f=0){if(yA(a,gA,"href")){var g=NA(a,b,c,d,e,f);c&&(g=g.Cc(void 0,()=>MA(a,b,c,d,e,f)));return g}g=[];for(let h=0;h<a.childNodes.length;h++){const k=a.childNodes[h];k instanceof Element&&
13
+ ("urn:mpeg:dash:resolve-to-zero:2013"==yA(k,gA,"href")?(a.removeChild(k),--h):k.tagName!=cA&&g.push(MA(k,b,c,d,e,f)))}return tA(g).Cc(()=>a)},PA=function(a,b,c,d){let e;var f=(new _.Xi).X("sidx",g=>{e=OA(b,d,c,g)});a&&f.parse(a);if(e)return e;{f=`${b}-${b+a.byteLength-1}`;const g=c[0];a=_.L(a);_.Bf('Invalid box type. Expected "sidx", but received:',a,"from:",g,"byte range:",f);throw new _.H(_.G,3,3004,{url:g,Pf:f,size:a.byteLength,cg:vA(a)});}},OA=function(a,b,c,d){const e=[];d.G.skip(4);const f=
14
+ _.N(d.G);if(0==f)throw _.Bf("Invalid timescale."),new _.H(_.G,3,3005);if(0==d.version){var g=_.N(d.G);var h=_.N(d.G)}else g=_.Ji(d.G),h=_.Ji(d.G);d.G.skip(2);const k=_.Hi(d.G);a=a+d.size+h;for(h=0;h<k;h++){var l=_.N(d.G);const m=(l&2147483648)>>>31;l&=2147483647;const n=_.N(d.G);d.G.skip(4);if(1==m)throw _.Bf("Hierarchical SIDXs are not supported."),new _.H(_.G,3,3006);e.push(new _.Tt(e.length,g/f-b,(g+n)/f-b,()=>c,a,a+l-1,b));g+=n;a+=l}d.La.stop();return e},QA=function(a){var b=_.Gi(a.a);let c;for(c=
15
+ 1;8>=c&&!(b&1<<8-c);c++);if(8<c)throw new _.H(_.G,3,3002);const d=new Uint8Array(c);d[0]=b;for(b=1;b<c;b++)d[b]=_.Gi(a.a);return d},TA=function(a){var b=QA(a);if(7<b.length)throw new _.H(_.G,3,3002);var c=0;for(var d=0;d<b.length;d++)c=256*c+b[d];b=c;c=QA(a);a:{for(e of RA)if(_.qi(c,new Uint8Array(e))){var e=!0;break a}e=!1}if(e)c=a.f.byteLength-a.a.getPosition();else{if(8==c.length&&c[1]&224)throw new _.H(_.G,3,3001);e=c[0]&(1<<8-c.length)-1;for(d=1;d<c.length;d++)e=256*e+c[d];c=e}c=a.a.getPosition()+
16
+ c<=a.f.byteLength?c:a.f.byteLength-a.a.getPosition();e=new DataView(a.f.buffer,a.f.byteOffset+a.a.getPosition(),c);a.a.skip(c);return new SA(b,e)},UA=function(a){if(8<a.a.byteLength)throw new _.H(_.G,3,3002);if(8==a.a.byteLength&&a.a.getUint8(0)&224)throw new _.H(_.G,3,3001);let b=0;for(let c=0;c<a.a.byteLength;c++){const d=a.a.getUint8(c);b=256*b+d}return b},XA=function(a,b,c,d,e,f){const g=[],h=()=>e;a=new VA(a.a);let k=null,l=null;for(;_.Ei(a.a);){var m=TA(a);if(187==m.id){var n=WA(m);n&&(m=c*
17
+ n.Ef,n=b+n.tf,null!=k&&g.push(new _.Tt(g.length,k-f,m-f,h,l,n-1,f)),k=m,l=n)}}null!=k&&g.push(new _.Tt(g.length,k-f,d-f,h,l,null,f));return g},WA=function(a){var b=new VA(a.a);a=TA(b);if(179!=a.id)throw _.z("Not a CueTime element."),new _.H(_.G,3,3013);a=UA(a);b=TA(b);if(183!=b.id)throw _.z("Not a CueTrackPositions element."),new _.H(_.G,3,3012);b=new VA(b.a);let c=0;for(;_.Ei(b.a);){const d=TA(b);if(241==d.id){c=UA(d);break}}return{Ef:a,tf:c}},YA=function(a,b){b=KA(a,b,"Initialization");if(!b)return null;
18
+ let c=a.P.Ha;var d=b.getAttribute("sourceURL");d&&(c=_.lt(a.P.Ha,[d]));a=0;d=null;if(b=zA(b,"range",CA))a=b.start,d=b.end;return new _.jy(()=>c,a,d)},aB=function(a,b){var c=Number(JA(a,ZA,jA))||0,d=JA(a,ZA,mA),e=1;d&&(e=EA(d)||1);d=c/e||0;c=YA(a,ZA);{e=a.P.mimeType.split("/")[1];if(a.P.contentType!=_.r&&e!=_.od&&"webm"!=e)throw _.Bf("SegmentBase specifies an unsupported container type.",a.P),new _.H(_.G,4,4006);if("webm"==e&&!c)throw _.Bf($z,"the SegmentBase uses a WebM container,","but does not contain an Initialization element.",
19
+ a.P),new _.H(_.G,4,4005);const g=KA(a,ZA,"RepresentationIndex");var f=JA(a,ZA,"indexRange");let h=a.P.Ha;f=CA(f||"");if(g){const k=g.getAttribute("sourceURL");k&&(h=_.lt(a.P.Ha,[k]));f=zA(g,"range",CA,f)}if(!f)throw _.Bf($z,"the SegmentBase does not contain @indexRange","or a RepresentationIndex element.",a.P),new _.H(_.G,4,4002);a=$A(a,b,c,h,f.start,f.end,e,d)}return{createSegmentIndex:a.createSegmentIndex,findSegmentPosition:a.findSegmentPosition,getSegmentReference:a.getSegmentReference,adjustSegmentDurations:a.adjustSegmentDurations,
20
+ getDuration:a.getDuration,initSegmentReference:c}},ZA=function(a){return a.zc},$A=function(a,b,c,d,e,f,g,h){const k=a.presentationTimeline,l=!a.gc||!a.da.nd,m=a.da.start,n=a.da.duration;let q=b,t=null;return{createSegmentIndex:function(){return _.v(function*(){var w=[q(d,e,f),"webm"==g?q(c.Ka(),c.Fa,c.wa):null];q=null;w=yield Promise.all(w);var B=w[0];const A=w[1]||null;B=g==_.od?PA(B,e,d,h):(new bB).parse(B,A,d,h);_.Mt(k,B,m);t=new _.ly(B);l&&_.Wt(t,n);return w})},findSegmentPosition:function(w){return t.h(w)},
21
+ getSegmentReference:function(w){return t.get(w)},adjustSegmentDurations:function(w,B){return t.f(w,B)},getDuration:function(){return t.getDuration()}}},gB=function(a,b,c,d){const e=cB(a);{var f=LA(a,dB);var g=JA(a,dB,"media");const h=JA(a,dB,"index");f={pa:f.pa,timescale:f.timescale,Zb:f.Zb,cd:f.cd,Fb:f.Fb,Rd:f.Rd,timeline:f.timeline,td:g,tc:h,Wc:f.Wc}}g=f.tc?1:0;g+=f.timeline?1:0;g+=f.pa?1:0;if(0==g)throw _.Bf("SegmentTemplate does not contain any segment information:","the SegmentTemplate must contain either an index URL template",
22
+ "a SegmentTimeline, or a segment duration.",a.P),new _.H(_.G,4,4002);1!=g&&(_.z("SegmentTemplate contains multiple segment information sources:","the SegmentTemplate should only contain an index URL template,","a SegmentTimeline or a segment duration.",a.P),f.tc?(_.Af("Using the index URL template by default."),f.timeline=null):_.Af("Using the SegmentTimeline by default."),f.pa=null);if(!f.tc&&!f.td)throw _.Bf(bA,"the SegmentTemplate's media URL template is missing.",a.P),new _.H(_.G,4,4002);if(f.tc){c=
23
+ a.P.mimeType.split("/")[1];if(c!=_.od&&"webm"!=c)throw _.Bf("SegmentTemplate specifies an unsupported container type.",a.P),new _.H(_.G,4,4006);if("webm"==c&&!e)throw _.Bf(bA,"the SegmentTemplate uses a WebM container,","but does not contain an initialization URL template.",a.P),new _.H(_.G,4,4005);d=IA(f.tc,a.P.id,null,a.bandwidth||null,null);d=_.lt(a.P.Ha,[d]);a=$A(a,b,e,d,0,null,c,f.Fb)}else f.pa?(d||(c=a.presentationTimeline,c.o=Math.max(c.o,f.Wc),c.A.debug("notifyAvailabilityTimeOffset: maxAvailabilityTimeOffset\x3d"+
24
+ c.o),_.Nt(a.presentationTimeline,f.pa),_.Lt(a.presentationTimeline,a.da.start)),a=eB(a,f)):(d=b=null,a.sa.id&&a.P.id&&(d=a.sa.id+","+a.P.id,b=c[d]),g=fB(a,f),f=!a.gc||!a.da.nd,b?(f&&_.Wt(new _.ly(g),a.da.duration),_.Ut(b,g),c=_.Pt(a.presentationTimeline),_.Vt(b,c-a.da.start)):(_.Mt(a.presentationTimeline,g,a.da.start),b=new _.ly(g),d&&a.gc&&(c[d]=b)),f&&_.Wt(b,a.da.duration),a={createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:b.h.bind(b),getSegmentReference:b.get.bind(b),adjustSegmentDurations:b.f.bind(b),
25
+ getDuration:b.getDuration.bind(b)});return{createSegmentIndex:a.createSegmentIndex,findSegmentPosition:a.findSegmentPosition,getSegmentReference:a.getSegmentReference,adjustSegmentDurations:a.adjustSegmentDurations,getDuration:a.getDuration,initSegmentReference:e}},cB=function(a){const b=JA(a,dB,"initialization");if(!b)return null;const c=a.P.id,d=a.bandwidth||null,e=a.P.Ha;return new _.jy(function(){const f=IA(b,c,null,d,null);return _.lt(e,[f])},0,null)},eB=function(a,b){const c=a.da.duration,d=
26
+ b.pa,e=b.Zb,f=b.cd,g=b.timescale,h=b.td,k=a.bandwidth||null,l=a.P.id,m=a.P.Ha;return{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:function(n){return 0>n||c&&n>=c?null:Math.floor(n/d)},getSegmentReference:function(n){const q=n+e;if(null!==f&&q>f)return null;const t=n*d;let w=t+d;c&&(w=Math.min(w,c));return 0>w||c&&t>=c?null:new _.Tt(n,t,w,function(){const B=IA(h,l,q,k,t*g);return _.lt(m,[B])},0,null,b.Fb)},adjustSegmentDurations:function(){},getDuration:function(){return c}}},
27
+ fB=function(a,b){const c=[];for(let d=0;d<b.timeline.length;d++){const e=d+b.Zb;c.push(new _.Tt(e,b.timeline[d].start,b.timeline[d].end,function(f,g,h,k,l,m){f=IA(f,g,l,h,m);return _.lt(k,[f]).map(n=>n.toString())}.bind(null,b.td,a.P.id,a.bandwidth||null,a.P.Ha,e,b.timeline[d].Df+b.Rd),0,null,b.Fb))}return c},dB=function(a){return a.Yb},kB=function(a,b){const c=YA(a,hB);{var d=iB(a),e=LA(a,hB);var f=e.Zb;0==f&&(_.z("SegmentList@startNumber must be \x3e 0"),f=1);let g=0;e.pa?g=e.pa*(f-1):e.timeline&&
28
+ 0<e.timeline.length&&(g=e.timeline[0].start);f={pa:e.pa,startTime:g,Zb:f,Fb:e.Fb,timeline:e.timeline,Vb:d}}if(!f.pa&&!f.timeline&&1<f.Vb.length)throw _.z(aA,"the SegmentList specifies multiple segments,","but does not specify a segment duration or timeline.",a.P),new _.H(_.G,4,4002);if(!f.pa&&!a.da.duration&&!f.timeline&&1==f.Vb.length)throw _.z(aA,"the SegmentList specifies one segment,","but does not specify a segment duration, period duration,","or timeline.",a.P),new _.H(_.G,4,4002);if(f.timeline&&
29
+ 0==f.timeline.length)throw _.z(aA,"the SegmentList has an empty timeline.",a.P),new _.H(_.G,4,4002);e=d=null;a.sa.id&&a.P.id&&(e=a.sa.id+","+a.P.id,d=b[e]);f=jB(a.da.duration,f.Zb,a.P.Ha,f);d?(_.Ut(d,f),b=_.Pt(a.presentationTimeline),_.Vt(d,b-a.da.start)):(_.Mt(a.presentationTimeline,f,a.da.start),d=new _.ly(f),e&&a.gc&&(b[e]=d));a.gc&&a.da.nd||_.Wt(d,a.da.duration);return{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:d.h.bind(d),getSegmentReference:d.get.bind(d),adjustSegmentDurations:d.f.bind(d),
30
+ getDuration:d.getDuration.bind(d),initSegmentReference:c}},hB=function(a){return a.Gb},jB=function(a,b,c,d){let e=d.Vb.length;d.timeline&&d.timeline.length!=d.Vb.length&&(e=Math.min(d.timeline.length,d.Vb.length),_.z("The number of items in the segment timeline and the number of","segment URLs do not match, truncating",d.Vb.length,"to",e));const f=[];var g=d.startTime;for(let h=0;h<e;h++){const k=d.Vb[h],l=_.lt(c,[k.lf]);let m;m=null!=d.pa?g+d.pa:d.timeline?d.timeline[h].end:g+a;f.push(new _.Tt(h+
31
+ b,g,m,()=>l,k.start,k.end,d.Fb));g=m}return f},iB=function(a){return[a.P.Gb,a.oa.Gb,a.sa.Gb].filter(_.nk).map(b=>_.st(b,"SegmentURL")).reduce((b,c)=>0<b.length?b:c).map(b=>{b.getAttribute("indexRange")&&!a.md&&(a.md=!0,_.z("We do not support the SegmentURL@indexRange attribute on SegmentList. We only use the SegmentList@duration attribute or SegmentTimeline, which must be accurate."));const c=b.getAttribute("media");b=zA(b,"mediaRange",CA,{start:0,end:null});return{lf:c,start:b.start,end:b.end}})},
32
+ mB=function(a,b,c){c=c.map(e=>({scheme:e.getAttribute(kA),value:e.getAttribute(_.Ae)}));const d=a.f.clockSyncUri;!c.length&&d&&(a.a.info("No UTCTiming elements found, falling back on clockSyncUri from config to synchronize clocks."),c.push({scheme:pA,value:d}));return 0===c.length?(a.a.warn(Zz),Promise.reject(Error(Zz))):uA(c,e=>{const f=e.scheme;e=e.value;switch(f){case pA:case "urn:mpeg:dash:utc:http-head:2012":return lB(a,b,e,"HEAD");case "urn:mpeg:dash:utc:http-xsdate:2014":case "urn:mpeg:dash:utc:http-iso:2014":case "urn:mpeg:dash:utc:http-xsdate:2012":case "urn:mpeg:dash:utc:http-iso:2012":return lB(a,
33
+ b,e,"GET");case "urn:mpeg:dash:utc:direct:2014":case "urn:mpeg:dash:utc:direct:2012":{const g=Date.parse(e);return isNaN(g)?(a.a.warn(`Invalid date for scheme ${f}, `+`value: ${e}`),Promise.reject()):Promise.resolve(g-Date.now())}case "urn:mpeg:dash:utc:http-ntp:2014":case "urn:mpeg:dash:utc:ntp:2014":case "urn:mpeg:dash:utc:sntp:2014":return a.a.warn("NTP UTCTiming scheme is not supported"),Promise.reject();default:return a.a.warn("Unrecognized scheme in UTCTiming element",f),Promise.reject()}}).catch(()=>
34
+ {a.a.warn(Xz);return Promise.reject(Error(Xz))})},nB=function(a,b,c,d){return _.v(function*(){const e=_.st(b,"UTCTiming");try{const f=yield mB(a,c,e);d.w=f;a.a.info("Clock synchronized. The difference between server and "+`client clock was ${f} ms.`)}catch(f){a.a.warn("Failed to synchronize clocks. This content may not play on clients with bad clocks!")}return d})},lB=function(a,b,c,d){return _.v(function*(){var e=_.lt(b,[c]);e=yield a.g(e,d);if("HEAD"==d){if(!e.headers||!e.headers.date)throw a.a.warn("UTC timing response is missing",
35
+ "expected date header"),Error("Date HTTP header missing.");e=e.headers.date}else e=_.jg(e.data);e=Date.parse(e);if(isNaN(e))throw a.a.warn("Unable to parse date from UTC timing response"),Error("Date value invalid.");return e-Date.now()})},pB=function(a,b){return a.find(c=>oB.get(c.rb)===b)},qB=function(a){const b=xA(a.node,nA,"pro");if(!b)return _.z(Yz,a),null;a=_.ni(b.textContent);a=_.Gt(a);a=_.At(a.a);return{keyId:null,rb:rA,node:document.createElement("null"),init:[{initData:_.xt(a),initDataType:_.lc,
36
+ keyId:null}]}},rB=function(a,b){b=void 0===b?"4.0.0.0":b;var c=xA(a.node,oA,"pssh");if(!c)return _.z("Missing \x3ccenc:pssh/\x3e node in ContentProtection element",a),null;a=_.ni(c.textContent);c=new _.Xn(new DataView(a.buffer),!1);c.skip(12);c.skip(16);c.skip(4);a=_.Gi(c);_.Vs(c);8===a&&c.skip(2);if(18!==_.Gi(c))_.z("Unable to parse WV PSSH Data. KeyIdType does not match!"),a=null;else if(a=_.Gi(c),16!==a)_.z("Unable to parse WV PSSH Data. KeyID length is "+a),a=null;else{{const d=new Uint8Array(a);
37
+ for(let e=0;e<a;e++)d[e]=_.Gi(c);a=d}a=_.pi(a);a=_.At(a)}if(!a)return _.z("Unable to parse WV PSSH data. Can not create PR data!"),null;b=_.Et(b,a.a);return{keyId:null,rb:qA,node:document.createElement("null"),init:[{initData:_.xt(b),initDataType:_.lc,keyId:null}]}},sB=function(a,b){const c=xA(a.node,nA,"pro");if(!c)return _.z(Yz,a),null;a=_.ni(c.textContent);a=_.Gt(a);return a.version!==b&&(_.D(`Parsing from ${a.version} to ${b}.`),a=_.Ft(a,b))?{keyId:null,rb:qA,node:document.createElement("null"),
38
+ init:[{initData:_.xt(a),initDataType:_.lc,keyId:null}]}:null},vB=function(a,b,c,d){const e=tB(a);let f=null;a=[];let g=[];const h=pB(e,_.Ac),k=pB(e,_.zc);if(k&&d){var l=sB(k,d);l&&(e[e.indexOf(k)]=l)}k&&!h&&(l=qB(k))&&e.push(l);h&&!k&&(d=rB(h,d||void 0))&&e.push(d);d=new Set(e.map(m=>m.keyId));d.delete(null);if(1<d.size)throw new _.H(_.G,4,4010);b||(g=e.filter(m=>"urn:mpeg:dash:mp4protection:2011"==m.rb?(f=m.init||f,!1):!0),g.length&&(a=uB(f,g,c),0==a.length&&(a=[_.mt(_.sd,f,c)])));if(e.length&&(b||
39
+ !g.length)){a=[];for(const m of oB.values())m!=_.Dd&&a.push(_.mt(m,f,c))}if(b=Array.from(d)[0]||null)for(const m of a)for(const n of m.initData)n.keyId=b;return{ae:b,Tf:f,drmInfos:a,de:!0}},tB=function(a){const b=[];for(const c of a)(a=wB(c))&&b.push(a);return b},uB=function(a,b,c){const d=[];for(const f of b){var e=oB.get(f.rb);if(e){b=_.mt(e,f.init||a,c);if(e=xB.get(e))b.licenseServerUri=e(f);d.push(b)}}return d},yB=function(a,b,c,d,e){const f=vB(a,c,d,e);if(b.de){a=1==b.drmInfos.length&&!b.drmInfos[0].keySystem;
40
+ c=0==f.drmInfos.length;if(0==b.drmInfos.length||a&&!c)b.drmInfos=f.drmInfos;b.de=!1}else if(0<f.drmInfos.length&&(b.drmInfos=b.drmInfos.filter(g=>f.drmInfos.some(h=>h.keySystem==g.keySystem)),0==b.drmInfos.length))throw new _.H(_.G,4,4008);return f.ae||b.ae},wB=function(a){let b=a.getAttribute(kA),c=yA(a,oA,"default_KID");const d=wA(a,oA,"pssh").map(_.ut);if(!b)return _.Bf("Missing required schemeIdUri attribute on","ContentProtection element",a),null;b=b.toLowerCase();if(c&&(c=c.replace(/-/g,"").toLowerCase(),
41
+ c.includes(" ")))throw new _.H(_.G,4,4009);let e=[];try{e=d.map(f=>({initDataType:_.lc,initData:_.ni(f),keyId:null}))}catch(f){throw new _.H(_.G,4,4007);}return{node:a,rb:b,keyId:c,init:0<e.length?e:null}},zB=function(a,b){return _.au(_.Lg(a,b))?_.r:a.split("/")[0]},CB=function(a){_.v(function*(){a.g.debug(_.Is);let b=0;try{b=yield AB(a)}catch(c){if(a.a&&c.a&&(a.a.onError(c),c.severity===_.G))return}a.a&&BB(a,b)})},AB=function(a){return _.v(function*(){var b=_.zg(a.j,a.f.attemptParameters);b.type=
42
+ 1;var c=Date.now();b=a.a.networkingEngine.fetch(b);_.fh(a.m,b);b=yield b.O;if(!a.a)return 0;b.uri&&!a.j.includes(b.uri)&&a.j.unshift(b.uri);yield DB(a,b.data,b.uri);c=(Date.now()-c)/1E3;_.It(a.F,1,c);return c})},BB=function(a,b){0>a.A||a.w.$(Math.max(3,a.A-b,_.Jt(a.F)))},DB=function(a,b,c){return _.v(function*(){var d=HA(b,"MPD");if(!d)throw new _.H(_.G,4,4001,c);d=MA(d,a.f.attemptParameters,a.f.xlinkFailGracefully,c,a.a.networkingEngine);_.fh(a.m,d);d=yield d.O;return EB(a,d,c)})},EB=function(a,
43
+ b,c){return _.v(function*(){var d=[c],e=_.st(b,"Location").map(_.ut).filter(_.nk);0<e.length&&(d=_.lt(d,e),a.j=d);e=_.st(b,"BaseURL").map(_.ut);var f=_.lt(d,e);d=zA(b,"minBufferTime",BA,0);a.A=zA(b,"minimumUpdatePeriod",BA,-1);var g=zA(b,"availabilityStartTime",AA);e=zA(b,"timeShiftBufferDepth",BA);var h=zA(b,"suggestedPresentationDelay",BA);const k=zA(b,"maxSegmentDuration",BA);let l=b.getAttribute("type")||lA;"dynamic"===l&&(a.B=l,a.I=g);const m=l===lA&&"dynamic"===a.B;m&&(a.g.info("MPD dynamic to static transition."),
44
+ l=a.B,g=a.I);if(a.h)g=a.h.presentationTimeline;else if(g=new _.ky(g,null!=h?h:3*d,!!a.f.autoCorrectDrift),"dynamic"===l&&(g=yield nB(a.H,b,f,g),!a.a))return;{h={gc:l!=lA,Ub:m,presentationTimeline:g,sa:null,da:null,oa:null,P:null,bandwidth:0,md:!1};var n=zA(b,"mediaPresentationDuration",BA);const A=[];var q=0;const E=_.st(b,"Period");for(let C=0;C<E.length;C++){var t=E[C];q=zA(t,_.de,BA,q);var w=zA(t,fA,BA);let oa=null;if(C!=E.length-1){var B=zA(E[C+1],_.de,BA);null!=B&&(oa=B-q)}else null!=n&&(oa=
45
+ n-q);B=_.jo;oa&&w&&Math.abs(oa-w)>B&&a.g.warn("There is a gap/overlap between Periods",t);null==oa&&(oa=w);t=FB(a,h,f,{start:q,duration:oa,node:t,nd:null==oa||C==E.length-1});A.push(t);w=h.sa.id;a.C.includes(w)||(a.C.push(w),a.h&&(a.a.filterNewPeriod(t),a.h.periods.push(t)));if(null==oa){C!=E.length-1&&a.g.warn("Skipping Period",C+1,"and any subsequent Periods:","Period",C+1,"does not have a valid start time.",A[C+1]);q=null;break}q+=oa}null==a.h&&a.a.filterAllPeriods(A);null!=n?(q!=n&&a.g.warn("@mediaPresentationDuration does not match the total duration of ",
46
+ "all Periods."),f={periods:A,duration:n,be:!1}):f={periods:A,duration:q,be:!0}}h=f.duration;n=f.periods;g.f=l==lA;if(m&&!g.Ub())a.a.onEvent(new _.F(_.pd));g.B=m;l!=lA&&(m||f.be)||g.Hb(h||Infinity);g.isLive()&&a.f.availabilityWindowOverride&&!isNaN(a.f.availabilityWindowOverride)&&(e=a.f.availabilityWindowOverride);null==e&&(e=Infinity);g.Xb=e;_.Nt(g,k||1);g.isLive();a.h||(a.h={presentationTimeline:g,periods:n,offlineSessionIds:[],minBufferTime:d||0})})},FB=function(a,b,c,d){b.sa=GB(a,d.node,null,
47
+ c);b.da=d;b.sa.id||(a.g.info("No Period ID given for Period with start time "+d.start+", Assigning a default"),b.sa.id="__clpp_period_"+d.start);c=_.st(d.node,"EventStream");for(var e of c)HB(a,d.start,d.duration,e);e=_.st(d.node,_.ea).map(t=>IB(a,b,t)).filter(_.nk);if(b.gc){c=[];for(var f of e)for(var g of f.wf)c.push(g);if(c.length!=(new Set(c)).size)throw new _.H(_.G,4,4018);}f=e.filter(t=>!t.Qd);g=e.filter(t=>t.Qd);for(var h of g){g=h.streams[0];e=h.Qd;for(var k of f)if(k.id==e)for(var l of k.streams)l.trickModeVideo=
48
+ g}k=JB(f,_.u);l=JB(f,_.Tb);if(!k.length&&!l.length)throw new _.H(_.G,4,4004);l.length||(l=[null]);k.length||(k=[null]);h=[];for(var m of l)for(var n of k)KB(a,m,n,h);n=[...JB(f,_.r),...JB(f,_.Ss)];m=[];for(var q of n)m.push.apply(m,q.streams);q=JB(f,_.Xc);n=[];for(const t of q)n.push.apply(n,t.streams);return{startTime:d.start,textStreams:m,thumbStreams:n,variants:h}},GB=function(a,b,c,d){c=c||{contentType:"",mimeType:"",codecs:"",emsgSchemeIdUris:[],frameRate:void 0,wd:null};d=d||c.Ha;const e=_.st(b,
49
+ "BaseURL").map(_.ut);let f=b.getAttribute("contentType")||c.contentType;const g=b.getAttribute(_.ld)||c.mimeType,h=b.getAttribute(_.vc)||c.codecs,k=zA(b,"frameRate",GA)||c.frameRate;var l=_.st(b,"InbandEventStream");var m=c.emsgSchemeIdUris.slice();for(var n of l)l=n.getAttribute(kA),m.includes(l)||m.push(l);n=_.st(b,"AudioChannelConfiguration");a=LB(a,n)||c.wd;f||(f=zB(g,h));return{Ha:_.lt(d,e),zc:_.tt(b,"SegmentBase")||c.zc,Gb:_.tt(b,"SegmentList")||c.Gb,Yb:_.tt(b,"SegmentTemplate")||c.Yb,width:zA(b,
50
+ _.Re,FA)||c.width,height:zA(b,_.Tc,FA)||c.height,contentType:f,mimeType:g,codecs:h,frameRate:k,emsgSchemeIdUris:m,id:b.getAttribute("id"),wd:a}},HB=function(a,b,c,d){const e=d.getAttribute(kA)||"",f=d.getAttribute(_.Ae)||"",g=zA(d,mA,FA)||1;for(const k of _.st(d,"Event")){d=zA(k,"presentationTime",FA)||0;var h=zA(k,fA,FA)||0;d=d/g+b;h=d+h/g;null!=c&&(d=Math.min(d,b+c),h=Math.min(h,b+c));let l=_.If;e.startsWith(_.ue)?l=_.Kf:"urn:mpeg:dash:event:callback:2015"===e&&(l=_.qd);const m={schemeIdUri:e,value:f,
51
+ startTime:d,endTime:h,id:k.getAttribute("id")||"",type:l,eventElement:k};m.type===_.qd&&(m.Oc=()=>{if(m.eventElement){var n=m.eventElement.getAttribute("messageData")||"";n&&n.startsWith("http")&&(n=_.zg(n),n.type=_.yg,a.a.networkingEngine.fetch(n))}});a.a.onTimelineCueAdded(m)}},IB=function(a,b,c){b.oa=GB(a,c,b.sa,null);let d=!1;var e=_.st(c,"Role");const f=e.map(C=>C.getAttribute(_.Ae)).filter(_.nk);let g=null;var h=_.st(c,"Label").map(C=>C.textContent).filter(_.nk);h&&0<h.length&&(g=h[h.length-
52
+ 1]);let k=void 0;(h=b.oa.contentType==_.r)&&(k=_.Ss);for(var l of e)if(e=l.getAttribute(kA),null==e||"urn:mpeg:dash:role:2011"===e||"urn:mpeg:dash:role"===e)switch(e=l.getAttribute(_.Ae),e){case "main":d=!0;break;case "caption":case _.Ss:k=e}var m=_.st(c,Wz);l=null;e=!1;for(var n of m)"http://dashif.org/guidelines/trickmode"==n.getAttribute(kA)?l=n.getAttribute(_.Ae):e=!0;n=_.st(c,"Accessibility");const q=new Map;for(var t of n)if(n=t.getAttribute(kA),"urn:scte:dash:cc:cea-608:2015"==n||"urn:scte:dash:cc:cea-708:2015"==
53
+ n)if(n=1,m=t.getAttribute(_.Ae),null!=m)for(const C of m.split(";")){if(C.includes("\x3d")){var w=C.split("\x3d");m=w[0].startsWith("CC")?w[0]:"CC"+w[0];w=w[1].split(",")[0].split(":").pop()}else m="CC"+n,n+=2,w=C;q.set(m,_.Jg(w))}else q.set("CC1",_.se);if(e)return null;t=_.st(c,Vz);const B=vB(t,a.f.ignoreDrmInfo,b.sa.id,a.f.playreadyVersion||null),A=_.Jg(c.getAttribute("lang")||_.se);null==g&&(g=c.getAttribute("label"));t=_.st(c,_.Xa);c=t.map(C=>MB(a,b,B,k,A,g,d,f,q,C)).filter(C=>!!C);if(0==c.length){if(h)return null;
54
+ throw new _.H(_.G,4,4003);}if(!b.oa.contentType||b.oa.contentType==eA){b.oa.contentType=zB(c[0].mimeType,c[0].codecs);for(var E of c)E.type=b.oa.contentType}for(const C of c)for(const oa of B.drmInfos)C.keyId&&oa.keyIds.push(C.keyId);E=t.map(C=>C.getAttribute("id")).filter(_.nk);return{id:b.oa.id||"__fake__"+a.o++,contentType:b.oa.contentType,language:A,sd:d,streams:c,drmInfos:B.drmInfos,Qd:l,wf:E}},JB=function(a,b){return a.filter(c=>c.contentType==b)},KB=function(a,b,c,d){if(b||c)if(b&&c){var e=
55
+ b.drmInfos;var f=c.drmInfos;if(e.length&&f.length?0<_.it(e,f).length:1){f=_.it(b.drmInfos,c.drmInfos);for(var g of b.streams)for(const h of c.streams)e=(h.bandwidth||0)+(g.bandwidth||0),e={id:a.o++,language:b.language,primary:b.sd||c.sd,audio:g,video:h,bandwidth:e,drmInfos:f,allowedByApplication:!0,allowedByKeySystem:!0},d.push(e)}}else{g=b||c;for(f of g.streams)e=f.bandwidth||0,e={id:a.o++,language:g.language||_.se,primary:g.sd,audio:b?f:null,video:c?f:null,bandwidth:e,drmInfos:g.drmInfos,allowedByApplication:!0,
56
+ allowedByKeySystem:!0},d.push(e)}},MB=function(a,b,c,d,e,f,g,h,k,l){b.P=GB(a,l,b.oa,null);if(!NB(a,b.P))return a.g.warn("Skipping Representation",b.P),null;b.bandwidth=zA(l,"bandwidth",EA)||0;let m;var n=b.P.contentType,q=n==_.r||n==eA,t=n==_.Xc;try{if(n=(w,B,A)=>OB(a,w,B,A),b.P.zc)m=aB(b,n);else if(b.P.Gb)m=kB(b,a.D);else if(b.P.Yb)m=gB(b,n,a.D,!!a.h);else{const w=b.P.Ha,B=b.da.duration||0;m={createSegmentIndex:()=>Promise.resolve(),findSegmentPosition:A=>0<=A&&A<B?1:null,getSegmentReference:A=>
57
+ 1!=A?null:new _.Tt(1,0,B,()=>w,0,null,0),adjustSegmentDurations:()=>{},getDuration:()=>B,initSegmentReference:null}}}catch(w){if(q&&4002==w.code)return null;throw w;}q=_.st(l,Vz);q=yB(q,c,a.f.ignoreDrmInfo,b.sa.id,a.f.playreadyVersion||null);n=void 0;t&&(t=(t=(l=_.tt(l,Wz))&&l.getAttribute(kA))||"",PB.includes(t)&&(l=(l=l.getAttribute(_.Ae))&&l.split("x").map(w=>parseInt(w,10)))&&2==l.length&&(m.horizontalTiles=l[0],m.verticalTiles=l[1],b.oa.Yb&&(l=m.horizontalTiles*m.verticalTiles,n=(n=zA(b.oa.Yb,
58
+ fA,FA)||0)?n/l:void 0)));return{id:a.o++,originalId:b.P.id,createSegmentIndex:m.createSegmentIndex,findSegmentPosition:m.findSegmentPosition,getSegmentReference:m.getSegmentReference,initSegmentReference:m.initSegmentReference,adjustSegmentDurations:m.adjustSegmentDurations,getDuration:m.getDuration,mimeType:b.P.mimeType,codecs:b.P.codecs,frameRate:b.P.frameRate,bandwidth:b.bandwidth,width:b.P.width,height:b.P.height,kind:d,encrypted:0<c.drmInfos.length,keyId:q,language:e,label:f,type:b.oa.contentType,
59
+ primary:g,trickModeVideo:null,emsgSchemeIdUris:b.P.emsgSchemeIdUris,roles:h,channelsCount:b.P.wd,closedCaptions:k,horizontalTiles:m.horizontalTiles,verticalTiles:m.verticalTiles,durationPerTile:n}},NB=function(a,b){let c;c=b.zc?1:0;c+=b.Gb?1:0;c+=b.Yb?1:0;if(0==c){if(b.contentType==_.r||b.contentType==eA)return!0;a.g.warn("Representation does not contain a segment information source:","the Representation must contain one of SegmentBase, SegmentList,",'SegmentTemplate, or explicitly indicate that it is "text".',
60
+ b);return!1}1!=c&&(a.g.warn("Representation contains multiple segment information sources:","the Representation should only contain one of SegmentBase,","SegmentList, or SegmentTemplate.",b),b.zc?(a.g.info("Using SegmentBase by default."),b.Gb=null):a.g.info("Using SegmentList by default."),b.Yb=null);return!0},OB=function(a,b,c,d){return _.v(function*(){var e=_.Kt(b,c,d,a.f.attemptParameters);e.type=2;e=a.a.networkingEngine.fetch(e);_.fh(a.m,e);return(yield e.O).data})},LB=function(a,b){for(const d of b){b=
61
+ d.getAttribute(kA);if(!b)continue;const e=d.getAttribute(_.Ae);if(e)switch(b){case "urn:mpeg:dash:outputChannelPositionList:2012":return e.trim().split(/ +/).length;case "urn:mpeg:dash:23003:3:audio_channel_configuration:2011":case "urn:dts:dash:audio_channel_configuration:2012":var c=parseInt(e,10);if(!c){a.g.warn(Uz,b,e);continue}return c;case "tag:dolby.com,2014:dash:audio_channel_configuration:2011":case "urn:dolby:dash:audio_channel_configuration:2011":c=parseInt(e,16);if(!c){a.g.warn(Uz,b,e);
62
+ continue}for(a=0;c;)c&1&&++a,c>>=1;return a;default:a.g.warn("Unrecognized audio channel scheme:",b,e)}}return null},PB=["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"];var VA=class{constructor(a){this.f=a;this.a=new _.Xn(a,!1)}},RA=[[255],[127,255],[63,255,255],[31,255,255,255],[15,255,255,255,255],[7,255,255,255,255,255],[3,255,255,255,255,255,255],[1,255,255,255,255,255,255,255]],SA=class{constructor(a,b){this.id=a;this.a=b}};var bB=class{parse(a,b,c,d){var e;b=new VA(new DataView(b));if(440786851!=TA(b).id)throw _.Bf("Not an EBML element."),new _.H(_.G,3,3008);var f=TA(b);if(408125543!=f.id)throw _.Bf("Not a Segment element."),new _.H(_.G,3,3009);b=f.a.byteOffset;f=new VA(f.a);for(e=null;_.Ei(f.a);){var g=TA(f);if(357149030==g.id){e=g;break}}if(!e)throw _.Bf("Not an Info element."),new _.H(_.G,3,3010);e=new VA(e.a);g=1E6;for(f=null;_.Ei(e.a);){const h=TA(e);if(2807729==h.id)g=UA(h);else if(17545==h.id)if(f=h,4==f.a.byteLength)f=
63
+ f.a.getFloat32(0);else if(8==f.a.byteLength)f=f.a.getFloat64(0);else throw new _.H(_.G,3,3003);}if(null==f)throw new _.H(_.G,3,3011);e=g/=1E9;f*=g;a=TA(new VA(new DataView(a)));if(475249515!=a.id)throw _.Bf("Not a Cues element."),new _.H(_.G,3,3007);return XA(a,b,e,f,c,d)}};var QB=class{constructor(a,b){this.a=a;this.g=b;this.f={clockSyncUri:void 0}}};var oB=(new Map).set("urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b",_.Dd).set(rA,_.Ac).set(qA,_.zc).set("urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95",_.zc).set("urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2",_.yc).set("urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb",_.xc),xB=(new Map).set(_.Ac,function(a){return(a=xA(a.node,"urn:microsoft","laurl"))?a.getAttribute("licenseUrl")||"":""}).set(_.zc,function(a){a=xA(a.node,nA,"pro");if(!a)return"";a=_.ni(a.textContent);return _.Gt(a).g||""});var RB=class{constructor(){this.a=this.f=null;this.j=[];this.h=null;this.C=[];this.o=1;this.D={};this.A=0;this.F=new _.iy(5);this.w=new _.wh(()=>{CB(this)});this.m=new _.Jn;this.g=new _.O("clpp.dash.DashParser");this.B=null;this.H=new QB(this.g,(a,b)=>{a=_.zg(a,this.f.attemptParameters);a.type=5;a.method=b;b=this.a.networkingEngine.fetch(a);_.fh(this.m,b);return b.O});this.I=null}configure(a){this.f=a;this.H.f={clockSyncUri:a.clockSyncUri}}start(a,b){const c=this;return _.v(function*(){c.j=[a];c.a=
64
+ b;const d=yield AB(c);c.a&&BB(c,d);if(!c.a)throw new _.H(_.G,7,7001);return c.h})}stop(){this.f=this.a=null;this.j=[];this.h=null;this.C=[];this.D={};null!=this.w&&(this.w.stop(),this.w=null);return this.m.destroy()}update(){AB(this).catch(a=>{if(this.a&&a)this.a.onError(a)})}onExpirationUpdated(){}};_.x("clpp.dash.DashComponent",class extends _.zo{constructor(){super()}f(){_.Cm.mpd=RB;_.Am[_.Lb]=RB}a(){_.Zt("mpd");_.$t(_.Lb)}g(){}release(){}id(){return"dash"}});};f.call(g, window);