shaka-player
Version:
DASH/EME video player library
110 lines (106 loc) • 185 kB
JavaScript
(function(){var g={};
(function(window){var l,aa=this;aa.Oe=!0;function n(a,b){var c=a.split("."),d=aa;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d[e]?d=d[e]:d=d[e]={}:d[e]=b}function ba(a){var b=p;function c(){}c.prototype=b.prototype;a.Se=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Qe=function(a,c,f){return b.prototype[c].apply(a,Array.prototype.slice.call(arguments,2))}};/*
Copyright 2016 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
function ca(a){this.c=Math.exp(Math.log(.5)/a);this.b=this.a=0}function da(a,b,c){var d=Math.pow(a.c,b);c=c*(1-d)+d*a.a;isNaN(c)||(a.a=c,a.b+=b)}function ea(a){return a.a/(1-Math.pow(a.c,a.b))};function fa(){this.b=new ca(2);this.c=new ca(5);this.a=0}fa.prototype.getBandwidthEstimate=function(a){return 128E3>this.a?a:Math.min(ea(this.b),ea(this.c))};function ga(){}function ha(){}window.console&&window.console.log.bind&&(ga=console.warn.bind(console));function w(a,b,c,d){this.severity=a;this.category=b;this.code=c;this.data=Array.prototype.slice.call(arguments,3);this.handled=!1}n("shaka.util.Error",w);w.prototype.toString=function(){return"shaka.util.Error "+JSON.stringify(this,null," ")};w.Severity={RECOVERABLE:1,CRITICAL:2};w.Category={NETWORK:1,TEXT:2,MEDIA:3,MANIFEST:4,STREAMING:5,DRM:6,PLAYER:7,CAST:8,STORAGE:9};
w.Code={UNSUPPORTED_SCHEME:1E3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,UNKNOWN_DATA_URI_ENCODING:1005,REQUEST_FILTER_ERROR:1006,RESPONSE_FILTER_ERROR:1007,INVALID_TEXT_HEADER:2E3,INVALID_TEXT_CUE:2001,UNABLE_TO_DETECT_ENCODING:2003,BAD_ENCODING:2004,INVALID_XML:2005,INVALID_MP4_TTML:2007,INVALID_MP4_VTT:2008,BUFFER_READ_OUT_OF_BOUNDS:3E3,JS_INTEGER_OVERFLOW:3001,EBML_OVERFLOW:3002,EBML_BAD_FLOATING_POINT_SIZE:3003,MP4_SIDX_WRONG_BOX_TYPE:3004,MP4_SIDX_INVALID_TIMESCALE:3005,
MP4_SIDX_TYPE_NOT_SUPPORTED:3006,WEBM_CUES_ELEMENT_MISSING:3007,WEBM_EBML_HEADER_ELEMENT_MISSING:3008,WEBM_SEGMENT_ELEMENT_MISSING:3009,WEBM_INFO_ELEMENT_MISSING:3010,WEBM_DURATION_ELEMENT_MISSING:3011,WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING:3012,WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOURCE_OPERATION_THREW:3015,VIDEO_ERROR:3016,QUOTA_EXCEEDED_ERROR:3017,UNABLE_TO_GUESS_MANIFEST_TYPE:4E3,DASH_INVALID_XML:4001,DASH_NO_SEGMENT_INFO:4002,DASH_EMPTY_ADAPTATION_SET:4003,
DASH_EMPTY_PERIOD:4004,DASH_WEBM_MISSING_INIT:4005,DASH_UNSUPPORTED_CONTAINER:4006,DASH_PSSH_BAD_ENCODING:4007,DASH_NO_COMMON_KEY_SYSTEM:4008,DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED:4009,DASH_CONFLICTING_KEY_IDS:4010,UNPLAYABLE_PERIOD:4011,RESTRICTIONS_CANNOT_BE_MET:4012,NO_PERIODS:4014,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_COULD_NOT_GUESS_MIME_TYPE:4021,HLS_MASTER_PLAYLIST_NOT_PROVIDED:4022,
HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,DASH_UNSUPPORTED_XLINK_ACTUATE:4027,DASH_XLINK_DEPTH_LIMIT:4028,HLS_LIVE_CONTENT_NOT_SUPPORTED:4029,INVALID_STREAMS_CHOSEN:5005,NO_RECOGNIZED_KEY_SYSTEMS:6E3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,
LICENSE_RESPONSE_REJECTED:6008,ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,LOAD_INTERRUPTED:7E3,CAST_API_UNAVAILABLE:8E3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,
STORE_ALREADY_IN_PROGRESS:9006,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,CONTENT_UNSUPPORTED_BY_BROWSER:9009};var ia=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;function ja(a){var b;a instanceof ja?(ka(this,a.da),this.za=a.za,this.ia=a.ia,la(this,a.Ha),this.aa=a.aa,ma(this,na(a.a)),this.sa=a.sa):a&&(b=String(a).match(ia))?(ka(this,b[1]||"",!0),this.za=oa(b[2]||""),this.ia=oa(b[3]||"",!0),la(this,b[4]),this.aa=oa(b[5]||"",!0),ma(this,b[6]||"",!0),this.sa=oa(b[7]||"")):this.a=new pa(null)}l=ja.prototype;l.da="";l.za="";l.ia="";l.Ha=null;l.aa="";l.sa="";
l.toString=function(){var a=[],b=this.da;b&&a.push(qa(b,ra,!0),":");if(b=this.ia){a.push("//");var c=this.za;c&&a.push(qa(c,ra,!0),"@");a.push(encodeURIComponent(b).replace(/%25([0-9a-fA-F]{2})/g,"%$1"));b=this.Ha;null!=b&&a.push(":",String(b))}if(b=this.aa)this.ia&&"/"!=b.charAt(0)&&a.push("/"),a.push(qa(b,"/"==b.charAt(0)?sa:ta,!0));(b=this.a.toString())&&a.push("?",b);(b=this.sa)&&a.push("#",qa(b,ua));return a.join("")};
l.resolve=function(a){var b=new ja(this);"data"===b.da&&(b=new ja);var c=!!a.da;c?ka(b,a.da):c=!!a.za;c?b.za=a.za:c=!!a.ia;c?b.ia=a.ia:c=null!=a.Ha;var d=a.aa;if(c)la(b,a.Ha);else if(c=!!a.aa){if("/"!=d.charAt(0))if(this.ia&&!this.aa)d="/"+d;else{var e=b.aa.lastIndexOf("/");-1!=e&&(d=b.aa.substr(0,e+1)+d)}if(".."==d||"."==d)d="";else if(-1!=d.indexOf("./")||-1!=d.indexOf("/.")){for(var e=!d.lastIndexOf("/",0),d=d.split("/"),f=[],g=0;g<d.length;){var h=d[g++];"."==h?e&&g==d.length&&f.push(""):".."==
h?((1<f.length||1==f.length&&""!=f[0])&&f.pop(),e&&g==d.length&&f.push("")):(f.push(h),e=!0)}d=f.join("/")}}c?b.aa=d:c=""!==a.a.toString();c?ma(b,na(a.a)):c=!!a.sa;c&&(b.sa=a.sa);return b};function ka(a,b,c){a.da=c?oa(b,!0):b;a.da&&(a.da=a.da.replace(/:$/,""))}function la(a,b){if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.Ha=b}else a.Ha=null}function ma(a,b,c){b instanceof pa?a.a=b:(c||(b=qa(b,va)),a.a=new pa(b))}
function oa(a,b){return a?b?decodeURI(a):decodeURIComponent(a):""}function qa(a,b,c){return"string"==typeof a?(a=encodeURI(a).replace(b,wa),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function wa(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var ra=/[#\/\?@]/g,ta=/[\#\?:]/g,sa=/[\#\?]/g,va=/[\#\?@]/g,ua=/#/g;function pa(a){this.b=a||null}pa.prototype.a=null;pa.prototype.c=null;
pa.prototype.toString=function(){if(this.b)return this.b;if(!this.a)return"";var a=[],b;for(b in this.a)for(var c=encodeURIComponent(b),d=this.a[b],e=0;e<d.length;e++){var f=c;""!==d[e]&&(f+="="+encodeURIComponent(d[e]));a.push(f)}return this.b=a.join("&")};function na(a){var b=new pa;b.b=a.b;if(a.a){var c={},d;for(d in a.a)c[d]=a.a[d].concat();b.a=c;b.c=a.c}return b};function y(){var a,b,c=new Promise(function(c,e){a=c;b=e});c.resolve=a;c.reject=b;return c};function xa(a,b,c){var d=ya();this.j=null==a.maxAttempts?d.maxAttempts:a.maxAttempts;this.f=null==a.baseDelay?d.baseDelay:a.baseDelay;this.i=null==a.fuzzFactor?d.fuzzFactor:a.fuzzFactor;this.h=null==a.backoffFactor?d.backoffFactor:a.backoffFactor;this.a=0;this.b=this.f;this.c=b||!1;this.g=c||null;this.c&&(this.a=1)}function za(a){if(a.a>=a.j)if(a.c)a.a=1,a.b=a.f;else return Promise.reject();var b=new y;a.a?(Aa(a,b.resolve,a.b*(1+(2*Math.random()-1)*a.i)),a.b*=a.h):b.resolve();a.a++;return b}
function ya(){return{maxAttempts:2,baseDelay:1E3,backoffFactor:2,fuzzFactor:.5,timeout:0}}function Aa(a,b,c){if(a.g)if(a.g()||!c)b();else{var d=Math.min(200,c);Ba(function(){Aa(this,b,c-d)}.bind(a),d)}else Ba(b,c)}function Ba(a,b){window.setTimeout(a,b)};function Ca(a,b,c,d,e){var f=e in d,g;for(g in b){var h=e+"."+g,k=f?d[e]:c[g];if(f||g in a)void 0===b[g]?void 0===k||f?delete a[g]:a[g]=k:k.constructor==Object&&b[g]&&b[g].constructor==Object?(a[g]||(a[g]=k),Ca(a[g],b[g],k,d,h)):typeof b[g]==typeof k&&null!=b[g]&&b[g].constructor==k.constructor&&(a[g]=b[g])}}
function Da(a){function b(a){switch(typeof a){case "undefined":case "boolean":case "number":case "string":case "symbol":case "function":return a;default:if(!a)return a;if(0<=c.indexOf(a))return null;var d=a.constructor==Array;if(a.constructor!=Object&&!d)return null;c.push(a);var f=d?[]:{},g;for(g in a)f[g]=b(a[g]);d&&(f.length=a.length);return f}}var c=[];return b(a)};function Ea(a,b){return a.reduce(function(a,b,e){return b["catch"](a.bind(null,e))}.bind(null,b),Promise.reject())}function z(a,b){return a.concat(b)}function Fa(){}function Ga(a){return null!=a}function Ha(a,b,c){return c.indexOf(a)==b};function A(a){this.f=!1;this.a=[];this.b=[];this.c=[];this.g=a||null}n("shaka.net.NetworkingEngine",A);A.RequestType={MANIFEST:0,SEGMENT:1,LICENSE:2,APP:3};var Ia={};A.registerScheme=function(a,b){Ia[a]=b};A.unregisterScheme=function(a){delete Ia[a]};A.prototype.$d=function(a){this.b.push(a)};A.prototype.registerRequestFilter=A.prototype.$d;A.prototype.Ge=function(a){var b=this.b;a=b.indexOf(a);0<=a&&b.splice(a,1)};A.prototype.unregisterRequestFilter=A.prototype.Ge;
A.prototype.Vc=function(){this.b=[]};A.prototype.clearAllRequestFilters=A.prototype.Vc;A.prototype.ae=function(a){this.c.push(a)};A.prototype.registerResponseFilter=A.prototype.ae;A.prototype.He=function(a){var b=this.c;a=b.indexOf(a);0<=a&&b.splice(a,1)};A.prototype.unregisterResponseFilter=A.prototype.He;A.prototype.Wc=function(){this.c=[]};A.prototype.clearAllResponseFilters=A.prototype.Wc;
function Ja(a,b){return{uris:a,method:"GET",body:null,headers:{},allowCrossSiteCredentials:!1,retryParameters:b}}A.prototype.destroy=function(){this.f=!0;this.b=[];this.c=[];for(var a=[],b=0;b<this.a.length;++b)a.push(this.a[b]["catch"](Fa));return Promise.all(a)};A.prototype.destroy=A.prototype.destroy;
A.prototype.request=function(a,b,c){var d=c||function(){return!1};if(this.f)return Promise.reject();b.method=b.method||"GET";b.headers=b.headers||{};b.retryParameters=b.retryParameters?Da(b.retryParameters):ya();b.uris=Da(b.uris);var e=Date.now(),f=Promise.resolve();this.b.forEach(function(c){f=f.then(c.bind(null,a,b))});f=f["catch"](function(a){throw new w(2,1,1006,a);});f=f.then(function(){var f=Date.now()-e,h=new xa(b.retryParameters,!1,c);return za(h).then(function(){return Ka(this,a,b,h,0,f,
d)}.bind(this))}.bind(this));this.a.push(f);return f.then(function(b){0<=this.a.indexOf(f)&&this.a.splice(this.a.indexOf(f),1);this.g&&!b.fromCache&&1==a&&this.g(b.timeMs,b.data.byteLength);return b}.bind(this))["catch"](function(a){a&&(a.severity=2);0<=this.a.indexOf(f)&&this.a.splice(this.a.indexOf(f),1);return Promise.reject(a)}.bind(this))};A.prototype.request=A.prototype.request;
function Ka(a,b,c,d,e,f,g){if(a.f||g())return Promise.reject();var h=new ja(c.uris[e]),k=h.da;k||(k=location.protocol,k=k.slice(0,-1),ka(h,k),c.uris[e]=h.toString());k=Ia[k];if(!k)return Promise.reject(new w(2,1,1E3,h));var m=Date.now();return k(c.uris[e],c,b).then(function(a){void 0==a.timeMs&&(a.timeMs=Date.now()-m);var c=Date.now(),d=Promise.resolve();this.c.forEach(function(c){d=d.then(function(){return Promise.resolve(c(b,a))}.bind(this))}.bind(this));d=d["catch"](function(a){var b=2;a instanceof
w&&(b=a.severity);throw new w(b,1,1007,a);});return d.then(function(){a.timeMs+=Date.now()-c;a.timeMs+=f;return a})}.bind(a))["catch"](function(a){if(a&&1==a.severity)return e=(e+1)%c.uris.length,g()?Promise.reject():za(d).then(function(){return Ka(this,b,c,d,e,f,g)}.bind(this),function(){throw a;});throw a;}.bind(a))};function La(a,b){for(var c=[],d=0;d<a.length;++d){for(var e=!1,f=0;f<c.length&&!(e=b?b(a[d],c[f]):a[d]===c[f]);++f);e||c.push(a[d])}return c}function Ma(a,b,c){for(var d=0;d<a.length;++d)if(c(a[d],b))return d;return-1}function Na(a,b){var c=a.indexOf(b);-1<c&&a.splice(c,1)};function Oa(){this.a={}}Oa.prototype.push=function(a,b){this.a.hasOwnProperty(a)?this.a[a].push(b):this.a[a]=[b]};Oa.prototype.get=function(a){return(a=this.a[a])?a.slice():null};Oa.prototype.remove=function(a,b){var c=this.a[a];if(c)for(var d=0;d<c.length;++d)c[d]==b&&(c.splice(d,1),--d)};function Pa(){this.a=new Oa}Pa.prototype.destroy=function(){Qa(this);this.a=null;return Promise.resolve()};function B(a,b,c,d){a.a&&(b=new Ra(b,c,d),a.a.push(c,b))}function Sa(a,b,c,d){B(a,b,c,function(a){this.ga(b,c);d(a)}.bind(a))}Pa.prototype.ga=function(a,b){if(this.a)for(var c=this.a.get(b)||[],d=0;d<c.length;++d){var e=c[d];e.target==a&&(e.ga(),this.a.remove(b,e))}};function Qa(a){if(a.a){var b=a.a,c=[],d;for(d in b.a)c.push.apply(c,b.a[d]);for(b=0;b<c.length;++b)c[b].ga();a.a.a={}}}
function Ra(a,b,c){this.target=a;this.type=b;this.a=c;this.target.addEventListener(b,c,!1)}Ra.prototype.ga=function(){this.target.removeEventListener(this.type,this.a,!1);this.a=this.target=null};function C(a,b){var c=b||{},d;for(d in c)this[d]=c[d];this.defaultPrevented=this.cancelable=this.bubbles=!1;this.timeStamp=window.performance&&window.performance.now?window.performance.now():Date.now();this.type=a;this.isTrusted=!1;this.target=this.currentTarget=null;this.a=!1}C.prototype.preventDefault=function(){this.cancelable&&(this.defaultPrevented=!0)};C.prototype.stopImmediatePropagation=function(){this.a=!0};C.prototype.stopPropagation=function(){};function D(a,b){if(!b.length)return a;var c=b.map(function(a){return new ja(a)});return a.map(function(a){return new ja(a)}).map(function(a){return c.map(a.resolve.bind(a))}).reduce(z,[]).map(function(a){return a.toString()})}function Ta(a,b){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:b||[],keyIds:[]}}var Ua=1/15;function Va(a){return!a||!Object.keys(a).length}function Wa(a){return Object.keys(a).map(function(b){return a[b]})}function Xa(a,b){return Object.keys(a).reduce(function(c,d){c[d]=b(a[d],d);return c},{})}function Ya(a,b){return Object.keys(a).every(function(c){return b(c,a[c])})}function Za(a,b){Object.keys(a).forEach(function(c){b(c,a[c])})};function $a(a,b){var c=a;b&&(c+='; codecs="'+b+'"');return c}var ab={codecs:"codecs",frameRate:"framerate",bandwidth:"bitrate",width:"width",height:"height",channelsCount:"channels"};function E(a){if(!a)return"";a=new Uint8Array(a);239==a[0]&&187==a[1]&&191==a[2]&&(a=a.subarray(3));a=escape(bb(a));try{return decodeURIComponent(a)}catch(b){throw new w(2,2,2004);}}n("shaka.util.StringUtils.fromUTF8",E);
function cb(a,b,c){if(!a)return"";if(!c&&a.byteLength%2)throw new w(2,2,2004);if(a instanceof ArrayBuffer)var d=a;else c=new Uint8Array(a.byteLength),c.set(new Uint8Array(a)),d=c.buffer;a=Math.floor(a.byteLength/2);c=new Uint16Array(a);d=new DataView(d);for(var e=0;e<a;e++)c[e]=d.getUint16(2*e,b);return bb(c)}n("shaka.util.StringUtils.fromUTF16",cb);
function db(a){var b=new Uint8Array(a);if(239==b[0]&&187==b[1]&&191==b[2])return E(b);if(254==b[0]&&255==b[1])return cb(b.subarray(2),!1);if(255==b[0]&&254==b[1])return cb(b.subarray(2),!0);var c=function(a,b){return a.byteLength<=b||32<=a[b]&&126>=a[b]}.bind(null,b);if(b[0]||b[2]){if(!b[1]&&!b[3])return cb(a,!0);if(c(0)&&c(1)&&c(2)&&c(3))return E(a)}else return cb(a,!1);throw new w(2,2,2003);}n("shaka.util.StringUtils.fromBytesAutoDetect",db);
function eb(a){a=unescape(encodeURIComponent(a));for(var b=new Uint8Array(a.length),c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b.buffer}n("shaka.util.StringUtils.toUTF8",eb);function bb(a){for(var b="",c=0;c<a.length;c+=16E3)b+=String.fromCharCode.apply(null,a.subarray(c,c+16E3));return b};function fb(a){this.a=null;this.b=function(){this.a=null;a()}.bind(this)}fb.prototype.cancel=function(){null!=this.a&&(clearTimeout(this.a),this.a=null)};function gb(a,b){a.cancel();a.a=setTimeout(a.b,1E3*b)}function hb(a,b){a.cancel();var c=function(){this.b();this.a=setTimeout(c,1E3*b)}.bind(a);a.a=setTimeout(c,1E3*b)};function ib(a,b){var c=void 0==b?!0:b,d=window.btoa(String.fromCharCode.apply(null,a)).replace(/\+/g,"-").replace(/\//g,"_");return c?d:d.replace(/=*$/,"")}n("shaka.util.Uint8ArrayUtils.toBase64",ib);function jb(a){a=window.atob(a.replace(/-/g,"+").replace(/_/g,"/"));for(var b=new Uint8Array(a.length),c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}n("shaka.util.Uint8ArrayUtils.fromBase64",jb);
function kb(a){for(var b=new Uint8Array(a.length/2),c=0;c<a.length;c+=2)b[c/2]=window.parseInt(a.substr(c,2),16);return b}n("shaka.util.Uint8ArrayUtils.fromHex",kb);function lb(a){for(var b="",c=0;c<a.length;++c){var d=a[c].toString(16);1==d.length&&(d="0"+d);b+=d}return b}n("shaka.util.Uint8ArrayUtils.toHex",lb);function mb(a,b){if(!a&&!b)return!0;if(!a||!b||a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(a[c]!=b[c])return!1;return!0}n("shaka.util.Uint8ArrayUtils.equal",mb);
n("shaka.util.Uint8ArrayUtils.concat",function(a){for(var b=0,c=0;c<arguments.length;++c)b+=arguments[c].length;for(var b=new Uint8Array(b),d=0,c=0;c<arguments.length;++c)b.set(arguments[c],d),d+=arguments[c].length;return b});function nb(a){this.o=a;this.l=this.j=this.v=null;this.K=!1;this.b=null;this.f=new Pa;this.a=[];this.m=[];this.i=new y;this.h=null;this.g=function(b){this.i.reject(b);a.onError(b)}.bind(this);this.B={};this.C=new fb(this.Zd.bind(this));this.ha=this.c=!1;this.I=[];this.X=!1;this.A=new fb(this.Yd.bind(this));hb(this.A,1);this.i["catch"](function(){})}l=nb.prototype;
l.destroy=function(){this.c=!0;var a=[];this.a.forEach(function(b){b=b.ea.close()["catch"](Fa);var c=new Promise(function(a){setTimeout(a,1E3)});a.push(Promise.race([b,c]))});this.i.reject();this.f&&a.push(this.f.destroy());this.l&&a.push(this.l.setMediaKeys(null)["catch"](Fa));this.A&&(this.A.cancel(),this.A=null);this.C&&(this.C.cancel(),this.C=null);this.f=this.l=this.j=this.v=this.b=null;this.a=[];this.m=[];this.o=this.g=this.h=null;return Promise.all(a)};l.configure=function(a){this.h=a};
l.init=function(a,b){var c={},d=[];this.ha=b;this.m=a.offlineSessionIds;ob(this,a,b||0<a.offlineSessionIds.length,c,d);return d.length?pb(this,c,d):(this.K=!0,Promise.resolve())};
function qb(a,b){if(!a.j)return Sa(a.f,b,"encrypted",function(){this.g(new w(2,6,6010))}.bind(a)),Promise.resolve();a.l=b;Sa(a.f,a.l,"play",a.Fd.bind(a));var c=a.l.setMediaKeys(a.j),c=c["catch"](function(a){return Promise.reject(new w(2,6,6003,a.message))}),d=null;a.b.serverCertificate&&a.b.serverCertificate.length&&(d=a.j.setServerCertificate(a.b.serverCertificate).then(function(){})["catch"](function(a){return Promise.reject(new w(2,6,6004,a.message))}));return Promise.all([c,d]).then(function(){if(this.c)return Promise.reject();
rb(this);this.b.initData.length||this.m.length||B(this.f,this.l,"encrypted",this.ud.bind(this))}.bind(a))["catch"](function(a){return this.c?Promise.resolve():Promise.reject(a)}.bind(a))}function sb(a,b){return Promise.all(b.map(function(a){return tb(this,a).then(function(a){if(a){for(var b=new y,c=0;c<this.a.length;c++)if(this.a[c].ea==a){this.a[c].ma=b;break}return Promise.all([a.remove(),b])}}.bind(this))}.bind(a)))}
function rb(a){var b=a.b?a.b.initData:[];b.forEach(function(a){ub(this,a.initDataType,a.initData)}.bind(a));a.m.forEach(function(a){tb(this,a)}.bind(a));b.length||a.m.length||a.i.resolve();return a.i}l.keySystem=function(){return this.b?this.b.keySystem:""};function vb(a){return a.a.map(function(a){return a.ea.sessionId})}l.kb=function(){var a=this.a.map(function(a){a=a.ea.expiration;return isNaN(a)?Infinity:a});return Math.min.apply(Math,a)};
function ob(a,b,c,d,e){var f=wb(a);b.periods.forEach(function(a){a.variants.forEach(function(a){f&&(a.drmInfos=[f]);a.drmInfos.forEach(function(b){xb(this,b);window.cast&&window.cast.__platform__&&"com.microsoft.playready"==b.keySystem&&(b.keySystem="com.chromecast.playready");var f=d[b.keySystem];f||(f={audioCapabilities:[],videoCapabilities:[],distinctiveIdentifier:"optional",persistentState:c?"required":"optional",sessionTypes:[c?"persistent-license":"temporary"],label:b.keySystem,drmInfos:[]},
d[b.keySystem]=f,e.push(b.keySystem));f.drmInfos.push(b);b.distinctiveIdentifierRequired&&(f.distinctiveIdentifier="required");b.persistentStateRequired&&(f.persistentState="required");var g=[];a.video&&g.push(a.video);a.audio&&g.push(a.audio);g.forEach(function(a){("video"==a.type?f.videoCapabilities:f.audioCapabilities).push({robustness:("video"==a.type?b.videoRobustness:b.audioRobustness)||"",contentType:$a(a.mimeType,a.codecs)})}.bind(this))}.bind(this))}.bind(this))}.bind(a))}
function pb(a,b,c){if(1==c.length&&""==c[0])return Promise.reject(new w(2,6,6E3));var d=new y,e=d;[!0,!1].forEach(function(a){c.forEach(function(c){var d=b[c];d.drmInfos.some(function(a){return!!a.licenseServerUri})==a&&(d.audioCapabilities.length||delete d.audioCapabilities,d.videoCapabilities.length||delete d.videoCapabilities,e=e["catch"](function(){return this.c?Promise.reject():navigator.requestMediaKeySystemAccess(c,[d])}.bind(this)))}.bind(this))}.bind(a));e=e["catch"](function(){return Promise.reject(new w(2,
6,6001))});e=e.then(function(a){if(this.c)return Promise.reject();var c=0<=navigator.userAgent.indexOf("Edge/"),d=a.getConfiguration();this.v=(d.audioCapabilities||[]).concat(d.videoCapabilities||[]).map(function(a){return a.contentType});c&&(this.v=null);c=b[a.keySystem];yb(this,a.keySystem,c,c.drmInfos);return this.b.licenseServerUri?a.createMediaKeys():Promise.reject(new w(2,6,6012))}.bind(a)).then(function(a){if(this.c)return Promise.reject();this.j=a;this.K=!0}.bind(a))["catch"](function(a){if(this.c)return Promise.resolve();
this.v=this.b=null;return a instanceof w?Promise.reject(a):Promise.reject(new w(2,6,6002,a.message))}.bind(a));d.reject();return e}
function xb(a,b){var c=b.keySystem;if(c){if(!b.licenseServerUri){var d=a.h.servers[c];d&&(b.licenseServerUri=d)}b.keyIds||(b.keyIds=[]);if(c=a.h.advanced[c])b.distinctiveIdentifierRequired||(b.distinctiveIdentifierRequired=c.distinctiveIdentifierRequired),b.persistentStateRequired||(b.persistentStateRequired=c.persistentStateRequired),b.videoRobustness||(b.videoRobustness=c.videoRobustness),b.audioRobustness||(b.audioRobustness=c.audioRobustness),b.serverCertificate||(b.serverCertificate=c.serverCertificate)}}
function wb(a){if(Va(a.h.clearKeys))return null;var b=[],c=[],d;for(d in a.h.clearKeys){var e=a.h.clearKeys[d],f=kb(d),e=kb(e),f={kty:"oct",kid:ib(f,!1),k:ib(e,!1)};b.push(f);c.push(f.kid)}a=JSON.stringify({keys:b});c=JSON.stringify({kids:c});c=[{initData:new Uint8Array(eb(c)),initDataType:"keyids"}];return{keySystem:"org.w3.clearkey",licenseServerUri:"data:application/json;base64,"+window.btoa(a),distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,
initData:c,keyIds:[]}}function yb(a,b,c,d){var e=[],f=[],g=[],h=[];zb(d,e,f,g,h);a.b={keySystem:b,licenseServerUri:e[0],distinctiveIdentifierRequired:"required"==c.distinctiveIdentifier,persistentStateRequired:"required"==c.persistentState,audioRobustness:c.audioCapabilities?c.audioCapabilities[0].robustness:"",videoRobustness:c.videoCapabilities?c.videoCapabilities[0].robustness:"",serverCertificate:f[0],initData:g,keyIds:h}}
function zb(a,b,c,d,e){function f(a,b){return a.keyId&&a.keyId==b.keyId?!0:a.initDataType==b.initDataType&&mb(a.initData,b.initData)}a.forEach(function(a){-1==b.indexOf(a.licenseServerUri)&&b.push(a.licenseServerUri);a.serverCertificate&&-1==Ma(c,a.serverCertificate,mb)&&c.push(a.serverCertificate);a.initData&&a.initData.forEach(function(a){-1==Ma(d,a,f)&&d.push(a)});if(a.keyIds)for(var g=0;g<a.keyIds.length;++g)-1==e.indexOf(a.keyIds[g])&&e.push(a.keyIds[g])})}
l.ud=function(a){for(var b=new Uint8Array(a.initData),c=0;c<this.a.length;++c)if(mb(b,this.a[c].initData))return;ub(this,a.initDataType,b)};
function tb(a,b){try{var c=a.j.createSession("persistent-license")}catch(f){var d=new w(2,6,6005,f.message);a.g(d);return Promise.reject(d)}B(a.f,c,"message",a.wc.bind(a));B(a.f,c,"keystatuseschange",a.qc.bind(a));var e={initData:null,ea:c,loaded:!1,Gb:Infinity,ma:null};a.a.push(e);return c.load(b).then(function(a){if(!this.c){if(a)return e.loaded=!0,this.a.every(function(a){return a.loaded})&&this.i.resolve(),c;this.a.splice(this.a.indexOf(e),1);this.g(new w(2,6,6013))}}.bind(a),function(a){this.c||
(this.a.splice(this.a.indexOf(e),1),this.g(new w(2,6,6005,a.message)))}.bind(a))}
function ub(a,b,c){try{var d=a.ha?a.j.createSession("persistent-license"):a.j.createSession()}catch(e){a.g(new w(2,6,6005,e.message));return}B(a.f,d,"message",a.wc.bind(a));B(a.f,d,"keystatuseschange",a.qc.bind(a));a.a.push({initData:c,ea:d,loaded:!1,Gb:Infinity,ma:null});d.generateRequest(b,c.buffer)["catch"](function(a){if(!this.c){for(var b=0;b<this.a.length;++b)if(this.a[b].ea==d){this.a.splice(b,1);break}this.g(new w(2,6,6006,a.message))}}.bind(a))}
l.wc=function(a){this.h.delayLicenseRequestUntilPlayed&&this.l.paused&&!this.X?this.I.push(a):Ab(this,a)};
function Ab(a,b){for(var c=b.target,d,e=0;e<a.a.length;e++)if(a.a[e].ea==c){d=a.a[e];break}e=Ja([a.b.licenseServerUri],a.h.retryParameters);e.body=b.message;e.method="POST";"com.microsoft.playready"!=a.b.keySystem&&"com.chromecast.playready"!=a.b.keySystem||Bb(e);a.o.Qa.request(2,e).then(function(a){return this.c?Promise.reject():c.update(a.data).then(function(){this.o.onEvent(new C("drmsessionupdate"));d&&(d.ma&&d.ma.resolve(),setTimeout(function(){d.loaded=!0;this.a.every(function(a){return a.loaded})&&
this.i.resolve()}.bind(this),5E3))}.bind(this))}.bind(a),function(a){if(this.c)return Promise.resolve();a=new w(2,6,6007,a);this.g(a);d&&d.ma&&d.ma.reject(a)}.bind(a))["catch"](function(a){if(this.c)return Promise.resolve();a=new w(2,6,6008,a.message);this.g(a);d&&d.ma&&d.ma.reject(a)}.bind(a))}
function Bb(a){var b=cb(a.body,!0,!0);if(-1==b.indexOf("PlayReadyKeyMessage"))a.headers["Content-Type"]="text/xml; charset=utf-8";else{for(var b=(new DOMParser).parseFromString(b,"application/xml"),c=b.getElementsByTagName("HttpHeader"),d=0;d<c.length;++d)a.headers[c[d].querySelector("name").textContent]=c[d].querySelector("value").textContent;a.body=jb(b.querySelector("Challenge").textContent).buffer}}
l.qc=function(a){a=a.target;var b;for(b=0;b<this.a.length&&this.a[b].ea!=a;++b);if(b!=this.a.length){var c=!1;a.keyStatuses.forEach(function(a,d){if("string"==typeof d){var e=d;d=a;a=e}if("com.microsoft.playready"==this.b.keySystem&&16==d.byteLength){var e=new DataView(d),f=e.getUint32(0,!0),k=e.getUint16(4,!0),m=e.getUint16(6,!0);e.setUint32(0,f,!1);e.setUint16(4,k,!1);e.setUint16(6,m,!1)}"com.microsoft.playready"==this.b.keySystem&&"status-pending"==a&&(a="usable");"status-pending"!=a&&(this.a[b].loaded=
!0,this.a.every(function(a){return a.loaded})&&this.i.resolve());"expired"==a&&(c=!0);e=lb(new Uint8Array(d));this.B[e]=a}.bind(this));var d=a.expiration-Date.now();(0>d||c&&1E3>d)&&!this.a[b].ma&&(this.a.splice(b,1),a.close());gb(this.C,.5)}};l.Zd=function(){function a(a,c){return"expired"==c}!Va(this.B)&&Ya(this.B,a)&&this.g(new w(2,6,6014));this.o.Hb(this.B)};
function Cb(){var a=[],b=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}],c=[{videoCapabilities:b,persistentState:"required",sessionTypes:["persistent-license"]},{videoCapabilities:b}],d={};"org.w3.clearkey com.widevine.alpha com.microsoft.playready com.apple.fps.2_0 com.apple.fps.1_0 com.apple.fps com.adobe.primetime".split(" ").forEach(function(b){var e=navigator.requestMediaKeySystemAccess(b,c).then(function(a){var c=a.getConfiguration().sessionTypes,c=
c?0<=c.indexOf("persistent-license"):!1;0<=navigator.userAgent.indexOf("Tizen 3")&&(c=!1);d[b]={persistentState:c};return a.createMediaKeys()})["catch"](function(){d[b]=null});a.push(e)});return Promise.all(a).then(function(){return d})}l.Fd=function(){for(var a=0;a<this.I.length;a++)Ab(this,this.I[a]);this.X=!0;this.I=[]};function Db(a,b){var c=a.keySystem();return!b.drmInfos.length||b.drmInfos.some(function(a){return a.keySystem==c})}
function Eb(a,b){if(!a.length)return b;if(!b.length)return a;for(var c=[],d=0;d<a.length;d++)for(var e=0;e<b.length;e++)if(a[d].keySystem==b[e].keySystem){var f=a[d],e=b[e],g=[],g=g.concat(f.initData||[]),g=g.concat(e.initData||[]),h=[],h=h.concat(f.keyIds),h=h.concat(e.keyIds);c.push({keySystem:f.keySystem,licenseServerUri:f.licenseServerUri||e.licenseServerUri,distinctiveIdentifierRequired:f.distinctiveIdentifierRequired||e.distinctiveIdentifierRequired,persistentStateRequired:f.persistentStateRequired||
e.persistentStateRequired,videoRobustness:f.videoRobustness||e.videoRobustness,audioRobustness:f.audioRobustness||e.audioRobustness,serverCertificate:f.serverCertificate||e.serverCertificate,initData:g,keyIds:h});break}return c}l.Yd=function(){this.a.forEach(function(a){var b=a.Gb,c=a.ea.expiration;isNaN(c)&&(c=Infinity);c!=b&&(this.o.onExpirationUpdated(a.ea.sessionId,c),a.Gb=c)}.bind(this))};function Fb(a){return!a||1==a.length&&1E-6>a.end(0)-a.start(0)?null:a.length?a.end(a.length-1):null}function Gb(a,b){return!a||!a.length||1==a.length&&1E-6>a.end(0)-a.start(0)?!1:b>=a.start(0)&&b<=a.end(a.length-1)}function Hb(a,b){if(!a||!a.length||1==a.length&&1E-6>a.end(0)-a.start(0))return 0;for(var c=0,d=a.length-1;0<=d&&a.end(d)>b;--d)c+=a.end(d)-Math.max(a.start(d),b);return c}function Ib(a){if(!a)return[];for(var b=[],c=0;c<a.length;c++)b.push({start:a.start(c),end:a.end(c)});return b};function Jb(a){this.f=null;this.c=a;this.h=this.i=0;this.g=Infinity;this.b=this.a=null}var Kb={};function Lb(a,b){b.length?(ga("The use of stateless text parsers is deprecated."),Kb[a]=Mb.bind(null,b)):Kb[a]=b}n("shaka.text.TextEngine.registerParser",Lb);n("shaka.text.TextEngine.unregisterParser",function(a){delete Kb[a]});Jb.prototype.destroy=function(){this.c=this.f=null;return Promise.resolve()};Jb.prototype.oe=function(a){this.c=a};Jb.prototype.setDisplayer=Jb.prototype.oe;
function Nb(a,b,c,d){return Promise.resolve().then(function(){if(this.f&&this.c)if(null==c||null==d)this.f.parseInit(b);else{var a=this.f.parseMedia(b,{periodStart:this.i,segmentStart:c,segmentEnd:d}).filter(function(a){return a.startTime>=this.h&&a.startTime<this.g}.bind(this));this.c.append(a);null==this.a&&(this.a=Math.max(c,this.h));this.b=Math.min(d,this.g)}}.bind(a))}
Jb.prototype.remove=function(a,b){return Promise.resolve().then(function(){!this.c||!this.c.remove(a,b)||null==this.a||b<=this.a||a>=this.b||(a<=this.a&&b>=this.b?this.a=this.b=null:a<=this.a&&b<this.b?this.a=b:a>this.a&&b>=this.b&&(this.b=a))}.bind(this))};function Mb(a){this.Ra=a}Mb.prototype.parseInit=function(a){this.Ra(a,0,null,null)};Mb.prototype.parseMedia=function(a,b){return this.Ra(a,b.periodStart,b.segmentStart,b.segmentEnd)};function Ob(a,b,c){this.g=a;this.f=b;this.j=c;this.b={};this.a=null;this.c={};this.h=new Pa;this.i=!1}
function Qb(){var a={};'video/mp4; codecs="avc1.42E01E",video/mp4; codecs="avc3.42E01E",video/mp4; codecs="hev1.1.6.L93.90",video/mp4; codecs="hvc1.1.6.L93.90",video/mp4; codecs="hev1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="hvc1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="vp9",video/mp4; codecs="vp09.00.10.08",audio/mp4; codecs="mp4a.40.2",audio/mp4; codecs="ac-3",audio/mp4; codecs="ec-3",audio/mp4; codecs="opus",audio/mp4; codecs="flac",video/webm; codecs="vp8",video/webm; codecs="vp9",video/webm; codecs="av1",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="avc3.42E01E",video/mp2t; codecs="hvc1.1.6.L93.90",video/mp2t; codecs="mp4a.40.2",video/mp2t; codecs="ac-3",video/mp2t; codecs="ec-3",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"'.split(",").forEach(function(b){a[b]=!!Kb[b]||
MediaSource.isTypeSupported(b);var c=b.split(";")[0];a[c]=a[c]||a[b]});return a}l=Ob.prototype;l.destroy=function(){this.i=!0;var a=[],b;for(b in this.c){var c=this.c[b],d=c[0];this.c[b]=c.slice(0,1);d&&a.push(d.p["catch"](Fa));for(d=1;d<c.length;++d)c[d].p["catch"](Fa),c[d].p.reject()}this.a&&a.push(this.a.destroy());return Promise.all(a).then(function(){this.h.destroy();this.j=this.a=this.f=this.g=this.h=null;this.b={};this.c={}}.bind(this))};
l.init=function(a){for(var b in a){var c=a[b],c=$a(c.mimeType,c.codecs);"text"==b?Rb(this,c):(c=this.f.addSourceBuffer(c),B(this.h,c,"error",this.Ae.bind(this,b)),B(this.h,c,"updateend",this.Ga.bind(this,b)),this.b[b]=c,this.c[b]=[])}};function Rb(a,b){a.a||(a.a=new Jb(a.j));a.a.f=new Kb[b]}function Sb(a,b){if("text"==b)var c=a.a.a;else c=Tb(a,b),c=!c||1==c.length&&1E-6>c.end(0)-c.start(0)?null:1==c.length&&0>c.start(0)?0:c.length?c.start(0):null;return c}
l.yb=function(){var a=this.a&&null!=this.a.a?[{start:this.a.a,end:this.a.b}]:[];return{total:Ib(this.g.buffered),audio:Ib(Tb(this,"audio")),video:Ib(Tb(this,"video")),text:a}};function Tb(a,b){try{return a.b[b].buffered}catch(c){return null}}function Ub(a,b,c,d,e){return"text"==b?Nb(a.a,c,d,e):Vb(a,b,a.ze.bind(a,b,c))}l.remove=function(a,b,c){return"text"==a?this.a.remove(b,c):Vb(this,a,this.Cc.bind(this,a,b,c))};
function Wb(a,b){return"text"==b?a.a.remove(0,Infinity):Vb(a,b,a.Cc.bind(a,b,0,a.f.duration))}function Xb(a,b,c,d,e){return"text"==b?(a.a.i=c,a=a.a,a.h=d,a.g=e,Promise.resolve()):Promise.all([Vb(a,b,a.Rc.bind(a,b)),Vb(a,b,a.qe.bind(a,b,c)),Vb(a,b,a.ne.bind(a,b,d,e))])}l.endOfStream=function(a){return Yb(this,function(){a?this.f.endOfStream(a):this.f.endOfStream()}.bind(this))};l.fa=function(a){return Yb(this,function(){this.f.duration=a}.bind(this))};l.V=function(){return this.f.duration};
l.ze=function(a,b){this.b[a].appendBuffer(b)};l.Cc=function(a,b,c){c<=b?this.Ga(a):this.b[a].remove(b,c)};l.Rc=function(a){var b=this.b[a].appendWindowStart,c=this.b[a].appendWindowEnd;this.b[a].abort();this.b[a].appendWindowStart=b;this.b[a].appendWindowEnd=c;this.Ga(a)};l.$c=function(a){this.g.currentTime-=.001;this.Ga(a)};l.qe=function(a,b){this.b[a].timestampOffset=b;this.Ga(a)};l.ne=function(a,b,c){this.b[a].appendWindowStart=0;this.b[a].appendWindowEnd=c;this.b[a].appendWindowStart=b;this.Ga(a)};
l.Ae=function(a){this.c[a][0].p.reject(new w(2,3,3014,this.g.error?this.g.error.code:0))};l.Ga=function(a){var b=this.c[a][0];b&&(b.p.resolve(),Zb(this,a))};function Vb(a,b,c){if(a.i)return Promise.reject();c={start:c,p:new y};a.c[b].push(c);if(1==a.c[b].length)try{c.start()}catch(d){"QuotaExceededError"==d.name?c.p.reject(new w(2,3,3017,b)):c.p.reject(new w(2,3,3015,d)),Zb(a,b)}return c.p}
function Yb(a,b){if(a.i)return Promise.reject();var c=[],d;for(d in a.b){var e=new y,f={start:function(a){a.resolve()}.bind(null,e),p:e};a.c[d].push(f);c.push(e);1==a.c[d].length&&f.start()}return Promise.all(c).then(function(){var a;try{b()}catch(k){var c=Promise.reject(new w(2,3,3015,k))}for(a in this.b)Zb(this,a);return c}.bind(a),function(){return Promise.reject()}.bind(a))}function Zb(a,b){a.c[b].shift();var c=a.c[b][0];if(c)try{c.start()}catch(d){c.p.reject(new w(2,3,3015,d)),Zb(a,b)}};function $b(a,b,c){return c==b||a>=ac&&c==b.split("-")[0]||a>=bc&&c.split("-")[0]==b.split("-")[0]?!0:!1}var ac=1,bc=2;function cc(a){a=a.toLowerCase().split("-");var b=dc[a[0]];b&&(a[0]=b);return a.join("-")}
var dc={aar:"aa",abk:"ab",afr:"af",aka:"ak",alb:"sq",amh:"am",ara:"ar",arg:"an",arm:"hy",asm:"as",ava:"av",ave:"ae",aym:"ay",aze:"az",bak:"ba",bam:"bm",baq:"eu",bel:"be",ben:"bn",bih:"bh",bis:"bi",bod:"bo",bos:"bs",bre:"br",bul:"bg",bur:"my",cat:"ca",ces:"cs",cha:"ch",che:"ce",chi:"zh",chu:"cu",chv:"cv",cor:"kw",cos:"co",cre:"cr",cym:"cy",cze:"cs",dan:"da",deu:"de",div:"dv",dut:"nl",dzo:"dz",ell:"el",eng:"en",epo:"eo",est:"et",eus:"eu",ewe:"ee",fao:"fo",fas:"fa",fij:"fj",fin:"fi",fra:"fr",fre:"fr",
fry:"fy",ful:"ff",geo:"ka",ger:"de",gla:"gd",gle:"ga",glg:"gl",glv:"gv",gre:"el",grn:"gn",guj:"gu",hat:"ht",hau:"ha",heb:"he",her:"hz",hin:"hi",hmo:"ho",hrv:"hr",hun:"hu",hye:"hy",ibo:"ig",ice:"is",ido:"io",iii:"ii",iku:"iu",ile:"ie",ina:"ia",ind:"id",ipk:"ik",isl:"is",ita:"it",jav:"jv",jpn:"ja",kal:"kl",kan:"kn",kas:"ks",kat:"ka",kau:"kr",kaz:"kk",khm:"km",kik:"ki",kin:"rw",kir:"ky",kom:"kv",kon:"kg",kor:"ko",kua:"kj",kur:"ku",lao:"lo",lat:"la",lav:"lv",lim:"li",lin:"ln",lit:"lt",ltz:"lb",lub:"lu",
lug:"lg",mac:"mk",mah:"mh",mal:"ml",mao:"mi",mar:"mr",may:"ms",mkd:"mk",mlg:"mg",mlt:"mt",mon:"mn",mri:"mi",msa:"ms",mya:"my",nau:"na",nav:"nv",nbl:"nr",nde:"nd",ndo:"ng",nep:"ne",nld:"nl",nno:"nn",nob:"nb",nor:"no",nya:"ny",oci:"oc",oji:"oj",ori:"or",orm:"om",oss:"os",pan:"pa",per:"fa",pli:"pi",pol:"pl",por:"pt",pus:"ps",que:"qu",roh:"rm",ron:"ro",rum:"ro",run:"rn",rus:"ru",sag:"sg",san:"sa",sin:"si",slk:"sk",slo:"sk",slv:"sl",sme:"se",smo:"sm",sna:"sn",snd:"sd",som:"so",sot:"st",spa:"es",sqi:"sq",
srd:"sc",srp:"sr",ssw:"ss",sun:"su",swa:"sw",swe:"sv",tah:"ty",tam:"ta",tat:"tt",tel:"te",tgk:"tg",tgl:"tl",tha:"th",tib:"bo",tir:"ti",ton:"to",tsn:"tn",tso:"ts",tuk:"tk",tur:"tr",twi:"tw",uig:"ug",ukr:"uk",urd:"ur",uzb:"uz",ven:"ve",vie:"vi",vol:"vo",wel:"cy",wln:"wa",wol:"wo",xho:"xh",yid:"yi",yor:"yo",zha:"za",zho:"zh",zul:"zu"};function ec(a,b,c){var d=a.video;return d&&(d.width<b.minWidth||d.width>b.maxWidth||d.width>c.width||d.height<b.minHeight||d.height>b.maxHeight||d.height>c.height||d.width*d.height<b.minPixels||d.width*d.height>b.maxPixels)||a.bandwidth<b.minBandwidth||a.bandwidth>b.maxBandwidth?!1:!0}function fc(a,b,c){var d=!1;a.variants.forEach(function(a){var e=a.allowedByApplication;a.allowedByApplication=ec(a,b,c);e!=a.allowedByApplication&&(d=!0)});return d}
function gc(a,b,c){var d=b.video,e=b.audio;for(b=0;b<c.variants.length;++b){var f=c.variants[b],g=a,h=e,k=d;(g&&g.K&&!Db(g,f)?0:hc(f.audio,g,h)&&hc(f.video,g,k))||(c.variants.splice(b,1),--b)}for(b=0;b<c.textStreams.length;++b)a=c.textStreams[b],Kb[$a(a.mimeType,a.codecs)]||(c.textStreams.splice(b,1),--b)}
function hc(a,b,c){if(!a)return!0;var d=null;b&&b.K&&(d=b.v);b=$a(a.mimeType,a.codecs);var e=a.mimeType,f;for(f in ab){var g=a[f],h=ab[f];g&&(e+="; "+h+'="'+g+'"')}return!Kb[$a(a.mimeType,a.codecs)]&&!MediaSource.isTypeSupported(e)||d&&a.encrypted&&0>d.indexOf(b)||c&&(a.mimeType!=c.mimeType||a.codecs.split(".")[0]!=c.codecs.split(".")[0])?!1:!0}
function ic(a,b,c){var d=null;return jc(a.variants).map(function(a){var e;a.video&&a.audio?e=c==a.video.id&&b==a.audio.id:e=a.video&&c==a.video.id||a.audio&&b==a.audio.id;var g="";a.video&&(g+=a.video.codecs);a.audio&&(""!=g&&(g+=", "),g+=a.audio.codecs,d=a.audio.label);var h=a.audio?a.audio.codecs:null,k=a.video?a.video.codecs:null,m=null;a.video?m=a.video.mimeType:a.audio&&(m=a.audio.mimeType);var q=null;a.audio?q=a.audio.kind:a.video&&(q=a.video.kind);var t=La((a.audio?a.audio.roles:[]).concat(a.video?
a.video.roles:[]));return{id:a.id,active:e,type:"variant",bandwidth:a.bandwidth,language:a.language,label:d,kind:q||null,width:a.video?a.video.width:null,height:a.video?a.video.height:null,frameRate:a.video?a.video.frameRate:void 0,mimeType:m,codecs:g,audioCodec:h,videoCodec:k,primary:a.primary,roles:t,videoId:a.video?a.video.id:null,audioId:a.audio?a.audio.id:null,channelsCount:a.audio?a.audio.channelsCount:null,audioBandwidth:a.audio&&a.audio.bandwidth?a.audio.bandwidth:null,videoBandwidth:a.video&&
a.video.bandwidth?a.video.bandwidth:null}})}function kc(a,b){return a.textStreams.map(function(a){return{id:a.id,active:b==a.id,type:"text",language:a.language,label:a.label,kind:a.kind,mimeType:a.mimeType,codecs:a.codecs||null,audioCodec:null,videoCodec:null,primary:a.primary,roles:a.roles,channelsCount:null,audioBandwidth:null,videoBandwidth:null}})}function lc(a,b){for(var c=0;c<a.variants.length;c++)if(a.variants[c].id==b.id)return a.variants[c];return null}
function mc(a,b){for(var c=0;c<a.textStreams.length;c++)if(a.textStreams[c].id==b.id)return a.textStreams[c];return null}function jc(a){return a.filter(function(a){return a.allowedByApplication&&a.allowedByKeySystem})}
function nc(a,b,c,d){var e=jc(a.variants),f=e.filter(function(a){return a.primary});f.length||(f=e);var g=f.length?f[0].language:"",f=f.filter(function(a){return a.language==g});if(b){var h=cc(b);[bc,ac,0].forEach(function(a){var b=!1;e.forEach(function(c){h=cc(h);var e=cc(c.language);$b(a,h,e)&&(b?f.push(c):(f=[c],b=!0),d&&(d.audio=!0))})})}if(c&&(a=oc(f,c),a.length))return a;a=f.map(function(a){return(a.audio?a.audio.roles:[]).concat(a.video?a.video.roles:[])}).reduce(z,[]);return a.length?oc(f,
a[0]):f}function pc(a,b,c,d){var e=a.textStreams,f=e.filter(function(a){return a.primary});f.length||(f=e);var g=f.length?f[0].language:"",f=f.filter(function(a){return a.language==g});if(b){var h=cc(b);[bc,ac,0].forEach(function(a){var b=!1;e.forEach(function(c){var e=cc(c.language);$b(a,h,e)&&(b?f.push(c):(f=[c],b=!0),d&&(d.text=!0))})})}if(c&&(a=qc(f,c),a.length))return a;a=f.map(function(a){return a.roles}).reduce(z,[]);return a.length?qc(f,a[0]):f}
function oc(a,b){return a.filter(function(a){return a.audio&&0<=a.audio.roles.indexOf(b)||a.video&&0<=a.video.roles.indexOf(b)})}function qc(a,b){return a.filter(function(a){return 0<=a.roles.indexOf(b)})}function rc(a,b,c){for(var d=0;d<c.length;d++)if(c[d].audio==a&&c[d].video==b)return c[d];return null}function sc(a,b,c){function d(a,b){return null==a?null==b:b.id==a}for(var e=0;e<c.length;e++)if(d(a,c[e].audio)&&d(b,c[e].video))return c[e];return null}
function tc(a,b){for(var c=a.periods.length-1;0<c;--c)if(b+Ua>=a.periods[c].startTime)return c;return 0}function uc(a,b){for(var c=0;c<a.periods.length;++c){var d=a.periods[c];if("text"==b.type)for(var e=0;e<d.textStreams.length;++e){if(d.textStreams[e]==b)return c}else for(e=0;e<d.variants.length;++e){var f=d.variants[e];if(f.audio==b||f.video==b||f.video&&f.video.trickModeVideo==b)return c}}return-1};function F(){this.h=null;this.c=!1;this.b=new fa;this.g=[];this.i=!1;this.a=this.f=null}n("shaka.abr.SimpleAbrManager",F);F.prototype.stop=function(){this.h=null;this.c=!1;this.g=[];this.f=null};F.prototype.stop=F.prototype.stop;F.prototype.init=function(a){this.h=a};F.prototype.init=F.prototype.init;
F.prototype.chooseVariant=function(){var a=vc(this.a.restrictions,this.g),b=this.b.getBandwidthEstimate(this.a.defaultBandwidthEstimate);if(this.g.length&&!a.length)throw new w(2,4,4012);for(var c=a[0]||null,d=0;d<a.length;++d){var e=a[d],f=(a[d+1]||{bandwidth:Infinity}).bandwidth/this.a.bandwidthUpgradeTarget;b>=e.bandwidth/this.a.bandwidthDowngradeTarget&&b<=f&&(c=e)}this.f=Date.now();return c};F.prototype.chooseVariant=F.prototype.chooseVariant;F.prototype.enable=function(){this.c=!0};
F.prototype.enable=F.prototype.enable;F.prototype.disable=function(){this.c=!1};F.prototype.disable=F.prototype.disable;F.prototype.segmentDownloaded=function(a,b){var c=this.b;if(!(16E3>b)){var d=8E3*b/a,e=a/1E3;c.a+=b;da(c.b,e,d);da(c.c,e,d)}if(null!=this.f&&this.c)a:{if(!this.i){if(!(128E3<=this.b.a))break a;this.i=!0}else if(Date.now()-this.f<1E3*this.a.switchInterval)break a;c=this.chooseVariant();this.b.getBandwidthEstimate(this.a.defaultBandwidthEstimate);this.h(c)}};
F.prototype.segmentDownloaded=F.prototype.segmentDownloaded;F.prototype.getBandwidthEstimate=function(){return this.b.getBandwidthEstimate(this.a.defaultBandwidthEstimate)};F.prototype.getBandwidthEstimate=F.prototype.getBandwidthEstimate;F.prototype.setVariants=function(a){this.g=a};F.prototype.setVariants=F.prototype.setVariants;F.prototype.configure=function(a){this.a=a};F.prototype.configure=F.prototype.configure;
function vc(a,b){return b.filter(function(b){return ec(b,a,{width:Infinity,height:Infinity})}).sort(function(a,b){return a.bandwidth-b.bandwidth})};var wc="ended play playing pause pausing ratechange seeked seeking timeupdate volumechange".split(" "),xc="buffered currentTime duration ended loop muted paused playbackRate seeking videoHeight videoWidth volume".split(" "),yc=["loop","playbackRate"],zc=["pause","play"],Ac="adaptation buffering emsg error loading streaming texttrackvisibility timelineregionadded timelineregionenter timelineregionexit trackschanged unloading".split(" "),Bc={drmInfo:20,getAudioLanguages:2,getBufferedInfo:2,getConfiguration:2,
getExpiration:2,getManifestUri:2,getPlaybackRate:2,getTextLanguages:2,getTextTracks:2,getStats:5,getVariantTracks:2,isAudioOnly:10,isBuffering:1,isInProgress:1,isLive:10,isTextTrackVisible:1,keySystem:10,seekRange:1},Cc={getPlayheadTimeAsDate:1,getPresentationStartTimeAsDate:20},Dc=[["getConfiguration","configure"]],Ec=[["isTextTrackVisible","setTextTrackVisibility"]],Fc="addTextTrack cancelTrickPlay configure resetConfiguration retryStreaming selectAudioLanguage selectTextLanguage selectTextTrack selectVariantTrack setTextTrackVisibility trickPlay".split(" "),
Gc=["load","unload"];
function Hc(a){return JSON.stringify(a,function(a,c){if("manager"!=a&&"function"!=typeof c){if(c instanceof Event||c instanceof C){var b={},e;for(e in c){var f=c[e];f&&"object"==typeof f?"detail"==e&&(b[e]=f):e in Event||(b[e]=f)}return b}if(c instanceof TimeRanges)for(b={__type__:"TimeRanges",length:c.length,start:[],end:[]},e=0;e<c.length;++e)b.start.push(c.start(e)),b.end.push(c.end(e));else b="number"==typeof c?isNaN(c)?"NaN":isFinite(c)?c:0>c?"-Infinity":"Infinity":c;return b}})}
function Ic(a){return JSON.parse(a,function(a,c){return"NaN"==c?NaN:"-Infinity"==c?-Infinity:"Infinity"==c?Infinity:c&&"object"==typeof c&&"TimeRanges"==c.__type__?Jc(c):c})}function Jc(a){return{length:a.length,start:function(b){return a.start[b]},end:function(b){return a.end[b]}}};function Kc(a,b,c,d,e,f){this.I=a;this.g=b;this.K=c;this.j=!1;this.B=d;this.C=e;this.v=f;this.b=this.h=!1;this.A="";this.i=null;this.l=this.oc.bind(this);this.m=this.Bd.bind(this);this.a={video:{},player:{}};this.o=0;this.c={};this.f=null}var Lc=!1,G=null;l=Kc.prototype;l.destroy=function(){Mc(this);G&&Nc(this);this.C=this.B=this.g=null;this.b=this.h=!1;this.m=this.l=this.f=this.c=this.a=this.i=null;return Promise.resolve()};l.Y=function(){return this.b};l.Nb=function(){return this.A};
l.init=function(){if(window.chrome&&chrome.cast&&chrome.cast.isAvailable){delete window.__onGCastApiAvailable;this.h=!0;this.g();var a=new chrome.cast.SessionRequest(this.I),a=new chrome.cast.ApiConfig(a,this.pc.bind(this),this.Hd.bind(this),"origin_scoped");chrome.cast.initialize(a,function(){},function(){});Lc&&setTimeout(this.g.bind(this),20);(a=G)&&a.status!=chrome.cast.SessionStatus.STOPPED?this.pc(a):G=null}else window.__onGCastApiAvailable=function(a){a&&this.init()}.bind(this)};
l.Qb=function(a){this.i=a;this.b&&Oc({type:"appData",appData:this.i})};l.cast=function(a){if(!this.h)return Promise.reject(new w(1,8,8E3));if(!Lc)return Promise.reject(new w(1,8,8001));if(this.b)return Promise.reject(new w(1,8,8002));this.f=new y;chrome.cast.requestSession(this.Jb.bind(this,a),this.nc.bind(this));return this.f};l.jb=function(){this.b&&(Mc(this),G&&(Nc(this),G.stop(function(){},function(){}),G=null))};
l.get=function(a,b){if("video"==a){if(0<=zc.indexOf(b))return this.Bc.bind(this,a,b)}else if("player"==a){if(Cc[b]&&!this.get("player","isLive")())return function(){};if(0<=Fc.indexOf(b))return this.Bc.bind(this,a,b);if(0<=Gc.indexOf(b))return this.ce.bind(this,a,b);if(Bc[b])return this.xc.bind(this,a,b)}return this.xc(a,b)};l.set=function(a,b,c){this.a[a][b]=c;Oc({type:"set",targetName:a,property:b,value:c})};
l.Jb=function(a,b){G=b;b.addUpdateListener(this.l);b.addMessageListener("urn:x-cast:com.google.shaka.v2",this.m);this.oc();Oc({type:"init",initState:a,appData:this.i});this.f.resolve()};l.nc=function(a){var b=8003;switch(a.code){case "cancel":b=8004;break;case "timeout":b=8005;break;case "receiver_unavailable":b=8006}this.f.reject(new w(2,8,b,a))};l.xc=function(a,b){return this.a[a][b]};l.Bc=function(a,b){Oc({type:"call",targetName:a,methodName:b,args:Array.prototype.slice.call(arguments,2)})};
l.ce=function(a,b){var c=Array.prototype.slice.call(arguments,2),d=new y,e=this.o.toString();this.o++;this.c[e]=d;Oc({type:"asyncCall",targetName:a,methodName:b,args:c,id:e});return d};l.pc=function(a){var b=this.v();this.f=new y;this.j=!0;this.Jb(b,a)};l.Hd=function(a){Lc="available"==a;this.g()};function Nc(a){var b=G;b.removeUpdateListener(a.l);b.removeMessageListener("urn:x-cast:com.google.shaka.v2",a.m)}
l.oc=function(){var a=G?"connected"==G.status:!1;if(this.b&&!a){this.C();for(var b in this.a)this.a[b]={};Mc(this)}this.A=(this.b=a)?G.receiver.friendlyName:"";this.g()};function Mc(a){for(var b in a.c){var c=a.c[b];delete a.c[b];c.reject(new w(1,7,7E3))}}
l.Bd=function(a,b){var c=Ic(b);switch(c.type){case "event":var d=c.targetName,e=c.event;this.B(d,new C(e.type,e));break;case "update":e=c.update;for(d in e){var c=this.a[d]||{};for(f in e[d])c[f]=e[d][f]}this.j&&(this.K(),this.j=!1);break;case "asyncComplete":d=c.id;var f=c.error;c=this.c[d];delete this.c[d];if(c)if(f){d=new w(f.severity,f.category,f.code);for(e in f)d[e]=f[e];c.reject(d)}else c.resolve()}};function Oc(a){a=Hc(a);G.sendMessage("urn:x-cast:com.google.shaka.v2",a,function(){},ha)};function p(){this.ub=new Oa;this.$a=this}p.prototype.addEventListener=function(a,b){this.ub.push(a,b)};p.prototype.removeEventListener=function(a,b){this.ub.remove(a,b)};p.prototype.dispatchEvent=function(a){for(var b=this.ub.get(a.type)||[],c=0;c<b.length;++c){a.target=this.$a;a.currentTarget=this.$a;var d=b[c];try{d.handleEvent?d.handleEvent(a):d.call(this,a)}catch(e){}if(a.a)break}return a.defaultPrevented};function H(a,b,c){p.call(this);this.c=a;this.b=b;this.i=this.g=this.f=this.j=this.h=null;this.a=new Kc(c,this.ue.bind(this),this.ve.bind(this),this.we.bind(this),this.xe.bind(this),this.ec.bind(this));Pc(this)}ba(H);n("shaka.cast.CastProxy",H);H.prototype.destroy=function(a){a&&this.a&&this.a.jb();a=[this.i?this.i.destroy():null,this.b?this.b.destroy():null,this.a?this.a.destroy():null];this.a=this.i=this.j=this.h=this.b=this.c=null;return Promise.al