From 967e58383f5cd5e21409a9f7050e64f6eb3b7674 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 01:44:47 +0200 Subject: [PATCH 01/12] Adding SSR --- build/rollup.config.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/rollup.config.js b/build/rollup.config.js index a898374..168f2bf 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -1,6 +1,7 @@ const babel = require('rollup-plugin-babel') const commonjs = require('rollup-plugin-commonjs') const vue = require('rollup-plugin-vue') +const css = require('rollup-plugin-css-only') const pkg = require('../package.json') const banner = `/* @@ -23,7 +24,8 @@ module.exports = { ], plugins: [ commonjs(), - vue(), + css(), + vue({ css: false }), babel({ runtimeHelpers: true }) From 4cb03439faeb93fbb0c561bdb7b14a259cbd7842 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 01:46:10 +0200 Subject: [PATCH 02/12] Adding SSR --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 31a3823..89e5f20 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "rollup-plugin-babel": "^4.3.2", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-vue": "^5.0.0", + "rollup-plugin-css-only": "^3.1.0", "sass-loader": "^7.1.0", "shelljs": "^0.7.6", "vue": "^2.6.10", From 5248e25340e6ae5f6283496c4a7530368cda48b6 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 01:55:19 +0200 Subject: [PATCH 03/12] adding SSR --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 89e5f20..a526b53 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepublishOnly": "npm run build", + "prepare": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From 52a47ccb9465c127b56937b5123268fd6db9eab7 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:16:52 +0200 Subject: [PATCH 04/12] Enable dist folder when including from git --- .npmignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .npmignore diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.npmignore @@ -0,0 +1 @@ + From bf670c1d134d5a763f2afd586582e3a70caa3521 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:19:20 +0200 Subject: [PATCH 05/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a526b53..4a177ca 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepare": "npm run build", + "prepublish": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From 7241ac69e42f241461f8a7219f09b3a83f0c5fde Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:23:48 +0200 Subject: [PATCH 06/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4a177ca..a526b53 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepublish": "npm run build", + "prepare": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From d85e6605bebd981f31300ec6d2e8d3f823eebf1f Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:29:19 +0200 Subject: [PATCH 07/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a526b53..54d913b 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepare": "npm run build", + "prepare": "node build/build.js", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From aa21e7087882514bb389c097f0d05d263db53a46 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:35:03 +0200 Subject: [PATCH 08/12] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 919a328..7749e3a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ node_modules/ npm-debug.log .idea/ .vscode/ -dist/ + From b336637df4d307a4dece0b46e4f0556d66e4d230 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:36:40 +0200 Subject: [PATCH 09/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 54d913b..a526b53 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepare": "node build/build.js", + "prepare": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From 9c0548246bd5fb282782d62a2d007cc18667f445 Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:38:56 +0200 Subject: [PATCH 10/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a526b53..4a177ca 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { - "prepare": "npm run build", + "prepublish": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", "format": "prettier --write src/themes/**/*.scss src/themes/*.scss", From a7a5b1758230c53490118fe952476cfcb285c46c Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 02:45:12 +0200 Subject: [PATCH 11/12] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 4a177ca..3666fcd 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "author": "Zulko", "license": "ISC", "scripts": { + "prepack": "npm run build", "prepublish": "npm run build", "build": "node build/build.js", "storybook": "start-storybook -p 9001 -c .storybook", From 16a72250c05fff6eedd8bd05f5147bd04bf7b51e Mon Sep 17 00:00:00 2001 From: aesdotjs Date: Thu, 17 Jun 2021 03:50:11 +0200 Subject: [PATCH 12/12] Adding dist --- dist/dist/eagle.cjs.css | 252 ++++ dist/eagle.cjs.js | 1533 +++++++++++++++++++++++ dist/eagle.es.js | 1514 ++++++++++++++++++++++ dist/themes/agrume/agrume.css | 222 ++++ dist/themes/assets/crossword.png | Bin 0 -> 43694 bytes dist/themes/assets/handmadepaper.png | Bin 0 -> 13793 bytes dist/themes/assets/subtle_symphony.png | Bin 0 -> 19141 bytes dist/themes/gourmet/gourmet.css | 195 +++ dist/themes/refuel-dark/refuel-dark.css | 201 +++ 9 files changed, 3917 insertions(+) create mode 100644 dist/dist/eagle.cjs.css create mode 100644 dist/eagle.cjs.js create mode 100644 dist/eagle.es.js create mode 100644 dist/themes/agrume/agrume.css create mode 100644 dist/themes/assets/crossword.png create mode 100644 dist/themes/assets/handmadepaper.png create mode 100644 dist/themes/assets/subtle_symphony.png create mode 100644 dist/themes/gourmet/gourmet.css create mode 100644 dist/themes/refuel-dark/refuel-dark.css diff --git a/dist/dist/eagle.cjs.css b/dist/dist/eagle.cjs.css new file mode 100644 index 0000000..368ef63 --- /dev/null +++ b/dist/dist/eagle.cjs.css @@ -0,0 +1,252 @@ +@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro); +.eg-slideshow { + margin-top: 0; + background-attachment: fixed; + position: absolute; + height: 100%; + width: 100%; + overflow: hidden; +} +.eg-slideshow h1, +.eg-slideshow h2, +.eg-slideshow h3 { + text-align: center; +} +.eg-slideshow h1 { + font-size: 4em; + margin-bottom: 0.1em; +} +.eg-slideshow h2 { + font-size: 3em; +} +.eg-slideshow h3 { + font-size: 2em; + margin-bottom: 0.5em; +} +.eg-slideshow h4 { + font-size: 1.5em; +} +.eg-slideshow input { + font-size: 1em; +} +.eg-slideshow strong { + font-weight: bold; +} +.eg-slideshow .small { + font-size: 0.65em; +} +.eg-slideshow img { + max-width: 80%; +} +.eg-slideshow .eg-code-block { + font-family: "Source Code Pro", Courier; + text-align: left; + font-size: 0.5em; +} +.eg-slideshow .eg-code-block .box { + padding: 1em; +} +.eg-slideshow .eg-slide { + height: 100%; + overflow: hidden; + width: 100%; + position: absolute; +} +.eg-slideshow .subslide { + position: absolute; + margin-top: -1em; +} +.eg-slideshow .inline { + display: inline-block; +} +.eg-slideshow .center { + text-align: center; +} +.eg-slideshow .center p { + text-align: center; +} +.eg-slideshow .quarter { + display: inline-block; + width: 50%; + margin-bottom: 0.5em; +} +.eg-slideshow .eg-switch .switch { + margin-right: 0.5em; +} +.eg-slideshow .eg-radio .radiobutton { + margin-right: 0.5em; +} +.eg-slideshow .eg-triggered-message { + position: absolute; +} +.eg-slideshow .button { + font-size: 1em; +} +.eg-slideshow .nodisplay { + display: none; +} + +/*# sourceMappingURL=Slideshow.vue.map */ +.eg-modal { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.eg-code-comment { + display: inline-block +} +.eg-radio[data-v-7e3d7c2e] { + /* The slider */ +} +.eg-radio p[data-v-7e3d7c2e] { + display: inline; +} +.eg-radio .radiobutton[data-v-7e3d7c2e] { + position: relative; + display: inline-block; + width: 1em; + height: 1em; +} +.eg-radio .radio[data-v-7e3d7c2e] { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 0.5em; +} +.eg-radio .radiodot[data-v-7e3d7c2e] { + position: absolute; + cursor: pointer; + content: ""; + height: 0em; + width: 0em; + left: 0.5em; + bottom: 0.5em; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 50%; +} +.eg-radio .radiodot.checked[data-v-7e3d7c2e] { + height: 0.9em; + width: 0.9em; + left: 0.05em; + bottom: 0.05em; +} + +/*# sourceMappingURL=RadioButton.vue.map */.eg-code-block.container[data-v-5c6e33b8] { + position: relative; + width: 100%; +} +.eg-code-block .code-box .eg-code-comment[data-v-5c6e33b8] { + display: none; +} +.eg-code-block .comments-box[data-v-5c6e33b8] { + position: absolute; + color: rgba(0, 0, 0, 0); + top: 0; +} +.eg-code-block .eg-code-comment[data-v-5c6e33b8] { + z-index: 10 !important; +} + +/*# sourceMappingURL=CodeBlock.vue.map */.eg-switch[data-v-00a4c1ca] { + /* The slider */ +} +.eg-switch p[data-v-00a4c1ca] { + display: inline; +} +.eg-switch .switch[data-v-00a4c1ca] { + position: relative; + display: inline-block; + width: 2em; + height: 1em; +} +.eg-switch .switch input[data-v-00a4c1ca] { + display: none; +} +.eg-switch .slider[data-v-00a4c1ca] { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 0.5em; +} +.eg-switch .sliderdot[data-v-00a4c1ca] { + position: absolute; + cursor: pointer; + content: ""; + height: 0.8em; + width: 0.8em; + left: 0.1em; + bottom: 0.1em; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 0.4em; +} +.eg-switch .sliderdot.checked[data-v-00a4c1ca] { + -webkit-transform: translateX(1em); + -ms-transform: translateX(1em); + transform: translateX(1em); +} + +/*# sourceMappingURL=Toggle.vue.map */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/eagle.cjs.js b/dist/eagle.cjs.js new file mode 100644 index 0000000..2617449 --- /dev/null +++ b/dist/eagle.cjs.js @@ -0,0 +1,1533 @@ +/* + * eagle.js v0.6.1 + * + * @license + * Copyright 2017-2019, Zulko + * Released under the ISC License + */ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Vue = _interopDefault(require('vue')); +var throttle = _interopDefault(require('lodash.throttle')); + +var PREV = 'prev'; +var NEXT = 'next'; +var script = { + props: { + firstSlide: { + "default": 1 + }, + startStep: { + "default": 1 + }, + lastSlide: { + "default": null + }, + embedded: { + "default": false + }, + inserted: { + "default": false + }, + keyboardNavigation: { + "default": true + }, + mouseNavigation: { + "default": true + }, + onStartExit: { + "default": function _default() { + return function () { + if (this.$router) this.$router.push('/'); + }; + } + }, + onEndExit: { + "default": function _default() { + return function () { + if (this.$router) this.$router.push('/'); + }; + } + }, + skip: { + "default": false + }, + backBySlide: { + "default": false + }, + repeat: { + "default": false + } + }, + data: function data() { + return { + currentSlideIndex: 1, + currentSlide: null, + step: this.startStep, + slideshowTimer: 0, + slideTimer: 0, + slides: [], + active: true + }; + }, + computed: { + computedActive: function computedActive() { + return this.slides.some(function (slide) { + return slide.active; + }); + } + }, + mounted: function mounted() { + this.isSlideshow = true; + var self = this; + this.findSlides(); + + if (this.$root.direction === PREV) { + this.currentSlideIndex = this.slides.length; + } + + if (!this.inserted) { + this.currentSlide = this.slides[this.currentSlideIndex - 1]; + this.currentSlide.step = this.startStep; + + if (this.keyboardNavigation) { + window.addEventListener('keydown', this.handleKeydown); + } + + if (this.mouseNavigation) { + if ('ontouchstart' in window) { + window.addEventListener('touchstart', this.handleClick); + } else { + window.addEventListener('click', this.handleClick); + window.addEventListener('wheel', this.handleWheel); + } + } + + if (this.embedded) { + this.$el.className += ' embedded-slideshow'; + } + } + + window.addEventListener('resize', this.handleResize); + + if (this.preloadedImages) { + setTimeout(function () { + for (var image in self.preloadedImages) { + new Image().src = self.preloadedImages[image]; + } + }, 1000); + } + + this.handleResize(); + this.timerUpdater = setInterval(function () { + self.slideshowTimer++; + self.slideTimer++; + }, 1000); + this.registerPlugins(); + this.afterMounted(); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('keydown', this.handleKeydown); + window.removeEventListener('click', this.handleClick); + window.removeEventListener('touchstart', this.handleClick); + window.removeEventListener('wheel', this.handleWheel); + clearInterval(this.timerUpdater); + this.unregisterPlugins(); + }, + methods: { + changeDirection: function changeDirection(direction) { + this.slides.forEach(function (slide) { + slide.direction = direction; + }); + this.$root.direction = direction; + }, + nextStep: function nextStep() { + this.changeDirection(NEXT); + var self = this; + this.$nextTick(function () { + if (self.step >= self.currentSlide.steps) { + self.nextSlide(); + } else { + self.step++; + } + }); + }, + previousStep: function previousStep() { + this.changeDirection(PREV); + var self = this; + this.$nextTick(function () { + if (self.step <= 1) { + self.previousSlide(); + } else { + self.step--; + } + }); + }, + nextSlide: function nextSlide() { + this.changeDirection(NEXT); + var nextSlideIndex = this.currentSlideIndex + 1; + + while (nextSlideIndex < this.slides.length + 1 && (this.slides[nextSlideIndex - 1].skip || this.slides[nextSlideIndex - 1].$parent.skip)) { + nextSlideIndex++; + } + + if (nextSlideIndex < this.slides.length + 1) { + this.currentSlideIndex = nextSlideIndex; + } else if (this.repeat) { + this.currentSlideIndex = 1; + } else if (!this.embedded) { + this.onEndExit(); + } + }, + previousSlide: function previousSlide() { + this.changeDirection(PREV); + var previousSlideIndex = this.currentSlideIndex - 1; + + while (previousSlideIndex >= 1 && (this.slides[previousSlideIndex - 1].skip || this.slides[previousSlideIndex - 1].$parent.skip)) { + previousSlideIndex--; + } + + if (previousSlideIndex >= 1) { + this.currentSlideIndex = previousSlideIndex; + } else if (!this.embedded) { + this.onStartExit(); + } + }, + handleResize: function handleResize() { + var self = this; + throttle(function () { + var width = 0; + var height = 0; + + if (self.embedded) { + width = self.$el.parentElement.clientWidth; + height = self.$el.parentElement.clientHeight; + } else { + width = document.documentElement.clientWidth; + height = document.documentElement.clientHeight; + } + + self.$el.style.fontSize = 0.04 * Math.min(height, width) + 'px'; + }, 16)(); + }, + handleClick: function handleClick(evt) { + var noHref = evt.target['href'] === undefined; + + if (this.mouseNavigation && this.currentSlide.mouseNavigation && noHref && !evt.altKey) { + var clientX = evt.clientX != null ? evt.clientX : evt.touches[0].clientX; + + if (clientX < 0.25 * document.documentElement.clientWidth) { + evt.preventDefault(); + this.previousStep(); + } else if (clientX > 0.75 * document.documentElement.clientWidth) { + evt.preventDefault(); + this.nextStep(); + } + } + }, + handleWheel: throttle(function (evt) { + if (this.mouseNavigation && this.currentSlide.mouseNavigation) { + evt.preventDefault(); + + if (evt.wheelDeltaY > 0 || evt.deltaY > 0) { + this.nextStep(); + } else if (evt.wheelDeltaY < 0 || evt.deltaY < 0) { + this.previousStep(); + } + } + }, 1000), + handleKeydown: function handleKeydown(evt) { + if (this.keyboardNavigation && (this.currentSlide.keyboardNavigation || evt.ctrlKey || evt.metaKey)) { + if (evt.key === 'ArrowLeft' || evt.key === 'PageUp') { + this.previousStep(); + evt.preventDefault(); + } else if (evt.key === 'ArrowRight' || evt.key === 'PageDown') { + this.nextStep(); + evt.preventDefault(); + } + } + }, + afterMounted: function afterMounted() {}, + findSlides: function findSlides() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$resetIndex = _ref.resetIndex, + resetIndex = _ref$resetIndex === void 0 ? true : _ref$resetIndex; + + var self = this; + var i = 0; + self.slides = []; + this.$children.forEach(function (el) { + if (el.isSlide) { + i++; + + if (i >= self.firstSlide && (!self.lastSlide || i <= self.lastSlide)) { + self.slides.push(el); + } + } else if (el.isSlideshow) { + el.active = false; + el.slides.forEach(function (slide) { + i++; + slide.active = false; + + if (i >= self.firstSlide && (!self.lastSlide || i <= self.lastSlide)) { + self.slides.push(slide); + } + }); + } + }); + + if (resetIndex) { + self.currentSlideIndex = 1; + self.currentSlide = self.currentSlide === null ? null : self.slides[0]; + self.step = self.startStep; + } + }, + updateSlideshowVisibility: function updateSlideshowVisibility(val) { + if (val) { + this.$el.style.visibility = 'visible'; + } else { + this.$el.style.visibility = 'hidden'; + } + }, + registerPlugins: function registerPlugins() { + var _this = this; + + Options.plugins.forEach(function (plugin) { + plugin[0].init(_this, plugin[1]); + }); + }, + unregisterPlugins: function unregisterPlugins() { + var _this2 = this; + + Options.plugins.forEach(function (plugin) { + plugin[0].destroy(_this2, plugin[1]); + }); + } + }, + watch: { + currentSlide: function currentSlide(newSlide, oldSlide) { + if (oldSlide) { + oldSlide.active = false; + + if (oldSlide.$parent !== newSlide.$parent && oldSlide.$parent !== this) { + oldSlide.$parent.active = false; + } + } + + this.slideTimer = 0; + + if (this.backBySlide || newSlide.direction === NEXT) { + this.step = 1; + newSlide.step = 1; + newSlide.$parent.step = 1; + } else if (newSlide.direction === PREV) { + this.step = newSlide.steps; + newSlide.step = newSlide.steps; + newSlide.$parent.step = newSlide.steps; + } + + newSlide.active = true; + newSlide.$parent.active = true; + }, + currentSlideIndex: function currentSlideIndex(index) { + this.currentSlide = this.slides[index - 1]; + }, + step: function step(val) { + if (this.currentSlide) { + this.currentSlide.step = val; + this.currentSlide.$parent.step = val; + } + }, + active: 'updateSlideshowVisibility', + computedActive: 'updateSlideshowVisibility' + } +}; + +function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== 'boolean') { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } + + var options = typeof script === 'function' ? script.options : script; + + if (template && template.render) { + options.render = template.render; + options.staticRenderFns = template.staticRenderFns; + options._compiled = true; + + if (isFunctionalTemplate) { + options.functional = true; + } + } + + if (scopeId) { + options._scopeId = scopeId; + } + + var hook; + + if (moduleIdentifier) { + hook = function hook(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__; + } + + if (style) { + style.call(this, createInjectorSSR(context)); + } + + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + + options._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function (context) { + style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot)); + } : function (context) { + style.call(this, createInjector(context)); + }; + } + + if (hook) { + if (options.functional) { + var originalRender = options.render; + + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + + return script; +} + +/* script */ +const __vue_script__ = script; +/* template */ + + /* style */ + const __vue_inject_styles__ = undefined; + /* scoped */ + const __vue_scope_id__ = undefined; + /* module identifier */ + const __vue_module_identifier__ = undefined; + /* functional template */ + const __vue_is_functional_template__ = undefined; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__ = /*#__PURE__*/normalizeComponent( + {}, + __vue_inject_styles__, + __vue_script__, + __vue_scope_id__, + __vue_is_functional_template__, + __vue_module_identifier__, + false, + undefined, + undefined, + undefined + ); + +var script$1 = { + name: 'slide', + props: { + skip: { + "default": false + }, + enter: { + "default": null + }, + enterPrev: { + "default": null + }, + enterNext: { + "default": null + }, + leave: { + "default": null + }, + leavePrev: { + "default": null + }, + leaveNext: { + "default": null + }, + steps: { + "default": 1 + }, + mouseNavigation: { + "default": true + }, + keyboardNavigation: { + "default": true + } + }, + data: function data() { + return { + step: 1, + active: false, + isSlide: true, + slideTimer: 0, + direction: 'next', + transitions: { + next: { + enter: this.enterNext || this.enter, + leave: this.leaveNext || this.leave + }, + prev: { + enter: this.enterPrev || this.enter, + leave: this.leavePrev || this.leave + } + } + }; + }, + computed: { + enterTransition: function enterTransition() { + return this.transitions[this.direction].enter; + }, + leaveTransition: function leaveTransition() { + return this.transitions[this.direction].leave; + } + }, + methods: { + nextStep: function nextStep() { + if (this.step === this.steps) { + this.$parent.nextSlide(); + } else { + this.step++; + } + }, + previousStep: function previousStep() { + if (this.step === 1) { + this.$parent.previousSlide(); + } else { + this.step--; + } + } + }, + watch: { + step: function step(val) { + this.$parent.step = val; + }, + active: function active(val) { + var self = this; + + if (val) { + this.slideTimer = 0; + this.timerUpdater = setInterval(function () { + self.slideTimer++; + }, 1000); + } else { + clearInterval(this.timerUpdater); + } + } + } +}; + +/* script */ +const __vue_script__$1 = script$1; + +/* template */ +var __vue_render__ = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enterTransition, leave: _vm.leaveTransition } }, + [ + _vm.active + ? _c("div", { staticClass: "eg-slide" }, [ + _c( + "div", + { staticClass: "eg-slide-content" }, + [_vm._t("default")], + 2 + ) + ]) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__ = []; +__vue_render__._withStripped = true; + + /* style */ + const __vue_inject_styles__$1 = undefined; + /* scoped */ + const __vue_scope_id__$1 = undefined; + /* module identifier */ + const __vue_module_identifier__$1 = undefined; + /* functional template */ + const __vue_is_functional_template__$1 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$1 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, + __vue_inject_styles__$1, + __vue_script__$1, + __vue_scope_id__$1, + __vue_is_functional_template__$1, + __vue_module_identifier__$1, + false, + undefined, + undefined, + undefined + ); + +var script$2 = { + name: 'eg-transition', + props: { + enter: { + "default": null + }, + leave: { + "default": null + } + } +}; + +/* script */ +const __vue_script__$2 = script$2; + +/* template */ +var __vue_render__$1 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "transition", + { + attrs: { + "enter-active-class": _vm.enter ? "animated " + _vm.enter : "", + "leave-active-class": _vm.leave ? "animated " + _vm.leave : "" + } + }, + [_vm._t("default")], + 2 + ) +}; +var __vue_staticRenderFns__$1 = []; +__vue_render__$1._withStripped = true; + + /* style */ + const __vue_inject_styles__$2 = undefined; + /* scoped */ + const __vue_scope_id__$2 = undefined; + /* module identifier */ + const __vue_module_identifier__$2 = undefined; + /* functional template */ + const __vue_is_functional_template__$2 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$2 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 }, + __vue_inject_styles__$2, + __vue_script__$2, + __vue_scope_id__$2, + __vue_is_functional_template__$2, + __vue_module_identifier__$2, + false, + undefined, + undefined, + undefined + ); + +var script$3 = { + isWidget: true, + name: 'eg-modal' +}; + +/* script */ +const __vue_script__$3 = script$3; +/* template */ +var __vue_render__$2 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-modal" }, [ + _c("div", { staticClass: "content" }, [_vm._t("default")], 2) + ]) +}; +var __vue_staticRenderFns__$2 = []; +__vue_render__$2._withStripped = true; + + /* style */ + const __vue_inject_styles__$3 = undefined; + /* scoped */ + const __vue_scope_id__$3 = undefined; + /* module identifier */ + const __vue_module_identifier__$3 = undefined; + /* functional template */ + const __vue_is_functional_template__$3 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$3 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 }, + __vue_inject_styles__$3, + __vue_script__$3, + __vue_scope_id__$3, + __vue_is_functional_template__$3, + __vue_module_identifier__$3, + false, + undefined, + undefined, + undefined + ); + +function randId() { + return Math.random().toString(36).substr(2, 10); +} + +var script$4 = { + isWidget: true, + name: 'eg-code-block', + props: { + id: { + "default": function _default() { + return randId(); + } + }, + id2: { + "default": function _default() { + return randId(); + } + }, + id3: { + "default": function _default() { + return randId(); + } + }, + lang: { + "default": null + } + }, + mounted: function mounted() { + this.update(); + }, + updated: function updated() { + this.update(); + }, + methods: { + update: function update() { + var codeBlock = document.getElementById(this.id); + var commentsContent = document.getElementById(this.id2); + var codeContent = document.getElementById(this.id3); + codeContent.innerHTML = commentsContent.innerHTML; + + if (this.lang && Options.hljs) { + Options.hljs.highlightBlock(codeBlock); + } + } + } +}; + +/* script */ +const __vue_script__$4 = script$4; +/* template */ +var __vue_render__$3 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-code-block container" }, [ + _c("div", { staticClass: "box hljs code-box", attrs: { id: _vm.id } }, [ + _c("pre", [ + _c("code", { class: _vm.lang ? _vm.lang : "", attrs: { id: _vm.id3 } }) + ]) + ]), + _c("div", { staticClass: "box comments-box" }, [ + _c("pre", [ + _c("code", { attrs: { id: _vm.id2 } }, [_vm._t("default")], 2) + ]) + ]) + ]) +}; +var __vue_staticRenderFns__$3 = []; +__vue_render__$3._withStripped = true; + + /* style */ + const __vue_inject_styles__$4 = undefined; + /* scoped */ + const __vue_scope_id__$4 = "data-v-5c6e33b8"; + /* module identifier */ + const __vue_module_identifier__$4 = undefined; + /* functional template */ + const __vue_is_functional_template__$4 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$4 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 }, + __vue_inject_styles__$4, + __vue_script__$4, + __vue_scope_id__$4, + __vue_is_functional_template__$4, + __vue_module_identifier__$4, + false, + undefined, + undefined, + undefined + ); + +var script$5 = { + isWidget: true, + name: 'eg-code-comment', + props: { + enter: { + "default": null + }, + leave: { + "default": null + }, + active: { + "default": true + }, + arrow: { + "default": true + } + } +}; + +/* script */ +const __vue_script__$5 = script$5; +/* template */ +var __vue_render__$4 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c( + "div", + { staticClass: "eg-code-comment" }, + [ + _vm.arrow ? _c("span", [_vm._v("←")]) : _vm._e(), + _vm._t("default") + ], + 2 + ) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$4 = []; +__vue_render__$4._withStripped = true; + + /* style */ + const __vue_inject_styles__$5 = undefined; + /* scoped */ + const __vue_scope_id__$5 = undefined; + /* module identifier */ + const __vue_module_identifier__$5 = undefined; + /* functional template */ + const __vue_is_functional_template__$5 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$5 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 }, + __vue_inject_styles__$5, + __vue_script__$5, + __vue_scope_id__$5, + __vue_is_functional_template__$5, + __vue_module_identifier__$5, + false, + undefined, + undefined, + undefined + ); + +var script$6 = { + isWidget: true, + name: 'eg-toggle', + props: { + value: { + "default": true + }, + fontsize: { + "default": '0.8em' + } + }, + data: function data() { + return { + checked: this.value + }; + }, + methods: { + toggle: function toggle() { + this.checked = !this.checked; + } + }, + watch: { + checked: function checked(val) { + this.$emit('input', val); + } + } +}; + +/* script */ +const __vue_script__$6 = script$6; +/* template */ +var __vue_render__$5 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-switch" }, [ + _c( + "div", + { + staticClass: "switch", + style: { "font-size": _vm.fontsize }, + on: { click: _vm.toggle } + }, + [ + _c("input", { + attrs: { type: "checkbox" }, + domProps: { checked: _vm.checked } + }), + _c("div", { staticClass: "slider", class: { checked: _vm.checked } }), + _c("div", { staticClass: "sliderdot", class: { checked: _vm.checked } }) + ] + ), + _c("span", { class: { unchecked: !_vm.checked } }, [_vm._t("default")], 2) + ]) +}; +var __vue_staticRenderFns__$5 = []; +__vue_render__$5._withStripped = true; + + /* style */ + const __vue_inject_styles__$6 = undefined; + /* scoped */ + const __vue_scope_id__$6 = "data-v-00a4c1ca"; + /* module identifier */ + const __vue_module_identifier__$6 = undefined; + /* functional template */ + const __vue_is_functional_template__$6 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$6 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5, staticRenderFns: __vue_staticRenderFns__$5 }, + __vue_inject_styles__$6, + __vue_script__$6, + __vue_scope_id__$6, + __vue_is_functional_template__$6, + __vue_module_identifier__$6, + false, + undefined, + undefined, + undefined + ); + +var script$7 = { + isWidget: true, + name: 'eg-radio-button', + props: { + value: { + "default": null + }, + label: { + "default": null + }, + fontsize: { + "default": '0.7em' + } + }, + methods: { + select: function select() { + this.$emit('input', this.label); + } + } +}; + +/* script */ +const __vue_script__$7 = script$7; +/* template */ +var __vue_render__$6 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "eg-radio" }, + [ + _c( + "div", + { + staticClass: "radiobutton", + style: { "font-size": _vm.fontsize }, + on: { click: _vm.select } + }, + [ + _c("div", { staticClass: "radio" }), + _c("div", { + staticClass: "radiodot", + class: { checked: _vm.value === _vm.label } + }) + ] + ), + _vm._t("default") + ], + 2 + ) +}; +var __vue_staticRenderFns__$6 = []; +__vue_render__$6._withStripped = true; + + /* style */ + const __vue_inject_styles__$7 = undefined; + /* scoped */ + const __vue_scope_id__$7 = "data-v-7e3d7c2e"; + /* module identifier */ + const __vue_module_identifier__$7 = undefined; + /* functional template */ + const __vue_is_functional_template__$7 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$7 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$6, staticRenderFns: __vue_staticRenderFns__$6 }, + __vue_inject_styles__$7, + __vue_script__$7, + __vue_scope_id__$7, + __vue_is_functional_template__$7, + __vue_module_identifier__$7, + false, + undefined, + undefined, + undefined + ); + +var script$8 = { + isWidget: true, + name: 'eg-image-slide', + mixins: [__vue_component__$1], + props: { + url: { + "default": 'https://i.imgur.com/P7iyH.png' + }, + enter: { + "default": null + }, + leave: { + "default": null + } + }, + computed: { + style: function style() { + return { + 'background-image': 'url(' + this.url + ')', + 'background-position': 'center center', + 'background-size': 'cover' + }; + } + } +}; + +/* script */ +const __vue_script__$8 = script$8; + +/* template */ +var __vue_render__$7 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c("div", { staticClass: "eg-slide image-slide", style: _vm.style }) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$7 = []; +__vue_render__$7._withStripped = true; + + /* style */ + const __vue_inject_styles__$8 = undefined; + /* scoped */ + const __vue_scope_id__$8 = undefined; + /* module identifier */ + const __vue_module_identifier__$8 = undefined; + /* functional template */ + const __vue_is_functional_template__$8 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$8 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$7, staticRenderFns: __vue_staticRenderFns__$7 }, + __vue_inject_styles__$8, + __vue_script__$8, + __vue_scope_id__$8, + __vue_is_functional_template__$8, + __vue_module_identifier__$8, + false, + undefined, + undefined, + undefined + ); + +var script$9 = { + isWidget: true, + name: 'eg-triggered-message', + props: { + enter: { + "default": 'slideInLeft' + }, + leave: { + "default": 'slideOutLeft' + }, + trigger: { + "default": false + }, + position: { + "default": 'left top' + }, + duration: { + "default": 3 + } + }, + data: function data() { + return { + active: false, + timeout: null, + style: { + top: this.position.indexOf('top') >= 0 ? '0%' : 'none', + bottom: this.position.indexOf('bottom') >= 0 ? '0%' : 'none', + left: this.position.indexOf('left') >= 0 ? '0%' : 'none', + right: this.position.indexOf('right') >= 0 ? '0%' : 'none' + } + }; + }, + watch: { + trigger: function trigger(val, oldVal) { + if (!oldVal && val) { + this.active = true; + var self = this; + this.timeout = setTimeout(function () { + self.active = false; + }, 1000 * this.duration); + } else if (oldVal && !val) { + this.active = false; + clearTimeout(this.timeout); + } + } + } +}; + +/* script */ +const __vue_script__$9 = script$9; + +/* template */ +var __vue_render__$8 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c( + "div", + { staticClass: "eg-triggered-message", style: _vm.style }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$8 = []; +__vue_render__$8._withStripped = true; + + /* style */ + const __vue_inject_styles__$9 = undefined; + /* scoped */ + const __vue_scope_id__$9 = undefined; + /* module identifier */ + const __vue_module_identifier__$9 = undefined; + /* functional template */ + const __vue_is_functional_template__$9 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$9 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$8, staticRenderFns: __vue_staticRenderFns__$8 }, + __vue_inject_styles__$9, + __vue_script__$9, + __vue_scope_id__$9, + __vue_is_functional_template__$9, + __vue_module_identifier__$9, + false, + undefined, + undefined, + undefined + ); + +var script$a = { + isWidget: true, + name: 'eg-timer', + props: { + key: { + "default": 'T' + } + }, + data: function data() { + return { + text: '', + active: false + }; + }, + mounted: function mounted() { + this.updateText(); + window.addEventListener('keydown', this.keydown); + setInterval(this.updateText, 1000); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('keydown', this.keydown); + }, + methods: { + toggle: function toggle() { + this.display = !this.display; + }, + keydown: function keydown(evt) { + if (evt.key === this.key) { + this.active = !this.active; + } + }, + updateText: function updateText() { + var time = this.$parent.timer / 60 + ':' + this.$parent.timer % 60; + var slide = this.$parent.currentSlideIndex + '/' + this.$parent.slides.length; + return slide + ' - ' + time; + } + } +}; + +/* script */ +const __vue_script__$a = script$a; +/* template */ +var __vue_render__$9 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("eg-transition", { attrs: { enter: "fadeIn", leave: "fadeOut" } }, [ + _vm.display ? _c("div", { staticClass: "timer" }) : _vm._e(), + _vm._v(_vm._s(_vm.text)) + ]) +}; +var __vue_staticRenderFns__$9 = []; +__vue_render__$9._withStripped = true; + + /* style */ + const __vue_inject_styles__$a = undefined; + /* scoped */ + const __vue_scope_id__$a = "data-v-1e05bb88"; + /* module identifier */ + const __vue_module_identifier__$a = undefined; + /* functional template */ + const __vue_is_functional_template__$a = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$a = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 }, + __vue_inject_styles__$a, + __vue_script__$a, + __vue_scope_id__$a, + __vue_is_functional_template__$a, + __vue_module_identifier__$a, + false, + undefined, + undefined, + undefined + ); + +var hasZoom = false; + +var updateCoords = function updateCoords(slideshow, config) { + return function () { + slideshow._height = document.documentElement.clientHeight; + slideshow._width = document.documentElement.clientWidth; + slideshow._center.x = slideshow._width / 2; + slideshow._center.y = slideshow._height / 2; + slideshow._boundary.x = slideshow._center.x / config.scale; + slideshow._boundary.y = slideshow._center.y / config.scale; + }; +}; + +var magnify = function magnify(slideshow, config) { + return function (event) { + if (!event.altKey) return; + + if (document.body.style.transform) { + document.body.style.transform = ''; + document.body.style.overflow = 'auto'; + } else { + document.body.style.height = slideshow._height + 'px'; + document.body.style.overflow = 'hidden'; + document.body.style.transition = '0.5s'; + var translateX = slideshow._center.x - event.clientX; + var translateY = slideshow._center.y - event.clientY; + translateX = translateX < slideshow._boundary.x ? translateX > -slideshow._boundary.x ? translateX : -slideshow._boundary.x : slideshow._boundary.x; + translateY = translateY < slideshow._boundary.y ? translateY > -slideshow._boundary.y ? translateY : -slideshow._boundary.y : slideshow._boundary.y; + document.body.style.transform = "scale(".concat(config.scale, ") translate(").concat(translateX, "px, ").concat(translateY, "px)"); + } + }; +}; + +var zoom = { + isPlugin: true, + init: function init(slideshow, config) { + if (slideshow.embedded || slideshow.inserted || hasZoom) return; + config = Object.assign({ + scale: 2 + }, config); + hasZoom = true; + slideshow._zoom = true; + slideshow._height = document.documentElement.clientHeight; + slideshow._width = document.documentElement.clientWidth; + slideshow._center = { + x: slideshow._width / 2, + y: slideshow._height / 2 + }; + slideshow._boundary = { + x: slideshow._center.x / config.scale, + y: slideshow._center.y / config.scale + }; + window.addEventListener('resize', updateCoords(slideshow, config)); + window.addEventListener('mousedown', magnify(slideshow, config)); + }, + destroy: function destroy(slideshow, config) { + if (slideshow._zoom) { + window.removeEventListener('resize', updateCoords(slideshow, config)); + window.removeEventListener('mousedown', magnify(slideshow, config)); + } + } +}; + +var hasPresenter = false; + +var keydown = function keydown(slideshow, config) { + return function (evt) { + if (slideshow.keyboardNavigation && (slideshow.currentSlide.keyboardNavigation || evt.ctrlKey || evt.metaKey)) { + if (evt.key === 'ArrowLeft' || evt.key === 'PageUp') { + postMessage(slideshow, '{"method": "previousStep"}'); + } else if (evt.key === 'ArrowRight' || evt.key === 'PageDown') { + postMessage(slideshow, '{"method": "nextStep"}'); + } else if (evt.key === config.presenterModeKey && !slideshow.parentWindow) { + togglePresenterMode(slideshow); + evt.preventDefault(); + } + } + }; +}; + +var click = function click(slideshow) { + return function (evt) { + if (slideshow.mouseNavigation && slideshow.currentSlide.mouseNavigation && !evt.altKey) { + var clientX = evt.clientX != null ? evt.clientX : evt.touches[0].clientX; + + if (clientX < 0.25 * document.documentElement.clientWidth) { + postMessage(slideshow, '{"method": "previousStep"}'); + } else if (clientX > 0.75 * document.documentElement.clientWidth) { + postMessage(slideshow, '{"method": "nextStep"}'); + } + } + }; +}; + +var message = function message(slideshow) { + return function (evt) { + if (evt.origin !== window.location.origin) { + return void 0; + } + + try { + var data = JSON.parse(evt.data); + + switch (data.method) { + case 'nextStep': + case 'previousStep': + slideshow[data.method](); + break; + + case 'getCurrentSlide': + postMessage(slideshow, "{\n \"method\": \"setCurrentSlide\", \n \"slideIndex\": ".concat(slideshow.currentSlideIndex, ",\n \"step\": ").concat(slideshow.step, "\n }")); + break; + + case 'setCurrentSlide': + slideshow.currentSlideIndex = data.slideIndex; + slideshow.$nextTick(function () { + slideshow.step = data.step; + }); + break; + + default: + } + } catch (e) { + console.log("Presenter mode runs into an error: ".concat(e)); + } + }; +}; + +function postMessage(slideshow, message) { + if (slideshow.childWindow) { + slideshow.childWindow.postMessage(message, window.location.origin); + } + + if (slideshow.parentWindow) { + slideshow.parentWindow.postMessage(message, window.location.origin); + } +} + +function togglePresenterMode(slideshow) { + if (slideshow.childWindow) { + slideshow.childWindow.close(); + slideshow.childWindow = null; + } else { + slideshow.childWindow = window.open(window.location.href, 'eagle-presenter'); + window.addEventListener('message', message(slideshow)); + } +} + +var presenter = { + isPlugin: true, + init: function init(slideshow, config) { + if (slideshow.embedded || slideshow.inserted || hasPresenter) return; + config = Object.assign({ + presenterModeKey: 'p' + }, config); + hasPresenter = true; + slideshow._presenter = true; + + if (window.opener && window.opener.location.href === window.location.href) { + slideshow.parentWindow = window.opener; + postMessage(slideshow, '{"method": "getCurrentSlide"}'); + window.addEventListener('message', message(slideshow)); + } + + window.addEventListener('keydown', keydown(slideshow, config)); + window.addEventListener('click', click(slideshow)); + }, + destroy: function destroy(slideshow, config) { + if (slideshow._presenter) { + window.removeEventListener('message', message(slideshow)); + window.removeEventListener('keydown', keydown(slideshow, config)); + window.addEventListener('click', click(slideshow)); + } + } +}; + +var Options = { + plugins: [] +}; +var main = { + install: function install(Vue) { + Vue.component('slide', __vue_component__$1); + Vue.component('eg-transition', __vue_component__$2); + }, + use: function use(extension, config) { + if (extension.isPlugin) { + Options.plugins.push([extension, config]); + } + + if (extension.isWidget) { + Vue.component(extension.name, extension); + } + } +}; + +exports.CodeBlock = __vue_component__$4; +exports.CodeComment = __vue_component__$5; +exports.ImageSlide = __vue_component__$8; +exports.Modal = __vue_component__$3; +exports.Options = Options; +exports.Presenter = presenter; +exports.RadioButton = __vue_component__$7; +exports.Slide = __vue_component__$1; +exports.Slideshow = __vue_component__; +exports.Timer = __vue_component__$a; +exports.Toggle = __vue_component__$6; +exports.Transition = __vue_component__$2; +exports.TriggeredMessage = __vue_component__$9; +exports.Zoom = zoom; +exports.default = main; diff --git a/dist/eagle.es.js b/dist/eagle.es.js new file mode 100644 index 0000000..670c0de --- /dev/null +++ b/dist/eagle.es.js @@ -0,0 +1,1514 @@ +/* + * eagle.js v0.6.1 + * + * @license + * Copyright 2017-2019, Zulko + * Released under the ISC License + */ +import Vue from 'vue'; +import throttle from 'lodash.throttle'; + +var PREV = 'prev'; +var NEXT = 'next'; +var script = { + props: { + firstSlide: { + "default": 1 + }, + startStep: { + "default": 1 + }, + lastSlide: { + "default": null + }, + embedded: { + "default": false + }, + inserted: { + "default": false + }, + keyboardNavigation: { + "default": true + }, + mouseNavigation: { + "default": true + }, + onStartExit: { + "default": function _default() { + return function () { + if (this.$router) this.$router.push('/'); + }; + } + }, + onEndExit: { + "default": function _default() { + return function () { + if (this.$router) this.$router.push('/'); + }; + } + }, + skip: { + "default": false + }, + backBySlide: { + "default": false + }, + repeat: { + "default": false + } + }, + data: function data() { + return { + currentSlideIndex: 1, + currentSlide: null, + step: this.startStep, + slideshowTimer: 0, + slideTimer: 0, + slides: [], + active: true + }; + }, + computed: { + computedActive: function computedActive() { + return this.slides.some(function (slide) { + return slide.active; + }); + } + }, + mounted: function mounted() { + this.isSlideshow = true; + var self = this; + this.findSlides(); + + if (this.$root.direction === PREV) { + this.currentSlideIndex = this.slides.length; + } + + if (!this.inserted) { + this.currentSlide = this.slides[this.currentSlideIndex - 1]; + this.currentSlide.step = this.startStep; + + if (this.keyboardNavigation) { + window.addEventListener('keydown', this.handleKeydown); + } + + if (this.mouseNavigation) { + if ('ontouchstart' in window) { + window.addEventListener('touchstart', this.handleClick); + } else { + window.addEventListener('click', this.handleClick); + window.addEventListener('wheel', this.handleWheel); + } + } + + if (this.embedded) { + this.$el.className += ' embedded-slideshow'; + } + } + + window.addEventListener('resize', this.handleResize); + + if (this.preloadedImages) { + setTimeout(function () { + for (var image in self.preloadedImages) { + new Image().src = self.preloadedImages[image]; + } + }, 1000); + } + + this.handleResize(); + this.timerUpdater = setInterval(function () { + self.slideshowTimer++; + self.slideTimer++; + }, 1000); + this.registerPlugins(); + this.afterMounted(); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('keydown', this.handleKeydown); + window.removeEventListener('click', this.handleClick); + window.removeEventListener('touchstart', this.handleClick); + window.removeEventListener('wheel', this.handleWheel); + clearInterval(this.timerUpdater); + this.unregisterPlugins(); + }, + methods: { + changeDirection: function changeDirection(direction) { + this.slides.forEach(function (slide) { + slide.direction = direction; + }); + this.$root.direction = direction; + }, + nextStep: function nextStep() { + this.changeDirection(NEXT); + var self = this; + this.$nextTick(function () { + if (self.step >= self.currentSlide.steps) { + self.nextSlide(); + } else { + self.step++; + } + }); + }, + previousStep: function previousStep() { + this.changeDirection(PREV); + var self = this; + this.$nextTick(function () { + if (self.step <= 1) { + self.previousSlide(); + } else { + self.step--; + } + }); + }, + nextSlide: function nextSlide() { + this.changeDirection(NEXT); + var nextSlideIndex = this.currentSlideIndex + 1; + + while (nextSlideIndex < this.slides.length + 1 && (this.slides[nextSlideIndex - 1].skip || this.slides[nextSlideIndex - 1].$parent.skip)) { + nextSlideIndex++; + } + + if (nextSlideIndex < this.slides.length + 1) { + this.currentSlideIndex = nextSlideIndex; + } else if (this.repeat) { + this.currentSlideIndex = 1; + } else if (!this.embedded) { + this.onEndExit(); + } + }, + previousSlide: function previousSlide() { + this.changeDirection(PREV); + var previousSlideIndex = this.currentSlideIndex - 1; + + while (previousSlideIndex >= 1 && (this.slides[previousSlideIndex - 1].skip || this.slides[previousSlideIndex - 1].$parent.skip)) { + previousSlideIndex--; + } + + if (previousSlideIndex >= 1) { + this.currentSlideIndex = previousSlideIndex; + } else if (!this.embedded) { + this.onStartExit(); + } + }, + handleResize: function handleResize() { + var self = this; + throttle(function () { + var width = 0; + var height = 0; + + if (self.embedded) { + width = self.$el.parentElement.clientWidth; + height = self.$el.parentElement.clientHeight; + } else { + width = document.documentElement.clientWidth; + height = document.documentElement.clientHeight; + } + + self.$el.style.fontSize = 0.04 * Math.min(height, width) + 'px'; + }, 16)(); + }, + handleClick: function handleClick(evt) { + var noHref = evt.target['href'] === undefined; + + if (this.mouseNavigation && this.currentSlide.mouseNavigation && noHref && !evt.altKey) { + var clientX = evt.clientX != null ? evt.clientX : evt.touches[0].clientX; + + if (clientX < 0.25 * document.documentElement.clientWidth) { + evt.preventDefault(); + this.previousStep(); + } else if (clientX > 0.75 * document.documentElement.clientWidth) { + evt.preventDefault(); + this.nextStep(); + } + } + }, + handleWheel: throttle(function (evt) { + if (this.mouseNavigation && this.currentSlide.mouseNavigation) { + evt.preventDefault(); + + if (evt.wheelDeltaY > 0 || evt.deltaY > 0) { + this.nextStep(); + } else if (evt.wheelDeltaY < 0 || evt.deltaY < 0) { + this.previousStep(); + } + } + }, 1000), + handleKeydown: function handleKeydown(evt) { + if (this.keyboardNavigation && (this.currentSlide.keyboardNavigation || evt.ctrlKey || evt.metaKey)) { + if (evt.key === 'ArrowLeft' || evt.key === 'PageUp') { + this.previousStep(); + evt.preventDefault(); + } else if (evt.key === 'ArrowRight' || evt.key === 'PageDown') { + this.nextStep(); + evt.preventDefault(); + } + } + }, + afterMounted: function afterMounted() {}, + findSlides: function findSlides() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$resetIndex = _ref.resetIndex, + resetIndex = _ref$resetIndex === void 0 ? true : _ref$resetIndex; + + var self = this; + var i = 0; + self.slides = []; + this.$children.forEach(function (el) { + if (el.isSlide) { + i++; + + if (i >= self.firstSlide && (!self.lastSlide || i <= self.lastSlide)) { + self.slides.push(el); + } + } else if (el.isSlideshow) { + el.active = false; + el.slides.forEach(function (slide) { + i++; + slide.active = false; + + if (i >= self.firstSlide && (!self.lastSlide || i <= self.lastSlide)) { + self.slides.push(slide); + } + }); + } + }); + + if (resetIndex) { + self.currentSlideIndex = 1; + self.currentSlide = self.currentSlide === null ? null : self.slides[0]; + self.step = self.startStep; + } + }, + updateSlideshowVisibility: function updateSlideshowVisibility(val) { + if (val) { + this.$el.style.visibility = 'visible'; + } else { + this.$el.style.visibility = 'hidden'; + } + }, + registerPlugins: function registerPlugins() { + var _this = this; + + Options.plugins.forEach(function (plugin) { + plugin[0].init(_this, plugin[1]); + }); + }, + unregisterPlugins: function unregisterPlugins() { + var _this2 = this; + + Options.plugins.forEach(function (plugin) { + plugin[0].destroy(_this2, plugin[1]); + }); + } + }, + watch: { + currentSlide: function currentSlide(newSlide, oldSlide) { + if (oldSlide) { + oldSlide.active = false; + + if (oldSlide.$parent !== newSlide.$parent && oldSlide.$parent !== this) { + oldSlide.$parent.active = false; + } + } + + this.slideTimer = 0; + + if (this.backBySlide || newSlide.direction === NEXT) { + this.step = 1; + newSlide.step = 1; + newSlide.$parent.step = 1; + } else if (newSlide.direction === PREV) { + this.step = newSlide.steps; + newSlide.step = newSlide.steps; + newSlide.$parent.step = newSlide.steps; + } + + newSlide.active = true; + newSlide.$parent.active = true; + }, + currentSlideIndex: function currentSlideIndex(index) { + this.currentSlide = this.slides[index - 1]; + }, + step: function step(val) { + if (this.currentSlide) { + this.currentSlide.step = val; + this.currentSlide.$parent.step = val; + } + }, + active: 'updateSlideshowVisibility', + computedActive: 'updateSlideshowVisibility' + } +}; + +function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== 'boolean') { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } + + var options = typeof script === 'function' ? script.options : script; + + if (template && template.render) { + options.render = template.render; + options.staticRenderFns = template.staticRenderFns; + options._compiled = true; + + if (isFunctionalTemplate) { + options.functional = true; + } + } + + if (scopeId) { + options._scopeId = scopeId; + } + + var hook; + + if (moduleIdentifier) { + hook = function hook(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__; + } + + if (style) { + style.call(this, createInjectorSSR(context)); + } + + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + + options._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function (context) { + style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot)); + } : function (context) { + style.call(this, createInjector(context)); + }; + } + + if (hook) { + if (options.functional) { + var originalRender = options.render; + + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + + return script; +} + +/* script */ +const __vue_script__ = script; +/* template */ + + /* style */ + const __vue_inject_styles__ = undefined; + /* scoped */ + const __vue_scope_id__ = undefined; + /* module identifier */ + const __vue_module_identifier__ = undefined; + /* functional template */ + const __vue_is_functional_template__ = undefined; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__ = /*#__PURE__*/normalizeComponent( + {}, + __vue_inject_styles__, + __vue_script__, + __vue_scope_id__, + __vue_is_functional_template__, + __vue_module_identifier__, + false, + undefined, + undefined, + undefined + ); + +var script$1 = { + name: 'slide', + props: { + skip: { + "default": false + }, + enter: { + "default": null + }, + enterPrev: { + "default": null + }, + enterNext: { + "default": null + }, + leave: { + "default": null + }, + leavePrev: { + "default": null + }, + leaveNext: { + "default": null + }, + steps: { + "default": 1 + }, + mouseNavigation: { + "default": true + }, + keyboardNavigation: { + "default": true + } + }, + data: function data() { + return { + step: 1, + active: false, + isSlide: true, + slideTimer: 0, + direction: 'next', + transitions: { + next: { + enter: this.enterNext || this.enter, + leave: this.leaveNext || this.leave + }, + prev: { + enter: this.enterPrev || this.enter, + leave: this.leavePrev || this.leave + } + } + }; + }, + computed: { + enterTransition: function enterTransition() { + return this.transitions[this.direction].enter; + }, + leaveTransition: function leaveTransition() { + return this.transitions[this.direction].leave; + } + }, + methods: { + nextStep: function nextStep() { + if (this.step === this.steps) { + this.$parent.nextSlide(); + } else { + this.step++; + } + }, + previousStep: function previousStep() { + if (this.step === 1) { + this.$parent.previousSlide(); + } else { + this.step--; + } + } + }, + watch: { + step: function step(val) { + this.$parent.step = val; + }, + active: function active(val) { + var self = this; + + if (val) { + this.slideTimer = 0; + this.timerUpdater = setInterval(function () { + self.slideTimer++; + }, 1000); + } else { + clearInterval(this.timerUpdater); + } + } + } +}; + +/* script */ +const __vue_script__$1 = script$1; + +/* template */ +var __vue_render__ = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enterTransition, leave: _vm.leaveTransition } }, + [ + _vm.active + ? _c("div", { staticClass: "eg-slide" }, [ + _c( + "div", + { staticClass: "eg-slide-content" }, + [_vm._t("default")], + 2 + ) + ]) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__ = []; +__vue_render__._withStripped = true; + + /* style */ + const __vue_inject_styles__$1 = undefined; + /* scoped */ + const __vue_scope_id__$1 = undefined; + /* module identifier */ + const __vue_module_identifier__$1 = undefined; + /* functional template */ + const __vue_is_functional_template__$1 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$1 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, + __vue_inject_styles__$1, + __vue_script__$1, + __vue_scope_id__$1, + __vue_is_functional_template__$1, + __vue_module_identifier__$1, + false, + undefined, + undefined, + undefined + ); + +var script$2 = { + name: 'eg-transition', + props: { + enter: { + "default": null + }, + leave: { + "default": null + } + } +}; + +/* script */ +const __vue_script__$2 = script$2; + +/* template */ +var __vue_render__$1 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "transition", + { + attrs: { + "enter-active-class": _vm.enter ? "animated " + _vm.enter : "", + "leave-active-class": _vm.leave ? "animated " + _vm.leave : "" + } + }, + [_vm._t("default")], + 2 + ) +}; +var __vue_staticRenderFns__$1 = []; +__vue_render__$1._withStripped = true; + + /* style */ + const __vue_inject_styles__$2 = undefined; + /* scoped */ + const __vue_scope_id__$2 = undefined; + /* module identifier */ + const __vue_module_identifier__$2 = undefined; + /* functional template */ + const __vue_is_functional_template__$2 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$2 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 }, + __vue_inject_styles__$2, + __vue_script__$2, + __vue_scope_id__$2, + __vue_is_functional_template__$2, + __vue_module_identifier__$2, + false, + undefined, + undefined, + undefined + ); + +var script$3 = { + isWidget: true, + name: 'eg-modal' +}; + +/* script */ +const __vue_script__$3 = script$3; +/* template */ +var __vue_render__$2 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-modal" }, [ + _c("div", { staticClass: "content" }, [_vm._t("default")], 2) + ]) +}; +var __vue_staticRenderFns__$2 = []; +__vue_render__$2._withStripped = true; + + /* style */ + const __vue_inject_styles__$3 = undefined; + /* scoped */ + const __vue_scope_id__$3 = undefined; + /* module identifier */ + const __vue_module_identifier__$3 = undefined; + /* functional template */ + const __vue_is_functional_template__$3 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$3 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 }, + __vue_inject_styles__$3, + __vue_script__$3, + __vue_scope_id__$3, + __vue_is_functional_template__$3, + __vue_module_identifier__$3, + false, + undefined, + undefined, + undefined + ); + +function randId() { + return Math.random().toString(36).substr(2, 10); +} + +var script$4 = { + isWidget: true, + name: 'eg-code-block', + props: { + id: { + "default": function _default() { + return randId(); + } + }, + id2: { + "default": function _default() { + return randId(); + } + }, + id3: { + "default": function _default() { + return randId(); + } + }, + lang: { + "default": null + } + }, + mounted: function mounted() { + this.update(); + }, + updated: function updated() { + this.update(); + }, + methods: { + update: function update() { + var codeBlock = document.getElementById(this.id); + var commentsContent = document.getElementById(this.id2); + var codeContent = document.getElementById(this.id3); + codeContent.innerHTML = commentsContent.innerHTML; + + if (this.lang && Options.hljs) { + Options.hljs.highlightBlock(codeBlock); + } + } + } +}; + +/* script */ +const __vue_script__$4 = script$4; +/* template */ +var __vue_render__$3 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-code-block container" }, [ + _c("div", { staticClass: "box hljs code-box", attrs: { id: _vm.id } }, [ + _c("pre", [ + _c("code", { class: _vm.lang ? _vm.lang : "", attrs: { id: _vm.id3 } }) + ]) + ]), + _c("div", { staticClass: "box comments-box" }, [ + _c("pre", [ + _c("code", { attrs: { id: _vm.id2 } }, [_vm._t("default")], 2) + ]) + ]) + ]) +}; +var __vue_staticRenderFns__$3 = []; +__vue_render__$3._withStripped = true; + + /* style */ + const __vue_inject_styles__$4 = undefined; + /* scoped */ + const __vue_scope_id__$4 = "data-v-5c6e33b8"; + /* module identifier */ + const __vue_module_identifier__$4 = undefined; + /* functional template */ + const __vue_is_functional_template__$4 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$4 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 }, + __vue_inject_styles__$4, + __vue_script__$4, + __vue_scope_id__$4, + __vue_is_functional_template__$4, + __vue_module_identifier__$4, + false, + undefined, + undefined, + undefined + ); + +var script$5 = { + isWidget: true, + name: 'eg-code-comment', + props: { + enter: { + "default": null + }, + leave: { + "default": null + }, + active: { + "default": true + }, + arrow: { + "default": true + } + } +}; + +/* script */ +const __vue_script__$5 = script$5; +/* template */ +var __vue_render__$4 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c( + "div", + { staticClass: "eg-code-comment" }, + [ + _vm.arrow ? _c("span", [_vm._v("←")]) : _vm._e(), + _vm._t("default") + ], + 2 + ) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$4 = []; +__vue_render__$4._withStripped = true; + + /* style */ + const __vue_inject_styles__$5 = undefined; + /* scoped */ + const __vue_scope_id__$5 = undefined; + /* module identifier */ + const __vue_module_identifier__$5 = undefined; + /* functional template */ + const __vue_is_functional_template__$5 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$5 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 }, + __vue_inject_styles__$5, + __vue_script__$5, + __vue_scope_id__$5, + __vue_is_functional_template__$5, + __vue_module_identifier__$5, + false, + undefined, + undefined, + undefined + ); + +var script$6 = { + isWidget: true, + name: 'eg-toggle', + props: { + value: { + "default": true + }, + fontsize: { + "default": '0.8em' + } + }, + data: function data() { + return { + checked: this.value + }; + }, + methods: { + toggle: function toggle() { + this.checked = !this.checked; + } + }, + watch: { + checked: function checked(val) { + this.$emit('input', val); + } + } +}; + +/* script */ +const __vue_script__$6 = script$6; +/* template */ +var __vue_render__$5 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "eg-switch" }, [ + _c( + "div", + { + staticClass: "switch", + style: { "font-size": _vm.fontsize }, + on: { click: _vm.toggle } + }, + [ + _c("input", { + attrs: { type: "checkbox" }, + domProps: { checked: _vm.checked } + }), + _c("div", { staticClass: "slider", class: { checked: _vm.checked } }), + _c("div", { staticClass: "sliderdot", class: { checked: _vm.checked } }) + ] + ), + _c("span", { class: { unchecked: !_vm.checked } }, [_vm._t("default")], 2) + ]) +}; +var __vue_staticRenderFns__$5 = []; +__vue_render__$5._withStripped = true; + + /* style */ + const __vue_inject_styles__$6 = undefined; + /* scoped */ + const __vue_scope_id__$6 = "data-v-00a4c1ca"; + /* module identifier */ + const __vue_module_identifier__$6 = undefined; + /* functional template */ + const __vue_is_functional_template__$6 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$6 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5, staticRenderFns: __vue_staticRenderFns__$5 }, + __vue_inject_styles__$6, + __vue_script__$6, + __vue_scope_id__$6, + __vue_is_functional_template__$6, + __vue_module_identifier__$6, + false, + undefined, + undefined, + undefined + ); + +var script$7 = { + isWidget: true, + name: 'eg-radio-button', + props: { + value: { + "default": null + }, + label: { + "default": null + }, + fontsize: { + "default": '0.7em' + } + }, + methods: { + select: function select() { + this.$emit('input', this.label); + } + } +}; + +/* script */ +const __vue_script__$7 = script$7; +/* template */ +var __vue_render__$6 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "eg-radio" }, + [ + _c( + "div", + { + staticClass: "radiobutton", + style: { "font-size": _vm.fontsize }, + on: { click: _vm.select } + }, + [ + _c("div", { staticClass: "radio" }), + _c("div", { + staticClass: "radiodot", + class: { checked: _vm.value === _vm.label } + }) + ] + ), + _vm._t("default") + ], + 2 + ) +}; +var __vue_staticRenderFns__$6 = []; +__vue_render__$6._withStripped = true; + + /* style */ + const __vue_inject_styles__$7 = undefined; + /* scoped */ + const __vue_scope_id__$7 = "data-v-7e3d7c2e"; + /* module identifier */ + const __vue_module_identifier__$7 = undefined; + /* functional template */ + const __vue_is_functional_template__$7 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$7 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$6, staticRenderFns: __vue_staticRenderFns__$6 }, + __vue_inject_styles__$7, + __vue_script__$7, + __vue_scope_id__$7, + __vue_is_functional_template__$7, + __vue_module_identifier__$7, + false, + undefined, + undefined, + undefined + ); + +var script$8 = { + isWidget: true, + name: 'eg-image-slide', + mixins: [__vue_component__$1], + props: { + url: { + "default": 'https://i.imgur.com/P7iyH.png' + }, + enter: { + "default": null + }, + leave: { + "default": null + } + }, + computed: { + style: function style() { + return { + 'background-image': 'url(' + this.url + ')', + 'background-position': 'center center', + 'background-size': 'cover' + }; + } + } +}; + +/* script */ +const __vue_script__$8 = script$8; + +/* template */ +var __vue_render__$7 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c("div", { staticClass: "eg-slide image-slide", style: _vm.style }) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$7 = []; +__vue_render__$7._withStripped = true; + + /* style */ + const __vue_inject_styles__$8 = undefined; + /* scoped */ + const __vue_scope_id__$8 = undefined; + /* module identifier */ + const __vue_module_identifier__$8 = undefined; + /* functional template */ + const __vue_is_functional_template__$8 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$8 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$7, staticRenderFns: __vue_staticRenderFns__$7 }, + __vue_inject_styles__$8, + __vue_script__$8, + __vue_scope_id__$8, + __vue_is_functional_template__$8, + __vue_module_identifier__$8, + false, + undefined, + undefined, + undefined + ); + +var script$9 = { + isWidget: true, + name: 'eg-triggered-message', + props: { + enter: { + "default": 'slideInLeft' + }, + leave: { + "default": 'slideOutLeft' + }, + trigger: { + "default": false + }, + position: { + "default": 'left top' + }, + duration: { + "default": 3 + } + }, + data: function data() { + return { + active: false, + timeout: null, + style: { + top: this.position.indexOf('top') >= 0 ? '0%' : 'none', + bottom: this.position.indexOf('bottom') >= 0 ? '0%' : 'none', + left: this.position.indexOf('left') >= 0 ? '0%' : 'none', + right: this.position.indexOf('right') >= 0 ? '0%' : 'none' + } + }; + }, + watch: { + trigger: function trigger(val, oldVal) { + if (!oldVal && val) { + this.active = true; + var self = this; + this.timeout = setTimeout(function () { + self.active = false; + }, 1000 * this.duration); + } else if (oldVal && !val) { + this.active = false; + clearTimeout(this.timeout); + } + } + } +}; + +/* script */ +const __vue_script__$9 = script$9; + +/* template */ +var __vue_render__$8 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "eg-transition", + { attrs: { enter: _vm.enter, leave: _vm.leave } }, + [ + _vm.active + ? _c( + "div", + { staticClass: "eg-triggered-message", style: _vm.style }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) +}; +var __vue_staticRenderFns__$8 = []; +__vue_render__$8._withStripped = true; + + /* style */ + const __vue_inject_styles__$9 = undefined; + /* scoped */ + const __vue_scope_id__$9 = undefined; + /* module identifier */ + const __vue_module_identifier__$9 = undefined; + /* functional template */ + const __vue_is_functional_template__$9 = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$9 = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$8, staticRenderFns: __vue_staticRenderFns__$8 }, + __vue_inject_styles__$9, + __vue_script__$9, + __vue_scope_id__$9, + __vue_is_functional_template__$9, + __vue_module_identifier__$9, + false, + undefined, + undefined, + undefined + ); + +var script$a = { + isWidget: true, + name: 'eg-timer', + props: { + key: { + "default": 'T' + } + }, + data: function data() { + return { + text: '', + active: false + }; + }, + mounted: function mounted() { + this.updateText(); + window.addEventListener('keydown', this.keydown); + setInterval(this.updateText, 1000); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('keydown', this.keydown); + }, + methods: { + toggle: function toggle() { + this.display = !this.display; + }, + keydown: function keydown(evt) { + if (evt.key === this.key) { + this.active = !this.active; + } + }, + updateText: function updateText() { + var time = this.$parent.timer / 60 + ':' + this.$parent.timer % 60; + var slide = this.$parent.currentSlideIndex + '/' + this.$parent.slides.length; + return slide + ' - ' + time; + } + } +}; + +/* script */ +const __vue_script__$a = script$a; +/* template */ +var __vue_render__$9 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("eg-transition", { attrs: { enter: "fadeIn", leave: "fadeOut" } }, [ + _vm.display ? _c("div", { staticClass: "timer" }) : _vm._e(), + _vm._v(_vm._s(_vm.text)) + ]) +}; +var __vue_staticRenderFns__$9 = []; +__vue_render__$9._withStripped = true; + + /* style */ + const __vue_inject_styles__$a = undefined; + /* scoped */ + const __vue_scope_id__$a = "data-v-1e05bb88"; + /* module identifier */ + const __vue_module_identifier__$a = undefined; + /* functional template */ + const __vue_is_functional_template__$a = false; + /* style inject */ + + /* style inject SSR */ + + /* style inject shadow dom */ + + + + const __vue_component__$a = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 }, + __vue_inject_styles__$a, + __vue_script__$a, + __vue_scope_id__$a, + __vue_is_functional_template__$a, + __vue_module_identifier__$a, + false, + undefined, + undefined, + undefined + ); + +var hasZoom = false; + +var updateCoords = function updateCoords(slideshow, config) { + return function () { + slideshow._height = document.documentElement.clientHeight; + slideshow._width = document.documentElement.clientWidth; + slideshow._center.x = slideshow._width / 2; + slideshow._center.y = slideshow._height / 2; + slideshow._boundary.x = slideshow._center.x / config.scale; + slideshow._boundary.y = slideshow._center.y / config.scale; + }; +}; + +var magnify = function magnify(slideshow, config) { + return function (event) { + if (!event.altKey) return; + + if (document.body.style.transform) { + document.body.style.transform = ''; + document.body.style.overflow = 'auto'; + } else { + document.body.style.height = slideshow._height + 'px'; + document.body.style.overflow = 'hidden'; + document.body.style.transition = '0.5s'; + var translateX = slideshow._center.x - event.clientX; + var translateY = slideshow._center.y - event.clientY; + translateX = translateX < slideshow._boundary.x ? translateX > -slideshow._boundary.x ? translateX : -slideshow._boundary.x : slideshow._boundary.x; + translateY = translateY < slideshow._boundary.y ? translateY > -slideshow._boundary.y ? translateY : -slideshow._boundary.y : slideshow._boundary.y; + document.body.style.transform = "scale(".concat(config.scale, ") translate(").concat(translateX, "px, ").concat(translateY, "px)"); + } + }; +}; + +var zoom = { + isPlugin: true, + init: function init(slideshow, config) { + if (slideshow.embedded || slideshow.inserted || hasZoom) return; + config = Object.assign({ + scale: 2 + }, config); + hasZoom = true; + slideshow._zoom = true; + slideshow._height = document.documentElement.clientHeight; + slideshow._width = document.documentElement.clientWidth; + slideshow._center = { + x: slideshow._width / 2, + y: slideshow._height / 2 + }; + slideshow._boundary = { + x: slideshow._center.x / config.scale, + y: slideshow._center.y / config.scale + }; + window.addEventListener('resize', updateCoords(slideshow, config)); + window.addEventListener('mousedown', magnify(slideshow, config)); + }, + destroy: function destroy(slideshow, config) { + if (slideshow._zoom) { + window.removeEventListener('resize', updateCoords(slideshow, config)); + window.removeEventListener('mousedown', magnify(slideshow, config)); + } + } +}; + +var hasPresenter = false; + +var keydown = function keydown(slideshow, config) { + return function (evt) { + if (slideshow.keyboardNavigation && (slideshow.currentSlide.keyboardNavigation || evt.ctrlKey || evt.metaKey)) { + if (evt.key === 'ArrowLeft' || evt.key === 'PageUp') { + postMessage(slideshow, '{"method": "previousStep"}'); + } else if (evt.key === 'ArrowRight' || evt.key === 'PageDown') { + postMessage(slideshow, '{"method": "nextStep"}'); + } else if (evt.key === config.presenterModeKey && !slideshow.parentWindow) { + togglePresenterMode(slideshow); + evt.preventDefault(); + } + } + }; +}; + +var click = function click(slideshow) { + return function (evt) { + if (slideshow.mouseNavigation && slideshow.currentSlide.mouseNavigation && !evt.altKey) { + var clientX = evt.clientX != null ? evt.clientX : evt.touches[0].clientX; + + if (clientX < 0.25 * document.documentElement.clientWidth) { + postMessage(slideshow, '{"method": "previousStep"}'); + } else if (clientX > 0.75 * document.documentElement.clientWidth) { + postMessage(slideshow, '{"method": "nextStep"}'); + } + } + }; +}; + +var message = function message(slideshow) { + return function (evt) { + if (evt.origin !== window.location.origin) { + return void 0; + } + + try { + var data = JSON.parse(evt.data); + + switch (data.method) { + case 'nextStep': + case 'previousStep': + slideshow[data.method](); + break; + + case 'getCurrentSlide': + postMessage(slideshow, "{\n \"method\": \"setCurrentSlide\", \n \"slideIndex\": ".concat(slideshow.currentSlideIndex, ",\n \"step\": ").concat(slideshow.step, "\n }")); + break; + + case 'setCurrentSlide': + slideshow.currentSlideIndex = data.slideIndex; + slideshow.$nextTick(function () { + slideshow.step = data.step; + }); + break; + + default: + } + } catch (e) { + console.log("Presenter mode runs into an error: ".concat(e)); + } + }; +}; + +function postMessage(slideshow, message) { + if (slideshow.childWindow) { + slideshow.childWindow.postMessage(message, window.location.origin); + } + + if (slideshow.parentWindow) { + slideshow.parentWindow.postMessage(message, window.location.origin); + } +} + +function togglePresenterMode(slideshow) { + if (slideshow.childWindow) { + slideshow.childWindow.close(); + slideshow.childWindow = null; + } else { + slideshow.childWindow = window.open(window.location.href, 'eagle-presenter'); + window.addEventListener('message', message(slideshow)); + } +} + +var presenter = { + isPlugin: true, + init: function init(slideshow, config) { + if (slideshow.embedded || slideshow.inserted || hasPresenter) return; + config = Object.assign({ + presenterModeKey: 'p' + }, config); + hasPresenter = true; + slideshow._presenter = true; + + if (window.opener && window.opener.location.href === window.location.href) { + slideshow.parentWindow = window.opener; + postMessage(slideshow, '{"method": "getCurrentSlide"}'); + window.addEventListener('message', message(slideshow)); + } + + window.addEventListener('keydown', keydown(slideshow, config)); + window.addEventListener('click', click(slideshow)); + }, + destroy: function destroy(slideshow, config) { + if (slideshow._presenter) { + window.removeEventListener('message', message(slideshow)); + window.removeEventListener('keydown', keydown(slideshow, config)); + window.addEventListener('click', click(slideshow)); + } + } +}; + +var Options = { + plugins: [] +}; +var main = { + install: function install(Vue) { + Vue.component('slide', __vue_component__$1); + Vue.component('eg-transition', __vue_component__$2); + }, + use: function use(extension, config) { + if (extension.isPlugin) { + Options.plugins.push([extension, config]); + } + + if (extension.isWidget) { + Vue.component(extension.name, extension); + } + } +}; + +export default main; +export { __vue_component__$4 as CodeBlock, __vue_component__$5 as CodeComment, __vue_component__$8 as ImageSlide, __vue_component__$3 as Modal, Options, presenter as Presenter, __vue_component__$7 as RadioButton, __vue_component__$1 as Slide, __vue_component__ as Slideshow, __vue_component__$a as Timer, __vue_component__$6 as Toggle, __vue_component__$2 as Transition, __vue_component__$9 as TriggeredMessage, zoom as Zoom }; diff --git a/dist/themes/agrume/agrume.css b/dist/themes/agrume/agrume.css new file mode 100644 index 0000000..6cdeb54 --- /dev/null +++ b/dist/themes/agrume/agrume.css @@ -0,0 +1,222 @@ +@import url(https://fonts.googleapis.com/css?family=Pompiere); +@import url(https://fonts.googleapis.com/css?family=Amatic+SC); +@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro); +.eg-theme-agrume { + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ } + .eg-theme-agrume .eg-slideshow { + background-image: url("~eagle.js/dist/themes/assets/subtle_symphony.png"); + background-color: #eee; } + .eg-theme-agrume .eg-slide-content, + .eg-theme-agrume .subslide { + width: 25em; + max-width: 80%; + margin: 0 auto; } + .eg-theme-agrume .eg-slide-content .eg-triggered-message, + .eg-theme-agrume .subslide .eg-triggered-message { + background: #fbfbfb; + padding-top: 0.3em; + padding-bottom: 0.3em; + padding-left: 0.5em; + padding-right: 0.5em; + margin: 1em; + border: 0.07em solid #bbb; + border-radius: 0.5em; + font-size: 0.8em; } + .eg-theme-agrume .eg-slide-content .eg-triggered-message p, + .eg-theme-agrume .subslide .eg-triggered-message p { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .eg-theme-agrume h1, + .eg-theme-agrume h2, + .eg-theme-agrume h3, + .eg-theme-agrume h4, + .eg-theme-agrume p, + .eg-theme-agrume li, + .eg-theme-agrume .button, + .eg-theme-agrume input { + font-family: "Pompiere", cursive; + font-weight: normal; } + .eg-theme-agrume h3 { + text-transform: uppercase; } + .eg-theme-agrume h3 em { + text-decoration: underline; + font-style: normal; } + .eg-theme-agrume .hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; } + .eg-theme-agrume .hljs-comment, + .eg-theme-agrume .hljs-quote { + color: #93a1a1; } + .eg-theme-agrume .hljs-keyword, + .eg-theme-agrume .hljs-selector-tag, + .eg-theme-agrume .hljs-addition { + color: #859900; } + .eg-theme-agrume .hljs-number, + .eg-theme-agrume .hljs-string, + .eg-theme-agrume .hljs-meta .hljs-meta-string, + .eg-theme-agrume .hljs-literal, + .eg-theme-agrume .hljs-doctag, + .eg-theme-agrume .hljs-regexp { + color: #2aa198; } + .eg-theme-agrume .hljs-title, + .eg-theme-agrume .hljs-section, + .eg-theme-agrume .hljs-name, + .eg-theme-agrume .hljs-selector-id, + .eg-theme-agrume .hljs-selector-class { + color: #268bd2; } + .eg-theme-agrume .hljs-attribute, + .eg-theme-agrume .hljs-attr, + .eg-theme-agrume .hljs-variable, + .eg-theme-agrume .hljs-template-variable, + .eg-theme-agrume .hljs-class .hljs-title, + .eg-theme-agrume .hljs-type { + color: #b58900; } + .eg-theme-agrume .hljs-symbol, + .eg-theme-agrume .hljs-bullet, + .eg-theme-agrume .hljs-subst, + .eg-theme-agrume .hljs-meta, + .eg-theme-agrume .hljs-meta .hljs-keyword, + .eg-theme-agrume .hljs-selector-attr, + .eg-theme-agrume .hljs-selector-pseudo, + .eg-theme-agrume .hljs-link { + color: #cb4b16; } + .eg-theme-agrume .hljs-built_in, + .eg-theme-agrume .hljs-deletion { + color: #dc322f; } + .eg-theme-agrume .hljs-formula { + background: #eee8d5; } + .eg-theme-agrume .hljs-emphasis { + font-style: italic; } + .eg-theme-agrume .hljs-strong { + font-weight: bold; } + .eg-theme-agrume .code-box { + box-shadow: 0 0 0.25em 0.25em #ddd; } + .eg-theme-agrume .eg-code-comment { + font-weight: bold; + color: #dd4321; } + .eg-theme-agrume .eg-modal { + background-color: rgba(0, 0, 0, 0.9); + color: white; } + .eg-theme-agrume .eg-modal h1, + .eg-theme-agrume .eg-modal h2, + .eg-theme-agrume .eg-modal h3, + .eg-theme-agrume .eg-modal h4 { + font-weight: bold; } + .eg-theme-agrume .eg-modal img { + box-shadow: 0 0 0.2em 0.2em #888; } + .eg-theme-agrume input { + background-color: rgba(255, 255, 255, 0.4); + border: 0.5px solid #ccc; + border-radius: 0.2em; } + .eg-theme-agrume input:focus { + border: none; } + .eg-theme-agrume .button { + background: none; + cursor: pointer; + border: none; + color: black; + border-radius: 0.5em; + border: 0.1em solid gray; + padding: 0.2em 0.2em; + margin-left: 0.5em; + margin-right: 0.5em; + text-align: center; + text-decoration: none; + margin-top: 1em; + display: inline-block; + line-height: 1em; } + .eg-theme-agrume .eg-switch { + margin-right: 0.5em; + margin-left: 0.5em; } + .eg-theme-agrume .eg-switch .slider { + background-color: #ccc; } + .eg-theme-agrume .eg-switch .slider.checked { + background-color: #ffb014; } + .eg-theme-agrume .eg-switch .unchecked .label { + color: #bbbbbb; } + .eg-theme-agrume .eg-radio { + margin-right: 0.5em; + margin-left: 0.5em; } + .eg-theme-agrume .eg-radio .radio { + background: none; + border: 2px solid black; + border-spacing: 2px; + z-index: 1; } + .eg-theme-agrume .eg-radio .radiodot.checked { + background-color: #ffb014; } + .eg-theme-agrume .embedded-slideshow-container .embedded-slideshow .eg-slideshow { + box-shadow: 0 0 0.25em 0.25em #bbb; } + .eg-theme-agrume .shadowbox { + box-shadow: 0 0 0.25em 0.25em #bbb; } + +.eg-slideshow { + margin-top: 0; + background-attachment: fixed; + position: absolute; + height: 100%; + width: 100%; + overflow: hidden; } + .eg-slideshow h1, + .eg-slideshow h2, + .eg-slideshow h3 { + text-align: center; } + .eg-slideshow h1 { + font-size: 4em; + margin-bottom: 0.1em; } + .eg-slideshow h2 { + font-size: 3em; } + .eg-slideshow h3 { + font-size: 2em; + margin-bottom: 0.5em; } + .eg-slideshow h4 { + font-size: 1.5em; } + .eg-slideshow input { + font-size: 1em; } + .eg-slideshow strong { + font-weight: bold; } + .eg-slideshow .small { + font-size: 0.65em; } + .eg-slideshow img { + max-width: 80%; } + .eg-slideshow .eg-code-block { + font-family: "Source Code Pro", Courier; + text-align: left; + font-size: 0.5em; } + .eg-slideshow .eg-code-block .box { + padding: 1em; } + .eg-slideshow .eg-slide { + height: 100%; + overflow: hidden; + width: 100%; + position: absolute; } + .eg-slideshow .subslide { + position: absolute; + margin-top: -1em; } + .eg-slideshow .inline { + display: inline-block; } + .eg-slideshow .center { + text-align: center; } + .eg-slideshow .center p { + text-align: center; } + .eg-slideshow .quarter { + display: inline-block; + width: 50%; + margin-bottom: 0.5em; } + .eg-slideshow .eg-switch .switch { + margin-right: 0.5em; } + .eg-slideshow .eg-radio .radiobutton { + margin-right: 0.5em; } + .eg-slideshow .eg-triggered-message { + position: absolute; } + .eg-slideshow .button { + font-size: 1em; } + .eg-slideshow .nodisplay { + display: none; } diff --git a/dist/themes/assets/crossword.png b/dist/themes/assets/crossword.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9f1ad08473dcf728044895fd7809749e38eb9e GIT binary patch literal 43694 zcmV(+K;6HIP)RE~s-N`bP++LfKrq5f>Iq|$NkoUpgujq+lTM>Ctf9}0iD6*{b#@cE+ z+g|q89>g~Ox8Wf9;)>88`MbB0rPvBMKB?)_A@!5LoUPb?EZTZsg~k=$r)YR&orbe6 z5y{qL;Z0NeHi`aSK`G|d8r4saQb2tOM++l%Zw%e(qqP41ScB%_XYKb1y|8(JTnb$ZSK>d*br-R#uG zc9_cc=yrjkl7>DI{lyZAo~tSP(Vl~I8#;1Dbut7=_HL!0It58RTC0y_@TOkU3;a35 zf08tt_8NWr?3z$)2!Co@O%i=iIx8Sx!Z}ML*CeoW*>{uBjU7yVq>jUp@>3551};>R zJ_g84G?JwO87_d+UGrHt7|Dannoeb-KmEAEAk4(qFn4zpjcpocF7XTg7l^g!+Ursy*Quh z_aMf?M|irPjDTiMuZ?)$M58)7f&rr9W}6y)SNMFfHy87V4-H}e1}R$p%kPA~4uQVOfLTfF~Qb(u+zt!EFb$+F# z@@W3)iRnZqPU^k-pZ4hJC2A!7A*(UmfM2U&nl>^DOJyboq^ZZQtbgd#?_qS=!4BRu?f{YJ zU;z&<>DKuAuQPFi#Bbwn_Gs>!(W`DoNWU5%Z}0z(B%N0xVp!&>?7gWjr`MDTl3eRi zht}Cc<2q$caDZ#dO`)!1?+|G_=S$+%hDgJENweZxSnuFiPYjvYMxaEe^x2P?!WCWd z*V)#KcK+ZH53tA2O)9tQ!WPp;y4Sj+?o6tMMm9wb2-^hY$A61mB^f~LilM$;rRE~3 zE~Y*+{r-Yy4>G)WcQ&2k0R_@2=)g|7WJ#w#HALEK@v1A4wpW-$X0eR3av;%X1*T}a z7w2g3#lBFkl^u6S$L#=~5yZ3C=6l;%h$L}+e(6%eX2JbARv(TzbbedmX&O{^j)T{Y zKm|x*dY-z1Drg5=_=InC0SH^WdkMOXySBMIPExdJq0zIQq{{IA88p#!H5Put;*;HcNJHS^L$b`D2^opMLZV zPoH}{QjdU=uDc6C?hfuW7vF<;Ep#yLyx34iCTYWV5xB( zPFl&&wqLST7UASu-OP~BMDABwn{jO-vdhr*_&)%Afc+zdkPfy9_2wJ}7hXZEyHY_2 z*iDtPZN-Z?3=@$7&_pB!i4t!tR%d}9$B3aVQ z&hLM4lqs3Ald;%EEKX|~svE)%ObATHZ*MfHj8QI0)*nTfCYOkWrHdXTe;x}Ws3dJt z^;17BdcQiOhBb~zlBr}mrOK|$KgyqxF8eYiyGU%}L^%pV)YVHVTX$V}o2P)$*SpF* zrb#8i$F!+_ZO^a)5vtqj!2XgQJ5JOWXcr6Bx}yg`=800Wt8y0`?jFBTE>H2@Wfz3g z*o%yaj_VP*;lyUD{Ql3XL+eSuTQE%QayS4g5mkKmv>9_E z97_G-%Q<`u8ocX~WC{hFRF&SL-Ewol zDd_OlMc?ui5|>^1`Uy!+`BJ=U1Pe&gBOC60>GS^{N!D=BQ-a-dtMSDkST9y?4&G|5 zX-qQYi{7o_u-BRztHup4G~&HpmU`*DSFMFWNftTUM884@rF^+!&`u?>c9>O1$J)79 zm+$QWbK+!oebwD`R!L-Dc9joF^lHA_C8DMZz2W8?sNj6lNb}oa_Da8QyMBp83azYL zHUjeb?`Fp0j^tAnSDUwEdyoY4d z^->sJ-dtS@`i*q4AH3h_cedVIvAYVy4McBje~#@x$K8KLt>zcf0wR(nBwISeJPN%^ zcH$t@VBqLJ?Moet5Jk2#j{)UxrH3QGiAGG){d$?c19BRH7&KR0Y*VRxUZC~s0diBl zS4mX=&6iI>y(-3@6{P9JNK>+Ers!)OKotX!Ge}m^sXl1a02I)VP^jcuX`5D%UZ4Uf zp$N;e_u&E5B-t164YKjmScJz|Y~p71y9_>IYZEa8-RSIXn{H(rknc|$Y)Eh{;I%R2 zPf;BIR_X?Jl6XJP?T3{pyal9s6=Hsh`_e^?)Su0n9eqd#VLQ=MD+((5Ol!KF0Ub%Q zA%e>Q=~WMCU6ro5`0mQ?+Utfs8;M?TZ(UH|AX7i>@%u_7X58ytF_@IFjJ2@MHdT-j zuN<+Po2p9kvnivQ*pE^af5G;4u6(`Rl))nvrl&%n&&KtR-F^N$U3zGfnTo4xl&7lX zw{!m^_|2dAf(eYr|I=B?pVf75KCF$I?0TIr=i4v!qliEl{_4##CEc_8@^wHvjmzWw zv8zmfX-@`E+Gz{hovz(opTUgilx$-DzwiGbt{&luTJViu3@VL)v+@503-%?TKAq~7 zsOj=&DCh$(aSq+`$2O$okgvxiB=ZWI#$B)H4eK$ouD;K!ATdJ@HoTL37V=95rakhe zU#FzHo){oc<%{aOyN;{DkmR6?uX?JXccmWn>Z?pvQzLw%7RZjH*h>4dv4dFhF9yKr z$WZ=_WbNVDLCa*h7XUF49go*^`Bi2@7J>Eh`QEeeg&RgE23bEZPM0t>rL}M*50P?) z_i#wg;z{zSc&aa0?iqGEvbqzSl5nhfr)(Q{b8|!fejM7gSK=SO)w}jKiQui) zkQ;R_POK0mdzZzZH ztq`d+5fC+588(^khw$+S^>=zrSnWh0vrSBLKYt7?TbKK^vQ7Kt$+%<>DcMxrnUYbH zIh^KnTYmoc_L48Tp2_O(n|7TP@(=91qUC(fCchrHlD!sQET9or^2gZzcx4r%K~#`7 zM{1p8w?;|qnj5^iA@E3wq`HKU?YULKuw>@jefI0cfbERckIrZ&w^Wa!tPT96SWzbA zmw_t+`VoY#n=aMCc^nvzP8}l@W}wtlvZ2Rb+`Q23e^@k|_Qb8E4GV-jTciVIizMtd z(!tKw2*#PE!R?uCXuG}7mH7kjKY#DL)YpvDbbP2&r#_#0D$RaG%DnubaJDvIOUvCAqThI$>6~3Q5Iy zjgFm}2S?6xoRCnGAlTA%ZkTGmZ)#e39wOi76Ps2-Pi1EJBhCE;XkQ01kPrgQPMLdY zn;LqKa`xL#!%gtP|H2@C05e^m5>;*LuzD>wHN%5QX`46e4PZt6ABc9<Ge1tt4B-@konb!v~PG3<(gDuO2um~&IV z{xjD`!`sVi-XBEhf_+`GIhGSdqaGaidR^}CzsQoF)@O09g@utTGb`!P08)nN`tlGw zBtH(f1nAYdTG{4eqf|`_YJw3I@rkYoLRqday>q+D*Wa4Ot=>v0bVf0&Ovxm_yIo zaY4Xz${jrarsHOn4@rS7xK5KA0b`X?b7^53-ynpDJJGk9rc%N}+8z~tJqBb;g300a zGbQc`!E%?Ikv#1)WjF^|%i)r96W}12oW%2_gC=UQA8c8NHikQt(cdo`nX6P1m24xe zMP@9AE&U~Wy$l4!#6aZJS%r+^0C>&0!OAtsUhtIb2+)z8jW6Bii`)--v#QhCWjC>Va$UNYteRk;QrfB6x$nlpiWVB zMSDXK37f=jX&%;2gAY-A3sp$k9i%zUj&MoAb$qJZV#`Zr<oP%BN^j2 z#aEX^KHFu`4or<)hz7@Is)&bLbz}S%@d;fjS!$c-^CSuIN%b=U=zTCQzJN|$<(Lik zLQ9brGUB@7{&U$rbEOZlxd*s9ja(X8f@w`=K{K&cTzSf@gYdDq%b2KRE2M`9ikd=P zIwELD%-IKjW+qQlQEdhaLpkLAr*>n!4;|55e+G{dWMJr+1hgX&y#98x1nlzsIPqUr zifNMWjXAG-Za0+R9-SOXAA4OblMdXZ zlnq}KCWo0Mak3%t1CCGs!eGfqg^fmjO$lti_}kF!X=b2vl`7AT4|$$SrqKeGwT`kP zE!f@wqcTR-VNSoz#*C8Wc^4YDqOEHvbdsf;C~rwW1~k-u z^Kwks&=*#8C9u%>*es@jd(yvtCR3iD%V!SFwRCrFI7D>=*|mrBfxk<@%WxOQk5rCOxxtkizd45$ zP1?*{v2&R)mR%om1wGT|&#e%kIMFBV5i%IfCDW5Qx$tqpjP~TXgMbrqigIs|PI)`N zevDuBYjK?yk6_wzSbzIrFQku?q!Rx*riW=`qhI|k;JHdh7)d8CMaR?!{*O7$glIx@ zvyr%CJdD4JM!$oYVyD(%mPW!i`6jPR^Xlqv0Gl{}t>56uwDzr6azc_(>cbG_eN!nl zSIClTzbxLjcXfN@+5tunRXafQ`FtWW%B&BmiB+GI+aybH$z(_&Ih9br@I{blzV&<( z*3o)xXsE$L(gF%N9|5Nvs(Ro|6pmCf%B|XNBueBBPSTu5ntD!R+$uClGE_*in!TmD zJw)i{0Ov*WAURelPk6?*mhXAUtefa7W)}=AxqxJBF^|Wupwj3c(rxIpd2~_6X%gdn zqxQZzRB*mE>w}ygI_!S-5VsC570AwQoC}+I?^s9ir6_VvXrm-R?QlIrKh^zc!uVrN zAqdoAx-N_Fim*mZLBSe}xi_*Q$D%D}vyW&HgA1ZG2x9^TkK16hX{4a#5-d?V)hOAT zBwd>j)j3OyyjtLO@iMvSjfcwHFG(s`BW&KI=(+@F!tX{7A z0Wf9dc7t_p@W%9ML;)n_o@;};Uqok@fV6IhL4ZC{(uJ<|ie2W>z`qe6=UO45)K^e< zeZ{O}L99OX(ty&Gp6 z9P(k=+$~r5^RbucB`Pw1EQ&Fvh`~dD=0p8@*R9U$AQa09lxa`u;+a6Ex)GKKCUG3& zg#S^HopC|VcwC!!sGZ?9*h;R?y)(JB#foXE?ksB7WtNxw_1zMvie<;-Bg)C6<9k&X z1z6swv}tffpeq+WfXoYjpr3|(5VR?|6{>K(!HSM)%^?}so&N}ePBl<=MFztnOiPM3 z_pzRALPV=9#t~gYFJZX?P!Jz-jb`G|$Gn^AlEtV_RWMRo^`7h4h;%=2Z)HKe%{58& zdch;^%>rXsHe#CE5d!oy)p_ACMR+PgPVWIwc*qs+x^L9L-1B4iF}H`o>X(*2`|Ys4 zAoy_R)K-$1L`i~aBxRauzpp1SxqHmq;4mn4939quy>TyvN1VtHgEmr|8pBm*sj0 z(se;-k!Ez+2|OD&pcQs(!rGKTQ}bxdy=yIMk^$~Xe&bfAa<5ozf4^%u?IdVB@%IaZ z_l%CDGLEAsJpPWPN_Ja=8c5bkKh_k`&i35K@FQd{S4BjDTQzxg@ZI5O+n;XL)Zd%) zFP982f#RFjVtrRPwf@A}<@A~cw$hS*mevJmK*A(*Z%2&m;*dn|FO44DtMoRm%}}C2 ztOOB*->myKhvDq?N}!kQcX-;^3@H(&9wPL1rno+k|U#W3iK|76kCcrxXJdCH26I)llJ|sOJ=mfE=(I%V#%{+~(tk^4}rpN;$j9<**-5ta})IAMqXUSUHLmv?xxN|bR+i>)!-qe`P0XPBNo@4d#l}% zra{)!zYgUM=xAu_rl7|l(oxrn49^$$Ume{RY}&``)3JPLz)F14A525bAzf+BLTIWi z5SGgSWaoYOA&AZa6de5r+g#pN1i-0!sIN}5PmM5;Tp70{k40uy<7iVU!e%QoiaAg> zVSs8{TMm?@d|~@4yk@>7Jnnc*(F31Mj^c#WY>VLE$#e+cb6$5WlAf6+ntJx~+J7E# zi&~BxUENE!U;kg4u~;!gYCG*FDq2zmGYE(DC+WZd=F!wIj(Tz5{4Y?JLRtD71kR&6y+q8<8yZQ`Kb*M; zhu=UZgml7~Bu$M@B!YmYd|A#O&do!W$Qz;9x~o(&R?Uv>ez6nII|w2Pzm;Aql9rfp zGq7_;?0M75?JXXc3kCziFKkb9CGC}D)wNChh??}o&u*mK=s3skFUb7Z&N+;&g4-ZX z<;&JZRsVUU9r0xl*uFuK_vaZTmb*f?HT8!8x5}=+wf#&M=aO*>gZ`o-VWJ?511^|@ zlmg4iwrce}zyC}NBPRe<`|WTPAAzHT_1pyR68F}NTn12%2pnw_(Oe?jVChqu(H3HT zI`4!;K$f@4Ks@84rl`{D{B!mh2@rfNWvI>@^77`0gfyX~ae?hAn z%$tV~xK1qIuO^@MOFf$ctmu=rZ8re?lb8md&AyMSJL zgq_6ce6~HGVGJo!}j-~^gj;KtG8<6)=zHT zDJ0qsQQ4`X+x@fL{%)Xc8e#0lkA%UuQ!Lho-~KA69VXvgv+aPyriQqj0&8aPL`O3@ zHrU3Z*Gpym*ZERIGIA{}i5%j4P5E-y-O}px#`U$K%Xgi69y96A;8i@`%mh_mk@Uvp z>`z@H?exQSiT(_~1wM71#Ioz!hot-OJw~A;aR}el@68v3d=lq8Zrr*DNwCeJ3-@Uz zVib0X3&Ymw>GwOS#QeyU9ffA^c1!+y`swA(@RB!35Qxg!9Y1 zJ+O=~>~Yz=4wvK>Pm@>`3>|`bs)I;GTduJxlCCD&t`Xq-QhsQ!Q;7D)OZ!-Q%^q)_nzgZ-xxhSyjA-$AGmgrB3Fj`ExxDVmQrE)b82u*7I)4D*W#$L~ zW-fI~0P~~PNLo!yCGH1s-I{`^%9&njNz87I)@Zx?>wO#f_^)_KC*xx1!XZa1)oob& zy~8acZw~1YL<%QU%rO(#!yWk{d>82sjO#F`Q%ZcNt(#wm>Kh=3T4d4cJ^Z%Axh`4I zsb=9qM}X1Rxk27z5?41*Nmz{D#e-&Hesq|yuicD)*pkr0sC=qg?s$wG;!8pD0Or@^6(WwM0kP^Bz(%5gtVue(?)- z!JJ9`0|N`KhVYN6PM6S?DmJ(!a!Uhi$E~McgDWbHuGo z{pexQZC~p5C1Qu$^dF9T$idVo&6YaLSFPW`-W^t-=oge=_XYe90`8i%5a77mg_)uW zOl%mJMe~`QyHnDV;A%dNaH|}Wl7UqReq#|ylg@9S>wee~<`DbV4VnIj+UNh)FvVM) zGu^p^0AEsmGBuC{U0x}8QUy9 z@wPBG)OoItmiFhrM5Cg5q@3O!?rQfexX8$nD$;WR*#gL%E+@sI*%ql`{t-8y zmkX2S2SXqk5H;!FMrQGcuGQL={SMBBK{-Y~hK8XX)Byv+{g0mWQDz-@Ar2+2?IBGE z)a4L{EYkm$2Z|pOMMM~j8=e^U{b2xVd-9z)|C!zClunfvv(4D(*}!Kil}y?55I)gXSt2_o0gHe@)70OdP=^*D zK`qlTv{Lgh8K>jy4d;H$ZOYAuM~a2{Y+yEHhi~w3xaU>^2D(qMj*#IEt3L z*){i2yK0pjHsi?f^e=|ET4Z_=7SO5s6{qkGS}A>J+2w@cKAEj*BvP=D3lgMS{wuC3&un)AwXv_!!ld3Q=&r49Qf762cVN5OIJp?`BFe0&fHjI++xinZpnK%i37ZaS{u#f36?(Y*QM%}93%a0wwKuL11&!AsnN%uO}KUaOufGTd-3r^JdQ^H11Hjxw68B$lb*XB!Y0tbncX}?;Lc-`Gg<+;18W)@xob_RS7)Iv-qR6k z61X`TBc6HacoFSV@R2<1Id-%P!%1ma#LXT!HfH>SUHX}h?t8OmH$biI)`{J{oUm?J zr+CRETcpXX#7Wac%_WHZ$uq0moC=pbtggU`-*HNC(qIseImvPd=npu6zrQ`8Cvr(^ za#Zhn=Dp5DyE;ESo(=?*#MxTPGr@-g(@!eJ948KbHkpYXwF)YbPV5Hb5Nd!(+l_BF zEmT_WZ3GACfSKUd8PS33#x6}1BXSM$n4Co+b*fvv$Q!yxFY=V7(P=jXCuzWL;}1Ys z>bj&>)B||2!tO=6(7ZzQe9M;sMpG*;;NClTSa0{yt*^=7rpu?wHSq`FBE-$|&lRs5ogg?5+O|rg z7n+IyUzE010oRX)>2WHa+tY7&M5Rpc znFwsS_aIb}6Db&43{C^dFlpIIO%4hCdI`f6QZr`DOqxo7jnQDHJidYKsB)UiB@7cs_&9yTKwpeyJH5I=4ZL{KIr zc_P|lFQb}-5ORliCW;)%8@D?W=+qqSQ7V|NxVzjIUH4o#sX}cUR9<_U_k@H8jHPnI&gn5)ya`q? zM{=&Dy|U^}y~2^{2Li3{X}UAOxTkHkxmnKClSJgsNtsR6D`{Nt8P~8m?1LUDP)@jI z^psV#YeXYqovnp67dEV z7nC&KDdTlD){y_B@>a0Wr0k+HaCoK`5H0^;K7Q|ssi(ujrKy-1nELjp)J@fz+O*rK zSp~{4b8Dmv8OK!=MDvO=D5}@hm|sQeUW#a4w4ysu{V~Qp%t;tQcq13bcVknc^2Zz) z{b?b7%c&|PyIR#Bmz$utv$v|s`VAJO>G+GMRqq#>`9^^J>R@aM z2~4qi8tPPaJ&~rY0+OI@6f$>r_qLbHe|@;uR`mh>obs;9`q~Y@3YWS4OIK1is4nfB zyQP1;D6nWQN_)e17nPAl9dddx@c+6(*q_#8HgiVTOd)xoV^S2IU)XIGb8V(NrA9z= zk#a{j9ZbbGNU64&IcZPL8YLD(@}YKAwy!$2G&pPuX*b!nb7vOJxM4B{rFT%}NHrbL zNo4nF-?VX8d-Rl{)b;$POjS3UYjL*SS7y;yDlD?2C)m=d_|XiVnD!mBQC&w>B-I;D zE5MZ6#LjHaT{g8_qL>e{ON&0OI`K$8QCqpC=~0y_f^*XA%fp`OARXOQ5>99t*F8%RZ~kY zgbE-_>$8}lMlvdg;&8ln>z8KuEDFmlN^9Y)R9?H>RX=0x+aeA;CsjFt8m%I+2nbon zR~GR|3ocFAA)tvMb?cvD!)b#^T>~l@vga}~vC<+EbhiDp?RF-ccc8n6g}l{KOkq)j z72nwsD_TYWUl_2ibR^nyCLJB45pW8(Z6G=fxJY~qB$aT+RY$E(*MriMnx-N1>Xuxo z{MB=QP#iIus??6n+IqTX%7+SRoGsvqLWL)ItR5vLznbH#%$E7I>G@pV^SqGR>CfH6 zQr{V-bXMW^*0N%@2uP=4`L`f+xy1C-^&CJ+WLG^`qP*yY`GGsG|5suy47ZwdN?sOa zZ?{EKuoWGg)j!hq?ijHvLmUy|frPP)d|jee{99g&2%y@(q-Sals>Q28)#Fq7VzY(o zm1ux^*Yb$4i`1ZNQ9zo=?qNP!R$bZ3z!5|^$B>8t9c2*XiXV(aiz2;DDec7 zsAoAHFsVoPMea>7T9vw@gVP*n=NJ{D!VyLRH2~b7lXD@~2+8Ty63D1vh$JD}H{OdK z@!;i=DC#S1brAIxnh!f~i#1sxQ*VfnMC>p`uu&eK$-D|f$Ab4QGT@d1q!+#tyeEZ$ zQAHpA0$n*P^GS29QSa!3PDDHxd(!6Qv@HZ`mqk6fV1i_hAu+)xaJgGyID%;Hz0f^5 zlECxljFfMRxOa*f(^G%?zf(gU?nP1UwYG{lSth5<)mbwyDZBx8M&|aBM$~F2AeKlq zu~lx1&ho(1q={enyNmSMtZ$#Wcz$ktNE!&EG#~Ck9T=GIbuH%MeOCjeso)O8Qx+}R zAgT=7;Hb&3HG#Af+a#>gB97#WSVoHoNf3RGf`e2SF~|@cfS@HOigMxgD;K1#IqYMa zl=@1B3~2-62DR zy%#CD93SMNI6YVTXc5wu0`mLnGIXvPF}Vz5buW(^Lzje({kDcoGUe}h$x!#+YR z`eYWpd7RZ`i$eT%`{WeNB3JsL)t+uVT6^JE#c;T;nK(LckY zANT(#@zSld2-RCtE|I&!E=*9@ivMKN!c)==h|JDu-hp%h1W}4AboMg+XwVHYKWTbL(!mmOFoH{Uu8~5fPqsoD zv|TPSNF$ekL5_PDPudT58{0JG2kYnDL0XB2 ztix=ub12sMOD3^Gd0$^RId0}dwu8EmZ>&`_a{5^qcS``6atBKmM436nCE54;V!2LY zkr3g&6To{u{)E%R)Wn#R$`ol_=##lvFRQ5okS}!|4hCrED*+Ylmgj$R8F#BEdoHcSPV~Mb2V;| z!$63${`?>*DtiMre(|Ba2SBL7BIps>2vVM|G!x`VH@K?tiKTmZf3nSU?KFC7EZ(zi zM>=aqr$QPhMc7=;jBFO6hqY=Wx8+K@vQpQ;sFtJ>m316k{cGf*cML3{TPrFM`d#q( z<3Jebq=dsevqiG8EZcm1;j0-pR&~^7Pn=Dvv-N{5&Tb_pNDS$+1BFq^M{Rm@YF?D0 zNH3z-*Grh1S<2t|!154=)ja#dx2`L{NVf0ux9aalZ93G$k%Yrtx&nl8Y z<>kf>(VfS!v|pA)p9dtREHT)0(yRJNRE-n?X+b$V*FoWgrF}SS(bROXJNRgb7E!oW z9E7EDdfV2|e%A?YKmqhJ5@WGGf0pTqV z2)Ts}%2Sm??5HgU-5ls@XqNO@j0cR0sfojYkECaj`&jsiL?SR4&(b)LR!T|{ZU`ps znti*EN0fLmHcR_j6f2%2{6?HY_4d+*EwV%E>?KpqKW$|)qKVRu!d3sZjE~HYQ*p4c z`mv*IX6+3b03nY3<0)cErv6?c zJA*W0mFjln?mPtCMt=_}0HOuuA*2g^DS;#?VJ(Dbpuz1MX05kTFo%NCV>hO1!<;^=p?Xh5#Xu^@S-G-;E&*3 z#Y~uI_^B?kuXsHRU?Gs8BlUMdtE>K0%S>J&8HVg8oPdcrmR~1x!94bSe{?w(YYqI+ zib1P}ezIX&Vlad`6g2lhRDZJ@OLo!r7EAyPfJWhR9fVgEVS=Ig(IwQ7VQgdU1)KoS z&-g5d)w3kV^eHXbVgezIN2Y1Sgzb5Tij-m4>)OmGsu?aAPC07OY-p?EkYHXx!DIKl zU+yt%W4KU|RYPYCQsR-rq4JFq?}=DY*)sfW{0g>cGk=v>Y+j6H4$na0Es=>5RG4l7 z4M;2KcCx1)B zv4m9*Tz89nc48)MlV;y2+}BpUy=b;aLlCmtvn6HVVU$U>?@W*M22ddwO*rY&Mlx^G zvrdB)Wfd=?s7Q0D)&VO9JOutgsRGTTK)5nT&P3Pm$e7CcDo?yf4O86f83Cs`B;vB0 z;dPS0n!sZKdvX7vK8h5@?X;VWwUEZusNPC*WDvEnk?*>Oxul;)3Kx!)PYN05!k}EM z1BWpqtu&s#|6r3anOW&ek4I`4UGZ6vrPm$I72@+Vdo+(sk}2SU)ipUy)K#LZXR&kj zii*nLbX3VQC3Z}r$2^D49bZ}v6z9HD5-n=a8_5tSHRRy6K0u5W58W+F(5^c4`=tgaZTB{Ut;l&?MTuEE!BP<*N#)Bpxve zL$N|@!tCBvlT|QV-U#X--+SqS0rXe~ngjTGLly5?CL4)YC6+CZLAChAlq#5zNr30# zs;JP>*13UMYA|L7^xcr4@DPRiBrul$r5%dV{Ei!OqShrN{{$j{A*vw1mDHuu;j?c{ zuUlpylZ$|!?*Vz%8r{q+_)w|6pGAQlt5k;w`LzmWFQ{v?C|D3iss-(3_lWZ`DP}LO zMzY99h+6Houcpb@a6$CLxlyuk6Fug1FC7^Dm!%oJ8ya4yhaM8xFtpMKp(6nvQe>Yz z22;+U#qTC6JJMRE-&ci;CxWp%u@{@ENK%`Zj01r-hS&8t86tv;E6*-I<^>MOi>&$w z+Z`SVrBZU3o&aLn9X_F|e}MfQGZPNC3&NEqAXZP&)LkYd!de4~E&4s@&jR&BNKQNg^=szyTZ|X|<{O?=saVw5{ zhNzO~*ehKbzy!KA(zt4W6KJ0Dih=s`{V?}2qPpL*E%K5pTC<*y z0lKlZehw#J>PmbF{30zm(zr{KJtu7w0=pct;`FVh4uNn99!#Oxkwl3OT**JshywjA zcB&=G`A9wuF$1nWftkyC>u$$SC6JAs@y zfIgUvFtl7r7ZCBe`1hjuf;w2wNLd2!;v$;&ef(&|zFzTQ-NvVthp#!)gx>GuX=abg zQyQ!Cc&yjDH1WHm3+Kn~ysZ6?4Ty_D8-a7|Q%BImmv?mPnanL3xIb}(50;_H-8m92 zwZws$C?-Z16D)rMb3`sXNU+bUrA2m6ZAO?Dud1yk?Fw~lvuSmu%TT{C1mQ?{ENzKU zSJ@~PRjMX8S#$jKhYpYts7EzDUXlrg`~*TqRm|*_kK$j5`0iOrf6X$WdQ;PGu8r$8 zah9uE#VmP4atdGpe{cmfs3!^H=haj`TZhG!P~Cs)gb{!F7qO+c+MM@O_BQcjXe|h` zni8&P&H{JF5K#hI11?y+%Z|Kz)BoFCw(2zVi9sXB$sOsR^+c`(9F0hFbqZWG7gung{FW zTJ;gVW>G(Vzg2fh``A@L^xSSs?7jQfrk^3y%S)zAEaCnSR<)642nX;lHN#Q!8%z~= zne+13{}wgPCHB(X=q+hbTm)?yZwrAX_J?D!c5+1AO`&1YPf3q8P9zsI-v6|y{8^3} zbtT%g<38z_Z6!3T{Zad7B#pv<^(2g)B4_hXj>0Oqn1CVk?_Gmr^3&s|&p0{Xeq==V zzOty|+t20418~i6`}|n+FiNUJW3i@g(3w51D2N7v95|cO!J<|@`h%Hgu-}k)krmB9 znzQ$yE42iC#a$R176Tc>wlprAfT!T5co_V&ccmz6-8hK@8Mylk8KRWKo^)hfF{Api z>W#B7hR(lRZDc(&MymFFY;-=eh*K=S`hz0G^$M!Mw*iOj660FZDm1p-p{l7WEe zT9P1B+H>!^s_U8gx99xMOID9(`aUjaBtRe#5%0(OAhx6&?o<5< zVHCJG3~H^S(H+L8m(7_j^EYWe8q~yQyxxGz0d-8IJ~kULAUUONd) z-16DWiGS4KqsYJ)S>7jT1N5R7Z!TI`644(Ceiq0)aBzcd)amHdKLGK(NVW)lph!2D zdJvO-bfu=FU&~o`@(e@#O*xD_zI`0diYAy5pq$Pgxsf-#H3@;P~<7)~!8YAjf9twQ~r-WLTC&n$c zINn)+SFRchxX~(7+97x)CyfH-WUd-vw^lY>HA;Numzi7%V=BZ`VQ^ciriJBZa&-Cb zWtC%om6f#}$NPqb;16U*t<5+qE)S?|*zbw5pN^da#x<0)x1EzUABd${eALY|(XzUA zW-oF78y^a-yEXcvU+D^(tL7AF74?z9oD0HUhd^cY<0m*gwG+;tf)`@;lq+LQudbAR zrHL5eK5->2=jBJG1fJ=p9><{ED#FtC&P#S7=B;H5e64F{OkeYpwK^yV8S?#F<3O_l zd*I%-%uy_VYrNxr8+d2gFtX$mKw};ByuZb2URni!g=n2Ng zIefg#m3@z6sRgvJhu47*?5G!~`EuN<+p+a3wOou$9~X2{wrbD(reF;qv$j-fbb*xf z78@t~uFew3Yn5~o(*F8hwQnakg?W2^0zOp_qF5EwI4xqM1Wc!Bgbl2C+iaZK5={%{ ztpa==dTbzW=aRT_7!S_julG>nf{A-_X%EXIeZ!&6=LSo~po3P)`_QTltU}}P`LKH$ z;S_$S=QZvw#B8sQLml6Z7va+jgtlZ5Wd#KN&3`!1_VAZsRRQDHYH)^~D2;d<(cWdl zWRRKntdbvu1tFZ}19Son+H^`LR_$Kvjl;a(TN94_o;)#b2bv1Wu>C)olIr`W0+&F& zhb;U^DRWsI4`7k114)!szk9z(@H^%h-f+B^CK)*24;A;`G_+j(l5UxvnB^~Yu)5w8386@iR2_m!zZ4^M#0AN2d$P^ic0(>@Q_ooSM_lj}c zm1jp_lTYriH1SFV85$_UH9xA(G#Fl8W*BKGb}5GA%x&;dQda=eYbM^!8@D?F_~+vi zKv-+Px<{ja^=+Xcs+Tq#C51=N-+Hm! zK2#bFaC}*zZ{L(~iWJlYp^ca0e{`kQ@-y;t;0T#YjwCM93|$8KP0qvz0}448L^JFF zyztJPIH!|6@`}G}As*Op^<=Hr>F3u$SpzGRt&QJRM6Aa-?l6kS@6aGzn_y$so0fe3 zH=oC&b>elu{7|sagjBRQ@C#ER=Ro`jt={Z`82#LXD$w=p+MdM4ZJhG!%@e{_!O5loUsMo+Y~PpM_5Dbx#nGvf!_b5 z@jiF1W#l`GMw|;znRIGU4Xyf!dKZ#$sIYEV6)X%5qD=VfE1y9S5fh=IrPeiwP6gI{ zDF_juFby<>&}LS*KNnO~-nBQIFB0P3KO^$8Ij^m+0#ubql_~LuVX0@oBj-UpXS`~^ zi@Sb^`TO4MU9bSU+9qbqn|t(rCv^L0@Au@>qdQUAgFd4(U@DXXoi09Ul>j$D$iEHe zbQw(9LuZl@`-549I7v(O(s-kXy1v$N!2#OQMp?{-%0!6bHmy%Ns(wt|MUK^|!kfdJ zBzsJ-DYh1%uy|G7qGQ53rmfO(nTr%tpa@*6g#XVLm}=5@lR9>Kkx_RyJSv-`L=aAANR;x1gVn3{?Ch@E^ zeL~vU-)0~Z-9%;bE-04FEB=!}C>NTjVaBc`@-(5lx685!g`f@bQ2Zr>zHfduR}FqM zD@lH5F(n3G(!Yk;-#S_1v-9+)hL`U5<^TQQDe3kh47QSB6j-dqn?K?c=)k#aS@sN@ z%H~W}p*iz*-MZ{|)Sh$&1c+*6Nv~=UjnhX+6g0gr4+2ntLN)Ma-5z!wS%s>fHQTBf z&bZQPXXq?t5JfF(Sdm86rPqcvH^YYQ_yMzRP)-f+g`El<8`~7ewn^L_E><{Sq)^J_ z@E|k0sFGRXWw=bqI&Wu`n4U1j8%+#blazoGde@VjIP2kA3nl>Wlot=i$)FgtiztfD zlFF(mnV}eX_LQVrIt^PTE1MR`M(9ktRYx*3KAU$L67~x0{mq&^MF&3p_fJ(wfLwO* zxoKPgyFqc#6@Dvp=DEjn_LQXhn+DrWLDeq}y3+(vLa^x!i{^=y1$KctlD%;1q?#Fd z=-RN}2;guD>>x2a=*tz|rDJE-+Xpl>6mlKMCbW@3;dxsTrXttG_8)CHv~}jHCHw^^ z_H!J57QP(Z~V6#&Lbu2oX@wO+r z1$?r;c=2HXTC%^~y!<4MCF<@L{JayeqoJE&GHvp**}N&Cz3prW#~@_XlM%zi+0-}& z5$gTKfAj8BGYE!TdeiM}nbfYErSQWc^K9-GX9=L8wFgyi8Z<6*VI&6kVfS-P(YAZB z-c(uAlt5&tmI}NId-1)N<3;QD%gY|tr?bHdCowfkVkjQ?LgK)4~k4odkRC^IrJfbcwDKzTFVJk{7hJA0uvFttK$Zk(+{DJ z9@Mz&mF#({)U8)k$LUreJ8jAb3N)o0Fi3gYK8DLFF|a*|;n3?3q|UTga2IY?YOE1))u^WJHcEvL#dS9<124_XH4}!ZDKO z5U~gUA;D=ovl%t;`VkQTs_YpJ;cN7~6)wYtbxnH$+_Rj>i^^5g>J>m1!w^n`e$~TR zY=*u}49-kWKXaf998e1xT% zuQZT?{qaL+1;J%=^eC7T;bpUXan|=?RYkErt$$k9M>?9JbmO9$-s=h@;Ftj#lFXVu ziS!7v&xbu^{HL@C*+qP?2e+*E7qOEy`_BipN&&apRW|p;Mf@_5mhbk&BtGL7SYv)O zmuzk+;$&4C*Ly;U!c?;cF-g+@!cbt9;k|L0oCjzW-naH7ml(9ablR_!+CCSbG%}OV za2!?VN;I@VeTUv!aNfX9xpgF#@+l2Sy(Su)qSqMBM8143B=Pd;$RI^^8djIKM&2e^ zZz<*Qp4qcqarN$2Iw;s;6;e#1PO>z+aSD{brS?-U#cKD8y* zjE4GU*c=K^s47Z|3tI|kXd7GaEW6Mu2m&YI_qrHBVx>|Aem<{t1EHo0~4$(>AM>U_WiAA|0WnQ-p*Kx%95HXiVSEr6=vZufi@OfySJL@h&v4ZKsE_L zhP`x(F+>oE`Wx3l%+`9x01NOGODX$Qat~qU-Te4kT|{m2sUcKikU7UF6cO?hyuax| z%sNw@e5h1<{MYjEu-710Lg#!cwz&vNkZ3c~KGssI*t1jN7-^S-|B67Lp8g82oqTCy z_j8zdDvZI_&z_ zI(^H#Jgo%JY&wi;`r?0ZB?|T_p&5|TAR_e}RxKL<9)Tg;^7+TI*V`;8y&r9v#yx;e zo8lFQddshGKW6ce!BvB@;noiiMe*_M4&i#v=B}{l5l6&nJL}m)n)E3^Fy2`lADdijG0F?R6B{c-hB3AH-Cd>Dv=7~!SvLaK4)stJz7uJ|>maSnq0 z_laSh3o>XQvfmP?W>HnW{*;aJh9t_AKv$h~0Wge*1!%x;E}yyG3tSmn0`hTM z8=Y(suebZr-FvDuC0Pp(q_x6^F_IbdV#~EJ?RO!1GF_k)<%2nTyH9?_G@6mH!a-!0 ziGKV^2SwE_C8PGe1riW#STByqn#nBh3X~KZA{)2CJ>z%Lb%TMt1xq#PL0;E{v^lPn zg3mM6LgG;jE;J{1fv|_CUV|02Bp*yn26Og^=~Esj2RgJEPb_kCHqpq*(GVp9F)^ym zT*+TF>*@MWoMQYmb{vY>mrrY-QK^A+-n1!aJR9c#>Xq`;TxmtXR<60C?IeArtN)z# zkP*-y50bu$8~T|7rb)I8w+4qRBqJXR7E0}>eF0Z35X_Z`5`jQp=M+eBqPvGXiXA5g zbwK5)@o+_s*SM0GV#cI0pU4(V&N`P*xav7}97Cx_yxyX!CA>1eXq=9G&iUV0>fBi8 zP*~wvSKO#hB;0O%(@aUn2^_T&gX;3ilxDbUMn2Z1Hn%yuTey;VKG;8W#TdkcK&?H& zO?JS;H>q*=@gnW6&pWU@4f`+?4phz!OAhPlE8I}CM=Dy+@COE9wG_pMiYt-w*uQgC z+O!VmXfTzTNcV)WP!0nJBO$WC?QI36dC$cVh&-6QWfh$qEXfsaNT_BwZZqtf=ARn` zNgEeYBTMOG394-!y3|@ZaIog^u(^U7E&ef8iUIVQKzHg5c;t^7TuMnU`VjEZA~t=G z2T4k?l(#)$H@h-rQP_$OotsRg%RFEBv*GvBy2(!IYWDXRjDJ{oX87q%%oX$9_Q8Bu zh`qu5`|AebjY&&vH^%f~>)TcFPHL8E>~3Ho_bf&N`anxuUE^q8^PBqHk}L78;1sad zj4&ZA;6n5mP1rVSWTseoLpHt?+v^gcs}-Z!7kSp9Cj;O8NGPe zecSrv1Q~!otFNVf@5^VDpg3P1(OBL>?6xaHZFJ8-hr3rIswr_21&?y#O$M)WW#1+G z-~6|vGszFqLq+$6w5OJCL-i^G`SyDJVDoSg4_~pmTULrqEe;1+D5Sq)m7>beS#o6* ziwDNz@#o%?y}ytF|5UXg6cl+NLWGN)gX1EzkDDV?s3L;q#R#W)SIzP zDsu3!!&uTx2}f6KKMdudfybSUdC~cjQ$y`%U-JdjzOtCjF!2-&wNIG)^FoMn_?oSL zmv69tg5~b{3mV#tDZyZw2-@l~ZY{Y|`iIp}c{miOmOW`g&St%3$IHoi33i*eqzj79 zSwg;&j~h2CH^45nwms;Cuwo$T3_kYJLwexPgfkMvWP1Iu%PVGUU?GfIryw*+?U+%J?kK{DA>H+>SD-89P*Wjl81@^bKefaYY62t>*oK59RaO ziqDP;E^tUBoj@zNOiNk>ytgR>G{<<6;GhR{Nob7y>&5(un;QUaIt7z%?t+~WKr3f= zBaHtJofu4P(N>Q^MXV0C;PRb|7^7}O5E^z2in6(l`^=xCAOpq~Zvb!!{b~+<4|O;) zFI4u%AhfLxv^BI6sPZUj-ZnQ>Fz^R0Oi8_K=UV`T`W z85*m`2p_j_hLwXs#q&D4b}NAb4=w4is_NdE6%FLjn7$0=XN1fFJd7D~-pHq+;J}+NPn7z7{;{m6 zticV{W^e`BVakb*o%u9^%6u=WNaoVb5A#oSI|K(PTiu7N2j zKpf6bUTnl1E{OZ_%lO>U8D~mpVoG4mdlfpC^eqFvpo{5e>@-6kg5Ad$VIm!Ju7vhR%(zE|DYPZ&FMi(Q#H& ztx||9zRw)1Ome0QNWda+GpP-WhsJ06!9BCts=5l-#B zkFKU}jpqFz6O%P@gnBV3XHC_BSDYs2E_1|j&~hb62e|L4!oBC~FfwEEXComxW;s?# zN4<6R#%l2(BIT$Dn;O@KLJ%;o)tN;~Hs^*kJ@qx?IA=GXApSztL2!dLkb-=C>rmEK;`nz)7?Ci6+Q$M&wE!i`UJpvm_|lzm=+jBxPv zw3L3q^vO7?7_{;`f-aQ2-vA;i-X;p$dFEiyP(m$eea@WXy@|)t0tO35ycDbZ-iZR{ zZB3UBt7nT|ukn3P{&b*Nvk5QQ1Fs}IWSBN$ylD&Cv;zX}*d*K)NIrYSVC@wU5s^PW9rFgCfb<43z$fOZNW;6tGqvZC+lW`&VzBCF)HZIJ20APX_ zj0`0QGGJXzl|2wd50wCc&ANkm#LPp56`f>* zSe_%epnY|GChegzIZ{pxXQ0&%tJ`8Kdx2GS#-c6?#~w^G-_fpzcWW9&6B^J8B(-$ zwf|Q;@QszR)FWhR2{7rd<6^X*VYH$(1kO+ZX5F->>#rPM{{c!k>c<~$SKYF^QUW7Y z%5VU|(L812`$tC8ryhUV7>g zwkq+#;Yq*sonM%TZa_IVq6?E{*(wj!*OUD!tVazY_05CO`_B(I_I*k{Xl`QfT}pkBRDem-+dKi!#Rc(A>*`2-UOfj&>j-9U}j5Nlj#^_A)qj^k#?LHiQmR*%FniR@IS9q{zE z%>IGJmQAEbPI<7g&^)T@l+~zQpY;SI(96`D93aLo4e$I2r4QyM_9# z7GXEnPiXa2JFO^29;AG<5)A1fmfHIuYEX|LQ)XABLVZB~AeDOC46?+j8i%5T_3K0` zSu^OlBB-JC)Y1V8hqhZq(wop^bc^|5+=EjijLgnA^pEA*QhY3%&ir%yzV6!RJ4HQw zCU?5sLtTDUwsuLbN0_bf*WWnC7Q0Cy3U(Q$kOf?lcG)j_ua?)2DxrC_+AYjk$i0|k z%*HQ2j?@y|1qA@fAPnJF_Ib!eK;0T>Ecruo$DUztMSZyDiw!&`j)cW8%NGpc+?y(2 zUH$?;@a9CPbcr$LN7aCI>j2xZMTg=l?k6;Ai(Wts;${1y+cnje1@@jY<1GGCOqf+| zO=vrs8CcpEAOy7nR5KZ-I6BGN9qm2k08-*XCjSF;adXb3Z`tswgNq8s{h)7$K~K1% z@<3K<5i7||yowI4S#Oqe4S>GcWQ-#bE0p&?hMYveO`XFUAdVdv3)~c|btbkBR&IZ` z0!ezrd<}@=8u@m>cTC|U2PA}12Gxk4cS1M=B_M*4U`c2l_fl^Pe(B^zqjlH z7L3D`o{iQro>VkpoRyzCKKlP;P|$U&vv~(V1!27Akd0U9jBOJ8K2i7rt*Kel>#INyUMmm3KpZVvg+B1jS z&*rM>&Mb99t~uQyw6OzQh23zRm95X802U-Rj$L;4@fMwspN9)XaA^Pam0AKHmcCDW z-vYxO+M_`);aT)~?6$cG$hE?PeT(7_Nkix3z553yjC{W%t&j-{-zjVJDIAuF9fTtYb>|nql_q;d2?Lbr8}ZXo%>!^D7p(q=E^K?#uL#@e}7 z1vQIPTd>xnIZqMtE|Y};-#I{Ce-Zn3uCoL>*sOoE@quv}c|BSl%j<01ql|3f&hWAu ztottw?Sx$|r4T`}ED&T9z3lUih{zVa;|Spd0_NEfN@WR<1R8O`Ona5!@NRE@39))x zPIH2ovyN;(tF!6`xJRu0P~!8T#+dqniiG))y*w{Ud;*c(w2+-yZ*GA1p_9iGeftNK zdx!UPv-+rzE_%L@u|vcU^yuOrYVG}UkKx6PbYtev#GrnQ44TX2gFQZAd)c5~qDWeN z9tdq*j{>LLh19*>{*rRFrv&2#+YyD9nadgBmdYn#z1dN38(W&DzCrlRR1YvMF$ zXx^l=ht+gLyo6o!797s|rU%87cxDERt+`Z_9`)3*-j=RxXaOL4RVRV1xRQb?*ujGF zKUX*a6BwGAMM;HIgfFl_O$!uvNpiSeYM1v};#E?XMSDOf#D3o_c%W&cj%K zSHoRbo4ZPVgr_3|{=taE56ojA2F10R%j!B>R~q3NX4!j<5YXM3HMJji~3*k!7plv5IK zTdOp1nrBKf-ndff^_%;tsp!Djv%wq!h+zHF> z^q_D4R~Oy4p4@#)-~3m+-dIPSKGx9HIYad%DAn(PyTd1fOcqF2o=EQ|=cGQLSa0$I zS{dKF$a!Zi;K>4YOXreCN^8!h>}{?&P`1Mx~_C5-NXcX)_jS z)%%3z!fK&v3Yv#h1TYfF_Em!ciAG8$BN}aqg6K}aMSy_qYyGRDEDbXE)?D^m)S;<9 zk|{LaXQ`P?_XbqDuN)LB!&i(>Qd z9?oZql1$|B(4%mX`q8*^to_*3m^H3)tt0`h^OZlU&>RCe(OdX~LYo^O3^Fj&=`~qA zI$6V2dx6cCRPuc&uSN3FKHAybP&TRPtgY=piuiAQS^6oovoaDbT32Br7`}yEn^Hj0 zpFh1#y;z<|NMF1Hks9}nqvK&3+NLEUb~oRP!&TNRkbxkDts%IfbuhkI%;Fd9;!4mQ zD3;TWL{8{7q;z2?sNRC313w5!*5Ui+ht{PhJO)`g+$1|DvhF@XTzMoj$Uh@-X9&3v$9}Lpbn-ApJ}!={R#Dkp%A6eNkTxlWdr`=gVmeoKdB|dc8g0x)}rb zOKL#HPA5UL>qlKg$x+F~f}(oYdh+Ht>g38kvA25g!Mq_@%OKz0c1}1^}A@! zvTnETo_LkyvJ(ULKRQl!h&TVm0pXO)DWtKvHOq5jGkw#F+rw|P;(7v&M0Mv^A@sPb zf?LNDM11I5==P+nVIl#H&w6*Rq`L}(Lz`y8$EwlK)#6}Y8R{;2+t@gGi5aHGH|0WF zU@EP3;{ci`IsUR;`E-V!h_BgxqVSd|@TP2X*v=Zt{7&vjytrI|$_*1}8R7K+Ud)i^Am3yvz!!wz;jCqME+Epm8^1ei+v)S zoT+i(BQ+xX+`EuDzrmMbrVkTA_n&R1Y29|j#prc(?|k(S$Cj*kmbu(uaUsntoE#HQ zNSoK}Xl4Bfa!yI^=whV(2*U8V66}!{$6ag$8A74LcH<*BEm0vW5pBn8N@EJL)^I*5ita9iTLTIC@%#oYm+djucZL9f}8i#v4fAqNY z3h9{{6o%K?Y=Srr9O>ICKW8eicJ}5NGtOEIoOl|JAv+11xz5zgZh%5U0A4D6TdVyp zpSnMZ&!!4PxV3pyM)?6$wg5(}+_R&JDo+K+Hcul90C+4-3^pVnvy?ga>RM_L>4Fae z1}zSFy(!^G2&e%AStYDW4#;8S+-(bB#u$fGa zyZ_>ZQUQVXl|P8Dk%4{##7xIM&oKS~clfApFnC~~FbIr!+x_vG+Xba4z(>`dngzM1 zrvz%>lWt6F{}HdZZlK$;3JHPx40bDhl=R>EPR-z^ZdD{yB{I7Ujuo~mKI|1ZK#g;+ zk+aq@InncW?nC0~y(g>g_ZrmY3-H!9{ABTK;I#(O3!vOR8uCp%7>&cTMcP>Nd@QM~ zerCt7ANJdYf7 zKGbaW%Sd)uDi3)K*EqQFtIm&Jq_- zf;{Ri&q#4_eA-0;P*K$W82m>D*k}LSHt`^QlJ)RIJTMpDsX(?b6IvZF1F8^Jb7 zK=|ocntp=yhPFuzD)|=d8kh9G$6_F6f>b)cF!88Ml@h@3bgt{b3XY!ZZ@ME-n+8e@ zpo{ov5Kq^Qr5}Q0cs_|QDsO6c2w8gVoz?;y*U(1cc>pceeC{`Kc41zpzN3 zLF7IK3109lGgpmzTQC!tiVzvv1MCBLYSx>#89^+pJ6w$IYUfef!4G=XnK!GW`iRYD zsp`AfQ#`yWlIXwWe$?>kXi#G&jTdQ_LFM4vnI#8EG^;#Ax*3xjyIUFv8lYXgC`PHT z=vYelpc1U>945=56}*GYTk9zDWcgxcc$t&+FcsUfTR&|4CO97+U#-D01(n5e038U( z7XBQE&i=H9kvy2=7a&WR^*Xwk5>c#TQtcY&Y?}AQ6R2Xh*X>$ZZ&tQdIf)0UM5_D` zs|jc+sT!Y)eH{|5P3^jxeR44|X~n!?A)iz98Vh2F%&8m3V)OZc-DUJAq{QS*oIkDs zDLz)@m$%D>;mmFs+`K+cq+DUjW+G@zNtK7wd+U8Z*1He0fNrkfUwuH03wa&EHSG2F zsgx-nV&k)*kw`U($k4B#99f!>cc;~Kw22qgxEj2a?My9WGKP3N&peTs9-`3#0?`#q zV-eIYho1`%3;rBiQLOiFM%UX1u7TY=3x;sjuSz{j3(>@9nu+EW+tG{wGMKdm($%vp zqc~QxuQ&5;lqe{5?4Apgj%MuTG?&c>^;>G6VM0JeRA8G1`y!oipzxq+wW%ol@ppo& zb`DrOJYWAC6_HhLwUj(1VN%&oN_LrXd%aQRhN$F84SiY4{Ev@8{oS7~g{q*&RUll0 zpj5mtC)J!|qG3~=u2@p^8nBKC>Q4AaG;HWRK&oD0xiW2D`4lK(&~*P3Oa;8gQH7>i9<~csCk5L&C{C4m_;Df*-U~PROxdYk$!4Fct&CLVSK( ze82xxmad@2G8a4eqZ5*|qD4!=&U#+`CFP)=?MEt~!|RRn8JIl=sr#Td-v1{lT^L!i zr(#-WR4qIje9po(PSC*`s5QK4BG(sUy6rrtYmstXweKAM14LLh4k)efrG+-I@;01W zTrd|32F=LPl8gRqGu(w{^}0B=M{6Mk)P@6c&YniQCN21}ni4MLK@bX=jPMJYmUc7- zvPx}6XE}o?0OurnsQ(ElCpn!mn>-Ow?sa*-=U#m*oJTX`v~eXb%CZf`xYMKOI+M5( zIJzZWCwsjWB~P-^cg$e)0pZhClrLfze??&uV(odRJqd=H9ye>l9C{7+8>_K=LPMn2 zN(oa^3W?nhgiTv!#flN_Dl!YCBn8ciVf>EgpWa8oooSStn7woWl0!;!B{jutAX_uG zcfI*_4AO(RnQGTzXdN1a`Pt`|jqD>3BSHF1U%n-0V1BrqtNnh*pyYx8tK9|O7gH+j zudx~nqKVj3psAtOVb&W=lPy_?>3bT#q27Ap8wvtEY#-MI!Pii*%e7WG2c(mAqvT%S z_bz6iOz7eu9obffm4h?t*Ly(|58Raf!k?&ZGHMRlgg|?MbucpUp=(U+jvS<(jizM| zFYkDA>el$?2!l-g(NuVs=9(Hg%Z$n+thb7(LnM$N6x^AH<96z@)d@B)bW)h_aCIhL z4I4MA^USkD7Ha?}4mp-cnLKEA(A%a?qDd_+D81Cx8KlPOU)t;@KX_N2R>ttL@h5d6 z_}^&|9h*I92r9JuM037L05=@ z7meU6K~hKSN1*iaRk%lH#VgE5-l)-d&|pnCSAN(oKTjk^mkRtNX!3O7VPTzaS7cak z0N~bkd{2*>kAd68p{fgc;)G+Gh;m?i%`v<~I#< zeietf2L+ikKd-qG%b!x!PdLVpGj}7d^uSJRK?dAvbjON~ zh~Sg+4^IRk^;&$psJDKe(9(iX3j2OVDLChEMm;nu&g3X+UAYWoQ9)|=l-QkMzAf+H zBqHOZWwW$DrTIzk#Q|@Zfs~i{dqHc3SS%k&j@`XxlFwdK0dks4$uH@QS@# zZ=z(tJ6Agu0Te-#0Fh7Ky&Kw3+rH6G)sfy>%D^e426?+`I{*EP2~zvGUdRoy3(9{6 z=49wCh{%*vXtSzuct#Z7uQVLmYBFvf-T$C6mcF;x3n2mN^ZkINZ1AuUq;ZWOo(4bv ztbKy;o}cSBB|m5zK2FFXHR|F%h8eX%Bbfm-B8~6bv)8Kn_V$upBRDeXH9~9NKB^Nc zKKQqFrV$1Pk{1~&geoJKLIkLy^|-|94oZdpF;}hR`|;J_Jjvg?X|p*;SBYAdglDVb z3F#&PE-|t^QUeB2;o)Bp1?27MGyvTSUL7yn za#(i3uIr2v3J)TQ`dQ@N_@yE+82>=)At3iI>rOXpMZ>i+52AE64~9Jx>2J^v3?iX{ zGtp8f`&WfrUT@wM8p^gOb zxVx!vs+Lh;r@Zhpoph}3POocRCJdg@fx)0RK3^&?6%)S8gMi-rU6-<82JZCmivp}G zWH*-w5l74f3VDbU6BYslk_4n|OSrk_brm)V4w^Pp=VQDP&DGE98G%f; zOb}e@%B*KI-t07pv;dK0Y$0Yb$c3~6vSu3cp5?f6z={( zki_f`?=IF?dsag~f(l|ISs!P;IFiMQ`mY96e~%(-B(jUiF6J|J<};NltPOCUU0)4U z2M0iGVW$WfEZn|0bj*(OBi%0Q&pcbdDPmAwyZ!IoBN{F+(!5oUhp{dF-D~9*7Bg7S zMDp8AK199(uoGQZE>L&)~CRb;@D?zU&2>Z0nT$b+05FK&N%^5Q zO2A|?$s-HzD-fCe8YZ*DI(_7XK=u-t;rn@hkS4I-9?T>Jw`^=n-ww1f+k=HJ)|ER& z6a_*fp>6fr-VuWZ2qT0vNXZC&6&;!41Z`0}LcMlJm*btsrC^WgoT2)yQsVZj^T`EH z6YTjKbW>}OoU0noB2LY~HYXmdiZ#g|`7BzBk8KL0b7|iE_fP0|WoXt_$tv#biv?`R z84|oZgT5V|;I1>1gH%V0kwlOobYZjqg+~naA>WSX3MbkClFnQnD~SV3CjYxLl|VFz zDy7^kH*jbfX;hXgw95j{ocr#>$^Z-{LC_b&e|&x2U&+j&O2s{^Rwvg+we`dx2&9&j zzVMbPSFw&;;PHTO2Mvn#XTeVKKLXr^&y|O)qY1ZQ0 z0tU!Ou7qDVc+O-U;bk%EoukM}g{McICb_7?kd)vsIxlQrRhQ0gqS zAk6cpJ2unO$38+f$x{OLwAj-KHTcY2T5Q~A^vY*U$@5bO#fkt#!%b+rwX0~g+G7TH z2ipEB)#NF`e2v&3scYr_!I{kycAipicNm(Q_ksNnF))X@pjfOo%JHXjUFU%3@fwqL z>Dv|U!C&sR#r@#@=}J!QuU>By<>p22iZ_557#X&4+hcLZcGK^VxHleZ2Pjq^Z;_^i_oP%EpvGt zpBkDvrk2%t4wb+xN$co-eX!NbuRJp9NG5`#KcB zJP76zCo_K-U`Rjby)7*RAGF0)XT37LlK1Nbg2!PmLFmOy0o+lvRGPQ8dp3}KP@?D= zsy)%A#G?)Q7RgRe!)fEDa7I4H;#OR*Sn?UOhnlNq;S76Ep$7BA4s8>~wV~R8U4G#S z;QJH#^mtDuXx0U+H(da5PW5_m0dbYteOicqoZP~A7>;fCP#+~BDw=|e{q$+n?P_8Y ze^^BJhB`bE6~W1Pv4)cZg}QcZN(g%PXP=8Y^B`I^EpmV9(1n)jm16Zw6F$Q6lGpD1 z@Y2Xj2vS2pg9ky_&e@&lnBSss0^*>1N`|NHzst2rFDs*TlYJ%jEd-8KFh`S4d(n^M z&3nxrVzWfOE&74&DnIIHPe>|Om7Cm2#Yj^aRvSVxZHS@_7grG}V6NbLrZS^chvu1C z&Sv3+5Z%>S%!)J24Ai|gY}}No=6FVHbS+B*8-^~|;Kjz#7QAGGF2$-PK@$=!#VJo! zmj}ggI}QA7>4&rq(TSUP|0X`kNgpZ&PZO#*`y=I6fOC4&mCSkrXM3=Xn}C;q6dCdF zDRK3WBm?X|o1_2K55iU3?!cf*yWvSYFhNztl|K3YgBJjywFkAYOt&dMI$^p23I2`0 z)}W%k-JC>3bPWSBgPb0_pe|Do`M0$kgMurh7Ixk}fmc*MlC@dAnS=l-T9u%7-3G%f z&awSI{6^1+7+5pq;si&c0L(B24K0<~LYUEn=b*`6D-6=NdsugG;;NmA=6S9encz{) zwUOIZ{1^7zJD6u2a%rIP1OciF|1^ISK_R|Fz|$Ijs;^J3P_)aUNEy%DhX1{VpNVwA z;K#>wNXqDhaXHm=09>$Gbx!b%_&ZcVs)K;P{OQhi3RK6oD&nw)dU&kA{HFS0dn;5e zC+lEKNHB=hkr5!IO$F(c_2DnTo}x7O^e=lY8A=ZQ0DLc4Z}t|U%Anxtz#yVu!r4aK z4s=68hA=-1hc;Ge0mmi~)1i>VR%ik(F+86wI|&<>oe(&=-Tj#b{%Is^+~{om1#Jdg z@Oge;56mxaOI0^1asKH)^lq@`(AE}gA61wXT&krA)}6|9F8;@#_1e5gNBBXqYcm*P zW8?MsY!pnb)4#w{z%Ub&3M8lNP_rETcB?Q2&gL|D-WH+^pDCMjd_dWyj7gD+O+2VN zh82D$=!gbdvS}CSJR2|`?zi9m?EDvQ_P?z*A+fcfo}3N4Fi-Y=Z)-V@_k&71L0Y&0 z{E=^vZGmV^ByA4-+(|C&XmQn8yObr=-k>RLynjFiq7YPOBi@P@-!c>_h7PX9PT|sq}w=s zL58Jn-sQnGZ{uoPu5m91XE0wN*s_s*?%e(YH7*R{^cOz8FI1=H>Xdn1UAPB;pD2 z?r*%0%<{v@mkaW=nq{WMdkJ=isJG1{?JM>gqC!NOU8fVR-l;o25{uX`?y|B4zAr9~ zfWQ572DVP`msf~O_&&2K5ZBT~odckaE+_q+-3i}e;yvPj7C_CWnGGN@5YsC+Fhtju zmvLm*RkA8<+Cb9j!gc^ff)~Q4l&otK=`R1xgY(n&x=OsmoAovr2e|(H8^B3+ogCFc z)qVBMe^*>=VLiv%SFg8qX30WLfEg6FnZ%Mz89iKYT;K~R?{PZ=DSB=^fyA~MYP^&cR{$!0sbDsG3k$bao@#$nTmx;RTt~SwaIsZe^ z5OHyIjlf9SX+CaeiMiW{`5$DWr~oAj$>|v`XYl801N{@Olp}7iZ%z=BDO;ft^|a~r z;T9$BgYs{?oM{h5a)N~|5G)ht-}DN${`s>L z8Ocsv!ZQ-0x+WbuuMOMyhF|S+2fGHu8;%vq%@EoIl_>2^3=V|-5h4$Wj?L1`i|7#w zS&8yN3^JC*Mz+w0!b_iytm#V+e;aM(fn$n2ZzyBY7ayvNma6^djB2p4dN**4*r_F0 zZx*k(bpfV!Nf(;@qzE9?Z8m%3yOQdrHmPhegnMNY8`WnRX~ zorN!Z2EhzMG(u1Z1UHd-w8i$W{OMDtQYJcYwwQLcQ6SB8wqHTkAaO(N6x2Su3uc#3 z-A=FMjPv?U55rW|-0W^dM3RJ!?8z~I+K&h5J%pf_mf&Z{YM2~46Tj)x^ zn$xd*@AI^FB00?2#Y3dTK0pTVJYh_=c>Nh_+_Tok9J;lQ#gbSrIh*iaXh*@9`fB5r z!K=zg5DVr%C`Y0|#WrRy95zTmuJ))9+nQjC-f+3B5S}dd7Ta<+^d*yDpUB{;$uxHr z58@7B^~{Fmj*$sbNDg+EDI#Qc?CIj2ZpRbrM}FC;ptui4R|k@Wo#l*<``{nWE@9z= z1(s<&+eNfa#7+_V-$PSQ41U2q@C2ZAXy3HWn$>;<&XrOUa z7WHJ*d)U;H>D131!PH!juPy71x6SEo+d?oJT*Pmi^R|~jt@%8+hr%>8?%{-d&!El* ztb1*@w;O^A&Ki2X+9wctu0{6X9QpRAzKbWO)j3bi3E_wqU-k&Mbb6tt7xu9lcYS(Dp?lbGUXe4PcIpyIds-ujcsOIPJUNgI>sP zKep(&+5uH6s?{7N8MFyri~@|gk9^zEhqOGRZ|w8CsrDi@1A24zGursz=IwjOeCelh z(l48q&Yqcgq;YRlPrk5n6G=l+#h05wkzz`LNz3N7hJKWf+NtKG*(Pd$#=X_!mkqH! z$y~GFX|-Vd?rK}eHwH}O$nIx?8;=;c50?> zLi?IEU>|68qBvo|LR`3^Gc)mOBtYe?ylIJs{U;}gx_W?RZdz9<{P?VLk!=e|FYKJ& zNg#3cQ}lM?85lIP+I|XRPp23FeCHdRkgvolh0tb0xCE{hI;nDMAu==*G`E_d>frP< z1T7i1-WK!a#rAyhdJ8`+T?xXo_x1vc)&KjD9oG?+TXB4dKIo)*HlCP4A3^QwOy=mA z?Q;<^x>eG6N2Z~zdY@NJtuInKYB!sieacMjoJ_K-#WTIwf~&8IvOo0=^d+a8f8kKx8Enz0m@~8|K$JJod6HR<9GyBsx?w4Q`@?8;iELxrbrup zkcPmEOn|oPNGgp=$<+|9V|Npiaz~JS{Ag*SL5+KIG+Jb`#`2VnuG>#RQ;84ITA{Te z_7pF-AV|KXEOTUo>40qb@FVkPcVkdSYp?x!#I@sWT(K~=A{$NzUSv9+PxRrZAhccH z_DffqlN{JkvQ}5#my!Tu`gw$)p;6x(4tkKzcnx03vU}`K_`M8sORuf1!+khBw~i5B zwW`0#>rJ`t?|OCZQ8@u@KwJh~0Kl=4LBQ;AT_%&9J8=MH+J3z$RBitFv@y=n$@(Le zLPdlG*Zc>Ix9t)(|jHO;D(HFJev8$Q-OEdgwa z&WTKz;#PHldJm1SOjjGXTtn5-b$Hu%UmEvVR8ZBR@Pa`$%(74nLVz8)b*3aqIzcy0V7%fr|I-I+UR2-seUq$Dl1` zg#O{><14Erd~NP{pgFwR%a!;709yVhgq9n7L-IDUcPUEC-pHJeQ_WXeCJj3F4^XV` zCn+lf=dJ>MN+A&AiEpfbZ#Va-`+wiC*%H*7?Km;i&fHf|zwNxhGpr1zjB^f}p3kKX z;bs}C&i&M{w5>6p`BDMNYw*%>r6T)Ed|R<&IrTn)w*wLc6OXKw-$Z7*`#w_VLwMfA zB+=zGZ6>$!!Q!h1U!CoduG{}{u`1DZfnxRCk-U~Ec$?;7L=2;vY&(Y1r2oVOw{Ka! zHbiM&{AFovigud8Fd3U#vyEq$wzqcFTjxQP>z56?8yj9i!G2c;6VLzU|NJHw+RD{r z`reA|=H$PWa&zduF)=x_tn-?{UyZMc*<_W6*W2r$w@V=yUii4ua*my3Ts3^hCbIc$ z+d$?XQXqBT&Fk?VLK_=bomceh4t|&tza;zk)(?M)7Fh-P{4@Z4!;uZ_?qD$H!9roGw9QMOEH^SrQ6~}bF?*OPgmjKVFl5610@0yU= zk>uf5T{<~W!3BK)zmuRmTol2$$n+wWnLX=>-75Ng#K3Nhl7yOKb%gijug$PS@?U?H z54~wC_SD$kW8;>1csNdUdWQ%eSgNauTBe)6fY@!iM@VTyxa7uXOo>G|b88ul8r7ODbD{Y93kWM7*H60! z6T=eWugq!0cNWti?wA`>$+oc#ifhD48g$WUD77@0k}%uKqcMsU^+g>3<-`Oib`>g< zP4%6w0(%PAkjTAhj^@**bQ(6)-uz4ruFpr>^PDGNim zskqms1tG50+r|S6T<(D_y~~`5Oa-}Lrd+A{{9pqBD`bs!2yOmMnS=BMx)vj|BtDG- zE}JmT#^pCTxeTaM(SPr#&TdgKv2Rm8@wECm-}w5Scw(;2ZJ7d!ByFEdB;uDa@lY~I zE?sHc;tkK+ml9*>Vg^}^y&qOvc{N`fUU1*U05=E2EV6b@2}1j18bFEpAoVzSMnML8 zo9lZXVxKm^d)Dx2$!=hE9_+hL`HLAgjr0}g6s~m811>E=;q=qgI8$~^i3oE3``Fze zS$iQn0I(%#VtOdqfvIt2zEY#r@DG9CWzxFQkP>vv8kQAkUH%LsJ?q+X zjNWnWI%lp#&6V=U5_SvK3>yGgk@wPHunlq9U z6U9=$ud#^cMgQjTH4l_XZYy%EPlBIQVm% zLvd!^yVYs`x$bwpDU_(GJa9A>TAO<`Q((@zoM407J)tX8geR*=2BBAGdBPMi34;!; zqQUW?tfK#oHZy|^;|SFpADNXNMMvDB)evv4?jkXc1#mrAwXKQwe^B8V9l}TIKJ*+I z6u0A!!E${?6pnsK08=ux>vGj1l57B#moDoz`brF54pA z_MU~o%3!L;yEX`Iwn%}4l^JB@6mvbJf~G4~d%Rioa`BlEJ7Uxz%}B4D-DptqR>vIX zaVlv)Ji^QyRLREc&3W?42{k+HJ2gS11cjt$L2F*ILLfpFFlshjhOEr~)Lz#eF;XS3+Unh!R?; ziiY&OLH?BeZ{XAEd)6ty+a?akk@hy6*WMHWcip2fq~kem4_JXnBxrT4VA5gZl=Y=z zI&c*_bUxhOmXwqi+h?!??(0Bab?MCJ{F?c9EAO<_|0Ugvj^maBF`}tGQ zK669NkADrRko3VD7C(1!L< zEwr}f;e0VfD9x&LN7W!9w8q?O)+QZRVA(*Ti$lDBnfuCorxb(_%fO%}G(n0jAp5+| zm!Dr|Xr@DFPJ_SFFbv>IX7+N#i57g+x1bUtZG~-Dnw!RhgmU%ldg|Cl zR>&YG`^wBaX;T17Zb-~#qMuA-(S$ZXB%Npg^immV!R&H|UL$SdCt@qp_!^|3r93~Cr;1YXei7GFlh#5wU1i+8HoF?9xMT}?H>2V z1}t0aDapXvvz^gk(NJVAHX=$tqvm-JE$(IZXIt<}}?PTjI;aI6YZJLJKLfBJ167R#n`XD zd_-V)gJWo|WivliDmhAC=V(jf9zy>{E3si!TZ2M$5SCh7s95PAYa@AT1;@i>C1=|5 ztX4lQL1J+K3u~cWiEC^KEVT*N8#Pt-B7=y^<5>p=#|aeI* zW9iIE76NwEKYmvp(>|Fg0HiOwB}nzM?ar=nVp--Mt9MBD=Gn9?WYHD!Pub;XfCBf2 z0)`nMO~;z3{_yFYOQ@_XO4@{-`d0+Jt0SQXZPE`nqirAG!YY?|c*n9^C*+)2M{F;+7eW1)WlgHms6 zZ?f2*rOns8lb97o97FX!B*#)x&d}q~#&5~gU(-7t98BPo1Z)^2fUr&T>N} zvtx0gDPEpn;w^as=z6u^!wM{l`4cIx`6|uvJ!9d9x7rLd@WE~KD|dl+H7zS!xTj~G zQZCQInv~*%v9!ce+Hyx6+OUv)v(odX1-nucUY$hdKhzjhqUCyYPzo zQq{K0F!7N|mFT*CzSfaAH??%RGCXS@D4g})317-w@IBGY0;)%%Gk+*5bJ9wfoOEV9 zNN2klCUpd&L)kegMs#cB3qfVvSTB>*k{{%pCq=x>cukv(-I{==0?lZk5?5j;$x5S@ zjN-3j8d@J*wHLBSWo+OnUy-FJ>}F=LjM1wZ?y||s+HRUF@fRo{B^5L#zv@9K_#m0> zt93MzP7QF3LFvGS!(&CU-(Rc-~0W zzW7SB#(S?>S^RVB;^qI+THF72&!=8Fv3T0-i<^V0RTh0L;EKa?GP_fxcFR}D;j6N8 zc1(#kE^ekknB5UL>E28Q1N#CFi%C!l#teY0i~b>mwwu4XM8u$4SETCN5M)s4TrE*# zTXmce+};;lA?(Bta(dMdy3*bIZ%T_|P&l-eO$&aL zL2dBoR0CRz)9XP{@nVW?s-VJ)4_1SN_)G}JJ@=VGD#F#gaiC~K`sVad$MD9CFCC3Z zXlQNdm~TYE`Ec_-y>ha{Rcl|^@P5JzBa?4*g5d?@n-9O^2=S*Df!5lm5Ys(&VIV9WDKN%Zo(_TV+LWJ8ht|xjLJk+=?pRj1G}9W zVrd`+;1hL^J~{W?PQ1TkxZsqFBCkfUj2)q@{L}ErxC}Ds$LPNMkyyGEgGr%jR)*-u zr+mOp{Oj1}t+ugXn88hTh1GT32`vUnBR7}Kn}Ul6kLTN>>ss0#bZS>CkwfykL2ez^<6Hle2lx{I03P%*FTS7x$O=FvKdB*%(W}Kh=mx%$Pa~oY+>pQCtHnG#;+*LYQHS&>Gpkh{E2~|?9vpI-iPFP>e5&by_Zr z_FQ}GD?P}{`DY>AiucxL&lDmr`j#4PuayIa1A7YmE~61}a{L*(4cCUQE}!lFf7^a< zq40&~fpci6WQf6=R_3s*-|MR&3-Y&}yn0>fQ(VMn`tZ)7e+J%cqPu@n?K2c`;4WFA z@BOT;vs=x~#B-UuEFEhtKzQ!Rsf|Bq?!*nzsl!V^J|Y-q)pt9$ZE90m&Ls|QGp#aA zcgkSBb-xJ2TeG!>nQPLZT|Vu9gFkz2&i=k7xvqnW+=<-YpBX{WFJF@P%U4bD2b=^2 zNr^$APg)`>PQq5{GxQ-9*v)!_J>y^%EVnjDMJpAy-}pv-!-_jj}Naam)SaS5zHkaR~M zcW>kHloV&)bfg@ivSA9w+q`&xzJ&zA$#FW{L#sU_mqxP66r@5u5Q}DOwD{aD(o8Wd61f2 z1eU8`f3bOtZn1%tusmZzPRzUWOx`y1y@mZJtxOTDw`85@K`DEb98?H04VKct;u%48 zSodtyxn41d$z|baW;bw~`ApU{sSf@CYac^(64>vV3L4&u+7s+%Ym8(nZgE4}-9|%z z`kPA%F5$bLdv$2LBJ2X0mTJK4re&eF!VcDW5YQlBiTG>~8Jj2zaHG|q3%BJs!*GG9ccECzI~T-3|1P z`hPedv+sQjDgx{O#DmbiQf@sW2*E#8dfbKwEMq!D1Sfu7?vjVO7s!WqEsL)v*?CZf zxd56}Hr1v>$|qc!t70D3!Txjb`RhNw@_2DlP=R)Tjk2Nx<)TC*Zt;T-e2I#zAtST> zXt_PNL|lhk+L>d2g%Egi$J*TuaS!^w0e^C1M&rcBe zQvx$_&e;QF#mv;igopo~Wk|pp@jso}Swe)*6oz})vlVus#OW(@G)AbR&Eb!>^k zEll^i*&d*XMK7FgB`dO(cK2sc_RG&RpgFuLLKcSz|BBkb0GSAztFTjKo<7#;PRbnAC>2*_9Guj+`c1N1juHc{ zlY+jdiEr=OReA01h2^kR|7GH^(@s3P>%4CDnI)?-HW~__loAL=0noMzC#mo1lP69| zic^nE?da-!`{W{ZCl%vuJF>!ai-U(3(~sBz^QkeB=DFJ-h8Gaoxmjj3xs_65IgosyQ=(8=|&ZBI&Gt`J$P7vdfii^H8eDgzJPMuH?#V`mbN$A9#(F z7BznMu^kMvepH@4nq!FqunRO05t}!v+9wan^#yuA0#J#PtS{*-$ zB}wi{PN*pn4eh_~?-xIRnPr@KK_}PT%(cwx| zK4cSrb%zKuVSu23sis3kLdO44Zt`oE1?@nv6E<$reb(;QeY?HW{BLyL_V_uE%*{{X zz?TL|1_1r19<@IdMCBRNJZoCR8xh=6bf)2L6g5~SU8>9WuxCSSBv+`E+p2SVwRBsW zk`gd4a^!92E$NnhYjmO>_CJ({?O=;bK~>w@$)p@t@KHbveq;ZvdD9p0rBx~AgU&e{ zSF;{p*OQ`d4W14A{SPtU;n$-zN==CYU8?W5KuixvadF7i$GU;XV;*;u2lbN zGnmSQ=qwTPT-jq1!hRK~gxk^mDg(c4E(yUPi=8I~e43uj{mUn!96>Ladc73yvYo!( zZudN?PA#)PZ#(wuaA>P*yCE4LM>QBcB7;h5&3rZta`D<~Bb38A0jwJUzmgMmKYCDr zWch6T2K*2WM3by+yVRSkZvQuO7!VQJ7RJH`GValnyVjuSISnB5CSv)d`&Z6!!b8?? zeWs&yfRmlmKnvA0G*i*H*SFmhkj^Qgqu9l-XOQM#WRO!TVQQ%kb!-qeeX~gSK^zZ# zU>Np-$xT^j35&8bEQAl)CC{~cjsT@yj&{gNY$-Xbf{B@DnREYs^Ra}|&-m=O{VNY* zil-T7+IU{JY(Xr2E*fMp2BG6(LYrt_;8{eCOAZSdByA(S-uO@|r>vfmiK+0u%#>6z zDV+ZogiZx2iyzFnYZv6WgWiaf3eMGU|6GFyAR{R-I;TKyN%8`bW58n)n=)byDu{XD7waR zW)_8=g3o0>u>h3jz`w!j&L2hl-81g*PamJykmpr+y=8V+%fW`Gn5ze~TBlk9=NC3^ zH-CJuGSyvZ(j9LbbQdmOJnkD+6yEm3*Wb7aADB1C@4P>XfmhEknrKt^ao69E(N)`6 zix)aW-c-B|wtNk8akjujvjmr7b7O(R52NnFcdILrS$`n3DNF@{0*&)xW*Jm{V8|=P zpzfpemBxTM^~HZnGw_B0j9?a~hU9aBcmY%5)0eZ>?jmqk-kpe4Z(<9h_dVdzXMssd z+9qgHpdkU#{vl?b9iEz@vn->X$q`K^Cs>?ObJLdyuGM|YpJ~^0n4MVxp(Ak+Y=_`F zr9+!((n9wdK<@)hiaon3Ds2I`|B^g&!zwX=jAjW8(6!EUeAV<-Yd;A>8-x503+2^D zEz1+ce_du->3r4~YrQ;%a6%!c(ZYupLtFAw?b6nAKqYwZUkg1@L}_ zH3!hb1>7)SJ48M)u-$~nP`>dX0#tyUL5-ug%!>>|xc#a0ms*ZY$thXWupXcu@Vy-)!6u;(EMy}Qm zqFRR2F}BmFhpZ|rlfLF_S0H#Tu2C$+pA)HYyBe|Jz4>UZTI|VnK-x^^Z>#|c^oZki zgK9@kgIG#{U=4OaygVq=mW~51qF87MlZchRT-jtoFt4=@PR`ZsDhYIw{UM9cHru@{ z_~M-M+avIX-^e{|{0d)P^g+zmOy5gJFe$ZN8OPh1_}jx(gJipl-T@aPBM$_)@haIS zm93b5;Xes`rdgkjLy=6P&J=97#asgHYED``{TLv4p2w0_uQ*H z+mJ|gjuYjbtG8Vm{}}i!A70rgoO6k3|G@A5(=m()WZKi+u%FE!fAo7n~3BDAFFE%dyQ`)pnlfv=Jrv+?q$}`~7wIRwb z&+ReBaFHsMspH-OHN)B4NejGbSuCD7R<2Kr15&OT6#Tg`lA6mrucO1*C7RldLoHx& z*eP!#7^+NZN`7) zg?1l6L4*Z{{xTZ_dPyw(aQn)`mIIPWQm&(vzN?zRX) z;@ypAU!?bZ**7+V*JB6fz0#6d>UykraYOlekagL(0-)QpQOs^Z(^(J3@s1h7`&%5^ zJ`8Oniuq{$JHGy2(!|o9HNo9OJQCispWOOr-dmz1sOez?WC7iL{a71c?H!oOrB@z| zA0rqng5kEKS!1u7l2F0pjcCw9STp{MYGUuiGOZt^XD7bMXmBWo#TYx%ENgsR-@g?! zH`NjtWgg^5O@ryC*MGnW2Kz1(!f>J*LL3|HpodM{D4E9Q=2MX?(PhivZsz=Y&NnJZ zd_N@LSU%!ua@_Hd9oKTgi!aW&;z5p@NYLMPX&u2#8K&2ao_x@SVWTcSGw*BJoY$<; zek`Y+zEP~AFkf5Q4^KGq&W3Qqe#F{(e!)zJDD`$(iHI`2nBmd+TqlS$ck!hGDUC2O z&!5*1NFLiYt{=N%T-qmP`4__NE>Hw%d^qhV9g{(*R1#sUJC+7XpZ3kkpj7`t0O;|p zx2r|Ce$cwGTPP30teCjP*u}*v+o?9SbWP<4)5gozk!zh9Q=nhNtC7eJ$T%NO#a`=Y z8^Wgg!k?1?Mh0OZDALLPWhCk@Q`@2C&<)F2AtdnxoTm^#IJofNg`#-ymiYsIIf_P> zMXvBqWqgZO6&KxJ-a_>hBvF8_-t5V=J8|2gFto8ZO3lv-mmS6rhWornNsbZNzP!mroJvb zB{WhOY!^JJzjo~diYzk)m9Rs;`13THbtR>Vgz}BTW!|Qm?dF}wvnJ?3r-U$&2}Qq6 zp_uY{9^@=Ygo6n-Q#cPVIe?i+@!77}h6ghi`_rcd3Cyj@F|hr>lQ1Jj(#*oUGRR+wi5b z>slBkrdtnXd!e?*us17=YU{u@4-DF-p_)&tqSO&|p-fp8fITVDrF?ODA$t%2O%>ZN z`3Zjp%!8%$NZPegoDRhcQZ3V(!T3AS!YVHqQmoR(WerYB;X@S_|DlIjDR<4PhqfA| z?6c0M2Xnii&1O%oW{Cp}O6BsCXhHk)@ytdPTB)R@71X4*@`Kv|&=@{{8t*%UTC zCR@BVy3)}@NIZMtWcxQ?Y4S0hg%@r2`j+cscW9BkFw_X~eH?|pD)NOpttvjTiK(%{ z-RMm6EngBkYQ3`h+8r)`%YH|0T{JDWWwLJVR6w$&b6CwJYcB}$! zMBK)QvF;D-3kjSDa5<{5X95Khs#kQHz1m9c?;p#>KJT?h0c5xI4==pu(K(gIvn4AE z27SH#!k`8449{D%#)cPqmEonZ*Psl({MQVYMhS^VbBa&;uv^uD_xh3h-JM8wBJ=Ds zb^NfMYf3#xarA?9+7hs1GL{YMTP}y6|5QveQ*b4jJ6gM?>iZ>Sx0n(tEa8QpONH~g zvfE=_^T?HtzDLH9g+UY=79wYkZW1e_Bx^Lq;*l7J0^C7^yq?B9zG)M_dl@b0X)*N4 z?@?>>&rh(f&;X&Az z*xx(bJPZd5dw+hOXO8DDM2LqLRR)*Jp^-_|zE_Iroe(KE2kAbWSJr6m6mT*~KP~%A zLUN+WZK?H&*J(c;;Q&yuJ(_6oA1|6vZ7)c->q=yQB@e=t2?d$UC{@fz=~&NQWWG|)i#`6Owf1RpJ2qLnDRi9Prf|mbgg=a~ zbXd|!ntBB52-J;V)+WA!z*AHS$TW49E3OAjR%IeR2HisQK z@2EHziEgt^-Q{)eN3|UbBzPsf#@10x9y*S*MM%6*?d=8;0w}DNh!XJGZB0{herSRU z8=-m_D-Ws;?13s|F^D5!>Ot3p5#7x`XJLZUE7wtKnCG{Sr`UfBZ|?5ft*VQy6FU=^ z%u`*b)z3RHl7+TNOm}9KhD-PD8RS*o02(cE0Zu^>4;JDn>r5==NX;fwWISGuD%h-dbr+=A z7F7!Mx;gl2ZqG!7egweo;WYyS6ZT!^s5zhYn)kl}cxRBd7ZM@80zQ}spLU^S9*_5T55BYCKN$l&V$0000*sYF_YdB2m``^I-T*#y`C008G*13d)o-249lWT5%X z=x1fL6RW#{r56Ce&insC2gu9@0|0C$PP)4H?>oAAyLmafxr^M@)fI8~bhCGIu>%17 zCvzS+m_1m%piZ6H)iFeeVGZ37=Yb*!ows3pNs?C~tROfVl0R|Yw1fNhZAQV~JTyam zd>H1usSL*(wx2AEkb?M#LiC%yqq(3$6seiIJa|eN*H|f|Ug?<5sNU>F}jD==QC7@(z37nYMQ`2di|2(aq6wOIh%mjzf|30)oogykG$ z1knK=V+M0Amoqs#i?R9}t-V;M3nRSKF2@2d!MCjZ{XpT7$Ui?eNDySq~O-^J~IV zLwEV5`IN2ctuwW*bp~WyydJK2?l)xs0LV)^PwOq^#D9pZd}v5HzK-j;?B6!#Gf^9x zh0~?sQgT_BIK;G)4ImP||vALa} z*f24%w7B>a-mUZ4y3aiL)S>fvyZMRBVTjr>b?d3!0C=V+ ze$A|}MzaS90O;j~U#-*@-0c9%v@;8JF#YOaKekei)DiFQ)B)+Ry$BQXw1Sqs){%-H zth{v9O76SXCB=4A$LM$NT-Q1ue&$klKljfXnA;)M9L~z9-3#QkhD@UAY~EOi#RK^> zq7EP(28=v!#YMiN`AkI(lavf#h&N^;4-GEusC&|@#yrt)OuE$zxc>S$y7>+a8(wXy z{+)xM+wkFrK%{;F`^XD#SZ2b7ysQz=S^;&8a{kIlspGlH1P$FD`Sw3x7KLsX`D?^3 zohlU>)_1o3Rib4ar9^?sM`a96v3s_|Rep>-;kVmal^OkXM689i4J__i82>c*AR;8L z$UVt=gOwrDwDXGSyAOu7l8xMl-C&#Ruow#i88H%102(8ARzYc>*NbmHH#`%Mnt+dYB6WAYf)iQa1pZem@UUf%cJPv z!Mqfr&l!Gk3ACiR#B7&-UHf5SCSv+Sz8SYt0#XN`Ux%nLjrqW<=#!~B7;)jQAr4=V zGA7{2??`p3_~YHkJ)I(KoHk@kzS0b5I7$vBtc_R!*L-PKp;lls_F;3<+Rf>-6tK7K0xH1mo5A?0DeS;EI> z4}#0}A1XXp_{jP_we;bqocn7J1Rpqjy!9dGlfwr$GtHt9%ad4U%dUG}Cb~tYc~#FB znu#Lpwij#sWgsZd(rBM>rEbZp!HHMCSDVsLE;YSX|MW3mRaXJ7U|xfuVC^+o7ScTq zvb~L2SENePC?RiV_{h+Cs9>?;y#|=w6V#{Fv{Z{ygHqGdJ8Lb<)x$D&a0^ zFn(uTnoDx%s@$&oTKBR3V&&3L=Be^J*ScV92OEBe`Y+{Oo9|lQ1vduAov5>L#!PUP zUP4|9@v8OYyZPwmOy*Gbre^S$-PBb%2a93Q@K1$>I^KS0w^Po8tg$-|{0> zSi{%-*U~huWeF0eds`Oa-g_QT=K{a&NRxZgLKVDgn^ZP`#Ci83TYk0n2&{$BrF>`&! z^7+7x_WIuXev>Y@+~-lVx}jocFU|tbMgb*Z5_Ap>vEka`kLiyN0$)Me;x%th+3i

8)FfWBw;cFkkz;Y! z#ZXA~+SPL9moBZd#~YNG`J8$7g&_WPx!$Ml0r^9nyHO<hK z{cr&zvBT>p5ziLTd8yMuRBlvx6#Y~8$yH(F9fPYzfywJh%}N2{UledMOAV1%J|;Hb z4u2h%?S1>p?4qhqzr1`~FDIPB@)cE+ zSjJ>2%T}jT{KpI_HGY+)+QH7;zHKnJPc^kPS9)+`pr&ss@kTcJ{n-XjC(m4R9WL6? zT=tU1a!Z-BYPFh2z!clUc_!)TN6ckvpWoD7b^T#dx?!GH9?~KiXoL!X*3tL6gFuH` zV}HoD6cxPoYkcFWiG`fyEW!F;bdI3L`Pet*d{g{s=RuGCLy%V}IMIVUD-IcFc$ZtU&fo{~!&l$vUasMBpIY*YK(Y*+Gi zXz-S%S&`YU**`Po&2Q5L>+yq^qnm<3&HIY$Kc*fxQ%^L$woW~ydua5-{)gSs-J=?+ zW_j$V)q~U{*Qa=6SC5SzhHnffEMi=B;|7SNhDabuuifG5x!ii1L-v#9ROWmb zmra}(bJq)4T&1$kQiVBhPWobk%H~+cF8f|`xFqMSlev?rpYr+Z#^j{r1czKZ{AD#&P#3gfJ2dNj&W+p%@}B#4 z`|Rz?t>#-pPj)_g?^I7M@tS`&&#bul-1V>bU$xVBVD`uq?F(n5AGxaP(=C)hH|iJa-t2|x5YHM{ zerP^E{q>XlE7ZB&FOM?%>kgGUDq{FFX)ocNE>l8ALVq-8^jfZphN|kkrsv7(af$Bm zi($!J{?mff{&M~cav=vl*2afM(?|2ucGBLpxxT`k{B2*mSTRNHBnr2F^;dvB+kJGj z(c$;Y?-IFi_MFM$E0IvCGsnZKy$2&DNAE7adw0gjkWM+aRgj&c@l6q11B4L(5GVlv zghc=VhiA0&DgfXk4*>kN0swBN0|5MP$U zrTKN5ZLDr={9UKn=3m;y#^xH$Hfcs)-`rgP-*2sxH`mGJb@JBw*4D=6)&`lpL8kfb z4chJ2_Qv+s#`g9md3$qfYjca{cQ$Fa+dG>(+nYN(N zAyan96w222&ek?%YiDO`hvs*;C_7uUM#}EiE@f+XcYBAjy|cSbp=?uVes6o1vQ2B; z-P_*V-QL^Vq3rHZ_I7r6cXnxhe}~qxx4*N$x3f?4RLbriWp|&lw@2Bdc`9XpkFvi{ zp|w-@clT&U-QC~c-KXwSX?C!;f3QcT?$Is|Xm+@NaIjDFhcx@==;-L=E`CE-3+?d|R3*wd^@9!TF5D*v`7!(xr>eZ{@ z;NXyukkHW3u&}W3@bK5KUq?hlL`FtNMMXtNN5{m(pwZ~q*w{C3-n@PL7K6dW#l^+P z$0sBtBqk;%B_$;%C%=354vWR6q@<*#rlzH(rKhK7WMpJ!W@cq&WoKvS^qprEj@u&AgAhr<;Y7nhWjeE9I;eI>6_u5h zRaI5h)zvjMHMO<11OlP1uCBhm{`2S04Gj&Ajg3uBP0h{CEiEmrt*vcsZSC#t9UUE= zot<4>UEST?U%q@H5{W%MJ-xlXU%!6s>+9?9?;jW#7#tiN8X6iN9v&GP866${_U+r) z*x2{)-+%o0K_ZdH$H#yE{5df(F*!LoH8u6?*RSd6>6w|C+1c6Ozkkoo&CSoxFDxu9 zE-o%DEiErEudJ;6`SWLWb@lJxziVr2>+9oO0gM-7v!+-z&9UUDVA0MBboSdGXo}HalGv=iN08)UvdfI0GlfRyB1Payr z7z^Hb^w2pi!&_PDb*wCq_YNbw#i;Ow%0hJ+Vk*$)FEKL0b>8x!VcO=&tafPgm#+N_ zk2KeNlE36AyiM?$N$?8s^{SCkEvc31Pfn&HrI&&+xX3)SS;GuU%sIj}c8arvL=p%g zun-J|LY3lYO1%Agp1|QyT)7UC{1J=w%q_+uI#y~HuTs2kAwCc6U`+ezHgpK{?QH_EqIU}~r?(`oDrFrwV-i1NHn zcq{?BBveQpfPU%CPNu?&cbARW(W)!Rs=P9zSW8sF)RY}Gs$mWL28IKtOul^HHnZXR zEET!U7kcUiCkYf{VHWACJ&t&<0jTOY?LkNLQC@n4Tw{@#2rNP%Vk1^g#o;)pzW*>G zROrsKovQF#@2deqMcBE=U{ zRe7C^u!x}rw1l7zW=7B!15*)dHi7DklD&+-1{IVmL{CgkUn3&Q&UdC`jjtpkFc+Dj zxb>ST+iv}Pu>s&m()gAuo!c4TwhzWkh*A$xaMj19X5&tAaVB~%?qLSt)>Bva=A#HR z(n=gND^L2SpAP-39Ezg-4pHj1w-@De(Ucq+9|x0Ic0$0R1z?ntq&_~yhG-)DWwM;N zb8?I|vO!kr)n@{1zUqN!H7N*H|Ja_KW4P*H_9KWK3vXz9o{BA6zX_F-^U!Mz{363h zss3H^GrK~w%VwvroLY2C$p z{0MZzQ(@OpEfb&|gvi>S=4l~p0W4NSm>E`xZ#+45-+BhcVPM3`&{KzH#3s3F3yrQV zCy?rP)4gWMh5_51U?EmLXg~tW7mR_tN$LfYb<>NpJ^XLQyd9j}xKQy8DWm}-I$~gH zX#+FTU)Ebd@RnDxZ5={l*ZROFw2@7Z`g25~>>)pbwk%Xvp1_CN&Q8Wk;7&9m5J{4i z5XqDjDl$0Bew(BkneFu~6;Zr8-30d1x6#HbD8&ClR)r<`7W3Icp|GI$3eTcpdXRf# zYCT|E41t7%!*Q>u(|bNcGtxMv^2g#DDxI_^A`^P-RE0bx5zay-u@gaff^bjj)|_bd zBb19Zgvjl*Z%+$9y@8p8LKu=a;QhC43$|1dFO0=~lFi&aQjs|6;my@A<{%z3F#Bo@ z(Tgo+g>rMDvrC{3_V~D}M{A(;mK*vXv2fKKErh@w+vP)diwmNt6l6sTj}CexHRA(0 z$}#Jr69jQbhRqhkZBsMh;x1!z(I*Flljof)^swY&D6a-@e=GYTaL!KlT6>R~q=Wda zE)j`%0U6bT=^?Of^c?xrxDVk;YFxukZWvzyEqm}4kTX^$RG+{;7a(lnP1jn}5Ge9? z)WS}7G1#lM#poj`8#PT{xybJbCj_=la4;kx5TdFd_xziiP=*7lLceE%X5m-t$r-aP zO|3+e1lS4!UG(ZCFf;Kd2#VWNadsV$_s${74ti{Q(|--f%}DVa3IZ^|M1zT=nO=q$ z6T6p$I@iXD7H?TFRpdD6lKY1rU>tVm)W7UJyJL-ZzKg7|_zL*JPDm!AlMa*Ue$STG zxn&wzs)VqR>B+Y3mL_GQ|NNU&6^9)JFVn&w$ltG+?+%NW!XeVD@^!VY&QJkiHZl?` zh{>eSGGW}vUebJinJkWPMdS1{nLxU!Ul9853d&YSf(UX?GJ1d^dgmbY;Oe2}d`U2= zY)l8@2_9Qb0z(BqY#k_P8=TWqlxudek*H<(AR%zSs_GSD#f(gBUwHuy<&J-sL-fP}Rr%$NL+KM!a5d zLb2H!Dsge3dHSYauZ!Kp`I>0oyFMgr%oLN8^=@WYw>I zIT~C(^dcL6B#{F<^TG0!RH;>3k zwF)#~@ijC<4H2!h6?j$oZHIams7XEdzks&(kd zEqT*JuIs~}C=Xedem^|yxh(CYB9wqrq3$}(GW6E@)<8VVNnPO+M+@8TBGt-7C;H}8 z1p8eSD#z=ZgLvwULeM$+;q)2>NF_GIOGDVBY~`LfjygWB*EFq0rcwqttR8)QfA$0j zjoNzlac}YnaUYISkB6)J-3<4CpNv304hkvXtM2|RLt>jd+5SAMDf}L0Jf@cRdRJCL zt4CFuFj1TAoU8fDfEC1J3WZt*`LQHB|#M<2x&*>qQf2Z^w zISdaCX`EW1+Vx2!r1XW=uCBQ}0(M3Lh5x?F_`2Y#1fC8e51;0z+XAL%pyg7xXY#;6h}HbvdfSJxgDt^?(u1fo2MG793~P^d zqp#ERofB3d2F#Fkdjl-fA8SW@FCRYv;tbYw%dn6 zO2I+=_rTFfNW~sy1x{xr%fwG(mCgiYPELzIw+>$OII#xylse%6LzaG*2U%MxWdL|Q z$xSZ_|2EuA8H3IpjDZ0&xbK+!y7cF(zNN_nXuqdgv7VyQ80{;NypgiK6WXMhoAVzy^lxsv;|`^> zvVG(%R3(ew2!fPJ=CzrX2~NA00IEhurzvjBetT=e*g4`G%9Ur4x(@CdAfZE zi@+_a4U4=62q}H)2*TsMxmKe{AYXs7`U@5jk^2__Le7!gNg#+y2?2zd?`*GfzZtHj z^QezHo3J1cN~xBKiJ-!w-9yTKFeGPn4#=w$9}Faq&xScJM}eZ^Ja}(+ysfy10D=f{ z84zr<9kAUqC1!98DRpO#21YvI2WttMGqbwSqTWAblWOX+w)704auqQOE9>81&TBvo z24ps~#9_bDrh#07lms;Dr%Q3H6l41s+$V=HBbM>bvxyV3LQC<8bV77l#0PT8S7ZTJ zAp1fgw)FfTN3yvzG_IlL%X@mE8~S}7waP2lNR?Y%Nt9_nJ!G0^@WwBD2G}pf{9~Ph z#wpi&MDBYUq#%5A5Q$H6j731Y26v0hpi>+2zkx#mxsdMr&O);-UE32rS)9pV>>xb! zJ)(N;`bM2v|8Y-xK4xKQXj`g&Eh99EwerutYGz3r- zUhjdj&(neCs4v(eH39p4eEmR7IaU>nFd=Uy{tn}~BJ{N;bQWmtm zH$)(QAYg-MeWU`k5=oQjOJTkTQ>rCqeKF^bf`PR3MyjO5ve;{i8WN%5JmAK zFFpD)4r{}lH+Ld0bvx38i%w3|0bp3d+dC&ej0{S+9bUNZk1+*`3!I%De80IurEvy& zDcjb6SBV}^@Q+FdnZL0a*rk`S>a{B>9cb#?7O$4P7Z!F-K|nzlX&r|L?`KeP_Z|$5 zMRw+q5T4N@A}b*GUxI}M7=Q&O%Y;iM^n3mf&^3tC6fe#1brvHqVHdrM7Eq7Tk9Ud#r+P>XdU*PA*0lVt16q%S%b@rR{gUjp*OOut&CSq zLUk_g?ck_mibi>q<`{R8Nb?G!M{bg0pe6?qydXqT{P8C84vQ+yhKWJ`VzX?1_W1_1FyVv8Fz-$*VeM>n*4G=12}&-JgnqAFl0+{4$#sj zXGcI>B|5Ru(X)@FSK4EDHZN(t-V?a*2-Snb7zQGLW(0r%zZ^NMGQDQpl!M)5fyMxw z9)d0Z`@1V9x$Wz7Eu{CaL>ZF%9<=vEo8P2X7AX>ySY#&s zV!_o*X-p3a^5KM7;j_r?J(%Pj$scjmBqpLcq=S%8^*a zB$@Uy%^~H*G}=(#)Z#OwiYpsDJUK!%KTic|-TpNzXNXz&>4RKA8r}Vf&;fNectj>% zj*-{8Y`;bj67t1xgx&# z<0o)?dwi6Tr-3xro@26Ft?GqidCniWU zc`=2pBGYi>6lZTFW=NgQE9t806+2+);akKSfke{z&Eavj{WEN5jI}!*n{HlOVq)FI zaKdG10Vf#0BMpUXG&SoLgsLcZa!MLNYM-SpaNAgFRW2AXLM`zy-%B4Y7 z$;p#vA6rAQ4AFUf>%D|d(V1sO)S2-{nw+CR87nc#1+@g;e&GuIUtoaUq(QPg5_ECQ zhgkFiLjp+#Bz$vhVOGoeR;{JMYN{G02obr~<#Tl@5dU4RL>z|*J*^?db$3X7{N8i9 z;t>L_I@~X6H%pTPW>JI9(*g?d@PPMT7}cK7GBj956nsZlkz!&%r~7U#e#UUyVkqtb zTjWI+_ZnAeCIi8xRFFtaEH-fGMNJ1cpdVUC@teJr&{IgIsV-iec{QZ;tSrP!H(PJ6 zU4dGsxh+1y*U!f=CT@j!eURUMBj1`&gK-oyx!og|@(q!z2iYt5cl%-(v?^WD_ zDGG`Y-Y+9Ru+hlT`X{`qAah5rXW@tn+Pm@i1x>w3{!>~Z!YKx4{lbG*B^yqV)9l)Y z5B*>Hs|bOvx$uz!&z6mbj?}wvRNe?MDcTE+^A--PCy8i7{)TU{X)$!Gc8NriV8##d z7ibaE?R=Z@FGtu&^*vtXmF9p55))2M?fAeJz5uK`dC790McIJd zb||@$T~V&1Rp1$#P{i^`>xml#`?~uI4jEfZ$^?pJ!yIz~SM#v}@gCqJ7kl~waL!r~ zKI%`S$2}7Yn&R4f*)3+4j!2hJfggqQtc|ET&`LQIT#`O^)4E8kHn6^Q%4N>{yjch;K%R zqe~@T?8N}($(nrGxPjgOt9y-CS~q*vPxh2t3PC*~hf6Q{UlSG_F?G^_a`4UnV`&gi<9UZ@8t~{@MWe2A%s! z_i@&j-Rk_;Tgm#%b`Tq8YiHSe1iir`O^$`1-PadX;)(6<`DWvBG_qJu3kK*T3~rYu zvILV`2sA|xPawVVW}t~E%`qvZNsNSOd5%hfabzhq*lj>@P{C>hscZEtwF`nXuc*|r z8sUIQq|0PvRFsQ&Ri`>;YMk(;JyRee*;)SuPW$ll8(5k0B*#( z6{7rmV-YEoZdmO-D840hkF8ja+{4{J=dLAo-qt2t(jHG2kKenC+87RbB;C$!^zY7#joIVDJC`p;q=GBSPI1xK^3=+vT{3$!F7ka@WlTn3 zsMJcOA<7`9jI;=Q_F5y!$_R+Bf4po>16GK}Dfp}U8ykQU{;mO33UFVbYxB#%@pzl) z=)gr5x(};^#o@ZDT?NV0*9yL4KtY}CPnAE$k6<`OtA{mEk&N9T2mb99XZvoj*T^sPVFVdQ3*bm5 z{f@RRS4<2``mHh_V>rI;AKMp($!-_r%Glo$M4*8fjW#e2#?V-t%{Iy6+*fPN0Pg!u zqr^KlVTye;7c zDuen8BxBZZ3dI0s-3RgkVxp59B6GVM#8T-Z-vl1c-hunM0yWbi2bD6U=-)!f+WbnN zA@Kj)^jwU2#g-J#0=2R7zA&G??+JRKd6sP3{jSb?zbfUtDTX{lTSW|h+X8-o>0U_U z0m5uYbOw&VvHvu1O}9{I|I8Jyg|!QDZrF%7Hs6CXrVm=}J48QaxPKdSbTYT~)0-m} z*!_Ntk6yqUP_(77(sWD4P?WqfanyRJ=5|pvP7C|EZZg&{dkGH~Bw zlf^}X?*NuSr1Zg9Upj2@zYw0gzhh|WZW1Dyxh-tfiCN+j>^A0c$s zW2L853;x%FQ{%gVQt_&cE-2d~JrNaVNY>L-Y%Oy$tMo$1^R+YAcW(#ZD34TD<^4#< zX2lT_!SjIU7f?s1?@Y8r0KiD}g)o^5)VUF!LXtm=N#oQUI!248Ryyei6kv;;nq1>H z+!zkmnRmn*bSLAOetcuMCmX5?C)`=arY`NF z?!OwG2`@PRdsJ~QkEUCk?w0I3INB`>O(qot3z|Y>x>gzKos=;N1CVuJN5rp4*+icK zg(T3^@k|aLqp_DIN)(l1Gd2NG`8Wa|5TI%VO|cnJ(ZP%vm=-RlBrccHA)-GJXhIT3Wt-x^)Tfx_NBYt42*S*L}e@sC6yk4lF%V=m<>efY5FFMgHj zHIKok?RyKrh0DsXZe1{jCfd=h#&-5LIO$~kK=S%s$}?HM;f8D+gecOdHHqrc~W zJA)6MPd0BU=5bgH^=!}6yZ;)0euLpTTt_R{veXMnD=QwIR0|~_sp@PMh!JttR5wLU z9quTd3T(FDEqm|~fSHE|8{iQ7zQtupT)!c-X$ah&7G|a6K7@oQXW4aZae`$;TBsTl zv|_^%nXbr*vtJ&;S8M4i+Y~!Agb9ZN3?*<*Z?;cEECKY^i7_x*V&A|M@IRgHKf1LI zHaumJO7+^GX`rPZGR_6SAh0xV#ZD*4Cc)Rv+Ky^^DyXc;@stJdBYpOSYh1*D0i~S` zhel$9O?Ee*qG}oFIJ+;+@Un(?7jjA~T?gd(Uka8RTovkt~#+d`)g!3zxUmc_1JIx4;lyChsv*08gSo7e-|CT;va8 z!oE|gCT`}6M*jrW3T#Ossk#?fbGzK6E5catmp>Xfc6FgKSNrVJ`1-Eb3@Wehtv>3AME^dNAL&2uo@T3Bm4@@-wL z<947{m`gn_+gK#A#0nrFetkho!pd%0pRZmyh$b_Vc>afi4+usQ!cZK-`IDpL2xL{j zO@HS~H#4oud-*JU>%As9$hOkOW2AQbwm%e9F_+G~LDhO9 zt2H4aAsNMMYxYkeI$o1|{|XZ{{{2}>aQtb>J3>f3Y?ZQfZL_(h6 z>bX7^tw6E0vWINnBn!qX=-9%u8SEl$o}eGFb%Vt(RhH$AD(F3b|LU6$iC$D`d08L2 zGD5GUU$iQ9*Mo@&eoc}p1BeAvj08=9J6x_GA$)Yr)6qp=fY#Uaan2jr1fom*j2L&6 z)XRF^{5y*+SY%tsr3JOw=_vVl8Z(%j$;;uZvmP4Cx2z}8n69b(u_SJgIU-bEK0_)} z^OQS_3nW0K)0uJNK-bB&MOw(L*o7-LbI!q8e@lH6ux&kSB_ZUEOYUAsbPQ~pUBM&` z8L9l>$wyL;5VRsQQX3GVUsCpL;au1tj#n#6BwIo z*X9yE^_E>rbY}J!rVu36(V|HcFdU++Hu#@g+~NR-#=ag`9XW$V=V7rG&rxxbDhRHw zxBL+Qvz?{>G=l}L%^ri@`6xtM8Ym_&ktlUu=qfbD(~kwFV#Nrw69}6wGBvm{l}^)= zaKAQEB^Yb(u;ugF=4y^NuKhd3(rfp7VQUP80NENy0W^Gq4EdML!+E8u2+(skmLvo1|@LnmgWVId`fJhm``-eyi5n(-^S( zXxIK*Q>g*MwYOeIIwL;F!Z?mD3?t!!-#01||={)j!L;b$eVNKsM(Y-X+4Au{7+Biu7+F9Z_- zW}Pp5EpmwkFhjJwoS@1et~J-k0SCq*VUricCNhBx4CYCn7CI8I>om_qi`GWHDSQHN zzWSsZT03nBvk;kfw|wHtsp7wHxF933%e^D+JJ5sQ+d|MsV7d66@|QgLgE z?!XDaQU0E}Fn^Ct1K1Yo!&G`*f9me)Nwt-lIDoTVcQAJxW0LnKy=C^L^~viLAyL8h zNTXW&d+;Om%&uDE-57>@?_JS&Ds7pH8OlFwU--;H_G^+vF-iSakN!Yok@;NohF{Z> zuy1rd+h3Tz`Dm%?>2+03DaC3g5yCP=e1c@0swzbW8Ba10P)O}AuWp+&lMGk~$j|Qx z4nxfSU(9Zba@3G8kg0#1ZZIm4e^Gp-mQ!p{5W}jV@?pTEJ8=nAdx3scv`!X{;4?G0 zKgvu;f1NzF1eJ(faus7Ri}}IYsl@kF?|JC7UV-C%WM4H6Jb%XjT&|Q=P6{Ipmb1{g z3Mv&UO@1)qZGTyt>0C_-uov#xP-YARg8`#;66ld^I!Pz>c-OF#w$rth_vaYOjV*v> zcCD=>B%0#Y%Ni@6cTpsO_onU}TCF7v;JBgmxT;}F`_Z{o@m`Zx(=>#BQDHD|-PRKm z;lJ8gt{};%c+wsf=I}KYbC;bm-h-YogA6RXclA5~{YnZKd zeB&iZnCpX|nMOYo0QB-B(h@6)o(eG{OMxvDwFOR=@Bo>9z<9LPz}mP<`6#F(NRjID zbJ3`!wU;8G*vj!RmwVXMtgCbm~c5k$_vsW*4W_mU0&ddwYWkNecqp1 zqzMDU!i^9ifSnl9}P#)D5Yo+ajAe`=wl?&df9kw%GoxZg)`4b3! zkJcKqN#9syqVK)PsFr+d<-Xb+!%MdoYAdZ~gp+^vfi-tDS@3xvegHbC0JH#(*Ec_kufWzKNOy zHaj^37~ihd33HUx zhc3Ai&+YX$K;z`1mS5#r{^Vr@Kf5sbf zy2|M3RWmy~Q#Y#Nf541ZMk%9F01uoDJEi13JXTu=Cd@_9@sIpYw?P(6iJ|{9-d49y z+qK80B~z}=Xpbk1)lMy`8I48i&Mz} zB*bh`tLW&61HlJda}iWTK|Y-+zW+7xHrSiFlMlaVlf9Cy`3k@{{){OJLEDYQ{BQoZ z4;MlxEX+tm!Kl8za#_)dWibj|&G5SEX%me2S;o(gw)4)*>w5U{Fu>tn915g%k^-Q8 N?%p=mE7!4l{U4be=c)hz literal 0 HcmV?d00001 diff --git a/dist/themes/assets/subtle_symphony.png b/dist/themes/assets/subtle_symphony.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd9f57da91fd56c11f3c17298e283de5cfb977a GIT binary patch literal 19141 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 U!whh-x&QzG07*qoM6N<$f{LYPegFUf literal 0 HcmV?d00001 diff --git a/dist/themes/gourmet/gourmet.css b/dist/themes/gourmet/gourmet.css new file mode 100644 index 0000000..d36ccc4 --- /dev/null +++ b/dist/themes/gourmet/gourmet.css @@ -0,0 +1,195 @@ +@import url(https://fonts.googleapis.com/css?family=Bad+Script); +@import url(https://fonts.googleapis.com/css?family=Indie+Flower); +@import url(https://fonts.googleapis.com/css?family=Architects+Daughter); +@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro); +.eg-theme-gourmet { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ } + .eg-theme-gourmet .eg-slideshow { + background-image: url("~eagle.js/dist/themes/assets/handmadepaper.png"); } + .eg-theme-gourmet .eg-slideshow h3 { + margin-top: 0.3em; + margin-bottom: -0.1em; } + .eg-theme-gourmet .eg-slide-content, + .eg-theme-gourmet .subslide { + width: 25em; + max-width: 80%; + margin: 0 auto; } + .eg-theme-gourmet h1, + .eg-theme-gourmet h2, + .eg-theme-gourmet h3, + .eg-theme-gourmet h4 { + font-family: "Bad Script", cursive; + font-weight: normal; } + .eg-theme-gourmet p, + .eg-theme-gourmet li, + .eg-theme-gourmet .button { + font-family: "Architects Daughter", cursive; + font-weight: normal; + font-size: 0.7em; + line-height: 2em; } + .eg-theme-gourmet h3 em { + text-decoration: underline; + font-style: normal; } + .eg-theme-gourmet .hljs-comment, + .eg-theme-gourmet .hljs-quote { + color: #8e908c; } + .eg-theme-gourmet .hljs-variable, + .eg-theme-gourmet .hljs-template-variable, + .eg-theme-gourmet .hljs-tag, + .eg-theme-gourmet .hljs-name, + .eg-theme-gourmet .hljs-selector-id, + .eg-theme-gourmet .hljs-selector-class, + .eg-theme-gourmet .hljs-regexp, + .eg-theme-gourmet .hljs-deletion { + color: #c82829; } + .eg-theme-gourmet .hljs-number, + .eg-theme-gourmet .hljs-built_in, + .eg-theme-gourmet .hljs-builtin-name, + .eg-theme-gourmet .hljs-literal, + .eg-theme-gourmet .hljs-type, + .eg-theme-gourmet .hljs-params, + .eg-theme-gourmet .hljs-meta, + .eg-theme-gourmet .hljs-link { + color: #f5871f; } + .eg-theme-gourmet .hljs-attribute { + color: #eab700; } + .eg-theme-gourmet .hljs-string, + .eg-theme-gourmet .hljs-symbol, + .eg-theme-gourmet .hljs-bullet, + .eg-theme-gourmet .hljs-addition { + color: #718c00; } + .eg-theme-gourmet .hljs-title, + .eg-theme-gourmet .hljs-section { + color: #4271ae; } + .eg-theme-gourmet .hljs-keyword, + .eg-theme-gourmet .hljs-selector-tag { + color: #8959a8; } + .eg-theme-gourmet .hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; } + .eg-theme-gourmet .hljs-emphasis { + font-style: italic; } + .eg-theme-gourmet .hljs-strong { + font-weight: bold; } + .eg-theme-gourmet .code-box { + box-shadow: 0 0 0.25em 0.25em #ddd; } + .eg-theme-gourmet .eg-code-comment { + font-weight: bold; + color: #dd4321; } + .eg-theme-gourmet .eg-modal { + background-color: rgba(0, 0, 0, 0.9); + color: white; } + .eg-theme-gourmet .eg-modal h1, + .eg-theme-gourmet .eg-modal h2, + .eg-theme-gourmet .eg-modal h3, + .eg-theme-gourmet .eg-modal h4 { + font-weight: bold; } + .eg-theme-gourmet .eg-modal img { + box-shadow: 0 0 4px 4px #888; } + .eg-theme-gourmet .button { + background: none; + cursor: pointer; + border: none; + color: black; + border-radius: 2em; + border: 1px solid gray; + padding: 0.5em 0.5em; + text-align: center; + text-decoration: none; + margin-top: 1em; + display: inline-block; } + .eg-theme-gourmet .eg-switch .slider { + background-color: #ccc; } + .eg-theme-gourmet .eg-switch .slider.checked { + background-color: #ffb014; } + .eg-theme-gourmet .eg-switch .unchecked { + color: #bbbbbb; } + .eg-theme-gourmet .eg-radio { + margin-right: 1em; } + .eg-theme-gourmet .eg-radio .radio { + background: none; + border: 2px solid black; + border-spacing: 2px; + z-index: 1; } + .eg-theme-gourmet .eg-radio .radiodot { + background-color: #ffb014; } + .eg-theme-gourmet .shadowbox { + box-shadow: 0 0 4px 4px #bbb; } + .eg-theme-gourmet .embedded-slideshow .eg-slideshow { + box-shadow: 0 0 4px 4px #bbb; } + .eg-theme-gourmet .half { + width: 50%; } + +.eg-slideshow { + margin-top: 0; + background-attachment: fixed; + position: absolute; + height: 100%; + width: 100%; + overflow: hidden; } + .eg-slideshow h1, + .eg-slideshow h2, + .eg-slideshow h3 { + text-align: center; } + .eg-slideshow h1 { + font-size: 4em; + margin-bottom: 0.1em; } + .eg-slideshow h2 { + font-size: 3em; } + .eg-slideshow h3 { + font-size: 2em; + margin-bottom: 0.5em; } + .eg-slideshow h4 { + font-size: 1.5em; } + .eg-slideshow input { + font-size: 1em; } + .eg-slideshow strong { + font-weight: bold; } + .eg-slideshow .small { + font-size: 0.65em; } + .eg-slideshow img { + max-width: 80%; } + .eg-slideshow .eg-code-block { + font-family: "Source Code Pro", Courier; + text-align: left; + font-size: 0.5em; } + .eg-slideshow .eg-code-block .box { + padding: 1em; } + .eg-slideshow .eg-slide { + height: 100%; + overflow: hidden; + width: 100%; + position: absolute; } + .eg-slideshow .subslide { + position: absolute; + margin-top: -1em; } + .eg-slideshow .inline { + display: inline-block; } + .eg-slideshow .center { + text-align: center; } + .eg-slideshow .center p { + text-align: center; } + .eg-slideshow .quarter { + display: inline-block; + width: 50%; + margin-bottom: 0.5em; } + .eg-slideshow .eg-switch .switch { + margin-right: 0.5em; } + .eg-slideshow .eg-radio .radiobutton { + margin-right: 0.5em; } + .eg-slideshow .eg-triggered-message { + position: absolute; } + .eg-slideshow .button { + font-size: 1em; } + .eg-slideshow .nodisplay { + display: none; } diff --git a/dist/themes/refuel-dark/refuel-dark.css b/dist/themes/refuel-dark/refuel-dark.css new file mode 100644 index 0000000..67dffaf --- /dev/null +++ b/dist/themes/refuel-dark/refuel-dark.css @@ -0,0 +1,201 @@ +@import url(https://fonts.googleapis.com/css?family=Comfortaa); +@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro); +.reveal { + color: #aababa; } + +h1, +h2, +h3, +h4, +p, +li { + font-family: "Comfortaa", cursive; } + +img { + border: none !important; + box-shadow: none !important; } + +p { + text-align: left; } + +.rf-slideshow { + background-image: url("~eagle.js/dist/themes/assets/subtle_symphony.png"); + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ } + .rf-slideshow .rf-slide-content { + width: 25em; + max-width: 80%; + margin: 0 auto; } + .rf-slideshow h1, + .rf-slideshow h2, + .rf-slideshow h3, + .rf-slideshow h4, + .rf-slideshow p, + .rf-slideshow li, + .rf-slideshow .button { + font-family: "Pompiere", cursive; + font-weight: normal; } + .rf-slideshow h3 em { + text-decoration: underline; + font-style: normal; } + .rf-slideshow .hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; } + .rf-slideshow .hljs-comment, + .rf-slideshow .hljs-quote { + color: #93a1a1; } + .rf-slideshow .hljs-keyword, + .rf-slideshow .hljs-selector-tag, + .rf-slideshow .hljs-addition { + color: #859900; } + .rf-slideshow .hljs-number, + .rf-slideshow .hljs-string, + .rf-slideshow .hljs-meta .hljs-meta-string, + .rf-slideshow .hljs-literal, + .rf-slideshow .hljs-doctag, + .rf-slideshow .hljs-regexp { + color: #2aa198; } + .rf-slideshow .hljs-title, + .rf-slideshow .hljs-section, + .rf-slideshow .hljs-name, + .rf-slideshow .hljs-selector-id, + .rf-slideshow .hljs-selector-class { + color: #268bd2; } + .rf-slideshow .hljs-attribute, + .rf-slideshow .hljs-attr, + .rf-slideshow .hljs-variable, + .rf-slideshow .hljs-template-variable, + .rf-slideshow .hljs-class .hljs-title, + .rf-slideshow .hljs-type { + color: #b58900; } + .rf-slideshow .hljs-symbol, + .rf-slideshow .hljs-bullet, + .rf-slideshow .hljs-subst, + .rf-slideshow .hljs-meta, + .rf-slideshow .hljs-meta .hljs-keyword, + .rf-slideshow .hljs-selector-attr, + .rf-slideshow .hljs-selector-pseudo, + .rf-slideshow .hljs-link { + color: #cb4b16; } + .rf-slideshow .hljs-built_in, + .rf-slideshow .hljs-deletion { + color: #dc322f; } + .rf-slideshow .hljs-formula { + background: #eee8d5; } + .rf-slideshow .hljs-emphasis { + font-style: italic; } + .rf-slideshow .hljs-strong { + font-weight: bold; } + .rf-slideshow .rf-code-comment { + font-weight: bold; + color: #dd4321; } + .rf-slideshow .rf-modal { + background-color: rgba(0, 0, 0, 0.9); + color: white; } + .rf-slideshow .rf-modal h1, + .rf-slideshow .rf-modal h2, + .rf-slideshow .rf-modal h3, + .rf-slideshow .rf-modal h4 { + font-weight: bold; } + .rf-slideshow .rf-modal img { + box-shadow: 0 0 4px 4px #888; } + .rf-slideshow .button { + background: none; + cursor: pointer; + border: none; + color: black; + border-radius: 2em; + border: 1px solid gray; + padding: 0.5em 0.5em; + text-align: center; + text-decoration: none; + margin-top: 1em; + display: inline-block; } + .rf-slideshow .rf-switch .slider { + background-color: #ccc; } + .rf-slideshow .rf-switch .slider.checked { + background-color: #ffb014; } + .rf-slideshow .rf-switch .unchecked { + color: #bbbbbb; } + .rf-slideshow .rf-radio { + margin-right: 1em; } + .rf-slideshow .rf-radio .radio { + background: none; + border: 2px solid black; + border-spacing: 2px; + z-index: 1; } + .rf-slideshow .rf-radio .radiodot { + background-color: #ffb014; } + .rf-slideshow .shadowbox { + box-shadow: 0 0 4px 4px #bbb; } + +.eg-slideshow { + margin-top: 0; + background-attachment: fixed; + position: absolute; + height: 100%; + width: 100%; + overflow: hidden; } + .eg-slideshow h1, + .eg-slideshow h2, + .eg-slideshow h3 { + text-align: center; } + .eg-slideshow h1 { + font-size: 4em; + margin-bottom: 0.1em; } + .eg-slideshow h2 { + font-size: 3em; } + .eg-slideshow h3 { + font-size: 2em; + margin-bottom: 0.5em; } + .eg-slideshow h4 { + font-size: 1.5em; } + .eg-slideshow input { + font-size: 1em; } + .eg-slideshow strong { + font-weight: bold; } + .eg-slideshow .small { + font-size: 0.65em; } + .eg-slideshow img { + max-width: 80%; } + .eg-slideshow .eg-code-block { + font-family: "Source Code Pro", Courier; + text-align: left; + font-size: 0.5em; } + .eg-slideshow .eg-code-block .box { + padding: 1em; } + .eg-slideshow .eg-slide { + height: 100%; + overflow: hidden; + width: 100%; + position: absolute; } + .eg-slideshow .subslide { + position: absolute; + margin-top: -1em; } + .eg-slideshow .inline { + display: inline-block; } + .eg-slideshow .center { + text-align: center; } + .eg-slideshow .center p { + text-align: center; } + .eg-slideshow .quarter { + display: inline-block; + width: 50%; + margin-bottom: 0.5em; } + .eg-slideshow .eg-switch .switch { + margin-right: 0.5em; } + .eg-slideshow .eg-radio .radiobutton { + margin-right: 0.5em; } + .eg-slideshow .eg-triggered-message { + position: absolute; } + .eg-slideshow .button { + font-size: 1em; } + .eg-slideshow .nodisplay { + display: none; }