1 |
- {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/axios/lib/utils.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/axios/index.js","webpack://[name]/./node_modules/css-loader/dist/runtime/api.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/axios/lib/helpers/bind.js","webpack://[name]/./node_modules/axios/lib/helpers/buildURL.js","webpack://[name]/./node_modules/axios/lib/cancel/isCancel.js","webpack://[name]/./node_modules/axios/lib/defaults.js","webpack://[name]/./node_modules/axios/lib/adapters/xhr.js","webpack://[name]/./node_modules/axios/lib/core/createError.js","webpack://[name]/./node_modules/axios/lib/core/mergeConfig.js","webpack://[name]/./node_modules/axios/lib/cancel/Cancel.js","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./node_modules/promise-polyfill/src/index.js","webpack://[name]/./node_modules/promise-polyfill/src/finally.js","webpack://[name]/./src/assets/play.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/full.svg","webpack://[name]/./src/assets/full-web.svg","webpack://[name]/./src/assets/setting.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/comment.svg","webpack://[name]/./src/assets/comment-off.svg","webpack://[name]/./src/assets/send.svg","webpack://[name]/./src/assets/pallette.svg","webpack://[name]/./src/assets/camera.svg","webpack://[name]/./src/assets/subtitle.svg","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/template/player.art","webpack://[name]/./src/css/index.scss?b345","webpack://[name]/./src/css/index.scss","webpack://[name]/./node_modules/balloon-css/balloon.css","webpack://[name]/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/axios/lib/axios.js","webpack://[name]/./node_modules/axios/node_modules/is-buffer/index.js","webpack://[name]/./node_modules/axios/lib/core/Axios.js","webpack://[name]/./node_modules/axios/lib/core/InterceptorManager.js","webpack://[name]/./node_modules/axios/lib/core/dispatchRequest.js","webpack://[name]/./node_modules/axios/lib/core/transformData.js","webpack://[name]/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://[name]/./node_modules/axios/lib/core/settle.js","webpack://[name]/./node_modules/axios/lib/core/enhanceError.js","webpack://[name]/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://[name]/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://[name]/./node_modules/axios/lib/helpers/cookies.js","webpack://[name]/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://[name]/./node_modules/axios/lib/helpers/combineURLs.js","webpack://[name]/./node_modules/axios/lib/cancel/CancelToken.js","webpack://[name]/./node_modules/axios/lib/helpers/spread.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/js/api.js","webpack://[name]/./src/js/options.js","webpack://[name]/./src/js/i18n.js","webpack://[name]/./src/js/icons.js","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/danmaku.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/fullscreen.js","webpack://[name]/./src/js/user.js","webpack://[name]/./src/js/subtitle.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/bezel.js","webpack://[name]/./src/js/thumbnails.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/js/setting.js","webpack://[name]/./src/js/comment.js","webpack://[name]/./src/js/hotkey.js","webpack://[name]/./src/js/contextmenu.js","webpack://[name]/./src/js/info-panel.js","webpack://[name]/./src/js/player.js","webpack://[name]/./src/js/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","isBuffer","toString","isArray","val","isObject","isFunction","forEach","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","arguments","deepMerge","extend","a","b","thisArg","trim","str","replace","useSourceMap","list","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","id","_i","push","g","Function","e","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","utils","encode","url","params","paramsSerializer","serializedParams","parts","v","toISOString","hashmarkIndex","indexOf","slice","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","method","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","requestHeaders","request","auth","username","password","Authorization","open","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","error","config1","config2","prop","Cancel","setTimeoutFunc","x","Boolean","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","self","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","_unhandledRejectionFn","Handler","done","reason","ex","prom","all","arr","remaining","res","race","setImmediate","err","console","warn","callback","options","locals","memo","stylesInDom","isOldIE","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","listToStyles","styles","newStyles","base","part","css","media","addStylesToDom","domStyle","j","refs","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","setAttribute","insert","appendChild","textStore","replaceText","index","replacement","filter","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","newList","mayRemove","_domStyle","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","global","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","documentElement","script","Math","random","attachEvent","task","Axios","mergeConfig","createInstance","defaultConfig","context","instance","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","shift","getUri","handlers","use","eject","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","fns","normalizedName","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","ignoreDuplicateOf","parsed","split","line","substr","originURL","msie","test","userAgent","urlParsingNode","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","now","relativeURL","executor","resolvePromise","token","globalThis","runtime","ESCAPE_REG","$escape","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","$each","isMobile","secondToTime","second","Infinity","hour","floor","min","sec","num","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","top","rect","left","getScrollPosition","pageXOffset","setScrollPosition","_ref","_ref$left","_ref$top","isFirefox","scrollTo","isChrome","storage","set","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","color2Number","color","parseInt","number2Color","number2Type","post","success","msg","time","type","author","text","defaultOption","container","getElementsByClassName","live","autoplay","theme","loop","lang","language","browserLanguage","screenshot","hotkey","preload","volume","apiBackend","video","contextmenu","mutex","pluginOptions","hls","flvjs","dash","webtorrent","defaultKey","danmaku","user","subtitle","fontSize","bottom","quality","defaultQuality","click","player","infoPanel","triggle","link","tranTxt","_this","tran","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","pallette","camera","loading","_defineProperties","props","descriptor","configurable","writable","Template","Constructor","_classCallCheck","init","protoProps","staticProps","innerHTML","icons","pic","volumeBar","volumeBarWrap","volumeBarWrapWrap","volumeButton","volumeButtonIcon","volumeIcon","playedBar","loadedBar","playedBarWrap","playedBarTime","danmakuLoading","bezel","playButton","videoWrap","controllerMask","ptime","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","dtime","controller","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","subtitleButton","subtitleButtonInner","qualityButton","barPreview","barWrap","notice","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","Danmaku","danTunnel","danIndex","dan","showing","_opacity","opacity","events","unlimited","_measure","load","apiurl","api","maximum","address","endpoints","addition","trigger","_readAllEndpoints","results","sort","requestAnimationFrame","frame","newAPI","clear","_this2","readCount","_loop","_this3","danmakuData","splice","htmlEncode","border","borderColor","draw","_this4","paused","parseFloat","percentage","items","_this5","itemHeight","height","danWidth","offsetWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","danSpeed","getTunnel","tmp","_loop2","danRight","_ret","docFragment","createDocumentFragment","_loop3","classList","add","itemWidth","tunnel","transform","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","Events","videoEvents","playerEvents","info","FullScreen","lastScrollPosition","resize","fullscreenchange","isFullScreen","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","User","storageName","Subtitle","textTracks","track","oncuechange","cue","activeCues","template","getCueAsHTML","trackHtml","show","hide","Bar","elements","played","loaded","direction","max","Timer","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","position","backgroundPosition","ceil","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initVolumeButton","toggle","duration","highlight","highlights","thumbnails","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","bar","thumbUp","removeEventListener","timer","enable","disable","px","tx","move","innerText","_this6","fullScreen","_this7","volumeMove","muted","switchVolumeIcon","_this8","switchQuality","dataset","_this9","dataURL","canvas","drawImage","toBlob","blob","URL","createObjectURL","download","revokeObjectURL","_this10","balloon","_this11","disableAutoHide","isShow","Setting","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","tag","activeElement","tagName","editable","getAttribute","preventDefault","ContextMenu","shown","clientRect","clientY","y","InfoPanel","beginTime","toFixed","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","instances","DPlayer","getOwnPropertyDescriptors","defineProperties","_objectSpread","qualityIndex","arrow","plugins","initVideo","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","initMSE","reload","customType","canPlayType","Hls","isSupported","loadSource","attachMedia","destroy","_options","assign","flvPlayer","createPlayer","attachMediaElement","unload","detachMediaElement","dashjs","dashjsPlayer","MediaPlayer","initialize","_options2","updateSettings","reset","WebTorrent","WEBRTC_SUPPORT","_options3","client","torrentId","torrent","files","find","file","endsWith","renderTo","buffered","end","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","log"],"mappings":"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","file":"DPlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 57);\n","'use strict';\nfunction _typeof(obj) {\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\nvar toString = Object.prototype.toString;\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\nfunction isArrayBufferView(val) {\n var result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n return result;\n}\nfunction isString(val) {\n return typeof val === 'string';\n}\nfunction isNumber(val) {\n return typeof val === 'number';\n}\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\nfunction isObject(val) {\n return val !== null && _typeof(val) === 'object';\n}\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction forEach(obj, fn) {\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n if (_typeof(obj) !== 'object') {\n obj = [obj];\n }\n if (isArray(obj)) {\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\nfunction merge() {\n var result = {};\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\nfunction deepMerge() {\n var result = {};\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (_typeof(val) === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n<video\n class=\"dplayer-video {{ if current }}dplayer-video-current{{ /if }}\"\n webkit-playsinline\n playsinline\n {{ if pic }}poster=\"{{ pic }}\"{{ /if }}\n {{ if screenshot || enableSubtitle }}crossorigin=\"anonymous\"{{ /if }}\n {{ if preload }}preload=\"{{ preload }}\"{{ /if }}\n {{ if url }}src=\"{{ url }}\"{{ /if }}\n >\n {{ if enableSubtitle }}\n <track kind=\"metadata\" default src=\"{{ subtitle.url }}\"></track>\n {{ /if }}\n</video>","module.exports = require('./lib/axios');","'use strict';\nmodule.exports = function (useSourceMap) {\n var list = [];\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n if (item[2]) {\n return '@media '.concat(item[2], '{').concat(content, '}');\n }\n return content;\n }).join('');\n };\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[\n null,\n modules,\n ''\n ]];\n }\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i];\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = '('.concat(item[2], ') and (').concat(mediaQuery, ')');\n }\n list.push(item);\n }\n }\n };\n return list;\n};\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL='.concat(cssMapping.sourceRoot).concat(source, ' */');\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n return [content].join('\\n');\n}\nfunction toComment(sourceMap) {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(base64);\n return '/*# '.concat(data, ' */');\n}","function _typeof(obj) {\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || new Function('return this')();\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;","var process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n}());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","'use strict';\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};","'use strict';\nvar utils = require('./../utils');\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n if (!params) {\n return url;\n }\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n return url;\n};","'use strict';\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' };\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n adapter = require('./adapters/xhr');\n }\n return adapter;\n}\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n }\n }\n return data;\n }],\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = { common: { 'Accept': 'application/json, text/plain, */*' } };\nutils.forEach([\n 'delete',\n 'get',\n 'head'\n], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type'];\n }\n var request = new XMLHttpRequest();\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n request.timeout = config.timeout;\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response);\n request = null;\n };\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n request = null;\n };\n request.onerror = function handleError() {\n reject(createError('Network Error', config, null, request));\n request = null;\n };\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request));\n request = null;\n };\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n delete requestHeaders[key];\n } else {\n request.setRequestHeader(key, val);\n }\n });\n }\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n if (config.cancelToken) {\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n request.abort();\n reject(cancel);\n request = null;\n });\n }\n if (requestData === undefined) {\n requestData = null;\n }\n request.send(requestData);\n });\n};","'use strict';\nvar enhanceError = require('./enhanceError');\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function mergeConfig(config1, config2) {\n config2 = config2 || {};\n var config = {};\n utils.forEach([\n 'url',\n 'method',\n 'params',\n 'data'\n ], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach([\n 'headers',\n 'auth',\n 'proxy'\n ], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach([\n 'baseURL',\n 'transformRequest',\n 'transformResponse',\n 'paramsSerializer',\n 'timeout',\n 'withCredentials',\n 'adapter',\n 'responseType',\n 'xsrfCookieName',\n 'xsrfHeaderName',\n 'onUploadProgress',\n 'onDownloadProgress',\n 'maxContentLength',\n 'validateStatus',\n 'maxRedirects',\n 'httpAgent',\n 'httpsAgent',\n 'cancelToken',\n 'socketPath'\n ], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\nfunction Cancel(message) {\n this.message = message;\n}\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\nmodule.exports = require('./compile/runtime');","function _typeof(obj) {\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nimport promiseFinally from './finally';\nvar setTimeoutFunc = setTimeout;\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n}\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function')\n throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\nfunction resolve(self, newValue) {\n try {\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && (_typeof(newValue) === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done)\n return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done)\n return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done)\n return;\n done = true;\n reject(self, ex);\n }\n}\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\nPromise.prototype['finally'] = promiseFinally;\nPromise.all = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n try {\n if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\nPromise.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === Promise) {\n return value;\n }\n return new Promise(function (resolve) {\n resolve(value);\n });\n};\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\nPromise.race = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n setImmediate(fn);\n} || function (fn) {\n setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err);\n }\n};\nexport default Promise;","function finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n return constructor.reject(reason);\n });\n });\n}\nexport default finallyConstructor;","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 16 32\\\"><path d=\\\"M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 17 32\\\"><path d=\\\"M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 28\\\"><path d=\\\"M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z\\\"></path></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" viewBox=\\\"0 0 22 22\\\"><svg x=\\\"7\\\" y=\\\"1\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-0\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-1\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"13\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-2\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-3\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"7\\\" y=\\\"13\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-4\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-5\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"1\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-6\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-7\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg></svg>\"","<div class=\"dplayer-mask\"></div>\n<div class=\"dplayer-video-wrap\">\n {{ include './video.art' video }}\n {{ if options.logo }}\n <div class=\"dplayer-logo\">\n <img src=\"{{ options.logo }}\">\n </div>\n {{ /if }}\n <div class=\"dplayer-danmaku\"{{ if options.danmaku && options.danmaku.bottm }} style=\"margin-bottom:{{ options.danmaku.bottm }}\"{{ /if }}>\n <div class=\"dplayer-danmaku-item dplayer-danmaku-item--demo\"></div>\n </div>\n <div class=\"dplayer-subtitle\"></div>\n <div class=\"dplayer-bezel\">\n <span class=\"dplayer-bezel-icon\"></span>\n {{ if options.danmaku }}\n <span class=\"dplayer-danloading\">{{ tran('Danmaku is loading') }}</span>\n {{ /if }}\n <span class=\"diplayer-loading-icon\">{{@ icons.loading }}</span>\n </div>\n</div>\n<div class=\"dplayer-controller-mask\"></div>\n<div class=\"dplayer-controller\">\n <div class=\"dplayer-icons dplayer-comment-box\">\n <button class=\"dplayer-icon dplayer-comment-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.pallette }}</span>\n </button>\n <div class=\"dplayer-comment-setting-box\">\n <div class=\"dplayer-comment-setting-color\">\n <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku color') }}</div>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#fff\" checked>\n <span style=\"background: #fff;\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#e54256\">\n <span style=\"background: #e54256\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#ffe133\">\n <span style=\"background: #ffe133\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#64DD17\">\n <span style=\"background: #64DD17\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#39ccff\">\n <span style=\"background: #39ccff\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#D500F9\">\n <span style=\"background: #D500F9\"></span>\n </label>\n </div>\n <div class=\"dplayer-comment-setting-type\">\n <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku type') }}</div>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"1\">\n <span>{{ tran('Top') }}</span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"0\" checked>\n <span>{{ tran('Rolling') }}</span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"2\">\n <span>{{ tran('Bottom') }}</span>\n </label>\n </div>\n </div>\n <input class=\"dplayer-comment-input\" type=\"text\" placeholder=\"{{ tran('Input danmaku, hit Enter') }}\" maxlength=\"30\">\n <button class=\"dplayer-icon dplayer-send-icon\" data-balloon=\"{{ tran('Send') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.send }}</span>\n </button>\n </div>\n <div class=\"dplayer-icons dplayer-icons-left\">\n <button class=\"dplayer-icon dplayer-play-icon\">\n <span class=\"dplayer-icon-content\">{{@ icons.play }}</span>\n </button>\n <div class=\"dplayer-volume\">\n <button class=\"dplayer-icon dplayer-volume-icon\">\n <span class=\"dplayer-icon-content\">{{@ icons.volumeDown }}</span>\n </button>\n <div class=\"dplayer-volume-bar-wrap\" data-balloon-pos=\"up\">\n <div class=\"dplayer-volume-bar\">\n <div class=\"dplayer-volume-bar-inner\" style=\"background: {{ options.theme }};\">\n <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n </div>\n </div>\n </div>\n </div>\n <span class=\"dplayer-time\">\n <span class=\"dplayer-ptime\">0:00</span> /\n <span class=\"dplayer-dtime\">0:00</span>\n </span>\n {{ if options.live }}\n <span class=\"dplayer-live-badge\"><span class=\"dplayer-live-dot\" style=\"background: {{ options.theme }};\"></span>{{ tran('Live') }}</span>\n {{ /if }}\n </div>\n <div class=\"dplayer-icons dplayer-icons-right\">\n {{ if options.video.quality }}\n <div class=\"dplayer-quality\">\n <button class=\"dplayer-icon dplayer-quality-icon\">{{ options.video.quality[options.video.defaultQuality].name }}</button>\n <div class=\"dplayer-quality-mask\">\n <div class=\"dplayer-quality-list\">\n {{ each options.video.quality }}\n <div class=\"dplayer-quality-item\" data-index=\"{{ $index }}\">{{ $value.name }}</div>\n {{ /each }}\n </div>\n </div>\n </div>\n {{ /if }}\n {{ if options.screenshot }}\n <div class=\"dplayer-icon dplayer-camera-icon\" data-balloon=\"{{ tran('Screenshot') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.camera }}</span>\n </div>\n {{ /if }}\n <div class=\"dplayer-comment\">\n <button class=\"dplayer-icon dplayer-comment-icon\" data-balloon=\"{{ tran('Send danmaku') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.comment }}</span>\n </button>\n </div>\n {{ if options.subtitle }}\n <div class=\"dplayer-subtitle-btn\">\n <button class=\"dplayer-icon dplayer-subtitle-icon\" data-balloon=\"{{ tran('Hide subtitle') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n </button>\n </div>\n {{ /if }}\n <div class=\"dplayer-setting\">\n <button class=\"dplayer-icon dplayer-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.setting }}</span>\n </button>\n <div class=\"dplayer-setting-box\">\n <div class=\"dplayer-setting-origin-panel\">\n <div class=\"dplayer-setting-item dplayer-setting-speed\">\n <span class=\"dplayer-label\">{{ tran('Speed') }}</span>\n <div class=\"dplayer-toggle\">{{@ icons.right }}</div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-loop\">\n <span class=\"dplayer-label\">{{ tran('Loop') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-toggle-setting-input\" type=\"checkbox\" name=\"dplayer-toggle\">\n <label for=\"dplayer-toggle\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-showdan\">\n <span class=\"dplayer-label\">{{ tran('Show danmaku') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-showdan-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-dan\">\n <label for=\"dplayer-toggle-dan\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-danunlimit\">\n <span class=\"dplayer-label\">{{ tran('Unlimited danmaku') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-danunlimit-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-danunlimit\">\n <label for=\"dplayer-toggle-danunlimit\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-danmaku\">\n <span class=\"dplayer-label\">{{ tran('Opacity for danmaku') }}</span>\n <div class=\"dplayer-danmaku-bar-wrap\">\n <div class=\"dplayer-danmaku-bar\">\n <div class=\"dplayer-danmaku-bar-inner\">\n <span class=\"dplayer-thumb\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"dplayer-setting-speed-panel\">\n <div class=\"dplayer-setting-speed-item\" data-speed=\"0.5\">\n <span class=\"dplayer-label\">0.5</span>\n </div>\n <div class=\"dplayer-setting-speed-item\" data-speed=\"0.75\">\n <span class=\"dplayer-label\">0.75</span>\n </div>\n <div class=\"dplayer-setting-speed-item\" data-speed=\"1\">\n <span class=\"dplayer-label\">{{ tran('Normal') }}</span>\n </div>\n <div class=\"dplayer-setting-speed-item\" data-speed=\"1.25\">\n <span class=\"dplayer-label\">1.25</span>\n </div>\n <div class=\"dplayer-setting-speed-item\" data-speed=\"1.5\">\n <span class=\"dplayer-label\">1.5</span>\n </div>\n <div class=\"dplayer-setting-speed-item\" data-speed=\"2\">\n <span class=\"dplayer-label\">2</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"dplayer-full\">\n <button class=\"dplayer-icon dplayer-full-in-icon\" data-balloon=\"{{ tran('Web full screen') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.fullWeb }}</span>\n </button>\n <button class=\"dplayer-icon dplayer-full-icon\" data-balloon=\"{{ tran('Full screen') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.full }}</span>\n </button>\n </div>\n </div>\n <div class=\"dplayer-bar-wrap\">\n <div class=\"dplayer-bar-time hidden\">00:00</div>\n <div class=\"dplayer-bar-preview\"></div>\n <div class=\"dplayer-bar\">\n <div class=\"dplayer-loaded\" style=\"width: 0;\"></div>\n <div class=\"dplayer-played\" style=\"width: 0; background: {{ options.theme }}\">\n <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"dplayer-info-panel dplayer-info-panel-hide\">\n <div class=\"dplayer-info-panel-close\">[x]</div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-version\">\n <span class=\"dplayer-info-panel-item-title\">Player version</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-fps\">\n <span class=\"dplayer-info-panel-item-title\">Player FPS</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-type\">\n <span class=\"dplayer-info-panel-item-title\">Video type</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-url\">\n <span class=\"dplayer-info-panel-item-title\">Video url</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-resolution\">\n <span class=\"dplayer-info-panel-item-title\">Video resolution</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-duration\">\n <span class=\"dplayer-info-panel-item-title\">Video duration</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n {{ if options.danmaku }}\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-id\">\n <span class=\"dplayer-info-panel-item-title\">Danamku id</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-api\">\n <span class=\"dplayer-info-panel-item-title\">Danamku api</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount\">\n <span class=\"dplayer-info-panel-item-title\">Danamku amount</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n {{ /if }}\n</div>\n<div class=\"dplayer-menu\">\n {{ each options.contextmenu }}\n <div class=\"dplayer-menu-item\">\n <a{{ if $value.link }} target=\"_blank\"{{ /if }} href=\"{{ $value.link || 'javascript:void(0);' }}\">{{ tran($value.text) }}</a>\n </div>\n {{ /each }}\n</div>\n<div class=\"dplayer-notice\"></div>","var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../node_modules/postcss-loader/src/index.js??ref--5-2!../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nexports.i(require(\"-!../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../node_modules/postcss-loader/src/index.js??ref--5-2!../../node_modules/balloon-css/balloon.css\"), \"\");\n// Module\nexports.push([module.id, \"@-webkit-keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg circle,.dplayer svg path{fill:#fff}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding:0;transform:translate(0)}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-arrow .dplayer-icon{margin:0 -3px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running;animation-play-state:running}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku,.dplayer.dplayer-loading .dplayer-danmaku-move,.dplayer.dplayer-paused .dplayer-danmaku,.dplayer.dplayer-paused .dplayer-danmaku-move{-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:static;display:inline-block}.dplayer.dplayer-mobile .dplayer-bar-time{display:none}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:rgba(17,17,17,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight{display:block;width:8px;transform:translateX(-4px);top:4px;height:40%}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight{z-index:12;position:absolute;top:5px;width:6px;height:20%;border-radius:6px;background-color:#fff;text-align:center;transform:translateX(-3px);transition:all .2s ease-in-out}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text{display:block}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-preview,.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-time{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:rgba(0,0,0,.62);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;transform:translateX(-50%)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:16000px 100%}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{transform:scale(1)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;box-sizing:border-box;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;box-sizing:border-box;width:100%;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear{display:none}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:\\\"\\\";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-setting,.dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;box-sizing:border-box;cursor:pointer;position:relative}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;background:#aaa;will-change:width}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;background:#aaa}.dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:\\\"\\\";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;transform:translateX(100%)}.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{transform:translateX(100%)}}@keyframes danmaku{0%{transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-bottom,.dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer-menu.dplayer-menu-show{display:block}.dplayer-menu .dplayer-menu-item{height:30px;box-sizing:border-box;cursor:pointer}.dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}.dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer-info-panel{position:absolute;top:10px;left:10px;width:400px;background:rgba(28,28,28,.8);padding:10px;color:#fff;font-size:12px;border-radius:2px}.dplayer-info-panel-hide{display:none}.dplayer-info-panel .dplayer-info-panel-close{cursor:pointer;position:absolute;right:10px;top:10px}.dplayer-info-panel .dplayer-info-panel-item>span{display:inline-block;vertical-align:middle;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-info-panel .dplayer-info-panel-item-title{width:100px;text-align:right;margin-right:10px}.dplayer-info-panel .dplayer-info-panel-item-data{width:260px}\", \"\"]);\n","exports = module.exports = require(\"../css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \":root{--balloon-color:rgba(16,16,16,0.95);--balloon-font-size:12px;--balloon-move:4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:#fff;content:attr(aria-label);padding:.5em 1em;white-space:nowrap}[aria-label][data-balloon-pos]:after,[aria-label][data-balloon-pos]:before{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top:5px solid var(--balloon-color);content:\\\"\\\"}[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-visible]:before{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:after,[aria-label][data-balloon-pos][data-balloon-blunt]:before{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:before{bottom:100%;left:50%;transform:translate(-50%,var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:after{bottom:100%;left:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:before{bottom:100%;left:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:after{bottom:100%;right:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:before{bottom:100%;right:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after{left:50%;margin-top:10px;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:50%;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:after{left:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:after{right:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);right:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px;right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left:5px solid var(--balloon-color);right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{left:100%;margin-left:10px;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right:5px solid var(--balloon-color);left:100%;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-length=small]:after{white-space:normal;width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{white-space:normal;width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{white-space:normal;width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{white-space:normal;width:100%}\", \"\"]);\n","\"use strict\";\n\nvar stylesInDom = {};\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nfunction listToStyles(list, options) {\n var styles = [];\n var newStyles = {};\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var css = item[1];\n var media = item[2];\n var sourceMap = item[3];\n var part = {\n css: css,\n media: media,\n sourceMap: sourceMap\n };\n\n if (!newStyles[id]) {\n styles.push(newStyles[id] = {\n id: id,\n parts: [part]\n });\n } else {\n newStyles[id].parts.push(part);\n }\n }\n\n return styles;\n}\n\nfunction addStylesToDom(styles, options) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i];\n var domStyle = stylesInDom[item.id];\n var j = 0;\n\n if (domStyle) {\n domStyle.refs++;\n\n for (; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j]);\n }\n\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j], options));\n }\n } else {\n var parts = [];\n\n for (; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j], options));\n }\n\n stylesInDom[item.id] = {\n id: item.id,\n refs: 1,\n parts: parts\n };\n }\n }\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n\n if (typeof options.attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n options.attributes.nonce = nonce;\n }\n }\n\n Object.keys(options.attributes).forEach(function (key) {\n style.setAttribute(key, options.attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n options.attributes = typeof options.attributes === 'object' ? options.attributes : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n var styles = listToStyles(list, options);\n addStylesToDom(styles, options);\n return function update(newList) {\n var mayRemove = [];\n\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i];\n var domStyle = stylesInDom[item.id];\n\n if (domStyle) {\n domStyle.refs--;\n mayRemove.push(domStyle);\n }\n }\n\n if (newList) {\n var newStyles = listToStyles(newList, options);\n addStylesToDom(newStyles, options);\n }\n\n for (var _i = 0; _i < mayRemove.length; _i++) {\n var _domStyle = mayRemove[_i];\n\n if (_domStyle.refs === 0) {\n for (var j = 0; j < _domStyle.parts.length; j++) {\n _domStyle.parts[j]();\n }\n\n delete stylesInDom[_domStyle.id];\n }\n }\n };\n};","var apply = Function.prototype.apply;\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {\n};\nTimeout.prototype.close = function () {\n this._clearFn.call(window, this._id);\n};\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\nrequire('setimmediate');\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;","(function (global, undefined) {\n 'use strict';\n if (global.setImmediate) {\n return;\n }\n var nextHandle = 1;\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n function setImmediate(callback) {\n if (typeof callback !== 'function') {\n callback = new Function('' + callback);\n }\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n function runIfPresent(handle) {\n if (currentlyRunningATask) {\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n function canUsePostMessage() {\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n global.postMessage('', '*');\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n function installPostMessageImplementation() {\n var messagePrefix = 'setImmediate$' + Math.random() + '$';\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n if (global.addEventListener) {\n global.addEventListener('message', onGlobalMessage, false);\n } else {\n global.attachEvent('onmessage', onGlobalMessage);\n }\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, '*');\n };\n }\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function registerImmediate(handle) {\n var script = doc.createElement('script');\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n function installSetTimeoutImplementation() {\n registerImmediate = function registerImmediate(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n if ({}.toString.call(global.process) === '[object process]') {\n installNextTickImplementation();\n } else if (canUsePostMessage()) {\n installPostMessageImplementation();\n } else if (global.MessageChannel) {\n installMessageChannelImplementation();\n } else if (doc && 'onreadystatechange' in doc.createElement('script')) {\n installReadyStateChangeImplementation();\n } else {\n installSetTimeoutImplementation();\n }\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === 'undefined' ? typeof global === 'undefined' ? this : global : self));","'use strict';\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n utils.extend(instance, Axios.prototype, context);\n utils.extend(instance, context);\n return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\nmodule.exports = axios;\nmodule.exports['default'] = axios;","module.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\nAxios.prototype.request = function request(config) {\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get';\n var chain = [\n dispatchRequest,\n undefined\n ];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n};\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\nutils.forEach([\n 'delete',\n 'get',\n 'head',\n 'options'\n], function forEachMethodNoData(method) {\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\nvar utils = require('./../utils');\nfunction InterceptorManager() {\n this.handlers = [];\n}\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\nmodule.exports = InterceptorManager;","'use strict';\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n config.headers = config.headers || {};\n config.data = transformData(config.data, config.headers, config.transformRequest);\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach([\n 'delete',\n 'get',\n 'head',\n 'post',\n 'put',\n 'patch',\n 'common'\n ], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n return Promise.reject(reason);\n });\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = function transformData(data, headers, fns) {\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\nvar createError = require('./createError');\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n error.toJSON = function () {\n return {\n message: this.message,\n name: this.name,\n description: this.description,\n number: this.number,\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n config: this.config,\n code: this.code\n };\n };\n return error;\n};","'use strict';\nvar utils = require('./../utils');\nvar ignoreDuplicateOf = [\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent'\n];\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n if (!headers) {\n return parsed;\n }\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n function resolveURL(url) {\n var href = url;\n if (msie) {\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n urlParsingNode.setAttribute('href', href);\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n originURL = resolveURL(window.location.href);\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : function nonStandardBrowserEnv() {\n return {\n write: function write() {\n },\n read: function read() {\n return null;\n },\n remove: function remove() {\n }\n };\n}();","'use strict';\nmodule.exports = function isAbsoluteURL(url) {\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\nvar Cancel = require('./Cancel');\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n return;\n }\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\nmodule.exports = CancelToken;","'use strict';\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","'use strict';\nvar globalThis = typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\nvar runtime = Object.create(globalThis);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n if (Array.isArray(data)) {\n for (var i = 0, len = data.length; i < len; i++) {\n callback(data[i], i);\n }\n } else {\n for (var _i in data) {\n callback(data[_i], _i);\n }\n }\n};\nfunction toString(value) {\n if (typeof value !== 'string') {\n if (value === undefined || value === null) {\n value = '';\n } else if (typeof value === 'function') {\n value = toString(value.call(value));\n } else {\n value = JSON.stringify(value);\n }\n }\n return value;\n}\nfunction xmlEscape(content) {\n var html = '' + content;\n var regexResult = ESCAPE_REG.exec(html);\n if (!regexResult) {\n return content;\n }\n var result = '';\n var i = void 0, lastIndex = void 0, _char = void 0;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34:\n _char = '"';\n break;\n case 38:\n _char = '&';\n break;\n case 39:\n _char = ''';\n break;\n case 60:\n _char = '<';\n break;\n case 62:\n _char = '>';\n break;\n default:\n continue;\n }\n if (lastIndex !== i) {\n result += html.substring(lastIndex, i);\n }\n lastIndex = i + 1;\n result += _char;\n }\n if (lastIndex !== i) {\n return result + html.substring(lastIndex, i);\n } else {\n return result;\n }\n}\nmodule.exports = runtime;","var isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n second = second || 0;\n if (second === 0 || second == Infinity || second.toString() === 'NaN') {\n return '00:00';\n }\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getBoundingClientRectViewLeft: function getBoundingClientRectViewLeft(element) {\n var scrollTop = window.scrollY || window.pageYOffset || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0);\n if (element.getBoundingClientRect) {\n if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {\n var temp = document.createElement('div');\n temp.style.cssText = 'position:absolute;top:0;left:0;';\n document.body.appendChild(temp);\n this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;\n document.body.removeChild(temp);\n temp = null;\n }\n var rect = element.getBoundingClientRect();\n var offset = this.getBoundingClientRectViewLeft.offset;\n return rect.left + offset;\n } else {\n return this.getElementViewLeft(element);\n }\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === void 0 ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === void 0 ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: isMobile,\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n color2Number: function color2Number(color) {\n if (color[0] === '#') {\n color = color.substr(1);\n }\n if (color.length === 3) {\n color = ''.concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n }\n return parseInt(color, 16) + 0 & 16777215;\n },\n number2Color: function number2Color(number) {\n return '#' + ('00000' + number.toString(16)).slice(-6);\n },\n number2Type: function number2Type(number) {\n switch (number) {\n case 0:\n return 'right';\n case 1:\n return 'top';\n case 2:\n return 'bottom';\n default:\n return 'right';\n }\n }\n};\nexport default utils;","import axios from 'axios';\nexport default {\n send: function send(options) {\n axios.post(options.url, options.data).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data);\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n },\n read: function read(options) {\n axios.get(options.url).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data.data.map(function (item) {\n return {\n time: item[0],\n type: item[1],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n }));\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n }\n};","function _typeof(obj) {\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nimport defaultApiBackend from './api.js';\nexport default function (options) {\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'metadata',\n volume: 0.7,\n apiBackend: defaultApiBackend,\n video: {},\n contextmenu: [],\n mutex: true,\n pluginOptions: {\n hls: {},\n flvjs: {},\n dash: {},\n webtorrent: {}\n }\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = options.video.quality[options.video.defaultQuality].url;\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'Video info',\n click: function click(player) {\n player.infoPanel.triggle();\n }\n },\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'DPlayer v'.concat(DPLAYER_VERSION),\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};","function i18n(lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n}\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'Video load failed': '视频加载失败',\n 'Danmaku load failed': '弹幕加载失败',\n 'Danmaku send failed': '弹幕发送失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n 'Volume': '音量',\n 'Live': '直播',\n 'Video info': '视频统计信息'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕載入中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見回饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕內容啊\\uFF01',\n 'Set danmaku color': '設定彈幕顏色',\n 'Set danmaku type': '設定彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'Video load failed': '影片載入失敗',\n 'Danmaku load failed': '彈幕載入失敗',\n 'Danmaku send failed': '彈幕發送失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '巨量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設定',\n 'Full screen': '全螢幕',\n 'Web full screen': '頁面全螢幕',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n 'Volume': '音量',\n 'Live': '直播',\n 'Video info': '影片統計訊息'\n }\n};\nexport default i18n;","import play from '../assets/play.svg';\nimport pause from '../assets/pause.svg';\nimport volumeUp from '../assets/volume-up.svg';\nimport volumeDown from '../assets/volume-down.svg';\nimport volumeOff from '../assets/volume-off.svg';\nimport full from '../assets/full.svg';\nimport fullWeb from '../assets/full-web.svg';\nimport setting from '../assets/setting.svg';\nimport right from '../assets/right.svg';\nimport comment from '../assets/comment.svg';\nimport commentOff from '../assets/comment-off.svg';\nimport send from '../assets/send.svg';\nimport pallette from '../assets/pallette.svg';\nimport camera from '../assets/camera.svg';\nimport subtitle from '../assets/subtitle.svg';\nimport loading from '../assets/loading.svg';\nvar Icons = {\n play: play,\n pause: pause,\n volumeUp: volumeUp,\n volumeDown: volumeDown,\n volumeOff: volumeOff,\n full: full,\n fullWeb: fullWeb,\n setting: setting,\n right: right,\n comment: comment,\n commentOff: commentOff,\n send: send,\n pallette: pallette,\n camera: camera,\n subtitle: subtitle,\n loading: loading\n};\nexport default Icons;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport Icons from './icons';\nimport tplPlayer from '../template/player.art';\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.init();\n }\n _createClass(Template, [{\n key: 'init',\n value: function init() {\n this.container.innerHTML = tplPlayer({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: Icons,\n video: {\n current: true,\n pic: this.options.video.pic,\n screenshot: this.options.screenshot,\n preload: this.options.preload,\n url: this.options.video.url,\n subtitle: this.options.subtitle\n }\n });\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n }\n }]);\n return Template;\n}();\nexport default Template;","function _typeof(obj) {\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl;\n if (this.options.api.maximum) {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id, '&max=').concat(this.options.api.maximum);\n } else {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id);\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var _loop = function _loop(i) {\n _this2.options.apiBackend.read({\n url: endpoints[i],\n success: function success(data) {\n results[i] = data;\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n },\n error: function error(msg) {\n _this2.options.error(msg || _this2.options.tran('Danmaku load failed'));\n results[i] = [];\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n }\n });\n };\n for (var i = 0; i < endpoints.length; ++i) {\n _loop(i);\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var _this3 = this;\n var danmakuData = {\n token: this.options.api.token,\n id: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send({\n url: this.options.api.address + 'v3/',\n data: danmakuData,\n success: callback,\n error: function error(msg) {\n _this3.options.error(msg || _this3.options.tran('Danmaku send failed'));\n }\n });\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid '.concat(this.options.borderColor)\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this4 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this4.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this5 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this5.container.getBoundingClientRect().right + eleWidth;\n return _this5.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop2 = function _loop2(i) {\n var item = _this5.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this5.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this5.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this5.unlimited || i < itemY; i++) {\n var _ret = _loop2(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if (_typeof(_ret) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop3 = function _loop3(i) {\n dan[i].type = utils.number2Type(dan[i].type);\n if (!dan[i].color) {\n dan[i].color = 16777215;\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-'.concat(dan[i].type));\n if (dan[i].border) {\n item.innerHTML = '<span style=\"border:'.concat(dan[i].border, '\">').concat(dan[i].text, '</span>');\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this5._opacity;\n item.style.color = utils.number2Color(dan[i].color);\n item.addEventListener('animationend', function () {\n _this5.container.removeChild(item);\n });\n var itemWidth = _this5._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: '.concat(dan[i].type));\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop3(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(_boolean) {\n this.unlimited = _boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nexport default Danmaku;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: '.concat(name));\n return null;\n }\n }\n ]);\n return Events;\n}();\nexport default Events;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.lastScrollPosition = {\n left: 0,\n top: 0\n };\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n utils.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n var docfullscreenchange = function docfullscreenchange() {\n var fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n if (fullEle && fullEle !== _this.player.container) {\n return;\n }\n _this.player.resize();\n if (fullEle) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n if (/Firefox/.test(navigator.userAgent)) {\n document.addEventListener('mozfullscreenchange', docfullscreenchange);\n document.addEventListener('fullscreenchange', docfullscreenchange);\n } else {\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n document.addEventListener('msfullscreenchange', docfullscreenchange);\n document.addEventListener('MSFullscreenChange', docfullscreenchange);\n }\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = utils.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n } else if (this.player.video.webkitEnterFullScreen) {\n this.player.video.webkitEnterFullScreen();\n } else if (this.player.container.msRequestFullscreen) {\n this.player.container.msRequestFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n } else if (document.webkitCancelFullscreen) {\n document.webkitCancelFullscreen();\n } else if (document.msCancelFullScreen) {\n document.msCancelFullScreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nexport default FullScreen;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this['default'] = {\n opacity: 0.7,\n volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(utils.storage.get(name) || this['default'][item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n utils.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexport default User;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n _this.container.innerHTML = '';\n if (cue) {\n var template = document.createElement('div');\n template.appendChild(cue.getCueAsHTML());\n var trackHtml = template.innerHTML.split(/\\r?\\n/).map(function (item) {\n return '<p>'.concat(item, '</p>');\n }).join('');\n _this.container.innerHTML = trackHtml;\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nexport default Subtitle;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexport default Bar;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'info',\n 'fps'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n if (item !== 'fps') {\n _this['init'.concat(item, 'Checker')]();\n }\n return item;\n });\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this2 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this2.enableloadingChecker) {\n currentPlayPos = _this2.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initfpsChecker',\n value: function initfpsChecker() {\n var _this3 = this;\n window.requestAnimationFrame(function () {\n if (_this3.enablefpsChecker) {\n _this3.initfpsChecker();\n if (!_this3.fpsStart) {\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n } else {\n _this3.fpsIndex++;\n var fpsCurrent = new Date();\n if (fpsCurrent - _this3.fpsStart > 1000) {\n _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n }\n }\n } else {\n _this3.fpsStart = 0;\n _this3.fpsIndex = 0;\n }\n });\n }\n },\n {\n key: 'initinfoChecker',\n value: function initinfoChecker() {\n var _this4 = this;\n this.infoChecker = setInterval(function () {\n if (_this4.enableinfoChecker) {\n _this4.player.infoPanel.update();\n }\n }, 1000);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable'.concat(type, 'Checker')] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable'.concat(type, 'Checker')] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this5 = this;\n this.types.map(function (item) {\n _this5['enable'.concat(item, 'Checker')] = false;\n _this5[''.concat(item, 'Checker')] && clearInterval(_this5[''.concat(item, 'Checker')]);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexport default Timer;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nexport default Bezel;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\''.concat(options.url, '\\')');\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height, barWrapWidth) {\n this.container.style.width = ''.concat(width, 'px');\n this.container.style.height = ''.concat(height, 'px');\n this.container.style.top = ''.concat(-height + 2, 'px');\n this.barWidth = barWrapWidth;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-'.concat((Math.ceil(position / this.barWidth * 100) - 1) * 160, 'px 0');\n this.container.style.left = ''.concat(Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150), 'px');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nexport default Thumbnails;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nimport Thumbnails from './thumbnails';\nimport Icons from './icons';\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!utils.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n this.player.on('play', function () {\n _this.setAutoHide();\n });\n this.player.on('pause', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n this.initHighlights();\n if (!utils.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!utils.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initHighlights',\n value: function initHighlights() {\n var _this3 = this;\n this.player.on('durationchange', function () {\n if (_this3.player.video.duration !== 1 && _this3.player.video.duration !== Infinity) {\n if (_this3.player.options.highlight) {\n var highlights = document.querySelectorAll('.dplayer-highlight');\n [].slice.call(highlights, 0).forEach(function (item) {\n _this3.player.template.playedBarWrap.removeChild(item);\n });\n for (var i = 0; i < _this3.player.options.highlight.length; i++) {\n if (!_this3.player.options.highlight[i].text || !_this3.player.options.highlight[i].time) {\n continue;\n }\n var p = document.createElement('div');\n p.classList.add('dplayer-highlight');\n p.style.left = _this3.player.options.highlight[i].time / _this3.player.video.duration * 100 + '%';\n p.innerHTML = '<span class=\"dplayer-highlight-text\">' + _this3.player.options.highlight[i].text + '</span>';\n _this3.player.template.playedBarWrap.insertBefore(p, _this3.player.template.playedBarTime);\n }\n }\n }\n });\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this4 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new Thumbnails({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this4.thumbnails.resize(160, _this4.player.video.videoHeight / _this4.player.video.videoWidth * 160, _this4.player.template.barWrap.offsetWidth);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this5 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this5.player.bar.set('played', percentage, 'width');\n _this5.player.template.ptime.innerHTML = utils.secondToTime(percentage * _this5.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(utils.nameMap.dragEnd, thumbUp);\n document.removeEventListener(utils.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this5.player.bar.set('played', percentage, 'width');\n _this5.player.seek(_this5.player.bar.get('played') * _this5.player.video.duration);\n _this5.player.timer.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, function () {\n _this5.player.timer.disable('progress');\n document.addEventListener(utils.nameMap.dragMove, thumbMove);\n document.addEventListener(utils.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragMove, function (e) {\n if (_this5.player.video.duration) {\n var px = utils.cumulativeOffset(_this5.player.template.playedBarWrap).left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this5.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this5.player.video.duration * (tx / _this5.player.template.playedBarWrap.offsetWidth);\n if (utils.isMobile) {\n _this5.thumbnails && _this5.thumbnails.show();\n }\n _this5.thumbnails && _this5.thumbnails.move(tx);\n _this5.player.template.playedBarTime.style.left = ''.concat(tx - (time >= 3600 ? 25 : 20), 'px');\n _this5.player.template.playedBarTime.innerText = utils.secondToTime(time);\n _this5.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragEnd, function () {\n if (utils.isMobile) {\n _this5.thumbnails && _this5.thumbnails.hide();\n }\n });\n if (!utils.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this5.player.video.duration) {\n _this5.thumbnails && _this5.thumbnails.show();\n _this5.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this5.player.video.duration) {\n _this5.thumbnails && _this5.thumbnails.hide();\n _this5.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this6 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this6.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this6.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this7 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this7.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(utils.nameMap.dragEnd, volumeUp);\n document.removeEventListener(utils.nameMap.dragMove, volumeMove);\n _this7.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this7.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, volumeMove);\n document.addEventListener(utils.nameMap.dragEnd, volumeUp);\n _this7.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeButtonIcon.addEventListener('click', function () {\n if (_this7.player.video.muted) {\n _this7.player.video.muted = false;\n _this7.player.switchVolumeIcon();\n _this7.player.bar.set('volume', _this7.player.volume(), 'width');\n } else {\n _this7.player.video.muted = true;\n _this7.player.template.volumeIcon.innerHTML = Icons.volumeOff;\n _this7.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this8 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this8.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this9 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this9.player.video.videoWidth;\n canvas.height = _this9.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this9.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL;\n canvas.toBlob(function (blob) {\n dataURL = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = dataURL;\n link.download = 'DPlayer.png';\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(dataURL);\n });\n _this9.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this10 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Hide subtitle');\n _this10.player.template.subtitleButtonInner.style.opacity = '';\n _this10.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Show subtitle');\n _this10.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this10.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this10.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this11 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this11.player.video.played.length && !_this11.player.paused && !_this11.disableAutoHide) {\n _this11.hide();\n }\n }, 3000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment && this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexport default Controller;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Setting = function () {\n function Setting(player) {\n var _this = this;\n _classCallCheck(this, Setting);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener(utils.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(utils.nameMap.dragMove, danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, danmakuMove);\n document.addEventListener(utils.nameMap.dragEnd, danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(Setting, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return Setting;\n}();\nexport default Setting;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: utils.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nexport default Comment;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nexport default HotKey;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.shown = false;\n Array.prototype.slice.call(this.player.template.menuItem).forEach(function (item, index) {\n if (_this.player.options.contextmenu[index].click) {\n item.addEventListener('click', function () {\n _this.player.options.contextmenu[index].click(_this.player);\n _this.hide();\n });\n }\n });\n this.player.container.addEventListener('contextmenu', function (e) {\n if (_this.shown) {\n _this.hide();\n return;\n }\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.shown = true;\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.shown = false;\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexport default ContextMenu;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar InfoPanel = function () {\n function InfoPanel(player) {\n var _this = this;\n _classCallCheck(this, InfoPanel);\n this.container = player.template.infoPanel;\n this.template = player.template;\n this.video = player.video;\n this.player = player;\n this.template.infoPanelClose.addEventListener('click', function () {\n _this.hide();\n });\n }\n _createClass(InfoPanel, [\n {\n key: 'show',\n value: function show() {\n this.beginTime = Date.now();\n this.update();\n this.player.timer.enable('info');\n this.player.timer.enable('fps');\n this.container.classList.remove('dplayer-info-panel-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.timer.disable('info');\n this.player.timer.disable('fps');\n this.container.classList.add('dplayer-info-panel-hide');\n }\n },\n {\n key: 'triggle',\n value: function triggle() {\n if (this.container.classList.contains('dplayer-info-panel-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n },\n {\n key: 'update',\n value: function update() {\n this.template.infoVersion.innerHTML = 'v'.concat(DPLAYER_VERSION, ' ').concat(GIT_HASH);\n this.template.infoType.innerHTML = this.player.type;\n this.template.infoUrl.innerHTML = this.player.options.video.url;\n this.template.infoResolution.innerHTML = ''.concat(this.player.video.videoWidth, ' x ').concat(this.player.video.videoHeight);\n this.template.infoDuration.innerHTML = this.player.video.duration;\n if (this.player.options.danmaku) {\n this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n }\n }\n },\n {\n key: 'fps',\n value: function fps(value) {\n this.template.infoFPS.innerHTML = ''.concat(value.toFixed(1));\n }\n }\n ]);\n return InfoPanel;\n}();\nexport default InfoPanel;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport Promise from 'promise-polyfill';\nimport utils from './utils';\nimport handleOption from './options';\nimport i18n from './i18n';\nimport Template from './template';\nimport Icons from './icons';\nimport Danmaku from './danmaku';\nimport Events from './events';\nimport FullScreen from './fullscreen';\nimport User from './user';\nimport Subtitle from './subtitle';\nimport Bar from './bar';\nimport Timer from './timer';\nimport Bezel from './bezel';\nimport Controller from './controller';\nimport Setting from './setting';\nimport Comment from './comment';\nimport HotKey from './hotkey';\nimport ContextMenu from './contextmenu';\nimport InfoPanel from './info-panel';\nimport tplVideo from '../template/video.art';\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = handleOption(_objectSpread({ preload: options.video.type === 'webtorrent' ? 'none' : 'metadata' }, options));\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new i18n(this.options.lang).tran;\n this.events = new Events();\n this.user = new User(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new Template({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran\n });\n this.video = this.template.video;\n this.bar = new Bar(this.template);\n this.bezel = new Bezel(this.template.bezel);\n this.fullScreen = new FullScreen(this);\n this.controller = new Controller(this);\n if (this.options.danmaku) {\n this.danmaku = new Danmaku({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay) {\n _this.play();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events,\n tran: function tran(msg) {\n return _this.tran(msg);\n }\n });\n this.comment = new Comment(this);\n }\n this.setting = new Setting(this);\n this.plugins = {};\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.timer = new Timer(this);\n this.hotkey = new HotKey(this);\n this.contextmenu = new ContextMenu(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n this.infoPanel = new InfoPanel(this);\n if (!this.danmaku && this.options.autoplay) {\n this.play();\n }\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(''.concat(this.tran('FF'), ' ').concat((time - this.video.currentTime).toFixed(0), ' ').concat(this.tran('s')));\n } else if (this.video.currentTime > time) {\n this.notice(''.concat(this.tran('REW'), ' ').concat((this.video.currentTime - time).toFixed(0), ' ').concat(this.tran('s')));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n this.template.ptime.innerHTML = utils.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play() {\n var _this2 = this;\n this.paused = false;\n if (this.video.paused) {\n this.bezel['switch'](Icons.play);\n }\n this.template.playButton.innerHTML = Icons.pause;\n var playedPromise = Promise.resolve(this.video.play());\n playedPromise['catch'](function () {\n _this2.pause();\n }).then(function () {\n });\n this.timer.enable('loading');\n this.container.classList.remove('dplayer-paused');\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel['switch'](Icons.pause);\n }\n this.template.playButton.innerHTML = Icons.play;\n this.video.pause();\n this.timer.disable('loading');\n this.container.classList.remove('dplayer-playing');\n this.container.classList.add('dplayer-paused');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = Icons.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = Icons.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = Icons.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = ''.concat((percentage * 100).toFixed(0), '%');\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(''.concat(this.tran('Volume'), ' ').concat((percentage * 100).toFixed(0), '%'));\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n var _this3 = this;\n this.type = type;\n if (this.options.video.customType && this.options.video.customType[type]) {\n if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n this.options.video.customType[type](this.video, this);\n } else {\n console.error('Illegal customType: '.concat(type));\n }\n } else {\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n this.type = 'normal';\n }\n switch (this.type) {\n case 'hls':\n if (Hls) {\n if (Hls.isSupported()) {\n var options = this.options.pluginOptions.hls;\n var hls = new Hls(options);\n this.plugins.hls = hls;\n hls.loadSource(video.src);\n hls.attachMedia(video);\n this.events.on('destroy', function () {\n hls.destroy();\n delete _this3.plugins.hls;\n });\n } else {\n this.notice('Error: Hls is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Hls.');\n }\n break;\n case 'flv':\n if (flvjs) {\n if (flvjs.isSupported()) {\n var _options = Object.assign(this.options.pluginOptions.flvjs, {\n type: 'flv',\n url: video.src\n });\n var flvPlayer = flvjs.createPlayer(_options);\n this.plugins.flvjs = flvPlayer;\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n this.events.on('destroy', function () {\n flvPlayer.unload();\n flvPlayer.detachMediaElement();\n flvPlayer.destroy();\n delete _this3.plugins.flvjs;\n });\n } else {\n this.notice('Error: flvjs is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find flvjs.');\n }\n break;\n case 'dash':\n if (dashjs) {\n var dashjsPlayer = dashjs.MediaPlayer().create().initialize(video, video.src, false);\n var _options2 = this.options.pluginOptions.dash;\n dashjsPlayer.updateSettings(_options2);\n this.plugins.dash = dashjsPlayer;\n this.events.on('destroy', function () {\n dashjs.MediaPlayer().reset();\n delete _this3.plugins.dash;\n });\n } else {\n this.notice('Error: Can\\'t find dashjs.');\n }\n break;\n case 'webtorrent':\n if (WebTorrent) {\n if (WebTorrent.WEBRTC_SUPPORT) {\n this.container.classList.add('dplayer-loading');\n var _options3 = this.options.pluginOptions.webtorrent;\n var client = new WebTorrent(_options3);\n this.plugins.webtorrent = client;\n var torrentId = video.src;\n video.src = '';\n video.preload = 'metadata';\n video.addEventListener('durationchange', function () {\n return _this3.container.classList.remove('dplayer-loading');\n }, { once: true });\n client.add(torrentId, function (torrent) {\n var file = torrent.files.find(function (file) {\n return file.name.endsWith('.mp4');\n });\n file.renderTo(_this3.video, { autoplay: _this3.options.autoplay });\n });\n this.events.on('destroy', function () {\n client.remove(torrentId);\n client.destroy();\n delete _this3.plugins.webtorrent;\n });\n } else {\n this.notice('Error: Webtorrent is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Webtorrent.');\n }\n break;\n }\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this4 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1 && video.duration !== Infinity) {\n _this4.template.dtime.innerHTML = utils.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this4.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n if (!_this4.video.error) {\n return;\n }\n _this4.tran && _this4.notice && _this4.type !== 'webtorrent' && _this4.notice(_this4.tran('Video load failed'), -1);\n });\n this.on('ended', function () {\n _this4.bar.set('played', 1, 'width');\n if (!_this4.setting.loop) {\n _this4.pause();\n } else {\n _this4.seek(0);\n _this4.play();\n }\n if (_this4.danmaku) {\n _this4.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this4.paused) {\n _this4.play();\n }\n });\n this.on('pause', function () {\n if (!_this4.paused) {\n _this4.pause();\n }\n });\n this.on('timeupdate', function () {\n _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n var currentTime = utils.secondToTime(_this4.video.currentTime);\n if (_this4.template.ptime.innerHTML !== currentTime) {\n _this4.template.ptime.innerHTML = currentTime;\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this4.events.videoEvents[i], function () {\n _this4.events.trigger(_this4.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this5 = this;\n index = typeof index === 'string' ? parseInt(index) : index;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = tplVideo({\n current: false,\n pic: null,\n screenshot: this.options.screenshot,\n preload: 'auto',\n url: this.quality.url,\n subtitle: this.options.subtitle\n });\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(''.concat(this.tran('Switching to'), ' ').concat(this.quality.name, ' ').concat(this.tran('quality')), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this5.prevVideo) {\n if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n _this5.seek(_this5.prevVideo.currentTime);\n return;\n }\n _this5.template.videoWrap.removeChild(_this5.prevVideo);\n _this5.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this5.video.play();\n }\n _this5.prevVideo = null;\n _this5.notice(''.concat(_this5.tran('Switched to'), ' ').concat(_this5.quality.name, ' ').concat(_this5.tran('quality')));\n _this5.switchingQuality = false;\n _this5.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n if (time > 0) {\n this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n if (this.controller.thumbnails) {\n this.controller.thumbnails.resize(160, this.video.videoHeight / this.video.videoWidth * 160, this.template.barWrap.offsetWidth);\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.video.playbackRate = rate;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.timer.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n }\n }\n ], [{\n key: 'version',\n get: function get() {\n return DPLAYER_VERSION;\n }\n }]);\n return DPlayer;\n}();\nexport default DPlayer;","import '../css/index.scss';\nimport DPlayer from './player';\nconsole.log('\\n'.concat(' %c DPlayer v', DPLAYER_VERSION, ' ').concat(GIT_HASH, ' %c http://dplayer.js.org ', '\\n', '\\n'), 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexport default DPlayer;"],"sourceRoot":""}
|