diff options
-rw-r--r-- | .eslintrc.json | 44 | ||||
-rw-r--r-- | dist/plyr.js | 2 | ||||
-rw-r--r-- | src/js/plyr.js | 253 |
3 files changed, 154 insertions, 145 deletions
diff --git a/.eslintrc.json b/.eslintrc.json index 7bd43e1f..e1ec98f2 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,24 +1,34 @@ { + "extends": ["eslint:recommended"], "env": { "browser": true }, + "globals": { + "engine": true, + "Modernizr": false, + "ga": false, + "mixpanel": false, + "moment": false, + "fullscreen": false, + "Raven": false, + "templates": false, + "Hogan": false, + "locale_json": false, + "bootbox": false + }, "rules": { - "no-const-assign": "warn", - "no-this-before-super": "warn", - "no-undef": "warn", - "no-unreachable": "warn", - "no-unused-vars": "warn", - "constructor-super": "warn", - "valid-typeof": "warn", - "indent": [ - "error", - 4, - { - "SwitchCase": 1 - } - ], - "quotes": ["error", "single"], - "semi": ["error", "always"], - "eqeqeq": ["error", "always"] + "no-const-assign": 1, + "no-this-before-super": 1, + "no-undef": 1, + "no-unreachable": 1, + "no-unused-vars": 1, + "constructor-super": 1, + "valid-typeof": 1, + "indent": [2, 4, { "SwitchCase": 1 }], + "quotes": [2, "single", "avoid-escape"], + "semi": [2, "always"], + "eqeqeq": [2, "always"], + "one-var": [2, "never"], + "comma-dangle": [2, "always-multiline"] } } diff --git a/dist/plyr.js b/dist/plyr.js index 7c19e4c7..aa0cf782 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -1 +1 @@ -(function(e,t,n){"use strict";"object"==typeof exports?module.exports=n(require):"function"==typeof define&&define.amd?define(n):t[e]=n()}).call(this,"Plyr",this,function(){"use strict";function e(e,t){function r(e,t,n,i){a.dispatchEvent(e,t,n,a.extend({},i,{plyr:de}))}function l(){var e=c("input:not([disabled]), button:not([disabled])"),t=e[0],n=e[e.length-1];a.on(de.elements.container,"keydown",function(e){9===e.which&&de.fullscreen.active&&(e.target!==n||e.shiftKey?e.target===t&&e.shiftKey&&(e.preventDefault(),n.focus()):(e.preventDefault(),t.focus()))},!1)}function c(e){return de.elements.container.querySelectorAll(e)}function u(e){return c(e)[0]}function d(e){a.is.string(e)?(a.removeElement(de.elements[e]),de.elements[e]=null):a.removeElement(e)}function p(e,t){a.is.string(t)?a.insertElement(e,de.media,{src:t}):a.is.array(t)&&(ge(t),t.forEach(function(t){a.insertElement(e,de.media,t)}))}function m(){return{url:de.config.iconUrl,absolute:0===de.config.iconUrl.indexOf("http")||de.browser.isIE}}function g(e,t){var n=m(),i=(n.absolute?"":n.url)+"#"+de.config.iconPrefix,o=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributes(o,a.extend(t,{role:"presentation"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use");return s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i+"-"+e),o.appendChild(s),o}function f(e){var t=de.config.i18n[e];switch(e){case"pip":t="PIP";break;case"airplay":t="AirPlay"}return a.createElement("span",{class:de.config.classNames.hidden},t)}function y(e){var t=a.createElement("span",{class:de.config.classNames.menu.value});return t.appendChild(a.createElement("span",{class:de.config.classNames.menu.badge},e)),t}function b(e,t){var n,i,o,s=a.createElement("button");switch(a.is.object(t)||(t={}),"type"in t||(t.type="button"),"class"in t?-1===t.class.indexOf(de.config.classNames.control)&&(t.class+=" "+de.config.classNames.control):t.class=de.config.classNames.control,e){case"mute":o="toggleMute",n="volume",i="muted";break;case"captions":o="toggleCaptions",n="captions-off",i="captions-on";break;case"fullscreen":o="toggleFullscreen",n="enter-fullscreen",i="exit-fullscreen";break;case"play-large":t.class="plyr__play-large",e="play",o="play",n="play";break;default:o=e,n=e}return a.extend(t,a.getAttributesFromSelector(de.config.selectors.buttons[e],t)),a.is.string(i)&&s.appendChild(g(i,{class:"icon--"+i})),s.appendChild(g(n)),s.appendChild(f(o)),a.setAttributes(s,t),de.elements.buttons[e]=s,s}function v(e,t){var n=a.createElement("label",{for:t.id,class:de.config.classNames.hidden},de.config.i18n[e]),i=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.1,value:0,autocomplete:"off"},t));return de.elements.inputs[e]=i,{label:n,input:i}}function h(e,t){var n=a.createElement("progress",a.extend(a.getAttributesFromSelector(de.config.selectors.display[e]),{min:0,max:100,value:0},t));if("volume"!==e){n.appendChild(a.createElement("span",null,"0"));var i="";switch(e){case"played":i=de.config.i18n.played;break;case"buffer":i=de.config.i18n.buffered}n.textContent="% "+i.toLowerCase()}return de.elements.display[e]=n,n}function w(e){var t=a.createElement("span",{class:"plyr__time"});return t.appendChild(a.createElement("span",{class:de.config.classNames.hidden},de.config.i18n[e])),t.appendChild(a.createElement("span",a.getAttributesFromSelector(de.config.selectors.display[e]),"00:00")),de.elements.display[e]=t,t}function k(e){if(!a.is.empty(de.config.controls)){var t=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.controls.wrapper));if(a.inArray(de.config.controls,"restart")&&t.appendChild(b("restart")),a.inArray(de.config.controls,"rewind")&&t.appendChild(b("rewind")),a.inArray(de.config.controls,"play")&&(t.appendChild(b("play")),t.appendChild(b("pause"))),a.inArray(de.config.controls,"fast-forward")&&t.appendChild(b("fast-forward")),a.inArray(de.config.controls,"progress")){var n=a.createElement("span",a.getAttributesFromSelector(de.config.selectors.progress)),i=v("seek",{id:"plyr-seek-"+e.id});if(n.appendChild(i.label),n.appendChild(i.input),n.appendChild(h("played")),n.appendChild(h("buffer")),de.config.tooltips.seek){var o=a.createElement("span",{role:"tooltip",class:de.config.classNames.tooltip},"00:00");n.appendChild(o),de.elements.display.seekTooltip=o}de.elements.progress=n,t.appendChild(de.elements.progress)}if(a.inArray(de.config.controls,"current-time")&&t.appendChild(w("currentTime")),a.inArray(de.config.controls,"duration")&&t.appendChild(w("duration")),a.inArray(de.config.controls,"mute")&&t.appendChild(b("mute")),a.inArray(de.config.controls,"volume")){var r=a.createElement("span",{class:"plyr__volume"}),l={max:1,step:.05,value:de.config.volume},c=v("volume",a.extend(l,{id:"plyr-volume-"+e.id}));r.appendChild(c.label),r.appendChild(c.input);var u=h("volume",l);r.appendChild(u),t.appendChild(r)}if(a.inArray(de.config.controls,"captions")&&t.appendChild(b("captions")),a.inArray(de.config.controls,"settings")&&!a.is.empty(de.config.settings)){var d=a.createElement("div",{class:"plyr__menu"});d.appendChild(b("settings",{id:"plyr-settings-toggle-"+e.id,"aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id,"aria-expanded":!1}));var p=a.createElement("form",{class:"plyr__menu__container",id:"plyr-settings-"+e.id,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tablist",tabindex:-1}),m=a.createElement("div"),g=a.createElement("div",{id:"plyr-settings-"+e.id+"-home","aria-hidden":!1,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tabpanel"}),f=a.createElement("ul",{role:"tablist"});de.config.settings.forEach(function(t){var n=a.createElement("li",{role:"tab",hidden:""}),i=a.createElement("button",a.extend(a.getAttributesFromSelector(de.config.selectors.buttons.settings),{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--forward",id:"plyr-settings-"+e.id+"-"+t+"-tab","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-"+t,"aria-expanded":!1}),de.config.i18n[t]),o=a.createElement("span",{class:de.config.classNames.menu.value});o.innerHTML=e[t],i.appendChild(o),n.appendChild(i),f.appendChild(n),de.elements.settings.tabs[t]=n}),g.appendChild(f),m.appendChild(g),de.config.settings.forEach(function(t){var n=a.createElement("div",{id:"plyr-settings-"+e.id+"-"+t,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-"+e.id+"-"+t+"-tab",role:"tabpanel",tabindex:-1,hidden:""}),i=a.createElement("button",{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--back","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-home","aria-expanded":!1},de.config.i18n[t]);n.appendChild(i);var o=a.createElement("ul");n.appendChild(o),m.appendChild(n),de.elements.settings.panes[t]=n}),p.appendChild(m),d.appendChild(p),t.appendChild(d),de.elements.settings.form=p,de.elements.settings.menu=d}return a.inArray(de.config.controls,"pip")&&s.pip&&t.appendChild(b("pip")),a.inArray(de.config.controls,"airplay")&&s.airplay&&t.appendChild(b("airplay")),a.inArray(de.config.controls,"fullscreen")&&t.appendChild(b("fullscreen")),a.inArray(de.config.controls,"play-large")&&(de.elements.buttons.playLarge=b("play-large"),de.elements.container.appendChild(de.elements.buttons.playLarge)),de.elements.controls=t,a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(),t}}function C(e,t){var n=de.elements.settings.tabs[e],i=de.elements.settings.panes[e];a.is.htmlElement(n)&&(t?n.removeAttribute("hidden"):n.setAttribute("hidden","")),a.is.htmlElement(i)&&(t?i.removeAttribute("hidden"):i.setAttribute("hidden",""))}function E(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":case"hd720":t="HD"}return t.length?y(t):null}var i=de.elements.settings.panes.quality.querySelector("ul");a.is.array(e)?de.quality.options=e.filter(function(e){return a.inArray(de.config.quality.options,e)}):de.quality.options=de.config.quality.options,a.is.string(t)&&a.inArray(de.quality.options,t)&&(de.quality.selected=t);var o=!a.is.empty(de.quality.options)&&"youtube"===de.type;C("quality",o),o&&(a.emptyElement(i),de.quality.options.forEach(function(e){var t=a.createElement("li"),o=a.createElement("label",{class:de.config.classNames.control}),s=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.quality),{type:"radio",name:"plyr-quality",value:e}));o.appendChild(s),o.appendChild(document.createTextNode(A("quality",e)));var r=n(e);a.is.htmlElement(r)&&o.appendChild(r),t.appendChild(o),i.appendChild(t)}),T("quality",i))}function A(e,t){switch(e){case"speed":return 1===t?"Normal":t+"×";case"quality":switch(t){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";case"tiny":return"Tiny";case"default":return"Auto";default:return t}case"captions":return F()}}function T(e,t){var n=de.elements.settings.panes[e],i=null;switch(e){case"captions":i=de.captions.language,de.captions.enabled||(i="");break;default:if(i=de[e].selected,a.is.empty(i)&&(i=de.config[e].default),!a.inArray(de[e].options,i))return void ge("Unsupported option")}a.is.htmlElement(t)||(t=n&&n.querySelector("ul"));var o=t&&t.querySelector('input[value="'+i+'"]');a.is.htmlElement(o)&&(o.checked=!0,de.elements.settings.tabs[e].querySelector("."+de.config.classNames.menu.value).innerHTML=A(e,i))}function S(){var e=de.elements.settings.panes.captions.querySelector("ul");if(C("captions",!a.is.empty(de.captions.tracks)),a.emptyElement(e),!a.is.empty(de.captions.tracks)){var t=[].map.call(de.captions.tracks,function(e){return{language:e.language,badge:!0,label:a.is.empty(e.label)?e.language.toUpperCase():e.label}});t.unshift({language:"",label:de.config.i18n.none}),t.forEach(function(t){var n=a.createElement("li"),i=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.language),{type:"radio",name:"plyr-language",value:t.language}));t.language.toLowerCase()===de.captions.language.toLowerCase()&&(o.checked=!0),i.appendChild(o),i.appendChild(document.createTextNode(t.label||t.language)),t.badge&&i.appendChild(y(t.language.toUpperCase())),n.appendChild(i),e.appendChild(n)}),T("captions",e)}}function N(e,t){a.is.array(e)?de.speed.options=e.filter(function(e){return a.inArray(de.config.speed.options,e)}):de.speed.options=de.config.speed.options,a.is.number(t)&&a.inArray(de.speed.options,t)&&(de.speed.selected=t);var n=!a.is.empty(de.speed.options);if(C("speed",n),n){var i=de.elements.settings.panes.speed.querySelector("ul");de.elements.settings.tabs.speed.removeAttribute("hidden"),de.elements.settings.panes.speed.removeAttribute("hidden"),a.emptyElement(i),de.speed.options.forEach(function(e){var t=a.createElement("li"),n=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.speed),{type:"radio",name:"plyr-speed",value:e}));n.appendChild(o),n.insertAdjacentHTML("beforeend",A("speed",e)),t.appendChild(n),i.appendChild(t)}),T("speed",i)}}function x(){if(de.supported.full&&("audio"!==de.type||de.config.fullscreen.allowAudio)&&de.config.fullscreen.enabled){var e=s.fullscreen;e||de.config.fullscreen.fallback&&!a.inFrame()?(me((e?"Native":"Fallback")+" fullscreen enabled"),a.toggleClass(de.elements.container,de.config.classNames.fullscreen.enabled,!0)):me("Fullscreen not supported and fallback disabled"),de.elements.buttons&&de.elements.buttons.fullscreen&&a.toggleState(de.elements.buttons.fullscreen,!1),l()}}function P(){function e(){de.captions.currentTrack=null,[].forEach.call(de.captions.tracks,function(e){e.language===de.captions.language.toLowerCase()&&(de.captions.currentTrack=e)})}if(a.is.empty(de.storage.language)?a.is.empty(de.captions.language)&&(de.captions.language=de.config.captions.language.toLowerCase()):de.captions.language=de.storage.language,a.is.boolean(de.captions.enabled)||(a.is.empty(de.storage.language)?de.captions.enabled=de.config.captions.active:de.captions.enabled=de.storage.captions),!a.inArray(["video","vimeo"],de.type)||"video"===de.type&&!s.textTracks)return de.captions.tracks=null,void(a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S());if(a.is.htmlElement(de.elements.captions)||(de.elements.captions=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.captions)),a.insertAfter(de.elements.captions,de.elements.wrapper)),"video"===de.type&&(de.captions.tracks=de.media.textTracks),a.toggleClass(de.elements.container,de.config.classNames.captions.enabled,!a.is.empty(de.captions.tracks)),!a.is.empty(de.captions.tracks)){if(_(),e(),!a.is.track(de.captions.currentTrack)){var t=de.config.captions.language;de.captions.language=t,e(),a.is.track(de.captions.currentTrack)||de.toggleCaptions(!1),T("captions")}if("video"===de.type){[].forEach.call(de.captions.tracks,function(e){a.off(e,"cuechange",I),e.mode="hidden"});var n=a.inArray(["captions","subtitles"],de.captions.currentTrack&&de.captions.currentTrack.kind);a.is.track(de.captions.currentTrack)&&n&&(a.on(de.captions.currentTrack,"cuechange",I),de.captions.currentTrack.activeCues&&de.captions.currentTrack.activeCues.length>0&&I(de.captions.currentTrack))}else"vimeo"===de.type&&de.captions.active&&de.embed.enableTextTrack(de.captions.language);a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S()}}function F(){return!s.textTracks||a.is.empty(de.captions.tracks)?de.config.i18n.none:de.captions.enabled?de.captions.currentTrack.label:de.config.i18n.disabled}function I(e){a.is.event(e)&&(e=e.target);var t=e.activeCues[0];a.is.cue(t)?q(t.getCueAsHTML()):q(),r(de.media,"cuechange")}function q(e){if(a.is.htmlElement(de.elements.captions)){var t=a.createElement("span");a.emptyElement(de.elements.captions),a.is.undefined(e)&&(e=""),a.is.string(e)?t.textContent=e.trim():t.appendChild(e),de.elements.captions.appendChild(t)}else ge("No captions element to render to")}function _(){if(de.elements.buttons.captions){var e=de.storage.captions;a.is.boolean(e)?de.captions.active=e:e=de.captions.active,e&&(a.toggleClass(de.elements.container,de.config.classNames.captions.active,!0),a.toggleState(de.elements.buttons.captions,!0))}}function L(){if(de.config.loadSprite){var e=m();e.absolute?(me("AJAX loading absolute SVG sprite"+(de.browser.isIE?" (due to IE)":"")),a.loadSprite(e.url,"sprite-plyr")):me("Sprite will be used as external resource directly")}de.id=Math.floor(1e4*Math.random());var t=null;t=a.is.string(de.config.controls)?de.config.controls:a.is.function(de.config.controls)?de.config.controls({id:de.id,seektime:de.config.seekTime}):k({id:de.id,seektime:de.config.seekTime,speed:"-",quality:"-",captions:F(),loop:"None"});var n;if(a.is.string(de.config.selectors.controls.container)&&(n=document.querySelector(de.config.selectors.controls.container)),a.is.htmlElement(n)||(n=de.elements.container),a.is.htmlElement(t)?n.appendChild(t):n.insertAdjacentHTML("beforeend",t),a.is.htmlElement(de.elements.controls)&&M(),de.config.tooltips.controls)for(var i=c([de.config.selectors.controls.wrapper," ",de.config.selectors.labels," .",de.config.classNames.hidden].join("")),o=i.length-1;o>=0;o--){var s=i[o];a.toggleClass(s,de.config.classNames.hidden,!1),a.toggleClass(s,de.config.classNames.tooltip,!0)}}function M(){try{return de.elements.controls=u(de.config.selectors.controls.wrapper),de.elements.buttons={play:c(de.config.selectors.buttons.play),pause:u(de.config.selectors.buttons.pause),restart:u(de.config.selectors.buttons.restart),rewind:u(de.config.selectors.buttons.rewind),forward:u(de.config.selectors.buttons.forward),mute:u(de.config.selectors.buttons.mute),pip:u(de.config.selectors.buttons.pip),airplay:u(de.config.selectors.buttons.airplay),settings:u(de.config.selectors.buttons.settings),captions:u(de.config.selectors.buttons.captions),fullscreen:u(de.config.selectors.buttons.fullscreen)},de.elements.progress=u(de.config.selectors.progress),de.elements.inputs={seek:u(de.config.selectors.inputs.seek),volume:u(de.config.selectors.inputs.volume)},de.elements.display={buffer:u(de.config.selectors.display.buffer),played:u(de.config.selectors.display.played),volume:u(de.config.selectors.display.volume),duration:u(de.config.selectors.display.duration),currentTime:u(de.config.selectors.display.currentTime)},a.is.htmlElement(de.elements.progress)&&(de.elements.display.seekTooltip=de.elements.progress.querySelector("."+de.config.classNames.tooltip)),!0}catch(e){return ge("It looks like there is a problem with your custom controls HTML",e),O(!0),!1}}function V(){a.toggleClass(de.elements.container,de.config.selectors.container.replace(".",""),de.supported.full)}function O(e){e&&a.inArray(i.html5,de.type)?de.media.setAttribute("controls",""):de.media.removeAttribute("controls")}function j(e){var t=de.config.i18n.play;if(a.is.string(de.config.title)&&!a.is.empty(de.config.title)&&(t+=", "+de.config.title,de.elements.container.setAttribute("aria-label",de.config.title)),de.supported.full&&(a.is.htmlElement(de.elements.buttons.play)&&de.elements.buttons.play.setAttribute("aria-label",t),a.is.htmlElement(de.elements.buttons.playLarge)&&de.elements.buttons.playLarge.setAttribute("aria-label",t)),a.is.htmlElement(e)){var n=a.is.string(de.config.title)&&!a.is.empty(de.config.title)?de.config.title:"video";e.setAttribute("title",de.config.i18n.frameTitle.replace("{title}",n))}}function D(){var e=null;de.storage={},s.storage&&de.config.storage.enabled&&(window.localStorage.removeItem("plyr-volume"),(e=window.localStorage.getItem(de.config.storage.key))&&(/^\d+(\.\d+)?$/.test(e)?R({volume:parseFloat(e)}):de.storage=JSON.parse(e)))}function R(e){s.storage&&de.config.storage.enabled&&(a.extend(de.storage,e),window.localStorage.setItem(de.config.storage.key,JSON.stringify(de.storage)))}function H(){de.media?(de.supported.full&&(a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}",de.type),!0),a.inArray(i.embed,de.type)&&a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}","video"),!0),a.toggleClass(de.elements.container,de.config.classNames.pip.enabled,s.pip&&"video"===de.type),a.toggleClass(de.elements.container,de.config.classNames.airplay.enabled,s.airplay&&a.inArray(i.html5,de.type)),a.toggleClass(de.elements.container,de.config.classNames.stopped,de.config.autoplay),a.toggleClass(de.elements.container,de.config.classNames.isIos,de.browser.isIos),a.toggleClass(de.elements.container,de.config.classNames.isTouch,s.touch)),a.inArray(["video","youtube","vimeo"],de.type)&&(de.elements.wrapper=a.createElement("div",{class:de.config.classNames.video}),a.wrap(de.media,de.elements.wrapper)),a.inArray(i.embed,de.type)&&B()):ge("No media element found!")}function B(){var e,t=de.type+"-"+Math.floor(1e4*Math.random());switch(de.type){case"youtube":e=a.parseYouTubeId(de.embedId);break;default:e=de.embedId}for(var n=c('[id^="'+de.type+'-"]'),i=n.length-1;i>=0;i--)a.removeElement(n[i]);if(a.toggleClass(de.elements.wrapper,de.config.classNames.embed,!0),"youtube"===de.type)de.media.setAttribute("id",t),a.is.object(window.YT)?W(e):(a.injectScript(de.config.urls.youtube.api),window.onYouTubeReadyCallbacks=window.onYouTubeReadyCallbacks||[],window.onYouTubeReadyCallbacks.push(function(){W(e)}),window.onYouTubeIframeAPIReady=function(){window.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===de.type)if(de.media.setAttribute("id",t),a.is.object(window.Vimeo))Q(e);else{a.injectScript(de.config.urls.vimeo.api);var o=window.setInterval(function(){a.is.object(window.Vimeo)&&(window.clearInterval(o),Q(e))},50)}else if("soundcloud"===de.type){var s=a.createElement("iframe");s.loaded=!1,a.on(s,"load",function(){s.loaded=!0}),a.setAttributes(s,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+e,id:t}),de.media.appendChild(s),window.SC||a.injectScript(de.config.urls.soundcloud.api);var r=window.setInterval(function(){window.SC&&s.loaded&&(window.clearInterval(r),U.call(s))},50)}}function Y(){de.supported.full&&(ce(),ue()),j(u("iframe"))}function W(e){de.embed=new window.YT.Player(de.media.id,{videoId:e,playerVars:{autoplay:de.config.autoplay?1:0,controls:de.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,disablekb:1,playsinline:1,origin:window.location.hostname,widget_referrer:window.location.href},events:{onError:function(e){r(de.elements.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target;de.media.quality=t.getPlaybackQuality(),r(de.media,"qualitychange")},onPlaybackRateChange:function(e){var t=e.target;de.media.playbackRate=t.getPlaybackRate(),r(de.media,"ratechange")},onReady:function(e){var t=e.target;de.media.play=function(){t.playVideo(),de.media.paused=!1},de.media.pause=function(){t.pauseVideo(),de.media.paused=!0},de.media.stop=function(){t.stopVideo(),de.media.paused=!0},de.media.duration=t.getDuration(),de.media.paused=!0,de.media.currentTime=0,de.media.muted=t.isMuted(),a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(t.getAvailablePlaybackRates(),t.getPlaybackRate()),de.config.title=t.getVideoData().title,de.supported.full&&de.media.setAttribute("tabindex",-1),Y(),r(de.media,"timeupdate"),r(de.media,"durationchange"),window.clearInterval(pe.buffering),pe.buffering=window.setInterval(function(){de.media.buffered=t.getVideoLoadedFraction(),(null===de.media.lastBuffered||de.media.lastBuffered<de.media.buffered)&&r(de.media,"progress"),de.media.lastBuffered=de.media.buffered,1===de.media.buffered&&(window.clearInterval(pe.buffering),r(de.media,"canplaythrough"))},200)},onStateChange:function(e){var t=e.target;switch(window.clearInterval(pe.playing),e.data){case 0:if(de.config.loop.active){t.stopVideo(),t.playVideo();break}de.media.paused=!0,r(de.media,"ended");break;case 1:de.media.paused=!1,de.media.seeking&&r(de.media,"seeked"),de.media.seeking=!1,r(de.media,"play"),r(de.media,"playing"),pe.playing=window.setInterval(function(){de.media.currentTime=t.getCurrentTime(),r(de.media,"timeupdate")},100),de.media.duration!==t.getDuration()&&(de.media.duration=t.getDuration(),r(de.media,"durationchange")),E(t.getAvailableQualityLevels(),t.getPlaybackQuality());break;case 2:de.media.paused=!0,r(de.media,"pause")}r(de.elements.container,"statechange",!1,{code:e.data})}}})}function Q(e){de.embed=new window.Vimeo.Player(de.media,{id:e,loop:de.config.loop.active,autoplay:de.config.autoplay,byline:!1,portrait:!1,title:!1}),de.media.play=function(){de.embed.play(),de.media.paused=!1},de.media.pause=function(){de.embed.pause(),de.media.paused=!0},de.media.stop=function(){de.embed.stop(),de.media.paused=!0},de.media.paused=!0,de.media.currentTime=0,Y(),de.embed.getCurrentTime().then(function(e){de.media.currentTime=e,r(de.media,"timeupdate")}),de.embed.getDuration().then(function(e){de.media.duration=e,r(de.media,"durationchange")}),de.embed.getTextTracks().then(function(e){de.captions.tracks=e,P()}),de.embed.on("cuechange",function(e){var t=null;e.cues.length&&(t=a.stripHTML(e.cues[0].text)),q(t)}),de.embed.on("loaded",function(){a.is.htmlElement(de.embed.element)&&de.supported.full&&de.embed.element.setAttribute("tabindex",-1)}),de.embed.on("play",function(){de.media.paused=!1,r(de.media,"play"),r(de.media,"playing")}),de.embed.on("pause",function(){de.media.paused=!0,r(de.media,"pause")}),de.embed.on("timeupdate",function(e){de.media.seeking=!1,de.media.currentTime=e.seconds,r(de.media,"timeupdate")}),de.embed.on("progress",function(e){de.media.buffered=e.percent,r(de.media,"progress"),1===parseInt(e.percent)&&r(de.media,"canplaythrough")}),de.embed.on("seeked",function(){de.media.seeking=!1,r(de.media,"seeked"),r(de.media,"play")}),de.embed.on("ended",function(){de.media.paused=!0,r(de.media,"ended")})}function U(){de.embed=window.SC.Widget(this),de.embed.bind(window.SC.Widget.Events.READY,function(){de.media.play=function(){de.embed.play(),de.media.paused=!1},de.media.pause=function(){de.embed.pause(),de.media.paused=!0},de.media.stop=function(){de.embed.seekTo(0),de.embed.pause(),de.media.paused=!0},de.media.paused=!0,de.media.currentTime=0,de.embed.getDuration(function(e){de.media.duration=e/1e3,Y()}),de.embed.getPosition(function(e){de.media.currentTime=e,r(de.media,"timeupdate")}),de.embed.bind(window.SC.Widget.Events.PLAY,function(){de.media.paused=!1,r(de.media,"play"),r(de.media,"playing")}),de.embed.bind(window.SC.Widget.Events.PAUSE,function(){de.media.paused=!0,r(de.media,"pause")}),de.embed.bind(window.SC.Widget.Events.PLAY_PROGRESS,function(e){de.media.seeking=!1,de.media.currentTime=e.currentPosition/1e3,r(de.media,"timeupdate")}),de.embed.bind(window.SC.Widget.Events.LOAD_PROGRESS,function(e){de.media.buffered=e.loadProgress,r(de.media,"progress"),1===parseInt(e.loadProgress)&&r(de.media,"canplaythrough")}),de.embed.bind(window.SC.Widget.Events.FINISH,function(){de.media.paused=!0,r(de.media,"ended")})})}function J(){a.toggleClass(de.elements.container,de.config.classNames.playing,!de.media.paused),a.toggleClass(de.elements.container,de.config.classNames.stopped,de.media.paused),de.toggleControls(de.media.paused)}function X(e){var t=de.elements.settings.form,n=de.elements.buttons.settings,i=a.is.boolean(e)?e:t&&"true"===t.getAttribute("aria-hidden");if(a.is.event(e)){var o=t&&t.contains(e.target),s=e.target===de.elements.buttons.settings;if(o||!o&&!s&&i)return;s&&e.stopPropagation()}n&&n.setAttribute("aria-expanded",i),t&&(t.setAttribute("aria-hidden",!i),i?t.removeAttribute("tabindex"):t.setAttribute("tabindex",-1))}function z(e){var t,n,i=e.cloneNode(!0);return i.style.position="absolute",i.style.opacity=0,i.setAttribute("aria-hidden",!1),[].forEach.call(i.querySelectorAll("input[name]"),function(e){var t=e.getAttribute("name");e.setAttribute("name",t+"-clone")}),e.parentNode.appendChild(i),t=i.scrollWidth,n=i.scrollHeight,a.removeElement(i),{width:t,height:n}}function $(e){var t=de.elements.settings.menu,n=e.target,i="false"===n.getAttribute("aria-expanded"),o=document.getElementById(n.getAttribute("aria-controls"));if(a.is.htmlElement(o)&&"tabpanel"===o.getAttribute("role")){var r=t.querySelector('[role="tabpanel"][aria-hidden="false"]'),l=r.parentNode;if([].forEach.call(t.querySelectorAll('[aria-controls="'+r.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),s.transitions&&!s.reducedMotion){l.style.width=r.scrollWidth+"px",l.style.height=r.scrollHeight+"px";var c=z(o),u=function(e){e.target===l&&a.inArray(["width","height"],e.propertyName)&&(l.style.width="",l.style.height="",a.off(l,a.transitionEnd,u))};a.on(l,a.transitionEnd,u),l.style.width=c.width+"px",l.style.height=c.height+"px"}r.setAttribute("aria-hidden",!0),r.setAttribute("tabindex",-1),o.setAttribute("aria-hidden",!i),n.setAttribute("aria-expanded",i),o.removeAttribute("tabindex")}}function G(){if(de.supported.full){var e=de.media.muted?0:de.media.volume;de.elements.inputs.volume&&(de.elements.inputs.volume.value=e),de.elements.display.volume&&(de.elements.display.volume.value=e)}R({volume:de.media.volume}),a.toggleClass(de.elements.container,de.config.classNames.muted,de.media.muted),de.supported.full&&de.elements.buttons.mute&&a.toggleState(de.elements.buttons.mute,de.media.muted)}function K(e){de.loading="waiting"===e.type,clearTimeout(pe.loading),pe.loading=setTimeout(function(){a.toggleClass(de.elements.container,de.config.classNames.loading,de.loading),de.toggleControls(de.loading)},de.loading?250:0)}function Z(e){if(de.supported.full){var t=de.elements.display.played,n=0,i=de.getDuration();if(e)switch(e.type){case"timeupdate":case"seeking":n=a.getPercentage(de.media.currentTime,i),"timeupdate"===e.type&&de.elements.inputs.seek&&(de.elements.inputs.seek.value=n);break;case"playing":case"progress":t=de.elements.display.buffer,n=function(){var e=de.media.buffered;return e&&e.length?a.getPercentage(e.end(0),i):a.is.number(e)?100*e:0}()}ee(t,n)}}function ee(e,t){if(de.supported.full){if(a.is.undefined(t)&&(t=0),a.is.undefined(e)){if(!a.is.htmlElement(de.elements.display.buffer))return;e=de.elements.display.buffer}if(a.is.htmlElement(e)){e.value=t;var n=e.getElementsByTagName("span")[0];a.is.htmlElement(n)&&(n.childNodes[0].nodeValue=t)}}}function te(e,t){if(t){isNaN(e)&&(e=0);var n=parseInt(e%60),i=parseInt(e/60%60),a=parseInt(e/60/60%60),o=de.getDuration(),s=parseInt(o/60/60%60)>0;n=("0"+n).slice(-2),i=("0"+i).slice(-2);var r=(s?a+":":"")+i+":"+n;return t.textContent=r,r}}function ne(){if(de.supported.full){var e=de.getDuration()||0;!de.elements.display.duration&&de.config.displayDuration&&de.media.paused&&te(e,de.elements.display.currentTime),de.elements.display.duration&&te(e,de.elements.display.duration),oe()}}function ie(e){te(de.media.currentTime,de.elements.display.currentTime),e&&"timeupdate"===e.type&&de.media.seeking||Z(e)}function ae(e){a.is.number(e)||(e=0);var t=de.getDuration(),n=a.getPercentage(e,t);de.elements.progress&&de.elements.display.played&&(de.elements.display.played.value=n),de.elements.buttons&&de.elements.inputs.seek&&(de.elements.inputs.seek.value=n)}function oe(e){var t=de.getDuration();if(de.config.tooltips.seek&&a.is.htmlElement(de.elements.inputs.seek)&&a.is.htmlElement(de.elements.display.seekTooltip)&&0!==t){var n=de.elements.inputs.seek.getBoundingClientRect(),i=0,o=de.config.classNames.tooltip+"--visible";if(a.is.event(e))i=100/n.width*(e.pageX-n.left);else{if(!a.hasClass(de.elements.display.seekTooltip,o))return;i=de.elements.display.seekTooltip.style.left.replace("%","")}i<0?i=0:i>100&&(i=100),te(t/100*i,de.elements.display.seekTooltip),de.elements.display.seekTooltip.style.left=i+"%",a.is.event(e)&&a.inArray(["mouseenter","mouseleave"],e.type)&&a.toggleClass(de.elements.display.seekTooltip,o,"mouseenter"===e.type)}}function se(){function e(){var e=de.togglePlay(),t=de.elements.buttons[e?"play":"pause"],n=de.elements.buttons[e?"pause":"play"];n&&t&&a.hasClass(t,de.config.classNames.tabFocus)&&setTimeout(function(){n.focus(),a.toggleClass(t,de.config.classNames.tabFocus,!1),a.toggleClass(n,de.config.classNames.tabFocus,!0)},0)}function t(e){return e.keyCode?e.keyCode:e.which}function n(e){a.toggleClass(c("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1),de.elements.container.contains(e)&&a.toggleClass(e,de.config.classNames.tabFocus,!0)}function i(n){var i=t(n),o="keydown"===n.type,r=o&&i===l;if(a.is.number(i))if(o){var c=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],u=[38,40];if(a.inArray(u,i)){var d=a.getFocusElement();if(a.is.htmlElement(d)&&"radio"===a.getFocusElement().type)return}switch(a.inArray(c,i)&&(n.preventDefault(),n.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:r||function(){var e=de.media.duration;a.is.number(e)&&de.seek(e/10*(i-48))}();break;case 32:case 75:r||e();break;case 38:de.increaseVolume();break;case 40:de.decreaseVolume();break;case 77:r||de.toggleMute();break;case 39:de.forward();break;case 37:de.rewind();break;case 70:de.toggleFullscreen();break;case 67:r||de.toggleCaptions();break;case 73:de.setLoop("start");break;case 76:de.setLoop();break;case 79:de.setLoop("end")}!s.fullscreen&&de.fullscreen.active&&27===i&&de.toggleFullscreen(),l=i}else l=null}var r=de.browser.isIE?"change":"input";if(de.config.keyboard.focused){var l=null;de.config.keyboard.global&&a.on(window,"keydown keyup",function(e){var n=t(e),o=a.getFocusElement(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79];!a.inArray(s,n)||a.is.htmlElement(o)&&a.matches(o,de.config.selectors.editable)||i(e)},!1),a.on(de.elements.container,"keydown keyup",i,!1)}a.on(window,"keyup",function(e){var i=t(e),o=a.getFocusElement();9===i&&n(o)}),a.on(document.body,"click",function(){a.toggleClass(u("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1)});for(var d in de.elements.buttons)a.on(de.elements.buttons[d],"blur",function(e){a.toggleClass(e.target,de.config.classNames.tabFocus,!1)});var p=function(e,t,n){a.is.function(t)&&t.call(this,e),a.is.function(n)&&n.call(this,e)};a.proxy(de.elements.buttons.play,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.playLarge,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.pause,"click",de.config.listeners.pause,e),a.proxy(de.elements.buttons.restart,"click",de.config.listeners.restart,function(){de.restart()}),a.proxy(de.elements.buttons.rewind,"click",de.config.listeners.rewind,function(){de.rewind()}),a.proxy(de.elements.buttons.forward,"click",de.config.listeners.forward,function(){de.forward()}),a.proxy(de.elements.buttons.mute,"click",de.config.listeners.mute,function(){de.toggleMute()}),a.proxy(de.elements.buttons.captions,"click",de.config.listeners.captions,function(){de.toggleCaptions()}),a.proxy(de.elements.buttons.fullscreen,"click",de.config.listeners.fullscreen,function(e){de.toggleFullscreen(e)}),a.proxy(de.elements.buttons.pip,"click",de.config.listeners.pip,function(){de.togglePictureInPicture()}),a.proxy(de.elements.buttons.airplay,"click",de.config.listeners.airplay,function(){de.airPlay()}),a.on(de.elements.buttons.settings,"click",X),a.on(document.documentElement,"click",X),a.on(de.elements.settings.form,"click",$),a.on(de.elements.settings.form,"click",function(e){a.matches(e.target,de.config.selectors.inputs.language)?p.call(this,e,de.config.listeners.language,function(){de.toggleCaptions(!0),de.setLanguage(e.target.value.toLowerCase())}):a.matches(e.target,de.config.selectors.inputs.quality)?p.call(this,e,de.config.listeners.quality,function(){de.setQuality(e.target.value)}):a.matches(e.target,de.config.selectors.inputs.speed)?p.call(this,e,de.config.listeners.speed,function(){de.setSpeed(parseFloat(e.target.value))}):a.matches(e.target,de.config.selectors.buttons.loop)&&p.call(this,e,de.config.listeners.loop,function(){ge("Set loop")})}),a.proxy(de.elements.inputs.seek,r,de.config.listeners.seek,function(e){var t=de.getDuration();de.seek(e.target.value/e.target.max*t)}),a.proxy(de.elements.inputs.volume,r,de.config.listeners.volume,function(){de.setVolume(event.target.value)}),a.on(de.elements.progress,"mouseenter mouseleave mousemove",oe),de.config.hideControls&&(a.on(de.elements.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",function(e){de.toggleControls(e)}),a.on(de.elements.controls,"mouseenter mouseleave",function(e){de.elements.controls.hover="mouseenter"===e.type}),a.on(de.elements.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){de.elements.controls.pressed=a.inArray(["mousedown","touchstart"],e.type)}),a.on(de.elements.controls,"focus blur",function(e){de.toggleControls(e)},!0,!0)),a.proxy(de.elements.inputs.volume,"wheel",de.config.listeners.volume,function(e){var t=e.webkitDirectionInvertedFromDevice,n=0;(e.deltaY<0||e.deltaX>0)&&(t?(de.decreaseVolume(.02),n=-1):(de.increaseVolume(.02),n=1)),(e.deltaY>0||e.deltaX<0)&&(t?(de.increaseVolume(.02),n=1):(de.decreaseVolume(.02),n=-1)),(1===n&&de.media.volume<1||-1===n&&de.media.volume>0)&&e.preventDefault()},!1),s.fullscreen&&a.on(document,o.eventType,function(e){de.toggleFullscreen(e)})}function re(){if(a.on(de.media,"timeupdate seeking",ie),a.on(de.media,"durationchange loadedmetadata",ne),a.on(de.media,"ended",function(){"video"===de.type&&de.config.showPosterOnEnd&&("video"===de.type&&q(),de.restart(),de.media.load())}),a.on(de.media,"progress playing",Z),a.on(de.media,"volumechange",G),a.on(de.media,"play pause ended",J),a.on(de.media,"waiting canplay seeked",K),de.config.clickToPlay&&"audio"!==de.type){var e=u("."+de.config.classNames.video);if(!e)return;e.style.cursor="pointer",a.on(e,"click",function(){de.config.hideControls&&s.touch&&!de.media.paused||(de.media.paused?de.play():de.media.ended?(de.restart(),de.play()):de.pause())})}de.config.disableContextMenu&&a.on(de.media,"contextmenu",function(e){e.preventDefault()},!1),a.on(de.media,"ratechange",function(){de.speed.selected=de.media.playbackRate,T("speed"),R({speed:de.speed.selected})}),a.on(de.media,"qualitychange",function(){de.quality.selected=de.media.quality,T("quality"),R({quality:de.quality.selected})}),a.on(de.media,"captionchange",function(){R({language:de.captions.language})}),a.on(de.media,"captionsenabled captionsdisabled",function(){T("captions"),R({captions:de.captions.enabled})}),a.on(de.media,de.config.events.concat(["keyup","keydown"]).join(" "),function(e){r(de.elements.container,e.type,!0)})}function le(){if(a.inArray(i.html5,de.type)){for(var e=de.media.querySelectorAll("source"),t=0;t<e.length;t++)a.removeElement(e[t]);de.media.setAttribute("src",de.config.blankVideo),de.media.load(),me("Cancelled network requests")}}function ce(){if(!de.supported.full)return ge("Basic support only",de.type),d("controls"),d("buttons.play"),void O(!0);a.is.htmlElement(de.elements.controls)||(L(),se()),a.is.htmlElement(de.elements.controls)&&(re(),O(),x(),P(),de.setVolume(),G(),de.setSpeed(),de.setLoop(),ie(),J())}function ue(){de.ready=!0,window.setTimeout(function(){r(de.elements.container,"ready",!0)},0),de.config.autoplay&&de.play()}var de=this,pe={};de.ready=!1,de.media=e,a.is.string(de.media)&&(de.media=document.querySelectorAll(de.media)),(window.jQuery&&de.media instanceof jQuery||a.is.nodeList(de.media)||a.is.array(de.media))&&(de.media=de.media[0]),de.config=a.extend({},n,t,function(){try{return JSON.parse(de.media.getAttribute("data-plyr"))}catch(e){}}()),de.elements={container:null,buttons:{},display:{},progress:{},inputs:{},settings:{menu:null,panes:{},tabs:{}},captions:null},de.captions={enabled:null,tracks:null,currentTrack:null},de.fullscreen={active:!1},de.speed={selected:null,options:[]},de.quality={selected:null,options:[]},de.loop={indicator:{start:0,end:0}};var me=function(){},ge=function(){},fe=function(){};de.config.debug&&"console"in window&&(me=console.log,ge=console.warn,fe=console.error,me("Debugging enabled")),me("Config",de.config),me("Support",s),de.core={getElement:u,getElements:c,trigger:r,setCaption:q,setupCaptions:P,toggleNativeControls:O,updateTimeDisplay:te,updateSeekDisplay:ae,updateSource:function(e){a.is.object(e)&&"sources"in e&&e.sources.length?(ae(),ee(),le(),de.destroy(function(){if(d(de.media),d("captions"),d("wrapper"),de.elements.container&&de.elements.container.removeAttribute("class"),"type"in e&&(de.type=e.type,"video"===de.type)){var t=e.sources[0];"type"in t&&a.inArray(i.embed,t.type)&&(de.type=t.type)}switch(de.supported=a.checkSupport(de.type,de.config.inline),de.type){case"video":de.media=a.createElement("video");break;case"audio":de.media=a.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":de.media=a.createElement("div"),de.embedId=e.sources[0].src}de.elements.container.appendChild(de.media),a.is.boolean(e.autoplay)&&(de.config.autoplay=e.autoplay),a.inArray(i.html5,de.type)&&(de.config.crossorigin&&de.media.setAttribute("crossorigin",""),de.config.autoplay&&de.media.setAttribute("autoplay",""),"poster"in e&&de.media.setAttribute("poster",e.poster),de.config.loop.active&&de.media.setAttribute("loop",""),de.config.muted&&de.media.setAttribute("muted",""),de.config.inline&&de.media.setAttribute("playsinline","")),a.toggleClass(de.elements.container,de.config.classNames.fullscreen.active,de.fullscreen.active),a.toggleClass(de.elements.container,de.config.classNames.captions.active,de.captions.enabled),V(),a.inArray(i.html5,de.type)&&p("source",e.sources),H(),a.inArray(i.html5,de.type)&&("tracks"in e&&p("track",e.tracks),de.media.load()),(a.inArray(i.html5,de.type)||a.inArray(i.embed,de.type)&&!de.supported.full)&&(ce(),ue()),de.config.title=e.title,j()},!1)):ge("Invalid source format")},toggleMenu:X,timers:pe,support:s,log:me,warn:ge,error:fe},function(e){if(null!==e&&!a.is.undefined(e)&&a.is.htmlElement(e)){if(e.plyr)return ge("Target already setup"),void(de=e.plyr);if(de.config.enabled)if(a.checkSupport().basic){de.elements.original=e.cloneNode(!0);var t=e.tagName.toLowerCase();switch(t){case"div":if(de.type=e.getAttribute("data-type"),de.embedId=e.getAttribute("data-video-id"),a.is.empty(de.type))return void fe("Setup failed: embed type missing");if(a.is.empty(de.embedId))return void fe("Setup failed: video id missing");e.removeAttribute("data-type"),e.removeAttribute("data-video-id");break;case"iframe":break;case"video":case"audio":de.type=t,null!==e.getAttribute("crossorigin")&&(de.config.crossorigin=!0),null!==e.getAttribute("autoplay")&&(de.config.autoplay=!0),null!==e.getAttribute("playsinline")&&(de.config.inline=!0),null!==e.getAttribute("muted")&&(de.config.muted=!0),null!==e.getAttribute("loop")&&(de.config.loop.active=!0);break;default:return void fe("Setup failed: unsupported type")}de.browser=a.getBrowser(),D(),de.supported=a.checkSupport(de.type,de.config.inline),de.supported.basic?(e.plyr=de,de.elements.container=a.wrap(e,a.createElement("div")),de.elements.container.setAttribute("tabindex",0),V(),me(de.browser.name+" "+de.browser.version),H(),de.config.debug&&a.on(de.elements.container,de.config.events.join(" "),function(e){me("event: "+e.type)}),(a.inArray(i.html5,de.type)||a.inArray(i.embed,de.type)&&!de.supported.full)&&(ce(),ue(),j())):fe("Setup failed: no support")}else fe("Setup failed: no support");else fe("Setup failed: disabled by config")}else fe("Setup failed: no suitable element passed")}(de.media)}var t={x:0,y:0},n={enabled:!0,title:"",debug:!1,autoplay:!1,seekTime:10,volume:1,muted:!1,displayDuration:!0,clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",duration:null,quality:{default:"default",options:["hd2160","hd1440","hd1080","hd720","large","medium","small","tiny","default"]},loop:{active:!1,start:null,end:null},speed:{default:1,options:[.25,.5,.75,1,1.25,1.5,1.75,2]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:window.navigator.language.split("-")[0]},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed","loop"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",seek:"Seek",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",none:"None",disabled:"Disabled"},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","captionchange","controlshidden","controlsshown","statechange","qualitychange","qualityrequested"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress--buffer",played:".plyr__progress--played",loop:".plyr__progress--loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",menu:{quality:".js-plyr__menu__list--quality"}},classNames:{video:"plyr__video-wrapper",embed:"plyr__video-embed",control:"plyr__control",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",menu:{value:"plyr__menu__value",badge:"plyr__badge"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},airplay:{enabled:"plyr--airplay-enabled",active:"plyr--airplay-active"},tabFocus:"tab-focus"}},i={embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},a={is:{object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&Array.isArray(e)},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&e instanceof Event},cue:function(e){return null!==e&&(e instanceof window.TextTrackCue||e instanceof window.VTTCue)},track:function(e){return null!==e&&(e instanceof window.TextTrack||"string"==typeof e.kind)},undefined:function(e){return null!==e&&void 0===e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}},getBrowser:function(){var e,t,n,i=navigator.userAgent,a=navigator.appName,o=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10),r=!1,l=!1,c=!1,u=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(r=!0,a="IE",o="11"):-1!==(t=i.indexOf("MSIE"))?(r=!0,a="IE",o=i.substring(t+5)):-1!==(t=i.indexOf("Chrome"))?(c=!0,a="Chrome",o=i.substring(t+7)):-1!==(t=i.indexOf("Safari"))?(u=!0,a="Safari",o=i.substring(t+7),-1!==(t=i.indexOf("Version"))&&(o=i.substring(t+8))):-1!==(t=i.indexOf("Firefox"))?(l=!0,a="Firefox",o=i.substring(t+8)):(e=i.lastIndexOf(" ")+1)<(t=i.lastIndexOf("/"))&&(a=i.substring(e,t),o=i.substring(t+1),a.toLowerCase()===a.toUpperCase()&&(a=navigator.appName)),-1!==(n=o.indexOf(";"))&&(o=o.substring(0,n)),-1!==(n=o.indexOf(" "))&&(o=o.substring(0,n)),s=parseInt(""+o,10),isNaN(s)&&(o=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10)),{name:a,version:s,isIE:r,isOldIE:r&&s<=9,isFirefox:l,isChrome:c,isSafari:u,isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:/(iPad|iPhone|iPod)/gi.test(navigator.platform)}},checkSupport:function(e,t){var n=!1,i=!1,o=a.getBrowser(),r=o.isIPhone&&t&&s.inline;switch(e){case"video":i=(n=s.video)&&!o.isOldIE&&(!o.isIPhone||r);break;case"audio":i=(n=s.audio)&&!o.isOldIE;break;case"youtube":i=(n=s.video)&&!o.isOldIE&&(!o.isIPhone||r);break;case"vimeo":case"soundcloud":n=!0,i=!o.isOldIE&&!o.isIos;break;default:i=(n=s.audio&&s.video)&&!o.isOldIE}return{basic:n,full:i}},injectScript:function(e){if(!document.querySelectorAll('script[src="'+e+'"]').length){var t=document.createElement("script");t.src=e;var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)}},inFrame:function(){try{return window.self!==window.top}catch(e){return!0}},inArray:function(e,t){return a.is.array(e)&&-1!==e.indexOf(t)},replaceAll:function(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)},wrap:function(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var i=n>0?t.cloneNode(!0):t,a=e[n],o=a.parentNode,s=a.nextSibling;return i.appendChild(a),s?o.insertBefore(i,s):o.appendChild(i),i}},removeElement:function(e){a.is.htmlElement(e)&&a.is.htmlElement(e.parentNode)&&e.parentNode.removeChild(e)},insertAfter:function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},createElement:function(e,t,n){var i=document.createElement(e);return a.is.object(t)&&a.setAttributes(i,t),a.is.string(n)&&(i.textContent=n),i},insertElement:function(e,t,n,i){t.appendChild(a.createElement(e,n,i))},emptyElement:function(e){for(var t=e.childNodes.length;t--;)e.removeChild(e.lastChild)},setAttributes:function(e,t){for(var n in t)e.setAttribute(n,t[n])},getAttributesFromSelector:function(e,t){if(!a.is.string(e)||a.is.empty(e))return{};var n={};return e.split(",").forEach(function(e){switch((e=e.trim()).charAt(0)){case".":var i=e.replace(".","");a.is.object(t)&&a.is.string(t.class)&&(t.class+=" "+i),n.class=i;break;case"#":n.id=e.replace("#","");break;case"[":var o=(e=e.replace(/[\[\]]/g,"")).split("="),s=o[0],r=o.length>1?o[1].replace(/[\"\']/g,""):"";n[s]=r}}),n},toggleClass:function(e,t,n){if(a.is.htmlElement(e)){var i=!1;if(e.classList)i=e.classList.contains(t),e.classList[n?"add":"remove"](t);else{i=a.inArray(e.className.split(" "),t);var o=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=o+(n?" "+t:"")}return n&&!i||!n&&i}return null},hasClass:function(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))},matches:function(e,t){var n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||function(e){return-1!==[].indexOf.call(document.querySelectorAll(e),this)}).call(e,t)},getFocusElement:function(){var e=document.activeElement;return e=e&&e!==document.body?document.querySelector(":focus"):null},proxy:function(e,t,n,i,o,s){a.on(e,t,function(t){n&&n.apply(e,[t]),i.apply(e,[t])},o,s)},toggleListener:function(e,t,n,i,o,r){if(null!==e&&!a.is.undefined(e)){if(t=t.split(" "),a.is.boolean(r)||(r=!1),a.is.boolean(o)||(o=!0),e instanceof NodeList){var l=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);return l.shift(),void[].forEach.call(e,function(e){e instanceof Node&&a.toggleListener.apply(null,[e].concat(l))})}var c=r;s.passiveListeners&&(c={passive:o,capture:r}),t.forEach(function(t){e[i?"addEventListener":"removeEventListener"](t,n,c)})}},on:function(e,t,n,i,o){a.toggleListener(e,t,n,!0,i,o)},off:function(e,t,n,i,o){a.toggleListener(e,t,n,!1,i,o)},dispatchEvent:function(e,t,n,i){if(e&&t){a.is.boolean(n)||(n=!1);var o;a.is.function(window.CustomEvent)?o=window.CustomEvent:(o=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}).prototype=window.Event.prototype;var s=new o(t,{bubbles:n,detail:i});e.dispatchEvent(s)}},toggleState:function(e,t){if(e)return t=a.is.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t},getPercentage:function(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)},extend:function(){var e=arguments;if(e.length){if(1===e.length)return e[0];var t=Array.prototype.shift.call(e);a.is.object(t)||(t={});for(var n=e.length,i=0;i<n;i++){var o=e[i];a.is.object(o)||(o={});for(var s in o)o[s]&&o[s].constructor&&o[s].constructor===Object?(t[s]=t[s]||{},a.extend(t[s],o[s])):t[s]=o[s]}return t}},parseYouTubeId:function(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;return e.match(t)?RegExp.$2:e},stripHTML:function(e){var t=document.createDocumentFragment(),n=document.createElement("div");return t.appendChild(n),n.innerHTML=e,t.firstChild.innerText},loadSprite:function(e,t){function n(e,t){e.innerHTML=t,document.body.insertBefore(e,document.body.childNodes[0])}if("string"==typeof e){var i="string"==typeof t;if(!i||!document.querySelectorAll("#"+t).length){var a=document.createElement("div");if(a.setAttribute("hidden",""),i&&a.setAttribute("id",t),s.storage){var o=window.localStorage.getItem("cache-"+t);if(null!==o){var r=JSON.parse(o);n(a,r.content)}}var l=new XMLHttpRequest;if(!("withCredentials"in l))return;l.open("GET",e,!0),l.onload=function(){s.storage&&window.localStorage.setItem("cache-"+t,JSON.stringify({content:l.responseText})),n(a,l.responseText)},l.send()}}},transitionEnd:function(){var e=document.createElement("span"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return t[n];return!1}()},o=function(){var e=function(){var e=!1;return a.is.function(document.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(t){return a.is.function(document[t+"CancelFullScreen"])?(e=t,!0):a.is.function(document.msExitFullscreen)&&document.msFullscreenEnabled?(e="ms",!0):void 0}),e}();return{prefix:e,eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(t){if(!s.fullscreen)return!1;switch(a.is.undefined(t)&&(t=document.body),e){case"":return document.fullscreenElement===t;case"moz":return document.mozFullScreenElement===t;default:return document[e+"FullscreenElement"]===t}},requestFullScreen:function(t){return!!s.fullscreen&&(a.is.htmlElement(t)||(t=document.body),e.length?t[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]():t.requestFullScreen())},cancelFullScreen:function(){return!!s.fullscreen&&(e.length?document[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]():document.cancelFullScreen())},element:function(){return s.fullscreen?e.length?document[e+"FullscreenElement"]:document.fullscreenElement:null}}}(),s={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),fullscreen:!1!==o.prefix,storage:function(){if(!("localStorage"in window))return!1;try{return window.localStorage.setItem("___test","___test"),window.localStorage.removeItem("___test"),!0}catch(e){return!1}}(),pip:!a.getBrowser().isIPhone&&a.is.function(a.createElement("video").webkitSetPresentationMode),airplay:a.is.function(window.WebKitPlaybackTargetAvailabilityEvent),inline:"playsInline"in document.createElement("video"),mime:function(e,t){var n=e.media;try{if(!a.is.function(n.canPlayType))return!1;if("video"===e.type)switch(t){case"video/webm":return n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,"");case"video/mp4":return n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,"");case"video/ogg":return n.canPlayType('video/ogg; codecs="theora"').replace(/no/,"")}else if("audio"===e.type)switch(t){case"audio/mpeg":return n.canPlayType("audio/mpeg;").replace(/no/,"");case"audio/ogg":return n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,"");case"audio/wav":return n.canPlayType('audio/wav; codecs="1"').replace(/no/,"")}}catch(e){return!1}return!1},textTracks:"textTracks"in document.createElement("video"),passiveListeners:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e}(),touch:"ontouchstart"in document.documentElement,transitions:!1!==a.transitionEnd,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches};return e.prototype.play=function(){var e=this;return"play"in e.media&&e.media.play(),e},e.prototype.pause=function(){var e=this;return"pause"in e.media&&e.media.pause(),e},e.prototype.togglePlay=function(e){var t=this;return a.is.boolean(e)||(e=t.media.paused),e?t.play():t.pause(),e},e.prototype.isPlaying=function(){return!this.media.paused},e.prototype.stop=function(){var e=this;return e.restart(),e.pause(),e},e.prototype.restart=function(){var e=this;return e.seek(),e},e.prototype.rewind=function(e){var t=this;return a.is.number(e)||(e=t.config.seekTime),t.seek(t.media.currentTime-e),t},e.prototype.forward=function(e){var t=this;return a.is.number(e)||(e=t.config.seekTime),t.seek(t.media.currentTime+e),t},e.prototype.seek=function(e){var t=this,n=0,o=t.media.paused,s=t.getDuration();if(a.is.number(e)&&(n=e),n<0?n=0:n>s&&(n=s),t.core.updateSeekDisplay(n),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.seekTo(n);break;case"vimeo":t.embed.setCurrentTime(n);break;case"soundcloud":t.embed.seekTo(1e3*n)}o&&t.pause(),t.core.trigger(t.media,"timeupdate"),t.media.seeking=!0,t.core.trigger(t.media,"seeking")}else t.media.currentTime=n.toFixed(4);return t.core.log("Seeking to "+t.media.currentTime+" seconds"),t},e.prototype.setVolume=function(e){var t=this,n=!a.is.undefined(e);if(a.is.string(e)&&(e=parseFloat(e)),a.is.number(e)||(e=t.storage.volume),a.is.number(e)||(e=t.config.volume),e>1&&(e=1),e<0&&(e=0),t.media.volume=e,a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.setVolume(100*t.media.volume);break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.volume)}t.core.trigger(t.media,"volumechange")}return 0===e?t.toggleMute(!0):t.media.muted&&n&&t.toggleMute(),t},e.prototype.increaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n+e),t},e.prototype.decreaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n-e),t},e.prototype.toggleMute=function(e){var t=this;if(a.is.boolean(e)||(e=!t.media.muted),a.toggleState(t.elements.buttons.mute,e),t.media.muted=e,t.media.muted||0!==t.media.volume||t.setVolume(t.config.volume),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed[t.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.muted?0:t.config.volume)}t.core.trigger(t.media,"volumechange")}return t},e.prototype.setSpeed=function(e){var t=this;if(a.is.number(e)||(e=parseFloat(t.storage.speed||t.speed.selected||t.config.speed.default)),e<.1&&(e=.1),e>2&&(e=2),a.inArray(t.config.speed.options,e)){switch(t.type){case"youtube":t.embed.setPlaybackRate(e);break;case"vimeo":e=null,t.core.warn("Vimeo playback rate change is not supported");break;default:t.media.playbackRate=e}return t}t.core.warn("Unsupported speed ("+e+")")},e.prototype.setQuality=function(e){var t=this;a.is.string(e)||(e=parseFloat(t.storage.quality||t.config.quality.selected));{if(a.inArray(t.config.quality.options,e)){switch(t.type){case"youtube":t.core.trigger(t.media,"qualityrequested",!1,{quality:e}),t.embed.setPlaybackQuality(e);break;default:t.core.warn("Quality options are only available for YouTube")}return t}t.core.warn("Unsupported quality option ("+e+")")}},e.prototype.setLoop=function(e){var t=this;a.inArray(["start","end","all","none","toggle"],e)||(e="toggle");var n=Number(t.media.currentTime);switch(e){case"start":t.config.loop.end&&t.config.loop.end<=n&&(t.config.loop.end=null),t.config.loop.start=n,t.config.loop.indicator.start=t.elements.display.played.value;break;case"end":if(t.config.loop.start>=n)return;t.config.loop.end=n,t.config.loop.indicator.end=t.elements.display.played.value;break;case"all":t.config.loop.start=0,t.config.loop.end=t.media.duration-2,t.config.loop.indicator.start=0,t.config.loop.indicator.end=100;break;case"toggle":t.config.loop.active?(t.config.loop.start=0,t.config.loop.end=null):(t.config.loop.start=0,t.config.loop.end=t.media.duration-2);break;default:t.config.loop.start=0,t.config.loop.end=null}return t},e.prototype.source=function(e){var t=this;if(a.is.object(e))return t.core.updateSource(e),t;var n;switch(t.type){case"youtube":n=t.embed.getVideoUrl();break;case"vimeo":t.embed.getVideoUrl.then(function(e){n=e});break;case"soundcloud":t.embed.getCurrentSound(function(e){n=e.permalink_url});break;default:n=t.media.currentSrc}return n},e.prototype.poster=function(e){var t=this;return a.is.string(e)?("video"===t.type?t.media.setAttribute("poster",e):t.core.warn("Poster can only be set on HTML5 video"),t):t.media.getAttribute("poster")},e.prototype.toggleCaptions=function(e){var t=this;if(t.supported.full&&t.elements.buttons.captions)return a.is.boolean(e)||(e=-1===t.elements.container.className.indexOf(t.config.classNames.captions.active)),t.captions.enabled===e?t:(t.captions.enabled=e,a.toggleState(t.elements.buttons.captions,t.captions.enabled),a.toggleClass(t.elements.container,t.config.classNames.captions.active,t.captions.enabled),t.core.trigger(t.media,t.captions.enabled?"captionsenabled":"captionsdisabled"),t)},e.prototype.setLanguage=function(e){var t=this;return a.is.empty(e)?(t.toggleCaptions(!1),t):(e=e.toLowerCase(),t.captions.language===e?t:(t.toggleCaptions(!0),t.captions.language=e,t.core.trigger(t.media,"captionchange"),t.core.setCaption(),t.core.setupCaptions(),t))},e.prototype.getLanguage=function(){return this.captions.language},e.prototype.toggleFullscreen=function(e){var n=this,i=s.fullscreen;if(i){if(!a.is.event(e)||e.type!==o.eventType)return o.isFullScreen(n.elements.container)?o.cancelFullScreen():(t={x:window.pageXOffset||0,y:window.pageYOffset||0},o.requestFullScreen(n.elements.container)),void(n.fullscreen.active=o.isFullScreen(n.elements.container));n.fullscreen.active=o.isFullScreen(n.elements.container)}else n.fullscreen.active=!n.fullscreen.active,document.body.style.overflow=n.fullscreen.active?"hidden":"";return a.toggleClass(n.elements.container,n.config.classNames.fullscreen.active,n.fullscreen.active),n.elements.buttons&&n.elements.buttons.fullscreen&&a.toggleState(n.elements.buttons.fullscreen,n.fullscreen.active),n.core.trigger(n.media,n.fullscreen.active?"enterfullscreen":"exitfullscreen",!0),!n.fullscreen.active&&i&&window.scrollTo(t.x,t.y),n},e.prototype.togglePictureInPicture=function(e){var t=this,n={pip:"picture-in-picture",inline:"inline"};if(t.core.support.pip)return a.is.boolean(e)||(e=t.media.webkitPresentationMode===n.inline),t.media.webkitSetPresentationMode(e?n.pip:n.inline),t},e.prototype.airPlay=function(){var e=this;if(e.core.support.airplay)return e.media.webkitShowPlaybackTargetPicker(),e},e.prototype.toggleControls=function(e){var t=this;if(t.config.hideControls&&"audio"!==t.type){var n=0,i=e,o=!1,r=a.hasClass(t.elements.container,t.config.classNames.loading);if(a.is.boolean(e)||(a.is.event(e)?(o="enterfullscreen"===e.type,i=a.inArray(["mousemove","touchstart","mouseenter","focus"],e.type),a.inArray(["mousemove","touchmove"],e.type)&&(n=2e3),"focus"===e.type&&(n=3e3)):i=a.hasClass(t.elements.container,t.config.classNames.hideControls)),window.clearTimeout(t.core.timers.hover),i||t.media.paused||r){if(a.toggleClass(t.elements.container,t.config.classNames.hideControls,!1)&&t.core.trigger(t.media,"controlsshown"),t.media.paused||r)return;s.touch&&(n=3e3)}return i&&t.media.paused||(t.core.timers.hover=window.setTimeout(function(){(!t.elements.controls.pressed&&!t.elements.controls.hover||o)&&a.toggleClass(t.elements.container,t.config.classNames.hideControls,!0)&&(t.core.trigger(t.media,"controlshidden"),a.inArray(t.config.controls,"settings")&&!a.is.empty(t.config.settings)&&t.core.toggleMenu(!1))},n)),t}},e.prototype.on=function(e,t){var n=this;return a.on(n.elements.container,e,t),n},e.prototype.off=function(e,t){var n=this;return a.off(n.elements.container,e,t),n},e.prototype.supports=function(e){return s.mime(this,e)},e.prototype.destroy=function(e,t){function n(){if(null!==i){if(a.is.boolean(t)||(t=!0),document.body.style.overflow="",t){var n=i.elements.container.parentNode;a.is.htmlElement(n)&&n.replaceChild(i.elements.original,i.elements.container)}i.core.trigger(i.elements.original,"destroyed",!0),a.is.function(e)&&e.call(i.elements.original),i=null}}var i=this;switch(i.type){case"youtube":window.clearInterval(i.core.timers.buffering),window.clearInterval(i.core.timers.playing),i.embed.destroy(),n();break;case"vimeo":i.embed.unload().then(n),window.setTimeout(n,200);break;case"video":case"audio":i.core.toggleNativeControls(!0),n()}},e.prototype.getDuration=function(){var e=this,t=parseInt(e.config.duration),n=0;return null===e.media.duration||isNaN(e.media.duration)||(n=e.media.duration),isNaN(t)?n:t},e});
\ No newline at end of file +(function(e,t,n){"use strict";"object"==typeof exports?module.exports=n(require):"function"==typeof define&&define.amd?define(n):t[e]=n()}).call(this,"Plyr",this,function(){"use strict";function e(e,t){function r(e,t,n,i){a.dispatchEvent(e,t,n,a.extend({},i,{plyr:de}))}function l(){var e=c("input:not([disabled]), button:not([disabled])"),t=e[0],n=e[e.length-1];a.on(de.elements.container,"keydown",function(e){9===e.which&&de.fullscreen.active&&(e.target!==n||e.shiftKey?e.target===t&&e.shiftKey&&(e.preventDefault(),n.focus()):(e.preventDefault(),t.focus()))},!1)}function c(e){return de.elements.container.querySelectorAll(e)}function u(e){return c(e)[0]}function d(e){a.is.string(e)?(a.removeElement(de.elements[e]),de.elements[e]=null):a.removeElement(e)}function p(e,t){a.is.string(t)?a.insertElement(e,de.media,{src:t}):a.is.array(t)&&(ge(t),t.forEach(function(t){a.insertElement(e,de.media,t)}))}function m(){return{url:de.config.iconUrl,absolute:0===de.config.iconUrl.indexOf("http")||de.browser.isIE}}function g(e,t){var n=m(),i=(n.absolute?"":n.url)+"#"+de.config.iconPrefix,o=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributes(o,a.extend(t,{role:"presentation"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use");return s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i+"-"+e),o.appendChild(s),o}function f(e){var t=de.config.i18n[e];switch(e){case"pip":t="PIP";break;case"airplay":t="AirPlay"}return a.createElement("span",{class:de.config.classNames.hidden},t)}function y(e){var t=a.createElement("span",{class:de.config.classNames.menu.value});return t.appendChild(a.createElement("span",{class:de.config.classNames.menu.badge},e)),t}function b(e,t){var n,i,o,s=a.createElement("button");switch(a.is.object(t)||(t={}),"type"in t||(t.type="button"),"class"in t?-1===t.class.indexOf(de.config.classNames.control)&&(t.class+=" "+de.config.classNames.control):t.class=de.config.classNames.control,e){case"mute":o="toggleMute",n="volume",i="muted";break;case"captions":o="toggleCaptions",n="captions-off",i="captions-on";break;case"fullscreen":o="toggleFullscreen",n="enter-fullscreen",i="exit-fullscreen";break;case"play-large":t.class="plyr__play-large",e="play",o="play",n="play";break;default:o=e,n=e}return a.extend(t,a.getAttributesFromSelector(de.config.selectors.buttons[e],t)),a.is.string(i)&&s.appendChild(g(i,{class:"icon--"+i})),s.appendChild(g(n)),s.appendChild(f(o)),a.setAttributes(s,t),de.elements.buttons[e]=s,s}function v(e,t){var n=a.createElement("label",{for:t.id,class:de.config.classNames.hidden},de.config.i18n[e]),i=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.1,value:0,autocomplete:"off"},t));return de.elements.inputs[e]=i,{label:n,input:i}}function h(e,t){var n=a.createElement("progress",a.extend(a.getAttributesFromSelector(de.config.selectors.display[e]),{min:0,max:100,value:0},t));if("volume"!==e){n.appendChild(a.createElement("span",null,"0"));var i="";switch(e){case"played":i=de.config.i18n.played;break;case"buffer":i=de.config.i18n.buffered}n.textContent="% "+i.toLowerCase()}return de.elements.display[e]=n,n}function w(e){var t=a.createElement("span",{class:"plyr__time"});return t.appendChild(a.createElement("span",{class:de.config.classNames.hidden},de.config.i18n[e])),t.appendChild(a.createElement("span",a.getAttributesFromSelector(de.config.selectors.display[e]),"00:00")),de.elements.display[e]=t,t}function k(e){if(!a.is.empty(de.config.controls)){var t=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.controls.wrapper));if(a.inArray(de.config.controls,"restart")&&t.appendChild(b("restart")),a.inArray(de.config.controls,"rewind")&&t.appendChild(b("rewind")),a.inArray(de.config.controls,"play")&&(t.appendChild(b("play")),t.appendChild(b("pause"))),a.inArray(de.config.controls,"fast-forward")&&t.appendChild(b("fast-forward")),a.inArray(de.config.controls,"progress")){var n=a.createElement("span",a.getAttributesFromSelector(de.config.selectors.progress)),i=v("seek",{id:"plyr-seek-"+e.id});if(n.appendChild(i.label),n.appendChild(i.input),n.appendChild(h("played")),n.appendChild(h("buffer")),de.config.tooltips.seek){var o=a.createElement("span",{role:"tooltip",class:de.config.classNames.tooltip},"00:00");n.appendChild(o),de.elements.display.seekTooltip=o}de.elements.progress=n,t.appendChild(de.elements.progress)}if(a.inArray(de.config.controls,"current-time")&&t.appendChild(w("currentTime")),a.inArray(de.config.controls,"duration")&&t.appendChild(w("duration")),a.inArray(de.config.controls,"mute")&&t.appendChild(b("mute")),a.inArray(de.config.controls,"volume")){var r=a.createElement("span",{class:"plyr__volume"}),l={max:1,step:.05,value:de.config.volume},c=v("volume",a.extend(l,{id:"plyr-volume-"+e.id}));r.appendChild(c.label),r.appendChild(c.input);var u=h("volume",l);r.appendChild(u),t.appendChild(r)}if(a.inArray(de.config.controls,"captions")&&t.appendChild(b("captions")),a.inArray(de.config.controls,"settings")&&!a.is.empty(de.config.settings)){var d=a.createElement("div",{class:"plyr__menu"});d.appendChild(b("settings",{id:"plyr-settings-toggle-"+e.id,"aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id,"aria-expanded":!1}));var p=a.createElement("form",{class:"plyr__menu__container",id:"plyr-settings-"+e.id,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tablist",tabindex:-1}),m=a.createElement("div"),g=a.createElement("div",{id:"plyr-settings-"+e.id+"-home","aria-hidden":!1,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tabpanel"}),f=a.createElement("ul",{role:"tablist"});de.config.settings.forEach(function(t){var n=a.createElement("li",{role:"tab",hidden:""}),i=a.createElement("button",a.extend(a.getAttributesFromSelector(de.config.selectors.buttons.settings),{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--forward",id:"plyr-settings-"+e.id+"-"+t+"-tab","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-"+t,"aria-expanded":!1}),de.config.i18n[t]),o=a.createElement("span",{class:de.config.classNames.menu.value});o.innerHTML=e[t],i.appendChild(o),n.appendChild(i),f.appendChild(n),de.elements.settings.tabs[t]=n}),g.appendChild(f),m.appendChild(g),de.config.settings.forEach(function(t){var n=a.createElement("div",{id:"plyr-settings-"+e.id+"-"+t,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-"+e.id+"-"+t+"-tab",role:"tabpanel",tabindex:-1,hidden:""}),i=a.createElement("button",{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--back","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-home","aria-expanded":!1},de.config.i18n[t]);n.appendChild(i);var o=a.createElement("ul");n.appendChild(o),m.appendChild(n),de.elements.settings.panes[t]=n}),p.appendChild(m),d.appendChild(p),t.appendChild(d),de.elements.settings.form=p,de.elements.settings.menu=d}return a.inArray(de.config.controls,"pip")&&s.pip&&t.appendChild(b("pip")),a.inArray(de.config.controls,"airplay")&&s.airplay&&t.appendChild(b("airplay")),a.inArray(de.config.controls,"fullscreen")&&t.appendChild(b("fullscreen")),a.inArray(de.config.controls,"play-large")&&(de.elements.buttons.playLarge=b("play-large"),de.elements.container.appendChild(de.elements.buttons.playLarge)),de.elements.controls=t,a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(),t}}function C(e,t){var n=de.elements.settings.tabs[e],i=de.elements.settings.panes[e];a.is.htmlElement(n)&&(t?n.removeAttribute("hidden"):n.setAttribute("hidden","")),a.is.htmlElement(i)&&(t?i.removeAttribute("hidden"):i.setAttribute("hidden",""))}function E(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":case"hd720":t="HD"}return t.length?y(t):null}var i=de.elements.settings.panes.quality.querySelector("ul");a.is.array(e)?de.quality.options=e.filter(function(e){return a.inArray(de.config.quality.options,e)}):de.quality.options=de.config.quality.options,a.is.string(t)&&a.inArray(de.quality.options,t)&&(de.quality.selected=t);var o=!a.is.empty(de.quality.options)&&"youtube"===de.type;C("quality",o),o&&(a.emptyElement(i),de.quality.options.forEach(function(e){var t=a.createElement("li"),o=a.createElement("label",{class:de.config.classNames.control}),s=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.quality),{type:"radio",name:"plyr-quality",value:e}));o.appendChild(s),o.appendChild(document.createTextNode(A("quality",e)));var r=n(e);a.is.htmlElement(r)&&o.appendChild(r),t.appendChild(o),i.appendChild(t)}),T("quality",i))}function A(e,t){switch(e){case"speed":return 1===t?"Normal":t+"×";case"quality":switch(t){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";case"tiny":return"Tiny";case"default":return"Auto";default:return t}case"captions":return F()}}function T(e,t){var n=de.elements.settings.panes[e],i=null;switch(e){case"captions":i=de.captions.language,de.captions.enabled||(i="");break;default:if(i=de[e].selected,a.is.empty(i)&&(i=de.config[e].default),!a.inArray(de[e].options,i))return void ge("Unsupported option")}a.is.htmlElement(t)||(t=n&&n.querySelector("ul"));var o=t&&t.querySelector('input[value="'+i+'"]');a.is.htmlElement(o)&&(o.checked=!0,de.elements.settings.tabs[e].querySelector("."+de.config.classNames.menu.value).innerHTML=A(e,i))}function S(){var e=de.elements.settings.panes.captions.querySelector("ul");if(C("captions",!a.is.empty(de.captions.tracks)),a.emptyElement(e),!a.is.empty(de.captions.tracks)){var t=[].map.call(de.captions.tracks,function(e){return{language:e.language,badge:!0,label:a.is.empty(e.label)?e.language.toUpperCase():e.label}});t.unshift({language:"",label:de.config.i18n.none}),t.forEach(function(t){var n=a.createElement("li"),i=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.language),{type:"radio",name:"plyr-language",value:t.language}));t.language.toLowerCase()===de.captions.language.toLowerCase()&&(o.checked=!0),i.appendChild(o),i.appendChild(document.createTextNode(t.label||t.language)),t.badge&&i.appendChild(y(t.language.toUpperCase())),n.appendChild(i),e.appendChild(n)}),T("captions",e)}}function N(e,t){a.is.array(e)?de.speed.options=e.filter(function(e){return a.inArray(de.config.speed.options,e)}):de.speed.options=de.config.speed.options,a.is.number(t)&&a.inArray(de.speed.options,t)&&(de.speed.selected=t);var n=!a.is.empty(de.speed.options);if(C("speed",n),n){var i=de.elements.settings.panes.speed.querySelector("ul");de.elements.settings.tabs.speed.removeAttribute("hidden"),de.elements.settings.panes.speed.removeAttribute("hidden"),a.emptyElement(i),de.speed.options.forEach(function(e){var t=a.createElement("li"),n=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.speed),{type:"radio",name:"plyr-speed",value:e}));n.appendChild(o),n.insertAdjacentHTML("beforeend",A("speed",e)),t.appendChild(n),i.appendChild(t)}),T("speed",i)}}function x(){if(de.supported.full&&("audio"!==de.type||de.config.fullscreen.allowAudio)&&de.config.fullscreen.enabled){var e=s.fullscreen;e||de.config.fullscreen.fallback&&!a.inFrame()?(me((e?"Native":"Fallback")+" fullscreen enabled"),a.toggleClass(de.elements.container,de.config.classNames.fullscreen.enabled,!0)):me("Fullscreen not supported and fallback disabled"),de.elements.buttons&&de.elements.buttons.fullscreen&&a.toggleState(de.elements.buttons.fullscreen,!1),l()}}function P(){function e(){de.captions.currentTrack=null,[].forEach.call(de.captions.tracks,function(e){e.language===de.captions.language.toLowerCase()&&(de.captions.currentTrack=e)})}if(a.is.empty(de.storage.language)?a.is.empty(de.captions.language)&&(de.captions.language=de.config.captions.language.toLowerCase()):de.captions.language=de.storage.language,a.is.boolean(de.captions.enabled)||(a.is.empty(de.storage.language)?de.captions.enabled=de.config.captions.active:de.captions.enabled=de.storage.captions),!a.inArray(["video","vimeo"],de.type)||"video"===de.type&&!s.textTracks)return de.captions.tracks=null,void(a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S());if(a.is.htmlElement(de.elements.captions)||(de.elements.captions=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.captions)),a.insertAfter(de.elements.captions,de.elements.wrapper)),"video"===de.type&&(de.captions.tracks=de.media.textTracks),a.toggleClass(de.elements.container,de.config.classNames.captions.enabled,!a.is.empty(de.captions.tracks)),!a.is.empty(de.captions.tracks)){if(_(),e(),!a.is.track(de.captions.currentTrack)){var t=de.config.captions.language;de.captions.language=t,e(),a.is.track(de.captions.currentTrack)||de.toggleCaptions(!1),T("captions")}if("video"===de.type){[].forEach.call(de.captions.tracks,function(e){a.off(e,"cuechange",I),e.mode="hidden"});var n=a.inArray(["captions","subtitles"],de.captions.currentTrack&&de.captions.currentTrack.kind);a.is.track(de.captions.currentTrack)&&n&&(a.on(de.captions.currentTrack,"cuechange",I),de.captions.currentTrack.activeCues&&de.captions.currentTrack.activeCues.length>0&&I(de.captions.currentTrack))}else"vimeo"===de.type&&de.captions.active&&de.embed.enableTextTrack(de.captions.language);a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S()}}function F(){return!s.textTracks||a.is.empty(de.captions.tracks)?de.config.i18n.none:de.captions.enabled?de.captions.currentTrack.label:de.config.i18n.disabled}function I(e){a.is.event(e)&&(e=e.target);var t=e.activeCues[0];a.is.cue(t)?q(t.getCueAsHTML()):q(),r(de.media,"cuechange")}function q(e){if(a.is.htmlElement(de.elements.captions)){var t=a.createElement("span");a.emptyElement(de.elements.captions),a.is.undefined(e)&&(e=""),a.is.string(e)?t.textContent=e.trim():t.appendChild(e),de.elements.captions.appendChild(t)}else ge("No captions element to render to")}function _(){if(de.elements.buttons.captions){var e=de.storage.captions;a.is.boolean(e)?de.captions.active=e:e=de.captions.active,e&&(a.toggleClass(de.elements.container,de.config.classNames.captions.active,!0),a.toggleState(de.elements.buttons.captions,!0))}}function L(){if(de.config.loadSprite){var e=m();e.absolute?(me("AJAX loading absolute SVG sprite"+(de.browser.isIE?" (due to IE)":"")),a.loadSprite(e.url,"sprite-plyr")):me("Sprite will be used as external resource directly")}de.id=Math.floor(1e4*Math.random());var t=null;t=a.is.string(de.config.controls)?de.config.controls:a.is.function(de.config.controls)?de.config.controls({id:de.id,seektime:de.config.seekTime}):k({id:de.id,seektime:de.config.seekTime,speed:"-",quality:"-",captions:F(),loop:"None"});var n;if(a.is.string(de.config.selectors.controls.container)&&(n=document.querySelector(de.config.selectors.controls.container)),a.is.htmlElement(n)||(n=de.elements.container),a.is.htmlElement(t)?n.appendChild(t):n.insertAdjacentHTML("beforeend",t),a.is.htmlElement(de.elements.controls)&&M(),de.config.tooltips.controls)for(var i=c([de.config.selectors.controls.wrapper," ",de.config.selectors.labels," .",de.config.classNames.hidden].join("")),o=i.length-1;o>=0;o--){var s=i[o];a.toggleClass(s,de.config.classNames.hidden,!1),a.toggleClass(s,de.config.classNames.tooltip,!0)}}function M(){try{return de.elements.controls=u(de.config.selectors.controls.wrapper),de.elements.buttons={play:c(de.config.selectors.buttons.play),pause:u(de.config.selectors.buttons.pause),restart:u(de.config.selectors.buttons.restart),rewind:u(de.config.selectors.buttons.rewind),forward:u(de.config.selectors.buttons.forward),mute:u(de.config.selectors.buttons.mute),pip:u(de.config.selectors.buttons.pip),airplay:u(de.config.selectors.buttons.airplay),settings:u(de.config.selectors.buttons.settings),captions:u(de.config.selectors.buttons.captions),fullscreen:u(de.config.selectors.buttons.fullscreen)},de.elements.progress=u(de.config.selectors.progress),de.elements.inputs={seek:u(de.config.selectors.inputs.seek),volume:u(de.config.selectors.inputs.volume)},de.elements.display={buffer:u(de.config.selectors.display.buffer),played:u(de.config.selectors.display.played),volume:u(de.config.selectors.display.volume),duration:u(de.config.selectors.display.duration),currentTime:u(de.config.selectors.display.currentTime)},a.is.htmlElement(de.elements.progress)&&(de.elements.display.seekTooltip=de.elements.progress.querySelector("."+de.config.classNames.tooltip)),!0}catch(e){return ge("It looks like there is a problem with your custom controls HTML",e),O(!0),!1}}function V(){a.toggleClass(de.elements.container,de.config.selectors.container.replace(".",""),de.supported.full)}function O(e){e&&a.inArray(i.html5,de.type)?de.media.setAttribute("controls",""):de.media.removeAttribute("controls")}function j(e){var t=de.config.i18n.play;if(a.is.string(de.config.title)&&!a.is.empty(de.config.title)&&(t+=", "+de.config.title,de.elements.container.setAttribute("aria-label",de.config.title)),de.supported.full&&(a.is.htmlElement(de.elements.buttons.play)&&de.elements.buttons.play.setAttribute("aria-label",t),a.is.htmlElement(de.elements.buttons.playLarge)&&de.elements.buttons.playLarge.setAttribute("aria-label",t)),a.is.htmlElement(e)){var n=a.is.string(de.config.title)&&!a.is.empty(de.config.title)?de.config.title:"video";e.setAttribute("title",de.config.i18n.frameTitle.replace("{title}",n))}}function D(){var e=null;de.storage={},s.storage&&de.config.storage.enabled&&(window.localStorage.removeItem("plyr-volume"),(e=window.localStorage.getItem(de.config.storage.key))&&(/^\d+(\.\d+)?$/.test(e)?R({volume:parseFloat(e)}):de.storage=JSON.parse(e)))}function R(e){s.storage&&de.config.storage.enabled&&(a.extend(de.storage,e),window.localStorage.setItem(de.config.storage.key,JSON.stringify(de.storage)))}function H(){de.media?(de.supported.full&&(a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}",de.type),!0),a.inArray(i.embed,de.type)&&a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}","video"),!0),a.toggleClass(de.elements.container,de.config.classNames.pip.enabled,s.pip&&"video"===de.type),a.toggleClass(de.elements.container,de.config.classNames.airplay.enabled,s.airplay&&a.inArray(i.html5,de.type)),a.toggleClass(de.elements.container,de.config.classNames.stopped,de.config.autoplay),a.toggleClass(de.elements.container,de.config.classNames.isIos,de.browser.isIos),a.toggleClass(de.elements.container,de.config.classNames.isTouch,s.touch)),a.inArray(["video","youtube","vimeo"],de.type)&&(de.elements.wrapper=a.createElement("div",{class:de.config.classNames.video}),a.wrap(de.media,de.elements.wrapper)),a.inArray(i.embed,de.type)&&B()):ge("No media element found!")}function B(){var e,t=de.type+"-"+Math.floor(1e4*Math.random());switch(de.type){case"youtube":e=a.parseYouTubeId(de.embedId);break;default:e=de.embedId}for(var n=c('[id^="'+de.type+'-"]'),i=n.length-1;i>=0;i--)a.removeElement(n[i]);if(a.toggleClass(de.elements.wrapper,de.config.classNames.embed,!0),"youtube"===de.type)de.media.setAttribute("id",t),a.is.object(window.YT)?W(e):(a.injectScript(de.config.urls.youtube.api),window.onYouTubeReadyCallbacks=window.onYouTubeReadyCallbacks||[],window.onYouTubeReadyCallbacks.push(function(){W(e)}),window.onYouTubeIframeAPIReady=function(){window.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===de.type)if(de.media.setAttribute("id",t),a.is.object(window.Vimeo))Q(e);else{a.injectScript(de.config.urls.vimeo.api);var o=window.setInterval(function(){a.is.object(window.Vimeo)&&(window.clearInterval(o),Q(e))},50)}else if("soundcloud"===de.type){var s=a.createElement("iframe");s.loaded=!1,a.on(s,"load",function(){s.loaded=!0}),a.setAttributes(s,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+e,id:t}),de.media.appendChild(s),window.SC||a.injectScript(de.config.urls.soundcloud.api);var r=window.setInterval(function(){window.SC&&s.loaded&&(window.clearInterval(r),U.call(s))},50)}}function Y(){de.supported.full&&(ce(),ue()),j(u("iframe"))}function W(e){de.embed=new window.YT.Player(de.media.id,{videoId:e,playerVars:{autoplay:de.config.autoplay?1:0,controls:de.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,disablekb:1,playsinline:1,origin:window.location.hostname,widget_referrer:window.location.href},events:{onError:function(e){r(de.elements.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target;de.media.quality=t.getPlaybackQuality(),r(de.media,"qualitychange")},onPlaybackRateChange:function(e){var t=e.target;de.media.playbackRate=t.getPlaybackRate(),r(de.media,"ratechange")},onReady:function(e){var t=e.target;de.media.play=function(){t.playVideo(),de.media.paused=!1},de.media.pause=function(){t.pauseVideo(),de.media.paused=!0},de.media.stop=function(){t.stopVideo(),de.media.paused=!0},de.media.duration=t.getDuration(),de.media.paused=!0,de.media.currentTime=0,de.media.muted=t.isMuted(),a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(t.getAvailablePlaybackRates(),t.getPlaybackRate()),de.config.title=t.getVideoData().title,de.supported.full&&de.media.setAttribute("tabindex",-1),Y(),r(de.media,"timeupdate"),r(de.media,"durationchange"),window.clearInterval(pe.buffering),pe.buffering=window.setInterval(function(){de.media.buffered=t.getVideoLoadedFraction(),(null===de.media.lastBuffered||de.media.lastBuffered<de.media.buffered)&&r(de.media,"progress"),de.media.lastBuffered=de.media.buffered,1===de.media.buffered&&(window.clearInterval(pe.buffering),r(de.media,"canplaythrough"))},200)},onStateChange:function(e){var t=e.target;switch(window.clearInterval(pe.playing),e.data){case 0:if(de.config.loop.active){t.stopVideo(),t.playVideo();break}de.media.paused=!0,r(de.media,"ended");break;case 1:de.media.paused=!1,de.media.seeking&&r(de.media,"seeked"),de.media.seeking=!1,r(de.media,"play"),r(de.media,"playing"),pe.playing=window.setInterval(function(){de.media.currentTime=t.getCurrentTime(),r(de.media,"timeupdate")},100),de.media.duration!==t.getDuration()&&(de.media.duration=t.getDuration(),r(de.media,"durationchange")),E(t.getAvailableQualityLevels(),t.getPlaybackQuality());break;case 2:de.media.paused=!0,r(de.media,"pause")}r(de.elements.container,"statechange",!1,{code:e.data})}}})}function Q(e){de.embed=new window.Vimeo.Player(de.media,{id:e,loop:de.config.loop.active,autoplay:de.config.autoplay,byline:!1,portrait:!1,title:!1}),de.media.play=function(){de.embed.play(),de.media.paused=!1},de.media.pause=function(){de.embed.pause(),de.media.paused=!0},de.media.stop=function(){de.embed.stop(),de.media.paused=!0},de.media.paused=!0,de.media.currentTime=0,Y(),de.embed.getCurrentTime().then(function(e){de.media.currentTime=e,r(de.media,"timeupdate")}),de.embed.getDuration().then(function(e){de.media.duration=e,r(de.media,"durationchange")}),de.embed.getTextTracks().then(function(e){de.captions.tracks=e,P()}),de.embed.on("cuechange",function(e){var t=null;e.cues.length&&(t=a.stripHTML(e.cues[0].text)),q(t)}),de.embed.on("loaded",function(){a.is.htmlElement(de.embed.element)&&de.supported.full&&de.embed.element.setAttribute("tabindex",-1)}),de.embed.on("play",function(){de.media.paused=!1,r(de.media,"play"),r(de.media,"playing")}),de.embed.on("pause",function(){de.media.paused=!0,r(de.media,"pause")}),de.embed.on("timeupdate",function(e){de.media.seeking=!1,de.media.currentTime=e.seconds,r(de.media,"timeupdate")}),de.embed.on("progress",function(e){de.media.buffered=e.percent,r(de.media,"progress"),1===parseInt(e.percent)&&r(de.media,"canplaythrough")}),de.embed.on("seeked",function(){de.media.seeking=!1,r(de.media,"seeked"),r(de.media,"play")}),de.embed.on("ended",function(){de.media.paused=!0,r(de.media,"ended")})}function U(){de.embed=window.SC.Widget(this),de.embed.bind(window.SC.Widget.Events.READY,function(){de.media.play=function(){de.embed.play(),de.media.paused=!1},de.media.pause=function(){de.embed.pause(),de.media.paused=!0},de.media.stop=function(){de.embed.seekTo(0),de.embed.pause(),de.media.paused=!0},de.media.paused=!0,de.media.currentTime=0,de.embed.getDuration(function(e){de.media.duration=e/1e3,Y()}),de.embed.getPosition(function(e){de.media.currentTime=e,r(de.media,"timeupdate")}),de.embed.bind(window.SC.Widget.Events.PLAY,function(){de.media.paused=!1,r(de.media,"play"),r(de.media,"playing")}),de.embed.bind(window.SC.Widget.Events.PAUSE,function(){de.media.paused=!0,r(de.media,"pause")}),de.embed.bind(window.SC.Widget.Events.PLAY_PROGRESS,function(e){de.media.seeking=!1,de.media.currentTime=e.currentPosition/1e3,r(de.media,"timeupdate")}),de.embed.bind(window.SC.Widget.Events.LOAD_PROGRESS,function(e){de.media.buffered=e.loadProgress,r(de.media,"progress"),1===parseInt(e.loadProgress)&&r(de.media,"canplaythrough")}),de.embed.bind(window.SC.Widget.Events.FINISH,function(){de.media.paused=!0,r(de.media,"ended")})})}function J(){a.toggleClass(de.elements.container,de.config.classNames.playing,!de.media.paused),a.toggleClass(de.elements.container,de.config.classNames.stopped,de.media.paused),de.toggleControls(de.media.paused)}function X(e){var t=de.elements.settings.form,n=de.elements.buttons.settings,i=a.is.boolean(e)?e:t&&"true"===t.getAttribute("aria-hidden");if(a.is.event(e)){var o=t&&t.contains(e.target),s=e.target===de.elements.buttons.settings;if(o||!o&&!s&&i)return;s&&e.stopPropagation()}n&&n.setAttribute("aria-expanded",i),t&&(t.setAttribute("aria-hidden",!i),i?t.removeAttribute("tabindex"):t.setAttribute("tabindex",-1))}function z(e){var t,n,i=e.cloneNode(!0);return i.style.position="absolute",i.style.opacity=0,i.setAttribute("aria-hidden",!1),[].forEach.call(i.querySelectorAll("input[name]"),function(e){var t=e.getAttribute("name");e.setAttribute("name",t+"-clone")}),e.parentNode.appendChild(i),t=i.scrollWidth,n=i.scrollHeight,a.removeElement(i),{width:t,height:n}}function G(e){var t=de.elements.settings.menu,n=e.target,i="false"===n.getAttribute("aria-expanded"),o=document.getElementById(n.getAttribute("aria-controls"));if(a.is.htmlElement(o)&&"tabpanel"===o.getAttribute("role")){var r=t.querySelector('[role="tabpanel"][aria-hidden="false"]'),l=r.parentNode;if([].forEach.call(t.querySelectorAll('[aria-controls="'+r.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),s.transitions&&!s.reducedMotion){l.style.width=r.scrollWidth+"px",l.style.height=r.scrollHeight+"px";var c=z(o),u=function(e){e.target===l&&a.inArray(["width","height"],e.propertyName)&&(l.style.width="",l.style.height="",a.off(l,a.transitionEnd,u))};a.on(l,a.transitionEnd,u),l.style.width=c.width+"px",l.style.height=c.height+"px"}r.setAttribute("aria-hidden",!0),r.setAttribute("tabindex",-1),o.setAttribute("aria-hidden",!i),n.setAttribute("aria-expanded",i),o.removeAttribute("tabindex")}}function K(){if(de.supported.full){var e=de.media.muted?0:de.media.volume;de.elements.inputs.volume&&(de.elements.inputs.volume.value=e),de.elements.display.volume&&(de.elements.display.volume.value=e)}R({volume:de.media.volume}),a.toggleClass(de.elements.container,de.config.classNames.muted,de.media.muted),de.supported.full&&de.elements.buttons.mute&&a.toggleState(de.elements.buttons.mute,de.media.muted)}function $(e){de.loading="waiting"===e.type,clearTimeout(pe.loading),pe.loading=setTimeout(function(){a.toggleClass(de.elements.container,de.config.classNames.loading,de.loading),de.toggleControls(de.loading)},de.loading?250:0)}function Z(e){if(de.supported.full){var t=de.elements.display.played,n=0,i=de.getDuration();if(e)switch(e.type){case"timeupdate":case"seeking":n=a.getPercentage(de.media.currentTime,i),"timeupdate"===e.type&&de.elements.inputs.seek&&(de.elements.inputs.seek.value=n);break;case"playing":case"progress":t=de.elements.display.buffer,n=function(){var e=de.media.buffered;return e&&e.length?a.getPercentage(e.end(0),i):a.is.number(e)?100*e:0}()}ee(t,n)}}function ee(e,t){if(de.supported.full){if(a.is.undefined(t)&&(t=0),a.is.undefined(e)){if(!a.is.htmlElement(de.elements.display.buffer))return;e=de.elements.display.buffer}if(a.is.htmlElement(e)){e.value=t;var n=e.getElementsByTagName("span")[0];a.is.htmlElement(n)&&(n.childNodes[0].nodeValue=t)}}}function te(e,t){if(t){isNaN(e)&&(e=0);var n=parseInt(e%60),i=parseInt(e/60%60),a=parseInt(e/60/60%60),o=de.getDuration(),s=parseInt(o/60/60%60)>0;n=("0"+n).slice(-2),i=("0"+i).slice(-2);var r=(s?a+":":"")+i+":"+n;return t.textContent=r,r}}function ne(){if(de.supported.full){var e=de.getDuration()||0;!de.elements.display.duration&&de.config.displayDuration&&de.media.paused&&te(e,de.elements.display.currentTime),de.elements.display.duration&&te(e,de.elements.display.duration),oe()}}function ie(e){te(de.media.currentTime,de.elements.display.currentTime),e&&"timeupdate"===e.type&&de.media.seeking||Z(e)}function ae(e){a.is.number(e)||(e=0);var t=de.getDuration(),n=a.getPercentage(e,t);de.elements.progress&&de.elements.display.played&&(de.elements.display.played.value=n),de.elements.buttons&&de.elements.inputs.seek&&(de.elements.inputs.seek.value=n)}function oe(e){var t=de.getDuration();if(de.config.tooltips.seek&&a.is.htmlElement(de.elements.inputs.seek)&&a.is.htmlElement(de.elements.display.seekTooltip)&&0!==t){var n=de.elements.inputs.seek.getBoundingClientRect(),i=0,o=de.config.classNames.tooltip+"--visible";if(a.is.event(e))i=100/n.width*(e.pageX-n.left);else{if(!a.hasClass(de.elements.display.seekTooltip,o))return;i=de.elements.display.seekTooltip.style.left.replace("%","")}i<0?i=0:i>100&&(i=100),te(t/100*i,de.elements.display.seekTooltip),de.elements.display.seekTooltip.style.left=i+"%",a.is.event(e)&&a.inArray(["mouseenter","mouseleave"],e.type)&&a.toggleClass(de.elements.display.seekTooltip,o,"mouseenter"===e.type)}}function se(){function e(){var e=de.togglePlay(),t=de.elements.buttons[e?"play":"pause"],n=de.elements.buttons[e?"pause":"play"];n&&t&&a.hasClass(t,de.config.classNames.tabFocus)&&setTimeout(function(){n.focus(),a.toggleClass(t,de.config.classNames.tabFocus,!1),a.toggleClass(n,de.config.classNames.tabFocus,!0)},0)}function t(e){return e.keyCode?e.keyCode:e.which}function n(e){a.toggleClass(c("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1),de.elements.container.contains(e)&&a.toggleClass(e,de.config.classNames.tabFocus,!0)}function i(n){var i=t(n),o="keydown"===n.type,r=o&&i===l;if(a.is.number(i))if(o){var c=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],u=[38,40];if(a.inArray(u,i)){var d=a.getFocusElement();if(a.is.htmlElement(d)&&"radio"===a.getFocusElement().type)return}switch(a.inArray(c,i)&&(n.preventDefault(),n.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:r||function(){var e=de.media.duration;a.is.number(e)&&de.seek(e/10*(i-48))}();break;case 32:case 75:r||e();break;case 38:de.increaseVolume();break;case 40:de.decreaseVolume();break;case 77:r||de.toggleMute();break;case 39:de.forward();break;case 37:de.rewind();break;case 70:de.toggleFullscreen();break;case 67:r||de.toggleCaptions();break;case 73:de.setLoop("start");break;case 76:de.setLoop();break;case 79:de.setLoop("end")}!s.fullscreen&&de.fullscreen.active&&27===i&&de.toggleFullscreen(),l=i}else l=null}var r=de.browser.isIE?"change":"input";if(de.config.keyboard.focused){var l=null;de.config.keyboard.global&&a.on(window,"keydown keyup",function(e){var n=t(e),o=a.getFocusElement(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79];!a.inArray(s,n)||a.is.htmlElement(o)&&a.matches(o,de.config.selectors.editable)||i(e)},!1),a.on(de.elements.container,"keydown keyup",i,!1)}a.on(window,"keyup",function(e){var i=t(e),o=a.getFocusElement();9===i&&n(o)}),a.on(document.body,"click",function(){a.toggleClass(u("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1)});for(var d in de.elements.buttons)a.on(de.elements.buttons[d],"blur",function(e){a.toggleClass(e.target,de.config.classNames.tabFocus,!1)});var p=function(e,t,n){a.is.function(t)&&t.call(this,e),a.is.function(n)&&n.call(this,e)};a.proxy(de.elements.buttons.play,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.playLarge,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.pause,"click",de.config.listeners.pause,e),a.proxy(de.elements.buttons.restart,"click",de.config.listeners.restart,function(){de.restart()}),a.proxy(de.elements.buttons.rewind,"click",de.config.listeners.rewind,function(){de.rewind()}),a.proxy(de.elements.buttons.forward,"click",de.config.listeners.forward,function(){de.forward()}),a.proxy(de.elements.buttons.mute,"click",de.config.listeners.mute,function(){de.toggleMute()}),a.proxy(de.elements.buttons.captions,"click",de.config.listeners.captions,function(){de.toggleCaptions()}),a.proxy(de.elements.buttons.fullscreen,"click",de.config.listeners.fullscreen,function(e){de.toggleFullscreen(e)}),a.proxy(de.elements.buttons.pip,"click",de.config.listeners.pip,function(){de.togglePictureInPicture()}),a.proxy(de.elements.buttons.airplay,"click",de.config.listeners.airplay,function(){de.airPlay()}),a.on(de.elements.buttons.settings,"click",X),a.on(document.documentElement,"click",X),a.on(de.elements.settings.form,"click",G),a.on(de.elements.settings.form,"click",function(e){a.matches(e.target,de.config.selectors.inputs.language)?p.call(this,e,de.config.listeners.language,function(){de.toggleCaptions(!0),de.setLanguage(e.target.value.toLowerCase())}):a.matches(e.target,de.config.selectors.inputs.quality)?p.call(this,e,de.config.listeners.quality,function(){de.setQuality(e.target.value)}):a.matches(e.target,de.config.selectors.inputs.speed)?p.call(this,e,de.config.listeners.speed,function(){de.setSpeed(parseFloat(e.target.value))}):a.matches(e.target,de.config.selectors.buttons.loop)&&p.call(this,e,de.config.listeners.loop,function(){ge("Set loop")})}),a.proxy(de.elements.inputs.seek,r,de.config.listeners.seek,function(e){var t=de.getDuration();de.seek(e.target.value/e.target.max*t)}),a.proxy(de.elements.inputs.volume,r,de.config.listeners.volume,function(){de.setVolume(event.target.value)}),a.on(de.elements.progress,"mouseenter mouseleave mousemove",oe),de.config.hideControls&&(a.on(de.elements.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",function(e){de.toggleControls(e)}),a.on(de.elements.controls,"mouseenter mouseleave",function(e){de.elements.controls.hover="mouseenter"===e.type}),a.on(de.elements.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){de.elements.controls.pressed=a.inArray(["mousedown","touchstart"],e.type)}),a.on(de.elements.controls,"focus blur",function(e){de.toggleControls(e)},!0,!0)),a.proxy(de.elements.inputs.volume,"wheel",de.config.listeners.volume,function(e){var t=e.webkitDirectionInvertedFromDevice,n=0;(e.deltaY<0||e.deltaX>0)&&(t?(de.decreaseVolume(.02),n=-1):(de.increaseVolume(.02),n=1)),(e.deltaY>0||e.deltaX<0)&&(t?(de.increaseVolume(.02),n=1):(de.decreaseVolume(.02),n=-1)),(1===n&&de.media.volume<1||-1===n&&de.media.volume>0)&&e.preventDefault()},!1),s.fullscreen&&a.on(document,o.eventType,function(e){de.toggleFullscreen(e)})}function re(){if(a.on(de.media,"timeupdate seeking",ie),a.on(de.media,"durationchange loadedmetadata",ne),a.on(de.media,"ended",function(){"video"===de.type&&de.config.showPosterOnEnd&&("video"===de.type&&q(),de.restart(),de.media.load())}),a.on(de.media,"progress playing",Z),a.on(de.media,"volumechange",K),a.on(de.media,"play pause ended",J),a.on(de.media,"waiting canplay seeked",$),de.config.clickToPlay&&"audio"!==de.type){var e=u("."+de.config.classNames.video);if(!e)return;e.style.cursor="pointer",a.on(e,"click",function(){de.config.hideControls&&s.touch&&!de.media.paused||(de.media.paused?de.play():de.media.ended?(de.restart(),de.play()):de.pause())})}de.config.disableContextMenu&&a.on(de.media,"contextmenu",function(e){e.preventDefault()},!1),a.on(de.media,"ratechange",function(){de.speed.selected=de.media.playbackRate,T("speed"),R({speed:de.speed.selected})}),a.on(de.media,"qualitychange",function(){de.quality.selected=de.media.quality,T("quality"),R({quality:de.quality.selected})}),a.on(de.media,"captionchange",function(){R({language:de.captions.language})}),a.on(de.media,"captionsenabled captionsdisabled",function(){T("captions"),R({captions:de.captions.enabled})}),a.on(de.media,de.config.events.concat(["keyup","keydown"]).join(" "),function(e){r(de.elements.container,e.type,!0)})}function le(){if(a.inArray(i.html5,de.type)){for(var e=de.media.querySelectorAll("source"),t=0;t<e.length;t++)a.removeElement(e[t]);de.media.setAttribute("src",de.config.blankVideo),de.media.load(),me("Cancelled network requests")}}function ce(){if(!de.supported.full)return ge("Basic support only",de.type),d("controls"),d("buttons.play"),void O(!0);a.is.htmlElement(de.elements.controls)||(L(),se()),a.is.htmlElement(de.elements.controls)&&(re(),O(),x(),P(),de.setVolume(),K(),de.setSpeed(),de.setLoop(),ie(),J())}function ue(){de.ready=!0,window.setTimeout(function(){r(de.elements.container,"ready",!0)},0),de.config.autoplay&&de.play()}var de=this,pe={};de.ready=!1,de.media=e,a.is.string(de.media)&&(de.media=document.querySelectorAll(de.media)),(window.jQuery&&de.media instanceof jQuery||a.is.nodeList(de.media)||a.is.array(de.media))&&(de.media=de.media[0]),de.config=a.extend({},n,t,function(){try{return JSON.parse(de.media.getAttribute("data-plyr"))}catch(e){}}()),de.elements={container:null,buttons:{},display:{},progress:{},inputs:{},settings:{menu:null,panes:{},tabs:{}},captions:null},de.captions={enabled:null,tracks:null,currentTrack:null},de.fullscreen={active:!1},de.speed={selected:null,options:[]},de.quality={selected:null,options:[]},de.loop={indicator:{start:0,end:0}};var me=function(){},ge=function(){},fe=function(){};de.config.debug&&"console"in window&&(me=console.log,ge=console.warn,fe=console.error,me("Debugging enabled")),me("Config",de.config),me("Support",s),de.core={getElement:u,getElements:c,trigger:r,setCaption:q,setupCaptions:P,toggleNativeControls:O,updateTimeDisplay:te,updateSeekDisplay:ae,updateSource:function(e){a.is.object(e)&&"sources"in e&&e.sources.length?(ae(),ee(),le(),de.destroy(function(){if(d(de.media),d("captions"),d("wrapper"),de.elements.container&&de.elements.container.removeAttribute("class"),"type"in e&&(de.type=e.type,"video"===de.type)){var t=e.sources[0];"type"in t&&a.inArray(i.embed,t.type)&&(de.type=t.type)}switch(de.supported=a.checkSupport(de.type,de.config.inline),de.type){case"video":de.media=a.createElement("video");break;case"audio":de.media=a.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":de.media=a.createElement("div"),de.embedId=e.sources[0].src}de.elements.container.appendChild(de.media),a.is.boolean(e.autoplay)&&(de.config.autoplay=e.autoplay),a.inArray(i.html5,de.type)&&(de.config.crossorigin&&de.media.setAttribute("crossorigin",""),de.config.autoplay&&de.media.setAttribute("autoplay",""),"poster"in e&&de.media.setAttribute("poster",e.poster),de.config.loop.active&&de.media.setAttribute("loop",""),de.config.muted&&de.media.setAttribute("muted",""),de.config.inline&&de.media.setAttribute("playsinline","")),a.toggleClass(de.elements.container,de.config.classNames.fullscreen.active,de.fullscreen.active),a.toggleClass(de.elements.container,de.config.classNames.captions.active,de.captions.enabled),V(),a.inArray(i.html5,de.type)&&p("source",e.sources),H(),a.inArray(i.html5,de.type)&&("tracks"in e&&p("track",e.tracks),de.media.load()),(a.inArray(i.html5,de.type)||a.inArray(i.embed,de.type)&&!de.supported.full)&&(ce(),ue()),de.config.title=e.title,j()},!1)):ge("Invalid source format")},toggleMenu:X,timers:pe,support:s,log:me,warn:ge,error:fe},function(e){if(null!==e&&!a.is.undefined(e)&&a.is.htmlElement(e)){if(e.plyr)return ge("Target already setup"),void(de=e.plyr);if(de.config.enabled)if(a.checkSupport().basic){de.elements.original=e.cloneNode(!0);var t=e.tagName.toLowerCase();switch(t){case"div":if(de.type=e.getAttribute("data-type"),de.embedId=e.getAttribute("data-video-id"),a.is.empty(de.type))return void fe("Setup failed: embed type missing");if(a.is.empty(de.embedId))return void fe("Setup failed: video id missing");e.removeAttribute("data-type"),e.removeAttribute("data-video-id");break;case"iframe":break;case"video":case"audio":de.type=t,null!==e.getAttribute("crossorigin")&&(de.config.crossorigin=!0),null!==e.getAttribute("autoplay")&&(de.config.autoplay=!0),null!==e.getAttribute("playsinline")&&(de.config.inline=!0),null!==e.getAttribute("muted")&&(de.config.muted=!0),null!==e.getAttribute("loop")&&(de.config.loop.active=!0);break;default:return void fe("Setup failed: unsupported type")}de.browser=a.getBrowser(),D(),de.supported=a.checkSupport(de.type,de.config.inline),de.supported.basic?(e.plyr=de,de.elements.container=a.wrap(e,a.createElement("div")),de.elements.container.setAttribute("tabindex",0),V(),me(de.browser.name+" "+de.browser.version),H(),de.config.debug&&a.on(de.elements.container,de.config.events.join(" "),function(e){me("event: "+e.type)}),(a.inArray(i.html5,de.type)||a.inArray(i.embed,de.type)&&!de.supported.full)&&(ce(),ue(),j())):fe("Setup failed: no support")}else fe("Setup failed: no support");else fe("Setup failed: disabled by config")}else fe("Setup failed: no suitable element passed")}(de.media)}var t={x:0,y:0},n={enabled:!0,title:"",debug:!1,autoplay:!1,seekTime:10,volume:1,muted:!1,displayDuration:!0,clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",duration:null,quality:{default:"default",options:["hd2160","hd1440","hd1080","hd720","large","medium","small","tiny","default"]},loop:{active:!1,start:null,end:null},speed:{default:1,options:[.25,.5,.75,1,1.25,1.5,1.75,2]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:window.navigator.language.split("-")[0]},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed","loop"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",seek:"Seek",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",none:"None",disabled:"Disabled"},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","captionchange","controlshidden","controlsshown","statechange","qualitychange","qualityrequested"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress--buffer",played:".plyr__progress--played",loop:".plyr__progress--loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",menu:{quality:".js-plyr__menu__list--quality"}},classNames:{video:"plyr__video-wrapper",embed:"plyr__video-embed",control:"plyr__control",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",menu:{value:"plyr__menu__value",badge:"plyr__badge"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},airplay:{enabled:"plyr--airplay-enabled",active:"plyr--airplay-active"},tabFocus:"tab-focus"}},i={embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},a={is:{object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&Array.isArray(e)},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&e instanceof Event},cue:function(e){return null!==e&&(e instanceof window.TextTrackCue||e instanceof window.VTTCue)},track:function(e){return null!==e&&(e instanceof window.TextTrack||"string"==typeof e.kind)},undefined:function(e){return null!==e&&void 0===e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}},getBrowser:function(){var e,t,n,i=navigator.userAgent,a=navigator.appName,o=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10),r=!1,l=!1,c=!1,u=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(r=!0,a="IE",o="11"):-1!==(t=i.indexOf("MSIE"))?(r=!0,a="IE",o=i.substring(t+5)):-1!==(t=i.indexOf("Chrome"))?(c=!0,a="Chrome",o=i.substring(t+7)):-1!==(t=i.indexOf("Safari"))?(u=!0,a="Safari",o=i.substring(t+7),-1!==(t=i.indexOf("Version"))&&(o=i.substring(t+8))):-1!==(t=i.indexOf("Firefox"))?(l=!0,a="Firefox",o=i.substring(t+8)):(e=i.lastIndexOf(" ")+1)<(t=i.lastIndexOf("/"))&&(a=i.substring(e,t),o=i.substring(t+1),a.toLowerCase()===a.toUpperCase()&&(a=navigator.appName)),-1!==(n=o.indexOf(";"))&&(o=o.substring(0,n)),-1!==(n=o.indexOf(" "))&&(o=o.substring(0,n)),s=parseInt(""+o,10),isNaN(s)&&(o=""+parseFloat(navigator.appVersion),s=parseInt(navigator.appVersion,10)),{name:a,version:s,isIE:r,isOldIE:r&&s<=9,isFirefox:l,isChrome:c,isSafari:u,isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:/(iPad|iPhone|iPod)/gi.test(navigator.platform)}},checkSupport:function(e,t){var n=!1,i=!1,o=a.getBrowser(),r=o.isIPhone&&t&&s.inline;switch(e){case"video":i=(n=s.video)&&!o.isOldIE&&(!o.isIPhone||r);break;case"audio":i=(n=s.audio)&&!o.isOldIE;break;case"youtube":i=(n=s.video)&&!o.isOldIE&&(!o.isIPhone||r);break;case"vimeo":case"soundcloud":n=!0,i=!o.isOldIE&&!o.isIos;break;default:i=(n=s.audio&&s.video)&&!o.isOldIE}return{basic:n,full:i}},injectScript:function(e){if(!document.querySelectorAll('script[src="'+e+'"]').length){var t=document.createElement("script");t.src=e;var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)}},inFrame:function(){try{return window.self!==window.top}catch(e){return!0}},inArray:function(e,t){return a.is.array(e)&&-1!==e.indexOf(t)},wrap:function(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var i=n>0?t.cloneNode(!0):t,a=e[n],o=a.parentNode,s=a.nextSibling;return i.appendChild(a),s?o.insertBefore(i,s):o.appendChild(i),i}},removeElement:function(e){a.is.htmlElement(e)&&a.is.htmlElement(e.parentNode)&&e.parentNode.removeChild(e)},insertAfter:function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},createElement:function(e,t,n){var i=document.createElement(e);return a.is.object(t)&&a.setAttributes(i,t),a.is.string(n)&&(i.textContent=n),i},insertElement:function(e,t,n,i){t.appendChild(a.createElement(e,n,i))},emptyElement:function(e){for(var t=e.childNodes.length;t--;)e.removeChild(e.lastChild)},setAttributes:function(e,t){for(var n in t)e.setAttribute(n,t[n])},getAttributesFromSelector:function(e,t){if(!a.is.string(e)||a.is.empty(e))return{};var n={};return e.split(",").forEach(function(e){switch((e=e.trim()).charAt(0)){case".":var i=e.replace(".","");a.is.object(t)&&a.is.string(t.class)&&(t.class+=" "+i),n.class=i;break;case"#":n.id=e.replace("#","");break;case"[":var o=(e=e.replace(/[[\]]/g,"")).split("="),s=o[0],r=o.length>1?o[1].replace(/["']/g,""):"";n[s]=r}}),n},toggleClass:function(e,t,n){if(a.is.htmlElement(e)){var i=!1;if(e.classList)i=e.classList.contains(t),e.classList[n?"add":"remove"](t);else{i=a.inArray(e.className.split(" "),t);var o=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=o+(n?" "+t:"")}return n&&!i||!n&&i}return null},hasClass:function(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))},matches:function(e,t){var n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||function(e){return-1!==[].indexOf.call(document.querySelectorAll(e),this)}).call(e,t)},getFocusElement:function(){var e=document.activeElement;return e=e&&e!==document.body?document.querySelector(":focus"):null},proxy:function(e,t,n,i,o,s){a.on(e,t,function(t){n&&n.apply(e,[t]),i.apply(e,[t])},o,s)},toggleListener:function(e,t,n,i,o,r){if(null!==e&&!a.is.undefined(e)){if(t=t.split(" "),a.is.boolean(r)||(r=!1),a.is.boolean(o)||(o=!0),e instanceof NodeList){var l=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);return l.shift(),void[].forEach.call(e,function(e){e instanceof Node&&a.toggleListener.apply(null,[e].concat(l))})}var c=r;s.passiveListeners&&(c={passive:o,capture:r}),t.forEach(function(t){e[i?"addEventListener":"removeEventListener"](t,n,c)})}},on:function(e,t,n,i,o){a.toggleListener(e,t,n,!0,i,o)},off:function(e,t,n,i,o){a.toggleListener(e,t,n,!1,i,o)},dispatchEvent:function(e,t,n,i){if(e&&t){a.is.boolean(n)||(n=!1);var o;a.is.function(window.CustomEvent)?o=window.CustomEvent:(o=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}).prototype=window.Event.prototype;var s=new o(t,{bubbles:n,detail:i});e.dispatchEvent(s)}},toggleState:function(e,t){if(e)return t=a.is.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t},getPercentage:function(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)},extend:function(){var e=arguments;if(e.length){if(1===e.length)return e[0];var t=Array.prototype.shift.call(e);a.is.object(t)||(t={});for(var n=e.length,i=0;i<n;i++){var o=e[i];a.is.object(o)||(o={});for(var s in o)o[s]&&o[s].constructor&&o[s].constructor===Object?(t[s]=t[s]||{},a.extend(t[s],o[s])):t[s]=o[s]}return t}},parseYouTubeId:function(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/;return e.match(t)?RegExp.$2:e},stripHTML:function(e){var t=document.createDocumentFragment(),n=document.createElement("div");return t.appendChild(n),n.innerHTML=e,t.firstChild.innerText},loadSprite:function(e,t){function n(e,t){e.innerHTML=t,document.body.insertBefore(e,document.body.childNodes[0])}if("string"==typeof e){var i="string"==typeof t;if(!i||!document.querySelectorAll("#"+t).length){var a=document.createElement("div");if(a.setAttribute("hidden",""),i&&a.setAttribute("id",t),s.storage){var o=window.localStorage.getItem("cache-"+t);if(null!==o){var r=JSON.parse(o);n(a,r.content)}}var l=new XMLHttpRequest;if(!("withCredentials"in l))return;l.open("GET",e,!0),l.onload=function(){s.storage&&window.localStorage.setItem("cache-"+t,JSON.stringify({content:l.responseText})),n(a,l.responseText)},l.send()}}},transitionEnd:function(){var e=document.createElement("span"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return t[n];return!1}()},o=function(){var e=function(){var e=!1;return a.is.function(document.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(t){return a.is.function(document[t+"CancelFullScreen"])?(e=t,!0):a.is.function(document.msExitFullscreen)&&document.msFullscreenEnabled?(e="ms",!0):void 0}),e}();return{prefix:e,eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(t){if(!s.fullscreen)return!1;switch(a.is.undefined(t)&&(t=document.body),e){case"":return document.fullscreenElement===t;case"moz":return document.mozFullScreenElement===t;default:return document[e+"FullscreenElement"]===t}},requestFullScreen:function(t){return!!s.fullscreen&&(a.is.htmlElement(t)||(t=document.body),e.length?t[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]():t.requestFullScreen())},cancelFullScreen:function(){return!!s.fullscreen&&(e.length?document[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]():document.cancelFullScreen())},element:function(){return s.fullscreen?e.length?document[e+"FullscreenElement"]:document.fullscreenElement:null}}}(),s={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),fullscreen:!1!==o.prefix,storage:function(){if(!("localStorage"in window))return!1;try{return window.localStorage.setItem("___test","___test"),window.localStorage.removeItem("___test"),!0}catch(e){return!1}}(),pip:!a.getBrowser().isIPhone&&a.is.function(a.createElement("video").webkitSetPresentationMode),airplay:a.is.function(window.WebKitPlaybackTargetAvailabilityEvent),inline:"playsInline"in document.createElement("video"),mime:function(e,t){var n=e.media;try{if(!a.is.function(n.canPlayType))return!1;if("video"===e.type)switch(t){case"video/webm":return n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,"");case"video/mp4":return n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,"");case"video/ogg":return n.canPlayType('video/ogg; codecs="theora"').replace(/no/,"")}else if("audio"===e.type)switch(t){case"audio/mpeg":return n.canPlayType("audio/mpeg;").replace(/no/,"");case"audio/ogg":return n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,"");case"audio/wav":return n.canPlayType('audio/wav; codecs="1"').replace(/no/,"")}}catch(e){return!1}return!1},textTracks:"textTracks"in document.createElement("video"),passiveListeners:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e}(),touch:"ontouchstart"in document.documentElement,transitions:!1!==a.transitionEnd,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches};return e.prototype.play=function(){var e=this;return"play"in e.media&&e.media.play(),e},e.prototype.pause=function(){var e=this;return"pause"in e.media&&e.media.pause(),e},e.prototype.togglePlay=function(e){var t=this;return a.is.boolean(e)||(e=t.media.paused),e?t.play():t.pause(),e},e.prototype.isPlaying=function(){return!this.media.paused},e.prototype.stop=function(){var e=this;return e.restart(),e.pause(),e},e.prototype.restart=function(){var e=this;return e.seek(),e},e.prototype.rewind=function(e){var t=this;return a.is.number(e)||(e=t.config.seekTime),t.seek(t.media.currentTime-e),t},e.prototype.forward=function(e){var t=this;return a.is.number(e)||(e=t.config.seekTime),t.seek(t.media.currentTime+e),t},e.prototype.seek=function(e){var t=this,n=0,o=t.media.paused,s=t.getDuration();if(a.is.number(e)&&(n=e),n<0?n=0:n>s&&(n=s),t.core.updateSeekDisplay(n),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.seekTo(n);break;case"vimeo":t.embed.setCurrentTime(n);break;case"soundcloud":t.embed.seekTo(1e3*n)}o&&t.pause(),t.core.trigger(t.media,"timeupdate"),t.media.seeking=!0,t.core.trigger(t.media,"seeking")}else t.media.currentTime=n.toFixed(4);return t.core.log("Seeking to "+t.media.currentTime+" seconds"),t},e.prototype.setVolume=function(e){var t=this,n=!a.is.undefined(e);if(a.is.string(e)&&(e=parseFloat(e)),a.is.number(e)||(e=t.storage.volume),a.is.number(e)||(e=t.config.volume),e>1&&(e=1),e<0&&(e=0),t.media.volume=e,a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.setVolume(100*t.media.volume);break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.volume)}t.core.trigger(t.media,"volumechange")}return 0===e?t.toggleMute(!0):t.media.muted&&n&&t.toggleMute(),t},e.prototype.increaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n+e),t},e.prototype.decreaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n-e),t},e.prototype.toggleMute=function(e){var t=this;if(a.is.boolean(e)||(e=!t.media.muted),a.toggleState(t.elements.buttons.mute,e),t.media.muted=e,t.media.muted||0!==t.media.volume||t.setVolume(t.config.volume),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed[t.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.muted?0:t.config.volume)}t.core.trigger(t.media,"volumechange")}return t},e.prototype.setSpeed=function(e){var t=this;if(a.is.number(e)||(e=parseFloat(t.storage.speed||t.speed.selected||t.config.speed.default)),e<.1&&(e=.1),e>2&&(e=2),a.inArray(t.config.speed.options,e)){switch(t.type){case"youtube":t.embed.setPlaybackRate(e);break;case"vimeo":e=null,t.core.warn("Vimeo playback rate change is not supported");break;default:t.media.playbackRate=e}return t}t.core.warn("Unsupported speed ("+e+")")},e.prototype.setQuality=function(e){var t=this;a.is.string(e)||(e=parseFloat(t.storage.quality||t.config.quality.selected));{if(a.inArray(t.config.quality.options,e)){switch(t.type){case"youtube":t.core.trigger(t.media,"qualityrequested",!1,{quality:e}),t.embed.setPlaybackQuality(e);break;default:t.core.warn("Quality options are only available for YouTube")}return t}t.core.warn("Unsupported quality option ("+e+")")}},e.prototype.setLoop=function(e){var t=this;a.inArray(["start","end","all","none","toggle"],e)||(e="toggle");var n=Number(t.media.currentTime);switch(e){case"start":t.config.loop.end&&t.config.loop.end<=n&&(t.config.loop.end=null),t.config.loop.start=n,t.config.loop.indicator.start=t.elements.display.played.value;break;case"end":if(t.config.loop.start>=n)return;t.config.loop.end=n,t.config.loop.indicator.end=t.elements.display.played.value;break;case"all":t.config.loop.start=0,t.config.loop.end=t.media.duration-2,t.config.loop.indicator.start=0,t.config.loop.indicator.end=100;break;case"toggle":t.config.loop.active?(t.config.loop.start=0,t.config.loop.end=null):(t.config.loop.start=0,t.config.loop.end=t.media.duration-2);break;default:t.config.loop.start=0,t.config.loop.end=null}return t},e.prototype.source=function(e){var t=this;if(a.is.object(e))return t.core.updateSource(e),t;var n;switch(t.type){case"youtube":n=t.embed.getVideoUrl();break;case"vimeo":t.embed.getVideoUrl.then(function(e){n=e});break;case"soundcloud":t.embed.getCurrentSound(function(e){n=e.permalink_url});break;default:n=t.media.currentSrc}return n},e.prototype.poster=function(e){var t=this;return a.is.string(e)?("video"===t.type?t.media.setAttribute("poster",e):t.core.warn("Poster can only be set on HTML5 video"),t):t.media.getAttribute("poster")},e.prototype.toggleCaptions=function(e){var t=this;if(t.supported.full&&t.elements.buttons.captions)return a.is.boolean(e)||(e=-1===t.elements.container.className.indexOf(t.config.classNames.captions.active)),t.captions.enabled===e?t:(t.captions.enabled=e,a.toggleState(t.elements.buttons.captions,t.captions.enabled),a.toggleClass(t.elements.container,t.config.classNames.captions.active,t.captions.enabled),t.core.trigger(t.media,t.captions.enabled?"captionsenabled":"captionsdisabled"),t)},e.prototype.setLanguage=function(e){var t=this;return a.is.empty(e)?(t.toggleCaptions(!1),t):(e=e.toLowerCase(),t.captions.language===e?t:(t.toggleCaptions(!0),t.captions.language=e,t.core.trigger(t.media,"captionchange"),t.core.setCaption(),t.core.setupCaptions(),t))},e.prototype.getLanguage=function(){return this.captions.language},e.prototype.toggleFullscreen=function(e){var n=this,i=s.fullscreen;if(i){if(!a.is.event(e)||e.type!==o.eventType)return o.isFullScreen(n.elements.container)?o.cancelFullScreen():(t={x:window.pageXOffset||0,y:window.pageYOffset||0},o.requestFullScreen(n.elements.container)),void(n.fullscreen.active=o.isFullScreen(n.elements.container));n.fullscreen.active=o.isFullScreen(n.elements.container)}else n.fullscreen.active=!n.fullscreen.active,document.body.style.overflow=n.fullscreen.active?"hidden":"";return a.toggleClass(n.elements.container,n.config.classNames.fullscreen.active,n.fullscreen.active),n.elements.buttons&&n.elements.buttons.fullscreen&&a.toggleState(n.elements.buttons.fullscreen,n.fullscreen.active),n.core.trigger(n.media,n.fullscreen.active?"enterfullscreen":"exitfullscreen",!0),!n.fullscreen.active&&i&&window.scrollTo(t.x,t.y),n},e.prototype.togglePictureInPicture=function(e){var t=this,n={pip:"picture-in-picture",inline:"inline"};if(t.core.support.pip)return a.is.boolean(e)||(e=t.media.webkitPresentationMode===n.inline),t.media.webkitSetPresentationMode(e?n.pip:n.inline),t},e.prototype.airPlay=function(){var e=this;if(e.core.support.airplay)return e.media.webkitShowPlaybackTargetPicker(),e},e.prototype.toggleControls=function(e){var t=this;if(t.config.hideControls&&"audio"!==t.type){var n=0,i=e,o=!1,r=a.hasClass(t.elements.container,t.config.classNames.loading);if(a.is.boolean(e)||(a.is.event(e)?(o="enterfullscreen"===e.type,i=a.inArray(["mousemove","touchstart","mouseenter","focus"],e.type),a.inArray(["mousemove","touchmove"],e.type)&&(n=2e3),"focus"===e.type&&(n=3e3)):i=a.hasClass(t.elements.container,t.config.classNames.hideControls)),window.clearTimeout(t.core.timers.hover),i||t.media.paused||r){if(a.toggleClass(t.elements.container,t.config.classNames.hideControls,!1)&&t.core.trigger(t.media,"controlsshown"),t.media.paused||r)return;s.touch&&(n=3e3)}return i&&t.media.paused||(t.core.timers.hover=window.setTimeout(function(){(!t.elements.controls.pressed&&!t.elements.controls.hover||o)&&a.toggleClass(t.elements.container,t.config.classNames.hideControls,!0)&&(t.core.trigger(t.media,"controlshidden"),a.inArray(t.config.controls,"settings")&&!a.is.empty(t.config.settings)&&t.core.toggleMenu(!1))},n)),t}},e.prototype.on=function(e,t){var n=this;return a.on(n.elements.container,e,t),n},e.prototype.off=function(e,t){var n=this;return a.off(n.elements.container,e,t),n},e.prototype.supports=function(e){return s.mime(this,e)},e.prototype.destroy=function(e,t){function n(){if(null!==i){if(a.is.boolean(t)||(t=!0),document.body.style.overflow="",t){var n=i.elements.container.parentNode;a.is.htmlElement(n)&&n.replaceChild(i.elements.original,i.elements.container)}i.core.trigger(i.elements.original,"destroyed",!0),a.is.function(e)&&e.call(i.elements.original),i=null}}var i=this;switch(i.type){case"youtube":window.clearInterval(i.core.timers.buffering),window.clearInterval(i.core.timers.playing),i.embed.destroy(),n();break;case"vimeo":i.embed.unload().then(n),window.setTimeout(n,200);break;case"video":case"audio":i.core.toggleNativeControls(!0),n()}},e.prototype.getDuration=function(){var e=this,t=parseInt(e.config.duration),n=0;return null===e.media.duration||isNaN(e.media.duration)||(n=e.media.duration),isNaN(t)?n:t},e});
\ No newline at end of file diff --git a/src/js/plyr.js b/src/js/plyr.js index f2786a84..9e2c9353 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -24,7 +24,7 @@ // Globals var scroll = { x: 0, - y: 0 + y: 0, }; // Default config @@ -77,51 +77,51 @@ // Quality default quality: { default: 'default', - options: ['hd2160', 'hd1440', 'hd1080', 'hd720', 'large', 'medium', 'small', 'tiny', 'default'] + options: ['hd2160', 'hd1440', 'hd1080', 'hd720', 'large', 'medium', 'small', 'tiny', 'default'], }, // Set loops loop: { active: false, start: null, - end: null + end: null, }, // Speed default and options to display speed: { default: 1, - options: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2] + options: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2], }, // Keyboard shortcut settings keyboard: { focused: true, - global: false + global: false, }, // Display tooltips tooltips: { controls: false, - seek: true + seek: true, }, // Captions settings captions: { active: false, - language: window.navigator.language.split('-')[0] + language: window.navigator.language.split('-')[0], }, // Fullscreen settings fullscreen: { enabled: true, fallback: true, - allowAudio: false + allowAudio: false, }, // Local storage storage: { enabled: true, - key: 'plyr' + key: 'plyr', }, // Default controls @@ -136,7 +136,7 @@ 'settings', 'pip', 'airplay', - 'fullscreen' + 'fullscreen', ], settings: ['captions', 'quality', 'speed', 'loop'], @@ -167,20 +167,20 @@ all: 'All', reset: 'Reset', none: 'None', - disabled: 'Disabled' + disabled: 'Disabled', }, // URLs urls: { vimeo: { - api: 'https://player.vimeo.com/api/player.js' + api: 'https://player.vimeo.com/api/player.js', }, youtube: { - api: 'https://www.youtube.com/iframe_api' + api: 'https://www.youtube.com/iframe_api', }, soundcloud: { - api: 'https://w.soundcloud.com/player/api.js' - } + api: 'https://w.soundcloud.com/player/api.js', + }, }, // Custom control listeners @@ -200,7 +200,7 @@ speed: null, quality: null, loop: null, - language: null + language: null, }, // Events to watch and bubble @@ -240,7 +240,7 @@ // YouTube 'statechange', 'qualitychange', - 'qualityrequested' + 'qualityrequested', ], // Selectors @@ -250,7 +250,7 @@ container: '.plyr', controls: { container: null, - wrapper: '.plyr__controls' + wrapper: '.plyr__controls', }, labels: '[data-plyr]', buttons: { @@ -265,14 +265,14 @@ pip: '[data-plyr="pip"]', airplay: '[data-plyr="airplay"]', settings: '[data-plyr="settings"]', - loop: '[data-plyr="loop"]' + loop: '[data-plyr="loop"]', }, inputs: { seek: '[data-plyr="seek"]', volume: '[data-plyr="volume"]', speed: '[data-plyr="speed"]', language: '[data-plyr="language"]', - quality: '[data-plyr="quality"]' + quality: '[data-plyr="quality"]', }, display: { currentTime: '.plyr__time--current', @@ -280,13 +280,13 @@ buffer: '.plyr__progress--buffer', played: '.plyr__progress--played', loop: '.plyr__progress--loop', - volume: '.plyr__volume--display' + volume: '.plyr__volume--display', }, progress: '.plyr__progress', captions: '.plyr__captions', menu: { - quality: '.js-plyr__menu__list--quality' - } + quality: '.js-plyr__menu__list--quality', + }, }, // Class hooks added to the player in different states @@ -307,32 +307,32 @@ isTouch: 'plyr--is-touch', menu: { value: 'plyr__menu__value', - badge: 'plyr__badge' + badge: 'plyr__badge', }, captions: { enabled: 'plyr--captions-enabled', - active: 'plyr--captions-active' + active: 'plyr--captions-active', }, fullscreen: { enabled: 'plyr--fullscreen-enabled', - active: 'plyr--fullscreen-active' + active: 'plyr--fullscreen-active', }, pip: { enabled: 'plyr--pip-enabled', - active: 'plyr--pip-active' + active: 'plyr--pip-active', }, airplay: { enabled: 'plyr--airplay-enabled', - active: 'plyr--airplay-active' + active: 'plyr--airplay-active', }, - tabFocus: 'tab-focus' - } + tabFocus: 'tab-focus', + }, }; // Types var types = { embed: ['youtube', 'vimeo', 'soundcloud'], - html5: ['video', 'audio'] + html5: ['video', 'audio'], }; // Utilities @@ -389,7 +389,7 @@ ((this.string(input) || this.array(input) || this.nodeList(input)) && input.length === 0) || (this.object(input) && Object.keys(input).length === 0) ); - } + }, }, // Credits: http://paypal.github.io/accessible-html5-video-player/ @@ -471,7 +471,7 @@ isChrome: isChrome, isSafari: isSafari, isIPhone: /(iPhone|iPod)/gi.test(navigator.platform), - isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform) + isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform), }; }, @@ -512,7 +512,7 @@ return { basic: basic, - full: full + full: full, }; }, @@ -544,11 +544,6 @@ return utils.is.array(haystack) && haystack.indexOf(needle) !== -1; }, - // Replace all - replaceAll: function(string, find, replace) { - return string.replace(new RegExp(find.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g, '\\$1'), 'g'), replace); - }, - // Wrap an element wrap: function(elements, wrapper) { // Convert `elements` to an array, if necessary. @@ -678,14 +673,14 @@ case '[': // Strip the [] - selector = selector.replace(/[\[\]]/g, ''); + selector = selector.replace(/[[\]]/g, ''); // Get the parts if var parts = selector.split('='); var key = parts[0]; // Get the value if provided - var value = parts.length > 1 ? parts[1].replace(/[\"\']/g, '') : ''; + var value = parts.length > 1 ? parts[1].replace(/["']/g, '') : ''; // Attribute selector attributes[key] = value; @@ -823,7 +818,7 @@ if (support.passiveListeners) { options = { passive: passive, - capture: capture + capture: capture, }; } @@ -866,7 +861,7 @@ params = params || { bubbles: false, cancelable: false, - detail: undefined + detail: undefined, }; var custom = document.createEvent('CustomEvent'); custom.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); @@ -878,7 +873,7 @@ // Create and dispatch the event var event = new CustomEvent(type, { bubbles: bubbles, - detail: properties + detail: properties, }); // Dispatch the event @@ -958,7 +953,7 @@ // Parse YouTube ID from url parseYouTubeId: function(url) { - var regex = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/; + var regex = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/; return url.match(regex) ? RegExp.$2 : url; }, @@ -1026,7 +1021,7 @@ window.localStorage.setItem( prefix + id, JSON.stringify({ - content: xhr.responseText + content: xhr.responseText, }) ); } @@ -1046,7 +1041,7 @@ WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'oTransitionEnd otransitionend', - transition: 'transitionend' + transition: 'transitionend', }; for (var type in events) { @@ -1056,7 +1051,7 @@ } return false; - })() + })(), }; // Fullscreen API @@ -1139,7 +1134,7 @@ } return !prefix.length ? document.fullscreenElement : document[prefix + 'FullscreenElement']; - } + }, }; })(); @@ -1239,10 +1234,12 @@ var options = Object.defineProperty({}, 'passive', { get: function() { supported = true; - } + }, }); window.addEventListener('test', null, options); - } catch (e) {} + } catch (e) { + // Do nothing + } return supported; })(), @@ -1256,7 +1253,7 @@ // Reduced motion iOS & MacOS setting // https://webkit.org/blog/7551/responsive-design-for-motion/ - reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches + reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches, }; // Plyr instance @@ -1290,7 +1287,9 @@ (function() { try { return JSON.parse(player.media.getAttribute('data-plyr')); - } catch (e) {} + } catch (e) { + // Do nothing + } })() ); @@ -1304,41 +1303,41 @@ settings: { menu: null, panes: {}, - tabs: {} + tabs: {}, }, - captions: null + captions: null, }; // Captions player.captions = { enabled: null, tracks: null, - currentTrack: null + currentTrack: null, }; // Fullscreen player.fullscreen = { - active: false + active: false, }; // Speed player.speed = { selected: null, - options: [] + options: [], }; // Quality player.quality = { selected: null, - options: [] + options: [], }; // Loop player.loop = { indicator: { start: 0, - end: 0 - } + end: 0, + }, }; // Debugging @@ -1346,9 +1345,9 @@ var warn = function() {}; var error = function() {}; if (player.config.debug && 'console' in window) { - log = console.log; - warn = console.warn; - error = console.error; + log = console.log; // eslint-disable-line + warn = console.warn; // eslint-disable-line + error = console.error; // eslint-disable-line log('Debugging enabled'); } @@ -1363,7 +1362,7 @@ type, bubbles, utils.extend({}, properties, { - plyr: player + plyr: player, }) ); } @@ -1418,7 +1417,7 @@ function insertElements(type, attributes) { if (utils.is.string(attributes)) { utils.insertElement(type, player.media, { - src: attributes + src: attributes, }); } else if (utils.is.array(attributes)) { warn(attributes); @@ -1433,7 +1432,7 @@ function getIconUrl() { return { url: player.config.iconUrl, - absolute: player.config.iconUrl.indexOf('http') === 0 || player.browser.isIE + absolute: player.config.iconUrl.indexOf('http') === 0 || player.browser.isIE, }; } @@ -1448,7 +1447,7 @@ utils.setAttributes( icon, utils.extend(attributes, { - role: 'presentation' + role: 'presentation', }) ); @@ -1479,7 +1478,7 @@ return utils.createElement( 'span', { - class: player.config.classNames.hidden + class: player.config.classNames.hidden, }, text ); @@ -1488,14 +1487,14 @@ // Create a badge function createBadge(text) { var badge = utils.createElement('span', { - class: player.config.classNames.menu.value + class: player.config.classNames.menu.value, }); badge.appendChild( utils.createElement( 'span', { - class: player.config.classNames.menu.badge + class: player.config.classNames.menu.badge, }, text ) @@ -1569,7 +1568,7 @@ if (utils.is.string(iconToggled)) { button.appendChild( createIcon(iconToggled, { - class: 'icon--' + iconToggled + class: 'icon--' + iconToggled, }) ); } @@ -1591,7 +1590,7 @@ 'label', { for: attributes.id, - class: player.config.classNames.hidden + class: player.config.classNames.hidden, }, player.config.i18n[type] ); @@ -1607,7 +1606,7 @@ max: 100, step: 0.1, value: 0, - autocomplete: 'off' + autocomplete: 'off', }, attributes ) @@ -1617,7 +1616,7 @@ return { label: label, - input: input + input: input, }; } @@ -1630,7 +1629,7 @@ { min: 0, max: 100, - value: 0 + value: 0, }, attributes ) @@ -1662,14 +1661,14 @@ // Create time display function createTime(type) { var container = utils.createElement('span', { - class: 'plyr__time' + class: 'plyr__time', }); container.appendChild( utils.createElement( 'span', { - class: player.config.classNames.hidden + class: player.config.classNames.hidden, }, player.config.i18n[type] ) @@ -1733,7 +1732,7 @@ // Seek range slider var seek = createRange('seek', { - id: 'plyr-seek-' + data.id + id: 'plyr-seek-' + data.id, }); container.appendChild(seek.label); container.appendChild(seek.input); @@ -1752,7 +1751,7 @@ 'span', { role: 'tooltip', - class: player.config.classNames.tooltip + class: player.config.classNames.tooltip, }, '00:00' ); @@ -1783,21 +1782,21 @@ // Volume range control if (utils.inArray(player.config.controls, 'volume')) { var volume = utils.createElement('span', { - class: 'plyr__volume' + class: 'plyr__volume', }); // Set the attributes var attributes = { max: 1, step: 0.05, - value: player.config.volume + value: player.config.volume, }; // Create the volume range slider var range = createRange( 'volume', utils.extend(attributes, { - id: 'plyr-volume-' + data.id + id: 'plyr-volume-' + data.id, }) ); volume.appendChild(range.label); @@ -1818,7 +1817,7 @@ // Settings button / menu if (utils.inArray(player.config.controls, 'settings') && !utils.is.empty(player.config.settings)) { var menu = utils.createElement('div', { - class: 'plyr__menu' + class: 'plyr__menu', }); menu.appendChild( @@ -1826,7 +1825,7 @@ id: 'plyr-settings-toggle-' + data.id, 'aria-haspopup': true, 'aria-controls': 'plyr-settings-' + data.id, - 'aria-expanded': false + 'aria-expanded': false, }) ); @@ -1836,7 +1835,7 @@ 'aria-hidden': true, 'aria-labelled-by': 'plyr-settings-toggle-' + data.id, role: 'tablist', - tabindex: -1 + tabindex: -1, }); var inner = utils.createElement('div'); @@ -1845,19 +1844,19 @@ id: 'plyr-settings-' + data.id + '-home', 'aria-hidden': false, 'aria-labelled-by': 'plyr-settings-toggle-' + data.id, - role: 'tabpanel' + role: 'tabpanel', }); // Create the tab list var tabs = utils.createElement('ul', { - role: 'tablist' + role: 'tablist', }); // Build the tabs player.config.settings.forEach(function(type) { var tab = utils.createElement('li', { role: 'tab', - hidden: '' + hidden: '', }); var button = utils.createElement( @@ -1869,13 +1868,13 @@ id: 'plyr-settings-' + data.id + '-' + type + '-tab', 'aria-haspopup': true, 'aria-controls': 'plyr-settings-' + data.id + '-' + type, - 'aria-expanded': false + 'aria-expanded': false, }), player.config.i18n[type] ); var value = utils.createElement('span', { - class: player.config.classNames.menu.value + class: player.config.classNames.menu.value, }); // Speed contains HTML entities @@ -1899,7 +1898,7 @@ 'aria-labelled-by': 'plyr-settings-' + data.id + '-' + type + '-tab', role: 'tabpanel', tabindex: -1, - hidden: '' + hidden: '', }); var back = utils.createElement( @@ -1909,7 +1908,7 @@ class: player.config.classNames.control + ' ' + player.config.classNames.control + '--back', 'aria-haspopup': true, 'aria-controls': 'plyr-settings-' + data.id + '-home', - 'aria-expanded': false + 'aria-expanded': false, }, player.config.i18n[type] ); @@ -2046,7 +2045,7 @@ var item = utils.createElement('li'); var label = utils.createElement('label', { - class: player.config.classNames.control + class: player.config.classNames.control, }); var radio = utils.createElement( @@ -2054,7 +2053,7 @@ utils.extend(utils.getAttributesFromSelector(player.config.selectors.inputs.quality), { type: 'radio', name: 'plyr-quality', - value: quality + value: quality, }) ); @@ -2220,14 +2219,14 @@ return { language: track.language, badge: true, - label: !utils.is.empty(track.label) ? track.label : track.language.toUpperCase() + label: !utils.is.empty(track.label) ? track.label : track.language.toUpperCase(), }; }); // Add the "None" option to turn off captions tracks.unshift({ language: '', - label: player.config.i18n.none + label: player.config.i18n.none, }); // Generate options @@ -2235,7 +2234,7 @@ var item = utils.createElement('li'); var label = utils.createElement('label', { - class: player.config.classNames.control + class: player.config.classNames.control, }); var radio = utils.createElement( @@ -2243,7 +2242,7 @@ utils.extend(utils.getAttributesFromSelector(player.config.selectors.inputs.language), { type: 'radio', name: 'plyr-language', - value: track.language + value: track.language, }) ); @@ -2305,7 +2304,7 @@ var item = utils.createElement('li'); var label = utils.createElement('label', { - class: player.config.classNames.control + class: player.config.classNames.control, }); var radio = utils.createElement( @@ -2313,7 +2312,7 @@ utils.extend(utils.getAttributesFromSelector(player.config.selectors.inputs.speed), { type: 'radio', name: 'plyr-speed', - value: speed + value: speed, }) ); @@ -2601,7 +2600,7 @@ // The function can return a HTMLElement or String controls = player.config.controls({ id: player.id, - seektime: player.config.seekTime + seektime: player.config.seekTime, }); } else { // Create controls @@ -2613,7 +2612,7 @@ quality: '-', captions: getLanguage(), // TODO: Get loop - loop: 'None' + loop: 'None', }); } @@ -2650,7 +2649,7 @@ ' ', player.config.selectors.labels, ' .', - player.config.classNames.hidden + player.config.classNames.hidden, ].join('') ); @@ -2681,7 +2680,7 @@ airplay: getElement(player.config.selectors.buttons.airplay), settings: getElement(player.config.selectors.buttons.settings), captions: getElement(player.config.selectors.buttons.captions), - fullscreen: getElement(player.config.selectors.buttons.fullscreen) + fullscreen: getElement(player.config.selectors.buttons.fullscreen), }; // Progress @@ -2690,7 +2689,7 @@ // Inputs player.elements.inputs = { seek: getElement(player.config.selectors.inputs.seek), - volume: getElement(player.config.selectors.inputs.volume) + volume: getElement(player.config.selectors.inputs.volume), }; // Display @@ -2699,7 +2698,7 @@ played: getElement(player.config.selectors.display.played), volume: getElement(player.config.selectors.display.volume), duration: getElement(player.config.selectors.display.duration), - currentTime: getElement(player.config.selectors.display.currentTime) + currentTime: getElement(player.config.selectors.display.currentTime), }; // Seek tooltip @@ -2798,7 +2797,7 @@ // version of player. See: https://github.com/sampotts/plyr/pull/313 // Update the key to be JSON updateStorage({ - volume: parseFloat(value) + volume: parseFloat(value), }); } else { // Assume it's JSON from this or a later version of plyr @@ -2874,7 +2873,7 @@ if (utils.inArray(['video', 'youtube', 'vimeo'], player.type)) { // Create the wrapper div player.elements.wrapper = utils.createElement('div', { - class: player.config.classNames.video + class: player.config.classNames.video, }); // Wrap the video in a container @@ -2968,7 +2967,7 @@ utils.setAttributes(soundCloud, { src: 'https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/' + mediaId, - id: id + id: id, }); player.media.appendChild(soundCloud); @@ -3018,7 +3017,7 @@ // Tracking for stats origin: window.location.hostname, - widget_referrer: window.location.href + widget_referrer: window.location.href, // Captions is flaky on YouTube //cc_load_policy: (player.captions.active ? 1 : 0), @@ -3028,7 +3027,7 @@ onError: function(event) { trigger(player.elements.container, 'error', true, { code: event.data, - embed: event.target + embed: event.target, }); }, onPlaybackQualityChange: function(event) { @@ -3201,10 +3200,10 @@ } trigger(player.elements.container, 'statechange', false, { - code: event.data + code: event.data, }); - } - } + }, + }, }); } @@ -3218,7 +3217,7 @@ autoplay: player.config.autoplay, byline: false, portrait: false, - title: false + title: false, }); // Create a faux HTML5 API using the Vimeo API @@ -3466,7 +3465,7 @@ return { width: width, - height: height + height: height, }; } @@ -3558,7 +3557,7 @@ // Update the volume in storage updateStorage({ - volume: player.media.volume + volume: player.media.volume, }); // Toggle class if muted @@ -4085,7 +4084,7 @@ 67, 73, 76, - 79 + 79, ]; var checkFocus = [38, 40]; @@ -4512,7 +4511,7 @@ // Save speed to localStorage updateStorage({ - speed: player.speed.selected + speed: player.speed.selected, }); }); @@ -4526,7 +4525,7 @@ // Save speed to localStorage updateStorage({ - quality: player.quality.selected + quality: player.quality.selected, }); }); @@ -4534,7 +4533,7 @@ utils.on(player.media, 'captionchange', function() { // Save speed to localStorage updateStorage({ - language: player.captions.language + language: player.captions.language, }); }); @@ -4545,7 +4544,7 @@ // Save speed to localStorage updateStorage({ - captions: player.captions.enabled + captions: player.captions.enabled, }); }); @@ -4821,7 +4820,7 @@ // Debugging log: log, warn: warn, - error: error + error: error, }; // Initialize instance @@ -5184,7 +5183,7 @@ switch (player.type) { case 'youtube': player.core.trigger(player.media, 'qualityrequested', false, { - quality: quality + quality: quality, }); player.embed.setPlaybackQuality(quality); @@ -5425,7 +5424,7 @@ function saveScrollPosition() { scroll = { x: window.pageXOffset || 0, - y: window.pageYOffset || 0 + y: window.pageYOffset || 0, }; } @@ -5498,7 +5497,7 @@ var player = this; var states = { pip: 'picture-in-picture', - inline: 'inline' + inline: 'inline', }; // Bail if no support |