(function(l, r) { if (l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (window.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.head.appendChild(r) })(window.document); var app = (function () { 'use strict'; function noop() { } function assign(tar, src) { // @ts-ignore for (const k in src) tar[k] = src[k]; return tar; } 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 subscribe(store, ...callbacks) { if (store == null) { return noop; } const unsub = store.subscribe(...callbacks); return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; } function get_store_value(store) { let value; subscribe(store, _ => value = _)(); return value; } function create_slot(definition, ctx, $$scope, fn) { if (definition) { const slot_ctx = get_slot_context(definition, ctx, $$scope, fn); return definition[0](slot_ctx); } } function get_slot_context(definition, ctx, $$scope, fn) { return definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; } function get_slot_changes(definition, $$scope, dirty, fn) { if (definition[2] && fn) { const lets = definition[2](fn(dirty)); if ($$scope.dirty === undefined) { return lets; } if (typeof lets === 'object') { const merged = []; const len = Math.max($$scope.dirty.length, lets.length); for (let i = 0; i < len; i += 1) { merged[i] = $$scope.dirty[i] | lets[i]; } return merged; } return $$scope.dirty | lets; } return $$scope.dirty; } function null_to_empty(value) { return value == null ? '' : value; } 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 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 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 stop_propagation(fn) { return function (event) { event.stopPropagation(); // @ts-ignore return fn.call(this, event); }; } function attr(node, attribute, value) { if (value == null) node.removeAttribute(attribute); else if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value); } function children(element) { return Array.from(element.childNodes); } function set_style(node, key, value, important) { node.style.setProperty(key, value, important ? 'important' : ''); } function custom_event(type, detail) { const e = document.createEvent('CustomEvent'); e.initCustomEvent(type, false, false, detail); return e; } class HtmlTag { constructor(html, anchor = null) { this.e = element('div'); this.a = anchor; this.u(html); } m(target, anchor = null) { for (let i = 0; i < this.n.length; i += 1) { insert(target, this.n[i], anchor); } this.t = target; } u(html) { this.e.innerHTML = html; this.n = Array.from(this.e.childNodes); } p(html) { this.d(); this.u(html); this.m(this.t, this.a); } d() { this.n.forEach(detach); } } let current_component; function set_current_component(component) { current_component = component; } function get_current_component() { if (!current_component) throw new Error(`Function called outside component initialization`); return current_component; } function onMount(fn) { get_current_component().$$.on_mount.push(fn); } const dirty_components = []; const binding_callbacks = []; const render_callbacks = []; const flush_callbacks = []; const resolved_promise = Promise.resolve(); let update_scheduled = false; function schedule_update() { if (!update_scheduled) { update_scheduled = true; resolved_promise.then(flush); } } function add_render_callback(fn) { render_callbacks.push(fn); } let flushing = false; const seen_callbacks = new Set(); function flush() { if (flushing) return; flushing = true; do { // first, call beforeUpdate functions // and update components for (let i = 0; i < dirty_components.length; i += 1) { const component = dirty_components[i]; set_current_component(component); update(component.$$); } dirty_components.length = 0; while (binding_callbacks.length) binding_callbacks.pop()(); // then, once components are updated, call // afterUpdate functions. This may cause // subsequent updates... for (let i = 0; i < render_callbacks.length; i += 1) { const callback = render_callbacks[i]; if (!seen_callbacks.has(callback)) { // ...so guard against infinite loops seen_callbacks.add(callback); callback(); } } render_callbacks.length = 0; } while (dirty_components.length); while (flush_callbacks.length) { flush_callbacks.pop()(); } update_scheduled = false; flushing = false; seen_callbacks.clear(); } function update($$) { if ($$.fragment !== null) { $$.update(); run_all($$.before_update); const dirty = $$.dirty; $$.dirty = [-1]; $$.fragment && $$.fragment.p($$.ctx, dirty); $$.after_update.forEach(add_render_callback); } } const outroing = new Set(); let outros; function transition_in(block, local) { if (block && block.i) { outroing.delete(block); block.i(local); } } function transition_out(block, local, detach, callback) { if (block && block.o) { if (outroing.has(block)) return; outroing.add(block); outros.c.push(() => { outroing.delete(block); if (callback) { if (detach) block.d(1); callback(); } }); block.o(local); } } const globals = (typeof window !== 'undefined' ? window : global); function create_component(block) { block && block.c(); } function mount_component(component, target, anchor) { const { fragment, on_mount, on_destroy, after_update } = component.$$; fragment && fragment.m(target, anchor); // onMount happens before the initial afterUpdate 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_update.forEach(add_render_callback); } function destroy_component(component, detaching) { const $$ = component.$$; if ($$.fragment !== null) { run_all($$.on_destroy); $$.fragment && $$.fragment.d(detaching); // TODO null out other refs, including component.$$ (but need to // preserve final state?) $$.on_destroy = $$.fragment = null; $$.ctx = []; } } function make_dirty(component, i) { if (component.$$.dirty[0] === -1) { dirty_components.push(component); schedule_update(); component.$$.dirty.fill(0); } component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); } function init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) { const parent_component = current_component; set_current_component(component); const prop_values = options.props || {}; const $$ = component.$$ = { fragment: null, ctx: null, // state props, update: noop, not_equal, bound: blank_object(), // lifecycle on_mount: [], on_destroy: [], before_update: [], after_update: [], context: new Map(parent_component ? parent_component.$$.context : []), // everything else callbacks: blank_object(), dirty }; let ready = false; $$.ctx = instance ? instance(component, prop_values, (i, ret, ...rest) => { const value = rest.length ? rest[0] : ret; if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { if ($$.bound[i]) $$.bound[i](value); if (ready) make_dirty(component, i); } return ret; }) : []; $$.update(); ready = true; run_all($$.before_update); // `false` as a special case of no DOM component $$.fragment = create_fragment ? create_fragment($$.ctx) : false; if (options.target) { if (options.hydrate) { const nodes = children(options.target); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion $$.fragment && $$.fragment.l(nodes); nodes.forEach(detach); } else { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion $$.fragment && $$.fragment.c(); } if (options.intro) transition_in(component.$$.fragment); mount_component(component, options.target, options.anchor); flush(); } set_current_component(parent_component); } class SvelteComponent { $destroy() { destroy_component(this, 1); 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 } } function dispatch_dev(type, detail) { document.dispatchEvent(custom_event(type, Object.assign({ version: '3.20.1' }, detail))); } function append_dev(target, node) { dispatch_dev("SvelteDOMInsert", { target, node }); append(target, node); } function insert_dev(target, node, anchor) { dispatch_dev("SvelteDOMInsert", { target, node, anchor }); insert(target, node, anchor); } function detach_dev(node) { dispatch_dev("SvelteDOMRemove", { node }); detach(node); } function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) { const modifiers = options === true ? ["capture"] : options ? Array.from(Object.keys(options)) : []; if (has_prevent_default) modifiers.push('preventDefault'); if (has_stop_propagation) modifiers.push('stopPropagation'); dispatch_dev("SvelteDOMAddEventListener", { node, event, handler, modifiers }); const dispose = listen(node, event, handler, options); return () => { dispatch_dev("SvelteDOMRemoveEventListener", { node, event, handler, modifiers }); dispose(); }; } function attr_dev(node, attribute, value) { attr(node, attribute, value); if (value == null) dispatch_dev("SvelteDOMRemoveAttribute", { node, attribute }); else dispatch_dev("SvelteDOMSetAttribute", { node, attribute, value }); } function set_data_dev(text, data) { data = '' + data; if (text.data === data) return; dispatch_dev("SvelteDOMSetData", { node: text, data }); text.data = data; } function validate_each_argument(arg) { if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) { let msg = '{#each} only iterates over array-like objects.'; if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) { msg += ' You can use a spread to convert this iterable into an array.'; } throw new Error(msg); } } function validate_slots(name, slot, keys) { for (const slot_key of Object.keys(slot)) { if (!~keys.indexOf(slot_key)) { console.warn(`<${name}> received an unexpected slot "${slot_key}".`); } } } 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 }; } $capture_state() { } $inject_state() { } } /* src/components/Panel.svelte generated by Svelte v3.20.1 */ const file = "src/components/Panel.svelte"; function create_fragment(ctx) { let div; let current; const default_slot_template = /*$$slots*/ ctx[1].default; const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[0], null); const block = { c: function create() { div = element("div"); if (default_slot) default_slot.c(); attr_dev(div, "class", "mui-col-md-4"); add_location(div, file, 0, 0, 0); }, 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) { insert_dev(target, div, anchor); if (default_slot) { default_slot.m(div, null); } current = true; }, p: function update(ctx, [dirty]) { if (default_slot) { if (default_slot.p && dirty & /*$$scope*/ 1) { default_slot.p(get_slot_context(default_slot_template, ctx, /*$$scope*/ ctx[0], null), get_slot_changes(default_slot_template, /*$$scope*/ ctx[0], dirty, null)); } } }, i: function intro(local) { if (current) return; transition_in(default_slot, local); current = true; }, o: function outro(local) { transition_out(default_slot, local); current = false; }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (default_slot) default_slot.d(detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment.name, type: "component", source: "", ctx }); return block; } function instance($$self, $$props, $$invalidate) { const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Panel", $$slots, ['default']); $$self.$set = $$props => { if ("$$scope" in $$props) $$invalidate(0, $$scope = $$props.$$scope); }; return [$$scope, $$slots]; } class Panel extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance, create_fragment, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Panel", options, id: create_fragment.name }); } } /* src/components/Header.svelte generated by Svelte v3.20.1 */ const file$1 = "src/components/Header.svelte"; function create_fragment$1(ctx) { let div1; let div0; const block = { c: function create() { div1 = element("div"); div0 = element("div"); div0.textContent = "Slack"; attr_dev(div0, "class", "mui-container-fluid"); add_location(div0, file$1, 1, 4, 53); attr_dev(div1, "class", "mui-appbar mui--appbar-line-height"); add_location(div1, file$1, 0, 0, 0); }, 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) { insert_dev(target, div1, anchor); append_dev(div1, div0); }, p: noop, i: noop, o: noop, d: function destroy(detaching) { if (detaching) detach_dev(div1); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$1.name, type: "component", source: "", ctx }); return block; } function instance$1($$self, $$props) { const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(`
was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Header", $$slots, []); return []; } class Header extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$1, create_fragment$1, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Header", options, id: create_fragment$1.name }); } } /* src/components/Events.svelte generated by Svelte v3.20.1 */ const file$2 = "src/components/Events.svelte"; function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[3] = list[i]; return child_ctx; } // (40:8) {#each events as event} function create_each_block(ctx) { let div; let t0_value = /*event*/ ctx[3].label + ""; let t0; let t1; let t2_value = /*event*/ ctx[3].days + ""; let t2; let t3; let t4_value = /*event*/ ctx[3].weeks + ""; let t4; let t5; const block = { c: function create() { div = element("div"); t0 = text(t0_value); t1 = space(); t2 = text(t2_value); t3 = text(" days / "); t4 = text(t4_value); t5 = text(" weeks\n "); attr_dev(div, "class", "mui-col-xs-12 mui-col-md-3"); add_location(div, file$2, 40, 12, 938); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); append_dev(div, t0); append_dev(div, t1); append_dev(div, t2); append_dev(div, t3); append_dev(div, t4); append_dev(div, t5); }, p: function update(ctx, dirty) { if (dirty & /*events*/ 1 && t0_value !== (t0_value = /*event*/ ctx[3].label + "")) set_data_dev(t0, t0_value); if (dirty & /*events*/ 1 && t2_value !== (t2_value = /*event*/ ctx[3].days + "")) set_data_dev(t2, t2_value); if (dirty & /*events*/ 1 && t4_value !== (t4_value = /*event*/ ctx[3].weeks + "")) set_data_dev(t4, t4_value); }, d: function destroy(detaching) { if (detaching) detach_dev(div); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_each_block.name, type: "each", source: "(40:8) {#each events as event}", ctx }); return block; } function create_fragment$2(ctx) { let div1; let div0; let each_value = /*events*/ ctx[0]; validate_each_argument(each_value); let each_blocks = []; for (let i = 0; i < each_value.length; i += 1) { each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); } const block = { c: function create() { div1 = element("div"); div0 = element("div"); for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } attr_dev(div0, "class", "mui-row"); attr_dev(div0, "id", "events"); add_location(div0, file$2, 38, 4, 860); attr_dev(div1, "id", "container"); attr_dev(div1, "class", "mui-panel"); add_location(div1, file$2, 37, 0, 817); }, 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) { insert_dev(target, div1, anchor); append_dev(div1, div0); for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].m(div0, null); } }, p: function update(ctx, [dirty]) { if (dirty & /*events*/ 1) { each_value = /*events*/ ctx[0]; validate_each_argument(each_value); let i; for (i = 0; i < each_value.length; i += 1) { const child_ctx = get_each_context(ctx, each_value, i); if (each_blocks[i]) { each_blocks[i].p(child_ctx, dirty); } else { each_blocks[i] = create_each_block(child_ctx); each_blocks[i].c(); each_blocks[i].m(div0, null); } } for (; i < each_blocks.length; i += 1) { each_blocks[i].d(1); } each_blocks.length = each_value.length; } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) detach_dev(div1); destroy_each(each_blocks, detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$2.name, type: "component", source: "", ctx }); return block; } function instance$2($$self, $$props, $$invalidate) { let { events } = $$props; onMount(async () => { // calculate the dates update(); }); const update = () => { const now = new Date(); const mod = 3600000 - now.getTime() % 3600000; $$invalidate(0, events = events.map(item => { item.days = Math.ceil(getDays(now, item.event)); item.weeks = Math.ceil(getDays(now, item.event) / 7); return item; })); const clockFn = function () { update(); }; setTimeout(clockFn.bind(this), mod + 10); }; const getDays = (startdate, enddate) => { let r, s, e; s = startdate.getTime(); e = enddate.getTime(); r = (e - s) / (24 * 60 * 60 * 1000); return r; }; const writable_props = ["events"]; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Events", $$slots, []); $$self.$set = $$props => { if ("events" in $$props) $$invalidate(0, events = $$props.events); }; $$self.$capture_state = () => ({ onMount, events, update, getDays }); $$self.$inject_state = $$props => { if ("events" in $$props) $$invalidate(0, events = $$props.events); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [events]; } class Events extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$2, create_fragment$2, safe_not_equal, { events: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Events", options, id: create_fragment$2.name }); const { ctx } = this.$$; const props = options.props || {}; if (/*events*/ ctx[0] === undefined && !("events" in props)) { console.warn(" was created without expected prop 'events'"); } } get events() { throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); } set events(value) { throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); } } /* src/components/Password.svelte generated by Svelte v3.20.1 */ const file$3 = "src/components/Password.svelte"; // (68:4) {#if longPassword} function create_if_block(ctx) { let div2; let div0; let t0; let t1; let div1; let t2; let t3; const block = { c: function create() { div2 = element("div"); div0 = element("div"); t0 = text("Long: "); t1 = text(/*longPassword*/ ctx[0]); div1 = element("div"); t2 = text("Short: "); t3 = text(/*shortPassword*/ ctx[1]); add_location(div0, file$3, 69, 12, 3650); add_location(div1, file$3, 69, 43, 3681); attr_dev(div2, "id", "passwordOut"); attr_dev(div2, "class", "password"); add_location(div2, file$3, 68, 8, 3598); }, m: function mount(target, anchor) { insert_dev(target, div2, anchor); append_dev(div2, div0); append_dev(div0, t0); append_dev(div0, t1); append_dev(div2, div1); append_dev(div1, t2); append_dev(div1, t3); }, p: function update(ctx, dirty) { if (dirty & /*longPassword*/ 1) set_data_dev(t1, /*longPassword*/ ctx[0]); if (dirty & /*shortPassword*/ 2) set_data_dev(t3, /*shortPassword*/ ctx[1]); }, d: function destroy(detaching) { if (detaching) detach_dev(div2); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block.name, type: "if", source: "(68:4) {#if longPassword}", ctx }); return block; } function create_fragment$3(ctx) { let div; let button; let t1; let dispose; let if_block = /*longPassword*/ ctx[0] && create_if_block(ctx); const block = { c: function create() { div = element("div"); button = element("button"); button.textContent = "Generate Password"; t1 = space(); if (if_block) if_block.c(); attr_dev(button, "class", "mui-btn mui-btn--flat"); attr_dev(button, "id", "newPassword"); add_location(button, file$3, 66, 4, 3457); attr_dev(div, "id", "passwords"); add_location(div, file$3, 65, 0, 3432); }, 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, remount) { insert_dev(target, div, anchor); append_dev(div, button); append_dev(div, t1); if (if_block) if_block.m(div, null); if (remount) dispose(); dispose = listen_dev(button, "click", /*generatePassword*/ ctx[2], false, false, false); }, p: function update(ctx, [dirty]) { if (/*longPassword*/ ctx[0]) { if (if_block) { if_block.p(ctx, dirty); } else { if_block = create_if_block(ctx); if_block.c(); if_block.m(div, null); } } else if (if_block) { if_block.d(1); if_block = null; } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) detach_dev(div); if (if_block) if_block.d(); dispose(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$3.name, type: "component", source: "", ctx }); return block; } function instance$3($$self, $$props, $$invalidate) { Array.prototype.random = function () { return this[Math.floor(Math.random() * this.length)]; }; let longPassword; let shortPassword; const alpha = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ]; const whitespace = [".", "~", "#", "!", "$", "+", "-", "+"]; const numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; const left = [ "Alabama", "Alaska", "Arizona", "Maryland", "Nevada", "Mexico", "Texas", "Utah", "Glasgow", "Inverness", "Edinburgh", "Dumbarton", "Balloch", "Renton", "Cardross", "Dundee", "Paisley", "Hamilton", "Greenock", "Falkirk", "Irvine", "Renfrew", "Erskine", "London", "Hammersmith", "Islington", "Silver", "Black", "Yellow", "Purple", "White", "Pink", "Red", "Orange", "Brown", "Green", "Blue", "Amber", "Aqua", "Azure", "Bronze", "Coral", "Copper", "Crimson", "Cyan", "Ginger", "Gold", "Indigo", "Jade", "Ruby", "Cedar", "Cream", "Peach", "Sepcia", "Mercyful", "Cyber", "Ultra", "Hunter", "Electric", "Steel", "Fire", "Smoke", "Thunder", "Pewter", "Stone", "Iron", "Shadow", "Grey", "Mocha", "Wood", "Space", "Manic", "Grunt", "X-Ray", "Sabbra", "Atomic" ]; const right = [ "Aganju", "Cygni", "Akeron", "Antares", "Aragoth", "Ardus", "Carpenter", "Cooper", "Dahin", "Capella", "Endriago", "Gallina", "Fenris", "Freya", "Glenn", "Grissom", "Jotunheim", "Kailaasa", "Lagarto", "Muspelheim", "Nifleheim", "Primus", "Vega", "Ragnarok", "Shepard", "Slayton", "Tarsis", "Mercury", "Venus", "Mars", "Earth", "Terra", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto", "Europa", "Ganymede", "Callisto", "Titan", "Juno", "Eridanus", "Scorpius", "Crux", "Cancer", "Taurus", "Lyra", "Andromeda", "Virgo", "Aquarius", "Cygnus", "Corvus", "Taurus", "Draco", "Perseus", "Pegasus", "Gemini", "Columbia", "Bootes", "Orion", "Deneb", "Merope", "Agate", "Amber", "Beryl", "Calcite", "Citrine", "Coral", "Diamond", "Emerald", "Garnet", "Jade", "Lapis", "Moonstone", "Obsidian", "Onyx", "Opal", "Pearl", "Quartz", "Ruby", "Sapphire", "Topaz", "Iron", "Lead", "Nickel", "Copper", "Zinc", "Tin", "Manes", "Argon", "Neon", "Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliett", "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whisky", "Xray", "Yankee", "Zulu", "Fate", "Miner", "Blaster", "Click", "Noise", "Cadabra", "Shotgun" ]; function randomAmount(i) { let str = ""; for (let t = 0; t < i; t++) str = str + alpha.random(); return str; } function generatePassword(e) { // const ws = whitespace.random(); const ws = "."; $$invalidate(0, longPassword = `${left.random()} ${right.random()} ${numberCluster()}`.split(" ").join(ws)); $$invalidate(1, shortPassword = `${randomAmount(5)} ${randomAmount(5)}`.split(" ").join(ws)); } function numberCluster() { return numbers.random() + numbers.random() + numbers.random(); } const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Password", $$slots, []); $$self.$capture_state = () => ({ longPassword, shortPassword, alpha, whitespace, numbers, left, right, randomAmount, generatePassword, numberCluster }); $$self.$inject_state = $$props => { if ("longPassword" in $$props) $$invalidate(0, longPassword = $$props.longPassword); if ("shortPassword" in $$props) $$invalidate(1, shortPassword = $$props.shortPassword); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [longPassword, shortPassword, generatePassword]; } class Password extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$3, create_fragment$3, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Password", options, id: create_fragment$3.name }); } } const subscriber_queue = []; /** * Create a `Writable` store that allows both updating and reading by subscription. * @param {*=}value initial value * @param {StartStopNotifier=}start start and stop notifications for subscriptions */ function writable(value, start = noop) { let stop; const subscribers = []; function set(new_value) { if (safe_not_equal(value, new_value)) { value = new_value; if (stop) { // store is ready const run_queue = !subscriber_queue.length; for (let i = 0; i < subscribers.length; i += 1) { const s = subscribers[i]; s[1](); subscriber_queue.push(s, value); } if (run_queue) { for (let i = 0; i < subscriber_queue.length; i += 2) { subscriber_queue[i][0](subscriber_queue[i + 1]); } subscriber_queue.length = 0; } } } } function update(fn) { set(fn(value)); } function subscribe(run, invalidate = noop) { const subscriber = [run, invalidate]; subscribers.push(subscriber); if (subscribers.length === 1) { stop = start(set) || noop; } run(value); return () => { const index = subscribers.indexOf(subscriber); if (index !== -1) { subscribers.splice(index, 1); } if (subscribers.length === 0) { stop(); stop = null; } }; } return { set, update, subscribe }; } /* src/components/Bitcoin.svelte generated by Svelte v3.20.1 */ const file$4 = "src/components/Bitcoin.svelte"; // (119:0) {#if lastUSD!==0} function create_if_block$1(ctx) { let span0; let t0; let span1; let t1; let t2_value = /*lastUSD*/ ctx[0].toFixed(2) + ""; let t2; let t3; let t4_value = /*lastGBP*/ ctx[1].toFixed(2) + ""; let t4; const block = { c: function create() { span0 = element("span"); t0 = space(); span1 = element("span"); t1 = text("$"); t2 = text(t2_value); t3 = text(" / £"); t4 = text(t4_value); attr_dev(span0, "id", "trend"); attr_dev(span0, "class", /*trendClass*/ ctx[3]); add_location(span0, file$4, 119, 4, 2941); attr_dev(span1, "id", "btc"); attr_dev(span1, "class", /*eclass*/ ctx[2]); add_location(span1, file$4, 120, 4, 2992); }, m: function mount(target, anchor) { insert_dev(target, span0, anchor); insert_dev(target, t0, anchor); insert_dev(target, span1, anchor); append_dev(span1, t1); append_dev(span1, t2); append_dev(span1, t3); append_dev(span1, t4); }, p: function update(ctx, dirty) { if (dirty & /*trendClass*/ 8) { attr_dev(span0, "class", /*trendClass*/ ctx[3]); } if (dirty & /*lastUSD*/ 1 && t2_value !== (t2_value = /*lastUSD*/ ctx[0].toFixed(2) + "")) set_data_dev(t2, t2_value); if (dirty & /*lastGBP*/ 2 && t4_value !== (t4_value = /*lastGBP*/ ctx[1].toFixed(2) + "")) set_data_dev(t4, t4_value); if (dirty & /*eclass*/ 4) { attr_dev(span1, "class", /*eclass*/ ctx[2]); } }, d: function destroy(detaching) { if (detaching) detach_dev(span0); if (detaching) detach_dev(t0); if (detaching) detach_dev(span1); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block$1.name, type: "if", source: "(119:0) {#if lastUSD!==0}", ctx }); return block; } function create_fragment$4(ctx) { let if_block_anchor; let if_block = /*lastUSD*/ ctx[0] !== 0 && create_if_block$1(ctx); const block = { c: function create() { if (if_block) if_block.c(); if_block_anchor = empty(); }, 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) { if (if_block) if_block.m(target, anchor); insert_dev(target, if_block_anchor, anchor); }, p: function update(ctx, [dirty]) { if (/*lastUSD*/ ctx[0] !== 0) { if (if_block) { if_block.p(ctx, dirty); } else { if_block = create_if_block$1(ctx); if_block.c(); if_block.m(if_block_anchor.parentNode, if_block_anchor); } } else if (if_block) { if_block.d(1); if_block = null; } }, i: noop, o: noop, d: function destroy(detaching) { if (if_block) if_block.d(detaching); if (detaching) detach_dev(if_block_anchor); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$4.name, type: "component", source: "", ctx }); return block; } function instance$4($$self, $$props, $$invalidate) { const data = { "lastGBP": 0, "lastUSD": 0, "lows": { "gbp": 0, "usd": 0 }, "highs": { "gbp": 0, "usd": 0 }, "eclass": "", "balance": 0, "trend": 0 }; let lastUSD = 0, lastGBP, owned, eclass = "", trendClass = ""; const btcData = writable(data); const balance = writable(0); btcData.subscribe(btcObj => { $$invalidate(0, lastUSD = btcObj.lastUSD); $$invalidate(1, lastGBP = btcObj.lastGBP); $$invalidate(2, eclass = btcObj.eclass); }); onMount(async () => { await update(); }); function recalc(freshBTC) { let data = get_store_value(btcData); data.gbp = freshBTC.bpi.GBP.rate_float; data.usd = freshBTC.bpi.USD.rate_float; data.trend = freshBTC.trend; let lastGBP = data.lastGBP; let lastUSD; const g = data.gbp; const u = data.usd; const lows = data.lows; const highs = data.highs; let eclass = data.eclass; const balance = data.balance; let trend = data.trend; if (trend === undefined || trend === null) trend = 1; if (g !== undefined) { if (data.lastGBP !== 0) eclass = g > lastGBP ? "up" : "down"; else { lows.gbp = g; lows.usd = u; highs.gbp = g; highs.usd = u; eclass = ""; } lastGBP = g; lastUSD = u; if (g < lows.gbp) lows.gbp = g; if (u < lows.usd) lows.usd = u; if (highs.gbp < g) highs.gbp = g; if (highs.usd < u) highs.usd = u; if (trend > 1) $$invalidate(3, trendClass = "trendUp"); else if (trend < 1) $$invalidate(3, trendClass = "trendDown"); else $$invalidate(3, trendClass = ""); data = { lastGBP, lastUSD, lows, highs, eclass, balance, trend }; } data.stub = Math.random(Number.MAX_SAFE_INTEGER).toString(32); btcData.set(data); } async function update() { await getBtc(); const now = new Date(); const mod = 300000 - now.getTime() % 300000; const btcupdateFn = function () { update(); }; setTimeout(btcupdateFn.bind(this), mod + 10); } async function getBtc() { const res = await fetch("http://localhost:9000/btc"); const json = await res.json(); if (json) { recalc(json); } } const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Bitcoin", $$slots, []); $$self.$capture_state = () => ({ get: get_store_value, writable, onMount, data, lastUSD, lastGBP, owned, eclass, trendClass, btcData, balance, recalc, update, getBtc }); $$self.$inject_state = $$props => { if ("lastUSD" in $$props) $$invalidate(0, lastUSD = $$props.lastUSD); if ("lastGBP" in $$props) $$invalidate(1, lastGBP = $$props.lastGBP); if ("owned" in $$props) owned = $$props.owned; if ("eclass" in $$props) $$invalidate(2, eclass = $$props.eclass); if ("trendClass" in $$props) $$invalidate(3, trendClass = $$props.trendClass); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [lastUSD, lastGBP, eclass, trendClass]; } class Bitcoin extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$4, create_fragment$4, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Bitcoin", options, id: create_fragment$4.name }); } } var token = /d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g; var literal = /\[([^]*?)\]/gm; function shorten(arr, sLen) { var newArr = []; for (var i = 0, len = arr.length; i < len; i++) { newArr.push(arr[i].substr(0, sLen)); } return newArr; } function assign$1(origObj) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } for (var _a = 0, args_1 = args; _a < args_1.length; _a++) { var obj = args_1[_a]; for (var key in obj) { // @ts-ignore ex origObj[key] = obj[key]; } } return origObj; } var dayNames = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; var monthNamesShort = shorten(monthNames, 3); var dayNamesShort = shorten(dayNames, 3); var defaultI18n = { dayNamesShort: dayNamesShort, dayNames: dayNames, monthNamesShort: monthNamesShort, monthNames: monthNames, amPm: ["am", "pm"], DoFn: function (dayOfMonth) { return (dayOfMonth + ["th", "st", "nd", "rd"][dayOfMonth % 10 > 3 ? 0 : ((dayOfMonth - (dayOfMonth % 10) !== 10 ? 1 : 0) * dayOfMonth) % 10]); } }; var globalI18n = assign$1({}, defaultI18n); var pad = function (val, len) { if (len === void 0) { len = 2; } val = String(val); while (val.length < len) { val = "0" + val; } return val; }; var formatFlags = { D: function (dateObj) { return String(dateObj.getDate()); }, DD: function (dateObj) { return pad(dateObj.getDate()); }, Do: function (dateObj, i18n) { return i18n.DoFn(dateObj.getDate()); }, d: function (dateObj) { return String(dateObj.getDay()); }, dd: function (dateObj) { return pad(dateObj.getDay()); }, ddd: function (dateObj, i18n) { return i18n.dayNamesShort[dateObj.getDay()]; }, dddd: function (dateObj, i18n) { return i18n.dayNames[dateObj.getDay()]; }, M: function (dateObj) { return String(dateObj.getMonth() + 1); }, MM: function (dateObj) { return pad(dateObj.getMonth() + 1); }, MMM: function (dateObj, i18n) { return i18n.monthNamesShort[dateObj.getMonth()]; }, MMMM: function (dateObj, i18n) { return i18n.monthNames[dateObj.getMonth()]; }, YY: function (dateObj) { return pad(String(dateObj.getFullYear()), 4).substr(2); }, YYYY: function (dateObj) { return pad(dateObj.getFullYear(), 4); }, h: function (dateObj) { return String(dateObj.getHours() % 12 || 12); }, hh: function (dateObj) { return pad(dateObj.getHours() % 12 || 12); }, H: function (dateObj) { return String(dateObj.getHours()); }, HH: function (dateObj) { return pad(dateObj.getHours()); }, m: function (dateObj) { return String(dateObj.getMinutes()); }, mm: function (dateObj) { return pad(dateObj.getMinutes()); }, s: function (dateObj) { return String(dateObj.getSeconds()); }, ss: function (dateObj) { return pad(dateObj.getSeconds()); }, S: function (dateObj) { return String(Math.round(dateObj.getMilliseconds() / 100)); }, SS: function (dateObj) { return pad(Math.round(dateObj.getMilliseconds() / 10), 2); }, SSS: function (dateObj) { return pad(dateObj.getMilliseconds(), 3); }, a: function (dateObj, i18n) { return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1]; }, A: function (dateObj, i18n) { return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase(); }, ZZ: function (dateObj) { var offset = dateObj.getTimezoneOffset(); return ((offset > 0 ? "-" : "+") + pad(Math.floor(Math.abs(offset) / 60) * 100 + (Math.abs(offset) % 60), 4)); }, Z: function (dateObj) { var offset = dateObj.getTimezoneOffset(); return ((offset > 0 ? "-" : "+") + pad(Math.floor(Math.abs(offset) / 60), 2) + ":" + pad(Math.abs(offset) % 60, 2)); } }; // Some common format strings var globalMasks = { default: "ddd MMM DD YYYY HH:mm:ss", shortDate: "M/D/YY", mediumDate: "MMM D, YYYY", longDate: "MMMM D, YYYY", fullDate: "dddd, MMMM D, YYYY", isoDate: "YYYY-MM-DD", isoDateTime: "YYYY-MM-DDTHH:mm:ssZ", shortTime: "HH:mm", mediumTime: "HH:mm:ss", longTime: "HH:mm:ss.SSS" }; /*** * Format a date * @method format * @param {Date|number} dateObj * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate' * @returns {string} Formatted date string */ var format = function (dateObj, mask, i18n) { if (mask === void 0) { mask = globalMasks["default"]; } if (i18n === void 0) { i18n = {}; } if (typeof dateObj === "number") { dateObj = new Date(dateObj); } if (Object.prototype.toString.call(dateObj) !== "[object Date]" || isNaN(dateObj.getTime())) { throw new Error("Invalid Date pass to format"); } mask = globalMasks[mask] || mask; var literals = []; // Make literals inactive by replacing them with @@@ mask = mask.replace(literal, function ($0, $1) { literals.push($1); return "@@@"; }); var combinedI18nSettings = assign$1(assign$1({}, globalI18n), i18n); // Apply formatting rules mask = mask.replace(token, function ($0) { return formatFlags[$0](dateObj, combinedI18nSettings); }); // Inline literal values back into the formatted value return mask.replace(/@@@/g, function () { return literals.shift(); }); }; /* src/components/Weather.svelte generated by Svelte v3.20.1 */ const file$5 = "src/components/Weather.svelte"; function get_each_context$1(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[3] = list[i]; return child_ctx; } // (153:4) {#if weatherData} function create_if_block$2(ctx) { let each_1_anchor; let each_value = /*weatherData*/ ctx[0]; validate_each_argument(each_value); let each_blocks = []; for (let i = 0; i < each_value.length; i += 1) { each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i)); } const block = { c: function create() { for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } each_1_anchor = empty(); }, m: function mount(target, anchor) { for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].m(target, anchor); } insert_dev(target, each_1_anchor, anchor); }, p: function update(ctx, dirty) { if (dirty & /*weatherData*/ 1) { each_value = /*weatherData*/ ctx[0]; validate_each_argument(each_value); let i; for (i = 0; i < each_value.length; i += 1) { const child_ctx = get_each_context$1(ctx, each_value, i); if (each_blocks[i]) { each_blocks[i].p(child_ctx, dirty); } else { each_blocks[i] = create_each_block$1(child_ctx); each_blocks[i].c(); each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); } } for (; i < each_blocks.length; i += 1) { each_blocks[i].d(1); } each_blocks.length = each_value.length; } }, d: function destroy(detaching) { destroy_each(each_blocks, detaching); if (detaching) detach_dev(each_1_anchor); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block$2.name, type: "if", source: "(153:4) {#if weatherData}", ctx }); return block; } // (154:8) {#each weatherData as item} function create_each_block$1(ctx) { let div11; let div2; let div0; let t0_value = /*item*/ ctx[3].day + ""; let t0; let t1; let div1; let t2_value = /*item*/ ctx[3].date + ""; let t2; let t3; let div5; let div3; let i; let i_class_value; let t4; let span0; let t5_value = /*item*/ ctx[3].tempHigh + ""; let t5; let t6; let span0_class_value; let t7; let span1; let t8_value = /*item*/ ctx[3].tempLow + ""; let t8; let t9; let span1_class_value; let t10; let div4; let t11_value = /*item*/ ctx[3].summary + ""; let t11; let t12; let div10; let div6; let t13_value = /*item*/ ctx[3].tempMorn + ""; let t13; let t14; let t15; let div7; let t16_value = /*item*/ ctx[3].tempDay + ""; let t16; let t17; let t18; let div8; let t19_value = /*item*/ ctx[3].tempEve + ""; let t19; let t20; let t21; let div9; let t22_value = /*item*/ ctx[3].tempNight + ""; let t22; let t23; let t24; const block = { c: function create() { div11 = element("div"); div2 = element("div"); div0 = element("div"); t0 = text(t0_value); t1 = space(); div1 = element("div"); t2 = text(t2_value); t3 = space(); div5 = element("div"); div3 = element("div"); i = element("i"); t4 = space(); span0 = element("span"); t5 = text(t5_value); t6 = text("°"); t7 = text(" /\n "); span1 = element("span"); t8 = text(t8_value); t9 = text("°"); t10 = space(); div4 = element("div"); t11 = text(t11_value); t12 = space(); div10 = element("div"); div6 = element("div"); t13 = text(t13_value); t14 = text("°"); t15 = space(); div7 = element("div"); t16 = text(t16_value); t17 = text("°"); t18 = space(); div8 = element("div"); t19 = text(t19_value); t20 = text("°"); t21 = space(); div9 = element("div"); t22 = text(t22_value); t23 = text("°"); t24 = space(); attr_dev(div0, "class", "mui--text-accent mui--text-title day mui--text-center svelte-1y1eghs"); add_location(div0, file$5, 156, 20, 3337); attr_dev(div1, "class", "mui--text-dark-secondary mui--text-subhead mui--text-center"); add_location(div1, file$5, 157, 20, 3441); attr_dev(div2, "class", "mui-col-md-3"); add_location(div2, file$5, 155, 16, 3290); attr_dev(i, "class", i_class_value = "mui--text-headline wi " + /*item*/ ctx[3].icon + " svelte-1y1eghs"); add_location(i, file$5, 161, 24, 3648); attr_dev(span0, "class", span0_class_value = "mui--text-display1 " + /*item*/ ctx[3].tempHighClass + " svelte-1y1eghs"); add_location(span0, file$5, 162, 24, 3723); attr_dev(span1, "class", span1_class_value = "mui--text-headline " + /*item*/ ctx[3].tempLowClass + " svelte-1y1eghs"); add_location(span1, file$5, 163, 24, 3827); add_location(div3, file$5, 160, 20, 3618); attr_dev(div4, "class", "mui--text-caption summary svelte-1y1eghs"); add_location(div4, file$5, 165, 20, 3950); attr_dev(div5, "class", "mui-col-md-7"); add_location(div5, file$5, 159, 16, 3571); attr_dev(div6, "class", "mui--text-caption"); add_location(div6, file$5, 168, 20, 4096); attr_dev(div7, "class", "mui--text-caption"); add_location(div7, file$5, 169, 20, 4170); attr_dev(div8, "class", "mui--text-caption"); add_location(div8, file$5, 170, 20, 4243); attr_dev(div9, "class", "mui--text-caption"); add_location(div9, file$5, 171, 20, 4316); attr_dev(div10, "class", "mui-col-md-2"); add_location(div10, file$5, 167, 16, 4049); attr_dev(div11, "class", "card mui--z1 mui-col-md-6 mui-col-lg-4 svelte-1y1eghs"); add_location(div11, file$5, 154, 12, 3221); }, m: function mount(target, anchor) { insert_dev(target, div11, anchor); append_dev(div11, div2); append_dev(div2, div0); append_dev(div0, t0); append_dev(div2, t1); append_dev(div2, div1); append_dev(div1, t2); append_dev(div11, t3); append_dev(div11, div5); append_dev(div5, div3); append_dev(div3, i); append_dev(div3, t4); append_dev(div3, span0); append_dev(span0, t5); append_dev(span0, t6); append_dev(div3, t7); append_dev(div3, span1); append_dev(span1, t8); append_dev(span1, t9); append_dev(div5, t10); append_dev(div5, div4); append_dev(div4, t11); append_dev(div11, t12); append_dev(div11, div10); append_dev(div10, div6); append_dev(div6, t13); append_dev(div6, t14); append_dev(div10, t15); append_dev(div10, div7); append_dev(div7, t16); append_dev(div7, t17); append_dev(div10, t18); append_dev(div10, div8); append_dev(div8, t19); append_dev(div8, t20); append_dev(div10, t21); append_dev(div10, div9); append_dev(div9, t22); append_dev(div9, t23); append_dev(div11, t24); }, p: function update(ctx, dirty) { if (dirty & /*weatherData*/ 1 && t0_value !== (t0_value = /*item*/ ctx[3].day + "")) set_data_dev(t0, t0_value); if (dirty & /*weatherData*/ 1 && t2_value !== (t2_value = /*item*/ ctx[3].date + "")) set_data_dev(t2, t2_value); if (dirty & /*weatherData*/ 1 && i_class_value !== (i_class_value = "mui--text-headline wi " + /*item*/ ctx[3].icon + " svelte-1y1eghs")) { attr_dev(i, "class", i_class_value); } if (dirty & /*weatherData*/ 1 && t5_value !== (t5_value = /*item*/ ctx[3].tempHigh + "")) set_data_dev(t5, t5_value); if (dirty & /*weatherData*/ 1 && span0_class_value !== (span0_class_value = "mui--text-display1 " + /*item*/ ctx[3].tempHighClass + " svelte-1y1eghs")) { attr_dev(span0, "class", span0_class_value); } if (dirty & /*weatherData*/ 1 && t8_value !== (t8_value = /*item*/ ctx[3].tempLow + "")) set_data_dev(t8, t8_value); if (dirty & /*weatherData*/ 1 && span1_class_value !== (span1_class_value = "mui--text-headline " + /*item*/ ctx[3].tempLowClass + " svelte-1y1eghs")) { attr_dev(span1, "class", span1_class_value); } if (dirty & /*weatherData*/ 1 && t11_value !== (t11_value = /*item*/ ctx[3].summary + "")) set_data_dev(t11, t11_value); if (dirty & /*weatherData*/ 1 && t13_value !== (t13_value = /*item*/ ctx[3].tempMorn + "")) set_data_dev(t13, t13_value); if (dirty & /*weatherData*/ 1 && t16_value !== (t16_value = /*item*/ ctx[3].tempDay + "")) set_data_dev(t16, t16_value); if (dirty & /*weatherData*/ 1 && t19_value !== (t19_value = /*item*/ ctx[3].tempEve + "")) set_data_dev(t19, t19_value); if (dirty & /*weatherData*/ 1 && t22_value !== (t22_value = /*item*/ ctx[3].tempNight + "")) set_data_dev(t22, t22_value); }, d: function destroy(detaching) { if (detaching) detach_dev(div11); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_each_block$1.name, type: "each", source: "(154:8) {#each weatherData as item}", ctx }); return block; } function create_fragment$5(ctx) { let div; let if_block = /*weatherData*/ ctx[0] && create_if_block$2(ctx); const block = { c: function create() { div = element("div"); if (if_block) if_block.c(); attr_dev(div, "id", "weather"); add_location(div, file$5, 150, 0, 3131); }, 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) { insert_dev(target, div, anchor); if (if_block) if_block.m(div, null); }, p: function update(ctx, [dirty]) { if (/*weatherData*/ ctx[0]) { if (if_block) { if_block.p(ctx, dirty); } else { if_block = create_if_block$2(ctx); if_block.c(); if_block.m(div, null); } } else if (if_block) { if_block.d(1); if_block = null; } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) detach_dev(div); if (if_block) if_block.d(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$5.name, type: "component", source: "", ctx }); return block; } function reduceOpenWeather(item) { // Openweather returns timestamps in seconds. Moment requires them in milliseconds. const ts = new Date(item.dt * 1000); const weatherBlock = item.weather[0]; return { "timestamp": item.dt, "icon": `wi-owm-${weatherBlock.id}`, "summary": weatherBlock.description, "tempHigh": parseInt(item.temp.max, 10), "tempLow": parseInt(item.temp.min, 10), "tempMorn": parseInt(item.temp.morn, 10), "tempDay": parseInt(item.temp.day, 10), "tempEve": parseInt(item.temp.eve, 10), "tempNight": parseInt(item.temp.night, 10), "datelong": format(ts, "isoDateTime"), "time": item.dt, "date": format(ts, "D/M"), "day": format(ts, "ddd"), "tempHighClass": `temp${parseInt(item.temp.max, 10)}`, "tempLowClass": `temp${parseInt(item.temp.min, 10)}` }; } function instance$5($$self, $$props, $$invalidate) { let weatherData; onMount(async () => { await update(); }); async function update() { await getWeather(); const now = new Date(); const mod = 1800000 - now.getTime() % 1800000; const weatherUpdateFn = function () { update(); }; setTimeout(weatherUpdateFn.bind(this), mod + 10); } async function getWeather() { const res = await fetch("http://localhost:9000/weather"); const json = await res.json(); if (json) { $$invalidate(0, weatherData = json.list.map(item => { // Reduce the data return reduceOpenWeather(item); })); } } const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Weather", $$slots, []); $$self.$capture_state = () => ({ onMount, format, weatherData, update, reduceOpenWeather, getWeather }); $$self.$inject_state = $$props => { if ("weatherData" in $$props) $$invalidate(0, weatherData = $$props.weatherData); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [weatherData]; } class Weather extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$5, create_fragment$5, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Weather", options, id: create_fragment$5.name }); } } /* src/components/Fx.svelte generated by Svelte v3.20.1 */ const file$6 = "src/components/Fx.svelte"; // (54:0) {#if fxData.gpbe} function create_if_block$3(ctx) { let span; let t0; let t1_value = parseFloat(/*fxData*/ ctx[0].gpbe.toFixed(2)) + ""; let t1; let t2; let t3_value = parseFloat(/*fxData*/ ctx[0].sekex.toFixed(2)) + ""; let t3; let t4; const block = { c: function create() { span = element("span"); t0 = text("£1 = $"); t1 = text(t1_value); t2 = text(" = "); t3 = text(t3_value); t4 = text(" SEK"); attr_dev(span, "class", "svelte-oqm7j5"); add_location(span, file$6, 54, 0, 1053); }, m: function mount(target, anchor) { insert_dev(target, span, anchor); append_dev(span, t0); append_dev(span, t1); append_dev(span, t2); append_dev(span, t3); append_dev(span, t4); }, p: function update(ctx, dirty) { if (dirty & /*fxData*/ 1 && t1_value !== (t1_value = parseFloat(/*fxData*/ ctx[0].gpbe.toFixed(2)) + "")) set_data_dev(t1, t1_value); if (dirty & /*fxData*/ 1 && t3_value !== (t3_value = parseFloat(/*fxData*/ ctx[0].sekex.toFixed(2)) + "")) set_data_dev(t3, t3_value); }, d: function destroy(detaching) { if (detaching) detach_dev(span); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block$3.name, type: "if", source: "(54:0) {#if fxData.gpbe}", ctx }); return block; } function create_fragment$6(ctx) { let if_block_anchor; let if_block = /*fxData*/ ctx[0].gpbe && create_if_block$3(ctx); const block = { c: function create() { if (if_block) if_block.c(); if_block_anchor = empty(); }, 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) { if (if_block) if_block.m(target, anchor); insert_dev(target, if_block_anchor, anchor); }, p: function update(ctx, [dirty]) { if (/*fxData*/ ctx[0].gpbe) { if (if_block) { if_block.p(ctx, dirty); } else { if_block = create_if_block$3(ctx); if_block.c(); if_block.m(if_block_anchor.parentNode, if_block_anchor); } } else if (if_block) { if_block.d(1); if_block = null; } }, i: noop, o: noop, d: function destroy(detaching) { if (if_block) if_block.d(detaching); if (detaching) detach_dev(if_block_anchor); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$6.name, type: "component", source: "", ctx }); return block; } function instance$6($$self, $$props, $$invalidate) { let fxData = {}; onMount(async () => { await update(); }); async function update() { await getFX(); const now = new Date(); const mod = 1800000 - now.getTime() % 1800000; const fxUpdateFn = function () { update(); }; setTimeout(fxUpdateFn.bind(this), mod + 10); } function reduceFX(data) { if (data.rates !== undefined) { const gpbex = 1 / data.rates.GBP; const sekex = gpbex * data.rates.SEK; $$invalidate(0, fxData = { "usd": 1, "gbp": data.rates.GBP, "sek": data.rates.SEK, "gpbe": gpbex, sekex }); } } async function getFX() { const res = await fetch("http://localhost:9000/fx"); const json = await res.json(); if (json) reduceFX(json); } const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Fx", $$slots, []); $$self.$capture_state = () => ({ onMount, fxData, update, reduceFX, getFX }); $$self.$inject_state = $$props => { if ("fxData" in $$props) $$invalidate(0, fxData = $$props.fxData); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [fxData]; } class Fx extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$6, create_fragment$6, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Fx", options, id: create_fragment$6.name }); } } const route = writable({ 'fromStation':'', 'toStation':'' }); /* src/components/Train.svelte generated by Svelte v3.20.1 */ const { console: console_1 } = globals; const file$7 = "src/components/Train.svelte"; function create_fragment$7(ctx) { let div; let t0_value = /*display*/ ctx[0].title + ""; let t0; let t1; let span; let t2_value = /*display*/ ctx[0].output + ""; let t2; let span_class_value; let dispose; const block = { c: function create() { div = element("div"); t0 = text(t0_value); t1 = text(": "); span = element("span"); t2 = text(t2_value); attr_dev(span, "class", span_class_value = /*display*/ ctx[0].status); add_location(span, file$7, 63, 86, 1569); attr_dev(div, "class", "mui-col-xs-12 mui-col-md-6"); add_location(div, file$7, 63, 0, 1483); }, 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, remount) { insert_dev(target, div, anchor); append_dev(div, t0); append_dev(div, t1); append_dev(div, span); append_dev(span, t2); if (remount) dispose(); dispose = listen_dev(div, "click", /*clickHandler*/ ctx[1], false, false, false); }, p: function update(ctx, [dirty]) { if (dirty & /*display*/ 1 && t0_value !== (t0_value = /*display*/ ctx[0].title + "")) set_data_dev(t0, t0_value); if (dirty & /*display*/ 1 && t2_value !== (t2_value = /*display*/ ctx[0].output + "")) set_data_dev(t2, t2_value); if (dirty & /*display*/ 1 && span_class_value !== (span_class_value = /*display*/ ctx[0].status)) { attr_dev(span, "class", span_class_value); } }, i: noop, o: noop, d: function destroy(detaching) { if (detaching) detach_dev(div); dispose(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$7.name, type: "component", source: "", ctx }); return block; } function instance$7($$self, $$props, $$invalidate) { let { fromStation } = $$props; let { toStation } = $$props; let url; let data = { "eta": "OFF", "sta": "OFF" }; let display = { title: "TRAIN", status: "delayed", output: "OFF" }; onMount(async () => { await update(); }); async function update() { await getTrain(); const now = new Date(); const mod = 120000 - now.getTime() % 120000; const trainUpdateFn = function () { update(); }; setTimeout(trainUpdateFn.bind(this), mod + 10); } async function getTrain() { const res = await fetch(url); const json = await res.json(); if (json) { console.log(json); $$invalidate(5, data = json); } } function clickHandler() { console.log("click", data); route.set({ fromStation, toStation }); } const writable_props = ["fromStation", "toStation"]; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console_1.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Train", $$slots, []); $$self.$set = $$props => { if ("fromStation" in $$props) $$invalidate(2, fromStation = $$props.fromStation); if ("toStation" in $$props) $$invalidate(3, toStation = $$props.toStation); }; $$self.$capture_state = () => ({ onMount, route, fromStation, toStation, url, data, display, update, getTrain, clickHandler }); $$self.$inject_state = $$props => { if ("fromStation" in $$props) $$invalidate(2, fromStation = $$props.fromStation); if ("toStation" in $$props) $$invalidate(3, toStation = $$props.toStation); if ("url" in $$props) url = $$props.url; if ("data" in $$props) $$invalidate(5, data = $$props.data); if ("display" in $$props) $$invalidate(0, display = $$props.display); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } $$self.$$.update = () => { if ($$self.$$.dirty & /*fromStation, toStation*/ 12) { // $: url = `https://traintimes.silvrtree.co.uk/getnexttraintimes?from=${ fromStation }&to=${ toStation}`; { url = `http://localhost:8100/getnexttraintimes?from=${fromStation}&to=${toStation}`; $$invalidate(0, display.title = `${fromStation.toUpperCase()}${toStation.toUpperCase()}`, display); } } if ($$self.$$.dirty & /*data*/ 32) { // recalc stuff { $$invalidate( 0, display.output = data.eta.toLowerCase() === "on time" ? data.sta : data.eta, display ); $$invalidate( 0, display.status = data.eta.toLowerCase() === "on time" ? "ontime" : "delayed", display ); } } }; return [display, clickHandler, fromStation, toStation]; } class Train extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$7, create_fragment$7, safe_not_equal, { fromStation: 2, toStation: 3 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Train", options, id: create_fragment$7.name }); const { ctx } = this.$$; const props = options.props || {}; if (/*fromStation*/ ctx[2] === undefined && !("fromStation" in props)) { console_1.warn(" was created without expected prop 'fromStation'"); } if (/*toStation*/ ctx[3] === undefined && !("toStation" in props)) { console_1.warn(" was created without expected prop 'toStation'"); } } get fromStation() { throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); } set fromStation(value) { throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); } get toStation() { throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); } set toStation(value) { throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); } } /* src/components/Route.svelte generated by Svelte v3.20.1 */ const { console: console_1$1 } = globals; const file$8 = "src/components/Route.svelte"; function get_each_context$2(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[9] = list[i]; return child_ctx; } // (122:0) {#if visible} function create_if_block$4(ctx) { let div1; let div0; let t0_value = /*routeData*/ ctx[1].fromName + ""; let t0; let t1; let t2_value = /*routeData*/ ctx[1].toName + ""; let t2; let t3; let table; let thead; let tr; let th0; let t5; let th1; let t7; let th2; let t9; let th3; let t11; let tbody; let each_value = /*services*/ ctx[2]; validate_each_argument(each_value); let each_blocks = []; for (let i = 0; i < each_value.length; i += 1) { each_blocks[i] = create_each_block$2(get_each_context$2(ctx, each_value, i)); } const block = { c: function create() { div1 = element("div"); div0 = element("div"); t0 = text(t0_value); t1 = text(" TO "); t2 = text(t2_value); t3 = space(); table = element("table"); thead = element("thead"); tr = element("tr"); th0 = element("th"); th0.textContent = "Destination"; t5 = space(); th1 = element("th"); th1.textContent = "Time"; t7 = space(); th2 = element("th"); th2.textContent = "Status"; t9 = space(); th3 = element("th"); th3.textContent = "Platform"; t11 = space(); tbody = element("tbody"); for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } add_location(div0, file$8, 123, 4, 3763); add_location(th0, file$8, 127, 12, 3907); add_location(th1, file$8, 128, 12, 3940); add_location(th2, file$8, 129, 12, 3966); add_location(th3, file$8, 130, 12, 3994); add_location(tr, file$8, 126, 8, 3890); add_location(thead, file$8, 125, 8, 3874); add_location(tbody, file$8, 134, 8, 4052); attr_dev(table, "class", "mui-table mui-table-bordered"); add_location(table, file$8, 124, 4, 3821); attr_dev(div1, "class", "routeBox svelte-12mw410"); add_location(div1, file$8, 122, 0, 3736); }, m: function mount(target, anchor) { insert_dev(target, div1, anchor); append_dev(div1, div0); append_dev(div0, t0); append_dev(div0, t1); append_dev(div0, t2); append_dev(div1, t3); append_dev(div1, table); append_dev(table, thead); append_dev(thead, tr); append_dev(tr, th0); append_dev(tr, t5); append_dev(tr, th1); append_dev(tr, t7); append_dev(tr, th2); append_dev(tr, t9); append_dev(tr, th3); append_dev(table, t11); append_dev(table, tbody); for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].m(tbody, null); } }, p: function update(ctx, dirty) { if (dirty & /*routeData*/ 2 && t0_value !== (t0_value = /*routeData*/ ctx[1].fromName + "")) set_data_dev(t0, t0_value); if (dirty & /*routeData*/ 2 && t2_value !== (t2_value = /*routeData*/ ctx[1].toName + "")) set_data_dev(t2, t2_value); if (dirty & /*services*/ 4) { each_value = /*services*/ ctx[2]; validate_each_argument(each_value); let i; for (i = 0; i < each_value.length; i += 1) { const child_ctx = get_each_context$2(ctx, each_value, i); if (each_blocks[i]) { each_blocks[i].p(child_ctx, dirty); } else { each_blocks[i] = create_each_block$2(child_ctx); each_blocks[i].c(); each_blocks[i].m(tbody, null); } } for (; i < each_blocks.length; i += 1) { each_blocks[i].d(1); } each_blocks.length = each_value.length; } }, d: function destroy(detaching) { if (detaching) detach_dev(div1); destroy_each(each_blocks, detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block$4.name, type: "if", source: "(122:0) {#if visible}", ctx }); return block; } // (144:12) {:else} function create_else_block(ctx) { let td; let t0; let t1_value = /*item*/ ctx[9].cancelReason + ""; let t1; const block = { c: function create() { td = element("td"); t0 = text("❌ "); t1 = text(t1_value); attr_dev(td, "colspan", "2"); attr_dev(td, "class", "delayed"); add_location(td, file$8, 144, 20, 4391); }, m: function mount(target, anchor) { insert_dev(target, td, anchor); append_dev(td, t0); append_dev(td, t1); }, p: function update(ctx, dirty) { if (dirty & /*services*/ 4 && t1_value !== (t1_value = /*item*/ ctx[9].cancelReason + "")) set_data_dev(t1, t1_value); }, d: function destroy(detaching) { if (detaching) detach_dev(td); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_else_block.name, type: "else", source: "(144:12) {:else}", ctx }); return block; } // (141:12) {#if !item.isCancelled} function create_if_block_1(ctx) { let td0; let t0_value = /*item*/ ctx[9].status + ""; let t0; let td0_class_value; let t1; let td1; let t2_value = /*item*/ ctx[9].platform + ""; let t2; const block = { c: function create() { td0 = element("td"); t0 = text(t0_value); t1 = space(); td1 = element("td"); t2 = text(t2_value); attr_dev(td0, "class", td0_class_value = "" + (null_to_empty(/*item*/ ctx[9].class) + " svelte-12mw410")); add_location(td0, file$8, 141, 12, 4272); add_location(td1, file$8, 142, 12, 4326); }, m: function mount(target, anchor) { insert_dev(target, td0, anchor); append_dev(td0, t0); insert_dev(target, t1, anchor); insert_dev(target, td1, anchor); append_dev(td1, t2); }, p: function update(ctx, dirty) { if (dirty & /*services*/ 4 && t0_value !== (t0_value = /*item*/ ctx[9].status + "")) set_data_dev(t0, t0_value); if (dirty & /*services*/ 4 && td0_class_value !== (td0_class_value = "" + (null_to_empty(/*item*/ ctx[9].class) + " svelte-12mw410"))) { attr_dev(td0, "class", td0_class_value); } if (dirty & /*services*/ 4 && t2_value !== (t2_value = /*item*/ ctx[9].platform + "")) set_data_dev(t2, t2_value); }, d: function destroy(detaching) { if (detaching) detach_dev(td0); if (detaching) detach_dev(t1); if (detaching) detach_dev(td1); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_if_block_1.name, type: "if", source: "(141:12) {#if !item.isCancelled}", ctx }); return block; } // (136:8) {#each services as item} function create_each_block$2(ctx) { let tr; let td0; let t0_value = /*item*/ ctx[9].icon + ""; let t0; let t1_value = /*item*/ ctx[9].location + ""; let t1; let t2; let html_tag; let raw_value = /*item*/ ctx[9].via + ""; let t3; let td1; let t4_value = /*item*/ ctx[9].time + ""; let t4; let td1_class_value; let t5; let t6; function select_block_type(ctx, dirty) { if (!/*item*/ ctx[9].isCancelled) return create_if_block_1; return create_else_block; } let current_block_type = select_block_type(ctx); let if_block = current_block_type(ctx); const block = { c: function create() { tr = element("tr"); td0 = element("td"); t0 = text(t0_value); t1 = text(t1_value); t2 = space(); t3 = space(); td1 = element("td"); t4 = text(t4_value); t5 = space(); if_block.c(); t6 = space(); html_tag = new HtmlTag(raw_value, null); add_location(td0, file$8, 138, 12, 4119); attr_dev(td1, "class", td1_class_value = "" + (null_to_empty(/*item*/ ctx[9].class) + " svelte-12mw410")); add_location(td1, file$8, 139, 12, 4184); add_location(tr, file$8, 136, 8, 4101); }, m: function mount(target, anchor) { insert_dev(target, tr, anchor); append_dev(tr, td0); append_dev(td0, t0); append_dev(td0, t1); append_dev(td0, t2); html_tag.m(td0); append_dev(tr, t3); append_dev(tr, td1); append_dev(td1, t4); append_dev(tr, t5); if_block.m(tr, null); append_dev(tr, t6); }, p: function update(ctx, dirty) { if (dirty & /*services*/ 4 && t0_value !== (t0_value = /*item*/ ctx[9].icon + "")) set_data_dev(t0, t0_value); if (dirty & /*services*/ 4 && t1_value !== (t1_value = /*item*/ ctx[9].location + "")) set_data_dev(t1, t1_value); if (dirty & /*services*/ 4 && raw_value !== (raw_value = /*item*/ ctx[9].via + "")) html_tag.p(raw_value); if (dirty & /*services*/ 4 && t4_value !== (t4_value = /*item*/ ctx[9].time + "")) set_data_dev(t4, t4_value); if (dirty & /*services*/ 4 && td1_class_value !== (td1_class_value = "" + (null_to_empty(/*item*/ ctx[9].class) + " svelte-12mw410"))) { attr_dev(td1, "class", td1_class_value); } if (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) { if_block.p(ctx, dirty); } else { if_block.d(1); if_block = current_block_type(ctx); if (if_block) { if_block.c(); if_block.m(tr, t6); } } }, d: function destroy(detaching) { if (detaching) detach_dev(tr); if_block.d(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_each_block$2.name, type: "each", source: "(136:8) {#each services as item}", ctx }); return block; } function create_fragment$8(ctx) { let if_block_anchor; let if_block = /*visible*/ ctx[0] && create_if_block$4(ctx); const block = { c: function create() { if (if_block) if_block.c(); if_block_anchor = empty(); }, 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) { if (if_block) if_block.m(target, anchor); insert_dev(target, if_block_anchor, anchor); }, p: function update(ctx, [dirty]) { if (/*visible*/ ctx[0]) { if (if_block) { if_block.p(ctx, dirty); } else { if_block = create_if_block$4(ctx); if_block.c(); if_block.m(if_block_anchor.parentNode, if_block_anchor); } } else if (if_block) { if_block.d(1); if_block = null; } }, i: noop, o: noop, d: function destroy(detaching) { if (if_block) if_block.d(detaching); if (detaching) detach_dev(if_block_anchor); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$8.name, type: "component", source: "", ctx }); return block; } function instance$8($$self, $$props, $$invalidate) { let visible = false; let fromStation; let toStation; let url; let routeData = {}; let services = []; route.subscribe(async v => { console.log(">> route", v); fromStation = v.fromStation; toStation = v.toStation; $$invalidate(0, visible = fromStation !== "" ? !visible : false); // url = `https://traintimes.silvrtree.co.uk/gettrains?from=${ fromStation }&to=${ toStation}`; url = `http://localhost:8100/gettrains?from=${fromStation}&to=${toStation}`; if (fromStation !== "" && visible) { await update(); } }); function reduceRoute(data) { const newData = {}; newData.fromName = data.locationName; newData.toName = data.filterLocationName; newData.services = []; if (typeof data.trainServices === "object" && data.trainServices !== null) for (const item of data.trainServices) { const dest = item.destination[0]; const via = dest.via !== null ? `${dest.via}` : ""; const platform = item.platform !== null ? item.platform : "💠"; const time = item.sta !== null ? item.sta : `D ${item.std}`; const status = item.eta !== null ? item.eta : item.etd; const cls = status.toLowerCase() === "on time" ? "ontime" : "delayed"; newData.services.push({ "location": dest.locationName, time, via, "class": cls, status, platform, "cancelReason": item.cancelReason, "type": "train", "isCancelled": item.isCancelled, icon: "" }); } if (typeof data.busServices === "object" && data.busServices !== null) for (const item of data.busServices) { const dest = item.destination[0]; const via = dest.via !== null ? `${dest.via}` : ""; const platform = item.platform !== null ? item.platform : ""; const time = item.sta !== null ? item.sta : `D ${item.std}`; const status = item.eta !== null ? item.eta : item.etd; const cls = status.toLowerCase() === "on time" ? "ontime" : "delayed"; newData.services.push({ "location": dest.locationName, time, via, "class": cls, status, platform, "cancelReason": item.cancelReason, "type": "bus", "isCancelled": item.isCancelled, icon: "🚌 " }); } $$invalidate(1, routeData = newData); $$invalidate(2, services = newData.services); console.log(routeData); } async function update() { await getRoute(); const now = new Date(); const mod = 180000 - now.getTime() % 180000; const routeUpdateFn = function () { update(); }; if (visible) setTimeout(routeUpdateFn.bind(this), mod + 10); } async function getRoute() { console.log("Get route", url); const res = await fetch(url); const json = await res.json(); if (json) { console.log(json); // data = json; reduceRoute(json); } } const writable_props = []; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console_1$1.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("Route", $$slots, []); $$self.$capture_state = () => ({ route, visible, fromStation, toStation, url, routeData, services, reduceRoute, update, getRoute }); $$self.$inject_state = $$props => { if ("visible" in $$props) $$invalidate(0, visible = $$props.visible); if ("fromStation" in $$props) fromStation = $$props.fromStation; if ("toStation" in $$props) toStation = $$props.toStation; if ("url" in $$props) url = $$props.url; if ("routeData" in $$props) $$invalidate(1, routeData = $$props.routeData); if ("services" in $$props) $$invalidate(2, services = $$props.services); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [visible, routeData, services]; } class Route extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$8, create_fragment$8, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Route", options, id: create_fragment$8.name }); } } /* src/App.svelte generated by Svelte v3.20.1 */ const file$9 = "src/App.svelte"; // (46:16) function create_default_slot_11(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; const block = { c: function create() { div = element("div"); div.textContent = "Starting Points/Metasites"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Today"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Events"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Cinema"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Feedly"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "Reddit"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "Facebook"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Yahoo!"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "Journal Editor"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "Slack Bookmarks"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "Paleo Mix"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "Hive Status"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 46, 20, 1293); attr_dev(a0, "href", "https://www.silvrtree.co.uk/today"); add_location(a0, file$9, 48, 28, 1422); add_location(li0, file$9, 48, 24, 1418); attr_dev(a1, "href", "https://www.silvrtree.co.uk/events"); add_location(a1, file$9, 49, 28, 1509); add_location(li1, file$9, 49, 24, 1505); attr_dev(a2, "href", "https://www.silvrtree.co.uk/cinema/0"); add_location(a2, file$9, 50, 28, 1598); add_location(li2, file$9, 50, 24, 1594); attr_dev(a3, "href", "https://feedly.com/#my"); add_location(a3, file$9, 51, 28, 1689); add_location(li3, file$9, 51, 24, 1685); attr_dev(a4, "href", "https://www.reddit.com"); add_location(a4, file$9, 52, 28, 1766); add_location(li4, file$9, 52, 24, 1762); attr_dev(a5, "href", "http://www.facebook.com/"); add_location(a5, file$9, 53, 28, 1843); add_location(li5, file$9, 53, 24, 1839); attr_dev(a6, "href", "http://www.yahoo.com/"); add_location(a6, file$9, 54, 28, 1924); add_location(li6, file$9, 54, 24, 1920); attr_dev(a7, "href", "https://stackedit.io/editor"); add_location(a7, file$9, 55, 28, 2000); add_location(li7, file$9, 55, 24, 1996); attr_dev(a8, "href", "http://www.unmajestic.com/home/bookmarks.php"); add_location(a8, file$9, 56, 28, 2090); add_location(li8, file$9, 56, 24, 2086); attr_dev(a9, "href", "http://www.rssmix.com/u/7711845"); add_location(a9, file$9, 57, 28, 2198); add_location(li9, file$9, 57, 24, 2194); attr_dev(a10, "href", "http://status.hivehome.com/"); add_location(a10, file$9, 58, 28, 2287); add_location(li10, file$9, 58, 24, 2283); add_location(ul, file$9, 47, 20, 1389); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_11.name, type: "slot", source: "(46:16) ", ctx }); return block; } // (62:16) function create_default_slot_10(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; let t23; let li11; let a11; let t25; let li12; let a12; let t27; let li13; let a13; let t29; let li14; let a14; let t31; let li15; let a15; let t33; let li16; let a16; let t35; let li17; let a17; let t37; let li18; let a18; let t39; let li19; let a19; let t41; let li20; let a20; let t43; let li21; let a21; let t45; let li22; let a22; let t47; let li23; let a23; let t49; let li24; let a24; let t51; let li25; let a25; let t53; let li26; let a26; let t55; let li27; let a27; let t57; let li28; let a28; let t59; let li29; let a29; let t61; let li30; let a30; let t63; let li31; let a31; let t65; let li32; let a32; let t67; let li33; let a33; let t69; let li34; let a34; let t71; let current; const password = new Password({ $$inline: true }); const block = { c: function create() { div = element("div"); div.textContent = "Tools"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Cleaner"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Kanban Flow"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Linode"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "CSS Gradient Generator"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "XML to JSON"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "CSV to JSON"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Cubic Bezier"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "RegEx Tool"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "Closure Compiler"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "JSON Lint"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "JSON Editor"; t23 = space(); li11 = element("li"); a11 = element("a"); a11.textContent = "Base64 Decoder"; t25 = space(); li12 = element("li"); a12 = element("a"); a12.textContent = "JS Beautifier"; t27 = space(); li13 = element("li"); a13 = element("a"); a13.textContent = "Spritepad"; t29 = space(); li14 = element("li"); a14 = element("a"); a14.textContent = "Sprite Sheet Generator"; t31 = space(); li15 = element("li"); a15 = element("a"); a15.textContent = "CSS Optimizer"; t33 = space(); li16 = element("li"); a16 = element("a"); a16.textContent = "Icon Font Generator"; t35 = space(); li17 = element("li"); a17 = element("a"); a17.textContent = "HTML to Jade"; t37 = space(); li18 = element("li"); a18 = element("a"); a18.textContent = "Cloudflare JS CDN"; t39 = space(); li19 = element("li"); a19 = element("a"); a19.textContent = "HTML Minifier"; t41 = space(); li20 = element("li"); a20 = element("a"); a20.textContent = "XSS Cheat Sheet"; t43 = space(); li21 = element("li"); a21 = element("a"); a21.textContent = "JSFiddle"; t45 = space(); li22 = element("li"); a22 = element("a"); a22.textContent = "JS Bin"; t47 = space(); li23 = element("li"); a23 = element("a"); a23.textContent = "Draftin"; t49 = space(); li24 = element("li"); a24 = element("a"); a24.textContent = "Android Asset"; t51 = space(); li25 = element("li"); a25 = element("a"); a25.textContent = "Password Generator"; t53 = space(); li26 = element("li"); a26 = element("a"); a26.textContent = "Password Checker"; t55 = space(); li27 = element("li"); a27 = element("a"); a27.textContent = "Archive Today"; t57 = space(); li28 = element("li"); a28 = element("a"); a28.textContent = "Static Map Generator"; t59 = space(); li29 = element("li"); a29 = element("a"); a29.textContent = "AJAX Endpoints"; t61 = space(); li30 = element("li"); a30 = element("a"); a30.textContent = "WebSSH"; t63 = space(); li31 = element("li"); a31 = element("a"); a31.textContent = "Jade Tester"; t65 = space(); li32 = element("li"); a32 = element("a"); a32.textContent = "ES6 Console"; t67 = space(); li33 = element("li"); a33 = element("a"); a33.textContent = "Cron Guru"; t69 = space(); li34 = element("li"); a34 = element("a"); a34.textContent = "FontDrop"; t71 = space(); create_component(password.$$.fragment); attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 62, 20, 2441); attr_dev(a0, "href", "/cleaner"); add_location(a0, file$9, 64, 28, 2550); add_location(li0, file$9, 64, 24, 2546); attr_dev(a1, "href", "https://kanbanflow.com"); add_location(a1, file$9, 65, 28, 2614); add_location(li1, file$9, 65, 24, 2610); attr_dev(a2, "href", "https://www.linode.com/"); add_location(a2, file$9, 66, 28, 2696); add_location(li2, file$9, 66, 24, 2692); attr_dev(a3, "href", "http://www.colorzilla.com/gradient-editor/"); add_location(a3, file$9, 67, 28, 2774); add_location(li3, file$9, 67, 24, 2770); attr_dev(a4, "href", "http://utilities-online.info/xmltojson"); add_location(a4, file$9, 68, 28, 2887); add_location(li4, file$9, 68, 24, 2883); attr_dev(a5, "href", "http://shancarter.com/data_converter"); add_location(a5, file$9, 69, 28, 2985); add_location(li5, file$9, 69, 24, 2981); attr_dev(a6, "href", "http://cubic-bezier.com/"); add_location(a6, file$9, 70, 28, 3081); add_location(li6, file$9, 70, 24, 3077); attr_dev(a7, "href", "http://gskinner.com/RegExr/"); add_location(a7, file$9, 71, 28, 3166); add_location(li7, file$9, 71, 24, 3162); attr_dev(a8, "href", "http://closure-compiler.appspot.com/home"); add_location(a8, file$9, 72, 28, 3252); add_location(li8, file$9, 72, 24, 3248); attr_dev(a9, "href", "http://jsonlint.com/"); add_location(a9, file$9, 73, 28, 3357); add_location(li9, file$9, 73, 24, 3353); attr_dev(a10, "href", "http://jsoneditoronline.org/"); add_location(a10, file$9, 74, 28, 3435); add_location(li10, file$9, 74, 24, 3431); attr_dev(a11, "href", "http://www.base64decode.org/"); add_location(a11, file$9, 75, 28, 3523); add_location(li11, file$9, 75, 24, 3519); attr_dev(a12, "href", "http://jsbeautifier.org/"); add_location(a12, file$9, 76, 28, 3614); add_location(li12, file$9, 76, 24, 3610); attr_dev(a13, "href", "http://spritepad.wearekiss.com/"); add_location(a13, file$9, 77, 28, 3700); add_location(li13, file$9, 77, 24, 3696); attr_dev(a14, "href", "http://draeton.github.com/stitches/"); add_location(a14, file$9, 78, 28, 3789); add_location(li14, file$9, 78, 24, 3785); attr_dev(a15, "href", "http://www.cleancss.com/"); add_location(a15, file$9, 79, 28, 3895); add_location(li15, file$9, 79, 24, 3891); attr_dev(a16, "href", "http://fontello.com/"); add_location(a16, file$9, 80, 28, 3981); add_location(li16, file$9, 80, 24, 3977); attr_dev(a17, "href", "http://html2jade.aaron-powell.com/"); add_location(a17, file$9, 81, 28, 4069); add_location(li17, file$9, 81, 24, 4065); attr_dev(a18, "href", "http://cdnjs.com//"); add_location(a18, file$9, 82, 28, 4164); add_location(li18, file$9, 82, 24, 4160); attr_dev(a19, "href", "http://www.willpeavy.com/minifier/"); add_location(a19, file$9, 83, 28, 4248); add_location(li19, file$9, 83, 24, 4244); attr_dev(a20, "href", "https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet"); add_location(a20, file$9, 84, 28, 4344); add_location(li20, file$9, 84, 24, 4340); attr_dev(a21, "href", "http://jsfiddle.net/"); add_location(a21, file$9, 85, 28, 4470); add_location(li21, file$9, 85, 24, 4466); attr_dev(a22, "href", "http://jsbin.com/"); add_location(a22, file$9, 86, 28, 4547); add_location(li22, file$9, 86, 24, 4543); attr_dev(a23, "href", "https://draftin.com/documents"); add_location(a23, file$9, 87, 28, 4619); add_location(li23, file$9, 87, 24, 4615); attr_dev(a24, "href", "https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html"); add_location(a24, file$9, 88, 28, 4704); add_location(li24, file$9, 88, 24, 4700); attr_dev(a25, "href", "https://xkpasswd.net/s/"); add_location(a25, file$9, 89, 28, 4833); add_location(li25, file$9, 89, 24, 4829); attr_dev(a26, "href", "https://howsecureismypassword.net/"); add_location(a26, file$9, 90, 28, 4923); add_location(li26, file$9, 90, 24, 4919); attr_dev(a27, "href", "https://archive.today"); add_location(a27, file$9, 91, 28, 5022); add_location(li27, file$9, 91, 24, 5018); attr_dev(a28, "href", "http://staticmapmaker.com/google/"); add_location(a28, file$9, 92, 28, 5105); add_location(li28, file$9, 92, 24, 5101); attr_dev(a29, "href", "https://httpbin.org/"); add_location(a29, file$9, 93, 28, 5207); add_location(li29, file$9, 93, 24, 5203); attr_dev(a30, "href", "https://tools.bartlweb.net/webssh/"); add_location(a30, file$9, 94, 28, 5290); add_location(li30, file$9, 94, 24, 5286); attr_dev(a31, "href", "http://jade-lang.com/demo/"); add_location(a31, file$9, 95, 28, 5379); add_location(li31, file$9, 95, 24, 5375); attr_dev(a32, "href", "https://es6console.com/"); add_location(a32, file$9, 96, 28, 5465); add_location(li32, file$9, 96, 24, 5461); attr_dev(a33, "href", "https://crontab.guru/"); add_location(a33, file$9, 97, 28, 5548); add_location(li33, file$9, 97, 24, 5544); attr_dev(a34, "href", "https://fontdrop.info/"); add_location(a34, file$9, 98, 28, 5627); add_location(li34, file$9, 98, 24, 5623); add_location(ul, file$9, 63, 20, 2517); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); append_dev(ul, t23); append_dev(ul, li11); append_dev(li11, a11); append_dev(ul, t25); append_dev(ul, li12); append_dev(li12, a12); append_dev(ul, t27); append_dev(ul, li13); append_dev(li13, a13); append_dev(ul, t29); append_dev(ul, li14); append_dev(li14, a14); append_dev(ul, t31); append_dev(ul, li15); append_dev(li15, a15); append_dev(ul, t33); append_dev(ul, li16); append_dev(li16, a16); append_dev(ul, t35); append_dev(ul, li17); append_dev(li17, a17); append_dev(ul, t37); append_dev(ul, li18); append_dev(li18, a18); append_dev(ul, t39); append_dev(ul, li19); append_dev(li19, a19); append_dev(ul, t41); append_dev(ul, li20); append_dev(li20, a20); append_dev(ul, t43); append_dev(ul, li21); append_dev(li21, a21); append_dev(ul, t45); append_dev(ul, li22); append_dev(li22, a22); append_dev(ul, t47); append_dev(ul, li23); append_dev(li23, a23); append_dev(ul, t49); append_dev(ul, li24); append_dev(li24, a24); append_dev(ul, t51); append_dev(ul, li25); append_dev(li25, a25); append_dev(ul, t53); append_dev(ul, li26); append_dev(li26, a26); append_dev(ul, t55); append_dev(ul, li27); append_dev(li27, a27); append_dev(ul, t57); append_dev(ul, li28); append_dev(li28, a28); append_dev(ul, t59); append_dev(ul, li29); append_dev(li29, a29); append_dev(ul, t61); append_dev(ul, li30); append_dev(li30, a30); append_dev(ul, t63); append_dev(ul, li31); append_dev(li31, a31); append_dev(ul, t65); append_dev(ul, li32); append_dev(li32, a32); append_dev(ul, t67); append_dev(ul, li33); append_dev(li33, a33); append_dev(ul, t69); append_dev(ul, li34); append_dev(li34, a34); insert_dev(target, t71, anchor); mount_component(password, target, anchor); current = true; }, i: function intro(local) { if (current) return; transition_in(password.$$.fragment, local); current = true; }, o: function outro(local) { transition_out(password.$$.fragment, local); current = false; }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); if (detaching) detach_dev(t71); destroy_component(password, detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_10.name, type: "slot", source: "(62:16) ", ctx }); return block; } // (103:4) function create_default_slot_9(ctx) { let div; let t0; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; let t23; let li11; let a11; let t25; let li12; let a12; let t27; let span; let img; let img_src_value; let current; let dispose; const bitcoin = new Bitcoin({ $$inline: true }); const block = { c: function create() { div = element("div"); t0 = text("Bitcoin "); create_component(bitcoin.$$.fragment); t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Bitstamp"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Kraken"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Cryptowat.ch"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "BTC Chart"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "BTC Chart 2"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "BitStamp Chart"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Bitstamp Chart 2"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "BitBargin UK"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "Yacuna UK"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "Blockchain"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "Bitminter"; t23 = space(); li11 = element("li"); a11 = element("a"); a11.textContent = "BTC Exchange Rate"; t25 = space(); li12 = element("li"); a12 = element("a"); a12.textContent = "CFT Watcher"; t27 = space(); span = element("span"); img = element("img"); attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 103, 5, 5779); attr_dev(a0, "href", "https://www.bitstamp.net"); add_location(a0, file$9, 105, 10, 5868); add_location(li0, file$9, 105, 6, 5864); attr_dev(a1, "href", "https://www.kraken.net"); add_location(a1, file$9, 106, 10, 5931); add_location(li1, file$9, 106, 6, 5927); attr_dev(a2, "href", "https://cryptowat.ch/"); add_location(a2, file$9, 107, 10, 5990); add_location(li2, file$9, 107, 6, 5986); attr_dev(a3, "href", "http://www.coindesk.com/price/"); add_location(a3, file$9, 108, 10, 6054); add_location(li3, file$9, 108, 6, 6050); attr_dev(a4, "href", "https://bitcoinwisdom.com/"); add_location(a4, file$9, 109, 10, 6124); add_location(li4, file$9, 109, 6, 6120); attr_dev(a5, "href", "http://bitcoinity.org/markets/bitstamp/USD"); add_location(a5, file$9, 110, 10, 6192); add_location(li5, file$9, 110, 6, 6188); attr_dev(a6, "href", "http://btc-chart.com/market/bitstamp/86400"); add_location(a6, file$9, 111, 10, 6279); add_location(li6, file$9, 111, 6, 6275); attr_dev(a7, "href", "https://bitbargain.co.uk"); add_location(a7, file$9, 112, 10, 6368); add_location(li7, file$9, 112, 6, 6364); attr_dev(a8, "href", "https://yacuna.com/"); add_location(a8, file$9, 113, 10, 6435); add_location(li8, file$9, 113, 6, 6431); attr_dev(a9, "href", "http://blockchain.info/"); add_location(a9, file$9, 114, 10, 6494); add_location(li9, file$9, 114, 6, 6490); attr_dev(a10, "href", "http://bitminter.com/"); add_location(a10, file$9, 115, 10, 6558); add_location(li10, file$9, 115, 6, 6554); attr_dev(a11, "href", "http://preev.com/"); add_location(a11, file$9, 116, 10, 6619); add_location(li11, file$9, 116, 6, 6615); attr_dev(a12, "href", "http://www.silvrtree.co.uk/watch.html"); add_location(a12, file$9, 117, 10, 6684); if (img.src !== (img_src_value = "gfx/popout.png")) attr_dev(img, "src", img_src_value); attr_dev(img, "alt", "CFT Watcher"); attr_dev(img, "data-url", "http://www.silvrtree.co.uk/watch.html"); add_location(img, file$9, 119, 32, 6869); set_style(span, "cursor", "pointer"); attr_dev(span, "data-url", "http://www.silvrtree.co.uk/watch.html"); add_location(span, file$9, 118, 7, 6755); add_location(li12, file$9, 117, 6, 6680); add_location(ul, file$9, 104, 5, 5853); }, m: function mount(target, anchor, remount) { insert_dev(target, div, anchor); append_dev(div, t0); mount_component(bitcoin, div, null); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); append_dev(ul, t23); append_dev(ul, li11); append_dev(li11, a11); append_dev(ul, t25); append_dev(ul, li12); append_dev(li12, a12); append_dev(li12, t27); append_dev(li12, span); append_dev(span, img); current = true; if (remount) dispose(); dispose = listen_dev(img, "click", stop_propagation(popitoutSmall), false, false, true); }, p: noop, i: function intro(local) { if (current) return; transition_in(bitcoin.$$.fragment, local); current = true; }, o: function outro(local) { transition_out(bitcoin.$$.fragment, local); current = false; }, d: function destroy(detaching) { if (detaching) detach_dev(div); destroy_component(bitcoin); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); dispose(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_9.name, type: "slot", source: "(103:4) ", ctx }); return block; } // (128:16) function create_default_slot_8(ctx) { let div; let t1; let ul; let li; let a; const block = { c: function create() { div = element("div"); div.textContent = "Package Tracking"; t1 = space(); ul = element("ul"); li = element("li"); a = element("a"); a.textContent = "UPS"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 128, 20, 7174); attr_dev(a, "href", "http://m.ups.com/"); add_location(a, file$9, 131, 28, 7337); add_location(li, file$9, 131, 24, 7333); add_location(ul, file$9, 130, 20, 7304); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li); append_dev(li, a); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_8.name, type: "slot", source: "(128:16) ", ctx }); return block; } // (135:16) function create_default_slot_7(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; let t23; let li11; let a11; let t25; let li12; let a12; let t27; let li13; let a13; let t29; let li14; let a14; const block = { c: function create() { div = element("div"); div.textContent = "Weather"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Dumbarton\n Weather"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "WU\n Dumbarton Weather"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Y! Dumbarton Weather"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Glasgow\n Weather"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "WU\n Glasgow Weather"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "Live Lightning"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Other Live Lightning"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "Closer Live Lightning"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "Multiple Lightning"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "European Lightning"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "East Kilbride Lightning"; t23 = space(); li11 = element("li"); a11 = element("a"); a11.textContent = "Borders Lightning"; t25 = space(); li12 = element("li"); a12 = element("a"); a12.textContent = "Best Live Lightning"; t27 = space(); li13 = element("li"); a13 = element("a"); a13.textContent = "Ships"; t29 = space(); li14 = element("li"); a14 = element("a"); a14.textContent = "Rain Today"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 135, 20, 7473); attr_dev(a0, "href", "http://www.accuweather.com/ukie/index-forecast.asp?postalcode=G82%201RG"); add_location(a0, file$9, 138, 28, 7613); add_location(li0, file$9, 137, 24, 7580); attr_dev(a1, "href", "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=dumbarton,%20uk&wuSelect=WEATHER"); add_location(a1, file$9, 142, 28, 7836); add_location(li1, file$9, 141, 24, 7803); attr_dev(a2, "href", "http://weather.yahoo.com/forecast/UKXX0663.html?unit=c"); add_location(a2, file$9, 146, 28, 8089); add_location(li2, file$9, 145, 24, 8056); attr_dev(a3, "href", "http://www.accuweather.com/ukie/index-forecast.asp?postalcode=G9%202SU"); add_location(a3, file$9, 149, 28, 8266); add_location(li3, file$9, 148, 24, 8233); attr_dev(a4, "href", "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=glasgow,%20uk&wuSelect=WEATHER"); add_location(a4, file$9, 153, 28, 8486); add_location(li4, file$9, 152, 24, 8453); attr_dev(a5, "href", "http://www.nowcast.co.uk/lightning/"); add_location(a5, file$9, 156, 28, 8706); add_location(li5, file$9, 156, 24, 8702); attr_dev(a6, "href", "http://www.upminsterweather.co.uk/test/live_lightning.htm"); add_location(a6, file$9, 159, 28, 8858); add_location(li6, file$9, 158, 24, 8825); attr_dev(a7, "href", "http://www.meteorologica.info/freedata_lightning.htm"); add_location(a7, file$9, 162, 28, 9038); add_location(li7, file$9, 161, 24, 9005); attr_dev(a8, "href", "http://www.malvernwx.co.uk/lightning_data/lightning.htm"); add_location(a8, file$9, 165, 28, 9214); add_location(li8, file$9, 164, 24, 9181); attr_dev(a9, "href", "http://www.blitzortung.org/Webpages/index.php"); add_location(a9, file$9, 168, 28, 9390); add_location(li9, file$9, 167, 24, 9357); attr_dev(a10, "href", "http://www.madpaddler.net/wxlightning.php"); add_location(a10, file$9, 171, 28, 9556); add_location(li10, file$9, 170, 24, 9523); attr_dev(a11, "href", "http://www.bordersweather.co.uk/wxlightning.php"); add_location(a11, file$9, 174, 28, 9723); add_location(li11, file$9, 173, 24, 9690); attr_dev(a12, "href", "http://www.lightningmaps.org/blitzortung/europe/index.php?bo_page=map⟨=en"); add_location(a12, file$9, 176, 28, 9861); add_location(li12, file$9, 176, 24, 9857); attr_dev(a13, "href", "http://www.madpaddler.net/wxais.php"); add_location(a13, file$9, 177, 28, 10006); add_location(li13, file$9, 177, 24, 10002); attr_dev(a14, "href", "http://www.raintoday.co.uk/"); add_location(a14, file$9, 178, 28, 10095); add_location(li14, file$9, 178, 24, 10091); add_location(ul, file$9, 136, 20, 7551); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); append_dev(ul, t23); append_dev(ul, li11); append_dev(li11, a11); append_dev(ul, t25); append_dev(ul, li12); append_dev(li12, a12); append_dev(ul, t27); append_dev(ul, li13); append_dev(li13, a13); append_dev(ul, t29); append_dev(ul, li14); append_dev(li14, a14); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_7.name, type: "slot", source: "(135:16) ", ctx }); return block; } // (183:16) function create_default_slot_6(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; const block = { c: function create() { div = element("div"); div.textContent = "Free Email WEBpages"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Gmail"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Unmajestic Webmail"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Artizan Webmail"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Yahoo Mail"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "Guerrilla Mail Anti Spam"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 183, 20, 10249); attr_dev(a0, "href", "http://gmail.google.com/"); add_location(a0, file$9, 186, 28, 10421); add_location(li0, file$9, 186, 24, 10417); attr_dev(a1, "href", "http://www.unmajestic.com/webmail/"); add_location(a1, file$9, 188, 28, 10528); add_location(li1, file$9, 187, 24, 10495); attr_dev(a2, "href", "http://www.artizanconsulting.co.uk/webmail/"); add_location(a2, file$9, 191, 28, 10683); add_location(li2, file$9, 190, 24, 10650); attr_dev(a3, "href", "http://mail.yahoo.com"); add_location(a3, file$9, 193, 28, 10815); add_location(li3, file$9, 193, 24, 10811); attr_dev(a4, "href", "https://www.guerrillamail.com/"); add_location(a4, file$9, 195, 28, 10924); add_location(li4, file$9, 194, 24, 10891); add_location(ul, file$9, 185, 20, 10388); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_6.name, type: "slot", source: "(183:16) ", ctx }); return block; } // (204:16) function create_default_slot_5(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; const block = { c: function create() { div = element("div"); div.textContent = "Contracting"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Outsauce Timesheets"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "CF Timesheets"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "monster"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "cwjobs"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "s1jobs"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "jobserve"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "jobsite"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "IT Jobs Watch Scotland"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 204, 20, 11174); attr_dev(a0, "href", "https://outsauce.backofficeportal.com/Secure/Candidate/Default.aspx"); add_location(a0, file$9, 206, 28, 11289); add_location(li0, file$9, 206, 24, 11285); attr_dev(a1, "href", "https://worksheets.computerfutures.com/"); add_location(a1, file$9, 207, 28, 11424); add_location(li1, file$9, 207, 24, 11420); attr_dev(a2, "href", "http://www.monster.co.uk/"); add_location(a2, file$9, 208, 28, 11525); add_location(li2, file$9, 208, 24, 11521); attr_dev(a3, "href", "http://www.cwjobs.co.uk/"); add_location(a3, file$9, 209, 28, 11606); add_location(li3, file$9, 209, 24, 11602); attr_dev(a4, "href", "http://www.s1jobs.com/myaccount/"); add_location(a4, file$9, 210, 28, 11685); add_location(li4, file$9, 210, 24, 11681); attr_dev(a5, "href", "http://www.jobserve.com/"); add_location(a5, file$9, 211, 28, 11772); add_location(li5, file$9, 211, 24, 11768); attr_dev(a6, "href", "http://www.jobsite.co.uk/jbe/myprofile/"); add_location(a6, file$9, 212, 28, 11853); add_location(li6, file$9, 212, 24, 11849); attr_dev(a7, "href", "http://www.itjobswatch.co.uk/contracts/scotland/asp.do"); add_location(a7, file$9, 215, 28, 12002); add_location(li7, file$9, 214, 24, 11969); add_location(ul, file$9, 205, 20, 11256); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_5.name, type: "slot", source: "(204:16) ", ctx }); return block; } // (221:16) function create_default_slot_4(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; let t23; let li11; let a11; let t25; let li12; let a12; const block = { c: function create() { div = element("div"); div.textContent = "Entertainment"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Amazing Radio Chill"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Cineworld"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Showcase"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Imdb"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "EPGuides"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "Eztv"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Mininova"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "Scrapetorrent"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "Whats on In Glasgow"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "Local Events"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "Nectarine"; t23 = space(); li11 = element("li"); a11 = element("a"); a11.textContent = "STR - Space Travel Radio"; t25 = space(); li12 = element("li"); a12 = element("a"); a12.textContent = "musik.drumstep"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 221, 20, 12220); attr_dev(a0, "href", "http://genre.amazingradio.co.uk:8000/stream.mp3?arplayer=1"); add_location(a0, file$9, 225, 28, 12409); add_location(li0, file$9, 224, 24, 12376); attr_dev(a1, "href", "http://www.cineworld.co.uk/cinemas/28?fallback=false&isMobileAgent=false"); add_location(a1, file$9, 228, 28, 12589); add_location(li1, file$9, 227, 24, 12556); attr_dev(a2, "href", "http://www.showcasecinemas.co.uk/showtimes/default.asp?selectTheatre=8508"); add_location(a2, file$9, 231, 28, 12773); add_location(li2, file$9, 230, 24, 12740); attr_dev(a3, "href", "http://www.imdb.com/"); add_location(a3, file$9, 233, 28, 12928); add_location(li3, file$9, 233, 24, 12924); attr_dev(a4, "href", "http://www.epguides.com/"); add_location(a4, file$9, 234, 28, 13001); add_location(li4, file$9, 234, 24, 12997); attr_dev(a5, "href", "http://eztv.it"); add_location(a5, file$9, 235, 28, 13082); add_location(li5, file$9, 235, 24, 13078); attr_dev(a6, "href", "http://www.mininova.org"); add_location(a6, file$9, 236, 28, 13149); add_location(li6, file$9, 236, 24, 13145); attr_dev(a7, "href", "http://www.scrapetorrent.com"); add_location(a7, file$9, 237, 28, 13229); add_location(li7, file$9, 237, 24, 13225); attr_dev(a8, "href", "http://glasgow.myvillage.com/events"); add_location(a8, file$9, 239, 28, 13348); add_location(li8, file$9, 238, 24, 13315); attr_dev(a9, "href", "http://www.5pm.co.uk/Search/Event/"); add_location(a9, file$9, 241, 28, 13476); add_location(li9, file$9, 241, 24, 13472); attr_dev(a10, "href", "http://necta.jansenit.com:8000/necta192.mp3"); add_location(a10, file$9, 243, 28, 13596); add_location(li10, file$9, 243, 24, 13592); attr_dev(a11, "href", "/playlists/str.pls"); add_location(a11, file$9, 245, 28, 13722); add_location(li11, file$9, 245, 24, 13718); attr_dev(a12, "href", "/playlists/musik.drumstep.pls"); add_location(a12, file$9, 247, 28, 13838); add_location(li12, file$9, 247, 24, 13834); add_location(ul, file$9, 223, 20, 12347); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); append_dev(ul, t23); append_dev(ul, li11); append_dev(li11, a11); append_dev(ul, t25); append_dev(ul, li12); append_dev(li12, a12); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_4.name, type: "slot", source: "(221:16) ", ctx }); return block; } // (253:16) function create_default_slot_3(ctx) { let div0; let t0; let t1; let div1; let t2; let t3; let div2; let t4; let ul; let li0; let a0; let t6; let li1; let a1; let t8; let li2; let a2; let t10; let li3; let a3; let t12; let li4; let a4; let t14; let a5; let t16; let li5; let a6; let t18; let span; let img; let img_src_value; let t19; let a7; let t21; let li6; let a8; let t23; let a9; let t25; let li7; let a10; let t27; let a11; let t29; let a12; let t31; let li8; let a13; let t33; let li9; let a14; let t35; let li10; let a15; let t37; let li11; let a16; let t39; let li12; let a17; let t41; let li13; let a18; let t43; let li14; let a19; let t45; let li15; let a20; let t47; let li16; let a21; let t49; let li17; let a22; let t51; let li18; let a23; let t53; let li19; let a24; let t55; let li20; let a25; let t57; let li21; let a26; let t59; let li22; let a27; let t61; let li23; let a28; let t63; let li24; let a29; let current; let dispose; const fx = new Fx({ $$inline: true }); const train0 = new Train({ props: { fromStation: "dbe", toStation: "glq" }, $$inline: true }); const train1 = new Train({ props: { fromStation: "glq", toStation: "dbe" }, $$inline: true }); const route = new Route({ $$inline: true }); const block = { c: function create() { div0 = element("div"); t0 = text("Travel "); create_component(fx.$$.fragment); t1 = space(); div1 = element("div"); create_component(train0.$$.fragment); t2 = space(); create_component(train1.$$.fragment); t3 = space(); div2 = element("div"); create_component(route.$$.fragment); t4 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Journey Check"; t6 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Train Mapper"; t8 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Traffic Scotland"; t10 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "AA Traffic News"; t12 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "DBE->WES"; t14 = text("\n /\n "); a5 = element("a"); a5.textContent = "Advanced"; t16 = space(); li5 = element("li"); a6 = element("a"); a6.textContent = "WES->DBE"; t18 = space(); span = element("span"); img = element("img"); t19 = text("\n /\n "); a7 = element("a"); a7.textContent = "Advanced"; t21 = space(); li6 = element("li"); a8 = element("a"); a8.textContent = "DBE Board"; t23 = text("\n /\n "); a9 = element("a"); a9.textContent = "Advanced"; t25 = space(); li7 = element("li"); a10 = element("a"); a10.textContent = "GLQ Trains"; t27 = text(" /\n "); a11 = element("a"); a11.textContent = "Adv"; t29 = text(" /\n "); a12 = element("a"); a12.textContent = "GLQ->DBE"; t31 = space(); li8 = element("li"); a13 = element("a"); a13.textContent = "Kayak"; t33 = space(); li9 = element("li"); a14 = element("a"); a14.textContent = "Travelocity"; t35 = space(); li10 = element("li"); a15 = element("a"); a15.textContent = "Travel.com"; t37 = space(); li11 = element("li"); a16 = element("a"); a16.textContent = "Airlines"; t39 = space(); li12 = element("li"); a17 = element("a"); a17.textContent = "Landings"; t41 = space(); li13 = element("li"); a18 = element("a"); a18.textContent = "Maps"; t43 = space(); li14 = element("li"); a19 = element("a"); a19.textContent = "Maps2"; t45 = space(); li15 = element("li"); a20 = element("a"); a20.textContent = "ITN"; t47 = space(); li16 = element("li"); a21 = element("a"); a21.textContent = "HAFAS"; t49 = space(); li17 = element("li"); a22 = element("a"); a22.textContent = "DieBahn"; t51 = space(); li18 = element("li"); a23 = element("a"); a23.textContent = "RailUSA"; t53 = space(); li19 = element("li"); a24 = element("a"); a24.textContent = "TrainWeb"; t55 = space(); li20 = element("li"); a25 = element("a"); a25.textContent = "RailWorld"; t57 = space(); li21 = element("li"); a26 = element("a"); a26.textContent = "Currency Converter"; t59 = space(); li22 = element("li"); a27 = element("a"); a27.textContent = "CIA"; t61 = space(); li23 = element("li"); a28 = element("a"); a28.textContent = "GMaps"; t63 = space(); li24 = element("li"); a29 = element("a"); a29.textContent = "Tube Status"; attr_dev(div0, "class", "mui--text-title mui-text-black"); add_location(div0, file$9, 253, 20, 14023); add_location(div1, file$9, 256, 20, 14143); add_location(div2, file$9, 261, 20, 14331); attr_dev(a0, "href", "http://www.journeycheck.com/firstscotrail"); add_location(a0, file$9, 267, 28, 14480); add_location(li0, file$9, 266, 24, 14447); attr_dev(a1, "href", "https://www.virgintrainseastcoast.com/trainmapper/"); add_location(a1, file$9, 270, 28, 14637); add_location(li1, file$9, 269, 24, 14604); attr_dev(a2, "href", "https://trafficscotland.org/whatsnearme/#"); add_location(a2, file$9, 273, 28, 14802); add_location(li2, file$9, 272, 24, 14769); attr_dev(a3, "href", "http://www.theaa.com/traffic-news/glasgow%20uk/"); add_location(a3, file$9, 276, 28, 14962); add_location(li3, file$9, 275, 24, 14929); attr_dev(a4, "href", "http://ojp.nationalrail.co.uk/service/ldbboard/dep/DBE/WES/To?ar=true"); add_location(a4, file$9, 279, 28, 15127); attr_dev(a5, "href", "http://www.traintime.uk/index.php?view=desktop&from=DBE&to=WES"); add_location(a5, file$9, 281, 28, 15278); add_location(li4, file$9, 278, 24, 15094); attr_dev(a6, "href", "http://ojp.nationalrail.co.uk/service/ldbboard/dep/WES/DBE/To?ar=true"); add_location(a6, file$9, 284, 28, 15451); if (img.src !== (img_src_value = "gfx/popout.png")) attr_dev(img, "src", img_src_value); attr_dev(img, "data-url", "http://ojp.nationalrail.co.uk/service/ldbboard/dep/WES/DBE/To?ar=true#skip-content-hold"); add_location(img, file$9, 285, 59, 15603); set_style(span, "cursor", "pointer"); add_location(span, file$9, 285, 28, 15572); attr_dev(a7, "href", "http://www.traintime.uk/index.php?view=desktop&from=WES&to=DBE"); add_location(a7, file$9, 288, 28, 15866); add_location(li5, file$9, 283, 24, 15418); attr_dev(a8, "href", "http://www.livedepartureboards.co.uk/ldb/summary.aspx?T=DBE"); add_location(a8, file$9, 291, 28, 16039); attr_dev(a9, "href", "http://www.stationboard.uk/index.php?view=desktop&station1=DBE&direction=departures"); add_location(a9, file$9, 293, 28, 16181); add_location(li6, file$9, 290, 24, 16006); attr_dev(a10, "href", "http://www.livedepartureboards.co.uk/ldb/summary.aspx?T=GLQ"); add_location(a10, file$9, 296, 28, 16375); attr_dev(a11, "href", "http://www.stationboard.uk/index.php?view=desktop&station1=GLQ&direction=departures"); add_location(a11, file$9, 297, 28, 16490); attr_dev(a12, "href", "http://www.traintime.uk/index.php?view=desktop&from=GLQ&to=DBE"); add_location(a12, file$9, 298, 28, 16622); add_location(li7, file$9, 295, 24, 16342); attr_dev(a13, "href", "http://www.kayak.co.uk/"); add_location(a13, file$9, 300, 28, 16766); add_location(li8, file$9, 300, 24, 16762); attr_dev(a14, "href", "http://www.travelocity.co.uk/"); add_location(a14, file$9, 301, 28, 16843); add_location(li9, file$9, 301, 24, 16839); attr_dev(a15, "href", "http://www.travel.com/sitemap.htm"); add_location(a15, file$9, 302, 28, 16932); add_location(li10, file$9, 302, 24, 16928); attr_dev(a16, "href", "http://www.landings.com/_landings/pages/commercial.html"); add_location(a16, file$9, 304, 28, 17053); add_location(li11, file$9, 303, 24, 17020); attr_dev(a17, "href", "http://www.flightstats.com"); add_location(a17, file$9, 306, 28, 17190); add_location(li12, file$9, 306, 24, 17186); attr_dev(a18, "href", "http://www.lib.utexas.edu/Libs/PCL/Map_collection/map_sites/map_sites.html#general"); add_location(a18, file$9, 308, 28, 17302); add_location(li13, file$9, 307, 24, 17269); attr_dev(a19, "href", "http://www.sitesatlas.com/Maps/"); add_location(a19, file$9, 310, 28, 17462); add_location(li14, file$9, 310, 24, 17458); attr_dev(a20, "href", "http://www.itn.net/"); add_location(a20, file$9, 311, 28, 17547); add_location(li15, file$9, 311, 24, 17543); attr_dev(a21, "href", "http://bahn.hafas.de/bin/query.exe/en"); add_location(a21, file$9, 312, 28, 17618); add_location(li16, file$9, 312, 24, 17614); attr_dev(a22, "href", "http://bahn.hafas.de/bin/query.exe/en"); add_location(a22, file$9, 313, 28, 17709); add_location(li17, file$9, 313, 24, 17705); attr_dev(a23, "href", "http://www.cwrr.com/nmra/travelreg.html"); add_location(a23, file$9, 314, 28, 17802); add_location(li18, file$9, 314, 24, 17798); attr_dev(a24, "href", "http://www.trainweb.com/frames_travel.html"); add_location(a24, file$9, 317, 28, 17951); add_location(li19, file$9, 316, 24, 17918); attr_dev(a25, "href", "http://www.cwrr.com/nmra/travelw2.html"); add_location(a25, file$9, 319, 28, 18075); add_location(li20, file$9, 319, 24, 18071); attr_dev(a26, "href", "http://www.xe.net/currency/"); add_location(a26, file$9, 321, 28, 18196); add_location(li21, file$9, 321, 24, 18192); attr_dev(a27, "href", "http://www.cia.gov/cia/publications/factbook/index.html"); add_location(a27, file$9, 324, 28, 18344); add_location(li22, file$9, 323, 24, 18311); attr_dev(a28, "href", "http://maps.google.com/"); add_location(a28, file$9, 326, 28, 18476); add_location(li23, file$9, 326, 24, 18472); attr_dev(a29, "href", "https://unop.uk/tube/"); add_location(a29, file$9, 327, 28, 18553); add_location(li24, file$9, 327, 24, 18549); add_location(ul, file$9, 265, 20, 14418); }, m: function mount(target, anchor, remount) { insert_dev(target, div0, anchor); append_dev(div0, t0); mount_component(fx, div0, null); insert_dev(target, t1, anchor); insert_dev(target, div1, anchor); mount_component(train0, div1, null); append_dev(div1, t2); mount_component(train1, div1, null); insert_dev(target, t3, anchor); insert_dev(target, div2, anchor); mount_component(route, div2, null); insert_dev(target, t4, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t6); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t8); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t10); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t12); append_dev(ul, li4); append_dev(li4, a4); append_dev(li4, t14); append_dev(li4, a5); append_dev(ul, t16); append_dev(ul, li5); append_dev(li5, a6); append_dev(li5, t18); append_dev(li5, span); append_dev(span, img); append_dev(li5, t19); append_dev(li5, a7); append_dev(ul, t21); append_dev(ul, li6); append_dev(li6, a8); append_dev(li6, t23); append_dev(li6, a9); append_dev(ul, t25); append_dev(ul, li7); append_dev(li7, a10); append_dev(li7, t27); append_dev(li7, a11); append_dev(li7, t29); append_dev(li7, a12); append_dev(ul, t31); append_dev(ul, li8); append_dev(li8, a13); append_dev(ul, t33); append_dev(ul, li9); append_dev(li9, a14); append_dev(ul, t35); append_dev(ul, li10); append_dev(li10, a15); append_dev(ul, t37); append_dev(ul, li11); append_dev(li11, a16); append_dev(ul, t39); append_dev(ul, li12); append_dev(li12, a17); append_dev(ul, t41); append_dev(ul, li13); append_dev(li13, a18); append_dev(ul, t43); append_dev(ul, li14); append_dev(li14, a19); append_dev(ul, t45); append_dev(ul, li15); append_dev(li15, a20); append_dev(ul, t47); append_dev(ul, li16); append_dev(li16, a21); append_dev(ul, t49); append_dev(ul, li17); append_dev(li17, a22); append_dev(ul, t51); append_dev(ul, li18); append_dev(li18, a23); append_dev(ul, t53); append_dev(ul, li19); append_dev(li19, a24); append_dev(ul, t55); append_dev(ul, li20); append_dev(li20, a25); append_dev(ul, t57); append_dev(ul, li21); append_dev(li21, a26); append_dev(ul, t59); append_dev(ul, li22); append_dev(li22, a27); append_dev(ul, t61); append_dev(ul, li23); append_dev(li23, a28); append_dev(ul, t63); append_dev(ul, li24); append_dev(li24, a29); current = true; if (remount) dispose(); dispose = listen_dev(img, "click", stop_propagation(popitout), false, false, true); }, p: noop, i: function intro(local) { if (current) return; transition_in(fx.$$.fragment, local); transition_in(train0.$$.fragment, local); transition_in(train1.$$.fragment, local); transition_in(route.$$.fragment, local); current = true; }, o: function outro(local) { transition_out(fx.$$.fragment, local); transition_out(train0.$$.fragment, local); transition_out(train1.$$.fragment, local); transition_out(route.$$.fragment, local); current = false; }, d: function destroy(detaching) { if (detaching) detach_dev(div0); destroy_component(fx); if (detaching) detach_dev(t1); if (detaching) detach_dev(div1); destroy_component(train0); destroy_component(train1); if (detaching) detach_dev(t3); if (detaching) detach_dev(div2); destroy_component(route); if (detaching) detach_dev(t4); if (detaching) detach_dev(ul); dispose(); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_3.name, type: "slot", source: "(253:16) ", ctx }); return block; } // (335:16) function create_default_slot_2(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; const block = { c: function create() { div = element("div"); div.textContent = "Computer Software, etc."; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Portable Apps"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "NewFreeware"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Portable Software"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Portable Freeware Collection"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 335, 20, 18756); attr_dev(a0, "href", ""); add_location(a0, file$9, 337, 28, 18883); add_location(li0, file$9, 337, 24, 18879); attr_dev(a1, "href", "http://www.newfreeware.com/"); add_location(a1, file$9, 338, 28, 18945); add_location(li1, file$9, 338, 24, 18941); attr_dev(a2, "href", "http://www.makeuseof.com/tag/portable-software-usb/"); add_location(a2, file$9, 340, 28, 19061); add_location(li2, file$9, 339, 24, 19028); attr_dev(a3, "href", "http://www.portablefreeware.com/"); add_location(a3, file$9, 343, 28, 19232); add_location(li3, file$9, 342, 24, 19199); add_location(ul, file$9, 336, 20, 18850); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_2.name, type: "slot", source: "(335:16) ", ctx }); return block; } // (349:16) function create_default_slot_1(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; let t15; let li7; let a7; let t17; let li8; let a8; let t19; let li9; let a9; let t21; let li10; let a10; let t23; let li11; let a11; let t25; let li12; let a12; let t27; let li13; let a13; let t29; let li14; let a14; let t31; let li15; let a15; let t33; let li16; let a16; let t35; let li17; let a17; let t37; let li18; let a18; const block = { c: function create() { div = element("div"); div.textContent = "Reference & Special sites"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "Glossaries"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "Converters"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "DECODE"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Drugs"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "Medline"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "Translation"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "One Look"; t15 = space(); li7 = element("li"); a7 = element("a"); a7.textContent = "US Military"; t17 = space(); li8 = element("li"); a8 = element("a"); a8.textContent = "US Fed"; t19 = space(); li9 = element("li"); a9 = element("a"); a9.textContent = "Legal"; t21 = space(); li10 = element("li"); a10 = element("a"); a10.textContent = "NIH"; t23 = space(); li11 = element("li"); a11 = element("a"); a11.textContent = "RefDESK"; t25 = space(); li12 = element("li"); a12 = element("a"); a12.textContent = "Britannica"; t27 = space(); li13 = element("li"); a13 = element("a"); a13.textContent = "States"; t29 = space(); li14 = element("li"); a14 = element("a"); a14.textContent = "PackTrack"; t31 = space(); li15 = element("li"); a15 = element("a"); a15.textContent = "Acronym"; t33 = space(); li16 = element("li"); a16 = element("a"); a16.textContent = "V-Thes"; t35 = space(); li17 = element("li"); a17 = element("a"); a17.textContent = "Timelines"; t37 = space(); li18 = element("li"); a18 = element("a"); a18.textContent = "Wikipedia"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 349, 20, 19434); attr_dev(a0, "href", "http://www.glossarist.com/default.asp"); add_location(a0, file$9, 352, 28, 19624); add_location(li0, file$9, 352, 24, 19620); attr_dev(a1, "href", "http://www.convert-me.com/en/"); add_location(a1, file$9, 354, 28, 19745); add_location(li1, file$9, 354, 24, 19741); attr_dev(a2, "href", "http://decoder.americom.com/cgi-bin/decoder.cgi"); add_location(a2, file$9, 356, 28, 19862); add_location(li2, file$9, 355, 24, 19829); attr_dev(a3, "href", "http://www.rxlist.com/"); add_location(a3, file$9, 358, 28, 19989); add_location(li3, file$9, 358, 24, 19985); attr_dev(a4, "href", "http://www.ncbi.nlm.nih.gov/PubMed/"); add_location(a4, file$9, 359, 28, 20065); add_location(li4, file$9, 359, 24, 20061); attr_dev(a5, "href", "http://www.logos.it/dictionary/owa/sp?lg=EN"); add_location(a5, file$9, 361, 28, 20185); add_location(li5, file$9, 360, 24, 20152); attr_dev(a6, "href", "http://www.onelook.com/"); add_location(a6, file$9, 363, 28, 20313); add_location(li6, file$9, 363, 24, 20309); attr_dev(a7, "href", "http://www.defenselink.mil/"); add_location(a7, file$9, 364, 28, 20393); add_location(li7, file$9, 364, 24, 20389); attr_dev(a8, "href", "http://www.fedworld.gov/"); add_location(a8, file$9, 365, 28, 20480); add_location(li8, file$9, 365, 24, 20476); attr_dev(a9, "href", "http://www.ih2000.net/ira/legal.htm"); add_location(a9, file$9, 366, 28, 20559); add_location(li9, file$9, 366, 24, 20555); attr_dev(a10, "href", "http://www.nih.gov/"); add_location(a10, file$9, 367, 28, 20648); add_location(li10, file$9, 367, 24, 20644); attr_dev(a11, "href", "http://www.refdesk.com/"); add_location(a11, file$9, 368, 28, 20719); add_location(li11, file$9, 368, 24, 20715); attr_dev(a12, "href", "http://www.britannica.com/"); add_location(a12, file$9, 369, 28, 20798); add_location(li12, file$9, 369, 24, 20794); attr_dev(a13, "href", "http://www.capitolimpact.com/gw/"); add_location(a13, file$9, 370, 28, 20883); add_location(li13, file$9, 370, 24, 20879); attr_dev(a14, "href", "http://www.packtrack.com/"); add_location(a14, file$9, 371, 28, 20970); add_location(li14, file$9, 371, 24, 20966); attr_dev(a15, "href", "http://www.acronymfinder.com/"); add_location(a15, file$9, 372, 28, 21053); add_location(li15, file$9, 372, 24, 21049); attr_dev(a16, "href", "http://www.visualthesaurus.com/"); add_location(a16, file$9, 373, 28, 21138); add_location(li16, file$9, 373, 24, 21134); attr_dev(a17, "href", "http://www.timelineindex.com/content/home/forced"); add_location(a17, file$9, 375, 28, 21253); add_location(li17, file$9, 374, 24, 21220); attr_dev(a18, "href", "http://en.wikipedia.org/wiki/Main_Page"); add_location(a18, file$9, 377, 28, 21384); add_location(li18, file$9, 377, 24, 21380); add_location(ul, file$9, 351, 20, 19591); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); append_dev(ul, t15); append_dev(ul, li7); append_dev(li7, a7); append_dev(ul, t17); append_dev(ul, li8); append_dev(li8, a8); append_dev(ul, t19); append_dev(ul, li9); append_dev(li9, a9); append_dev(ul, t21); append_dev(ul, li10); append_dev(li10, a10); append_dev(ul, t23); append_dev(ul, li11); append_dev(li11, a11); append_dev(ul, t25); append_dev(ul, li12); append_dev(li12, a12); append_dev(ul, t27); append_dev(ul, li13); append_dev(li13, a13); append_dev(ul, t29); append_dev(ul, li14); append_dev(li14, a14); append_dev(ul, t31); append_dev(ul, li15); append_dev(li15, a15); append_dev(ul, t33); append_dev(ul, li16); append_dev(li16, a16); append_dev(ul, t35); append_dev(ul, li17); append_dev(li17, a17); append_dev(ul, t37); append_dev(ul, li18); append_dev(li18, a18); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot_1.name, type: "slot", source: "(349:16) ", ctx }); return block; } // (383:16) function create_default_slot(ctx) { let div; let t1; let ul; let li0; let a0; let t3; let li1; let a1; let t5; let li2; let a2; let t7; let li3; let a3; let t9; let li4; let a4; let t11; let li5; let a5; let t13; let li6; let a6; const block = { c: function create() { div = element("div"); div.textContent = "Earth and Beyond"; t1 = space(); ul = element("ul"); li0 = element("li"); a0 = element("a"); a0.textContent = "ENB Arsenal"; t3 = space(); li1 = element("li"); a1 = element("a"); a1.textContent = "ENB Wikia"; t5 = space(); li2 = element("li"); a2 = element("a"); a2.textContent = "Gear List"; t7 = space(); li3 = element("li"); a3 = element("a"); a3.textContent = "Emu Forum"; t9 = space(); li4 = element("li"); a4 = element("a"); a4.textContent = "Net 7 Wiki"; t11 = space(); li5 = element("li"); a5 = element("a"); a5.textContent = "Space Engineers Wiki"; t13 = space(); li6 = element("li"); a6 = element("a"); a6.textContent = "Space Engineers Forum"; attr_dev(div, "class", "mui--text-title mui-text-black"); add_location(div, file$9, 383, 20, 21573); attr_dev(a0, "href", "http://enbarsenal.com"); add_location(a0, file$9, 386, 28, 21741); add_location(li0, file$9, 386, 24, 21737); attr_dev(a1, "href", "http://enb.wikia.com/"); add_location(a1, file$9, 387, 28, 21822); add_location(li1, file$9, 387, 24, 21818); attr_dev(a2, "href", "http://enb.gearlist.co.uk/"); add_location(a2, file$9, 388, 28, 21901); add_location(li2, file$9, 388, 24, 21897); attr_dev(a3, "href", "http://forum.enb-emulator.com/"); add_location(a3, file$9, 389, 28, 21985); add_location(li3, file$9, 389, 24, 21981); attr_dev(a4, "href", "http://net-7.org/wiki/index.php?title=Main_Page"); add_location(a4, file$9, 390, 28, 22073); add_location(li4, file$9, 390, 24, 22069); attr_dev(a5, "href", "http://spaceengineers.wikia.com/wiki/Space_Engineers_Wiki"); add_location(a5, file$9, 391, 28, 22179); add_location(li5, file$9, 391, 24, 22175); attr_dev(a6, "href", "http://forums.keenswh.com/"); add_location(a6, file$9, 392, 28, 22305); add_location(li6, file$9, 392, 24, 22301); add_location(ul, file$9, 385, 20, 21708); }, m: function mount(target, anchor) { insert_dev(target, div, anchor); insert_dev(target, t1, anchor); insert_dev(target, ul, anchor); append_dev(ul, li0); append_dev(li0, a0); append_dev(ul, t3); append_dev(ul, li1); append_dev(li1, a1); append_dev(ul, t5); append_dev(ul, li2); append_dev(li2, a2); append_dev(ul, t7); append_dev(ul, li3); append_dev(li3, a3); append_dev(ul, t9); append_dev(ul, li4); append_dev(li4, a4); append_dev(ul, t11); append_dev(ul, li5); append_dev(li5, a5); append_dev(ul, t13); append_dev(ul, li6); append_dev(li6, a6); }, d: function destroy(detaching) { if (detaching) detach_dev(div); if (detaching) detach_dev(t1); if (detaching) detach_dev(ul); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot.name, type: "slot", source: "(383:16) ", ctx }); return block; } function create_fragment$9(ctx) { let main; let t0; let div5; let t1; let div4; let div0; let t2; let t3; let t4; let div1; let t5; let t6; let t7; let div2; let t8; let t9; let t10; let div3; let t11; let t12; let t13; let current; const header = new Header({ $$inline: true }); const events_1 = new Events({ props: { events: /*events*/ ctx[0] }, $$inline: true }); const panel0 = new Panel({ props: { $$slots: { default: [create_default_slot_11] }, $$scope: { ctx } }, $$inline: true }); const panel1 = new Panel({ props: { $$slots: { default: [create_default_slot_10] }, $$scope: { ctx } }, $$inline: true }); const panel2 = new Panel({ props: { $$slots: { default: [create_default_slot_9] }, $$scope: { ctx } }, $$inline: true }); const panel3 = new Panel({ props: { $$slots: { default: [create_default_slot_8] }, $$scope: { ctx } }, $$inline: true }); const panel4 = new Panel({ props: { $$slots: { default: [create_default_slot_7] }, $$scope: { ctx } }, $$inline: true }); const panel5 = new Panel({ props: { $$slots: { default: [create_default_slot_6] }, $$scope: { ctx } }, $$inline: true }); const panel6 = new Panel({ props: { $$slots: { default: [create_default_slot_5] }, $$scope: { ctx } }, $$inline: true }); const panel7 = new Panel({ props: { $$slots: { default: [create_default_slot_4] }, $$scope: { ctx } }, $$inline: true }); const panel8 = new Panel({ props: { $$slots: { default: [create_default_slot_3] }, $$scope: { ctx } }, $$inline: true }); const panel9 = new Panel({ props: { $$slots: { default: [create_default_slot_2] }, $$scope: { ctx } }, $$inline: true }); const panel10 = new Panel({ props: { $$slots: { default: [create_default_slot_1] }, $$scope: { ctx } }, $$inline: true }); const panel11 = new Panel({ props: { $$slots: { default: [create_default_slot] }, $$scope: { ctx } }, $$inline: true }); const weather = new Weather({ $$inline: true }); const block = { c: function create() { main = element("main"); create_component(header.$$.fragment); t0 = space(); div5 = element("div"); create_component(events_1.$$.fragment); t1 = space(); div4 = element("div"); div0 = element("div"); create_component(panel0.$$.fragment); t2 = space(); create_component(panel1.$$.fragment); t3 = space(); create_component(panel2.$$.fragment); t4 = space(); div1 = element("div"); create_component(panel3.$$.fragment); t5 = space(); create_component(panel4.$$.fragment); t6 = space(); create_component(panel5.$$.fragment); t7 = space(); div2 = element("div"); create_component(panel6.$$.fragment); t8 = space(); create_component(panel7.$$.fragment); t9 = space(); create_component(panel8.$$.fragment); t10 = space(); div3 = element("div"); create_component(panel9.$$.fragment); t11 = space(); create_component(panel10.$$.fragment); t12 = space(); create_component(panel11.$$.fragment); t13 = space(); create_component(weather.$$.fragment); attr_dev(div0, "class", "mui-row"); add_location(div0, file$9, 44, 12, 1227); attr_dev(div1, "class", "mui-row"); add_location(div1, file$9, 126, 12, 7108); attr_dev(div2, "class", "mui-row"); add_location(div2, file$9, 202, 12, 11108); attr_dev(div3, "class", "mui-row"); add_location(div3, file$9, 333, 12, 18690); attr_dev(div4, "class", "mui-panel"); add_location(div4, file$9, 43, 8, 1191); attr_dev(div5, "class", "mui-container"); add_location(div5, file$9, 40, 4, 1118); add_location(main, file$9, 38, 0, 1093); }, 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) { insert_dev(target, main, anchor); mount_component(header, main, null); append_dev(main, t0); append_dev(main, div5); mount_component(events_1, div5, null); append_dev(div5, t1); append_dev(div5, div4); append_dev(div4, div0); mount_component(panel0, div0, null); append_dev(div0, t2); mount_component(panel1, div0, null); append_dev(div0, t3); mount_component(panel2, div0, null); append_dev(div4, t4); append_dev(div4, div1); mount_component(panel3, div1, null); append_dev(div1, t5); mount_component(panel4, div1, null); append_dev(div1, t6); mount_component(panel5, div1, null); append_dev(div4, t7); append_dev(div4, div2); mount_component(panel6, div2, null); append_dev(div2, t8); mount_component(panel7, div2, null); append_dev(div2, t9); mount_component(panel8, div2, null); append_dev(div4, t10); append_dev(div4, div3); mount_component(panel9, div3, null); append_dev(div3, t11); mount_component(panel10, div3, null); append_dev(div3, t12); mount_component(panel11, div3, null); append_dev(div5, t13); mount_component(weather, div5, null); current = true; }, p: function update(ctx, [dirty]) { const events_1_changes = {}; if (dirty & /*events*/ 1) events_1_changes.events = /*events*/ ctx[0]; events_1.$set(events_1_changes); const panel0_changes = {}; if (dirty & /*$$scope*/ 2) { panel0_changes.$$scope = { dirty, ctx }; } panel0.$set(panel0_changes); const panel1_changes = {}; if (dirty & /*$$scope*/ 2) { panel1_changes.$$scope = { dirty, ctx }; } panel1.$set(panel1_changes); const panel2_changes = {}; if (dirty & /*$$scope*/ 2) { panel2_changes.$$scope = { dirty, ctx }; } panel2.$set(panel2_changes); const panel3_changes = {}; if (dirty & /*$$scope*/ 2) { panel3_changes.$$scope = { dirty, ctx }; } panel3.$set(panel3_changes); const panel4_changes = {}; if (dirty & /*$$scope*/ 2) { panel4_changes.$$scope = { dirty, ctx }; } panel4.$set(panel4_changes); const panel5_changes = {}; if (dirty & /*$$scope*/ 2) { panel5_changes.$$scope = { dirty, ctx }; } panel5.$set(panel5_changes); const panel6_changes = {}; if (dirty & /*$$scope*/ 2) { panel6_changes.$$scope = { dirty, ctx }; } panel6.$set(panel6_changes); const panel7_changes = {}; if (dirty & /*$$scope*/ 2) { panel7_changes.$$scope = { dirty, ctx }; } panel7.$set(panel7_changes); const panel8_changes = {}; if (dirty & /*$$scope*/ 2) { panel8_changes.$$scope = { dirty, ctx }; } panel8.$set(panel8_changes); const panel9_changes = {}; if (dirty & /*$$scope*/ 2) { panel9_changes.$$scope = { dirty, ctx }; } panel9.$set(panel9_changes); const panel10_changes = {}; if (dirty & /*$$scope*/ 2) { panel10_changes.$$scope = { dirty, ctx }; } panel10.$set(panel10_changes); const panel11_changes = {}; if (dirty & /*$$scope*/ 2) { panel11_changes.$$scope = { dirty, ctx }; } panel11.$set(panel11_changes); }, i: function intro(local) { if (current) return; transition_in(header.$$.fragment, local); transition_in(events_1.$$.fragment, local); transition_in(panel0.$$.fragment, local); transition_in(panel1.$$.fragment, local); transition_in(panel2.$$.fragment, local); transition_in(panel3.$$.fragment, local); transition_in(panel4.$$.fragment, local); transition_in(panel5.$$.fragment, local); transition_in(panel6.$$.fragment, local); transition_in(panel7.$$.fragment, local); transition_in(panel8.$$.fragment, local); transition_in(panel9.$$.fragment, local); transition_in(panel10.$$.fragment, local); transition_in(panel11.$$.fragment, local); transition_in(weather.$$.fragment, local); current = true; }, o: function outro(local) { transition_out(header.$$.fragment, local); transition_out(events_1.$$.fragment, local); transition_out(panel0.$$.fragment, local); transition_out(panel1.$$.fragment, local); transition_out(panel2.$$.fragment, local); transition_out(panel3.$$.fragment, local); transition_out(panel4.$$.fragment, local); transition_out(panel5.$$.fragment, local); transition_out(panel6.$$.fragment, local); transition_out(panel7.$$.fragment, local); transition_out(panel8.$$.fragment, local); transition_out(panel9.$$.fragment, local); transition_out(panel10.$$.fragment, local); transition_out(panel11.$$.fragment, local); transition_out(weather.$$.fragment, local); current = false; }, d: function destroy(detaching) { if (detaching) detach_dev(main); destroy_component(header); destroy_component(events_1); destroy_component(panel0); destroy_component(panel1); destroy_component(panel2); destroy_component(panel3); destroy_component(panel4); destroy_component(panel5); destroy_component(panel6); destroy_component(panel7); destroy_component(panel8); destroy_component(panel9); destroy_component(panel10); destroy_component(panel11); destroy_component(weather); } }; dispatch_dev("SvelteRegisterBlock", { block, id: create_fragment$9.name, type: "component", source: "", ctx }); return block; } function popitoutSmall(e) { if (e.target.dataset.url) { let newwindow = window.open(e.target.dataset.url, "name", "height=400,width=520"); if (window.focus) { newwindow.focus(); } return false; } } function popitout(e) { if (e.target.dataset.url) { let newwindow = window.open(e.target.dataset.url, "name", "height=600,width=570"); if (window.focus) { newwindow.focus(); } return false; } } function instance$9($$self, $$props, $$invalidate) { let { events = [] } = $$props; const writable_props = ["events"]; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); let { $$slots = {}, $$scope } = $$props; validate_slots("App", $$slots, []); $$self.$set = $$props => { if ("events" in $$props) $$invalidate(0, events = $$props.events); }; $$self.$capture_state = () => ({ Panel, Header, Events, Password, Bitcoin, Weather, Fx, Train, Route, events, popitoutSmall, popitout }); $$self.$inject_state = $$props => { if ("events" in $$props) $$invalidate(0, events = $$props.events); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } return [events]; } class App extends SvelteComponentDev { constructor(options) { super(options); init(this, options, instance$9, create_fragment$9, safe_not_equal, { events: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "App", options, id: create_fragment$9.name }); } get events() { throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); } set events(value) { throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); } } const app = new App({ 'target': document.body, 'props': { 'events' : [ { 'event': new Date(2020, 0, 1), 'label': 'Contract Ends:' } ] } }); return app; }());