aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--changelog.md4
-rw-r--r--dist/plyr.js4
-rw-r--r--package.json2
-rw-r--r--readme.md43
-rw-r--r--src/js/plyr.js52
5 files changed, 83 insertions, 22 deletions
diff --git a/changelog.md b/changelog.md
index dbbf4d28..0be6dc90 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## v2.0.10
+- Added seek event fixes for Vimeo and YouTube (fixes #409)
+- Added support for embed URLs rather than ID only (fixes #345)
+
## v2.0.9
- Temporary patch for the YouTube API issues with `getDuration()` (relates to #374)
diff --git a/dist/plyr.js b/dist/plyr.js
index 47b3c6f2..24ac7da5 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -1,2 +1,2 @@
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,i=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",i="11"):(n=r.indexOf("MSIE"))!==-1?(l=!0,s="IE",i=r.substring(n+5)):(n=r.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",i=r.substring(n+7)):(n=r.indexOf("Safari"))!==-1?(p=!0,s="Safari",i=r.substring(n+7),(n=r.indexOf("Version"))!==-1&&(i=r.substring(n+8))):(n=r.indexOf("Firefox"))!==-1?(u=!0,s="Firefox",i=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),i=r.substring(n+1),s.toLowerCase()===s.toUpperCase()&&(s=navigator.appName)),(a=i.indexOf(";"))!==-1&&(i=i.substring(0,a)),(a=i.indexOf(" "))!==-1&&(i=i.substring(0,a)),o=parseInt(""+i,10),isNaN(o)&&(i=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10)),{name:s,version:o,isIE:l,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function r(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function s(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,i=r.nextSibling;return a.appendChild(r),i?s.insertBefore(a,i):s.appendChild(a),a}}function o(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,P.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),l(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function f(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function y(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var s=t.split(" ");if(P.boolean(r)||(r=!1),e instanceof NodeList)for(var i=0;i<e.length;i++)e[i]instanceof Node&&b(e[i],arguments[1],arguments[2],arguments[3]);else for(var o=0;o<s.length;o++)e[a?"addEventListener":"removeEventListener"](s[o],n,r)}function g(e,t,n,a){P.undefined(e)||b(e,t,n,!0,a)}function v(e,t,n,a){P.undefined(e)||b(e,t,n,!1,a)}function h(e,t,n,a){if(e&&t){P.boolean(n)||(n=!1);var r=new CustomEvent(t,{bubbles:n,detail:a});e.dispatchEvent(r)}}function _(e,t){if(e)return t=P.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t}function k(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,a=0;a<n;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},x(t[s],r[s])):t[s]=r[s]}return t}}function w(b,w){function S(e,t,n,a){h(e,t,n,x({},a,{plyr:Xe}))}function N(t,n){w.debug&&e.console&&(n=Array.prototype.slice.call(n),P.string(w.logPrefix)&&w.logPrefix.length&&n.unshift(w.logPrefix),console[t].apply(console,n))}function O(){return{url:w.iconUrl,absolute:0===w.iconUrl.indexOf("http")||Ue.browser.isIE}}function L(){var e=[],t=O(),n=(t.absolute?"":t.url)+"#"+w.iconPrefix;return r(w.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),r(w.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+w.i18n.restart+"</span>","</button>"),r(w.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+w.i18n.rewind+"</span>","</button>"),r(w.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+w.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+w.i18n.pause+"</span>","</button>"),r(w.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+w.i18n.forward+"</span>","</button>"),r(w.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek-{id}" class="plyr__sr-only">Seek</label>','<input id="seek-{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+w.i18n.buffered,"</progress>"),w.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),r(w.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),r(w.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+w.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),r(w.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleMute+"</span>","</button>"),r(w.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume-{id}" class="plyr__sr-only">'+w.i18n.volume+"</label>",'<input id="volume-{id}" class="plyr__volume--input" type="range" min="'+w.volumeMin+'" max="'+w.volumeMax+'" value="'+w.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+w.volumeMax+'" value="'+w.volumeMin+'" role="presentation"></progress>',"</span>"),r(w.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleCaptions+"</span>","</button>"),r(w.controls,"settings")&&e.push('<div class="plyr__menu" data-plyr="settings">','<button type="button" id="plyr-settings-toggle-{id}" aria-haspopup="true" aria-controls="plyr-settings-{id}" aria-expanded="false">','<svg><use xlink:href="'+n+'-settings" /></svg>','<span class="plyr__sr-only">'+w.i18n.settings+"</span>","</button>",'<div class="plyr__menu__container" id="plyr-settings-{id}" aria-hidden="true" aria-labelled-by="plyr-settings-toggle-{id}" role="tablist" tabindex="-1">',"<div>",'<div class="plyr__menu__primary" id="plyr-settings-{id}-primary" aria-hidden="false" aria-labelled-by="plyr-settings-toggle-{id}" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-captions-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-captions" aria-expanded="false">',w.i18n.captions+' <span class="plyr__menu__btn__value">{lang}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-speed-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-speed" aria-expanded="false">',w.i18n.speed+' <span class="plyr__menu__btn__value">{speed}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-quality-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-quality" aria-expanded="false">',w.i18n.quality+' <span class="plyr__menu__btn__value">Auto</span>',"</button>","</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-captions" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-captions-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.captions,"</button>","</li>","<li>",'<button type="button">English</button>',"</li>","<li>",'<button type="button">Off</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-speed" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-speed-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.speed,"</button>","</li>","<li>",'<button type="button">2&times;</button>',"</li>","<li>",'<button type="button">1.5&times;</button>',"</li>","<li>",'<button type="button">1&times;</button>',"</li>","<li>",'<button type="button">0.5&times;</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-quality" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-quality-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',w.i18n.quality,"</button>","</li>","<li>",'<button type="button">1080P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">720P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">480P</button>',"</li>","<li>",'<button type="button">320P</button>',"</li>","</ul>","</div>","</div>","</div>","</div>"),r(w.controls,"pip")&&M.pip&&e.push('<button type="button" data-plyr="pip">','<svg><use xlink:href="'+n+'-pip" /></svg>','<span class="plyr__sr-only">PIP</span>',"</button>"),r(w.controls,"airplay")&&M.airplay&&e.push('<button type="button" data-plyr="airplay">','<svg><use xlink:href="'+n+'-airplay" /></svg>','<span class="plyr__sr-only">AirPlay</span>',"</button>"),r(w.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+w.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function q(){if(Ue.supported.full&&("audio"!==Ue.type||w.fullscreen.allowAudio)&&w.fullscreen.enabled){var e=M.fullscreen;e||w.fullscreen.fallback&&!B()?(Ke((e?"Native":"Fallback")+" fullscreen enabled"),d(Ue.container,w.classes.fullscreen.enabled,!0)):Ke("Fullscreen not supported and fallback disabled"),Ue.buttons&&Ue.buttons.fullscreen&&_(Ue.buttons.fullscreen,!1),X()}}function j(e){P.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?R(e.activeCues[0].getCueAsHTML()):R()}function V(){if("video"===Ue.type){Y(w.selectors.captions)||Ue.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+p(w.selectors.captions)+'"></div>'),Ue.usingTextTracks=!1,Ue.media.textTracks&&(Ue.usingTextTracks=!0);var e=[],t="";if(Ue.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Ue.captionExists=!0,0===e.length?(Ue.captionExists=!1,Ke("No caption track found")):w.captions.selectedIndex+1>e.length?(Ue.captionExists=!1,Ke("Caption index out of bound")):(t=e[w.captions.selectedIndex],Ke("Caption track found; URI: "+t)),Ue.captionExists){var n=Ue.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",j),e.mode="hidden"}),H(Ue),(Ue.browser.isIE&&Ue.browser.version>=10||Ue.browser.isFirefox&&Ue.browser.version>=31)&&(Ke("Detected browser with known TextTrack issues - using manual fallback"),Ue.usingTextTracks=!1),Ue.usingTextTracks){Ke("TextTracks supported");var a=n[w.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",j),a.activeCues&&a.activeCues.length>0&&j(a))}else if(Ke("TextTracks not supported so rendering captions manually"),Ue.currentCaption="",Ue.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e,t=[],n=r.responseText,a="\r\n";n.indexOf(a+a)===-1&&(a=n.indexOf("\r\r")!==-1?"\r":"\n"),t=n.split(a+a);for(var s=0;s<t.length;s++){e=t[s],Ue.captions[s]=[];var i=e.split(a),o=0;i[o].indexOf(":")===-1&&(o=1),Ue.captions[s]=[i[o],i[o+1]]}Ue.captions.shift(),Ke("Successfully loaded the caption file via AJAX")}else $e(w.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Ue.container,w.classes.captions.enabled)}}function R(e){var n=Y(w.selectors.captions),a=t.createElement("span");n.innerHTML="",P.undefined(e)&&(e=""),P.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function D(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;a<n.length;a++)n[a]=n[a].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return r(n[t])}function n(e){return t(e,0)}function a(e){return t(e,1)}function r(e){if(null===e||void 0===e)return 0;var t,n=[],a=[];return n=e.split(","),a=n[0].split(":"),t=Math.floor(60*a[0]*60)+Math.floor(60*a[1])+Math.floor(a[2])}if(!Ue.usingTextTracks&&"video"===Ue.type&&Ue.supported.full&&(Ue.subcount=0,e=P.number(e)?e:Ue.media.currentTime,Ue.captions[Ue.subcount])){for(;a(Ue.captions[Ue.subcount][0])<e.toFixed(1);)if(Ue.subcount++,Ue.subcount>Ue.captions.length-1){Ue.subcount=Ue.captions.length-1;break}Ue.media.currentTime.toFixed(1)>=n(Ue.captions[Ue.subcount][0])&&Ue.media.currentTime.toFixed(1)<=a(Ue.captions[Ue.subcount][0])?(Ue.currentCaption=Ue.captions[Ue.subcount][1],R(Ue.currentCaption)):R()}}function H(){if(Ue.buttons.captions){d(Ue.container,w.classes.captions.enabled,!0);var e=Ue.storage.captionsEnabled;P.boolean(e)||(e=w.captions.defaultActive),e&&(d(Ue.container,w.classes.captions.active,!0),_(Ue.buttons.captions,!0))}}function W(e){return Ue.container.querySelectorAll(e)}function Y(e){return W(e)[0]}function B(){try{return e.self!==e.top}catch(e){return!0}}function X(){function e(e){9===e.which&&Ue.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=W("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Ue.container,"keydown",e)}function U(e,t){if(P.string(t))c(e,Ue.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Ue.media,t[n])}function J(){if(w.loadSprite){var e=O();e.absolute?(Ke("AJAX loading absolute SVG sprite"+(Ue.browser.isIE?" (due to IE)":"")),T(e.url,"sprite-plyr")):Ke("Sprite will be used as external resource directly")}var n=w.html;Ke("Injecting custom controls"),n||(n=L()),n=s(n,"{seektime}",w.seekTime),n=s(n,"{speed}",w.currentSpeed.toFixed(1).toString().replace(".0","")+"&times;"),n=s(n,"{lang}","English"),n=s(n,"{id}",Math.floor(1e4*Math.random()));var a;if(P.string(w.selectors.controls.container)&&(a=t.querySelector(w.selectors.controls.container)),P.htmlElement(a)||(a=Ue.container),a.insertAdjacentHTML("beforeend",n),w.tooltips.controls)for(var r=W([w.selectors.controls.wrapper," ",w.selectors.labels," .",w.classes.hidden].join("")),i=r.length-1;i>=0;i--){var o=r[i];d(o,w.classes.hidden,!1),d(o,w.classes.tooltip,!0)}}function z(){try{return Ue.controls=Y(w.selectors.controls.wrapper),Ue.buttons={seek:Y(w.selectors.buttons.seek),play:W(w.selectors.buttons.play),pause:Y(w.selectors.buttons.pause),restart:Y(w.selectors.buttons.restart),rewind:Y(w.selectors.buttons.rewind),forward:Y(w.selectors.buttons.forward),fullscreen:Y(w.selectors.buttons.fullscreen),settings:Y(w.selectors.buttons.settings),pip:Y(w.selectors.buttons.pip)},Ue.buttons.mute=Y(w.selectors.buttons.mute),Ue.buttons.captions=Y(w.selectors.buttons.captions),Ue.progress={container:Y(w.selectors.progress.container)},Ue.progress.buffer=function(){var e=Y(w.selectors.progress.buffer);return{bar:e,text:P.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Ue.progress.played=Y(w.selectors.progress.played),Ue.progress.tooltip=Ue.progress.container&&Ue.progress.container.querySelector("."+w.classes.tooltip),Ue.volume={input:Y(w.selectors.volume.input),display:Y(w.selectors.volume.display)},Ue.duration=Y(w.selectors.duration),Ue.currentTime=Y(w.selectors.currentTime),Ue.seekTime=W(w.selectors.seekTime),!0}catch(e){return $e("It looks like there is a problem with your controls HTML",e),$(!0),!1}}function K(){d(Ue.container,w.selectors.container.replace(".",""),Ue.supported.full)}function $(e){e&&r(w.types.html5,Ue.type)?Ue.media.setAttribute("controls",""):Ue.media.removeAttribute("controls")}function G(e){var t=w.i18n.play;if(P.string(w.title)&&w.title.length&&(t+=", "+w.title,Ue.container.setAttribute("aria-label",w.title)),Ue.supported.full&&Ue.buttons.play)for(var n=Ue.buttons.play.length-1;n>=0;n--)Ue.buttons.play[n].setAttribute("aria-label",t);P.htmlElement(e)&&e.setAttribute("title",w.i18n.frameTitle.replace("{title}",w.title))}function Q(){var t=null;Ue.storage={},M.storage&&w.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(w.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?Z({volume:parseFloat(t)}):Ue.storage=JSON.parse(t)))}function Z(t){M.storage&&w.storage.enabled&&(x(Ue.storage,t),e.localStorage.setItem(w.storage.key,JSON.stringify(Ue.storage)))}function ee(){if(!Ue.media)return void $e("No media element found!");if(Ue.supported.full&&(d(Ue.container,w.classes.type.replace("{0}",Ue.type),!0),r(w.types.embed,Ue.type)&&d(Ue.container,w.classes.type.replace("{0}","video"),!0),d(Ue.container,w.classes.pip.enabled,M.pip),d(Ue.container,w.classes.stopped,w.autoplay),d(Ue.ontainer,w.classes.isIos,Ue.browser.isIos),d(Ue.container,w.classes.isTouch,Ue.browser.isTouch),"video"===Ue.type)){var e=t.createElement("div");e.setAttribute("class",w.classes.videoWrapper),i(Ue.media,e),Ue.videoContainer=e}r(w.types.embed,Ue.type)&&te()}function te(){for(var n=t.createElement("div"),r=Ue.embedId,s=Ue.type+"-"+Math.floor(1e4*Math.random()),i=W('[id^="'+Ue.type+'-"]'),l=i.length-1;l>=0;l--)o(i[l]);if(d(Ue.media,w.classes.videoWrapper,!0),d(Ue.media,w.classes.embedWrapper,!0),"youtube"===Ue.type)Ue.media.appendChild(n),n.setAttribute("id",s),P.object(e.YT)?ae(r,n):(a(w.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){ae(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ue.type)if(Ue.supported.full?Ue.media.appendChild(n):n=Ue.media,n.setAttribute("id",s),P.object(e.Vimeo))re(r,n);else{a(w.urls.vimeo.api);var c=e.setInterval(function(){P.object(e.Vimeo)&&(e.clearInterval(c),re(r,n))},50)}else if("soundcloud"===Ue.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(p),Ue.media.appendChild(n),e.SC||a(w.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),se.call(p))},50)}}function ne(){Ue.supported.full&&(Ye(),Be()),G(Y("iframe"))}function ae(t,n){Ue.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:w.autoplay?1:0,controls:Ue.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:w.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){S(Ue.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ue.media.play=function(){n.playVideo(),Ue.media.paused=!1},Ue.media.pause=function(){n.pauseVideo(),Ue.media.paused=!0},Ue.media.stop=function(){n.stopVideo(),Ue.media.paused=!0},Ue.media.duration=n.getDuration(),Ue.media.paused=!0,Ue.media.currentTime=0,Ue.media.muted=n.isMuted(),w.title=n.getVideoData().title,Ue.supported.full&&Ue.media.querySelector("iframe").setAttribute("tabindex","-1"),ne(),S(Ue.media,"timeupdate"),S(Ue.media,"durationchange"),e.clearInterval(Je.buffering),Je.buffering=e.setInterval(function(){Ue.media.buffered=n.getVideoLoadedFraction(),(null===Ue.media.lastBuffered||Ue.media.lastBuffered<Ue.media.buffered)&&S(Ue.media,"progress"),Ue.media.lastBuffered=Ue.media.buffered,1===Ue.media.buffered&&(e.clearInterval(Je.buffering),S(Ue.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Je.playing),t.data){case 0:Ue.media.paused=!0,S(Ue.media,"ended");break;case 1:Ue.media.paused=!1,Ue.media.seeking=!1,S(Ue.media,"play"),S(Ue.media,"playing"),Je.playing=e.setInterval(function(){Ue.media.currentTime=n.getCurrentTime(),S(Ue.media,"timeupdate")},100),Ue.media.duration!==n.getDuration()&&(Ue.media.duration=n.getDuration(),S(Ue.media,"durationchange"));break;case 2:Ue.media.paused=!0,S(Ue.media,"pause")}S(Ue.container,"statechange",!1,{code:t.data})}}})}function re(t,n){Ue.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:w.loop,autoplay:w.autoplay,byline:!1,portrait:!1,title:!1}),Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.stop(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,ne(),Ue.embed.getCurrentTime().then(function(e){Ue.media.currentTime=e,S(Ue.media,"timeupdate")}),Ue.embed.getDuration().then(function(e){Ue.media.duration=e,S(Ue.media,"durationchange")}),Ue.embed.on("loaded",function(){P.htmlElement(Ue.embed.element)&&Ue.supported.full&&Ue.embed.element.setAttribute("tabindex","-1")}),Ue.embed.on("play",function(){Ue.media.paused=!1,S(Ue.media,"play"),S(Ue.media,"playing")}),Ue.embed.on("pause",function(){Ue.media.paused=!0,S(Ue.media,"pause")}),Ue.embed.on("timeupdate",function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.seconds,S(Ue.media,"timeupdate")}),Ue.embed.on("progress",function(e){Ue.media.buffered=e.percent,S(Ue.media,"progress"),1===parseInt(e.percent)&&S(Ue.media,"canplaythrough")}),Ue.embed.on("ended",function(){Ue.media.paused=!0,S(Ue.media,"ended")})}function se(){Ue.embed=e.SC.Widget(this),Ue.embed.bind(e.SC.Widget.Events.READY,function(){Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.seekTo(0),Ue.embed.pause(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,Ue.embed.getDuration(function(e){Ue.media.duration=e/1e3,ne()}),Ue.embed.getPosition(function(e){Ue.media.currentTime=e,S(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.PLAY,function(){Ue.media.paused=!1,S(Ue.media,"play"),S(Ue.media,"playing")}),Ue.embed.bind(e.SC.Widget.Events.PAUSE,function(){Ue.media.paused=!0,S(Ue.media,"pause")}),Ue.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.currentPosition/1e3,S(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Ue.media.buffered=e.loadProgress,S(Ue.media,"progress"),1===parseInt(e.loadProgress)&&S(Ue.media,"canplaythrough")}),Ue.embed.bind(e.SC.Widget.Events.FINISH,function(){Ue.media.paused=!0,S(Ue.media,"ended")})})}function ie(){"play"in Ue.media&&Ue.media.play()}function oe(){"pause"in Ue.media&&Ue.media.pause()}function le(e){return P.boolean(e)||(e=Ue.media.paused),e?ie():oe(),e}function ue(e){P.number(e)||(e=w.seekTime),de(Ue.media.currentTime-e)}function ce(e){P.number(e)||(e=w.seekTime),de(Ue.media.currentTime+e)}function pe(e){if(!P.array(w.speeds))return void $e("Invalid speeds format");if(!P.number(e)){var t=w.speeds.indexOf(w.currentSpeed);if(t!==-1){var n=t+1;n>=w.speeds.length&&(n=0),e=w.speeds[n]}else e=w.defaultSpeed}w.currentSpeed=e,Ue.media.playbackRate=e,Z({speed:e})}function de(e){var t=0,n=Ue.media.paused,a=me();P.number(e)?t=e:P.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Pe(t);try{Ue.media.currentTime=t.toFixed(4)}catch(e){}if(r(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.seekTo(t);break;case"vimeo":Ue.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ue.embed.seekTo(1e3*t)}n&&oe(),S(Ue.media,"timeupdate"),Ue.media.seeking=!0}Ke("Seeking to "+Ue.media.currentTime+" seconds"),D(t)}function me(){var e=parseInt(w.duration),t=0;return null===Ue.media.duration||isNaN(Ue.media.duration)||(t=Ue.media.duration),isNaN(e)?t:e}function fe(){d(Ue.container,w.classes.playing,!Ue.media.paused),d(Ue.container,w.classes.stopped,Ue.media.paused),Oe(Ue.media.paused)}function ye(){F={x:e.pageXOffset||0,y:e.pageYOffset||0}}function be(){e.scrollTo(F.x,F.y)}function ge(e){var n=M.fullscreen;if(n){if(!e||e.type!==A.eventType)return A.isFullScreen(Ue.container)?A.cancelFullScreen():(ye(),A.requestFullScreen(Ue.container)),void(Ue.isFullscreen=A.isFullScreen(Ue.container));Ue.isFullscreen=A.isFullScreen(Ue.container)}else Ue.isFullscreen=!Ue.isFullscreen,t.body.style.overflow=Ue.isFullscreen?"hidden":"";d(Ue.container,w.classes.fullscreen.active,Ue.isFullscreen),X(Ue.isFullscreen),Ue.buttons&&Ue.buttons.fullscreen&&_(Ue.buttons.fullscreen,Ue.isFullscreen),S(Ue.container,Ue.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ue.isFullscreen&&n&&be()}function ve(e){if(P.boolean(e)||(e=!Ue.media.muted),_(Ue.buttons.mute,e),Ue.media.muted=e,0===Ue.media.volume&&he(w.volume),r(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed[Ue.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.muted?0:parseFloat(w.volume/w.volumeMax))}S(Ue.media,"volumechange")}}function he(e){var t=w.volumeMax,n=w.volumeMin;if(P.undefined(e)&&(e=Ue.storage.volume),(null===e||isNaN(e))&&(e=w.volume),e>t&&(e=t),e<n&&(e=n),Ue.media.volume=parseFloat(e/t),Ue.volume.display&&(Ue.volume.display.value=e),r(w.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.setVolume(100*Ue.media.volume);break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.volume)}S(Ue.media,"volumechange")}0===e?Ue.media.muted=!0:Ue.media.muted&&e>0&&ve()}function _e(e){var t=Ue.media.muted?0:Ue.media.volume*w.volumeMax;P.number(e)||(e=w.volumeStep),he(t+e)}function ke(e){var t=Ue.media.muted?0:Ue.media.volume*w.volumeMax;P.number(e)||(e=w.volumeStep),he(t-e)}function xe(){var e=Ue.media.muted?0:Ue.media.volume*w.volumeMax;Ue.supported.full&&(Ue.volume.input&&(Ue.volume.input.value=e),Ue.volume.display&&(Ue.volume.display.value=e)),Z({volume:e}),d(Ue.container,w.classes.muted,0===e),Ue.supported.full&&Ue.buttons.mute&&_(Ue.buttons.mute,0===e)}function we(e){Ue.supported.full&&Ue.buttons.captions&&(P.boolean(e)||(e=Ue.container.className.indexOf(w.classes.captions.active)===-1),Ue.captionsEnabled=e,_(Ue.buttons.captions,Ue.captionsEnabled),d(Ue.container,w.classes.captions.active,Ue.captionsEnabled),S(Ue.container,Ue.captionsEnabled?"captionsenabled":"captionsdisabled",!0),Z({captionsEnabled:Ue.captionsEnabled}))}function Te(e){w.captions.selectedIndex=e,R(),V()}function Ee(e){var t="waiting"===e.type;clearTimeout(Je.loading),Je.loading=setTimeout(function(){d(Ue.container,w.classes.loading,t),Oe(t)},t?250:0)}function Se(e){if(Ue.supported.full){var t=Ue.progress.played,n=0,a=me();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ue.controls.pressed)return;n=k(Ue.media.currentTime,a),"timeupdate"===e.type&&Ue.buttons.seek&&(Ue.buttons.seek.value=n);break;case"playing":case"progress":t=Ue.progress.buffer,n=function(){var e=Ue.media.buffered;return e&&e.length?k(e.end(0),a):P.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Ue.supported.full){if(P.undefined(t)&&(t=0),P.undefined(e)){if(!Ue.progress||!Ue.progress.buffer)return;e=Ue.progress.buffer}P.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ae(e,t){if(t){isNaN(e)&&(e=0),Ue.secs=parseInt(e%60),Ue.mins=parseInt(e/60%60),Ue.hours=parseInt(e/60/60%60);var n=parseInt(me()/60/60%60)>0;Ue.secs=("0"+Ue.secs).slice(-2),Ue.mins=("0"+Ue.mins).slice(-2),t.innerHTML=(n?Ue.hours+":":"")+Ue.mins+":"+Ue.secs}}function Fe(){if(Ue.supported.full){var e=me()||0;!Ue.duration&&w.displayDuration&&Ue.media.paused&&Ae(e,Ue.currentTime),Ue.duration&&Ae(e,Ue.duration),Me()}}function Ie(e){Ae(Ue.media.currentTime,Ue.currentTime),e&&"timeupdate"===e.type&&Ue.media.seeking||Se(e)}function Pe(e){P.number(e)||(e=0);var t=me(),n=k(e,t);Ue.progress&&Ue.progress.played&&(Ue.progress.played.value=n),Ue.buttons&&Ue.buttons.seek&&(Ue.buttons.seek.value=n)}function Me(e){var t=me();if(w.tooltips.seek&&Ue.progress.container&&0!==t){var n=Ue.progress.container.getBoundingClientRect(),a=0,s=w.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Ue.progress.tooltip,s))return;a=Ue.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Ae(t/100*a,Ue.progress.tooltip),Ue.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Ue.progress.tooltip,s,"mouseenter"===e.type)}}function Ne(e){P.undefined(e)&&(e=Ue.storage.speed||w.defaultSpeed),pe(e)}function Oe(t){if(w.hideControls&&"audio"!==Ue.type){var n=0,a=!1,s=t,i=m(Ue.container,w.classes.loading);if(P.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,s=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=m(Ue.container,w.classes.hideControls)),e.clearTimeout(Je.hover),s||Ue.media.paused||i){if(d(Ue.container,w.classes.hideControls,!1),Ue.media.paused||i)return;Ue.browser.isTouch&&(n=3e3)}s&&Ue.media.paused||(Je.hover=e.setTimeout(function(){(!Ue.controls.pressed&&!Ue.controls.hover||a)&&d(Ue.container,w.classes.hideControls,!0)},n))}}function Le(e){if(!P.undefined(e))return void qe(e);var t;switch(Ue.type){case"youtube":t=Ue.embed.getVideoUrl();break;case"vimeo":Ue.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ue.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ue.media.currentSrc}return t||""}function qe(e){function n(){if(Ue.embed=null,o(Ue.media),"video"===Ue.type&&Ue.videoContainer&&o(Ue.videoContainer),Ue.container&&Ue.container.removeAttribute("class"),"type"in e&&(Ue.type=e.type,"video"===Ue.type)){var n=e.sources[0];"type"in n&&r(w.types.embed,n.type)&&(Ue.type=n.type)}switch(Ue.supported=E(Ue.type),Ue.type){case"video":Ue.media=t.createElement("video");break;case"audio":Ue.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ue.media=t.createElement("div"),Ue.embedId=e.sources[0].src}l(Ue.container,Ue.media),P.boolean(e.autoplay)&&(w.autoplay=e.autoplay),r(w.types.html5,Ue.type)&&(w.crossorigin&&Ue.media.setAttribute("crossorigin",""),w.autoplay&&Ue.media.setAttribute("autoplay",""),"poster"in e&&Ue.media.setAttribute("poster",e.poster),w.loop&&Ue.media.setAttribute("loop","")),d(Ue.container,w.classes.fullscreen.active,Ue.isFullscreen),d(Ue.container,w.classes.captions.active,Ue.captionsEnabled),K(),r(w.types.html5,Ue.type)&&U("source",e.sources),ee(),r(w.types.html5,Ue.type)&&("tracks"in e&&U("track",e.tracks),
-Ue.media.load()),(r(w.types.html5,Ue.type)||r(w.types.embed,Ue.type)&&!Ue.supported.full)&&(Ye(),Be()),w.title=e.title,G()}return P.object(e)&&"sources"in e&&e.sources.length?(d(Ue.container,w.classes.ready,!1),oe(),Pe(),Ce(),De(),void He(n,!1)):void $e("Invalid source format")}function je(e){"video"===Ue.type&&Ue.media.setAttribute("poster",e)}function Ve(){function n(){var e=le(),t=Ue.buttons[e?"play":"pause"],n=Ue.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,w.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,w.classes.tabFocus,!1),d(n,w.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function s(e){return e.keyCode?e.keyCode:e.which}function i(e){for(var t in Ue.buttons){var n=Ue.buttons[t];if(P.nodeList(n))for(var a=0;a<n.length;a++)d(n[a],w.classes.tabFocus,n[a]===e);else d(n,w.classes.tabFocus,n===e)}}function l(e){function t(){var e=Ue.media.duration;P.number(e)&&de(e/10*(n-48))}var n=s(e),a="keydown"===e.type,i=a&&n===c;if(P.number(n))if(a){var o=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(r(o,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:i||t();break;case 32:case 75:i||le();break;case 38:_e();break;case 40:ke();break;case 77:i||ve();break;case 39:ce();break;case 37:ue();break;case 70:ge();break;case 67:i||we()}!M.fullscreen&&Ue.isFullscreen&&27===n&&ge(),c=n}else c=null}var u=Ue.browser.isIE?"change":"input";if(w.keyboardShorcuts.focused){var c=null;w.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=s(e),n=a(),i=[48,49,50,51,52,53,54,56,57,75,77,70,67],o=C().length;1!==o||!r(i,t)||P.htmlElement(n)&&f(n,w.selectors.editable)||l(e)}),g(Ue.container,"keydown keyup",l)}g(e,"keyup",function(e){var t=s(e),n=a();9===t&&i(n)}),g(t.body,"click",function(){d(Y("."+w.classes.tabFocus),w.classes.tabFocus,!1)});for(var p in Ue.buttons){var b=Ue.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}y(Ue.buttons.play,"click",w.listeners.play,n),y(Ue.buttons.pause,"click",w.listeners.pause,n),y(Ue.buttons.restart,"click",w.listeners.restart,de),y(Ue.buttons.rewind,"click",w.listeners.rewind,ue),y(Ue.buttons.forward,"click",w.listeners.forward,ce),y(Ue.buttons.speed,"click",w.listeners.speed,pe),y(Ue.buttons.seek,u,w.listeners.seek,de),y(Ue.volume.input,u,w.listeners.volume,function(){he(Ue.volume.input.value)}),y(Ue.buttons.mute,"click",w.listeners.mute,ve),y(Ue.buttons.fullscreen,"click",w.listeners.fullscreen,ge),M.fullscreen&&g(t,A.eventType,ge),g(Ue.buttons.captions,"click",we),g(Ue.buttons.settings,"click",function(n){var a=this,r=n.target,s=t.getElementById(r.getAttribute("aria-controls")),i="false"===r.getAttribute("aria-expanded");if(P.htmlElement(s)){var l,u,c,p="tabpanel"===s.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=s.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),l=m.scrollWidth,u=m.scrollHeight,o(m)}s.setAttribute("aria-hidden",!i),r.setAttribute("aria-expanded",i),s.setAttribute("tabindex",0),p&&(c.style.width=l+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Ue.buttons.pip,"click",function(){Ue.media.webkitSetPresentationMode("picture-in-picture"===Ue.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Ue.progress.container,"mouseenter mouseleave mousemove",Me),w.hideControls&&(g(Ue.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Oe),g(Ue.controls,"mouseenter mouseleave",function(e){Ue.controls.hover="mouseenter"===e.type}),g(Ue.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Ue.controls.pressed=r(["mousedown","touchstart"],e.type)}),g(Ue.controls,"focus blur",Oe,!0)),g(Ue.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=w.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?ke(n):_e(n)),(e.deltaY>0||e.deltaX<0)&&(t?_e(n):ke(n))})}function Re(){if(g(Ue.media,"timeupdate seeking",Ie),g(Ue.media,"timeupdate",D),g(Ue.media,"durationchange loadedmetadata",Fe),g(Ue.media,"ended",function(){"video"===Ue.type&&w.showPosterOnEnd&&("video"===Ue.type&&R(),de(),Ue.media.load())}),g(Ue.media,"progress playing",Se),g(Ue.media,"volumechange",xe),g(Ue.media,"play pause ended",fe),g(Ue.media,"waiting canplay seeked",Ee),w.clickToPlay&&"audio"!==Ue.type){var e=Y("."+w.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){w.hideControls&&Ue.browser.isTouch&&!Ue.media.paused||(Ue.media.paused?ie():Ue.media.ended?(de(),ie()):oe())})}w.disableContextMenu&&g(Ue.media,"contextmenu",function(e){e.preventDefault()}),g(Ue.media,w.events.concat(["keyup","keydown"]).join(" "),function(e){S(Ue.container,e.type,!0)})}function De(){if(r(w.types.html5,Ue.type)){for(var e=Ue.media.querySelectorAll("source"),t=0;t<e.length;t++)o(e[t]);Ue.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Ue.media.load(),Ke("Cancelled network requests")}}function He(t,n){function a(){P.boolean(n)||(n=!0),P.function(t)&&t.call(ze),n&&(Ue.init=!1,Ue.container.parentNode.replaceChild(ze,Ue.container),S(ze,"destroyed",!0))}if(!Ue.init)return null;switch(Ue.type){case"youtube":e.clearInterval(Je.buffering),e.clearInterval(Je.playing),Ue.embed.destroy(),a();break;case"vimeo":Ue.embed.unload().then(a),e.setTimeout(a,200);break;case"video":case"audio":$(!0),a()}}function We(){if(Ue.init)return null;if(Ue.browser=n(),P.htmlElement(Ue.media)){Q();var e=b.tagName.toLowerCase();"div"===e?(Ue.type=b.getAttribute("data-type"),Ue.embedId=b.getAttribute("data-video-id"),b.removeAttribute("data-type"),b.removeAttribute("data-video-id")):(Ue.type=e,w.crossorigin=null!==b.getAttribute("crossorigin"),w.autoplay=w.autoplay||null!==b.getAttribute("autoplay"),w.loop=w.loop||null!==b.getAttribute("loop")),Ue.supported=E(Ue.type),Ue.supported.basic&&(Ue.container=i(b,t.createElement("div")),Ue.container.setAttribute("tabindex",0),K(),Ke(""+Ue.browser.name+" "+Ue.browser.version),ee(),(r(w.types.html5,Ue.type)||r(w.types.embed,Ue.type)&&!Ue.supported.full)&&(Ye(),Be(),G()),Ue.init=!0)}}function Ye(){if(!Ue.supported.full)return $e("Basic support only",Ue.type),o(Y(w.selectors.controls.wrapper)),o(Y(w.selectors.buttons.play)),void $(!0);var e=!W(w.selectors.controls.wrapper).length;e&&J(),z()&&(e&&Ve(),Re(),$(),q(),V(),he(),xe(),Ne(),Ie(),fe())}function Be(){e.setTimeout(function(){S(Ue.media,"ready")},0),d(Ue.media,I.classes.setup,!0),d(Ue.container,w.classes.ready,!0),Ue.media.plyr=Xe,w.autoplay&&ie()}var Xe,Ue=this,Je={};Ue.media=b;var ze=b.cloneNode(!0),Ke=function(){N("log",arguments)},$e=function(){N("warn",arguments)};return Ke("Config",w),Xe={getOriginal:function(){return ze},getContainer:function(){return Ue.container},getEmbed:function(){return Ue.embed},getMedia:function(){return Ue.media},getType:function(){return Ue.type},getDuration:me,getCurrentTime:function(){return Ue.media.currentTime},getVolume:function(){return Ue.media.volume},isMuted:function(){return Ue.media.muted},isReady:function(){return m(Ue.container,w.classes.ready)},isLoading:function(){return m(Ue.container,w.classes.loading)},isPaused:function(){return Ue.media.paused},on:function(e,t){return g(Ue.container,e,t),this},play:ie,pause:oe,stop:function(){oe(),de()},restart:de,rewind:ue,forward:ce,seek:de,source:Le,poster:je,setVolume:he,setSpeed:Ne,togglePlay:le,toggleMute:ve,toggleCaptions:we,toggleFullscreen:ge,toggleControls:Oe,setCaptionIndex:Te,isFullscreen:function(){return Ue.isFullscreen||!1},support:function(e){return M.mime(Ue,e)},destroy:He},We(),Ue.init?Xe:null}function T(e,n){var a=new XMLHttpRequest;if(!P.string(n)||!P.htmlElement(t.querySelector("#"+n))){var r=t.createElement("div");r.setAttribute("hidden",""),P.string(n)&&r.setAttribute("id",n),t.body.insertBefore(r,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){r.innerHTML=a.responseText},a.send())}}function E(e){var a,r,s=n(),i=s.isIE&&s.version<=9,o=s.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,r=a&&!i&&!l;break;case"audio":a=u,r=a&&!i;break;case"vimeo":case"youtube":case"soundcloud":a=!0,r=!i&&!o;break;default:a=u&&c,r=a&&!i}return{basic:a,full:r}}function S(e,n){function a(e,t){m(t,I.classes.hook)||r.push({target:e,media:t})}var r=[],s=[],i=[I.selectors.html5,I.selectors.embed].join(",");if(P.string(e)?e=t.querySelectorAll(e):P.htmlElement(e)?e=[e]:P.nodeList(e)||P.array(e)||P.string(e)||(P.undefined(n)&&P.object(e)&&(n=e),e=t.querySelectorAll(i)),P.nodeList(e)&&(e=Array.prototype.slice.call(e)),!E().basic||!e.length)return!1;for(var o=0;o<e.length;o++){var l=e[o],u=l.querySelectorAll(i);if(u.length)for(var c=0;c<u.length;c++)a(l,u[c]);else f(l,i)&&a(l,l)}return r.forEach(function(e){var t=e.target,a=e.media,r=!1;a===t&&(r=!0);var i={};try{i=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var o=x({},I,n,i);if(!o.enabled)return null;var l=new w(a,o);if(P.object(l)){if(o.debug){var u=o.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(l.getContainer(),u.join(" "),function(e){console.log([o.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(l.getContainer(),"setup",!0,{plyr:l}),s.push(l)}}),s}function C(e){if(P.string(e)?e=t.querySelector(e):P.undefined(e)&&(e=t.body),P.htmlElement(e)){var n=e.querySelectorAll("."+I.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){P.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var A,F={x:0,y:0},I={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.9/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',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"]',settings:'[data-plyr="settings"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",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",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"},tabFocus:"tab-focus"},captions:{defaultActive:!1,selectedIndex:0},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","settings","pip","airplay","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",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"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},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,speed:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","emptied"],logPrefix:"[Plyr]"},P={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},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&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof 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}};!function(){var e=function(){var e=!1;return P.function(t.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(n){return P.function(t[n+"CancelFullScreen"])?(e=n,!0):P.function(t.msExitFullscreen)&&t.msFullscreenEnabled?(e="ms",!0):void 0}),e}();A={eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!M.fullscreen)return!1;switch(P.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return!!M.fullscreen&&(P.htmlElement(n)||(n=t.body),console.log(e),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]())},cancelFullScreen:function(){return!!M.fullscreen&&(""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]())},element:function(){return M.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var M={fullscreen:A.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}(),pip:function(){return P.function(t.createElement("video").webkitSetPresentationMode)}(),airplay:function(){return P.function(e.WebKitPlaybackTargetAvailabilityEvent)}(),mime:function(e,t){var n=e.media;try{if(!P.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}};return{setup:S,supported:E,loadSprite:T,get:C}}),function(){function e(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}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,i=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",i="11"):(n=r.indexOf("MSIE"))!==-1?(l=!0,s="IE",i=r.substring(n+5)):(n=r.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",i=r.substring(n+7)):(n=r.indexOf("Safari"))!==-1?(d=!0,s="Safari",i=r.substring(n+7),(n=r.indexOf("Version"))!==-1&&(i=r.substring(n+8))):(n=r.indexOf("Firefox"))!==-1?(u=!0,s="Firefox",i=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),i=r.substring(n+1),s.toLowerCase()===s.toUpperCase()&&(s=navigator.appName)),(a=i.indexOf(";"))!==-1&&(i=i.substring(0,a)),(a=i.indexOf(" "))!==-1&&(i=i.substring(0,a)),o=parseInt(""+i,10),isNaN(o)&&(i=""+parseFloat(navigator.appVersion),o=parseInt(navigator.appVersion,10)),{name:s,version:o,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function r(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function s(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,i=r.nextSibling;return a.appendChild(r),i?s.insertBefore(a,i):s.appendChild(a),a}}function o(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,N.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),l(n,r)}function d(e){return e.replace(".","")}function p(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function f(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function y(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var s=t.split(" ");if(N.boolean(r)||(r=!1),e instanceof NodeList)for(var i=0;i<e.length;i++)e[i]instanceof Node&&b(e[i],arguments[1],arguments[2],arguments[3]);else for(var o=0;o<s.length;o++)e[a?"addEventListener":"removeEventListener"](s[o],n,r)}function g(e,t,n,a){N.undefined(e)||b(e,t,n,!0,a)}function v(e,t,n,a){N.undefined(e)||b(e,t,n,!1,a)}function h(e,t,n,a){if(e&&t){N.boolean(n)||(n=!1);var r=new CustomEvent(t,{bubbles:n,detail:a});e.dispatchEvent(r)}}function _(e,t){if(e)return t=N.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t}function k(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,a=0;a<n;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},x(t[s],r[s])):t[s]=r[s]}return t}}function w(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;return e.match(t)?RegExp.$2:e}function T(e){var t=/^.*(vimeo.com\/|video\/)(\d+).*/;return e.match(t)?RegExp.$2:e}function E(b,E){function A(e,t,n,a){h(e,t,n,x({},a,{plyr:$e}))}function L(t,n){E.debug&&e.console&&(n=Array.prototype.slice.call(n),N.string(E.logPrefix)&&E.logPrefix.length&&n.unshift(E.logPrefix),console[t].apply(console,n))}function q(){return{url:E.iconUrl,absolute:0===E.iconUrl.indexOf("http")||Je.browser.isIE}}function j(){var e=[],t=q(),n=(t.absolute?"":t.url)+"#"+E.iconPrefix;return r(E.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),r(E.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+E.i18n.restart+"</span>","</button>"),r(E.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+E.i18n.rewind+"</span>","</button>"),r(E.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+E.i18n.pause+"</span>","</button>"),r(E.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+E.i18n.forward+"</span>","</button>"),r(E.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek-{id}" class="plyr__sr-only">Seek</label>','<input id="seek-{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+E.i18n.buffered,"</progress>"),E.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),r(E.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),r(E.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),r(E.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleMute+"</span>","</button>"),r(E.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume-{id}" class="plyr__sr-only">'+E.i18n.volume+"</label>",'<input id="volume-{id}" class="plyr__volume--input" type="range" min="'+E.volumeMin+'" max="'+E.volumeMax+'" value="'+E.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+E.volumeMax+'" value="'+E.volumeMin+'" role="presentation"></progress>',"</span>"),r(E.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleCaptions+"</span>","</button>"),r(E.controls,"settings")&&e.push('<div class="plyr__menu" data-plyr="settings">','<button type="button" id="plyr-settings-toggle-{id}" aria-haspopup="true" aria-controls="plyr-settings-{id}" aria-expanded="false">','<svg><use xlink:href="'+n+'-settings" /></svg>','<span class="plyr__sr-only">'+E.i18n.settings+"</span>","</button>",'<div class="plyr__menu__container" id="plyr-settings-{id}" aria-hidden="true" aria-labelled-by="plyr-settings-toggle-{id}" role="tablist" tabindex="-1">',"<div>",'<div class="plyr__menu__primary" id="plyr-settings-{id}-primary" aria-hidden="false" aria-labelled-by="plyr-settings-toggle-{id}" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-captions-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-captions" aria-expanded="false">',E.i18n.captions+' <span class="plyr__menu__btn__value">{lang}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-speed-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-speed" aria-expanded="false">',E.i18n.speed+' <span class="plyr__menu__btn__value">{speed}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--forward" id="plyr-settings-{id}-quality-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-quality" aria-expanded="false">',E.i18n.quality+' <span class="plyr__menu__btn__value">Auto</span>',"</button>","</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-captions" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-captions-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.captions,"</button>","</li>","<li>",'<button type="button">English</button>',"</li>","<li>",'<button type="button">Off</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-speed" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-speed-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.speed,"</button>","</li>","<li>",'<button type="button">2&times;</button>',"</li>","<li>",'<button type="button">1.5&times;</button>',"</li>","<li>",'<button type="button">1&times;</button>',"</li>","<li>",'<button type="button">0.5&times;</button>',"</li>","</ul>","</div>",'<div class="plyr__menu__secondary" id="plyr-settings-{id}-quality" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-quality-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__menu__btn plyr__menu__btn--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.quality,"</button>","</li>","<li>",'<button type="button">1080P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">720P <span class="plyr__menu__btn__badge"><span>HD</span></span></button>',"</li>","<li>",'<button type="button">480P</button>',"</li>","<li>",'<button type="button">320P</button>',"</li>","</ul>","</div>","</div>","</div>","</div>"),r(E.controls,"pip")&&O.pip&&e.push('<button type="button" data-plyr="pip">','<svg><use xlink:href="'+n+'-pip" /></svg>','<span class="plyr__sr-only">PIP</span>',"</button>"),r(E.controls,"airplay")&&O.airplay&&e.push('<button type="button" data-plyr="airplay">','<svg><use xlink:href="'+n+'-airplay" /></svg>','<span class="plyr__sr-only">AirPlay</span>',"</button>"),r(E.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function R(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=O.fullscreen;e||E.fullscreen.fallback&&!U()?(Ge((e?"Native":"Fallback")+" fullscreen enabled"),p(Je.container,E.classes.fullscreen.enabled,!0)):Ge("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),$()}}function V(e){N.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?H(e.activeCues[0].getCueAsHTML()):H()}function D(){if("video"===Je.type){X(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+d(E.selectors.captions)+'"></div>'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ge("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ge("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ge("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),Y(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ge("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ge("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ge("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e,t=[],n=r.responseText,a="\r\n";n.indexOf(a+a)===-1&&(a=n.indexOf("\r\r")!==-1?"\r":"\n"),t=n.split(a+a);for(var s=0;s<t.length;s++){e=t[s],Je.captions[s]=[];var i=e.split(a),o=0;i[o].indexOf(":")===-1&&(o=1),Je.captions[s]=[i[o],i[o+1]]}Je.captions.shift(),Ge("Successfully loaded the caption file via AJAX")}else Qe(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else p(Je.container,E.classes.captions.enabled)}}function H(e){var n=X(E.selectors.captions),a=t.createElement("span");n.innerHTML="",N.undefined(e)&&(e=""),N.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function W(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;a<n.length;a++)n[a]=n[a].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return r(n[t])}function n(e){return t(e,0)}function a(e){return t(e,1)}function r(e){if(null===e||void 0===e)return 0;var t,n=[],a=[];return n=e.split(","),a=n[0].split(":"),t=Math.floor(60*a[0]*60)+Math.floor(60*a[1])+Math.floor(a[2])}if(!Je.usingTextTracks&&"video"===Je.type&&Je.supported.full&&(Je.subcount=0,e=N.number(e)?e:Je.media.currentTime,Je.captions[Je.subcount])){for(;a(Je.captions[Je.subcount][0])<e.toFixed(1);)if(Je.subcount++,Je.subcount>Je.captions.length-1){Je.subcount=Je.captions.length-1;break}Je.media.currentTime.toFixed(1)>=n(Je.captions[Je.subcount][0])&&Je.media.currentTime.toFixed(1)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],H(Je.currentCaption)):H()}}function Y(){if(Je.buttons.captions){p(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;N.boolean(e)||(e=E.captions.defaultActive),e&&(p(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function B(e){return Je.container.querySelectorAll(e)}function X(e){return B(e)[0]}function U(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function J(e,t){if(N.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function z(){if(E.loadSprite){var e=q();e.absolute?(Ge("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ge("Sprite will be used as external resource directly")}var n=E.html;Ge("Injecting custom controls"),n||(n=j()),n=s(n,"{seektime}",E.seekTime),n=s(n,"{speed}",E.currentSpeed.toFixed(1).toString().replace(".0","")+"&times;"),n=s(n,"{lang}","English"),n=s(n,"{id}",Math.floor(1e4*Math.random()));var a;if(N.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),N.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),i=r.length-1;i>=0;i--){var o=r[i];p(o,E.classes.hidden,!1),p(o,E.classes.tooltip,!0)}}function K(){try{return Je.controls=X(E.selectors.controls.wrapper),Je.buttons={seek:X(E.selectors.buttons.seek),play:B(E.selectors.buttons.play),pause:X(E.selectors.buttons.pause),restart:X(E.selectors.buttons.restart),rewind:X(E.selectors.buttons.rewind),forward:X(E.selectors.buttons.forward),fullscreen:X(E.selectors.buttons.fullscreen),settings:X(E.selectors.buttons.settings),pip:X(E.selectors.buttons.pip)},Je.buttons.mute=X(E.selectors.buttons.mute),Je.buttons.captions=X(E.selectors.buttons.captions),Je.progress={container:X(E.selectors.progress.container)},Je.progress.buffer=function(){var e=X(E.selectors.progress.buffer);return{bar:e,text:N.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=X(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:X(E.selectors.volume.input),display:X(E.selectors.volume.display)},Je.duration=X(E.selectors.duration),Je.currentTime=X(E.selectors.currentTime),Je.seekTime=B(E.selectors.seekTime),!0}catch(e){return Qe("It looks like there is a problem with your controls HTML",e),Q(!0),!1}}function G(){p(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function Q(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(N.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.title)),Je.supported.full&&Je.buttons.play)for(var n=Je.buttons.play.length-1;n>=0;n--)Je.buttons.play[n].setAttribute("aria-label",t);N.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Je.storage={},O.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function te(t){O.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function ne(){if(!Je.media)return void Qe("No media element found!");if(Je.supported.full&&(p(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&p(Je.container,E.classes.type.replace("{0}","video"),!0),p(Je.container,E.classes.pip.enabled,O.pip),p(Je.container,E.classes.stopped,E.autoplay),p(Je.ontainer,E.classes.isIos,Je.browser.isIos),p(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&ae()}function ae(){var n,r=t.createElement("div"),s=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var i=B('[id^="'+Je.type+'-"]'),l=i.length-1;l>=0;l--)o(i[l]);if(p(Je.media,E.classes.videoWrapper,!0),p(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",s),N.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",s),N.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){N.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(m),oe.call(d))},50)}}function re(){Je.supported.full&&(Xe(),Ue()),Z(X("iframe"))}function se(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Je.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Je.media.play=function(){n.playVideo(),Je.media.paused=!1},Je.media.pause=function(){n.pauseVideo(),Je.media.paused=!0},Je.media.stop=function(){n.stopVideo(),Je.media.paused=!0},Je.media.duration=n.getDuration(),Je.media.paused=!0,Je.media.currentTime=0,Je.media.muted=n.isMuted(),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),re(),A(Je.media,"timeupdate"),A(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered<Je.media.buffered)&&A(Je.media,"progress"),Je.media.lastBuffered=Je.media.buffered,1===Je.media.buffered&&(e.clearInterval(ze.buffering),A(Je.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(ze.playing),t.data){case 0:Je.media.paused=!0,A(Je.media,"ended");break;case 1:Je.media.paused=!1,Je.media.seeking&&A(Je.media,"seeked"),Je.media.seeking=!1,A(Je.media,"play"),A(Je.media,"playing"),ze.playing=e.setInterval(function(){Je.media.currentTime=n.getCurrentTime(),A(Je.media,"timeupdate")},100),Je.media.duration!==n.getDuration()&&(Je.media.duration=n.getDuration(),A(Je.media,"durationchange"));break;case 2:Je.media.paused=!0,A(Je.media,"pause")}A(Je.container,"statechange",!1,{code:t.data})}}})}function ie(t,n){Je.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:E.loop,autoplay:E.autoplay,byline:!1,portrait:!1,title:!1}),Je.media.play=function(){Je.embed.play(),Je.media.paused=!1},Je.media.pause=function(){Je.embed.pause(),Je.media.paused=!0},Je.media.stop=function(){Je.embed.stop(),Je.media.paused=!0},Je.media.paused=!0,Je.media.currentTime=0,re(),Je.embed.getCurrentTime().then(function(e){Je.media.currentTime=e,A(Je.media,"timeupdate")}),Je.embed.getDuration().then(function(e){Je.media.duration=e,A(Je.media,"durationchange")}),Je.embed.on("loaded",function(){N.htmlElement(Je.embed.element)&&Je.supported.full&&Je.embed.element.setAttribute("tabindex","-1")}),Je.embed.on("play",function(){Je.media.paused=!1,A(Je.media,"play"),A(Je.media,"playing")}),Je.embed.on("pause",function(){Je.media.paused=!0,A(Je.media,"pause")}),Je.embed.on("timeupdate",function(e){Je.media.seeking=!1,Je.media.currentTime=e.seconds,A(Je.media,"timeupdate")}),Je.embed.on("progress",function(e){Je.media.buffered=e.percent,A(Je.media,"progress"),1===parseInt(e.percent)&&A(Je.media,"canplaythrough")}),Je.embed.on("seeked",function(){Je.media.seeking=!1,A(Je.media,"seeked"),A(Je.media,"play")}),Je.embed.on("ended",function(){Je.media.paused=!0,A(Je.media,"ended")})}function oe(){Je.embed=e.SC.Widget(this),Je.embed.bind(e.SC.Widget.Events.READY,function(){Je.media.play=function(){Je.embed.play(),Je.media.paused=!1},Je.media.pause=function(){Je.embed.pause(),Je.media.paused=!0},Je.media.stop=function(){Je.embed.seekTo(0),Je.embed.pause(),Je.media.paused=!0},Je.media.paused=!0,Je.media.currentTime=0,Je.embed.getDuration(function(e){Je.media.duration=e/1e3,re()}),Je.embed.getPosition(function(e){Je.media.currentTime=e,A(Je.media,"timeupdate")}),Je.embed.bind(e.SC.Widget.Events.PLAY,function(){Je.media.paused=!1,A(Je.media,"play"),A(Je.media,"playing")}),Je.embed.bind(e.SC.Widget.Events.PAUSE,function(){Je.media.paused=!0,A(Je.media,"pause")}),Je.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Je.media.seeking=!1,Je.media.currentTime=e.currentPosition/1e3,A(Je.media,"timeupdate")}),Je.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Je.media.buffered=e.loadProgress,A(Je.media,"progress"),1===parseInt(e.loadProgress)&&A(Je.media,"canplaythrough")}),Je.embed.bind(e.SC.Widget.Events.FINISH,function(){Je.media.paused=!0,A(Je.media,"ended")})})}function le(){"play"in Je.media&&Je.media.play()}function ue(){"pause"in Je.media&&Je.media.pause()}function ce(e){return N.boolean(e)||(e=Je.media.paused),e?le():ue(),e}function de(e){N.number(e)||(e=E.seekTime),fe(Je.media.currentTime-e)}function pe(e){N.number(e)||(e=E.seekTime),fe(Je.media.currentTime+e)}function me(e){if(!N.array(E.speeds))return void Qe("Invalid speeds format");if(!N.number(e)){var t=E.speeds.indexOf(E.currentSpeed);if(t!==-1){var n=t+1;n>=E.speeds.length&&(n=0),e=E.speeds[n]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,te({speed:e})}function fe(e){var t=0,n=Je.media.paused,a=ye();N.number(e)?t=e:N.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Ne(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&ue(),A(Je.media,"timeupdate"),Je.media.seeking=!0,A(Je.media,"seeking")}Ge("Seeking to "+Je.media.currentTime+" seconds"),W(t)}function ye(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function be(){p(Je.container,E.classes.playing,!Je.media.paused),p(Je.container,E.classes.stopped,Je.media.paused),qe(Je.media.paused)}function ge(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function he(e){var n=O.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(ge(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";p(Je.container,E.classes.fullscreen.active,Je.isFullscreen),$(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),A(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ve()}function _e(e){if(N.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&ke(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Je.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(N.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e<n&&(e=n),Je.media.volume=parseFloat(e/t),Je.volume.display&&(Je.volume.display.value=e),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.setVolume(100*Je.media.volume);break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.volume)}A(Je.media,"volumechange")}0===e?Je.media.muted=!0:Je.media.muted&&e>0&&_e()}function xe(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;N.number(e)||(e=E.volumeStep),ke(t+e)}function we(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;N.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),te({volume:e}),p(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ee(e){Je.supported.full&&Je.buttons.captions&&(N.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),p(Je.container,E.classes.captions.active,Je.captionsEnabled),A(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Je.captionsEnabled}))}function Se(e){E.captions.selectedIndex=e,H(),D()}function Ce(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){p(Je.container,E.classes.loading,t),qe(t)},t?250:0)}function Ae(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ye();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"timeupdate"===e.type&&Je.buttons.seek&&(Je.buttons.seek.value=n);break;case"playing":case"progress":t=Je.progress.buffer,n=function(){var e=Je.media.buffered;return e&&e.length?k(e.end(0),a):N.number(e)?100*e:0}()}Fe(t,n)}}function Fe(e,t){if(Je.supported.full){if(N.undefined(t)&&(t=0),N.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}N.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ie(e,t){if(t){isNaN(e)&&(e=0),Je.secs=parseInt(e%60),Je.mins=parseInt(e/60%60),Je.hours=parseInt(e/60/60%60);var n=parseInt(ye()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2),t.innerHTML=(n?Je.hours+":":"")+Je.mins+":"+Je.secs}}function Pe(){if(Je.supported.full){var e=ye()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Ie(e,Je.currentTime),Je.duration&&Ie(e,Je.duration),Oe()}}function Me(e){Ie(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Ae(e)}function Ne(e){N.number(e)||(e=0);var t=ye(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function Oe(e){var t=ye();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,s=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,s))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Ie(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&p(Je.progress.tooltip,s,"mouseenter"===e.type)}}function Le(e){N.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),me(e)}function qe(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,s=t,i=m(Je.container,E.classes.loading);if(N.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,s=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),s||Je.media.paused||i){if(p(Je.container,E.classes.hideControls,!1),Je.media.paused||i)return;Je.browser.isTouch&&(n=3e3)}s&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&p(Je.container,E.classes.hideControls,!0)},n))}}function je(e){if(!N.undefined(e))return void Re(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Je.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Je.media.currentSrc}return t||""}function Re(e){function n(){if(Je.embed=null,o(Je.media),"video"===Je.type&&Je.videoContainer&&o(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.type)}switch(Je.supported=C(Je.type),Je.type){case"video":Je.media=t.createElement("video");break;case"audio":Je.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Je.media=t.createElement("div"),Je.embedId=e.sources[0].src}l(Je.container,Je.media),N.boolean(e.autoplay)&&(E.autoplay=e.autoplay),
+r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop&&Je.media.setAttribute("loop","")),p(Je.container,E.classes.fullscreen.active,Je.isFullscreen),p(Je.container,E.classes.captions.active,Je.captionsEnabled),G(),r(E.types.html5,Je.type)&&J("source",e.sources),ne(),r(E.types.html5,Je.type)&&("tracks"in e&&J("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Xe(),Ue()),E.title=e.title,Z()}return N.object(e)&&"sources"in e&&e.sources.length?(p(Je.container,E.classes.ready,!1),ue(),Ne(),Fe(),We(),void Ye(n,!1)):void Qe("Invalid source format")}function Ve(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function De(){function n(){var e=ce(),t=Je.buttons[e?"play":"pause"],n=Je.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(p(t,E.classes.tabFocus,!1),p(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function s(e){return e.keyCode?e.keyCode:e.which}function i(e){for(var t in Je.buttons){var n=Je.buttons[t];if(N.nodeList(n))for(var a=0;a<n.length;a++)p(n[a],E.classes.tabFocus,n[a]===e);else p(n,E.classes.tabFocus,n===e)}}function l(e){function t(){var e=Je.media.duration;N.number(e)&&fe(e/10*(n-48))}var n=s(e),a="keydown"===e.type,i=a&&n===c;if(N.number(n))if(a){var o=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(r(o,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:i||t();break;case 32:case 75:i||ce();break;case 38:xe();break;case 40:we();break;case 77:i||_e();break;case 39:pe();break;case 37:de();break;case 70:he();break;case 67:i||Ee()}!O.fullscreen&&Je.isFullscreen&&27===n&&he(),c=n}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var c=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=s(e),n=a(),i=[48,49,50,51,52,53,54,56,57,75,77,70,67],o=F().length;1!==o||!r(i,t)||N.htmlElement(n)&&f(n,E.selectors.editable)||l(e)}),g(Je.container,"keydown keyup",l)}g(e,"keyup",function(e){var t=s(e),n=a();9===t&&i(n)}),g(t.body,"click",function(){p(X("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var d in Je.buttons){var b=Je.buttons[d];g(b,"blur",function(){p(b,"tab-focus",!1)})}y(Je.buttons.play,"click",E.listeners.play,n),y(Je.buttons.pause,"click",E.listeners.pause,n),y(Je.buttons.restart,"click",E.listeners.restart,fe),y(Je.buttons.rewind,"click",E.listeners.rewind,de),y(Je.buttons.forward,"click",E.listeners.forward,pe),y(Je.buttons.speed,"click",E.listeners.speed,me),y(Je.buttons.seek,u,E.listeners.seek,fe),y(Je.volume.input,u,E.listeners.volume,function(){ke(Je.volume.input.value)}),y(Je.buttons.mute,"click",E.listeners.mute,_e),y(Je.buttons.fullscreen,"click",E.listeners.fullscreen,he),O.fullscreen&&g(t,I.eventType,he),g(Je.buttons.captions,"click",Ee),g(Je.buttons.settings,"click",function(n){var a=this,r=n.target,s=t.getElementById(r.getAttribute("aria-controls")),i="false"===r.getAttribute("aria-expanded");if(N.htmlElement(s)){var l,u,c,d="tabpanel"===s.getAttribute("role");if(d){var p=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=p.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+p.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=p.scrollWidth+"px",c.style.height=p.scrollHeight+"px",p.setAttribute("aria-hidden",!0),p.setAttribute("tabindex",-1);var m=s.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),l=m.scrollWidth,u=m.scrollHeight,o(m)}s.setAttribute("aria-hidden",!i),r.setAttribute("aria-expanded",i),s.setAttribute("tabindex",0),d&&(c.style.width=l+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",Oe),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",qe),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=r(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",qe,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?we(n):xe(n)),(e.deltaY>0||e.deltaX<0)&&(t?xe(n):we(n))})}function He(){if(g(Je.media,"timeupdate seeking",Me),g(Je.media,"timeupdate",W),g(Je.media,"durationchange loadedmetadata",Pe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&H(),fe(),Je.media.load())}),g(Je.media,"progress playing",Ae),g(Je.media,"volumechange",Te),g(Je.media,"play pause ended",be),g(Je.media,"waiting canplay seeked",Ce),E.clickToPlay&&"audio"!==Je.type){var e=X("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?le():Je.media.ended?(fe(),le()):ue())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Je.container,e.type,!0)})}function We(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t<e.length;t++)o(e[t]);Je.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Je.media.load(),Ge("Cancelled network requests")}}function Ye(t,n){function a(){N.boolean(n)||(n=!0),N.function(t)&&t.call(Ke),n&&(Je.init=!1,Je.container.parentNode.replaceChild(Ke,Je.container),A(Ke,"destroyed",!0))}if(!Je.init)return null;switch(Je.type){case"youtube":e.clearInterval(ze.buffering),e.clearInterval(ze.playing),Je.embed.destroy(),a();break;case"vimeo":Je.embed.unload().then(a),e.setTimeout(a,200);break;case"video":case"audio":Q(!0),a()}}function Be(){if(Je.init)return null;if(Je.browser=n(),N.htmlElement(Je.media)){ee();var e=b.tagName.toLowerCase();"div"===e?(Je.type=b.getAttribute("data-type"),Je.embedId=b.getAttribute("data-video-id"),b.removeAttribute("data-type"),b.removeAttribute("data-video-id")):(Je.type=e,E.crossorigin=null!==b.getAttribute("crossorigin"),E.autoplay=E.autoplay||null!==b.getAttribute("autoplay"),E.loop=E.loop||null!==b.getAttribute("loop")),Je.supported=C(Je.type),Je.supported.basic&&(Je.container=i(b,t.createElement("div")),Je.container.setAttribute("tabindex",0),G(),Ge(""+Je.browser.name+" "+Je.browser.version),ne(),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Xe(),Ue(),Z()),Je.init=!0)}}function Xe(){if(!Je.supported.full)return Qe("Basic support only",Je.type),o(X(E.selectors.controls.wrapper)),o(X(E.selectors.buttons.play)),void Q(!0);var e=!B(E.selectors.controls.wrapper).length;e&&z(),K()&&(e&&De(),He(),Q(),R(),D(),ke(),Te(),Le(),Me(),be())}function Ue(){e.setTimeout(function(){A(Je.media,"ready")},0),p(Je.media,M.classes.setup,!0),p(Je.container,E.classes.ready,!0),Je.media.plyr=$e,E.autoplay&&le()}var $e,Je=this,ze={};Je.media=b;var Ke=b.cloneNode(!0),Ge=function(){L("log",arguments)},Qe=function(){L("warn",arguments)};return Ge("Config",E),$e={getOriginal:function(){return Ke},getContainer:function(){return Je.container},getEmbed:function(){return Je.embed},getMedia:function(){return Je.media},getType:function(){return Je.type},getDuration:ye,getCurrentTime:function(){return Je.media.currentTime},getVolume:function(){return Je.media.volume},isMuted:function(){return Je.media.muted},isReady:function(){return m(Je.container,E.classes.ready)},isLoading:function(){return m(Je.container,E.classes.loading)},isPaused:function(){return Je.media.paused},on:function(e,t){return g(Je.container,e,t),this},play:le,pause:ue,stop:function(){ue(),fe()},restart:fe,rewind:de,forward:pe,seek:fe,source:je,poster:Ve,setVolume:ke,setSpeed:Le,togglePlay:ce,toggleMute:_e,toggleCaptions:Ee,toggleFullscreen:he,toggleControls:qe,setCaptionIndex:Se,isFullscreen:function(){return Je.isFullscreen||!1},support:function(e){return O.mime(Je,e)},destroy:Ye},Be(),Je.init?$e:null}function S(e,n){var a=new XMLHttpRequest;if(!N.string(n)||!N.htmlElement(t.querySelector("#"+n))){var r=t.createElement("div");r.setAttribute("hidden",""),N.string(n)&&r.setAttribute("id",n),t.body.insertBefore(r,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){r.innerHTML=a.responseText},a.send())}}function C(e){var a,r,s=n(),i=s.isIE&&s.version<=9,o=s.isIos,l=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,r=a&&!i&&!l;break;case"audio":a=u,r=a&&!i;break;case"vimeo":case"youtube":case"soundcloud":a=!0,r=!i&&!o;break;default:a=u&&c,r=a&&!i}return{basic:a,full:r}}function A(e,n){function a(e,t){m(t,M.classes.hook)||r.push({target:e,media:t})}var r=[],s=[],i=[M.selectors.html5,M.selectors.embed].join(",");if(N.string(e)?e=t.querySelectorAll(e):N.htmlElement(e)?e=[e]:N.nodeList(e)||N.array(e)||N.string(e)||(N.undefined(n)&&N.object(e)&&(n=e),e=t.querySelectorAll(i)),N.nodeList(e)&&(e=Array.prototype.slice.call(e)),!C().basic||!e.length)return!1;for(var o=0;o<e.length;o++){var l=e[o],u=l.querySelectorAll(i);if(u.length)for(var c=0;c<u.length;c++)a(l,u[c]);else f(l,i)&&a(l,l)}return r.forEach(function(e){var t=e.target,a=e.media,r=!1;a===t&&(r=!0);var i={};try{i=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var o=x({},M,n,i);if(!o.enabled)return null;var l=new E(a,o);if(N.object(l)){if(o.debug){var u=o.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(l.getContainer(),u.join(" "),function(e){console.log([o.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(l.getContainer(),"setup",!0,{plyr:l}),s.push(l)}}),s}function F(e){if(N.string(e)?e=t.querySelector(e):N.undefined(e)&&(e=t.body),N.htmlElement(e)){var n=e.querySelectorAll("."+M.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){N.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var I,P={x:0,y:0},M={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',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"]',settings:'[data-plyr="settings"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",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",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"},tabFocus:"tab-focus"},captions:{defaultActive:!1,selectedIndex:0},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","settings","pip","airplay","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",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"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},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,speed:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied"],logPrefix:"[Plyr]"},N={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},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&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof 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}};!function(){var e=function(){var e=!1;return N.function(t.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(n){return N.function(t[n+"CancelFullScreen"])?(e=n,!0):N.function(t.msExitFullscreen)&&t.msFullscreenEnabled?(e="ms",!0):void 0}),e}();I={eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!O.fullscreen)return!1;switch(N.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return!!O.fullscreen&&(N.htmlElement(n)||(n=t.body),console.log(e),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]())},cancelFullScreen:function(){return!!O.fullscreen&&(""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]())},element:function(){return O.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var O={fullscreen:I.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}(),pip:function(){return N.function(t.createElement("video").webkitSetPresentationMode)}(),airplay:function(){return N.function(e.WebKitPlaybackTargetAvailabilityEvent)}(),mime:function(e,t){var n=e.media;try{if(!N.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}};return{setup:A,supported:C,loadSprite:S,get:F}}),function(){function e(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}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
diff --git a/package.json b/package.json
index f752f2d2..08ab7709 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "plyr",
- "version": "2.0.9",
+ "version": "2.0.10",
"description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player",
"homepage": "http://plyr.io",
"main": "src/js/plyr.js",
diff --git a/readme.md b/readme.md
index f62924d2..156e77f6 100644
--- a/readme.md
+++ b/readme.md
@@ -30,13 +30,23 @@ Oh and yes, it works with Bootstrap.
## Changelog
Check out the [changelog](changelog.md) to see what's new with Plyr.
-## Planned Development
-- Playback speed
-- Quality selection
+## Features currently being developed
+- Playback speed selection
+- Quality selection
+- Caption language selection
+- AirPlay
+- Picture in Picture (MacOS Sierra + Safari)
+
+[more info](https://github.com/Selz/plyr/issues?q=is%3Aissue+is%3Aopen+label%3A%22In+Development%22)
+
+## Planned features
- Playlists
-- Multiple language captions (with selection)
+- Google cast
+- Facebook video support
+- Wistia video support
+- YouTube and Vimeo audio support
- Audio captions
-... and whatever else has been raised in [issues](https://github.com/Selz/plyr/issues)
+...and whatever else has been raised in [issues](https://github.com/Selz/plyr/issues)
If you have any cool ideas or features, please let me know by [creating an issue](https://github.com/Selz/plyr/issues/new) or, of course, forking and sending a pull request.
@@ -106,10 +116,13 @@ For YouTube and Vimeo, Plyr uses the standard YouTube API markup (an empty `<div
<div data-type="youtube" data-video-id="bTqVqk7FSmY"></div>
```
+Note: `data-video-id` value can now be the ID or URL for the video. This attribute name will change in a future release to reflect this change.
+
#### Vimeo embed
```html
<div data-type="vimeo" data-video-id="143418951"></div>
```
+Note: `data-video-id` value can now be the ID or URL for the video. This attribute name will change in a future release to reflect this change.
### JavaScript
Include the `plyr.js` script before the closing `</body>` tag and then call `plyr.setup()`. More info on `setup()` can be found under [initialising](#initialising).
@@ -122,7 +135,7 @@ Include the `plyr.js` script before the closing `</body>` tag and then call `ply
If you want to use our CDN for the JavaScript, you can use the following:
```html
-<script src="https://cdn.plyr.io/2.0.9/plyr.js"></script>
+<script src="https://cdn.plyr.io/2.0.10/plyr.js"></script>
```
### CSS
@@ -135,11 +148,11 @@ Include the `plyr.css` stylsheet into your `<head>`
If you want to use our CDN for the default CSS, you can use the following:
```html
-<link rel="stylesheet" href="https://cdn.plyr.io/2.0.9/plyr.css">
+<link rel="stylesheet" href="https://cdn.plyr.io/2.0.10/plyr.css">
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN. To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.9/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN. To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.10/plyr.svg`.
## Advanced
@@ -687,6 +700,8 @@ player.source({
});
```
+Note: `src` can be the video ID or URL
+
Vimeo example
```javascript
@@ -700,7 +715,9 @@ player.source({
});
```
-Some more details on the object parameters
+Note: `src` can be the video ID or URL
+
+More details on the object parameters
<table class="table" width="100%">
<thead>
@@ -724,7 +741,7 @@ Some more details on the object parameters
<tr>
<td><code>sources</code></td>
<td>Array</td>
- <td>This is an array of sources. <code>type</code> is optional for YouTube and Vimeo when specifying an array. For YouTube and Vimeo media, only the video ID must be passed as the source as shown above. The keys of this object are mapped directly to HTML attributes so more can be added to the object if required.</td>
+ <td>This is an array of sources. <code>type</code> is optional for YouTube and Vimeo when specifying an array. For YouTube and Vimeo media, the video ID or URL must be passed as the source as shown above. The keys of this object are mapped directly to HTML attributes so more can be added to the object if required.</td>
</tr>
<tr>
<td><code>poster</code></td>
@@ -787,7 +804,7 @@ These events also bubble up the DOM. The event target will be the container elem
<tr>
<td><code>ended</code></td>
<td></td>
- <td>Sent when playback completes.</td>
+ <td>Sent when playback completes. Note: with Vimeo this does not occur if `loop` is enabled.</td>
</tr>
<tr>
<td><code>error</code></td>
@@ -831,12 +848,12 @@ These events also bubble up the DOM. The event target will be the container elem
</tr>
<tr>
<td><code>seeked</code></td>
- <td>✔</td>
+ <td></td>
<td>Sent when a seek operation completes.</td>
</tr>
<tr>
<td><code>seeking</code></td>
- <td>✔</td>
+ <td></td>
<td>Sent when a seek operation begins.</td>
</tr>
<tr>
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 60385711..6cf4d5b9 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1,6 +1,6 @@
// ==========================================================================
// Plyr
-// plyr.js v2.0.9
+// plyr.js v2.0.10
// https://github.com/selz/plyr
// License: The MIT License (MIT)
// ==========================================================================
@@ -45,7 +45,7 @@
displayDuration: true,
loadSprite: true,
iconPrefix: 'plyr',
- iconUrl: 'https://cdn.plyr.io/2.0.9/plyr.svg',
+ iconUrl: 'https://cdn.plyr.io/2.0.10/plyr.svg',
clickToPlay: true,
hideControls: true,
showPosterOnEnd: false,
@@ -190,7 +190,7 @@
speed: null
},
// Events to watch on HTML5 media elements
- events: ['ready', 'ended', 'progress', 'stalled', 'playing', 'waiting', 'canplay', 'canplaythrough', 'loadstart', 'loadeddata', 'loadedmetadata', 'timeupdate', 'volumechange', 'play', 'pause', 'error', 'seeking', 'emptied'],
+ events: ['ready', 'ended', 'progress', 'stalled', 'playing', 'waiting', 'canplay', 'canplaythrough', 'loadstart', 'loadeddata', 'loadedmetadata', 'timeupdate', 'volumechange', 'play', 'pause', 'error', 'seeking', 'seeked', 'emptied'],
// Logging
logPrefix: '[Plyr]'
};
@@ -576,6 +576,18 @@
}
};
+ // Parse YouTube ID from url
+ function _parseYouTubeId(url) {
+ var regex = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
+ return (url.match(regex)) ? RegExp.$2 : url;
+ }
+
+ // Parse Vimeo ID from url
+ function _parseVimeoId(url) {
+ var regex = /^.*(vimeo.com\/|video\/)(\d+).*/;
+ return (url.match(regex)) ? RegExp.$2 : url;
+ }
+
// Fullscreen API
var _fullscreen;
(function() {
@@ -1688,9 +1700,23 @@
// Setup YouTube/Vimeo
function _setupEmbed() {
var container = document.createElement('div'),
- mediaId = plyr.embedId,
+ mediaId,
id = plyr.type + '-' + Math.floor(Math.random() * (10000));
+ // Parse IDs from URLs if supplied
+ switch (plyr.type) {
+ case 'youtube':
+ mediaId = _parseYouTubeId(plyr.embedId);
+ break;
+
+ case 'vimeo':
+ mediaId = _parseVimeoId(plyr.embedId);
+ break;
+
+ default:
+ mediaId = plyr.embedId;
+ }
+
// Remove old containers
var containers = _getElements('[id^="' + plyr.type + '-"]');
for (var i = containers.length - 1; i >= 0; i--) {
@@ -1907,6 +1933,12 @@
case 1:
plyr.media.paused = false;
+
+ // If we were seeking, fire seeked event
+ if (plyr.media.seeking) {
+ _triggerEvent(plyr.media, 'seeked');
+ }
+
plyr.media.seeking = false;
_triggerEvent(plyr.media, 'play');
_triggerEvent(plyr.media, 'playing');
@@ -2031,6 +2063,12 @@
}
});
+ plyr.embed.on('seeked', function() {
+ plyr.media.seeking = false;
+ _triggerEvent(plyr.media, 'seeked');
+ _triggerEvent(plyr.media, 'play');
+ });
+
plyr.embed.on('ended', function() {
plyr.media.paused = true;
_triggerEvent(plyr.media, 'ended');
@@ -2222,7 +2260,6 @@
// Embeds
if (_inArray(config.types.embed, plyr.type)) {
- // YouTube
switch(plyr.type) {
case 'youtube':
plyr.embed.seekTo(targetTime);
@@ -2242,11 +2279,14 @@
_pause();
}
- // Trigger timeupdate for embeds
+ // Trigger timeupdate
_triggerEvent(plyr.media, 'timeupdate');
// Set seeking flag
plyr.media.seeking = true;
+
+ // Trigger seeking
+ _triggerEvent(plyr.media, 'seeking');
}
// Logging