diff --git a/dist/DPlayer.min.css b/dist/DPlayer.min.css index 73cdb8f49..5886b0a6c 100644 --- a/dist/DPlayer.min.css +++ b/dist/DPlayer.min.css @@ -1,2 +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:hsla(0,0%,7%,.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}.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-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:hsla(0,0%,7%,.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 infinite ease-in-out;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{-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 .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:auto 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;width:30px;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 infinite ease-in-out;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::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder,.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-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:hsla(0,0%,7%,.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}.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:hsla(0,0%,7%,.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 infinite ease-in-out;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{-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 .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;width:30px;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 infinite ease-in-out;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::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder,.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-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} + /*# 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 1b8ca4b1c..d7eab4647 100644 --- a/dist/DPlayer.min.css.map +++ b/dist/DPlayer.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/balloon-css/balloon.css","webpack:///./src/css/index.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBAQE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CApBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,kCAWA,kBAEA,UAAY,CAeE,sBAbd,uQACA,0BACA,WACA,WAQA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA,QACA,wCACA,+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ACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MAEE,4CACQ,mCAAwC,CAAE,CAEtD,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,sBAAwB,CAC1B,aACE,WACA,WAAa,CACb,sCAEE,SAAW,CACf,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,qCACQ,4BAA8B,CACxC,0FACE,oCACQ,4BACR,qCACQ,4BAA8B,CAe1C,+pBACE,YAAc,CAChB,wCACE,cAAgB,CAClB,qCACE,aAAe,CACjB,gEACE,qCACQ,4BAA8B,CACxC,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gLAGE,oCACQ,2BAA6B,CACvC,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,2JAEE,YAAc,CAChB,+FACE,gBACA,oBAAsB,CACxB,0CACE,YAAc,CAElB,4BACE,eACA,MACA,OACA,SACA,SAAW,CAEb,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB,CAEnB,eACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,mCACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,sBACA,0BACA,kBACA,UACA,mBAAqB,CACrB,4DACE,wCACQ,+BAAiC,CAE/C,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAChC,mCACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,sCACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,6DACE,YAAc,CAChB,4DACE,8DACQ,sDACR,UACA,iCACQ,wBAA0B,CAClC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAEtC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,yBACE,mSACA,YACA,UAAY,CAKd,6CAJE,kBACA,SACA,uBAA0B,CAaE,oBAR5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAE1B,8DACE,YAAc,CAChB,kFACE,aAAe,CACjB,sCACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,wFACE,2BACQ,kBAAoB,CAC9B,2DACE,kBACA,gBACA,oBACA,aACA,yBAA2B,CAC7B,kEACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,wDACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,+DACE,SAAW,CACf,mDACE,kBACA,WACA,WACA,8BACA,cAAgB,CAChB,mEAKE,8BAEA,uBAA0B,CAE5B,sIARE,kBACA,OACA,MACA,SAEA,WAEA,iBAAmB,CAQnB,kFACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,2BACQ,kBAAoB,CACpC,mCACE,YACA,kBACA,QAAU,CACV,uDACE,aACA,kBACA,+BACA,UACA,YACA,SACA,UACA,WACA,UAAY,CACZ,qEACE,WAAa,CACf,qFACE,kBACA,OACA,KAAO,CACT,0EACE,kBACA,QACA,KAAO,CACT,oFACE,kBACA,6BACA,YACA,OACA,mCACA,kBACA,uBACA,eACA,YACA,+BACA,2BACQ,kBAAoB,CAC5B,iHACE,2BACQ,kBAAoB,CAC9B,sGACE,YAAc,CAChB,0FACE,cAAgB,CAClB,mHACE,eACA,WACA,gBAAkB,CACpB,kHACE,WAAa,CACb,iJACE,iBAAmB,CACrB,0IACE,yBAA2B,CAC7B,0IACE,yBAA2B,CAC7B,uHACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,sBACA,kBACA,sBACA,kBACA,cAAgB,CAClB,qIACE,mBACA,aAAe,CACnB,mHACE,WAAa,CACb,yHACE,YACA,YACA,oBAAsB,CACxB,wHACE,WACA,YACA,qBACA,kBACA,sBACA,cAAgB,CAChB,8HACE,kDACQ,yCAA2C,CAC3D,8EACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,gBACA,SACA,YACA,sBACA,WACA,UAAY,CACZ,yGACE,WACA,UAAa,CAIf,yMACE,WACA,UAAa,CACf,2FACE,WACA,UAAa,CACnB,oEACE,WAAa,CACf,uDACE,UAAY,CACZ,qEACE,WAAa,CACjB,wGAEE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,qDACE,qBACA,UACA,WACA,kBACA,iBACA,WACA,iBAAmB,CACrB,iDACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,sBACA,oBAAsB,CACtB,uEACE,+BACA,UAAY,CACd,6EACE,SAAW,CACb,sEACE,WACA,WACA,iBACA,cAAgB,CAClB,sEACE,oBAAsB,CACxB,sEACE,iBAAmB,CACrB,qEACE,UAAY,CAChB,mDACE,kBACA,qBACA,eACA,WAAa,CACb,sGACE,UAAY,CACd,+IACE,2BACQ,kBAAoB,CAC9B,sHACE,UAAY,CACd,+JACE,2BACQ,kBAAoB,CAC9B,4EACE,qBACA,qBACA,sBACA,WAAa,CACb,gGACE,kBACA,SACA,QACA,WACA,gBACA,8BAAiC,CACjC,0HACE,kBACA,SACA,OACA,YACA,wBACA,iBAAmB,CACnB,yIACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,2BACQ,kBAAoB,CAItC,6GACE,qBACA,WAAa,CACb,yEACE,kBACA,QACA,YACA,2BACQ,mBACR,YACA,kBACA,6BACA,cACA,+BACA,gBACA,SAAW,CACX,6EACE,YAAc,CACd,0GACE,aAAe,CACnB,kGACE,2BACQ,kBAAoB,CAC9B,oGACE,WACA,aACA,iBAAmB,CACrB,iIACE,YAAc,CAChB,gIACE,aAAe,CACnB,0JAEE,YACA,iBACA,sBACA,eACA,iBAAmB,CACnB,sKAEE,mCAA2C,CAC/C,6EACE,aAAe,CACf,4FACE,eACA,cAAgB,CAClB,kGACE,YAAc,CAChB,6GACE,oBAAsB,CACxB,2HACE,YAAc,CAChB,sIACE,oBAAsB,CACxB,uGACE,eACA,sBACA,aACA,sBACA,YACA,UAAY,CACZ,4HACE,kBACA,UACA,WACA,WACA,gBACA,8BAAiC,CACjC,uJACE,kBACA,SACA,OACA,YACA,wBACA,gBACA,iBAAmB,CACnB,sKACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,eAAiB,CAC7B,iDACE,qBACA,YACA,iBAAmB,CACnB,6EACE,aAAe,CACjB,uEACE,kBACA,UACA,UACA,YAAc,CAClB,oDACE,kBACA,qBACA,YACA,SAAW,CAGX,gKACE,aAAe,CACjB,0EACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,0EACE,aACA,eACA,WACA,kBACA,6BACA,cACA,+BACA,gBACA,WACA,iBAAmB,CACrB,0EACE,YACA,sBACA,eACA,gBAAkB,CAClB,gFACE,mCAA2C,CACjD,oDACE,qBACA,WAAa,CACf,kDACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,mDACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,yDACE,aACA,YACA,YAAc,CAChB,+DACE,qBACA,kBACA,iCACA,yBACA,YACA,WACA,mBACA,sBACA,eACA,0BAA4B,CAW9B,2IATE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,0BAA4B,CAYd,qEAJd,gBAEA,mCAAyC,CAG3C,uEACE,+BAAuC,CACzC,8EACE,WACA,6BAAqC,CACvC,6EACE,SAAW,CAEnB,iBACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,uCACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,6CACE,kBACA,iBAAmB,CACvB,wCACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,6DACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE3C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACxC,+EAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,yHAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE3C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,cACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,kBACE,eACA,gBACA,eAAiB,CAErB,cACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,gCACE,aAAe,CACjB,iCACE,YACA,sBACA,cAAgB,CAChB,uCACE,mCAA2C,CAC7C,mCAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,sBACA,mBACA,uBACA,eAAiB,CACjB,yCACE,oBAAsB,CAE9B,gBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,+BACA,gBACA,WACA,mBAAqB,CAEvB,kBACE,kBACA,YACA,UACA,QACA,kBACA,WACA,0CACA,cAAgB,CAChB,wCACE,YAAc,CAElB,cACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,gCACE,aAAe,CAEnB,oBACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,mCACE,WACA,YACA,YAAc,CAChB,2CACE,aAAe,CACjB,2CACE,YAAc,CAElB,oBACE,kBACA,SACA,UACA,YACA,6BACA,aACA,WACA,eACA,iBAAmB,CACnB,yBACE,YAAc,CAChB,8CACE,eACA,kBACA,WACA,QAAU,CACZ,kDACE,qBACA,sBACA,iBACA,mBACA,uBACA,eAAiB,CACnB,mDACE,YACA,iBACA,iBAAmB,CACrB,kDACE,WAAa","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 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 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 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 transform: translate(-50%, 10px);\n -webkit-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 transform: translate(-50%, 10px);\n -webkit-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 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 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 transform: translate(0, 10px);\n -webkit-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 transform: translate(0, 10px);\n -webkit-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 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 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 transform: translate(0, 10px);\n -webkit-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 transform: translate(0, 10px);\n -webkit-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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\n\n\n// WEBPACK FOOTER //\n// ./node_modules/balloon-css/balloon.css","@import url(../../node_modules/balloon-css/balloon.css);\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\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 .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 -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: inherit;\n animation-play-state: inherit; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: inherit;\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-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 -webkit-animation-play-state: running;\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 -webkit-animation-play-state: paused;\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 -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\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 -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\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 -webkit-animation: my-face 5s infinite ease-in-out;\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 -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\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 -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\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 -webkit-transform: scale(1);\n transform: scale(1); }\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: auto 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 width: 30px;\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\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 -webkit-animation: my-face 5s infinite ease-in-out;\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::-webkit-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\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-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 -webkit-transform: scale(1);\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 -webkit-transform: scale(1);\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(1);\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 -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: 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 -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\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 -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\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\n\n\n// WEBPACK FOOTER //\n// ./src/css/index.scss"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://[name]/./node_modules/balloon-css/balloon.css","webpack://[name]/./src/css/index.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBAQE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CApBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,kCAWA,kBAEA,UAAY,CAeE,sBAbd,uQACA,0BACA,WACA,WAQA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA,QACA,wCACA,+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,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MAEE,4CACQ,mCAAwC,CAAE,CAEtD,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,sBAAwB,CAC1B,aACE,WACA,WAAa,CACb,sCAEE,SAAW,CACf,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,qCACQ,4BAA8B,CACxC,0FACE,oCACQ,4BACR,qCACQ,4BAA8B,CAiB1C,ytBACE,YAAc,CAChB,wCACE,cAAgB,CAClB,qCACE,aAAe,CACjB,gEACE,qCACQ,4BAA8B,CACxC,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gLAGE,oCACQ,2BAA6B,CACvC,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,2JAEE,YAAc,CAChB,+FACE,gBACA,oBAAsB,CACxB,0CACE,YAAc,CAElB,4BACE,eACA,MACA,OACA,SACA,SAAW,CAEb,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB,CAEnB,eACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,mCACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,sBACA,0BACA,kBACA,UACA,mBAAqB,CACrB,4DACE,wCACQ,+BAAiC,CAE/C,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAChC,mCACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,sCACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,6DACE,YAAc,CAChB,4DACE,8DACQ,sDACR,UACA,iCACQ,wBAA0B,CAClC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAEtC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,yBACE,mSACA,YACA,UAAY,CAKd,6CAJE,kBACA,SACA,uBAA0B,CAaE,oBAR5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAE1B,8DACE,YAAc,CAChB,kFACE,aAAe,CACjB,sCACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,wFACE,2BACQ,kBAAoB,CAC9B,2DACE,kBACA,gBACA,oBACA,aACA,4BAA8B,CAChC,kEACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,wDACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,+DACE,SAAW,CACf,mDACE,kBACA,WACA,WACA,8BACA,cAAgB,CAChB,mEAKE,8BAEA,uBAA0B,CAE5B,sIARE,kBACA,OACA,MACA,SAEA,WAEA,iBAAmB,CAQnB,kFACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,2BACQ,kBAAoB,CACpC,mCACE,YACA,kBACA,QAAU,CACV,uDACE,aACA,kBACA,+BACA,UACA,YACA,SACA,UACA,WACA,UAAY,CACZ,qEACE,WAAa,CACf,qFACE,kBACA,OACA,KAAO,CACT,0EACE,kBACA,QACA,KAAO,CACT,oFACE,kBACA,6BACA,YACA,OACA,mCACA,kBACA,uBACA,eACA,YACA,+BACA,2BACQ,kBAAoB,CAC5B,iHACE,2BACQ,kBAAoB,CAC9B,sGACE,YAAc,CAChB,0FACE,cAAgB,CAClB,mHACE,eACA,WACA,gBAAkB,CACpB,kHACE,WAAa,CACb,iJACE,iBAAmB,CACrB,0IACE,yBAA2B,CAC7B,0IACE,yBAA2B,CAC7B,uHACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,sBACA,kBACA,sBACA,kBACA,cAAgB,CAClB,qIACE,mBACA,aAAe,CACnB,mHACE,WAAa,CACb,yHACE,YACA,YACA,oBAAsB,CACxB,wHACE,WACA,YACA,qBACA,kBACA,sBACA,cAAgB,CAChB,8HACE,kDACQ,yCAA2C,CAC3D,8EACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,gBACA,SACA,YACA,sBACA,WACA,UAAY,CACZ,yGACE,WACA,UAAa,CAIf,yMACE,WACA,UAAa,CACf,2FACE,WACA,UAAa,CACnB,oEACE,WAAa,CACf,uDACE,UAAY,CACZ,qEACE,WAAa,CACjB,wGAEE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,qDACE,qBACA,UACA,WACA,kBACA,iBACA,WACA,iBAAmB,CACrB,iDACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,sBACA,oBAAsB,CACtB,uEACE,+BACA,UAAY,CACd,6EACE,SAAW,CACb,sEACE,WACA,WACA,iBACA,cAAgB,CAClB,sEACE,oBAAsB,CACxB,sEACE,iBAAmB,CACrB,qEACE,UAAY,CAChB,mDACE,kBACA,qBACA,eACA,WAAa,CACb,sGACE,UAAY,CACd,+IACE,2BACQ,kBAAoB,CAC9B,sHACE,UAAY,CACd,+JACE,2BACQ,kBAAoB,CAC9B,4EACE,qBACA,qBACA,sBACA,WAAa,CACb,gGACE,kBACA,SACA,QACA,WACA,gBACA,8BAAiC,CACjC,0HACE,kBACA,SACA,OACA,YACA,wBACA,iBAAmB,CACnB,yIACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,2BACQ,kBAAoB,CAItC,6GACE,qBACA,WAAa,CACb,yEACE,kBACA,QACA,YACA,2BACQ,mBACR,YACA,kBACA,6BACA,cACA,+BACA,gBACA,SAAW,CACX,6EACE,YAAc,CACd,0GACE,aAAe,CACnB,kGACE,2BACQ,kBAAoB,CAC9B,oGACE,WACA,aACA,iBAAmB,CACrB,iIACE,YAAc,CAChB,gIACE,aAAe,CACnB,0JAEE,YACA,iBACA,sBACA,eACA,iBAAmB,CACnB,sKAEE,mCAA2C,CAC/C,6EACE,aAAe,CACf,4FACE,eACA,cAAgB,CAClB,kGACE,YAAc,CAChB,6GACE,oBAAsB,CACxB,2HACE,YAAc,CAChB,sIACE,oBAAsB,CACxB,uGACE,eACA,sBACA,aACA,sBACA,YACA,UAAY,CACZ,4HACE,kBACA,UACA,WACA,WACA,gBACA,8BAAiC,CACjC,uJACE,kBACA,SACA,OACA,YACA,wBACA,gBACA,iBAAmB,CACnB,sKACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,+BACA,eAAiB,CAC7B,iDACE,qBACA,YACA,iBAAmB,CACnB,6EACE,aAAe,CACjB,uEACE,kBACA,UACA,UACA,YAAc,CAClB,oDACE,kBACA,qBACA,YACA,SAAW,CAGX,gKACE,aAAe,CACjB,0EACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,0EACE,aACA,eACA,WACA,kBACA,6BACA,cACA,+BACA,gBACA,WACA,iBAAmB,CACrB,0EACE,YACA,sBACA,eACA,gBAAkB,CAClB,gFACE,mCAA2C,CACjD,oDACE,qBACA,WAAa,CACf,kDACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,mDACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,yDACE,aACA,YACA,YAAc,CAChB,+DACE,qBACA,kBACA,iCACA,yBACA,YACA,WACA,mBACA,sBACA,eACA,0BAA4B,CAW9B,2IATE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,0BAA4B,CAYd,qEAJd,gBAEA,mCAAyC,CAG3C,uEACE,+BAAuC,CACzC,8EACE,WACA,6BAAqC,CACvC,6EACE,SAAW,CAEnB,iBACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,uCACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,6CACE,kBACA,iBAAmB,CACvB,wCACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,6DACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE3C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACxC,+EAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,yHAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE3C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,cACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,kBACE,eACA,gBACA,eAAiB,CAErB,cACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,gCACE,aAAe,CACjB,iCACE,YACA,sBACA,cAAgB,CAChB,uCACE,mCAA2C,CAC7C,mCAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,sBACA,mBACA,uBACA,eAAiB,CACjB,yCACE,oBAAsB,CAE9B,gBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,+BACA,gBACA,WACA,mBAAqB,CAEvB,kBACE,kBACA,YACA,UACA,QACA,kBACA,WACA,0CACA,cAAgB,CAChB,wCACE,YAAc,CAElB,cACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,gCACE,aAAe,CAEnB,oBACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,mCACE,WACA,YACA,YAAc,CAChB,2CACE,aAAe,CACjB,2CACE,YAAc,CAElB,oBACE,kBACA,SACA,UACA,YACA,6BACA,aACA,WACA,eACA,iBAAmB,CACnB,yBACE,YAAc,CAChB,8CACE,eACA,kBACA,WACA,QAAU,CACZ,kDACE,qBACA,sBACA,iBACA,mBACA,uBACA,eAAiB,CACnB,mDACE,YACA,iBACA,iBAAmB,CACrB,kDACE,WAAa,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(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 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 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 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 transform: translate(-50%, 10px);\n -webkit-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 transform: translate(-50%, 10px);\n -webkit-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 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 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 transform: translate(0, 10px);\n -webkit-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 transform: translate(0, 10px);\n -webkit-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 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 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 transform: translate(0, 10px);\n -webkit-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 transform: translate(0, 10px);\n -webkit-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\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 .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 -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: inherit;\n animation-play-state: inherit; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: inherit;\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 -webkit-animation-play-state: running;\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 -webkit-animation-play-state: paused;\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 -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\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 -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\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 -webkit-animation: my-face 5s infinite ease-in-out;\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 -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\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 -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\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 -webkit-transform: scale(1);\n transform: scale(1); }\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 width: 30px;\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\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 -webkit-animation: my-face 5s infinite ease-in-out;\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::-webkit-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\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-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 -webkit-transform: scale(1);\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 -webkit-transform: scale(1);\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(0);\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 -webkit-transform: scale(1);\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 -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: 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 -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\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 -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\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 diff --git a/dist/DPlayer.min.js b/dist/DPlayer.min.js index 41c66714e..0fa2f362d 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()}("undefined"!=typeof self?self:this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=/mobile/i.test(window.navigator.userAgent),a={secondToTime:function(e){var t=function(e){return e<10?"0"+e:""+e},n=Math.floor(e/3600),i=Math.floor((e-3600*n)/60),a=Math.floor(e-3600*n-60*i);return(n>0?[n,i,a]:[i,a]).map(t).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},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:i,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:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"}};t.default=a},function(e,t,n){"use strict";var i,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};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(16),o=i(a),s=n(17),r=i(s),l=n(18),c=i(l),u=n(19),d=i(u),p=n(20),h=i(p),y=n(21),m=i(y),f=n(22),v=i(f),g=n(23),b=i(g),k=n(24),w=i(k),x=n(25),S=i(x),T=n(26),L=i(T),M=n(27),q=i(M),_=n(28),E=i(_),B=n(29),P=i(B),C=n(30),O=i(C),z=n(31),F=i(z),j={play:o.default,pause:r.default,volumeUp:c.default,volumeDown:d.default,volumeOff:h.default,full:m.default,fullWeb:v.default,setting:b.default,right:w.default,comment:S.default,commentOff:L.default,send:q.default,pallette:E.default,camera:P.default,subtitle:O.default,loading:F.default};t.default=j},function(e,t,n){"use strict";e.exports=n(33)},function(e,t,n){var i=n(3);e.exports=function(e){"use strict";e=e||{};var t="",n=e.enableSubtitle,a=e.subtitle,o=e.current,s=e.pic,r=i.$escape,l=e.screenshot,c=e.preload,u=e.url,n=a&&"webvtt"===a.type;return t+='\n\n ",n&&(t+='\n \n '),t+="\n"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(6);var i=n(7),a=function(e){return e&&e.__esModule?e:{default:e}}(i);console.log("\n %c DPlayer v1.22.2 d3847a3 %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=a.default},function(e,t){},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;ne&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width")}},{key:"play",value:function(){var e=this;if(this.paused=!1,this.video.paused&&this.bezel.switch(v.default.play),this.template.playButton.innerHTML=v.default.pause,r.default.resolve(this.video.play()).catch(function(){e.pause()}).then(function(){}),this.time.enable("loading"),this.time.enable("progress"),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=v.default.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=v.default.volumeDown:this.template.volumeIcon.innerHTML=v.default.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=(100*e).toFixed(0)+"%";this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice(this.tran("Volume")+" "+(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: "+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"),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,s=e.src;o.add(s,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&&(n.template.dtime.innerHTML=c.default.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.tran&&n.notice&&(n.type,n.notice(n.tran("This video fails to load"),-1))}),this.ended=!1,this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),e.play()):(n.ended=!0,n.pause()),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()});for(var i=0;i1&&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),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.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){J.splice(J.indexOf(this),1),this.pause(),this.controller.destroy(),this.time.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy");for(var e in this)this.hasOwnProperty(e)&&"paused"!==e&&delete this[e]}}]),e}();t.default=Y},function(e,t,n){"use strict";(function(t){function n(){}function i(e,t){return function(){e.apply(t,arguments)}}function a(e){if(!(this instanceof a))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=[],u(e,this)}function o(e,t){for(;3===e._state;)e=e._value;if(0===e._state)return void e._deferreds.push(t);e._handled=!0,a._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._state?s:r)(t.promise,e._value);var i;try{i=n(e._value)}catch(e){return void r(t.promise,e)}s(t.promise,i)})}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===(void 0===t?"undefined":d(t))||"function"==typeof t)){var n=t.then;if(t instanceof a)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void u(i(n,t),e)}e._state=1,e._value=t,l(e)}catch(t){r(e,t)}}function r(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(10),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){"use strict";(function(e,t){!function(e,n){function i(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n=200&&o.status<300||304===o.status){var e=JSON.parse(o.responseText);return 0!==e.code?i(o,e):n(o,e)}a(o)}},o.open(null!==t?"POST":"GET",e,!0),o.setRequestHeader("Content-type","application/json; charset=UTF-8"),o.send(null!==t?JSON.stringify(t):null)};t.default={send:function(e,t,n){i(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";function i(e){var t=this;this.lang=e,this.tran=function(e){return a[t.lang]&&a[t.lang][e]?a[t.lang][e]:e}}Object.defineProperty(t,"__esModule",{value:!0});var a={"zh-cn":{"Danmaku is loading":"\u5f39\u5e55\u52a0\u8f7d\u4e2d",Top:"\u9876\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6eda\u52a8","Input danmaku, hit Enter":"\u8f93\u5165\u5f39\u5e55\uff0c\u56de\u8f66\u53d1\u9001","About author":"\u5173\u4e8e\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u89c1\u53cd\u9988","About DPlayer":"\u5173\u4e8e DPlayer \u64ad\u653e\u5668",Loop:"\u6d17\u8111\u5faa\u73af",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f39\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8981\u8f93\u5165\u5f39\u5e55\u5185\u5bb9\u554a\u5582\uff01","Set danmaku color":"\u8bbe\u7f6e\u5f39\u5e55\u989c\u8272","Set danmaku type":"\u8bbe\u7f6e\u5f39\u5e55\u7c7b\u578b","Show danmaku":"\u663e\u793a\u5f39\u5e55","This video fails to load":"\u89c6\u9891\u52a0\u8f7d\u5931\u8d25","Switching to":"\u6b63\u5728\u5207\u6362\u81f3","Switched to":"\u5df2\u7ecf\u5207\u6362\u81f3",quality:"\u753b\u8d28",FF:"\u5feb\u8fdb",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f39\u5e55","Send danmaku":"\u53d1\u9001\u5f39\u5e55",Setting:"\u8bbe\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9875\u9762\u5168\u5c4f",Send:"\u53d1\u9001",Screenshot:"\u622a\u56fe",s:"\u79d2","Show subtitle":"\u663e\u793a\u5b57\u5e55","Hide subtitle":"\u9690\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad","Video info":"\u89c6\u9891\u7edf\u8ba1\u4fe1\u606f"},"zh-tw":{"Danmaku is loading":"\u5f48\u5e55\u52a0\u8f09\u4e2d",Top:"\u9802\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6efe\u52d5","Input danmaku, hit Enter":"\u8f38\u5165\u5f48\u5e55\uff0cEnter \u767c\u9001","About author":"\u95dc\u65bc\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u898b\u53cd\u994b","About DPlayer":"\u95dc\u65bc DPlayer \u64ad\u653e\u5668",Loop:"\u5faa\u74b0\u64ad\u653e",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f48\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8acb\u8f38\u5165\u5f48\u5e55\u5185\u5bb9\u554a\uff01","Set danmaku color":"\u8a2d\u7f6e\u5f48\u5e55\u984f\u8272","Set danmaku type":"\u8a2d\u7f6e\u5f48\u5e55\u985e\u578b","Show danmaku":"\u986f\u793a\u5f48\u5e55","This video fails to load":"\u8996\u983b\u52a0\u8f09\u5931\u6557","Switching to":"\u6b63\u5728\u5207\u63db\u81f3","Switched to":"\u5df2\u7d93\u5207\u63db\u81f3",quality:"\u756b\u8cea",FF:"\u5feb\u9032",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f48\u5e55","Send danmaku":"\u767c\u9001\u5f48\u5e55",Setting:"\u8a2d\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9801\u9762\u5168\u5c4f",Send:"\u767c\u9001",Screenshot:"\u622a\u5716",s:"\u79d2","Show subtitle":"\u986f\u793a\u5b57\u5e55","Hide subtitle":"\u96b1\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad","Video info":"\u8996\u983b\u7d71\u8a08\u4fe1\u606f"}};t.default=i},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n'},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t,n){var i=n(3);e.exports=function(e){"use strict";e=e||{};var t="",a=(arguments[1],e.video),o=e.options,s=i.$escape,r=e.tran,l=e.icons,c=e.index,u=i.$each;e.$value,e.$index;return t+='
\n
\n ',function(e){t+=e}(n(4)(a)),t+="\n ",o.logo&&(t+='\n \n '),t+='\n
\n
\n
\n
\n
\n \n ',o.danmaku&&(t+='\n ',t+=s(r("Danmaku is loading")),t+="\n "),t+='\n ',t+=l.loading,t+='\n
\n
\n
\n
\n
\n \n
\n
\n
',t+=s(r("Set danmaku color")),t+='
\n \n \n \n \n \n \n
\n
\n
',t+=s(r("Set danmaku type")),t+='
\n \n \n \n
\n
\n \n ',t+=l.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 ',o.live&&(t+='\n ',t+=s(r("Live")),t+="\n "),t+='\n
\n
\n ',o.video.quality&&(t+='\n
\n \n
\n
\n ',u(o.video.quality,function(e,n){t+='\n
',t+=s(e.name),t+="
\n "}),t+="\n
\n
\n
\n "),t+="\n ",o.screenshot&&(t+='\n
\n
\n "),t+='\n
\n \n
\n ",o.subtitle&&(t+='\n
\n \n
\n "),t+='\n
\n \n
\n
\n
\n ',t+=s(r("Speed")),t+='\n
',t+=l.right,t+='
\n
\n
\n ',t+=s(r("Loop")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(r("Show danmaku")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(r("Unlimited danmaku")),t+='\n
\n \n \n
\n
\n
\n ',t+=s(r("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(r("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 ',o.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 ',u(o.contextmenu,function(e,n){t+='\n
\n \n
\n "}),t+='\n
\n
'}},function(e,t,n){"use strict";(function(t){function i(e){return"string"!=typeof e&&(e=void 0===e||null===e?"":"function"==typeof e?i(e.call(e)):JSON.stringify(e)),e}function a(e){var t=""+e,n=r.exec(t);if(!n)return e;var i="",a=void 0,o=void 0,s=void 0;for(a=n.index,o=0;a]/;s.$escape=function(e){return a(i(e))},s.$each=function(e,t){if(Array.isArray(e))for(var n=0,i=e.length;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'+e[a].text+"":o.innerHTML=e[a].text,o.style.opacity=t._opacity,o.style.color=e[a].color,o.addEventListener("animationend",function(){t.container.removeChild(o)});var s=t._measure(e[a].text),r=void 0;switch(e[a].type){case"right":r=c(o,e[a].type,s),r>=0&&(o.style.width=s+1+"px",o.style.top=n*r+"px",o.style.transform="translateX(-"+i+"px)");break;case"top":r=c(o,e[a].type),r>=0&&(o.style.top=n*r+"px");break;case"bottom":r=c(o,e[a].type),r>=0&&(o.style.bottom=n*r+"px");break;default:console.error("Can't handled danmaku type: "+e[a].type)}r>=0&&(o.classList.add("dplayer-danmaku-move"),u.appendChild(o))}(d);return this.container.appendChild(u),u}}},{key:"play",value:function(){this.paused=!1}},{key:"pause",value:function(){this.paused=!0}},{key:"_measure",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName("dplayer-danmaku-item")[0],null);this.context=document.createElement("canvas").getContext("2d"),this.context.font=t.getPropertyValue("font")}return this.context.measureText(e).width}},{key:"seek",value:function(){this.clear();for(var e=0;e=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;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=s.default.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();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();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)}}]),e}();t.default=r},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initprogressChecker",value:function(){var e=this;this.progressChecker=setInterval(function(){if(e.enableprogressChecker){e.player.bar.set("played",e.player.video.currentTime/e.player.video.duration,"width");var t=s.default.secondToTime(e.player.video.currentTime);e.player.template.ptime.innerHTML!==t&&(e.player.template.ptime.innerHTML=s.default.secondToTime(e.player.video.currentTime))}},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"+e+"Checker"]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable"+e+"Checker"]=!1}},{key:"destroy",value:function(e){this[e+"Checker"]&&clearInterval(this[e+"Checker"])}}]),e}();t.default=r},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;ne.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);r.default.isMobile&&e.thumbnails&&e.thumbnails.show(),e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left=i-20+"px",e.player.template.playedBarTime.innerText=r.default.secondToTime(a),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(r.default.nameMap.dragEnd,function(){r.default.isMobile&&e.thumbnails&&e.thumbnails.hide()}),r.default.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)-r.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener(r.default.nameMap.dragEnd,n),document.removeEventListener(r.default.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)-r.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener(r.default.nameMap.dragStart,function(){document.addEventListener(r.default.nameMap.dragMove,t),document.addEventListener(r.default.nameMap.dragEnd,n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeIcon.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=d.default.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=document.createElement("canvas");t.width=e.player.video.videoWidth,t.height=e.player.video.videoHeight,t.getContext("2d").drawImage(e.player.video,0,0,t.width,t.height);var n=void 0;t.toBlob(function(e){n=URL.createObjectURL(e);var t=document.createElement("a");t.href=n,t.download="DPlayer.png",t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(n)}),e.player.events.trigger("screenshot",n)})}},{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)}}]),e}();t.default=p},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(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.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.player.events.trigger("contextmenu_hide")}}]),e}();t.default=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0?[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},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:i,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:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"}};t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=b(n(38)),a=b(n(37)),o=b(n(36)),s=b(n(35)),r=b(n(34)),l=b(n(33)),c=b(n(32)),u=b(n(31)),d=b(n(30)),p=b(n(29)),h=b(n(28)),y=b(n(27)),m=b(n(26)),f=b(n(25)),v=b(n(24)),g=b(n(23));function b(e){return e&&e.__esModule?e:{default:e}}var k={play:i.default,pause:a.default,volumeUp:o.default,volumeDown:s.default,volumeOff:r.default,full:l.default,fullWeb:c.default,setting:u.default,right:d.default,comment:p.default,commentOff:h.default,send:y.default,pallette:m.default,camera:f.default,subtitle:v.default,loading:g.default};t.default=k},function(e,t,n){"use strict";var i,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};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){var i=n(4);e.exports=function(e){"use strict";var t="",n=(e=e||{}).enableSubtitle,a=e.subtitle,o=e.current,s=e.pic,r=i.$escape,l=e.screenshot,c=e.preload,u=e.url;n=a&&"webvtt"===a.type;return t+='\n\n ",n&&(t+='\n \n '),t+="\n"}},function(e,t,n){"use strict";e.exports=n(21)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(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.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.player.events.trigger("contextmenu_hide")}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t.options.hotkey&&document.addEventListener("keydown",function(e){if(t.focus){var n=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==n&&"TEXTAREA"!==n&&""!==i&&"true"!==i){var a=e||window.event,o=void 0;switch(a.keyCode){case 32:a.preventDefault(),t.toggle();break;case 37:a.preventDefault(),t.seek(t.video.currentTime-5),t.controller.setAutoHide();break;case 39:a.preventDefault(),t.seek(t.video.currentTime+5),t.controller.setAutoHide();break;case 38:a.preventDefault(),o=t.volume()+.1,t.volume(o);break;case 40:a.preventDefault(),o=t.volume()-.1,t.volume(o)}}}}),document.addEventListener("keydown",function(e){switch((e||window.event).keyCode){case 27:t.fullScreen.isFullScreen("web")&&t.fullScreen.cancel("web")}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;ne.player.template.playedBarWrap.offsetWidth)return;var o=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);a.default.isMobile&&e.thumbnails&&e.thumbnails.show(),e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left=i-20+"px",e.player.template.playedBarTime.innerText=a.default.secondToTime(o),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(a.default.nameMap.dragEnd,function(){a.default.isMobile&&e.thumbnails&&e.thumbnails.hide()}),a.default.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)-a.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener(a.default.nameMap.dragEnd,n),document.removeEventListener(a.default.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)-a.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener(a.default.nameMap.dragStart,function(){document.addEventListener(a.default.nameMap.dragMove,t),document.addEventListener(a.default.nameMap.dragEnd,n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeIcon.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=s.default.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=document.createElement("canvas");t.width=e.player.video.videoWidth,t.height=e.player.video.videoHeight,t.getContext("2d").drawImage(e.player.video,0,0,t.width,t.height);var n=void 0;t.toBlob(function(e){n=URL.createObjectURL(e);var t=document.createElement("a");t.href=n,t.download="DPlayer.png",t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(n)}),e.player.events.trigger("screenshot",n)})}},{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)}}]),e}();t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(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"+e+"Checker"]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable"+e+"Checker"]=!1}},{key:"destroy",value:function(){var e=this;this.types.map(function(t){return e["enable"+t+"Checker"]=!1,e[t+"Checker"]&&clearInterval(e[t+"Checker"]),t})}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;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=s.default.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();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();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)}}]),e}();t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(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'+e[i].text+"":o.innerHTML=e[i].text,o.style.opacity=t._opacity,o.style.color=e[i].color,o.addEventListener("animationend",function(){t.container.removeChild(o)});var s=t._measure(e[i].text),r=void 0;switch(e[i].type){case"right":(r=c(o,e[i].type,s))>=0&&(o.style.width=s+1+"px",o.style.top=n*r+"px",o.style.transform="translateX(-"+a+"px)");break;case"top":(r=c(o,e[i].type))>=0&&(o.style.top=n*r+"px");break;case"bottom":(r=c(o,e[i].type))>=0&&(o.style.bottom=n*r+"px");break;default:console.error("Can't handled danmaku type: "+e[i].type)}r>=0&&(o.classList.add("dplayer-danmaku-move"),u.appendChild(o))},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;n]/;a.$escape=function(e){return function(e){var t=""+e,n=o.exec(t);if(!n)return e;var i="",a=void 0,s=void 0,r=void 0;for(a=n.index,s=0;a\n \n '),a+='\n
\n
\n
\n
\n
\n \n ',s.danmaku&&(a+='\n ',a+=r(l("Danmaku is loading")),a+="\n "),a+='\n ',a+=c.loading,a+='\n
\n\n
\n
\n
\n \n
\n
\n
',a+=r(l("Set danmaku color")),a+='
\n \n \n \n \n \n \n
\n
\n
',a+=r(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 ',s.live&&(a+='\n ',a+=r(l("Live")),a+="\n "),a+='\n
\n
\n ',s.video.quality&&(a+='\n
\n \n
\n
\n ',d(s.video.quality,function(e,t){a+='\n
',a+=r(e.name),a+="
\n "}),a+="\n
\n
\n
\n "),a+="\n ",s.screenshot&&(a+='\n
\n
\n "),a+='\n
\n \n
\n ",s.subtitle&&(a+='\n
\n \n
\n "),a+='\n
\n \n
\n
\n
\n ',a+=r(l("Speed")),a+='\n
',a+=c.right,a+='
\n
\n
\n ',a+=r(l("Loop")),a+='\n
\n \n \n
\n
\n
\n ',a+=r(l("Show danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=r(l("Unlimited danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=r(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+=r(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 ',s.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
'}},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=200&&o.status<300||304===o.status){var e=JSON.parse(o.responseText);return 0!==e.code?i(o,e):n(o,e)}a(o)}},o.open(null!==t?"POST":"GET",e,!0),o.setRequestHeader("Content-type","application/json; charset=UTF-8"),o.send(null!==t?JSON.stringify(t):null)};t.default={send:function(e,t,n){i(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,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},o=n(41),s=(i=o)&&i.__esModule?i:{default:i};t.default=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:s.default,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"===a(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 v1.23.0",link:"https://github.com/MoePlayer/DPlayer"}]),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}},function(e,t,n){"use strict";var i,a,o=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function l(e){if(i===setTimeout)return setTimeout(e,0);if((i===s||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:s}catch(e){i=s}try{a="function"==typeof clearTimeout?clearTimeout:r}catch(e){a=r}}();var c,u=[],d=!1,p=-1;function h(){d&&c&&(d=!1,c.length?u=c.concat(u):p=-1,u.length&&y())}function y(){if(!d){var e=l(h);d=!0;for(var t=u.length;t;){for(c=u,u=[];++p1)for(var n=1;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(45),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var i,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},o=n(43),s=(i=o)&&i.__esModule?i:{default:i};var r=setTimeout;function l(){}function c(e){if(!(this instanceof c))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=[],y(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,c._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 p(t.promise,e)}d(t.promise,i)}else(1===e._state?d:p)(t.promise,e._value)})):e._deferreds.push(t)}function d(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===(void 0===t?"undefined":a(t))||"function"==typeof t)){var n=t.then;if(t instanceof c)return e._state=3,e._value=t,void h(e);if("function"==typeof n)return void y((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,h(e)}catch(t){p(e,t)}var i,o}function p(e,t){e._state=2,e._value=t,h(e)}function h(e){2===e._state&&0===e._deferreds.length&&c._immediateFn(function(){e._handled||c._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;te&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+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.default.secondToTime(e)}},{key:"play",value:function(){var e=this;if(this.paused=!1,this.video.paused&&this.bezel.switch(c.default.play),this.template.playButton.innerHTML=c.default.pause,a.default.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<_.length;t++)this!==_[t]&&_[t].pause()}},{key:"pause",value:function(){this.paused=!0,this.container.classList.remove("dplayer-loading"),this.video.paused||this.bezel.switch(c.default.pause),this.template.playButton.innerHTML=c.default.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=c.default.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=c.default.volumeDown:this.template.volumeIcon.innerHTML=c.default.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=(100*e).toFixed(0)+"%";this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice(this.tran("Volume")+" "+(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: "+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,s=e.src;o.add(s,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&&(n.template.dtime.innerHTML=o.default.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.tran&&n.notice&&(n.type,n.notice(n.tran("This video fails to load"),-1))}),this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),e.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.default.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),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.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){_.splice(_.indexOf(this),1),this.pause(),this.controller.destroy(),this.timer.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy")}}],[{key:"version",get:function(){return"1.23.0"}}]),e}();t.default=q},,,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(51);var i,a=n(48),o=(i=a)&&i.__esModule?i:{default:i};console.log("\n %c DPlayer v1.23.0 c3dc104 %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=o.default}]).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 033b17396..bf057d386 100644 --- a/dist/DPlayer.min.js.map +++ b/dist/DPlayer.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap 925d7906a2c804dc5144","webpack:///./src/js/utils.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/js/icons.js","webpack:///./node_modules/art-template/lib/runtime.js","webpack:///./src/template/video.art","webpack:///./src/js/index.js","webpack:///./src/js/player.js","webpack:///./node_modules/promise-polyfill/lib/index.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./src/js/options.js","webpack:///./src/js/api.js","webpack:///./src/js/i18n.js","webpack:///./src/js/template.js","webpack:///./src/assets/play.svg","webpack:///./src/assets/pause.svg","webpack:///./src/assets/volume-up.svg","webpack:///./src/assets/volume-down.svg","webpack:///./src/assets/volume-off.svg","webpack:///./src/assets/full.svg","webpack:///./src/assets/full-web.svg","webpack:///./src/assets/setting.svg","webpack:///./src/assets/right.svg","webpack:///./src/assets/comment.svg","webpack:///./src/assets/comment-off.svg","webpack:///./src/assets/send.svg","webpack:///./src/assets/pallette.svg","webpack:///./src/assets/camera.svg","webpack:///./src/assets/subtitle.svg","webpack:///./src/assets/loading.svg","webpack:///./src/template/player.art","webpack:///./node_modules/art-template/lib/compile/runtime.js","webpack:///./node_modules/detect-node/index.js","webpack:///./src/js/danmaku.js","webpack:///./src/js/events.js","webpack:///./src/js/fullscreen.js","webpack:///./src/js/user.js","webpack:///./src/js/subtitle.js","webpack:///./src/js/bar.js","webpack:///./src/js/time.js","webpack:///./src/js/bezel.js","webpack:///./src/js/controller.js","webpack:///./src/js/thumbnails.js","webpack:///./src/js/setting.js","webpack:///./src/js/comment.js","webpack:///./src/js/hotkey.js","webpack:///./src/js/contextmenu.js","webpack:///./src/js/info-panel.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","isMobile","test","window","navigator","userAgent","utils","secondToTime","second","add0","num","hour","Math","floor","min","sec","map","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","left","pageXOffset","top","pageYOffset","scrollTop","setScrollPosition","_ref","_ref$left","undefined","_ref$top","isFirefox","scrollTo","isChrome","storage","set","key","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","default","g","_typeof","Symbol","iterator","obj","constructor","Function","eval","e","_interopRequireDefault","_play","_play2","_pause","_pause2","_volumeUp","_volumeUp2","_volumeDown","_volumeDown2","_volumeOff","_volumeOff2","_full","_full2","_fullWeb","_fullWeb2","_setting","_setting2","_right","_right2","_comment","_comment2","_commentOff","_commentOff2","_send","_send2","_pallette","_pallette2","_camera","_camera2","_subtitle","_subtitle2","_loading","_loading2","Icons","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","send","pallette","camera","subtitle","loading","$imports","$data","$$out","enableSubtitle","pic","$escape","screenshot","preload","url","type","_player","_player2","console","log","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","length","descriptor","writable","protoProps","staticProps","_promisePolyfill","_promisePolyfill2","_utils","_utils2","_options","_options2","_i18n","_i18n2","_template","_template2","_icons","_icons2","_danmaku","_danmaku2","_events","_events2","_fullscreen","_fullscreen2","_user","_user2","_bar","_bar2","_time","_time2","_bezel","_bezel2","_controller","_controller2","_hotkey","_hotkey2","_contextmenu","_contextmenu2","_infoPanel","_infoPanel2","_video","_video2","index","instances","DPlayer","options","_this","video","quality","qualityIndex","defaultQuality","tran","lang","events","user","container","classList","add","danmaku","live","arrow","offsetWidth","template","bar","bezel","fullScreen","controller","opacity","callback","setTimeout","danmakuLoading","style","display","autoplay","error","msg","notice","apiBackend","borderColor","theme","height","time","currentTime","unlimited","api","id","address","token","maximum","addition","addEventListener","focus","paused","hotkey","contextmenu","initVideo","infoPanel","push","max","duration","toFixed","seek","_this2","switch","playButton","innerHTML","resolve","catch","then","enable","remove","mutex","ended","disable","volume","volumeIcon","percentage","nostorage","nonotice","parseFloat","isNaN","formatPercentage","volumeBarWrapWrap","dataset","balloon","muted","switchVolumeIcon","on","danmakuAPI","poster","src","initMSE","ptime","reload","_this3","customType","toString","exec","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","load","dashjs","MediaPlayer","create","initialize","WebTorrent","WEBRTC_SUPPORT","client","torrentId","torrent","files","find","file","endsWith","renderTo","_this4","dtime","buffered","end","loop","danIndex","videoEvents","trigger","hide","_this5","switchingQuality","qualityButton","videoHTML","videoEle","DOMParser","parseFromString","firstChild","videoWrap","insertBefore","getElementsByTagName","prevVideo","removeChild","text","_this6","arguments","noticeTime","clearTimeout","resize","rate","playbackRate","splice","indexOf","destroy","setImmediate","noop","bind","fn","thisArg","apply","Promise","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","reject","promise","ret","newValue","finale","_unhandledRejectionFn","len","Handler","done","reason","ex","setTimeoutFunc","prom","all","arr","res","val","args","remaining","Array","slice","race","values","err","warn","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","timeout","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","global","process","task","tasksByHandle","nextHandle","registerImmediate","run","runIfPresent","currentlyRunningATask","doc","attachTo","getPrototypeOf","nextTick","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","messagePrefix","random","onGlobalMessage","event","source","data","attachEvent","MessageChannel","channel","port1","port2","createElement","html","script","onreadystatechange","appendChild","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","concat","queueIndex","drainQueue","Item","array","title","browser","env","argv","version","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","_api","_api2","defaultOption","getElementsByClassName","language","browserLanguage","toLowerCase","defaultKey","fontSize","bottom","color","click","player","triggle","link","SendXMLHttpRequest","success","fail","xhr","XMLHttpRequest","readyState","status","response","JSON","parse","responseText","code","open","setRequestHeader","stringify","endpoint","danmakuData","alert","read","i18n","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","This video fails to load","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","Template","init","icons","volumeBar","querySelector","volumeBarWrap","volumeButton","playedBar","loadedBar","playedBarWrap","playedBarTime","controllerMask","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","subtitleButton","subtitleButtonInner","barPreview","barWrap","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","$each","$value","$index","content","logo","bottm","xmlEscape","regexResult","ESCAPE_REG","result","lastIndex","char","charCodeAt","substring","detectNode","runtime","isArray","_i","Danmaku","danTunnel","dan","showing","_opacity","_measure","apiurl","endpoints","_readAllEndpoints","results","sort","a","b","requestAnimationFrame","frame","newAPI","clear","readCount","typeMap","author","htmlEncode","border","draw","items","itemHeight","danWidth","danHeight","offsetHeight","itemY","parseInt","danItemRight","ele","eleWidth","width","eleRight","getBoundingClientRect","danSpeed","getTunnel","tmp","_ret","v","j","danRight","docFragment","createDocumentFragment","itemWidth","tunnel","transform","context","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","str","replace","boolean","Events","playerEvents","info","FullScreen","lastScrollPosition","fullscreenchange","isFullScreen","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancel","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","request","User","storageName","Subtitle","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","show","Bar","elements","played","loaded","direction","Time","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","enableloadingChecker","progressChecker","enableprogressChecker","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","Date","fps","infoChecker","enableinfoChecker","update","Bezel","icon","_thumbnails","_thumbnails2","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initVolumeButton","toggle","thumbnails","barWidth","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","thumbUp","removeEventListener","px","tx","move","innerText","volumeMove","_this7","switchQuality","_this8","canvas","drawImage","dataURL","toBlob","blob","URL","createObjectURL","href","download","revokeObjectURL","_this9","_this10","disableAutoHide","isShow","Thumbnails","backgroundImage","position","backgroundPosition","ceil","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","showSetting","blur","HotKey","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","_toConsumableArray","arr2","from","ContextMenu","clientRect","clientY","x","y","InfoPanel","beginTime","now"],"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})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(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})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar 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 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 === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 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};\nexports.default = utils;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = __webpack_require__(16);\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = __webpack_require__(17);\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = __webpack_require__(18);\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = __webpack_require__(19);\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = __webpack_require__(20);\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _full = __webpack_require__(21);\nvar _full2 = _interopRequireDefault(_full);\nvar _fullWeb = __webpack_require__(22);\nvar _fullWeb2 = _interopRequireDefault(_fullWeb);\nvar _setting = __webpack_require__(23);\nvar _setting2 = _interopRequireDefault(_setting);\nvar _right = __webpack_require__(24);\nvar _right2 = _interopRequireDefault(_right);\nvar _comment = __webpack_require__(25);\nvar _comment2 = _interopRequireDefault(_comment);\nvar _commentOff = __webpack_require__(26);\nvar _commentOff2 = _interopRequireDefault(_commentOff);\nvar _send = __webpack_require__(27);\nvar _send2 = _interopRequireDefault(_send);\nvar _pallette = __webpack_require__(28);\nvar _pallette2 = _interopRequireDefault(_pallette);\nvar _camera = __webpack_require__(29);\nvar _camera2 = _interopRequireDefault(_camera);\nvar _subtitle = __webpack_require__(30);\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _loading = __webpack_require__(31);\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n full: _full2.default,\n fullWeb: _fullWeb2.default,\n setting: _setting2.default,\n right: _right2.default,\n comment: _comment2.default,\n commentOff: _commentOff2.default,\n send: _send2.default,\n pallette: _pallette2.default,\n camera: _camera2.default,\n subtitle: _subtitle2.default,\n loading: _loading2.default\n};\nexports.default = Icons;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = __webpack_require__(33);\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $imports = __webpack_require__(3);\nmodule.exports = function ($data) {\n 'use strict';\n $data = $data || {};\n var $$out = '', enableSubtitle = $data.enableSubtitle, subtitle = $data.subtitle, current = $data.current, pic = $data.pic, $escape = $imports.$escape, screenshot = $data.screenshot, preload = $data.preload, url = $data.url;\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n $$out += '\\n time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + 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 }\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(_icons2.default.play);\n }\n this.template.playButton.innerHTML = _icons2.default.pause;\n var playedPromise = _promisePolyfill2.default.resolve(this.video.play());\n playedPromise.catch(function () {\n _this2.pause();\n }).then(function () {\n });\n this.time.enable('loading');\n this.time.enable('progress');\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(_icons2.default.pause);\n }\n this.ended = false;\n this.template.playButton.innerHTML = _icons2.default.play;\n this.video.pause();\n this.time.disable('loading');\n this.time.disable('progress');\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 = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = _icons2.default.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 = (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(this.tran('Volume') + ' ' + (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: ' + 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 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) {\n _this4.template.dtime.innerHTML = _utils2.default.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 _this4.tran && _this4.notice && _this4.type !== 'webtorrent' & _this4.notice(_this4.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this4.bar.set('played', 1, 'width');\n if (!_this4.setting.loop) {\n _this4.ended = true;\n _this4.pause();\n } else {\n _this4.seek(0);\n video.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 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 _subtitle2.default(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 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 = (0, _video2.default)({\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(this.tran('Switching to') + ' ' + this.quality.name + ' ' + 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(_this5.tran('Switched to') + ' ' + _this5.quality.name + ' ' + _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 this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\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.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nexports.default = DPlayer;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(setImmediate) {\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\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 === 'undefined' ? 'undefined' : _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'] = function (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};\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 === 'undefined' ? 'undefined' : _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 === 'undefined' ? 'undefined' : _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};\nmodule.exports = Promise;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9).setImmediate))\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar 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};\n__webpack_require__(10);\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, process) {\n(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' ? undefined : global : self));\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1), __webpack_require__(11)))\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar 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};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = __webpack_require__(13);\nvar _api2 = _interopRequireDefault(_api);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.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: 'auto',\n volume: 0.7,\n apiBackend: _api2.default,\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' + \"1.22.2\",\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 0) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nexports.default = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction 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 'This video fails to load': '视频加载失败',\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 'This video fails to load': '視頻加載失敗',\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};\nexports.default = i18n;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _icons = __webpack_require__(2);\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = __webpack_require__(32);\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = (0, _player2.default)({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: _icons2.default,\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.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}();\nexports.default = Template;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $imports = __webpack_require__(3);\nmodule.exports = function ($data) {\n 'use strict';\n $data = $data || {};\n var $$out = '', $$blocks = arguments[1] || {}, include = function (content) {\n $$out += content;\n return $$out;\n }, video = $data.video, options = $data.options, $escape = $imports.$escape, tran = $data.tran, icons = $data.icons, index = $data.index, $each = $imports.$each, $value = $data.$value, $index = $data.$index;\n $$out += '
\\n
\\n ';\n include(__webpack_require__(4)(video));\n $$out += '\\n ';\n if (options.logo) {\n $$out += '\\n
\\n ]/;\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}\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}\n;\nmodule.exports = runtime;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\nmodule.exports = false;\ntry {\n module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + 'v2/?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + 'v2/?id=' + 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 cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n var typeMap = [\n 'right',\n 'top',\n 'bottom'\n ];\n if (data) {\n results[i] = data.map(function (item) {\n return {\n time: item[0],\n type: typeMap[item[1]],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n });\n } else {\n results[i] = [];\n }\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: 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(this.options.api.address + 'v2/', danmakuData, callback);\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 ' + 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 _this3 = 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 _this3.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 _this4 = 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 || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.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 _loop = function _loop(i) {\n var item = _this4.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 _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _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 _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._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(-' + 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: ' + 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 _loop2(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(-' + 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}();\nexports.default = Danmaku;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 _utils2.default.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 _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\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;\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 = _utils2.default.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 }\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 }\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}();\nexports.default = FullScreen;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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.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(_utils2.default.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 _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexports.default = User;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Subtitle;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bar;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\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 'progress',\n 'info',\n 'fps'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n if (type !== 'fps') {\n this['init' + type + 'Checker']();\n }\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\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' + 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' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n this[type + 'Checker'] && clearInterval(this[type + 'Checker']);\n }\n }\n ]);\n return Time;\n}();\nexports.default = Time;\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bezel;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = __webpack_require__(44);\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _icons = __webpack_require__(2);\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 (!_utils2.default.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 if (!_utils2.default.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 (!_utils2.default.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: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\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 _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.time.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragMove, function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.show();\n }\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragEnd, function () {\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.hide();\n }\n });\n if (!_utils2.default.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = 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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n _this6.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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = 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 _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = void 0;\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 _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.player.paused && !_this10.disableAutoHide) {\n _this10.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}();\nexports.default = Controller;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\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 = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + '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}();\nexports.default = Thumbnails;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(_utils2.default.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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n document.addEventListener(_utils2.default.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}();\nexports.default = Setting;\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: 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}();\nexports.default = Comment;\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _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 = void 0;\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};\nexports.default = HotKey;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n [].concat(_toConsumableArray(this.player.template.menuItem)).map(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 return item;\n });\n this.player.container.addEventListener('contextmenu', function (e) {\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.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.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexports.default = ContextMenu;\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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.time.enable('info');\n this.player.time.enable('fps');\n this.container.classList.remove('dplayer-info-panel-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.time.disable('info');\n this.player.time.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' + \"1.22.2\" + ' ' + \"d3847a3\";\n this.template.infoType.innerHTML = this.player.type;\n this.template.infoUrl.innerHTML = this.player.options.video.url;\n this.template.infoResolution.innerHTML = this.player.video.videoWidth + ' x ' + 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 = '' + value.toFixed(1);\n }\n }\n ]);\n return InfoPanel;\n}();\nexports.default = InfoPanel;\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.min.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 925d7906a2c804dc5144","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar 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 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 === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 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};\nexports.default = utils;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 1\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _full = require('../assets/full.svg');\nvar _full2 = _interopRequireDefault(_full);\nvar _fullWeb = require('../assets/full-web.svg');\nvar _fullWeb2 = _interopRequireDefault(_fullWeb);\nvar _setting = require('../assets/setting.svg');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _right = require('../assets/right.svg');\nvar _right2 = _interopRequireDefault(_right);\nvar _comment = require('../assets/comment.svg');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _commentOff = require('../assets/comment-off.svg');\nvar _commentOff2 = _interopRequireDefault(_commentOff);\nvar _send = require('../assets/send.svg');\nvar _send2 = _interopRequireDefault(_send);\nvar _pallette = require('../assets/pallette.svg');\nvar _pallette2 = _interopRequireDefault(_pallette);\nvar _camera = require('../assets/camera.svg');\nvar _camera2 = _interopRequireDefault(_camera);\nvar _subtitle = require('../assets/subtitle.svg');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n full: _full2.default,\n fullWeb: _fullWeb2.default,\n setting: _setting2.default,\n right: _right2.default,\n comment: _comment2.default,\n commentOff: _commentOff2.default,\n send: _send2.default,\n pallette: _pallette2.default,\n camera: _camera2.default,\n subtitle: _subtitle2.default,\n loading: _loading2.default\n};\nexports.default = Icons;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/icons.js\n// module id = 2\n// module chunks = 0","'use strict';\nmodule.exports = require('./compile/runtime');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/art-template/lib/runtime.js\n// module id = 3\n// module chunks = 0","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n\n {{ if enableSubtitle }}\n \n {{ /if }}\n\n\n\n// WEBPACK FOOTER //\n// ./src/template/video.art","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer v' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/index.js\n// module id = 5\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _time = require('./time');\nvar _time2 = _interopRequireDefault(_time);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nvar _infoPanel = require('./info-panel');\nvar _infoPanel2 = _interopRequireDefault(_infoPanel);\nvar _video = require('../template/video.art');\nvar _video2 = _interopRequireDefault(_video);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(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 _i18n2.default(this.options.lang).tran;\n this.events = new _events2.default();\n this.user = new _user2.default(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 (_utils2.default.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 _template2.default({\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 _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\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 });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(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.time = new _time2.default(this);\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n this.infoPanel = new _infoPanel2.default(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(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + 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 }\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(_icons2.default.play);\n }\n this.template.playButton.innerHTML = _icons2.default.pause;\n var playedPromise = _promisePolyfill2.default.resolve(this.video.play());\n playedPromise.catch(function () {\n _this2.pause();\n }).then(function () {\n });\n this.time.enable('loading');\n this.time.enable('progress');\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(_icons2.default.pause);\n }\n this.ended = false;\n this.template.playButton.innerHTML = _icons2.default.play;\n this.video.pause();\n this.time.disable('loading');\n this.time.disable('progress');\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 = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = _icons2.default.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 = (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(this.tran('Volume') + ' ' + (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: ' + 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 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) {\n _this4.template.dtime.innerHTML = _utils2.default.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 _this4.tran && _this4.notice && _this4.type !== 'webtorrent' & _this4.notice(_this4.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this4.bar.set('played', 1, 'width');\n if (!_this4.setting.loop) {\n _this4.ended = true;\n _this4.pause();\n } else {\n _this4.seek(0);\n video.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 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 _subtitle2.default(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 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 = (0, _video2.default)({\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(this.tran('Switching to') + ' ' + this.quality.name + ' ' + 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(_this5.tran('Switched to') + ' ' + _this5.quality.name + ' ' + _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 this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\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.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nexports.default = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/player.js\n// module id = 7\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\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 === 'undefined' ? 'undefined' : _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'] = function (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};\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 === 'undefined' ? 'undefined' : _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 === 'undefined' ? 'undefined' : _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};\nmodule.exports = Promise;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/promise-polyfill/lib/index.js\n// module id = 8\n// module chunks = 0","'use strict';\nvar 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;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/timers-browserify/main.js\n// module id = 9\n// module chunks = 0","'use strict';\n(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' ? undefined : global : self));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/setimmediate/setImmediate.js\n// module id = 10\n// module chunks = 0","'use strict';\nvar 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};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = require('./api.js');\nvar _api2 = _interopRequireDefault(_api);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.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: 'auto',\n volume: 0.7,\n apiBackend: _api2.default,\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' + DPLAYER_VERSION,\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/options.js\n// module id = 12\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 0) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nexports.default = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/api.js\n// module id = 13\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction 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 'This video fails to load': '视频加载失败',\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 'This video fails to load': '視頻加載失敗',\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};\nexports.default = i18n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/i18n.js\n// module id = 14\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = require('../template/player.art');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = (0, _player2.default)({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: _icons2.default,\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.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}();\nexports.default = Template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/template.js\n// module id = 15\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/play.svg\n// module id = 16\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/pause.svg\n// module id = 17\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/volume-up.svg\n// module id = 18\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/volume-down.svg\n// module id = 19\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/volume-off.svg\n// module id = 20\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/full.svg\n// module id = 21\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/full-web.svg\n// module id = 22\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/setting.svg\n// module id = 23\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/right.svg\n// module id = 24\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/comment.svg\n// module id = 25\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/comment-off.svg\n// module id = 26\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/send.svg\n// module id = 27\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/pallette.svg\n// module id = 28\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/camera.svg\n// module id = 29\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/subtitle.svg\n// module id = 30\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/loading.svg\n// module id = 31\n// module chunks = 0","
\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 {{ /each }}\n
\n
\n\n\n// WEBPACK FOOTER //\n// ./src/template/player.art","'use strict';\nvar detectNode = require('detect-node');\nvar runtime = Object.create(detectNode ? global : window);\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}\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}\n;\nmodule.exports = runtime;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/art-template/lib/compile/runtime.js\n// module id = 33\n// module chunks = 0","'use strict';\nmodule.exports = false;\ntry {\n module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/detect-node/index.js\n// module id = 34\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + 'v2/?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + 'v2/?id=' + 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 cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n var typeMap = [\n 'right',\n 'top',\n 'bottom'\n ];\n if (data) {\n results[i] = data.map(function (item) {\n return {\n time: item[0],\n type: typeMap[item[1]],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n });\n } else {\n results[i] = [];\n }\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: 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(this.options.api.address + 'v2/', danmakuData, callback);\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 ' + 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 _this3 = 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 _this3.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 _this4 = 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 || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.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 _loop = function _loop(i) {\n var item = _this4.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 _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _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 _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._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(-' + 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: ' + 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 _loop2(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(-' + 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}();\nexports.default = Danmaku;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/danmaku.js\n// module id = 35\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/events.js\n// module id = 36\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 _utils2.default.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 _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\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;\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 = _utils2.default.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 }\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 }\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}();\nexports.default = FullScreen;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/fullscreen.js\n// module id = 37\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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.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(_utils2.default.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 _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexports.default = User;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/user.js\n// module id = 38\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Subtitle;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/subtitle.js\n// module id = 39\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bar;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/bar.js\n// module id = 40\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\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 'progress',\n 'info',\n 'fps'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n if (type !== 'fps') {\n this['init' + type + 'Checker']();\n }\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\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' + 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' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n this[type + 'Checker'] && clearInterval(this[type + 'Checker']);\n }\n }\n ]);\n return Time;\n}();\nexports.default = Time;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/time.js\n// module id = 41\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bezel;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/bezel.js\n// module id = 42\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 (!_utils2.default.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 if (!_utils2.default.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 (!_utils2.default.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: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\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 _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.time.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragMove, function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.show();\n }\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragEnd, function () {\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.hide();\n }\n });\n if (!_utils2.default.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = 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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n _this6.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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = 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 _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = void 0;\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 _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.player.paused && !_this10.disableAutoHide) {\n _this10.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}();\nexports.default = Controller;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/controller.js\n// module id = 43\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\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 = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + '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}();\nexports.default = Thumbnails;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/thumbnails.js\n// module id = 44\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(_utils2.default.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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n document.addEventListener(_utils2.default.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}();\nexports.default = Setting;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/setting.js\n// module id = 45\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: 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}();\nexports.default = Comment;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/comment.js\n// module id = 46\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _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 = void 0;\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};\nexports.default = HotKey;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/hotkey.js\n// module id = 47\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n [].concat(_toConsumableArray(this.player.template.menuItem)).map(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 return item;\n });\n this.player.container.addEventListener('contextmenu', function (e) {\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.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.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexports.default = ContextMenu;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/contextmenu.js\n// module id = 48\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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.time.enable('info');\n this.player.time.enable('fps');\n this.container.classList.remove('dplayer-info-panel-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.time.disable('info');\n this.player.time.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' + DPLAYER_VERSION + ' ' + 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 = this.player.video.videoWidth + ' x ' + 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 = '' + value.toFixed(1);\n }\n }\n ]);\n return InfoPanel;\n}();\nexports.default = InfoPanel;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/info-panel.js\n// module id = 49\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/js/icons.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./src/js/info-panel.js","webpack://[name]/./src/js/contextmenu.js","webpack://[name]/./src/js/hotkey.js","webpack://[name]/./src/js/comment.js","webpack://[name]/./src/js/setting.js","webpack://[name]/./src/js/thumbnails.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/js/bezel.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./src/js/subtitle.js","webpack://[name]/./src/js/user.js","webpack://[name]/./src/js/fullscreen.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/danmaku.js","webpack://[name]/./node_modules/detect-node/index.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/template/player.art","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/assets/subtitle.svg","webpack://[name]/./src/assets/camera.svg","webpack://[name]/./src/assets/pallette.svg","webpack://[name]/./src/assets/send.svg","webpack://[name]/./src/assets/comment-off.svg","webpack://[name]/./src/assets/comment.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/setting.svg","webpack://[name]/./src/assets/full-web.svg","webpack://[name]/./src/assets/full.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/play.svg","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/i18n.js","webpack://[name]/./src/js/api.js","webpack://[name]/./src/js/options.js","webpack://[name]/./node_modules/promise-polyfill/src/finally.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/promise-polyfill/src/index.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","isMobile","test","navigator","userAgent","utils","secondToTime","second","hour","Math","floor","min","sec","map","num","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","left","pageXOffset","top","pageYOffset","scrollTop","setScrollPosition","_ref","_ref$left","undefined","_ref$top","this","isFirefox","scrollTo","isChrome","storage","set","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","default","_play2","_interopRequireDefault","_pause2","_volumeUp2","_volumeDown2","_volumeOff2","_full2","_fullWeb2","_setting2","_right2","_comment2","_commentOff2","_send2","_pallette2","_camera2","_subtitle2","_loading2","obj","Icons","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","send","pallette","camera","subtitle","loading","g","_typeof","iterator","constructor","Function","eval","e","$$out","enableSubtitle","$data","pic","$escape","$imports","screenshot","preload","url","type","_createClass","defineProperties","target","props","length","descriptor","configurable","writable","Constructor","protoProps","staticProps","InfoPanel","player","_this","instance","TypeError","_classCallCheck","container","template","infoPanel","video","infoPanelClose","addEventListener","hide","beginTime","Date","now","update","timer","enable","classList","remove","disable","add","contains","show","infoVersion","innerHTML","infoType","infoUrl","options","infoResolution","videoWidth","videoHeight","infoDuration","duration","danmaku","infoDanmakuId","id","infoDanmakuApi","api","infoDanmakuAmount","dan","infoFPS","toFixed","ContextMenu","concat","arr","Array","isArray","arr2","from","_toConsumableArray","menuItem","item","index","contextmenu","click","event","preventDefault","clientRect","getBoundingClientRect","clientX","clientY","mask","x","y","menu","offsetWidth","width","style","offsetHeight","height","bottom","events","trigger","HotKey","hotkey","focus","tag","activeElement","tagName","toUpperCase","editable","getAttribute","percentage","keyCode","toggle","seek","currentTime","controller","setAutoHide","volume","fullScreen","isFullScreen","cancel","Comment","commentButton","commentSettingButton","toggleSetting","commentColorSettingBox","querySelector","color","commentSettingFill","fill","commentInput","commentSendFill","hideSetting","commentSendButton","disableAutoHide","commentSettingBox","showSetting","_this2","blur","replace","text","notice","tran","_utils","_utils2","Setting","settingButton","loop","loopToggle","checked","showDanmaku","user","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","unlimit","speed","settingBox","_loop","speedItem","dataset","on","bar","opacity","danmakuMove","changedTouches","danmakuOpacityBarWrap","max","danmakuUp","removeEventListener","danmakuOpacityBox","danmakuOpacityBarWrapWrap","setTimeout","Thumbnails","barWidth","backgroundImage","display","position","backgroundPosition","ceil","_thumbnails2","_icons2","Controller","autoHideTimer","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initVolumeButton","playButton","videoWrap","controllerMask","_this3","thumbnails","barPreview","barWrap","resize","_this4","thumbMove","playedBarWrap","clientWidth","ptime","thumbUp","px","tx","time","move","playedBarTime","innerText","_this5","browserFullButton","webFullButton","_this6","volumeMove","volumeBarWrap","volumeButton","volumeBarWrapWrap","volumeIcon","muted","switchVolumeIcon","_this7","quality","qualityList","switchQuality","_this8","camareButton","canvas","createElement","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","appendChild","removeChild","revokeObjectURL","_this9","subtitleButton","balloon","subtitleButtonInner","_this10","clearTimeout","played","paused","isShow","Bezel","icon","Timer","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","types","init","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bar","elements","volumeBar","playedBar","loaded","loadedBar","danmakuOpacityBar","direction","parseFloat","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","User","storageName","unlimited","data","FullScreen","lastScrollPosition","fullscreenchange","arguments","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","request","Events","videoEvents","playerEvents","push","info","indexOf","console","error","Danmaku","danTunnel","danIndex","showing","_opacity","_measure","load","apiurl","maximum","address","endpoints","addition","slice","_readAllEndpoints","results","apply","sort","a","b","frame","newAPI","clear","readCount","cbk","err","response","msg","status","typeMap","author","apiBackend","read","danmakuData","token","splice","htmlEncode","border","borderColor","draw","items","getElementsByClassName","itemHeight","danWidth","danHeight","itemY","parseInt","danItemRight","ele","eleWidth","eleRight","danSpeed","getTunnel","tmp","v","j","danRight","_ret","toString","docFragment","createDocumentFragment","_loop2","itemWidth","tunnel","transform","context","measureStyle","getComputedStyle","font","getPropertyValue","measureText","str","boolean","global","process","detectNode","runtime","ESCAPE_REG","content","html","regexResult","exec","result","lastIndex","char","charCodeAt","substring","xmlEscape","JSON","stringify","$each","len","_i","icons","$value","$index","logo","bottm","theme","live","defaultQuality","_player2","Template","danmakuLoading","bezel","querySelectorAll","dtime","qualityButton","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","This video fails to load","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","Video info","zh-tw","lang","SendXMLHttpRequest","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","parse","responseText","code","open","setRequestHeader","endpoint","log","alert","_api","_api2","defaultOption","autoplay","language","browserLanguage","toLowerCase","mutex","defaultKey","triggle","then","resolve","reason","reject","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","env","argv","version","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","setImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","random","source","attachEvent","task","clearImmediate","self","Timeout","clearFn","_id","_clearFn","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","_finally","_finally2","setTimeoutFunc","Promise","fn","_state","_handled","_value","_deferreds","doResolve","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","promise","newValue","finale","thisArg","_unhandledRejectionFn","done","ex","prom","all","remaining","res","val","race","values","warn","_promisePolyfill2","_options2","_i18n2","_template2","_danmaku2","_events2","_fullscreen2","_user2","_bar2","_timer2","_bezel2","_controller2","_hotkey2","_contextmenu2","_infoPanel2","_video2","instances","DPlayer","qualityIndex","arrow","initVideo","switch","catch","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","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","videoEle","DOMParser","parseFromString","firstChild","insertBefore","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","destroy","_player"],"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 = 52);\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar 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 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 === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 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};\nexports.default = utils;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _full = require('../assets/full.svg');\nvar _full2 = _interopRequireDefault(_full);\nvar _fullWeb = require('../assets/full-web.svg');\nvar _fullWeb2 = _interopRequireDefault(_fullWeb);\nvar _setting = require('../assets/setting.svg');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _right = require('../assets/right.svg');\nvar _right2 = _interopRequireDefault(_right);\nvar _comment = require('../assets/comment.svg');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _commentOff = require('../assets/comment-off.svg');\nvar _commentOff2 = _interopRequireDefault(_commentOff);\nvar _send = require('../assets/send.svg');\nvar _send2 = _interopRequireDefault(_send);\nvar _pallette = require('../assets/pallette.svg');\nvar _pallette2 = _interopRequireDefault(_pallette);\nvar _camera = require('../assets/camera.svg');\nvar _camera2 = _interopRequireDefault(_camera);\nvar _subtitle = require('../assets/subtitle.svg');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n full: _full2.default,\n fullWeb: _fullWeb2.default,\n setting: _setting2.default,\n right: _right2.default,\n comment: _comment2.default,\n commentOff: _commentOff2.default,\n send: _send2.default,\n pallette: _pallette2.default,\n camera: _camera2.default,\n subtitle: _subtitle2.default,\n loading: _loading2.default\n};\nexports.default = Icons;","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('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","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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' + DPLAYER_VERSION + ' ' + 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 = this.player.video.videoWidth + ' x ' + 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 = '' + value.toFixed(1);\n }\n }\n ]);\n return InfoPanel;\n}();\nexports.default = InfoPanel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n [].concat(_toConsumableArray(this.player.template.menuItem)).map(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 return item;\n });\n this.player.container.addEventListener('contextmenu', function (e) {\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.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.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexports.default = ContextMenu;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _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 = void 0;\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};\nexports.default = HotKey;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: 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}();\nexports.default = Comment;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(_utils2.default.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) - _utils2.default.getElementViewLeft(_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(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n document.addEventListener(_utils2.default.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}();\nexports.default = Setting;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\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 = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + '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}();\nexports.default = Thumbnails;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 (!_utils2.default.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 if (!_utils2.default.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 (!_utils2.default.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: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\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 _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.timer.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.timer.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragMove, function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.show();\n }\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragEnd, function () {\n if (_utils2.default.isMobile) {\n _this4.thumbnails && _this4.thumbnails.hide();\n }\n });\n if (!_utils2.default.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = 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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n _this6.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) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n document.addEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = 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 _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = void 0;\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 _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.player.paused && !_this10.disableAutoHide) {\n _this10.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}();\nexports.default = Controller;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bezel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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' + 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' + 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' + 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' + item + 'Checker'] = false;\n _this5[item + 'Checker'] && clearInterval(_this5[item + 'Checker']);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Bar;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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}();\nexports.default = Subtitle;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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.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(_utils2.default.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 _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexports.default = User;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 _utils2.default.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 _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\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;\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 = _utils2.default.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 }\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 }\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}();\nexports.default = FullScreen;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\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: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + 'v2/?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + 'v2/?id=' + 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 cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n var typeMap = [\n 'right',\n 'top',\n 'bottom'\n ];\n if (data) {\n results[i] = data.map(function (item) {\n return {\n time: item[0],\n type: typeMap[item[1]],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n });\n } else {\n results[i] = [];\n }\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: 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(this.options.api.address + 'v2/', danmakuData, callback);\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 ' + 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 _this3 = 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 _this3.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 _this4 = 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 || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.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 _loop = function _loop(i) {\n var item = _this4.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 _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _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 _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._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(-' + 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: ' + 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 _loop2(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(-' + 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}();\nexports.default = Danmaku;","'use strict';\nmodule.exports = false;\ntry {\n module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}","'use strict';\nvar detectNode = require('detect-node');\nvar runtime = Object.create(detectNode ? global : window);\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}\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}\n;\nmodule.exports = runtime;","
\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
","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 = \"\"","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = require('../template/player.art');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\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 = (0, _player2.default)({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: _icons2.default,\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.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}();\nexports.default = Template;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction 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 'This video fails to load': '视频加载失败',\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 'This video fails to load': '視頻加載失敗',\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};\nexports.default = i18n;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 0) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nexports.default = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = require('./api.js');\nvar _api2 = _interopRequireDefault(_api);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.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: _api2.default,\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' + DPLAYER_VERSION,\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = function (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};","'use strict';\nvar 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';\n(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' ? undefined : global : self));","'use strict';\nvar 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;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _finally = require('./finally');\nvar _finally2 = _interopRequireDefault(_finally);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\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 === 'undefined' ? 'undefined' : _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'] = _finally2.default;\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 === 'undefined' ? 'undefined' : _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 === 'undefined' ? 'undefined' : _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};\nexports.default = Promise;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function 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 }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nvar _infoPanel = require('./info-panel');\nvar _infoPanel2 = _interopRequireDefault(_infoPanel);\nvar _video = require('../template/video.art');\nvar _video2 = _interopRequireDefault(_video);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(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 _i18n2.default(this.options.lang).tran;\n this.events = new _events2.default();\n this.user = new _user2.default(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 (_utils2.default.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 _template2.default({\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 _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\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 });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(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 _timer2.default(this);\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n this.infoPanel = new _infoPanel2.default(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(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + 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 = _utils2.default.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(_icons2.default.play);\n }\n this.template.playButton.innerHTML = _icons2.default.pause;\n var playedPromise = _promisePolyfill2.default.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(_icons2.default.pause);\n }\n this.template.playButton.innerHTML = _icons2.default.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 = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = _icons2.default.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 = (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(this.tran('Volume') + ' ' + (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: ' + 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) {\n _this4.template.dtime.innerHTML = _utils2.default.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 _this4.tran && _this4.notice && _this4.type !== 'webtorrent' & _this4.notice(_this4.tran('This video fails to load'), -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 video.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 = _utils2.default.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 _subtitle2.default(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 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 = (0, _video2.default)({\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(this.tran('Switching to') + ' ' + this.quality.name + ' ' + 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(_this5.tran('Switched to') + ' ' + _this5.quality.name + ' ' + _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 this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\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}();\nexports.default = DPlayer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer v' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index bb1dab21c..3d991c2d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dplayer", - "version": "1.22.2", + "version": "1.23.0", "description": "Wow, such a lovely HTML5 danmaku video player", "main": "dist/DPlayer.min.js", "style": "dist/DPlayer.min.css",