UNPKG

@easydarwin/easyplayer

Version:

hls, flv and websocket player h265

1,550 lines (1,349 loc) 4.52 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("EasyPlayer", [], factory); else if(typeof exports === 'object') exports["EasyPlayer"] = factory(); else root["EasyPlayer"] = factory(); })(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ({ /***/ "+8RM": /***/ (function(module, exports) { module.exports = "data:font/ttf;base64,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" /***/ }), /***/ "+olj": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UIMixins; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__config__ = __webpack_require__("FhoZ"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_assets_js_logo_loading_json__ = __webpack_require__("jxY5"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_assets_js_logo_loading_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_assets_js_logo_loading_json__); var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); var loadingGifLength = __WEBPACK_IMPORTED_MODULE_0__config__["a" /* default */].loadingGifLength, logoGifLength = __WEBPACK_IMPORTED_MODULE_0__config__["a" /* default */].logoGifLength; var UIMixins = { methods: { initVideoEle: function initVideoEle() { var _this = this; if (this.noSingleEle && this.noSingleEle.parentNode) this.noSingleEle.parentNode.removeChild(this.noSingleEle); this.videoEle = this.$el.querySelector("video"); if (this.videoEle && this.videoEle.parentNode) this.videoEle.parentNode.removeChild(this.videoEle); this._videoId = "easy_player_" + this.getUUID().split("-").join(''); if (!this.videoUrl.startsWith("webrtc")) { //TODO 不是webRTC this.videoEle = document.createElement("video"); this.videoEle.setAttribute("id", this._videoId); this.videoEle.setAttribute("ref", 'easyPlayer'); this.videoEle.setAttribute('loop', "true"); this.videoEle.setAttribute('preload', "true"); this.videoEle.setAttribute("webkit-playsinline", "true"); this.videoEle.setAttribute("playsinline", 'playsinline'); //阻止弹出层 this.videoEle.setAttribute('x5-playsinline', 'x5-playsinline'); this.videoEle.setAttribute('x-webkit-airplay', 'allow'); this.videoEle.setAttribute("x5-video-player-type", 'h5'); this.videoEle.setAttribute("x5-video-player-fullscreen", "true"); this.videoEle.setAttribute('x5-video-orientation', 'portrait'); this.videoEle.setAttribute('x5-video-ignore-metadata', "true"); this.videoEle.setAttribute('crossOrigin', 'anonymous'); this.videoEle.setAttribute("x5-crossOrigin", 'anonymous'); this.videoEle.controls = false; this.videoEle.muted = this.playerMuted; this.videoEle.autoplay = this.autoplay; this.videoEle.classList = "video-js vjs-default-skin vjs-big-play-centered magic-video"; this.videoEle.style = "width:100%;height: 100%"; } // 加载loading标签 var videoWidth = parseInt(this.easyVideoPlayerInnerEle.offsetWidth); this.easyPlayerLoadingEle = document.createElement("div"); var loadingImgEle = document.createElement("img"); var loadingTextEle = document.createElement("div"); this.easyPlayerLoadingEle.setAttribute("ref", "loadingPage"); this.easyPlayerLoadingEle.classList = "easy-player-loading"; loadingTextEle.classList = "loading-text"; loadingTextEle.setAttribute("ref", "loadingText"); loadingTextEle.innerHTML = "加载中..."; loadingImgEle.classList = 'logo'; if (videoWidth < 625) { loadingImgEle.style = "width:90px;height:24px;line-height: 24px;"; loadingTextEle.style.height = '24px'; this.$refs.loadingTextInfo.style.fontSize = '10px'; } else { loadingImgEle.style.width = '180'; loadingImgEle.style.height = '40px'; loadingTextEle.style.height = '24px'; this.$refs.loadingTextInfo.style.fontSize = '12px'; } loadingImgEle.setAttribute("src", this.showEnterprise ? __WEBPACK_IMPORTED_MODULE_1_assets_js_logo_loading_json___default.a.logoGif : __WEBPACK_IMPORTED_MODULE_1_assets_js_logo_loading_json___default.a.loading); this.easyPlayerLoadingEle.appendChild(loadingImgEle); this.easyPlayerLoadingEle.appendChild(loadingTextEle); if (this.videoEle) this.easyVideoPlayerInnerEle.appendChild(this.videoEle); //TODO 检查是否更换logo setTimeout(function () { var currentLength = loadingImgEle.src.length; if (_this.showEnterprise && currentLength !== logoGifLength) return _this.destroyPlayer(); //企业logo if (!_this.showEnterprise && currentLength !== loadingGifLength) return _this.destroyPlayer(); //非企业logo }, 1000); }, _createVideoLoadingEle: function _createVideoLoadingEle() { if (document.querySelector(".easy-player-loading")) return; document.getElementById(this._videoId).appendChild(this.easyPlayerLoadingEle); }, _handlerVideoProgress: function _handlerVideoProgress() { //TODO 处理是否显示进度条 if (this.$el.querySelector(".vjs-progress-control")) this.$el.querySelector(".vjs-progress-control").style.opacity = this.progress ? 1 : 0; }, _createVideoPlayBtnEle: function _createVideoPlayBtnEle() { var _this2 = this; if (this.autoplay && this.playerMuted) return; var videoParentEle = document.getElementById(this._videoId); var playBtn = document.createElement("div"); var spanEle = document.createElement("span"); spanEle.style = "font-size:3em"; spanEle.classList = 'iconfont icon-bofang easy-play-btn'; playBtn.appendChild(spanEle); videoParentEle.appendChild(playBtn); var playBtnEle = this.$el.querySelector(".easy-play-btn"); playBtnEle.onclick = function () { _this2.playerPlaying = false; var type = _this2.playerOption.type; _this2.easyPlayer.src({ src: _this2.videoUrl, type: type }); _this2.easyPlayer.load(); videoParentEle.removeChild(playBtnEle.parentNode); playBtnEle = null; setTimeout(function () { return _this2.easyPlayer.play(); }, 200); setTimeout(function () { return _this2.setHLSListener(); }, 200); //监测是否是HLS265 setTimeout(function () { return _this2.setFlvPlayerListener(_this2.easyPlayer); }, 200); }; }, // TODO 渲染自定义菜单按钮 createPlayerMenusBtn: function createPlayerMenusBtn() { var _this3 = this; var playerControlBar = this.easyPlayer.controlBar.el_; var _playerControlBar$get = playerControlBar.getElementsByClassName("vjs-fullscreen-control"), _playerControlBar$get2 = _slicedToArray(_playerControlBar$get, 1), fullscreenBtn = _playerControlBar$get2[0]; // TODO 渲染拉伸模式 var stretchBtn = document.createElement("button"); stretchBtn.className = "vjs-control vjs-button vjs-stretch-control"; stretchBtn.type = "button"; stretchBtn.title = "拉伸模式"; stretchBtn.innerText = this.stretch ? "拉伸" : "标准"; stretchBtn.addEventListener("click", function () { _this3.stretch = !_this3.stretch; stretchBtn.innerText = _this3.stretch ? "拉伸" : "标准"; }); playerControlBar.insertBefore(stretchBtn, fullscreenBtn); //TODO 录像 this.luXiangEle = document.createElement("span"); this.luXiangEle.title = "录像"; this.luXiangEle.style = "font-size:16px;width:40px;height: 30px;color:#FFF;text-align:center;display:flex;flex-direction: row;justify-content: center;align-items: center;"; this.luXiangEle.classList = "iconfont icon-luxiang2"; this.luXiangEle.onclick = function () { _this3._recordingUIChange(); }; playerControlBar.insertBefore(this.luXiangEle, fullscreenBtn); // TODO 渲染快照 var snapshotBtn = document.createElement("button"); snapshotBtn.className = "vjs-control vjs-button vjs-snapshot-control"; snapshotBtn.type = "button"; snapshotBtn.title = "快照"; snapshotBtn.innerHTML = '<span class="iconfont icon-xiangji"></span>'; playerControlBar.insertBefore(snapshotBtn, fullscreenBtn); snapshotBtn.addEventListener("click", function () { return _this3.snapshot(); }); // TODO 码率 if (!this.videoUrl.includes(".mp4")) { var bitRate = document.createElement("span"); bitRate.className = "vjs-control vjs-button vjs-bitrate-control"; bitRate.type = "span"; bitRate.title = "码率"; bitRate.style = "line-height: 30px;width: 75px"; playerControlBar.insertBefore(bitRate, stretchBtn); } }, setFLVListener: function setFLVListener() { this.createKbps(Math.ceil(this.easyPlayer.tech_.flvPlayer._transmuxer._controller._ioctl._speedSampler.averageKBps * 8)); }, //TODO 渲染 码率 createKbps: function createKbps(kbps) { if (this.pause) return this.$el.querySelector(".vjs-bitrate-control").innerHTML = ""; if (kbps > 1024) kbps = (kbps / 1024).toFixed(2) + " Mb/s";else kbps = kbps.toFixed(2) + " Kb/s"; this.$el.querySelector(".vjs-bitrate-control").innerHTML = kbps; }, //TODO 显示版本信息 showVersion: function showVersion() { var _this4 = this; //TODO 加载版本号 2021年11月01日 var easyH5Player = this.$refs.easyH5Player; var videoEle = this.$el.querySelector(".easy-video-player-inner"); if (videoEle) videoEle.setAttribute('oncontextmenu', 'return false'); //禁止原生video 右击事件 easyH5Player.oncontextmenu = function (e) { var positionStyle = { left: e.offsetX + "px", top: e.offsetY + "px", pointerEvents: 'auto' }; _this4.showRightMenu = _this4.hiddenRightMenu ? false : !!_this4.videoUrl; _this4.versionStyle = Object.assign(_this4.versionStyle, positionStyle); }; easyH5Player.onclick = function () { _this4.showRightMenu = false; _this4.versionStyle = Object.assign(_this4.versionStyle, { pointerEvents: 'none' }); }; }, //TODO 右击复制播放地址 onTouchCopyVideoSrc: function onTouchCopyVideoSrc() { var inputEle = document.createElement('input'); this.$refs.easyH5Player.appendChild(inputEle); inputEle.value = this.videoUrl; // 复制到剪切板的内容 inputEle.select(); if (!document.execCommand) return; document.execCommand("copy"); this.$refs.easyH5Player.removeChild(inputEle); }, onTouchRightMenuClose: function onTouchRightMenuClose() { var _this5 = this; if (!this.videoUrl) return; this.$emit("change", ''); this.$emit("rightMenuClose"); this.$nextTick(function () { if (document.getElementById(_this5._videoId)) _this5.destroyPlayer(); }); }, //TODO 保存快照 saveLocalSnapshot: function saveLocalSnapshot() { try { var date = new Date(); //实例一个时间对象; var year = date.getFullYear(); //获取系统的年; var month = date.getMonth() + 1; //获取系统月份,由于月份是从0开始计算,所以要加1 var day = date.getDate(); //获取系统日 var hour = date.getHours(); //获取系统时间 var minute = date.getMinutes(); //分 var second = date.getSeconds(); //秒 var fileName = this.recordFileName ? this.recordFileName + "-" + year + month + day + hour + minute + second + ".png" : "EasyPlayer-" + year + month + day + hour + minute + second + ".png"; var fileType = "png"; // 如果文件名中没有带后缀,默认使用png // 判断保存的图片格式 switch (fileName) { case fileName.indexOf("png") > -1: fileType = "png"; break; case fileName.indexOf("jpg") > -1: fileType = "jpg"; break; case fileName.indexOf("jpeg") > -1: fileType = "jpeg"; break; case fileName.indexOf("bmp") > -1: fileType = "bmp"; break; case fileName.indexOf("gif") > -1: fileType = "gif"; break; default: fileType = "png"; break; } var strDataURL = void 0, canvas = void 0; if (this.easyPlayer === null) return; var _easyPlayer$el_$child = _slicedToArray(this.easyPlayer.el_.children, 1), video = _easyPlayer$el_$child[0]; if (!!video && video.tagName.toUpperCase() === "object".toUpperCase()) { // 如果是播放rtmp流时,截图调用这个 strDataURL = video.vjs_snap(); } else { canvas = window.canvas = document.createElement("canvas"); canvas.width = video.videoWidth; canvas.height = video.videoHeight; canvas.getContext("2d").drawImage(video, 0, 0, canvas.width, canvas.height); // 图片大小和视频分辨率一致 strDataURL = canvas.toDataURL("image/" + fileType); // canvas中video中取一帧图片并转成dataURL } if (strDataURL.trim().length === 6) return; if (this.isCacheCleanUp) return this.restartSnapshot = strDataURL; var arr = strDataURL.split(","), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } var blob = new Blob([u8arr], { type: mime }); var url = window.URL.createObjectURL(blob); var a = document.createElement("a"); a.style.display = "none"; a.href = url; a.download = fileName; a.click(); document.body.appendChild(a); setTimeout(function () { document.body.removeChild(a); window.URL.revokeObjectURL(url); }, 1000); this.$emit("snapshot", blob); } catch (e) { console.log("e", e); } } } }; /***/ }), /***/ "+wZ5": /***/ (function(module, exports, __webpack_require__) { "use strict"; var curves = exports; var hash = __webpack_require__("JSLd"); var curve = __webpack_require__("OJ8B"); var utils = __webpack_require__("UXd7"); var assert = utils.assert; function PresetCurve(options) { if (options.type === 'short') this.curve = new curve.short(options); else if (options.type === 'edwards') this.curve = new curve.edwards(options); else this.curve = new curve.mont(options); this.g = this.curve.g; this.n = this.curve.n; this.hash = options.hash; assert(this.g.validate(), 'Invalid curve'); assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O'); } curves.PresetCurve = PresetCurve; function defineCurve(name, options) { Object.defineProperty(curves, name, { configurable: true, enumerable: true, get: function() { var curve = new PresetCurve(options); Object.defineProperty(curves, name, { configurable: true, enumerable: true, value: curve, }); return curve; }, }); } defineCurve('p192', { type: 'short', prime: 'p192', p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff', a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc', b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1', n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831', hash: hash.sha256, gRed: false, g: [ '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012', '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811', ], }); defineCurve('p224', { type: 'short', prime: 'p224', p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001', a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe', b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4', n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d', hash: hash.sha256, gRed: false, g: [ 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21', 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34', ], }); defineCurve('p256', { type: 'short', prime: null, p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff', a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc', b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b', n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551', hash: hash.sha256, gRed: false, g: [ '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296', '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5', ], }); defineCurve('p384', { type: 'short', prime: null, p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'fffffffe ffffffff 00000000 00000000 ffffffff', a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'fffffffe ffffffff 00000000 00000000 fffffffc', b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' + '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef', n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' + 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973', hash: hash.sha384, gRed: false, g: [ 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' + '5502f25d bf55296c 3a545e38 72760ab7', '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' + '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f', ], }); defineCurve('p521', { type: 'short', prime: null, p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff', a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff fffffffc', b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' + '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' + '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00', n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' + 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409', hash: hash.sha512, gRed: false, g: [ '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' + '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' + 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66', '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' + '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' + '3fad0761 353c7086 a272c240 88be9476 9fd16650', ], }); defineCurve('curve25519', { type: 'mont', prime: 'p25519', p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', a: '76d06', b: '1', n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', hash: hash.sha256, gRed: false, g: [ '9', ], }); defineCurve('ed25519', { type: 'edwards', prime: 'p25519', p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', a: '-1', c: '1', // -121665 * (121666^(-1)) (mod P) d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3', n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', hash: hash.sha256, gRed: false, g: [ '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a', // 4/5 '6666666666666666666666666666666666666666666666666666666666666658', ], }); var pre; try { pre = __webpack_require__("3Ngr"); } catch (e) { pre = undefined; } defineCurve('secp256k1', { type: 'short', prime: 'k256', p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f', a: '0', b: '7', n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141', h: '1', hash: hash.sha256, // Precomputed endomorphism beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee', lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72', basis: [ { a: '3086d221a7d46bcde86c90e49284eb15', b: '-e4437ed6010e88286f547fa90abfe4c3', }, { a: '114ca50f7a8e2f3f657c1108d9d44cfd8', b: '3086d221a7d46bcde86c90e49284eb15', }, ], gRed: false, g: [ '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8', pre, ], }); /***/ }), /***/ "/2GC": /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration //! locale : Maldivian [dv] //! author : Jawish Hameed : https://github.com/jawish ;(function (global, factory) { true ? factory(__webpack_require__("hsap")) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment) }(this, (function (moment) { 'use strict'; var months = [ 'ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު' ]; var weekdays = [ 'އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު' ]; var dv = moment.defineLocale('dv', { months : months, monthsShort : months, weekdays : weekdays, weekdaysShort : weekdays, weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), longDateFormat : { LT : 'HH:mm', LTS : 'HH:mm:ss', L : 'D/M/YYYY', LL : 'D MMMM YYYY', LLL : 'D MMMM YYYY HH:mm', LLLL : 'dddd D MMMM YYYY HH:mm' }, meridiemParse: /މކ|މފ/, isPM : function (input) { return 'މފ' === input; }, meridiem : function (hour, minute, isLower) { if (hour < 12) { return 'މކ'; } else { return 'މފ'; } }, calendar : { sameDay : '[މިއަދު] LT', nextDay : '[މާދަމާ] LT', nextWeek : 'dddd LT', lastDay : '[އިއްޔެ] LT', lastWeek : '[ފާއިތުވި] dddd LT', sameElse : 'L' }, relativeTime : { future : 'ތެރޭގައި %s', past : 'ކުރިން %s', s : 'ސިކުންތުކޮޅެއް', m : 'މިނިޓެއް', mm : 'މިނިޓު %d', h : 'ގަޑިއިރެއް', hh : 'ގަޑިއިރު %d', d : 'ދުވަހެއް', dd : 'ދުވަސް %d', M : 'މަހެއް', MM : 'މަސް %d', y : 'އަހަރެއް', yy : 'އަހަރު %d' }, preparse: function (string) { return string.replace(/،/g, ','); }, postformat: function (string) { return string.replace(/,/g, '،'); }, week : { dow : 7, // Sunday is the first day of the week. doy : 12 // The week that contains Jan 1st is the first week of the year. } }); return dv; }))); /***/ }), /***/ "/TTR": /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__("g38Z"); if(typeof content === 'string') content = [[module.i, content, '']]; // Prepare cssTransformation var transform; var options = {"hmr":true} options.transform = transform // add the styles to the DOM var update = __webpack_require__("uOJK")(content, options); if(content.locals) module.exports = content.locals; // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!../../node_modules/_css-loader@0.28.7@css-loader/index.js!./video-js.css", function() { var newContent = require("!!../../node_modules/_css-loader@0.28.7@css-loader/index.js!./video-js.css"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }), /***/ "/XLp": /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration //! locale : Lao [lo] //! author : Ryan Hart : https://github.com/ryanhart2 ;(function (global, factory) { true ? factory(__webpack_require__("hsap")) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment) }(this, (function (moment) { 'use strict'; var lo = moment.defineLocale('lo', { months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), weekdaysParseExact : true, longDateFormat : { LT : 'HH:mm', LTS : 'HH:mm:ss', L : 'DD/MM/YYYY', LL : 'D MMMM YYYY', LLL : 'D MMMM YYYY HH:mm', LLLL : 'ວັນdddd D MMMM YYYY HH:mm' }, meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, isPM: function (input) { return input === 'ຕອນແລງ'; }, meridiem : function (hour, minute, isLower) { if (hour < 12) { return 'ຕອນເຊົ້າ'; } else { return 'ຕອນແລງ'; } }, calendar : { sameDay : '[ມື້ນີ້ເວລາ] LT', nextDay : '[ມື້ອື່ນເວລາ] LT', nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT', lastDay : '[ມື້ວານນີ້ເວລາ] LT', lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', sameElse : 'L' }, relativeTime : { future : 'ອີກ %s', past : '%sຜ່ານມາ', s : 'ບໍ່ເທົ່າໃດວິນາທີ', m : '1 ນາທີ', mm : '%d ນາທີ', h : '1 ຊົ່ວໂມງ', hh : '%d ຊົ່ວໂມງ', d : '1 ມື້', dd : '%d ມື້', M : '1 ເດືອນ', MM : '%d ເດືອນ', y : '1 ປີ', yy : '%d ປີ' }, dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, ordinal : function (number) { return 'ທີ່' + number; } }); return lo; }))); /***/ }), /***/ "/gF+": /***/ (function(module, exports, __webpack_require__) { var Buffer = __webpack_require__("DLTi").Buffer var ZEROES = Buffer.alloc(16, 0) function toArray (buf) { return [ buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12) ] } function fromArray (out) { var buf = Buffer.allocUnsafe(16) buf.writeUInt32BE(out[0] >>> 0, 0) buf.writeUInt32BE(out[1] >>> 0, 4) buf.writeUInt32BE(out[2] >>> 0, 8) buf.writeUInt32BE(out[3] >>> 0, 12) return buf } function GHASH (key) { this.h = key this.state = Buffer.alloc(16, 0) this.cache = Buffer.allocUnsafe(0) } // from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html // by Juho Vähä-Herttua GHASH.prototype.ghash = function (block) { var i = -1 while (++i < block.length) { this.state[i] ^= block[i] } this._multiply() } GHASH.prototype._multiply = function () { var Vi = toArray(this.h) var Zi = [0, 0, 0, 0] var j, xi, lsbVi var i = -1 while (++i < 128) { xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0 if (xi) { // Z_i+1 = Z_i ^ V_i Zi[0] ^= Vi[0] Zi[1] ^= Vi[1] Zi[2] ^= Vi[2] Zi[3] ^= Vi[3] } // Store the value of LSB(V_i) lsbVi = (Vi[3] & 1) !== 0 // V_i+1 = V_i >> 1 for (j = 3; j > 0; j--) { Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31) } Vi[0] = Vi[0] >>> 1 // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R if (lsbVi) { Vi[0] = Vi[0] ^ (0xe1 << 24) } } this.state = fromArray(Zi) } GHASH.prototype.update = function (buf) { this.cache = Buffer.concat([this.cache, buf]) var chunk while (this.cache.length >= 16) { chunk = this.cache.slice(0, 16) this.cache = this.cache.slice(16) this.ghash(chunk) } } GHASH.prototype.final = function (abl, bl) { if (this.cache.length) { this.ghash(Buffer.concat([this.cache, ZEROES], 16)) } this.ghash(fromArray([0, abl, 0, bl])) return this.state } module.exports = GHASH /***/ }), /***/ "/sSn": /***/ (function(module, exports, __webpack_require__) { "use strict"; /*<replacement>*/ var pna = __webpack_require__("z2li"); /*</replacement>*/ // undocumented cb() API, needed for core, not for public API function destroy(err, cb) { var _this = this; var readableDestroyed = this._readableState && this._readableState.destroyed; var writableDestroyed = this._writableState && this._writableState.destroyed; if (readableDestroyed || writableDestroyed) { if (cb) { cb(err); } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { pna.nextTick(emitErrorNT, this, err); } return this; } // we set destroyed to true before firing error callbacks in order // to make it re-entrance safe in case destroy() is called within callbacks if (this._readableState) { this._readableState.destroyed = true; } // if this is a duplex stream mark the writable part as destroyed as well if (this._writableState) { this._writableState.destroyed = true; } this._destroy(err || null, function (err) { if (!cb && err) { pna.nextTick(emitErrorNT, _this, err); if (_this._writableState) { _this._writableState.errorEmitted = true; } } else if (cb) { cb(err); } }); return this; } function undestroy() { if (this._readableState) { this._readableState.destroyed = false; this._readableState.reading = false; this._readableState.ended = false; this._readableState.endEmitted = false; } if (this._writableState) { this._writableState.destroyed = false; this._writableState.ended = false; this._writableState.ending = false; this._writableState.finished = false; this._writableState.errorEmitted = false; } } function emitErrorNT(self, err) { self.emit('error', err); } module.exports = { destroy: destroy, undestroy: undestroy }; /***/ }), /***/ 0: /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__("1wJc"); /***/ }), /***/ "0+t1": /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration //! locale : Hungarian [hu] //! author : Adam Brunner : https://github.com/adambrunner ;(function (global, factory) { true ? factory(__webpack_require__("hsap")) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment) }(this, (function (moment) { 'use strict'; var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); function translate(number, withoutSuffix, key, isFuture) { var num = number, suffix; switch (key) { case 's': return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; case 'm': return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); case 'mm': return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); case 'h': return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); case 'hh': return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); case 'd': return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); case 'dd': return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); case 'M': return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); case 'MM': return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); case 'y': return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); case 'yy': return num + (isFuture || withoutSuffix ? ' év' : ' éve'); } return ''; } function week(isFuture) { return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; } var hu = moment.defineLocale('hu', { months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), longDateFormat : { LT : 'H:mm', LTS : 'H:mm:ss', L : 'YYYY.MM.DD.', LL : 'YYYY. MMMM D.', LLL : 'YYYY. MMMM D. H:mm', LLLL : 'YYYY. MMMM D., dddd H:mm' }, meridiemParse: /de|du/i, isPM: function (input) { return input.charAt(1).toLowerCase() === 'u'; }, meridiem : function (hours, minutes, isLower) { if (hours < 12) { return isLower === true ? 'de' : 'DE'; } else { return isLower === true ? 'du' : 'DU'; } }, calendar : { sameDay : '[ma] LT[-kor]', nextDay : '[holnap] LT[-kor]', nextWeek : function () { return week.call(this, true); }, lastDay : '[tegnap] LT[-kor]', lastWeek : function () { return week.call(this, false); }, sameElse : 'L' }, relativeTime : { future : '%s múlva', past : '%s', s : translate, m : translate, mm : translate, h : translate, hh : translate, d : translate, dd : translate, M : translate, MM : translate, y : translate, yy : translate }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal : '%d.', week : { dow : 1, // Monday is the first day of the week. doy : 4 // The week that contains Jan 4th is the first week of the year. } }); return hu; }))); /***/ }), /***/ "0I3d": /***/ (function(module, exports, __webpack_require__) { "use strict"; var Buffer = __webpack_require__("DLTi").Buffer var Transform = __webpack_require__("WTPY").Transform var inherits = __webpack_require__("mwrz") function throwIfNotStringOrBuffer (val, prefix) { if (!Buffer.isBuffer(val) && typeof val !== 'string') { throw new TypeError(prefix + ' must be a string or a buffer') } } function HashBase (blockSize) { Transform.call(this) this._block = Buffer.allocUnsafe(blockSize) this._blockSize = blockSize this._blockOffset = 0 this._length = [0, 0, 0, 0] this._finalized = false } inherits(HashBase, Transform) HashBase.prototype._transform = function (chunk, encoding, callback) { var error = null try { this.update(chunk, encoding) } catch (err) { error = err } callback(error) } HashBase.prototype._flush = function (callback) { var error = null try { this.push(this.digest()) } catch (err) { error = err } callback(error) } HashBase.prototype.update = function (data, encoding) { throwIfNotStringOrBuffer(data, 'Data') if (this._finalized) throw new Error('Digest already called') if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding) // consume data var block = this._block var offset = 0 while (this._blockOffset + data.length - offset >= this._blockSize) { for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++] this._update() this._blockOffset = 0 } while (offset < data.length) block[this._blockOffset++] = data[offset++] // update length for (var j = 0, carry = data.length * 8; carry > 0; ++j) { this._length[j] += carry carry = (this._length[j] / 0x0100000000) | 0 if (carry > 0) this._length[j] -= 0x0100000000 * carry } return this } HashBase.prototype._update = function () { throw new Error('_update is not implemented') } HashBase.prototype.digest = function (encoding) { if (this._finalized) throw new Error('Digest already called') this._finalized = true var digest = this._digest() if (encoding !== undefined) digest = digest.toString(encoding) // reset state this._block.fill(0) this._blockOffset = 0 for (var i = 0; i < 4; ++i) this._length[i] = 0 return digest } HashBase.prototype._digest = function () { throw new Error('_digest is not implemented') } module.exports = HashBase /***/ }), /***/ "0Nqt": /***/ (function(module, exports) { /***/ }), /***/ "0Owf": /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration //! locale : Kyrgyz [ky] //! author : Chyngyz Arystan uulu : https://github.com/chyngyz ;(function (global, factory) { true ? factory(__webpack_require__("hsap")) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment) }(this, (function (moment) { 'use strict'; var suffixes = { 0: '-чү', 1: '-чи', 2: '-чи', 3: '-чү', 4: '-чү', 5: '-чи', 6: '-чы', 7: '-чи', 8: '-чи', 9: '-чу', 10: '-чу', 20: '-чы', 30: '-чу', 40: '-чы', 50: '-чү', 60: '-чы', 70: '-чи', 80: '-чи', 90: '-чу', 100: '-чү' }; var ky = moment.defineLocale('ky', { months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'), weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'), weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), longDateFormat : { LT : 'HH:mm', LTS : 'HH:mm:ss', L : 'DD.MM.YYYY', LL : 'D MMMM YYYY', LLL : 'D MMMM YYYY HH:mm', LLLL : 'dddd, D MMMM YYYY HH:mm' }, calendar : { sameDay : '[Бүгүн саат] LT', nextDay : '[Эртең саат] LT', nextWeek : 'dddd [саат] LT', lastDay : '[Кече саат] LT', lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT', sameElse : 'L' }, relativeTime : { future : '%s ичинде', past : '%s мурун', s : 'бирнече секунд', m : 'бир мүнөт', mm : '%d мүнөт', h : 'бир саат', hh : '%d саат', d : 'бир күн', dd : '%d күн', M : 'бир ай', MM : '%d ай', y : 'бир жыл', yy : '%d жыл' }, dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, ordinal : function (number) { var a = number % 10, b = number >= 100 ? 100 : null; return number + (suffixes[number] || suffixes[a] || suffixes[b]); }, week : { dow : 1, // Monday is the first day of the week. doy : 7 // The week that contains Jan 1st is the first week of the year. } }); return ky; }))); /***/ }), /***/ 1: /***/ (function(module, exports) { /* (ignored) */ /***/ }), /***/ "1+vN": /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration //! locale : Breton [br] //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou ;(function (global, factory) { true ? factory(__webpack_require__("hsap")) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment) }(this, (function (moment) { 'use strict'; function relativeTimeWithMutation(number, withoutSuffix, key) { var format = { 'mm': 'munutenn', 'MM': 'miz', 'dd': 'devezh' }; return number + ' ' + mutation(format[key], number); } function specialMutationForYears(number) { switch (lastNumber(number)) { case 1: case 3: case 4: case 5: case 9: return number + ' bloaz'; default: return number + ' vloaz'; } } function lastNumber(number) { if (number > 9) { return lastNumber(number % 10); } return number; } function mutation(text, number) { if (number === 2) { return softMutation(text); } return text; } function softMutation(text) { var mutationTable = { 'm': 'v', 'b': 'v', 'd': 'z' }; if (mutationTable[text.charAt(0)] === undefined) { return text; } return mutationTable[text.charAt(0)] + text.substring(1); } var br = moment.defineLocale('br', { months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), weekdaysParseExact : true, longDateFormat : { LT : 'h[e]mm A', LTS : 'h[e]mm:ss A', L : 'DD/MM/YYYY', LL : 'D [a viz] MMMM YYYY', LLL : 'D [a viz] MMMM YYYY h[e]mm A', LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' }, calendar : { sameDay : '[Hiziv da] LT', nextDay : '[Warc\'hoazh da] LT', nextWeek : 'dddd [da] LT', lastDay : '[Dec\'h da] LT', lastWeek : 'dddd [paset da] LT', sameElse : 'L' }, relativeTime : { future : 'a-benn %s', past : '%s \'zo', s : 'un nebeud segondennoù', m : 'ur vunutenn', mm : relativeTimeWithMutation, h : 'un eur', hh : '%d eur', d : 'un devezh', dd : relativeTimeWithMutation, M : 'ur miz', MM : relativeTimeWithMutation, y : 'ur bloaz', yy : specialMutationForYears }, dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, ordinal : function (number) { var output = (number === 1) ? 'añ' : 'vet'; return number + output; }, week : { dow : 1, // Monday is the first day of the week. doy : 4 // The week that contains Jan 4th is the first week of the year. } }); return br; }))); /***/ }), /***/ "183T": /***/ (function(module, exports, __webpack_require__) { // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js var Buffer = __webpack_require__("DLTi").Buffer var BN = __webpack_require__("DoTB") var EC = __webpack_require__("qve+").ec var parseKeys = __webpack_require__("UjI3") var curves = __webpack_require__("D380") function verify (sig, hash, key, signType, tag) { var pub = parseKeys(key) if (pub.type === 'ec') { // rsa keys can be interpreted as ecdsa ones in openssl if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') return ecVerify(sig, hash, pub) } else if (pub.type === 'dsa') { if (signType !== 'dsa') throw new Error('wrong public key type') return dsaVerify(sig, hash, pub) } else { if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type') } hash = Buffer.concat([tag, hash]) var len = pub.modulus.byteLength() var pad = [1] var padNum = 0 while (hash.length + pad.length + 2 < len) { pad.push(0xff) padNum++ } pad.push(0x00) var i = -1 while (++i < hash.length) { pad.push(hash[i]) } pad = Buffer.from(pad) var red = BN.mont(pub.modulus) sig = new BN(sig).toRed(red) sig = sig.redPow(new BN(pub.publicExponent)) sig = Buffer.from(sig.fromRed().toArray()) var out = padNum < 8 ? 1 : 0 len = Math.min(sig.length, pad.length) if (sig.length !== pad.length) out = 1 i = -1 while (++i < len) out |= sig[i] ^ pad[i] return out === 0 } function ecVerify (sig, hash, pub) { var curveId = curves[pub.data.algorithm.curve.join('.')] if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')) var curve = new EC(curveId) var pubkey = pub.data.subjectPrivateKey.data return curve.verify(hash, sig, pubkey) } function dsaVerify (sig, hash, pub) { var p = pub.data.p var q = pub.data.q var g = pub.data.g var y = pub.data.pub_key var unpacked = parseKeys.signature.decode(sig, 'der') var s = unpacked.s var r = unpacked.r checkValue(s, q) checkValue(r, q) var montp = BN.mont(p) var w = s.invm(q) var v = g.toRed(montp) .redPow(new BN(hash).mul(w).mod(q)) .fromRed() .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()) .mod(p) .mod(q) return v.cmp(r) === 0 } function checkValue (b, q) { if (b.cmpn(0) <= 0) throw new Error('invalid sig') if (b.cmp(q) >= q) throw new Error('invalid sig') } module.exports = verify /***/ }), /*