From e46855096c4c467082737214d83e3552108c9b67 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 12 Jan 2013 12:17:50 -0500 Subject: [PATCH] merge in reset of vertical slides when returning to first slide #291 --- js/reveal.js | 15 ++++++++------- js/reveal.min.js | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index 324ed99..fd0d7f5 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -12,6 +12,7 @@ var Reveal = (function(){ var SLIDES_SELECTOR = '.reveal .slides section', HORIZONTAL_SLIDES_SELECTOR = '.reveal .slides>section', VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section', + HOME_SLIDE_SELECTOR = '.reveal .slides>section:first-child', // Configurations defaults, can be overridden at initialization time config = { @@ -880,17 +881,17 @@ var Reveal = (function(){ // Reset all slides upon navigate to home // Issue: #285 - if ( document.querySelector(HOME_SLIDE_SELECTOR).classList.contains('present') ) { + if ( document.querySelector( HOME_SLIDE_SELECTOR ).classList.contains( 'present' ) ) { // Launch async task - setTimeout(function () { - var slides = toArray( document.querySelectorAll(HORIZONTAL_SLIDES_SELECTOR + '.stack')), i; - for ( i in slides ) { - if (slides[i]) { + setTimeout( function () { + var slides = toArray( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.stack') ), i; + for( i in slides ) { + if( slides[i] ) { // Reset stack - setPreviousVerticalIndex(slides[i], 0); + setPreviousVerticalIndex( slides[i], 0 ); } } - }, 0); + }, 0 ); } } diff --git a/js/reveal.min.js b/js/reveal.min.js index a77421b..cc554b8 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -5,4 +5,4 @@ * * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se */ -var Reveal=function(){"use strict";function s(a){return m||l?(window.addEventListener("load",I,!1),A(d,a),u(),v(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){if(k.theme=document.querySelector("#theme"),k.wrapper=document.querySelector(".reveal"),k.slides=document.querySelector(".reveal .slides"),!k.wrapper.querySelector(".progress")&&d.progress){var a=document.createElement("div");a.classList.add("progress"),a.innerHTML="",k.wrapper.appendChild(a)}if(!k.wrapper.querySelector(".controls")&&d.controls){var b=document.createElement("aside");b.classList.add("controls"),b.innerHTML='',k.wrapper.appendChild(b)}if(!k.wrapper.querySelector(".state-background")){var c=document.createElement("div");c.classList.add("state-background"),k.wrapper.appendChild(c)}if(!k.wrapper.querySelector(".pause-overlay")){var e=document.createElement("div");e.classList.add("pause-overlay"),k.wrapper.appendChild(e)}k.progress=document.querySelector(".reveal .progress"),k.progressbar=document.querySelector(".reveal .progress span"),d.controls&&(k.controls=document.querySelector(".reveal .controls"),k.controlsLeft=B(document.querySelectorAll(".navigate-left")),k.controlsRight=B(document.querySelectorAll(".navigate-right")),k.controlsUp=B(document.querySelectorAll(".navigate-up")),k.controlsDown=B(document.querySelectorAll(".navigate-down")),k.controlsPrev=B(document.querySelectorAll(".navigate-prev")),k.controlsNext=B(document.querySelectorAll(".navigate-next")))}function u(){navigator.userAgent.match(/(iphone|ipod)/i)&&(document.documentElement.style.overflow="scroll",document.body.style.height="120%",window.addEventListener("load",F,!1),window.addEventListener("orientationchange",F,!1))}function v(){function g(){b.length&&head.js.apply(null,b),w()}for(var a=[],b=[],c=0,e=d.dependencies.length;e>c;c++){var f=d.dependencies[c];(!f.condition||f.condition())&&(f.async?b.push(f.src):a.push(f.src),"function"==typeof f.callback&&head.ready(f.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],f.callback))}a.length?(head.ready(g),head.js.apply(null,a)):g()}function w(){t(),y(),x(),I(),Z(),cb(),setTimeout(function(){G("ready",{indexh:f,indexv:g,currentSlide:i})},1)}function x(){if(l===!1&&(d.transition="linear"),d.controls&&k.controls&&(k.controls.style.display="block"),d.progress&&k.progress&&(k.progress.style.display="block"),"default"!==d.transition&&k.wrapper.classList.add(d.transition),d.rtl&&k.wrapper.classList.add("rtl"),d.center&&k.wrapper.classList.add("center"),d.mouseWheel&&(document.addEventListener("DOMMouseScroll",nb,!1),document.addEventListener("mousewheel",nb,!1)),d.rollingLinks&&H(),d.theme&&k.theme){var a=k.theme.getAttribute("href"),b=/[^\/]*?(?=\.css)/,c=a.match(b)[0];d.theme!==c&&(a=a.replace(b,d.theme),k.theme.setAttribute("href",a))}}function y(){if(document.addEventListener("touchstart",kb,!1),document.addEventListener("touchmove",lb,!1),document.addEventListener("touchend",mb,!1),window.addEventListener("hashchange",pb,!1),window.addEventListener("resize",qb,!1),d.keyboard&&document.addEventListener("keydown",jb,!1),d.progress&&k.progress&&k.progress.addEventListener("click",E(ob),!1),d.controls&&k.controls){var a="ontouchstart"in window?"touchstart":"click";k.controlsLeft.forEach(function(b){b.addEventListener(a,E(db),!1)}),k.controlsRight.forEach(function(b){b.addEventListener(a,E(eb),!1)}),k.controlsUp.forEach(function(b){b.addEventListener(a,E(fb),!1)}),k.controlsDown.forEach(function(b){b.addEventListener(a,E(gb),!1)}),k.controlsPrev.forEach(function(b){b.addEventListener(a,E(hb),!1)}),k.controlsNext.forEach(function(b){b.addEventListener(a,E(ib),!1)})}}function z(){if(document.removeEventListener("keydown",jb,!1),document.removeEventListener("touchstart",kb,!1),document.removeEventListener("touchmove",lb,!1),document.removeEventListener("touchend",mb,!1),window.removeEventListener("hashchange",pb,!1),window.removeEventListener("resize",qb,!1),d.progress&&k.progress&&k.progress.removeEventListener("click",E(ob),!1),d.controls&&k.controls){var a="ontouchstart"in window?"touchstart":"click";k.controlsLeft.forEach(function(b){b.removeEventListener(a,E(db),!1)}),k.controlsRight.forEach(function(b){b.removeEventListener(a,E(eb),!1)}),k.controlsUp.forEach(function(b){b.removeEventListener(a,E(fb),!1)}),k.controlsDown.forEach(function(b){b.removeEventListener(a,E(gb),!1)}),k.controlsPrev.forEach(function(b){b.removeEventListener(a,E(hb),!1)}),k.controlsNext.forEach(function(b){b.removeEventListener(a,E(ib),!1)})}}function A(a,b){for(var c in b)a[c]=b[c]}function B(a){return Array.prototype.slice.call(a)}function D(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function E(a){return function(b){b.preventDefault(),a.call(null,b)}}function F(){setTimeout(function(){window.scrollTo(0,1)},0)}function G(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),A(c,b),k.wrapper.dispatchEvent(c)}function H(){if(l&&!("msPerspective"in document.body.style))for(var b=document.querySelectorAll(a+" a:not(.image)"),c=0,d=b.length;d>c;c++){var e=b[c];if(!(!e.textContent||e.querySelector("img")||e.className&&e.classList.contains(e,"roll"))){var f=document.createElement("span");f.setAttribute("data-title",e.text),f.innerHTML=e.innerHTML,e.classList.add("roll"),e.innerHTML="",e.appendChild(f)}}}function I(){if(d.center)for(var b=B(document.querySelectorAll(a)),c=-k.wrapper.offsetHeight/2,e=0,f=b.length;f>e;e++){var g=b[e];"none"!==g.style.display&&(g.style.top=g.classList.contains("stack")?0:Math.max(-(g.offsetHeight/2)-20,c)+"px")}}function J(a,b){a&&a.setAttribute("data-previous-indexv",b||0)}function K(a){return a&&a.classList.contains("stack")?parseInt(a.getAttribute("data-previous-indexv")||0,10):0}function L(){d.overview&&(k.wrapper.classList.add("overview"),clearTimeout(q),q=setTimeout(function(){for(var a=document.querySelectorAll(b),c=0,d=a.length;d>c;c++){var e=a[c],h="translateZ(-2500px) translate("+105*(c-f)+"%, 0%)";if(e.setAttribute("data-index-h",c),e.style.display="block",e.style.WebkitTransform=h,e.style.MozTransform=h,e.style.msTransform=h,e.style.OTransform=h,e.style.transform=h,e.classList.contains("stack"))for(var i=e.querySelectorAll("section"),j=0,k=i.length;k>j;j++){var l=c===f?g:K(e),m=i[j],n="translate(0%, "+105*(j-l)+"%)";m.setAttribute("data-index-h",c),m.setAttribute("data-index-v",j),m.style.display="block",m.style.WebkitTransform=n,m.style.MozTransform=n,m.style.msTransform=n,m.style.OTransform=n,m.style.transform=n,m.addEventListener("click",rb,!0)}else e.addEventListener("click",rb,!0)}I()},10))}function M(){if(d.overview){clearTimeout(q),k.wrapper.classList.remove("overview");for(var b=B(document.querySelectorAll(a)),c=0,e=b.length;e>c;c++){var h=b[c];h.style.display="",h.style.WebkitTransform="",h.style.MozTransform="",h.style.msTransform="",h.style.OTransform="",h.style.transform="",h.removeEventListener("click",rb,!0)}U(f,g)}}function N(a){"boolean"==typeof a?a?L():M():O()?M():L()}function O(){return k.wrapper.classList.contains("overview")}function P(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function Q(){k.wrapper.classList.add("paused")}function R(){k.wrapper.classList.remove("paused")}function S(){T()?R():Q()}function T(){return k.wrapper.classList.contains("paused")}function U(a,d,e){h=i;var k=document.querySelectorAll(b);void 0===d&&(d=K(k[a])),h&&h.parentNode&&h.parentNode.classList.contains("stack")&&J(h.parentNode,g);var l=j.concat();j.length=0;var m=f,n=g;f=V(b,void 0===a?f:a),g=V(c,void 0===d?g:d),I();a:for(var o=0,p=j.length;p>o;o++){for(var q=0;l.length>q;q++)if(l[q]===j[o]){l.splice(q,1);continue a}document.documentElement.classList.add(j[o]),G(j[o])}for(;l.length;)document.documentElement.classList.remove(l.pop());O()&&L(),$(1500);var r=k[f],s=r.querySelectorAll("section");if(i=s[g]||r,(f!==m||g!==n)&&e){var t=i.querySelectorAll(".fragment");B(t).forEach(function(a,b){e>b?a.classList.add("visible"):a.classList.remove("visible")})}f!==m||g!==n?G("slidechanged",{indexh:f,indexv:g,previousSlide:h,currentSlide:i}):h=null,h&&(h.classList.remove("present"),document.querySelector(HOME_SLIDE_SELECTOR).classList.contains("present")&&setTimeout(function(){var c,a=B(document.querySelectorAll(b+".stack"));for(c in a)a[c]&&J(a[c],0)},0)),X(),W()}function V(a,b){var c=B(document.querySelectorAll(a)),f=c.length;if(f){d.loop&&(b%=f,0>b&&(b=f+b)),b=Math.max(Math.min(b,f-1),0);for(var g=0;f>g;g++){var h=c[g];if(O()===!1){var i=Math.abs((b-g)%(f-3))||0;h.style.display=i>3?"none":"block"}c[g].classList.remove("past"),c[g].classList.remove("present"),c[g].classList.remove("future"),b>g?c[g].classList.add("past"):g>b&&c[g].classList.add("future"),h.querySelector("section")&&c[g].classList.add("stack")}c[b].classList.add("present");var k=c[b].getAttribute("data-state");k&&(j=j.concat(k.split(" ")));var l=c[b].getAttribute("data-autoslide");e=l?parseInt(l,10):d.autoSlide}else b=0;return b}function W(){if(d.progress&&k.progress){var c=B(document.querySelectorAll(b)),e=document.querySelectorAll(a+":not(.stack)").length,f=0;a:for(var g=0;c.length>g;g++){for(var h=c[g],i=B(h.querySelectorAll("section")),j=0;i.length>j;j++){if(i[j].classList.contains("present"))break a;f++}if(h.classList.contains("present"))break;h.classList.contains("stack")===!1&&f++}k.progressbar.style.width=f/(e-1)*window.innerWidth+"px"}}function X(){if(d.controls&&k.controls){var a=Y();k.controlsLeft.concat(k.controlsRight).concat(k.controlsUp).concat(k.controlsDown).concat(k.controlsPrev).concat(k.controlsNext).forEach(function(a){a.classList.remove("enabled")}),a.left&&k.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&k.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&k.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&k.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&k.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&k.controlsNext.forEach(function(a){a.classList.add("enabled")})}}function Y(){var a=document.querySelectorAll(b),d=document.querySelectorAll(c);return{left:f>0,right:a.length-1>f,up:g>0,down:d.length-1>g}}function Z(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d=document.querySelector("#"+c);if(d){var e=Reveal.getIndices(d);U(e.h,e.v)}else U(f,g)}else{var h=parseInt(b[0],10)||0,i=parseInt(b[1],10)||0;U(h,i)}}function $(a){if(d.history)if(clearTimeout(p),"number"==typeof a)p=setTimeout($,a);else{var b="/";i&&"string"==typeof i.getAttribute("id")?b="/"+i.getAttribute("id"):((f>0||g>0)&&(b+=f),g>0&&(b+="/"+g)),window.location.hash=b}}function _(a){var c=f,d=g;if(a){var e=!!a.parentNode.nodeName.match(/section/gi),h=e?a.parentNode:a,i=B(document.querySelectorAll(b));c=Math.max(i.indexOf(h),0),e&&(d=Math.max(B(a.parentNode.querySelectorAll("section")).indexOf(a),0))}return{h:c,v:d}}function ab(){if(document.querySelector(c+".present")){var a=document.querySelectorAll(c+".present .fragment:not(.visible)");if(a.length)return a[0].classList.add("visible"),G("fragmentshown",{fragment:a[0]}),!0}else{var d=document.querySelectorAll(b+".present .fragment:not(.visible)");if(d.length)return d[0].classList.add("visible"),G("fragmentshown",{fragment:d[0]}),!0}return!1}function bb(){if(document.querySelector(c+".present")){var a=document.querySelectorAll(c+".present .fragment.visible");if(a.length)return a[a.length-1].classList.remove("visible"),G("fragmenthidden",{fragment:a[a.length-1]}),!0}else{var d=document.querySelectorAll(b+".present .fragment.visible");if(d.length)return d[d.length-1].classList.remove("visible"),G("fragmenthidden",{fragment:d[d.length-1]}),!0}return!1}function cb(){clearTimeout(o),e&&(o=setTimeout(ib,e))}function db(){(Y().left&&O()||bb()===!1)&&U(f-1)}function eb(){(Y().right&&O()||ab()===!1)&&U(f+1)}function fb(){(Y().up&&O()||bb()===!1)&&U(f,g-1)}function gb(){(Y().down&&O()||ab()===!1)&&U(f,g+1)}function hb(){if(bb()===!1)if(Y().up)fb();else{var a=document.querySelector(b+".past:nth-child("+f+")");a&&(g=a.querySelectorAll("section").length+1||void 0,f--,U())}}function ib(){ab()===!1&&(Y().down?gb():eb()),cb()}function jb(a){document.activeElement;var c=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(c||a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)){var d=!0;switch(a.keyCode){case 80:case 33:hb();break;case 78:case 34:ib();break;case 72:case 37:db();break;case 76:case 39:eb();break;case 75:case 38:fb();break;case 74:case 40:gb();break;case 36:U(0);break;case 35:U(Number.MAX_VALUE);break;case 32:O()?M():ib();break;case 13:O()?M():d=!1;break;case 66:case 190:S();break;case 70:P();break;default:d=!1}d?a.preventDefault():27===a.keyCode&&l&&(N(),a.preventDefault()),cb()}}function kb(a){r.startX=a.touches[0].clientX,r.startY=a.touches[0].clientY,r.startCount=a.touches.length,2===a.touches.length&&d.overview&&(r.startSpan=D({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:r.startX,y:r.startY}))}function lb(a){if(r.handled)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===r.startCount&&d.overview){var e=D({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:r.startX,y:r.startY});Math.abs(r.startSpan-e)>r.threshold&&(r.handled=!0,r.startSpan>e?L():M()),a.preventDefault()}else if(1===a.touches.length&&2!==r.startCount){var f=b-r.startX,g=c-r.startY;f>r.threshold&&Math.abs(f)>Math.abs(g)?(r.handled=!0,db()):-r.threshold>f&&Math.abs(f)>Math.abs(g)?(r.handled=!0,eb()):g>r.threshold?(r.handled=!0,fb()):-r.threshold>g&&(r.handled=!0,gb()),a.preventDefault()}}}function mb(){r.handled=!1}function nb(a){clearTimeout(n),n=setTimeout(function(){var b=a.detail||-a.wheelDelta;b>0?ib():hb()},100)}function ob(a){var c=B(document.querySelectorAll(b)).length,d=Math.floor(a.clientX/k.wrapper.offsetWidth*c);U(d)}function pb(){Z()}function qb(){I()}function rb(a){if(O()){a.preventDefault(),M();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b.nodeName.match(/section/gi)){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);U(c,d)}}}var h,i,a=".reveal .slides section",b=".reveal .slides>section",c=".reveal .slides>section.present>section",d={controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,loop:!1,rtl:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!0,theme:null,transition:"default",dependencies:[]},e=d.autoSlide,f=0,g=0,j=[],k={},l="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,m="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,n=0,o=0,p=0,q=0,r={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:s,slide:U,left:db,right:eb,up:fb,down:gb,prev:hb,next:ib,prevFragment:bb,nextFragment:ab,navigateTo:U,navigateLeft:db,navigateRight:eb,navigateUp:fb,navigateDown:gb,navigatePrev:hb,navigateNext:ib,toggleOverview:N,addEventListeners:y,removeEventListeners:z,getIndices:_,getPreviousSlide:function(){return h},getCurrentSlide:function(){return i},getQueryHash:function(){var a={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()}),a},addEventListener:function(a,b,c){"addEventListener"in window&&(k.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(k.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function t(a){return n||m?(window.addEventListener("load",J,!1),B(e,a),v(),w(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function u(){if(l.theme=document.querySelector("#theme"),l.wrapper=document.querySelector(".reveal"),l.slides=document.querySelector(".reveal .slides"),!l.wrapper.querySelector(".progress")&&e.progress){var a=document.createElement("div");a.classList.add("progress"),a.innerHTML="",l.wrapper.appendChild(a)}if(!l.wrapper.querySelector(".controls")&&e.controls){var b=document.createElement("aside");b.classList.add("controls"),b.innerHTML='',l.wrapper.appendChild(b)}if(!l.wrapper.querySelector(".state-background")){var c=document.createElement("div");c.classList.add("state-background"),l.wrapper.appendChild(c)}if(!l.wrapper.querySelector(".pause-overlay")){var d=document.createElement("div");d.classList.add("pause-overlay"),l.wrapper.appendChild(d)}l.progress=document.querySelector(".reveal .progress"),l.progressbar=document.querySelector(".reveal .progress span"),e.controls&&(l.controls=document.querySelector(".reveal .controls"),l.controlsLeft=C(document.querySelectorAll(".navigate-left")),l.controlsRight=C(document.querySelectorAll(".navigate-right")),l.controlsUp=C(document.querySelectorAll(".navigate-up")),l.controlsDown=C(document.querySelectorAll(".navigate-down")),l.controlsPrev=C(document.querySelectorAll(".navigate-prev")),l.controlsNext=C(document.querySelectorAll(".navigate-next")))}function v(){navigator.userAgent.match(/(iphone|ipod)/i)&&(document.documentElement.style.overflow="scroll",document.body.style.height="120%",window.addEventListener("load",G,!1),window.addEventListener("orientationchange",G,!1))}function w(){function g(){b.length&&head.js.apply(null,b),x()}for(var a=[],b=[],c=0,d=e.dependencies.length;d>c;c++){var f=e.dependencies[c];(!f.condition||f.condition())&&(f.async?b.push(f.src):a.push(f.src),"function"==typeof f.callback&&head.ready(f.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],f.callback))}a.length?(head.ready(g),head.js.apply(null,a)):g()}function x(){u(),z(),y(),J(),$(),db(),setTimeout(function(){H("ready",{indexh:g,indexv:h,currentSlide:j})},1)}function y(){if(m===!1&&(e.transition="linear"),e.controls&&l.controls&&(l.controls.style.display="block"),e.progress&&l.progress&&(l.progress.style.display="block"),"default"!==e.transition&&l.wrapper.classList.add(e.transition),e.rtl&&l.wrapper.classList.add("rtl"),e.center&&l.wrapper.classList.add("center"),e.mouseWheel&&(document.addEventListener("DOMMouseScroll",ob,!1),document.addEventListener("mousewheel",ob,!1)),e.rollingLinks&&I(),e.theme&&l.theme){var a=l.theme.getAttribute("href"),b=/[^\/]*?(?=\.css)/,c=a.match(b)[0];e.theme!==c&&(a=a.replace(b,e.theme),l.theme.setAttribute("href",a))}}function z(){if(document.addEventListener("touchstart",lb,!1),document.addEventListener("touchmove",mb,!1),document.addEventListener("touchend",nb,!1),window.addEventListener("hashchange",qb,!1),window.addEventListener("resize",rb,!1),e.keyboard&&document.addEventListener("keydown",kb,!1),e.progress&&l.progress&&l.progress.addEventListener("click",F(pb),!1),e.controls&&l.controls){var a="ontouchstart"in window?"touchstart":"click";l.controlsLeft.forEach(function(b){b.addEventListener(a,F(eb),!1)}),l.controlsRight.forEach(function(b){b.addEventListener(a,F(fb),!1)}),l.controlsUp.forEach(function(b){b.addEventListener(a,F(gb),!1)}),l.controlsDown.forEach(function(b){b.addEventListener(a,F(hb),!1)}),l.controlsPrev.forEach(function(b){b.addEventListener(a,F(ib),!1)}),l.controlsNext.forEach(function(b){b.addEventListener(a,F(jb),!1)})}}function A(){if(document.removeEventListener("keydown",kb,!1),document.removeEventListener("touchstart",lb,!1),document.removeEventListener("touchmove",mb,!1),document.removeEventListener("touchend",nb,!1),window.removeEventListener("hashchange",qb,!1),window.removeEventListener("resize",rb,!1),e.progress&&l.progress&&l.progress.removeEventListener("click",F(pb),!1),e.controls&&l.controls){var a="ontouchstart"in window?"touchstart":"click";l.controlsLeft.forEach(function(b){b.removeEventListener(a,F(eb),!1)}),l.controlsRight.forEach(function(b){b.removeEventListener(a,F(fb),!1)}),l.controlsUp.forEach(function(b){b.removeEventListener(a,F(gb),!1)}),l.controlsDown.forEach(function(b){b.removeEventListener(a,F(hb),!1)}),l.controlsPrev.forEach(function(b){b.removeEventListener(a,F(ib),!1)}),l.controlsNext.forEach(function(b){b.removeEventListener(a,F(jb),!1)})}}function B(a,b){for(var c in b)a[c]=b[c]}function C(a){return Array.prototype.slice.call(a)}function E(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function F(a){return function(b){b.preventDefault(),a.call(null,b)}}function G(){setTimeout(function(){window.scrollTo(0,1)},0)}function H(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),B(c,b),l.wrapper.dispatchEvent(c)}function I(){if(m&&!("msPerspective"in document.body.style))for(var b=document.querySelectorAll(a+" a:not(.image)"),c=0,d=b.length;d>c;c++){var e=b[c];if(!(!e.textContent||e.querySelector("img")||e.className&&e.classList.contains(e,"roll"))){var f=document.createElement("span");f.setAttribute("data-title",e.text),f.innerHTML=e.innerHTML,e.classList.add("roll"),e.innerHTML="",e.appendChild(f)}}}function J(){if(e.center)for(var b=C(document.querySelectorAll(a)),c=-l.wrapper.offsetHeight/2,d=0,f=b.length;f>d;d++){var g=b[d];"none"!==g.style.display&&(g.style.top=g.classList.contains("stack")?0:Math.max(-(g.offsetHeight/2)-20,c)+"px")}}function K(a,b){a&&a.setAttribute("data-previous-indexv",b||0)}function L(a){return a&&a.classList.contains("stack")?parseInt(a.getAttribute("data-previous-indexv")||0,10):0}function M(){e.overview&&(l.wrapper.classList.add("overview"),clearTimeout(r),r=setTimeout(function(){for(var a=document.querySelectorAll(b),c=0,d=a.length;d>c;c++){var e=a[c],f="translateZ(-2500px) translate("+105*(c-g)+"%, 0%)";if(e.setAttribute("data-index-h",c),e.style.display="block",e.style.WebkitTransform=f,e.style.MozTransform=f,e.style.msTransform=f,e.style.OTransform=f,e.style.transform=f,e.classList.contains("stack"))for(var i=e.querySelectorAll("section"),j=0,k=i.length;k>j;j++){var l=c===g?h:L(e),m=i[j],n="translate(0%, "+105*(j-l)+"%)";m.setAttribute("data-index-h",c),m.setAttribute("data-index-v",j),m.style.display="block",m.style.WebkitTransform=n,m.style.MozTransform=n,m.style.msTransform=n,m.style.OTransform=n,m.style.transform=n,m.addEventListener("click",sb,!0)}else e.addEventListener("click",sb,!0)}J()},10))}function N(){if(e.overview){clearTimeout(r),l.wrapper.classList.remove("overview");for(var b=C(document.querySelectorAll(a)),c=0,d=b.length;d>c;c++){var f=b[c];f.style.display="",f.style.WebkitTransform="",f.style.MozTransform="",f.style.msTransform="",f.style.OTransform="",f.style.transform="",f.removeEventListener("click",sb,!0)}V(g,h)}}function O(a){"boolean"==typeof a?a?M():N():P()?N():M()}function P(){return l.wrapper.classList.contains("overview")}function Q(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function R(){l.wrapper.classList.add("paused")}function S(){l.wrapper.classList.remove("paused")}function T(){U()?S():R()}function U(){return l.wrapper.classList.contains("paused")}function V(a,e,f){i=j;var l=document.querySelectorAll(b);void 0===e&&(e=L(l[a])),i&&i.parentNode&&i.parentNode.classList.contains("stack")&&K(i.parentNode,h);var m=k.concat();k.length=0;var n=g,o=h;g=W(b,void 0===a?g:a),h=W(c,void 0===e?h:e),J();a:for(var p=0,q=k.length;q>p;p++){for(var r=0;m.length>r;r++)if(m[r]===k[p]){m.splice(r,1);continue a}document.documentElement.classList.add(k[p]),H(k[p])}for(;m.length;)document.documentElement.classList.remove(m.pop());P()&&M(),_(1500);var s=l[g],t=s.querySelectorAll("section");if(j=t[h]||s,(g!==n||h!==o)&&f){var u=j.querySelectorAll(".fragment");C(u).forEach(function(a,b){f>b?a.classList.add("visible"):a.classList.remove("visible")})}g!==n||h!==o?H("slidechanged",{indexh:g,indexv:h,previousSlide:i,currentSlide:j}):i=null,i&&(i.classList.remove("present"),document.querySelector(d).classList.contains("present")&&setTimeout(function(){var c,a=C(document.querySelectorAll(b+".stack"));for(c in a)a[c]&&K(a[c],0)},0)),Y(),X()}function W(a,b){var c=C(document.querySelectorAll(a)),d=c.length;if(d){e.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var g=0;d>g;g++){var h=c[g];if(P()===!1){var i=Math.abs((b-g)%(d-3))||0;h.style.display=i>3?"none":"block"}c[g].classList.remove("past"),c[g].classList.remove("present"),c[g].classList.remove("future"),b>g?c[g].classList.add("past"):g>b&&c[g].classList.add("future"),h.querySelector("section")&&c[g].classList.add("stack")}c[b].classList.add("present");var j=c[b].getAttribute("data-state");j&&(k=k.concat(j.split(" ")));var l=c[b].getAttribute("data-autoslide");f=l?parseInt(l,10):e.autoSlide}else b=0;return b}function X(){if(e.progress&&l.progress){var c=C(document.querySelectorAll(b)),d=document.querySelectorAll(a+":not(.stack)").length,f=0;a:for(var g=0;c.length>g;g++){for(var h=c[g],i=C(h.querySelectorAll("section")),j=0;i.length>j;j++){if(i[j].classList.contains("present"))break a;f++}if(h.classList.contains("present"))break;h.classList.contains("stack")===!1&&f++}l.progressbar.style.width=f/(d-1)*window.innerWidth+"px"}}function Y(){if(e.controls&&l.controls){var a=Z();l.controlsLeft.concat(l.controlsRight).concat(l.controlsUp).concat(l.controlsDown).concat(l.controlsPrev).concat(l.controlsNext).forEach(function(a){a.classList.remove("enabled")}),a.left&&l.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&l.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&l.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&l.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&l.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&l.controlsNext.forEach(function(a){a.classList.add("enabled")})}}function Z(){var a=document.querySelectorAll(b),d=document.querySelectorAll(c);return{left:g>0,right:a.length-1>g,up:h>0,down:d.length-1>h}}function $(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d=document.querySelector("#"+c);if(d){var e=Reveal.getIndices(d);V(e.h,e.v)}else V(g,h)}else{var f=parseInt(b[0],10)||0,i=parseInt(b[1],10)||0;V(f,i)}}function _(a){if(e.history)if(clearTimeout(q),"number"==typeof a)q=setTimeout(_,a);else{var b="/";j&&"string"==typeof j.getAttribute("id")?b="/"+j.getAttribute("id"):((g>0||h>0)&&(b+=g),h>0&&(b+="/"+h)),window.location.hash=b}}function ab(a){var c=g,d=h;if(a){var e=!!a.parentNode.nodeName.match(/section/gi),f=e?a.parentNode:a,i=C(document.querySelectorAll(b));c=Math.max(i.indexOf(f),0),e&&(d=Math.max(C(a.parentNode.querySelectorAll("section")).indexOf(a),0))}return{h:c,v:d}}function bb(){if(document.querySelector(c+".present")){var a=document.querySelectorAll(c+".present .fragment:not(.visible)");if(a.length)return a[0].classList.add("visible"),H("fragmentshown",{fragment:a[0]}),!0}else{var d=document.querySelectorAll(b+".present .fragment:not(.visible)");if(d.length)return d[0].classList.add("visible"),H("fragmentshown",{fragment:d[0]}),!0}return!1}function cb(){if(document.querySelector(c+".present")){var a=document.querySelectorAll(c+".present .fragment.visible");if(a.length)return a[a.length-1].classList.remove("visible"),H("fragmenthidden",{fragment:a[a.length-1]}),!0}else{var d=document.querySelectorAll(b+".present .fragment.visible");if(d.length)return d[d.length-1].classList.remove("visible"),H("fragmenthidden",{fragment:d[d.length-1]}),!0}return!1}function db(){clearTimeout(p),f&&(p=setTimeout(jb,f))}function eb(){(Z().left&&P()||cb()===!1)&&V(g-1)}function fb(){(Z().right&&P()||bb()===!1)&&V(g+1)}function gb(){(Z().up&&P()||cb()===!1)&&V(g,h-1)}function hb(){(Z().down&&P()||bb()===!1)&&V(g,h+1)}function ib(){if(cb()===!1)if(Z().up)gb();else{var a=document.querySelector(b+".past:nth-child("+g+")");a&&(h=a.querySelectorAll("section").length+1||void 0,g--,V())}}function jb(){bb()===!1&&(Z().down?hb():fb()),db()}function kb(a){document.activeElement;var c=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(c||a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)){var d=!0;switch(a.keyCode){case 80:case 33:ib();break;case 78:case 34:jb();break;case 72:case 37:eb();break;case 76:case 39:fb();break;case 75:case 38:gb();break;case 74:case 40:hb();break;case 36:V(0);break;case 35:V(Number.MAX_VALUE);break;case 32:P()?N():jb();break;case 13:P()?N():d=!1;break;case 66:case 190:T();break;case 70:Q();break;default:d=!1}d?a.preventDefault():27===a.keyCode&&m&&(O(),a.preventDefault()),db()}}function lb(a){s.startX=a.touches[0].clientX,s.startY=a.touches[0].clientY,s.startCount=a.touches.length,2===a.touches.length&&e.overview&&(s.startSpan=E({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:s.startX,y:s.startY}))}function mb(a){if(s.handled)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===s.startCount&&e.overview){var d=E({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:s.startX,y:s.startY});Math.abs(s.startSpan-d)>s.threshold&&(s.handled=!0,s.startSpan>d?M():N()),a.preventDefault()}else if(1===a.touches.length&&2!==s.startCount){var f=b-s.startX,g=c-s.startY;f>s.threshold&&Math.abs(f)>Math.abs(g)?(s.handled=!0,eb()):-s.threshold>f&&Math.abs(f)>Math.abs(g)?(s.handled=!0,fb()):g>s.threshold?(s.handled=!0,gb()):-s.threshold>g&&(s.handled=!0,hb()),a.preventDefault()}}}function nb(){s.handled=!1}function ob(a){clearTimeout(o),o=setTimeout(function(){var b=a.detail||-a.wheelDelta;b>0?jb():ib()},100)}function pb(a){var c=C(document.querySelectorAll(b)).length,d=Math.floor(a.clientX/l.wrapper.offsetWidth*c);V(d)}function qb(){$()}function rb(){J()}function sb(a){if(P()){a.preventDefault(),N();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b.nodeName.match(/section/gi)){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);V(c,d)}}}var i,j,a=".reveal .slides section",b=".reveal .slides>section",c=".reveal .slides>section.present>section",d=".reveal .slides>section:first-child",e={controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,loop:!1,rtl:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!0,theme:null,transition:"default",dependencies:[]},f=e.autoSlide,g=0,h=0,k=[],l={},m="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,n="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,o=0,p=0,q=0,r=0,s={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:t,slide:V,left:eb,right:fb,up:gb,down:hb,prev:ib,next:jb,prevFragment:cb,nextFragment:bb,navigateTo:V,navigateLeft:eb,navigateRight:fb,navigateUp:gb,navigateDown:hb,navigatePrev:ib,navigateNext:jb,toggleOverview:O,addEventListeners:z,removeEventListeners:A,getIndices:ab,getPreviousSlide:function(){return i},getCurrentSlide:function(){return j},getQueryHash:function(){var a={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()}),a},addEventListener:function(a,b,c){"addEventListener"in window&&(l.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(l.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file