b0VIM 7.4<2Q'×}¤bjhalatom-kha.local~jhala/research/liquid/liquidhaskell/docs/tutorial/tmp/pdcreveal/_support/reveal/js/reveal.js 3210#"! Utp zÿÿÿÿÿÿÿÿ€{þÿÿÿÿÿÿÿpûýÿÿÿÿÿÿÿƒküÿÿÿÿÿÿÿwîûÿÿÿÿÿÿÿeúÿÿÿÿÿÿÿuæùÿÿÿÿÿÿÿx[øÿÿÿÿÿÿÿ…Ó&Xad-1züçƶ²vrXVÑÐœ›SFÖ Ã Â Ž { z K 8 7  Ä › Š ‰ [ F E    Ý Ç Æ ¯ l k I 5 0 / ë Ý Ï Î œ ‹ { z 2 ë Ò Ä Ã œ e  Ø”Q¼y7ö¸µvu4ÜÅÄ…yk]L:' Ïʨk0/ï¼±­¬€cb< Õ•ML10 if ( config.controls ) { dom.progressbar = document.querySelector( '.reveal .progress span' ); dom.progress = document.querySelector( '.reveal .progress' ); dom.wrapper = document.querySelector( '.reveal' ); dom.theme = document.querySelector( '#theme' ); // Cache references to DOM elements extend( config, options ); // Copy options over to our config object } return; // using JavaScript to control the presentation // If the browser doesn't support core features we won't be document.body.setAttribute( 'class', 'no-transforms' ); if( ( !supports2DTransforms && !supports3DTransforms ) ) { function initialize( options ) { */ * Starts up the presentation if the client is capable. /** }; threshold: 40 handled: false, startCount: 0, startSpan: 0, startY: 0, startX: 0, touch = { // Holds information about the currently ongoing touch input writeURLTimeout = 0, // Delays updates to the URL due to a Chrome thumbnailer bug autoSlideTimeout = 0, // An interval used to automatically move on to the next slide mouseWheelTimeout = 0, // Throttles mouse wheel navigation 'transform' in document.body.style, 'OTransform' in document.body.style || 'msTransform' in document.body.style || 'MozTransform' in document.body.style || supports2DTransforms = 'WebkitTransform' in document.body.style || 'perspective' in document.body.style, 'OPerspective' in document.body.style || 'msPerspective' in document.body.style || 'MozPerspective' in document.body.style || supports3DTransforms = 'WebkitPerspective' in document.body.style || // Detect support for CSS 3D transforms dom = {}, // Cached references to DOM elements state = [], // all current slides. // as a class to the body. This list contains the combined state of // Slides may hold a data-state attribute which we pick up and apply currentSlide, previousSlide, // The previous and current slide HTML elements indexv = 0, indexh = 0, // The horizontal and verical index of the currently active slide }, dependencies: [] // Script dependencies to load transition: 'default', // default/cube/page/concave/linear(2d), // Transition style theme: 'default', // Transition style (see /css/theme) rollingLinks: true, // Apply a 3D roll to links on hover mouseWheel: true, // Enable slide navigation via mouse wheel autoSlide: 0, // next slide, disabled when set to 0 // Number of milliseconds between automatically proceeding to the loop: false, // Loop the presentation keyboard: true, // Enable keyboard shortcuts for navigation history: false, // Push each slide change to the browser history progress: true, // Display a presentation progress bar controls: true, // Display controls in the bottom right corner config = { // Configurations defaults, can be overridden at initialization time IS_TOUCH_DEVICE = !!( 'ontouchstart' in window ), VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section', var HORIZONTAL_SLIDES_SELECTOR = '.reveal .slides>section', var Reveal = (function(){ */ * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se * * MIT licensed * http://lab.hakim.se/reveal-js * reveal.js 2.0 r22/*!adN  &æáà«ŠrmlE% ɬ™˜Xý ü Ç Š b ÷ ò í ­ …       })(); }; } } ( dom.wrapper || document.querySelector( '.reveal' ) ).removeEventListener( type, listener, useCapture ); if( 'addEventListener' in window ) { removeEventListener: function( type, listener, useCapture ) { }, } ( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture ); if( 'addEventListener' in window ) { addEventListener: function( type, listener, useCapture ) { // Forward event binding to the reveal DOM element }, return query; } ); query[ a.split( '=' ).shift() ] = a.split( '=' ).pop(); location.search.replace( /[A-Z0-9]+?=(\w*)/gi, function(a) { var query = {}; getQueryHash: function() { // Helper method, retrieves query string as a key/value hash }, return currentSlide getCurrentSlide: function() { // Returns the current slide element }, return previousSlide getPreviousSlide: function() { // Returns the previous slide element, may be null }, return { h: h, v: v };