From b68e5423dbf671cc2af48402cf0ecd0471f2957f Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 19 Feb 2025 10:40:13 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E7=BC=96=E7=A0=81=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=9A=E6=97=B6=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/common/mediaInfo.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web_src/src/components/common/mediaInfo.vue b/web_src/src/components/common/mediaInfo.vue index b410ce39..4591bcd4 100644 --- a/web_src/src/components/common/mediaInfo.vue +++ b/web_src/src/components/common/mediaInfo.vue @@ -33,7 +33,8 @@ export default { props: [ 'app', 'stream', 'mediaServerId'], components: {}, created() { - this.getMediaInfo() + this.getMediaInfo(); + setInterval(this.getMediaInfo, 1000) }, data() { return { From 73560d9e7ec766d8aca966f888e09157e490874b Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 19 Feb 2025 10:53:02 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=88=B7=E6=96=B0=EF=BC=8C=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=AF=AD=E9=9F=B3=E5=AF=B9=E8=AE=B2=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/common/mediaInfo.vue | 14 +++- .../src/components/dialog/devicePlayer.vue | 84 ++++++++----------- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/web_src/src/components/common/mediaInfo.vue b/web_src/src/components/common/mediaInfo.vue index 4591bcd4..52f640ed 100644 --- a/web_src/src/components/common/mediaInfo.vue +++ b/web_src/src/components/common/mediaInfo.vue @@ -34,11 +34,11 @@ export default { components: {}, created() { this.getMediaInfo(); - setInterval(this.getMediaInfo, 1000) }, data() { return { - info: {} + info: {}, + task: null, }; }, methods: { @@ -62,6 +62,16 @@ export default { console.log(error); }); }, + startTask: function () { + this.task = setInterval(this.getMediaInfo, 1000) + }, + stopTask: function () { + if (this.task) { + window.clearInterval(this.task); + this.task = null; + } + + }, formatByteSpeed: function (){ let bytesSpeed = this.info.bytesSpeed let num = 1024.0 //byte diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue index 22f2da6d..3286b3c4 100755 --- a/web_src/src/components/dialog/devicePlayer.vue +++ b/web_src/src/components/dialog/devicePlayer.vue @@ -231,14 +231,19 @@ - - + +
- + + + + + + 喊话(Broadcast) + 对讲(Talk) +
{ - this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo)) - }); - } - }, - close: function () { - console.log('关闭视频'); - if (!!this.$refs[this.activePlayer]){ - this.$refs[this.activePlayer].pause(); - } - this.videoUrl = ''; - this.coverPlaying = false; - this.showVideoDialog = false; - this.stopBroadcast() - }, + playFromStreamInfo: function (realHasAudio, streamInfo) { + this.showVideoDialog = true; + this.hasaudio = realHasAudio && this.hasaudio; + if (this.$refs[this.activePlayer]) { + this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo)) + }else { + this.$nextTick(() => { + this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo)) + }); + } + }, + close: function () { + console.log('关闭视频'); + if (!!this.$refs[this.activePlayer]){ + this.$refs[this.activePlayer].pause(); + } + this.videoUrl = ''; + this.coverPlaying = false; + this.showVideoDialog = false; + this.stopBroadcast() + }, copySharedInfo: function (data) { console.log('复制内容:' + data); From 1bed3dc5e099fa94c0a06837dc4400f4631fb20f Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 19 Feb 2025 11:07:09 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/service/impl/DeviceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java index 43087b54..417e273f 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java @@ -196,8 +196,8 @@ public class DeviceServiceImpl implements IDeviceService { log.warn("[设备不存在] device:{}", deviceId); return; } - log.info("[设备离线] device:{}, 当前心跳间隔: {}, 上次心跳时间:{}, 上次注册时间: {}", deviceId, - device.getHeartBeatInterval(), device.getKeepaliveTime(), device.getRegisterTime()); + log.info("[设备离线] device:{}, 心跳间隔: {},心跳超时次数: {}, 上次心跳时间:{}, 上次注册时间: {}", deviceId, + device.getHeartBeatInterval(), device.getHeartBeatCount(), device.getKeepaliveTime(), device.getRegisterTime()); String registerExpireTaskKey = VideoManagerConstants.REGISTER_EXPIRE_TASK_KEY_PREFIX + deviceId; dynamicTask.stop(registerExpireTaskKey); if (device.isOnLine()) { From 3b714f8e2c730e60cfec7df2aa8e88c60e40b586 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 19 Feb 2025 11:26:35 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BD=E6=A0=87?= =?UTF-8?q?=E7=BA=A7=E8=81=94=E6=92=AD=E6=94=BE=E6=8B=89=E6=B5=81=E4=BB=A3?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StreamProxyPlayServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java index 3d4e75c6..ec2f371d 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java @@ -96,7 +96,11 @@ public class StreamProxyPlayServiceImpl implements IStreamProxyPlayService { if (record != null) { streamProxy.setEnableMp4(record); } - return startProxy(streamProxy); + StreamInfo streamInfo = startProxy(streamProxy); + if (streamInfo != null) { + callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo); + } + return streamInfo; } @Override From 4a41de60398a2d24e282eb6406a7c871e4ec7a69 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 19 Feb 2025 14:09:51 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BD=E6=A0=87?= =?UTF-8?q?=E7=BA=A7=E8=81=94=E6=92=AD=E6=94=BE=E6=8B=89=E6=B5=81=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../streamProxy/service/impl/StreamProxyPlayServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java index ec2f371d..d31fca5e 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java @@ -97,7 +97,7 @@ public class StreamProxyPlayServiceImpl implements IStreamProxyPlayService { streamProxy.setEnableMp4(record); } StreamInfo streamInfo = startProxy(streamProxy); - if (streamInfo != null) { + if (streamInfo != null && callback != null) { callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo); } return streamInfo; From 9f9141704e31030f3f6182312dbb7bc3797683ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E8=8C=9C?= Date: Wed, 19 Feb 2025 17:03:49 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E8=A7=A6=E5=8F=91=20NPE=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java index 2044e762..99303ede 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java @@ -140,8 +140,6 @@ public class MediaServiceImpl implements IMediaService { result.setEnable_mp4(userSetting.getRecordSip()); } - result.setEnable_mp4(inviteInfo.getRecord()); - // 单端口模式下修改流 ID if (!mediaServer.isRtpEnable() && inviteInfo == null) { String ssrc = String.format("%010d", Long.parseLong(stream, 16)); From 924de556b87ec9c994f402e39a2e9f05b2351310 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Fri, 21 Feb 2025 15:20:14 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E4=BD=BF=E7=94=A8=E7=BB=9F=E4=B8=80=E9=AB=98?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/App.vue | 2 +- web_src/src/components/ChannelEdit.vue | 4 +- web_src/src/components/CloudRecord.vue | 2 +- web_src/src/components/DeviceList.vue | 3 +- web_src/src/components/PlatformEdit.vue | 4 +- web_src/src/components/PlatformList.vue | 3 +- web_src/src/components/RecordPLan.vue | 3 +- web_src/src/components/StreamProxyEdit.vue | 4 +- web_src/src/components/StreamProxyList.vue | 3 +- web_src/src/components/StreamPushEdit.vue | 4 +- web_src/src/components/StreamPushList.vue | 3 +- web_src/src/components/UserManager.vue | 4 +- web_src/src/components/channelList.vue | 246 ++++++++++----------- web_src/src/components/group.vue | 5 +- web_src/src/components/region.vue | 5 +- web_src/src/layout/index.vue | 6 +- web_src/src/main.js | 1 + 17 files changed, 136 insertions(+), 166 deletions(-) diff --git a/web_src/src/App.vue b/web_src/src/App.vue index 103cbe1a..cf778a83 100755 --- a/web_src/src/App.vue +++ b/web_src/src/App.vue @@ -69,7 +69,7 @@ body, background-color: #f0f2f5; color: #333; text-align: center; - padding-top: 0px !important; + padding: 0 20px; } /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ diff --git a/web_src/src/components/ChannelEdit.vue b/web_src/src/components/ChannelEdit.vue index 80f116e6..569952cf 100644 --- a/web_src/src/components/ChannelEdit.vue +++ b/web_src/src/components/ChannelEdit.vue @@ -2,9 +2,7 @@
- + @@ -141,7 +141,6 @@ export default { videoComponentList: [], updateLooper: 0, //数据刷新轮训标志 currentDeviceChannelsLenth: 0, - winHeight: window.innerHeight - 200, currentPage: 1, count: 15, total: 0, diff --git a/web_src/src/components/PlatformEdit.vue b/web_src/src/components/PlatformEdit.vue index ec42280a..c2330356 100644 --- a/web_src/src/components/PlatformEdit.vue +++ b/web_src/src/components/PlatformEdit.vue @@ -2,9 +2,7 @@
- @@ -67,7 +67,6 @@ export default { return { recordPlanList: [], searchSrt: "", - winHeight: window.innerHeight - 180, currentPage: 1, count: 15, total: 0, diff --git a/web_src/src/components/StreamProxyEdit.vue b/web_src/src/components/StreamProxyEdit.vue index 2a1441aa..eb041012 100644 --- a/web_src/src/components/StreamProxyEdit.vue +++ b/web_src/src/components/StreamProxyEdit.vue @@ -2,9 +2,7 @@
- @@ -109,7 +109,6 @@ export default { searchSrt: "", channelType: "", online: "", - winHeight: window.innerHeight - 180, currentPage: 1, count: 15, total: 0, diff --git a/web_src/src/layout/index.vue b/web_src/src/layout/index.vue index d6afcf64..d9b13253 100755 --- a/web_src/src/layout/index.vue +++ b/web_src/src/layout/index.vue @@ -4,11 +4,7 @@ - - - - - + diff --git a/web_src/src/main.js b/web_src/src/main.js index 6f7fc25c..7c56f95d 100755 --- a/web_src/src/main.js +++ b/web_src/src/main.js @@ -75,6 +75,7 @@ axios.interceptors.request.use( Vue.prototype.$axios = axios; Vue.prototype.$cookies.config(60 * 30); +Vue.prototype.$tableHeght = window.innerHeight - 170; new Vue({ router: router, From 11170fad7a3a02d21e6003d9ab2ab37860671dc9 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 21 Feb 2025 18:25:05 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E5=AE=9E=E7=8E=B0h265web=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/index.html | 2 + web_src/src/components/common/h265web.vue | 247 +- .../src/components/dialog/devicePlayer.vue | 13 +- .../static/js/h265web/h265webjs-v20221106.js | 428 + web_src/static/js/h265web/index.d.ts | 97 + web_src/static/js/h265web/index.js | 32 + .../static/js/h265web/missile-v20221120.wasm | Bin 0 -> 2108891 bytes web_src/static/js/h265web/missile.js | 7062 +++++++++++++++++ 8 files changed, 7715 insertions(+), 166 deletions(-) create mode 100644 web_src/static/js/h265web/h265webjs-v20221106.js create mode 100644 web_src/static/js/h265web/index.d.ts create mode 100644 web_src/static/js/h265web/index.js create mode 100644 web_src/static/js/h265web/missile-v20221120.wasm create mode 100644 web_src/static/js/h265web/missile.js diff --git a/web_src/index.html b/web_src/index.html index 9029725a..7d2d601d 100644 --- a/web_src/index.html +++ b/web_src/index.html @@ -15,6 +15,8 @@ + +
diff --git a/web_src/src/components/common/h265web.vue b/web_src/src/components/common/h265web.vue index 4049721c..0fbefbcb 100644 --- a/web_src/src/components/common/h265web.vue +++ b/web_src/src/components/common/h265web.vue @@ -1,31 +1,36 @@ @@ -309,7 +228,7 @@ export default { z-index: 10; } -.jessibuca-btn { +.h265web-btn { width: 20px; color: rgb(255, 255, 255); line-height: 27px; diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue index 3286b3c4..5c8d7797 100755 --- a/web_src/src/components/dialog/devicePlayer.vue +++ b/web_src/src/components/dialog/devicePlayer.vue @@ -15,7 +15,11 @@ :videoUrl="videoUrl" :error="videoError" :message="videoError" height="100px" :hasAudio="hasAudio" fluent autoplay live> - h265web敬请期待 + + + - +
@@ -275,11 +281,13 @@ import ptzScan from "../common/ptzScan.vue"; import ptzWiper from "../common/ptzWiper.vue"; import ptzSwitch from "../common/ptzSwitch.vue"; import mediaInfo from "../common/mediaInfo.vue"; +import H265web from "../common/h265web.vue"; export default { name: 'devicePlayer', props: {}, components: { + H265web, PtzPreset,PtzCruising,ptzScan,ptzWiper,ptzSwitch,mediaInfo, LivePlayer, jessibucaPlayer, rtcPlayer, }, @@ -309,6 +317,7 @@ export default { player: { jessibuca: ["ws_flv", "wss_flv"], webRTC: ["rtc", "rtcs"], + h265web: ["ws_flv", "wss_flv"], }, showVideoDialog: false, streamId: '', diff --git a/web_src/static/js/h265web/h265webjs-v20221106.js b/web_src/static/js/h265web/h265webjs-v20221106.js new file mode 100644 index 00000000..3dd4880e --- /dev/null +++ b/web_src/static/js/h265web/h265webjs-v20221106.js @@ -0,0 +1,428 @@ +!function e(t,i,n){function r(s,o){if(!i[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var h=i[s]={exports:{}};t[s][0].call(h.exports,(function(e){return r(t[s][1][e]||e)}),h,h.exports,e,t,i,n)}return i[s].exports}for(var a="function"==typeof require&&require,s=0;sh&&(u-=h,u-=h,u-=c(2))}return Number(u)};i.numberToBytes=function(e,t){var i=(void 0===t?{}:t).le,n=void 0!==i&&i;("bigint"!=typeof e&&"number"!=typeof e||"number"==typeof e&&e!=e)&&(e=0),e=c(e);for(var r=s(e),a=new Uint8Array(new ArrayBuffer(r)),o=0;o=t.length&&u.call(t,(function(t,i){return t===(o[i]?o[i]&e[a+i]:e[a+i])}))};i.sliceBytes=function(e,t,i){return Uint8Array.prototype.slice?Uint8Array.prototype.slice.call(e,t,i):new Uint8Array(Array.prototype.slice.call(e,t,i))};i.reverseBytes=function(e){return e.reverse?e.reverse():Array.prototype.reverse.call(e)}},{"@babel/runtime/helpers/interopRequireDefault":6,"global/window":34}],10:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.getHvcCodec=i.getAvcCodec=i.getAv1Codec=void 0;var n=e("./byte-helpers.js");i.getAv1Codec=function(e){var t,i="",r=e[1]>>>3,a=31&e[1],s=e[2]>>>7,o=(64&e[2])>>6,u=(32&e[2])>>5,l=(16&e[2])>>4,h=(8&e[2])>>3,d=(4&e[2])>>2,c=3&e[2];return i+=r+"."+(0,n.padStart)(a,2,"0"),0===s?i+="M":1===s&&(i+="H"),t=2===r&&o?u?12:10:o?10:8,i+="."+(0,n.padStart)(t,2,"0"),i+="."+l,i+="."+h+d+c};i.getAvcCodec=function(e){return""+(0,n.toHexString)(e[1])+(0,n.toHexString)(252&e[2])+(0,n.toHexString)(e[3])};i.getHvcCodec=function(e){var t="",i=e[1]>>6,r=31&e[1],a=(32&e[1])>>5,s=e.subarray(2,6),o=e.subarray(6,12),u=e[12];1===i?t+="A":2===i?t+="B":3===i&&(t+="C"),t+=r+".";var l=parseInt((0,n.toBinaryString)(s).split("").reverse().join(""),2);l>255&&(l=parseInt((0,n.toBinaryString)(s),2)),t+=l.toString(16)+".",t+=0===a?"L":"H",t+=u;for(var h="",d=0;d=1)return 71===e[0];for(var t=0;t+1880}},{"./byte-helpers.js":9,"./ebml-helpers.js":14,"./id3-helpers.js":15,"./mp4-helpers.js":17,"./nal-helpers.js":18}],13:[function(e,t,i){(function(n){"use strict";var r=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(e){for(var t=(s=e,a.default.atob?a.default.atob(s):n.from(s,"base64").toString("binary")),i=new Uint8Array(t.length),r=0;r=i.length)return i.length;var a=o(i,r,!1);if((0,n.bytesMatch)(t.bytes,a.bytes))return r;var s=o(i,r+a.length);return e(t,i,r+s.length+s.value+a.length)},h=function e(t,i){i=function(e){return Array.isArray(e)?e.map((function(e){return u(e)})):[u(e)]}(i),t=(0,n.toUint8)(t);var r=[];if(!i.length)return r;for(var a=0;at.length?t.length:d+h.value,f=t.subarray(d,c);(0,n.bytesMatch)(i[0],s.bytes)&&(1===i.length?r.push(f):r=r.concat(e(f,i.slice(1)))),a+=s.length+h.length+f.length}return r};i.findEbml=h;var d=function(e,t,i,r){var s;"group"===t&&((s=h(e,[a.BlockDuration])[0])&&(s=1/i*(s=(0,n.bytesToNumber)(s))*i/1e3),e=h(e,[a.Block])[0],t="block");var u=new DataView(e.buffer,e.byteOffset,e.byteLength),l=o(e,0),d=u.getInt16(l.length,!1),c=e[l.length+2],f=e.subarray(l.length+3),p=1/i*(r+d)*i/1e3,m={duration:s,trackNumber:l.value,keyframe:"simple"===t&&c>>7==1,invisible:(8&c)>>3==1,lacing:(6&c)>>1,discardable:"simple"===t&&1==(1&c),frames:[],pts:p,dts:p,timestamp:d};if(!m.lacing)return m.frames.push(f),m;var _=f[0]+1,g=[],v=1;if(2===m.lacing)for(var y=(f.length-v)/_,b=0;b<_;b++)g.push(y);if(1===m.lacing)for(var S=0;S<_-1;S++){var T=0;do{T+=f[v],v++}while(255===f[v-1]);g.push(T)}if(3===m.lacing)for(var E=0,w=0;w<_-1;w++){var A=0===w?o(f,v):o(f,v,!0,!0);E+=A.value,g.push(E),v+=A.length}return g.forEach((function(e){m.frames.push(f.subarray(v,v+e)),v+=e})),m};i.decodeBlock=d;var c=function(e){e=(0,n.toUint8)(e);var t=[],i=h(e,[a.Segment,a.Tracks,a.Track]);return i.length||(i=h(e,[a.Tracks,a.Track])),i.length||(i=h(e,[a.Track])),i.length?(i.forEach((function(e){var i=h(e,a.TrackType)[0];if(i&&i.length){if(1===i[0])i="video";else if(2===i[0])i="audio";else{if(17!==i[0])return;i="subtitle"}var s={rawCodec:(0,n.bytesToString)(h(e,[a.CodecID])[0]),type:i,codecPrivate:h(e,[a.CodecPrivate])[0],number:(0,n.bytesToNumber)(h(e,[a.TrackNumber])[0]),defaultDuration:(0,n.bytesToNumber)(h(e,[a.DefaultDuration])[0]),default:h(e,[a.FlagDefault])[0],rawData:e},o="";if(/V_MPEG4\/ISO\/AVC/.test(s.rawCodec))o="avc1."+(0,r.getAvcCodec)(s.codecPrivate);else if(/V_MPEGH\/ISO\/HEVC/.test(s.rawCodec))o="hev1."+(0,r.getHvcCodec)(s.codecPrivate);else if(/V_MPEG4\/ISO\/ASP/.test(s.rawCodec))o=s.codecPrivate?"mp4v.20."+s.codecPrivate[4].toString():"mp4v.20.9";else if(/^V_THEORA/.test(s.rawCodec))o="theora";else if(/^V_VP8/.test(s.rawCodec))o="vp8";else if(/^V_VP9/.test(s.rawCodec))if(s.codecPrivate){var u=function(e){for(var t=0,i={};t>>3).toString():"mp4a.40.2":/^A_AC3/.test(s.rawCodec)?o="ac-3":/^A_PCM/.test(s.rawCodec)?o="pcm":/^A_MS\/ACM/.test(s.rawCodec)?o="speex":/^A_EAC3/.test(s.rawCodec)?o="ec-3":/^A_VORBIS/.test(s.rawCodec)?o="vorbis":/^A_FLAC/.test(s.rawCodec)?o="flac":/^A_OPUS/.test(s.rawCodec)&&(o="opus");s.codec=o,t.push(s)}})),t.sort((function(e,t){return e.number-t.number}))):t};i.parseTracks=c;i.parseData=function(e,t){var i=[],r=h(e,[a.Segment])[0],s=h(r,[a.SegmentInfo,a.TimestampScale])[0];s=s&&s.length?(0,n.bytesToNumber)(s):1e6;var o=h(r,[a.Cluster]);return t||(t=c(r)),o.forEach((function(e,t){var r=h(e,[a.SimpleBlock]).map((function(e){return{type:"simple",data:e}})),o=h(e,[a.BlockGroup]).map((function(e){return{type:"group",data:e}})),u=h(e,[a.Timestamp])[0]||0;u&&u.length&&(u=(0,n.bytesToNumber)(u)),r.concat(o).sort((function(e,t){return e.data.byteOffset-t.data.byteOffset})).forEach((function(e,t){var n=d(e.data,e.type,s,u);i.push(n)}))})),{tracks:t,blocks:i}}},{"./byte-helpers":9,"./codec-helpers.js":10}],15:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.getId3Offset=i.getId3Size=void 0;var n=e("./byte-helpers.js"),r=(0,n.toUint8)([73,68,51]),a=function(e,t){void 0===t&&(t=0);var i=(e=(0,n.toUint8)(e))[t+5],r=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&i)>>4?r+20:r+10};i.getId3Size=a;i.getId3Offset=function e(t,i){return void 0===i&&(i=0),(t=(0,n.toUint8)(t)).length-i<10||!(0,n.bytesMatch)(t,r,{offset:i})?i:e(t,i+=a(t,i))}},{"./byte-helpers.js":9}],16:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.simpleTypeFromSourceType=void 0;var n=/^(audio|video|application)\/(x-|vnd\.apple\.)?mpegurl/i,r=/^application\/dash\+xml/i;i.simpleTypeFromSourceType=function(e){return n.test(e)?"hls":r.test(e)?"dash":"application/vnd.videojs.vhs+json"===e?"vhs-json":null}},{}],17:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.parseMediaInfo=i.parseTracks=i.addSampleDescription=i.buildFrameTable=i.findNamedBox=i.findBox=i.parseDescriptors=void 0;var n,r=e("./byte-helpers.js"),a=e("./codec-helpers.js"),s=e("./opus-helpers.js"),o=function(e){return"string"==typeof e?(0,r.stringToBytes)(e):e},u=function(e){e=(0,r.toUint8)(e);for(var t=[],i=0;e.length>i;){var a=e[i],s=0,o=0,u=e[++o];for(o++;128&u;)s=(127&u)<<7,u=e[o],o++;s+=127&u;for(var l=0;l>>0,l=t.subarray(s+4,s+8);if(0===u)break;var h=s+u;if(h>t.length){if(n)break;h=t.length}var d=t.subarray(s+8,h);(0,r.bytesMatch)(l,i[0])&&(1===i.length?a.push(d):a.push.apply(a,e(d,i.slice(1),n))),s=h}return a};i.findBox=l;var h=function(e,t){if(!(t=o(t)).length)return e.subarray(e.length);for(var i=0;i>>0,a=n>1?i+n:e.byteLength;return e.subarray(i+4,a)}i++}return e.subarray(e.length)};i.findNamedBox=h;var d=function(e,t,i){void 0===t&&(t=4),void 0===i&&(i=function(e){return(0,r.bytesToNumber)(e)});var n=[];if(!e||!e.length)return n;for(var a=(0,r.bytesToNumber)(e.subarray(4,8)),s=8;a;s+=t,a--)n.push(i(e.subarray(s,s+t)));return n},c=function(e,t){for(var i=d(l(e,["stss"])[0]),n=d(l(e,["stco"])[0]),a=d(l(e,["stts"])[0],8,(function(e){return{sampleCount:(0,r.bytesToNumber)(e.subarray(0,4)),sampleDelta:(0,r.bytesToNumber)(e.subarray(4,8))}})),s=d(l(e,["stsc"])[0],12,(function(e){return{firstChunk:(0,r.bytesToNumber)(e.subarray(0,4)),samplesPerChunk:(0,r.bytesToNumber)(e.subarray(4,8)),sampleDescriptionIndex:(0,r.bytesToNumber)(e.subarray(8,12))}})),o=l(e,["stsz"])[0],u=d(o&&o.length&&o.subarray(4)||null),h=[],c=0;c=m.firstChunk&&(p+1>=s.length||c+1>3).toString():32===d.oti?i+="."+d.descriptors[0].bytes[4].toString():221===d.oti&&(i="vorbis")):"audio"===e.type?i+=".40.2":i+=".20.9"}else if("av01"===i)i+="."+(0,a.getAv1Codec)(h(t,"av1C"));else if("vp09"===i){var c=h(t,"vpcC"),f=c[0],p=c[1],m=c[2]>>4,_=(15&c[2])>>1,g=(15&c[2])>>3,v=c[3],y=c[4],b=c[5];i+="."+(0,r.padStart)(f,2,"0"),i+="."+(0,r.padStart)(p,2,"0"),i+="."+(0,r.padStart)(m,2,"0"),i+="."+(0,r.padStart)(_,2,"0"),i+="."+(0,r.padStart)(v,2,"0"),i+="."+(0,r.padStart)(y,2,"0"),i+="."+(0,r.padStart)(b,2,"0"),i+="."+(0,r.padStart)(g,2,"0")}else if("theo"===i)i="theora";else if("spex"===i)i="speex";else if(".mp3"===i)i="mp4a.40.34";else if("msVo"===i)i="vorbis";else if("Opus"===i){i="opus";var S=h(t,"dOps");e.info.opus=(0,s.parseOpusHead)(S),e.info.codecDelay=65e5}else i=i.toLowerCase();e.codec=i};i.addSampleDescription=f;i.parseTracks=function(e,t){void 0===t&&(t=!0),e=(0,r.toUint8)(e);var i=l(e,["moov","trak"],!0),n=[];return i.forEach((function(e){var i={bytes:e},a=l(e,["mdia"])[0],s=l(a,["hdlr"])[0],o=(0,r.bytesToString)(s.subarray(8,12));i.type="soun"===o?"audio":"vide"===o?"video":o;var u=l(e,["tkhd"])[0];if(u){var h=new DataView(u.buffer,u.byteOffset,u.byteLength),d=h.getUint8(0);i.number=0===d?h.getUint32(12):h.getUint32(20)}var p=l(a,["mdhd"])[0];if(p){var m=0===p[0]?12:20;i.timescale=(p[m]<<24|p[m+1]<<16|p[m+2]<<8|p[m+3])>>>0}for(var _=l(a,["minf","stbl"])[0],g=l(_,["stsd"])[0],v=(0,r.bytesToNumber)(g.subarray(4,8)),y=8;v--;){var b=(0,r.bytesToNumber)(g.subarray(y,y+4)),S=g.subarray(y+4,y+4+b);f(i,S),y+=4+b}t&&(i.frameTable=c(_,i.timescale)),n.push(i)})),n};i.parseMediaInfo=function(e){var t=l(e,["moov","mvhd"],!0)[0];if(t&&t.length){var i={};return 1===t[0]?(i.timestampScale=(0,r.bytesToNumber)(t.subarray(20,24)),i.duration=(0,r.bytesToNumber)(t.subarray(24,32))):(i.timestampScale=(0,r.bytesToNumber)(t.subarray(12,16)),i.duration=(0,r.bytesToNumber)(t.subarray(16,20))),i.bytes=t,i}}},{"./byte-helpers.js":9,"./codec-helpers.js":10,"./opus-helpers.js":19}],18:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.findH265Nal=i.findH264Nal=i.findNal=i.discardEmulationPreventionBytes=i.EMULATION_PREVENTION=i.NAL_TYPE_TWO=i.NAL_TYPE_ONE=void 0;var n=e("./byte-helpers.js"),r=(0,n.toUint8)([0,0,0,1]);i.NAL_TYPE_ONE=r;var a=(0,n.toUint8)([0,0,1]);i.NAL_TYPE_TWO=a;var s=(0,n.toUint8)([0,0,3]);i.EMULATION_PREVENTION=s;var o=function(e){for(var t=[],i=1;i>1&63),-1!==i.indexOf(c)&&(u=l+d),l+=d+("h264"===t?1:2)}else l++}return e.subarray(0,0)};i.findNal=u;i.findH264Nal=function(e,t,i){return u(e,"h264",t,i)};i.findH265Nal=function(e,t,i){return u(e,"h265",t,i)}},{"./byte-helpers.js":9}],19:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.setOpusHead=i.parseOpusHead=i.OPUS_HEAD=void 0;var n=new Uint8Array([79,112,117,115,72,101,97,100]);i.OPUS_HEAD=n;i.parseOpusHead=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t.getUint8(0),n=0!==i,r={version:i,channels:t.getUint8(1),preSkip:t.getUint16(2,n),sampleRate:t.getUint32(4,n),outputGain:t.getUint16(8,n),channelMappingFamily:t.getUint8(10)};if(r.channelMappingFamily>0&&e.length>10){r.streamCount=t.getUint8(11),r.twoChannelStreamCount=t.getUint8(12),r.channelMapping=[];for(var a=0;a0&&(i.setUint8(11,e.streamCount),e.channelMapping.foreach((function(e,t){i.setUint8(12+t,e)}))),new Uint8Array(i.buffer)}},{}],20:[function(e,t,i){"use strict";var n=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var r=n(e("url-toolkit")),a=n(e("global/window")),s=function(e,t){if(/^[a-z]+:/i.test(t))return t;/^data:/.test(e)&&(e=a.default.location&&a.default.location.href||"");var i="function"==typeof a.default.URL,n=/^\/\//.test(e),s=!a.default.location&&!/\/\//i.test(e);if(i?e=new a.default.URL(e,a.default.location||"http://example.com"):/\/\//i.test(e)||(e=r.default.buildAbsoluteURL(a.default.location&&a.default.location.href||"",e)),i){var o=new URL(t,e);return s?o.href.slice("http://example.com".length):n?o.href.slice(o.protocol.length):o.href}return r.default.buildAbsoluteURL(e,t)};i.default=s,t.exports=i.default},{"@babel/runtime/helpers/interopRequireDefault":6,"global/window":34,"url-toolkit":46}],21:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var n=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(i,1),i>-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(2===arguments.length)for(var i=t.length,n=0;n=400&&r.statusCode<=599){var s=a;if(t)if(n.TextDecoder){var o=function(e){void 0===e&&(e="");return e.toLowerCase().split(";").reduce((function(e,t){var i=t.split("="),n=i[0],r=i[1];return"charset"===n.trim()?r.trim():e}),"utf-8")}(r.headers&&r.headers["content-type"]);try{s=new TextDecoder(o).decode(a)}catch(e){}}else s=String.fromCharCode.apply(null,new Uint8Array(a));e({cause:s})}else e(null,a)}}},{"global/window":34}],23:[function(e,t,i){"use strict";var n=e("global/window"),r=e("@babel/runtime/helpers/extends"),a=e("is-function");o.httpHandler=e("./http-handler.js");function s(e,t,i){var n=e;return a(t)?(i=t,"string"==typeof e&&(n={uri:e})):n=r({},t,{uri:e}),n.callback=i,n}function o(e,t,i){return u(t=s(e,t,i))}function u(e){if(void 0===e.callback)throw new Error("callback argument missing");var t=!1,i=function(i,n,r){t||(t=!0,e.callback(i,n,r))};function n(){var e=void 0;if(e=l.response?l.response:l.responseText||function(e){try{if("document"===e.responseType)return e.responseXML;var t=e.responseXML&&"parsererror"===e.responseXML.documentElement.nodeName;if(""===e.responseType&&!t)return e.responseXML}catch(e){}return null}(l),_)try{e=JSON.parse(e)}catch(e){}return e}function r(e){return clearTimeout(h),e instanceof Error||(e=new Error(""+(e||"Unknown XMLHttpRequest Error"))),e.statusCode=0,i(e,g)}function a(){if(!u){var t;clearTimeout(h),t=e.useXDR&&void 0===l.status?200:1223===l.status?204:l.status;var r=g,a=null;return 0!==t?(r={body:n(),statusCode:t,method:c,headers:{},url:d,rawRequest:l},l.getAllResponseHeaders&&(r.headers=function(e){var t={};return e?(e.trim().split("\n").forEach((function(e){var i=e.indexOf(":"),n=e.slice(0,i).trim().toLowerCase(),r=e.slice(i+1).trim();void 0===t[n]?t[n]=r:Array.isArray(t[n])?t[n].push(r):t[n]=[t[n],r]})),t):t}(l.getAllResponseHeaders()))):a=new Error("Internal XMLHttpRequest Error"),i(a,r,r.body)}}var s,u,l=e.xhr||null;l||(l=e.cors||e.useXDR?new o.XDomainRequest:new o.XMLHttpRequest);var h,d=l.url=e.uri||e.url,c=l.method=e.method||"GET",f=e.body||e.data,p=l.headers=e.headers||{},m=!!e.sync,_=!1,g={body:void 0,headers:{},statusCode:0,method:c,url:d,rawRequest:l};if("json"in e&&!1!==e.json&&(_=!0,p.accept||p.Accept||(p.Accept="application/json"),"GET"!==c&&"HEAD"!==c&&(p["content-type"]||p["Content-Type"]||(p["Content-Type"]="application/json"),f=JSON.stringify(!0===e.json?f:e.json))),l.onreadystatechange=function(){4===l.readyState&&setTimeout(a,0)},l.onload=a,l.onerror=r,l.onprogress=function(){},l.onabort=function(){u=!0},l.ontimeout=r,l.open(c,d,!m,e.username,e.password),m||(l.withCredentials=!!e.withCredentials),!m&&e.timeout>0&&(h=setTimeout((function(){if(!u){u=!0,l.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",r(e)}}),e.timeout)),l.setRequestHeader)for(s in p)p.hasOwnProperty(s)&&l.setRequestHeader(s,p[s]);else if(e.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(e.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in e&&(l.responseType=e.responseType),"beforeSend"in e&&"function"==typeof e.beforeSend&&e.beforeSend(l),l.send(f||null),l}t.exports=o,t.exports.default=o,o.XMLHttpRequest=n.XMLHttpRequest||function(){},o.XDomainRequest="withCredentials"in new o.XMLHttpRequest?o.XMLHttpRequest:n.XDomainRequest,function(e,t){for(var i=0;i=t+i||t?new java.lang.String(e,t,i)+"":e}function _(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}d.prototype.parseFromString=function(e,t){var i=this.options,n=new h,r=i.domBuilder||new c,s=i.errorHandler,o=i.locator,l=i.xmlns||{},d=/\/x?html?$/.test(t),f=d?a.HTML_ENTITIES:a.XML_ENTITIES;return o&&r.setDocumentLocator(o),n.errorHandler=function(e,t,i){if(!e){if(t instanceof c)return t;e=t}var n={},r=e instanceof Function;function a(t){var a=e[t];!a&&r&&(a=2==e.length?function(i){e(t,i)}:e),n[t]=a&&function(e){a("[xmldom "+t+"]\t"+e+p(i))}||function(){}}return i=i||{},a("warning"),a("error"),a("fatalError"),n}(s,r,o),n.domBuilder=i.domBuilder||r,d&&(l[""]=u.HTML),l.xml=l.xml||u.XML,e&&"string"==typeof e?n.parse(e,l,f):n.errorHandler.error("invalid doc source"),r.doc},c.prototype={startDocument:function(){this.doc=(new o).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,i,n){var r=this.doc,a=r.createElementNS(e,i||t),s=n.length;_(this,a),this.currentElement=a,this.locator&&f(this.locator,a);for(var o=0;o=0))throw k(A,new Error(e.tagName+"@"+i));for(var r=t.length-1;n"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";"}function B(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(B(e,t))return!0}while(e=e.nextSibling)}function N(){}function j(e,t,i,r){e&&e._inc++,i.namespaceURI===n.XMLNS&&delete t._nsMap[i.prefix?i.localName:""]}function V(e,t,i){if(e&&e._inc){e._inc++;var n=t.childNodes;if(i)n[n.length++]=i;else{for(var r=t.firstChild,a=0;r;)n[a++]=r,r=r.nextSibling;n.length=a}}}function H(e,t){var i=t.previousSibling,n=t.nextSibling;return i?i.nextSibling=n:e.firstChild=n,n?n.previousSibling=i:e.lastChild=i,V(e.ownerDocument,e),t}function z(e,t,i){var n=t.parentNode;if(n&&n.removeChild(t),t.nodeType===b){var r=t.firstChild;if(null==r)return t;var a=t.lastChild}else r=a=t;var s=i?i.previousSibling:e.lastChild;r.previousSibling=s,a.nextSibling=i,s?s.nextSibling=r:e.firstChild=r,null==i?e.lastChild=a:i.previousSibling=a;do{r.parentNode=e}while(r!==a&&(r=r.nextSibling));return V(e.ownerDocument||e,e),t.nodeType==b&&(t.firstChild=t.lastChild=null),t}function G(){this._nsMap={}}function W(){}function Y(){}function q(){}function K(){}function X(){}function Q(){}function $(){}function J(){}function Z(){}function ee(){}function te(){}function ie(){}function ne(e,t){var i=[],n=9==this.nodeType&&this.documentElement||this,r=n.prefix,a=n.namespaceURI;if(a&&null==r&&null==(r=n.lookupPrefix(a)))var s=[{namespace:a,prefix:null}];return se(this,i,e,t,s),i.join("")}function re(e,t,i){var r=e.prefix||"",a=e.namespaceURI;if(!a)return!1;if("xml"===r&&a===n.XML||a===n.XMLNS)return!1;for(var s=i.length;s--;){var o=i[s];if(o.prefix===r)return o.namespace!==a}return!0}function ae(e,t,i){e.push(" ",t,'="',i.replace(/[<&"]/g,F),'"')}function se(e,t,i,r,a){if(a||(a=[]),r){if(!(e=r(e)))return;if("string"==typeof e)return void t.push(e)}switch(e.nodeType){case h:var s=e.attributes,o=s.length,u=e.firstChild,l=e.tagName,m=l;if(!(i=n.isHTML(e.namespaceURI)||i)&&!e.prefix&&e.namespaceURI){for(var S,T=0;T=0;E--){if(""===(w=a[E]).prefix&&w.namespace===e.namespaceURI){S=w.namespace;break}}if(S!==e.namespaceURI)for(E=a.length-1;E>=0;E--){var w;if((w=a[E]).namespace===e.namespaceURI){w.prefix&&(m=w.prefix+":"+l);break}}}t.push("<",m);for(var A=0;A"),i&&/^script$/i.test(l))for(;u;)u.data?t.push(u.data):se(u,t,i,r,a.slice()),u=u.nextSibling;else for(;u;)se(u,t,i,r,a.slice()),u=u.nextSibling;t.push("")}else t.push("/>");return;case v:case b:for(u=e.firstChild;u;)se(u,t,i,r,a.slice()),u=u.nextSibling;return;case d:return ae(t,e.name,e.value);case c:return t.push(e.data.replace(/[<&]/g,F).replace(/]]>/g,"]]>"));case f:return t.push("");case g:return t.push("\x3c!--",e.data,"--\x3e");case y:var I=e.publicId,L=e.systemId;if(t.push("");else if(L&&"."!=L)t.push(" SYSTEM ",L,">");else{var x=e.internalSubset;x&&t.push(" [",x,"]"),t.push(">")}return;case _:return t.push("");case p:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function oe(e,t,i){e[t]=i}k.prototype=Error.prototype,o(T,k),P.prototype={length:0,item:function(e){return this[e]||null},toString:function(e,t){for(var i=[],n=0;n0},lookupPrefix:function(e){for(var t=this;t;){var i=t._nsMap;if(i)for(var n in i)if(i[n]==e)return n;t=t.nodeType==d?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var i=t._nsMap;if(i&&e in i)return i[e];t=t.nodeType==d?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},o(l,M),o(l,M.prototype),N.prototype={nodeName:"#document",nodeType:v,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==b){for(var i=e.firstChild;i;){var n=i.nextSibling;this.insertBefore(i,t),i=n}return e}return null==this.documentElement&&e.nodeType==h&&(this.documentElement=e),z(this,e,t),e.ownerDocument=this,e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),H(this,e)},importNode:function(e,t){return function e(t,i,n){var r;switch(i.nodeType){case h:(r=i.cloneNode(!1)).ownerDocument=t;case b:break;case d:n=!0}r||(r=i.cloneNode(!1));if(r.ownerDocument=t,r.parentNode=null,n)for(var a=i.firstChild;a;)r.appendChild(e(t,a,n)),a=a.nextSibling;return r}(this,e,t)},getElementById:function(e){var t=null;return B(this.documentElement,(function(i){if(i.nodeType==h&&i.getAttribute("id")==e)return t=i,!0})),t},getElementsByClassName:function(e){var t=s(e);return new I(this,(function(i){var n=[];return t.length>0&&B(i.documentElement,(function(r){if(r!==i&&r.nodeType===h){var a=r.getAttribute("class");if(a){var o=e===a;if(!o){var u=s(a);o=t.every((l=u,function(e){return l&&-1!==l.indexOf(e)}))}o&&n.push(r)}}var l})),n}))},createElement:function(e){var t=new G;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new P,(t.attributes=new x)._ownerElement=t,t},createDocumentFragment:function(){var e=new ee;return e.ownerDocument=this,e.childNodes=new P,e},createTextNode:function(e){var t=new q;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new K;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new X;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var i=new te;return i.ownerDocument=this,i.tagName=i.target=e,i.nodeValue=i.data=t,i},createAttribute:function(e){var t=new W;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new Z;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var i=new G,n=t.split(":"),r=i.attributes=new x;return i.childNodes=new P,i.ownerDocument=this,i.nodeName=t,i.tagName=t,i.namespaceURI=e,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,r._ownerElement=i,i},createAttributeNS:function(e,t){var i=new W,n=t.split(":");return i.ownerDocument=this,i.nodeName=t,i.name=t,i.namespaceURI=e,i.specified=!0,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,i}},u(N,M),G.prototype={nodeType:h,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var i=this.ownerDocument.createAttribute(e);i.value=i.nodeValue=""+t,this.setAttributeNode(i)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===b?this.insertBefore(e,null):function(e,t){var i=t.parentNode;if(i){var n=e.lastChild;i.removeChild(t);n=e.lastChild}return n=e.lastChild,t.parentNode=e,t.previousSibling=n,t.nextSibling=null,n?n.nextSibling=t:e.firstChild=t,e.lastChild=t,V(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);i&&this.removeAttributeNode(i)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);return i&&i.value||""},setAttributeNS:function(e,t,i){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=""+i,this.setAttributeNode(n)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new I(this,(function(t){var i=[];return B(t,(function(n){n===t||n.nodeType!=h||"*"!==e&&n.tagName!=e||i.push(n)})),i}))},getElementsByTagNameNS:function(e,t){return new I(this,(function(i){var n=[];return B(i,(function(r){r===i||r.nodeType!==h||"*"!==e&&r.namespaceURI!==e||"*"!==t&&r.localName!=t||n.push(r)})),n}))}},N.prototype.getElementsByTagName=G.prototype.getElementsByTagName,N.prototype.getElementsByTagNameNS=G.prototype.getElementsByTagNameNS,u(G,M),W.prototype.nodeType=d,u(W,M),Y.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(E[w])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,i){i=this.data.substring(0,e)+i+this.data.substring(e+t),this.nodeValue=this.data=i,this.length=i.length}},u(Y,M),q.prototype={nodeName:"#text",nodeType:c,splitText:function(e){var t=this.data,i=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(i);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n}},u(q,Y),K.prototype={nodeName:"#comment",nodeType:g},u(K,Y),X.prototype={nodeName:"#cdata-section",nodeType:f},u(X,Y),Q.prototype.nodeType=y,u(Q,M),$.prototype.nodeType=S,u($,M),J.prototype.nodeType=m,u(J,M),Z.prototype.nodeType=p,u(Z,M),ee.prototype.nodeName="#document-fragment",ee.prototype.nodeType=b,u(ee,M),te.prototype.nodeType=_,u(te,M),ie.prototype.serializeToString=function(e,t,i){return ne.call(e,t,i)},M.prototype.toString=ne;try{if(Object.defineProperty){Object.defineProperty(I.prototype,"length",{get:function(){return L(this),this.$$length}}),Object.defineProperty(M.prototype,"textContent",{get:function(){return function e(t){switch(t.nodeType){case h:case b:var i=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&i.push(e(t)),t=t.nextSibling;return i.join("");default:return t.nodeValue}}(this)},set:function(e){switch(this.nodeType){case h:case b:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),oe=function(e,t,i){e["$$"+t]=i}}}catch(e){}i.DocumentType=Q,i.DOMException=k,i.DOMImplementation=U,i.Element=G,i.Node=M,i.NodeList=P,i.XMLSerializer=ie},{"./conventions":24}],27:[function(e,t,i){var n=e("./conventions").freeze;i.XML_ENTITIES=n({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),i.HTML_ENTITIES=n({lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}),i.entityMap=i.HTML_ENTITIES},{"./conventions":24}],28:[function(e,t,i){var n=e("./dom");i.DOMImplementation=n.DOMImplementation,i.XMLSerializer=n.XMLSerializer,i.DOMParser=e("./dom-parser").DOMParser},{"./dom":26,"./dom-parser":25}],29:[function(e,t,i){var n=e("./conventions").NAMESPACE,r=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,a=new RegExp("[\\-\\.0-9"+r.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),s=new RegExp("^"+r.source+a.source+"*(?::"+r.source+a.source+"*)?$");function o(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,o)}function u(){}function l(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function h(e,t,i,r,a,s){function o(e,t,n){i.attributeNames.hasOwnProperty(e)&&s.fatalError("Attribute "+e+" redefined"),i.addValue(e,t,n)}for(var u,l=++t,h=0;;){var d=e.charAt(l);switch(d){case"=":if(1===h)u=e.slice(t,l),h=3;else{if(2!==h)throw new Error("attribute equal must after attrName");h=3}break;case"'":case'"':if(3===h||1===h){if(1===h&&(s.warning('attribute value must after "="'),u=e.slice(t,l)),t=l+1,!((l=e.indexOf(d,t))>0))throw new Error("attribute value no end '"+d+"' match");o(u,c=e.slice(t,l).replace(/&#?\w+;/g,a),t-1),h=5}else{if(4!=h)throw new Error('attribute value must after "="');o(u,c=e.slice(t,l).replace(/&#?\w+;/g,a),t),s.warning('attribute "'+u+'" missed start quot('+d+")!!"),t=l+1,h=5}break;case"/":switch(h){case 0:i.setTagName(e.slice(t,l));case 5:case 6:case 7:h=7,i.closed=!0;case 4:case 1:case 2:break;default:throw new Error("attribute invalid close char('/')")}break;case"":return s.error("unexpected end of input"),0==h&&i.setTagName(e.slice(t,l)),l;case">":switch(h){case 0:i.setTagName(e.slice(t,l));case 5:case 6:case 7:break;case 4:case 1:"/"===(c=e.slice(t,l)).slice(-1)&&(i.closed=!0,c=c.slice(0,-1));case 2:2===h&&(c=u),4==h?(s.warning('attribute "'+c+'" missed quot(")!'),o(u,c.replace(/&#?\w+;/g,a),t)):(n.isHTML(r[""])&&c.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute "'+c+'" missed value!! "'+c+'" instead!!'),o(c,c,t));break;case 3:throw new Error("attribute value missed!!")}return l;case"€":d=" ";default:if(d<=" ")switch(h){case 0:i.setTagName(e.slice(t,l)),h=6;break;case 1:u=e.slice(t,l),h=2;break;case 4:var c=e.slice(t,l).replace(/&#?\w+;/g,a);s.warning('attribute "'+c+'" missed quot(")!!'),o(u,c,t);case 5:h=6}else switch(h){case 2:i.tagName;n.isHTML(r[""])&&u.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute "'+u+'" missed value!! "'+u+'" instead2!!'),o(u,u,t),t=l,h=1;break;case 5:s.warning('attribute space is required"'+u+'"!!');case 6:h=1,t=l;break;case 3:h=4,t=l;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}l++}}function d(e,t,i){for(var r=e.tagName,a=null,s=e.length;s--;){var o=e[s],u=o.qName,l=o.value;if((f=u.indexOf(":"))>0)var h=o.prefix=u.slice(0,f),d=u.slice(f+1),c="xmlns"===h&&d;else d=u,h=null,c="xmlns"===u&&"";o.localName=d,!1!==c&&(null==a&&(a={},p(i,i={})),i[c]=a[c]=l,o.uri=n.XMLNS,t.startPrefixMapping(c,l))}for(s=e.length;s--;){(h=(o=e[s]).prefix)&&("xml"===h&&(o.uri=n.XML),"xmlns"!==h&&(o.uri=i[h||""]))}var f;(f=r.indexOf(":"))>0?(h=e.prefix=r.slice(0,f),d=e.localName=r.slice(f+1)):(h=null,d=e.localName=r);var m=e.uri=i[h||""];if(t.startElement(m,d,r,e),!e.closed)return e.currentNSMap=i,e.localNSMap=a,!0;if(t.endElement(m,d,r),a)for(h in a)t.endPrefixMapping(h)}function c(e,t,i,n,r){if(/^(?:script|textarea)$/i.test(i)){var a=e.indexOf("",t),s=e.substring(t+1,a);if(/[&<]/.test(s))return/^script$/i.test(i)?(r.characters(s,0,s.length),a):(s=s.replace(/&#?\w+;/g,n),r.characters(s,0,s.length),a)}return t+1}function f(e,t,i,n){var r=n[i];return null==r&&((r=e.lastIndexOf(""))t?(i.comment(e,t+4,r-t-4),r+3):(n.error("Unclosed comment"),-1):-1;default:if("CDATA["==e.substr(t+3,6)){var r=e.indexOf("]]>",t+9);return i.startCDATA(),i.characters(e,t+9,r-t-9),i.endCDATA(),r+3}var a=function(e,t){var i,n=[],r=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;r.lastIndex=t,r.exec(e);for(;i=r.exec(e);)if(n.push(i),i[1])return n}(e,t),s=a.length;if(s>1&&/!doctype/i.test(a[0][0])){var o=a[1][0],u=!1,l=!1;s>3&&(/^public$/i.test(a[2][0])?(u=a[3][0],l=s>4&&a[4][0]):/^system$/i.test(a[2][0])&&(l=a[3][0]));var h=a[s-1];return i.startDTD(o,u,l),i.endDTD(),h.index+h[0].length}}return-1}function _(e,t,i){var n=e.indexOf("?>",t);if(n){var r=e.substring(t,n).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(r){r[0].length;return i.processingInstruction(r[1],r[2]),n+2}return-1}return-1}function g(){this.attributeNames={}}o.prototype=new Error,o.prototype.name=o.name,u.prototype={parse:function(e,t,i){var r=this.domBuilder;r.startDocument(),p(t,t={}),function(e,t,i,r,a){function s(e){var t=e.slice(1,-1);return t in i?i[t]:"#"===t.charAt(0)?function(e){if(e>65535){var t=55296+((e-=65536)>>10),i=56320+(1023&e);return String.fromCharCode(t,i)}return String.fromCharCode(e)}(parseInt(t.substr(1).replace("x","0x"))):(a.error("entity not found:"+e),e)}function u(t){if(t>w){var i=e.substring(w,t).replace(/&#?\w+;/g,s);S&&p(w),r.characters(i,0,t-w),w=t}}function p(t,i){for(;t>=y&&(i=b.exec(e));)v=i.index,y=v+i[0].length,S.lineNumber++;S.columnNumber=t-v+1}var v=0,y=0,b=/.*(?:\r\n?|\n)|.*$/g,S=r.locator,T=[{currentNSMap:t}],E={},w=0;for(;;){try{var A=e.indexOf("<",w);if(A<0){if(!e.substr(w).match(/^\s*$/)){var C=r.doc,k=C.createTextNode(e.substr(w));C.appendChild(k),r.currentElement=k}return}switch(A>w&&u(A),e.charAt(A+1)){case"/":var P=e.indexOf(">",A+3),I=e.substring(A+2,P).replace(/[ \t\n\r]+$/g,""),L=T.pop();P<0?(I=e.substring(A+2).replace(/[\s<].*/,""),a.error("end tag name: "+I+" is not complete:"+L.tagName),P=A+1+I.length):I.match(/\sw?w=P:u(Math.max(A,w)+1)}}(e,t,i,r,this.errorHandler),r.endDocument()}},g.prototype={setTagName:function(e){if(!s.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},addValue:function(e,t,i){if(!s.test(e))throw new Error("invalid attribute:"+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:t,offset:i}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},i.XMLReader=u,i.ParseError=o},{"./conventions":24}],30:[function(e,t,i){"use strict";i.byteLength=function(e){var t=l(e),i=t[0],n=t[1];return 3*(i+n)/4-n},i.toByteArray=function(e){var t,i,n=l(e),s=n[0],o=n[1],u=new a(function(e,t,i){return 3*(t+i)/4-i}(0,s,o)),h=0,d=o>0?s-4:s;for(i=0;i>16&255,u[h++]=t>>8&255,u[h++]=255&t;2===o&&(t=r[e.charCodeAt(i)]<<2|r[e.charCodeAt(i+1)]>>4,u[h++]=255&t);1===o&&(t=r[e.charCodeAt(i)]<<10|r[e.charCodeAt(i+1)]<<4|r[e.charCodeAt(i+2)]>>2,u[h++]=t>>8&255,u[h++]=255&t);return u},i.fromByteArray=function(e){for(var t,i=e.length,r=i%3,a=[],s=0,o=i-r;so?o:s+16383));1===r?(t=e[i-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return a.join("")};for(var n=[],r=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,u=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");return-1===i&&(i=t),[i,i===t?0:4-i%4]}function h(e,t,i){for(var r,a,s=[],o=t;o>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],31:[function(e,t,i){},{}],32:[function(e,t,i){(function(t){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +"use strict";var n=e("base64-js"),r=e("ieee754");i.Buffer=t,i.SlowBuffer=function(e){+e!=e&&(e=0);return t.alloc(+e)},i.INSPECT_MAX_BYTES=50;function a(e){if(e>2147483647)throw new RangeError('The value "'+e+'" is invalid for option "size"');var i=new Uint8Array(e);return i.__proto__=t.prototype,i}function t(e,t,i){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return u(e)}return s(e,t,i)}function s(e,i,n){if("string"==typeof e)return function(e,i){"string"==typeof i&&""!==i||(i="utf8");if(!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i);var n=0|d(e,i),r=a(n),s=r.write(e,i);s!==n&&(r=r.slice(0,s));return r}(e,i);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,i,n){if(i<0||e.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|e}function d(e,i){if(t.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var a=!1;;)switch(i){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return M(e).length;default:if(a)return r?-1:U(e).length;i=(""+i).toLowerCase(),a=!0}}function c(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,i);case"utf8":case"utf-8":return E(this,t,i);case"ascii":return w(this,t,i);case"latin1":case"binary":return A(this,t,i);case"base64":return T(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function f(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function p(e,i,n,r,a){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),N(n=+n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof i&&(i=t.from(i,r)),t.isBuffer(i))return 0===i.length?-1:m(e,i,n,r,a);if("number"==typeof i)return i&=255,"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,i,n):Uint8Array.prototype.lastIndexOf.call(e,i,n):m(e,[i],n,r,a);throw new TypeError("val must be string, number or Buffer")}function m(e,t,i,n,r){var a,s=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,u/=2,i/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var h=-1;for(a=i;ao&&(i=o-u),a=i;a>=0;a--){for(var d=!0,c=0;cr&&(n=r):n=r;var a=t.length;n>a/2&&(n=a/2);for(var s=0;s>8,r=i%256,a.push(r),a.push(n);return a}(t,e.length-i),e,i,n)}function T(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,i))}function E(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r239?4:l>223?3:l>191?2:1;if(r+d<=i)switch(d){case 1:l<128&&(h=l);break;case 2:128==(192&(a=e[r+1]))&&(u=(31&l)<<6|63&a)>127&&(h=u);break;case 3:a=e[r+1],s=e[r+2],128==(192&a)&&128==(192&s)&&(u=(15&l)<<12|(63&a)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:a=e[r+1],s=e[r+2],o=e[r+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&u<1114112&&(h=u)}null===h?(h=65533,d=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var i="",n=0;for(;nt&&(e+=" ... "),""},t.prototype.compare=function(e,i,n,r,a){if(B(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),!t.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===i&&(i=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),i<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&i>=n)return 0;if(r>=a)return-1;if(i>=n)return 1;if(this===e)return 0;for(var s=(a>>>=0)-(r>>>=0),o=(n>>>=0)-(i>>>=0),u=Math.min(s,o),l=this.slice(r,a),h=e.slice(i,n),d=0;d>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return _(this,e,t,i);case"utf8":case"utf-8":return g(this,e,t,i);case"ascii":return v(this,e,t,i);case"latin1":case"binary":return y(this,e,t,i);case"base64":return b(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;rn)&&(i=n);for(var r="",a=t;ai)throw new RangeError("Trying to access beyond buffer length")}function I(e,i,n,r,a,s){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(i>a||ie.length)throw new RangeError("Index out of range")}function L(e,t,i,n,r,a){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function x(e,t,i,n,a){return t=+t,i>>>=0,a||L(e,0,i,4),r.write(e,t,i,n,23,4),i+4}function R(e,t,i,n,a){return t=+t,i>>>=0,a||L(e,0,i,8),r.write(e,t,i,n,52,8),i+8}t.prototype.slice=function(e,i){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(i=void 0===i?n:~~i)<0?(i+=n)<0&&(i=0):i>n&&(i=n),i>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e],r=1,a=0;++a>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},t.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},t.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},t.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},t.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},t.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},t.prototype.readIntLE=function(e,t,i){e>>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e],r=1,a=0;++a=(r*=128)&&(n-=Math.pow(2,8*t)),n},t.prototype.readIntBE=function(e,t,i){e>>>=0,t>>>=0,i||P(e,t,this.length);for(var n=t,r=1,a=this[e+--n];n>0&&(r*=256);)a+=this[e+--n]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*t)),a},t.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},t.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},t.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},t.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},t.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},t.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},t.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},t.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},t.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},t.prototype.writeUIntLE=function(e,t,i,n){(e=+e,t>>>=0,i>>>=0,n)||I(this,e,t,i,Math.pow(2,8*i)-1,0);var r=1,a=0;for(this[t]=255&e;++a>>=0,i>>>=0,n)||I(this,e,t,i,Math.pow(2,8*i)-1,0);var r=i-1,a=1;for(this[t+r]=255&e;--r>=0&&(a*=256);)this[t+r]=e/a&255;return t+i},t.prototype.writeUInt8=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,1,255,0),this[t]=255&e,t+1},t.prototype.writeUInt16LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeUInt16BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeUInt32LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},t.prototype.writeUInt32BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);I(this,e,t,i,r-1,-r)}var a=0,s=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+i},t.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);I(this,e,t,i,r-1,-r)}var a=i-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+i},t.prototype.writeInt8=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},t.prototype.writeInt16LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeInt16BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeInt32LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},t.prototype.writeInt32BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeFloatLE=function(e,t,i){return x(this,e,t,!0,i)},t.prototype.writeFloatBE=function(e,t,i){return x(this,e,t,!1,i)},t.prototype.writeDoubleLE=function(e,t,i){return R(this,e,t,!0,i)},t.prototype.writeDoubleBE=function(e,t,i){return R(this,e,t,!1,i)},t.prototype.copy=function(e,i,n,r){if(!t.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),i>=e.length&&(i=e.length),i||(i=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-i=0;--s)e[s+i]=this[s+n];else Uint8Array.prototype.set.call(e,this.subarray(n,r),i);return a},t.prototype.fill=function(e,i,n,r){if("string"==typeof e){if("string"==typeof i?(r=i,i=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!t.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===e.length){var a=e.charCodeAt(0);("utf8"===r&&a<128||"latin1"===r)&&(e=a)}}else"number"==typeof e&&(e&=255);if(i<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=i;s55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(t-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;a.push(i)}else if(i<2048){if((t-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function M(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,i,n){for(var r=0;r=t.length||r>=e.length);++r)t[r+i]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function N(e){return e!=e}}).call(this,e("buffer").Buffer)},{"base64-js":30,buffer:32,ieee754:35}],33:[function(e,t,i){(function(i){var n,r=void 0!==i?i:"undefined"!=typeof window?window:{},a=e("min-document");"undefined"!=typeof document?n=document:(n=r["__GLOBAL_DOCUMENT_CACHE@4"])||(n=r["__GLOBAL_DOCUMENT_CACHE@4"]=a),t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"min-document":31}],34:[function(e,t,i){(function(e){var i;i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],35:[function(e,t,i){i.read=function(e,t,i,n,r){var a,s,o=8*r-n-1,u=(1<>1,h=-7,d=i?r-1:0,c=i?-1:1,f=e[t+d];for(d+=c,a=f&(1<<-h)-1,f>>=-h,h+=o;h>0;a=256*a+e[t+d],d+=c,h-=8);for(s=a&(1<<-h)-1,a>>=-h,h+=n;h>0;s=256*s+e[t+d],d+=c,h-=8);if(0===a)a=1-l;else{if(a===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=l}return(f?-1:1)*s*Math.pow(2,a-n)},i.write=function(e,t,i,n,r,a){var s,o,u,l=8*a-r-1,h=(1<>1,c=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+d>=1?c/u:c*Math.pow(2,1-d))*u>=2&&(s++,u/=2),s+d>=h?(o=0,s=h):s+d>=1?(o=(t*u-1)*Math.pow(2,r),s+=d):(o=t*Math.pow(2,d-1)*Math.pow(2,r),s=0));r>=8;e[i+f]=255&o,f+=p,o/=256,r-=8);for(s=s<0;e[i+f]=255&s,f+=p,s/=256,l-=8);e[i+f-p]|=128*m}},{}],36:[function(e,t,i){t.exports=function(e){if(!e)return!1;var t=n.call(e);return"[object Function]"===t||"function"==typeof e&&"[object RegExp]"!==t||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)};var n=Object.prototype.toString},{}],37:[function(e,t,i){function n(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return o[e];var i,n=String(e);return(i=r[n.toLowerCase()])?i:(i=a[n.toLowerCase()])||(1===n.length?n.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"==typeof e){var i=e.which||e.keyCode||e.charCode;if(null==i)return!1;if("string"==typeof t){var n;if(n=r[t.toLowerCase()])return n===i;if(n=a[t.toLowerCase()])return n===i}else if("number"==typeof t)return t===i;return!1}};var r=(i=t.exports=n).code=i.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},a=i.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91}; +/*! + * Programatically add the following + */ +for(s=97;s<123;s++)r[String.fromCharCode(s)]=s-32;for(var s=48;s<58;s++)r[s-48]=s;for(s=1;s<13;s++)r["f"+s]=s+111;for(s=0;s<10;s++)r["numpad "+s]=s+96;var o=i.names=i.title={};for(s in r)o[r[s]]=s;for(var u in a)r[u]=a[u]},{}],38:[function(e,t,i){ +/*! @name m3u8-parser @version 4.7.0 @license Apache-2.0 */ +"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e("@babel/runtime/helpers/inheritsLoose"),r=e("@videojs/vhs-utils/cjs/stream.js"),a=e("@babel/runtime/helpers/extends"),s=e("@babel/runtime/helpers/assertThisInitialized"),o=e("@videojs/vhs-utils/cjs/decode-b64-to-uint8-array.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(n),h=u(r),d=u(a),c=u(s),f=u(o),p=function(e){function t(){var t;return(t=e.call(this)||this).buffer="",t}return l.default(t,e),t.prototype.push=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf("\n");t>-1;t=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)},t}(h.default),m=String.fromCharCode(9),_=function(e){var t=/([0-9.]*)?@?([0-9.]*)?/.exec(e||""),i={};return t[1]&&(i.length=parseInt(t[1],10)),t[2]&&(i.offset=parseInt(t[2],10)),i},g=function(e){for(var t,i=e.split(new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),n={},r=i.length;r--;)""!==i[r]&&((t=/([^=]*)=(.*)/.exec(i[r]).slice(1))[0]=t[0].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^['"](.*)['"]$/g,"$1"),n[t[0]]=t[1]);return n},v=function(e){function t(){var t;return(t=e.call(this)||this).customParsers=[],t.tagMappers=[],t}l.default(t,e);var i=t.prototype;return i.push=function(e){var t,i,n=this;0!==(e=e.trim()).length&&("#"===e[0]?this.tagMappers.reduce((function(t,i){var n=i(e);return n===e?t:t.concat([n])}),[e]).forEach((function(e){for(var r=0;r0&&(s.duration=e.duration),0===e.duration&&(s.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=a},key:function(){if(e.attributes)if("NONE"!==e.attributes.METHOD)if(e.attributes.URI){if("com.apple.streamingkeydelivery"===e.attributes.KEYFORMAT)return this.manifest.contentProtection=this.manifest.contentProtection||{},void(this.manifest.contentProtection["com.apple.fps.1_0"]={attributes:e.attributes});if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===e.attributes.KEYFORMAT){return-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(e.attributes.METHOD)?void this.trigger("warn",{message:"invalid key method provided for Widevine"}):("SAMPLE-AES-CENC"===e.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==e.attributes.URI.substring(0,23)?void this.trigger("warn",{message:"invalid key URI provided for Widevine"}):e.attributes.KEYID&&"0x"===e.attributes.KEYID.substring(0,2)?(this.manifest.contentProtection=this.manifest.contentProtection||{},void(this.manifest.contentProtection["com.widevine.alpha"]={attributes:{schemeIdUri:e.attributes.KEYFORMAT,keyId:e.attributes.KEYID.substring(2)},pssh:f.default(e.attributes.URI.split(",")[1])})):void this.trigger("warn",{message:"invalid key ID provided for Widevine"}))}e.attributes.METHOD||this.trigger("warn",{message:"defaulting key method to AES-128"}),n={method:e.attributes.METHOD||"AES-128",uri:e.attributes.URI},void 0!==e.attributes.IV&&(n.iv=e.attributes.IV)}else this.trigger("warn",{message:"ignoring key declaration without URI"});else n=null;else this.trigger("warn",{message:"ignoring key declaration without attribute list"})},"media-sequence":function(){isFinite(e.number)?this.manifest.mediaSequence=e.number:this.trigger("warn",{message:"ignoring invalid media sequence: "+e.number})},"discontinuity-sequence":function(){isFinite(e.number)?(this.manifest.discontinuitySequence=e.number,h=e.number):this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+e.number})},"playlist-type":function(){/VOD|EVENT/.test(e.playlistType)?this.manifest.playlistType=e.playlistType:this.trigger("warn",{message:"ignoring unknown playlist type: "+e.playlist})},map:function(){i={},e.uri&&(i.uri=e.uri),e.byterange&&(i.byterange=e.byterange),n&&(i.key=n)},"stream-inf":function(){this.manifest.playlists=a,this.manifest.mediaGroups=this.manifest.mediaGroups||l,e.attributes?(s.attributes||(s.attributes={}),d.default(s.attributes,e.attributes)):this.trigger("warn",{message:"ignoring empty stream-inf attributes"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||l,e.attributes&&e.attributes.TYPE&&e.attributes["GROUP-ID"]&&e.attributes.NAME){var i=this.manifest.mediaGroups[e.attributes.TYPE];i[e.attributes["GROUP-ID"]]=i[e.attributes["GROUP-ID"]]||{},t=i[e.attributes["GROUP-ID"]],(c={default:/yes/i.test(e.attributes.DEFAULT)}).default?c.autoselect=!0:c.autoselect=/yes/i.test(e.attributes.AUTOSELECT),e.attributes.LANGUAGE&&(c.language=e.attributes.LANGUAGE),e.attributes.URI&&(c.uri=e.attributes.URI),e.attributes["INSTREAM-ID"]&&(c.instreamId=e.attributes["INSTREAM-ID"]),e.attributes.CHARACTERISTICS&&(c.characteristics=e.attributes.CHARACTERISTICS),e.attributes.FORCED&&(c.forced=/yes/i.test(e.attributes.FORCED)),t[e.attributes.NAME]=c}else this.trigger("warn",{message:"ignoring incomplete or missing media group"})},discontinuity:function(){h+=1,s.discontinuity=!0,this.manifest.discontinuityStarts.push(a.length)},"program-date-time":function(){void 0===this.manifest.dateTimeString&&(this.manifest.dateTimeString=e.dateTimeString,this.manifest.dateTimeObject=e.dateTimeObject),s.dateTimeString=e.dateTimeString,s.dateTimeObject=e.dateTimeObject},targetduration:function(){!isFinite(e.duration)||e.duration<0?this.trigger("warn",{message:"ignoring invalid target duration: "+e.duration}):(this.manifest.targetDuration=e.duration,b.call(this,this.manifest))},start:function(){e.attributes&&!isNaN(e.attributes["TIME-OFFSET"])?this.manifest.start={timeOffset:e.attributes["TIME-OFFSET"],precise:e.attributes.PRECISE}:this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"})},"cue-out":function(){s.cueOut=e.data},"cue-out-cont":function(){s.cueOutCont=e.data},"cue-in":function(){s.cueIn=e.data},skip:function(){this.manifest.skip=y(e.attributes),this.warnOnMissingAttributes_("#EXT-X-SKIP",e.attributes,["SKIPPED-SEGMENTS"])},part:function(){var t=this;o=!0;var i=this.manifest.segments.length,n=y(e.attributes);s.parts=s.parts||[],s.parts.push(n),n.byterange&&(n.byterange.hasOwnProperty("offset")||(n.byterange.offset=_),_=n.byterange.offset+n.byterange.length);var r=s.parts.length-1;this.warnOnMissingAttributes_("#EXT-X-PART #"+r+" for segment #"+i,e.attributes,["URI","DURATION"]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach((function(e,i){e.hasOwnProperty("lastPart")||t.trigger("warn",{message:"#EXT-X-RENDITION-REPORT #"+i+" lacks required attribute(s): LAST-PART"})}))},"server-control":function(){var t=this.manifest.serverControl=y(e.attributes);t.hasOwnProperty("canBlockReload")||(t.canBlockReload=!1,this.trigger("info",{message:"#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"})),b.call(this,this.manifest),t.canSkipDateranges&&!t.hasOwnProperty("canSkipUntil")&&this.trigger("warn",{message:"#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"})},"preload-hint":function(){var t=this.manifest.segments.length,i=y(e.attributes),n=i.type&&"PART"===i.type;s.preloadHints=s.preloadHints||[],s.preloadHints.push(i),i.byterange&&(i.byterange.hasOwnProperty("offset")||(i.byterange.offset=n?_:0,n&&(_=i.byterange.offset+i.byterange.length)));var r=s.preloadHints.length-1;if(this.warnOnMissingAttributes_("#EXT-X-PRELOAD-HINT #"+r+" for segment #"+t,e.attributes,["TYPE","URI"]),i.type)for(var a=0;a=r&&console.debug("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=r&&console.info("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=r&&a.getDurationString(new Date-n,1e3)},error:function(e,t){4>=r&&console.error("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)}});a.getDurationString=function(e,t){var i;function n(e,t){for(var i=(""+e).split(".");i[0].length0){for(var i="",n=0;n0&&(i+=","),i+="["+a.getDurationString(e.start(n))+","+a.getDurationString(e.end(n))+"]";return i}return"(empty)"},void 0!==i&&(i.Log=a);var s=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};s.prototype.getPosition=function(){return this.position},s.prototype.getEndPosition=function(){return this.buffer.byteLength},s.prototype.getLength=function(){return this.buffer.byteLength},s.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},s.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},s.prototype.readAnyInt=function(e,t){var i=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:i=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position)<<8,i|=this.dataview.getUint8(this.position);break;case 4:i=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,i}throw"Not enough bytes in buffer"},s.prototype.readUint8=function(){return this.readAnyInt(1,!1)},s.prototype.readUint16=function(){return this.readAnyInt(2,!1)},s.prototype.readUint24=function(){return this.readAnyInt(3,!1)},s.prototype.readUint32=function(){return this.readAnyInt(4,!1)},s.prototype.readUint64=function(){return this.readAnyInt(8,!1)},s.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",i=0;ithis._byteLength&&(this._byteLength=t);else{for(i<1&&(i=1);t>i;)i*=2;var n=new ArrayBuffer(i),r=new Uint8Array(this._buffer);new Uint8Array(n,0,r.length).set(r),this.buffer=n,this._byteLength=t}}},o.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),i=new Uint8Array(this._buffer,0,t.length);t.set(i),this.buffer=e}},o.BIG_ENDIAN=!1,o.LITTLE_ENDIAN=!0,o.prototype._byteLength=0,Object.defineProperty(o.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(o.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(o.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(o.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},o.prototype.isEof=function(){return this.position>=this._byteLength},o.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},o.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Int32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return o.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},o.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Uint32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Uint16Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return o.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},o.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var i=new Float64Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Float32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},o.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},o.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},o.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},o.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},o.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,o.memcpy=function(e,t,i,n,r){var a=new Uint8Array(e,t,r),s=new Uint8Array(i,n,r);a.set(s)},o.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},o.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},o.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=0;ir;n--,r++){var a=t[r];t[r]=t[n],t[n]=a}return e},o.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],i=0;i>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},o.prototype.adjustUint32=function(e,t){var i=this.position;this.seek(e),this.writeUint32(t),this.seek(i)},o.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var i=new Int32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},o.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var i=new Int16Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},o.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},o.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},o.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},o.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var i=new Float64Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=8*e,i},o.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var i=new Float32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i};var l=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(l.prototype=new o(new ArrayBuffer,0,o.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),e.byteLength),i.buffer},l.prototype.reduceBuffer=function(e,t,i){var n;return(n=new Uint8Array(i)).set(new Uint8Array(e,t,i)),n.buffer.fileStart=e.fileStart+t,n.buffer.usedBytes=0,n.buffer},l.prototype.insertBuffer=function(e){for(var t=!0,i=0;in.byteLength){this.buffers.splice(i,1),i--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=n.fileStart||(e=this.reduceBuffer(e,0,n.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(i,0,e),0===i&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,r,s)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===i&&(this.buffer=e))},l.prototype.logBufferLevel=function(e){var t,i,n,r,s,o=[],u="";for(n=0,r=0,t=0;t0&&(u+=s.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+n+"/"+r+" bytes): "+u)},l.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},l.prototype.findPosition=function(e,t,i){var n,r=null,s=-1;for(n=!0===e?0:this.bufferIndex;n=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},l.prototype.findEndContiguousBuf=function(e){var t,i,n,r=void 0!==e?e:this.bufferIndex;if(i=this.buffers[r],this.buffers.length>r+1)for(t=r+1;t>3;return 31===n&&i.data.length>=2&&(n=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),n}return null},i.DecoderConfigDescriptor=function(e){i.Descriptor.call(this,4,e)},i.DecoderConfigDescriptor.prototype=new i.Descriptor,i.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i.DecoderSpecificInfo=function(e){i.Descriptor.call(this,5,e)},i.DecoderSpecificInfo.prototype=new i.Descriptor,i.SLConfigDescriptor=function(e){i.Descriptor.call(this,6,e)},i.SLConfigDescriptor.prototype=new i.Descriptor,this};void 0!==i&&(i.MPEG4DescriptorParser=h);var d={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){d.FullBox.prototype=new d.Box,d.ContainerBox.prototype=new d.Box,d.SampleEntry.prototype=new d.Box,d.TrackGroupTypeBox.prototype=new d.FullBox,d.BASIC_BOXES.forEach((function(e){d.createBoxCtor(e)})),d.FULL_BOXES.forEach((function(e){d.createFullBoxCtor(e)})),d.CONTAINER_BOXES.forEach((function(e){d.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,i){this.type=e,this.size=t,this.uuid=i},FullBox:function(e,t,i){d.Box.call(this,e,t,i),this.flags=0,this.version=0},ContainerBox:function(e,t,i){d.Box.call(this,e,t,i),this.boxes=[]},SampleEntry:function(e,t,i,n){d.ContainerBox.call(this,e,t),this.hdr_size=i,this.start=n},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){d.FullBox.call(this,e,t)},createBoxCtor:function(e,t){d.boxCodes.push(e),d[e+"Box"]=function(t){d.Box.call(this,e,t)},d[e+"Box"].prototype=new d.Box,t&&(d[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){d[e+"Box"]=function(t){d.FullBox.call(this,e,t)},d[e+"Box"].prototype=new d.FullBox,d[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,i=0;ii?(a.error("BoxParser","Box of type '"+h+"' has a size "+l+" greater than its container size "+i),{code:d.ERR_NOT_ENOUGH_DATA,type:h,size:l,hdr_size:u,start:o}):o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:d.ERR_NOT_ENOUGH_DATA,type:h,size:l,hdr_size:u,start:o}):t?{code:d.OK,type:h,size:l,hdr_size:u,start:o}:(d[h+"Box"]?n=new d[h+"Box"](l):"uuid"!==h?(a.warn("BoxParser","Unknown box type: '"+h+"'"),(n=new d.Box(h,l)).has_unparsed_data=!0):d.UUIDBoxes[s]?n=new d.UUIDBoxes[s](l):(a.warn("BoxParser","Unknown uuid type: '"+s+"'"),(n=new d.Box(h,l)).uuid=s,n.has_unparsed_data=!0),n.hdr_size=u,n.start=o,n.write===d.Box.prototype.write&&"mdat"!==n.type&&(a.info("BoxParser","'"+c+"' box writing not yet implemented, keeping unparsed data in memory for later write"),n.parseDataAndRewind(e)),n.parse(e),(r=e.getPosition()-(n.start+n.size))<0?(a.warn("BoxParser","Parsing of box '"+c+"' did not read the entire indicated box data size (missing "+-r+" bytes), seeking forward"),e.seek(n.start+n.size)):r>0&&(a.error("BoxParser","Parsing of box '"+c+"' read "+r+" more bytes than the indicated box data size, seeking backwards"),e.seek(n.start+n.size)),{code:d.OK,box:n,size:n.size})},d.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},d.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},d.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},d.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},d.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},d.ContainerBox.prototype.parse=function(e){for(var t,i;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},d.SAMPLE_ENTRY_TYPE_VISUAL="Visual",d.SAMPLE_ENTRY_TYPE_AUDIO="Audio",d.SAMPLE_ENTRY_TYPE_HINT="Hint",d.SAMPLE_ENTRY_TYPE_METADATA="Metadata",d.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",d.SAMPLE_ENTRY_TYPE_SYSTEM="System",d.SAMPLE_ENTRY_TYPE_TEXT="Text",d.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},d.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},d.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},d.SampleEntry.prototype.parseFooter=function(e){d.ContainerBox.prototype.parse.call(this,e)},d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_HINT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT,"enct"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA,"encm"),d.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var i=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(i)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),d.createBoxCtor("avcC",(function(e){var t,i;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(i))})),d.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),d.createBoxCtor("clap",(function(e){this.cleanApertureWidthN=e.readUint32(),this.cleanApertureWidthD=e.readUint32(),this.cleanApertureHeightN=e.readUint32(),this.cleanApertureHeightD=e.readUint32(),this.horizOffN=e.readUint32(),this.horizOffD=e.readUint32(),this.vertOffN=e.readUint32(),this.vertOffD=e.readUint32()})),d.createBoxCtor("clli",(function(e){this.max_content_light_level=e.readUint16(),this.max_pic_average_light_level=e.readUint16()})),d.createFullBoxCtor("co64",(function(e){var t,i;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(i=0;i>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),d.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),d.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),d.createFullBoxCtor("ctts",(function(e){var t,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(i=0;i>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|n>>5&7})),d.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var i=0;i>6,n.bsid=r>>1&31,n.bsmod=(1&r)<<4|a>>4&15,n.acmod=a>>1&7,n.lfeon=1&a,n.num_dep_sub=s>>1&15,n.num_dep_sub>0&&(n.chan_loc=(1&s)<<8|e.readUint8())}})),d.createFullBoxCtor("dfLa",(function(e){var t=[],i=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var n=e.readUint8(),r=Math.min(127&n,i.length-1);if(r?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(i[r]),128&n)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),d.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),d.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),d.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),d.createFullBoxCtor("dref",(function(e){var t,i;this.entries=[];for(var n=e.readUint32(),r=0;r=4;)this.compatible_brands[i]=e.readString(4),t-=4,i++})),d.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),d.createBoxCtor("hvcC",(function(e){var t,i,n,r;this.configurationVersion=e.readUint8(),r=e.readUint8(),this.general_profile_space=r>>6,this.general_tier_flag=(32&r)>>5,this.general_profile_idc=31&r,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),r=e.readUint8(),this.constantFrameRate=r>>6,this.numTemporalLayers=(13&r)>>3,this.temporalIdNested=(4&r)>>2,this.lengthSizeMinusOne=3&r,this.nalu_arrays=[];var a=e.readUint8();for(t=0;t>7,s.nalu_type=63&r;var o=e.readUint16();for(i=0;i>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=e.readUint32()}for(var n=0;n=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),d.createFullBoxCtor("ipma",(function(e){var t,i;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?s.property_index=(127&a)<<8|e.readUint8():s.property_index=127&a}}})),d.createFullBoxCtor("iref",(function(e){var t,i;for(this.references=[];e.getPosition()>7,n.assignment_type=127&r,n.assignment_type){case 0:n.grouping_type=e.readString(4);break;case 1:n.grouping_type=e.readString(4),n.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:n.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),d.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),d.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]={},this.display_primaries[0].x=e.readUint16(),this.display_primaries[0].y=e.readUint16(),this.display_primaries[1]={},this.display_primaries[1].x=e.readUint16(),this.display_primaries[1].y=e.readUint16(),this.display_primaries[2]={},this.display_primaries[2].x=e.readUint16(),this.display_primaries[2].y=e.readUint16(),this.white_point={},this.white_point.x=e.readUint16(),this.white_point.y=e.readUint16(),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),d.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),d.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),d.createFullBoxCtor("meta",(function(e){this.boxes=[],d.ContainerBox.prototype.parse.call(this,e)})),d.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),d.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),d.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),d.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),d.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),d.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var i=0;i0){var t=e.readUint32();this.kid=[];for(var i=0;i0&&(this.data=e.readUint8Array(n))})),d.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),d.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),d.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var i=0;i>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e.readUint8(),n=0;n>7,this.num_leading_samples=127&t})),d.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=d.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),d.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),d.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),d.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),i=0;i>6,this.sample_depends_on[n]=t>>4&3,this.sample_is_depended_on[n]=t>>2&3,this.sample_has_redundancy[n]=3&t})),d.createFullBoxCtor("senc"),d.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),i=0;i>31&1,n.referenced_size=2147483647&r,n.subsegment_duration=e.readUint32(),r=e.readUint32(),n.starts_with_SAP=r>>31&1,n.SAP_type=r>>28&7,n.SAP_delta_time=268435455&r}})),d.SingleItemTypeReferenceBox=function(e,t,i,n){d.Box.call(this,e,t),this.hdr_size=i,this.start=n},d.SingleItemTypeReferenceBox.prototype=new d.Box,d.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[t+1]=15&n}else if(8===this.field_size)for(t=0;t0)for(i=0;i>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=d.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),d.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),d.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),d.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var i=e.readUint32(),n=0;n>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),d.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),d.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),d.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),d.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),d.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),d.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},d.createTrackGroupCtor("msrc"),d.TrackReferenceTypeBox=function(e,t,i,n){d.Box.call(this,e,t),this.hdr_size=i,this.start=n},d.TrackReferenceTypeBox.prototype=new d.Box,d.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},d.trefBox.prototype.parse=function(e){for(var t,i;e.getPosition()t&&this.flags&d.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&d.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var i=0;i0&&(this.location=e.readCString())})),d.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),d.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=d.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),d.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),d.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=d.parseHex16(e)})),d.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),d.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),d.SampleEntry.prototype.isVideo=function(){return!1},d.SampleEntry.prototype.isAudio=function(){return!1},d.SampleEntry.prototype.isSubtitle=function(){return!1},d.SampleEntry.prototype.isMetadata=function(){return!1},d.SampleEntry.prototype.isHint=function(){return!1},d.SampleEntry.prototype.getCodec=function(){return this.type.replace(".","")},d.SampleEntry.prototype.getWidth=function(){return""},d.SampleEntry.prototype.getHeight=function(){return""},d.SampleEntry.prototype.getChannelCount=function(){return""},d.SampleEntry.prototype.getSampleRate=function(){return""},d.SampleEntry.prototype.getSampleSize=function(){return""},d.VisualSampleEntry.prototype.isVideo=function(){return!0},d.VisualSampleEntry.prototype.getWidth=function(){return this.width},d.VisualSampleEntry.prototype.getHeight=function(){return this.height},d.AudioSampleEntry.prototype.isAudio=function(){return!0},d.AudioSampleEntry.prototype.getChannelCount=function(){return this.channel_count},d.AudioSampleEntry.prototype.getSampleRate=function(){return this.samplerate},d.AudioSampleEntry.prototype.getSampleSize=function(){return this.samplesize},d.SubtitleSampleEntry.prototype.isSubtitle=function(){return!0},d.MetadataSampleEntry.prototype.isMetadata=function(){return!0},d.decimalToHex=function(e,t){var i=Number(e).toString(16);for(t=null==t?t=2:t;i.length>=1;t+=d.decimalToHex(n,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var r=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||r)&&(a="."+d.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+a,r=!0);t+=a}return t},d.mp4aSampleEntry.prototype.getCodec=function(){var e=d.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return e+"."+d.decimalToHex(t)+(i?"."+i:"")}return e},d.stxtSampleEntry.prototype.getCodec=function(){var e=d.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},d.av01SampleEntry.prototype.getCodec=function(){var e,t=d.SampleEntry.prototype.getCodec.call(this);return 2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+this.av1C.seq_level_idx_0+(this.av1C.seq_tier_0?"H":"M")+"."+e},d.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>u&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>u?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>u&&e.writeUint64(this.size)},d.FullBox.prototype.writeHeader=function(e){this.size+=4,d.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},d.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},d.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1-1||e[i]instanceof d.Box||t[i]instanceof d.Box||void 0===e[i]||void 0===t[i]||"function"==typeof e[i]||"function"==typeof t[i]||e.subBoxNames&&e.subBoxNames.indexOf(i.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(i.slice(0,4))>-1||"data"===i||"start"===i||"size"===i||"creation_time"===i||"modification_time"===i||d.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(i)>-1||e[i]===t[i]))return!1;return!0},d.boxEqual=function(e,t){if(!d.boxEqualFields(e,t))return!1;for(var i=0;i=t?e:new Array(t-e.length+1).join(i)+e}function r(e){var t=Math.floor(e/3600),i=Math.floor((e-3600*t)/60),r=Math.floor(e-3600*t-60*i),a=Math.floor(1e3*(e-3600*t-60*i-r));return n(t,2)+":"+n(i,2)+":"+n(r,2)+"."+n(a,3)}for(var a=this.parseSample(i),s="",o=0;o1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},m.prototype.setExtractionOptions=function(e,t,i){var n=this.getTrackById(e);if(n){var r={};this.extractedTracks.push(r),r.id=e,r.user=t,r.trak=n,n.nextSample=0,r.nb_samples=1e3,r.samples=[],i&&i.nbSamples&&(r.nb_samples=i.nbSamples)}},m.prototype.unsetExtractionOptions=function(e){for(var t=-1,i=0;i-1&&this.extractedTracks.splice(t,1)},m.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=d.parseOneBox(this.stream,!1)).code===d.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var i;switch(i="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),i){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[i]&&a.warn("ISOFile","Duplicate Box of type: "+i+", overriding previous occurrence"),this[i]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},m.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},m.prototype.appendBuffer=function(e,t){var i;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(i=this.nextSeekPosition,this.nextSeekPosition=void 0):i=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(i=this.stream.getEndFilePositionAfter(i))):i=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+i),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),i},m.prototype.getInfo=function(){var e,t,i,n,r,a={},s=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(s+1e3*this.moov.mvhd.creation_time),a.modified=new Date(s+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=i.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+n.id+" for samples ["+Math.max(0,i.nextSample-n.nb_samples)+","+(i.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(n.id,n.user,n.segmentStream.buffer,i.nextSample,e||i.nextSample>=i.samples.length),n.segmentStream=null,n!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=i.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+i.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},m.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},m.prototype.getBoxes=function(e,t){var i=[];return m._sweep.call(this,e,i,t),i},m._sweep=function(e,t,i){for(var n in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&i)return;m._sweep.call(this.boxes[n],e,t,i)}},m.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},m.prototype.getTrackSample=function(e,t){var i=this.getTrackById(e);return this.getSample(i,t)},m.prototype.releaseUsedSamples=function(e,t){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var r=n.lastValidSample;re*r.timescale){l=n-1;break}t&&r.is_sync&&(u=n)}for(t&&(l=u),e=i.samples[l].cts,i.nextSample=l;i.samples[l].alreadyRead===i.samples[l].size&&i.samples[l+1];)l++;return s=i.samples[l].offset+i.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+s),{offset:s,time:e/o}},m.prototype.seek=function(e,t){var i,n,r,s=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(r=0;r-1){s=o;break}switch(s){case"Visual":r.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24);break;case"Audio":r.add("smhd").set("balance",t.balance||0),a.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":r.add("hmhd");break;case"Subtitle":switch(r.add("sthd"),t.type){case"stpp":a.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"")}break;case"Metadata":case"System":default:r.add("nmhd")}t.description&&a.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){a.addBox(e)})),r.add("dinf").add("dref").addEntry((new d["url Box"]).set("flags",1));var h=r.add("stbl");return h.add("stsd").addEntry(a),h.add("stts").set("sample_counts",[]).set("sample_deltas",[]),h.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),h.add("stco").set("chunk_offsets",[]),h.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(i),t.id}},d.Box.prototype.computeSize=function(e){var t=e||new o;t.endianness=o.BIG_ENDIAN,this.write(t)},m.prototype.addSample=function(e,t,i){var n=i||{},r={},a=this.getTrackById(e);if(null!==a){r.number=a.samples.length,r.track_id=a.tkhd.track_id,r.timescale=a.mdia.mdhd.timescale,r.description_index=n.sample_description_index?n.sample_description_index-1:0,r.description=a.mdia.minf.stbl.stsd.entries[r.description_index],r.data=t,r.size=t.length,r.alreadyRead=r.size,r.duration=n.duration||1,r.cts=n.cts||0,r.dts=n.dts||0,r.is_sync=n.is_sync||!1,r.is_leading=n.is_leading||0,r.depends_on=n.depends_on||0,r.is_depended_on=n.is_depended_on||0,r.has_redundancy=n.has_redundancy||0,r.degradation_priority=n.degradation_priority||0,r.offset=0,r.subsamples=n.subsamples,a.samples.push(r),a.samples_size+=r.size,a.samples_duration+=r.duration,this.processSamples();var s=m.createSingleSampleMoof(r);return this.addBox(s),s.computeSize(),s.trafs[0].truns[0].data_offset=s.size+8,this.add("mdat").data=t,r}},m.createSingleSampleMoof=function(e){var t=new d.moofBox;t.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=t.add("traf");return i.add("tfhd").set("track_id",e.track_id).set("flags",d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts),i.add("trun").set("flags",d.TRUN_FLAGS_DATA_OFFSET|d.TRUN_FLAGS_DURATION|d.TRUN_FLAGS_SIZE|d.TRUN_FLAGS_FLAGS|d.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[0]).set("sample_composition_time_offset",[e.cts-e.dts]),t},m.prototype.lastMoofIndex=0,m.prototype.samplesDataSize=0,m.prototype.resetTables=function(){var e,t,i,n,r,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(u=r[s].grouping_type+"/0",(o=new l(r[s].grouping_type,0)).is_fragment=!0,t.sample_groups_info[u]||(t.sample_groups_info[u]=o))}else for(s=0;s=2&&(u=n[s].grouping_type+"/0",o=new l(n[s].grouping_type,0),e.sample_groups_info[u]||(e.sample_groups_info[u]=o))},m.setSampleGroupProperties=function(e,t,i,n){var r,a;for(r in t.sample_groups=[],n){var s;if(t.sample_groups[r]={},t.sample_groups[r].grouping_type=n[r].grouping_type,t.sample_groups[r].grouping_type_parameter=n[r].grouping_type_parameter,i>=n[r].last_sample_in_run&&(n[r].last_sample_in_run<0&&(n[r].last_sample_in_run=0),n[r].entry_index++,n[r].entry_index<=n[r].sbgp.entries.length-1&&(n[r].last_sample_in_run+=n[r].sbgp.entries[n[r].entry_index].sample_count)),n[r].entry_index<=n[r].sbgp.entries.length-1?t.sample_groups[r].group_description_index=n[r].sbgp.entries[n[r].entry_index].group_description_index:t.sample_groups[r].group_description_index=-1,0!==t.sample_groups[r].group_description_index)s=n[r].fragment_description?n[r].fragment_description:n[r].description,t.sample_groups[r].group_description_index>0?(a=t.sample_groups[r].group_description_index>65535?(t.sample_groups[r].group_description_index>>16)-1:t.sample_groups[r].group_description_index-1,s&&a>=0&&(t.sample_groups[r].description=s.entries[a])):s&&s.version>=2&&s.default_group_description_index>0&&(t.sample_groups[r].description=s.entries[s.default_group_description_index-1])}},m.process_sdtp=function(e,t,i){t&&(e?(t.is_leading=e.is_leading[i],t.depends_on=e.sample_depends_on[i],t.is_depended_on=e.sample_is_depended_on[i],t.has_redundancy=e.sample_has_redundancy[i]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},m.prototype.buildSampleLists=function(){var e,t;for(e=0;ey&&(b++,y<0&&(y=0),y+=a.sample_counts[b]),t>0?(e.samples[t-1].duration=a.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,C.dts=e.samples[t-1].dts+e.samples[t-1].duration):C.dts=0,s?(t>=S&&(T++,S<0&&(S=0),S+=s.sample_counts[T]),C.cts=e.samples[t].dts+s.sample_offsets[T]):C.cts=C.dts,o?(t==o.sample_numbers[E]-1?(C.is_sync=!0,E++):(C.is_sync=!1,C.degradation_priority=0),l&&l.entries[w].sample_delta+A==t+1&&(C.subsamples=l.entries[w].subsamples,A+=l.entries[w].sample_delta,w++)):C.is_sync=!0,m.process_sdtp(e.mdia.minf.stbl.sdtp,C,C.number),C.degradation_priority=c?c.priority[t]:0,l&&l.entries[w].sample_delta+A==t&&(C.subsamples=l.entries[w].subsamples,A+=l.entries[w].sample_delta),(h.length>0||d.length>0)&&m.setSampleGroupProperties(e,C,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},m.prototype.updateSampleLists=function(){var e,t,i,n,r,a,s,o,u,l,h,c,f,p,_;if(void 0!==this.moov)for(;this.lastMoofIndex0&&m.initSampleGroups(c,h,h.sbgps,c.mdia.minf.stbl.sgpds,h.sgpds),t=0;t0?p.dts=c.samples[c.samples.length-2].dts+c.samples[c.samples.length-2].duration:(h.tfdt?p.dts=h.tfdt.baseMediaDecodeTime:p.dts=0,c.first_traf_merged=!0),p.cts=p.dts,g.flags&d.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+g.sample_composition_time_offset[i]),_=s,g.flags&d.TRUN_FLAGS_FLAGS?_=g.sample_flags[i]:0===i&&g.flags&d.TRUN_FLAGS_FIRST_FLAG&&(_=g.first_sample_flags),p.is_sync=!(_>>16&1),p.is_leading=_>>26&3,p.depends_on=_>>24&3,p.is_depended_on=_>>22&3,p.has_redundancy=_>>20&3,p.degradation_priority=65535&_;var v=!!(h.tfhd.flags&d.TFHD_FLAG_BASE_DATA_OFFSET),y=!!(h.tfhd.flags&d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(g.flags&d.TRUN_FLAGS_DATA_OFFSET),S=0;S=v?h.tfhd.base_data_offset:y||0===t?l.start:o,p.offset=0===t&&0===i?b?S+g.data_offset:S:o,o=p.offset+p.size,(h.sbgps.length>0||h.sgpds.length>0||c.mdia.minf.stbl.sbgps.length>0||c.mdia.minf.stbl.sgpds.length>0)&&m.setSampleGroupProperties(c,p,p.number_in_traf,h.sample_groups_info)}}if(h.subs){c.has_fragment_subsamples=!0;var T=h.first_sample_index;for(t=0;t-1))return null;var s=(i=this.stream.buffers[r]).byteLength-(n.offset+n.alreadyRead-i.fileStart);if(n.size-n.alreadyRead<=s)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-i.fileStart)+" read size: "+(n.size-n.alreadyRead)+" full size: "+n.size+")"),o.memcpy(n.data.buffer,n.alreadyRead,i,n.offset+n.alreadyRead-i.fileStart,n.size-n.alreadyRead),i.usedBytes+=n.size-n.alreadyRead,this.stream.logBufferLevel(),n.alreadyRead=n.size,n;if(0===s)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-i.fileStart)+" read size: "+s+" full size: "+n.size+")"),o.memcpy(n.data.buffer,n.alreadyRead,i,n.offset+n.alreadyRead-i.fileStart,s),n.alreadyRead+=s,i.usedBytes+=s,this.stream.logBufferLevel()}},m.prototype.releaseSample=function(e,t){var i=e.samples[t];return i.data?(this.samplesDataSize-=i.size,i.data=null,i.alreadyRead=0,i.size):0},m.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},m.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},m.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(i.protection=r.ipro.protections[r.iinf.item_infos[e].protection_index-1]),r.iinf.item_infos[e].item_type?i.type=r.iinf.item_infos[e].item_type:i.type="mime",i.content_type=r.iinf.item_infos[e].content_type,i.content_encoding=r.iinf.item_infos[e].content_encoding;if(r.iloc)for(e=0;e0){var c=r.iprp.ipco.boxes[d.property_index-1];i.properties[c.type]=c,i.properties.boxes.push(c)}}}}}},m.prototype.getItem=function(e){var t,i;if(!this.meta)return null;if(!(i=this.items[e]).data&&i.size)i.data=new Uint8Array(i.size),i.alreadyRead=0,this.itemsDataSize+=i.size,a.debug("ISOFile","Allocating item #"+e+" of size "+i.size+" (total: "+this.itemsDataSize+")");else if(i.alreadyRead===i.size)return i;for(var n=0;n-1))return null;var u=(t=this.stream.buffers[s]).byteLength-(r.offset+r.alreadyRead-t.fileStart);if(!(r.length-r.alreadyRead<=u))return a.debug("ISOFile","Getting item #"+e+" extent #"+n+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+u+" full extent size: "+r.length+" full item size: "+i.size+")"),o.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,u),r.alreadyRead+=u,i.alreadyRead+=u,t.usedBytes+=u,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+n+" data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+(r.length-r.alreadyRead)+" full extent size: "+r.length+" full item size: "+i.size+")"),o.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,r.length-r.alreadyRead),t.usedBytes+=r.length-r.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead+=r.length-r.alreadyRead,r.alreadyRead=r.length}}return i.alreadyRead===i.size?i:null},m.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var i=0;i0?this.moov.traks[e].samples[0].duration:0),t.push(n)}return t},d.Box.prototype.printHeader=function(e){this.size+=8,this.size>u&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},d.FullBox.prototype.printHeader=function(e){this.size+=4,d.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},d.Box.prototype.print=function(e){this.printHeader(e)},d.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},d.tkhdBox.prototype.print=function(e){d.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var _={createFile:function(e,t){var i=void 0===e||e,n=new m(t);return n.discardMdatData=!i,n}};void 0!==i&&(i.createFile=_.createFile)},{}],40:[function(e,t,i){ +/*! @name mpd-parser @version 0.19.0 @license Apache-2.0 */ +"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e("@videojs/vhs-utils/cjs/resolve-url"),r=e("global/window"),a=e("@videojs/vhs-utils/cjs/decode-b64-to-uint8-array"),s=e("@xmldom/xmldom");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(n),l=o(r),h=o(a),d=function(e){return!!e&&"object"==typeof e},c=function e(){for(var t=arguments.length,i=new Array(t),n=0;n=0&&(f.minimumUpdatePeriod=1e3*u),t&&(f.locations=t),"dynamic"===s&&(f.suggestedPresentationDelay=o);var p=0===f.playlists.length;return h.length&&(f.mediaGroups.AUDIO.audio=function(e,t,i){var n;void 0===t&&(t={}),void 0===i&&(i=!1);var r=e.reduce((function(e,r){var a=r.attributes.role&&r.attributes.role.value||"",s=r.attributes.lang||"",o=r.attributes.label||"main";if(s&&!r.attributes.label){var u=a?" ("+a+")":"";o=""+r.attributes.lang+u}e[o]||(e[o]={language:s,autoselect:!0,default:"main"===a,playlists:[],uri:""});var l=I(function(e,t){var i,n=e.attributes,r=e.segments,a=e.sidx,s={attributes:(i={NAME:n.id,BANDWIDTH:n.bandwidth,CODECS:n.codecs},i["PROGRAM-ID"]=1,i),uri:"",endList:"static"===n.type,timeline:n.periodIndex,resolvedUri:"",targetDuration:n.duration,segments:r,mediaSequence:r.length?r[0].number:1};return n.contentProtection&&(s.contentProtection=n.contentProtection),a&&(s.sidx=a),t&&(s.attributes.AUDIO="audio",s.attributes.SUBTITLES="subs"),s}(r,i),t);return e[o].playlists.push(l),void 0===n&&"main"===a&&((n=r).default=!0),e}),{});n||(r[Object.keys(r)[0]].default=!0);return r}(h,i,p)),d.length&&(f.mediaGroups.SUBTITLES.subs=function(e,t){return void 0===t&&(t={}),e.reduce((function(e,i){var n=i.attributes.lang||"text";return e[n]||(e[n]={language:n,default:!1,autoselect:!1,playlists:[],uri:""}),e[n].playlists.push(I(function(e){var t,i=e.attributes,n=e.segments;void 0===n&&(n=[{uri:i.baseUrl,timeline:i.periodIndex,resolvedUri:i.baseUrl||"",duration:i.sourceDuration,number:0}],i.duration=i.sourceDuration);var r=((t={NAME:i.id,BANDWIDTH:i.bandwidth})["PROGRAM-ID"]=1,t);return i.codecs&&(r.CODECS=i.codecs),{attributes:r,uri:"",endList:"static"===i.type,timeline:i.periodIndex,resolvedUri:i.baseUrl||"",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1}}(i),t)),e}),{})}(d,i)),c.length&&(f.mediaGroups["CLOSED-CAPTIONS"].cc=c.reduce((function(e,t){return t?(t.forEach((function(t){var i=t.channel,n=t.language;e[n]={autoselect:!1,default:!1,instreamId:i,language:n},t.hasOwnProperty("aspectRatio")&&(e[n].aspectRatio=t.aspectRatio),t.hasOwnProperty("easyReader")&&(e[n].easyReader=t.easyReader),t.hasOwnProperty("3D")&&(e[n]["3D"]=t["3D"])})),e):e}),{})),f},M=function(e,t,i){var n=e.NOW,r=e.clientOffset,a=e.availabilityStartTime,s=e.timescale,o=void 0===s?1:s,u=e.start,l=void 0===u?0:u,h=e.minimumUpdatePeriod,d=(n+r)/1e3+(void 0===h?0:h)-(a+l);return Math.ceil((d*o-t)/i)},F=function(e,t){for(var i=e.type,n=e.minimumUpdatePeriod,r=void 0===n?0:n,a=e.media,s=void 0===a?"":a,o=e.sourceDuration,u=e.timescale,l=void 0===u?1:u,h=e.startNumber,d=void 0===h?1:h,c=e.periodIndex,f=[],p=-1,m=0;mp&&(p=y);var b=void 0;if(v<0){var S=m+1;b=S===t.length?"dynamic"===i&&r>0&&s.indexOf("$Number$")>0?M(e,p,g):(o*l-p)/g:(t[S].t-p)/g}else b=v+1;for(var T=d+f.length+b,E=d+f.length;E=r?a:""+new Array(r-a.length+1).join("0")+a)}}(t))},j=function(e,t){var i={RepresentationID:e.id,Bandwidth:e.bandwidth||0},n=e.initialization,r=void 0===n?{sourceURL:"",range:""}:n,a=S({baseUrl:e.baseUrl,source:N(r.sourceURL,i),range:r.range});return function(e,t){return e.duration||t?e.duration?w(e):F(e,t):[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodIndex}]}(e,t).map((function(t){i.Number=t.number,i.Time=t.time;var n=N(e.media||"",i),r=e.timescale||1,s=e.presentationTimeOffset||0,o=e.periodStart+(t.time-s)/r;return{uri:n,timeline:t.timeline,duration:t.duration,resolvedUri:u.default(e.baseUrl||"",n),map:a,number:t.number,presentationTime:o}}))},V=function(e,t){var i=e.duration,n=e.segmentUrls,r=void 0===n?[]:n,a=e.periodStart;if(!i&&!t||i&&t)throw new Error(y);var s,o=r.map((function(t){return function(e,t){var i=e.baseUrl,n=e.initialization,r=void 0===n?{}:n,a=S({baseUrl:i,source:r.sourceURL,range:r.range}),s=S({baseUrl:i,source:t.media,range:t.mediaRange});return s.map=a,s}(e,t)}));return i&&(s=w(e)),t&&(s=F(e,t)),s.map((function(t,i){if(o[i]){var n=o[i],r=e.timescale||1,s=e.presentationTimeOffset||0;return n.timeline=t.timeline,n.duration=t.duration,n.number=t.number,n.presentationTime=a+(t.time-s)/r,n}})).filter((function(e){return e}))},H=function(e){var t,i,n=e.attributes,r=e.segmentInfo;r.template?(i=j,t=c(n,r.template)):r.base?(i=A,t=c(n,r.base)):r.list&&(i=V,t=c(n,r.list));var a={attributes:n};if(!i)return a;var s=i(t,r.segmentTimeline);if(t.duration){var o=t,u=o.duration,l=o.timescale,h=void 0===l?1:l;t.duration=u/h}else s.length?t.duration=s.reduce((function(e,t){return Math.max(e,Math.ceil(t.duration))}),0):t.duration=0;return a.attributes=t,a.segments=s,r.base&&t.indexRange&&(a.sidx=s[0],a.segments=[]),a},z=function(e){return e.map(H)},G=function(e,t){return p(e.childNodes).filter((function(e){return e.tagName===t}))},W=function(e){return e.textContent.trim()},Y=function(e){var t=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(e);if(!t)return 0;var i=t.slice(1),n=i[0],r=i[1],a=i[2],s=i[3],o=i[4],u=i[5];return 31536e3*parseFloat(n||0)+2592e3*parseFloat(r||0)+86400*parseFloat(a||0)+3600*parseFloat(s||0)+60*parseFloat(o||0)+parseFloat(u||0)},q={mediaPresentationDuration:function(e){return Y(e)},availabilityStartTime:function(e){return/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(t=e)&&(t+="Z"),Date.parse(t)/1e3;var t},minimumUpdatePeriod:function(e){return Y(e)},suggestedPresentationDelay:function(e){return Y(e)},type:function(e){return e},timeShiftBufferDepth:function(e){return Y(e)},start:function(e){return Y(e)},width:function(e){return parseInt(e,10)},height:function(e){return parseInt(e,10)},bandwidth:function(e){return parseInt(e,10)},startNumber:function(e){return parseInt(e,10)},timescale:function(e){return parseInt(e,10)},presentationTimeOffset:function(e){return parseInt(e,10)},duration:function(e){var t=parseInt(e,10);return isNaN(t)?Y(e):t},d:function(e){return parseInt(e,10)},t:function(e){return parseInt(e,10)},r:function(e){return parseInt(e,10)},DEFAULT:function(e){return e}},K=function(e){return e&&e.attributes?p(e.attributes).reduce((function(e,t){var i=q[t.name]||q.DEFAULT;return e[t.name]=i(t.value),e}),{}):{}},X={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":"org.w3.clearkey","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":"com.widevine.alpha","urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":"com.microsoft.playready","urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":"com.adobe.primetime"},Q=function(e,t){return t.length?f(e.map((function(e){return t.map((function(t){return u.default(e,W(t))}))}))):e},$=function(e){var t=G(e,"SegmentTemplate")[0],i=G(e,"SegmentList")[0],n=i&&G(i,"SegmentURL").map((function(e){return c({tag:"SegmentURL"},K(e))})),r=G(e,"SegmentBase")[0],a=i||t,s=a&&G(a,"SegmentTimeline")[0],o=i||r||t,u=o&&G(o,"Initialization")[0],l=t&&K(t);l&&u?l.initialization=u&&K(u):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});var h={template:l,segmentTimeline:s&&G(s,"S").map((function(e){return K(e)})),list:i&&c(K(i),{segmentUrls:n,initialization:K(u)}),base:r&&c(K(r),{initialization:K(u)})};return Object.keys(h).forEach((function(e){h[e]||delete h[e]})),h},J=function(e,t,i){return function(n){var r,a=K(n),s=Q(t,G(n,"BaseURL")),o=G(n,"Role")[0],u={role:K(o)},l=c(e,a,u),d=G(n,"Accessibility")[0],p="urn:scte:dash:cc:cea-608:2015"===(r=K(d)).schemeIdUri?r.value.split(";").map((function(e){var t,i;if(i=e,/^CC\d=/.test(e)){var n=e.split("=");t=n[0],i=n[1]}else/^CC\d$/.test(e)&&(t=e);return{channel:t,language:i}})):"urn:scte:dash:cc:cea-708:2015"===r.schemeIdUri?r.value.split(";").map((function(e){var t={channel:void 0,language:void 0,aspectRatio:1,easyReader:0,"3D":0};if(/=/.test(e)){var i=e.split("="),n=i[0],r=i[1],a=void 0===r?"":r;t.channel=n,t.language=e,a.split(",").forEach((function(e){var i=e.split(":"),n=i[0],r=i[1];"lang"===n?t.language=r:"er"===n?t.easyReader=Number(r):"war"===n?t.aspectRatio=Number(r):"3D"===n&&(t["3D"]=Number(r))}))}else t.language=e;return t.channel&&(t.channel="SERVICE"+t.channel),t})):void 0;p&&(l=c(l,{captionServices:p}));var m=G(n,"Label")[0];if(m&&m.childNodes.length){var _=m.childNodes[0].nodeValue.trim();l=c(l,{label:_})}var g=G(n,"ContentProtection").reduce((function(e,t){var i=K(t),n=X[i.schemeIdUri];if(n){e[n]={attributes:i};var r=G(t,"cenc:pssh")[0];if(r){var a=W(r),s=a&&h.default(a);e[n].pssh=s}}return e}),{});Object.keys(g).length&&(l=c(l,{contentProtection:g}));var v=$(n),y=G(n,"Representation"),b=c(i,v);return f(y.map(function(e,t,i){return function(n){var r=G(n,"BaseURL"),a=Q(t,r),s=c(e,K(n)),o=$(n);return a.map((function(e){return{segmentInfo:c(i,o),attributes:c(s,{baseUrl:e})}}))}}(l,s,b)))}},Z=function(e,t){return function(i,n){var r=Q(t,G(i.node,"BaseURL")),a=parseInt(i.attributes.id,10),s=l.default.isNaN(a)?n:a,o=c(e,{periodIndex:s,periodStart:i.attributes.start});"number"==typeof i.attributes.duration&&(o.periodDuration=i.attributes.duration);var u=G(i.node,"AdaptationSet"),h=$(i.node);return f(u.map(J(o,r,h)))}},ee=function(e,t){void 0===t&&(t={});var i=t,n=i.manifestUri,r=void 0===n?"":n,a=i.NOW,s=void 0===a?Date.now():a,o=i.clientOffset,u=void 0===o?0:o,l=G(e,"Period");if(!l.length)throw new Error(m);var h=G(e,"Location"),d=K(e),c=Q([r],G(e,"BaseURL"));d.type=d.type||"static",d.sourceDuration=d.mediaPresentationDuration||0,d.NOW=s,d.clientOffset=u,h.length&&(d.locations=h.map(W));var p=[];return l.forEach((function(e,t){var i=K(e),n=p[t-1];i.start=function(e){var t=e.attributes,i=e.priorPeriodAttributes,n=e.mpdType;return"number"==typeof t.start?t.start:i&&"number"==typeof i.start&&"number"==typeof i.duration?i.start+i.duration:i||"static"!==n?null:0}({attributes:i,priorPeriodAttributes:n?n.attributes:null,mpdType:d.type}),p.push({node:e,attributes:i})})),{locations:d.locations,representationInfo:f(p.map(Z(d,c)))}},te=function(e){if(""===e)throw new Error(_);var t,i,n=new s.DOMParser;try{i=(t=n.parseFromString(e,"application/xml"))&&"MPD"===t.documentElement.tagName?t.documentElement:null}catch(e){}if(!i||i&&i.getElementsByTagName("parsererror").length>0)throw new Error(g);return i};i.VERSION="0.19.0",i.addSidxSegmentsToPlaylist=C,i.generateSidxKey=k,i.inheritAttributes=ee,i.parse=function(e,t){void 0===t&&(t={});var i=ee(te(e),t),n=z(i.representationInfo);return U(n,i.locations,t.sidxMapping)},i.parseUTCTiming=function(e){return function(e){var t=G(e,"UTCTiming")[0];if(!t)return null;var i=K(t);switch(i.schemeIdUri){case"urn:mpeg:dash:utc:http-head:2014":case"urn:mpeg:dash:utc:http-head:2012":i.method="HEAD";break;case"urn:mpeg:dash:utc:http-xsdate:2014":case"urn:mpeg:dash:utc:http-iso:2014":case"urn:mpeg:dash:utc:http-xsdate:2012":case"urn:mpeg:dash:utc:http-iso:2012":i.method="GET";break;case"urn:mpeg:dash:utc:direct:2014":case"urn:mpeg:dash:utc:direct:2012":i.method="DIRECT",i.value=Date.parse(i.value);break;case"urn:mpeg:dash:utc:http-ntp:2014":case"urn:mpeg:dash:utc:ntp:2014":case"urn:mpeg:dash:utc:sntp:2014":default:throw new Error(b)}return i}(te(e))},i.stringToMpdXml=te,i.toM3u8=U,i.toPlaylists=z},{"@videojs/vhs-utils/cjs/decode-b64-to-uint8-array":13,"@videojs/vhs-utils/cjs/resolve-url":20,"@xmldom/xmldom":28,"global/window":34}],41:[function(e,t,i){var n,r;n=window,r=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=14)}([function(e,t,i){"use strict";var n=i(6),r=i.n(n),a=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn)},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",n),e.ENABLE_INFO&&console.info&&console.info(n)},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",n),e.ENABLE_WARN&&console.warn},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",n),e.ENABLE_DEBUG&&console.debug&&console.debug(n)},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",n),e.ENABLE_VERBOSE},e}();a.GLOBAL_TAG="mpegts.js",a.FORCE_GLOBAL_TAG=!1,a.ENABLE_ERROR=!0,a.ENABLE_INFO=!0,a.ENABLE_WARN=!0,a.ENABLE_DEBUG=!0,a.ENABLE_VERBOSE=!0,a.ENABLE_CALLBACK=!1,a.emitter=new r.a,t.a=a},function(e,t,i){"use strict";t.a={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",TIMED_ID3_METADATA_ARRIVED:"timed_id3_metadata_arrived",PES_PRIVATE_DATA_DESCRIPTOR:"pes_private_data_descriptor",PES_PRIVATE_DATA_ARRIVED:"pes_private_data_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"}},function(e,t,i){"use strict";i.d(t,"c",(function(){return r})),i.d(t,"b",(function(){return a})),i.d(t,"a",(function(){return s}));var n=i(3),r={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},a={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},s=function(){function e(e){this._type=e||"undefined",this._status=r.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return e.prototype.destroy=function(){this._status=r.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null},e.prototype.isWorking=function(){return this._status===r.kConnecting||this._status===r.kBuffering},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"needStashBuffer",{get:function(){return this._needStash},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onContentLengthKnown",{get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onURLRedirect",{get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),e.prototype.open=function(e,t){throw new n.c("Unimplemented abstract function!")},e.prototype.abort=function(){throw new n.c("Unimplemented abstract function!")},e}()},function(e,t,i){"use strict";i.d(t,"d",(function(){return a})),i.d(t,"a",(function(){return s})),i.d(t,"b",(function(){return o})),i.d(t,"c",(function(){return u}));var n,r=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,"name",{get:function(){return"RuntimeException"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+": "+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"IllegalStateException"},enumerable:!1,configurable:!0}),t}(a),o=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"InvalidArgumentException"},enumerable:!1,configurable:!0}),t}(a),u=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"NotImplementedException"},enumerable:!1,configurable:!0}),t}(a)},function(e,t,i){"use strict";var n={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:i[0]||""},a={};if(r.browser){a[r.browser]=!0;var s=r.majorVersion.split(".");a.version={major:parseInt(r.majorVersion,10),string:r.version},s.length>1&&(a.version.minor=parseInt(s[1],10)),s.length>2&&(a.version.build=parseInt(s[2],10))}for(var o in r.platform&&(a[r.platform]=!0),(a.chrome||a.opr||a.safari)&&(a.webkit=!0),(a.rv||a.iemobile)&&(a.rv&&delete a.rv,r.browser="msie",a.msie=!0),a.edge&&(delete a.edge,r.browser="msedge",a.msedge=!0),a.opr&&(r.browser="opera",a.opera=!0),a.safari&&a.android&&(r.browser="android",a.android=!0),a.name=r.browser,a.platform=r.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,a)}(),t.a=n},function(e,t,i){"use strict";t.a={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"}},function(e,t,i){"use strict";var n,r="object"==typeof Reflect?Reflect:null,a=r&&"function"==typeof r.apply?r.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(i,n){function r(i){e.removeListener(t,a),n(i)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",r),i([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t,i){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,r)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var u=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function h(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function d(e,t,i,n){var r,a,s;if(l(i),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),a=e._events),s=a[t]),void 0===s)s=a[t]=i,++e._eventsCount;else if("function"==typeof s?s=a[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(r=h(e))>0&&s.length>r&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,console&&console.warn}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=c.bind(n);return r.listener=i,n.wrapFn=r,r}function p(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)a(u,this,t);else{var l=u.length,h=_(u,l);for(i=0;i=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},o.prototype.listenerCount=m,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,i){"use strict";i.d(t,"d",(function(){return n})),i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return a})),i.d(t,"c",(function(){return s}));var n=function(e,t,i,n,r){this.dts=e,this.pts=t,this.duration=i,this.originalDts=n,this.isSyncPoint=r,this.fileposition=null},r=function(){function e(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return e.prototype.appendSyncPoint=function(e){e.isSyncPoint=!0,this.syncPoints.push(e)},e}(),a=function(){function e(){this._list=[]}return e.prototype.clear=function(){this._list=[]},e.prototype.appendArray=function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts=t[r].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(r=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},function(e,t,i){"use strict";var n=function(){function e(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return e.prototype.isComplete=function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t},e.prototype.isSeekable=function(){return!0===this.hasKeyframesIndex},e.prototype.getNearestKeyframe=function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}},e.prototype._search=function(e,t){var i=0,n=e.length-1,r=0,a=0,s=n;for(t=e[r]&&t0){var i=e.getConfig();t.emit("change",i)}},e.registerListener=function(t){e.emitter.addListener("change",t)},e.removeListener=function(t){e.emitter.removeListener("change",t)},e.addLogListener=function(t){a.a.emitter.addListener("log",t),a.a.emitter.listenerCount("log")>0&&(a.a.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){a.a.emitter.removeListener("log",t),0===a.a.emitter.listenerCount("log")&&(a.a.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new r.a,t.a=s},function(e,t,i){"use strict";var n=i(6),r=i.n(n),a=i(0),s=i(4),o=i(8);function u(e,t,i){var n=e;if(t+i=128){t.push(String.fromCharCode(65535&a)),n+=2;continue}}else if(i[n]<240){if(u(i,n,2)&&(a=(15&i[n])<<12|(63&i[n+1])<<6|63&i[n+2])>=2048&&55296!=(63488&a)){t.push(String.fromCharCode(65535&a)),n+=3;continue}}else if(i[n]<248){var a;if(u(i,n,3)&&(a=(7&i[n])<<18|(63&i[n+1])<<12|(63&i[n+2])<<6|63&i[n+3])>65536&&a<1114112){a-=65536,t.push(String.fromCharCode(a>>>10|55296)),t.push(String.fromCharCode(1023&a|56320)),n+=4;continue}}t.push(String.fromCharCode(65533)),++n}return t.join("")},c=i(3),f=(l=new ArrayBuffer(2),new DataView(l).setInt16(0,256,!0),256===new Int16Array(l)[0]),p=function(){function e(){}return e.parseScriptData=function(t,i,n){var r={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);r[s.data]=o.data}catch(e){a.a.e("AMF",e.toString())}return r},e.parseObject=function(t,i,n){if(n<3)throw new c.a("Data not enough when parse ScriptDataObject");var r=e.parseString(t,i,n),a=e.parseValue(t,i+r.size,n-r.size),s=a.objectEnd;return{data:{name:r.data,value:a.data},size:r.size+a.size,objectEnd:s}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new c.a("Data not enough when parse String");var n=new DataView(e,t,i).getUint16(0,!f);return{data:n>0?d(new Uint8Array(e,t+2,n)):"",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new c.a("Data not enough when parse LongString");var n=new DataView(e,t,i).getUint32(0,!f);return{data:n>0?d(new Uint8Array(e,t+4,n)):"",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new c.a("Data size invalid when parse Date");var n=new DataView(e,t,i),r=n.getFloat64(0,!f),a=n.getInt16(8,!f);return{data:new Date(r+=60*a*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new c.a("Data not enough when parse Value");var r,s=new DataView(t,i,n),o=1,u=s.getUint8(0),l=!1;try{switch(u){case 0:r=s.getFloat64(1,!f),o+=8;break;case 1:r=!!s.getUint8(1),o+=1;break;case 2:var h=e.parseString(t,i+1,n-1);r=h.data,o+=h.size;break;case 3:r={};var d=0;for(9==(16777215&s.getUint32(n-4,!f))&&(d=3);o32)throw new c.b("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var n=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(n,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}(),_=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),r=0,a=0;a=2&&3===t[a]&&0===t[a-1]&&0===t[a-2]||(n[r]=t[a],r++);return new Uint8Array(n.buffer,0,r)},e.parseSPS=function(t){for(var i=t.subarray(1,4),n="avc1.",r=0;r<3;r++){var a=i[r].toString(16);a.length<2&&(a="0"+a),n+=a}var s=e._ebsp2rbsp(t),o=new m(s);o.readByte();var u=o.readByte();o.readByte();var l=o.readByte();o.readUEG();var h=e.getProfileString(u),d=e.getLevelString(l),c=1,f=420,p=8,_=8;if((100===u||110===u||122===u||244===u||44===u||83===u||86===u||118===u||128===u||138===u||144===u)&&(3===(c=o.readUEG())&&o.readBits(1),c<=3&&(f=[0,420,422,444][c]),p=o.readUEG()+8,_=o.readUEG()+8,o.readBits(1),o.readBool()))for(var g=3!==c?8:12,v=0;v0&&U<16?(I=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][U-1],L=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][U-1]):255===U&&(I=o.readByte()<<8|o.readByte(),L=o.readByte()<<8|o.readByte())}if(o.readBool()&&o.readBool(),o.readBool()&&(o.readBits(4),o.readBool()&&o.readBits(24)),o.readBool()&&(o.readUEG(),o.readUEG()),o.readBool()){var M=o.readBits(32),F=o.readBits(32);R=o.readBool(),x=(D=F)/(O=2*M)}}var B=1;1===I&&1===L||(B=I/L);var N=0,j=0;0===c?(N=1,j=2-w):(N=3===c?1:2,j=(1===c?2:1)*(2-w));var V=16*(T+1),H=16*(E+1)*(2-w);V-=(A+C)*N,H-=(k+P)*j;var z=Math.ceil(V*B);return o.destroy(),o=null,{codec_mimetype:n,profile_idc:u,level_idc:l,profile_string:h,level_string:d,chroma_format_idc:c,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:_,ref_frames:S,chroma_format:f,chroma_format_string:e.getChromaFormatString(f),frame_rate:{fixed:R,fps:x,fps_den:O,fps_num:D},sar_ratio:{width:I,height:L},codec_size:{width:V,height:H},present_size:{width:z,height:H}}},e._skipScalingList=function(e,t){for(var i=8,n=8,r=0;r>>2!=0,a=0!=(1&t[4]),s=(n=t)[5]<<24|n[6]<<16|n[7]<<8|n[8];return s<9?i:{match:!0,consumed:s,dataOffset:s,hasAudioTrack:r,hasVideoTrack:a}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,"onTrackMetadata",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaInfo",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMetaDataArrived",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScriptDataArrived",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataAvailable",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"timestampBase",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedDuration",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasAudio",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasVideo",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new o.a},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new c.a("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var n=0,r=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}for(this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&a.a.w(this.TAG,"First time parsing but chunk byteStart invalid!"),0!==(s=new DataView(t,n)).getUint32(0,!r)&&a.a.w(this.TAG,"PrevTagSize0 !== 0 !!!"),n+=4);nt.byteLength)break;var o=s.getUint8(0),u=16777215&s.getUint32(0,!r);if(n+11+u+4>t.byteLength)break;if(8===o||9===o||18===o){var l=s.getUint8(4),h=s.getUint8(5),d=s.getUint8(6)|h<<8|l<<16|s.getUint8(7)<<24;0!=(16777215&s.getUint32(7,!r))&&a.a.w(this.TAG,"Meet tag which has StreamID != 0!");var f=n+11;switch(o){case 8:this._parseAudioData(t,f,u,d);break;case 9:this._parseVideoData(t,f,u,d,i+n);break;case 18:this._parseScriptData(t,f,u)}var p=s.getUint32(11+u,!r);p!==11+u&&a.a.w(this.TAG,"Invalid PrevTagSize "+p),n+=11+u+4}else a.a.w(this.TAG,"Unsupported tag type "+o+", skipped"),n+=11+u+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var n=p.parseScriptData(e,t,i);if(n.hasOwnProperty("onMetaData")){if(null==n.onMetaData||"object"!=typeof n.onMetaData)return void a.a.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&a.a.w(this.TAG,"Found another onMetaData tag!"),this._metadata=n;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),"boolean"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),"number"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),"number"==typeof r.width&&(this._mediaInfo.width=r.width),"number"==typeof r.height&&(this._mediaInfo.height=r.height),"number"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if("number"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if("object"==typeof r.keyframes){this._mediaInfo.hasKeyframesIndex=!0;var l=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(l),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,a.a.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(n).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},n))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,u=(12&r)>>>2;if(u>=0&&u<=4){o=this._flvSoundRateTable[u];var l=1&r,h=this._audioMetadata,d=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(h=this._audioMetadata={}).type="audio",h.id=d.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===l?1:2),10===s){var c=this._parseAACAudioData(e,t+1,i-1);if(null==c)return;if(0===c.packetType){h.config&&a.a.w(this.TAG,"Found another AudioSpecificConfig!");var f=c.data;h.audioSampleRate=f.samplingRate,h.channelCount=f.channelCount,h.codec=f.codec,h.originalCodec=f.originalCodec,h.config=f.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,a.a.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",h),(_=this._mediaInfo).audioCodec=h.originalCodec,_.audioSampleRate=h.audioSampleRate,_.audioChannelCount=h.channelCount,_.hasVideo?null!=_.videoCodec&&(_.mimeType='video/x-flv; codecs="'+_.videoCodec+","+_.audioCodec+'"'):_.mimeType='video/x-flv; codecs="'+_.audioCodec+'"',_.isComplete()&&this._onMediaInfo(_)}else if(1===c.packetType){var p=this._timestampBase+n,m={unit:c.data,length:c.data.byteLength,dts:p,pts:p};d.samples.push(m),d.length+=c.data.length}else a.a.e(this.TAG,"Flv: Unsupported AAC data type "+c.packetType)}else if(2===s){if(!h.codec){var _;if(null==(f=this._parseMP3AudioData(e,t+1,i-1,!0)))return;h.audioSampleRate=f.samplingRate,h.channelCount=f.channelCount,h.codec=f.codec,h.originalCodec=f.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,a.a.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",h),(_=this._mediaInfo).audioCodec=h.codec,_.audioSampleRate=h.audioSampleRate,_.audioChannelCount=h.channelCount,_.audioDataRate=f.bitRate,_.hasVideo?null!=_.videoCodec&&(_.mimeType='video/x-flv; codecs="'+_.videoCodec+","+_.audioCodec+'"'):_.mimeType='video/x-flv; codecs="'+_.audioCodec+'"',_.isComplete()&&this._onMediaInfo(_)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;p=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:p,pts:p};d.samples.push(y),d.length+=v.length}}else this._onError(g.a.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+u)}else this._onError(g.a.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},r=new Uint8Array(e,t,i);return n.packetType=r[0],0===r[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=r.subarray(1),n}a.a.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,r,a=new Uint8Array(e,t,i),s=null,o=0,u=null;if(o=n=a[0]>>>3,(r=(7&a[0])<<1|a[1]>>>7)<0||r>=this._mpegSamplingRates.length)this._onError(g.a.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");else{var l=this._mpegSamplingRates[r],h=(120&a[1])>>>3;if(!(h<0||h>=8)){5===o&&(u=(7&a[1])<<1|a[2]>>>7,a[2]);var d=self.navigator.userAgent.toLowerCase();return-1!==d.indexOf("firefox")?r>=6?(o=5,s=new Array(4),u=r-3):(o=2,s=new Array(2),u=r):-1!==d.indexOf("android")?(o=2,s=new Array(2),u=r):(o=5,u=r,s=new Array(4),r>=6?u=r-3:1===h&&(o=2,s=new Array(2),u=r)),s[0]=o<<3,s[0]|=(15&r)>>>1,s[1]=(15&r)<<7,s[1]|=(15&h)<<3,5===o&&(s[1]|=(15&u)>>>1,s[2]=(1&u)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:l,channelCount:h,codec:"mp4a.40."+o,originalCodec:"mp4a.40."+n}}this._onError(g.a.FORMAT_ERROR,"Flv: AAC invalid channel configuration")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var r=new Uint8Array(e,t,i),s=null;if(n){if(255!==r[0])return;var o=r[1]>>>3&3,u=(6&r[1])>>1,l=(240&r[2])>>>4,h=(12&r[2])>>>2,d=3!=(r[3]>>>6&3)?2:1,c=0,f=0;switch(o){case 0:c=this._mpegAudioV25SampleRateTable[h];break;case 2:c=this._mpegAudioV20SampleRateTable[h];break;case 3:c=this._mpegAudioV10SampleRateTable[h]}switch(u){case 1:l>>4,u=15&s;7===u?this._parseAVCVideoPacket(e,t+1,i-1,n,r,o):this._onError(g.a.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+u)}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,r,s){if(i<4)a.a.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");else{var o=this._littleEndian,u=new DataView(e,t,i),l=u.getUint8(0),h=(16777215&u.getUint32(0,!o))<<8>>8;if(0===l)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===l)this._parseAVCVideoData(e,t+4,i-4,n,r,s,h);else if(2!==l)return void this._onError(g.a.FORMAT_ERROR,"Flv: Invalid video packet type "+l)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)a.a.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,o=new DataView(e,t,i);n?void 0!==n.avcc&&a.a.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=r.id,n.timescale=this._timescale,n.duration=this._duration);var u=o.getUint8(0),l=o.getUint8(1);if(o.getUint8(2),o.getUint8(3),1===u&&0!==l)if(this._naluLengthSize=1+(3&o.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var h=31&o.getUint8(5);if(0!==h){h>1&&a.a.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+h);for(var d=6,c=0;c1&&a.a.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+A),d++,c=0;c=i){a.a.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void a.a.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=31&l.getUint8(c+f);5===g&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=r),b.samples.push(S),b.length+=d}},e}(),y=function(){function e(){}return e.prototype.destroy=function(){this.onError=null,this.onMediaInfo=null,this.onMetaDataArrived=null,this.onTrackMetadata=null,this.onDataAvailable=null,this.onTimedID3Metadata=null,this.onPESPrivateData=null,this.onPESPrivateDataDescriptor=null},e}(),b=function(){this.program_pmt_pid={}};!function(e){e[e.kMPEG1Audio=3]="kMPEG1Audio",e[e.kMPEG2Audio=4]="kMPEG2Audio",e[e.kPESPrivateData=6]="kPESPrivateData",e[e.kADTSAAC=15]="kADTSAAC",e[e.kID3=21]="kID3",e[e.kH264=27]="kH264",e[e.kH265=36]="kH265"}(h||(h={}));var S,T=function(){this.pid_stream_type={},this.common_pids={h264:void 0,adts_aac:void 0},this.pes_private_data_pids={},this.timed_id3_pids={}},E=function(){},w=function(){this.slices=[],this.total_length=0,this.expected_length=0,this.file_position=0};!function(e){e[e.kUnspecified=0]="kUnspecified",e[e.kSliceNonIDR=1]="kSliceNonIDR",e[e.kSliceDPA=2]="kSliceDPA",e[e.kSliceDPB=3]="kSliceDPB",e[e.kSliceDPC=4]="kSliceDPC",e[e.kSliceIDR=5]="kSliceIDR",e[e.kSliceSEI=6]="kSliceSEI",e[e.kSliceSPS=7]="kSliceSPS",e[e.kSlicePPS=8]="kSlicePPS",e[e.kSliceAUD=9]="kSliceAUD",e[e.kEndOfSequence=10]="kEndOfSequence",e[e.kEndOfStream=11]="kEndOfStream",e[e.kFiller=12]="kFiller",e[e.kSPSExt=13]="kSPSExt",e[e.kReserved0=14]="kReserved0"}(S||(S={}));var A,C,k=function(){},P=function(e){var t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)},I=function(){function e(e){this.TAG="H264AnnexBParser",this.current_startcode_offset_=0,this.eof_flag_=!1,this.data_=e,this.current_startcode_offset_=this.findNextStartCodeOffset(0),this.eof_flag_&&a.a.e(this.TAG,"Could not found H264 startcode until payload end!")}return e.prototype.findNextStartCodeOffset=function(e){for(var t=e,i=this.data_;;){if(t+3>=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],r=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===r)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=31&e[i+=1==(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3],r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=a,!(n>=S.kReserved0)&&0===r){var s=e.subarray(i,a);(t=new k).type=n,t.data=s}}return t},e}(),L=function(){function e(e,t,i){var n=8+e.byteLength+1+2+t.byteLength,r=!1;66!==e[3]&&77!==e[3]&&88!==e[3]&&(r=!0,n+=4);var a=this.data=new Uint8Array(n);a[0]=1,a[1]=e[1],a[2]=e[2],a[3]=e[3],a[4]=255,a[5]=225;var s=e.byteLength;a[6]=s>>>8,a[7]=255&s;var o=8;a.set(e,8),a[o+=s]=1;var u=t.byteLength;a[o+1]=u>>>8,a[o+2]=255&u,a.set(t,o+3),o+=3+u,r&&(a[o]=252|i.chroma_format_idc,a[o+1]=248|i.bit_depth_luma-8,a[o+2]=248|i.bit_depth_chroma-8,a[o+3]=0,o+=4)}return e.prototype.getData=function(){return this.data},e}();!function(e){e[e.kNull=0]="kNull",e[e.kAACMain=1]="kAACMain",e[e.kAAC_LC=2]="kAAC_LC",e[e.kAAC_SSR=3]="kAAC_SSR",e[e.kAAC_LTP=4]="kAAC_LTP",e[e.kAAC_SBR=5]="kAAC_SBR",e[e.kAAC_Scalable=6]="kAAC_Scalable",e[e.kLayer1=32]="kLayer1",e[e.kLayer2=33]="kLayer2",e[e.kLayer3=34]="kLayer3"}(A||(A={})),function(e){e[e.k96000Hz=0]="k96000Hz",e[e.k88200Hz=1]="k88200Hz",e[e.k64000Hz=2]="k64000Hz",e[e.k48000Hz=3]="k48000Hz",e[e.k44100Hz=4]="k44100Hz",e[e.k32000Hz=5]="k32000Hz",e[e.k24000Hz=6]="k24000Hz",e[e.k22050Hz=7]="k22050Hz",e[e.k16000Hz=8]="k16000Hz",e[e.k12000Hz=9]="k12000Hz",e[e.k11025Hz=10]="k11025Hz",e[e.k8000Hz=11]="k8000Hz",e[e.k7350Hz=12]="k7350Hz"}(C||(C={}));var x,R=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],D=function(){},O=function(){function e(e){this.TAG="AACADTSParser",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&a.a.e(this.TAG,"Could not found ADTS syncword until payload end")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095==(i[t+0]<<8|i[t+1])>>>4)return t;t++}},e.prototype.readNextAACFrame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=(8&e[i+1])>>>3,r=(6&e[i+1])>>>1,a=1&e[i+1],s=(192&e[i+2])>>>6,o=(60&e[i+2])>>>2,u=(1&e[i+2])<<2|(192&e[i+3])>>>6,l=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var h=1===a?7:9,d=l-h;i+=h;var c=this.findNextSyncwordOffset(i+d);if(this.current_syncword_offset_=c,(0===n||1===n)&&0===r){var f=e.subarray(i,i+d);(t=new D).audio_object_type=s+1,t.sampling_freq_index=o,t.sampling_frequency=R[o],t.channel_config=u,t.data=f}}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),U=function(e){var t=null,i=e.audio_object_type,n=e.audio_object_type,r=e.sampling_freq_index,a=e.channel_config,s=0,o=navigator.userAgent.toLowerCase();-1!==o.indexOf("firefox")?r>=6?(n=5,t=new Array(4),s=r-3):(n=2,t=new Array(2),s=r):-1!==o.indexOf("android")?(n=2,t=new Array(2),s=r):(n=5,s=r,t=new Array(4),r>=6?s=r-3:1===a&&(n=2,t=new Array(2),s=r)),t[0]=n<<3,t[0]|=(15&r)>>>1,t[1]=(15&r)<<7,t[1]|=(15&a)<<3,5===n&&(t[1]|=(15&s)>>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=R[r],this.channel_count=a,this.codec_mimetype="mp4a.40."+n,this.original_codec_mimetype="mp4a.40."+i},M=function(){},F=function(){},B=(x=function(e,t){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}x(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),N=function(e){function t(t,i){var n=e.call(this)||this;return n.TAG="TSDemuxer",n.first_parse_=!0,n.media_info_=new o.a,n.timescale_=90,n.duration_=0,n.current_pmt_pid_=-1,n.program_pmt_map_={},n.pes_slice_queues_={},n.video_metadata_={sps:void 0,pps:void 0,sps_details:void 0},n.audio_metadata_={audio_object_type:void 0,sampling_freq_index:void 0,sampling_frequency:void 0,channel_config:void 0},n.aac_last_sample_pts_=void 0,n.aac_last_incomplete_data_=null,n.has_video_=!1,n.has_audio_=!1,n.video_init_segment_dispatched_=!1,n.audio_init_segment_dispatched_=!1,n.video_metadata_changed_=!1,n.audio_metadata_changed_=!1,n.video_track_={type:"video",id:1,sequenceNumber:0,samples:[],length:0},n.audio_track_={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},n.ts_packet_size_=t.ts_packet_size,n.sync_offset_=t.sync_offset,n.config_=i,n}return B(t,e),t.prototype.destroy=function(){this.media_info_=null,this.pes_slice_queues_=null,this.video_metadata_=null,this.audio_metadata_=null,this.aac_last_incomplete_data_=null,this.video_track_=null,this.audio_track_=null,e.prototype.destroy.call(this)},t.probe=function(e){var t=new Uint8Array(e),i=-1,n=188;if(t.byteLength<=3*n)return a.a.e("TSDemuxer","Probe data "+t.byteLength+" bytes is too few for judging MPEG-TS stream format!"),{match:!1};for(;-1===i;){for(var r=Math.min(1e3,t.byteLength-3*n),s=0;s=4?(a.a.v("TSDemuxer","ts_packet_size = 192, m2ts mode"),i-=4):204===n&&a.a.v("TSDemuxer","ts_packet_size = 204, RS encoded MPEG2-TS stream"),{match:!0,consumed:0,ts_packet_size:n,sync_offset:i})},t.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},t.prototype.resetMediaInfo=function(){this.media_info_=new o.a},t.prototype.parseChunks=function(e,t){if(!(this.onError&&this.onMediaInfo&&this.onTrackMetadata&&this.onDataAvailable))throw new c.a("onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var i=0;for(this.first_parse_&&(this.first_parse_=!1,i=this.sync_offset_);i+this.ts_packet_size_<=e.byteLength;){var n=t+i;192===this.ts_packet_size_&&(i+=4);var r=new Uint8Array(e,i,188),s=r[0];if(71!==s){a.a.e(this.TAG,"sync_byte = "+s+", not 0x47");break}var o=(64&r[1])>>>6,u=(r[1],(31&r[1])<<8|r[2]),l=(48&r[3])>>>4,h=15&r[3],d={},f=4;if(2==l||3==l){var p=r[4];if(5+p===188){i+=188,204===this.ts_packet_size_&&(i+=16);continue}p>0&&(d=this.parseAdaptationField(e,i+4,1+p)),f=5+p}if(1==l||3==l)if(0===u||u===this.current_pmt_pid_){o&&(f+=1+r[f]);var m=188-f;0===u?this.parsePAT(e,i+f,m,{payload_unit_start_indicator:o,continuity_conunter:h}):this.parsePMT(e,i+f,m,{payload_unit_start_indicator:o,continuity_conunter:h})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[u]){m=188-f;var _=this.pmt_.pid_stream_type[u];u!==this.pmt_.common_pids.h264&&u!==this.pmt_.common_pids.adts_aac&&!0!==this.pmt_.pes_private_data_pids[u]&&!0!==this.pmt_.timed_id3_pids[u]||this.handlePESSlice(e,i+f,m,{pid:u,stream_type:_,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:d.random_access_indicator})}i+=188,204===this.ts_packet_size_&&(i+=16)}return this.dispatchAudioVideoMediaSegment(),i},t.prototype.parseAdaptationField=function(e,t,i){var n=new Uint8Array(e,t,i),r=n[0];return r>0?r>183?(a.a.w(this.TAG,"Illegal adaptation_field_length: "+r),{}):{discontinuity_indicator:(128&n[1])>>>7,random_access_indicator:(64&n[1])>>>6,elementary_stream_priority_indicator:(32&n[1])>>>5}:{}},t.prototype.parsePAT=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0];if(0===s){var o=(15&r[1])<<8|r[2],u=(r[3],r[4],(62&r[5])>>>1),l=1&r[5],h=r[6],d=(r[7],null);if(1===l&&0===h)(d=new b).version_number=u;else if(null==(d=this.pat_))return;for(var c=o-5-4,f=-1,p=-1,m=8;m<8+c;m+=4){var _=r[m]<<8|r[m+1],g=(31&r[m+2])<<8|r[m+3];0===_?d.network_pid=g:(d.program_pmt_pid[_]=g,-1===f&&(f=_),-1===p&&(p=g))}1===l&&0===h&&(null==this.pat_&&a.a.v(this.TAG,"Parsed first PAT: "+JSON.stringify(d)),this.pat_=d,this.current_program_=f,this.current_pmt_pid_=p)}else a.a.e(this.TAG,"parsePAT: table_id "+s+" is not corresponded to PAT!")},t.prototype.parsePMT=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0];if(2===s){var o=(15&r[1])<<8|r[2],u=r[3]<<8|r[4],l=(62&r[5])>>>1,d=1&r[5],c=r[6],f=(r[7],null);if(1===d&&0===c)(f=new T).program_number=u,f.version_number=l,this.program_pmt_map_[u]=f;else if(null==(f=this.program_pmt_map_[u]))return;r[8],r[9];for(var p=(15&r[10])<<8|r[11],m=12+p,_=o-9-p-4,g=m;g0){var S=r.subarray(g+5,g+5+b);this.dispatchPESPrivateDataDescriptor(y,v,S)}}else v===h.kID3&&(f.timed_id3_pids[y]=!0);else f.common_pids.adts_aac=y;else f.common_pids.h264=y;g+=5+b}u===this.current_program_&&(null==this.pmt_&&a.a.v(this.TAG,"Parsed first PMT: "+JSON.stringify(f)),this.pmt_=f,f.common_pids.h264&&(this.has_video_=!0),f.common_pids.adts_aac&&(this.has_audio_=!0))}else a.a.e(this.TAG,"parsePMT: table_id "+s+" is not corresponded to PMT!")},t.prototype.handlePESSlice=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0]<<16|r[1]<<8|r[2],o=(r[3],r[4]<<8|r[5]);if(n.payload_unit_start_indicator){if(1!==s)return void a.a.e(this.TAG,"handlePESSlice: packet_start_code_prefix should be 1 but with value "+s);var u=this.pes_slice_queues_[n.pid];u&&(0===u.expected_length||u.expected_length===u.total_length?this.emitPESSlices(u,n):this.cleanPESSlices(u,n)),this.pes_slice_queues_[n.pid]=new w,this.pes_slice_queues_[n.pid].file_position=n.file_position,this.pes_slice_queues_[n.pid].random_access_indicator=n.random_access_indicator}if(null!=this.pes_slice_queues_[n.pid]){var l=this.pes_slice_queues_[n.pid];l.slices.push(r),n.payload_unit_start_indicator&&(l.expected_length=0===o?0:o+6),l.total_length+=r.byteLength,l.expected_length>0&&l.expected_length===l.total_length?this.emitPESSlices(l,n):l.expected_length>0&&l.expected_length>>6,o=t[8],u=void 0,l=void 0;2!==s&&3!==s||(u=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,l=3===s?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:u);var d=9+o,c=void 0;if(0!==r){if(r<3+o)return void a.a.v(this.TAG,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");c=r-3-o}else c=t.byteLength-d;var f=t.subarray(d,d+c);switch(e.stream_type){case h.kMPEG1Audio:case h.kMPEG2Audio:break;case h.kPESPrivateData:this.parsePESPrivateDataPayload(f,u,l,e.pid,n);break;case h.kADTSAAC:this.parseAACPayload(f,u);break;case h.kID3:this.parseTimedID3MetadataPayload(f,u,l,e.pid,n);break;case h.kH264:this.parseH264Payload(f,u,l,e.file_position,e.random_access_indicator);break;case h.kH265:}}else 188!==n&&191!==n&&240!==n&&241!==n&&255!==n&&242!==n&&248!==n||e.stream_type!==h.kPESPrivateData||(d=6,c=void 0,c=0!==r?r:t.byteLength-d,f=t.subarray(d,d+c),this.parsePESPrivateDataPayload(f,void 0,void 0,e.pid,n));else a.a.e(this.TAG,"parsePES: packet_start_code_prefix should be 1 but with value "+i)},t.prototype.parseH264Payload=function(e,t,i,n,r){for(var s=new I(e),o=null,u=[],l=0,h=!1;null!=(o=s.readNextNaluPayload());){var d=new P(o);if(d.type===S.kSliceSPS){var c=_.parseSPS(o.data);this.video_init_segment_dispatched_?!0===this.detectVideoMetadataChange(d,c)&&(a.a.v(this.TAG,"H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment"),this.video_metadata_changed_=!0,this.video_metadata_={sps:d,pps:void 0,sps_details:c}):(this.video_metadata_.sps=d,this.video_metadata_.sps_details=c)}else d.type===S.kSlicePPS?this.video_init_segment_dispatched_&&!this.video_metadata_changed_||(this.video_metadata_.pps=d,this.video_metadata_.sps&&this.video_metadata_.pps&&(this.video_metadata_changed_&&this.dispatchVideoMediaSegment(),this.dispatchVideoInitSegment())):(d.type===S.kSliceIDR||d.type===S.kSliceNonIDR&&1===r)&&(h=!0);this.video_init_segment_dispatched_&&(u.push(d),l+=d.data.byteLength)}var f=Math.floor(t/this.timescale_),p=Math.floor(i/this.timescale_);if(u.length){var m=this.video_track_,g={units:u,length:l,isKeyframe:h,dts:p,pts:f,cts:f-p,file_position:n};m.samples.push(g),m.length+=l}},t.prototype.detectVideoMetadataChange=function(e,t){if(t.codec_mimetype!==this.video_metadata_.sps_details.codec_mimetype)return a.a.v(this.TAG,"H264: Codec mimeType changed from "+this.video_metadata_.sps_details.codec_mimetype+" to "+t.codec_mimetype),!0;if(t.codec_size.width!==this.video_metadata_.sps_details.codec_size.width||t.codec_size.height!==this.video_metadata_.sps_details.codec_size.height){var i=this.video_metadata_.sps_details.codec_size,n=t.codec_size;return a.a.v(this.TAG,"H264: Coded Resolution changed from "+i.width+"x"+i.height+" to "+n.width+"x"+n.height),!0}return t.present_size.width!==this.video_metadata_.sps_details.present_size.width&&(a.a.v(this.TAG,"H264: Present resolution width changed from "+this.video_metadata_.sps_details.present_size.width+" to "+t.present_size.width),!0)},t.prototype.isInitSegmentDispatched=function(){return this.has_video_&&this.has_audio_?this.video_init_segment_dispatched_&&this.audio_init_segment_dispatched_:this.has_video_&&!this.has_audio_?this.video_init_segment_dispatched_:!(this.has_video_||!this.has_audio_)&&this.audio_init_segment_dispatched_},t.prototype.dispatchVideoInitSegment=function(){var e=this.video_metadata_.sps_details,t={type:"video"};t.id=this.video_track_.id,t.timescale=1e3,t.duration=this.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;var i=t.frameRate.fps_den,n=t.frameRate.fps_num;t.refSampleDuration=i/n*1e3,t.codec=e.codec_mimetype;var r=this.video_metadata_.sps.data.subarray(4),s=this.video_metadata_.pps.data.subarray(4),o=new L(r,s,e);t.avcc=o.getData(),0==this.video_init_segment_dispatched_&&a.a.v(this.TAG,"Generated first AVCDecoderConfigurationRecord for mimeType: "+t.codec),this.onTrackMetadata("video",t),this.video_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;var u=this.media_info_;u.hasVideo=!0,u.width=t.codecWidth,u.height=t.codecHeight,u.fps=t.frameRate.fps,u.profile=t.profile,u.level=t.level,u.refFrames=e.ref_frames,u.chromaFormat=e.chroma_format_string,u.sarNum=t.sarRatio.width,u.sarDen=t.sarRatio.height,u.videoCodec=t.codec,u.hasAudio&&u.audioCodec?u.mimeType='video/mp2t; codecs="'+u.videoCodec+","+u.audioCodec+'"':u.mimeType='video/mp2t; codecs="'+u.videoCodec+'"',u.isComplete()&&this.onMediaInfo(u)},t.prototype.dispatchVideoMediaSegment=function(){this.isInitSegmentDispatched()&&this.video_track_.length&&this.onDataAvailable(null,this.video_track_)},t.prototype.dispatchAudioMediaSegment=function(){this.isInitSegmentDispatched()&&this.audio_track_.length&&this.onDataAvailable(this.audio_track_,null)},t.prototype.dispatchAudioVideoMediaSegment=function(){this.isInitSegmentDispatched()&&(this.audio_track_.length||this.video_track_.length)&&this.onDataAvailable(this.audio_track_,this.video_track_)},t.prototype.parseAACPayload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){if(this.aac_last_incomplete_data_){var i=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);i.set(this.aac_last_incomplete_data_,0),i.set(e,this.aac_last_incomplete_data_.byteLength),e=i}var n,r;if(null!=t)r=t/this.timescale_;else{if(null==this.aac_last_sample_pts_)return void a.a.w(this.TAG,"AAC: Unknown pts");n=1024/this.audio_metadata_.sampling_frequency*1e3,r=this.aac_last_sample_pts_+n}if(this.aac_last_incomplete_data_&&this.aac_last_sample_pts_){n=1024/this.audio_metadata_.sampling_frequency*1e3;var s=this.aac_last_sample_pts_+n;Math.abs(s-r)>1&&(a.a.w(this.TAG,"AAC: Detected pts overlapped, expected: "+s+"ms, PES pts: "+r+"ms"),r=s)}for(var o,u=new O(e),l=null,h=r;null!=(l=u.readNextAACFrame());){n=1024/l.sampling_frequency*1e3,0==this.audio_init_segment_dispatched_?(this.audio_metadata_.audio_object_type=l.audio_object_type,this.audio_metadata_.sampling_freq_index=l.sampling_freq_index,this.audio_metadata_.sampling_frequency=l.sampling_frequency,this.audio_metadata_.channel_config=l.channel_config,this.dispatchAudioInitSegment(l)):this.detectAudioMetadataChange(l)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(l)),o=h;var d=Math.floor(h),c={unit:l.data,length:l.data.byteLength,pts:d,dts:d};this.audio_track_.samples.push(c),this.audio_track_.length+=l.data.byteLength,h+=n}u.hasIncompleteData()&&(this.aac_last_incomplete_data_=u.getIncompleteData()),o&&(this.aac_last_sample_pts_=o)}},t.prototype.detectAudioMetadataChange=function(e){return e.audio_object_type!==this.audio_metadata_.audio_object_type?(a.a.v(this.TAG,"AAC: AudioObjectType changed from "+this.audio_metadata_.audio_object_type+" to "+e.audio_object_type),!0):e.sampling_freq_index!==this.audio_metadata_.sampling_freq_index?(a.a.v(this.TAG,"AAC: SamplingFrequencyIndex changed from "+this.audio_metadata_.sampling_freq_index+" to "+e.sampling_freq_index),!0):e.channel_config!==this.audio_metadata_.channel_config&&(a.a.v(this.TAG,"AAC: Channel configuration changed from "+this.audio_metadata_.channel_config+" to "+e.channel_config),!0)},t.prototype.dispatchAudioInitSegment=function(e){var t=new U(e),i={type:"audio"};i.id=this.audio_track_.id,i.timescale=1e3,i.duration=this.duration_,i.audioSampleRate=t.sampling_rate,i.channelCount=t.channel_count,i.codec=t.codec_mimetype,i.originalCodec=t.original_codec_mimetype,i.config=t.config,i.refSampleDuration=1024/i.audioSampleRate*i.timescale,0==this.audio_init_segment_dispatched_&&a.a.v(this.TAG,"Generated first AudioSpecificConfig for mimeType: "+i.codec),this.onTrackMetadata("audio",i),this.audio_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;var n=this.media_info_;n.hasAudio=!0,n.audioCodec=i.originalCodec,n.audioSampleRate=i.audioSampleRate,n.audioChannelCount=i.channelCount,n.hasVideo&&n.videoCodec?n.mimeType='video/mp2t; codecs="'+n.videoCodec+","+n.audioCodec+'"':n.mimeType='video/mp2t; codecs="'+n.audioCodec+'"',n.isComplete()&&this.onMediaInfo(n)},t.prototype.dispatchPESPrivateDataDescriptor=function(e,t,i){var n=new F;n.pid=e,n.stream_type=t,n.descriptor=i,this.onPESPrivateDataDescriptor&&this.onPESPrivateDataDescriptor(n)},t.prototype.parsePESPrivateDataPayload=function(e,t,i,n,r){var a=new M;if(a.pid=n,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){var s=Math.floor(t/this.timescale_);a.pts=s}else a.nearest_pts=this.aac_last_sample_pts_;if(null!=i){var o=Math.floor(i/this.timescale_);a.dts=o}this.onPESPrivateData&&this.onPESPrivateData(a)},t.prototype.parseTimedID3MetadataPayload=function(e,t,i,n,r){var a=new M;if(a.pid=n,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){var s=Math.floor(t/this.timescale_);a.pts=s}if(null!=i){var o=Math.floor(i/this.timescale_);a.dts=o}this.onTimedID3Metadata&&this.onTimedID3Metadata(a)},t}(y),j=function(){function e(){}return e.init=function(){for(var t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var i=e.constants={};i.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),i.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),i.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSC=i.STCO=i.STTS,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),i.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])},e.box=function(e){for(var t=8,i=null,n=Array.prototype.slice.call(arguments,1),r=n.length,a=0;a>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(a=0;a>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,r=t.presentWidth,a=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,a>>>8&255,255&a,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i;return i="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i;return i="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[".mp3"],r)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,r,e.esds(t))},e.esds=function(t){var i=t.config||[],n=i.length,r=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,r)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,r=t.codecHeight,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,a,e.box(e.types.avcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,a,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,r=new Uint8Array(4+n),a=0;a>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();j.init();var V=j,H=function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}(),z=i(7),G=function(){function e(e){this.TAG="MP4Remuxer",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new z.c("audio"),this._videoSegmentInfoList=new z.c("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.a.chrome||!(s.a.version.major<50||50===s.a.version.major&&s.a.version.build<2661)),this._fillSilentAfterSeek=s.a.msedge||s.a.msie,this._mp3UseMpegAudio=!s.a.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,"onInitSegment",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaSegment",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new c.a("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),t&&this._remuxVideo(t),e&&this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n="mp4",r=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(n="mpeg",r="",i=new Uint8Array):i=V.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,i=V.generateInitSegment(t)}if(!this._onInitSegment)throw new c.a("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:i.buffer,codec:r,container:e+"/"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e&&e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t&&t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.getTimestampBase=function(){if(this._dtsBaseInited)return this._dtsBase},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,n=e,r=n.samples,o=void 0,u=-1,l=this._audioMeta.refSampleDuration,h="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,d=this._dtsBaseInited&&void 0===this._audioNextDts,c=!1;if(r&&0!==r.length&&(1!==r.length||t)){var f=0,p=null,m=0;h?(f=0,m=n.length):(f=8,m=8+n.length);var _=null;if(r.length>1&&(m-=(_=r.pop()).length),null!=this._audioStashedLastSample){var g=this._audioStashedLastSample;this._audioStashedLastSample=null,r.unshift(g),m+=g.length}null!=_&&(this._audioStashedLastSample=_);var v=r[0].dts-this._dtsBase;if(this._audioNextDts)o=v-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())o=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(c=!0);else{var y=this._audioSegmentInfoList.getLastSampleBefore(v);if(null!=y){var b=v-(y.originalDts+y.duration);b<=3&&(b=0),o=v-(y.dts+y.duration+b)}else o=0}if(c){var S=v-o,T=this._videoSegmentInfoList.getLastSegmentBefore(v);if(null!=T&&T.beginDts=3*l&&this._fillAudioTimestampGap&&!s.a.safari){I=!0;var D,O=Math.floor(o/l);a.a.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: "+P+" ms, curRefDts: "+R+" ms, dtsCorrection: "+Math.round(o)+" ms, generate: "+O+" frames"),E=Math.floor(R),x=Math.floor(R+l)-E,null==(D=H.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(a.a.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),D=k),L=[];for(var U=0;U=1?A[A.length-1].duration:Math.floor(l),this._audioNextDts=E+x;-1===u&&(u=E),A.push({dts:E,pts:E,cts:0,unit:g.unit,size:g.unit.byteLength,duration:x,originalDts:P,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),I&&A.push.apply(A,L)}}if(0===A.length)return n.samples=[],void(n.length=0);for(h?p=new Uint8Array(m):((p=new Uint8Array(m))[0]=m>>>24&255,p[1]=m>>>16&255,p[2]=m>>>8&255,p[3]=255&m,p.set(V.types.mdat,4)),C=0;C1&&(d-=(c=a.pop()).length),null!=this._videoStashedLastSample){var f=this._videoStashedLastSample;this._videoStashedLastSample=null,a.unshift(f),d+=f.length}null!=c&&(this._videoStashedLastSample=c);var p=a[0].dts-this._dtsBase;if(this._videoNextDts)s=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())s=0;else{var m=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=m){var _=p-(m.originalDts+m.duration);_<=3&&(_=0),s=p-(m.dts+m.duration+_)}else s=0}for(var g=new z.b,v=[],y=0;y=1?v[v.length-1].duration:Math.floor(this._videoMeta.refSampleDuration),S){var C=new z.d(T,w,A,f.dts,!0);C.fileposition=f.fileposition,g.appendSyncPoint(C)}v.push({dts:T,pts:w,cts:E,units:f.units,size:f.length,isKeyframe:S,duration:A,originalDts:b,flags:{isLeading:0,dependsOn:S?2:1,isDependedOn:S?1:0,hasRedundancy:0,isNonSync:S?0:1}})}for((h=new Uint8Array(d))[0]=d>>>24&255,h[1]=d>>>16&255,h[2]=d>>>8&255,h[3]=255&d,h.set(V.types.mdat,4),y=0;y0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((n=N.probe(e)).match){var s=this._demuxer=new N(n,this._config);this._remuxer||(this._remuxer=new G(this._config)),s.onError=this._onDemuxException.bind(this),s.onMediaInfo=this._onMediaInfo.bind(this),s.onMetaDataArrived=this._onMetaDataArrived.bind(this),s.onTimedID3Metadata=this._onTimedID3Metadata.bind(this),s.onPESPrivateDataDescriptor=this._onPESPrivateDataDescriptor.bind(this),s.onPESPrivateData=this._onPESPrivateData.bind(this),this._remuxer.bindDataSource(this._demuxer),this._demuxer.bindDataSource(this._ioctl),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else if((n=v.probe(e)).match){this._demuxer=new v(n,this._config),this._remuxer||(this._remuxer=new G(this._config));var o=this._mediaDataSource;null==o.duration||isNaN(o.duration)||(this._demuxer.overridedDuration=o.duration),"boolean"==typeof o.hasAudio&&(this._demuxer.overridedHasAudio=o.hasAudio),"boolean"==typeof o.hasVideo&&(this._demuxer.overridedHasVideo=o.hasVideo),this._demuxer.timestampBase=o.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else n=null,a.a.e(this.TAG,"Non MPEG-TS/FLV, Unsupported media type!"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(Y.a.DEMUX_ERROR,g.a.FORMAT_UNSUPPORTED,"Non MPEG-TS/FLV, Unsupported media type!"),r=0;return r},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.a.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.a.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(Y.a.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(Y.a.SCRIPTDATA_ARRIVED,e)},e.prototype._onTimedID3Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(Y.a.TIMED_ID3_METADATA_ARRIVED,e))},e.prototype._onPESPrivateDataDescriptor=function(e){this._emitter.emit(Y.a.PES_PRIVATE_DATA_DESCRIPTOR,e)},e.prototype._onPESPrivateData=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(Y.a.PES_PRIVATE_DATA_ARRIVED,e))},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(Y.a.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(Y.a.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(Y.a.STATISTICS_INFO,e)},e}();t.a=q},function(e,t,i){"use strict";var n,r=i(0),a=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,"currentKBps",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastSecondKBps",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"averageKBps",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}(),s=i(2),o=i(4),u=i(3),l=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),h=function(e){function t(t,i){var n=e.call(this,"fetch-stream-loader")||this;return n.TAG="FetchStreamLoader",n._seekHandler=t,n._config=i,n._needStash=!0,n._requestAbort=!1,n._abortController=null,n._contentLength=null,n._receivedLength=0,n}return l(t,e),t.isSupported=function(){try{var e=o.a.msedge&&o.a.version.minor>=15048,t=!o.a.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(n=e.redirectedURL);var r=this._seekHandler.getConfig(n,t),a=new self.Headers;if("object"==typeof r.headers){var o=r.headers;for(var l in o)o.hasOwnProperty(l)&&a.append(l,o[l])}var h={method:"GET",headers:a,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"==typeof this._config.headers)for(var l in this._config.headers)a.append(l,this._config.headers[l]);!1===e.cors&&(h.mode="same-origin"),e.withCredentials&&(h.credentials="include"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,h.signal=this._abortController.signal),this._status=s.c.kConnecting,self.fetch(r.url,h).then((function(e){if(i._requestAbort)return i._status=s.c.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==r.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get("Content-Length");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.c.kError,!i._onError)throw new u.d("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);i._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.c.kError,!i._onError)throw e;i._onError(s.b.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.c.kBuffering||!o.a.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength299)){if(this._status=s.c.kError,!this._onError)throw new u.d("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.c.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.c.kError&&(this._status=s.c.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.c.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var n=this._seekHandler.getConfig(i,t);this._currentRequestURL=n.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",n.url,!0),r.responseType="arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"==typeof n.headers){var a=n.headers;for(var s in a)a.hasOwnProperty(s)&&r.setRequestHeader(s,a[s])}if("object"==typeof this._config.headers)for(var s in a=this._config.headers)a.hasOwnProperty(s)&&r.setRequestHeader(s,a[s]);r.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=s.c.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=s.c.kBuffering}else{if(this._status=s.c.kError,!this._onError)throw new u.d("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var a=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0)for(var a=i.split("&"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=a[s])}return 0===r.length?t:t+"?"+r},e}(),y=function(){function e(e,t,i){this.TAG="IOController",this._config=t,this._extraData=i,this._stashInitialSize=65536,null!=t.stashInitialSize&&t.stashInitialSize>0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new a,this._speedNormalizeList=[32,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,"status",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"extraData",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSeeked",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRedirect",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRecoveredEarlyEof",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentURL",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRedirect",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentRedirectedURL",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentSpeed",{get:function(){return this._loaderClass===p?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loaderType",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if("range"===e.seekType)this._seekHandler=new g(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",i=e.seekParamEnd||"bend";this._seekHandler=new v(t,i)}else{if("custom"!==e.seekType)throw new u.b("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new u.b("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=_;else if(h.isSupported())this._loaderClass=h;else if(c.isSupported())this._loaderClass=c;else{if(!p.isSupported())throw new u.d("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=p}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||"string"!=typeof e||0===e.length)throw new u.b("Url must be a non-empty string!");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var a=this._stashBuffer.slice(0,this._stashUsed);(l=this._dispatchChunks(a,this._stashByteStart))0&&(h=new Uint8Array(a,l),o.set(h,0),this._stashUsed=h.byteLength,this._stashByteStart+=l):(this._stashUsed=0,this._stashByteStart+=l),this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else(l=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,l),0),this._stashUsed+=s,this._stashByteStart=t+l);else if(0===this._stashUsed){var s;(l=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,l),0),this._stashUsed+=s,this._stashByteStart=t+l)}else{var o,l;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(l=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var h=new Uint8Array(this._stashBuffer,l);o.set(h,0)}this._stashUsed-=l,this._stashByteStart+=l}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),n=t.byteLength-i;if(i0){var a=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);a.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}r.a.w(this.TAG,n+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,n}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(r.a.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=s.b.UNRECOVERABLE_EARLY_EOF),e){case s.b.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0}),!1)}e.exports=function(e,t){t=t||{};var r={main:i.m},o=t.all?{main:Object.keys(r.main)}:function(e,t){for(var i={main:[t]},n={main:[]},r={main:{}};s(i);)for(var o=Object.keys(i),u=0;u1)for(var i=1;i0&&(n+=";codecs="+i.codec);var r=!1;if(d.a.v(this.TAG,"Received Initialization Segment, mimeType: "+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])d.a.v(this.TAG,"Notice: "+i.type+" mimeType changed, origin: "+this._mimeTypes[i.type]+", target: "+n);else{r=!0;try{var a=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);a.addEventListener("error",this.e.onSourceBufferError),a.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return d.a.e(this.TAG,e.message),void this._emitter.emit(S,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),r||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),c.a.safari&&"audio/mpeg"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{i.abort()}catch(e){d.a.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),"closed"!==this._mediaSource.readyState){for(var r=0;r=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,r=!1,a=0;a=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:u})}}else o0&&(isNaN(t)||i>t)&&(d.a.v(this.TAG,"Update MediaSource duration from "+t+" to "+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,r=i.timestampOffset/1e3;Math.abs(n-r)>.1&&(d.a.v(this.TAG,"Update MPEG audio timestampOffset from "+n+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,"video"===t&&i.hasOwnProperty("info")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(w),this._isBufferFull=!0):(d.a.e(this.TAG,e.message),this._emitter.emit(S,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(d.a.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(T)},e.prototype._onSourceEnded=function(){d.a.v(this.TAG,"MediaSource onSourceEnded")},e.prototype._onSourceClose=function(){d.a.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(E)},e.prototype._onSourceBufferError=function(e){d.a.e(this.TAG,"SourceBuffer Error: "+e)},e}(),P=i(5),I={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},L={NETWORK_EXCEPTION:u.b.EXCEPTION,NETWORK_STATUS_CODE_INVALID:u.b.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:u.b.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:u.b.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:P.a.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:P.a.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:P.a.CODEC_UNSUPPORTED},x=function(){function e(e,t){this.TAG="MSEPlayer",this._type="MSEPlayer",this._emitter=new h.a,this._config=s(),"object"==typeof t&&Object.assign(this._config,t);var i=e.type.toLowerCase();if("mse"!==i&&"mpegts"!==i&&"m2ts"!==i&&"flv"!==i)throw new C.b("MSEPlayer requires an mpegts/m2ts/flv MediaDataSource input!");!0===e.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=e,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var n=c.a.chrome&&(c.a.version.major<50||50===c.a.version.major&&c.a.version.build<2661);this._alwaysSeekKeyframe=!!(n||c.a.msedge||c.a.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return e.prototype.destroy=function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){var i=this;e===f.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then((function(){i._emitter.emit(f.MEDIA_INFO,i.mediaInfo)})):e===f.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then((function(){i._emitter.emit(f.STATISTICS_INFO,i.statisticsInfo)})),this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){var t=this;if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),e.addEventListener("seeking",this.e.onvSeeking),e.addEventListener("canplay",this.e.onvCanPlay),e.addEventListener("stalled",this.e.onvStalled),e.addEventListener("progress",this.e.onvProgress),this._msectl=new k(this._config),this._msectl.on(E,this._onmseUpdateEnd.bind(this)),this._msectl.on(w,this._onmseBufferFull.bind(this)),this._msectl.on(T,(function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())})),this._msectl.on(S,(function(e){t._emitter.emit(f.ERROR,I.MEDIA_ERROR,L.MEDIA_MSE_ERROR,e)})),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}},e.prototype.detachMediaElement=function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)},e.prototype.load=function(){var e=this;if(!this._mediaElement)throw new C.a("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new C.a("MSEPlayer.load() has been called, please call unload() first!");this._hasPendingLoad||(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened?this._hasPendingLoad=!0:(this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new b(this._mediaDataSource,this._config),this._transmuxer.on(v.a.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(v.a.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.a.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}})),this._transmuxer.on(v.a.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(f.LOADING_COMPLETE)})),this._transmuxer.on(v.a.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(f.RECOVERED_EARLY_EOF)})),this._transmuxer.on(v.a.IO_ERROR,(function(t,i){e._emitter.emit(f.ERROR,I.NETWORK_ERROR,t,i)})),this._transmuxer.on(v.a.DEMUX_ERROR,(function(t,i){e._emitter.emit(f.ERROR,I.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(v.a.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(f.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(v.a.METADATA_ARRIVED,(function(t){e._emitter.emit(f.METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(f.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(v.a.TIMED_ID3_METADATA_ARRIVED,(function(t){e._emitter.emit(f.TIMED_ID3_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_DESCRIPTOR,(function(t){e._emitter.emit(f.PES_PRIVATE_DATA_DESCRIPTOR,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_ARRIVED,(function(t){e._emitter.emit(f.PES_PRIVATE_DATA_ARRIVED,t)})),this._transmuxer.on(v.a.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(f.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(v.a.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){var e=this._mediaElement.buffered,t=this._mediaElement.currentTime;if(this._config.isLive&&this._config.liveBufferLatencyChasing&&e.length>0&&!this._mediaElement.paused){var i=e.end(e.length-1);if(i>this._config.liveBufferLatencyMaxLatency&&i-t>this._config.liveBufferLatencyMaxLatency){var n=i-this._config.liveBufferLatencyMinRemain;this.currentTime=n}}if(this._config.lazyLoad&&!this._config.isLive){for(var r=0,a=0;a=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.a.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){d.a.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=r&&e=a-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(d.a.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var r=this._mediaElement.buffered.start(0);(r<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(f.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(f.STATISTICS_INFO,this.statisticsInfo)},e}();n.a.install();var D={createPlayer:function(e,t){var i=e;if(null==i||"object"!=typeof i)throw new C.b("MediaDataSource must be an javascript object!");if(!i.hasOwnProperty("type"))throw new C.b("MediaDataSource must has type field to indicate video file type!");switch(i.type){case"mse":case"mpegts":case"m2ts":case"flv":return new x(i,t);default:return new R(i,t)}},isSupported:function(){return o.supportMSEH264Playback()},getFeatureList:function(){return o.getFeatureList()}};D.BaseLoader=u.a,D.LoaderStatus=u.c,D.LoaderErrors=u.b,D.Events=f,D.ErrorTypes=I,D.ErrorDetails=L,D.MSEPlayer=x,D.NativePlayer=R,D.LoggingControl=_.a,Object.defineProperty(D,"version",{enumerable:!0,get:function(){return"1.6.10"}}),t.default=D}])},"object"==typeof i&&"object"==typeof t?t.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof i?i.mpegts=r():n.mpegts=r()},{}],42:[function(e,t,i){var n=Math.pow(2,32);t.exports=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:t.getUint32(4),timescale:t.getUint32(8)},r=12;0===i.version?(i.earliestPresentationTime=t.getUint32(r),i.firstOffset=t.getUint32(r+4),r+=8):(i.earliestPresentationTime=t.getUint32(r)*n+t.getUint32(r+4),i.firstOffset=t.getUint32(r+8)*n+t.getUint32(r+12),r+=16),r+=2;var a=t.getUint16(r);for(r+=2;a>0;r+=12,a--)i.references.push({referenceType:(128&e[r])>>>7,referencedSize:2147483647&t.getUint32(r),subsegmentDuration:t.getUint32(r+4),startsWithSap:!!(128&e[r+8]),sapType:(112&e[r+8])>>>4,sapDeltaTime:268435455&t.getUint32(r+8)});return i}},{}],43:[function(e,t,i){var n,r,a,s,o,u,l;n=function(e){return 9e4*e},r=function(e,t){return e*t},a=function(e){return e/9e4},s=function(e,t){return e/t},o=function(e,t){return n(s(e,t))},u=function(e,t){return r(a(e),t)},l=function(e,t,i){return a(i?e:e-t)},t.exports={ONE_SECOND_IN_TS:9e4,secondsToVideoTs:n,secondsToAudioTs:r,videoTsToSeconds:a,audioTsToSeconds:s,audioTsToVideoTs:o,videoTsToAudioTs:u,metadataTsToSeconds:l}},{}],44:[function(e,t,i){var n,r,a=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,h=[],d=!1,c=-1;function f(){d&&l&&(d=!1,l.length?h=l.concat(h):c=-1,h.length&&p())}function p(){if(!d){var e=u(f);d=!0;for(var t=h.length;t;){for(l=h,h=[];++c1)for(var i=1;i + * Copyright Brightcove, Inc. + * Available under Apache License Version 2.0 + * + * + * Includes vtt.js + * Available under Apache License Version 2.0 + * + */ +"use strict";var n=e("global/window"),r=e("global/document"),a=e("@babel/runtime/helpers/extends"),s=e("@babel/runtime/helpers/assertThisInitialized"),o=e("@babel/runtime/helpers/inheritsLoose"),u=e("safe-json-parse/tuple"),l=e("keycode"),h=e("@videojs/xhr"),d=e("videojs-vtt.js"),c=e("@babel/runtime/helpers/construct"),f=e("@babel/runtime/helpers/inherits"),p=e("@videojs/vhs-utils/cjs/resolve-url.js"),m=e("m3u8-parser"),_=e("@videojs/vhs-utils/cjs/codecs.js"),g=e("@videojs/vhs-utils/cjs/media-types.js"),v=e("mpd-parser"),y=e("mux.js/lib/tools/parse-sidx"),b=e("@videojs/vhs-utils/cjs/id3-helpers"),S=e("@videojs/vhs-utils/cjs/containers"),T=e("@videojs/vhs-utils/cjs/byte-helpers"),E=e("mux.js/lib/utils/clock");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}for(var A,C=w(n),k=w(r),P=w(a),I=w(s),L=w(o),x=w(u),R=w(l),D=w(h),O=w(d),U=w(c),M=w(f),F=w(p),B=w(y),N={},j=function(e,t){return N[e]=N[e]||[],t&&(N[e]=N[e].concat(t)),N[e]},V=function(e,t){var i=j(e).indexOf(t);return!(i<=-1)&&(N[e]=N[e].slice(),N[e].splice(i,1),!0)},H={prefixed:!0},z=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullscreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"]],G=z[0],W=0;W0?o:0)}if(C.default.console){var u=C.default.console[i];u||"debug"!==i||(u=C.default.console.info||C.default.console.log),u&&a&&s.test(i)&&u[Array.isArray(r)?"apply":"call"](C.default.console,r)}}}(t,r),r.createLogger=function(i){return e(t+": "+i)},r.levels={all:"debug|log|warn|error",off:"",debug:"debug|log|warn|error",info:"log|warn|error",warn:"warn|error",error:"error",DEFAULT:n},r.level=function(e){if("string"==typeof e){if(!r.levels.hasOwnProperty(e))throw new Error('"'+e+'" in not a valid log level');n=e}return n},(r.history=function(){return q?[].concat(q):[]}).filter=function(e){return(q||[]).filter((function(t){return new RegExp(".*"+e+".*").test(t[0])}))},r.history.clear=function(){q&&(q.length=0)},r.history.disable=function(){null!==q&&(q.length=0,q=null)},r.history.enable=function(){null===q&&(q=[])},r.error=function(){for(var e=arguments.length,t=new Array(e),r=0;r1?t-1:0),n=1;n=0)throw new Error("class has illegal whitespace characters")}function ke(){return k.default===C.default.document}function Pe(e){return ee(e)&&1===e.nodeType}function Ie(){try{return C.default.parent!==C.default.self}catch(e){return!0}}function Le(e){return function(t,i){if(!Ae(t))return k.default[e](null);Ae(i)&&(i=k.default.querySelector(i));var n=Pe(i)?i:k.default;return n[e]&&n[e](t)}}function xe(e,t,i,n){void 0===e&&(e="div"),void 0===t&&(t={}),void 0===i&&(i={});var r=k.default.createElement(e);return Object.getOwnPropertyNames(t).forEach((function(e){var i=t[e];-1!==e.indexOf("aria-")||"role"===e||"type"===e?(K.warn("Setting attributes in the second argument of createEl()\nhas been deprecated. Use the third argument instead.\ncreateEl(type, properties, attributes). Attempting to set "+e+" to "+i+"."),r.setAttribute(e,i)):"textContent"===e?Re(r,i):r[e]===i&&"tabIndex"!==e||(r[e]=i)})),Object.getOwnPropertyNames(i).forEach((function(e){r.setAttribute(e,i[e])})),n&&$e(r,n),r}function Re(e,t){return void 0===e.textContent?e.innerText=t:e.textContent=t,e}function De(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function Oe(e,t){return Ce(t),e.classList?e.classList.contains(t):(i=t,new RegExp("(^|\\s)"+i+"($|\\s)")).test(e.className);var i}function Ue(e,t){return e.classList?e.classList.add(t):Oe(e,t)||(e.className=(e.className+" "+t).trim()),e}function Me(e,t){return e?(e.classList?e.classList.remove(t):(Ce(t),e.className=e.className.split(/\s+/).filter((function(e){return e!==t})).join(" ")),e):(K.warn("removeClass was called with an element that doesn't exist"),null)}function Fe(e,t,i){var n=Oe(e,t);if("function"==typeof i&&(i=i(e,t)),"boolean"!=typeof i&&(i=!n),i!==n)return i?Ue(e,t):Me(e,t),e}function Be(e,t){Object.getOwnPropertyNames(t).forEach((function(i){var n=t[i];null==n||!1===n?e.removeAttribute(i):e.setAttribute(i,!0===n?"":n)}))}function Ne(e){var t={},i=",autoplay,controls,playsinline,loop,muted,default,defaultMuted,";if(e&&e.attributes&&e.attributes.length>0)for(var n=e.attributes,r=n.length-1;r>=0;r--){var a=n[r].name,s=n[r].value;"boolean"!=typeof e[a]&&-1===i.indexOf(","+a+",")||(s=null!==s),t[a]=s}return t}function je(e,t){return e.getAttribute(t)}function Ve(e,t,i){e.setAttribute(t,i)}function He(e,t){e.removeAttribute(t)}function ze(){k.default.body.focus(),k.default.onselectstart=function(){return!1}}function Ge(){k.default.onselectstart=function(){return!0}}function We(e){if(e&&e.getBoundingClientRect&&e.parentNode){var t=e.getBoundingClientRect(),i={};return["bottom","height","left","right","top","width"].forEach((function(e){void 0!==t[e]&&(i[e]=t[e])})),i.height||(i.height=parseFloat(ie(e,"height"))),i.width||(i.width=parseFloat(ie(e,"width"))),i}}function Ye(e){if(!e||e&&!e.offsetParent)return{left:0,top:0,width:0,height:0};for(var t=e.offsetWidth,i=e.offsetHeight,n=0,r=0;e.offsetParent&&e!==k.default[H.fullscreenElement];)n+=e.offsetLeft,r+=e.offsetTop,e=e.offsetParent;return{left:n,top:r,width:t,height:i}}function qe(e,t){var i={x:0,y:0};if(Te)for(var n=e;n&&"html"!==n.nodeName.toLowerCase();){var r=ie(n,"transform");if(/^matrix/.test(r)){var a=r.slice(7,-1).split(/,\s/).map(Number);i.x+=a[4],i.y+=a[5]}else if(/^matrix3d/.test(r)){var s=r.slice(9,-1).split(/,\s/).map(Number);i.x+=s[12],i.y+=s[13]}n=n.parentNode}var o={},u=Ye(t.target),l=Ye(e),h=l.width,d=l.height,c=t.offsetY-(l.top-u.top),f=t.offsetX-(l.left-u.left);return t.changedTouches&&(f=t.changedTouches[0].pageX-l.left,c=t.changedTouches[0].pageY+l.top,Te&&(f-=i.x,c-=i.y)),o.y=1-Math.max(0,Math.min(1,c/d)),o.x=Math.max(0,Math.min(1,f/h)),o}function Ke(e){return ee(e)&&3===e.nodeType}function Xe(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function Qe(e){return"function"==typeof e&&(e=e()),(Array.isArray(e)?e:[e]).map((function(e){return"function"==typeof e&&(e=e()),Pe(e)||Ke(e)?e:"string"==typeof e&&/\S/.test(e)?k.default.createTextNode(e):void 0})).filter((function(e){return e}))}function $e(e,t){return Qe(t).forEach((function(t){return e.appendChild(t)})),e}function Je(e,t){return $e(Xe(e),t)}function Ze(e){return void 0===e.button&&void 0===e.buttons||(0===e.button&&void 0===e.buttons||("mouseup"===e.type&&0===e.button&&0===e.buttons||0===e.button&&1===e.buttons))}var et,tt=Le("querySelector"),it=Le("querySelectorAll"),nt=Object.freeze({__proto__:null,isReal:ke,isEl:Pe,isInFrame:Ie,createEl:xe,textContent:Re,prependTo:De,hasClass:Oe,addClass:Ue,removeClass:Me,toggleClass:Fe,setAttributes:Be,getAttributes:Ne,getAttribute:je,setAttribute:Ve,removeAttribute:He,blockTextSelection:ze,unblockTextSelection:Ge,getBoundingClientRect:We,findPosition:Ye,getPointerPosition:qe,isTextNode:Ke,emptyEl:Xe,normalizeContent:Qe,appendContent:$e,insertContent:Je,isSingleLeftClick:Ze,$:tt,$$:it}),rt=!1,at=function(){if(!1!==et.options.autoSetup){var e=Array.prototype.slice.call(k.default.getElementsByTagName("video")),t=Array.prototype.slice.call(k.default.getElementsByTagName("audio")),i=Array.prototype.slice.call(k.default.getElementsByTagName("video-js")),n=e.concat(t,i);if(n&&n.length>0)for(var r=0,a=n.length;r-1&&(r={passive:!0}),e.addEventListener(t,n.dispatcher,r)}else e.attachEvent&&e.attachEvent("on"+t,n.dispatcher)}function bt(e,t,i){if(pt.has(e)){var n=pt.get(e);if(n.handlers){if(Array.isArray(t))return _t(bt,e,t,i);var r=function(e,t){n.handlers[t]=[],mt(e,t)};if(void 0!==t){var a=n.handlers[t];if(a)if(i){if(i.guid)for(var s=0;s=t&&(e.apply(void 0,arguments),i=n)}},Pt=function(){};Pt.prototype.allowedEvents_={},Pt.prototype.on=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},yt(this,e,t),this.addEventListener=i},Pt.prototype.addEventListener=Pt.prototype.on,Pt.prototype.off=function(e,t){bt(this,e,t)},Pt.prototype.removeEventListener=Pt.prototype.off,Pt.prototype.one=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},Tt(this,e,t),this.addEventListener=i},Pt.prototype.any=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},Et(this,e,t),this.addEventListener=i},Pt.prototype.trigger=function(e){var t=e.type||e;"string"==typeof e&&(e={type:t}),e=gt(e),this.allowedEvents_[t]&&this["on"+t]&&this["on"+t](e),St(this,e)},Pt.prototype.dispatchEvent=Pt.prototype.trigger,Pt.prototype.queueTrigger=function(e){var t=this;wt||(wt=new Map);var i=e.type||e,n=wt.get(this);n||(n=new Map,wt.set(this,n));var r=n.get(i);n.delete(i),C.default.clearTimeout(r);var a=C.default.setTimeout((function(){0===n.size&&(n=null,wt.delete(t)),t.trigger(e)}),0);n.set(i,a)};var It=function(e){return"function"==typeof e.name?e.name():"string"==typeof e.name?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e},Lt=function(e){return e instanceof Pt||!!e.eventBusEl_&&["on","one","off","trigger"].every((function(t){return"function"==typeof e[t]}))},xt=function(e){return"string"==typeof e&&/\S/.test(e)||Array.isArray(e)&&!!e.length},Rt=function(e,t,i){if(!e||!e.nodeName&&!Lt(e))throw new Error("Invalid target for "+It(t)+"#"+i+"; must be a DOM node or evented object.")},Dt=function(e,t,i){if(!xt(e))throw new Error("Invalid event type for "+It(t)+"#"+i+"; must be a non-empty string or array.")},Ot=function(e,t,i){if("function"!=typeof e)throw new Error("Invalid listener for "+It(t)+"#"+i+"; must be a function.")},Ut=function(e,t,i){var n,r,a,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_;return s?(n=e.eventBusEl_,t.length>=3&&t.shift(),r=t[0],a=t[1]):(n=t[0],r=t[1],a=t[2]),Rt(n,e,i),Dt(r,e,i),Ot(a,e,i),{isTargetingSelf:s,target:n,type:r,listener:a=Ct(e,a)}},Mt=function(e,t,i,n){Rt(e,e,t),e.nodeName?At[t](e,i,n):e[t](i,n)},Ft={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n=0;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),this.el_=null),this.player_=null}},t.isDisposed=function(){return Boolean(this.isDisposed_)},t.player=function(){return this.player_},t.options=function(e){return e?(this.options_=zt(this.options_,e),this.options_):this.options_},t.el=function(){return this.el_},t.createEl=function(e,t,i){return xe(e,t,i)},t.localize=function(e,t,i){void 0===i&&(i=e);var n=this.player_.language&&this.player_.language(),r=this.player_.languages&&this.player_.languages(),a=r&&r[n],s=n&&n.split("-")[0],o=r&&r[s],u=i;return a&&a[e]?u=a[e]:o&&o[e]&&(u=o[e]),t&&(u=u.replace(/\{(\d+)\}/g,(function(e,i){var n=t[i-1],r=n;return void 0===n&&(r=e),r}))),u},t.handleLanguagechange=function(){},t.contentEl=function(){return this.contentEl_||this.el_},t.id=function(){return this.id_},t.name=function(){return this.name_},t.children=function(){return this.children_},t.getChildById=function(e){return this.childIndex_[e]},t.getChild=function(e){if(e)return this.childNameIndex_[e]},t.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i=0;i--)if(this.children_[i]===e){t=!0,this.children_.splice(i,1);break}if(t){e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[Ht(e.name())]=null,this.childNameIndex_[Vt(e.name())]=null;var n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}},t.initChildren=function(){var t=this,i=this.options_.children;if(i){var n,r=this.options_,a=e.getComponent("Tech");(n=Array.isArray(i)?i:Object.keys(i)).concat(Object.keys(this.options_).filter((function(e){return!n.some((function(t){return"string"==typeof t?e===t:e===t.name}))}))).map((function(e){var n,r;return"string"==typeof e?r=i[n=e]||t.options_[n]||{}:(n=e.name,r=e),{name:n,opts:r}})).filter((function(t){var i=e.getComponent(t.opts.componentClass||Ht(t.name));return i&&!a.isTech(i)})).forEach((function(e){var i=e.name,n=e.opts;if(void 0!==r[i]&&(n=r[i]),!1!==n){!0===n&&(n={}),n.playerOptions=t.options_.playerOptions;var a=t.addChild(i,n);a&&(t[i]=a)}}))}},t.buildCSSClass=function(){return""},t.ready=function(e,t){if(void 0===t&&(t=!1),e)return this.isReady_?void(t?e.call(this):this.setTimeout(e,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(e))},t.triggerReady=function(){this.isReady_=!0,this.setTimeout((function(){var e=this.readyQueue_;this.readyQueue_=[],e&&e.length>0&&e.forEach((function(e){e.call(this)}),this),this.trigger("ready")}),1)},t.$=function(e,t){return tt(e,t||this.contentEl())},t.$$=function(e,t){return it(e,t||this.contentEl())},t.hasClass=function(e){return Oe(this.el_,e)},t.addClass=function(e){Ue(this.el_,e)},t.removeClass=function(e){Me(this.el_,e)},t.toggleClass=function(e,t){Fe(this.el_,e,t)},t.show=function(){this.removeClass("vjs-hidden")},t.hide=function(){this.addClass("vjs-hidden")},t.lockShowing=function(){this.addClass("vjs-lock-showing")},t.unlockShowing=function(){this.removeClass("vjs-lock-showing")},t.getAttribute=function(e){return je(this.el_,e)},t.setAttribute=function(e,t){Ve(this.el_,e,t)},t.removeAttribute=function(e){He(this.el_,e)},t.width=function(e,t){return this.dimension("width",e,t)},t.height=function(e,t){return this.dimension("height",e,t)},t.dimensions=function(e,t){this.width(e,!0),this.height(t)},t.dimension=function(e,t,i){if(void 0!==t)return null!==t&&t==t||(t=0),-1!==(""+t).indexOf("%")||-1!==(""+t).indexOf("px")?this.el_.style[e]=t:this.el_.style[e]="auto"===t?"":t+"px",void(i||this.trigger("componentresize"));if(!this.el_)return 0;var n=this.el_.style[e],r=n.indexOf("px");return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_["offset"+Ht(e)],10)},t.currentDimension=function(e){var t=0;if("width"!==e&&"height"!==e)throw new Error("currentDimension only accepts width or height value");if(t=ie(this.el_,e),0===(t=parseFloat(t))||isNaN(t)){var i="offset"+Ht(e);t=this.el_[i]}return t},t.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}},t.currentWidth=function(){return this.currentDimension("width")},t.currentHeight=function(){return this.currentDimension("height")},t.focus=function(){this.el_.focus()},t.blur=function(){this.el_.blur()},t.handleKeyDown=function(e){this.player_&&(e.stopPropagation(),this.player_.handleKeyDown(e))},t.handleKeyPress=function(e){this.handleKeyDown(e)},t.emitTapEvents=function(){var e,t=0,i=null;this.on("touchstart",(function(n){1===n.touches.length&&(i={pageX:n.touches[0].pageX,pageY:n.touches[0].pageY},t=C.default.performance.now(),e=!0)})),this.on("touchmove",(function(t){if(t.touches.length>1)e=!1;else if(i){var n=t.touches[0].pageX-i.pageX,r=t.touches[0].pageY-i.pageY;Math.sqrt(n*n+r*r)>10&&(e=!1)}}));var n=function(){e=!1};this.on("touchleave",n),this.on("touchcancel",n),this.on("touchend",(function(n){(i=null,!0===e)&&(C.default.performance.now()-t<200&&(n.preventDefault(),this.trigger("tap")))}))},t.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var e,t=Ct(this.player(),this.player().reportUserActivity);this.on("touchstart",(function(){t(),this.clearInterval(e),e=this.setInterval(t,250)}));var i=function(i){t(),this.clearInterval(e)};this.on("touchmove",t),this.on("touchend",i),this.on("touchcancel",i)}},t.setTimeout=function(e,t){var i,n=this;return e=Ct(this,e),this.clearTimersOnDispose_(),i=C.default.setTimeout((function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i),e()}),t),this.setTimeoutIds_.add(i),i},t.clearTimeout=function(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),C.default.clearTimeout(e)),e},t.setInterval=function(e,t){e=Ct(this,e),this.clearTimersOnDispose_();var i=C.default.setInterval(e,t);return this.setIntervalIds_.add(i),i},t.clearInterval=function(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),C.default.clearInterval(e)),e},t.requestAnimationFrame=function(e){var t,i=this;return this.supportsRaf_?(this.clearTimersOnDispose_(),e=Ct(this,e),t=C.default.requestAnimationFrame((function(){i.rafIds_.has(t)&&i.rafIds_.delete(t),e()})),this.rafIds_.add(t),t):this.setTimeout(e,1e3/60)},t.requestNamedAnimationFrame=function(e,t){var i=this;if(!this.namedRafs_.has(e)){this.clearTimersOnDispose_(),t=Ct(this,t);var n=this.requestAnimationFrame((function(){t(),i.namedRafs_.has(e)&&i.namedRafs_.delete(e)}));return this.namedRafs_.set(e,n),e}},t.cancelNamedAnimationFrame=function(e){this.namedRafs_.has(e)&&(this.cancelAnimationFrame(this.namedRafs_.get(e)),this.namedRafs_.delete(e))},t.cancelAnimationFrame=function(e){return this.supportsRaf_?(this.rafIds_.has(e)&&(this.rafIds_.delete(e),C.default.cancelAnimationFrame(e)),e):this.clearTimeout(e)},t.clearTimersOnDispose_=function(){var e=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one("dispose",(function(){[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach((function(t){var i=t[0],n=t[1];e[i].forEach((function(t,i){return e[n](i)}))})),e.clearingTimersOnDispose_=!1})))},e.registerComponent=function(t,i){if("string"!=typeof t||!t)throw new Error('Illegal component name, "'+t+'"; must be a non-empty string.');var n,r=e.getComponent("Tech"),a=r&&r.isTech(i),s=e===i||e.prototype.isPrototypeOf(i.prototype);if(a||!s)throw n=a?"techs must be registered using Tech.registerTech()":"must be a Component subclass",new Error('Illegal component, "'+t+'"; '+n+".");t=Ht(t),e.components_||(e.components_={});var o=e.getComponent("Player");if("Player"===t&&o&&o.players){var u=o.players,l=Object.keys(u);if(u&&l.length>0&&l.map((function(e){return u[e]})).every(Boolean))throw new Error("Can not register Player component after player has been created.")}return e.components_[t]=i,e.components_[Vt(t)]=i,i},e.getComponent=function(t){if(t&&e.components_)return e.components_[t]},e}();function Xt(e,t,i,n){return function(e,t,i){if("number"!=typeof t||t<0||t>i)throw new Error("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is non-numeric or out of bounds (0-"+i+").")}(e,n,i.length-1),i[n][t]}function Qt(e){var t;return t=void 0===e||0===e.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:e.length,start:Xt.bind(null,"start",0,e),end:Xt.bind(null,"end",1,e)},C.default.Symbol&&C.default.Symbol.iterator&&(t[C.default.Symbol.iterator]=function(){return(e||[]).values()}),t}function $t(e,t){return Array.isArray(e)?Qt(e):void 0===e||void 0===t?Qt():Qt([[e,t]])}function Jt(e,t){var i,n,r=0;if(!t)return 0;e&&e.length||(e=$t(0,0));for(var a=0;at&&(n=t),r+=n-i;return r/t}function Zt(e){if(e instanceof Zt)return e;"number"==typeof e?this.code=e:"string"==typeof e?this.message=e:ee(e)&&("number"==typeof e.code&&(this.code=e.code),Z(this,e)),this.message||(this.message=Zt.defaultMessages[this.code]||"")}Kt.prototype.supportsRaf_="function"==typeof C.default.requestAnimationFrame&&"function"==typeof C.default.cancelAnimationFrame,Kt.registerComponent("Component",Kt),Zt.prototype.code=0,Zt.prototype.message="",Zt.prototype.status=null,Zt.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"],Zt.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."};for(var ei=0;ei=0;n--)if(t[n].enabled){li(t,t[n]);break}return(i=e.call(this,t)||this).changing_=!1,i}L.default(t,e);var i=t.prototype;return i.addTrack=function(t){var i=this;t.enabled&&li(this,t),e.prototype.addTrack.call(this,t),t.addEventListener&&(t.enabledChange_=function(){i.changing_||(i.changing_=!0,li(i,t),i.changing_=!1,i.trigger("change"))},t.addEventListener("enabledchange",t.enabledChange_))},i.removeTrack=function(t){e.prototype.removeTrack.call(this,t),t.removeEventListener&&t.enabledChange_&&(t.removeEventListener("enabledchange",t.enabledChange_),t.enabledChange_=null)},t}(oi),di=function(e,t){for(var i=0;i=0;n--)if(t[n].selected){di(t,t[n]);break}return(i=e.call(this,t)||this).changing_=!1,Object.defineProperty(I.default(i),"selectedIndex",{get:function(){for(var e=0;e0&&(C.default.console&&C.default.console.groupCollapsed&&C.default.console.groupCollapsed("Text Track parsing errors for "+t.src),n.forEach((function(e){return K.error(e)})),C.default.console&&C.default.console.groupEnd&&C.default.console.groupEnd()),i.flush()},ki=function(e,t){var i={uri:e},n=wi(e);n&&(i.cors=n);var r="use-credentials"===t.tech_.crossOrigin();r&&(i.withCredentials=r),D.default(i,Ct(this,(function(e,i,n){if(e)return K.error(e,i);t.loaded_=!0,"function"!=typeof C.default.WebVTT?t.tech_&&t.tech_.any(["vttjsloaded","vttjserror"],(function(e){if("vttjserror"!==e.type)return Ci(n,t);K.error("vttjs failed to load, stopping trying to process "+t.src)})):Ci(n,t)})))},Pi=function(e){function t(t){var i;if(void 0===t&&(t={}),!t.tech)throw new Error("A tech was not provided.");var n=zt(t,{kind:vi[t.kind]||"subtitles",language:t.language||t.srclang||""}),r=yi[n.mode]||"disabled",a=n.default;"metadata"!==n.kind&&"chapters"!==n.kind||(r="hidden"),(i=e.call(this,n)||this).tech_=n.tech,i.cues_=[],i.activeCues_=[],i.preload_=!1!==i.tech_.preloadTextTracks;var s=new mi(i.cues_),o=new mi(i.activeCues_),u=!1,l=Ct(I.default(i),(function(){this.tech_.isReady_&&!this.tech_.isDisposed()&&(this.activeCues=this.activeCues,u&&(this.trigger("cuechange"),u=!1))}));return i.tech_.one("dispose",(function(){i.tech_.off("timeupdate",l)})),"disabled"!==r&&i.tech_.on("timeupdate",l),Object.defineProperties(I.default(i),{default:{get:function(){return a},set:function(){}},mode:{get:function(){return r},set:function(e){yi[e]&&r!==e&&(r=e,this.preload_||"disabled"===r||0!==this.cues.length||ki(this.src,this),this.tech_.off("timeupdate",l),"disabled"!==r&&this.tech_.on("timeupdate",l),this.trigger("modechange"))}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return o;for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i=e||r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e)&&t.push(r)}if(u=!1,t.length!==this.activeCues_.length)u=!0;else for(var a=0;a0)return void this.trigger("vttjsloaded");var t=k.default.createElement("script");t.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js",t.onload=function(){e.trigger("vttjsloaded")},t.onerror=function(){e.trigger("vttjserror")},this.on("dispose",(function(){t.onload=null,t.onerror=null})),C.default.WebVTT=!0,this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)},i.emulateTextTracks=function(){var e=this,t=this.textTracks(),i=this.remoteTextTracks(),n=function(e){return t.addTrack(e.track)},r=function(e){return t.removeTrack(e.track)};i.on("addtrack",n),i.on("removetrack",r),this.addWebVttScript_();var a=function(){return e.trigger("texttrackchange")},s=function(){a();for(var e=0;e=0;r--){var a=e[r];a[t]&&a[t](n,i)}}(e,i,o,s),o}var Vi={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Hi={setCurrentTime:1,setMuted:1,setVolume:1},zi={play:1,pause:1};function Gi(e){return function(t,i){return t===Bi?Bi:i[e]?i[e](t):t}}var Wi={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},Yi=function(e){void 0===e&&(e="");var t=Ei(e);return Wi[t.toLowerCase()]||""};function qi(e){if(!e.type){var t=Yi(e.src);t&&(e.type=t)}return e}var Ki=function(e){function t(t,i,n){var r,a=zt({createEl:!1},i);if(r=e.call(this,t,a,n)||this,i.playerOptions.sources&&0!==i.playerOptions.sources.length)t.src(i.playerOptions.sources);else for(var s=0,o=i.playerOptions.techOrder;s0;!this.player_.tech(!0)||(_e||fe)&&t||this.player_.tech(!0).focus(),this.player_.paused()?ii(this.player_.play()):this.player_.pause()}},t}(Xi);Kt.registerComponent("PosterImage",Qi);var $i={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'};function Ji(e,t){var i;if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3];else{if(7!==e.length)throw new Error("Invalid color code provided, "+e+"; must be formatted as e.g. #f0e or #f604e2.");i=e.slice(1)}return"rgba("+parseInt(i.slice(0,2),16)+","+parseInt(i.slice(2,4),16)+","+parseInt(i.slice(4,6),16)+","+t+")"}function Zi(e,t,i){try{e.style[t]=i}catch(e){return}}var en=function(e){function t(t,i,n){var r;r=e.call(this,t,i,n)||this;var a=function(e){return r.updateDisplay(e)};return t.on("loadstart",(function(e){return r.toggleDisplay(e)})),t.on("texttrackchange",a),t.on("loadedmetadata",(function(e){return r.preselectTrack(e)})),t.ready(Ct(I.default(r),(function(){if(t.tech_&&t.tech_.featuresNativeTextTracks)this.hide();else{t.on("fullscreenchange",a),t.on("playerresize",a),C.default.addEventListener("orientationchange",a),t.on("dispose",(function(){return C.default.removeEventListener("orientationchange",a)}));for(var e=this.options_.playerOptions.tracks||[],i=0;i0;return ii(t),void(!this.player_.tech(!0)||(_e||fe)&&i||this.player_.tech(!0).focus())}var n=this.player_.getChild("controlBar"),r=n&&n.getChild("playToggle");if(r){var a=function(){return r.focus()};ti(t)?t.then(a,(function(){})):this.setTimeout(a,1)}else this.player_.tech(!0).focus()},i.handleKeyDown=function(t){this.mouseused_=!1,e.prototype.handleKeyDown.call(this,t)},i.handleMouseDown=function(e){this.mouseused_=!0},t}(nn);rn.prototype.controlText_="Play Video",Kt.registerComponent("BigPlayButton",rn);var an=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).controlText(i&&i.controlText||n.localize("Close")),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-close-button "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){this.trigger({type:"close",bubbles:!1})},i.handleKeyDown=function(t){R.default.isEventKey(t,"Esc")?(t.preventDefault(),t.stopPropagation(),this.trigger("click")):e.prototype.handleKeyDown.call(this,t)},t}(nn);Kt.registerComponent("CloseButton",an);var sn=function(e){function t(t,i){var n;return void 0===i&&(i={}),n=e.call(this,t,i)||this,i.replay=void 0===i.replay||i.replay,n.on(t,"play",(function(e){return n.handlePlay(e)})),n.on(t,"pause",(function(e){return n.handlePause(e)})),i.replay&&n.on(t,"ended",(function(e){return n.handleEnded(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-play-control "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){this.player_.paused()?ii(this.player_.play()):this.player_.pause()},i.handleSeeked=function(e){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(e):this.handlePlay(e)},i.handlePlay=function(e){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.controlText("Pause")},i.handlePause=function(e){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.controlText("Play")},i.handleEnded=function(e){var t=this;this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.controlText("Replay"),this.one(this.player_,"seeked",(function(e){return t.handleSeeked(e)}))},t}(nn);sn.prototype.controlText_="Play",Kt.registerComponent("PlayToggle",sn);var on=function(e,t){e=e<0?0:e;var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),a=Math.floor(t/60%60),s=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(r=n=i="-"),(r=r>0||s>0?r+":":"")+(n=((r||a>=10)&&n<10?"0"+n:n)+":")+(i=i<10?"0"+i:i)},un=on;function ln(e,t){return void 0===t&&(t=e),un(e,t)}var hn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,["timeupdate","ended"],(function(e){return n.updateContent(e)})),n.updateTextNode_(),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=this.buildCSSClass(),i=e.prototype.createEl.call(this,"div",{className:t+" vjs-time-control vjs-control"}),n=xe("span",{className:"vjs-control-text",textContent:this.localize(this.labelText_)+" "},{role:"presentation"});return i.appendChild(n),this.contentEl_=xe("span",{className:t+"-display"},{"aria-live":"off",role:"presentation"}),i.appendChild(this.contentEl_),i},i.dispose=function(){this.contentEl_=null,this.textNode_=null,e.prototype.dispose.call(this)},i.updateTextNode_=function(e){var t=this;void 0===e&&(e=0),e=ln(e),this.formattedTime_!==e&&(this.formattedTime_=e,this.requestNamedAnimationFrame("TimeDisplay#updateTextNode_",(function(){if(t.contentEl_){var e=t.textNode_;e&&t.contentEl_.firstChild!==e&&(e=null,K.warn("TimeDisplay#updateTextnode_: Prevented replacement of text node element since it was no longer a child of this node. Appending a new node instead.")),t.textNode_=k.default.createTextNode(t.formattedTime_),t.textNode_&&(e?t.contentEl_.replaceChild(t.textNode_,e):t.contentEl_.appendChild(t.textNode_))}})))},i.updateContent=function(e){},t}(Kt);hn.prototype.labelText_="Time",hn.prototype.controlText_="Time",Kt.registerComponent("TimeDisplay",hn);var dn=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-current-time"},i.updateContent=function(e){var t;t=this.player_.ended()?this.player_.duration():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(t)},t}(hn);dn.prototype.labelText_="Current Time",dn.prototype.controlText_="Current Time",Kt.registerComponent("CurrentTimeDisplay",dn);var cn=function(e){function t(t,i){var n,r=function(e){return n.updateContent(e)};return(n=e.call(this,t,i)||this).on(t,"durationchange",r),n.on(t,"loadstart",r),n.on(t,"loadedmetadata",r),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-duration"},i.updateContent=function(e){var t=this.player_.duration();this.updateTextNode_(t)},t}(hn);cn.prototype.labelText_="Duration",cn.prototype.controlText_="Duration",Kt.registerComponent("DurationDisplay",cn);var fn=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-time-control vjs-time-divider"},{"aria-hidden":!0}),i=e.prototype.createEl.call(this,"div"),n=e.prototype.createEl.call(this,"span",{textContent:"/"});return i.appendChild(n),t.appendChild(i),t},t}(Kt);Kt.registerComponent("TimeDivider",fn);var pn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"durationchange",(function(e){return n.updateContent(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-remaining-time"},i.createEl=function(){var t=e.prototype.createEl.call(this);return t.insertBefore(xe("span",{},{"aria-hidden":!0},"-"),this.contentEl_),t},i.updateContent=function(e){var t;"number"==typeof this.player_.duration()&&(t=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(t))},t}(hn);pn.prototype.labelText_="Remaining Time",pn.prototype.controlText_="Remaining Time",Kt.registerComponent("RemainingTimeDisplay",pn);var mn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).updateShowing(),n.on(n.player(),"durationchange",(function(e){return n.updateShowing(e)})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-live-control vjs-control"});return this.contentEl_=xe("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(xe("span",{className:"vjs-control-text",textContent:this.localize("Stream Type")+" "})),this.contentEl_.appendChild(k.default.createTextNode(this.localize("LIVE"))),t.appendChild(this.contentEl_),t},i.dispose=function(){this.contentEl_=null,e.prototype.dispose.call(this)},i.updateShowing=function(e){this.player().duration()===1/0?this.show():this.hide()},t}(Kt);Kt.registerComponent("LiveDisplay",mn);var _n=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).updateLiveEdgeStatus(),n.player_.liveTracker&&(n.updateLiveEdgeStatusHandler_=function(e){return n.updateLiveEdgeStatus(e)},n.on(n.player_.liveTracker,"liveedgechange",n.updateLiveEdgeStatusHandler_)),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"button",{className:"vjs-seek-to-live-control vjs-control"});return this.textEl_=xe("span",{className:"vjs-seek-to-live-text",textContent:this.localize("LIVE")},{"aria-hidden":"true"}),t.appendChild(this.textEl_),t},i.updateLiveEdgeStatus=function(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute("aria-disabled",!0),this.addClass("vjs-at-live-edge"),this.controlText("Seek to live, currently playing live")):(this.setAttribute("aria-disabled",!1),this.removeClass("vjs-at-live-edge"),this.controlText("Seek to live, currently behind live"))},i.handleClick=function(){this.player_.liveTracker.seekToLiveEdge()},i.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatusHandler_),this.textEl_=null,e.prototype.dispose.call(this)},t}(nn);_n.prototype.controlText_="Seek to live, currently playing live",Kt.registerComponent("SeekToLive",_n);var gn=function(e,t,i){return e=Number(e),Math.min(i,Math.max(t,isNaN(e)?t:e))},vn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).handleMouseDown_=function(e){return n.handleMouseDown(e)},n.handleMouseUp_=function(e){return n.handleMouseUp(e)},n.handleKeyDown_=function(e){return n.handleKeyDown(e)},n.handleClick_=function(e){return n.handleClick(e)},n.handleMouseMove_=function(e){return n.handleMouseMove(e)},n.update_=function(e){return n.update(e)},n.bar=n.getChild(n.options_.barName),n.vertical(!!n.options_.vertical),n.enable(),n}L.default(t,e);var i=t.prototype;return i.enabled=function(){return this.enabled_},i.enable=function(){this.enabled()||(this.on("mousedown",this.handleMouseDown_),this.on("touchstart",this.handleMouseDown_),this.on("keydown",this.handleKeyDown_),this.on("click",this.handleClick_),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0)},i.disable=function(){if(this.enabled()){var e=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown_),this.off("touchstart",this.handleMouseDown_),this.off("keydown",this.handleKeyDown_),this.off("click",this.handleClick_),this.off(this.player_,"controlsvisible",this.update_),this.off(e,"mousemove",this.handleMouseMove_),this.off(e,"mouseup",this.handleMouseUp_),this.off(e,"touchmove",this.handleMouseMove_),this.off(e,"touchend",this.handleMouseUp_),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},i.createEl=function(t,i,n){return void 0===i&&(i={}),void 0===n&&(n={}),i.className=i.className+" vjs-slider",i=Z({tabIndex:0},i),n=Z({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},n),e.prototype.createEl.call(this,t,i,n)},i.handleMouseDown=function(e){var t=this.bar.el_.ownerDocument;"mousedown"===e.type&&e.preventDefault(),"touchstart"!==e.type||pe||e.preventDefault(),ze(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(t,"mousemove",this.handleMouseMove_),this.on(t,"mouseup",this.handleMouseUp_),this.on(t,"touchmove",this.handleMouseMove_),this.on(t,"touchend",this.handleMouseUp_),this.handleMouseMove(e)},i.handleMouseMove=function(e){},i.handleMouseUp=function(){var e=this.bar.el_.ownerDocument;Ge(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(e,"mousemove",this.handleMouseMove_),this.off(e,"mouseup",this.handleMouseUp_),this.off(e,"touchmove",this.handleMouseMove_),this.off(e,"touchend",this.handleMouseUp_),this.update()},i.update=function(){var e=this;if(this.el_&&this.bar){var t=this.getProgress();return t===this.progress_||(this.progress_=t,this.requestNamedAnimationFrame("Slider#update",(function(){var i=e.vertical()?"height":"width";e.bar.el().style[i]=(100*t).toFixed(2)+"%"}))),t}},i.getProgress=function(){return Number(gn(this.getPercent(),0,1).toFixed(4))},i.calculateDistance=function(e){var t=qe(this.el_,e);return this.vertical()?t.y:t.x},i.handleKeyDown=function(t){R.default.isEventKey(t,"Left")||R.default.isEventKey(t,"Down")?(t.preventDefault(),t.stopPropagation(),this.stepBack()):R.default.isEventKey(t,"Right")||R.default.isEventKey(t,"Up")?(t.preventDefault(),t.stopPropagation(),this.stepForward()):e.prototype.handleKeyDown.call(this,t)},i.handleClick=function(e){e.stopPropagation(),e.preventDefault()},i.vertical=function(e){if(void 0===e)return this.vertical_||!1;this.vertical_=!!e,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal")},t}(Kt);Kt.registerComponent("Slider",vn);var yn=function(e,t){return gn(e/t*100,0,100).toFixed(2)+"%"},bn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).partEls_=[],n.on(t,"progress",(function(e){return n.update(e)})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-load-progress"}),i=xe("span",{className:"vjs-control-text"}),n=xe("span",{textContent:this.localize("Loaded")}),r=k.default.createTextNode(": ");return this.percentageEl_=xe("span",{className:"vjs-control-text-loaded-percentage",textContent:"0%"}),t.appendChild(i),i.appendChild(n),i.appendChild(r),i.appendChild(this.percentageEl_),t},i.dispose=function(){this.partEls_=null,this.percentageEl_=null,e.prototype.dispose.call(this)},i.update=function(e){var t=this;this.requestNamedAnimationFrame("LoadProgressBar#update",(function(){var e=t.player_.liveTracker,i=t.player_.buffered(),n=e&&e.isLive()?e.seekableEnd():t.player_.duration(),r=t.player_.bufferedEnd(),a=t.partEls_,s=yn(r,n);t.percent_!==s&&(t.el_.style.width=s,Re(t.percentageEl_,s),t.percent_=s);for(var o=0;oi.length;d--)t.el_.removeChild(a[d-1]);a.length=i.length}))},t}(Kt);Kt.registerComponent("LoadProgressBar",bn);var Sn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-time-tooltip"},{"aria-hidden":"true"})},i.update=function(e,t,i){var n=Ye(this.el_),r=We(this.player_.el()),a=e.width*t;if(r&&n){var s=e.left-r.left+a,o=e.width-a+(r.right-e.right),u=n.width/2;sn.width&&(u=n.width),u=Math.round(u),this.el_.style.right="-"+u+"px",this.write(i)}},i.write=function(e){Re(this.el_,e)},i.updateTime=function(e,t,i,n){var r=this;this.requestNamedAnimationFrame("TimeTooltip#updateTime",(function(){var a,s=r.player_.duration();if(r.player_.liveTracker&&r.player_.liveTracker.isLive()){var o=r.player_.liveTracker.liveWindow(),u=o-t*o;a=(u<1?"":"-")+ln(u,o)}else a=ln(i,s);r.update(e,t,a),n&&n()}))},t}(Kt);Kt.registerComponent("TimeTooltip",Sn);var Tn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-play-progress vjs-slider-bar"},{"aria-hidden":"true"})},i.update=function(e,t){var i=this.getChild("timeTooltip");if(i){var n=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();i.updateTime(e,t,n)}},t}(Kt);Tn.prototype.options_={children:[]},Te||le||Tn.prototype.options_.children.push("timeTooltip"),Kt.registerComponent("PlayProgressBar",Tn);var En=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},i.update=function(e,t){var i=this,n=t*this.player_.duration();this.getChild("timeTooltip").updateTime(e,t,n,(function(){i.el_.style.left=e.width*t+"px"}))},t}(Kt);En.prototype.options_={children:["timeTooltip"]},Kt.registerComponent("MouseTimeDisplay",En);var wn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).setEventHandlers_(),n}L.default(t,e);var i=t.prototype;return i.setEventHandlers_=function(){var e=this;this.update_=Ct(this,this.update),this.update=kt(this.update_,30),this.on(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,"liveedgechange",this.update),this.updateInterval=null,this.enableIntervalHandler_=function(t){return e.enableInterval_(t)},this.disableIntervalHandler_=function(t){return e.disableInterval_(t)},this.on(this.player_,["playing"],this.enableIntervalHandler_),this.on(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in k.default&&"visibilityState"in k.default&&this.on(k.default,"visibilitychange",this.toggleVisibility_)},i.toggleVisibility_=function(e){"hidden"===k.default.visibilityState?(this.cancelNamedAnimationFrame("SeekBar#update"),this.cancelNamedAnimationFrame("Slider#update"),this.disableInterval_(e)):(this.player_.ended()||this.player_.paused()||this.enableInterval_(),this.update())},i.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,30))},i.disableInterval_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&e&&"ended"!==e.type||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null)},i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")})},i.update=function(t){var i=this;if("hidden"!==k.default.visibilityState){var n=e.prototype.update.call(this);return this.requestNamedAnimationFrame("SeekBar#update",(function(){var e=i.player_.ended()?i.player_.duration():i.getCurrentTime_(),t=i.player_.liveTracker,r=i.player_.duration();t&&t.isLive()&&(r=i.player_.liveTracker.liveCurrentTime()),i.percent_!==n&&(i.el_.setAttribute("aria-valuenow",(100*n).toFixed(2)),i.percent_=n),i.currentTime_===e&&i.duration_===r||(i.el_.setAttribute("aria-valuetext",i.localize("progress bar timing: currentTime={1} duration={2}",[ln(e,r),ln(r,r)],"{1} of {2}")),i.currentTime_=e,i.duration_=r),i.bar&&i.bar.update(We(i.el()),i.getProgress())})),n}},i.userSeek_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(e)},i.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},i.getPercent=function(){var e,t=this.getCurrentTime_(),i=this.player_.liveTracker;return i&&i.isLive()?(e=(t-i.seekableStart())/i.liveWindow(),i.atLiveEdge()&&(e=1)):e=t/this.player_.duration(),e},i.handleMouseDown=function(t){Ze(t)&&(t.stopPropagation(),this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),e.prototype.handleMouseDown.call(this,t))},i.handleMouseMove=function(e){if(Ze(e)){var t,i=this.calculateDistance(e),n=this.player_.liveTracker;if(n&&n.isLive()){if(i>=.99)return void n.seekToLiveEdge();var r=n.seekableStart(),a=n.liveCurrentTime();if((t=r+i*n.liveWindow())>=a&&(t=a),t<=r&&(t=r+.1),t===1/0)return}else(t=i*this.player_.duration())===this.player_.duration()&&(t-=.1);this.userSeek_(t)}},i.enable=function(){e.prototype.enable.call(this);var t=this.getChild("mouseTimeDisplay");t&&t.show()},i.disable=function(){e.prototype.disable.call(this);var t=this.getChild("mouseTimeDisplay");t&&t.hide()},i.handleMouseUp=function(t){e.prototype.handleMouseUp.call(this,t),t&&t.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying?ii(this.player_.play()):this.update_()},i.stepForward=function(){this.userSeek_(this.player_.currentTime()+5)},i.stepBack=function(){this.userSeek_(this.player_.currentTime()-5)},i.handleAction=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},i.handleKeyDown=function(t){var i=this.player_.liveTracker;if(R.default.isEventKey(t,"Space")||R.default.isEventKey(t,"Enter"))t.preventDefault(),t.stopPropagation(),this.handleAction(t);else if(R.default.isEventKey(t,"Home"))t.preventDefault(),t.stopPropagation(),this.userSeek_(0);else if(R.default.isEventKey(t,"End"))t.preventDefault(),t.stopPropagation(),i&&i.isLive()?this.userSeek_(i.liveCurrentTime()):this.userSeek_(this.player_.duration());else if(/^[0-9]$/.test(R.default(t))){t.preventDefault(),t.stopPropagation();var n=10*(R.default.codes[R.default(t)]-R.default.codes[0])/100;i&&i.isLive()?this.userSeek_(i.seekableStart()+i.liveWindow()*n):this.userSeek_(this.player_.duration()*n)}else R.default.isEventKey(t,"PgDn")?(t.preventDefault(),t.stopPropagation(),this.userSeek_(this.player_.currentTime()-60)):R.default.isEventKey(t,"PgUp")?(t.preventDefault(),t.stopPropagation(),this.userSeek_(this.player_.currentTime()+60)):e.prototype.handleKeyDown.call(this,t)},i.dispose=function(){this.disableInterval_(),this.off(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.update),this.off(this.player_,["playing"],this.enableIntervalHandler_),this.off(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in k.default&&"visibilityState"in k.default&&this.off(k.default,"visibilitychange",this.toggleVisibility_),e.prototype.dispose.call(this)},t}(vn);wn.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar"},Te||le||wn.prototype.options_.children.splice(1,0,"mouseTimeDisplay"),Kt.registerComponent("SeekBar",wn);var An=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).handleMouseMove=kt(Ct(I.default(n),n.handleMouseMove),30),n.throttledHandleMouseSeek=kt(Ct(I.default(n),n.handleMouseSeek),30),n.handleMouseUpHandler_=function(e){return n.handleMouseUp(e)},n.handleMouseDownHandler_=function(e){return n.handleMouseDown(e)},n.enable(),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"})},i.handleMouseMove=function(e){var t=this.getChild("seekBar");if(t){var i=t.getChild("playProgressBar"),n=t.getChild("mouseTimeDisplay");if(i||n){var r=t.el(),a=Ye(r),s=qe(r,e).x;s=gn(s,0,1),n&&n.update(a,s),i&&i.update(a,t.getProgress())}}},i.handleMouseSeek=function(e){var t=this.getChild("seekBar");t&&t.handleMouseMove(e)},i.enabled=function(){return this.enabled_},i.disable=function(){if(this.children().forEach((function(e){return e.disable&&e.disable()})),this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDownHandler_),this.off(this.el_,"mousemove",this.handleMouseMove),this.removeListenersAddedOnMousedownAndTouchstart(),this.addClass("disabled"),this.enabled_=!1,this.player_.scrubbing())){var e=this.getChild("seekBar");this.player_.scrubbing(!1),e.videoWasPlaying&&ii(this.player_.play())}},i.enable=function(){this.children().forEach((function(e){return e.enable&&e.enable()})),this.enabled()||(this.on(["mousedown","touchstart"],this.handleMouseDownHandler_),this.on(this.el_,"mousemove",this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0)},i.removeListenersAddedOnMousedownAndTouchstart=function(){var e=this.el_.ownerDocument;this.off(e,"mousemove",this.throttledHandleMouseSeek),this.off(e,"touchmove",this.throttledHandleMouseSeek),this.off(e,"mouseup",this.handleMouseUpHandler_),this.off(e,"touchend",this.handleMouseUpHandler_)},i.handleMouseDown=function(e){var t=this.el_.ownerDocument,i=this.getChild("seekBar");i&&i.handleMouseDown(e),this.on(t,"mousemove",this.throttledHandleMouseSeek),this.on(t,"touchmove",this.throttledHandleMouseSeek),this.on(t,"mouseup",this.handleMouseUpHandler_),this.on(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseUp=function(e){var t=this.getChild("seekBar");t&&t.handleMouseUp(e),this.removeListenersAddedOnMousedownAndTouchstart()},t}(Kt);An.prototype.options_={children:["seekBar"]},Kt.registerComponent("ProgressControl",An);var Cn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,["enterpictureinpicture","leavepictureinpicture"],(function(e){return n.handlePictureInPictureChange(e)})),n.on(t,["disablepictureinpicturechanged","loadedmetadata"],(function(e){return n.handlePictureInPictureEnabledChange(e)})),n.disable(),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-picture-in-picture-control "+e.prototype.buildCSSClass.call(this)},i.handlePictureInPictureEnabledChange=function(){k.default.pictureInPictureEnabled&&!1===this.player_.disablePictureInPicture()?this.enable():this.disable()},i.handlePictureInPictureChange=function(e){this.player_.isInPictureInPicture()?this.controlText("Exit Picture-in-Picture"):this.controlText("Picture-in-Picture"),this.handlePictureInPictureEnabledChange()},i.handleClick=function(e){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()},t}(nn);Cn.prototype.controlText_="Picture-in-Picture",Kt.registerComponent("PictureInPictureToggle",Cn);var kn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"fullscreenchange",(function(e){return n.handleFullscreenChange(e)})),!1===k.default[t.fsApi_.fullscreenEnabled]&&n.disable(),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-fullscreen-control "+e.prototype.buildCSSClass.call(this)},i.handleFullscreenChange=function(e){this.player_.isFullscreen()?this.controlText("Non-Fullscreen"):this.controlText("Fullscreen")},i.handleClick=function(e){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},t}(nn);kn.prototype.controlText_="Fullscreen",Kt.registerComponent("FullscreenToggle",kn);var Pn=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-volume-level"});return t.appendChild(e.prototype.createEl.call(this,"span",{className:"vjs-control-text"})),t},t}(Kt);Kt.registerComponent("VolumeLevel",Pn);var In=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-volume-tooltip"},{"aria-hidden":"true"})},i.update=function(e,t,i,n){if(!i){var r=We(this.el_),a=We(this.player_.el()),s=e.width*t;if(!a||!r)return;var o=e.left-a.left+s,u=e.width-s+(a.right-e.right),l=r.width/2;or.width&&(l=r.width),this.el_.style.right="-"+l+"px"}this.write(n+"%")},i.write=function(e){Re(this.el_,e)},i.updateVolume=function(e,t,i,n,r){var a=this;this.requestNamedAnimationFrame("VolumeLevelTooltip#updateVolume",(function(){a.update(e,t,i,n.toFixed(0)),r&&r()}))},t}(Kt);Kt.registerComponent("VolumeLevelTooltip",In);var Ln=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},i.update=function(e,t,i){var n=this,r=100*t;this.getChild("volumeLevelTooltip").updateVolume(e,t,i,r,(function(){i?n.el_.style.bottom=e.height*t+"px":n.el_.style.left=e.width*t+"px"}))},t}(Kt);Ln.prototype.options_={children:["volumeLevelTooltip"]},Kt.registerComponent("MouseVolumeLevelDisplay",Ln);var xn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on("slideractive",(function(e){return n.updateLastVolume_(e)})),n.on(t,"volumechange",(function(e){return n.updateARIAAttributes(e)})),t.ready((function(){return n.updateARIAAttributes()})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"})},i.handleMouseDown=function(t){Ze(t)&&e.prototype.handleMouseDown.call(this,t)},i.handleMouseMove=function(e){var t=this.getChild("mouseVolumeLevelDisplay");if(t){var i=this.el(),n=We(i),r=this.vertical(),a=qe(i,e);a=r?a.y:a.x,a=gn(a,0,1),t.update(n,a,r)}Ze(e)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(e)))},i.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},i.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},i.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},i.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},i.updateARIAAttributes=function(e){var t=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",t),this.el_.setAttribute("aria-valuetext",t+"%")},i.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},i.updateLastVolume_=function(){var e=this,t=this.player_.volume();this.one("sliderinactive",(function(){0===e.player_.volume()&&e.player_.lastVolume_(t)}))},t}(vn);xn.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},Te||le||xn.prototype.options_.children.splice(0,0,"mouseVolumeLevelDisplay"),xn.prototype.playerEvent="volumechange",Kt.registerComponent("VolumeBar",xn);var Rn=function(e){function t(t,i){var n;return void 0===i&&(i={}),i.vertical=i.vertical||!1,(void 0===i.volumeBar||te(i.volumeBar))&&(i.volumeBar=i.volumeBar||{},i.volumeBar.vertical=i.vertical),n=e.call(this,t,i)||this,function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",(function(){t.tech_.featuresVolumeControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden")}))}(I.default(n),t),n.throttledHandleMouseMove=kt(Ct(I.default(n),n.handleMouseMove),30),n.handleMouseUpHandler_=function(e){return n.handleMouseUp(e)},n.on("mousedown",(function(e){return n.handleMouseDown(e)})),n.on("touchstart",(function(e){return n.handleMouseDown(e)})),n.on("mousemove",(function(e){return n.handleMouseMove(e)})),n.on(n.volumeBar,["focus","slideractive"],(function(){n.volumeBar.addClass("vjs-slider-active"),n.addClass("vjs-slider-active"),n.trigger("slideractive")})),n.on(n.volumeBar,["blur","sliderinactive"],(function(){n.volumeBar.removeClass("vjs-slider-active"),n.removeClass("vjs-slider-active"),n.trigger("sliderinactive")})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t="vjs-volume-horizontal";return this.options_.vertical&&(t="vjs-volume-vertical"),e.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control "+t})},i.handleMouseDown=function(e){var t=this.el_.ownerDocument;this.on(t,"mousemove",this.throttledHandleMouseMove),this.on(t,"touchmove",this.throttledHandleMouseMove),this.on(t,"mouseup",this.handleMouseUpHandler_),this.on(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseUp=function(e){var t=this.el_.ownerDocument;this.off(t,"mousemove",this.throttledHandleMouseMove),this.off(t,"touchmove",this.throttledHandleMouseMove),this.off(t,"mouseup",this.handleMouseUpHandler_),this.off(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseMove=function(e){this.volumeBar.handleMouseMove(e)},t}(Kt);Rn.prototype.options_={children:["volumeBar"]},Kt.registerComponent("VolumeControl",Rn);var Dn=function(e){function t(t,i){var n;return n=e.call(this,t,i)||this,function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",(function(){t.tech_.featuresMuteControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden")}))}(I.default(n),t),n.on(t,["loadstart","volumechange"],(function(e){return n.update(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-mute-control "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){var t=this.player_.volume(),i=this.player_.lastVolume_();if(0===t){var n=i<.1?.1:i;this.player_.volume(n),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},i.update=function(e){this.updateIcon_(),this.updateControlText_()},i.updateIcon_=function(){var e=this.player_.volume(),t=3;Te&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),0===e||this.player_.muted()?t=0:e<.33?t=1:e<.67&&(t=2);for(var i=0;i<4;i++)Me(this.el_,"vjs-vol-"+i);Ue(this.el_,"vjs-vol-"+t)},i.updateControlText_=function(){var e=this.player_.muted()||0===this.player_.volume()?"Unmute":"Mute";this.controlText()!==e&&this.controlText(e)},t}(nn);Dn.prototype.controlText_="Mute",Kt.registerComponent("MuteToggle",Dn);var On=function(e){function t(t,i){var n;return void 0===i&&(i={}),void 0!==i.inline?i.inline=i.inline:i.inline=!0,(void 0===i.volumeControl||te(i.volumeControl))&&(i.volumeControl=i.volumeControl||{},i.volumeControl.vertical=!i.inline),(n=e.call(this,t,i)||this).handleKeyPressHandler_=function(e){return n.handleKeyPress(e)},n.on(t,["loadstart"],(function(e){return n.volumePanelState_(e)})),n.on(n.muteToggle,"keyup",(function(e){return n.handleKeyPress(e)})),n.on(n.volumeControl,"keyup",(function(e){return n.handleVolumeControlKeyUp(e)})),n.on("keydown",(function(e){return n.handleKeyPress(e)})),n.on("mouseover",(function(e){return n.handleMouseOver(e)})),n.on("mouseout",(function(e){return n.handleMouseOut(e)})),n.on(n.volumeControl,["slideractive"],n.sliderActive_),n.on(n.volumeControl,["sliderinactive"],n.sliderInactive_),n}L.default(t,e);var i=t.prototype;return i.sliderActive_=function(){this.addClass("vjs-slider-active")},i.sliderInactive_=function(){this.removeClass("vjs-slider-active")},i.volumePanelState_=function(){this.volumeControl.hasClass("vjs-hidden")&&this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-hidden"),this.volumeControl.hasClass("vjs-hidden")&&!this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-mute-toggle-only")},i.createEl=function(){var t="vjs-volume-panel-horizontal";return this.options_.inline||(t="vjs-volume-panel-vertical"),e.prototype.createEl.call(this,"div",{className:"vjs-volume-panel vjs-control "+t})},i.dispose=function(){this.handleMouseOut(),e.prototype.dispose.call(this)},i.handleVolumeControlKeyUp=function(e){R.default.isEventKey(e,"Esc")&&this.muteToggle.focus()},i.handleMouseOver=function(e){this.addClass("vjs-hover"),yt(k.default,"keyup",this.handleKeyPressHandler_)},i.handleMouseOut=function(e){this.removeClass("vjs-hover"),bt(k.default,"keyup",this.handleKeyPressHandler_)},i.handleKeyPress=function(e){R.default.isEventKey(e,"Esc")&&this.handleMouseOut()},t}(Kt);On.prototype.options_={children:["muteToggle","volumeControl"]},Kt.registerComponent("VolumePanel",On);var Un=function(e){function t(t,i){var n;return n=e.call(this,t,i)||this,i&&(n.menuButton_=i.menuButton),n.focusedChild_=-1,n.on("keydown",(function(e){return n.handleKeyDown(e)})),n.boundHandleBlur_=function(e){return n.handleBlur(e)},n.boundHandleTapClick_=function(e){return n.handleTapClick(e)},n}L.default(t,e);var i=t.prototype;return i.addEventListenerForItem=function(e){e instanceof Kt&&(this.on(e,"blur",this.boundHandleBlur_),this.on(e,["tap","click"],this.boundHandleTapClick_))},i.removeEventListenerForItem=function(e){e instanceof Kt&&(this.off(e,"blur",this.boundHandleBlur_),this.off(e,["tap","click"],this.boundHandleTapClick_))},i.removeChild=function(t){"string"==typeof t&&(t=this.getChild(t)),this.removeEventListenerForItem(t),e.prototype.removeChild.call(this,t)},i.addItem=function(e){var t=this.addChild(e);t&&this.addEventListenerForItem(t)},i.createEl=function(){var t=this.options_.contentElType||"ul";this.contentEl_=xe(t,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");var i=e.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return i.appendChild(this.contentEl_),yt(i,"click",(function(e){e.preventDefault(),e.stopImmediatePropagation()})),i},i.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,e.prototype.dispose.call(this)},i.handleBlur=function(e){var t=e.relatedTarget||k.default.activeElement;if(!this.children().some((function(e){return e.el()===t}))){var i=this.menuButton_;i&&i.buttonPressed_&&t!==i.el().firstChild&&i.unpressButton()}},i.handleTapClick=function(e){if(this.menuButton_){this.menuButton_.unpressButton();var t=this.children();if(!Array.isArray(t))return;var i=t.filter((function(t){return t.el()===e.target}))[0];if(!i)return;"CaptionSettingsMenuItem"!==i.name()&&this.menuButton_.focus()}},i.handleKeyDown=function(e){R.default.isEventKey(e,"Left")||R.default.isEventKey(e,"Down")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(R.default.isEventKey(e,"Right")||R.default.isEventKey(e,"Up"))&&(e.preventDefault(),e.stopPropagation(),this.stepBack())},i.stepForward=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_+1),this.focus(e)},i.stepBack=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_-1),this.focus(e)},i.focus=function(e){void 0===e&&(e=0);var t=this.children().slice();t.length&&t[0].hasClass("vjs-menu-title")&&t.shift(),t.length>0&&(e<0?e=0:e>=t.length&&(e=t.length-1),this.focusedChild_=e,t[e].el_.focus())},t}(Kt);Kt.registerComponent("Menu",Un);var Mn=function(e){function t(t,i){var n;void 0===i&&(i={}),(n=e.call(this,t,i)||this).menuButton_=new nn(t,i),n.menuButton_.controlText(n.controlText_),n.menuButton_.el_.setAttribute("aria-haspopup","true");var r=nn.prototype.buildCSSClass();n.menuButton_.el_.className=n.buildCSSClass()+" "+r,n.menuButton_.removeClass("vjs-control"),n.addChild(n.menuButton_),n.update(),n.enabled_=!0;var a=function(e){return n.handleClick(e)};return n.handleMenuKeyUp_=function(e){return n.handleMenuKeyUp(e)},n.on(n.menuButton_,"tap",a),n.on(n.menuButton_,"click",a),n.on(n.menuButton_,"keydown",(function(e){return n.handleKeyDown(e)})),n.on(n.menuButton_,"mouseenter",(function(){n.addClass("vjs-hover"),n.menu.show(),yt(k.default,"keyup",n.handleMenuKeyUp_)})),n.on("mouseleave",(function(e){return n.handleMouseLeave(e)})),n.on("keydown",(function(e){return n.handleSubmenuKeyDown(e)})),n}L.default(t,e);var i=t.prototype;return i.update=function(){var e=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=e,this.addChild(e),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},i.createMenu=function(){var e=new Un(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var t=xe("li",{className:"vjs-menu-title",textContent:Ht(this.options_.title),tabIndex:-1}),i=new Kt(this.player_,{el:t});e.addItem(i)}if(this.items=this.createItems(),this.items)for(var n=0;n-1&&"showing"===a.mode){i=!1;break}}i!==this.isSelected_&&this.selected(i)},i.handleSelectedLanguageChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n-1&&"showing"===a.mode){i=!1;break}}i&&(this.player_.cache_.selectedLanguage={enabled:!1})},t}(jn);Kt.registerComponent("OffTextTrackMenuItem",Vn);var Hn=function(e){function t(t,i){return void 0===i&&(i={}),i.tracks=t.textTracks(),e.call(this,t,i)||this}return L.default(t,e),t.prototype.createItems=function(e,t){var i;void 0===e&&(e=[]),void 0===t&&(t=jn),this.label_&&(i=this.label_+" off"),e.push(new Vn(this.player_,{kinds:this.kinds_,kind:this.kind_,label:i})),this.hideThreshold_+=1;var n=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var r=0;r-1){var s=new t(this.player_,{track:a,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});s.addClass("vjs-"+a.kind+"-menu-item"),e.push(s)}}return e},t}(Fn);Kt.registerComponent("TextTrackButton",Hn);var zn=function(e){function t(t,i){var n,r=i.track,a=i.cue,s=t.currentTime();return i.selectable=!0,i.multiSelectable=!1,i.label=a.text,i.selected=a.startTime<=s&&s=0;t--){var i=e[t];if(i.kind===this.kind_)return i}},i.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(Ht(this.kind_))},i.createMenu=function(){return this.options_.title=this.getMenuCaption(),e.prototype.createMenu.call(this)},i.createItems=function(){var e=[];if(!this.track_)return e;var t=this.track_.cues;if(!t)return e;for(var i=0,n=t.length;i-1&&(n.label_="captions"),n.menuButton_.controlText(Ht(n.label_)),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-subs-caps-button "+e.prototype.buildCSSClass.call(this)},i.buildWrapperCSSClass=function(){return"vjs-subs-caps-button "+e.prototype.buildWrapperCSSClass.call(this)},i.createItems=function(){var t=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild("textTrackSettings")||(t.push(new qn(this.player_,{kind:this.label_})),this.hideThreshold_+=1),t=e.prototype.createItems.call(this,t,Xn)},t}(Hn);Qn.prototype.kinds_=["captions","subtitles"],Qn.prototype.controlText_="Subtitles",Kt.registerComponent("SubsCapsButton",Qn);var $n=function(e){function t(t,i){var n,r=i.track,a=t.audioTracks();i.label=r.label||r.language||"Unknown",i.selected=r.enabled,(n=e.call(this,t,i)||this).track=r,n.addClass("vjs-"+r.kind+"-menu-item");var s=function(){for(var e=arguments.length,t=new Array(e),i=0;i=0;i--)t.push(new Zn(this.player(),{rate:e[i]+"x"}));return t},i.updateARIAAttributes=function(){this.el().setAttribute("aria-valuenow",this.player().playbackRate())},i.handleClick=function(e){for(var t=this.player().playbackRate(),i=this.playbackRates(),n=i[0],r=0;rt){n=i[r];break}this.player().playbackRate(n)},i.handlePlaybackRateschange=function(e){this.update()},i.playbackRates=function(){var e=this.player();return e.playbackRates&&e.playbackRates()||[]},i.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0},i.updateVisibility=function(e){this.playbackRateSupported()?this.removeClass("vjs-hidden"):this.addClass("vjs-hidden")},i.updateLabel=function(e){this.playbackRateSupported()&&(this.labelEl_.textContent=this.player().playbackRate()+"x")},t}(Mn);er.prototype.controlText_="Playback Rate",Kt.registerComponent("PlaybackRateMenuButton",er);var tr=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-spacer "+e.prototype.buildCSSClass.call(this)},i.createEl=function(t,i,n){return void 0===t&&(t="div"),void 0===i&&(i={}),void 0===n&&(n={}),i.className||(i.className=this.buildCSSClass()),e.prototype.createEl.call(this,t,i,n)},t}(Kt);Kt.registerComponent("Spacer",tr);var ir=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-custom-control-spacer "+e.prototype.buildCSSClass.call(this)},i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),textContent:" "})},t}(tr);Kt.registerComponent("CustomControlSpacer",ir);var nr=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-control-bar",dir:"ltr"})},t}(Kt);nr.prototype.options_={children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","liveDisplay","seekToLive","remainingTimeDisplay","customControlSpacer","playbackRateMenuButton","chaptersButton","descriptionsButton","subsCapsButton","audioTrackButton","fullscreenToggle"]},"exitPictureInPicture"in k.default&&nr.prototype.options_.children.splice(nr.prototype.options_.children.length-1,0,"pictureInPictureToggle"),Kt.registerComponent("ControlBar",nr);var rr=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"error",(function(e){return n.open(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-error-display "+e.prototype.buildCSSClass.call(this)},i.content=function(){var e=this.player().error();return e?this.localize(e.message):""},t}(si);rr.prototype.options_=P.default({},si.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),Kt.registerComponent("ErrorDisplay",rr);var ar=["#000","Black"],sr=["#00F","Blue"],or=["#0FF","Cyan"],ur=["#0F0","Green"],lr=["#F0F","Magenta"],hr=["#F00","Red"],dr=["#FFF","White"],cr=["#FF0","Yellow"],fr=["1","Opaque"],pr=["0.5","Semi-Transparent"],mr=["0","Transparent"],_r={backgroundColor:{selector:".vjs-bg-color > select",id:"captions-background-color-%s",label:"Color",options:[ar,dr,hr,ur,sr,cr,lr,or]},backgroundOpacity:{selector:".vjs-bg-opacity > select",id:"captions-background-opacity-%s",label:"Transparency",options:[fr,pr,mr]},color:{selector:".vjs-fg-color > select",id:"captions-foreground-color-%s",label:"Color",options:[dr,ar,hr,ur,sr,cr,lr,or]},edgeStyle:{selector:".vjs-edge-style > select",id:"%s",label:"Text Edge Style",options:[["none","None"],["raised","Raised"],["depressed","Depressed"],["uniform","Uniform"],["dropshadow","Dropshadow"]]},fontFamily:{selector:".vjs-font-family > select",id:"captions-font-family-%s",label:"Font Family",options:[["proportionalSansSerif","Proportional Sans-Serif"],["monospaceSansSerif","Monospace Sans-Serif"],["proportionalSerif","Proportional Serif"],["monospaceSerif","Monospace Serif"],["casual","Casual"],["script","Script"],["small-caps","Small Caps"]]},fontPercent:{selector:".vjs-font-percent > select",id:"captions-font-size-%s",label:"Font Size",options:[["0.50","50%"],["0.75","75%"],["1.00","100%"],["1.25","125%"],["1.50","150%"],["1.75","175%"],["2.00","200%"],["3.00","300%"],["4.00","400%"]],default:2,parser:function(e){return"1.00"===e?null:Number(e)}},textOpacity:{selector:".vjs-text-opacity > select",id:"captions-foreground-opacity-%s",label:"Transparency",options:[fr,pr]},windowColor:{selector:".vjs-window-color > select",id:"captions-window-color-%s",label:"Color"},windowOpacity:{selector:".vjs-window-opacity > select",id:"captions-window-opacity-%s",label:"Transparency",options:[mr,pr,fr]}};function gr(e,t){if(t&&(e=t(e)),e&&"none"!==e)return e}_r.windowColor.options=_r.backgroundColor.options;var vr=function(e){function t(t,i){var n;return i.temporary=!1,(n=e.call(this,t,i)||this).updateDisplay=n.updateDisplay.bind(I.default(n)),n.fill(),n.hasBeenOpened_=n.hasBeenFilled_=!0,n.endDialog=xe("p",{className:"vjs-control-text",textContent:n.localize("End of dialog window.")}),n.el().appendChild(n.endDialog),n.setDefaults(),void 0===i.persistTextTrackSettings&&(n.options_.persistTextTrackSettings=n.options_.playerOptions.persistTextTrackSettings),n.on(n.$(".vjs-done-button"),"click",(function(){n.saveSettings(),n.close()})),n.on(n.$(".vjs-default-button"),"click",(function(){n.setDefaults(),n.updateDisplay()})),J(_r,(function(e){n.on(n.$(e.selector),"change",n.updateDisplay)})),n.options_.persistTextTrackSettings&&n.restoreSettings(),n}L.default(t,e);var i=t.prototype;return i.dispose=function(){this.endDialog=null,e.prototype.dispose.call(this)},i.createElSelect_=function(e,t,i){var n=this;void 0===t&&(t=""),void 0===i&&(i="label");var r=_r[e],a=r.id.replace("%s",this.id_),s=[t,a].join(" ").trim();return["<"+i+' id="'+a+'" class="'+("label"===i?"vjs-label":"")+'">',this.localize(r.label),"",'").join("")},i.createElFgColor_=function(){var e="captions-text-legend-"+this.id_;return['
','',this.localize("Text"),"",this.createElSelect_("color",e),'',this.createElSelect_("textOpacity",e),"","
"].join("")},i.createElBgColor_=function(){var e="captions-background-"+this.id_;return['
','',this.localize("Background"),"",this.createElSelect_("backgroundColor",e),'',this.createElSelect_("backgroundOpacity",e),"","
"].join("")},i.createElWinColor_=function(){var e="captions-window-"+this.id_;return['
','',this.localize("Window"),"",this.createElSelect_("windowColor",e),'',this.createElSelect_("windowOpacity",e),"","
"].join("")},i.createElColors_=function(){return xe("div",{className:"vjs-track-settings-colors",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join("")})},i.createElFont_=function(){return xe("div",{className:"vjs-track-settings-font",innerHTML:['
',this.createElSelect_("fontPercent","","legend"),"
",'
',this.createElSelect_("edgeStyle","","legend"),"
",'
',this.createElSelect_("fontFamily","","legend"),"
"].join("")})},i.createElControls_=function(){var e=this.localize("restore all settings to the default values");return xe("div",{className:"vjs-track-settings-controls",innerHTML:['",'"].join("")})},i.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()]},i.label=function(){return this.localize("Caption Settings Dialog")},i.description=function(){return this.localize("Beginning of dialog window. Escape will cancel and close the window.")},i.buildCSSClass=function(){return e.prototype.buildCSSClass.call(this)+" vjs-text-track-settings"},i.getValues=function(){var e,t,i,n=this;return t=function(e,t,i){var r,a,s=(r=n.$(t.selector),a=t.parser,gr(r.options[r.options.selectedIndex].value,a));return void 0!==s&&(e[i]=s),e},void 0===(i={})&&(i=0),$(e=_r).reduce((function(i,n){return t(i,e[n],n)}),i)},i.setValues=function(e){var t=this;J(_r,(function(i,n){!function(e,t,i){if(t)for(var n=0;nthis.options_.liveTolerance;this.timeupdateSeen_&&n!==1/0||(a=!1),a!==this.behindLiveEdge_&&(this.behindLiveEdge_=a,this.trigger("liveedgechange"))}},i.handleDurationchange=function(){this.toggleTracking()},i.toggleTracking=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass("vjs-liveui"),this.startTracking()):(this.player_.removeClass("vjs-liveui"),this.stopTracking())},i.startTracking=function(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLiveHandler_,30),this.trackLive_(),this.on(this.player_,["play","pause"],this.trackLiveHandler_),this.timeupdateSeen_?this.on(this.player_,"seeked",this.handleSeeked_):(this.one(this.player_,"play",this.handlePlay_),this.one(this.player_,"timeupdate",this.handleFirstTimeupdate_)))},i.handleFirstTimeupdate=function(){this.timeupdateSeen_=!0,this.on(this.player_,"seeked",this.handleSeeked_)},i.handleSeeked=function(){var e=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=this.nextSeekedFromUser_&&e>2,this.nextSeekedFromUser_=!1,this.trackLive_()},i.handlePlay=function(){this.one(this.player_,"timeupdate",this.seekToLiveEdge_)},i.reset_=function(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.nextSeekedFromUser_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,["play","pause"],this.trackLiveHandler_),this.off(this.player_,"seeked",this.handleSeeked_),this.off(this.player_,"play",this.handlePlay_),this.off(this.player_,"timeupdate",this.handleFirstTimeupdate_),this.off(this.player_,"timeupdate",this.seekToLiveEdge_)},i.nextSeekedFromUser=function(){this.nextSeekedFromUser_=!0},i.stopTracking=function(){this.isTracking()&&(this.reset_(),this.trigger("liveedgechange"))},i.seekableEnd=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.end(i));return t.length?t.sort()[t.length-1]:1/0},i.seekableStart=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.start(i));return t.length?t.sort()[0]:0},i.liveWindow=function(){var e=this.liveCurrentTime();return e===1/0?0:e-this.seekableStart()},i.isLive=function(){return this.isTracking()},i.atLiveEdge=function(){return!this.behindLiveEdge()},i.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd()},i.pastSeekEnd=function(){var e=this.seekableEnd();return-1!==this.lastSeekEnd_&&e!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=e,this.pastSeekEnd_},i.behindLiveEdge=function(){return this.behindLiveEdge_},i.isTracking=function(){return"number"==typeof this.trackingInterval_},i.seekToLiveEdge=function(){this.seekedBehindLive_=!1,this.atLiveEdge()||(this.nextSeekedFromUser_=!1,this.player_.currentTime(this.liveCurrentTime()))},i.dispose=function(){this.off(k.default,"visibilitychange",this.handleVisibilityChange_),this.stopTracking(),e.prototype.dispose.call(this)},t}(Kt);Kt.registerComponent("LiveTracker",Sr);var Tr,Er=function(e){var t=e.el();if(t.hasAttribute("src"))return e.triggerSourceset(t.src),!0;var i=e.$$("source"),n=[],r="";if(!i.length)return!1;for(var a=0;a=2&&r.push("loadeddata"),e.readyState>=3&&r.push("canplay"),e.readyState>=4&&r.push("canplaythrough"),this.ready((function(){r.forEach((function(e){this.trigger(e)}),this)}))}},i.setScrubbing=function(e){this.isScrubbing_=e},i.scrubbing=function(){return this.isScrubbing_},i.setCurrentTime=function(e){try{this.isScrubbing_&&this.el_.fastSeek&&Ee?this.el_.fastSeek(e):this.el_.currentTime=e}catch(e){K(e,"Video is not ready. (Video.js)")}},i.duration=function(){var e=this;if(this.el_.duration===1/0&&le&&pe&&0===this.el_.currentTime){return this.on("timeupdate",(function t(){e.el_.currentTime>0&&(e.el_.duration===1/0&&e.trigger("durationchange"),e.off("timeupdate",t))})),NaN}return this.el_.duration||NaN},i.width=function(){return this.el_.offsetWidth},i.height=function(){return this.el_.offsetHeight},i.proxyWebkitFullscreen_=function(){var e=this;if("webkitDisplayingFullscreen"in this.el_){var t=function(){this.trigger("fullscreenchange",{isFullscreen:!1})},i=function(){"webkitPresentationMode"in this.el_&&"picture-in-picture"!==this.el_.webkitPresentationMode&&(this.one("webkitendfullscreen",t),this.trigger("fullscreenchange",{isFullscreen:!0,nativeIOSFullscreen:!0}))};this.on("webkitbeginfullscreen",i),this.on("dispose",(function(){e.off("webkitbeginfullscreen",i),e.off("webkitendfullscreen",t)}))}},i.supportsFullScreen=function(){if("function"==typeof this.el_.webkitEnterFullScreen){var e=C.default.navigator&&C.default.navigator.userAgent||"";if(/Android/.test(e)||!/Chrome|Mac OS X 10.5/.test(e))return!0}return!1},i.enterFullScreen=function(){var e=this.el_;if(e.paused&&e.networkState<=e.HAVE_METADATA)ii(this.el_.play()),this.setTimeout((function(){e.pause();try{e.webkitEnterFullScreen()}catch(e){this.trigger("fullscreenerror",e)}}),0);else try{e.webkitEnterFullScreen()}catch(e){this.trigger("fullscreenerror",e)}},i.exitFullScreen=function(){this.el_.webkitDisplayingFullscreen?this.el_.webkitExitFullScreen():this.trigger("fullscreenerror",new Error("The video is not fullscreen"))},i.requestPictureInPicture=function(){return this.el_.requestPictureInPicture()},i.src=function(e){if(void 0===e)return this.el_.src;this.setSrc(e)},i.reset=function(){t.resetMediaElement(this.el_)},i.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc},i.setControls=function(e){this.el_.controls=!!e},i.addTextTrack=function(t,i,n){return this.featuresNativeTextTracks?this.el_.addTextTrack(t,i,n):e.prototype.addTextTrack.call(this,t,i,n)},i.createRemoteTextTrack=function(t){if(!this.featuresNativeTextTracks)return e.prototype.createRemoteTextTrack.call(this,t);var i=k.default.createElement("track");return t.kind&&(i.kind=t.kind),t.label&&(i.label=t.label),(t.language||t.srclang)&&(i.srclang=t.language||t.srclang),t.default&&(i.default=t.default),t.id&&(i.id=t.id),t.src&&(i.src=t.src),i},i.addRemoteTextTrack=function(t,i){var n=e.prototype.addRemoteTextTrack.call(this,t,i);return this.featuresNativeTextTracks&&this.el().appendChild(n),n},i.removeRemoteTextTrack=function(t){if(e.prototype.removeRemoteTextTrack.call(this,t),this.featuresNativeTextTracks)for(var i=this.$$("track"),n=i.length;n--;)t!==i[n]&&t!==i[n].track||this.el().removeChild(i[n])},i.getVideoPlaybackQuality=function(){if("function"==typeof this.el().getVideoPlaybackQuality)return this.el().getVideoPlaybackQuality();var e={};return void 0!==this.el().webkitDroppedFrameCount&&void 0!==this.el().webkitDecodedFrameCount&&(e.droppedVideoFrames=this.el().webkitDroppedFrameCount,e.totalVideoFrames=this.el().webkitDecodedFrameCount),C.default.performance&&"function"==typeof C.default.performance.now?e.creationTime=C.default.performance.now():C.default.performance&&C.default.performance.timing&&"number"==typeof C.default.performance.timing.navigationStart&&(e.creationTime=C.default.Date.now()-C.default.performance.timing.navigationStart),e},t}(Ui);Ir(Lr,"TEST_VID",(function(){if(ke()){var e=k.default.createElement("video"),t=k.default.createElement("track");return t.kind="captions",t.srclang="en",t.label="English",e.appendChild(t),e}})),Lr.isSupported=function(){try{Lr.TEST_VID.volume=.5}catch(e){return!1}return!(!Lr.TEST_VID||!Lr.TEST_VID.canPlayType)},Lr.canPlayType=function(e){return Lr.TEST_VID.canPlayType(e)},Lr.canPlaySource=function(e,t){return Lr.canPlayType(e.type)},Lr.canControlVolume=function(){try{var e=Lr.TEST_VID.volume;return Lr.TEST_VID.volume=e/2+.1,e!==Lr.TEST_VID.volume}catch(e){return!1}},Lr.canMuteVolume=function(){try{var e=Lr.TEST_VID.muted;return Lr.TEST_VID.muted=!e,Lr.TEST_VID.muted?Ve(Lr.TEST_VID,"muted","muted"):He(Lr.TEST_VID,"muted"),e!==Lr.TEST_VID.muted}catch(e){return!1}},Lr.canControlPlaybackRate=function(){if(le&&pe&&me<58)return!1;try{var e=Lr.TEST_VID.playbackRate;return Lr.TEST_VID.playbackRate=e/2+.1,e!==Lr.TEST_VID.playbackRate}catch(e){return!1}},Lr.canOverrideAttributes=function(){try{var e=function(){};Object.defineProperty(k.default.createElement("video"),"src",{get:e,set:e}),Object.defineProperty(k.default.createElement("audio"),"src",{get:e,set:e}),Object.defineProperty(k.default.createElement("video"),"innerHTML",{get:e,set:e}),Object.defineProperty(k.default.createElement("audio"),"innerHTML",{get:e,set:e})}catch(e){return!1}return!0},Lr.supportsNativeTextTracks=function(){return Ee||Te&&pe},Lr.supportsNativeVideoTracks=function(){return!(!Lr.TEST_VID||!Lr.TEST_VID.videoTracks)},Lr.supportsNativeAudioTracks=function(){return!(!Lr.TEST_VID||!Lr.TEST_VID.audioTracks)},Lr.Events=["loadstart","suspend","abort","error","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","play","pause","ratechange","resize","volumechange"],[["featuresVolumeControl","canControlVolume"],["featuresMuteControl","canMuteVolume"],["featuresPlaybackRate","canControlPlaybackRate"],["featuresSourceset","canOverrideAttributes"],["featuresNativeTextTracks","supportsNativeTextTracks"],["featuresNativeVideoTracks","supportsNativeVideoTracks"],["featuresNativeAudioTracks","supportsNativeAudioTracks"]].forEach((function(e){var t=e[0],i=e[1];Ir(Lr.prototype,t,(function(){return Lr[i]()}),!0)})),Lr.prototype.movingMediaElementInDOM=!Te,Lr.prototype.featuresFullscreenResize=!0,Lr.prototype.featuresProgressEvents=!0,Lr.prototype.featuresTimeupdateEvents=!0,Lr.patchCanPlayType=function(){he>=4&&!ce&&!pe&&(Tr=Lr.TEST_VID&&Lr.TEST_VID.constructor.prototype.canPlayType,Lr.TEST_VID.constructor.prototype.canPlayType=function(e){return e&&/^application\/(?:x-|vnd\.apple\.)mpegurl/i.test(e)?"maybe":Tr.call(this,e)})},Lr.unpatchCanPlayType=function(){var e=Lr.TEST_VID.constructor.prototype.canPlayType;return Tr&&(Lr.TEST_VID.constructor.prototype.canPlayType=Tr),e},Lr.patchCanPlayType(),Lr.disposeMediaElement=function(e){if(e){for(e.parentNode&&e.parentNode.removeChild(e);e.hasChildNodes();)e.removeChild(e.firstChild);e.removeAttribute("src"),"function"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},Lr.resetMediaElement=function(e){if(e){for(var t=e.querySelectorAll("source"),i=t.length;i--;)e.removeChild(t[i]);e.removeAttribute("src"),"function"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},["muted","defaultMuted","autoplay","controls","loop","playsinline"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]||this.el_.hasAttribute(e)}})),["muted","defaultMuted","autoplay","loop","playsinline"].forEach((function(e){Lr.prototype["set"+Ht(e)]=function(t){this.el_[e]=t,t?this.el_.setAttribute(e,e):this.el_.removeAttribute(e)}})),["paused","currentTime","buffered","volume","poster","preload","error","seeking","seekable","ended","playbackRate","defaultPlaybackRate","disablePictureInPicture","played","networkState","readyState","videoWidth","videoHeight","crossOrigin"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]}})),["volume","src","poster","preload","playbackRate","defaultPlaybackRate","disablePictureInPicture","crossOrigin"].forEach((function(e){Lr.prototype["set"+Ht(e)]=function(t){this.el_[e]=t}})),["pause","load","play"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]()}})),Ui.withSourceHandlers(Lr),Lr.nativeSourceHandler={},Lr.nativeSourceHandler.canPlayType=function(e){try{return Lr.TEST_VID.canPlayType(e)}catch(e){return""}},Lr.nativeSourceHandler.canHandleSource=function(e,t){if(e.type)return Lr.nativeSourceHandler.canPlayType(e.type);if(e.src){var i=Ei(e.src);return Lr.nativeSourceHandler.canPlayType("video/"+i)}return""},Lr.nativeSourceHandler.handleSource=function(e,t,i){t.setSrc(e.src)},Lr.nativeSourceHandler.dispose=function(){},Lr.registerSourceHandler(Lr.nativeSourceHandler),Ui.registerTech("Html5",Lr);var xr=["progress","abort","suspend","emptied","stalled","loadedmetadata","loadeddata","timeupdate","resize","volumechange","texttrackchange"],Rr={canplay:"CanPlay",canplaythrough:"CanPlayThrough",playing:"Playing",seeked:"Seeked"},Dr=["tiny","xsmall","small","medium","large","xlarge","huge"],Or={};Dr.forEach((function(e){var t="x"===e.charAt(0)?"x-"+e.substring(1):e;Or[e]="vjs-layout-"+t}));var Ur={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},Mr=function(e){function t(i,n,r){var a;if(i.id=i.id||n.id||"vjs_video_"+ct(),(n=Z(t.getTagSettings(i),n)).initChildren=!1,n.createEl=!1,n.evented=!1,n.reportTouchActivity=!1,!n.language)if("function"==typeof i.closest){var s=i.closest("[lang]");s&&s.getAttribute&&(n.language=s.getAttribute("lang"))}else for(var o=i;o&&1===o.nodeType;){if(Ne(o).hasOwnProperty("lang")){n.language=o.getAttribute("lang");break}o=o.parentNode}if((a=e.call(this,null,n,r)||this).boundDocumentFullscreenChange_=function(e){return a.documentFullscreenChange_(e)},a.boundFullWindowOnEscKey_=function(e){return a.fullWindowOnEscKey(e)},a.boundUpdateStyleEl_=function(e){return a.updateStyleEl_(e)},a.boundApplyInitTime_=function(e){return a.applyInitTime_(e)},a.boundUpdateCurrentBreakpoint_=function(e){return a.updateCurrentBreakpoint_(e)},a.boundHandleTechClick_=function(e){return a.handleTechClick_(e)},a.boundHandleTechDoubleClick_=function(e){return a.handleTechDoubleClick_(e)},a.boundHandleTechTouchStart_=function(e){return a.handleTechTouchStart_(e)},a.boundHandleTechTouchMove_=function(e){return a.handleTechTouchMove_(e)},a.boundHandleTechTouchEnd_=function(e){return a.handleTechTouchEnd_(e)},a.boundHandleTechTap_=function(e){return a.handleTechTap_(e)},a.isFullscreen_=!1,a.log=X(a.id_),a.fsApi_=H,a.isPosterFromTech_=!1,a.queuedCallbacks_=[],a.isReady_=!1,a.hasStarted_=!1,a.userActive_=!1,a.debugEnabled_=!1,!a.options_||!a.options_.techOrder||!a.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");if(a.tag=i,a.tagAttributes=i&&Ne(i),a.language(a.options_.language),n.languages){var u={};Object.getOwnPropertyNames(n.languages).forEach((function(e){u[e.toLowerCase()]=n.languages[e]})),a.languages_=u}else a.languages_=t.prototype.options_.languages;a.resetCache_(),a.poster_=n.poster||"",a.controls_=!!n.controls,i.controls=!1,i.removeAttribute("controls"),a.changingSrc_=!1,a.playCallbacks_=[],a.playTerminatedQueue_=[],i.hasAttribute("autoplay")?a.autoplay(!0):a.autoplay(a.options_.autoplay),n.plugins&&Object.keys(n.plugins).forEach((function(e){if("function"!=typeof a[e])throw new Error('plugin "'+e+'" does not exist')})),a.scrubbing_=!1,a.el_=a.createEl(),Bt(I.default(a),{eventBusKey:"el_"}),a.fsApi_.requestFullscreen&&(yt(k.default,a.fsApi_.fullscreenchange,a.boundDocumentFullscreenChange_),a.on(a.fsApi_.fullscreenchange,a.boundDocumentFullscreenChange_)),a.fluid_&&a.on(["playerreset","resize"],a.boundUpdateStyleEl_);var l=zt(a.options_);n.plugins&&Object.keys(n.plugins).forEach((function(e){a[e](n.plugins[e])})),n.debug&&a.debug(!0),a.options_.playerOptions=l,a.middleware_=[],a.playbackRates(n.playbackRates),a.initChildren(),a.isAudio("audio"===i.nodeName.toLowerCase()),a.controls()?a.addClass("vjs-controls-enabled"):a.addClass("vjs-controls-disabled"),a.el_.setAttribute("role","region"),a.isAudio()?a.el_.setAttribute("aria-label",a.localize("Audio Player")):a.el_.setAttribute("aria-label",a.localize("Video Player")),a.isAudio()&&a.addClass("vjs-audio"),a.flexNotSupported_()&&a.addClass("vjs-no-flex"),ye&&a.addClass("vjs-touch-enabled"),Te||a.addClass("vjs-workinghover"),t.players[a.id_]=I.default(a);var h="7.15.4".split(".")[0];return a.addClass("vjs-v"+h),a.userActive(!0),a.reportUserActivity(),a.one("play",(function(e){return a.listenForUserActivity_(e)})),a.on("stageclick",(function(e){return a.handleStageClick_(e)})),a.on("keydown",(function(e){return a.handleKeyDown(e)})),a.on("languagechange",(function(e){return a.handleLanguagechange(e)})),a.breakpoints(a.options_.breakpoints),a.responsive(a.options_.responsive),a}L.default(t,e);var i=t.prototype;return i.dispose=function(){var i=this;this.trigger("dispose"),this.off("dispose"),bt(k.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),bt(k.default,"keydown",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),t.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=""),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),Fi[this.id()]=null,Oi.names.forEach((function(e){var t=Oi[e],n=i[t.getterName]();n&&n.off&&n.off()})),e.prototype.dispose.call(this)},i.createEl=function(){var t,i=this.tag,n=this.playerElIngest_=i.parentNode&&i.parentNode.hasAttribute&&i.parentNode.hasAttribute("data-vjs-player"),r="video-js"===this.tag.tagName.toLowerCase();n?t=this.el_=i.parentNode:r||(t=this.el_=e.prototype.createEl.call(this,"div"));var a=Ne(i);if(r){for(t=this.el_=i,i=this.tag=k.default.createElement("video");t.children.length;)i.appendChild(t.firstChild);Oe(t,"video-js")||Ue(t,"video-js"),t.appendChild(i),n=this.playerElIngest_=t,Object.keys(t).forEach((function(e){try{i[e]=t[e]}catch(e){}}))}if(i.setAttribute("tabindex","-1"),a.tabindex="-1",(_e||pe&&ve)&&(i.setAttribute("role","application"),a.role="application"),i.removeAttribute("width"),i.removeAttribute("height"),"width"in a&&delete a.width,"height"in a&&delete a.height,Object.getOwnPropertyNames(a).forEach((function(e){r&&"class"===e||t.setAttribute(e,a[e]),r&&i.setAttribute(e,a[e])})),i.playerId=i.id,i.id+="_html5_api",i.className="vjs-tech",i.player=t.player=this,this.addClass("vjs-paused"),!0!==C.default.VIDEOJS_NO_DYNAMIC_STYLE){this.styleEl_=lt("vjs-styles-dimensions");var s=tt(".vjs-styles-defaults"),o=tt("head");o.insertBefore(this.styleEl_,s?s.nextSibling:o.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);for(var u=i.getElementsByTagName("a"),l=0;l0?this.videoWidth()+":"+this.videoHeight():"16:9").split(":"),r=n[1]/n[0];e=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/r:this.videoWidth()||300,t=void 0!==this.height_?this.height_:e*r,i=/^[^a-zA-Z]/.test(this.id())?"dimensions-"+this.id():this.id()+"-dimensions",this.addClass(i),ht(this.styleEl_,"\n ."+i+" {\n width: "+e+"px;\n height: "+t+"px;\n }\n\n ."+i+".vjs-fluid {\n padding-top: "+100*r+"%;\n }\n ")}else{var a="number"==typeof this.width_?this.width_:this.options_.width,s="number"==typeof this.height_?this.height_:this.options_.height,o=this.tech_&&this.tech_.el();o&&(a>=0&&(o.width=a),s>=0&&(o.height=s))}},i.loadTech_=function(e,t){var i=this;this.tech_&&this.unloadTech_();var n=Ht(e),r=e.charAt(0).toLowerCase()+e.slice(1);"Html5"!==n&&this.tag&&(Ui.getTech("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=n,this.isReady_=!1;var a=this.autoplay();("string"==typeof this.autoplay()||!0===this.autoplay()&&this.options_.normalizeAutoplay)&&(a=!1);var s={source:t,autoplay:a,nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+"_"+r+"_api",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,disablePictureInPicture:this.options_.disablePictureInPicture,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_["vtt.js"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};Oi.names.forEach((function(e){var t=Oi[e];s[t.getterName]=i[t.privateName]})),Z(s,this.options_[n]),Z(s,this.options_[r]),Z(s,this.options_[e.toLowerCase()]),this.tag&&(s.tag=this.tag),t&&t.src===this.cache_.src&&this.cache_.currentTime>0&&(s.startTime=this.cache_.currentTime);var o=Ui.getTech(e);if(!o)throw new Error("No Tech named '"+n+"' exists! '"+n+"' should be registered using videojs.registerTech()'");this.tech_=new o(s),this.tech_.ready(Ct(this,this.handleTechReady_),!0),ai(this.textTracksJson_||[],this.tech_),xr.forEach((function(e){i.on(i.tech_,e,(function(t){return i["handleTech"+Ht(e)+"_"](t)}))})),Object.keys(Rr).forEach((function(e){i.on(i.tech_,e,(function(t){0===i.tech_.playbackRate()&&i.tech_.seeking()?i.queuedCallbacks_.push({callback:i["handleTech"+Rr[e]+"_"].bind(i),event:t}):i["handleTech"+Rr[e]+"_"](t)}))})),this.on(this.tech_,"loadstart",(function(e){return i.handleTechLoadStart_(e)})),this.on(this.tech_,"sourceset",(function(e){return i.handleTechSourceset_(e)})),this.on(this.tech_,"waiting",(function(e){return i.handleTechWaiting_(e)})),this.on(this.tech_,"ended",(function(e){return i.handleTechEnded_(e)})),this.on(this.tech_,"seeking",(function(e){return i.handleTechSeeking_(e)})),this.on(this.tech_,"play",(function(e){return i.handleTechPlay_(e)})),this.on(this.tech_,"firstplay",(function(e){return i.handleTechFirstPlay_(e)})),this.on(this.tech_,"pause",(function(e){return i.handleTechPause_(e)})),this.on(this.tech_,"durationchange",(function(e){return i.handleTechDurationChange_(e)})),this.on(this.tech_,"fullscreenchange",(function(e,t){return i.handleTechFullscreenChange_(e,t)})),this.on(this.tech_,"fullscreenerror",(function(e,t){return i.handleTechFullscreenError_(e,t)})),this.on(this.tech_,"enterpictureinpicture",(function(e){return i.handleTechEnterPictureInPicture_(e)})),this.on(this.tech_,"leavepictureinpicture",(function(e){return i.handleTechLeavePictureInPicture_(e)})),this.on(this.tech_,"error",(function(e){return i.handleTechError_(e)})),this.on(this.tech_,"posterchange",(function(e){return i.handleTechPosterChange_(e)})),this.on(this.tech_,"textdata",(function(e){return i.handleTechTextData_(e)})),this.on(this.tech_,"ratechange",(function(e){return i.handleTechRateChange_(e)})),this.on(this.tech_,"loadedmetadata",this.boundUpdateStyleEl_),this.usingNativeControls(this.techGet_("controls")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode===this.el()||"Html5"===n&&this.tag||De(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null)},i.unloadTech_=function(){var e=this;Oi.names.forEach((function(t){var i=Oi[t];e[i.privateName]=e[i.getterName]()})),this.textTracksJson_=ri(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_="",this.trigger("posterchange")),this.isPosterFromTech_=!1},i.tech=function(e){return void 0===e&&K.warn("Using the tech directly can be dangerous. I hope you know what you're doing.\nSee https://github.com/videojs/video.js/issues/2617 for more info.\n"),this.tech_},i.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,"click",this.boundHandleTechClick_),this.on(this.tech_,"dblclick",this.boundHandleTechDoubleClick_),this.on(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.on(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.on(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.on(this.tech_,"tap",this.boundHandleTechTap_)},i.removeTechControlsListeners_=function(){this.off(this.tech_,"tap",this.boundHandleTechTap_),this.off(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.off(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.off(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.off(this.tech_,"click",this.boundHandleTechClick_),this.off(this.tech_,"dblclick",this.boundHandleTechDoubleClick_)},i.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_("setVolume",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()},i.handleTechLoadStart_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-seeking"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger("loadstart")):(this.trigger("loadstart"),this.trigger("firstplay")),this.manualAutoplay_(!0===this.autoplay()&&this.options_.normalizeAutoplay?"play":this.autoplay())},i.manualAutoplay_=function(e){var t=this;if(this.tech_&&"string"==typeof e){var i,n=function(){var e=t.muted();t.muted(!0);var i=function(){t.muted(e)};t.playTerminatedQueue_.push(i);var n=t.play();if(ti(n))return n.catch((function(e){throw i(),new Error("Rejection at manualAutoplay. Restoring muted value. "+(e||""))}))};if("any"!==e||this.muted()?i="muted"!==e||this.muted()?this.play():n():ti(i=this.play())&&(i=i.catch(n)),ti(i))return i.then((function(){t.trigger({type:"autoplay-success",autoplay:e})})).catch((function(){t.trigger({type:"autoplay-failure",autoplay:e})}))}},i.updateSourceCaches_=function(e){void 0===e&&(e="");var t=e,i="";"string"!=typeof t&&(t=e.src,i=e.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],t&&!i&&(i=function(e,t){if(!t)return"";if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;var i=e.cache_.sources.filter((function(e){return e.src===t}));if(i.length)return i[0].type;for(var n=e.$$("source"),r=0;r0&&0===this.cache_.lastPlaybackRate&&(this.queuedCallbacks_.forEach((function(e){return e.callback(e.event)})),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger("ratechange")},i.handleTechWaiting_=function(){var e=this;this.addClass("vjs-waiting"),this.trigger("waiting");var t=this.currentTime();this.on("timeupdate",(function i(){t!==e.currentTime()&&(e.removeClass("vjs-waiting"),e.off("timeupdate",i))}))},i.handleTechCanPlay_=function(){this.removeClass("vjs-waiting"),this.trigger("canplay")},i.handleTechCanPlayThrough_=function(){this.removeClass("vjs-waiting"),this.trigger("canplaythrough")},i.handleTechPlaying_=function(){this.removeClass("vjs-waiting"),this.trigger("playing")},i.handleTechSeeking_=function(){this.addClass("vjs-seeking"),this.trigger("seeking")},i.handleTechSeeked_=function(){this.removeClass("vjs-seeking"),this.removeClass("vjs-ended"),this.trigger("seeked")},i.handleTechFirstPlay_=function(){this.options_.starttime&&(K.warn("Passing the `starttime` option to the player will be deprecated in 6.0"),this.currentTime(this.options_.starttime)),this.addClass("vjs-has-started"),this.trigger("firstplay")},i.handleTechPause_=function(){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.trigger("pause")},i.handleTechEnded_=function(){this.addClass("vjs-ended"),this.removeClass("vjs-waiting"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger("ended")},i.handleTechDurationChange_=function(){this.duration(this.techGet_("duration"))},i.handleTechClick_=function(e){this.controls_&&(this.paused()?ii(this.play()):this.pause())},i.handleTechDoubleClick_=function(e){this.controls_&&(Array.prototype.some.call(this.$$(".vjs-control-bar, .vjs-modal-dialog"),(function(t){return t.contains(e.target)}))||void 0!==this.options_&&void 0!==this.options_.userActions&&void 0!==this.options_.userActions.doubleClick&&!1===this.options_.userActions.doubleClick||(void 0!==this.options_&&void 0!==this.options_.userActions&&"function"==typeof this.options_.userActions.doubleClick?this.options_.userActions.doubleClick.call(this,e):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))},i.handleTechTap_=function(){this.userActive(!this.userActive())},i.handleTechTouchStart_=function(){this.userWasActive=this.userActive()},i.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity()},i.handleTechTouchEnd_=function(e){e.cancelable&&e.preventDefault()},i.handleStageClick_=function(){this.reportUserActivity()},i.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass("vjs-fullscreen"):this.removeClass("vjs-fullscreen")},i.documentFullscreenChange_=function(e){var t=e.target.player;if(!t||t===this){var i=this.el(),n=k.default[this.fsApi_.fullscreenElement]===i;!n&&i.matches?n=i.matches(":"+this.fsApi_.fullscreen):!n&&i.msMatchesSelector&&(n=i.msMatchesSelector(":"+this.fsApi_.fullscreen)),this.isFullscreen(n)}},i.handleTechFullscreenChange_=function(e,t){t&&(t.nativeIOSFullscreen&&this.toggleClass("vjs-ios-native-fs"),this.isFullscreen(t.isFullscreen))},i.handleTechFullscreenError_=function(e,t){this.trigger("fullscreenerror",t)},i.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass("vjs-picture-in-picture"):this.removeClass("vjs-picture-in-picture")},i.handleTechEnterPictureInPicture_=function(e){this.isInPictureInPicture(!0)},i.handleTechLeavePictureInPicture_=function(e){this.isInPictureInPicture(!1)},i.handleTechError_=function(){var e=this.tech_.error();this.error(e)},i.handleTechTextData_=function(){var e=null;arguments.length>1&&(e=arguments[1]),this.trigger("textdata",e)},i.getCache=function(){return this.cache_},i.resetCache_=function(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:"",source:{},sources:[],playbackRates:[],volume:1}},i.techCall_=function(e,t){this.ready((function(){if(e in Hi)return function(e,t,i,n){return t[i](e.reduce(Gi(i),n))}(this.middleware_,this.tech_,e,t);if(e in zi)return ji(this.middleware_,this.tech_,e,t);try{this.tech_&&this.tech_[e](t)}catch(e){throw K(e),e}}),!0)},i.techGet_=function(e){if(this.tech_&&this.tech_.isReady_){if(e in Vi)return function(e,t,i){return e.reduceRight(Gi(i),t[i]())}(this.middleware_,this.tech_,e);if(e in zi)return ji(this.middleware_,this.tech_,e);try{return this.tech_[e]()}catch(t){if(void 0===this.tech_[e])throw K("Video.js: "+e+" method not defined for "+this.techName_+" playback technology.",t),t;if("TypeError"===t.name)throw K("Video.js: "+e+" unavailable on "+this.techName_+" playback technology element.",t),this.tech_.isReady_=!1,t;throw K(t),t}}},i.play=function(){var e=this,t=this.options_.Promise||C.default.Promise;return t?new t((function(t){e.play_(t)})):this.play_()},i.play_=function(e){var t=this;void 0===e&&(e=ii),this.playCallbacks_.push(e);var i=Boolean(!this.changingSrc_&&(this.src()||this.currentSrc()));if(this.waitToPlay_&&(this.off(["ready","loadstart"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!i)return this.waitToPlay_=function(e){t.play_()},this.one(["ready","loadstart"],this.waitToPlay_),void(i||!Ee&&!Te||this.load());var n=this.techGet_("play");null===n?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(n)},i.runPlayTerminatedQueue_=function(){var e=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],e.forEach((function(e){e()}))},i.runPlayCallbacks_=function(e){var t=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],t.forEach((function(t){t(e)}))},i.pause=function(){this.techCall_("pause")},i.paused=function(){return!1!==this.techGet_("paused")},i.played=function(){return this.techGet_("played")||$t(0,0)},i.scrubbing=function(e){if(void 0===e)return this.scrubbing_;this.scrubbing_=!!e,this.techCall_("setScrubbing",this.scrubbing_),e?this.addClass("vjs-scrubbing"):this.removeClass("vjs-scrubbing")},i.currentTime=function(e){return void 0!==e?(e<0&&(e=0),this.isReady_&&!this.changingSrc_&&this.tech_&&this.tech_.isReady_?(this.techCall_("setCurrentTime",e),void(this.cache_.initTime=0)):(this.cache_.initTime=e,this.off("canplay",this.boundApplyInitTime_),void this.one("canplay",this.boundApplyInitTime_))):(this.cache_.currentTime=this.techGet_("currentTime")||0,this.cache_.currentTime)},i.applyInitTime_=function(){this.currentTime(this.cache_.initTime)},i.duration=function(e){if(void 0===e)return void 0!==this.cache_.duration?this.cache_.duration:NaN;(e=parseFloat(e))<0&&(e=1/0),e!==this.cache_.duration&&(this.cache_.duration=e,e===1/0?this.addClass("vjs-live"):this.removeClass("vjs-live"),isNaN(e)||this.trigger("durationchange"))},i.remainingTime=function(){return this.duration()-this.currentTime()},i.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime())},i.buffered=function(){var e=this.techGet_("buffered");return e&&e.length||(e=$t(0,0)),e},i.bufferedPercent=function(){return Jt(this.buffered(),this.duration())},i.bufferedEnd=function(){var e=this.buffered(),t=this.duration(),i=e.end(e.length-1);return i>t&&(i=t),i},i.volume=function(e){var t;return void 0!==e?(t=Math.max(0,Math.min(1,parseFloat(e))),this.cache_.volume=t,this.techCall_("setVolume",t),void(t>0&&this.lastVolume_(t))):(t=parseFloat(this.techGet_("volume")),isNaN(t)?1:t)},i.muted=function(e){if(void 0===e)return this.techGet_("muted")||!1;this.techCall_("setMuted",e)},i.defaultMuted=function(e){return void 0!==e?this.techCall_("setDefaultMuted",e):this.techGet_("defaultMuted")||!1},i.lastVolume_=function(e){if(void 0===e||0===e)return this.cache_.lastVolume;this.cache_.lastVolume=e},i.supportsFullScreen=function(){return this.techGet_("supportsFullScreen")||!1},i.isFullscreen=function(e){if(void 0!==e){var t=this.isFullscreen_;return this.isFullscreen_=Boolean(e),this.isFullscreen_!==t&&this.fsApi_.prefixed&&this.trigger("fullscreenchange"),void this.toggleFullscreenClass_()}return this.isFullscreen_},i.requestFullscreen=function(e){var t=this.options_.Promise||C.default.Promise;if(t){var i=this;return new t((function(t,n){function r(){i.off("fullscreenerror",s),i.off("fullscreenchange",a)}function a(){r(),t()}function s(e,t){r(),n(t)}i.one("fullscreenchange",a),i.one("fullscreenerror",s);var o=i.requestFullscreenHelper_(e);o&&(o.then(r,r),o.then(t,n))}))}return this.requestFullscreenHelper_()},i.requestFullscreenHelper_=function(e){var t,i=this;if(this.fsApi_.prefixed||(t=this.options_.fullscreen&&this.options_.fullscreen.options||{},void 0!==e&&(t=e)),this.fsApi_.requestFullscreen){var n=this.el_[this.fsApi_.requestFullscreen](t);return n&&n.then((function(){return i.isFullscreen(!0)}),(function(){return i.isFullscreen(!1)})),n}this.tech_.supportsFullScreen()&&!0==!this.options_.preferFullWindow?this.techCall_("enterFullScreen"):this.enterFullWindow()},i.exitFullscreen=function(){var e=this.options_.Promise||C.default.Promise;if(e){var t=this;return new e((function(e,i){function n(){t.off("fullscreenerror",a),t.off("fullscreenchange",r)}function r(){n(),e()}function a(e,t){n(),i(t)}t.one("fullscreenchange",r),t.one("fullscreenerror",a);var s=t.exitFullscreenHelper_();s&&(s.then(n,n),s.then(e,i))}))}return this.exitFullscreenHelper_()},i.exitFullscreenHelper_=function(){var e=this;if(this.fsApi_.requestFullscreen){var t=k.default[this.fsApi_.exitFullscreen]();return t&&ii(t.then((function(){return e.isFullscreen(!1)}))),t}this.tech_.supportsFullScreen()&&!0==!this.options_.preferFullWindow?this.techCall_("exitFullScreen"):this.exitFullWindow()},i.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=k.default.documentElement.style.overflow,yt(k.default,"keydown",this.boundFullWindowOnEscKey_),k.default.documentElement.style.overflow="hidden",Ue(k.default.body,"vjs-full-window"),this.trigger("enterFullWindow")},i.fullWindowOnEscKey=function(e){R.default.isEventKey(e,"Esc")&&!0===this.isFullscreen()&&(this.isFullWindow?this.exitFullWindow():this.exitFullscreen())},i.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,bt(k.default,"keydown",this.boundFullWindowOnEscKey_),k.default.documentElement.style.overflow=this.docOrigOverflow,Me(k.default.body,"vjs-full-window"),this.trigger("exitFullWindow")},i.disablePictureInPicture=function(e){if(void 0===e)return this.techGet_("disablePictureInPicture");this.techCall_("setDisablePictureInPicture",e),this.options_.disablePictureInPicture=e,this.trigger("disablepictureinpicturechanged")},i.isInPictureInPicture=function(e){return void 0!==e?(this.isInPictureInPicture_=!!e,void this.togglePictureInPictureClass_()):!!this.isInPictureInPicture_},i.requestPictureInPicture=function(){if("pictureInPictureEnabled"in k.default&&!1===this.disablePictureInPicture())return this.techGet_("requestPictureInPicture")},i.exitPictureInPicture=function(){if("pictureInPictureEnabled"in k.default)return k.default.exitPictureInPicture()},i.handleKeyDown=function(e){var t=this.options_.userActions;if(t&&t.hotkeys){(function(e){var t=e.tagName.toLowerCase();if(e.isContentEditable)return!0;if("input"===t)return-1===["button","checkbox","hidden","radio","reset","submit"].indexOf(e.type);return-1!==["textarea"].indexOf(t)})(this.el_.ownerDocument.activeElement)||("function"==typeof t.hotkeys?t.hotkeys.call(this,e):this.handleHotkeys(e))}},i.handleHotkeys=function(e){var t=this.options_.userActions?this.options_.userActions.hotkeys:{},i=t.fullscreenKey,n=void 0===i?function(e){return R.default.isEventKey(e,"f")}:i,r=t.muteKey,a=void 0===r?function(e){return R.default.isEventKey(e,"m")}:r,s=t.playPauseKey,o=void 0===s?function(e){return R.default.isEventKey(e,"k")||R.default.isEventKey(e,"Space")}:s;if(n.call(this,e)){e.preventDefault(),e.stopPropagation();var u=Kt.getComponent("FullscreenToggle");!1!==k.default[this.fsApi_.fullscreenEnabled]&&u.prototype.handleClick.call(this,e)}else if(a.call(this,e)){e.preventDefault(),e.stopPropagation(),Kt.getComponent("MuteToggle").prototype.handleClick.call(this,e)}else if(o.call(this,e)){e.preventDefault(),e.stopPropagation(),Kt.getComponent("PlayToggle").prototype.handleClick.call(this,e)}},i.canPlayType=function(e){for(var t,i=0,n=this.options_.techOrder;i1?i.handleSrc_(n.slice(1)):(i.changingSrc_=!1,i.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0),void i.triggerReady());a=r,s=i.tech_,a.forEach((function(e){return e.setTech&&e.setTech(s)}))})),this.options_.retryOnError&&n.length>1){var r=function(){i.error(null),i.handleSrc_(n.slice(1),!0)},a=function(){i.off("error",r)};this.one("error",r),this.one("playing",a),this.resetRetryOnError_=function(){i.off("error",r),i.off("playing",a)}}}else this.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0)},i.src=function(e){return this.handleSrc_(e,!1)},i.src_=function(e){var t,i,n=this,r=this.selectSource([e]);return!r||(t=r.tech,i=this.techName_,Ht(t)!==Ht(i)?(this.changingSrc_=!0,this.loadTech_(r.tech,r.source),this.tech_.ready((function(){n.changingSrc_=!1})),!1):(this.ready((function(){this.tech_.constructor.prototype.hasOwnProperty("setSource")?this.techCall_("setSource",e):this.techCall_("src",e.src),this.changingSrc_=!1}),!0),!1))},i.load=function(){this.techCall_("load")},i.reset=function(){var e=this,t=this.options_.Promise||C.default.Promise;this.paused()||!t?this.doReset_():ii(this.play().then((function(){return e.doReset_()})))},i.doReset_=function(){this.tech_&&this.tech_.clearTracks("text"),this.resetCache_(),this.poster(""),this.loadTech_(this.options_.techOrder[0],null),this.techCall_("reset"),this.resetControlBarUI_(),Lt(this)&&this.trigger("playerreset")},i.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()},i.resetProgressBar_=function(){this.currentTime(0);var e=this.controlBar,t=e.durationDisplay,i=e.remainingTimeDisplay;t&&t.updateContent(),i&&i.updateContent()},i.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()},i.resetVolumeBar_=function(){this.volume(1),this.trigger("volumechange")},i.currentSources=function(){var e=this.currentSource(),t=[];return 0!==Object.keys(e).length&&t.push(e),this.cache_.sources||t},i.currentSource=function(){return this.cache_.source||{}},i.currentSrc=function(){return this.currentSource()&&this.currentSource().src||""},i.currentType=function(){return this.currentSource()&&this.currentSource().type||""},i.preload=function(e){return void 0!==e?(this.techCall_("setPreload",e),void(this.options_.preload=e)):this.techGet_("preload")},i.autoplay=function(e){if(void 0===e)return this.options_.autoplay||!1;var t;"string"==typeof e&&/(any|play|muted)/.test(e)||!0===e&&this.options_.normalizeAutoplay?(this.options_.autoplay=e,this.manualAutoplay_("string"==typeof e?e:"play"),t=!1):this.options_.autoplay=!!e,t=void 0===t?this.options_.autoplay:t,this.tech_&&this.techCall_("setAutoplay",t)},i.playsinline=function(e){return void 0!==e?(this.techCall_("setPlaysinline",e),this.options_.playsinline=e,this):this.techGet_("playsinline")},i.loop=function(e){return void 0!==e?(this.techCall_("setLoop",e),void(this.options_.loop=e)):this.techGet_("loop")},i.poster=function(e){if(void 0===e)return this.poster_;e||(e=""),e!==this.poster_&&(this.poster_=e,this.techCall_("setPoster",e),this.isPosterFromTech_=!1,this.trigger("posterchange"))},i.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var e=this.tech_.poster()||"";e!==this.poster_&&(this.poster_=e,this.isPosterFromTech_=!0,this.trigger("posterchange"))}},i.controls=function(e){if(void 0===e)return!!this.controls_;e=!!e,this.controls_!==e&&(this.controls_=e,this.usingNativeControls()&&this.techCall_("setControls",e),this.controls_?(this.removeClass("vjs-controls-disabled"),this.addClass("vjs-controls-enabled"),this.trigger("controlsenabled"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass("vjs-controls-enabled"),this.addClass("vjs-controls-disabled"),this.trigger("controlsdisabled"),this.usingNativeControls()||this.removeTechControlsListeners_()))},i.usingNativeControls=function(e){if(void 0===e)return!!this.usingNativeControls_;e=!!e,this.usingNativeControls_!==e&&(this.usingNativeControls_=e,this.usingNativeControls_?(this.addClass("vjs-using-native-controls"),this.trigger("usingnativecontrols")):(this.removeClass("vjs-using-native-controls"),this.trigger("usingcustomcontrols")))},i.error=function(e){var t=this;if(void 0===e)return this.error_||null;if(j("beforeerror").forEach((function(i){var n=i(t,e);ee(n)&&!Array.isArray(n)||"string"==typeof n||"number"==typeof n||null===n?e=n:t.log.error("please return a value that MediaError expects in beforeerror hooks")})),this.options_.suppressNotSupportedError&&e&&4===e.code){var i=function(){this.error(e)};return this.options_.suppressNotSupportedError=!1,this.any(["click","touchstart"],i),void this.one("loadstart",(function(){this.off(["click","touchstart"],i)}))}if(null===e)return this.error_=e,this.removeClass("vjs-error"),void(this.errorDisplay&&this.errorDisplay.close());this.error_=new Zt(e),this.addClass("vjs-error"),K.error("(CODE:"+this.error_.code+" "+Zt.errorTypes[this.error_.code]+")",this.error_.message,this.error_),this.trigger("error"),j("error").forEach((function(e){return e(t,t.error_)}))},i.reportUserActivity=function(e){this.userActivity_=!0},i.userActive=function(e){if(void 0===e)return this.userActive_;if((e=!!e)!==this.userActive_){if(this.userActive_=e,this.userActive_)return this.userActivity_=!0,this.removeClass("vjs-user-inactive"),this.addClass("vjs-user-active"),void this.trigger("useractive");this.tech_&&this.tech_.one("mousemove",(function(e){e.stopPropagation(),e.preventDefault()})),this.userActivity_=!1,this.removeClass("vjs-user-active"),this.addClass("vjs-user-inactive"),this.trigger("userinactive")}},i.listenForUserActivity_=function(){var e,t,i,n=Ct(this,this.reportUserActivity),r=function(t){n(),this.clearInterval(e)};this.on("mousedown",(function(){n(),this.clearInterval(e),e=this.setInterval(n,250)})),this.on("mousemove",(function(e){e.screenX===t&&e.screenY===i||(t=e.screenX,i=e.screenY,n())})),this.on("mouseup",r),this.on("mouseleave",r);var a,s=this.getChild("controlBar");!s||Te||le||(s.on("mouseenter",(function(e){0!==this.player().options_.inactivityTimeout&&(this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout),this.player().options_.inactivityTimeout=0})),s.on("mouseleave",(function(e){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout}))),this.on("keydown",n),this.on("keyup",n),this.setInterval((function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(a);var e=this.options_.inactivityTimeout;e<=0||(a=this.setTimeout((function(){this.userActivity_||this.userActive(!1)}),e))}}),250)},i.playbackRate=function(e){if(void 0===e)return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_("playbackRate"):1;this.techCall_("setPlaybackRate",e)},i.defaultPlaybackRate=function(e){return void 0!==e?this.techCall_("setDefaultPlaybackRate",e):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_("defaultPlaybackRate"):1},i.isAudio=function(e){if(void 0===e)return!!this.isAudio_;this.isAudio_=!!e},i.addTextTrack=function(e,t,i){if(this.tech_)return this.tech_.addTextTrack(e,t,i)},i.addRemoteTextTrack=function(e,t){if(this.tech_)return this.tech_.addRemoteTextTrack(e,t)},i.removeRemoteTextTrack=function(e){void 0===e&&(e={});var t=e.track;if(t||(t=e),this.tech_)return this.tech_.removeRemoteTextTrack(t)},i.getVideoPlaybackQuality=function(){return this.techGet_("getVideoPlaybackQuality")},i.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0},i.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0},i.language=function(e){if(void 0===e)return this.language_;this.language_!==String(e).toLowerCase()&&(this.language_=String(e).toLowerCase(),Lt(this)&&this.trigger("languagechange"))},i.languages=function(){return zt(t.prototype.options_.languages,this.languages_)},i.toJSON=function(){var e=zt(this.options_),t=e.tracks;e.tracks=[];for(var i=0;i"):function(){}},Jr=function(e,t){var i,n=[];if(e&&e.length)for(i=0;i=t}))},ea=function(e,t){return Jr(e,(function(e){return e-1/30>=t}))},ta=function(e){var t=[];if(!e||!e.length)return"";for(var i=0;i "+e.end(i));return t.join(", ")},ia=function(e){for(var t=[],i=0;i0;return i&&t.serverControl&&t.serverControl.partHoldBack?t.serverControl.partHoldBack:i&&t.partTargetDuration?3*t.partTargetDuration:t.serverControl&&t.serverControl.holdBack?t.serverControl.holdBack:t.targetDuration?3*t.targetDuration:0},la=function(e,t,i){if(void 0===t&&(t=e.mediaSequence+e.segments.length),tr){var s=[r,n];n=s[0],r=s[1]}if(n<0){for(var o=n;oDate.now()},pa=function(e){return e.excludeUntil&&e.excludeUntil===1/0},ma=function(e){var t=fa(e);return!e.disabled&&!t},_a=function(e,t){return t.attributes&&t.attributes[e]},ga=function(e,t){if(1===e.playlists.length)return!0;var i=t.attributes.BANDWIDTH||Number.MAX_VALUE;return 0===e.playlists.filter((function(e){return!!ma(e)&&(e.attributes.BANDWIDTH||0)0)for(var c=l-1;c>=0;c--){var f=u[c];if(o+=f.duration,s){if(o<0)continue}else if(o+1/30<=0)continue;return{partIndex:f.partIndex,segmentIndex:f.segmentIndex,startTime:a-da({defaultDuration:t.targetDuration,durationList:u,startIndex:l,endIndex:c})}}return{partIndex:u[0]&&u[0].partIndex||null,segmentIndex:u[0]&&u[0].segmentIndex||0,startTime:i}}if(l<0){for(var p=l;p<0;p++)if((o-=t.targetDuration)<0)return{partIndex:u[0]&&u[0].partIndex||null,segmentIndex:u[0]&&u[0].segmentIndex||0,startTime:i};l=0}for(var m=l;m0)continue}else if(o-1/30>=0)continue;return{partIndex:_.partIndex,segmentIndex:_.segmentIndex,startTime:a+da({defaultDuration:t.targetDuration,durationList:u,startIndex:l,endIndex:m})}}return{segmentIndex:u[u.length-1].segmentIndex,partIndex:u[u.length-1].partIndex,startTime:i}},isEnabled:ma,isDisabled:function(e){return e.disabled},isBlacklisted:fa,isIncompatible:pa,playlistEnd:ca,isAes:function(e){for(var t=0;t-1&&s!==a.length-1&&i.push("_HLS_part="+s),(s>-1||a.length)&&r--}i.unshift("_HLS_msn="+r)}return t.serverControl&&t.serverControl.canSkipUntil&&i.unshift("_HLS_skip="+(t.serverControl.canSkipDateranges?"v2":"YES")),i.forEach((function(t,i){e+=""+(0===i?"?":"&")+t})),e}(i,t)),this.state="HAVE_CURRENT_METADATA",this.request=this.vhs_.xhr({uri:i,withCredentials:this.withCredentials},(function(t,i){if(e.request)return t?e.playlistRequestError(e.request,e.media(),"HAVE_METADATA"):void e.haveMetadata({playlistString:e.request.responseText,url:e.media().uri,id:e.media().id})}))}},i.playlistRequestError=function(e,t,i){var n=t.uri,r=t.id;this.request=null,i&&(this.state=i),this.error={playlist:this.master.playlists[r],status:e.status,message:"HLS playlist request error at URL: "+n+".",responseText:e.responseText,code:e.status>=500?4:2},this.trigger("error")},i.parseManifest_=function(e){var t=this,i=e.url;return function(e){var t=e.onwarn,i=e.oninfo,n=e.manifestString,r=e.customTagParsers,a=void 0===r?[]:r,s=e.customTagMappers,o=void 0===s?[]:s,u=e.experimentalLLHLS,l=new m.Parser;t&&l.on("warn",t),i&&l.on("info",i),a.forEach((function(e){return l.addParser(e)})),o.forEach((function(e){return l.addTagMapper(e)})),l.push(n),l.end();var h=l.manifest;if(u||(["preloadSegment","skip","serverControl","renditionReports","partInf","partTargetDuration"].forEach((function(e){h.hasOwnProperty(e)&&delete h[e]})),h.segments&&h.segments.forEach((function(e){["parts","preloadHints"].forEach((function(t){e.hasOwnProperty(t)&&delete e[t]}))}))),!h.targetDuration){var d=10;h.segments&&h.segments.length&&(d=h.segments.reduce((function(e,t){return Math.max(e,t.duration)}),0)),t&&t("manifest has no targetDuration defaulting to "+d),h.targetDuration=d}var c=sa(h);if(c.length&&!h.partTargetDuration){var f=c.reduce((function(e,t){return Math.max(e,t.duration)}),0);t&&(t("manifest has no partTargetDuration defaulting to "+f),Ta.error("LL-HLS manifest has parts but lacks required #EXT-X-PART-INF:PART-TARGET value. See https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-09#section-4.4.3.7. Playback is not guaranteed.")),h.partTargetDuration=f}return h}({onwarn:function(e){var n=e.message;return t.logger_("m3u8-parser warn for "+i+": "+n)},oninfo:function(e){var n=e.message;return t.logger_("m3u8-parser info for "+i+": "+n)},manifestString:e.manifestString,customTagParsers:this.customTagParsers,customTagMappers:this.customTagMappers,experimentalLLHLS:this.experimentalLLHLS})},i.haveMetadata=function(e){var t=e.playlistString,i=e.playlistObject,n=e.url,r=e.id;this.request=null,this.state="HAVE_METADATA";var a=i||this.parseManifest_({url:n,manifestString:t});a.lastRequest=Date.now(),Aa({playlist:a,uri:n,id:r});var s=Da(this.master,a);this.targetDuration=a.partTargetDuration||a.targetDuration,s?(this.master=s,this.media_=this.master.playlists[r]):this.trigger("playlistunchanged"),this.updateMediaUpdateTimeout_(Oa(this.media(),!!s)),this.trigger("loadedplaylist")},i.dispose=function(){this.trigger("dispose"),this.stopRequest(),C.default.clearTimeout(this.mediaUpdateTimeout),C.default.clearTimeout(this.finalRenditionTimeout),this.off()},i.stopRequest=function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}},i.media=function(e,t){var i=this;if(!e)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);if("string"==typeof e){if(!this.master.playlists[e])throw new Error("Unknown playlist URI: "+e);e=this.master.playlists[e]}if(C.default.clearTimeout(this.finalRenditionTimeout),t){var n=(e.partTargetDuration||e.targetDuration)/2*1e3||5e3;this.finalRenditionTimeout=C.default.setTimeout(this.media.bind(this,e,!1),n)}else{var r=this.state,a=!this.media_||e.id!==this.media_.id,s=this.master.playlists[e.id];if(s&&s.endList||e.endList&&e.segments.length)return this.request&&(this.request.onreadystatechange=null,this.request.abort(),this.request=null),this.state="HAVE_METADATA",this.media_=e,void(a&&(this.trigger("mediachanging"),"HAVE_MASTER"===r?this.trigger("loadedmetadata"):this.trigger("mediachange")));if(this.updateMediaUpdateTimeout_(Oa(e,!0)),a){if(this.state="SWITCHING_MEDIA",this.request){if(e.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger("mediachanging"),this.request=this.vhs_.xhr({uri:e.resolvedUri,withCredentials:this.withCredentials},(function(t,n){if(i.request){if(e.lastRequest=Date.now(),e.resolvedUri=Qr(i.handleManifestRedirects,e.resolvedUri,n),t)return i.playlistRequestError(i.request,e,r);i.haveMetadata({playlistString:n.responseText,url:e.uri,id:e.id}),"HAVE_MASTER"===r?i.trigger("loadedmetadata"):i.trigger("mediachange")}}))}}},i.pause=function(){this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null),this.stopRequest(),"HAVE_NOTHING"===this.state&&(this.started=!1),"SWITCHING_MEDIA"===this.state?this.media_?this.state="HAVE_METADATA":this.state="HAVE_MASTER":"HAVE_CURRENT_METADATA"===this.state&&(this.state="HAVE_METADATA")},i.load=function(e){var t=this;this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null);var i=this.media();if(e){var n=i?(i.partTargetDuration||i.targetDuration)/2*1e3:5e3;this.mediaUpdateTimeout=C.default.setTimeout((function(){t.mediaUpdateTimeout=null,t.load()}),n)}else this.started?i&&!i.endList?this.trigger("mediaupdatetimeout"):this.trigger("loadedplaylist"):this.start()},i.updateMediaUpdateTimeout_=function(e){var t=this;this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null),this.media()&&!this.media().endList&&(this.mediaUpdateTimeout=C.default.setTimeout((function(){t.mediaUpdateTimeout=null,t.trigger("mediaupdatetimeout"),t.updateMediaUpdateTimeout_(e)}),e))},i.start=function(){var e=this;if(this.started=!0,"object"==typeof this.src)return this.src.uri||(this.src.uri=C.default.location.href),this.src.resolvedUri=this.src.uri,void setTimeout((function(){e.setupInitialPlaylist(e.src)}),0);this.request=this.vhs_.xhr({uri:this.src,withCredentials:this.withCredentials},(function(t,i){if(e.request){if(e.request=null,t)return e.error={status:i.status,message:"HLS playlist request error at URL: "+e.src+".",responseText:i.responseText,code:2},"HAVE_NOTHING"===e.state&&(e.started=!1),e.trigger("error");e.src=Qr(e.handleManifestRedirects,e.src,i);var n=e.parseManifest_({manifestString:i.responseText,url:e.src});e.setupInitialPlaylist(n)}}))},i.srcUri=function(){return"string"==typeof this.src?this.src:this.src.uri},i.setupInitialPlaylist=function(e){if(this.state="HAVE_MASTER",e.playlists)return this.master=e,Ca(this.master,this.srcUri()),e.playlists.forEach((function(e){e.segments=xa(e),e.segments.forEach((function(t){La(t,e.resolvedUri)}))})),this.trigger("loadedplaylist"),void(this.request||this.media(this.master.playlists[0]));var t=this.srcUri()||C.default.location.href;this.master=function(e,t){var i=Ea(0,t),n={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:C.default.location.href,resolvedUri:C.default.location.href,playlists:[{uri:t,id:i,resolvedUri:t,attributes:{}}]};return n.playlists[i]=n.playlists[0],n.playlists[t]=n.playlists[0],n}(0,t),this.haveMetadata({playlistObject:e,url:t,id:this.master.playlists[0].id}),this.trigger("loadedmetadata")},t}(Pa),Ma=Yr.xhr,Fa=Yr.mergeOptions,Ba=function(e,t,i,n){var r="arraybuffer"===e.responseType?e.response:e.responseText;!t&&r&&(e.responseTime=Date.now(),e.roundTripTime=e.responseTime-e.requestTime,e.bytesReceived=r.byteLength||r.length,e.bandwidth||(e.bandwidth=Math.floor(e.bytesReceived/e.roundTripTime*8*1e3))),i.headers&&(e.responseHeaders=i.headers),t&&"ETIMEDOUT"===t.code&&(e.timedout=!0),t||e.aborted||200===i.statusCode||206===i.statusCode||0===i.statusCode||(t=new Error("XHR Failed with a response of: "+(e&&(r||e.responseText)))),n(t,e)},Na=function(){var e=function e(t,i){t=Fa({timeout:45e3},t);var n=e.beforeRequest||Yr.Vhs.xhr.beforeRequest;if(n&&"function"==typeof n){var r=n(t);r&&(t=r)}var a=(!0===Yr.Vhs.xhr.original?Ma:Yr.Vhs.xhr)(t,(function(e,t){return Ba(a,e,t,i)})),s=a.abort;return a.abort=function(){return a.aborted=!0,s.apply(a,arguments)},a.uri=t.uri,a.requestTime=Date.now(),a};return e.original=!0,e},ja=function(e){var t,i,n={};return e.byterange&&(n.Range=(t=e.byterange,i=t.offset+t.length-1,"bytes="+t.offset+"-"+i)),n},Va=function(e,t){return e.start(t)+"-"+e.end(t)},Ha=function(e,t){var i=e.toString(16);return"00".substring(0,2-i.length)+i+(t%2?" ":"")},za=function(e){return e>=32&&e<126?String.fromCharCode(e):"."},Ga=function(e){var t={};return Object.keys(e).forEach((function(i){var n=e[i];ArrayBuffer.isView(n)?t[i]={bytes:n.buffer,byteOffset:n.byteOffset,byteLength:n.byteLength}:t[i]=n})),t},Wa=function(e){var t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(",")},Ya=function(e){return e.resolvedUri},qa=function(e){for(var t=Array.prototype.slice.call(e),i="",n=0;nn){if(e>n+.25*a.duration)return null;i=a}return{segment:i,estimatedStart:i.videoTimingInfo?i.videoTimingInfo.transmuxedPresentationStart:n-i.duration,type:i.videoTimingInfo?"accurate":"estimate"}}(n,t);if(!a)return r({message:"valid programTime was not found"});if("estimate"===a.type)return r({message:"Accurate programTime could not be determined. Please seek to e.seekTime and try again",seekTime:a.estimatedStart});var s={mediaSeconds:n},o=function(e,t){if(!t.dateTimeObject)return null;var i=t.videoTimingInfo.transmuxerPrependedSeconds,n=e-(t.videoTimingInfo.transmuxedPresentationStart+i);return new Date(t.dateTimeObject.getTime()+1e3*n)}(n,a.segment);return o&&(s.programDateTime=o.toISOString()),r(null,s)},Qa=function e(t){var i=t.programTime,n=t.playlist,r=t.retryCount,a=void 0===r?2:r,s=t.seekTo,o=t.pauseAfterSeek,u=void 0===o||o,l=t.tech,h=t.callback;if(!h)throw new Error("seekToProgramTime: callback must be provided");if(void 0===i||!n||!s)return h({message:"seekToProgramTime: programTime, seekTo and playlist must be provided"});if(!n.endList&&!l.hasStarted_)return h({message:"player must be playing a live stream to start buffering"});if(!function(e){if(!e.segments||0===e.segments.length)return!1;for(var t=0;tnew Date(o.getTime()+1e3*u)?null:(i>o&&(n=s),{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:Sa.duration(t,t.mediaSequence+t.segments.indexOf(n)),type:n.videoTimingInfo?"accurate":"estimate"})}(i,n);if(!d)return h({message:i+" was not found in the stream"});var c=d.segment,f=function(e,t){var i,n;try{i=new Date(e),n=new Date(t)}catch(e){}var r=i.getTime();return(n.getTime()-r)/1e3}(c.dateTimeObject,i);if("estimate"===d.type)return 0===a?h({message:i+" is not buffered yet. Try again"}):(s(d.estimatedStart+f),void l.one("seeked",(function(){e({programTime:i,playlist:n,retryCount:a-1,seekTo:s,pauseAfterSeek:u,tech:l,callback:h})})));var p=c.start+f;l.one("seeked",(function(){return h(null,l.currentTime())})),u&&l.pause(),s(p)},$a=function(e,t){if(4===e.readyState)return t()},Ja=Yr.EventTarget,Za=Yr.mergeOptions,es=function(e,t){if(!Ra(e,t))return!1;if(e.sidx&&t.sidx&&(e.sidx.offset!==t.sidx.offset||e.sidx.length!==t.sidx.length))return!1;if(!e.sidx&&t.sidx||e.sidx&&!t.sidx)return!1;if(e.segments&&!t.segments||!e.segments&&t.segments)return!1;if(!e.segments&&!t.segments)return!0;for(var i=0;i=h+l)return s(t,{response:o.subarray(l,l+h),status:i.status,uri:i.uri});n.request=n.vhs_.xhr({uri:a,responseType:"arraybuffer",headers:ja({byterange:e.sidx.byterange})},s)}))}else this.mediaRequest_=C.default.setTimeout((function(){return i(!1)}),0)},i.dispose=function(){this.trigger("dispose"),this.stopRequest(),this.loadedPlaylists_={},C.default.clearTimeout(this.minimumUpdatePeriodTimeout_),C.default.clearTimeout(this.mediaRequest_),C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.mediaRequest_=null,this.minimumUpdatePeriodTimeout_=null,this.masterPlaylistLoader_.createMupOnMedia_&&(this.off("loadedmetadata",this.masterPlaylistLoader_.createMupOnMedia_),this.masterPlaylistLoader_.createMupOnMedia_=null),this.off()},i.hasPendingRequest=function(){return this.request||this.mediaRequest_},i.stopRequest=function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}},i.media=function(e){var t=this;if(!e)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);var i=this.state;if("string"==typeof e){if(!this.masterPlaylistLoader_.master.playlists[e])throw new Error("Unknown playlist URI: "+e);e=this.masterPlaylistLoader_.master.playlists[e]}var n=!this.media_||e.id!==this.media_.id;if(n&&this.loadedPlaylists_[e.id]&&this.loadedPlaylists_[e.id].endList)return this.state="HAVE_METADATA",this.media_=e,void(n&&(this.trigger("mediachanging"),this.trigger("mediachange")));n&&(this.media_&&this.trigger("mediachanging"),this.addSidxSegments_(e,i,(function(n){t.haveMetadata({startingState:i,playlist:e})})))},i.haveMetadata=function(e){var t=e.startingState,i=e.playlist;this.state="HAVE_METADATA",this.loadedPlaylists_[i.id]=i,this.mediaRequest_=null,this.refreshMedia_(i.id),"HAVE_MASTER"===t?this.trigger("loadedmetadata"):this.trigger("mediachange")},i.pause=function(){this.masterPlaylistLoader_.createMupOnMedia_&&(this.off("loadedmetadata",this.masterPlaylistLoader_.createMupOnMedia_),this.masterPlaylistLoader_.createMupOnMedia_=null),this.stopRequest(),C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.isMaster_&&(C.default.clearTimeout(this.masterPlaylistLoader_.minimumUpdatePeriodTimeout_),this.masterPlaylistLoader_.minimumUpdatePeriodTimeout_=null),"HAVE_NOTHING"===this.state&&(this.started=!1)},i.load=function(e){var t=this;C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null;var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=C.default.setTimeout((function(){return t.load()}),n)}else this.started?i&&!i.endList?(this.isMaster_&&!this.minimumUpdatePeriodTimeout_&&(this.trigger("minimumUpdatePeriod"),this.updateMinimumUpdatePeriodTimeout_()),this.trigger("mediaupdatetimeout")):this.trigger("loadedplaylist"):this.start()},i.start=function(){var e=this;this.started=!0,this.isMaster_?this.requestMaster_((function(t,i){e.haveMaster_(),e.hasPendingRequest()||e.media_||e.media(e.masterPlaylistLoader_.master.playlists[0])})):this.mediaRequest_=C.default.setTimeout((function(){return e.haveMaster_()}),0)},i.requestMaster_=function(e){var t=this;this.request=this.vhs_.xhr({uri:this.masterPlaylistLoader_.srcUrl,withCredentials:this.withCredentials},(function(i,n){if(!t.requestErrored_(i,n)){var r=n.responseText!==t.masterPlaylistLoader_.masterXml_;return t.masterPlaylistLoader_.masterXml_=n.responseText,n.responseHeaders&&n.responseHeaders.date?t.masterLoaded_=Date.parse(n.responseHeaders.date):t.masterLoaded_=Date.now(),t.masterPlaylistLoader_.srcUrl=Qr(t.handleManifestRedirects,t.masterPlaylistLoader_.srcUrl,n),r?(t.handleMaster_(),void t.syncClientServerClock_((function(){return e(n,r)}))):e(n,r)}"HAVE_NOTHING"===t.state&&(t.started=!1)}))},i.syncClientServerClock_=function(e){var t=this,i=v.parseUTCTiming(this.masterPlaylistLoader_.masterXml_);return null===i?(this.masterPlaylistLoader_.clientOffset_=this.masterLoaded_-Date.now(),e()):"DIRECT"===i.method?(this.masterPlaylistLoader_.clientOffset_=i.value-Date.now(),e()):void(this.request=this.vhs_.xhr({uri:Xr(this.masterPlaylistLoader_.srcUrl,i.value),method:i.method,withCredentials:this.withCredentials},(function(n,r){if(t.request){if(n)return t.masterPlaylistLoader_.clientOffset_=t.masterLoaded_-Date.now(),e();var a;a="HEAD"===i.method?r.responseHeaders&&r.responseHeaders.date?Date.parse(r.responseHeaders.date):t.masterLoaded_:Date.parse(r.responseText),t.masterPlaylistLoader_.clientOffset_=a-Date.now(),e()}})))},i.haveMaster_=function(){this.state="HAVE_MASTER",this.isMaster_?this.trigger("loadedplaylist"):this.media_||this.media(this.childPlaylist_)},i.handleMaster_=function(){this.mediaRequest_=null;var e,t,i,n,r,a,s=(e={masterXml:this.masterPlaylistLoader_.masterXml_,srcUrl:this.masterPlaylistLoader_.srcUrl,clientOffset:this.masterPlaylistLoader_.clientOffset_,sidxMapping:this.masterPlaylistLoader_.sidxMapping_},t=e.masterXml,i=e.srcUrl,n=e.clientOffset,r=e.sidxMapping,a=v.parse(t,{manifestUri:i,clientOffset:n,sidxMapping:r}),Ca(a,i),a),o=this.masterPlaylistLoader_.master;o&&(s=function(e,t,i){for(var n=!0,r=Za(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod}),a=0;a-1)},this.trigger=function(t){var i,n,r,a;if(i=e[t])if(2===arguments.length)for(r=i.length,n=0;n>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},m=function(e){return t(T.hdlr,P[e])},p=function(e){var i=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,255&e.duration,85,196,0,0]);return e.samplerate&&(i[12]=e.samplerate>>>24&255,i[13]=e.samplerate>>>16&255,i[14]=e.samplerate>>>8&255,i[15]=255&e.samplerate),t(T.mdhd,i)},f=function(e){return t(T.mdia,p(e),m(e.type),s(e))},a=function(e){return t(T.mfhd,new Uint8Array([0,0,0,0,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e]))},s=function(e){return t(T.minf,"video"===e.type?t(T.vmhd,I):t(T.smhd,L),i(),g(e))},o=function(e,i){for(var n=[],r=i.length;r--;)n[r]=y(i[r]);return t.apply(null,[T.moof,a(e)].concat(n))},u=function(e){for(var i=e.length,n=[];i--;)n[i]=d(e[i]);return t.apply(null,[T.moov,h(4294967295)].concat(n).concat(l(e)))},l=function(e){for(var i=e.length,n=[];i--;)n[i]=b(e[i]);return t.apply(null,[T.mvex].concat(n))},h=function(e){var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return t(T.mvhd,i)},_=function(e){var i,n,r=e.samples||[],a=new Uint8Array(4+r.length);for(n=0;n>>8),s.push(255&r[i].byteLength),s=s.concat(Array.prototype.slice.call(r[i]));for(i=0;i>>8),o.push(255&a[i].byteLength),o=o.concat(Array.prototype.slice.call(a[i]));if(n=[T.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(65280&e.width)>>8,255&e.width,(65280&e.height)>>8,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),t(T.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255].concat([r.length],s,[a.length],o))),t(T.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var u=e.sarRatio[0],l=e.sarRatio[1];n.push(t(T.pasp,new Uint8Array([(4278190080&u)>>24,(16711680&u)>>16,(65280&u)>>8,255&u,(4278190080&l)>>24,(16711680&l)>>16,(65280&l)>>8,255&l])))}return t.apply(null,n)},F=function(e){return t(T.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(65280&e.channelcount)>>8,255&e.channelcount,(65280&e.samplesize)>>8,255&e.samplesize,0,0,0,0,(65280&e.samplerate)>>8,255&e.samplerate,0,0]),n(e))},c=function(e){var i=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,0,(4278190080&e.duration)>>24,(16711680&e.duration)>>16,(65280&e.duration)>>8,255&e.duration,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(65280&e.width)>>8,255&e.width,0,0,(65280&e.height)>>8,255&e.height,0,0]);return t(T.tkhd,i)},y=function(e){var i,n,r,a,s,o;return i=t(T.tfhd,new Uint8Array([0,0,0,58,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),s=Math.floor(e.baseMediaDecodeTime/(H+1)),o=Math.floor(e.baseMediaDecodeTime%(H+1)),n=t(T.tfdt,new Uint8Array([1,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o>>>24&255,o>>>16&255,o>>>8&255,255&o])),92,"audio"===e.type?(r=S(e,92),t(T.traf,i,n,r)):(a=_(e),r=S(e,a.length+92),t(T.traf,i,n,r,a))},d=function(e){return e.duration=e.duration||4294967295,t(T.trak,c(e),f(e))},b=function(e){var i=new Uint8Array([0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return"video"!==e.type&&(i[i.length-1]=0),t(T.trex,i)},j=function(e,t){var i=0,n=0,r=0,a=0;return e.length&&(void 0!==e[0].duration&&(i=1),void 0!==e[0].size&&(n=2),void 0!==e[0].flags&&(r=4),void 0!==e[0].compositionTimeOffset&&(a=8)),[0,0,i|n|r|a,1,(4278190080&e.length)>>>24,(16711680&e.length)>>>16,(65280&e.length)>>>8,255&e.length,(4278190080&t)>>>24,(16711680&t)>>>16,(65280&t)>>>8,255&t]},N=function(e,i){var n,r,a,s,o,u;for(i+=20+16*(s=e.samples||[]).length,a=j(s,i),(r=new Uint8Array(a.length+16*s.length)).set(a),n=a.length,u=0;u>>24,r[n++]=(16711680&o.duration)>>>16,r[n++]=(65280&o.duration)>>>8,r[n++]=255&o.duration,r[n++]=(4278190080&o.size)>>>24,r[n++]=(16711680&o.size)>>>16,r[n++]=(65280&o.size)>>>8,r[n++]=255&o.size,r[n++]=o.flags.isLeading<<2|o.flags.dependsOn,r[n++]=o.flags.isDependedOn<<6|o.flags.hasRedundancy<<4|o.flags.paddingValue<<1|o.flags.isNonSyncSample,r[n++]=61440&o.flags.degradationPriority,r[n++]=15&o.flags.degradationPriority,r[n++]=(4278190080&o.compositionTimeOffset)>>>24,r[n++]=(16711680&o.compositionTimeOffset)>>>16,r[n++]=(65280&o.compositionTimeOffset)>>>8,r[n++]=255&o.compositionTimeOffset;return t(T.trun,r)},B=function(e,i){var n,r,a,s,o,u;for(i+=20+8*(s=e.samples||[]).length,a=j(s,i),(n=new Uint8Array(a.length+8*s.length)).set(a),r=a.length,u=0;u>>24,n[r++]=(16711680&o.duration)>>>16,n[r++]=(65280&o.duration)>>>8,n[r++]=255&o.duration,n[r++]=(4278190080&o.size)>>>24,n[r++]=(16711680&o.size)>>>16,n[r++]=(65280&o.size)>>>8,n[r++]=255&o.size;return t(T.trun,n)},S=function(e,t){return"audio"===e.type?B(e,t):N(e,t)};r=function(){return t(T.ftyp,E,w,E,A)};var z,G,W,Y,q,K,X,Q,$=function(e){return t(T.mdat,e)},J=o,Z=function(e){var t,i=r(),n=u(e);return(t=new Uint8Array(i.byteLength+n.byteLength)).set(i),t.set(n,i.byteLength),t},ee=function(e,t){var i={size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}};return i.dataOffset=t,i.compositionTimeOffset=e.pts-e.dts,i.duration=e.duration,i.size=4*e.length,i.size+=e.byteLength,e.keyFrame&&(i.flags.dependsOn=2,i.flags.isNonSyncSample=0),i},te=function(e){var t,i,n=[],r=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,n.byteLength=0,t=0;t1&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},re=function(e,t){var i,n,r,a,s,o=t||0,u=[];for(i=0;ihe/2))){for((s=le()[e.samplerate])||(s=t[0].data),o=0;o=i?e:(t.minSegmentDts=1/0,e.filter((function(e){return e.dts>=i&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)})))},ve=function(e){var t,i,n=[];for(t=0;t=this.virtualRowCount&&"function"==typeof this.beforeRowOverflow&&this.beforeRowOverflow(e),this.rows.length>0&&(this.rows.push(""),this.rowIdx++);this.rows.length>this.virtualRowCount;)this.rows.shift(),this.rowIdx--},Re.prototype.isEmpty=function(){return 0===this.rows.length||1===this.rows.length&&""===this.rows[0]},Re.prototype.addText=function(e){this.rows[this.rowIdx]+=e},Re.prototype.backspace=function(){if(!this.isEmpty()){var e=this.rows[this.rowIdx];this.rows[this.rowIdx]=e.substr(0,e.length-1)}};var De=function(e){this.serviceNum=e,this.text="",this.currentWindow=new Re(-1),this.windows=[]};De.prototype.init=function(e,t){this.startPts=e;for(var i=0;i<8;i++)this.windows[i]=new Re(i),"function"==typeof t&&(this.windows[i].beforeRowOverflow=t)},De.prototype.setCurrentWindow=function(e){this.currentWindow=this.windows[e]};var Oe=function e(){e.prototype.init.call(this);var t=this;this.current708Packet=null,this.services={},this.push=function(e){3===e.type?(t.new708Packet(),t.add708Bytes(e)):(null===t.current708Packet&&t.new708Packet(),t.add708Bytes(e))}};Oe.prototype=new V,Oe.prototype.new708Packet=function(){null!==this.current708Packet&&this.push708Packet(),this.current708Packet={data:[],ptsVals:[]}},Oe.prototype.add708Bytes=function(e){var t=e.ccData,i=t>>>8,n=255&t;this.current708Packet.ptsVals.push(e.pts),this.current708Packet.data.push(i),this.current708Packet.data.push(n)},Oe.prototype.push708Packet=function(){var e=this.current708Packet,t=e.data,i=null,n=null,r=0,a=t[r++];for(e.seq=a>>6,e.sizeCode=63&a;r>5)&&n>0&&(i=a=t[r++]),this.pushServiceBlock(i,r,n),n>0&&(r+=n-1)},Oe.prototype.pushServiceBlock=function(e,t,i){var n,r=t,a=this.current708Packet.data,s=this.services[e];for(s||(s=this.initService(e,r));r>5,a.rowLock=(16&n)>>4,a.columnLock=(8&n)>>3,a.priority=7&n,n=i[++e],a.relativePositioning=(128&n)>>7,a.anchorVertical=127&n,n=i[++e],a.anchorHorizontal=n,n=i[++e],a.anchorPoint=(240&n)>>4,a.rowCount=15&n,n=i[++e],a.columnCount=63&n,n=i[++e],a.windowStyle=(56&n)>>3,a.penStyle=7&n,a.virtualRowCount=a.rowCount+1,e},Oe.prototype.setWindowAttributes=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.winAttr;return n=i[++e],r.fillOpacity=(192&n)>>6,r.fillRed=(48&n)>>4,r.fillGreen=(12&n)>>2,r.fillBlue=3&n,n=i[++e],r.borderType=(192&n)>>6,r.borderRed=(48&n)>>4,r.borderGreen=(12&n)>>2,r.borderBlue=3&n,n=i[++e],r.borderType+=(128&n)>>5,r.wordWrap=(64&n)>>6,r.printDirection=(48&n)>>4,r.scrollDirection=(12&n)>>2,r.justify=3&n,n=i[++e],r.effectSpeed=(240&n)>>4,r.effectDirection=(12&n)>>2,r.displayEffect=3&n,e},Oe.prototype.flushDisplayed=function(e,t){for(var i=[],n=0;n<8;n++)t.windows[n].visible&&!t.windows[n].isEmpty()&&i.push(t.windows[n].getText());t.endPts=e,t.text=i.join("\n\n"),this.pushCaption(t),t.startPts=e},Oe.prototype.pushCaption=function(e){""!==e.text&&(this.trigger("data",{startPts:e.startPts,endPts:e.endPts,text:e.text,stream:"cc708_"+e.serviceNum}),e.text="",e.startPts=e.endPts)},Oe.prototype.displayWindows=function(e,t){var i=this.current708Packet.data[++e],n=this.getPts(e);this.flushDisplayed(n,t);for(var r=0;r<8;r++)i&1<>4,r.offset=(12&n)>>2,r.penSize=3&n,n=i[++e],r.italics=(128&n)>>7,r.underline=(64&n)>>6,r.edgeType=(56&n)>>3,r.fontStyle=7&n,e},Oe.prototype.setPenColor=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.penColor;return n=i[++e],r.fgOpacity=(192&n)>>6,r.fgRed=(48&n)>>4,r.fgGreen=(12&n)>>2,r.fgBlue=3&n,n=i[++e],r.bgOpacity=(192&n)>>6,r.bgRed=(48&n)>>4,r.bgGreen=(12&n)>>2,r.bgBlue=3&n,n=i[++e],r.edgeRed=(48&n)>>4,r.edgeGreen=(12&n)>>2,r.edgeBlue=3&n,e},Oe.prototype.setPenLocation=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.penLoc;return t.currentWindow.pendingNewLine=!0,n=i[++e],r.row=15&n,n=i[++e],r.column=63&n,e},Oe.prototype.reset=function(e,t){var i=this.getPts(e);return this.flushDisplayed(i,t),this.initService(t.serviceNum,e)};var Ue={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Me=function(e){return null===e?"":(e=Ue[e]||e,String.fromCharCode(e))},Fe=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Be=function(){for(var e=[],t=15;t--;)e.push("");return e},Ne=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_="CC"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,a;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_="popOn";else if(t===this.END_OF_CAPTION_)this.mode_="popOn",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Be();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Be();else if(t===this.RESUME_DIRECT_CAPTIONING_)"paintOn"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=Be()),this.mode_="paintOn",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))a=Me((n=(3&n)<<8)|r),this[this.mode_](e.pts,a),this.column_++;else if(this.isExtCharacter(n,r))"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),a=Me((n=(3&n)<<8)|r),this[this.mode_](e.pts,a),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts," "),this.column_++,14==(14&r)&&this.addFormatting(e.pts,["i"]),1==(1&r)&&this.addFormatting(e.pts,["u"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var s=Fe.indexOf(7968&t);"rollUp"===this.mode_&&(s-this.rollUpRows_+1<0&&(s=this.rollUpRows_-1),this.setRollUp(e.pts,s)),s!==this.row_&&(this.clearFormatting(e.pts),this.row_=s),1&r&&-1===this.formatting_.indexOf("u")&&this.addFormatting(e.pts,["u"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,["i"])}else this.isNormalChar(n)&&(0===r&&(r=null),a=Me(n),a+=Me(r),this[this.mode_](e.pts,a),this.column_+=a.length)}else this.lastControlCode_=null}};Ne.prototype=new V,Ne.prototype.flushDisplayed=function(e){var t=this.displayed_.map((function(e,t){try{return e.trim()}catch(e){return this.trigger("log",{level:"warn",message:"Skipping a malformed 608 caption at index "+t+"."}),""}}),this).join("\n").replace(/^\n+|\n+$/g,"");t.length&&this.trigger("data",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},Ne.prototype.reset=function(){this.mode_="popOn",this.topRow_=0,this.startPts_=0,this.displayed_=Be(),this.nonDisplayed_=Be(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Ne.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Ne.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&t>=48&&t<=63},Ne.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&t>=32&&t<=63},Ne.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&t>=32&&t<=47},Ne.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&t>=33&&t<=35},Ne.prototype.isPAC=function(e,t){return e>=this.BASE_&&e=64&&t<=127},Ne.prototype.isColorPAC=function(e){return e>=64&&e<=79||e>=96&&e<=127},Ne.prototype.isNormalChar=function(e){return e>=32&&e<=127},Ne.prototype.setRollUp=function(e,t){if("rollUp"!==this.mode_&&(this.row_=14,this.mode_="rollUp",this.flushDisplayed(e),this.nonDisplayed_=Be(),this.displayed_=Be()),void 0!==t&&t!==this.row_)for(var i=0;i"}),"");this[this.mode_](e,i)},Ne.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce((function(e,t){return e+""}),"");this.formatting_=[],this[this.mode_](e,t)}},Ne.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},Ne.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},Ne.prototype.shiftRowsUp_=function(){var e;for(e=0;et&&(i=-1);Math.abs(t-e)>4294967296;)e+=8589934592*i;return e},ze=function e(t){var i,n;e.prototype.init.call(this),this.type_=t||"shared",this.push=function(e){"shared"!==this.type_&&e.type!==this.type_||(void 0===n&&(n=e.dts),e.dts=He(e.dts,n),e.pts=He(e.pts,n),i=e.dts,this.trigger("data",e))},this.flush=function(){n=i,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")},this.discontinuity=function(){n=void 0,i=void 0},this.reset=function(){this.discontinuity(),this.trigger("reset")}};ze.prototype=new V;var Ge,We=ze,Ye=He,qe=function(e,t,i){var n,r="";for(n=t;n>>2;h*=4,h+=3&l[7],o.timeStamp=h,void 0===t.pts&&void 0===t.dts&&(t.pts=o.timeStamp,t.dts=o.timeStamp),this.trigger("timestamp",o)}t.frames.push(o),i+=10,i+=s}while(i>>4>1&&(n+=t[n]+1),0===i.pid)i.type="pat",e(t.subarray(n),i),this.trigger("data",i);else if(i.pid===this.pmtPid)for(i.type="pmt",e(t.subarray(n),i),this.trigger("data",i);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else void 0===this.programMapTable?this.packetsWaitingForPmt.push([t,n,i]):this.processPes_(t,n,i)},this.processPes_=function(e,t,i){i.pid===this.programMapTable.video?i.streamType=Ve.H264_STREAM_TYPE:i.pid===this.programMapTable.audio?i.streamType=Ve.ADTS_STREAM_TYPE:i.streamType=this.programMapTable["timed-metadata"][i.pid],i.type="pes",i.data=e.subarray(t),this.trigger("data",i)}}).prototype=new V,Je.STREAM_TYPES={h264:27,adts:15},(Ze=function(){var e,t=this,i=!1,n={data:[],size:0},r={data:[],size:0},a={data:[],size:0},s=function(e,i,n){var r,a,s=new Uint8Array(e.size),o={type:i},u=0,l=0;if(e.data.length&&!(e.size<9)){for(o.trackId=e.data[0].pid,u=0;u>>3,d.pts*=4,d.pts+=(6&h[13])>>>1,d.dts=d.pts,64&c&&(d.dts=(14&h[14])<<27|(255&h[15])<<20|(254&h[16])<<12|(255&h[17])<<5|(254&h[18])>>>3,d.dts*=4,d.dts+=(6&h[18])>>>1)),d.data=h.subarray(9+h[8])),r="video"===i||o.packetLength<=e.size,(n||r)&&(e.size=0,e.data.length=0),r&&t.trigger("data",o)}};Ze.prototype.init.call(this),this.push=function(o){({pat:function(){},pes:function(){var e,t;switch(o.streamType){case Ve.H264_STREAM_TYPE:e=n,t="video";break;case Ve.ADTS_STREAM_TYPE:e=r,t="audio";break;case Ve.METADATA_STREAM_TYPE:e=a,t="timed-metadata";break;default:return}o.payloadUnitStartIndicator&&s(e,t,!0),e.data.push(o),e.size+=o.data.byteLength},pmt:function(){var n={type:"metadata",tracks:[]};null!==(e=o.programMapTable).video&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.video,codec:"avc",type:"video"}),null!==e.audio&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.audio,codec:"adts",type:"audio"}),i=!0,t.trigger("data",n)}})[o.type]()},this.reset=function(){n.size=0,n.data.length=0,r.size=0,r.data.length=0,this.trigger("reset")},this.flushStreams_=function(){s(n,"video"),s(r,"audio"),s(a,"timed-metadata")},this.flush=function(){if(!i&&e){var n={type:"metadata",tracks:[]};null!==e.video&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.video,codec:"avc",type:"video"}),null!==e.audio&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.audio,codec:"adts",type:"audio"}),t.trigger("data",n)}i=!1,this.flushStreams_(),this.trigger("done")}}).prototype=new V;var it={PAT_PID:0,MP2T_PACKET_LENGTH:188,TransportPacketStream:$e,TransportParseStream:Je,ElementaryStream:Ze,TimestampRolloverStream:tt,CaptionStream:je.CaptionStream,Cea608Stream:je.Cea608Stream,Cea708Stream:je.Cea708Stream,MetadataStream:et};for(var nt in Ve)Ve.hasOwnProperty(nt)&&(it[nt]=Ve[nt]);var rt,at=it,st=he,ot=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];(rt=function(e){var t,i=0;rt.prototype.init.call(this),this.skipWarn_=function(e,t){this.trigger("log",{level:"warn",message:"adts skiping bytes "+e+" to "+t+" in frame "+i+" outside syncword"})},this.push=function(n){var r,a,s,o,u,l=0;if(e||(i=0),"audio"===n.type){var h;for(t&&t.length?(s=t,(t=new Uint8Array(s.byteLength+n.data.byteLength)).set(s),t.set(n.data,s.byteLength)):t=n.data;l+7>5,u=(o=1024*(1+(3&t[l+6])))*st/ot[(60&t[l+2])>>>2],t.byteLength-l>>6&3),channelcount:(1&t[l+2])<<2|(192&t[l+3])>>>6,samplerate:ot[(60&t[l+2])>>>2],samplingfrequencyindex:(60&t[l+2])>>>2,samplesize:16,data:t.subarray(l+7+a,l+r)}),i++,l+=r}else"number"!=typeof h&&(h=l),l++;"number"==typeof h&&(this.skipWarn_(h,l),h=null),t=t.subarray(l)}},this.flush=function(){i=0,this.trigger("done")},this.reset=function(){t=void 0,this.trigger("reset")},this.endTimeline=function(){t=void 0,this.trigger("endedtimeline")}}).prototype=new V;var ut,lt,ht,dt=rt,ct=function(e){var t=e.byteLength,i=0,n=0;this.length=function(){return 8*t},this.bitsAvailable=function(){return 8*t+n},this.loadWord=function(){var r=e.byteLength-t,a=new Uint8Array(4),s=Math.min(4,t);if(0===s)throw new Error("no bytes available");a.set(e.subarray(r,r+s)),i=new DataView(a.buffer).getUint32(0),n=8*s,t-=s},this.skipBits=function(e){var r;n>e?(i<<=e,n-=e):(e-=n,e-=8*(r=Math.floor(e/8)),t-=r,this.loadWord(),i<<=e,n-=e)},this.readBits=function(e){var r=Math.min(n,e),a=i>>>32-r;return(n-=r)>0?i<<=r:t>0&&this.loadWord(),(r=e-r)>0?a<>>e))return i<<=e,n-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return 1===this.readBits(1)},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()};(lt=function(){var e,t,i=0;lt.prototype.init.call(this),this.push=function(n){var r;t?((r=new Uint8Array(t.byteLength+n.data.byteLength)).set(t),r.set(n.data,t.byteLength),t=r):t=n.data;for(var a=t.byteLength;i3&&this.trigger("data",t.subarray(i+3)),t=null,i=0,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")}}).prototype=new V,ht={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},(ut=function(){var e,t,i,n,r,a,s,o=new lt;ut.prototype.init.call(this),e=this,this.push=function(e){"video"===e.type&&(t=e.trackId,i=e.pts,n=e.dts,o.push(e))},o.on("data",(function(s){var o={trackId:t,pts:i,dts:n,data:s,nalUnitTypeCode:31&s[0]};switch(o.nalUnitTypeCode){case 5:o.nalUnitType="slice_layer_without_partitioning_rbsp_idr";break;case 6:o.nalUnitType="sei_rbsp",o.escapedRBSP=r(s.subarray(1));break;case 7:o.nalUnitType="seq_parameter_set_rbsp",o.escapedRBSP=r(s.subarray(1)),o.config=a(o.escapedRBSP);break;case 8:o.nalUnitType="pic_parameter_set_rbsp";break;case 9:o.nalUnitType="access_unit_delimiter_rbsp"}e.trigger("data",o)})),o.on("done",(function(){e.trigger("done")})),o.on("partialdone",(function(){e.trigger("partialdone")})),o.on("reset",(function(){e.trigger("reset")})),o.on("endedtimeline",(function(){e.trigger("endedtimeline")})),this.flush=function(){o.flush()},this.partialFlush=function(){o.partialFlush()},this.reset=function(){o.reset()},this.endTimeline=function(){o.endTimeline()},s=function(e,t){var i,n=8,r=8;for(i=0;i=0?i:0,(16&e[t+5])>>4?i+20:i+10},gt=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},vt={isLikelyAacData:function(e){var t=function e(t,i){return t.length-i<10||t[i]!=="I".charCodeAt(0)||t[i+1]!=="D".charCodeAt(0)||t[i+2]!=="3".charCodeAt(0)?i:e(t,i+=_t(t,i))}(e,0);return e.length>=t+2&&255==(255&e[t])&&240==(240&e[t+1])&&16==(22&e[t+1])},parseId3TagSize:_t,parseAdtsSize:function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i},parseType:function(e,t){return e[t]==="I".charCodeAt(0)&&e[t+1]==="D".charCodeAt(0)&&e[t+2]==="3".charCodeAt(0)?"timed-metadata":!0&e[t]&&240==(240&e[t+1])?"audio":null},parseSampleRate:function(e){for(var t=0;t+5>>2];t++}return null},parseAacTimestamp:function(e){var t,i,n;t=10,64&e[5]&&(t+=4,t+=gt(e.subarray(10,14)));do{if((i=gt(e.subarray(t+4,t+8)))<1)return null;if("PRIV"===String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])){n=e.subarray(t+10,t+i+10);for(var r=0;r>>2;return s*=4,s+=3&a[7]}break}}t+=10,t+=i}while(t=3;)if(e[u]!=="I".charCodeAt(0)||e[u+1]!=="D".charCodeAt(0)||e[u+2]!=="3".charCodeAt(0))if(255!=(255&e[u])||240!=(240&e[u+1]))u++;else{if(e.length-u<7)break;if(u+(o=vt.parseAdtsSize(e,u))>e.length)break;a={type:"audio",data:e.subarray(u,u+o),pts:t,dts:t},this.trigger("data",a),u+=o}else{if(e.length-u<10)break;if(u+(o=vt.parseId3TagSize(e,u))>e.length)break;r={type:"timed-metadata",data:e.subarray(u,u+o)},this.trigger("data",r),u+=o}n=e.length-u,e=n>0?e.subarray(u):new Uint8Array},this.reset=function(){e=new Uint8Array,this.trigger("reset")},this.endTimeline=function(){e=new Uint8Array,this.trigger("endedtimeline")}}).prototype=new V;var yt,bt,St,Tt,Et=ft,wt=["audioobjecttype","channelcount","samplerate","samplingfrequencyindex","samplesize"],At=["width","height","profileIdc","levelIdc","profileCompatibility","sarRatio"],Ct=pt.H264Stream,kt=vt.isLikelyAacData,Pt=he,It=function(e,t){var i;if(e.length!==t.length)return!1;for(i=0;i=-1e4&&i<=45e3&&(!n||o>i)&&(n=a,o=i));return n?n.gop:null},this.alignGopsAtStart_=function(e){var t,i,n,r,a,o,u,l;for(a=e.byteLength,o=e.nalCount,u=e.duration,t=i=0;tn.pts?t++:(i++,a-=r.byteLength,o-=r.nalCount,u-=r.duration);return 0===i?e:i===e.length?null:((l=e.slice(i)).byteLength=a,l.duration=u,l.nalCount=o,l.pts=l[0].pts,l.dts=l[0].dts,l)},this.alignGopsAtEnd_=function(e){var t,i,n,r,a,o,u;for(t=s.length-1,i=e.length-1,a=null,o=!1;t>=0&&i>=0;){if(n=s[t],r=e[i],n.pts===r.pts){o=!0;break}n.pts>r.pts?t--:(t===s.length-1&&(a=i),i--)}if(!o&&null===a)return null;if(0===(u=o?i:a))return e;var l=e.slice(u),h=l.reduce((function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e}),{byteLength:0,duration:0,nalCount:0});return l.byteLength=h.byteLength,l.duration=h.duration,l.nalCount=h.nalCount,l.pts=l[0].pts,l.dts=l[0].dts,l},this.alignGopsWith=function(e){s=e}}).prototype=new V,(Tt=function(e,t){this.numberOfTracks=0,this.metadataStream=t,void 0!==(e=e||{}).remux?this.remuxTracks=!!e.remux:this.remuxTracks=!0,"boolean"==typeof e.keepOriginalTimestamps?this.keepOriginalTimestamps=e.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,Tt.prototype.init.call(this),this.push=function(e){return e.text?this.pendingCaptions.push(e):e.frames?this.pendingMetadata.push(e):(this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,"video"===e.track.type&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),void("audio"===e.track.type&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))))}}).prototype=new V,Tt.prototype.flush=function(e){var t,i,n,r,a=0,s={captions:[],captionStreams:{},metadata:[],info:{}},o=0;if(this.pendingTracks.length=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0))}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,At.forEach((function(e){s.info[e]=this.videoTrack[e]}),this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,wt.forEach((function(e){s.info[e]=this.audioTrack[e]}),this)),this.videoTrack||this.audioTrack){for(1===this.pendingTracks.length?s.type=this.pendingTracks[0].type:s.type="combined",this.emittedTracks+=this.pendingTracks.length,n=Z(this.pendingTracks),s.initSegment=new Uint8Array(n.byteLength),s.initSegment.set(n),s.data=new Uint8Array(this.pendingBytes),r=0;r=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0)},Tt.prototype.setRemux=function(e){this.remuxTracks=e},(St=function(e){var t,i,n=this,r=!0;St.prototype.init.call(this),e=e||{},this.baseMediaDecodeTime=e.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var r={};this.transmuxPipeline_=r,r.type="aac",r.metadataStream=new at.MetadataStream,r.aacStream=new Et,r.audioTimestampRolloverStream=new at.TimestampRolloverStream("audio"),r.timedMetadataTimestampRolloverStream=new at.TimestampRolloverStream("timed-metadata"),r.adtsStream=new dt,r.coalesceStream=new Tt(e,r.metadataStream),r.headOfPipeline=r.aacStream,r.aacStream.pipe(r.audioTimestampRolloverStream).pipe(r.adtsStream),r.aacStream.pipe(r.timedMetadataTimestampRolloverStream).pipe(r.metadataStream).pipe(r.coalesceStream),r.metadataStream.on("timestamp",(function(e){r.aacStream.setTimestamp(e.timeStamp)})),r.aacStream.on("data",(function(a){"timed-metadata"!==a.type&&"audio"!==a.type||r.audioSegmentStream||(i=i||{timelineStartInfo:{baseMediaDecodeTime:n.baseMediaDecodeTime},codec:"adts",type:"audio"},r.coalesceStream.numberOfTracks++,r.audioSegmentStream=new bt(i,e),r.audioSegmentStream.on("log",n.getLogTrigger_("audioSegmentStream")),r.audioSegmentStream.on("timingInfo",n.trigger.bind(n,"audioTimingInfo")),r.adtsStream.pipe(r.audioSegmentStream).pipe(r.coalesceStream),n.trigger("trackinfo",{hasAudio:!!i,hasVideo:!!t}))})),r.coalesceStream.on("data",this.trigger.bind(this,"data")),r.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setupTsPipeline=function(){var r={};this.transmuxPipeline_=r,r.type="ts",r.metadataStream=new at.MetadataStream,r.packetStream=new at.TransportPacketStream,r.parseStream=new at.TransportParseStream,r.elementaryStream=new at.ElementaryStream,r.timestampRolloverStream=new at.TimestampRolloverStream,r.adtsStream=new dt,r.h264Stream=new Ct,r.captionStream=new at.CaptionStream(e),r.coalesceStream=new Tt(e,r.metadataStream),r.headOfPipeline=r.packetStream,r.packetStream.pipe(r.parseStream).pipe(r.elementaryStream).pipe(r.timestampRolloverStream),r.timestampRolloverStream.pipe(r.h264Stream),r.timestampRolloverStream.pipe(r.adtsStream),r.timestampRolloverStream.pipe(r.metadataStream).pipe(r.coalesceStream),r.h264Stream.pipe(r.captionStream).pipe(r.coalesceStream),r.elementaryStream.on("data",(function(a){var s;if("metadata"===a.type){for(s=a.tracks.length;s--;)t||"video"!==a.tracks[s].type?i||"audio"!==a.tracks[s].type||((i=a.tracks[s]).timelineStartInfo.baseMediaDecodeTime=n.baseMediaDecodeTime):(t=a.tracks[s]).timelineStartInfo.baseMediaDecodeTime=n.baseMediaDecodeTime;t&&!r.videoSegmentStream&&(r.coalesceStream.numberOfTracks++,r.videoSegmentStream=new yt(t,e),r.videoSegmentStream.on("log",n.getLogTrigger_("videoSegmentStream")),r.videoSegmentStream.on("timelineStartInfo",(function(t){i&&!e.keepOriginalTimestamps&&(i.timelineStartInfo=t,r.audioSegmentStream.setEarliestDts(t.dts-n.baseMediaDecodeTime))})),r.videoSegmentStream.on("processedGopsInfo",n.trigger.bind(n,"gopInfo")),r.videoSegmentStream.on("segmentTimingInfo",n.trigger.bind(n,"videoSegmentTimingInfo")),r.videoSegmentStream.on("baseMediaDecodeTime",(function(e){i&&r.audioSegmentStream.setVideoBaseMediaDecodeTime(e)})),r.videoSegmentStream.on("timingInfo",n.trigger.bind(n,"videoTimingInfo")),r.h264Stream.pipe(r.videoSegmentStream).pipe(r.coalesceStream)),i&&!r.audioSegmentStream&&(r.coalesceStream.numberOfTracks++,r.audioSegmentStream=new bt(i,e),r.audioSegmentStream.on("log",n.getLogTrigger_("audioSegmentStream")),r.audioSegmentStream.on("timingInfo",n.trigger.bind(n,"audioTimingInfo")),r.audioSegmentStream.on("segmentTimingInfo",n.trigger.bind(n,"audioSegmentTimingInfo")),r.adtsStream.pipe(r.audioSegmentStream).pipe(r.coalesceStream)),n.trigger("trackinfo",{hasAudio:!!i,hasVideo:!!t})}})),r.coalesceStream.on("data",this.trigger.bind(this,"data")),r.coalesceStream.on("id3Frame",(function(e){e.dispatchType=r.metadataStream.dispatchType,n.trigger("id3Frame",e)})),r.coalesceStream.on("caption",this.trigger.bind(this,"caption")),r.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setBaseMediaDecodeTime=function(n){var r=this.transmuxPipeline_;e.keepOriginalTimestamps||(this.baseMediaDecodeTime=n),i&&(i.timelineStartInfo.dts=void 0,i.timelineStartInfo.pts=void 0,Se(i),r.audioTimestampRolloverStream&&r.audioTimestampRolloverStream.discontinuity()),t&&(r.videoSegmentStream&&(r.videoSegmentStream.gopCache_=[]),t.timelineStartInfo.dts=void 0,t.timelineStartInfo.pts=void 0,Se(t),r.captionStream.reset()),r.timestampRolloverStream&&r.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){i&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(t){var i=this.transmuxPipeline_;e.remux=t,i&&i.coalesceStream&&i.coalesceStream.setRemux(t)},this.alignGopsWith=function(e){t&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.getLogTrigger_=function(e){var t=this;return function(i){i.stream=e,t.trigger("log",i)}},this.push=function(e){if(r){var t=kt(e);if(t&&"aac"!==this.transmuxPipeline_.type?this.setupAacPipeline():t||"ts"===this.transmuxPipeline_.type||this.setupTsPipeline(),this.transmuxPipeline_)for(var i=Object.keys(this.transmuxPipeline_),n=0;n>>0},Mt=function(e){var t="";return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3])},Ft=Ut,Bt=function e(t,i){var n,r,a,s,o,u=[];if(!i.length)return null;for(n=0;n1?n+r:t.byteLength,a===i[0]&&(1===i.length?u.push(t.subarray(n+8,s)):(o=e(t.subarray(n+8,s),i.slice(1))).length&&(u=u.concat(o))),n=s;return u},Nt=Ut,jt=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),baseMediaDecodeTime:Nt(e[4]<<24|e[5]<<16|e[6]<<8|e[7])};return 1===t.version&&(t.baseMediaDecodeTime*=Math.pow(2,32),t.baseMediaDecodeTime+=Nt(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),t},Vt=function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}},Ht=function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=1&i.flags[2],a=4&i.flags[2],s=1&i.flags[1],o=2&i.flags[1],u=4&i.flags[1],l=8&i.flags[1],h=n.getUint32(4),d=8;for(r&&(i.dataOffset=n.getInt32(d),d+=4),a&&h&&(t={flags:Vt(e.subarray(d,d+4))},d+=4,s&&(t.duration=n.getUint32(d),d+=4),o&&(t.size=n.getUint32(d),d+=4),l&&(1===i.version?t.compositionTimeOffset=n.getInt32(d):t.compositionTimeOffset=n.getUint32(d),d+=4),i.samples.push(t),h--);h--;)t={},s&&(t.duration=n.getUint32(d),d+=4),o&&(t.size=n.getUint32(d),d+=4),u&&(t.flags=Vt(e.subarray(d,d+4)),d+=4),l&&(1===i.version?t.compositionTimeOffset=n.getInt32(d):t.compositionTimeOffset=n.getUint32(d),d+=4),i.samples.push(t);return i},zt=function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:i.getUint32(4)},r=1&n.flags[2],a=2&n.flags[2],s=8&n.flags[2],o=16&n.flags[2],u=32&n.flags[2],l=65536&n.flags[0],h=131072&n.flags[0];return t=8,r&&(t+=4,n.baseDataOffset=i.getUint32(12),t+=4),a&&(n.sampleDescriptionIndex=i.getUint32(t),t+=4),s&&(n.defaultSampleDuration=i.getUint32(t),t+=4),o&&(n.defaultSampleSize=i.getUint32(t),t+=4),u&&(n.defaultSampleFlags=i.getUint32(t)),l&&(n.durationIsEmpty=!0),!r&&h&&(n.baseDataOffsetIsMoof=!0),n},Gt=ke,Wt=je.CaptionStream,Yt=function(e,t){for(var i=e,n=0;n0?jt(l[0]).baseMediaDecodeTime:0,d=Bt(a,["trun"]);t===u&&d.length>0&&(i=function(e,t,i){var n,r,a,s,o=new DataView(e.buffer,e.byteOffset,e.byteLength),u={logs:[],seiNals:[]};for(r=0;r+40;){var u=t.shift();this.parse(u,a,s)}return(o=function(e,t,i){if(null===t)return null;var n=qt(e,t)[t]||{};return{seiNals:n.seiNals,logs:n.logs,timescale:i}}(e,i,n))&&o.logs&&(r.logs=r.logs.concat(o.logs)),null!==o&&o.seiNals?(this.pushNals(o.seiNals),this.flushStream(),r):r.logs.length?{logs:r.logs,captions:[],captionStreams:[]}:null},this.pushNals=function(t){if(!this.isInitialized()||!t||0===t.length)return null;t.forEach((function(t){e.push(t)}))},this.flushStream=function(){if(!this.isInitialized())return null;a?e.partialFlush():e.flush()},this.clearParsedCaptions=function(){r.captions=[],r.captionStreams={},r.logs=[]},this.resetCaptionStream=function(){if(!this.isInitialized())return null;e.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){t=[],i=null,n=null,r?this.clearParsedCaptions():r={captions:[],captionStreams:{},logs:[]},this.resetCaptionStream()},this.reset()},Xt=Ut,Qt=function(e){return("00"+e.toString(16)).slice(-2)};xt=function(e,t){var i,n,r;return i=Bt(t,["moof","traf"]),n=[].concat.apply([],i.map((function(t){return Bt(t,["tfhd"]).map((function(i){var n,r,a;return n=Xt(i[4]<<24|i[5]<<16|i[6]<<8|i[7]),r=e[n]||9e4,(a="number"!=typeof(a=Bt(t,["tfdt"]).map((function(e){var t,i;return t=e[0],i=Xt(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),1===t&&(i*=Math.pow(2,32),i+=Xt(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),i}))[0])||isNaN(a)?1/0:a)/r}))}))),r=Math.min.apply(null,n),isFinite(r)?r:0},Rt=function(e){var t=Bt(e,["moov","trak"]),i=[];return t.forEach((function(e){var t,n,r={},a=Bt(e,["tkhd"])[0];a&&(n=(t=new DataView(a.buffer,a.byteOffset,a.byteLength)).getUint8(0),r.id=0===n?t.getUint32(12):t.getUint32(20));var s=Bt(e,["mdia","hdlr"])[0];if(s){var o=Mt(s.subarray(8,12));r.type="vide"===o?"video":"soun"===o?"audio":o}var u=Bt(e,["mdia","minf","stbl","stsd"])[0];if(u){var l=u.subarray(8);r.codec=Mt(l.subarray(4,8));var h,d=Bt(l,[r.codec])[0];d&&(/^[a-z]vc[1-9]$/i.test(r.codec)?(h=d.subarray(78),"avcC"===Mt(h.subarray(4,8))&&h.length>11?(r.codec+=".",r.codec+=Qt(h[9]),r.codec+=Qt(h[10]),r.codec+=Qt(h[11])):r.codec="avc1.4d400d"):/^mp4[a,v]$/i.test(r.codec)?(h=d.subarray(28),"esds"===Mt(h.subarray(4,8))&&h.length>20&&0!==h[19]?(r.codec+="."+Qt(h[19]),r.codec+="."+Qt(h[20]>>>2&63).replace(/^0/,"")):r.codec="mp4a.40.2"):r.codec=r.codec.toLowerCase())}var c=Bt(e,["mdia","mdhd"])[0];c&&(r.timescale=Dt(c)),i.push(r)})),i};var $t=xt,Jt=Rt,Zt=(Dt=function(e){var t=0===e[0]?12:20;return Xt(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])},function(e){var t=31&e[1];return t<<=8,t|=e[2]}),ei=function(e){return!!(64&e[1])},ti=function(e){var t=0;return(48&e[3])>>>4>1&&(t+=e[4]+1),t},ii=function(e){switch(e){case 5:return"slice_layer_without_partitioning_rbsp_idr";case 6:return"sei_rbsp";case 7:return"seq_parameter_set_rbsp";case 8:return"pic_parameter_set_rbsp";case 9:return"access_unit_delimiter_rbsp";default:return null}},ni={parseType:function(e,t){var i=Zt(e);return 0===i?"pat":i===t?"pmt":t?"pes":null},parsePat:function(e){var t=ei(e),i=4+ti(e);return t&&(i+=e[i]+1),(31&e[i+10])<<8|e[i+11]},parsePmt:function(e){var t={},i=ei(e),n=4+ti(e);if(i&&(n+=e[n]+1),1&e[n+5]){var r;r=3+((15&e[n+1])<<8|e[n+2])-4;for(var a=12+((15&e[n+10])<<8|e[n+11]);a=e.byteLength)return null;var i,n=null;return 192&(i=e[t+7])&&((n={}).pts=(14&e[t+9])<<27|(255&e[t+10])<<20|(254&e[t+11])<<12|(255&e[t+12])<<5|(254&e[t+13])>>>3,n.pts*=4,n.pts+=(6&e[t+13])>>>1,n.dts=n.pts,64&i&&(n.dts=(14&e[t+14])<<27|(255&e[t+15])<<20|(254&e[t+16])<<12|(255&e[t+17])<<5|(254&e[t+18])>>>3,n.dts*=4,n.dts+=(6&e[t+18])>>>1)),n},videoPacketContainsKeyFrame:function(e){for(var t=4+ti(e),i=e.subarray(t),n=0,r=0,a=!1;r3&&"slice_layer_without_partitioning_rbsp_idr"===ii(31&i[r+3])&&(a=!0),a}},ri=Ye,ai={};ai.ts=ni,ai.aac=vt;var si=he,oi=function(e,t,i){for(var n,r,a,s,o=0,u=188,l=!1;u<=e.byteLength;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o++,u++;else{switch(n=e.subarray(o,u),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"audio"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="audio",i.audio.push(s),l=!0)}if(l)break;o+=188,u+=188}for(o=(u=e.byteLength)-188,l=!1;o>=0;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o--,u--;else{switch(n=e.subarray(o,u),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"audio"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="audio",i.audio.push(s),l=!0)}if(l)break;o-=188,u-=188}},ui=function(e,t,i){for(var n,r,a,s,o,u,l,h=0,d=188,c=!1,f={data:[],size:0};d=0;)if(71!==e[h]||71!==e[d])h--,d--;else{switch(n=e.subarray(h,d),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"video"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="video",i.video.push(s),c=!0)}if(c)break;h-=188,d-=188}},li=function(e){var t={pid:null,table:null},i={};for(var n in function(e,t){for(var i,n=0,r=188;r=3;){switch(ai.aac.parseType(e,o)){case"timed-metadata":if(e.length-o<10){i=!0;break}if((s=ai.aac.parseId3TagSize(e,o))>e.length){i=!0;break}null===a&&(t=e.subarray(o,o+s),a=ai.aac.parseAacTimestamp(t)),o+=s;break;case"audio":if(e.length-o<7){i=!0;break}if((s=ai.aac.parseAdtsSize(e,o))>e.length){i=!0;break}null===r&&(t=e.subarray(o,o+s),r=ai.aac.parseSampleRate(t)),n++,o+=s;break;default:o++}if(i)return null}if(null===r||null===a)return null;var u=si/r;return{audio:[{type:"audio",dts:a,pts:a},{type:"audio",dts:a+1024*n*u,pts:a+1024*n*u}]}}(e):li(e))&&(i.audio||i.video)?(function(e,t){if(e.audio&&e.audio.length){var i=t;(void 0===i||isNaN(i))&&(i=e.audio[0].dts),e.audio.forEach((function(e){e.dts=ri(e.dts,i),e.pts=ri(e.pts,i),e.dtsTime=e.dts/si,e.ptsTime=e.pts/si}))}if(e.video&&e.video.length){var n=t;if((void 0===n||isNaN(n))&&(n=e.video[0].dts),e.video.forEach((function(e){e.dts=ri(e.dts,n),e.pts=ri(e.pts,n),e.dtsTime=e.dts/si,e.ptsTime=e.pts/si})),e.firstKeyFrame){var r=e.firstKeyFrame;r.dts=ri(r.dts,n),r.pts=ri(r.pts,n),r.dtsTime=r.dts/si,r.ptsTime=r.pts/si}}}(i,t),i):null},di=function(){function e(e,t){this.options=t||{},this.self=e,this.init()}var t=e.prototype;return t.init=function(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new Ot.Transmuxer(this.options),function(e,t){t.on("data",(function(t){var i=t.initSegment;t.initSegment={data:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength};var n=t.data;t.data=n.buffer,e.postMessage({action:"data",segment:t,byteOffset:n.byteOffset,byteLength:n.byteLength},[t.data])})),t.on("done",(function(t){e.postMessage({action:"done"})})),t.on("gopInfo",(function(t){e.postMessage({action:"gopInfo",gopInfo:t})})),t.on("videoSegmentTimingInfo",(function(t){var i={start:{decode:ce(t.start.dts),presentation:ce(t.start.pts)},end:{decode:ce(t.end.dts),presentation:ce(t.end.pts)},baseMediaDecodeTime:ce(t.baseMediaDecodeTime)};t.prependedContentDuration&&(i.prependedContentDuration=ce(t.prependedContentDuration)),e.postMessage({action:"videoSegmentTimingInfo",videoSegmentTimingInfo:i})})),t.on("audioSegmentTimingInfo",(function(t){var i={start:{decode:ce(t.start.dts),presentation:ce(t.start.pts)},end:{decode:ce(t.end.dts),presentation:ce(t.end.pts)},baseMediaDecodeTime:ce(t.baseMediaDecodeTime)};t.prependedContentDuration&&(i.prependedContentDuration=ce(t.prependedContentDuration)),e.postMessage({action:"audioSegmentTimingInfo",audioSegmentTimingInfo:i})})),t.on("id3Frame",(function(t){e.postMessage({action:"id3Frame",id3Frame:t})})),t.on("caption",(function(t){e.postMessage({action:"caption",caption:t})})),t.on("trackinfo",(function(t){e.postMessage({action:"trackinfo",trackInfo:t})})),t.on("audioTimingInfo",(function(t){e.postMessage({action:"audioTimingInfo",audioTimingInfo:{start:ce(t.start),end:ce(t.end)}})})),t.on("videoTimingInfo",(function(t){e.postMessage({action:"videoTimingInfo",videoTimingInfo:{start:ce(t.start),end:ce(t.end)}})})),t.on("log",(function(t){e.postMessage({action:"log",log:t})}))}(this.self,this.transmuxer)},t.pushMp4Captions=function(e){this.captionParser||(this.captionParser=new Kt,this.captionParser.init());var t=new Uint8Array(e.data,e.byteOffset,e.byteLength),i=this.captionParser.parse(t,e.trackIds,e.timescales);this.self.postMessage({action:"mp4Captions",captions:i&&i.captions||[],logs:i&&i.logs||[],data:t.buffer},[t.buffer])},t.probeMp4StartTime=function(e){var t=e.timescales,i=e.data,n=$t(t,i);this.self.postMessage({action:"probeMp4StartTime",startTime:n,data:i},[i.buffer])},t.probeMp4Tracks=function(e){var t=e.data,i=Jt(t);this.self.postMessage({action:"probeMp4Tracks",tracks:i,data:t},[t.buffer])},t.probeTs=function(e){var t=e.data,i=e.baseStartTime,n="number"!=typeof i||isNaN(i)?void 0:i*he,r=hi(t,n),a=null;r&&((a={hasVideo:r.video&&2===r.video.length||!1,hasAudio:r.audio&&2===r.audio.length||!1}).hasVideo&&(a.videoStart=r.video[0].ptsTime),a.hasAudio&&(a.audioStart=r.audio[0].ptsTime)),this.self.postMessage({action:"probeTs",result:a,data:t},[t.buffer])},t.clearAllMp4Captions=function(){this.captionParser&&this.captionParser.clearAllCaptions()},t.clearParsedMp4Captions=function(){this.captionParser&&this.captionParser.clearParsedCaptions()},t.push=function(e){var t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)},t.reset=function(){this.transmuxer.reset()},t.setTimestampOffset=function(e){var t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(de(t)))},t.setAudioAppendStart=function(e){this.transmuxer.setAudioAppendStart(Math.ceil(de(e.appendStart)))},t.setRemux=function(e){this.transmuxer.setRemux(e.remux)},t.flush=function(e){this.transmuxer.flush(),self.postMessage({action:"done",type:"transmuxed"})},t.endTimeline=function(){this.transmuxer.endTimeline(),self.postMessage({action:"endedtimeline",type:"transmuxed"})},t.alignGopsWith=function(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())},e}();self.onmessage=function(e){"init"===e.data.action&&e.data.options?this.messageHandlers=new di(self,e.data.options):(this.messageHandlers||(this.messageHandlers=new di(self)),e.data&&e.data.action&&"init"!==e.data.action&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data))}})))),ls=function(e){var t=e.transmuxer,i=e.bytes,n=e.audioAppendStart,r=e.gopsToAlignWith,a=e.remux,s=e.onData,o=e.onTrackInfo,u=e.onAudioTimingInfo,l=e.onVideoTimingInfo,h=e.onVideoSegmentTimingInfo,d=e.onAudioSegmentTimingInfo,c=e.onId3,f=e.onCaptions,p=e.onDone,m=e.onEndedTimeline,_=e.onTransmuxerLog,g=e.isEndOfTimeline,v={buffer:[]},y=g;if(t.onmessage=function(i){t.currentTransmux===e&&("data"===i.data.action&&function(e,t,i){var n=e.data.segment,r=n.type,a=n.initSegment,s=n.captions,o=n.captionStreams,u=n.metadata,l=n.videoFrameDtsTime,h=n.videoFramePtsTime;t.buffer.push({captions:s,captionStreams:o,metadata:u});var d=e.data.segment.boxes||{data:e.data.segment.data},c={type:r,data:new Uint8Array(d.data,d.data.byteOffset,d.data.byteLength),initSegment:new Uint8Array(a.data,a.byteOffset,a.byteLength)};void 0!==l&&(c.videoFrameDtsTime=l),void 0!==h&&(c.videoFramePtsTime=h),i(c)}(i,v,s),"trackinfo"===i.data.action&&o(i.data.trackInfo),"gopInfo"===i.data.action&&function(e,t){t.gopInfo=e.data.gopInfo}(i,v),"audioTimingInfo"===i.data.action&&u(i.data.audioTimingInfo),"videoTimingInfo"===i.data.action&&l(i.data.videoTimingInfo),"videoSegmentTimingInfo"===i.data.action&&h(i.data.videoSegmentTimingInfo),"audioSegmentTimingInfo"===i.data.action&&d(i.data.audioSegmentTimingInfo),"id3Frame"===i.data.action&&c([i.data.id3Frame],i.data.id3Frame.dispatchType),"caption"===i.data.action&&f(i.data.caption),"endedtimeline"===i.data.action&&(y=!1,m()),"log"===i.data.action&&_(i.data.log),"transmuxed"===i.data.type&&(y||(t.onmessage=null,function(e){var t=e.transmuxedData,i=e.callback;t.buffer=[],i(t)}({transmuxedData:v,callback:p}),hs(t))))},n&&t.postMessage({action:"setAudioAppendStart",appendStart:n}),Array.isArray(r)&&t.postMessage({action:"alignGopsWith",gopsToAlignWith:r}),void 0!==a&&t.postMessage({action:"setRemux",remux:a}),i.byteLength){var b=i instanceof ArrayBuffer?i:i.buffer,S=i instanceof ArrayBuffer?0:i.byteOffset;t.postMessage({action:"push",data:b,byteOffset:S,byteLength:i.byteLength},[b])}g&&t.postMessage({action:"endTimeline"}),t.postMessage({action:"flush"})},hs=function(e){e.currentTransmux=null,e.transmuxQueue.length&&(e.currentTransmux=e.transmuxQueue.shift(),"function"==typeof e.currentTransmux?e.currentTransmux():ls(e.currentTransmux))},ds=function(e,t){e.postMessage({action:t}),hs(e)},cs=function(e,t){if(!t.currentTransmux)return t.currentTransmux=e,void ds(t,e);t.transmuxQueue.push(ds.bind(null,t,e))},fs=function(e){if(!e.transmuxer.currentTransmux)return e.transmuxer.currentTransmux=e,void ls(e);e.transmuxer.transmuxQueue.push(e)},ps=function(e){cs("reset",e)},ms=function(e){var t=new us;t.currentTransmux=null,t.transmuxQueue=[];var i=t.terminate;return t.terminate=function(){return t.currentTransmux=null,t.transmuxQueue.length=0,i.call(t)},t.postMessage({action:"init",options:e}),t},_s=function(e){var t=e.transmuxer,i=e.endAction||e.action,n=e.callback,r=P.default({},e,{endAction:null,transmuxer:null,callback:null});if(t.addEventListener("message",(function r(a){a.data.action===i&&(t.removeEventListener("message",r),a.data.data&&(a.data.data=new Uint8Array(a.data.data,e.byteOffset||0,e.byteLength||a.data.data.byteLength),e.data&&(e.data=a.data.data)),n(a.data))})),e.data){var a=e.data instanceof ArrayBuffer;r.byteOffset=a?0:e.data.byteOffset,r.byteLength=e.data.byteLength;var s=[a?e.data:e.data.buffer];t.postMessage(r,s)}else t.postMessage(r)},gs=2,vs=-101,ys=-102,bs=function(e){e.forEach((function(e){e.abort()}))},Ss=function(e,t){return t.timedout?{status:t.status,message:"HLS request timed-out at URL: "+t.uri,code:vs,xhr:t}:t.aborted?{status:t.status,message:"HLS request aborted at URL: "+t.uri,code:ys,xhr:t}:e?{status:t.status,message:"HLS request errored at URL: "+t.uri,code:gs,xhr:t}:"arraybuffer"===t.responseType&&0===t.response.byteLength?{status:t.status,message:"Empty HLS response at URL: "+t.uri,code:gs,xhr:t}:null},Ts=function(e,t,i){return function(n,r){var a=r.response,s=Ss(n,r);if(s)return i(s,e);if(16!==a.byteLength)return i({status:r.status,message:"Invalid HLS key at URL: "+r.uri,code:gs,xhr:r},e);for(var o=new DataView(a),u=new Uint32Array([o.getUint32(0),o.getUint32(4),o.getUint32(8),o.getUint32(12)]),l=0;l1)return xs("multiple "+e+" codecs found as attributes: "+t[e].join(", ")+". Setting playlist codecs to null so that we wait for mux.js to probe segments for real codecs."),void(t[e]=null);t[e]=t[e][0]})),t},Os=function(e){var t=0;return e.audio&&t++,e.video&&t++,t},Us=function(e,t){var i=t.attributes||{},n=Ds(function(e){var t=e.attributes||{};if(t.CODECS)return _.parseCodecs(t.CODECS)}(t)||[]);if(Rs(e,t)&&!n.audio&&!function(e,t){if(!Rs(e,t))return!0;var i=t.attributes||{},n=e.mediaGroups.AUDIO[i.AUDIO];for(var r in n)if(!n[r].uri&&!n[r].playlists)return!0;return!1}(e,t)){var r=Ds(_.codecsFromDefault(e,i.AUDIO)||[]);r.audio&&(n.audio=r.audio)}return n},Ms=$r("PlaylistSelector"),Fs=function(e){if(e&&e.playlist){var t=e.playlist;return JSON.stringify({id:t.id,bandwidth:e.bandwidth,width:e.width,height:e.height,codecs:t.attributes&&t.attributes.CODECS||""})}},Bs=function(e,t){if(!e)return"";var i=C.default.getComputedStyle(e);return i?i[t]:""},Ns=function(e,t){var i=e.slice();e.sort((function(e,n){var r=t(e,n);return 0===r?i.indexOf(e)-i.indexOf(n):r}))},js=function(e,t){var i,n;return e.attributes.BANDWIDTH&&(i=e.attributes.BANDWIDTH),i=i||C.default.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(n=t.attributes.BANDWIDTH),i-(n=n||C.default.Number.MAX_VALUE)},Vs=function(e,t,i,n,r,a){if(e){var s={bandwidth:t,width:i,height:n,limitRenditionByPlayerDimensions:r},o=e.playlists;Sa.isAudioOnly(e)&&(o=a.getAudioTrackPlaylists_(),s.audioOnly=!0);var u=o.map((function(e){var t=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,i=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height;return{bandwidth:e.attributes&&e.attributes.BANDWIDTH||C.default.Number.MAX_VALUE,width:t,height:i,playlist:e}}));Ns(u,(function(e,t){return e.bandwidth-t.bandwidth}));var l=(u=u.filter((function(e){return!Sa.isIncompatible(e.playlist)}))).filter((function(e){return Sa.isEnabled(e.playlist)}));l.length||(l=u.filter((function(e){return!Sa.isDisabled(e.playlist)})));var h=l.filter((function(e){return e.bandwidth*ns.BANDWIDTH_VARIANCEi||e.height>n}))).filter((function(e){return e.width===g[0].width&&e.height===g[0].height})),d=v[v.length-1],y=v.filter((function(e){return e.bandwidth===d.bandwidth}))[0]),a.experimentalLeastPixelDiffSelector){var T=m.map((function(e){return e.pixelDiff=Math.abs(e.width-i)+Math.abs(e.height-n),e}));Ns(T,(function(e,t){return e.pixelDiff===t.pixelDiff?t.bandwidth-e.bandwidth:e.pixelDiff-t.pixelDiff})),b=T[0]}var E=b||y||S||c||l[0]||u[0];if(E&&E.playlist){var w="sortedPlaylistReps";return b?w="leastPixelDiffRep":y?w="resolutionPlusOneRep":S?w="resolutionBestRep":c?w="bandwidthBestRep":l[0]&&(w="enabledPlaylistReps"),Ms("choosing "+Fs(E)+" using "+w+" with options",s),E.playlist}return Ms("could not choose a playlist with options",s),null}},Hs=function(){var e=this.useDevicePixelRatio&&C.default.devicePixelRatio||1;return Vs(this.playlists.master,this.systemBandwidth,parseInt(Bs(this.tech_.el(),"width"),10)*e,parseInt(Bs(this.tech_.el(),"height"),10)*e,this.limitRenditionByPlayerDimensions,this.masterPlaylistController_)},zs=function(e){var t=e.inbandTextTracks,i=e.metadataArray,n=e.timestampOffset,r=e.videoDuration;if(i){var a=C.default.WebKitDataCue||C.default.VTTCue,s=t.metadataTrack_;if(s&&(i.forEach((function(e){var t=e.cueTime+n;!("number"!=typeof t||C.default.isNaN(t)||t<0)&&t<1/0&&e.frames.forEach((function(e){var i=new a(t,t,e.value||e.url||e.data||"");i.frame=e,i.value=e,function(e){Object.defineProperties(e.frame,{id:{get:function(){return Yr.log.warn("cue.frame.id is deprecated. Use cue.value.key instead."),e.value.key}},value:{get:function(){return Yr.log.warn("cue.frame.value is deprecated. Use cue.value.data instead."),e.value.data}},privateData:{get:function(){return Yr.log.warn("cue.frame.privateData is deprecated. Use cue.value.data instead."),e.value.data}}})}(i),s.addCue(i)}))})),s.cues&&s.cues.length)){for(var o=s.cues,u=[],l=0;l=e&&r.endTime<=t&&i.removeCue(r)},Ws=function(e){return"number"==typeof e&&isFinite(e)},Ys=function(e){var t=e.startOfSegment,i=e.duration,n=e.segment,r=e.part,a=e.playlist,s=a.mediaSequence,o=a.id,u=a.segments,l=void 0===u?[]:u,h=e.mediaIndex,d=e.partIndex,c=e.timeline,f=l.length-1,p="mediaIndex/partIndex increment";e.getMediaInfoForTime?p="getMediaInfoForTime ("+e.getMediaInfoForTime+")":e.isSyncRequest&&(p="getSyncSegmentCandidate (isSyncRequest)");var m="number"==typeof d,_=e.segment.uri?"segment":"pre-segment",g=m?oa({preloadSegment:n})-1:0;return _+" ["+(s+h)+"/"+(s+f)+"]"+(m?" part ["+d+"/"+g+"]":"")+" segment start/end ["+n.start+" => "+n.end+"]"+(m?" part start/end ["+r.start+" => "+r.end+"]":"")+" startOfSegment ["+t+"] duration ["+i+"] timeline ["+c+"] selected by ["+p+"] playlist ["+o+"]"},qs=function(e){return e+"TimingInfo"},Ks=function(e){var t=e.timelineChangeController,i=e.currentTimeline,n=e.segmentTimeline,r=e.loaderType,a=e.audioDisabled;if(i===n)return!1;if("audio"===r){var s=t.lastTimelineChange({type:"main"});return!s||s.to!==n}if("main"===r&&a){var o=t.pendingTimelineChange({type:"audio"});return!o||o.to!==n}return!1},Xs=function(e){var t=e.segmentDuration,i=e.maxDuration;return!!t&&Math.round(t)>i+1/30},Qs=function(e,t){if("hls"!==t)return null;var i,n,r,a,s=(i=e.audioTimingInfo,n=e.videoTimingInfo,r=i&&"number"==typeof i.start&&"number"==typeof i.end?i.end-i.start:0,a=n&&"number"==typeof n.start&&"number"==typeof n.end?n.end-n.start:0,Math.max(r,a));if(!s)return null;var o=e.playlist.targetDuration,u=Xs({segmentDuration:s,maxDuration:2*o}),l=Xs({segmentDuration:s,maxDuration:o}),h="Segment with index "+e.mediaIndex+" from playlist "+e.playlist.id+" has a duration of "+s+" when the reported duration is "+e.duration+" and the target duration is "+o+". For HLS content, a duration in excess of the target duration may result in playback issues. See the HLS specification section on EXT-X-TARGETDURATION for more details: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.3.1";return u||l?{severity:u?"warn":"info",message:h}:null},$s=function(e){function t(t,i){var n;if(n=e.call(this)||this,!t)throw new TypeError("Initialization settings are required");if("function"!=typeof t.currentTime)throw new TypeError("No currentTime getter specified");if(!t.mediaSource)throw new TypeError("No MediaSource specified");return n.bandwidth=t.bandwidth,n.throughput={rate:0,count:0},n.roundTrip=NaN,n.resetStats_(),n.mediaIndex=null,n.partIndex=null,n.hasPlayed_=t.hasPlayed,n.currentTime_=t.currentTime,n.seekable_=t.seekable,n.seeking_=t.seeking,n.duration_=t.duration,n.mediaSource_=t.mediaSource,n.vhs_=t.vhs,n.loaderType_=t.loaderType,n.currentMediaInfo_=void 0,n.startingMediaInfo_=void 0,n.segmentMetadataTrack_=t.segmentMetadataTrack,n.goalBufferLength_=t.goalBufferLength,n.sourceType_=t.sourceType,n.sourceUpdater_=t.sourceUpdater,n.inbandTextTracks_=t.inbandTextTracks,n.state_="INIT",n.timelineChangeController_=t.timelineChangeController,n.shouldSaveSegmentTimingInfo_=!0,n.parse708captions_=t.parse708captions,n.experimentalExactManifestTimings=t.experimentalExactManifestTimings,n.checkBufferTimeout_=null,n.error_=void 0,n.currentTimeline_=-1,n.pendingSegment_=null,n.xhrOptions_=null,n.pendingSegments_=[],n.audioDisabled_=!1,n.isPendingTimestampOffset_=!1,n.gopBuffer_=[],n.timeMapping_=0,n.safeAppend_=Yr.browser.IE_VERSION>=11,n.appendInitSegment_={audio:!0,video:!0},n.playlistOfLastInitSegment_={audio:null,video:null},n.callQueue_=[],n.loadQueue_=[],n.metadataQueue_={id3:[],caption:[]},n.waitingOnRemove_=!1,n.quotaExceededErrorRetryTimeout_=null,n.activeInitSegmentId_=null,n.initSegments_={},n.cacheEncryptionKeys_=t.cacheEncryptionKeys,n.keyCache_={},n.decrypter_=t.decrypter,n.syncController_=t.syncController,n.syncPoint_={segmentIndex:0,time:0},n.transmuxer_=n.createTransmuxer_(),n.triggerSyncInfoUpdate_=function(){return n.trigger("syncinfoupdate")},n.syncController_.on("syncinfoupdate",n.triggerSyncInfoUpdate_),n.mediaSource_.addEventListener("sourceopen",(function(){n.isEndOfStream_()||(n.ended_=!1)})),n.fetchAtBuffer_=!1,n.logger_=$r("SegmentLoader["+n.loaderType_+"]"),Object.defineProperty(I.default(n),"state",{get:function(){return this.state_},set:function(e){e!==this.state_&&(this.logger_(this.state_+" -> "+e),this.state_=e,this.trigger("statechange"))}}),n.sourceUpdater_.on("ready",(function(){n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),"main"===n.loaderType_&&n.timelineChangeController_.on("pendingtimelinechange",(function(){n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),"audio"===n.loaderType_&&n.timelineChangeController_.on("timelinechange",(function(){n.hasEnoughInfoToLoad_()&&n.processLoadQueue_(),n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),n}L.default(t,e);var i=t.prototype;return i.createTransmuxer_=function(){return ms({remux:!1,alignGopsAtEnd:this.safeAppend_,keepOriginalTimestamps:!0,parse708captions:this.parse708captions_})},i.resetStats_=function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0,this.mediaAppends=0},i.dispose=function(){this.trigger("dispose"),this.state="DISPOSED",this.pause(),this.abort_(),this.transmuxer_&&this.transmuxer_.terminate(),this.resetStats_(),this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off("syncinfoupdate",this.triggerSyncInfoUpdate_),this.off()},i.setAudio=function(e){this.audioDisabled_=!e,e?this.appendInitSegment_.audio=!0:this.sourceUpdater_.removeAudio(0,this.duration_())},i.abort=function(){"WAITING"===this.state?(this.abort_(),this.state="READY",this.paused()||this.monitorBuffer_()):this.pendingSegment_&&(this.pendingSegment_=null)},i.abort_=function(){this.pendingSegment_&&this.pendingSegment_.abortRequests&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_),this.waitingOnRemove_=!1,C.default.clearTimeout(this.quotaExceededErrorRetryTimeout_),this.quotaExceededErrorRetryTimeout_=null},i.checkForAbort_=function(e){return"APPENDING"!==this.state||this.pendingSegment_?!this.pendingSegment_||this.pendingSegment_.requestId!==e:(this.state="READY",!0)},i.error=function(e){return void 0!==e&&(this.logger_("error occurred:",e),this.error_=e),this.pendingSegment_=null,this.error_},i.endOfStream=function(){this.ended_=!0,this.transmuxer_&&ps(this.transmuxer_),this.gopBuffer_.length=0,this.pause(),this.trigger("ended")},i.buffered_=function(){var e=this.getMediaInfo_();if(!this.sourceUpdater_||!e)return Yr.createTimeRanges();if("main"===this.loaderType_){var t=e.hasAudio,i=e.hasVideo,n=e.isMuxed;if(i&&t&&!this.audioDisabled_&&!n)return this.sourceUpdater_.buffered();if(i)return this.sourceUpdater_.videoBuffered()}return this.sourceUpdater_.audioBuffered()},i.initSegmentForMap=function(e,t){if(void 0===t&&(t=!1),!e)return null;var i=Wa(e),n=this.initSegments_[i];return t&&!n&&e.bytes&&(this.initSegments_[i]=n={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,tracks:e.tracks,timescales:e.timescales}),n||e},i.segmentKey=function(e,t){if(void 0===t&&(t=!1),!e)return null;var i=Ya(e),n=this.keyCache_[i];this.cacheEncryptionKeys_&&t&&!n&&e.bytes&&(this.keyCache_[i]=n={resolvedUri:e.resolvedUri,bytes:e.bytes});var r={resolvedUri:(n||e).resolvedUri};return n&&(r.bytes=n.bytes),r},i.couldBeginLoading_=function(){return this.playlist_&&!this.paused()},i.load=function(){if(this.monitorBuffer_(),this.playlist_)return"INIT"===this.state&&this.couldBeginLoading_()?this.init_():void(!this.couldBeginLoading_()||"READY"!==this.state&&"INIT"!==this.state||(this.state="READY"))},i.init_=function(){return this.state="READY",this.resetEverything(),this.monitorBuffer_()},i.playlist=function(e,t){if(void 0===t&&(t={}),e){var i=this.playlist_,n=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=t,"INIT"===this.state&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0},"main"===this.loaderType_&&this.syncController_.setDateTimeMappingForStart(e));var r=null;if(i&&(i.id?r=i.id:i.uri&&(r=i.uri)),this.logger_("playlist update ["+r+" => "+(e.id||e.uri)+"]"),this.trigger("syncinfoupdate"),"INIT"===this.state&&this.couldBeginLoading_())return this.init_();if(!i||i.uri!==e.uri)return null!==this.mediaIndex&&this.resyncLoader(),this.currentMediaInfo_=void 0,void this.trigger("playlistupdate");var a=e.mediaSequence-i.mediaSequence;if(this.logger_("live window shift ["+a+"]"),null!==this.mediaIndex)if(this.mediaIndex-=a,this.mediaIndex<0)this.mediaIndex=null,this.partIndex=null;else{var s=this.playlist_.segments[this.mediaIndex];if(this.partIndex&&(!s.parts||!s.parts.length||!s.parts[this.partIndex])){var o=this.mediaIndex;this.logger_("currently processing part (index "+this.partIndex+") no longer exists."),this.resetLoader(),this.mediaIndex=o}}n&&(n.mediaIndex-=a,n.mediaIndex<0?(n.mediaIndex=null,n.partIndex=null):(n.mediaIndex>=0&&(n.segment=e.segments[n.mediaIndex]),n.partIndex>=0&&n.segment.parts&&(n.part=n.segment.parts[n.partIndex]))),this.syncController_.saveExpiredSegmentInfo(i,e)}},i.pause=function(){this.checkBufferTimeout_&&(C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)},i.paused=function(){return null===this.checkBufferTimeout_},i.resetEverything=function(e){this.ended_=!1,this.appendInitSegment_={audio:!0,video:!0},this.resetLoader(),this.remove(0,1/0,e),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearAllMp4Captions"})},i.resetLoader=function(){this.fetchAtBuffer_=!1,this.resyncLoader()},i.resyncLoader=function(){this.transmuxer_&&ps(this.transmuxer_),this.mediaIndex=null,this.partIndex=null,this.syncPoint_=null,this.isPendingTimestampOffset_=!1,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearParsedMp4Captions"})},i.remove=function(e,t,i,n){if(void 0===i&&(i=function(){}),void 0===n&&(n=!1),t===1/0&&(t=this.duration_()),t<=e)this.logger_("skipping remove because end ${end} is <= start ${start}");else if(this.sourceUpdater_&&this.getMediaInfo_()){var r=1,a=function(){0===--r&&i()};for(var s in!n&&this.audioDisabled_||(r++,this.sourceUpdater_.removeAudio(e,t,a)),(n||"main"===this.loaderType_)&&(this.gopBuffer_=function(e,t,i,n){for(var r=Math.ceil((t-n)*E.ONE_SECOND_IN_TS),a=Math.ceil((i-n)*E.ONE_SECOND_IN_TS),s=e.slice(),o=e.length;o--&&!(e[o].pts<=a););if(-1===o)return s;for(var u=o+1;u--&&!(e[u].pts<=r););return u=Math.max(u,0),s.splice(u,o-u+1),s}(this.gopBuffer_,e,t,this.timeMapping_),r++,this.sourceUpdater_.removeVideo(e,t,a)),this.inbandTextTracks_)Gs(e,t,this.inbandTextTracks_[s]);Gs(e,t,this.segmentMetadataTrack_),a()}else this.logger_("skipping remove because no source updater or starting media info")},i.monitorBuffer_=function(){this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=C.default.setTimeout(this.monitorBufferTick_.bind(this),1)},i.monitorBufferTick_=function(){"READY"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=C.default.setTimeout(this.monitorBufferTick_.bind(this),500)},i.fillBuffer_=function(){if(!this.sourceUpdater_.updating()){var e=this.chooseNextRequest_();e&&("number"==typeof e.timestampOffset&&(this.isPendingTimestampOffset_=!1,this.timelineChangeController_.pendingTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline})),this.loadSegment_(e))}},i.isEndOfStream_=function(e,t,i){if(void 0===e&&(e=this.mediaIndex),void 0===t&&(t=this.playlist_),void 0===i&&(i=this.partIndex),!t||!this.mediaSource_)return!1;var n="number"==typeof e&&t.segments[e],r=e+1===t.segments.length,a=!n||!n.parts||i+1===n.parts.length;return t.endList&&"open"===this.mediaSource_.readyState&&r&&a},i.chooseNextRequest_=function(){var e=na(this.buffered_())||0,t=Math.max(0,e-this.currentTime_()),i=!this.hasPlayed_()&&t>=1,n=t>=this.goalBufferLength_(),r=this.playlist_.segments;if(!r.length||i||n)return null;this.syncPoint_=this.syncPoint_||this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_());var a={partIndex:null,mediaIndex:null,startOfSegment:null,playlist:this.playlist_,isSyncRequest:Boolean(!this.syncPoint_)};if(a.isSyncRequest)a.mediaIndex=function(e,t,i){t=t||[];for(var n=[],r=0,a=0;ai))return a}return 0===n.length?0:n[n.length-1]}(this.currentTimeline_,r,e);else if(null!==this.mediaIndex){var s=r[this.mediaIndex],o="number"==typeof this.partIndex?this.partIndex:-1;a.startOfSegment=s.end?s.end:e,s.parts&&s.parts[o+1]?(a.mediaIndex=this.mediaIndex,a.partIndex=o+1):a.mediaIndex=this.mediaIndex+1}else{var u=Sa.getMediaInfoForTime({experimentalExactManifestTimings:this.experimentalExactManifestTimings,playlist:this.playlist_,currentTime:this.fetchAtBuffer_?e:this.currentTime_(),startingPartIndex:this.syncPoint_.partIndex,startingSegmentIndex:this.syncPoint_.segmentIndex,startTime:this.syncPoint_.time}),l=u.segmentIndex,h=u.startTime,d=u.partIndex;a.getMediaInfoForTime=this.fetchAtBuffer_?"bufferedEnd":"currentTime",a.mediaIndex=l,a.startOfSegment=h,a.partIndex=d}var c=r[a.mediaIndex],f=c&&"number"==typeof a.partIndex&&c.parts&&c.parts[a.partIndex];if(!c||"number"==typeof a.partIndex&&!f)return null;"number"!=typeof a.partIndex&&c.parts&&(a.partIndex=0);var p=this.mediaSource_&&"ended"===this.mediaSource_.readyState;return a.mediaIndex>=r.length-1&&p&&!this.seeking_()?null:this.generateSegmentInfo_(a)},i.generateSegmentInfo_=function(e){var t=e.playlist,i=e.mediaIndex,n=e.startOfSegment,r=e.isSyncRequest,a=e.partIndex,s=e.forceTimestampOffset,o=e.getMediaInfoForTime,u=t.segments[i],l="number"==typeof a&&u.parts[a],h={requestId:"segment-loader-"+Math.random(),uri:l&&l.resolvedUri||u.resolvedUri,mediaIndex:i,partIndex:l?a:null,isSyncRequest:r,startOfSegment:n,playlist:t,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:u.timeline,duration:l&&l.duration||u.duration,segment:u,part:l,byteLength:0,transmuxer:this.transmuxer_,getMediaInfoForTime:o},d=void 0!==s?s:this.isPendingTimestampOffset_;h.timestampOffset=this.timestampOffsetForSegment_({segmentTimeline:u.timeline,currentTimeline:this.currentTimeline_,startOfSegment:n,buffered:this.buffered_(),overrideCheck:d});var c=na(this.sourceUpdater_.audioBuffered());return"number"==typeof c&&(h.audioAppendStart=c-this.sourceUpdater_.audioTimestampOffset()),this.sourceUpdater_.videoBuffered().length&&(h.gopsToAlignWith=function(e,t,i){if(null==t||!e.length)return[];var n,r=Math.ceil((t-i+3)*E.ONE_SECOND_IN_TS);for(n=0;nr);n++);return e.slice(n)}(this.gopBuffer_,this.currentTime_()-this.sourceUpdater_.videoTimestampOffset(),this.timeMapping_)),h},i.timestampOffsetForSegment_=function(e){return i=(t=e).segmentTimeline,n=t.currentTimeline,r=t.startOfSegment,a=t.buffered,t.overrideCheck||i!==n?i "+s+" for "+e),function(e,t,i){if(!e[i]){t.trigger({type:"usage",name:"vhs-608"}),t.trigger({type:"usage",name:"hls-608"});var n=i;/^cc708_/.test(i)&&(n="SERVICE"+i.split("_")[1]);var r=t.textTracks().getTrackById(n);if(r)e[i]=r;else{var a=i,s=i,o=!1,u=(t.options_.vhs&&t.options_.vhs.captionServices||{})[n];u&&(a=u.label,s=u.language,o=u.default),e[i]=t.addRemoteTextTrack({kind:"captions",id:n,default:o,label:a,language:s},!1).track}}}(u,i.vhs_.tech_,e),Gs(a,s,u[e]),function(e){var t=e.inbandTextTracks,i=e.captionArray,n=e.timestampOffset;if(i){var r=C.default.WebKitDataCue||C.default.VTTCue;i.forEach((function(e){var i=e.stream;t[i].addCue(new r(e.startTime+n,e.endTime+n,e.text))}))}}({captionArray:o,inbandTextTracks:u,timestampOffset:n})})),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearParsedMp4Captions"})}else this.metadataQueue_.caption.push(this.handleCaptions_.bind(this,e,t));else this.logger_("SegmentLoader received no captions from a caption event")},i.handleId3_=function(e,t,i){if(this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId))if(this.pendingSegment_.hasAppendedData_){var n=null===this.sourceUpdater_.videoTimestampOffset()?this.sourceUpdater_.audioTimestampOffset():this.sourceUpdater_.videoTimestampOffset();!function(e,t,i){e.metadataTrack_||(e.metadataTrack_=i.addRemoteTextTrack({kind:"metadata",label:"Timed Metadata"},!1).track,e.metadataTrack_.inBandMetadataTrackDispatchType=t)}(this.inbandTextTracks_,i,this.vhs_.tech_),zs({inbandTextTracks:this.inbandTextTracks_,metadataArray:t,timestampOffset:n,videoDuration:this.duration_()})}else this.metadataQueue_.id3.push(this.handleId3_.bind(this,e,t,i))},i.processMetadataQueue_=function(){this.metadataQueue_.id3.forEach((function(e){return e()})),this.metadataQueue_.caption.forEach((function(e){return e()})),this.metadataQueue_.id3=[],this.metadataQueue_.caption=[]},i.processCallQueue_=function(){var e=this.callQueue_;this.callQueue_=[],e.forEach((function(e){return e()}))},i.processLoadQueue_=function(){var e=this.loadQueue_;this.loadQueue_=[],e.forEach((function(e){return e()}))},i.hasEnoughInfoToLoad_=function(){if("audio"!==this.loaderType_)return!0;var e=this.pendingSegment_;return!!e&&(!this.getCurrentMediaInfo_()||!Ks({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}))},i.getCurrentMediaInfo_=function(e){return void 0===e&&(e=this.pendingSegment_),e&&e.trackInfo||this.currentMediaInfo_},i.getMediaInfo_=function(e){return void 0===e&&(e=this.pendingSegment_),this.getCurrentMediaInfo_(e)||this.startingMediaInfo_},i.hasEnoughInfoToAppend_=function(){if(!this.sourceUpdater_.ready())return!1;if(this.waitingOnRemove_||this.quotaExceededErrorRetryTimeout_)return!1;var e=this.pendingSegment_,t=this.getCurrentMediaInfo_();if(!e||!t)return!1;var i=t.hasAudio,n=t.hasVideo,r=t.isMuxed;return!(n&&!e.videoTimingInfo)&&(!(i&&!this.audioDisabled_&&!r&&!e.audioTimingInfo)&&!Ks({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}))},i.handleData_=function(e,t){if(this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId))if(!this.callQueue_.length&&this.hasEnoughInfoToAppend_()){var i=this.pendingSegment_;if(this.setTimeMapping_(i.timeline),this.updateMediaSecondsLoaded_(i.segment),"closed"!==this.mediaSource_.readyState){if(e.map&&(e.map=this.initSegmentForMap(e.map,!0),i.segment.map=e.map),e.key&&this.segmentKey(e.key,!0),i.isFmp4=e.isFmp4,i.timingInfo=i.timingInfo||{},i.isFmp4)this.trigger("fmp4"),i.timingInfo.start=i[qs(t.type)].start;else{var n,r=this.getCurrentMediaInfo_(),a="main"===this.loaderType_&&r&&r.hasVideo;a&&(n=i.videoTimingInfo.start),i.timingInfo.start=this.trueSegmentStart_({currentStart:i.timingInfo.start,playlist:i.playlist,mediaIndex:i.mediaIndex,currentVideoTimestampOffset:this.sourceUpdater_.videoTimestampOffset(),useVideoTimingInfo:a,firstVideoFrameTimeForData:n,videoTimingInfo:i.videoTimingInfo,audioTimingInfo:i.audioTimingInfo})}if(this.updateAppendInitSegmentStatus(i,t.type),this.updateSourceBufferTimestampOffset_(i),i.isSyncRequest){this.updateTimingInfoEnd_(i),this.syncController_.saveSegmentTimingInfo({segmentInfo:i,shouldSaveTimelineMapping:"main"===this.loaderType_});var s=this.chooseNextRequest_();if(s.mediaIndex!==i.mediaIndex||s.partIndex!==i.partIndex)return void this.logger_("sync segment was incorrect, not appending");this.logger_("sync segment was correct, appending")}i.hasAppendedData_=!0,this.processMetadataQueue_(),this.appendData_(i,t)}}else this.callQueue_.push(this.handleData_.bind(this,e,t))},i.updateAppendInitSegmentStatus=function(e,t){"main"!==this.loaderType_||"number"!=typeof e.timestampOffset||e.changedTimestampOffset||(this.appendInitSegment_={audio:!0,video:!0}),this.playlistOfLastInitSegment_[t]!==e.playlist&&(this.appendInitSegment_[t]=!0)},i.getInitSegmentAndUpdateState_=function(e){var t=e.type,i=e.initSegment,n=e.map,r=e.playlist;if(n){var a=Wa(n);if(this.activeInitSegmentId_===a)return null;i=this.initSegmentForMap(n,!0).bytes,this.activeInitSegmentId_=a}return i&&this.appendInitSegment_[t]?(this.playlistOfLastInitSegment_[t]=r,this.appendInitSegment_[t]=!1,this.activeInitSegmentId_=null,i):null},i.handleQuotaExceededError_=function(e,t){var i=this,n=e.segmentInfo,r=e.type,a=e.bytes,s=this.sourceUpdater_.audioBuffered(),o=this.sourceUpdater_.videoBuffered();s.length>1&&this.logger_("On QUOTA_EXCEEDED_ERR, found gaps in the audio buffer: "+ia(s).join(", ")),o.length>1&&this.logger_("On QUOTA_EXCEEDED_ERR, found gaps in the video buffer: "+ia(o).join(", "));var u=s.length?s.start(0):0,l=s.length?s.end(s.length-1):0,h=o.length?o.start(0):0,d=o.length?o.end(o.length-1):0;if(l-u<=1&&d-h<=1)return this.logger_("On QUOTA_EXCEEDED_ERR, single segment too large to append to buffer, triggering an error. Appended byte length: "+a.byteLength+", audio buffer: "+ia(s).join(", ")+", video buffer: "+ia(o).join(", ")+", "),this.error({message:"Quota exceeded error with append of a single segment of content",excludeUntil:1/0}),void this.trigger("error");this.waitingOnRemove_=!0,this.callQueue_.push(this.appendToSourceBuffer_.bind(this,{segmentInfo:n,type:r,bytes:a}));var c=this.currentTime_()-1;this.logger_("On QUOTA_EXCEEDED_ERR, removing audio/video from 0 to "+c),this.remove(0,c,(function(){i.logger_("On QUOTA_EXCEEDED_ERR, retrying append in 1s"),i.waitingOnRemove_=!1,i.quotaExceededErrorRetryTimeout_=C.default.setTimeout((function(){i.logger_("On QUOTA_EXCEEDED_ERR, re-processing call queue"),i.quotaExceededErrorRetryTimeout_=null,i.processCallQueue_()}),1e3)}),!0)},i.handleAppendError_=function(e,t){var i=e.segmentInfo,n=e.type,r=e.bytes;t&&(22!==t.code?(this.logger_("Received non QUOTA_EXCEEDED_ERR on append",t),this.error(n+" append of "+r.length+"b failed for segment #"+i.mediaIndex+" in playlist "+i.playlist.id),this.trigger("appenderror")):this.handleQuotaExceededError_({segmentInfo:i,type:n,bytes:r}))},i.appendToSourceBuffer_=function(e){var t,i,n,r=e.segmentInfo,a=e.type,s=e.initSegment,o=e.data,u=e.bytes;if(!u){var l=[o],h=o.byteLength;s&&(l.unshift(s),h+=s.byteLength),n=0,(t={bytes:h,segments:l}).bytes&&(i=new Uint8Array(t.bytes),t.segments.forEach((function(e){i.set(e,n),n+=e.byteLength}))),u=i}this.sourceUpdater_.appendBuffer({segmentInfo:r,type:a,bytes:u},this.handleAppendError_.bind(this,{segmentInfo:r,type:a,bytes:u}))},i.handleSegmentTimingInfo_=function(e,t,i){if(this.pendingSegment_&&t===this.pendingSegment_.requestId){var n=this.pendingSegment_.segment,r=e+"TimingInfo";n[r]||(n[r]={}),n[r].transmuxerPrependedSeconds=i.prependedContentDuration||0,n[r].transmuxedPresentationStart=i.start.presentation,n[r].transmuxedDecodeStart=i.start.decode,n[r].transmuxedPresentationEnd=i.end.presentation,n[r].transmuxedDecodeEnd=i.end.decode,n[r].baseMediaDecodeTime=i.baseMediaDecodeTime}},i.appendData_=function(e,t){var i=t.type,n=t.data;if(n&&n.byteLength&&("audio"!==i||!this.audioDisabled_)){var r=this.getInitSegmentAndUpdateState_({type:i,initSegment:t.initSegment,playlist:e.playlist,map:e.isFmp4?e.segment.map:null});this.appendToSourceBuffer_({segmentInfo:e,type:i,initSegment:r,data:n})}},i.loadSegment_=function(e){var t=this;this.state="WAITING",this.pendingSegment_=e,this.trimBackBuffer_(e),"number"==typeof e.timestampOffset&&this.transmuxer_&&this.transmuxer_.postMessage({action:"clearAllMp4Captions"}),this.hasEnoughInfoToLoad_()?this.updateTransmuxerAndRequestSegment_(e):this.loadQueue_.push((function(){var i=P.default({},e,{forceTimestampOffset:!0});P.default(e,t.generateSegmentInfo_(i)),t.isPendingTimestampOffset_=!1,t.updateTransmuxerAndRequestSegment_(e)}))},i.updateTransmuxerAndRequestSegment_=function(e){var t=this;this.shouldUpdateTransmuxerTimestampOffset_(e.timestampOffset)&&(this.gopBuffer_.length=0,e.gopsToAlignWith=[],this.timeMapping_=0,this.transmuxer_.postMessage({action:"reset"}),this.transmuxer_.postMessage({action:"setTimestampOffset",timestampOffset:e.timestampOffset}));var i=this.createSimplifiedSegmentObj_(e),n=this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex),r=null!==this.mediaIndex,a=e.timeline!==this.currentTimeline_&&e.timeline>0,s=n||r&&a;this.logger_("Requesting "+Ys(e)),i.map&&!i.map.bytes&&(this.logger_("going to request init segment."),this.appendInitSegment_={video:!0,audio:!0}),e.abortRequests=Ls({xhr:this.vhs_.xhr,xhrOptions:this.xhrOptions_,decryptionWorker:this.decrypter_,segment:i,abortFn:this.handleAbort_.bind(this,e),progressFn:this.handleProgress_.bind(this),trackInfoFn:this.handleTrackInfo_.bind(this),timingInfoFn:this.handleTimingInfo_.bind(this),videoSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,"video",e.requestId),audioSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,"audio",e.requestId),captionsFn:this.handleCaptions_.bind(this),isEndOfTimeline:s,endedTimelineFn:function(){t.logger_("received endedtimeline callback")},id3Fn:this.handleId3_.bind(this),dataFn:this.handleData_.bind(this),doneFn:this.segmentRequestFinished_.bind(this),onTransmuxerLog:function(i){var n=i.message,r=i.level,a=i.stream;t.logger_(Ys(e)+" logged from transmuxer stream "+a+" as a "+r+": "+n)}})},i.trimBackBuffer_=function(e){var t=function(e,t,i){var n=t-ns.BACK_BUFFER_LENGTH;e.length&&(n=Math.max(n,e.start(0)));var r=t-i;return Math.min(r,n)}(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);t>0&&this.remove(0,t)},i.createSimplifiedSegmentObj_=function(e){var t=e.segment,i=e.part,n={resolvedUri:i?i.resolvedUri:t.resolvedUri,byterange:i?i.byterange:t.byterange,requestId:e.requestId,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,part:e.part},r=e.playlist.segments[e.mediaIndex-1];if(r&&r.timeline===t.timeline&&(r.videoTimingInfo?n.baseStartTime=r.videoTimingInfo.transmuxedDecodeEnd:r.audioTimingInfo&&(n.baseStartTime=r.audioTimingInfo.transmuxedDecodeEnd)),t.key){var a=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);n.key=this.segmentKey(t.key),n.key.iv=a}return t.map&&(n.map=this.initSegmentForMap(t.map)),n},i.saveTransferStats_=function(e){this.mediaRequests+=1,e&&(this.mediaBytesTransferred+=e.bytesReceived,this.mediaTransferDuration+=e.roundTripTime)},i.saveBandwidthRelatedStats_=function(e,t){this.pendingSegment_.byteLength=t.bytesReceived,e<1/60?this.logger_("Ignoring segment's bandwidth because its duration of "+e+" is less than the min to record "+1/60):(this.bandwidth=t.bandwidth,this.roundTrip=t.roundTripTime)},i.handleTimeout_=function(){this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,this.trigger("bandwidthupdate")},i.segmentRequestFinished_=function(e,t,i){if(this.callQueue_.length)this.callQueue_.push(this.segmentRequestFinished_.bind(this,e,t,i));else if(this.saveTransferStats_(t.stats),this.pendingSegment_&&t.requestId===this.pendingSegment_.requestId){if(e){if(this.pendingSegment_=null,this.state="READY",e.code===ys)return;return this.pause(),e.code===vs?void this.handleTimeout_():(this.mediaRequestsErrored+=1,this.error(e),void this.trigger("error"))}var n=this.pendingSegment_;this.saveBandwidthRelatedStats_(n.duration,t.stats),n.endOfAllRequests=t.endOfAllRequests,i.gopInfo&&(this.gopBuffer_=function(e,t,i){if(!t.length)return e;if(i)return t.slice();for(var n=t[0].pts,r=0;r=n);r++);return e.slice(0,r).concat(t)}(this.gopBuffer_,i.gopInfo,this.safeAppend_)),this.state="APPENDING",this.trigger("appending"),this.waitForAppendsToComplete_(n)}},i.setTimeMapping_=function(e){var t=this.syncController_.mappingForTimeline(e);null!==t&&(this.timeMapping_=t)},i.updateMediaSecondsLoaded_=function(e){"number"==typeof e.start&&"number"==typeof e.end?this.mediaSecondsLoaded+=e.end-e.start:this.mediaSecondsLoaded+=e.duration},i.shouldUpdateTransmuxerTimestampOffset_=function(e){return null!==e&&("main"===this.loaderType_&&e!==this.sourceUpdater_.videoTimestampOffset()||!this.audioDisabled_&&e!==this.sourceUpdater_.audioTimestampOffset())},i.trueSegmentStart_=function(e){var t=e.currentStart,i=e.playlist,n=e.mediaIndex,r=e.firstVideoFrameTimeForData,a=e.currentVideoTimestampOffset,s=e.useVideoTimingInfo,o=e.videoTimingInfo,u=e.audioTimingInfo;if(void 0!==t)return t;if(!s)return u.start;var l=i.segments[n-1];return 0!==n&&l&&void 0!==l.start&&l.end===r+a?o.start:r},i.waitForAppendsToComplete_=function(e){var t=this.getCurrentMediaInfo_(e);if(!t)return this.error({message:"No starting media returned, likely due to an unsupported media format.",blacklistDuration:1/0}),void this.trigger("error");var i=t.hasAudio,n=t.hasVideo,r=t.isMuxed,a="main"===this.loaderType_&&n,s=!this.audioDisabled_&&i&&!r;if(e.waitingOnAppends=0,!e.hasAppendedData_)return e.timingInfo||"number"!=typeof e.timestampOffset||(this.isPendingTimestampOffset_=!0),e.timingInfo={start:0},e.waitingOnAppends++,this.isPendingTimestampOffset_||(this.updateSourceBufferTimestampOffset_(e),this.processMetadataQueue_()),void this.checkAppendsDone_(e);a&&e.waitingOnAppends++,s&&e.waitingOnAppends++,a&&this.sourceUpdater_.videoQueueCallback(this.checkAppendsDone_.bind(this,e)),s&&this.sourceUpdater_.audioQueueCallback(this.checkAppendsDone_.bind(this,e))},i.checkAppendsDone_=function(e){this.checkForAbort_(e.requestId)||(e.waitingOnAppends--,0===e.waitingOnAppends&&this.handleAppendsDone_())},i.checkForIllegalMediaSwitch=function(e){var t=function(e,t,i){return"main"===e&&t&&i?i.hasAudio||i.hasVideo?t.hasVideo&&!i.hasVideo?"Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.":!t.hasVideo&&i.hasVideo?"Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.":null:"Neither audio nor video found in segment.":null}(this.loaderType_,this.getCurrentMediaInfo_(),e);return!!t&&(this.error({message:t,blacklistDuration:1/0}),this.trigger("error"),!0)},i.updateSourceBufferTimestampOffset_=function(e){if(null!==e.timestampOffset&&"number"==typeof e.timingInfo.start&&!e.changedTimestampOffset&&"main"===this.loaderType_){var t=!1;e.timestampOffset-=e.timingInfo.start,e.changedTimestampOffset=!0,e.timestampOffset!==this.sourceUpdater_.videoTimestampOffset()&&(this.sourceUpdater_.videoTimestampOffset(e.timestampOffset),t=!0),e.timestampOffset!==this.sourceUpdater_.audioTimestampOffset()&&(this.sourceUpdater_.audioTimestampOffset(e.timestampOffset),t=!0),t&&this.trigger("timestampoffset")}},i.updateTimingInfoEnd_=function(e){e.timingInfo=e.timingInfo||{};var t=this.getMediaInfo_(),i="main"===this.loaderType_&&t&&t.hasVideo&&e.videoTimingInfo?e.videoTimingInfo:e.audioTimingInfo;i&&(e.timingInfo.end="number"==typeof i.end?i.end:i.start+e.duration)},i.handleAppendsDone_=function(){if(this.pendingSegment_&&this.trigger("appendsdone"),!this.pendingSegment_)return this.state="READY",void(this.paused()||this.monitorBuffer_());var e=this.pendingSegment_;this.updateTimingInfoEnd_(e),this.shouldSaveSegmentTimingInfo_&&this.syncController_.saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:"main"===this.loaderType_});var t=Qs(e,this.sourceType_);if(t&&("warn"===t.severity?Yr.log.warn(t.message):this.logger_(t.message)),this.recordThroughput_(e),this.pendingSegment_=null,this.state="READY",!e.isSyncRequest||(this.trigger("syncinfoupdate"),e.hasAppendedData_)){this.logger_("Appended "+Ys(e)),this.addSegmentMetadataCue_(e),this.fetchAtBuffer_=!0,this.currentTimeline_!==e.timeline&&(this.timelineChangeController_.lastTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline}),"main"!==this.loaderType_||this.audioDisabled_||this.timelineChangeController_.lastTimelineChange({type:"audio",from:this.currentTimeline_,to:e.timeline})),this.currentTimeline_=e.timeline,this.trigger("syncinfoupdate");var i=e.segment;if(i.end&&this.currentTime_()-i.end>3*e.playlist.targetDuration)this.resetEverything();else null!==this.mediaIndex&&this.trigger("bandwidthupdate"),this.trigger("progress"),this.mediaIndex=e.mediaIndex,this.partIndex=e.partIndex,this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex)&&this.endOfStream(),this.trigger("appended"),e.hasAppendedData_&&this.mediaAppends++,this.paused()||this.monitorBuffer_()}else this.logger_("Throwing away un-appended sync request "+Ys(e))},i.recordThroughput_=function(e){if(e.duration<1/60)this.logger_("Ignoring segment's throughput because its duration of "+e.duration+" is less than the min to record "+1/60);else{var t=this.throughput.rate,i=Date.now()-e.endOfAllRequests+1,n=Math.floor(e.byteLength/i*8*1e3);this.throughput.rate+=(n-t)/++this.throughput.count}},i.addSegmentMetadataCue_=function(e){if(this.segmentMetadataTrack_){var t=e.segment,i=t.start,n=t.end;if(Ws(i)&&Ws(n)){Gs(i,n,this.segmentMetadataTrack_);var r=C.default.WebKitDataCue||C.default.VTTCue,a={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:i,end:n},s=new r(i,n,JSON.stringify(a));s.value=a,this.segmentMetadataTrack_.addCue(s)}}},t}(Yr.EventTarget);function Js(){}var Zs,eo=function(e){return"string"!=typeof e?e:e.replace(/./,(function(e){return e.toUpperCase()}))},to=["video","audio"],io=function(e,t){var i=t[e+"Buffer"];return i&&i.updating||t.queuePending[e]},no=function e(t,i){if(0!==i.queue.length){var n=0,r=i.queue[n];if("mediaSource"!==r.type){if("mediaSource"!==t&&i.ready()&&"closed"!==i.mediaSource.readyState&&!io(t,i)){if(r.type!==t){if(null===(n=function(e,t){for(var i=0;i=e.playlist.segments.length){e=null;break}e=this.generateSegmentInfo_({playlist:e.playlist,mediaIndex:e.mediaIndex+1,startOfSegment:e.startOfSegment+e.duration,isSyncRequest:e.isSyncRequest})}return e},i.stopForError=function(e){this.error(e),this.state="READY",this.pause(),this.trigger("error")},i.segmentRequestFinished_=function(e,t,i){var n=this;if(this.subtitlesTrack_){if(this.saveTransferStats_(t.stats),!this.pendingSegment_)return this.state="READY",void(this.mediaRequestsAborted+=1);if(e)return e.code===vs&&this.handleTimeout_(),e.code===ys?this.mediaRequestsAborted+=1:this.mediaRequestsErrored+=1,void this.stopForError(e);var r=this.pendingSegment_;this.saveBandwidthRelatedStats_(r.duration,t.stats),this.state="APPENDING",this.trigger("appending");var a=r.segment;if(a.map&&(a.map.bytes=t.map.bytes),r.bytes=t.bytes,"function"!=typeof C.default.WebVTT&&this.subtitlesTrack_&&this.subtitlesTrack_.tech_){var s,o=function(){n.subtitlesTrack_.tech_.off("vttjsloaded",s),n.stopForError({message:"Error loading vtt.js"})};return s=function(){n.subtitlesTrack_.tech_.off("vttjserror",o),n.segmentRequestFinished_(e,t,i)},this.state="WAITING_ON_VTTJS",this.subtitlesTrack_.tech_.one("vttjsloaded",s),void this.subtitlesTrack_.tech_.one("vttjserror",o)}a.requested=!0;try{this.parseVTTCues_(r)}catch(e){return void this.stopForError({message:e.message})}if(this.updateTimeMapping_(r,this.syncController_.timelines[r.timeline],this.playlist_),r.cues.length?r.timingInfo={start:r.cues[0].startTime,end:r.cues[r.cues.length-1].endTime}:r.timingInfo={start:r.startOfSegment,end:r.startOfSegment+r.duration},r.isSyncRequest)return this.trigger("syncinfoupdate"),this.pendingSegment_=null,void(this.state="READY");r.byteLength=r.bytes.byteLength,this.mediaSecondsLoaded+=a.duration,r.cues.forEach((function(e){n.subtitlesTrack_.addCue(n.featuresNativeTextTracks_?new C.default.VTTCue(e.startTime,e.endTime,e.text):e)})),function(e){var t=e.cues;if(t)for(var i=0;i1&&n.push(t[a]);n.length&&n.forEach((function(t){return e.removeCue(t)}))}}(this.subtitlesTrack_),this.handleAppendsDone_()}else this.state="READY"},i.handleData_=function(){},i.updateTimingInfoEnd_=function(){},i.parseVTTCues_=function(e){var t,i=!1;"function"==typeof C.default.TextDecoder?t=new C.default.TextDecoder("utf8"):(t=C.default.WebVTT.StringDecoder(),i=!0);var n=new C.default.WebVTT.Parser(C.default,C.default.vttjs,t);if(e.cues=[],e.timestampmap={MPEGTS:0,LOCAL:0},n.oncue=e.cues.push.bind(e.cues),n.ontimestampmap=function(t){e.timestampmap=t},n.onparsingerror=function(e){Yr.log.warn("Error encountered when parsing cues: "+e.message)},e.segment.map){var r=e.segment.map.bytes;i&&(r=bo(r)),n.parse(r)}var a=e.bytes;i&&(a=bo(a)),n.parse(a),n.flush()},i.updateTimeMapping_=function(e,t,i){var n=e.segment;if(t)if(e.cues.length){var r=e.timestampmap,a=r.MPEGTS/E.ONE_SECOND_IN_TS-r.LOCAL+t.mapping;if(e.cues.forEach((function(e){e.startTime+=a,e.endTime+=a})),!i.syncInfo){var s=e.cues[0].startTime,o=e.cues[e.cues.length-1].startTime;i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:Math.min(s,o-n.duration)}}}else n.empty=!0},t}($s),Eo=function(e,t){for(var i=e.cues,n=0;n=r.adStartTime&&t<=r.adEndTime)return r}return null},wo=[{name:"VOD",run:function(e,t,i,n,r){if(i!==1/0){return{time:0,segmentIndex:0,partIndex:null}}return null}},{name:"ProgramDateTime",run:function(e,t,i,n,r){if(!Object.keys(e.timelineToDatetimeMappings).length)return null;var a=null,s=null,o=aa(t);r=r||0;for(var u=0;u=c)&&(s=c,a={time:d,segmentIndex:l.segmentIndex,partIndex:l.partIndex})}}return a}},{name:"Discontinuity",run:function(e,t,i,n,r){var a=null;if(r=r||0,t.discontinuityStarts&&t.discontinuityStarts.length)for(var s=null,o=0;o=d)&&(s=d,a={time:h.time,segmentIndex:u,partIndex:null})}}return a}},{name:"Playlist",run:function(e,t,i,n,r){return t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence,partIndex:null}:null}}],Ao=function(e){function t(t){var i;return(i=e.call(this)||this).timelines=[],i.discontinuities=[],i.timelineToDatetimeMappings={},i.logger_=$r("SyncController"),i}L.default(t,e);var i=t.prototype;return i.getSyncPoint=function(e,t,i,n){var r=this.runStrategies_(e,t,i,n);return r.length?this.selectSyncPoint_(r,{key:"time",value:n}):null},i.getExpiredTime=function(e,t){if(!e||!e.segments)return null;var i=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!i.length)return null;var n=this.selectSyncPoint_(i,{key:"segmentIndex",value:0});return n.segmentIndex>0&&(n.time*=-1),Math.abs(n.time+da({defaultDuration:e.targetDuration,durationList:e.segments,startIndex:n.segmentIndex,endIndex:0}))},i.runStrategies_=function(e,t,i,n){for(var r=[],a=0;a=0;i--){var n=e.segments[i];if(n&&void 0!==n.start){t.syncInfo={mediaSequence:e.mediaSequence+i,time:n.start},this.logger_("playlist refresh sync: [time:"+t.syncInfo.time+", mediaSequence: "+t.syncInfo.mediaSequence+"]"),this.trigger("syncinfoupdate");break}}},i.setDateTimeMappingForStart=function(e){if(this.timelineToDatetimeMappings={},e.segments&&e.segments.length&&e.segments[0].dateTimeObject){var t=e.segments[0],i=t.dateTimeObject.getTime()/1e3;this.timelineToDatetimeMappings[t.timeline]=-i}},i.saveSegmentTimingInfo=function(e){var t=e.segmentInfo,i=e.shouldSaveTimelineMapping,n=this.calculateSegmentTimeMapping_(t,t.timingInfo,i),r=t.segment;n&&(this.saveDiscontinuitySyncInfo_(t),t.playlist.syncInfo||(t.playlist.syncInfo={mediaSequence:t.playlist.mediaSequence+t.mediaIndex,time:r.start}));var a=r.dateTimeObject;r.discontinuity&&i&&a&&(this.timelineToDatetimeMappings[r.timeline]=-a.getTime()/1e3)},i.timestampOffsetForTimeline=function(e){return void 0===this.timelines[e]?null:this.timelines[e].time},i.mappingForTimeline=function(e){return void 0===this.timelines[e]?null:this.timelines[e].mapping},i.calculateSegmentTimeMapping_=function(e,t,i){var n,r,a=e.segment,s=e.part,o=this.timelines[e.timeline];if("number"==typeof e.timestampOffset)o={time:e.startOfSegment,mapping:e.startOfSegment-t.start},i&&(this.timelines[e.timeline]=o,this.trigger("timestampoffset"),this.logger_("time mapping for timeline "+e.timeline+": [time: "+o.time+"] [mapping: "+o.mapping+"]")),n=e.startOfSegment,r=t.end+o.mapping;else{if(!o)return!1;n=t.start+o.mapping,r=t.end+o.mapping}return s&&(s.start=n,s.end=r),(!a.start||no){var u=void 0;u=s<0?i.start-da({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex,endIndex:r}):i.end+da({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex+1,endIndex:r}),this.discontinuities[a]={time:u,accuracy:o}}}},i.dispose=function(){this.trigger("dispose"),this.off()},t}(Yr.EventTarget),Co=function(e){function t(){var t;return(t=e.call(this)||this).pendingTimelineChanges_={},t.lastTimelineChanges_={},t}L.default(t,e);var i=t.prototype;return i.clearPendingTimelineChange=function(e){this.pendingTimelineChanges_[e]=null,this.trigger("pendingtimelinechange")},i.pendingTimelineChange=function(e){var t=e.type,i=e.from,n=e.to;return"number"==typeof i&&"number"==typeof n&&(this.pendingTimelineChanges_[t]={type:t,from:i,to:n},this.trigger("pendingtimelinechange")),this.pendingTimelineChanges_[t]},i.lastTimelineChange=function(e){var t=e.type,i=e.from,n=e.to;return"number"==typeof i&&"number"==typeof n&&(this.lastTimelineChanges_[t]={type:t,from:i,to:n},delete this.pendingTimelineChanges_[t],this.trigger("timelinechange")),this.lastTimelineChanges_[t]},i.dispose=function(){this.trigger("dispose"),this.pendingTimelineChanges_={},this.lastTimelineChanges_={},this.off()},t}(Yr.EventTarget),ko=as(ss(os((function(){function e(e,t,i){return e(i={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&i.path)}},i.exports),i.exports}var t=e((function(e){function t(e,t){for(var i=0;i-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(2===arguments.length)for(var i=t.length,n=0;n>7))^e]=e;for(t=i=0;!d[t];t^=n||1,i=p[i]||1)for(a=(a=i^i<<1^i<<2^i<<3^i<<4)>>8^255&a^99,d[t]=a,c[a]=t,o=16843009*f[r=f[n=f[t]]]^65537*r^257*n^16843008*t,s=257*f[a]^16843008*a,e=0;e<4;e++)l[e][t]=s=s<<24^s>>>8,h[e][a]=o=o<<24^o>>>8;for(e=0;e<5;e++)l[e]=l[e].slice(0),h[e]=h[e].slice(0);return u}()),this._tables=[[a[0][0].slice(),a[0][1].slice(),a[0][2].slice(),a[0][3].slice(),a[0][4].slice()],[a[1][0].slice(),a[1][1].slice(),a[1][2].slice(),a[1][3].slice(),a[1][4].slice()]];var r=this._tables[0][4],s=this._tables[1],o=e.length,u=1;if(4!==o&&6!==o&&8!==o)throw new Error("Invalid aes key size");var l=e.slice(0),h=[];for(this._key=[l,h],t=o;t<4*o+28;t++)n=l[t-1],(t%o==0||8===o&&t%o==4)&&(n=r[n>>>24]<<24^r[n>>16&255]<<16^r[n>>8&255]<<8^r[255&n],t%o==0&&(n=n<<8^n>>>24^u<<24,u=u<<1^283*(u>>7))),l[t]=l[t-o]^n;for(i=0;t;i++,t--)n=l[3&i?t:t-4],h[i]=t<=4||i<4?n:s[0][r[n>>>24]]^s[1][r[n>>16&255]]^s[2][r[n>>8&255]]^s[3][r[255&n]]}return e.prototype.decrypt=function(e,t,i,n,r,a){var s,o,u,l,h=this._key[1],d=e^h[0],c=n^h[1],f=i^h[2],p=t^h[3],m=h.length/4-2,_=4,g=this._tables[1],v=g[0],y=g[1],b=g[2],S=g[3],T=g[4];for(l=0;l>>24]^y[c>>16&255]^b[f>>8&255]^S[255&p]^h[_],o=v[c>>>24]^y[f>>16&255]^b[p>>8&255]^S[255&d]^h[_+1],u=v[f>>>24]^y[p>>16&255]^b[d>>8&255]^S[255&c]^h[_+2],p=v[p>>>24]^y[d>>16&255]^b[c>>8&255]^S[255&f]^h[_+3],_+=4,d=s,c=o,f=u;for(l=0;l<4;l++)r[(3&-l)+a]=T[d>>>24]<<24^T[c>>16&255]<<16^T[f>>8&255]<<8^T[255&p]^h[_++],s=d,d=c,c=f,f=p,p=s},e}(),o=function(e){function t(){var t;return(t=e.call(this,r)||this).jobs=[],t.delay=1,t.timeout_=null,t}n(t,e);var i=t.prototype;return i.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},i.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},t}(r),u=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},l=function(){function e(t,i,n,r){var a=e.STEP,s=new Int32Array(t.buffer),l=new Uint8Array(t.byteLength),h=0;for(this.asyncStream_=new o,this.asyncStream_.push(this.decryptChunk_(s.subarray(h,h+a),i,n,l)),h=a;h>2),m=new s(Array.prototype.slice.call(t)),_=new Uint8Array(e.byteLength),g=new Int32Array(_.buffer);for(n=i[0],r=i[1],a=i[2],o=i[3],f=0;f=0&&(t="main-desc"),t},Io=function(e,t){e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)},Lo=function(e,t){t.activePlaylistLoader=e,e.load()},xo={AUDIO:function(e,t){return function(){var i=t.segmentLoaders[e],n=t.mediaTypes[e],r=t.blacklistCurrentPlaylist;Io(i,n);var a=n.activeTrack(),s=n.activeGroup(),o=(s.filter((function(e){return e.default}))[0]||s[0]).id,u=n.tracks[o];if(a!==u){for(var l in Yr.log.warn("Problem encountered loading the alternate audio track.Switching back to default."),n.tracks)n.tracks[l].enabled=n.tracks[l]===u;n.onTrackChanged()}else r({message:"Problem encountered loading the default audio track."})}},SUBTITLES:function(e,t){return function(){var i=t.segmentLoaders[e],n=t.mediaTypes[e];Yr.log.warn("Problem encountered loading the subtitle track.Disabling subtitle track."),Io(i,n);var r=n.activeTrack();r&&(r.mode="disabled"),n.onTrackChanged()}}},Ro={AUDIO:function(e,t,i){if(t){var n=i.tech,r=i.requestOptions,a=i.segmentLoaders[e];t.on("loadedmetadata",(function(){var e=t.media();a.playlist(e,r),(!n.paused()||e.endList&&"none"!==n.preload())&&a.load()})),t.on("loadedplaylist",(function(){a.playlist(t.media(),r),n.paused()||a.load()})),t.on("error",xo[e](e,i))}},SUBTITLES:function(e,t,i){var n=i.tech,r=i.requestOptions,a=i.segmentLoaders[e],s=i.mediaTypes[e];t.on("loadedmetadata",(function(){var e=t.media();a.playlist(e,r),a.track(s.activeTrack()),(!n.paused()||e.endList&&"none"!==n.preload())&&a.load()})),t.on("loadedplaylist",(function(){a.playlist(t.media(),r),n.paused()||a.load()})),t.on("error",xo[e](e,i))}},Do={AUDIO:function(e,t){var i=t.vhs,n=t.sourceType,r=t.segmentLoaders[e],a=t.requestOptions,s=t.master.mediaGroups,o=t.mediaTypes[e],u=o.groups,l=o.tracks,h=o.logger_,d=t.masterPlaylistLoader,c=ba(d.master);for(var f in s[e]&&0!==Object.keys(s[e]).length||(s[e]={main:{default:{default:!0}}},c&&(s[e].main.default.playlists=d.master.playlists)),s[e])for(var p in u[f]||(u[f]=[]),s[e][f]){var m=s[e][f][p],_=void 0;if(c?(h("AUDIO group '"+f+"' label '"+p+"' is a master playlist"),m.isMasterPlaylist=!0,_=null):_="vhs-json"===n&&m.playlists?new Ua(m.playlists[0],i,a):m.resolvedUri?new Ua(m.resolvedUri,i,a):m.playlists&&"dash"===n?new is(m.playlists[0],i,a,d):null,m=Yr.mergeOptions({id:p,playlistLoader:_},m),Ro[e](e,m.playlistLoader,t),u[f].push(m),void 0===l[p]){var g=new Yr.AudioTrack({id:p,kind:Po(m),enabled:!1,language:m.language,default:m.default,label:p});l[p]=g}}r.on("error",xo[e](e,t))},SUBTITLES:function(e,t){var i=t.tech,n=t.vhs,r=t.sourceType,a=t.segmentLoaders[e],s=t.requestOptions,o=t.master.mediaGroups,u=t.mediaTypes[e],l=u.groups,h=u.tracks,d=t.masterPlaylistLoader;for(var c in o[e])for(var f in l[c]||(l[c]=[]),o[e][c])if(!o[e][c][f].forced){var p=o[e][c][f],m=void 0;if("hls"===r)m=new Ua(p.resolvedUri,n,s);else if("dash"===r){if(!p.playlists.filter((function(e){return e.excludeUntil!==1/0})).length)return;m=new is(p.playlists[0],n,s,d)}else"vhs-json"===r&&(m=new Ua(p.playlists?p.playlists[0]:p.resolvedUri,n,s));if(p=Yr.mergeOptions({id:f,playlistLoader:m},p),Ro[e](e,p.playlistLoader,t),l[c].push(p),void 0===h[f]){var _=i.addRemoteTextTrack({id:f,kind:"subtitles",default:p.default&&p.autoselect,language:p.language,label:f},!1).track;h[f]=_}}a.on("error",xo[e](e,t))},"CLOSED-CAPTIONS":function(e,t){var i=t.tech,n=t.master.mediaGroups,r=t.mediaTypes[e],a=r.groups,s=r.tracks;for(var o in n[e])for(var u in a[o]||(a[o]=[]),n[e][o]){var l=n[e][o][u];if(/^(?:CC|SERVICE)/.test(l.instreamId)){var h=i.options_.vhs&&i.options_.vhs.captionServices||{},d={label:u,language:l.language,instreamId:l.instreamId,default:l.default&&l.autoselect};if(h[d.instreamId]&&(d=Yr.mergeOptions(d,h[d.instreamId])),void 0===d.default&&delete d.default,a[o].push(Yr.mergeOptions({id:u},l)),void 0===s[u]){var c=i.addRemoteTextTrack({id:d.instreamId,kind:"captions",default:d.default,language:d.language,label:d.label},!1).track;s[u]=c}}}}},Oo=function e(t,i){for(var n=0;n1&&ba(t.master))for(var u=0;u "+a+" from "+t),this.tech_.trigger({type:"usage",name:"vhs-rendition-change-"+t})),this.masterPlaylistLoader_.media(e,i)},i.startABRTimer_=function(){var e=this;this.stopABRTimer_(),this.abrTimer_=C.default.setInterval((function(){return e.checkABR_()}),250)},i.stopABRTimer_=function(){this.tech_.scrubbing&&this.tech_.scrubbing()||(C.default.clearInterval(this.abrTimer_),this.abrTimer_=null)},i.getAudioTrackPlaylists_=function(){var e=this.master(),t=e&&e.playlists||[];if(!e||!e.mediaGroups||!e.mediaGroups.AUDIO)return t;var i,n=e.mediaGroups.AUDIO,r=Object.keys(n);if(Object.keys(this.mediaTypes_.AUDIO.groups).length)i=this.mediaTypes_.AUDIO.activeTrack();else{var a=n.main||r.length&&n[r[0]];for(var s in a)if(a[s].default){i={label:s};break}}if(!i)return t;var o=[];for(var u in n)if(n[u][i.label]){var l=n[u][i.label];if(l.playlists&&l.playlists.length)o.push.apply(o,l.playlists);else if(l.uri)o.push(l);else if(e.playlists.length)for(var h=0;h1&&(this.tech_.trigger({type:"usage",name:"vhs-alternate-audio"}),this.tech_.trigger({type:"usage",name:"hls-alternate-audio"})),this.useCueTags_&&(this.tech_.trigger({type:"usage",name:"vhs-playlist-cue-tags"}),this.tech_.trigger({type:"usage",name:"hls-playlist-cue-tags"}))},i.shouldSwitchToMedia_=function(e){var t=this.masterPlaylistLoader_.media(),i=this.tech_.buffered();return function(e){var t=e.currentPlaylist,i=e.nextPlaylist,n=e.forwardBuffer,r=e.bufferLowWaterLine,a=e.bufferHighWaterLine,s=e.duration,o=e.experimentalBufferBasedABR,u=e.log;if(!i)return Yr.log.warn("We received no playlist to switch to. Please check your stream."),!1;var l="allowing switch "+(t&&t.id||"null")+" -> "+i.id;if(!t)return u(l+" as current playlist is not set"),!0;if(i.id===t.id)return!1;if(!t.endList)return u(l+" as current playlist is live"),!0;var h=o?ns.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:ns.MAX_BUFFER_LOW_WATER_LINE;if(sc)&&n>=r){var p=l+" as forwardBuffer >= bufferLowWaterLine ("+n+" >= "+r+")";return o&&(p+=" and next bandwidth > current bandwidth ("+d+" > "+c+")"),u(p),!0}return u("not "+l+" as no switching criteria met"),!1}({currentPlaylist:t,nextPlaylist:e,forwardBuffer:i.length?i.end(i.length-1)-this.tech_.currentTime():0,bufferLowWaterLine:this.bufferLowWaterLine(),bufferHighWaterLine:this.bufferHighWaterLine(),duration:this.duration(),experimentalBufferBasedABR:this.experimentalBufferBasedABR,log:this.logger_})},i.setupSegmentLoaderListeners_=function(){var e=this;this.experimentalBufferBasedABR||(this.mainSegmentLoader_.on("bandwidthupdate",(function(){var t=e.selectPlaylist();e.shouldSwitchToMedia_(t)&&e.switchMedia_(t,"bandwidthupdate"),e.tech_.trigger("bandwidthupdate")})),this.mainSegmentLoader_.on("progress",(function(){e.trigger("progress")}))),this.mainSegmentLoader_.on("error",(function(){e.blacklistCurrentPlaylist(e.mainSegmentLoader_.error())})),this.mainSegmentLoader_.on("appenderror",(function(){e.error=e.mainSegmentLoader_.error_,e.trigger("error")})),this.mainSegmentLoader_.on("syncinfoupdate",(function(){e.onSyncInfoUpdate_()})),this.mainSegmentLoader_.on("timestampoffset",(function(){e.tech_.trigger({type:"usage",name:"vhs-timestamp-offset"}),e.tech_.trigger({type:"usage",name:"hls-timestamp-offset"})})),this.audioSegmentLoader_.on("syncinfoupdate",(function(){e.onSyncInfoUpdate_()})),this.audioSegmentLoader_.on("appenderror",(function(){e.error=e.audioSegmentLoader_.error_,e.trigger("error")})),this.mainSegmentLoader_.on("ended",(function(){e.logger_("main segment loader ended"),e.onEndOfStream()})),this.mainSegmentLoader_.on("earlyabort",(function(t){e.experimentalBufferBasedABR||(e.delegateLoaders_("all",["abort"]),e.blacklistCurrentPlaylist({message:"Aborted early because there isn't enough bandwidth to complete the request without rebuffering."},120))}));var t=function(){if(!e.sourceUpdater_.hasCreatedSourceBuffers())return e.tryToCreateSourceBuffers_();var t=e.getCodecsOrExclude_();t&&e.sourceUpdater_.addOrChangeSourceBuffers(t)};this.mainSegmentLoader_.on("trackinfo",t),this.audioSegmentLoader_.on("trackinfo",t),this.mainSegmentLoader_.on("fmp4",(function(){e.triggeredFmp4Usage||(e.tech_.trigger({type:"usage",name:"vhs-fmp4"}),e.tech_.trigger({type:"usage",name:"hls-fmp4"}),e.triggeredFmp4Usage=!0)})),this.audioSegmentLoader_.on("fmp4",(function(){e.triggeredFmp4Usage||(e.tech_.trigger({type:"usage",name:"vhs-fmp4"}),e.tech_.trigger({type:"usage",name:"hls-fmp4"}),e.triggeredFmp4Usage=!0)})),this.audioSegmentLoader_.on("ended",(function(){e.logger_("audioSegmentLoader ended"),e.onEndOfStream()}))},i.mediaSecondsLoaded_=function(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)},i.load=function(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()},i.smoothQualityChange_=function(e){void 0===e&&(e=this.selectPlaylist()),this.fastQualityChange_(e)},i.fastQualityChange_=function(e){var t=this;void 0===e&&(e=this.selectPlaylist()),e!==this.masterPlaylistLoader_.media()?(this.switchMedia_(e,"fast-quality"),this.mainSegmentLoader_.resetEverything((function(){Yr.browser.IE_VERSION||Yr.browser.IS_EDGE?t.tech_.setCurrentTime(t.tech_.currentTime()+.04):t.tech_.setCurrentTime(t.tech_.currentTime())}))):this.logger_("skipping fastQualityChange because new media is same as old")},i.play=function(){if(!this.setupFirstPlay()){this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();var e=this.tech_.seekable();return this.tech_.duration()===1/0&&this.tech_.currentTime()this.maxPlaylistRetries?1/0:Date.now()+1e3*t,i.excludeUntil=n,e.reason&&(i.lastExcludeReason_=e.reason),this.tech_.trigger("blacklistplaylist"),this.tech_.trigger({type:"usage",name:"vhs-rendition-blacklisted"}),this.tech_.trigger({type:"usage",name:"hls-rendition-blacklisted"});var u=this.selectPlaylist();if(!u)return this.error="Playback cannot continue. No available working or supported playlists.",void this.trigger("error");var l=e.internal?this.logger_:Yr.log.warn,h=e.message?" "+e.message:"";l((e.internal?"Internal problem":"Problem")+" encountered with playlist "+i.id+"."+h+" Switching to playlist "+u.id+"."),u.attributes.AUDIO!==i.attributes.AUDIO&&this.delegateLoaders_("audio",["abort","pause"]),u.attributes.SUBTITLES!==i.attributes.SUBTITLES&&this.delegateLoaders_("subtitle",["abort","pause"]),this.delegateLoaders_("main",["abort","pause"]);var d=u.targetDuration/2*1e3||5e3,c="number"==typeof u.lastRequest&&Date.now()-u.lastRequest<=d;return this.switchMedia_(u,"exclude",s||c)},i.pauseLoading=function(){this.delegateLoaders_("all",["abort","pause"]),this.stopABRTimer_()},i.delegateLoaders_=function(e,t){var i=this,n=[],r="all"===e;(r||"main"===e)&&n.push(this.masterPlaylistLoader_);var a=[];(r||"audio"===e)&&a.push("AUDIO"),(r||"subtitle"===e)&&(a.push("CLOSED-CAPTIONS"),a.push("SUBTITLES")),a.forEach((function(e){var t=i.mediaTypes_[e]&&i.mediaTypes_[e].activePlaylistLoader;t&&n.push(t)})),["main","audio","subtitle"].forEach((function(t){var r=i[t+"SegmentLoader_"];!r||e!==t&&"all"!==e||n.push(r)})),n.forEach((function(e){return t.forEach((function(t){"function"==typeof e[t]&&e[t]()}))}))},i.setCurrentTime=function(e){var t=Zr(this.tech_.buffered(),e);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?t&&t.length?e:(this.mainSegmentLoader_.resetEverything(),this.mainSegmentLoader_.abort(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.resetEverything(),this.audioSegmentLoader_.abort()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.resetEverything(),this.subtitleSegmentLoader_.abort()),void this.load()):0},i.duration=function(){if(!this.masterPlaylistLoader_)return 0;var e=this.masterPlaylistLoader_.media();return e?e.endList?this.mediaSource?this.mediaSource.duration:Zs.Playlist.duration(e):1/0:0},i.seekable=function(){return this.seekable_},i.onSyncInfoUpdate_=function(){var e;if(this.masterPlaylistLoader_){var t=this.masterPlaylistLoader_.media();if(t){var i=this.syncController_.getExpiredTime(t,this.duration());if(null!==i){var n=this.masterPlaylistLoader_.master,r=Zs.Playlist.seekable(t,i,Zs.Playlist.liveEdgeDelay(n,t));if(0!==r.length){if(this.mediaTypes_.AUDIO.activePlaylistLoader){if(t=this.mediaTypes_.AUDIO.activePlaylistLoader.media(),null===(i=this.syncController_.getExpiredTime(t,this.duration())))return;if(0===(e=Zs.Playlist.seekable(t,i,Zs.Playlist.liveEdgeDelay(n,t))).length)return}var a,s;this.seekable_&&this.seekable_.length&&(a=this.seekable_.end(0),s=this.seekable_.start(0)),e?e.start(0)>r.end(0)||r.start(0)>e.end(0)?this.seekable_=r:this.seekable_=Yr.createTimeRanges([[e.start(0)>r.start(0)?e.start(0):r.start(0),e.end(0)0&&(n=Math.max(n,i.end(i.length-1))),this.mediaSource.duration!==n&&this.sourceUpdater_.setDuration(n)}},i.dispose=function(){var e=this;this.trigger("dispose"),this.decrypter_.terminate(),this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.loadOnPlay_&&this.tech_.off("play",this.loadOnPlay_),["AUDIO","SUBTITLES"].forEach((function(t){var i=e.mediaTypes_[t].groups;for(var n in i)i[n].forEach((function(e){e.playlistLoader&&e.playlistLoader.dispose()}))})),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.sourceUpdater_.dispose(),this.timelineChangeController_.dispose(),this.stopABRTimer_(),this.updateDuration_&&this.mediaSource.removeEventListener("sourceopen",this.updateDuration_),this.mediaSource.removeEventListener("durationchange",this.handleDurationChange_),this.mediaSource.removeEventListener("sourceopen",this.handleSourceOpen_),this.mediaSource.removeEventListener("sourceended",this.handleSourceEnded_),this.off()},i.master=function(){return this.masterPlaylistLoader_.master},i.media=function(){return this.masterPlaylistLoader_.media()||this.initialMedia_},i.areMediaTypesKnown_=function(){var e=!!this.mediaTypes_.AUDIO.activePlaylistLoader,t=!!this.mainSegmentLoader_.getCurrentMediaInfo_(),i=!e||!!this.audioSegmentLoader_.getCurrentMediaInfo_();return!(!t||!i)},i.getCodecsOrExclude_=function(){var e=this,t={main:this.mainSegmentLoader_.getCurrentMediaInfo_()||{},audio:this.audioSegmentLoader_.getCurrentMediaInfo_()||{}};t.video=t.main;var i=Us(this.master(),this.media()),n={},r=!!this.mediaTypes_.AUDIO.activePlaylistLoader;if(t.main.hasVideo&&(n.video=i.video||t.main.videoCodec||_.DEFAULT_VIDEO_CODEC),t.main.isMuxed&&(n.video+=","+(i.audio||t.main.audioCodec||_.DEFAULT_AUDIO_CODEC)),(t.main.hasAudio&&!t.main.isMuxed||t.audio.hasAudio||r)&&(n.audio=i.audio||t.main.audioCodec||t.audio.audioCodec||_.DEFAULT_AUDIO_CODEC,t.audio.isFmp4=t.main.hasAudio&&!t.main.isMuxed?t.main.isFmp4:t.audio.isFmp4),n.audio||n.video){var a,s={};if(["video","audio"].forEach((function(e){if(n.hasOwnProperty(e)&&(r=t[e].isFmp4,o=n[e],!(r?_.browserSupportsCodec(o):_.muxerSupportsCodec(o)))){var i=t[e].isFmp4?"browser":"muxer";s[i]=s[i]||[],s[i].push(n[e]),"audio"===e&&(a=i)}var r,o})),r&&a&&this.media().attributes.AUDIO){var o=this.media().attributes.AUDIO;this.master().playlists.forEach((function(t){(t.attributes&&t.attributes.AUDIO)===o&&t!==e.media()&&(t.excludeUntil=1/0)})),this.logger_("excluding audio group "+o+" as "+a+' does not support codec(s): "'+n.audio+'"')}if(!Object.keys(s).length){if(this.sourceUpdater_.hasCreatedSourceBuffers()&&!this.sourceUpdater_.canChangeType()){var u=[];if(["video","audio"].forEach((function(t){var i=(_.parseCodecs(e.sourceUpdater_.codecs[t]||"")[0]||{}).type,r=(_.parseCodecs(n[t]||"")[0]||{}).type;i&&r&&i.toLowerCase()!==r.toLowerCase()&&u.push('"'+e.sourceUpdater_.codecs[t]+'" -> "'+n[t]+'"')})),u.length)return void this.blacklistCurrentPlaylist({playlist:this.media(),message:"Codec switching not supported: "+u.join(", ")+".",blacklistDuration:1/0,internal:!0})}return n}var l=Object.keys(s).reduce((function(e,t){return e&&(e+=", "),e+=t+' does not support codec(s): "'+s[t].join(",")+'"'}),"")+".";this.blacklistCurrentPlaylist({playlist:this.media(),internal:!0,message:l,blacklistDuration:1/0})}else this.blacklistCurrentPlaylist({playlist:this.media(),message:"Could not determine codecs for playlist.",blacklistDuration:1/0})},i.tryToCreateSourceBuffers_=function(){if("open"===this.mediaSource.readyState&&!this.sourceUpdater_.hasCreatedSourceBuffers()&&this.areMediaTypesKnown_()){var e=this.getCodecsOrExclude_();if(e){this.sourceUpdater_.createSourceBuffers(e);var t=[e.video,e.audio].filter(Boolean).join(",");this.excludeIncompatibleVariants_(t)}}},i.excludeUnsupportedVariants_=function(){var e=this,t=this.master().playlists,i=[];Object.keys(t).forEach((function(n){var r=t[n];if(-1===i.indexOf(r.id)){i.push(r.id);var a=Us(e.master,r),s=[];!a.audio||_.muxerSupportsCodec(a.audio)||_.browserSupportsCodec(a.audio)||s.push("audio codec "+a.audio),!a.video||_.muxerSupportsCodec(a.video)||_.browserSupportsCodec(a.video)||s.push("video codec "+a.video),a.text&&"stpp.ttml.im1t"===a.text&&s.push("text codec "+a.text),s.length&&(r.excludeUntil=1/0,e.logger_("excluding "+r.id+" for unsupported: "+s.join(", ")))}}))},i.excludeIncompatibleVariants_=function(e){var t=this,i=[],n=this.master().playlists,r=Ds(_.parseCodecs(e)),a=Os(r),s=r.video&&_.parseCodecs(r.video)[0]||null,o=r.audio&&_.parseCodecs(r.audio)[0]||null;Object.keys(n).forEach((function(e){var r=n[e];if(-1===i.indexOf(r.id)&&r.excludeUntil!==1/0){i.push(r.id);var u=[],l=Us(t.masterPlaylistLoader_.master,r),h=Os(l);if(l.audio||l.video){if(h!==a&&u.push('codec count "'+h+'" !== "'+a+'"'),!t.sourceUpdater_.canChangeType()){var d=l.video&&_.parseCodecs(l.video)[0]||null,c=l.audio&&_.parseCodecs(l.audio)[0]||null;d&&s&&d.type.toLowerCase()!==s.type.toLowerCase()&&u.push('video codec "'+d.type+'" !== "'+s.type+'"'),c&&o&&c.type.toLowerCase()!==o.type.toLowerCase()&&u.push('audio codec "'+c.type+'" !== "'+o.type+'"')}u.length&&(r.excludeUntil=1/0,t.logger_("blacklisting "+r.id+": "+u.join(" && ")))}}}))},i.updateAdCues_=function(e){var t=0,i=this.seekable();i.length&&(t=i.start(0)),function(e,t,i){if(void 0===i&&(i=0),e.segments)for(var n,r=i,a=0;a0&&this.logger_("resetting possible stalled download count for "+e+" loader"),this[e+"StalledDownloads_"]=0,this[e+"Buffered_"]=t.buffered_()},t.checkSegmentDownloads_=function(e){var t=this.masterPlaylistController_,i=t[e+"SegmentLoader_"],n=i.buffered_(),r=function(e,t){if(e===t)return!1;if(!e&&t||!t&&e)return!0;if(e.length!==t.length)return!0;for(var i=0;i=t.end(t.length-1)))return this.techWaiting_();this.consecutiveUpdates>=5&&e===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):e===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=e)}},t.cancelTimer_=function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_("cancelTimer_"),clearTimeout(this.timer_)),this.timer_=null},t.fixesBadSeeks_=function(){if(!this.tech_.seeking())return!1;var e,t=this.seekable(),i=this.tech_.currentTime();this.afterSeekableWindow_(t,i,this.media(),this.allowSeeksWithinUnsafeLiveWindow)&&(e=t.end(t.length-1));if(this.beforeSeekableWindow_(t,i)){var n=t.start(0);e=n+(n===t.end(0)?0:.1)}if(void 0!==e)return this.logger_("Trying to seek outside of seekable at time "+i+" with seekable range "+ta(t)+". Seeking to "+e+"."),this.tech_.setCurrentTime(e),!0;var r=this.tech_.buffered();return!!function(e){var t=e.buffered,i=e.targetDuration,n=e.currentTime;return!!t.length&&(!(t.end(0)-t.start(0)<2*i)&&(!(n>t.start(0))&&t.start(0)-n "+i.end(0)+"]. Attempting to resume playback by seeking to the current time."),this.tech_.trigger({type:"usage",name:"vhs-unknown-waiting"}),void this.tech_.trigger({type:"usage",name:"hls-unknown-waiting"})):void 0}},t.techWaiting_=function(){var e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking()&&this.fixesBadSeeks_())return!0;if(this.tech_.seeking()||null!==this.timer_)return!0;if(this.beforeSeekableWindow_(e,t)){var i=e.end(e.length-1);return this.logger_("Fell out of live window at time "+t+". Seeking to live point (seekable end) "+i),this.cancelTimer_(),this.tech_.setCurrentTime(i),this.tech_.trigger({type:"usage",name:"vhs-live-resync"}),this.tech_.trigger({type:"usage",name:"hls-live-resync"}),!0}var n=this.tech_.vhs.masterPlaylistController_.sourceUpdater_,r=this.tech_.buffered();if(this.videoUnderflow_({audioBuffered:n.audioBuffered(),videoBuffered:n.videoBuffered(),currentTime:t}))return this.cancelTimer_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:"usage",name:"vhs-video-underflow"}),this.tech_.trigger({type:"usage",name:"hls-video-underflow"}),!0;var a=ea(r,t);if(a.length>0){var s=a.start(0)-t;return this.logger_("Stopped at "+t+", setting timer for "+s+", seeking to "+a.start(0)),this.cancelTimer_(),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*s,t),!0}return!1},t.afterSeekableWindow_=function(e,t,i,n){if(void 0===n&&(n=!1),!e.length)return!1;var r=e.end(e.length-1)+.1;return!i.endList&&n&&(r=e.end(e.length-1)+3*i.targetDuration),t>r},t.beforeSeekableWindow_=function(e,t){return!!(e.length&&e.start(0)>0&&t2)return{start:r,end:a}}return null},e}(),zo={errorInterval:30,getSource:function(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_||this.currentSource())}},Go=function(e){!function e(t,i){var n=0,r=0,a=Yr.mergeOptions(zo,i);t.ready((function(){t.trigger({type:"usage",name:"vhs-error-reload-initialized"}),t.trigger({type:"usage",name:"hls-error-reload-initialized"})}));var s=function(){r&&t.currentTime(r)},o=function(e){null!=e&&(r=t.duration()!==1/0&&t.currentTime()||0,t.one("loadedmetadata",s),t.src(e),t.trigger({type:"usage",name:"vhs-error-reload"}),t.trigger({type:"usage",name:"hls-error-reload"}),t.play())},u=function(){return Date.now()-n<1e3*a.errorInterval?(t.trigger({type:"usage",name:"vhs-error-reload-canceled"}),void t.trigger({type:"usage",name:"hls-error-reload-canceled"})):a.getSource&&"function"==typeof a.getSource?(n=Date.now(),a.getSource.call(t,o)):void Yr.log.error("ERROR: reloadSourceOnError - The option getSource must be a function!")},l=function e(){t.off("loadedmetadata",s),t.off("error",u),t.off("dispose",e)};t.on("error",u),t.on("dispose",l),t.reloadSourceOnError=function(i){l(),e(t,i)}}(this,e)},Wo={PlaylistLoader:Ua,Playlist:Sa,utils:Ka,STANDARD_PLAYLIST_SELECTOR:Hs,INITIAL_PLAYLIST_SELECTOR:function(){var e=this,t=this.playlists.master.playlists.filter(Sa.isEnabled);return Ns(t,(function(e,t){return js(e,t)})),t.filter((function(t){return!!Us(e.playlists.master,t).video}))[0]||null},lastBandwidthSelector:Hs,movingAverageBandwidthSelector:function(e){var t=-1,i=-1;if(e<0||e>1)throw new Error("Moving average bandwidth decay must be between 0 and 1.");return function(){var n=this.useDevicePixelRatio&&C.default.devicePixelRatio||1;return t<0&&(t=this.systemBandwidth,i=this.systemBandwidth),this.systemBandwidth>0&&this.systemBandwidth!==i&&(t=e*this.systemBandwidth+(1-e)*t,i=this.systemBandwidth),Vs(this.playlists.master,t,parseInt(Bs(this.tech_.el(),"width"),10)*n,parseInt(Bs(this.tech_.el(),"height"),10)*n,this.limitRenditionByPlayerDimensions,this.masterPlaylistController_)}},comparePlaylistBandwidth:js,comparePlaylistResolution:function(e,t){var i,n;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(i=e.attributes.RESOLUTION.width),i=i||C.default.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(n=t.attributes.RESOLUTION.width),i===(n=n||C.default.Number.MAX_VALUE)&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:i-n},xhr:Na()};Object.keys(ns).forEach((function(e){Object.defineProperty(Wo,e,{get:function(){return Yr.log.warn("using Vhs."+e+" is UNSAFE be sure you know what you are doing"),ns[e]},set:function(t){Yr.log.warn("using Vhs."+e+" is UNSAFE be sure you know what you are doing"),"number"!=typeof t||t<0?Yr.log.warn("value of Vhs."+e+" must be greater than or equal to 0"):ns[e]=t}})}));var Yo=function(e,t){for(var i=t.media(),n=-1,r=0;r0?1/this.throughput:0,Math.floor(1/(t+e))},set:function(){Yr.log.error('The "systemBandwidth" property is read-only')}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:function(){return i.bandwidth||0},enumerable:!0},mediaRequests:{get:function(){return i.masterPlaylistController_.mediaRequests_()||0},enumerable:!0},mediaRequestsAborted:{get:function(){return i.masterPlaylistController_.mediaRequestsAborted_()||0},enumerable:!0},mediaRequestsTimedout:{get:function(){return i.masterPlaylistController_.mediaRequestsTimedout_()||0},enumerable:!0},mediaRequestsErrored:{get:function(){return i.masterPlaylistController_.mediaRequestsErrored_()||0},enumerable:!0},mediaTransferDuration:{get:function(){return i.masterPlaylistController_.mediaTransferDuration_()||0},enumerable:!0},mediaBytesTransferred:{get:function(){return i.masterPlaylistController_.mediaBytesTransferred_()||0},enumerable:!0},mediaSecondsLoaded:{get:function(){return i.masterPlaylistController_.mediaSecondsLoaded_()||0},enumerable:!0},mediaAppends:{get:function(){return i.masterPlaylistController_.mediaAppends_()||0},enumerable:!0},mainAppendsToLoadedData:{get:function(){return i.masterPlaylistController_.mainAppendsToLoadedData_()||0},enumerable:!0},audioAppendsToLoadedData:{get:function(){return i.masterPlaylistController_.audioAppendsToLoadedData_()||0},enumerable:!0},appendsToLoadedData:{get:function(){return i.masterPlaylistController_.appendsToLoadedData_()||0},enumerable:!0},timeToLoadedData:{get:function(){return i.masterPlaylistController_.timeToLoadedData_()||0},enumerable:!0},buffered:{get:function(){return ia(i.tech_.buffered())},enumerable:!0},currentTime:{get:function(){return i.tech_.currentTime()},enumerable:!0},currentSource:{get:function(){return i.tech_.currentSource_},enumerable:!0},currentTech:{get:function(){return i.tech_.name_},enumerable:!0},duration:{get:function(){return i.tech_.duration()},enumerable:!0},master:{get:function(){return i.playlists.master},enumerable:!0},playerDimensions:{get:function(){return i.tech_.currentDimensions()},enumerable:!0},seekable:{get:function(){return ia(i.tech_.seekable())},enumerable:!0},timestamp:{get:function(){return Date.now()},enumerable:!0},videoPlaybackQuality:{get:function(){return i.tech_.getVideoPlaybackQuality()},enumerable:!0}}),this.tech_.one("canplay",this.masterPlaylistController_.setupFirstPlay.bind(this.masterPlaylistController_)),this.tech_.on("bandwidthupdate",(function(){i.options_.useBandwidthFromLocalStorage&&function(e){if(!C.default.localStorage)return!1;var t=Xo();t=t?Yr.mergeOptions(t,e):e;try{C.default.localStorage.setItem("videojs-vhs",JSON.stringify(t))}catch(e){return!1}}({bandwidth:i.bandwidth,throughput:Math.round(i.throughput)})})),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var e;(e=i).representations=function(){var t=e.masterPlaylistController_.master(),i=ba(t)?e.masterPlaylistController_.getAudioTrackPlaylists_():t.playlists;return i?i.filter((function(e){return!pa(e)})).map((function(t,i){return new jo(e,t,t.id)})):[]}})),this.masterPlaylistController_.sourceUpdater_.on("createdsourcebuffers",(function(){i.setupEme_()})),this.on(this.masterPlaylistController_,"progress",(function(){this.tech_.trigger("progress")})),this.on(this.masterPlaylistController_,"firstplay",(function(){this.ignoreNextSeekingEvent_=!0})),this.setupQualityLevels_(),this.tech_.el()&&(this.mediaSourceUrl_=C.default.URL.createObjectURL(this.masterPlaylistController_.mediaSource),this.tech_.src(this.mediaSourceUrl_))}},i.setupEme_=function(){var e=this,t=this.masterPlaylistController_.mediaTypes_.AUDIO.activePlaylistLoader,i=Ko({player:this.player_,sourceKeySystems:this.source_.keySystems,media:this.playlists.media(),audioMedia:t&&t.media()});this.player_.tech_.on("keystatuschange",(function(t){"output-restricted"===t.status&&e.masterPlaylistController_.blacklistCurrentPlaylist({playlist:e.masterPlaylistController_.media(),message:"DRM keystatus changed to "+t.status+". Playlist will fail to play. Check for HDCP content.",blacklistDuration:1/0})})),11!==Yr.browser.IE_VERSION&&i?(this.logger_("waiting for EME key session creation"),qo({player:this.player_,sourceKeySystems:this.source_.keySystems,audioMedia:t&&t.media(),mainPlaylists:this.playlists.master.playlists}).then((function(){e.logger_("created EME key session"),e.masterPlaylistController_.sourceUpdater_.initializedEme()})).catch((function(t){e.logger_("error while creating EME key session",t),e.player_.error({message:"Failed to initialize media keys for EME",code:3})}))):this.masterPlaylistController_.sourceUpdater_.initializedEme()},i.setupQualityLevels_=function(){var e=this,t=Yr.players[this.tech_.options_.playerId];t&&t.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=t.qualityLevels(),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var t,i;t=e.qualityLevels_,(i=e).representations().forEach((function(e){t.addQualityLevel(e)})),Yo(t,i.playlists)})),this.playlists.on("mediachange",(function(){Yo(e.qualityLevels_,e.playlists)})))},t.version=function(){return{"@videojs/http-streaming":"2.10.2","mux.js":"5.13.0","mpd-parser":"0.19.0","m3u8-parser":"4.7.0","aes-decrypter":"3.1.2"}},i.version=function(){return this.constructor.version()},i.canChangeType=function(){return yo.canChangeType()},i.play=function(){this.masterPlaylistController_.play()},i.setCurrentTime=function(e){this.masterPlaylistController_.setCurrentTime(e)},i.duration=function(){return this.masterPlaylistController_.duration()},i.seekable=function(){return this.masterPlaylistController_.seekable()},i.dispose=function(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.masterPlaylistController_&&this.masterPlaylistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.player_&&(delete this.player_.vhs,delete this.player_.dash,delete this.player_.hls),this.tech_&&this.tech_.vhs&&delete this.tech_.vhs,this.tech_&&delete this.tech_.hls,this.mediaSourceUrl_&&C.default.URL.revokeObjectURL&&(C.default.URL.revokeObjectURL(this.mediaSourceUrl_),this.mediaSourceUrl_=null),e.prototype.dispose.call(this)},i.convertToProgramTime=function(e,t){return Xa({playlist:this.masterPlaylistController_.media(),time:e,callback:t})},i.seekToProgramTime=function(e,t,i,n){return void 0===i&&(i=!0),void 0===n&&(n=2),Qa({programTime:e,playlist:this.masterPlaylistController_.media(),retryCount:n,pauseAfterSeek:i,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})},t}(Yr.getComponent("Component")),$o={name:"videojs-http-streaming",VERSION:"2.10.2",canHandleSource:function(e,t){void 0===t&&(t={});var i=Yr.mergeOptions(Yr.options,t);return $o.canPlayType(e.type,i)},handleSource:function(e,t,i){void 0===i&&(i={});var n=Yr.mergeOptions(Yr.options,i);return t.vhs=new Qo(e,t,n),Yr.hasOwnProperty("hls")||Object.defineProperty(t,"hls",{get:function(){return Yr.log.warn("player.tech().hls is deprecated. Use player.tech().vhs instead."),t.vhs},configurable:!0}),t.vhs.xhr=Na(),t.vhs.src(e.src,e.type),t.vhs},canPlayType:function(e,t){void 0===t&&(t={});var i=Yr.mergeOptions(Yr.options,t).vhs.overrideNative,n=void 0===i?!Yr.browser.IS_ANY_SAFARI:i,r=g.simpleTypeFromSourceType(e);return r&&(!Wo.supportsTypeNatively(r)||n)?"maybe":""}};_.browserSupportsCodec("avc1.4d400d,mp4a.40.2")&&Yr.getTech("Html5").registerSourceHandler($o,0),Yr.VhsHandler=Qo,Object.defineProperty(Yr,"HlsHandler",{get:function(){return Yr.log.warn("videojs.HlsHandler is deprecated. Use videojs.VhsHandler instead."),Qo},configurable:!0}),Yr.VhsSourceHandler=$o,Object.defineProperty(Yr,"HlsSourceHandler",{get:function(){return Yr.log.warn("videojs.HlsSourceHandler is deprecated. Use videojs.VhsSourceHandler instead."),$o},configurable:!0}),Yr.Vhs=Wo,Object.defineProperty(Yr,"Hls",{get:function(){return Yr.log.warn("videojs.Hls is deprecated. Use videojs.Vhs instead."),Wo},configurable:!0}),Yr.use||(Yr.registerComponent("Hls",Wo),Yr.registerComponent("Vhs",Wo)),Yr.options.vhs=Yr.options.vhs||{},Yr.options.hls=Yr.options.hls||{},Yr.registerPlugin?Yr.registerPlugin("reloadSourceOnError",Go):Yr.plugin("reloadSourceOnError",Go),t.exports=Yr},{"@babel/runtime/helpers/assertThisInitialized":1,"@babel/runtime/helpers/construct":2,"@babel/runtime/helpers/extends":3,"@babel/runtime/helpers/inherits":4,"@babel/runtime/helpers/inheritsLoose":5,"@videojs/vhs-utils/cjs/byte-helpers":9,"@videojs/vhs-utils/cjs/codecs.js":11,"@videojs/vhs-utils/cjs/containers":12,"@videojs/vhs-utils/cjs/id3-helpers":15,"@videojs/vhs-utils/cjs/media-types.js":16,"@videojs/vhs-utils/cjs/resolve-url.js":20,"@videojs/xhr":23,"global/document":33,"global/window":34,keycode:37,"m3u8-parser":38,"mpd-parser":40,"mux.js/lib/tools/parse-sidx":42,"mux.js/lib/utils/clock":43,"safe-json-parse/tuple":45,"videojs-vtt.js":48}],48:[function(e,t,i){var n=e("global/window"),r=t.exports={WebVTT:e("./vtt.js"),VTTCue:e("./vttcue.js"),VTTRegion:e("./vttregion.js")};n.vttjs=r,n.WebVTT=r.WebVTT;var a=r.VTTCue,s=r.VTTRegion,o=n.VTTCue,u=n.VTTRegion;r.shim=function(){n.VTTCue=a,n.VTTRegion=s},r.restore=function(){n.VTTCue=o,n.VTTRegion=u},n.VTTCue||r.shim()},{"./vtt.js":49,"./vttcue.js":50,"./vttregion.js":51,"global/window":34}],49:[function(e,t,i){var n=e("global/document"),r=Object.create||function(){function e(){}return function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return e.prototype=t,new e}}();function a(e,t){this.name="ParsingError",this.code=e.code,this.message=t||e.message}function s(e){function t(e,t,i,n){return 3600*(0|e)+60*(0|t)+(0|i)+(0|n)/1e3}var i=e.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return i?i[3]?t(i[1],i[2],i[3].replace(":",""),i[4]):i[1]>59?t(i[1],i[2],0,i[4]):t(0,i[1],i[2],i[4]):null}function o(){this.values=r(null)}function u(e,t,i,n){var r=n?e.split(n):[e];for(var a in r)if("string"==typeof r[a]){var s=r[a].split(i);if(2===s.length)t(s[0],s[1])}}function l(e,t,i){var n=e;function r(){var t=s(e);if(null===t)throw new a(a.Errors.BadTimeStamp,"Malformed timestamp: "+n);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function l(){e=e.replace(/^\s+/,"")}if(l(),t.startTime=r(),l(),"--\x3e"!==e.substr(0,3))throw new a(a.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+n);e=e.substr(3),l(),t.endTime=r(),l(),function(e,t){var n=new o;u(e,(function(e,t){switch(e){case"region":for(var r=i.length-1;r>=0;r--)if(i[r].id===t){n.set(e,i[r].region);break}break;case"vertical":n.alt(e,t,["rl","lr"]);break;case"line":var a=t.split(","),s=a[0];n.integer(e,s),n.percent(e,s)&&n.set("snapToLines",!1),n.alt(e,s,["auto"]),2===a.length&&n.alt("lineAlign",a[1],["start","center","end"]);break;case"position":a=t.split(","),n.percent(e,a[0]),2===a.length&&n.alt("positionAlign",a[1],["start","center","end"]);break;case"size":n.percent(e,t);break;case"align":n.alt(e,t,["start","center","end","left","right"])}}),/:/,/\s/),t.region=n.get("region",null),t.vertical=n.get("vertical","");try{t.line=n.get("line","auto")}catch(e){}t.lineAlign=n.get("lineAlign","start"),t.snapToLines=n.get("snapToLines",!0),t.size=n.get("size",100);try{t.align=n.get("align","center")}catch(e){t.align=n.get("align","middle")}try{t.position=n.get("position","auto")}catch(e){t.position=n.get("position",{start:0,left:0,center:50,middle:50,end:100,right:100},t.align)}t.positionAlign=n.get("positionAlign",{start:"start",left:"start",center:"center",middle:"center",end:"end",right:"end"},t.align)}(e,t)}a.prototype=r(Error.prototype),a.prototype.constructor=a,a.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},o.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,i){for(var n=0;n=0&&t<=100)&&(this.set(e,t),!0)}};var h=n.createElement&&n.createElement("textarea"),d={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},c={white:"rgba(255,255,255,1)",lime:"rgba(0,255,0,1)",cyan:"rgba(0,255,255,1)",red:"rgba(255,0,0,1)",yellow:"rgba(255,255,0,1)",magenta:"rgba(255,0,255,1)",blue:"rgba(0,0,255,1)",black:"rgba(0,0,0,1)"},f={v:"title",lang:"lang"},p={rt:"ruby"};function m(e,t){function i(){if(!t)return null;var e,i=t.match(/^([^<]*)(<[^>]*>?)?/);return e=i[1]?i[1]:i[2],t=t.substr(e.length),e}function n(e,t){return!p[t.localName]||p[t.localName]===e.localName}function r(t,i){var n=d[t];if(!n)return null;var r=e.document.createElement(n),a=f[t];return a&&i&&(r[a]=i.trim()),r}for(var a,o,u=e.document.createElement("div"),l=u,m=[];null!==(a=i());)if("<"!==a[0])l.appendChild(e.document.createTextNode((o=a,h.innerHTML=o,o=h.textContent,h.textContent="",o)));else{if("/"===a[1]){m.length&&m[m.length-1]===a.substr(2).replace(">","")&&(m.pop(),l=l.parentNode);continue}var _,g=s(a.substr(1,a.length-2));if(g){_=e.document.createProcessingInstruction("timestamp",g),l.appendChild(_);continue}var v=a.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!v)continue;if(!(_=r(v[1],v[3])))continue;if(!n(l,_))continue;if(v[2]){var y=v[2].split(".");y.forEach((function(e){var t=/^bg_/.test(e),i=t?e.slice(3):e;if(c.hasOwnProperty(i)){var n=t?"background-color":"color",r=c[i];_.style[n]=r}})),_.className=y.join(" ")}m.push(v[1]),l.appendChild(_),l=_}return u}var _=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function g(e){for(var t=0;t<_.length;t++){var i=_[t];if(e>=i[0]&&e<=i[1])return!0}return!1}function v(e){var t=[],i="";if(!e||!e.childNodes)return"ltr";function n(e,t){for(var i=t.childNodes.length-1;i>=0;i--)e.push(t.childNodes[i])}function r(e){if(!e||!e.length)return null;var t=e.pop(),i=t.textContent||t.innerText;if(i){var a=i.match(/^.*(\n|\r)/);return a?(e.length=0,a[0]):i}return"ruby"===t.tagName?r(e):t.childNodes?(n(e,t),r(e)):void 0}for(n(t,e);i=r(t);)for(var a=0;a=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,i=t.textTrackList,n=0,r=0;rd&&(h=h<0?-1:1,h*=Math.ceil(d/l)*l),s<0&&(h+=""===a.vertical?i.height:i.width,o=o.reverse()),r.move(c,h)}else{var f=r.lineHeight/i.height*100;switch(a.lineAlign){case"center":s-=f/2;break;case"end":s-=f}switch(a.vertical){case"":t.applyStyles({top:t.formatStyle(s,"%")});break;case"rl":t.applyStyles({left:t.formatStyle(s,"%")});break;case"lr":t.applyStyles({right:t.formatStyle(s,"%")})}o=["+y","-x","+x","-y"],r=new S(t)}var p=function(e,t){for(var r,a=new S(e),s=1,o=0;ou&&(r=new S(e),s=u),e=new S(a)}return r||a}(r,o);t.move(p.toCSSCompatValues(i))}function E(){}y.prototype.applyStyles=function(e,t){for(var i in t=t||this.div,e)e.hasOwnProperty(i)&&(t.style[i]=e[i])},y.prototype.formatStyle=function(e,t){return 0===e?0:e+t},b.prototype=r(y.prototype),b.prototype.constructor=b,S.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case"+x":this.left+=t,this.right+=t;break;case"-x":this.left-=t,this.right-=t;break;case"+y":this.top+=t,this.bottom+=t;break;case"-y":this.top-=t,this.bottom-=t}},S.prototype.overlaps=function(e){return this.lefte.left&&this.tope.top},S.prototype.overlapsAny=function(e){for(var t=0;t=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},S.prototype.overlapsOppositeAxis=function(e,t){switch(t){case"+x":return this.lefte.right;case"+y":return this.tope.bottom}},S.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},S.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},S.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,i=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,n=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||n,height:e.height||t,bottom:e.bottom||n+(e.height||t),width:e.width||i}},E.StringDecoder=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}},E.convertCueToDOMTree=function(e,t){return e&&t?m(e,t):null};E.processCues=function(e,t,i){if(!e||!t||!i)return null;for(;i.firstChild;)i.removeChild(i.firstChild);var n=e.document.createElement("div");if(n.style.position="absolute",n.style.left="0",n.style.right="0",n.style.top="0",n.style.bottom="0",n.style.margin="1.5%",i.appendChild(n),function(e){for(var t=0;t100)throw new Error("Position must be between 0 and 100.");m=e,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return _},set:function(e){var t=a(e);t&&(_=t,this.hasBeenReset=!0)}},size:{enumerable:!0,get:function(){return g},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");g=e,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return v},set:function(e){var t=a(e);if(!t)throw new SyntaxError("align: an invalid or illegal alignment string was specified.");v=t,this.hasBeenReset=!0}}}),this.displayState=void 0}s.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},t.exports=s},{}],51:[function(e,t,i){var n={"":!0,up:!0};function r(e){return"number"==typeof e&&e>=0&&e<=100}t.exports=function(){var e=100,t=3,i=0,a=100,s=0,o=100,u="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!r(t))throw new Error("Width must be between 0 and 100.");e=t}},lines:{enumerable:!0,get:function(){return t},set:function(e){if("number"!=typeof e)throw new TypeError("Lines must be set to a number.");t=e}},regionAnchorY:{enumerable:!0,get:function(){return a},set:function(e){if(!r(e))throw new Error("RegionAnchorX must be between 0 and 100.");a=e}},regionAnchorX:{enumerable:!0,get:function(){return i},set:function(e){if(!r(e))throw new Error("RegionAnchorY must be between 0 and 100.");i=e}},viewportAnchorY:{enumerable:!0,get:function(){return o},set:function(e){if(!r(e))throw new Error("ViewportAnchorY must be between 0 and 100.");o=e}},viewportAnchorX:{enumerable:!0,get:function(){return s},set:function(e){if(!r(e))throw new Error("ViewportAnchorX must be between 0 and 100.");s=e}},scroll:{enumerable:!0,get:function(){return u},set:function(e){var t=function(e){return"string"==typeof e&&(!!n[e.toLowerCase()]&&e.toLowerCase())}(e);!1===t||(u=t)}}})}},{}],52:[function(e,t,i){"use strict";t.exports={H265WEBJS_COMPILE_MULTI_THREAD_SHAREDBUFFER:0,DEFAULT_PLAYERE_LOAD_TIMEOUT:20,DEFAILT_WEBGL_PLAY_ID:"glplayer",PLAYER_IN_TYPE_MP4:"mp4",PLAYER_IN_TYPE_FLV:"flv",PLAYER_IN_TYPE_HTTPFLV:"httpflv",PLAYER_IN_TYPE_RAW_265:"raw265",PLAYER_IN_TYPE_TS:"ts",PLAYER_IN_TYPE_MPEGTS:"mpegts",PLAYER_IN_TYPE_M3U8:"hls",PLAYER_IN_TYPE_M3U8_VOD:"m3u8",PLAYER_IN_TYPE_M3U8_LIVE:"hls",APPEND_TYPE_STREAM:0,APPEND_TYPE_FRAME:1,APPEND_TYPE_SEQUENCE:2,DEFAULT_WIDTH:600,DEFAULT_HEIGHT:600,DEFAULT_FPS:30,DEFAULT_FRAME_DUR:40,DEFAULT_FIXED:!1,DEFAULT_SAMPLERATE:44100,DEFAULT_CHANNELS:2,DEFAULT_CONSU_SAMPLE_LEN:20,PLAYER_MODE_VOD:"vod",PLAYER_MODE_NOTIME_LIVE:"live",AUDIO_MODE_ONCE:"ONCE",AUDIO_MODE_SWAP:"SWAP",DEFAULT_STRING_LIVE:"LIVE",CODEC_H265:0,CODEC_H264:1,PLAYER_CORE_TYPE_DEFAULT:0,PLAYER_CORE_TYPE_CNATIVE:1,PLAYER_CNATIVE_VOD_RETRY_MAX:7,URI_PROTOCOL_WEBSOCKET:"ws",URI_PROTOCOL_WEBSOCKET_DESC:"websocket",URI_PROTOCOL_HTTP:"http",URI_PROTOCOL_HTTP_DESC:"http",FETCH_FIRST_MAX_TIMES:5,FETCH_HTTP_FLV_TIMEOUT_MS:7e3,V_CODEC_NAME_HEVC:265,V_CODEC_NAME_AVC:264,V_CODEC_NAME_UNKN:500,A_CODEC_NAME_AAC:112,A_CODEC_NAME_MP3:113,A_CODEC_NAME_UNKN:500,CACHE_NO_LOADCACHE:1001,CACHE_WITH_PLAY_SIGN:1002,CACHE_WITH_NOPLAY_SIGN:1003,V_CODEC_AVC_DEFAULT_FPS:25}},{}],53:[function(e,t,i){"use strict";var n=window.AudioContext||window.webkitAudioContext,r=e("../consts"),a=e("./av-common");t.exports=function(){var e={options:{sampleRate:r.DEFAULT_SAMPLERATE,appendType:r.APPEND_TYPE_FRAME,playMode:r.AUDIO_MODE_SWAP},sourceChannel:-1,audioCtx:new n({latencyHint:"interactive",sampleRate:r.DEFAULT_SAMPLERATE}),gainNode:null,sourceList:[],startStatus:!1,sampleQueue:[],nextBuffer:null,playTimestamp:0,playStartTime:0,durationMs:-1,isLIVE:!1,voice:1,onLoadCache:null,resetStartParam:function(){e.playTimestamp=0,e.playStartTime=0},setOnLoadCache:function(t){e.onLoadCache=t},setDurationMs:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;e.durationMs=t},setVoice:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;e.voice=t,e.gainNode.gain.value=t},getAlignVPTS:function(){return e.playTimestamp+(a.GetMsTime()-e.playStartTime)/1e3},swapSource:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(0==e.startStatus)return null;if(t<0||t>=e.sourceList.length)return null;if(i<0||i>=e.sourceList.length)return null;try{e.sourceChannel===t&&null!==e.sourceList[t]&&(e.sourceList[t].disconnect(e.gainNode),e.sourceList[t]=null)}catch(e){console.error("[DEFINE ERROR] audioPcmModule disconnect source Index:"+t+" error happened!",e)}e.sourceChannel=i;var n=e.decodeSample(i,t);-2==n&&e.isLIVE&&(e.getAlignVPTS()>=e.durationMs/1e3-.04?e.pause():null!==e.onLoadCache&&e.onLoadCache())},addSample:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return!(null==t||!t||null==t)&&(0==e.sampleQueue.length&&(e.seekPos=t.pts),e.sampleQueue.push(t),e.sampleQueue.length,!0)},runNextBuffer:function(){window.setInterval((function(){if(!(null!=e.nextBuffer||e.sampleQueue.length0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(t<0||t>=e.sourceList.length)return-1;if(null!=e.sourceList[t]&&null!=e.sourceList[t]&&e.sourceList[t]||(e.sourceList[t]=e.audioCtx.createBufferSource(),e.sourceList[t].onended=function(){e.swapSource(t,i)}),0==e.sampleQueue.length)return e.isLIVE?(e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].onended=function(){e.swapSource(t,i)},e.sourceList[t].stop(),0):-2;if(e.sourceList[t].buffer)return e.swapSource(t,i),0;if(null==e.nextBuffer||e.nextBuffer.data.length<1)return e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].startState=!0,e.sourceList[t].stop(),1;var n=e.nextBuffer.data;e.playTimestamp=e.nextBuffer.pts,e.playStartTime=a.GetMsTime(),e.nextBuffer.data,e.playTimestamp;try{var r=e.audioCtx.createBuffer(1,n.length,e.options.sampleRate);r.copyToChannel(n,0),null!==e.sourceList[t]&&(e.sourceList[t].buffer=r,e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].startState=!0)}catch(t){return e.nextBuffer=null,-3}return e.nextBuffer=null,0},decodeWholeSamples:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e.sourceChannel=t,t<0||t>=e.sourceList.length)return-1;if(null!=e.sourceList[t]&&null!=e.sourceList[t]&&e.sourceList[t]||(e.sourceList[t]=e.audioCtx.createBufferSource(),e.sourceList[t].onended=function(){}),0==e.sampleQueue.length)return-2;for(var i=null,n=null,a=0;a0&&void 0!==arguments[0]?arguments[0]:-1;t.durationMs=e},setVoice:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t.voice=e,t.gainNode.gain.value=e},getAlignVPTS:function(){return t.playTimestamp+(a.GetMsTime()-t.playStartTime)/1e3},swapSource:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(0==t.startStatus)return null;if(e<0||e>=t.sourceList.length)return null;if(i<0||i>=t.sourceList.length)return null;try{t.sourceChannel===e&&null!==t.sourceList[e]&&(t.sourceList[e].disconnect(t.gainNode),t.sourceList[e]=null)}catch(t){console.error("[DEFINE ERROR] audioModule disconnect source Index:"+e+" error happened!",t)}t.sourceChannel=i;var n=t.decodeSample(i,e);-2==n&&t.isLIVE&&(t.getAlignVPTS()>=t.durationMs/1e3-.04?t.pause():null!==t.onLoadCache&&t.onLoadCache())},addSample:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return!(null==e||!e||null==e)&&(0==t.sampleQueue.length&&(t.seekPos=e.pts),t.sampleQueue.push(e),!0)},runNextBuffer:function(){window.setInterval((function(){if(!(null!=t.nextBuffer||t.sampleQueue.length0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(e<0||e>=t.sourceList.length)return-1;if(null!=t.sourceList[e]&&null!=t.sourceList[e]&&t.sourceList[e]||(t.sourceList[e]=t.audioCtx.createBufferSource(),t.sourceList[e].onended=function(){t.swapSource(e,i)}),0==t.sampleQueue.length)return t.isLIVE?(t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].onended=function(){t.swapSource(e,i)},t.sourceList[e].stop(),0):-2;if(t.sourceList[e].buffer)return t.swapSource(e,i),0;if(null==t.nextBuffer||t.nextBuffer.data.length<1)return t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].startState=!0,t.sourceList[e].stop(),1;var n=t.nextBuffer.data.buffer;t.playTimestamp=t.nextBuffer.pts,t.playStartTime=a.GetMsTime();try{t.audioCtx.decodeAudioData(n,(function(i){null!==t.sourceList[e]&&(t.sourceList[e].buffer=i,t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].startState=!0)}),(function(e){}))}catch(e){return t.nextBuffer=null,-3}return t.nextBuffer=null,0},decodeWholeSamples:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(t.sourceChannel=e,e<0||e>=t.sourceList.length)return-1;if(null!=t.sourceList[e]&&null!=t.sourceList[e]&&t.sourceList[e]||(t.sourceList[e]=t.audioCtx.createBufferSource(),t.sourceList[e].onended=function(){}),0==t.sampleQueue.length)return-2;for(var i=null,n=null,a=0;a=2){var s=i.length/2;a=new Float32Array(s);for(var o=0,u=0;uthis._push_start_idx))return-1;this.playStartTime<0&&(this.playStartTime=a.GetMsTime(),this.playTimestamp=a.GetMsTime()),this._swapStartPlay=!1;var e=this._push_start_idx+this._once_pop_len;e>this._pcm_array_buf.length&&(e=this._pcm_array_buf.length);var t=this._pcm_array_buf.slice(this._push_start_idx,e);this._push_start_idx+=t.length,this._now_seg_dur=1*t.length/this._sample_rate*1e3,t.length,this._sample_rate,this._now_seg_dur;var i=this._ctx.createBuffer(1,t.length,this._sample_rate);return t.length,new Date,i.copyToChannel(t,0),this._active_node=this._ctx.createBufferSource(),this._active_node.buffer=i,this._active_node.connect(this._gain),this.playStartTime=a.GetMsTime(),this._active_node.start(0),this.playTimestamp+=this._now_seg_dur,0}},{key:"getAlignVPTS",value:function(){return this.playTimestamp}},{key:"pause",value:function(){null!==this._playInterval&&(window.clearInterval(this._playInterval),this._playInterval=null)}},{key:"play",value:function(){var e=this;this._playInterval=window.setInterval((function(){e.readingLoopWithF32()}),10)}}])&&n(t.prototype,i),s&&n(t,s),e}();i.AudioPcmPlayer=s},{"../consts":52,"./av-common":56}],56:[function(e,t,i){"use strict";var n=e("../consts"),r=[{format:"mp4",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"mov",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"mkv",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"flv",value:"flv",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"m3u8",value:"hls",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"m3u",value:"hls",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"ts",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"ps",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"mpegts",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"hevc",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"h265",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"265",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT}],a=[{format:n.URI_PROTOCOL_HTTP,value:n.URI_PROTOCOL_HTTP_DESC},{format:n.URI_PROTOCOL_WEBSOCKET,value:n.URI_PROTOCOL_WEBSOCKET_DESC}];t.exports={frameDataAlignCrop:function(e,t,i,n,r,a,s,o){if(0==e-n)return[a,s,o];for(var u=n*r,l=u/4,h=new Uint8Array(u),d=new Uint8Array(l),c=new Uint8Array(l),f=n,p=n/2,m=0;m=0)return i.value}return r[0].value},GetFormatPlayCore:function(e){if(null!=e)for(var t=0;t=0)return i.value}return a[0].value},GetMsTime:function(){return(new Date).getTime()},GetScriptPath:function(e){var t=e.toString(),i=t.match(/^\s*function\s*\(\s*\)\s*\{(([\s\S](?!\}$))*[\s\S])/),n=[i[1]];return window.URL.createObjectURL(new Blob(n,{type:"text/javascript"}))},BrowserJudge:function(){var e=window.document,t=window.navigator.userAgent.toLowerCase(),i=e.documentMode,n=window.chrome||!1,r={agent:t,isIE:/msie/.test(t),isGecko:t.indexOf("gecko")>0&&t.indexOf("like gecko")<0,isWebkit:t.indexOf("webkit")>0,isStrict:"CSS1Compat"===e.compatMode,supportSubTitle:function(){return"track"in e.createElement("track")},supportScope:function(){return"scoped"in e.createElement("style")},ieVersion:function(){try{return t.match(/msie ([\d.]+)/)[1]||0}catch(e){return i}},operaVersion:function(){try{if(window.opera)return t.match(/opera.([\d.]+)/)[1];if(t.indexOf("opr")>0)return t.match(/opr\/([\d.]+)/)[1]}catch(e){return 0}},versionFilter:function(){if(1===arguments.length&&"string"==typeof arguments[0]){var e=arguments[0],t=e.indexOf(".");if(t>0){var i=e.indexOf(".",t+1);if(-1!==i)return e.substr(0,i)}return e}return 1===arguments.length?arguments[0]:0}};try{r.type=r.isIE?"IE":window.opera||t.indexOf("opr")>0?"Opera":t.indexOf("chrome")>0?"Chrome":t.indexOf("safari")>0||window.openDatabase?"Safari":t.indexOf("firefox")>0?"Firefox":"unknow",r.version="IE"===r.type?r.ieVersion():"Firefox"===r.type?t.match(/firefox\/([\d.]+)/)[1]:"Chrome"===r.type?t.match(/chrome\/([\d.]+)/)[1]:"Opera"===r.type?r.operaVersion():"Safari"===r.type?t.match(/version\/([\d.]+)/)[1]:"0",r.shell=function(){if(t.indexOf("maxthon")>0)return r.version=t.match(/maxthon\/([\d.]+)/)[1]||r.version,"傲游浏览器";if(t.indexOf("qqbrowser")>0)return r.version=t.match(/qqbrowser\/([\d.]+)/)[1]||r.version,"QQ浏览器";if(t.indexOf("se 2.x")>0)return"搜狗浏览器";if(n&&"Opera"!==r.type){var e=window.external,i=window.clientInformation.languages;if(e&&"LiebaoGetVersion"in e)return"猎豹浏览器";if(t.indexOf("bidubrowser")>0)return r.version=t.match(/bidubrowser\/([\d.]+)/)[1]||t.match(/chrome\/([\d.]+)/)[1],"百度浏览器";if(r.supportSubTitle()&&void 0===i){var a=Object.keys(n.webstore).length;window;return a>1?"360极速浏览器":"360安全浏览器"}return"Chrome"}return r.type},r.name=r.shell(),r.version=r.versionFilter(r.version)}catch(e){}return[r.type,r.version]},ParseGetMediaURL:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"http";if("http"!==t&&"ws"!==t&&"wss"!==t&&(e.indexOf("ws")>=0||e.indexOf("wss")>=0)&&(t="ws"),"ws"===t||"wss"===t)return e;var i=e;if(e.indexOf(t)>=0)i=e;else if("/"===e[0])i="/"===e[1]?t+":"+e:window.location.origin+e;else if(":"===e[0])i=t+e;else{var n=window.location.href.split("/");i=window.location.href.replace(n[n.length-1],e)}return i},IsSupport265Mse:function(){return MediaSource.isTypeSupported('video/mp4;codecs=hvc1.1.1.L63.B0"')}}},{"../consts":52}],57:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&a.GetMsTime()-t.getPackageTimeMS>=o.FETCH_HTTP_FLV_TIMEOUT_MS&&(t.getPackageTimeMS=a.GetMsTime(),t.workerFetch.postMessage({cmd:"retry",data:null,msg:"retry"}))}),5));break;case"fetch-chunk":var n=i.data;t.download_length+=n.length,setTimeout((function(){var e=Module._malloc(n.length);Module.HEAP8.set(n,e),Module.cwrap("pushSniffG711FlvData","number",["number","number","number","number"])(t.corePtr,e,n.length,t.config.probeSize),Module._free(e),e=null}),0),t.totalLen+=n.length,n.length>0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++;break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_reinitAudioModule",value:function(){void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=s()}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,s,u,l){for(var h=Module.HEAPU8.subarray(l,l+10),d=0;d100&&(c=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=u,this.config.fps=c,this.mediaInfo.fps=c,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+2)),this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS?(this.config.sampleRate=a,this.mediaInfo.sampleRate=a,!1===this.muted&&this._reinitAudioModule(this.mediaInfo.sampleRate)):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u,l){var h=this,d=Module.HEAPU8.subarray(e,e+n*o),c=new Uint8Array(d),f=Module.HEAPU8.subarray(t,t+r*o/2),p=new Uint8Array(f),m=Module.HEAPU8.subarray(i,i+a*o/2),_={bufY:c,bufU:p,bufV:new Uint8Array(m),line_y:n,h:o,pts:u};this.YuvBuf.push(_),this.checkCacheState(),Module._free(d),d=null,Module._free(f),f=null,Module._free(m),m=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||!0!==this.config.autoPlay||(this.play(),setTimeout((function(){h.isPlayingState()}),3e3)))}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e,t,i,n){var r=Module.HEAPU8.subarray(e,e+t),a=new Uint8Array(r).buffer,s=this._ptsFixed2(i),o=null,u=a.byteLength%4;if(0!==u){var l=new Uint8Array(a.byteLength+u);l.set(new Uint8Array(a),0),o=new Float32Array(l.buffer)}else o=new Float32Array(a);var h={pts:s,data:o};this.audioWAudio.addSample(h),this.checkCacheState()}},{key:"_decode",value:function(){var e=this;setTimeout((function(){null!==e.workerFetch&&(Module.cwrap("decodeG711Frame","number",["number"])(e.corePtr),e._decode())}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){var e=this.YuvBuf.length>=25&&(!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseG711","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,delete window.g_players[this.corePtr],0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return e.pts,this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this;if(!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;var t=1*e.frameTime;if(void 0===this.playInterval||null===this.playInterval){var i=0,n=0,s=0;!1===this.mediaInfo.audioNone&&this.audioWAudio&&!1===this.mediaInfo.noFPS?(this.playInterval=setInterval((function(){if(n=a.GetMsTime(),e.cache_status){if(n-i>=e.frameTime-s){var o=e.YuvBuf.shift();if(null!=o&&null!==o){o.pts;var u=0;null!==e.audioWAudio&&void 0!==e.audioWAudio?(u=1e3*(o.pts-e.audioWAudio.getAlignVPTS()),s=u<0&&-1*u<=t||u>0&&u<=t||0===u||u>0&&u>t?a.GetMsTime()-n+1:e.frameTime):s=a.GetMsTime()-n+1,e.showScreen&&e.onRender&&e.onRender(o.line_y,o.h,o.bufY,o.bufU,o.bufV),o.pts,r.renderFrame(e.AVGLObj,o.bufY,o.bufU,o.bufV,o.line_y,o.h)}e.YuvBuf.length<=0&&(e.cache_status=!1,e.onLoadCache&&e.onLoadCache(),e.audioWAudio&&e.audioWAudio.pause()),i=n}}else s=e.frameTime}),1),this.audioWAudio&&this.audioWAudio.play()):this.playInterval=setInterval((function(){var t=e.YuvBuf.shift();null!=t&&null!==t&&(t.pts,e.showScreen&&e.onRender&&e.onRender(t.line_y,t.h,t.bufY,t.bufU,t.bufV),r.renderFrame(e.AVGLObj,t.bufY,t.bufU,t.bufV,t.line_y,t.h)),e.YuvBuf.length<=0&&(e.cache_status=!1)}),e.frameTime)}this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null,t=new AbortController,i=t.signal,n=(self,function(e){var t=!1;t||(t=!0,fetch(e,{signal:i}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return self.postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}self.postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" httplive request error:"+e+" start to retry";console.error(t),self.postMessage({cmd:"fetch-error",data:t,msg:"fetch-error"})}})))});self.onmessage=function(r){var a=r.data;switch(void 0===a.cmd||null===a.cmd?"":a.cmd){case"start":e=a.data,n(e),self.postMessage({cmd:"startok",data:"WORKER STARTED",msg:"startok"});break;case"stop":t.abort(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"});break;case"retry":t.abort(),t=null,i=null,t=new AbortController,i=t.signal,setTimeout((function(){n(e)}),3e3)}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),Module.cwrap("initializeSniffG711Module","number",["number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_sampleCallback,0,1),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),0===o.H265WEBJS_COMPILE_MULTI_THREAD_SHAREDBUFFER&&this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CHttpG711Core=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-core-pcm":53,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],58:[function(e,t,i){"use strict";function n(e,t){for(var i=0;it.config.probeSize?(Module.cwrap("getSniffHttpFlvPkg","number",["number"])(t.corePtr),t.pushPkg-=1):t.getPackageTimeMS>0&&a.GetMsTime()-t.getPackageTimeMS>=o.FETCH_HTTP_FLV_TIMEOUT_MS&&(t.getPackageTimeMS=a.GetMsTime(),t.workerFetch.postMessage({cmd:"retry",data:null,msg:"retry"}))}),5));break;case"fetch-chunk":var n=i.data;t.download_length+=n.length,setTimeout((function(){var e=Module._malloc(n.length);Module.HEAP8.set(n,e),Module.cwrap("pushSniffHttpFlvData","number",["number","number","number","number"])(t.corePtr,e,n.length,t.config.probeSize),Module._free(e),e=null}),0),t.totalLen+=n.length,n.length>0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++;break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;break;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_reinitAudioModule",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:44100;this.config.ignoreAudio>0||(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=s({sampleRate:e,appendType:o.APPEND_TYPE_FRAME}),this.audioWAudio.isLIVE=!0)}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,s,u,l){var h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0;if(1!==h){for(var d=Module.HEAPU8.subarray(l,l+10),c=0;c100&&(f=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=u,this.config.fps=f,this.mediaInfo.fps=f,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+5)),this.chaseFrame=0,this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS?(this.config.sampleRate=a,this.mediaInfo.sampleRate=a,this.config.ignoreAudio<1&&!1===this.muted&&this._reinitAudioModule(this.mediaInfo.sampleRate)):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}else this.onProbeFinish&&this.onProbeFinish(h)}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u,l){var h=this,d=Module.HEAPU8.subarray(e,e+n*o),c=new Uint8Array(d),f=Module.HEAPU8.subarray(t,t+r*o/2),p=new Uint8Array(f),m=Module.HEAPU8.subarray(i,i+a*o/2),_={bufY:c,bufU:p,bufV:new Uint8Array(m),line_y:n,h:o,pts:u};this.YuvBuf.push(_),this.YuvBuf.length,this.checkCacheState(),Module._free(d),d=null,Module._free(f),f=null,Module._free(m),m=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||!0!==this.config.autoPlay||(this.play(),setTimeout((function(){h.isPlayingState()}),3e3)))}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e){this.config.ignoreAudio}},{key:"_callbackAAC",value:function(e,t,i,n){if(!(this.config.ignoreAudio>0)){var r=this._ptsFixed2(n);if(this.audioWAudio&&!1===this.muted){var a=Module.HEAPU8.subarray(e,e+t),s={pts:r,data:new Uint8Array(a)};this.audioWAudio.addSample(s),this.checkCacheState()}}}},{key:"_decode",value:function(){var e=this;setTimeout((function(){if(null!==e.workerFetch){var t=e.NaluBuf.shift();if(null!=t){var i=Module._malloc(t.bufData.length);Module.HEAP8.set(t.bufData,i),Module.cwrap("decodeHttpFlvVideoFrame","number",["number","number","number","number","number"])(e.corePtr,i,t.bufData.length,t.pts,t.dts,0),Module._free(i),i=null}e._decode()}}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){this.YuvBuf.length,this.config.ignoreAudio>0||!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length;var e=this.YuvBuf.length>=25&&(!0===this.muted||this.config.ignoreAudio>0||!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.config.ignoreAudio<1&&(this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e))}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseHttpFLV","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,delete window.g_players[this.corePtr],0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.config.ignoreAudio,this.audioWAudio,this.config.ignoreAudio<1&&this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.chaseFrame=0,this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this,t=this;if(this.chaseFrame=0,!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;var i=1*t.frameTime;if(void 0===this.playInterval||null===this.playInterval){var n=0,s=0,o=0;if(this.config.ignoreAudio<1&&!1===this.mediaInfo.audioNone&&null!=this.audioWAudio&&!1===this.mediaInfo.noFPS)this.config.ignoreAudio,this.mediaInfo.audioNone,this.audioWAudio,this.mediaInfo.noFPS,this.playInterval=setInterval((function(){if(s=a.GetMsTime(),t.cache_status){if(s-n>=t.frameTime-o){var e=t.YuvBuf.shift();if(e.pts,t.YuvBuf.length,null!=e&&null!==e){var u=0;null!==t.audioWAudio&&void 0!==t.audioWAudio?(u=1e3*(e.pts-t.audioWAudio.getAlignVPTS()),o=u<0&&-1*u<=i||u>0&&u<=i||0===u||u>0&&u>i?a.GetMsTime()-s+1:t.frameTime):o=a.GetMsTime()-s+1,t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),e.pts,r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)}(t.YuvBuf.length<=0||t.audioWAudio&&t.audioWAudio.sampleQueue.length<=0)&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache(),t.audioWAudio&&t.audioWAudio.pause()),n=s}}else o=t.frameTime}),1),this.audioWAudio&&this.audioWAudio.play();else{var u=-1;this.playInterval=setInterval((function(){if(s=a.GetMsTime(),t.cache_status){t.YuvBuf.length,t.frameTime,t.frameTime,t.chaseFrame;var e=-1;if(u>0&&(e=s-n,t.frameTime,t.chaseFrame<=0&&o>0&&(t.chaseFrame=Math.floor(o/t.frameTime),t.chaseFrame)),u<=0||e>=t.frameTime||t.chaseFrame>0){u=1;var i=t.YuvBuf.shift();i.pts,t.YuvBuf.length,null!=i&&null!==i&&(t.showScreen&&t.onRender&&t.onRender(i.line_y,i.h,i.bufY,i.bufU,i.bufV),i.pts,r.renderFrame(t.AVGLObj,i.bufY,i.bufU,i.bufV,i.line_y,i.h),o=a.GetMsTime()-s+1),t.YuvBuf.length<=0&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache()),n=s,t.chaseFrame>0&&(t.chaseFrame--,0===t.chaseFrame&&(o=t.frameTime))}}else o=t.frameTime,u=-1,t.chaseFrame=0,n=0,s=0,o=0}),1)}}this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null,t=new AbortController,i=t.signal,n=(self,function(e){var t=!1;t||(t=!0,fetch(e,{signal:i}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return self.postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}self.postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" httplive request error:"+e+" start to retry";console.error(t),self.postMessage({cmd:"fetch-error",data:t,msg:"fetch-error"})}})))});self.onmessage=function(r){var a=r.data;switch(void 0===a.cmd||null===a.cmd?"":a.cmd){case"start":e=a.data,n(e),self.postMessage({cmd:"startok",data:"WORKER STARTED",msg:"startok"});break;case"stop":t.abort(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"});break;case"retry":t.abort(),t=null,i=null,t=new AbortController,i=t.signal,setTimeout((function(){n(e)}),3e3)}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_naluCallback=Module.addFunction(this._callbackNALU.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),this._ptr_aacCallback=Module.addFunction(this._callbackAAC.bind(this)),Module.cwrap("initializeSniffHttpFlvModule","number",["number","number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_naluCallback,this._ptr_sampleCallback,this._ptr_aacCallback,this.config.ignoreAudio),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CHttpLiveCore=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],59:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"getCachePTS",value:function(){return 1!==this.config.ignoreAudio&&this.audioWAudio?Math.max(this.vCachePTS,this.aCachePTS):this.vCachePTS}},{key:"getMaxPTS",value:function(){return Math.max(this.vCachePTS,this.aCachePTS)}},{key:"isPlayingState",value:function(){return this.isPlaying}},{key:"_clearDecInterval",value:function(){this.decVFrameInterval&&window.clearInterval(this.decVFrameInterval),this.decVFrameInterval=null}},{key:"_checkPlayFinished",value:function(){return!(this.config.playMode!==h.PLAYER_MODE_VOD||!(!0===this.bufRecvStat&&(this.playPTS>=this.bufLastVDTS||this.audioWAudio&&this.playPTS>=this.bufLastADTS)||this.duration-this.playPTS0&&n-i>=t.frameTime-r){var e=t._videoQueue.shift();e.pts,o.renderFrame(t.yuv,e.data_y,e.data_u,e.data_v,e.line1,e.height),(r=u.GetMsTime()-n)>=t.frameTime&&(r=t.frameTime),i=n}}),2):this.playFrameInterval=window.setInterval((function(){if(n=u.GetMsTime(),e._videoQueue.length>0&&n-i>=e.frameTime-r){var t=e._videoQueue.shift(),s=0;if(e.isNewSeek||null===e.audioWAudio||void 0===e.audioWAudio||(s=1e3*(t.pts-e.audioWAudio.getAlignVPTS()),e.playPTS=Math.max(e.audioWAudio.getAlignVPTS(),e.playPTS)),i=n,e.playPTS=Math.max(t.pts,e.playPTS),e.isNewSeek&&e.seekTarget-e.frameDur>t.pts)return void(r=e.frameTime);if(e.isNewSeek&&(e.audioWAudio&&e.audioWAudio.setVoice(e.audioVoice),e.audioWAudio&&e.audioWAudio.play(),r=0,e.isNewSeek=!1,e.seekTarget=0),e.showScreen&&e.onRender&&e.onRender(t.line1,t.height,t.data_y,t.data_u,t.data_v),o.renderFrame(e.yuv,t.data_y,t.data_u,t.data_v,t.line1,t.height),e.onPlayingTime&&e.onPlayingTime(t.pts),!e.isNewSeek&&e.audioWAudio&&(s<0&&-1*s<=a||s>=0)){if(e.config.playMode===h.PLAYER_MODE_VOD)if(t.pts>=e.duration)e.onLoadCacheFinshed&&e.onLoadCacheFinshed(),e.onPlayingFinish&&e.onPlayingFinish(),e._clearDecInterval(),e.pause();else if(e._checkPlayFinished())return;r=u.GetMsTime()-n}else!e.isNewSeek&&e.audioWAudio&&(r=e.frameTime)}e._checkPlayFinished()}),1)}this.isNewSeek||this.audioWAudio&&this.audioWAudio.play()}},{key:"pause",value:function(){this.isPlaying=!1,this._pause(),this.isCacheV===h.CACHE_WITH_PLAY_SIGN&&(this.isCacheV=h.CACHE_WITH_NOPLAY_SIGN)}},{key:"_pause",value:function(){this.playFrameInterval&&window.clearInterval(this.playFrameInterval),this.playFrameInterval=null,this.audioWAudio&&this.audioWAudio.pause()}},{key:"seek",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.openFrameCall=!1,this.pause(),this._clearDecInterval(),null!==this.avFeedVideoInterval&&(window.clearInterval(this.avFeedVideoInterval),this.avFeedVideoInterval=null),null!==this.avFeedAudioInterval&&(window.clearInterval(this.avFeedAudioInterval),this.avFeedAudioInterval=null),this.yuvMaxTime=0,this.playVPipe.length=0,this._videoQueue.length=0,this.audioWAudio&&this.audioWAudio.stop(),e&&e(),this.isNewSeek=!0,this.avSeekVState=!0,this.seekTarget=i.seekTime,null!==this.audioWAudio&&void 0!==this.audioWAudio&&(this.audioWAudio.setVoice(0),this.audioWAudio.resetStartParam(),this.audioWAudio.stop()),this._avFeedData(i.seekTime),setTimeout((function(){t.yuvMaxTime=0,t._videoQueue.length=0,t.openFrameCall=!0,t.frameCallTag+=1,t._decVFrameIntervalFunc()}),1e3)}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"cacheIsFull",value:function(){return this._videoQueue.length>=this._VIDEO_CACHE_LEN}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.canvas.offsetWidth!=h||this.canvas.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.canvas.style.marginTop=c+"px",this.canvas.style.marginLeft=f+"px",this.canvas.style.width=h+"px",this.canvas.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_createYUVCanvas",value:function(){this.canvasBox=document.querySelector("#"+this.config.playerId),this.canvasBox.style.overflow="hidden",this.canvas=document.createElement("canvas"),this.canvas.style.width=this.canvasBox.clientWidth+"px",this.canvas.style.height=this.canvasBox.clientHeight+"px",this.canvas.style.top="0px",this.canvas.style.left="0px",this.canvasBox.appendChild(this.canvas),this.yuv=o.setupCanvas(this.canvas,{preserveDrawingBuffer:!1})}},{key:"_avRecvPackets",value:function(){var e=this;this.bufObject.cleanPipeline(),null!==this.avRecvInterval&&(window.clearInterval(this.avRecvInterval),this.avRecvInterval=null),!0===this.config.checkProbe?this.avRecvInterval=window.setInterval((function(){Module.cwrap("getSniffStreamPkg","number",["number"])(e.corePtr),e._avCheckRecvFinish()}),5):this.avRecvInterval=window.setInterval((function(){Module.cwrap("getSniffStreamPkgNoCheckProbe","number",["number"])(e.corePtr),e._avCheckRecvFinish()}),5),this._avFeedData(0,!1)}},{key:"_avCheckRecvFinish",value:function(){this.config.playMode===h.PLAYER_MODE_VOD&&this.duration-this.getMaxPTS()=t._VIDEO_CACHE_LEN&&(t.onSeekFinish&&t.onSeekFinish(),t.onPlayingTime&&t.onPlayingTime(e),t.play(),window.clearInterval(i),i=null)}),10);return!0}},{key:"_afterAvFeedSeekToStartWithUnFinBuffer",value:function(e){var t=this,i=this,n=window.setInterval((function(){t._videoQueue.length,i._videoQueue.length>=i._VIDEO_CACHE_LEN&&(i.onSeekFinish&&i.onSeekFinish(),i.onPlayingTime&&i.onPlayingTime(e),!1===i.reFull?i.play():i.reFull=!1,window.clearInterval(n),n=null)}),10);return!0}},{key:"_avFeedData",value:function(e){var t=this;if(this.playVPipe.length=0,this.audioWAudio&&this.audioWAudio.cleanQueue(),e<=0&&!1===this.bufOK){var i=0;if(t.avFeedVideoInterval=window.setInterval((function(){var n=t.bufObject.videoBuffer.length;if(n-1>i||t.duration>0&&t.duration-t.getMaxPTS()0){for(var s=0;s0&&t.playVPipe[t.playVPipe.length-1].pts>=t.bufLastVDTS&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null,t.playVPipe[t.playVPipe.length-1].pts,t.bufLastVDTS,t.bufObject.videoBuffer,t.playVPipe)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.playVPipe.length>0&&t.playVPipe[t.playVPipe.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null,t.playVPipe[t.playVPipe.length-1].pts,t.duration,t.bufObject.videoBuffer,t.playVPipe);t.avSeekVState&&(t.getMaxPTS(),t.duration,t.config.playMode===h.PLAYER_MODE_VOD&&(t._afterAvFeedSeekToStartWithFinishedBuffer(e),t.avSeekVState=!1))}),5),void 0!==t.audioWAudio&&null!==t.audioWAudio&&t.config.ignoreAudio<1){var n=0;t.avFeedAudioInterval=window.setInterval((function(){var e=t.bufObject.audioBuffer.length;if(e-1>n||t.duration-t.getMaxPTS()0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.bufLastADTS&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null,t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts,t.bufObject.audioBuffer)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.audioWAudio.sampleQueue.length>0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null,t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts,t.bufObject.audioBuffer)}),5)}}else{var r=this.bufObject.seekIDR(e),s=parseInt(r,10);this.playPTS=0;var o=s;if(this.avFeedVideoInterval=window.setInterval((function(){var i=t.bufObject.videoBuffer.length;if(i-1>o||t.duration-t.getMaxPTS()0){for(var r=0;r0&&t.playVPipe[t.playVPipe.length-1].pts>=t.bufLastVDTS&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.playVPipe.length>0&&t.playVPipe[t.playVPipe.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null);t.avSeekVState&&(t.getMaxPTS(),t.duration,t.config.playMode===h.PLAYER_MODE_VOD&&(t._afterAvFeedSeekToStartWithUnFinBuffer(e),t.avSeekVState=!1))}),5),this.audioWAudio&&this.config.ignoreAudio<1){var u=parseInt(e,10);this.avFeedAudioInterval=window.setInterval((function(){var e=t.bufObject.audioBuffer.length;if(e-1>u||t.duration-t.getMaxPTS()0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.bufLastADTS&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.audioWAudio.sampleQueue.length>0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null)}),5)}}}},{key:"_probeFinCallback",value:function(e,t,i,n,r,a,s,o,u){var d=this;this._createYUVCanvas(),h.V_CODEC_NAME_HEVC,this.config.fps=1*n,this.frameTime=1e3/this.config.fps,this.width=t,this.height=i,this.frameDur=1/this.config.fps,this.duration=e-this.frameDur,this.vCodecID=o,this.config.sampleRate=a,this.channels=s,this.audioIdx=r,this.duration<0&&(this.config.playMode=h.PLAYER_MODE_NOTIME_LIVE,this.frameTime,this.frameDur);for(var c=Module.HEAPU8.subarray(u,u+10),f=0;f=0&&this.config.ignoreAudio<1?this.audioNone=!1:this.audioNone=!0,h.V_CODEC_NAME_HEVC===this.vCodecID&&(!1===this.audioNone&&(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=l({sampleRate:a,appendType:h.APPEND_TYPE_FRAME}),this.audioWAudio.setDurationMs(1e3*e),this.onLoadCache&&this.audioWAudio.setOnLoadCache((function(){if(d.retryAuSampleNo,d.retryAuSampleNo<=5){d.pause(),d.onLoadCache&&d.onLoadCache();var e=window.setInterval((function(){return d.retryAuSampleNo,d.audioWAudio.sampleQueue.length,d.audioWAudio.sampleQueue.length>2?(d.onLoadCacheFinshed&&d.onLoadCacheFinshed(),d.play(),d.retryAuSampleNo=0,window.clearInterval(e),void(e=null)):(d.retryAuSampleNo+=1,d.retryAuSampleNo>5?(d.play(),d.onLoadCacheFinshed&&d.onLoadCacheFinshed(),window.clearInterval(e),void(e=null)):void 0)}),1e3)}}))),this._avRecvPackets(),this._decVFrameIntervalFunc()),this.onProbeFinish&&this.onProbeFinish()}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_naluCallback",value:function(e,t,i,n,r,a,s,o){var u=this._ptsFixed2(a);o>0&&(u=a);var l=Module.HEAPU8.subarray(e,e+t),h=new Uint8Array(l);this.bufObject.appendFrameWithDts(u,s,h,!0,i),this.bufLastVDTS=Math.max(s,this.bufLastVDTS),this.vCachePTS=Math.max(u,this.vCachePTS),this.onCacheProcess&&this.onCacheProcess(this.getCachePTS())}},{key:"_samplesCallback",value:function(e,t,i,n){}},{key:"_aacFrameCallback",value:function(e,t,i,n){var r=this._ptsFixed2(n);if(this.audioWAudio){var a=Module.HEAPU8.subarray(e,e+t),s=new Uint8Array(a);this.bufObject.appendFrame(r,s,!1,!0),this.bufLastADTS=Math.max(r,this.bufLastADTS),this.aCachePTS=Math.max(r,this.aCachePTS),this.onCacheProcess&&this.onCacheProcess(this.getCachePTS())}}},{key:"_setLoadCache",value:function(){if(null===this.avFeedVideoInterval&&null===this.avFeedAudioInterval&&this.playVPipe.length<=0)return 1;if(this.isCacheV===h.CACHE_NO_LOADCACHE){var e=this.isPlaying;this.pause(),this.onLoadCache&&this.onLoadCache(),this.isCacheV=e?h.CACHE_WITH_PLAY_SIGN:h.CACHE_WITH_NOPLAY_SIGN}return 0}},{key:"_setLoadCacheFinished",value:function(){this.isCacheV!==h.CACHE_NO_LOADCACHE&&(this.isCacheV,this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.isCacheV===h.CACHE_WITH_PLAY_SIGN&&this.play(),this.isCacheV=h.CACHE_NO_LOADCACHE)}},{key:"_createDecVframeInterval",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this;null!==this.decVFrameInterval&&(window.clearInterval(this.decVFrameInterval),this.decVFrameInterval=null);var i=0;this.loopMs=e,this.decVFrameInterval=window.setInterval((function(){if(t._videoQueue.length<1?t._setLoadCache():t._videoQueue.length>=t._VIDEO_CACHE_LEN&&t._setLoadCacheFinished(),t._videoQueue.length0){100===t.loopMs&&t._createDecVframeInterval(10);var e=t.playVPipe.shift(),n=e.data,r=Module._malloc(n.length);Module.HEAP8.set(n,r);var a=parseInt(1e3*e.pts,10),s=parseInt(1e3*e.dts,10);t.yuvMaxTime=Math.max(e.pts,t.yuvMaxTime);var o=Module.cwrap("decodeVideoFrame","number",["number","number","number","number","number"])(t.corePtr,r,n.length,a,s,t.frameCallTag);o>0&&(i=o),Module._free(r),r=null}}else i=Module.cwrap("naluLListLength","number",["number"])(t.corePtr)}),e)}},{key:"_decVFrameIntervalFunc",value:function(){null==this.decVFrameInterval&&this._createDecVframeInterval(10)}},{key:"_frameCallback",value:function(e,t,i,n,r,a,s,o,u,l){if(this._videoQueue.length,!1===this.openFrameCall)return-1;if(l!==this.frameCallTag)return-2;if(u>this.yuvMaxTime+this.frameDur)return-3;if(this.isNewSeek&&this.seekTarget-u>3*this.frameDur)return-4;var h=this._videoQueue.length;if(this.canvas.width==n&&this.canvas.height==o||(this.canvas.width=n,this.canvas.height=o,this.isCheckDisplay)||this._checkDisplaySize(s,n,o),this.playPTS>u)return-5;var d=Module.HEAPU8.subarray(e,e+n*o),f=Module.HEAPU8.subarray(t,t+r*o/2),p=Module.HEAPU8.subarray(i,i+a*o/2),m=new Uint8Array(d),_=new Uint8Array(f),g=new Uint8Array(p),v=new c(m,_,g,n,r,a,s,o,u);if(h<=0||u>this._videoQueue[h-1].pts)this._videoQueue.push(v);else if(uthis._videoQueue[y].pts&&y+1this.yuvMaxTime+this.frameDur||this.isNewSeek&&this.seekTarget-u>3*this.frameDur)){var p=this._videoQueue.length;if(this.canvas.width==n&&this.canvas.height==o||(this.canvas.width=n,this.canvas.height=o,this.isCheckDisplay)||this._checkDisplaySize(s,n,o),!(this.playPTS>u)){var m=new c(h,d,f,n,r,a,s,o,u);if(p<=0||u>this._videoQueue[p-1].pts)this._videoQueue.push(m);else if(uthis._videoQueue[_].pts&&_+10){var e=this._videoQueue.shift();return e.pts,this.onRender&&this.onRender(e.line1,e.height,e.data_y,e.data_u,e.data_v),o.renderFrame(this.yuv,e.data_y,e.data_u,e.data_v,e.line1,e.height),!0}return!1}},{key:"setProbeSize",value:function(e){this.probeSize=e}},{key:"pushBuffer",value:function(e){if(void 0===this.corePtr||null===this.corePtr)return-1;var t=Module._malloc(e.length);Module.HEAP8.set(e,t);var i=Module.cwrap("pushSniffStreamData","number",["number","number","number","number"])(this.corePtr,t,e.length,this.probeSize);return i}}])&&n(t.prototype,i),f&&n(t,f),e}();i.CNativeCore=f},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],60:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++,void 0!==t.AVGetInterval&&null!==t.AVGetInterval||(t.AVGetInterval=window.setInterval((function(){Module.cwrap("getBufferLengthApi","number",["number"])(t.corePtr)>t.config.probeSize&&(Module.cwrap("getSniffHttpFlvPkg","number",["number"])(t.corePtr),t.pushPkg-=1)}),5));break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,u,l,h){for(var d=Module.HEAPU8.subarray(h,h+10),c=0;c100&&(f=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=l,this.config.fps=f,this.mediaInfo.fps=f,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+2)),this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS&&this.config.ignoreAudio<1?(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.config.sampleRate=a,this.mediaInfo.sampleRate=a,this.audioWAudio=s({sampleRate:this.mediaInfo.sampleRate,appendType:o.APPEND_TYPE_FRAME}),this.audioWAudio.isLIVE=!0):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u){var l=Module.HEAPU8.subarray(e,e+n*o),h=new Uint8Array(l),d=Module.HEAPU8.subarray(t,t+r*o/2),c=new Uint8Array(d),f=Module.HEAPU8.subarray(i,i+a*o/2),p={bufY:h,bufU:c,bufV:new Uint8Array(f),line_y:n,h:o,pts:u};this.YuvBuf.push(p),this.checkCacheState(),Module._free(l),l=null,Module._free(d),d=null,Module._free(f),f=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||this.play())}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e){}},{key:"_callbackAAC",value:function(e,t,i,n){var r=this._ptsFixed2(n);if(this.audioWAudio){var a=Module.HEAPU8.subarray(e,e+t),s={pts:r,data:new Uint8Array(a)};this.audioWAudio.addSample(s),this.checkCacheState()}}},{key:"_decode",value:function(){var e=this;setTimeout((function(){if(null!==e.workerFetch){var t=e.NaluBuf.shift();if(null!=t){var i=Module._malloc(t.bufData.length);Module.HEAP8.set(t.bufData,i),Module.cwrap("decodeHttpFlvVideoFrame","number",["number","number","number","number","number"])(e.corePtr,i,t.bufData.length,t.pts,t.dts,0),Module._free(i),i=null}e._decode()}}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){var e=this.YuvBuf.length>=25&&(!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseHttpFLV","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this,t=this;if(!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;if(void 0===this.playInterval||null===this.playInterval){var i=0,n=0,s=0;!1===this.mediaInfo.audioNone&&this.audioWAudio&&!1===this.mediaInfo.noFPS?(this.playInterval=setInterval((function(){if(n=a.GetMsTime(),t.cache_status){if(n-i>=t.frameTime-s){var e=t.YuvBuf.shift();if(null!=e&&null!==e){var o=0;null!==t.audioWAudio&&void 0!==t.audioWAudio&&(o=1e3*(e.pts-t.audioWAudio.getAlignVPTS())),s=t.audioWAudio?o<0&&-1*o<=t.frameTime||o>=0?a.GetMsTime()-n+1:t.frameTime:a.GetMsTime()-n+1,t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),e.pts,r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)}(t.YuvBuf.length<=0||t.audioWAudio&&t.audioWAudio.sampleQueue.length<=0)&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache(),t.audioWAudio&&t.audioWAudio.pause()),i=n}}else s=t.frameTime}),1),this.audioWAudio&&this.audioWAudio.play()):this.playInterval=setInterval((function(){var e=t.YuvBuf.shift();null!=e&&null!==e&&(t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)),t.YuvBuf.length<=0&&(t.cache_status=!1)}),t.frameTime)}}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null;self,self.onmessage=function(t){var i=t.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"start":var n=i.data;(e=new WebSocket(n)).binaryType="arraybuffer",e.onopen=function(t){e.send("Hello WebSockets!")},e.onmessage=function(e){if(e.data instanceof ArrayBuffer){var t=e.data;t.byteLength>0&&postMessage({cmd:"fetch-chunk",data:new Uint8Array(t),msg:"fetch-chunk"})}},e.onclose=function(e){};break;case"stop":e&&e.close(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"})}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_naluCallback=Module.addFunction(this._callbackNALU.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),this._ptr_aacCallback=Module.addFunction(this._callbackAAC.bind(this)),Module.cwrap("initializeSniffHttpFlvModule","number",["number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_naluCallback,this._ptr_sampleCallback,this._ptr_aacCallback),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CWsLiveCore=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],61:[function(e,t,i){(function(i){"use strict";e("./cacheYuv");i.CACHE_APPEND_STATUS_CODE={FAILED:-1,OVERFLOW:-2,OK:0,NOT_FULL:1,FULL:2,NULL:3},t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:60,t={limit:e,yuvCache:[],appendCacheByCacheYuv:function(e){e.pts;return t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.OVERFLOW:(t.yuvCache.push(e),t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.FULL:CACHE_APPEND_STATUS_CODE.NOT_FULL)},getState:function(){return t.yuvCache.length<=0?CACHE_APPEND_STATUS_CODE.NULL:t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.FULL:CACHE_APPEND_STATUS_CODE.NOT_FULL},cleanPipeline:function(){t.yuvCache.length=0},vYuv:function(){return t.yuvCache.length<=0?null:t.yuvCache.shift()}};return t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./cacheYuv":62}],62:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i>1;return r.indexOf(t)},GET_NALU_TYPE:function(e){var t=(126&e)>>1;if(t>=1&&t<=9)return n.DEFINE_P_FRAME;if(t>=16&&t<=21)return n.DEFINE_KEY_FRAME;var i=r.indexOf(t);return i>=0?r[i]:n.DEFINE_OTHERS_FRAME},PACK_NALU:function(e){var t=e.nalu,i=e.vlc.vlc;null==t.vps&&(t.vps=new Uint8Array);var n=new Uint8Array(t.vps.length+t.sps.length+t.pps.length+t.sei.length+i.length);return n.set(t.vps,0),n.set(t.sps,t.vps.length),n.set(t.pps,t.vps.length+t.sps.length),n.set(t.sei,t.vps.length+t.sps.length+t.pps.length),n.set(i,t.vps.length+t.sps.length+t.pps.length+t.sei.length),n}}},{"./hevc-header":63}],65:[function(e,t,i){"use strict";function n(e){return function(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t0&&void 0!==arguments[0]&&arguments[0];null!=t&&(t.showScreen=e)},setSize:function(e,i){t.config.width=e||l.DEFAULT_WIDTH,t.config.height=i||l.DEFAULT_HEIGHT},setFrameRate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25;t.config.fps=e,t.config.frameDurMs=1e3/e},setDurationMs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;t.durationMs=e,0==t.config.audioNone&&t.audio.setDurationMs(e)},setPlayingCall:function(e){t.onPlayingTime=e},setVoice:function(e){t.realVolume=e,0==t.config.audioNone&&t.audio.setVoice(t.realVolume)},isPlayingState:function(){return t.isPlaying||t.isCaching===l.CACHE_WITH_PLAY_SIGN},appendAACFrame:function(e){t.audio.addSample(e),t.aCachePTS=Math.max(e.pts,t.aCachePTS)},appendHevcFrame:function(e){var i;t.config.appendHevcType==l.APPEND_TYPE_STREAM?t.stream=new Uint8Array((i=n(t.stream)).concat.apply(i,n(e))):t.config.appendHevcType==l.APPEND_TYPE_FRAME&&(t.frameList.push(e),t.vCachePTS=Math.max(e.pts,t.vCachePTS))},getCachePTS:function(){return Math.max(t.vCachePTS,t.aCachePTS)},endAudio:function(){0==t.config.audioNone&&t.audio.stop()},cleanSample:function(){0==t.config.audioNone&&t.audio.cleanQueue()},cleanVideoQueue:function(){t.config.appendHevcType==l.APPEND_TYPE_STREAM?t.stream=new Uint8Array:t.config.appendHevcType==l.APPEND_TYPE_FRAME&&(t.frameList=[],t.frameList.length=0)},cleanCacheYUV:function(){t.cacheYuvBuf.cleanPipeline()},pause:function(){t.loop&&window.clearInterval(t.loop),t.loop=null,0==t.config.audioNone&&t.audio.pause(),t.isPlaying=!1,t.isCaching===l.CACHE_WITH_PLAY_SIGN&&(t.isCaching=l.CACHE_WITH_NOPLAY_SIGN)},checkFinished:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.PLAYER_MODE_VOD;return e==l.PLAYER_MODE_VOD&&t.cacheYuvBuf.yuvCache.length<=0&&(t.videoPTS.toFixed(1)>=(t.durationMs-t.config.frameDurMs)/1e3||t.noCacheFrame>=10)&&(null!=t.onPlayingFinish&&(l.PLAYER_MODE_VOD,t.frameList.length,t.cacheYuvBuf.yuvCache.length,t.videoPTS.toFixed(1),t.durationMs,t.config.frameDurMs,t.noCacheFrame,t.onPlayingFinish()),!0)},clearAllCache:function(){t.nowPacket=null,t.vCachePTS=0,t.aCachePTS=0,t.cleanSample(),t.cleanVideoQueue(),t.cleanCacheYUV()},seek:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isPlaying;t.pause(),t.stopCacheThread(),t.clearAllCache(),e&&e(),t.isNewSeek=!0,t.flushDecoder=1,t.videoPTS=parseInt(i.seekTime);var r={seekPos:i.seekTime||-1,mode:i.mode||l.PLAYER_MODE_VOD,accurateSeek:i.accurateSeek||!0,seekEvent:i.seekEvent||!0,realPlay:n};t.cacheThread(),t.play(r)},getNalu1Packet:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],i=null,n=-1;if(t.config.appendHevcType==l.APPEND_TYPE_STREAM)i=t.nextNalu();else{if(t.config.appendHevcType!=l.APPEND_TYPE_FRAME)return null;var r=t.frameList.shift();if(!r)return null;i=r.data,n=r.pts,e&&(t.videoPTS=n)}return{nalBuf:i,pts:n}},decodeNalu1Frame:function(e,i){var n=Module._malloc(e.length);Module.HEAP8.set(e,n);var r=parseInt(1e3*i);Module.cwrap("decodeCodecContext","number",["number","number","number","number","number"])(t.vcodecerPtr,n,e.length,r,t.flushDecoder);return t.flushDecoder=0,Module._free(n),n=null,!1},cacheThread:function(){t.cacheLoop=window.setInterval((function(){if(t.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.FULL){var e=t.getNalu1Packet(!1);if(null!=e){var i=e.nalBuf,n=e.pts;t.decodeNalu1Frame(i,n,!0)}}}),10)},stopCacheThread:function(){null!==t.cacheLoop&&(window.clearInterval(t.cacheLoop),t.cacheLoop=null)},loadCache:function(){if(!(t.frameList.length<=3)){var e=t.isPlaying;if(t.cacheYuvBuf.yuvCache.length<=3){t.pause(),null!=t.onLoadCache&&t.onLoadCache(),t.isCaching=e?l.CACHE_WITH_PLAY_SIGN:l.CACHE_WITH_NOPLAY_SIGN;var i=t.frameList.length>30?30:t.frameList.length;null===t.cacheInterval&&(t.cacheInterval=window.setInterval((function(){t.cacheYuvBuf.yuvCache.length>=i&&(null!=t.onLoadCacheFinshed&&t.onLoadCacheFinshed(),window.clearInterval(t.cacheInterval),t.cacheInterval=null,t.isCaching===l.CACHE_WITH_PLAY_SIGN&&t.play(t.playParams),t.isCaching=l.CACHE_NO_LOADCACHE)}),40))}}},playFunc:function(){var e=!1;if(t.playParams.seekEvent||r.GetMsTime()-t.calcuteStartTime>=t.frameTime-t.preCostTime){e=!0;var i=!0;if(t.calcuteStartTime=r.GetMsTime(),t.config.audioNone)t.playFrameYUV(i,t.playParams.accurateSeek);else{t.fix_poc_err_skip>0&&(t.fix_poc_err_skip--,i=!1);var n=t.videoPTS-t.audio.getAlignVPTS();if(n>0)return void(t.playParams.seekEvent&&!t.config.audioNone&&t.audio.setVoice(0));if(i){if(!(i=-1*n<=1*t.frameTimeSec)){for(var a=parseInt(n/t.frameTimeSec),s=0;s=i&&(t.playFrameYUV(!0,t.playParams.accurateSeek),i+=1)}),1)}else t.videoPTS>=t.playParams.seekPos&&!t.isNewSeek||0===t.playParams.seekPos||0===t.playParams.seekPos?(t.frameTime=1e3/t.config.fps,t.frameTimeSec=t.frameTime/1e3,0==t.config.audioNone&&t.audio.play(),t.realVolume=t.config.audioNone?0:t.audio.voice,t.playParams.seekEvent&&(t.fix_poc_err_skip=10),t.loop=window.setInterval((function(){var e=r.GetMsTime();t.playFunc(),t.preCostTime=r.GetMsTime()-e}),1)):(t.loop=window.setInterval((function(){t.playFrameYUV(!1,t.playParams.accurateSeek),t.checkFinished(t.playParams.mode)?(window.clearInterval(t.loop),t.loop=null):t.videoPTS>=t.playParams.seekPos&&(window.clearInterval(t.loop),t.loop=null,t.play(t.playParams))}),1),t.isNewSeek=!1)},stop:function(){t.release(),Module.cwrap("initializeDecoder","number",["number"])(t.vcodecerPtr),t.stream=new Uint8Array},release:function(){return void 0!==t.yuv&&null!==t.yuv&&(u.releaseContext(t.yuv),t.yuv=null),t.endAudio(),t.cacheLoop&&window.clearInterval(t.cacheLoop),t.cacheLoop=null,t.loop&&window.clearInterval(t.loop),t.loop=null,t.pause(),null!==t.videoCallback&&Module.removeFunction(t.videoCallback),t.videoCallback=null,Module.cwrap("release","number",["number"])(t.vcodecerPtr),t.stream=null,t.frameList.length=0,t.durationMs=-1,t.videoPTS=0,t.isPlaying=!1,t.canvas.remove(),t.canvas=null,window.onclick=document.body.onclick=null,!0},nextNalu:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(t.stream.length<=4)return!1;for(var i=-1,n=0;n=t.stream.length){if(-1==i)return!1;var r=t.stream.subarray(i);return t.stream=new Uint8Array,r}var a="0 0 1"==t.stream.slice(0,3).join(" "),s="0 0 0 1"==t.stream.slice(0,4).join(" ");if(a||s){if(-1==i)i=n;else{if(e<=1){var o=t.stream.subarray(i,n);return t.stream=t.stream.subarray(n),o}e-=1}n+=3}}return!1},decodeSendPacket:function(e){var i=Module._malloc(e.length);Module.HEAP8.set(e,i);var n=Module.cwrap("decodeSendPacket","number",["number","number","number"])(t.vcodecerPtr,i,e.length);return Module._free(i),n},decodeRecvFrame:function(){return Module.cwrap("decodeRecv","number",["number"])(t.vcodecerPtr)},playYUV:function(){return t.playFrameYUV(!0,!0)},playFrameYUV:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.cacheYuvBuf.vYuv();if(null==n)return t.noCacheFrame+=1,e&&!t.playParams.seekEvent&&t.loadCache(),!1;t.noCacheFrame=0;var r=n.pts;return t.videoPTS=r,(!e&&i||e)&&e&&(t.onRender(n.width,n.height,n.imageBufferY,n.imageBufferB,n.imageBufferR),t.drawImage(n.width,n.height,n.imageBufferY,n.imageBufferB,n.imageBufferR)),e&&!t.playParams.seekEvent&&t.isPlaying&&t.loadCache(),!0},drawImage:function(e,i,n,r,a){if(t.canvas.width===e&&t.canvas.height==i||(t.canvas.width=e,t.canvas.height=i),t.showScreen&&null!=t.onRender&&t.onRender(e,i,n,r,a),!t.isCheckDisplay)t.checkDisplaySize(e,i);var s=e*i,o=e/2*(i/2),l=new Uint8Array(s+2*o);l.set(n,0),l.set(r,s),l.set(a,s+o),u.renderFrame(t.yuv,n,r,a,e,i)},debugYUV:function(e){t.debugYUVSwitch=!0,t.debugID=e},checkDisplaySize:function(e,i){var n=e/t.config.width>i/t.config.height,r=(t.config.width/e).toFixed(2),a=(t.config.height/i).toFixed(2),s=n?r:a,o=t.config.fixed,u=o?t.config.width:parseInt(e*s),l=o?t.config.height:parseInt(i*s);if(t.canvas.offsetWidth!=u||t.canvas.offsetHeight!=l){var h=parseInt((t.canvasBox.offsetHeight-l)/2),d=parseInt((t.canvasBox.offsetWidth-u)/2);t.canvas.style.marginTop=h+"px",t.canvas.style.marginLeft=d+"px",t.canvas.style.width=u+"px",t.canvas.style.height=l+"px"}return t.isCheckDisplay=!0,[u,l]},makeWasm:function(){if(null!=t.config.token){t.vcodecerPtr=Module.cwrap("registerPlayer","number",["string","string"])(t.config.token,h.PLAYER_VERSION),t.videoCallback=Module.addFunction((function(e,i,n,r,a,s,u,l,h){var d=Module.HEAPU8.subarray(e,e+r*l),c=Module.HEAPU8.subarray(i,i+a*l/2),f=Module.HEAPU8.subarray(n,n+s*l/2),p=new Uint8Array(d),m=new Uint8Array(c),_=new Uint8Array(f),g=1*h/1e3,v=new o.CacheYuvStruct(g,r,l,p,m,_);Module._free(d),d=null,Module._free(c),c=null,Module._free(f),f=null,t.cacheYuvBuf.appendCacheByCacheYuv(v)})),Module.cwrap("setCodecType","number",["number","number","number"])(t.vcodecerPtr,t.config.videoCodec,t.videoCallback);Module.cwrap("initializeDecoder","number",["number"])(t.vcodecerPtr)}},makeIt:function(){var e=document.querySelector("div#"+t.config.playerId),i=document.createElement("canvas");i.style.width=e.clientWidth+"px",i.style.height=e.clientHeight+"px",i.style.top="0px",i.style.left="0px",e.appendChild(i),t.canvasBox=e,t.canvas=i,t.yuv=u.setupCanvas(i,{preserveDrawingBuffer:!1}),0==t.config.audioNone&&(t.audio=a({sampleRate:t.config.sampleRate,appendType:t.config.appendHevcType})),t.isPlayLoadingFinish=1}};return t.makeWasm(),t.makeIt(),t.cacheThread(),t}},{"../consts":52,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./av-common":56,"./cache":61,"./cacheYuv":62}],66:[function(e,t,i){"use strict";var n=e("./bufferFrame");t.exports=function(){var e={videoBuffer:[],audioBuffer:[],idrIdxBuffer:[],appendFrame:function(t,i){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=new n.BufferFrame(t,a,i,r),o=parseInt(t);return r?(e.videoBuffer.length-1>=o?e.videoBuffer[o].push(s):e.videoBuffer.push([s]),a&&!e.idrIdxBuffer.includes(t)&&e.idrIdxBuffer.push(t)):e.audioBuffer.length-1>=o&&null!=e.audioBuffer[o]&&null!=e.audioBuffer[o]?e.audioBuffer[o]&&e.audioBuffer[o].push(s):e.audioBuffer.push([s]),!0},appendFrameWithDts:function(t,i,r){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=n.ConstructWithDts(t,i,s,r,a),u=parseInt(i);return a?(e.videoBuffer.length-1>=u?e.videoBuffer[u].push(o):e.videoBuffer.push([o]),s&&!e.idrIdxBuffer.includes(i)&&e.idrIdxBuffer.push(i)):e.audioBuffer.length-1>=u&&null!=e.audioBuffer[u]&&null!=e.audioBuffer[u]?e.audioBuffer[u]&&e.audioBuffer[u].push(o):e.audioBuffer.push([o]),e.videoBuffer,e.idrIdxBuffer,!0},appendFrameByBufferFrame:function(t){var i=t.pts,n=parseInt(i);return t.video?(e.videoBuffer.length-1>=n?e.videoBuffer[n].push(t):e.videoBuffer.push([t]),isKey&&!e.idrIdxBuffer.includes(i)&&e.idrIdxBuffer.push(i)):e.audioBuffer.length-1>=n?e.audioBuffer[n].push(t):e.audioBuffer.push([t]),!0},cleanPipeline:function(){e.videoBuffer.length=0,e.audioBuffer.length=0},vFrame:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(!(t<0||t>e.videoBuffer.length-1))return e.videoBuffer[t]},aFrame:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(!(t<0||t>e.audioBuffer.length-1))return e.audioBuffer[t]},seekIDR:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e.idrIdxBuffer,e.videoBuffer,t<0)return null;if(e.idrIdxBuffer.includes(t))return t;for(var i=0;it||0===i&&e.idrIdxBuffer[i]>=t){for(var n=1;n>=0;n--){var r=i-n;if(r>=0)return e.idrIdxBuffer[r],e.idrIdxBuffer[r]}return e.idrIdxBuffer[i],j,e.idrIdxBuffer[i]}}};return e}},{"./bufferFrame":67}],67:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.length>r&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,console&&console.warn}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=d.bind(n);return r.listener=i,n.wrapFn=r,r}function f(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=a[e];if(void 0===u)return!1;if("function"==typeof u)r(u,this,t);else{var l=u.length,h=m(u,l);for(i=0;i=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},"./node_modules/webworkify-webpack/index.js": +/*!**************************************************!*\ + !*** ./node_modules/webworkify-webpack/index.js ***! + \**************************************************/ +function(e,t,i){function n(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.i=function(e){return e},i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var n=i(i.s=ENTRY_MODULE);return n.default||n}function r(e){return(e+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function a(e,t,n){var a={};a[n]=[];var s=t.toString(),o=s.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!o)return a;for(var u,l=o[1],h=new RegExp("(\\\\n|\\W)"+r(l)+"\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)","g");u=h.exec(s);)"dll-reference"!==u[3]&&a[n].push(u[3]);for(h=new RegExp("\\("+r(l)+'\\("(dll-reference\\s([\\.|\\-|\\+|\\w|/|@]+))"\\)\\)\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)',"g");u=h.exec(s);)e[u[2]]||(a[n].push(u[1]),e[u[2]]=i(u[1]).m),a[u[2]]=a[u[2]]||[],a[u[2]].push(u[4]);for(var d,c=Object.keys(a),f=0;f0}),!1)}e.exports=function(e,t){t=t||{};var r={main:i.m},o=t.all?{main:Object.keys(r.main)}:function(e,t){for(var i={main:[t]},n={main:[]},r={main:{}};s(i);)for(var o=Object.keys(i),u=0;u=e[r]&&t0&&e[0].originalDts=t[r].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(r=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},"./src/core/mse-controller.js": +/*!************************************!*\ + !*** ./src/core/mse-controller.js ***! + \************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ./mse-events.js */ +"./src/core/mse-events.js"),u=i( +/*! ./media-segment-info.js */ +"./src/core/media-segment-info.js"),l=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),h=function(){function e(e){this.TAG="MSEController",this._config=e,this._emitter=new(r()),this._config.isLive&&null==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new u.IDRSampleList}return e.prototype.destroy=function(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){if(this._mediaSource)throw new l.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");var t=this._mediaSource=new window.MediaSource;t.addEventListener("sourceopen",this.e.onSourceOpen),t.addEventListener("sourceended",this.e.onSourceEnded),t.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL},e.prototype.detachMediaElement=function(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var i=this._pendingSegments[t];i.splice(0,i.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var n=this._sourceBuffers[t];if(n){if("closed"!==e.readyState){try{e.removeSourceBuffer(n)}catch(e){a.default.e(this.TAG,e.message)}n.removeEventListener("error",this.e.onSourceBufferError),n.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if("open"===e.readyState)try{e.endOfStream()}catch(e){a.default.e(this.TAG,e.message)}e.removeEventListener("sourceopen",this.e.onSourceOpen),e.removeEventListener("sourceended",this.e.onSourceEnded),e.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)},e.prototype.appendInitSegment=function(e,t){if(!this._mediaSource||"open"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var i=e,n=""+i.container;i.codec&&i.codec.length>0&&(n+=";codecs="+i.codec);var r=!1;if(a.default.v(this.TAG,"Received Initialization Segment, mimeType: "+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])a.default.v(this.TAG,"Notice: "+i.type+" mimeType changed, origin: "+this._mimeTypes[i.type]+", target: "+n);else{r=!0;try{var u=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);u.addEventListener("error",this.e.onSourceBufferError),u.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return a.default.e(this.TAG,e.message),void this._emitter.emit(o.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),r||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),s.default.safari&&"audio/mpeg"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{i.abort()}catch(e){a.default.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),"closed"!==this._mediaSource.readyState){for(var r=0;r=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,r=!1,a=0;a=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:u})}}else o0&&(isNaN(t)||i>t)&&(a.default.v(this.TAG,"Update MediaSource duration from "+t+" to "+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,r=i.timestampOffset/1e3;Math.abs(n-r)>.1&&(a.default.v(this.TAG,"Update MPEG audio timestampOffset from "+n+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,"video"===t&&i.hasOwnProperty("info")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(o.default.BUFFER_FULL),this._isBufferFull=!0):(a.default.e(this.TAG,t,e.message),this._emitter.emit(o.default.ERROR,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(a.default.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(o.default.SOURCE_OPEN)},e.prototype._onSourceEnded=function(){a.default.v(this.TAG,"MediaSource onSourceEnded")},e.prototype._onSourceClose=function(){a.default.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return(e.video&&e.video.length)>0||e.audio&&e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return(e.video&&e.video.length)>0||e.audio&&e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(o.default.UPDATE_END)},e.prototype._onSourceBufferError=function(e){a.default.e(this.TAG,"SourceBuffer Error: "+e)},e}();t.default=h},"./src/core/mse-events.js": +/*!********************************!*\ + !*** ./src/core/mse-events.js ***! + \********************************/ +function(e,t,i){i.r(t),t.default={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"}},"./src/core/transmuxer.js": +/*!********************************!*\ + !*** ./src/core/transmuxer.js ***! + \********************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! webworkify-webpack */ +"./node_modules/webworkify-webpack/index.js"),s=i.n(a),o=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),u=i( +/*! ../utils/logging-control.js */ +"./src/utils/logging-control.js"),l=i( +/*! ./transmuxing-controller.js */ +"./src/core/transmuxing-controller.js"),h=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js"),d=i( +/*! ./media-info.js */ +"./src/core/media-info.js"),c=function(){function e(e,t){if(this.TAG="Transmuxer",this._emitter=new(r()),t.enableWorker&&"undefined"!=typeof Worker)try{this._worker=s()( +/*! ./transmuxing-worker */ +"./src/core/transmuxing-worker.js"),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[e,t]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},u.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:u.default.getConfig()})}catch(i){o.default.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new l.default(e,t)}else this._controller=new l.default(e,t);if(this._controller){var i=this._controller;i.on(h.default.IO_ERROR,this._onIOError.bind(this)),i.on(h.default.DEMUX_ERROR,this._onDemuxError.bind(this)),i.on(h.default.INIT_SEGMENT,this._onInitSegment.bind(this)),i.on(h.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),i.on(h.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),i.on(h.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),i.on(h.default.MEDIA_INFO,this._onMediaInfo.bind(this)),i.on(h.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),i.on(h.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),i.on(h.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),i.on(h.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return e.prototype.destroy=function(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),u.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.hasWorker=function(){return null!=this._worker},e.prototype.open=function(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()},e.prototype.close=function(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()},e.prototype.seek=function(e){this._worker?this._worker.postMessage({cmd:"seek",param:e}):this._controller.seek(e)},e.prototype.pause=function(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()},e.prototype.resume=function(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()},e.prototype._onInitSegment=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.INIT_SEGMENT,e,t)}))},e.prototype._onMediaSegment=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.MEDIA_SEGMENT,e,t)}))},e.prototype._onLoadingComplete=function(){var e=this;Promise.resolve().then((function(){e._emitter.emit(h.default.LOADING_COMPLETE)}))},e.prototype._onRecoveredEarlyEof=function(){var e=this;Promise.resolve().then((function(){e._emitter.emit(h.default.RECOVERED_EARLY_EOF)}))},e.prototype._onMediaInfo=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.MEDIA_INFO,e)}))},e.prototype._onMetaDataArrived=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.METADATA_ARRIVED,e)}))},e.prototype._onScriptDataArrived=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.SCRIPTDATA_ARRIVED,e)}))},e.prototype._onStatisticsInfo=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.STATISTICS_INFO,e)}))},e.prototype._onIOError=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.IO_ERROR,e,t)}))},e.prototype._onDemuxError=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.DEMUX_ERROR,e,t)}))},e.prototype._onRecommendSeekpoint=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.RECOMMEND_SEEKPOINT,e)}))},e.prototype._onLoggingConfigChanged=function(e){this._worker&&this._worker.postMessage({cmd:"logging_config",param:e})},e.prototype._onWorkerMessage=function(e){var t=e.data,i=t.data;if("destroyed"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case h.default.INIT_SEGMENT:case h.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,i.type,i.data);break;case h.default.LOADING_COMPLETE:case h.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case h.default.MEDIA_INFO:Object.setPrototypeOf(i,d.default.prototype),this._emitter.emit(t.msg,i);break;case h.default.METADATA_ARRIVED:case h.default.SCRIPTDATA_ARRIVED:case h.default.STATISTICS_INFO:this._emitter.emit(t.msg,i);break;case h.default.IO_ERROR:case h.default.DEMUX_ERROR:this._emitter.emit(t.msg,i.type,i.info);break;case h.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,i);break;case"logcat_callback":o.default.emitter.emit("log",i.type,i.logcat)}},e}();t.default=c},"./src/core/transmuxing-controller.js": +/*!********************************************!*\ + !*** ./src/core/transmuxing-controller.js ***! + \********************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ./media-info.js */ +"./src/core/media-info.js"),u=i( +/*! ../demux/flv-demuxer.js */ +"./src/demux/flv-demuxer.js"),l=i( +/*! ../remux/mp4-remuxer.js */ +"./src/remux/mp4-remuxer.js"),h=i( +/*! ../demux/demux-errors.js */ +"./src/demux/demux-errors.js"),d=i( +/*! ../io/io-controller.js */ +"./src/io/io-controller.js"),c=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js"),f=function(){function e(e,t){this.TAG="TransmuxingController",this._emitter=new(r()),this._config=t,e.segments||(e.segments=[{duration:e.duration,filesize:e.filesize,url:e.url}]),"boolean"!=typeof e.cors&&(e.cors=!0),"boolean"!=typeof e.withCredentials&&(e.withCredentials=!1),this._mediaDataSource=e,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach((function(n){n.timestampBase=i,i+=n.duration,n.cors=e.cors,n.withCredentials=e.withCredentials,t.referrerPolicy&&(n.referrerPolicy=t.referrerPolicy)})),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return e.prototype.destroy=function(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.start=function(){this._loadSegment(0),this._enableStatisticsReporter()},e.prototype._loadSegment=function(e,t){this._currentSegmentIndex=e;var i=this._mediaDataSource.segments[e],n=this._ioctl=new d.default(i,this._config,e);n.onError=this._onIOException.bind(this),n.onSeeked=this._onIOSeeked.bind(this),n.onComplete=this._onIOComplete.bind(this),n.onRedirect=this._onIORedirect.bind(this),n.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):n.onDataArrival=this._onInitChunkArrival.bind(this),n.open(t)},e.prototype.stop=function(){this._internalAbort(),this._disableStatisticsReporter()},e.prototype._internalAbort=function(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)},e.prototype.pause=function(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())},e.prototype.resume=function(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())},e.prototype.seek=function(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var i=this._mediaInfo.segments[t];if(null==i)this._pendingSeekTime=e;else{var n=i.getNearestKeyframe(e);this._remuxer.seek(n.milliseconds),this._ioctl.seek(n.fileposition),this._pendingResolveSeekPoint=n.milliseconds}}else{var r=this._mediaInfo.segments[t];null==r?(this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t)):(n=r.getNearestKeyframe(e),this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,n.fileposition),this._pendingResolveSeekPoint=n.milliseconds,this._reportSegmentMediaInfo(t))}this._enableStatisticsReporter()}},e.prototype._searchSegmentIndexContains=function(e){for(var t=this._mediaDataSource.segments,i=t.length-1,n=0;n0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((n=u.default.probe(e)).match){this._demuxer=new u.default(n,this._config),this._remuxer||(this._remuxer=new l.default(this._config));var s=this._mediaDataSource;null==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),"boolean"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),"boolean"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else n=null,a.default.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(c.default.DEMUX_ERROR,h.default.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),r=0;return r},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.default.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(c.default.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(c.default.SCRIPTDATA_ARRIVED,e)},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(c.default.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(c.default.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(c.default.STATISTICS_INFO,e)},e}();t.default=f},"./src/core/transmuxing-events.js": +/*!****************************************!*\ + !*** ./src/core/transmuxing-events.js ***! + \****************************************/ +function(e,t,i){i.r(t),t.default={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"}},"./src/core/transmuxing-worker.js": +/*!****************************************!*\ + !*** ./src/core/transmuxing-worker.js ***! + \****************************************/ +function(e,t,i){i.r(t);var n=i( +/*! ../utils/logging-control.js */ +"./src/utils/logging-control.js"),r=i( +/*! ../utils/polyfill.js */ +"./src/utils/polyfill.js"),a=i( +/*! ./transmuxing-controller.js */ +"./src/core/transmuxing-controller.js"),s=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js");t.default=function(e){var t=null,i=function(t,i){e.postMessage({msg:"logcat_callback",data:{type:t,logcat:i}})}.bind(this);function o(t,i){var n={msg:s.default.INIT_SEGMENT,data:{type:t,data:i}};e.postMessage(n,[i.data])}function u(t,i){var n={msg:s.default.MEDIA_SEGMENT,data:{type:t,data:i}};e.postMessage(n,[i.data])}function l(){var t={msg:s.default.LOADING_COMPLETE};e.postMessage(t)}function h(){var t={msg:s.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function d(t){var i={msg:s.default.MEDIA_INFO,data:t};e.postMessage(i)}function c(t){var i={msg:s.default.METADATA_ARRIVED,data:t};e.postMessage(i)}function f(t){var i={msg:s.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(i)}function p(t){var i={msg:s.default.STATISTICS_INFO,data:t};e.postMessage(i)}function m(t,i){e.postMessage({msg:s.default.IO_ERROR,data:{type:t,info:i}})}function _(t,i){e.postMessage({msg:s.default.DEMUX_ERROR,data:{type:t,info:i}})}function g(t){e.postMessage({msg:s.default.RECOMMEND_SEEKPOINT,data:t})}r.default.install(),e.addEventListener("message",(function(r){switch(r.data.cmd){case"init":(t=new a.default(r.data.param[0],r.data.param[1])).on(s.default.IO_ERROR,m.bind(this)),t.on(s.default.DEMUX_ERROR,_.bind(this)),t.on(s.default.INIT_SEGMENT,o.bind(this)),t.on(s.default.MEDIA_SEGMENT,u.bind(this)),t.on(s.default.LOADING_COMPLETE,l.bind(this)),t.on(s.default.RECOVERED_EARLY_EOF,h.bind(this)),t.on(s.default.MEDIA_INFO,d.bind(this)),t.on(s.default.METADATA_ARRIVED,c.bind(this)),t.on(s.default.SCRIPTDATA_ARRIVED,f.bind(this)),t.on(s.default.STATISTICS_INFO,p.bind(this)),t.on(s.default.RECOMMEND_SEEKPOINT,g.bind(this));break;case"destroy":t&&(t.destroy(),t=null),e.postMessage({msg:"destroyed"});break;case"start":t.start();break;case"stop":t.stop();break;case"seek":t.seek(r.data.param);break;case"pause":t.pause();break;case"resume":t.resume();break;case"logging_config":var v=r.data.param;n.default.applyConfig(v),!0===v.enableCallback?n.default.addLogListener(i):n.default.removeLogListener(i)}}))}},"./src/demux/amf-parser.js": +/*!*********************************!*\ + !*** ./src/demux/amf-parser.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n,r=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),a=i( +/*! ../utils/utf8-conv.js */ +"./src/utils/utf8-conv.js"),s=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),o=(n=new ArrayBuffer(2),new DataView(n).setInt16(0,256,!0),256===new Int16Array(n)[0]),u=function(){function e(){}return e.parseScriptData=function(t,i,n){var a={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);a[s.data]=o.data}catch(e){r.default.e("AMF",e.toString())}return a},e.parseObject=function(t,i,n){if(n<3)throw new s.IllegalStateException("Data not enough when parse ScriptDataObject");var r=e.parseString(t,i,n),a=e.parseValue(t,i+r.size,n-r.size),o=a.objectEnd;return{data:{name:r.data,value:a.data},size:r.size+a.size,objectEnd:o}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new s.IllegalStateException("Data not enough when parse String");var n=new DataView(e,t,i).getUint16(0,!o);return{data:n>0?(0,a.default)(new Uint8Array(e,t+2,n)):"",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new s.IllegalStateException("Data not enough when parse LongString");var n=new DataView(e,t,i).getUint32(0,!o);return{data:n>0?(0,a.default)(new Uint8Array(e,t+4,n)):"",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new s.IllegalStateException("Data size invalid when parse Date");var n=new DataView(e,t,i),r=n.getFloat64(0,!o),a=n.getInt16(8,!o);return{data:new Date(r+=60*a*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new s.IllegalStateException("Data not enough when parse Value");var a,u=new DataView(t,i,n),l=1,h=u.getUint8(0),d=!1;try{switch(h){case 0:a=u.getFloat64(1,!o),l+=8;break;case 1:a=!!u.getUint8(1),l+=1;break;case 2:var c=e.parseString(t,i+1,n-1);a=c.data,l+=c.size;break;case 3:a={};var f=0;for(9==(16777215&u.getUint32(n-4,!o))&&(f=3);l32)throw new n.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var r=e-this._current_word_bits_left;this._fillCurrentWord();var a=Math.min(r,this._current_word_bits_left),s=this._current_word>>>32-a;return this._current_word<<=a,this._current_word_bits_left-=a,i=i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}();t.default=r},"./src/demux/flv-demuxer.js": +/*!**********************************!*\ + !*** ./src/demux/flv-demuxer.js ***! + \**********************************/ +function(e,t,i){i.r(t);var r=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),a=i( +/*! ./amf-parser.js */ +"./src/demux/amf-parser.js"),s=i( +/*! ./sps-parser.js */ +"./src/demux/sps-parser.js"),o=i( +/*! ./hevc-sps-parser.js */ +"./src/demux/hevc-sps-parser.js"),u=i( +/*! ./demux-errors.js */ +"./src/demux/demux-errors.js"),l=i( +/*! ../core/media-info.js */ +"./src/core/media-info.js"),h=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),d=function(){function e(e,t){var i;this.TAG="FLVDemuxer",this._config=t,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=e.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=e.hasAudioTrack,this._hasVideo=e.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new l.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=(i=new ArrayBuffer(2),new DataView(i).setInt16(0,256,!0),256===new Int16Array(i)[0])}return e.prototype.destroy=function(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null},e.probe=function(e){var t=new Uint8Array(e),i={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return i;var n,r,a=(4&t[4])>>>2!=0,s=0!=(1&t[4]),o=(n=t)[r=5]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3];return o<9?i:{match:!0,consumed:o,dataOffset:o,hasAudioTrack:a,hasVideoTrack:s}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,"onTrackMetadata",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaInfo",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMetaDataArrived",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScriptDataArrived",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataAvailable",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"timestampBase",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedDuration",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasAudio",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasVideo",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new l.default},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new h.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var n=0,a=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}for(this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&r.default.w(this.TAG,"First time parsing but chunk byteStart invalid!"),0!==(s=new DataView(t,n)).getUint32(0,!a)&&r.default.w(this.TAG,"PrevTagSize0 !== 0 !!!"),n+=4);nt.byteLength)break;var o=s.getUint8(0),u=16777215&s.getUint32(0,!a);if(n+11+u+4>t.byteLength)break;if(8===o||9===o||18===o){var l=s.getUint8(4),d=s.getUint8(5),c=s.getUint8(6)|d<<8|l<<16|s.getUint8(7)<<24;0!=(16777215&s.getUint32(7,!a))&&r.default.w(this.TAG,"Meet tag which has StreamID != 0!");var f=n+11;switch(o){case 8:this._parseAudioData(t,f,u,c);break;case 9:this._parseVideoData(t,f,u,c,i+n);break;case 18:this._parseScriptData(t,f,u)}var p=s.getUint32(11+u,!a);p!==11+u&&r.default.w(this.TAG,"Invalid PrevTagSize "+p),n+=11+u+4}else r.default.w(this.TAG,"Unsupported tag type "+o+", skipped"),n+=11+u+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var s=a.default.parseScriptData(e,t,i);if(s.hasOwnProperty("onMetaData")){if(null==s.onMetaData||"object"!==n(s.onMetaData))return void r.default.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&r.default.w(this.TAG,"Found another onMetaData tag!"),this._metadata=s;var o=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},o)),"boolean"==typeof o.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=o.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof o.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=o.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof o.audiodatarate&&(this._mediaInfo.audioDataRate=o.audiodatarate),"number"==typeof o.videodatarate&&(this._mediaInfo.videoDataRate=o.videodatarate),"number"==typeof o.width&&(this._mediaInfo.width=o.width),"number"==typeof o.height&&(this._mediaInfo.height=o.height),"number"==typeof o.duration){if(!this._durationOverrided){var u=Math.floor(o.duration*this._timescale);this._duration=u,this._mediaInfo.duration=u}}else this._mediaInfo.duration=0;if("number"==typeof o.framerate){var l=Math.floor(1e3*o.framerate);if(l>0){var h=l/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=h,this._referenceFrameRate.fps_num=l,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=h}}if("object"===n(o.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=o.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),o.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=o,r.default.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(s).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},s))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,l=(12&a)>>>2;if(l>=0&&l<=4){o=this._flvSoundRateTable[l];var h=1&a,d=this._audioMetadata,c=this._audioTrack;if(d||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(d=this._audioMetadata={}).type="audio",d.id=c.id,d.timescale=this._timescale,d.duration=this._duration,d.audioSampleRate=o,d.channelCount=0===h?1:2),10===s){var f=this._parseAACAudioData(e,t+1,i-1);if(null==f)return;if(0===f.packetType){d.config&&r.default.w(this.TAG,"Found another AudioSpecificConfig!");var p=f.data;d.audioSampleRate=p.samplingRate,d.channelCount=p.channelCount,d.codec=p.codec,d.originalCodec=p.originalCodec,d.config=p.config,d.refSampleDuration=1024/d.audioSampleRate*d.timescale,r.default.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",d),(g=this._mediaInfo).audioCodec=d.originalCodec,g.audioSampleRate=d.audioSampleRate,g.audioChannelCount=d.channelCount,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs="'+g.videoCodec+","+g.audioCodec+'"'):g.mimeType='video/x-flv; codecs="'+g.audioCodec+'"',g.isComplete()&&this._onMediaInfo(g)}else if(1===f.packetType){var m=this._timestampBase+n,_={unit:f.data,length:f.data.byteLength,dts:m,pts:m};c.samples.push(_),c.length+=f.data.length}else r.default.e(this.TAG,"Flv: Unsupported AAC data type "+f.packetType)}else if(2===s){if(!d.codec){var g;if(null==(p=this._parseMP3AudioData(e,t+1,i-1,!0)))return;d.audioSampleRate=p.samplingRate,d.channelCount=p.channelCount,d.codec=p.codec,d.originalCodec=p.originalCodec,d.refSampleDuration=1152/d.audioSampleRate*d.timescale,r.default.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",d),(g=this._mediaInfo).audioCodec=d.codec,g.audioSampleRate=d.audioSampleRate,g.audioChannelCount=d.channelCount,g.audioDataRate=p.bitRate,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs="'+g.videoCodec+","+g.audioCodec+'"'):g.mimeType='video/x-flv; codecs="'+g.audioCodec+'"',g.isComplete()&&this._onMediaInfo(g)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;m=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:m,pts:m};c.samples.push(y),c.length+=v.length}}else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+l)}else this._onError(u.default.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},a=new Uint8Array(e,t,i);return n.packetType=a[0],0===a[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=a.subarray(1),n}r.default.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,r,a=new Uint8Array(e,t,i),s=null,o=0,l=null;if(o=n=a[0]>>>3,(r=(7&a[0])<<1|a[1]>>>7)<0||r>=this._mpegSamplingRates.length)this._onError(u.default.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");else{var h=this._mpegSamplingRates[r],d=(120&a[1])>>>3;if(!(d<0||d>=8)){5===o&&(l=(7&a[1])<<1|a[2]>>>7,a[2]);var c=self.navigator.userAgent.toLowerCase();return-1!==c.indexOf("firefox")?r>=6?(o=5,s=new Array(4),l=r-3):(o=2,s=new Array(2),l=r):-1!==c.indexOf("android")?(o=2,s=new Array(2),l=r):(o=5,l=r,s=new Array(4),r>=6?l=r-3:1===d&&(o=2,s=new Array(2),l=r)),s[0]=o<<3,s[0]|=(15&r)>>>1,s[1]=(15&r)<<7,s[1]|=(15&d)<<3,5===o&&(s[1]|=(15&l)>>>1,s[2]=(1&l)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:h,channelCount:d,codec:"mp4a.40."+o,originalCodec:"mp4a.40."+n}}this._onError(u.default.FORMAT_ERROR,"Flv: AAC invalid channel configuration")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var a=new Uint8Array(e,t,i),s=null;if(n){if(255!==a[0])return;var o=a[1]>>>3&3,u=(6&a[1])>>1,l=(240&a[2])>>>4,h=(12&a[2])>>>2,d=3!=(a[3]>>>6&3)?2:1,c=0,f=0;switch(o){case 0:c=this._mpegAudioV25SampleRateTable[h];break;case 2:c=this._mpegAudioV20SampleRateTable[h];break;case 3:c=this._mpegAudioV10SampleRateTable[h]}switch(u){case 1:l>>4,l=15&s;7===l||12===l?7===l?this._parseAVCVideoPacket(e,t+1,i-1,n,a,o):12===l&&this._parseHVCVideoPacket(e,t+1,i-1,n,a,o):this._onError(u.default.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+l)}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.default.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");else{var o=this._littleEndian,l=new DataView(e,t,i),h=l.getUint8(0),d=(16777215&l.getUint32(0,!o))<<8>>8;if(0===h)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===h)this._parseAVCVideoData(e,t+4,i-4,n,a,s,d);else if(2!==h)return void this._onError(u.default.FORMAT_ERROR,"Flv: Invalid video packet type "+h)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)r.default.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,a=this._videoTrack,o=this._littleEndian,l=new DataView(e,t,i);n?void 0!==n.avcc&&r.default.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration);var h=l.getUint8(0),d=l.getUint8(1);if(l.getUint8(2),l.getUint8(3),1===h&&0!==d)if(this._naluLengthSize=1+(3&l.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var c=31&l.getUint8(5);if(0!==c){c>1&&r.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+c);for(var f=6,p=0;p1&&r.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+A),f++,p=0;p=i){r.default.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void r.default.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=31&l.getUint8(c+f);5===g&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=a),b.samples.push(S),b.length+=d}},e.prototype._parseHVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.default.w(this.TAG,"Flv: Invalid HVC packet, missing HVCPacketType or/and CompositionTime");else{var o=this._littleEndian,l=new DataView(e,t,i),h=l.getUint8(0),d=(16777215&l.getUint32(0,!o))<<8>>8;if(0===h)this._parseHVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===h)this._parseHVCVideoData(e,t+4,i-4,n,a,s,d);else if(2!==h)return void this._onError(u.default.FORMAT_ERROR,"Flv: Invalid video packet type "+h)}},e.prototype._parseHVCDecoderConfigurationRecord=function(e,t,i){if(i<23)r.default.w(this.TAG,"Flv: Invalid HVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,a=this._videoTrack,s=this._littleEndian,l=new DataView(e,t,i);if(n?void 0!==n.avcc&&r.default.w(this.TAG,"Found another HVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration),1===l.getUint8(0))if(this._naluLengthSize=1+(3&l.getUint8(21)),3===this._naluLengthSize||4===this._naluLengthSize){for(var h,d,c,f=l.getUint8(22),p=23,m=[],_=0;_1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: VPS Count = "+h),0!==d)if(d>1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: SPS Count = "+d),0!==c){c>1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: PPS Count = "+d);var T=m[0],E=o.default.parseSPS(T);n.codecWidth=E.codec_size.width,n.codecHeight=E.codec_size.height,n.presentWidth=E.present_size.width,n.presentHeight=E.present_size.height,n.profile=E.profile_string,n.level=E.level_string,n.profile_idc=E.profile_idc,n.level_idc=E.level_idc,n.bitDepth=E.bit_depth,n.chromaFormat=E.chroma_format,n.sarRatio=E.sar_ratio,n.frameRate=E.frame_rate,!1!==E.frame_rate.fixed&&0!==E.frame_rate.fps_num&&0!==E.frame_rate.fps_den||(n.frameRate=this._referenceFrameRate);var w=n.frameRate.fps_den,A=n.frameRate.fps_num;n.refSampleDuration=n.timescale*(w/A);var C="hvc1."+n.profile_idc+".1.L"+n.level_idc+".B0";n.codec=C;var k=this._mediaInfo;k.width=n.codecWidth,k.height=n.codecHeight,k.fps=n.frameRate.fps,k.profile=n.profile,k.level=n.level,k.refFrames=E.ref_frames,k.chromaFormat=E.chroma_format_string,k.sarNum=n.sarRatio.width,k.sarDen=n.sarRatio.height,k.videoCodec=C,k.hasAudio?null!=k.audioCodec&&(k.mimeType='video/x-flv; codecs="'+k.videoCodec+","+k.audioCodec+'"'):k.mimeType='video/x-flv; codecs="'+k.videoCodec+'"',k.isComplete()&&this._onMediaInfo(k),n.avcc=new Uint8Array(i),n.avcc.set(new Uint8Array(e,t,i),0),r.default.v(this.TAG,"Parsed HVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",n)}else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No PPS");else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No SPS");else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No VPS")}else this._onError(u.default.FORMAT_ERROR,"Flv: Strange NaluLengthSizeMinusOne: "+(this._naluLengthSize-1));else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord")}},e.prototype._parseHVCVideoData=function(e,t,i,n,a,s,o){for(var u=this._littleEndian,l=new DataView(e,t,i),h=[],d=0,c=0,f=this._naluLengthSize,p=this._timestampBase+n,m=1===s;c=i){r.default.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void r.default.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=l.getUint8(c+f)>>1&63;g>=16&&g<=23&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=a),b.samples.push(S),b.length+=d}},e}();t.default=d},"./src/demux/hevc-sps-parser.js": +/*!**************************************!*\ + !*** ./src/demux/hevc-sps-parser.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=i( +/*! ./exp-golomb.js */ +"./src/demux/exp-golomb.js"),r=i( +/*! ./sps-parser.js */ +"./src/demux/sps-parser.js"),a=function(){function e(){}return e.parseSPS=function(t){var i=r.default._ebsp2rbsp(t),a=new n.default(i),s={};a.readBits(16),a.readBits(4);var o=a.readBits(3);a.readBits(1),e._hvcc_parse_ptl(a,s,o),a.readUEG();var u=0,l=a.readUEG();3==l&&(u=a.readBits(1)),s.sar_width=s.sar_height=1,s.conf_win_left_offset=s.conf_win_right_offset=s.conf_win_top_offset=s.conf_win_bottom_offset=0,s.def_disp_win_left_offset=s.def_disp_win_right_offset=s.def_disp_win_top_offset=s.def_disp_win_bottom_offset=0;var h=a.readUEG(),d=a.readUEG();a.readBits(1)&&(s.conf_win_left_offset=a.readUEG(),s.conf_win_right_offset=a.readUEG(),s.conf_win_top_offset=a.readUEG(),s.conf_win_bottom_offset=a.readUEG(),1===s.default_display_window_flag&&(s.conf_win_left_offset,s.def_disp_win_left_offset,s.conf_win_right_offset,s.def_disp_win_right_offset,s.conf_win_top_offset,s.def_disp_win_top_offset,s.conf_win_bottom_offset,s.def_disp_win_bottom_offset));var c=a.readUEG()+8;a.readUEG();for(var f=a.readUEG(),p=a.readBits(1)?0:o;p<=o;p++)e._skip_sub_layer_ordering_info(a);a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readBits(1)&&a.readBits(1)&&e._skip_scaling_list_data(a),a.readBits(1),a.readBits(1),a.readBits(1)&&(a.readBits(4),a.readBits(4),a.readUEG(),a.readUEG(),a.readBits(1));var m=[],_=a.readUEG();for(p=0;p<_;p++){var g=e._parse_rps(a,p,_,m);if(g<0)return g}if(a.readBits(1)){var v=a.readUEG();for(p=0;p32){for(var b=y/32,S=y%32,T=0;T0)for(u=i;u<8;u++)e.readBits(2);for(u=0;u=i)return-1;e.readBits(1),e.readUEG(),n[t]=0;for(var r=0;r<=n[t-1];r++){var a=0,s=e.readBits(1);s||(a=e.readBits(1)),(s||a)&&n[t]++}}else{var o=e.readUEG(),u=e.readUEG();for(n[t]=o+u,r=0;r1&&e.readSEG();for(var r=0;r0&&(t.fps=t.fps_num/t.fps_den);var i=0;e.readBits(1)&&(i=e.readUEG())>=0&&(t.fps/=i+1)},e._skip_hrd_parameters=function(t,i,n){var r=0,a=0;if(i&&(r=t.readBits(1),a=t.readBits(1),r||a)){var s=t.readBits(1);s&&t.readBits(19),t.readByte(),s&&t.readBits(4),t.readBits(15)}for(var o=0;o<=n;o++){var u=0,l=0,h=0,d=t.readBits(1);hvcc.fps_fixed=d,d||(h=t.readBits(1)),h?t.readUEG():l=t.readBits(1),l||(u=t.readUEG(t)),r&&e._skip_sub_layer_hrd_parameters(t,u,0),a&&e._skip_sub_layer_hrd_parameters(t,u,0)}},e.getProfileString=function(e){switch(e){case 1:return"Main";case 2:return"Main10";case 3:return"MainSP";case 4:return"Rext";case 9:return"SCC";default:return"Unknown"}},e.getLevelString=function(e){return(e/30).toFixed(1)},e.getChromaFormatString=function(e){switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}},e}();t.default=a},"./src/demux/sps-parser.js": +/*!*********************************!*\ + !*** ./src/demux/sps-parser.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=i( +/*! ./exp-golomb.js */ +"./src/demux/exp-golomb.js"),r=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),r=0,a=0;a=2&&3===t[a]&&0===t[a-1]&&0===t[a-2]||(n[r]=t[a],r++);return new Uint8Array(n.buffer,0,r)},e.parseSPS=function(t){var i=e._ebsp2rbsp(t),r=new n.default(i);r.readByte();var a=r.readByte();r.readByte();var s=r.readByte();r.readUEG();var o=e.getProfileString(a),u=e.getLevelString(s),l=1,h=420,d=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(3===(l=r.readUEG())&&r.readBits(1),l<=3&&(h=[0,420,422,444][l]),d=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool()))for(var c=3!==l?8:12,f=0;f0&&L<16?(w=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][L-1],A=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][L-1]):255===L&&(w=r.readByte()<<8|r.readByte(),A=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){var x=r.readBits(32),R=r.readBits(32);k=r.readBool(),C=(P=R)/(I=2*x)}}var D=1;1===w&&1===A||(D=w/A);var O=0,U=0;0===l?(O=1,U=2-y):(O=3===l?1:2,U=(1===l?2:1)*(2-y));var M=16*(g+1),F=16*(v+1)*(2-y);M-=(b+S)*O,F-=(T+E)*U;var B=Math.ceil(M*D);return r.destroy(),r=null,{profile_string:o,level_string:u,bit_depth:d,ref_frames:_,chroma_format:h,chroma_format_string:e.getChromaFormatString(h),frame_rate:{fixed:k,fps:C,fps_den:I,fps_num:P},sar_ratio:{width:w,height:A},codec_size:{width:M,height:F},present_size:{width:B,height:F}}},e._skipScalingList=function(e,t){for(var i=8,n=8,r=0;r=15048,t=!a.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var r=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(r=e.redirectedURL);var a=this._seekHandler.getConfig(r,t),u=new self.Headers;if("object"===n(a.headers)){var l=a.headers;for(var h in l)l.hasOwnProperty(h)&&u.append(h,l[h])}var d={method:"GET",headers:u,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"===n(this._config.headers))for(var h in this._config.headers)u.append(h,this._config.headers[h]);!1===e.cors&&(d.mode="same-origin"),e.withCredentials&&(d.credentials="include"),e.referrerPolicy&&(d.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,d.signal=this._abortController.signal),this._status=s.LoaderStatus.kConnecting,self.fetch(a.url,d).then((function(e){if(i._requestAbort)return i._status=s.LoaderStatus.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get("Content-Length");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.LoaderStatus.kError,!i._onError)throw new o.RuntimeException("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);i._onError(s.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.LoaderStatus.kError,!i._onError)throw e;i._onError(s.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.LoaderStatus.kBuffering||!a.default.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new r.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,"status",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"extraData",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSeeked",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRedirect",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRecoveredEarlyEof",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentURL",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRedirect",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentRedirectedURL",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentSpeed",{get:function(){return this._loaderClass===u.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loaderType",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if("range"===e.seekType)this._seekHandler=new h.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",i=e.seekParamEnd||"bend";this._seekHandler=new d.default(t,i)}else{if("custom"!==e.seekType)throw new c.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new c.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=l.default;else if(s.default.isSupported())this._loaderClass=s.default;else if(o.default.isSupported())this._loaderClass=o.default;else{if(!u.default.isSupported())throw new c.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=u.default}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||"string"!=typeof e||0===e.length)throw new c.InvalidArgumentException("Url must be a non-empty string!");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var a=this._stashBuffer.slice(0,this._stashUsed);(u=this._dispatchChunks(a,this._stashByteStart))0&&(l=new Uint8Array(a,u),o.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u):(this._stashUsed=0,this._stashByteStart+=u),this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else(u=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,u),0),this._stashUsed+=s,this._stashByteStart=t+u);else if(0===this._stashUsed){var s;(u=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,u),0),this._stashUsed+=s,this._stashByteStart=t+u)}else{var o,u;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(u=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var l=new Uint8Array(this._stashBuffer,u);o.set(l,0)}this._stashUsed-=u,this._stashByteStart+=u}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),r=t.byteLength-i;if(i0){var a=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);a.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}n.default.w(this.TAG,r+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,r}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(n.default.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=a.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case a.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0)for(var a=i.split("&"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=a[s])}return 0===r.length?t:t+"?"+r},e}();t.default=n},"./src/io/range-seek-handler.js": +/*!**************************************!*\ + !*** ./src/io/range-seek-handler.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=function(){function e(e){this._zeroStart=e||!1}return e.prototype.getConfig=function(e,t){var i={};if(0!==t.from||-1!==t.to){var n=void 0;n=-1!==t.to?"bytes="+t.from.toString()+"-"+t.to.toString():"bytes="+t.from.toString()+"-",i.Range=n}else this._zeroStart&&(i.Range="bytes=0-");return{url:e,headers:i}},e.prototype.removeURLParameters=function(e){return e},e}();t.default=n},"./src/io/speed-sampler.js": +/*!*********************************!*\ + !*** ./src/io/speed-sampler.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,"currentKBps",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastSecondKBps",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"averageKBps",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}();t.default=n},"./src/io/websocket-loader.js": +/*!************************************!*\ + !*** ./src/io/websocket-loader.js ***! + \************************************/ +function(e,t,i){i.r(t);var n,r=i( +/*! ./loader.js */ +"./src/io/loader.js"),a=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),s=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),o=function(e){function t(){var t=e.call(this,"websocket-loader")||this;return t.TAG="WebSocketLoader",t._needStash=!0,t._ws=null,t._requestAbort=!1,t._receivedLength=0,t}return s(t,e),t.isSupported=function(){try{return void 0!==self.WebSocket}catch(e){return!1}},t.prototype.destroy=function(){this._ws&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType="arraybuffer",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=r.LoaderStatus.kConnecting}catch(e){this._status=r.LoaderStatus.kError;var i={code:e.code,msg:e.message};if(!this._onError)throw new a.RuntimeException(i.msg);this._onError(r.LoaderErrors.EXCEPTION,i)}},t.prototype.abort=function(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=r.LoaderStatus.kComplete},t.prototype._onWebSocketOpen=function(e){this._status=r.LoaderStatus.kBuffering},t.prototype._onWebSocketClose=function(e){!0!==this._requestAbort?(this._status=r.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)):this._requestAbort=!1},t.prototype._onWebSocketMessage=function(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var i=new FileReader;i.onload=function(){t._dispatchArrayBuffer(i.result)},i.readAsArrayBuffer(e.data)}else{this._status=r.LoaderStatus.kError;var n={code:-1,msg:"Unsupported WebSocket message type: "+e.data.constructor.name};if(!this._onError)throw new a.RuntimeException(n.msg);this._onError(r.LoaderErrors.EXCEPTION,n)}},t.prototype._dispatchArrayBuffer=function(e){var t=e,i=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)},t.prototype._onWebSocketError=function(e){this._status=r.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new a.RuntimeException(t.msg);this._onError(r.LoaderErrors.EXCEPTION,t)},t}(r.BaseLoader);t.default=o},"./src/io/xhr-moz-chunked-loader.js": +/*!******************************************!*\ + !*** ./src/io/xhr-moz-chunked-loader.js ***! + \******************************************/ +function(e,t,i){i.r(t);var r,a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ./loader.js */ +"./src/io/loader.js"),o=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),u=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),l=function(e){function t(t,i){var n=e.call(this,"xhr-moz-chunked-loader")||this;return n.TAG="MozChunkedLoader",n._seekHandler=t,n._config=i,n._needStash=!0,n._xhr=null,n._requestAbort=!1,n._contentLength=null,n._receivedLength=0,n}return u(t,e),t.isSupported=function(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===e.responseType}catch(e){return a.default.w("MozChunkedLoader",e.message),!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){this._dataSource=e,this._range=t;var i=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(i=e.redirectedURL);var r=this._seekHandler.getConfig(i,t);this._requestURL=r.url;var a=this._xhr=new XMLHttpRequest;if(a.open("GET",r.url,!0),a.responseType="moz-chunked-arraybuffer",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onloadend=this._onLoadEnd.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),"object"===n(r.headers)){var o=r.headers;for(var u in o)o.hasOwnProperty(u)&&a.setRequestHeader(u,o[u])}if("object"===n(this._config.headers))for(var u in o=this._config.headers)o.hasOwnProperty(u)&&a.setRequestHeader(u,o[u]);this._status=s.LoaderStatus.kConnecting,a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=s.LoaderStatus.kComplete},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var i=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(i)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=s.LoaderStatus.kError,!this._onError)throw new o.RuntimeException("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.LoaderStatus.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.LoaderStatus.kError&&(this._status=s.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.LoaderStatus.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var a=this._xhr=new XMLHttpRequest;if(a.open("GET",r.url,!0),a.responseType="arraybuffer",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onload=this._onLoad.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),"object"===n(r.headers)){var s=r.headers;for(var o in s)s.hasOwnProperty(o)&&a.setRequestHeader(o,s[o])}if("object"===n(this._config.headers))for(var o in s=this._config.headers)s.hasOwnProperty(o)&&a.setRequestHeader(o,s[o]);a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=o.LoaderStatus.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=o.LoaderStatus.kBuffering}else{if(this._status=o.LoaderStatus.kError,!this._onError)throw new u.RuntimeException("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(o.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==o.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var a=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new l.default(this._mediaDataSource,this._config),this._transmuxer.on(h.default.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(h.default.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(s.default.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}})),this._transmuxer.on(h.default.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(u.default.LOADING_COMPLETE)})),this._transmuxer.on(h.default.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(u.default.RECOVERED_EARLY_EOF)})),this._transmuxer.on(h.default.IO_ERROR,(function(t,i){e._emitter.emit(u.default.ERROR,f.ErrorTypes.NETWORK_ERROR,t,i)})),this._transmuxer.on(h.default.DEMUX_ERROR,(function(t,i){e._emitter.emit(u.default.ERROR,f.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(h.default.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(u.default.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(h.default.METADATA_ARRIVED,(function(t){e._emitter.emit(u.default.METADATA_ARRIVED,t)})),this._transmuxer.on(h.default.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(u.default.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(h.default.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(u.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(h.default.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,i=0,n=0;n=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(s.default.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){s.default.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=r&&e=a-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(s.default.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var r=this._mediaElement.buffered.start(0);(r<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(s.default.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(s.default.STATISTICS_INFO,this.statisticsInfo)},e}();t.default=l},"./src/player/player-errors.js": +/*!*************************************!*\ + !*** ./src/player/player-errors.js ***! + \*************************************/ +function(e,t,i){i.r(t),i.d(t,{ErrorTypes:function(){return a},ErrorDetails:function(){return s}});var n=i( +/*! ../io/loader.js */ +"./src/io/loader.js"),r=i( +/*! ../demux/demux-errors.js */ +"./src/demux/demux-errors.js"),a={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},s={NETWORK_EXCEPTION:n.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:n.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:n.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:n.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:r.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:r.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:r.default.CODEC_UNSUPPORTED}},"./src/player/player-events.js": +/*!*************************************!*\ + !*** ./src/player/player-events.js ***! + \*************************************/ +function(e,t,i){i.r(t),t.default={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"}},"./src/remux/aac-silent.js": +/*!*********************************!*\ + !*** ./src/remux/aac-silent.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}();t.default=n},"./src/remux/mp4-generator.js": +/*!************************************!*\ + !*** ./src/remux/mp4-generator.js ***! + \************************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.init=function(){for(var t in e.types={hvc1:[],hvcC:[],avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],pasp:[],".mp3":[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var i=e.constants={};i.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),i.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),i.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSC=i.STCO=i.STTS,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),i.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])},e.box=function(e){for(var t=8,i=null,n=Array.prototype.slice.call(arguments,1),r=n.length,a=0;a>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(a=0;a>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,r=t.presentWidth,a=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,a>>>8&255,255&a,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i=null;return i="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i=null;return i="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[".mp3"],r)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,r,e.esds(t))},e.esds=function(t){var i=t.config||[],n=i.length,r=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,r)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,r=t.codecHeight,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return t.codec.indexOf("avc1")>=0?e.box(e.types.avc1,a,e.box(e.types.avcC,i)):e.box(e.types.hvc1,a,e.box(e.types.hvcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,a,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,r=new Uint8Array(4+n),a=0;a>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();n.init(),t.default=n},"./src/remux/mp4-remuxer.js": +/*!**********************************!*\ + !*** ./src/remux/mp4-remuxer.js ***! + \**********************************/ +function(e,t,i){i.r(t);var n=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),r=i( +/*! ./mp4-generator.js */ +"./src/remux/mp4-generator.js"),a=i( +/*! ./aac-silent.js */ +"./src/remux/aac-silent.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ../core/media-segment-info.js */ +"./src/core/media-segment-info.js"),u=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),l=function(){function e(e){this.TAG="MP4Remuxer",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new o.MediaSegmentInfoList("audio"),this._videoSegmentInfoList=new o.MediaSegmentInfoList("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.default.chrome||!(s.default.version.major<50||50===s.default.version.major&&s.default.version.build<2661)),this._fillSilentAfterSeek=s.default.msedge||s.default.msie,this._mp3UseMpegAudio=!s.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,"onInitSegment",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaSegment",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new u.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n="mp4",a=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(n="mpeg",a="",i=new Uint8Array):i=r.default.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,i=r.default.generateInitSegment(t)}if(!this._onInitSegment)throw new u.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:i.buffer,codec:a,container:e+"/"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,u=e,l=u.samples,h=void 0,d=-1,c=this._audioMeta.refSampleDuration,f="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,p=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(l&&0!==l.length&&(1!==l.length||t)){var _=0,g=null,v=0;f?(_=0,v=u.length):(_=8,v=8+u.length);var y=null;if(l.length>1&&(v-=(y=l.pop()).length),null!=this._audioStashedLastSample){var b=this._audioStashedLastSample;this._audioStashedLastSample=null,l.unshift(b),v+=b.length}null!=y&&(this._audioStashedLastSample=y);var S=l[0].dts-this._dtsBase;if(this._audioNextDts)h=S-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())h=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(m=!0);else{var T=this._audioSegmentInfoList.getLastSampleBefore(S);if(null!=T){var E=S-(T.originalDts+T.duration);E<=3&&(E=0),h=S-(T.dts+T.duration+E)}else h=0}if(m){var w=S-h,A=this._videoSegmentInfoList.getLastSegmentBefore(S);if(null!=A&&A.beginDts=3*c&&this._fillAudioTimestampGap&&!s.default.safari){R=!0;var M,F=Math.floor(h/c);n.default.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: "+x+" ms, curRefDts: "+U+" ms, dtsCorrection: "+Math.round(h)+" ms, generate: "+F+" frames"),C=Math.floor(U),O=Math.floor(U+c)-C,null==(M=a.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(n.default.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),M=L),D=[];for(var B=0;B=1?P[P.length-1].duration:Math.floor(c),this._audioNextDts=C+O;-1===d&&(d=C),P.push({dts:C,pts:C,cts:0,unit:b.unit,size:b.unit.byteLength,duration:O,originalDts:x,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),R&&P.push.apply(P,D)}}if(0===P.length)return u.samples=[],void(u.length=0);for(f?g=new Uint8Array(v):((g=new Uint8Array(v))[0]=v>>>24&255,g[1]=v>>>16&255,g[2]=v>>>8&255,g[3]=255&v,g.set(r.default.types.mdat,4)),I=0;I1&&(f-=(p=s.pop()).length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,s.unshift(m),f+=m.length}null!=p&&(this._videoStashedLastSample=p);var _=s[0].dts-this._dtsBase;if(this._videoNextDts)u=_-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())u=0;else{var g=this._videoSegmentInfoList.getLastSampleBefore(_);if(null!=g){var v=_-(g.originalDts+g.duration);v<=3&&(v=0),u=_-(g.dts+g.duration+v)}else u=0}for(var y=new o.MediaSegmentInfo,b=[],S=0;S=1?b[b.length-1].duration:Math.floor(this._videoMeta.refSampleDuration),E){var P=new o.SampleInfo(w,C,k,m.dts,!0);P.fileposition=m.fileposition,y.appendSyncPoint(P)}b.push({dts:w,pts:C,cts:A,units:m.units,size:m.length,isKeyframe:E,duration:k,originalDts:T,flags:{isLeading:0,dependsOn:E?2:1,isDependedOn:E?1:0,hasRedundancy:0,isNonSync:E?0:1}})}for((c=new Uint8Array(f))[0]=f>>>24&255,c[1]=f>>>16&255,c[2]=f>>>8&255,c[3]=255&f,c.set(r.default.types.mdat,4),S=0;S=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:i[0]||""},a={};if(r.browser){a[r.browser]=!0;var s=r.majorVersion.split(".");a.version={major:parseInt(r.majorVersion,10),string:r.version},s.length>1&&(a.version.minor=parseInt(s[1],10)),s.length>2&&(a.version.build=parseInt(s[2],10))}for(var o in r.platform&&(a[r.platform]=!0),(a.chrome||a.opr||a.safari)&&(a.webkit=!0),(a.rv||a.iemobile)&&(a.rv&&delete a.rv,r.browser="msie",a.msie=!0),a.edge&&(delete a.edge,r.browser="msedge",a.msedge=!0),a.opr&&(r.browser="opera",a.opera=!0),a.safari&&a.android&&(r.browser="android",a.android=!0),a.name=r.browser,a.platform=r.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,a)}(),t.default=n},"./src/utils/exception.js": +/*!********************************!*\ + !*** ./src/utils/exception.js ***! + \********************************/ +function(e,t,i){i.r(t),i.d(t,{RuntimeException:function(){return a},IllegalStateException:function(){return s},InvalidArgumentException:function(){return o},NotImplementedException:function(){return u}});var n,r=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,"name",{get:function(){return"RuntimeException"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+": "+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"IllegalStateException"},enumerable:!1,configurable:!0}),t}(a),o=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"InvalidArgumentException"},enumerable:!1,configurable:!0}),t}(a),u=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"NotImplementedException"},enumerable:!1,configurable:!0}),t}(a)},"./src/utils/logger.js": +/*!*****************************!*\ + !*** ./src/utils/logger.js ***! + \*****************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn)},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",n),e.ENABLE_INFO&&console.info&&console.info(n)},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",n),e.ENABLE_WARN&&console.warn},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",n),e.ENABLE_DEBUG&&console.debug&&console.debug(n)},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",n),e.ENABLE_VERBOSE},e}();a.GLOBAL_TAG="flv.js",a.FORCE_GLOBAL_TAG=!1,a.ENABLE_ERROR=!0,a.ENABLE_INFO=!0,a.ENABLE_WARN=!0,a.ENABLE_DEBUG=!0,a.ENABLE_VERBOSE=!0,a.ENABLE_CALLBACK=!1,a.emitter=new(r()),t.default=a},"./src/utils/logging-control.js": +/*!**************************************!*\ + !*** ./src/utils/logging-control.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ./logger.js */ +"./src/utils/logger.js"),s=function(){function e(){}return Object.defineProperty(e,"forceGlobalTag",{get:function(){return a.default.FORCE_GLOBAL_TAG},set:function(t){a.default.FORCE_GLOBAL_TAG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"globalTag",{get:function(){return a.default.GLOBAL_TAG},set:function(t){a.default.GLOBAL_TAG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableAll",{get:function(){return a.default.ENABLE_VERBOSE&&a.default.ENABLE_DEBUG&&a.default.ENABLE_INFO&&a.default.ENABLE_WARN&&a.default.ENABLE_ERROR},set:function(t){a.default.ENABLE_VERBOSE=t,a.default.ENABLE_DEBUG=t,a.default.ENABLE_INFO=t,a.default.ENABLE_WARN=t,a.default.ENABLE_ERROR=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableDebug",{get:function(){return a.default.ENABLE_DEBUG},set:function(t){a.default.ENABLE_DEBUG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableVerbose",{get:function(){return a.default.ENABLE_VERBOSE},set:function(t){a.default.ENABLE_VERBOSE=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableInfo",{get:function(){return a.default.ENABLE_INFO},set:function(t){a.default.ENABLE_INFO=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableWarn",{get:function(){return a.default.ENABLE_WARN},set:function(t){a.default.ENABLE_WARN=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableError",{get:function(){return a.default.ENABLE_ERROR},set:function(t){a.default.ENABLE_ERROR=t,e._notifyChange()},enumerable:!1,configurable:!0}),e.getConfig=function(){return{globalTag:a.default.GLOBAL_TAG,forceGlobalTag:a.default.FORCE_GLOBAL_TAG,enableVerbose:a.default.ENABLE_VERBOSE,enableDebug:a.default.ENABLE_DEBUG,enableInfo:a.default.ENABLE_INFO,enableWarn:a.default.ENABLE_WARN,enableError:a.default.ENABLE_ERROR,enableCallback:a.default.ENABLE_CALLBACK}},e.applyConfig=function(e){a.default.GLOBAL_TAG=e.globalTag,a.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,a.default.ENABLE_VERBOSE=e.enableVerbose,a.default.ENABLE_DEBUG=e.enableDebug,a.default.ENABLE_INFO=e.enableInfo,a.default.ENABLE_WARN=e.enableWarn,a.default.ENABLE_ERROR=e.enableError,a.default.ENABLE_CALLBACK=e.enableCallback},e._notifyChange=function(){var t=e.emitter;if(t.listenerCount("change")>0){var i=e.getConfig();t.emit("change",i)}},e.registerListener=function(t){e.emitter.addListener("change",t)},e.removeListener=function(t){e.emitter.removeListener("change",t)},e.addLogListener=function(t){a.default.emitter.addListener("log",t),a.default.emitter.listenerCount("log")>0&&(a.default.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){a.default.emitter.removeListener("log",t),0===a.default.emitter.listenerCount("log")&&(a.default.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new(r()),t.default=s},"./src/utils/polyfill.js": +/*!*******************************!*\ + !*** ./src/utils/polyfill.js ***! + \*******************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.install=function(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i=128){t.push(String.fromCharCode(65535&s)),r+=2;continue}}else if(i[r]<240){if(n(i,r,2)&&(s=(15&i[r])<<12|(63&i[r+1])<<6|63&i[r+2])>=2048&&55296!=(63488&s)){t.push(String.fromCharCode(65535&s)),r+=3;continue}}else if(i[r]<248){var s;if(n(i,r,3)&&(s=(7&i[r])<<18|(63&i[r+1])<<12|(63&i[r+2])<<6|63&i[r+3])>65536&&s<1114112){s-=65536,t.push(String.fromCharCode(s>>>10|55296)),t.push(String.fromCharCode(1023&s|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}return t.join("")}}},i={};function r(e){var n=i[e];if(void 0!==n)return n.exports;var a=i[e]={exports:{}};return t[e].call(a.exports,a,a.exports,r),a.exports}return r.m=t,r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.g=function(){if("object"===("undefined"==typeof globalThis?"undefined":n(globalThis)))return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===("undefined"==typeof window?"undefined":n(window)))return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r("./src/index.js")}()},"object"===(void 0===i?"undefined":n(i))&&"object"===(void 0===t?"undefined":n(t))?t.exports=a():"function"==typeof define&&define.amd?define([],a):"object"===(void 0===i?"undefined":n(i))?i.flvjshevc=a():r.flvjshevc=a()}).call(this,e("_process"))},{_process:44}],69:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&i.extensionInfo.vHeight>0&&(i.size.width=i.extensionInfo.vWidth,i.size.height=i.extensionInfo.vHeight)),i.mediaInfo.duration,null!=i.onDemuxed&&i.onDemuxed(i.onReadyOBJ);for(var e=!1;void 0!==i.mpegTsObj&&null!==i.mpegTsObj;){var n=i.mpegTsObj.readPacket();if(n.size<=0)break;var r=n.dtime>0?n.dtime:n.ptime;if(!(r<0)){if(0==n.type){r<=i.vPreFramePTS&&(e=!0);var a=u.PACK_NALU(n.layer),o=1==n.keyframe,l=1==e?r+i.vStartTime:r,h=new s.BufferFrame(l,o,a,!0);i.bufObject.appendFrame(h.pts,h.data,!0,h.isKey),i.vPreFramePTS=l,null!=i.onSamples&&i.onSamples(i.onReadyOBJ,h)}else if(r<=i.aPreFramePTS&&(e=!0),"aac"==i.mediaInfo.aCodec)for(var d=n.data,c=0;c=3?(i._onTsReady(e),window.clearInterval(i.timerTsWasm),i.timerTsWasm=null):(i.mpegTsWasmRetryLoadTimes+=1,i.mpegTsObj.initDemuxer())}),3e3)}},{key:"_onTsReady",value:function(e){var t=this;t.hls.fetchM3u8(e),t.mpegTsWasmState=!0,t.timerFeed=window.setInterval((function(){if(t.tsList.length>0&&0==t.lockWait.state)try{var e=t.tsList.shift();if(null!=e){var i=e.streamURI,n=e.streamDur;t.lockWait.state=!0,t.lockWait.lockMember.dur=n,t.mpegTsObj.isLive=t.hls.isLive(),t.mpegTsObj.demuxURL(i)}else console.error("_onTsReady need wait ")}catch(e){console.error("onTsReady ERROR:",e),t.lockWait.state=!1}}),50)}},{key:"release",value:function(){this.hls&&this.hls.release(),this.hls=null,this.timerFeed&&window.clearInterval(this.timerFeed),this.timerFeed=null,this.timerTsWasm&&window.clearInterval(this.timerTsWasm),this.timerTsWasm=null}},{key:"bindReady",value:function(e){this.onReadyOBJ=e}},{key:"popBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1===e?t+1>this.bufObject.videoBuffer.length?null:this.bufObject.vFrame(t):2===e?t+1>this.bufObject.audioBuffer.length?null:this.bufObject.aFrame(t):void 0}},{key:"getVLen",value:function(){return this.bufObject.videoBuffer.length}},{key:"getALen",value:function(){return this.bufObject.audioBuffer.length}},{key:"getLastIdx",value:function(){return this.bufObject.videoBuffer.length-1}},{key:"getALastIdx",value:function(){return this.bufObject.audioBuffer.length-1}},{key:"getACodec",value:function(){return this.aCodec}},{key:"getVCodec",value:function(){return this.vCodec}},{key:"getDurationMs",value:function(){return this.durationMs}},{key:"getFPS",value:function(){return this.fps}},{key:"getSampleRate",value:function(){return this.sampleRate}},{key:"getSampleChannel",value:function(){return this.aChannel}},{key:"getSize",value:function(){return this.size}},{key:"seek",value:function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}}}])&&n(t.prototype,i),h&&n(t,h),e}();i.M3u8=h},{"../consts":52,"../decoder/hevc-imp":64,"./buffer":66,"./bufferFrame":67,"./m3u8base":70,"./mpegts/mpeg.js":74}],70:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i ",t),setTimeout((function(){i.fetchM3u8(e)}),500)}))}},{key:"_uriParse",value:function(e){this._preURI="";var t=e.split("://"),i=null,n=null;if(t.length<1)return!1;t.length>1?(i=t[0],n=t[1].split("/"),this._preURI=i+"://"):n=t[0].split("/");for(var r=0;rp&&(o=p);var m=n[l+=1],_=null;if(m.indexOf("http")>=0)_=m;else{if("/"===m[0]){var g=this._preURI.split("//"),v=g[g.length-1].split("/");this._preURI=g[0]+"//"+v[0]}_=this._preURI+m}this._slices.indexOf(_)<0&&(this._slices.push(_),this._slices[this._slices.length-1],null!=this.onTransportStream&&this.onTransportStream(_,p))}}}if(this._slices.length>s.hlsSliceLimit&&this._type==r.PLAYER_IN_TYPE_M3U8_LIVE&&(this._slices=this._slices.slice(-1*s.hlsSliceLimit)),null!=this.onFinished){var y={type:this._type,duration:-1};this.onFinished(y)}return o}},{key:"_readTag",value:function(e){var t=s.tagParse.exec(e);return null!==t?{key:t[1],value:t[3]}:null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.M3u8Base=o},{"../consts":52}],71:[function(e,t,i){"use strict";var n=e("mp4box"),r=e("../decoder/hevc-header"),a=e("../decoder/hevc-imp"),s=e("./buffer"),o=e("../consts"),u={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12,Reserved:13,"frequency is written explictly":15},l=function(e){for(var t=[],i=0;i1&&void 0!==arguments[1]&&arguments[1],i=null;return t?((i=e)[0]=r.DEFINE_STARTCODE[0],i[1]=r.DEFINE_STARTCODE[1],i[2]=r.DEFINE_STARTCODE[2],i[3]=r.DEFINE_STARTCODE[3]):((i=new Uint8Array(r.DEFINE_STARTCODE.length+e.length)).set(r.DEFINE_STARTCODE,0),i.set(e,r.DEFINE_STARTCODE.length)),i},h.prototype.setAACAdts=function(e){var t=null,i=this.aacProfile,n=u[this.sampleRate],r=new Uint8Array(7),a=r.length+e.length;return r[0]=255,r[1]=241,r[2]=(i-1<<6)+(n<<2)+0,r[3]=128+(a>>11),r[4]=(2047&a)>>3,r[5]=31+((7&a)<<5),r[6]=252,(t=new Uint8Array(a)).set(r,0),t.set(e,r.length),t},h.prototype.demux=function(){var e=this;e.seekPos=-1,e.mp4boxfile=n.createFile(),e.movieInfo=null,e.videoCodec=null,e.durationMs=-1,e.fps=-1,e.sampleRate=-1,e.aacProfile=2,e.size={width:-1,height:-1},e.bufObject=s(),e.audioNone=!1,e.naluHeader={vps:null,sps:null,pps:null,sei:null},e.mp4boxfile.onError=function(e){},this.mp4boxfile.onReady=function(t){for(var i in e.movieInfo=t,t.tracks)"VideoHandler"!==t.tracks[i].name&&"video"!==t.tracks[i].type||(t.tracks[i].codec,t.tracks[i].codec.indexOf("hev")>=0||t.tracks[i].codec.indexOf("hvc")>=0?e.videoCodec=o.CODEC_H265:t.tracks[i].codec.indexOf("avc")>=0&&(e.videoCodec=o.CODEC_H264));var n=-1;if(n=t.videoTracks[0].samples_duration/t.videoTracks[0].timescale,e.durationMs=1e3*n,e.fps=t.videoTracks[0].nb_samples/n,e.seekDiffTime=1/e.fps,e.size.width=t.videoTracks[0].track_width,e.size.height=t.videoTracks[0].track_height,t.audioTracks.length>0){e.sampleRate=t.audioTracks[0].audio.sample_rate;var r=t.audioTracks[0].codec.split(".");e.aacProfile=r[r.length-1]}else e.audioNone=!0;null!=e.onMp4BoxReady&&e.onMp4BoxReady(e.videoCodec),e.videoCodec===o.CODEC_H265?(e.initializeAllSourceBuffers(),e.mp4boxfile.start()):(e.videoCodec,o.CODEC_H264)},e.mp4boxfile.onSamples=function(t,i,n){var s=window.setInterval((function(){for(var i=0;i3?e.naluHeader.sei=e.setStartCode(_[3][0].data,!1):e.naluHeader.sei=new Uint8Array,e.naluHeader}else e.videoCodec==o.CODEC_H264&&(e.naluHeader.vps=new Uint8Array,e.naluHeader.sps=e.setStartCode(f.SPS[0].nalu,!1),e.naluHeader.pps=e.setStartCode(f.PPS[0].nalu,!1),e.naluHeader.sei=new Uint8Array);h[4].toString(16),e.naluHeader.vps[4].toString(16),l(e.naluHeader.vps),l(h);var g=e.setStartCode(h.subarray(0,e.naluHeader.vps.length),!0);if(l(g),h[4]===e.naluHeader.vps[4]){var v=e.naluHeader.vps.length+4,y=e.naluHeader.vps.length+e.naluHeader.sps.length+4,b=e.naluHeader.vps.length+e.naluHeader.sps.length+e.naluHeader.pps.length+4;if(e.naluHeader.sei.length<=0&&e.naluHeader.sps.length>0&&h[v]===e.naluHeader.sps[4]&&e.naluHeader.pps.length>0&&h[y]===e.naluHeader.pps[4]&&78===h[b]){h[e.naluHeader.vps.length+4],e.naluHeader.sps[4],h[e.naluHeader.vps.length+e.naluHeader.sps.length+4],e.naluHeader.pps[4],h[e.naluHeader.vps.length+e.naluHeader.sps.length+e.naluHeader.pps.length+4];for(var S=0,T=0;T4&&h[4]===e.naluHeader.sei[4]){var E=h.subarray(0,10),w=new Uint8Array(e.naluHeader.vps.length+E.length);w.set(E,0),w.set(e.naluHeader.vps,E.length),w[3]=1,e.naluHeader.vps=null,e.naluHeader.vps=new Uint8Array(w),w=null,E=null,(h=h.subarray(10))[4],e.naluHeader.vps[4],e.naluHeader.vps}else if(0===e.naluHeader.sei.length&&78===h[4]){h=e.setStartCode(h,!0);for(var A=0,C=0;C1&&void 0!==arguments[1]?arguments[1]:0;return e.fileStart=t,this.mp4boxfile.appendBuffer(e)},h.prototype.finishBuffer=function(){this.mp4boxfile.flush()},h.prototype.play=function(){},h.prototype.getVideoCoder=function(){return this.videoCodec},h.prototype.getDurationMs=function(){return this.durationMs},h.prototype.getFPS=function(){return this.fps},h.prototype.getSampleRate=function(){return this.sampleRate},h.prototype.getSize=function(){return this.size},h.prototype.seek=function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}},h.prototype.popBuffer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1==e?this.bufObject.vFrame(t):2==e?this.bufObject.aFrame(t):void 0},h.prototype.addBuffer=function(e){var t=e.id;this.mp4boxfile.setExtractionOptions(t)},h.prototype.initializeAllSourceBuffers=function(){if(this.movieInfo){for(var e=this.movieInfo,t=0;t>5)}},{key:"sliceAACFrames",value:function(e,t){for(var i=[],n=e,r=0;r>4==15){var a=this._getPktLen(t[r+3],t[r+4],t[r+5]);if(a<=0)continue;var s=t.subarray(r,r+a),o=new Uint8Array(a);o.set(s,0),i.push({ptime:n,data:o}),n+=this.frameDurSec,r+=a}else r+=1;return i}}])&&n(t.prototype,i),r&&n(t,r),e}();i.AACDecoder=r},{}],74:[function(e,t,i){(function(t){"use strict";function n(e,t){for(var i=0;i ",e),n=null})).catch((function(i){console.error("demuxerTsInit ERROR fetch ERROR ==> ",i),t._releaseOffset(),t.onDemuxedFailed&&t.onDemuxedFailed(i,e)}))}},{key:"_releaseOffset",value:function(){void 0!==this.offsetDemux&&null!==this.offsetDemux&&(Module._free(this.offsetDemux),this.offsetDemux=null)}},{key:"_demuxCore",value:function(e){if(this._releaseOffset(),this._refreshDemuxer(),!(e.length<=0)){this.offsetDemux=Module._malloc(e.length),Module.HEAP8.set(e,this.offsetDemux);var t=Module.cwrap("demuxBox","number",["number","number","number"])(this.offsetDemux,e.length,this.isLive);Module._free(this.offsetDemux),this.offsetDemux=null,t>=0&&(this._setMediaInfo(),this._setExtensionInfo(),null!=this.onDemuxed&&this.onDemuxed())}}},{key:"_setMediaInfo",value:function(){var e=Module.cwrap("getMediaInfo","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1],n=Module.HEAPF64[e/8+1],s=Module.HEAPF64[e/8+1+1],o=Module.HEAPF64[e/8+1+1+1],u=Module.HEAPF64[e/8+1+1+1+1],l=Module.HEAPU32[e/4+2+2+2+2+2];this.mediaAttr.vFps=n,this.mediaAttr.vGop=l,this.mediaAttr.vDuration=s,this.mediaAttr.aDuration=o,this.mediaAttr.duration=u;var h=Module.cwrap("getAudioCodecID","number",[])();h>=0?(this.mediaAttr.aCodec=a.CODEC_OFFSET_TABLE[h],this.mediaAttr.sampleRate=t>0?t:a.DEFAULT_SAMPLERATE,this.mediaAttr.sampleChannel=i>=0?i:a.DEFAULT_CHANNEL):(this.mediaAttr.sampleRate=0,this.mediaAttr.sampleChannel=0,this.mediaAttr.audioNone=!0);var d=Module.cwrap("getVideoCodecID","number",[])();d>=0&&(this.mediaAttr.vCodec=a.CODEC_OFFSET_TABLE[d]),null==this.aacDec?this.aacDec=new r.AACDecoder(this.mediaAttr):this.aacDec.updateConfig(this.mediaAttr)}},{key:"_setExtensionInfo",value:function(){var e=Module.cwrap("getExtensionInfo","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1];this.extensionInfo.vWidth=t,this.extensionInfo.vHeight=i}},{key:"readMediaInfo",value:function(){return this.mediaAttr}},{key:"readExtensionInfo",value:function(){return this.extensionInfo}},{key:"readAudioNone",value:function(){return this.mediaAttr.audioNone}},{key:"_readLayer",value:function(){null===this.naluLayer?this.naluLayer={vps:null,sps:null,pps:null,sei:null}:(this.naluLayer.vps=null,this.naluLayer.sps=null,this.naluLayer.pps=null,this.naluLayer.sei=null),null===this.vlcLayer?this.vlcLayer={vlc:null}:this.vlcLayer.vlc=null;var e=Module.cwrap("getSPSLen","number",[])(),t=Module.cwrap("getSPS","number",[])();if(!(e<0)){var i=Module.HEAPU8.subarray(t,t+e);this.naluLayer.sps=new Uint8Array(e),this.naluLayer.sps.set(i,0);var n=Module.cwrap("getPPSLen","number",[])(),r=Module.cwrap("getPPS","number",[])(),s=Module.HEAPU8.subarray(r,r+n);this.naluLayer.pps=new Uint8Array(n),this.naluLayer.pps.set(s,0);var o=Module.cwrap("getSEILen","number",[])(),u=Module.cwrap("getSEI","number",[])(),l=Module.HEAPU8.subarray(u,u+o);this.naluLayer.sei=new Uint8Array(o),this.naluLayer.sei.set(l,0);var h=Module.cwrap("getVLCLen","number",[])(),d=Module.cwrap("getVLC","number",[])(),c=Module.HEAPU8.subarray(d,d+h);if(this.vlcLayer.vlc=new Uint8Array(h),this.vlcLayer.vlc.set(c,0),this.mediaAttr.vCodec==a.DEF_HEVC||this.mediaAttr.vCodec==a.DEF_H265){var f=Module.cwrap("getVPSLen","number",[])(),p=Module.cwrap("getVPS","number",[])(),m=Module.HEAPU8.subarray(p,p+f);this.naluLayer.vps=new Uint8Array(f),this.naluLayer.vps.set(m,0),Module._free(m),m=null}else this.mediaAttr.vCodec==a.DEF_AVC||(this.mediaAttr.vCodec,a.DEF_H264);return Module._free(i),i=null,Module._free(s),s=null,Module._free(l),l=null,Module._free(c),c=null,{nalu:this.naluLayer,vlc:this.vlcLayer}}}},{key:"isHEVC",value:function(){return this.mediaAttr.vCodec==a.DEF_HEVC||this.mediaAttr.vCodec==a.DEF_H265}},{key:"readPacket",value:function(){var e=Module.cwrap("getPacket","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1],n=Module.HEAPF64[e/8+1],r=Module.HEAPF64[e/8+1+1],s=Module.HEAPU32[e/4+1+1+2+2],o=Module.HEAPU32[e/4+1+1+2+2+1],u=Module.HEAPU8.subarray(o,o+i),l=this._readLayer(),h={type:t,size:i,ptime:n,dtime:r,keyframe:s,src:u,data:1==t&&this.mediaAttr.aCodec==a.DEF_AAC?this.aacDec.sliceAACFrames(n,u):u,layer:l};return Module._free(u),u=null,h}},{key:"_refreshDemuxer",value:function(){this.releaseTsDemuxer(),this._initDemuxer()}},{key:"_initDemuxer",value:function(){Module.cwrap("initTsMissile","number",[])(),Module.cwrap("initializeDemuxer","number",[])()}},{key:"releaseTsDemuxer",value:function(){Module.cwrap("exitTsMissile","number",[])()}}])&&n(i.prototype,s),o&&n(i,o),e}();i.MPEG_JS=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./consts":72,"./decoder/aac":73}],75:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&e.extensionInfo.vHeight>0&&(e.size.width=e.extensionInfo.vWidth,e.size.height=e.extensionInfo.vHeight);for(var t=null;!((t=e.mpegTsObj.readPacket()).size<=0);){var i=t.dtime;if(0==t.type){var n=s.PACK_NALU(t.layer),r=1==t.keyframe;e.bufObject.appendFrame(i,n,!0,r)}else if("aac"==e.mediaInfo.aCodec)for(var a=t.data,o=0;o0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1==e?this.bufObject.vFrame(t):2==e?this.bufObject.aFrame(t):void 0}},{key:"isHEVC",value:function(){return this.mpegTsObj.isHEVC()}},{key:"getACodec",value:function(){return this.aCodec}},{key:"getVCodec",value:function(){return this.vCodec}},{key:"getAudioNone",value:function(){return this.mpegTsObj.mediaAttr.audioNone}},{key:"getDurationMs",value:function(){return this.durationMs}},{key:"getFPS",value:function(){return this.fps}},{key:"getSampleRate",value:function(){return this.sampleRate}},{key:"getSize",value:function(){return this.size}},{key:"seek",value:function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}}}])&&n(t.prototype,i),o&&n(t,o),e}();i.MpegTs=o},{"../decoder/hevc-imp":64,"./buffer":66,"./mpegts/mpeg.js":74}],76:[function(e,t,i){(function(t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var i=0;i0&&(i=!0),this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265&&(i=!0,this.playMode=v.PLAYER_MODE_NOTIME_LIVE),this.playParam={durationMs:0,fps:0,sampleRate:0,size:{width:0,height:0},audioNone:i,videoCodec:v.CODEC_H265},y.UI.createPlayerRender(this.configFormat.playerId,this.configFormat.playerW,this.configFormat.playerH),!1===this._isSupportWASM())return this._makeMP4Player(!1),0;if(!1===this.configFormat.extInfo.hevc)return Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0"),this._makeMP4Player(!0),0;var n=window.setInterval((function(){t.STATICE_MEM_playerIndexPtr===e.playerIndex&&(t.STATICE_MEM_playerIndexPtr,e.playerIndex,window.WebAssembly?(t.STATIC_MEM_wasmDecoderState,1==t.STATIC_MEM_wasmDecoderState&&(e._makeMP4Player(),t.STATICE_MEM_playerIndexPtr+=1,window.clearInterval(n),n=null)):(/iPhone|iPad/.test(window.navigator.userAgent),t.STATICE_MEM_playerIndexPtr+=1,window.clearInterval(n),n=null))}),500)}},{key:"release",value:function(){return void 0!==this.player&&null!==this.player&&(this.player,this.playParam.videoCodec===v.CODEC_H265&&this.player?(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&void 0!==this.hlsObj&&null!==this.hlsObj&&this.hlsObj.release(),this.player.release()):this.player.release(),void 0!==this.snapshotCanvasContext&&null!==this.snapshotCanvasContext&&(b.releaseContext(this.snapshotCanvasContext),this.snapshotCanvasContext=null,void 0!==this.snapshotYuvLastFrame&&null!==this.snapshotYuvLastFrame&&(this.snapshotYuvLastFrame.luma=null,this.snapshotYuvLastFrame.chromaB=null,this.snapshotYuvLastFrame.chromaR=null,this.snapshotYuvLastFrame.width=0,this.snapshotYuvLastFrame.height=0)),void 0!==this.workerFetch&&null!==this.workerFetch&&(this.workerFetch.postMessage({cmd:"stop",params:"",type:this.mediaExtProtocol}),this.workerFetch.onmessage=null),void 0!==this.workerParse&&null!==this.workerParse&&(this.workerParse.postMessage({cmd:"stop",params:""}),this.workerParse.onmessage=null),this.workerFetch=null,this.workerParse=null,this.configFormat.extInfo.readyShow=!0,window.onclick=document.body.onclick=null,window.g_players={},!0)}},{key:"debugYUV",value:function(e){this.player.debugYUV(e)}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(this.playParam.videoCodec===v.CODEC_H265||e<=0||void 0===this.player||null===this.player)&&this.player.setPlaybackRate(e)}},{key:"getPlaybackRate",value:function(){return void 0!==this.player&&null!==this.player&&(this.playParam.videoCodec===v.CODEC_H265?1:this.player.getPlaybackRate())}},{key:"setRenderScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return void 0!==this.player&&null!==this.player&&(this.player.setScreen(e),!0)}},{key:"play",value:function(){if(void 0===this.player||null===this.player)return!1;if(this.playParam.videoCodec===v.CODEC_H265){var e={seekPos:this._getSeekTarget(),mode:this.playMode,accurateSeek:this.configFormat.accurateSeek,seekEvent:!1,realPlay:!0};this.player.play(e)}else this.player.play();return!0}},{key:"pause",value:function(){return void 0!==this.player&&null!==this.player&&(this.player.pause(),!0)}},{key:"isPlaying",value:function(){return void 0!==this.player&&null!==this.player&&this.player.isPlayingState()}},{key:"setVoice",value:function(e){return!(e<0||void 0===this.player||null===this.player||(this.volume=e,this.player&&this.player.setVoice(e),0))}},{key:"getVolume",value:function(){return this.volume}},{key:"mediaInfo",value:function(){var e={meta:this.playParam,videoType:this.playMode};return e.meta.isHEVC=0===this.playParam.videoCodec,e}},{key:"snapshot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===e||void 0!==this.playParam&&null!==this.playParam&&(0===this.playParam.videoCodec?(this.player.setScreen(!0),e.width=this.snapshotYuvLastFrame.width,e.height=this.snapshotYuvLastFrame.height,this.snapshotYuvLastFrame,void 0!==this.snapshotCanvasContext&&null!==this.snapshotCanvasContext||(this.snapshotCanvasContext=b.setupCanvas(e,{preserveDrawingBuffer:!1})),b.renderFrame(this.snapshotCanvasContext,this.snapshotYuvLastFrame.luma,this.snapshotYuvLastFrame.chromaB,this.snapshotYuvLastFrame.chromaR,this.snapshotYuvLastFrame.width,this.snapshotYuvLastFrame.height)):(e.width=this.playParam.size.width,e.height=this.playParam.size.height,e.getContext("2d").drawImage(this.player.videoTag,0,0,e.width,e.height))),null}},{key:"_seekHLS",value:function(e,t,i){if(void 0===this.player||null===this.player)return!1;setTimeout((function(){t.player.getCachePTS(),t.player.getCachePTS()>e?i():t._seekHLS(e,t,i)}),100)}},{key:"seek",value:function(e){if(void 0===this.player||null===this.player)return!1;var t=this;this.seekTarget=e,this.onSeekStart&&this.onSeekStart(e),this.timerFeed&&(window.clearInterval(this.timerFeed),this.timerFeed=null);var i=this._getSeekTarget();return this.playParam.videoCodec===v.CODEC_H264?(this.player.seek(e),this.onSeekFinish&&this.onSeekFinish()):this.configFormat.extInfo.core===v.PLAYER_CORE_TYPE_CNATIVE?(this.pause(),this._seekHLS(e,this,(function(){t.player.seek((function(){}),{seekTime:i,mode:t.playMode,accurateSeek:t.configFormat.accurateSeek})}))):this._seekHLS(e,this,(function(){t.player.seek((function(){t.configFormat.type==v.PLAYER_IN_TYPE_MP4?t.mp4Obj.seek(e):t.configFormat.type==v.PLAYER_IN_TYPE_TS||t.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?t.mpegTsObj.seek(e):t.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&(t.hlsObj.onSamples=null,t.hlsObj.seek(e));var i,n=(i=0,i=t.configFormat.accurateSeek?e:t._getBoxBufSeekIDR(),parseInt(i)),r=parseInt(t._getBoxBufSeekIDR())||0;t._avFeedMP4Data(r,n)}),{seekTime:i,mode:t.playMode,accurateSeek:t.configFormat.accurateSeek})})),!0}},{key:"fullScreen",value:function(){if(this.autoScreenClose=!0,this.player.vCodecID,this.player,this.player.vCodecID===v.V_CODEC_NAME_HEVC){var e=document.querySelector("#"+this.configFormat.playerId),t=e.getElementsByTagName("canvas")[0];e.style.width=this.screenW+"px",e.style.height=this.screenH+"px";var i=this._checkScreenDisplaySize(this.screenW,this.screenH,this.playParam.size.width,this.playParam.size.height);t.style.marginTop=i[0]+"px",t.style.marginLeft=i[1]+"px",t.style.width=i[2]+"px",t.style.height=i[3]+"px",this._requestFullScreen(e)}else this._requestFullScreen(this.player.videoTag)}},{key:"closeFullScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!1===e&&(this.autoScreenClose=!1,this._exitFull()),this.player.vCodecID===v.V_CODEC_NAME_HEVC){var t=document.querySelector("#"+this.configFormat.playerId),i=t.getElementsByTagName("canvas")[0];t.style.width=this.configFormat.playerW+"px",t.style.height=this.configFormat.playerH+"px";var n=this._checkScreenDisplaySize(this.configFormat.playerW,this.configFormat.playerH,this.playParam.size.width,this.playParam.size.height);i.style.marginTop=n[0]+"px",i.style.marginLeft=n[1]+"px",i.style.width=n[2]+"px",i.style.height=n[3]+"px"}}},{key:"playNextFrame",value:function(){return this.pause(),void 0!==this.playParam&&null!==this.playParam&&(0===this.playParam.videoCodec?this.player.playYUV():this.player.nativeNextFrame(),!0)}},{key:"resize",value:function(e,t){if(void 0!==this.player&&null!==this.player){if(!(e&&t&&this.playParam.size.width&&this.playParam.size.height))return!1;var i=this.playParam.size.width,n=this.playParam.size.height,r=0===this.playParam.videoCodec,a=document.querySelector("#"+this.configFormat.playerId);if(a.style.width=e+"px",a.style.height=t+"px",!0===r){var s=a.getElementsByTagName("canvas")[0],o=function(e,t){var r=i/e>n/t,a=(e/i).toFixed(2),s=(t/n).toFixed(2),o=r?a:s,u=parseInt(i*o,10),l=parseInt(n*o,10);return[parseInt((t-l)/2,10),parseInt((e-u)/2,10),u,l]}(e,t);s.style.marginTop=o[0]+"px",s.style.marginLeft=o[1]+"px",s.style.width=o[2]+"px",s.style.height=o[3]+"px"}else{var u=a.getElementsByTagName("video")[0];u.style.width=e+"px",u.style.height=t+"px"}return!0}return!1}},{key:"_checkScreenDisplaySize",value:function(e,t,i,n){var r=i/e>n/t,a=(e/i).toFixed(2),s=(t/n).toFixed(2),o=r?a:s,u=this.fixed?e:parseInt(i*o),l=this.fixed?t:parseInt(n*o);return[parseInt((t-l)/2),parseInt((e-u)/2),u,l]}},{key:"_isFullScreen",value:function(){var e=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement;return document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled,null!=e}},{key:"_requestFullScreen",value:function(e){e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitRequestFullscreen&&e.webkitRequestFullScreen()}},{key:"_exitFull",value:function(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()}},{key:"_durationText",value:function(e){if(e<0)return"Play";var t=Math.round(e);return Math.floor(t/3600)+":"+Math.floor(t%3600/60)+":"+Math.floor(t%60)}},{key:"_getSeekTarget",value:function(){return this.configFormat.accurateSeek?this.seekTarget:this._getBoxBufSeekIDR()}},{key:"_getBoxBufSeekIDR",value:function(){return this.configFormat.type==v.PLAYER_IN_TYPE_MP4?this.mp4Obj.seekPos:this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?this.mpegTsObj.seekPos:this.configFormat.type==v.PLAYER_IN_TYPE_M3U8?this.hlsObj.seekPos:void 0}},{key:"_playControl",value:function(){this.isPlaying()?this.pause():this.play()}},{key:"_avFeedMP4Data",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===this.player||null===this.player)return!1;var r=parseInt(this.playParam.durationMs/1e3);this.player.clearAllCache(),this.timerFeed=window.setInterval((function(){var a=null,s=null,o=!0,u=!0;if(e.configFormat.type==v.PLAYER_IN_TYPE_MP4?(a=e.mp4Obj.popBuffer(1,t),s=e.mp4Obj.audioNone?null:e.mp4Obj.popBuffer(2,i)):e.configFormat.type==v.PLAYER_IN_TYPE_TS||e.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?(a=e.mpegTsObj.popBuffer(1,t),s=e.mpegTsObj.getAudioNone()?null:e.mpegTsObj.popBuffer(2,i)):e.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&(a=e.hlsObj.popBuffer(1,t),s=e.hlsObj.audioNone?null:e.hlsObj.popBuffer(2,i),t=e.hlsObj.getLastIdx()&&(o=!1),i=e.hlsObj.getALastIdx()&&(u=!1)),!0===o&&null!=a)for(var l=0;lr)return window.clearInterval(e.timerFeed),e.timerFeed=null,e.player.vCachePTS,e.player.aCachePTS,void(null!=n&&n())}),5)}},{key:"_isSupportWASM",value:function(){window.document;var e=window.navigator,t=e.userAgent.toLowerCase(),i="ipad"==t.match(/ipad/i),r="iphone os"==t.match(/iphone os/i),a="iPad"==t.match(/iPad/i),s="iPhone os"==t.match(/iPhone os/i),o="midp"==t.match(/midp/i),u="rv:1.2.3.4"==t.match(/rv:1.2.3.4/i),l="ucweb"==t.match(/ucweb/i),h="android"==t.match(/android/i),d="Android"==t.match(/Android/i),c="windows ce"==t.match(/windows ce/i),f="windows mobile"==t.match(/windows mobile/i);if(i||r||a||s||o||u||l||h||d||c||f)return!1;var m=function(){try{if("object"===("undefined"==typeof WebAssembly?"undefined":n(WebAssembly))&&"function"==typeof WebAssembly.instantiate){var e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}return!1}();if(!1===m)return!1;if(!0===m){var _=p.BrowserJudge(),g=_[0],v=_[1];if("Chrome"===g&&v<85)return!1;if(g.indexOf("360")>=0)return!1;if(/Safari/.test(e.userAgent)&&!/Chrome/.test(e.userAgent)&&v>13)return!1}return!0}},{key:"_makeMP4Player",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this;if(this._isSupportWASM(),!1===this._isSupportWASM()||!0===e){if(this.configFormat.type==v.PLAYER_IN_TYPE_MP4)t.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?this._flvJsPlayer(this.playParam.durationMs,t.playParam.audioNone):this._makeNativePlayer();else if(this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS)this._mpegTsNv3rdPlayer(-1,!1);else if(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8)this._videoJsPlayer();else if(this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265)return-1;return 1}return this.mediaExtProtocol===v.URI_PROTOCOL_WEBSOCKET_DESC?(this.configFormat.type,this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265?this._raw265Entry():this._cWsFLVDecoderEntry(),0):(null!=this.configFormat.extInfo.core&&null!==this.configFormat.extInfo.core&&this.configFormat.extInfo.core===v.PLAYER_CORE_TYPE_CNATIVE?this._cDemuxDecoderEntry():this.configFormat.type==v.PLAYER_IN_TYPE_MP4?this.configFormat.extInfo.moovStartFlag?this._mp4EntryVodStream():this._mp4Entry():this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?this._mpegTsEntry():this.configFormat.type==v.PLAYER_IN_TYPE_M3U8?this._m3u8Entry():this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265&&this._raw265Entry(),0)}},{key:"_makeMP4PlayerViewEvent",value:function(e,t,i,n){var r=this,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,u=this;if(this.playParam.durationMs=e,this.playParam.fps=t,this.playParam.sampleRate=i,this.playParam.size=n,this.playParam.audioNone=s,this.playParam.videoCodec=o||v.CODEC_H265,this.playParam,(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&this.hlsConf.hlsType==v.PLAYER_IN_TYPE_M3U8_LIVE||this.configFormat.type==v.PLAYER_IN_TYPE_RAW_265)&&(this.playMode=v.PLAYER_MODE_NOTIME_LIVE),u.configFormat.extInfo.autoCrop){var l=document.querySelector("#"+this.configFormat.playerId),h=n.width/n.height,d=this.configFormat.playerW/this.configFormat.playerH;h>d?l.style.height=this.configFormat.playerW/h+"px":h0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,o=this;this.playParam.durationMs=e,this.playParam.fps=t,this.playParam.sampleRate=i,this.playParam.size=n,this.playParam.audioNone=r,this.playParam.videoCodec=a||v.CODEC_H264,this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&this.hlsConf.hlsType==v.PLAYER_IN_TYPE_M3U8_LIVE&&(this.playMode=v.PLAYER_MODE_NOTIME_LIVE),this.player=new s.Mp4Player({width:this.configFormat.playerW,height:this.configFormat.playerH,sampleRate:i,fps:t,appendHevcType:v.APPEND_TYPE_FRAME,fixed:!1,playerId:this.configFormat.playerId,audioNone:r,token:this.configFormat.token,videoCodec:a,autoPlay:this.configFormat.extInfo.autoPlay});var u=0,l=window.setInterval((function(){u++,void 0!==o.player&&null!==o.player||(window.clearInterval(l),l=null),u>v.DEFAULT_PLAYERE_LOAD_TIMEOUT&&(o.player.release(),o.player=null,o._cDemuxDecoderEntry(0,!0),window.clearInterval(l),l=null)}),1e3);this.player.makeIt(this.videoURL),this.player.onPlayingTime=function(t){o._durationText(t),o._durationText(e/1e3),null!=o.onPlayTime&&o.onPlayTime(t)},this.player.onPlayingFinish=function(){null!=o.onPlayFinish&&o.onPlayFinish()},this.player.onLoadFinish=function(){window.clearInterval(l),l=null,o.playParam.durationMs=1e3*o.player.duration,o.playParam.size=o.player.getSize(),o.onLoadFinish&&o.onLoadFinish(),o.onReadyShowDone&&o.onReadyShowDone()},this.player.onPlayState=function(e){o.onPlayState&&o.onPlayState(e)},this.player.onCacheProcess=function(e){o.onCacheProcess&&o.onCacheProcess(e)}}},{key:"_initMp4BoxObject",value:function(){var e=this;this.timerFeed=null,this.mp4Obj=new m,this.mp4Obj.onMp4BoxReady=function(t){var i=e.mp4Obj.getFPS(),n=T(i,e.mp4Obj.getDurationMs()),r=e.mp4Obj.getSampleRate(),a=e.mp4Obj.getSize(),s=e.mp4Obj.getVideoCoder();t===v.CODEC_H265?(e._makeMP4PlayerViewEvent(n,i,r,a,e.mp4Obj.audioNone,s),parseInt(n/1e3),e._avFeedMP4Data(0,0)):e._makeNativePlayer(n,i,r,a,e.mp4Obj.audioNone,s)}}},{key:"_mp4Entry",value:function(){var e=this,t=this;fetch(this.videoURL).then((function(e){return e.arrayBuffer()})).then((function(i){t._initMp4BoxObject(),e.mp4Obj.demux(),e.mp4Obj.appendBufferData(i,0),e.mp4Obj.finishBuffer(),e.mp4Obj.seek(-1)}))}},{key:"_mp4EntryVodStream",value:function(){var e=this,t=this;this.timerFeed=null,this.mp4Obj=new m,this._initMp4BoxObject(),this.mp4Obj.demux();var i=0,n=!1,r=window.setInterval((function(){n||(n=!0,fetch(e.videoURL).then((function(e){return function e(n){return n.read().then((function(a){if(a.done)return t.mp4Obj.finishBuffer(),t.mp4Obj.seek(-1),void window.clearInterval(r);var s=a.value;return t.mp4Obj.appendBufferData(s.buffer,i),i+=s.byteLength,e(n)}))}(e.body.getReader())})).catch((function(e){})))}),1)}},{key:"_cDemuxDecoderEntry",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.configFormat.type;var n=this,r=!1,a=new AbortController,s=a.signal,u={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,token:this.configFormat.token,readyShow:this.configFormat.extInfo.readyShow,checkProbe:this.configFormat.extInfo.checkProbe,ignoreAudio:this.configFormat.extInfo.ignoreAudio,playMode:this.playMode,autoPlay:this.configFormat.extInfo.autoPlay,defaultFps:this.configFormat.extInfo.rawFps,cacheLength:this.configFormat.extInfo.cacheLength};this.player=new o.CNativeCore(u),window.g_players[this.player.corePtr]=this.player,this.player.onReadyShowDone=function(){n.configFormat.extInfo.readyShow=!1,n.onReadyShowDone&&n.onReadyShowDone()},this.player.onRelease=function(){a.abort()},this.player.onProbeFinish=function(){r=!0,n.player.config,n.player.audioNone,n.playParam.fps=n.player.config.fps,n.playParam.durationMs=T(n.playParam.fps,1e3*n.player.duration),n.player.duration<0&&(n.playMode=v.PLAYER_MODE_NOTIME_LIVE,n.playParam.durationMs=-1),n.playParam.sampleRate=n.player.config.sampleRate,n.playParam.size={width:n.player.width,height:n.player.height},n.playParam.audioNone=n.player.audioNone,n.player.vCodecID===v.V_CODEC_NAME_HEVC?(n.playParam.videoCodec=v.CODEC_H265,n.playParam.audioIdx<0&&(n.playParam.audioNone=!0),!0!==p.IsSupport265Mse()||!1!==i||n.mediaExtFormat!==v.PLAYER_IN_TYPE_MP4&&n.mediaExtFormat!==v.PLAYER_IN_TYPE_FLV?n.onLoadFinish&&n.onLoadFinish():(a.abort(),n.player.release(),n.mediaExtFormat,v.PLAYER_IN_TYPE_MP4,n.player=null,n.mediaExtFormat===v.PLAYER_IN_TYPE_MP4?n._makeNativePlayer(n.playParam.durationMs,n.playParam.fps,n.playParam.sampleRate,n.playParam.size,!1,n.playParam.videoCodec):n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV&&n._flvJsPlayer(n.playParam.durationMs,n.playParam.audioNone))):(n.playParam.videoCodec=v.CODEC_H264,a.abort(),n.player.release(),n.player=null,n.mediaExtFormat===v.PLAYER_IN_TYPE_MP4?n._makeNativePlayer(n.playParam.durationMs,n.playParam.fps,n.playParam.sampleRate,n.playParam.size,!1,n.playParam.videoCodec):n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?n._flvJsPlayer(n.playParam.durationMs,n.playParam.audioNone):n.onLoadFinish&&n.onLoadFinish())},this.player.onPlayingTime=function(e){n._durationText(e),n._durationText(n.player.duration),null!=n.onPlayTime&&n.onPlayTime(e)},this.player.onPlayingFinish=function(){n.pause(),null!=n.onPlayTime&&n.onPlayTime(0),n.onPlayFinish&&n.onPlayFinish(),n.player.reFull=!0,n.seek(0)},this.player.onCacheProcess=function(t){e.onCacheProcess&&e.onCacheProcess(t)},this.player.onLoadCache=function(){null!=e.onLoadCache&&e.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=e.onLoadCacheFinshed&&e.onLoadCacheFinshed()},this.player.onRender=function(e,t,i,r,a){n.snapshotYuvLastFrame.luma=null,n.snapshotYuvLastFrame.chromaB=null,n.snapshotYuvLastFrame.chromaR=null,n.snapshotYuvLastFrame.width=e,n.snapshotYuvLastFrame.height=t,n.snapshotYuvLastFrame.luma=new Uint8Array(i),n.snapshotYuvLastFrame.chromaB=new Uint8Array(r),n.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=n.onRender&&n.onRender(e,t,i,r,a)},this.player.onSeekFinish=function(){null!=e.onSeekFinish&&e.onSeekFinish()};var l=!1,h=0,d=function e(i){setTimeout((function(){if(!1===l){if(a.abort(),a=null,s=null,i>=v.FETCH_FIRST_MAX_TIMES)return;a=new AbortController,s=a.signal,e(i+1)}}),v.FETCH_HTTP_FLV_TIMEOUT_MS),fetch(n.videoURL,{signal:s}).then((function(e){if(e.headers.get("Content-Length"),!e.ok)return console.error("error cdemuxdecoder prepare request media failed with http code:",e.status),!1;if(l=!0,e.headers.has("Content-Length"))h=e.headers.get("Content-Length"),n.configFormat.extInfo.coreProbePart<=0?n.player&&n.player.setProbeSize(n.configFormat.extInfo.probeSize):n.player&&n.player.setProbeSize(h*n.configFormat.extInfo.coreProbePart);else{if(n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV)return a.abort(),n.player.release(),n.player=null,n._cLiveFLVDecoderEntry(u),!0;n.player&&n.player.setProbeSize(40960)}return e.headers.get("Content-Length"),n.configFormat.type,n.mediaExtFormat,function e(i){return i.read().then((function(a){if(a.done)return!0===r||(n.player.release(),n.player=null,t0&&void 0!==arguments[0]?arguments[0]:0;if(1===t)return i.player.release(),i.player=null,void i._cLiveG711DecoderEntry(e);if(i.playParam.fps=i.player.mediaInfo.fps,i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE,i.playParam.sampleRate=i.player.mediaInfo.sampleRate,i.playParam.size={width:i.player.mediaInfo.width,height:i.player.mediaInfo.height},i.playParam.audioNone=i.player.mediaInfo.audioNone,i.player.mediaInfo,i.player.vCodecID===v.V_CODEC_NAME_HEVC)i.playParam.videoCodec=v.CODEC_H265,i.playParam.audioIdx<0&&(i.playParam.audioNone=!0),!0===p.IsSupport265Mse()&&i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?(i.player.release(),i.player=null,i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV&&i._flvJsPlayer(i.playParam.durationMs,i.playParam.audioNone)):i.onLoadFinish&&i.onLoadFinish();else if(i.playParam.videoCodec=v.CODEC_H264,i.player.release(),i.player=null,i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV)i._flvJsPlayer(i.playParam.durationMs,i.playParam.audioNone);else{if(i.mediaExtFormat!==v.PLAYER_IN_TYPE_TS&&i.mediaExtFormat!==v.PLAYER_IN_TYPE_MPEGTS)return-1;i._mpegTsNv3rdPlayer(i.playParam.durationMs,i.playParam.audioNone)}},this.player.onError=function(e){i.onError&&i.onError(e)},this.player.onReadyShowDone=function(){i.configFormat.extInfo.readyShow=!1,i.onReadyShowDone&&i.onReadyShowDone()},this.player.onLoadCache=function(){null!=t.onLoadCache&&t.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=t.onLoadCacheFinshed&&t.onLoadCacheFinshed()},this.player.onRender=function(e,t,n,r,a){i.snapshotYuvLastFrame.luma=null,i.snapshotYuvLastFrame.chromaB=null,i.snapshotYuvLastFrame.chromaR=null,i.snapshotYuvLastFrame.width=e,i.snapshotYuvLastFrame.height=t,i.snapshotYuvLastFrame.luma=new Uint8Array(n),i.snapshotYuvLastFrame.chromaB=new Uint8Array(r),i.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=i.onRender&&i.onRender(e,t,n,r,a)},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.start(this.videoURL)}},{key:"_cWsFLVDecoderEntry",value:function(){var e=this,t=this,i={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,token:this.configFormat.token,readyShow:this.configFormat.extInfo.readyShow,checkProbe:this.configFormat.extInfo.checkProbe,ignoreAudio:this.configFormat.extInfo.ignoreAudio,playMode:this.playMode,autoPlay:this.configFormat.extInfo.autoPlay};i.probeSize=this.configFormat.extInfo.probeSize,this.player=new h.CWsLiveCore(i),i.probeSize,window.g_players[this.player.corePtr]=this.player,this.player.onProbeFinish=function(){t.playParam.fps=t.player.mediaInfo.fps,t.playParam.durationMs=-1,t.playMode=v.PLAYER_MODE_NOTIME_LIVE,t.playParam.sampleRate=t.player.mediaInfo.sampleRate,t.playParam.size={width:t.player.mediaInfo.width,height:t.player.mediaInfo.height},t.playParam.audioNone=t.player.mediaInfo.audioNone,t.player.mediaInfo,t.player.vCodecID===v.V_CODEC_NAME_HEVC?(t.playParam.audioIdx<0&&(t.playParam.audioNone=!0),t.playParam.videoCodec=v.CODEC_H265,!0===p.IsSupport265Mse()&&t.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?(t.player.release(),t.player=null,t._flvJsPlayer(t.playParam.durationMs,t.playParam.audioNone)):t.onLoadFinish&&t.onLoadFinish()):(t.playParam.videoCodec=v.CODEC_H264,t.player.release(),t.player=null,t._flvJsPlayer(t.playParam.durationMs,t.playParam.audioNone))},this.player.onError=function(e){t.onError&&t.onError(e)},this.player.onReadyShowDone=function(){t.configFormat.extInfo.readyShow=!1,t.onReadyShowDone&&t.onReadyShowDone()},this.player.onLoadCache=function(){null!=e.onLoadCache&&e.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=e.onLoadCacheFinshed&&e.onLoadCacheFinshed()},this.player.onRender=function(e,i,n,r,a){t.snapshotYuvLastFrame.luma=null,t.snapshotYuvLastFrame.chromaB=null,t.snapshotYuvLastFrame.chromaR=null,t.snapshotYuvLastFrame.width=e,t.snapshotYuvLastFrame.height=i,t.snapshotYuvLastFrame.luma=new Uint8Array(n),t.snapshotYuvLastFrame.chromaB=new Uint8Array(r),t.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=t.onRender&&t.onRender(e,i,n,r,a)},this.player.start(this.videoURL)}},{key:"_mpegTsEntry",value:function(){var e=this,t=(Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0"),new AbortController),i=t.signal;this.timerFeed=null,this.mpegTsObj=new _.MpegTs,this.mpegTsObj.bindReady(e),this.mpegTsObj.onDemuxed=this._mpegTsEntryReady.bind(this),this.mpegTsObj.onReady=function(){var n=null;fetch(e.videoURL,{signal:i}).then((function(r){if(r.headers.has("Content-Length"))return function t(i){return i.read().then((function(r){if(!r.done){var a=r.value;if(null===n)n=a;else{var s=a,o=n.length+s.length,u=new Uint8Array(o);u.set(n),u.set(s,n.length),n=new Uint8Array(u),s=null,u=null}return t(i)}e.mpegTsObj.demux(n)}))}(r.body.getReader());t.abort(),i=null,t=null;var a={width:e.configFormat.playerW,height:e.configFormat.playerH,playerId:e.configFormat.playerId,token:e.configFormat.token,readyShow:e.configFormat.extInfo.readyShow,checkProbe:e.configFormat.extInfo.checkProbe,ignoreAudio:e.configFormat.extInfo.ignoreAudio,playMode:e.playMode,autoPlay:e.configFormat.extInfo.autoPlay};e._cLiveFLVDecoderEntry(a)})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" mpegts request error:"+e;console.error(t)}}))},this.mpegTsObj.initMPEG()}},{key:"_mpegTsEntryReady",value:function(e){var t=e,i=(t.mpegTsObj.getVCodec(),t.mpegTsObj.getACodec()),n=t.mpegTsObj.getDurationMs(),r=t.mpegTsObj.getFPS(),a=t.mpegTsObj.getSampleRate(),s=t.mpegTsObj.getSize(),o=this.mpegTsObj.isHEVC();if(!o)return this.mpegTsObj.releaseTsDemuxer(),this.mpegTsObj=null,this.playParam.durationMs=n,this.playParam.fps=r,this.playParam.sampleRate=a,this.playParam.size=s,this.playParam.audioNone=""==i,this.playParam.videoCodec=o?0:1,this.playParam,void this._mpegTsNv3rdPlayer(this.playParam.durationMs,this.playParam.audioNone);t._makeMP4PlayerViewEvent(n,r,a,s,""==i),parseInt(n/1e3),t._avFeedMP4Data(0,0)}},{key:"_m3u8Entry",value:function(){var e=this,t=this;if(!1===this._isSupportWASM())return this._videoJsPlayer();Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0");var i=!1,n=0;this.hlsObj=new g.M3u8,this.hlsObj.bindReady(t),this.hlsObj.onFinished=function(e,r){0==i&&(n=t.hlsObj.getDurationMs(),t.hlsConf.hlsType=r.type,i=!0)},this.hlsObj.onCacheProcess=function(t){e.playMode!==v.PLAYER_MODE_NOTIME_LIVE&&e.onCacheProcess&&e.onCacheProcess(t)},this.hlsObj.onDemuxed=function(e){if(null==t.player){var i=t.hlsObj.isHevcParam,r=(t.hlsObj.getVCodec(),t.hlsObj.getACodec()),a=t.hlsObj.getFPS(),s=t.hlsObj.getSampleRate(),o=t.hlsObj.getSize(),u=!1;if(u=t.hlsObj.getSampleChannel()<=0||""===r,!i)return t.hlsObj.release(),t.hlsObj.mpegTsObj&&t.hlsObj.mpegTsObj.releaseTsDemuxer(),t.hlsObj=null,t.playParam.durationMs=n,t.playParam.fps=a,t.playParam.sampleRate=s,t.playParam.size=o,t.playParam.audioNone=""==r,t.playParam.videoCodec=i?0:1,t.playParam,void t._videoJsPlayer(n);t._makeMP4PlayerViewEvent(n,a,s,o,u)}},this.hlsObj.onSamples=this._hlsOnSamples.bind(this),this.hlsObj.demux(this.videoURL)}},{key:"_hlsOnSamples",value:function(e,t){1==t.video?this.player.appendHevcFrame(t):!1===this.hlsObj.audioNone&&this.player.appendAACFrame(t)}},{key:"_videoJsPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=this,i={probeDurationMS:e,width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,autoPlay:this.configFormat.extInfo.autoPlay,playMode:this.playMode};this.player=new d.NvVideojsCore(i),this.player.onMakeItReady=function(){t.onMakeItReady&&t.onMakeItReady()},this.player.onLoadFinish=function(){t.playParam.size=t.player.getSize(),t.playParam.videoCodec=1,t.player.duration===1/0||t.player.duration<0?(t.playParam.durationMs=-1,t.playMode=v.PLAYER_MODE_NOTIME_LIVE):(t.playParam.durationMs=1e3*t.player.duration,t.playMode=v.PLAYER_MODE_VOD),t.playParam,t.player.duration,t.player.getSize(),t.onLoadFinish&&t.onLoadFinish()},this.player.onReadyShowDone=function(){t.onReadyShowDone&&t.onReadyShowDone()},this.player.onPlayingFinish=function(){t.pause(),t.seek(0),null!=t.onPlayFinish&&t.onPlayFinish()},this.player.onPlayingTime=function(e){t._durationText(e),t._durationText(t.player.duration),null!=t.onPlayTime&&t.onPlayTime(e)},this.player.onSeekFinish=function(){t.onSeekFinish&&t.onSeekFinish()},this.player.onPlayState=function(e){t.onPlayState&&t.onPlayState(e)},this.player.onCacheProcess=function(e){t.onCacheProcess&&t.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_flvJsPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this,n={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,duration:e,autoPlay:this.configFormat.extInfo.autoPlay,audioNone:t};this.player=new c.NvFlvjsCore(n),this.player.onLoadFinish=function(){i.playParam.size=i.player.getSize(),!i.player.duration||NaN===i.player.duration||i.player.duration===1/0||i.player.duration<0?(i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE):(i.playParam.durationMs=1e3*i.player.duration,i.playMode=v.PLAYER_MODE_VOD),i.onLoadFinish&&i.onLoadFinish()},this.player.onReadyShowDone=function(){i.onReadyShowDone&&i.onReadyShowDone()},this.player.onPlayingTime=function(e){i._durationText(e),i._durationText(i.player.duration),null!=i.onPlayTime&&i.onPlayTime(e)},this.player.onPlayingFinish=function(){i.pause(),i.seek(0),null!=i.onPlayFinish&&i.onPlayFinish()},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.onCacheProcess=function(e){i.onCacheProcess&&i.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_mpegTsNv3rdPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this,n={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,duration:e,autoPlay:this.configFormat.extInfo.autoPlay,audioNone:t};this.player=new f.NvMpegTsCore(n),this.player.onLoadFinish=function(){i.playParam.size=i.player.getSize(),!i.player.duration||NaN===i.player.duration||i.player.duration===1/0||i.player.duration<0?(i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE):(i.playParam.durationMs=1e3*i.player.duration,i.playMode=v.PLAYER_MODE_VOD),i.onLoadFinish&&i.onLoadFinish()},this.player.onReadyShowDone=function(){i.onReadyShowDone&&i.onReadyShowDone()},this.player.onPlayingTime=function(e){i._durationText(e),i._durationText(i.player.duration),null!=i.onPlayTime&&i.onPlayTime(e)},this.player.onPlayingFinish=function(){i.pause(),i.seek(0),null!=i.onPlayFinish&&i.onPlayFinish()},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.onCacheProcess=function(e){i.onCacheProcess&&i.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_raw265Entry",value:function(){var e=this;this.videoURL;var t=function t(){setTimeout((function(){e.workerParse.postMessage({cmd:"get-nalu",data:null,msg:"get-nalu"}),e.workerParse.parseEmpty,e.workerFetch.onMsgFetchFinished,!0===e.workerFetch.onMsgFetchFinished&&!0===e.workerParse.frameListEmpty&&!1===e.workerParse.streamEmpty&&e.workerParse.postMessage({cmd:"last-nalu",data:null,msg:"last-nalu"}),!0===e.workerParse.parseEmpty&&(e.workerParse.stopNaluInterval=!0),!0!==e.workerParse.stopNaluInterval&&t()}),1e3)};this._makeMP4PlayerViewEvent(-1,this.configFormat.extInfo.rawFps,-1,{width:this.configFormat.playerW,height:this.configFormat.playerH},!0,v.CODEC_H265),this.timerFeed&&(window.clearInterval(this.timerFeed),this.timerFeed=null),e.workerFetch=new Worker(p.GetScriptPath((function(){var e=new AbortController,t=e.signal,i=null;onmessage=function(n){var r=n.data;switch(void 0===r.cmd||null===r.cmd?"":r.cmd){case"start":var a=r.url;"http"===r.type?fetch(a,{signal:t}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){})):"websocket"===r.type&&function(e){(i=new WebSocket(e)).binaryType="arraybuffer",i.onopen=function(e){i.send("Hello WebSockets!")},i.onmessage=function(e){if(e.data instanceof ArrayBuffer){var t=e.data;t.byteLength>0&&postMessage({cmd:"fetch-chunk",data:new Uint8Array(t),msg:"fetch-chunk"})}},i.onclose=function(e){postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}}(a),postMessage({cmd:"default",data:"WORKER STARTED",msg:"default"});break;case"stop":"http"===r.type?e.abort():"websocket"===r.type&&i&&i.close(),close()}}}))),e.workerFetch.onMsgFetchFinished=!1,e.workerFetch.onmessage=function(i){var n=i.data;switch(void 0===n.cmd||null===n.cmd?"":n.cmd){case"fetch-chunk":var r=n.data;e.workerParse.postMessage({cmd:"append-chunk",data:r,msg:"append-chunk"});break;case"fetch-fin":e.workerFetch.onMsgFetchFinished=!0,t()}},e.workerParse=new Worker(p.GetScriptPath((function(){var e,t=((e=new Object).frameList=[],e.stream=null,e.frameListEmpty=function(){return e.frameList.length<=0},e.streamEmpty=function(){return null===e.stream||e.stream.length<=0},e.checkEmpty=function(){return!0===e.streamEmpty()&&!0===e.frameListEmpty()||(e.stream,e.frameList,!1)},e.pushFrameRet=function(t){return!(!t||null==t||null==t||(e.frameList&&null!=e.frameList&&null!=e.frameList||(e.frameList=[]),e.frameList.push(t),0))},e.nextFrame=function(){return!e.frameList&&null==e.frameList||null==e.frameList&&e.frameList.length<1?null:e.frameList.shift()},e.clearFrameRet=function(){e.frameList=null},e.setStreamRet=function(t){e.stream=t},e.getStreamRet=function(){return e.stream},e.appendStreamRet=function(t){if(!t||void 0===t||null==t)return!1;if(!e.stream||void 0===e.stream||null==e.stream)return e.stream=t,!0;var i=e.stream.length,n=t.length,r=new Uint8Array(i+n);r.set(e.stream,0),r.set(t,i),e.stream=r;for(var a=0;a<9999;a++){var s=e.nextNalu();if(!1===s||null==s)break;e.frameList.push(s)}return!0},e.subBuf=function(t,i){var n=new Uint8Array(e.stream.subarray(t,i+1));return e.stream=new Uint8Array(e.stream.subarray(i+1)),n},e.lastNalu=function(){var t=e.subBuf(0,e.stream.length);e.frameList.push(t)},e.nextNalu=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(null==e.stream||e.stream.length<=4)return!1;for(var i=-1,n=0;n=e.stream.length)return!1;if(0==e.stream[n]&&0==e.stream[n+1]&&1==e.stream[n+2]||0==e.stream[n]&&0==e.stream[n+1]&&0==e.stream[n+2]&&1==e.stream[n+3]){var r=n;if(n+=3,-1==i)i=r;else{if(t<=1)return e.subBuf(i,r-1);t-=1}}}return!1},e.nextNalu2=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(null==e.stream||e.stream.length<=4)return!1;for(var i=-1,n=0;n=e.stream.length)return-1!=i&&e.subBuf(i,e.stream.length-1);var r="0 0 1"==e.stream.slice(n,n+3).join(" "),a="0 0 0 1"==e.stream.slice(n,n+4).join(" ");if(r||a){var s=n;if(n+=3,-1==i)i=s;else{if(t<=1)return e.subBuf(i,s-1);t-=1}}}return!1},e);onmessage=function(e){var i=e.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"append-chunk":var n=i.data;t.appendStreamRet(n);var r=t.nextFrame();postMessage({cmd:"return-nalu",data:r,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"get-nalu":var a=t.nextFrame();postMessage({cmd:"return-nalu",data:a,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"last-nalu":var s=t.lastNalu();postMessage({cmd:"return-nalu",data:s,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"stop":postMessage("parse - WORKER STOPPED: "+i),close()}}}))),e.workerParse.stopNaluInterval=!1,e.workerParse.parseEmpty=!1,e.workerParse.streamEmpty=!1,e.workerParse.frameListEmpty=!1,e.workerParse.onmessage=function(t){var i=t.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"return-nalu":var n=i.data,r=i.parseEmpty,a=i.streamEmpty,s=i.frameListEmpty;e.workerParse.parseEmpty=r,e.workerParse.streamEmpty=a,e.workerParse.frameListEmpty=s,!1===n||null==n?!0===e.workerFetch.onMsgFetchFinished&&!0===r&&(e.workerParse.stopNaluInterval=!0):(e.append265NaluFrame(n),e.workerParse.postMessage({cmd:"get-nalu",data:null,msg:"get-nalu"}))}},p.ParseGetMediaURL(this.videoURL),this.workerFetch.postMessage({cmd:"start",url:p.ParseGetMediaURL(this.videoURL),type:this.mediaExtProtocol,msg:"start"}),function t(){setTimeout((function(){e.configFormat.extInfo.readyShow&&(e.player.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.NULL?(e.player.playFrameYUV(!0,!0),e.configFormat.extInfo.readyShow=!1,e.onReadyShowDone&&e.onReadyShowDone()):t())}),1e3)}()}},{key:"append265NaluFrame",value:function(e){var t={data:e,pts:this.rawModePts};this.player.appendHevcFrame(t),this.configFormat.extInfo.readyShow&&this.player.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.NULL&&(this.player.playFrameYUV(!0,!0),this.configFormat.extInfo.readyShow=!1,this.onReadyShowDone&&this.onReadyShowDone()),this.rawModePts+=1/this.configFormat.extInfo.rawFps}}])&&r(i.prototype,E),w&&r(i,w),e}();i.H265webjs=E,t.new265webjs=function(e,t){return new E(e,t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./consts":52,"./decoder/av-common":56,"./decoder/c-http-g711-core":57,"./decoder/c-httplive-core":58,"./decoder/c-native-core":59,"./decoder/c-wslive-core":60,"./decoder/cache":61,"./decoder/player-core":65,"./demuxer/m3u8":69,"./demuxer/mp4":71,"./demuxer/mpegts/mpeg.js":74,"./demuxer/ts":75,"./native/mp4-player":77,"./native/nv-flvjs-core":78,"./native/nv-mpegts-core":79,"./native/nv-videojs-core":80,"./render-engine/webgl-420p":81,"./utils/static-mem":82,"./utils/ui/ui":83}],77:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i=t.duration-.04)return t.onCacheProcess&&t.onCacheProcess(t.duration),void window.clearInterval(t.bufferInterval);t.onCacheProcess&&t.onCacheProcess(e)}),200)},this.videoTag.src=e,this.videoTag.style.width="100%",this.videoTag.style.height="100%",i.appendChild(this.videoTag)}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.configFormat.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.configFormat.height}}},{key:"play",value:function(){this.videoTag.play()}},{key:"seek",value:function(e){this.videoTag.currentTime=e}},{key:"pause",value:function(){this.videoTag.pause()}},{key:"setVoice",value:function(e){this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"release",value:function(){this.videoTag&&this.videoTag.remove(),this.videoTag=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onPlayState=null,null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),window.onclick=document.body.onclick=null}},{key:"nativeNextFrame",value:function(){void 0!==this.videoTag&&null!==this.videoTag&&(this.videoTag.currentTime+=1/this.configFormat.fps)}}])&&n(t.prototype,i),a&&n(t,a),e}();i.Mp4Player=a},{"../consts":52}],78:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.GetMsTime()-t.lastDecodedFrameTime>1e4)return window.clearInterval(t.checkPicBlockInterval),t.checkPicBlockInterval=null,void t._reBuildFlvjs(e)}),1e3)}},{key:"_checkLoadState",value:function(e){var t=this;this.checkStartIntervalCount=0,this.checkStartInterval=window.setInterval((function(){return t.lastDecodedFrame,t.isInitDecodeFrames,t.checkStartIntervalCount,!1!==t.isInitDecodeFrames?(t.checkStartIntervalCount=0,window.clearInterval(t.checkStartInterval),void(t.checkStartInterval=null)):(t.checkStartIntervalCount+=1,t.checkStartIntervalCount>20?(window.clearInterval(t.checkStartInterval),t.checkStartIntervalCount=0,t.checkStartInterval=null,void(!1===t.isInitDecodeFrames&&t._reBuildFlvjs(e))):void 0)}),500)}},{key:"makeIt",value:function(e){var t=this;if(a.isSupported()){var i=document.querySelector("#"+this.configFormat.playerId);this.videoTag=document.createElement("video"),this.videoTag.id=this.myPlayerID,this.videoTag.style.width=this.configFormat.width+"px",this.videoTag.style.height=this.configFormat.height+"px",i.appendChild(this.videoTag),!0===this.configFormat.autoPlay&&(this.videoTag.muted="muted",this.videoTag.autoplay="autoplay",window.onclick=document.body.onclick=function(e){t.videoTag.muted=!1,t.isPlayingState(),window.onclick=document.body.onclick=null}),this.videoTag.onplay=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)},this.videoTag.onpause=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)};var n={hasVideo:!0,hasAudio:!(!0===this.configFormat.audioNone),type:"flv",url:e,isLive:this.configFormat.duration<=0,withCredentials:!1};this.myPlayer=a.createPlayer(n),this.myPlayer.attachMediaElement(this.videoTag),this.myPlayer.on(a.Events.MEDIA_INFO,(function(e){t.videoTag.videoWidth,!1===t.isInitDecodeFrames&&(t.isInitDecodeFrames=!0,t.width=Math.max(t.videoTag.videoWidth,e.width),t.height=Math.max(t.videoTag.videoHeight,e.height),t.duration=t.videoTag.duration,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&t.duration>0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.STATISTICS_INFO,(function(e){t.videoTag.videoWidth,t.videoTag.videoHeight,t.videoTag.duration,!1===t.isInitDecodeFrames&&t.videoTag.videoWidth>0&&t.videoTag.videoHeight>0&&(t.isInitDecodeFrames=!0,t.width=t.videoTag.videoWidth,t.height=t.videoTag.videoHeight,t.duration=t.videoTag.duration,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()})),t.lastDecodedFrame=e.decodedFrames,t.lastDecodedFrameTime=s.GetMsTime()})),this.myPlayer.on(a.Events.SCRIPTDATA_ARRIVED,(function(e){})),this.myPlayer.on(a.Events.METADATA_ARRIVED,(function(e){!1===t.isInitDecodeFrames&&e.width&&e.width>0&&(t.isInitDecodeFrames=!0,t.duration=e.duration,t.width=e.width,t.height=e.height,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.ERROR,(function(i,n,r){t.myPlayer&&t._reBuildFlvjs(e)})),this.myPlayer.load(),this._checkLoadState(e),this._checkPicBlock(e)}else console.error("FLV is AVC/H.264, But your brower do not support mse!")}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.height}}},{key:"play",value:function(){this.myPlayer.play()}},{key:"seek",value:function(e){this.myPlayer.currentTime=e}},{key:"pause",value:function(){this.myPlayer.pause()}},{key:"setVoice",value:function(e){this.myPlayer.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.bufferInterval=window.setInterval((function(){if(!e.duration||e.duration<0)window.clearInterval(e.bufferInterval);else{var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}}),200)}},{key:"_releaseFlvjs",value:function(){this.myPlayer,this.myPlayer.pause(),this.myPlayer.unload(),this.myPlayer.detachMediaElement(),this.myPlayer.destroy(),this.myPlayer=null,this.videoTag.remove(),this.videoTag=null,null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),this.isInitDecodeFrames=!1,this.lastDecodedFrame=0,this.lastDecodedFrameTime=-1}},{key:"release",value:function(){null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),this._releaseFlvjs(),this.myPlayerID=null,this.videoContaner=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onReadyShowDone=null,this.onPlayState=null,window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.NvFlvjsCore=o},{"../consts":52,"../decoder/av-common":56,"../demuxer/flv-hevc/flv-hevc.js":68,"../version":84}],79:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.GetMsTime()-t.lastDecodedFrameTime>1e4)return window.clearInterval(t.checkPicBlockInterval),t.checkPicBlockInterval=null,void t._reBuildMpegTsjs(e)}),1e3)}},{key:"_checkLoadState",value:function(e){var t=this;this.checkStartIntervalCount=0,this.checkStartInterval=window.setInterval((function(){return t.lastDecodedFrame,t.isInitDecodeFrames,t.checkStartIntervalCount,!1!==t.isInitDecodeFrames?(t.checkStartIntervalCount=0,window.clearInterval(t.checkStartInterval),void(t.checkStartInterval=null)):(t.checkStartIntervalCount+=1,t.checkStartIntervalCount>20?(window.clearInterval(t.checkStartInterval),t.checkStartIntervalCount=0,t.checkStartInterval=null,void(!1===t.isInitDecodeFrames&&t._reBuildMpegTsjs(e))):void 0)}),500)}},{key:"makeIt",value:function(e){var t=this;if(a.isSupported()){var i=document.querySelector("#"+this.configFormat.playerId);this.videoTag=document.createElement("video"),this.videoTag.id=this.myPlayerID,this.videoTag.style.width=this.configFormat.width+"px",this.videoTag.style.height=this.configFormat.height+"px",i.appendChild(this.videoTag),!0===this.configFormat.autoPlay&&(this.videoTag.muted="muted",this.videoTag.autoplay="autoplay",window.onclick=document.body.onclick=function(e){t.videoTag.muted=!1,t.isPlayingState(),window.onclick=document.body.onclick=null}),this.videoTag.onplay=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)},this.videoTag.onpause=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)};var n={hasVideo:!0,hasAudio:!(!0===this.configFormat.audioNone),type:"mse",url:e,isLive:this.configFormat.duration<=0,withCredentials:!1};this.myPlayer=a.createPlayer(n),this.myPlayer.attachMediaElement(this.videoTag),this.myPlayer.on(a.Events.MEDIA_INFO,(function(e){t.videoTag.videoWidth,!1===t.isInitDecodeFrames&&(t.isInitDecodeFrames=!0,t.width=Math.max(t.videoTag.videoWidth,e.width),t.height=Math.max(t.videoTag.videoHeight,e.height),t.videoTag.duration&&e.duration?t.videoTag.duration?t.duration=t.videoTag.duration:e.duration&&(t.duration=e.duration):t.duration=t.configFormat.duration/1e3,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&t.duration>0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.SCRIPTDATA_ARRIVED,(function(e){})),this.myPlayer.on(a.Events.ERROR,(function(i,n,r){t.myPlayer&&t._reBuildMpegTsjs(e)})),this.myPlayer.load(),this._checkLoadState(e),this._checkPicBlock(e)}else console.error("FLV is AVC/H.264, But your brower do not support mse!")}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.height}}},{key:"play",value:function(){this.videoTag,this.videoTag.play()}},{key:"seek",value:function(e){this.videoTag.currentTime=e}},{key:"pause",value:function(){this.videoTag.pause()}},{key:"setVoice",value:function(e){this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&e.videoTag.duration&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.bufferInterval=window.setInterval((function(){if(e.configFormat.duration<=0)window.clearInterval(e.bufferInterval);else{var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}}),200)}},{key:"_releaseMpegTsjs",value:function(){this.myPlayer,this.myPlayer.pause(),this.myPlayer.unload(),this.myPlayer.detachMediaElement(),this.myPlayer.destroy(),this.myPlayer=null,this.videoTag.remove(),this.videoTag=null,null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),this.isInitDecodeFrames=!1,this.lastDecodedFrame=0,this.lastDecodedFrameTime=-1}},{key:"release",value:function(){null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),this._releaseMpegTsjs(),this.myPlayerID=null,this.videoContaner=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onReadyShowDone=null,this.onPlayState=null,window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.NvMpegTsCore=o},{"../consts":52,"../decoder/av-common":56,"../version":84,"mpegts.js":41}],80:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return this.myPlayer.videoWidth()<=0?{width:this.videoTag.videoWidth,height:this.videoTag.videoHeight}:{width:this.myPlayer.videoWidth(),height:this.myPlayer.videoHeight()}}},{key:"play",value:function(){void 0===this.videoTag||null===this.videoTag?this.myPlayer.play():this.videoTag.play()}},{key:"seek",value:function(e){void 0===this.videoTag||null===this.videoTag?this.myPlayer.currentTime=e:this.videoTag.currentTime=e}},{key:"pause",value:function(){void 0===this.videoTag||null===this.videoTag?this.myPlayer.pause():this.videoTag.pause()}},{key:"setVoice",value:function(e){void 0===this.videoTag||null===this.videoTag?this.myPlayer.volume=e:this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.myPlayer.paused()}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.configFormat.probeDurationMS,e.configFormat.probeDurationMS<=0||e.duration<=0||(e.bufferInterval=window.setInterval((function(){var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}),200))}},{key:"release",value:function(){this.loadSuccess=!1,void 0!==this.bootInterval&&null!==this.bootInterval&&(window.clearInterval(this.bootInterval),this.bootInterval=null),this.myPlayer.dispose(),this.myPlayerID=null,this.myPlayer=null,this.videoContaner=null,this.videoTag=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onSeekFinish=null,this.onReadyShowDone=null,this.onPlayState=null,null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),s&&n(t,s),e}();i.NvVideojsCore=s},{"../consts":52,"../version":84,"video.js":47}],81:[function(e,t,i){"use strict";e("../decoder/av-common");function n(e){this.gl=e,this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}n.prototype.bind=function(e,t,i){var n=this.gl;n.activeTexture([n.TEXTURE0,n.TEXTURE1,n.TEXTURE2][e]),n.bindTexture(n.TEXTURE_2D,this.texture),n.uniform1i(n.getUniformLocation(t,i),e)},n.prototype.fill=function(e,t,i){var n=this.gl;n.bindTexture(n.TEXTURE_2D,this.texture),n.texImage2D(n.TEXTURE_2D,0,n.LUMINANCE,e,t,0,n.LUMINANCE,n.UNSIGNED_BYTE,i)},t.exports={renderFrame:function(e,t,i,n,r,a){e.viewport(0,0,e.canvas.width,e.canvas.height),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.y.fill(r,a,t),e.u.fill(r>>1,a>>1,i),e.v.fill(r>>1,a>>1,n),e.drawArrays(e.TRIANGLE_STRIP,0,4)},setupCanvas:function(e,t){var i=e.getContext("webgl")||e.getContext("experimental-webgl");if(!i)return i;var r=i.createProgram(),a=["attribute highp vec4 aVertexPosition;","attribute vec2 aTextureCoord;","varying highp vec2 vTextureCoord;","void main(void) {"," gl_Position = aVertexPosition;"," vTextureCoord = aTextureCoord;","}"].join("\n"),s=i.createShader(i.VERTEX_SHADER);i.shaderSource(s,a),i.compileShader(s);var o=["precision highp float;","varying lowp vec2 vTextureCoord;","uniform sampler2D YTexture;","uniform sampler2D UTexture;","uniform sampler2D VTexture;","const mat4 YUV2RGB = mat4","("," 1.1643828125, 0, 1.59602734375, -.87078515625,"," 1.1643828125, -.39176171875, -.81296875, .52959375,"," 1.1643828125, 2.017234375, 0, -1.081390625,"," 0, 0, 0, 1",");","void main(void) {"," gl_FragColor = vec4( texture2D(YTexture, vTextureCoord).x, texture2D(UTexture, vTextureCoord).x, texture2D(VTexture, vTextureCoord).x, 1) * YUV2RGB;","}"].join("\n"),u=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(u,o),i.compileShader(u),i.attachShader(r,s),i.attachShader(r,u),i.linkProgram(r),i.useProgram(r),i.getProgramParameter(r,i.LINK_STATUS);var l=i.getAttribLocation(r,"aVertexPosition");i.enableVertexAttribArray(l);var h=i.getAttribLocation(r,"aTextureCoord");i.enableVertexAttribArray(h);var d=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,d),i.bufferData(i.ARRAY_BUFFER,new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0]),i.STATIC_DRAW),i.vertexAttribPointer(l,3,i.FLOAT,!1,0,0);var c=i.createBuffer();return i.bindBuffer(i.ARRAY_BUFFER,c),i.bufferData(i.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),i.STATIC_DRAW),i.vertexAttribPointer(h,2,i.FLOAT,!1,0,0),i.y=new n(i),i.u=new n(i),i.v=new n(i),i.y.bind(0,r,"YTexture"),i.u.bind(1,r,"UTexture"),i.v.bind(2,r,"VTexture"),i},releaseContext:function(e){e.deleteTexture(e.y.texture),e.deleteTexture(e.u.texture),e.deleteTexture(e.v.texture)}}},{"../decoder/av-common":56}],82:[function(e,t,i){(function(e){"use strict";e.STATIC_MEM_wasmDecoderState=-1,e.STATICE_MEM_playerCount=-1,e.STATICE_MEM_playerIndexPtr=0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i New265WebJs + +declare global { + interface Window { + new265webjs: new265webJsFn + } +} + +export default class H265webjsModule { + static createPlayer: (url: string, config: Web265JsConfig) => New265WebJs + static clear(): void +} diff --git a/web_src/static/js/h265web/index.js b/web_src/static/js/h265web/index.js new file mode 100644 index 00000000..c7ecdc95 --- /dev/null +++ b/web_src/static/js/h265web/index.js @@ -0,0 +1,32 @@ +/********************************************************* + * LICENSE: LICENSE-Free_CN.MD + * + * Author: Numberwolf - ChangYanlong + * QQ: 531365872 + * QQ Group:925466059 + * Wechat: numberwolf11 + * Discord: numberwolf#8694 + * E-Mail: porschegt23@foxmail.com + * Github: https://github.com/numberwolf/h265web.js + * + * 作者: 小老虎(Numberwolf)(常炎隆) + * QQ: 531365872 + * QQ群: 531365872 + * 微信: numberwolf11 + * Discord: numberwolf#8694 + * 邮箱: porschegt23@foxmail.com + * 博客: https://www.jianshu.com/u/9c09c1e00fd1 + * Github: https://github.com/numberwolf/h265web.js + * + **********************************************************/ +require('./h265webjs-v20221106'); +export default class h265webjs { + static createPlayer(videoURL, config) { + return window.new265webjs(videoURL, config); + } + + static clear() { + global.STATICE_MEM_playerCount = -1; + global.STATICE_MEM_playerIndexPtr = 0; + } +} diff --git a/web_src/static/js/h265web/missile-v20221120.wasm b/web_src/static/js/h265web/missile-v20221120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..629ce9886fee875d03044f46ed2fe199ea03f129 GIT binary patch literal 2108891 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

EkHHh1zJArh~3 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 z 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�!oi7$`)NVH=PnCt5lk2m?p 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

&T!s4L;(?U)4s+|$1Dau%DfuVgnyOj>>ySu` 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 z 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 z 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%0D!L&FXqHo~S7`@033wgl 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 ^DD!;)kmF%$-s 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 z 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

y1%|XN6y>c^YiA;(1%)T{OP~HU}d=8-!n_ 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 z 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

-bC9OQMv$$ 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

{Eg-5V(T47xXPV?HVXIYUN0xMvQrL*VD7= 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 literal 0 HcmV?d00001 diff --git a/web_src/static/js/h265web/missile.js b/web_src/static/js/h265web/missile.js new file mode 100644 index 00000000..c498b844 --- /dev/null +++ b/web_src/static/js/h265web/missile.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: + return 2097152; + case 3: + return 65536; + case 28: + return 32768; + case 44: + return 32767; + case 75: + return 16384; + case 39: + return 1e3; + case 89: + return 700; + case 71: + return 256; + case 40: + return 255; + case 2: + return 100; + case 180: + return 64; + case 25: + return 20; + case 5: + return 16; + case 6: + return 6; + case 73: + return 4; + case 84: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file From df3b581f61bab61b8ece05be6d520d5f3dcd812c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E8=8C=9C?= Date: Mon, 3 Mar 2025 11:55:29 +0800 Subject: [PATCH 09/18] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20PostgreSQL=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql b/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql index 4bfcb4f0..5647f883 100644 --- a/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql +++ b/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql @@ -325,6 +325,7 @@ create table wvp_stream_proxy update_time character varying(50), stream_key character varying(255), enable_disable_none_reader bool default false, + relates_media_server_id character varying(50), constraint uk_stream_proxy_app_stream unique (app, stream) ); @@ -452,7 +453,7 @@ create table wvp_record_plan create table wvp_record_plan_item ( id serial primary key, - start int, + "start" int, stop int, week_day int, plan_id int, From e21cf8a03f69367930c69019fe3c9a1933260e43 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 5 Mar 2025 09:46:53 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 数据库/2.7.3/初始化-mysql-2.7.3.sql | 1 + 数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/数据库/2.7.3/初始化-mysql-2.7.3.sql b/数据库/2.7.3/初始化-mysql-2.7.3.sql index 66b1006b..d4c7216d 100644 --- a/数据库/2.7.3/初始化-mysql-2.7.3.sql +++ b/数据库/2.7.3/初始化-mysql-2.7.3.sql @@ -309,6 +309,7 @@ create table wvp_stream_proxy update_time character varying(50), stream_key character varying(255), enable_disable_none_reader bool default false, + relates_media_server_id character varying(50), constraint uk_stream_proxy_app_stream unique (app, stream) ); diff --git a/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql b/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql index 5647f883..210c23c0 100644 --- a/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql +++ b/数据库/2.7.3/初始化-postgresql-kingbase-2.7.3.sql @@ -325,7 +325,7 @@ create table wvp_stream_proxy update_time character varying(50), stream_key character varying(255), enable_disable_none_reader bool default false, - relates_media_server_id character varying(50), + relates_media_server_id character varying(50), constraint uk_stream_proxy_app_stream unique (app, stream) ); From 85ecc4c201f02b8de8d9c7b60b15f81748359c3c Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 5 Mar 2025 09:57:31 +0800 Subject: [PATCH 11/18] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BD=E6=A0=87?= =?UTF-8?q?=E9=80=9A=E9=81=93=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/channelList.vue | 317 +++++++++++++------------ 1 file changed, 160 insertions(+), 157 deletions(-) diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue index 7ee4defd..02c7448e 100755 --- a/web_src/src/components/channelList.vue +++ b/web_src/src/components/channelList.vue @@ -1,164 +1,167 @@