From 6c0dc635a15edc6b4b09bb3aecdfd90399ae8ceb Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Tue, 13 Aug 2013 09:27:19 -0400 Subject: [PATCH] add util method for applying css transforms --- js/reveal.js | 49 +++++++++++++++++++++++------------------------- js/reveal.min.js | 4 ++-- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index f0cb6bd5..00097a18 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -664,6 +664,19 @@ var Reveal = (function(){ } + /** + * Applies a CSS transform to the target element. + */ + function transformElement( element, transform ) { + + element.style.WebkitTransform = transform; + element.style.MozTransform = transform; + element.style.msTransform = transform; + element.style.OTransform = transform; + element.style.transform = transform; + + } + /** * Retrieves the height of the given element by looking * at the position and height of its immediate children. @@ -949,13 +962,7 @@ var Reveal = (function(){ } // Apply scale transform as a fallback else { - var transform = 'translate(-50%, -50%) scale('+ scale +') translate(50%, 50%)'; - - dom.slides.style.WebkitTransform = transform; - dom.slides.style.MozTransform = transform; - dom.slides.style.msTransform = transform; - dom.slides.style.OTransform = transform; - dom.slides.style.transform = transform; + transformElement( dom.slides, 'translate(-50%, -50%) scale('+ scale +') translate(50%, 50%)' ); } // Select all slides, vertical and horizontal @@ -1062,15 +1069,12 @@ var Reveal = (function(){ for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) { var hslide = horizontalSlides[i], - hoffset = config.rtl ? -105 : 105, - htransform = 'translateZ(-'+ depth +'px) translate(' + ( ( i - indexh ) * hoffset ) + '%, 0%)'; + hoffset = config.rtl ? -105 : 105; hslide.setAttribute( 'data-index-h', i ); - hslide.style.WebkitTransform = htransform; - hslide.style.MozTransform = htransform; - hslide.style.msTransform = htransform; - hslide.style.OTransform = htransform; - hslide.style.transform = htransform; + + // Apply CSS transform + transformElement( hslide, 'translateZ(-'+ depth +'px) translate(' + ( ( i - indexh ) * hoffset ) + '%, 0%)' ); if( hslide.classList.contains( 'stack' ) ) { @@ -1079,16 +1083,13 @@ var Reveal = (function(){ for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) { var verticalIndex = i === indexh ? indexv : getPreviousVerticalIndex( hslide ); - var vslide = verticalSlides[j], - vtransform = 'translate(0%, ' + ( ( j - verticalIndex ) * 105 ) + '%)'; + var vslide = verticalSlides[j]; vslide.setAttribute( 'data-index-h', i ); vslide.setAttribute( 'data-index-v', j ); - vslide.style.WebkitTransform = vtransform; - vslide.style.MozTransform = vtransform; - vslide.style.msTransform = vtransform; - vslide.style.OTransform = vtransform; - vslide.style.transform = vtransform; + + // Apply CSS transform + transformElement( vslide, 'translate(0%, ' + ( ( j - verticalIndex ) * 105 ) + '%)' ); // Navigate to this slide on click vslide.addEventListener( 'click', onOverviewSlideClicked, true ); @@ -1154,11 +1155,7 @@ var Reveal = (function(){ element.style.display = ''; // Resets all transforms to use the external styles - element.style.WebkitTransform = ''; - element.style.MozTransform = ''; - element.style.msTransform = ''; - element.style.OTransform = ''; - element.style.transform = ''; + transformElement( element, '' ); element.removeEventListener( 'click', onOverviewSlideClicked, true ); } diff --git a/js/reveal.min.js b/js/reveal.min.js index 388b5896..5c2127b7 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -1,8 +1,8 @@ /*! - * reveal.js 2.5.0 (2013-08-13, 08:39) + * reveal.js 2.5.0 (2013-08-13, 09:26) * http://lab.hakim.se/reveal-js * MIT licensed * * Copyright (C) 2013 Hakim El Hattab, http://hakim.se */ -var Reveal=function(){"use strict";function e(e){return t(),Nt||Dt?(window.addEventListener("load",A,!1),u(zt,e),a(),i(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Dt="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,Nt="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,Ct=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){jt.theme=document.querySelector("#theme"),jt.wrapper=document.querySelector(".reveal"),jt.slides=document.querySelector(".reveal .slides"),jt.slides.classList.add("no-transition"),jt.background=r(jt.wrapper,"div","backgrounds",null),jt.progress=r(jt.wrapper,"div","progress",""),jt.progressbar=jt.progress.querySelector("span"),r(jt.wrapper,"aside","controls",''),r(jt.wrapper,"div","state-background",null),r(jt.wrapper,"div","pause-overlay",null),zt.controls&&(jt.controls=document.querySelector(".reveal .controls"),jt.controlsLeft=f(document.querySelectorAll(".navigate-left")),jt.controlsRight=f(document.querySelectorAll(".navigate-right")),jt.controlsUp=f(document.querySelectorAll(".navigate-up")),jt.controlsDown=f(document.querySelectorAll(".navigate-down")),jt.controlsPrev=f(document.querySelectorAll(".navigate-prev")),jt.controlsNext=f(document.querySelectorAll(".navigate-next")))}function r(e,t,n,r){var o=e.querySelector("."+n);return o||(o=document.createElement(t),o.classList.add(n),null!==r&&(o.innerHTML=r),e.appendChild(o)),o}function o(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}m()&&document.body.classList.add("print-pdf"),jt.background.innerHTML="",jt.background.classList.add("no-transition"),f(document.querySelectorAll(It)).forEach(function(t){var n;n=m()?e(t,t):e(t,jt.background),f(t.querySelectorAll("section")).forEach(function(t){m()?e(t,t):e(t,n)})})}function a(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",g,!1),window.addEventListener("orientationchange",g,!1))}function i(){function e(){n.length&&head.js.apply(null,n),s()}for(var t=[],n=[],r=0,o=zt.dependencies.length;o>r;r++){var a=zt.dependencies[r];(!a.condition||a.condition())&&(a.async?n.push(a.src):t.push(a.src),"function"==typeof a.callback&&head.ready(a.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],a.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function s(){n(),c(),Z(),setTimeout(function(){jt.slides.classList.remove("no-transition"),Xt=!0,h("ready",{indexh:xt,indexv:Tt,currentSlide:Pt})},1)}function c(e){if(jt.wrapper.classList.remove(zt.transition),"object"==typeof e&&u(zt,e),Dt===!1&&(zt.transition="linear"),jt.wrapper.classList.add(zt.transition),jt.wrapper.setAttribute("data-transition-speed",zt.transitionSpeed),jt.wrapper.setAttribute("data-background-transition",zt.backgroundTransition),jt.controls&&(jt.controls.style.display=zt.controls&&jt.controls?"block":"none"),jt.progress&&(jt.progress.style.display=zt.progress&&jt.progress?"block":"none"),zt.rtl?jt.wrapper.classList.add("rtl"):jt.wrapper.classList.remove("rtl"),zt.center?jt.wrapper.classList.add("center"):jt.wrapper.classList.remove("center"),zt.mouseWheel?(document.addEventListener("DOMMouseScroll",mt,!1),document.addEventListener("mousewheel",mt,!1)):(document.removeEventListener("DOMMouseScroll",mt,!1),document.removeEventListener("mousewheel",mt,!1)),zt.rollingLinks?y():b(),zt.previewLinks?w():(L(),w("[data-preview-link]")),zt.theme&&jt.theme){var t=jt.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];zt.theme!==r&&(t=t.replace(n,zt.theme),jt.theme.setAttribute("href",t))}X()}function l(){Zt=!0,window.addEventListener("hashchange",kt,!1),window.addEventListener("resize",St,!1),zt.touch&&(jt.wrapper.addEventListener("touchstart",lt,!1),jt.wrapper.addEventListener("touchmove",dt,!1),jt.wrapper.addEventListener("touchend",ut,!1),window.navigator.msPointerEnabled&&(jt.wrapper.addEventListener("MSPointerDown",ft,!1),jt.wrapper.addEventListener("MSPointerMove",vt,!1),jt.wrapper.addEventListener("MSPointerUp",pt,!1))),zt.keyboard&&document.addEventListener("keydown",ct,!1),zt.progress&&jt.progress&&jt.progress.addEventListener("click",gt,!1),zt.controls&&jt.controls&&["touchstart","click"].forEach(function(e){jt.controlsLeft.forEach(function(t){t.addEventListener(e,ht,!1)}),jt.controlsRight.forEach(function(t){t.addEventListener(e,yt,!1)}),jt.controlsUp.forEach(function(t){t.addEventListener(e,bt,!1)}),jt.controlsDown.forEach(function(t){t.addEventListener(e,wt,!1)}),jt.controlsPrev.forEach(function(t){t.addEventListener(e,Lt,!1)}),jt.controlsNext.forEach(function(t){t.addEventListener(e,Et,!1)})})}function d(){Zt=!1,document.removeEventListener("keydown",ct,!1),window.removeEventListener("hashchange",kt,!1),window.removeEventListener("resize",St,!1),jt.wrapper.removeEventListener("touchstart",lt,!1),jt.wrapper.removeEventListener("touchmove",dt,!1),jt.wrapper.removeEventListener("touchend",ut,!1),window.navigator.msPointerEnabled&&(jt.wrapper.removeEventListener("MSPointerDown",ft,!1),jt.wrapper.removeEventListener("MSPointerMove",vt,!1),jt.wrapper.removeEventListener("MSPointerUp",pt,!1)),zt.progress&&jt.progress&&jt.progress.removeEventListener("click",gt,!1),zt.controls&&jt.controls&&["touchstart","click"].forEach(function(e){jt.controlsLeft.forEach(function(t){t.removeEventListener(e,ht,!1)}),jt.controlsRight.forEach(function(t){t.removeEventListener(e,yt,!1)}),jt.controlsUp.forEach(function(t){t.removeEventListener(e,bt,!1)}),jt.controlsDown.forEach(function(t){t.removeEventListener(e,wt,!1)}),jt.controlsPrev.forEach(function(t){t.removeEventListener(e,Lt,!1)}),jt.controlsNext.forEach(function(t){t.removeEventListener(e,Et,!1)})})}function u(e,t){for(var n in t)e[n]=t[n]}function f(e){return Array.prototype.slice.call(e)}function v(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function p(e){var t=0;if(e){var n=0;f(e.childNodes).forEach(function(e){"number"==typeof e.offsetTop&&e.style&&("absolute"===e.style.position&&(n+=1),t=Math.max(t,e.offsetTop+e.offsetHeight))}),0===n&&(t=e.offsetHeight)}return t}function m(){return/print-pdf/gi.test(window.location.search)}function g(){0===window.orientation?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function h(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),u(n,t),jt.wrapper.dispatchEvent(n)}function y(){if(Dt&&!("msPerspective"in document.body.style))for(var e=document.querySelectorAll(Rt+" a:not(.image)"),t=0,n=e.length;n>t;t++){var r=e[t];if(!(!r.textContent||r.querySelector("*")||r.className&&r.classList.contains(r,"roll"))){var o=document.createElement("span");o.setAttribute("data-title",r.text),o.innerHTML=r.innerHTML,r.classList.add("roll"),r.innerHTML="",r.appendChild(o)}}}function b(){for(var e=document.querySelectorAll(Rt+" a.roll"),t=0,n=e.length;n>t;t++){var r=e[t],o=r.querySelector("span");o&&(r.classList.remove("roll"),r.innerHTML=o.innerHTML)}}function w(e){var t=f(document.querySelectorAll(e?e:"a"));t.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",qt,!1)})}function L(){var e=f(document.querySelectorAll("a"));e.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",qt,!1)})}function E(e){k(),jt.preview=document.createElement("div"),jt.preview.classList.add("preview-link-overlay"),jt.wrapper.appendChild(jt.preview),jt.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),jt.preview.querySelector("iframe").addEventListener("load",function(){jt.preview.classList.add("loaded")},!1),jt.preview.querySelector(".close").addEventListener("click",function(e){k(),e.preventDefault()},!1),jt.preview.querySelector(".external").addEventListener("click",function(){k()},!1),setTimeout(function(){jt.preview.classList.add("visible")},1)}function k(){jt.preview&&(jt.preview.setAttribute("src",""),jt.preview.parentNode.removeChild(jt.preview),jt.preview=null)}function S(e){var t=f(e);return t.forEach(function(e,t){e.hasAttribute("data-fragment-index")||e.setAttribute("data-fragment-index",t)}),t.sort(function(e,t){return e.getAttribute("data-fragment-index")-t.getAttribute("data-fragment-index")}),t}function A(){if(jt.wrapper&&!m()){var e=jt.wrapper.offsetWidth,t=jt.wrapper.offsetHeight;e-=t*zt.margin,t-=t*zt.margin;var n=zt.width,r=zt.height;if("string"==typeof n&&/%$/.test(n)&&(n=parseInt(n,10)/100*e),"string"==typeof r&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),jt.slides.style.width=n+"px",jt.slides.style.height=r+"px",Ut=Math.min(e/n,t/r),Ut=Math.max(Ut,zt.minScale),Ut=Math.min(Ut,zt.maxScale),void 0===jt.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)){var o="translate(-50%, -50%) scale("+Ut+") translate(50%, 50%)";jt.slides.style.WebkitTransform=o,jt.slides.style.MozTransform=o,jt.slides.style.msTransform=o,jt.slides.style.OTransform=o,jt.slides.style.transform=o}else jt.slides.style.zoom=Ut;for(var a=f(document.querySelectorAll(Rt)),i=0,s=a.length;s>i;i++){var c=a[i];"none"!==c.style.display&&(c.style.top=zt.center?c.classList.contains("stack")?0:Math.max(-(p(c)/2)-20,-r/2)+"px":"")}U()}}function q(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function x(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){var t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function T(){if(zt.overview){tt();var e=jt.wrapper.classList.contains("overview"),t=400>window.innerWidth?1e3:2500;jt.wrapper.classList.add("overview"),jt.wrapper.classList.remove("exit-overview"),clearTimeout($t),clearTimeout(Vt),$t=setTimeout(function(){for(var n=document.querySelectorAll(It),r=0,o=n.length;o>r;r++){var a=n[r],i=zt.rtl?-105:105,s="translateZ(-"+t+"px) translate("+(r-xt)*i+"%, 0%)";if(a.setAttribute("data-index-h",r),a.style.WebkitTransform=s,a.style.MozTransform=s,a.style.msTransform=s,a.style.OTransform=s,a.style.transform=s,a.classList.contains("stack"))for(var c=a.querySelectorAll("section"),l=0,d=c.length;d>l;l++){var u=r===xt?Tt:x(a),f=c[l],v="translate(0%, "+105*(l-u)+"%)";f.setAttribute("data-index-h",r),f.setAttribute("data-index-v",l),f.style.WebkitTransform=v,f.style.MozTransform=v,f.style.msTransform=v,f.style.OTransform=v,f.style.transform=v,f.addEventListener("click",At,!0)}else a.addEventListener("click",At,!0)}W(),A(),e||h("overviewshown",{indexh:xt,indexv:Tt,currentSlide:Pt})},10)}}function M(){if(zt.overview){clearTimeout($t),clearTimeout(Vt),jt.wrapper.classList.remove("overview"),jt.wrapper.classList.add("exit-overview"),Vt=setTimeout(function(){jt.wrapper.classList.remove("exit-overview")},10);for(var e=f(document.querySelectorAll(Rt)),t=0,n=e.length;n>t;t++){var r=e[t];r.style.display="",r.style.WebkitTransform="",r.style.MozTransform="",r.style.msTransform="",r.style.OTransform="",r.style.transform="",r.removeEventListener("click",At,!0)}z(xt,Tt),et(),h("overviewhidden",{indexh:xt,indexv:Tt,currentSlide:Pt})}}function P(e){"boolean"==typeof e?e?T():M():D()?M():T()}function D(){return jt.wrapper.classList.contains("overview")}function N(e){return e=e?e:Pt,e&&!!e.parentNode.nodeName.match(/section/i)}function C(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function R(){var e=jt.wrapper.classList.contains("paused");tt(),jt.wrapper.classList.add("paused"),e===!1&&h("paused")}function I(){var e=jt.wrapper.classList.contains("paused");jt.wrapper.classList.remove("paused"),et(),e&&h("resumed")}function O(){Y()?I():R()}function Y(){return jt.wrapper.classList.contains("paused")}function z(e,t,n,r){Mt=Pt;var o=document.querySelectorAll(It);void 0===t&&(t=x(o[e])),Mt&&Mt.parentNode&&Mt.parentNode.classList.contains("stack")&&q(Mt.parentNode,Tt);var a=Wt.concat();Wt.length=0;var i=xt,s=Tt;xt=H(It,void 0===e?xt:e),Tt=H(Ot,void 0===t?Tt:t),W(),A();e:for(var c=0,l=Wt.length;l>c;c++){for(var d=0;a.length>d;d++)if(a[d]===Wt[c]){a.splice(d,1);continue e}document.documentElement.classList.add(Wt[c]),h(Wt[c])}for(;a.length;)document.documentElement.classList.remove(a.pop());D()&&T();var u=o[xt],v=u.querySelectorAll("section");if(Pt=v[Tt]||u,n!==void 0){var p=S(Pt.querySelectorAll(".fragment"));f(p).forEach(function(e,t){n>t?e.classList.add("visible"):e.classList.remove("visible")})}var m=xt!==i||Tt!==s;m?h("slidechanged",{indexh:xt,indexv:Tt,previousSlide:Mt,currentSlide:Pt,origin:r}):Mt=null,Mt&&(Mt.classList.remove("present"),document.querySelector(Yt).classList.contains("present")&&setTimeout(function(){var e,t=f(document.querySelectorAll(It+".stack"));for(e in t)t[e]&&q(t[e],0)},0)),m&&(V(Mt),$(Pt)),j(),U(),F(),Q()}function X(){d(),l(),A(),Ht=zt.autoSlide,et(),o(),j(),U(),F()}function H(e,t){var n=f(document.querySelectorAll(e)),r=n.length;if(r){zt.loop&&(t%=r,0>t&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;r>o;o++){var a=n[o],i=zt.rtl&&!N(a);if(a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),t>o)a.classList.add(i?"future":"past");else if(o>t){a.classList.add(i?"past":"future");for(var s=f(a.querySelectorAll(".fragment.visible"));s.length;)s.pop().classList.remove("visible")}a.querySelector("section")&&a.classList.add("stack")}n[t].classList.add("present"),n[t].removeAttribute("hidden");var c=n[t].getAttribute("data-state");c&&(Wt=Wt.concat(c.split(" ")));var l=n[t].getAttribute("data-autoslide");Ht=l?parseInt(l,10):zt.autoSlide,et()}else t=0;return t}function W(){var e,t,n=f(document.querySelectorAll(It)),r=n.length;if(r){var o=D()?10:zt.viewDistance;Ct&&(o=D()?6:1);for(var a=0;r>a;a++){var i=n[a],s=f(i.querySelectorAll("section")),c=s.length;if(e=Math.abs((xt-a)%(r-o))||0,c){i.style.display="block";for(var l=x(i),d=0;c>d;d++){var u=s[d];t=a===xt?Math.abs(Tt-d):Math.abs(d-l),u.style.display=e+t>o?"none":"block"}}else i.style.display=e>o?"none":"block"}}}function U(){if(zt.progress&&jt.progress){var e=f(document.querySelectorAll(It)),t=document.querySelectorAll(Rt+":not(.stack)").length,n=0;e:for(var r=0;e.length>r;r++){for(var o=e[r],a=f(o.querySelectorAll("section")),i=0;a.length>i;i++){if(a[i].classList.contains("present"))break e;n++}if(o.classList.contains("present"))break;o.classList.contains("stack")===!1&&n++}jt.progressbar.style.width=n/(t-1)*window.innerWidth+"px"}}function j(){if(zt.controls&&jt.controls){var e=_(),t=K();jt.controlsLeft.concat(jt.controlsRight).concat(jt.controlsUp).concat(jt.controlsDown).concat(jt.controlsPrev).concat(jt.controlsNext).forEach(function(e){e.classList.remove("enabled"),e.classList.remove("fragmented")}),e.left&&jt.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&jt.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&jt.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&jt.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&jt.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&jt.controlsNext.forEach(function(e){e.classList.add("enabled")}),Pt&&(t.prev&&jt.controlsPrev.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&jt.controlsNext.forEach(function(e){e.classList.add("fragmented","enabled")}),N(Pt)?(t.prev&&jt.controlsUp.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&jt.controlsDown.forEach(function(e){e.classList.add("fragmented","enabled")})):(t.prev&&jt.controlsLeft.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&jt.controlsRight.forEach(function(e){e.classList.add("fragmented","enabled")})))}}function F(){f(jt.background.childNodes).forEach(function(e,t){var n=zt.rtl?"future":"past",r=zt.rtl?"past":"future";e.className="slide-background "+(xt>t?n:t>xt?r:"present"),f(e.childNodes).forEach(function(e,t){e.className="slide-background "+(Tt>t?"past":t>Tt?"future":"present")})}),setTimeout(function(){jt.background.classList.remove("no-transition")},1)}function _(){var e=document.querySelectorAll(It),t=document.querySelectorAll(Ot),n={left:xt>0||zt.loop,right:e.length-1>xt||zt.loop,up:Tt>0,down:t.length-1>Tt};if(zt.rtl){var r=n.left;n.left=n.right,n.right=r}return n}function K(){if(Pt&&zt.fragments){var e=Pt.querySelectorAll(".fragment"),t=Pt.querySelectorAll(".fragment:not(.visible)");return{prev:e.length-t.length>0,next:!!t.length}}return{prev:!1,next:!1}}function $(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-autoplay")&&e.play()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-autoplay")&&e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function V(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-ignore")||e.pause()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-ignore")||"function"!=typeof e.contentWindow.postMessage||e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function Z(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var o=Reveal.getIndices(r);z(o.h,o.v)}else z(xt||0,Tt||0)}else{var a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0;(a!==xt||i!==Tt)&&z(a,i)}}function Q(e){if(zt.history)if(clearTimeout(Kt),"number"==typeof e)Kt=setTimeout(Q,e);else{var t="/";Pt&&"string"==typeof Pt.getAttribute("id")?t="/"+Pt.getAttribute("id"):((xt>0||Tt>0)&&(t+=xt),Tt>0&&(t+="/"+Tt)),window.location.hash=t}}function B(e){var t,n=xt,r=Tt;if(e){var o=N(e),a=o?e.parentNode:e,i=f(document.querySelectorAll(It));n=Math.max(i.indexOf(a),0),o&&(r=Math.max(f(e.parentNode.querySelectorAll("section")).indexOf(e),0))}if(!e&&Pt){var s=Pt.querySelectorAll(".fragment").length>0;if(s){var c=Pt.querySelectorAll(".fragment.visible");t=c.length}}return{h:n,v:r,f:t}}function G(){if(Pt&&zt.fragments){var e=S(Pt.querySelectorAll(".fragment:not(.visible)"));if(e.length){var t=e[0].getAttribute("data-fragment-index");return e=Pt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.add("visible")}),h("fragmentshown",{fragment:e[0],fragments:e}),j(),!0}}return!1}function J(){if(Pt&&zt.fragments){var e=S(Pt.querySelectorAll(".fragment.visible"));if(e.length){var t=e[e.length-1].getAttribute("data-fragment-index");return e=Pt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.remove("visible")}),h("fragmenthidden",{fragment:e[0],fragments:e}),j(),!0}}return!1}function et(){clearTimeout(_t),!Ht||Y()||D()||(_t=setTimeout(st,Ht))}function tt(){clearTimeout(_t)}function nt(){zt.rtl?(D()||G()===!1)&&_().left&&z(xt+1):(D()||J()===!1)&&_().left&&z(xt-1)}function rt(){zt.rtl?(D()||J()===!1)&&_().right&&z(xt-1):(D()||G()===!1)&&_().right&&z(xt+1)}function ot(){(D()||J()===!1)&&_().up&&z(xt,Tt-1)}function at(){(D()||G()===!1)&&_().down&&z(xt,Tt+1)}function it(){if(J()===!1)if(_().up)ot();else{var e=document.querySelector(It+".past:nth-child("+xt+")");if(e){var t=e.querySelectorAll("section").length-1||void 0,n=xt-1;z(n,t)}}}function st(){G()===!1&&(_().down?at():rt()),et()}function ct(e){document.activeElement;var t=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(t||e.shiftKey&&32!==e.keyCode||e.altKey||e.ctrlKey||e.metaKey)){if(Y()&&-1===[66,190,191].indexOf(e.keyCode))return!1;var n=!1;if("object"==typeof zt.keyboard)for(var r in zt.keyboard)if(parseInt(r,10)===e.keyCode){var o=zt.keyboard[r];"function"==typeof o?o.apply(null,[e]):"string"==typeof o&&"function"==typeof Reveal[o]&&Reveal[o].call(),n=!0}if(n===!1)switch(n=!0,e.keyCode){case 80:case 33:it();break;case 78:case 34:st();break;case 72:case 37:nt();break;case 76:case 39:rt();break;case 75:case 38:ot();break;case 74:case 40:at();break;case 36:z(0);break;case 35:z(Number.MAX_VALUE);break;case 32:D()?M():e.shiftKey?it():st();break;case 13:D()?M():n=!1;break;case 66:case 190:case 191:O();break;case 70:C();break;default:n=!1}n?e.preventDefault():27!==e.keyCode&&79!==e.keyCode||!Dt||(P(),e.preventDefault()),et()}}function lt(e){Qt.startX=e.touches[0].clientX,Qt.startY=e.touches[0].clientY,Qt.startCount=e.touches.length,2===e.touches.length&&zt.overview&&(Qt.startSpan=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Qt.startX,y:Qt.startY}))}function dt(e){if(Qt.captured)navigator.userAgent.match(/android/gi)&&e.preventDefault();else{var t=e.touches[0].clientX,n=e.touches[0].clientY;if(2===e.touches.length&&2===Qt.startCount&&zt.overview){var r=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Qt.startX,y:Qt.startY});Math.abs(Qt.startSpan-r)>Qt.threshold&&(Qt.captured=!0,Qt.startSpan>r?T():M()),e.preventDefault()}else if(1===e.touches.length&&2!==Qt.startCount){var o=t-Qt.startX,a=n-Qt.startY;o>Qt.threshold&&Math.abs(o)>Math.abs(a)?(Qt.captured=!0,nt()):-Qt.threshold>o&&Math.abs(o)>Math.abs(a)?(Qt.captured=!0,rt()):a>Qt.threshold?(Qt.captured=!0,ot()):-Qt.threshold>a&&(Qt.captured=!0,at()),zt.embedded?(Qt.captured||N(Pt))&&e.preventDefault():e.preventDefault()}}}function ut(){Qt.captured=!1}function ft(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],lt(e))}function vt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],dt(e))}function pt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],ut(e))}function mt(e){if(Date.now()-Ft>600){Ft=Date.now();var t=e.detail||-e.wheelDelta;t>0?st():it()}}function gt(e){e.preventDefault();var t=f(document.querySelectorAll(It)).length,n=Math.floor(e.clientX/jt.wrapper.offsetWidth*t);z(n)}function ht(e){e.preventDefault(),nt()}function yt(e){e.preventDefault(),rt()}function bt(e){e.preventDefault(),ot()}function wt(e){e.preventDefault(),at()}function Lt(e){e.preventDefault(),it()}function Et(e){e.preventDefault(),st()}function kt(){Z()}function St(){A()}function At(e){if(Zt&&D()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(M(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);z(n,r)}}}function qt(e){var t=e.target.getAttribute("href");t&&(E(t),e.preventDefault())}var xt,Tt,Mt,Pt,Dt,Nt,Ct,Rt=".reveal .slides section",It=".reveal .slides>section",Ot=".reveal .slides>section.present>section",Yt=".reveal .slides>section:first-child",zt={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!1,previewLinks:!1,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",viewDistance:3,dependencies:[]},Xt=!1,Ht=0,Wt=[],Ut=1,jt={},Ft=0,_t=0,Kt=0,$t=0,Vt=0,Zt=!1,Qt={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return{initialize:e,configure:c,sync:X,slide:z,left:nt,right:rt,up:ot,down:at,prev:it,next:st,prevFragment:J,nextFragment:G,navigateTo:z,navigateLeft:nt,navigateRight:rt,navigateUp:ot,navigateDown:at,navigatePrev:it,navigateNext:st,layout:A,availableRoutes:_,availableFragments:K,toggleOverview:P,togglePause:O,isOverview:D,isPaused:Y,addEventListeners:l,removeEventListeners:d,getIndices:B,getSlide:function(e,t){var n=document.querySelectorAll(It)[e],r=n&&n.querySelectorAll("section");return t!==void 0?r?r[t]:void 0:n},getPreviousSlide:function(){return Mt},getCurrentSlide:function(){return Pt},getScale:function(){return Ut},getConfig:function(){return zt},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return null==document.querySelector(Rt+".past")?!0:!1},isLastSlide:function(){return Pt&&Pt.classList.contains(".stack")?null==Pt.querySelector(Rt+".future")?!0:!1:null==document.querySelector(Rt+".future")?!0:!1},isReady:function(){return Xt},addEventListener:function(e,t,n){"addEventListener"in window&&(jt.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(jt.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function e(e){return t(),Ct||Nt?(window.addEventListener("load",q,!1),d(Ot,e),a(),i(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Nt="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,Ct="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,Rt=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){Ft.theme=document.querySelector("#theme"),Ft.wrapper=document.querySelector(".reveal"),Ft.slides=document.querySelector(".reveal .slides"),Ft.slides.classList.add("no-transition"),Ft.background=r(Ft.wrapper,"div","backgrounds",null),Ft.progress=r(Ft.wrapper,"div","progress",""),Ft.progressbar=Ft.progress.querySelector("span"),r(Ft.wrapper,"aside","controls",''),r(Ft.wrapper,"div","state-background",null),r(Ft.wrapper,"div","pause-overlay",null),Ot.controls&&(Ft.controls=document.querySelector(".reveal .controls"),Ft.controlsLeft=f(document.querySelectorAll(".navigate-left")),Ft.controlsRight=f(document.querySelectorAll(".navigate-right")),Ft.controlsUp=f(document.querySelectorAll(".navigate-up")),Ft.controlsDown=f(document.querySelectorAll(".navigate-down")),Ft.controlsPrev=f(document.querySelectorAll(".navigate-prev")),Ft.controlsNext=f(document.querySelectorAll(".navigate-next")))}function r(e,t,n,r){var o=e.querySelector("."+n);return o||(o=document.createElement(t),o.classList.add(n),null!==r&&(o.innerHTML=r),e.appendChild(o)),o}function o(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}m()&&document.body.classList.add("print-pdf"),Ft.background.innerHTML="",Ft.background.classList.add("no-transition"),f(document.querySelectorAll(Yt)).forEach(function(t){var n;n=m()?e(t,t):e(t,Ft.background),f(t.querySelectorAll("section")).forEach(function(t){m()?e(t,t):e(t,n)})})}function a(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",h,!1),window.addEventListener("orientationchange",h,!1))}function i(){function e(){n.length&&head.js.apply(null,n),s()}for(var t=[],n=[],r=0,o=Ot.dependencies.length;o>r;r++){var a=Ot.dependencies[r];(!a.condition||a.condition())&&(a.async?n.push(a.src):t.push(a.src),"function"==typeof a.callback&&head.ready(a.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],a.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function s(){n(),c(),Q(),setTimeout(function(){Ft.slides.classList.remove("no-transition"),zt=!0,b("ready",{indexh:Tt,indexv:Mt,currentSlide:Dt})},1)}function c(e){if(Ft.wrapper.classList.remove(Ot.transition),"object"==typeof e&&d(Ot,e),Nt===!1&&(Ot.transition="linear"),Ft.wrapper.classList.add(Ot.transition),Ft.wrapper.setAttribute("data-transition-speed",Ot.transitionSpeed),Ft.wrapper.setAttribute("data-background-transition",Ot.backgroundTransition),Ft.controls&&(Ft.controls.style.display=Ot.controls&&Ft.controls?"block":"none"),Ft.progress&&(Ft.progress.style.display=Ot.progress&&Ft.progress?"block":"none"),Ot.rtl?Ft.wrapper.classList.add("rtl"):Ft.wrapper.classList.remove("rtl"),Ot.center?Ft.wrapper.classList.add("center"):Ft.wrapper.classList.remove("center"),Ot.mouseWheel?(document.addEventListener("DOMMouseScroll",mt,!1),document.addEventListener("mousewheel",mt,!1)):(document.removeEventListener("DOMMouseScroll",mt,!1),document.removeEventListener("mousewheel",mt,!1)),Ot.rollingLinks?y():w(),Ot.previewLinks?L():(E(),L("[data-preview-link]")),Ot.theme&&Ft.theme){var t=Ft.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];Ot.theme!==r&&(t=t.replace(n,Ot.theme),Ft.theme.setAttribute("href",t))}z()}function l(){Qt=!0,window.addEventListener("hashchange",St,!1),window.addEventListener("resize",At,!1),Ot.touch&&(Ft.wrapper.addEventListener("touchstart",ut,!1),Ft.wrapper.addEventListener("touchmove",dt,!1),Ft.wrapper.addEventListener("touchend",ft,!1),window.navigator.msPointerEnabled&&(Ft.wrapper.addEventListener("MSPointerDown",vt,!1),Ft.wrapper.addEventListener("MSPointerMove",pt,!1),Ft.wrapper.addEventListener("MSPointerUp",gt,!1))),Ot.keyboard&&document.addEventListener("keydown",lt,!1),Ot.progress&&Ft.progress&&Ft.progress.addEventListener("click",ht,!1),Ot.controls&&Ft.controls&&["touchstart","click"].forEach(function(e){Ft.controlsLeft.forEach(function(t){t.addEventListener(e,bt,!1)}),Ft.controlsRight.forEach(function(t){t.addEventListener(e,yt,!1)}),Ft.controlsUp.forEach(function(t){t.addEventListener(e,wt,!1)}),Ft.controlsDown.forEach(function(t){t.addEventListener(e,Lt,!1)}),Ft.controlsPrev.forEach(function(t){t.addEventListener(e,Et,!1)}),Ft.controlsNext.forEach(function(t){t.addEventListener(e,kt,!1)})})}function u(){Qt=!1,document.removeEventListener("keydown",lt,!1),window.removeEventListener("hashchange",St,!1),window.removeEventListener("resize",At,!1),Ft.wrapper.removeEventListener("touchstart",ut,!1),Ft.wrapper.removeEventListener("touchmove",dt,!1),Ft.wrapper.removeEventListener("touchend",ft,!1),window.navigator.msPointerEnabled&&(Ft.wrapper.removeEventListener("MSPointerDown",vt,!1),Ft.wrapper.removeEventListener("MSPointerMove",pt,!1),Ft.wrapper.removeEventListener("MSPointerUp",gt,!1)),Ot.progress&&Ft.progress&&Ft.progress.removeEventListener("click",ht,!1),Ot.controls&&Ft.controls&&["touchstart","click"].forEach(function(e){Ft.controlsLeft.forEach(function(t){t.removeEventListener(e,bt,!1)}),Ft.controlsRight.forEach(function(t){t.removeEventListener(e,yt,!1)}),Ft.controlsUp.forEach(function(t){t.removeEventListener(e,wt,!1)}),Ft.controlsDown.forEach(function(t){t.removeEventListener(e,Lt,!1)}),Ft.controlsPrev.forEach(function(t){t.removeEventListener(e,Et,!1)}),Ft.controlsNext.forEach(function(t){t.removeEventListener(e,kt,!1)})})}function d(e,t){for(var n in t)e[n]=t[n]}function f(e){return Array.prototype.slice.call(e)}function v(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function p(e,t){e.style.WebkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function g(e){var t=0;if(e){var n=0;f(e.childNodes).forEach(function(e){"number"==typeof e.offsetTop&&e.style&&("absolute"===e.style.position&&(n+=1),t=Math.max(t,e.offsetTop+e.offsetHeight))}),0===n&&(t=e.offsetHeight)}return t}function m(){return/print-pdf/gi.test(window.location.search)}function h(){0===window.orientation?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function b(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),d(n,t),Ft.wrapper.dispatchEvent(n)}function y(){if(Nt&&!("msPerspective"in document.body.style))for(var e=document.querySelectorAll(It+" a:not(.image)"),t=0,n=e.length;n>t;t++){var r=e[t];if(!(!r.textContent||r.querySelector("*")||r.className&&r.classList.contains(r,"roll"))){var o=document.createElement("span");o.setAttribute("data-title",r.text),o.innerHTML=r.innerHTML,r.classList.add("roll"),r.innerHTML="",r.appendChild(o)}}}function w(){for(var e=document.querySelectorAll(It+" a.roll"),t=0,n=e.length;n>t;t++){var r=e[t],o=r.querySelector("span");o&&(r.classList.remove("roll"),r.innerHTML=o.innerHTML)}}function L(e){var t=f(document.querySelectorAll(e?e:"a"));t.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",xt,!1)})}function E(){var e=f(document.querySelectorAll("a"));e.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",xt,!1)})}function k(e){S(),Ft.preview=document.createElement("div"),Ft.preview.classList.add("preview-link-overlay"),Ft.wrapper.appendChild(Ft.preview),Ft.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),Ft.preview.querySelector("iframe").addEventListener("load",function(){Ft.preview.classList.add("loaded")},!1),Ft.preview.querySelector(".close").addEventListener("click",function(e){S(),e.preventDefault()},!1),Ft.preview.querySelector(".external").addEventListener("click",function(){S()},!1),setTimeout(function(){Ft.preview.classList.add("visible")},1)}function S(){Ft.preview&&(Ft.preview.setAttribute("src",""),Ft.preview.parentNode.removeChild(Ft.preview),Ft.preview=null)}function A(e){var t=f(e);return t.forEach(function(e,t){e.hasAttribute("data-fragment-index")||e.setAttribute("data-fragment-index",t)}),t.sort(function(e,t){return e.getAttribute("data-fragment-index")-t.getAttribute("data-fragment-index")}),t}function q(){if(Ft.wrapper&&!m()){var e=Ft.wrapper.offsetWidth,t=Ft.wrapper.offsetHeight;e-=t*Ot.margin,t-=t*Ot.margin;var n=Ot.width,r=Ot.height;"string"==typeof n&&/%$/.test(n)&&(n=parseInt(n,10)/100*e),"string"==typeof r&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),Ft.slides.style.width=n+"px",Ft.slides.style.height=r+"px",jt=Math.min(e/n,t/r),jt=Math.max(jt,Ot.minScale),jt=Math.min(jt,Ot.maxScale),void 0===Ft.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?p(Ft.slides,"translate(-50%, -50%) scale("+jt+") translate(50%, 50%)"):Ft.slides.style.zoom=jt;for(var o=f(document.querySelectorAll(It)),a=0,i=o.length;i>a;a++){var s=o[a];"none"!==s.style.display&&(s.style.top=Ot.center?s.classList.contains("stack")?0:Math.max(-(g(s)/2)-20,-r/2)+"px":"")}j()}}function x(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function T(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){var t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function M(){if(Ot.overview){nt();var e=Ft.wrapper.classList.contains("overview"),t=400>window.innerWidth?1e3:2500;Ft.wrapper.classList.add("overview"),Ft.wrapper.classList.remove("exit-overview"),clearTimeout(Vt),clearTimeout(Zt),Vt=setTimeout(function(){for(var n=document.querySelectorAll(Yt),r=0,o=n.length;o>r;r++){var a=n[r],i=Ot.rtl?-105:105;if(a.setAttribute("data-index-h",r),p(a,"translateZ(-"+t+"px) translate("+(r-Tt)*i+"%, 0%)"),a.classList.contains("stack"))for(var s=a.querySelectorAll("section"),c=0,l=s.length;l>c;c++){var u=r===Tt?Mt:T(a),d=s[c];d.setAttribute("data-index-h",r),d.setAttribute("data-index-v",c),p(d,"translate(0%, "+105*(c-u)+"%)"),d.addEventListener("click",qt,!0)}else a.addEventListener("click",qt,!0)}W(),q(),e||b("overviewshown",{indexh:Tt,indexv:Mt,currentSlide:Dt})},10)}}function P(){if(Ot.overview){clearTimeout(Vt),clearTimeout(Zt),Ft.wrapper.classList.remove("overview"),Ft.wrapper.classList.add("exit-overview"),Zt=setTimeout(function(){Ft.wrapper.classList.remove("exit-overview")},10);for(var e=f(document.querySelectorAll(It)),t=0,n=e.length;n>t;t++){var r=e[t];r.style.display="",p(r,""),r.removeEventListener("click",qt,!0)}O(Tt,Mt),tt(),b("overviewhidden",{indexh:Tt,indexv:Mt,currentSlide:Dt})}}function D(e){"boolean"==typeof e?e?M():P():N()?P():M()}function N(){return Ft.wrapper.classList.contains("overview")}function C(e){return e=e?e:Dt,e&&!!e.parentNode.nodeName.match(/section/i)}function R(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function I(){var e=Ft.wrapper.classList.contains("paused");nt(),Ft.wrapper.classList.add("paused"),e===!1&&b("paused")}function Y(){var e=Ft.wrapper.classList.contains("paused");Ft.wrapper.classList.remove("paused"),tt(),e&&b("resumed")}function X(){H()?Y():I()}function H(){return Ft.wrapper.classList.contains("paused")}function O(e,t,n,r){Pt=Dt;var o=document.querySelectorAll(Yt);void 0===t&&(t=T(o[e])),Pt&&Pt.parentNode&&Pt.parentNode.classList.contains("stack")&&x(Pt.parentNode,Mt);var a=Wt.concat();Wt.length=0;var i=Tt,s=Mt;Tt=U(Yt,void 0===e?Tt:e),Mt=U(Xt,void 0===t?Mt:t),W(),q();e:for(var c=0,l=Wt.length;l>c;c++){for(var u=0;a.length>u;u++)if(a[u]===Wt[c]){a.splice(u,1);continue e}document.documentElement.classList.add(Wt[c]),b(Wt[c])}for(;a.length;)document.documentElement.classList.remove(a.pop());N()&&M();var d=o[Tt],v=d.querySelectorAll("section");if(Dt=v[Mt]||d,n!==void 0){var p=A(Dt.querySelectorAll(".fragment"));f(p).forEach(function(e,t){n>t?e.classList.add("visible"):e.classList.remove("visible")})}var g=Tt!==i||Mt!==s;g?b("slidechanged",{indexh:Tt,indexv:Mt,previousSlide:Pt,currentSlide:Dt,origin:r}):Pt=null,Pt&&(Pt.classList.remove("present"),document.querySelector(Ht).classList.contains("present")&&setTimeout(function(){var e,t=f(document.querySelectorAll(Yt+".stack"));for(e in t)t[e]&&x(t[e],0)},0)),g&&(Z(Pt),V(Dt)),F(),j(),_(),B()}function z(){u(),l(),q(),Ut=Ot.autoSlide,tt(),o(),F(),j(),_()}function U(e,t){var n=f(document.querySelectorAll(e)),r=n.length;if(r){Ot.loop&&(t%=r,0>t&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;r>o;o++){var a=n[o],i=Ot.rtl&&!C(a);if(a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),t>o)a.classList.add(i?"future":"past");else if(o>t){a.classList.add(i?"past":"future");for(var s=f(a.querySelectorAll(".fragment.visible"));s.length;)s.pop().classList.remove("visible")}a.querySelector("section")&&a.classList.add("stack")}n[t].classList.add("present"),n[t].removeAttribute("hidden");var c=n[t].getAttribute("data-state");c&&(Wt=Wt.concat(c.split(" ")));var l=n[t].getAttribute("data-autoslide");Ut=l?parseInt(l,10):Ot.autoSlide,tt()}else t=0;return t}function W(){var e,t,n=f(document.querySelectorAll(Yt)),r=n.length;if(r){var o=N()?10:Ot.viewDistance;Rt&&(o=N()?6:1);for(var a=0;r>a;a++){var i=n[a],s=f(i.querySelectorAll("section")),c=s.length;if(e=Math.abs((Tt-a)%(r-o))||0,c){i.style.display="block";for(var l=T(i),u=0;c>u;u++){var d=s[u];t=a===Tt?Math.abs(Mt-u):Math.abs(u-l),d.style.display=e+t>o?"none":"block"}}else i.style.display=e>o?"none":"block"}}}function j(){if(Ot.progress&&Ft.progress){var e=f(document.querySelectorAll(Yt)),t=document.querySelectorAll(It+":not(.stack)").length,n=0;e:for(var r=0;e.length>r;r++){for(var o=e[r],a=f(o.querySelectorAll("section")),i=0;a.length>i;i++){if(a[i].classList.contains("present"))break e;n++}if(o.classList.contains("present"))break;o.classList.contains("stack")===!1&&n++}Ft.progressbar.style.width=n/(t-1)*window.innerWidth+"px"}}function F(){if(Ot.controls&&Ft.controls){var e=K(),t=$();Ft.controlsLeft.concat(Ft.controlsRight).concat(Ft.controlsUp).concat(Ft.controlsDown).concat(Ft.controlsPrev).concat(Ft.controlsNext).forEach(function(e){e.classList.remove("enabled"),e.classList.remove("fragmented")}),e.left&&Ft.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&Ft.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&Ft.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&Ft.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&Ft.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&Ft.controlsNext.forEach(function(e){e.classList.add("enabled")}),Dt&&(t.prev&&Ft.controlsPrev.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Ft.controlsNext.forEach(function(e){e.classList.add("fragmented","enabled")}),C(Dt)?(t.prev&&Ft.controlsUp.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Ft.controlsDown.forEach(function(e){e.classList.add("fragmented","enabled")})):(t.prev&&Ft.controlsLeft.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Ft.controlsRight.forEach(function(e){e.classList.add("fragmented","enabled")})))}}function _(){f(Ft.background.childNodes).forEach(function(e,t){var n=Ot.rtl?"future":"past",r=Ot.rtl?"past":"future";e.className="slide-background "+(Tt>t?n:t>Tt?r:"present"),f(e.childNodes).forEach(function(e,t){e.className="slide-background "+(Mt>t?"past":t>Mt?"future":"present")})}),setTimeout(function(){Ft.background.classList.remove("no-transition")},1)}function K(){var e=document.querySelectorAll(Yt),t=document.querySelectorAll(Xt),n={left:Tt>0||Ot.loop,right:e.length-1>Tt||Ot.loop,up:Mt>0,down:t.length-1>Mt};if(Ot.rtl){var r=n.left;n.left=n.right,n.right=r}return n}function $(){if(Dt&&Ot.fragments){var e=Dt.querySelectorAll(".fragment"),t=Dt.querySelectorAll(".fragment:not(.visible)");return{prev:e.length-t.length>0,next:!!t.length}}return{prev:!1,next:!1}}function V(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-autoplay")&&e.play()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-autoplay")&&e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function Z(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-ignore")||e.pause()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-ignore")||"function"!=typeof e.contentWindow.postMessage||e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function Q(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var o=Reveal.getIndices(r);O(o.h,o.v)}else O(Tt||0,Mt||0)}else{var a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0;(a!==Tt||i!==Mt)&&O(a,i)}}function B(e){if(Ot.history)if(clearTimeout($t),"number"==typeof e)$t=setTimeout(B,e);else{var t="/";Dt&&"string"==typeof Dt.getAttribute("id")?t="/"+Dt.getAttribute("id"):((Tt>0||Mt>0)&&(t+=Tt),Mt>0&&(t+="/"+Mt)),window.location.hash=t}}function G(e){var t,n=Tt,r=Mt;if(e){var o=C(e),a=o?e.parentNode:e,i=f(document.querySelectorAll(Yt));n=Math.max(i.indexOf(a),0),o&&(r=Math.max(f(e.parentNode.querySelectorAll("section")).indexOf(e),0))}if(!e&&Dt){var s=Dt.querySelectorAll(".fragment").length>0;if(s){var c=Dt.querySelectorAll(".fragment.visible");t=c.length}}return{h:n,v:r,f:t}}function J(){if(Dt&&Ot.fragments){var e=A(Dt.querySelectorAll(".fragment:not(.visible)"));if(e.length){var t=e[0].getAttribute("data-fragment-index");return e=Dt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.add("visible")}),b("fragmentshown",{fragment:e[0],fragments:e}),F(),!0}}return!1}function et(){if(Dt&&Ot.fragments){var e=A(Dt.querySelectorAll(".fragment.visible"));if(e.length){var t=e[e.length-1].getAttribute("data-fragment-index");return e=Dt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.remove("visible")}),b("fragmenthidden",{fragment:e[0],fragments:e}),F(),!0}}return!1}function tt(){clearTimeout(Kt),!Ut||H()||N()||(Kt=setTimeout(ct,Ut))}function nt(){clearTimeout(Kt)}function rt(){Ot.rtl?(N()||J()===!1)&&K().left&&O(Tt+1):(N()||et()===!1)&&K().left&&O(Tt-1)}function ot(){Ot.rtl?(N()||et()===!1)&&K().right&&O(Tt-1):(N()||J()===!1)&&K().right&&O(Tt+1)}function at(){(N()||et()===!1)&&K().up&&O(Tt,Mt-1)}function it(){(N()||J()===!1)&&K().down&&O(Tt,Mt+1)}function st(){if(et()===!1)if(K().up)at();else{var e=document.querySelector(Yt+".past:nth-child("+Tt+")");if(e){var t=e.querySelectorAll("section").length-1||void 0,n=Tt-1;O(n,t)}}}function ct(){J()===!1&&(K().down?it():ot()),tt()}function lt(e){document.activeElement;var t=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(t||e.shiftKey&&32!==e.keyCode||e.altKey||e.ctrlKey||e.metaKey)){if(H()&&-1===[66,190,191].indexOf(e.keyCode))return!1;var n=!1;if("object"==typeof Ot.keyboard)for(var r in Ot.keyboard)if(parseInt(r,10)===e.keyCode){var o=Ot.keyboard[r];"function"==typeof o?o.apply(null,[e]):"string"==typeof o&&"function"==typeof Reveal[o]&&Reveal[o].call(),n=!0}if(n===!1)switch(n=!0,e.keyCode){case 80:case 33:st();break;case 78:case 34:ct();break;case 72:case 37:rt();break;case 76:case 39:ot();break;case 75:case 38:at();break;case 74:case 40:it();break;case 36:O(0);break;case 35:O(Number.MAX_VALUE);break;case 32:N()?P():e.shiftKey?st():ct();break;case 13:N()?P():n=!1;break;case 66:case 190:case 191:X();break;case 70:R();break;default:n=!1}n?e.preventDefault():27!==e.keyCode&&79!==e.keyCode||!Nt||(D(),e.preventDefault()),tt()}}function ut(e){Bt.startX=e.touches[0].clientX,Bt.startY=e.touches[0].clientY,Bt.startCount=e.touches.length,2===e.touches.length&&Ot.overview&&(Bt.startSpan=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Bt.startX,y:Bt.startY}))}function dt(e){if(Bt.captured)navigator.userAgent.match(/android/gi)&&e.preventDefault();else{var t=e.touches[0].clientX,n=e.touches[0].clientY;if(2===e.touches.length&&2===Bt.startCount&&Ot.overview){var r=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Bt.startX,y:Bt.startY});Math.abs(Bt.startSpan-r)>Bt.threshold&&(Bt.captured=!0,Bt.startSpan>r?M():P()),e.preventDefault()}else if(1===e.touches.length&&2!==Bt.startCount){var o=t-Bt.startX,a=n-Bt.startY;o>Bt.threshold&&Math.abs(o)>Math.abs(a)?(Bt.captured=!0,rt()):-Bt.threshold>o&&Math.abs(o)>Math.abs(a)?(Bt.captured=!0,ot()):a>Bt.threshold?(Bt.captured=!0,at()):-Bt.threshold>a&&(Bt.captured=!0,it()),Ot.embedded?(Bt.captured||C(Dt))&&e.preventDefault():e.preventDefault()}}}function ft(){Bt.captured=!1}function vt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],ut(e))}function pt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],dt(e))}function gt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],ft(e))}function mt(e){if(Date.now()-_t>600){_t=Date.now();var t=e.detail||-e.wheelDelta;t>0?ct():st()}}function ht(e){e.preventDefault();var t=f(document.querySelectorAll(Yt)).length,n=Math.floor(e.clientX/Ft.wrapper.offsetWidth*t);O(n)}function bt(e){e.preventDefault(),rt()}function yt(e){e.preventDefault(),ot()}function wt(e){e.preventDefault(),at()}function Lt(e){e.preventDefault(),it()}function Et(e){e.preventDefault(),st()}function kt(e){e.preventDefault(),ct()}function St(){Q()}function At(){q()}function qt(e){if(Qt&&N()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(P(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);O(n,r)}}}function xt(e){var t=e.target.getAttribute("href");t&&(k(t),e.preventDefault())}var Tt,Mt,Pt,Dt,Nt,Ct,Rt,It=".reveal .slides section",Yt=".reveal .slides>section",Xt=".reveal .slides>section.present>section",Ht=".reveal .slides>section:first-child",Ot={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!1,previewLinks:!1,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",viewDistance:3,dependencies:[]},zt=!1,Ut=0,Wt=[],jt=1,Ft={},_t=0,Kt=0,$t=0,Vt=0,Zt=0,Qt=!1,Bt={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return{initialize:e,configure:c,sync:z,slide:O,left:rt,right:ot,up:at,down:it,prev:st,next:ct,prevFragment:et,nextFragment:J,navigateTo:O,navigateLeft:rt,navigateRight:ot,navigateUp:at,navigateDown:it,navigatePrev:st,navigateNext:ct,layout:q,availableRoutes:K,availableFragments:$,toggleOverview:D,togglePause:X,isOverview:N,isPaused:H,addEventListeners:l,removeEventListeners:u,getIndices:G,getSlide:function(e,t){var n=document.querySelectorAll(Yt)[e],r=n&&n.querySelectorAll("section");return t!==void 0?r?r[t]:void 0:n},getPreviousSlide:function(){return Pt},getCurrentSlide:function(){return Dt},getScale:function(){return jt},getConfig:function(){return Ot},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return null==document.querySelector(It+".past")?!0:!1},isLastSlide:function(){return Dt&&Dt.classList.contains(".stack")?null==Dt.querySelector(It+".future")?!0:!1:null==document.querySelector(It+".future")?!0:!1},isReady:function(){return zt},addEventListener:function(e,t,n){"addEventListener"in window&&(Ft.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(Ft.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}(); \ No newline at end of file