From 25b64edabd58ec68569d8e9e6a80c6bc668d08c9 Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Thu, 14 May 2026 19:39:05 +0100 Subject: [PATCH] Add features: - manifest.json with PNG icon set. - reset option against QuickLinks storage - 'Preferences' store, ready for preferences page - including location boolean... Important! - Minor service-worker improvements for better offline fallbacks --- src/app.html | 4 +- src/lib/assets/apple-touch-icon.png | Bin 13667 -> 0 bytes src/lib/assets/owlboard-logo-square.svg | 1 + src/lib/preferences.svelte.ts | 43 ++++++++++++++++ src/lib/quick-links.svelte.ts | 31 ++++++++---- src/service-worker.ts | 29 ++++++++--- static/icons/apple-touch-icon.png | Bin 0 -> 11638 bytes static/icons/icon-192.png | Bin 0 -> 12441 bytes static/icons/icon-512.png | Bin 0 -> 38163 bytes static/icons/maskable-512.png | Bin 0 -> 36559 bytes static/manifest.json | 62 ++++++++++++++++++++++++ 11 files changed, 154 insertions(+), 16 deletions(-) delete mode 100644 src/lib/assets/apple-touch-icon.png create mode 100644 src/lib/assets/owlboard-logo-square.svg create mode 100644 src/lib/preferences.svelte.ts create mode 100644 static/icons/apple-touch-icon.png create mode 100644 static/icons/icon-192.png create mode 100644 static/icons/icon-512.png create mode 100644 static/icons/maskable-512.png create mode 100644 static/manifest.json diff --git a/src/app.html b/src/app.html index c7e23ff..283010a 100644 --- a/src/app.html +++ b/src/app.html @@ -3,12 +3,14 @@ - + + + diff --git a/src/lib/assets/apple-touch-icon.png b/src/lib/assets/apple-touch-icon.png deleted file mode 100644 index fbdf1977b9df64f193b64ccc0b84e2d594fb1965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13667 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 z zyoSCPUec~VcCy9Jw4&oX-$UkV&v1at3T~zYzkIQvb~>9#pzpcoi|bke#=v7SbbjZ1 z7&>;m;+~qPGZ=VnKL(!pS;@Ybq$(@0ZHuy2Iy*EpY+sl{ecjJ+08HSanVv~!j(l_) z$&2b+Q()zC7)=fGDzBnEX>{M4xcaX@)|wou9YpPW9i89#KC*-15DYR08e9s zE61LV#SlJl5WWBO4ANKHm7V(wd1DCPv6WP@IJEz*;rXB}uT%dxEJrcYH*vwT)!$O{ z=#q~v`haX_7Xr83q>P$9(;5*!c^bTEZlCPZWy1wB@x#XuZ#e^_I;31ZO4b4)dipea zpZhfifBiDD{R4SFFe?^X+YCtj!X>0HUXigs_DKxLh9ig`JdEh+(_n!B%-R|lx>bIh zBh}N3q4y4BsGLHu}58j8~r++B8A<9?8O0`} z)K(*~ zFSm;q36h9J>dblcocT8xUJv}6H^9GgIlMDxz^bo<;qm5<-(cXG40t-7tCs8OMe_0$ z#6LWqTT6v=Vh-5;HKE;4EKlg%kCg-yn>{bLNA@dAKtK`VN5 z?BM$d5LQ|8EnbMg&f5^%_g3yxr3aSxeexd54ulbTWgjBg2hMX*yV+2e8#Xsh@I(Tc z@DMUr`@o~of@2yvMYfkt!Rlq2r;(|iW}_E>?7$(!4jdX)EF&0%5efjN0iH~O4@Gm8 za*P%IoXmdJD}_;IV6Ya-(KZtDqp#8ev%qV<(jJW^W&J4p;HDMyC#+xmhYb7a_tx!ZIdgz)t27SDA@{~R2W0e zqYuJMtQm5P9QWbxwM;XlW*Dzx?>vyhFQ;hfRQJ z2QO1VEjtz6~Zcz$G)QsW(Ga0AyVhS&f5?oc1g{IhY)|`UHx3MW4j?{)hMqb z${D~VwlkST^vH)~1Ols8p!SK+*_>H-p&m&WODSXda2MlA`LFOZWIJI@BD3YfjQqaa z8&P}jUF6<@u_H$drqwa0gDGX&jZ&bUr0*OKvJ}52`n&zgsaXY)_oimlKKZ$PDW%2m z0;pv+qfo7xGWV?gNAZE;J~^!D_y{m7POb0yX4F6OS#lkCHWEd2?|vn`)WH-7QM0ot zSd4tp(IuM|t=|!S|A^MjI<#pc>c8<+t`D))dVp**AOe@!f$hGBF3Cy@Raxz&WkO!Qv`)$c1X{D*q&w6K+R(hq5gsU zv}TBB1_u${vrnzgWGg{eV^OSUE-W7U)&$sjaL8=yJGg1Uw|uGQtdlAPH*Ux+%6|5| zL#SmIMC_j#0|Ga0#I!Fzf$FVW5IJ-hJf0+Z4Q5)H{+EA-nw{Igy(UuUE-F^Mmst#F zFkACyqv2~`LSW5m?Ky};dtXDU<*am(diqee{b(U&bWjeoX12p^l}=x{2;bV(+LKb5 z$AW+PQh3*_M7p;J*{gk;P*c>J6)uUfVJ#Y-dwxeoOGmJn0ffdUU+`Iu(|1+ zWHC%dL-5E)$I<)4A4y+R^YHzs-LYLcH!ptfJYpXnL*nSMToZVKnUtlU% zH|EN5gTbH|2#<+*&Ky)s0kJJCax0khTy`)67dTl()rBoyOIt|H1aT+Alnenp5@j@zdVD~$rg9inH&t#)LD^-X2iUpJUC<;9TAI*YEma!5PADu zpn|>Qz!;dvlS@|_hHD@MmMw*E-O7R>kTJk)sz=qPX4j72@cUp^SHY~Qh7k&Zd8~@S z3;>b0-zC8;I^T9MD@QXFsX9q;X9VKwp z+;@*wW0}daCC;=W^5Uzc{1>SRNmvBPpkKSBS2$!Wcp1Imf_{pGBIm zCf{V+{0kSrw`u)o*1?=T1EK5IO}X!p?(N0EGtZVbU!)GAFw!hjfiN;Hu{7k4fm||G zdUaCoE`-`$J~)JdpFE3fEH<@BU<|dpc8)4Y&HeY}nz>J*EgOqr;3v<5hlilN9a98K zk$2V^E@$dm4(3p$8JzX~l~|AB0he=^Fz}0Cm#&aC$v5w;nF!o=Bdo>q5nQ!uN*y~- zr!nx0=aD{lN$s1ZR)dir(N|}tSk|p%B8q(Kip^vY;f$8jX<8%Jqd4m^JcX*DS0h96 z@G%TlSEKg+d-awnn`o8Zu^s7f*wG-y#7T1&gD>qt^6*DAm^HE*5X{2R>60iDbc1Qk z@Mfy}2q8dZ(Cf-qtO4;i-o@bW_K_M3PL|D@)~MY{f5Kt@-D@R9`%JUTB6AuDI#g$t z>utvf2Sb^jSWZ7lCa$ZnIhNR~uOqx~|CEAyD#09nZ9ihKzDBE1WO`PEW=ILVF+m!W zyiy8dgwj%KfGEg%fL;z6ePwS>sWaE0c3YXFFYl$7+d|K3(9{{yA|%-*U_Uh{x_|411y&$e_We0#SzD!qUsc)vv-(_lbCR^5`HU_1kpSbabP5&5m zfN0;zBd>3UI!Lq&SmSTJi)?rZwGTg_Tx#svCP~fx;@3zXKIRh41goLwuAnnTo7rYL z?3RCE46L}uV~nklS~Q#f9EFdKUIuor6J$_I4@V4j^6*FK>+47Dv4sB$KQ=m$p-`SnY=NdZz{Tn5ZK zR)dLJWiX{Wixk@)XrNT3b)e?l4!H_Jowpa;kK?eGFGkI0cB|Ld`;=~}wswSHd>N@z zt@h4U(PXD0FxwUG>wqf=_=G^0&MFbiVj(MXDUJG2i;hbTH5fx+$E^t6c8hD%ktX|= z84M%x);oy3_LgmrXd2A+(2`-64$2V}n-NonYM?c&hXQmNypEv;geopma_09Tc-IaD z9W19jRkmy-is%Q25#6)T)?TPAhBTk74YN9JCj?hRv1ve;Ydr|+?LO2hwH^jL6h!dO z?Fck)fLUGj=>U0X2+_kw5#9R+_)tVVHmB+gSL0|5i8HN;z4v}@;;LXB6$;2IRTlP;)qz7R)uD&vyOIFr<*ygB3L*yern_cb4SautBhdH*g&)A9Mc6BSrEst@c1+Xmm zuHOLP>Q(T~p9f=-Sd#3}5Rw-!BmVIxNWTAJ-r}N65%5WZC{_;W?!ru|_Ee%uQfOU2 zt&{nXDYYQ*6RR=pd9`Baz0NY>S+)e;)hpngHy76QrreSkm9{3FBb!Jd-F+3QOP7)O z_(X0+tI-iqNnJ6eeJo*x0w%3~(}7uSKg#jV`U)*8C9*4EQm8jsscl!g8rEti0zOZz z1<$J$JMVSrEK(;0-uof?bXVH9EGiJbQsL!n-7z}FlRW9y|l#ND_85l&m zw-4!#PNXheMEdLnAf2)AGFmpsPA!IWn3WZCj5+Ey?igr$ctxY$x%+=1k9tr;FicLd zAS3U#w;=+sRd549h9li_7U`C=g};l(16ExHv#9|_Lp=rm(EtzZc` zwOZ#6LzWF;g%(2zx6QB5bL({Tp1$FZoK9DjET^k$c_2#`4-xxiS7CPUo67@QRKVmK z)TJa91dGsBYhAF#aD%j%uDjk^XOgHk$V63ES&T}+%pArjmh;*90;ug)q$NTP$G)1P z);3@(UROADZu1NoayQ^5UM$pwf=H^Y>6b;&${u$S=CXhmyAL~fWl$F?GR;>*q1HsO z^FWnnMwopDgxpWU)kUry&eC@QWX<4@X+rMMWw-~lcs*}5)X?$OfTmg(*${#f7i311 zvdg3+s}+G3gkCA+*E>~ZO~332W;T&P%Q7Ews7sT35~yv0LW)}F>9qpvl20TmcjY~_ zdMTR%#2PZ)dsH?n)bK*o-J@`f7c!^Q;KbKj+&L@zNEQa~qB_vrM_{DGg+$ zUxs8YOHG(v8mO||?BS*bwP=`J>8tJYX%rh$gf>C71%TUU?)01oBPZP)UIf%N|H@b8 z$pW*xK&zmJO-fG)HBqf?ytP`bov1d5t*p31=TXK9rK+*^lGQX-rVVFH?lmr#5LlJy zwrLBsC{LX?(^VBLQoOYgY*19Y2=2+`pJg-VwcbOs7g`oWs=ng~b7g>b1hvXnms$`I zZAhL;AgFfn>CUqy-6)`U4qY`Xw-CIh8dHIH4703UwQ_ed3l(nm%|w%0hk*xlEr@7nyvT+?l%E!;wuXOZ5|TM{ z%CkE@nxx^3uy+~As>-+tg1PcQ=XDgdt)&(Qi=`F>x;A9=|F{I~a^S91CbdEkQy?XQ ztZy;O9nPL)K+9@B6uw$G*i!U->1eb){8H5}hP!k!z=Un2HpY4dBFxF_COORG3iRj~ zQ}}A31(B(>jm;>nonxfHP>^*l1-uf0BB3aWl~L)$oB}TcS!OXR82n8Npyk1$!h$#i zTWLp>DLu%t&81ewMWUUjvI(D42FN5;o&cC92I#zwreX^sQtQH?QD`v){#mHnn*Ld5 zIGR^7Q_UP)42<{CchI;&}Lx*H?aj#sdZt{Xb(0eM=gTeJ^wsj0MjxX6p*K$ zDo+}qm8m_dTI+x<%~RVbz05!J@hpR8`WFn-fSS diff --git a/src/lib/preferences.svelte.ts b/src/lib/preferences.svelte.ts new file mode 100644 index 0000000..6de0e82 --- /dev/null +++ b/src/lib/preferences.svelte.ts @@ -0,0 +1,43 @@ +import { browser } from '$app/environment'; + +export interface Preferences { + locationEnabled: boolean; +} + +const STORAGE_KEY = 'ob_pref'; + +const DEFAULT_PREFS: Preferences = { + locationEnabled: false, +}; + +function loadPrefs(): Preferences { + if (!browser) return DEFAULT_PREFS; + const stored = localStorage.getItem(STORAGE_KEY); + if (!stored) return DEFAULT_PREFS; + + try { + return { ...DEFAULT_PREFS, ...JSON.parse(stored) }; + } catch { + return DEFAULT_PREFS; + } +} + +class PreferencesStore { + current = $state(loadPrefs()); + + constructor() { + $effect.root(() => { + $effect(() => { + if (browser) { + localStorage.setItem(STORAGE_KEY, JSON.stringify(this.current)); + } + }); + }); + } + + toggleLocation(enabled: boolean) { + this.current.locationEnabled = enabled; + } +} + +export const prefs = new PreferencesStore(); \ No newline at end of file diff --git a/src/lib/quick-links.svelte.ts b/src/lib/quick-links.svelte.ts index e897e22..95d948e 100644 --- a/src/lib/quick-links.svelte.ts +++ b/src/lib/quick-links.svelte.ts @@ -11,14 +11,18 @@ const MAX_ENTRIES: number = RETURNED_LENGTH * 4; class QuickLinksService { #links = $state([]); - constructor() { - if (typeof window !== 'undefined') { - const saved = localStorage.getItem('ql'); - if (saved) { - this.#links = JSON.parse(saved); - } - } - } +constructor() { + if (typeof window !== 'undefined') { + const saved = localStorage.getItem('ql'); + if (saved) { + try { + this.#links = JSON.parse(saved); + } catch { + this.#links = []; + } + } + } + } get list(): QuickLink[] { return this.#links.slice(0, RETURNED_LENGTH); @@ -53,8 +57,17 @@ class QuickLinksService { this.#links = sorted.slice(0, MAX_ENTRIES); - localStorage.setItem('ql', JSON.stringify(this.#links)); + if (typeof window !== 'undefined') { + localStorage.setItem('ql', JSON.stringify(this.#links)); + } } + + reset() { + this.#links = []; + if (typeof window !== 'undefined') { + localStorage.removeItem('ql'); + } + } } export const quickLinks = new QuickLinksService(); diff --git a/src/service-worker.ts b/src/service-worker.ts index 6b137ee..4873a8a 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -6,9 +6,17 @@ import { build, files, version } from '$service-worker'; const sw = self as unknown as ServiceWorkerGlobalScope; const CACHE_NAME = `owlboard-cache-${version}`; -const ASSETS = [...build, ...files, '/']; +const ASSETS = [ + ...build, + ...files.filter(file => + !file.endsWith('manifest.json') && + !file.startsWith('/icons/') + ), + '/', +]; sw.addEventListener('install', (event) => { + sw.skipWaiting(); event.waitUntil( caches.open(CACHE_NAME).then((cache) => cache.addAll(ASSETS)) ); @@ -16,11 +24,14 @@ sw.addEventListener('install', (event) => { sw.addEventListener('activate', (event) => { event.waitUntil( - caches.keys().then((keys) => { - return Promise.all( - keys.filter((key) => key !== CACHE_NAME).map((key) => caches.delete(key)) - ); - }) + Promise.all([ + caches.keys().then((keys) => { + return Promise.all( + keys.filter((key) => key !== CACHE_NAME).map((key) => caches.delete(key)) + ); + }), + sw.clients.claim() + ]) ); }); @@ -30,6 +41,12 @@ sw.addEventListener('fetch', (event) => { const url = new URL(request.url); + // Uncached static assets + if (url.pathname.endsWith('manifest.json') || url.pathname.includes('/icons/')) { + event.respondWith(fetch(request)); + return; + } + // 1. Static Assets (Cache-First) if (ASSETS.includes(url.pathname) || url.pathname.startsWith('/_app/')) { event.respondWith( diff --git a/static/icons/apple-touch-icon.png b/static/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e628b4b2603491222cdfd40d3504e8a11952a GIT binary patch literal 11638 zcma)CRa=w|8+_>Q?xnj?x|Z&4q*Hq7W(kpQBqSxIyQMn>r5k|-B&0jP>-`7c%r$c~ z2Xl5G+!Ldzu7HJ3jt&3-mXe~ZHUI$4{|OZy0D#826k7lQkgZe{WP!K;SlC^j1^^&H zNmg3d@9V!{Uw6vU4*R>vJgj9oWYkoUG%ny-HU!cV*2HHtY8*(jiOD3Q%&!YFATjm6 z2{JIac{W?fn9;M}5|uPzGf8z(YPFpVNL6o4%}|XMjzH}HEJYXn!8vRBZuI0-b;e7> zkOM!;9B)1UKb&p_Z7rEcLj_O#aHp(@8F+L)gc+%tPo-KD>;50+uJa+R0ttTXLTu_a zSomTOgaQWIe}zG4w>vqE{$yz6uxC(?>9NGqJH0SJVbqzzdD^BR6rs^Y&WWpqo=>E* z7y!aQ_`}&$Pkzr6`w-%facJ4~2xa%f&ZW>JutFHo--*Kmpl?49F{K{T`SmlWq#*6d z#qQvHmT*?YD+PvPnC-Z#&3HUrGy*5YUJQ3Y(icQ)GdT?=3mS1IbHDS^Ax^J@)TmMsxL&-0ZK`c=U&T0B-4eS6VMzcOUSO`OpfvsF;>+Y zlI*|zr>{@Fy`i7mWDGwXOh}>Pl^|0*=A|z%mr5yXtl9n5OlZ5<^hf$Q>JB7amJnU# zQXZ{&NJA%9RTP5zS^8TPYbm?q*xjWjbtjtg-xAQ3p0LO=5}Is@Uu0QsX0|#EbP+y3 zgq^2X8OgHDz?k1kkqvxdVakmFDPpo(6^#iH(9T6s%0joZiOo1PX>L&;*c=iWZ(LLM zO8W7OLA+WvIkCx(QrMzsr~#4c7|iPT?v7HZ(mbDM9Rq|f5F9X!TH>UU>|{1qz#NGY*`V1mfTO<>s{-I(X~FW>l`V@v%?3l3V=M_sUmc`*G?pjO zdm5lF-w*bG+B!Lbj$QUCW~B42WoTO~XN?`?w773rHoj!Uq6~UOe3Pz8O0HL=VYr?894^vObq8>UyAjXu+~>cxtUF+XApP5gyx~r4^#dfEovg3 z*etOXxFs|uZ^W~79$?js*lhH1=^bcpU*WHTAhJ=U%ofyR{VSCm(2Ryu2bx6{+e+oc zpZx?y!o61ho&Il-HOG>V#7z-)o}k#whAPs}zhGC^jpLT|pQ`%Y%aKe3ncMwkEPk>v zQRXCr0|COwz9S;&0(-NKvWS;JlYQ^%8jkyWP--#lN3uW#J7v{mB|Y|@Y-x8-vgR;c zh+0CwlORgwdyNiDw`fQa|I35xp<&epVRAJ%zL127KSo2uKXovQOy6mqi-*Vfe9{=) zwlVgzCifR#5{juzaC4E_zke#B&w>|!@WOEWA8bizZHV~aF&!}|VShy%TitdyV3b$2 z*lRq$&0WbkisACaE4sced%a8v+R?pTE=Q$hC?E`}$KqsXdZZ4?+Lp!eas6=JfFdJk zIw?y>@L_)^oRt-Cv37@oVt!KG*ouQfrF=|ado(g_FoVnt5t%S@Ox#zNx;?svrQp}B zI?HnG<)5+yRV7*BEjV2wKRjBUiKH0DXaar~d1UD%4wo45n|D1O9y#$s@ff&}o2$qK zrVq92V7mJXnY*ZVM}NVCcu^}2rxAi-|jv>M0R~O zt@SAKD&`ao5EQ@Hg0&GaBTQrFLK^t!jq#uMmmcIW;!H}i;d>g2uFnc4u<7Y1m!TD% zs&!eM8Q$Lmzp}6ibASg4eQc3UKIlDe*e`bq4|B|@BADnv7ZsA)MkzFK^N>^cJtnQkl7*+7N~V`l zx)qQbBNwNanvGq?@L!!3^3>vg`~jx5#2b*;+#qTZY!6fdhA&8zoNE zW8IcCl( zF8`OdBWJ#5baaa!W$B!;{H(TPm_Xl!4xfh9;a~EXJ-5A9{;(a+sC1qf$*3=(rk;x9 zbeMPyW)i|Mf80M>eA!70vlYKd%+NTTSUc|2pXiEq8u25p&*X?Q8y5jRwcvZl z{WygF8iVM%j+~fB&p2A6O!XG~)z#rS`}9o-PqHZ_x~6_=49?$Uvbd;#6q%NYr?0bd%ZN znE4bE<7!-TIE)}o8L@uWtKa_cw4%%Y!bgIN2&Gf5=RR9;4?>`2BY##i`rlP$DK0-S z8S`atdV;PVNRIxp)KbQ4|5aH3Y7AJy`s?CfVdl`2TGOcm46~m+uH)OT(ffoG{{(sU zhycJ!bi_>1O1SQ(p@N!Ris_1kXlK;_={PYMK;oQ76uMJiJKwbfy3=8~oZ=qHFW zh#3PntgKZYR~lFmZUKPWR*|5|gbLqHlzk*l{d`#HD7zRsU9@0>r9O+ZcZT~2W!(nUeODD%amE-WleSOe&b7 zlyuZGm4$9gVRV9MLAgWDPFbaqWTt=W!~avdNI0be2)BUnu_n45aXlC{db51kMC5QhqMFN!ykT3lU9EoBiABj zg`6v3Pm~Sl${_%#o9aWose@iM!% zV+ni`4*0=KE|XlsT?|YeHXg4z@5PBGykYc$oKnqk%Ma6b?6~j%P}=}CH`M6y5Taa# zWZbZIdLhALk;fh{vk~RFMuM=H#IYxaa{x=-dS&FU>OwYYDZc_mF=-&IZ`Q80^^+kq z=tZp7658@Q#r>)D_89}u99F1DM=bD#$!kMD`eZ=R90#etR&&bIz|N417Y#G@aC-=O z$$qA_J%P>+D$Q1tGCzVd5n<1cI52jbOEqCrX{NBf&8Ee2E{)yk8xdsC+R0X5J$$&C z;tspb<>*McqL;*rBJ-=>xaK+C+b;OG=o1T~AVKA5BU#69Wg`Iw)>_Z6@+gO%V@pel zlih$uY_vlKjM4 z0tNxVpB(ZPZ4J+fjt);{*N)A6Ra6dM>H^BLVl=L=kGwyFCBOx%WV2-X%s`fne9Afb_;1A@ z`GUV8GsPX%XiWZ_sW%Zx+<+9|PMIv5OrgyyuV0O~co@Qx0ZwJ$@a8+XvS4SQEjUBY z`J{30kz;n`fw;BXm)lzjqagkptZVT7B_c*}v-OAl^@t2A5c0bItCDCS)y~z7N~SYz zcI}JsLcU0luCpXYvRw!&vvJlpG`;eKU1t%^!11_`uUDmL@?8g?mvm~A&I4ik%w&l!S#{z^+sc940h2U)U-5!}q2F)zuN2c$^5>;n&F?z*Oju5~MsZnhJShgy9YQ~K1C53xCW zMZjutPCa)nMWkz!Qqrh3CO^|Bz+lQ5{%aFeKtYY!aXZVr+ovbmno6HPC>zc%U&`bny8DryljiRhEOffdwDfxy9V z7)k*s_)RTU9V%vUaiVV7!OWe^&9i;}^(>gV*|{PZ#PufBN{WaZ>uhTNa!rs)HZ2FO z4{{uC61{QlZBf3lj!dNq*~v+AoW)$gi|UWC^JYf*ohuy|feX1ZWr!Bx%USVF4j>Fh9uto_81{km9?qyE#sR zrrnve6%#5DvT3?hG*%pzAm`M3g-Pglm1}dAK`)OwA9CQh#lDOV_8R?Xs>i4%RDMV4 zz5$`{nxiBOd9pA3PBB6Y02UJ;GD+gfS2I$yp6L)8P)=`ZmhiNZk@?GK6c4!BB4jq} zFy?2f9#;p4`qP4J9uV#V?mFOr^nTilb^nVg;Rgs#s?8b6(R;tc!8?;!OPH8IH7wI? zw(n>JLMs5W{>r{tjpXqmkc(Q}wM*oQp2Hmfd`@NRt61LpjohOjdn)Xi6rCb2YOy+g z(~C+Y`-8pwcv;oREwv(*3*!O{CYMvphlBo^sxB+ZM}gq`Eb=8z1XNl;jKhrl~!`)Ro3EBD;>^=#{!AKzr+X)z;`oPL{FvTuI3FQga71<#JZUtJl) zS_=5lD4~`Zt+o}CmE1o_yT2P+U1`n`N2Y#-rS}USNY6hvz>oN}cAbHw_ z-+s^CIC-9n!FdAaDeKa~UDsOXOH;u`W2u8sO2zc~6fL^pWe2qD`XYwTuEor zG>YBlZtWfOdjI|I^qS&bg>Z9~r6{y-nWKH==OiI^y|z^)Jfj9VgU)YTW0QOwFY(G; zC*zHv_i@1ma>}q1G`S;wd4DY9CeoSW))q}Ftc)0J)`^ckdm0zWuo?K9dlnzu@TICc zS+rAk?o$-RjYeCKUYuWgI&=GLDrzG4YvetP)YkAo0LTxg@*GrzlPo!-TTrecc8 zktw04Ohs;0#rEBR*cCVb7~*htGcF%OY#*Picei ziiB{bUimpgOV-lIaL3D|(`CCti>)hgWR%exgBmNO+}wf+L=bH6C|tUDheQO4vF%di zWUx0INUJ!n*neaSB)l)Ku?h3%t{VLjadUx%>qNVv+^IbVS6ZRHSj3OHAtn-{Wi!6b zaQ&A!=Ka2UVwf#E3J$^XRgr~Cn$t&fR4Z#rSGoQfjJS>7bf*&?r^(48QE*kz5s@pB zFFnd$z(7zi005s|4W%+mZKGwi66PxDG0K{Cf3I(?TdEaV|6+Dr%OK!ldGosAst zkFaX9pTO>parO0^1M*E+V0N={PQmtr#AKbN_)VjQk@$(b5$rFzNEJjVbhd*L^}iR9&iJfb(#?QQpMB#C6($Bs z8X1;oyOgP$N}rGm_OUpXsX*ika@mbRar8n^GL%R|EZn3__Qg(i#C4r`rF}Z5j1;w1 zAY;pu*~hxLcpO^8Qn&o@`OElqcB{{>u?gg9-^2eqA|zg=mv9EO5V-Aix!=n!Mc8rF zR|u1Cswdi8csn(!t(>6i`bm_XlxP;JHY{^T0Aa;fK5K6|*%WnAsrJZ&hXcZ@YHMFl z`JF4G>)b)<4_2YK#-0)#VS~&U%|({Sw!1Qxu)@u)X2+I)>WnETchWTpS#n2BAIwgF zE-cPJe>szDHFdF9keJH&vJ`YoL6juM^P3<-<*dDBziS5a?wtTVDj!dyx6aSI-UE-$ zqU8|%Lz=!_%>6;lG0WP#RfU@80hZlS8T5@0S0CR1O~RbtLqGHAhY4V&pfO4(y=aB6 z0k*%RSsYP0%|-4|-h_j% z{UB%3hgRi1pMXXVb3x|zASJ&!`6SOiuM&yZ^`hhP1+6A}AaloYirLBOGzIyoQn+R);u`bwR2 z${NGH4tpZim~-T;G*uI}z}iNd$v?;dE93{Yv-l>SMyg9?<^4u_PcBB zANQB%G;co*T6u6S28!Ubpt{~C8g66{$s*%WyCX#F(z)+G#{Anz-rT7u5L|XDd~kqf zk;dH)$@CIQd~N~xBwEpL$!9XcH7w`o`33R&2`6A+dug-qCq3ok#Gcd6?oiE!G>VAFG z_Psm~?p^-hw}(0}^)ZBqZ!|&98fhW{bisV0jDF{WbvyjOVw0}(U&d#AM46yLS60z@ zbi*D2j+W<2*u{N)Mc9}kUJelyi<*}LA=+KH43b4B`0rgE4pp}_LTayZ_Gv(`rzl6L z5{PvyGIcL2ESW5KFIxvLd7q1=#k>QqaY9>tKDiK4mf*lUTtu!W&6Hl!g1?{3Vv~&W z480*pef+kH6{PcRlcwk+F#v>JNcQGI^41P$jvRj6jlL-yog!<}42I)MF~knm^*X9& z-k%e+)R{|Gy_I9)+&%v-*S^~;CSeW!`}f?F+wK56)hm`7B`Qp6>qgeqNw9UO)ifz8 z*zjAvpqs}b;mQv!O!n#)wSmPMnJn9+Z<2TbLu)G>Vq}@z@TK181Fq|r>jQ{+0bXfW zFKs&aO=KqL@4HP+gk#S5lF zaRFe^q!wRaYdq!Q*#4tiZwh7m>H1C#Ew%6M#gdq@81;H<)O*gPsv4!UO_V8qNzh2M zsW|Q7lyJv4(fa1>BGt}2)Do79-XNj-S$3AZPhnypI&X8fl}<9S(DjkitlSeifC?uY z`*k%`lZuMSI7iI2L@8oblIM9{m2Y>lJ6gg8F2eC!4fV=z~bP$3p) zIf`ejcN5!Y*MULG!EKp?M|1)H3+?SwSPd=f2S~jV>tKA@YUPG7*Q% z1<#lmg_zUAsj?w^2eo359`Y9EbsFyXsJcJpU+9>b5c5@V91`&mJVb}!-2xqsgU8sv z^7hO!Oh-eaopeksVN5d?qxJR~ClM{>KWMRG8x3f}I&*djJ6Bu!vhGb$qiQTq`8rAi zr^ME&PWE=N(Qg9NA3x`N3?0F)) zzl@fr8;=`V1hOIH%+q2-vuPWWD%-JOj5Lbv3*vK|K~)3<#&ZDxi{`&AKr_#g>FHrc zU_e?Zf7|<_i+^~2G~wvpQ*`4MCfH?cY!O&kkRanaV5(S^vD7`0)AnfG!7$-7giV zOb^2{TvR80c~`HMpG+>g+)A&BCcg7mpFe#v-291>bw=1;;cMSNqX&<7!U-rHnd z=yn8I2?;#VC&~Y zP>zim`v?gsUalV@LfxX)Hsw!MwuqC9;qC9)O2B#!e+YUJtEi!R3(ruq(8PwyS;N4% zPrT*lRzaFJF*PrarmgJKVNLzdBpp5~C%;j;gDe7id!A)PU$fozlUR}3XDXB< znZ)LM;9R%ixt(NJjw*k3E-2f#iST_q2p0@lw&mFT01c~QVShUkch)QQdZpWZM%=^S zZ0GVha8Wkz%~X^+A&Yq|k+S3Iw>bQU6X~|TU-|;WpsHxwLdZmJ6E=47=&@C#Eto%N z5u18fJA z`D?i@wEVD2;o^*s$iSKKv74yV=%atim2|o?LcZr|OYYUd!8Dr7Dk`lmmpSr^3l+z6 zp>DTY(O(5qHNETB+zDR^wq}k+g-Os10%A$44@!qtN*<+bU(Qja=3*kK`d_USBf!?!K$jHNuZi1}eS zgh5%>l?PnEQ&DFb*d{$TQx)gDL1^57>5wBLmh&#@?*>U~DJEzX%}Iagw6`3VXkygH zX*>06CuS(FZdv|-S=JdaM{py~x^)~4FLSA?u?%taJfSdWKe2<@w=J(SwYIS5eNfbE zpzUzZS?5Oh?|Ke~|G8uwNF}zv^Mu@OrWlwZWTp_K0zku>TjJ(kJ4HoVjQzB2VnO<} zxn?Iff*!wlZS>TX1-M8`C9S?%&amT0{fq{qS&*KH2VcQOWNd;}O2p-Z;_Ua2upX*@ zP6HyJQRlMC%4@9e-ND9IsuUEHXSRc~D$9+0Wk1pjbX3+-((Xxv-=3{k7FX=(QdZwy zgU@EE$75%MmB=Wy737;!gtYatCZk!=nldt+Kh*TJG#;R|fY&`ORLz;Ci6{`YwCa~h zm%ejE{wjp}JErlr=U`i21+kw18%Egd+?VGz-!KCHsZ!o(jPl*~Os3>6PJu~X9CqcMw$QOtocH3m zrriUVEy%3`#4D}dN6I!43<)o{cO5tH7TH=>g%;hnNw+$Q;_+)U9d8w=NL63A6FfHB zmOpO>mamW|Z2DInOSGiLG%RgR*J_rx{Ky6+Urs-c`jNcTa!ur4UG&6D${%wR;GqHu zyhk+Pnj19r)?4;~`^O-&9taYYOE1<0I;cii-^VuWB(RD7oj`&Iq>d8W80YMH%P4Vn7=R`DDyV;@41O>81Tnl$$eDBg#YYccJin_2U~m} zvVzY|(^G(Wj)f7GIUI6JnkV%gAtJ{7N7yx|$=KH4VicrxtsxuNNkyD5zQ{bu7X&;-z($7zi*x9)DAHX zLs#6kB;Q1NBIuZ7i#5Fn=PtvW5mGfqrf^!^K(BM=e%SmSd*1RnmP zk#cVDYhVnz&w@_Hd2TPAj8Gn~Ek+`f2knA>A=NvCD zy4+}F%Am0Wg`{(|PY9rvwzis~A|A90UM<(Rr)&1JI$2nn3w_~udQncD?u*dri;rQ9 z#*kEuUipG(!6tu9gL_9ES%fQE=L$Zy!Vkm6zoSQ9_*7*M~Xu>S^jUxNlkX*X*j9+!zCoHQ(5F6pawYcREDI zk)fC9g?x$H+RPZ$xCW6V%_n5-y59f(C^-_bvV^2%3-80$1+#VS2p_r{vHO_59zFAD zNJRml$g}>4^928R(nG_lpl60&AHDm`i7YrK&F$YDyq?d-SB5Gb-lMqzJo^xl@U-|79u&p76PtUqK9JJTQ5s4xED z6*Siu6p-7gvI(z0K!56wT3r&^l`1;r&aaLv>S9nVq8hldIP)rcKxMVWyi`T}WP2=D zr{>i$1nrjP#u)e!;_Ww-xBE~nR}^@1LB8-RySQjTnAi-rIbF38nc*xZ(^d-``|KhA zY|8FzjLxz>>B&E}gc9;HSv)?pEc7=4X$zn$wjl;rb<#pxR+4`5zg)_$Chk3>8kF(p zb86X1^dJ+au^4SzUdrm~-kg2Ch6sKJV#9d%_tXlD5yBLDW}1I&$ji$XjbNTwi&&<> zWa}6fWd#jI1q}dL&S7)46yK^3t0|b#H;~4eeEv}A`0*`lcBSU)S+c0eLJwTn)z@=t zO25Kk-70+kGKkHjYxrO1dQ_rr`d#@H(_cgQ-8dDuSf8J;;Q-KNW6Of7H<5|fw0=6j zZ7C1AC76~8AGvieO)*o8ue5ZQg|{pru~LS9^;iAsQr+$C0f|LUoa5_-EJmYW{Rfd! z^OTGSqBF|JLu7kO~yjqatEPQbeFo71=PJ4iYe$?4hc1z{FFg zn32VcH8P~ch74G=seEM#zo5eylz{5XWCD@N7o2`p!f3Scv<{h{23aZ4%Enpx1wbeO z172zZybq^L$!E19%@`{eDtlUKSB6nT^XBuRjEVs-S`<)ha&=vvBHo}WW5ZAki~q6> zR)uE1dfIgiUa@1YBOA|UmO2aw;{cBl7Tvh1*|W;_>)dk|%q?L1uuv<+7nn_DCBlFQ z!7&=SYK|g;VV_x(>>v4{mY4W%QHhR9*i?v|5n4lw1Hb5)S!Blh2zNs)mUpvIfU7Z&A)gz#*65kDprK7>LYn5(^RB%SQ1++ z#c{YD)zA)0veBA<@$!$QAj!o8ItenDxKx?*m!g|sOIn3FoBdzl(RjM(#GvS;F?{D* zT8MWr5hU~&s*^S&s}AEu7*9d@umaQhQ_JlnIU0U)$7}_WpPosPFs;%Wl}a3{vWpUhTue)@iB41{VMh|z=mxnbi52JEN_>-)5JHbI34)fuHAK8Ix(d25xA)L?vt6w6 zy8rOHxB9&5@jcjV?p}exPqu|(H|UKZ32acn9?QauW#!shX&vzNzeDnU$(i2?%j7ZY zVVk>fc)2_IC;#b3&9Twt3Y#$#a)ZUO^fhDVX$e{ogH{3qko`p>3$PXju|mv*z|Z~f zV!sA;0YL~b#;}TDBt64&9$QyOBnZa^9f}9hlAmq`J;%63 zg)VTU&MwD~FL6Xp;N$owrSVJ+tq;B)3^)lRwcLO-iIp=e2U+N>QI6^qiUju!Qdqtj zu_8k>2#%m}jIxL5LgLb)zLE+H{(qwuFe(Z@|5b359(}Mtf=xK@nJHNWgKLi)ixHr4 zys`kF)$XV$SUf&uhzDhwJWTfeZ1XSY@UL@-F<8Rz(i&c;Wf27lO`)=PHwsh4xwgSy z)euDk10o}7+2|=FS8hm2)FwLS2`2H1cp#NpKylTuFjyvjwrf2QYfS&n1{nfAl;Q|C zwf;M;aDc`6%xwLyJwvm~P1CY@`9-qkggl5b!YQiA?({(#90y~jq6xBkNDK@Jg&R59KxKR(RoCoO zg*G4oJct}ny}D@a^CD`Um`OslVJ!KW6O8ibR9)JKxA&bRs<8~A(L4%dew9r9vyOTi z8Ua!tYqv^h_dK)xmNIFqS+2B3w`ZZUsfAp$4;?^z2&PO9MEf`Us|>EF-rd~6#{7sx zffNa4(Y#*j9MkSe@;+|}VQ>gx$Wj^Lp!My=61BTbn9h;T<*#}`G3X?@pl%hi3147) zYhyOGpod_YADFt{4@6d1-_vdG@AUbuudaQU!jnF?n9S`c#qFenPcUZd8j1!+-RT-m zD6EH!VCBOUKct6^CH*2g+t{$$>Q%~Qe43H{n1h;B*CZJpCp97uvDtazWZ^1dM1vSB z`_-QwXqdj^WaZ`L?vwiLVCzBR=o2h}j%0{y($L}dplE+AVCPL*mwJ>zmPsU3EiO=m zjTnaShca<9FuaOgVfL|I@qhi1mxh%LikP2-Ut+QF@i?ghwmFE zhC^b0r%@DayKmJW$YXb1tHmtUzE=caQR#AQvAf6Dex8^sPQJOC0UDgn`D2nIXDS?@ zx?Y4!6i@B&`lD}z2)j)7dvRAB{?9m!GWO@Cx(i>Y0rSp_PZ|dSR92C`uD~*{($6k>Ffc;{n8?SIw|*(S zOv?`5eu3FmP~U})&wN_@b}3t>KwIjfBX3WeP&k)2s2q&LP^bd0ahS8piHG-X8rbQH4vNMQKg<-Me!9cxPXU)oo3}^S z)m*pGtMha=2g=~rH1FW?gh|0EC>~$i>Zm^-FBdLr7m1|R6fE!AT85#HsjsnQk0ll+ zL5S38Pt~lZa3mp!tB<7!7-u`WR|2DWBCcN#f zWMKou;X;P-4X>^4Dy!H8$l#e9rL*z*2G%#RrNgXhg{TSsiXb!I{ezx0>gAn;{R1#ZQ%~{2NeeY3d0zYu`Wm*4UWIrx&MI^ z6HyK3^TEDt3|?^V=U!w>l?5sm5{b1D&80{f5e-})HBt5`TPM0cJ~DqZh6iu&U;=`; z8UYq8i5oaN_Z|!b|0Qr+J;lVQbZ~L848as{7SD*gVOK#VCQ8H%j8F$+HO*uci$)}fcMlxVT5t*aj`q~LiH4jtyKxv-)#^|VFe zFY}L_>lH3nmCyv2r{mFEMr(4ksxdPVeaz`e5CpAK(RykaJq0rFPLL*wFSp;$jLyNbtRH?&KrW{G=_z?mq5Z{0IJAQPA5WuP4A6V3J z#Uh4})1t<3b)b29(XK$inGYLb<;H^WodRX7rhcSviW5M<6Rm4mlzW-|8_94lQ-yqH zuaQ4rm9F`IQ>&ro__^t$s!IB`m_k)Gb;|D9DtvCU%H@$}lkc>bWNyXPPG*NtmTOd1 z9U&HJx5Ud&DVVca(k2Tr)F>WLJ>}^L*67k7TIqYjF!fOvuQbkhc@H$=fU**~%8Dy@ zVfbNJ7hU#yHV2j4CENMvmz22N1iAd0Hs56X`N^ERf;a++q!NVm(p#K^hpLLWGr=^? zP;CxPDU%R5OF=?h6#UYR$c@gE?HPTu}`P;I4eFrS%E`PHkc`|;hr0v~74*f%3O!AL0l!=ckNe|TbN}p!o zo;9>r8-akC`GtL5&goX43eL?<15FCLxy0h@&DWHFM0_vR!H{qy8HI2{g+1)QeXD#< zqOhYe;t+BDEX}`H&s#$P%#-oVh$QN?#2xunZ~zcusjOtqsBjFPqn3>1dqvN`c%;|+ z`^PfXe214N3j4d#3v3cBGIddqSCW(tH`yLHzK%2H zTH1a6o`pYUqB;DFFNjj=?l)KUgMkAy*wdaRO*_n>!R19jabJY_x3Be`d!1=g1YY5U z(RHlC2f)Q5(4HT2Yo)iV*}&xc4{u)Ce7bROQq6+osrbZ3e?=)@8}-X&_^zv>5!A zY;=%&Pg11tUi@coVDW{$wA=Wq{0|TlaRqA^f(ii_`rsnoej^eT=X`KuSs?sYya)+pw|%Vn2W>VhH!;a9}I#;3aEK zfb%ZdA2w>2og>#hS0N93wEdZx;gzF$d=3iuTQ0i;iKRtf7S4TsZZdTxR;nw2oT~$Fuq|LmO&24u{dr8FNgV_ zEmJ(6H;&2TEW#bAS|4#f1|Q@?L2O^N;uZ&@dZjZ$qzrt=T4|bV;p3x`R$%!4#BQ=- zt<(B60EwRM6rJhn+<(015X+HDk#lVq)oAVn@#lI9`rk&iIWt&XkYb?WGYxbAl`!N< zKOz6OcG4tsqtz;uX!yJMhTl3}}v~6gUE(6R{2ChcOkKW6*Mi=+Z z^ha}C)@ip5Pt#dMA)3V#X*xw{l2|`F2i8)DkULS@Qxd1f<4D&^DCoth;69Kvr6M{z z?AV$r2FrOHcx@CR7$*2%b1WaUTGy;BDo9i|T(zmB=!qJwi-+w*<(Hl^lr253YMlhi z_D%kl7^E<(S2wM*m~=o3kGVcC*RZRFWkPrB<>#3Ts#Mt+vHCL}qLVyiT6`b?@1m=t zK8h~S%hiKCP_v$_o9?{y*+c=tCSu_cv8fP7Nn%5AAknhHWW>zcp)Q#XYz7TY&*@wf zrI;IA9q}_Ng9n2_KX;~fsL?HdwB>)g4KqEBpph@cey9-DwF4$w5!$wf&yrq(Q~3}B z^K4@2<5VDoE6XUR5px++81h}W6&4Z1Hr5Y?7=?p}nweUBY8?17x_3=M?1AWmv;O0c z=$j4?wIA;2`JB#P2Jf=f634CUSbVJFW`Bo0CAR>K&=Q#!xVK!EK?jpz)61ggo&)KN zxvv0_r-K*kraN?HWCt`n>WiHBNlm}CBNx~CTH_?RS2=IE2wR=+P+%^{D_IT;CuahxX zqYsYybK+JXTUdGGRicM>i7(5#{pHSm%o^GFXru`~T;@E9qiKb^gc22vMKZ_`!mes! z5C-Rw0m#T;@sz4%8@tk*Gipr4w+<8q3yrV|N<>k(>X4cg( z``>=aSl5!J2GwW`T~eSLY#E*oNPK!=b56bk0QxJ6Wckz#ZBeE@H4gksR{BeJy2s&E zAY`XDkI-DG^fja0ATr_4$Pnf}85a#sG}{$8z~BRwQV4i4o4jLVyq?TI%j8cz7`%^* z1}B>*l~2*=ZiZp|82@3eKGF3*mvWcC+e8UM*&69G(b)}ZKivxUkSVKjZHlEW2Uc%{ z?XU=;O72iZw!Fe)0`CdoD`Bm>H!vdD*H$V+`r zftfB=&+8=Y*i7e++9Jpk*bB?7jjPA)x{cpUwa;KN9aB*Q*=Pmz?2ZL^CycdOZcL#9 zB=L~7-^pO>!d|*`t$B~xn|sl$vyEaYm7h5CO2b{(@-*q4^y z|Ke>o3=L)3rl5SGTi&F2yaVUvo{txBGAEmc11ff1?H}Iq@Ke!CZs_GQ53Q`yM~qg9 z8D9he!P1(6qU>PBwVB^OC-8o(XZf9SwW3)j$!#Ye+8msC(aD?+oSw%th@06D;gk~VkQ^*0?P8#nSUK!|Q8t{Wd;3EZ*YD-)lzP?) z4@tGJjriiGJ7m{(_>exgD;xx1P2|hza&(wPfe0Mmhvj?rXP;b7uq0o{KNg&u`>mjt zv1?wqDWkK2ZAFWU30QI9xif!Aar?*+;tsYNDtektSNd6*TZ-oi<8JjdpZ0V{oQlG8 z4l}Xww1nDiD)fgy0G|AB`+G&ttHzcp;bDzb8$vp!q8;&MJe6;igBxx~zj^)5l94X) zh91sMMWKMd1B*M<#Ec&#&RP8^8#tpeF%TNTJWEZ9vX%$K_k}!mgrOln^IH!y?Hggm z$pJy1O9*Pk>lb0eMO~(4Ta_fdF%MYK`{)JX*geD8&Iz}k!u@2pxc!(2+}WS*c^+5z z=HjrQa3uTLpw5Tv;>S#J226PVu1OQZ7)cfG+M}L-18Mams(z(%UN;0G^>jgK?fSJH zSx(TkgMkCpAQIrsTB|EA`#PHJ_@4FcuVqie92q_|5Wuhh?%s3o+pkLFrcUF~TF=Um zHfcB;oZu*;hj!5Wvuz|5VLc@yp|UJ4*Ch9Al+aaAT{~X|H!r$?n~>e5g4YYH=HVNE zeZ?$~d5iz5(HYvk=2y0ztP%ISx7~Ibtt%s5Xt;n5!gXlhFcnxKCEDkM_QCX{g&sdP z?4vHC+J=4}>oWTjvijLg7n?#`?UH$OQ2r3BIwo~|ezniB-OmNN_-}x zBywNe(ruX}qos+7Cy4P#imJhY(ZVCUYd`r0a%|_^`xVM2QiN{%3rT0IV zAjN~q)Y(Jf>pj*sG&p)a%#F4!$)tp$7@w=zQSnYtBl&R5FR}c5J!UI$xui#vlo&1A^x-3gD|7w#1ydu+cB00okc(tXH4U znKOHf2B}G6vH%5o_P2kq*8?M`d21*8fs1?}5+m&hT5}T|`_COC?wl3h5<9)U^L_Pt z(x%b{p~3Dvo)29vA3_%6n}wa14xBXIH*u3-VR22OpZv~C-$-h?p-JdVK6&}H)=}-~ z0^6bly+mDWNgt1vLAO^xAA?RAG3^p!7&exEQbiYZ+z=|$L^t`cYk#G z*!E9nXk8or9#UmZ)R8{{gtFUXemk{AN$2V8__!~38gb>vgx{>^YV*WcdI)O1E=+9Q z#(%n?Lnf|ds@N);QsDOP`{xnZm~l$GU0HyxLBiwJB$0BQmy~Q@;aSZfT|fOGzV({W z0t*4~%ElsnK0&>wg|^yWJfAS4A2GUp-W|z)-sXp9{dS!woXig6e-l|McZCFi-Y;*9 z+Lz6;=u%RApV!sgyt|oe3s3R_`;ZWP1IwQqm%I7|2F^EhCv*ML>IoO;2Kl8phk>E8|e z&2YZ$9xQNm->k_XSsKAHPv0q?EN<#@O>NrJET|>VXpN(aFUNYMa2z+!xAU z0%iu!E6eWhHHi@}oNzpU{Q^$@u0fPMpftE~Ri8`c@rgH)Wa(!Wa%{=DmdNIEv&?)KFC-F=*chUwsJ|T?k;3*tZw_sTiMFz`+AuC9a=s|5%63CYtkRy zs=sD%jW^{ihPNwSgJu&Nzo*ci6EqDVYev=7zz7mXy1eJ-dzejz@Y~;PP*RjPbh1h+ z!N6RcL6KH>yv8luGlbvXjfJJ*v7ukQr2F4aWc7XVsgSObNIFNkbYNW~u@pn>u9qT@%S97wfUMruGjCm1z0rl(r_nR6LL30v}>f3N;=fbE+Og->83d@jbYZn4-$O1&dG zkJCr$nn)ygG_5kq7{#lcSy5y^0F{AaE-~Jw@{+2xX7(eGqy@{0F8Z>cb)4vCshz;p z0vG(?x7O*Q*R1L%4R=(gGh=(+NL<`oX02JvY<1 z9M;`rk0=7P`8Jedt+pzTW_LcEW~?9hF_gA%c@uSRg%aoZR&#opRJZMXpF&mpUrP-m zfGP;N5S512Gv}hZS5@Vd%NJ9OVw;ZyE3Ey`%?bVoy6Vfz>a|0_CU)7-F7h}{txD1~ z6uRyKQc%LO`GfI>+H(Dm=2e6Sj#jdHp1pRi_QSp=(_Y;kgmA(KW&GHx3U9QEdqPm9_Uw2N2 z{oni|bJ7)s_DY6{KZE((gDx&mw*0Iow|T8DqagsmVpd}}q_91hbF^b@tR;_I0IP;- zO#`Fa?Or3KgdO$}Ih^F-+3&OLKCaT9tJZ6TUH>*IQJ|ZyS#MGd3PNzzw2r#X(RVSe z&e89WZ^%%Bf;Q;c|IK25AfDX+oo3z{$B2;tIu@Z#|md%~H>*67nPp+c%`>)Tl$ zlazWZ=@-#t>3}O3sG?_*Ztyn}=3C#YiJe1>g@1Y{Pv7;I_*TKK26>kwp9xl-S)86) zR<_G9;i!T>rU`Ww4~)9!`YnSk;gYjozVw{t@%-030&Ys&-u#QJu|~{5p@KHKT<)%Z z{Q}Rp-!4#`Kw%m-Yk0&wXE3Xf?_KrPZ317X|6mDH(R(rL>&y$RAnnj;7L80kBs2sK z3x*&-cIoq1w`FB9LuER~a_aS$GNrp4C8Hj)UB@b!%d$wf$S!%XuXlF^iWos zkWwk#&9Z#c4qC$!qzQ*0jhwlDPtgpwx5AF2ctRr;DUNoa-X2L~c*oCp@f@y6AKsp_ zhle47_X)|hC`#ERFTd-z-ZT4O!UNSz5{j^T@5YzTjI`$rvZV=Y>o}j#fA9y3alYZx zckqrAF4v4*$!X!@(ke0Mjf&H$ul)$}w(Qx)92wPj!`pPLSp4j-a#F{U0z>&fVbD#C zigzC5=}}1X{qaDS{I2$!OgatL|JCY{JS0Fh;$|Y-7%hA)Ei*7gH8{I22SQ|eTFXbjc2iKpdeQN_!OHNB=^$Vmdc3%iTZk7pK#;`yL!U zh8I-4$}qk6VxQF2&+p!QywW(DB1u-0-P3ZDv5iYakJzJQxBKj1^)-4MDt&djV||9Q z#bp!!l-j&P9KCuw5_+Bb_wcZfEAtFKW+AA$cSYi2i-o`0_GheTqQ~44r&HRhlP*-Hd%4%4sh>wj{l84mZEuoFnlwF`w@*{mPNwN8<^8$t zcCAajmy5k09^M~Jfjj0dR7f}oiDuo{i-EGP1g-TwSmZvJZggl=NVu@=SBJlg0%^3i zaH3mY)HmsW%G7J#aPFE}wHLfbZPjbmcIx$)p}F$Jw%*mAH$j`8fWTG!klz+J6`&62} z6_!W~*Yn|fxh9H+K^?FS>bX}l_C!MIw}ctx5|1lyb6)BS=6g1o+wCWrE;do>nKL5` zXA(jM3LfsH%%?mLCl6@}T;*F*S(sK{^Z&#U^IK7oIm@L;k;>jPY5_n5At%AJ3(BIl zFmP~|8(BQk4JyAC{pOR`F~@$@s9!o~8?>;B24WLL1%U2x?AIR(Pr#e&veFSkNy7r;lUnZK~?&#=yNJtiX=`4XfNoGFD&x_fGYIg z7Qk^$r4{4NDCr;(h5z*R9^u67qKPNSq}a3az0!Y(<@oyU<6ON=@7l{F!%#kYsQ4AR zP(&$*Kb6klIEI@A{rT3LyzWnCZc-mF8`(38Q=#~uDP=QaY3Vckh_gL+M?o14^z|r| z1jVr9AM((2kh?jW6Wv58f)YI*nPwqy!7vaCswd~6gV)J9+l=gTPV3(hDNB#3y9XpoiG2o{DU$31OfzwE27g6taImv=z4!6KxVB933kk3ufKCiNg3@?v?g=Y^7$q{ zx+8u3Yj(MZJ>$X{?(ej5>~$*Z-tQ4UeAbK|XI0*ZCu#Gn+5@-zwhvKEzrLI%>0Mq{ z{d~HtE=oE0@PGDS`%Chmh`wZQgIK;Zu=tUN^^tZUG;eY?Eb#+7ok1tc-;v(&#>I|_ z?t9XH*w*&_JSVA@REO#z+Jd%9mAP#vVa6L1>>2?1(i};<- zp3Cv!>d!~`+~VGpf4!6xYrEx`fjn}*&En}rviAB==6t4Nl+p1HYi~9PU8-y3cX(yfe-?i9tEUqnF}!CsXcz}jnXIQB3fzJI#Pz; z$lv7-!V^z2%Q(o8B+_e381!drsyRy~f7Jx~F4(*=)E%2$qFcJU#I|_Bi zrEG#08VKk;lwG=`xgdlu)lHIU@ce@?pJ#8)8CCpZ?=H%vj`--bf8-!O1<|J^`o{&%J){bBDBs@N;Hd3Azq zwco)%CG{(oS*4$^IBCr`Dy}CM=5+qqoA4MIa19%qDthP*(TEb%MJRXDhup|2P^59c zf_zpuCXuA%1yR&)(v&ptkl%Ow%TKrts+865pfFPE9uI7s%jY1nxqUx zJkmZt`>n4oJco7s-HUe^=2D12zMg1ZN+aDh#I1%)M&L0;4xw^EJaHC_Z@y&_aDaQm zUwU4yZIL5TYTiGBZE$3=V7;6cu7zlLGzw`-lsKi~vMtrz8bSz)_sa#vp_TEls3YQW zf^C?^BylN@{JHAFw_#aK|D6gQkXxrMGoj!e6n|4X78y)aJSkAEW5_TGI zN-0gpAii*$qdK+L)O$V_&U6%@Z!}von@s3KG%SOo2Je?=EXRcpCYcL{cVWdHGvi5( z+1}A>WBS;H`%)qaMe62f#Zk@+YrDlN1ilC2vZBf9T%5VDsBZl!D}AZRZP%={&Jp`R)X!@%_1E1q5qJjz}8rj*vZS(ds_C8l> zCw}-;m&6)@)s3Uq1e0T-!M(fNi+Y{QQ%EV_Ysp?Y=vvu2KlU@md@{U%SAcVb6RTw7 zM?$CZ*dp>}7WP?%h4V;6ko^IRf(Q^Y=Y>y|6NWq)vWNA}m_S^xYC@ zI9JK`N2me-be<-t%FU15VcbjIILXMqCp+)cUS&f5XMUH9T}TX(*u^Qfx!fM1e;qUc zeCY$(w|pLEbJmHUoh>INon$K9mWOciEj_A+j zuO77D#?!yW?^abpR;j5}>mrFNo}Gw(4>gM&P0|drd^^}9xueg)@iOr~=ytz$(~n`2 z?D3%dczEp%$}`F){#(nIhx(A{{QB^G=dSRy=5X)-Y2Sje)+qNqmoJ~!ONrb4Cq5oH zZ;-dI{^Sn0O2yh5iuRd|?nb~7Ok9PGP-#B$|D>>$gLCxzEcv{j#-7)Kluc&Plgs1G z<@My|;f=8Lh|wlFvb4IR*FFDJ5jt&s$FG#KMtD1wS76>-iczoaI)uAeS~upPVj{DgOATZ0rc2-o28H+!mq|*X~+b51uG@gUYV= z1AM~J^$CbQK15GzXO_H!^gA~Vd8IxBHr5zgTj;udPyZ%xGbLp5AP4~k)8p!DSNF~R z`(PpEV)GB3Ehj5z?V&9{fp%|3hreA>7Jl$V`1a=^fz8vx0jM?c;vIy1?T-a*2DQ|; zqN{ImKV&S?%Q&-^wo>2dviUmsDaGd;3JnepW2g4etgJ)UzI|3=4aZ6(1yn-RmA4TG z$>#n^*=R(`a6&zFg<%erT~a&l6*>fGwp+ph0NjwCe{@Do4KK9eaiI72_WZg{#V47| znX^y`f5($qqiYR2hY0YLiTs3we4ja^hY4*Jr&B@*J4}V@A`sIaG{2J+u!G7^I>X#~9<2_lvzL;@r-k$&<@oy_T)3vILLeBE0 zwR$Fc+i2cIe;ghbHnv5HdYa-+5{G_<$yiC|R=Ej`Wk3`sgCjJ%yp^C`GyFR)mG-hz zx|RDUHHKGQ$9~mvQQhwb{)efmgrZKxXLX9KK{pe2)o8(arSfUdG=_#J^regl1n8zj zILxORsE2J@0#i$<;6!u(x10LkvnibB zW$rs~PUQHaMFXGrU1jPj=wX!a){-*y6Y`1W&qHWNTr3^+O0Tft{vQOijX``zw_G`& z-U}h<;6(lIf|Gn0kh9?vA(mGZzkE}BHqm@yrd8NokneWy6{G$Pf#3Zx-S;2Z#GVfv zQ6GjZQp1_4_kF@xszZ4e8)J#9pb|H?*thfL(<`_PRMH>lgwJ)`G%p*0tmMLGzAUs( z;PGGRK8!J%WaO146^Qo_qJAG|=(1M4ex*o=$e-uxR@7$RE6;=mE6TJ-rBxo87Qqe{ zR}%?PVG3lK++IQ%%#%CRD)t^=^*YhK_gLm-8%Y%MGiAtIW!eC^0b#?@CMz=uwURyR z=NIlmXyS)&`ck>P7``8-#*w+P;}-MEECHkYSuk(tRTRR4^Gejy1tLN@JmrXI*J8qO zl>Be3ABQ|AhME74`w)6c3(Hf0Obpq;;XG1bzsQ!V-5}4>r$bLJ>F6QyKfa>eDVc<% z#=>J!d2^5{9KuYUl{lBMFv{X_*GTt1zMiV!6uFyF=|ugW0<-8d)FkAu`ULo1Qpl(~ zV-Z?kl`oww;9#BJ4;7{42n9lS9UZ48Zfvj^(-MjXx8JSLC*9|6$rK_+-<<{H+a;7; zQVB>PN#TW6jzk^J)$1fj+R z2k?`s;P{v zQsVLs{B=yL_c1l5q#-5bBgKq8w1j+_L?Fp5JZ?S{OBwu$CY(iyeT)x!#i^?RjAURTW?#_2uuVF|Mcwv`H4aC_n zBuD^I$GWlCInwOZB6iow6H1~Wd?UMF^|N`PMu#rHOAwD~p(H{G0FcPOsSd_eEUe}_ zB2dBSi6Zz|t4BJUr>E*GbJt44#!HCH8{J|jr7&@<{bqrubgPVdnAJ@WLfxGZgp(Z< z%*ge_$xmBm?Q}LP{>ZN`k;{?G<(%YL@K$5EWzZjsw~S}1u@~g_qji0wVAls(YC1_L zU`K6O6q!%xrPenHS|)~#=1@8rxK2brT?;7}w^{U<_xTtOFDN!h!hvno51et7_4Cy0 z+>JUlj@y`c2OW*AEJkoi{?2*UuZ&giML+2sKSnp2!GX#nLFRDER8S9?2+tCV`*CMd z>#FU|y4`bTAN=WGI6`sr>PPP~Sk)LNNcIX|Ca^a>4fS!u1&QtD?=3Q26K<_fJ`pi^ zD9|fF=E^TQ4+JC2i}1}lc)h|xI3>(H0jHp5v zY)`8~|Mwy-oX*Ze`zb7_*rY)~iLOO&2O?WX#dREYox!EtqESw%1M z>r_lAnzo;05=AoPDQRVvi8K)+wp60!6uAu|jF^f@kwdjkY`mJOXo3L{XhWE@(Z<8N zE=dz&@VnWY)XTF})^_v{Y4tnc$_W6{#Xqg~pujl9*Ct#pX;tZ9aOIq;ot+2wU-WP+ z7PqOHM+2>J0AQdn*c)M#FhPOW_%p>XBqHZY8qHB~ z9(v6BjMlL6TQ9MM53z@nv8#N)myHYmxXmihM+a8k~I{7gyT=E0NA7c4s9f z#U7CeQIs>Sdzz75-Cj@gD;CPdB^D#VrJiZ*LA==I3mBTolc8()mjrmgFXMI9Cx+3* zC6+G0g_)T}#;%_N46UpdlSS$UNh3WKq}{-_H8abG3^Dfwv^cjQo|jEEvh&yt&MNFz z3jd)g%B{A^6jkboprDnB&HzOba35{jyn{ndc!-5hHCzW~w(NpRQEaIUkwk~V04GcC z6G?-1hjTYkH%wfMfs|D8q`99zh`3qFRc4g`T(^Nw!=PxYbnbtwN>0vRhvt0_hYtV3 z$0^9Ux)#3c7%9pT`)t21WIn9|P#LW1M=Dq1iDgCZv6j_QNGgAW!>RX$_KYdELdMko f?|c0Jmwfj}j6TYca83CK001BHl literal 0 HcmV?d00001 diff --git a/static/icons/icon-512.png b/static/icons/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..e7504755e352eb505ff057851e4639ffda412f97 GIT binary patch literal 38163 zcmdRU^-rAN)AqfK`xbX8+Tsqy7A@`+C{WzBP@wqYR=iN$-QBggQz-5fcbCQ9e7?!^ zN4%MwIU_%u%$zHkWO9Y8Du2X6Cq)MU0836*N*w^ez<&qzzsrkMvH}1AWD|vtQo!qf zlHF01007j0oRqlc_w?fq%kSiaDQC;G)^CwXi~#WfpeLQXB)!B=H=e*w?h8_AgZtfa z-QC*N*Rx+(^SaDc_PUMqg0hYA1Wa+cQfm3hw8?US)WG&>t&5VJT!OYC_%aISW|Iw*8bi+x2eBxS?#T7|_96MBlv>Es>z!QuCg!XPK zYW#ofO0)e}leRx$))X*iiCtu}0q%aMk!@r>C8sE&s~q+Q6nlpgsv+Y9+PEjzu^T-h zbAL?i&J09F0`!RmIzupkLGA4nuQRL;JV-;Z^zUwZ|9_0lfRnr|Nt&0l(IyHT8hKYY z66_!S%}EUa%w3pky=Pv|=%`uc8;}7*#^)#JSOoNd!cbIpsN0C0`K{Aw-us zfi|iG$b4@9%b^ni(cBw-OhfA0LGfE~_-g*!J{U7-kVGF4;Da?=>wF0)4bDj2yv$~` zw?010Kiq9b(nk~c>jc_})sSdY>BY@7l88hAHsRTcXy625 zV*@=`aWOAlP%h`|soFlF6aB`<2DqEEm%GhzaK-Bw!HC_`#wxPV--8-WTE5#H78rs7 z6rrLTG*;siu2ZdIejhsw=jbSm?_N_>Vd^pa7RC%>#9;%{<@D_@@kpMXIq$Y1SbQTC zvPk8)AIgzo!aRM$ff&GG2ZPubmG_fdrtj`Yf|CUNs*7~rfBdzZLo

4-|4k8s=*M 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 Pvu}9OOut%}aQA-z8klZZ literal 0 HcmV?d00001 diff --git a/static/icons/maskable-512.png b/static/icons/maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..48e9d672ba3b9b6aae535a15c893279c6e364275 GIT binary patch literal 36559 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 literal 0 HcmV?d00001 diff --git a/static/manifest.json b/static/manifest.json new file mode 100644 index 0000000..435f0f5 --- /dev/null +++ b/static/manifest.json @@ -0,0 +1,62 @@ +{ + "name": "OwlBoard", + "short_name": "OwlBoard", + "description": "Real-time UK rail data and operational tools for staff and enthusiasts.", + "id": "/", + "start_url": "/", + "scope": "/", + "display": "standalone", + "display_override": [ + "window-controls-overlay", + "standalone", + "minimal-ui" + ], + "background_color": "#404c55", + "theme_color": "#4fd1d1", + "orientation": "portrait", + "categories": [ + "transportation", + "utilities" + ], + "dir": "ltr", + "lang": "en-GB", + "prefer_related_applications": false, + "icons": [ + { + "src": "/icons/icon-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/icons/icon-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/icons/maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "shortcuts": [ + { + "name": "Find PIS", + "short_name": "PIS", + "description": "Find PIS Codes fast", + "url": "/pis", + "icons": [ + { + "src": "/icons/icon-192.png", + "sizes": "192x192" + } + ] + } + ], + "handle_links": "preferred", + "launch_handler": { + "client_mode": "focus-existing" + } +} \ No newline at end of file