From 9877ea99bd5aed4c27414dd89de754202c256f26 Mon Sep 17 00:00:00 2001 From: Daniel Thompson Date: Sun, 16 Aug 2020 18:48:15 +0100 Subject: [PATCH] README: Add a (fairly) comprehensive screenshot tour Signed-off-by: Daniel Thompson --- README.rst | 41 ++++++++++++++++++++++++++++++++++++++++ res/Bootloader.png | Bin 0 -> 12666 bytes res/ClockApp.png | Bin 0 -> 6280 bytes res/HeartApp.png | Bin 0 -> 5352 bytes res/LauncherApp.png | Bin 0 -> 6927 bytes res/SelfTestApp.png | Bin 0 -> 6458 bytes res/SettingsApp.png | Bin 0 -> 5340 bytes res/StepsApp.png | Bin 0 -> 5560 bytes res/TimerApp.png | Bin 0 -> 5543 bytes res/TorchApp.png | Bin 0 -> 4598 bytes wasp/apps/clock.py | 5 +++++ wasp/apps/flashlight.py | 8 +++++++- wasp/apps/heart.py | 4 ++++ wasp/apps/launcher.py | 5 +++++ wasp/apps/settings.py | 13 +++++++++---- wasp/apps/steps.py | 7 +++++++ wasp/apps/stopwatch.py | 7 +++++++ wasp/apps/testapp.py | 5 +++++ 18 files changed, 90 insertions(+), 5 deletions(-) create mode 100644 res/Bootloader.png create mode 100644 res/ClockApp.png create mode 100644 res/HeartApp.png create mode 100644 res/LauncherApp.png create mode 100644 res/SelfTestApp.png create mode 100644 res/SettingsApp.png create mode 100644 res/StepsApp.png create mode 100644 res/TimerApp.png create mode 100644 res/TorchApp.png diff --git a/README.rst b/README.rst index b528bec..8595fe6 100644 --- a/README.rst +++ b/README.rst @@ -102,5 +102,46 @@ Videos Screenshots ----------- +(An older version of) the digital clock application running on a Pine64 PineTime: + .. image:: res/clock_app.jpg :alt: wasp-os digital clock app running on PineTime + +Screenshots of the built in applications running on the wasp-os +simulator (the "blank" screen is the torch application): + +.. image:: res/Bootloader.png + :alt: Bootloader splash screen overlaid on the simulator watch art + :width: 179 + +.. image:: res/ClockApp.png + :alt: Digital clock application running on the wasp-os simulator + :width: 179 + +.. image:: res/HeartApp.png + :alt: Heart rate application running on the wasp-os simulator + :width: 179 + +.. image:: res/TimerApp.png + :alt: Stop watch application running on the wasp-os simulator + :width: 179 + +.. image:: res/StepsApp.png + :alt: Step counter application running on the wasp-os simulator + :width: 179 + +.. image:: res/LauncherApp.png + :alt: Application launcher running on the wasp-os simulator + :width: 179 + +.. image:: res/SelfTestApp.png + :alt: Self test application running a rendering benchmark on the simulator + :width: 179 + +.. image:: res/SettingsApp.png + :alt: Settings application running on the wasp-os simulator + :width: 179 + +.. image:: res/TorchApp.png + :alt: Torch application running on the wasp-o simulator + :width: 179 diff --git a/res/Bootloader.png b/res/Bootloader.png new file mode 100644 index 0000000000000000000000000000000000000000..388934c62005954312125bf5402335daa465ec57 GIT binary patch literal 12666 zcma)hbzB_X(&h{f!68_1CpZKN?hXNh4DRmk?hbg-`}LTch}0nv0{smjn$qwD~Szi~to1XiSm7PwY%1rhk3QpAz^ z2h062(XquukLfUGrtwNgcar8Pih2`4ndk7OU3}5w-#mRkd3Qx} z-WX>l$Y*zS1v^}@KeNfa>ngbN{p#{2V4vUm?Y@&PPF>qW``{7^SK!TKT|;o{E@;=o zP0((@N$i+)SM$$P-tBP6_njCs+Bm;$8_->lFBeJnh?s?h?QWLV#$(j^q@cvsxnGQ5 z$oT@zhMAARl(7?Wwi6X8N%5U`XZ0QM5qZOS^N8Tiv@8O)0TY{A@=ss{+geA9%^`_KhNH#(PGl z9=uh%f6Q0+fv2prvuX?~Tq=KXaxPh9th;6n8^DVq+qR7tI1M~pXH>D;%t2 z^Uc8g_jQ(A9jU9}0%JBnu!nfeuWO7%Ir)7w&3Fi6bH!%r!A!T~SdPnWC-Wco)OZdL z0VbjFRySjog$5|~dI3#;YTnc;s@M=%%jmU-EgpJ(Bj-fn_N_9UL>-5AuAI@^&PDOm z%xt&}Q1}7XjS495yI~0WXbvIL=ehhivhQhzu|tCdT7T#Y)0BTmlP=azkqu`$PEswd zMKb3Nf@PSB=4Q()h>@c?=Cx(3nmEh|xGc3RE?>X1ue)rD#_`{*$<}nC%$fybND_D? zDM@D7J|fDEf4X95m~5`pARR)YuWtPFv7)+pwCU7s$)P06ZP}%zMYSQW{^j`wx5AX9 zVsBFB(C5Ks-hE;Bxik2ErdSm|{a&ESP=lI(u&ZW6#S(g^nu3+9s-%+GFloWUce#r9 zMu-FTOtw$Wt~JR|Gwtah-$vWBFZ5=O&Tl02W}tSx#nUL&j9+aIYA4kqL)U*)NX{*) z@m_UsH_wK3y7a2|`7J^0PhFl?9yPN@t2UM0{Yym?6R_IX{HQN;Y889WTc#i5$GtnY zHU+aW9@5~KiaYKbf3)eXUCk=Oi5{vPI(n*k3?Yx5OziVt!O?LMrnYM&Hg-%V_jsI8 zJpR_GnqMHGPZH3!H9);sKsn02Cqgr^{jF^5kAw=vQam37I?&28o zqHS?>g$dZ}>~n!gcex<*@OrAqtjx^$aeDzCF8dWlL#ujAc`#d9k_Db7o=?e~RV^nuh+zNJ*jN$GnsC3d8`F``98XPba3|V9}S)nZ-h-P+jO^&KIN^G_;oxQnXm2s z+#m0lc_9e8gMQ}j9NyBMVc!fpKhHPoM%&yJpYkT@?up8N5b*ZH<-hW|_r>AQa1Cew z#2(O}?vSM`oMqY8J)vyDS$(%zRTZC_RZBQar9H9mtzJ3nK%j->?{r-i9J{C<3XlP?4;0_ zjs@&|9Y$*X<%jlO%Z#8+@vUaB@)Y{ybSP(xnLs)T79#w{6%PKNlhLJsg6?b1?Fokh zl6yGs`7Eb(DRqHvb=ix?Va(GlQY%5HF>;vci;!hQv{ZcAmYaB~fO~%oxXB^!#3#h|f&k{Yp-MTm0qo8Lc zul%2n1C8kc&7V^k@z+ruB+nJd$zkzmowwtSvp*MNVx&Qf=xbmfY3M`Wx3cJCJ!SQX zB7Yw=LljYG5E-u&n19bGTRxnq4W4DN^!JZq>tyyinvCCd7q& zY@K0m@>+Wm<4qIe33GpvK8K3J@+oEMJF|y+gcZ?0(*}gqeUKA1e|+NFQZ7{)z}om; z`y;jHD?^Xp!0OnZ9`l9w^7AolHgkrc9^mk!sy{qPTla}7PGQwRsoZ;_B9z}8{9_P^yNz4+Ap?1o98OH7=V^5iE=ZQxxbXRg|X5B0? z1-G_qjeEaN>n2?0BZ5wqFwOHCfS-?7FG}_D!wJrW&QyGIcL`0aR*4$7KI*@oM2*cH_4^!?Mty&=`OSKl&n`)de2j`X###Kb+P1Rw4phAWvL440L_J&M} zIzFKtkWn>f;*_qbz%ID#s{<0x?3MzL0^YbZ(Y4a359epuS;%QtgOgS4w{NWDO% z9W2ZY6AYgX?@Y(_e~9>yvQe!;AMttKj~rHo#OLc=Zfsmfxa_p8NT8Z;h47Jdb8)XR z<*>>iBWjz5YcSb3$a_yxG9i8z*jqAUqkz6e{gu{deC!D9p)IwcVaSLao?-o*hSLHY zwDk#|LtFiTz8)JG(%umj1Jyh|oW8)WKr9E&kyd6(q;1fMFD~ZJ(J+Pk+^6f^CY|A@3LltdO%ww+@Ap})K{NT4^mxr z%{!|$P?SbSJS#RvP^!VeC{B{rOrH4&{OBDHfxL%I4`_DwN56om=}?fSCRM3corVXT=~;ihnyxbWulATvHdWR4KnE}R0Z>> z-ZACl@S83&&ywJY_$u382A1=6S~TR3R_MQTEVCDmH~K8>vXaF|t}{=&SljLHJylt$ zl-BaC-zf^rGA%08Bqz!!;0L!Z@=|po5;*WdkFCz5;MXE;CcH=i)=J{Y{O~CZ3j>{M ztVGVc+~OZt53v{GU@Rr*6qOVuB13V$-4GuOSdn_^!r9T2WODydYn3~oP860~A4g=xs%c2?TVk`}AZl z)F;VfXR@el?)B#S4qFO;+JPl5%6hMaVWuGgun_a1G&!p(++98W4lhZ3rB( zTo-zT%896R#)znccB4+_kronxqjs=#k*dM_ z>Fj`gh_bBeoWlM`G+VPwLj;~FY!5HKU2MP+H$J0KU!lX?l7SeBgO@x?L4+ll=VN)3 z(c+?z?rnBsFXbqoKKIt`bc^`F?}$EGoL~vH-nD7|>hwXVf!nU{n9ryFOd*M4oihfY^gfMw1M9{*n({#!9h)GaI2BE92WSLxK|oKvNDhR zdlA1UFC*_cr2eFZC84-R8^<|uxh0(v!H^lE9igk&+@gO-kj7<7nThZfFw8w7u$@C$?%J@1-y^bcI zB(K8jO01Qp*M~~e^^44ikHI$Ivj!dfne;Sm<$}ma+lQNt0J^xK0;yBvp)mqda6ActGy-ST5u?JQU{28S{GVP+ zeXSz!XI1z(FJ_=I}sMavE zm5lOHN=oDtcRj4=3Po~FP9wQbvPhr&uT8evS~+;gF^P(}i^a;{#Hu10P*lT&glYm7 zfmtgu0@Un=QNxa~gEUjr8q{AgR%(~B>Bxf%0%qDu><-kOelrk32Y|^?sVaR10+oMx zI)|Ydw~}fRnDm1wzW$s&*Js_M`N)B}h$1(k)*t7*ER4d4mOw4{(0@FaKp(4lAs;Y+ zpbUkCbwsrjk9fTBiXIw^mp1{B~lTh9jAPRGBM#qx>{7BZyfdvyi*@weAwFBnEaNigd#(% zXi(qgA4^Am2#AWjeYZG5_p1`g0RQH`{wUih@uX!juKeRn?;29VZWvP7-Xe*Oe-MO+Da8U8$Vl!4yi9o=Xo*y z6qvy1y&uf5C!R?jN$_bWghy$dDKVV@SN2_;VRYi)pxQq*MAk!lV@ zPcEb$j}&b^g|X19DF36fBtWXcAW*#tdDx}e+&S79Tl(yG#y7gsYlNxqeV)1c24d2< zjcb+RMj55p)kQJRTY=AsNpPPuI5_P6KiW*_%ZZ47?2jx%!5~DmF~JeC*sbT;10G3z zK%jXT>8tdvGszO=!Swaj{b`4R6tBxG+laXCUv@KvBYTz)=hc?y8I5nX?A4i@H$}J4GXSgSdVkyd5D|* z+Wgf;_##TB(s^a5H-;Rwy|CypZBXp*G9R|c0+km{*q4kZr-@dB_0~a{TxoxIp2R?v zSs_Cu9|V!G1&O0`lQ|S-yKm<@W50JKro7hgG;Y?P$aA)?Wq-rl7~lX|l65gw)Hr~- zUGAKz@zU!_XJ6>@XRU^y)wE1VT`Uiv(C15(R0EH+Cfv42lx;~zE*0hqF;SCPwGx3w zYe{BsDaDWEAyWtgxcBuU31%I0dR_IMT1D9<3kR0MV{nu1U$N#Is#jdbfv9~QeYJ=i z`yW+M69G3bI26o+ld-T&p)CPOh)QAH(5G4W1Lf1~Z8DdzF6MNV(Gl8p`-IJ$gu^)c zn&5SVcFC;5+#QkJkCuNva@Ztxi~y5bM`Ura(QL?dR2;tEf_YP~;W6Q0%99%KLW~0% z8SLY>{-DtIN9p(2B*%V@f0(%A&&8s@#2TA9#CM#fVgJJU5q2B$Mg6l>g5lJ^G!(E`r9%SeZnzc`U6fyp`R7lUCQMl~Z1aY;ko}uCRbCE2Rwa1>@xrf)V%li3e8mIY~_7%IAqKB@&=ZKz85)>}Ym2Wc!A5Z=O z**HA+8RMmMoTd9zk>*C7+Zcw$<3q*XC-vH?Bpgc0N+K#*8if?Ae%%-Bqj~C1YhL#+ zppvQiP=bjvEs?eiUfL0{ z(B@&9-87ITMFk`FgU%wWxxlBOXIRRQ?}|lx-Cf5Czi!JY?$)BXKVtY~kbF)dnQm$G z?FhTPl1II|VH)1Fb43(?vh3 zur$)PxukcwOJc^(Pn3FRQSp?Ci}wzJNna9pX1CX3MTg}XIHYBZk0Ki>0~2mUYmU70 zTrpW|46VjgDUR*7a3#6HugJi%784lzf#l@rW$QG#59cZ;P4g)AasU(uO01%;B39M% zpTWeZDzb5N=PSlnmIFv$9VjJcNUR(TDkqqG?nJu|q1}a;Gp1S}`WTT#k(gf?VK|oH zJ_$O>-v#t>&#MGXVL869W0`DwG#>Sr7O=45`f-+-DOuM<+M9HPV_X{adx1T@V^=Sq zO;{mm-A7_nvj`o~lmBrac)y1h{)Tw2xBq_QR+HG??iTvgCGdsI{S76h2e9cqj6`zz zI<+$U{E?|3D7%iyUAfU(+jCnbQsI1$EXHa+XWvN#W|3uO75}5;euMAr*=FbR^VWJ2 z05-_c(ACVSQ2bfOEloS?(Xvq24X%lU^Sd+L+kK^9v?LNvVC_l~zU2)=lY|D{k^yo~ zC-*K?oBd+fH-h-qkYrggZN+p|Em@kAIg5`Yo>atklXYe@h#VXH-~HRdQ^an(Xcho`fzAay?97SH>9^|xPj{Q zFy-a#9>{GK%W`Uoc`oY*b4_&r?G36bC+@s|w}6a2;2mZCtAOlDAmf`|+N5_^4jS)+ z><4mb_;21nH$IvY{)tFKccZe$`njX8x;)dYV>;cf~UGkCG)!W8b}gh)t8jdu-&}r82~?LZD(P zs`=1_(pa*`T9l~zc%^B(ey%<#orJbH_pip3GGjLD@FGpBu#<>_UCbj1E}s1mRCWp- zwa`L1JIh&MC?76-n!jfn&ooD}F(aRX}(k(NXb^BG?WgY5sj_6b2cPmiO2W(Nc7c|k?p{|ZELV{sMqlI2#chh)j9?>U! z51fr&`g+L6Pv+_Bt*?xld+)3LqEb9UjyLm7bhjT{%+tM$8IQ(g(=3O#`9<8=`0o`{ ztIy_jx%U}Xc4|myiCpyYnSFCB;B6;-a#xUA>D252)ba4QvOn9E$^2N9~@hWuWYAB&Tq-5NvCN?UK`-r=e=uqLr3Jx6z#_h0@%+J zZz)n|lE@oux4~_JW7}jW3zskP2<(lQ*8yLC2s3=ew7IDwRd5%R{6wrgko2VWp9lc8{&`y1)0u-O<=^ z@rxzqFk|hd!JJ|nsKm5G|6-?xGWj%!p_Zij%jp+uB9qkfh|AD#u1VN1*lc{(pJg7u z5b8h&`b9w+Gjri3;RWTzU%TTSG=6suY0xi%jDfYzSsdyszwynL&yzwuybV_`nJKfj zEge4HKG_~xZQ4w-uXig}H9oHo`~x* zhD_17jEs)oHx0Wez!qonkEFKO%KJUX>DmUFY5CaZs*h5#a z+54y=k-V+RyOnOAr>(86t0_T}7>U!KyZWlgpgk`4DU-Xm&Q;I8LircaA)X=9_)<;lU!xD_Zz&CbiK#afy;x_h}Ztml0xUPCFW zl;rbt>vKIL`M&Pp@Nk<7=E%_5Sw#u^Me_E1^Q{k_WTaku-#AI8C?Fspk><1fo1$;R?Jd6-KBdPPaKA15Yj-59%a6FtX8Yc1U1Tk24 zEwwsO)Szz(@9gZXD8>vKrZVZQw7XPPjEiNBJBuKTkuzYsE$X$4+k#Y#T<*>fKzH$bxP_H2t@LuZD_`bVq?C0mll=}5; zd2!L~GAunUjW${4{ZlYt?QNA9DP&+9TVlJ)_N@PAZ60A#SbWBWoH;GNJX~QywWNa(zSXz3zMvJWuXGRm- z5Xd_d5isKs)<%@HB1VxcBd?&)+}Ic{E_wZw_1Q_{I3$8D)c3=<-z?SGjQJlNP= zO6WZ?BE*Q@w}3ZLWS8!Igs4B?dG@ez+UF>&%9oqB zo~6y_$yHJ^ti3qiq^+f8aSM0Pv8}9(?nTnDZs|udeG}q4KoI0pv0HCXp4z`5(QdKL zx-6(}f*viHIXGQy38_Ayx}|yfH59eNiLg@vj?^8gUz?f1h#NkH)feH+h#B6gP^+5F zG2-OlC^}7IspnL(gUr~>v3>;A4#ebhwjVY(3(mzq5uBc!bh@1rGxO;W_4kXInU%b@ zYrV&MAh-^?gS3uHy>m2QkuR9m?4brObmz;KqRi}oB1flfXlRHKBPWhiC$dFFv8*!= zw>8HnBAUM=$BDXRgT9R%GJH%ZB5}?SntL@~YjxOp>mKj*jgg}+u(?MF8@PtD4{vW# z>Z+oZp-$Aem2EsF^?Q412^yW|1QE0~$GyJD$PuO@^|r#3c-J0HYjNV|dy&C_$(&VP zP767t!J1lH`+IxtO2GZ`sj1_;WCb}nJh@QMJ_AXJPI!x}V>biu)0qsQv936z_g>F! z<|`NB=Q-t`Bugu+ohF#IJVArOdjo=-FQLBp{c2x&IjX9vR&2sHN|zFh&A(=ek#8#= z0T?)Wc`JyDx2H#cO=d&yt#l|sD}H{l4Zfuj?I}xfqXB3y%+0B|uy}IeKOV*>ybJ(N zbTU+kq6MTvldYbCEb@MorD)(hq7Y#=|Muz7Y^*S`&#e!M$5ud>?SpBji|VSL;ZJ}X z6n<)`{|wK7cw_)2G+-1U#P+{0|1Eky51K8m?0|op^Syf3NAqT-!yA z^apFeO`9*J{CA}PuXz6NP5smAzY>9edlbx331jM*svy&tX0T73J><$XhfIPYe1tXN3m}e&(;{q>>>2C~*6dCF?y8L8(Nu-ul&hX@eYqwZA zk{KZh6_30*Zc_f5+NU(}h_Es2fbU|9)CFlG4plP`vGZ|ML{e1ch47R(TF^i83;U%M zz!abQ5FXT~?Rvo6#xN!uV?3jv1QU;prYia_?E3_K?<_RsKfvz<8KCf)&H1Q4vY;Xmz@^?_( zk<2CdtHYufS7AcJHxC%C_3(eV)9i+G65zIJr(u>%gc82q6q`hp&>Ke~r`s&V z?@l@AN%1c>rD};$XF$11bq_y}avVtbIVsd95=`3iQKJOOou`~3KKIOj%qg&Q;lriql^5LKx3M5ZX=H7Ea+i2 ze3B^aLo9CAAv*9utTX0I#?O#U|3&cSdP?wZya6jSJ>>G8-$E~P&>x**sH||{q;rZ>m zMYxGm;OlFW72bBRvLF7{03TS2zvz_!T>??$( z46=YtM2$x_+zxZ|r6Ht*9t^aPN50R)CMI#Q-h;T84D<7S^Z7!}88jGpMKN6xm&tRF zu{d_IAjGB{0GHPL;Ta=18z(-xmr)2g7F{F7=S6*GYljAhL9TXONEtq&@14`5gIiF9 za&0gfey!8;d8$226)C>GeZGBA)eKB`DR5;B!rg#%yVx&Pj}P~`69JFGpXRV~J& zgr;7k?oM<5E7zahK5B$a-lW1OIXNC{!md~adQfsaax2%NJr7}}Fl0yu`3BxihMw$U zyjJLcAMVa^uI+=O46BojR0;&}jRz-5;U(3ZKhyOL0lteBK0mRqtjQYw4 z$69sa@bXFVku7M>*R0~;8RQh-kmom+`e6H{;W`ESPYE(b7U|s{5S;(Mz*lpff#Z+I z6L~zcXPq})%46e7#ryuhp3xK`I;_Usm>#5xIO^Y1@?H+&YXsi;N~xlpHtEhRLy&P! zH};40+**@U;a?1k4Sb~uN_z+Y6&W1xIK^;uf0sD{u|}ovNscp18$@{!{bsL#9Q_{y z!JwMe&%Pu6m}UYaN6~e~D+PxDUk9-`;UIZ@x%C(bQk;42Y;<|mGteYTXHyG?7MvN) zzl#IfQtqUiWzX17O-z`ur5o0zNl~t>u6lGox2r@mw|#9XSpt-gO9&`zu6vcuR-Gc>vTpYE+I8n?LC!H}WmHe3=NX^^JOaStHj1d_6>qR)+~@Bv-% z@^5zNwZkyzV*!sA0qfO$4A7u%+{}0hHh;|>KL?7x?<)U73(@|)>qdIeReO(!5;u|K zFNCmU)XxCT5}EjO@GmxdC<1mN+>?t#QgYPLeHXARKCnwXC9L-tIPlqz%g$AWZ{uAj~lT>%#t7L44fs;6!9a6i;C`KntArw1SG! z6^;I%74JU2iezIz|2D!Ox(iC^(roDJK5;g{0+CwX1J-|5JpV$qV9MW)pLN-DW4&Fk z&DhfAs1rM_%_(0WMe(*rVW(>$*#6(juKx*||7TS;Kqs*w{K3B`G&^Wi5jzAI%|3_o zI@6uT@+mQo|A%4SNECeQ)J&e4ADc)X`Y7P2ROO>8vV2gkjHyqDwj^z^}dqfIs9 z>*#b%@n0z!&~1Et+`NUCm)9pTdcH#4s^xEGOa{cIOdN$&hA)E0naFt_3ZDp6?d*|h zw_+i1+;*R^dj*l!*YLrKO-ZILudk}9EjC;X z(r@(QVsn!!QeHWgqaKJt;%=dwL1TUSTb9$SRob)Qqw!zIdk%~|P(Tph!X96da>Qw_ zzv%1Bot}+Us0i81_d%1yI@eQ8_{5pjRr>1(et!OyQ*VKq(^sH=YDh?kNM7zniiw8c zK_=du;poBnIqr+ca#na@6+vRaWQp?DSnyC zQ3Or4qFofR{mkNGNzayKo+1R;d|&Ty8`!RWHCFNgA7qS^8BXwM`oN=yi_ zLM6gOyHCoe9Wtx~F&xF6bPD=YVC1pVO3yAWrTKD42@q>I*RybOwLqAW4bZ?Q7+{7a@EPF}M9zmfMEXTe?Dt{0Yi})2|g_z{kR$7N@tXc0D%v zxYTC&f4{&sNH~6e*v~l<9N4yZbK_!0+|qbN3D4lNd;OiNH%>%s;&>;H>dLb9(4?6mOq);<;|PvC~g4+rQb&S%z|ZC1Aj!kYYWqQuLA?$eN|c^wIbP#ZQI zoy*r<8axPwkaBTeU2k69$k{nb9pPfmQ_M>XOB%f4z7xambqi_}UH+wjB(9|E`|uk= zm8|thYMdP%{rcD^y8tfLG`AL zhP;|fYou&?9#^?-`Yb;3kGT>dIqZ$6_x1Hf{v0>fu(h&cckDw0EI?A?^73+|@cQiR zpTm-zvyHCR6g#q2_v^WXg98Xv74i)K_7Pe|9-a8lva`fLbhm7Blxe*IRQfM;J9m4gFHr^ZCn&ZTG{vDF{Xl8E)IB zZDP8s)q&=iTJ}p7X|Hz^znm>MnBASND7r$mxN&-r8CwRu#YJ^+B7{ z{yl_yJ6&nAI^XD07_ZUN)a2pijp*_SnS;JM*3|SAACQALHTSff#QA zAc&CK3-#ZK=|8aPzk>GvLBan5#Q#@hentZ{5;9;!IbTCKS%9>-f>^bPe&GKCMK$uF literal 0 HcmV?d00001 diff --git a/res/ClockApp.png b/res/ClockApp.png new file mode 100644 index 0000000000000000000000000000000000000000..83647b6d25d4ed481714b2f7d715ba11d7752983 GIT binary patch literal 6280 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 CPhx}s literal 0 HcmV?d00001 diff --git a/res/HeartApp.png b/res/HeartApp.png new file mode 100644 index 0000000000000000000000000000000000000000..e889e58efbeb76617536d31e7fea6191450abea8 GIT binary patch literal 5352 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 literal 0 HcmV?d00001 diff --git a/res/SelfTestApp.png b/res/SelfTestApp.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ec8ccc33e63932357df89cdf9f606149c73476 GIT binary patch literal 6458 zcmcIpc|4SDzn?K#%E*WqQ?~JhO4JxFvc(`mVq{;2p=?nh`&PEBlgA!o$xc}+>mag) z&=_mBlzlgZF`T=e_dVx5?|aTa=X~Dz%)))$^V_fA_5FP(Tt{1t?HJ-12n1qNzlqTW zfxx!FD}jXpxbktJ-Vg-h1*>CjU_D+gkEw^9wh?GsFI-7Ce_RLvHifvXa;iD0` z!u4le=!-V5TJOR|3ljwjogS;~mbX`+*0H%b>$y;n*WJ>hB7BhUIg`vTzmqZk4wOLc zRc7at^(Y;G$D)`uei8%|#V~=uNJs#P09FiW2MH?TK`=oShy}(AIuZs2G5p(>bqQv6 zUS4}m!K`F5d3t&}kmq33xq;DK1eP)3M_cYM&(Kr>HhpM2qF9M=U9l=(lJ0 zb7c&$-06o!a&Gd?KTd={!@)ZfCD|9AE5@ZJCtreQW6#BFO{u$0G zdT^l+U0YlGxcX&J3V6-V(z0>95ztE?FmX28grx79ecJlSd3$IRNw`U+Qe$}nj(d4| zErEZT=R6@#wAp(esT_KoPr=WWq?w}&RRxteeyzF`zxSkNrY~D7~5y z-uux9=edpzbYjoF^P_ty=!0P|rlxQdEP0*^gd7mJQX&>ZxFjd%OV+x=#?Edc8P|c& zXZ;M?L8H-Faqg07t<=kOz~5oV0p)A_%p%O}{8&$1iijup{)6TawgvZ&9)&}noi&{E z50819$jC^?k+)}wJtmUg-rgiLlWYD5K4pgDwW3E9)&Drrfqyhs<0juZzq(p^+}Ol~ znThE&Y1{armaOR(#lS+}6Gt>6AP|U!)n5+_LqkDH5Oa>M9S--wUQ$_EIlc1^n>$de z?F3aRDeU2D(Azp({r}MAKzS2FrxYDt+vm;9M z*=QGz36qz2@KV5UCsQV2T%QjP7we3`o^zw<8yKB>hDRmiQR?QP=hDH1Zrjn3ks2Vc zH8r2=^CDWlH8uw1YkF6_yK*lP4~YXR@QrEp7ld9??l7>=HlFVK__@0FA85;@)$c77 z>4!1~+$t$4Nt7^4ArdPas%^UwKZ{;dlr|C)5`gbUxKm&F=J;=RU$H;lM9+UEE~!a2 zt$t)95+@`HV$aRXlS=M-e)9ZMPf}ELbYbcV>4MhU(o(@O=3CsnhxAo{N*RqNw_SJN z&d!MBwY9WVJXZty)YaWxVon;VU%hLjHXcY?_XEUdEq+2y&l3H))0~HL@3A$v<59zo zm+Saofw`zlmjExNk|Vv^#=n}rxNL8PzbR_W#LP^2C=#chN6w0Y^?E?P$LNy8EsQza;sU+W} z27_-nvvZ)Iud8PeZc8(HL0Ha&@n9GxJVj4*XCMgf#QY!Jj` z?y*M5yo-bJDw^fz^0dClhvg{@Td?Lw=%kv5sn8Ci>_Gg_MyPWv|DT=@s~~L;m7k6h zHE-DBtY~ka-PF_5+j`9igVSy!Ta~()M5w5Mz2`=FP`>0p9W-IXS_2_ylcbV8zsvD% z2Vu=erCFamKIv=#)u0+YJ4HoNrGdra$-uC_&R&%tg9Y(C6~RV_6K{PCgvEeWmFuA) zb2b@Fw8?fqQ|Z1>s=Bvw%zp%Q`sL0&4}+7SN3s{XZc(b?Kb@77sVJSNTVpFehf2~r z<($Q*3r3#i%j&tR^s^E&-+)FVLupm~*n|WvoAY|s1yYdWqfN^AIb^-u;~I!oaC@(@ z&ho{eZSm)_BGS_l?Y%0LGGD<6)LScJUa7crEm)3&H>KPbykN!(zVp;TG|`5+AXDK% z`9jeKYxO!_&uH;B={!Sa7<7jM?PK~SuFiN`cgxgX`d&A?l5&^L$0Qns`?!-XTFh`k zJ2b`fA$dn70#j9)b;^skhWsk~PDQnhruv`35uF=HS>*aU^A)a?+}Yz`zsIDD)tSB7 zgTc?){O?J0;~nR_?k-;LAh$haO)z71QI!1qiN7ZH>5e)z5t7hk8lt8tk#UWK7v<)k z)jx^5(0`IJm2ez~n^FVmsCC&?W!*LxL)<;u9nhYyHQHL>)Y97sPhy#q;uaLwk)-|; zX2?~5TsGO66+FLhQTwixB6BrShR4!3z>YdBPIay zE6d9zUY~n=b;=CiMvsLCd@yAKar~|_4vy_XMQh7FDJ0<4B^dA2mnj^~mp|$TL=e@K zrECajhk&glgt_*<2WR2pVQLuFwYN?$NA5x|H8uW$*^6XkVLcLT{@>A2BlTWdSp(Cz z;P(7efcVp879sUR7TLU|7EA%Es=uKVy5#`T%Sk4tSUm!JAyL$<=4Qb?Sp|+9#{EtMx_v zF)Cw#xvn}k4Ur88dyDDbE4wSTtEc5#{df^p{!v$-kNNTH*T33copA19C8Hl#n>si+ z04IaXR1hr-j7~pCSf9@$7EVV;N9z{g;i~e)p4rVl3Tr?@A@nr1M*$926t{!j9r0{Y=Yl8~DFpXt)Tr=qa%@15Su0K}1zOzaJkk7IRF#b>1dEzVYf?TWs0 zFmAw57)}D>mhro5sNcpgW##_XYmBoDs`;(AO6@<}&|meQkD_}nzZ*2K^XR)631EK! zmv`H4?)rQ`34uPPOH=i75+4G{y>PmtqXWRkN|~|UwgB!y7Q<7<9H$Q74~cotTRPy1 zd?TXD6W0nf@OAqeot5KWMf5Zu`NKgA|ES1FjQ)A_b?@1x@rL|l#I`HYm-1@huT*sk zF{%azgNYV?)c_`TmErRZ2ED^29%Ee`@|urD*f&df8|GW<3d1OQ3IOI=eA6J0MpKt6 zdd6Lv**FG|c6WI`RS4~O8J~>lXL(NMi(6S)0njpiZ}H8&o^&~nwMpNfV?6pLy|2DH zvKUKC1MeF4N17;T>U*bA;CWd=f!Kj>dJO}ml}SKqTpDJp?zy7({}$|s&K92W-iEc9 z_5cYbz86Df{Qc}mNOy4ET6lYas=dU(#?w3Mf?-fh;mm=7P!3bWcLdkv4P{r;mBd7? zqx?!0k5|-Uc>*&M!F-JJCpFA}H8%7a4Ym_PsDEtST{en(6(*H3#8|l}+I$M-w8+g4 z(Y*)TX2NhL5){)x@5!cgu@sJc>;b!AOK^&$QkCiDqibHh2SBSGzok2ABUI0<00Bl170xpbQWKfI3GVXbhE z-voZopaBxa2P*l^oDMgYEPk#28cn0B=I>)k9E-NYjAoIFFy7vX$M#pnzq)9%Z6L+O z;i2y3v!A;kjM?92_71xGRrgxolZtm2O-X1+AtiG_XFzmu|3%Z#V5^v;-Z4+>SdKwB z@1OHtc_}B1S(IJ^Kg?RS-9Rc*Q5n)b=WD~lWB+v@V#ccWNhi0`$H)hH+U+H8;N0B2%kY*$1uHhSsE$}d$TiS9i!sY(%NXs^cMCI zA|fgKS5krP-5DSO7yrmW`k&`)7^Zc9-^XJM1Y-?qznMp#qCoE7q_Hne_*?pu95`Ot z8hx_yZy(tt$4Rgj>?&5yRjk~0KUh5xzcl58)y0(^HXaxpY-;$P=lrvk*qL;pD}lcF z#-~kL2$$~_p7Yvdw_f>-${Fvg0`Z?@c-Y8;_t)BW4nI{C6z}P68>|c~m~X!Qq_E&T zWK_maJ~5ZnhZ=$j3ZJI16)b4M?26p|gWk#? zpOyOACmRMe!)n_buVQmmFURZq!W1@nvSc@0{3`5{;(0!YMfQe=fNZYZc&XQ%KfvKq z?`(Yc{4AG?zn|dwA23$nD8}@YeqQ6&kvc9>D|#!<;@aa6T5+walES8$?@#;I_Y_6P zz}wNUT4N#$4_$;0jz<>%=%@QRNxk8WA3qX4|5Z(xUDN*k%hJ>YntVgg3E7uW4{|#p z6DyxE<6=9>cH1@aZLxI&_NcydTaCi7-v#1qMf5F>Eriub%SD8rWqE%Zqw-LT%l)h` zS%u{j^DfnhEc*(sv?amVaV<`5eBB1o;4Ad@w^SZgDJtq*9yQx2T`cWxzHw2Gyo531 z>RSEV(?n@UCh2Lx0Z$y-M^bscRJ^IV&DRe@1t#KBO4(Y-Z0}&0w>i8UsOu~PX#_%0 z5{iVds2eGwRn6fTCK&%oPPRB6)y*y&kXzqP94_2QQkd8?SbI!SF9P^8vGd2HYOg^C z7Tvmf7He+a^*tghIz5R^6V%W1f2NHBVZzoAA6}|!0*jyN&*ibg|EZC)c8s}{i$c{T zL+jQig_SAgI$}r6uLh(jIeC3hQ$?=dPR20l@U&R<$>>B~QWR1R!NK|X_yQBz8*luY zqoURD#U_>7d=)}hVVAtKE3UL=JoAoo^YW7E-vIx4w6-t!1aIMW^pz`Zk|)80`GtjF zBX4vwJRUBj65@-NzH)`9^$ZA$5D+kED>8UdK$VMObQmS&x`p0(c(nJhOC1VqscJioKK5NqyFU z_KhE%_iSzZJ5zpYV5@G9=89Wl=O64H2Z*Z$4@XB$S0T{Kk4M+MIV-M^a`Hv$e0Cr8 zy~7h8j=2pQF+WHbFnVVnzp%*_p)zwLFm|8*bD~gP>x^9M#Zm4nUkjpphzhG4dJY4{ciMuLZ~%QkN1qEQ zG&VMtFs-um-yt7tEp?51EJuy78R5S^>b%f_|03glm|-uGSaH}UE+JuF<7(&bephCd zq48p*O=rT7&0T<77+qDW>S1jj@Bq%!?kf}GH8tWWnd{d9YRrAnux2u=vU0F~strIe zEfG8bhw(yFWVuKMjHQf^r)!D;7d8O8V5Ff`i_G;S80S#;WZZKWn2Rw)t?pGIh)jCkxZd(Jjys<2uGj z`=os)UL$-Y0|y6)pM@PjO6)+}pYGfuqN0PZ&8}a%gd_dgnrh?X66P%S9 zuVJMMU{lmoRbP>y>jqxl-n4W%@BUlfR@Idcr(4Iz$FUk;+rY6JIlvO>M=5D5PY(`azn6IcKW_-A3KF%ZJP(X=+uc@YY1X6MoO z%K*43GZ*{5vs2zQE~ z|E?!MzfAZa`u235B~A2wEwgT$Y7V7zDrG9#g8;@}d&l8#)o6a9S^y|Fd4IP)XFNQltg32ff3rtG#^gA!P?_}&314F< zwgBq|z)zpoOAM0}Gu^2Qdvn>Ar*^)5vx+4_b9BUf_Sf5deSIzb>2By4Vh-8v9f3I` zQz59J(7=mjXJ-@r4|WYKeBHK}hRfT=pHha0=cmA@ z1W{5_QVYAQjql#REw*UzqirwOx-Zu(zOH?B9Tf5G6t6qLVK)G|`qh|>ys2}2dU@K6 z=HjqFYgcL(fte6mH{>caHZbtsYs>y;gWGpK*BD|RdH$4h-KAGe2E~RPx*dvwcVC-U pTen4f4I)8~fsFq?`oHlI)KQ1q6xto#2YwR)sjFyXUMpD!{RhuwRJ}LJ_1$=ZX+|3DOl1A=FU3;zhY2MXG=T5)nuU zNHIung3=7Vhay7g5LzJY(cSsx?#zCF>^D0*yJseooHOUVd7t0!J@5NGPmGC?&Y4r^ zPXPdM=C7hSgcE~JEfJ+ z#57uP;ZJ%VuA&WLhnbsP(rLU%dKHP*Kipbw&9*+iD8Zt8+Ue}I$Z7rRpmioLHeQ+d z#%vaR$R%KC7celsU_dX@FjoAp+1`V2u-jknvNKp&VONxq$-oN+o@Oc0J{bndBXtBJ!oF-LU zQ$u|!gs%1>H3@|uUb}w%$JDc>rKPKql1J96CiyWjF$oErIow$C!DxkNPViFU%2-wX zdJ`+Zg4epcR)%p$T6VUo-**EGi=mg27I6DOJ3In%{;w0|(hW}x#AIb<&weG0j*TfR zDcPa-=bt@0wU(+%E;JDHTk0>Y@Ei)Re*=gPmRO?>wimq=$SbO=^AfW?YRBVM-cz`G zn$m9kBir~}mlAYu5kK7fk`h#*Ej%YCCMIVnYeO#x ztfIX9<)n^FRj1Vxf`fyXmG|nxsH(?@e&oXl&(_IKN*llTa0qA2Eh{UlA512vz^~=V zA4^M0f$I(lUm#ccbmA`D@Lx(k=#x3krX7*^ZG7B|mwjy*jy~LrIV=9m@->wqNzwuf zr!JSL8?=G9#Zt&aJmpt_&~H;yxPSo!Bml%FWnEcqo&3ca+;+A7xum0`qrvz-xBemi zZs1%Y4hPNbvLfEUf4}~i7IG=U2Y(@zS?nphka=ydf0i9^`9X8^nWcvvVBmN`m8Aza z9%%DDe*74`fAP`i0luPQV1n>6GBVOjA=A(BWCT~tt=zsJ1b^}~8zU5|O5XJD-2o!8 z++*PCMoKk;+%6Pe9PFr8eraH6XlUZ+p&~1*35^I!E4U#mi(G+*g@s{L^8$v!LPfU6 zeMCeBCSQZYKe=>eY;5?Fbx@kIA9vFM4&Sh<{PS-80|RH+*vu^~p4&+aio8-r8Bv;A zIhxUIZAL>Bu#B2ziZQ17&zVw0$sGyl>FFPh8#4+|{dm3< z@Ok(C{nBJ@2$4wKvBz4Lx9!^wEopB)d-jaFyY^hQPk$!`y}xn*0uK!g4doRSM%7S~uEJ{U)b0>4dSCFpj%xG~!42IN5NuBT5D3rK6+NUf-V!#` z*473=!UZkr@oNv*ZlgRbVfo@#!66|7kHCL#b;?a;K$t+d%hxP-vbtFo56hg#!J@8D zy-|%#(0kh-6YnOc2L*Bv7W^gdM7cYK{ZUZUg`2ef1))BIbBBpIBrCKs{)nn)GoE^? z;iHaFn3O1~JD5JQu&~gSs2XO9hjy4~X5G3(y0Zj)m50G{9}w3U9eu-d=vbG>-q9frX$l%^ zNselFzf_$C=!%Mq&4{daioT6h=i#TCMp$-+^%qBxr`6&NLk+aA(f@5n3cNc40R6`Ei^(AiYN*U*q`KyS{pQ*r1@0W!ziL zr#dp`Yhr>CroF9=J46!b8LsETLy|`#S@KRh_`bA+0TAg#I`s%=fJ2xMVAMSUM8ax5 zTS<$_COx4^IEvapdnY_?p)E--onjo5IX?t>&?l>E^QmS~X)iAcBYTeFn+0OJtr1yGu#HAxJb%j znn$L810T2tlf9xek|0~2l)8}BPT}M3`}V45c|En;o)st4c`~`#lY?zaob`Mm?pGWzYkKNHbP5YjHE|L#Lp;n{gYF#02 zvOTX>T^?KLYWIE*XHTa2q43RtH99f$?cJXkeH>=;G%#e1kc0t>dqxlqb>r0;yPr@s zW_=|5a1vwj%lYMv*0C^-3w;v8Yd0o7GRQqGZ;VO-cok9i5&OuzX`f9 zSMBRo_K)|uHXUIE~I9Dd*7H5b;6g>_m_wtwSwYET1z3P!5G;Jx>c z9j5!w8~%Uv6xn#gfcPnxvSh4w^oX)F04SVPzmf^%1AD3tIAg+Thgr%f`Y~bPEhHTF zZSfH}tS#)rUUs=KO#ZxP3|pP7rOrHu($>O{S<#+Aay7goaCZW=0!}QIbOZCdcUztC zAkAT{z7OabWjlu+AMJV&Dk}%&3=N53Jf$qQ2Q@%)KAgw$PGPcqg05(>9T4$^`dno;mA#nc2YK&&Hn1x^IA^3v5Mz9?zCo!e@Z2N z?AtW;H<6IX^&@jj^DWpfbhxvPj>&)P3vFCH>ns_UgH%rj{9>et1Nx8!*FQN=h>Dz} zA5LG?(*4CwMIfO9OfoGe*?++p-o6CFs1B?PAwDl9@g?=*12$)JR4#J=1f2hDoV2Lr z1}*{=)qKY3=OQgHvq&Vf!|0wkPhb2N!Q?CbPZR!cQ{hmX_1_iJgZ5%bEFwKRbUkX1 zDVQL8gqtawtM6rRcxsyc(3a z@l79ExY*a%XLj{vhch@k!7`5EkNzfK#c3u2-xQtAi&qW)p6vqitecU0u}_n!3?0#2%PA zEh+8uns>|gn!AUG(!;sWQ{l&9E29;lvRE6fkbGAX1-zd3fT=IK%m? zv9J`_(~yU6M!tuC2HBm->i??_!}wEe?072!$xJt4PWZI&F}l|f9|!usPs0C+#wbzl zoKIYAon#d5k8Pa<(w$-H24bMx1E4R5_#M+P=Y66r(CZtg3#0)En}1d7?WM(zj94CX zv%Ti9N2v%UIc5}uvof3fIZAnCyBkWH6xY0ePb_I8lmu|kfg~dgb}8XFC%%c+1UYW#9Zrt4gM)*`MR(89_&lyIjPr1O0eBoDm?Az#KYcpz2#L%SDq6qH z2Z|6gB1qWK#q{cN&afLGXFKkTuK)?%`2{mGGsM|(hEt44Cnt@S2Oi8eFShrzWU3r_ z@rbXauRC`tkVxd+yLW$*y)v(nvX~ea%52n-o|#QPwE!aHv1ruB29j z77a6)InGYXDiy*fB_)-+pP89Cu)V$gfpEysAPHgxMd;uMEcq9wHImZTwzkf6LmLvU ztgQ#O`}@t5vamQ@sx)JR4VVcid}v0HiDP-gv1;EuH?$=T6t4r@4Gj^^7A2PD+J>&M z^fzxVE?`XQ=I)xB`p&kUp*H92R4wd}pzNqdD}O-veoj8Q^A!bIYVR@(#8$%7M@B|M zc2^CJjP!bHfL^(hvNBkf(Nul-6#BQOAgJ6}H-CJ4)%`Iss~QL&m_m=r?kjnzT2d~k zzi5#{VD_LEMz2rb1cOdVof5`nWMsI>9ZWYqRz|H3PnG)H@=!F&S3W5REWax*K36-) z(N*F;nynHdZTHE|aCdhXXJ0?L?`dsibpUee@G&n1WjNexV%~!{+L2dvf|ot{3Q+F?V0qeD-q-1H;48?G!CNh$aC}&8Vi#+EbZ94?&aZ#=-G!egkj=ajs zN(=_`=FLq4qvG0Dkp)im(T`qcp-_jTVIpyM#-lV#C`W)%SjX5nJ_8MM0^4m3KSeOU zRF)Cwf9!)+LK!+%I}da%KoJZymgcCBe{d&y*B^af-H}L56;JG#8!2}kV5l7Ns;sY{ zn#cwAO6u$FDWLQ4N+o2FvXZ=tb9*pBp#12|TWU8D)0B_k>K__%tuH6F#GK7kxc{*B zL+*p9AIr<3TV09+@#zKyRaI4KO!VvKpqFr9b=HtL8MKg98?wt?uAaI8J4ckW4?m*Z z!5FFhyO*$WrLkc~4@1<{)C7Hp>ps)Nc%&AZ?1b;=mAfAhu+#fS6Lbvl$KNPnV!*Rh zzp8vJd98ML67+5mhlwh>(evXU{R9LAcH+6fB^;uFI!Rn;kM4C~p_zxXv#2Wui^bA5 zzd*q$wbF4Ft{+|CURzrWK9DMH+eyU?)=ChtTY%*BZ)B0E66K3q-KC&LPZBo{4k8na zF$P39=X6FPKfD zVCk_3)hhN{ml76o!qID!wKb@<9V7;9DV@E&z42S$!&mrtQd}py`*_aO1ZXN}<`Vv|KNf<#QDGnSK+^O_*|jK~B?X)Svr`=|C=Dgg#*C|wH zGxr3z7%7E$WoDm7NelNym>d43tt-@_dFhHMtuFn&OVZ&p2K513=UE`fRN4{J+hHCb zWUup!Qyg{GO$3wqI+Wrk2)-fJH;&}+y{>oadgFzA{c-}vY?YI7E~%Sw@M+S{cS(b0 zj?Yi+&?|)+FCeLCNuHT&dk~;RNQf#7zybVfFyO*VdVumjGCUW(Z)jm*F;aodNl)kE z=JpQS;)XwzR}r4c1)rI!q0`$A85tRCYikqZ1e&0Kp;pcCoY=9 zSfakJ3=|(79!elTt&?VMo{#vm1&_>JqI{q$ob2uG-5!AL&VV26?tUcwijkF-?McXf zgn*?f1?Yz1oX;seM5FHv)I3qhGA{P+SpaQ^?vFW7O-&gq=R4w-!5tC^Sy@@KXFr#SvT||~ zHg!J|i-DI&advJ#zTWh~MBVwXQI{lJj^7KK%&NhDuIy$j2da?gFA*h!RggM5I^lv; zmCjyXQd!0sq1Aqy(+Mhvx+8m(IubHa48m;$Yg=rbb?B#Q>*?+uqbYEH0~$ujKu`Zh zgoL$iQaRbRm^%*hh@9@)8+Wfr3!EjA6%-X$&YMEOM|U{5yon}1&u~Zfl-RZxj5$gH z<|mvN&dGC9bm@bx`L{MNXLQD2Rt!1zzd|*xD%B7~-mx%IPBj#c@McxE%RbL;U zvA~B;{{Hf*`cAf&D04|cDlPby``zi3ohzH0a5?ZC(NI&rl0-^OU*hgPoPELf&hAZb znJ(z|^uMl#hMQ=L`9$O5rNzZqGE1DcM?${v`rzPTf4+`KEWe#oY+PLVomw|Hw=Pou zG>hYDurQ$c0Dm3B&eh%BEhs3+z`*cUm7{{WCtJA`?cf;YphDwVw1ze^GU8{FnvN5= z%wD43p{TP6UM+NTS;hwk2NU%>Oc&0@mWnt!Ixh8O1umpoX@*K0&S#vNK1|#5dG+)AP)pCBU4jbTU%3uYBnx5$ApJd^uJkjbL=c-F*ZDjEuUQ0}nKFmahitwLDo#QlN1-DG@5=XvBV~t9!0~1x+z3B`eEzG4hp! zty@UK7-+Onv`SPq01R6}PQ+D%j!bqHN2F))AIN|Dj3F*t*=_|WsMXq_KqCAkM1KPjBienQJUbM}ciWY=8W~k@X^o-2NP@+XyL6nO<>XLACm!zcuXPRO4Q6j&(hjIi`Iuim?T6 zA_=_awBn8>GAi!KoZ|MuOa$XQk84P_ zf}+Y@v1k0yw!KR!HNzPwQ-@0ftHnPa@Sf8nqR|W15b5E8hll%K{M-cE!|7ftSx}71RHn`_&?Yhk5y|<5w-L@p~2yxW78* zl9Q7Qr|CXRFIH%lU10OIZxy2wEx%|$9rjZI3Y^oW1}Ks!)WT2z6aRl7imfXP54oL% zpAbU>woW1zZsZb**_B;s{kYi^W6is6YD{tukVLGUa|vf}e{RT?&3!IFud7z#U*5b`w6HNETu*t~VO*1+!}V%0Wg`yWkg}BcpcEcliT{FB%nyUupBuE3+OT)}diNjPl%dno zfNk-0IB^7WAPc^{e~f^gA^$+QCdPK%4<2r4rs7HRKWAn5&a{6cZ~iB8$_AT7a**K&^AflC}ty*4c z`zft=)BC0_TbHc_=-x~ga?#I6bDznjloW!sf*z3KN! zDDY{dm%X|Ea4#9U6EtW$+_}04t(&wfDc=lgAT+?Mx=L6qiw3?NFuqzUtF9+%jb0Lu zzNNkQjcAv&ljF(OOw4}k41>ln8VRxFnSLAHKRN-k?M=R6Jl^xc;Ls2`2vTuRAW>JG z-P_kN_Zb%#7Z2Z!RQ;)zQ2gk|>S`DHjf+gWeqpS~8grk#6a~Nff3gty=M@jr?Oo=T zCx>0B*Hn+U+ETAsMOSJ7UDlsan)&@;_Q_QA+t?>eXiZ!J7R3Evzqb87JvTX!L5cc> z(I0atplXSKtf{D7p!NF3TA45*i%m)l=W4Odv z&z2KQ54fys;ee~r0BBE%S8_UpLe$`<#QTnW(vBeAb2kG3)q&GL#LoYWtbg(Cai`(q zqQNF0MK)Pn`+BlkiInnqvya_}=M2kubOlWVyO{&491 zS+&t$WV*e|w0Zg=(T247Cb|;~`N|p9)V7(_7}RLaF(MzaW4K68NHq4eqN$+F{7!li zup`Mzi7iN(G~BVhW}&cV(&e!AZnhoe1#5MGP?Kv&Evb>MC}now9!cde$NJpu1)(ij z{gfy2d%%;KK^b44E&cfh6v`pnszl2~fRjM#I6CZScJPycRE=ZG88gO5hgGyI9quLUM=kg8wrSOX#XLeQ^=Il-B>1 zNK)R3pLL>hosDZWx$pj|sknma)W;jFK&>KmVd`R8Tp)cQ)my%|w zV+=T1b4oc>lpo)cjS)$jow1IMG>zWr9J18$7l20Z8eiv*DCLG3Z7Nb!YvRyXfqVJT{c9%d0)&g zL1=?n+>VZ5^tJ~C{*`>T%Qjr*y z8|GNBKeg#8^i=P)pa6r;#cS*2(h8EaUFFv>4)C;)rO(1Mm9kOQ|3Fw872J@bc9+q+EHT#hZS zq$`!nQRca;j}9%K8-AX<4T9raV(h~A*WBDUZro_Z>IfwM+F%LWNfm_ls-Aru&wlgf zul9R56pRP*p{9oQQ74d+&x0d@nLj&dM~~?FYnzm%=%=l%9bIb$bRptVH8nNIq`8FV z=H@T7))axpTw&x7oazZRorlRxv5DHP}$=Clh8UBlq{r8c<|7Mv<2xPJP z4}5^wQ-0_d`@ZHAz?Atnf&V`%NyP2n?27TD*s4*(_^AoAL}>~nns1(;Dd<99DXT;w zhR^Qi9wJ7=Y5$cP;~$6hb2|zJgC0=RR5Japj&Qog0~-tw`zvm%D~%hZnH~`hf)gz5 zNst#1^VnzgW)6MMW{$KTwJ8e*(KTwC-2bP9u*N`5QIT+GC(TP8N5}keY%HqGx?03$n2D@6OqwH0{ z8yf=^mZQyx&+lqo0po;Q-q>JQwi~FyVkK&o6&1M?I&JRUDTn~xRDctC6Ecudg+$~) zjnCR}6tAQ~$6|NJ(Eip|WqS)K!cxbLg_HC1^M_6HDZgQgiWU#|))wKR>Bwy24HG+J zL7n=mSdnc1*3AR%iD7&RSCr-%_V?g@wJAfXJq7r9J)H%pxd;ptX`9;R6*GW>Ig=B< z{e>}+QBhGtrB(?Epybsj-sj}unRh%5QwPQFN;|VgXlP4S6$+P>n8>^$rg5A!Jvur% zFpwW2!|}Z_K0Y3c#j2@&?4ST8XJcdI`d+J&1K2XSPKdnkn40H04t6J+8XE_vF#GIW z_uJaqR(`iFh|gK=RsP=AxOOb)J;;)e!MNJn=hoKVQh1s*LT0;Wxjyk>Gs|yUI)sOl zv+|Mb=#RKw2<1yBdwVqxK6$Ut+LAJXrS!k68WKo=AagR#>9pYS)6)+fd4P5YmGJtI zlS5<(xqX^oCMRhE;`@ekPYHaq$Q+ZGcO_7R!fT?h@8znNJdcX^Vk}|e4+64(vc`2F zQBY?v0f$O*1Dr&;;?g%C$cG%0z;ob{VA*HH1ada0^coMruMUAg*kSyDGXn(ju0pn7 zhEV=tdc48g8SGjpz0NBbSg`{2_B<~6EWTvT!^0y;U&{2(wtvu*Cxgcs%7Obl%IKQU zp0?sL(DWjZ2ZE3GFRKKN9ve&?qyeILho_Pnu`MV26PwKkcC&(tFX`LHs+|MT=pTGn zi(J#OYoPwORN10Zo4r>xN+S6W7d&)vAsrKY!9%n0%|iYa7#V6B8t@Mib|2pmk#T`$ zPi&VM%EByS6E4VYJo`ZoE4TTOE&r$$XOjbq*DoF@Hp!9L>X856gVcXDeg zN)*HpKJ@G)l8ysw*POmr=jSX7hfnxNFqq1K?X=Yse0(VeW8LIS=!oO~@L=q{$AsL9 z2oO`BL0_#Y@QAqB9Ti0jzZ1AVT18yyRa6n5N%5GdBTP3>Y&%4JvDeUO154=g&=Irn z=!1Qty%g!2U_!kN>1UyVEf>^F)7^co$S6apX{mx!;+|oXOt%?7i07d+p!){o;%a?p~tfq5}Zn zlD3wH2>?(zfWJ2vslgW9aEmzru(@k%sNWBGyEbLv%IZt$+{&0*}6v82#krLBldSKDM>Z`uTY;oy{HIn4@) zP<~w_kP@!!I#$!DcxFvV_L_9B-O0`#T5quq6nCht#2#(oHXOsS86*P6+uK`bIe4d6 z4tu;Jf(@n;UHYD8t>Uxviq!0>hTmWWpw~2L0V=_B;Q)$CEgTOBs38Dm0V&`jGX$WC zWdNxEv2MW}-WwTuiAdztR3EhWbWxE`&30|Py2v2A+o7^=xGp&# zsY*Vy>(5cfo^JP?sup9o=%Vhtf0YN-eIx3%5~~)Km6>V63LlczAKD(?9xk;|rJU|0 zCNdT!E}0{I{QdoXeR~OnbP_|<9baGHo-_&nd1io)o0pfDpTGaciiV)qEH2K>DzF{( zn>;flvv6&qc4Np;RR#;8i+W^X5$_5KR}KjY$t=tujbXzmpvxtgrzkNFZpfIcA7~b6 z>2VR<)Xmvh`zi~3pFs^36dc@pzQwUWr(fknPgT{%qC&UcD(uYH+v>%g_cb-L+te2$ z!I!rhXx#=0i^a>vzeKjhFy$%*4hBHtG}4hk#NhZiSKMi(?apY0U1t)%M4|f0m1NL( z)wA893_Z;-a2V*SnVuO?hp@3}g?@9A4m#TY-kT*i;nMAZ05`ppFWA+_MlB4&81wkC zC+$0}v$L}?*9WBarKQ8QTGH%RU4oyhfgU5T0%AT2gPA|i?72EpCMTX|i48r&qlEUy zD{ggja&fIJEoq@mj(hg^{enAX85kKID#zZs+yNNg8$o#(%N{q@;QfMvf_4)!Gc$=q zBAdvA*kIea5Bwp!C=|!SEfEuNUFE-?WuMF@fbLIev226Yy+IPmqmeh?Cb?^VApfpg zl>nbTG9jV#QT5FXy%mYIOR$BqTT}wJ!PNz@Kb@SMKtnL4rEDRVN}BS)`z0t2*=WuM zZ%GFX=7FgxT=4RlJF9c0+QY#O9_^x`osGzE(xpX3ogJw$T37R|l_A{RivH`9AIn;9 z9@o{$W68%Zb{0XV)wQ*9!V-cg{BKOk1*!s9+2fc{odx_0|!UPUXM?Ys=JRdE_S~Lnwow)J2`+G?!FE|TQ~T0$zOO9^5Atc2L>Z6 zBhzjR+omr6HAAn%w!*&WO~wX{n~zUcTt~DUO7u|>3t@aCDiumTa63?t`I#uVaZ=BN5&=42*i*YRwt7l-4S(eJk z$jDA4#WI{lvC~C;H9*1CG(n)8ye8i4+m?!cvrv3LB&3-;29V4> zioU$sBduW>$FL*)qB1Akab;x%>6RAyVKfyl8LhAtFp2(fPLc#(Torn4=&bgs<_m;M z>wMaG-X|j$vy&KhiXVk$1Doc)zSR}YOTJgQ--2zP`0l+Y0HYM?)lA1Et{o3ufP?|A zx5{XIo4gi<+RUTW5kQNiPJhBRWAPmF{L!Ou2}?0$jx2GqTp`uy^wVV+^S^W5zr*EJ zcMA0whw7}>hU$n)nG}DWpD!Ra13Y$QZQN@k+bdTzA>mlC2RMuefyKynQ3|l;d4BM& zU0L;XBj(dS&R>JpD0Z)0a>Kggk3VoU=C7nBUQ%o}FN4sNo(@nx{|WrjZP|AEaL4a< z?>$cY{{bfXw96OeG~Eed-ugY6)6z~Sf9CyuJi69YuqZ${Nn3?q5o|LI6u~vi?y1&4 zim0K$$$s3!FxU-#@S{4EI$!zV8p~NxD!(Qq!sdCD!l9Tl#bs;_Q#lek6Nfx114l^? zZ}OsMgp24}XP3`;6kc_CG(6f@c%&>^C{q^^r(J)ebmNIPkGZzOY@5G^W*7Y(wu~6g z(EW4kLQ>r?CD^!M5F#C88BXIv$J&YQ9L_cmGg1i@kzc+`2` zGl+^1;g6RdEL^u|S3@V_p(260%`fwQ%)!eCY`(iKao<$`DvOMa%z%>*0)cC5p}P213AHulPl8PB z?d@e2-gx<12W?WE;(tcXtQ9E!IWaMDg?lT&vY#IKQ!Et4rtZ15;?t+te=5ALYv`lC z%B1ugf@b`*`z=LS!sXiu`IWwU+e-iRO`}{{Kare+v#lSww5zema2C_}3uv|~a;t=% zUL?NTNy#xc-mGYfyW(V!|Cw+)r+rFzQ}yCp3h{Sx`c7mrN5mZjjX__nOGISXQL?Ue z4|zYP=^~e)(4XvLoJk_xS!Bs;zeouRnZGPy?~Ly~`T18~P^eCn9qH)%a~Tc|TIv_S zYHoU=s%OnrvzKApc~>R7FEUTa*b&Fj?P=;uOp)PuH33N+lud*7^sZG3^M6&QxiB15 z%o0{CA8}K6J8xdH8xUxPo@?21iTzbUJn4LoI--@orDP;M%;+q;=|;H`6aDi77G}t1 zuH5&ugXMzbtR4P~_os~u=|jMz6F;Z2xmDuWH$%s-?8GETN399j%|#h7yez)|a<3P+v_-BaA#upnN|qriOK2tb!ZPaU3aG!Og$9?+T~0 zD?EAfcJ9Ndh$vDjvaef0cvZ=Yxq2!0W@TPCAL_DvJlXF_gxnN!6`3{PCzy{1oLEcM z%p=rsfKu}KOo!=Fm}@%4Fdh55WA+Vaq!e}c{#@W=mMZe71MGybDEe&Q@i8s+(*X%h zJ2@tWe3~*<6HN;Gpz@YCOh}5lw3SPv-QA1*-k|$#=doAz)6UtONm1mAh+Yj3X2>-G zCrScssj7+nt*-6!;Jy9N(}BMw+W$dC)N=6V6}C|=FlFUZ%u_+sW{oZoDPo9d+WbP_ zv5&*ymX@5ZC&zWpB_t&9`7x+5e~&{lsT@uh7v)G{lXcMR#AZd1HJFwGH1~7xPOh$} z%SE{$%;yb!IQW^UM}}cwd1I(@RDi`&N^6Nhy90NX*RO=P-t=iNK%>8J&a}z7PuBUZ zjlcgb#_IVNye#Ovz&pVQe&bcnLxuWTU_oV9kv{Qrs*;|62VwuCbnJhLKeI;1j~^w$ zXMhn44eD}&=G5wi@Yk(4nty;V{#8SykRAg!AK^9_@mE>mGz4e-B>>^nVU8zpa82j4 zT>6w;maKGOljHwSRyl<1+}-<{JE%l)-v+&5Qqua~WnKV1OvljFw3FLkMG9%z2vUob+_hIcDG)7>TYf?HygYM8Q~w0r?^fMu%i` z2|ArnTzn&c5=m{D;zJf3RRrUeZyc|fW%$j&z+m|6*Vu;hYKX4a*Y4fB*UWK#9>^P^{W zgydd_+e~zI^B~`r)sbSQ%P_nyj*CU6ikQ7jycUlHsp0^+w6wHiA3Q2vM;F5Hfj$i` zSGAO4F!f6%uh^?ar4$qtG)_cb4ibs(uKff;fk|;kho-X-u;Ak41hTgU4_oImk(ZyJ zw9yWbKjTLmd_Ptw%gZ}$-TU~URI27y24Qovd~fIju#LfBxF8T1>C~AVBu=nwTF9%p z!wvzn6(P?vTw6-|kg0W*KuNE!uMa+0*EclO?QaCY4QpsnNY$CbhLN7LeF?IH7S1NL z+Zrluy;xfMj0f3Uz(R)OuG?~CJV+vU&Z!PA?}BWCUnzi@F{bw;oNC_G%#4FE25j&I zA%2IW27}3KGSX{r3_00fS$R6(D3sUC1|O?-8Hu9j*j#8LApvIYn_EH&o*X^vvoMSZv^SJJ_qOn-gD6!fltx6T+Q!WXE zRe%b{)|S^9TAJtsGJK^4Ca5Nq^|ckxz~1ie61Q%eI4>91>qIG>^)jd&WM^l0=z7~e z92p-UCldMMVmsvlL6lZ-aAR|mB*zb8b1*va{V1nB^yRbF;Zo31J6}w5MD*D7^t(dm z%tEi<=p=J77?3ox(y>wSJa)0h*4CtniHWaYue$xwcW~OBD#FAgzex<aK! z=wp1lW^^7DRL(9i^2k3wEI-npSk(hqB^;{@Fqn;|ojy=~vVPvfs1d#XW2_R4`oi6~ z8!z)PPeHbqdLa~m5|=;)<1oO$cw~4ubgP{MWcEJu%!zPtR&W==4>%;O2q$JCVlOe6 z$yPdfc$h|c3yahS<3z28s@Lp`WZm2a9<=lL@=#H{<=FXm0o<~#hYMLAZ^bt2>u(F+ zg+%LJ-vJd8KYxGgrhtL0iGC2ewgi|2!lg2hTXo82p#0>R8{!8#{&VSkD9Ah8Ha9n! zR8Ku;zC^ip^UCo2cPc^wY`(L}%R* z>Aih@#0Fm%TiY)QCCYw3M*q_0*gd-wc@_89r&a?h2b`*EYHI51$BsRC*}57h`tt{t zGG$yWpFSV^Y%gBTAfH!U?A-H4EcDhC&i=45N`Xh9uddyvhyV;O6k5)wjoB_ttaXNHD) zHI_Fd%a}2*vKzZGnDKl1{r&svz21K3x}NK~u5+H}T<6^PeeUn)K5Z!Co2mvMbw~%PLkoooW*j0 zF;|p<8f^_{-u8VUY*5n*0j3V8K=kzyzyV_(0MZ3WOGANuvfME-7~tSj0f6fl3>tdY z6+0-0&_6tIP}b1ap4*uag`?IZ&D$=6Zyo=??=O*xtxC7Ix9jTawzu&#-uz@OHMOIZ z88(|ui)4<+9hQ&UV>9V=`oxWArbTmeb9W`AUiWu&bPNyM>fg&Q9-&e>!>&o*!|&)L z9{G-q0dD$=2rg5j7gsd{z8j;_v`kfx2&o98DqGlbp>OVvF}y`qrM9pkcgOi}l}od; zVJn@Ygi$lbn2#Un#Q z>E?1}6a;YHv}Azs8^L?5&Qgy(h(u1<)n){=ZjO2}Q1=a9^!8fdA>I3Pb8{K`>l+)3 zl*XFRXUj}K=IMqDozVW?l3*wkAqJUx_TdYlt^hDboPo8y7`}gilRZHCs z>r(4#w2@5mQN@Wgr??<`Bz(5@KkqZt=Bia#AjDTKqI9v38}5Ad5b9UkaP#- z$5UXMX%0rj7@YE-~xP*CU23p?oJp zN62E5k_-l;cY1A;Tv4IyJ0C0{D40h6ft|h&Xc~a7K8_+pgr!ZcGnr%j8yg$5LHMqe z)2r#Bw(}3AqGr}VL}D(bbz!!5ezy2dnO1<&Uj5dk>Q-Ndx!h#fagPsE0gaJ6n_*%X zsARDdCmic;+bL(%pz&j!4Qtwm0g*l%Gwt)@rPiLIp$#uyT-e5iNzsR^TrJ=_3oZ>w z?G2g5&_ttC$&Vs69&5vvD={=JE7-B67XG2?w;WECu!p1!IJSui3R>Sw35 z8Ng!AneTCy(|lMd^9nSP+TZUIU957Y25cYD-P3EQPMu=pceqqN;1|_C4+9je(dg*K z(OQES6C8TA8(D!kH`@4AM?4WljB>=k%-ED?ug?zjo_+LLFU@@Z0X9oXNogfC2L(ue z4`>Y4A>8^R!_;*LC+#(f+X;~Kt+KVwzgKj6vLrt$AYD<9Hp#ejPTbquyESsB?mY?^ zFt@M(k8)Ffvzqs1jwB_O3C`Y+uf^o(MWgUUy0(s&n30a8rL0K1F67XbB~(JfOjcwi zl){P&Z@O-rJ7|v>96E&sI-Mm<=HVzY<}Bd+ar|Ggxx)K*+h$x zdNxid;y%e4582m&9J>X-nV#0;zO;IIv$GK^rkuESD<951l(?1#=_i)|{V$Eph zl?qB%WWAC0;4AYuc^_kJc|F9(UR9v5s>(ki!eJB!q-1OOHua?m2?~zyuq_Y^yh1h> z#<4+h^?`u|EYHrODR8?Ot9|nIZe=rm-bgybzDdtiO-*fo6(0~1KvS_|xrwLfr_ecK zAFf#zxQk0j#o=(htC4-#p%c*vO7q3E94VfOQ%phVg$VWERG?pVCWT`>7>XAnr6_wC zO&jN@0!}wH|A0R-d&#A<+qG63V|Qp~kl$}+j_4{L!+XabEr>eVk>Iut#5Bc{>l}Ihm1`U@lh^vP7Nyl!R^!C~}wB=cJsi1!YAL>g$>DaKi5y zWHqWZ5I7>x)qvla3+&Tnf{H#ESz^NFC3mY4m?>-gG^t6fB7WoJk4u6&|WskX2iJAzy)89fnOs**`R zJ2TCvdNgPeTl9xsEmwf4x8b>Gv0h$dV1%Hf**FHJalAQ%xcq^?c2offw0@PMQEpe` z-jk*Fz~H205^w7TU1m6P#zcGjt>R`&D_|CgyLckiAl=(l+O8*;S zyK6At*H|OeeG__0h%t!*6S>qyvoViwMSv!o+Qr&<=$CieHHzK0pA$JX!h0B~iT`KZ z3z2j6^i*hQhfuB*`~h#n*rp$)OaP3JnfPMtHnL%_%df85T7iYsjM?D}nq%cBT%Fl- zO#yTCGqPKFdu9TXPX!w5d`?Y`g+#`L-@1J}D1G`eA{~xqz}EEr3O-U&dv&2~kp+_> z2W8QjEui=}eEcpdAVT1sfDJ zXy@bYE$DLej;!m--<|&r;e%y>$`wRrOW0cRj@v=6Ln$X0rwt3Qh2Qbgzcc#$`E$SG zY*omT8GBcz<-AB7NDq9p1*CQO+EfonuGkvD_!!Jqa%{hq18=yX9`=bS-j`6&8bewMu#oxF1P0f;%)!5Lg53X%>}|`c1b~@x|%MIQhH- z4@sK=KQ!LRrJ6AH+&w+#Mr*z5eQ7t6ngJDoLXbW|1tdm|M;?2*iV~~nl1Ta_6}{_^ zU9?A7l@1PA>UqP+=~xJIe1Yp`Q*G$CSssN7F;fna~6Edk^K5`DS+W_^W2;a@J9?v`fFPkY-wxvh&&EvaCq*RDrWtruj!ZYPDN@lWuWSjS3P8 z<|3rJx;xQ&&0RuFY~pORzM8>{r}%)5AsWpW4s&Sm3k|g$CqLbLrJ=6AxxTImAMbqQ zaQX6O8yg#0nWahKk)e#Eqazhh&wDpk?`sq896C%^5tsxW2X^;g2fLk zUcxHoJcz^Kd4F+rBdOaz_-s~IR{v~}nOVH{-3;QIS%&gBSRRBgwR#ZEO9mu+d7AgH zEJyUIV&gUIyoqPB0QDeCdzHe{8P$C*<`1j10!aR7%dX!P%coQz1$-tq~ zO;5jpbYB2X6zN8~!_9l6615oi{*Ch8nZ?CO_Qto|3@}QZoC>lakS#AKr#6=TVUh|J zKVJ?y?S^W>Cs(Ktxf&I@@%7?EA-3vEY+Y^b$}=aY;2&$O{`f0VfIR&Lh*UW^Uk zR-6#sIn=(H_EeSNJozz^S6Fg=t-s_9+AbaU{m*2D$_1{gt=G$L{M;kQV!5>Rj2;tl zyvS-c+m|pqKYt!KXYK8y7vJg9drv1u>$SClR?-;1_3uaUQ<)xhKI2VcYg5v4m!!M= z5)u+3z=~YnGEXOjL3uw$WrNYDLvi9B?C$8eAGlY)^zzHhoayXZWqa}BMX=cULBm-WjgCi2 z#&=4FeNT?zLBGFsP5%@(;T9HaSMM|a^FAYV-?3kEg~8!fJt|I>fJ4H-`y9aJl7(S~ Ifz#dp0RC~oUjP6A literal 0 HcmV?d00001 diff --git a/wasp/apps/clock.py b/wasp/apps/clock.py index 4fc2487..17485c0 100644 --- a/wasp/apps/clock.py +++ b/wasp/apps/clock.py @@ -29,6 +29,11 @@ MONTH = 'JanFebMarAprMayJunJulAugSepOctNovDec' class ClockApp(): """Simple digital clock application. + + .. figure:: res/ClockApp.png + :width: 179 + + Screenshot of the clock application """ NAME = 'Clock' ICON = icons.clock diff --git a/wasp/apps/flashlight.py b/wasp/apps/flashlight.py index 12ba272..95c44b2 100644 --- a/wasp/apps/flashlight.py +++ b/wasp/apps/flashlight.py @@ -12,7 +12,13 @@ import wasp import icons class FlashlightApp(object): - """Trivial flashlight application.""" + """Trivial flashlight application. + + .. figure:: res/TorchApp.png + :width: 179 + + Screenshot of the flashlight application + """ NAME = 'Torch' ICON = icons.torch diff --git a/wasp/apps/heart.py b/wasp/apps/heart.py index 367d17a..bff558e 100644 --- a/wasp/apps/heart.py +++ b/wasp/apps/heart.py @@ -8,6 +8,10 @@ import ppg class HeartApp(): """Heart Rate Sensing application. + .. figure:: res/HeartApp.png + :width: 179 + + Screenshot of the heart rate application """ NAME = 'Heart' diff --git a/wasp/apps/launcher.py b/wasp/apps/launcher.py index 6a8bab7..aec542c 100644 --- a/wasp/apps/launcher.py +++ b/wasp/apps/launcher.py @@ -10,6 +10,11 @@ import icons class LauncherApp(): """An application launcher application. + + .. figure:: res/LauncherApp.png + :width: 179 + + Screenshot of the application launcher """ NAME = 'Launcher' ICON = icons.app diff --git a/wasp/apps/settings.py b/wasp/apps/settings.py index eb6183f..2bad080 100644 --- a/wasp/apps/settings.py +++ b/wasp/apps/settings.py @@ -1,14 +1,19 @@ # SPDX-License-Identifier: LGPL-3.0-or-later # Copyright (C) 2020 Daniel Thompson -"""Ultra-simple settings application. - -Currently the settings application contains only one setting: brightness -""" import wasp import icons class SettingsApp(): + """Ultra-simple settings application. + + Currently the settings application contains only one setting: brightness + + .. figure:: res/SettingsApp.png + :width: 179 + + Screenshot of the settings application + """ NAME = 'Settings' ICON = icons.settings diff --git a/wasp/apps/steps.py b/wasp/apps/steps.py index 8dbf619..47b1371 100644 --- a/wasp/apps/steps.py +++ b/wasp/apps/steps.py @@ -30,6 +30,13 @@ feet = ( ) class StepCounterApp(): + """Step counter application. + + .. figure:: res/StepsApp.png + :width: 179 + + Screenshot of the step counter application + """ NAME = 'Steps' ICON = icons.app diff --git a/wasp/apps/stopwatch.py b/wasp/apps/stopwatch.py index c2f756b..8eab273 100644 --- a/wasp/apps/stopwatch.py +++ b/wasp/apps/stopwatch.py @@ -6,6 +6,13 @@ import icons import fonts class StopwatchApp(): + """Stopwatch application. + + .. figure:: res/TimerApp.png + :width: 179 + + Screenshot of the stopwatch application + """ NAME = 'Timer' ICON = icons.app diff --git a/wasp/apps/testapp.py b/wasp/apps/testapp.py index e2e8828..4c90109 100644 --- a/wasp/apps/testapp.py +++ b/wasp/apps/testapp.py @@ -11,6 +11,11 @@ import icons class TestApp(): """Simple test application. + + .. figure:: res/SelfTestApp.png + :width: 179 + + Screenshot of the self test application """ NAME = 'Self Test' ICON = icons.app