From 6562c1527bd07c925b7fde2301360be8dd4ac189 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Thu, 20 Jul 2023 17:33:35 -0700 Subject: [PATCH] Update darkTheme (#781) * Update darkTheme * Add font color variation to IconButton --- front/src/generated/graphql.tsx | 13 +++++++++ .../ui/button/components/IconButton.tsx | 13 +++++++-- .../components/ColorSchemeCard.tsx | 2 +- .../ui/layout/top-bar/components/TopBar.tsx | 1 + .../modules/ui/themes/assets/dark-noise.jpg | Bin 0 -> 26053 bytes .../modules/ui/themes/assets/dark-noise.png | Bin 7680 -> 0 bytes front/src/modules/ui/themes/background.ts | 26 +++++++++--------- front/src/modules/ui/themes/border.ts | 10 +++---- front/src/modules/ui/themes/colors.ts | 3 +- front/src/modules/ui/themes/font.ts | 10 +++---- server/src/database/schema.prisma | 2 +- 11 files changed, 50 insertions(+), 30 deletions(-) create mode 100644 front/src/modules/ui/themes/assets/dark-noise.jpg delete mode 100644 front/src/modules/ui/themes/assets/dark-noise.png diff --git a/front/src/generated/graphql.tsx b/front/src/generated/graphql.tsx index ad1149913..d190e0081 100644 --- a/front/src/generated/graphql.tsx +++ b/front/src/generated/graphql.tsx @@ -327,12 +327,25 @@ export type CommentThreadTargetOrderByRelationAggregateInput = { _count?: InputMaybe; }; +export type CommentThreadTargetScalarWhereInput = { + AND?: InputMaybe>; + NOT?: InputMaybe>; + OR?: InputMaybe>; + commentThreadId?: InputMaybe; + commentableId?: InputMaybe; + commentableType?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + updatedAt?: InputMaybe; +}; + export type CommentThreadTargetUpdateManyWithoutCommentThreadNestedInput = { connect?: InputMaybe>; connectOrCreate?: InputMaybe>; create?: InputMaybe>; createMany?: InputMaybe; delete?: InputMaybe>; + deleteMany?: InputMaybe>; disconnect?: InputMaybe>; set?: InputMaybe>; }; diff --git a/front/src/modules/ui/button/components/IconButton.tsx b/front/src/modules/ui/button/components/IconButton.tsx index e240d4fc0..fa1b5d3a8 100644 --- a/front/src/modules/ui/button/components/IconButton.tsx +++ b/front/src/modules/ui/button/components/IconButton.tsx @@ -5,13 +5,18 @@ export type IconButtonVariant = 'transparent' | 'border' | 'shadow' | 'white'; export type IconButtonSize = 'large' | 'medium' | 'small'; +export type IconButtonFontColor = 'primary' | 'secondary' | 'tertiary'; + export type ButtonProps = { icon?: React.ReactNode; variant?: IconButtonVariant; size?: IconButtonSize; + textColor?: IconButtonFontColor; } & React.ComponentProps<'button'>; -const StyledIconButton = styled.button>` +const StyledIconButton = styled.button< + Pick +>` align-items: center; background: ${({ theme, variant }) => { switch (variant) { @@ -61,12 +66,12 @@ const StyledIconButton = styled.button>` return 'none'; } }}; - color: ${({ theme, disabled }) => { + color: ${({ theme, disabled, textColor }) => { if (disabled) { return theme.font.color.extraLight; } - return theme.font.color.tertiary; + return theme.font.color[textColor ?? 'secondary']; }}; cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')}; display: flex; @@ -115,6 +120,7 @@ export function IconButton({ title, variant = 'transparent', size = 'medium', + textColor = 'tertiary', disabled = false, ...props }: ButtonProps) { @@ -123,6 +129,7 @@ export function IconButton({ variant={variant} size={size} disabled={disabled} + textColor={textColor} {...props} > {icon} diff --git a/front/src/modules/ui/color-scheme/components/ColorSchemeCard.tsx b/front/src/modules/ui/color-scheme/components/ColorSchemeCard.tsx index 9e0127476..76174d186 100644 --- a/front/src/modules/ui/color-scheme/components/ColorSchemeCard.tsx +++ b/front/src/modules/ui/color-scheme/components/ColorSchemeCard.tsx @@ -8,7 +8,7 @@ import { } from 'framer-motion'; import { Checkmark } from '@/ui/checkmark/components/Checkmark'; -import DarkNoise from '@/ui/themes/assets/dark-noise.png'; +import DarkNoise from '@/ui/themes/assets/dark-noise.jpg'; import LightNoise from '@/ui/themes/assets/light-noise.png'; import { grayScale } from '@/ui/themes/colors'; import { ColorScheme } from '~/generated/graphql'; diff --git a/front/src/modules/ui/layout/top-bar/components/TopBar.tsx b/front/src/modules/ui/layout/top-bar/components/TopBar.tsx index abcf31757..a5b2ae82b 100644 --- a/front/src/modules/ui/layout/top-bar/components/TopBar.tsx +++ b/front/src/modules/ui/layout/top-bar/components/TopBar.tsx @@ -78,6 +78,7 @@ export function TopBar({ icon={} size="large" data-testid="add-button" + textColor="secondary" onClick={onAddButtonClick} variant="border" /> diff --git a/front/src/modules/ui/themes/assets/dark-noise.jpg b/front/src/modules/ui/themes/assets/dark-noise.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fc95715e9d469efc3d977509c986163270c8ab9 GIT binary patch literal 26053 zcmbrlX;f2L+bz0wIzk8t7$7mAfdmL4ViK$XLSYCR16mlG(3GH|6_w7YAoWrhLXQDM z4+WGUs0b8AqX=RH(ilQxQ(8qY2!Uz~#TKOivZ>+p!ksFTsBPMxLU3kmgL3p_{i>=-KTStTZ%^TUgiL zuT8f1d1n+RevUDw>|L~c|KHI5A7uY~z@-02$o?0w{}0zRz`~)ej|VpZ`@v_2cLXC2 z_Bw7EvI#mtEMJ{7R?FCpaqM*sUM8_s{{t>sJ>$J)bYzNqG4&_0-TB=dWj6F@D+li7 zL=~oeY@t}X1(bPjN4VpOxdFQ+kNrf0&)`*B;wu$pVZvi)8pD2F3(k$yR@?97Teu3a zI{>~pe{y7|Qu|;+W=@IC&d?Ys(b;=svaSS+0mmKvslG8Xk3zoVlehXkb`eC0^AZsv z*@lxKw_SECe@{8P%?lGkzj}W!gQO*wt%vp1U%h`Dys`uI!}{6hW6U@a2QBe7lM)5W zEbCpTOzZ{VJzVxLvrW|{-;S6b@p>6aT6@Yn>C=z4wOZm}$VYqHQ5TWNz^9)YVxH4u zDHYH+i+8Qw^@*OrGUv7CfBiU0*k%YDN@W+VXA;p+po34P__d^?3$Zzz7@K6AyupwI&sk2XT_1jC zIzm0t%v*1FDB^vR;13l@7M{UNx`$t_Qi-G1NlF~m!W?eV`a!ROIenB+i&pa~@t4WO z=LvXPHvC-d$N8jrCA~sCSj^GG&uS)72`E)Rb6@}FwZ&?Cdb~1SioR650yyxD;ol&- z1JY+U)J!<%hZ?P^>b(8_fu~GDdpOHB)m3VjRzitHoQ+T%6x69|HcdWRsHlYw?N(Q6 zBTnwRpln^+*H*F;IQ8NF>24t;eg8iKkHZr(5 zOk#B9bn1VcLN@#nO)LW3Ljm4FP%_*vDfaK_F?a&}MQXh@W3!K(>oy zX*1k3B^yBEBL4l!Y2D{-EG?z9Z(n{dhwjpO&#E-&NOs*a)KIpIi4C~%a}56Ffw3o} z%H%5UBcn{HeNL*qsr-yx!lDEu|$O-d(IQyw>~kJzOi7x$LO5fnN3 z3o-E}9oZHpn~cEB;h$$gEn;??SYkeV%$%>j8z=8B+<8P1F+;`y{!phJ=y$Q!CjEvF zi`w!tu5oryzLJd*D%}?V#u-FI++v9^7_vLp9r~DMvd2OyXku8FN-NZL1ID#*x;tFb z+kil7xNU`j@5yl_L(Q3liShnmEO2c74XD$sLy=Vp!tl-Nw>%GnS1+?d9*T~OsZdL5 z*jVbfO1$Ra;jX~uwxHvCDYwEaMyQVlTR0#%UhC{x=^%SNFZgZXpBtj*ZoZ771^dH~Cm=_z_%mRAuI(an1?oW%@CfUcAhNx+993D$gwo|k$ zic#8OAN~2uukXOi5fZI1KDeLq7wzyZ_iAl?$E~k^+ddlEX)Sb*-ht@DvWX{@l%~JCs8AO23+pa2Qv#9BX>!Vp24vV zvz8a^$DXz%M@-Nt_3?pfC%p;NW;<1_mSMWfk7dL¬?5MdcHkL@;)EY!!ECpJ!V zh>UtnT_xjev_;*iTxkzv)sV& zjOpj)mWQ#DPrxbh^BNNNg*=n?IofGD$ibr0Rp?Lo^uvzu{2P)T1aF-26(}`w!h?A~ zy732Fetpg>?Xa78OGt;KCxFLdLMoRIggwg)lc1&-x%IKUiGc@>E_Jntrv{zvAuo97 zKB0(sPMVRg6uuz$Qex;mP&CBQ&WNR>7Fv=R^G)@qr9-pM<+OqoHYC)K5Ww;$g>&lo zyRw>zD%XYKAs;+By(sXOUDA0VfjWEC+2T0nM(ppuHcQfp%6~u$)zhLeaZZK-K7)pb z9m?-pJ*V_6O^n*=2M!;|8&|oyl!E5-KzkyvdPAg>(i?EaQcXw=!+AK-OspfCILJ1z zz;e=q^iTn3nprj1Q~hRn5g}IwrEFR-zfOYpLoVBsL9#41%D+f(q$oLMQ_^27hcmze zjH6@l?BAglJ(TJ)WT9oD(fxJhSSz<76Fu$4Aq&_|8m=vCLdo#lSi=6q#$bdfiFWpZmxJTPk{l@=Ht`7oyMESyT=*>lE%q#J}d=XY%c-DchA{V`O}PL^7pczYVzEpROsoOQl>1mf3F4CIFtb7HehrB z>;OWY2MKjvs@*;A)=K{D#|H8WPgCp~c0Uw*xmpgVq%6lyR_N|r8SXcggr_tCp}Z^z zPP!6`xBz@oIyal8T27~o7(eu&#kh!Tv4p3}<~zam`ruhh9&gI%6)eqom=J6XJb({Oecer=mIOyc#mD8===Tv6n>U&v(9iQKh?Wf3sH|X_oREQrI@@KQb zKDkNJF1v<(%`$!^hE-c~Fm~oDfNqMkPP&x|4+M}33A#*PVV?);P(>K^@@+#F6-xCv zA+B#L{r;f8t~ocHHaOCDD=H<{*(6#7lbcG&;lx0biC+Xup?z2ABPBx1bXnN|>UB1V zkT^?^T8AU$S)&n7rzq%_<@TBOlAO6tYYrh7#48&!a2)ua*-XJFRpHMBjLqzI-vn7` zm+n{-2M7eB?8LbbrB_#wut)A4_Rl?R?`vbEdHVp7dtSJ#z}?51T~rqwJ54&cX_TfJ zaEbt?UxGaZ%wHKZ~#Jjgs5TJtZtBa0)ceJvdahSPm2J?!nQc`Te$g z#?{;C8cD1w2R@u+KKzD%0V%6r23@ZVx~DJS;j^@Me;i1E1~oNE0upBH{2a`$#^eQr zd)!WMSIqu;tGX%9sTTR!hDh{KuAiv!bNJqmWn0bEN(f^w{wXUV03Oz%Ob^$j$t-I+--y;k9YndvX{9PCvk<^y{w^8lw| z8R>MEsEsoF;8Ni)d|Vnca_=A|lT@=DOMwPRw?rOzjmh{fN3m<*lyaenx1P>S-E>08 z(fyB;kCpzp?vs>X#a&N!>C1e4t-0BAS4%-cqZsTwE1x=1Ql$4aTeRG*PCrCRxo1i% z<-lyOelI~1Iaih^KUSwnTn|lpZYyQy%ytX7jR!Fw(`w->G4hS4w{d;dSD4w#wS{lh zp3=r}-A|_jD1erUO#KIpKKSf26G0#C#k!jZ;TwG&%6wxG;ZC)vrN5&|MKe5t!=)d> z5@b80=lXPSV+-#$_XrLGqEtEwzqF^@M%G!o)5lRXz5?U#d=fu~t_9ZQw|@^#fA*NG zQT*OlvQ6H8YxY*ngnO)FFX+Y!SXrwq_8TScuJ5q*t2Ioq3bg%ct z&IbzmXQi3BvR%c@5)oH-i08ByG(>dGwVs#=W3NZr;{E*SzhzGI-WVS(aj}L74S`HMovCWROotn=&Fv)97->RRuFMSc4@+R`h6o>()K)X z&aAF0^8TZ$xNv{8gTmz0Wyk)>-`n4tZ#t~z0ZfS|u}S|fVS21!(uqqH*#)DHXKU4t zi~}qP0$iDCdOt1k7P`esdnMzeBPEM?7Y1LD0#j`1$z67D#w|#GhB5nDU8a%^MFd)5 zQahIi0$iF6aoWe|$I8_!^QO$=5yY+K&N64%2GmE=&PHkvzk{=!^1WV>JSWD2H$Qe9 zt!P$n(37yhn#ekr#Vj=N3fXbUf8=DONch~{*paI=`9{h?(NQXT&mIDGsI;=^3!k20 zvg_CJ!Wh`(u-jHHRl8UT!mliZA+9o}KHf5W$rOrV2L1al<^hp#y1C0jEEs9;T;bj7 zIutpLGuvd&HeEL%*~ist*=UAmyUf%#POd8V7!%`Oy7!cp7!kNr=5Bkzvs#fw$0KFK zn~)8iJ(Xp_D`bld=fKk0wR)AHPp3C&qAtM;TeYNnzjI#`!GMpfd4p~4JCbD{sE@=P zvn_LW(DyK}N9ILxGXRee*lwAV|E@v57P9ZQxAW7uWJV%r_vAg!Zb9&a=81OWWYh)o``wc;?s`Z|i{@)^q!q$8-v-)H^3gBYO;;*C-^%QK zYh>rT6F|?eJa+8Fi*1(V#A(&_!Ae<|=LY7rz3VXqwl+)fz`O*^~2G5kTewH;BH_Gu`0TMyCMZ5iUq6O7HhI0)=z@Z0z#f<8*tMMGub|FIxD|9->_rHUeb2Awps%BfK7c^HoRp z0x#nh&wOsu9>u}4(eMD$wOoeD^0!xvkJ+x+8X4sDV|FE|-|53lrO}Yy3!Kh&goALXvNHf)yHw)E=e1l0-%0}0p3q}8 zc}(_bid7`OL9uAYj`yZ|0Yyi{CjtwL*tdeq?OabrT|Rd$UE1O$++6kbk#IOM0a8|Ls2)X8BnhCA<98Q233_}t0msBC z`lTwb7Zru#!l?lfd+u~e7764d$U}6FHA$B!m0e>`PQg-?seUw*(ENv=S0em)2v}fB zZzD8G!#8r#*0q)#{scM3C1@nZtlv|lKlnzXpCOE$Y3Qf+j`VM$Px|kS(aCQ)TGmtx z*ku#|ZmKjvM;bPQZRDoNk>DoU;-{{!dZ&a!ewYabYT?6apL%Z%bnm7j51f7yabPJr zYFcM2%Br+T&}@WFXyuMCERUU3NDA-xM2aKg3wgu7)?*NSFMtiI{Nm!7>V}O30d5x4 z=*LRVf9O9-Ijt}6kA}7hFpI~Wu;hcM(6O0k@p3zFNleKsPQP|Vf(z|br<(`i>YQx4 zO$|reGT`H!MyE~oI?d%V$fkQ{`OH-4U(eb|)HY$g4gEO9VRkHb<+n}(K(SHy3pNP8 zbjR1GMR7V#PDu;HZ zfB(gk3TSd{2hS($eB5DeH%IS*CIg%G=9`cfJN3*)ZtS=yk*52X$kgz9!X!yok4f0vF3l{h*c-thpNlbP z?E1#(B3=wGe_M*_P>2|GZH_9|JnF@e)P8iD8Lt`B+zZUfxc`fzSb0K1RT;Kvz0k5fub0=Ac%H9?x z%HP@~9=vifWGdt8+{RRX)iDWp6PQKY_+!;*ED)0DwP!#$XqPhR{z!Rr*snSXKz4Q$ zBxYP}SD8ePvS8Uek7Z-h3NWylGWHw?68Z$3K6KZP2qM-F4w&cd&d(D1i@gssXy3@8 zvqhfgRE)uxv74u-il`eTJ}wITQiR5SbIEALj*-iodlpQYBnO-aks zzQXlv1G@4x0e${fyu|fab0R#%q2`3{QsL(EHDP z5vUWE^aS%>GjyacfemJ?)#QAnYl5SUED0mJ{8%iudo`Q#Q&9lo8LV{;QPQ*|a<0f% zJv{H;6C7)Ji=M{!w(^24OAuWl6&ZQ~WkC!$zp!;oX(YI{dfJw;=T5>!;Jy`gpAlPs zwo@Wvp7x|$G_~2@`{D_d8erQ8>og4d2fQk@b?uw9gAO2AdmAzo`|VJ#mXY{cMBhBl zG1#HZ;qZ=5bj0OkUcPq;Y14w^;VXePPH?to()GaW{OgbPt1AB#-NJv>6m;CB%uxa9 z0$0`#R{wDgkIx?-7HdOCt3SH*g~=OzT6+s~hzXTIyJ+UucW>2?o&t*nZ z0W*DP^4H)D&iQOjW8?EOnUPH{fXqtY=^t2A1qEhcD{HmPY8kUf&dPUK>U9UsIrMO9 z<3x3NWgOGiXRiMNAkNZ{y1$pw;hfThT6z^p*v~4B%FQ*eHn=CzU%*dI)qmdI4RJ?Q z#XafiaO5=lt8~lab0Pt}W8hz=&GfWaLU!Zp{BiP)zedS?FU*gXcX*z+_JYg`BOzHe z3yTvLpFuF2W50cB^-@ue@oV(=_n+CC8MgfkalY~swC{bGnsdZDzrw@$A3dD2Qh$XR zQ-D~cCdeM%Qup?M_TF`1Y<=hwScqp z5aiCp@P!2N*|r7!?InVbznp0u;%HSqgStbzn?V088xF>IKK>n6bd0r58w%8%R=o;p z<7|7-Z5NoJbE!2r&al0t*`tjw!Qzhab=Z0gU|7A7CK_r<8&0w=cE-sot8eUgmElq0Mfg2sIl{AL0OO(gd?750 zoBEL{V9P<`NYu6>PfdhD<~&|v7pO0uDfxRLqVIwQ7oBifo7t(G69Bal(zeK0!^B(W zRZ(F9(|NaeHi+nqSrJx#P86R5@R}lYySw(9sai-PP#f8`-wm~DMvY8_sXoBxPVeiy zH9LQNK~>VM76zg8U=pPVH7FWNVvP8}NcryxVO~aIksb!u3^NWyVs0kH)?#BRfI3r! z8OnWH@m%p^5hCsDua;xO7EQFxL!Ko5qyWBIqhac5My zu_d_`5rq;I!zBw&Ge|bDdd$JL{>37%N796cx87e8fdgv4?6?=Y<5{6EZE5;DfJaJa z93s{{5ae^PvwR|9*VU_`mrw0y_~6ab6q9EC^sUs&?-|fLoIiVSZ@xvDH<3NHCAeRS zIBEXDa4({BHELUmi$E z_1hR&)!n(^%V^(Xk803Pv>)!d#39?uswhD{+gy{d#DT;`n0fM zkpsHpJDO=%?8&FLh~h}Rw3WKER|TmFgMi(o3mmcgHdfCy?-c6S?^kx` zdy7+kwjLLSc>jdt${{>6li(}S`;V>xus1a5vXEX6Ec`emz?9NwpCPU?MUNh8l~S)C zHdN+C$gk{O(*(nMG(o(%HEnQEkKH!(u1& z&UN!{(wp+$U%mP?LWe+gxLPVVEzExjklTtTpIBRmOS3GAcd43z(13BM>&boN+3N~; zdw14;N4e_m*^xtfiqTA8i<@P^Ho>sIbKR1??DesS-m~>Cw{KDk@w1PpiI>mVROZaq zm19~OAcp-ftCnXAw4-K!FDi|v%20)7S#N|oNCgg<+P%5<<*&cvB<|21pD#Dw7Z(ve z6sm7pV@8TV=uss*Q=OyPg+Wgz<-+$=O7oW2D;y@!hy@Ax{jgDBQL5dQwuUXZ~pWqn{-xm>j^^WsmQ{PWp`Tg{;z6wh0!N{R1^PYaHKXx9Jr|0R z0pm#}u~D;`JJ|vcazVEs5TwddhLbQ#wOwjhk-pdFgJaBhxZ%Lt;fA2$8SLGlF}BZ{ z&u(fzh{;wZPF{!Yi$FS`z5UQ{2jKjL{=u0!)ti;}q^u#Owr#p^*p#16^g3G<4SW)B zVaD%!l#N`r#dEWxpP;OT6}pu(!zWM@Q{G%(CgvD%mbDg0UokSypAZo-9*r5hB>MK%zteY+v6&M zM!?bHn)(f=8Oe+GnIbSd5ck#@Vb&-MAW64=?p?jzd&bRkuP9B%v{%f2z;S(gTm?Xl zTKmswa2f{TDK0gf3v@+)z}blv*T7Bp$j_m83iKV|4(z)4qrZWZK|69JGMG6}dClOG zNiie`G#(n1JgsSRJ$ENaQ(|wz6y2OF-A?|dW;By{83WMA(}AtM*;oLv^0ObM)ZZ|4 ze^NQz8c{O{R#yr)3$0chV{eW2Ms&TD4f?P*E30TB0$I~DSS&54*D7AF%K9)P37QFS zjtuHrK6!Q$&Je%>8M_*m(0Ev3B$UOO+S(R@vAhAATz=|M^qh-eJ&Aepi&`dp*5d_nyUaIPHg?s^o*GI>;eSJqm!q<_z*xS7yT|chTeW ztxJ+B*+nV``la)$;@ENUMG_nD;K+Tt$>R{y4!RN( zZ9_SORY{fB1(kRz5SNxjzwwAj?AEKGuJDigwv%m_-DJC^YQT{qh50E^~`PY&pf7 zY|xHb0HZtCXMTa~zXRSof7(%4P1S9qC!cjFyOe0MI#z*wo~^Xo${09CVi@d!@gd5U z(l^Pz3FOo0M;FRTM)4)a$N4}z>$7F#YO+7ZrT^|l?92`qUbb?=Ge+IDm=z6aed?U4 zPTOv%@<6N?un+o25d6cs3*D%2>=qO2NZ!TDntUQQ&AB%HdY=dtmUW^6dBpw0HPAYX;Du|yHk0BXnkd@SgO1h;rPmPEhOwpfSihR#z3OyUe;^j}PfQDsLq2CIv z6<+JAu1`;5;ywnyU5NBf_~FjWlGqOR`j$5Ak$6Jh+3qfR0op5prax(0xs1SF_xWQ0 zD}oxdGzCY}68uK3v4V#$9rxS)XRiw^7oS64)9h@zbK$ zme#y38o+^PUV|Fd1Ps1HLri;IqNAVo#P3Dvq^mb9B%o=@pyqiq+W>J>gjlD&SF~3@ z1eX}w?;B?4^uf~{N6{mKu_0wA&0w1#9dSF&*|_SI=iLcdVY={gBZ>4evGyTkQrRgUJQ?wlx!#0levE z2l$6$l~wZgc-un4YM~r~R^pKY)Ti|TU1ooN8~670z_+xd4rW-YAJ7L&b+OIGzno+- zRq5Q(yNSQyR~VS$(rHf#lI(nCtaWLH@OAY$H?@+-)kJidls@9m# z(Rq7L=i{ETX3t(J2h zXleEM2i&My_O^O?>5KYVG8Gn4#G-=1ECzJ0v@l(_))q%?D5VY-+qTcnY?1haV;Iou zwU!au-FT9Ew8TJI2-EZi5dVzZ&Tw94Q7t4y8O}V3F>Bz@FYQ)8cVJzes~G;2?B?FP z=jmo1U}xcdtBv92n9cK^7=0$tv?*)Uh=c*c5r5$Y{!9Ue^*WON06ejPpl=k? zdLkxm?7l}Ek7Y#A1;}zy*tlvvNa9jWo!c}fHn7Zz9_m+z_S>E$VFI%bhBa?8;I?@6 z(j*7neyJ`7HiFkf}^EXibprs@s{akFTw2kiSko3 z-3vu|-F&~hMM<8Yc!v*JknPPM-*S;SZ*=X?NIpeC=jp8mqhy0Snc0}&woxip+e!lO zHXBb+f5|a(!vZSKQIW>LwG|6@{eP+k?olP zm`3o1j98r6e*jC<Pr6t3YLH1FG#~L!7r5w!Us)ybykT9-mUs1o?_qk$HRQsy@&4VdDkbZiqS0^0;HctatqIvN<GS4hMS1s)80+j6Ufwp!eL@Bhjo@iI4Q(=T433g;f>T>5|UmR!CbeJ!k^{s_9!w%P5eA;9H#^3X)!q_6N z&N6?-Q{syW#C``HkTh<)=3biJu@B;ksS4~7Q;~GyuR}shSQkeh#wRiCj=m0APgB*~ zAS*Xj@v}4hRQx^_8aRL^FSP-m*nw-8l?7;O)S5n)v&arsgs#X@ zqJl|E^J9l!uyw_TWFBr$ zjEEhBH#eF6gnx7KQ(J9&JiQqP^rgRZZ0-o&(h#j?i^RW}>6P62l&V0s3jLQY2h&$Z zySTgLfXKT-Ywjuomev*LKbtVrK43Qu7#Z*M53N|-(p=;$?~^y!#45(k=S>UofltTf zpv>CtMMBP{i*;9Thz}`pU`0BeC9~Xj{{SjLxeB>Q-&&FMywBZvsrWt&@zv;^DY%^* zvLl2KgL!?>WF2>y4!XNtwG#NUiD#BT{185-6`g?Ia*N!3zXwXQwHgZ6+@i@F*Jeif zzkSdz7w?Mht3|}f%11E0rAZ9*jDhrCJ*>f^`SW{hv>W^aup07}7!(HKwGrWQSZ~Q$ zqN8%a*4}7(>GYd}RuUWxm58KP{q!NuGd7#%mop&UN#1epNJ}3GJq9SorB5 zE2%RNJb!%ap#R6CaT;6Hu|Yxo3M3-A2f-}me&pQqiuEX`5xI>IYC)Z{px+0XI39d$ zU^j@w5)K<9%8(I+xt_8w%1_B+4`T7p0N+Ns;g>98Nox(?Yh(<<(~2qV`U8Bmt^TkC zS46b7#-i}X{ZX4042!*6)TC+}hM&@Qe+j{ABahUcoa)xC%5k~ZY1rQAym^Io^d5YB z_jf=rcB@;HSLGHfQ;fN^bfXDJVh$9RSXN+}ldxwn__LzyC?UVl&-n6(b7n19dfL02 zov{+_Eix3+-eD_zwqR`TIvs~3oe_xjT0=XUBXNg=R5skm)}B0qMn~*p=S43TK5@WU;V<xY!1w!`X}NLP;|x5%_D_tLs^ywLd+<7q%T5?Cf~=wkKnJ4_2Y$N!?llXhDv9kE?k>kXqOB?;uf(PL zyO2~IqkH#7U28dWrJw(>Th&{vA`R9yZ8=CY9HGC!SwbYO?(oi@6BYD0m1Kf_58mBu zAl6aA7_8+!5s=!O5dnf$%wT~9nQ;j9tFN)IXxRw}<*-gwZSTkI^UP$p8ry++8k zI~d6*cM>5Zf1&0!_$0x_$(K$S6*O@dQkGKwHH^7-D`Z*UH>+5VI8vxwf5YmIK^~nS zsbqv7I1psUiE$EbqZn{>iF~aqHmN>`O*5lJ-3JU6sGo&)czCC3_!tQ$0b7F0xw6@X z`#Gyv?ZD3-JHK63iFqC|tpiQ?oq#N3Mw-!3ml5v&cLAagi<{jm*}I zhF68cz(S*ElEEh=0GU6f9k!dlhya=id)YEThvMm$MPCkP%zH9~!wW4al?VwOQP@gQ zALHX8nu$ZJ+<8B!^#@#oMes5T3=M})X4o^&TYcekM=x2nKuP)i-jGFbxc%0a))S{y`$x9??lfW&RPL6!NL-7~1Sw@)ETW?o&$`fma zwMe?&F}gh&b>4hp81-dypJrhH*z@7k(3fRNARXJmjD2OWJ{#)FIy&qo9*=#Z|~$$p~LiyEpIty%Lk0c>p9fA zib|Z#3Y%4O{oorzDZ{B6mXlv72hILIsKN2Iy4YMi)`y(S&ap116}MTtedr@{46+vY zC_ThUW`(hTzdKr$s6~vI3V$j!gx9TFgeWATqfRml$j=S-%}w; zZe)voBm*enqCd;VR%M72lNL6dz&G{ZqZ}ObJ#P?7E2u?B5CKbPEk~4cH-AzrII>^sL$^)N`=Tu)rJ;Tu z$HIwuyM!Yz`Z$+ELbo`MD5k$ZG2VOHGvEwz&camFqC?V(M%2bgfZ@6v-fL0e0d)k{ zIzOXE`nk2sGvk6vEOtgi=O)}PeeYoq>}=9!{-<0b9~$q+aA^g;MO0{C#`M?^7)tl;O=mt+!~6Y}NmK^>)JTI5BJ5h$D7@&Gd^+qa?T+&jPQO zl>3<*a?z!VM2jyF8)9-e$)`7GcCr>Z?QRuNGYM^j?hl54EH>ypitazTcwx zjz#O1LGXCw79~Kj^c}Y;h!B`Dj*SJc1#fAQl3@VYegArWbrm4#XYpM zTg!|lqr$mu%mHTk4+t#iJ(5-fdyC#MCKZ+)tuUeh+st`FF3l~H-g5T#unw%D=^9Fq z2xB+@sJw{)*rhlFZT}}@3N(GfAn6d{iW9Zy5WSKl2c~jFaCS&-J7>!Zb6K|(i%xm+ zh^`_ZoJ@VUC6ntTXpH5ysDpxz4gxv&ZRF0cLtoOI%rjCl=G5E211Cz>!}OVjT@QJw zK1V2wu?l9nYlN)V1QT?3orGz1AZO7tDz#sCOXp9PHF=7h=3hJ7ZaHU~FyNrFd0kxp z)|P2KhE-AoL3t%(&wDi7Y@Ldk?*N9H(l#=d3>lSly3Tf)4mb7x%u9@Jr9x3iH5~sCNaPT@E(KO|;^Y_OU;sYf&|6M@g|!2jl5&3bi_5l&k!qM<=DW zyfVj;K+@AKEK#S4v|e+r+K1jnZYCr7hKax9;v7L7^yCn>ww2-GvwA9Vr+{Q(TwD<$ zdXgNr#jMW_#4RMPPk1j)hm_v6R~gBNPs%?ncMZ)a7IOfpv|sB~$V_2iAz_5{rjNEgqBVYO0ZRaYe&mZ$HYEwTFiS= zqfl1xAIc<28?!_@t6K1#BbSn*Kd>ARy5H3`y|1p742=NTkTwpi?W*X2 z^`^^@>EtNi=uYq*r^VqG7E`v>VG@JHv=JX(klKh1^>eWiH}qAL&Hqk_42}h8fIz}i z$v$s5!TOg8n41)P3zGOiHYKxpWV^*Spvb6$-{u@HC+@H>1Axvy z816*sH<=_~b`U_?+sIfB>u=QOJM3~G(%R-N7 zzi>E3g1RL*S322}CZSL6|NVJnN||~q4;INhHp8{{f}TjcoomEkdeoHBHf3+Zq=M^N z0u`jjEX4xnnvV$@kHfS^njZmsjNh+x#0IYO3k%+i1xi4_gmEM#S-h*viQt|br>t5* zkX63R9E)iNM@J42J`69t!Y38)i<*j}+`E@d0RrzhbHB@Lvof)$E*B|u z-_UC<%nqwID4#c$m^ekouu}sPT~AFsd)h5x58E}>mDJLE%>u|Iw3Ca;(~%v<)39B3 z;$sOuA$pUqrtR-0k5HskXtCncq;u-GGaXurY?VBhsR+*^SmQh0bcjw;gOzlg{cl`F*UIxeQ;ONVxu2 zz_GfEryftwKHFAw-BapOa?fOssu2*_th7x5Xc=uQDHL)e;F2au>4gE^CbV4N@16Vk zE3tsl)RY-t5i3uQfYl-+bvnfhKYsUArnR4{%A!KA*_6;H6As%;w$cLgiSUFl1WR6< z;1#&FR?2XO{0p@GuZkZWi?7IEFbH%aSu9R}IMKfQ= z&RkynZhw`P#Kd|v?DDft+5MBzg>0EU)qlQMgAFv0yZUm_e1Wm`EHst#{a#1G$&V7x z!?_;2X?q;K9-v_|_>ORue<9A+CO?f=*fxGYMJ=+!B+?;-01-~~h@7)~+*`>=J*#4S zB8jr5x@se4jYhsKKs0puB{!NR;+LBk*lzSp!{hsrJ+ru?Bw7(4L>*QI-G62fs0DW_ z$#~2+;@c1$^K-=?k5aG_XTk`vWWzspqABP4U&SBt)^}PIzcssFFmUxg2h0Uk^I`W4 zxwVG&C3e8n*2r%b-GA;wb|nXLqGhzMH>Gs3QdEiM^ZCT(vhWG-3eCR^%25)eWuDc$ zdbs?!U9c@b$QM1No!rLPU~DBb5}X$HN1WkZIC?F`H2#72hf|X4Oh~ueGnTkrlwtyAd(!5%q zH-E!9=f3ZA-PiS*)&pN&By!vW>m_Qn=`U8so*v|JoGMa2erk1+jJd=+%5U96kcJ^+ z3n#Yemck8gU@Ifmy2C@0Xb|EAPLRRqg3d3KUZ#QYmp%5tIwyD znLPp>$BlV5=9H4W$<5C*W3&=eV}1njE@l7M(0M;Qsp+oB&BMHT^oAfLKK4Kl>#B9yyPkqhjNm+l!nDWMgmCNp3T~Pbm^A$mU z(1<3qx_Ie>NA)9?%&$?$>{#=veQeZhgwgAYw8Z^7HV?Z~4;y%k^A5IMGYUpQy-PT7|8WDEhi*%u~(gl^7%&ymSWstom_X5;Jx*%s@U2 zalMLaJ53gA`$B)-Jz0w=3)l&_cX1RvqT4Bb7;V%Qy`1ulSSkDrv^$OavN^N;>Kf_w zwHbNf%;1SGGtI0c;|)NliD~DOwS>6TRu9H(3PpU+`EgRR1+xsH7b#H~>?mmZ%NOg3&zS4~w;%O6daY-r~{bTGu{4>Xzx3bteU7Ko; zTAn-sgsj5c`*UbF{L%%mjDXp z=B_1u!d5WXoJE|wwBCqz;y@r&k? zxV;JAAB8IAG)b-vH24&r(T_`8wm)Mcyj*@xG3M{1WA>j_v0=l9{v?g=Qx+4O(DcFb zKb^#*WJH$DAV=kIf7oFqE{6*60lgV_v)yE|g7wU2+~V3Yo<7th+*D?YB}gsAKIi4c zEmiz%u4j=)uJbZ;Df_DXWT)QtePFGH&{ADc=Xy`qTbjy9-o-vj$m`n_l@q(YldiToLcZ)eHEkd+H-+S5Zr2n)YSDrCJxj(?gsWHtO{ zEehz}2&tYnr^ZoK*{zS;pf_Jq?GAtQGiz@j@DTUlZojv;ec^s8Y0J+|TW^Zt%|nMm z4RYu!yPoSudqLu98hJKWt*O7fP`%$$N}wa^QrNyfmR*=j|W zJI_z~Ba|CLAfLqeB#Idy_aMmjSJN`q>+x?tlO*6-S5sf)s?RMJ>GSsE`8@y~wMUDm zu6UcM2{TCmgZKUW`4-M{ShXmJtGiR$#IWf|vh?U(O9WPw$F##yK0&yXvTNtHfNPE< z>tUJKvHI($u=U^@;CgZ(wOUs_s5HGGbZo=WF+Pcx#)Lq**sz5WPx zpw1kT={{BwRNA>Gv7uBuJG-OfEl-+^7iEM#@RWB!<*nH4LyY}F!vjxd^4trw{5+W}isU8Y1Zu~mP*0qD8n}g{S z4ja}-=FQvp>cjY9LYw}9G5-;RPs6+jQx0B}wU_8Wk#3tlWPmK~+SozZLS#5W|7Lx9 z5b8+vJxj($W_v}h0Q~SYt@;Xo(eoUWHts2qi^$>GG~HNPFLJLHY_!`s99ldK3rVbe zkry1%^0ikucJ%qy)J#0AN_9jm$rxzUJ}NMF=Pw(+*Dc!EGr8{@7BJXa$BY_(?9a?A z4?Z^M!vD?uW0R?`R`edHTCE@6%jt&_RjHGLQJG6cmQA({Go77`D(%ozgWiaR*+X$v zt$+EnosOR)Cfba|i`%cc$T#4SQS!%!rRu8znWqRz9h0?NM;FYW=|0)Ij2CMx?ue<$tjs^5&|y-d@Due*`)sm+#Vx(_&>SyjQdb zH%(4Iq#kPa=qUPEoL}tmkq);^HV7v1u!<+W>UQXV zpr7cO=az2VE_!4Zl?T)O=lu-pGDW|Qtt^xVzBy1}=twfMdi5|N(b-KB5Bn&8Z+6{P z(TJuFsWG?U*?ya;WbIQs@*>Rw?CD}r{inNRXWP^-dgK`cipK;SQe1lU^l@SV(D`^{ zU=jg`mn&D9_A6Ed1L&PcS(K(*kThm^VRh3$adXavc{#gqFQITFepOMdF9^X56b(b9 zqo!j)6?0R(ywZI4T7|{&bzc+jnIh5YIs_Z0TSo5O!%@%S)#vbS;HH^b&vMc?9vN@K ze+0*!4(xp2HrFPvj2@Rt8jW&Tb;ShXgVs|3vc&x-hd!uHh^8H#8Ym6XqIJL*bONl! zRck27_zIVH(Sj1^QNz$HXn!r*NVdAAX`VaDeG_Cuz#l443M%_@z6D^SGBynrW5P~j z7x!XEh8WTT?2xLYcdYv5&hfNZcL#&HU`O&qu_my{WdIDnSHN9a=Qq?9RdYg+S~jg| zGTKr7!9$7fK&^c&rg-$x%*4*Qu&8kaLe%TuAiSqsyb-K{q;L-pYfY~&px3W#J93Ql zDZH`LJ{oKY+yyRc)aHC$rr-)HK;Z)>{sYmNoUpZW4;K0Rl{@7)0P`UVo}&5 zD)_YnzEp}8&7eaWQMxe%O1?cml7xMWEcUhf$A6ELyD>*6&&dU|A_E4J+hWOpr}#!$ zvV`@Z*Q3kClI$(-Q_yO6mBL0%C>NLU^W^8&PSQ_}Q-*WSqcPgUqM`BSldHhf|CB2$ zhbRjUbnobjj-+v|N1@jdZXoMQEx<}nYpr71)A>o zBhXI;za94581<4;B>KB;3Y^Y!197{BaKw*5umywFU9S9Aw7Dn~7ftITwWcx{3E7L$ z8b>qCmU%VF2 z9ll5WTM8kE4PV*5Vr1>rjk%Quud@A_X@*-?drSpDp- ze$i2a=e;HU1z1gKw$sU6|92_<--&LR3X7UXgp+J#Khxg|mUXV#IM%k|CSE!$J8NR| z0KE*g+_}H6n1RPWMaZKs?)aQ?WM>%B70o zJDBLbUuUka>vqY+#SQWTaN=R__`^_VRG3U3#e3!A6eWIT#bvk7Q7_b@oL!6iW6azp zN@p;Za3`+QRAWNlY5Nr3C7uTGBTTUj*8r?SA6=|{r1KE1b{!9<%|MGX{lr^Q`%30Z5Y&^QF& z11n%b!he5}lxm?eMskBwOrHJ3247jG-3LVPrLP{+0v+f377Ho7f5-KxiPlmn18z)( z!)nn+Zd)wa%nQs^FDma-%W@sVW}*61o#>PuWiOzg1IU@(OFy85}(TiTtS&k10LWJ@wF7=`t$l3{^vo_56!Xr>mnKBMN) z?unOLYjje<-7Sqc6!rvc1Vz1myL;U~)c(-g<@ql78+R6C z##L@ul&|W_2RVRsC!nuS6CgNbICyj8+KtI^Kw-9F`sJM9KwlX)Q~o8uunc4&IWVpN zH;7wvGV4>r?ai&lsSvB)AJI0JV#XKrhxG>fovY^!#OU>Y6bn1rEIBW&V7I~Yh8`Kq z8Bd2B&F?){f9GNk%PKhZ7niohy8wZAP1GI2kkT(_+<7_7F_RT+P-@C|&gp&u1mfL8 z>f=O=8z@duHK*r449oM)&OCx7bsB;(7q-)}*HU%-8?F2xe)F~(T00*dKNRk01m0jW z`=W!bw_1<=rG&dnTn9 z&_*uKFDNq#qLhYL17OpJE5;$0f=(dU4}$kqGG$xQ^)Jbg!|=i_@@tvrIpZw?OO3Jb zF@oWpfWo1lQy&wVA9~%q#yT;7RTHP=DBauKiR4`?W&196iG$j-W^OE@{|U`C`1Bip z+V@yPid8KVvFWh%EJlWl=y4bewus#lyf#;02Mwo>duvAG#yQTAP4vr;nFi`iX)%Mv z`Nk^@_-Y^MO`cC-YX`gE-F9Jh3P=;zG88!YL)1F$?#6+{~*3BY>xq}9dH zlGP$e8n77CEmRPUxwN_qmT}hkj zhDhlDV()g9`!{7f!5yPkJ+=R_II=QPHr-TfH4ca}MMhKHPToSei0vnt8(Pk^dn_94 z|6v{osxED$tKA_?UPL&J6gSPW6{^quBP|iGe$xf^|FQm(Ta~D75}}$2zmrZX+gf@g z=2=ttWC&HNU!N#g>9>zF$Rfv)Cx-8pwnN+pO>{}$K~R~mp6%3{S;dYfc`xF?8FL3= zaM2)=6MT@SIbW`^T6~!i-DU53@w_c4;wHHCKn*%eW@y&e5Gf4;BmHy-!G}*3r=_9V zZx=02A9x`}Kil!uFbsI6wUV?|hs6pW@y7UUUOLGvxio3e%XvtX4^F+`Q&X8yW9@ms z-h7}kQn$}7AH5cCILM>|)RJ^d73jy&=0)@%z2@uAn_0vm%Rtj)*~yYF*dueuTdyaQ z44-aAG+k#O>u_>k$o2FxmTL%*X4jB0?a9)^!DkYZnf>?59MlbR_^$-GeK8xr@7RE# z;$u0&4eB8>IHKbXli%#-J19o0jBCNJ&E~Es-PGRo66WXa?{0Qcrg^RUv8TU{6#iL@ zI=R?f79>n;WT%*qu~cmZ{1!yX{oJix`z$mv^hq1baSHj0E4@Qj&R2(=o7ldSA6AM2 z$qA5NS;!dyKU9nEw6HDF7>OXB(cn;+LGJJ|V5W^X8N?|v%Zzx9=%>cr-dPmqt2Y_~IE_xD%9|*2KzzKvE3+r%<%e$0 zTj-?V&hKm-tZ>uP4}|JRA8X~;=NvF#59C?~|B$1t;XW+3M6cL1iJ1iHxM>uBH^0;* z$w<WH?yY5tv;S?Nt^MzOlB7(E%>D_6 zJdz`Jie0IZw@z2rO{?44dak#2nY|SV`h^Dgj6)BU4pq1UoMX>)Y8PzeTsv&uzr~@E zxy(S?BldaCn*QC9d*K4659q^;vgd2;MQKTK(@EJR^NKwOD8^A}59>h<*yi{Z(~$%` z?_I_ttIgTpbQaoKkIfQsp> zv*RmKZ|lY<`%Y9FiQS~-7i|TP$gl!P%kb#tbblJF)8UdQH|+4XPlK$-+I8TXehez; z7;wxbNoJWMPu~Y$@~6yxrMRQV5^To;)mmB?fZ39S;ViE1e|C|z8S-%~JDy0VYZ5&i zkKJrTyI12>mlbYQrLpX(bPE;v>}p#7S4yBoV}p2H~1(3#pw_L~TY)sr8-gwh1j+jJ+ zcicI{h4tp?`+#rpilyT9h9lK^rroA%nrO$+BUSBoCh-?)&OvZD$HmPhZ#1Vmv*f!n zRz}ea<6A?t>9LykvOr*bWbM`ivguP-b!yRf0k*T6wW{PeTh#H9x%@(3nKAs_w?IFY$GI$#y$FZr@&`j`Y8RqPK@@n)M ztKTpilD_;W?^*SE&+z5yLZ+6`4M;k(6vH^*NOH&$nb#1WukH4eSAx})wZ-5hh+l+P zFY^e5VMbgyC8O5iSK>MA)8(mcCuGNcfe|pM1kJH%yuxU6v4tdVwmd3%WdDb*oe_9; zy%#n#$evk{7sFy^PgIZpJ-n&l`Dhr1!)&=_%s7SSXt%^3%dU*!Tz-^ef$gPlsX`^_ z4U1FG1m2uW-u&f@6RU}pvsUg$=z6pB6@C!ibmi*1X=6gh<9fy6z*>}xyh-dciwWN} z0xd?Zt8Nn(6^rBHw5j5PYzDGuXoyx|B#Rh@@H`^5I89J=AFr<5A%{^h#wF?Vc#{6F z?*L28f<|3f<5BZL5n*|#rOd>+NnW8?op?PSwjft+J$c|^d7RWJ&ee|A>vP(AwJI;Z z6j3?c2sAG^NLK#u*XZFJae>(k+Yk$B_=D!{;t!A;(9LR}dDat&ovtA0nH^hTGzb-S z=O(1GwWlzFuheZaXnxSojTX=igl4gp9wJOtBdU-=hJAGrj1!aK{U+mo3Kz#>vNx7U z#nBXD2%pdK0d>@zp@?^g>UFMR%*-;y<_n+cYi+dJC=jLTE}^98sff`w>|ml*rDR=N z9yv&`sL8fr+qAHavWDmm4xgs>ewg_c7X3wqpqH<0_W86NQC$jRM4UGmg$B7bT(BEe z1@d6Apfk0H>}@d42I!{^Y2Mqm!&3Q=49ESLRnD3D@M6pzh0gtBK=(Q>e9ux>hbSmw z&etLqmF9!qcMfUO6nDln1Mny?6 z0%FD;f`xm@)3|eu8V;(IvhSeGESAH=x6^QJBk3wS`89v-?0(fQqe{8n7B&GBROqn9 zd2hoYV@Gq~%*m}uGuhDZ#49Wv+-fYs`X|PUqmD`pxh|LVv5)0NC$o<87c!^Yfa{ z-nZQo@AIj{xVkQ?`943Dts|SY|2bQdw2%`x)80%@U>2p&3_CJz1Ra0<6NC`0G35B#hTp6BeDCab!KQoT#`Y$= zZYMEkpY^bmt@ZM&fg!W3;+Bl(F_;@|*Jl2<-l;G^8`UM#*;-BuA3HGCQ&n($0wy#g zd(-_i&UaT2mc1 zHtZ<6h;eCk@V1H!a{?%xHlFFNM5Sr{?E9`-uYX@(;KZ&8;brC!3E}WMA45OP!u>~< z@4mjvyrloqCL+)N z&1b&FBAQKTEsj9>?Dc52i+=Bn4@_AsVDt^y49YOKcOXTd)lgc#re~ol?|^UZl>Rv` z6#-lQo&`aCqy8?Q8v0ZZ`gN}9JO;L^#iGo15yO)GxA2vP-<>#=c>edSuyE~Tv=V>!q>Wvq%TNV}JWfT{;D zwhpA!POSgSOq86yYxC-|LT4&_gj0bOWt;v9E-d0sOfPnfS2`%dv<=3}q%{UN|5Y8Z zgoPV|XtIXKO2~L2l`ar}WVuco-m?xVnG*a%fyua#t+uU}!Yzhq5TzX7t)d><-Jjv* zP)8~|%%Eg*TJF;Q;rtf|qywWvT1nRW3M9Vnyy z4ocCO2^jLHQ#2IPno7%J>kTIz(0Dg~rq zm3}QPb%t90zsvKYYVWGXCzqVYC1CsUWL zJGropxL*?G+ttL%Xr1hx=*>4;<9{|T5o!T#4vr%I8LJjC%Ov!}Zoa#Sg!V_@SCFd2 z?X^f+?OW9D^L}G>{*6a|`Z=1`(ZtFVm6nrBWFsWVmbFj_-)Jvb=Rd2d$TB%L2F`GR zYZy~((8qQUbNKxj-Esbqhj%|gQ&AEH z!j3F5D&(x{^AET486M3{CuGvr3y8;t>ka7N-9l++%CVm}jQw&02GGGzh{~**@&e$0 zTLQCmC5MiP7Jf{uVZBd7?6;^mxo^OE4485JCy+HYYoUL$ZgwwyKrhY&u=xbJm0~%I zjqw+YLZ>Bk)aBQ@7A;27`f;b7aY8ZWyD&u(gi3-(Jf* zL48}97q!`&toFW;^fjcP%jNC$;wph-!m(yE%%y-Xu{ws8fZWt8izVZDZ~3v>#tn2S z#j{;~@qgg!2G5k-z@|V~S!&)^8iXY0yaVbE4<$$nqS}f-jk1- z*Hx{rdk+8r=1aCB3tPDxaa_#DLX8q+`o?<=#wI^S$k+)iRp7CS6ou6ksVeqCKr?7afr`G4$Qmd-$+?kPaSg|5<+x^48{`If#Km72+ zm;3ke@$u!i-+ue@_3PI!-@bi&{@r_b{r>y!&)2?x|Nb0z*W>YczJIUXzZ-M+_xp|S z-mZK9?zuI(xApG&@y8!u@7>kd=DpwVy7Bkg&E5FcY(Mw+-P1blF}dB>&p-eCB;qPp8Iz){QB#!&pB>vI&6;iaq_9-Y>;e?>pf+= zb=qG#?*99E>!*usboV_JI$;vL_j;}OZ-PJl=}(`WL4mt6TnfG4ZzBoN`0ic9_j}HH zo5&gO_g+iJ#`Vv++e=EynUd)oLMO`+l56K{jmF<=%GJJI|Hj^!do4%M0o!xN$=SNE zISQ1UBbk*;9jmV#AbGp5u{ztMn|dQpOQ4KZq}`?A{8^OTeQn@=78N>~3Q2J~Lylvl z7M=Hdiqct=S7UXFB+2&YKmYlq6lG4fTO;|qx?h7g?w4PFd7(s+s-xa(&7~ao^X>_) z+h_X`fpe_;8Cvw3dJ_$^PdX80(yvba{5wa`Qx_7OFfY&e3D`z&L8Dw}xz|o{Z6qhi zAdSmW8guY|zYCx5jJV2fo)mHGpCjykyYI#w3W_KhqR7;d4GL3i4lF9G6QtaZ7`+f#R+*= z4%B^ZP%poEZ=RH!mnTn=(d)u-s9`QuY4Vz`4CVNOBxp93m>!fVLxm(pW{40HG`9iS zzPe8|Z#^B;x%zt%LR;L=3y`(j+WgT%!O=#Vk=z2ptlS`@8@=9>&}}5esMLEu{-P0I z0wbqU8(*-VPD(}TC)=1J z+P{ST9U(Ur`F^rIidHvx3Jh)}T^cIyH-E0@FKKixH?uI7z|CoeB*K}W+h}NIZtm)} zOHa*v_c<<7x4flmovQs55Xsfpy9%`SnUO^v?+X!h{Pds0nZiuta=dJqtNjI2Q>nUta;(;qADBi=m&wsM`Gx`csr3H$zyJNc z%^3CO>?UYa5-7=>6-OJj?CSTebP~u-hGfBEk+eBhw9-+ROPFq!VE5X}@WWIfDY^U1 z)4{X*Z%kL@R=u=VPEeGa%0$ZK5((BuI*v{v3d+CK-HS&BrM($+nUiG6jZeTf(rY0} zQQN#N*i}R-Y=WBOQ?~q}dyRB^FGaH{GE|WOcUc|TNNZoEj&gej4W31(93y!`QrDDl zwtg~hHI!kK!_w8#HhHs=so3f<2Tfi>&9=Xw#JU|mD5s!0I#()3&-%mzruX|s*kZ>13qR*u)<<60dXxA<^ zi$LnHJxb=CTe2+rG{?yz-}os17{Mx7kF{d?GzmE>W9=pL&OwAYH@i@tjE%P+V0uaZ z6p%u7AW^31S8;I+OTD5~UFihv{damGMY~3mGga1SO!w?~5yuLw;8;Gjc5|>WM|F$h|^-zk4n>1JR$1_AQ5y|$!$MjO8b-2x~H#Wibn4|^D@V&1DK6Mg;UZ|g5IK#FK`WFl zBYx4ab&{h?#1ffwSe+opmRzfs?6>pAgCxOE{m4X{U>jP&-JTS-DN8l`@YT#JzH<1M>3Z7rnh=xuyUO-c2pfx9o>)%%_G80Gix4&GWj$7+v~Tj$zS*zF-n{^Mgg zpbq4|v(Y-tqRl(~+jh6?{g8~QBug?cbG%M;<2H(|a>~0#msLPf)m)~cUf&$+8Ai$r zW>b>#wq_7*jyKv&4;s#%j8%_)4)vsSn@SvGh0yr+Z~rBI_fypDbrD*w*xy_F$_aJU zr-N!p>*8H3fo#TDcPF66mQ)rk_qr|J)=fFhpU|d?W&d&l&s4q;d2yheA;`5n_R0xV zth~q`j6A8|OBWuiC-bH~5y5%4r;uEY6{Y1nIpOjy_13zpSJU;gn%PE78hNlh>20b1Cl_bq?BzpI?o-~H@N z$CTvWoJ)jnTxh9ILQT_5@>!ugrP;Ded^ z6nZ7X!JzQo>y4MF-rSz`gdied^0c?RC-&~T23E#W7hSf%d*485-u5Uzs}j(j5lrtObftildqM=Cy&}eqk8A&8@t)j6p_9}FU(50x8tmaUb z&0RTt<4=L7=+@n**DRf7@|LDPAd@`)y~vopL{nHN_o*ux!e1eJ_sXJnPwJkdSK^XYcuvBbW9bZqD8Y;&z~pM zM5#?Z?#DSjz*D)cCwbNYrbep*t0CVP#v{EsUzM9^o14a7?U+MZbm+5p7$`qVY zCC;W!31LX+Gb19F1~wfP7=C;}zM@{Ug;iciBtdR`>F1St6GZq+IcKzB&a|;@@X$tN z=~CFvB;*6ac#Wo_PlLG$6`vBUCPJOo&zSwx2&?#gE&W*5ZzbR!< z_PdQdIm{C0E>mhLc^xR5r^|x$l~ROWqtC;oJT%2St}7l9^DjCy!u`DHwF=3JQbf^X z%hyxbz2r6-UBYE*D9U`$CudH^j2#l>r1mvz?OR4J$4P$qmdN9JwyBdh=P?~>{O;2U zk}Lh^sP0z>x8p3Gc*t(^Yzd8=p-J*u$z~8Fa+u5AfGD(Z{Z2{dbMtf2XtkuHJ4V?X z6MSa)972?`TFSW_qoeu(W&=XU(Rq8{23$^U8T=g*E6SyJk#$Mv{arJ!_uGdJyX9%m z{r~N6fBR{Tnld)(+JI1`F;tY!BJ7z*RhX9!VRJ@DvMZ<)ySXKk^;(+Ko`pF(!r7W4 zUNYz48F%+@nh=d7sLPS8x=cH!4iDM7--4ks)xZ#GmQ!xpe+6!fm~pm^FlzLZ=!lf<+6o1?j{gbXlI z+JJmDu!d7A^UE<3evfhWq{!gb{W^dwUawBLRfglYC-SZdl|m(ERw~Zl z``p~U1Wt$8(mHueA0lpJO^*d!oW(%tcgy%X#oPbz8wobJo`!!s{?JZO`78~WO^X6X zpo++8`nMiyUd{W>_pxT9^e&&nP(GC_VQp@6YQ2jTQ7Kz<$VUk>eCuV1Ue~#cJQ1sV zeW*s#os7vQcX53`PAK8*{*1WyufCJP&kf7He3Y>{Kc&(27)e`7^_W(}WWahJDZk5- z({+3>M`(8Q*F+Om_b{#qv6SA8p5c9dG(+2;vAPlo+keV5xA(f8*aD;XH*HoK718M> zWA^hKt!f=~dma`Ba*LXe>LWdgk~xc>^ZRY2Pq?p=f8!ZU6}UZr4OZ0d zXF)`h1Zz$m(~3Zt4N4ui%IcpH(t92+_jixLnF2i9aXz__@-6FkZ|;4`si>z@*f>ij zJGrePZ@YgT8d~=2(5)ZxxwZ)P%no{M3NUi*1#G@m;Z+06d@bc9lPSdr6|Ob13fpm; zV(gEk1e<4$f0r(F(DJ=~6`eKZ>#)r&)GudoA39FD=*(*0qU*&SK0bf* zk3Alp4b{0x2ZNBe5rsXk-@xe;WlWs)23{s#T}NQzRT$; z)6Z(iGmI*o-Fs{@sr+}9#Em)mB+-_=I&MZcz;rMjU8I%-TlRN#`}nViuM^y z9qg`hdYiL5DT#AUpN?v;qLfum>-n5$&Y{Cd&NZBlqhlps`<9y|ORuFTuhmlsbh^?( zB(N(>HVdt?d2?mshj}T(O7yz=UHE(F$&w~hj@?SvFrr;ksP3u^Z0^!VYu1VN>k4zu zHl9qrC$Tn7ZJT@vck||?1N2~Z{-XcIL!!ocny(FY}g<7T$xr6D%ye#VEL^`jjU>Uw2 zY_{(A+(g9evR{+TI>Vf#AK9f|Z8jIHOoc_Snkw34u`9y0X41W>l^+BtAWy!%Q=z9xda>*U&aT0SBn--A0-)^dw? zj%8Yrs7oS42Gc>ZYD68(9)?wwpSEib+xg1{zy9^FfBi`~+9+=mM)gK&!lk$+i#eLz z!4O9ww@T0{g3aE~;KFC`ZxqRyl+}H-|MIVUTVlS4TF$Lwb)T}x1-1f9rXTsXzy8ko z3>Hz|)Z>0_TDA95VOOcApnZ<-vy&Q1LL@ZnJSxG8!?LknMVFt`Y%bg3%U^=meitno zchK3U+DA&zalC(@N^5Nu={_=E`jD`v%z6{9sq<}${`T$L|4Xg?+~{s>YkACIfEJjo zCn-1Gh5Gh}vh%Cd{?C8@^WEd;7Krc|K^b3Y^F;DpT`_WP+U}ZrC`VZQA8U=-M2(kM9L8(^%__GJGUv{G_lp3YcFkR-KP(< zp>>K_ual?1ylp*JuHkbEjSC?pryGq$oX%);Xb5F8QdhxCm~-A_^*H|i`DG?Kt0}SksR0=}3*SOw&0RW#khXtIaPVl+!5ZMw*cw`K%;V`67XaUBcJ;%CSx?%)hDt z2)(est#FZ6RB4QaRUW48(yN4AZt|SVT%#knKuT!?y~E zMn!tmFA-ZLYdx!k_GnZ_a^+6(q$1ta6#Dr&5ulzd<(aGnYA_#!?2I>>XJXa)arw(~Jr&GQeGa zTF%H&S&NVz%fFOG8fsr5h1FK~+P*f`)LhzAO~=`(_2kwHCM5H_x|YCOfk-kXroE@k zpFTd&l`|xuhB0csfB*adtJOxHDrec+{@b)`x4d(6J^^l-o71HLKNM{lENn_vTU)0! zRfG=P2WfxXzV@DV?%v-^6wVf+pM>1*ar;g8_KPI7rimr#>0EyJw5PdGX1k@7=#q&@DvR={Xwc_O%-Qmg)=zN-h~v!Rl2e1I@%A9f;YPmmw+HXlX-%`~N8)d4cQ5Jf z9f~bqG}S)Z(2~%E>1qR#yo79g_htY$>jr!hT15rnB14;MLybLD@H47ysQl|gD2?$R zPepT330+E*x5%-Sah)tBo0@bKo&6nIy)&Ll=H)auPls#DoV_fw(`~7<9ETo$~KbvDW~#q zPo?`Tg-El<-OCT!V=^@FHksUGYiOSwLHd@=BgXuz^P=(-nj#<8QR}Hg1@6o*yNB62z>L{C%O;TcD1E(EGW72mICt#c#0g<}srN5zNtTM*E=iqGo>Ej^Buc*E{P#21T&Ar;Hz(`N z$&_(y!TWTVO`tyX)Si{2G-N5LW6DE9T;+1F>wp{K$tGWE9skY&{FtY_K@#g4rg-?! z=l^dtWoAe{(FpMfSNJm`Q&tA)wAN=S%da+y6225ry2&s;Io7z05Z_sY-0LbpLfhX) z?>;gp;zAA22p`-;Ol(p(?Z}03Z{}a=~26+ zMGqE9JRUa6&AnZEY|z#F@6uA6m+#p9GjiOx<(?>%yykpQ7*p^&xs*>wuv2VhWw7N~ zt#6-lT<4>lp@^#MH+!9jv8o}1+cQzx6 zwI7|rK+_3rT8ToUWB1tYZY|T8^RLOq$=4xOqx7?bG$sfq7RnYn^?~GQJdM>seTjlxoP!d-XWg|DuevikyyG`^LkY6xkDSy z*|#s#JVw3szli5tIk~CNG?onec!AMeT5QcuZX0J8QzWyBkXtmyVD+?CLjL>jpT84* ziLX`IiwntqgA_@TeF>vbfi%*WFP}fZAj{XlIfA@Ihiv^Ng*Lq`v*b0BXbq);?#fVo z>3ehRlitl`?zWGT<9SLdC-G#q{fUC2pFGE>@?9@Ou48CFOMT^D-N+S9zYlLVx^##Z zHIFyBj5d$Xu)BGkA|vd#33q=6a`U!y`(55+8niKFW6H{6^RWuk*x$Z={x87$T?CQT znQlWR*IWZaccBhSFBLH*IZiL!^)^K4167BG{<1m*M6Vd=;#aHn&u) zxj7kh7;~ZQT7=0FtWaFTvba-MW$W^RA4|pF(-B3by0yvFSe+yt=vd9uICZJBm=b(= zS>9uFOirY(`rRTS=TYuYf$Q-q2k= z7NCRQ^$=Rj^UH$!yS(@AT*cp8JZJH6O9C5=+K1?5)bx;J_&`j~WbSrs&8Xz=I=%emqjqH#91aCio8o+vXf3Kp`v zNx0Lg%=_;Sz=CYaXqSetDsi5>l26E#zX;{=mz^hrwPp(Oa8DU?^5qs9(e!gysB0=R zO};~sU|rr&b(QfYj|E7n(l)<((218gi!!CYr!UxO6532BDRR4rL9JY%d}tbJ!L2f^ zh^%Tv2A}QXNRv3QD&UyXm15j30qQ$05s~}Ox-*fb2 zOn>Y2I(p+#{T71f8lyRb&vFF??FdNURAZxr+~^oR!CZ zfSX^GNzt3bRrVStxtve#L}aW$VL)ozYW<`_jr8%d`mjkIkNW? z(Ik6!`Q%fEdiSMkMx(jUs53X`6rN6Q%Gj!?DBkKK<*6*cD>tTOF2Ftn#>yC#|fOz*B|qgSX|BE6`ibpYDzx!Ea6O;4B1Ba zI~=yeRMEW_8py&!ja{>iq|BVas5Wx8jI*4z;z=nvU(w(`b>OXXoI@fU8twJY0Gk@j z=^3K{*i^0aNw$~&y=(fV|Fz-ryG^m}@!hX; zpF*CFQW`XhnqQ>pr;790N^`%wA}4om+g(g1&my+HZ_1FU<`kta1I09EE5M*Ipx3c& z9vU$5Ma$vldlB?M@)&b?0ybHSH(x8b5Gb6dz!a*%)} zyGYE-%)P5*onXD%)X{sAygf{Mw-J>o%=cA?_6g)Z_D*!fHms9YawfBS@M`^(Cjr#K zt(N*35_D)LPucS#oiwKjp_V+aTpG7PPR4?6#|sMD{b}Deu`IR?nP*p^I-q*C$I3;K zgh?3dZw(_^)bUjQjp0000