diff --git a/.eslintrc b/.eslintrc index bcf71f6..d71103e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,7 @@ { "extends": "eslint:recommended", "parserOptions": { - "ecmaVersion": 6, + "ecmaVersion": 10, "sourceType": "module" }, "env": { diff --git a/dist/DPlayer.min.css b/dist/DPlayer.min.css index 4600e20..6491348 100644 --- a/dist/DPlayer.min.css +++ b/dist/DPlayer.min.css @@ -1,4 +1,4 @@ -button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%} -@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);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;-webkit-transform:translate(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;-webkit-transform:translateY(100%);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;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);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;-webkit-transform-origin:4px 4px;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;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);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{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight{display:block;width:8px;-webkit-transform:translateX(-4px);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;-webkit-transform:translateX(-3px);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;-webkit-transform:translateX(-50%);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;-webkit-transform:scale(0);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;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);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{-webkit-transform:scale(1);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{-webkit-transform:scale(1);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;-webkit-transform:scale(0);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;-webkit-transform:scale(0);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{-webkit-transform:scale(1);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;-webkit-transform:translateX(100%);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%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);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} +button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opacity=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon]:not([data-balloon-pos]):after{bottom:100%;left:50%;margin-bottom:11px;transform:translate(-50%,10px);transform-origin:top}[data-balloon]:not([data-balloon-pos]):before{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%,10px);transform-origin:top}[data-balloon]:not([data-balloon-pos]):hover:after,[data-balloon]:not([data-balloon-pos]):hover:before,[data-balloon]:not([data-balloon-pos])[data-balloon-visible]:after,[data-balloon]:not([data-balloon-pos])[data-balloon-visible]:before{transform:translate(-50%)}[data-balloon].font-awesome:after{font-family:FontAwesome,sans-serif!important}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{transition:none}[data-balloon][data-balloon-pos=up]:after{bottom:100%;left:50%;margin-bottom:11px;transform:translate(-50%,10px);transform-origin:top}[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%,10px);transform-origin:top}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{bottom:100%;left:0;margin-bottom:11px;transform:translateY(10px);transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;left:5px;margin-bottom:5px;transform:translateY(10px);transform-origin:top}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{bottom:100%;right:0;margin-bottom:11px;transform:translateY(10px);transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;right:5px;margin-bottom:5px;transform:translateY(10px);transform-origin:top}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{left:50%;margin-top:11px;top:100%;transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%} +@-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} /*# sourceMappingURL=DPlayer.min.css.map*/ \ No newline at end of file diff --git a/dist/DPlayer.min.css.map b/dist/DPlayer.min.css.map index f8e0f90..d666b93 100644 --- a/dist/DPlayer.min.css.map +++ b/dist/DPlayer.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://[name]/balloon.css","webpack://[name]/index.scss"],"names":[],"mappings":"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","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n -moz-transition: all 0.18s ease-out 0.18s;\n -ms-transition: all 0.18s ease-out 0.18s;\n -o-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n -moz-transition: all 0.18s ease-out 0.18s;\n -ms-transition: all 0.18s ease-out 0.18s;\n -o-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opactiy=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n -moz-transition: none;\n -ms-transition: none;\n -o-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n -moz-transform: translate(-50%, -10px);\n -ms-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n -moz-transform: translate(-50%, -10px);\n -ms-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n -moz-transform: translate(10px, -50%);\n -ms-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n -moz-transform: translate(10px, -50%);\n -ms-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n -moz-transform: translate(-10px, -50%);\n -ms-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n -moz-transform: translate(-10px, -50%);\n -ms-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n","@import url(../../node_modules/balloon-css/balloon.css);\n@keyframes my-face {\n 2% {\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n transform: translate(0, 0) rotate(0deg); } }\n\n.dplayer {\n position: relative;\n overflow: hidden;\n user-select: none;\n line-height: 1; }\n .dplayer * {\n box-sizing: content-box; }\n .dplayer svg {\n width: 100%;\n height: 100%; }\n .dplayer svg path,\n .dplayer svg circle {\n fill: #fff; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n margin: 0;\n padding: 0;\n transform: translate(0, 0); }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n animation: danmaku-center 6s linear;\n animation-play-state: inherit; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n animation: danmaku 8s linear;\n animation-play-state: inherit; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-live .dplayer-time {\n display: none; }\n .dplayer.dplayer-live .dplayer-bar-wrap {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-speed {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-loop {\n display: none; }\n .dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\n display: none; }\n .dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px; }\n .dplayer.dplayer-arrow .dplayer-icon {\n margin: 0 -3px; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n animation-play-state: running; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku,\n .dplayer.dplayer-loading .dplayer-danmaku-move, .dplayer.dplayer-paused .dplayer-danmaku,\n .dplayer.dplayer-paused .dplayer-danmaku-move {\n animation-play-state: paused; }\n .dplayer.dplayer-hide-controller {\n cursor: none; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon {\n display: none; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block; }\n .dplayer.dplayer-mobile .dplayer-bar-time {\n display: none; }\n\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0; }\n\n[data-balloon]:before {\n display: none; }\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7); }\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0; }\n\n.dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n animation: bezel-hide .5s linear; }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n transform: scale(1); }\n to {\n opacity: 0;\n transform: scale(2); } }\n .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n transform-origin: 4px 4px; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n animation-delay: 0.7s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n animation-delay: 0.6s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n animation-delay: 0.5s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n animation-delay: 0.4s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n animation-delay: 0.3s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n animation-delay: 0.2s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n animation-delay: 0.1s; }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n transform: scale(0.85, 0.85); } }\n\n.dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n transition: all 0.3s ease; }\n\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n user-select: none;\n transition: all 0.3s ease; }\n .dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none; }\n .dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block; }\n .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\n transform: scale(1); }\n .dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\n display: block;\n width: 8px;\n transform: translateX(-4px);\n top: 4px;\n height: 40%; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\n z-index: 12;\n position: absolute;\n top: 5px;\n width: 6px;\n height: 20%;\n border-radius: 6px;\n background-color: #fff;\n text-align: center;\n transform: translateX(-3px);\n transition: all .2s ease-in-out; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\n display: block; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\n opacity: 0; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\n opacity: 0; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\n display: none;\n position: absolute;\n left: 50%;\n top: -24px;\n padding: 5px 8px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translateX(-50%); }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: 16000px 100%; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n transform: scale(0); }\n .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n transition: all .3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n transition: all .3s ease-in-out;\n transform: scale(0); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n transform: scale(1); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n animation: my-face 5s infinite ease-in-out; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n box-sizing: border-box;\n width: 100%;\n color: #fff; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\n display: none; }\n .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer-controller .dplayer-icons .dplayer-time,\n .dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px; }\n .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n transition: all .2s ease-in-out;\n opacity: .8; }\n .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px; }\n .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px; }\n .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px; }\n .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n transition: all 0.3s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n transform: scale(0); }\n .dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n transition: all 0.3s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative; }\n .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2; }\n .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap; }\n .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n transition: .2s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n transition: .2s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n transition: .2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n\n.dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n transform: translateX(100%); }\n .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n animation: danmaku 5s linear;\n animation-play-state: paused; }\n\n@keyframes danmaku {\n from {\n transform: translateX(100%); } }\n .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n animation: danmaku-center 4s linear;\n animation-play-state: paused; }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n.dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px; }\n .dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none; }\n\n.dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer-menu .dplayer-menu-item {\n height: 30px;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-menu .dplayer-menu-item a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none; }\n\n.dplayer-notice {\n opacity: 0;\n position: absolute;\n bottom: 60px;\n left: 20px;\n font-size: 14px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 20px;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none; }\n\n.dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px; }\n .dplayer-subtitle.dplayer-subtitle-hide {\n display: none; }\n\n.dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer-mask.dplayer-mask-show {\n display: block; }\n\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none; }\n .dplayer-video-wrap .dplayer-video-current {\n display: block; }\n .dplayer-video-wrap .dplayer-video-prepare {\n display: none; }\n\n.dplayer-info-panel {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 400px;\n background: rgba(28, 28, 28, 0.8);\n padding: 10px;\n color: #fff;\n font-size: 12px;\n border-radius: 2px; }\n .dplayer-info-panel-hide {\n display: none; }\n .dplayer-info-panel .dplayer-info-panel-close {\n cursor: pointer;\n position: absolute;\n right: 10px;\n top: 10px; }\n .dplayer-info-panel .dplayer-info-panel-item > span {\n display: inline-block;\n vertical-align: middle;\n line-height: 15px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer-info-panel .dplayer-info-panel-item-title {\n width: 100px;\n text-align: right;\n margin-right: 10px; }\n .dplayer-info-panel .dplayer-info-panel-item-data {\n width: 260px; }\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://[name]/balloon.css","webpack://[name]/index.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAmB,CAErB,eACE,iBAAkB,CAClB,cAAiB,CACjB,qBAYE,gCAAkC,CAClC,yBAA8B,CAC9B,2BAA6B,CAC7B,0BAA4B,CAC5B,wBAA0B,CAC1B,4BAAiC,CACjC,iBAAkB,CAClB,UAAW,CACX,0BAA2B,CAC3B,gBAAiB,CAEjB,kBACa,CACf,2CAxBE,uBAAwB,CACxB,+DAAgE,CAChE,cAAe,CACf,gBAAiB,CACjB,SAAU,CACV,mBAAoB,CAKpB,iCAAoC,CAWpC,iBAAkB,CAElB,UAmBa,CAlBf,sBACE,sQAA8Z,CAC9Z,yBAA0B,CAC1B,UAAW,CACX,UAAW,CAYX,UAEa,CACf,8IACE,yBAA0B,CAC1B,iEAAkE,CAClE,cAAe,CACf,gBAAiB,CACjB,SAAU,CACV,mBAAsB,CACxB,6CACE,WAAY,CACZ,QAAS,CACT,kBAAmB,CAInB,8BAAgC,CAIhC,oBAAuB,CACzB,8CACE,WAAY,CACZ,QAAS,CACT,iBAAkB,CAIlB,8BAAgC,CAIhC,oBAAuB,CAMzB,8OAIE,yBAA+B,CACjC,kCACE,4CAAiD,CACnD,yCACE,eAAkB,CACpB,mFAKE,eAAkB,CACpB,0CACE,WAAY,CACZ,QAAS,CACT,kBAAmB,CAInB,8BAAgC,CAIhC,oBAAuB,CACzB,2CACE,WAAY,CACZ,QAAS,CACT,iBAAkB,CAIlB,8BAAgC,CAIhC,oBAAuB,CAMzB,kOAIE,yBAA+B,CACjC,+CACE,WAAY,CACZ,MAAO,CACP,kBAAmB,CAInB,0BAA6B,CAI7B,oBAAuB,CACzB,gDACE,WAAY,CACZ,QAAS,CACT,iBAAkB,CAIlB,0BAA6B,CAI7B,oBAAuB,CAMzB,sPAIE,sBAA4B,CAC9B,gDACE,WAAY,CACZ,OAAQ,CACR,kBAAmB,CAInB,0BAA6B,CAI7B,oBAAuB,CACzB,iDACE,WAAY,CACZ,SAAU,CACV,iBAAkB,CAIlB,0BAA6B,CAI7B,oBAAuB,CAMzB,0PAIE,sBAA4B,CAC9B,4CACE,QAAS,CACT,eAAgB,CAChB,QAAS,CAIT,+BAAmC,CACrC,6CACE,wQAAqa,CACra,yBAA0B,CAC1B,UAAW,CACX,UAAW,CACX,QAAS,CACT,cAAe,CACf,QAAS,CAIT,+BAAmC,CAMrC,0OAIE,yBAA+B,CACjC,iDACE,MAAO,CACP,eAAgB,CAChB,QAAS,CAIT,2BAAgC,CAClC,kDACE,wQAAqa,CACra,yBAA0B,CAC1B,UAAW,CACX,UAAW,CACX,QAAS,CACT,cAAe,CACf,QAAS,CAIT,2BAAgC,CAMlC,8PAIE,sBAA4B,CAC9B,kDACE,OAAQ,CACR,eAAgB,CAChB,QAAS,CAIT,2BAAgC,CAClC,mDACE,wQAAqa,CACra,yBAA0B,CAC1B,UAAW,CACX,UAAW,CACX,SAAU,CACV,cAAe,CACf,QAAS,CAIT,2BAAgC,CAMlC,kQAIE,sBAA4B,CAC9B,4CACE,iBAAkB,CAClB,UAAW,CACX,OAAQ,CAIR,8BAAkC,CACpC,6CACE,uQAAsa,CACta,yBAA0B,CAC1B,SAAU,CACV,WAAY,CACZ,gBAAiB,CACjB,UAAW,CACX,OAAQ,CAIR,8BAAkC,CAMpC,0OAIE,0BAA+B,CACjC,6CACE,SAAU,CACV,gBAAiB,CACjB,OAAQ,CAIR,+BAAmC,CACrC,8CACE,uQAAma,CACna,yBAA0B,CAC1B,SAAU,CACV,WAAY,CACZ,SAAU,CACV,eAAgB,CAChB,OAAQ,CAIR,+BAAmC,CAMrC,8OAIE,0BAA+B,CACjC,gDACE,kBAAmB,CACnB,UAAa,CACf,iDACE,kBAAmB,CACnB,WAAc,CAChB,gDACE,kBAAmB,CACnB,WAAc,CAChB,iDACE,kBAAmB,CACnB,WAAc,CACd,oCACE,iDACE,kBAAmB,CACnB,UAAa,CAAE,CACrB,8CACE,kBAAmB,CACnB,UAAa,C;ACnXuC,2BAAmB,GAAG,0CAA4C,CAAC,GAAG,2CAA8C,CAAC,GAAG,2CAA6C,CAAC,GAAG,4CAA8C,CAAC,IAAI,0CAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,2CAA8C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,wCAA4C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,yCAA4C,CAAC,IAAI,2CAA6C,CAAC,IAAI,yCAA6C,CAAC,IAAI,wCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA8C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,4CAA8C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,yCAA6C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA8C,CAAC,MAAQ,mCAAsC,CAAC,CAAt8E,mBAAmB,GAAG,0CAA4C,CAAC,GAAG,2CAA8C,CAAC,GAAG,2CAA6C,CAAC,GAAG,4CAA8C,CAAC,IAAI,0CAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,2CAA8C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,wCAA4C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA6C,CAAC,IAAI,yCAA4C,CAAC,IAAI,2CAA6C,CAAC,IAAI,yCAA6C,CAAC,IAAI,wCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,2CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA8C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,yCAA6C,CAAC,IAAI,0CAA4C,CAAC,IAAI,4CAA8C,CAAC,IAAI,0CAA6C,CAAC,IAAI,0CAA6C,CAAC,IAAI,yCAA6C,CAAC,IAAI,yCAA4C,CAAC,IAAI,0CAA6C,CAAC,IAAI,2CAA8C,CAAC,MAAQ,mCAAsC,CAAC,CAAC,SAAS,iBAAiB,CAAC,eAAe,CAAC,wBAAgB,CAAhB,qBAAgB,CAAhB,oBAAgB,CAAhB,gBAAgB,CAAC,aAAa,CAAC,WAAW,sBAAsB,CAAC,aAAa,UAAU,CAAC,WAAW,CAAC,sCAAsC,SAAS,CAAC,6BAA6B,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAyB,CAAC,mLAAmL,0CAAkC,CAAlC,kCAAkC,CAAC,oCAA2B,CAA3B,4BAA4B,CAAC,0FAA0F,mCAA2B,CAA3B,2BAA2B,CAAC,oCAA2B,CAA3B,4BAA4B,CAA2vB,ytBAA0D,YAAY,CAAC,wCAAwC,cAAc,CAAC,qCAAqC,aAAa,CAAC,gEAAgE,oCAA2B,CAA3B,4BAA4B,CAAC,yBAAsF,+FAA6C,SAAS,CAAmE,2GAAmD,SAAS,CAAC,CAAC,+DAA+D,aAAa,CAAC,gLAAgL,mCAA0B,CAA1B,2BAA2B,CAAC,iCAAiC,WAAW,CAAgG,+GAAqD,SAAS,CAAC,0BAA0B,CAAqE,+GAAqD,SAAS,CAAC,wBAAwB,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,2JAA2J,YAAY,CAAC,+FAA+F,eAAe,CAAC,oBAAoB,CAAC,0CAA0C,YAAY,CAAC,4BAA4B,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,YAAY,CAAC,qBAAqB,iBAAmB,CAAC,4BAA6B,CAAC,0CAA4C,eAAe,CAAC,eAAe,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,mCAAmC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,qBAAqB,CAAC,yBAA0B,CAAC,iBAAiB,CAAC,SAAS,CAAC,mBAAmB,CAAC,4DAA4D,uCAA8B,CAA9B,+BAA+B,CAAC,8BAAsB,GAAK,SAAS,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAxF,sBAAsB,GAAK,SAAS,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,mCAAmC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,iDAAwC,CAAxC,yCAAyC,CAAC,sCAAsC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,6DAA6D,YAAY,CAAC,4DAA4D,6DAAqD,CAArD,qDAAqD,CAAC,SAAS,CAAC,wBAAwB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,mFAAmF,2BAAmB,CAAnB,mBAAoB,CAAC,6CAAqC,GAAG,UAAU,CAAC,oBAAyB,CAAC,IAAI,WAAW,CAAC,mBAAyB,CAAC,GAAG,WAAW,CAAC,oBAA2B,CAAC,CAAlK,qCAAqC,GAAG,UAAU,CAAC,oBAAyB,CAAC,IAAI,WAAW,CAAC,mBAAyB,CAAC,GAAG,WAAW,CAAC,oBAA2B,CAAC,CAAC,yBAAyB,kSAAkS,CAAC,WAAW,CAAC,UAA8D,CAAC,6CAApD,iBAAiB,CAAC,QAAQ,CAAC,uBAA2J,CAAlI,oBAA+C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,wBAAgB,CAAhB,qBAAgB,CAAhB,oBAAgB,CAAhB,gBAAyC,CAAC,8DAA8D,YAAY,CAAC,kFAAkF,aAAa,CAAC,sCAAsC,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC,wFAAwF,kBAAkB,CAAC,+DAA+D,aAAa,CAAC,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,yDAAyD,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,uFAAuF,aAAa,CAAiG,qKAAmF,SAAS,CAAC,iFAAiF,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,gCAAiC,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,2DAA2D,iBAAiB,CAAC,eAAe,CAAC,mBAAmB,CAAC,YAAY,CAAC,4BAA4B,CAAC,kEAAkE,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,wDAAwD,iBAAiB,CAAC,MAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,gCAAiC,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,mBAAmB,CAAC,+DAA+D,SAAS,CAAC,mDAAmD,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,6BAAgC,CAAC,cAAc,CAAC,mEAA2G,6BAAgC,CAAY,uBAA0C,CAAC,sIAA/H,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAkC,UAAU,CAA0B,iBAAyJ,CAAC,kFAAkF,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,mCAAmC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,uDAAuD,YAAY,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,qEAAqE,WAAW,CAAC,qFAAqF,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,oFAAoF,iBAAiB,CAAC,4BAA6B,CAAC,WAAW,CAAC,MAAM,CAAC,kCAAmC,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,cAAc,CAAC,WAAW,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,iHAAiH,kBAAkB,CAAC,sGAAsG,YAAY,CAAC,0FAA0F,cAAc,CAAC,mHAAmH,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,kHAAkH,WAAW,CAAC,iJAAiJ,iBAAiB,CAAC,0IAA0I,yBAAyB,CAAC,0IAA0I,yBAAyB,CAAC,uHAAuH,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,cAAc,CAAC,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,CAAC,qIAAqI,kBAAkB,CAAC,aAAa,CAAC,mHAAmH,WAAW,CAAC,yHAAyH,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,wHAAwH,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,cAAc,CAAC,8HAA8H,iDAAwC,CAAxC,yCAAyC,CAAC,8EAA8E,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,yGAA2F,UAAU,CAAC,UAAW,CAAjH,gGAA2F,UAAU,CAAC,UAAW,CAAjH,oGAA2F,UAAU,CAAC,UAAW,CAAjH,qGAA2F,UAAU,CAAC,UAAW,CAAjH,2FAA2F,UAAU,CAAC,UAAW,CAAC,yFAAyF,YAAY,CAAC,oEAAoE,WAAW,CAAC,uDAAuD,UAAU,CAAC,qEAAqE,WAAW,CAAC,wGAAwG,gBAAgB,CAAC,UAAU,CAAC,kCAAmC,CAAC,qBAAqB,CAAC,cAAc,CAAC,cAAc,CAAC,qDAAqD,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC,iDAAiD,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,4BAA4B,CAAC,YAAY,CAAC,cAAc,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,uEAAuE,8BAA8B,CAAC,UAAU,CAAC,6EAA6E,SAAS,CAAC,sEAAsE,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,sEAAsE,oBAAoB,CAAC,sEAAsE,iBAAiB,CAAC,qEAAqE,UAAU,CAAC,mDAAmD,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,sGAAsG,UAAU,CAAC,+IAA+I,kBAAkB,CAAC,sHAAsH,UAAU,CAAC,+JAA+J,kBAAkB,CAAC,4EAA4E,oBAAoB,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,WAAW,CAAC,gGAAgG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,8BAA+B,CAAC,0HAA0H,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAwB,CAAC,iBAAiB,CAAC,yIAAyI,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,8BAA8B,CAAC,kBAAkB,CAA2F,6GAAoD,oBAAoB,CAAC,WAAW,CAAC,yEAAyE,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,iBAAiB,CAAC,4BAA6B,CAAC,aAAa,CAAC,8BAA8B,CAAC,eAAe,CAAC,SAAS,CAAC,6EAA6E,YAAY,CAAC,0GAA0G,aAAa,CAAC,kGAAkG,kBAAkB,CAAC,oGAAoG,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,iIAAiI,YAAY,CAAC,gIAAgI,aAAa,CAAC,0JAA0J,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,cAAc,CAAC,iBAAiB,CAAC,sKAAsK,mCAAsC,CAAC,6EAA6E,aAAa,CAAC,4FAA4F,cAAc,CAAC,cAAc,CAAC,kGAAkG,YAAY,CAAC,6GAA6G,oBAAoB,CAAC,2HAA2H,YAAY,CAAC,sIAAsI,oBAAoB,CAAC,uGAAuG,cAAc,CAAC,qBAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,4HAA4H,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,8BAA+B,CAAC,uJAAuJ,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAwB,CAAC,eAAe,CAAC,iBAAiB,CAAC,sKAAsK,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,8BAA8B,CAAC,eAAe,CAAC,iDAAiD,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,6EAA6E,aAAa,CAAC,uEAAuE,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,oDAAoD,iBAAiB,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAA+F,gKAAgF,aAAa,CAAC,0EAA0E,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,0EAA0E,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,4BAA6B,CAAC,aAAa,CAAC,8BAA8B,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,0EAA0E,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,gBAAgB,CAAC,gFAAgF,mCAAsC,CAAC,oDAAoD,oBAAoB,CAAC,WAAW,CAAC,kDAAkD,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,mDAAmD,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,yDAAyD,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,+DAA+D,oBAAoB,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,wBAAwB,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,cAAc,CAAC,0BAA0B,CAAoM,2IAA7H,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,0BAAiR,CAAtP,qEAAgJ,eAAe,CAA4B,mCAA2D,CAAC,uEAAuE,+BAAkC,CAAC,8EAA8E,UAAU,CAAC,6BAAgC,CAAC,6EAA6E,SAAS,CAAC,iBAAiB,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,uCAAuC,oBAAoB,CAAC,mBAAmB,CAAC,wBAAgB,CAAhB,qBAAgB,CAAhB,oBAAgB,CAAhB,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,yCAA6C,CAAC,6CAA6C,iBAAiB,CAAC,iBAAiB,CAAC,wCAAwC,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,CAAC,6DAA6D,qBAAqB,CAAC,mCAA2B,CAA3B,2BAA2B,CAAC,mCAA0B,CAA1B,2BAA2B,CAAC,2BAAmB,GAAK,0BAA0B,CAAC,CAAnD,mBAAmB,GAAK,0BAA0B,CAAC,CAAC,+EAA+E,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,yHAAyH,sBAAsB,CAAC,0CAAkC,CAAlC,kCAAkC,CAAC,mCAA0B,CAA1B,2BAA2B,CAAC,kCAA0B,GAAK,kBAAkB,CAAC,GAAG,kBAAkB,CAAC,CAAxE,0BAA0B,GAAK,kBAAkB,CAAC,GAAG,kBAAkB,CAAC,CAAC,cAAc,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,kBAAkB,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC,6BAA8B,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,gCAAgC,aAAa,CAAC,iCAAiC,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,uCAAuC,mCAAsC,CAAC,mCAAwD,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,eAAe,CAAC,yCAAyC,oBAAoB,CAAC,gBAAgB,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,iBAAiB,CAAC,4BAA6B,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,eAAe,CAAC,UAAU,CAAC,mBAAmB,CAAC,kBAAkB,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,yCAA6C,CAAC,cAAc,CAAC,wCAAwC,YAAY,CAAC,cAAc,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,gCAAgC,aAAa,CAAC,oBAAoB,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,mCAAmC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,2CAA2C,aAAa,CAAC,2CAA2C,YAAY,CAAC,oBAAoB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,4BAA6B,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,yBAAyB,YAAY,CAAC,8CAA8C,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,kDAAkD,oBAAoB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,eAAe,CAAC,mDAAmD,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kDAAkD,WAAW,C","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opacity=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n -moz-transition: all 0.18s ease-out 0.18s;\n -ms-transition: all 0.18s ease-out 0.18s;\n -o-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opacity=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n -moz-transition: all 0.18s ease-out 0.18s;\n -ms-transition: all 0.18s ease-out 0.18s;\n -o-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opacity=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon]:not([data-balloon-pos]):after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon]:not([data-balloon-pos]):before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon]:not([data-balloon-pos]):hover:after, [data-balloon]:not([data-balloon-pos])[data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon]:not([data-balloon-pos]):hover:before, [data-balloon]:not([data-balloon-pos])[data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome, sans-serif !important; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n -moz-transition: none;\n -ms-transition: none;\n -o-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n -moz-transform: translate(-50%, 10px);\n -ms-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n -moz-transform: translate(0, 10px);\n -ms-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n -moz-transform-origin: top;\n -ms-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n -moz-transform: translate(-50%, -10px);\n -ms-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n -moz-transform: translate(-50%, -10px);\n -ms-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n -moz-transform: translate(-50%, 0);\n -ms-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n -moz-transform: translate(0, -10px);\n -ms-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n -moz-transform: translate(10px, -50%);\n -ms-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n -moz-transform: translate(10px, -50%);\n -ms-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n -moz-transform: translate(-10px, -50%);\n -ms-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n -moz-transform: translate(-10px, -50%);\n -ms-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n -moz-transform: translate(0, -50%);\n -ms-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n","@import url(../../node_modules/balloon-css/balloon.css);@keyframes my-face{2%{transform:translate(0, 1.5px) rotate(1.5deg)}4%{transform:translate(0, -1.5px) rotate(-0.5deg)}6%{transform:translate(0, 1.5px) rotate(-1.5deg)}8%{transform:translate(0, -1.5px) rotate(-1.5deg)}10%{transform:translate(0, 2.5px) rotate(1.5deg)}12%{transform:translate(0, -0.5px) rotate(1.5deg)}14%{transform:translate(0, -1.5px) rotate(1.5deg)}16%{transform:translate(0, -0.5px) rotate(-1.5deg)}18%{transform:translate(0, 0.5px) rotate(-1.5deg)}20%{transform:translate(0, -1.5px) rotate(2.5deg)}22%{transform:translate(0, 0.5px) rotate(-1.5deg)}24%{transform:translate(0, 1.5px) rotate(1.5deg)}26%{transform:translate(0, 0.5px) rotate(0.5deg)}28%{transform:translate(0, 0.5px) rotate(1.5deg)}30%{transform:translate(0, -0.5px) rotate(2.5deg)}32%{transform:translate(0, 1.5px) rotate(-0.5deg)}34%{transform:translate(0, 1.5px) rotate(-0.5deg)}36%{transform:translate(0, -1.5px) rotate(2.5deg)}38%{transform:translate(0, 1.5px) rotate(-1.5deg)}40%{transform:translate(0, -0.5px) rotate(2.5deg)}42%{transform:translate(0, 2.5px) rotate(-1.5deg)}44%{transform:translate(0, 1.5px) rotate(0.5deg)}46%{transform:translate(0, -1.5px) rotate(2.5deg)}48%{transform:translate(0, -0.5px) rotate(0.5deg)}50%{transform:translate(0, 0.5px) rotate(0.5deg)}52%{transform:translate(0, 2.5px) rotate(2.5deg)}54%{transform:translate(0, -1.5px) rotate(1.5deg)}56%{transform:translate(0, 2.5px) rotate(2.5deg)}58%{transform:translate(0, 0.5px) rotate(2.5deg)}60%{transform:translate(0, 2.5px) rotate(2.5deg)}62%{transform:translate(0, -0.5px) rotate(2.5deg)}64%{transform:translate(0, -0.5px) rotate(1.5deg)}66%{transform:translate(0, 1.5px) rotate(-0.5deg)}68%{transform:translate(0, -1.5px) rotate(-0.5deg)}70%{transform:translate(0, 1.5px) rotate(0.5deg)}72%{transform:translate(0, 2.5px) rotate(1.5deg)}74%{transform:translate(0, -0.5px) rotate(0.5deg)}76%{transform:translate(0, -0.5px) rotate(2.5deg)}78%{transform:translate(0, -0.5px) rotate(1.5deg)}80%{transform:translate(0, 1.5px) rotate(1.5deg)}82%{transform:translate(0, -0.5px) rotate(0.5deg)}84%{transform:translate(0, 1.5px) rotate(2.5deg)}86%{transform:translate(0, -1.5px) rotate(-1.5deg)}88%{transform:translate(0, -0.5px) rotate(2.5deg)}90%{transform:translate(0, 2.5px) rotate(-0.5deg)}92%{transform:translate(0, 0.5px) rotate(-0.5deg)}94%{transform:translate(0, 2.5px) rotate(0.5deg)}96%{transform:translate(0, -0.5px) rotate(1.5deg)}98%{transform:translate(0, -1.5px) rotate(-0.5deg)}0%,100%{transform:translate(0, 0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg path,.dplayer svg circle{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, 0)}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move{animation:danmaku-center 6s linear;animation-play-state:inherit}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{animation:danmaku 8s linear;animation-play-state:inherit}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.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{display:none}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment{display:none}.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-live .dplayer-time{display:none}.dplayer.dplayer-live .dplayer-bar-wrap{display:none}.dplayer.dplayer-live .dplayer-setting-speed{display:none}.dplayer.dplayer-live .dplayer-setting-loop{display:none}.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting{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{animation-play-state:running}@media (min-width: 900px){.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing .dplayer-controller{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}.dplayer.dplayer-playing:hover .dplayer-controller{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{animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;transform:translateY(100%)}.dplayer.dplayer-hide-controller .dplayer-controller{opacity:0;transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-show-controller .dplayer-controller{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-volume,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon{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:0.3em 0.7em;background:rgba(17,17,17,0.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,0.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{animation:bezel-hide .5s linear}@keyframes bezel-hide{from{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;animation:my-face 5s infinite ease-in-out}.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{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{animation-delay:0.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{animation-delay:0.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{animation-delay:0.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{animation-delay:0.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{animation-delay:0.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{animation-delay:0.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{animation-delay:0.1s}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2, 1.2)}50%{opacity:.25;transform:scale(0.9, 0.9)}to{opacity:.25;transform:scale(0.85, 0.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%;position:absolute;bottom:0;transition:all 0.3s ease}.dplayer-controller{position:absolute;bottom:0;left:0;right:0;height:41px;padding:0 20px;user-select:none;transition:all 0.3s ease}.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{opacity:0}.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,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:0px;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,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:rgba(255,255,255,0.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,0.4);height:3px;transition:all 0.5s ease;will-change:width}.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,0.9);bottom:41px;left:0;box-shadow:0 0 25px rgba(0,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{animation:my-face 5s infinite ease-in-out}.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::placeholder{color:#fff;opacity:0.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-time,.dplayer-controller .dplayer-icons .dplayer-live-badge{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,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 0.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 0.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-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting{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,0.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:rgba(255,255,255,0.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 0.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 0.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{display:block}.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,0.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:rgba(255,255,255,0.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:#dfdfdf 0 0 0 0 inset;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: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{content:\"\";position:absolute;display:block;left:0;top:0;border-radius:15px;background:#fff;transition:.2s ease-in-out;box-shadow:0 1px 3px rgba(0,0,0,0.4);height:18px;width:18px}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:rgba(255,255,255,0.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:rgba(255,255,255,0.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;user-select:none;cursor:default;white-space:nowrap;text-shadow:0.5px 0.5px 0.5px rgba(0,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;animation:danmaku 5s linear;animation-play-state:paused}@keyframes danmaku{from{transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-top,.dplayer-danmaku .dplayer-danmaku-bottom{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move{will-change:visibility;animation:danmaku-center 4s linear;animation-play-state:paused}@keyframes danmaku-center{from{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,0.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:rgba(255,255,255,0.1)}.dplayer-menu .dplayer-menu-item a{display:inline-block;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,0.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:0.5px 0.5px 0.5px rgba(0,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,0.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"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/DPlayer.min.js b/dist/DPlayer.min.js index 2fb88e8..da8c778 100644 --- a/dist/DPlayer.min.js +++ b/dist/DPlayer.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=53)}([function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=n(5),o=n(37),r=Object.prototype.toString;function s(e){return"[object Array]"===r.call(e)}function l(e){return null!==e&&"object"===i(e)}function c(e){return"[object Function]"===r.call(e)}function u(e,t){if(null!=e)if("object"!==i(e)&&(e=[e]),s(e))for(var n=0,a=e.length;n\n ",n&&(t+='\n \n '),t+="\n"}},function(e,t,n){e.exports=n(36)},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(i=window)}e.exports=i},function(e,t){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{i="function"==typeof clearTimeout?clearTimeout:r}catch(e){i=r}}();var l,c=[],u=!1,d=-1;function p(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&h())}function h(){if(!u){var e=s(p);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d1)for(var n=1;n=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(o)}),e.exports=l}).call(this,n(4))},function(e,t,n){"use strict";var i=n(0),a=n(43),o=n(6),r=n(45),s=n(46),l=n(10);e.exports=function(e){return new Promise(function(t,c){var u=e.data,d=e.headers;i.isFormData(u)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";d.Authorization="Basic "+btoa(h+":"+m)}if(p.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?r(p.getAllResponseHeaders()):null,i={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};a(t,c,i),p=null}},p.onabort=function(){p&&(c(l("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){c(l("Network Error",e,null,p)),p=null},p.ontimeout=function(){c(l("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},i.isStandardBrowserEnv()){var y=n(47),f=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;f&&(d[e.xsrfHeaderName]=f)}if("setRequestHeader"in p&&i.forEach(d,function(e,t){void 0===u&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),c(e),p=null)}),void 0===u&&(u=null),p.send(u)})}},function(e,t,n){"use strict";var i=n(44);e.exports=function(e,t,n,a,o){var r=new Error(e);return i(r,t,n,a,o)}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e,t){t=t||{};var n={};return i.forEach(["url","method","params","data"],function(e){void 0!==t[e]&&(n[e]=t[e])}),i.forEach(["headers","auth","proxy"],function(a){i.isObject(t[a])?n[a]=i.deepMerge(e[a],t[a]):void 0!==t[a]?n[a]=t[a]:i.isObject(e[a])?n[a]=i.deepMerge(e[a]):void 0!==e[a]&&(n[a]=e[a])}),i.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(i){void 0!==t[i]?n[i]=t[i]:void 0!==e[i]&&(n[i]=e[i])}),n}},function(e,t,n){"use strict";function i(e){this.message=e}i.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},i.prototype.__CANCEL__=!0,e.exports=i},function(e,t,n){"use strict";e.exports=n(52)},function(e,t,n){"use strict";(function(e){var i=n(15);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=setTimeout;function r(){}function s(e){if(!(this instanceof s))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],h(e,this)}function l(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,s._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void u(t.promise,e)}c(t.promise,i)}else(1===e._state?c:u)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===a(t)||"function"==typeof t)){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void d(e);if("function"==typeof n)return void h((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,d(e)}catch(t){u(e,t)}var i,o}function u(e,t){e._state=2,e._value=t,d(e)}function d(e){2===e._state&&0===e._deferreds.length&&s._immediateFn(function(){e._handled||s._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t\n \n '),a+='\n
\n
\n
\n
\n
\n \n ',r.danmaku&&(a+='\n ',a+=s(l("Danmaku is loading")),a+="\n "),a+='\n ',a+=c.loading,a+='\n
\n\n
\n
\n
\n \n
\n
\n
',a+=s(l("Set danmaku color")),a+='
\n \n \n \n \n \n \n
\n
\n
',a+=s(l("Set danmaku type")),a+='
\n \n \n \n
\n
\n \n ',a+=c.send,a+='\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n ',r.live&&(a+='\n ',a+=s(l("Live")),a+="\n "),a+='\n
\n
\n ',r.video.quality&&(a+='\n
\n \n
\n
\n ',d(r.video.quality,function(e,t){a+='\n
',a+=s(e.name),a+="
\n "}),a+="\n
\n
\n
\n "),a+="\n ",r.screenshot&&(a+='\n
\n
\n "),a+='\n
\n \n
\n ",r.subtitle&&(a+='\n
\n \n
\n "),a+='\n
\n \n
\n
\n
\n ',a+=s(l("Speed")),a+='\n
',a+=c.right,a+='
\n
\n
\n ',a+=s(l("Loop")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Show danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Unlimited danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Opacity for danmaku")),a+='\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n 0.5\n
\n
\n 0.75\n
\n
\n ',a+=s(l("Normal")),a+='\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n ',r.danmaku&&(a+='\n
\n Danamku id\n \n
\n
\n Danamku api\n \n
\n
\n Danamku amount\n \n
\n '),a+='\n
\n
\n ',d(r.contextmenu,function(e,t){a+='\n
\n ',a+=s(l(e.text)),a+="\n
\n "}),a+='\n
\n
'}},function(e,t,n){},function(e,t,n){var i=Function.prototype.apply;function a(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new a(i.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new a(i.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(35),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var i,a,o,r,s,l=1,c={},u=!1,d=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){m(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){m(e.data)},i=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(a=d.documentElement,i=function(e){var t=d.createElement("script");t.onreadystatechange=function(){m(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):i=function(e){setTimeout(m,0,e)}:(r="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&m(+t.data.slice(r.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),i=function(t){e.postMessage(r+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0)return;r[t]="set-cookie"===t?(r[t]?r[t]:[]).concat([n]):r[t]?r[t]+", "+n:n}}),r):r}},function(e,t,n){"use strict";var i=n(0);e.exports=i.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function a(e){var i=e;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=a(window.location.href),function(t){var n=i.isString(t)?a(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var i=n(0);e.exports=i.isStandardBrowserEnv()?{write:function(e,t,n,a,o,r){var s=[];s.push(e+"="+encodeURIComponent(t)),i.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),i.isString(a)&&s.push("path="+a),i.isString(o)&&s.push("domain="+o),!0===r&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var i=n(12);function a(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}a.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},a.source=function(){var e;return{token:new a(function(t){e=t}),cancel:e}},e.exports=a},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";(function(t){var n="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},i=Object.create(n),a=/["&'<>]/;i.$escape=function(e){return function(e){var t=""+e,n=a.exec(t);if(!n)return e;var i="",o=void 0,r=void 0,s=void 0;for(o=n.index,r=0;o0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getBoundingClientRectViewLeft:function(e){var t=window.scrollY||window.pageYOffset||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0);if(e.getBoundingClientRect){if("number"!=typeof this.getBoundingClientRectViewLeft.offset){var n=document.createElement("div");n.style.cssText="position:absolute;top:0;left:0;",document.body.appendChild(n),this.getBoundingClientRectViewLeft.offset=-n.getBoundingClientRect().top-t,document.body.removeChild(n),n=null}var i=e.getBoundingClientRect(),a=this.getBoundingClientRectViewLeft.offset;return i.left+a}return this.getElementViewLeft(e)},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=a):window.scrollTo(n,a)},isMobile:a,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0,n+=e.offsetLeft||0,e=e.offsetParent}while(e);return{top:t,left:n}},nameMap:{dragStart:a?"touchstart":"mousedown",dragMove:a?"touchmove":"mousemove",dragEnd:a?"touchend":"mouseup"},color2Number:function(e){return"#"===e[0]&&(e=e.substr(1)),3===e.length&&(e="".concat(e[0]).concat(e[0]).concat(e[1]).concat(e[1]).concat(e[2]).concat(e[2])),parseInt(e,16)+0&16777215},number2Color:function(e){return"#"+("00000"+e.toString(16)).slice(-6)},number2Type:function(e){switch(e){case 0:return"right";case 1:return"top";case 2:return"bottom";default:return"right"}}},r=n(2),s=n.n(r),l={send:function(e){s.a.post(e.url,e.data).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})},read:function(e){s.a.get(e.url).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n.data.map(function(e){return{time:e[0],type:e[1],color:e[2],author:e[3],text:e[4]}})):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})}};function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var u=function(e){var t={container:e.element||document.getElementsByClassName("dplayer")[0],live:!1,autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"metadata",volume:.7,apiBackend:l,video:{},contextmenu:[],mutex:!0};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),"object"===c(e.danmaku)&&e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=e.video.quality[e.video.defaultQuality].url),e.lang&&(e.lang=e.lang.toLowerCase()),e.contextmenu=e.contextmenu.concat([{text:"Video info",click:function(e){e.infoPanel.triggle()}},{text:"About author",link:"https://diygod.me"},{text:"DPlayer v".concat("1.25.0"),link:"https://github.com/MoePlayer/DPlayer"}]),e};var d={"zh-cn":{"Danmaku is loading":"弹幕加载中",Top:"顶部",Bottom:"底部",Rolling:"滚动","Input danmaku, hit Enter":"输入弹幕,回车发送","About author":"关于作者","DPlayer feedback":"播放器意见反馈","About DPlayer":"关于 DPlayer 播放器",Loop:"洗脑循环",Speed:"速度","Opacity for danmaku":"弹幕透明度",Normal:"正常","Please input danmaku content!":"要输入弹幕内容啊喂!","Set danmaku color":"设置弹幕颜色","Set danmaku type":"设置弹幕类型","Show danmaku":"显示弹幕","Video load failed":"视频加载失败","Danmaku load failed":"弹幕加载失败","Danmaku send failed":"弹幕发送失败","Switching to":"正在切换至","Switched to":"已经切换至",quality:"画质",FF:"快进",REW:"快退","Unlimited danmaku":"海量弹幕","Send danmaku":"发送弹幕",Setting:"设置","Full screen":"全屏","Web full screen":"页面全屏",Send:"发送",Screenshot:"截图",s:"秒","Show subtitle":"显示字幕","Hide subtitle":"隐藏字幕",Volume:"音量",Live:"直播","Video info":"视频统计信息"},"zh-tw":{"Danmaku is loading":"彈幕載入中",Top:"頂部",Bottom:"底部",Rolling:"滾動","Input danmaku, hit Enter":"輸入彈幕,Enter 發送","About author":"關於作者","DPlayer feedback":"播放器意見回饋","About DPlayer":"關於 DPlayer 播放器",Loop:"循環播放",Speed:"速度","Opacity for danmaku":"彈幕透明度",Normal:"正常","Please input danmaku content!":"請輸入彈幕內容啊!","Set danmaku color":"設定彈幕顏色","Set danmaku type":"設定彈幕類型","Show danmaku":"顯示彈幕","Video load failed":"影片載入失敗","Danmaku load failed":"彈幕載入失敗","Danmaku send failed":"彈幕發送失敗","Switching to":"正在切換至","Switched to":"已經切換至",quality:"畫質",FF:"快進",REW:"快退","Unlimited danmaku":"巨量彈幕","Send danmaku":"發送彈幕",Setting:"設定","Full screen":"全螢幕","Web full screen":"頁面全螢幕",Send:"發送",Screenshot:"截圖",s:"秒","Show subtitle":"顯示字幕","Hide subtitle":"隱藏字幕",Volume:"音量",Live:"直播","Video info":"影片統計訊息"}},p=function(e){var t=this;this.lang=e,this.tran=function(e){return d[t.lang]&&d[t.lang][e]?d[t.lang][e]:e}},h=n(16),m=n.n(h),y=n(17),f=n.n(y),v=n(18),g=n.n(v),b=n(19),w=n.n(b),k=n(20),x=n.n(k),S=n(21),T=n.n(S),L=n(22),E=n.n(L),q=n(23),B=n.n(q),M=n(24),C=n.n(M),_=n(25),F=n.n(_),P=n(26),D=n.n(P),z=n(27),j=n.n(z),O=n(28),I=n.n(O),R=n(29),A=n.n(R),W=n(30),H=n.n(W),N=n(31),V=n.n(N),U={play:m.a,pause:f.a,volumeUp:g.a,volumeDown:w.a,volumeOff:x.a,full:T.a,fullWeb:E.a,setting:B.a,right:C.a,comment:F.a,commentOff:D.a,send:j.a,pallette:I.a,camera:A.a,subtitle:H.a,loading:V.a},X=n(32),$=n.n(X);function Q(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n').concat(e[a].text,""):r.innerHTML=e[a].text,r.style.opacity=t._opacity,r.style.color=o.number2Color(e[a].color),r.addEventListener("animationend",function(){t.container.removeChild(r)});var s=t._measure(e[a].text),l=void 0;switch(e[a].type){case"right":(l=c(r,e[a].type,s))>=0&&(r.style.width=s+1+"px",r.style.top=n*l+"px",r.style.transform="translateX(-".concat(i,"px)"));break;case"top":(l=c(r,e[a].type))>=0&&(r.style.top=n*l+"px");break;case"bottom":(l=c(r,e[a].type))>=0&&(r.style.bottom=n*l+"px");break;default:console.error("Can't handled danmaku type: ".concat(e[a].type))}l>=0&&(r.classList.add("dplayer-danmaku-move"),u.appendChild(r))},p=0;p=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",t="browser"===e?"web":"browser",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=o.getScrollPosition()),e){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen?this.player.video.webkitEnterFullscreen():this.player.video.webkitEnterFullScreen?this.player.video.webkitEnterFullScreen():this.player.container.msRequestFullscreen&&this.player.container.msRequestFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}n&&this.cancel(t)}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.webkitCancelFullscreen?document.webkitCancelFullscreen():document.msCancelFullScreen?document.msCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}])&&te(t.prototype,n),i&&te(t,i),e}();function ie(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initfpsChecker",value:function(){var e=this;window.requestAnimationFrame(function(){if(e.enablefpsChecker)if(e.initfpsChecker(),e.fpsStart){e.fpsIndex++;var t=new Date;t-e.fpsStart>1e3&&(e.player.infoPanel.fps(e.fpsIndex/(t-e.fpsStart)*1e3),e.fpsStart=new Date,e.fpsIndex=0)}else e.fpsStart=new Date,e.fpsIndex=0;else e.fpsStart=0,e.fpsIndex=0})}},{key:"initinfoChecker",value:function(){var e=this;this.infoChecker=setInterval(function(){e.enableinfoChecker&&e.player.infoPanel.update()},1e3)}},{key:"enable",value:function(e){this["enable".concat(e,"Checker")]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable".concat(e,"Checker")]=!1}},{key:"destroy",value:function(){var e=this;this.types.map(function(t){return e["enable".concat(t,"Checker")]=!1,e["".concat(t,"Checker")]&&clearInterval(e["".concat(t,"Checker")]),t})}}])&&ce(t.prototype,n),i&&ce(t,i),e}();function de(e,t){for(var n=0;n'+e.player.options.highlight[n].text+"",e.player.template.playedBarWrap.insertBefore(i,e.player.template.playedBarTime)}}})}},{key:"initThumbnails",value:function(){var e=this;this.player.options.video.thumbnails&&(this.thumbnails=new me({container:this.player.template.barPreview,barWidth:this.player.template.barWrap.offsetWidth,url:this.player.options.video.thumbnails,events:this.player.events}),this.player.on("loadedmetadata",function(){e.thumbnails.resize(160,e.player.video.videoHeight/e.player.video.videoWidth*160,e.player.template.barWrap.offsetWidth)}))}},{key:"initPlayedBar",value:function(){var e=this,t=function(t){var n=((t.clientX||t.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;n=Math.max(n,0),n=Math.min(n,1),e.player.bar.set("played",n,"width"),e.player.template.ptime.innerHTML=o.secondToTime(n*e.player.video.duration)},n=function n(i){document.removeEventListener(o.nameMap.dragEnd,n),document.removeEventListener(o.nameMap.dragMove,t);var a=((i.clientX||i.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;a=Math.max(a,0),a=Math.min(a,1),e.player.bar.set("played",a,"width"),e.player.seek(e.player.bar.get("played")*e.player.video.duration),e.player.timer.enable("progress")};this.player.template.playedBarWrap.addEventListener(o.nameMap.dragStart,function(){e.player.timer.disable("progress"),document.addEventListener(o.nameMap.dragMove,t),document.addEventListener(o.nameMap.dragEnd,n)}),this.player.template.playedBarWrap.addEventListener(o.nameMap.dragMove,function(t){if(e.player.video.duration){var n=o.cumulativeOffset(e.player.template.playedBarWrap).left,i=(t.clientX||t.changedTouches[0].clientX)-n;if(i<0||i>e.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);o.isMobile&&e.thumbnails&&e.thumbnails.show(),e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left="".concat(i-(a>=3600?25:20),"px"),e.player.template.playedBarTime.innerText=o.secondToTime(a),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(o.nameMap.dragEnd,function(){o.isMobile&&e.thumbnails&&e.thumbnails.hide()}),o.isMobile||(this.player.template.playedBarWrap.addEventListener("mouseenter",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(),e.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(),e.player.template.playedBarTime.classList.add("hidden"))}))}},{key:"initFullButton",value:function(){var e=this;this.player.template.browserFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("web")})}},{key:"initVolumeButton",value:function(){var e=this,t=function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener(o.nameMap.dragEnd,n),document.removeEventListener(o.nameMap.dragMove,t),e.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener(o.nameMap.dragStart,function(){document.addEventListener(o.nameMap.dragMove,t),document.addEventListener(o.nameMap.dragEnd,n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeButtonIcon.addEventListener("click",function(){e.player.video.muted?(e.player.video.muted=!1,e.player.switchVolumeIcon(),e.player.bar.set("volume",e.player.volume(),"width")):(e.player.video.muted=!0,e.player.template.volumeIcon.innerHTML=U.volumeOff,e.player.bar.set("volume",0,"width"))})}},{key:"initQualityButton",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",function(t){t.target.classList.contains("dplayer-quality-item")&&e.player.switchQuality(t.target.dataset.index)})}},{key:"initScreenshotButton",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",function(){var t,n=document.createElement("canvas");n.width=e.player.video.videoWidth,n.height=e.player.video.videoHeight,n.getContext("2d").drawImage(e.player.video,0,0,n.width,n.height),n.toBlob(function(e){t=URL.createObjectURL(e);var n=document.createElement("a");n.href=t,n.download="DPlayer.png",n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}),e.player.events.trigger("screenshot",t)})}},{key:"initSubtitleButton",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on("subtitle_show",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Hide subtitle"),e.player.template.subtitleButtonInner.style.opacity="",e.player.user.set("subtitle",1)}),this.player.events.on("subtitle_hide",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Show subtitle"),e.player.template.subtitleButtonInner.style.opacity="0.4",e.player.user.set("subtitle",0)}),this.player.template.subtitleButton.addEventListener("click",function(){e.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var e=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout(function(){!e.player.video.played.length||e.player.paused||e.disableAutoHide||e.hide()},3e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment&&this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){clearTimeout(this.autoHideTimer)}}])&&ye(t.prototype,n),i&&ye(t,i),e}();function ve(e,t){for(var n=0;n=n.width?(this.player.template.menu.style.right=n.width-e+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=e+"px",this.player.template.menu.style.right="initial"),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=t+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.shown=!0,this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.shown=!1,this.player.events.trigger("contextmenu_hide")}}])&&xe(t.prototype,n),i&&xe(t,i),e}();function Te(e,t){for(var n=0;ne&&this.notice("".concat(this.tran("REW")," ").concat((this.video.currentTime-e).toFixed(0)," ").concat(this.tran("s"))),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width"),this.template.ptime.innerHTML=o.secondToTime(e)}},{key:"play",value:function(){var e=this;if(this.paused=!1,this.video.paused&&this.bezel.switch(U.play),this.template.playButton.innerHTML=U.pause,i.a.resolve(this.video.play()).catch(function(){e.pause()}).then(function(){}),this.timer.enable("loading"),this.container.classList.remove("dplayer-paused"),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var t=0;t=.95?this.template.volumeIcon.innerHTML=U.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=U.volumeDown:this.template.volumeIcon.innerHTML=U.volumeOff}},{key:"volume",value:function(e,t,n){if(e=parseFloat(e),!isNaN(e)){e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"width");var i="".concat((100*e).toFixed(0),"%");this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice("".concat(this.tran("Volume")," ").concat((100*e).toFixed(0),"%")),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){var n=this;if(this.type=t,this.options.video.customType&&this.options.video.customType[t])"[object Function]"===Object.prototype.toString.call(this.options.video.customType[t])?this.options.video.customType[t](this.video,this):console.error("Illegal customType: ".concat(t));else switch("auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(e.src)?this.type="dash":this.type="normal"),"hls"===this.type&&(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))&&(this.type="normal"),this.type){case"hls":if(Hls)if(Hls.isSupported()){var i=new Hls;i.loadSource(e.src),i.attachMedia(e)}else this.notice("Error: Hls is not supported.");else this.notice("Error: Can't find Hls.");break;case"flv":if(flvjs&&flvjs.isSupported())if(flvjs.isSupported()){var a=flvjs.createPlayer({type:"flv",url:e.src});a.attachMediaElement(e),a.load()}else this.notice("Error: flvjs is not supported.");else this.notice("Error: Can't find flvjs.");break;case"dash":dashjs?dashjs.MediaPlayer().create().initialize(e,e.src,!1):this.notice("Error: Can't find dashjs.");break;case"webtorrent":if(WebTorrent)if(WebTorrent.WEBRTC_SUPPORT){this.container.classList.add("dplayer-loading");var o=new WebTorrent,r=e.src;o.add(r,function(e){e.files.find(function(e){return e.name.endsWith(".mp4")}).renderTo(n.video,{autoplay:n.options.autoplay},function(){n.container.classList.remove("dplayer-loading")})})}else this.notice("Error: Webtorrent is not supported.");else this.notice("Error: Can't find Webtorrent.")}}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&e.duration!==1/0&&(n.template.dtime.innerHTML=o.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set("loaded",t,"width")}),this.on("error",function(){n.video.error&&n.tran&&n.notice&&(n.type,n.notice(n.tran("Video load failed"),-1))}),this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),n.play()):n.pause(),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()}),this.on("timeupdate",function(){n.bar.set("played",n.video.currentTime/n.video.duration,"width");var e=o.secondToTime(n.video.currentTime);n.template.ptime.innerHTML!==e&&(n.template.ptime.innerHTML=e)});for(var i=function(t){e.addEventListener(n.events.videoEvents[t],function(){n.events.trigger(n.events.videoEvents[t])})},a=0;a1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),n>0&&(this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("notice_hide")},n))}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.controller.thumbnails&&this.controller.thumbnails.resize(160,this.video.videoHeight/this.video.videoWidth*160,this.template.barWrap.offsetWidth),this.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){Ce.splice(Ce.indexOf(this),1),this.pause(),this.controller.destroy(),this.timer.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy")}}])&&Be(t.prototype,n),a&&Be(t,a),e}();console.log("\n".concat(" %c DPlayer v","1.25.0"," ").concat("8eb2fdd"," %c http://dplayer.js.org ","\n","\n"),"color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;");t.default=_e}]).default}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=53)}([function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=n(5),o=n(37),r=Object.prototype.toString;function s(e){return"[object Array]"===r.call(e)}function l(e){return null!==e&&"object"===i(e)}function c(e){return"[object Function]"===r.call(e)}function u(e,t){if(null!=e)if("object"!==i(e)&&(e=[e]),s(e))for(var n=0,a=e.length;n\n ",n&&(t+='\n \n '),t+="\n"}},function(e,t,n){e.exports=n(36)},function(e,t){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{i="function"==typeof clearTimeout?clearTimeout:r}catch(e){i=r}}();var l,c=[],u=!1,d=-1;function p(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&h())}function h(){if(!u){var e=s(p);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d1)for(var n=1;n=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(o)}),e.exports=l}).call(this,n(4))},function(e,t,n){"use strict";var i=n(0),a=n(43),o=n(6),r=n(45),s=n(46),l=n(10);e.exports=function(e){return new Promise(function(t,c){var u=e.data,d=e.headers;i.isFormData(u)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";d.Authorization="Basic "+btoa(h+":"+m)}if(p.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?r(p.getAllResponseHeaders()):null,i={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};a(t,c,i),p=null}},p.onabort=function(){p&&(c(l("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){c(l("Network Error",e,null,p)),p=null},p.ontimeout=function(){c(l("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},i.isStandardBrowserEnv()){var y=n(47),f=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;f&&(d[e.xsrfHeaderName]=f)}if("setRequestHeader"in p&&i.forEach(d,function(e,t){void 0===u&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),c(e),p=null)}),void 0===u&&(u=null),p.send(u)})}},function(e,t,n){"use strict";var i=n(44);e.exports=function(e,t,n,a,o){var r=new Error(e);return i(r,t,n,a,o)}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e,t){t=t||{};var n={};return i.forEach(["url","method","params","data"],function(e){void 0!==t[e]&&(n[e]=t[e])}),i.forEach(["headers","auth","proxy"],function(a){i.isObject(t[a])?n[a]=i.deepMerge(e[a],t[a]):void 0!==t[a]?n[a]=t[a]:i.isObject(e[a])?n[a]=i.deepMerge(e[a]):void 0!==e[a]&&(n[a]=e[a])}),i.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(i){void 0!==t[i]?n[i]=t[i]:void 0!==e[i]&&(n[i]=e[i])}),n}},function(e,t,n){"use strict";function i(e){this.message=e}i.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},i.prototype.__CANCEL__=!0,e.exports=i},function(e,t,n){"use strict";e.exports=n(52)},function(e,t,n){"use strict";(function(e){var i=n(15);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=setTimeout;function r(){}function s(e){if(!(this instanceof s))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],h(e,this)}function l(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,s._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void u(t.promise,e)}c(t.promise,i)}else(1===e._state?c:u)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===a(t)||"function"==typeof t)){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void d(e);if("function"==typeof n)return void h((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,d(e)}catch(t){u(e,t)}var i,o}function u(e,t){e._state=2,e._value=t,d(e)}function d(e){2===e._state&&0===e._deferreds.length&&s._immediateFn(function(){e._handled||s._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t\n \n '),t+='\n
\n
\n
\n
\n
\n \n ',r.danmaku&&(t+='\n ',t+=s(l("Danmaku is loading")),t+="\n "),t+='\n ',t+=c.loading,t+='\n
\n\n
\n
\n
\n \n
\n
\n
',t+=s(l("Set danmaku color")),t+='
\n \n \n \n \n \n \n
\n
\n
',t+=s(l("Set danmaku type")),t+='
\n \n \n \n
\n
\n \n ',t+=c.send,t+='\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n ',r.live&&(t+='\n ',t+=s(l("Live")),t+="\n "),t+='\n
\n
\n ',r.video.quality&&(t+='\n
\n \n
\n
\n ',d(r.video.quality,function(e,n){t+='\n
',t+=s(e.name),t+="
\n "}),t+="\n
\n
\n
\n "),t+="\n ",r.screenshot&&(t+='\n
\n
\n "),t+='\n
\n \n
\n ",r.subtitle&&(t+='\n
\n \n
\n "),t+='\n
\n \n
\n
\n
\n ',t+=s(l("Speed")),t+='\n
',t+=c.right,t+='
\n
\n
\n ',t+=s(l("Loop")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(l("Show danmaku")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(l("Unlimited danmaku")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(l("Opacity for danmaku")),t+='\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n 0.5\n
\n
\n 0.75\n
\n
\n ',t+=s(l("Normal")),t+='\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n ',r.danmaku&&(t+='\n
\n Danamku id\n \n
\n
\n Danamku api\n \n
\n
\n Danamku amount\n \n
\n '),t+='\n
\n
\n ',d(r.contextmenu,function(e,n){t+='\n
\n ',t+=s(l(e.text)),t+="\n
\n "}),t+='\n
\n
'}},function(e,t,n){},function(e,t,n){(function(e){var i=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(a.call(setTimeout,i,arguments),clearTimeout)},t.setInterval=function(){return new o(a.call(setInterval,i,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(i,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(35),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(1))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var i,a,o,r,s,l=1,c={},u=!1,d=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){m(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){m(e.data)},i=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(a=d.documentElement,i=function(e){var t=d.createElement("script");t.onreadystatechange=function(){m(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):i=function(e){setTimeout(m,0,e)}:(r="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&m(+t.data.slice(r.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),i=function(t){e.postMessage(r+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0)return;r[t]="set-cookie"===t?(r[t]?r[t]:[]).concat([n]):r[t]?r[t]+", "+n:n}}),r):r}},function(e,t,n){"use strict";var i=n(0);e.exports=i.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function a(e){var i=e;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=a(window.location.href),function(t){var n=i.isString(t)?a(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var i=n(0);e.exports=i.isStandardBrowserEnv()?{write:function(e,t,n,a,o,r){var s=[];s.push(e+"="+encodeURIComponent(t)),i.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),i.isString(a)&&s.push("path="+a),i.isString(o)&&s.push("domain="+o),!0===r&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var i=n(12);function a(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}a.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},a.source=function(){var e;return{token:new a(function(t){e=t}),cancel:e}},e.exports=a},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";(function(t){var n="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},i=Object.create(n),a=/["&'<>]/;i.$escape=function(e){return function(e){var t=""+e,n=a.exec(t);if(!n)return e;var i="",o=void 0,r=void 0,s=void 0;for(o=n.index,r=0;o0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getBoundingClientRectViewLeft:function(e){var t=window.scrollY||window.pageYOffset||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0);if(e.getBoundingClientRect){if("number"!=typeof this.getBoundingClientRectViewLeft.offset){var n=document.createElement("div");n.style.cssText="position:absolute;top:0;left:0;",document.body.appendChild(n),this.getBoundingClientRectViewLeft.offset=-n.getBoundingClientRect().top-t,document.body.removeChild(n),n=null}var i=e.getBoundingClientRect(),a=this.getBoundingClientRectViewLeft.offset;return i.left+a}return this.getElementViewLeft(e)},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=a):window.scrollTo(n,a)},isMobile:a,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0,n+=e.offsetLeft||0,e=e.offsetParent}while(e);return{top:t,left:n}},nameMap:{dragStart:a?"touchstart":"mousedown",dragMove:a?"touchmove":"mousemove",dragEnd:a?"touchend":"mouseup"},color2Number:function(e){return"#"===e[0]&&(e=e.substr(1)),3===e.length&&(e="".concat(e[0]).concat(e[0]).concat(e[1]).concat(e[1]).concat(e[2]).concat(e[2])),parseInt(e,16)+0&16777215},number2Color:function(e){return"#"+("00000"+e.toString(16)).slice(-6)},number2Type:function(e){switch(e){case 0:return"right";case 1:return"top";case 2:return"bottom";default:return"right"}}},r=n(3),s=n.n(r),l={send:function(e){s.a.post(e.url,e.data).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})},read:function(e){s.a.get(e.url).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n.data.map(function(e){return{time:e[0],type:e[1],color:e[2],author:e[3],text:e[4]}})):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})}};function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var u=function(e){var t={container:e.element||document.getElementsByClassName("dplayer")[0],live:!1,autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"metadata",volume:.7,apiBackend:l,video:{},contextmenu:[],mutex:!0};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),"object"===c(e.danmaku)&&e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=e.video.quality[e.video.defaultQuality].url),e.lang&&(e.lang=e.lang.toLowerCase()),e.contextmenu=e.contextmenu.concat([{text:"Video info",click:function(e){e.infoPanel.triggle()}},{text:"About author",link:"https://diygod.me"},{text:"DPlayer v".concat("1.25.0"),link:"https://github.com/MoePlayer/DPlayer"}]),e};var d={"zh-cn":{"Danmaku is loading":"弹幕加载中",Top:"顶部",Bottom:"底部",Rolling:"滚动","Input danmaku, hit Enter":"输入弹幕,回车发送","About author":"关于作者","DPlayer feedback":"播放器意见反馈","About DPlayer":"关于 DPlayer 播放器",Loop:"洗脑循环",Speed:"速度","Opacity for danmaku":"弹幕透明度",Normal:"正常","Please input danmaku content!":"要输入弹幕内容啊喂!","Set danmaku color":"设置弹幕颜色","Set danmaku type":"设置弹幕类型","Show danmaku":"显示弹幕","Video load failed":"视频加载失败","Danmaku load failed":"弹幕加载失败","Danmaku send failed":"弹幕发送失败","Switching to":"正在切换至","Switched to":"已经切换至",quality:"画质",FF:"快进",REW:"快退","Unlimited danmaku":"海量弹幕","Send danmaku":"发送弹幕",Setting:"设置","Full screen":"全屏","Web full screen":"页面全屏",Send:"发送",Screenshot:"截图",s:"秒","Show subtitle":"显示字幕","Hide subtitle":"隐藏字幕",Volume:"音量",Live:"直播","Video info":"视频统计信息"},"zh-tw":{"Danmaku is loading":"彈幕載入中",Top:"頂部",Bottom:"底部",Rolling:"滾動","Input danmaku, hit Enter":"輸入彈幕,Enter 發送","About author":"關於作者","DPlayer feedback":"播放器意見回饋","About DPlayer":"關於 DPlayer 播放器",Loop:"循環播放",Speed:"速度","Opacity for danmaku":"彈幕透明度",Normal:"正常","Please input danmaku content!":"請輸入彈幕內容啊!","Set danmaku color":"設定彈幕顏色","Set danmaku type":"設定彈幕類型","Show danmaku":"顯示彈幕","Video load failed":"影片載入失敗","Danmaku load failed":"彈幕載入失敗","Danmaku send failed":"彈幕發送失敗","Switching to":"正在切換至","Switched to":"已經切換至",quality:"畫質",FF:"快進",REW:"快退","Unlimited danmaku":"巨量彈幕","Send danmaku":"發送彈幕",Setting:"設定","Full screen":"全螢幕","Web full screen":"頁面全螢幕",Send:"發送",Screenshot:"截圖",s:"秒","Show subtitle":"顯示字幕","Hide subtitle":"隱藏字幕",Volume:"音量",Live:"直播","Video info":"影片統計訊息"}},p=function(e){var t=this;this.lang=e,this.tran=function(e){return d[t.lang]&&d[t.lang][e]?d[t.lang][e]:e}},h=n(16),m=n.n(h),y=n(17),f=n.n(y),v=n(18),g=n.n(v),b=n(19),w=n.n(b),k=n(20),x=n.n(k),S=n(21),T=n.n(S),L=n(22),E=n.n(L),q=n(23),B=n.n(q),M=n(24),C=n.n(M),P=n(25),_=n.n(P),F=n(26),O=n.n(F),j=n(27),D=n.n(j),z=n(28),I=n.n(z),R=n(29),A=n.n(R),W=n(30),H=n.n(W),N=n(31),V=n.n(N),U={play:m.a,pause:f.a,volumeUp:g.a,volumeDown:w.a,volumeOff:x.a,full:T.a,fullWeb:E.a,setting:B.a,right:C.a,comment:_.a,commentOff:O.a,send:D.a,pallette:I.a,camera:A.a,subtitle:H.a,loading:V.a},X=n(32),$=n.n(X);function Q(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n').concat(e[a].text,""):r.innerHTML=e[a].text,r.style.opacity=t._opacity,r.style.color=o.number2Color(e[a].color),r.addEventListener("animationend",function(){t.container.removeChild(r)});var s=t._measure(e[a].text),l=void 0;switch(e[a].type){case"right":(l=c(r,e[a].type,s))>=0&&(r.style.width=s+1+"px",r.style.top=n*l+"px",r.style.transform="translateX(-".concat(i,"px)"));break;case"top":(l=c(r,e[a].type))>=0&&(r.style.top=n*l+"px");break;case"bottom":(l=c(r,e[a].type))>=0&&(r.style.bottom=n*l+"px");break;default:console.error("Can't handled danmaku type: ".concat(e[a].type))}l>=0&&(r.classList.add("dplayer-danmaku-move"),u.appendChild(r))},p=0;p=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser";switch(e){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",t="browser"===e?"web":"browser",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=o.getScrollPosition()),e){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen?this.player.video.webkitEnterFullscreen():this.player.video.webkitEnterFullScreen?this.player.video.webkitEnterFullScreen():this.player.container.msRequestFullscreen&&this.player.container.msRequestFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}n&&this.cancel(t)}},{key:"cancel",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";switch(e){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.webkitCancelFullscreen?document.webkitCancelFullscreen():document.msCancelFullScreen?document.msCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}])&&te(t.prototype,n),i&&te(t,i),e}();function ie(e,t){for(var n=0;n".concat(e,"

")}).join("");e.container.innerHTML=a}e.events.trigger("subtitle_change")}}}},{key:"show",value:function(){this.container.classList.remove("dplayer-subtitle-hide"),this.events.trigger("subtitle_show")}},{key:"hide",value:function(){this.container.classList.add("dplayer-subtitle-hide"),this.events.trigger("subtitle_hide")}},{key:"toggle",value:function(){this.container.classList.contains("dplayer-subtitle-hide")?this.show():this.hide()}}])&&oe(t.prototype,n),i&&oe(t,i),e}();function se(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initfpsChecker",value:function(){var e=this;window.requestAnimationFrame(function(){if(e.enablefpsChecker)if(e.initfpsChecker(),e.fpsStart){e.fpsIndex++;var t=new Date;t-e.fpsStart>1e3&&(e.player.infoPanel.fps(e.fpsIndex/(t-e.fpsStart)*1e3),e.fpsStart=new Date,e.fpsIndex=0)}else e.fpsStart=new Date,e.fpsIndex=0;else e.fpsStart=0,e.fpsIndex=0})}},{key:"initinfoChecker",value:function(){var e=this;this.infoChecker=setInterval(function(){e.enableinfoChecker&&e.player.infoPanel.update()},1e3)}},{key:"enable",value:function(e){this["enable".concat(e,"Checker")]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable".concat(e,"Checker")]=!1}},{key:"destroy",value:function(){var e=this;this.types.map(function(t){return e["enable".concat(t,"Checker")]=!1,e["".concat(t,"Checker")]&&clearInterval(e["".concat(t,"Checker")]),t})}}])&&ce(t.prototype,n),i&&ce(t,i),e}();function de(e,t){for(var n=0;n'+e.player.options.highlight[n].text+"",e.player.template.playedBarWrap.insertBefore(i,e.player.template.playedBarTime)}}})}},{key:"initThumbnails",value:function(){var e=this;this.player.options.video.thumbnails&&(this.thumbnails=new me({container:this.player.template.barPreview,barWidth:this.player.template.barWrap.offsetWidth,url:this.player.options.video.thumbnails,events:this.player.events}),this.player.on("loadedmetadata",function(){e.thumbnails.resize(160,e.player.video.videoHeight/e.player.video.videoWidth*160,e.player.template.barWrap.offsetWidth)}))}},{key:"initPlayedBar",value:function(){var e=this,t=function(t){var n=((t.clientX||t.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;n=Math.max(n,0),n=Math.min(n,1),e.player.bar.set("played",n,"width"),e.player.template.ptime.innerHTML=o.secondToTime(n*e.player.video.duration)},n=function n(i){document.removeEventListener(o.nameMap.dragEnd,n),document.removeEventListener(o.nameMap.dragMove,t);var a=((i.clientX||i.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;a=Math.max(a,0),a=Math.min(a,1),e.player.bar.set("played",a,"width"),e.player.seek(e.player.bar.get("played")*e.player.video.duration),e.player.timer.enable("progress")};this.player.template.playedBarWrap.addEventListener(o.nameMap.dragStart,function(){e.player.timer.disable("progress"),document.addEventListener(o.nameMap.dragMove,t),document.addEventListener(o.nameMap.dragEnd,n)}),this.player.template.playedBarWrap.addEventListener(o.nameMap.dragMove,function(t){if(e.player.video.duration){var n=o.cumulativeOffset(e.player.template.playedBarWrap).left,i=(t.clientX||t.changedTouches[0].clientX)-n;if(i<0||i>e.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);o.isMobile&&e.thumbnails&&e.thumbnails.show(),e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left="".concat(i-(a>=3600?25:20),"px"),e.player.template.playedBarTime.innerText=o.secondToTime(a),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(o.nameMap.dragEnd,function(){o.isMobile&&e.thumbnails&&e.thumbnails.hide()}),o.isMobile||(this.player.template.playedBarWrap.addEventListener("mouseenter",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(),e.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(),e.player.template.playedBarTime.classList.add("hidden"))}))}},{key:"initFullButton",value:function(){var e=this;this.player.template.browserFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("web")})}},{key:"initVolumeButton",value:function(){var e=this,t=function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener(o.nameMap.dragEnd,n),document.removeEventListener(o.nameMap.dragMove,t),e.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-o.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener(o.nameMap.dragStart,function(){document.addEventListener(o.nameMap.dragMove,t),document.addEventListener(o.nameMap.dragEnd,n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeButtonIcon.addEventListener("click",function(){e.player.video.muted?(e.player.video.muted=!1,e.player.switchVolumeIcon(),e.player.bar.set("volume",e.player.volume(),"width")):(e.player.video.muted=!0,e.player.template.volumeIcon.innerHTML=U.volumeOff,e.player.bar.set("volume",0,"width"))})}},{key:"initQualityButton",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",function(t){t.target.classList.contains("dplayer-quality-item")&&e.player.switchQuality(t.target.dataset.index)})}},{key:"initScreenshotButton",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",function(){var t,n=document.createElement("canvas");n.width=e.player.video.videoWidth,n.height=e.player.video.videoHeight,n.getContext("2d").drawImage(e.player.video,0,0,n.width,n.height),n.toBlob(function(e){t=URL.createObjectURL(e);var n=document.createElement("a");n.href=t,n.download="DPlayer.png",n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}),e.player.events.trigger("screenshot",t)})}},{key:"initSubtitleButton",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on("subtitle_show",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Hide subtitle"),e.player.template.subtitleButtonInner.style.opacity="",e.player.user.set("subtitle",1)}),this.player.events.on("subtitle_hide",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Show subtitle"),e.player.template.subtitleButtonInner.style.opacity="0.4",e.player.user.set("subtitle",0)}),this.player.template.subtitleButton.addEventListener("click",function(){e.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var e=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout(function(){!e.player.video.played.length||e.player.paused||e.disableAutoHide||e.hide()},3e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment&&this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){clearTimeout(this.autoHideTimer)}}])&&ye(t.prototype,n),i&&ye(t,i),e}();function ve(e,t){for(var n=0;n=n.width?(this.player.template.menu.style.right=n.width-e+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=e+"px",this.player.template.menu.style.right="initial"),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=t+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.shown=!0,this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.shown=!1,this.player.events.trigger("contextmenu_hide")}}])&&xe(t.prototype,n),i&&xe(t,i),e}();function Te(e,t){for(var n=0;ne&&this.notice("".concat(this.tran("REW")," ").concat((this.video.currentTime-e).toFixed(0)," ").concat(this.tran("s"))),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width"),this.template.ptime.innerHTML=o.secondToTime(e)}},{key:"play",value:function(){var e=this;if(this.paused=!1,this.video.paused&&this.bezel.switch(U.play),this.template.playButton.innerHTML=U.pause,i.a.resolve(this.video.play()).catch(function(){e.pause()}).then(function(){}),this.timer.enable("loading"),this.container.classList.remove("dplayer-paused"),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var t=0;t<_e.length;t++)this!==_e[t]&&_e[t].pause()}},{key:"pause",value:function(){this.paused=!0,this.container.classList.remove("dplayer-loading"),this.video.paused||this.bezel.switch(U.pause),this.template.playButton.innerHTML=U.play,this.video.pause(),this.timer.disable("loading"),this.container.classList.remove("dplayer-playing"),this.container.classList.add("dplayer-paused"),this.danmaku&&this.danmaku.pause()}},{key:"switchVolumeIcon",value:function(){this.volume()>=.95?this.template.volumeIcon.innerHTML=U.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=U.volumeDown:this.template.volumeIcon.innerHTML=U.volumeOff}},{key:"volume",value:function(e,t,n){if(e=parseFloat(e),!isNaN(e)){e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"width");var i="".concat((100*e).toFixed(0),"%");this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice("".concat(this.tran("Volume")," ").concat((100*e).toFixed(0),"%")),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){var n=this;if(this.type=t,this.options.video.customType&&this.options.video.customType[t])"[object Function]"===Object.prototype.toString.call(this.options.video.customType[t])?this.options.video.customType[t](this.video,this):console.error("Illegal customType: ".concat(t));else switch("auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(e.src)?this.type="dash":this.type="normal"),"hls"===this.type&&(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))&&(this.type="normal"),this.type){case"hls":if(Hls)if(Hls.isSupported()){var i=new Hls;i.loadSource(e.src),i.attachMedia(e),this.events.on("destroy",function(){i.destroy()})}else this.notice("Error: Hls is not supported.");else this.notice("Error: Can't find Hls.");break;case"flv":if(flvjs)if(flvjs.isSupported()){var a=flvjs.createPlayer({type:"flv",url:e.src});a.attachMediaElement(e),a.load(),this.events.on("destroy",function(){a.unload(),a.detachMediaElement(),a.destroy()})}else this.notice("Error: flvjs is not supported.");else this.notice("Error: Can't find flvjs.");break;case"dash":dashjs?(dashjs.MediaPlayer().create().initialize(e,e.src,!1),this.events.on("destroy",function(){dashjs.MediaPlayer().reset()})):this.notice("Error: Can't find dashjs.");break;case"webtorrent":if(WebTorrent)if(WebTorrent.WEBRTC_SUPPORT){this.container.classList.add("dplayer-loading");var o=new WebTorrent,r=e.src;e.src="",e.preload="metadata",e.addEventListener("durationchange",function(){return n.container.classList.remove("dplayer-loading")},{once:!0}),o.add(r,function(e){e.files.find(function(e){return e.name.endsWith(".mp4")}).renderTo(n.video,{autoplay:n.options.autoplay})}),this.events.on("destroy",function(){o.remove(r),o.destroy()})}else this.notice("Error: Webtorrent is not supported.");else this.notice("Error: Can't find Webtorrent.")}}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&e.duration!==1/0&&(n.template.dtime.innerHTML=o.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set("loaded",t,"width")}),this.on("error",function(){n.video.error&&n.tran&&n.notice&&"webtorrent"!==n.type&&n.notice(n.tran("Video load failed"),-1)}),this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),n.play()):n.pause(),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()}),this.on("timeupdate",function(){n.bar.set("played",n.video.currentTime/n.video.duration,"width");var e=o.secondToTime(n.video.currentTime);n.template.ptime.innerHTML!==e&&(n.template.ptime.innerHTML=e)});for(var i=function(t){e.addEventListener(n.events.videoEvents[t],function(){n.events.trigger(n.events.videoEvents[t])})},a=0;a1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),n>0&&(this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("notice_hide")},n))}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.controller.thumbnails&&this.controller.thumbnails.resize(160,this.video.videoHeight/this.video.videoWidth*160,this.template.barWrap.offsetWidth),this.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){_e.splice(_e.indexOf(this),1),this.pause(),this.controller.destroy(),this.timer.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy")}}])&&Ce(t.prototype,n),a&&Ce(t,a),e}();console.log("\n".concat(" %c DPlayer v","1.25.0"," ").concat("ee9c4bf"," %c http://dplayer.js.org ","\n","\n"),"color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;");t.default=Fe}]).default}); //# sourceMappingURL=DPlayer.min.js.map \ No newline at end of file diff --git a/dist/DPlayer.min.js.map b/dist/DPlayer.min.js.map index 06c80ee..5cd5b95 100644 --- a/dist/DPlayer.min.js.map +++ b/dist/DPlayer.min.js.map @@ -1 +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]/(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]/./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","$$out","enableSubtitle","subtitle","$data","current","pic","$escape","$imports","screenshot","preload","url","type","g","this","Function","e","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","utils","encode","encodeURIComponent","params","paramsSerializer","serializedParams","parts","v","toISOString","JSON","stringify","join","hashmarkIndex","indexOf","slice","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","data","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","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","setImmediate","_finally__WEBPACK_IMPORTED_MODULE_0__","setTimeoutFunc","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","values","err","console","warn","__webpack_exports__","callback","video","options","tran","icons","index","$each","$value","$index","logo","danmaku","bottm","loading","pallette","play","volumeDown","theme","live","quality","defaultQuality","camera","comment","setting","right","fullWeb","full","contextmenu","link","text","Timeout","id","clearFn","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","item","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","createElement","documentElement","script","removeChild","appendChild","Math","random","source","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","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","relativeURL","executor","resolvePromise","token","globalThis","runtime","ESCAPE_REG","content","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","_i","isMobile","js_utils","secondToTime","second","hour","floor","min","sec","map","num","getElementViewLeft","element","actualLeft","offsetLeft","offsetParent","elementScrollLeft","body","scrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","style","cssText","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","api","axios_default","post","success","msg","time","author","js_options","defaultOption","container","getElementsByClassName","autoplay","loop","lang","language","browserLanguage","hotkey","volume","apiBackend","mutex","defaultKey","user","fontSize","bottom","click","player","infoPanel","triggle","tranTxt","zh-cn","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Show danmaku","Video load failed","Danmaku load failed","Danmaku send failed","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Setting","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","Video info","zh-tw","js_i18n","_this","play_default","pause","pause_default","volumeUp","volume_up_default","volume_down_default","volumeOff","volume_off_default","full_default","full_web_default","setting_default","right_default","comment_default","commentOff","comment_off_default","send_default","pallette_default","camera_default","subtitle_default","loading_default","_defineProperties","target","props","descriptor","configurable","writable","template","Template","Constructor","_classCallCheck","init","protoProps","staticProps","innerHTML","player_default","volumeBar","querySelector","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_typeof","danmaku_defineProperties","Danmaku","danmaku_classCallCheck","danTunnel","danIndex","dan","showing","_opacity","opacity","events","unlimited","_measure","load","apiurl","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","j","danRight","_ret","docFragment","createDocumentFragment","_loop3","classList","add","itemWidth","tunnel","transform","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","events_defineProperties","Events","events_classCallCheck","videoEvents","playerEvents","info","fullscreen_defineProperties","fullscreen","FullScreen","fullscreen_classCallCheck","resize","lastScrollPosition","fullscreenchange","isFullScreen","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","user_defineProperties","User","user_classCallCheck","storageName","subtitle_defineProperties","js_subtitle","Subtitle","subtitle_classCallCheck","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","show","hide","bar_defineProperties","bar","Bar","bar_classCallCheck","elements","played","loaded","direction","max","timer_defineProperties","timer","Timer","timer_classCallCheck","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","update","bezel_defineProperties","Bezel","bezel_classCallCheck","icon","thumbnails_defineProperties","thumbnails","Thumbnails","thumbnails_classCallCheck","barWidth","backgroundImage","barWrapWidth","display","position","backgroundPosition","ceil","controller_defineProperties","Controller","controller_classCallCheck","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initVolumeButton","toggle","duration","Infinity","highlight","highlights","insertBefore","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","thumbUp","removeEventListener","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_defineProperties","js_setting","setting_classCallCheck","checked","unlimit","danmakuMove","danmakuUp","comment_defineProperties","js_comment","Comment","comment_classCallCheck","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","hotkey_classCallCheck","tag","activeElement","tagName","editable","getAttribute","preventDefault","contextmenu_defineProperties","ContextMenu","contextmenu_classCallCheck","shown","clientRect","clientY","x","y","info_panel_defineProperties","info_panel","InfoPanel","info_panel_classCallCheck","beginTime","toFixed","player_defineProperties","player_index","instances","js_player","DPlayer","player_classCallCheck","qualityIndex","arrow","initVideo","src","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","initMSE","reload","customType","canPlayType","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","dashjs","MediaPlayer","initialize","WebTorrent","WEBRTC_SUPPORT","client","torrentId","torrent","files","find","file","endsWith","renderTo","buffered","end","switchingQuality","videoHTML","video_default","videoEle","DOMParser","parseFromString","firstChild","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","destroy","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 = 53);\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\n {{ if enableSubtitle }}\n \n {{ /if }}\n","module.exports = require('./lib/axios');","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 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 (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\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 (values) {\n return new Promise(function (resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[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 = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","
\n
\n {{ include './video.art' video }}\n {{ if options.logo }}\n
\n \n
\n {{ /if }}\n
\n
\n
\n
\n
\n \n {{ if options.danmaku }}\n {{ tran('Danmaku is loading') }}\n {{ /if }}\n {{@ icons.loading }}\n
\n
\n
\n
\n
\n \n
\n
\n
{{ tran('Set danmaku color') }}
\n \n \n \n \n \n \n
\n
\n
{{ tran('Set danmaku type') }}
\n \n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n {{ if options.live }}\n {{ tran('Live') }}\n {{ /if }}\n
\n
\n {{ if options.video.quality }}\n
\n \n
\n
\n {{ each options.video.quality }}\n
{{ $value.name }}
\n {{ /each }}\n
\n
\n
\n {{ /if }}\n {{ if options.screenshot }}\n
\n {{@ icons.camera }}\n
\n {{ /if }}\n
\n \n
\n {{ if options.subtitle }}\n
\n \n
\n {{ /if }}\n
\n \n
\n
\n
\n {{ tran('Speed') }}\n
{{@ icons.right }}
\n
\n
\n {{ tran('Loop') }}\n
\n \n \n
\n
\n
\n {{ tran('Show danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('Unlimited danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('Opacity for danmaku') }}\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n 0.5\n
\n
\n 0.75\n
\n
\n {{ tran('Normal') }}\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
00:00
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n {{ if options.danmaku }}\n
\n Danamku id\n \n
\n
\n Danamku api\n \n
\n
\n Danamku amount\n \n
\n {{ /if }}\n
\n
\n {{ each options.contextmenu }}\n
\n {{ tran($value.text) }}\n
\n {{ /each }}\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 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 };\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 = '').concat(dan[i].text, '');\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, '/');\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.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 if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\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 = '' + _this3.player.options.highlight[i].text + '';\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 _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(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 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 hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\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 && flvjs.isSupported()) {\n if (flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\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 dashjs.MediaPlayer().create().initialize(video, video.src, false);\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 client = new WebTorrent();\n var torrentId = video.src;\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 }, function () {\n _this3.container.classList.remove('dplayer-loading');\n });\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":""} \ No newline at end of file +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/axios/lib/utils.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/axios/index.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]/./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/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","g","this","Function","e","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","utils","encode","encodeURIComponent","url","params","paramsSerializer","serializedParams","parts","v","toISOString","JSON","stringify","join","hashmarkIndex","indexOf","slice","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","data","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","btoa","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","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","values","setImmediate","err","console","warn","callback","Timeout","id","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","createElement","documentElement","script","removeChild","appendChild","Math","random","source","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","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","relativeURL","executor","resolvePromise","token","globalThis","runtime","ESCAPE_REG","$escape","content","regexResult","exec","lastIndex","_char","index","charCodeAt","substring","xmlEscape","$each","_i","isMobile","secondToTime","second","hour","floor","min","sec","map","num","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","style","cssText","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","options","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","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","target","props","descriptor","configurable","writable","Template","Constructor","_classCallCheck","init","protoProps","staticProps","innerHTML","icons","pic","volumeBar","querySelector","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","j","danRight","_ret","docFragment","createDocumentFragment","_loop3","classList","add","itemWidth","tunnel","transform","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","Events","videoEvents","playerEvents","info","FullScreen","resize","lastScrollPosition","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","update","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","position","backgroundPosition","ceil","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initVolumeButton","toggle","duration","Infinity","highlight","highlights","insertBefore","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","x","y","InfoPanel","beginTime","toFixed","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_defineProperty","instances","DPlayer","getOwnPropertyDescriptors","defineProperties","_objectSpread","qualityIndex","arrow","initVideo","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","initMSE","reload","customType","canPlayType","Hls","isSupported","hls","loadSource","attachMedia","destroy","flvjs","flvPlayer","createPlayer","attachMediaElement","unload","detachMediaElement","dashjs","MediaPlayer","initialize","reset","WebTorrent","WEBRTC_SUPPORT","client","torrentId","torrent","files","find","file","endsWith","renderTo","buffered","end","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","firstChild","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 = 53);\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};","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;","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n\n {{ if enableSubtitle }}\n \n {{ /if }}\n","module.exports = require('./lib/axios');","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 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 (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\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 (values) {\n return new Promise(function (resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[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 = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","
\n
\n {{ include './video.art' video }}\n {{ if options.logo }}\n
\n \n
\n {{ /if }}\n
\n
\n
\n
\n
\n \n {{ if options.danmaku }}\n {{ tran('Danmaku is loading') }}\n {{ /if }}\n {{@ icons.loading }}\n
\n
\n
\n
\n
\n \n
\n
\n
{{ tran('Set danmaku color') }}
\n \n \n \n \n \n \n
\n
\n
{{ tran('Set danmaku type') }}
\n \n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n {{ if options.live }}\n {{ tran('Live') }}\n {{ /if }}\n
\n
\n {{ if options.video.quality }}\n
\n \n
\n
\n {{ each options.video.quality }}\n
{{ $value.name }}
\n {{ /each }}\n
\n
\n
\n {{ /if }}\n {{ if options.screenshot }}\n
\n {{@ icons.camera }}\n
\n {{ /if }}\n
\n \n
\n {{ if options.subtitle }}\n
\n \n
\n {{ /if }}\n
\n \n
\n
\n
\n {{ tran('Speed') }}\n
{{@ icons.right }}
\n
\n
\n {{ tran('Loop') }}\n
\n \n \n
\n
\n
\n {{ tran('Show danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('Unlimited danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('Opacity for danmaku') }}\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n 0.5\n
\n
\n 0.75\n
\n
\n {{ tran('Normal') }}\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
00:00
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n {{ if options.danmaku }}\n
\n Danamku id\n \n
\n
\n Danamku api\n \n
\n
\n Danamku amount\n \n
\n {{ /if }}\n
\n
\n {{ each options.contextmenu }}\n
\n {{ tran($value.text) }}\n
\n {{ /each }}\n
\n
","var scope = typeof global !== 'undefined' && global || typeof self !== 'undefined' && self || window;\nvar apply = Function.prototype.apply;\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, 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(scope, 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 = typeof self !== 'undefined' && self.setImmediate || typeof global !== 'undefined' && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== 'undefined' && self.clearImmediate || typeof global !== 'undefined' && global.clearImmediate || this && this.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 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 };\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 = '').concat(dan[i].text, '');\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, '/');\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.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 '

'.concat(item, '

');\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 = '' + _this3.player.options.highlight[i].text + '';\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 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 hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n this.events.on('destroy', function () {\n hls.destroy();\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 flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n this.events.on('destroy', function () {\n flvPlayer.unload();\n flvPlayer.detachMediaElement();\n flvPlayer.destroy();\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 dashjs.MediaPlayer().create().initialize(video, video.src, false);\n this.events.on('destroy', function () {\n dashjs.MediaPlayer().reset();\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 client = new WebTorrent();\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 });\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":""} \ No newline at end of file diff --git a/src/js/player.js b/src/js/player.js index ffafa40..fde96aa 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -33,7 +33,7 @@ class DPlayer { * @constructor */ constructor (options) { - this.options = handleOption(options); + this.options = handleOption({preload:options.video.type === 'webtorrent' ? 'none' : 'metadata', ...options}); if (this.options.video.quality) { this.qualityIndex = this.options.video.defaultQuality; @@ -404,12 +404,13 @@ class DPlayer { this.container.classList.add('dplayer-loading'); const client = new WebTorrent(); const torrentId = video.src; + video.src = ''; + video.preload = 'metadata'; + video.addEventListener('durationchange', () => this.container.classList.remove('dplayer-loading'), {once: true}); client.add(torrentId, (torrent) => { const file = torrent.files.find((file) => file.name.endsWith('.mp4')); file.renderTo(this.video, { autoplay: this.options.autoplay - }, () => { - this.container.classList.remove('dplayer-loading'); }); }); this.events.on('destroy', () => { @@ -455,7 +456,7 @@ class DPlayer { // Not a video load error, may be poster load failed, see #307 return; } - this.tran && this.notice && this.type !== 'webtorrent' & this.notice(this.tran('Video load failed'), -1); + this.tran && this.notice && this.type !== 'webtorrent' && this.notice(this.tran('Video load failed'), -1); }); // video end diff --git a/src/js/subtitle.js b/src/js/subtitle.js index 32c2fc4..cf3e244 100644 --- a/src/js/subtitle.js +++ b/src/js/subtitle.js @@ -22,7 +22,7 @@ class Subtitle { if (cue) { const template = document.createElement('div'); template.appendChild(cue.getCueAsHTML()); - const trackHtml = template.innerHTML.split(/\r?\n/).map(item => `

${item}

`).join(''); + const trackHtml = template.innerHTML.split(/\r?\n/).map((item) => `

${item}

`).join(''); this.container.innerHTML = trackHtml; } this.events.trigger('subtitle_change');