From ccbeaf4c32a70cfd89c5af5c8c65b0b90f0c9252 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Wed, 26 Mar 2014 15:20:12 +0100 Subject: [PATCH] optimization, only declare background creation method once --- js/reveal.js | 103 +++++++++++++++++++++++++---------------------- js/reveal.min.js | 6 +-- 2 files changed, 57 insertions(+), 52 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index ffcb489..40d26df 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -425,71 +425,26 @@ var Reveal = (function(){ dom.background.innerHTML = ''; dom.background.classList.add( 'no-transition' ); - // Helper method for creating a background element for the - // given slide - function _createBackground( slide, container ) { - - var data = { - background: slide.getAttribute( 'data-background' ), - backgroundSize: slide.getAttribute( 'data-background-size' ), - backgroundImage: slide.getAttribute( 'data-background-image' ), - backgroundColor: slide.getAttribute( 'data-background-color' ), - backgroundRepeat: slide.getAttribute( 'data-background-repeat' ), - backgroundPosition: slide.getAttribute( 'data-background-position' ), - backgroundTransition: slide.getAttribute( 'data-background-transition' ) - }; - - var element = document.createElement( 'div' ); - element.className = 'slide-background'; - - if( data.background ) { - // Auto-wrap image urls in url(...) - if( /^(http|file|\/\/)/gi.test( data.background ) || /\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test( data.background ) ) { - element.style.backgroundImage = 'url('+ data.background +')'; - } - else { - element.style.background = data.background; - } - } - - if( data.background || data.backgroundColor || data.backgroundImage ) { - element.setAttribute( 'data-background-hash', data.background + data.backgroundSize + data.backgroundImage + data.backgroundColor + data.backgroundRepeat + data.backgroundPosition + data.backgroundTransition ); - } - - // Additional and optional background properties - if( data.backgroundSize ) element.style.backgroundSize = data.backgroundSize; - if( data.backgroundImage ) element.style.backgroundImage = 'url("' + data.backgroundImage + '")'; - if( data.backgroundColor ) element.style.backgroundColor = data.backgroundColor; - if( data.backgroundRepeat ) element.style.backgroundRepeat = data.backgroundRepeat; - if( data.backgroundPosition ) element.style.backgroundPosition = data.backgroundPosition; - if( data.backgroundTransition ) element.setAttribute( 'data-background-transition', data.backgroundTransition ); - - container.appendChild( element ); - - return element; - - } - // Iterate over all horizontal slides toArray( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( slideh ) { var backgroundStack; if( isPrintingPDF() ) { - backgroundStack = _createBackground( slideh, slideh ); + backgroundStack = createBackground( slideh, slideh ); } else { - backgroundStack = _createBackground( slideh, dom.background ); + backgroundStack = createBackground( slideh, dom.background ); } // Iterate over all vertical slides toArray( slideh.querySelectorAll( 'section' ) ).forEach( function( slidev ) { if( isPrintingPDF() ) { - _createBackground( slidev, slidev ); + createBackground( slidev, slidev ); } else { - _createBackground( slidev, backgroundStack ); + createBackground( slidev, backgroundStack ); } } ); @@ -520,6 +475,56 @@ var Reveal = (function(){ } + /** + * Creates a background for the given slide. + * + * @param {HTMLElement} slide + * @param {HTMLElement} container The element that the background + * should be appended to + */ + function createBackground( slide, container ) { + + var data = { + background: slide.getAttribute( 'data-background' ), + backgroundSize: slide.getAttribute( 'data-background-size' ), + backgroundImage: slide.getAttribute( 'data-background-image' ), + backgroundColor: slide.getAttribute( 'data-background-color' ), + backgroundRepeat: slide.getAttribute( 'data-background-repeat' ), + backgroundPosition: slide.getAttribute( 'data-background-position' ), + backgroundTransition: slide.getAttribute( 'data-background-transition' ) + }; + + var element = document.createElement( 'div' ); + element.className = 'slide-background'; + + if( data.background ) { + // Auto-wrap image urls in url(...) + if( /^(http|file|\/\/)/gi.test( data.background ) || /\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test( data.background ) ) { + element.style.backgroundImage = 'url('+ data.background +')'; + } + else { + element.style.background = data.background; + } + } + + if( data.background || data.backgroundColor || data.backgroundImage ) { + element.setAttribute( 'data-background-hash', data.background + data.backgroundSize + data.backgroundImage + data.backgroundColor + data.backgroundRepeat + data.backgroundPosition + data.backgroundTransition ); + } + + // Additional and optional background properties + if( data.backgroundSize ) element.style.backgroundSize = data.backgroundSize; + if( data.backgroundImage ) element.style.backgroundImage = 'url("' + data.backgroundImage + '")'; + if( data.backgroundColor ) element.style.backgroundColor = data.backgroundColor; + if( data.backgroundRepeat ) element.style.backgroundRepeat = data.backgroundRepeat; + if( data.backgroundPosition ) element.style.backgroundPosition = data.backgroundPosition; + if( data.backgroundTransition ) element.setAttribute( 'data-background-transition', data.backgroundTransition ); + + container.appendChild( element ); + + return element; + + } + /** * Applies the configuration settings from the config * object. May be called multiple times. diff --git a/js/reveal.min.js b/js/reveal.min.js index ba9ab6d..549d755 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -1,9 +1,9 @@ /*! - * reveal.js 2.7.0-dev (2014-03-25, 21:37) + * reveal.js 2.7.0-dev (2014-03-26, 15:19) * http://lab.hakim.se/reveal-js * MIT licensed * * Copyright (C) 2014 Hakim El Hattab, http://hakim.se */ -var Reveal=function(){"use strict";function a(a){if(b(),!kc.transforms2d&&!kc.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",B,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,k(fc,a),k(fc,d),s(),c()}function b(){kc.transforms3d="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,kc.transforms2d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,kc.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,kc.requestAnimationFrame="function"==typeof kc.requestAnimationFrameMethod,kc.canvas=!!document.createElement("canvas").getContext,_b=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function c(){function a(){e.length&&head.js.apply(null,e),d()}function b(b){head.ready(b.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],function(){"function"==typeof b.callback&&b.callback.apply(this),0===--f&&a()})}for(var c=[],e=[],f=0,g=0,h=fc.dependencies.length;h>g;g++){var i=fc.dependencies[g];(!i.condition||i.condition())&&(i.async?e.push(i.src):c.push(i.src),b(i))}c.length?(f=c.length,head.js.apply(null,c)):a()}function d(){e(),T(),h(),gb(),$(!0),setTimeout(function(){jc.slides.classList.remove("no-transition"),gc=!0,u("ready",{indexh:Wb,indexv:Xb,currentSlide:Zb})},1)}function e(){jc.theme=document.querySelector("#theme"),jc.wrapper=document.querySelector(".reveal"),jc.slides=document.querySelector(".reveal .slides"),jc.slides.classList.add("no-transition"),jc.background=f(jc.wrapper,"div","backgrounds",null),jc.progress=f(jc.wrapper,"div","progress",""),jc.progressbar=jc.progress.querySelector("span"),f(jc.wrapper,"aside","controls",''),jc.slideNumber=f(jc.wrapper,"div","slide-number",""),f(jc.wrapper,"div","state-background",null),f(jc.wrapper,"div","pause-overlay",null),jc.controls=document.querySelector(".reveal .controls"),jc.controlsLeft=l(document.querySelectorAll(".navigate-left")),jc.controlsRight=l(document.querySelectorAll(".navigate-right")),jc.controlsUp=l(document.querySelectorAll(".navigate-up")),jc.controlsDown=l(document.querySelectorAll(".navigate-down")),jc.controlsPrev=l(document.querySelectorAll(".navigate-prev")),jc.controlsNext=l(document.querySelectorAll(".navigate-next"))}function f(a,b,c,d){var e=a.querySelector("."+c);return e||(e=document.createElement(b),e.classList.add(c),null!==d&&(e.innerHTML=d),a.appendChild(e)),e}function g(){function a(a,b){var c={background:a.getAttribute("data-background"),backgroundSize:a.getAttribute("data-background-size"),backgroundImage:a.getAttribute("data-background-image"),backgroundColor:a.getAttribute("data-background-color"),backgroundRepeat:a.getAttribute("data-background-repeat"),backgroundPosition:a.getAttribute("data-background-position"),backgroundTransition:a.getAttribute("data-background-transition")},d=document.createElement("div");return d.className="slide-background",c.background&&(/^(http|file|\/\/)/gi.test(c.background)||/\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(c.background)?d.style.backgroundImage="url("+c.background+")":d.style.background=c.background),(c.background||c.backgroundColor||c.backgroundImage)&&d.setAttribute("data-background-hash",c.background+c.backgroundSize+c.backgroundImage+c.backgroundColor+c.backgroundRepeat+c.backgroundPosition+c.backgroundTransition),c.backgroundSize&&(d.style.backgroundSize=c.backgroundSize),c.backgroundImage&&(d.style.backgroundImage='url("'+c.backgroundImage+'")'),c.backgroundColor&&(d.style.backgroundColor=c.backgroundColor),c.backgroundRepeat&&(d.style.backgroundRepeat=c.backgroundRepeat),c.backgroundPosition&&(d.style.backgroundPosition=c.backgroundPosition),c.backgroundTransition&&d.setAttribute("data-background-transition",c.backgroundTransition),b.appendChild(d),d}r()&&document.body.classList.add("print-pdf"),jc.background.innerHTML="",jc.background.classList.add("no-transition"),l(document.querySelectorAll(cc)).forEach(function(b){var c;c=r()?a(b,b):a(b,jc.background),l(b.querySelectorAll("section")).forEach(function(b){r()?a(b,b):a(b,c)})}),fc.parallaxBackgroundImage?(jc.background.style.backgroundImage='url("'+fc.parallaxBackgroundImage+'")',jc.background.style.backgroundSize=fc.parallaxBackgroundSize,setTimeout(function(){jc.wrapper.classList.add("has-parallax-background")},1)):(jc.background.style.backgroundImage="",jc.wrapper.classList.remove("has-parallax-background"))}function h(a){var b=document.querySelectorAll(bc).length;if(jc.wrapper.classList.remove(fc.transition),"object"==typeof a&&k(fc,a),kc.transforms3d===!1&&(fc.transition="linear"),jc.wrapper.classList.add(fc.transition),jc.wrapper.setAttribute("data-transition-speed",fc.transitionSpeed),jc.wrapper.setAttribute("data-background-transition",fc.backgroundTransition),jc.controls.style.display=fc.controls?"block":"none",jc.progress.style.display=fc.progress?"block":"none",fc.rtl?jc.wrapper.classList.add("rtl"):jc.wrapper.classList.remove("rtl"),fc.center?jc.wrapper.classList.add("center"):jc.wrapper.classList.remove("center"),fc.mouseWheel?(document.addEventListener("DOMMouseScroll",Hb,!1),document.addEventListener("mousewheel",Hb,!1)):(document.removeEventListener("DOMMouseScroll",Hb,!1),document.removeEventListener("mousewheel",Hb,!1)),fc.rollingLinks?v():w(),fc.previewLinks?x():(y(),x("[data-preview-link]")),ac&&(ac.destroy(),ac=null),b>1&&fc.autoSlide&&fc.autoSlideStoppable&&kc.canvas&&kc.requestAnimationFrame&&(ac=new Vb(jc.wrapper,function(){return Math.min(Math.max((Date.now()-qc)/oc,0),1)}),ac.on("click",Ub),rc=!1),fc.fragments===!1&&l(jc.slides.querySelectorAll(".fragment")).forEach(function(a){a.classList.add("visible"),a.classList.remove("current-fragment")}),fc.theme&&jc.theme){var c=jc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];fc.theme!==e&&(c=c.replace(d,fc.theme),jc.theme.setAttribute("href",c))}S()}function i(){if(nc=!0,window.addEventListener("hashchange",Pb,!1),window.addEventListener("resize",Qb,!1),fc.touch&&(jc.wrapper.addEventListener("touchstart",Bb,!1),jc.wrapper.addEventListener("touchmove",Cb,!1),jc.wrapper.addEventListener("touchend",Db,!1),window.navigator.pointerEnabled?(jc.wrapper.addEventListener("pointerdown",Eb,!1),jc.wrapper.addEventListener("pointermove",Fb,!1),jc.wrapper.addEventListener("pointerup",Gb,!1)):window.navigator.msPointerEnabled&&(jc.wrapper.addEventListener("MSPointerDown",Eb,!1),jc.wrapper.addEventListener("MSPointerMove",Fb,!1),jc.wrapper.addEventListener("MSPointerUp",Gb,!1))),fc.keyboard&&document.addEventListener("keydown",Ab,!1),fc.progress&&jc.progress&&jc.progress.addEventListener("click",Ib,!1),fc.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Rb,!1)}["touchstart","click"].forEach(function(a){jc.controlsLeft.forEach(function(b){b.addEventListener(a,Jb,!1)}),jc.controlsRight.forEach(function(b){b.addEventListener(a,Kb,!1)}),jc.controlsUp.forEach(function(b){b.addEventListener(a,Lb,!1)}),jc.controlsDown.forEach(function(b){b.addEventListener(a,Mb,!1)}),jc.controlsPrev.forEach(function(b){b.addEventListener(a,Nb,!1)}),jc.controlsNext.forEach(function(b){b.addEventListener(a,Ob,!1)})})}function j(){nc=!1,document.removeEventListener("keydown",Ab,!1),window.removeEventListener("hashchange",Pb,!1),window.removeEventListener("resize",Qb,!1),jc.wrapper.removeEventListener("touchstart",Bb,!1),jc.wrapper.removeEventListener("touchmove",Cb,!1),jc.wrapper.removeEventListener("touchend",Db,!1),window.navigator.pointerEnabled?(jc.wrapper.removeEventListener("pointerdown",Eb,!1),jc.wrapper.removeEventListener("pointermove",Fb,!1),jc.wrapper.removeEventListener("pointerup",Gb,!1)):window.navigator.msPointerEnabled&&(jc.wrapper.removeEventListener("MSPointerDown",Eb,!1),jc.wrapper.removeEventListener("MSPointerMove",Fb,!1),jc.wrapper.removeEventListener("MSPointerUp",Gb,!1)),fc.progress&&jc.progress&&jc.progress.removeEventListener("click",Ib,!1),["touchstart","click"].forEach(function(a){jc.controlsLeft.forEach(function(b){b.removeEventListener(a,Jb,!1)}),jc.controlsRight.forEach(function(b){b.removeEventListener(a,Kb,!1)}),jc.controlsUp.forEach(function(b){b.removeEventListener(a,Lb,!1)}),jc.controlsDown.forEach(function(b){b.removeEventListener(a,Mb,!1)}),jc.controlsPrev.forEach(function(b){b.removeEventListener(a,Nb,!1)}),jc.controlsNext.forEach(function(b){b.removeEventListener(a,Ob,!1)})})}function k(a,b){for(var c in b)a[c]=b[c]}function l(a){return Array.prototype.slice.call(a)}function m(a){if("string"==typeof a){if("null"===a)return null;if("true"===a)return!0;if("false"===a)return!1;if(a.match(/^\d+$/))return parseFloat(a)}return a}function n(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function o(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function p(a){var b=0;if(a){var c=0;l(a.childNodes).forEach(function(a){"number"==typeof a.offsetTop&&a.style&&("absolute"===a.style.position&&(c+=1),b=Math.max(b,a.offsetTop+a.offsetHeight))}),0===c&&(b=a.offsetHeight)}return b}function q(a,b){if(b=b||0,a){var c,d=a.style.height;return a.style.height="0px",c=b-a.parentNode.offsetHeight,a.style.height=d+"px",c}return b}function r(){return/print-pdf/gi.test(window.location.search)}function s(){fc.hideAddressBar&&_b&&(window.addEventListener("load",t,!1),window.addEventListener("orientationchange",t,!1))}function t(){setTimeout(function(){window.scrollTo(0,1)},10)}function u(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),k(c,b),jc.wrapper.dispatchEvent(c)}function v(){if(kc.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(bc+" a"),b=0,c=a.length;c>b;b++){var d=a[b];if(!(!d.textContent||d.querySelector("*")||d.className&&d.classList.contains(d,"roll"))){var e=document.createElement("span");e.setAttribute("data-title",d.text),e.innerHTML=d.innerHTML,d.classList.add("roll"),d.innerHTML="",d.appendChild(e)}}}function w(){for(var a=document.querySelectorAll(bc+" a.roll"),b=0,c=a.length;c>b;b++){var d=a[b],e=d.querySelector("span");e&&(d.classList.remove("roll"),d.innerHTML=e.innerHTML)}}function x(a){var b=l(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Tb,!1)})}function y(){var a=l(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Tb,!1)})}function z(a){A(),jc.preview=document.createElement("div"),jc.preview.classList.add("preview-link-overlay"),jc.wrapper.appendChild(jc.preview),jc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),jc.preview.querySelector("iframe").addEventListener("load",function(){jc.preview.classList.add("loaded")},!1),jc.preview.querySelector(".close").addEventListener("click",function(a){A(),a.preventDefault()},!1),jc.preview.querySelector(".external").addEventListener("click",function(){A()},!1),setTimeout(function(){jc.preview.classList.add("visible")},1)}function A(){jc.preview&&(jc.preview.setAttribute("src",""),jc.preview.parentNode.removeChild(jc.preview),jc.preview=null)}function B(){if(jc.wrapper&&!r()){var a=jc.wrapper.offsetWidth,b=jc.wrapper.offsetHeight;a-=b*fc.margin,b-=b*fc.margin;var c=fc.width,d=fc.height,e=20;C(fc.width,fc.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),jc.slides.style.width=c+"px",jc.slides.style.height=d+"px",ic=Math.min(a/c,b/d),ic=Math.max(ic,fc.minScale),ic=Math.min(ic,fc.maxScale),"undefined"==typeof jc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?o(jc.slides,"translate(-50%, -50%) scale("+ic+") translate(50%, 50%)"):jc.slides.style.zoom=ic;for(var f=l(document.querySelectorAll(bc)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=fc.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(p(i)/2)-e,-d/2)+"px":"")}X(),_()}}function C(a,b){l(jc.slides.querySelectorAll("section > .stretch")).forEach(function(c){var d=q(c,b);if(/(img|video)/gi.test(c.nodeName)){var e=c.naturalWidth||c.videoWidth,f=c.naturalHeight||c.videoHeight,g=Math.min(a/e,d/f);c.style.width=e*g+"px",c.style.height=f*g+"px"}else c.style.width=a+"px",c.style.height=d+"px"})}function D(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function E(a){if("object"==typeof a&&"function"==typeof a.setAttribute&&a.classList.contains("stack")){var b=a.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(a.getAttribute(b)||0,10)}return 0}function F(){if(fc.overview){qb();var a=jc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;jc.wrapper.classList.add("overview"),jc.wrapper.classList.remove("overview-deactivating");for(var c=document.querySelectorAll(cc),d=0,e=c.length;e>d;d++){var f=c[d],g=fc.rtl?-105:105;if(f.setAttribute("data-index-h",d),o(f,"translateZ(-"+b+"px) translate("+(d-Wb)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Wb?Xb:E(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),o(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Sb,!0)}else f.addEventListener("click",Sb,!0)}W(),B(),a||u("overviewshown",{indexh:Wb,indexv:Xb,currentSlide:Zb})}}function G(){fc.overview&&(jc.wrapper.classList.remove("overview"),jc.wrapper.classList.add("overview-deactivating"),setTimeout(function(){jc.wrapper.classList.remove("overview-deactivating")},1),l(document.querySelectorAll(bc)).forEach(function(a){o(a,""),a.removeEventListener("click",Sb,!0)}),R(Wb,Xb),pb(),u("overviewhidden",{indexh:Wb,indexv:Xb,currentSlide:Zb}))}function H(a){"boolean"==typeof a?a?F():G():I()?G():F()}function I(){return jc.wrapper.classList.contains("overview")}function J(a){return a=a?a:Zb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function K(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullscreen;b&&b.apply(a)}function L(){var a=jc.wrapper.classList.contains("paused");qb(),jc.wrapper.classList.add("paused"),a===!1&&u("paused")}function M(){var a=jc.wrapper.classList.contains("paused");jc.wrapper.classList.remove("paused"),pb(),a&&u("resumed")}function N(a){"boolean"==typeof a?a?L():M():O()?M():L()}function O(){return jc.wrapper.classList.contains("paused")}function P(a){"boolean"==typeof a?a?sb():rb():rc?sb():rb()}function Q(){return!(!oc||rc)}function R(a,b,c,d){Yb=Zb;var e=document.querySelectorAll(cc);void 0===b&&(b=E(e[a])),Yb&&Yb.parentNode&&Yb.parentNode.classList.contains("stack")&&D(Yb.parentNode,Xb);var f=hc.concat();hc.length=0;var g=Wb||0,h=Xb||0;Wb=V(cc,void 0===a?Wb:a),Xb=V(dc,void 0===b?Xb:b),W(),B();a:for(var i=0,j=hc.length;j>i;i++){for(var k=0;k0&&(a.classList.remove("present"),a.classList.remove("past"),a.classList.add("future"))})})}function U(){var a=l(document.querySelectorAll(cc));a.forEach(function(a){var b=l(a.querySelectorAll("section"));b.forEach(function(a){lb(a.querySelectorAll(".fragment"))}),0===b.length&&lb(a.querySelectorAll(".fragment"))})}function V(a,b){var c=l(document.querySelectorAll(a)),d=c.length;if(d){fc.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var e=0;d>e;e++){var f=c[e],g=fc.rtl&&!J(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){if(f.classList.add(g?"future":"past"),fc.fragments)for(var h=l(f.querySelectorAll(".fragment"));h.length;){var i=h.pop();i.classList.add("visible"),i.classList.remove("current-fragment")}}else if(e>b&&(f.classList.add(g?"past":"future"),fc.fragments))for(var j=l(f.querySelectorAll(".fragment.visible"));j.length;){var k=j.pop();k.classList.remove("visible"),k.classList.remove("current-fragment")}f.querySelector("section")&&f.classList.add("stack")}c[b].classList.add("present"),c[b].removeAttribute("hidden");var m=c[b].getAttribute("data-state");m&&(hc=hc.concat(m.split(" ")))}else b=0;return b}function W(){var a,b,c=l(document.querySelectorAll(cc)),d=c.length;if(d){var e=I()?10:fc.viewDistance;_b&&(e=I()?6:1);for(var f=0;d>f;f++){var g=c[f],h=l(g.querySelectorAll("section")),i=h.length;if(a=Math.abs((Wb-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=E(g),k=0;i>k;k++){var m=h[k];b=f===Wb?Math.abs(Xb-k):Math.abs(k-j),m.style.display=a+b>e?"none":"block"}}}}function X(){fc.progress&&jc.progress&&(jc.progressbar.style.width=eb()*window.innerWidth+"px")}function Y(){if(fc.slideNumber&&jc.slideNumber){var a=Wb;Xb>0&&(a+=" - "+Xb),jc.slideNumber.innerHTML=a}}function Z(){var a=ab(),b=bb();jc.controlsLeft.concat(jc.controlsRight).concat(jc.controlsUp).concat(jc.controlsDown).concat(jc.controlsPrev).concat(jc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&jc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&jc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&jc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&jc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&jc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&jc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Zb&&(b.prev&&jc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&jc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),J(Zb)?(b.prev&&jc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&jc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&jc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&jc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function $(a){var b=null,c=fc.rtl?"future":"past",d=fc.rtl?"past":"future";if(l(jc.background.childNodes).forEach(function(e,f){Wb>f?e.className="slide-background "+c:f>Wb?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Wb)&&l(e.childNodes).forEach(function(a,c){Xb>c?a.className="slide-background past":c>Xb?a.className="slide-background future":(a.className="slide-background present",f===Wb&&(b=a))})}),b){var e=$b?$b.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==$b&&jc.background.classList.add("no-transition"),$b=b}setTimeout(function(){jc.background.classList.remove("no-transition")},1)}function _(){if(fc.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(cc),d=document.querySelectorAll(dc),e=jc.background.style.backgroundSize.split(" ");1===e.length?a=b=parseInt(e[0],10):(a=parseInt(e[0],10),b=parseInt(e[1],10));var f=jc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Wb,i=jc.background.offsetHeight,j=d.length,k=j>1?-(b-i)/(j-1)*Xb:0;jc.background.style.backgroundPosition=h+"px "+k+"px"}}function ab(){var a=document.querySelectorAll(cc),b=document.querySelectorAll(dc),c={left:Wb>0||fc.loop,right:Wb0,down:Xb0,next:!!b.length}}return{prev:!1,next:!1}}function cb(a){a&&!fb()&&(l(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&a.play()}),l(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:start","*")}),l(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-autoplay")&&a.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function db(a){a&&(l(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-ignore")||a.pause()}),l(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:stop","*")}),l(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-ignore")||"function"!=typeof a.contentWindow.postMessage||a.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function eb(){var a=l(document.querySelectorAll(cc)),b=document.querySelectorAll(bc+":not(.stack)").length,c=0;a:for(var d=0;d0){var i=Zb.querySelectorAll(".fragment.visible"),j=.9;c+=i.length/h.length*j}}return c/(b-1)}function fb(){return!!window.location.search.match(/receiver/gi)}function gb(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d;try{d=document.querySelector("#"+c)}catch(e){}if(d){var f=Reveal.getIndices(d);R(f.h,f.v)}else R(Wb||0,Xb||0)}else{var g=parseInt(b[0],10)||0,h=parseInt(b[1],10)||0;(g!==Wb||h!==Xb)&&R(g,h)}}function hb(a){if(fc.history)if(clearTimeout(mc),"number"==typeof a)mc=setTimeout(hb,a);else{var b="/",c=Zb.getAttribute("id");c&&(c=c.toLowerCase(),c=c.replace(/[^a-zA-Z0-9\-\_\:\.]/g,"")),Zb&&"string"==typeof c&&c.length?b="/"+c:((Wb>0||Xb>0)&&(b+=Wb),Xb>0&&(b+="/"+Xb)),window.location.hash=b}}function ib(a){var b,c=Wb,d=Xb;if(a){var e=J(a),f=e?a.parentNode:a,g=l(document.querySelectorAll(cc));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(l(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Zb){var h=Zb.querySelectorAll(".fragment").length>0;if(h){var i=Zb.querySelectorAll(".fragment.visible");b=i.length-1}}return{h:c,v:d,f:b}}function jb(){var a=ib();return{indexh:a.h,indexv:a.v,indexf:a.f,paused:O(),overview:I()}}function kb(a){"object"==typeof a&&(R(m(a.indexh),m(a.indexv),m(a.indexf)),N(m(a.paused)),H(m(a.overview)))}function lb(a){a=l(a);var b=[],c=[],d=[];a.forEach(function(a){if(a.hasAttribute("data-fragment-index")){var d=parseInt(a.getAttribute("data-fragment-index"),10);b[d]||(b[d]=[]),b[d].push(a)}else c.push([a])}),b=b.concat(c);var e=0;return b.forEach(function(a){a.forEach(function(a){d.push(a),a.setAttribute("data-fragment-index",e)}),e++}),d}function mb(a,b){if(Zb&&fc.fragments){var c=lb(Zb.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=lb(Zb.querySelectorAll(".fragment.visible")).pop();a=d?parseInt(d.getAttribute("data-fragment-index")||0,10):-1}"number"==typeof b&&(a+=b);var e=[],f=[];return l(c).forEach(function(b,c){b.hasAttribute("data-fragment-index")&&(c=parseInt(b.getAttribute("data-fragment-index"),10)),a>=c?(b.classList.contains("visible")||e.push(b),b.classList.add("visible"),b.classList.remove("current-fragment"),c===a&&b.classList.add("current-fragment")):(b.classList.contains("visible")&&f.push(b),b.classList.remove("visible"),b.classList.remove("current-fragment"))}),f.length&&u("fragmenthidden",{fragment:f[0],fragments:f}),e.length&&u("fragmentshown",{fragment:e[0],fragments:e}),Z(),X(),!(!e.length&&!f.length)}}return!1}function nb(){return mb(null,1)}function ob(){return mb(null,-1)}function pb(){if(qb(),Zb){var a=Zb.querySelector(".current-fragment"),b=a?a.getAttribute("data-autoslide"):null,c=Zb.parentNode?Zb.parentNode.getAttribute("data-autoslide"):null,d=Zb.getAttribute("data-autoslide");oc=b?parseInt(b,10):d?parseInt(d,10):c?parseInt(c,10):fc.autoSlide,l(Zb.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&oc&&1e3*a.duration>oc&&(oc=1e3*a.duration+1e3)}),!oc||rc||O()||I()||Reveal.isLastSlide()&&fc.loop!==!0||(pc=setTimeout(yb,oc),qc=Date.now()),ac&&ac.setPlaying(-1!==pc)}}function qb(){clearTimeout(pc),pc=-1}function rb(){rc=!0,u("autoslidepaused"),clearTimeout(pc),ac&&ac.setPlaying(!1)}function sb(){rc=!1,u("autoslideresumed"),pb()}function tb(){fc.rtl?(I()||nb()===!1)&&ab().left&&R(Wb+1):(I()||ob()===!1)&&ab().left&&R(Wb-1)}function ub(){fc.rtl?(I()||ob()===!1)&&ab().right&&R(Wb-1):(I()||nb()===!1)&&ab().right&&R(Wb+1)}function vb(){(I()||ob()===!1)&&ab().up&&R(Wb,Xb-1)}function wb(){(I()||nb()===!1)&&ab().down&&R(Wb,Xb+1)}function xb(){if(ob()===!1)if(ab().up)vb();else{var a=document.querySelector(cc+".past:nth-child("+Wb+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Wb-1;R(c,b)}}}function yb(){nb()===!1&&(ab().down?wb():ub()),pb()}function zb(){fc.autoSlideStoppable&&rb()}function Ab(a){var b=rc;zb(a),document.activeElement;var c=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(c||a.shiftKey&&32!==a.keyCode||a.altKey||a.ctrlKey||a.metaKey)){if(O()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var d=!1;if("object"==typeof fc.keyboard)for(var e in fc.keyboard)if(parseInt(e,10)===a.keyCode){var f=fc.keyboard[e];"function"==typeof f?f.apply(null,[a]):"string"==typeof f&&"function"==typeof Reveal[f]&&Reveal[f].call(),d=!0}if(d===!1)switch(d=!0,a.keyCode){case 80:case 33:xb();break;case 78:case 34:yb();break;case 72:case 37:tb();break;case 76:case 39:ub();break;case 75:case 38:vb();break;case 74:case 40:wb();break;case 36:R(0);break;case 35:R(Number.MAX_VALUE);break;case 32:I()?G():a.shiftKey?xb():yb();break;case 13:I()?G():d=!1;break;case 66:case 190:case 191:N();break;case 70:K();break;case 65:fc.autoSlideStoppable&&P(b);break;default:d=!1}d?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!kc.transforms3d||(jc.preview?A():H(),a.preventDefault()),pb()}}function Bb(a){sc.startX=a.touches[0].clientX,sc.startY=a.touches[0].clientY,sc.startCount=a.touches.length,2===a.touches.length&&fc.overview&&(sc.startSpan=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:sc.startX,y:sc.startY}))}function Cb(a){if(sc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{zb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===sc.startCount&&fc.overview){var d=n({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:sc.startX,y:sc.startY});Math.abs(sc.startSpan-d)>sc.threshold&&(sc.captured=!0,dsc.threshold&&Math.abs(e)>Math.abs(f)?(sc.captured=!0,tb()):e<-sc.threshold&&Math.abs(e)>Math.abs(f)?(sc.captured=!0,ub()):f>sc.threshold?(sc.captured=!0,vb()):f<-sc.threshold&&(sc.captured=!0,wb()),fc.embedded?(sc.captured||J(Zb))&&a.preventDefault():a.preventDefault()}}}function Db(){sc.captured=!1}function Eb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Bb(a))}function Fb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Cb(a))}function Gb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Db(a))}function Hb(a){if(Date.now()-lc>600){lc=Date.now();var b=a.detail||-a.wheelDelta;b>0?yb():xb()}}function Ib(a){zb(a),a.preventDefault();var b=l(document.querySelectorAll(cc)).length,c=Math.floor(a.clientX/jc.wrapper.offsetWidth*b);R(c)}function Jb(a){a.preventDefault(),zb(),tb()}function Kb(a){a.preventDefault(),zb(),ub()}function Lb(a){a.preventDefault(),zb(),vb()}function Mb(a){a.preventDefault(),zb(),wb()}function Nb(a){a.preventDefault(),zb(),xb()}function Ob(a){a.preventDefault(),zb(),yb()}function Pb(){gb()}function Qb(){B()}function Rb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Sb(a){if(nc&&I()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(G(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);R(c,d)}}}function Tb(a){var b=a.target.getAttribute("href");b&&(z(b),a.preventDefault())}function Ub(){Reveal.isLastSlide()&&fc.loop===!1?(R(0,0),sb()):rc?sb():rb()}function Vb(a,b){this.diameter=50,this.thickness=3,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=a,this.progressCheck=b,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}var Wb,Xb,Yb,Zb,$b,_b,ac,bc=".reveal .slides section",cc=".reveal .slides>section",dc=".reveal .slides>section.present>section",ec=".reveal .slides>section:first-of-type",fc={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,slideNumber:!1,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,autoSlideStoppable:!0,mouseWheel:!1,rollingLinks:!1,hideAddressBar:!0,previewLinks:!1,focusBodyOnPageVisiblityChange:!0,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",parallaxBackgroundImage:"",parallaxBackgroundSize:"",viewDistance:3,dependencies:[]},gc=!1,hc=[],ic=1,jc={},kc={},lc=0,mc=0,nc=!1,oc=0,pc=0,qc=-1,rc=!1,sc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Vb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Vb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&kc.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Vb.prototype.render=function(){var a=this.playing?this.progress:0,b=this.diameter/2-this.thickness,c=this.diameter/2,d=this.diameter/2,e=14;this.progressOffset+=.1*(1-this.progressOffset);var f=-Math.PI/2+a*2*Math.PI,g=-Math.PI/2+this.progressOffset*2*Math.PI;this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(c,d,b+2,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(c,d,b,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#666",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(c,d,b,g,f,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(c-e/2,d-e/2),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,e/2-2,e),this.context.fillRect(e/2+2,0,e/2-2,e)):(this.context.beginPath(),this.context.translate(2,0),this.context.moveTo(0,0),this.context.lineTo(e-2,e/2),this.context.lineTo(0,e),this.context.fillStyle="#fff",this.context.fill()),this.context.restore() -},Vb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Vb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Vb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:h,sync:S,slide:R,left:tb,right:ub,up:vb,down:wb,prev:xb,next:yb,navigateFragment:mb,prevFragment:ob,nextFragment:nb,navigateTo:R,navigateLeft:tb,navigateRight:ub,navigateUp:vb,navigateDown:wb,navigatePrev:xb,navigateNext:yb,layout:B,availableRoutes:ab,availableFragments:bb,toggleOverview:H,togglePause:N,toggleAutoSlide:P,isOverview:I,isPaused:O,isAutoSliding:Q,addEventListeners:i,removeEventListeners:j,getState:jb,setState:kb,getProgress:eb,getIndices:ib,getSlide:function(a,b){var c=document.querySelectorAll(cc)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Yb},getCurrentSlide:function(){return Zb},getScale:function(){return ic},getConfig:function(){return fc},getQueryHash:function(){var a={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()});for(var b in a){var c=a[b];a[b]=m(unescape(c))}return a},isFirstSlide:function(){return null==document.querySelector(bc+".past")?!0:!1},isLastSlide:function(){return Zb?Zb.nextElementSibling?!1:J(Zb)&&Zb.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return gc},addEventListener:function(a,b,c){"addEventListener"in window&&(jc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(jc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function a(a){if(b(),!lc.transforms2d&&!lc.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",C,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,l(gc,a),l(gc,d),t(),c()}function b(){lc.transforms3d="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,lc.transforms2d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,lc.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,lc.requestAnimationFrame="function"==typeof lc.requestAnimationFrameMethod,lc.canvas=!!document.createElement("canvas").getContext,ac=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function c(){function a(){e.length&&head.js.apply(null,e),d()}function b(b){head.ready(b.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],function(){"function"==typeof b.callback&&b.callback.apply(this),0===--f&&a()})}for(var c=[],e=[],f=0,g=0,h=gc.dependencies.length;h>g;g++){var i=gc.dependencies[g];(!i.condition||i.condition())&&(i.async?e.push(i.src):c.push(i.src),b(i))}c.length?(f=c.length,head.js.apply(null,c)):a()}function d(){e(),U(),i(),hb(),_(!0),setTimeout(function(){kc.slides.classList.remove("no-transition"),hc=!0,v("ready",{indexh:Xb,indexv:Yb,currentSlide:$b})},1)}function e(){kc.theme=document.querySelector("#theme"),kc.wrapper=document.querySelector(".reveal"),kc.slides=document.querySelector(".reveal .slides"),kc.slides.classList.add("no-transition"),kc.background=f(kc.wrapper,"div","backgrounds",null),kc.progress=f(kc.wrapper,"div","progress",""),kc.progressbar=kc.progress.querySelector("span"),f(kc.wrapper,"aside","controls",''),kc.slideNumber=f(kc.wrapper,"div","slide-number",""),f(kc.wrapper,"div","state-background",null),f(kc.wrapper,"div","pause-overlay",null),kc.controls=document.querySelector(".reveal .controls"),kc.controlsLeft=m(document.querySelectorAll(".navigate-left")),kc.controlsRight=m(document.querySelectorAll(".navigate-right")),kc.controlsUp=m(document.querySelectorAll(".navigate-up")),kc.controlsDown=m(document.querySelectorAll(".navigate-down")),kc.controlsPrev=m(document.querySelectorAll(".navigate-prev")),kc.controlsNext=m(document.querySelectorAll(".navigate-next"))}function f(a,b,c,d){var e=a.querySelector("."+c);return e||(e=document.createElement(b),e.classList.add(c),null!==d&&(e.innerHTML=d),a.appendChild(e)),e}function g(){s()&&document.body.classList.add("print-pdf"),kc.background.innerHTML="",kc.background.classList.add("no-transition"),m(document.querySelectorAll(dc)).forEach(function(a){var b;b=s()?h(a,a):h(a,kc.background),m(a.querySelectorAll("section")).forEach(function(a){s()?h(a,a):h(a,b)})}),gc.parallaxBackgroundImage?(kc.background.style.backgroundImage='url("'+gc.parallaxBackgroundImage+'")',kc.background.style.backgroundSize=gc.parallaxBackgroundSize,setTimeout(function(){kc.wrapper.classList.add("has-parallax-background")},1)):(kc.background.style.backgroundImage="",kc.wrapper.classList.remove("has-parallax-background"))}function h(a,b){var c={background:a.getAttribute("data-background"),backgroundSize:a.getAttribute("data-background-size"),backgroundImage:a.getAttribute("data-background-image"),backgroundColor:a.getAttribute("data-background-color"),backgroundRepeat:a.getAttribute("data-background-repeat"),backgroundPosition:a.getAttribute("data-background-position"),backgroundTransition:a.getAttribute("data-background-transition")},d=document.createElement("div");return d.className="slide-background",c.background&&(/^(http|file|\/\/)/gi.test(c.background)||/\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(c.background)?d.style.backgroundImage="url("+c.background+")":d.style.background=c.background),(c.background||c.backgroundColor||c.backgroundImage)&&d.setAttribute("data-background-hash",c.background+c.backgroundSize+c.backgroundImage+c.backgroundColor+c.backgroundRepeat+c.backgroundPosition+c.backgroundTransition),c.backgroundSize&&(d.style.backgroundSize=c.backgroundSize),c.backgroundImage&&(d.style.backgroundImage='url("'+c.backgroundImage+'")'),c.backgroundColor&&(d.style.backgroundColor=c.backgroundColor),c.backgroundRepeat&&(d.style.backgroundRepeat=c.backgroundRepeat),c.backgroundPosition&&(d.style.backgroundPosition=c.backgroundPosition),c.backgroundTransition&&d.setAttribute("data-background-transition",c.backgroundTransition),b.appendChild(d),d}function i(a){var b=document.querySelectorAll(cc).length;if(kc.wrapper.classList.remove(gc.transition),"object"==typeof a&&l(gc,a),lc.transforms3d===!1&&(gc.transition="linear"),kc.wrapper.classList.add(gc.transition),kc.wrapper.setAttribute("data-transition-speed",gc.transitionSpeed),kc.wrapper.setAttribute("data-background-transition",gc.backgroundTransition),kc.controls.style.display=gc.controls?"block":"none",kc.progress.style.display=gc.progress?"block":"none",gc.rtl?kc.wrapper.classList.add("rtl"):kc.wrapper.classList.remove("rtl"),gc.center?kc.wrapper.classList.add("center"):kc.wrapper.classList.remove("center"),gc.mouseWheel?(document.addEventListener("DOMMouseScroll",Ib,!1),document.addEventListener("mousewheel",Ib,!1)):(document.removeEventListener("DOMMouseScroll",Ib,!1),document.removeEventListener("mousewheel",Ib,!1)),gc.rollingLinks?w():x(),gc.previewLinks?y():(z(),y("[data-preview-link]")),bc&&(bc.destroy(),bc=null),b>1&&gc.autoSlide&&gc.autoSlideStoppable&&lc.canvas&&lc.requestAnimationFrame&&(bc=new Wb(kc.wrapper,function(){return Math.min(Math.max((Date.now()-rc)/pc,0),1)}),bc.on("click",Vb),sc=!1),gc.fragments===!1&&m(kc.slides.querySelectorAll(".fragment")).forEach(function(a){a.classList.add("visible"),a.classList.remove("current-fragment")}),gc.theme&&kc.theme){var c=kc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];gc.theme!==e&&(c=c.replace(d,gc.theme),kc.theme.setAttribute("href",c))}T()}function j(){if(oc=!0,window.addEventListener("hashchange",Qb,!1),window.addEventListener("resize",Rb,!1),gc.touch&&(kc.wrapper.addEventListener("touchstart",Cb,!1),kc.wrapper.addEventListener("touchmove",Db,!1),kc.wrapper.addEventListener("touchend",Eb,!1),window.navigator.pointerEnabled?(kc.wrapper.addEventListener("pointerdown",Fb,!1),kc.wrapper.addEventListener("pointermove",Gb,!1),kc.wrapper.addEventListener("pointerup",Hb,!1)):window.navigator.msPointerEnabled&&(kc.wrapper.addEventListener("MSPointerDown",Fb,!1),kc.wrapper.addEventListener("MSPointerMove",Gb,!1),kc.wrapper.addEventListener("MSPointerUp",Hb,!1))),gc.keyboard&&document.addEventListener("keydown",Bb,!1),gc.progress&&kc.progress&&kc.progress.addEventListener("click",Jb,!1),gc.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Sb,!1)}["touchstart","click"].forEach(function(a){kc.controlsLeft.forEach(function(b){b.addEventListener(a,Kb,!1)}),kc.controlsRight.forEach(function(b){b.addEventListener(a,Lb,!1)}),kc.controlsUp.forEach(function(b){b.addEventListener(a,Mb,!1)}),kc.controlsDown.forEach(function(b){b.addEventListener(a,Nb,!1)}),kc.controlsPrev.forEach(function(b){b.addEventListener(a,Ob,!1)}),kc.controlsNext.forEach(function(b){b.addEventListener(a,Pb,!1)})})}function k(){oc=!1,document.removeEventListener("keydown",Bb,!1),window.removeEventListener("hashchange",Qb,!1),window.removeEventListener("resize",Rb,!1),kc.wrapper.removeEventListener("touchstart",Cb,!1),kc.wrapper.removeEventListener("touchmove",Db,!1),kc.wrapper.removeEventListener("touchend",Eb,!1),window.navigator.pointerEnabled?(kc.wrapper.removeEventListener("pointerdown",Fb,!1),kc.wrapper.removeEventListener("pointermove",Gb,!1),kc.wrapper.removeEventListener("pointerup",Hb,!1)):window.navigator.msPointerEnabled&&(kc.wrapper.removeEventListener("MSPointerDown",Fb,!1),kc.wrapper.removeEventListener("MSPointerMove",Gb,!1),kc.wrapper.removeEventListener("MSPointerUp",Hb,!1)),gc.progress&&kc.progress&&kc.progress.removeEventListener("click",Jb,!1),["touchstart","click"].forEach(function(a){kc.controlsLeft.forEach(function(b){b.removeEventListener(a,Kb,!1)}),kc.controlsRight.forEach(function(b){b.removeEventListener(a,Lb,!1)}),kc.controlsUp.forEach(function(b){b.removeEventListener(a,Mb,!1)}),kc.controlsDown.forEach(function(b){b.removeEventListener(a,Nb,!1)}),kc.controlsPrev.forEach(function(b){b.removeEventListener(a,Ob,!1)}),kc.controlsNext.forEach(function(b){b.removeEventListener(a,Pb,!1)})})}function l(a,b){for(var c in b)a[c]=b[c]}function m(a){return Array.prototype.slice.call(a)}function n(a){if("string"==typeof a){if("null"===a)return null;if("true"===a)return!0;if("false"===a)return!1;if(a.match(/^\d+$/))return parseFloat(a)}return a}function o(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function p(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function q(a){var b=0;if(a){var c=0;m(a.childNodes).forEach(function(a){"number"==typeof a.offsetTop&&a.style&&("absolute"===a.style.position&&(c+=1),b=Math.max(b,a.offsetTop+a.offsetHeight))}),0===c&&(b=a.offsetHeight)}return b}function r(a,b){if(b=b||0,a){var c,d=a.style.height;return a.style.height="0px",c=b-a.parentNode.offsetHeight,a.style.height=d+"px",c}return b}function s(){return/print-pdf/gi.test(window.location.search)}function t(){gc.hideAddressBar&&ac&&(window.addEventListener("load",u,!1),window.addEventListener("orientationchange",u,!1))}function u(){setTimeout(function(){window.scrollTo(0,1)},10)}function v(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),l(c,b),kc.wrapper.dispatchEvent(c)}function w(){if(lc.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(cc+" a"),b=0,c=a.length;c>b;b++){var d=a[b];if(!(!d.textContent||d.querySelector("*")||d.className&&d.classList.contains(d,"roll"))){var e=document.createElement("span");e.setAttribute("data-title",d.text),e.innerHTML=d.innerHTML,d.classList.add("roll"),d.innerHTML="",d.appendChild(e)}}}function x(){for(var a=document.querySelectorAll(cc+" a.roll"),b=0,c=a.length;c>b;b++){var d=a[b],e=d.querySelector("span");e&&(d.classList.remove("roll"),d.innerHTML=e.innerHTML)}}function y(a){var b=m(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Ub,!1)})}function z(){var a=m(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Ub,!1)})}function A(a){B(),kc.preview=document.createElement("div"),kc.preview.classList.add("preview-link-overlay"),kc.wrapper.appendChild(kc.preview),kc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),kc.preview.querySelector("iframe").addEventListener("load",function(){kc.preview.classList.add("loaded")},!1),kc.preview.querySelector(".close").addEventListener("click",function(a){B(),a.preventDefault()},!1),kc.preview.querySelector(".external").addEventListener("click",function(){B()},!1),setTimeout(function(){kc.preview.classList.add("visible")},1)}function B(){kc.preview&&(kc.preview.setAttribute("src",""),kc.preview.parentNode.removeChild(kc.preview),kc.preview=null)}function C(){if(kc.wrapper&&!s()){var a=kc.wrapper.offsetWidth,b=kc.wrapper.offsetHeight;a-=b*gc.margin,b-=b*gc.margin;var c=gc.width,d=gc.height,e=20;D(gc.width,gc.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),kc.slides.style.width=c+"px",kc.slides.style.height=d+"px",jc=Math.min(a/c,b/d),jc=Math.max(jc,gc.minScale),jc=Math.min(jc,gc.maxScale),"undefined"==typeof kc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?p(kc.slides,"translate(-50%, -50%) scale("+jc+") translate(50%, 50%)"):kc.slides.style.zoom=jc;for(var f=m(document.querySelectorAll(cc)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=gc.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(q(i)/2)-e,-d/2)+"px":"")}Y(),ab()}}function D(a,b){m(kc.slides.querySelectorAll("section > .stretch")).forEach(function(c){var d=r(c,b);if(/(img|video)/gi.test(c.nodeName)){var e=c.naturalWidth||c.videoWidth,f=c.naturalHeight||c.videoHeight,g=Math.min(a/e,d/f);c.style.width=e*g+"px",c.style.height=f*g+"px"}else c.style.width=a+"px",c.style.height=d+"px"})}function E(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function F(a){if("object"==typeof a&&"function"==typeof a.setAttribute&&a.classList.contains("stack")){var b=a.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(a.getAttribute(b)||0,10)}return 0}function G(){if(gc.overview){rb();var a=kc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;kc.wrapper.classList.add("overview"),kc.wrapper.classList.remove("overview-deactivating");for(var c=document.querySelectorAll(dc),d=0,e=c.length;e>d;d++){var f=c[d],g=gc.rtl?-105:105;if(f.setAttribute("data-index-h",d),p(f,"translateZ(-"+b+"px) translate("+(d-Xb)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Xb?Yb:F(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),p(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Tb,!0)}else f.addEventListener("click",Tb,!0)}X(),C(),a||v("overviewshown",{indexh:Xb,indexv:Yb,currentSlide:$b})}}function H(){gc.overview&&(kc.wrapper.classList.remove("overview"),kc.wrapper.classList.add("overview-deactivating"),setTimeout(function(){kc.wrapper.classList.remove("overview-deactivating")},1),m(document.querySelectorAll(cc)).forEach(function(a){p(a,""),a.removeEventListener("click",Tb,!0)}),S(Xb,Yb),qb(),v("overviewhidden",{indexh:Xb,indexv:Yb,currentSlide:$b}))}function I(a){"boolean"==typeof a?a?G():H():J()?H():G()}function J(){return kc.wrapper.classList.contains("overview")}function K(a){return a=a?a:$b,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function L(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullscreen;b&&b.apply(a)}function M(){var a=kc.wrapper.classList.contains("paused");rb(),kc.wrapper.classList.add("paused"),a===!1&&v("paused")}function N(){var a=kc.wrapper.classList.contains("paused");kc.wrapper.classList.remove("paused"),qb(),a&&v("resumed")}function O(a){"boolean"==typeof a?a?M():N():P()?N():M()}function P(){return kc.wrapper.classList.contains("paused")}function Q(a){"boolean"==typeof a?a?tb():sb():sc?tb():sb()}function R(){return!(!pc||sc)}function S(a,b,c,d){Zb=$b;var e=document.querySelectorAll(dc);void 0===b&&(b=F(e[a])),Zb&&Zb.parentNode&&Zb.parentNode.classList.contains("stack")&&E(Zb.parentNode,Yb);var f=ic.concat();ic.length=0;var g=Xb||0,h=Yb||0;Xb=W(dc,void 0===a?Xb:a),Yb=W(ec,void 0===b?Yb:b),X(),C();a:for(var i=0,j=ic.length;j>i;i++){for(var k=0;k0&&(a.classList.remove("present"),a.classList.remove("past"),a.classList.add("future"))})})}function V(){var a=m(document.querySelectorAll(dc));a.forEach(function(a){var b=m(a.querySelectorAll("section"));b.forEach(function(a){mb(a.querySelectorAll(".fragment"))}),0===b.length&&mb(a.querySelectorAll(".fragment"))})}function W(a,b){var c=m(document.querySelectorAll(a)),d=c.length;if(d){gc.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var e=0;d>e;e++){var f=c[e],g=gc.rtl&&!K(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){if(f.classList.add(g?"future":"past"),gc.fragments)for(var h=m(f.querySelectorAll(".fragment"));h.length;){var i=h.pop();i.classList.add("visible"),i.classList.remove("current-fragment")}}else if(e>b&&(f.classList.add(g?"past":"future"),gc.fragments))for(var j=m(f.querySelectorAll(".fragment.visible"));j.length;){var k=j.pop();k.classList.remove("visible"),k.classList.remove("current-fragment")}f.querySelector("section")&&f.classList.add("stack")}c[b].classList.add("present"),c[b].removeAttribute("hidden");var l=c[b].getAttribute("data-state");l&&(ic=ic.concat(l.split(" ")))}else b=0;return b}function X(){var a,b,c=m(document.querySelectorAll(dc)),d=c.length;if(d){var e=J()?10:gc.viewDistance;ac&&(e=J()?6:1);for(var f=0;d>f;f++){var g=c[f],h=m(g.querySelectorAll("section")),i=h.length;if(a=Math.abs((Xb-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=F(g),k=0;i>k;k++){var l=h[k];b=f===Xb?Math.abs(Yb-k):Math.abs(k-j),l.style.display=a+b>e?"none":"block"}}}}function Y(){gc.progress&&kc.progress&&(kc.progressbar.style.width=fb()*window.innerWidth+"px")}function Z(){if(gc.slideNumber&&kc.slideNumber){var a=Xb;Yb>0&&(a+=" - "+Yb),kc.slideNumber.innerHTML=a}}function $(){var a=bb(),b=cb();kc.controlsLeft.concat(kc.controlsRight).concat(kc.controlsUp).concat(kc.controlsDown).concat(kc.controlsPrev).concat(kc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&kc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&kc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&kc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&kc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&kc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&kc.controlsNext.forEach(function(a){a.classList.add("enabled")}),$b&&(b.prev&&kc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&kc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),K($b)?(b.prev&&kc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&kc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&kc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&kc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function _(a){var b=null,c=gc.rtl?"future":"past",d=gc.rtl?"past":"future";if(m(kc.background.childNodes).forEach(function(e,f){Xb>f?e.className="slide-background "+c:f>Xb?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Xb)&&m(e.childNodes).forEach(function(a,c){Yb>c?a.className="slide-background past":c>Yb?a.className="slide-background future":(a.className="slide-background present",f===Xb&&(b=a))})}),b){var e=_b?_b.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==_b&&kc.background.classList.add("no-transition"),_b=b}setTimeout(function(){kc.background.classList.remove("no-transition")},1)}function ab(){if(gc.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(dc),d=document.querySelectorAll(ec),e=kc.background.style.backgroundSize.split(" ");1===e.length?a=b=parseInt(e[0],10):(a=parseInt(e[0],10),b=parseInt(e[1],10));var f=kc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Xb,i=kc.background.offsetHeight,j=d.length,k=j>1?-(b-i)/(j-1)*Yb:0;kc.background.style.backgroundPosition=h+"px "+k+"px"}}function bb(){var a=document.querySelectorAll(dc),b=document.querySelectorAll(ec),c={left:Xb>0||gc.loop,right:Xb0,down:Yb0,next:!!b.length}}return{prev:!1,next:!1}}function db(a){a&&!gb()&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&a.play()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:start","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-autoplay")&&a.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function eb(a){a&&(m(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-ignore")||a.pause()}),m(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:stop","*")}),m(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-ignore")||"function"!=typeof a.contentWindow.postMessage||a.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function fb(){var a=m(document.querySelectorAll(dc)),b=document.querySelectorAll(cc+":not(.stack)").length,c=0;a:for(var d=0;d0){var i=$b.querySelectorAll(".fragment.visible"),j=.9;c+=i.length/h.length*j}}return c/(b-1)}function gb(){return!!window.location.search.match(/receiver/gi)}function hb(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d;try{d=document.querySelector("#"+c)}catch(e){}if(d){var f=Reveal.getIndices(d);S(f.h,f.v)}else S(Xb||0,Yb||0)}else{var g=parseInt(b[0],10)||0,h=parseInt(b[1],10)||0;(g!==Xb||h!==Yb)&&S(g,h)}}function ib(a){if(gc.history)if(clearTimeout(nc),"number"==typeof a)nc=setTimeout(ib,a);else{var b="/",c=$b.getAttribute("id");c&&(c=c.toLowerCase(),c=c.replace(/[^a-zA-Z0-9\-\_\:\.]/g,"")),$b&&"string"==typeof c&&c.length?b="/"+c:((Xb>0||Yb>0)&&(b+=Xb),Yb>0&&(b+="/"+Yb)),window.location.hash=b}}function jb(a){var b,c=Xb,d=Yb;if(a){var e=K(a),f=e?a.parentNode:a,g=m(document.querySelectorAll(dc));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(m(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&$b){var h=$b.querySelectorAll(".fragment").length>0;if(h){var i=$b.querySelectorAll(".fragment.visible");b=i.length-1}}return{h:c,v:d,f:b}}function kb(){var a=jb();return{indexh:a.h,indexv:a.v,indexf:a.f,paused:P(),overview:J()}}function lb(a){"object"==typeof a&&(S(n(a.indexh),n(a.indexv),n(a.indexf)),O(n(a.paused)),I(n(a.overview)))}function mb(a){a=m(a);var b=[],c=[],d=[];a.forEach(function(a){if(a.hasAttribute("data-fragment-index")){var d=parseInt(a.getAttribute("data-fragment-index"),10);b[d]||(b[d]=[]),b[d].push(a)}else c.push([a])}),b=b.concat(c);var e=0;return b.forEach(function(a){a.forEach(function(a){d.push(a),a.setAttribute("data-fragment-index",e)}),e++}),d}function nb(a,b){if($b&&gc.fragments){var c=mb($b.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=mb($b.querySelectorAll(".fragment.visible")).pop();a=d?parseInt(d.getAttribute("data-fragment-index")||0,10):-1}"number"==typeof b&&(a+=b);var e=[],f=[];return m(c).forEach(function(b,c){b.hasAttribute("data-fragment-index")&&(c=parseInt(b.getAttribute("data-fragment-index"),10)),a>=c?(b.classList.contains("visible")||e.push(b),b.classList.add("visible"),b.classList.remove("current-fragment"),c===a&&b.classList.add("current-fragment")):(b.classList.contains("visible")&&f.push(b),b.classList.remove("visible"),b.classList.remove("current-fragment"))}),f.length&&v("fragmenthidden",{fragment:f[0],fragments:f}),e.length&&v("fragmentshown",{fragment:e[0],fragments:e}),$(),Y(),!(!e.length&&!f.length)}}return!1}function ob(){return nb(null,1)}function pb(){return nb(null,-1)}function qb(){if(rb(),$b){var a=$b.querySelector(".current-fragment"),b=a?a.getAttribute("data-autoslide"):null,c=$b.parentNode?$b.parentNode.getAttribute("data-autoslide"):null,d=$b.getAttribute("data-autoslide");pc=b?parseInt(b,10):d?parseInt(d,10):c?parseInt(c,10):gc.autoSlide,m($b.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&pc&&1e3*a.duration>pc&&(pc=1e3*a.duration+1e3)}),!pc||sc||P()||J()||Reveal.isLastSlide()&&gc.loop!==!0||(qc=setTimeout(zb,pc),rc=Date.now()),bc&&bc.setPlaying(-1!==qc)}}function rb(){clearTimeout(qc),qc=-1}function sb(){sc=!0,v("autoslidepaused"),clearTimeout(qc),bc&&bc.setPlaying(!1)}function tb(){sc=!1,v("autoslideresumed"),qb()}function ub(){gc.rtl?(J()||ob()===!1)&&bb().left&&S(Xb+1):(J()||pb()===!1)&&bb().left&&S(Xb-1)}function vb(){gc.rtl?(J()||pb()===!1)&&bb().right&&S(Xb-1):(J()||ob()===!1)&&bb().right&&S(Xb+1)}function wb(){(J()||pb()===!1)&&bb().up&&S(Xb,Yb-1)}function xb(){(J()||ob()===!1)&&bb().down&&S(Xb,Yb+1)}function yb(){if(pb()===!1)if(bb().up)wb();else{var a=document.querySelector(dc+".past:nth-child("+Xb+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Xb-1;S(c,b)}}}function zb(){ob()===!1&&(bb().down?xb():vb()),qb()}function Ab(){gc.autoSlideStoppable&&sb()}function Bb(a){var b=sc;Ab(a),document.activeElement;var c=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(c||a.shiftKey&&32!==a.keyCode||a.altKey||a.ctrlKey||a.metaKey)){if(P()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var d=!1;if("object"==typeof gc.keyboard)for(var e in gc.keyboard)if(parseInt(e,10)===a.keyCode){var f=gc.keyboard[e];"function"==typeof f?f.apply(null,[a]):"string"==typeof f&&"function"==typeof Reveal[f]&&Reveal[f].call(),d=!0}if(d===!1)switch(d=!0,a.keyCode){case 80:case 33:yb();break;case 78:case 34:zb();break;case 72:case 37:ub();break;case 76:case 39:vb();break;case 75:case 38:wb();break;case 74:case 40:xb();break;case 36:S(0);break;case 35:S(Number.MAX_VALUE);break;case 32:J()?H():a.shiftKey?yb():zb();break;case 13:J()?H():d=!1;break;case 66:case 190:case 191:O();break;case 70:L();break;case 65:gc.autoSlideStoppable&&Q(b);break;default:d=!1}d?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!lc.transforms3d||(kc.preview?B():I(),a.preventDefault()),qb()}}function Cb(a){tc.startX=a.touches[0].clientX,tc.startY=a.touches[0].clientY,tc.startCount=a.touches.length,2===a.touches.length&&gc.overview&&(tc.startSpan=o({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:tc.startX,y:tc.startY}))}function Db(a){if(tc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{Ab(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===tc.startCount&&gc.overview){var d=o({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:tc.startX,y:tc.startY});Math.abs(tc.startSpan-d)>tc.threshold&&(tc.captured=!0,dtc.threshold&&Math.abs(e)>Math.abs(f)?(tc.captured=!0,ub()):e<-tc.threshold&&Math.abs(e)>Math.abs(f)?(tc.captured=!0,vb()):f>tc.threshold?(tc.captured=!0,wb()):f<-tc.threshold&&(tc.captured=!0,xb()),gc.embedded?(tc.captured||K($b))&&a.preventDefault():a.preventDefault()}}}function Eb(){tc.captured=!1}function Fb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Cb(a))}function Gb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Db(a))}function Hb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Eb(a))}function Ib(a){if(Date.now()-mc>600){mc=Date.now();var b=a.detail||-a.wheelDelta;b>0?zb():yb()}}function Jb(a){Ab(a),a.preventDefault();var b=m(document.querySelectorAll(dc)).length,c=Math.floor(a.clientX/kc.wrapper.offsetWidth*b);S(c)}function Kb(a){a.preventDefault(),Ab(),ub()}function Lb(a){a.preventDefault(),Ab(),vb()}function Mb(a){a.preventDefault(),Ab(),wb()}function Nb(a){a.preventDefault(),Ab(),xb()}function Ob(a){a.preventDefault(),Ab(),yb()}function Pb(a){a.preventDefault(),Ab(),zb()}function Qb(){hb()}function Rb(){C()}function Sb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Tb(a){if(oc&&J()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(H(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);S(c,d)}}}function Ub(a){var b=a.target.getAttribute("href");b&&(A(b),a.preventDefault())}function Vb(){Reveal.isLastSlide()&&gc.loop===!1?(S(0,0),tb()):sc?tb():sb()}function Wb(a,b){this.diameter=50,this.thickness=3,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=a,this.progressCheck=b,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}var Xb,Yb,Zb,$b,_b,ac,bc,cc=".reveal .slides section",dc=".reveal .slides>section",ec=".reveal .slides>section.present>section",fc=".reveal .slides>section:first-of-type",gc={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,slideNumber:!1,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,autoSlideStoppable:!0,mouseWheel:!1,rollingLinks:!1,hideAddressBar:!0,previewLinks:!1,focusBodyOnPageVisiblityChange:!0,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",parallaxBackgroundImage:"",parallaxBackgroundSize:"",viewDistance:3,dependencies:[]},hc=!1,ic=[],jc=1,kc={},lc={},mc=0,nc=0,oc=!1,pc=0,qc=0,rc=-1,sc=!1,tc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Wb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Wb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&lc.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Wb.prototype.render=function(){var a=this.playing?this.progress:0,b=this.diameter/2-this.thickness,c=this.diameter/2,d=this.diameter/2,e=14;this.progressOffset+=.1*(1-this.progressOffset);var f=-Math.PI/2+a*2*Math.PI,g=-Math.PI/2+this.progressOffset*2*Math.PI;this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(c,d,b+2,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(c,d,b,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#666",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(c,d,b,g,f,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(c-e/2,d-e/2),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,e/2-2,e),this.context.fillRect(e/2+2,0,e/2-2,e)):(this.context.beginPath(),this.context.translate(2,0),this.context.moveTo(0,0),this.context.lineTo(e-2,e/2),this.context.lineTo(0,e),this.context.fillStyle="#fff",this.context.fill()),this.context.restore() +},Wb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Wb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Wb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:i,sync:T,slide:S,left:ub,right:vb,up:wb,down:xb,prev:yb,next:zb,navigateFragment:nb,prevFragment:pb,nextFragment:ob,navigateTo:S,navigateLeft:ub,navigateRight:vb,navigateUp:wb,navigateDown:xb,navigatePrev:yb,navigateNext:zb,layout:C,availableRoutes:bb,availableFragments:cb,toggleOverview:I,togglePause:O,toggleAutoSlide:Q,isOverview:J,isPaused:P,isAutoSliding:R,addEventListeners:j,removeEventListeners:k,getState:kb,setState:lb,getProgress:fb,getIndices:jb,getSlide:function(a,b){var c=document.querySelectorAll(dc)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Zb},getCurrentSlide:function(){return $b},getScale:function(){return jc},getConfig:function(){return gc},getQueryHash:function(){var a={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()});for(var b in a){var c=a[b];a[b]=n(unescape(c))}return a},isFirstSlide:function(){return null==document.querySelector(cc+".past")?!0:!1},isLastSlide:function(){return $b?$b.nextElementSibling?!1:K($b)&&$b.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return hc},addEventListener:function(a,b,c){"addEventListener"in window&&(kc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(kc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file