From b86664816d7a643868a839d08423154edaee2a6d Mon Sep 17 00:00:00 2001 From: AG Date: Wed, 10 Dec 2025 23:07:31 +0200 Subject: [PATCH] Timer implemented. No working tests. --- playwright-report/index.html | 2 +- server/dev.db | Bin 0 -> 106496 bytes server/prisma.config.js | 5 - server/prisma.config.ts | 5 + server/prisma/dev.db | Bin 274432 -> 278528 bytes .../migration.sql | 5 + server/prisma/schema.prisma | 2 + server/prisma/test.db | Bin 0 -> 106496 bytes server/prod.db | Bin 0 -> 106496 bytes server/src/controllers/auth.controller.ts | 4 +- server/src/controllers/plan.controller.ts | 4 +- server/src/schemas/auth.ts | 3 +- server/src/services/plan.service.ts | 8 +- server/test.db | Bin 430080 -> 106496 bytes specs/requirements.md | 30 ++- src/components/Plans.tsx | 216 ++++++++++-------- src/components/Tracker/ActiveSessionView.tsx | 62 ++++- src/components/Tracker/SporadicView.tsx | 33 ++- src/components/Tracker/useTracker.ts | 19 +- src/components/ui/RestTimerFAB.tsx | 211 +++++++++++++++++ src/hooks/useRestTimer.ts | 120 ++++++++++ src/types.ts | 2 + src/utils/audio.ts | 41 ++++ tests/rest-timer.spec.ts | 150 ++++++++++++ 24 files changed, 806 insertions(+), 116 deletions(-) delete mode 100644 server/prisma.config.js create mode 100644 server/prisma.config.ts create mode 100644 server/prisma/migrations/20251210190259_add_rest_timer/migration.sql create mode 100644 server/prod.db create mode 100644 src/components/ui/RestTimerFAB.tsx create mode 100644 src/hooks/useRestTimer.ts create mode 100644 src/utils/audio.ts create mode 100644 tests/rest-timer.spec.ts diff --git a/playwright-report/index.html b/playwright-report/index.html index 39da39e..41a1a21 100644 --- a/playwright-report/index.html +++ b/playwright-report/index.html @@ -82,4 +82,4 @@ Error generating stack: `+n.message+`
- \ No newline at end of file + \ No newline at end of file diff --git a/server/dev.db b/server/dev.db index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fd39be3d0e78012e5648e1f2ec7c78691d3d035d 100644 GIT binary patch literal 106496 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 IK!6hXU&g*sKL7v# literal 0 HcmV?d00001 diff --git a/server/prisma.config.js b/server/prisma.config.js deleted file mode 100644 index 68efaae..0000000 --- a/server/prisma.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - datasource: { - url: process.env.DATABASE_URL, - }, -}; diff --git a/server/prisma.config.ts b/server/prisma.config.ts new file mode 100644 index 0000000..fe69e01 --- /dev/null +++ b/server/prisma.config.ts @@ -0,0 +1,5 @@ +export default { + datasource: { + url: process.env.DATABASE_URL || "file:./dev.db", + }, +}; diff --git a/server/prisma/dev.db b/server/prisma/dev.db index f7413bb1c9d4498f0e00d8eafc0549abb47add80..a3984b6c50a97896a9d796f4250ce37f63283c18 100644 GIT binary patch delta 5747 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 UdFGv;EnSjNE0kG@6X(+UAGm@~DF6Tf delta 1516 zcmds%`%_g_6vy{od*5^Rx#zL(CF~&&xo{-V3xgIqq9aaiDo_;$;%8r7)m=p|3bg?+uD1rS^K-^ z`&p~9(qGx>+Y;sR6GA43;xeg!f5}c6)a5bvf=rNo@}caO_vCGPLtd2~@|-*=k9mT8 z0jr10;HT5cS{zkD3tOsv<0Q5&qe{!MVRv80tIx1R;dV$!Vuci28>vmFucb1CHh!?Evw`lWwz&v94$4g({ij$Ryo?8^uq`dr#@0ov+L@Ya1t8m8J_O!>!e*k zb=>|NUBdY~Qh@$mIubj&X|hvxlYXJoeDs9r@CfMjR>N8N3RdzM*27M*9XKgWOC$L- zkz`hw)67`ofu6$Z#RJjqG>2)M%Dq>}B9v>WU2`qbgOR;30)Ov?2%gLeq2}X|?dZMq z4CVS$G6Dk+-R#*#%yvfh(JTCa^_>o$3rVDiTy_nTd+9}4E$94e&OyG(+Gv$qJD|Kny0=G@PiV}}*R^NZ&IoQ9q7KFok5 z8Z__qQ`wKyOJ!xHrDbE&QWo@Egmce;?F{?YK54nDrC4Qz#+9+3F=K-@kMKRwYe zcjv!4w~4YOiQ<;;FdCHj7qKhdc7XHk7@}24%65tt2Y~ zf6Rj%P76r@mn?u79$;C3bqG2 z77gSAikYr8EXE1UhuPFgEreo<&n<*3yp~A=PIwkXYOILYqFMqW+q=Y@>kWFn+8wP; zYt*W>`C67{Yap(>WYmk*{9QiNIa~s@3?KEeDTA6;A7IhWp>oJsFQ)P)qQrQ5&;J zd|9%`xzqzG`hV4zPf(^3w0&%>GuOvHU@Z-kHozbg_m8@$E`645`<(e$6{`DKpd~b^ zm^oD~tTGs(nvFy@$pY(%wcE-!|1uj}0-ak-r?HE@1#FzCK{d=qMw`P;Zrm`A7UZXX8Vq=|e9<%JR{{VcM&UOF* diff --git a/server/prisma/migrations/20251210190259_add_rest_timer/migration.sql b/server/prisma/migrations/20251210190259_add_rest_timer/migration.sql new file mode 100644 index 0000000..dc63008 --- /dev/null +++ b/server/prisma/migrations/20251210190259_add_rest_timer/migration.sql @@ -0,0 +1,5 @@ +-- AlterTable +ALTER TABLE "PlanExercise" ADD COLUMN "restTime" INTEGER; + +-- AlterTable +ALTER TABLE "UserProfile" ADD COLUMN "restTimerDefault" INTEGER DEFAULT 120; diff --git a/server/prisma/schema.prisma b/server/prisma/schema.prisma index b060a67..52f75e2 100644 --- a/server/prisma/schema.prisma +++ b/server/prisma/schema.prisma @@ -46,6 +46,7 @@ model UserProfile { gender String? birthDate DateTime? language String? @default("en") + restTimerDefault Int? @default(120) // Default rest timer in seconds } model Exercise { @@ -116,5 +117,6 @@ model PlanExercise { exercise Exercise @relation(fields: [exerciseId], references: [id]) order Int isWeighted Boolean @default(false) + restTime Int? // Optional rest time target in seconds } diff --git a/server/prisma/test.db b/server/prisma/test.db index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e8a47e0969e818459035f844fed7d8280e6b12d3 100644 GIT binary patch literal 106496 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 literal 0 HcmV?d00001 diff --git a/server/prod.db b/server/prod.db new file mode 100644 index 0000000000000000000000000000000000000000..e2ae7a75ed87d258143de1f4af632ffb62d9af17 GIT binary patch literal 106496 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 RHvT`!i;d3s{{$}?{tpMFno|G( literal 430080 zcmeFad2rw7edmY!27a~wNk`+m@f6(_nDBCeffZz=hBu$aBEPqcDA_-79c%?I0 zNVaEZ8XteOo7gkkNo_an&f4*IyK6gbr(-*9b|y|0t7(gu{X)gPN|6ziTLt+JjdsFzu%wFbMnNIx#eoSURb=GEsy&hZ|Lak?0EP1 zct=O?Z*_EZ%<;eWKg0Y>Py0Xk|D7BD{SN=y`&%6oAO3%Pb#db_bj`huzZiR9=>Hgb zVX$}TpY;87;GcJYx9<>1ZmD|7-S}T`eC?M;`*%I@MCXU@UC#1L)tQCGiwi5ux@5z@ zj_sSB+H-1Z{M4SkN2bOf-|(Bq$DbY==by*t%E!k~O+9~V{MZctJALHH`0?3;NB7L0 z9X~vE_U)}}R+g&8gPX5g``vtYx!QDxwcnK0Qn5I9WqEF4zIDOcpI2)iv~=5_7K>H3 zT$Ov4A0MCOl}{Z!I<@{vlT-WmoIY}DeBbHW*{NfvUea$*p4xNtc>4vflz05gtxNXJ z96NbxcF)0Mr*0dDms+3pQhl+y@%Z@unc1m>)5rAX<4-@n_SMgf&ra>1;<5XtPL4l* znxSCqG;Gg|&m0?{oH{ba0Pov#a^IfGDgDXm<9h%0pA0<{j`i(2_{5!Nc*B&ui`6x#e$O*!qBcp}cX%{PA&iPBp)roo9t^xMi_$`N}1p#ERZKGjn8W&#_yt&3v|2 z+VbK`wf1sLbLH9!U;BgQxyu#rd-=*QuvE8MhfLT@wGx+l? z%hs3N;bqpReA~BK|MjNVnOfV}+q}pu+jaKfzEj(65Pzg^*YsO<*dQ9D_Wt1CM_=1N z*uU$UXF5MLef#z>BXRq<4BcUyvN}b^Xz?TUL1O50`ITS^JAy*Y;DG&SR5%W+$I&UA*lwFr)Lg zU>=_v>f1H*%#O3)dY$zZVE%jfwYT^8?|S5s&JVrKtb+CeZ2$j(+h@N0$3K^OT=N3P zN3MB(z&HQi^YYxt3T5|)!C(`wt<>kIz2yk2?w~CUHTa& zZNp#LIOFY6`CFLlX9xOr?R(@-bA9VY-1ff>zPi+Ff}9UF&HT#w9$#Fj=Pp$n{EuQUwEQ#?U}VH*~X1+<9N=q!Q~4TPPM0fZgKg-BvZ3)71n;kraix6Jd=sO+J5J$ zYJQttx#64s7N#le`&kjo#&>Zy{73(5-QE4Wn$6A+re?C%E!r%ud$HX7-#xca+vZ>Y zjm+KVc~#W7J~Ov|duvPHDc;oIJGs0z)wljyYi2j@t<4|xw=j9X($lx=Wb;mYY|9I| zoByQu)uqn-Oo=AN^cYR9(*Iuuiw78f#nOO189gjTN%}Zxc6T7aD)j_(|jcYW%SAe>Prk{I88~HvUE94;uet<9}#; zvGI=^pK1Jd;m zlr{r5$(m_ZCCxlZ>LhmEJSm)IqUMPeK4oJ0^5sj*(ZzRH*NLJpRTD(yZ}sxGy3Sjl ze|9#XefC^=Waa9j`|?dcSUJ9Tp_+Jk-}TeeMRIEP(5aJ0&*aJ8xQwHhZye4KJM-68 zvv; zlLszeIeFtubaU?N+`;nsm(R@}SkCqxS$t*tuLvjNuP1zs+Y{y!@WC-kD3qftP159KGS5I{M1x z33uku^zm2b_mzi=J*O`eL4IuJ+0$pvOkFxQd!~5)`tfS}&j==>$h*^IZ20BsfAB`3|4qPXy5&XJf-J zS0~@F;WNB4jI@Y?KzqYW3${g>G<~nkD?fI^D8rw$_r{I+#W~mC<};2Rzj4TW`Pqx_ zsh-cO6BEzQO6rn(qDTTN#5rTxLu(V3;gOQ#P{K7aA%sl79kQ7RP;TLg}4=9qljEX48*FWRp%H=q^yxrzF;Lct> zesU@}d;RR;Id^3xxLFq6%I&6s|ubM%eR?XCBbGUJmdS#Ipk)N!8$9x*p*_Cak z(8IRwr{ptNsp}5`&P=8g=fzlpRO0rdZk+~OkPPsch7v4zLM`h zv;Ai{6Hb`k=`%L`a&>Za{WD@ebJDQ(ntA30SgIs#W?oV>)3B(*+V>My+xll*pSzhY zUfAX{t_1FpA}nWaoZ4H>#HWjB@0odj<@tT3xBuvoaPRS{thllF{HY7Y`RRi}FneNt zd3o>l2G>s}()dn$eB&=y_l>L@+#-&=+E25l7x+mtz>PF>Hz=D)TzDZP=T-HFRaM+{ z&M$297189}h%ZtGtNQV0|)D zc7C?qWK8bAFg;yYIU658dj8a& zYYVdn4sW}r{AeN$?>HG7ez`h1wBa*?tnxA@15by!lJm%;IBKR|71Vx)-3>Pw+?$uK z&-v9hvvKIug-ciW??3B=bMxLFXKCfc{wu}AeDr*I{LI0iybwhDuQ)R|j>l6svbm-A zL=#s}Uh}s9jBp|f!#ivZf5R_V_YJPEsR$DvIc)AabmL}Fg-k@4rOhgg%OGQ-l5#^Z z68qN|%Wb}5_E_|u(tp+oF3ns&c-cJy5IJ*EDVzJsm6he|C;XF(i!aaaJALNZ+>Jvs zxwqoa&FtIeE27;lJ0l3T{fgUvxjH$pJ{gYVrgh;vO)rnVW{~p%Nu0;c+E2X1iE<|i zJz55SWPO|UR`Aaj^;S&?bpY&4^KSGJoB-ZY+Yz3nIC_Ft~<>tCOYJdJ8bKf`0VVKZ>NteN;en*>)< zXKoSK(T2%*xqSJ;;x=D#sLEn@|G}#ZvzO!N7mr_aPu4^+rzS34&9loh&VlSgwm&?y zbYV}m6tP7PEnR>4$lUgm5lr~u_Rf#5*zn8M$-ec;Nb^8Dz$L^C2}OdGO%Y~JGmXkD z42VSHbfcMCSy%{`xA}}Cm!H2dJ6+W`>znVnaen^B%*u_$YgO*eo^qd0&Yyi{Y5&UN zf%<%S4NNt4h`>tJvUP;x>~oFPpXN z)_#$MW$0~~jEk4c3sJGnXGGcIiBlJETuRHy=MV0?Ssgu8uPn?QJ$l`lU70*`=)l2Q z|KiDGf&c9Ft5fds=_x19Z${gEMz}jnCVX#u-*@{jSNHX-uc_KAf-Jy=C#A=1lzGt1 z!!l|*nP0h{TXz@%he$C($Mb!nL zk;M*nDj`Y_(=smNA|-@hw^KI*|HATinctP8^^z0aaJ=Q{OfWyU5bm3rdS&Ip z-kIrR)6d5@uh%bMn)Tx9;>7joV|$;^obAF}-qgiT-ElTH{Bkwz96H@x?cJpeHgF>> zikml6qV;A_lW`=Z7|jf$>j%CQr=^>fm*?i+eV)9zd~F{;v)7*G=ZmjB%+GVL_4D)O zt4sVm^y*9eJoxHieons{^K;*;PxJGgukPaKbFV6k_g5GA>8`%O&$q8m^Yd-1K0kkX zb)271ua5BZ$?N=hq~yn&kMrZfcktr@-DuZ+U5)>uqj&7z@b4XyjXxawH;soI2OHP= zKifG!bYJfy{ewNn2d@mjci=?h+atd^cE0-?WA7ULLFb!$zu)-W*vCeGGV;ve#|M5q zJT&mBt`CpQ_U`X~t>=?HUmg8n-@Sv6c7Ca^8hvHxi=&T?9vG_ozd7_Ljp2T;5p?{) z=qGw^41Q&By6d@-uXhg&eYESI&hK@VW3LbU!yoMbz`)aE_jmu*$frktukRzh3tivo z|7q9f`@Y-rqu$>fdS}O<4}YuYsopR5eWCkYzc+5>fE`>)Yv#qiw1~~Se+ztIGc%Lo| zgD?y85Rb#(#YB{BuD~a+caq2tndsQbUetw78V6eKiSzQQ_ zM6q{V@=8&iC1K^hr}gMEa}qqA&*$N^Q!pKm@6QXTOp7Wj_}^(=80C3cr&$ijpxDvX zcO)c=ITM-tam4PaPwB$aAv@vAoE$%0v3nBkfE)||Nx7)J#gY35bUDs{?)H4yQ#Cv>4x1Vxn;LDMf> zEwh5%o?x`NjCZV)+I6Diy0EGXf-lE!mVV5lz>+ojysGJj6_4;7W}ukSg(SZvfC`yQ zsNBBr3&zp+n{I?xa&xcrgXEYlbVIP0ICYyb5h!yV#LdhhzD|lV&Va}GTh38k7$iCF zfSY+mM(~={OktJ!O~-c&hOx-&B0i!EiJUwaIHDPa>=c6a8gzu|N&TATmxk<%{ID)0 zbgC-?Ehe|-(JAkkY8|Ip?1i!K`EHsY(uJ(l$cuug85cQU6tOb6QNVx)X~N3%`QwAS zFe85sNdB8%q+J-ZC{tpfW?4A}ULa;E*9UYV$Y0ESm(4iSg`rb6vnb$|ivTRDN}{^* zr&||BZsbIOBA9MgPsW8HRT>1$F{YQ#*{=&3)uITZx*3K(TcKtNWicYwm;*z1|LXUCuF%o$|>`0ame3fEZ zym*hfFw1KPtHrmHECw~veeUxkbj#Rbmqo0{ck9BiCKoOXCb!TX!H`J%1Fz{gew8@| z&vuJn(S@X&NyaX30+zADJ)eaeWQjv6|Y2E}UA=71~0#>z0cKZ%p$V|!RGP!joL&};>bN*8% znYEg_u^&CB3#&4S%AAc{1?-dnytSFST$o`-s|0kWj*{KFu#DX}@OU(!G8s^vVF1c9 zY!*b@zye{-AE&y|E2=bhcwk9jsP)M3gf*KRQ<;`BBTkj*LX0NU>9XUKn)R3xe5EBD z$JJv?kM&Xeu`a9`5sx8faw{29q5-Uaf=S7XAjUYSX&C9k!Y^xJVbZclyD%=;TrU3^ zM;O06_rPSTP#3yYfk(rJRcWFO!jGHSCahWP_+^C4@UZvh9Rt2v>1yoC;?^K;d6;8Y z@piz58s@^+g)C2}DA`vL;2U?;6f#q6R~EZlV)*bV<{cx)Ni{QJ9e{Jui!crn*)vU-vj8;-fF z^4#$}%=6oHVTNN)d@%nw7v^8_pv+AwwxY}A1JB~ye_0peaIl07kK>ejM>Zh-$!kUt zo{vlr5GZ)2^^QRhl&~Q=rk&NpUr9kon@*hhm_xF6FMHZNI?Q}9ytG-CDJ$G(&!!a~ z&&N3VA@M)!;wfDSkWsT0@Tp`6T!?GpWdo)@tTU&?Bl^KF=|Ybsm@++0?!_*Q@xW;k zGU|8%Of$>AcAnIQRVY`2t0oy|W}JXI%5d5-dmwP~Bxhg0RTtur!z5=Ff&}SfxH=(O z#1~^XT_3P6ji1nkxl8on;(^N?%syZrgC5~XA|^9WQ~scgAJ>Hmh+i0iRn}>taTGq2 z@&G?h7|JY(c(J#bM+afxmN@?`A=wK8d@+kIYE}^eKvZE$<9u8fMtOwW(GGt7x69<9&n0d!6U|C>`3A}hTcrU52lQfHhO^c-@5=bA_g+6GWld+{rKqK4- zRyh+3!H8iN0v2FUK4R`z6hwx&bHFhkjgM?*C81i7;6D?>(y9*MtP3504i69B^3nkz z7M6m2o#NrDGE0GQ%ZGJgg(pb^{7e#)4F-5+d8Rj-3oV$OH|WC5f-7n0 zLK`w-Oc&a~{iEiN7J&MQF0{d{hs}i+sPK?3w832mb)gNkIiL&Iz(cac@n^bEcSVJl zg`P(iN6v#uCu>L&_EAirPpnk4g`CbOxq3oZ<8pl0Wgiu8%+4fkZ?Z*+lIx@*A#%v< z!j4aJ^-H=sFT%V?+2+10!aUiL^L z8{rV=kag*ws^i~rb<1bjgqU3Xm~Kq~Na9&yMlu<_OrA(tA^%xMQ5}XvDV^8F|93Th z!q1K~;{Qkgt5IjBQK5l6|g;a3X})%u4J-s~4o1p1XeoS8up`==%xB*@ARl9dA7sS6Gu{ z70o!rjS!lV$SRnuT&6hIG?Na7ZsmcgVMdABNlwK5$zmyjO_|-i3ap>|SnIibR$75s zG+m`20ah8thgm8BiMd@|;q&}51CGSv0%P#K1&$<%2>A*EH#};N$xE%D`)KRA5rG83 z0U$+;D`A=9PgoV?@s+~@c5!=ARWqVqfHlV6GtMl0+&L(3MzZInHB`L)_de2kZb)#P zJA#T~9hqcSed6LHN?;dkJZXtr`9)1I9N@@vIWFJ^ya%2si7IBPbP4D}>+gMY>$${B zuwUd`L?whNctEy1p3G%0ki7$_IbBbOF773B#4>t(hkvv>qfcnd)Ci=u=QM0l`ts?uoPb7)kz979{>U!OpuU~ zRapx30SpK5Mt&+;Ny&%J(+x&)wB}uJ8JV(j8oh5FQXOW*U%=L>#P* zAy3O3KrxL9=7QK=*YK8UrX;xF#dx`r1X-%^ z#IOi4_<~2K4pvD%&;BhO;3Q2=EPw*!mep==ukLL<7ZVwRG?75ME^9_$6$pgjNS8P~ zt1}|ekZH_GLz@KwJ$4fKBL^@L`~|v9%8XC3{@#1m<`)doDMJzG02hJFjdPzIv5diZ z^T<<%4gQmtFv87Ri3)*g3YdM;}>fG5V-dP)$JupM@ToXUqYs~oqgte^Xa)^kZ`-5C8$lZc;nRX98sSduMM zhgFy%(<8Hs>Vi$H=@+gR3U#RgymJ09tenX8Yv200jn;DsA(Ak`Q1BR@Ta$5u^wdps zZ%8p%bmYV(c@6&qZK!kX6>f@8^-4@lN@|yaY5KMGbH`fG#iiCRaSYA{pcJ+Xh{R`^ z`CybXMpYE~q;||ZtGG^a!X%t5yC~B>BK3!I1aY+AzoV_^reLQ@!K{X!)(roSKhnwu zNn@>+0o;cpbONCwuSJX;6uef>9wKpf&|*eTQvDp?JJNbC7z!XHFJEB=uof6C7C1b( zAC^@@Rta*bG`w^W8P*;kOMq<#l400+c)(yGxQOlj!f@-k#Nxyl;32LMN7f8LCQ*%I zHY`cz06arL5dACu21vq|;v(5ctcKi)eSolv3+=~wXl;HYJdJQc=p2wOL83`OE)c?u zW3d3{0g^zBJc3>9mB;ESNR{Gta8tg8DP`L5zfr(l zaYMu+Kn#%H9xMPv81oBo%X9f&7BlQm9TG>|&u?Grxt_p7#pIyS8bi!|k`uf;F4i}M zImtkN@Ecj_v&b`$GeC4nR>YqGbHpIPAsgQMdwW~Y*sd2o|}50q3}*PQ;AI(*|AnsSy1y|z z)cD-M(_J4P{L1Jj8p8u825$C#x!WC_?)%8dY~$OF7l%IxiysVryz4u|@9n#H>|?zP z{h#grO#e6gy1792b!O%M!9~%8(?{D@G4*a<5 zp6-ExPmOepy=&x|k*^Ov+V@?!{-5+5@A*;BSBE}2`bt;XeXjolW53(`NZ%Lw-Z6Av z*XIYX^i@4ijsD))`JNlYztj8u-u*-MFOD~KSK^b;6@)B67BG2*WB7kaF%~BXIs6p%gPjRxgLCpS zC4E(fo+2>(KVdcCFuZMv#*z)7ya8ne7OWy7Q#e+IhX1b;KT16~NfJEKHp#UWTu0Z<^gi4S3# z1albv9~#qz0>K)kgtOQp47Q8M&9Iws<)hB1@)rLe@*=Sd%mK~Kg}@_N5d;QU_7tGa zEtA^t{{-kzAh^7&P+Et{=VlO*5Q&Hxk$wP=8vef^`O9I!!Hp{AyCAD%EE+BBl@G#1 zC}#NoIwtalk!t2>CI|}2IB<{*LJjyt0+|&-YWRQXKgc8^79b5QJT8pyS5SwibwC=3 z$vwmW7ocb`StJGlNDH(C@B=6riwWlkUyNB!4gb#qg}9SG2poj3MqGon2MYjla{1ql7JlU4$rh zeZ&8U$bG^>yP0?qx9f8=jTV~^jX_9`=(YI&iW|YmfFXI%m;jlvyb|0Ugc1P)L9Fi? z{vYtACU=7;#161<;l#O9#_lDUh#AW=@eTj)fy20HhYNJ6FL1(n+Fe_cY{UOY zE+!Se4vPbvhi$|5z=y-r^52kPaQ?30{|P^t7=jmUHOtHq(ptbO!VAECI(~%U%<%tg zABVh1Atj4T@j7oy^auf*BgEoMuqk>+h;E0GBHnSuSP07`ry);*RYmv&0Zl5Y3$e-$ znrzm!%X%Q_W*wC<@k|#V&-=ml8~)z|kSo~4pexcSXyKyq0_1@_CjAfH)Q=4RPXq~I zToPavFd6~SZ8NK2M+-24z-Jxv28RD<;(VX?Yx1VVptAG42sR7al3WnP6;@L3h(#qf zglHfT=RzgdgjOhAHN^BpR`o2n_{d82&#&jshnOG)FB4GXvFx zBt2;Yx`aShc&o%U{69E2pg#`;(BZ3@dE5t%9WgO~Ol0gwvEly_YT)`X-)@N%1mnxB zqmCgTLpq5iBkjx$|6kX6jr7M+WXpvR2rb91Jb}C+_WZ;({6CqwgI~tjV63^2T|lnH zr-PVCJC&dgF#Nv_S7i8q8*<0+|2Axl;s0&u6T|=8@EwN#w;?DD|8K)682;ae0xD^y)$z;H1YmBnzaYTNm0u6J1YrpB_Y0wIh}w{(q?P`$`HcQ~&>Gjqf-9 zRpXDz_W!W)wZ`uce{T5PaPQDR8hT-%5jDVn)BnEy!M=ae_fp?b z??3H*fA4V5=Xa=iQ@SU+gNn#yWquv+Qhi{I@%0oWI!bPfiS=7~t=|5jUCy zQg)#&R4flao)hIFFH2EN66FCg+Xx8vSMw*E?VF;$R#`GaHk>-KAl_WzEF1vo0FK{B z*=i#;)J@;sz9|B1s%pt_NdIuZQVWwT5D90L(v!WpQ9<8>orQ_I>D$^jMH@|MK){Ae z##Ps7GvPo(R9OhS>o7xb8`_8%b<ZVV%Z;Ap4wI=KqQUq=)%o9-~%2y@WF>x+&6!^uCqD$TM zm)bW4{@^`GrO3?)Imt;#fgqERAS0&7nxNf|CCh^wQS>KNUGhp~)EQzx-ImmTXW^%A`b7Jtkn#}G zETkeNHDF8uOfrDtG)$n~(n2F{BNEk3A8+53{0X+1BE*n_2WFqlJaxf3QUM7O1Iik( z5tQntZ)xAug=nm)_JEi%aW@zkLSMx2AxR1S2~cj3674KL)lJ9SHwC?=kVWMrsK5wo zfx%b}q$lLwpc^bzKHoy9s+&I6zA0-P2#UZTY?@e^$QYmu9J*vADaR+h1WK_Gwd$si z-nuEtD8J~m-9peL15H?pSI)V)g z!LDxlVEd*uVkxw*fKdgQ0)^46CiXijWF!_INuyK8HsW60^nvzGQ7eGxK{+5Z=BDJx zyeTB5*h)nH7!~3;3n8#>x~qLtl6O2P`8yQ9>?sJDG%6&h00PuKsY(trwxeiRH+@t4 zrasadAE`c@v*4x~LZf{f-Ycj)@}+li208_?6XfbBE^3@w?5KM?`_|dH-fGO ztwR5TLE#_vK6N8VAt}WO*u;{q?A(V)H@&BQQ&3e(Bp|;l)E=x;z(MW+r3a)fIGDAM zj%(+(K)UH0+c%9WRyb2dQHI1jRO!e^ff<4%S2blqV9g*GJ2vUjP2bSIDTN~x;ju6o zK`AJ}?GbSCrqpV%m3-V&l2{0>b<;-sro06+#g~U@J9twtetZ<$%8Mb7GnzNCJ1j)m zy6IT^rWDZ-IkNW)q#am(f>cyesuKa8OM#4$`q~J%b<@%IP4UOl@v=I>Nm)`vJa7=8 zE9&roNx>gt0(b81qMMGiZwloD&&Wji$WwGv#x&9xfYGs-AhQ9aEQH~@>2Uj|1$ZdT z44+@g?^mj4L4p81i+MsrBSP9nM6R0-wQmYa3t~bTMeT?f0d!dj#UMl|)L^31iP#E( zh2UH_9c^4Kh%Z|#x+HuiDC@SkhEkL{uPzWGqBTm;%2iiB4k|RohlA&O5Cy`3& zsB3Hj-tqAiE{Y1W=+U8@_P1}UiU;YWseoj*kU_(oP`Surs7ha=una{O?r*1#8MtOjSqWpXa{~+AwD;CcBb6$HGeQW+ortC@2w1?s z0R-4j$mddvb`rX2Py43S_!bVLFP11$2;zIjRAp4;Dpb5x5_b4D%^h^p?)FV7m_kfQ ziihxuC51^Mk%05S8#*L|i2any@7!xaH|=WQ6to?*7E@0_HA{;6s%GKyG11I`F(D#nPuk?Pu|Fc8&*!j^{hJR=5ce_5{KiC*<1pQv;_j(^0 zJ%B=>>ims?Pj#Ogc)ITkjc*TL8G2{;UyXjE`!k(WJwJl;|75q@@#mdi>i!1Y{_7*p z^zQGwx8o0bzuYW+zc1bS!@ zCdzY27%R615r$F0Q&G$tyw|)V21?RGlyERcz}svHX%DHt$GVae6S%&h3uB*l0A$0& zObQyLhNSWiuEb$i(nv6&BJ`a382Ck^RQ0}65}=-N(9OIuR06CT%#4$s)rAxo^EjY< z3_IJ#S6u~bo+37A6V%Es`2X{|5GYD2R}`&kT>&vI2AAjK87r(S@h=20n6S`rdWq1eS>8~(rW7+Ff2sboG&6_^kEs&E9xD5!~bVw+)fxkLc;@Uz`>z>5wjjaB?Uq%ZZZ5n3^RN_W`~RQ)p!GB zy*z*$(%Hi)^E_?U|BL2RX)BdUq$0c%D;(EJP)pqa(F8ThhX2RDkON>y)LVg|T{WK! zfTB#Fjt4C9C^7s$0toKO2V<%P!4Qb^Xlluk@{vfRObtWB|7X-fv#lu>MUKpXt2~HG zP}-tWqfWMkdbBe2|2SX?T5+0%*<1u;lzOX%M1USu!hYx*{$CZRcx+Uc)SqefKpv~f z9WWIEJj(#Jt>OQfBVq$Na~1tkTFc^wf@u~|uL$jl#XQIG|HO}~U?7ez5M%QqTnKQ5 zq==GrHaOT#Z1{hK8*U|i5*lAF6qrXt0n%EKSo}KFaTyr?pI#=6kgBgdCFz9v`YU(^ zqFzd2G0vgW;{U0mNU3f>{s?buNO)R5;1x26deh7#sSW>6;T8cEuxyl4Jw-_o#4I36 zljH=ME~ql`rs4l_7$8<;TPO#3H0?wP=)j#w3UNpkiXiYDndU$xa5*w&RatOH2?faY zSR*Lq>k4Es%nkofLl6KE)u@3i2*zM$sC%R+qwqm@!J5%=>yC&4z#}RO-1!4O1|)?9 zm=+EgWi$YhG+c)NkAcJDioK7q$37Acv3k^pjRpkZ!Sn)wk~en*b@tF7Nwmcj`lf|~ zO7>ayF-tcBKsNk8sSw#EkR@>pGoyBBwBq86P{^R$Me-R3hX1#L_znMW1KS(^-v){| z{J#ynZuoy2$lUP%HZZv1|81ac!~fgB)rSAKfuIflZv!hE{@(^FHvGR0{A>7s8%Wpi z|28nK;s0%**B1Y80jC=N-?4y54gYTgdm8@V2Ff)2zYRQT_TYp)z4Mp4O}U0fusnX z)Hwxb8-m8EzfIopKXY}itEn*Xh|8%Tf%w8f;?wBCMOhXKEIcgyQWZ6unGpbxTzOWR!hq<9I0t!u9g`T%n}-*fkPREcP#}1bUdMp$>BT@;E=X53NuxS zOCm!8lG5x46bghh?D*fr|MxV0pubhG_5c6DXfpE6k%f_=;s0{@z|iYMe`n}TgP$4P zJMg~@Tpbwe|8)Ok-@od6weR8H&-b20wf~Wxw|DdE9m@M=LMjIzo*;% z`}}i3L~Qesfq?r3HQLrDaDo3v^~5!A~Q?^DS| zpS&85ooY}ooUC+I*Z3*=qmLuf^f*Uq>e%$D1GU)MXY?ec{G^gd+~7@!MM(E^vOa=O z3hYBv?J;#778RFM<=k@XIm}hveoijJ_Q?l%4h%ZXsw)3fkW2qjG}J#+Hx8P2skaO#36T{Am$ zZzJVa)QXmrk%u%(fZb`Jie??i1>h{887wUUiBRDq2?o{OhJZCf9FCfg7F1{+%DvTm zabf)UB4@~rYXi1N?M3mtyUaQO+ChAdXqQMH6qPgxDJa1$=mR2EsD8vBvGO+cnJUGw zq67s8Q6LK=LXQD}`zSd1%1XA}zI`Uf_c7fb*dL^a7&t^Vz)LEsCZy%O2B1WkDvEkh zRqlNI)`v{aU1>j}5dZsx9)WNarLo!=s6^Q$Y0NMoJVFvmn2@@YKU+V-j8*#~mH6PN z^bndD2u>9qAQ^F}o^aF(!Lbu@Gav|%ORBhNF+o~W13|Dj;LS-1k(D#P7(l8iXmhwS zS6m#Qx;|bxe$jr+`^6ByMQb=_i_rT7i)f^-YC8$#iXj4xSK0x-9obat>YT}o<0(RP z&JsIya9=69_(?uwkc~@Hrqmc&2QP`?1?LbGL77z?({hsT^yE7L>md!FwD0NHfnkKL zppe+1TO%En%Zekd#%C9>SO1!dJRn(?R-$24$K>oljkvCGR0+iW2io#)zT|R9_{uIA4l9LY6kYN_?0;vQU6Bfl!2WZoy1pe}P-6 z|3ICaupexy#y5Jy9C*0>CAAo9;|-CZ6JD^xE8Gn`1Be$_0v>^Y3Hd$73bN6nPJDwm zq%OAooLnTf@rEuP7Xdf$>f*yGRYAk9W_t;hkFd8a4@Ph;VUYH<`%W*ZEuL?KiS|7 zMRS|kp-q5G-#9o^?GV!`kltpzY)B&;U?HDIi8i(78@-{6^rAg#7sP#=C()$J0eO-m zRD6)2qyS4Z-66n#s8!2AB`vDUH$Dk~?AH8T5Fu`!1P+5k5fEl7hSX}7V<%{52lT2s zRF_g2n|kt%Pohcl`tBD?ZhT4wFpLHg1c)}-fN!RVi=d7)mRbQSyJ=-^Q$gPHDTIXn znokjBZhQ)=Cc)%*I)Z=V1HKB5Q(Y4Aa-7%#T}mskoomJ0J_Yz1ztxH(UlfOKdj;k&4)K<5Pf` zC2S#*!u#$y^(ms_jm<}OR=S8-KyF3FgZL`i$`uRc^k@O2hsCpe z!UmrrR^HsdqE|LjhMZg#0)&uG9v-Z{rXv}W0^06kzwGY6(Wi)@H#?jXTcnOmFRCAW z77dM+_fQQ6wE>GMIuROa=Z*p!eM$nR-=2$FtiACm_+He+)S*EE@Fk*Xp>Ggv(b<(X zO$P`S_wC$6VBM#P7i&K!7m;s#3h*}lE#UEpZ2PX?z)AM5#1*FD3((^WP;H27%a+dan{LC;sa|EhC-?EKj4^!pze z`je4ox?k(}27cW68>6rEE_8pR+od1CXXya&yMtG{o*VW@59mCA?sFY~-gt3jcJSjJ zf6)KJ;1BvgfO_DkJvTiW*m7e_iery8GY3=e;B>|>k|P<4I}oxvCM`XV0GoCdNE%tIo3k%Io(KnTBJ~#Y7#!4&}<-a5bTu4X`Z?7T*C~mlOvX#*A|6mwY6e=mudLfW9kc>=s18T5 ziNFjJ9R;LU82%r?ids~PeyNq^j%v4r`U(_`;7jr@Y8lHG|4(^4;yhd@{>8aM18# zCCXG)DD!59|EHjY(rP}KS~Knl#mYE})<<_ob#wt|TpDyQW~gwPay%qvq~2tx>O&01 zgWDjPA^A4^KbjR(a`J(+#%56PP%1&iy1?iv8eqZ=|4-jQv>$5MS25P4^Y}B#;P61? zl*q`b1vdOYEt3$IF^<$MlT0C25l;u9n*hG3c_Sw-82+D#ginQPR389EMXX1J7W_R_ z#2m9kLet{^k?D~f!GGg2nI0dYgtFBX^bxWgqepsM8~$Gnrn#1MQNR5VKycSAKQvY(`FAZ&dl&8 zbO1n@R+Wk2|KS=dS6!K0*N5w$Qg&oj4%i;LI`nKcqg=6uMx5KXM_J(~`olDA6*ZgTp#hp5g!L|4GwPI!qApb0GqD-J2KX zv<@1;l9xuV;r}TpCb~n?f-Pr-bN&Tp53H+XBB*$w^gC_w|Fl^L%At-2VKb`-e~GS# zwZ=Lm*GH15MtgD}G_eMD#e9PE0y-rU3aG6C@ess5VspH@;s0s=p%MV;BS|Mn!o*vv zN<_*dwlVgsH2gmqAkpRR7`_EVWlnppE4a5DfUtFDZDG|2q+vp zgVG(&6ylJA-0=TNK+6SM*;64VOTlDFk3#aTgMwmOF3_&V@c%X}iQ)fkNDjmQ+prXd z|F@wU4F7M#6&U^>mHm!Tzv2IFKzqag+d%Jz|F?n94gYTgfE)hb2FEu1zYP>^_;2+$h--v(zj{J#xgYWRN}{xMTQ# z8;qu318xJh^yxwy)TCDz+JGKCy3hu-=r-@T1N1;HY%&0=7*70uZ{uI{vtw?J|Nmj* zUynRJd~@i}hOQ3&yTMln2L?Vea9{r?`p5fzyKk)b{XO68d2jdY^#1?juCnv{omV=3 z((yk1_3i#yz5lVH(;Qx}@`6V^pnT9tA`tWnI8u^9d%Bk?%oQvE3CGczOfYbdT!pA1z%CA4F*Xl5@g${z#mJ}zD-Vk{yQIc$;M213R z8rq?T^i$kfVX*bJbjtJEnWXDaeq{a0a2S9FN;(wJ5uuUQKwa~12(2L=>5c~8uyc>+ ztxpaosDx&L6)4IH3(au>`%}rdv^ls+J=_f&gK zK0rK-R2c0!#oP{}W5PQdt-_WkyXgcc(`3l2ZBaQ?*UgZmD@bYy1w`UC4@ zfY_TZZiKO9>#TJhJ4wYDQfp#s!swjl!LAK&-+mF-Ii)S=>~^CGIu~ymgX_E2pB$0t z(4z{flD_l8sFX&-7E|*OvgP1qG>X~Eo=sd9*~so+&g{ild)aymT!LJ`jc}gEVOB$1Joe! z&7e%=@&Fp(KmiOmts^)AVrQ0o%aenYCvUOWZ&-gass#vhZ~^+lll{V^13W-NP+=X? zW)685NwfubzV*owK5EO88|zQT8qp3DtplMysErEYXbvN`h*tq}q46BYCxR2~(7Ao< zlYAa2TaB6XB!T> z{pg?5GYq!gM4o}u$UuNp1q#c{VplH*&T*kdy~?485hydYA$i+x(((*`xZ8^-U_D#I zuMXmr89-8U+9L)XB+v9A;GAkAF3xuAH7%M^o=W3t=o@Vz_A~WT5IG1xZJ6yX zPjw*)0k@ivpOgv59nvQ~|p=V6NG9~tiPHedDO-~MXhyDbHfAf=j z)}M?b1S_eAK8T80O{`XWTZ3Y<9*DL8LSfS^I^=J8a^O!OG28s)?)4|5-H)kAWOn&> zGB!1+05jwrC@_U*p}zp0V&@+DTb}F(6C6yu>B*P7hW3yv>YqoJk&ic*T7i@4%1rq; z>x^R+IFk~{E(KDdGZe^29&8lUJrH&Au|((sk;nZ_%9HwJ$? z>i51jIyC&~;AaOuGIHP8Z08>jyrb`_p|1_x+jVyA(<6T}^mNCc4o{DDjQwikz~Bp= zZ|s>G{b2tiBX#dz^}KoPnJ%aM`rtQ*ZuWnFfI9f=C;lMZQPfkB4QQG=cpbOInXM-pAQMje2Zh!*gae;dMv>!9*D z@|{{?njKMH%<^w_2cY`ju=!-z@JTSRY!>>@Lpe~*2_H-I?Z~JD;2+h_#}U=eg)rGL zOOgoC-i%fmT1Bny0Ch_5AS3`ym;l@+JUlm}RW7Px4lts9E)SD1oP!k5$z^M9e@S^1B$(djU#8# z;aQZ9({r8H&Kxg5>2qAQ)By;ybbcI=30#d4Y|}d)kEsSV9wpjnAx>$oY0*e`9c%=- zB^OqNGLUF^EaY>PxHG$zW7Gi!2h-9WUI)mKQy_oh(K?rjH>UM9&9*TmMjb#0D_AJF zeENCF>PU=EBL)hXMeQOYM@DGW0UT-a?Ub`oKscHrcI*69GSj3H%KL?^UfW_ZwqKrEqF!Qx4kj)*le>Ht_} zQZ|4FSYN&xfwS^^8u91k-jZr?{<6UaS)>wl!rf7-%Q&*a=?)+Ykm6kWkB2c3aK*P#WO=5LLThjEO98cc{X-1D1c*EK) z4`{C8`&pt8Z{Rzk$)t*g`(+As*cAd=8mUh|+P$Z9tNEtK1u_voHktrR0T8$|0qD#b z6uEMgygZOD5K;?4T)IXRppAmB(=n}LBUzC=P>uO(8e39(9ztCkO#rRmkv9__v5<8~ zl@n2#L-xdBu+&_u-MrBR@Zz*pL)=4#&IY7VT6qr6l!FU7!SZjpR79SV2maJbtzQ~@U#d@z)@(eDxR1cBgAzj{Q(_R7)BEydX)Z) zWKGDe7#>yu+k@$W&xF3_h;gT-380NUZ95?EIU$G(HD_q1*!D=MFe9jklGJDdP#Yv1 z%Y|;+ba|8(91{({suw^6$swt&GXd0DU3wYXV5zWAAtcN*#}rYWkJ5=mqw;o}HA6X+ zPiCQ({cKXLE6Vtk%aiIL(x>95Fq!}&I=)7~&LzK8D-sSS1G7b*1Y5v=bKtD*Sc|6D zDZ8d03JtB$L~tY%tB}Sr#0H%9;TTN-dP+{eBwW@JbL>6LH}&=mIHhW+1WfM>qY0oZ zR6_8E(L~Or*pAF7N8tr{%VMF=3fszP0*LWAvw9LS_UCNSk{4e$uwD zKuf1Ps{a_01B6S2k$epKAnFICKYq?4qJ>LT)TSo@;*ye+czLQ$_&~YBfO7yk!X=jz zSCz4PrO^bSf8&fQ{H}JL3<)a}>Awsz4iDGKwlSK35_udaNT}7n#C{aDNH~g5O#teV z1?bogqY2m%1|08ZdcSby8mhL!^aP+z3TMtzVEJ(&XDNU^@{T&H z9XqMUSh3LrAX1$W+Yp9TE>yvB5Eh< zPdMxf+e;BnVKf1F7j^;*m-b_PHOq>7Gpvl7+6ZwrOj#RE0Maz1r1)=org0(a1#Gyw zl+i#Fl?$h)gt5^CFv5t|P|wg7g7`_jXH<8`5@xxuSb+&!X957rkOgu_hLhF9`2&~& zssu6n+MMc685vCgM=hX~#qZM$1AhgWsQ3xIgRq&Z4zRQ=Z)pNj_5P>XkNSHt*Fa%F zF(^v#jLbZ>Pf2Ms0mRd43xu)5Vlp$rLB-|}&Csza5nfpsO#rRO5(L2SrSBVk zY46|f`OBWX`}ezlx$7gH|99u9jxX+zaQ_YediB8v$4;Lu zpzfZq2Tq?@9BCnmg`62Lj0#djeM3t=W z_7rLpXu!vC`WmI5A@7va^pI2d{<_|6XkhERxxlZt-tGR|-;Kr#oHPZ-2Xar8qZY4p zd<2?+pF{Rb8v~TL7NP?iVdU}NE$@cxfCR5SZui~(Zjd$L%`mo=k-;JqW!xy!Adpo@ zd}@b4!Yot?HiF1^Y#uj9;4ww|Ywz~Jz2@E6rtDRA18v2~e-zfM0ur)-be$sr$iyTu zCtC!8u!$;cG??$$G;Btxu>NX~+_Q1m?w^K@2RH-iBlHGIkb0V48#*bDx)U->sAm!c z3nha^_k#O|j!f-8we|gi3F7Sbw7zlU`(a3E7mQkmjtAr;#LFnBDgH!JWzNPb$@K_p zE#wY1iqCDP)j?}oRpH#%3+oCL&-26>nfkTvpN;4Z)e8ha?4OMqi{X7_ExrQ5xm3)kJA z(}%~*yWMgQG`WnZk^&zzY=#;qkUK*GQ$q>b%>QxVp#}eMqi5af92hw?0MYu$jq2^z zodXpYuo_^tp*dtx=nNPlhy`xK0ahT<=0xe8H3Bvw+Re^E?-ox)@fsnx`rydzvq~2y zdYmHt!1F2<21ub;l1b()`a*E(RdUePw!ov zgL=t=L<+0}jts+uP8Q&LJ1ZP)G{u{pgWfHe;AqD7yA9p`ZgEW;8n7mcoy1mh7%#g4 zQwNF%1PT`nfM=6D*vOc-c{k6Sz*4l|ZE(}OQK<#ai0y!+!HN)(q<|WzmwcUNM0bM- zMto?P=}X_%INm)Y6?K0SPRJWh%xLZbj)8uo~0~L<}b}+a!y)pB)S7w>XDzx9d-E z3~Bq_dTxI=Vm4YQgYglg%c-K{0|mnd(?J+wr}Al7Zj+zdsL;20H-|VbyydvM&AZ)l zT<8nQs1WW@HwB`r+GDEt6sk+?N{<*S3T;wiE8+W=tj0I=xtH8BBwe?UoJw?ab)E&} zXIq$)GIX4qLq|0o#6w3J_`#he3^s-STbx561ME7tX0`M7cLVFzS>)>HCgfUzFPeXo z6w=@iX(}wUy5jCEa^MW^9h(DeFmf2O=TGrt?{oYJpXNt!{}4Z4=$!8uIMMwYmHYJg z@BU0*HS+1s?=`;N^_|Y&==ZwH{=v~7c7Cbr!`;Q+xT4HcgOA@{ubQ30Eje zC0Rp%eYzuS8t5O=4R44qB!6u6|L3GUof<&@ ze}1EQ2vxF}P*m?6f`Vj$^F|G7h5Qjh2*EL3N5maKiqj?!q#x>?wi+Dmn)!y|r<$1l z8|e8RsukEoD$EAx3&ZeJ za89~S@(qZ>$2f#E?0clkNCqg5r)NUqoBDq`9E6BP=qmwJ3BSQyi=*WfKMKqt#4r}V zVfZ2G3R*n@*0fHLgj=Pn6>}ZZsX#0{ysTmPApwDvxR7Rbd^%;wI5c&)B<8Fz>S{}F z7=9{Sq`ZgaLej^hk)4o!s5@XN^0($}jM^~#)Qzj!Rxc&SLS+A{Da+!hI1OX1 z{@1M&AWQ;iP92Ek!E)l)db!t}NAPOcxyBl)tlH&{W z!Z7^A%250)GYK-qD5IRAR0ZC+1Sx>!=a{Z(Z7v`z&RF85V9!~PbOF>{^TQmoLQMPMB-cxB>+n{4Z72G>1h%pz``6FUJS<888V>P8 zGepYO;`$j!oLGf=Kn+0DqMh=0)d@qxu@9i@9K-diK|F^@>Lf|YcNlTx8WIF~ydcdA zhy;DZ^%tyTjM1hAwrGOWi)+qDul0@%QL zE5vkutNx#PLd?Oo(}4*xq zp=pu$0QP4%KhDD(O{Ta5BcivU+Y*Vb>~eGvQq5;;qLi{>(@aNsm|x1zK3N7 z%7A0#bY~i#$l-HVa_AbaAF2k`iz$PVR+8gBhI4#j|{WMacp`-#NnNL%!%E)j$1&S%K2kdqp8?K+$MbstWXXtCH zz=BSHbd04whizKWdjwaI8m^yk4xtg!xtw5~uU5!Kg%ax#R{>ps93nPcKg~{j_7Q>TMXB4!+aR7--d=T zT)zz|V7Pu8bl!0NHc+|Y`fYG)!}Z&M$cF2;!E+7QZv(CxuHOdfG+e(8>}a@t4n5lu z12kN}4IpQ@ej9kqaQ!woRg3Gl0F4aSZ-d|%uHObu>6XQ{K{mRc>OMVa12c@0KR5bz zcQlHz-yeHs^w&rJ<;dgI{{PFNc<|Q-zCQ3||F8AE&adzOb9V&pj=Oo1eU?eA0+f+JD7;K4p6VN+BYO0wq$0#TerX^!c zN~^M%VzydXEUQJ+l0YZ5=y;RG)}P(3lL(>1yon@SqrJ#ct{>&4+9O(oBJnj6b^A!Y$_@47?=(b7y2I(6DGR_7@9CfrTPsD~`kotpx%#Zyq(2)nnrN>$ssKPSg=JSV4opJjk&aKdM>o3f}y&uhtKJaN#G&mbu6fwgQ$yd2K>!ho=dvK9=S`k!1-}>e1Lu%x1HWj^7*-Z#9X$jAYXaO1QG5RD3 z{4Np4fmyMyfU;EwBw$T_9yxXa852bd4!JtLQGfQP3gX=e-heN+Tdtdax%!0Kzne`( zU6PJl25)fGf0M@uR|kqFKToN$$s^iR4Rew=tM*Dh>K&Fv72s&rYupVf+ zEFgi;p@s``$ftClUc3N~x%H;vRUAgM-8X0Jd%6>TdmXGkt5)=8Q-O~;D#aLzJt4UmyQ8PJxe=$FX9 zqBh?es=2+{RH6qGkAA>lYK*L!8^a?3!U7s{jtZrqxFu*A8n!a)Mn*)98&eMk1ICUh z43IBOlV5mK>DAl`&PLjH-QNDo)rZt7-)t&cQ==(i5n|#o2Cz@my8u~Z2!Na^S!HDc z#X`BDjfFA5VQ{!P3=fS-X-MxS|>0Gx*Zw?PyQ|8Ilt8UEh}U^D!`4Z>yke;Z)Q@c%YQj^Y0U3slAM z|27DR;s0&WhEW#qLp@$c7+xo@WrowC zGa{q}5=_p!tbLjfAndg9U$j6(c@7zbs#KIAAaSDe2k9+IGgit2;0_lb)H4SL=w!y( zSr8=%Re|$Wron;dNbYlJK0swOnEdO`WHeMnO=B}va!O;4ViR;4Mvc~V;x9OzEOD0} z&@(#+eAKN7rd1GOdUB)irxP3!ZaPxvv{#gxVBI?t%V@C?Cc~W45fBcHzOZnp^ej^! zMHH!2LFPf%;;z=<#xPYnqm9Z00Dh#cG;-82ZnOub3n%q4C}wRQ${CKR$SG!wAZLN$ zp}lDvCaJedF?0%F?Jd5kHMkzFJ{-LQoEW>D7z(x4skd52?6lOsV2w zD%cxFLA~U-77mQ=aTK}e_(Qr@`fM+oXEII_VPnG7H5?Wmx=JUl(=m}A>gr1ol#7kE z@1*Y>B{xW_Gs)hO+_PDb)FT!qDn;6@^O-GZU7G`R7sp!PS)-O#Z&8{nQqiD8K3L?` zzhFP|gyT_Rd}^C#Qna+=>As7jYh$Z!-c&^BTmV*GfILFyG9sBsXkwsJf|~vTJCm$7 z=l?E^=$Tr$6cbaVh6sWJElx;AGmq8aR8EK1r5@BL|6)Oq+8pQEwK&|GP?`iH{b6%b zT*1zweKJ-{A`9wYOc@rd&*q^vM}sa7wFdY9WA9CXWLdMjzT4gR-oCf*(z881Y1a4N ztWPtyI+x1I%r|RyRdsjuR@K#e&y1e3vNCJ!+IJxog*4;9Sb$6b7GV*9rEnl4#451_ z1}qCn2nE=LEEEm`WFuo4M4&)8tS}h=zU-=-m9MMk<|sxAmiHnwdau7PPkrZG&N<)t z&iNkz4h=*(YRDCkDS(h5gh-YFkQ#799&^EN5A&O0s*JWDUQez|W~e6+M7<$YpLkhz z;FD^tps9irjd}=k6#<&{h1D(>TMw=$mkb)>6wpA|u}w%|%mfY(Dut>gU@nu>6y`_u z5S24q%h!{OLKWGxXjze|d5w%u&^GZOBu;>WYKzkp;?5PO2xt5L_2g1`9>s-HN8Ae; zO#&HMo2WAYT!|^7ZYm|1L)7O9Q)qFqb?SpVj33pgJ5BV6fQh9PmWXyh7*p>D zF&O4Y!xU|7-MyY%5|D`S67@l_^*E=H2wMx+lWVvHA_>S_6sw2?L&*#H_h+gKAO%QqfKL;W_+m!G6f+d> z|L=YD3wIv>+~fcI@pq7c|DmTZJuN)`!6(fp|D1gOude>+D;a>iK827c8{~yNZ?B)N5aTI&`|6#nl*I54{T(VyNe;7aNHP(L!-=~-V zAI4$n<^PN77BBKLdhh>XT!Y^GzZSxu=e_@jal(1;|6v?w-ur(TZomT3t{U&WSQY+s=VbYTK^DM7BO#bdn7-|RpYPTGb zuesiN?Ue*WK2Gf?{UIfio9icg$FIasvf1Rp@tdNRx|{o%=>V^jJ?DOW-6ftrI6BU* zrw)z-)9~gsYj3(0XZYGHo9S#awRIpkf8`UeO}Kvjm27e|$Z=RC z=UZmi_sHo?I`MCh=dLadU)SPJs-oVuzSGsZt=&ufe(e<|Ho29|K3}rQ!t|X|p~!gH zhI^AgwVVbkKj}aDTfWrpST)<(cREgs)|u}4Zp#v>x<`&(ujOxiS-klJxq5zh=KVRt z$#H5OtH2JOAt`cctNao>dLy0QORgV0A2#cGz0*3at}_{2yOf{o@W~%Kr7LpWt*gdw zVyn*Chb-8e&lh3tPJG_Vo}1l_&$mLm%?y1#+wz)|TL$AV`P|X?&2Je_a&oZe3?$2O z&8FhV^A3pm`2NdVufE`bh)J5B5B~khcW*vie);v+7rwd`JRaUm1m|VtmSZxVv~P?Y zWJ9z%$Lx$bn_{wWoLWBEVe)q&Xf~d2+Q3$=)jPqx*FeBekK*KW@h6es9uTLUVPo=# zn|u4?(~`v>{~FuCo1NbV@woc`-1%(!^%t)G^>F+h;QjZb@BY;C^2;Ciz`|EQ>Ft8) z2Aux?2f>w}{`uBz~1->&lJ%=+Y;+lA6|kt0pImfGtryIAUdP5I^g=&BGm|BmqsHbao&pD4SO>zKnl5{()hQ-e8eb|*S~#?Y zuBVwi>uaiaKJL`!oXQ!VejAoayMO=X+bx#avB)$3vHaajOUo}md$#Zu(_1WGqGeIt zt^8a6`)+XA-rD?IvUYD>R{;^?ugvq-=ST83dsBP|PRI39KmY7{WoOUUTbcT8SiH~Q zz5nvjv)j(tjRDDT{mZ@I)m~VB`K6Z@zLI)==EN#52A50x>FZh|=gKM}odQ>l$x&!n z?RK9XGQYJ|uimc7PL7h<$$5FL)ZQ$$+MT^RFfU(249-|~rS?X(ZdXDJ+TXG}%F62> zU%dbFr(e2l*~DzW=^eHuZjBGb%~8bvuPm?LS^bH}zxenESN`9X|M9_Jd+u;Nkey;0J&|oS;yQ6PjQ39jzCu8nN{N`_r z=TCe3wJw?yFP<3SbJw5vkJY!IKK=uF`uI(GcHe&ZxOPat{qXUL*Z$*v`1th7{g;2! zuJ6UwAG>pRH7TsSH0Xbo)#U2;EqveOf3Wf+3ypi9SpDJqj~{Dy^N&x71=xT1f2=Mq z{-q~heELt9{`$SYv-IBO*rT6c9^C)EPk(4(?a6=txc}tS%V&>Ti|@JnPnW*)?)NNz z|H7YJ`qJ{hS>1m6mHV~Fe|Tm4(O+2k#Nx^QUwimN_kPdA58wTvyYYMfeCg9G|HY#} zu=pGImLLE4{bvvU=HvG~T3!9bllMM&|HGeLEj@j8@fVl>%EQG6-*x{-?=C!z-%Bn0 z{YTQn_`UK<`N1E%|M!;u=;Pm5`4`Lo>tb~EKY#S=PyW%uuRl6`@;mPSttWr>xd*_v<wffOm zXSPE%*nxEAq1>A7PziPz_FGD&I@_Tf>>w3l?OtFOO2H0P!K%A~i7p12s0{O0*6c47 zf&_|2(`g5O!3}oM8%n#`o~7UfI~3Z*QGYnwAs_5u=gL=3ZnlFR?2xNoDaG<^hg`5j zv)OG7^0OVRUc80A`KCom6R4t6N8 zSY}|qd?~mTQK^Ll2q)~*`eK!@XChkC2fZuVx!cogj5mfS|QGTR{= zWMVi_oxpxO47Tg#VlS|pGQswOsdV&N`sv^RC>vOlqq7|jf&@yIUJM-T{UCwps6#&W zEP=fs0SY6^quKV|AOTSM2fcuF+zEELl3D|^HcKHD?9i-?^m1UgZU;NKw%k<$v%Gaf z4UpFeEX3@uYzB!Ka;2hahml(x^#bzi zGr~FFh8{RJTCl^YQ0oi=yE+>Dg?=Gg2uLS2*zOhzPT+eb_yd(_v8e{uK@N7% zq6N7V_ysB00p#(46Pw-fYr!Eny`dRcr^u^ITQi1_Q;0Uu$+Hxm1$#6q?qFC8oV-s3 z2T`OVsT)|TPX-4e*Bv(?V!t&=Kq@uMqksf_J=me8#EMSf%zPr)p&ToX@&Wns@nDB~ zv_2}Rvuu7W*r8LdRkgsW`)II(rS!}Fz-oRZ*r6D!jRpbJ<-@@aPQxe!PyTBkTw0%5 z45QNxEcUCxX>1ok0+?mtl_34HS{)U;vmHJZ?4ahHp%q}^gTW5bSkLVRR_X)6A()-= zFrbRwA8gN?BQ+qJ-WU9Vl6n;l8shH_c93fo3O&#A@GZd(&4JYkS|#5c>`?9xifUlH zz8oB*+36GlTjiUA1Y#wvTnwCROH2seT&lFer_zR$w)s z1lhDlQXwGY9|sATDy2>W1Re!DjH-i@>dX#dCHM=vI%owX%flc6tyt@|0)pW|kU%+K zo;7{AQpR3gN-p|0!%Dl?58k>KY*ehq2h#{RF=)wo-^_F|V95F?w*MdWSs}!Ke z$HG`Li*#IA{b~O9&X-ny`pK6c{j~?b{P0_r-}&G>7oM&D+@q8G-8;YW_-{VGc=8)7 zAGr6~hkx<@KU{Sle{^Z#?!CqDU-+4Yf4g8k{h52exby={|I^){f4IML_|$szYpdVC z@~g`~^5D-tNIiJz$@kqgmw)O0lZWF~`N`{de)8TAEhis;@6&&Kuetbh%ftKYkAC;# zfBobq?>$`k%H6A{e{fNL^yfMu97jk5*Q16@?K6w+o z52|>B`~k$5Mj>H}X#ggL1tn3Xol3{DwCjCCg$nAuQ$dxgPM|vg(gB_i#aeCZ3R7SM zKpiT_KmTUO`$o}i9UQDE0A*2tVsyYoOsZ`IUbJ1OrQDp7;z0+trV zu0$zTQDVl4Y0qNRP0qO#Y=)-)&9?UqP(DS zZ??Q|w7jjDAYQ>B1vjW_4*H2B%2ZRA+g4&uRLwvC9m(AMy1$X7r1uR~g7bz$k*pYa zQvi*`M0pa~rS!JzV$@R(SfhUEbPf{N{D@LN)DQ+~hMp9#;Tug%1eL$2?F^<DPHA?wig=*hmHv!)R>ZGXa-tG>jLP3p zYFNV{uw2vM`JDGnEan*0C}z_N3@++M0|gfq<49%N8Nnwn+6w=wY_sTNhlUBG~BMW(pD?0;i=-++Tcml|94{EH~hFmp=Ff<%={SmfuOaBlG-4K z0bvI}tdReW=6!?60j7t7J(ykse~`nPV>$%v9cM=o1)5F&o2d6qj`CChzi@sKP4Gi; zc5y>DV{7frDQwv@mUUnuUH)=kbqmn3=bp zfr%pus#B>+o%tr>eG>&-kMe_{rm;?ZLq&QvE2WgERAkr|<=*o%`}&#p4FE>WE$B@E za3)z7wk!j%DQBoqOx)+^Q{Fc@gY$``d8SJ)=M>~YP|K){mvdNa8?68qmH*8r zy>D!4WoZr~M=}-kf;VM(0F@L9DN=G?lun#EKi}$o1LPzH<~gT2qD1T+<^U`BrbW z*F;puK#~M+iL!a@(OKF1@#}BoCD1h^HMaTmxn1KqYP&?1os9c3Crh?*R-X!zGU-vh%^qTig%*Z>E zsM@6fmB{a)B`uAzegKSu>t;(xkePG(s`rgW*?2ZRK$)`1-pK(3N2N6eh+dG91YEIZ z_<6IfP+4bW$cMad9BPP>hHF1_IWCM1{bNuM z@tJF>3dhlV;CC( zjZ8=GqJz=;)UTrgq=7-B+sJ==W=-GkeUrDT3+a`#w?s8YY&paSAgK~is0!u8_-Dr6 zd7t+U=2nclX9hx0RHL*smtg@j#{%f6kr)VmK$lMS>3h9z$lRqq8fJ?IbSqf!(Kq0EZ5p}`IQ!#@y+mUAV z!Z&%}ND8Q`svX0~10Xg^1vX?N_JJYvcoeidw3yG&OWrp+W+Dd*Wf)V03=wvfD3GYb zV=Rw_62rEAJ_qmdzR?&q<__QF0ZWa>K=uR%7jb8Ux@Jn4G1|;Nc(?Zr7;(A0i6!AW zSgzFLWM4D+99GOa9pE%9KmT{$<$aU0<*1%R*Hcqa*j2~_Y(*3b=ZAw%9ZBTx^Rd12 z`gdY3II^4tenH48)V#nMWz&K6>PVo-x-&ZX9o{#29qlAQ-87dHpa3DFy+91b)HEf_ zq3|OU@BhxK_YFwElsRR#Fyz<=1_ux9OEK3#o?<7WlxNP|Q|}u|;T=(c>4LxtKVUEN zJIr-VM{G zV5A%*yU4`8MklDiDlk2y>E0TDTZ~4&Jue^W%9tQibqxtNrC4S*WeN=iUdFAKuM8Y&`nXgTvK-@c28P7M6bg>E|B)vxWEH`@ck;KoA38 zfB5|m{`I4k2mj6D_dd?v+g$qYyMN;D&p!F*_uu{SgA0G-zVoEH@|T``=*jkqyZpbb z{L<>9Wo0#b=WjpxBX@@n|A&WLi=Te{b4w3ae&6D|7Jg+h|MY)*q(1t}^7lOW#M76S z{yz{1f8ze{y;ooSN6Y_i@yG7}yo z91%cl1C(nz!pf8_%lMM$$fh#I&Gng*V@sn?#hKIbIe=^n8Y+qpRV4-~#b1 zj{(YN#?EEeMS;rZdadMau%5L`(NTADlr-jIWb2?&V?BslCATnBL+1kY%mH#QL`S?F zCQ=n+mWsQ=T00oa;X*ixonF~?ZmjuXpVe({nOZm24KZ1>>&lktxtjf9FXG(C(Gvl zPDIC8E(hK);!^d@07|s-)5t$iH#t7K@GiK=qGO)>H-ZGs#Z6eqA@mUn90*cw?9_7R z=A|Bqj<%g=!g2DjwEQ$O3OQsMuGe?+S7P6kZ2p5+eTGVyat?Q04@MpooRZ%GjOiNtg(IHGio|(<#8*?^AM`l$x z`MA=dOR&z^LR6(j*~kj_e**)^v67;rf^A4OTcG3-3gWnO3N2ArJg10)1JsbV&4lQP z?x(gq9mVY(Ndc@gMkyQ4wE1friSuDGOnE+SE)K;?fxk=4PpmMOv< z`-14GfisPdkj1qHMZl%;cjCpAaE4gi(s57OpBEj$lm|8$7F1D;8b!*+Ma@0axLC1w zIN3S_Js|Vk_gPhTI1u{mM@&OUJep%kQEc7%tmueCOven-v1Nr3tNo0ATcE^kDG=ujKM)Q*^{0#ggF%aYP|fbOGj% zbx5IY{+btJ1e9UX5uwR)%A9xu)sM~1DadnhaCSf$?*Ny0U3BE0B|IZsZn+N$*@ID* z!vMw>q38s{8F2HM=xE~+Q(P=DZmHsmYKz-8|Eb3iemP*?g=0!|!~uauLxwq~!Nz4* zaE0UAhb^jd(ZG&E-g{%j6~#nipo?33)Wxj;s6KKPZD-^WS9!#Y=*afOi^jRa))5yk zv4pG?$Cb^Fe_8|MSn}S^6;Hm(IysW6~NUqzG=;&Hpb};M#$Y%DKN1F(M5- zOVk?A@q_@^*wF&Oo`(q*U&6F7W8W$|qHx5Wz~I;k4}r=7L_aAw_RxH03`0eVzJ5K% zDEDAIT{%QMyN6G>)`%h!lpB$_a^Us*g!j{$g|CFuoag=lMNvTBLF1_iC%iOy@T8@W zi;fzG5Jv%>ibIZ$s3r!BLlFOrCFRkGYV>2Gqrw(6S)OOm;uK;5qvEis4YUBFnQiY% z9~B)PO{fyC9jc1hjY@b+EeoZsa|VR#Eyub3i0Fty*6>T0p=YIoX-j1cFr-EEEEY&RqkforSf_GHPO*fT&xy6EiP^qn86upa;kGyEPf zBODr56e+-rAr`nxO40lWJc_vZ*$ULMvBXcKBcEA30I}E6p9W^B<7)309VHilbu{?3 zmgdz!LsD?A@fT_ib>S%^kbj@(=%7jP-Q%gzh2sVdje7}6Ng)Sr6O2-iN*?~7i??3U zutTZkA*>X{ET!p5Y0J$FP@$1_J~wXu4nST5?}{~-}EW|(389YRtFpO^4)|-vA8qpmWThx z^*kn1>ql$~A;UR1Xax*324V9OV%xgz;s4?Gf;G+z!k&T3_=UIyV{IDX!(&HKv`F&s z|8VW1GB~ajt6_{WuF9;A{mkL6o_CPNT#h~bKm2)lB$04k2#1lywH)_6k6l<|Y+RL6 zM0pSY&&az51!3^!iWQEcI$0xpGF;Y>$qJT@qIvj#c#1J5`K>5&hus6i)c?U~QSv#5 zmpv_JSswnMrBY=1L&34a#a@U#3N4{pgiFtMGz@BkA$jt#eF6s(mLXmMx!^6&x0q5u8{|T{-?~6+oo*N_ueK>vS zP}NWnj#P2dbPxXz@#;c?d*W-aFP$vnbh0!BZw&4yhAc{r;5!j@RV1$axbI_zwD3`S zuZiBM9G@Pd;BjSzy2t<@?Ssv`G>1i{2Sl@tM`8W-m|;T(jQ&? zg~fL)?9lNW{?9o1o|TiW@x7NGKG@m{b9((Ki#Z`PA5n52k)@BEuVr)Dwaffox7U)( zBQ@I1Y}B1dIX*bqvW?^H&hgRyS@Jg0FSfA`8se8NW<;o|dgBd}+}#lhO}vYpo}*2&hEe2}p#>i*?^`f`0k zZk;5yuNp_gv)HKAE2Z-1<;(1L$BOT@n)A8PBD|yA#>GtIIPtEPljMYpFp|&b;%4~K zgpJD8>4kDuwYSUJ;{H%R-fvz-VMC2@E5415nZ|MA9W!i%&>B7)H$%Cmn<_KhQOawT zQ|H`r4kK%&WM${fsc36X!g8yd(e{42z1u$7O`KOo#~bNH@~T}(&tDBCqN@6BY|J!{ zldCgFJcLg3*_ab>HsNDi&h|1#$>_!4Vz(rByU~$zuo*e*9cCNx!CJbM&=VJ%jpS}Q zscjC-(#}R%t{=_kLyjm)>^44T8pnyJ{&Iv-xjr8^!{R1v6h|91r<9c|hmFB`p&!pW zU30JN#=H4$eeE){<+d((wanKO4V3PB%`uy~&9nJzND({(x3MwPI8HqA*}y0ELW96( z<7V*QgpEd2-m|rQdU(9yr1cX!wsBTdyXWz|vbn#fZDf*`J=`c97wy7UDjLlm);gVy z`2trpB0Ngm!p3alIR4ldxM9o{pN$(Kh7&GgiBcllNxB=#V7=&U={uEDqDo=Gh?+T5 zD+6iRj9>IhmsYlQSd8RIurMP1`Fl#$BRDK?<6@?9oOt9fMi^Vl=i+7{GbA-p*W*sL)|W`Pp@N zh%{XhkZp3a(d`Tl)uUFcoQ73G4OX>I=E@E%UoQ!C6E*HVZapHl$7-5WL zpNpHJuM;*Jg=QkYRo~d$<>@1ST&Sj<-NQ&`O-VGijKXeOlMeO^v1Hj=-|k*zbhnk+ zYRp>@UW|gcq(uqDpWQiKjj8@Vo%1F0oHK*J7WIw*=_cucliH z_l3Nf>eaJX`gtqUmycZTZ^w~pFK1n)rERNdZE8F1;=0q0aYT07gYsT!{$fNUsy1Kw z!QxEgIC0-!43jrI?m9eBD#R+_+~oSB;mF79LkJUB1KrH|T-e=uJsL=@oUpNXbzaPF zIqt|Eoem4NVY)kP^$GOM9?R!O;iB2z?6$Vug0{CKZ&}^TMmM=xkIZL7=442>Eyhga zIB{==4VO?q;Tkp+YUUH? zsrbm*-*LP3^#1-p%61cbJKL$OS~)t1s%wK@Qtq52DV{ot&0#}(Lo*`8ugqm5*f@^g z_4gD32vIA_?a0WBkRYCJaghrDnuV)Lk%>02qCOk#Tsc3O4c4A;(cftD^sn^PPOGd{ z4~(KQ(hr>@ecL%m6?Xb3(x4lSR9y2Uaamn&C{pI48=beO7-%dKQ|H@-!Nzf7$zKc} z)~LVWY9{wx!rmQaZ7-XsuM&;>l#Q zTTC49NE_*`gROIYG;qt+tfD)W$YASW5vw#AdQsn(2DX-Ip6wR) zhw;q$Wk~{9dMBAJ*5ZXsqCe7)d+9`GKRy@?@o`x0WjV5**iRk2Pk| z|BvphnorwL{?y}Ne*D2lXDi?L@Mj<1eel`k-u*vw@1NcK$lWh5{h`IbyZB&X{m$qc zcl{qHJ~6ZSD7F`Qy8Xq!nGrFWLHV+G*s+iEcI~8bu3UEWWjS*g*|6dV_D(r^5x+=V z>+-N*;Sfyr){SO8x0jl?hmAKBDZ(4(T!9j7949{Rv%zcl3;pmu8#mL-CT!F%`mv41 zWoxU}OJ6p&>q;^m>+_bs7Atk!QzMm4751_l>1gjr>lB;qqMAI8&J*v(8?uR(nr|`$ z8^?){`D}!FCGgp}nFKdsqthttCo_tXEg4ElYCH8@KXpa4Q+A`&PVAlUH`9%L^L*#9 zp>K9~skvS|C>G{f(~Q)J5MFi5YRoo{6Cd^22=j*FvvD(3Z^DL=+wDvJ$kiZw5^uR+ zi4+==>qO(}(`IQnOlHsHdMR_<-oCJ~tgEB^ppl#Fg@KJ&#E2TVu`$y)PJF~?Bg_kn z&&HgD!fTh&ceW%VhM* z>G3=}6gISoc8lo~Y#b*(?6VQ({l{nHX4>OqHFl-Oa2F?$vvZJ4<%dm-M=d^X;iLONNCHR-64KRw;)78Pu8^YEyWvm@PJb*HypI#N?d zW})BQNX42P2Nyc;Vwc<6NoSt@1`|>QC;4qBW2SK&f5o@oc-?y8yPnU)jYQW87yU*e zT4^VSqqXMYXg_;4aJy$lWb0y>8O6-Fx-n{R;Xv;9cid*j9k!jaGn#wpH{Otp2(Kl# za539BPJGDUQDGh(eJ*aM<4)LU8I5{r(>d6;^B3;+m7`@_+h@+vy0RNB^_rF3Su@%k zW?Lue&3sFB);eZ&<8uCDNccPS`BxiwoM{{}zOVp2xmL5;HicQBlIKCLP%1GXNb?+p9oV-%ql5?u;U(Qz=l8Rez{yh^mW*Wzd z5BO|^d9d}_xS85KVI#j`H4iR!j(b(}a`Q?nH#73E6*;gEKtBJ^W1ujRF3d2eA}j)X&lGj?;j1q17G-@?6Ywr0eiwlXXnUj49|AY`pVY& zm3&aIoyD8!{>9m@-nS2%L`22wBPABAx+A@oxyTfn`PMux^fxpUoiSg72OG!n_xW6e zdF%GMxREA4;Uc$lN`>%zO4{jOo~y}xH?fxAOYdhgeM#F*tveSP+p3k1&lAJTl(l!h zl}sg1=BW$@s^4md1RKYR_xf8Z%tO4-#m!{)2^*un)oqx^Cy}jI^`cU=lE%>5N$DP0-Z2ZO_%F9&^UNtmikC&bbv0%h$BCC`*a#6~;j?iQzF>Mbwl+6o)x&7C zuM`W#b9c=cj>^tqqutorlRzqo_tf3(qn=gXKZrDr&uVi1bgn}THlzr$^R`Vj(>RWQ zlYhd)1c3N#+yGgaa^db?9jrV0dD7KO=~BLMFt~6d2i0!h+P~_hjuY$ELhZQFrs`F^ zo7$^Z_OFcjCp>CKNYA>3i`m9;;w67E!bGR|T-=0$n6Lqi?en)_>4b&VPZr5>AMLd zG?~6u^lW#q-oEPT5w(y{Z`A6sY%;xB&m0|}n$@e`nSGMoKiAI;cQchgJW!9?r}n(* zGsL66WZZU9n{6B?KJBv+CUVth<0jbAgpD0Lb(T&grPD^rN}Uw!+}ZX5hkwIXX7R$(}ax;qY*hW z+H03MD~7}RUbY-7bR*4HC2On4d-clI#%>{VMRxnFE_x;42~OAQ!Jt-e_itgs#yr(qgTj7c`-vSCYjuVEz7-2$^eJ*aoTTR%|Qin%)EBCvN#Bn`mCU)DMq1--~qK%Eigx%gU%bT0scyZqA4I`Bz1pUqxkio`rLigDS z6EN+waTA1V!iLjw2eqnm8r|NIJ4&H(QI2Wt?q=LgZ%3o4*5K;G-H&f?OS#KPuYQo& zJZ&18`KzH~kKUrKj5lT*$MKlIr^1AD`)u5R3Y#uQ0nm?R(kh>}J15(2CZ`-lN{-Uq zib#W_)7W_{R%}MPo2QxeZZp+6u_Jrh`aIKtf%5DTz3rwp+c-{W{$hlQHTSu=31~K9 z<4BIiTCuM-w3FnzbfTA>t<2?)y15}c(&)HgdCKBFf<0kCdgpIX~b1_=m-O5x`Qp7we=jx62u5)geqrFbAkdy26 zzO-?yB(`h)!@d1&rQ6z*t+{eaC64Nr=Np!4rg0os{XIp_#S7!~eKu}@!%g>8x?I>! zq^0%RpmpBch^I>tSB-Gv?90*J?fg!wbRqA@t)5#>#*^olm(8nGdfu}K1C2&VfVpik zW*WzF#pfbS5`oXf4G6ml7s<%Rm9l%F_md!99rM7nwUt%7#Ym}=G!3i0omn@mD|fG# zZC@N5^#&*UaWgev^{L$NZ*{fKHjWdrzoqOD84f-dH-YvhY$&_6zJ4``B-e6l_Ry{G zZrNF)$BW(KwpPlQPTL#NVLj9AuOF5VPfB)SZ__-U@54~#2*K&MEyhgaI3f9Lgvr0~ z*|-S@IAOzBKk3-zUFrDnGI2gCW%dfW>}6!faMp`8DH&hiXrFBs*NbO%;b7C2%KhHp z?Ch44!E4H`_LMr)I8LnjY=p@U@!7ZuS~y{2mq?3vWn{J_`S@(VP{~VsnajvNFXvnC zkvTM@>y@=w&9JsFW%a03*0;~P*1XUp-hIqSRGM#92OG!nh<`M~K+v{j4k@w^CF$bn{!bi(Ex!UhXQn~iU)@~)H zRSaeZ2JJ zOSz>di+^d+UVOUnmlyI2s}TP!`R6F|;N)Zh((fdXiDy;9c*rdzONOLb5_HHMAxRAz zk=$mDT=WnLgqu$7=-HGg+1Db~hD0`r1T@06Nu&_KTja?(l13B_nXO@Dq9FRIDNz!z zNwXom#WlS&9kPE+o$OF@GDwXg%Oqx#we;e|L_zeEQ=;TXlM_cGjS4b{NX^O-#YEtY z#J`e$1n5~*3nMKA(Qlm+6&XX|2Y`y93REVA9CFfsKuZEKj2Bk&hJYpsk?<&pzCI;N z{tq#%=04=5z*iD5!71ksO9iIVV3ww-`l0)axLUy*MF zVgRUWK&?2sMXt6PCJ;gp{m7Ik7=Afjq~!t5z?Kq;b{^IoY1EcR9wuZ-%X)F*ry%;_ zDNz#Pfi+?y*#aq!IVIcQ0zSpm443t@#f*mu5)edRn-a~D#^nGHNPd+7ZV-`(rc9ck zNnSd00aOkcXCV?w1<_ZhL}lQFT+klK5C62L|>T_ zC9@A83jrrV78u!qpnb6$Na!O|H-}>ZXeR-+_`(NmLG(jYqU>!Au|&k5C2|wVnOQ93|s05&1=R)ub1OA(hyWGfI9h$)%0?GQ=0g6Mmv zL=n&e_lF!qxMfaBSO#Q@R812=D>)Bl0U4Dc5_SdAZAQ1?xD3bgUDlsd}8=4^c@|376 znP|{FTOM2p&ORB~MxJbcA|nANAYGG8(J)EFg6KC*iK-yF0>(&sxMV}r0#=EHS%kEv zf(wHF0+t}m`;s8~(v&D+&6**g704lHpK4?z8`!l1n1pO|lnvr4%yW+*`kpCK67@;# z(8&*1$m_l)3Q&~@3RRHL;L?Kd5F&9|5PkQQC?f)Ji_~UvoJA_J0Bi+20E`Y`-%zlm z{%T?J5Cze9O^G@&vYkaPv||e}1dJ!3Wk6&Afd+Fb4`M=|5UUp_L<^$toDz*W>~NL} zPzG{&fq5VtR-j=H&w;x0OhW2NYzC|P8Nb2>sKunD41r$hnKz;fj516RxH z3nP_Oa)A@UQ=eBJba_ftARcI9^T)($0ih$HSV&GL!wU#!AQvq#6R(rrzh=gaAbNjF zltd6xQvl}%b{3+5tb(xsL=liF9^8;Cfp!rhfkhC#_nc@wz$AfvfHsu43`)R*iGBORTnj;TaY~ddd>$eZ^#H1gl>k=5kbutu zX%a%*FG0i!lldTsE=-An*oDc#;y zo=t_~U|$86@lgaMwh(i;K?UpaDE$0P++D_D>MKm=Xo_ z4)9SxwG{HnIJTH>2JQrI?ig|g2$57k2m=u)h@MZ0f<*?)fR3O8IAN-&jKJ{#?*>?P z(*lJHq>&JCf`aJTl&E5J@^t|rD>7nur2uF~pu?eX9riDPMwoOVpa%uf()K{D&(mEWMgx3W3$2hrV+TnFz}Ls z=BqU=PX14#yZe{041_D!az|9qB~Qfst_pPXyTg`V0a1>0oo$A zh5*R}a?_@QYZ%x{K{WN8C^7`m2T+;tP64rr$_D6>TQ!*cAe=_AH^M+%3ZmOnqPD^= z2gMI~b^$r$0=Wdhst3JF1P4$(+>pb-VG5#KQ=+CYSHM03_Dx(YAPuN0_hGgbAZ-Y0 zjG{2mnS$u%l&AofVnI0jmLr5T-W5Y!1h5S8j9{vvZGjYgG0Y}JlT)I=i2+V13Q_0+ zY};g{0+^1~qS%C{fT%9+z%Pd66eCSci30GXfo8{@$3tNhu$xo`fwB}smVi`?wG{@w zQxJ_$i2^EZOB!V<1d^)Q{J4`vJs2c6u&3aO87Qw1I81`*#+0ayV2S|&hL;jhFz!|! zZa4#Hpn&;G`5cJAAz(oT(e)`&$}j+`h$G1ruyME&*;08dYwo-t4szK5!Y~Yks37`< zDN*bt+zA*v0;ZMwzkrWpBZvzt)f{q&egNu2z>Nx`pPv#1GL*5h@R(`B^DD|i#E^u* z4pX)OI{@hTFwmre=;x+HDNjO%t-!O(3m8?drLd3f1AZ4+n6?T;xf2G)R1p2_lqmNJ zh2d}qusy|xWeswrC@3J_CjdQEfeQ`+c`As0W=d3m?QvNFx*X^&A*Dc36If|@=-En$ z1t8kPgun`-pPmxs9CC#ccOHR_2m&EOUk4!421!pq@wzY)CLmQ1ePc?LE4f!<0OVef z@RqCn@#4tgDTvcPi`Zz?#*`@b9J`94k>-Nr$15YqI6Xqv~MxPVK$$^KSyQ)wkRL;Uj&B`EO zzz}yG9<4NPDKCbf6-3o3QE;j8!;69@IJkv3of8H89@Q#rl}ARNJh{Gw2!Rtsl_^mb zrxaCiz+|O*0t+%1fdx z@zTfjpA#ieL`ZvOwPF_669+^T{0bqUbs>5k|KAhw|E=fw|G)p?&pcdwU@SN9|M0#4 z{oecUo-X~q#h+PRT=>kL-Z$nce;m*FAs}JQb3b_EMp^4g?1Wo9J;-gJ=M(Yn`enYi zsh*d%GLfD1(MHDF0zo0YRy!?}HloVKmYF=PTwJ7g=O%fXZ^%kSGv~ZycM`G*f@^w`->6g%Hy+fqmcQ83#nul z&pS=MP#MYRZuwYh6nFDZwX(U{jMdlbx;k`Q!|ri(cV8);ucZ@Kq;@cWr+rJP zTCj1P*z*@7%pJ?;;%2$^2^+oPx^fslxM&|AOHL%wDb-uVZ6EIJoM$&rW0h`MZfrJo z)nxiCHqaWEjr~ljJ})hXkrJn^&yO4oHjd-F{$hl=)%k4PC<;H}B3^1XQ$}mBS-dQ? z$|*@p#pQG)kv`eHC~RDgk{j!_t8PKxy&Ud#3vMToitp^+!UgaJ%KQ{BxR_}iCwBbB z2y>0}xwu)ne!|9JquNY%FYEa;HJvytl$)m)`zbvaU$ij5$59RvvDQ024EeGzfDd;JT!c^cW-KNzVyTZ5`R&~xqcone1; z)!EcKh4PVM?93OpB1`)gupro&X&fiEd^W;d&V4rUICYhIm`AOh(I}%u?0zHD*{`{Y zoLPx2z4OcH#aiBwGFsAfBOAk(d=@#Hw;F~>)5e0DyBfj9@z&$1KnZMfC_ zNO{fKwl=eF*WBLU-W@dNM>)d@-uc@(dEPiqB>e>m zO8vchqtt42n#oJ&xD{DD0Een%?;UJaw$dkcqnS^UnxT$j=gE1RgE=Qy`xYF@VB`}V97THYfY}T%FmxHaoa+OJ( zYFnpfueaWc6dK7^ZJx|!q(DX90u>u<94F#F8)5t`J{v}7m>UKv*-zLYy1Zv~)!`0y zVPsIXE^5F_q;2P_9obDO8~ut@RJFvY*FV`PYt8!EZp$g&ay&GEd*`QW!^TYGII-cg z5yrFQvytmiF; zsg?@6#dvmp#JLs)8DqX}2pcnvi)#<(s1A8>%@jpO*|eXA;rzszUDE{{g@PIyMJ00C}!U5^I1%Z*pm}wj*KIbn+7zdrtMR}A{ zyYu92w{hA_u3uD7&C5vFx-fbdJtN&sTxso7tFX3~+^bzA+QVUIaMWzNiL3p_d1`Z> z9w&pi`tlN949{Ovk}H6=(EumMYYU1drDbvRpn#7y1h}V75dKQ76Er#>Ao|v zW0|Ak@j+AHPh6fHxw}T!NSG%jwdm&NCx%9K%#qtp_-y0#{l9-_^^E}j-`{??^x!k# z|NZE_|8tW6|92MeEqv}y{~L4vzcWtc{n^uHg}N|=!t#nO+-~@F@IVtK6eCWYdXo6M zWN-LQ&Zci^`siVte-g5L9&}VJqA20t!!Spqk&N_9a>v@|Lo{= zDDSp+j^@b6s4O-C&wTSX!CM-~3EO7_oK0D?3Gkp+84o8KPw>2*=Lmcu%8ejojJ+8& zQ9D<@a&mLnIL-_lDRtRD>>O)HW@lsVYMa2$cCplo*OH_9PJJ{uE3W6HSYju=$L?DkJbidNW(pB#6R%I4nAshQc|C~eI- zl8lrzN6L!dvKq6EEuIp1Z}Q;|GG zkoqlb%r=e_Z~AP6Da`4!5p5bqPn)wE$#%46m$#A;M^9gLW9E9d5N)U1kuCWIY?@ff zIIq-``BpR9igsHYYdbp^>goL3Gb#R5q@BlxYKr{-=Z)jUxA|;@DI4muam5Za=c%h) z&Duz5`_=AAajzQ5Nc#;-K5`BRTZ44c-rmS=ot$T{HY)v`sw5A#j=TLv{$P%z5+mh^ ztMk=WuyLIDvd>1CqNY9@qZ~%iJWKAp+`E(t*^I1aMuXk;X04z{yXlL~>Un2>SUoSF z=iQUNG7ihCc9A|xG>%Kj#=JCVMk+^${=aQCW*WzdFZpbQiRtp$C`g5vS)a41cG6aF z*XU%OY_(I{+>^{~KD*=e;%2I_-fCU$3}TrB<=~>ed6YRA9v6DUm)FhwIh#ni@$r`p5BBasHlCW{~9Hf{zRvGmYcK zh0jKqKslccw^Qvn^Y&Epaw}dZ>nZba&P3W?5}mRgK8OP#aQfrb!k z#idBk7!k-b=aR!nNdUgZAPqK-6X!k~VM6nKHhOZu)^O)+D!Cu)j5b@X>S1Siw&(WK z(euc9S3142o&AAg?p>`NskPyiF|zw|Yu|__TKW3CyBZ@!P~C#J5^NmD&-|kiCK%9X zBd1o4c@|Yu8P&A?djGO`A?;}$V>27;o<-``QKu-yhnaY8XG1$|Ts0&5TD+OLI;q#I zijl!^ z%gL1vk2bb;vu&Bfv0EO+TegzgH*Y!Nybayz$47@hZyYC1d^WoiY`1*<_}-?O!3p_syc_3c_?wsD*|^4SOz)9JHOZx!0j-kjCYJC$K1?#Aq$ z?c-XdYOcFR<1j6C`ckt;+)6D$0(ha z_eVoY#~vQ+ZSJ|fbY;uzB?sB9gRXoL)oZ8q*sxoj=Z#^Y;Q!wOe-msJ_y3RFee{jW z|9`af7nj~#dbs%K7r(r?yzplizPNDj&X0bBd5raxN5gAU-yx=162B%1e?ws(ucTD?(98 zdIZIYTbxMJrrSc^VK=x?M3<Vd1HN^2So8-?)f5=Sg}QBF=_DBnbn>VsS5CeVN=^!lzg`xN@3C> zimfsTLXb%p;0tPpQkNZ1jYsu)A`t01qBJ}^OB9GFmy*bD5|qiWa703}NgZnP!yw`i zDn@Rb$dw|v(F9|dV0MttD2+|}(DhiKX9AHm;1cFZ9q z+GLdwuFX%0z#fs;Nqw3a`En#l6Ou^SwBn8Rc`6X`T7X=OV!b(03@Jw58Z~J7f;yz+ z{Zn1nB$%Hl=o|sfRJ0L&2$Hl!OedMQRB^_^kT;?p)jQJwBiE($F7awaEQ<6phc8%h z0xXGD_5ezvT!8wN}_nRNs$pnqBVBlbx~b!zqy zu10Vnm55@**-=bMl#wUThJ8=923Pn{h+M`oM;Iq(fC}CQ322ncHDWG^pp5i8pA(e{ z@CA#4;6ed^Aj*OhXhnXJMG;MMH$>E?WHT0viTAQ)iAE#0*(DH_V?t$joum`p6D_}E zN|bmk@?aSNvAIIBaAYkJXsa`!)Tt$gEpJoo7l}r+7|0_+vWTT84o@U=kkLy{BiTb@ zq~9?m3S+#dif~;j*Rxd#03}pE`Yca*={!Ml|rs|-jt~BQ1#m6&`G*jeO<(=6QKW00RSbh*fEP-SP&cV?*Tdj z3Wx}l71GjXpAwX7C^?mVWqTT+J0+SY2Ux-lNMCVG5g$w^VUXnRP_vfe%?|mhgsqdc zO$;yb()=)zPYAAOK!&5m7%%WKVx*lZQH8`e+={HeDEiJbIq459El4P2Yg25Q*kaHR zDDWkaTXMu;^TXsGl59daCaFDaeUe)wZ%ehOM2Tb(zmJF@#fi<21f(7k%G!|0v!X~m zxg{!zk&f7>1f4TdQG1#qP^4flLO4$ zg8zo@A_Imx(HIGW9&<{9OpZCViQ?B)FiemVVx)~JQMNbfS>zKq2otfgOa$55=papV z_#F`ntZ@>^uOf;QNxa-j=FQi7Jw-;UQ#vnwV2^;bDz((@suB z)gl!nn|kkXDfAL)t8fGUiYU}ZrFSw!1eSqLrnDGoZAuhvA_4LubRSYUst{mq#spxI z1q4Qph+QBz$cPl#k?`y3Y3viBpvXTYv6U<~E;D)0rns6Cb(t`>y-+8_zj9bm{sga+ zTS#t^q*Lu2U5z5PKs0zJ7AklvXgHa5M>cV6h26yzk!pk4!ahMQk}T_;sLGV6O$m77eX(S)j)Vec^OHou zcz}FDL=&&8gDHe1L1;XowwNiTnhR4#z(k-(i8?1$!XsLq5|tH_61`CvLaL*b5a%uhl$1J$FRfz13d@< zg<-`^qw|?=KnjorIU!!bLLxLCsmv6S#!Zks+S-&Y1c0|s-6>HMB?`Wi$odpS*~(Z- zAhoc;BpKl=b`|LXU{+y3@=PKY6Vt;If{pz~-Z?eptZNnROo^gH<$Mmi1SyA+3fd7F zimX1O%f&{~$yfsQ$jrrTlNKP&+Et(?G zZ*&qqVMs_IBSz+m#s-arc>xtf?I}@^I9!l|#O9Y^4I*TKlL6?G|F46G0XTxF`}e~4 zNI^6=C7O$(wpbLN`ow8bMf|_RSwNZdUM7;sI8Gs62L(}UN|XmI+u|=#_PstXmX{=~*b> zHYG}07fFgFX_1?c09FM!5ui-Z5F#XMC<^~URtaHerhsrzNDjs@MxFu&MyfgXG7raC zc%FU!p=2x^sEw7w)Y7!oB+H zkE|@;{k8jl{oYTke$T?cUHaqqD@z|qr0X zqu=>Zdtl%Bg?qoc^2NpPcyzMx_aDCb;ColTvUs@s*@aI&`qaJT-PGc5JX*TjzW?&l z&#wI9gI`+yzPa9o*OyKfk?Ven~4 z{lYXyVF-XKGWJMyHn}TVv4!szJwX7n3?Q($^a!&H>59cAfWo*iiklX{Xf1q~M-yYg z1vCN$CNwV)8W?lz8LSIpX^{0C&V_x^6LCer0GAxaB+u|Vg_(OTqD zG4mLv%)C&2m~bcr$_2-ig|B+QPF@}?3LFjay&!=5z~vl~QqL_OxGNwI7c$N@ejs49JAQNNuoqyu}I$QhyXYb9U z9O=$7Peo>BRb|$OF<=|-*v4QeWvq(OhYe&(xhWUrrrf|lNQ%&!+IM4n62llUHpVua z+w8P4JGL=v@u=AUqq&I7FBa7m9!!#zu z4x~evCOk8w9~2{H{s46jc@TjLzPv}Bf?b4_YU0F(pcPXCfA5XN@5D(8KLr0L>=I5X zTpIw*AlXuw4>+tI_i#m3M>~P(&m*6?T9ajwpcR_Qt!0&o^igw+rr^k2{4#}^I;|fza>UuibL~+L|85CWMI8WB)AS_V0du!s6;BI7khK6VxJ2F z2zG>cPeNkY0S`&!LWUC(FgZ8yYu=nLS`ExK_c50;wCG@8=O#7IH- zhUWucqtKchd?b=J!3xM1K-;Nm(hmHh_vwleYQmS`>V~x_@Nc~L#M^>u1IAG@9b(;am^uFs@j!t% zV&f4K2=ui#)jT-es6mfbgRm4|7FScDqc&uyAp`48I`n?sPyt*M9SaMFj6N3;9}+Lr z#bm-m=YE!MiIECAf<sUIqdP3~HgoEon}SWPQ*|c&#bn)iD7QnJgK$ zJkD^^;O^I?mwR)n06~S9OtVBLHeeb;SBL`$U=f}cBEE+7es3g%p28yncPq3al}u<_ z)B}uG5D}OP>PeM;)*Hzo#sn0$0!}DkQnWXGkofK*5Xra4$daPoNWq1Mw~YuyT{xr| zcOv@6wTNp;F%h=E^gJ<=@UKvlX}nWGtR@T-w24qDGR%p5yc@}v8#EI71uvw@a0}-y4UhPQ)C9R;N!~5mfu>ph$NN^F477bt#_i`M` z^5*3Ah`gf}h3mnWMIzkZhuA7aLeO@yqe*XA_-!E(n~p$%i1iB%hT#B}3ZI|QKOk-1 z(n(7lF()Pstfe@|BF=@j5j1(iQNrioEm5ra+fq}Elu^+pWI?EFVo+EYC|Mj+CN?;u zB7UPMrMx#M)Q$LGDmRyR%LsKG68v_|hi&R|774B@7bS6OF7?2>K5aH3O%r>ndjqGS zD1D(fa0(vdPZtBHL1b-s1E+wqTm6Agjw81E1D_lp$aw?9DWaO_6$594?Ix~xc9@_q zGC=VYmrsSG-as}jCKPlTArTl95kz({N{Lu3OjiU7T=^CKflsE+`aEy7IfEo>xPY)` zghhka471u0+u%Y$$^o-z;GJU1X`t!4Hzhihh%@)SXfp57P!pIYoQ%z^)*rLC};iDtByuAP$p@H$Y5~JxSF1Ax1VNjFHUNZZ4v;S`PJ7-@v zyEpsF2fz8?2OfNB;CH3P2WK-SLVNK{tfeo^RJrw@%g~*-;jRu_V>;F+U+m7eR_NG_S~)CyY+!v zUw-QgZ-s8%z4^yCf9&SlZ)WDA(&F4F^ZM8QBfb{Y2!=&$(KCdFhbKbS1S<{AQ1GMR zO2D)CJW&W}SYkdTOvKzjxGXq0nENE{;1`2OAG=94RdVA&7y!wG#Ie#w=c= z%8nv;ufmTCVUV7dKG2^N0%~~ekV7Pri2b95`E@e>hPX;Z8ddrsZzK_ZGAiW#NHH-d zVQ0Ke$oGkXhL)ut@P3`79Yk8hKZtG#iLiEY3%R93WHQj*kg7=U^G335G(qBv z&(F>m`AgErWL9y0(ok9wmr6Od{8$tJ{z@;XAi}#+2 zE@HHzyKzOS}3&^fxBjA@|NFY15GKmDZr0k^h zFT6P|-E<(96YUzrQ6>mNlu=+Y2xRhk9fEq&*LibdyFWlzc`i1IXHjh?2wc!&XXig~2EY&y!F`Y$Z?UU?!92#>HZD z^Epk@6Sjzw;W2$ zNe7-dQ!tsx{V5^+CgX)KBqDBMzCUIH0ZphSMZ%JVkSg61BQ-+m;6qqaypiOyNneraB#6L~6DjEsk(U%iFhU1Fjun;ybAKLqmk`%Uu$?gO?PNm6i{n)HQ(k%BmyYy{^**hd^nRE#J^AgqQ{P3$G`&)&$X zU6JXGS1~6Zt^yAliBHe5ObX6!Ja_D4LUR0z%%v&)8`R|Mr=eJXjyEN3O8C~qrbu@p z5WAi|&IJO`EJa6Z<8S> z;H*4^Uy}WX6H9P}W5*RhkqBur?vB8J9*o2TgHoH?4HP!d*=jI$K_5z}0tR#p7U`wl zk57^Q_q;#CtAxL(z2FMq^n@tDpf-xbX2N|8%N&Jkigd&Kaq1Q*@4?(5;mb&`kckV4 zS~=*P416s|m+bzJQ+?tExi}o0UG6GdN6X4k6ypq2XK7o{?N3SEN9Gy>o3eI%VyM5 zEt5#V+z?G1_;upka7GbI;PXGbKPBBB1h*-HEmnxADBGEM24!*LvP%*kbON3)&EioA zAgBOk5knFAc2XDwG2w1QSz{_A`sa9aqJCZKpYZvGEhEDDG-5DFk&+0dB?<1FDZRcw zlFTOjSVV;c)h6|md@l0U1d8z65sSjQz;Aj2O~H^p?@dWC#}sx3H?6SX#hqpl^DyCG z2s;tv6B@oQ~`Y6dJ1zFEa)TB{USO+p5e7q6|`sct1Wx9zEY5D5zlx`(q;` zx$p$ZMsnDUa2lagobJ?&7&r~k`f~;YpIE#0Mj?$s8468c!q1y>pkc&I#q{flLgHu@tC642cG)KQ3$%t^^W2sK7N zpL!cQOQi#U9#kL6b|j2u!s0_&berq5hBSg+U`(a zA`=M>Ntymg_zyLVS0Y4wBk}>_SctMbAj(9kQ8bqH<^7RZg}gpXBGPL~ksLt_ah`Ap zshH<*q$Sz=NR%UT=uzw>iMc36s~)P+NIFnlN4+Xv#(u3grJz7oL{8VTI2M9@l(JqI z?~+0St^fmiSE=BQBuB#!p?cGz1e&{=V}Vg@!Z?9G#Ktv@z<=;Y;-!#+ApS*;kS&Kr zO5_CB0Hc-s8~=9G0nZ+ureHYmW=|k;-b4wpmoW%-_Y75E8nWEvV)4hK0YVe^nx6lLAK zutre}m8I0!=+f7CKTc2|XA$;ALF0+JM^=bnv#==)+(+`fVf~IbCC&q^@i?6{&SBwM zPf=n(K?=DzTtjSHQ)+o5AxEPm0&7)V>pJ`ZxSwcnQNKspgS>-cN?rtV8dk6^?=3Og zNMMporFt408_Nd;PAWm<0;y1>_Ssl?n*V2yJk9?<&Hv-JJ z|3A(Du&PxJpz^Z!rt|4;M(qJJBi9I}KIRgh+){S+X4tdFPp|EKx?Yl~M!?D%Q^pEM2W z0s$ql1s#D+R)Pu@Xj*jTY5xC-@c*az|EKx?r}_V<`TwW+|EKx?nWy>x|9|EG1OFUI z1U?#g@EZ@l|G}FcoQcYQ>iR!;|0`x1)b)q%-yPKTJNG{8-m~uh+1-DA_nmihcR%;; zC*Ao=ucE*DsG|QnX1;l$I}`Kj`TueLSLfeHJ%3{UGv=k+zj^!nZ@+2gX9ua`vZYzj3xayE6OynZKU-6zOBqFG=r}zF69qK8@GE@{h2IDT)S-50;zy5=u0Z zRJXx&MNOYZtv7^1z|J-4-GP9#1*sGzDHIu{JsO=f)$F$5U!n*MOgR-=@L2^uD&_6|iep;~f z03t+CijFBWqQ=RF`-iTq6ekf21ln%);TAM!wJ5yzkOPc#soJ6|Dl@uNJu#YUrL^>+ z{+ud6T1vZs2?z)wfQF=~t#={y13pj1nymH#4+;eTg3yg}DEw#u4+u`75dd3TrSukL zx*C$+BLttO7rV!}K=nVhQPdnl&4hmryh0TD&>D(LEd;bzLy{(aW5&HVW5GX~mn9x=K*l zRJVE^NkO`SJ_m&d78RG+1iq=Nf#35+Qo2Sx5#>cJ6ruyJhRcOIP8oQ47_IP1#q>2(eurYvrsllY*J)9{lo~}q|-birCl$t_a0G^!6DN!h>QPCQr)ZJwi zU0hY^S>8x?mFiGVMv1s6tb?@6vMJOT>^z=AqX$2 zmjnB5a(LOaa9}yfeg*n8oruGpK$Px*dlqiblF==d`ZYzG@#ds>kAiW*{z%!M4xb(2BT>8#xF}5B zBh7WKemx~@Ljokr&l%z)p%8)7vz4Hxpk&;p20rWre$hJ{Q_zZ)y&nfTOstAvRY*{a zD%5MUhB{}TI!Bg*O7N8Q8U2w|y#dkzFD&+lp!EW_L!C2>e-tgFLflZljFn{&d4$$B(RoVixBvc)LPXUGH3h+6F%V4Fwx@j02 z;i;s^HyjoiWa`ZM@RVqpboUi_KOk0S;Mc`_PD4@}__F>;g`5~bD?peo>Wi?Kx_qRSKw#8IbnI^6jRU+Dx5jF zw?Iq*XORKQqyXi!@B^j`X!of4CeXoE#+>5U1??eZf`C#|g4RQkj=VXipfU}-sXvku zMO6UQJ^e)}l50?~PNewIuy_a^Jm7(WK>=n5D#0n;?v@o*EhF#|ZzP-vK-wvzRhW*_T%abvuYj%ryAXAn zj^^|kPWbLJ036g11Ze05Q2nR^7(zLS>3u4qOwoWk}H zoP!|tO(XEJ{z#Q3F%W>j8^@eb1oP{t`n1705l|o6RtNsv8)D+!$0`n_;Odj*-I6?}h|55XuSzggq~qbvb{~`Josbtb&(%Q?eVVJY`DJ#2nTx z3V)&P1HL80`=(Nr2Eh48`XdE1EpQ8PeoQF~o+ye^+099+m1+15!AhUx16(1H0zf3N z1RxL}odX3#ga5KrmvsdqANaT4YeLk+_XW&_T4IUNCAP4WphW=rLFaA=Z(rd3xWSR+ zq$4!sWr7I|02*b)P8hr^=&+;_vI4*DjYJ>1R5XJR6VqfoIaRBPI9xcHw2&yfhd9It8;V1 zTt$eKFUl+f)*n6{e*#~KEZ|6jiW7w=Xk#$30Ahj_k_Ws{plLu=^20FQh3SFkgP|AMaSmW(R1L_!`Y;8-Pv(H-#X{p1kc!(7 z_7pZVx2kXxAflAkyg6Ycgi-@D&tqEIpgG;x1-IO-P_5fpsNy>2*IAazQ z`xsa+R}DZxc7_H6o%#vhlsY(asHPtR3KH5#)c-(y2P_681UeFPJ1luH1sN`y6y&=o zcaPH)zeyZ#wmW==0N}wIyV4!+$JwaxgJ8D<)nZP8d`P3b(xET}s36u=H|d4x(T^}h zfg=EEC)N^}r=Z3|!QmPJ*2ZR1Bo9a;2#^%0GugW+V{|(u2f&me^@T2-DYubWTm%N-yJ1_C7$fCv)aTY|5HsR;Br)J1$E&>uLONl+zh zbfCR5@L}l-`%_x*W^q4+FxS~}_yo}XqGgESa!fdtmh7P}1dkS=3qCU+UubQnR1pW= zlLAq|RiKBY&t8yb;s5)cz>Rm`sN7h)@xs}^nf>|MZ<}qy^7pctSI&HF=9dD$Lu}yt zhz*=RSbT8v{_oxYz|8CJfBF3{xNqFQbMKGt{V(_4b}ubr1JXYc9r%bq{7c{M#RvZ4 z&QIR?#yjOZD|cS7@Yf4JxA3hqdkd|Ft%aA(|NZOXJ_5abEZ@cN-{H&YLlHN!!!jH_oYc4;xH20hve|h7lq+{tJ zuRq}*KBli&`wjg6>FA=y8(x^w5Z6j<8Lj=?DISzWF+_QsQ2>@oAuw5O@;7 zhK63j9Dzp}_D;P1q%CIj80f*fagc-^&EG=Tv2JV`8`W)wVM_0_J?W^hl(;QiA`WN< z?ix{OgI-ecNo0Z%sx5guTL!i=&Bp|)-DA@B=-RNspeg5eC%BMChxB=Oh(^Fup+={*@TXUqoMsK#Aa|*Kz#$?t<|MCVZIf1zOUUzSsLo zU}i)R0sxIbcjH6z-O&<)BM|lioGn8iaLZw*qy^8i4Ct2=f-o3+3=hFwX8|vVgMPp@ z^)&SJ5D+2TSU_k28ev|9U^|65fGCbWb?7JXO=7=KLmb`^ONohQ2xQy{bu9O6A95EzJQ{smJN!8Ujm0Kx`-+#AWI3AY9Q znmBSG-I$ZjiQfqOAM^!i>9q6~@1#%B*`Sa7gtiu#GJcKtU6eO~JVB@60p*i0xnUOe ziO4{mKCxp+ppQTVeJf~R;W_Y#vjEUS$so=%%$_3Z1iNV9uf=OlL&4t_lJnDadLZaQ zoRZDqH3Jp*EVnY~RMrl|Liz%4WKsZ#g=WJjK^x+i0aFLcDq0(0tD*HA$)k{h*q^8= z))^d$VudjKY&;}FDoV=h$O%`awu9cX51DLnl#~);G)Nd8W4SgaD=K%L_?G4FI}`k!Qo`MMKcE?!C0b-^m*Pl z!b=Bv&V9;-%=QrPA;TO2%){8k^0 zZJ5w+2>K5kAj}_{s|bay6A-|Q$F61rxC1CF#ydX-JQmf@H)0hbsKi!D;V#m%1T3i% z_zUkf;a?<_h9YFs_ARg^mj?G77Zoa1h8V<>T7!P|hV z4wo#)EzrkaxuC!@AlwgWd zA=C%BN$fZ&rNmp}B|^l&jS4F-3nZuyAo?R3K=1%91I{{~TJQ!=(Qv@SZ4)%XzQjm# zJX%Ib#Q8#efi%n*#CTw;3n`N1y(Oy5viUK76ZVJeLc$YNRDFzB~Z7&$h zK_Ey@W+Vmc6vvGyCTxAeJHx+%vQ#kJ_rc3Vi7<8vC=e4CUV->+NFltYID`d&-lkK5 zpYeV?MEFnSUEnzqZ;85r${sHPo)yvI1GY)SL*Nsa;)Mx3bB3`dT=6kAkkO=baH>=r zes=Yh-WS3z!(2vCL3ZGo9Rvc2LwLbz*q1=kOZU9rhGvu>fI~hdf?a}D*K-9?;A~&G zRq(+2v^xf2W>hXdz3>@vYy=l3b|GmC3=UF9@GSPBzO)s9OAiH*7L0aSHTaAK!r_0= zR2$-Y*VLqUct4Inw4z{hxFX;Ky&3*6w;GocX&g8#Aj&m7c`#6+v=;XyVP&>0IunnA z4h2Mea2_~MA*tt$6fAiu!94))rBLlcZQ*E;6>_nz@WR=d3;mHIXTndS<@o9$Zec>3 z_)$=m(uo7V8`sv$`Vb#y|8W|L(s9ah(*${y@SX_;V(6mc!hsKaa}wd;1mL`Ic)) zKTa$FC^jTM=s#idVC_H^py_$p*NB+1J{BeDiKWZgdDh2usVtS>G-Em zH#m0SfA@YI@@aN8F-Tbi+H3%nv^rtO;pM|R1*3q~uiqqQh-w68OV21_^PuF}tK119 zLMPa$@LHvLZ%SeFK&?VxQJ6BqF(9eq(K*3{Oot`9ImNuUgte3w=>!f%A0Dq8jR=2o zTk@yC@yUPc(pPySv3H08q6VN$Vx)*cv(Au%W9-4NKwAzs@NNB(AmByv1V$eW6mhvG zMI4syY6bxXctul2;Dg?4a?uf#Mg6az-xhIgLPa4c zl(9)zb3PXACQ!=YzrvFp7&rsA19O20&x_C$#vT4Vt~jB5KBrhn)##IK<2Jxx#%APN z;AB!6t7%4L#SuHiU=U+9k{ zb%rV?QtsIv!Zd?shrfd}lOkK;hQiXPc|XpIDWdVcU~1-Ih+G@QnFK~LzKA1X2Fd+= zF$6AL@!}q3v@X&<_=>D2fmCvRBt%p#@P6;d*{YKQ@b>wio1eY?np>@#KZwu$(i>;9@0$7fnFT4z z!2dV@xrlZ~ogm55Jh4yHsD+~0b&U3;zVpGw#I{>KiRDbS)7{^VM{-utiOW?jyl?eZh!Z+8GSzsux3U>IoX~mKFrLxq%V|t(FFN+{BGMjpf}Ex^)JTkUw;`WT zXv?X_tVp<7hTjx3r(yRtlS|!*vzF3UcOvP^6R;7_`Z>(?ctXCrXVsvNMZ0D}_KQ`oN6qR1=6I+9iJ-k?J zE+jSw?+@(giDj?#^K!xYLT*j^Yl!Ft`I`xnq_!6w)v1l_T0sdVl5V1EiN5faV=}^ zY?tKna(%fIHh0}#RNE^i^Sg^nVPk)9!r>NT$U$-e*NJiI;YGAI5@VWfVk0qBIa^4j zCWz7AIS55N-L4hEa&Da9;kc*mU@%(?WtXi|_gK#y@3(8^?L;H7mx-*e)*9NzCrY4qtwnT@}!2;rQE72Z_7Ekk;-<@R}M`(kw0|`<<7aHZKO^U z8=I@i)rfPpmyITudZ+7pmQI}$#8976Lv#S2sB(4x!;461q^PFp3O5p?;pEOIH92pu z+xzFiZZDxJ5qD!}zf~{~&*S?Qv#`2Z+*)1>Zk?Vt`k;eU7$IUh-Z+m3TiIQ%hf=tff5h4Vsr!pW#47Z=l!=q|kb zom_f9b$GPamg5O?`zXF!JK8aJ(ueE&%g1}0n(b5ohTrTh;s zqQ%jcnx^mFNQzpmt%oMv;>+oJXeV~M9m?)^y6w_|8re5j;)Ps3xZhLvo!!KFNH2xE za&*r+FR$vwo^sxqq;7dr^pq)Ivly2jUPKEcF{bIXHxdJy)2>pRuo_D9^elN;NgdTT zlEI_uQq!z#R)WRl^%J#R%&ohdcEj!LomgA7y<$gC)XXhCHtB#P271bxXcCI0y7cfO znjeWVO>e)E7~OVFEfgn+k=|}awbe*4a-3<~D~0NQJGB-L*0tqW@Sx+^+11m7La=^h zG*;q^k!D9}lN-K944I>G?P^?lcoEHw#F(a=;7ANP6RNi+-5SxgWOKK%m0dZGC^@2x zom{KF7vEf3TG?wgclPr~OM9zZCr+wyRBaZQw+_!6yX6T@&iUXn-Po@&sQeEvqS=uc z)ATPKi4h8g%kCsoWH-84w~WMzx|uLiiG;2e>egYrU~8L7EFFuPXIgPPQx6_CA{*PO zbYWw4-wIB!aD^CZkdAHFoQ=y5FCv+dqMD{-;z*1_H+^nT*i+m4m1SAp=x%KG@_Q>r z%7|+_>E`LiS~P6slwc#hxW3y6?>lBSSShBg;_-R1JxNh1&lnbV;p9E#e|QmfM~g8{ zi^h=@S*z;QC+(?yIdY;~jiZy&Nj+GLtsN#ahwH)pvv|(jX*D+EdMvTCn2N0=wk)d< z%%DgP z`>bAy$JV!UorB}uC3;c0sml7waw?Xv?GyL-&{j^a5km<=zKivJzyC1mw z*1Or6_uh>VFZkGFiI;e$#AsHZiNr-kbSPGru6cS_(?{0)KHiT=A0G6=}2zSIye$OJ*Z8mj+O} zk-WT0(v6qSu3Q@M;@PE{lG6@0>rO3LbGpTzZ}j)Pe0FoDn5#GX1F%P$y?WJu45jyt z4bp?>R;{e~j0)+yUN*aNc_uZOY@6Yh@7LZtHjy0cY2A$K`Ud?=|3r!zY&BATYf}2o zv56G!idx0=#ag8A7@H^@Y*dLe`F`x%{Szrxuwkap&75!0w~Y-71@lIz-7EP9ee2jD zJ!lxcisSeOeT#oNLRq`ud;S`+c#oDVTPSAQy3Ya){D@yDWJ)^ej?aM$eC7CIa_43LNB#!?JXWyl^s2H?s=#-SkEw^7ZPUN%#`u_` z<(4$xZw0<$d`#BqbPK-UlD_^^X4fulLpD#XUGV=@$Ulu4%xj%)$^TQ|F+NQ?Q|tKF zGVoR7)0lasTJfn&>D~S@pqoWx@Jc4ZNR{nkB^b9 zR;}E={9A!<_m44x6|G)WeV16QLz^kBNAG%UYb`P%U@#HTYUpFtG(pT~bHbZ(b@TPHAfg0*11 z=QQ#;|0{os|F^UtxQ<@kx9Wi}8y{nrIt~9A>7Cs*eDdbzx zcl*^2WAf#$Q}IbADOU!$t(+6~4GR45*dQ%vbo1$~;rqD{UKym6yWzA?eo4JLsFzcV}q1n6S!2*xAmpPD}x%% zeA7z%KEeC145C1wWB8&rfv+DMBnKN>Pt$!TRtjDjR4bZx$u}tQLstf+DiyWkQ)z*( z^Y3moXmyIR-!6E^*k%fvsctUkyTb!tIzC2MTlJKG9&P-m9fYhgo3?dQ}>;J z=`+TDEEMb(Lyem6TL-@H%0ybT==h>3fp?5eWCZI?)z0|dDDX9}nBBf~yDCO7*LLlq z=D!)gckJhkpc|GuzK>dcTY6^fmC%2wcA@Rx`ePQXq6h7gSyB9E-m9+6 z#5v2hd^jskGwD{dSMVS1w~Y-_ zh(goZ!Y7;bX;%g{%B6F^CJB7kl|i+<(~(WzJH6-1phC7{x_-0fEn|c5D?*)o(SHNH zb?jTp!CE0)_pk2QrKHHgY@up&e8yPdy;mj*Yqg&5ph(u(m|&w0i@#6XN?$WRrqBzU zRo_mMUOql1ZJf9LIpx4N`8BcQ-^vEQ#6Lt1<_n>s|7~98|0N_ZwF`c!0`D0g zqt%Mkg!mTh?c-yVPOD=3PuiQFH)~20Q?spS&pw>D)91O;=VrR+Zn4}B+PMX3H&Br7 zNjLuL#?RgO&KqyKkpyx7;@N+m{k_=_gSqd_9?yn^C;i|LAAID&dmg+FhJf&c=gw^0 z|J(Z?z5jvxZ=d-u_sjRU?|&v(fIpx4<$FJS?|t{)e9s|H@F}yOa8J7X2k-^F=kDw7 zp4|=4d=*^){~NJ_58iplOrB1F@jDOi++Fzdg`Zz|-@==T6|611V&TU8pUnTn{I|}( zVde+sUpxQm`A@$6ci;m)bo-sRtGDB~AKt!y>o0Hp!maNCACS4Va_eQcW^ew{%^$z{ zEjM3(^R+i$bMpmr|1kI4b3Z!w4Rfuz!#REK<7cdy=SqJoeN_5@^bV&#Dak%|qt@*eHbHq)IuzwtS&~3dhW;+U1{+ zzTm~PkxNmED+K~=e++`KUNh&v{{G$Ah)mh2`s_pLlgCCR&8+6T9s++h_7>ru-+q3+ zUkvJ4{ePf3`J8WGN5|5x;U*Dd(pvY{U-f?q*)aUJap1p=4bY3K z&p47U#$G~II*#ua_B@A6#Ts<)gMh;DIZx7;i)-rgAaZ|HL;26v^ItZ*DP0;gsqCZa z7n%C&PTOzre!l-~B(+-GbkNp%&YnX{|LLS6f-`XLUR4TaV5`q?*FQGzEf>p zRwIG2O>E~{PTjwWKi>b{ZMB_m`wqg({R6_CYRd7cyQu#q!;MD9XZC;6`15?%XMnuG z{~5wHmep@FERDTFIbGL$QXs_TkZrhV%l?!2Nn^iJklQKWF%)_P2a|T>DVt+t8&t3EJ`0YHsUev)+zG?adl^%?ZFwS!!|BL?i*a)>~jD@TIaO^dJlK2t; zfxjF3-b%HY@$Jr)vENY4V!`*t1HbH_;%e1n$3KPHZpt~oeogpa(`@HW|8IO`>^H7t zr<}3hI1kIV@1_a-lK%{u`E1KKV0Y|!wwm`HkT;CIf+H6U--3P7*ee+2j6cLCIb%Pe zb!tB2dEP%ms6&9;@5KDC{+9^ljC|I&uRd{Xicntf`M)&=;^h?6)#Pz@Yzn2`81n&t z(m#dKDAaV{A$y&F3Zq`CpZhM4z{kc%6soSzv6oi-d%~!8+J42mH#VTGSbjV9xnlzg zM$M;IrOh!pvZa>abQm)}3_YVXd>d2t&%n2K{AFlcemV7SsZsZ>xpX=d>@9S;!_*{0YT8=z?&+hnA7-`q{ zmVq%_PpxL1bKj>*j7?F_(4F-1O9cLpu@QwXumazR4~>s#wA%gy@}pxTGEUR>|H|+9 zw>LaBd7na)X8a$6roO5_EYuwvpq8w(?}mBf*nlg=qBZ|pD!mra^2?G+W4@qL!AtOe zi(m2Y8>Q^HzVH32e*OPJzyAMwz54%?g|DIhKXBW;b$;_Z@TVW#Sebp@%=@K3lU@)w z@cie;|LbDq;_gCXZBU5~Pzksb2m}zVzz`hKL>mYiC<{QFGB68jYDYSpVB zyf9FGM&o}<5bA@gwGmeyUaVc*8I_cq0D{2f0Q-Qx4TuI1V+)Ryhp?^y3x ziW0mUOdE)jU(K$Y=~$+1Z5o+YC!8#&&78Al9-eLFj>0K>OWi)z)NCfcm}&Ifa-+JH zwXRfZK6+bqLXG2uiiM=PMlQb3YezgX`O7^D&Due266TBS}n9VvY-!UKkXX0K*D2H&8}!ZLrLx90;=Hkt9~|YUX<&iM4um z5?L)Ohl}pg+R=Wjvewb}xvRyg}mSWLz_uB0xKTeY2 zLnOI9l0<>)PXMB5Auljm7HFmjMO&&c&l3OE5 zreTmBNn!-ACa(vQoK=D)BkH8=N;1CaR_g0Jn_W4cb&TV(6RA0gQc+z^*9#5)&}t~j zo&Ejgt00m`l32=PBpE(LlA9w*U~dA#2!0D*BY=$|0k$G03tCoHfwTdevo7r}D#xzm z#s`wD9h~G=@|~QU*wJmuPh*WOwbsOb+zs1N-CE4Gj~18Cb~=r%R_z(zf$o3 zNRmla%~u{G$=pa1&}GmifaasIuz=8lXtx|-x1fA!4hz`>7{<|>Ov=0uBr%Koy|tx! z)#)16*-5N+6NRV1CKbD|_ALsv*~}Jtv^+AG0RIhe&c` zBnjZl6x5sWfCy3_U9>xfp#*{=(6}jD+QJ{oaDFcZn+(*%gd(+D@7ww zk0mp~BQvtPmNrf*J4cP|UbK>IbWb$Kkh;Sf7=%mNoGfq0Mbr| zfP-=sf)59439&34+5sFYfaYPzgu!AYi5$Ed>>o&y?gZ2Aj=8JJiD+TJZfBF5Cq^)$ z_7cm<+=&(24j(nla$}`YI_ek&xm7>ZBJt~V7wZ2pYchPu9X~U=U{lqRBomS-13|hgYD7tuHyf*|SZ=)#=|s#-B$%+QMtVQH=dAU5 zPI+&4sj5Wt>($t9W+Pp$R3{3ehJi3#ci=BSL=efV<9yC-U~geiU>*|<pP7 z9v|2%i~;cEq+kw&A;O|BI32Y|f)rh~q5I;813@y0%)ZfUY}k9!w6ADs68tPV%O>k8X`I)hY7tuG4#K30MP*AY^ zz(gc$E?9gZM}!L4wjt?&mo@E<#89u;*aIW-WZKot2g4%IV33D(C*2D*9u@c=Yfh@`h2Z_B74PM`D=c(UE}^ zjpLSYdhIz4dON5$&yemJ{ht~KHy`Of#x^xo2`AsF)ls4h`xTb7&447VC6M<+k~wJm6T9bpyDC40wWJ&vzZ)8(LGN!8$NesAjaZe z>EL)PTFI_=8kxvS=B&|9JMnI2sbsJ0B+HAL({krz?Z8+owA6gPn%>*6v)71$?Qku$ zRloG`BJ#zf#c<_R8X_8x5k;7cLQg?xAsAjDxD#y6raTgZM6K-0Mhv7l+;44__t#2C zJH3rwIuSiQZKfza*SE4Qb*pt!)|%zoaVfkCP$N@;G^@Fp+qq(8^*29&N_k?bwpgi4 z4=_Z3%V6=frh&P85111Alli{gIUpnAdqeufW+QDQkxmoKeOU+EN zYsjfcI?jzAKQ|iN=ZRjbx|ZKaq>@f>*^af(ba#F6AbibYXhE19uG>?W9$rLyBQc=B z5F9=xY?PQ;P>w<}=|EJ#?EzV{6NbU((g8=0jm1R z4))4M@Ax#)N+z1e?oO?`y`j`LL+yR}8ZqP`JeAjpap|G(|6g|FvjexHH~;G9H{4vF z`-{1+oBP}we}3a#H$MBp_dGbf|Ihc|cYpuhKi+%qz1_QifA>4@?%esiJKuh1YvFGf zzI7os|2OmBJimVXuW!HS_Uf(weCyq_|8e#mv#*}{4>NC{c}Dv8(%U2}@W+9#dVIKG z^z`7ux}8W!{K2zeMSmiNjRX57#KW+tLXyg5Eto$o8RkleeYhIJ5S41HPU+yn9M0-d zF$;ch`1kl5@Uja&1{Tb!6I`0uxekmF zhAn7!l2|El0-KO_!kGY%i{Pmg@?hXYaRj{xAI64S2TmZ(_GZs_%wr>X$X6u@_%C7$(wb4IIBen8RB;+ zj|3kJghyDk@XA3F1rrwS6*$AVfKQGAd9&Ug&N>ab-Zb$TZ`NDGS)sX+sn!!zG%(lD zI)td22H%Wr!$S#kn3jf+1?`g*@it9x&_Qv-eFsw>Y{gL2c}!kr%A57(a8^MYo(yr( zC-JK|je_ePCK_RNnK0N`kTw&1d~%$^n{{qD>oiRF)5HwCS#Jzy4OuC?9CRmiap=x8 z6mel_b~yzwf+ zwxZJA1tpkL#27kEpa~%o2OwU3a%-SYn)~Wq8|>kdhE>>lu&pR z^yNuIqonq4?w1T_#n;2og@#iNaR(Bs7ToHB1Uan2m6!@!P@Kz`xyJZd*>ZLx35DPgFMCf7cfcXLVir zbU;MKO7M7lMBgmCxUVxR5geBcLr-6#823c`jN(cni-r>~zWgcYWb- zRvPa-u?0^OZZIbW8KNNzesxR>b|2;rngY^aL980?&-#MltR_2DQ@QI6!RIKbJ<+ek zI#YD=(cqPaB~KCUbBGfPl_RVSdL=yN-sS>je5$Cx9;c^1yKi{~1e3FNVH7@Vw!yBD50< zLo#Z@e~W&F8jfxkVpbbIS{Rr)&X7pcBL#vx8JcKuy9+anYZLxj&I(B&2>HBseeQ5p z;s8(VfdG{|EiZ_bsWAJAuf(+``XJ!{fG5V}!l3YGea>)JlRZaU1NJ_gulx-*jF1VU zeZk_J;vS&!2bAuxjzcsDryM5*CNa3}5HAGQ-htZJ(fc;xCkXj zC7O0Xn@4jP*yy0f6mFYpP&S*PJ>CyAwr zPFL^`iXJi$2xDSl%fn8m!6ypwo8fx1K6^MT!K5^umIdjxkWMH;dJ6D&4O*6{f+Q9? zEX-sg%wkiCcTL0ehjqn%C0dK0%GU_@-}U2%vqCDGLZQLwE_;nVU@FCcv|tv2CZA)^ zzM+2(*Eg2iLj_)aVZVy-FB$C8Gykofipo~TDnD8pH zvlyL(+z)zYT2Wvza4h<>-hVVJO&d&lPO!7YO^2G|j6<*QVh$>NPJ{E~&;>-pZs2H$ z&%l~tzhZ20cp&_z9gn5te64th;k6QEO`$I|5#eWrV5rhDw2)~NlaYPn+#K# z-bS212fj%Z1LDy$K|$?9=-xlEcZajubmQRH;9vRV*PK12x;52lZYxDTgDS2Jrr|1Sp~829t{zUA&m@6O-( zoQ1~x_uT%&+n;zVcJqyMKTIs(rL)H~ZAb#~wpTK{X?bTgp*Eeu{#K$~tE}#4lwNu9plQ^jhp}R~wYt8N?WvP881Q;Q z7bi~$d=O0cKP0*T;!$#cnp=J($VB++K$M~uTTLCTY%F!RC=@y}x7{s!IbPU4-P=hX zc00#svCYMeUS(B1J}_2}k6L9Tcyc8$IDA{hnh=V*@{l!o(P&MkF)c=-sKF~3!+{{x z{gs3fS|_@^>;@0wm8E8JH4?8L_6ob%jm^Du@T|TaYvor$M_Y;I)q_Rl{AejSAsOR+ zc1YZ>2BRJcGJHsW?1iKJ*fiG6NDw7>6}~f&WPc;EwH~V^t+Rwt(ybM%m5S}e%bnn{ z<|fknrq+Hxtr**;lqhGMnV{MmBK-i_9d3$-$&mRhn=P@Ki(?8^3}A{f?$e4;Wr z`|5wl=6b#t==2g~(^zezKqq08yydGQ8^}>^oGr=6iLH9D5!{c(q6f*~mL5Fa-hsV! zTkCGE=S}M*QQBXM9Gc0P)l2EyYxblB8SHR61XUs8TcNeP8op{q$){oZqcQQ+9b8%H~D)C^evsBK7&9dAq9$#C` zqp6c6VSf>N9zH~MJ#VDCrZG-0NkSz43SfL7O3z)F4?4Sgaii927fvD-^Yl=O7rN*5 zQe-okjPBNDt=C@8od=KNS}fW;J=KmUos<6C%8#iW!6F(g%G$+qFN^YIi};c#@FrbB ztPez~%KOVfHM+9X?S>9|P9}EL>!it`w;PAr>b@2}>g5h7p^2}?b6Pgv+|PFpH?NRP zA%`c58lHTi_#d(=&l!m_jTwGP6iU*r0Nn?oC~J1Jv7N|jn+DAbjtbS7vF|w5y?n=X z4~|dQlwCFA8kNJ$%Eo@Kb{Yzul}gvH3Jp&t>fyd9!-t6SNh49FvHdTJA_uR6=m(QpzE zHxGkmOfT2v)JgD|EY#VKR&n+#hiWdlmd$LRB@a%sc4ALHEnUd~KKkt1WP7E*y@n6j zUe6wFuW1~sOOi~Y1sI63qek@9`P$M^TJIH|t-^XSbYum4r#XYl(Ifq!RyNP#iPAwc zt!8SQy-uW}rmqm>JrYHI+({WeWKlkTv?$YfbC*O31+P#A3?zxyE171cQms`Dv%Q!s zck}tx^Jc}gv*D8>ty@n52lxK|=Wf~9i zk|dJ|4F;mroYQV8vzTkTd&c52Z0WJ^vEFRAdOH+lMCz$l?kzVanewBS{0gn=kl zbLZ%Eb7>{++KEIfn^W4slWxtZnUhF(adS~^o%Y&VyL5fwt~uF| zL{#pz;X_2ZKN4jc2mO*LFxXt7OBjf9Y}eGSrR0XQoM}}XTWcFjm2NX$bQY^w^JJ~F zZ)AJWWbPgXO|JaNY5g?l>`(F?`)?b1Tw(a|A)?$Hi84)8;F2hl2owgQn45*Bwo^Gb zcJ;MNO*?Eb$+ zf3berX#J+iOpn$N8o#UDO@sAoxeaT*5v&|+WtFAks=buRm)&^QICJaUp{}*G(@V>d zW@;_5U+cDZ?Q!*U8X%JscW zt8u2)8g@x3b%ST!OgdYqK48y0lbdcKS?%WQ>c*MV*xt#y*La%Z>^?@6M-LH2xg^RI zIrvMWz*TyMPHG^^s=d}-E!08>+E%f()sY*Kdix;g)SKm%<9uPYQ0=8_E}e4Xb@k+^ zQY|Dai{(kD%KPxNHoSgS9z8@9c_hj-iT_KYK%R1is%p5w*0qC!uCa8MYOm*acUP2l zsFaMWr(0?&UtBy}?^P;tdFQ;I)w-2!Gj?*YT-2{$6=OoV7Fw_`=kOsG&f>_znWoxc zB+4XGsevTN$(=JRR?a0l&QWf!aj;sCB6y znmoTQxR&Hv2wh# zyMsw=fnZ6jFuV-p+olAupDkNZdBp501{N zd)v#&bn`eKbSg2GQl5j=wA#roUc0@hK)!xa9z8^q&m4(DYLtd=qFWs~8q%WV0YuYe zvUw_WTit%_zoW`8|;c(H!*84HQ+0mh0B&?(ZmWK9LKicFG7>Hxc- zkFto`lR%I!VXP*zeGOz;+*VV^D|CD-RbocoI?uKA&~~uc**VzTaSt}PW7YU-rkbxU zX{FBUnzEMJIzFA`4fJK1MAAGw_1f?u%krvA%OaW~iq46&149-n;mMJb&!9K0nxasO zD%{kiWtqe!HV`ElH}{njeQ_z;giSG?UNv^LUUPGMLn~Ex8i&i(dM(mD+upI`A?rL& z8SUxm`nAWNj^U5lVZ(=r^64W{=m14eWU2xT!>jP88ZS&09ocs^N%BbKGxbZN5b3`{ zK{gQO{H(dZmuNMdh*DaP6gH1@)n>#w4t9^W;>qLYiGGyO(}|`fpPi_u+GcdWwGy9X zLiblin;iJ_KSY#I8;L@dfh$uU_K<33QALraGKg-)^ngs8G^7G91HKb%ll4aV&KpF@M`!m=l;<{METT_D5Ca* zHlaYP!lHJNcF|NMvfn7<(iF;>>2iAc+)rXb8;BCtjuOh&;zoyf>rNtOl@s#06?9TZ z2Ue-xu4(4k+G_0RG-sdhZ=am*gtSIIF)5tU7sZ+!&hS6vihRZBilng^?FK1QAq~aF zA}TnjIcHU9yc!vO=;Ok zl2Gs}WkUW|G!q`|BLs&^X~87efFK$ z!kgwleEa{t{Ta8?H{Ub&(Yd=fqO)H-^C9UkrB?)A`#}+vaSt(7rtc+(=D`*Y@jblfUhcw=K6i|#_tX`5s zqkcO?{R!1D0y{u)6}`5@RNd38o@zfz>B1v9${96W^08nHJLt{*eyHu)kF3AD0o9g4h7|0P?*MgOOr@I=_o7I)% zY2w6j_u}EkO0u(4%qG{PyUT^#b|k$SQ#QLUkkovlKFOrxRn=ffn`}JrPz%xpv%hIC zA{WsDb1#_jMA5ndFToQ(m;;HN@ZuM z8rcp;bE~GczFTN79&g2ai$yD!-mC^A^44}}e`P&dkJk53%PWgUYo|BK=`o&>MRIkr zA;&|}d}p|=q8CdeIe;>QG@(zg;ZW;GfjF8OR&wdoX<8VsonK* zBe}VmvocHN!{q)d_RsE8H%Q6A+Rg!hhm)kbe!f-j;sve53@vJIEoZkUS)=+hx)KCM zH1T}!5FIcK9H6c~XC#N{LQknFop0%eP5Cc­%?l!n5#3>3sP+)Eg{7VX#lBuj(! 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 diff --git a/specs/requirements.md b/specs/requirements.md index eef6d13..47e8d48 100644 --- a/specs/requirements.md +++ b/specs/requirements.md @@ -29,7 +29,7 @@ The system relies on JWT-based authentication. * **Input**: Email, Password. * **Logic**: * Email must be unique. - * Creates a `UserProfile` with default values (e.g., default weight 70kg) upon account creation. + * Creates a `UserProfile` with default values (e.g., default weight 70kg, default rest timer 120s) upon account creation. * Sets `isFirstLogin` to true. * **3.1.3 First-Time Setup (Password Change)** * **Trigger**: If `User.isFirstLogin` is true. @@ -50,6 +50,7 @@ Users can structure their training via Plans. * User selects exercises from the global/personal library. * **Ordering**: Exercises must be ordered (0-indexed). * **Weighted Flag**: specific exercises in a plan can be marked as `isWeighted` (visual indicator). + * **Rest Time**: specific exercises can have a defined `restTime` (seconds). * **Logic**: Supports reordering capabilities via drag-and-drop in UI. * **3.2.2 Plan Deletion** * Standard soft or hard delete (Cascades to PlanExercises). @@ -98,7 +99,32 @@ The core feature. States: **Idle**, **Active Session**, **Sporadic Mode**. * `POST /sessions/quick-log/set`: * Finds OR Creates the daily Quick Log session. * Appends the set. - * **UI**: Separate "Sporadic Mode" view specialized for fast, one-off entries without a timer or plan context. + * **UI**: Separate "Sporadic Mode" view specialized for fast, one-off entries without a timer or plan context. Matches "Free Session" timer logic (see 3.4.3). + +* **3.4.3 Rest Timer** + * **Concept**: A configurable timer to track rest periods between sets. + * **Contexts**: + * **Free Session / Quick Log**: + * Manual setup. + * Default value: 2 minutes (120s). + * **Persistence**: The last manually set value becomes the new default for the user. + * **Planned Session**: + * **Config**: Each step in a plan can have a specific `restTime` (seconds). + * **Auto-Set**: When a set is logged, the timer resets to the value defined for the *current* step. + * **Fallback**: If plan step has no `restTime`, use User's default. + * **Behavior**: + * **Start**: Manual trigger by user. + * **Countdown**: Visual display. + * **Completion**: + * Audio signal (3 seconds). + * Visual alert (Red color for 3 seconds). + * Auto-reset to next expected rest time. + * **UI Component**: + * Floating Action Button (FAB). + * **Idle**: Green Icon. + * **Running**: Shows digits. + * **Finished**: Red animation. + ### 3.5. History & Analysis * **3.5.1 Session History** diff --git a/src/components/Plans.tsx b/src/components/Plans.tsx index 4b40748..ecc308f 100644 --- a/src/components/Plans.tsx +++ b/src/components/Plans.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { Plus, Trash2, PlayCircle, Dumbbell, Save, X, ChevronRight, List, ArrowUp, ArrowDown, Edit2, User, Flame, Timer as TimerIcon, Ruler, Footprints, Activity, Percent, CheckCircle, GripVertical, Scale } from 'lucide-react'; +import { Plus, Trash2, PlayCircle, Dumbbell, Save, X, ChevronRight, List, ArrowUp, ArrowDown, Edit2, User, Flame, Timer as TimerIcon, Ruler, Footprints, Activity, Percent, CheckCircle, GripVertical, Scale, Search } from 'lucide-react'; import { WorkoutPlan, ExerciseDef, PlannedSet, Language, ExerciseType } from '../types'; import { getExercises, saveExercise } from '../services/storage'; import { t } from '../services/i18n'; @@ -12,6 +12,7 @@ import FilledInput from './FilledInput'; import { toTitleCase } from '../utils/text'; import { Button } from './ui/Button'; import { Card } from './ui/Card'; +import { Modal } from './ui/Modal'; interface PlansProps { lang: Language; @@ -93,7 +94,10 @@ const Plans: React.FC = ({ lang }) => { exerciseId: ex.id, exerciseName: ex.name, exerciseType: ex.type, - isWeighted: false + isWeighted: false, + restTimeSeconds: 120 // Default new step to 120s? Or leave undefined to use profile default? + // Requirement: "fallback to user default". So maybe undefined/null is better for "inherit". + // But UI needs a value. Let's start with 120 or empty. }; setSteps([...steps, newStep]); setShowExerciseSelector(false); @@ -134,6 +138,10 @@ const Plans: React.FC = ({ lang }) => { setSteps(steps.map(s => s.id === stepId ? { ...s, isWeighted: !s.isWeighted } : s)); }; + const updateRestTime = (stepId: string, seconds: number | undefined) => { + setSteps(steps.map(s => s.id === stepId ? { ...s, restTimeSeconds: seconds } : s)); + }; + const removeStep = (stepId: string) => { setSteps(steps.filter(s => s.id !== stepId)); }; @@ -222,18 +230,35 @@ const Plans: React.FC = ({ lang }) => {
{step.exerciseName}
-
- {showExerciseSelector && ( -
-
- {t('select_exercise', lang)} -
- - -
+ setShowExerciseSelector(false)} + title={t('select_exercise', lang)} + maxWidth="md" + > +
+
+
-
+
{availableExercises .slice() .sort((a, b) => a.name.localeCompare(b.name)) @@ -275,84 +299,80 @@ const Plans: React.FC = ({ lang }) => { ))}
- - {isCreatingExercise && ( -
-
-

{t('create_exercise', lang)}

- -
- -
- setNewExName(e.target.value)} - type="text" - autoFocus - autocapitalize="words" - onBlur={() => setNewExName(toTitleCase(newExName))} - /> - -
- -
- {[ - { id: ExerciseType.STRENGTH, label: exerciseTypeLabels[ExerciseType.STRENGTH], icon: Dumbbell }, - { id: ExerciseType.BODYWEIGHT, label: exerciseTypeLabels[ExerciseType.BODYWEIGHT], icon: User }, - { id: ExerciseType.CARDIO, label: exerciseTypeLabels[ExerciseType.CARDIO], icon: Flame }, - { id: ExerciseType.STATIC, label: exerciseTypeLabels[ExerciseType.STATIC], icon: TimerIcon }, - { id: ExerciseType.HIGH_JUMP, label: exerciseTypeLabels[ExerciseType.HIGH_JUMP], icon: ArrowUp }, - { id: ExerciseType.LONG_JUMP, label: exerciseTypeLabels[ExerciseType.LONG_JUMP], icon: Ruler }, - { id: ExerciseType.PLYOMETRIC, label: exerciseTypeLabels[ExerciseType.PLYOMETRIC], icon: Footprints }, - ].map((type) => ( - - ))} -
-
- - {newExType === ExerciseType.BODYWEIGHT && ( - setNewExBwPercentage(e.target.value)} - icon={} - /> - )} - -
- -
-
-
- )}
- )} + + + setIsCreatingExercise(false)} + title={t('create_exercise', lang)} + maxWidth="md" + > +
+ setNewExName(e.target.value)} + type="text" + autoFocus + autocapitalize="words" + onBlur={() => setNewExName(toTitleCase(newExName))} + /> + +
+ +
+ {[ + { id: ExerciseType.STRENGTH, label: exerciseTypeLabels[ExerciseType.STRENGTH], icon: Dumbbell }, + { id: ExerciseType.BODYWEIGHT, label: exerciseTypeLabels[ExerciseType.BODYWEIGHT], icon: User }, + { id: ExerciseType.CARDIO, label: exerciseTypeLabels[ExerciseType.CARDIO], icon: Flame }, + { id: ExerciseType.STATIC, label: exerciseTypeLabels[ExerciseType.STATIC], icon: TimerIcon }, + { id: ExerciseType.HIGH_JUMP, label: exerciseTypeLabels[ExerciseType.HIGH_JUMP], icon: ArrowUp }, + { id: ExerciseType.LONG_JUMP, label: exerciseTypeLabels[ExerciseType.LONG_JUMP], icon: Ruler }, + { id: ExerciseType.PLYOMETRIC, label: exerciseTypeLabels[ExerciseType.PLYOMETRIC], icon: Footprints }, + ].map((type) => ( + + ))} +
+
+ + {newExType === ExerciseType.BODYWEIGHT && ( + setNewExBwPercentage(e.target.value)} + icon={} + /> + )} + +
+ +
+
+
); } diff --git a/src/components/Tracker/ActiveSessionView.tsx b/src/components/Tracker/ActiveSessionView.tsx index ec8d5c4..05c831e 100644 --- a/src/components/Tracker/ActiveSessionView.tsx +++ b/src/components/Tracker/ActiveSessionView.tsx @@ -7,6 +7,9 @@ import ExerciseModal from '../ExerciseModal'; import { useTracker } from './useTracker'; import SetLogger from './SetLogger'; import { formatSetMetrics } from '../../utils/setFormatting'; +import { useAuth } from '../../context/AuthContext'; +import { api } from '../../services/api'; +import RestTimerFAB from '../ui/RestTimerFAB'; interface ActiveSessionViewProps { tracker: ReturnType; @@ -71,6 +74,61 @@ const ActiveSessionView: React.FC = ({ tracker, activeSe exercises } = tracker; + const { currentUser, updateUser } = useAuth(); + + // Timer Logic is now managed in useTracker to persist across re-renders/step changes + const { timer } = tracker; + + const handleLogSet = async () => { + await handleAddSet(); + + // Determine next rest time + let nextTime = currentUser?.profile?.restTimerDefault || 120; + + if (activePlan) { + // Logic: activePlan set just added. We are moving to next step? + // Tracker's handleAddSet calls addSet -> which calls ActiveWorkoutContext's addSet -> which increments currentStepIndex (logic inside context) + // But state update might be async or we might need to look at current index before update? + // Usually we want the rest time AFTER the set we just did. + // The user just configured the set for the *current* step index. + // So we look at activePlan.steps[currentStepIndex].restTime. + // BUT, if the user just finished step 0, and step 0 says "Rest 60s", then we rest 60s. + // If fallback, use default. + + // Note: currentStepIndex might update immediately or after render. + // In a real app, we might get the next set's target time? No, rest is usually associated with the fatigue of the set just done. + // Requirement: "rest time after this set". + // So we use currentStepIndex (which likely points to the set we just logged, assuming UI hasn't advanced yet? + // Actually, handleAddSet likely appends set. Context might auto-advance. + // Let's assume we use the restTime of the step that matches the set just logged. + + const currentStep = activePlan.steps[currentStepIndex]; + if (currentStep && currentStep.restTimeSeconds) { + nextTime = currentStep.restTimeSeconds; + } + } + + if (timer.status !== 'RUNNING') { + timer.reset(nextTime); + timer.start(); + } + }; + + const handleDurationChange = async (newVal: number) => { + // Update user profile + try { + await api.patch('/auth/profile', { restTimerDefault: newVal }); + if (currentUser) { + updateUser({ + ...currentUser, + profile: { ...currentUser.profile, restTimerDefault: newVal } + }); + } + } catch (e) { + console.error("Failed to update default timer", e); + } + }; + const isPlanFinished = activePlan && currentStepIndex >= activePlan.steps.length; @@ -177,7 +235,7 @@ const ActiveSessionView: React.FC = ({ tracker, activeSe {activeSession.sets.length > 0 && ( @@ -397,6 +455,8 @@ const ActiveSessionView: React.FC = ({ tracker, activeSe
)} + + ); }; diff --git a/src/components/Tracker/SporadicView.tsx b/src/components/Tracker/SporadicView.tsx index 18633c7..6b93844 100644 --- a/src/components/Tracker/SporadicView.tsx +++ b/src/components/Tracker/SporadicView.tsx @@ -6,6 +6,10 @@ import ExerciseModal from '../ExerciseModal'; import { useTracker } from './useTracker'; import SetLogger from './SetLogger'; import { formatSetMetrics } from '../../utils/setFormatting'; +import { useAuth } from '../../context/AuthContext'; +import { api } from '../../services/api'; +// import { useRestTimer } from '../../hooks/useRestTimer'; // Not needed if using tracker.timer +import RestTimerFAB from '../ui/RestTimerFAB'; interface SporadicViewProps { tracker: ReturnType; @@ -26,6 +30,31 @@ const SporadicView: React.FC = ({ tracker, lang }) => { loadQuickLogSession } = tracker; + const { currentUser, updateUser } = useAuth(); + + // Timer Logic is now managed in useTracker + const { timer } = tracker; + + const handleLogSet = async () => { + await handleLogSporadicSet(); + // Always usage default/current setting for sporadic + timer.start(); + }; + + const handleDurationChange = async (newVal: number) => { + try { + await api.patch('/auth/profile', { restTimerDefault: newVal }); + if (currentUser) { + updateUser({ + ...currentUser, + profile: { ...currentUser.profile, restTimerDefault: newVal } + }); + } + } catch (e) { + console.error("Failed to update default timer", e); + } + }; + const [todaysSets, setTodaysSets] = useState([]); const [editingSetId, setEditingSetId] = useState(null); const [editingSet, setEditingSet] = useState(null); @@ -72,7 +101,7 @@ const SporadicView: React.FC = ({ tracker, lang }) => { @@ -301,6 +330,8 @@ const SporadicView: React.FC = ({ tracker, lang }) => { )} + + ); }; diff --git a/src/components/Tracker/useTracker.ts b/src/components/Tracker/useTracker.ts index 786a73a..95ab525 100644 --- a/src/components/Tracker/useTracker.ts +++ b/src/components/Tracker/useTracker.ts @@ -8,6 +8,7 @@ import { usePlanExecution } from '../../hooks/usePlanExecution'; import { useAuth } from '../../context/AuthContext'; import { useActiveWorkout } from '../../context/ActiveWorkoutContext'; import { useSession } from '../../context/SessionContext'; +import { useRestTimer } from '../../hooks/useRestTimer'; export const useTracker = (props: any) => { // Props ignored/removed const { currentUser } = useAuth(); @@ -61,6 +62,21 @@ export const useTracker = (props: any) => { // Props ignored/removed const form = useWorkoutForm({ userId, onUpdateSet: handleUpdateSetWrapper }); const planExec = usePlanExecution({ activeSession, activePlan, exercises }); + // Rest Timer Logic (Moved from ActiveSessionView to persist state) + const getTargetRestTime = () => { + if (activePlan) { + const currentStep = activePlan.steps[planExec.currentStepIndex]; + if (currentStep && currentStep.restTimeSeconds) { + return currentStep.restTimeSeconds; + } + } + return currentUser?.profile?.restTimerDefault || 120; + }; + const targetRestTime = getTargetRestTime(); + const timer = useRestTimer({ + defaultTime: targetRestTime + }); + // Initial Data Load useEffect(() => { if (!userId) return; @@ -247,7 +263,8 @@ export const useTracker = (props: any) => { // Props ignored/removed onSessionEnd: endSession, onSessionQuit: quitSession, onRemoveSet: removeSet, - activeSession // Need this in view + activeSession, // Need this in view + timer // Expose timer to views }; }; diff --git a/src/components/ui/RestTimerFAB.tsx b/src/components/ui/RestTimerFAB.tsx new file mode 100644 index 0000000..a1ddbb7 --- /dev/null +++ b/src/components/ui/RestTimerFAB.tsx @@ -0,0 +1,211 @@ +import React, { useState, useEffect } from 'react'; +import { Timer, Play, Pause, RotateCcw, Edit2, Plus, Minus, X, Check } from 'lucide-react'; +import { useRestTimer } from '../../hooks/useRestTimer'; + +interface RestTimerFABProps { + timer: ReturnType; + onDurationChange?: (newDuration: number) => void; +} + +const RestTimerFAB: React.FC = ({ timer, onDurationChange }) => { + const { timeLeft, status, start, pause, reset, setDuration } = timer; + + // Render Helpers (moved up for initial state calculation) + const formatSeconds = (sec: number) => { + const m = Math.floor(sec / 60); + const s = sec % 60; + return `${m}:${s.toString().padStart(2, '0')}`; + }; + + const [isExpanded, setIsExpanded] = useState(false); + const [isEditing, setIsEditing] = useState(false); + const [editValue, setEditValue] = useState(120); + const [inputValue, setInputValue] = useState(formatSeconds(120)); + + // Auto-expand when running if not already expanded? No, requirement says "when time is running, show digits of the countdown on the enlarged timer FAB even if the menu is collapsed". + // So the FAB itself grows. + + // Effects + useEffect(() => { + if (status === 'FINISHED') { + setIsExpanded(false); + setIsEditing(false); + } + }, [status]); + + useEffect(() => { + // Sync input value when editValue changes (externally or via +/- buttons) + setInputValue(formatSeconds(editValue)); + }, [editValue]); + + const handleToggle = () => { + if (isEditing) return; // Don't toggle if editing + setIsExpanded(!isExpanded); + }; + + const handleStartPause = (e: React.MouseEvent) => { + e.stopPropagation(); + if (status === 'RUNNING') pause(); + else start(); + }; + + const handleReset = (e: React.MouseEvent) => { + e.stopPropagation(); + reset(); + }; + + const handleEdit = (e: React.MouseEvent) => { + e.stopPropagation(); + const initialVal = timeLeft > 0 ? timeLeft : 120; + setEditValue(initialVal); + setInputValue(formatSeconds(initialVal)); + setIsEditing(true); + setIsExpanded(true); // Keep expanded + }; + + const saveEdit = (e: React.MouseEvent) => { + e.stopPropagation(); + // Ensure we capture any pending input value on save + // (Though blur usually handles it, explicit save should too) + let finalVal = editValue; + + // Try parsing current input just in case + if (inputValue.includes(':')) { + const [m, s] = inputValue.split(':').map(Number); + if (!isNaN(m) && !isNaN(s)) finalVal = m * 60 + s; + } else if (/^\d+$/.test(inputValue)) { + const v = parseInt(inputValue, 10); + if (!isNaN(v)) finalVal = v; + } + + reset(finalVal); + if (onDurationChange) onDurationChange(finalVal); + setIsEditing(false); + setIsExpanded(true); // Keep expanded per user request + }; + + const adjustEdit = (curr: number, delta: number) => { + return Math.max(0, curr + delta); + }; + + const isRunningOrPaused = status === 'RUNNING' || status === 'PAUSED'; + const isFinished = status === 'FINISHED'; + + // Base classes + const fabBaseClasses = `fixed bottom-24 right-6 shadow-elevation-3 transition-all duration-300 z-50 flex items-center justify-center font-medium`; + + // Dimensions and Colors + let fabClasses = fabBaseClasses; + let content = null; + + const handleInputBlur = () => { + let val = 0; + if (inputValue.includes(':')) { + const [m, s] = inputValue.split(':').map(Number); + if (!isNaN(m) && !isNaN(s)) val = m * 60 + s; + } else { + val = parseInt(inputValue, 10); + } + + if (!isNaN(val)) { + setEditValue(val); + setInputValue(formatSeconds(val)); // Re-format to standardized look + } else { + setInputValue(formatSeconds(editValue)); // Revert if invalid + } + }; + + if (isFinished) { + fabClasses += ` w-14 h-14 rounded-[16px] bg-error text-on-error animate-pulse`; + content = ; + } else if (isRunningOrPaused && !isExpanded) { + // Requirements: "when time is running, show digits of the countdown on the enlarged timer FAB even if the menu is collapsed" + // So it should be wide enough to show digits. + fabClasses += ` h-14 rounded-[16px] bg-primary-container text-on-primary-container px-4 min-w-[56px] cursor-pointer hover:brightness-95`; + content = ( +
+ {formatSeconds(timeLeft)} +
+ ); + } else if (isExpanded) { + // Expanded: No common background, just a column of buttons right-aligned (Speed Dial) + fabClasses += ` w-auto bg-transparent flex-col-reverse items-end justify-end pb-0 overflow-visible`; + + content = ( +
+ {/* Options List (Bottom to Top) */} + {isEditing ? ( +
+ + + {/* Manual Input Field */} +
+ setInputValue(e.target.value)} + onFocus={(e) => e.target.select()} + onBlur={handleInputBlur} + onKeyDown={(e) => { + if (e.key === 'Enter') e.currentTarget.blur(); + }} + /> +
+ + + +
+ ) : ( +
+ {/* Mini FABs */} + + + + + +
+ )} + + {/* Main Toggle Button (Bottom) */} + +
+ ); + } else { + // Idle state + fabClasses += ` w-14 h-14 rounded-[16px] bg-secondary-container text-on-secondary-container hover:brightness-95 cursor-pointer`; + content = ( +
+ +
+ ); + + } + + if (isExpanded) { + // Override base classes for expanded state - remove shadow/bg from container + fabClasses = `fixed bottom-24 right-6 z-50 flex flex-col items-end pointer-events-none`; // pointer-events-none prevents container from blocking clicks, children have pointer-events-auto + } + + return ( +
+ {content} +
+ ); +}; + +export default RestTimerFAB; diff --git a/src/hooks/useRestTimer.ts b/src/hooks/useRestTimer.ts new file mode 100644 index 0000000..6c2e09a --- /dev/null +++ b/src/hooks/useRestTimer.ts @@ -0,0 +1,120 @@ +import { useState, useEffect, useRef, useCallback } from 'react'; +import { playTimeUpSignal } from '../utils/audio'; + +export type TimerStatus = 'IDLE' | 'RUNNING' | 'PAUSED' | 'FINISHED'; + +interface UseRestTimerProps { + defaultTime: number; // in seconds + onFinish?: () => void; + autoStart?: boolean; +} + +export const useRestTimer = ({ defaultTime, onFinish }: UseRestTimerProps) => { + const [timeLeft, setTimeLeft] = useState(defaultTime); + const [status, setStatus] = useState('IDLE'); + const [duration, setDuration] = useState(defaultTime); // The set duration to reset to + + const endTimeRef = useRef(null); + const rafRef = useRef(null); + const prevDefaultTimeRef = useRef(defaultTime); + + // Update internal duration when defaultTime changes + useEffect(() => { + if (prevDefaultTimeRef.current !== defaultTime) { + prevDefaultTimeRef.current = defaultTime; + setDuration(defaultTime); + // Only update visible time if IDLE. If running, it will apply on next reset. + if (status === 'IDLE') { + setTimeLeft(defaultTime); + } + } + }, [defaultTime, status]); + + useEffect(() => { + return () => { + if (rafRef.current) cancelAnimationFrame(rafRef.current); + }; + }, []); + + const tick = useCallback(() => { + if (!endTimeRef.current) return; + const now = Date.now(); + const remaining = Math.max(0, Math.ceil((endTimeRef.current - now) / 1000)); + + setTimeLeft(remaining); + + if (remaining <= 0) { + setStatus('FINISHED'); + playTimeUpSignal(); + if (onFinish) onFinish(); + + // Auto-reset visuals after 3 seconds of "FINISHED" state? + // Requirement says: "The FAB must first change color to red for 3 seconds, and then return to the idle state" + // So the hook stays in FINISHED. + setTimeout(() => { + reset(); + }, 3000); + } else { + rafRef.current = requestAnimationFrame(tick); + } + }, [onFinish]); + + const start = useCallback(() => { + if (status === 'RUNNING') return; + + // If starting from IDLE or PAUSED + const targetSeconds = status === 'PAUSED' ? timeLeft : duration; + endTimeRef.current = Date.now() + targetSeconds * 1000; + + setStatus('RUNNING'); + rafRef.current = requestAnimationFrame(tick); + }, [status, timeLeft, duration, tick]); + + const pause = useCallback(() => { + if (status !== 'RUNNING') return; + setStatus('PAUSED'); + if (rafRef.current) cancelAnimationFrame(rafRef.current); + endTimeRef.current = null; + }, [status]); + + const reset = useCallback((newDuration?: number) => { + if (rafRef.current) cancelAnimationFrame(rafRef.current); + + const nextDuration = newDuration !== undefined ? newDuration : duration; + setDuration(nextDuration); + setTimeLeft(nextDuration); + setStatus('IDLE'); + endTimeRef.current = null; + }, [duration]); + + const addTime = useCallback((seconds: number) => { + setDuration(prev => prev + seconds); + if (status === 'IDLE') { + setTimeLeft(prev => prev + seconds); + } else if (status === 'RUNNING') { + // Add to current target + if (endTimeRef.current) { + endTimeRef.current += seconds * 1000; + // Force immediate update to avoid flicker + const now = Date.now(); + setTimeLeft(Math.max(0, Math.ceil((endTimeRef.current - now) / 1000))); + } + } else if (status === 'PAUSED') { + setTimeLeft(prev => prev + seconds); + } + }, [status]); + + + return { + timeLeft, + status, + start, + pause, + reset, + addTime, + setDuration: (val: number) => { + setDuration(val); + if (status === 'IDLE') setTimeLeft(val); + } + }; +}; diff --git a/src/types.ts b/src/types.ts index 335a2e8..720d1e0 100644 --- a/src/types.ts +++ b/src/types.ts @@ -53,6 +53,7 @@ export interface PlannedSet { exerciseName: string; // Denormalized for easier display exerciseType: ExerciseType; isWeighted: boolean; // Prompt specifically asked for this flag + restTimeSeconds?: number; } export interface WorkoutPlan { @@ -74,6 +75,7 @@ export interface UserProfile { gender?: 'MALE' | 'FEMALE' | 'OTHER'; birthDate?: number | string; // timestamp or ISO string language?: Language; + restTimerDefault?: number; } export interface BodyWeightRecord { diff --git a/src/utils/audio.ts b/src/utils/audio.ts new file mode 100644 index 0000000..80870c4 --- /dev/null +++ b/src/utils/audio.ts @@ -0,0 +1,41 @@ +/** + * Plays a beep sound using the Web Audio API. + * @param duration Duration in milliseconds + * @param frequency Frequency in Hz + * @param volume Volume (0-1) + */ +export const playBeep = (duration = 200, frequency = 440, volume = 0.5) => { + try { + const AudioContext = window.AudioContext || (window as any).webkitAudioContext; + if (!AudioContext) return; + + const ctx = new AudioContext(); + const osc = ctx.createOscillator(); + const gainUrl = ctx.createGain(); + + osc.connect(gainUrl); + gainUrl.connect(ctx.destination); + + osc.type = 'sine'; + osc.frequency.value = frequency; + gainUrl.gain.setValueAtTime(volume, ctx.currentTime); + gainUrl.gain.exponentialRampToValueAtTime(0.01, ctx.currentTime + duration / 1000); + + osc.start(ctx.currentTime); + osc.stop(ctx.currentTime + duration / 1000); + } catch (e) { + console.error('Audio playback failed', e); + } +}; + +/** + * Plays a "Time Up" signal (3 beeps) + */ +export const playTimeUpSignal = async () => { + // 3 beeps: High-Low-High? Or just 3 Highs. + // Let's do 3 rapid beeps. + const now = Date.now(); + playBeep(300, 880, 0.5); + setTimeout(() => playBeep(300, 880, 0.5), 600); + setTimeout(() => playBeep(600, 1200, 0.5), 1200); +}; diff --git a/tests/rest-timer.spec.ts b/tests/rest-timer.spec.ts new file mode 100644 index 0000000..69c5731 --- /dev/null +++ b/tests/rest-timer.spec.ts @@ -0,0 +1,150 @@ +import { test, expect } from './fixtures'; + +test.describe('Rest Timer Feature', () => { + + // Helper to handle first login if needed (copied from core-auth) + async function handleFirstLogin(page: any) { + try { + const heading = page.getByRole('heading', { name: /Change Password/i }); + await expect(heading).toBeVisible({ timeout: 5000 }); + await page.getByLabel('New Password').fill('StrongNewPass123!'); + await page.getByRole('button', { name: /Save|Change/i }).click(); + await expect(page.getByText('Free Workout')).toBeVisible(); + } catch (e) { + if (await page.getByText('Free Workout').isVisible()) return; + // If login failed or other error + const error = page.locator('.text-error'); + if (await error.isVisible()) throw new Error(`Login failed: ${await error.textContent()}`); + } + } + + // Helper for logging in + const loginUser = async (page: any, email: string, pass: string) => { + await page.goto('/login'); + await page.getByLabel('Email').fill(email); + await page.getByLabel('Password').fill(pass); + await page.getByRole('button', { name: "Login" }).click(); + await handleFirstLogin(page); + await page.waitForURL('/tracker'); + }; + + test('TC-RT-01: Default timer value and manual adjustment in Free Session', async ({ page, createUniqueUser }) => { + // Register/Create user via API + const user = await createUniqueUser(); + await loginUser(page, user.email, user.password); + + // 1. Start a free session + await page.getByRole('button', { name: "Start Empty Session" }).click(); + + // 2. Check default timer value (should be 120s / 2:00) + const fab = page.locator('.fixed.bottom-24.right-6'); + await expect(fab).toBeVisible(); + await fab.click(); // Expand + + const timeDisplay = fab.getByText('2:00'); + await expect(timeDisplay).toBeVisible(); + + // 3. Adjust time to 90s + await fab.getByLabel('Edit').click(); // Using aria-label added in component + + // Decrease 3 times (120 -> 120-15 = 105s) + const minusBtn = fab.locator('button').filter({ has: page.locator('svg.lucide-minus') }); + await minusBtn.click(); + await minusBtn.click(); + await minusBtn.click(); + + // Save + const saveBtn = fab.locator('button').filter({ has: page.locator('svg.lucide-check') }); + await saveBtn.click(); + + // Verify display is 1:45 and visible immediately (menu stays expanded) + await expect(fab.getByText('1:45')).toBeVisible(); + + // 4. Persistence check: Quit and reload + await page.getByLabel('Options').click(); + await page.getByText('Quit without saving').click(); + await page.getByRole('button', { name: 'Confirm' }).click(); + + await page.reload(); // Reload page to ensure persistence from server + await page.getByRole('button', { name: "Start Empty Session" }).click(); + await fab.click(); // Expand + await expect(fab.getByText('1:45')).toBeVisible(); + }); + + test('TC-RT-02: Timer functionality (Start/Pause/Reset)', async ({ page, createUniqueUser }) => { + const user = await createUniqueUser(); + await loginUser(page, user.email, user.password); + + await page.getByRole('button', { name: "Start Empty Session" }).click(); + const fab = page.locator('.fixed.bottom-24.right-6'); + await fab.click(); // Expand + + // Start + const startBtn = fab.getByLabel('Start'); + await startBtn.click(); + + // Check if running + await expect(fab).toHaveText(/1:59|2:00/); + await expect(fab.getByText('1:5')).toBeVisible({ timeout: 4000 }); // Wait for it to tick down + + // Pause + const pauseBtn = fab.getByLabel('Pause'); + await pauseBtn.click(); + const pausedText = await fab.innerText(); + await page.waitForTimeout(2000); + const pausedTextAfter = await fab.innerText(); + expect(pausedText).toBe(pausedTextAfter); + + // Reset + const resetBtn = fab.getByLabel('Reset'); + await resetBtn.click(); + await expect(fab.getByText('2:00')).toBeVisible(); + }); + + test('TC-RT-03: Plan Integration - Rest Time per Step', async ({ page, createUniqueUser }) => { + const user = await createUniqueUser(); + await loginUser(page, user.email, user.password); + + // 1. Create Exercise (Inline helper) + await page.goto('/exercises'); + await page.getByRole('button', { name: 'Create New Exercise' }).click(); + await page.getByPlaceholder('Exercise Name').fill('Rest Bench Press'); + // Select Muscle Group (Mock selection or just save if defaults work? Validation requires muscle/type) + // Assuming defaults or simple selection + await page.getByText('Target Muscle').click(); + await page.getByText('Chest').click(); + await page.getByText('Exercise Type').click(); + await page.getByText('Strength').click(); + await page.getByRole('button', { name: 'Save Exercise' }).click(); + + // 2. Create Plan with Rest Time + await page.goto('/plans'); + await page.getByRole('button', { name: 'Create Plan' }).click(); + await page.getByPlaceholder('Plan Name').fill('Rest Test Plan'); + await page.getByRole('button', { name: 'Add Exercise' }).click(); + await page.getByText('Rest Bench Press').click(); + + // Set Rest Time to 60s + await page.getByPlaceholder('Rest (s)').fill('60'); + + await page.getByRole('button', { name: 'Save Plan' }).click(); + + // 3. Start Plan + await page.goto('/tracker'); + // Ensure plans list is refreshed + await page.reload(); + await page.getByText('Rest Test Plan').click(); + await page.getByRole('button', { name: 'Start Workout' }).click(); + + // 4. Log Set + // Needs input for Weight/Reps if Weighted? Default is unweighted. + await page.getByPlaceholder('Weight (kg)').fill('50'); + await page.getByPlaceholder('Reps').fill('10'); + await page.getByRole('button', { name: 'Log Set' }).click(); + + // 5. Verify Timer Auto-Start with 60s + const fab = page.locator('.fixed.bottom-24.right-6'); + // It should be running and showing ~1:00 or 0:59 + await expect(fab).toHaveText(/1:00|0:59/); + }); +});