From 714102c3f8bfacee2323e32963ee62c3d1511d19 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sun, 2 Mar 2014 12:30:55 +0100 Subject: [PATCH] add get/setState methods for persisting and restoring presentation state --- js/reveal.js | 46 ++++++++++++++++++++++++++++++++++++++++++---- js/reveal.min.js | 6 +++--- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index a06ce55..5cb72eb 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -1430,13 +1430,13 @@ var Reveal = (function(){ /** * Toggles the paused mode on and off. */ - function togglePause() { + function togglePause( override ) { - if( isPaused() ) { - resume(); + if( typeof override === 'boolean' ) { + override ? pause() : resume(); } else { - pause(); + isPaused() ? resume() : pause(); } } @@ -2325,6 +2325,40 @@ var Reveal = (function(){ } + /** + * Retrieves the current state of the presentation as + * an object. This state can then be restored at any + * time. + */ + function getState() { + + var indices = getIndices(); + + return { + indexh: indices.h, + indexv: indices.v, + indexf: indices.f, + paused: isPaused(), + overview: isOverview() + }; + + } + + /** + * Restores the presentation to the given state. + * + * @param {Object} state As generated by getState() + */ + function setState( state ) { + + if( typeof state === 'object' ) { + slide( state.indexh, state.indexv, state.indexf ); + togglePause( state.paused ); + toggleOverview( state.overview ); + } + + } + /** * Return a sorted fragments list, ordered by an increasing * "data-fragment-index" attribute. @@ -3345,6 +3379,10 @@ var Reveal = (function(){ addEventListeners: addEventListeners, removeEventListeners: removeEventListeners, + // Facility for persisting and restoring the presentation state + getState: getState, + setState: setState, + // Returns the indices of the current, or specified, slide getIndices: getIndices, diff --git a/js/reveal.min.js b/js/reveal.min.js index 205dda2..cc2447b 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -1,9 +1,9 @@ /*! - * reveal.js 2.7.0-dev (2014-02-28, 12:12) + * reveal.js 2.7.0-dev (2014-03-02, 12:29) * 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(),!gc.transforms2d&&!gc.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",A,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,k(bc,a),k(bc,d),r(),c()}function b(){gc.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,gc.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,gc.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,gc.requestAnimationFrame="function"==typeof gc.requestAnimationFrameMethod,gc.canvas=!!document.createElement("canvas").getContext,Xb=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=bc.dependencies.length;h>g;g++){var i=bc.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(),S(),h(),eb(),Z(!0),setTimeout(function(){fc.slides.classList.remove("no-transition"),cc=!0,t("ready",{indexh:Sb,indexv:Tb,currentSlide:Vb})},1)}function e(){fc.theme=document.querySelector("#theme"),fc.wrapper=document.querySelector(".reveal"),fc.slides=document.querySelector(".reveal .slides"),fc.slides.classList.add("no-transition"),fc.background=f(fc.wrapper,"div","backgrounds",null),fc.progress=f(fc.wrapper,"div","progress",""),fc.progressbar=fc.progress.querySelector("span"),f(fc.wrapper,"aside","controls",''),fc.slideNumber=f(fc.wrapper,"div","slide-number",""),f(fc.wrapper,"div","state-background",null),f(fc.wrapper,"div","pause-overlay",null),fc.controls=document.querySelector(".reveal .controls"),fc.controlsLeft=l(document.querySelectorAll(".navigate-left")),fc.controlsRight=l(document.querySelectorAll(".navigate-right")),fc.controlsUp=l(document.querySelectorAll(".navigate-up")),fc.controlsDown=l(document.querySelectorAll(".navigate-down")),fc.controlsPrev=l(document.querySelectorAll(".navigate-prev")),fc.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}q()&&document.body.classList.add("print-pdf"),fc.background.innerHTML="",fc.background.classList.add("no-transition"),l(document.querySelectorAll($b)).forEach(function(b){var c;c=q()?a(b,b):a(b,fc.background),l(b.querySelectorAll("section")).forEach(function(b){q()?a(b,b):a(b,c)})}),bc.parallaxBackgroundImage?(fc.background.style.backgroundImage='url("'+bc.parallaxBackgroundImage+'")',fc.background.style.backgroundSize=bc.parallaxBackgroundSize,setTimeout(function(){fc.wrapper.classList.add("has-parallax-background")},1)):(fc.background.style.backgroundImage="",fc.wrapper.classList.remove("has-parallax-background"))}function h(a){var b=document.querySelectorAll(Zb).length;if(fc.wrapper.classList.remove(bc.transition),"object"==typeof a&&k(bc,a),gc.transforms3d===!1&&(bc.transition="linear"),fc.wrapper.classList.add(bc.transition),fc.wrapper.setAttribute("data-transition-speed",bc.transitionSpeed),fc.wrapper.setAttribute("data-background-transition",bc.backgroundTransition),fc.controls.style.display=bc.controls?"block":"none",fc.progress.style.display=bc.progress?"block":"none",bc.rtl?fc.wrapper.classList.add("rtl"):fc.wrapper.classList.remove("rtl"),bc.center?fc.wrapper.classList.add("center"):fc.wrapper.classList.remove("center"),bc.mouseWheel?(document.addEventListener("DOMMouseScroll",Db,!1),document.addEventListener("mousewheel",Db,!1)):(document.removeEventListener("DOMMouseScroll",Db,!1),document.removeEventListener("mousewheel",Db,!1)),bc.rollingLinks?u():v(),bc.previewLinks?w():(x(),w("[data-preview-link]")),Yb&&(Yb.destroy(),Yb=null),b>1&&bc.autoSlide&&bc.autoSlideStoppable&&gc.canvas&&gc.requestAnimationFrame&&(Yb=new Rb(fc.wrapper,function(){return Math.min(Math.max((Date.now()-oc)/mc,0),1)}),Yb.on("click",Qb),pc=!1),bc.theme&&fc.theme){var c=fc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];bc.theme!==e&&(c=c.replace(d,bc.theme),fc.theme.setAttribute("href",c))}R()}function i(){if(lc=!0,window.addEventListener("hashchange",Lb,!1),window.addEventListener("resize",Mb,!1),bc.touch&&(fc.wrapper.addEventListener("touchstart",xb,!1),fc.wrapper.addEventListener("touchmove",yb,!1),fc.wrapper.addEventListener("touchend",zb,!1),window.navigator.pointerEnabled?(fc.wrapper.addEventListener("pointerdown",Ab,!1),fc.wrapper.addEventListener("pointermove",Bb,!1),fc.wrapper.addEventListener("pointerup",Cb,!1)):window.navigator.msPointerEnabled&&(fc.wrapper.addEventListener("MSPointerDown",Ab,!1),fc.wrapper.addEventListener("MSPointerMove",Bb,!1),fc.wrapper.addEventListener("MSPointerUp",Cb,!1))),bc.keyboard&&document.addEventListener("keydown",wb,!1),bc.progress&&fc.progress&&fc.progress.addEventListener("click",Eb,!1),bc.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Nb,!1)}["touchstart","click"].forEach(function(a){fc.controlsLeft.forEach(function(b){b.addEventListener(a,Fb,!1)}),fc.controlsRight.forEach(function(b){b.addEventListener(a,Gb,!1)}),fc.controlsUp.forEach(function(b){b.addEventListener(a,Hb,!1)}),fc.controlsDown.forEach(function(b){b.addEventListener(a,Ib,!1)}),fc.controlsPrev.forEach(function(b){b.addEventListener(a,Jb,!1)}),fc.controlsNext.forEach(function(b){b.addEventListener(a,Kb,!1)})})}function j(){lc=!1,document.removeEventListener("keydown",wb,!1),window.removeEventListener("hashchange",Lb,!1),window.removeEventListener("resize",Mb,!1),fc.wrapper.removeEventListener("touchstart",xb,!1),fc.wrapper.removeEventListener("touchmove",yb,!1),fc.wrapper.removeEventListener("touchend",zb,!1),window.navigator.pointerEnabled?(fc.wrapper.removeEventListener("pointerdown",Ab,!1),fc.wrapper.removeEventListener("pointermove",Bb,!1),fc.wrapper.removeEventListener("pointerup",Cb,!1)):window.navigator.msPointerEnabled&&(fc.wrapper.removeEventListener("MSPointerDown",Ab,!1),fc.wrapper.removeEventListener("MSPointerMove",Bb,!1),fc.wrapper.removeEventListener("MSPointerUp",Cb,!1)),bc.progress&&fc.progress&&fc.progress.removeEventListener("click",Eb,!1),["touchstart","click"].forEach(function(a){fc.controlsLeft.forEach(function(b){b.removeEventListener(a,Fb,!1)}),fc.controlsRight.forEach(function(b){b.removeEventListener(a,Gb,!1)}),fc.controlsUp.forEach(function(b){b.removeEventListener(a,Hb,!1)}),fc.controlsDown.forEach(function(b){b.removeEventListener(a,Ib,!1)}),fc.controlsPrev.forEach(function(b){b.removeEventListener(a,Jb,!1)}),fc.controlsNext.forEach(function(b){b.removeEventListener(a,Kb,!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,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function n(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function o(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 p(a,b){if(b=b||0,a){var c=a.parentNode,d=c.childNodes;l(d).forEach(function(c){if("number"==typeof c.offsetHeight&&c!==a){var d=window.getComputedStyle(c),e=parseInt(d.marginTop,10),f=parseInt(d.marginBottom,10);b-=c.offsetHeight+e+f}});var e=window.getComputedStyle(a);b-=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10)}return b}function q(){return/print-pdf/gi.test(window.location.search)}function r(){bc.hideAddressBar&&Xb&&(window.addEventListener("load",s,!1),window.addEventListener("orientationchange",s,!1))}function s(){setTimeout(function(){window.scrollTo(0,1)},10)}function t(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),k(c,b),fc.wrapper.dispatchEvent(c)}function u(){if(gc.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(Zb+" 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 v(){for(var a=document.querySelectorAll(Zb+" 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 w(a){var b=l(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Pb,!1)})}function x(){var a=l(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Pb,!1)})}function y(a){z(),fc.preview=document.createElement("div"),fc.preview.classList.add("preview-link-overlay"),fc.wrapper.appendChild(fc.preview),fc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),fc.preview.querySelector("iframe").addEventListener("load",function(){fc.preview.classList.add("loaded")},!1),fc.preview.querySelector(".close").addEventListener("click",function(a){z(),a.preventDefault()},!1),fc.preview.querySelector(".external").addEventListener("click",function(){z()},!1),setTimeout(function(){fc.preview.classList.add("visible")},1)}function z(){fc.preview&&(fc.preview.setAttribute("src",""),fc.preview.parentNode.removeChild(fc.preview),fc.preview=null)}function A(){if(fc.wrapper&&!q()){var a=fc.wrapper.offsetWidth,b=fc.wrapper.offsetHeight;a-=b*bc.margin,b-=b*bc.margin;var c=bc.width,d=bc.height,e=20;B(bc.width,bc.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),fc.slides.style.width=c+"px",fc.slides.style.height=d+"px",ec=Math.min(a/c,b/d),ec=Math.max(ec,bc.minScale),ec=Math.min(ec,bc.maxScale),"undefined"==typeof fc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?n(fc.slides,"translate(-50%, -50%) scale("+ec+") translate(50%, 50%)"):fc.slides.style.zoom=ec;for(var f=l(document.querySelectorAll(Zb)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=bc.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(o(i)/2)-e,-d/2)+"px":"")}W(),$()}}function B(a,b,c){l(fc.slides.querySelectorAll("section > .stretch")).forEach(function(d){var e=p(d,b-2*c);if(/(img|video)/gi.test(d.nodeName)){var f=d.naturalWidth||d.videoWidth,g=d.naturalHeight||d.videoHeight,h=Math.min(a/f,e/g);d.style.width=f*h+"px",d.style.height=g*h+"px"}else d.style.width=a+"px",d.style.height=e+"px"})}function C(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function D(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 E(){if(bc.overview){mb();var a=fc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;fc.wrapper.classList.add("overview"),fc.wrapper.classList.remove("overview-deactivating"),clearTimeout(jc),clearTimeout(kc),jc=setTimeout(function(){for(var c=document.querySelectorAll($b),d=0,e=c.length;e>d;d++){var f=c[d],g=bc.rtl?-105:105;if(f.setAttribute("data-index-h",d),n(f,"translateZ(-"+b+"px) translate("+(d-Sb)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Sb?Tb:D(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),n(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Ob,!0)}else f.addEventListener("click",Ob,!0)}V(),A(),a||t("overviewshown",{indexh:Sb,indexv:Tb,currentSlide:Vb})},10)}}function F(){bc.overview&&(clearTimeout(jc),clearTimeout(kc),fc.wrapper.classList.remove("overview"),fc.wrapper.classList.add("overview-deactivating"),kc=setTimeout(function(){fc.wrapper.classList.remove("overview-deactivating")},1),l(document.querySelectorAll(Zb)).forEach(function(a){n(a,""),a.removeEventListener("click",Ob,!0)}),Q(Sb,Tb),lb(),t("overviewhidden",{indexh:Sb,indexv:Tb,currentSlide:Vb}))}function G(a){"boolean"==typeof a?a?E():F():H()?F():E()}function H(){return fc.wrapper.classList.contains("overview")}function I(a){return a=a?a:Vb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function J(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function K(){var a=fc.wrapper.classList.contains("paused");mb(),fc.wrapper.classList.add("paused"),a===!1&&t("paused")}function L(){var a=fc.wrapper.classList.contains("paused");fc.wrapper.classList.remove("paused"),lb(),a&&t("resumed")}function M(){N()?L():K()}function N(){return fc.wrapper.classList.contains("paused")}function O(a){"boolean"==typeof a?a?ob():nb():pc?ob():nb()}function P(){return!(!mc||pc)}function Q(a,b,c,d){Ub=Vb;var e=document.querySelectorAll($b);void 0===b&&(b=D(e[a])),Ub&&Ub.parentNode&&Ub.parentNode.classList.contains("stack")&&C(Ub.parentNode,Tb);var f=dc.concat();dc.length=0;var g=Sb||0,h=Tb||0;Sb=U($b,void 0===a?Sb:a),Tb=U(_b,void 0===b?Tb:b),V(),A();a:for(var i=0,j=dc.length;j>i;i++){for(var k=0;k0&&(a.classList.remove("present"),a.classList.remove("past"),a.classList.add("future"))})})}function T(){var a=l(document.querySelectorAll($b));a.forEach(function(a){var b=l(a.querySelectorAll("section"));b.forEach(function(a){hb(a.querySelectorAll(".fragment"))}),0===b.length&&hb(a.querySelectorAll(".fragment"))})}function U(a,b){var c=l(document.querySelectorAll(a)),d=c.length;if(d){bc.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=bc.rtl&&!I(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){f.classList.add(g?"future":"past");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");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&&(dc=dc.concat(m.split(" ")))}else b=0;return b}function V(){var a,b,c=l(document.querySelectorAll($b)),d=c.length;if(d){var e=H()?10:bc.viewDistance;Xb&&(e=H()?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((Sb-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=D(g),k=0;i>k;k++){var m=h[k];b=f===Sb?Math.abs(Tb-k):Math.abs(k-j),m.style.display=a+b>e?"none":"block"}}}}function W(){if(bc.progress&&fc.progress){var a=l(document.querySelectorAll($b)),b=document.querySelectorAll(Zb+":not(.stack)").length,c=0;a:for(var d=0;d0&&(a+=" - "+Tb),fc.slideNumber.innerHTML=a}}function Y(){var a=_(),b=ab();fc.controlsLeft.concat(fc.controlsRight).concat(fc.controlsUp).concat(fc.controlsDown).concat(fc.controlsPrev).concat(fc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&fc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&fc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&fc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&fc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&fc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&fc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Vb&&(b.prev&&fc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&fc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),I(Vb)?(b.prev&&fc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&fc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&fc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&fc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function Z(a){var b=null,c=bc.rtl?"future":"past",d=bc.rtl?"past":"future";if(l(fc.background.childNodes).forEach(function(e,f){Sb>f?e.className="slide-background "+c:f>Sb?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Sb)&&l(e.childNodes).forEach(function(a,c){Tb>c?a.className="slide-background past":c>Tb?a.className="slide-background future":(a.className="slide-background present",f===Sb&&(b=a))})}),b){var e=Wb?Wb.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==Wb&&fc.background.classList.add("no-transition"),Wb=b}setTimeout(function(){fc.background.classList.remove("no-transition")},1)}function $(){if(bc.parallaxBackgroundImage){var a,b,c=document.querySelectorAll($b),d=document.querySelectorAll(_b),e=fc.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=fc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Sb,i=fc.background.offsetHeight,j=d.length,k=j>1?-(b-i)/(j-1)*Tb:0;fc.background.style.backgroundPosition=h+"px "+k+"px"}}function _(){var a=document.querySelectorAll($b),b=document.querySelectorAll(_b),c={left:Sb>0||bc.loop,right:Sb0,down:Tb0,next:!!b.length}}return{prev:!1,next:!1}}function bb(a){a&&!db()&&(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 cb(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 db(){return!!window.location.search.match(/receiver/gi)}function eb(){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);Q(e.h,e.v)}else Q(Sb||0,Tb||0)}else{var f=parseInt(b[0],10)||0,g=parseInt(b[1],10)||0;(f!==Sb||g!==Tb)&&Q(f,g)}}function fb(a){if(bc.history)if(clearTimeout(ic),"number"==typeof a)ic=setTimeout(fb,a);else{var b="/";Vb&&"string"==typeof Vb.getAttribute("id")?b="/"+Vb.getAttribute("id"):((Sb>0||Tb>0)&&(b+=Sb),Tb>0&&(b+="/"+Tb)),window.location.hash=b}}function gb(a){var b,c=Sb,d=Tb;if(a){var e=I(a),f=e?a.parentNode:a,g=l(document.querySelectorAll($b));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(l(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Vb){var h=Vb.querySelectorAll(".fragment").length>0;if(h){var i=Vb.querySelectorAll(".fragment.visible");b=i.length-1}}return{h:c,v:d,f:b}}function hb(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 ib(a,b){if(Vb&&bc.fragments){var c=hb(Vb.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=hb(Vb.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&&t("fragmenthidden",{fragment:f[0],fragments:f}),e.length&&t("fragmentshown",{fragment:e[0],fragments:e}),Y(),!(!e.length&&!f.length)}}return!1}function jb(){return ib(null,1)}function kb(){return ib(null,-1)}function lb(){if(mb(),Vb){var a=Vb.querySelector(".current-fragment"),b=a?a.getAttribute("data-autoslide"):null,c=Vb.parentNode?Vb.parentNode.getAttribute("data-autoslide"):null,d=Vb.getAttribute("data-autoslide");mc=b?parseInt(b,10):d?parseInt(d,10):c?parseInt(c,10):bc.autoSlide,l(Vb.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&mc&&1e3*a.duration>mc&&(mc=1e3*a.duration+1e3)}),!mc||pc||N()||H()||Reveal.isLastSlide()&&bc.loop!==!0||(nc=setTimeout(ub,mc),oc=Date.now()),Yb&&Yb.setPlaying(-1!==nc)}}function mb(){clearTimeout(nc),nc=-1}function nb(){pc=!0,t("autoslidepaused"),clearTimeout(nc),Yb&&Yb.setPlaying(!1)}function ob(){pc=!1,t("autoslideresumed"),lb()}function pb(){bc.rtl?(H()||jb()===!1)&&_().left&&Q(Sb+1):(H()||kb()===!1)&&_().left&&Q(Sb-1)}function qb(){bc.rtl?(H()||kb()===!1)&&_().right&&Q(Sb-1):(H()||jb()===!1)&&_().right&&Q(Sb+1)}function rb(){(H()||kb()===!1)&&_().up&&Q(Sb,Tb-1)}function sb(){(H()||jb()===!1)&&_().down&&Q(Sb,Tb+1)}function tb(){if(kb()===!1)if(_().up)rb();else{var a=document.querySelector($b+".past:nth-child("+Sb+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Sb-1;Q(c,b)}}}function ub(){jb()===!1&&(_().down?sb():qb()),lb()}function vb(){bc.autoSlideStoppable&&nb()}function wb(a){var b=pc;vb(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(N()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var d=!1;if("object"==typeof bc.keyboard)for(var e in bc.keyboard)if(parseInt(e,10)===a.keyCode){var f=bc.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:tb();break;case 78:case 34:ub();break;case 72:case 37:pb();break;case 76:case 39:qb();break;case 75:case 38:rb();break;case 74:case 40:sb();break;case 36:Q(0);break;case 35:Q(Number.MAX_VALUE);break;case 32:H()?F():a.shiftKey?tb():ub();break;case 13:H()?F():d=!1;break;case 66:case 190:case 191:M();break;case 70:J();break;case 65:bc.autoSlideStoppable&&O(b);break;default:d=!1}d?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!gc.transforms3d||(fc.preview?z():G(),a.preventDefault()),lb()}}function xb(a){qc.startX=a.touches[0].clientX,qc.startY=a.touches[0].clientY,qc.startCount=a.touches.length,2===a.touches.length&&bc.overview&&(qc.startSpan=m({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:qc.startX,y:qc.startY}))}function yb(a){if(qc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{vb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===qc.startCount&&bc.overview){var d=m({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:qc.startX,y:qc.startY});Math.abs(qc.startSpan-d)>qc.threshold&&(qc.captured=!0,dqc.threshold&&Math.abs(e)>Math.abs(f)?(qc.captured=!0,pb()):e<-qc.threshold&&Math.abs(e)>Math.abs(f)?(qc.captured=!0,qb()):f>qc.threshold?(qc.captured=!0,rb()):f<-qc.threshold&&(qc.captured=!0,sb()),bc.embedded?(qc.captured||I(Vb))&&a.preventDefault():a.preventDefault()}}}function zb(){qc.captured=!1}function Ab(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],xb(a))}function Bb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],yb(a))}function Cb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],zb(a))}function Db(a){if(Date.now()-hc>600){hc=Date.now();var b=a.detail||-a.wheelDelta;b>0?ub():tb()}}function Eb(a){vb(a),a.preventDefault();var b=l(document.querySelectorAll($b)).length,c=Math.floor(a.clientX/fc.wrapper.offsetWidth*b);Q(c)}function Fb(a){a.preventDefault(),vb(),pb()}function Gb(a){a.preventDefault(),vb(),qb()}function Hb(a){a.preventDefault(),vb(),rb()}function Ib(a){a.preventDefault(),vb(),sb()}function Jb(a){a.preventDefault(),vb(),tb()}function Kb(a){a.preventDefault(),vb(),ub()}function Lb(){eb()}function Mb(){A()}function Nb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Ob(a){if(lc&&H()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(F(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);Q(c,d)}}}function Pb(a){var b=a.target.getAttribute("href");b&&(y(b),a.preventDefault())}function Qb(){Reveal.isLastSlide()&&bc.loop===!1?(Q(0,0),ob()):pc?ob():nb()}function Rb(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 Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb=".reveal .slides section",$b=".reveal .slides>section",_b=".reveal .slides>section.present>section",ac=".reveal .slides>section:first-of-type",bc={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:[]},cc=!1,dc=[],ec=1,fc={},gc={},hc=0,ic=0,jc=0,kc=0,lc=!1,mc=0,nc=0,oc=-1,pc=!1,qc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Rb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Rb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&gc.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Rb.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() -},Rb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Rb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Rb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:h,sync:R,slide:Q,left:pb,right:qb,up:rb,down:sb,prev:tb,next:ub,navigateFragment:ib,prevFragment:kb,nextFragment:jb,navigateTo:Q,navigateLeft:pb,navigateRight:qb,navigateUp:rb,navigateDown:sb,navigatePrev:tb,navigateNext:ub,layout:A,availableRoutes:_,availableFragments:ab,toggleOverview:G,togglePause:M,toggleAutoSlide:O,isOverview:H,isPaused:N,isAutoSliding:P,addEventListeners:i,removeEventListeners:j,getIndices:gb,getSlide:function(a,b){var c=document.querySelectorAll($b)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Ub},getCurrentSlide:function(){return Vb},getScale:function(){return ec},getConfig:function(){return bc},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]=unescape(c),"null"===c?a[b]=null:"true"===c?a[b]=!0:"false"===c?a[b]=!1:c.match(/^\d+$/)&&(a[b]=parseFloat(c))}return a},isFirstSlide:function(){return null==document.querySelector(Zb+".past")?!0:!1},isLastSlide:function(){return Vb?Vb.nextElementSibling?!1:I(Vb)&&Vb.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return cc},addEventListener:function(a,b,c){"addEventListener"in window&&(fc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(fc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function a(a){if(b(),!ic.transforms2d&&!ic.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",A,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,k(dc,a),k(dc,d),r(),c()}function b(){ic.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,ic.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,ic.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,ic.requestAnimationFrame="function"==typeof ic.requestAnimationFrameMethod,ic.canvas=!!document.createElement("canvas").getContext,Zb=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=dc.dependencies.length;h>g;g++){var i=dc.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(),S(),h(),eb(),Z(!0),setTimeout(function(){hc.slides.classList.remove("no-transition"),ec=!0,t("ready",{indexh:Ub,indexv:Vb,currentSlide:Xb})},1)}function e(){hc.theme=document.querySelector("#theme"),hc.wrapper=document.querySelector(".reveal"),hc.slides=document.querySelector(".reveal .slides"),hc.slides.classList.add("no-transition"),hc.background=f(hc.wrapper,"div","backgrounds",null),hc.progress=f(hc.wrapper,"div","progress",""),hc.progressbar=hc.progress.querySelector("span"),f(hc.wrapper,"aside","controls",''),hc.slideNumber=f(hc.wrapper,"div","slide-number",""),f(hc.wrapper,"div","state-background",null),f(hc.wrapper,"div","pause-overlay",null),hc.controls=document.querySelector(".reveal .controls"),hc.controlsLeft=l(document.querySelectorAll(".navigate-left")),hc.controlsRight=l(document.querySelectorAll(".navigate-right")),hc.controlsUp=l(document.querySelectorAll(".navigate-up")),hc.controlsDown=l(document.querySelectorAll(".navigate-down")),hc.controlsPrev=l(document.querySelectorAll(".navigate-prev")),hc.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}q()&&document.body.classList.add("print-pdf"),hc.background.innerHTML="",hc.background.classList.add("no-transition"),l(document.querySelectorAll(ac)).forEach(function(b){var c;c=q()?a(b,b):a(b,hc.background),l(b.querySelectorAll("section")).forEach(function(b){q()?a(b,b):a(b,c)})}),dc.parallaxBackgroundImage?(hc.background.style.backgroundImage='url("'+dc.parallaxBackgroundImage+'")',hc.background.style.backgroundSize=dc.parallaxBackgroundSize,setTimeout(function(){hc.wrapper.classList.add("has-parallax-background")},1)):(hc.background.style.backgroundImage="",hc.wrapper.classList.remove("has-parallax-background"))}function h(a){var b=document.querySelectorAll(_b).length;if(hc.wrapper.classList.remove(dc.transition),"object"==typeof a&&k(dc,a),ic.transforms3d===!1&&(dc.transition="linear"),hc.wrapper.classList.add(dc.transition),hc.wrapper.setAttribute("data-transition-speed",dc.transitionSpeed),hc.wrapper.setAttribute("data-background-transition",dc.backgroundTransition),hc.controls.style.display=dc.controls?"block":"none",hc.progress.style.display=dc.progress?"block":"none",dc.rtl?hc.wrapper.classList.add("rtl"):hc.wrapper.classList.remove("rtl"),dc.center?hc.wrapper.classList.add("center"):hc.wrapper.classList.remove("center"),dc.mouseWheel?(document.addEventListener("DOMMouseScroll",Fb,!1),document.addEventListener("mousewheel",Fb,!1)):(document.removeEventListener("DOMMouseScroll",Fb,!1),document.removeEventListener("mousewheel",Fb,!1)),dc.rollingLinks?u():v(),dc.previewLinks?w():(x(),w("[data-preview-link]")),$b&&($b.destroy(),$b=null),b>1&&dc.autoSlide&&dc.autoSlideStoppable&&ic.canvas&&ic.requestAnimationFrame&&($b=new Tb(hc.wrapper,function(){return Math.min(Math.max((Date.now()-qc)/oc,0),1)}),$b.on("click",Sb),rc=!1),dc.theme&&hc.theme){var c=hc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];dc.theme!==e&&(c=c.replace(d,dc.theme),hc.theme.setAttribute("href",c))}R()}function i(){if(nc=!0,window.addEventListener("hashchange",Nb,!1),window.addEventListener("resize",Ob,!1),dc.touch&&(hc.wrapper.addEventListener("touchstart",zb,!1),hc.wrapper.addEventListener("touchmove",Ab,!1),hc.wrapper.addEventListener("touchend",Bb,!1),window.navigator.pointerEnabled?(hc.wrapper.addEventListener("pointerdown",Cb,!1),hc.wrapper.addEventListener("pointermove",Db,!1),hc.wrapper.addEventListener("pointerup",Eb,!1)):window.navigator.msPointerEnabled&&(hc.wrapper.addEventListener("MSPointerDown",Cb,!1),hc.wrapper.addEventListener("MSPointerMove",Db,!1),hc.wrapper.addEventListener("MSPointerUp",Eb,!1))),dc.keyboard&&document.addEventListener("keydown",yb,!1),dc.progress&&hc.progress&&hc.progress.addEventListener("click",Gb,!1),dc.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Pb,!1)}["touchstart","click"].forEach(function(a){hc.controlsLeft.forEach(function(b){b.addEventListener(a,Hb,!1)}),hc.controlsRight.forEach(function(b){b.addEventListener(a,Ib,!1)}),hc.controlsUp.forEach(function(b){b.addEventListener(a,Jb,!1)}),hc.controlsDown.forEach(function(b){b.addEventListener(a,Kb,!1)}),hc.controlsPrev.forEach(function(b){b.addEventListener(a,Lb,!1)}),hc.controlsNext.forEach(function(b){b.addEventListener(a,Mb,!1)})})}function j(){nc=!1,document.removeEventListener("keydown",yb,!1),window.removeEventListener("hashchange",Nb,!1),window.removeEventListener("resize",Ob,!1),hc.wrapper.removeEventListener("touchstart",zb,!1),hc.wrapper.removeEventListener("touchmove",Ab,!1),hc.wrapper.removeEventListener("touchend",Bb,!1),window.navigator.pointerEnabled?(hc.wrapper.removeEventListener("pointerdown",Cb,!1),hc.wrapper.removeEventListener("pointermove",Db,!1),hc.wrapper.removeEventListener("pointerup",Eb,!1)):window.navigator.msPointerEnabled&&(hc.wrapper.removeEventListener("MSPointerDown",Cb,!1),hc.wrapper.removeEventListener("MSPointerMove",Db,!1),hc.wrapper.removeEventListener("MSPointerUp",Eb,!1)),dc.progress&&hc.progress&&hc.progress.removeEventListener("click",Gb,!1),["touchstart","click"].forEach(function(a){hc.controlsLeft.forEach(function(b){b.removeEventListener(a,Hb,!1)}),hc.controlsRight.forEach(function(b){b.removeEventListener(a,Ib,!1)}),hc.controlsUp.forEach(function(b){b.removeEventListener(a,Jb,!1)}),hc.controlsDown.forEach(function(b){b.removeEventListener(a,Kb,!1)}),hc.controlsPrev.forEach(function(b){b.removeEventListener(a,Lb,!1)}),hc.controlsNext.forEach(function(b){b.removeEventListener(a,Mb,!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,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function n(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function o(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 p(a,b){if(b=b||0,a){var c=a.parentNode,d=c.childNodes;l(d).forEach(function(c){if("number"==typeof c.offsetHeight&&c!==a){var d=window.getComputedStyle(c),e=parseInt(d.marginTop,10),f=parseInt(d.marginBottom,10);b-=c.offsetHeight+e+f}});var e=window.getComputedStyle(a);b-=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10)}return b}function q(){return/print-pdf/gi.test(window.location.search)}function r(){dc.hideAddressBar&&Zb&&(window.addEventListener("load",s,!1),window.addEventListener("orientationchange",s,!1))}function s(){setTimeout(function(){window.scrollTo(0,1)},10)}function t(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),k(c,b),hc.wrapper.dispatchEvent(c)}function u(){if(ic.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(_b+" 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 v(){for(var a=document.querySelectorAll(_b+" 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 w(a){var b=l(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Rb,!1)})}function x(){var a=l(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Rb,!1)})}function y(a){z(),hc.preview=document.createElement("div"),hc.preview.classList.add("preview-link-overlay"),hc.wrapper.appendChild(hc.preview),hc.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),hc.preview.querySelector("iframe").addEventListener("load",function(){hc.preview.classList.add("loaded")},!1),hc.preview.querySelector(".close").addEventListener("click",function(a){z(),a.preventDefault()},!1),hc.preview.querySelector(".external").addEventListener("click",function(){z()},!1),setTimeout(function(){hc.preview.classList.add("visible")},1)}function z(){hc.preview&&(hc.preview.setAttribute("src",""),hc.preview.parentNode.removeChild(hc.preview),hc.preview=null)}function A(){if(hc.wrapper&&!q()){var a=hc.wrapper.offsetWidth,b=hc.wrapper.offsetHeight;a-=b*dc.margin,b-=b*dc.margin;var c=dc.width,d=dc.height,e=20;B(dc.width,dc.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),hc.slides.style.width=c+"px",hc.slides.style.height=d+"px",gc=Math.min(a/c,b/d),gc=Math.max(gc,dc.minScale),gc=Math.min(gc,dc.maxScale),"undefined"==typeof hc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?n(hc.slides,"translate(-50%, -50%) scale("+gc+") translate(50%, 50%)"):hc.slides.style.zoom=gc;for(var f=l(document.querySelectorAll(_b)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=dc.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(o(i)/2)-e,-d/2)+"px":"")}W(),$()}}function B(a,b,c){l(hc.slides.querySelectorAll("section > .stretch")).forEach(function(d){var e=p(d,b-2*c);if(/(img|video)/gi.test(d.nodeName)){var f=d.naturalWidth||d.videoWidth,g=d.naturalHeight||d.videoHeight,h=Math.min(a/f,e/g);d.style.width=f*h+"px",d.style.height=g*h+"px"}else d.style.width=a+"px",d.style.height=e+"px"})}function C(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function D(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 E(){if(dc.overview){ob();var a=hc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;hc.wrapper.classList.add("overview"),hc.wrapper.classList.remove("overview-deactivating"),clearTimeout(lc),clearTimeout(mc),lc=setTimeout(function(){for(var c=document.querySelectorAll(ac),d=0,e=c.length;e>d;d++){var f=c[d],g=dc.rtl?-105:105;if(f.setAttribute("data-index-h",d),n(f,"translateZ(-"+b+"px) translate("+(d-Ub)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Ub?Vb:D(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),n(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Qb,!0)}else f.addEventListener("click",Qb,!0)}V(),A(),a||t("overviewshown",{indexh:Ub,indexv:Vb,currentSlide:Xb})},10)}}function F(){dc.overview&&(clearTimeout(lc),clearTimeout(mc),hc.wrapper.classList.remove("overview"),hc.wrapper.classList.add("overview-deactivating"),mc=setTimeout(function(){hc.wrapper.classList.remove("overview-deactivating")},1),l(document.querySelectorAll(_b)).forEach(function(a){n(a,""),a.removeEventListener("click",Qb,!0)}),Q(Ub,Vb),nb(),t("overviewhidden",{indexh:Ub,indexv:Vb,currentSlide:Xb}))}function G(a){"boolean"==typeof a?a?E():F():H()?F():E()}function H(){return hc.wrapper.classList.contains("overview")}function I(a){return a=a?a:Xb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function J(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function K(){var a=hc.wrapper.classList.contains("paused");ob(),hc.wrapper.classList.add("paused"),a===!1&&t("paused")}function L(){var a=hc.wrapper.classList.contains("paused");hc.wrapper.classList.remove("paused"),nb(),a&&t("resumed")}function M(a){"boolean"==typeof a?a?K():L():N()?L():K()}function N(){return hc.wrapper.classList.contains("paused")}function O(a){"boolean"==typeof a?a?qb():pb():rc?qb():pb()}function P(){return!(!oc||rc)}function Q(a,b,c,d){Wb=Xb;var e=document.querySelectorAll(ac);void 0===b&&(b=D(e[a])),Wb&&Wb.parentNode&&Wb.parentNode.classList.contains("stack")&&C(Wb.parentNode,Vb);var f=fc.concat();fc.length=0;var g=Ub||0,h=Vb||0;Ub=U(ac,void 0===a?Ub:a),Vb=U(bc,void 0===b?Vb:b),V(),A();a:for(var i=0,j=fc.length;j>i;i++){for(var k=0;k0&&(a.classList.remove("present"),a.classList.remove("past"),a.classList.add("future"))})})}function T(){var a=l(document.querySelectorAll(ac));a.forEach(function(a){var b=l(a.querySelectorAll("section"));b.forEach(function(a){jb(a.querySelectorAll(".fragment"))}),0===b.length&&jb(a.querySelectorAll(".fragment"))})}function U(a,b){var c=l(document.querySelectorAll(a)),d=c.length;if(d){dc.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=dc.rtl&&!I(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){f.classList.add(g?"future":"past");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");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&&(fc=fc.concat(m.split(" ")))}else b=0;return b}function V(){var a,b,c=l(document.querySelectorAll(ac)),d=c.length;if(d){var e=H()?10:dc.viewDistance;Zb&&(e=H()?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((Ub-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=D(g),k=0;i>k;k++){var m=h[k];b=f===Ub?Math.abs(Vb-k):Math.abs(k-j),m.style.display=a+b>e?"none":"block"}}}}function W(){if(dc.progress&&hc.progress){var a=l(document.querySelectorAll(ac)),b=document.querySelectorAll(_b+":not(.stack)").length,c=0;a:for(var d=0;d0&&(a+=" - "+Vb),hc.slideNumber.innerHTML=a}}function Y(){var a=_(),b=ab();hc.controlsLeft.concat(hc.controlsRight).concat(hc.controlsUp).concat(hc.controlsDown).concat(hc.controlsPrev).concat(hc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&hc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&hc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&hc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&hc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&hc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&hc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Xb&&(b.prev&&hc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&hc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),I(Xb)?(b.prev&&hc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&hc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&hc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&hc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function Z(a){var b=null,c=dc.rtl?"future":"past",d=dc.rtl?"past":"future";if(l(hc.background.childNodes).forEach(function(e,f){Ub>f?e.className="slide-background "+c:f>Ub?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Ub)&&l(e.childNodes).forEach(function(a,c){Vb>c?a.className="slide-background past":c>Vb?a.className="slide-background future":(a.className="slide-background present",f===Ub&&(b=a))})}),b){var e=Yb?Yb.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==Yb&&hc.background.classList.add("no-transition"),Yb=b}setTimeout(function(){hc.background.classList.remove("no-transition")},1)}function $(){if(dc.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(ac),d=document.querySelectorAll(bc),e=hc.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=hc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Ub,i=hc.background.offsetHeight,j=d.length,k=j>1?-(b-i)/(j-1)*Vb:0;hc.background.style.backgroundPosition=h+"px "+k+"px"}}function _(){var a=document.querySelectorAll(ac),b=document.querySelectorAll(bc),c={left:Ub>0||dc.loop,right:Ub0,down:Vb0,next:!!b.length}}return{prev:!1,next:!1}}function bb(a){a&&!db()&&(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 cb(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 db(){return!!window.location.search.match(/receiver/gi)}function eb(){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);Q(e.h,e.v)}else Q(Ub||0,Vb||0)}else{var f=parseInt(b[0],10)||0,g=parseInt(b[1],10)||0;(f!==Ub||g!==Vb)&&Q(f,g)}}function fb(a){if(dc.history)if(clearTimeout(kc),"number"==typeof a)kc=setTimeout(fb,a);else{var b="/";Xb&&"string"==typeof Xb.getAttribute("id")?b="/"+Xb.getAttribute("id"):((Ub>0||Vb>0)&&(b+=Ub),Vb>0&&(b+="/"+Vb)),window.location.hash=b}}function gb(a){var b,c=Ub,d=Vb;if(a){var e=I(a),f=e?a.parentNode:a,g=l(document.querySelectorAll(ac));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(l(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Xb){var h=Xb.querySelectorAll(".fragment").length>0;if(h){var i=Xb.querySelectorAll(".fragment.visible");b=i.length-1}}return{h:c,v:d,f:b}}function hb(){var a=gb();return{indexh:a.h,indexv:a.v,indexf:a.f,paused:N(),overview:H()}}function ib(a){"object"==typeof a&&(Q(a.indexh,a.indexv,a.indexf),M(a.paused),G(a.overview))}function jb(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 kb(a,b){if(Xb&&dc.fragments){var c=jb(Xb.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=jb(Xb.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&&t("fragmenthidden",{fragment:f[0],fragments:f}),e.length&&t("fragmentshown",{fragment:e[0],fragments:e}),Y(),!(!e.length&&!f.length)}}return!1}function lb(){return kb(null,1)}function mb(){return kb(null,-1)}function nb(){if(ob(),Xb){var a=Xb.querySelector(".current-fragment"),b=a?a.getAttribute("data-autoslide"):null,c=Xb.parentNode?Xb.parentNode.getAttribute("data-autoslide"):null,d=Xb.getAttribute("data-autoslide");oc=b?parseInt(b,10):d?parseInt(d,10):c?parseInt(c,10):dc.autoSlide,l(Xb.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&oc&&1e3*a.duration>oc&&(oc=1e3*a.duration+1e3)}),!oc||rc||N()||H()||Reveal.isLastSlide()&&dc.loop!==!0||(pc=setTimeout(wb,oc),qc=Date.now()),$b&&$b.setPlaying(-1!==pc)}}function ob(){clearTimeout(pc),pc=-1}function pb(){rc=!0,t("autoslidepaused"),clearTimeout(pc),$b&&$b.setPlaying(!1)}function qb(){rc=!1,t("autoslideresumed"),nb()}function rb(){dc.rtl?(H()||lb()===!1)&&_().left&&Q(Ub+1):(H()||mb()===!1)&&_().left&&Q(Ub-1)}function sb(){dc.rtl?(H()||mb()===!1)&&_().right&&Q(Ub-1):(H()||lb()===!1)&&_().right&&Q(Ub+1)}function tb(){(H()||mb()===!1)&&_().up&&Q(Ub,Vb-1)}function ub(){(H()||lb()===!1)&&_().down&&Q(Ub,Vb+1)}function vb(){if(mb()===!1)if(_().up)tb();else{var a=document.querySelector(ac+".past:nth-child("+Ub+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Ub-1;Q(c,b)}}}function wb(){lb()===!1&&(_().down?ub():sb()),nb()}function xb(){dc.autoSlideStoppable&&pb()}function yb(a){var b=rc;xb(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(N()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var d=!1;if("object"==typeof dc.keyboard)for(var e in dc.keyboard)if(parseInt(e,10)===a.keyCode){var f=dc.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:vb();break;case 78:case 34:wb();break;case 72:case 37:rb();break;case 76:case 39:sb();break;case 75:case 38:tb();break;case 74:case 40:ub();break;case 36:Q(0);break;case 35:Q(Number.MAX_VALUE);break;case 32:H()?F():a.shiftKey?vb():wb();break;case 13:H()?F():d=!1;break;case 66:case 190:case 191:M();break;case 70:J();break;case 65:dc.autoSlideStoppable&&O(b);break;default:d=!1}d?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!ic.transforms3d||(hc.preview?z():G(),a.preventDefault()),nb()}}function zb(a){sc.startX=a.touches[0].clientX,sc.startY=a.touches[0].clientY,sc.startCount=a.touches.length,2===a.touches.length&&dc.overview&&(sc.startSpan=m({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:sc.startX,y:sc.startY}))}function Ab(a){if(sc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{xb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===sc.startCount&&dc.overview){var d=m({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,rb()):e<-sc.threshold&&Math.abs(e)>Math.abs(f)?(sc.captured=!0,sb()):f>sc.threshold?(sc.captured=!0,tb()):f<-sc.threshold&&(sc.captured=!0,ub()),dc.embedded?(sc.captured||I(Xb))&&a.preventDefault():a.preventDefault()}}}function Bb(){sc.captured=!1}function Cb(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],zb(a))}function Db(a){(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],Ab(a))}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){if(Date.now()-jc>600){jc=Date.now();var b=a.detail||-a.wheelDelta;b>0?wb():vb()}}function Gb(a){xb(a),a.preventDefault();var b=l(document.querySelectorAll(ac)).length,c=Math.floor(a.clientX/hc.wrapper.offsetWidth*b);Q(c)}function Hb(a){a.preventDefault(),xb(),rb()}function Ib(a){a.preventDefault(),xb(),sb()}function Jb(a){a.preventDefault(),xb(),tb()}function Kb(a){a.preventDefault(),xb(),ub()}function Lb(a){a.preventDefault(),xb(),vb()}function Mb(a){a.preventDefault(),xb(),wb()}function Nb(){eb()}function Ob(){A()}function Pb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Qb(a){if(nc&&H()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(F(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);Q(c,d)}}}function Rb(a){var b=a.target.getAttribute("href");b&&(y(b),a.preventDefault())}function Sb(){Reveal.isLastSlide()&&dc.loop===!1?(Q(0,0),qb()):rc?qb():pb()}function Tb(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 Ub,Vb,Wb,Xb,Yb,Zb,$b,_b=".reveal .slides section",ac=".reveal .slides>section",bc=".reveal .slides>section.present>section",cc=".reveal .slides>section:first-of-type",dc={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:[]},ec=!1,fc=[],gc=1,hc={},ic={},jc=0,kc=0,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 Tb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Tb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&ic.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Tb.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() +},Tb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Tb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Tb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:h,sync:R,slide:Q,left:rb,right:sb,up:tb,down:ub,prev:vb,next:wb,navigateFragment:kb,prevFragment:mb,nextFragment:lb,navigateTo:Q,navigateLeft:rb,navigateRight:sb,navigateUp:tb,navigateDown:ub,navigatePrev:vb,navigateNext:wb,layout:A,availableRoutes:_,availableFragments:ab,toggleOverview:G,togglePause:M,toggleAutoSlide:O,isOverview:H,isPaused:N,isAutoSliding:P,addEventListeners:i,removeEventListeners:j,getState:hb,setState:ib,getIndices:gb,getSlide:function(a,b){var c=document.querySelectorAll(ac)[a],d=c&&c.querySelectorAll("section");return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Wb},getCurrentSlide:function(){return Xb},getScale:function(){return gc},getConfig:function(){return dc},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]=unescape(c),"null"===c?a[b]=null:"true"===c?a[b]=!0:"false"===c?a[b]=!1:c.match(/^\d+$/)&&(a[b]=parseFloat(c))}return a},isFirstSlide:function(){return null==document.querySelector(_b+".past")?!0:!1},isLastSlide:function(){return Xb?Xb.nextElementSibling?!1:I(Xb)&&Xb.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return ec},addEventListener:function(a,b,c){"addEventListener"in window&&(hc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(hc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}(); \ No newline at end of file