var app = (function () { 'use strict'; function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } var internal = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, '__esModule', { value: true }); function noop() {} const identity = x => x; function assign(tar, src) { for (const k in src) tar[k] = src[k]; return tar; } function is_promise(value) { return value && typeof value.then === 'function'; } function add_location(element, file, line, column, char) { element.__svelte_meta = { loc: { file, line, column, char } }; } function run(fn) { return fn(); } function blank_object() { return Object.create(null); } function run_all(fns) { fns.forEach(run); } function is_function(thing) { return typeof thing === 'function'; } function safe_not_equal(a, b) { return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); } function not_equal(a, b) { return a != a ? b == b : a !== b; } function validate_store(store, name) { if (!store || typeof store.subscribe !== 'function') { throw new Error(`'${name}' is not a store with a 'subscribe' method`); } } function subscribe(component, store, callback) { const unsub = store.subscribe(callback); component.$$.on_destroy.push(unsub.unsubscribe ? () => unsub.unsubscribe() : unsub); } function create_slot(definition, ctx, fn) { if (definition) { const slot_ctx = get_slot_context(definition, ctx, fn); return definition[0](slot_ctx); } } function get_slot_context(definition, ctx, fn) { return definition[1] ? assign({}, assign(ctx.$$scope.ctx, definition[1](fn ? fn(ctx) : {}))) : ctx.$$scope.ctx; } function get_slot_changes(definition, ctx, changed, fn) { return definition[1] ? assign({}, assign(ctx.$$scope.changed || {}, definition[1](fn ? fn(changed) : {}))) : ctx.$$scope.changed || {}; } function exclude_internal_props(props) { const result = {}; for (const k in props) if (k[0] !== '$') result[k] = props[k]; return result; } const tasks = new Set(); let running = false; function run_tasks() { tasks.forEach(task => { if (!task[0](window.performance.now())) { tasks.delete(task); task[1](); } }); running = tasks.size > 0; if (running) requestAnimationFrame(run_tasks); } function clear_loops() { // for testing... tasks.forEach(task => tasks.delete(task)); running = false; } function loop(fn) { let task; if (!running) { running = true; requestAnimationFrame(run_tasks); } return { promise: new Promise(fulfil => { tasks.add(task = [fn, fulfil]); }), abort() { tasks.delete(task); } }; } function append(target, node) { target.appendChild(node); } function insert(target, node, anchor) { target.insertBefore(node, anchor || null); } function detach(node) { node.parentNode.removeChild(node); } function detach_between(before, after) { while (before.nextSibling && before.nextSibling !== after) { before.parentNode.removeChild(before.nextSibling); } } function detach_before(after) { while (after.previousSibling) { after.parentNode.removeChild(after.previousSibling); } } function detach_after(before) { while (before.nextSibling) { before.parentNode.removeChild(before.nextSibling); } } function destroy_each(iterations, detaching) { for (let i = 0; i < iterations.length; i += 1) { if (iterations[i]) iterations[i].d(detaching); } } function element(name) { return document.createElement(name); } function object_without_properties(obj, exclude) { const target = {}; for (const k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) { target[k] = obj[k]; } } return target; } function svg_element(name) { return document.createElementNS('http://www.w3.org/2000/svg', name); } function text(data) { return document.createTextNode(data); } function space() { return text(' '); } function empty() { return text(''); } function listen(node, event, handler, options) { node.addEventListener(event, handler, options); return () => node.removeEventListener(event, handler, options); } function prevent_default(fn) { return function(event) { event.preventDefault(); return fn.call(this, event); }; } function stop_propagation(fn) { return function(event) { event.stopPropagation(); return fn.call(this, event); }; } function attr(node, attribute, value) { if (value == null) node.removeAttribute(attribute); else node.setAttribute(attribute, value); } function set_attributes(node, attributes) { for (const key in attributes) { if (key === 'style') { node.style.cssText = attributes[key]; } else if (key in node) { node[key] = attributes[key]; } else { attr(node, key, attributes[key]); } } } function set_custom_element_data(node, prop, value) { if (prop in node) { node[prop] = value; } else { attr(node, prop, value); } } function xlink_attr(node, attribute, value) { node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value); } function get_binding_group_value(group) { const value = []; for (let i = 0; i < group.length; i += 1) { if (group[i].checked) value.push(group[i].__value); } return value; } function to_number(value) { return value === '' ? undefined : +value; } function time_ranges_to_array(ranges) { const array = []; for (let i = 0; i < ranges.length; i += 1) { array.push({ start: ranges.start(i), end: ranges.end(i) }); } return array; } function children(element) { return Array.from(element.childNodes); } function claim_element(nodes, name, attributes, svg) { for (let i = 0; i < nodes.length; i += 1) { const node = nodes[i]; if (node.nodeName === name) { for (let j = 0; j < node.attributes.length; j += 1) { const attribute = node.attributes[j]; if (!attributes[attribute.name]) node.removeAttribute(attribute.name); } return nodes.splice(i, 1)[0]; // TODO strip unwanted attributes } } return svg ? svg_element(name) : element(name); } function claim_text(nodes, data) { for (let i = 0; i < nodes.length; i += 1) { const node = nodes[i]; if (node.nodeType === 3) { node.data = data; return nodes.splice(i, 1)[0]; } } return text(data); } function set_data(text, data) { data = '' + data; if (text.data !== data) text.data = data; } function set_input_type(input, type) { try { input.type = type; } catch (e) { // do nothing } } function set_style(node, key, value) { node.style.setProperty(key, value); } function select_option(select, value) { for (let i = 0; i < select.options.length; i += 1) { const option = select.options[i]; if (option.__value === value) { option.selected = true; return; } } } function select_options(select, value) { for (let i = 0; i < select.options.length; i += 1) { const option = select.options[i]; option.selected = ~value.indexOf(option.__value); } } function select_value(select) { const selected_option = select.querySelector(':checked') || select.options[0]; return selected_option && selected_option.__value; } function select_multiple_value(select) { return [].map.call(select.querySelectorAll(':checked'), option => option.__value); } function add_resize_listener(element, fn) { if (getComputedStyle(element).position === 'static') { element.style.position = 'relative'; } const object = document.createElement('object'); object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;'); object.type = 'text/html'; let win; object.onload = () => { win = object.contentDocument.defaultView; win.addEventListener('resize', fn); }; if (/Trident/.test(navigator.userAgent)) { element.appendChild(object); object.data = 'about:blank'; } else { object.data = 'about:blank'; element.appendChild(object); } return { cancel: () => { win && win.removeEventListener && win.removeEventListener('resize', fn); element.removeChild(object); } }; } function toggle_class(element, name, toggle) { element.classList[toggle ? 'add' : 'remove'](name); } function custom_event(type, detail) { const e = document.createEvent('CustomEvent'); e.initCustomEvent(type, false, false, detail); return e; } let stylesheet; let active = 0; let current_rules = {}; // https://github.com/darkskyapp/string-hash/blob/master/index.js function hash(str) { let hash = 5381; let i = str.length; while (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i); return hash >>> 0; } function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) { const step = 16.666 / duration; let keyframes = '{\n'; for (let p = 0; p <= 1; p += step) { const t = a + (b - a) * ease(p); keyframes += p * 100 + `%{${fn(t, 1 - t)}}\n`; } const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`; const name = `__svelte_${hash(rule)}_${uid}`; if (!current_rules[name]) { if (!stylesheet) { const style = element('style'); document.head.appendChild(style); stylesheet = style.sheet; } current_rules[name] = true; stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); } const animation = node.style.animation || ''; node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`; active += 1; return name; } function delete_rule(node, name) { node.style.animation = (node.style.animation || '') .split(', ') .filter(name ? anim => anim.indexOf(name) < 0 // remove specific animation : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations ) .join(', '); if (name && !--active) clear_rules(); } function clear_rules() { requestAnimationFrame(() => { if (active) return; let i = stylesheet.cssRules.length; while (i--) stylesheet.deleteRule(i); current_rules = {}; }); } function create_animation(node, from, fn, params) { if (!from) return noop; const to = node.getBoundingClientRect(); if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom) return noop; const { delay = 0, duration = 300, easing = identity, start: start_time = window.performance.now() + delay, end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params); let running = true; let started = false; let name; const css_text = node.style.cssText; function start() { if (css) { if (delay) node.style.cssText = css_text; // TODO create delayed animation instead? name = create_rule(node, 0, 1, duration, 0, easing, css); } started = true; } function stop() { if (css) delete_rule(node, name); running = false; } loop(now => { if (!started && now >= start_time) { start(); } if (started && now >= end) { tick(1, 0); stop(); } if (!running) { return false; } if (started) { const p = now - start_time; const t = 0 + 1 * easing(p / duration); tick(t, 1 - t); } return true; }); if (delay) { if (css) node.style.cssText += css(0, 1); } else { start(); } tick(0, 1); return stop; } function fix_position(node) { const style = getComputedStyle(node); if (style.position !== 'absolute' && style.position !== 'fixed') { const { width, height } = style; const a = node.getBoundingClientRect(); node.style.position = 'absolute'; node.style.width = width; node.style.height = height; const b = node.getBoundingClientRect(); if (a.left !== b.left || a.top !== b.top) { const style = getComputedStyle(node); const transform = style.transform === 'none' ? '' : style.transform; node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`; } } } function set_current_component(component) { exports.current_component = component; } function get_current_component() { if (!exports.current_component) throw new Error(`Function called outside component initialization`); return exports.current_component; } function beforeUpdate(fn) { get_current_component().$$.before_render.push(fn); } function onMount(fn) { get_current_component().$$.on_mount.push(fn); } function afterUpdate(fn) { get_current_component().$$.after_render.push(fn); } function onDestroy(fn) { get_current_component().$$.on_destroy.push(fn); } function createEventDispatcher() { const component = exports.current_component; return (type, detail) => { const callbacks = component.$$.callbacks[type]; if (callbacks) { // TODO are there situations where events could be dispatched // in a server (non-DOM) environment? const event = custom_event(type, detail); callbacks.slice().forEach(fn => { fn.call(component, event); }); } }; } function setContext(key, context) { get_current_component().$$.context.set(key, context); } function getContext(key) { return get_current_component().$$.context.get(key); } // TODO figure out if we still want to support // shorthand events, or if we want to implement // a real bubbling mechanism function bubble(component, event) { const callbacks = component.$$.callbacks[event.type]; if (callbacks) { callbacks.slice().forEach(fn => fn(event)); } } const dirty_components = []; const intros = { enabled: false }; const resolved_promise = Promise.resolve(); let update_scheduled = false; const binding_callbacks = []; const render_callbacks = []; const flush_callbacks = []; function schedule_update() { if (!update_scheduled) { update_scheduled = true; resolved_promise.then(flush); } } function tick() { schedule_update(); return resolved_promise; } function add_binding_callback(fn) { binding_callbacks.push(fn); } function add_render_callback(fn) { render_callbacks.push(fn); } function add_flush_callback(fn) { flush_callbacks.push(fn); } function flush() { const seen_callbacks = new Set(); do { // first, call beforeUpdate functions // and update components while (dirty_components.length) { const component = dirty_components.shift(); set_current_component(component); update(component.$$); } while (binding_callbacks.length) binding_callbacks.shift()(); // then, once components are updated, call // afterUpdate functions. This may cause // subsequent updates... while (render_callbacks.length) { const callback = render_callbacks.pop(); if (!seen_callbacks.has(callback)) { callback(); // ...so guard against infinite loops seen_callbacks.add(callback); } } } while (dirty_components.length); while (flush_callbacks.length) { flush_callbacks.pop()(); } update_scheduled = false; } function update($$) { if ($$.fragment) { $$.update($$.dirty); run_all($$.before_render); $$.fragment.p($$.dirty, $$.ctx); $$.dirty = null; $$.after_render.forEach(add_render_callback); } } let promise; function wait() { if (!promise) { promise = Promise.resolve(); promise.then(() => { promise = null; }); } return promise; } function dispatch(node, direction, kind) { node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`)); } let outros; function group_outros() { outros = { remaining: 0, callbacks: [] }; } function check_outros() { if (!outros.remaining) { run_all(outros.callbacks); } } function on_outro(callback) { outros.callbacks.push(callback); } function create_in_transition(node, fn, params) { let config = fn(node, params); let running = false; let animation_name; let task; let uid = 0; function cleanup() { if (animation_name) delete_rule(node, animation_name); } function go() { const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; if (css) animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++); tick$$1(0, 1); const start_time = window.performance.now() + delay; const end_time = start_time + duration; if (task) task.abort(); running = true; task = loop(now => { if (running) { if (now >= end_time) { tick$$1(1, 0); cleanup(); return running = false; } if (now >= start_time) { const t = easing((now - start_time) / duration); tick$$1(t, 1 - t); } } return running; }); } let started = false; return { start() { if (started) return; delete_rule(node); if (typeof config === 'function') { config = config(); wait().then(go); } else { go(); } }, invalidate() { started = false; }, end() { if (running) { cleanup(); running = false; } } }; } function create_out_transition(node, fn, params) { let config = fn(node, params); let running = true; let animation_name; const group = outros; group.remaining += 1; function go() { const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; if (css) animation_name = create_rule(node, 1, 0, duration, delay, easing, css); const start_time = window.performance.now() + delay; const end_time = start_time + duration; loop(now => { if (running) { if (now >= end_time) { tick$$1(0, 1); if (!--group.remaining) { // this will result in `end()` being called, // so we don't need to clean up here run_all(group.callbacks); } return false; } if (now >= start_time) { const t = easing((now - start_time) / duration); tick$$1(1 - t, t); } } return running; }); } if (typeof config === 'function') { wait().then(() => { config = config(); go(); }); } else { go(); } return { end(reset) { if (reset && config.tick) { config.tick(1, 0); } if (running) { if (animation_name) delete_rule(node, animation_name); running = false; } } }; } function create_bidirectional_transition(node, fn, params, intro) { let config = fn(node, params); let t = intro ? 0 : 1; let running_program = null; let pending_program = null; let animation_name = null; function clear_animation() { if (animation_name) delete_rule(node, animation_name); } function init(program, duration) { const d = program.b - t; duration *= Math.abs(d); return { a: t, b: program.b, d, duration, start: program.start, end: program.start + duration, group: program.group }; } function go(b) { const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; const program = { start: window.performance.now() + delay, b }; if (!b) { program.group = outros; outros.remaining += 1; } if (running_program) { pending_program = program; } else { // if this is an intro, and there's a delay, we need to do // an initial tick and/or apply CSS animation immediately if (css) { clear_animation(); animation_name = create_rule(node, t, b, duration, delay, easing, css); } if (b) tick$$1(0, 1); running_program = init(program, duration); add_render_callback(() => dispatch(node, b, 'start')); loop(now => { if (pending_program && now > pending_program.start) { running_program = init(pending_program, duration); pending_program = null; dispatch(node, running_program.b, 'start'); if (css) { clear_animation(); animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css); } } if (running_program) { if (now >= running_program.end) { tick$$1(t = running_program.b, 1 - t); dispatch(node, running_program.b, 'end'); if (!pending_program) { // we're done if (running_program.b) { // intro — we can tidy up immediately clear_animation(); } else { // outro — needs to be coordinated if (!--running_program.group.remaining) run_all(running_program.group.callbacks); } } running_program = null; } else if (now >= running_program.start) { const p = now - running_program.start; t = running_program.a + running_program.d * easing(p / running_program.duration); tick$$1(t, 1 - t); } } return !!(running_program || pending_program); }); } } return { run(b) { if (typeof config === 'function') { wait().then(() => { config = config(); go(b); }); } else { go(b); } }, end() { clear_animation(); running_program = pending_program = null; } }; } function handle_promise(promise, info) { const token = info.token = {}; function update(type, index, key, value) { if (info.token !== token) return; info.resolved = key && { [key]: value }; const child_ctx = assign(assign({}, info.ctx), info.resolved); const block = type && (info.current = type)(child_ctx); if (info.block) { if (info.blocks) { info.blocks.forEach((block, i) => { if (i !== index && block) { group_outros(); on_outro(() => { block.d(1); info.blocks[i] = null; }); block.o(1); check_outros(); } }); } else { info.block.d(1); } block.c(); if (block.i) block.i(1); block.m(info.mount(), info.anchor); flush(); } info.block = block; if (info.blocks) info.blocks[index] = block; } if (is_promise(promise)) { promise.then(value => { update(info.then, 1, info.value, value); }, error => { update(info.catch, 2, info.error, error); }); // if we previously had a then/catch block, destroy it if (info.current !== info.pending) { update(info.pending, 0); return true; } } else { if (info.current !== info.then) { update(info.then, 1, info.value, promise); return true; } info.resolved = { [info.value]: promise }; } } function destroy_block(block, lookup) { block.d(1); lookup.delete(block.key); } function outro_and_destroy_block(block, lookup) { on_outro(() => { destroy_block(block, lookup); }); block.o(1); } function fix_and_outro_and_destroy_block(block, lookup) { block.f(); outro_and_destroy_block(block, lookup); } function update_keyed_each(old_blocks, changed, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) { let o = old_blocks.length; let n = list.length; let i = o; const old_indexes = {}; while (i--) old_indexes[old_blocks[i].key] = i; const new_blocks = []; const new_lookup = new Map(); const deltas = new Map(); i = n; while (i--) { const child_ctx = get_context(ctx, list, i); const key = get_key(child_ctx); let block = lookup.get(key); if (!block) { block = create_each_block(key, child_ctx); block.c(); } else if (dynamic) { block.p(changed, child_ctx); } new_lookup.set(key, new_blocks[i] = block); if (key in old_indexes) deltas.set(key, Math.abs(i - old_indexes[key])); } const will_move = new Set(); const did_move = new Set(); function insert(block) { if (block.i) block.i(1); block.m(node, next); lookup.set(block.key, block); next = block.first; n--; } while (o && n) { const new_block = new_blocks[n - 1]; const old_block = old_blocks[o - 1]; const new_key = new_block.key; const old_key = old_block.key; if (new_block === old_block) { // do nothing next = new_block.first; o--; n--; } else if (!new_lookup.has(old_key)) { // remove old block destroy(old_block, lookup); o--; } else if (!lookup.has(new_key) || will_move.has(new_key)) { insert(new_block); } else if (did_move.has(old_key)) { o--; } else if (deltas.get(new_key) > deltas.get(old_key)) { did_move.add(new_key); insert(new_block); } else { will_move.add(old_key); o--; } } while (o--) { const old_block = old_blocks[o]; if (!new_lookup.has(old_block.key)) destroy(old_block, lookup); } while (n) insert(new_blocks[n - 1]); return new_blocks; } function measure(blocks) { const rects = {}; let i = blocks.length; while (i--) rects[blocks[i].key] = blocks[i].node.getBoundingClientRect(); return rects; } function get_spread_update(levels, updates) { const update = {}; const to_null_out = {}; const accounted_for = { $$scope: 1 }; let i = levels.length; while (i--) { const o = levels[i]; const n = updates[i]; if (n) { for (const key in o) { if (!(key in n)) to_null_out[key] = 1; } for (const key in n) { if (!accounted_for[key]) { update[key] = n[key]; accounted_for[key] = 1; } } levels[i] = n; } else { for (const key in o) { accounted_for[key] = 1; } } } for (const key in to_null_out) { if (!(key in update)) update[key] = undefined; } return update; } const invalid_attribute_name_character = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 // https://infra.spec.whatwg.org/#noncharacter function spread(args) { const attributes = Object.assign({}, ...args); let str = ''; Object.keys(attributes).forEach(name => { if (invalid_attribute_name_character.test(name)) return; const value = attributes[name]; if (value === undefined) return; if (value === true) str += " " + name; const escaped = String(value) .replace(/"/g, '"') .replace(/'/g, '''); str += " " + name + "=" + JSON.stringify(escaped); }); return str; } const escaped = { '"': '"', "'": ''', '&': '&', '<': '<', '>': '>' }; function escape(html) { return String(html).replace(/["'&<>]/g, match => escaped[match]); } function each(items, fn) { let str = ''; for (let i = 0; i < items.length; i += 1) { str += fn(items[i], i); } return str; } const missing_component = { $$render: () => '' }; function validate_component(component, name) { if (!component || !component.$$render) { if (name === 'svelte:component') name += ' this={...}'; throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`); } return component; } function debug(file, line, column, values) { console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console console.log(values); // eslint-disable-line no-console return ''; } let on_destroy; function create_ssr_component(fn) { function $$render(result, props, bindings, slots) { const parent_component = exports.current_component; const $$ = { on_destroy, context: new Map(parent_component ? parent_component.$$.context : []), // these will be immediately discarded on_mount: [], before_render: [], after_render: [], callbacks: blank_object() }; set_current_component({ $$ }); const html = fn(result, props, bindings, slots); set_current_component(parent_component); return html; } return { render: (props = {}, options = {}) => { on_destroy = []; const result = { head: '', css: new Set() }; const html = $$render(result, props, {}, options); run_all(on_destroy); return { html, css: { code: Array.from(result.css).map(css => css.code).join('\n'), map: null // TODO }, head: result.head }; }, $$render }; } function get_store_value(store) { let value; store.subscribe(_ => value = _)(); return value; } function bind(component, name, callback) { if (component.$$.props.indexOf(name) === -1) return; component.$$.bound[name] = callback; callback(component.$$.ctx[name]); } function mount_component(component, target, anchor) { const { fragment, on_mount, on_destroy, after_render } = component.$$; fragment.m(target, anchor); // onMount happens after the initial afterUpdate. Because // afterUpdate callbacks happen in reverse order (inner first) // we schedule onMount callbacks before afterUpdate callbacks add_render_callback(() => { const new_on_destroy = on_mount.map(run).filter(is_function); if (on_destroy) { on_destroy.push(...new_on_destroy); } else { // Edge case - component was destroyed immediately, // most likely as a result of a binding initialising run_all(new_on_destroy); } component.$$.on_mount = []; }); after_render.forEach(add_render_callback); } function destroy(component, detaching) { if (component.$$) { run_all(component.$$.on_destroy); component.$$.fragment.d(detaching); // TODO null out other refs, including component.$$ (but need to // preserve final state?) component.$$.on_destroy = component.$$.fragment = null; component.$$.ctx = {}; } } function make_dirty(component, key) { if (!component.$$.dirty) { dirty_components.push(component); schedule_update(); component.$$.dirty = {}; } component.$$.dirty[key] = true; } function init(component, options, instance, create_fragment, not_equal$$1, prop_names) { const parent_component = exports.current_component; set_current_component(component); const props = options.props || {}; const $$ = component.$$ = { fragment: null, ctx: null, // state props: prop_names, update: noop, not_equal: not_equal$$1, bound: blank_object(), // lifecycle on_mount: [], on_destroy: [], before_render: [], after_render: [], context: new Map(parent_component ? parent_component.$$.context : []), // everything else callbacks: blank_object(), dirty: null }; let ready = false; $$.ctx = instance ? instance(component, props, (key, value) => { if ($$.ctx && not_equal$$1($$.ctx[key], $$.ctx[key] = value)) { if ($$.bound[key]) $$.bound[key](value); if (ready) make_dirty(component, key); } }) : props; $$.update(); ready = true; run_all($$.before_render); $$.fragment = create_fragment($$.ctx); if (options.target) { if (options.hydrate) { $$.fragment.l(children(options.target)); } else { $$.fragment.c(); } if (options.intro && component.$$.fragment.i) component.$$.fragment.i(); mount_component(component, options.target, options.anchor); flush(); } set_current_component(parent_component); } if (typeof HTMLElement !== 'undefined') { exports.SvelteElement = class extends HTMLElement { constructor() { super(); this.attachShadow({ mode: 'open' }); } connectedCallback() { for (const key in this.$$.slotted) { this.appendChild(this.$$.slotted[key]); } } attributeChangedCallback(attr$$1, oldValue, newValue) { this[attr$$1] = newValue; } $destroy() { destroy(this, true); this.$destroy = noop; } $on(type, callback) { // TODO should this delegate to addEventListener? const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); callbacks.push(callback); return () => { const index = callbacks.indexOf(callback); if (index !== -1) callbacks.splice(index, 1); }; } $set() { // overridden by instance, if it has props } }; } class SvelteComponent { $destroy() { destroy(this, true); this.$destroy = noop; } $on(type, callback) { const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); callbacks.push(callback); return () => { const index = callbacks.indexOf(callback); if (index !== -1) callbacks.splice(index, 1); }; } $set() { // overridden by instance, if it has props } } class SvelteComponentDev extends SvelteComponent { constructor(options) { if (!options || (!options.target && !options.$$inline)) { throw new Error(`'target' is a required option`); } super(); } $destroy() { super.$destroy(); this.$destroy = () => { console.warn(`Component was already destroyed`); // eslint-disable-line no-console }; } } exports.create_animation = create_animation; exports.fix_position = fix_position; exports.handle_promise = handle_promise; exports.append = append; exports.insert = insert; exports.detach = detach; exports.detach_between = detach_between; exports.detach_before = detach_before; exports.detach_after = detach_after; exports.destroy_each = destroy_each; exports.element = element; exports.object_without_properties = object_without_properties; exports.svg_element = svg_element; exports.text = text; exports.space = space; exports.empty = empty; exports.listen = listen; exports.prevent_default = prevent_default; exports.stop_propagation = stop_propagation; exports.attr = attr; exports.set_attributes = set_attributes; exports.set_custom_element_data = set_custom_element_data; exports.xlink_attr = xlink_attr; exports.get_binding_group_value = get_binding_group_value; exports.to_number = to_number; exports.time_ranges_to_array = time_ranges_to_array; exports.children = children; exports.claim_element = claim_element; exports.claim_text = claim_text; exports.set_data = set_data; exports.set_input_type = set_input_type; exports.set_style = set_style; exports.select_option = select_option; exports.select_options = select_options; exports.select_value = select_value; exports.select_multiple_value = select_multiple_value; exports.add_resize_listener = add_resize_listener; exports.toggle_class = toggle_class; exports.custom_event = custom_event; exports.destroy_block = destroy_block; exports.outro_and_destroy_block = outro_and_destroy_block; exports.fix_and_outro_and_destroy_block = fix_and_outro_and_destroy_block; exports.update_keyed_each = update_keyed_each; exports.measure = measure; exports.set_current_component = set_current_component; exports.beforeUpdate = beforeUpdate; exports.onMount = onMount; exports.afterUpdate = afterUpdate; exports.onDestroy = onDestroy; exports.createEventDispatcher = createEventDispatcher; exports.setContext = setContext; exports.getContext = getContext; exports.bubble = bubble; exports.clear_loops = clear_loops; exports.loop = loop; exports.dirty_components = dirty_components; exports.intros = intros; exports.schedule_update = schedule_update; exports.tick = tick; exports.add_binding_callback = add_binding_callback; exports.add_render_callback = add_render_callback; exports.add_flush_callback = add_flush_callback; exports.flush = flush; exports.get_spread_update = get_spread_update; exports.invalid_attribute_name_character = invalid_attribute_name_character; exports.spread = spread; exports.escaped = escaped; exports.escape = escape; exports.each = each; exports.missing_component = missing_component; exports.validate_component = validate_component; exports.debug = debug; exports.create_ssr_component = create_ssr_component; exports.get_store_value = get_store_value; exports.group_outros = group_outros; exports.check_outros = check_outros; exports.on_outro = on_outro; exports.create_in_transition = create_in_transition; exports.create_out_transition = create_out_transition; exports.create_bidirectional_transition = create_bidirectional_transition; exports.noop = noop; exports.identity = identity; exports.assign = assign; exports.is_promise = is_promise; exports.add_location = add_location; exports.run = run; exports.blank_object = blank_object; exports.run_all = run_all; exports.is_function = is_function; exports.safe_not_equal = safe_not_equal; exports.not_equal = not_equal; exports.validate_store = validate_store; exports.subscribe = subscribe; exports.create_slot = create_slot; exports.get_slot_context = get_slot_context; exports.get_slot_changes = get_slot_changes; exports.exclude_internal_props = exclude_internal_props; exports.bind = bind; exports.mount_component = mount_component; exports.init = init; exports.SvelteComponent = SvelteComponent; exports.SvelteComponentDev = SvelteComponentDev; }); unwrapExports(internal); var internal_1 = internal.current_component; var internal_2 = internal.SvelteElement; var internal_3 = internal.create_animation; var internal_4 = internal.fix_position; var internal_5 = internal.handle_promise; var internal_6 = internal.append; var internal_7 = internal.insert; var internal_8 = internal.detach; var internal_9 = internal.detach_between; var internal_10 = internal.detach_before; var internal_11 = internal.detach_after; var internal_12 = internal.destroy_each; var internal_13 = internal.element; var internal_14 = internal.object_without_properties; var internal_15 = internal.svg_element; var internal_16 = internal.text; var internal_17 = internal.space; var internal_18 = internal.empty; var internal_19 = internal.listen; var internal_20 = internal.prevent_default; var internal_21 = internal.stop_propagation; var internal_22 = internal.attr; var internal_23 = internal.set_attributes; var internal_24 = internal.set_custom_element_data; var internal_25 = internal.xlink_attr; var internal_26 = internal.get_binding_group_value; var internal_27 = internal.to_number; var internal_28 = internal.time_ranges_to_array; var internal_29 = internal.children; var internal_30 = internal.claim_element; var internal_31 = internal.claim_text; var internal_32 = internal.set_data; var internal_33 = internal.set_input_type; var internal_34 = internal.set_style; var internal_35 = internal.select_option; var internal_36 = internal.select_options; var internal_37 = internal.select_value; var internal_38 = internal.select_multiple_value; var internal_39 = internal.add_resize_listener; var internal_40 = internal.toggle_class; var internal_41 = internal.custom_event; var internal_42 = internal.destroy_block; var internal_43 = internal.outro_and_destroy_block; var internal_44 = internal.fix_and_outro_and_destroy_block; var internal_45 = internal.update_keyed_each; var internal_46 = internal.measure; var internal_47 = internal.set_current_component; var internal_48 = internal.beforeUpdate; var internal_49 = internal.onMount; var internal_50 = internal.afterUpdate; var internal_51 = internal.onDestroy; var internal_52 = internal.createEventDispatcher; var internal_53 = internal.setContext; var internal_54 = internal.getContext; var internal_55 = internal.bubble; var internal_56 = internal.clear_loops; var internal_57 = internal.loop; var internal_58 = internal.dirty_components; var internal_59 = internal.intros; var internal_60 = internal.schedule_update; var internal_61 = internal.tick; var internal_62 = internal.add_binding_callback; var internal_63 = internal.add_render_callback; var internal_64 = internal.add_flush_callback; var internal_65 = internal.flush; var internal_66 = internal.get_spread_update; var internal_67 = internal.invalid_attribute_name_character; var internal_68 = internal.spread; var internal_69 = internal.escaped; var internal_70 = internal.escape; var internal_71 = internal.each; var internal_72 = internal.missing_component; var internal_73 = internal.validate_component; var internal_74 = internal.debug; var internal_75 = internal.create_ssr_component; var internal_76 = internal.get_store_value; var internal_77 = internal.group_outros; var internal_78 = internal.check_outros; var internal_79 = internal.on_outro; var internal_80 = internal.create_in_transition; var internal_81 = internal.create_out_transition; var internal_82 = internal.create_bidirectional_transition; var internal_83 = internal.noop; var internal_84 = internal.identity; var internal_85 = internal.assign; var internal_86 = internal.is_promise; var internal_87 = internal.add_location; var internal_88 = internal.run; var internal_89 = internal.blank_object; var internal_90 = internal.run_all; var internal_91 = internal.is_function; var internal_92 = internal.safe_not_equal; var internal_93 = internal.not_equal; var internal_94 = internal.validate_store; var internal_95 = internal.subscribe; var internal_96 = internal.create_slot; var internal_97 = internal.get_slot_context; var internal_98 = internal.get_slot_changes; var internal_99 = internal.exclude_internal_props; var internal_100 = internal.bind; var internal_101 = internal.mount_component; var internal_102 = internal.init; var internal_103 = internal.SvelteComponent; var internal_104 = internal.SvelteComponentDev; /* src/Home/App.svelte generated by Svelte v3.2.1 */ const file = "src/Home/App.svelte"; function create_fragment(ctx) { var div, h1, t1, h20, t3, p0, t5, h21, t7, p1, t8, a0, t10, h22, t12, ul, li0, a1, t14, li1, a2; return { c: function create() { div = internal_13("div"); h1 = internal_13("h1"); h1.textContent = "Home Page"; t1 = internal_17(); h20 = internal_13("h2"); h20.textContent = "About"; t3 = internal_17(); p0 = internal_13("p"); p0.textContent = "OpenAuth is a Service to provide simple Authentication to a veriaty of Applications.\n With a simple to use API and different Strategies, it can be easily integrated\n into most Applications."; t5 = internal_17(); h21 = internal_13("h2"); h21.textContent = "QickLinks"; t7 = internal_17(); p1 = internal_13("p"); t8 = internal_16("If you want to manage your Account, click "); a0 = internal_13("a"); a0.textContent = "here"; t10 = internal_17(); h22 = internal_13("h2"); h22.textContent = "Applications using OpenAuth"; t12 = internal_17(); ul = internal_13("ul"); li0 = internal_13("li"); a1 = internal_13("a"); a1.textContent = "EBook Store and Reader"; t14 = internal_17(); li1 = internal_13("li"); a2 = internal_13("a"); a2.textContent = "Secure and Simple Notes application"; internal_87(h1, file, 16, 3, 181); internal_87(h20, file, 18, 3, 204); internal_87(p0, file, 19, 3, 222); internal_87(h21, file, 25, 3, 444); a0.href = "user.html"; internal_87(a0, file, 27, 48, 518); internal_87(p1, file, 26, 3, 466); internal_87(h22, file, 30, 3, 559); a1.href = "https://ebook.stamm.me"; a1.className = "svelte-o924iy"; internal_87(a1, file, 33, 10, 617); li0.className = "svelte-o924iy"; internal_87(li0, file, 33, 6, 613); a2.href = "https://notes.hibas123.de"; a2.className = "svelte-o924iy"; internal_87(a2, file, 34, 10, 692); li1.className = "svelte-o924iy"; internal_87(li1, file, 34, 6, 688); internal_87(ul, file, 32, 3, 602); div.className = "main svelte-o924iy"; internal_87(div, file, 15, 0, 159); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); }, m: function mount(target, anchor) { internal_7(target, div, anchor); internal_6(div, h1); internal_6(div, t1); internal_6(div, h20); internal_6(div, t3); internal_6(div, p0); internal_6(div, t5); internal_6(div, h21); internal_6(div, t7); internal_6(div, p1); internal_6(p1, t8); internal_6(p1, a0); internal_6(div, t10); internal_6(div, h22); internal_6(div, t12); internal_6(div, ul); internal_6(ul, li0); internal_6(li0, a1); internal_6(ul, t14); internal_6(ul, li1); internal_6(li1, a2); }, p: internal_83, i: internal_83, o: internal_83, d: function destroy(detaching) { if (detaching) { internal_8(div); } } }; } class App extends internal_104 { constructor(options) { super(options); internal_102(this, options, null, create_fragment, internal_92, []); } } var app = new App({ target: document.getElementById("content") }); return app; }()); //# sourceMappingURL=bundle.js.map