From bfdc2ae28cacbb8305b1b9186bacbeb42aef552e Mon Sep 17 00:00:00 2001 From: Martin Donnelly Date: Thu, 20 Aug 2020 19:55:40 +0100 Subject: [PATCH] Fixes on the front end to handle twitter websocket a bit better --- db/twitter.db | Bin 4534272 -> 5786624 bytes live/build/bundle.js | 4 ++-- live/build/bundle.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/db/twitter.db b/db/twitter.db index 9b21bca54e0f864cbcde7060e7c8a535ef2c7a3b..54307d37ca5fcdd30338de4a03ce8d5e2c8d3b6f 100644 GIT binary patch delta 302810 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 Hm@oeijSEyZ delta 17236 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 F{|9rblGOkJ diff --git a/live/build/bundle.js b/live/build/bundle.js index 1ad8dd9..15fe9fb 100644 --- a/live/build/bundle.js +++ b/live/build/bundle.js @@ -1,8 +1,8 @@ -var app=function(){"use strict";function e(){}const t=e=>e;function n(e){return e()}function r(){return Object.create(null)}function o(e){e.forEach(n)}function a(e){return"function"==typeof e}function i(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function l(t,...n){if(null==t)return e;const r=t.subscribe(...n);return r.unsubscribe?()=>r.unsubscribe():r}function s(e){let t;return l(e,e=>t=e)(),t}const c="undefined"!=typeof window;let u=c?()=>window.performance.now():()=>Date.now(),d=c?e=>requestAnimationFrame(e):e;const h=new Set;function f(e){h.forEach(t=>{t.c(e)||(h.delete(t),t.f())}),0!==h.size&&d(f)}function S(e){let t;return 0===h.size&&d(f),{promise:new Promise(n=>{h.add(t={c:e,f:n})}),abort(){h.delete(t)}}}function m(e,t){e.appendChild(t)}function g(e,t,n){e.insertBefore(t,n||null)}function y(e){e.parentNode.removeChild(e)}function B(e,t){for(let n=0;ne.removeEventListener(t,n,r)}function H(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function W(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function v(e,t){e.value=null==t?"":t}function N(e,t){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!1,!1,t),n}const T=new Set;let R,M=0;function P(e,t,n,r,o,a,i,l=0){const s=16.666/r;let c="{\n";for(let e=0;e<=1;e+=s){const r=t+(n-t)*a(e);c+=100*e+`%{${i(r,1-r)}}\n`}const u=c+`100% {${i(n,1-n)}}\n}`,d=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${l}`,h=e.ownerDocument;T.add(h);const f=h.__svelte_stylesheet||(h.__svelte_stylesheet=h.head.appendChild(p("style")).sheet),S=h.__svelte_rules||(h.__svelte_rules={});S[d]||(S[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));const m=e.style.animation||"";return e.style.animation=`${m?m+", ":""}${d} ${r}ms linear ${o}ms 1 both`,M+=1,d}function A(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),o=n.length-r.length;o&&(e.style.animation=r.join(", "),M-=o,M||d(()=>{M||(T.forEach(e=>{const t=e.__svelte_stylesheet;let n=t.cssRules.length;for(;n--;)t.deleteRule(n);e.__svelte_rules={}}),T.clear())}))}function D(e){R=e}function E(){if(!R)throw new Error("Function called outside component initialization");return R}function k(e){E().$$.on_mount.push(e)}function G(e){E().$$.on_destroy.push(e)}function F(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e(t))}const I=[],O=[],K=[],x=[],$=Promise.resolve();let Y=!1;function _(){Y||(Y=!0,$.then(Q))}function U(){return _(),$}function V(e){K.push(e)}function J(e){x.push(e)}let j=!1;const X=new Set;function Q(){if(!j){j=!0;do{for(let e=0;e{Z=null})),Z}function ee(e,t,n){e.dispatchEvent(N(`${t?"intro":"outro"}${n}`))}const te=new Set;let ne;function re(){ne={r:0,c:[],p:ne}}function oe(){ne.r||o(ne.c),ne=ne.p}function ae(e,t){e&&e.i&&(te.delete(e),e.i(t))}function ie(e,t,n,r){if(e&&e.o){if(te.has(e))return;te.add(e),ne.c.push(()=>{te.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}const le={duration:0};function se(n,r,i,l){let s=r(n,i),c=l?0:1,d=null,h=null,f=null;function m(){f&&A(n,f)}function g(e,t){const n=e.b-c;return t*=Math.abs(n),{a:c,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function y(r){const{delay:a=0,duration:i=300,easing:l=t,tick:y=e,css:B}=s||le,p={start:u()+a,b:r};r||(p.group=ne,ne.r+=1),d?h=p:(B&&(m(),f=P(n,c,r,i,a,l,B)),r&&y(0,1),d=g(p,i),V(()=>ee(n,r,"start")),S(e=>{if(h&&e>h.start&&(d=g(h,i),h=null,ee(n,d.b,"start"),B&&(m(),f=P(n,c,d.b,d.duration,0,l,s.css))),d)if(e>=d.end)y(c=d.b,1-c),ee(n,d.b,"end"),h||(d.b?m():--d.group.r||o(d.group.c)),d=null;else if(e>=d.start){const t=e-d.start;c=d.a+d.d*l(t/d.duration),y(c,1-c)}return!(!d&&!h)}))}return{run(e){a(s)?q().then(()=>{s=s(),y(e)}):y(e)},end(){m(),d=h=null}}}function ce(e,t){ie(e,1,1,()=>{t.delete(e.key)})}function ue(e,t,n,r,o,a,i,l,s,c,u,d){let h=e.length,f=a.length,S=h;const m={};for(;S--;)m[e[S].key]=S;const g=[],y=new Map,B=new Map;for(S=f;S--;){const e=d(o,a,S),l=n(e);let s=i.get(l);s?r&&s.p(e,t):(s=c(l,e),s.c()),y.set(l,g[S]=s),l in m&&B.set(l,Math.abs(S-m[l]))}const p=new Set,C=new Set;function L(e){ae(e,1),e.m(l,u),i.set(e.key,e),u=e.first,f--}for(;h&&f;){const t=g[f-1],n=e[h-1],r=t.key,o=n.key;t===n?(u=t.first,h--,f--):y.has(o)?!i.has(r)||p.has(r)?L(t):C.has(o)?h--:B.get(r)>B.get(o)?(C.add(r),L(t)):(p.add(o),h--):(s(n,i),h--)}for(;h--;){const t=e[h];y.has(t.key)||s(t,i)}for(;f;)L(g[f-1]);return g}function de(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}function he(e){e&&e.c()}function fe(e,t,r){const{fragment:i,on_mount:l,on_destroy:s,after_update:c}=e.$$;i&&i.m(t,r),V(()=>{const t=l.map(n).filter(a);s?s.push(...t):o(t),e.$$.on_mount=[]}),c.forEach(V)}function Se(e,t){const n=e.$$;null!==n.fragment&&(o(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function me(t,n,a,i,l,s,c=[-1]){const u=R;D(t);const d=n.props||{},h=t.$$={fragment:null,ctx:null,props:s,update:e,not_equal:l,bound:r(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new Map(u?u.$$.context:[]),callbacks:r(),dirty:c,skip_bound:!1};let f=!1;if(h.ctx=a?a(t,d,(e,n,...r)=>{const o=r.length?r[0]:n;return h.ctx&&l(h.ctx[e],h.ctx[e]=o)&&(!h.skip_bound&&h.bound[e]&&h.bound[e](o),f&&function(e,t){-1===e.$$.dirty[0]&&(I.push(e),_(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const ye=[];function Be(e,t){return{subscribe:pe(e,t).subscribe}}function pe(t,n=e){let r;const o=[];function a(e){if(i(t,e)&&(t=e,r)){const e=!ye.length;for(let e=0;e{const e=o.indexOf(s);-1!==e&&o.splice(e,1),0===o.length&&(r(),r=null)}}}}function Ce(t,n,r){const i=!Array.isArray(t),s=i?[t]:t,c=n.length<2;return Be(r,t=>{let r=!1;const u=[];let d=0,h=e;const f=()=>{if(d)return;h();const r=n(i?u[0]:u,t);c?t(r):h=a(r)?r:e},S=s.map((e,t)=>l(e,e=>{u[t]=e,d&=~(1<{d|=1<{Se(e,1)}),oe()}o?(t=new o({}),t.$on("routeEvent",e[5]),he(t.$$.fragment),ae(t.$$.fragment,1),fe(t,n.parentNode,n)):t=null}},i(e){r||(t&&ae(t.$$.fragment,e),r=!0)},o(e){t&&ie(t.$$.fragment,e),r=!1},d(e){e&&y(n),t&&Se(t,e)}}}function we(e){let t,n,r;var o=e[0];function a(e){return{props:{params:e[1]}}}return o&&(t=new o(a(e)),t.$on("routeEvent",e[4])),{c(){t&&he(t.$$.fragment),n=w()},m(e,o){t&&fe(t,e,o),g(e,n,o),r=!0},p(e,r){const i={};if(2&r&&(i.params=e[1]),o!==(o=e[0])){if(t){re();const e=t;ie(e.$$.fragment,1,0,()=>{Se(e,1)}),oe()}o?(t=new o(a(e)),t.$on("routeEvent",e[4]),he(t.$$.fragment),ae(t.$$.fragment,1),fe(t,n.parentNode,n)):t=null}else o&&t.$set(i)},i(e){r||(t&&ae(t.$$.fragment,e),r=!0)},o(e){t&&ie(t.$$.fragment,e),r=!1},d(e){e&&y(n),t&&Se(t,e)}}}function be(e){let t,n,r,o;const a=[we,Le],i=[];function l(e,t){return e[1]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function He(){const e=window.location.href.indexOf("#/");let t=e>-1?window.location.href.substr(e+1):"/";const n=t.indexOf("?");let r="";return n>-1&&(r=t.substr(n+1),t=t.substr(0,n)),{location:t,querystring:r}}const We=Be(null,(function(e){e(He());const t=()=>{e(He())};return window.addEventListener("hashchange",t,!1),function(){window.removeEventListener("hashchange",t,!1)}}));Ce(We,e=>e.location),Ce(We,e=>e.querystring);function ve(e){if(!e||e.length<1||"/"!=e.charAt(0)&&0!==e.indexOf("#/"))throw Error("Invalid parameter location");return U().then(()=>{window.location.hash=("#"==e.charAt(0)?"":"#")+e})}function Ne(t,n,r){let o,a=e;!function(e,t,n){e.$$.on_destroy.push(l(t,n))}(t,We,e=>r(6,o=e)),t.$$.on_destroy.push(()=>a());let{routes:i={}}=n,{prefix:s=""}=n;class c{constructor(e,t){if(!t||"function"!=typeof t&&("object"!=typeof t||!0!==t._sveltesparouter))throw Error("Invalid component object");if(!e||"string"==typeof e&&(e.length<1||"/"!=e.charAt(0)&&"*"!=e.charAt(0))||"object"==typeof e&&!(e instanceof RegExp))throw Error('Invalid value for "path" argument');const{pattern:n,keys:r}=function(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,o,a,i=[],l="",s=e.split("/");for(s[0]||s.shift();o=s.shift();)"*"===(n=o[0])?(i.push("wild"),l+="/(.*)"):":"===n?(r=o.indexOf("?",1),a=o.indexOf(".",1),i.push(o.substring(1,~r?r:~a?a:o.length)),l+=~r&&!~a?"(?:/([^/]+?))?":"/([^/]+?)",~a&&(l+=(~r?"?":"")+"\\"+o.substring(a))):l+="/"+o;return{keys:i,pattern:new RegExp("^"+l+(t?"(?=$|/)":"/?$"),"i")}}(e);this.path=e,"object"==typeof t&&!0===t._sveltesparouter?(this.component=t.route,this.conditions=t.conditions||[],this.userData=t.userData):(this.component=t,this.conditions=[],this.userData=void 0),this._pattern=n,this._keys=r}match(e){s&&e.startsWith(s)&&(e=e.substr(s.length)||"/");const t=this._pattern.exec(e);if(null===t)return null;if(!1===this._keys)return t;const n={};let r=0;for(;r{u.push(new c(t,e))}):Object.keys(i).forEach(e=>{u.push(new c(e,i[e]))});let d=null,h=null;const f=function(){const e=E();return(t,n)=>{const r=e.$$.callbacks[t];if(r){const o=N(t,n);r.slice().forEach(t=>{t.call(e,o)})}}}(),S=(e,t)=>{U().then(()=>{f(e,t)})};return t.$$set=e=>{"routes"in e&&r(2,i=e.routes),"prefix"in e&&r(3,s=e.prefix)},t.$$.update=()=>{if(65&t.$$.dirty){r(0,d=null);let e=0;for(;!d&&e{t&&(e.node.classList.remove(t),e.pattern.test(Me)&&e.node.classList.add(t))})}function Ae(e){const t=e-1;return t*t*t+1}function De(e,{delay:n=0,duration:r=400,easing:o=t}){const a=+getComputedStyle(e).opacity;return{delay:n,duration:r,easing:o,css:e=>"opacity: "+e*a}}function Ee(e,{delay:t=0,duration:n=400,easing:r=Ae}){const o=getComputedStyle(e),a=+o.opacity,i=parseFloat(o.height),l=parseFloat(o.paddingTop),s=parseFloat(o.paddingBottom),c=parseFloat(o.marginTop),u=parseFloat(o.marginBottom),d=parseFloat(o.borderTopWidth),h=parseFloat(o.borderBottomWidth);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(20*e,1)*a};height: ${e*i}px;padding-top: ${e*l}px;padding-bottom: ${e*s}px;margin-top: ${e*c}px;margin-bottom: ${e*u}px;border-top-width: ${e*d}px;border-bottom-width: ${e*h}px;`}}We.subscribe(e=>{Me=e.location+(e.querystring?"?"+e.querystring:""),Re.map(Pe)});const ke=new Map([["ZNJ","Northampton North Junction"],["ZPS","Plaistow L.T."],["MSC","Marseille St Charles"],["ZAE","Aldgate East"],["ZEP","East Putney"],["GBG","Gorebridge"],["ZHR","Holloway Road"],["ZPN","Paddington (Bakerloo Line)"],["NMC","New Mills Central"],["HBB","Hubberts Bridge"],["ADC","Adlington (Cheshire)"],["WHI","Whitstable"],["FEG","Fellgate (T & W Metro)"],["HRH","Horsham"],["LNW","Llanwrtyd"],["RYP","Ryde Pier Head"],["PRU","Prudhoe"],["TLH","Tilehurst"],["SBM","South Bermondsey"],["TAM","Tamworth"],["CFD","Castleford"],["NMN","New Mills Newtown"],["HFS","Hatfield & Stainforth"],["WFN","Watford North"],["GWN","Gowerton"],["WMW","Walthamstow Queens Road"],["INP","Inverkip"],["WRW","Warwick"],["WHG","Westhoughton"],["WIM","Wimbledon"],["CLM","Collingham"],["DRF","Driffield"],["NWT","Newtown (Powys)"],["SOE","Southend East"],["PNF","Penyffordd"],["WYE","Wye"],["BAR","Bare Lane"],["YRM","Yarm"],["NTH","Neath"],["ERH","Erith"],["CFO","Chalfont & Latimer"],["FGW","Fishguard & Goodwick"],["BAY","Bayford"],["BER","Bearley"],["SIT","Sittingbourne"],["WHL","White Hart Lane"],["DRN","Duirinish"],["SWK","Southwick"],["MTM","Martin Mill"],["NWR","Newtonmore"],["ADW","Addiewell"],["ALV","Alvechurch"],["SQE","Surrey Quays"],["HIG","Highbridge & Burnham"],["RMC","Rotherham Central"],["NTN","Newton"],["CBN","Camborne"],["RIA","Rhoose Cardiff Intl Airport"],["BXW","Boxhill & Westhumble"],["TNN","Thorne North"],["FTN","Fratton"],["RUA","Ruabon"],["LAY","Layton"],["LLV","Llandovery"],["MAS","Manors"],["CLG","Claygate"],["CTT","Church Stretton"],["GGV","Gargrave"],["TNS","Thorne South"],["CRE","Crewe"],["WXC","Wrexham Central"],["CAD","Cadoxton"],["HYB","Honeybourne"],["WGT","Wigton"],["WRX","Wrexham General"],["RHO","Rhosneigr"],["KWL","Kidwelly"],["RYD","Ryde Esplanade"],["PTL","Priesthill & Darnley"],["NWN","Newton for Hyde"],["SBP","Stonebridge Park"],["PEV","Pevensey & Westham"],["ACL","Acle"],["GDH","Gordon Hill"],["LSY","Lower Sydenham"],["SEB","Seaburn (T & W Metro)"],["AYW","Aberystwyth"],["LNZ","Lenzie"],["MDS","Morden South"],["ADD","Adderley Park"],["EFL","East Farleigh"],["SPU","Staplehurst"],["UHL","Upper Holloway"],["WLP","Welshpool"],["CAS","Castleton"],["HAM","Hamworthy"],["BGN","Bridgend"],["BRN","Bearsden"],["APG","Aspley Guise"],["DEW","Dewsbury"],["BPS","Blackpool South"],["KSL","Kearsley"],["PYJ","Paisley St James"],["NBA","New Barnet"],["WHR","West Horndon"],["HLD","Hellifield"],["RDR","Radyr"],["VAL","Valley"],["BSD","Bearsted"],["FIT","Filton Abbey Wood"],["NAY","Newton Aycliffe"],["BWK","Berwick-upon-Tweed"],["BIF","Barrow-in-Furness"],["DMY","Drumry"],["CKH","Corkerhill"],["LBK","Long Buckby"],["BEA","Bridge of Allan"],["PEB","Pevensey Bay"],["CRL","Chorley"],["ECS","Eccles Road"],["FSG","Fishersgate"],["YSR","Ystrad Rhondda"],["UNV","University (T & W Metro)"],["WCL","West Calder"],["GNW","Greenwich"],["SAB","Smallbrook Junction"],["BDA","Brundall"],["LNG","Longcross"],["PSW","Polesworth"],["SPP","Shippea Hill"],["FIL","Filey"],["HRR","Harrington"],["MGM","Metheringham"],["RAV","Ravenglass for Eskdale"],["OLT","Olton"],["CRD","Chester Road"],["SAH","Salhouse"],["GIL","Gillingham (Dorset)"],["GNT","Gunton"],["FEN","Fenny Stratford"],["CBB","Carbis Bay"],["BLW","Bulwell"],["FMR","Falmer"],["WNY","White Notley"],["SFD","Salford Central"],["BGI","Bargeddie"],["WLY","Woodley"],["BYC","Betws-y-Coed"],["WYT","Wythall"],["KID","Kidderminster"],["SMO","South Merton"],["ULC","Ulceby"],["AWK","Adwick"],["CRR","Corrour"],["OVR","Overton"],["RET","Retford"],["STQ","Southampton Town Quay (Bus)"],["BBS","Bordesley"],["GOS","Grange-over-Sands"],["MAY","Maybole"],["YET","Yetminster"],["LIH","Leigh (Kent)"],["SMC","Sampford Courtenay"],["SLO","Slough"],["LHE","Loch Eil Outward Bound"],["WBP","West Brompton"],["NBT","Norbiton"],["KVP","Kiveton Park"],["PNL","Pannal"],["MEO","Meols"],["SRG","Seer Green"],["CTO","Carlton"],["GLY","Glynde"],["MSW","Mansfield Woodhouse"],["IBM","IBM"],["BRL","Barrhill"],["TRD","Troed-y-rhiw"],["MEC","Meols Cop"],["POL","Polsloe Bridge"],["TPN","Ton Pentre"],["BCK","Buckley"],["CHC","Charing Cross (Glasgow)"],["SRA","Stratford (London)"],["WWO","West Worthing"],["RSH","Rose Hill Marple"],["SMT","St Margarets (Hertfordshire)"],["WIH","Winchmore Hill"],["CRS","Carstairs"],["KGX","London Kings Cross"],["LHS","Limehouse"],["THB","Thornliebank"],["DRT","Darton"],["LLD","Llandudno"],["NRN","Nairn"],["KGE","Kingsknowe"],["TNA","Thornton Abbey"],["LRD","London Road (Guildford)"],["BAL","Balham"],["FRH","Calais Frethun"],["WAC","Warrington Central"],["GMV","Great Malvern"],["MNC","Markinch"],["WRT","Worstead"],["EBB","Ebbw Vale Town"],["MEL","Meldreth"],["BYB","Blythe Bridge"],["LOT","Lostock"],["CNM","Cheltenham Spa"],["FZH","Frizinghall"],["LLJ","Llandudno Junction"],["UPM","Upminster"],["DBC","Dumbarton Central"],["STT","Stewarton"],["DBE","Dumbarton East"],["TYS","Tyseley"],["DNS","Dinas Powys"],["DEE","Dundee"],["LDY","Ladybank"],["PBY","Pembrey & Burry Port"],["GMD","Grimsby Docks"],["KEI","Keighley"],["BIP","Bishopstone"],["SFO","Stanford-le-Hope"],["BYF","Broughty Ferry"],["MYH","Maryhill"],["DRM","Drem"],["NBE","Newbridge"],["WSF","Winsford"],["THD","Thames Ditton"],["HMM","Hammerton"],["HOR","Horley"],["BLY","Bletchley"],["ARU","Arundel"],["FNB","Farnborough (Main)"],["CGW","Caergwrle"],["MAO","Martins Heron"],["OXT","Oxted"],["PAT","Patricroft"],["GMB","Grimsby Town"],["TUR","Turkey Street"],["TAF","Taffs Well"],["LTN","Luton Airport Parkway"],["CHM","Chelmsford"],["FLW","Fulwell"],["HTW","Hartwood"],["PNZ","Penzance"],["WDE","Wood End"],["GCW","Glan Conwy"],["HOV","Hove"],["TRH","Trehafod"],["WTE","Whitlocks End"],["DLJ","Dalston Junction"],["VIR","Virginia Water"],["ASP","Aspatria"],["LPT","Longport"],["LWS","Lewes"],["EWD","Earlswood (West Midlands)"],["WAN","Wanborough"],["BTO","Betchworth"],["FLN","Flint"],["BUK","Bucknell"],["LLM","Llangammarch"],["CNG","Congleton"],["WMN","Warminster"],["MTL","Mortlake"],["BWT","Bridgwater"],["BRT","Barlaston"],["MNP","Manor Park"],["ESL","Eastleigh"],["SHO","Sholing"],["EGT","Egton"],["HDH","Hampstead Heath"],["WCP","Worcester Park"],["ISP","Islip"],["TPB","Thorpe Bay"],["CRH","Crouch Hill"],["TBW","Tunbridge Wells"],["GLE","Gleneagles"],["KSW","Kirkby Stephen"],["ALW","Allens West"],["DMG","Dinas Rhondda"],["BSR","Broadstairs"],["WEM","Wem"],["CSN","Chessington North"],["HRD","Harling Road"],["AUI","Ardlui"],["ERI","Eridge"],["APD","Appledore (Kent)"],["DHN","Deighton"],["GLG","Glengarnock"],["MLH","Mill Hill (Lancashire)"],["WRP","Warwick Parkway"],["GOF","Golf Street"],["CHY","Chertsey"],["WOK","Woking"],["LLE","Llanelli"],["MYB","London Marylebone"],["WIL","Willington"],["WIJ","Willesden Junction"],["BME","Broome"],["CAM","Camberley"],["SRT","Shortlands"],["SOP","Southport"],["TYB","Tan-y-Bwlch (Bus)"],["ENC","Enfield Chase"],["RYP","Ryde Pier Head"],["BEB","Bebington"],["LGW","Langwathby"],["WSE","Winchelsea"],["BFR","London Blackfriars"],["SCT","Scotscalder"],["RUG","Rugby"],["SRS","Selhurst"],["MLF","Milford (Surrey)"],["PNA","Penally"],["STU","Sturry"],["TWB","Tweedbank"],["YSM","Ystrad Mynach"],["JEQ","Jewellery Quarter"],["PTW","Prestwick Town"],["EBK","Eastbrook"],["PER","Penrhiwceiber"],["CWM","Cwmbran"],["ING","Invergowrie"],["RBS","British Steel Redcar"],["HLG","Hall Green"],["LSN","Livingston North"],["RML","Romiley"],["BUU","Burnham-on-Crouch"],["ZBC","Barons Court Underground"],["CPN","Chapleton"],["ROG","Rogart"],["LVG","Livingston South"],["HTC","Heaton Chapel"],["KGN","Kings Nympton"],["LCC","Lochluichart"],["DCG","Duncraig"],["TOD","Todmorden"],["WEA","West Ealing"],["SOK","South Kenton"],["SLA","Slateford"],["HLC","Helensburgh Central"],["LGJ","Loughborough Junction"],["HED","Halewood"],["ATH","Atherstone"],["EYN","Eynsford"],["SOT","Stoke-on-Trent"],["CAC","Caldercruix"],["SRC","Streatham Common"],["MSO","Moston"],["BEU","Beaulieu Road"],["ZBK","Barking Underground"],["BNR","Brockley Whins (T & W Metro)"],["LOH","Lostock Hall"],["MIL","Mill Hill Broadway"],["OHL","Old Hill"],["BDW","Bedwyn"],["PMA","Portsmouth Arms"],["WHC","Walthamstow Central"],["KDY","Kirkcaldy"],["FAZ","Fazakerley"],["GLC","Glasgow Central"],["HLU","Helensburgh Upper"],["LTG","Lostock Gralam"],["DLK","Dalston Kingsland"],["MTN","Moreton (Dorset)"],["EBL","East Boldon (T & W Metro)"],["CYN","Cynghordy"],["CHT","Chathill"],["HPT","Hopton Heath"],["ALO","Alloa"],["PMS","Portsmouth & Southsea"],["CON","Connel Ferry"],["WNC","Windsor & Eton Central"],["BET","Bethnal Green"],["SST","Stansted Mountfitchet"],["ESH","Esher"],["WSE","Winchelsea"],["CSS","Chessington South"],["CSL","Codsall"],["CPA","Corpach"],["HGF","Hag Fold"],["SRD","Stapleton Road"],["UPM","Upminster"],["BSJ","Bedford St Johns"],["RYB","Roy Bridge"],["DMP","Dumpton Park"],["LYT","Lymington Town"],["WHE","Whalley"],["HKC","Hackney Central"],["HYC","Hyde Central"],["PEW","Pewsey"],["AHN","Ashton-under-Lyne"],["PRW","Perranwell"],["CKL","Corkickle"],["DOD","Dodworth"],["WTA","Wester Hailes"],["PAW","Pelaw (T & W Metro)"],["AYP","Albany Park"],["NEW","Newcraighall"],["ORE","Ore"],["HAS","Halesworth"],["KWG","Kew Gardens"],["EXG","Exhibition Centre"],["HIL","Hillside"],["MPL","Marple"],["SDA","Snodland"],["BKA","Bookham"],["BNT","Brinnington"],["HKW","Hackney Wick"],["ACR","Accrington"],["QRP","Queens Road Peckham"],["MDG","Midgham"],["BAW","Blackwater"],["MEX","Mexborough"],["ADK","Ardwick"],["DNY","Danby"],["HIN","Hindley"],["PYG","Paisley Gilmour Street"],["PRA","Prestwick Intl Airport"],["DDP","Dudley Port"],["NMK","Newmarket"],["KGL","Kings Langley"],["MLN","Milngavie"],["FML","Frimley"],["NTR","Northallerton"],["SDW","Sandwich"],["BBW","Berry Brow"],["DID","Didcot Parkway"],["SOG","Stonegate"],["HAI","Halling"],["PWL","Pwllheli"],["WCF","Westcliff"],["HGG","Haggerston"],["CMR","Cromer"],["ALX","Alexandria"],["COO","Cookham"],["MRS","Monks Risborough"],["YRT","Yorton"],["BEN","Bentham"],["GOB","Gobowen"],["HAL","Hale"],["CAY","Carntyne"],["BUI","Burnside"],["SEL","Sellafield"],["WIM","Wimbledon"],["YRD","Yardley Wood"],["CHN","Cheshunt"],["HFX","Halifax"],["ELD","Earlswood (Surrey)"],["TOK","Three Oaks"],["PBN","Paris Nord"],["TED","Teddington"],["HKM","Hykeham"],["GRS","Garscadden"],["DSL","Disley"],["HDE","Hedge End"],["BNP","Barnstaple"],["KNS","Kennishead"],["LAK","Lakenheath"],["TUH","Tulse Hill"],["BSY","Brondesbury"],["FOX","Foxfield"],["SHR","Shrewsbury"],["WMG","Welham Green"],["HLF","Hillfoot"],["PMR","Peckham Rye"],["SGR","Slade Green"],["FRE","Freshfield"],["SDG","Sandling"],["DMR","Dalmuir"],["TRF","Trefforest"],["LZB","Lazonby & Kirkoswald"],["KCK","Knockholt"],["LLW","Llwyngwril"],["DCT","Danescourt"],["HRM","Harrietsham"],["WCM","Wickham Market"],["FEA","Featherstone"],["HNH","Herne Hill"],["MCO","Manchester Oxford Road"],["LER","Leytonstone High Road"],["RAU","Rauceby"],["HMW","Hampton Wick"],["SJS","St James Street"],["TEA","Tees-side Airport"],["LNR","Llanwrda"],["BEE","Beeston"],["MTV","Mount Vernon"],["BSV","Buckshaw Parkway"],["DAL","Dalmally"],["KTN","Kentish Town"],["TRA","Trafford Park"],["AMB","Ambergate"],["GOX","Goxhill"],["PLT","Pontlottyn"],["ATT","Attadale"],["POK","Pokesdown"],["STI","Stadium of Light (T & W Metro)"],["HOO","Hooton"],["KGS","Kings Sutton"],["KTW","Kentish Town West"],["ZPC","Piccadilly Circus Underground"],["UTT","Uttoxeter"],["BLH","Bellshill"],["BGA","Brundall Gardens"],["PRT","Prestatyn"],["CPT","Clapton"],["LET","Letchworth Garden City"],["PSN","Parson Street"],["PNE","Penge East"],["NFD","Northfield"],["LTV","Lichfield Trent Valley"],["CBG","Cambridge"],["NPD","New Pudsey"],["ETL","East Tilbury"],["LTV","Lichfield Trent Valley"],["SNI","Snaith"],["AVN","Avonmouth"],["TEN","Tenby"],["PTG","Port Glasgow"],["SPF","Springfield"],["TBD","Three Bridges"],["SLD","Salford Crescent"],["GOE","Goldthorpe"],["SMY","St Mary Cray"],["DBY","Derby"],["HXX","Heathrow Airport T123"],["THO","Thornford"],["PRE","Preston"],["KWN","Kilwinning"],["PRE","Preston"],["HWH","Haltwhistle"],["CNN","Canonbury"],["BOH","Bosham"],["OPK","Orrell Park"],["BDB","Broadbottom"],["LCK","Lockwood"],["NFL","Northfleet"],["TNP","Tonypandy"],["FOC","Falls of Cruachan"],["HYM","Haymarket"],["HIT","Hitchin"],["CLE","Cleethorpes"],["PAL","Palmers Green"],["ARD","Ardgay"],["BUS","Busby"],["LGE","Long Eaton"],["TUL","Tulloch"],["ABD","Aberdeen"],["BRO","Bridge of Orchy"],["GCT","Great Coates"],["INE","Ince & Elton"],["WTT","Witton"],["TRS","Thurston"],["FNC","Farncombe"],["EBD","Ebbsfleet International"],["DUR","Durrington-on-Sea"],["CSA","Cosham"],["PEG","Pegswood"],["CEA","Cleland"],["GCR","Gloucester"],["TAC","Tackley"],["MFH","Milford Haven"],["PRY","Perry Barr"],["RHL","Rhyl"],["THW","The Hawthorns"],["WTH","Whitehaven"],["KNG","Kingston"],["MIK","Micklefield"],["LRG","Lairg"],["EPS","Epsom"],["WBQ","Warrington Bank Quay"],["CUW","Clunderwen"],["DTG","Dinting"],["ACT","Ascot"],["BID","Bidston"],["BWG","Bowling"],["BMP","Brampton (Cumbria)"],["CLT","Clacton-on-Sea"],["BCH","Birchington-on-Sea"],["BEF","Benfleet"],["HMS","Helmsdale"],["KEY","Keyham"],["MOS","Moss Side"],["PTK","Partick"],["SGN","South Greenford"],["SOR","Sole Street"],["DBD","Denby Dale"],["BSP","Brondesbury Park"],["SEE","Southease"],["CNR","Crianlarich"],["CRT","Chartham"],["SUG","Sugar Loaf"],["HGM","Higham"],["WNG","Waun-gron Park"],["DUM","Dumbreck"],["PMR","Peckham Rye"],["CRB","Corbridge"],["NFA","North Fambridge"],["AGV","Abergavenny"],["HAG","Hagley"],["CEL","Chelford"],["HGD","Hungerford"],["BWN","Bloxwich North"],["KVD","Kelvindale"],["RUS","Ruswarp"],["CLV","Claverdon"],["RNH","Rainhill"],["EWW","Ewell West"],["HHY","Highbury & Islington"],["APP","Appleby"],["HKN","Hucknall"],["MSN","Marsden"],["TPC","Thorpe Culvert"],["EWE","Ewell East"],["GTN","Grangetown"],["LEO","Leominster"],["DOL","Dolau"],["CUH","Curriehill"],["KBK","Kents Bank"],["DPS","Dublin Port (Stena)"],["PAI","Pallion (T & W Metro)"],["MCB","Moulsecoomb"],["NMT","Needham Market"],["WFI","Westerfield"],["SCG","Stone Crossing"],["STR","Stranraer"],["ZWA","Waterloo Underground"],["PIL","Pilning"],["SWD","Swinderby"],["MSK","Marske"],["TRN","Troon"],["WID","Widnes"],["KMS","Kemsing"],["STZ","St Peters (T & W Metro)"],["ANF","Ashurst New Forest"],["WTN","Whitton"],["ANL","Anniesland"],["SCS","Starcross"],["FRB","Fairbourne"],["STK","Stockton"],["BEV","Beverley"],["KKM","Kirkham & Wesham"],["PDW","Paddock Wood"],["CAN","Carnoustie"],["STC","Strathcarron"],["CUF","Cuffley"],["MTP","Montpelier"],["SWM","Swanscombe"],["CBE","Canterbury East"],["DMF","Dumfries"],["HNT","Huntly"],["LLT","Llanbister Road"],["WAT","London Waterloo"],["MEW","Maesteg (Ewenny Road)"],["SUT","Sutton Coldfield"],["LDS","Leeds"],["BNM","Burnham"],["BEL","Beauly"],["HXM","Hoveton & Wroxham"],["HDL","Headstone Lane"],["LEY","Leyland"],["PRE","Preston"],["SNY","Sunnymeads"],["RNF","Rainford"],["EGN","Eastrington"],["KGH","Kinghorn"],["MAT","Matlock"],["NCK","New Cumnock"],["NWP","Newport (South Wales)"],["QPW","Queens Park (London)"],["MSD","Moorside"],["WLM","Williamwood"],["DWD","Dolwyddelan"],["WTL","Whitland"],["MPK","Mosspark"],["MAU","Mauldeth Road"],["HEX","Hexham"],["CLI","Clifton"],["SYD","Sydenham"],["LAD","Ladywell"],["CTM","Chatham"],["SWY","Sway"],["TRU","Truro"],["DLY","Dalry"],["PRP","Preston Park"],["BPB","Blackpool Pleasure Beach"],["LHO","Langho"],["SPS","Stepps"],["TOP","Topsham"],["BIA","Bishop Auckland"],["HTH","Handforth"],["MRT","Moreton (Merseyside)"],["MCH","March"],["TDU","Tondu"],["BCS","Bicester North"],["NMP","Northampton"],["ALP","Althorpe"],["BSE","Bury St Edmunds"],["PTR","Petersfield"],["BUC","Buckenham"],["KLY","Kenley"],["ELW","Eltham"],["WHA","Westenhanger"],["WWL","Whitwell"],["EDW","East Dulwich"],["NRD","North Road"],["BTE","Bitterne"],["IMW","Imperial Wharf"],["ANN","Annan"],["BDN","Brading"],["CES","Cressing"],["KBW","Knebworth"],["DAR","Darlington"],["HWD","Hawarden"],["TAD","Tadworth"],["BAG","Bagshot"],["ZHS","Kensington High St Underground"],["SMD","Stamford"],["BUD","Burneside"],["DOT","Dunston"],["ELS","Elstree & Borehamwood"],["CHF","Church Fenton"],["HAZ","Hazel Grove"],["KMH","Kempston Hardwick"],["SOF","South Woodham Ferrers"],["NRW","Norwich"],["AHS","Ashurst"],["FZW","Fitzwilliam"],["MIN","Milliken Park"],["RUN","Runcorn"],["WSL","Walsall"],["OKM","Oakham"],["WAT","London Waterloo"],["AYP","Albany Park"],["MST","Maesteg"],["KNU","Knucklas"],["LEI","Leicester"],["WAT","London Waterloo"],["WCR","Whitecraigs"],["MRP","Moorthorpe"],["SNH","St Helens Central"],["CAO","Cannock"],["RAI","Rainham (Kent)"],["RKT","Ruskington"],["YOK","Yoker"],["BDT","Bridlington"],["LDN","Llandanwg"],["SHJ","St Helens Junction"],["CHH","Christs Hospital"],["CMF","Cromford"],["HYR","Haydons Road"],["LGN","Longton"],["BXH","Bexleyheath"],["CPM","Chippenham"],["DFR","Drumfrochar"],["NCO","Newcourt"],["WET","Weeton"],["EMD","East Midlands Parkway"],["POP","Poppleton"],["AYH","Aylesham"],["ZUM","Upminster Underground"],["CHD","Chesterfield"],["HEZ","Heworth (T & W Metro)"],["PRB","Prestbury"],["GTR","Goostrey"],["ACK","Acklington"],["KNL","Kensal Green"],["SAN","Sandown"],["THL","Tile Hill"],["SIP","Shipton"],["SFA","Stratford International"],["UPW","Upwey"],["GIP","Gipsy Hill"],["RUT","Rutherglen"],["SES","South Elmsall"],["TGM","Teignmouth"],["ADS","Ardrossan Harbour"],["BCG","Birchgrove"],["RFD","Rochford"],["PES","Pensarn"],["BAI","Blairhill"],["TLB","Talybont"],["SVG","Stevenage"],["WPE","Wapping"],["BDG","Bridgeton"],["THH","Thatto Heath"],["ATB","Attenborough"],["MTH","Motherwell"],["WKM","Wokingham"],["GMT","Grosmont"],["ARL","Arlesey"],["BGD","Bargoed"],["REE","Reedham (Norfolk)"],["HPA","Honor Oak Park"],["NUN","Nuneaton"],["TRM","Trimley"],["WTY","Witley"],["SWO","Snowdown"],["MDB","Maidstone Barracks"],["ENL","Enfield Lock"],["MIJ","Mitcham Junction"],["MDE","Maidstone East"],["GOD","Godalming"],["HGR","Hither Green"],["SPO","Spondon"],["WNT","Wandsworth Town"],["ECR","East Croydon"],["CLS","Chester-le-Street"],["QYD","Quakers Yard"],["WBC","Waterbeach"],["NES","Neston"],["PCN","Paisley Canal"],["WSA","West Allerton"],["SFI","Shawfair"],["SLH","Sleights"],["HTN","Hatton"],["KIV","Kiveton Bridge"],["RIS","Rishton"],["DMS","Dormans"],["LCN","Lincoln Central"],["AYP","Albany Park"],["ERI","Eridge"],["WLC","Waltham Cross"],["MPT","Morpeth"],["MDW","Maidstone West"],["WEL","Wellingborough"],["HRY","Harringay Green Lanes"],["MOB","Mobberley"],["SWL","Swale"],["ECC","Eccles"],["HEW","Heworth"],["LLH","Llangennech"],["BKO","Brookwood"],["GSY","Guiseley"],["SBY","Selby"],["WSB","Westbury"],["ETC","Etchingham"],["BLT","Blantyre"],["SSD","Stansted Airport"],["DOR","Dore"],["NVR","Navigation Road"],["CFF","Croftfoot"],["CKN","Crewkerne"],["GLT","Glenrothes with Thornton"],["WTG","Watlington"],["BAN","Banbury"],["HYS","Hayes (Kent)"],["BHR","Builth Road"],["KND","Kingswood"],["KNN","Kings Norton"],["WOL","Wolverton"],["WTO","Water Orton"],["ADR","Airdrie"],["LLC","Llandecwyn"],["PKS","Parkstone (Dorset)"],["GOM","Gomshall"],["TYL","Tyndrum Lower"],["BOP","Bowes Park"],["HRY","Harringay Green Lanes"],["HER","Hersham"],["WRH","Worthing"],["BON","Bolton"],["BOA","Bradford-on-Avon"],["CFH","Chafford Hundred"],["UTY","Upper Tyndrum"],["NAR","Narberth"],["BDL","Birkdale"],["HMT","Ham Street"],["MKM","Melksham"],["AUW","Ascott-under-Wychwood"],["EAL","Ealing Broadway"],["EAL","Ealing Broadway"],["WTB","Whitby"],["CST","London Cannon Street"],["DWN","Darwen"],["BLE","Bramley (West Yorkshire)"],["AAP","Alexandra Palace"],["NUF","Nutfield"],["STG","Stirling"],["HON","Honiton"],["BPW","Bristol Parkway"],["KIT","Kintbury"],["RAD","Radley"],["MCE","Metro Centre"],["SNT","Stanlow & Thornton"],["BYD","Barry Docks"],["DAM","Dalmeny"],["FIN","Finstock"],["BMT","Bedminster"],["HSL","Haslemere"],["CET","Colchester Town"],["HDG","Heald Green"],["PNR","Penrith"],["MHM","Merstham"],["HSC","Hoscar"],["SNO","St Neots"],["BGM","Bellingham"],["NTL","Netley"],["HYH","Hythe"],["RDC","Redditch"],["LTK","Little Kimble"],["FOD","Ford"],["CLJ","Clapham Junction"],["HON","Honiton"],["CLJ","Clapham Junction"],["PNW","Penge West"],["WFJ","Watford Junction"],["HCH","Holmes Chapel"],["LVN","Littlehaven"],["BTL","Batley"],["ZET","Earl's Court Underground"],["WDL","Woodhall"],["BLX","Bloxwich"],["HLS","Hilsea"],["MKT","Marks Tey"],["OKE","Okehampton"],["HWY","High Wycombe"],["SYT","Somerleyton"],["MRY","Maryport"],["SDY","Sandy"],["CLJ","Clapham Junction"],["CEF","Chapel-en-le-Frith"],["LTP","Littleport"],["KPT","Kilpatrick"],["WDD","Widdrington"],["WHM","Whimple"],["CIT","Chislehurst"],["PFR","Pontefract Baghill"],["BKC","Birkenhead Central"],["HOY","Honley"],["INC","Ince"],["CLJ","Clapham Junction"],["GRC","Great Chesterford"],["IPS","Ipswich"],["WCB","Westcombe Park"],["CLJ","Clapham Junction"],["LYP","Lymington Pier"],["CTF","Catford"],["CTE","Chatelherault"],["FWY","Five Ways"],["NDL","North Dulwich"],["BWO","Bricket Wood"],["BKN","Birkenhead North"],["SOW","Sowerby Bridge"],["BTY","Bentley (Hampshire)"],["KLD","Kildale"],["NQY","Newquay"],["SCA","Scarborough"],["BEG","Beltring"],["BKP","Birkenhead Park"],["CLJ","Clapham Junction"],["GLO","Glossop"],["GRH","Gartcosh"],["TUT","Tutbury & Hatton"],["BCE","Bracknell"],["NNT","Nunthorpe"],["ZNP","Newbury Park Underground"],["SND","Sandhurst"],["FSB","Fishbourne (West Sussex)"],["SLW","Salwick"],["DIG","Digby & Sowton"],["EDG","Edge Hill"],["INH","Invershin"],["BTB","Barnetby"],["SJN","St James (T & W Metro)"],["SUY","Sudbury"],["AIG","Aigburth"],["ELR","Elsecar"],["SGB","Smethwick Galton Bridge"],["HYL","Hayle"],["KEM","Kemble"],["WIM","Wimbledon"],["SAS","St Annes-on-the-Sea"],["SHM","Sheringham"],["WRL","Wetheral"],["SUP","Sundridge Park"],["AWM","Ashwell & Morden"],["BUY","Burley Park"],["ABA","Aberdare"],["CRO","Croy"],["DAT","Datchet"],["LGS","Langside"],["WDM","Windermere"],["GMY","Goodmayes"],["BDQ","Bradford Forster Square"],["SOH","South Hampstead"],["GPK","Grange Park"],["EDP","Edinburgh Park"],["NWB","North Wembley"],["NWE","Newport (Essex)"],["CYT","Cherry Tree"],["HUY","Huyton"],["SFN","Shifnal"],["TOM","Tottenham Hale"],["CDI","Crediton"],["HUT","Hutton Cranswick"],["ABW","Abbey Wood"],["GDL","Godley"],["RHD","Ribblehead"],["TYP","Tynemouth (T & W Metro)"],["CSO","Croston"],["PHR","Penshurst"],["LAC","Lancing"],["SWS","South Wigston"],["BUX","Buxton"],["MLD","Mouldsworth"],["FLE","Fleet"],["MKR","Market Rasen"],["LEG","Lea Green"],["CMH","Cwmbach"],["TMC","Templecombe"],["TWI","Twickenham"],["WEE","Weeley"],["HID","Hall I' Th' Wood"],["TTF","Thetford"],["DLH","Doleham"],["BTF","Bottesford"],["JOR","Jordanhill"],["TIL","Tilbury Town"],["BMR","Bromborough Rake"],["DPD","Dorking Deepdene"],["BUT","Burton-on-Trent"],["LEO","Leominster"],["FRN","Fearn"],["SPK","Sutton Parkway"],["STL","Southall"],["VXH","Vauxhall"],["ALM","Alnmouth"],["HMN","Homerton"],["PNS","Penistone"],["DFP","Dublin Ferryport"],["SED","Shelford"],["MLB","Millbrook (Bedfordshire)"],["WWR","Wandsworth Road"],["WBR","Whaley Bridge"],["CNS","Conisbrough"],["JHN","Johnstone"],["LND","Longniddry"],["STF","Stromeferry"],["BCN","Branchton"],["PET","Petts Wood"],["RSG","Rose Grove"],["SAM","Saltmarshe"],["BNS","Barnes"],["PKG","Penkridge"],["SGB","Smethwick Galton Bridge"],["MUF","Manchester United FC"],["RHY","Rhymney"],["AMR","Amersham"],["KDB","Kidbrooke"],["PLC","Pluckley"],["CSM","Castleton Moor"],["HWF","Heathrow Airport T4 (Bus)"],["TAD","Tadworth"],["GTY","Gatley"],["HWX","Heathrow Airport T5 (Bus)"],["BLK","Blackrod"],["SLK","Silkstone Common"],["BSB","Bleasby"],["AGS","Argyle Street"],["MUI","Muirend"],["SMG","St Margarets (London)"],["MAN","Manchester Piccadilly"],["SEG","Selling"],["PLN","Portlethen"],["BSM","Branksome"],["NLN","New Lane"],["HTO","Hightown"],["BYI","Barry Island"],["HOL","Holton Heath"],["SFL","Seaforth & Litherland"],["SBR","Spean Bridge"],["KGS","Kings Sutton"],["LRB","London Road (Brighton)"],["GSC","Gilshochill"],["MCM","Morecambe"],["STP","London St Pancras (Intl)"],["FGT","Faygate"],["ALD","Alderley Edge"],["COH","Crowborough"],["ANF","Ashurst New Forest"],["OCK","Ockendon"],["ASN","Addlestone"],["CLL","Collington"],["MOT","Motspur Park"],["SDL","Sandhills"],["KKB","Kirkby in Ashfield"],["PAD","London Paddington"],["WOB","Woburn Sands"],["BNI","Barnes Bridge"],["QPW","Queens Park (London)"],["BNY","Barnsley"],["BPN","Blackpool North"],["KWD","Kirkwood"],["SCH","Scotstounhill"],["KNT","Kenton"],["LHD","Leatherhead"],["DRO","Dronfield"],["MRD","Morchard Road"],["CHU","Cheadle Hulme"],["LIC","Lichfield City"],["DSM","Darsham"],["ENF","Enfield Town"],["SSE","Shoreham-by-Sea"],["LGF","Longfield"],["LIP","Liphook"],["ACC","Acton Central"],["NHE","New Hythe"],["GCH","Garelochhead"],["GSN","Garston (Hertfordshire)"],["WRY","Wraysbury"],["RID","Ridgmont"],["KNF","Knutsford"],["STN","Stonehaven"],["WHP","West Hampstead Thameslink"],["DIS","Diss"],["MLG","Mallaig"],["REI","Reigate"],["DNG","Dunton Green"],["LUX","Luxulyan"],["GFD","Greenford"],["GNR","Green Road"],["STH","Shepreth"],["BXW","Boxhill & Westhumble"],["DUD","Duddeston"],["FER","Fernhill"],["CHI","Chingford"],["BKQ","Hamilton Square"],["MUB","Musselburgh"],["ULL","Ulleskelf"],["CLP","Clapham High Street"],["COW","Cowdenbeath"],["GLH","Glasshoughton"],["ATL","Attleborough"],["BIN","Bingham"],["LGO","Llangynllo"],["LRB","London Road (Brighton)"],["WKD","Walkden"],["HRW","Harrow & Wealdstone"],["URM","Urmston"],["CUA","Culrain"],["NBW","North Berwick"],["DMC","Drumchapel"],["EMP","Emerson Park"],["HLE","Hillington East"],["MGN","Marston Green"],["UWL","Upper Warlingham"],["LWM","Llantwit Major"],["ZDE","Dagenham East Underground"],["HIB","High Brooms"],["TQY","Torquay"],["LEU","Leuchars"],["LST","London Liverpool Street"],["ZTG","Turnham Green Underground"],["CDY","Cartsdyke"],["MTC","Mitcham Eastfields"],["HVF","Haverfordwest"],["CSW","Chestfield & Swalecliffe"],["TIR","Tir-phil"],["ERL","Earlestown"],["BGL","Bugle"],["HWM","Harlow Mill"],["SYB","Stalybridge"],["NOA","Newton-on-Ayr"],["FRT","Frant"],["GUI","Guide Bridge"],["HLW","Hillington West"],["MYT","Mytholmroyd"],["BKM","Berkhamsted"],["NEL","Nelson"],["NLT","Northolt Park"],["BES","Bescar Lane"],["BNA","Burnage"],["SRY","Shoeburyness"],["MSR","Minster"],["BNH","Barnehurst"],["DUN","Dunbar"],["LLG","Llangadog"],["PIN","Pinhoe"],["POR","Porth"],["CTR","Chester"],["MCK","Marne La Vallee"],["BUO","Bursledon"],["MDL","Middlewood"],["RHM","Reedham (Surrey)"],["WHD","West Hampstead"],["BDH","Bedhampton"],["ROB","Roby"],["KBF","Kirkby-in-Furness"],["RTR","Rochester"],["STV","Stevenston"],["TIP","Tipton"],["ASB","Ardrossan South Beach"],["DBR","Derby Road"],["LMS","Leamington Spa"],["FSK","Fiskerton"],["HWI","Horwich Parkway"],["WLI","Welling"],["WGC","Welwyn Garden City"],["SOU","Southampton Central"],["RUE","Runcorn East"],["FNH","Farnham"],["SRI","Spring Road"],["TAU","Taunton"],["ALT","Altrincham"],["WDS","Woodlesford"],["LEL","Lelant"],["MNR","Manor Road"],["PPL","Pontypool & New Inn"],["RDG","Reading"],["WNR","Windsor & Eton Riverside"],["SWT","Slaithwaite"],["RCD","Rochdale"],["CYP","Crystal Palace"],["DDG","Dorridge"],["KBX","Kirby Cross"],["SBJ","Stourbridge Junction"],["CRI","Cricklewood"],["WDU","West Dulwich"],["SNN","Swinton (Manchester)"],["BRP","Brampton (Suffolk)"],["COV","Coventry"],["DGL","Dingle Road"],["PYC","Pontyclun"],["LNY","Langley"],["GRP","Grove Park"],["HOU","Hounslow"],["SAE","Saltaire"],["BEH","Bedworth"],["SCY","South Croydon"],["BCY","Brockley"],["AVI","Avignon"],["VIC","London Victoria"],["BWD","Birchwood"],["HWN","Harlow Town"],["VIC","London Victoria"],["FRO","Frome"],["VIC","London Victoria"],["AWT","Armathwaite"],["CAT","Caterham"],["COB","Cooden Beach"],["WVH","Wolverhampton"],["HME","Hamble"],["AUG","Aughton Park"],["BEX","Bexhill"],["ACY","Abercynon"],["CML","Carmyle"],["PBR","Potters Bar"],["TOL","Tolworth"],["APN","Newcastle Airport"],["ADN","Ardrossan Town"],["GDP","Gidea Park"],["SBJ","Stourbridge Junction"],["WIJ","Willesden Junction"],["SDM","Shieldmuir"],["SEV","Sevenoaks"],["FRM","Fareham"],["HNA","Hinton Admiral"],["MRN","Marden"],["MIA","Manchester Airport"],["SBT","Stourbridge Town"],["MAI","Maidenhead"],["BKH","Blackheath"],["BYS","Braystones"],["HGT","Harrogate"],["BIL","Billingham"],["STM","St Michaels"],["BVD","Belvedere"],["LTS","Lelant Saltings"],["LHA","Loch Awe"],["BAD","Banstead"],["INT","Ingatestone"],["MKC","Milton Keynes Central"],["EDR","Edmonton Green"],["BNV","Banavie"],["BTP","Braintree Freeport"],["ROC","Roche"],["CHP","Chipstead"],["FNW","Farnworth"],["TAI","Tain"],["GAL","Galashiels"],["CHG","Charing"],["RMD","Richmond"],["MTN","Moreton (Dorset)"],["COR","Corby"],["SOI","Stow"],["BLG","Bellgrove"],["CNF","Carnforth"],["PST","Prestonpans"],["PKT","Park Street"],["SKS","Stocksfield"],["NRC","Newbury Racecourse"],["PNY","Pen-y-bont"],["EKL","East Kilbride"],["SRU","South Ruislip"],["CDU","Cam & Dursley"],["BRV","Bournville"],["WMS","Wemyss Bay"],["UDD","Uddingston"],["BHD","Brithdir"],["MOR","Mortimer"],["CUM","Culham"],["SDH","Sudbury Hill Harrow"],["STA","Stafford"],["PRL","Prittlewell"],["RDT","Radlett"],["SHP","Shepperton"],["CNP","Conway Park"],["TLK","The Lakes"],["BRX","Brixton"],["MTB","Matlock Bath"],["CLN","Chapeltown"],["KYN","Keynsham"],["NWA","North Walsham"],["BYA","Berney Arms"],["REC","Rectory Road"],["RRB","Ryder Brow"],["SUD","Sudbury & Harrow Road"],["SMN","Southminster"],["YAT","Yatton"],["KSN","Kearsney"],["PTF","Pantyffynnon"],["SWN","Swinton (South Yorkshire)"],["SRN","Strines"],["SWA","Swansea"],["TRR","Torre"],["SSC","Seascale"],["HOT","Henley-on-Thames"],["MVL","Malvern Link"],["ARR","Arram"],["SLT","Saltcoats"],["ANZ","Anerley"],["FPK","Finsbury Park"],["LAN","Lancaster"],["THA","Thatcham"],["BSC","Bescot Stadium"],["MTO","Marton"],["EGG","Eggesford"],["KEH","Keith"],["WCY","West Croydon"],["BOD","Bodmin Parkway"],["HOP","Hope (Derbyshire)"],["HRW","Harrow & Wealdstone"],["WTC","Whitchurch (Shropshire)"],["CHX","London Charing Cross"],["KIR","Kirkby"],["WGA","Westgate-on-Sea"],["WSM","Weston-super-Mare"],["BKS","Bekesbourne"],["AHT","Aldershot"],["DFI","Duffield"],["GIR","Girvan"],["ZBB","Barbican Underground"],["HPE","Hope (Flintshire)"],["CLW","Chorleywood"],["HHL","Heath High Level"],["KKS","Kirk Sandall"],["RDD","Riddlesdown"],["RFY","Rock Ferry"],["ABE","Aber"],["HSK","Hassocks"],["SHT","Shotton"],["LVC","Liverpool Central"],["AIN","Aintree"],["HNG","Hengoed"],["LIS","Liss"],["ARM","Armadale"],["FFA","Ffairfach"],["HCB","Hackbridge"],["LVC","Liverpool Central"],["ELP","Ellesmere Port"],["DYF","Dyffryn Ardudwy"],["TYW","Tywyn"],["CWN","Cowden"],["EGH","Egham"],["RET","Retford"],["HAY","Hayes & Harlington"],["SAT","South Acton"],["PMT","Polmont"],["HPQ","Harwich International"],["WED","Wedgwood"],["BIO","Baillieston"],["WCH","Whitchurch (Hampshire)"],["MNE","Manea"],["SNF","Shenfield"],["ROM","Romsey"],["CHL","Chilworth"],["CDN","Coulsdon Town"],["TLS","Thorpe-le-Soken"],["WRS","Wressle"],["BDY","Bredbury"],["THI","Thirsk"],["WES","Westerton"],["CPU","Capenhurst"],["LRH","Larkhall"],["OLD","Old Street"],["DGT","Deansgate"],["SEM","Seamer"],["SVB","Severn Beach"],["BMC","Bromley Cross"],["SEC","Seaton Carew"],["ZLW","Whitechapel"],["SEE","Southease"],["SOA","Southampton Airpt Parkway"],["WDO","Waddon"],["WTS","Whatstandwell"],["LPY","Liverpool South Parkway"],["HFN","Hertford North"],["KGM","Kingham"],["WFL","Wainfleet"],["SKN","St Keyne Wishing Well Halt"],["DPT","Devonport"],["SOW","Sowerby Bridge"],["WDU","West Dulwich"],["BCB","Burscough Bridge"],["HST","High Street"],["LEM","Leyton Midland Road"],["PYL","Pyle"],["WRU","West Ruislip"],["WYB","Weybridge"],["TAB","Tame Bridge Parkway"],["TRE","Trefforest Estate"],["WYB","Weybridge"],["HND","Hanborough"],["WLW","Welwyn North"],["BMO","Birmingham Moor Street"],["BCJ","Burscough Junction"],["DCW","Dorchester West"],["LVJ","James Street"],["RDF","Radcliffe (Nottinghamshire)"],["CPY","Clapham (North Yorkshire)"],["RMF","Romford"],["SAV","Stratford-upon-Avon"],["LHW","Lochwinnoch"],["NOT","Nottingham"],["CUD","Cuddington"],["LLA","Llanaber"],["SNE","Stone"],["SHL","Shawlands"],["FFD","Freshford"],["SHF","Sheffield"],["YRK","York"],["CSD","Cobham & Stoke d'Abernon"],["ENT","Entwistle"],["PRN","Parton"],["ROL","Rolleston"],["BRH","Borth"],["BCV","Bruce Grove"],["SMR","Smethwick Rolfe Street"],["ACN","Achnasheen"],["KWB","Kew Bridge"],["SAR","St Andrews Road"],["ASF","Ashfield"],["FLM","Flimby"],["LBT","Larbert"],["WOR","Worle"],["CWL","Colwall"],["EXC","Exeter Central"],["NTB","Norton Bridge"],["TWY","Twyford"],["ROR","Rogerstone"],["BDI","Bradford Interchange"],["WNL","Whinhill"],["BLA","Blair Atholl"],["KML","Kemsley"],["SDR","Saunderton"],["GRK","Gourock"],["VXH","Vauxhall"],["FTW","Fort William"],["LIT","Littlehampton"],["SIV","St Ives"],["BLD","Baildon"],["GLM","Gillingham (Kent)"],["SHS","Shotts"],["UCK","Uckfield"],["BTG","Barnt Green"],["BOM","Bromborough"],["ACH","Achnashellach"],["UHA","Uphall"],["VXH","Vauxhall"],["DIN","Dingwall"],["HDW","Hadley Wood"],["SOB","Southbourne"],["LEE","Lee"],["QBR","Queenborough"],["LOC","Lockerbie"],["SMA","Small Heath"],["WDB","Woodbridge"],["HIR","Horton-in-Ribblesdale"],["PON","Ponders End"],["FRI","Frinton-on-Sea"],["SAL","Salisbury"],["SRH","Streatham Hill"],["CRK","Chirk"],["EXR","Essex Road"],["HOK","Hook"],["SML","Sea Mills"],["HLY","Holytown"],["NWD","Norwood Junction"],["ASY","Ashley"],["ESW","Elmswell"],["HOH","Harrow-on-the-Hill"],["AGR","Angel Road"],["NSD","Newstead"],["HUL","Hull"],["HLL","Heath Low Level"],["PBL","Parbold"],["JOH","Johnston"],["SMB","Smithy Bridge"],["NSH","North Sheen"],["UPL","Upholland"],["BGE","Broad Green"],["CBY","Charlbury"],["WME","Woodmansterne"],["LAR","Largs"],["MMO","Melton Mowbray"],["LIN","Linlithgow"],["WDT","West Drayton"],["HFE","Hertford East"],["KET","Kettering"],["PUL","Pulborough"],["QRB","Queenstown Road Battersea"],["WMB","Wembley Central"],["BRG","Borough Green & Wrotham"],["GEA","Gretna Green"],["KPA","Kensington Olympia"],["CIM","Cilmeri"],["SWR","Stewartby"],["CMO","Camelon"],["GLQ","Glasgow Queen Street"],["BSU","Brunstane"],["IFI","Ifield"],["ARN","Arnside"],["FRW","Fairwater"],["LKE","Lake"],["CTL","Cattal"],["DMH","Dilton Marsh"],["WWD","Woolwich Dockyard"],["BTS","Burntisland"],["HSW","Heswall"],["KEL","Kelvedon"],["DBL","Dunblane"],["NLR","North Llanrwst"],["HUB","Hunmanby"],["SAF","Salfords"],["WNE","Wilnecote"],["QPK","Queens Park (Glasgow)"],["WTM","Witham"],["AVP","Aylesbury Vale Parkway"],["PTD","Pontarddulais"],["RDG","Reading"],["EXM","Exmouth"],["SNW","Swanwick"],["FCN","Falconwood"],["GOO","Goole"],["LBO","Loughborough"],["HSB","Helsby"],["SHD","Shildon"],["TAY","Taynuilt"],["SNS","Staines"],["CBW","Canterbury West"],["EGF","East Garforth"],["AUR","Aberdour"],["DKG","Dorking"],["GAR","Garrowhill"],["HUN","Huntingdon"],["LLY","Llwynypia"],["SAY","Swanley"],["TTH","Thornton Heath"],["LSK","Liskeard"],["LSW","Leasowe"],["PMP","Plumpton"],["WKK","Wakefield Kirkgate"],["RFY","Rock Ferry"],["DDK","Dagenham Dock"],["HPN","Hapton"],["LNB","Llanbradach"],["BAD","Banstead"],["BIT","Bicester Village"],["MBR","Middlesbrough"],["AAT","Achanalt"],["HIP","Highams Park"],["SIN","Singer"],["TYG","Tygwyn"],["CUP","Cupar"],["FKC","Folkestone Central"],["SIL","Sileby"],["ESM","Elsenham"],["EPD","Epsom Downs"],["HBP","Hornbeam Park"],["HOZ","Howwood"],["RFY","Rock Ferry"],["MEP","Meopham"],["SWG","Swaythling"],["AVM","Aviemore"],["BHK","Bush Hill Park"],["PEA","Peartree"],["WNN","Wennington"],["AYL","Aylesford"],["PIT","Pitlochry"],["OVE","Overpool"],["ZCO","Croxley Underground"],["GYM","Great Yarmouth"],["CPK","Carpenders Park"],["GLC","Glasgow Central"],["LAS","Llansamlet"],["SPN","Spooner Row"],["FKW","Folkestone West"],["KBC","Kinbrace"],["AND","Anderston"],["ZCW","Canada Water"],["DON","Doncaster"],["EAR","Earley"],["CTN","Charlton"],["ZFD","Farringdon Underground"],["SBF","St Budeaux Ferry Road"],["PCD","Pencoed"],["LBG","London Bridge"],["MZH","Maze Hill"],["WTI","Winnersh Triangle"],["HPD","Harpenden"],["SHT","Shotton"],["LBG","London Bridge"],["NRT","Nethertown"],["LBG","London Bridge"],["HMY","Hairmyres"],["HHB","Heysham Port"],["PSH","Pershore"],["PAN","Pangbourne"],["CLU","Carluke"],["SOC","Southend Central"],["MFF","Minffordd"],["BRF","Brierfield"],["COT","Cottingley"],["PTB","Pentre-bach"],["SKG","Skegness"],["INS","Insch"],["EXN","Exton"],["LOO","Looe"],["WWA","Woolwich Arsenal"],["CLK","Clock House"],["BPT","Bishopton"],["BAS","Bere Alston"],["LCS","Locheilside"],["MEV","Merthyr Vale"],["BDH","Bedhampton"],["SDE","Shadwell"],["STP","London St Pancras (Intl)"],["WEH","West Ham"],["HUP","Humphrey Park"],["BTO","Betchworth"],["EVE","Evesham"],["SEF","Seaford"],["ALR","Alresford"],["HNL","Henley-in-Arden"],["SRL","Shirley"],["BFF","Blaenau Ffestiniog"],["FNN","Farnborough North"],["NLW","Newton-le-Willows"],["YAL","Yalding"],["BMH","Bournemouth"],["LHM","Lealholm"],["TVP","Tiverton Parkway"],["BIW","Biggleswade"],["WLS","Woolston"],["BIP","Bishopstone"],["EBV","Ebbw Vale Parkway"],["NNG","Newark North Gate"],["PHG","Penhelig"],["MNG","Manningtree"],["TAT","Tattenham Corner"],["MEN","Menheniot"],["FSB","Fishbourne (West Sussex)"],["CNN","Canonbury"],["HRO","Harold Wood"],["BKJ","Beckenham Junction"],["NFN","Nafferton"],["BNO","Benton (T & W Metro)"],["GRV","Gravesend"],["NBY","Newbury"],["SDC","Shoreditch High Street"],["AXP","Alexandra Parade"],["FXN","Foxton"],["MTS","Montrose"],["BTN","Brighton"],["RDG","Reading"],["CIR","Caledonian Rd & Barnsbury"],["TAL","Talsarnau"],["CWN","Cowden"],["NLS","Nailsea & Backwell"],["WNH","Warnham"],["HWB","Hawarden Bridge"],["LLN","Llandaf"],["NRB","Norbury"],["CSY","Coseley"],["LLL","Llandeilo"],["RIC","Rickmansworth"],["WMB","Wembley Central"],["ADV","Andover"],["PFL","Purfleet"],["SWE","Swineshead"],["SHB","Shirebrook"],["DFD","Dartford"],["HAN","Hanwell"],["NUT","Nutbourne"],["MLW","Marlow"],["WBL","Warblington"],["RHI","Rhiwbina"],["DEP","Deptford"],["CUB","Cumbernauld"],["HCN","Headcorn"],["LAW","Landywood"],["THC","Thurnscoe"],["CNO","Chetnole"],["COI","Crosshill"],["SHW","Shawford"],["BAJ","Baglan"],["SUR","Surbiton"],["AUK","Auchinleck"],["KTL","Kirton Lindsey"],["LID","Lidlington"],["CDR","Cardross"],["SYL","Syon Lane"],["HYT","Hyde North"],["LAI","Laindon"],["HOX","Hoxton"],["LEW","Lewisham"],["BSK","Basingstoke"],["CRW","Crawley"],["GBS","Goring-by-Sea"],["WHS","Whyteleafe South"],["MHR","Market Harborough"],["ERD","Erdington"],["GST","Gathurst"],["LGG","Langley Green"],["OVR","Overton"],["NEH","New Eltham"],["SDN","St Denys"],["MTG","Mottingham"],["WTR","Wateringbury"],["CDB","Cardiff Bay"],["FNT","Feniton"],["BLP","Belper"],["HSG","Hathersage"],["HVH","Hoek Van Holland"],["DVN","Davenport"],["LWH","Lawrence Hill"],["WCK","Wick"],["BMB","Bamber Bridge"],["DRI","Drigg"],["TWN","Town Green"],["CHE","Cheam"],["SAX","Saxmundham"],["MAG","Maghull"],["SBE","Starbeck"],["MCN","Machynlleth"],["CBC","Coatbridge Central"],["BYL","Barry Links"],["BEM","Bempton"],["SFR","Shalford"],["BIC","Billericay"],["BTR","Braintree"],["ISL","Isleworth"],["HLN","Harlington"],["SSM","Stocksmoor"],["GMN","Great Missenden"],["KNE","Kennett"],["POO","Poole"],["RNR","Roughton Road"],["ILK","Ilkley"],["PMH","Portsmouth Harbour"],["RDA","Redland"],["FRS","Forsinard"],["HRN","Hornsey"],["SLY","Selly Oak"],["OXT","Oxted"],["CBS","Coatbridge Sunnyside"],["WMD","Wymondham"],["TEY","Teynham"],["BAV","Barrow Haven"],["BYE","Bynea"],["WKB","West Kilbride"],["BCU","Brockenhurst"],["AMT","Aldermaston"],["LGB","Langbank"],["MRF","Moorfields"],["PMH","Portsmouth Harbour"],["ROO","Roose"],["KIL","Kildonan"],["BHC","Balloch"],["WIV","Wivenhoe"],["BTT","Battersby"],["CCT","Cathcart"],["HRL","Harlech"],["RGW","Ramsgreave & Wilpshire"],["WVF","Wivelsfield"],["SAJ","St Johns"],["WDH","Woodhouse"],["FOG","Forest Gate"],["HTF","Hartford"],["WNW","West Norwood"],["CSG","Cressington"],["SHU","Stonehouse"],["WDN","Walsden"],["SAC","St Albans"],["WFF","Whifflet"],["HOW","Howden"],["MLY","Morley"],["ASG","Alsager"],["LOB","Longbridge"],["WOM","Wombwell"],["MSH","Mossley Hill"],["ECP","Energlyn & Churchill Park"],["EPH","Elephant & Castle"],["RDW","Reading West"],["EKB","Eskbank"],["BRU","Bruton"],["CME","Combe"],["MIH","Mills Hill"],["PPD","Pontypridd"],["SAD","Sandwell & Dudley"],["KGT","Kilgetty"],["BRI","Bristol Temple Meads"],["HOC","Hockley"],["LBR","Llanbedr"],["NSG","New Southgate"],["DGC","Denham Golf Club"],["PNM","Penmere"],["MHS","Meadowhall"],["PSL","Port Sunlight"],["DWW","Dawlish Warren"],["RTN","Renton"],["BUJ","Burton Joyce"],["HUR","Hurst Green"],["BDK","Baldock"],["LNY","Langley"],["BSH","Bushey"],["DOW","Downham Market"],["KIN","Kingussie"],["BLO","Blaydon"],["DVY","Dovey Junction"],["BWS","Barrow Upon Soar"],["SGL","South Gyle"],["WHT","Whitchurch (Glamorgan)"],["ACB","Acton Bridge"],["ZHA","Hammersmith Underground"],["WRB","Wrabness"],["NQU","North Queensferry"],["TYC","Ty Croes"],["ANC","Ancaster"],["NBN","New Brighton"],["HEC","Heckington"],["QUI","Quintrell Downs"],["WCX","Wembley Stadium"],["LWT","Lowestoft"],["RAN","Rannoch"],["THU","Thurgarton"],["CSK","Calstock"],["MER","Merthyr Tydfil"],["NEI","Neilston"],["CBD","Conon Bridge"],["DNO","Dunrobin Castle"],["HUD","Huddersfield"],["SKW","Stoke Newington"],["ARG","Arisaig"],["CNW","Conwy"],["MNN","Menston"],["PLE","Pollokshields East"],["LLO","Llandrindod"],["LAU","Laurencekirk"],["MSL","Mossley"],["SIE","Sherburn-in-Elmet"],["CBH","Cambridge Heath"],["KBN","Kilburn High Road"],["SID","Sidcup"],["FEL","Feltham"],["CCC","Criccieth"],["STO","South Tottenham"],["WOO","Wool"],["GRK","Gourock"],["LLI","Llandybie"],["AXM","Axminster"],["WGV","Wargrave"],["HSD","Hamstead"],["PLW","Pollokshields West"],["BRK","Berwick (Sussex)"],["CTW","Church & Oswaldtwistle"],["XIB","Bourg St Maurice"],["SKI","Skipton"],["BDM","Bedford"],["PLM","Plumley"],["YVJ","Yeovil Junction"],["DEN","Dean"],["DAM","Dalmeny"],["WGN","Wigan North Western"],["WRE","Wrenbury"],["RYN","Roydon"],["YVJ","Yeovil Junction"],["ABH","Abererch"],["UNI","University"],["AMY","Amberley"],["CSB","Carshalton Beeches"],["EFF","Effingham Junction"],["SVK","Seven Kings"],["DEA","Deal"],["WNP","Wanstead Park"],["ALK","Aslockton"],["ULV","Ulverston"],["LIV","Liverpool Lime Street"],["ABC","Altnabreac"],["LAP","Lapford"],["NIT","Nitshill"],["RAM","Ramsgate"],["KNO","Knottingley"],["LIV","Liverpool Lime Street"],["CSH","Carshalton"],["BFE","Bere Ferrers"],["AVY","Aberdovey"],["CBK","Cranbrook (Devon)"],["WLN","Wellington (Shropshire)"],["CGN","Cogan"],["ASC","Ashchurch for Tewkesbury"],["AVF","Avoncliff"],["CBP","Castle Bar Park"],["GSL","Gunnislake"],["HMC","Hampton Court"],["PLY","Plymouth"],["CLA","Clandon"],["CNE","Colne"],["NXG","New Cross Gate"],["CIL","Chilham"],["FLI","Flixton"],["NWX","New Cross"],["BMY","Bramley (Hampshire)"],["CWS","Caersws"],["BHO","Blackhorse Road"],["CFT","Crofton Park"],["GLS","Glaisdale"],["WMI","Wildmill"],["AST","Aston"],["CDT","Caldicot"],["ESD","Elmstead Woods"],["KLN","Kings Lynn"],["SLQ","St Leonards Warrior Square"],["PNC","Penychain"],["BUB","Burnley Barracks"],["BNC","Burnley Central"],["AXM","Axminster"],["AXM","Axminster"],["BGS","Bogston"],["BAC","Bache"],["HWW","How Wood"],["BNG","Bangor (Gwynedd)"],["BRM","Barmouth"],["DNL","Dunlop"],["EML","East Malling"],["CMO","Camelon"],["EDY","East Didsbury"],["SPR","Springburn"],["ELE","Elmers End"],["WKI","West Kirby"],["LBZ","Leighton Buzzard"],["WES","Westerton"],["LYD","Lydney"],["PYT","Poynton"],["RCC","Redcar Central"],["CWE","Crowle"],["KNA","Knaresborough"],["RCE","Redcar East"],["BUH","Brough"],["DAN","Darnall"],["WNF","Winchfield"],["WKF","Wakefield Westgate"],["PWY","Patchway"],["DZY","Danzey"],["FLD","Fauldhouse"],["WPL","Worplesdon"],["BSL","Beasdale"],["KKD","Kirkdale"],["EAG","Eaglescliffe"],["CRM","Cramlington"],["SIH","St Helier"],["HBY","Hartlebury"],["COA","Coatdyke"],["CHW","Chalkwell"],["RYS","Royston"],["DVH","Dove Holes"],["HEV","Hever"],["SPA","Spalding"],["BOG","Bognor Regis"],["EUS","London Euston"],["FRL","Fairlie"],["EDB","Edinburgh"],["MRR","Morar"],["WSH","Wishaw"],["CPW","Chepstow"],["SUU","Sunbury"],["HAP","Hatfield Peverel"],["OUN","Oulton Broad North"],["MIC","Micheldever"],["WOF","Worcester Foregate Street"],["WRX","Wrexham General"],["OUS","Oulton Broad South"],["CAK","Cark"],["FRY","Ferriby"],["FOH","Forest Hill"],["STY","Stratford Parkway"],["OLF","Oldfield Park"],["WAL","Walton-on-Thames"],["PTT","Patterton"],["GLQ","Glasgow Queen Street"],["EBA","Euxton Balshaw Lane"],["HLM","Holmwood"],["FAV","Faversham"],["GOL","Golspie"],["KKH","Kirkhill"],["WSR","Woodsmoor"],["CNL","Canley"],["SPT","Stockport"],["WBD","Whitley Bridge"],["HIA","Hampton-in-Arden"],["BLV","Belle Vue"],["DMK","Denmark Hill"],["DWL","Dawlish"],["FLF","Flowery Field"],["DGY","Deganwy"],["SYS","Syston"],["KKN","Kirknewton"],["WBO","Wimbledon Chase"],["ALB","Albrighton"],["BEP","Bermuda Park (Nuneaton)"],["BFN","Byfleet & New Haw"],["SKM","Stoke Mandeville"],["NEM","New Malden"],["SER","St Erth"],["GNL","Green Lane"],["HEI","Heighington"],["OMS","Ormskirk"],["HBN","Hollingbourne"],["COL","Colchester"],["MES","Melton"],["AHV","Ash Vale"],["KRK","Kirkconnel"],["BYN","Bryn"],["CWC","Chappel & Wakes Colne"],["BIK","Birkbeck"],["SWM","Swanscombe"],["AUD","Audley End"],["BRE","Brentwood"],["YOK","Yoker"],["AHS","Ashurst"],["GSW","Garswood"],["SHU","Stonehouse"],["SNR","Sanderstead"],["BRC","Breich"],["HDM","Haddenham & Thame Parkway"],["BAH","Bank Hall"],["PRR","Princes Risborough"],["SYA","Styal"],["GPO","Gospel Oak"],["SLV","Silver Street"],["FZP","Furze Platt"],["MFA","Morfa Mawddach"],["DLG","Dolgarrog"],["CWB","Colwyn Bay"],["HVN","Havenhouse"],["LUT","Luton"],["GIG","Giggleswick"],["KGP","Kings Park"],["RYH","Rye House"],["GOR","Goring & Streatley"],["HFD","Hereford"],["BIG","Billingshurst"],["STJ","Severn Tunnel Junction"],["SAU","St Austell"],["WHS","Whyteleafe South"],["WST","Wood Street"],["LED","Ledbury"],["MRF","Moorfields"],["OLF","Oldfield Park"],["ATN","Atherton"],["BRS","Berrylands"],["WSB","Westbury"],["CYS","Cathays"],["CWD","Creswell"],["LOS","Lostwithiel"],["BHS","Brockholes"],["THT","Thorntonhall"],["DRG","Drayton Green"],["ANS","Ainsdale"],["DYP","Drayton Park"],["KLY","Kenley"],["LEH","Lea Hall"],["LPR","Long Preston"],["SVS","Seven Sisters"],["WWW","Wootton Wawen"],["SHI","Shiplake"],["WML","Wilmslow"],["EDL","Edale"],["FLX","Felixstowe"],["NBR","Narborough"],["PFY","Poulton-le-Fylde"],["PRP","Preston Park"],["COE","Coombe Junction Halt"],["SST","Stansted Mountfitchet"],["WLD","West St Leonards"],["PMW","Penmaenmawr"],["YEO","Yeoford"],["YVP","Yeovil Pen Mill"],["GRF","Garforth"],["MON","Monifieth"],["NOR","Normanton"],["COM","Commondale"],["ZFD","Farringdon Underground"],["ORR","Orrell"],["LOW","Lowdham"],["YVP","Yeovil Pen Mill"],["HWF","Heathrow Airport T4 (Bus)"],["LPG","Llanfairpwll"],["LWR","Llanrwst"],["CRN","Crowthorne"],["JCH","James Cook"],["LLS","Llanishen"],["NCE","New Clee"],["RAY","Raynes Park"],["SAW","Sawbridgeworth"],["WLO","Waterloo (Merseyside)"],["ROE","Rotherhithe"],["HNB","Herne Bay"],["SHY","Shipley"],["MTA","Mountain Ash"],["SJP","St James' Park"],["LYC","Lympstone Commando"],["NWM","New Milton"],["WIJ","Willesden Junction"],["FLT","Flitwick"],["BRA","Brora"],["HYN","Hyndland"],["RUF","Rufford"],["PTA","Port Talbot Parkway"],["SMH","Stamford Hill"],["GVE","Garve"],["HTE","Hatch End"],["WSE","Winchelsea"],["DLT","Dalton"],["SPY","Shepley"],["CFL","Crossflatts"],["LIH","Leigh (Kent)"],["LYM","Lympstone Village"],["SOL","Solihull"],["CTH","Chadwell Heath"],["FOK","Four Oaks"],["TRI","Tring"],["BLB","Battlesbridge"],["FAL","Falmouth Docks"],["HPL","Hartlepool"],["OXN","Oxenholme Lake District"],["OTF","Otford"],["OUT","Outwood"],["WLE","Whittlesea"],["SBV","St Budeaux Victoria Road"],["HHY","Highbury & Islington"],["CKS","Clarkston"],["EDN","Eden Park"],["SDP","Sandplace"],["AFK","Ashford International"],["DLM","Delamere"],["HHY","Highbury & Islington"],["INK","Inverkeithing"],["SAA","St Albans Abbey"],["HLB","Hildenborough"],["KTH","Kent House"],["BUL","Butlers Lane"],["AML","Acton Main Line"],["FMT","Falmouth Town"],["BAM","Bamford"],["FFD","Freshford"],["WAT","London Waterloo"],["SHN","Shanklin"],["CKT","Crookston"],["BKL","Bickley"],["DND","Dinsdale"],["NCL","Newcastle"],["WLV","Wallasey Village"],["THS","Thurso"],["ZBS","Baker Street Underground"],["WAE","London Waterloo East"],["TIS","Tisbury"],["BXS","Brussels Midi"],["LEA","Leagrave"],["BAB","Balcombe"],["NCZ","Newcastle Central Metro"],["ASH","Ash"],["RDB","Redbridge"],["BBK","Bilbrook"],["BUW","Burley-in-Wharfedale"],["GBD","Gilberdyke"],["NSB","Normans Bay"],["RGT","Rugeley Town"],["SEH","Shoreham (Kent)"],["BSH","Bushey"],["ELG","Elgin"],["FTN","Fratton"],["EBN","Eastbourne"],["FTM","Fort Matilda"],["MBK","Millbrook (Hampshire)"],["POT","Pontefract Tanshelf"],["WGW","Wigan Wallgate"],["SUO","Sutton (Surrey)"],["AYS","Aylesbury"],["LVM","Levenshulme"],["WAD","Wadhurst"],["PGN","Paignton"],["BOC","Bootle"],["BUG","Burgess Hill"],["AHD","Ashtead"],["OKL","Oakleigh Park"],["LTT","Little Sutton"],["BAU","Barton-on-Humber"],["GWE","Gwersyllt"],["PMH","Portsmouth Harbour"],["SBU","Southbury"],["CDF","Cardiff Central"],["DTW","Droitwich Spa"],["FST","London Fenchurch Street"],["CEY","Cononley"],["HML","Hemel Hempstead"],["OKN","Oakengates"],["CGD","Craigendoran"],["PEM","Pemberton"],["NHL","New Holland"],["SNP","Stanhope"],["EST","Easterhouse"],["GRA","Grantham"],["TAP","Taplow"],["SUC","Sutton Common"],["GNH","Greenhithe for Bluewater"],["NCT","Newark Castle"],["BTD","Bolton-on-Dearne"],["HNC","Hamilton Central"],["ECL","Eccleston Park"],["OLY","Ockley"],["PLD","Portslade"],["BBG","Bishopbriggs"],["COP","Copplestone"],["SDB","Sandbach"],["COV","Coventry"],["EXD","Exeter St Davids"],["LTH","Llanhilleth"],["SQH","Sanquhar"],["ERA","Eastham Rake"],["BSK","Basingstoke"],["MIR","Mirfield"],["PFM","Pontefract Monkhill"],["GUN","Gunnersbury"],["WLG","Wallasey Grove Road"],["PBO","Peterborough"],["PLU","Plumstead"],["CDQ","Cardiff Queen Street"],["BXB","Broxbourne"],["HNW","Hamilton West"],["EXT","Exeter St Thomas"],["WLT","Wallington"],["HNX","Hunts Cross"],["HMP","Hampton"],["ALF","Alfreton"],["BAA","Barnham"],["SEA","Seaham"],["WBY","West Byfleet"],["BGL","Bugle"],["WRK","Worksop"],["WWI","West Wickham"],["FGT","Faygate"],["STW","Strawberry Hill"],["NFL","Northfleet"],["BUE","Bures"],["NMP","Northampton"],["CBL","Cambuslang"],["GFN","Giffnock"],["INV","Inverness"],["WGR","Woodgrange Park"],["STS","Saltash"],["STP","London St Pancras (Intl)"],["SUN","Sunderland"],["SDF","Saundersfoot"],["FNV","Furness Vale"],["YAE","Yate"],["MCV","Manchester Victoria"],["RED","Redruth"],["SNG","Sunningdale"],["PDG","Padgate"],["HTR","Heathrow Central Bus Stn"],["BHI","Birmingham International"],["CWH","Crews Hill"],["NTA","Newton Abbot"],["SFA","Stratford International"],["WOH","Woldingham"],["SXY","Saxilby"],["GKC","Greenock Central"],["PTC","Portchester"],["GLD","Guildford"],["BNF","Briton Ferry"],["DAG","Dalgety Bay"],["SOO","Strood"],["DLS","Dalston"],["LFD","Lingfield"],["BBN","Blackburn"],["CGM","Cottingham"],["RVB","Ravensbourne"],["AIR","Airbles"],["BRR","Barrhead"],["CLH","Clitheroe"],["MRM","Manors (T & W Metro)"],["GMT","Grosmont"],["DHM","Durham"],["PAR","Par"],["IVY","Ivybridge"],["LVN","Littlehaven"],["GKW","Greenock West"],["HNK","Hinckley"],["KMK","Kilmarnock"],["RMD","Richmond"],["SIC","Silecroft"],["HAD","Haddiscoe"],["DNM","Denham"],["OXS","Oxshott"],["SLB","Saltburn"],["DNT","Dent"],["WHY","Whyteleafe"],["CRG","Cross Gates"],["LCG","Lochgelly"],["BHG","Bathgate"],["TNF","Tonfanau"],["MAL","Malden Manor"],["NUT","Nutbourne"],["NWX","New Cross"],["TON","Tonbridge"],["TRO","Trowbridge"],["WKG","Workington"],["BSI","Balmossie"],["SMK","Stowmarket"],["LGD","Lingwood"],["FBY","Formby"],["NNP","Ninian Park"],["ADM","Adisham"],["GRL","Greenfaulds"],["RLN","Rowlands Castle"],["AMF","Ammanford"],["KMP","Kempton Park"],["SNL","Stoneleigh"],["BWB","Bow Brickhill"],["ABY","Ashburys"],["BRY","Barry"],["MYL","Maryland"],["BBL","Bat & Ball"],["PUT","Putney"],["CAA","Coventry Arena"],["HMD","Hampden Park"],["GYP","Gypsy Lane"],["CMY","Crossmyloof"],["DUL","Dullingham"],["WNM","Weston Milton"],["AFV","Ansdell & Fairhaven"],["SYH","Sydenham Hill"],["GTW","Gatwick Airport"],["HYK","Hoylake"],["MIS","Mistley"],["PPK","Possilpark & Parkhouse"],["WYM","Wylam"],["MLM","Millom"],["WAV","Wavertree Tech Park"],["LAM","Lamphey"],["CCH","Chichester"],["MLT","Malton"],["SGM","St Germans"],["WND","Wendover"],["HAF","Heathrow Airport T4"],["THE","Theale"],["ADL","Adlington (Lancashire)"],["HWV","Heathrow Airport T5"],["PLK","Plockton"],["HWC","Harwich Town"],["CWU","Crowhurst"],["CHK","Chiswick"],["HEN","Hendon"],["DRU","Drumgelloch"],["HAB","Habrough"],["LVT","Lisvane & Thornhill"],["TOK","Three Oaks"],["SVR","Silverdale"],["HEL","Hensall"],["SON","Steeton & Silsden"],["WIC","Wickford"],["NAN","Nantwich"],["LUD","Ludlow"],["AFS","Ashford (Surrey)"],["SGH","South Gosforth (T & W Metro)"],["WYL","Wylde Green"],["RDH","Redhill"],["RNM","Rainham (Essex)"],["MIF","Millfield (T & W Metro)"],["WIN","Winchester"],["LLR","Llanharan"],["NET","Netherfield"],["BSN","Boston"],["GRN","Grindleford"],["APB","Appley Bridge"],["PYN","Penryn"],["SRR","Sarn"],["BND","Brandon"],["DLW","Dalwhinnie"],["BIB","Bishops Lydeard"],["CUX","Cuxton"],["PRS","Prees"],["CLC","Castle Cary"],["SCF","Stechford"],["CLD","Chelsfield"],["RIL","Rice Lane"],["TBY","Thornaby"],["LPY","Liverpool South Parkway"],["CRV","Craven Arms"],["WMA","West Malling"],["DTN","Denton"],["DOC","Dockyard"],["DCH","Dorchester South"],["NXG","New Cross Gate"],["CDS","Coulsdon South"],["LLF","Llanfairfechan"],["SLL","Stallingborough"],["CDO","Cardonald"],["HAT","Hatfield"],["RDN","Reddish North"],["WOS","Worcester Shrub Hill"],["HAV","Havant"],["SNA","Sandal & Agbrigg"],["MIM","Moreton-in-Marsh"],["ART","Arrochar & Tarbet"],["OBN","Oban"],["RDS","Reddish South"],["TOO","Tooting"],["WMC","Wilmcote"],["SIA","Southend Airport"],["EBT","Edenbridge Town"],["PLG","Polegate"],["BSW","Birmingham Snow Hill"],["GRB","Great Bentley"],["HHB","Heysham Port"],["SNK","Sankey for Penketh"],["BXD","Buxted"],["ASK","Askam"],["CFB","Catford Bridge"],["GMG","Garth (Mid Glamorgan)"],["NCM","North Camp"],["APF","Appleford"],["EWR","East Worthing"],["WON","Walton-on-the-Naze"],["ROW","Rowley Regis"],["WSU","West Sutton"],["BGG","Brigg"],["EBD","Ebbsfleet International"],["ZEL","Elephant & Castle Underground"],["PHR","Penshurst"],["MRB","Manorbier"],["SPH","Shepherds Well"],["STD","Stroud"],["TGS","Ty Glas"],["BCF","Beaconsfield"],["HDF","Hadfield"],["CDD","Cardenden"],["LTL","Littleborough"],["CHR","Christchurch"],["MFT","Mansfield"],["PWE","Pollokshaws East"],["LPW","Lapworth"],["BNE","Bourne End"],["CRA","Cradley Heath"],["CHO","Cholsey"],["WRM","Wareham"],["CSR","Chassen Road"],["SEN","Shenstone"],["BOE","Botley"],["ANG","Angmering"],["DVC","Dovercourt"],["PMG","Porthmadog Harbour (Bus)"],["ORN","Old Roan"],["NGT","Newington"],["KNI","Knighton"],["GVH","Gravelly Hill"],["OXF","Oxford"],["CKY","Crosskeys"],["BLL","Bardon Mill"],["FGH","Fishguard Harbour"],["LYE","Lye"],["CLR","Clarbeston Road"],["HBD","Hebden Bridge"],["IGD","Invergordon"],["YNW","Ynyswen"],["PWW","Pollokshaws West"],["RMB","Roman Bridge"],["GRT","Grateley"],["AGT","Aldrington"],["CED","Cheddington"],["RVN","Ravensthorpe"],["KEN","Kendal"],["MAR","Margate"],["PSE","Pitsea"],["CTK","City Thameslink"],["BAT","Battle"],["HEV","Hever"],["WAS","Watton-at-Stone"],["CLY","Chinley"],["HES","Hessle"],["UPH","Upper Halliford"],["WNS","Winnersh"],["AON","Alton"],["LGK","Longbeck"],["SHC","Streethouse"],["EMS","Emsworth"],["SYH","Sydenham Hill"],["BAK","Battersea Park"],["GLQ","Glasgow Queen Street"],["BKJ","Beckenham Junction"],["UMB","Umberleigh"],["CMN","Carmarthen"],["SHH","Shirehampton"],["MAX","Maxwell Park"],["HGY","Harringay"],["AVF","Avoncliff"],["BYK","Bentley (South Yorkshire)"],["GER","Gerrards Cross"],["HLR","Hall Road"],["HNF","Hednesford"],["FRD","Frodsham"],["KNR","Kensal Rise"],["BCC","Beccles"],["HGN","Hough Green"],["BKW","Berkswell"],["EBR","Edenbridge"],["BKT","Blake Street"],["CEH","Coleshill Parkway"],["LEN","Lenham"],["BEC","Beckenham Hill"],["FNY","Finchley Road & Frognal"],["LTM","Lytham"],["BKJ","Beckenham Junction"],["KDG","Kidsgrove"],["IGD","Invergordon"],["CPH","Caerphilly"],["APS","Apsley"],["HTY","Hattersley"],["SAL","Salisbury"],["BNW","Bootle New Strand"],["SOB","Southbourne"],["BTH","Bath Spa"],["DFE","Dunfermline Town"],["SLS","Shettleston"],["ELY","Ely"],["BMF","Broomfleet"],["NVH","Newhaven Harbour"],["LCL","Lochailort"],["PMD","Pembroke Dock"],["WAR","Ware"],["BFD","Brentford"],["GLZ","Glazebrook"],["HSY","Horsley"],["SPI","Spital"],["SHZ","South Hylton (T & W Metro)"],["MOO","Muir of Ord"],["NHD","Nunhead"],["BKR","Blackridge"],["IRL","Irlam"],["NVN","Newhaven Town"],["WRN","West Runton"],["HDB","Haydon Bridge"],["EAD","Earlsfield"],["RDM","Riding Mill"],["WMR","Widney Manor"],["BPK","Brookmans Park"],["WLF","Whittlesford Parkway"],["GDN","Godstone"],["TFC","Telford Central"],["SHE","Sherborne"],["GNB","Gainsborough Central"],["BOT","Bootle Oriel Road"],["EGR","East Grinstead"],["LNK","Lanark"],["NEG","Newtongrange"],["SAL","Salisbury"],["CFR","Chandlers Ford"],["LGM","Langley Mill"],["GSD","Garsdale"],["LAG","Langwith-Whaley Thorns"],["BNL","Barnhill"],["IVR","Iver"],["CNY","Cantley"],["HGS","Hastings"],["BEY","Ben Rhydding"],["BMD","Brimsdown"],["ARB","Arbroath"],["BLN","Blundellsands & Crosby"],["MSS","Moses Gate"],["DST","Duke Street"],["HYW","Hinchley Wood"],["AYR","Ayr"],["SRO","Shireoaks"],["CAR","Carlisle"],["DSY","Daisy Hill"],["RGL","Rugeley Trent Valley"],["GFF","Gilfach Fargoed"],["WAF","Wallyford"],["INR","Inverurie"],["SBK","South Bank"],["ELO","Elton & Orston"],["SPB","Shepherds Bush"],["STE","Streatham"],["CYB","Cefn-y-Bedd"],["HDY","Headingley"],["HCT","Huncoat"],["DYC","Dyce"],["HYD","Heyford"],["PRH","Penrhyndeudraeth"],["SET","Settle"],["WFH","Watford High Street"],["DLR","Dalreoch"],["BKD","Blakedown"],["PTM","Porthmadog"],["ORP","Orpington"],["GBL","Gainsborough Lea Road"],["SCU","Scunthorpe"],["PTH","Perth"],["TAM","Tamworth"],["TRB","Treherbert"],["BXY","Bexley"],["TRY","Treorchy"],["HRS","Horsforth"],["SHV","Southsea Hoverport (Bus)"],["SUM","Summerston"],["WFJ","Watford Junction"],["FYS","Ferryside"],["NUM","Northumberland Park"],["SVL","Staveley"],["CYK","Clydebank"],["HDN","Harlesden"],["PLS","Pleasington"],["TLC","Tal-y-Cafn"],["WAM","Walmer"],["BMG","Barming"],["IFD","Ilford"],["GTA","Great Ayton"],["NBC","New Beckenham"],["LUD","Ludlow"],["FNR","Farningham Road"],["CFN","Clifton Down"],["HAC","Hackney Downs"],["PGM","Pengam"],["RLG","Rayleigh"],["BKG","Barking"],["BLM","Belmont"],["NTC","Newton St Cyres"],["RYE","Rye"],["DBG","Mottisfont & Dunbridge"],["NWI","Northwich"],["PSC","Prescot"],["DKD","Dunkeld & Birnam"],["AGL","Abergele & Pensarn"],["CRF","Carfin"],["SOM","South Milford"],["CRY","Crayford"],["LIU","Lille Europe"],["GLF","Glenfinnan"],["SWI","Swindon"],["SCR","St Columb Road"],["TEO","Theobalds Grove"],["BHM","Birmingham New Street"],["BML","Bramhall"],["WIJ","Willesden Junction"],["COS","Cosford"],["ACG","Acocks Green"],["DVP","Dover Priory"],["MOG","Moorgate"],["ROS","Rosyth"],["WAO","Walton (Merseyside)"],["GNH","Greenhithe for Bluewater"],["RWC","Rawcliffe"],["LES","Leigh-on-Sea"],["HLI","Healing"],["WEY","Weymouth"],["AFK","Ashford International"],["HON","Honiton"],["RCA","Risca & Pontymister"],["BIY","Bingley"],["FOR","Forres"],["KLM","Kilmaurs"],["BOR","Bodorgan"],["BSS","Barassie"],["PUR","Purley"],["MAC","Macclesfield"],["RBR","Robertsbridge"],["HHE","Haywards Heath"],["ALN","Althorne"],["GBK","Greenbank"],["BMV","Bromsgrove"],["GTO","Gorton"],["PMB","Pembroke"],["SKE","Skewen"],["CAU","Causeland"],["PEN","Penarth"],["UPT","Upton"],["BMN","Bromley North"],["ZTH","Tower Hill Underground"],["KYL","Kyle of Lochalsh"],["TTN","Totton"],["HWF","Heathrow Airport T4 (Bus)"],["BMS","Bromley South"],["ASS","Alness"],["SSS","Sheerness-on-Sea"],["CAG","Carrbridge"],["GTH","Garth (Powys)"],["LOF","London Fields"],["BIS","Bishops Stortford"],["BRW","Brunswick"],["CHH","Christs Hospital"],["HHD","Holyhead"],["MFL","Mount Florida"],["DAK","Dalmarnock"],["WSW","Wandsworth Common"],["MDN","Maiden Newton"],["DFL","Dunfermline Queen Margaret"],["IRV","Irvine"],["WHN","Whiston"],["SBS","St Bees"],["PKG","Penkridge"],["SOU","Southampton Central"],["COY","Coryton"],["GGJ","Georgemas Junction"],["SLR","Sleaford"],["DKT","Dorking West"],["SQU","Squires Gate"],["CMD","Camden Road"],["BSO","Basildon"],["CBR","Cooksbridge"],["BYM","Burnley Manchester Road"],["MLF","Milford (Surrey)"],["RYR","Ryde St Johns Road"],["TEY","Teynham"],["TOT","Totnes"],["FRF","Fairfield"],["PUO","Purley Oaks"],["GNF","Greenfield"],["GRY","Grays"],["BGH","Brighouse"],["FKG","Falkirk Grahamston"],["HKH","Hawkhead"],["PYP","Pont-y-Pant"],["FKK","Falkirk High"],["SOV","Southend Victoria"],["MEY","Merryton"]]);var Ge={findStation:function(e){const t=e.toUpperCase(),n=ke.get(t);return console.log(n),n},searchStation:function(e){const t=[],n=e.length<=3,r=e.length>=3,o=new RegExp(`(${e})`,"gi");return ke.forEach((e,a)=>{let i;n&&o.test(a)&&(i=[a,e]),void 0===i&&r&&o.test(e)&&(i=[a,e]),"object"==typeof i&&t.push(i)}),t.slice(0,5)}};let Fe={};Fe=function(){try{return!!localStorage}catch(e){return!1}}()?{save:function(e,t){localStorage[e]=t},load:function(e){return localStorage[e]},exists:function(e){return!(void 0===localStorage[e])}}:{save:function(e,t){document.cookie=`${e}=${encodeURIComponent(t)}`},load:function(e){var t=`; ${document.cookie};`,n=t.indexOf(`; ${e}=`);if(n<0)return"";n=n+e.length+3;var r=t.indexOf(";",n+1);return decodeURIComponent(t.substring(n,r))}};var Ie={partOfDay:function(e,t){console.log(new Date),null==e&&(e=(new Date).getHours().toString()),void 0===t&&(t=!1);const n=e.substring(0,2);let r="";return console.log("Hours",n),r=n>=0&&n<4?"Late Night":n>=4&&n<7?"Early Morning":n>=7&&n<12?"Morning":n>=12&&n<17?"Afternoon":n<21?"Evening":"Night",t&&(r="night"===r?"tonight":"this "+r),console.log("partOfDay",r),r},toHour:function(e=0){return 36e5-(new Date).getTime()%36e5+e},hourFloor:function(){const e=new Date;return parseInt(36e5*~~(e.getTime()/36e5),10).toString(32)},distance:function(e,t,n,r){const o=.017453292519943295,a=Math.cos,i=.5-a((n-e)*o)/2+a(e*o)*a(n*o)*(1-a((r-t)*o))/2;return 12742*Math.asin(Math.sqrt(i))},maybePluralize:(e,t,n="s")=>`${e} ${t}${1!==e?n:""}`,minuteFloor:function(){const e=new Date;return parseInt(6e4*~~(e.getTime()/6e4),10).toString(32)},debounce:function(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}},throttle:function(e,t){var n=!1;return function(){n||(e.apply(null,arguments),n=!0,setTimeout((function(){n=!1}),t))}},once:function(e){var t,n=!1;return function(){return n||(t=e.apply(this,arguments),n=!0),t}},isEmpty:function(e){for(const t in e)if(e.hasOwnProperty(t))return!1;return!0},LocalStorage:Fe},Oe=function e(t){function n(e,t,r){var o,a={};if(Array.isArray(e))return e.concat(t);for(o in e)a[r?o.toLowerCase():o]=e[o];for(o in t){var i=r?o.toLowerCase():o,l=t[o];a[i]=i in a&&"object"==typeof l?n(a[i],l,"headers"===i):l}return a}function r(e,r,o,a){"string"!=typeof e&&(e=(r=e).url);var i={config:r},l=n(t,r),s={},c=a||l.data;(l.transformRequest||[]).map((function(e){c=e(c,l.headers)||c})),c&&"object"==typeof c&&"function"!=typeof c.append&&(c=JSON.stringify(c),s["content-type"]="application/json");var u=document.cookie.match(RegExp("(^|; )"+l.xsrfCookieName+"=([^;]*)"));if(u&&(s[l.xsrfHeaderName]=u[2]),l.auth&&(s.authorization=l.auth),l.baseURL&&(e=new URL(e,l.baseURL)+""),l.params){var d=~e.indexOf("?")?"&":"?";e+=d+(l.paramsSerializer?l.paramsSerializer(l.params):new URLSearchParams(l.params))}return(l.fetch||fetch)(e,{method:o||l.method,body:c,headers:n(l.headers,s,!0),credentials:l.withCredentials?"include":void 0}).then((function(e){for(var t in e)"function"!=typeof e[t]&&(i[t]=e[t]);return(l.validateStatus?l.validateStatus(e.status):e.ok)?"stream"==l.responseType?(i.data=e.body,i):e[l.responseType||"text"]().then((function(e){i.data=e,i.data=JSON.parse(e)})).catch(Object).then((function(){return i})):Promise.reject(i)}))}return t=t||{},r.request=r,r.get=function(e,t){return r(e,t,"get")},r.delete=function(e,t){return r(e,t,"delete")},r.options=function(e,t){return r(e,t,"options")},r.post=function(e,t,n){return r(e,n,"post",t)},r.put=function(e,t,n){return r(e,n,"put",t)},r.patch=function(e,t,n){return r(e,n,"patch",t)},r.all=Promise.all,r.spread=function(e){return function(t){return e.apply(this,t)}},r.CancelToken="function"==typeof AbortController?AbortController:Object,r.defaults=t,r.create=e,r}(),Ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function xe(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var $e,Ye,_e=(function(e,t){ +var app=function(){"use strict";function e(){}const t=e=>e;function n(e){return e()}function r(){return Object.create(null)}function o(e){e.forEach(n)}function a(e){return"function"==typeof e}function i(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function l(t,...n){if(null==t)return e;const r=t.subscribe(...n);return r.unsubscribe?()=>r.unsubscribe():r}function s(e){let t;return l(e,e=>t=e)(),t}const c="undefined"!=typeof window;let u=c?()=>window.performance.now():()=>Date.now(),d=c?e=>requestAnimationFrame(e):e;const h=new Set;function f(e){h.forEach(t=>{t.c(e)||(h.delete(t),t.f())}),0!==h.size&&d(f)}function S(e){let t;return 0===h.size&&d(f),{promise:new Promise(n=>{h.add(t={c:e,f:n})}),abort(){h.delete(t)}}}function m(e,t){e.appendChild(t)}function g(e,t,n){e.insertBefore(t,n||null)}function y(e){e.parentNode.removeChild(e)}function B(e,t){for(let n=0;ne.removeEventListener(t,n,r)}function H(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function W(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function v(e,t){e.value=null==t?"":t}function T(e,t){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!1,!1,t),n}const N=new Set;let R,M=0;function P(e,t,n,r,o,a,i,l=0){const s=16.666/r;let c="{\n";for(let e=0;e<=1;e+=s){const r=t+(n-t)*a(e);c+=100*e+`%{${i(r,1-r)}}\n`}const u=c+`100% {${i(n,1-n)}}\n}`,d=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${l}`,h=e.ownerDocument;N.add(h);const f=h.__svelte_stylesheet||(h.__svelte_stylesheet=h.head.appendChild(p("style")).sheet),S=h.__svelte_rules||(h.__svelte_rules={});S[d]||(S[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));const m=e.style.animation||"";return e.style.animation=`${m?m+", ":""}${d} ${r}ms linear ${o}ms 1 both`,M+=1,d}function A(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),o=n.length-r.length;o&&(e.style.animation=r.join(", "),M-=o,M||d(()=>{M||(N.forEach(e=>{const t=e.__svelte_stylesheet;let n=t.cssRules.length;for(;n--;)t.deleteRule(n);e.__svelte_rules={}}),N.clear())}))}function D(e){R=e}function E(){if(!R)throw new Error("Function called outside component initialization");return R}function k(e){E().$$.on_mount.push(e)}function G(e){E().$$.on_destroy.push(e)}function F(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e(t))}const I=[],O=[],K=[],x=[],$=Promise.resolve();let Y=!1;function _(){Y||(Y=!0,$.then(Q))}function U(){return _(),$}function V(e){K.push(e)}function J(e){x.push(e)}let j=!1;const X=new Set;function Q(){if(!j){j=!0;do{for(let e=0;e{Z=null})),Z}function ee(e,t,n){e.dispatchEvent(T(`${t?"intro":"outro"}${n}`))}const te=new Set;let ne;function re(){ne={r:0,c:[],p:ne}}function oe(){ne.r||o(ne.c),ne=ne.p}function ae(e,t){e&&e.i&&(te.delete(e),e.i(t))}function ie(e,t,n,r){if(e&&e.o){if(te.has(e))return;te.add(e),ne.c.push(()=>{te.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}const le={duration:0};function se(n,r,i,l){let s=r(n,i),c=l?0:1,d=null,h=null,f=null;function m(){f&&A(n,f)}function g(e,t){const n=e.b-c;return t*=Math.abs(n),{a:c,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function y(r){const{delay:a=0,duration:i=300,easing:l=t,tick:y=e,css:B}=s||le,p={start:u()+a,b:r};r||(p.group=ne,ne.r+=1),d?h=p:(B&&(m(),f=P(n,c,r,i,a,l,B)),r&&y(0,1),d=g(p,i),V(()=>ee(n,r,"start")),S(e=>{if(h&&e>h.start&&(d=g(h,i),h=null,ee(n,d.b,"start"),B&&(m(),f=P(n,c,d.b,d.duration,0,l,s.css))),d)if(e>=d.end)y(c=d.b,1-c),ee(n,d.b,"end"),h||(d.b?m():--d.group.r||o(d.group.c)),d=null;else if(e>=d.start){const t=e-d.start;c=d.a+d.d*l(t/d.duration),y(c,1-c)}return!(!d&&!h)}))}return{run(e){a(s)?q().then(()=>{s=s(),y(e)}):y(e)},end(){m(),d=h=null}}}function ce(e,t){ie(e,1,1,()=>{t.delete(e.key)})}function ue(e,t,n,r,o,a,i,l,s,c,u,d){let h=e.length,f=a.length,S=h;const m={};for(;S--;)m[e[S].key]=S;const g=[],y=new Map,B=new Map;for(S=f;S--;){const e=d(o,a,S),l=n(e);let s=i.get(l);s?r&&s.p(e,t):(s=c(l,e),s.c()),y.set(l,g[S]=s),l in m&&B.set(l,Math.abs(S-m[l]))}const p=new Set,C=new Set;function L(e){ae(e,1),e.m(l,u),i.set(e.key,e),u=e.first,f--}for(;h&&f;){const t=g[f-1],n=e[h-1],r=t.key,o=n.key;t===n?(u=t.first,h--,f--):y.has(o)?!i.has(r)||p.has(r)?L(t):C.has(o)?h--:B.get(r)>B.get(o)?(C.add(r),L(t)):(p.add(o),h--):(s(n,i),h--)}for(;h--;){const t=e[h];y.has(t.key)||s(t,i)}for(;f;)L(g[f-1]);return g}function de(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}function he(e){e&&e.c()}function fe(e,t,r){const{fragment:i,on_mount:l,on_destroy:s,after_update:c}=e.$$;i&&i.m(t,r),V(()=>{const t=l.map(n).filter(a);s?s.push(...t):o(t),e.$$.on_mount=[]}),c.forEach(V)}function Se(e,t){const n=e.$$;null!==n.fragment&&(o(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function me(t,n,a,i,l,s,c=[-1]){const u=R;D(t);const d=n.props||{},h=t.$$={fragment:null,ctx:null,props:s,update:e,not_equal:l,bound:r(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new Map(u?u.$$.context:[]),callbacks:r(),dirty:c,skip_bound:!1};let f=!1;if(h.ctx=a?a(t,d,(e,n,...r)=>{const o=r.length?r[0]:n;return h.ctx&&l(h.ctx[e],h.ctx[e]=o)&&(!h.skip_bound&&h.bound[e]&&h.bound[e](o),f&&function(e,t){-1===e.$$.dirty[0]&&(I.push(e),_(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const ye=[];function Be(e,t){return{subscribe:pe(e,t).subscribe}}function pe(t,n=e){let r;const o=[];function a(e){if(i(t,e)&&(t=e,r)){const e=!ye.length;for(let e=0;e{const e=o.indexOf(s);-1!==e&&o.splice(e,1),0===o.length&&(r(),r=null)}}}}function Ce(t,n,r){const i=!Array.isArray(t),s=i?[t]:t,c=n.length<2;return Be(r,t=>{let r=!1;const u=[];let d=0,h=e;const f=()=>{if(d)return;h();const r=n(i?u[0]:u,t);c?t(r):h=a(r)?r:e},S=s.map((e,t)=>l(e,e=>{u[t]=e,d&=~(1<{d|=1<{Se(e,1)}),oe()}o?(t=new o({}),t.$on("routeEvent",e[5]),he(t.$$.fragment),ae(t.$$.fragment,1),fe(t,n.parentNode,n)):t=null}},i(e){r||(t&&ae(t.$$.fragment,e),r=!0)},o(e){t&&ie(t.$$.fragment,e),r=!1},d(e){e&&y(n),t&&Se(t,e)}}}function we(e){let t,n,r;var o=e[0];function a(e){return{props:{params:e[1]}}}return o&&(t=new o(a(e)),t.$on("routeEvent",e[4])),{c(){t&&he(t.$$.fragment),n=w()},m(e,o){t&&fe(t,e,o),g(e,n,o),r=!0},p(e,r){const i={};if(2&r&&(i.params=e[1]),o!==(o=e[0])){if(t){re();const e=t;ie(e.$$.fragment,1,0,()=>{Se(e,1)}),oe()}o?(t=new o(a(e)),t.$on("routeEvent",e[4]),he(t.$$.fragment),ae(t.$$.fragment,1),fe(t,n.parentNode,n)):t=null}else o&&t.$set(i)},i(e){r||(t&&ae(t.$$.fragment,e),r=!0)},o(e){t&&ie(t.$$.fragment,e),r=!1},d(e){e&&y(n),t&&Se(t,e)}}}function be(e){let t,n,r,o;const a=[we,Le],i=[];function l(e,t){return e[1]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function He(){const e=window.location.href.indexOf("#/");let t=e>-1?window.location.href.substr(e+1):"/";const n=t.indexOf("?");let r="";return n>-1&&(r=t.substr(n+1),t=t.substr(0,n)),{location:t,querystring:r}}const We=Be(null,(function(e){e(He());const t=()=>{e(He())};return window.addEventListener("hashchange",t,!1),function(){window.removeEventListener("hashchange",t,!1)}}));Ce(We,e=>e.location),Ce(We,e=>e.querystring);function ve(e){if(!e||e.length<1||"/"!=e.charAt(0)&&0!==e.indexOf("#/"))throw Error("Invalid parameter location");return U().then(()=>{window.location.hash=("#"==e.charAt(0)?"":"#")+e})}function Te(t,n,r){let o,a=e;!function(e,t,n){e.$$.on_destroy.push(l(t,n))}(t,We,e=>r(6,o=e)),t.$$.on_destroy.push(()=>a());let{routes:i={}}=n,{prefix:s=""}=n;class c{constructor(e,t){if(!t||"function"!=typeof t&&("object"!=typeof t||!0!==t._sveltesparouter))throw Error("Invalid component object");if(!e||"string"==typeof e&&(e.length<1||"/"!=e.charAt(0)&&"*"!=e.charAt(0))||"object"==typeof e&&!(e instanceof RegExp))throw Error('Invalid value for "path" argument');const{pattern:n,keys:r}=function(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,o,a,i=[],l="",s=e.split("/");for(s[0]||s.shift();o=s.shift();)"*"===(n=o[0])?(i.push("wild"),l+="/(.*)"):":"===n?(r=o.indexOf("?",1),a=o.indexOf(".",1),i.push(o.substring(1,~r?r:~a?a:o.length)),l+=~r&&!~a?"(?:/([^/]+?))?":"/([^/]+?)",~a&&(l+=(~r?"?":"")+"\\"+o.substring(a))):l+="/"+o;return{keys:i,pattern:new RegExp("^"+l+(t?"(?=$|/)":"/?$"),"i")}}(e);this.path=e,"object"==typeof t&&!0===t._sveltesparouter?(this.component=t.route,this.conditions=t.conditions||[],this.userData=t.userData):(this.component=t,this.conditions=[],this.userData=void 0),this._pattern=n,this._keys=r}match(e){s&&e.startsWith(s)&&(e=e.substr(s.length)||"/");const t=this._pattern.exec(e);if(null===t)return null;if(!1===this._keys)return t;const n={};let r=0;for(;r{u.push(new c(t,e))}):Object.keys(i).forEach(e=>{u.push(new c(e,i[e]))});let d=null,h=null;const f=function(){const e=E();return(t,n)=>{const r=e.$$.callbacks[t];if(r){const o=T(t,n);r.slice().forEach(t=>{t.call(e,o)})}}}(),S=(e,t)=>{U().then(()=>{f(e,t)})};return t.$$set=e=>{"routes"in e&&r(2,i=e.routes),"prefix"in e&&r(3,s=e.prefix)},t.$$.update=()=>{if(65&t.$$.dirty){r(0,d=null);let e=0;for(;!d&&e{t&&(e.node.classList.remove(t),e.pattern.test(Me)&&e.node.classList.add(t))})}function Ae(e){const t=e-1;return t*t*t+1}function De(e,{delay:n=0,duration:r=400,easing:o=t}){const a=+getComputedStyle(e).opacity;return{delay:n,duration:r,easing:o,css:e=>"opacity: "+e*a}}function Ee(e,{delay:t=0,duration:n=400,easing:r=Ae}){const o=getComputedStyle(e),a=+o.opacity,i=parseFloat(o.height),l=parseFloat(o.paddingTop),s=parseFloat(o.paddingBottom),c=parseFloat(o.marginTop),u=parseFloat(o.marginBottom),d=parseFloat(o.borderTopWidth),h=parseFloat(o.borderBottomWidth);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(20*e,1)*a};height: ${e*i}px;padding-top: ${e*l}px;padding-bottom: ${e*s}px;margin-top: ${e*c}px;margin-bottom: ${e*u}px;border-top-width: ${e*d}px;border-bottom-width: ${e*h}px;`}}We.subscribe(e=>{Me=e.location+(e.querystring?"?"+e.querystring:""),Re.map(Pe)});const ke=new Map([["ZNJ","Northampton North Junction"],["ZPS","Plaistow L.T."],["MSC","Marseille St Charles"],["ZAE","Aldgate East"],["ZEP","East Putney"],["GBG","Gorebridge"],["ZHR","Holloway Road"],["ZPN","Paddington (Bakerloo Line)"],["NMC","New Mills Central"],["HBB","Hubberts Bridge"],["ADC","Adlington (Cheshire)"],["WHI","Whitstable"],["FEG","Fellgate (T & W Metro)"],["HRH","Horsham"],["LNW","Llanwrtyd"],["RYP","Ryde Pier Head"],["PRU","Prudhoe"],["TLH","Tilehurst"],["SBM","South Bermondsey"],["TAM","Tamworth"],["CFD","Castleford"],["NMN","New Mills Newtown"],["HFS","Hatfield & Stainforth"],["WFN","Watford North"],["GWN","Gowerton"],["WMW","Walthamstow Queens Road"],["INP","Inverkip"],["WRW","Warwick"],["WHG","Westhoughton"],["WIM","Wimbledon"],["CLM","Collingham"],["DRF","Driffield"],["NWT","Newtown (Powys)"],["SOE","Southend East"],["PNF","Penyffordd"],["WYE","Wye"],["BAR","Bare Lane"],["YRM","Yarm"],["NTH","Neath"],["ERH","Erith"],["CFO","Chalfont & Latimer"],["FGW","Fishguard & Goodwick"],["BAY","Bayford"],["BER","Bearley"],["SIT","Sittingbourne"],["WHL","White Hart Lane"],["DRN","Duirinish"],["SWK","Southwick"],["MTM","Martin Mill"],["NWR","Newtonmore"],["ADW","Addiewell"],["ALV","Alvechurch"],["SQE","Surrey Quays"],["HIG","Highbridge & Burnham"],["RMC","Rotherham Central"],["NTN","Newton"],["CBN","Camborne"],["RIA","Rhoose Cardiff Intl Airport"],["BXW","Boxhill & Westhumble"],["TNN","Thorne North"],["FTN","Fratton"],["RUA","Ruabon"],["LAY","Layton"],["LLV","Llandovery"],["MAS","Manors"],["CLG","Claygate"],["CTT","Church Stretton"],["GGV","Gargrave"],["TNS","Thorne South"],["CRE","Crewe"],["WXC","Wrexham Central"],["CAD","Cadoxton"],["HYB","Honeybourne"],["WGT","Wigton"],["WRX","Wrexham General"],["RHO","Rhosneigr"],["KWL","Kidwelly"],["RYD","Ryde Esplanade"],["PTL","Priesthill & Darnley"],["NWN","Newton for Hyde"],["SBP","Stonebridge Park"],["PEV","Pevensey & Westham"],["ACL","Acle"],["GDH","Gordon Hill"],["LSY","Lower Sydenham"],["SEB","Seaburn (T & W Metro)"],["AYW","Aberystwyth"],["LNZ","Lenzie"],["MDS","Morden South"],["ADD","Adderley Park"],["EFL","East Farleigh"],["SPU","Staplehurst"],["UHL","Upper Holloway"],["WLP","Welshpool"],["CAS","Castleton"],["HAM","Hamworthy"],["BGN","Bridgend"],["BRN","Bearsden"],["APG","Aspley Guise"],["DEW","Dewsbury"],["BPS","Blackpool South"],["KSL","Kearsley"],["PYJ","Paisley St James"],["NBA","New Barnet"],["WHR","West Horndon"],["HLD","Hellifield"],["RDR","Radyr"],["VAL","Valley"],["BSD","Bearsted"],["FIT","Filton Abbey Wood"],["NAY","Newton Aycliffe"],["BWK","Berwick-upon-Tweed"],["BIF","Barrow-in-Furness"],["DMY","Drumry"],["CKH","Corkerhill"],["LBK","Long Buckby"],["BEA","Bridge of Allan"],["PEB","Pevensey Bay"],["CRL","Chorley"],["ECS","Eccles Road"],["FSG","Fishersgate"],["YSR","Ystrad Rhondda"],["UNV","University (T & W Metro)"],["WCL","West Calder"],["GNW","Greenwich"],["SAB","Smallbrook Junction"],["BDA","Brundall"],["LNG","Longcross"],["PSW","Polesworth"],["SPP","Shippea Hill"],["FIL","Filey"],["HRR","Harrington"],["MGM","Metheringham"],["RAV","Ravenglass for Eskdale"],["OLT","Olton"],["CRD","Chester Road"],["SAH","Salhouse"],["GIL","Gillingham (Dorset)"],["GNT","Gunton"],["FEN","Fenny Stratford"],["CBB","Carbis Bay"],["BLW","Bulwell"],["FMR","Falmer"],["WNY","White Notley"],["SFD","Salford Central"],["BGI","Bargeddie"],["WLY","Woodley"],["BYC","Betws-y-Coed"],["WYT","Wythall"],["KID","Kidderminster"],["SMO","South Merton"],["ULC","Ulceby"],["AWK","Adwick"],["CRR","Corrour"],["OVR","Overton"],["RET","Retford"],["STQ","Southampton Town Quay (Bus)"],["BBS","Bordesley"],["GOS","Grange-over-Sands"],["MAY","Maybole"],["YET","Yetminster"],["LIH","Leigh (Kent)"],["SMC","Sampford Courtenay"],["SLO","Slough"],["LHE","Loch Eil Outward Bound"],["WBP","West Brompton"],["NBT","Norbiton"],["KVP","Kiveton Park"],["PNL","Pannal"],["MEO","Meols"],["SRG","Seer Green"],["CTO","Carlton"],["GLY","Glynde"],["MSW","Mansfield Woodhouse"],["IBM","IBM"],["BRL","Barrhill"],["TRD","Troed-y-rhiw"],["MEC","Meols Cop"],["POL","Polsloe Bridge"],["TPN","Ton Pentre"],["BCK","Buckley"],["CHC","Charing Cross (Glasgow)"],["SRA","Stratford (London)"],["WWO","West Worthing"],["RSH","Rose Hill Marple"],["SMT","St Margarets (Hertfordshire)"],["WIH","Winchmore Hill"],["CRS","Carstairs"],["KGX","London Kings Cross"],["LHS","Limehouse"],["THB","Thornliebank"],["DRT","Darton"],["LLD","Llandudno"],["NRN","Nairn"],["KGE","Kingsknowe"],["TNA","Thornton Abbey"],["LRD","London Road (Guildford)"],["BAL","Balham"],["FRH","Calais Frethun"],["WAC","Warrington Central"],["GMV","Great Malvern"],["MNC","Markinch"],["WRT","Worstead"],["EBB","Ebbw Vale Town"],["MEL","Meldreth"],["BYB","Blythe Bridge"],["LOT","Lostock"],["CNM","Cheltenham Spa"],["FZH","Frizinghall"],["LLJ","Llandudno Junction"],["UPM","Upminster"],["DBC","Dumbarton Central"],["STT","Stewarton"],["DBE","Dumbarton East"],["TYS","Tyseley"],["DNS","Dinas Powys"],["DEE","Dundee"],["LDY","Ladybank"],["PBY","Pembrey & Burry Port"],["GMD","Grimsby Docks"],["KEI","Keighley"],["BIP","Bishopstone"],["SFO","Stanford-le-Hope"],["BYF","Broughty Ferry"],["MYH","Maryhill"],["DRM","Drem"],["NBE","Newbridge"],["WSF","Winsford"],["THD","Thames Ditton"],["HMM","Hammerton"],["HOR","Horley"],["BLY","Bletchley"],["ARU","Arundel"],["FNB","Farnborough (Main)"],["CGW","Caergwrle"],["MAO","Martins Heron"],["OXT","Oxted"],["PAT","Patricroft"],["GMB","Grimsby Town"],["TUR","Turkey Street"],["TAF","Taffs Well"],["LTN","Luton Airport Parkway"],["CHM","Chelmsford"],["FLW","Fulwell"],["HTW","Hartwood"],["PNZ","Penzance"],["WDE","Wood End"],["GCW","Glan Conwy"],["HOV","Hove"],["TRH","Trehafod"],["WTE","Whitlocks End"],["DLJ","Dalston Junction"],["VIR","Virginia Water"],["ASP","Aspatria"],["LPT","Longport"],["LWS","Lewes"],["EWD","Earlswood (West Midlands)"],["WAN","Wanborough"],["BTO","Betchworth"],["FLN","Flint"],["BUK","Bucknell"],["LLM","Llangammarch"],["CNG","Congleton"],["WMN","Warminster"],["MTL","Mortlake"],["BWT","Bridgwater"],["BRT","Barlaston"],["MNP","Manor Park"],["ESL","Eastleigh"],["SHO","Sholing"],["EGT","Egton"],["HDH","Hampstead Heath"],["WCP","Worcester Park"],["ISP","Islip"],["TPB","Thorpe Bay"],["CRH","Crouch Hill"],["TBW","Tunbridge Wells"],["GLE","Gleneagles"],["KSW","Kirkby Stephen"],["ALW","Allens West"],["DMG","Dinas Rhondda"],["BSR","Broadstairs"],["WEM","Wem"],["CSN","Chessington North"],["HRD","Harling Road"],["AUI","Ardlui"],["ERI","Eridge"],["APD","Appledore (Kent)"],["DHN","Deighton"],["GLG","Glengarnock"],["MLH","Mill Hill (Lancashire)"],["WRP","Warwick Parkway"],["GOF","Golf Street"],["CHY","Chertsey"],["WOK","Woking"],["LLE","Llanelli"],["MYB","London Marylebone"],["WIL","Willington"],["WIJ","Willesden Junction"],["BME","Broome"],["CAM","Camberley"],["SRT","Shortlands"],["SOP","Southport"],["TYB","Tan-y-Bwlch (Bus)"],["ENC","Enfield Chase"],["RYP","Ryde Pier Head"],["BEB","Bebington"],["LGW","Langwathby"],["WSE","Winchelsea"],["BFR","London Blackfriars"],["SCT","Scotscalder"],["RUG","Rugby"],["SRS","Selhurst"],["MLF","Milford (Surrey)"],["PNA","Penally"],["STU","Sturry"],["TWB","Tweedbank"],["YSM","Ystrad Mynach"],["JEQ","Jewellery Quarter"],["PTW","Prestwick Town"],["EBK","Eastbrook"],["PER","Penrhiwceiber"],["CWM","Cwmbran"],["ING","Invergowrie"],["RBS","British Steel Redcar"],["HLG","Hall Green"],["LSN","Livingston North"],["RML","Romiley"],["BUU","Burnham-on-Crouch"],["ZBC","Barons Court Underground"],["CPN","Chapleton"],["ROG","Rogart"],["LVG","Livingston South"],["HTC","Heaton Chapel"],["KGN","Kings Nympton"],["LCC","Lochluichart"],["DCG","Duncraig"],["TOD","Todmorden"],["WEA","West Ealing"],["SOK","South Kenton"],["SLA","Slateford"],["HLC","Helensburgh Central"],["LGJ","Loughborough Junction"],["HED","Halewood"],["ATH","Atherstone"],["EYN","Eynsford"],["SOT","Stoke-on-Trent"],["CAC","Caldercruix"],["SRC","Streatham Common"],["MSO","Moston"],["BEU","Beaulieu Road"],["ZBK","Barking Underground"],["BNR","Brockley Whins (T & W Metro)"],["LOH","Lostock Hall"],["MIL","Mill Hill Broadway"],["OHL","Old Hill"],["BDW","Bedwyn"],["PMA","Portsmouth Arms"],["WHC","Walthamstow Central"],["KDY","Kirkcaldy"],["FAZ","Fazakerley"],["GLC","Glasgow Central"],["HLU","Helensburgh Upper"],["LTG","Lostock Gralam"],["DLK","Dalston Kingsland"],["MTN","Moreton (Dorset)"],["EBL","East Boldon (T & W Metro)"],["CYN","Cynghordy"],["CHT","Chathill"],["HPT","Hopton Heath"],["ALO","Alloa"],["PMS","Portsmouth & Southsea"],["CON","Connel Ferry"],["WNC","Windsor & Eton Central"],["BET","Bethnal Green"],["SST","Stansted Mountfitchet"],["ESH","Esher"],["WSE","Winchelsea"],["CSS","Chessington South"],["CSL","Codsall"],["CPA","Corpach"],["HGF","Hag Fold"],["SRD","Stapleton Road"],["UPM","Upminster"],["BSJ","Bedford St Johns"],["RYB","Roy Bridge"],["DMP","Dumpton Park"],["LYT","Lymington Town"],["WHE","Whalley"],["HKC","Hackney Central"],["HYC","Hyde Central"],["PEW","Pewsey"],["AHN","Ashton-under-Lyne"],["PRW","Perranwell"],["CKL","Corkickle"],["DOD","Dodworth"],["WTA","Wester Hailes"],["PAW","Pelaw (T & W Metro)"],["AYP","Albany Park"],["NEW","Newcraighall"],["ORE","Ore"],["HAS","Halesworth"],["KWG","Kew Gardens"],["EXG","Exhibition Centre"],["HIL","Hillside"],["MPL","Marple"],["SDA","Snodland"],["BKA","Bookham"],["BNT","Brinnington"],["HKW","Hackney Wick"],["ACR","Accrington"],["QRP","Queens Road Peckham"],["MDG","Midgham"],["BAW","Blackwater"],["MEX","Mexborough"],["ADK","Ardwick"],["DNY","Danby"],["HIN","Hindley"],["PYG","Paisley Gilmour Street"],["PRA","Prestwick Intl Airport"],["DDP","Dudley Port"],["NMK","Newmarket"],["KGL","Kings Langley"],["MLN","Milngavie"],["FML","Frimley"],["NTR","Northallerton"],["SDW","Sandwich"],["BBW","Berry Brow"],["DID","Didcot Parkway"],["SOG","Stonegate"],["HAI","Halling"],["PWL","Pwllheli"],["WCF","Westcliff"],["HGG","Haggerston"],["CMR","Cromer"],["ALX","Alexandria"],["COO","Cookham"],["MRS","Monks Risborough"],["YRT","Yorton"],["BEN","Bentham"],["GOB","Gobowen"],["HAL","Hale"],["CAY","Carntyne"],["BUI","Burnside"],["SEL","Sellafield"],["WIM","Wimbledon"],["YRD","Yardley Wood"],["CHN","Cheshunt"],["HFX","Halifax"],["ELD","Earlswood (Surrey)"],["TOK","Three Oaks"],["PBN","Paris Nord"],["TED","Teddington"],["HKM","Hykeham"],["GRS","Garscadden"],["DSL","Disley"],["HDE","Hedge End"],["BNP","Barnstaple"],["KNS","Kennishead"],["LAK","Lakenheath"],["TUH","Tulse Hill"],["BSY","Brondesbury"],["FOX","Foxfield"],["SHR","Shrewsbury"],["WMG","Welham Green"],["HLF","Hillfoot"],["PMR","Peckham Rye"],["SGR","Slade Green"],["FRE","Freshfield"],["SDG","Sandling"],["DMR","Dalmuir"],["TRF","Trefforest"],["LZB","Lazonby & Kirkoswald"],["KCK","Knockholt"],["LLW","Llwyngwril"],["DCT","Danescourt"],["HRM","Harrietsham"],["WCM","Wickham Market"],["FEA","Featherstone"],["HNH","Herne Hill"],["MCO","Manchester Oxford Road"],["LER","Leytonstone High Road"],["RAU","Rauceby"],["HMW","Hampton Wick"],["SJS","St James Street"],["TEA","Tees-side Airport"],["LNR","Llanwrda"],["BEE","Beeston"],["MTV","Mount Vernon"],["BSV","Buckshaw Parkway"],["DAL","Dalmally"],["KTN","Kentish Town"],["TRA","Trafford Park"],["AMB","Ambergate"],["GOX","Goxhill"],["PLT","Pontlottyn"],["ATT","Attadale"],["POK","Pokesdown"],["STI","Stadium of Light (T & W Metro)"],["HOO","Hooton"],["KGS","Kings Sutton"],["KTW","Kentish Town West"],["ZPC","Piccadilly Circus Underground"],["UTT","Uttoxeter"],["BLH","Bellshill"],["BGA","Brundall Gardens"],["PRT","Prestatyn"],["CPT","Clapton"],["LET","Letchworth Garden City"],["PSN","Parson Street"],["PNE","Penge East"],["NFD","Northfield"],["LTV","Lichfield Trent Valley"],["CBG","Cambridge"],["NPD","New Pudsey"],["ETL","East Tilbury"],["LTV","Lichfield Trent Valley"],["SNI","Snaith"],["AVN","Avonmouth"],["TEN","Tenby"],["PTG","Port Glasgow"],["SPF","Springfield"],["TBD","Three Bridges"],["SLD","Salford Crescent"],["GOE","Goldthorpe"],["SMY","St Mary Cray"],["DBY","Derby"],["HXX","Heathrow Airport T123"],["THO","Thornford"],["PRE","Preston"],["KWN","Kilwinning"],["PRE","Preston"],["HWH","Haltwhistle"],["CNN","Canonbury"],["BOH","Bosham"],["OPK","Orrell Park"],["BDB","Broadbottom"],["LCK","Lockwood"],["NFL","Northfleet"],["TNP","Tonypandy"],["FOC","Falls of Cruachan"],["HYM","Haymarket"],["HIT","Hitchin"],["CLE","Cleethorpes"],["PAL","Palmers Green"],["ARD","Ardgay"],["BUS","Busby"],["LGE","Long Eaton"],["TUL","Tulloch"],["ABD","Aberdeen"],["BRO","Bridge of Orchy"],["GCT","Great Coates"],["INE","Ince & Elton"],["WTT","Witton"],["TRS","Thurston"],["FNC","Farncombe"],["EBD","Ebbsfleet International"],["DUR","Durrington-on-Sea"],["CSA","Cosham"],["PEG","Pegswood"],["CEA","Cleland"],["GCR","Gloucester"],["TAC","Tackley"],["MFH","Milford Haven"],["PRY","Perry Barr"],["RHL","Rhyl"],["THW","The Hawthorns"],["WTH","Whitehaven"],["KNG","Kingston"],["MIK","Micklefield"],["LRG","Lairg"],["EPS","Epsom"],["WBQ","Warrington Bank Quay"],["CUW","Clunderwen"],["DTG","Dinting"],["ACT","Ascot"],["BID","Bidston"],["BWG","Bowling"],["BMP","Brampton (Cumbria)"],["CLT","Clacton-on-Sea"],["BCH","Birchington-on-Sea"],["BEF","Benfleet"],["HMS","Helmsdale"],["KEY","Keyham"],["MOS","Moss Side"],["PTK","Partick"],["SGN","South Greenford"],["SOR","Sole Street"],["DBD","Denby Dale"],["BSP","Brondesbury Park"],["SEE","Southease"],["CNR","Crianlarich"],["CRT","Chartham"],["SUG","Sugar Loaf"],["HGM","Higham"],["WNG","Waun-gron Park"],["DUM","Dumbreck"],["PMR","Peckham Rye"],["CRB","Corbridge"],["NFA","North Fambridge"],["AGV","Abergavenny"],["HAG","Hagley"],["CEL","Chelford"],["HGD","Hungerford"],["BWN","Bloxwich North"],["KVD","Kelvindale"],["RUS","Ruswarp"],["CLV","Claverdon"],["RNH","Rainhill"],["EWW","Ewell West"],["HHY","Highbury & Islington"],["APP","Appleby"],["HKN","Hucknall"],["MSN","Marsden"],["TPC","Thorpe Culvert"],["EWE","Ewell East"],["GTN","Grangetown"],["LEO","Leominster"],["DOL","Dolau"],["CUH","Curriehill"],["KBK","Kents Bank"],["DPS","Dublin Port (Stena)"],["PAI","Pallion (T & W Metro)"],["MCB","Moulsecoomb"],["NMT","Needham Market"],["WFI","Westerfield"],["SCG","Stone Crossing"],["STR","Stranraer"],["ZWA","Waterloo Underground"],["PIL","Pilning"],["SWD","Swinderby"],["MSK","Marske"],["TRN","Troon"],["WID","Widnes"],["KMS","Kemsing"],["STZ","St Peters (T & W Metro)"],["ANF","Ashurst New Forest"],["WTN","Whitton"],["ANL","Anniesland"],["SCS","Starcross"],["FRB","Fairbourne"],["STK","Stockton"],["BEV","Beverley"],["KKM","Kirkham & Wesham"],["PDW","Paddock Wood"],["CAN","Carnoustie"],["STC","Strathcarron"],["CUF","Cuffley"],["MTP","Montpelier"],["SWM","Swanscombe"],["CBE","Canterbury East"],["DMF","Dumfries"],["HNT","Huntly"],["LLT","Llanbister Road"],["WAT","London Waterloo"],["MEW","Maesteg (Ewenny Road)"],["SUT","Sutton Coldfield"],["LDS","Leeds"],["BNM","Burnham"],["BEL","Beauly"],["HXM","Hoveton & Wroxham"],["HDL","Headstone Lane"],["LEY","Leyland"],["PRE","Preston"],["SNY","Sunnymeads"],["RNF","Rainford"],["EGN","Eastrington"],["KGH","Kinghorn"],["MAT","Matlock"],["NCK","New Cumnock"],["NWP","Newport (South Wales)"],["QPW","Queens Park (London)"],["MSD","Moorside"],["WLM","Williamwood"],["DWD","Dolwyddelan"],["WTL","Whitland"],["MPK","Mosspark"],["MAU","Mauldeth Road"],["HEX","Hexham"],["CLI","Clifton"],["SYD","Sydenham"],["LAD","Ladywell"],["CTM","Chatham"],["SWY","Sway"],["TRU","Truro"],["DLY","Dalry"],["PRP","Preston Park"],["BPB","Blackpool Pleasure Beach"],["LHO","Langho"],["SPS","Stepps"],["TOP","Topsham"],["BIA","Bishop Auckland"],["HTH","Handforth"],["MRT","Moreton (Merseyside)"],["MCH","March"],["TDU","Tondu"],["BCS","Bicester North"],["NMP","Northampton"],["ALP","Althorpe"],["BSE","Bury St Edmunds"],["PTR","Petersfield"],["BUC","Buckenham"],["KLY","Kenley"],["ELW","Eltham"],["WHA","Westenhanger"],["WWL","Whitwell"],["EDW","East Dulwich"],["NRD","North Road"],["BTE","Bitterne"],["IMW","Imperial Wharf"],["ANN","Annan"],["BDN","Brading"],["CES","Cressing"],["KBW","Knebworth"],["DAR","Darlington"],["HWD","Hawarden"],["TAD","Tadworth"],["BAG","Bagshot"],["ZHS","Kensington High St Underground"],["SMD","Stamford"],["BUD","Burneside"],["DOT","Dunston"],["ELS","Elstree & Borehamwood"],["CHF","Church Fenton"],["HAZ","Hazel Grove"],["KMH","Kempston Hardwick"],["SOF","South Woodham Ferrers"],["NRW","Norwich"],["AHS","Ashurst"],["FZW","Fitzwilliam"],["MIN","Milliken Park"],["RUN","Runcorn"],["WSL","Walsall"],["OKM","Oakham"],["WAT","London Waterloo"],["AYP","Albany Park"],["MST","Maesteg"],["KNU","Knucklas"],["LEI","Leicester"],["WAT","London Waterloo"],["WCR","Whitecraigs"],["MRP","Moorthorpe"],["SNH","St Helens Central"],["CAO","Cannock"],["RAI","Rainham (Kent)"],["RKT","Ruskington"],["YOK","Yoker"],["BDT","Bridlington"],["LDN","Llandanwg"],["SHJ","St Helens Junction"],["CHH","Christs Hospital"],["CMF","Cromford"],["HYR","Haydons Road"],["LGN","Longton"],["BXH","Bexleyheath"],["CPM","Chippenham"],["DFR","Drumfrochar"],["NCO","Newcourt"],["WET","Weeton"],["EMD","East Midlands Parkway"],["POP","Poppleton"],["AYH","Aylesham"],["ZUM","Upminster Underground"],["CHD","Chesterfield"],["HEZ","Heworth (T & W Metro)"],["PRB","Prestbury"],["GTR","Goostrey"],["ACK","Acklington"],["KNL","Kensal Green"],["SAN","Sandown"],["THL","Tile Hill"],["SIP","Shipton"],["SFA","Stratford International"],["UPW","Upwey"],["GIP","Gipsy Hill"],["RUT","Rutherglen"],["SES","South Elmsall"],["TGM","Teignmouth"],["ADS","Ardrossan Harbour"],["BCG","Birchgrove"],["RFD","Rochford"],["PES","Pensarn"],["BAI","Blairhill"],["TLB","Talybont"],["SVG","Stevenage"],["WPE","Wapping"],["BDG","Bridgeton"],["THH","Thatto Heath"],["ATB","Attenborough"],["MTH","Motherwell"],["WKM","Wokingham"],["GMT","Grosmont"],["ARL","Arlesey"],["BGD","Bargoed"],["REE","Reedham (Norfolk)"],["HPA","Honor Oak Park"],["NUN","Nuneaton"],["TRM","Trimley"],["WTY","Witley"],["SWO","Snowdown"],["MDB","Maidstone Barracks"],["ENL","Enfield Lock"],["MIJ","Mitcham Junction"],["MDE","Maidstone East"],["GOD","Godalming"],["HGR","Hither Green"],["SPO","Spondon"],["WNT","Wandsworth Town"],["ECR","East Croydon"],["CLS","Chester-le-Street"],["QYD","Quakers Yard"],["WBC","Waterbeach"],["NES","Neston"],["PCN","Paisley Canal"],["WSA","West Allerton"],["SFI","Shawfair"],["SLH","Sleights"],["HTN","Hatton"],["KIV","Kiveton Bridge"],["RIS","Rishton"],["DMS","Dormans"],["LCN","Lincoln Central"],["AYP","Albany Park"],["ERI","Eridge"],["WLC","Waltham Cross"],["MPT","Morpeth"],["MDW","Maidstone West"],["WEL","Wellingborough"],["HRY","Harringay Green Lanes"],["MOB","Mobberley"],["SWL","Swale"],["ECC","Eccles"],["HEW","Heworth"],["LLH","Llangennech"],["BKO","Brookwood"],["GSY","Guiseley"],["SBY","Selby"],["WSB","Westbury"],["ETC","Etchingham"],["BLT","Blantyre"],["SSD","Stansted Airport"],["DOR","Dore"],["NVR","Navigation Road"],["CFF","Croftfoot"],["CKN","Crewkerne"],["GLT","Glenrothes with Thornton"],["WTG","Watlington"],["BAN","Banbury"],["HYS","Hayes (Kent)"],["BHR","Builth Road"],["KND","Kingswood"],["KNN","Kings Norton"],["WOL","Wolverton"],["WTO","Water Orton"],["ADR","Airdrie"],["LLC","Llandecwyn"],["PKS","Parkstone (Dorset)"],["GOM","Gomshall"],["TYL","Tyndrum Lower"],["BOP","Bowes Park"],["HRY","Harringay Green Lanes"],["HER","Hersham"],["WRH","Worthing"],["BON","Bolton"],["BOA","Bradford-on-Avon"],["CFH","Chafford Hundred"],["UTY","Upper Tyndrum"],["NAR","Narberth"],["BDL","Birkdale"],["HMT","Ham Street"],["MKM","Melksham"],["AUW","Ascott-under-Wychwood"],["EAL","Ealing Broadway"],["EAL","Ealing Broadway"],["WTB","Whitby"],["CST","London Cannon Street"],["DWN","Darwen"],["BLE","Bramley (West Yorkshire)"],["AAP","Alexandra Palace"],["NUF","Nutfield"],["STG","Stirling"],["HON","Honiton"],["BPW","Bristol Parkway"],["KIT","Kintbury"],["RAD","Radley"],["MCE","Metro Centre"],["SNT","Stanlow & Thornton"],["BYD","Barry Docks"],["DAM","Dalmeny"],["FIN","Finstock"],["BMT","Bedminster"],["HSL","Haslemere"],["CET","Colchester Town"],["HDG","Heald Green"],["PNR","Penrith"],["MHM","Merstham"],["HSC","Hoscar"],["SNO","St Neots"],["BGM","Bellingham"],["NTL","Netley"],["HYH","Hythe"],["RDC","Redditch"],["LTK","Little Kimble"],["FOD","Ford"],["CLJ","Clapham Junction"],["HON","Honiton"],["CLJ","Clapham Junction"],["PNW","Penge West"],["WFJ","Watford Junction"],["HCH","Holmes Chapel"],["LVN","Littlehaven"],["BTL","Batley"],["ZET","Earl's Court Underground"],["WDL","Woodhall"],["BLX","Bloxwich"],["HLS","Hilsea"],["MKT","Marks Tey"],["OKE","Okehampton"],["HWY","High Wycombe"],["SYT","Somerleyton"],["MRY","Maryport"],["SDY","Sandy"],["CLJ","Clapham Junction"],["CEF","Chapel-en-le-Frith"],["LTP","Littleport"],["KPT","Kilpatrick"],["WDD","Widdrington"],["WHM","Whimple"],["CIT","Chislehurst"],["PFR","Pontefract Baghill"],["BKC","Birkenhead Central"],["HOY","Honley"],["INC","Ince"],["CLJ","Clapham Junction"],["GRC","Great Chesterford"],["IPS","Ipswich"],["WCB","Westcombe Park"],["CLJ","Clapham Junction"],["LYP","Lymington Pier"],["CTF","Catford"],["CTE","Chatelherault"],["FWY","Five Ways"],["NDL","North Dulwich"],["BWO","Bricket Wood"],["BKN","Birkenhead North"],["SOW","Sowerby Bridge"],["BTY","Bentley (Hampshire)"],["KLD","Kildale"],["NQY","Newquay"],["SCA","Scarborough"],["BEG","Beltring"],["BKP","Birkenhead Park"],["CLJ","Clapham Junction"],["GLO","Glossop"],["GRH","Gartcosh"],["TUT","Tutbury & Hatton"],["BCE","Bracknell"],["NNT","Nunthorpe"],["ZNP","Newbury Park Underground"],["SND","Sandhurst"],["FSB","Fishbourne (West Sussex)"],["SLW","Salwick"],["DIG","Digby & Sowton"],["EDG","Edge Hill"],["INH","Invershin"],["BTB","Barnetby"],["SJN","St James (T & W Metro)"],["SUY","Sudbury"],["AIG","Aigburth"],["ELR","Elsecar"],["SGB","Smethwick Galton Bridge"],["HYL","Hayle"],["KEM","Kemble"],["WIM","Wimbledon"],["SAS","St Annes-on-the-Sea"],["SHM","Sheringham"],["WRL","Wetheral"],["SUP","Sundridge Park"],["AWM","Ashwell & Morden"],["BUY","Burley Park"],["ABA","Aberdare"],["CRO","Croy"],["DAT","Datchet"],["LGS","Langside"],["WDM","Windermere"],["GMY","Goodmayes"],["BDQ","Bradford Forster Square"],["SOH","South Hampstead"],["GPK","Grange Park"],["EDP","Edinburgh Park"],["NWB","North Wembley"],["NWE","Newport (Essex)"],["CYT","Cherry Tree"],["HUY","Huyton"],["SFN","Shifnal"],["TOM","Tottenham Hale"],["CDI","Crediton"],["HUT","Hutton Cranswick"],["ABW","Abbey Wood"],["GDL","Godley"],["RHD","Ribblehead"],["TYP","Tynemouth (T & W Metro)"],["CSO","Croston"],["PHR","Penshurst"],["LAC","Lancing"],["SWS","South Wigston"],["BUX","Buxton"],["MLD","Mouldsworth"],["FLE","Fleet"],["MKR","Market Rasen"],["LEG","Lea Green"],["CMH","Cwmbach"],["TMC","Templecombe"],["TWI","Twickenham"],["WEE","Weeley"],["HID","Hall I' Th' Wood"],["TTF","Thetford"],["DLH","Doleham"],["BTF","Bottesford"],["JOR","Jordanhill"],["TIL","Tilbury Town"],["BMR","Bromborough Rake"],["DPD","Dorking Deepdene"],["BUT","Burton-on-Trent"],["LEO","Leominster"],["FRN","Fearn"],["SPK","Sutton Parkway"],["STL","Southall"],["VXH","Vauxhall"],["ALM","Alnmouth"],["HMN","Homerton"],["PNS","Penistone"],["DFP","Dublin Ferryport"],["SED","Shelford"],["MLB","Millbrook (Bedfordshire)"],["WWR","Wandsworth Road"],["WBR","Whaley Bridge"],["CNS","Conisbrough"],["JHN","Johnstone"],["LND","Longniddry"],["STF","Stromeferry"],["BCN","Branchton"],["PET","Petts Wood"],["RSG","Rose Grove"],["SAM","Saltmarshe"],["BNS","Barnes"],["PKG","Penkridge"],["SGB","Smethwick Galton Bridge"],["MUF","Manchester United FC"],["RHY","Rhymney"],["AMR","Amersham"],["KDB","Kidbrooke"],["PLC","Pluckley"],["CSM","Castleton Moor"],["HWF","Heathrow Airport T4 (Bus)"],["TAD","Tadworth"],["GTY","Gatley"],["HWX","Heathrow Airport T5 (Bus)"],["BLK","Blackrod"],["SLK","Silkstone Common"],["BSB","Bleasby"],["AGS","Argyle Street"],["MUI","Muirend"],["SMG","St Margarets (London)"],["MAN","Manchester Piccadilly"],["SEG","Selling"],["PLN","Portlethen"],["BSM","Branksome"],["NLN","New Lane"],["HTO","Hightown"],["BYI","Barry Island"],["HOL","Holton Heath"],["SFL","Seaforth & Litherland"],["SBR","Spean Bridge"],["KGS","Kings Sutton"],["LRB","London Road (Brighton)"],["GSC","Gilshochill"],["MCM","Morecambe"],["STP","London St Pancras (Intl)"],["FGT","Faygate"],["ALD","Alderley Edge"],["COH","Crowborough"],["ANF","Ashurst New Forest"],["OCK","Ockendon"],["ASN","Addlestone"],["CLL","Collington"],["MOT","Motspur Park"],["SDL","Sandhills"],["KKB","Kirkby in Ashfield"],["PAD","London Paddington"],["WOB","Woburn Sands"],["BNI","Barnes Bridge"],["QPW","Queens Park (London)"],["BNY","Barnsley"],["BPN","Blackpool North"],["KWD","Kirkwood"],["SCH","Scotstounhill"],["KNT","Kenton"],["LHD","Leatherhead"],["DRO","Dronfield"],["MRD","Morchard Road"],["CHU","Cheadle Hulme"],["LIC","Lichfield City"],["DSM","Darsham"],["ENF","Enfield Town"],["SSE","Shoreham-by-Sea"],["LGF","Longfield"],["LIP","Liphook"],["ACC","Acton Central"],["NHE","New Hythe"],["GCH","Garelochhead"],["GSN","Garston (Hertfordshire)"],["WRY","Wraysbury"],["RID","Ridgmont"],["KNF","Knutsford"],["STN","Stonehaven"],["WHP","West Hampstead Thameslink"],["DIS","Diss"],["MLG","Mallaig"],["REI","Reigate"],["DNG","Dunton Green"],["LUX","Luxulyan"],["GFD","Greenford"],["GNR","Green Road"],["STH","Shepreth"],["BXW","Boxhill & Westhumble"],["DUD","Duddeston"],["FER","Fernhill"],["CHI","Chingford"],["BKQ","Hamilton Square"],["MUB","Musselburgh"],["ULL","Ulleskelf"],["CLP","Clapham High Street"],["COW","Cowdenbeath"],["GLH","Glasshoughton"],["ATL","Attleborough"],["BIN","Bingham"],["LGO","Llangynllo"],["LRB","London Road (Brighton)"],["WKD","Walkden"],["HRW","Harrow & Wealdstone"],["URM","Urmston"],["CUA","Culrain"],["NBW","North Berwick"],["DMC","Drumchapel"],["EMP","Emerson Park"],["HLE","Hillington East"],["MGN","Marston Green"],["UWL","Upper Warlingham"],["LWM","Llantwit Major"],["ZDE","Dagenham East Underground"],["HIB","High Brooms"],["TQY","Torquay"],["LEU","Leuchars"],["LST","London Liverpool Street"],["ZTG","Turnham Green Underground"],["CDY","Cartsdyke"],["MTC","Mitcham Eastfields"],["HVF","Haverfordwest"],["CSW","Chestfield & Swalecliffe"],["TIR","Tir-phil"],["ERL","Earlestown"],["BGL","Bugle"],["HWM","Harlow Mill"],["SYB","Stalybridge"],["NOA","Newton-on-Ayr"],["FRT","Frant"],["GUI","Guide Bridge"],["HLW","Hillington West"],["MYT","Mytholmroyd"],["BKM","Berkhamsted"],["NEL","Nelson"],["NLT","Northolt Park"],["BES","Bescar Lane"],["BNA","Burnage"],["SRY","Shoeburyness"],["MSR","Minster"],["BNH","Barnehurst"],["DUN","Dunbar"],["LLG","Llangadog"],["PIN","Pinhoe"],["POR","Porth"],["CTR","Chester"],["MCK","Marne La Vallee"],["BUO","Bursledon"],["MDL","Middlewood"],["RHM","Reedham (Surrey)"],["WHD","West Hampstead"],["BDH","Bedhampton"],["ROB","Roby"],["KBF","Kirkby-in-Furness"],["RTR","Rochester"],["STV","Stevenston"],["TIP","Tipton"],["ASB","Ardrossan South Beach"],["DBR","Derby Road"],["LMS","Leamington Spa"],["FSK","Fiskerton"],["HWI","Horwich Parkway"],["WLI","Welling"],["WGC","Welwyn Garden City"],["SOU","Southampton Central"],["RUE","Runcorn East"],["FNH","Farnham"],["SRI","Spring Road"],["TAU","Taunton"],["ALT","Altrincham"],["WDS","Woodlesford"],["LEL","Lelant"],["MNR","Manor Road"],["PPL","Pontypool & New Inn"],["RDG","Reading"],["WNR","Windsor & Eton Riverside"],["SWT","Slaithwaite"],["RCD","Rochdale"],["CYP","Crystal Palace"],["DDG","Dorridge"],["KBX","Kirby Cross"],["SBJ","Stourbridge Junction"],["CRI","Cricklewood"],["WDU","West Dulwich"],["SNN","Swinton (Manchester)"],["BRP","Brampton (Suffolk)"],["COV","Coventry"],["DGL","Dingle Road"],["PYC","Pontyclun"],["LNY","Langley"],["GRP","Grove Park"],["HOU","Hounslow"],["SAE","Saltaire"],["BEH","Bedworth"],["SCY","South Croydon"],["BCY","Brockley"],["AVI","Avignon"],["VIC","London Victoria"],["BWD","Birchwood"],["HWN","Harlow Town"],["VIC","London Victoria"],["FRO","Frome"],["VIC","London Victoria"],["AWT","Armathwaite"],["CAT","Caterham"],["COB","Cooden Beach"],["WVH","Wolverhampton"],["HME","Hamble"],["AUG","Aughton Park"],["BEX","Bexhill"],["ACY","Abercynon"],["CML","Carmyle"],["PBR","Potters Bar"],["TOL","Tolworth"],["APN","Newcastle Airport"],["ADN","Ardrossan Town"],["GDP","Gidea Park"],["SBJ","Stourbridge Junction"],["WIJ","Willesden Junction"],["SDM","Shieldmuir"],["SEV","Sevenoaks"],["FRM","Fareham"],["HNA","Hinton Admiral"],["MRN","Marden"],["MIA","Manchester Airport"],["SBT","Stourbridge Town"],["MAI","Maidenhead"],["BKH","Blackheath"],["BYS","Braystones"],["HGT","Harrogate"],["BIL","Billingham"],["STM","St Michaels"],["BVD","Belvedere"],["LTS","Lelant Saltings"],["LHA","Loch Awe"],["BAD","Banstead"],["INT","Ingatestone"],["MKC","Milton Keynes Central"],["EDR","Edmonton Green"],["BNV","Banavie"],["BTP","Braintree Freeport"],["ROC","Roche"],["CHP","Chipstead"],["FNW","Farnworth"],["TAI","Tain"],["GAL","Galashiels"],["CHG","Charing"],["RMD","Richmond"],["MTN","Moreton (Dorset)"],["COR","Corby"],["SOI","Stow"],["BLG","Bellgrove"],["CNF","Carnforth"],["PST","Prestonpans"],["PKT","Park Street"],["SKS","Stocksfield"],["NRC","Newbury Racecourse"],["PNY","Pen-y-bont"],["EKL","East Kilbride"],["SRU","South Ruislip"],["CDU","Cam & Dursley"],["BRV","Bournville"],["WMS","Wemyss Bay"],["UDD","Uddingston"],["BHD","Brithdir"],["MOR","Mortimer"],["CUM","Culham"],["SDH","Sudbury Hill Harrow"],["STA","Stafford"],["PRL","Prittlewell"],["RDT","Radlett"],["SHP","Shepperton"],["CNP","Conway Park"],["TLK","The Lakes"],["BRX","Brixton"],["MTB","Matlock Bath"],["CLN","Chapeltown"],["KYN","Keynsham"],["NWA","North Walsham"],["BYA","Berney Arms"],["REC","Rectory Road"],["RRB","Ryder Brow"],["SUD","Sudbury & Harrow Road"],["SMN","Southminster"],["YAT","Yatton"],["KSN","Kearsney"],["PTF","Pantyffynnon"],["SWN","Swinton (South Yorkshire)"],["SRN","Strines"],["SWA","Swansea"],["TRR","Torre"],["SSC","Seascale"],["HOT","Henley-on-Thames"],["MVL","Malvern Link"],["ARR","Arram"],["SLT","Saltcoats"],["ANZ","Anerley"],["FPK","Finsbury Park"],["LAN","Lancaster"],["THA","Thatcham"],["BSC","Bescot Stadium"],["MTO","Marton"],["EGG","Eggesford"],["KEH","Keith"],["WCY","West Croydon"],["BOD","Bodmin Parkway"],["HOP","Hope (Derbyshire)"],["HRW","Harrow & Wealdstone"],["WTC","Whitchurch (Shropshire)"],["CHX","London Charing Cross"],["KIR","Kirkby"],["WGA","Westgate-on-Sea"],["WSM","Weston-super-Mare"],["BKS","Bekesbourne"],["AHT","Aldershot"],["DFI","Duffield"],["GIR","Girvan"],["ZBB","Barbican Underground"],["HPE","Hope (Flintshire)"],["CLW","Chorleywood"],["HHL","Heath High Level"],["KKS","Kirk Sandall"],["RDD","Riddlesdown"],["RFY","Rock Ferry"],["ABE","Aber"],["HSK","Hassocks"],["SHT","Shotton"],["LVC","Liverpool Central"],["AIN","Aintree"],["HNG","Hengoed"],["LIS","Liss"],["ARM","Armadale"],["FFA","Ffairfach"],["HCB","Hackbridge"],["LVC","Liverpool Central"],["ELP","Ellesmere Port"],["DYF","Dyffryn Ardudwy"],["TYW","Tywyn"],["CWN","Cowden"],["EGH","Egham"],["RET","Retford"],["HAY","Hayes & Harlington"],["SAT","South Acton"],["PMT","Polmont"],["HPQ","Harwich International"],["WED","Wedgwood"],["BIO","Baillieston"],["WCH","Whitchurch (Hampshire)"],["MNE","Manea"],["SNF","Shenfield"],["ROM","Romsey"],["CHL","Chilworth"],["CDN","Coulsdon Town"],["TLS","Thorpe-le-Soken"],["WRS","Wressle"],["BDY","Bredbury"],["THI","Thirsk"],["WES","Westerton"],["CPU","Capenhurst"],["LRH","Larkhall"],["OLD","Old Street"],["DGT","Deansgate"],["SEM","Seamer"],["SVB","Severn Beach"],["BMC","Bromley Cross"],["SEC","Seaton Carew"],["ZLW","Whitechapel"],["SEE","Southease"],["SOA","Southampton Airpt Parkway"],["WDO","Waddon"],["WTS","Whatstandwell"],["LPY","Liverpool South Parkway"],["HFN","Hertford North"],["KGM","Kingham"],["WFL","Wainfleet"],["SKN","St Keyne Wishing Well Halt"],["DPT","Devonport"],["SOW","Sowerby Bridge"],["WDU","West Dulwich"],["BCB","Burscough Bridge"],["HST","High Street"],["LEM","Leyton Midland Road"],["PYL","Pyle"],["WRU","West Ruislip"],["WYB","Weybridge"],["TAB","Tame Bridge Parkway"],["TRE","Trefforest Estate"],["WYB","Weybridge"],["HND","Hanborough"],["WLW","Welwyn North"],["BMO","Birmingham Moor Street"],["BCJ","Burscough Junction"],["DCW","Dorchester West"],["LVJ","James Street"],["RDF","Radcliffe (Nottinghamshire)"],["CPY","Clapham (North Yorkshire)"],["RMF","Romford"],["SAV","Stratford-upon-Avon"],["LHW","Lochwinnoch"],["NOT","Nottingham"],["CUD","Cuddington"],["LLA","Llanaber"],["SNE","Stone"],["SHL","Shawlands"],["FFD","Freshford"],["SHF","Sheffield"],["YRK","York"],["CSD","Cobham & Stoke d'Abernon"],["ENT","Entwistle"],["PRN","Parton"],["ROL","Rolleston"],["BRH","Borth"],["BCV","Bruce Grove"],["SMR","Smethwick Rolfe Street"],["ACN","Achnasheen"],["KWB","Kew Bridge"],["SAR","St Andrews Road"],["ASF","Ashfield"],["FLM","Flimby"],["LBT","Larbert"],["WOR","Worle"],["CWL","Colwall"],["EXC","Exeter Central"],["NTB","Norton Bridge"],["TWY","Twyford"],["ROR","Rogerstone"],["BDI","Bradford Interchange"],["WNL","Whinhill"],["BLA","Blair Atholl"],["KML","Kemsley"],["SDR","Saunderton"],["GRK","Gourock"],["VXH","Vauxhall"],["FTW","Fort William"],["LIT","Littlehampton"],["SIV","St Ives"],["BLD","Baildon"],["GLM","Gillingham (Kent)"],["SHS","Shotts"],["UCK","Uckfield"],["BTG","Barnt Green"],["BOM","Bromborough"],["ACH","Achnashellach"],["UHA","Uphall"],["VXH","Vauxhall"],["DIN","Dingwall"],["HDW","Hadley Wood"],["SOB","Southbourne"],["LEE","Lee"],["QBR","Queenborough"],["LOC","Lockerbie"],["SMA","Small Heath"],["WDB","Woodbridge"],["HIR","Horton-in-Ribblesdale"],["PON","Ponders End"],["FRI","Frinton-on-Sea"],["SAL","Salisbury"],["SRH","Streatham Hill"],["CRK","Chirk"],["EXR","Essex Road"],["HOK","Hook"],["SML","Sea Mills"],["HLY","Holytown"],["NWD","Norwood Junction"],["ASY","Ashley"],["ESW","Elmswell"],["HOH","Harrow-on-the-Hill"],["AGR","Angel Road"],["NSD","Newstead"],["HUL","Hull"],["HLL","Heath Low Level"],["PBL","Parbold"],["JOH","Johnston"],["SMB","Smithy Bridge"],["NSH","North Sheen"],["UPL","Upholland"],["BGE","Broad Green"],["CBY","Charlbury"],["WME","Woodmansterne"],["LAR","Largs"],["MMO","Melton Mowbray"],["LIN","Linlithgow"],["WDT","West Drayton"],["HFE","Hertford East"],["KET","Kettering"],["PUL","Pulborough"],["QRB","Queenstown Road Battersea"],["WMB","Wembley Central"],["BRG","Borough Green & Wrotham"],["GEA","Gretna Green"],["KPA","Kensington Olympia"],["CIM","Cilmeri"],["SWR","Stewartby"],["CMO","Camelon"],["GLQ","Glasgow Queen Street"],["BSU","Brunstane"],["IFI","Ifield"],["ARN","Arnside"],["FRW","Fairwater"],["LKE","Lake"],["CTL","Cattal"],["DMH","Dilton Marsh"],["WWD","Woolwich Dockyard"],["BTS","Burntisland"],["HSW","Heswall"],["KEL","Kelvedon"],["DBL","Dunblane"],["NLR","North Llanrwst"],["HUB","Hunmanby"],["SAF","Salfords"],["WNE","Wilnecote"],["QPK","Queens Park (Glasgow)"],["WTM","Witham"],["AVP","Aylesbury Vale Parkway"],["PTD","Pontarddulais"],["RDG","Reading"],["EXM","Exmouth"],["SNW","Swanwick"],["FCN","Falconwood"],["GOO","Goole"],["LBO","Loughborough"],["HSB","Helsby"],["SHD","Shildon"],["TAY","Taynuilt"],["SNS","Staines"],["CBW","Canterbury West"],["EGF","East Garforth"],["AUR","Aberdour"],["DKG","Dorking"],["GAR","Garrowhill"],["HUN","Huntingdon"],["LLY","Llwynypia"],["SAY","Swanley"],["TTH","Thornton Heath"],["LSK","Liskeard"],["LSW","Leasowe"],["PMP","Plumpton"],["WKK","Wakefield Kirkgate"],["RFY","Rock Ferry"],["DDK","Dagenham Dock"],["HPN","Hapton"],["LNB","Llanbradach"],["BAD","Banstead"],["BIT","Bicester Village"],["MBR","Middlesbrough"],["AAT","Achanalt"],["HIP","Highams Park"],["SIN","Singer"],["TYG","Tygwyn"],["CUP","Cupar"],["FKC","Folkestone Central"],["SIL","Sileby"],["ESM","Elsenham"],["EPD","Epsom Downs"],["HBP","Hornbeam Park"],["HOZ","Howwood"],["RFY","Rock Ferry"],["MEP","Meopham"],["SWG","Swaythling"],["AVM","Aviemore"],["BHK","Bush Hill Park"],["PEA","Peartree"],["WNN","Wennington"],["AYL","Aylesford"],["PIT","Pitlochry"],["OVE","Overpool"],["ZCO","Croxley Underground"],["GYM","Great Yarmouth"],["CPK","Carpenders Park"],["GLC","Glasgow Central"],["LAS","Llansamlet"],["SPN","Spooner Row"],["FKW","Folkestone West"],["KBC","Kinbrace"],["AND","Anderston"],["ZCW","Canada Water"],["DON","Doncaster"],["EAR","Earley"],["CTN","Charlton"],["ZFD","Farringdon Underground"],["SBF","St Budeaux Ferry Road"],["PCD","Pencoed"],["LBG","London Bridge"],["MZH","Maze Hill"],["WTI","Winnersh Triangle"],["HPD","Harpenden"],["SHT","Shotton"],["LBG","London Bridge"],["NRT","Nethertown"],["LBG","London Bridge"],["HMY","Hairmyres"],["HHB","Heysham Port"],["PSH","Pershore"],["PAN","Pangbourne"],["CLU","Carluke"],["SOC","Southend Central"],["MFF","Minffordd"],["BRF","Brierfield"],["COT","Cottingley"],["PTB","Pentre-bach"],["SKG","Skegness"],["INS","Insch"],["EXN","Exton"],["LOO","Looe"],["WWA","Woolwich Arsenal"],["CLK","Clock House"],["BPT","Bishopton"],["BAS","Bere Alston"],["LCS","Locheilside"],["MEV","Merthyr Vale"],["BDH","Bedhampton"],["SDE","Shadwell"],["STP","London St Pancras (Intl)"],["WEH","West Ham"],["HUP","Humphrey Park"],["BTO","Betchworth"],["EVE","Evesham"],["SEF","Seaford"],["ALR","Alresford"],["HNL","Henley-in-Arden"],["SRL","Shirley"],["BFF","Blaenau Ffestiniog"],["FNN","Farnborough North"],["NLW","Newton-le-Willows"],["YAL","Yalding"],["BMH","Bournemouth"],["LHM","Lealholm"],["TVP","Tiverton Parkway"],["BIW","Biggleswade"],["WLS","Woolston"],["BIP","Bishopstone"],["EBV","Ebbw Vale Parkway"],["NNG","Newark North Gate"],["PHG","Penhelig"],["MNG","Manningtree"],["TAT","Tattenham Corner"],["MEN","Menheniot"],["FSB","Fishbourne (West Sussex)"],["CNN","Canonbury"],["HRO","Harold Wood"],["BKJ","Beckenham Junction"],["NFN","Nafferton"],["BNO","Benton (T & W Metro)"],["GRV","Gravesend"],["NBY","Newbury"],["SDC","Shoreditch High Street"],["AXP","Alexandra Parade"],["FXN","Foxton"],["MTS","Montrose"],["BTN","Brighton"],["RDG","Reading"],["CIR","Caledonian Rd & Barnsbury"],["TAL","Talsarnau"],["CWN","Cowden"],["NLS","Nailsea & Backwell"],["WNH","Warnham"],["HWB","Hawarden Bridge"],["LLN","Llandaf"],["NRB","Norbury"],["CSY","Coseley"],["LLL","Llandeilo"],["RIC","Rickmansworth"],["WMB","Wembley Central"],["ADV","Andover"],["PFL","Purfleet"],["SWE","Swineshead"],["SHB","Shirebrook"],["DFD","Dartford"],["HAN","Hanwell"],["NUT","Nutbourne"],["MLW","Marlow"],["WBL","Warblington"],["RHI","Rhiwbina"],["DEP","Deptford"],["CUB","Cumbernauld"],["HCN","Headcorn"],["LAW","Landywood"],["THC","Thurnscoe"],["CNO","Chetnole"],["COI","Crosshill"],["SHW","Shawford"],["BAJ","Baglan"],["SUR","Surbiton"],["AUK","Auchinleck"],["KTL","Kirton Lindsey"],["LID","Lidlington"],["CDR","Cardross"],["SYL","Syon Lane"],["HYT","Hyde North"],["LAI","Laindon"],["HOX","Hoxton"],["LEW","Lewisham"],["BSK","Basingstoke"],["CRW","Crawley"],["GBS","Goring-by-Sea"],["WHS","Whyteleafe South"],["MHR","Market Harborough"],["ERD","Erdington"],["GST","Gathurst"],["LGG","Langley Green"],["OVR","Overton"],["NEH","New Eltham"],["SDN","St Denys"],["MTG","Mottingham"],["WTR","Wateringbury"],["CDB","Cardiff Bay"],["FNT","Feniton"],["BLP","Belper"],["HSG","Hathersage"],["HVH","Hoek Van Holland"],["DVN","Davenport"],["LWH","Lawrence Hill"],["WCK","Wick"],["BMB","Bamber Bridge"],["DRI","Drigg"],["TWN","Town Green"],["CHE","Cheam"],["SAX","Saxmundham"],["MAG","Maghull"],["SBE","Starbeck"],["MCN","Machynlleth"],["CBC","Coatbridge Central"],["BYL","Barry Links"],["BEM","Bempton"],["SFR","Shalford"],["BIC","Billericay"],["BTR","Braintree"],["ISL","Isleworth"],["HLN","Harlington"],["SSM","Stocksmoor"],["GMN","Great Missenden"],["KNE","Kennett"],["POO","Poole"],["RNR","Roughton Road"],["ILK","Ilkley"],["PMH","Portsmouth Harbour"],["RDA","Redland"],["FRS","Forsinard"],["HRN","Hornsey"],["SLY","Selly Oak"],["OXT","Oxted"],["CBS","Coatbridge Sunnyside"],["WMD","Wymondham"],["TEY","Teynham"],["BAV","Barrow Haven"],["BYE","Bynea"],["WKB","West Kilbride"],["BCU","Brockenhurst"],["AMT","Aldermaston"],["LGB","Langbank"],["MRF","Moorfields"],["PMH","Portsmouth Harbour"],["ROO","Roose"],["KIL","Kildonan"],["BHC","Balloch"],["WIV","Wivenhoe"],["BTT","Battersby"],["CCT","Cathcart"],["HRL","Harlech"],["RGW","Ramsgreave & Wilpshire"],["WVF","Wivelsfield"],["SAJ","St Johns"],["WDH","Woodhouse"],["FOG","Forest Gate"],["HTF","Hartford"],["WNW","West Norwood"],["CSG","Cressington"],["SHU","Stonehouse"],["WDN","Walsden"],["SAC","St Albans"],["WFF","Whifflet"],["HOW","Howden"],["MLY","Morley"],["ASG","Alsager"],["LOB","Longbridge"],["WOM","Wombwell"],["MSH","Mossley Hill"],["ECP","Energlyn & Churchill Park"],["EPH","Elephant & Castle"],["RDW","Reading West"],["EKB","Eskbank"],["BRU","Bruton"],["CME","Combe"],["MIH","Mills Hill"],["PPD","Pontypridd"],["SAD","Sandwell & Dudley"],["KGT","Kilgetty"],["BRI","Bristol Temple Meads"],["HOC","Hockley"],["LBR","Llanbedr"],["NSG","New Southgate"],["DGC","Denham Golf Club"],["PNM","Penmere"],["MHS","Meadowhall"],["PSL","Port Sunlight"],["DWW","Dawlish Warren"],["RTN","Renton"],["BUJ","Burton Joyce"],["HUR","Hurst Green"],["BDK","Baldock"],["LNY","Langley"],["BSH","Bushey"],["DOW","Downham Market"],["KIN","Kingussie"],["BLO","Blaydon"],["DVY","Dovey Junction"],["BWS","Barrow Upon Soar"],["SGL","South Gyle"],["WHT","Whitchurch (Glamorgan)"],["ACB","Acton Bridge"],["ZHA","Hammersmith Underground"],["WRB","Wrabness"],["NQU","North Queensferry"],["TYC","Ty Croes"],["ANC","Ancaster"],["NBN","New Brighton"],["HEC","Heckington"],["QUI","Quintrell Downs"],["WCX","Wembley Stadium"],["LWT","Lowestoft"],["RAN","Rannoch"],["THU","Thurgarton"],["CSK","Calstock"],["MER","Merthyr Tydfil"],["NEI","Neilston"],["CBD","Conon Bridge"],["DNO","Dunrobin Castle"],["HUD","Huddersfield"],["SKW","Stoke Newington"],["ARG","Arisaig"],["CNW","Conwy"],["MNN","Menston"],["PLE","Pollokshields East"],["LLO","Llandrindod"],["LAU","Laurencekirk"],["MSL","Mossley"],["SIE","Sherburn-in-Elmet"],["CBH","Cambridge Heath"],["KBN","Kilburn High Road"],["SID","Sidcup"],["FEL","Feltham"],["CCC","Criccieth"],["STO","South Tottenham"],["WOO","Wool"],["GRK","Gourock"],["LLI","Llandybie"],["AXM","Axminster"],["WGV","Wargrave"],["HSD","Hamstead"],["PLW","Pollokshields West"],["BRK","Berwick (Sussex)"],["CTW","Church & Oswaldtwistle"],["XIB","Bourg St Maurice"],["SKI","Skipton"],["BDM","Bedford"],["PLM","Plumley"],["YVJ","Yeovil Junction"],["DEN","Dean"],["DAM","Dalmeny"],["WGN","Wigan North Western"],["WRE","Wrenbury"],["RYN","Roydon"],["YVJ","Yeovil Junction"],["ABH","Abererch"],["UNI","University"],["AMY","Amberley"],["CSB","Carshalton Beeches"],["EFF","Effingham Junction"],["SVK","Seven Kings"],["DEA","Deal"],["WNP","Wanstead Park"],["ALK","Aslockton"],["ULV","Ulverston"],["LIV","Liverpool Lime Street"],["ABC","Altnabreac"],["LAP","Lapford"],["NIT","Nitshill"],["RAM","Ramsgate"],["KNO","Knottingley"],["LIV","Liverpool Lime Street"],["CSH","Carshalton"],["BFE","Bere Ferrers"],["AVY","Aberdovey"],["CBK","Cranbrook (Devon)"],["WLN","Wellington (Shropshire)"],["CGN","Cogan"],["ASC","Ashchurch for Tewkesbury"],["AVF","Avoncliff"],["CBP","Castle Bar Park"],["GSL","Gunnislake"],["HMC","Hampton Court"],["PLY","Plymouth"],["CLA","Clandon"],["CNE","Colne"],["NXG","New Cross Gate"],["CIL","Chilham"],["FLI","Flixton"],["NWX","New Cross"],["BMY","Bramley (Hampshire)"],["CWS","Caersws"],["BHO","Blackhorse Road"],["CFT","Crofton Park"],["GLS","Glaisdale"],["WMI","Wildmill"],["AST","Aston"],["CDT","Caldicot"],["ESD","Elmstead Woods"],["KLN","Kings Lynn"],["SLQ","St Leonards Warrior Square"],["PNC","Penychain"],["BUB","Burnley Barracks"],["BNC","Burnley Central"],["AXM","Axminster"],["AXM","Axminster"],["BGS","Bogston"],["BAC","Bache"],["HWW","How Wood"],["BNG","Bangor (Gwynedd)"],["BRM","Barmouth"],["DNL","Dunlop"],["EML","East Malling"],["CMO","Camelon"],["EDY","East Didsbury"],["SPR","Springburn"],["ELE","Elmers End"],["WKI","West Kirby"],["LBZ","Leighton Buzzard"],["WES","Westerton"],["LYD","Lydney"],["PYT","Poynton"],["RCC","Redcar Central"],["CWE","Crowle"],["KNA","Knaresborough"],["RCE","Redcar East"],["BUH","Brough"],["DAN","Darnall"],["WNF","Winchfield"],["WKF","Wakefield Westgate"],["PWY","Patchway"],["DZY","Danzey"],["FLD","Fauldhouse"],["WPL","Worplesdon"],["BSL","Beasdale"],["KKD","Kirkdale"],["EAG","Eaglescliffe"],["CRM","Cramlington"],["SIH","St Helier"],["HBY","Hartlebury"],["COA","Coatdyke"],["CHW","Chalkwell"],["RYS","Royston"],["DVH","Dove Holes"],["HEV","Hever"],["SPA","Spalding"],["BOG","Bognor Regis"],["EUS","London Euston"],["FRL","Fairlie"],["EDB","Edinburgh"],["MRR","Morar"],["WSH","Wishaw"],["CPW","Chepstow"],["SUU","Sunbury"],["HAP","Hatfield Peverel"],["OUN","Oulton Broad North"],["MIC","Micheldever"],["WOF","Worcester Foregate Street"],["WRX","Wrexham General"],["OUS","Oulton Broad South"],["CAK","Cark"],["FRY","Ferriby"],["FOH","Forest Hill"],["STY","Stratford Parkway"],["OLF","Oldfield Park"],["WAL","Walton-on-Thames"],["PTT","Patterton"],["GLQ","Glasgow Queen Street"],["EBA","Euxton Balshaw Lane"],["HLM","Holmwood"],["FAV","Faversham"],["GOL","Golspie"],["KKH","Kirkhill"],["WSR","Woodsmoor"],["CNL","Canley"],["SPT","Stockport"],["WBD","Whitley Bridge"],["HIA","Hampton-in-Arden"],["BLV","Belle Vue"],["DMK","Denmark Hill"],["DWL","Dawlish"],["FLF","Flowery Field"],["DGY","Deganwy"],["SYS","Syston"],["KKN","Kirknewton"],["WBO","Wimbledon Chase"],["ALB","Albrighton"],["BEP","Bermuda Park (Nuneaton)"],["BFN","Byfleet & New Haw"],["SKM","Stoke Mandeville"],["NEM","New Malden"],["SER","St Erth"],["GNL","Green Lane"],["HEI","Heighington"],["OMS","Ormskirk"],["HBN","Hollingbourne"],["COL","Colchester"],["MES","Melton"],["AHV","Ash Vale"],["KRK","Kirkconnel"],["BYN","Bryn"],["CWC","Chappel & Wakes Colne"],["BIK","Birkbeck"],["SWM","Swanscombe"],["AUD","Audley End"],["BRE","Brentwood"],["YOK","Yoker"],["AHS","Ashurst"],["GSW","Garswood"],["SHU","Stonehouse"],["SNR","Sanderstead"],["BRC","Breich"],["HDM","Haddenham & Thame Parkway"],["BAH","Bank Hall"],["PRR","Princes Risborough"],["SYA","Styal"],["GPO","Gospel Oak"],["SLV","Silver Street"],["FZP","Furze Platt"],["MFA","Morfa Mawddach"],["DLG","Dolgarrog"],["CWB","Colwyn Bay"],["HVN","Havenhouse"],["LUT","Luton"],["GIG","Giggleswick"],["KGP","Kings Park"],["RYH","Rye House"],["GOR","Goring & Streatley"],["HFD","Hereford"],["BIG","Billingshurst"],["STJ","Severn Tunnel Junction"],["SAU","St Austell"],["WHS","Whyteleafe South"],["WST","Wood Street"],["LED","Ledbury"],["MRF","Moorfields"],["OLF","Oldfield Park"],["ATN","Atherton"],["BRS","Berrylands"],["WSB","Westbury"],["CYS","Cathays"],["CWD","Creswell"],["LOS","Lostwithiel"],["BHS","Brockholes"],["THT","Thorntonhall"],["DRG","Drayton Green"],["ANS","Ainsdale"],["DYP","Drayton Park"],["KLY","Kenley"],["LEH","Lea Hall"],["LPR","Long Preston"],["SVS","Seven Sisters"],["WWW","Wootton Wawen"],["SHI","Shiplake"],["WML","Wilmslow"],["EDL","Edale"],["FLX","Felixstowe"],["NBR","Narborough"],["PFY","Poulton-le-Fylde"],["PRP","Preston Park"],["COE","Coombe Junction Halt"],["SST","Stansted Mountfitchet"],["WLD","West St Leonards"],["PMW","Penmaenmawr"],["YEO","Yeoford"],["YVP","Yeovil Pen Mill"],["GRF","Garforth"],["MON","Monifieth"],["NOR","Normanton"],["COM","Commondale"],["ZFD","Farringdon Underground"],["ORR","Orrell"],["LOW","Lowdham"],["YVP","Yeovil Pen Mill"],["HWF","Heathrow Airport T4 (Bus)"],["LPG","Llanfairpwll"],["LWR","Llanrwst"],["CRN","Crowthorne"],["JCH","James Cook"],["LLS","Llanishen"],["NCE","New Clee"],["RAY","Raynes Park"],["SAW","Sawbridgeworth"],["WLO","Waterloo (Merseyside)"],["ROE","Rotherhithe"],["HNB","Herne Bay"],["SHY","Shipley"],["MTA","Mountain Ash"],["SJP","St James' Park"],["LYC","Lympstone Commando"],["NWM","New Milton"],["WIJ","Willesden Junction"],["FLT","Flitwick"],["BRA","Brora"],["HYN","Hyndland"],["RUF","Rufford"],["PTA","Port Talbot Parkway"],["SMH","Stamford Hill"],["GVE","Garve"],["HTE","Hatch End"],["WSE","Winchelsea"],["DLT","Dalton"],["SPY","Shepley"],["CFL","Crossflatts"],["LIH","Leigh (Kent)"],["LYM","Lympstone Village"],["SOL","Solihull"],["CTH","Chadwell Heath"],["FOK","Four Oaks"],["TRI","Tring"],["BLB","Battlesbridge"],["FAL","Falmouth Docks"],["HPL","Hartlepool"],["OXN","Oxenholme Lake District"],["OTF","Otford"],["OUT","Outwood"],["WLE","Whittlesea"],["SBV","St Budeaux Victoria Road"],["HHY","Highbury & Islington"],["CKS","Clarkston"],["EDN","Eden Park"],["SDP","Sandplace"],["AFK","Ashford International"],["DLM","Delamere"],["HHY","Highbury & Islington"],["INK","Inverkeithing"],["SAA","St Albans Abbey"],["HLB","Hildenborough"],["KTH","Kent House"],["BUL","Butlers Lane"],["AML","Acton Main Line"],["FMT","Falmouth Town"],["BAM","Bamford"],["FFD","Freshford"],["WAT","London Waterloo"],["SHN","Shanklin"],["CKT","Crookston"],["BKL","Bickley"],["DND","Dinsdale"],["NCL","Newcastle"],["WLV","Wallasey Village"],["THS","Thurso"],["ZBS","Baker Street Underground"],["WAE","London Waterloo East"],["TIS","Tisbury"],["BXS","Brussels Midi"],["LEA","Leagrave"],["BAB","Balcombe"],["NCZ","Newcastle Central Metro"],["ASH","Ash"],["RDB","Redbridge"],["BBK","Bilbrook"],["BUW","Burley-in-Wharfedale"],["GBD","Gilberdyke"],["NSB","Normans Bay"],["RGT","Rugeley Town"],["SEH","Shoreham (Kent)"],["BSH","Bushey"],["ELG","Elgin"],["FTN","Fratton"],["EBN","Eastbourne"],["FTM","Fort Matilda"],["MBK","Millbrook (Hampshire)"],["POT","Pontefract Tanshelf"],["WGW","Wigan Wallgate"],["SUO","Sutton (Surrey)"],["AYS","Aylesbury"],["LVM","Levenshulme"],["WAD","Wadhurst"],["PGN","Paignton"],["BOC","Bootle"],["BUG","Burgess Hill"],["AHD","Ashtead"],["OKL","Oakleigh Park"],["LTT","Little Sutton"],["BAU","Barton-on-Humber"],["GWE","Gwersyllt"],["PMH","Portsmouth Harbour"],["SBU","Southbury"],["CDF","Cardiff Central"],["DTW","Droitwich Spa"],["FST","London Fenchurch Street"],["CEY","Cononley"],["HML","Hemel Hempstead"],["OKN","Oakengates"],["CGD","Craigendoran"],["PEM","Pemberton"],["NHL","New Holland"],["SNP","Stanhope"],["EST","Easterhouse"],["GRA","Grantham"],["TAP","Taplow"],["SUC","Sutton Common"],["GNH","Greenhithe for Bluewater"],["NCT","Newark Castle"],["BTD","Bolton-on-Dearne"],["HNC","Hamilton Central"],["ECL","Eccleston Park"],["OLY","Ockley"],["PLD","Portslade"],["BBG","Bishopbriggs"],["COP","Copplestone"],["SDB","Sandbach"],["COV","Coventry"],["EXD","Exeter St Davids"],["LTH","Llanhilleth"],["SQH","Sanquhar"],["ERA","Eastham Rake"],["BSK","Basingstoke"],["MIR","Mirfield"],["PFM","Pontefract Monkhill"],["GUN","Gunnersbury"],["WLG","Wallasey Grove Road"],["PBO","Peterborough"],["PLU","Plumstead"],["CDQ","Cardiff Queen Street"],["BXB","Broxbourne"],["HNW","Hamilton West"],["EXT","Exeter St Thomas"],["WLT","Wallington"],["HNX","Hunts Cross"],["HMP","Hampton"],["ALF","Alfreton"],["BAA","Barnham"],["SEA","Seaham"],["WBY","West Byfleet"],["BGL","Bugle"],["WRK","Worksop"],["WWI","West Wickham"],["FGT","Faygate"],["STW","Strawberry Hill"],["NFL","Northfleet"],["BUE","Bures"],["NMP","Northampton"],["CBL","Cambuslang"],["GFN","Giffnock"],["INV","Inverness"],["WGR","Woodgrange Park"],["STS","Saltash"],["STP","London St Pancras (Intl)"],["SUN","Sunderland"],["SDF","Saundersfoot"],["FNV","Furness Vale"],["YAE","Yate"],["MCV","Manchester Victoria"],["RED","Redruth"],["SNG","Sunningdale"],["PDG","Padgate"],["HTR","Heathrow Central Bus Stn"],["BHI","Birmingham International"],["CWH","Crews Hill"],["NTA","Newton Abbot"],["SFA","Stratford International"],["WOH","Woldingham"],["SXY","Saxilby"],["GKC","Greenock Central"],["PTC","Portchester"],["GLD","Guildford"],["BNF","Briton Ferry"],["DAG","Dalgety Bay"],["SOO","Strood"],["DLS","Dalston"],["LFD","Lingfield"],["BBN","Blackburn"],["CGM","Cottingham"],["RVB","Ravensbourne"],["AIR","Airbles"],["BRR","Barrhead"],["CLH","Clitheroe"],["MRM","Manors (T & W Metro)"],["GMT","Grosmont"],["DHM","Durham"],["PAR","Par"],["IVY","Ivybridge"],["LVN","Littlehaven"],["GKW","Greenock West"],["HNK","Hinckley"],["KMK","Kilmarnock"],["RMD","Richmond"],["SIC","Silecroft"],["HAD","Haddiscoe"],["DNM","Denham"],["OXS","Oxshott"],["SLB","Saltburn"],["DNT","Dent"],["WHY","Whyteleafe"],["CRG","Cross Gates"],["LCG","Lochgelly"],["BHG","Bathgate"],["TNF","Tonfanau"],["MAL","Malden Manor"],["NUT","Nutbourne"],["NWX","New Cross"],["TON","Tonbridge"],["TRO","Trowbridge"],["WKG","Workington"],["BSI","Balmossie"],["SMK","Stowmarket"],["LGD","Lingwood"],["FBY","Formby"],["NNP","Ninian Park"],["ADM","Adisham"],["GRL","Greenfaulds"],["RLN","Rowlands Castle"],["AMF","Ammanford"],["KMP","Kempton Park"],["SNL","Stoneleigh"],["BWB","Bow Brickhill"],["ABY","Ashburys"],["BRY","Barry"],["MYL","Maryland"],["BBL","Bat & Ball"],["PUT","Putney"],["CAA","Coventry Arena"],["HMD","Hampden Park"],["GYP","Gypsy Lane"],["CMY","Crossmyloof"],["DUL","Dullingham"],["WNM","Weston Milton"],["AFV","Ansdell & Fairhaven"],["SYH","Sydenham Hill"],["GTW","Gatwick Airport"],["HYK","Hoylake"],["MIS","Mistley"],["PPK","Possilpark & Parkhouse"],["WYM","Wylam"],["MLM","Millom"],["WAV","Wavertree Tech Park"],["LAM","Lamphey"],["CCH","Chichester"],["MLT","Malton"],["SGM","St Germans"],["WND","Wendover"],["HAF","Heathrow Airport T4"],["THE","Theale"],["ADL","Adlington (Lancashire)"],["HWV","Heathrow Airport T5"],["PLK","Plockton"],["HWC","Harwich Town"],["CWU","Crowhurst"],["CHK","Chiswick"],["HEN","Hendon"],["DRU","Drumgelloch"],["HAB","Habrough"],["LVT","Lisvane & Thornhill"],["TOK","Three Oaks"],["SVR","Silverdale"],["HEL","Hensall"],["SON","Steeton & Silsden"],["WIC","Wickford"],["NAN","Nantwich"],["LUD","Ludlow"],["AFS","Ashford (Surrey)"],["SGH","South Gosforth (T & W Metro)"],["WYL","Wylde Green"],["RDH","Redhill"],["RNM","Rainham (Essex)"],["MIF","Millfield (T & W Metro)"],["WIN","Winchester"],["LLR","Llanharan"],["NET","Netherfield"],["BSN","Boston"],["GRN","Grindleford"],["APB","Appley Bridge"],["PYN","Penryn"],["SRR","Sarn"],["BND","Brandon"],["DLW","Dalwhinnie"],["BIB","Bishops Lydeard"],["CUX","Cuxton"],["PRS","Prees"],["CLC","Castle Cary"],["SCF","Stechford"],["CLD","Chelsfield"],["RIL","Rice Lane"],["TBY","Thornaby"],["LPY","Liverpool South Parkway"],["CRV","Craven Arms"],["WMA","West Malling"],["DTN","Denton"],["DOC","Dockyard"],["DCH","Dorchester South"],["NXG","New Cross Gate"],["CDS","Coulsdon South"],["LLF","Llanfairfechan"],["SLL","Stallingborough"],["CDO","Cardonald"],["HAT","Hatfield"],["RDN","Reddish North"],["WOS","Worcester Shrub Hill"],["HAV","Havant"],["SNA","Sandal & Agbrigg"],["MIM","Moreton-in-Marsh"],["ART","Arrochar & Tarbet"],["OBN","Oban"],["RDS","Reddish South"],["TOO","Tooting"],["WMC","Wilmcote"],["SIA","Southend Airport"],["EBT","Edenbridge Town"],["PLG","Polegate"],["BSW","Birmingham Snow Hill"],["GRB","Great Bentley"],["HHB","Heysham Port"],["SNK","Sankey for Penketh"],["BXD","Buxted"],["ASK","Askam"],["CFB","Catford Bridge"],["GMG","Garth (Mid Glamorgan)"],["NCM","North Camp"],["APF","Appleford"],["EWR","East Worthing"],["WON","Walton-on-the-Naze"],["ROW","Rowley Regis"],["WSU","West Sutton"],["BGG","Brigg"],["EBD","Ebbsfleet International"],["ZEL","Elephant & Castle Underground"],["PHR","Penshurst"],["MRB","Manorbier"],["SPH","Shepherds Well"],["STD","Stroud"],["TGS","Ty Glas"],["BCF","Beaconsfield"],["HDF","Hadfield"],["CDD","Cardenden"],["LTL","Littleborough"],["CHR","Christchurch"],["MFT","Mansfield"],["PWE","Pollokshaws East"],["LPW","Lapworth"],["BNE","Bourne End"],["CRA","Cradley Heath"],["CHO","Cholsey"],["WRM","Wareham"],["CSR","Chassen Road"],["SEN","Shenstone"],["BOE","Botley"],["ANG","Angmering"],["DVC","Dovercourt"],["PMG","Porthmadog Harbour (Bus)"],["ORN","Old Roan"],["NGT","Newington"],["KNI","Knighton"],["GVH","Gravelly Hill"],["OXF","Oxford"],["CKY","Crosskeys"],["BLL","Bardon Mill"],["FGH","Fishguard Harbour"],["LYE","Lye"],["CLR","Clarbeston Road"],["HBD","Hebden Bridge"],["IGD","Invergordon"],["YNW","Ynyswen"],["PWW","Pollokshaws West"],["RMB","Roman Bridge"],["GRT","Grateley"],["AGT","Aldrington"],["CED","Cheddington"],["RVN","Ravensthorpe"],["KEN","Kendal"],["MAR","Margate"],["PSE","Pitsea"],["CTK","City Thameslink"],["BAT","Battle"],["HEV","Hever"],["WAS","Watton-at-Stone"],["CLY","Chinley"],["HES","Hessle"],["UPH","Upper Halliford"],["WNS","Winnersh"],["AON","Alton"],["LGK","Longbeck"],["SHC","Streethouse"],["EMS","Emsworth"],["SYH","Sydenham Hill"],["BAK","Battersea Park"],["GLQ","Glasgow Queen Street"],["BKJ","Beckenham Junction"],["UMB","Umberleigh"],["CMN","Carmarthen"],["SHH","Shirehampton"],["MAX","Maxwell Park"],["HGY","Harringay"],["AVF","Avoncliff"],["BYK","Bentley (South Yorkshire)"],["GER","Gerrards Cross"],["HLR","Hall Road"],["HNF","Hednesford"],["FRD","Frodsham"],["KNR","Kensal Rise"],["BCC","Beccles"],["HGN","Hough Green"],["BKW","Berkswell"],["EBR","Edenbridge"],["BKT","Blake Street"],["CEH","Coleshill Parkway"],["LEN","Lenham"],["BEC","Beckenham Hill"],["FNY","Finchley Road & Frognal"],["LTM","Lytham"],["BKJ","Beckenham Junction"],["KDG","Kidsgrove"],["IGD","Invergordon"],["CPH","Caerphilly"],["APS","Apsley"],["HTY","Hattersley"],["SAL","Salisbury"],["BNW","Bootle New Strand"],["SOB","Southbourne"],["BTH","Bath Spa"],["DFE","Dunfermline Town"],["SLS","Shettleston"],["ELY","Ely"],["BMF","Broomfleet"],["NVH","Newhaven Harbour"],["LCL","Lochailort"],["PMD","Pembroke Dock"],["WAR","Ware"],["BFD","Brentford"],["GLZ","Glazebrook"],["HSY","Horsley"],["SPI","Spital"],["SHZ","South Hylton (T & W Metro)"],["MOO","Muir of Ord"],["NHD","Nunhead"],["BKR","Blackridge"],["IRL","Irlam"],["NVN","Newhaven Town"],["WRN","West Runton"],["HDB","Haydon Bridge"],["EAD","Earlsfield"],["RDM","Riding Mill"],["WMR","Widney Manor"],["BPK","Brookmans Park"],["WLF","Whittlesford Parkway"],["GDN","Godstone"],["TFC","Telford Central"],["SHE","Sherborne"],["GNB","Gainsborough Central"],["BOT","Bootle Oriel Road"],["EGR","East Grinstead"],["LNK","Lanark"],["NEG","Newtongrange"],["SAL","Salisbury"],["CFR","Chandlers Ford"],["LGM","Langley Mill"],["GSD","Garsdale"],["LAG","Langwith-Whaley Thorns"],["BNL","Barnhill"],["IVR","Iver"],["CNY","Cantley"],["HGS","Hastings"],["BEY","Ben Rhydding"],["BMD","Brimsdown"],["ARB","Arbroath"],["BLN","Blundellsands & Crosby"],["MSS","Moses Gate"],["DST","Duke Street"],["HYW","Hinchley Wood"],["AYR","Ayr"],["SRO","Shireoaks"],["CAR","Carlisle"],["DSY","Daisy Hill"],["RGL","Rugeley Trent Valley"],["GFF","Gilfach Fargoed"],["WAF","Wallyford"],["INR","Inverurie"],["SBK","South Bank"],["ELO","Elton & Orston"],["SPB","Shepherds Bush"],["STE","Streatham"],["CYB","Cefn-y-Bedd"],["HDY","Headingley"],["HCT","Huncoat"],["DYC","Dyce"],["HYD","Heyford"],["PRH","Penrhyndeudraeth"],["SET","Settle"],["WFH","Watford High Street"],["DLR","Dalreoch"],["BKD","Blakedown"],["PTM","Porthmadog"],["ORP","Orpington"],["GBL","Gainsborough Lea Road"],["SCU","Scunthorpe"],["PTH","Perth"],["TAM","Tamworth"],["TRB","Treherbert"],["BXY","Bexley"],["TRY","Treorchy"],["HRS","Horsforth"],["SHV","Southsea Hoverport (Bus)"],["SUM","Summerston"],["WFJ","Watford Junction"],["FYS","Ferryside"],["NUM","Northumberland Park"],["SVL","Staveley"],["CYK","Clydebank"],["HDN","Harlesden"],["PLS","Pleasington"],["TLC","Tal-y-Cafn"],["WAM","Walmer"],["BMG","Barming"],["IFD","Ilford"],["GTA","Great Ayton"],["NBC","New Beckenham"],["LUD","Ludlow"],["FNR","Farningham Road"],["CFN","Clifton Down"],["HAC","Hackney Downs"],["PGM","Pengam"],["RLG","Rayleigh"],["BKG","Barking"],["BLM","Belmont"],["NTC","Newton St Cyres"],["RYE","Rye"],["DBG","Mottisfont & Dunbridge"],["NWI","Northwich"],["PSC","Prescot"],["DKD","Dunkeld & Birnam"],["AGL","Abergele & Pensarn"],["CRF","Carfin"],["SOM","South Milford"],["CRY","Crayford"],["LIU","Lille Europe"],["GLF","Glenfinnan"],["SWI","Swindon"],["SCR","St Columb Road"],["TEO","Theobalds Grove"],["BHM","Birmingham New Street"],["BML","Bramhall"],["WIJ","Willesden Junction"],["COS","Cosford"],["ACG","Acocks Green"],["DVP","Dover Priory"],["MOG","Moorgate"],["ROS","Rosyth"],["WAO","Walton (Merseyside)"],["GNH","Greenhithe for Bluewater"],["RWC","Rawcliffe"],["LES","Leigh-on-Sea"],["HLI","Healing"],["WEY","Weymouth"],["AFK","Ashford International"],["HON","Honiton"],["RCA","Risca & Pontymister"],["BIY","Bingley"],["FOR","Forres"],["KLM","Kilmaurs"],["BOR","Bodorgan"],["BSS","Barassie"],["PUR","Purley"],["MAC","Macclesfield"],["RBR","Robertsbridge"],["HHE","Haywards Heath"],["ALN","Althorne"],["GBK","Greenbank"],["BMV","Bromsgrove"],["GTO","Gorton"],["PMB","Pembroke"],["SKE","Skewen"],["CAU","Causeland"],["PEN","Penarth"],["UPT","Upton"],["BMN","Bromley North"],["ZTH","Tower Hill Underground"],["KYL","Kyle of Lochalsh"],["TTN","Totton"],["HWF","Heathrow Airport T4 (Bus)"],["BMS","Bromley South"],["ASS","Alness"],["SSS","Sheerness-on-Sea"],["CAG","Carrbridge"],["GTH","Garth (Powys)"],["LOF","London Fields"],["BIS","Bishops Stortford"],["BRW","Brunswick"],["CHH","Christs Hospital"],["HHD","Holyhead"],["MFL","Mount Florida"],["DAK","Dalmarnock"],["WSW","Wandsworth Common"],["MDN","Maiden Newton"],["DFL","Dunfermline Queen Margaret"],["IRV","Irvine"],["WHN","Whiston"],["SBS","St Bees"],["PKG","Penkridge"],["SOU","Southampton Central"],["COY","Coryton"],["GGJ","Georgemas Junction"],["SLR","Sleaford"],["DKT","Dorking West"],["SQU","Squires Gate"],["CMD","Camden Road"],["BSO","Basildon"],["CBR","Cooksbridge"],["BYM","Burnley Manchester Road"],["MLF","Milford (Surrey)"],["RYR","Ryde St Johns Road"],["TEY","Teynham"],["TOT","Totnes"],["FRF","Fairfield"],["PUO","Purley Oaks"],["GNF","Greenfield"],["GRY","Grays"],["BGH","Brighouse"],["FKG","Falkirk Grahamston"],["HKH","Hawkhead"],["PYP","Pont-y-Pant"],["FKK","Falkirk High"],["SOV","Southend Victoria"],["MEY","Merryton"]]);var Ge={findStation:function(e){const t=e.toUpperCase(),n=ke.get(t);return console.log(n),n},searchStation:function(e){const t=[],n=e.length<=3,r=e.length>=3,o=new RegExp(`(${e})`,"gi");return ke.forEach((e,a)=>{let i;n&&o.test(a)&&(i=[a,e]),void 0===i&&r&&o.test(e)&&(i=[a,e]),"object"==typeof i&&t.push(i)}),t.slice(0,5)}};let Fe={};Fe=function(){try{return!!localStorage}catch(e){return!1}}()?{save:function(e,t){localStorage[e]=t},load:function(e){return localStorage[e]},exists:function(e){return!(void 0===localStorage[e])}}:{save:function(e,t){document.cookie=`${e}=${encodeURIComponent(t)}`},load:function(e){var t=`; ${document.cookie};`,n=t.indexOf(`; ${e}=`);if(n<0)return"";n=n+e.length+3;var r=t.indexOf(";",n+1);return decodeURIComponent(t.substring(n,r))}};var Ie={partOfDay:function(e,t){console.log(new Date),null==e&&(e=(new Date).getHours().toString()),void 0===t&&(t=!1);const n=e.substring(0,2);let r="";return console.log("Hours",n),r=n>=0&&n<4?"Late Night":n>=4&&n<7?"Early Morning":n>=7&&n<12?"Morning":n>=12&&n<17?"Afternoon":n<21?"Evening":"Night",t&&(r="night"===r?"tonight":"this "+r),console.log("partOfDay",r),r},toHour:function(e=0){return 36e5-(new Date).getTime()%36e5+e},hourFloor:function(){const e=new Date;return parseInt(36e5*~~(e.getTime()/36e5),10).toString(32)},distance:function(e,t,n,r){const o=.017453292519943295,a=Math.cos,i=.5-a((n-e)*o)/2+a(e*o)*a(n*o)*(1-a((r-t)*o))/2;return 12742*Math.asin(Math.sqrt(i))},maybePluralize:(e,t,n="s")=>`${e} ${t}${1!==e?n:""}`,minuteFloor:function(){const e=new Date;return parseInt(6e4*~~(e.getTime()/6e4),10).toString(32)},debounce:function(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}},throttle:function(e,t){var n=!1;return function(){n||(e.apply(null,arguments),n=!0,setTimeout((function(){n=!1}),t))}},once:function(e){var t,n=!1;return function(){return n||(t=e.apply(this,arguments),n=!0),t}},isEmpty:function(e){for(const t in e)if(e.hasOwnProperty(t))return!1;return!0},LocalStorage:Fe},Oe=function e(t){function n(e,t,r){var o,a={};if(Array.isArray(e))return e.concat(t);for(o in e)a[r?o.toLowerCase():o]=e[o];for(o in t){var i=r?o.toLowerCase():o,l=t[o];a[i]=i in a&&"object"==typeof l?n(a[i],l,"headers"===i):l}return a}function r(e,r,o,a){"string"!=typeof e&&(e=(r=e).url);var i={config:r},l=n(t,r),s={},c=a||l.data;(l.transformRequest||[]).map((function(e){c=e(c,l.headers)||c})),c&&"object"==typeof c&&"function"!=typeof c.append&&(c=JSON.stringify(c),s["content-type"]="application/json");var u=document.cookie.match(RegExp("(^|; )"+l.xsrfCookieName+"=([^;]*)"));if(u&&(s[l.xsrfHeaderName]=u[2]),l.auth&&(s.authorization=l.auth),l.baseURL&&(e=new URL(e,l.baseURL)+""),l.params){var d=~e.indexOf("?")?"&":"?";e+=d+(l.paramsSerializer?l.paramsSerializer(l.params):new URLSearchParams(l.params))}return(l.fetch||fetch)(e,{method:o||l.method,body:c,headers:n(l.headers,s,!0),credentials:l.withCredentials?"include":void 0}).then((function(e){for(var t in e)"function"!=typeof e[t]&&(i[t]=e[t]);return(l.validateStatus?l.validateStatus(e.status):e.ok)?"stream"==l.responseType?(i.data=e.body,i):e[l.responseType||"text"]().then((function(e){i.data=e,i.data=JSON.parse(e)})).catch(Object).then((function(){return i})):Promise.reject(i)}))}return t=t||{},r.request=r,r.get=function(e,t){return r(e,t,"get")},r.delete=function(e,t){return r(e,t,"delete")},r.options=function(e,t){return r(e,t,"options")},r.post=function(e,t,n){return r(e,n,"post",t)},r.put=function(e,t,n){return r(e,n,"put",t)},r.patch=function(e,t,n){return r(e,n,"patch",t)},r.all=Promise.all,r.spread=function(e){return function(t){return e.apply(this,t)}},r.CancelToken="function"==typeof AbortController?AbortController:Object,r.defaults=t,r.create=e,r}(),Ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function xe(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var $e,Ye,_e=(function(e,t){ /*! localForage -- Offline Storage, Improved Version 1.9.0 https://localforage.github.io/localForage (c) 2013-2017 Mozilla, Apache License 2.0 */ -e.exports=function e(t,n,r){function o(i,l){if(!n[i]){if(!t[i]){if(!l&&xe)return xe();if(a)return a(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){var n=t[i][1][e];return o(n||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=xe,i=0;i=43)}})).catch((function(){return!1}))}function w(e){return"boolean"==typeof m?c.resolve(m):L(e).then((function(e){return m=e}))}function b(e){var t=g[e.name],n={};n.promise=new c((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function H(e){var t=g[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function W(e,t){var n=g[e.name].deferredOperations.pop();if(n)return n.reject(t),n.promise}function v(e,t){return new c((function(n,r){if(g[e.name]=g[e.name]||G(),e.db){if(!t)return n(e.db);b(e),e.db.close()}var o=[e.name];t&&o.push(e.version);var a=i.open.apply(i,o);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore(S)}catch(n){if("ConstraintError"!==n.name)throw n;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){n(a.result),H(e)}}))}function N(e){return v(e,!1)}function T(e){return v(e,!0)}function R(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function M(e){return new c((function(t,n){var r=new FileReader;r.onerror=n,r.onloadend=function(n){var r=btoa(n.target.result||"");t({__local_forage_encoded_blob:!0,data:r,type:e.type})},r.readAsBinaryString(e)}))}function P(e){return s([C(atob(e.data))],{type:e.type})}function A(e){return e&&e.__local_forage_encoded_blob}function D(e){var t=this,n=t._initReady().then((function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return d(n,e,e),n}function E(e){b(e);for(var t=g[e.name],n=t.forages,r=0;r0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return c.resolve().then((function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),T(e)})).then((function(){return E(e).then((function(){k(e,t,n,r-1)}))})).catch(n);n(o)}}function G(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function F(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=e[r];var o=g[n.name];o||(o=G(),g[n.name]=o),o.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=D);var a=[];function i(){return c.resolve()}for(var l=0;l>4,u[s++]=(15&r)<<4|o>>2,u[s++]=(3&o)<<6|63&a;return c}function Se(e){var t,n=new Uint8Array(e),r="";for(t=0;t>2],r+=X[(3&n[t])<<4|n[t+1]>>4],r+=X[(15&n[t+1])<<2|n[t+2]>>6],r+=X[63&n[t+2]];return n.length%3==2?r=r.substring(0,r.length-1)+"=":n.length%3==1&&(r=r.substring(0,r.length-2)+"=="),r}function me(e,t){var n="";if(e&&(n=he.call(e)),e&&("[object ArrayBuffer]"===n||e.buffer&&"[object ArrayBuffer]"===he.call(e.buffer))){var r,o=Z;e instanceof ArrayBuffer?(r=e,o+=ee):(r=e.buffer,"[object Int8Array]"===n?o+=ne:"[object Uint8Array]"===n?o+=re:"[object Uint8ClampedArray]"===n?o+=oe:"[object Int16Array]"===n?o+=ae:"[object Uint16Array]"===n?o+=le:"[object Int32Array]"===n?o+=ie:"[object Uint32Array]"===n?o+=se:"[object Float32Array]"===n?o+=ce:"[object Float64Array]"===n?o+=ue:t(new Error("Failed to get type for BinaryArray"))),t(o+Se(r))}else if("[object Blob]"===n){var a=new FileReader;a.onload=function(){var n=Q+e.type+"~"+Se(this.result);t(Z+te+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error("Couldn't convert value into a JSON string: ",e),t(null,n)}}function ge(e){if(e.substring(0,q)!==Z)return JSON.parse(e);var t,n=e.substring(de),r=e.substring(q,de);if(r===te&&z.test(n)){var o=n.match(z);t=o[1],n=n.substring(o[0].length)}var a=fe(n);switch(r){case ee:return a;case te:return s([a],{type:t});case ne:return new Int8Array(a);case re:return new Uint8Array(a);case oe:return new Uint8ClampedArray(a);case ae:return new Int16Array(a);case le:return new Uint16Array(a);case ie:return new Int32Array(a);case se:return new Uint32Array(a);case ce:return new Float32Array(a);case ue:return new Float64Array(a);default:throw new Error("Unkown type: "+r)}}var ye={serialize:me,deserialize:ge,stringToBuffer:fe,bufferToString:Se};function Be(e,t,n,r){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,r)}function pe(e){var t=this,n={db:null};if(e)for(var r in e)n[r]="string"!=typeof e[r]?e[r].toString():e[r];var o=new c((function(e,r){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(e){return r(e)}n.db.transaction((function(o){Be(o,n,(function(){t._dbInfo=n,e()}),(function(e,t){r(t)}))}),r)}));return n.serializer=ye,o}function Ce(e,t,n,r,o,a){e.executeSql(n,r,o,(function(e,i){i.code===i.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],(function(e,l){l.rows.length?a(e,i):Be(e,t,(function(){e.executeSql(n,r,o,a)}),a)}),a):a(e,i)}),a)}function Le(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName+" WHERE key = ? LIMIT 1",[e],(function(e,n){var r=n.rows.length?n.rows.item(0).value:null;r&&(r=o.serializer.deserialize(r)),t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function we(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName,[],(function(n,r){for(var a=r.rows,i=a.length,l=0;l0)return void a(be.apply(o,[e,l,n,r-1]));i(t)}}))}))})).catch(i)}));return u(a,n),a}function He(e,t,n){return be.apply(this,[e,t,n,1])}function We(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"DELETE FROM "+o.storeName+" WHERE key = ?",[e],(function(){t()}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function ve(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"DELETE FROM "+r.storeName,[],(function(){e()}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Ne(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT COUNT(key) as c FROM "+r.storeName,[],(function(t,n){var r=n.rows.item(0).c;e(r)}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Te(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT key FROM "+o.storeName+" WHERE id = ? LIMIT 1",[e+1],(function(e,n){var r=n.rows.length?n.rows.item(0).key:null;t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function Re(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT key FROM "+r.storeName,[],(function(t,n){for(var r=[],o=0;o '__WebKitDatabaseInfoTable__'",[],(function(n,r){for(var o=[],a=0;a0}function Fe(e){var t=this,n={};if(e)for(var r in e)n[r]=e[r];return n.keyPrefix=Ee(e,t._defaultConfig),Ge()?(t._dbInfo=n,n.serializer=ye,c.resolve()):c.reject()}function Ie(e){var t=this,n=t.ready().then((function(){for(var e=t._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var r=localStorage.key(n);0===r.indexOf(e)&&localStorage.removeItem(r)}}));return u(n,e),n}function Oe(e,t){var n=this;e=h(e);var r=n.ready().then((function(){var t=n._dbInfo,r=localStorage.getItem(t.keyPrefix+e);return r&&(r=t.serializer.deserialize(r)),r}));return u(r,t),r}function Ke(e,t){var n=this,r=n.ready().then((function(){for(var t=n._dbInfo,r=t.keyPrefix,o=r.length,a=localStorage.length,i=1,l=0;l=0;t--){var n=localStorage.key(t);0===n.indexOf(e)&&localStorage.removeItem(n)}})):c.reject("Invalid arguments"),t),r}var Je={_driver:"localStorageWrapper",_initStorage:Fe,_support:De(),iterate:Ke,getItem:Oe,setItem:Ue,removeItem:_e,clear:Ie,length:Ye,key:xe,keys:$e,dropInstance:Ve},je=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},Xe=function(e,t){for(var n=e.length,r=0;r> wsUrl",t),this.socket=null,this.timer=0,this.clock=null,this.connected=!1,this.connectBuffer=[],this.startWebSocket=function(){const e=""===n?t:`${t}:${n}`;console.log("Starting socket",e);const r=window.MozWebSocket?MozWebSocket:WebSocket;this.socket=new r(e,"stream"),this.socket.onopen=this.handleWebsocketOnOpen.bind(this),this.socket.onmessage=this.handleWebsocketMessage.bind(this),this.socket.onclose=this.handleWebsocketClose.bind(this),this.socket.onerror=function(e){console.error(e)}},this.subscribe=function(e){console.log("Subscribe::",e);const t={request:"SUBSCRIBE",message:"",channel:e};this.connected?this.socket.send(JSON.stringify(t)):this.connectBuffer.push(JSON.stringify(t))},this.send=function(e){console.log("Sending",e),this.socket.send(e)},this.handleData=function(t){e.trigger("message",t)},this.handleBuffer=function(){for(console.log("*** handleBuffer");this.connectBuffer.length>0;){const e=this.connectBuffer.shift();this.socket.send(e)}},this.handleWebsocketOnOpen=function(){this.retry=0,console.log("**** Websocket Connected ****"),this.clock=new Date,this.connected=!0,setTimeout(()=>{this.handleBuffer()},1500)},this.handleWebsocketMessage=function(e){let t;try{console.log("handleWebsocketMessage::raw",e),t=JSON.parse(e.data),console.log("handleWebsocketMessage::command",t)}catch(e){}t&&this.handleData.call(this,t)},this.handleWebsocketClose=function(){console.error("WebSocket Connection Closed.");console.log("Socket alive for",.001);const e=this;console.log("Waiting ",15e3),this.timer=setTimeout((function(){e.startWebSocket()}),15e3)},this.startWebSocket()},Ve=[{follow:!1,name:"nationalrailenq",id:33546465},{follow:!1,name:"networkrail",id:365344176},{follow:!1,name:"NetworkRailSCOT",id:402687948},{follow:!1,name:"AvantiWestCoast",id:0xfdebe737417a000},{follow:!1,name:"CalSleeper",id:2870293725},{follow:!1,name:"CrossCountryUK",id:153368708},{follow:!1,name:"Eurostar",id:98412169},{follow:!1,name:"EurostarUK",id:59742254},{follow:!1,name:"GatwickExpress",id:163816182},{follow:!1,name:"GlasgowSubway",id:224607925},{follow:!1,name:"GWRHelp",id:15589815},{follow:!1,name:"HeathrowExpress",id:20240678},{follow:!1,name:"LNER",id:313306238},{follow:!1,name:"LNRailway",id:0xca2b366c356b000},{follow:!1,name:"northernassist",id:194512268},{follow:!1,name:"ScotRail",id:61569136},{follow:!1,name:"Stansted_Exp",id:257511611},{follow:!1,name:"TfL",id:47319664},{follow:!1,name:"WestMidRailway",id:0xcb4b3f097575000},{follow:!1,name:"NetworkRailBHM",id:583910976},{follow:!1,name:"NetworkRailEDB",id:586614081},{follow:!1,name:"NetworkRailEUS",id:581807264},{follow:!1,name:"NetworkRailGLC",id:421061171},{follow:!1,name:"NetworkRailKGX",id:459192871},{follow:!1,name:"NetworkRailLST",id:581826097},{follow:!1,name:"NetworkRailMAN",id:583895871},{follow:!1,name:"NetworkRailVIC",id:587354752},{follow:!1,name:"BTP",id:266094415},{follow:!1,name:"BTPAvonSomerset",id:0xa40431bb2d69000},{follow:!1,name:"BTPBhm",id:952003488},{follow:!1,name:"BTPBlackCountry",id:0xaa76997f5562000},{follow:!1,name:"BTPCambs",id:2574726074},{follow:!1,name:"BTPCardiff_NWP",id:951714852},{follow:!1,name:"BTPEAnglia",id:4479942923},{follow:!1,name:"BTPEssex",id:2949032015},{follow:!1,name:"BTPGtrMcr",id:1670204977},{follow:!1,name:"BTPLeics",id:0xa9023573bd76000},{follow:!1,name:"BTPLiverpoolSt",id:951912242},{follow:!1,name:"BTPLondon",id:957226980},{follow:!1,name:"BTPLondonBridge",id:3346645594},{follow:!1,name:"BTPMersey",id:951748434},{follow:!1,name:"BTPNorthScot",id:2238888007},{follow:!1,name:"BTPNorthWales",id:951487338},{follow:!1,name:"BTPOxon",id:0xa495f93bb965000},{follow:!1,name:"BTPPontypridd",id:1672678292},{follow:!1,name:"BTPScotland",id:957256160},{follow:!1,name:"BTPSouthYorks",id:3384315676},{follow:!1,name:"BTPTeesValley",id:0xb21ed0d43964000},{follow:!1,name:"BTPUnderground",id:0xdafd09816950000},{follow:!1,name:"BTPWales",id:1430734374},{follow:!1,name:"BTPWaterloo",id:951997044},{follow:!1,name:"BTPWestScot",id:951757261}];const Je=`${location.protocol}//${location.hostname}`;let je=!1;const Xe={},Qe={twitterFollowing:pe({}),twitterFollowingList:pe([]),tweetList:pe([]),tweets:pe([]),favourites:pe([]),routes:pe([]),routeIndex:pe(0),incrementRouteIndex(){this.routeIndex.update(e=>e+1)},async saveRoute(e){const t={...e};t.id=s(this.routeIndex),this.routes.update(e=>[...e,t]),this.incrementRouteIndex()},deleteRoute(e){const t=s(this.routes).slice(0,e),n=s(this.routes).slice(e+1);this.routes.set([...t,...n])},async getTweets(){const e=s(Qe.twitterFollowingList).map(e=>e[1].id),t=Je.concat("/twitter");Oe({method:"post",url:t,data:{list:e}}).then(e=>{const t=e.data,n=t.map(e=>e.id),r=t.map(e=>[e.id,e]);this.tweetList.set(n),this.tweets.set(new Map(r))}).catch(e=>{console.error("Store:getTweets",e)})},getTweetByID(e){return s(this.tweets).get(e)},getTwitterFollowing(){return s(this.twitterFollowing)},saveTwitterFollowing(e){this.twitterFollowing.set(e)},getBaseUrl:()=>Je,updateTweetList(e){this.tweetList.update(t=>[e,...t])},updateTwitter(e){this.tweets.update(t=>t.set(e.id,e))},trigger(e,t){if(console.log("trigger",t),t.hasOwnProperty("message")){const e=t.message;console.log(e),this.updateTwitter(e),this.updateTweetList(e.id)}}},ze=new Ue(Qe);function Ze(t){let n,r,o,a,i,l,s,c,u,d,h,f,S,B;return{c(){n=p("div"),r=p("div"),o=p("div"),a=C(t[0]),i=L(),l=p("div"),s=C(t[1]),c=L(),u=p("div"),d=p("span"),h=C(t[2]),H(r,"class","entry col-8 ml--1 svelte-10t8pfm"),H(d,"class",f="btn "+t[3]+" svelte-10t8pfm"),H(u,"class","entry col-4 text-center svelte-10t8pfm"),H(n,"class","row TRcard svelte-10t8pfm")},m(e,f){g(e,n,f),m(n,r),m(r,o),m(o,a),m(r,i),m(r,l),m(l,s),m(n,c),m(n,u),m(u,d),m(d,h),S||(B=b(d,"click",t[4]),S=!0)},p(e,[t]){1&t&&W(a,e[0]),2&t&&W(s,e[1]),4&t&&W(h,e[2]),8&t&&f!==(f="btn "+e[3]+" svelte-10t8pfm")&&H(d,"class",f)},i:e,o:e,d(e){e&&y(n),S=!1,B()}}}function qe(e,t,n){let r,o,a,i,l,s,{destStation:c}=t,{startStation:u}=t,d=Qe.getBaseUrl(),h={eta:"OFF",sta:"OFF"},f=0,S=0;async function m(){console.log(`Update: ${u} / ${c}`);const e=new Date,t=e.getHours()<6?36e5:95e3,r=t-e.getTime()%t;S=e.getTime()+r,await async function(){const e=Ie.minuteFloor(),t=a.concat("&mh="+e);Oe.get(t).then(e=>{n(8,h={...e.data}),console.log(h)}).catch(e=>{console.error("TrainRoute:getTrain",e)})}(),clearTimeout(f),f=0,f=setTimeout(m,r+10)}return k(async()=>{if(Ie.LocalStorage.exists(`${u}${c}`)){const e=JSON.parse(Ie.LocalStorage.load(`${u}${c}`));n(8,h={...h,...e.trainData}),S=e.due,n(0,r=e.startStationName),n(1,o=e.destStationName),a=e.url}else n(0,r=Ge.findStation(u)),n(1,o=Ge.findStation(c)),a=`${d}/getnexttraintimes?from=${u}&to=${c}`;const e=(new Date).getTime();e>S?m():(f=0,f=setTimeout(m,S-e))}),G(async()=>{clearInterval(f);const e={due:S,trainData:h,startStationName:r,destStationName:o,url:a};Ie.LocalStorage.save(`${u}${c}`,JSON.stringify(e))}),e.$$set=e=>{"destStation"in e&&n(5,c=e.destStation),"startStation"in e&&n(6,u=e.startStation)},e.$$.update=()=>{352&e.$$.dirty&&(n(3,l="On time"===h.eta?"ontime":"delayed"),n(2,i="On time"===h.eta?h.sta:h.eta),s=`#/timetable/${u}/${c}`)},[r,o,i,l,function(){ve(s)},c,u]}_e.getItem("twitterFollowing").then(e=>{console.log("localForage::twitterFollowing",e),null!==e?Qe.twitterFollowing.set(e):(Ve.forEach(e=>{Xe[e.name]={id:e.id,follow:!1}}),Qe.twitterFollowing.set(Xe),_e.setItem("twitterFollowing",Xe).catch(e=>{console.error(e)}))}).catch(e=>{console.error(e)}),_e.getItem("favourites").then(e=>{null!==e&&Qe.favourites.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routes").then(e=>{null!==e&&Qe.routes.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routeIndex").then(e=>{null!==e&&Qe.routeIndex.set(e)}).catch(e=>{console.error(e)}),Qe.favourites.subscribe(e=>{console.log(">> Store.state.favourites",e)}),Qe.routes.subscribe(e=>{je&&_e.setItem("routes",e).catch(e=>{console.error(e)})}),Qe.routeIndex.subscribe(e=>{je&&_e.setItem("routeIndex",e).catch(e=>{console.error(e)})}),Qe.twitterFollowing.subscribe(e=>{je&&_e.setItem("twitterFollowing",e).catch(e=>{console.error(e)});const t=Object.entries(s(Qe.twitterFollowing)).filter(e=>{if(e[1].follow)return e});Qe.twitterFollowingList.set(t)}),Qe.twitterFollowingList.subscribe(e=>{0!==e.length&&(console.log("twitterFollowingList",e.length,e),e.forEach(e=>{console.log(e);const t=e[1].id;ze.subscribe("t-"+t)}))}),Qe.tweetList.subscribe(e=>{console.log("tweetList",e)}),Qe.tweets.subscribe(e=>{console.log(">>tweets",e)}),setTimeout(()=>{je=!0},250);class et extends ge{constructor(e){super(),me(this,e,qe,Ze,i,{destStation:5,startStation:6})}}function tt(e,t,n){const r=e.slice();return r[1]=t[n],r}function nt(e){let t,n;return t=new et({props:{destStation:e[1].destStation.id,startStation:e[1].startStation.id}}),{c(){he(t.$$.fragment)},m(e,r){fe(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.destStation=e[1].destStation.id),1&n&&(r.startStation=e[1].startStation.id),t.$set(r)},i(e){n||(ae(t.$$.fragment,e),n=!0)},o(e){ie(t.$$.fragment,e),n=!1},d(e){Se(t,e)}}}function rt(e){let t,n,r=e[0],o=[];for(let t=0;tie(o[e],1,1,()=>{o[e]=null});return{c(){t=p("div");for(let e=0;e{n(0,r=e)}),[r]}var at={reduceOtherDetails(e){const t=[];let n=0;const r=/<\s*[aA].*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?[aA]\s*?>/;if("object"==typeof e.nrccMessages&&null!==e.nrccMessages)for(const o of e.nrccMessages){const e={index:0,msg:"",link:null,linkText:""};let a=o.value.replace(' ">','">').replace("","").replace("/gi,"");const i=r.exec(o.value);a=a.replace(r,""),e.index=n,e.msg=a,null!==i&&(e.link=i[1],e.linkText=i[2]),t.push(e),n++}return{nrMessages:t,nrMessagesExist:t.length>0}},reduceTrainTimetable(e){const t=[];let n="";const r=["💠","🚉"];if("object"==typeof e&&null!==e){if(console.log(">> reduceTrainService"),"object"==typeof e.trainServices&&null!==e.trainServices)for(const o of e.trainServices){const e=o.destination[0],a=null!==e.via?e.via:"",i=null!==o.platform?o.platform:""+r[0],l=null!==o.sta?o.sta:"D "+o.std,s=null===o.sta,c=null!==o.eta?o.eta:o.etd,u=o.length,d=u>0?` (${u} 🚃) `:"",h="on time"===c.toLowerCase()?"ontime":"delayed",f=null!==o.delayReason?o.delayReason:"",S=null!==o.cancelReason?o.cancelReason:"No reason given 🤷",m=o.serviceIdUrlSafe;t.push({location:e.locationName,time:l,status:c,platform:i,cancel:S,type:"train",delay:f,carriageCount:d,via:a,statusMode:h,isCancelled:o.isCancelled,isDeparture:s,serviceIdUrlSafe:m}),n=o.isCancelled?`${n}${e.locationName} ${a}${l}\n ❌ ${S}`:`${n}${e.locationName}${d}${a}\n ${l}\n ${c}\n ${i}\n ${f}`}if("object"==typeof e.busServices&&null!==e.busServices)for(const n of e.busServices){const e=n.destination[0],r=null!==e.via?e.via:"",o=null!==n.platform?n.platform:"",a=null!==n.sta?n.sta:"D "+n.std,i=null!==n.eta?n.eta:n.etd;t.push({location:e.locationName,time:a,status:i,platform:o,cancel:n.cancelReason,type:"bus",via:r})}}return console.log(t),t},reduceTrainService(e){let t=[];const n=e.sta||e.std,r=e.eta||e.etd,o={locationName:e.locationName,crs:e.crs,st:e.sta,et:e.eta,at:e.ata,isCancelled:e.isCancelled,length:e.length,detachFront:e.detachFront,adhocAlerts:e.adhocAlerts};return null!==e.previousCallingPoints&&(t=t.concat(e.previousCallingPoints[0].callingPoint)),t.push(o),null!==e.subsequentCallingPoints&&(t=t.concat(e.subsequentCallingPoints[0].callingPoint)),t=t.map(e=>(e.et=null===e.et?"":e.et,e.at=null===e.at?"":e.at,e.etMode="on time"===e.et.toLowerCase()?"ontime":"delayed",e.atMode="on time"===e.at.toLowerCase()?"ontime":"delayed",e.delayReason=null!==e.delayReason?e.delayReason:"",e.cancelReason=null!==e.cancelReason?e.cancelReason:"No reason given 🤷",e.classCancel=e.isCancelled?"cancelledRow":"",null!==e.st||null!==e.et&&""!==e.et||(e.st="D "+n,e.et=r),e)),t}};function it(e,t,n){const r=e.slice();return r[5]=t[n],r}function lt(e){let t,n=e[0],r=[];for(let t=0;t0&<(t);return{c(){n=p("section"),r=p("div"),r.innerHTML='

\n
Due
\n
Estimated
\n
Arrived
',o=L(),a&&a.c(),H(r,"class","grid card text-subhead")},m(e,t){g(e,n,t),m(n,r),m(n,o),a&&a.m(n,null)},p(e,[t]){e[0].length>0?a?a.p(e,t):(a=lt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&y(n),a&&a.d()}}}function ut(e,t,n){let r,{serviceId:o}=t,a=[],i=Qe.getBaseUrl();async function l(){{const e="/getservice?serviceid="+o,t=i.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,a=at.reduceTrainService(t))})}}return k(async()=>{await l(),r=setInterval(async()=>{console.log("Service update"),await l()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"serviceId"in e&&n(1,o=e.serviceId)},[a,o]}class dt extends ge{constructor(e){super(),me(this,e,ut,ct,i,{serviceId:1})}}function ht(t){let n,r,o;return r=new dt({props:{serviceId:t[0]}}),{c(){n=p("div"),he(r.$$.fragment),H(n,"class","container")},m(e,t){g(e,n,t),fe(r,n,null),o=!0},p:e,i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r)}}}function ft(e,t,n){let{params:r={}}=t,o=r.serviceId;return e.$$set=e=>{"params"in e&&n(1,r=e.params)},[o,r]}function St(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function mt(e,t,n){const r=e.slice();return r[8]=t[n],r}function gt(e){let t,n,r=e[1].nrMessages,o=[];for(let t=0;te[8].serviceIdUrlSafe;for(let t=0;t{v||(v=se(n,De,{},!0)),v.run(1)}),N=!0)},o(e){e&&(v||(v=se(n,De,{},!1)),v.run(0)),N=!1},d(e){e&&y(n),D&&D.d(),G.d(),e&&v&&v.end(),T=!1,R()}}}function Ht(e){let t,n,r,o,a=!0===e[1].nrMessagesExist&>(e),i=e[0].length>0&&pt(e);return{c(){t=p("div"),n=p("section"),a&&a.c(),r=L(),i&&i.c()},m(e,l){g(e,t,l),m(t,n),a&&a.m(n,null),m(n,r),i&&i.m(n,null),o=!0},p(e,[t]){!0===e[1].nrMessagesExist?a?a.p(e,t):(a=gt(e),a.c(),a.m(n,r)):a&&(a.d(1),a=null),e[0].length>0?i?(i.p(e,t),1&t&&ae(i,1)):(i=pt(e),i.c(),ae(i,1),i.m(n,null)):i&&(re(),ie(i,1,1,()=>{i=null}),oe())},i(e){o||(ae(i),o=!0)},o(e){ie(i),o=!1},d(e){e&&y(t),a&&a.d(),i&&i.d()}}}function Wt(e,t,n){let r,{fromStation:o}=t,{destStation:a}=t,i=[],l={},s=Qe.getBaseUrl();async function c(){{const e=`/gettrains?from=${o}&to=${a}`,t=s.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,i=at.reduceTrainTimetable(t)),n(1,l=at.reduceOtherDetails(t))})}}return k(async()=>{await c(),r=setInterval(async()=>{console.log("Timetable update"),await c()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"fromStation"in e&&n(3,o=e.fromStation),"destStation"in e&&n(4,a=e.destStation)},[i,l,function(e){ve("/service/"+e)},o,a]}class vt extends ge{constructor(e){super(),me(this,e,Wt,Ht,i,{fromStation:3,destStation:4})}}function Nt(e){let t,n,r,o,a,i,l,s,c;return s=new vt({props:{fromStation:e[2],destStation:e[3]}}),{c(){t=p("div"),n=p("div"),r=p("div"),o=C(e[0]),a=C(" TO "),i=C(e[1]),l=L(),he(s.$$.fragment),H(r,"class","text-center text-dark text-subhead"),H(t,"class","container")},m(e,u){g(e,t,u),m(t,n),m(n,r),m(r,o),m(r,a),m(r,i),m(n,l),fe(s,n,null),c=!0},p(e,[t]){(!c||1&t)&&W(o,e[0]),(!c||2&t)&&W(i,e[1])},i(e){c||(ae(s.$$.fragment,e),c=!0)},o(e){ie(s.$$.fragment,e),c=!1},d(e){e&&y(t),Se(s)}}}function Tt(e,t,n){let r,o,{params:a={}}=t,i=a.fromStation,l=a.destStation;return k(async()=>{n(0,r=Ge.findStation(i)),n(1,o=Ge.findStation(l))}),e.$$set=e=>{"params"in e&&n(4,a=e.params)},[r,o,i,l,a]}function Rt(e,t,n){const r=e.slice();return r[9]=t[n],r[11]=n,r}function Mt(e){let t,n=e[4],r=[];for(let t=0;t0&&Mt(t);return{c(){n=p("span"),r=p("label"),i=C(t[1]),l=L(),s=p("input"),c=L(),h&&h.c(),H(r,"for",t[0]),H(s,"autocomplete","off"),H(s,"name",t[0]),H(n,"class","mui-dropdown mui-dropdown--right svelte-1tpailu")},m(e,o){g(e,n,o),m(n,r),m(r,i),m(n,l),m(n,s),v(s,t[2]),m(n,c),h&&h.m(n,null),u||(d=[b(s,"keyup",(function(){a(t[3])&&t[3].apply(this,arguments)})),b(s,"input",t[7])],u=!0)},p(e,[o]){t=e,2&o&&W(i,t[1]),1&o&&H(r,"for",t[0]),1&o&&H(s,"name",t[0]),4&o&&s.value!==t[2]&&v(s,t[2]),t[4].length>0?h?h.p(t,o):(h=Mt(t),h.c(),h.m(n,null)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d(),u=!1,o(d)}}}function Dt(e,t,n){let r,{returnValue:o=""}=t,a="",{name:i}=t,{label:l}=t,s=[];function c(){n(6,o=""),a.length>=2?n(4,s=Ge.searchStation(a)):n(4,s=[])}return k(async()=>{n(3,r=Ie.debounce(c,750))}),e.$$set=e=>{"returnValue"in e&&n(6,o=e.returnValue),"name"in e&&n(0,i=e.name),"label"in e&&n(1,l=e.label)},e.$$.update=()=>{64&e.$$.dirty&&""===o&&n(2,a="")},[i,l,a,r,s,function(e){let[t,r]=e.target.dataset.content.split(",");n(6,o={id:t,name:r}),n(2,a=r),n(4,s=[])},o,function(){a=this.value,n(2,a),n(6,o)}]}class Et extends ge{constructor(e){super(),me(this,e,Dt,At,i,{returnValue:6,name:0,label:1})}}function kt(t){let n,r,o,a;return{c(){n=p("div"),r=p("button"),r.textContent="Add a new route",H(r,"class","btn btn-primary"),H(r,"id","new"),H(r,"type","button")},m(e,i){g(e,n,i),m(n,r),o||(a=b(r,"click",t[6]),o=!0)},p:e,i:e,o:e,d(e){e&&y(n),o=!1,a()}}}function Gt(e){let t,n,r,a,i,l,s,c,u,d,h,f,S,B,w,W,v,N,T,R,M,P,A,D;function E(t){e[7].call(null,t)}let k={label:"Departure Station",name:"startStation"};function G(t){e[8].call(null,t)}void 0!==e[1]&&(k.returnValue=e[1]),s=new Et({props:k}),O.push(()=>de(s,"returnValue",E));let F={label:"Destination Station",name:"destStation"};return void 0!==e[2]&&(F.returnValue=e[2]),S=new Et({props:F}),O.push(()=>de(S,"returnValue",G)),{c(){t=p("div"),n=p("div"),r=p("div"),r.textContent="New Route",a=L(),i=p("div"),l=p("div"),he(s.$$.fragment),u=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),he(S.$$.fragment),w=L(),W=p("div"),v=p("button"),v.textContent="Close",N=L(),T=p("button"),R=C("Save"),H(r,"class","text-subhead"),H(l,"class",""),H(d,"class","text-center"),H(f,"class",""),H(i,"class","grid-3"),H(v,"class","btn btn-sm"),H(v,"type","button"),H(T,"class","btn btn-primary btn-sm"),H(T,"id","save"),H(T,"type","button"),T.disabled=M=!e[3],H(W,"class","my text-right"),H(n,"class","mui-row card"),H(t,"class","container ")},m(o,c){g(o,t,c),m(t,n),m(n,r),m(n,a),m(n,i),m(i,l),fe(s,l,null),m(i,u),m(i,d),m(i,h),m(i,f),fe(S,f,null),m(n,w),m(n,W),m(W,v),m(W,N),m(W,T),m(T,R),P=!0,A||(D=[b(v,"click",e[4]),b(T,"click",e[5])],A=!0)},p(e,t){const n={};!c&&2&t&&(c=!0,n.returnValue=e[1],J(()=>c=!1)),s.$set(n);const r={};!B&&4&t&&(B=!0,r.returnValue=e[2],J(()=>B=!1)),S.$set(r),(!P||8&t&&M!==(M=!e[3]))&&(T.disabled=M)},i(e){P||(ae(s.$$.fragment,e),ae(S.$$.fragment,e),P=!0)},o(e){ie(s.$$.fragment,e),ie(S.$$.fragment,e),P=!1},d(e){e&&y(t),Se(s),Se(S),A=!1,o(D)}}}function Ft(e){let t,n,r,o;const a=[Gt,kt],i=[];function l(e,t){return e[0]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function It(e,t,n){let r,o,a,i=!1;function l(){n(1,r=""),n(2,o=""),n(0,i=!1)}return e.$$.update=()=>{6&e.$$.dirty&&(console.log("typeof startStation",typeof r),n(3,a="object"==typeof r&&"object"==typeof o))},[i,r,o,a,l,async function(){await Qe.saveRoute({startStation:r,destStation:o}),l()},function(){n(0,i=!0)},function(e){r=e,n(1,r)},function(e){o=e,n(2,o)}]}class Ot extends ge{constructor(e){super(),me(this,e,It,Ft,i,{})}}function Kt(t){let n,r,a,i,l,s,c,u,d,h;return{c(){n=p("div"),r=p("button"),r.textContent="Delete",a=L(),i=p("button"),i.textContent="Edit",l=L(),s=p("button"),s.textContent="Close",H(r,"class","btn btn-danger btn-sm"),H(r,"id","delete"),H(r,"type","button"),H(i,"class","btn btn-primary btn-sm"),H(i,"id","save"),H(i,"type","button"),H(s,"class","btn btn-sm"),H(s,"type","button"),H(n,"class","my grid-3 svelte-ojjucl")},m(e,o){g(e,n,o),m(n,r),m(n,a),m(n,i),m(n,l),m(n,s),u=!0,d||(h=[b(r,"click",t[2]),b(i,"click",$t),b(s,"click",t[3])],d=!0)},p:e,i(e){u||(V(()=>{c||(c=se(n,Ee,{},!0)),c.run(1)}),u=!0)},o(e){c||(c=se(n,Ee,{},!1)),c.run(0),u=!1},d(e){e&&y(n),e&&c&&c.end(),d=!1,o(h)}}}function xt(n){let r,i,l,s,c,d,h,f,B,w,v,N,T,R,M,D,E,k=n[0].startStation.name+"",G=n[0].destStation.name+"",F=n[1]&&Kt(n);return{c(){r=p("div"),i=p("div"),l=p("div"),s=C(k),c=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),B=C(G),w=L(),v=p("div"),N=p("button"),N.innerHTML='',T=L(),F&&F.c(),H(l,"class","col-5"),H(d,"class","col-1"),H(f,"class","col-5"),H(N,"class","btn btn-sm--slim"),H(v,"class","col-1"),H(i,"class","grid card ")},m(e,t){g(e,r,t),m(r,i),m(i,l),m(l,s),m(i,c),m(i,d),m(i,h),m(i,f),m(f,B),m(i,w),m(i,v),m(v,N),m(r,T),F&&F.m(r,null),M=!0,D||(E=b(N,"click",n[5]),D=!0)},p(e,[t]){(!M||1&t)&&k!==(k=e[0].startStation.name+"")&&W(s,k),(!M||1&t)&&G!==(G=e[0].destStation.name+"")&&W(B,G),e[1]?F?(F.p(e,t),2&t&&ae(F,1)):(F=Kt(e),F.c(),ae(F,1),F.m(r,null)):F&&(re(),ie(F,1,1,()=>{F=null}),oe())},i(e){M||(ae(F),R&&R.end(1),M=!0)},o(n){ie(F),n&&(R=function(n,r,i){let l,s=r(n,i),c=!0;const d=ne;function h(){const{delay:r=0,duration:a=300,easing:i=t,tick:h=e,css:f}=s||le;f&&(l=P(n,1,0,a,r,i,f));const m=u()+r,g=m+a;V(()=>ee(n,!1,"start")),S(e=>{if(c){if(e>=g)return h(0,1),ee(n,!1,"end"),--d.r||o(d.c),!1;if(e>=m){const t=i((e-m)/a);h(1-t,t)}}return c})}return d.r+=1,a(s)?q().then(()=>{s=s(),h()}):h(),{end(e){e&&s.tick&&s.tick(1,0),c&&(l&&A(n,l),c=!1)}}}(r,Ee,{})),M=!1},d(e){e&&y(r),F&&F.d(),e&&R&&R.end(),D=!1,E()}}}function $t(){}function Yt(e,t,n){let{item:r}=t,{id:o}=t,a=!1;return e.$$set=e=>{"item"in e&&n(0,r=e.item),"id"in e&&n(4,o=e.id)},[r,a,function(){console.log("delete: "+o),n(1,a=!1),Qe.deleteRoute(o)},function(){n(1,a=!1)},o,()=>n(1,a=!a)]}class _t extends ge{constructor(e){super(),me(this,e,Yt,xt,i,{item:0,id:4})}}function Ut(e,t,n){const r=e.slice();return r[1]=t[n],r[3]=n,r}function Vt(e,t){let n,r,o;return r=new _t({props:{item:t[1],id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.item=e[1]),1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function Jt(e){let t,n,r=[],o=new Map,a=e[0];const i=e=>e[1].id;for(let t=0;t{n(0,r=e)}),[r]}class Xt extends ge{constructor(e){super(),me(this,e,jt,Jt,i,{})}}function Qt(e,t,n){const r=e.slice();return r[4]=t[n],r[5]=t,r[6]=n,r}function zt(e){let t,n=Ve,r=[];for(let t=0;t{n(0,r=Qe.getTwitterFollowing()),n(1,o=Object.keys(r).length>0)});const a=Qe.twitterFollowing.subscribe(async e=>{n(0,r=e),n(1,o=Object.keys(r).length>0),console.log("_following",r)});return G(async()=>{Qe.saveTwitterFollowing(r),a()}),[r,o,function(e){r[e.name].follow=this.checked,n(0,r)}]}class tn extends ge{constructor(e){super(),me(this,e,en,qt,i,{})}}function nn(t){let n,r,o,a,i,l,s,c,u,d,h;return a=new Ot({}),l=new Xt({}),d=new tn({}),{c(){n=p("div"),r=p("div"),r.textContent="Settings",o=L(),he(a.$$.fragment),i=L(),he(l.$$.fragment),s=L(),c=p("hr"),u=L(),he(d.$$.fragment),H(r,"class","text-dark text-subhead"),H(n,"class","container")},m(e,t){g(e,n,t),m(n,r),m(n,o),fe(a,n,null),m(n,i),fe(l,n,null),m(n,s),m(n,c),m(n,u),fe(d,n,null),h=!0},p:e,i(e){h||(ae(a.$$.fragment,e),ae(l.$$.fragment,e),ae(d.$$.fragment,e),h=!0)},o(e){ie(a.$$.fragment,e),ie(l.$$.fragment,e),ie(d.$$.fragment,e),h=!1},d(e){e&&y(n),Se(a),Se(l),Se(d)}}}function rn(t){let n;return{c(){n=p("div"),n.innerHTML='

Favourites

\n\n
a
\n
b
\n
c
\n
d
',H(n,"class","container svelte-apetsu")},m(e,t){g(e,n,t)},p:e,i:e,o:e,d(e){e&&y(n)}}}function on(e){let t,n,r,o,a,i,l,s,c,u,d,h,f,S,B,w,b,v,N,T,R,M,P=e[0].user.name+"",A=e[0].user.screen_name+"",D=e[0].created_at+"",E=e[1]&&an(e);return{c(){t=p("div"),n=p("div"),r=p("div"),o=p("img"),l=L(),s=p("div"),c=p("div"),u=C(P),d=L(),h=p("div"),f=C("@"),S=C(A),B=L(),E&&E.c(),w=L(),b=p("div"),v=C(e[2]),N=L(),T=p("div"),R=p("small"),M=C(D),H(o,"class","avatar col-2 svelte-1y2z4hv"),o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),H(o,"alt",i="@"+e[0].user.screen_name),H(c,"class","text-subhead text-dark"),H(h,"class","badge"),H(s,"class","col-10 ml-2"),H(r,"class","grid"),H(n,"class","tweet-header"),H(b,"class","tweetBody"),H(R,"class","text-highlight2"),H(t,"class","card--slim")},m(e,a){g(e,t,a),m(t,n),m(n,r),m(r,o),m(r,l),m(r,s),m(s,c),m(c,u),m(s,d),m(s,h),m(h,f),m(h,S),m(t,B),E&&E.m(t,null),m(t,w),m(t,b),m(b,v),m(t,N),m(t,T),m(T,R),m(R,M)},p(e,n){1&n&&o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),1&n&&i!==(i="@"+e[0].user.screen_name)&&H(o,"alt",i),1&n&&P!==(P=e[0].user.name+"")&&W(u,P),1&n&&A!==(A=e[0].user.screen_name+"")&&W(S,A),e[1]?E?E.p(e,n):(E=an(e),E.c(),E.m(t,w)):E&&(E.d(1),E=null),4&n&&W(v,e[2]),1&n&&D!==(D=e[0].created_at+"")&&W(M,D)},d(e){e&&y(t),E&&E.d()}}}function an(e){let t,n,r,o=e[0].in_reply_to_screen_name+"";return{c(){t=p("div"),n=C("Replying to @"),r=C(o),H(t,"class","text-primary")},m(e,o){g(e,t,o),m(t,n),m(t,r)},p(e,t){1&t&&o!==(o=e[0].in_reply_to_screen_name+"")&&W(r,o)},d(e){e&&y(t)}}}function ln(t){let n,r=t[0]&&on(t);return{c(){r&&r.c(),n=w()},m(e,t){r&&r.m(e,t),g(e,n,t)},p(e,[t]){e[0]?r?r.p(e,t):(r=on(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i:e,o:e,d(e){r&&r.d(e),e&&y(n)}}}function sn(e){return"https://image.silvrtree.co.uk/48,fit,q80/"+e}function cn(e,t,n){let r,o,{id:a}=t,i=!1,l="";return k(async()=>{r=Qe.getTweetByID(a),n(0,o=JSON.parse(r.tweet))}),e.$$set=e=>{"id"in e&&n(3,a=e.id)},e.$$.update=()=>{1&e.$$.dirty&&o&&(n(1,i=o&&null!==o.in_reply_to_status_id),n(2,l=o&&o.truncated?o.extended_tweet.full_text:o.text))},[o,i,l,a]}class un extends ge{constructor(e){super(),me(this,e,cn,ln,i,{id:3})}}function dn(e,t,n){const r=e.slice();return r[3]=t[n],r[5]=n,r}function hn(e,t){let n,r,o;return r=new un({props:{id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function fn(e){let t,n,r,o,a=[],i=new Map,l=e[0];const s=e=>e[3];for(let t=0;t{await Qe.getTweets()});const o=Qe.tweetList.subscribe(async e=>{console.log("tweetlist",e),n(0,r=e)});return G(async()=>{o(),clearInterval(undefined)}),[r]}function mn(t){let n,r,o;return{c(){n=p("h2"),n.textContent="NotFound",r=L(),o=p("p"),o.textContent="Oops, this route doesn't exist!",H(n,"class","routetitle svelte-apetsu"),H(o,"class","svelte-apetsu")},m(e,t){g(e,n,t),g(e,r,t),g(e,o,t)},p:e,i:e,o:e,d(e){e&&y(n),e&&y(r),e&&y(o)}}}const gn=new Map;function yn(t){let n,r,o;return{c(){n=p("span"),n.innerHTML='',H(n,"class","")},m(e,a){g(e,n,a),r||(o=b(n,"click",t[1]),r=!0)},p:e,d(e){e&&y(n),r=!1,o()}}}function Bn(t){let n,r,o,a,i,l,s,c,u,d,h=1===t[0]&&yn(t);return{c(){n=p("header"),r=p("section"),h&&h.c(),o=L(),a=p("span"),a.textContent=""+pn,i=L(),l=p("section"),s=p("a"),s.innerHTML='',c=L(),u=p("a"),u.innerHTML='',d=L(),H(a,"class","text-bold navbar-brand mx-1 text-uppercase"),H(r,"class","navbar-section"),H(s,"title","Tweets"),H(s,"href","/#/tweets"),H(s,"class","btn--slim bg-primary"),H(u,"title","Settings"),H(u,"href","/#/settings"),H(u,"class","btn bg-primary "),H(l,"class","navbar-section text-right"),H(n,"class","navbar bg-primary")},m(e,t){g(e,n,t),m(n,r),h&&h.m(r,null),m(r,o),m(r,a),m(n,i),m(n,l),m(l,s),m(l,c),m(l,u),m(l,d)},p(e,[t]){1===e[0]?h?h.p(e,t):(h=yn(e),h.c(),h.m(r,o)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d()}}}gn.set("/",class extends ge{constructor(e){super(),me(this,e,ot,rt,i,{})}}),gn.set("/timetable/:fromStation/:destStation",class extends ge{constructor(e){super(),me(this,e,Tt,Nt,i,{params:4})}}),gn.set("/service/:serviceId",class extends ge{constructor(e){super(),me(this,e,ft,ht,i,{params:1})}}),gn.set("/settings",class extends ge{constructor(e){super(),me(this,e,null,nn,i,{})}}),gn.set("/favourites",class extends ge{constructor(e){super(),me(this,e,null,rn,i,{})}}),gn.set("/tweets",class extends ge{constructor(e){super(),me(this,e,Sn,fn,i,{})}}),gn.set("*",class extends ge{constructor(e){super(),me(this,e,null,mn,i,{})}});let pn="Traintimes";function Cn(e,t,n){let r,{page:o}=t;return e.$$set=e=>{"page"in e&&n(2,o=e.page)},e.$$.update=()=>{4&e.$$.dirty&&n(0,r="Home"===o?0:1)},[r,function(){U().then(()=>{window.history.back()})},o]}class Ln extends ge{constructor(e){super(),me(this,e,Cn,Bn,i,{page:2})}}function wn(e){let t,n,r,o;return t=new Ln({props:{page:e[0]}}),r=new Te({props:{routes:gn}}),r.$on("conditionsFailed",bn),r.$on("routeLoaded",e[1]),r.$on("routeEvent",Hn),{c(){he(t.$$.fragment),n=L(),he(r.$$.fragment)},m(e,a){fe(t,e,a),g(e,n,a),fe(r,e,a),o=!0},p(e,[n]){const r={};1&n&&(r.page=e[0]),t.$set(r)},i(e){o||(ae(t.$$.fragment,e),ae(r.$$.fragment,e),o=!0)},o(e){ie(t.$$.fragment,e),ie(r.$$.fragment,e),o=!1},d(e){Se(t,e),e&&y(n),Se(r,e)}}}function bn(e){console.error("Caught event conditionsFailed",e.detail)}function Hn(e){console.info("Caught event routeEvent",e.detail)}function Wn(e,t,n){let r;return[r,function(e){console.info("Caught event routeLoaded",e.detail),n(0,r=e.detail.name),console.log("currentPage",r)}]}const vn=new class extends ge{constructor(e){super(),me(this,e,Wn,wn,i,{})}}({target:document.body,props:{}});return"serviceWorker"in navigator&&(navigator.serviceWorker.ready.then((function(e){console.warn("Ready??",e)})),window.addEventListener("load",(function(){navigator.serviceWorker.register("./service-worker.js").then(e=>{console.warn("Service Worker Registered",e.scope)}).catch(e=>{console.error("Registration failed with "+e)})}))),vn}(); +e.exports=function e(t,n,r){function o(i,l){if(!n[i]){if(!t[i]){if(!l&&xe)return xe();if(a)return a(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){var n=t[i][1][e];return o(n||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=xe,i=0;i=43)}})).catch((function(){return!1}))}function w(e){return"boolean"==typeof m?c.resolve(m):L(e).then((function(e){return m=e}))}function b(e){var t=g[e.name],n={};n.promise=new c((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function H(e){var t=g[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function W(e,t){var n=g[e.name].deferredOperations.pop();if(n)return n.reject(t),n.promise}function v(e,t){return new c((function(n,r){if(g[e.name]=g[e.name]||G(),e.db){if(!t)return n(e.db);b(e),e.db.close()}var o=[e.name];t&&o.push(e.version);var a=i.open.apply(i,o);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore(S)}catch(n){if("ConstraintError"!==n.name)throw n;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){n(a.result),H(e)}}))}function T(e){return v(e,!1)}function N(e){return v(e,!0)}function R(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function M(e){return new c((function(t,n){var r=new FileReader;r.onerror=n,r.onloadend=function(n){var r=btoa(n.target.result||"");t({__local_forage_encoded_blob:!0,data:r,type:e.type})},r.readAsBinaryString(e)}))}function P(e){return s([C(atob(e.data))],{type:e.type})}function A(e){return e&&e.__local_forage_encoded_blob}function D(e){var t=this,n=t._initReady().then((function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return d(n,e,e),n}function E(e){b(e);for(var t=g[e.name],n=t.forages,r=0;r0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return c.resolve().then((function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),N(e)})).then((function(){return E(e).then((function(){k(e,t,n,r-1)}))})).catch(n);n(o)}}function G(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function F(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=e[r];var o=g[n.name];o||(o=G(),g[n.name]=o),o.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=D);var a=[];function i(){return c.resolve()}for(var l=0;l>4,u[s++]=(15&r)<<4|o>>2,u[s++]=(3&o)<<6|63&a;return c}function Se(e){var t,n=new Uint8Array(e),r="";for(t=0;t>2],r+=X[(3&n[t])<<4|n[t+1]>>4],r+=X[(15&n[t+1])<<2|n[t+2]>>6],r+=X[63&n[t+2]];return n.length%3==2?r=r.substring(0,r.length-1)+"=":n.length%3==1&&(r=r.substring(0,r.length-2)+"=="),r}function me(e,t){var n="";if(e&&(n=he.call(e)),e&&("[object ArrayBuffer]"===n||e.buffer&&"[object ArrayBuffer]"===he.call(e.buffer))){var r,o=Z;e instanceof ArrayBuffer?(r=e,o+=ee):(r=e.buffer,"[object Int8Array]"===n?o+=ne:"[object Uint8Array]"===n?o+=re:"[object Uint8ClampedArray]"===n?o+=oe:"[object Int16Array]"===n?o+=ae:"[object Uint16Array]"===n?o+=le:"[object Int32Array]"===n?o+=ie:"[object Uint32Array]"===n?o+=se:"[object Float32Array]"===n?o+=ce:"[object Float64Array]"===n?o+=ue:t(new Error("Failed to get type for BinaryArray"))),t(o+Se(r))}else if("[object Blob]"===n){var a=new FileReader;a.onload=function(){var n=Q+e.type+"~"+Se(this.result);t(Z+te+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error("Couldn't convert value into a JSON string: ",e),t(null,n)}}function ge(e){if(e.substring(0,q)!==Z)return JSON.parse(e);var t,n=e.substring(de),r=e.substring(q,de);if(r===te&&z.test(n)){var o=n.match(z);t=o[1],n=n.substring(o[0].length)}var a=fe(n);switch(r){case ee:return a;case te:return s([a],{type:t});case ne:return new Int8Array(a);case re:return new Uint8Array(a);case oe:return new Uint8ClampedArray(a);case ae:return new Int16Array(a);case le:return new Uint16Array(a);case ie:return new Int32Array(a);case se:return new Uint32Array(a);case ce:return new Float32Array(a);case ue:return new Float64Array(a);default:throw new Error("Unkown type: "+r)}}var ye={serialize:me,deserialize:ge,stringToBuffer:fe,bufferToString:Se};function Be(e,t,n,r){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,r)}function pe(e){var t=this,n={db:null};if(e)for(var r in e)n[r]="string"!=typeof e[r]?e[r].toString():e[r];var o=new c((function(e,r){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(e){return r(e)}n.db.transaction((function(o){Be(o,n,(function(){t._dbInfo=n,e()}),(function(e,t){r(t)}))}),r)}));return n.serializer=ye,o}function Ce(e,t,n,r,o,a){e.executeSql(n,r,o,(function(e,i){i.code===i.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],(function(e,l){l.rows.length?a(e,i):Be(e,t,(function(){e.executeSql(n,r,o,a)}),a)}),a):a(e,i)}),a)}function Le(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName+" WHERE key = ? LIMIT 1",[e],(function(e,n){var r=n.rows.length?n.rows.item(0).value:null;r&&(r=o.serializer.deserialize(r)),t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function we(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName,[],(function(n,r){for(var a=r.rows,i=a.length,l=0;l0)return void a(be.apply(o,[e,l,n,r-1]));i(t)}}))}))})).catch(i)}));return u(a,n),a}function He(e,t,n){return be.apply(this,[e,t,n,1])}function We(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"DELETE FROM "+o.storeName+" WHERE key = ?",[e],(function(){t()}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function ve(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"DELETE FROM "+r.storeName,[],(function(){e()}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Te(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT COUNT(key) as c FROM "+r.storeName,[],(function(t,n){var r=n.rows.item(0).c;e(r)}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Ne(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT key FROM "+o.storeName+" WHERE id = ? LIMIT 1",[e+1],(function(e,n){var r=n.rows.length?n.rows.item(0).key:null;t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function Re(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT key FROM "+r.storeName,[],(function(t,n){for(var r=[],o=0;o '__WebKitDatabaseInfoTable__'",[],(function(n,r){for(var o=[],a=0;a0}function Fe(e){var t=this,n={};if(e)for(var r in e)n[r]=e[r];return n.keyPrefix=Ee(e,t._defaultConfig),Ge()?(t._dbInfo=n,n.serializer=ye,c.resolve()):c.reject()}function Ie(e){var t=this,n=t.ready().then((function(){for(var e=t._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var r=localStorage.key(n);0===r.indexOf(e)&&localStorage.removeItem(r)}}));return u(n,e),n}function Oe(e,t){var n=this;e=h(e);var r=n.ready().then((function(){var t=n._dbInfo,r=localStorage.getItem(t.keyPrefix+e);return r&&(r=t.serializer.deserialize(r)),r}));return u(r,t),r}function Ke(e,t){var n=this,r=n.ready().then((function(){for(var t=n._dbInfo,r=t.keyPrefix,o=r.length,a=localStorage.length,i=1,l=0;l=0;t--){var n=localStorage.key(t);0===n.indexOf(e)&&localStorage.removeItem(n)}})):c.reject("Invalid arguments"),t),r}var Je={_driver:"localStorageWrapper",_initStorage:Fe,_support:De(),iterate:Ke,getItem:Oe,setItem:Ue,removeItem:_e,clear:Ie,length:Ye,key:xe,keys:$e,dropInstance:Ve},je=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},Xe=function(e,t){for(var n=e.length,r=0;r> wsUrl",t),this.socket=null,this.timer=0,this.clock=null,this.connected=!1,this.connectBuffer=[],this.startWebSocket=function(){const e=""===n?t:`${t}:${n}`;console.log("Starting socket",e);const r=window.MozWebSocket?MozWebSocket:WebSocket;this.socket=new r(e,"stream"),this.socket.onopen=this.handleWebsocketOnOpen.bind(this),this.socket.onmessage=this.handleWebsocketMessage.bind(this),this.socket.onclose=this.handleWebsocketClose.bind(this),this.socket.onerror=function(e){console.error(e)}},this.subscribe=function(e){console.log("Subscribe::",e);const t={request:"SUBSCRIBE",message:"",channel:e};this.connected?this.socket.send(JSON.stringify(t)):this.connectBuffer.push(JSON.stringify(t))},this.send=function(e){console.log("Sending",e),this.socket.send(e)},this.handleData=function(t){e.trigger("message",t)},this.handleBuffer=function(){for(console.log("*** handleBuffer");this.connectBuffer.length>0;){const e=this.connectBuffer.shift();this.socket.send(e)}},this.handleWebsocketOnOpen=function(){this.retry=0,console.log("**** Websocket Connected ****"),this.clock=new Date,this.connected=!0,setTimeout(()=>{this.handleBuffer()},1500)},this.handleWebsocketMessage=function(e){let t;try{console.log("handleWebsocketMessage::raw",e),t=JSON.parse(e.data),console.log("handleWebsocketMessage::command",t)}catch(e){}t&&this.handleData.call(this,t)},this.handleWebsocketClose=function(){console.error("WebSocket Connection Closed.");console.log("Socket alive for",.001);const e=this;console.log("Waiting ",15e3),this.timer=setTimeout((function(){e.startWebSocket()}),15e3)},this.startWebSocket()},Ve=[{follow:!1,name:"nationalrailenq",id:33546465},{follow:!1,name:"networkrail",id:365344176},{follow:!1,name:"NetworkRailSCOT",id:402687948},{follow:!1,name:"AvantiWestCoast",id:0xfdebe737417a000},{follow:!1,name:"CalSleeper",id:2870293725},{follow:!1,name:"CrossCountryUK",id:153368708},{follow:!1,name:"Eurostar",id:98412169},{follow:!1,name:"EurostarUK",id:59742254},{follow:!1,name:"GatwickExpress",id:163816182},{follow:!1,name:"GlasgowSubway",id:224607925},{follow:!1,name:"GWRHelp",id:15589815},{follow:!1,name:"HeathrowExpress",id:20240678},{follow:!1,name:"LNER",id:313306238},{follow:!1,name:"LNRailway",id:0xca2b366c356b000},{follow:!1,name:"northernassist",id:194512268},{follow:!1,name:"ScotRail",id:61569136},{follow:!1,name:"Stansted_Exp",id:257511611},{follow:!1,name:"TfL",id:47319664},{follow:!1,name:"WestMidRailway",id:0xcb4b3f097575000},{follow:!1,name:"NetworkRailBHM",id:583910976},{follow:!1,name:"NetworkRailEDB",id:586614081},{follow:!1,name:"NetworkRailEUS",id:581807264},{follow:!1,name:"NetworkRailGLC",id:421061171},{follow:!1,name:"NetworkRailKGX",id:459192871},{follow:!1,name:"NetworkRailLST",id:581826097},{follow:!1,name:"NetworkRailMAN",id:583895871},{follow:!1,name:"NetworkRailVIC",id:587354752},{follow:!1,name:"BTP",id:266094415},{follow:!1,name:"BTPAvonSomerset",id:0xa40431bb2d69000},{follow:!1,name:"BTPBhm",id:952003488},{follow:!1,name:"BTPBlackCountry",id:0xaa76997f5562000},{follow:!1,name:"BTPCambs",id:2574726074},{follow:!1,name:"BTPCardiff_NWP",id:951714852},{follow:!1,name:"BTPEAnglia",id:4479942923},{follow:!1,name:"BTPEssex",id:2949032015},{follow:!1,name:"BTPGtrMcr",id:1670204977},{follow:!1,name:"BTPLeics",id:0xa9023573bd76000},{follow:!1,name:"BTPLiverpoolSt",id:951912242},{follow:!1,name:"BTPLondon",id:957226980},{follow:!1,name:"BTPLondonBridge",id:3346645594},{follow:!1,name:"BTPMersey",id:951748434},{follow:!1,name:"BTPNorthScot",id:2238888007},{follow:!1,name:"BTPNorthWales",id:951487338},{follow:!1,name:"BTPOxon",id:0xa495f93bb965000},{follow:!1,name:"BTPPontypridd",id:1672678292},{follow:!1,name:"BTPScotland",id:957256160},{follow:!1,name:"BTPSouthYorks",id:3384315676},{follow:!1,name:"BTPTeesValley",id:0xb21ed0d43964000},{follow:!1,name:"BTPUnderground",id:0xdafd09816950000},{follow:!1,name:"BTPWales",id:1430734374},{follow:!1,name:"BTPWaterloo",id:951997044},{follow:!1,name:"BTPWestScot",id:951757261}];const Je=`${location.protocol}//${location.hostname}`;let je=!1;const Xe={},Qe={newTweets:pe([]),twitterFollowing:pe({}),twitterFollowingList:pe([]),tweetList:pe([]),tweets:pe([]),favourites:pe([]),routes:pe([]),routeIndex:pe(0),incrementRouteIndex(){this.routeIndex.update(e=>e+1)},async saveRoute(e){const t={...e};t.id=s(this.routeIndex),this.routes.update(e=>[...e,t]),this.incrementRouteIndex()},deleteRoute(e){const t=s(this.routes).slice(0,e),n=s(this.routes).slice(e+1);this.routes.set([...t,...n])},async getTweets(){const e=s(Qe.twitterFollowingList).map(e=>e[1].id),t=Je.concat("/twitter");Oe({method:"post",url:t,data:{list:e}}).then(e=>{const t=e.data;this.newTweets.set(t)}).catch(e=>{console.error("Store:getTweets",e)})},getTweetByID(e){return s(this.tweets).get(e)},getTwitterFollowing(){return s(this.twitterFollowing)},saveTwitterFollowing(e){this.twitterFollowing.set(e)},getBaseUrl:()=>Je,updateTweetList(e){this.tweetList.update(t=>[e,...t])},updateTwitter(e){this.tweets.update(t=>t.set(e.id,e))},updateNewTweets(e){this.newTweets.update(t=>{let n=[...t];return n.unshift(e),n=n.slice(0,49),n})},trigger(e,t){if(console.log("trigger",t),t.hasOwnProperty("message")){const e=t.message;this.updateTwitter(e),this.updateTweetList(e.id),this.updateNewTweets(e)}}},ze=new Ue(Qe);function Ze(t){let n,r,o,a,i,l,s,c,u,d,h,f,S,B;return{c(){n=p("div"),r=p("div"),o=p("div"),a=C(t[0]),i=L(),l=p("div"),s=C(t[1]),c=L(),u=p("div"),d=p("span"),h=C(t[2]),H(r,"class","entry col-8 ml--1 svelte-10t8pfm"),H(d,"class",f="btn "+t[3]+" svelte-10t8pfm"),H(u,"class","entry col-4 text-center svelte-10t8pfm"),H(n,"class","row TRcard svelte-10t8pfm")},m(e,f){g(e,n,f),m(n,r),m(r,o),m(o,a),m(r,i),m(r,l),m(l,s),m(n,c),m(n,u),m(u,d),m(d,h),S||(B=b(d,"click",t[4]),S=!0)},p(e,[t]){1&t&&W(a,e[0]),2&t&&W(s,e[1]),4&t&&W(h,e[2]),8&t&&f!==(f="btn "+e[3]+" svelte-10t8pfm")&&H(d,"class",f)},i:e,o:e,d(e){e&&y(n),S=!1,B()}}}function qe(e,t,n){let r,o,a,i,l,s,{destStation:c}=t,{startStation:u}=t,d=Qe.getBaseUrl(),h={eta:"OFF",sta:"OFF"},f=0,S=0;async function m(){console.log(`Update: ${u} / ${c}`);const e=new Date,t=e.getHours()<6?36e5:95e3,r=t-e.getTime()%t;S=e.getTime()+r,await async function(){const e=Ie.minuteFloor(),t=a.concat("&mh="+e);Oe.get(t).then(e=>{n(8,h={...e.data}),console.log(h)}).catch(e=>{console.error("TrainRoute:getTrain",e)})}(),clearTimeout(f),f=0,f=setTimeout(m,r+10)}return k(async()=>{if(Ie.LocalStorage.exists(`${u}${c}`)){const e=JSON.parse(Ie.LocalStorage.load(`${u}${c}`));n(8,h={...h,...e.trainData}),S=e.due,n(0,r=e.startStationName),n(1,o=e.destStationName),a=e.url}else n(0,r=Ge.findStation(u)),n(1,o=Ge.findStation(c)),a=`${d}/getnexttraintimes?from=${u}&to=${c}`;const e=(new Date).getTime();e>S?m():(f=0,f=setTimeout(m,S-e))}),G(async()=>{clearInterval(f);const e={due:S,trainData:h,startStationName:r,destStationName:o,url:a};Ie.LocalStorage.save(`${u}${c}`,JSON.stringify(e))}),e.$$set=e=>{"destStation"in e&&n(5,c=e.destStation),"startStation"in e&&n(6,u=e.startStation)},e.$$.update=()=>{352&e.$$.dirty&&(n(3,l="On time"===h.eta?"ontime":"delayed"),n(2,i="On time"===h.eta?h.sta:h.eta),s=`#/timetable/${u}/${c}`)},[r,o,i,l,function(){ve(s)},c,u]}_e.getItem("twitterFollowing").then(e=>{console.log("localForage::twitterFollowing",e),null!==e?Qe.twitterFollowing.set(e):(Ve.forEach(e=>{Xe[e.name]={id:e.id,follow:!1}}),Qe.twitterFollowing.set(Xe),_e.setItem("twitterFollowing",Xe).catch(e=>{console.error(e)}))}).catch(e=>{console.error(e)}),_e.getItem("favourites").then(e=>{null!==e&&Qe.favourites.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routes").then(e=>{null!==e&&Qe.routes.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routeIndex").then(e=>{null!==e&&Qe.routeIndex.set(e)}).catch(e=>{console.error(e)}),Qe.favourites.subscribe(e=>{console.log(">> Store.state.favourites",e)}),Qe.routes.subscribe(e=>{je&&_e.setItem("routes",e).catch(e=>{console.error(e)})}),Qe.routeIndex.subscribe(e=>{je&&_e.setItem("routeIndex",e).catch(e=>{console.error(e)})}),Qe.twitterFollowing.subscribe(e=>{je&&_e.setItem("twitterFollowing",e).catch(e=>{console.error(e)});const t=Object.entries(s(Qe.twitterFollowing)).filter(e=>{if(e[1].follow)return e});Qe.twitterFollowingList.set(t)}),Qe.twitterFollowingList.subscribe(e=>{0!==e.length&&(console.log("twitterFollowingList",e.length),e.forEach(e=>{const t=e[1].id;ze.subscribe("t-"+t)}))}),Qe.newTweets.subscribe(e=>{if(0===e.length)return;console.log(">> newTweets",e.length);const t=e.map(e=>e.id),n=e.map(e=>[e.id,e]);Qe.tweetList.set(t),Qe.tweets.set(new Map(n))}),setTimeout(()=>{je=!0},250);class et extends ge{constructor(e){super(),me(this,e,qe,Ze,i,{destStation:5,startStation:6})}}function tt(e,t,n){const r=e.slice();return r[1]=t[n],r}function nt(e){let t,n;return t=new et({props:{destStation:e[1].destStation.id,startStation:e[1].startStation.id}}),{c(){he(t.$$.fragment)},m(e,r){fe(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.destStation=e[1].destStation.id),1&n&&(r.startStation=e[1].startStation.id),t.$set(r)},i(e){n||(ae(t.$$.fragment,e),n=!0)},o(e){ie(t.$$.fragment,e),n=!1},d(e){Se(t,e)}}}function rt(e){let t,n,r=e[0],o=[];for(let t=0;tie(o[e],1,1,()=>{o[e]=null});return{c(){t=p("div");for(let e=0;e{n(0,r=e)}),[r]}var at={reduceOtherDetails(e){const t=[];let n=0;const r=/<\s*[aA].*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?[aA]\s*?>/;if("object"==typeof e.nrccMessages&&null!==e.nrccMessages)for(const o of e.nrccMessages){const e={index:0,msg:"",link:null,linkText:""};let a=o.value.replace(' ">','">').replace("
","").replace("/gi,"");const i=r.exec(o.value);a=a.replace(r,""),e.index=n,e.msg=a,null!==i&&(e.link=i[1],e.linkText=i[2]),t.push(e),n++}return{nrMessages:t,nrMessagesExist:t.length>0}},reduceTrainTimetable(e){const t=[];let n="";const r=["💠","🚉"];if("object"==typeof e&&null!==e){if(console.log(">> reduceTrainService"),"object"==typeof e.trainServices&&null!==e.trainServices)for(const o of e.trainServices){const e=o.destination[0],a=null!==e.via?e.via:"",i=null!==o.platform?o.platform:""+r[0],l=null!==o.sta?o.sta:"D "+o.std,s=null===o.sta,c=null!==o.eta?o.eta:o.etd,u=o.length,d=u>0?` (${u} 🚃) `:"",h="on time"===c.toLowerCase()?"ontime":"delayed",f=null!==o.delayReason?o.delayReason:"",S=null!==o.cancelReason?o.cancelReason:"No reason given 🤷",m=o.serviceIdUrlSafe;t.push({location:e.locationName,time:l,status:c,platform:i,cancel:S,type:"train",delay:f,carriageCount:d,via:a,statusMode:h,isCancelled:o.isCancelled,isDeparture:s,serviceIdUrlSafe:m}),n=o.isCancelled?`${n}${e.locationName} ${a}${l}\n ❌ ${S}`:`${n}${e.locationName}${d}${a}\n ${l}\n ${c}\n ${i}\n ${f}`}if("object"==typeof e.busServices&&null!==e.busServices)for(const n of e.busServices){const e=n.destination[0],r=null!==e.via?e.via:"",o=null!==n.platform?n.platform:"",a=null!==n.sta?n.sta:"D "+n.std,i=null!==n.eta?n.eta:n.etd;t.push({location:e.locationName,time:a,status:i,platform:o,cancel:n.cancelReason,type:"bus",via:r})}}return console.log(t),t},reduceTrainService(e){let t=[];const n=e.sta||e.std,r=e.eta||e.etd,o={locationName:e.locationName,crs:e.crs,st:e.sta,et:e.eta,at:e.ata,isCancelled:e.isCancelled,length:e.length,detachFront:e.detachFront,adhocAlerts:e.adhocAlerts};return null!==e.previousCallingPoints&&(t=t.concat(e.previousCallingPoints[0].callingPoint)),t.push(o),null!==e.subsequentCallingPoints&&(t=t.concat(e.subsequentCallingPoints[0].callingPoint)),t=t.map(e=>(e.et=null===e.et?"":e.et,e.at=null===e.at?"":e.at,e.etMode="on time"===e.et.toLowerCase()?"ontime":"delayed",e.atMode="on time"===e.at.toLowerCase()?"ontime":"delayed",e.delayReason=null!==e.delayReason?e.delayReason:"",e.cancelReason=null!==e.cancelReason?e.cancelReason:"No reason given 🤷",e.classCancel=e.isCancelled?"cancelledRow":"",null!==e.st||null!==e.et&&""!==e.et||(e.st="D "+n,e.et=r),e)),t}};function it(e,t,n){const r=e.slice();return r[5]=t[n],r}function lt(e){let t,n=e[0],r=[];for(let t=0;t0&<(t);return{c(){n=p("section"),r=p("div"),r.innerHTML='
Station
\n
Due
\n
Estimated
\n
Arrived
',o=L(),a&&a.c(),H(r,"class","grid card text-subhead")},m(e,t){g(e,n,t),m(n,r),m(n,o),a&&a.m(n,null)},p(e,[t]){e[0].length>0?a?a.p(e,t):(a=lt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&y(n),a&&a.d()}}}function ut(e,t,n){let r,{serviceId:o}=t,a=[],i=Qe.getBaseUrl();async function l(){{const e="/getservice?serviceid="+o,t=i.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,a=at.reduceTrainService(t))})}}return k(async()=>{await l(),r=setInterval(async()=>{console.log("Service update"),await l()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"serviceId"in e&&n(1,o=e.serviceId)},[a,o]}class dt extends ge{constructor(e){super(),me(this,e,ut,ct,i,{serviceId:1})}}function ht(t){let n,r,o;return r=new dt({props:{serviceId:t[0]}}),{c(){n=p("div"),he(r.$$.fragment),H(n,"class","container")},m(e,t){g(e,n,t),fe(r,n,null),o=!0},p:e,i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r)}}}function ft(e,t,n){let{params:r={}}=t,o=r.serviceId;return e.$$set=e=>{"params"in e&&n(1,r=e.params)},[o,r]}function St(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function mt(e,t,n){const r=e.slice();return r[8]=t[n],r}function gt(e){let t,n,r=e[1].nrMessages,o=[];for(let t=0;te[8].serviceIdUrlSafe;for(let t=0;t{v||(v=se(n,De,{},!0)),v.run(1)}),T=!0)},o(e){e&&(v||(v=se(n,De,{},!1)),v.run(0)),T=!1},d(e){e&&y(n),D&&D.d(),G.d(),e&&v&&v.end(),N=!1,R()}}}function Ht(e){let t,n,r,o,a=!0===e[1].nrMessagesExist&>(e),i=e[0].length>0&&pt(e);return{c(){t=p("div"),n=p("section"),a&&a.c(),r=L(),i&&i.c()},m(e,l){g(e,t,l),m(t,n),a&&a.m(n,null),m(n,r),i&&i.m(n,null),o=!0},p(e,[t]){!0===e[1].nrMessagesExist?a?a.p(e,t):(a=gt(e),a.c(),a.m(n,r)):a&&(a.d(1),a=null),e[0].length>0?i?(i.p(e,t),1&t&&ae(i,1)):(i=pt(e),i.c(),ae(i,1),i.m(n,null)):i&&(re(),ie(i,1,1,()=>{i=null}),oe())},i(e){o||(ae(i),o=!0)},o(e){ie(i),o=!1},d(e){e&&y(t),a&&a.d(),i&&i.d()}}}function Wt(e,t,n){let r,{fromStation:o}=t,{destStation:a}=t,i=[],l={},s=Qe.getBaseUrl();async function c(){{const e=`/gettrains?from=${o}&to=${a}`,t=s.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,i=at.reduceTrainTimetable(t)),n(1,l=at.reduceOtherDetails(t))})}}return k(async()=>{await c(),r=setInterval(async()=>{console.log("Timetable update"),await c()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"fromStation"in e&&n(3,o=e.fromStation),"destStation"in e&&n(4,a=e.destStation)},[i,l,function(e){ve("/service/"+e)},o,a]}class vt extends ge{constructor(e){super(),me(this,e,Wt,Ht,i,{fromStation:3,destStation:4})}}function Tt(e){let t,n,r,o,a,i,l,s,c;return s=new vt({props:{fromStation:e[2],destStation:e[3]}}),{c(){t=p("div"),n=p("div"),r=p("div"),o=C(e[0]),a=C(" TO "),i=C(e[1]),l=L(),he(s.$$.fragment),H(r,"class","text-center text-dark text-subhead"),H(t,"class","container")},m(e,u){g(e,t,u),m(t,n),m(n,r),m(r,o),m(r,a),m(r,i),m(n,l),fe(s,n,null),c=!0},p(e,[t]){(!c||1&t)&&W(o,e[0]),(!c||2&t)&&W(i,e[1])},i(e){c||(ae(s.$$.fragment,e),c=!0)},o(e){ie(s.$$.fragment,e),c=!1},d(e){e&&y(t),Se(s)}}}function Nt(e,t,n){let r,o,{params:a={}}=t,i=a.fromStation,l=a.destStation;return k(async()=>{n(0,r=Ge.findStation(i)),n(1,o=Ge.findStation(l))}),e.$$set=e=>{"params"in e&&n(4,a=e.params)},[r,o,i,l,a]}function Rt(e,t,n){const r=e.slice();return r[9]=t[n],r[11]=n,r}function Mt(e){let t,n=e[4],r=[];for(let t=0;t0&&Mt(t);return{c(){n=p("span"),r=p("label"),i=C(t[1]),l=L(),s=p("input"),c=L(),h&&h.c(),H(r,"for",t[0]),H(s,"autocomplete","off"),H(s,"name",t[0]),H(n,"class","mui-dropdown mui-dropdown--right svelte-1tpailu")},m(e,o){g(e,n,o),m(n,r),m(r,i),m(n,l),m(n,s),v(s,t[2]),m(n,c),h&&h.m(n,null),u||(d=[b(s,"keyup",(function(){a(t[3])&&t[3].apply(this,arguments)})),b(s,"input",t[7])],u=!0)},p(e,[o]){t=e,2&o&&W(i,t[1]),1&o&&H(r,"for",t[0]),1&o&&H(s,"name",t[0]),4&o&&s.value!==t[2]&&v(s,t[2]),t[4].length>0?h?h.p(t,o):(h=Mt(t),h.c(),h.m(n,null)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d(),u=!1,o(d)}}}function Dt(e,t,n){let r,{returnValue:o=""}=t,a="",{name:i}=t,{label:l}=t,s=[];function c(){n(6,o=""),a.length>=2?n(4,s=Ge.searchStation(a)):n(4,s=[])}return k(async()=>{n(3,r=Ie.debounce(c,750))}),e.$$set=e=>{"returnValue"in e&&n(6,o=e.returnValue),"name"in e&&n(0,i=e.name),"label"in e&&n(1,l=e.label)},e.$$.update=()=>{64&e.$$.dirty&&""===o&&n(2,a="")},[i,l,a,r,s,function(e){let[t,r]=e.target.dataset.content.split(",");n(6,o={id:t,name:r}),n(2,a=r),n(4,s=[])},o,function(){a=this.value,n(2,a),n(6,o)}]}class Et extends ge{constructor(e){super(),me(this,e,Dt,At,i,{returnValue:6,name:0,label:1})}}function kt(t){let n,r,o,a;return{c(){n=p("div"),r=p("button"),r.textContent="Add a new route",H(r,"class","btn btn-primary"),H(r,"id","new"),H(r,"type","button")},m(e,i){g(e,n,i),m(n,r),o||(a=b(r,"click",t[6]),o=!0)},p:e,i:e,o:e,d(e){e&&y(n),o=!1,a()}}}function Gt(e){let t,n,r,a,i,l,s,c,u,d,h,f,S,B,w,W,v,T,N,R,M,P,A,D;function E(t){e[7].call(null,t)}let k={label:"Departure Station",name:"startStation"};function G(t){e[8].call(null,t)}void 0!==e[1]&&(k.returnValue=e[1]),s=new Et({props:k}),O.push(()=>de(s,"returnValue",E));let F={label:"Destination Station",name:"destStation"};return void 0!==e[2]&&(F.returnValue=e[2]),S=new Et({props:F}),O.push(()=>de(S,"returnValue",G)),{c(){t=p("div"),n=p("div"),r=p("div"),r.textContent="New Route",a=L(),i=p("div"),l=p("div"),he(s.$$.fragment),u=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),he(S.$$.fragment),w=L(),W=p("div"),v=p("button"),v.textContent="Close",T=L(),N=p("button"),R=C("Save"),H(r,"class","text-subhead"),H(l,"class",""),H(d,"class","text-center"),H(f,"class",""),H(i,"class","grid-3"),H(v,"class","btn btn-sm"),H(v,"type","button"),H(N,"class","btn btn-primary btn-sm"),H(N,"id","save"),H(N,"type","button"),N.disabled=M=!e[3],H(W,"class","my text-right"),H(n,"class","mui-row card"),H(t,"class","container ")},m(o,c){g(o,t,c),m(t,n),m(n,r),m(n,a),m(n,i),m(i,l),fe(s,l,null),m(i,u),m(i,d),m(i,h),m(i,f),fe(S,f,null),m(n,w),m(n,W),m(W,v),m(W,T),m(W,N),m(N,R),P=!0,A||(D=[b(v,"click",e[4]),b(N,"click",e[5])],A=!0)},p(e,t){const n={};!c&&2&t&&(c=!0,n.returnValue=e[1],J(()=>c=!1)),s.$set(n);const r={};!B&&4&t&&(B=!0,r.returnValue=e[2],J(()=>B=!1)),S.$set(r),(!P||8&t&&M!==(M=!e[3]))&&(N.disabled=M)},i(e){P||(ae(s.$$.fragment,e),ae(S.$$.fragment,e),P=!0)},o(e){ie(s.$$.fragment,e),ie(S.$$.fragment,e),P=!1},d(e){e&&y(t),Se(s),Se(S),A=!1,o(D)}}}function Ft(e){let t,n,r,o;const a=[Gt,kt],i=[];function l(e,t){return e[0]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function It(e,t,n){let r,o,a,i=!1;function l(){n(1,r=""),n(2,o=""),n(0,i=!1)}return e.$$.update=()=>{6&e.$$.dirty&&(console.log("typeof startStation",typeof r),n(3,a="object"==typeof r&&"object"==typeof o))},[i,r,o,a,l,async function(){await Qe.saveRoute({startStation:r,destStation:o}),l()},function(){n(0,i=!0)},function(e){r=e,n(1,r)},function(e){o=e,n(2,o)}]}class Ot extends ge{constructor(e){super(),me(this,e,It,Ft,i,{})}}function Kt(t){let n,r,a,i,l,s,c,u,d,h;return{c(){n=p("div"),r=p("button"),r.textContent="Delete",a=L(),i=p("button"),i.textContent="Edit",l=L(),s=p("button"),s.textContent="Close",H(r,"class","btn btn-danger btn-sm"),H(r,"id","delete"),H(r,"type","button"),H(i,"class","btn btn-primary btn-sm"),H(i,"id","save"),H(i,"type","button"),H(s,"class","btn btn-sm"),H(s,"type","button"),H(n,"class","my grid-3 svelte-ojjucl")},m(e,o){g(e,n,o),m(n,r),m(n,a),m(n,i),m(n,l),m(n,s),u=!0,d||(h=[b(r,"click",t[2]),b(i,"click",$t),b(s,"click",t[3])],d=!0)},p:e,i(e){u||(V(()=>{c||(c=se(n,Ee,{},!0)),c.run(1)}),u=!0)},o(e){c||(c=se(n,Ee,{},!1)),c.run(0),u=!1},d(e){e&&y(n),e&&c&&c.end(),d=!1,o(h)}}}function xt(n){let r,i,l,s,c,d,h,f,B,w,v,T,N,R,M,D,E,k=n[0].startStation.name+"",G=n[0].destStation.name+"",F=n[1]&&Kt(n);return{c(){r=p("div"),i=p("div"),l=p("div"),s=C(k),c=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),B=C(G),w=L(),v=p("div"),T=p("button"),T.innerHTML='',N=L(),F&&F.c(),H(l,"class","col-5"),H(d,"class","col-1"),H(f,"class","col-5"),H(T,"class","btn btn-sm--slim"),H(v,"class","col-1"),H(i,"class","grid card ")},m(e,t){g(e,r,t),m(r,i),m(i,l),m(l,s),m(i,c),m(i,d),m(i,h),m(i,f),m(f,B),m(i,w),m(i,v),m(v,T),m(r,N),F&&F.m(r,null),M=!0,D||(E=b(T,"click",n[5]),D=!0)},p(e,[t]){(!M||1&t)&&k!==(k=e[0].startStation.name+"")&&W(s,k),(!M||1&t)&&G!==(G=e[0].destStation.name+"")&&W(B,G),e[1]?F?(F.p(e,t),2&t&&ae(F,1)):(F=Kt(e),F.c(),ae(F,1),F.m(r,null)):F&&(re(),ie(F,1,1,()=>{F=null}),oe())},i(e){M||(ae(F),R&&R.end(1),M=!0)},o(n){ie(F),n&&(R=function(n,r,i){let l,s=r(n,i),c=!0;const d=ne;function h(){const{delay:r=0,duration:a=300,easing:i=t,tick:h=e,css:f}=s||le;f&&(l=P(n,1,0,a,r,i,f));const m=u()+r,g=m+a;V(()=>ee(n,!1,"start")),S(e=>{if(c){if(e>=g)return h(0,1),ee(n,!1,"end"),--d.r||o(d.c),!1;if(e>=m){const t=i((e-m)/a);h(1-t,t)}}return c})}return d.r+=1,a(s)?q().then(()=>{s=s(),h()}):h(),{end(e){e&&s.tick&&s.tick(1,0),c&&(l&&A(n,l),c=!1)}}}(r,Ee,{})),M=!1},d(e){e&&y(r),F&&F.d(),e&&R&&R.end(),D=!1,E()}}}function $t(){}function Yt(e,t,n){let{item:r}=t,{id:o}=t,a=!1;return e.$$set=e=>{"item"in e&&n(0,r=e.item),"id"in e&&n(4,o=e.id)},[r,a,function(){console.log("delete: "+o),n(1,a=!1),Qe.deleteRoute(o)},function(){n(1,a=!1)},o,()=>n(1,a=!a)]}class _t extends ge{constructor(e){super(),me(this,e,Yt,xt,i,{item:0,id:4})}}function Ut(e,t,n){const r=e.slice();return r[1]=t[n],r[3]=n,r}function Vt(e,t){let n,r,o;return r=new _t({props:{item:t[1],id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.item=e[1]),1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function Jt(e){let t,n,r=[],o=new Map,a=e[0];const i=e=>e[1].id;for(let t=0;t{n(0,r=e)}),[r]}class Xt extends ge{constructor(e){super(),me(this,e,jt,Jt,i,{})}}function Qt(e,t,n){const r=e.slice();return r[4]=t[n],r[5]=t,r[6]=n,r}function zt(e){let t,n=Ve,r=[];for(let t=0;t{n(0,r=Qe.getTwitterFollowing()),n(1,o=Object.keys(r).length>0)});const a=Qe.twitterFollowing.subscribe(async e=>{n(0,r=e),n(1,o=Object.keys(r).length>0),console.log("_following",r)});return G(async()=>{Qe.saveTwitterFollowing(r),a()}),[r,o,function(e){r[e.name].follow=this.checked,n(0,r)}]}class tn extends ge{constructor(e){super(),me(this,e,en,qt,i,{})}}function nn(t){let n,r,o,a,i,l,s,c,u,d,h;return a=new Ot({}),l=new Xt({}),d=new tn({}),{c(){n=p("div"),r=p("div"),r.textContent="Settings",o=L(),he(a.$$.fragment),i=L(),he(l.$$.fragment),s=L(),c=p("hr"),u=L(),he(d.$$.fragment),H(r,"class","text-dark text-subhead"),H(n,"class","container")},m(e,t){g(e,n,t),m(n,r),m(n,o),fe(a,n,null),m(n,i),fe(l,n,null),m(n,s),m(n,c),m(n,u),fe(d,n,null),h=!0},p:e,i(e){h||(ae(a.$$.fragment,e),ae(l.$$.fragment,e),ae(d.$$.fragment,e),h=!0)},o(e){ie(a.$$.fragment,e),ie(l.$$.fragment,e),ie(d.$$.fragment,e),h=!1},d(e){e&&y(n),Se(a),Se(l),Se(d)}}}function rn(t){let n;return{c(){n=p("div"),n.innerHTML='

Favourites

\n\n
a
\n
b
\n
c
\n
d
',H(n,"class","container svelte-apetsu")},m(e,t){g(e,n,t)},p:e,i:e,o:e,d(e){e&&y(n)}}}function on(e){let t,n,r,o,a,i,l,s,c,u,d,h,f,S,B,w,b,v,T,N,R,M,P=e[0].user.name+"",A=e[0].user.screen_name+"",D=e[0].created_at+"",E=e[1]&&an(e);return{c(){t=p("div"),n=p("div"),r=p("div"),o=p("img"),l=L(),s=p("div"),c=p("div"),u=C(P),d=L(),h=p("div"),f=C("@"),S=C(A),B=L(),E&&E.c(),w=L(),b=p("div"),v=C(e[2]),T=L(),N=p("div"),R=p("small"),M=C(D),H(o,"class","avatar col-2 svelte-1y2z4hv"),o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),H(o,"alt",i="@"+e[0].user.screen_name),H(c,"class","text-subhead text-dark"),H(h,"class","badge"),H(s,"class","col-10 ml-2"),H(r,"class","grid"),H(n,"class","tweet-header"),H(b,"class","tweetBody"),H(R,"class","text-highlight2"),H(t,"class","card--slim")},m(e,a){g(e,t,a),m(t,n),m(n,r),m(r,o),m(r,l),m(r,s),m(s,c),m(c,u),m(s,d),m(s,h),m(h,f),m(h,S),m(t,B),E&&E.m(t,null),m(t,w),m(t,b),m(b,v),m(t,T),m(t,N),m(N,R),m(R,M)},p(e,n){1&n&&o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),1&n&&i!==(i="@"+e[0].user.screen_name)&&H(o,"alt",i),1&n&&P!==(P=e[0].user.name+"")&&W(u,P),1&n&&A!==(A=e[0].user.screen_name+"")&&W(S,A),e[1]?E?E.p(e,n):(E=an(e),E.c(),E.m(t,w)):E&&(E.d(1),E=null),4&n&&W(v,e[2]),1&n&&D!==(D=e[0].created_at+"")&&W(M,D)},d(e){e&&y(t),E&&E.d()}}}function an(e){let t,n,r,o=e[0].in_reply_to_screen_name+"";return{c(){t=p("div"),n=C("Replying to @"),r=C(o),H(t,"class","text-primary")},m(e,o){g(e,t,o),m(t,n),m(t,r)},p(e,t){1&t&&o!==(o=e[0].in_reply_to_screen_name+"")&&W(r,o)},d(e){e&&y(t)}}}function ln(t){let n,r=t[0]&&on(t);return{c(){r&&r.c(),n=w()},m(e,t){r&&r.m(e,t),g(e,n,t)},p(e,[t]){e[0]?r?r.p(e,t):(r=on(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i:e,o:e,d(e){r&&r.d(e),e&&y(n)}}}function sn(e){return"https://image.silvrtree.co.uk/48,fit,q80/"+e}function cn(e,t,n){let r,o,{id:a}=t,i=!1,l="";return k(async()=>{r=Qe.getTweetByID(a),n(0,o=JSON.parse(r.tweet))}),e.$$set=e=>{"id"in e&&n(3,a=e.id)},e.$$.update=()=>{1&e.$$.dirty&&o&&(n(1,i=o&&null!==o.in_reply_to_status_id),n(2,l=o&&o.truncated?o.extended_tweet.full_text:o.text))},[o,i,l,a]}class un extends ge{constructor(e){super(),me(this,e,cn,ln,i,{id:3})}}function dn(e,t,n){const r=e.slice();return r[3]=t[n],r[5]=n,r}function hn(e,t){let n,r,o;return r=new un({props:{id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function fn(e){let t,n,r,o,a=[],i=new Map,l=e[0];const s=e=>e[3];for(let t=0;t{await Qe.getTweets()});const o=Qe.tweetList.subscribe(async e=>{console.log("tweetlist",e),n(0,r=e)});return G(async()=>{o(),clearInterval(undefined)}),[r]}function mn(t){let n,r,o;return{c(){n=p("h2"),n.textContent="NotFound",r=L(),o=p("p"),o.textContent="Oops, this route doesn't exist!",H(n,"class","routetitle svelte-apetsu"),H(o,"class","svelte-apetsu")},m(e,t){g(e,n,t),g(e,r,t),g(e,o,t)},p:e,i:e,o:e,d(e){e&&y(n),e&&y(r),e&&y(o)}}}const gn=new Map;function yn(t){let n,r,o;return{c(){n=p("span"),n.innerHTML='',H(n,"class","")},m(e,a){g(e,n,a),r||(o=b(n,"click",t[1]),r=!0)},p:e,d(e){e&&y(n),r=!1,o()}}}function Bn(t){let n,r,o,a,i,l,s,c,u,d,h=1===t[0]&&yn(t);return{c(){n=p("header"),r=p("section"),h&&h.c(),o=L(),a=p("span"),a.textContent=""+pn,i=L(),l=p("section"),s=p("a"),s.innerHTML='',c=L(),u=p("a"),u.innerHTML='',d=L(),H(a,"class","text-bold navbar-brand mx-1 text-uppercase"),H(r,"class","navbar-section"),H(s,"title","Tweets"),H(s,"href","/#/tweets"),H(s,"class","btn--slim bg-primary"),H(u,"title","Settings"),H(u,"href","/#/settings"),H(u,"class","btn bg-primary "),H(l,"class","navbar-section text-right"),H(n,"class","navbar bg-primary")},m(e,t){g(e,n,t),m(n,r),h&&h.m(r,null),m(r,o),m(r,a),m(n,i),m(n,l),m(l,s),m(l,c),m(l,u),m(l,d)},p(e,[t]){1===e[0]?h?h.p(e,t):(h=yn(e),h.c(),h.m(r,o)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d()}}}gn.set("/",class extends ge{constructor(e){super(),me(this,e,ot,rt,i,{})}}),gn.set("/timetable/:fromStation/:destStation",class extends ge{constructor(e){super(),me(this,e,Nt,Tt,i,{params:4})}}),gn.set("/service/:serviceId",class extends ge{constructor(e){super(),me(this,e,ft,ht,i,{params:1})}}),gn.set("/settings",class extends ge{constructor(e){super(),me(this,e,null,nn,i,{})}}),gn.set("/favourites",class extends ge{constructor(e){super(),me(this,e,null,rn,i,{})}}),gn.set("/tweets",class extends ge{constructor(e){super(),me(this,e,Sn,fn,i,{})}}),gn.set("*",class extends ge{constructor(e){super(),me(this,e,null,mn,i,{})}});let pn="Traintimes";function Cn(e,t,n){let r,{page:o}=t;return e.$$set=e=>{"page"in e&&n(2,o=e.page)},e.$$.update=()=>{4&e.$$.dirty&&n(0,r="Home"===o?0:1)},[r,function(){U().then(()=>{window.history.back()})},o]}class Ln extends ge{constructor(e){super(),me(this,e,Cn,Bn,i,{page:2})}}function wn(e){let t,n,r,o;return t=new Ln({props:{page:e[0]}}),r=new Ne({props:{routes:gn}}),r.$on("conditionsFailed",bn),r.$on("routeLoaded",e[1]),r.$on("routeEvent",Hn),{c(){he(t.$$.fragment),n=L(),he(r.$$.fragment)},m(e,a){fe(t,e,a),g(e,n,a),fe(r,e,a),o=!0},p(e,[n]){const r={};1&n&&(r.page=e[0]),t.$set(r)},i(e){o||(ae(t.$$.fragment,e),ae(r.$$.fragment,e),o=!0)},o(e){ie(t.$$.fragment,e),ie(r.$$.fragment,e),o=!1},d(e){Se(t,e),e&&y(n),Se(r,e)}}}function bn(e){console.error("Caught event conditionsFailed",e.detail)}function Hn(e){console.info("Caught event routeEvent",e.detail)}function Wn(e,t,n){let r;return[r,function(e){console.info("Caught event routeLoaded",e.detail),n(0,r=e.detail.name),console.log("currentPage",r)}]}const vn=new class extends ge{constructor(e){super(),me(this,e,Wn,wn,i,{})}}({target:document.body,props:{}});return"serviceWorker"in navigator&&(navigator.serviceWorker.ready.then((function(e){console.warn("Ready??",e)})),window.addEventListener("load",(function(){navigator.serviceWorker.register("./service-worker.js").then(e=>{console.warn("Service Worker Registered",e.scope)}).catch(e=>{console.error("Registration failed with "+e)})}))),vn}(); diff --git a/live/build/bundle.js.map b/live/build/bundle.js.map index d089000..7b55723 100644 --- a/live/build/bundle.js.map +++ b/live/build/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../node_modules/svelte-spa-router/active.js","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/libs/stations.js","../../src/libs/utils.js","../../node_modules/redaxios/dist/redaxios.module.js","../../node_modules/localforage/dist/localforage.js","../../src/libs/websocket.js","../../src/libs/twitter.js","../../src/store/store.js","../../src/components/TrainRoute.svelte","../../src/pages/Home.svelte","../../src/libs/reducer.js","../../src/components/TrainService.svelte","../../src/pages/Service.svelte","../../src/components/TimetableList.svelte","../../src/pages/Timetable.svelte","../../src/components/SettingsInput.svelte","../../src/components/SettingsEditor.svelte","../../src/libs/longpress.js","../../src/components/SettingsListItem.svelte","../../src/components/SettingsList.svelte","../../src/components/TwitterSettings.svelte","../../src/components/Twitter.svelte","../../src/pages/Twitter.svelte","../../src/routes.js","../../src/components/Header.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', `display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ` +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = `data:text/html,`;\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.24.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","import regexparam from 'regexparam'\nimport {loc} from './Router.svelte'\n\n// List of nodes to update\nconst nodes = []\n\n// Current location\nlet location\n\n// Function that updates all nodes marking the active ones\nfunction checkActive(el) {\n // Repeat this for each class\n (el.className || '').split(' ').forEach((cls) => {\n if (!cls) {\n return\n }\n // Remove the active class firsts\n el.node.classList.remove(cls)\n\n // If the pattern matches, then set the active class\n if (el.pattern.test(location)) {\n el.node.classList.add(cls)\n }\n })\n}\n\n// Listen to changes in the location\nloc.subscribe((value) => {\n // Update the location\n location = value.location + (value.querystring ? '?' + value.querystring : '')\n\n // Update all nodes\n nodes.map(checkActive)\n})\n\n/**\n * @typedef {Object} ActiveOptions\n * @property {string|RegExp} [path] - Path expression that makes the link active when matched (must start with '/' or '*'); default is the link's href\n * @property {string} [className] - CSS class to apply to the element when active; default value is \"active\"\n */\n\n/**\n * Svelte Action for automatically adding the \"active\" class to elements (links, or any other DOM element) when the current location matches a certain path.\n * \n * @param {HTMLElement} node - The target node (automatically set by Svelte)\n * @param {ActiveOptions|string|RegExp} [opts] - Can be an object of type ActiveOptions, or a string (or regular expressions) representing ActiveOptions.path.\n */\nexport default function active(node, opts) {\n // Check options\n if (opts && (typeof opts == 'string' || (typeof opts == 'object' && opts instanceof RegExp))) {\n // Interpret strings and regular expressions as opts.path\n opts = {\n path: opts\n }\n }\n else {\n // Ensure opts is a dictionary\n opts = opts || {}\n }\n\n // Path defaults to link target\n if (!opts.path && node.hasAttribute('href')) {\n opts.path = node.getAttribute('href')\n if (opts.path && opts.path.length > 1 && opts.path.charAt(0) == '#') {\n opts.path = opts.path.substring(1)\n }\n }\n\n // Default class name\n if (!opts.className) {\n opts.className = 'active'\n }\n\n // If path is a string, it must start with '/' or '*'\n if (!opts.path || \n typeof opts.path == 'string' && (opts.path.length < 1 || (opts.path.charAt(0) != '/' && opts.path.charAt(0) != '*'))\n ) {\n throw Error('Invalid value for \"path\" argument')\n }\n\n // If path is not a regular expression already, make it\n const {pattern} = typeof opts.path == 'string' ?\n regexparam(opts.path) :\n {pattern: opts.path}\n\n // Add the node to the list\n const el = {\n node,\n className: opts.className,\n pattern\n }\n nodes.push(el)\n\n // Trigger the action right away\n checkActive(el)\n\n return {\n // When the element is destroyed, remove it from the list\n destroy() {\n nodes.splice(nodes.indexOf(el), 1)\n }\n }\n}\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","const sMap = new Map([['ZNJ', 'Northampton North Junction'], ['ZPS', 'Plaistow L.T.'], ['MSC', 'Marseille St Charles'], ['ZAE', 'Aldgate East'], ['ZEP', 'East Putney'], ['GBG', 'Gorebridge'], ['ZHR', 'Holloway Road'], ['ZPN', 'Paddington (Bakerloo Line)'], ['NMC', 'New Mills Central'], ['HBB', 'Hubberts Bridge'], ['ADC', 'Adlington (Cheshire)'], ['WHI', 'Whitstable'], ['FEG', 'Fellgate (T & W Metro)'], ['HRH', 'Horsham'], ['LNW', 'Llanwrtyd'], ['RYP', 'Ryde Pier Head'], ['PRU', 'Prudhoe'], ['TLH', 'Tilehurst'], ['SBM', 'South Bermondsey'], ['TAM', 'Tamworth'], ['CFD', 'Castleford'], ['NMN', 'New Mills Newtown'], ['HFS', 'Hatfield & Stainforth'], ['WFN', 'Watford North'], ['GWN', 'Gowerton'], ['WMW', 'Walthamstow Queens Road'], ['INP', 'Inverkip'], ['WRW', 'Warwick'], ['WHG', 'Westhoughton'], ['WIM', 'Wimbledon'], ['CLM', 'Collingham'], ['DRF', 'Driffield'], ['NWT', 'Newtown (Powys)'], ['SOE', 'Southend East'], ['PNF', 'Penyffordd'], ['WYE', 'Wye'], ['BAR', 'Bare Lane'], ['YRM', 'Yarm'], ['NTH', 'Neath'], ['ERH', 'Erith'], ['CFO', 'Chalfont & Latimer'], ['FGW', 'Fishguard & Goodwick'], ['BAY', 'Bayford'], ['BER', 'Bearley'], ['SIT', 'Sittingbourne'], ['WHL', 'White Hart Lane'], ['DRN', 'Duirinish'], ['SWK', 'Southwick'], ['MTM', 'Martin Mill'], ['NWR', 'Newtonmore'], ['ADW', 'Addiewell'], ['ALV', 'Alvechurch'], ['SQE', 'Surrey Quays'], ['HIG', 'Highbridge & Burnham'], ['RMC', 'Rotherham Central'], ['NTN', 'Newton'], ['CBN', 'Camborne'], ['RIA', 'Rhoose Cardiff Intl Airport'], ['BXW', 'Boxhill & Westhumble'], ['TNN', 'Thorne North'], ['FTN', 'Fratton'], ['RUA', 'Ruabon'], ['LAY', 'Layton'], ['LLV', 'Llandovery'], ['MAS', 'Manors'], ['CLG', 'Claygate'], ['CTT', 'Church Stretton'], ['GGV', 'Gargrave'], ['TNS', 'Thorne South'], ['CRE', 'Crewe'], ['WXC', 'Wrexham Central'], ['CAD', 'Cadoxton'], ['HYB', 'Honeybourne'], ['WGT', 'Wigton'], ['WRX', 'Wrexham General'], ['RHO', 'Rhosneigr'], ['KWL', 'Kidwelly'], ['RYD', 'Ryde Esplanade'], ['PTL', 'Priesthill & Darnley'], ['NWN', 'Newton for Hyde'], ['SBP', 'Stonebridge Park'], ['PEV', 'Pevensey & Westham'], ['ACL', 'Acle'], ['GDH', 'Gordon Hill'], ['LSY', 'Lower Sydenham'], ['SEB', 'Seaburn (T & W Metro)'], ['AYW', 'Aberystwyth'], ['LNZ', 'Lenzie'], ['MDS', 'Morden South'], ['ADD', 'Adderley Park'], ['EFL', 'East Farleigh'], ['SPU', 'Staplehurst'], ['UHL', 'Upper Holloway'], ['WLP', 'Welshpool'], ['CAS', 'Castleton'], ['HAM', 'Hamworthy'], ['BGN', 'Bridgend'], ['BRN', 'Bearsden'], ['APG', 'Aspley Guise'], ['DEW', 'Dewsbury'], ['BPS', 'Blackpool South'], ['KSL', 'Kearsley'], ['PYJ', 'Paisley St James'], ['NBA', 'New Barnet'], ['WHR', 'West Horndon'], ['HLD', 'Hellifield'], ['RDR', 'Radyr'], ['VAL', 'Valley'], ['BSD', 'Bearsted'], ['FIT', 'Filton Abbey Wood'], ['NAY', 'Newton Aycliffe'], ['BWK', 'Berwick-upon-Tweed'], ['BIF', 'Barrow-in-Furness'], ['DMY', 'Drumry'], ['CKH', 'Corkerhill'], ['LBK', 'Long Buckby'], ['BEA', 'Bridge of Allan'], ['PEB', 'Pevensey Bay'], ['CRL', 'Chorley'], ['ECS', 'Eccles Road'], ['FSG', 'Fishersgate'], ['YSR', 'Ystrad Rhondda'], ['UNV', 'University (T & W Metro)'], ['WCL', 'West Calder'], ['GNW', 'Greenwich'], ['SAB', 'Smallbrook Junction'], ['BDA', 'Brundall'], ['LNG', 'Longcross'], ['PSW', 'Polesworth'], ['SPP', 'Shippea Hill'], ['FIL', 'Filey'], ['HRR', 'Harrington'], ['MGM', 'Metheringham'], ['RAV', 'Ravenglass for Eskdale'], ['OLT', 'Olton'], ['CRD', 'Chester Road'], ['SAH', 'Salhouse'], ['GIL', 'Gillingham (Dorset)'], ['GNT', 'Gunton'], ['FEN', 'Fenny Stratford'], ['CBB', 'Carbis Bay'], ['BLW', 'Bulwell'], ['FMR', 'Falmer'], ['WNY', 'White Notley'], ['SFD', 'Salford Central'], ['BGI', 'Bargeddie'], ['WLY', 'Woodley'], ['BYC', 'Betws-y-Coed'], ['WYT', 'Wythall'], ['KID', 'Kidderminster'], ['SMO', 'South Merton'], ['ULC', 'Ulceby'], ['AWK', 'Adwick'], ['CRR', 'Corrour'], ['OVR', 'Overton'], ['RET', 'Retford'], ['STQ', 'Southampton Town Quay (Bus)'], ['BBS', 'Bordesley'], ['GOS', 'Grange-over-Sands'], ['MAY', 'Maybole'], ['YET', 'Yetminster'], ['LIH', 'Leigh (Kent)'], ['SMC', 'Sampford Courtenay'], ['SLO', 'Slough'], ['LHE', 'Loch Eil Outward Bound'], ['WBP', 'West Brompton'], ['NBT', 'Norbiton'], ['KVP', 'Kiveton Park'], ['PNL', 'Pannal'], ['MEO', 'Meols'], ['SRG', 'Seer Green'], ['CTO', 'Carlton'], ['GLY', 'Glynde'], ['MSW', 'Mansfield Woodhouse'], ['IBM', 'IBM'], ['BRL', 'Barrhill'], ['TRD', 'Troed-y-rhiw'], ['MEC', 'Meols Cop'], ['POL', 'Polsloe Bridge'], ['TPN', 'Ton Pentre'], ['BCK', 'Buckley'], ['CHC', 'Charing Cross (Glasgow)'], ['SRA', 'Stratford (London)'], ['WWO', 'West Worthing'], ['RSH', 'Rose Hill Marple'], ['SMT', 'St Margarets (Hertfordshire)'], ['WIH', 'Winchmore Hill'], ['CRS', 'Carstairs'], ['KGX', 'London Kings Cross'], ['LHS', 'Limehouse'], ['THB', 'Thornliebank'], ['DRT', 'Darton'], ['LLD', 'Llandudno'], ['NRN', 'Nairn'], ['KGE', 'Kingsknowe'], ['TNA', 'Thornton Abbey'], ['LRD', 'London Road (Guildford)'], ['BAL', 'Balham'], ['FRH', 'Calais Frethun'], ['WAC', 'Warrington Central'], ['GMV', 'Great Malvern'], ['MNC', 'Markinch'], ['WRT', 'Worstead'], ['EBB', 'Ebbw Vale Town'], ['MEL', 'Meldreth'], ['BYB', 'Blythe Bridge'], ['LOT', 'Lostock'], ['CNM', 'Cheltenham Spa'], ['FZH', 'Frizinghall'], ['LLJ', 'Llandudno Junction'], ['UPM', 'Upminster'], ['DBC', 'Dumbarton Central'], ['STT', 'Stewarton'], ['DBE', 'Dumbarton East'], ['TYS', 'Tyseley'], ['DNS', 'Dinas Powys'], ['DEE', 'Dundee'], ['LDY', 'Ladybank'], ['PBY', 'Pembrey & Burry Port'], ['GMD', 'Grimsby Docks'], ['KEI', 'Keighley'], ['BIP', 'Bishopstone'], ['SFO', 'Stanford-le-Hope'], ['BYF', 'Broughty Ferry'], ['MYH', 'Maryhill'], ['DRM', 'Drem'], ['NBE', 'Newbridge'], ['WSF', 'Winsford'], ['THD', 'Thames Ditton'], ['HMM', 'Hammerton'], ['HOR', 'Horley'], ['BLY', 'Bletchley'], ['ARU', 'Arundel'], ['FNB', 'Farnborough (Main)'], ['CGW', 'Caergwrle'], ['MAO', 'Martins Heron'], ['OXT', 'Oxted'], ['PAT', 'Patricroft'], ['GMB', 'Grimsby Town'], ['TUR', 'Turkey Street'], ['TAF', 'Taffs Well'], ['LTN', 'Luton Airport Parkway'], ['CHM', 'Chelmsford'], ['FLW', 'Fulwell'], ['HTW', 'Hartwood'], ['PNZ', 'Penzance'], ['WDE', 'Wood End'], ['GCW', 'Glan Conwy'], ['HOV', 'Hove'], ['TRH', 'Trehafod'], ['WTE', 'Whitlocks End'], ['DLJ', 'Dalston Junction'], ['VIR', 'Virginia Water'], ['ASP', 'Aspatria'], ['LPT', 'Longport'], ['LWS', 'Lewes'], ['EWD', 'Earlswood (West Midlands)'], ['WAN', 'Wanborough'], ['BTO', 'Betchworth'], ['FLN', 'Flint'], ['BUK', 'Bucknell'], ['LLM', 'Llangammarch'], ['CNG', 'Congleton'], ['WMN', 'Warminster'], ['MTL', 'Mortlake'], ['BWT', 'Bridgwater'], ['BRT', 'Barlaston'], ['MNP', 'Manor Park'], ['ESL', 'Eastleigh'], ['SHO', 'Sholing'], ['EGT', 'Egton'], ['HDH', 'Hampstead Heath'], ['WCP', 'Worcester Park'], ['ISP', 'Islip'], ['TPB', 'Thorpe Bay'], ['CRH', 'Crouch Hill'], ['TBW', 'Tunbridge Wells'], ['GLE', 'Gleneagles'], ['KSW', 'Kirkby Stephen'], ['ALW', 'Allens West'], ['DMG', 'Dinas Rhondda'], ['BSR', 'Broadstairs'], ['WEM', 'Wem'], ['CSN', 'Chessington North'], ['HRD', 'Harling Road'], ['AUI', 'Ardlui'], ['ERI', 'Eridge'], ['APD', 'Appledore (Kent)'], ['DHN', 'Deighton'], ['GLG', 'Glengarnock'], ['MLH', 'Mill Hill (Lancashire)'], ['WRP', 'Warwick Parkway'], ['GOF', 'Golf Street'], ['CHY', 'Chertsey'], ['WOK', 'Woking'], ['LLE', 'Llanelli'], ['MYB', 'London Marylebone'], ['WIL', 'Willington'], ['WIJ', 'Willesden Junction'], ['BME', 'Broome'], ['CAM', 'Camberley'], ['SRT', 'Shortlands'], ['SOP', 'Southport'], ['TYB', 'Tan-y-Bwlch (Bus)'], ['ENC', 'Enfield Chase'], ['RYP', 'Ryde Pier Head'], ['BEB', 'Bebington'], ['LGW', 'Langwathby'], ['WSE', 'Winchelsea'], ['BFR', 'London Blackfriars'], ['SCT', 'Scotscalder'], ['RUG', 'Rugby'], ['SRS', 'Selhurst'], ['MLF', 'Milford (Surrey)'], ['PNA', 'Penally'], ['STU', 'Sturry'], ['TWB', 'Tweedbank'], ['YSM', 'Ystrad Mynach'], ['JEQ', 'Jewellery Quarter'], ['PTW', 'Prestwick Town'], ['EBK', 'Eastbrook'], ['PER', 'Penrhiwceiber'], ['CWM', 'Cwmbran'], ['ING', 'Invergowrie'], ['RBS', 'British Steel Redcar'], ['HLG', 'Hall Green'], ['LSN', 'Livingston North'], ['RML', 'Romiley'], ['BUU', 'Burnham-on-Crouch'], ['ZBC', 'Barons Court Underground'], ['CPN', 'Chapleton'], ['ROG', 'Rogart'], ['LVG', 'Livingston South'], ['HTC', 'Heaton Chapel'], ['KGN', 'Kings Nympton'], ['LCC', 'Lochluichart'], ['DCG', 'Duncraig'], ['TOD', 'Todmorden'], ['WEA', 'West Ealing'], ['SOK', 'South Kenton'], ['SLA', 'Slateford'], ['HLC', 'Helensburgh Central'], ['LGJ', 'Loughborough Junction'], ['HED', 'Halewood'], ['ATH', 'Atherstone'], ['EYN', 'Eynsford'], ['SOT', 'Stoke-on-Trent'], ['CAC', 'Caldercruix'], ['SRC', 'Streatham Common'], ['MSO', 'Moston'], ['BEU', 'Beaulieu Road'], ['ZBK', 'Barking Underground'], ['BNR', 'Brockley Whins (T & W Metro)'], ['LOH', 'Lostock Hall'], ['MIL', 'Mill Hill Broadway'], ['OHL', 'Old Hill'], ['BDW', 'Bedwyn'], ['PMA', 'Portsmouth Arms'], ['WHC', 'Walthamstow Central'], ['KDY', 'Kirkcaldy'], ['FAZ', 'Fazakerley'], ['GLC', 'Glasgow Central'], ['HLU', 'Helensburgh Upper'], ['LTG', 'Lostock Gralam'], ['DLK', 'Dalston Kingsland'], ['MTN', 'Moreton (Dorset)'], ['EBL', 'East Boldon (T & W Metro)'], ['CYN', 'Cynghordy'], ['CHT', 'Chathill'], ['HPT', 'Hopton Heath'], ['ALO', 'Alloa'], ['PMS', 'Portsmouth & Southsea'], ['CON', 'Connel Ferry'], ['WNC', 'Windsor & Eton Central'], ['BET', 'Bethnal Green'], ['SST', 'Stansted Mountfitchet'], ['ESH', 'Esher'], ['WSE', 'Winchelsea'], ['CSS', 'Chessington South'], ['CSL', 'Codsall'], ['CPA', 'Corpach'], ['HGF', 'Hag Fold'], ['SRD', 'Stapleton Road'], ['UPM', 'Upminster'], ['BSJ', 'Bedford St Johns'], ['RYB', 'Roy Bridge'], ['DMP', 'Dumpton Park'], ['LYT', 'Lymington Town'], ['WHE', 'Whalley'], ['HKC', 'Hackney Central'], ['HYC', 'Hyde Central'], ['PEW', 'Pewsey'], ['AHN', 'Ashton-under-Lyne'], ['PRW', 'Perranwell'], ['CKL', 'Corkickle'], ['DOD', 'Dodworth'], ['WTA', 'Wester Hailes'], ['PAW', 'Pelaw (T & W Metro)'], ['AYP', 'Albany Park'], ['NEW', 'Newcraighall'], ['ORE', 'Ore'], ['HAS', 'Halesworth'], ['KWG', 'Kew Gardens'], ['EXG', 'Exhibition Centre'], ['HIL', 'Hillside'], ['MPL', 'Marple'], ['SDA', 'Snodland'], ['BKA', 'Bookham'], ['BNT', 'Brinnington'], ['HKW', 'Hackney Wick'], ['ACR', 'Accrington'], ['QRP', 'Queens Road Peckham'], ['MDG', 'Midgham'], ['BAW', 'Blackwater'], ['MEX', 'Mexborough'], ['ADK', 'Ardwick'], ['DNY', 'Danby'], ['HIN', 'Hindley'], ['PYG', 'Paisley Gilmour Street'], ['PRA', 'Prestwick Intl Airport'], ['DDP', 'Dudley Port'], ['NMK', 'Newmarket'], ['KGL', 'Kings Langley'], ['MLN', 'Milngavie'], ['FML', 'Frimley'], ['NTR', 'Northallerton'], ['SDW', 'Sandwich'], ['BBW', 'Berry Brow'], ['DID', 'Didcot Parkway'], ['SOG', 'Stonegate'], ['HAI', 'Halling'], ['PWL', 'Pwllheli'], ['WCF', 'Westcliff'], ['HGG', 'Haggerston'], ['CMR', 'Cromer'], ['ALX', 'Alexandria'], ['COO', 'Cookham'], ['MRS', 'Monks Risborough'], ['YRT', 'Yorton'], ['BEN', 'Bentham'], ['GOB', 'Gobowen'], ['HAL', 'Hale'], ['CAY', 'Carntyne'], ['BUI', 'Burnside'], ['SEL', 'Sellafield'], ['WIM', 'Wimbledon'], ['YRD', 'Yardley Wood'], ['CHN', 'Cheshunt'], ['HFX', 'Halifax'], ['ELD', 'Earlswood (Surrey)'], ['TOK', 'Three Oaks'], ['PBN', 'Paris Nord'], ['TED', 'Teddington'], ['HKM', 'Hykeham'], ['GRS', 'Garscadden'], ['DSL', 'Disley'], ['HDE', 'Hedge End'], ['BNP', 'Barnstaple'], ['KNS', 'Kennishead'], ['LAK', 'Lakenheath'], ['TUH', 'Tulse Hill'], ['BSY', 'Brondesbury'], ['FOX', 'Foxfield'], ['SHR', 'Shrewsbury'], ['WMG', 'Welham Green'], ['HLF', 'Hillfoot'], ['PMR', 'Peckham Rye'], ['SGR', 'Slade Green'], ['FRE', 'Freshfield'], ['SDG', 'Sandling'], ['DMR', 'Dalmuir'], ['TRF', 'Trefforest'], ['LZB', 'Lazonby & Kirkoswald'], ['KCK', 'Knockholt'], ['LLW', 'Llwyngwril'], ['DCT', 'Danescourt'], ['HRM', 'Harrietsham'], ['WCM', 'Wickham Market'], ['FEA', 'Featherstone'], ['HNH', 'Herne Hill'], ['MCO', 'Manchester Oxford Road'], ['LER', 'Leytonstone High Road'], ['RAU', 'Rauceby'], ['HMW', 'Hampton Wick'], ['SJS', 'St James Street'], ['TEA', 'Tees-side Airport'], ['LNR', 'Llanwrda'], ['BEE', 'Beeston'], ['MTV', 'Mount Vernon'], ['BSV', 'Buckshaw Parkway'], ['DAL', 'Dalmally'], ['KTN', 'Kentish Town'], ['TRA', 'Trafford Park'], ['AMB', 'Ambergate'], ['GOX', 'Goxhill'], ['PLT', 'Pontlottyn'], ['ATT', 'Attadale'], ['POK', 'Pokesdown'], ['STI', 'Stadium of Light (T & W Metro)'], ['HOO', 'Hooton'], ['KGS', 'Kings Sutton'], ['KTW', 'Kentish Town West'], ['ZPC', 'Piccadilly Circus Underground'], ['UTT', 'Uttoxeter'], ['BLH', 'Bellshill'], ['BGA', 'Brundall Gardens'], ['PRT', 'Prestatyn'], ['CPT', 'Clapton'], ['LET', 'Letchworth Garden City'], ['PSN', 'Parson Street'], ['PNE', 'Penge East'], ['NFD', 'Northfield'], ['LTV', 'Lichfield Trent Valley'], ['CBG', 'Cambridge'], ['NPD', 'New Pudsey'], ['ETL', 'East Tilbury'], ['LTV', 'Lichfield Trent Valley'], ['SNI', 'Snaith'], ['AVN', 'Avonmouth'], ['TEN', 'Tenby'], ['PTG', 'Port Glasgow'], ['SPF', 'Springfield'], ['TBD', 'Three Bridges'], ['SLD', 'Salford Crescent'], ['GOE', 'Goldthorpe'], ['SMY', 'St Mary Cray'], ['DBY', 'Derby'], ['HXX', 'Heathrow Airport T123'], ['THO', 'Thornford'], ['PRE', 'Preston'], ['KWN', 'Kilwinning'], ['PRE', 'Preston'], ['HWH', 'Haltwhistle'], ['CNN', 'Canonbury'], ['BOH', 'Bosham'], ['OPK', 'Orrell Park'], ['BDB', 'Broadbottom'], ['LCK', 'Lockwood'], ['NFL', 'Northfleet'], ['TNP', 'Tonypandy'], ['FOC', 'Falls of Cruachan'], ['HYM', 'Haymarket'], ['HIT', 'Hitchin'], ['CLE', 'Cleethorpes'], ['PAL', 'Palmers Green'], ['ARD', 'Ardgay'], ['BUS', 'Busby'], ['LGE', 'Long Eaton'], ['TUL', 'Tulloch'], ['ABD', 'Aberdeen'], ['BRO', 'Bridge of Orchy'], ['GCT', 'Great Coates'], ['INE', 'Ince & Elton'], ['WTT', 'Witton'], ['TRS', 'Thurston'], ['FNC', 'Farncombe'], ['EBD', 'Ebbsfleet International'], ['DUR', 'Durrington-on-Sea'], ['CSA', 'Cosham'], ['PEG', 'Pegswood'], ['CEA', 'Cleland'], ['GCR', 'Gloucester'], ['TAC', 'Tackley'], ['MFH', 'Milford Haven'], ['PRY', 'Perry Barr'], ['RHL', 'Rhyl'], ['THW', 'The Hawthorns'], ['WTH', 'Whitehaven'], ['KNG', 'Kingston'], ['MIK', 'Micklefield'], ['LRG', 'Lairg'], ['EPS', 'Epsom'], ['WBQ', 'Warrington Bank Quay'], ['CUW', 'Clunderwen'], ['DTG', 'Dinting'], ['ACT', 'Ascot'], ['BID', 'Bidston'], ['BWG', 'Bowling'], ['BMP', 'Brampton (Cumbria)'], ['CLT', 'Clacton-on-Sea'], ['BCH', 'Birchington-on-Sea'], ['BEF', 'Benfleet'], ['HMS', 'Helmsdale'], ['KEY', 'Keyham'], ['MOS', 'Moss Side'], ['PTK', 'Partick'], ['SGN', 'South Greenford'], ['SOR', 'Sole Street'], ['DBD', 'Denby Dale'], ['BSP', 'Brondesbury Park'], ['SEE', 'Southease'], ['CNR', 'Crianlarich'], ['CRT', 'Chartham'], ['SUG', 'Sugar Loaf'], ['HGM', 'Higham'], ['WNG', 'Waun-gron Park'], ['DUM', 'Dumbreck'], ['PMR', 'Peckham Rye'], ['CRB', 'Corbridge'], ['NFA', 'North Fambridge'], ['AGV', 'Abergavenny'], ['HAG', 'Hagley'], ['CEL', 'Chelford'], ['HGD', 'Hungerford'], ['BWN', 'Bloxwich North'], ['KVD', 'Kelvindale'], ['RUS', 'Ruswarp'], ['CLV', 'Claverdon'], ['RNH', 'Rainhill'], ['EWW', 'Ewell West'], ['HHY', 'Highbury & Islington'], ['APP', 'Appleby'], ['HKN', 'Hucknall'], ['MSN', 'Marsden'], ['TPC', 'Thorpe Culvert'], ['EWE', 'Ewell East'], ['GTN', 'Grangetown'], ['LEO', 'Leominster'], ['DOL', 'Dolau'], ['CUH', 'Curriehill'], ['KBK', 'Kents Bank'], ['DPS', 'Dublin Port (Stena)'], ['PAI', 'Pallion (T & W Metro)'], ['MCB', 'Moulsecoomb'], ['NMT', 'Needham Market'], ['WFI', 'Westerfield'], ['SCG', 'Stone Crossing'], ['STR', 'Stranraer'], ['ZWA', 'Waterloo Underground'], ['PIL', 'Pilning'], ['SWD', 'Swinderby'], ['MSK', 'Marske'], ['TRN', 'Troon'], ['WID', 'Widnes'], ['KMS', 'Kemsing'], ['STZ', 'St Peters (T & W Metro)'], ['ANF', 'Ashurst New Forest'], ['WTN', 'Whitton'], ['ANL', 'Anniesland'], ['SCS', 'Starcross'], ['FRB', 'Fairbourne'], ['STK', 'Stockton'], ['BEV', 'Beverley'], ['KKM', 'Kirkham & Wesham'], ['PDW', 'Paddock Wood'], ['CAN', 'Carnoustie'], ['STC', 'Strathcarron'], ['CUF', 'Cuffley'], ['MTP', 'Montpelier'], ['SWM', 'Swanscombe'], ['CBE', 'Canterbury East'], ['DMF', 'Dumfries'], ['HNT', 'Huntly'], ['LLT', 'Llanbister Road'], ['WAT', 'London Waterloo'], ['MEW', 'Maesteg (Ewenny Road)'], ['SUT', 'Sutton Coldfield'], ['LDS', 'Leeds'], ['BNM', 'Burnham'], ['BEL', 'Beauly'], ['HXM', 'Hoveton & Wroxham'], ['HDL', 'Headstone Lane'], ['LEY', 'Leyland'], ['PRE', 'Preston'], ['SNY', 'Sunnymeads'], ['RNF', 'Rainford'], ['EGN', 'Eastrington'], ['KGH', 'Kinghorn'], ['MAT', 'Matlock'], ['NCK', 'New Cumnock'], ['NWP', 'Newport (South Wales)'], ['QPW', 'Queens Park (London)'], ['MSD', 'Moorside'], ['WLM', 'Williamwood'], ['DWD', 'Dolwyddelan'], ['WTL', 'Whitland'], ['MPK', 'Mosspark'], ['MAU', 'Mauldeth Road'], ['HEX', 'Hexham'], ['CLI', 'Clifton'], ['SYD', 'Sydenham'], ['LAD', 'Ladywell'], ['CTM', 'Chatham'], ['SWY', 'Sway'], ['TRU', 'Truro'], ['DLY', 'Dalry'], ['PRP', 'Preston Park'], ['BPB', 'Blackpool Pleasure Beach'], ['LHO', 'Langho'], ['SPS', 'Stepps'], ['TOP', 'Topsham'], ['BIA', 'Bishop Auckland'], ['HTH', 'Handforth'], ['MRT', 'Moreton (Merseyside)'], ['MCH', 'March'], ['TDU', 'Tondu'], ['BCS', 'Bicester North'], ['NMP', 'Northampton'], ['ALP', 'Althorpe'], ['BSE', 'Bury St Edmunds'], ['PTR', 'Petersfield'], ['BUC', 'Buckenham'], ['KLY', 'Kenley'], ['ELW', 'Eltham'], ['WHA', 'Westenhanger'], ['WWL', 'Whitwell'], ['EDW', 'East Dulwich'], ['NRD', 'North Road'], ['BTE', 'Bitterne'], ['IMW', 'Imperial Wharf'], ['ANN', 'Annan'], ['BDN', 'Brading'], ['CES', 'Cressing'], ['KBW', 'Knebworth'], ['DAR', 'Darlington'], ['HWD', 'Hawarden'], ['TAD', 'Tadworth'], ['BAG', 'Bagshot'], ['ZHS', 'Kensington High St Underground'], ['SMD', 'Stamford'], ['BUD', 'Burneside'], ['DOT', 'Dunston'], ['ELS', 'Elstree & Borehamwood'], ['CHF', 'Church Fenton'], ['HAZ', 'Hazel Grove'], ['KMH', 'Kempston Hardwick'], ['SOF', 'South Woodham Ferrers'], ['NRW', 'Norwich'], ['AHS', 'Ashurst'], ['FZW', 'Fitzwilliam'], ['MIN', 'Milliken Park'], ['RUN', 'Runcorn'], ['WSL', 'Walsall'], ['OKM', 'Oakham'], ['WAT', 'London Waterloo'], ['AYP', 'Albany Park'], ['MST', 'Maesteg'], ['KNU', 'Knucklas'], ['LEI', 'Leicester'], ['WAT', 'London Waterloo'], ['WCR', 'Whitecraigs'], ['MRP', 'Moorthorpe'], ['SNH', 'St Helens Central'], ['CAO', 'Cannock'], ['RAI', 'Rainham (Kent)'], ['RKT', 'Ruskington'], ['YOK', 'Yoker'], ['BDT', 'Bridlington'], ['LDN', 'Llandanwg'], ['SHJ', 'St Helens Junction'], ['CHH', 'Christs Hospital'], ['CMF', 'Cromford'], ['HYR', 'Haydons Road'], ['LGN', 'Longton'], ['BXH', 'Bexleyheath'], ['CPM', 'Chippenham'], ['DFR', 'Drumfrochar'], ['NCO', 'Newcourt'], ['WET', 'Weeton'], ['EMD', 'East Midlands Parkway'], ['POP', 'Poppleton'], ['AYH', 'Aylesham'], ['ZUM', 'Upminster Underground'], ['CHD', 'Chesterfield'], ['HEZ', 'Heworth (T & W Metro)'], ['PRB', 'Prestbury'], ['GTR', 'Goostrey'], ['ACK', 'Acklington'], ['KNL', 'Kensal Green'], ['SAN', 'Sandown'], ['THL', 'Tile Hill'], ['SIP', 'Shipton'], ['SFA', 'Stratford International'], ['UPW', 'Upwey'], ['GIP', 'Gipsy Hill'], ['RUT', 'Rutherglen'], ['SES', 'South Elmsall'], ['TGM', 'Teignmouth'], ['ADS', 'Ardrossan Harbour'], ['BCG', 'Birchgrove'], ['RFD', 'Rochford'], ['PES', 'Pensarn'], ['BAI', 'Blairhill'], ['TLB', 'Talybont'], ['SVG', 'Stevenage'], ['WPE', 'Wapping'], ['BDG', 'Bridgeton'], ['THH', 'Thatto Heath'], ['ATB', 'Attenborough'], ['MTH', 'Motherwell'], ['WKM', 'Wokingham'], ['GMT', 'Grosmont'], ['ARL', 'Arlesey'], ['BGD', 'Bargoed'], ['REE', 'Reedham (Norfolk)'], ['HPA', 'Honor Oak Park'], ['NUN', 'Nuneaton'], ['TRM', 'Trimley'], ['WTY', 'Witley'], ['SWO', 'Snowdown'], ['MDB', 'Maidstone Barracks'], ['ENL', 'Enfield Lock'], ['MIJ', 'Mitcham Junction'], ['MDE', 'Maidstone East'], ['GOD', 'Godalming'], ['HGR', 'Hither Green'], ['SPO', 'Spondon'], ['WNT', 'Wandsworth Town'], ['ECR', 'East Croydon'], ['CLS', 'Chester-le-Street'], ['QYD', 'Quakers Yard'], ['WBC', 'Waterbeach'], ['NES', 'Neston'], ['PCN', 'Paisley Canal'], ['WSA', 'West Allerton'], ['SFI', 'Shawfair'], ['SLH', 'Sleights'], ['HTN', 'Hatton'], ['KIV', 'Kiveton Bridge'], ['RIS', 'Rishton'], ['DMS', 'Dormans'], ['LCN', 'Lincoln Central'], ['AYP', 'Albany Park'], ['ERI', 'Eridge'], ['WLC', 'Waltham Cross'], ['MPT', 'Morpeth'], ['MDW', 'Maidstone West'], ['WEL', 'Wellingborough'], ['HRY', 'Harringay Green Lanes'], ['MOB', 'Mobberley'], ['SWL', 'Swale'], ['ECC', 'Eccles'], ['HEW', 'Heworth'], ['LLH', 'Llangennech'], ['BKO', 'Brookwood'], ['GSY', 'Guiseley'], ['SBY', 'Selby'], ['WSB', 'Westbury'], ['ETC', 'Etchingham'], ['BLT', 'Blantyre'], ['SSD', 'Stansted Airport'], ['DOR', 'Dore'], ['NVR', 'Navigation Road'], ['CFF', 'Croftfoot'], ['CKN', 'Crewkerne'], ['GLT', 'Glenrothes with Thornton'], ['WTG', 'Watlington'], ['BAN', 'Banbury'], ['HYS', 'Hayes (Kent)'], ['BHR', 'Builth Road'], ['KND', 'Kingswood'], ['KNN', 'Kings Norton'], ['WOL', 'Wolverton'], ['WTO', 'Water Orton'], ['ADR', 'Airdrie'], ['LLC', 'Llandecwyn'], ['PKS', 'Parkstone (Dorset)'], ['GOM', 'Gomshall'], ['TYL', 'Tyndrum Lower'], ['BOP', 'Bowes Park'], ['HRY', 'Harringay Green Lanes'], ['HER', 'Hersham'], ['WRH', 'Worthing'], ['BON', 'Bolton'], ['BOA', 'Bradford-on-Avon'], ['CFH', 'Chafford Hundred'], ['UTY', 'Upper Tyndrum'], ['NAR', 'Narberth'], ['BDL', 'Birkdale'], ['HMT', 'Ham Street'], ['MKM', 'Melksham'], ['AUW', 'Ascott-under-Wychwood'], ['EAL', 'Ealing Broadway'], ['EAL', 'Ealing Broadway'], ['WTB', 'Whitby'], ['CST', 'London Cannon Street'], ['DWN', 'Darwen'], ['BLE', 'Bramley (West Yorkshire)'], ['AAP', 'Alexandra Palace'], ['NUF', 'Nutfield'], ['STG', 'Stirling'], ['HON', 'Honiton'], ['BPW', 'Bristol Parkway'], ['KIT', 'Kintbury'], ['RAD', 'Radley'], ['MCE', 'Metro Centre'], ['SNT', 'Stanlow & Thornton'], ['BYD', 'Barry Docks'], ['DAM', 'Dalmeny'], ['FIN', 'Finstock'], ['BMT', 'Bedminster'], ['HSL', 'Haslemere'], ['CET', 'Colchester Town'], ['HDG', 'Heald Green'], ['PNR', 'Penrith'], ['MHM', 'Merstham'], ['HSC', 'Hoscar'], ['SNO', 'St Neots'], ['BGM', 'Bellingham'], ['NTL', 'Netley'], ['HYH', 'Hythe'], ['RDC', 'Redditch'], ['LTK', 'Little Kimble'], ['FOD', 'Ford'], ['CLJ', 'Clapham Junction'], ['HON', 'Honiton'], ['CLJ', 'Clapham Junction'], ['PNW', 'Penge West'], ['WFJ', 'Watford Junction'], ['HCH', 'Holmes Chapel'], ['LVN', 'Littlehaven'], ['BTL', 'Batley'], ['ZET', 'Earl\\'s Court Underground'], ['WDL', 'Woodhall'], ['BLX', 'Bloxwich'], ['HLS', 'Hilsea'], ['MKT', 'Marks Tey'], ['OKE', 'Okehampton'], ['HWY', 'High Wycombe'], ['SYT', 'Somerleyton'], ['MRY', 'Maryport'], ['SDY', 'Sandy'], ['CLJ', 'Clapham Junction'], ['CEF', 'Chapel-en-le-Frith'], ['LTP', 'Littleport'], ['KPT', 'Kilpatrick'], ['WDD', 'Widdrington'], ['WHM', 'Whimple'], ['CIT', 'Chislehurst'], ['PFR', 'Pontefract Baghill'], ['BKC', 'Birkenhead Central'], ['HOY', 'Honley'], ['INC', 'Ince'], ['CLJ', 'Clapham Junction'], ['GRC', 'Great Chesterford'], ['IPS', 'Ipswich'], ['WCB', 'Westcombe Park'], ['CLJ', 'Clapham Junction'], ['LYP', 'Lymington Pier'], ['CTF', 'Catford'], ['CTE', 'Chatelherault'], ['FWY', 'Five Ways'], ['NDL', 'North Dulwich'], ['BWO', 'Bricket Wood'], ['BKN', 'Birkenhead North'], ['SOW', 'Sowerby Bridge'], ['BTY', 'Bentley (Hampshire)'], ['KLD', 'Kildale'], ['NQY', 'Newquay'], ['SCA', 'Scarborough'], ['BEG', 'Beltring'], ['BKP', 'Birkenhead Park'], ['CLJ', 'Clapham Junction'], ['GLO', 'Glossop'], ['GRH', 'Gartcosh'], ['TUT', 'Tutbury & Hatton'], ['BCE', 'Bracknell'], ['NNT', 'Nunthorpe'], ['ZNP', 'Newbury Park Underground'], ['SND', 'Sandhurst'], ['FSB', 'Fishbourne (West Sussex)'], ['SLW', 'Salwick'], ['DIG', 'Digby & Sowton'], ['EDG', 'Edge Hill'], ['INH', 'Invershin'], ['BTB', 'Barnetby'], ['SJN', 'St James (T & W Metro)'], ['SUY', 'Sudbury'], ['AIG', 'Aigburth'], ['ELR', 'Elsecar'], ['SGB', 'Smethwick Galton Bridge'], ['HYL', 'Hayle'], ['KEM', 'Kemble'], ['WIM', 'Wimbledon'], ['SAS', 'St Annes-on-the-Sea'], ['SHM', 'Sheringham'], ['WRL', 'Wetheral'], ['SUP', 'Sundridge Park'], ['AWM', 'Ashwell & Morden'], ['BUY', 'Burley Park'], ['ABA', 'Aberdare'], ['CRO', 'Croy'], ['DAT', 'Datchet'], ['LGS', 'Langside'], ['WDM', 'Windermere'], ['GMY', 'Goodmayes'], ['BDQ', 'Bradford Forster Square'], ['SOH', 'South Hampstead'], ['GPK', 'Grange Park'], ['EDP', 'Edinburgh Park'], ['NWB', 'North Wembley'], ['NWE', 'Newport (Essex)'], ['CYT', 'Cherry Tree'], ['HUY', 'Huyton'], ['SFN', 'Shifnal'], ['TOM', 'Tottenham Hale'], ['CDI', 'Crediton'], ['HUT', 'Hutton Cranswick'], ['ABW', 'Abbey Wood'], ['GDL', 'Godley'], ['RHD', 'Ribblehead'], ['TYP', 'Tynemouth (T & W Metro)'], ['CSO', 'Croston'], ['PHR', 'Penshurst'], ['LAC', 'Lancing'], ['SWS', 'South Wigston'], ['BUX', 'Buxton'], ['MLD', 'Mouldsworth'], ['FLE', 'Fleet'], ['MKR', 'Market Rasen'], ['LEG', 'Lea Green'], ['CMH', 'Cwmbach'], ['TMC', 'Templecombe'], ['TWI', 'Twickenham'], ['WEE', 'Weeley'], ['HID', 'Hall I\\' Th\\' Wood'], ['TTF', 'Thetford'], ['DLH', 'Doleham'], ['BTF', 'Bottesford'], ['JOR', 'Jordanhill'], ['TIL', 'Tilbury Town'], ['BMR', 'Bromborough Rake'], ['DPD', 'Dorking Deepdene'], ['BUT', 'Burton-on-Trent'], ['LEO', 'Leominster'], ['FRN', 'Fearn'], ['SPK', 'Sutton Parkway'], ['STL', 'Southall'], ['VXH', 'Vauxhall'], ['ALM', 'Alnmouth'], ['HMN', 'Homerton'], ['PNS', 'Penistone'], ['DFP', 'Dublin Ferryport'], ['SED', 'Shelford'], ['MLB', 'Millbrook (Bedfordshire)'], ['WWR', 'Wandsworth Road'], ['WBR', 'Whaley Bridge'], ['CNS', 'Conisbrough'], ['JHN', 'Johnstone'], ['LND', 'Longniddry'], ['STF', 'Stromeferry'], ['BCN', 'Branchton'], ['PET', 'Petts Wood'], ['RSG', 'Rose Grove'], ['SAM', 'Saltmarshe'], ['BNS', 'Barnes'], ['PKG', 'Penkridge'], ['SGB', 'Smethwick Galton Bridge'], ['MUF', 'Manchester United FC'], ['RHY', 'Rhymney'], ['AMR', 'Amersham'], ['KDB', 'Kidbrooke'], ['PLC', 'Pluckley'], ['CSM', 'Castleton Moor'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['TAD', 'Tadworth'], ['GTY', 'Gatley'], ['HWX', 'Heathrow Airport T5 (Bus)'], ['BLK', 'Blackrod'], ['SLK', 'Silkstone Common'], ['BSB', 'Bleasby'], ['AGS', 'Argyle Street'], ['MUI', 'Muirend'], ['SMG', 'St Margarets (London)'], ['MAN', 'Manchester Piccadilly'], ['SEG', 'Selling'], ['PLN', 'Portlethen'], ['BSM', 'Branksome'], ['NLN', 'New Lane'], ['HTO', 'Hightown'], ['BYI', 'Barry Island'], ['HOL', 'Holton Heath'], ['SFL', 'Seaforth & Litherland'], ['SBR', 'Spean Bridge'], ['KGS', 'Kings Sutton'], ['LRB', 'London Road (Brighton)'], ['GSC', 'Gilshochill'], ['MCM', 'Morecambe'], ['STP', 'London St Pancras (Intl)'], ['FGT', 'Faygate'], ['ALD', 'Alderley Edge'], ['COH', 'Crowborough'], ['ANF', 'Ashurst New Forest'], ['OCK', 'Ockendon'], ['ASN', 'Addlestone'], ['CLL', 'Collington'], ['MOT', 'Motspur Park'], ['SDL', 'Sandhills'], ['KKB', 'Kirkby in Ashfield'], ['PAD', 'London Paddington'], ['WOB', 'Woburn Sands'], ['BNI', 'Barnes Bridge'], ['QPW', 'Queens Park (London)'], ['BNY', 'Barnsley'], ['BPN', 'Blackpool North'], ['KWD', 'Kirkwood'], ['SCH', 'Scotstounhill'], ['KNT', 'Kenton'], ['LHD', 'Leatherhead'], ['DRO', 'Dronfield'], ['MRD', 'Morchard Road'], ['CHU', 'Cheadle Hulme'], ['LIC', 'Lichfield City'], ['DSM', 'Darsham'], ['ENF', 'Enfield Town'], ['SSE', 'Shoreham-by-Sea'], ['LGF', 'Longfield'], ['LIP', 'Liphook'], ['ACC', 'Acton Central'], ['NHE', 'New Hythe'], ['GCH', 'Garelochhead'], ['GSN', 'Garston (Hertfordshire)'], ['WRY', 'Wraysbury'], ['RID', 'Ridgmont'], ['KNF', 'Knutsford'], ['STN', 'Stonehaven'], ['WHP', 'West Hampstead Thameslink'], ['DIS', 'Diss'], ['MLG', 'Mallaig'], ['REI', 'Reigate'], ['DNG', 'Dunton Green'], ['LUX', 'Luxulyan'], ['GFD', 'Greenford'], ['GNR', 'Green Road'], ['STH', 'Shepreth'], ['BXW', 'Boxhill & Westhumble'], ['DUD', 'Duddeston'], ['FER', 'Fernhill'], ['CHI', 'Chingford'], ['BKQ', 'Hamilton Square'], ['MUB', 'Musselburgh'], ['ULL', 'Ulleskelf'], ['CLP', 'Clapham High Street'], ['COW', 'Cowdenbeath'], ['GLH', 'Glasshoughton'], ['ATL', 'Attleborough'], ['BIN', 'Bingham'], ['LGO', 'Llangynllo'], ['LRB', 'London Road (Brighton)'], ['WKD', 'Walkden'], ['HRW', 'Harrow & Wealdstone'], ['URM', 'Urmston'], ['CUA', 'Culrain'], ['NBW', 'North Berwick'], ['DMC', 'Drumchapel'], ['EMP', 'Emerson Park'], ['HLE', 'Hillington East'], ['MGN', 'Marston Green'], ['UWL', 'Upper Warlingham'], ['LWM', 'Llantwit Major'], ['ZDE', 'Dagenham East Underground'], ['HIB', 'High Brooms'], ['TQY', 'Torquay'], ['LEU', 'Leuchars'], ['LST', 'London Liverpool Street'], ['ZTG', 'Turnham Green Underground'], ['CDY', 'Cartsdyke'], ['MTC', 'Mitcham Eastfields'], ['HVF', 'Haverfordwest'], ['CSW', 'Chestfield & Swalecliffe'], ['TIR', 'Tir-phil'], ['ERL', 'Earlestown'], ['BGL', 'Bugle'], ['HWM', 'Harlow Mill'], ['SYB', 'Stalybridge'], ['NOA', 'Newton-on-Ayr'], ['FRT', 'Frant'], ['GUI', 'Guide Bridge'], ['HLW', 'Hillington West'], ['MYT', 'Mytholmroyd'], ['BKM', 'Berkhamsted'], ['NEL', 'Nelson'], ['NLT', 'Northolt Park'], ['BES', 'Bescar Lane'], ['BNA', 'Burnage'], ['SRY', 'Shoeburyness'], ['MSR', 'Minster'], ['BNH', 'Barnehurst'], ['DUN', 'Dunbar'], ['LLG', 'Llangadog'], ['PIN', 'Pinhoe'], ['POR', 'Porth'], ['CTR', 'Chester'], ['MCK', 'Marne La Vallee'], ['BUO', 'Bursledon'], ['MDL', 'Middlewood'], ['RHM', 'Reedham (Surrey)'], ['WHD', 'West Hampstead'], ['BDH', 'Bedhampton'], ['ROB', 'Roby'], ['KBF', 'Kirkby-in-Furness'], ['RTR', 'Rochester'], ['STV', 'Stevenston'], ['TIP', 'Tipton'], ['ASB', 'Ardrossan South Beach'], ['DBR', 'Derby Road'], ['LMS', 'Leamington Spa'], ['FSK', 'Fiskerton'], ['HWI', 'Horwich Parkway'], ['WLI', 'Welling'], ['WGC', 'Welwyn Garden City'], ['SOU', 'Southampton Central'], ['RUE', 'Runcorn East'], ['FNH', 'Farnham'], ['SRI', 'Spring Road'], ['TAU', 'Taunton'], ['ALT', 'Altrincham'], ['WDS', 'Woodlesford'], ['LEL', 'Lelant'], ['MNR', 'Manor Road'], ['PPL', 'Pontypool & New Inn'], ['RDG', 'Reading'], ['WNR', 'Windsor & Eton Riverside'], ['SWT', 'Slaithwaite'], ['RCD', 'Rochdale'], ['CYP', 'Crystal Palace'], ['DDG', 'Dorridge'], ['KBX', 'Kirby Cross'], ['SBJ', 'Stourbridge Junction'], ['CRI', 'Cricklewood'], ['WDU', 'West Dulwich'], ['SNN', 'Swinton (Manchester)'], ['BRP', 'Brampton (Suffolk)'], ['COV', 'Coventry'], ['DGL', 'Dingle Road'], ['PYC', 'Pontyclun'], ['LNY', 'Langley'], ['GRP', 'Grove Park'], ['HOU', 'Hounslow'], ['SAE', 'Saltaire'], ['BEH', 'Bedworth'], ['SCY', 'South Croydon'], ['BCY', 'Brockley'], ['AVI', 'Avignon'], ['VIC', 'London Victoria'], ['BWD', 'Birchwood'], ['HWN', 'Harlow Town'], ['VIC', 'London Victoria'], ['FRO', 'Frome'], ['VIC', 'London Victoria'], ['AWT', 'Armathwaite'], ['CAT', 'Caterham'], ['COB', 'Cooden Beach'], ['WVH', 'Wolverhampton'], ['HME', 'Hamble'], ['AUG', 'Aughton Park'], ['BEX', 'Bexhill'], ['ACY', 'Abercynon'], ['CML', 'Carmyle'], ['PBR', 'Potters Bar'], ['TOL', 'Tolworth'], ['APN', 'Newcastle Airport'], ['ADN', 'Ardrossan Town'], ['GDP', 'Gidea Park'], ['SBJ', 'Stourbridge Junction'], ['WIJ', 'Willesden Junction'], ['SDM', 'Shieldmuir'], ['SEV', 'Sevenoaks'], ['FRM', 'Fareham'], ['HNA', 'Hinton Admiral'], ['MRN', 'Marden'], ['MIA', 'Manchester Airport'], ['SBT', 'Stourbridge Town'], ['MAI', 'Maidenhead'], ['BKH', 'Blackheath'], ['BYS', 'Braystones'], ['HGT', 'Harrogate'], ['BIL', 'Billingham'], ['STM', 'St Michaels'], ['BVD', 'Belvedere'], ['LTS', 'Lelant Saltings'], ['LHA', 'Loch Awe'], ['BAD', 'Banstead'], ['INT', 'Ingatestone'], ['MKC', 'Milton Keynes Central'], ['EDR', 'Edmonton Green'], ['BNV', 'Banavie'], ['BTP', 'Braintree Freeport'], ['ROC', 'Roche'], ['CHP', 'Chipstead'], ['FNW', 'Farnworth'], ['TAI', 'Tain'], ['GAL', 'Galashiels'], ['CHG', 'Charing'], ['RMD', 'Richmond'], ['MTN', 'Moreton (Dorset)'], ['COR', 'Corby'], ['SOI', 'Stow'], ['BLG', 'Bellgrove'], ['CNF', 'Carnforth'], ['PST', 'Prestonpans'], ['PKT', 'Park Street'], ['SKS', 'Stocksfield'], ['NRC', 'Newbury Racecourse'], ['PNY', 'Pen-y-bont'], ['EKL', 'East Kilbride'], ['SRU', 'South Ruislip'], ['CDU', 'Cam & Dursley'], ['BRV', 'Bournville'], ['WMS', 'Wemyss Bay'], ['UDD', 'Uddingston'], ['BHD', 'Brithdir'], ['MOR', 'Mortimer'], ['CUM', 'Culham'], ['SDH', 'Sudbury Hill Harrow'], ['STA', 'Stafford'], ['PRL', 'Prittlewell'], ['RDT', 'Radlett'], ['SHP', 'Shepperton'], ['CNP', 'Conway Park'], ['TLK', 'The Lakes'], ['BRX', 'Brixton'], ['MTB', 'Matlock Bath'], ['CLN', 'Chapeltown'], ['KYN', 'Keynsham'], ['NWA', 'North Walsham'], ['BYA', 'Berney Arms'], ['REC', 'Rectory Road'], ['RRB', 'Ryder Brow'], ['SUD', 'Sudbury & Harrow Road'], ['SMN', 'Southminster'], ['YAT', 'Yatton'], ['KSN', 'Kearsney'], ['PTF', 'Pantyffynnon'], ['SWN', 'Swinton (South Yorkshire)'], ['SRN', 'Strines'], ['SWA', 'Swansea'], ['TRR', 'Torre'], ['SSC', 'Seascale'], ['HOT', 'Henley-on-Thames'], ['MVL', 'Malvern Link'], ['ARR', 'Arram'], ['SLT', 'Saltcoats'], ['ANZ', 'Anerley'], ['FPK', 'Finsbury Park'], ['LAN', 'Lancaster'], ['THA', 'Thatcham'], ['BSC', 'Bescot Stadium'], ['MTO', 'Marton'], ['EGG', 'Eggesford'], ['KEH', 'Keith'], ['WCY', 'West Croydon'], ['BOD', 'Bodmin Parkway'], ['HOP', 'Hope (Derbyshire)'], ['HRW', 'Harrow & Wealdstone'], ['WTC', 'Whitchurch (Shropshire)'], ['CHX', 'London Charing Cross'], ['KIR', 'Kirkby'], ['WGA', 'Westgate-on-Sea'], ['WSM', 'Weston-super-Mare'], ['BKS', 'Bekesbourne'], ['AHT', 'Aldershot'], ['DFI', 'Duffield'], ['GIR', 'Girvan'], ['ZBB', 'Barbican Underground'], ['HPE', 'Hope (Flintshire)'], ['CLW', 'Chorleywood'], ['HHL', 'Heath High Level'], ['KKS', 'Kirk Sandall'], ['RDD', 'Riddlesdown'], ['RFY', 'Rock Ferry'], ['ABE', 'Aber'], ['HSK', 'Hassocks'], ['SHT', 'Shotton'], ['LVC', 'Liverpool Central'], ['AIN', 'Aintree'], ['HNG', 'Hengoed'], ['LIS', 'Liss'], ['ARM', 'Armadale'], ['FFA', 'Ffairfach'], ['HCB', 'Hackbridge'], ['LVC', 'Liverpool Central'], ['ELP', 'Ellesmere Port'], ['DYF', 'Dyffryn Ardudwy'], ['TYW', 'Tywyn'], ['CWN', 'Cowden'], ['EGH', 'Egham'], ['RET', 'Retford'], ['HAY', 'Hayes & Harlington'], ['SAT', 'South Acton'], ['PMT', 'Polmont'], ['HPQ', 'Harwich International'], ['WED', 'Wedgwood'], ['BIO', 'Baillieston'], ['WCH', 'Whitchurch (Hampshire)'], ['MNE', 'Manea'], ['SNF', 'Shenfield'], ['ROM', 'Romsey'], ['CHL', 'Chilworth'], ['CDN', 'Coulsdon Town'], ['TLS', 'Thorpe-le-Soken'], ['WRS', 'Wressle'], ['BDY', 'Bredbury'], ['THI', 'Thirsk'], ['WES', 'Westerton'], ['CPU', 'Capenhurst'], ['LRH', 'Larkhall'], ['OLD', 'Old Street'], ['DGT', 'Deansgate'], ['SEM', 'Seamer'], ['SVB', 'Severn Beach'], ['BMC', 'Bromley Cross'], ['SEC', 'Seaton Carew'], ['ZLW', 'Whitechapel'], ['SEE', 'Southease'], ['SOA', 'Southampton Airpt Parkway'], ['WDO', 'Waddon'], ['WTS', 'Whatstandwell'], ['LPY', 'Liverpool South Parkway'], ['HFN', 'Hertford North'], ['KGM', 'Kingham'], ['WFL', 'Wainfleet'], ['SKN', 'St Keyne Wishing Well Halt'], ['DPT', 'Devonport'], ['SOW', 'Sowerby Bridge'], ['WDU', 'West Dulwich'], ['BCB', 'Burscough Bridge'], ['HST', 'High Street'], ['LEM', 'Leyton Midland Road'], ['PYL', 'Pyle'], ['WRU', 'West Ruislip'], ['WYB', 'Weybridge'], ['TAB', 'Tame Bridge Parkway'], ['TRE', 'Trefforest Estate'], ['WYB', 'Weybridge'], ['HND', 'Hanborough'], ['WLW', 'Welwyn North'], ['BMO', 'Birmingham Moor Street'], ['BCJ', 'Burscough Junction'], ['DCW', 'Dorchester West'], ['LVJ', 'James Street'], ['RDF', 'Radcliffe (Nottinghamshire)'], ['CPY', 'Clapham (North Yorkshire)'], ['RMF', 'Romford'], ['SAV', 'Stratford-upon-Avon'], ['LHW', 'Lochwinnoch'], ['NOT', 'Nottingham'], ['CUD', 'Cuddington'], ['LLA', 'Llanaber'], ['SNE', 'Stone'], ['SHL', 'Shawlands'], ['FFD', 'Freshford'], ['SHF', 'Sheffield'], ['YRK', 'York'], ['CSD', 'Cobham & Stoke d\\'Abernon'], ['ENT', 'Entwistle'], ['PRN', 'Parton'], ['ROL', 'Rolleston'], ['BRH', 'Borth'], ['BCV', 'Bruce Grove'], ['SMR', 'Smethwick Rolfe Street'], ['ACN', 'Achnasheen'], ['KWB', 'Kew Bridge'], ['SAR', 'St Andrews Road'], ['ASF', 'Ashfield'], ['FLM', 'Flimby'], ['LBT', 'Larbert'], ['WOR', 'Worle'], ['CWL', 'Colwall'], ['EXC', 'Exeter Central'], ['NTB', 'Norton Bridge'], ['TWY', 'Twyford'], ['ROR', 'Rogerstone'], ['BDI', 'Bradford Interchange'], ['WNL', 'Whinhill'], ['BLA', 'Blair Atholl'], ['KML', 'Kemsley'], ['SDR', 'Saunderton'], ['GRK', 'Gourock'], ['VXH', 'Vauxhall'], ['FTW', 'Fort William'], ['LIT', 'Littlehampton'], ['SIV', 'St Ives'], ['BLD', 'Baildon'], ['GLM', 'Gillingham (Kent)'], ['SHS', 'Shotts'], ['UCK', 'Uckfield'], ['BTG', 'Barnt Green'], ['BOM', 'Bromborough'], ['ACH', 'Achnashellach'], ['UHA', 'Uphall'], ['VXH', 'Vauxhall'], ['DIN', 'Dingwall'], ['HDW', 'Hadley Wood'], ['SOB', 'Southbourne'], ['LEE', 'Lee'], ['QBR', 'Queenborough'], ['LOC', 'Lockerbie'], ['SMA', 'Small Heath'], ['WDB', 'Woodbridge'], ['HIR', 'Horton-in-Ribblesdale'], ['PON', 'Ponders End'], ['FRI', 'Frinton-on-Sea'], ['SAL', 'Salisbury'], ['SRH', 'Streatham Hill'], ['CRK', 'Chirk'], ['EXR', 'Essex Road'], ['HOK', 'Hook'], ['SML', 'Sea Mills'], ['HLY', 'Holytown'], ['NWD', 'Norwood Junction'], ['ASY', 'Ashley'], ['ESW', 'Elmswell'], ['HOH', 'Harrow-on-the-Hill'], ['AGR', 'Angel Road'], ['NSD', 'Newstead'], ['HUL', 'Hull'], ['HLL', 'Heath Low Level'], ['PBL', 'Parbold'], ['JOH', 'Johnston'], ['SMB', 'Smithy Bridge'], ['NSH', 'North Sheen'], ['UPL', 'Upholland'], ['BGE', 'Broad Green'], ['CBY', 'Charlbury'], ['WME', 'Woodmansterne'], ['LAR', 'Largs'], ['MMO', 'Melton Mowbray'], ['LIN', 'Linlithgow'], ['WDT', 'West Drayton'], ['HFE', 'Hertford East'], ['KET', 'Kettering'], ['PUL', 'Pulborough'], ['QRB', 'Queenstown Road Battersea'], ['WMB', 'Wembley Central'], ['BRG', 'Borough Green & Wrotham'], ['GEA', 'Gretna Green'], ['KPA', 'Kensington Olympia'], ['CIM', 'Cilmeri'], ['SWR', 'Stewartby'], ['CMO', 'Camelon'], ['GLQ', 'Glasgow Queen Street'], ['BSU', 'Brunstane'], ['IFI', 'Ifield'], ['ARN', 'Arnside'], ['FRW', 'Fairwater'], ['LKE', 'Lake'], ['CTL', 'Cattal'], ['DMH', 'Dilton Marsh'], ['WWD', 'Woolwich Dockyard'], ['BTS', 'Burntisland'], ['HSW', 'Heswall'], ['KEL', 'Kelvedon'], ['DBL', 'Dunblane'], ['NLR', 'North Llanrwst'], ['HUB', 'Hunmanby'], ['SAF', 'Salfords'], ['WNE', 'Wilnecote'], ['QPK', 'Queens Park (Glasgow)'], ['WTM', 'Witham'], ['AVP', 'Aylesbury Vale Parkway'], ['PTD', 'Pontarddulais'], ['RDG', 'Reading'], ['EXM', 'Exmouth'], ['SNW', 'Swanwick'], ['FCN', 'Falconwood'], ['GOO', 'Goole'], ['LBO', 'Loughborough'], ['HSB', 'Helsby'], ['SHD', 'Shildon'], ['TAY', 'Taynuilt'], ['SNS', 'Staines'], ['CBW', 'Canterbury West'], ['EGF', 'East Garforth'], ['AUR', 'Aberdour'], ['DKG', 'Dorking'], ['GAR', 'Garrowhill'], ['HUN', 'Huntingdon'], ['LLY', 'Llwynypia'], ['SAY', 'Swanley'], ['TTH', 'Thornton Heath'], ['LSK', 'Liskeard'], ['LSW', 'Leasowe'], ['PMP', 'Plumpton'], ['WKK', 'Wakefield Kirkgate'], ['RFY', 'Rock Ferry'], ['DDK', 'Dagenham Dock'], ['HPN', 'Hapton'], ['LNB', 'Llanbradach'], ['BAD', 'Banstead'], ['BIT', 'Bicester Village'], ['MBR', 'Middlesbrough'], ['AAT', 'Achanalt'], ['HIP', 'Highams Park'], ['SIN', 'Singer'], ['TYG', 'Tygwyn'], ['CUP', 'Cupar'], ['FKC', 'Folkestone Central'], ['SIL', 'Sileby'], ['ESM', 'Elsenham'], ['EPD', 'Epsom Downs'], ['HBP', 'Hornbeam Park'], ['HOZ', 'Howwood'], ['RFY', 'Rock Ferry'], ['MEP', 'Meopham'], ['SWG', 'Swaythling'], ['AVM', 'Aviemore'], ['BHK', 'Bush Hill Park'], ['PEA', 'Peartree'], ['WNN', 'Wennington'], ['AYL', 'Aylesford'], ['PIT', 'Pitlochry'], ['OVE', 'Overpool'], ['ZCO', 'Croxley Underground'], ['GYM', 'Great Yarmouth'], ['CPK', 'Carpenders Park'], ['GLC', 'Glasgow Central'], ['LAS', 'Llansamlet'], ['SPN', 'Spooner Row'], ['FKW', 'Folkestone West'], ['KBC', 'Kinbrace'], ['AND', 'Anderston'], ['ZCW', 'Canada Water'], ['DON', 'Doncaster'], ['EAR', 'Earley'], ['CTN', 'Charlton'], ['ZFD', 'Farringdon Underground'], ['SBF', 'St Budeaux Ferry Road'], ['PCD', 'Pencoed'], ['LBG', 'London Bridge'], ['MZH', 'Maze Hill'], ['WTI', 'Winnersh Triangle'], ['HPD', 'Harpenden'], ['SHT', 'Shotton'], ['LBG', 'London Bridge'], ['NRT', 'Nethertown'], ['LBG', 'London Bridge'], ['HMY', 'Hairmyres'], ['HHB', 'Heysham Port'], ['PSH', 'Pershore'], ['PAN', 'Pangbourne'], ['CLU', 'Carluke'], ['SOC', 'Southend Central'], ['MFF', 'Minffordd'], ['BRF', 'Brierfield'], ['COT', 'Cottingley'], ['PTB', 'Pentre-bach'], ['SKG', 'Skegness'], ['INS', 'Insch'], ['EXN', 'Exton'], ['LOO', 'Looe'], ['WWA', 'Woolwich Arsenal'], ['CLK', 'Clock House'], ['BPT', 'Bishopton'], ['BAS', 'Bere Alston'], ['LCS', 'Locheilside'], ['MEV', 'Merthyr Vale'], ['BDH', 'Bedhampton'], ['SDE', 'Shadwell'], ['STP', 'London St Pancras (Intl)'], ['WEH', 'West Ham'], ['HUP', 'Humphrey Park'], ['BTO', 'Betchworth'], ['EVE', 'Evesham'], ['SEF', 'Seaford'], ['ALR', 'Alresford'], ['HNL', 'Henley-in-Arden'], ['SRL', 'Shirley'], ['BFF', 'Blaenau Ffestiniog'], ['FNN', 'Farnborough North'], ['NLW', 'Newton-le-Willows'], ['YAL', 'Yalding'], ['BMH', 'Bournemouth'], ['LHM', 'Lealholm'], ['TVP', 'Tiverton Parkway'], ['BIW', 'Biggleswade'], ['WLS', 'Woolston'], ['BIP', 'Bishopstone'], ['EBV', 'Ebbw Vale Parkway'], ['NNG', 'Newark North Gate'], ['PHG', 'Penhelig'], ['MNG', 'Manningtree'], ['TAT', 'Tattenham Corner'], ['MEN', 'Menheniot'], ['FSB', 'Fishbourne (West Sussex)'], ['CNN', 'Canonbury'], ['HRO', 'Harold Wood'], ['BKJ', 'Beckenham Junction'], ['NFN', 'Nafferton'], ['BNO', 'Benton (T & W Metro)'], ['GRV', 'Gravesend'], ['NBY', 'Newbury'], ['SDC', 'Shoreditch High Street'], ['AXP', 'Alexandra Parade'], ['FXN', 'Foxton'], ['MTS', 'Montrose'], ['BTN', 'Brighton'], ['RDG', 'Reading'], ['CIR', 'Caledonian Rd & Barnsbury'], ['TAL', 'Talsarnau'], ['CWN', 'Cowden'], ['NLS', 'Nailsea & Backwell'], ['WNH', 'Warnham'], ['HWB', 'Hawarden Bridge'], ['LLN', 'Llandaf'], ['NRB', 'Norbury'], ['CSY', 'Coseley'], ['LLL', 'Llandeilo'], ['RIC', 'Rickmansworth'], ['WMB', 'Wembley Central'], ['ADV', 'Andover'], ['PFL', 'Purfleet'], ['SWE', 'Swineshead'], ['SHB', 'Shirebrook'], ['DFD', 'Dartford'], ['HAN', 'Hanwell'], ['NUT', 'Nutbourne'], ['MLW', 'Marlow'], ['WBL', 'Warblington'], ['RHI', 'Rhiwbina'], ['DEP', 'Deptford'], ['CUB', 'Cumbernauld'], ['HCN', 'Headcorn'], ['LAW', 'Landywood'], ['THC', 'Thurnscoe'], ['CNO', 'Chetnole'], ['COI', 'Crosshill'], ['SHW', 'Shawford'], ['BAJ', 'Baglan'], ['SUR', 'Surbiton'], ['AUK', 'Auchinleck'], ['KTL', 'Kirton Lindsey'], ['LID', 'Lidlington'], ['CDR', 'Cardross'], ['SYL', 'Syon Lane'], ['HYT', 'Hyde North'], ['LAI', 'Laindon'], ['HOX', 'Hoxton'], ['LEW', 'Lewisham'], ['BSK', 'Basingstoke'], ['CRW', 'Crawley'], ['GBS', 'Goring-by-Sea'], ['WHS', 'Whyteleafe South'], ['MHR', 'Market Harborough'], ['ERD', 'Erdington'], ['GST', 'Gathurst'], ['LGG', 'Langley Green'], ['OVR', 'Overton'], ['NEH', 'New Eltham'], ['SDN', 'St Denys'], ['MTG', 'Mottingham'], ['WTR', 'Wateringbury'], ['CDB', 'Cardiff Bay'], ['FNT', 'Feniton'], ['BLP', 'Belper'], ['HSG', 'Hathersage'], ['HVH', 'Hoek Van Holland'], ['DVN', 'Davenport'], ['LWH', 'Lawrence Hill'], ['WCK', 'Wick'], ['BMB', 'Bamber Bridge'], ['DRI', 'Drigg'], ['TWN', 'Town Green'], ['CHE', 'Cheam'], ['SAX', 'Saxmundham'], ['MAG', 'Maghull'], ['SBE', 'Starbeck'], ['MCN', 'Machynlleth'], ['CBC', 'Coatbridge Central'], ['BYL', 'Barry Links'], ['BEM', 'Bempton'], ['SFR', 'Shalford'], ['BIC', 'Billericay'], ['BTR', 'Braintree'], ['ISL', 'Isleworth'], ['HLN', 'Harlington'], ['SSM', 'Stocksmoor'], ['GMN', 'Great Missenden'], ['KNE', 'Kennett'], ['POO', 'Poole'], ['RNR', 'Roughton Road'], ['ILK', 'Ilkley'], ['PMH', 'Portsmouth Harbour'], ['RDA', 'Redland'], ['FRS', 'Forsinard'], ['HRN', 'Hornsey'], ['SLY', 'Selly Oak'], ['OXT', 'Oxted'], ['CBS', 'Coatbridge Sunnyside'], ['WMD', 'Wymondham'], ['TEY', 'Teynham'], ['BAV', 'Barrow Haven'], ['BYE', 'Bynea'], ['WKB', 'West Kilbride'], ['BCU', 'Brockenhurst'], ['AMT', 'Aldermaston'], ['LGB', 'Langbank'], ['MRF', 'Moorfields'], ['PMH', 'Portsmouth Harbour'], ['ROO', 'Roose'], ['KIL', 'Kildonan'], ['BHC', 'Balloch'], ['WIV', 'Wivenhoe'], ['BTT', 'Battersby'], ['CCT', 'Cathcart'], ['HRL', 'Harlech'], ['RGW', 'Ramsgreave & Wilpshire'], ['WVF', 'Wivelsfield'], ['SAJ', 'St Johns'], ['WDH', 'Woodhouse'], ['FOG', 'Forest Gate'], ['HTF', 'Hartford'], ['WNW', 'West Norwood'], ['CSG', 'Cressington'], ['SHU', 'Stonehouse'], ['WDN', 'Walsden'], ['SAC', 'St Albans'], ['WFF', 'Whifflet'], ['HOW', 'Howden'], ['MLY', 'Morley'], ['ASG', 'Alsager'], ['LOB', 'Longbridge'], ['WOM', 'Wombwell'], ['MSH', 'Mossley Hill'], ['ECP', 'Energlyn & Churchill Park'], ['EPH', 'Elephant & Castle'], ['RDW', 'Reading West'], ['EKB', 'Eskbank'], ['BRU', 'Bruton'], ['CME', 'Combe'], ['MIH', 'Mills Hill'], ['PPD', 'Pontypridd'], ['SAD', 'Sandwell & Dudley'], ['KGT', 'Kilgetty'], ['BRI', 'Bristol Temple Meads'], ['HOC', 'Hockley'], ['LBR', 'Llanbedr'], ['NSG', 'New Southgate'], ['DGC', 'Denham Golf Club'], ['PNM', 'Penmere'], ['MHS', 'Meadowhall'], ['PSL', 'Port Sunlight'], ['DWW', 'Dawlish Warren'], ['RTN', 'Renton'], ['BUJ', 'Burton Joyce'], ['HUR', 'Hurst Green'], ['BDK', 'Baldock'], ['LNY', 'Langley'], ['BSH', 'Bushey'], ['DOW', 'Downham Market'], ['KIN', 'Kingussie'], ['BLO', 'Blaydon'], ['DVY', 'Dovey Junction'], ['BWS', 'Barrow Upon Soar'], ['SGL', 'South Gyle'], ['WHT', 'Whitchurch (Glamorgan)'], ['ACB', 'Acton Bridge'], ['ZHA', 'Hammersmith Underground'], ['WRB', 'Wrabness'], ['NQU', 'North Queensferry'], ['TYC', 'Ty Croes'], ['ANC', 'Ancaster'], ['NBN', 'New Brighton'], ['HEC', 'Heckington'], ['QUI', 'Quintrell Downs'], ['WCX', 'Wembley Stadium'], ['LWT', 'Lowestoft'], ['RAN', 'Rannoch'], ['THU', 'Thurgarton'], ['CSK', 'Calstock'], ['MER', 'Merthyr Tydfil'], ['NEI', 'Neilston'], ['CBD', 'Conon Bridge'], ['DNO', 'Dunrobin Castle'], ['HUD', 'Huddersfield'], ['SKW', 'Stoke Newington'], ['ARG', 'Arisaig'], ['CNW', 'Conwy'], ['MNN', 'Menston'], ['PLE', 'Pollokshields East'], ['LLO', 'Llandrindod'], ['LAU', 'Laurencekirk'], ['MSL', 'Mossley'], ['SIE', 'Sherburn-in-Elmet'], ['CBH', 'Cambridge Heath'], ['KBN', 'Kilburn High Road'], ['SID', 'Sidcup'], ['FEL', 'Feltham'], ['CCC', 'Criccieth'], ['STO', 'South Tottenham'], ['WOO', 'Wool'], ['GRK', 'Gourock'], ['LLI', 'Llandybie'], ['AXM', 'Axminster'], ['WGV', 'Wargrave'], ['HSD', 'Hamstead'], ['PLW', 'Pollokshields West'], ['BRK', 'Berwick (Sussex)'], ['CTW', 'Church & Oswaldtwistle'], ['XIB', 'Bourg St Maurice'], ['SKI', 'Skipton'], ['BDM', 'Bedford'], ['PLM', 'Plumley'], ['YVJ', 'Yeovil Junction'], ['DEN', 'Dean'], ['DAM', 'Dalmeny'], ['WGN', 'Wigan North Western'], ['WRE', 'Wrenbury'], ['RYN', 'Roydon'], ['YVJ', 'Yeovil Junction'], ['ABH', 'Abererch'], ['UNI', 'University'], ['AMY', 'Amberley'], ['CSB', 'Carshalton Beeches'], ['EFF', 'Effingham Junction'], ['SVK', 'Seven Kings'], ['DEA', 'Deal'], ['WNP', 'Wanstead Park'], ['ALK', 'Aslockton'], ['ULV', 'Ulverston'], ['LIV', 'Liverpool Lime Street'], ['ABC', 'Altnabreac'], ['LAP', 'Lapford'], ['NIT', 'Nitshill'], ['RAM', 'Ramsgate'], ['KNO', 'Knottingley'], ['LIV', 'Liverpool Lime Street'], ['CSH', 'Carshalton'], ['BFE', 'Bere Ferrers'], ['AVY', 'Aberdovey'], ['CBK', 'Cranbrook (Devon)'], ['WLN', 'Wellington (Shropshire)'], ['CGN', 'Cogan'], ['ASC', 'Ashchurch for Tewkesbury'], ['AVF', 'Avoncliff'], ['CBP', 'Castle Bar Park'], ['GSL', 'Gunnislake'], ['HMC', 'Hampton Court'], ['PLY', 'Plymouth'], ['CLA', 'Clandon'], ['CNE', 'Colne'], ['NXG', 'New Cross Gate'], ['CIL', 'Chilham'], ['FLI', 'Flixton'], ['NWX', 'New Cross'], ['BMY', 'Bramley (Hampshire)'], ['CWS', 'Caersws'], ['BHO', 'Blackhorse Road'], ['CFT', 'Crofton Park'], ['GLS', 'Glaisdale'], ['WMI', 'Wildmill'], ['AST', 'Aston'], ['CDT', 'Caldicot'], ['ESD', 'Elmstead Woods'], ['KLN', 'Kings Lynn'], ['SLQ', 'St Leonards Warrior Square'], ['PNC', 'Penychain'], ['BUB', 'Burnley Barracks'], ['BNC', 'Burnley Central'], ['AXM', 'Axminster'], ['AXM', 'Axminster'], ['BGS', 'Bogston'], ['BAC', 'Bache'], ['HWW', 'How Wood'], ['BNG', 'Bangor (Gwynedd)'], ['BRM', 'Barmouth'], ['DNL', 'Dunlop'], ['EML', 'East Malling'], ['CMO', 'Camelon'], ['EDY', 'East Didsbury'], ['SPR', 'Springburn'], ['ELE', 'Elmers End'], ['WKI', 'West Kirby'], ['LBZ', 'Leighton Buzzard'], ['WES', 'Westerton'], ['LYD', 'Lydney'], ['PYT', 'Poynton'], ['RCC', 'Redcar Central'], ['CWE', 'Crowle'], ['KNA', 'Knaresborough'], ['RCE', 'Redcar East'], ['BUH', 'Brough'], ['DAN', 'Darnall'], ['WNF', 'Winchfield'], ['WKF', 'Wakefield Westgate'], ['PWY', 'Patchway'], ['DZY', 'Danzey'], ['FLD', 'Fauldhouse'], ['WPL', 'Worplesdon'], ['BSL', 'Beasdale'], ['KKD', 'Kirkdale'], ['EAG', 'Eaglescliffe'], ['CRM', 'Cramlington'], ['SIH', 'St Helier'], ['HBY', 'Hartlebury'], ['COA', 'Coatdyke'], ['CHW', 'Chalkwell'], ['RYS', 'Royston'], ['DVH', 'Dove Holes'], ['HEV', 'Hever'], ['SPA', 'Spalding'], ['BOG', 'Bognor Regis'], ['EUS', 'London Euston'], ['FRL', 'Fairlie'], ['EDB', 'Edinburgh'], ['MRR', 'Morar'], ['WSH', 'Wishaw'], ['CPW', 'Chepstow'], ['SUU', 'Sunbury'], ['HAP', 'Hatfield Peverel'], ['OUN', 'Oulton Broad North'], ['MIC', 'Micheldever'], ['WOF', 'Worcester Foregate Street'], ['WRX', 'Wrexham General'], ['OUS', 'Oulton Broad South'], ['CAK', 'Cark'], ['FRY', 'Ferriby'], ['FOH', 'Forest Hill'], ['STY', 'Stratford Parkway'], ['OLF', 'Oldfield Park'], ['WAL', 'Walton-on-Thames'], ['PTT', 'Patterton'], ['GLQ', 'Glasgow Queen Street'], ['EBA', 'Euxton Balshaw Lane'], ['HLM', 'Holmwood'], ['FAV', 'Faversham'], ['GOL', 'Golspie'], ['KKH', 'Kirkhill'], ['WSR', 'Woodsmoor'], ['CNL', 'Canley'], ['SPT', 'Stockport'], ['WBD', 'Whitley Bridge'], ['HIA', 'Hampton-in-Arden'], ['BLV', 'Belle Vue'], ['DMK', 'Denmark Hill'], ['DWL', 'Dawlish'], ['FLF', 'Flowery Field'], ['DGY', 'Deganwy'], ['SYS', 'Syston'], ['KKN', 'Kirknewton'], ['WBO', 'Wimbledon Chase'], ['ALB', 'Albrighton'], ['BEP', 'Bermuda Park (Nuneaton)'], ['BFN', 'Byfleet & New Haw'], ['SKM', 'Stoke Mandeville'], ['NEM', 'New Malden'], ['SER', 'St Erth'], ['GNL', 'Green Lane'], ['HEI', 'Heighington'], ['OMS', 'Ormskirk'], ['HBN', 'Hollingbourne'], ['COL', 'Colchester'], ['MES', 'Melton'], ['AHV', 'Ash Vale'], ['KRK', 'Kirkconnel'], ['BYN', 'Bryn'], ['CWC', 'Chappel & Wakes Colne'], ['BIK', 'Birkbeck'], ['SWM', 'Swanscombe'], ['AUD', 'Audley End'], ['BRE', 'Brentwood'], ['YOK', 'Yoker'], ['AHS', 'Ashurst'], ['GSW', 'Garswood'], ['SHU', 'Stonehouse'], ['SNR', 'Sanderstead'], ['BRC', 'Breich'], ['HDM', 'Haddenham & Thame Parkway'], ['BAH', 'Bank Hall'], ['PRR', 'Princes Risborough'], ['SYA', 'Styal'], ['GPO', 'Gospel Oak'], ['SLV', 'Silver Street'], ['FZP', 'Furze Platt'], ['MFA', 'Morfa Mawddach'], ['DLG', 'Dolgarrog'], ['CWB', 'Colwyn Bay'], ['HVN', 'Havenhouse'], ['LUT', 'Luton'], ['GIG', 'Giggleswick'], ['KGP', 'Kings Park'], ['RYH', 'Rye House'], ['GOR', 'Goring & Streatley'], ['HFD', 'Hereford'], ['BIG', 'Billingshurst'], ['STJ', 'Severn Tunnel Junction'], ['SAU', 'St Austell'], ['WHS', 'Whyteleafe South'], ['WST', 'Wood Street'], ['LED', 'Ledbury'], ['MRF', 'Moorfields'], ['OLF', 'Oldfield Park'], ['ATN', 'Atherton'], ['BRS', 'Berrylands'], ['WSB', 'Westbury'], ['CYS', 'Cathays'], ['CWD', 'Creswell'], ['LOS', 'Lostwithiel'], ['BHS', 'Brockholes'], ['THT', 'Thorntonhall'], ['DRG', 'Drayton Green'], ['ANS', 'Ainsdale'], ['DYP', 'Drayton Park'], ['KLY', 'Kenley'], ['LEH', 'Lea Hall'], ['LPR', 'Long Preston'], ['SVS', 'Seven Sisters'], ['WWW', 'Wootton Wawen'], ['SHI', 'Shiplake'], ['WML', 'Wilmslow'], ['EDL', 'Edale'], ['FLX', 'Felixstowe'], ['NBR', 'Narborough'], ['PFY', 'Poulton-le-Fylde'], ['PRP', 'Preston Park'], ['COE', 'Coombe Junction Halt'], ['SST', 'Stansted Mountfitchet'], ['WLD', 'West St Leonards'], ['PMW', 'Penmaenmawr'], ['YEO', 'Yeoford'], ['YVP', 'Yeovil Pen Mill'], ['GRF', 'Garforth'], ['MON', 'Monifieth'], ['NOR', 'Normanton'], ['COM', 'Commondale'], ['ZFD', 'Farringdon Underground'], ['ORR', 'Orrell'], ['LOW', 'Lowdham'], ['YVP', 'Yeovil Pen Mill'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['LPG', 'Llanfairpwll'], ['LWR', 'Llanrwst'], ['CRN', 'Crowthorne'], ['JCH', 'James Cook'], ['LLS', 'Llanishen'], ['NCE', 'New Clee'], ['RAY', 'Raynes Park'], ['SAW', 'Sawbridgeworth'], ['WLO', 'Waterloo (Merseyside)'], ['ROE', 'Rotherhithe'], ['HNB', 'Herne Bay'], ['SHY', 'Shipley'], ['MTA', 'Mountain Ash'], ['SJP', 'St James\\' Park'], ['LYC', 'Lympstone Commando'], ['NWM', 'New Milton'], ['WIJ', 'Willesden Junction'], ['FLT', 'Flitwick'], ['BRA', 'Brora'], ['HYN', 'Hyndland'], ['RUF', 'Rufford'], ['PTA', 'Port Talbot Parkway'], ['SMH', 'Stamford Hill'], ['GVE', 'Garve'], ['HTE', 'Hatch End'], ['WSE', 'Winchelsea'], ['DLT', 'Dalton'], ['SPY', 'Shepley'], ['CFL', 'Crossflatts'], ['LIH', 'Leigh (Kent)'], ['LYM', 'Lympstone Village'], ['SOL', 'Solihull'], ['CTH', 'Chadwell Heath'], ['FOK', 'Four Oaks'], ['TRI', 'Tring'], ['BLB', 'Battlesbridge'], ['FAL', 'Falmouth Docks'], ['HPL', 'Hartlepool'], ['OXN', 'Oxenholme Lake District'], ['OTF', 'Otford'], ['OUT', 'Outwood'], ['WLE', 'Whittlesea'], ['SBV', 'St Budeaux Victoria Road'], ['HHY', 'Highbury & Islington'], ['CKS', 'Clarkston'], ['EDN', 'Eden Park'], ['SDP', 'Sandplace'], ['AFK', 'Ashford International'], ['DLM', 'Delamere'], ['HHY', 'Highbury & Islington'], ['INK', 'Inverkeithing'], ['SAA', 'St Albans Abbey'], ['HLB', 'Hildenborough'], ['KTH', 'Kent House'], ['BUL', 'Butlers Lane'], ['AML', 'Acton Main Line'], ['FMT', 'Falmouth Town'], ['BAM', 'Bamford'], ['FFD', 'Freshford'], ['WAT', 'London Waterloo'], ['SHN', 'Shanklin'], ['CKT', 'Crookston'], ['BKL', 'Bickley'], ['DND', 'Dinsdale'], ['NCL', 'Newcastle'], ['WLV', 'Wallasey Village'], ['THS', 'Thurso'], ['ZBS', 'Baker Street Underground'], ['WAE', 'London Waterloo East'], ['TIS', 'Tisbury'], ['BXS', 'Brussels Midi'], ['LEA', 'Leagrave'], ['BAB', 'Balcombe'], ['NCZ', 'Newcastle Central Metro'], ['ASH', 'Ash'], ['RDB', 'Redbridge'], ['BBK', 'Bilbrook'], ['BUW', 'Burley-in-Wharfedale'], ['GBD', 'Gilberdyke'], ['NSB', 'Normans Bay'], ['RGT', 'Rugeley Town'], ['SEH', 'Shoreham (Kent)'], ['BSH', 'Bushey'], ['ELG', 'Elgin'], ['FTN', 'Fratton'], ['EBN', 'Eastbourne'], ['FTM', 'Fort Matilda'], ['MBK', 'Millbrook (Hampshire)'], ['POT', 'Pontefract Tanshelf'], ['WGW', 'Wigan Wallgate'], ['SUO', 'Sutton (Surrey)'], ['AYS', 'Aylesbury'], ['LVM', 'Levenshulme'], ['WAD', 'Wadhurst'], ['PGN', 'Paignton'], ['BOC', 'Bootle'], ['BUG', 'Burgess Hill'], ['AHD', 'Ashtead'], ['OKL', 'Oakleigh Park'], ['LTT', 'Little Sutton'], ['BAU', 'Barton-on-Humber'], ['GWE', 'Gwersyllt'], ['PMH', 'Portsmouth Harbour'], ['SBU', 'Southbury'], ['CDF', 'Cardiff Central'], ['DTW', 'Droitwich Spa'], ['FST', 'London Fenchurch Street'], ['CEY', 'Cononley'], ['HML', 'Hemel Hempstead'], ['OKN', 'Oakengates'], ['CGD', 'Craigendoran'], ['PEM', 'Pemberton'], ['NHL', 'New Holland'], ['SNP', 'Stanhope'], ['EST', 'Easterhouse'], ['GRA', 'Grantham'], ['TAP', 'Taplow'], ['SUC', 'Sutton Common'], ['GNH', 'Greenhithe for Bluewater'], ['NCT', 'Newark Castle'], ['BTD', 'Bolton-on-Dearne'], ['HNC', 'Hamilton Central'], ['ECL', 'Eccleston Park'], ['OLY', 'Ockley'], ['PLD', 'Portslade'], ['BBG', 'Bishopbriggs'], ['COP', 'Copplestone'], ['SDB', 'Sandbach'], ['COV', 'Coventry'], ['EXD', 'Exeter St Davids'], ['LTH', 'Llanhilleth'], ['SQH', 'Sanquhar'], ['ERA', 'Eastham Rake'], ['BSK', 'Basingstoke'], ['MIR', 'Mirfield'], ['PFM', 'Pontefract Monkhill'], ['GUN', 'Gunnersbury'], ['WLG', 'Wallasey Grove Road'], ['PBO', 'Peterborough'], ['PLU', 'Plumstead'], ['CDQ', 'Cardiff Queen Street'], ['BXB', 'Broxbourne'], ['HNW', 'Hamilton West'], ['EXT', 'Exeter St Thomas'], ['WLT', 'Wallington'], ['HNX', 'Hunts Cross'], ['HMP', 'Hampton'], ['ALF', 'Alfreton'], ['BAA', 'Barnham'], ['SEA', 'Seaham'], ['WBY', 'West Byfleet'], ['BGL', 'Bugle'], ['WRK', 'Worksop'], ['WWI', 'West Wickham'], ['FGT', 'Faygate'], ['STW', 'Strawberry Hill'], ['NFL', 'Northfleet'], ['BUE', 'Bures'], ['NMP', 'Northampton'], ['CBL', 'Cambuslang'], ['GFN', 'Giffnock'], ['INV', 'Inverness'], ['WGR', 'Woodgrange Park'], ['STS', 'Saltash'], ['STP', 'London St Pancras (Intl)'], ['SUN', 'Sunderland'], ['SDF', 'Saundersfoot'], ['FNV', 'Furness Vale'], ['YAE', 'Yate'], ['MCV', 'Manchester Victoria'], ['RED', 'Redruth'], ['SNG', 'Sunningdale'], ['PDG', 'Padgate'], ['HTR', 'Heathrow Central Bus Stn'], ['BHI', 'Birmingham International'], ['CWH', 'Crews Hill'], ['NTA', 'Newton Abbot'], ['SFA', 'Stratford International'], ['WOH', 'Woldingham'], ['SXY', 'Saxilby'], ['GKC', 'Greenock Central'], ['PTC', 'Portchester'], ['GLD', 'Guildford'], ['BNF', 'Briton Ferry'], ['DAG', 'Dalgety Bay'], ['SOO', 'Strood'], ['DLS', 'Dalston'], ['LFD', 'Lingfield'], ['BBN', 'Blackburn'], ['CGM', 'Cottingham'], ['RVB', 'Ravensbourne'], ['AIR', 'Airbles'], ['BRR', 'Barrhead'], ['CLH', 'Clitheroe'], ['MRM', 'Manors (T & W Metro)'], ['GMT', 'Grosmont'], ['DHM', 'Durham'], ['PAR', 'Par'], ['IVY', 'Ivybridge'], ['LVN', 'Littlehaven'], ['GKW', 'Greenock West'], ['HNK', 'Hinckley'], ['KMK', 'Kilmarnock'], ['RMD', 'Richmond'], ['SIC', 'Silecroft'], ['HAD', 'Haddiscoe'], ['DNM', 'Denham'], ['OXS', 'Oxshott'], ['SLB', 'Saltburn'], ['DNT', 'Dent'], ['WHY', 'Whyteleafe'], ['CRG', 'Cross Gates'], ['LCG', 'Lochgelly'], ['BHG', 'Bathgate'], ['TNF', 'Tonfanau'], ['MAL', 'Malden Manor'], ['NUT', 'Nutbourne'], ['NWX', 'New Cross'], ['TON', 'Tonbridge'], ['TRO', 'Trowbridge'], ['WKG', 'Workington'], ['BSI', 'Balmossie'], ['SMK', 'Stowmarket'], ['LGD', 'Lingwood'], ['FBY', 'Formby'], ['NNP', 'Ninian Park'], ['ADM', 'Adisham'], ['GRL', 'Greenfaulds'], ['RLN', 'Rowlands Castle'], ['AMF', 'Ammanford'], ['KMP', 'Kempton Park'], ['SNL', 'Stoneleigh'], ['BWB', 'Bow Brickhill'], ['ABY', 'Ashburys'], ['BRY', 'Barry'], ['MYL', 'Maryland'], ['BBL', 'Bat & Ball'], ['PUT', 'Putney'], ['CAA', 'Coventry Arena'], ['HMD', 'Hampden Park'], ['GYP', 'Gypsy Lane'], ['CMY', 'Crossmyloof'], ['DUL', 'Dullingham'], ['WNM', 'Weston Milton'], ['AFV', 'Ansdell & Fairhaven'], ['SYH', 'Sydenham Hill'], ['GTW', 'Gatwick Airport'], ['HYK', 'Hoylake'], ['MIS', 'Mistley'], ['PPK', 'Possilpark & Parkhouse'], ['WYM', 'Wylam'], ['MLM', 'Millom'], ['WAV', 'Wavertree Tech Park'], ['LAM', 'Lamphey'], ['CCH', 'Chichester'], ['MLT', 'Malton'], ['SGM', 'St Germans'], ['WND', 'Wendover'], ['HAF', 'Heathrow Airport T4'], ['THE', 'Theale'], ['ADL', 'Adlington (Lancashire)'], ['HWV', 'Heathrow Airport T5'], ['PLK', 'Plockton'], ['HWC', 'Harwich Town'], ['CWU', 'Crowhurst'], ['CHK', 'Chiswick'], ['HEN', 'Hendon'], ['DRU', 'Drumgelloch'], ['HAB', 'Habrough'], ['LVT', 'Lisvane & Thornhill'], ['TOK', 'Three Oaks'], ['SVR', 'Silverdale'], ['HEL', 'Hensall'], ['SON', 'Steeton & Silsden'], ['WIC', 'Wickford'], ['NAN', 'Nantwich'], ['LUD', 'Ludlow'], ['AFS', 'Ashford (Surrey)'], ['SGH', 'South Gosforth (T & W Metro)'], ['WYL', 'Wylde Green'], ['RDH', 'Redhill'], ['RNM', 'Rainham (Essex)'], ['MIF', 'Millfield (T & W Metro)'], ['WIN', 'Winchester'], ['LLR', 'Llanharan'], ['NET', 'Netherfield'], ['BSN', 'Boston'], ['GRN', 'Grindleford'], ['APB', 'Appley Bridge'], ['PYN', 'Penryn'], ['SRR', 'Sarn'], ['BND', 'Brandon'], ['DLW', 'Dalwhinnie'], ['BIB', 'Bishops Lydeard'], ['CUX', 'Cuxton'], ['PRS', 'Prees'], ['CLC', 'Castle Cary'], ['SCF', 'Stechford'], ['CLD', 'Chelsfield'], ['RIL', 'Rice Lane'], ['TBY', 'Thornaby'], ['LPY', 'Liverpool South Parkway'], ['CRV', 'Craven Arms'], ['WMA', 'West Malling'], ['DTN', 'Denton'], ['DOC', 'Dockyard'], ['DCH', 'Dorchester South'], ['NXG', 'New Cross Gate'], ['CDS', 'Coulsdon South'], ['LLF', 'Llanfairfechan'], ['SLL', 'Stallingborough'], ['CDO', 'Cardonald'], ['HAT', 'Hatfield'], ['RDN', 'Reddish North'], ['WOS', 'Worcester Shrub Hill'], ['HAV', 'Havant'], ['SNA', 'Sandal & Agbrigg'], ['MIM', 'Moreton-in-Marsh'], ['ART', 'Arrochar & Tarbet'], ['OBN', 'Oban'], ['RDS', 'Reddish South'], ['TOO', 'Tooting'], ['WMC', 'Wilmcote'], ['SIA', 'Southend Airport'], ['EBT', 'Edenbridge Town'], ['PLG', 'Polegate'], ['BSW', 'Birmingham Snow Hill'], ['GRB', 'Great Bentley'], ['HHB', 'Heysham Port'], ['SNK', 'Sankey for Penketh'], ['BXD', 'Buxted'], ['ASK', 'Askam'], ['CFB', 'Catford Bridge'], ['GMG', 'Garth (Mid Glamorgan)'], ['NCM', 'North Camp'], ['APF', 'Appleford'], ['EWR', 'East Worthing'], ['WON', 'Walton-on-the-Naze'], ['ROW', 'Rowley Regis'], ['WSU', 'West Sutton'], ['BGG', 'Brigg'], ['EBD', 'Ebbsfleet International'], ['ZEL', 'Elephant & Castle Underground'], ['PHR', 'Penshurst'], ['MRB', 'Manorbier'], ['SPH', 'Shepherds Well'], ['STD', 'Stroud'], ['TGS', 'Ty Glas'], ['BCF', 'Beaconsfield'], ['HDF', 'Hadfield'], ['CDD', 'Cardenden'], ['LTL', 'Littleborough'], ['CHR', 'Christchurch'], ['MFT', 'Mansfield'], ['PWE', 'Pollokshaws East'], ['LPW', 'Lapworth'], ['BNE', 'Bourne End'], ['CRA', 'Cradley Heath'], ['CHO', 'Cholsey'], ['WRM', 'Wareham'], ['CSR', 'Chassen Road'], ['SEN', 'Shenstone'], ['BOE', 'Botley'], ['ANG', 'Angmering'], ['DVC', 'Dovercourt'], ['PMG', 'Porthmadog Harbour (Bus)'], ['ORN', 'Old Roan'], ['NGT', 'Newington'], ['KNI', 'Knighton'], ['GVH', 'Gravelly Hill'], ['OXF', 'Oxford'], ['CKY', 'Crosskeys'], ['BLL', 'Bardon Mill'], ['FGH', 'Fishguard Harbour'], ['LYE', 'Lye'], ['CLR', 'Clarbeston Road'], ['HBD', 'Hebden Bridge'], ['IGD', 'Invergordon'], ['YNW', 'Ynyswen'], ['PWW', 'Pollokshaws West'], ['RMB', 'Roman Bridge'], ['GRT', 'Grateley'], ['AGT', 'Aldrington'], ['CED', 'Cheddington'], ['RVN', 'Ravensthorpe'], ['KEN', 'Kendal'], ['MAR', 'Margate'], ['PSE', 'Pitsea'], ['CTK', 'City Thameslink'], ['BAT', 'Battle'], ['HEV', 'Hever'], ['WAS', 'Watton-at-Stone'], ['CLY', 'Chinley'], ['HES', 'Hessle'], ['UPH', 'Upper Halliford'], ['WNS', 'Winnersh'], ['AON', 'Alton'], ['LGK', 'Longbeck'], ['SHC', 'Streethouse'], ['EMS', 'Emsworth'], ['SYH', 'Sydenham Hill'], ['BAK', 'Battersea Park'], ['GLQ', 'Glasgow Queen Street'], ['BKJ', 'Beckenham Junction'], ['UMB', 'Umberleigh'], ['CMN', 'Carmarthen'], ['SHH', 'Shirehampton'], ['MAX', 'Maxwell Park'], ['HGY', 'Harringay'], ['AVF', 'Avoncliff'], ['BYK', 'Bentley (South Yorkshire)'], ['GER', 'Gerrards Cross'], ['HLR', 'Hall Road'], ['HNF', 'Hednesford'], ['FRD', 'Frodsham'], ['KNR', 'Kensal Rise'], ['BCC', 'Beccles'], ['HGN', 'Hough Green'], ['BKW', 'Berkswell'], ['EBR', 'Edenbridge'], ['BKT', 'Blake Street'], ['CEH', 'Coleshill Parkway'], ['LEN', 'Lenham'], ['BEC', 'Beckenham Hill'], ['FNY', 'Finchley Road & Frognal'], ['LTM', 'Lytham'], ['BKJ', 'Beckenham Junction'], ['KDG', 'Kidsgrove'], ['IGD', 'Invergordon'], ['CPH', 'Caerphilly'], ['APS', 'Apsley'], ['HTY', 'Hattersley'], ['SAL', 'Salisbury'], ['BNW', 'Bootle New Strand'], ['SOB', 'Southbourne'], ['BTH', 'Bath Spa'], ['DFE', 'Dunfermline Town'], ['SLS', 'Shettleston'], ['ELY', 'Ely'], ['BMF', 'Broomfleet'], ['NVH', 'Newhaven Harbour'], ['LCL', 'Lochailort'], ['PMD', 'Pembroke Dock'], ['WAR', 'Ware'], ['BFD', 'Brentford'], ['GLZ', 'Glazebrook'], ['HSY', 'Horsley'], ['SPI', 'Spital'], ['SHZ', 'South Hylton (T & W Metro)'], ['MOO', 'Muir of Ord'], ['NHD', 'Nunhead'], ['BKR', 'Blackridge'], ['IRL', 'Irlam'], ['NVN', 'Newhaven Town'], ['WRN', 'West Runton'], ['HDB', 'Haydon Bridge'], ['EAD', 'Earlsfield'], ['RDM', 'Riding Mill'], ['WMR', 'Widney Manor'], ['BPK', 'Brookmans Park'], ['WLF', 'Whittlesford Parkway'], ['GDN', 'Godstone'], ['TFC', 'Telford Central'], ['SHE', 'Sherborne'], ['GNB', 'Gainsborough Central'], ['BOT', 'Bootle Oriel Road'], ['EGR', 'East Grinstead'], ['LNK', 'Lanark'], ['NEG', 'Newtongrange'], ['SAL', 'Salisbury'], ['CFR', 'Chandlers Ford'], ['LGM', 'Langley Mill'], ['GSD', 'Garsdale'], ['LAG', 'Langwith-Whaley Thorns'], ['BNL', 'Barnhill'], ['IVR', 'Iver'], ['CNY', 'Cantley'], ['HGS', 'Hastings'], ['BEY', 'Ben Rhydding'], ['BMD', 'Brimsdown'], ['ARB', 'Arbroath'], ['BLN', 'Blundellsands & Crosby'], ['MSS', 'Moses Gate'], ['DST', 'Duke Street'], ['HYW', 'Hinchley Wood'], ['AYR', 'Ayr'], ['SRO', 'Shireoaks'], ['CAR', 'Carlisle'], ['DSY', 'Daisy Hill'], ['RGL', 'Rugeley Trent Valley'], ['GFF', 'Gilfach Fargoed'], ['WAF', 'Wallyford'], ['INR', 'Inverurie'], ['SBK', 'South Bank'], ['ELO', 'Elton & Orston'], ['SPB', 'Shepherds Bush'], ['STE', 'Streatham'], ['CYB', 'Cefn-y-Bedd'], ['HDY', 'Headingley'], ['HCT', 'Huncoat'], ['DYC', 'Dyce'], ['HYD', 'Heyford'], ['PRH', 'Penrhyndeudraeth'], ['SET', 'Settle'], ['WFH', 'Watford High Street'], ['DLR', 'Dalreoch'], ['BKD', 'Blakedown'], ['PTM', 'Porthmadog'], ['ORP', 'Orpington'], ['GBL', 'Gainsborough Lea Road'], ['SCU', 'Scunthorpe'], ['PTH', 'Perth'], ['TAM', 'Tamworth'], ['TRB', 'Treherbert'], ['BXY', 'Bexley'], ['TRY', 'Treorchy'], ['HRS', 'Horsforth'], ['SHV', 'Southsea Hoverport (Bus)'], ['SUM', 'Summerston'], ['WFJ', 'Watford Junction'], ['FYS', 'Ferryside'], ['NUM', 'Northumberland Park'], ['SVL', 'Staveley'], ['CYK', 'Clydebank'], ['HDN', 'Harlesden'], ['PLS', 'Pleasington'], ['TLC', 'Tal-y-Cafn'], ['WAM', 'Walmer'], ['BMG', 'Barming'], ['IFD', 'Ilford'], ['GTA', 'Great Ayton'], ['NBC', 'New Beckenham'], ['LUD', 'Ludlow'], ['FNR', 'Farningham Road'], ['CFN', 'Clifton Down'], ['HAC', 'Hackney Downs'], ['PGM', 'Pengam'], ['RLG', 'Rayleigh'], ['BKG', 'Barking'], ['BLM', 'Belmont'], ['NTC', 'Newton St Cyres'], ['RYE', 'Rye'], ['DBG', 'Mottisfont & Dunbridge'], ['NWI', 'Northwich'], ['PSC', 'Prescot'], ['DKD', 'Dunkeld & Birnam'], ['AGL', 'Abergele & Pensarn'], ['CRF', 'Carfin'], ['SOM', 'South Milford'], ['CRY', 'Crayford'], ['LIU', 'Lille Europe'], ['GLF', 'Glenfinnan'], ['SWI', 'Swindon'], ['SCR', 'St Columb Road'], ['TEO', 'Theobalds Grove'], ['BHM', 'Birmingham New Street'], ['BML', 'Bramhall'], ['WIJ', 'Willesden Junction'], ['COS', 'Cosford'], ['ACG', 'Acocks Green'], ['DVP', 'Dover Priory'], ['MOG', 'Moorgate'], ['ROS', 'Rosyth'], ['WAO', 'Walton (Merseyside)'], ['GNH', 'Greenhithe for Bluewater'], ['RWC', 'Rawcliffe'], ['LES', 'Leigh-on-Sea'], ['HLI', 'Healing'], ['WEY', 'Weymouth'], ['AFK', 'Ashford International'], ['HON', 'Honiton'], ['RCA', 'Risca & Pontymister'], ['BIY', 'Bingley'], ['FOR', 'Forres'], ['KLM', 'Kilmaurs'], ['BOR', 'Bodorgan'], ['BSS', 'Barassie'], ['PUR', 'Purley'], ['MAC', 'Macclesfield'], ['RBR', 'Robertsbridge'], ['HHE', 'Haywards Heath'], ['ALN', 'Althorne'], ['GBK', 'Greenbank'], ['BMV', 'Bromsgrove'], ['GTO', 'Gorton'], ['PMB', 'Pembroke'], ['SKE', 'Skewen'], ['CAU', 'Causeland'], ['PEN', 'Penarth'], ['UPT', 'Upton'], ['BMN', 'Bromley North'], ['ZTH', 'Tower Hill Underground'], ['KYL', 'Kyle of Lochalsh'], ['TTN', 'Totton'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['BMS', 'Bromley South'], ['ASS', 'Alness'], ['SSS', 'Sheerness-on-Sea'], ['CAG', 'Carrbridge'], ['GTH', 'Garth (Powys)'], ['LOF', 'London Fields'], ['BIS', 'Bishops Stortford'], ['BRW', 'Brunswick'], ['CHH', 'Christs Hospital'], ['HHD', 'Holyhead'], ['MFL', 'Mount Florida'], ['DAK', 'Dalmarnock'], ['WSW', 'Wandsworth Common'], ['MDN', 'Maiden Newton'], ['DFL', 'Dunfermline Queen Margaret'], ['IRV', 'Irvine'], ['WHN', 'Whiston'], ['SBS', 'St Bees'], ['PKG', 'Penkridge'], ['SOU', 'Southampton Central'], ['COY', 'Coryton'], ['GGJ', 'Georgemas Junction'], ['SLR', 'Sleaford'], ['DKT', 'Dorking West'], ['SQU', 'Squires Gate'], ['CMD', 'Camden Road'], ['BSO', 'Basildon'], ['CBR', 'Cooksbridge'], ['BYM', 'Burnley Manchester Road'], ['MLF', 'Milford (Surrey)'], ['RYR', 'Ryde St Johns Road'], ['TEY', 'Teynham'], ['TOT', 'Totnes'], ['FRF', 'Fairfield'], ['PUO', 'Purley Oaks'], ['GNF', 'Greenfield'], ['GRY', 'Grays'], ['BGH', 'Brighouse'], ['FKG', 'Falkirk Grahamston'], ['HKH', 'Hawkhead'], ['PYP', 'Pont-y-Pant'], ['FKK', 'Falkirk High'], ['SOV', 'Southend Victoria'], ['MEY', 'Merryton']]\n);\n\nfunction findStation (id) {\n const wanted = id.toUpperCase();\n const station = sMap.get(wanted);\n console.log(station);\n\n return station;\n}\n\nfunction searchStation(str) {\n const workArray = [];\n\n const searchAbbr = (str.length <= 3);\n const searchLong = (str.length >= 3);\n\n // const searchReg = /(dbe)/i;\n const searchReg = new RegExp(`(${str})`, 'gi');\n \n sMap.forEach((value, key) => {\n let out;\n if (searchAbbr && searchReg.test(key)) \n out = [key, value];\n \n if (typeof out === 'undefined' && searchLong && searchReg.test(value))\n out = [key, value];\n\n if(typeof out === 'object') workArray.push(out);\n });\n \n return workArray.slice(0, 5);\n}\n\nmodule.exports = { findStation, searchStation };\n","function partOfDay (timeString, today) {\n console.log(new Date());\n if (timeString === undefined || timeString === null) timeString = (new Date()).getHours().toString(); \n\n if (today === undefined) today = false; \n\n const hours = timeString.substring(0, 2);\n let dayBit = '';\n\n console.log('Hours', hours);\n\n if (hours >= 0 && hours < 4) \n dayBit = 'Late Night'; \n\n else if (hours >= 4 && hours < 7) \n dayBit = 'Early Morning'; \n\n else if (hours >= 7 && hours < 12) \n dayBit = 'Morning'; \n\n else if (hours >= 12 && hours < 17) \n dayBit = 'Afternoon'; \n\n else if (hours < 21) \n dayBit = 'Evening'; \n\n else dayBit = 'Night'; \n\n if (today) \n if (dayBit === 'night') {\n dayBit = 'tonight';\n }\n else {\n dayBit = `this ${dayBit}`;\n }\n\n console.log('partOfDay', dayBit);\n\n return dayBit;\n}\n\nfunction toHour (extra = 0) {\n const now = new Date();\n\n return (3600000 - (now.getTime() % 3600000)) + extra;\n}\n\nfunction hourFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 3600000) * 3600000, 10).toString(32);\n}\n\nfunction minuteFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 60000) * 60000, 10).toString(32);\n}\n\nfunction distance (lat1, lon1, lat2, lon2) {\n const p = 0.017453292519943295; // Math.PI / 180\n const c = Math.cos;\n const a = 0.5 - c((lat2 - lat1) * p) / 2 +\n c(lat1 * p) * c(lat2 * p) *\n (1 - c((lon2 - lon1) * p)) / 2;\n\n return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km\n}\n\n/* function splitURL (url) {\n\n} */\n\nconst maybePluralize = (count, noun, suffix = 's') =>\n `${count} ${noun}${count !== 1 ? suffix : ''}`;\n\nfunction supportsLocalStorage() {\n try {\n if (!localStorage)return false;\n else return true;\n // May only need the above simple test\n // - old versions of firefox may cause problem?\n // return 'localStorage' in window && window['localStorage']!==null;\n }\n catch(e) {\n return false;\n }\n}\n\nlet LocalStorage = {};\n\nif (supportsLocalStorage())\n LocalStorage = {\n 'save':function ( i, v ) {\n localStorage[i] = v;\n },\n 'load':function ( i ) {\n return localStorage[i];\n },\n 'exists':function(i) {\n return !(typeof(localStorage[i]) === 'undefined');\n }\n }; \nelse \n LocalStorage = {\n 'save':function ( i, v ) {\n document.cookie = `${i }=${ encodeURIComponent(v)}`;\n },\n 'load':function ( i ) {\n var s = `; ${ document.cookie };`,\n p = s.indexOf(`; ${ i }=`);\n if (p < 0)return '';\n p = p + i.length + 3;\n var p2 = s.indexOf(';', p + 1);\n \n return decodeURIComponent(s.substring(p, p2));\n }\n };\n\n/**\n *\n * @param fn\n * @param time\n * @returns {Function}\n * @private\n */\nfunction debounce(fn, time) {\n let timeout;\n\n return function (...args) { // <-- not an arrow function\n const functionCall = () => fn.apply(this, args);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\n/**\n *\n * @param callback\n * @param limit\n * @returns {Function}\n * @private\n */\nfunction throttle (callback, limit) {\n var wait = false;\n\n return function () {\n if (!wait) {\n callback.apply(null, arguments);\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\n/**\n *\n * @param func\n * @returns {function(): *}\n * @private\n */\n\nfunction once(func) {\n var alreadyCalled = false;\n var result;\n\n return function() {\n if (!alreadyCalled) {\n result = func.apply(this, arguments);\n alreadyCalled = true;\n }\n\n return result;\n };\n};\n\nfunction isEmpty(obj) {\n for(const key in obj)\n if(obj.hasOwnProperty(key)) return false;\n\n return true;\n}\n\n\n\nmodule.exports = { partOfDay, toHour, hourFloor, distance, maybePluralize, minuteFloor, debounce, throttle, once, isEmpty, LocalStorage };\n","export default(function t(e){function r(t,e,n){var a,o={};if(Array.isArray(t))return t.concat(e);for(a in t)o[n?a.toLowerCase():a]=t[a];for(a in e){var i=n?a.toLowerCase():a,u=e[a];o[i]=i in o&&\"object\"==typeof u?r(o[i],u,\"headers\"===i):u}return o}function n(t,n,a,o){\"string\"!=typeof t&&(t=(n=t).url);var i={config:n},u=r(e,n),s={},c=o||u.data;(u.transformRequest||[]).map(function(t){c=t(c,u.headers)||c}),c&&\"object\"==typeof c&&\"function\"!=typeof c.append&&(c=JSON.stringify(c),s[\"content-type\"]=\"application/json\");var f=document.cookie.match(RegExp(\"(^|; )\"+u.xsrfCookieName+\"=([^;]*)\"));if(f&&(s[u.xsrfHeaderName]=f[2]),u.auth&&(s.authorization=u.auth),u.baseURL&&(t=new URL(t,u.baseURL)+\"\"),u.params){var p=~t.indexOf(\"?\")?\"&\":\"?\";t+=p+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))}return(u.fetch||fetch)(t,{method:a||u.method,body:c,headers:r(u.headers,s,!0),credentials:u.withCredentials?\"include\":void 0}).then(function(t){for(var e in t)\"function\"!=typeof t[e]&&(i[e]=t[e]);return(u.validateStatus?u.validateStatus(t.status):t.ok)?\"stream\"==u.responseType?(i.data=t.body,i):t[u.responseType||\"text\"]().then(function(t){i.data=t,i.data=JSON.parse(t)}).catch(Object).then(function(){return i}):Promise.reject(i)})}return e=e||{},n.request=n,n.get=function(t,e){return n(t,e,\"get\")},n.delete=function(t,e){return n(t,e,\"delete\")},n.options=function(t,e){return n(t,e,\"options\")},n.post=function(t,e,r){return n(t,r,\"post\",e)},n.put=function(t,e,r){return n(t,r,\"put\",e)},n.patch=function(t,e,r){return n(t,r,\"patch\",e)},n.all=Promise.all,n.spread=function(t){return function(e){return t.apply(this,e)}},n.CancelToken=\"function\"==typeof AbortController?AbortController:Object,n.defaults=e,n.create=t,n}());\n//# sourceMappingURL=redaxios.module.js.map\n","/*!\n localForage -- Offline Storage, Improved\n Version 1.9.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n resolve(openreq.result);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = req.onblocked = function (err) {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(err);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n","const Websocket = function (model) {\n let wsUrl = ['localhost', 'traintimes.silvrtree.co.uk'];\n let wsPort = '8100';\n const useUrl = 0;\n\n if ('https:' === document.location.protocol) {\n wsUrl = `wss://${ wsUrl[1] }`;\n wsPort = '';\n }\n else {\n // wsUrl = 'ws://localhost:3001';\n wsUrl = `ws://${ wsUrl[0] }`;\n wsPort = '8100';\n }\n\n console.log('>> wsUrl', wsUrl);\n this.socket = null;\n this.timer = 0;\n this.clock = null;\n this.connected = false;\n this.connectBuffer = [];\n\n this.startWebSocket = function () {\n 'use strict';\n\n const url = (wsPort === '') ? wsUrl : `${wsUrl }:${ wsPort}`;\n console.log('Starting socket', url);\n const wsCtor = window['MozWebSocket'] ? MozWebSocket : WebSocket;\n this.socket = new wsCtor(url, 'stream');\n\n this.socket.onopen = this.handleWebsocketOnOpen.bind(this);\n this.socket.onmessage = this.handleWebsocketMessage.bind(this);\n this.socket.onclose = this.handleWebsocketClose.bind(this);\n this.socket.onerror = function (e) {\n console.error(e);\n };\n };\n\n this.subscribe = function(channel) {\n console.log('Subscribe::', channel);\n const newSubscription = {\n 'request': 'SUBSCRIBE',\n 'message': '',\n 'channel': channel\n };\n \n if (this.connected)\n this.socket.send(JSON.stringify(newSubscription));\n else\n this.connectBuffer.push(JSON.stringify(newSubscription));\n };\n\n this.send = function (msg) {\n console.log('Sending', msg);\n this.socket.send(msg);\n };\n\n this.handleData = function (d) {\n model.trigger('message', d);\n };\n\n this.handleBuffer = function() {\n console.log('*** handleBuffer');\n\n while (this.connectBuffer.length > 0) {\n const item = this.connectBuffer.shift();\n this.socket.send(item);\n }\n };\n\n this.handleWebsocketOnOpen = function () {\n 'use strict';\n this.retry = 0;\n\n console.log('**** Websocket Connected ****');\n this.clock = new Date();\n\n this.connected = true;\n setTimeout(() => {\n this.handleBuffer();\n }, 1500);\n };\n\n this.handleWebsocketMessage = function (message) {\n let command;\n\n try {\n console.log('handleWebsocketMessage::raw', message);\n command = JSON.parse(message.data);\n console.log('handleWebsocketMessage::command', command);\n }\n catch (e) { /* Do nothing */\n }\n if (command)\n this.handleData.call(this, command);\n };\n\n this.handleWebsocketClose = function () {\n console.error('WebSocket Connection Closed.');\n const now = new Date();\n\n // const uptime = now.getTime() - this.clock.getTime();\n const uptime = 1;\n console.log('Socket alive for', uptime / 1000);\n const self = this;\n console.log('Waiting ', 15000);\n this.timer = setTimeout(function () {\n self.startWebSocket();\n }, 15000);\n };\n\n this.startWebSocket();\n};\n\nmodule.exports = Websocket;\n","export default\n[\n { 'follow': false,\n 'name': 'nationalrailenq',\n 'id': 33546465\n },\n { 'follow': false,\n 'name': 'networkrail',\n 'id': 365344176\n },\n { 'follow': false,\n 'name': 'NetworkRailSCOT',\n 'id': 402687948\n },\n { 'follow': false,\n 'name': 'AvantiWestCoast',\n 'id': 1143560758476906497\n },\n { 'follow': false,\n 'name': 'CalSleeper',\n 'id': 2870293725\n },\n { 'follow': false,\n 'name': 'CrossCountryUK',\n 'id': 153368708\n },\n { 'follow': false,\n 'name': 'Eurostar',\n 'id': 98412169\n },\n { 'follow': false,\n 'name': 'EurostarUK',\n 'id': 59742254\n },\n { 'follow': false,\n 'name': 'GatwickExpress',\n 'id': 163816182\n },\n { 'follow': false,\n 'name': 'GlasgowSubway',\n 'id': 224607925\n },\n { 'follow': false,\n 'name': 'GWRHelp',\n 'id': 15589815\n },\n { 'follow': false,\n 'name': 'HeathrowExpress',\n 'id': 20240678\n },\n { 'follow': false,\n 'name': 'LNER',\n 'id': 313306238\n },\n { 'follow': false,\n 'name': 'LNRailway',\n 'id': 910487328627535872\n },\n { 'follow': false,\n 'name': 'northernassist',\n 'id': 194512268\n },\n { 'follow': false,\n 'name': 'ScotRail',\n 'id': 61569136\n },\n { 'follow': false,\n 'name': 'Stansted_Exp',\n 'id': 257511611\n },\n { 'follow': false,\n 'name': 'TfL',\n 'id': 47319664\n },\n { 'follow': false, 'name':'WestMidRailway', 'id':915554470175657984 },\n { 'follow': false,\n 'name': 'NetworkRailBHM',\n 'id': 583910976\n },\n { 'follow': false,\n 'name': 'NetworkRailEDB',\n 'id': 586614081\n },\n { 'follow': false,\n 'name': 'NetworkRailEUS',\n 'id': 581807264\n },\n { 'follow': false,\n 'name': 'NetworkRailGLC',\n 'id': 421061171\n },\n { 'follow': false,\n 'name': 'NetworkRailKGX',\n 'id': 459192871\n },\n { 'follow': false,\n 'name': 'NetworkRailLST',\n 'id': 581826097\n },\n { 'follow': false,\n 'name': 'NetworkRailMAN',\n 'id': 583895871\n },\n { 'follow': false,\n 'name': 'NetworkRailVIC',\n 'id': 587354752\n },\n { 'follow': false,\n 'name': 'BTP',\n 'id': 266094415\n },\n { 'follow': false,\n 'name': 'BTPAvonSomerset',\n 'id': 738664125132345344\n },\n { 'follow': false,\n 'name': 'BTPBhm',\n 'id': 952003488\n },\n { 'follow': false,\n 'name': 'BTPBlackCountry',\n 'id': 767698362866999297\n },\n { 'follow': false,\n 'name': 'BTPCambs',\n 'id': 2574726074\n },\n { 'follow': false,\n 'name': 'BTPCardiff_NWP',\n 'id': 951714852\n },\n { 'follow': false,\n 'name': 'BTPEAnglia',\n 'id': 4479942923\n },\n { 'follow': false,\n 'name': 'BTPEssex',\n 'id': 2949032015\n },\n { 'follow': false,\n 'name': 'BTPGtrMcr',\n 'id': 1670204977\n },\n { 'follow': false,\n 'name': 'BTPLeics',\n 'id': 761147194598711296\n },\n { 'follow': false,\n 'name': 'BTPLiverpoolSt',\n 'id': 951912242\n },\n { 'follow': false,\n 'name': 'BTPLondon',\n 'id': 957226980\n },\n { 'follow': false,\n 'name': 'BTPLondonBridge',\n 'id': 3346645594\n },\n { 'follow': false,\n 'name': 'BTPMersey',\n 'id': 951748434\n },\n { 'follow': false,\n 'name': 'BTPNorthScot',\n 'id': 2238888007\n },\n { 'follow': false,\n 'name': 'BTPNorthWales',\n 'id': 951487338\n },\n { 'follow': false,\n 'name': 'BTPOxon',\n 'id': 741228701791178753\n },\n { 'follow': false,\n 'name': 'BTPPontypridd',\n 'id': 1672678292\n },\n { 'follow': false,\n 'name': 'BTPScotland',\n 'id': 957256160\n },\n { 'follow': false,\n 'name': 'BTPSouthYorks',\n 'id': 3384315676\n },\n { 'follow': false,\n 'name': 'BTPTeesValley',\n 'id': 802182849872936962\n },\n { 'follow': false,\n 'name': 'BTPUnderground',\n 'id': 986236195049897985\n },\n { 'follow': false,\n 'name': 'BTPWales',\n 'id': 1430734374\n },\n { 'follow': false,\n 'name': 'BTPWaterloo',\n 'id': 951997044\n },\n { 'follow': false,\n 'name': 'BTPWestScot',\n 'id': 951757261\n }\n];\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 28/04/2020\n * Time: 11:28\n\n */\nimport axios from 'redaxios';\n\nimport { writable, get } from 'svelte/store';\nimport localforage from 'localforage';\nconst baseUrl = (ENV === 'production') ? (`${location.protocol }//${ location.hostname}`) : 'http://localhost:8100';\n\nimport Websocket from '../libs/websocket';\n\nimport twitterAccountsJson from '../libs/twitter';\n\nlet started = false;\n\nconst twitterAccounts = {};\n \nconst OLDtwitterAccounts = {\n 'nationalrailenq': {\n 'id': 33546465,\n 'follow': false\n },\n 'networkrail': {\n 'id': 365344176,\n 'follow': false\n },\n 'NetworkRailSCOT': {\n 'id': 402687948,\n 'follow': false\n },\n 'AvantiWestCoast': {\n 'id': 1143560758476906497,\n 'follow': false\n },\n 'CalSleeper': {\n 'id': 2870293725,\n 'follow': false\n },\n 'CrossCountryUK': {\n 'id': 153368708,\n 'follow': false\n },\n 'Eurostar': {\n 'id': 98412169,\n 'follow': false\n },\n 'EurostarUK': {\n 'id': 59742254,\n 'follow': false\n },\n 'GatwickExpress': {\n 'id': 163816182,\n 'follow': false\n },\n 'GlasgowSubway': {\n 'id': 224607925,\n 'follow': false\n },\n 'GWRHelp': {\n 'id': 15589815,\n 'follow': false\n },\n 'HeathrowExpress': {\n 'id': 20240678,\n 'follow': false\n },\n 'LNER': {\n 'id': 313306238,\n 'follow': false\n },\n 'LNRailway': {\n 'id': 910487328627535872,\n 'follow': false\n },\n 'northernassist': {\n 'id': 194512268,\n 'follow': false\n },\n 'ScotRail': {\n 'id': 61569136,\n 'follow': false\n },\n 'Stansted_Exp': {\n 'id': 257511611,\n 'follow': false\n },\n 'TfL': {\n 'id': 47319664,\n 'follow': false\n },\n 'NetworkRailBHM': {\n 'id': 583910976,\n 'follow': false\n },\n 'NetworkRailEDB': {\n 'id': 586614081,\n 'follow': false\n },\n 'NetworkRailEUS': {\n 'id': 581807264,\n 'follow': false\n },\n 'NetworkRailGLC': {\n 'id': 421061171,\n 'follow': false\n },\n 'NetworkRailKGX': {\n 'id': 459192871,\n 'follow': false\n },\n 'NetworkRailLST': {\n 'id': 581826097,\n 'follow': false\n },\n 'NetworkRailMAN': {\n 'id': 583895871,\n 'follow': false\n },\n 'NetworkRailVIC': {\n 'id': 587354752,\n 'follow': false\n },\n 'BTPScotland': {\n 'id': 957256160,\n 'follow': false\n }\n};\n\nconst state = {\n 'twitterFollowing': writable({}),\n 'twitterFollowingList' : writable([]),\n 'tweetList' : writable([]),\n 'tweets' : writable([]),\n 'favourites' : writable([]),\n 'routes' : writable([]),\n 'routeIndex' : writable(0),\n incrementRouteIndex() {\n this.routeIndex.update(v => v + 1);\n },\n async saveRoute(newRoute) {\n // console.log('Newroute', newRoute);\n const _newRoute = { ...newRoute };\n _newRoute.id = get(this.routeIndex);\n \n this.routes.update((v) => {\n // console.log('update', [...v, _newRoute]);\n \n return [...v, _newRoute];\n });\n this.incrementRouteIndex();\n },\n deleteRoute(id) {\n const pre = get(this.routes).slice(0, id);\n\n const post = get(this.routes).slice(id + 1);\n\n this.routes.set([...pre, ...post]);\n },\n async getTweets() {\n // console.log('>> getTweets');\n // console.log('>> state.twitterFollowingList', get(state.twitterFollowingList));\n const list = get(state.twitterFollowingList).map((item) => {\n return item[1].id; \n })/* .join(',')*/;\n // console.log('>> actual ids', list);\n // const routeUrl = `/twitter?t=${list}`;\n const routeUrl = '/twitter';\n const twitterUrl = baseUrl.concat(routeUrl);\n const postReq = {\n 'method':'post',\n 'url': twitterUrl,\n 'data' : {\n list\n }\n };\n // console.log(postReq);\n axios(postReq)\n .then((d) => {\n // console.log('>> retrieved', d);\n // const data = JSON.parse(d.data);\n const data = d.data;\n const list = data.map((item) => {\n return item.id;\n });\n\n const tMap = data.map((item) => {\n return [item.id, item];\n });\n\n this.tweetList.set(list);\n this.tweets.set(new Map(tMap));\n }).catch((err) => {\n console.error('Store:getTweets', err);\n });\n },\n getTweetByID(id) {\n return get(this.tweets).get(id);\n },\n getTwitterFollowing() {\n return get(this.twitterFollowing);\n },\n saveTwitterFollowing(newVals) {\n this.twitterFollowing.set(newVals);\n },\n \n getBaseUrl() {\n return baseUrl;\n },\n updateTweetList(id) {\n this.tweetList.update(list => {\n return [id, ...list];\n });\n },\n updateTwitter(item) {\n this.tweets.update(orig => {\n return orig.set(item.id, item);\n });\n },\n trigger(msg, item) {\n console.log('trigger', item);\n\n if (item.hasOwnProperty('message') ) {\n const payload = item.message;\n\n console.log(payload);\n\n this.updateTwitter(payload);\n this.updateTweetList(payload.id);\n }\n }\n \n};\n\nconst webSocket = new Websocket(state);\n\nlocalforage.getItem('twitterFollowing').then((value) => {\n console.log('localForage::twitterFollowing', value);\n\n if (value !== null) state.twitterFollowing.set(value);\n else {\n // load twitterAccounts\n\n twitterAccountsJson.forEach((item) => {\n twitterAccounts[item.name] = { 'id': item.id, 'follow':false };\n });\n\n state.twitterFollowing.set(twitterAccounts);\n localforage.setItem('twitterFollowing', twitterAccounts).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n }\n\n // console.log('twitterFollowing', get(state.twitterFollowing));\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('favourites').then((value) => {\n if (value !== null) state.favourites.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routes').then((value) => {\n if (value !== null) state.routes.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routeIndex').then((value) => {\n if (value !== null) state.routeIndex.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nstate.favourites.subscribe((v) => {\n console.log('>> Store.state.favourites', v);\n});\n\nstate.routes.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routes', v);\n localforage.setItem('routes', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.routeIndex.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routeIndex', v);\n localforage.setItem('routeIndex', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.twitterFollowing.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.twitterFollowing', v);\n localforage.setItem('twitterFollowing', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n\n const list = Object.entries(get(state.twitterFollowing)).filter((item) => {\n if (item[1].follow) return item;\n });\n\n state.twitterFollowingList.set(list);\n});\n\nstate.twitterFollowingList.subscribe((v) => {\n if (v.length === 0) return;\n console.log('twitterFollowingList', v.length, v);\n v.forEach((item) => {\n console.log(item);\n const id = item[1].id;\n webSocket.subscribe(`t-${id}`);\n });\n});\n\nstate.tweetList.subscribe((v) => {\n console.log('tweetList', v);\n});\n\nstate.tweets.subscribe((v) => {\n console.log('>>tweets', v);\n});\n\n// started = true;\nsetTimeout(() => {\n started = true;\n}, 250);\n\nexport { state };\n","\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n","\n\n
\n {#each _routes as item}\n \n\n {/each}\n\n\n\n\n
\n\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 20/04/2020\n * Time: 12:01\n\n */\n\nconst reducer = {\n reduceOtherDetails (data) {\n const nrMessages = [];\n // we have national rail messages so put a box at the top\n //
\n let index = 0;\n const anchorRegex = /<\\s*[aA].*?href\\s*=\\s*(?:\"|')(.*?)(?:\"|')[^>]*>(.*?)<\\s*?\\/\\s*?[aA]\\s*?>/;\n\n if (typeof data.nrccMessages === 'object' && data.nrccMessages !== null) \n for (const item of data.nrccMessages) {\n const newObj = { 'index': 0, 'msg': '', 'link': null, 'linkText': '' };\n\n let msg = item.value.replace(' \">', '\">').replace('
', '').replace('/gi, '');\n const anchor = anchorRegex.exec(item.value);\n msg = msg.replace(anchorRegex, '');\n\n newObj.index = index;\n newObj.msg = msg;\n if (anchor !== null) {\n newObj.link = anchor[1];\n newObj.linkText = anchor[2];\n }\n\n nrMessages.push(newObj);\n index++;\n }\n \n return { nrMessages, 'nrMessagesExist': nrMessages.length > 0 };\n },\n reduceTrainTimetable (data) {\n const services = [];\n let ws = '';\n const symbol = ['💠', '🚉'];\n if (typeof data === 'object' && data !== null) {\n console.log('>> reduceTrainService');\n // console.log(data);\n if (typeof data.trainServices === 'object' && data.trainServices !== null) \n for (const item of data.trainServices) {\n // console.log(item)\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : `${symbol[0]}`;\n // 🚉 💠\n // const time = item.sta !== null ? item.sta : `D ${item.std}`\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const isDeparture = item.sta === null;\n const status = item.eta !== null ? item.eta : item.etd;\n const trainLength = item.length;\n\n const carriageCount = (trainLength > 0) ? ` (${trainLength} 🚃) ` : '';\n\n const statusMode = (status.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n const delayReason = (item.delayReason !== null) ? item.delayReason : '';\n\n const cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n\n const serviceIdUrlSafe = item.serviceIdUrlSafe;\n\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': cancelReason, 'type': 'train', 'delay': delayReason, 'carriageCount': carriageCount, 'via': via, 'statusMode': statusMode, 'isCancelled': item.isCancelled, 'isDeparture': isDeparture, 'serviceIdUrlSafe': serviceIdUrlSafe });\n if (!item.isCancelled)\n ws = `${ws}${dest.locationName}${carriageCount}${via}\n ${time}\n ${status}\n ${platform}\n ${delayReason}`;\n else\n ws = `${ws}${dest.locationName} ${via}${time}\n ❌ ${cancelReason}`;\n } \n\n if (typeof data.busServices === 'object' && data.busServices !== null) \n for (const item of data.busServices) {\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : '';\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const status = item.eta !== null ? item.eta : item.etd;\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': item.cancelReason, 'type': 'bus', 'via': via });\n }\n }\n console.log(services);\n \n return services;\n },\n reduceTrainService (d) {\n let callingpoints = [];\n\n const departureTime = d.sta || d.std;\n const departureStatus = d.eta || d.etd;\n\n const currentLocation = { 'locationName': d.locationName, 'crs': d.crs, 'st': d.sta, 'et': d.eta, 'at': d.ata, 'isCancelled': d.isCancelled, 'length': d.length, 'detachFront': d.detachFront, 'adhocAlerts': d.adhocAlerts };\n\n if (d.previousCallingPoints !== null) \n callingpoints = callingpoints.concat(d.previousCallingPoints[0].callingPoint);\n\n callingpoints.push(currentLocation);\n\n if (d.subsequentCallingPoints !== null) \n callingpoints = callingpoints.concat(d.subsequentCallingPoints[0].callingPoint);\n\n callingpoints = callingpoints.map((item) => {\n // console.log(item)\n item.et = (item.et === null) ? '' : item.et;\n item.at = (item.at === null) ? '' : item.at;\n\n item.etMode = (item.et.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.atMode = (item.at.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.delayReason = (item.delayReason !== null) ? item.delayReason : '';\n item.cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n item.classCancel = (item.isCancelled) ? 'cancelledRow' : '';\n\n if (item.st === null && (item.et === null || item.et === '')) {\n item.st = `D ${departureTime}`;\n item.et = departureStatus;\n }\n\n return item;\n });\n \n return callingpoints;\n }\n};\n\nmodule.exports = reducer;\n","\n\n\n\n
\n
\n
Station
\n
Due
\n
Estimated
\n
Arrived
\n
\n {#if list.length > 0}\n {#each list as item}\n
\n
{item.locationName}
\n
{item.st}
\n
{item.et}
\n
{item.at}
\n
\n {/each}\n {/if}\n
\n","\n\n\n\n
\n \n
\n\n","\n\n\n\n
\n
\n {#if otherDetails.nrMessagesExist === true}\n \n {/if}\n\n {#if list.length > 0}\n\n {#each list as item, i (item.serviceIdUrlSafe)}\n
\n
\n {item.location}\n {item.carriageCount}\n
\n {#if item.via}\n \n {item.via}\n {/if}\n
\n
\n
{item.time}
\n\n {#if item.isCancelled}\n
{item.cancel}
\n {:else}\n
{item.status}
\n
{item.platform}
\n {/if}\n
\n {/each}\n\n\n {/if}\n\n
\n\n
\n\n","\n\n\n\n
\n
\n
{fromStationName} TO {destStationName}
\n \n\n \n
\n\n
\n\n","\n\n\n\n\n \n \n {#if searchResults.length > 0}\n \n {/if}\n\n","\n\n\n\n{#if editorVisible}\n
\n
\n
New Route
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n\n \n \n
\n\n\n
\n
\n{:else}\n
\n \n\n
\n\n{/if}\n","export function longpress(node, duration) {\n let timer;\n\n const handleMousedown = () => {\n console.log('>> handleMousedown');\n timer = setTimeout(() => {\n node.dispatchEvent(\n new CustomEvent('longpress')\n );\n }, duration);\n };\n\n const handleMouseup = () => {\n clearTimeout(timer);\n };\n\n node.addEventListener('mousedown', handleMousedown);\n node.addEventListener('mouseup', handleMouseup);\n\n return {\n update(newDuration) {\n duration = newDuration;\n },\n destroy() {\n node.removeEventListener('mousedown', handleMousedown);\n node.removeEventListener('mouseup', handleMouseup);\n }\n };\n}\n","\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n","\n\n\n\n{#each _routes as item, i (item.id)}\n \n\n{/each}\n","\n\n\n\n
\n
Twitter
\n {#if mounted}\n\n
\n {#each tweeters as item }\n
\n \n
\n\n {/each}\n
\n {/if}\n\n
\n","\n\n\n\n{#if tweet}\n
\n\n
\n
\n \"@{tweet.user.screen_name}\"/\n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n\n
\n{/if}\n","\n\n\n\n
\n
Twitter
\n {#each _tweets as item, i (item)}\n \n {/each}\n\n
\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 19/04/2020\n * Time: 21:19\n\n */\n// import { wrap } from 'svelte-spa-router';\n\nimport Home from './pages/Home.svelte';\nimport Service from './pages/Service.svelte';\nimport Timetable from './pages/Timetable.svelte';\nimport Settings from './pages/Settings.svelte';\nimport Favourites from './pages/Favourites.svelte';\nimport Twitter from './pages/Twitter.svelte';\nimport NotFound from './pages/NotFound.svelte';\n\nconst routes = new Map();\nroutes.set('/', Home);\nroutes.set('/timetable/:fromStation/:destStation', Timetable);\nroutes.set('/service/:serviceId', Service);\nroutes.set('/settings', Settings);\nroutes.set('/favourites', Favourites);\nroutes.set('/tweets', Twitter);\nroutes.set('*', NotFound);\n\nexport default routes;\n","\n\n\n\n
\n\n
\n {#if currentMode === 1}\n \n \n \n {/if}\n\n\n {titleText}\n
\n\n\n
\n \n \n {#if showFav}\n Favourites\n {/if}\n
\n\n\n
\n","\n\n\n\n\n\n\n
\n\n","import App from './App.svelte';\n\nimport { state } from './store/store';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n\t\t\n }\n});\n\nif ('serviceWorker' in navigator) {\n //\n navigator.serviceWorker.ready.then(function(reg) {\n console.warn('Ready??', reg);\n // main();\n });\n\n window.addEventListener('load', function() {\n navigator.serviceWorker\n .register('./service-worker.js')\n .then((r) => {\n console.warn('Service Worker Registered', r.scope);\n })\n .catch((error) => {\n // registration failed\n console.error(`Registration failed with ${ error}`);\n });\n });\n\n //\n}\n\nexport default app;\n"],"names":["location","active","linear","require","global","get","Websocket","twitterAccountsJson","LocalStorage","findStation","minuteFloor","reducer","debounce","searchStation","Twitter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../node_modules/svelte-spa-router/active.js","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/libs/stations.js","../../src/libs/utils.js","../../node_modules/redaxios/dist/redaxios.module.js","../../node_modules/localforage/dist/localforage.js","../../src/libs/websocket.js","../../src/libs/twitter.js","../../src/store/store.js","../../src/components/TrainRoute.svelte","../../src/pages/Home.svelte","../../src/libs/reducer.js","../../src/components/TrainService.svelte","../../src/pages/Service.svelte","../../src/components/TimetableList.svelte","../../src/pages/Timetable.svelte","../../src/components/SettingsInput.svelte","../../src/components/SettingsEditor.svelte","../../src/libs/longpress.js","../../src/components/SettingsListItem.svelte","../../src/components/SettingsList.svelte","../../src/components/TwitterSettings.svelte","../../src/components/Twitter.svelte","../../src/pages/Twitter.svelte","../../src/routes.js","../../src/components/Header.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', `display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ` +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = `data:text/html,`;\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.24.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","import regexparam from 'regexparam'\nimport {loc} from './Router.svelte'\n\n// List of nodes to update\nconst nodes = []\n\n// Current location\nlet location\n\n// Function that updates all nodes marking the active ones\nfunction checkActive(el) {\n // Repeat this for each class\n (el.className || '').split(' ').forEach((cls) => {\n if (!cls) {\n return\n }\n // Remove the active class firsts\n el.node.classList.remove(cls)\n\n // If the pattern matches, then set the active class\n if (el.pattern.test(location)) {\n el.node.classList.add(cls)\n }\n })\n}\n\n// Listen to changes in the location\nloc.subscribe((value) => {\n // Update the location\n location = value.location + (value.querystring ? '?' + value.querystring : '')\n\n // Update all nodes\n nodes.map(checkActive)\n})\n\n/**\n * @typedef {Object} ActiveOptions\n * @property {string|RegExp} [path] - Path expression that makes the link active when matched (must start with '/' or '*'); default is the link's href\n * @property {string} [className] - CSS class to apply to the element when active; default value is \"active\"\n */\n\n/**\n * Svelte Action for automatically adding the \"active\" class to elements (links, or any other DOM element) when the current location matches a certain path.\n * \n * @param {HTMLElement} node - The target node (automatically set by Svelte)\n * @param {ActiveOptions|string|RegExp} [opts] - Can be an object of type ActiveOptions, or a string (or regular expressions) representing ActiveOptions.path.\n */\nexport default function active(node, opts) {\n // Check options\n if (opts && (typeof opts == 'string' || (typeof opts == 'object' && opts instanceof RegExp))) {\n // Interpret strings and regular expressions as opts.path\n opts = {\n path: opts\n }\n }\n else {\n // Ensure opts is a dictionary\n opts = opts || {}\n }\n\n // Path defaults to link target\n if (!opts.path && node.hasAttribute('href')) {\n opts.path = node.getAttribute('href')\n if (opts.path && opts.path.length > 1 && opts.path.charAt(0) == '#') {\n opts.path = opts.path.substring(1)\n }\n }\n\n // Default class name\n if (!opts.className) {\n opts.className = 'active'\n }\n\n // If path is a string, it must start with '/' or '*'\n if (!opts.path || \n typeof opts.path == 'string' && (opts.path.length < 1 || (opts.path.charAt(0) != '/' && opts.path.charAt(0) != '*'))\n ) {\n throw Error('Invalid value for \"path\" argument')\n }\n\n // If path is not a regular expression already, make it\n const {pattern} = typeof opts.path == 'string' ?\n regexparam(opts.path) :\n {pattern: opts.path}\n\n // Add the node to the list\n const el = {\n node,\n className: opts.className,\n pattern\n }\n nodes.push(el)\n\n // Trigger the action right away\n checkActive(el)\n\n return {\n // When the element is destroyed, remove it from the list\n destroy() {\n nodes.splice(nodes.indexOf(el), 1)\n }\n }\n}\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","const sMap = new Map([['ZNJ', 'Northampton North Junction'], ['ZPS', 'Plaistow L.T.'], ['MSC', 'Marseille St Charles'], ['ZAE', 'Aldgate East'], ['ZEP', 'East Putney'], ['GBG', 'Gorebridge'], ['ZHR', 'Holloway Road'], ['ZPN', 'Paddington (Bakerloo Line)'], ['NMC', 'New Mills Central'], ['HBB', 'Hubberts Bridge'], ['ADC', 'Adlington (Cheshire)'], ['WHI', 'Whitstable'], ['FEG', 'Fellgate (T & W Metro)'], ['HRH', 'Horsham'], ['LNW', 'Llanwrtyd'], ['RYP', 'Ryde Pier Head'], ['PRU', 'Prudhoe'], ['TLH', 'Tilehurst'], ['SBM', 'South Bermondsey'], ['TAM', 'Tamworth'], ['CFD', 'Castleford'], ['NMN', 'New Mills Newtown'], ['HFS', 'Hatfield & Stainforth'], ['WFN', 'Watford North'], ['GWN', 'Gowerton'], ['WMW', 'Walthamstow Queens Road'], ['INP', 'Inverkip'], ['WRW', 'Warwick'], ['WHG', 'Westhoughton'], ['WIM', 'Wimbledon'], ['CLM', 'Collingham'], ['DRF', 'Driffield'], ['NWT', 'Newtown (Powys)'], ['SOE', 'Southend East'], ['PNF', 'Penyffordd'], ['WYE', 'Wye'], ['BAR', 'Bare Lane'], ['YRM', 'Yarm'], ['NTH', 'Neath'], ['ERH', 'Erith'], ['CFO', 'Chalfont & Latimer'], ['FGW', 'Fishguard & Goodwick'], ['BAY', 'Bayford'], ['BER', 'Bearley'], ['SIT', 'Sittingbourne'], ['WHL', 'White Hart Lane'], ['DRN', 'Duirinish'], ['SWK', 'Southwick'], ['MTM', 'Martin Mill'], ['NWR', 'Newtonmore'], ['ADW', 'Addiewell'], ['ALV', 'Alvechurch'], ['SQE', 'Surrey Quays'], ['HIG', 'Highbridge & Burnham'], ['RMC', 'Rotherham Central'], ['NTN', 'Newton'], ['CBN', 'Camborne'], ['RIA', 'Rhoose Cardiff Intl Airport'], ['BXW', 'Boxhill & Westhumble'], ['TNN', 'Thorne North'], ['FTN', 'Fratton'], ['RUA', 'Ruabon'], ['LAY', 'Layton'], ['LLV', 'Llandovery'], ['MAS', 'Manors'], ['CLG', 'Claygate'], ['CTT', 'Church Stretton'], ['GGV', 'Gargrave'], ['TNS', 'Thorne South'], ['CRE', 'Crewe'], ['WXC', 'Wrexham Central'], ['CAD', 'Cadoxton'], ['HYB', 'Honeybourne'], ['WGT', 'Wigton'], ['WRX', 'Wrexham General'], ['RHO', 'Rhosneigr'], ['KWL', 'Kidwelly'], ['RYD', 'Ryde Esplanade'], ['PTL', 'Priesthill & Darnley'], ['NWN', 'Newton for Hyde'], ['SBP', 'Stonebridge Park'], ['PEV', 'Pevensey & Westham'], ['ACL', 'Acle'], ['GDH', 'Gordon Hill'], ['LSY', 'Lower Sydenham'], ['SEB', 'Seaburn (T & W Metro)'], ['AYW', 'Aberystwyth'], ['LNZ', 'Lenzie'], ['MDS', 'Morden South'], ['ADD', 'Adderley Park'], ['EFL', 'East Farleigh'], ['SPU', 'Staplehurst'], ['UHL', 'Upper Holloway'], ['WLP', 'Welshpool'], ['CAS', 'Castleton'], ['HAM', 'Hamworthy'], ['BGN', 'Bridgend'], ['BRN', 'Bearsden'], ['APG', 'Aspley Guise'], ['DEW', 'Dewsbury'], ['BPS', 'Blackpool South'], ['KSL', 'Kearsley'], ['PYJ', 'Paisley St James'], ['NBA', 'New Barnet'], ['WHR', 'West Horndon'], ['HLD', 'Hellifield'], ['RDR', 'Radyr'], ['VAL', 'Valley'], ['BSD', 'Bearsted'], ['FIT', 'Filton Abbey Wood'], ['NAY', 'Newton Aycliffe'], ['BWK', 'Berwick-upon-Tweed'], ['BIF', 'Barrow-in-Furness'], ['DMY', 'Drumry'], ['CKH', 'Corkerhill'], ['LBK', 'Long Buckby'], ['BEA', 'Bridge of Allan'], ['PEB', 'Pevensey Bay'], ['CRL', 'Chorley'], ['ECS', 'Eccles Road'], ['FSG', 'Fishersgate'], ['YSR', 'Ystrad Rhondda'], ['UNV', 'University (T & W Metro)'], ['WCL', 'West Calder'], ['GNW', 'Greenwich'], ['SAB', 'Smallbrook Junction'], ['BDA', 'Brundall'], ['LNG', 'Longcross'], ['PSW', 'Polesworth'], ['SPP', 'Shippea Hill'], ['FIL', 'Filey'], ['HRR', 'Harrington'], ['MGM', 'Metheringham'], ['RAV', 'Ravenglass for Eskdale'], ['OLT', 'Olton'], ['CRD', 'Chester Road'], ['SAH', 'Salhouse'], ['GIL', 'Gillingham (Dorset)'], ['GNT', 'Gunton'], ['FEN', 'Fenny Stratford'], ['CBB', 'Carbis Bay'], ['BLW', 'Bulwell'], ['FMR', 'Falmer'], ['WNY', 'White Notley'], ['SFD', 'Salford Central'], ['BGI', 'Bargeddie'], ['WLY', 'Woodley'], ['BYC', 'Betws-y-Coed'], ['WYT', 'Wythall'], ['KID', 'Kidderminster'], ['SMO', 'South Merton'], ['ULC', 'Ulceby'], ['AWK', 'Adwick'], ['CRR', 'Corrour'], ['OVR', 'Overton'], ['RET', 'Retford'], ['STQ', 'Southampton Town Quay (Bus)'], ['BBS', 'Bordesley'], ['GOS', 'Grange-over-Sands'], ['MAY', 'Maybole'], ['YET', 'Yetminster'], ['LIH', 'Leigh (Kent)'], ['SMC', 'Sampford Courtenay'], ['SLO', 'Slough'], ['LHE', 'Loch Eil Outward Bound'], ['WBP', 'West Brompton'], ['NBT', 'Norbiton'], ['KVP', 'Kiveton Park'], ['PNL', 'Pannal'], ['MEO', 'Meols'], ['SRG', 'Seer Green'], ['CTO', 'Carlton'], ['GLY', 'Glynde'], ['MSW', 'Mansfield Woodhouse'], ['IBM', 'IBM'], ['BRL', 'Barrhill'], ['TRD', 'Troed-y-rhiw'], ['MEC', 'Meols Cop'], ['POL', 'Polsloe Bridge'], ['TPN', 'Ton Pentre'], ['BCK', 'Buckley'], ['CHC', 'Charing Cross (Glasgow)'], ['SRA', 'Stratford (London)'], ['WWO', 'West Worthing'], ['RSH', 'Rose Hill Marple'], ['SMT', 'St Margarets (Hertfordshire)'], ['WIH', 'Winchmore Hill'], ['CRS', 'Carstairs'], ['KGX', 'London Kings Cross'], ['LHS', 'Limehouse'], ['THB', 'Thornliebank'], ['DRT', 'Darton'], ['LLD', 'Llandudno'], ['NRN', 'Nairn'], ['KGE', 'Kingsknowe'], ['TNA', 'Thornton Abbey'], ['LRD', 'London Road (Guildford)'], ['BAL', 'Balham'], ['FRH', 'Calais Frethun'], ['WAC', 'Warrington Central'], ['GMV', 'Great Malvern'], ['MNC', 'Markinch'], ['WRT', 'Worstead'], ['EBB', 'Ebbw Vale Town'], ['MEL', 'Meldreth'], ['BYB', 'Blythe Bridge'], ['LOT', 'Lostock'], ['CNM', 'Cheltenham Spa'], ['FZH', 'Frizinghall'], ['LLJ', 'Llandudno Junction'], ['UPM', 'Upminster'], ['DBC', 'Dumbarton Central'], ['STT', 'Stewarton'], ['DBE', 'Dumbarton East'], ['TYS', 'Tyseley'], ['DNS', 'Dinas Powys'], ['DEE', 'Dundee'], ['LDY', 'Ladybank'], ['PBY', 'Pembrey & Burry Port'], ['GMD', 'Grimsby Docks'], ['KEI', 'Keighley'], ['BIP', 'Bishopstone'], ['SFO', 'Stanford-le-Hope'], ['BYF', 'Broughty Ferry'], ['MYH', 'Maryhill'], ['DRM', 'Drem'], ['NBE', 'Newbridge'], ['WSF', 'Winsford'], ['THD', 'Thames Ditton'], ['HMM', 'Hammerton'], ['HOR', 'Horley'], ['BLY', 'Bletchley'], ['ARU', 'Arundel'], ['FNB', 'Farnborough (Main)'], ['CGW', 'Caergwrle'], ['MAO', 'Martins Heron'], ['OXT', 'Oxted'], ['PAT', 'Patricroft'], ['GMB', 'Grimsby Town'], ['TUR', 'Turkey Street'], ['TAF', 'Taffs Well'], ['LTN', 'Luton Airport Parkway'], ['CHM', 'Chelmsford'], ['FLW', 'Fulwell'], ['HTW', 'Hartwood'], ['PNZ', 'Penzance'], ['WDE', 'Wood End'], ['GCW', 'Glan Conwy'], ['HOV', 'Hove'], ['TRH', 'Trehafod'], ['WTE', 'Whitlocks End'], ['DLJ', 'Dalston Junction'], ['VIR', 'Virginia Water'], ['ASP', 'Aspatria'], ['LPT', 'Longport'], ['LWS', 'Lewes'], ['EWD', 'Earlswood (West Midlands)'], ['WAN', 'Wanborough'], ['BTO', 'Betchworth'], ['FLN', 'Flint'], ['BUK', 'Bucknell'], ['LLM', 'Llangammarch'], ['CNG', 'Congleton'], ['WMN', 'Warminster'], ['MTL', 'Mortlake'], ['BWT', 'Bridgwater'], ['BRT', 'Barlaston'], ['MNP', 'Manor Park'], ['ESL', 'Eastleigh'], ['SHO', 'Sholing'], ['EGT', 'Egton'], ['HDH', 'Hampstead Heath'], ['WCP', 'Worcester Park'], ['ISP', 'Islip'], ['TPB', 'Thorpe Bay'], ['CRH', 'Crouch Hill'], ['TBW', 'Tunbridge Wells'], ['GLE', 'Gleneagles'], ['KSW', 'Kirkby Stephen'], ['ALW', 'Allens West'], ['DMG', 'Dinas Rhondda'], ['BSR', 'Broadstairs'], ['WEM', 'Wem'], ['CSN', 'Chessington North'], ['HRD', 'Harling Road'], ['AUI', 'Ardlui'], ['ERI', 'Eridge'], ['APD', 'Appledore (Kent)'], ['DHN', 'Deighton'], ['GLG', 'Glengarnock'], ['MLH', 'Mill Hill (Lancashire)'], ['WRP', 'Warwick Parkway'], ['GOF', 'Golf Street'], ['CHY', 'Chertsey'], ['WOK', 'Woking'], ['LLE', 'Llanelli'], ['MYB', 'London Marylebone'], ['WIL', 'Willington'], ['WIJ', 'Willesden Junction'], ['BME', 'Broome'], ['CAM', 'Camberley'], ['SRT', 'Shortlands'], ['SOP', 'Southport'], ['TYB', 'Tan-y-Bwlch (Bus)'], ['ENC', 'Enfield Chase'], ['RYP', 'Ryde Pier Head'], ['BEB', 'Bebington'], ['LGW', 'Langwathby'], ['WSE', 'Winchelsea'], ['BFR', 'London Blackfriars'], ['SCT', 'Scotscalder'], ['RUG', 'Rugby'], ['SRS', 'Selhurst'], ['MLF', 'Milford (Surrey)'], ['PNA', 'Penally'], ['STU', 'Sturry'], ['TWB', 'Tweedbank'], ['YSM', 'Ystrad Mynach'], ['JEQ', 'Jewellery Quarter'], ['PTW', 'Prestwick Town'], ['EBK', 'Eastbrook'], ['PER', 'Penrhiwceiber'], ['CWM', 'Cwmbran'], ['ING', 'Invergowrie'], ['RBS', 'British Steel Redcar'], ['HLG', 'Hall Green'], ['LSN', 'Livingston North'], ['RML', 'Romiley'], ['BUU', 'Burnham-on-Crouch'], ['ZBC', 'Barons Court Underground'], ['CPN', 'Chapleton'], ['ROG', 'Rogart'], ['LVG', 'Livingston South'], ['HTC', 'Heaton Chapel'], ['KGN', 'Kings Nympton'], ['LCC', 'Lochluichart'], ['DCG', 'Duncraig'], ['TOD', 'Todmorden'], ['WEA', 'West Ealing'], ['SOK', 'South Kenton'], ['SLA', 'Slateford'], ['HLC', 'Helensburgh Central'], ['LGJ', 'Loughborough Junction'], ['HED', 'Halewood'], ['ATH', 'Atherstone'], ['EYN', 'Eynsford'], ['SOT', 'Stoke-on-Trent'], ['CAC', 'Caldercruix'], ['SRC', 'Streatham Common'], ['MSO', 'Moston'], ['BEU', 'Beaulieu Road'], ['ZBK', 'Barking Underground'], ['BNR', 'Brockley Whins (T & W Metro)'], ['LOH', 'Lostock Hall'], ['MIL', 'Mill Hill Broadway'], ['OHL', 'Old Hill'], ['BDW', 'Bedwyn'], ['PMA', 'Portsmouth Arms'], ['WHC', 'Walthamstow Central'], ['KDY', 'Kirkcaldy'], ['FAZ', 'Fazakerley'], ['GLC', 'Glasgow Central'], ['HLU', 'Helensburgh Upper'], ['LTG', 'Lostock Gralam'], ['DLK', 'Dalston Kingsland'], ['MTN', 'Moreton (Dorset)'], ['EBL', 'East Boldon (T & W Metro)'], ['CYN', 'Cynghordy'], ['CHT', 'Chathill'], ['HPT', 'Hopton Heath'], ['ALO', 'Alloa'], ['PMS', 'Portsmouth & Southsea'], ['CON', 'Connel Ferry'], ['WNC', 'Windsor & Eton Central'], ['BET', 'Bethnal Green'], ['SST', 'Stansted Mountfitchet'], ['ESH', 'Esher'], ['WSE', 'Winchelsea'], ['CSS', 'Chessington South'], ['CSL', 'Codsall'], ['CPA', 'Corpach'], ['HGF', 'Hag Fold'], ['SRD', 'Stapleton Road'], ['UPM', 'Upminster'], ['BSJ', 'Bedford St Johns'], ['RYB', 'Roy Bridge'], ['DMP', 'Dumpton Park'], ['LYT', 'Lymington Town'], ['WHE', 'Whalley'], ['HKC', 'Hackney Central'], ['HYC', 'Hyde Central'], ['PEW', 'Pewsey'], ['AHN', 'Ashton-under-Lyne'], ['PRW', 'Perranwell'], ['CKL', 'Corkickle'], ['DOD', 'Dodworth'], ['WTA', 'Wester Hailes'], ['PAW', 'Pelaw (T & W Metro)'], ['AYP', 'Albany Park'], ['NEW', 'Newcraighall'], ['ORE', 'Ore'], ['HAS', 'Halesworth'], ['KWG', 'Kew Gardens'], ['EXG', 'Exhibition Centre'], ['HIL', 'Hillside'], ['MPL', 'Marple'], ['SDA', 'Snodland'], ['BKA', 'Bookham'], ['BNT', 'Brinnington'], ['HKW', 'Hackney Wick'], ['ACR', 'Accrington'], ['QRP', 'Queens Road Peckham'], ['MDG', 'Midgham'], ['BAW', 'Blackwater'], ['MEX', 'Mexborough'], ['ADK', 'Ardwick'], ['DNY', 'Danby'], ['HIN', 'Hindley'], ['PYG', 'Paisley Gilmour Street'], ['PRA', 'Prestwick Intl Airport'], ['DDP', 'Dudley Port'], ['NMK', 'Newmarket'], ['KGL', 'Kings Langley'], ['MLN', 'Milngavie'], ['FML', 'Frimley'], ['NTR', 'Northallerton'], ['SDW', 'Sandwich'], ['BBW', 'Berry Brow'], ['DID', 'Didcot Parkway'], ['SOG', 'Stonegate'], ['HAI', 'Halling'], ['PWL', 'Pwllheli'], ['WCF', 'Westcliff'], ['HGG', 'Haggerston'], ['CMR', 'Cromer'], ['ALX', 'Alexandria'], ['COO', 'Cookham'], ['MRS', 'Monks Risborough'], ['YRT', 'Yorton'], ['BEN', 'Bentham'], ['GOB', 'Gobowen'], ['HAL', 'Hale'], ['CAY', 'Carntyne'], ['BUI', 'Burnside'], ['SEL', 'Sellafield'], ['WIM', 'Wimbledon'], ['YRD', 'Yardley Wood'], ['CHN', 'Cheshunt'], ['HFX', 'Halifax'], ['ELD', 'Earlswood (Surrey)'], ['TOK', 'Three Oaks'], ['PBN', 'Paris Nord'], ['TED', 'Teddington'], ['HKM', 'Hykeham'], ['GRS', 'Garscadden'], ['DSL', 'Disley'], ['HDE', 'Hedge End'], ['BNP', 'Barnstaple'], ['KNS', 'Kennishead'], ['LAK', 'Lakenheath'], ['TUH', 'Tulse Hill'], ['BSY', 'Brondesbury'], ['FOX', 'Foxfield'], ['SHR', 'Shrewsbury'], ['WMG', 'Welham Green'], ['HLF', 'Hillfoot'], ['PMR', 'Peckham Rye'], ['SGR', 'Slade Green'], ['FRE', 'Freshfield'], ['SDG', 'Sandling'], ['DMR', 'Dalmuir'], ['TRF', 'Trefforest'], ['LZB', 'Lazonby & Kirkoswald'], ['KCK', 'Knockholt'], ['LLW', 'Llwyngwril'], ['DCT', 'Danescourt'], ['HRM', 'Harrietsham'], ['WCM', 'Wickham Market'], ['FEA', 'Featherstone'], ['HNH', 'Herne Hill'], ['MCO', 'Manchester Oxford Road'], ['LER', 'Leytonstone High Road'], ['RAU', 'Rauceby'], ['HMW', 'Hampton Wick'], ['SJS', 'St James Street'], ['TEA', 'Tees-side Airport'], ['LNR', 'Llanwrda'], ['BEE', 'Beeston'], ['MTV', 'Mount Vernon'], ['BSV', 'Buckshaw Parkway'], ['DAL', 'Dalmally'], ['KTN', 'Kentish Town'], ['TRA', 'Trafford Park'], ['AMB', 'Ambergate'], ['GOX', 'Goxhill'], ['PLT', 'Pontlottyn'], ['ATT', 'Attadale'], ['POK', 'Pokesdown'], ['STI', 'Stadium of Light (T & W Metro)'], ['HOO', 'Hooton'], ['KGS', 'Kings Sutton'], ['KTW', 'Kentish Town West'], ['ZPC', 'Piccadilly Circus Underground'], ['UTT', 'Uttoxeter'], ['BLH', 'Bellshill'], ['BGA', 'Brundall Gardens'], ['PRT', 'Prestatyn'], ['CPT', 'Clapton'], ['LET', 'Letchworth Garden City'], ['PSN', 'Parson Street'], ['PNE', 'Penge East'], ['NFD', 'Northfield'], ['LTV', 'Lichfield Trent Valley'], ['CBG', 'Cambridge'], ['NPD', 'New Pudsey'], ['ETL', 'East Tilbury'], ['LTV', 'Lichfield Trent Valley'], ['SNI', 'Snaith'], ['AVN', 'Avonmouth'], ['TEN', 'Tenby'], ['PTG', 'Port Glasgow'], ['SPF', 'Springfield'], ['TBD', 'Three Bridges'], ['SLD', 'Salford Crescent'], ['GOE', 'Goldthorpe'], ['SMY', 'St Mary Cray'], ['DBY', 'Derby'], ['HXX', 'Heathrow Airport T123'], ['THO', 'Thornford'], ['PRE', 'Preston'], ['KWN', 'Kilwinning'], ['PRE', 'Preston'], ['HWH', 'Haltwhistle'], ['CNN', 'Canonbury'], ['BOH', 'Bosham'], ['OPK', 'Orrell Park'], ['BDB', 'Broadbottom'], ['LCK', 'Lockwood'], ['NFL', 'Northfleet'], ['TNP', 'Tonypandy'], ['FOC', 'Falls of Cruachan'], ['HYM', 'Haymarket'], ['HIT', 'Hitchin'], ['CLE', 'Cleethorpes'], ['PAL', 'Palmers Green'], ['ARD', 'Ardgay'], ['BUS', 'Busby'], ['LGE', 'Long Eaton'], ['TUL', 'Tulloch'], ['ABD', 'Aberdeen'], ['BRO', 'Bridge of Orchy'], ['GCT', 'Great Coates'], ['INE', 'Ince & Elton'], ['WTT', 'Witton'], ['TRS', 'Thurston'], ['FNC', 'Farncombe'], ['EBD', 'Ebbsfleet International'], ['DUR', 'Durrington-on-Sea'], ['CSA', 'Cosham'], ['PEG', 'Pegswood'], ['CEA', 'Cleland'], ['GCR', 'Gloucester'], ['TAC', 'Tackley'], ['MFH', 'Milford Haven'], ['PRY', 'Perry Barr'], ['RHL', 'Rhyl'], ['THW', 'The Hawthorns'], ['WTH', 'Whitehaven'], ['KNG', 'Kingston'], ['MIK', 'Micklefield'], ['LRG', 'Lairg'], ['EPS', 'Epsom'], ['WBQ', 'Warrington Bank Quay'], ['CUW', 'Clunderwen'], ['DTG', 'Dinting'], ['ACT', 'Ascot'], ['BID', 'Bidston'], ['BWG', 'Bowling'], ['BMP', 'Brampton (Cumbria)'], ['CLT', 'Clacton-on-Sea'], ['BCH', 'Birchington-on-Sea'], ['BEF', 'Benfleet'], ['HMS', 'Helmsdale'], ['KEY', 'Keyham'], ['MOS', 'Moss Side'], ['PTK', 'Partick'], ['SGN', 'South Greenford'], ['SOR', 'Sole Street'], ['DBD', 'Denby Dale'], ['BSP', 'Brondesbury Park'], ['SEE', 'Southease'], ['CNR', 'Crianlarich'], ['CRT', 'Chartham'], ['SUG', 'Sugar Loaf'], ['HGM', 'Higham'], ['WNG', 'Waun-gron Park'], ['DUM', 'Dumbreck'], ['PMR', 'Peckham Rye'], ['CRB', 'Corbridge'], ['NFA', 'North Fambridge'], ['AGV', 'Abergavenny'], ['HAG', 'Hagley'], ['CEL', 'Chelford'], ['HGD', 'Hungerford'], ['BWN', 'Bloxwich North'], ['KVD', 'Kelvindale'], ['RUS', 'Ruswarp'], ['CLV', 'Claverdon'], ['RNH', 'Rainhill'], ['EWW', 'Ewell West'], ['HHY', 'Highbury & Islington'], ['APP', 'Appleby'], ['HKN', 'Hucknall'], ['MSN', 'Marsden'], ['TPC', 'Thorpe Culvert'], ['EWE', 'Ewell East'], ['GTN', 'Grangetown'], ['LEO', 'Leominster'], ['DOL', 'Dolau'], ['CUH', 'Curriehill'], ['KBK', 'Kents Bank'], ['DPS', 'Dublin Port (Stena)'], ['PAI', 'Pallion (T & W Metro)'], ['MCB', 'Moulsecoomb'], ['NMT', 'Needham Market'], ['WFI', 'Westerfield'], ['SCG', 'Stone Crossing'], ['STR', 'Stranraer'], ['ZWA', 'Waterloo Underground'], ['PIL', 'Pilning'], ['SWD', 'Swinderby'], ['MSK', 'Marske'], ['TRN', 'Troon'], ['WID', 'Widnes'], ['KMS', 'Kemsing'], ['STZ', 'St Peters (T & W Metro)'], ['ANF', 'Ashurst New Forest'], ['WTN', 'Whitton'], ['ANL', 'Anniesland'], ['SCS', 'Starcross'], ['FRB', 'Fairbourne'], ['STK', 'Stockton'], ['BEV', 'Beverley'], ['KKM', 'Kirkham & Wesham'], ['PDW', 'Paddock Wood'], ['CAN', 'Carnoustie'], ['STC', 'Strathcarron'], ['CUF', 'Cuffley'], ['MTP', 'Montpelier'], ['SWM', 'Swanscombe'], ['CBE', 'Canterbury East'], ['DMF', 'Dumfries'], ['HNT', 'Huntly'], ['LLT', 'Llanbister Road'], ['WAT', 'London Waterloo'], ['MEW', 'Maesteg (Ewenny Road)'], ['SUT', 'Sutton Coldfield'], ['LDS', 'Leeds'], ['BNM', 'Burnham'], ['BEL', 'Beauly'], ['HXM', 'Hoveton & Wroxham'], ['HDL', 'Headstone Lane'], ['LEY', 'Leyland'], ['PRE', 'Preston'], ['SNY', 'Sunnymeads'], ['RNF', 'Rainford'], ['EGN', 'Eastrington'], ['KGH', 'Kinghorn'], ['MAT', 'Matlock'], ['NCK', 'New Cumnock'], ['NWP', 'Newport (South Wales)'], ['QPW', 'Queens Park (London)'], ['MSD', 'Moorside'], ['WLM', 'Williamwood'], ['DWD', 'Dolwyddelan'], ['WTL', 'Whitland'], ['MPK', 'Mosspark'], ['MAU', 'Mauldeth Road'], ['HEX', 'Hexham'], ['CLI', 'Clifton'], ['SYD', 'Sydenham'], ['LAD', 'Ladywell'], ['CTM', 'Chatham'], ['SWY', 'Sway'], ['TRU', 'Truro'], ['DLY', 'Dalry'], ['PRP', 'Preston Park'], ['BPB', 'Blackpool Pleasure Beach'], ['LHO', 'Langho'], ['SPS', 'Stepps'], ['TOP', 'Topsham'], ['BIA', 'Bishop Auckland'], ['HTH', 'Handforth'], ['MRT', 'Moreton (Merseyside)'], ['MCH', 'March'], ['TDU', 'Tondu'], ['BCS', 'Bicester North'], ['NMP', 'Northampton'], ['ALP', 'Althorpe'], ['BSE', 'Bury St Edmunds'], ['PTR', 'Petersfield'], ['BUC', 'Buckenham'], ['KLY', 'Kenley'], ['ELW', 'Eltham'], ['WHA', 'Westenhanger'], ['WWL', 'Whitwell'], ['EDW', 'East Dulwich'], ['NRD', 'North Road'], ['BTE', 'Bitterne'], ['IMW', 'Imperial Wharf'], ['ANN', 'Annan'], ['BDN', 'Brading'], ['CES', 'Cressing'], ['KBW', 'Knebworth'], ['DAR', 'Darlington'], ['HWD', 'Hawarden'], ['TAD', 'Tadworth'], ['BAG', 'Bagshot'], ['ZHS', 'Kensington High St Underground'], ['SMD', 'Stamford'], ['BUD', 'Burneside'], ['DOT', 'Dunston'], ['ELS', 'Elstree & Borehamwood'], ['CHF', 'Church Fenton'], ['HAZ', 'Hazel Grove'], ['KMH', 'Kempston Hardwick'], ['SOF', 'South Woodham Ferrers'], ['NRW', 'Norwich'], ['AHS', 'Ashurst'], ['FZW', 'Fitzwilliam'], ['MIN', 'Milliken Park'], ['RUN', 'Runcorn'], ['WSL', 'Walsall'], ['OKM', 'Oakham'], ['WAT', 'London Waterloo'], ['AYP', 'Albany Park'], ['MST', 'Maesteg'], ['KNU', 'Knucklas'], ['LEI', 'Leicester'], ['WAT', 'London Waterloo'], ['WCR', 'Whitecraigs'], ['MRP', 'Moorthorpe'], ['SNH', 'St Helens Central'], ['CAO', 'Cannock'], ['RAI', 'Rainham (Kent)'], ['RKT', 'Ruskington'], ['YOK', 'Yoker'], ['BDT', 'Bridlington'], ['LDN', 'Llandanwg'], ['SHJ', 'St Helens Junction'], ['CHH', 'Christs Hospital'], ['CMF', 'Cromford'], ['HYR', 'Haydons Road'], ['LGN', 'Longton'], ['BXH', 'Bexleyheath'], ['CPM', 'Chippenham'], ['DFR', 'Drumfrochar'], ['NCO', 'Newcourt'], ['WET', 'Weeton'], ['EMD', 'East Midlands Parkway'], ['POP', 'Poppleton'], ['AYH', 'Aylesham'], ['ZUM', 'Upminster Underground'], ['CHD', 'Chesterfield'], ['HEZ', 'Heworth (T & W Metro)'], ['PRB', 'Prestbury'], ['GTR', 'Goostrey'], ['ACK', 'Acklington'], ['KNL', 'Kensal Green'], ['SAN', 'Sandown'], ['THL', 'Tile Hill'], ['SIP', 'Shipton'], ['SFA', 'Stratford International'], ['UPW', 'Upwey'], ['GIP', 'Gipsy Hill'], ['RUT', 'Rutherglen'], ['SES', 'South Elmsall'], ['TGM', 'Teignmouth'], ['ADS', 'Ardrossan Harbour'], ['BCG', 'Birchgrove'], ['RFD', 'Rochford'], ['PES', 'Pensarn'], ['BAI', 'Blairhill'], ['TLB', 'Talybont'], ['SVG', 'Stevenage'], ['WPE', 'Wapping'], ['BDG', 'Bridgeton'], ['THH', 'Thatto Heath'], ['ATB', 'Attenborough'], ['MTH', 'Motherwell'], ['WKM', 'Wokingham'], ['GMT', 'Grosmont'], ['ARL', 'Arlesey'], ['BGD', 'Bargoed'], ['REE', 'Reedham (Norfolk)'], ['HPA', 'Honor Oak Park'], ['NUN', 'Nuneaton'], ['TRM', 'Trimley'], ['WTY', 'Witley'], ['SWO', 'Snowdown'], ['MDB', 'Maidstone Barracks'], ['ENL', 'Enfield Lock'], ['MIJ', 'Mitcham Junction'], ['MDE', 'Maidstone East'], ['GOD', 'Godalming'], ['HGR', 'Hither Green'], ['SPO', 'Spondon'], ['WNT', 'Wandsworth Town'], ['ECR', 'East Croydon'], ['CLS', 'Chester-le-Street'], ['QYD', 'Quakers Yard'], ['WBC', 'Waterbeach'], ['NES', 'Neston'], ['PCN', 'Paisley Canal'], ['WSA', 'West Allerton'], ['SFI', 'Shawfair'], ['SLH', 'Sleights'], ['HTN', 'Hatton'], ['KIV', 'Kiveton Bridge'], ['RIS', 'Rishton'], ['DMS', 'Dormans'], ['LCN', 'Lincoln Central'], ['AYP', 'Albany Park'], ['ERI', 'Eridge'], ['WLC', 'Waltham Cross'], ['MPT', 'Morpeth'], ['MDW', 'Maidstone West'], ['WEL', 'Wellingborough'], ['HRY', 'Harringay Green Lanes'], ['MOB', 'Mobberley'], ['SWL', 'Swale'], ['ECC', 'Eccles'], ['HEW', 'Heworth'], ['LLH', 'Llangennech'], ['BKO', 'Brookwood'], ['GSY', 'Guiseley'], ['SBY', 'Selby'], ['WSB', 'Westbury'], ['ETC', 'Etchingham'], ['BLT', 'Blantyre'], ['SSD', 'Stansted Airport'], ['DOR', 'Dore'], ['NVR', 'Navigation Road'], ['CFF', 'Croftfoot'], ['CKN', 'Crewkerne'], ['GLT', 'Glenrothes with Thornton'], ['WTG', 'Watlington'], ['BAN', 'Banbury'], ['HYS', 'Hayes (Kent)'], ['BHR', 'Builth Road'], ['KND', 'Kingswood'], ['KNN', 'Kings Norton'], ['WOL', 'Wolverton'], ['WTO', 'Water Orton'], ['ADR', 'Airdrie'], ['LLC', 'Llandecwyn'], ['PKS', 'Parkstone (Dorset)'], ['GOM', 'Gomshall'], ['TYL', 'Tyndrum Lower'], ['BOP', 'Bowes Park'], ['HRY', 'Harringay Green Lanes'], ['HER', 'Hersham'], ['WRH', 'Worthing'], ['BON', 'Bolton'], ['BOA', 'Bradford-on-Avon'], ['CFH', 'Chafford Hundred'], ['UTY', 'Upper Tyndrum'], ['NAR', 'Narberth'], ['BDL', 'Birkdale'], ['HMT', 'Ham Street'], ['MKM', 'Melksham'], ['AUW', 'Ascott-under-Wychwood'], ['EAL', 'Ealing Broadway'], ['EAL', 'Ealing Broadway'], ['WTB', 'Whitby'], ['CST', 'London Cannon Street'], ['DWN', 'Darwen'], ['BLE', 'Bramley (West Yorkshire)'], ['AAP', 'Alexandra Palace'], ['NUF', 'Nutfield'], ['STG', 'Stirling'], ['HON', 'Honiton'], ['BPW', 'Bristol Parkway'], ['KIT', 'Kintbury'], ['RAD', 'Radley'], ['MCE', 'Metro Centre'], ['SNT', 'Stanlow & Thornton'], ['BYD', 'Barry Docks'], ['DAM', 'Dalmeny'], ['FIN', 'Finstock'], ['BMT', 'Bedminster'], ['HSL', 'Haslemere'], ['CET', 'Colchester Town'], ['HDG', 'Heald Green'], ['PNR', 'Penrith'], ['MHM', 'Merstham'], ['HSC', 'Hoscar'], ['SNO', 'St Neots'], ['BGM', 'Bellingham'], ['NTL', 'Netley'], ['HYH', 'Hythe'], ['RDC', 'Redditch'], ['LTK', 'Little Kimble'], ['FOD', 'Ford'], ['CLJ', 'Clapham Junction'], ['HON', 'Honiton'], ['CLJ', 'Clapham Junction'], ['PNW', 'Penge West'], ['WFJ', 'Watford Junction'], ['HCH', 'Holmes Chapel'], ['LVN', 'Littlehaven'], ['BTL', 'Batley'], ['ZET', 'Earl\\'s Court Underground'], ['WDL', 'Woodhall'], ['BLX', 'Bloxwich'], ['HLS', 'Hilsea'], ['MKT', 'Marks Tey'], ['OKE', 'Okehampton'], ['HWY', 'High Wycombe'], ['SYT', 'Somerleyton'], ['MRY', 'Maryport'], ['SDY', 'Sandy'], ['CLJ', 'Clapham Junction'], ['CEF', 'Chapel-en-le-Frith'], ['LTP', 'Littleport'], ['KPT', 'Kilpatrick'], ['WDD', 'Widdrington'], ['WHM', 'Whimple'], ['CIT', 'Chislehurst'], ['PFR', 'Pontefract Baghill'], ['BKC', 'Birkenhead Central'], ['HOY', 'Honley'], ['INC', 'Ince'], ['CLJ', 'Clapham Junction'], ['GRC', 'Great Chesterford'], ['IPS', 'Ipswich'], ['WCB', 'Westcombe Park'], ['CLJ', 'Clapham Junction'], ['LYP', 'Lymington Pier'], ['CTF', 'Catford'], ['CTE', 'Chatelherault'], ['FWY', 'Five Ways'], ['NDL', 'North Dulwich'], ['BWO', 'Bricket Wood'], ['BKN', 'Birkenhead North'], ['SOW', 'Sowerby Bridge'], ['BTY', 'Bentley (Hampshire)'], ['KLD', 'Kildale'], ['NQY', 'Newquay'], ['SCA', 'Scarborough'], ['BEG', 'Beltring'], ['BKP', 'Birkenhead Park'], ['CLJ', 'Clapham Junction'], ['GLO', 'Glossop'], ['GRH', 'Gartcosh'], ['TUT', 'Tutbury & Hatton'], ['BCE', 'Bracknell'], ['NNT', 'Nunthorpe'], ['ZNP', 'Newbury Park Underground'], ['SND', 'Sandhurst'], ['FSB', 'Fishbourne (West Sussex)'], ['SLW', 'Salwick'], ['DIG', 'Digby & Sowton'], ['EDG', 'Edge Hill'], ['INH', 'Invershin'], ['BTB', 'Barnetby'], ['SJN', 'St James (T & W Metro)'], ['SUY', 'Sudbury'], ['AIG', 'Aigburth'], ['ELR', 'Elsecar'], ['SGB', 'Smethwick Galton Bridge'], ['HYL', 'Hayle'], ['KEM', 'Kemble'], ['WIM', 'Wimbledon'], ['SAS', 'St Annes-on-the-Sea'], ['SHM', 'Sheringham'], ['WRL', 'Wetheral'], ['SUP', 'Sundridge Park'], ['AWM', 'Ashwell & Morden'], ['BUY', 'Burley Park'], ['ABA', 'Aberdare'], ['CRO', 'Croy'], ['DAT', 'Datchet'], ['LGS', 'Langside'], ['WDM', 'Windermere'], ['GMY', 'Goodmayes'], ['BDQ', 'Bradford Forster Square'], ['SOH', 'South Hampstead'], ['GPK', 'Grange Park'], ['EDP', 'Edinburgh Park'], ['NWB', 'North Wembley'], ['NWE', 'Newport (Essex)'], ['CYT', 'Cherry Tree'], ['HUY', 'Huyton'], ['SFN', 'Shifnal'], ['TOM', 'Tottenham Hale'], ['CDI', 'Crediton'], ['HUT', 'Hutton Cranswick'], ['ABW', 'Abbey Wood'], ['GDL', 'Godley'], ['RHD', 'Ribblehead'], ['TYP', 'Tynemouth (T & W Metro)'], ['CSO', 'Croston'], ['PHR', 'Penshurst'], ['LAC', 'Lancing'], ['SWS', 'South Wigston'], ['BUX', 'Buxton'], ['MLD', 'Mouldsworth'], ['FLE', 'Fleet'], ['MKR', 'Market Rasen'], ['LEG', 'Lea Green'], ['CMH', 'Cwmbach'], ['TMC', 'Templecombe'], ['TWI', 'Twickenham'], ['WEE', 'Weeley'], ['HID', 'Hall I\\' Th\\' Wood'], ['TTF', 'Thetford'], ['DLH', 'Doleham'], ['BTF', 'Bottesford'], ['JOR', 'Jordanhill'], ['TIL', 'Tilbury Town'], ['BMR', 'Bromborough Rake'], ['DPD', 'Dorking Deepdene'], ['BUT', 'Burton-on-Trent'], ['LEO', 'Leominster'], ['FRN', 'Fearn'], ['SPK', 'Sutton Parkway'], ['STL', 'Southall'], ['VXH', 'Vauxhall'], ['ALM', 'Alnmouth'], ['HMN', 'Homerton'], ['PNS', 'Penistone'], ['DFP', 'Dublin Ferryport'], ['SED', 'Shelford'], ['MLB', 'Millbrook (Bedfordshire)'], ['WWR', 'Wandsworth Road'], ['WBR', 'Whaley Bridge'], ['CNS', 'Conisbrough'], ['JHN', 'Johnstone'], ['LND', 'Longniddry'], ['STF', 'Stromeferry'], ['BCN', 'Branchton'], ['PET', 'Petts Wood'], ['RSG', 'Rose Grove'], ['SAM', 'Saltmarshe'], ['BNS', 'Barnes'], ['PKG', 'Penkridge'], ['SGB', 'Smethwick Galton Bridge'], ['MUF', 'Manchester United FC'], ['RHY', 'Rhymney'], ['AMR', 'Amersham'], ['KDB', 'Kidbrooke'], ['PLC', 'Pluckley'], ['CSM', 'Castleton Moor'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['TAD', 'Tadworth'], ['GTY', 'Gatley'], ['HWX', 'Heathrow Airport T5 (Bus)'], ['BLK', 'Blackrod'], ['SLK', 'Silkstone Common'], ['BSB', 'Bleasby'], ['AGS', 'Argyle Street'], ['MUI', 'Muirend'], ['SMG', 'St Margarets (London)'], ['MAN', 'Manchester Piccadilly'], ['SEG', 'Selling'], ['PLN', 'Portlethen'], ['BSM', 'Branksome'], ['NLN', 'New Lane'], ['HTO', 'Hightown'], ['BYI', 'Barry Island'], ['HOL', 'Holton Heath'], ['SFL', 'Seaforth & Litherland'], ['SBR', 'Spean Bridge'], ['KGS', 'Kings Sutton'], ['LRB', 'London Road (Brighton)'], ['GSC', 'Gilshochill'], ['MCM', 'Morecambe'], ['STP', 'London St Pancras (Intl)'], ['FGT', 'Faygate'], ['ALD', 'Alderley Edge'], ['COH', 'Crowborough'], ['ANF', 'Ashurst New Forest'], ['OCK', 'Ockendon'], ['ASN', 'Addlestone'], ['CLL', 'Collington'], ['MOT', 'Motspur Park'], ['SDL', 'Sandhills'], ['KKB', 'Kirkby in Ashfield'], ['PAD', 'London Paddington'], ['WOB', 'Woburn Sands'], ['BNI', 'Barnes Bridge'], ['QPW', 'Queens Park (London)'], ['BNY', 'Barnsley'], ['BPN', 'Blackpool North'], ['KWD', 'Kirkwood'], ['SCH', 'Scotstounhill'], ['KNT', 'Kenton'], ['LHD', 'Leatherhead'], ['DRO', 'Dronfield'], ['MRD', 'Morchard Road'], ['CHU', 'Cheadle Hulme'], ['LIC', 'Lichfield City'], ['DSM', 'Darsham'], ['ENF', 'Enfield Town'], ['SSE', 'Shoreham-by-Sea'], ['LGF', 'Longfield'], ['LIP', 'Liphook'], ['ACC', 'Acton Central'], ['NHE', 'New Hythe'], ['GCH', 'Garelochhead'], ['GSN', 'Garston (Hertfordshire)'], ['WRY', 'Wraysbury'], ['RID', 'Ridgmont'], ['KNF', 'Knutsford'], ['STN', 'Stonehaven'], ['WHP', 'West Hampstead Thameslink'], ['DIS', 'Diss'], ['MLG', 'Mallaig'], ['REI', 'Reigate'], ['DNG', 'Dunton Green'], ['LUX', 'Luxulyan'], ['GFD', 'Greenford'], ['GNR', 'Green Road'], ['STH', 'Shepreth'], ['BXW', 'Boxhill & Westhumble'], ['DUD', 'Duddeston'], ['FER', 'Fernhill'], ['CHI', 'Chingford'], ['BKQ', 'Hamilton Square'], ['MUB', 'Musselburgh'], ['ULL', 'Ulleskelf'], ['CLP', 'Clapham High Street'], ['COW', 'Cowdenbeath'], ['GLH', 'Glasshoughton'], ['ATL', 'Attleborough'], ['BIN', 'Bingham'], ['LGO', 'Llangynllo'], ['LRB', 'London Road (Brighton)'], ['WKD', 'Walkden'], ['HRW', 'Harrow & Wealdstone'], ['URM', 'Urmston'], ['CUA', 'Culrain'], ['NBW', 'North Berwick'], ['DMC', 'Drumchapel'], ['EMP', 'Emerson Park'], ['HLE', 'Hillington East'], ['MGN', 'Marston Green'], ['UWL', 'Upper Warlingham'], ['LWM', 'Llantwit Major'], ['ZDE', 'Dagenham East Underground'], ['HIB', 'High Brooms'], ['TQY', 'Torquay'], ['LEU', 'Leuchars'], ['LST', 'London Liverpool Street'], ['ZTG', 'Turnham Green Underground'], ['CDY', 'Cartsdyke'], ['MTC', 'Mitcham Eastfields'], ['HVF', 'Haverfordwest'], ['CSW', 'Chestfield & Swalecliffe'], ['TIR', 'Tir-phil'], ['ERL', 'Earlestown'], ['BGL', 'Bugle'], ['HWM', 'Harlow Mill'], ['SYB', 'Stalybridge'], ['NOA', 'Newton-on-Ayr'], ['FRT', 'Frant'], ['GUI', 'Guide Bridge'], ['HLW', 'Hillington West'], ['MYT', 'Mytholmroyd'], ['BKM', 'Berkhamsted'], ['NEL', 'Nelson'], ['NLT', 'Northolt Park'], ['BES', 'Bescar Lane'], ['BNA', 'Burnage'], ['SRY', 'Shoeburyness'], ['MSR', 'Minster'], ['BNH', 'Barnehurst'], ['DUN', 'Dunbar'], ['LLG', 'Llangadog'], ['PIN', 'Pinhoe'], ['POR', 'Porth'], ['CTR', 'Chester'], ['MCK', 'Marne La Vallee'], ['BUO', 'Bursledon'], ['MDL', 'Middlewood'], ['RHM', 'Reedham (Surrey)'], ['WHD', 'West Hampstead'], ['BDH', 'Bedhampton'], ['ROB', 'Roby'], ['KBF', 'Kirkby-in-Furness'], ['RTR', 'Rochester'], ['STV', 'Stevenston'], ['TIP', 'Tipton'], ['ASB', 'Ardrossan South Beach'], ['DBR', 'Derby Road'], ['LMS', 'Leamington Spa'], ['FSK', 'Fiskerton'], ['HWI', 'Horwich Parkway'], ['WLI', 'Welling'], ['WGC', 'Welwyn Garden City'], ['SOU', 'Southampton Central'], ['RUE', 'Runcorn East'], ['FNH', 'Farnham'], ['SRI', 'Spring Road'], ['TAU', 'Taunton'], ['ALT', 'Altrincham'], ['WDS', 'Woodlesford'], ['LEL', 'Lelant'], ['MNR', 'Manor Road'], ['PPL', 'Pontypool & New Inn'], ['RDG', 'Reading'], ['WNR', 'Windsor & Eton Riverside'], ['SWT', 'Slaithwaite'], ['RCD', 'Rochdale'], ['CYP', 'Crystal Palace'], ['DDG', 'Dorridge'], ['KBX', 'Kirby Cross'], ['SBJ', 'Stourbridge Junction'], ['CRI', 'Cricklewood'], ['WDU', 'West Dulwich'], ['SNN', 'Swinton (Manchester)'], ['BRP', 'Brampton (Suffolk)'], ['COV', 'Coventry'], ['DGL', 'Dingle Road'], ['PYC', 'Pontyclun'], ['LNY', 'Langley'], ['GRP', 'Grove Park'], ['HOU', 'Hounslow'], ['SAE', 'Saltaire'], ['BEH', 'Bedworth'], ['SCY', 'South Croydon'], ['BCY', 'Brockley'], ['AVI', 'Avignon'], ['VIC', 'London Victoria'], ['BWD', 'Birchwood'], ['HWN', 'Harlow Town'], ['VIC', 'London Victoria'], ['FRO', 'Frome'], ['VIC', 'London Victoria'], ['AWT', 'Armathwaite'], ['CAT', 'Caterham'], ['COB', 'Cooden Beach'], ['WVH', 'Wolverhampton'], ['HME', 'Hamble'], ['AUG', 'Aughton Park'], ['BEX', 'Bexhill'], ['ACY', 'Abercynon'], ['CML', 'Carmyle'], ['PBR', 'Potters Bar'], ['TOL', 'Tolworth'], ['APN', 'Newcastle Airport'], ['ADN', 'Ardrossan Town'], ['GDP', 'Gidea Park'], ['SBJ', 'Stourbridge Junction'], ['WIJ', 'Willesden Junction'], ['SDM', 'Shieldmuir'], ['SEV', 'Sevenoaks'], ['FRM', 'Fareham'], ['HNA', 'Hinton Admiral'], ['MRN', 'Marden'], ['MIA', 'Manchester Airport'], ['SBT', 'Stourbridge Town'], ['MAI', 'Maidenhead'], ['BKH', 'Blackheath'], ['BYS', 'Braystones'], ['HGT', 'Harrogate'], ['BIL', 'Billingham'], ['STM', 'St Michaels'], ['BVD', 'Belvedere'], ['LTS', 'Lelant Saltings'], ['LHA', 'Loch Awe'], ['BAD', 'Banstead'], ['INT', 'Ingatestone'], ['MKC', 'Milton Keynes Central'], ['EDR', 'Edmonton Green'], ['BNV', 'Banavie'], ['BTP', 'Braintree Freeport'], ['ROC', 'Roche'], ['CHP', 'Chipstead'], ['FNW', 'Farnworth'], ['TAI', 'Tain'], ['GAL', 'Galashiels'], ['CHG', 'Charing'], ['RMD', 'Richmond'], ['MTN', 'Moreton (Dorset)'], ['COR', 'Corby'], ['SOI', 'Stow'], ['BLG', 'Bellgrove'], ['CNF', 'Carnforth'], ['PST', 'Prestonpans'], ['PKT', 'Park Street'], ['SKS', 'Stocksfield'], ['NRC', 'Newbury Racecourse'], ['PNY', 'Pen-y-bont'], ['EKL', 'East Kilbride'], ['SRU', 'South Ruislip'], ['CDU', 'Cam & Dursley'], ['BRV', 'Bournville'], ['WMS', 'Wemyss Bay'], ['UDD', 'Uddingston'], ['BHD', 'Brithdir'], ['MOR', 'Mortimer'], ['CUM', 'Culham'], ['SDH', 'Sudbury Hill Harrow'], ['STA', 'Stafford'], ['PRL', 'Prittlewell'], ['RDT', 'Radlett'], ['SHP', 'Shepperton'], ['CNP', 'Conway Park'], ['TLK', 'The Lakes'], ['BRX', 'Brixton'], ['MTB', 'Matlock Bath'], ['CLN', 'Chapeltown'], ['KYN', 'Keynsham'], ['NWA', 'North Walsham'], ['BYA', 'Berney Arms'], ['REC', 'Rectory Road'], ['RRB', 'Ryder Brow'], ['SUD', 'Sudbury & Harrow Road'], ['SMN', 'Southminster'], ['YAT', 'Yatton'], ['KSN', 'Kearsney'], ['PTF', 'Pantyffynnon'], ['SWN', 'Swinton (South Yorkshire)'], ['SRN', 'Strines'], ['SWA', 'Swansea'], ['TRR', 'Torre'], ['SSC', 'Seascale'], ['HOT', 'Henley-on-Thames'], ['MVL', 'Malvern Link'], ['ARR', 'Arram'], ['SLT', 'Saltcoats'], ['ANZ', 'Anerley'], ['FPK', 'Finsbury Park'], ['LAN', 'Lancaster'], ['THA', 'Thatcham'], ['BSC', 'Bescot Stadium'], ['MTO', 'Marton'], ['EGG', 'Eggesford'], ['KEH', 'Keith'], ['WCY', 'West Croydon'], ['BOD', 'Bodmin Parkway'], ['HOP', 'Hope (Derbyshire)'], ['HRW', 'Harrow & Wealdstone'], ['WTC', 'Whitchurch (Shropshire)'], ['CHX', 'London Charing Cross'], ['KIR', 'Kirkby'], ['WGA', 'Westgate-on-Sea'], ['WSM', 'Weston-super-Mare'], ['BKS', 'Bekesbourne'], ['AHT', 'Aldershot'], ['DFI', 'Duffield'], ['GIR', 'Girvan'], ['ZBB', 'Barbican Underground'], ['HPE', 'Hope (Flintshire)'], ['CLW', 'Chorleywood'], ['HHL', 'Heath High Level'], ['KKS', 'Kirk Sandall'], ['RDD', 'Riddlesdown'], ['RFY', 'Rock Ferry'], ['ABE', 'Aber'], ['HSK', 'Hassocks'], ['SHT', 'Shotton'], ['LVC', 'Liverpool Central'], ['AIN', 'Aintree'], ['HNG', 'Hengoed'], ['LIS', 'Liss'], ['ARM', 'Armadale'], ['FFA', 'Ffairfach'], ['HCB', 'Hackbridge'], ['LVC', 'Liverpool Central'], ['ELP', 'Ellesmere Port'], ['DYF', 'Dyffryn Ardudwy'], ['TYW', 'Tywyn'], ['CWN', 'Cowden'], ['EGH', 'Egham'], ['RET', 'Retford'], ['HAY', 'Hayes & Harlington'], ['SAT', 'South Acton'], ['PMT', 'Polmont'], ['HPQ', 'Harwich International'], ['WED', 'Wedgwood'], ['BIO', 'Baillieston'], ['WCH', 'Whitchurch (Hampshire)'], ['MNE', 'Manea'], ['SNF', 'Shenfield'], ['ROM', 'Romsey'], ['CHL', 'Chilworth'], ['CDN', 'Coulsdon Town'], ['TLS', 'Thorpe-le-Soken'], ['WRS', 'Wressle'], ['BDY', 'Bredbury'], ['THI', 'Thirsk'], ['WES', 'Westerton'], ['CPU', 'Capenhurst'], ['LRH', 'Larkhall'], ['OLD', 'Old Street'], ['DGT', 'Deansgate'], ['SEM', 'Seamer'], ['SVB', 'Severn Beach'], ['BMC', 'Bromley Cross'], ['SEC', 'Seaton Carew'], ['ZLW', 'Whitechapel'], ['SEE', 'Southease'], ['SOA', 'Southampton Airpt Parkway'], ['WDO', 'Waddon'], ['WTS', 'Whatstandwell'], ['LPY', 'Liverpool South Parkway'], ['HFN', 'Hertford North'], ['KGM', 'Kingham'], ['WFL', 'Wainfleet'], ['SKN', 'St Keyne Wishing Well Halt'], ['DPT', 'Devonport'], ['SOW', 'Sowerby Bridge'], ['WDU', 'West Dulwich'], ['BCB', 'Burscough Bridge'], ['HST', 'High Street'], ['LEM', 'Leyton Midland Road'], ['PYL', 'Pyle'], ['WRU', 'West Ruislip'], ['WYB', 'Weybridge'], ['TAB', 'Tame Bridge Parkway'], ['TRE', 'Trefforest Estate'], ['WYB', 'Weybridge'], ['HND', 'Hanborough'], ['WLW', 'Welwyn North'], ['BMO', 'Birmingham Moor Street'], ['BCJ', 'Burscough Junction'], ['DCW', 'Dorchester West'], ['LVJ', 'James Street'], ['RDF', 'Radcliffe (Nottinghamshire)'], ['CPY', 'Clapham (North Yorkshire)'], ['RMF', 'Romford'], ['SAV', 'Stratford-upon-Avon'], ['LHW', 'Lochwinnoch'], ['NOT', 'Nottingham'], ['CUD', 'Cuddington'], ['LLA', 'Llanaber'], ['SNE', 'Stone'], ['SHL', 'Shawlands'], ['FFD', 'Freshford'], ['SHF', 'Sheffield'], ['YRK', 'York'], ['CSD', 'Cobham & Stoke d\\'Abernon'], ['ENT', 'Entwistle'], ['PRN', 'Parton'], ['ROL', 'Rolleston'], ['BRH', 'Borth'], ['BCV', 'Bruce Grove'], ['SMR', 'Smethwick Rolfe Street'], ['ACN', 'Achnasheen'], ['KWB', 'Kew Bridge'], ['SAR', 'St Andrews Road'], ['ASF', 'Ashfield'], ['FLM', 'Flimby'], ['LBT', 'Larbert'], ['WOR', 'Worle'], ['CWL', 'Colwall'], ['EXC', 'Exeter Central'], ['NTB', 'Norton Bridge'], ['TWY', 'Twyford'], ['ROR', 'Rogerstone'], ['BDI', 'Bradford Interchange'], ['WNL', 'Whinhill'], ['BLA', 'Blair Atholl'], ['KML', 'Kemsley'], ['SDR', 'Saunderton'], ['GRK', 'Gourock'], ['VXH', 'Vauxhall'], ['FTW', 'Fort William'], ['LIT', 'Littlehampton'], ['SIV', 'St Ives'], ['BLD', 'Baildon'], ['GLM', 'Gillingham (Kent)'], ['SHS', 'Shotts'], ['UCK', 'Uckfield'], ['BTG', 'Barnt Green'], ['BOM', 'Bromborough'], ['ACH', 'Achnashellach'], ['UHA', 'Uphall'], ['VXH', 'Vauxhall'], ['DIN', 'Dingwall'], ['HDW', 'Hadley Wood'], ['SOB', 'Southbourne'], ['LEE', 'Lee'], ['QBR', 'Queenborough'], ['LOC', 'Lockerbie'], ['SMA', 'Small Heath'], ['WDB', 'Woodbridge'], ['HIR', 'Horton-in-Ribblesdale'], ['PON', 'Ponders End'], ['FRI', 'Frinton-on-Sea'], ['SAL', 'Salisbury'], ['SRH', 'Streatham Hill'], ['CRK', 'Chirk'], ['EXR', 'Essex Road'], ['HOK', 'Hook'], ['SML', 'Sea Mills'], ['HLY', 'Holytown'], ['NWD', 'Norwood Junction'], ['ASY', 'Ashley'], ['ESW', 'Elmswell'], ['HOH', 'Harrow-on-the-Hill'], ['AGR', 'Angel Road'], ['NSD', 'Newstead'], ['HUL', 'Hull'], ['HLL', 'Heath Low Level'], ['PBL', 'Parbold'], ['JOH', 'Johnston'], ['SMB', 'Smithy Bridge'], ['NSH', 'North Sheen'], ['UPL', 'Upholland'], ['BGE', 'Broad Green'], ['CBY', 'Charlbury'], ['WME', 'Woodmansterne'], ['LAR', 'Largs'], ['MMO', 'Melton Mowbray'], ['LIN', 'Linlithgow'], ['WDT', 'West Drayton'], ['HFE', 'Hertford East'], ['KET', 'Kettering'], ['PUL', 'Pulborough'], ['QRB', 'Queenstown Road Battersea'], ['WMB', 'Wembley Central'], ['BRG', 'Borough Green & Wrotham'], ['GEA', 'Gretna Green'], ['KPA', 'Kensington Olympia'], ['CIM', 'Cilmeri'], ['SWR', 'Stewartby'], ['CMO', 'Camelon'], ['GLQ', 'Glasgow Queen Street'], ['BSU', 'Brunstane'], ['IFI', 'Ifield'], ['ARN', 'Arnside'], ['FRW', 'Fairwater'], ['LKE', 'Lake'], ['CTL', 'Cattal'], ['DMH', 'Dilton Marsh'], ['WWD', 'Woolwich Dockyard'], ['BTS', 'Burntisland'], ['HSW', 'Heswall'], ['KEL', 'Kelvedon'], ['DBL', 'Dunblane'], ['NLR', 'North Llanrwst'], ['HUB', 'Hunmanby'], ['SAF', 'Salfords'], ['WNE', 'Wilnecote'], ['QPK', 'Queens Park (Glasgow)'], ['WTM', 'Witham'], ['AVP', 'Aylesbury Vale Parkway'], ['PTD', 'Pontarddulais'], ['RDG', 'Reading'], ['EXM', 'Exmouth'], ['SNW', 'Swanwick'], ['FCN', 'Falconwood'], ['GOO', 'Goole'], ['LBO', 'Loughborough'], ['HSB', 'Helsby'], ['SHD', 'Shildon'], ['TAY', 'Taynuilt'], ['SNS', 'Staines'], ['CBW', 'Canterbury West'], ['EGF', 'East Garforth'], ['AUR', 'Aberdour'], ['DKG', 'Dorking'], ['GAR', 'Garrowhill'], ['HUN', 'Huntingdon'], ['LLY', 'Llwynypia'], ['SAY', 'Swanley'], ['TTH', 'Thornton Heath'], ['LSK', 'Liskeard'], ['LSW', 'Leasowe'], ['PMP', 'Plumpton'], ['WKK', 'Wakefield Kirkgate'], ['RFY', 'Rock Ferry'], ['DDK', 'Dagenham Dock'], ['HPN', 'Hapton'], ['LNB', 'Llanbradach'], ['BAD', 'Banstead'], ['BIT', 'Bicester Village'], ['MBR', 'Middlesbrough'], ['AAT', 'Achanalt'], ['HIP', 'Highams Park'], ['SIN', 'Singer'], ['TYG', 'Tygwyn'], ['CUP', 'Cupar'], ['FKC', 'Folkestone Central'], ['SIL', 'Sileby'], ['ESM', 'Elsenham'], ['EPD', 'Epsom Downs'], ['HBP', 'Hornbeam Park'], ['HOZ', 'Howwood'], ['RFY', 'Rock Ferry'], ['MEP', 'Meopham'], ['SWG', 'Swaythling'], ['AVM', 'Aviemore'], ['BHK', 'Bush Hill Park'], ['PEA', 'Peartree'], ['WNN', 'Wennington'], ['AYL', 'Aylesford'], ['PIT', 'Pitlochry'], ['OVE', 'Overpool'], ['ZCO', 'Croxley Underground'], ['GYM', 'Great Yarmouth'], ['CPK', 'Carpenders Park'], ['GLC', 'Glasgow Central'], ['LAS', 'Llansamlet'], ['SPN', 'Spooner Row'], ['FKW', 'Folkestone West'], ['KBC', 'Kinbrace'], ['AND', 'Anderston'], ['ZCW', 'Canada Water'], ['DON', 'Doncaster'], ['EAR', 'Earley'], ['CTN', 'Charlton'], ['ZFD', 'Farringdon Underground'], ['SBF', 'St Budeaux Ferry Road'], ['PCD', 'Pencoed'], ['LBG', 'London Bridge'], ['MZH', 'Maze Hill'], ['WTI', 'Winnersh Triangle'], ['HPD', 'Harpenden'], ['SHT', 'Shotton'], ['LBG', 'London Bridge'], ['NRT', 'Nethertown'], ['LBG', 'London Bridge'], ['HMY', 'Hairmyres'], ['HHB', 'Heysham Port'], ['PSH', 'Pershore'], ['PAN', 'Pangbourne'], ['CLU', 'Carluke'], ['SOC', 'Southend Central'], ['MFF', 'Minffordd'], ['BRF', 'Brierfield'], ['COT', 'Cottingley'], ['PTB', 'Pentre-bach'], ['SKG', 'Skegness'], ['INS', 'Insch'], ['EXN', 'Exton'], ['LOO', 'Looe'], ['WWA', 'Woolwich Arsenal'], ['CLK', 'Clock House'], ['BPT', 'Bishopton'], ['BAS', 'Bere Alston'], ['LCS', 'Locheilside'], ['MEV', 'Merthyr Vale'], ['BDH', 'Bedhampton'], ['SDE', 'Shadwell'], ['STP', 'London St Pancras (Intl)'], ['WEH', 'West Ham'], ['HUP', 'Humphrey Park'], ['BTO', 'Betchworth'], ['EVE', 'Evesham'], ['SEF', 'Seaford'], ['ALR', 'Alresford'], ['HNL', 'Henley-in-Arden'], ['SRL', 'Shirley'], ['BFF', 'Blaenau Ffestiniog'], ['FNN', 'Farnborough North'], ['NLW', 'Newton-le-Willows'], ['YAL', 'Yalding'], ['BMH', 'Bournemouth'], ['LHM', 'Lealholm'], ['TVP', 'Tiverton Parkway'], ['BIW', 'Biggleswade'], ['WLS', 'Woolston'], ['BIP', 'Bishopstone'], ['EBV', 'Ebbw Vale Parkway'], ['NNG', 'Newark North Gate'], ['PHG', 'Penhelig'], ['MNG', 'Manningtree'], ['TAT', 'Tattenham Corner'], ['MEN', 'Menheniot'], ['FSB', 'Fishbourne (West Sussex)'], ['CNN', 'Canonbury'], ['HRO', 'Harold Wood'], ['BKJ', 'Beckenham Junction'], ['NFN', 'Nafferton'], ['BNO', 'Benton (T & W Metro)'], ['GRV', 'Gravesend'], ['NBY', 'Newbury'], ['SDC', 'Shoreditch High Street'], ['AXP', 'Alexandra Parade'], ['FXN', 'Foxton'], ['MTS', 'Montrose'], ['BTN', 'Brighton'], ['RDG', 'Reading'], ['CIR', 'Caledonian Rd & Barnsbury'], ['TAL', 'Talsarnau'], ['CWN', 'Cowden'], ['NLS', 'Nailsea & Backwell'], ['WNH', 'Warnham'], ['HWB', 'Hawarden Bridge'], ['LLN', 'Llandaf'], ['NRB', 'Norbury'], ['CSY', 'Coseley'], ['LLL', 'Llandeilo'], ['RIC', 'Rickmansworth'], ['WMB', 'Wembley Central'], ['ADV', 'Andover'], ['PFL', 'Purfleet'], ['SWE', 'Swineshead'], ['SHB', 'Shirebrook'], ['DFD', 'Dartford'], ['HAN', 'Hanwell'], ['NUT', 'Nutbourne'], ['MLW', 'Marlow'], ['WBL', 'Warblington'], ['RHI', 'Rhiwbina'], ['DEP', 'Deptford'], ['CUB', 'Cumbernauld'], ['HCN', 'Headcorn'], ['LAW', 'Landywood'], ['THC', 'Thurnscoe'], ['CNO', 'Chetnole'], ['COI', 'Crosshill'], ['SHW', 'Shawford'], ['BAJ', 'Baglan'], ['SUR', 'Surbiton'], ['AUK', 'Auchinleck'], ['KTL', 'Kirton Lindsey'], ['LID', 'Lidlington'], ['CDR', 'Cardross'], ['SYL', 'Syon Lane'], ['HYT', 'Hyde North'], ['LAI', 'Laindon'], ['HOX', 'Hoxton'], ['LEW', 'Lewisham'], ['BSK', 'Basingstoke'], ['CRW', 'Crawley'], ['GBS', 'Goring-by-Sea'], ['WHS', 'Whyteleafe South'], ['MHR', 'Market Harborough'], ['ERD', 'Erdington'], ['GST', 'Gathurst'], ['LGG', 'Langley Green'], ['OVR', 'Overton'], ['NEH', 'New Eltham'], ['SDN', 'St Denys'], ['MTG', 'Mottingham'], ['WTR', 'Wateringbury'], ['CDB', 'Cardiff Bay'], ['FNT', 'Feniton'], ['BLP', 'Belper'], ['HSG', 'Hathersage'], ['HVH', 'Hoek Van Holland'], ['DVN', 'Davenport'], ['LWH', 'Lawrence Hill'], ['WCK', 'Wick'], ['BMB', 'Bamber Bridge'], ['DRI', 'Drigg'], ['TWN', 'Town Green'], ['CHE', 'Cheam'], ['SAX', 'Saxmundham'], ['MAG', 'Maghull'], ['SBE', 'Starbeck'], ['MCN', 'Machynlleth'], ['CBC', 'Coatbridge Central'], ['BYL', 'Barry Links'], ['BEM', 'Bempton'], ['SFR', 'Shalford'], ['BIC', 'Billericay'], ['BTR', 'Braintree'], ['ISL', 'Isleworth'], ['HLN', 'Harlington'], ['SSM', 'Stocksmoor'], ['GMN', 'Great Missenden'], ['KNE', 'Kennett'], ['POO', 'Poole'], ['RNR', 'Roughton Road'], ['ILK', 'Ilkley'], ['PMH', 'Portsmouth Harbour'], ['RDA', 'Redland'], ['FRS', 'Forsinard'], ['HRN', 'Hornsey'], ['SLY', 'Selly Oak'], ['OXT', 'Oxted'], ['CBS', 'Coatbridge Sunnyside'], ['WMD', 'Wymondham'], ['TEY', 'Teynham'], ['BAV', 'Barrow Haven'], ['BYE', 'Bynea'], ['WKB', 'West Kilbride'], ['BCU', 'Brockenhurst'], ['AMT', 'Aldermaston'], ['LGB', 'Langbank'], ['MRF', 'Moorfields'], ['PMH', 'Portsmouth Harbour'], ['ROO', 'Roose'], ['KIL', 'Kildonan'], ['BHC', 'Balloch'], ['WIV', 'Wivenhoe'], ['BTT', 'Battersby'], ['CCT', 'Cathcart'], ['HRL', 'Harlech'], ['RGW', 'Ramsgreave & Wilpshire'], ['WVF', 'Wivelsfield'], ['SAJ', 'St Johns'], ['WDH', 'Woodhouse'], ['FOG', 'Forest Gate'], ['HTF', 'Hartford'], ['WNW', 'West Norwood'], ['CSG', 'Cressington'], ['SHU', 'Stonehouse'], ['WDN', 'Walsden'], ['SAC', 'St Albans'], ['WFF', 'Whifflet'], ['HOW', 'Howden'], ['MLY', 'Morley'], ['ASG', 'Alsager'], ['LOB', 'Longbridge'], ['WOM', 'Wombwell'], ['MSH', 'Mossley Hill'], ['ECP', 'Energlyn & Churchill Park'], ['EPH', 'Elephant & Castle'], ['RDW', 'Reading West'], ['EKB', 'Eskbank'], ['BRU', 'Bruton'], ['CME', 'Combe'], ['MIH', 'Mills Hill'], ['PPD', 'Pontypridd'], ['SAD', 'Sandwell & Dudley'], ['KGT', 'Kilgetty'], ['BRI', 'Bristol Temple Meads'], ['HOC', 'Hockley'], ['LBR', 'Llanbedr'], ['NSG', 'New Southgate'], ['DGC', 'Denham Golf Club'], ['PNM', 'Penmere'], ['MHS', 'Meadowhall'], ['PSL', 'Port Sunlight'], ['DWW', 'Dawlish Warren'], ['RTN', 'Renton'], ['BUJ', 'Burton Joyce'], ['HUR', 'Hurst Green'], ['BDK', 'Baldock'], ['LNY', 'Langley'], ['BSH', 'Bushey'], ['DOW', 'Downham Market'], ['KIN', 'Kingussie'], ['BLO', 'Blaydon'], ['DVY', 'Dovey Junction'], ['BWS', 'Barrow Upon Soar'], ['SGL', 'South Gyle'], ['WHT', 'Whitchurch (Glamorgan)'], ['ACB', 'Acton Bridge'], ['ZHA', 'Hammersmith Underground'], ['WRB', 'Wrabness'], ['NQU', 'North Queensferry'], ['TYC', 'Ty Croes'], ['ANC', 'Ancaster'], ['NBN', 'New Brighton'], ['HEC', 'Heckington'], ['QUI', 'Quintrell Downs'], ['WCX', 'Wembley Stadium'], ['LWT', 'Lowestoft'], ['RAN', 'Rannoch'], ['THU', 'Thurgarton'], ['CSK', 'Calstock'], ['MER', 'Merthyr Tydfil'], ['NEI', 'Neilston'], ['CBD', 'Conon Bridge'], ['DNO', 'Dunrobin Castle'], ['HUD', 'Huddersfield'], ['SKW', 'Stoke Newington'], ['ARG', 'Arisaig'], ['CNW', 'Conwy'], ['MNN', 'Menston'], ['PLE', 'Pollokshields East'], ['LLO', 'Llandrindod'], ['LAU', 'Laurencekirk'], ['MSL', 'Mossley'], ['SIE', 'Sherburn-in-Elmet'], ['CBH', 'Cambridge Heath'], ['KBN', 'Kilburn High Road'], ['SID', 'Sidcup'], ['FEL', 'Feltham'], ['CCC', 'Criccieth'], ['STO', 'South Tottenham'], ['WOO', 'Wool'], ['GRK', 'Gourock'], ['LLI', 'Llandybie'], ['AXM', 'Axminster'], ['WGV', 'Wargrave'], ['HSD', 'Hamstead'], ['PLW', 'Pollokshields West'], ['BRK', 'Berwick (Sussex)'], ['CTW', 'Church & Oswaldtwistle'], ['XIB', 'Bourg St Maurice'], ['SKI', 'Skipton'], ['BDM', 'Bedford'], ['PLM', 'Plumley'], ['YVJ', 'Yeovil Junction'], ['DEN', 'Dean'], ['DAM', 'Dalmeny'], ['WGN', 'Wigan North Western'], ['WRE', 'Wrenbury'], ['RYN', 'Roydon'], ['YVJ', 'Yeovil Junction'], ['ABH', 'Abererch'], ['UNI', 'University'], ['AMY', 'Amberley'], ['CSB', 'Carshalton Beeches'], ['EFF', 'Effingham Junction'], ['SVK', 'Seven Kings'], ['DEA', 'Deal'], ['WNP', 'Wanstead Park'], ['ALK', 'Aslockton'], ['ULV', 'Ulverston'], ['LIV', 'Liverpool Lime Street'], ['ABC', 'Altnabreac'], ['LAP', 'Lapford'], ['NIT', 'Nitshill'], ['RAM', 'Ramsgate'], ['KNO', 'Knottingley'], ['LIV', 'Liverpool Lime Street'], ['CSH', 'Carshalton'], ['BFE', 'Bere Ferrers'], ['AVY', 'Aberdovey'], ['CBK', 'Cranbrook (Devon)'], ['WLN', 'Wellington (Shropshire)'], ['CGN', 'Cogan'], ['ASC', 'Ashchurch for Tewkesbury'], ['AVF', 'Avoncliff'], ['CBP', 'Castle Bar Park'], ['GSL', 'Gunnislake'], ['HMC', 'Hampton Court'], ['PLY', 'Plymouth'], ['CLA', 'Clandon'], ['CNE', 'Colne'], ['NXG', 'New Cross Gate'], ['CIL', 'Chilham'], ['FLI', 'Flixton'], ['NWX', 'New Cross'], ['BMY', 'Bramley (Hampshire)'], ['CWS', 'Caersws'], ['BHO', 'Blackhorse Road'], ['CFT', 'Crofton Park'], ['GLS', 'Glaisdale'], ['WMI', 'Wildmill'], ['AST', 'Aston'], ['CDT', 'Caldicot'], ['ESD', 'Elmstead Woods'], ['KLN', 'Kings Lynn'], ['SLQ', 'St Leonards Warrior Square'], ['PNC', 'Penychain'], ['BUB', 'Burnley Barracks'], ['BNC', 'Burnley Central'], ['AXM', 'Axminster'], ['AXM', 'Axminster'], ['BGS', 'Bogston'], ['BAC', 'Bache'], ['HWW', 'How Wood'], ['BNG', 'Bangor (Gwynedd)'], ['BRM', 'Barmouth'], ['DNL', 'Dunlop'], ['EML', 'East Malling'], ['CMO', 'Camelon'], ['EDY', 'East Didsbury'], ['SPR', 'Springburn'], ['ELE', 'Elmers End'], ['WKI', 'West Kirby'], ['LBZ', 'Leighton Buzzard'], ['WES', 'Westerton'], ['LYD', 'Lydney'], ['PYT', 'Poynton'], ['RCC', 'Redcar Central'], ['CWE', 'Crowle'], ['KNA', 'Knaresborough'], ['RCE', 'Redcar East'], ['BUH', 'Brough'], ['DAN', 'Darnall'], ['WNF', 'Winchfield'], ['WKF', 'Wakefield Westgate'], ['PWY', 'Patchway'], ['DZY', 'Danzey'], ['FLD', 'Fauldhouse'], ['WPL', 'Worplesdon'], ['BSL', 'Beasdale'], ['KKD', 'Kirkdale'], ['EAG', 'Eaglescliffe'], ['CRM', 'Cramlington'], ['SIH', 'St Helier'], ['HBY', 'Hartlebury'], ['COA', 'Coatdyke'], ['CHW', 'Chalkwell'], ['RYS', 'Royston'], ['DVH', 'Dove Holes'], ['HEV', 'Hever'], ['SPA', 'Spalding'], ['BOG', 'Bognor Regis'], ['EUS', 'London Euston'], ['FRL', 'Fairlie'], ['EDB', 'Edinburgh'], ['MRR', 'Morar'], ['WSH', 'Wishaw'], ['CPW', 'Chepstow'], ['SUU', 'Sunbury'], ['HAP', 'Hatfield Peverel'], ['OUN', 'Oulton Broad North'], ['MIC', 'Micheldever'], ['WOF', 'Worcester Foregate Street'], ['WRX', 'Wrexham General'], ['OUS', 'Oulton Broad South'], ['CAK', 'Cark'], ['FRY', 'Ferriby'], ['FOH', 'Forest Hill'], ['STY', 'Stratford Parkway'], ['OLF', 'Oldfield Park'], ['WAL', 'Walton-on-Thames'], ['PTT', 'Patterton'], ['GLQ', 'Glasgow Queen Street'], ['EBA', 'Euxton Balshaw Lane'], ['HLM', 'Holmwood'], ['FAV', 'Faversham'], ['GOL', 'Golspie'], ['KKH', 'Kirkhill'], ['WSR', 'Woodsmoor'], ['CNL', 'Canley'], ['SPT', 'Stockport'], ['WBD', 'Whitley Bridge'], ['HIA', 'Hampton-in-Arden'], ['BLV', 'Belle Vue'], ['DMK', 'Denmark Hill'], ['DWL', 'Dawlish'], ['FLF', 'Flowery Field'], ['DGY', 'Deganwy'], ['SYS', 'Syston'], ['KKN', 'Kirknewton'], ['WBO', 'Wimbledon Chase'], ['ALB', 'Albrighton'], ['BEP', 'Bermuda Park (Nuneaton)'], ['BFN', 'Byfleet & New Haw'], ['SKM', 'Stoke Mandeville'], ['NEM', 'New Malden'], ['SER', 'St Erth'], ['GNL', 'Green Lane'], ['HEI', 'Heighington'], ['OMS', 'Ormskirk'], ['HBN', 'Hollingbourne'], ['COL', 'Colchester'], ['MES', 'Melton'], ['AHV', 'Ash Vale'], ['KRK', 'Kirkconnel'], ['BYN', 'Bryn'], ['CWC', 'Chappel & Wakes Colne'], ['BIK', 'Birkbeck'], ['SWM', 'Swanscombe'], ['AUD', 'Audley End'], ['BRE', 'Brentwood'], ['YOK', 'Yoker'], ['AHS', 'Ashurst'], ['GSW', 'Garswood'], ['SHU', 'Stonehouse'], ['SNR', 'Sanderstead'], ['BRC', 'Breich'], ['HDM', 'Haddenham & Thame Parkway'], ['BAH', 'Bank Hall'], ['PRR', 'Princes Risborough'], ['SYA', 'Styal'], ['GPO', 'Gospel Oak'], ['SLV', 'Silver Street'], ['FZP', 'Furze Platt'], ['MFA', 'Morfa Mawddach'], ['DLG', 'Dolgarrog'], ['CWB', 'Colwyn Bay'], ['HVN', 'Havenhouse'], ['LUT', 'Luton'], ['GIG', 'Giggleswick'], ['KGP', 'Kings Park'], ['RYH', 'Rye House'], ['GOR', 'Goring & Streatley'], ['HFD', 'Hereford'], ['BIG', 'Billingshurst'], ['STJ', 'Severn Tunnel Junction'], ['SAU', 'St Austell'], ['WHS', 'Whyteleafe South'], ['WST', 'Wood Street'], ['LED', 'Ledbury'], ['MRF', 'Moorfields'], ['OLF', 'Oldfield Park'], ['ATN', 'Atherton'], ['BRS', 'Berrylands'], ['WSB', 'Westbury'], ['CYS', 'Cathays'], ['CWD', 'Creswell'], ['LOS', 'Lostwithiel'], ['BHS', 'Brockholes'], ['THT', 'Thorntonhall'], ['DRG', 'Drayton Green'], ['ANS', 'Ainsdale'], ['DYP', 'Drayton Park'], ['KLY', 'Kenley'], ['LEH', 'Lea Hall'], ['LPR', 'Long Preston'], ['SVS', 'Seven Sisters'], ['WWW', 'Wootton Wawen'], ['SHI', 'Shiplake'], ['WML', 'Wilmslow'], ['EDL', 'Edale'], ['FLX', 'Felixstowe'], ['NBR', 'Narborough'], ['PFY', 'Poulton-le-Fylde'], ['PRP', 'Preston Park'], ['COE', 'Coombe Junction Halt'], ['SST', 'Stansted Mountfitchet'], ['WLD', 'West St Leonards'], ['PMW', 'Penmaenmawr'], ['YEO', 'Yeoford'], ['YVP', 'Yeovil Pen Mill'], ['GRF', 'Garforth'], ['MON', 'Monifieth'], ['NOR', 'Normanton'], ['COM', 'Commondale'], ['ZFD', 'Farringdon Underground'], ['ORR', 'Orrell'], ['LOW', 'Lowdham'], ['YVP', 'Yeovil Pen Mill'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['LPG', 'Llanfairpwll'], ['LWR', 'Llanrwst'], ['CRN', 'Crowthorne'], ['JCH', 'James Cook'], ['LLS', 'Llanishen'], ['NCE', 'New Clee'], ['RAY', 'Raynes Park'], ['SAW', 'Sawbridgeworth'], ['WLO', 'Waterloo (Merseyside)'], ['ROE', 'Rotherhithe'], ['HNB', 'Herne Bay'], ['SHY', 'Shipley'], ['MTA', 'Mountain Ash'], ['SJP', 'St James\\' Park'], ['LYC', 'Lympstone Commando'], ['NWM', 'New Milton'], ['WIJ', 'Willesden Junction'], ['FLT', 'Flitwick'], ['BRA', 'Brora'], ['HYN', 'Hyndland'], ['RUF', 'Rufford'], ['PTA', 'Port Talbot Parkway'], ['SMH', 'Stamford Hill'], ['GVE', 'Garve'], ['HTE', 'Hatch End'], ['WSE', 'Winchelsea'], ['DLT', 'Dalton'], ['SPY', 'Shepley'], ['CFL', 'Crossflatts'], ['LIH', 'Leigh (Kent)'], ['LYM', 'Lympstone Village'], ['SOL', 'Solihull'], ['CTH', 'Chadwell Heath'], ['FOK', 'Four Oaks'], ['TRI', 'Tring'], ['BLB', 'Battlesbridge'], ['FAL', 'Falmouth Docks'], ['HPL', 'Hartlepool'], ['OXN', 'Oxenholme Lake District'], ['OTF', 'Otford'], ['OUT', 'Outwood'], ['WLE', 'Whittlesea'], ['SBV', 'St Budeaux Victoria Road'], ['HHY', 'Highbury & Islington'], ['CKS', 'Clarkston'], ['EDN', 'Eden Park'], ['SDP', 'Sandplace'], ['AFK', 'Ashford International'], ['DLM', 'Delamere'], ['HHY', 'Highbury & Islington'], ['INK', 'Inverkeithing'], ['SAA', 'St Albans Abbey'], ['HLB', 'Hildenborough'], ['KTH', 'Kent House'], ['BUL', 'Butlers Lane'], ['AML', 'Acton Main Line'], ['FMT', 'Falmouth Town'], ['BAM', 'Bamford'], ['FFD', 'Freshford'], ['WAT', 'London Waterloo'], ['SHN', 'Shanklin'], ['CKT', 'Crookston'], ['BKL', 'Bickley'], ['DND', 'Dinsdale'], ['NCL', 'Newcastle'], ['WLV', 'Wallasey Village'], ['THS', 'Thurso'], ['ZBS', 'Baker Street Underground'], ['WAE', 'London Waterloo East'], ['TIS', 'Tisbury'], ['BXS', 'Brussels Midi'], ['LEA', 'Leagrave'], ['BAB', 'Balcombe'], ['NCZ', 'Newcastle Central Metro'], ['ASH', 'Ash'], ['RDB', 'Redbridge'], ['BBK', 'Bilbrook'], ['BUW', 'Burley-in-Wharfedale'], ['GBD', 'Gilberdyke'], ['NSB', 'Normans Bay'], ['RGT', 'Rugeley Town'], ['SEH', 'Shoreham (Kent)'], ['BSH', 'Bushey'], ['ELG', 'Elgin'], ['FTN', 'Fratton'], ['EBN', 'Eastbourne'], ['FTM', 'Fort Matilda'], ['MBK', 'Millbrook (Hampshire)'], ['POT', 'Pontefract Tanshelf'], ['WGW', 'Wigan Wallgate'], ['SUO', 'Sutton (Surrey)'], ['AYS', 'Aylesbury'], ['LVM', 'Levenshulme'], ['WAD', 'Wadhurst'], ['PGN', 'Paignton'], ['BOC', 'Bootle'], ['BUG', 'Burgess Hill'], ['AHD', 'Ashtead'], ['OKL', 'Oakleigh Park'], ['LTT', 'Little Sutton'], ['BAU', 'Barton-on-Humber'], ['GWE', 'Gwersyllt'], ['PMH', 'Portsmouth Harbour'], ['SBU', 'Southbury'], ['CDF', 'Cardiff Central'], ['DTW', 'Droitwich Spa'], ['FST', 'London Fenchurch Street'], ['CEY', 'Cononley'], ['HML', 'Hemel Hempstead'], ['OKN', 'Oakengates'], ['CGD', 'Craigendoran'], ['PEM', 'Pemberton'], ['NHL', 'New Holland'], ['SNP', 'Stanhope'], ['EST', 'Easterhouse'], ['GRA', 'Grantham'], ['TAP', 'Taplow'], ['SUC', 'Sutton Common'], ['GNH', 'Greenhithe for Bluewater'], ['NCT', 'Newark Castle'], ['BTD', 'Bolton-on-Dearne'], ['HNC', 'Hamilton Central'], ['ECL', 'Eccleston Park'], ['OLY', 'Ockley'], ['PLD', 'Portslade'], ['BBG', 'Bishopbriggs'], ['COP', 'Copplestone'], ['SDB', 'Sandbach'], ['COV', 'Coventry'], ['EXD', 'Exeter St Davids'], ['LTH', 'Llanhilleth'], ['SQH', 'Sanquhar'], ['ERA', 'Eastham Rake'], ['BSK', 'Basingstoke'], ['MIR', 'Mirfield'], ['PFM', 'Pontefract Monkhill'], ['GUN', 'Gunnersbury'], ['WLG', 'Wallasey Grove Road'], ['PBO', 'Peterborough'], ['PLU', 'Plumstead'], ['CDQ', 'Cardiff Queen Street'], ['BXB', 'Broxbourne'], ['HNW', 'Hamilton West'], ['EXT', 'Exeter St Thomas'], ['WLT', 'Wallington'], ['HNX', 'Hunts Cross'], ['HMP', 'Hampton'], ['ALF', 'Alfreton'], ['BAA', 'Barnham'], ['SEA', 'Seaham'], ['WBY', 'West Byfleet'], ['BGL', 'Bugle'], ['WRK', 'Worksop'], ['WWI', 'West Wickham'], ['FGT', 'Faygate'], ['STW', 'Strawberry Hill'], ['NFL', 'Northfleet'], ['BUE', 'Bures'], ['NMP', 'Northampton'], ['CBL', 'Cambuslang'], ['GFN', 'Giffnock'], ['INV', 'Inverness'], ['WGR', 'Woodgrange Park'], ['STS', 'Saltash'], ['STP', 'London St Pancras (Intl)'], ['SUN', 'Sunderland'], ['SDF', 'Saundersfoot'], ['FNV', 'Furness Vale'], ['YAE', 'Yate'], ['MCV', 'Manchester Victoria'], ['RED', 'Redruth'], ['SNG', 'Sunningdale'], ['PDG', 'Padgate'], ['HTR', 'Heathrow Central Bus Stn'], ['BHI', 'Birmingham International'], ['CWH', 'Crews Hill'], ['NTA', 'Newton Abbot'], ['SFA', 'Stratford International'], ['WOH', 'Woldingham'], ['SXY', 'Saxilby'], ['GKC', 'Greenock Central'], ['PTC', 'Portchester'], ['GLD', 'Guildford'], ['BNF', 'Briton Ferry'], ['DAG', 'Dalgety Bay'], ['SOO', 'Strood'], ['DLS', 'Dalston'], ['LFD', 'Lingfield'], ['BBN', 'Blackburn'], ['CGM', 'Cottingham'], ['RVB', 'Ravensbourne'], ['AIR', 'Airbles'], ['BRR', 'Barrhead'], ['CLH', 'Clitheroe'], ['MRM', 'Manors (T & W Metro)'], ['GMT', 'Grosmont'], ['DHM', 'Durham'], ['PAR', 'Par'], ['IVY', 'Ivybridge'], ['LVN', 'Littlehaven'], ['GKW', 'Greenock West'], ['HNK', 'Hinckley'], ['KMK', 'Kilmarnock'], ['RMD', 'Richmond'], ['SIC', 'Silecroft'], ['HAD', 'Haddiscoe'], ['DNM', 'Denham'], ['OXS', 'Oxshott'], ['SLB', 'Saltburn'], ['DNT', 'Dent'], ['WHY', 'Whyteleafe'], ['CRG', 'Cross Gates'], ['LCG', 'Lochgelly'], ['BHG', 'Bathgate'], ['TNF', 'Tonfanau'], ['MAL', 'Malden Manor'], ['NUT', 'Nutbourne'], ['NWX', 'New Cross'], ['TON', 'Tonbridge'], ['TRO', 'Trowbridge'], ['WKG', 'Workington'], ['BSI', 'Balmossie'], ['SMK', 'Stowmarket'], ['LGD', 'Lingwood'], ['FBY', 'Formby'], ['NNP', 'Ninian Park'], ['ADM', 'Adisham'], ['GRL', 'Greenfaulds'], ['RLN', 'Rowlands Castle'], ['AMF', 'Ammanford'], ['KMP', 'Kempton Park'], ['SNL', 'Stoneleigh'], ['BWB', 'Bow Brickhill'], ['ABY', 'Ashburys'], ['BRY', 'Barry'], ['MYL', 'Maryland'], ['BBL', 'Bat & Ball'], ['PUT', 'Putney'], ['CAA', 'Coventry Arena'], ['HMD', 'Hampden Park'], ['GYP', 'Gypsy Lane'], ['CMY', 'Crossmyloof'], ['DUL', 'Dullingham'], ['WNM', 'Weston Milton'], ['AFV', 'Ansdell & Fairhaven'], ['SYH', 'Sydenham Hill'], ['GTW', 'Gatwick Airport'], ['HYK', 'Hoylake'], ['MIS', 'Mistley'], ['PPK', 'Possilpark & Parkhouse'], ['WYM', 'Wylam'], ['MLM', 'Millom'], ['WAV', 'Wavertree Tech Park'], ['LAM', 'Lamphey'], ['CCH', 'Chichester'], ['MLT', 'Malton'], ['SGM', 'St Germans'], ['WND', 'Wendover'], ['HAF', 'Heathrow Airport T4'], ['THE', 'Theale'], ['ADL', 'Adlington (Lancashire)'], ['HWV', 'Heathrow Airport T5'], ['PLK', 'Plockton'], ['HWC', 'Harwich Town'], ['CWU', 'Crowhurst'], ['CHK', 'Chiswick'], ['HEN', 'Hendon'], ['DRU', 'Drumgelloch'], ['HAB', 'Habrough'], ['LVT', 'Lisvane & Thornhill'], ['TOK', 'Three Oaks'], ['SVR', 'Silverdale'], ['HEL', 'Hensall'], ['SON', 'Steeton & Silsden'], ['WIC', 'Wickford'], ['NAN', 'Nantwich'], ['LUD', 'Ludlow'], ['AFS', 'Ashford (Surrey)'], ['SGH', 'South Gosforth (T & W Metro)'], ['WYL', 'Wylde Green'], ['RDH', 'Redhill'], ['RNM', 'Rainham (Essex)'], ['MIF', 'Millfield (T & W Metro)'], ['WIN', 'Winchester'], ['LLR', 'Llanharan'], ['NET', 'Netherfield'], ['BSN', 'Boston'], ['GRN', 'Grindleford'], ['APB', 'Appley Bridge'], ['PYN', 'Penryn'], ['SRR', 'Sarn'], ['BND', 'Brandon'], ['DLW', 'Dalwhinnie'], ['BIB', 'Bishops Lydeard'], ['CUX', 'Cuxton'], ['PRS', 'Prees'], ['CLC', 'Castle Cary'], ['SCF', 'Stechford'], ['CLD', 'Chelsfield'], ['RIL', 'Rice Lane'], ['TBY', 'Thornaby'], ['LPY', 'Liverpool South Parkway'], ['CRV', 'Craven Arms'], ['WMA', 'West Malling'], ['DTN', 'Denton'], ['DOC', 'Dockyard'], ['DCH', 'Dorchester South'], ['NXG', 'New Cross Gate'], ['CDS', 'Coulsdon South'], ['LLF', 'Llanfairfechan'], ['SLL', 'Stallingborough'], ['CDO', 'Cardonald'], ['HAT', 'Hatfield'], ['RDN', 'Reddish North'], ['WOS', 'Worcester Shrub Hill'], ['HAV', 'Havant'], ['SNA', 'Sandal & Agbrigg'], ['MIM', 'Moreton-in-Marsh'], ['ART', 'Arrochar & Tarbet'], ['OBN', 'Oban'], ['RDS', 'Reddish South'], ['TOO', 'Tooting'], ['WMC', 'Wilmcote'], ['SIA', 'Southend Airport'], ['EBT', 'Edenbridge Town'], ['PLG', 'Polegate'], ['BSW', 'Birmingham Snow Hill'], ['GRB', 'Great Bentley'], ['HHB', 'Heysham Port'], ['SNK', 'Sankey for Penketh'], ['BXD', 'Buxted'], ['ASK', 'Askam'], ['CFB', 'Catford Bridge'], ['GMG', 'Garth (Mid Glamorgan)'], ['NCM', 'North Camp'], ['APF', 'Appleford'], ['EWR', 'East Worthing'], ['WON', 'Walton-on-the-Naze'], ['ROW', 'Rowley Regis'], ['WSU', 'West Sutton'], ['BGG', 'Brigg'], ['EBD', 'Ebbsfleet International'], ['ZEL', 'Elephant & Castle Underground'], ['PHR', 'Penshurst'], ['MRB', 'Manorbier'], ['SPH', 'Shepherds Well'], ['STD', 'Stroud'], ['TGS', 'Ty Glas'], ['BCF', 'Beaconsfield'], ['HDF', 'Hadfield'], ['CDD', 'Cardenden'], ['LTL', 'Littleborough'], ['CHR', 'Christchurch'], ['MFT', 'Mansfield'], ['PWE', 'Pollokshaws East'], ['LPW', 'Lapworth'], ['BNE', 'Bourne End'], ['CRA', 'Cradley Heath'], ['CHO', 'Cholsey'], ['WRM', 'Wareham'], ['CSR', 'Chassen Road'], ['SEN', 'Shenstone'], ['BOE', 'Botley'], ['ANG', 'Angmering'], ['DVC', 'Dovercourt'], ['PMG', 'Porthmadog Harbour (Bus)'], ['ORN', 'Old Roan'], ['NGT', 'Newington'], ['KNI', 'Knighton'], ['GVH', 'Gravelly Hill'], ['OXF', 'Oxford'], ['CKY', 'Crosskeys'], ['BLL', 'Bardon Mill'], ['FGH', 'Fishguard Harbour'], ['LYE', 'Lye'], ['CLR', 'Clarbeston Road'], ['HBD', 'Hebden Bridge'], ['IGD', 'Invergordon'], ['YNW', 'Ynyswen'], ['PWW', 'Pollokshaws West'], ['RMB', 'Roman Bridge'], ['GRT', 'Grateley'], ['AGT', 'Aldrington'], ['CED', 'Cheddington'], ['RVN', 'Ravensthorpe'], ['KEN', 'Kendal'], ['MAR', 'Margate'], ['PSE', 'Pitsea'], ['CTK', 'City Thameslink'], ['BAT', 'Battle'], ['HEV', 'Hever'], ['WAS', 'Watton-at-Stone'], ['CLY', 'Chinley'], ['HES', 'Hessle'], ['UPH', 'Upper Halliford'], ['WNS', 'Winnersh'], ['AON', 'Alton'], ['LGK', 'Longbeck'], ['SHC', 'Streethouse'], ['EMS', 'Emsworth'], ['SYH', 'Sydenham Hill'], ['BAK', 'Battersea Park'], ['GLQ', 'Glasgow Queen Street'], ['BKJ', 'Beckenham Junction'], ['UMB', 'Umberleigh'], ['CMN', 'Carmarthen'], ['SHH', 'Shirehampton'], ['MAX', 'Maxwell Park'], ['HGY', 'Harringay'], ['AVF', 'Avoncliff'], ['BYK', 'Bentley (South Yorkshire)'], ['GER', 'Gerrards Cross'], ['HLR', 'Hall Road'], ['HNF', 'Hednesford'], ['FRD', 'Frodsham'], ['KNR', 'Kensal Rise'], ['BCC', 'Beccles'], ['HGN', 'Hough Green'], ['BKW', 'Berkswell'], ['EBR', 'Edenbridge'], ['BKT', 'Blake Street'], ['CEH', 'Coleshill Parkway'], ['LEN', 'Lenham'], ['BEC', 'Beckenham Hill'], ['FNY', 'Finchley Road & Frognal'], ['LTM', 'Lytham'], ['BKJ', 'Beckenham Junction'], ['KDG', 'Kidsgrove'], ['IGD', 'Invergordon'], ['CPH', 'Caerphilly'], ['APS', 'Apsley'], ['HTY', 'Hattersley'], ['SAL', 'Salisbury'], ['BNW', 'Bootle New Strand'], ['SOB', 'Southbourne'], ['BTH', 'Bath Spa'], ['DFE', 'Dunfermline Town'], ['SLS', 'Shettleston'], ['ELY', 'Ely'], ['BMF', 'Broomfleet'], ['NVH', 'Newhaven Harbour'], ['LCL', 'Lochailort'], ['PMD', 'Pembroke Dock'], ['WAR', 'Ware'], ['BFD', 'Brentford'], ['GLZ', 'Glazebrook'], ['HSY', 'Horsley'], ['SPI', 'Spital'], ['SHZ', 'South Hylton (T & W Metro)'], ['MOO', 'Muir of Ord'], ['NHD', 'Nunhead'], ['BKR', 'Blackridge'], ['IRL', 'Irlam'], ['NVN', 'Newhaven Town'], ['WRN', 'West Runton'], ['HDB', 'Haydon Bridge'], ['EAD', 'Earlsfield'], ['RDM', 'Riding Mill'], ['WMR', 'Widney Manor'], ['BPK', 'Brookmans Park'], ['WLF', 'Whittlesford Parkway'], ['GDN', 'Godstone'], ['TFC', 'Telford Central'], ['SHE', 'Sherborne'], ['GNB', 'Gainsborough Central'], ['BOT', 'Bootle Oriel Road'], ['EGR', 'East Grinstead'], ['LNK', 'Lanark'], ['NEG', 'Newtongrange'], ['SAL', 'Salisbury'], ['CFR', 'Chandlers Ford'], ['LGM', 'Langley Mill'], ['GSD', 'Garsdale'], ['LAG', 'Langwith-Whaley Thorns'], ['BNL', 'Barnhill'], ['IVR', 'Iver'], ['CNY', 'Cantley'], ['HGS', 'Hastings'], ['BEY', 'Ben Rhydding'], ['BMD', 'Brimsdown'], ['ARB', 'Arbroath'], ['BLN', 'Blundellsands & Crosby'], ['MSS', 'Moses Gate'], ['DST', 'Duke Street'], ['HYW', 'Hinchley Wood'], ['AYR', 'Ayr'], ['SRO', 'Shireoaks'], ['CAR', 'Carlisle'], ['DSY', 'Daisy Hill'], ['RGL', 'Rugeley Trent Valley'], ['GFF', 'Gilfach Fargoed'], ['WAF', 'Wallyford'], ['INR', 'Inverurie'], ['SBK', 'South Bank'], ['ELO', 'Elton & Orston'], ['SPB', 'Shepherds Bush'], ['STE', 'Streatham'], ['CYB', 'Cefn-y-Bedd'], ['HDY', 'Headingley'], ['HCT', 'Huncoat'], ['DYC', 'Dyce'], ['HYD', 'Heyford'], ['PRH', 'Penrhyndeudraeth'], ['SET', 'Settle'], ['WFH', 'Watford High Street'], ['DLR', 'Dalreoch'], ['BKD', 'Blakedown'], ['PTM', 'Porthmadog'], ['ORP', 'Orpington'], ['GBL', 'Gainsborough Lea Road'], ['SCU', 'Scunthorpe'], ['PTH', 'Perth'], ['TAM', 'Tamworth'], ['TRB', 'Treherbert'], ['BXY', 'Bexley'], ['TRY', 'Treorchy'], ['HRS', 'Horsforth'], ['SHV', 'Southsea Hoverport (Bus)'], ['SUM', 'Summerston'], ['WFJ', 'Watford Junction'], ['FYS', 'Ferryside'], ['NUM', 'Northumberland Park'], ['SVL', 'Staveley'], ['CYK', 'Clydebank'], ['HDN', 'Harlesden'], ['PLS', 'Pleasington'], ['TLC', 'Tal-y-Cafn'], ['WAM', 'Walmer'], ['BMG', 'Barming'], ['IFD', 'Ilford'], ['GTA', 'Great Ayton'], ['NBC', 'New Beckenham'], ['LUD', 'Ludlow'], ['FNR', 'Farningham Road'], ['CFN', 'Clifton Down'], ['HAC', 'Hackney Downs'], ['PGM', 'Pengam'], ['RLG', 'Rayleigh'], ['BKG', 'Barking'], ['BLM', 'Belmont'], ['NTC', 'Newton St Cyres'], ['RYE', 'Rye'], ['DBG', 'Mottisfont & Dunbridge'], ['NWI', 'Northwich'], ['PSC', 'Prescot'], ['DKD', 'Dunkeld & Birnam'], ['AGL', 'Abergele & Pensarn'], ['CRF', 'Carfin'], ['SOM', 'South Milford'], ['CRY', 'Crayford'], ['LIU', 'Lille Europe'], ['GLF', 'Glenfinnan'], ['SWI', 'Swindon'], ['SCR', 'St Columb Road'], ['TEO', 'Theobalds Grove'], ['BHM', 'Birmingham New Street'], ['BML', 'Bramhall'], ['WIJ', 'Willesden Junction'], ['COS', 'Cosford'], ['ACG', 'Acocks Green'], ['DVP', 'Dover Priory'], ['MOG', 'Moorgate'], ['ROS', 'Rosyth'], ['WAO', 'Walton (Merseyside)'], ['GNH', 'Greenhithe for Bluewater'], ['RWC', 'Rawcliffe'], ['LES', 'Leigh-on-Sea'], ['HLI', 'Healing'], ['WEY', 'Weymouth'], ['AFK', 'Ashford International'], ['HON', 'Honiton'], ['RCA', 'Risca & Pontymister'], ['BIY', 'Bingley'], ['FOR', 'Forres'], ['KLM', 'Kilmaurs'], ['BOR', 'Bodorgan'], ['BSS', 'Barassie'], ['PUR', 'Purley'], ['MAC', 'Macclesfield'], ['RBR', 'Robertsbridge'], ['HHE', 'Haywards Heath'], ['ALN', 'Althorne'], ['GBK', 'Greenbank'], ['BMV', 'Bromsgrove'], ['GTO', 'Gorton'], ['PMB', 'Pembroke'], ['SKE', 'Skewen'], ['CAU', 'Causeland'], ['PEN', 'Penarth'], ['UPT', 'Upton'], ['BMN', 'Bromley North'], ['ZTH', 'Tower Hill Underground'], ['KYL', 'Kyle of Lochalsh'], ['TTN', 'Totton'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['BMS', 'Bromley South'], ['ASS', 'Alness'], ['SSS', 'Sheerness-on-Sea'], ['CAG', 'Carrbridge'], ['GTH', 'Garth (Powys)'], ['LOF', 'London Fields'], ['BIS', 'Bishops Stortford'], ['BRW', 'Brunswick'], ['CHH', 'Christs Hospital'], ['HHD', 'Holyhead'], ['MFL', 'Mount Florida'], ['DAK', 'Dalmarnock'], ['WSW', 'Wandsworth Common'], ['MDN', 'Maiden Newton'], ['DFL', 'Dunfermline Queen Margaret'], ['IRV', 'Irvine'], ['WHN', 'Whiston'], ['SBS', 'St Bees'], ['PKG', 'Penkridge'], ['SOU', 'Southampton Central'], ['COY', 'Coryton'], ['GGJ', 'Georgemas Junction'], ['SLR', 'Sleaford'], ['DKT', 'Dorking West'], ['SQU', 'Squires Gate'], ['CMD', 'Camden Road'], ['BSO', 'Basildon'], ['CBR', 'Cooksbridge'], ['BYM', 'Burnley Manchester Road'], ['MLF', 'Milford (Surrey)'], ['RYR', 'Ryde St Johns Road'], ['TEY', 'Teynham'], ['TOT', 'Totnes'], ['FRF', 'Fairfield'], ['PUO', 'Purley Oaks'], ['GNF', 'Greenfield'], ['GRY', 'Grays'], ['BGH', 'Brighouse'], ['FKG', 'Falkirk Grahamston'], ['HKH', 'Hawkhead'], ['PYP', 'Pont-y-Pant'], ['FKK', 'Falkirk High'], ['SOV', 'Southend Victoria'], ['MEY', 'Merryton']]\n);\n\nfunction findStation (id) {\n const wanted = id.toUpperCase();\n const station = sMap.get(wanted);\n console.log(station);\n\n return station;\n}\n\nfunction searchStation(str) {\n const workArray = [];\n\n const searchAbbr = (str.length <= 3);\n const searchLong = (str.length >= 3);\n\n // const searchReg = /(dbe)/i;\n const searchReg = new RegExp(`(${str})`, 'gi');\n \n sMap.forEach((value, key) => {\n let out;\n if (searchAbbr && searchReg.test(key)) \n out = [key, value];\n \n if (typeof out === 'undefined' && searchLong && searchReg.test(value))\n out = [key, value];\n\n if(typeof out === 'object') workArray.push(out);\n });\n \n return workArray.slice(0, 5);\n}\n\nmodule.exports = { findStation, searchStation };\n","function partOfDay (timeString, today) {\n console.log(new Date());\n if (timeString === undefined || timeString === null) timeString = (new Date()).getHours().toString(); \n\n if (today === undefined) today = false; \n\n const hours = timeString.substring(0, 2);\n let dayBit = '';\n\n console.log('Hours', hours);\n\n if (hours >= 0 && hours < 4) \n dayBit = 'Late Night'; \n\n else if (hours >= 4 && hours < 7) \n dayBit = 'Early Morning'; \n\n else if (hours >= 7 && hours < 12) \n dayBit = 'Morning'; \n\n else if (hours >= 12 && hours < 17) \n dayBit = 'Afternoon'; \n\n else if (hours < 21) \n dayBit = 'Evening'; \n\n else dayBit = 'Night'; \n\n if (today) \n if (dayBit === 'night') {\n dayBit = 'tonight';\n }\n else {\n dayBit = `this ${dayBit}`;\n }\n\n console.log('partOfDay', dayBit);\n\n return dayBit;\n}\n\nfunction toHour (extra = 0) {\n const now = new Date();\n\n return (3600000 - (now.getTime() % 3600000)) + extra;\n}\n\nfunction hourFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 3600000) * 3600000, 10).toString(32);\n}\n\nfunction minuteFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 60000) * 60000, 10).toString(32);\n}\n\nfunction distance (lat1, lon1, lat2, lon2) {\n const p = 0.017453292519943295; // Math.PI / 180\n const c = Math.cos;\n const a = 0.5 - c((lat2 - lat1) * p) / 2 +\n c(lat1 * p) * c(lat2 * p) *\n (1 - c((lon2 - lon1) * p)) / 2;\n\n return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km\n}\n\n/* function splitURL (url) {\n\n} */\n\nconst maybePluralize = (count, noun, suffix = 's') =>\n `${count} ${noun}${count !== 1 ? suffix : ''}`;\n\nfunction supportsLocalStorage() {\n try {\n if (!localStorage)return false;\n else return true;\n // May only need the above simple test\n // - old versions of firefox may cause problem?\n // return 'localStorage' in window && window['localStorage']!==null;\n }\n catch(e) {\n return false;\n }\n}\n\nlet LocalStorage = {};\n\nif (supportsLocalStorage())\n LocalStorage = {\n 'save':function ( i, v ) {\n localStorage[i] = v;\n },\n 'load':function ( i ) {\n return localStorage[i];\n },\n 'exists':function(i) {\n return !(typeof(localStorage[i]) === 'undefined');\n }\n }; \nelse \n LocalStorage = {\n 'save':function ( i, v ) {\n document.cookie = `${i }=${ encodeURIComponent(v)}`;\n },\n 'load':function ( i ) {\n var s = `; ${ document.cookie };`,\n p = s.indexOf(`; ${ i }=`);\n if (p < 0)return '';\n p = p + i.length + 3;\n var p2 = s.indexOf(';', p + 1);\n \n return decodeURIComponent(s.substring(p, p2));\n }\n };\n\n/**\n *\n * @param fn\n * @param time\n * @returns {Function}\n * @private\n */\nfunction debounce(fn, time) {\n let timeout;\n\n return function (...args) { // <-- not an arrow function\n const functionCall = () => fn.apply(this, args);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\n/**\n *\n * @param callback\n * @param limit\n * @returns {Function}\n * @private\n */\nfunction throttle (callback, limit) {\n var wait = false;\n\n return function () {\n if (!wait) {\n callback.apply(null, arguments);\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\n/**\n *\n * @param func\n * @returns {function(): *}\n * @private\n */\n\nfunction once(func) {\n var alreadyCalled = false;\n var result;\n\n return function() {\n if (!alreadyCalled) {\n result = func.apply(this, arguments);\n alreadyCalled = true;\n }\n\n return result;\n };\n};\n\nfunction isEmpty(obj) {\n for(const key in obj)\n if(obj.hasOwnProperty(key)) return false;\n\n return true;\n}\n\n\n\nmodule.exports = { partOfDay, toHour, hourFloor, distance, maybePluralize, minuteFloor, debounce, throttle, once, isEmpty, LocalStorage };\n","export default(function t(e){function r(t,e,n){var a,o={};if(Array.isArray(t))return t.concat(e);for(a in t)o[n?a.toLowerCase():a]=t[a];for(a in e){var i=n?a.toLowerCase():a,u=e[a];o[i]=i in o&&\"object\"==typeof u?r(o[i],u,\"headers\"===i):u}return o}function n(t,n,a,o){\"string\"!=typeof t&&(t=(n=t).url);var i={config:n},u=r(e,n),s={},c=o||u.data;(u.transformRequest||[]).map(function(t){c=t(c,u.headers)||c}),c&&\"object\"==typeof c&&\"function\"!=typeof c.append&&(c=JSON.stringify(c),s[\"content-type\"]=\"application/json\");var f=document.cookie.match(RegExp(\"(^|; )\"+u.xsrfCookieName+\"=([^;]*)\"));if(f&&(s[u.xsrfHeaderName]=f[2]),u.auth&&(s.authorization=u.auth),u.baseURL&&(t=new URL(t,u.baseURL)+\"\"),u.params){var p=~t.indexOf(\"?\")?\"&\":\"?\";t+=p+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))}return(u.fetch||fetch)(t,{method:a||u.method,body:c,headers:r(u.headers,s,!0),credentials:u.withCredentials?\"include\":void 0}).then(function(t){for(var e in t)\"function\"!=typeof t[e]&&(i[e]=t[e]);return(u.validateStatus?u.validateStatus(t.status):t.ok)?\"stream\"==u.responseType?(i.data=t.body,i):t[u.responseType||\"text\"]().then(function(t){i.data=t,i.data=JSON.parse(t)}).catch(Object).then(function(){return i}):Promise.reject(i)})}return e=e||{},n.request=n,n.get=function(t,e){return n(t,e,\"get\")},n.delete=function(t,e){return n(t,e,\"delete\")},n.options=function(t,e){return n(t,e,\"options\")},n.post=function(t,e,r){return n(t,r,\"post\",e)},n.put=function(t,e,r){return n(t,r,\"put\",e)},n.patch=function(t,e,r){return n(t,r,\"patch\",e)},n.all=Promise.all,n.spread=function(t){return function(e){return t.apply(this,e)}},n.CancelToken=\"function\"==typeof AbortController?AbortController:Object,n.defaults=e,n.create=t,n}());\n//# sourceMappingURL=redaxios.module.js.map\n","/*!\n localForage -- Offline Storage, Improved\n Version 1.9.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n resolve(openreq.result);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = req.onblocked = function (err) {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(err);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n","const Websocket = function (model) {\n let wsUrl = ['localhost', 'traintimes.silvrtree.co.uk'];\n let wsPort = '8100';\n const useUrl = 0;\n\n if ('https:' === document.location.protocol) {\n wsUrl = `wss://${ wsUrl[1] }`;\n wsPort = '';\n }\n else {\n // wsUrl = 'ws://localhost:3001';\n wsUrl = `ws://${ wsUrl[0] }`;\n wsPort = '8100';\n }\n\n console.log('>> wsUrl', wsUrl);\n this.socket = null;\n this.timer = 0;\n this.clock = null;\n this.connected = false;\n this.connectBuffer = [];\n\n this.startWebSocket = function () {\n 'use strict';\n\n const url = (wsPort === '') ? wsUrl : `${wsUrl }:${ wsPort}`;\n console.log('Starting socket', url);\n const wsCtor = window['MozWebSocket'] ? MozWebSocket : WebSocket;\n this.socket = new wsCtor(url, 'stream');\n\n this.socket.onopen = this.handleWebsocketOnOpen.bind(this);\n this.socket.onmessage = this.handleWebsocketMessage.bind(this);\n this.socket.onclose = this.handleWebsocketClose.bind(this);\n this.socket.onerror = function (e) {\n console.error(e);\n };\n };\n\n this.subscribe = function(channel) {\n console.log('Subscribe::', channel);\n const newSubscription = {\n 'request': 'SUBSCRIBE',\n 'message': '',\n 'channel': channel\n };\n \n if (this.connected)\n this.socket.send(JSON.stringify(newSubscription));\n else\n this.connectBuffer.push(JSON.stringify(newSubscription));\n };\n\n this.send = function (msg) {\n console.log('Sending', msg);\n this.socket.send(msg);\n };\n\n this.handleData = function (d) {\n model.trigger('message', d);\n };\n\n this.handleBuffer = function() {\n console.log('*** handleBuffer');\n\n while (this.connectBuffer.length > 0) {\n const item = this.connectBuffer.shift();\n this.socket.send(item);\n }\n };\n\n this.handleWebsocketOnOpen = function () {\n 'use strict';\n this.retry = 0;\n\n console.log('**** Websocket Connected ****');\n this.clock = new Date();\n\n this.connected = true;\n setTimeout(() => {\n this.handleBuffer();\n }, 1500);\n };\n\n this.handleWebsocketMessage = function (message) {\n let command;\n\n try {\n console.log('handleWebsocketMessage::raw', message);\n command = JSON.parse(message.data);\n console.log('handleWebsocketMessage::command', command);\n }\n catch (e) { /* Do nothing */\n }\n if (command)\n this.handleData.call(this, command);\n };\n\n this.handleWebsocketClose = function () {\n console.error('WebSocket Connection Closed.');\n const now = new Date();\n\n // const uptime = now.getTime() - this.clock.getTime();\n const uptime = 1;\n console.log('Socket alive for', uptime / 1000);\n const self = this;\n console.log('Waiting ', 15000);\n this.timer = setTimeout(function () {\n self.startWebSocket();\n }, 15000);\n };\n\n this.startWebSocket();\n};\n\nmodule.exports = Websocket;\n","export default\n[\n { 'follow': false,\n 'name': 'nationalrailenq',\n 'id': 33546465\n },\n { 'follow': false,\n 'name': 'networkrail',\n 'id': 365344176\n },\n { 'follow': false,\n 'name': 'NetworkRailSCOT',\n 'id': 402687948\n },\n { 'follow': false,\n 'name': 'AvantiWestCoast',\n 'id': 1143560758476906497\n },\n { 'follow': false,\n 'name': 'CalSleeper',\n 'id': 2870293725\n },\n { 'follow': false,\n 'name': 'CrossCountryUK',\n 'id': 153368708\n },\n { 'follow': false,\n 'name': 'Eurostar',\n 'id': 98412169\n },\n { 'follow': false,\n 'name': 'EurostarUK',\n 'id': 59742254\n },\n { 'follow': false,\n 'name': 'GatwickExpress',\n 'id': 163816182\n },\n { 'follow': false,\n 'name': 'GlasgowSubway',\n 'id': 224607925\n },\n { 'follow': false,\n 'name': 'GWRHelp',\n 'id': 15589815\n },\n { 'follow': false,\n 'name': 'HeathrowExpress',\n 'id': 20240678\n },\n { 'follow': false,\n 'name': 'LNER',\n 'id': 313306238\n },\n { 'follow': false,\n 'name': 'LNRailway',\n 'id': 910487328627535872\n },\n { 'follow': false,\n 'name': 'northernassist',\n 'id': 194512268\n },\n { 'follow': false,\n 'name': 'ScotRail',\n 'id': 61569136\n },\n { 'follow': false,\n 'name': 'Stansted_Exp',\n 'id': 257511611\n },\n { 'follow': false,\n 'name': 'TfL',\n 'id': 47319664\n },\n { 'follow': false, 'name':'WestMidRailway', 'id':915554470175657984 },\n { 'follow': false,\n 'name': 'NetworkRailBHM',\n 'id': 583910976\n },\n { 'follow': false,\n 'name': 'NetworkRailEDB',\n 'id': 586614081\n },\n { 'follow': false,\n 'name': 'NetworkRailEUS',\n 'id': 581807264\n },\n { 'follow': false,\n 'name': 'NetworkRailGLC',\n 'id': 421061171\n },\n { 'follow': false,\n 'name': 'NetworkRailKGX',\n 'id': 459192871\n },\n { 'follow': false,\n 'name': 'NetworkRailLST',\n 'id': 581826097\n },\n { 'follow': false,\n 'name': 'NetworkRailMAN',\n 'id': 583895871\n },\n { 'follow': false,\n 'name': 'NetworkRailVIC',\n 'id': 587354752\n },\n { 'follow': false,\n 'name': 'BTP',\n 'id': 266094415\n },\n { 'follow': false,\n 'name': 'BTPAvonSomerset',\n 'id': 738664125132345344\n },\n { 'follow': false,\n 'name': 'BTPBhm',\n 'id': 952003488\n },\n { 'follow': false,\n 'name': 'BTPBlackCountry',\n 'id': 767698362866999297\n },\n { 'follow': false,\n 'name': 'BTPCambs',\n 'id': 2574726074\n },\n { 'follow': false,\n 'name': 'BTPCardiff_NWP',\n 'id': 951714852\n },\n { 'follow': false,\n 'name': 'BTPEAnglia',\n 'id': 4479942923\n },\n { 'follow': false,\n 'name': 'BTPEssex',\n 'id': 2949032015\n },\n { 'follow': false,\n 'name': 'BTPGtrMcr',\n 'id': 1670204977\n },\n { 'follow': false,\n 'name': 'BTPLeics',\n 'id': 761147194598711296\n },\n { 'follow': false,\n 'name': 'BTPLiverpoolSt',\n 'id': 951912242\n },\n { 'follow': false,\n 'name': 'BTPLondon',\n 'id': 957226980\n },\n { 'follow': false,\n 'name': 'BTPLondonBridge',\n 'id': 3346645594\n },\n { 'follow': false,\n 'name': 'BTPMersey',\n 'id': 951748434\n },\n { 'follow': false,\n 'name': 'BTPNorthScot',\n 'id': 2238888007\n },\n { 'follow': false,\n 'name': 'BTPNorthWales',\n 'id': 951487338\n },\n { 'follow': false,\n 'name': 'BTPOxon',\n 'id': 741228701791178753\n },\n { 'follow': false,\n 'name': 'BTPPontypridd',\n 'id': 1672678292\n },\n { 'follow': false,\n 'name': 'BTPScotland',\n 'id': 957256160\n },\n { 'follow': false,\n 'name': 'BTPSouthYorks',\n 'id': 3384315676\n },\n { 'follow': false,\n 'name': 'BTPTeesValley',\n 'id': 802182849872936962\n },\n { 'follow': false,\n 'name': 'BTPUnderground',\n 'id': 986236195049897985\n },\n { 'follow': false,\n 'name': 'BTPWales',\n 'id': 1430734374\n },\n { 'follow': false,\n 'name': 'BTPWaterloo',\n 'id': 951997044\n },\n { 'follow': false,\n 'name': 'BTPWestScot',\n 'id': 951757261\n }\n];\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 28/04/2020\n * Time: 11:28\n\n */\nimport axios from 'redaxios';\n\nimport { writable, get, derived } from 'svelte/store';\nimport localforage from 'localforage';\nconst baseUrl = (ENV === 'production') ? (`${location.protocol }//${ location.hostname}`) : 'http://localhost:8100';\n\nimport Websocket from '../libs/websocket';\n\nimport twitterAccountsJson from '../libs/twitter';\n\nlet started = false;\n\nconst twitterAccounts = {};\n \nconst OLDtwitterAccounts = {\n 'nationalrailenq': {\n 'id': 33546465,\n 'follow': false\n },\n 'networkrail': {\n 'id': 365344176,\n 'follow': false\n },\n 'NetworkRailSCOT': {\n 'id': 402687948,\n 'follow': false\n },\n 'AvantiWestCoast': {\n 'id': 1143560758476906497,\n 'follow': false\n },\n 'CalSleeper': {\n 'id': 2870293725,\n 'follow': false\n },\n 'CrossCountryUK': {\n 'id': 153368708,\n 'follow': false\n },\n 'Eurostar': {\n 'id': 98412169,\n 'follow': false\n },\n 'EurostarUK': {\n 'id': 59742254,\n 'follow': false\n },\n 'GatwickExpress': {\n 'id': 163816182,\n 'follow': false\n },\n 'GlasgowSubway': {\n 'id': 224607925,\n 'follow': false\n },\n 'GWRHelp': {\n 'id': 15589815,\n 'follow': false\n },\n 'HeathrowExpress': {\n 'id': 20240678,\n 'follow': false\n },\n 'LNER': {\n 'id': 313306238,\n 'follow': false\n },\n 'LNRailway': {\n 'id': 910487328627535872,\n 'follow': false\n },\n 'northernassist': {\n 'id': 194512268,\n 'follow': false\n },\n 'ScotRail': {\n 'id': 61569136,\n 'follow': false\n },\n 'Stansted_Exp': {\n 'id': 257511611,\n 'follow': false\n },\n 'TfL': {\n 'id': 47319664,\n 'follow': false\n },\n 'NetworkRailBHM': {\n 'id': 583910976,\n 'follow': false\n },\n 'NetworkRailEDB': {\n 'id': 586614081,\n 'follow': false\n },\n 'NetworkRailEUS': {\n 'id': 581807264,\n 'follow': false\n },\n 'NetworkRailGLC': {\n 'id': 421061171,\n 'follow': false\n },\n 'NetworkRailKGX': {\n 'id': 459192871,\n 'follow': false\n },\n 'NetworkRailLST': {\n 'id': 581826097,\n 'follow': false\n },\n 'NetworkRailMAN': {\n 'id': 583895871,\n 'follow': false\n },\n 'NetworkRailVIC': {\n 'id': 587354752,\n 'follow': false\n },\n 'BTPScotland': {\n 'id': 957256160,\n 'follow': false\n }\n};\n\nconst state = {\n 'newTweets' : writable([]),\n 'twitterFollowing': writable({}),\n 'twitterFollowingList' : writable([]),\n 'tweetList' : writable([]),\n 'tweets' : writable([]),\n 'favourites' : writable([]),\n 'routes' : writable([]),\n 'routeIndex' : writable(0),\n incrementRouteIndex() {\n this.routeIndex.update(v => v + 1);\n },\n async saveRoute(newRoute) {\n // console.log('Newroute', newRoute);\n const _newRoute = { ...newRoute };\n _newRoute.id = get(this.routeIndex);\n \n this.routes.update((v) => {\n // console.log('update', [...v, _newRoute]);\n \n return [...v, _newRoute];\n });\n this.incrementRouteIndex();\n },\n deleteRoute(id) {\n const pre = get(this.routes).slice(0, id);\n\n const post = get(this.routes).slice(id + 1);\n\n this.routes.set([...pre, ...post]);\n },\n async getTweets() {\n // console.log('>> getTweets');\n // console.log('>> state.twitterFollowingList', get(state.twitterFollowingList));\n const list = get(state.twitterFollowingList).map((item) => {\n return item[1].id; \n })/* .join(',')*/;\n // console.log('>> actual ids', list);\n // const routeUrl = `/twitter?t=${list}`;\n const routeUrl = '/twitter';\n const twitterUrl = baseUrl.concat(routeUrl);\n const postReq = {\n 'method':'post',\n 'url': twitterUrl,\n 'data' : {\n list\n }\n };\n // console.log(postReq);\n axios(postReq)\n .then((d) => {\n // console.log('>> retrieved', d);\n // const data = JSON.parse(d.data);\n const data = d.data;\n\n this.newTweets.set(data);\n }).catch((err) => {\n console.error('Store:getTweets', err);\n });\n },\n getTweetByID(id) {\n return get(this.tweets).get(id);\n },\n getTwitterFollowing() {\n return get(this.twitterFollowing);\n },\n saveTwitterFollowing(newVals) {\n this.twitterFollowing.set(newVals);\n },\n \n getBaseUrl() {\n return baseUrl;\n },\n updateTweetList(id) {\n this.tweetList.update(list => {\n return [id, ...list];\n });\n },\n updateTwitter(item) {\n this.tweets.update(orig => {\n return orig.set(item.id, item);\n });\n },\n updateNewTweets(item) {\n this.newTweets.update( orig => {\n let wa = [...orig];\n\n wa.unshift(item);\n \n wa = wa.slice(0, 49);\n\n return wa;\n });\n },\n\n trigger(msg, item) {\n console.log('trigger', item);\n\n if (item.hasOwnProperty('message') ) {\n const payload = item.message;\n\n this.updateTwitter(payload);\n this.updateTweetList(payload.id);\n this.updateNewTweets(payload);\n }\n }\n \n};\n\nconst webSocket = new Websocket(state);\n\nlocalforage.getItem('twitterFollowing').then((value) => {\n console.log('localForage::twitterFollowing', value);\n\n if (value !== null) state.twitterFollowing.set(value);\n else {\n // load twitterAccounts\n\n twitterAccountsJson.forEach((item) => {\n twitterAccounts[item.name] = { 'id': item.id, 'follow':false };\n });\n\n state.twitterFollowing.set(twitterAccounts);\n localforage.setItem('twitterFollowing', twitterAccounts).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n }\n\n // console.log('twitterFollowing', get(state.twitterFollowing));\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('favourites').then((value) => {\n if (value !== null) state.favourites.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routes').then((value) => {\n if (value !== null) state.routes.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routeIndex').then((value) => {\n if (value !== null) state.routeIndex.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nstate.favourites.subscribe((v) => {\n console.log('>> Store.state.favourites', v);\n});\n\nstate.routes.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routes', v);\n localforage.setItem('routes', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.routeIndex.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routeIndex', v);\n localforage.setItem('routeIndex', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.twitterFollowing.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.twitterFollowing', v);\n localforage.setItem('twitterFollowing', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n\n const list = Object.entries(get(state.twitterFollowing)).filter((item) => {\n if (item[1].follow) return item;\n });\n\n state.twitterFollowingList.set(list);\n});\n\nstate.twitterFollowingList.subscribe((v) => {\n if (v.length === 0) return;\n console.log('twitterFollowingList', v.length);\n v.forEach((item) => {\n const id = item[1].id;\n webSocket.subscribe(`t-${id}`);\n });\n});\n\nstate.newTweets.subscribe((data) => {\n if (data.length === 0) return;\n console.log('>> newTweets', data.length);\n\n const list = data.map((item) => {\n return item.id;\n });\n\n const tMap = data.map((item) => {\n return [item.id, item];\n });\n\n state.tweetList.set(list);\n state.tweets.set(new Map(tMap));\n});\n\n// started = true;\nsetTimeout(() => {\n started = true;\n}, 250);\n\nexport { state };\n","\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n","\n\n
\n {#each _routes as item}\n \n\n {/each}\n\n\n\n\n
\n\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 20/04/2020\n * Time: 12:01\n\n */\n\nconst reducer = {\n reduceOtherDetails (data) {\n const nrMessages = [];\n // we have national rail messages so put a box at the top\n //
\n let index = 0;\n const anchorRegex = /<\\s*[aA].*?href\\s*=\\s*(?:\"|')(.*?)(?:\"|')[^>]*>(.*?)<\\s*?\\/\\s*?[aA]\\s*?>/;\n\n if (typeof data.nrccMessages === 'object' && data.nrccMessages !== null) \n for (const item of data.nrccMessages) {\n const newObj = { 'index': 0, 'msg': '', 'link': null, 'linkText': '' };\n\n let msg = item.value.replace(' \">', '\">').replace('', '').replace('/gi, '');\n const anchor = anchorRegex.exec(item.value);\n msg = msg.replace(anchorRegex, '');\n\n newObj.index = index;\n newObj.msg = msg;\n if (anchor !== null) {\n newObj.link = anchor[1];\n newObj.linkText = anchor[2];\n }\n\n nrMessages.push(newObj);\n index++;\n }\n \n return { nrMessages, 'nrMessagesExist': nrMessages.length > 0 };\n },\n reduceTrainTimetable (data) {\n const services = [];\n let ws = '';\n const symbol = ['💠', '🚉'];\n if (typeof data === 'object' && data !== null) {\n console.log('>> reduceTrainService');\n // console.log(data);\n if (typeof data.trainServices === 'object' && data.trainServices !== null) \n for (const item of data.trainServices) {\n // console.log(item)\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : `${symbol[0]}`;\n // 🚉 💠\n // const time = item.sta !== null ? item.sta : `D ${item.std}`\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const isDeparture = item.sta === null;\n const status = item.eta !== null ? item.eta : item.etd;\n const trainLength = item.length;\n\n const carriageCount = (trainLength > 0) ? ` (${trainLength} 🚃) ` : '';\n\n const statusMode = (status.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n const delayReason = (item.delayReason !== null) ? item.delayReason : '';\n\n const cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n\n const serviceIdUrlSafe = item.serviceIdUrlSafe;\n\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': cancelReason, 'type': 'train', 'delay': delayReason, 'carriageCount': carriageCount, 'via': via, 'statusMode': statusMode, 'isCancelled': item.isCancelled, 'isDeparture': isDeparture, 'serviceIdUrlSafe': serviceIdUrlSafe });\n if (!item.isCancelled)\n ws = `${ws}${dest.locationName}${carriageCount}${via}\n ${time}\n ${status}\n ${platform}\n ${delayReason}`;\n else\n ws = `${ws}${dest.locationName} ${via}${time}\n ❌ ${cancelReason}`;\n } \n\n if (typeof data.busServices === 'object' && data.busServices !== null) \n for (const item of data.busServices) {\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : '';\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const status = item.eta !== null ? item.eta : item.etd;\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': item.cancelReason, 'type': 'bus', 'via': via });\n }\n }\n console.log(services);\n \n return services;\n },\n reduceTrainService (d) {\n let callingpoints = [];\n\n const departureTime = d.sta || d.std;\n const departureStatus = d.eta || d.etd;\n\n const currentLocation = { 'locationName': d.locationName, 'crs': d.crs, 'st': d.sta, 'et': d.eta, 'at': d.ata, 'isCancelled': d.isCancelled, 'length': d.length, 'detachFront': d.detachFront, 'adhocAlerts': d.adhocAlerts };\n\n if (d.previousCallingPoints !== null) \n callingpoints = callingpoints.concat(d.previousCallingPoints[0].callingPoint);\n\n callingpoints.push(currentLocation);\n\n if (d.subsequentCallingPoints !== null) \n callingpoints = callingpoints.concat(d.subsequentCallingPoints[0].callingPoint);\n\n callingpoints = callingpoints.map((item) => {\n // console.log(item)\n item.et = (item.et === null) ? '' : item.et;\n item.at = (item.at === null) ? '' : item.at;\n\n item.etMode = (item.et.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.atMode = (item.at.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.delayReason = (item.delayReason !== null) ? item.delayReason : '';\n item.cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n item.classCancel = (item.isCancelled) ? 'cancelledRow' : '';\n\n if (item.st === null && (item.et === null || item.et === '')) {\n item.st = `D ${departureTime}`;\n item.et = departureStatus;\n }\n\n return item;\n });\n \n return callingpoints;\n }\n};\n\nmodule.exports = reducer;\n","\n\n\n\n
\n
\n
Station
\n
Due
\n
Estimated
\n
Arrived
\n
\n {#if list.length > 0}\n {#each list as item}\n
\n
{item.locationName}
\n
{item.st}
\n
{item.et}
\n
{item.at}
\n
\n {/each}\n {/if}\n
\n","\n\n\n\n
\n \n
\n\n","\n\n\n\n
\n
\n {#if otherDetails.nrMessagesExist === true}\n \n {/if}\n\n {#if list.length > 0}\n\n {#each list as item, i (item.serviceIdUrlSafe)}\n
\n
\n {item.location}\n {item.carriageCount}\n
\n {#if item.via}\n \n {item.via}\n {/if}\n
\n
\n
{item.time}
\n\n {#if item.isCancelled}\n
{item.cancel}
\n {:else}\n
{item.status}
\n
{item.platform}
\n {/if}\n
\n {/each}\n\n\n {/if}\n\n
\n\n
\n\n","\n\n\n\n
\n
\n
{fromStationName} TO {destStationName}
\n \n\n \n
\n\n
\n\n","\n\n\n\n\n \n \n {#if searchResults.length > 0}\n \n {/if}\n\n","\n\n\n\n{#if editorVisible}\n
\n
\n
New Route
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n\n \n \n
\n\n\n
\n
\n{:else}\n
\n \n\n
\n\n{/if}\n","export function longpress(node, duration) {\n let timer;\n\n const handleMousedown = () => {\n console.log('>> handleMousedown');\n timer = setTimeout(() => {\n node.dispatchEvent(\n new CustomEvent('longpress')\n );\n }, duration);\n };\n\n const handleMouseup = () => {\n clearTimeout(timer);\n };\n\n node.addEventListener('mousedown', handleMousedown);\n node.addEventListener('mouseup', handleMouseup);\n\n return {\n update(newDuration) {\n duration = newDuration;\n },\n destroy() {\n node.removeEventListener('mousedown', handleMousedown);\n node.removeEventListener('mouseup', handleMouseup);\n }\n };\n}\n","\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n","\n\n\n\n{#each _routes as item, i (item.id)}\n \n\n{/each}\n","\n\n\n\n
\n
Twitter
\n {#if mounted}\n\n
\n {#each tweeters as item }\n
\n \n
\n\n {/each}\n
\n {/if}\n\n
\n","\n\n\n\n{#if tweet}\n
\n\n
\n
\n \"@{tweet.user.screen_name}\"/\n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n\n
\n{/if}\n","\n\n\n\n
\n
Twitter
\n {#each _tweets as item, i (item)}\n \n {/each}\n\n
\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 19/04/2020\n * Time: 21:19\n\n */\n// import { wrap } from 'svelte-spa-router';\n\nimport Home from './pages/Home.svelte';\nimport Service from './pages/Service.svelte';\nimport Timetable from './pages/Timetable.svelte';\nimport Settings from './pages/Settings.svelte';\nimport Favourites from './pages/Favourites.svelte';\nimport Twitter from './pages/Twitter.svelte';\nimport NotFound from './pages/NotFound.svelte';\n\nconst routes = new Map();\nroutes.set('/', Home);\nroutes.set('/timetable/:fromStation/:destStation', Timetable);\nroutes.set('/service/:serviceId', Service);\nroutes.set('/settings', Settings);\nroutes.set('/favourites', Favourites);\nroutes.set('/tweets', Twitter);\nroutes.set('*', NotFound);\n\nexport default routes;\n","\n\n\n\n
\n\n
\n {#if currentMode === 1}\n \n \n \n {/if}\n\n\n {titleText}\n
\n\n\n
\n \n \n {#if showFav}\n Favourites\n {/if}\n
\n\n\n
\n","\n\n\n\n\n\n\n
\n\n","import App from './App.svelte';\n\nimport { state } from './store/store';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n\t\t\n }\n});\n\nif ('serviceWorker' in navigator) {\n //\n navigator.serviceWorker.ready.then(function(reg) {\n console.warn('Ready??', reg);\n // main();\n });\n\n window.addEventListener('load', function() {\n navigator.serviceWorker\n .register('./service-worker.js')\n .then((r) => {\n console.warn('Service Worker Registered', r.scope);\n })\n .catch((error) => {\n // registration failed\n console.error(`Registration failed with ${ error}`);\n });\n });\n\n //\n}\n\nexport default app;\n"],"names":["location","active","linear","require","global","get","Websocket","twitterAccountsJson","LocalStorage","findStation","minuteFloor","reducer","debounce","searchStation","Twitter"],"mappings":"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"} \ No newline at end of file