]*>)?(.*?)(?:
)?\s*and
tags if present - # $modelName = $modelName -replace ']*>', '' -replace '
', '' - # $modelName = $modelName.Trim() - - - # The second TD might contain a link or just text - $secondTdContent = $cellMatches[1].Groups[1].Value.Trim() - - # Look for a link in the second TD - $linkPattern = ']+href="([^"]+)"[^>]*>' - $linkMatch = [regex]::Match($secondTdContent, $linkPattern, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) - - if ($linkMatch.Success) { - $modelLink = $linkMatch.Groups[1].Value - } - else { - # No link, just text instructions - $modelLink = $secondTdContent - } - - $models += [PSCustomObject]@{ Model = $modelName; Link = $modelLink } - } - } - } - } - - WriteLog "Parsing complete" + WriteLog "Loaded $($models.Count) Surface models from the shared Microsoft model index." ### FIND THE MODEL IN THE LIST OF MODELS $selectedModel = $models | Where-Object { $_.Model -eq $Model } diff --git a/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 b/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 index 2151752..60b76ff 100644 --- a/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 +++ b/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 @@ -161,12 +161,181 @@ function ConvertTo-SurfaceComparableName { # Cleanup: remove orphaned "with" left behind by earlier removals (e.g., "Surface Pro 9 with Intel Processor") $value = $value -replace '(?i)\bwith\b', '' - $value = $value -replace '\s+', ' ' - - return $value.Trim().ToUpperInvariant() -} - -function Get-SurfaceSystemSkuReferenceIndex { + $value = $value -replace '\s+', ' ' + + return $value.Trim().ToUpperInvariant() + } + + function ConvertTo-SurfaceHtmlText { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [AllowEmptyString()] + [string]$HtmlFragment + ) + + # Normalize HTML fragments from the Learn table into plain text values. + $textValue = $HtmlFragment -replace ']*>)?(.*?)(?:
)?\s*]*>)?(.*?)(?:
)?\s*and
tags if present - # $modelName = $modelName -replace ']*>', '' -replace '
', '' - # $modelName = $modelName.Trim() - - - # The second TD might contain a link or just text - $secondTdContent = $cellMatches[1].Groups[1].Value.Trim() - - # Look for a link in the second TD - $linkPattern = ']+href="([^"]+)"[^>]*>' - $linkMatch = [regex]::Match($secondTdContent, $linkPattern, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) - - if ($linkMatch.Success) { - $modelLink = $linkMatch.Groups[1].Value - } - else { - # No link, just text instructions - $modelLink = $secondTdContent - } - - $models += [PSCustomObject]@{ Model = $modelName; Link = $modelLink } - } - } - } - } - - WriteLog "Parsing complete" + WriteLog "Loaded $($models.Count) Surface models from the shared Microsoft model index." ### FIND THE MODEL IN THE LIST OF MODELS $selectedModel = $models | Where-Object { $_.Model -eq $Model } diff --git a/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 b/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 index 2151752..60b76ff 100644 --- a/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 +++ b/FFUDevelopment/FFU.Common/FFU.Common.Drivers.Microsoft.psm1 @@ -161,12 +161,181 @@ function ConvertTo-SurfaceComparableName { # Cleanup: remove orphaned "with" left behind by earlier removals (e.g., "Surface Pro 9 with Intel Processor") $value = $value -replace '(?i)\bwith\b', '' - $value = $value -replace '\s+', ' ' - - return $value.Trim().ToUpperInvariant() -} - -function Get-SurfaceSystemSkuReferenceIndex { + $value = $value -replace '\s+', ' ' + + return $value.Trim().ToUpperInvariant() + } + + function ConvertTo-SurfaceHtmlText { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [AllowEmptyString()] + [string]$HtmlFragment + ) + + # Normalize HTML fragments from the Learn table into plain text values. + $textValue = $HtmlFragment -replace ']*>)?(.*?)(?:
)?\s*&=(oAKl$rk+vEtcbJ-*n$BC9z*-KKYv}wj z^G0E4bM(8v=@y=}l> zs@d8a7V3=Gudmcn=n|2TL{RciJu6L3WwPDg8gGfZ?R`qvYUEA;f7k%()`t%t=p^4L zsIf)znwLKP@yT&*8r ru!a>MAglM|(P*#K%{VLUAI?-x;nt^yEHT z8E;{|ylr;vJd~hD)1}86!zehB11a(}=%5Fcu6v38D7*Oq4Y5@Xe6T0tHEudOIv5!# zc#X5dj;o7nYvuzVtw5h%i~Jsb;*LIEFhnpJBz@elk(7Luk&&VQewg9omPWb#QbM3e z`at*0nm~-)Ap66G2?p6n=k;DgkWsjk_~f%v@NwfqbDOZxY!7z~W8^4KpZ+m263-DU z4Ap-oBe4JJ_{Y1OOIV?m``~cKUXe UShD) z?I1LiEN!U7Qa3HW`1zbBbB5#M_i9jru?sHe#GN+=?T-H?Y1*Bgg-lLK$%r6P0{_<4 z r_C!A>4Fzt0G997pSq)%6w_ zcFE}K>KY%6AN}QWG{Vs pGl_?gcqg1In7_gtU88cb{hkGdeqlAiUnd?w=tecn2>~o zgs!G5zW)AUEF~6$!7S%ED|ho9-^a#Mlaj_|lc|CobTv`(S)@jgG kXo%uG`TaZ%v^5|VB;~b3wNsO|{@zUpWEaX3b{-kl+wMu)3s-tle+7OwP7uiZw z{==^=Rso&wZaucS^m96ijHD&7kljj2Nol^^dI{WCwDuWsbTEi3gEflJQdO$dFWVk# zfB~CGjgShsbXvSQiVyqnTIvkM(3g(yQRe-{^yzo*+(|9NJ=e&{=-IQvc7H!VLPElw zsT7oukWl9nv;-WNFEj7wm61v5U{}w*%*MvXz#uvG<@0CHSFc*%U$5I{|1$F}Yo|kA z)a%tNNeKxJYI*<(+}zebzxe;G3oO}JK62#9p(g}S@$r`@#0g5^12V^LCaa_~%qfyv z-*@$*gQKHd XnvdIu_qTqoIg4$;d9x|Ys+*mOQ)d><>lqqoD(GdJ6B%6ehr3I z_>9p01wmZLRPz1z%M&O!YQg9Cdug?-W_$7=kYnFppNO>t{~8E*D0Nu5@drrclEAZ6 zp+9(l(5pCpESpU|R}7P>QIO2zbW*1OjMjy;LS%ojc~WCAy-cF-m21}&GP*Rw9Wf$I zOiXomesrZO-sTW~s-&!jztp9sdy*Ey95|DV>=L6kaSU4~*OM=IBqaPV@wYcMWdH(@ zZfk4Hlk~p`xQU36Fl2~U6&!kBTY}Wi`kWT{LYY|glnw_62jYu2CMVkxz#D`HHl%?| z0iX-kArJS4h{>XsZDu_6Ou)`=;~cwYIlxfS{mmx ri)f;>*&mMW$+n& zjROpF$vch75TB56roSX-TQ=#^5P(7$fs~}=`cwyF-J{>_SL`)(j3dUR@7}$uq!e7r zZ830jjaxoTtE3p`lfnKP+c@%vFisf}OG`^2vuR&16bj||{_Wd1 N z_S#Ge5}d1g> YPlWra8m~w}U-9v|=0%J2$`M3J3_W z{>dRFRmV4E|I?es^)00xF(t3r-uBx5{=W53*LzN$;FGGVs=)Rk2r5eBT-3?445_S# z@KiZXEhknv?-sxq@G}5~Y>wo_h*P~*HSH^$s`fYm7(RN~{nOy!UfDuL)85~umcOS@ z{{qJ<@+n0Y }Zz)(7aEI*V9@UHAv@FNYD=jTA zD{&H*$y&zF&dD5*ltHx5z*%PA0E*8tw)&xh-Ok2B4pP$?Vky7?_M1uRM&B}fv7!fn zNVsgqo56iIbd|4yj|Eo+NFTyj>pQNWu}22P-wW8LZ_^38?tVn(V7X{N14vA21i{$^ zYCKsQsl9OF!nAKjhG|^@RTsI|%6OEeD=q}w`LTf0GKiO|ZdOe0su{%i_~*g3{>fna zYE7N^1TS;2f*DXPbxu87sMxUp m v N%U1NE-n@p zmK!%#Q&6tyS|! UQk8$6w=a zp>wpQSqNz%608p&?Bf!Sii!%^$Qu{99^U~O#xgd`hcL)?HbD?ei|`%bG`fHPjdI=) zAcQ1edNL8fG^g#%0hwL|uN#{r`1rGr8qz@mf2ol*N1dfRTjv3mk)A$nLh8+VoHJW< z=XnKs`skDAfTBGHNduUy+y?@&@Uuw;;45z=e4TnG6V7I3Wu-^~W-n+vtqh@2R~Phu zM-rT|#||JifK1a4znfwlu1SrXW}9X_qQTLwIEiKV4w6E{6Q{ne{i>pX42n$iNu za ZsMoq}vtm1KhX z^5r =Z6@~oUAFdaM+ zY8<$z+*|Kg+DG=zYhv`vNFRfS{$eWL=fCmyr{dPD$6*0Wc6oU$;DzPkC%? 8a%)*~#~IcdZvXqEi4KO ;?F~ri8x);r$-D-|MrC zcz^v>-=+PE=t4YlyaG>Rz8j;^FC&xqCjSg^1PkxT3RX1YWfPy}Q1rD&;<23Zq>o`R z;VzlvU{he457bUk3vGh?NoVy1djcJh*O}_cOK?2-`)ZI0;)3!iFHcV<${Ee_-Q}j~ zBrk!C^zNBs$Bx+)`gtTIJOLoUAQ%1dVf9fG5)yP)e4A0CG_Wg<8 ?1qARQlPNJT zz_`%v=RS~A5eqNPP1La`#`7o?%qP9V#iiKi+}+>b-`%aIgHC}QGVnZ?c=ixE85tQ3 zO-{B^QQu*paPSQXICV&y_@Cz*0jgu#7m_1^1I;99a$7#E^aoH#UW n?6=lJ ~IUUmE|G_u4m;qJ{F6fKqGu%7gtf?M7z1{k0$7G~q1h zmKZ@bj lhk++7&gu2rR+2{U8`kXlFi-6ZpKjsJZ9dt=O4l+BUO}bdt@)dwK z;FQU=2W7&sfH2GE=Fl&fsHnV&E-Zug$=FKFw>XBi1V^xGwEuD?_akrM+zuo+7G3FG zuu6#yfW_|71da3>qFhE^GsfDFyr$4~R^+b%YmRl@o&x@6XKTv^5_@z`M@tL)#;KN# z58&wl#wx2>8+wrgV$Oqrt(MrcD(nJGk2Q130F9#mMV>_8Q3yb=($+jFz#vMK)6mc~ z?X^Vlf#PJ8L23tG&T#S4o_<_cSr{ShIa~lecOS!S`zTG6$%|~O=rmgNIImgHWfg+) znHepNqpj^B-q*Llg%VD1qZ!CQSnFEWz~~EzxJ!_bDj6vHN^FCZJQf3)H!h(hA#0o; zEMu=80jCSWZyx4q)D|xRp8Uy^CrLj5P{^W0bXdj>0jW5gI`P+EmmpBHoT3rYP9Nxi z2;2w$J~8oX8o)rpG;112E>e&eiCzty*7HK UvYLJFAA3#S10C}cfapCA=z(VMS7`SpWR2?7GDlBHR6XsEK-&7E&qT1vHG zis|Z{8#ZA A-)s_cmcLbx1EHl&2n!2$$^33OarO<0)Ce&& zt+^jA36yh#R8a+o)*+P+->GGyr%wW_fkA{$AHySh%OdUr)^ay2F) =g%|E zMGVB?TD#>bHRHlQ fOmA2YX> f7MX4a$vsl$8$-v+UGT`^bA{OjwOj*W`7 zr8c`)ieF5F9#BQJ8^$MyFBXCn!5O4wKee-S`{~cO4spKF_yIa)WM(GAReaTP4>BX` z`=eJee4eDoQI!uNPN;Db i9 zadGkaQL81*yvJV3Q|(E9%Ah#u%0MH=DF $IENXln_MlUxqVqabSV1FV&HktHP?;GYTaM$43i0TLCG5{&Ti z!B1-kBn>b9kY}AHCH)RXqHOI7XAMlDM!V|Q4WQtzCtL#)phx{-P)s7YW&$BXA|hpP zSx~oQM~`}v0wt*u2&s)6hV3Mpud&PMh7!GifM)tle*Syp_vX!CEojYSP=4Ym9pp`| zEfRqW8IaDVN7OFQ5(5BEKkqM@7JpYph7cbg=%NNlaa&QMme |WyUhI%S3R5u_%4#;bR`q2yJ--87`|z zwr(YdN+zG_H?}p&+Kra(?(RrL24)X)Am+B#rIyqPS10*?j_eTGo=i}phtQdRw_<0$ z3|yq$ *;J7`FGMsnc3OR>)+Bszz&%v5ng?(d|G^UeozZD zfV1ECsI8R=8FD_p65#gk)gA?A5j=v-t@X`Kd(-^xq$?Y(E$9ae$NK>Q6dFFqWea~A z!!v03bGPQWc~c!zn*;B3J_!^y(7^f8rH VqW27xS{_1g>#0RU!K7{C|NM=>Cdbdo}YV`jDBEXIO; z QSBh^oO`@ZE~hIS}DB{T&BBx zywJUV(VflBRT%W2Y`pZLMjj*%#taS&ux-eLdrr+vzk2g#PfgA3?D1tlgTQhq>9ozP zIV5KrwnXY*JI^KqxWsZuC`K;g$z(Q($fj8OXn-q@f~c%v2WBdqP2 ROZrV }#V})>Ryb>5#fZ+34rp>H=jMK)~uU~P FnrNB>~@faG%4x>`A|&%QGXU|I3!GTA3ltO=$Rpo zPYXeYE`lHdYAXQi)XVLyTyH5s(d%)oF96WHy(9JY^+KG?V06+*UZbxMfi7y_5*8AA zKHJj<5zCfKKtKS5q;p#Q4Ujs(96|k|et`f+um|{aVrbZ|uh4i}`ori@))w%$!7N+% z?%xk>&w!l3q1~kD)~#E(kT?ycEYKuKc@-%DB8Nqcj*R5%H3YBE^~=}-fd %dkwoh^oik=MD}qwkH}KOs=x0;Gj?BU+Jda0T-dy1CJ1$@~@)`2~Br)`I zg}~GARRA1t+(xz&lpn!8!#uzh+1lBumB3r{oVu+TKXewrDBVQq7y(;I(QPXE$Z(Yq z$k$5GkdcMP#%5 2 {Qkd6+s z`oo9cd-9%ig#j}o%?TKy-`Y|p^RAp63}FNKuijGI8Mt!^6vUu*)!qzz)ye>qrlXVw zOaiiFTmfyctVFBC0x~R1Z~^mbyc;XY tBwO@)6kvihN+H}iJ?#0TQ`)4bfjx*Y7%rSUBj`fyV<`> z4nZzkj0w?ZISjn-dJVSu?XIff=K(7MxkFlNJ=I9_%IKDtKH=N<@3#hQuwwzt891&F zbWN!OjR36!mLI5sV9KpJF+$Rd7d1ooaBSfQh&zpSraQ+C$gZw1Tr~qoCYik13)cYJYKtHHj`#q?|i8HsY z7GSiY^Gpi#ufl#QzVz|6^9IfDK4c3apk%V~2EGUZ6pqJsx)ZphM*ni?L%~MzabhQJ z9zop?WJy84o!K#Uk=HCW8zc=$JtS0#-7{y;oJo9)E3x_NeeygBx*DE=20S$daQ~yB zui7K-_mE9yInaWHwjf<==n{v_HavD0xUuvEETF0l3aAP-NAlo`H;`w9P;S7;z*4%P zgwKk)LAeB1Nk~aGb$vPytjwJ|o`1GsN>c*pNM!=U?P_|EA_p)uops|8l$4-R>1~Ds z8bI{&SQ99vBX+XjG32da+p=0 T$ zRJ;br6X-~QBAtEgkMEh8Y|t8_X4BBz94+eRiUUX6AFY0NHsNUJ2rqJK>LGAw3*g+r zVOVo=!o|><5-7Z`?y8m8&y7J2Ls<<1r`F1aNI~ ofGk z(Li5CN0);;hqP~FvW*U6WnHybH&p%8u6VU(0pf{YU43RNkHvo^_GEs0 zG(;YnCUU_Sef)THY73};&>+EQlV1UdXcZa(={ayoih$O0ab=}ofHQlrQFL#$1H912 zTt6RBll=Vrbac04u(*d?s{qSw3`siBO) Hu)kP*!N-`d!9|DhB<2!G@%f8r*A4 zRp;(i&j34+8u33`0DCM9xQ^zkaR5af;4pE|njWe3v$_ArS*dRiyZocB9~MwpSfnw3 z^y(`-I(%KE7-Ys{IW&N)KVLU!uK#m1aq)+*O_()7ss`O{`VRlpJ^y$T3(Mhnipv4O zSFpgGLKy!zuB`muMrm+XxZeCf&ieoJ8Sb4*c%wk<^vy_%Ci*{b!}8`=-_GG1Xn!0M z>&4Nbe{TQpfA;VYez58a6k2W!cH5MjbOlp-J=_1}wPaaIagLgn&wbbUMkJM++3H$a zrLbPNOb&*&L{X0a|GqM~j;7mqA}cfbwGx349N?DQ@U}MXF;oy`?IY-xPCJ=b_v!YS zq#W$PzXH+s9DI$LjE)=9Z}`LEn}dw@`K&pi1X79;vFePxM{gta#6-cUzW9NncNil( z4=pe4c75LB*V9 ;!^m_&7$9RYMGq&PSbeHC{hkfLOnS;8X6YHV_EGshLjU7 zwdHqyx*(Gv)s>@GqC{^f1Dz2Lj`o|IomeiNPgkyxpk#%i0Vm*&M8o0xPQU2^nG*D3 zJ9Vegd7fWu&rs_CZ~sVJR)!M(2tONto{Hb`KE7gxf&aXYV3Tl|w^k9Ecp|*Z?RrIW zJ`KLALF>i=r94SsW@e_2(>i8xIiscTnbBZczfHnXR~<@c27U>VDidg|hW9}2R~Pnf zJs1jc0%* rxA*nB8^ge<@9lR^(H%t& zozCBJblip_#fBHPy`A*KiCBzbYb+hjlNk7RnrCwZd66k81Ek{kTybuqm0$deF8cpj zuY*>gC1&V@?5TiP%SQ_gy+~W4c*C6Rh^cQ@wY724U0-pNaSeCk?^;_|jh{As=@#Pj z---OZE1IxMMMOv;uADKx Vee3P!5sIlP!(n>29r({6ft+R?dJRCvhT5 z0mvkE@besGhG^3I{NE7K-ocdG_7}UV&yU?sXlveC_B$K&2!@fu@R{KbP4Cu3^0;i2 zI$p*8NC)($e%B2b6ci++{eoG}U#_O^tJK1`y28x{E#UAq58^(WMJ6m+a9SMm0<-r5 zd=~(GAJG&EAv@#j*9x88rJBY!%agb_uLA_At)4;;J$r~r<7iN>OZd#L&CgQ23X#UK zT55j -jKDtHDrQVY1UmSk=eGTi_Fi}G2-Umwzb+>N0*fo6d zpbx$|=x&HFIE=076?x#K2xy@Nd!SY7zS+S0P%>Qqy1zDyN^q&XXm9te42<>KG?rEM zUe*9KrI!Nkhd%i*88_Tl=b&R`e!e2E*_gX{^E)#iA725q91ee*dgkg+X{o)_^id5N zp5hm!nlV^py8<%gS4)4kvkpzKWlmi|HL(w*lE{lNCd}O$7)_om)hKv3y~{-FhG{Xs zeUW!r*^SJr#cCW|x_$;NEGpKmjg8#riNaX;`OLo0=%f@2{n6tKjl<91x^mPcJ74R1 zcnwN5_be-!i{Oi9{4es7ikl4<-!@_2di0^~q5Z-h$@Gm?%Yk@Xctc=8^r-^AVu9q^ zu&Yj5taj0A9f*T~cAe&CPwG}p Pd3cw~Xm)5l-XVdWdUEvx*2R{3g)Y$YYpt40nE@Wd5v z6W^rzio(3-msc0nF^`QwB-bs6cFkHNL|j|o3sSlkdT9-VA4Eq-GyH#y{RLFiY1jsg z |=2uep>;&ey^jmo)SRFI>n15d7<1)O^0m^ z!I{H1F%A_woT`tHJS7sLd-O7Wu-qr8DqUtVMK)@gTHDFge#mmLb|(Yfc$azk2SZj} z8n1z7eMyt1IC8+vT|7D}*zi_%wrO{8rrKOl1ZpNktI^=zHzIRmb!(9JFwSV(eA|WB zwEi`IX?`tuFAdL`)th=Y3&)KA%a?|&c(n_(_bUQ|0swXI%)UOWs=EA3@&pFgUyc5+ zf|UAUi;nDbz4f)xfs)Y@oeuMw84gKlUn;-tJ;rCy?oG)cI%^=sZ#(u1fsT1(NB7Sa zdcdzMD!;Lmq(*z0}ez;$G vVaa!X8 z)#@eUMO=4&EJ{odrN$MPh-*qo0;N;w|75bf>_Fm~ eE$GWszNWhR@Sd zX1`wE%%+P+(@sgwD!!$XtJB!-*TqZYC9*B5?gAcE+tGYAjGyqz{t~HBT3Y(Z%a?u+ zW3*&sls&eR_P7`fO+9pRlPvko&gyR)9!wh#0!6^x!McDgUjJ%y&9O(6RBk?To*w4> zwiuY7M@rE=I6KrLPiYoH 0;g-Sz%ATpZC^v$T>|l-dg+m9~T#f49#^-8{Nq;K6POl6;LC!3-D _83K1oQ6Q-WH*CnR FN$^DRoh18 zaP~${eUv(N{CrigwcOQh_ii;WbgZb53T$J!GM#%TK_@cs8j%rfRgSlVhaudcvh5y7 z3|x*fVo~=#=K0Z0eAS A^r4-@?rRqR|;ag zUAjJhKFQC&;uaBjtwbr;ezb|Dx7%?w{vX&HS4y@J-jLa0CW%CYY8tpCBJT7ge&NNf z7xccTgQxPaX~xyx71*cpXpOcE<0K8kkHexlK|U{9vV9DzYs$a8?HReqbIS_%UP#mW z%(cAC-#KWPROM^xYr&Lh-KlDEAe^wT-<3zdtt=fOI#95WcR7m1pT0hn)NWHArIhWo z0_H+mS-4$gks|+aQ Gu8*Q`K(`}R%; z!PjQbJJX50IhtaBp9=GpTvDGN4bBY9P5G%mkE0Jv7*7(tR=Un`O4Xq%%Xh(H$hmBI zMZW@DuQn!T2Seamc6oitm5GCo!I?>;r&g6Vl9z^Fn}-ag$m!w1pv__+;~*nX%PF*` zLC1EpF~LH_{k>_kzrKx4CZ$eo;TkOVpl!%ZG1n67)pVP+$NXEaaLd$Ei|v}7o0^)B z=WuO-m|r-HKvdmf`?)yEkI`wK`}AtRe96~6ixdtRhkff`{X<+5ZI;Xf);{QUSMY>9 zqKq^TaqABUULBc;s*?= mRX@KO0h9SOvJa85RofAXI>~4)S?5Fm9DTw>R62wf%d#DI;CF%N|k6)-m z9bOvT!E!|g6Jn!Db4&&$Binc|;Uf&x_U*BcC^rL#mJk9mAlnlU??WP7 z^NaGCi%KD@HR=!|dgfs-CuBm*Bdjz3M((Q2nxTKRYp0J Zhz{JPdGb??rbG=ln(z-`J_qV2dg4v#X!q_JbZd0=}= zkxqPbob1}#^~s6W%; !IRlLG57_7$@N2;JK7BnEd{C(}9C#gAYsfZ}DxLy=qnOr*^ zD>Ha_BcGe%w0xz@a?XPn3)8G*H@-{6oop-2$r7D#UUZjw=%4FE;h#NYZ83U|S>xNb zFAwR?>vbD$(ag6}O>7ie5{=OP@fx&6=v=}*p>~|rM;r>T*C9LGb*#&BsZtS44%i5! zms3`)GX!LhKdc*i)ws-Uu{w~gOj0R2g~O84-CQ)?#)4STcGqKk_ZRhd<>&KpyQK_r zz--xI_SR>+@(|v{M(&At!tea^Ll>_WF kn@RWXN8oj41WjO=xDBsTeM~Lu2i0eMzs`NRD#1ow^VdcK-Xq0kWvC75}&ped<%- z*YRsDLQB&U?ZcnmV7s|e!Z#sXGmFF=qw1%+&9O2e3XY`I-Ynx$#LvY=wQDY zOIP5mmb-d`Pzg~oe+f`};EsglEzV8w-s*9A@MdZ9(Av~b`OPQx(pQv!IUu5t&}Vjt z5oLCWz3${FaJYExx}X4PtL?UrJM!%%6B|+DI_-8^N2j;Tc~Urju;$3FEn(7zTr?b7 zxo?Fs-3!&{O5%dFyga-Mtyv_u{TLd0hP?HRV$s5}v*l(y+Zimn3(f75*MC~7cf`wA za^8%8o?fAsYd1WT&}hoPIOZfMs42w#-^n8fV*gf>Sg5^S#}nbgXt13EgVsL#igJ!x z8+M*nO0q53zL4q+B9i0U`E*{zb46L_A%^^H#MnS!xuM6h>SKB%VIc-{_P+;#_=G zDvK=0_}|w-v486x{XA >{~5r*2TL; z5Gnc3TkzxkB!)GO0Y3gwh|flAY2E=+d4BZ~fmUA|oagnfyxG~8oU1gvX$MvoiHv=< z-Nc2VQ?3^r#(sh+MmYLkk`6xXCf&c{BR9oB@O~p1>mAsSRghk~rRKdopf%!#@`77( z{a5XY;!JC!Zi~-7^nm1oa089S67g_*3)ea$f7)#ArSWC6z@1A3uFk*>C3Ff3g~P22 z(uDY* ;0!yOwh=ZZB%={Ug2fybv zj->kM) kojlp@MxUykSvv7W zHD{weza;cabwqyPTW!o>IFBRO^$Qm(y>xVVg5P(q-zvHre@y-9#tC^#PGQo8rUf|j zte$P2Q^`82Y*<6meb*(-l$u90;LjVnFrKcv?b60~O~i}V*U~62nh NbY4v8Q*u0)ERA30xv0Wz0rq%7ty|L`_yEbOkzYm~8yispDkq!}$u0ZgqA+3hu;; z-!v|Mee2CrFB26GiEK;P;E**SdTDHo7`|^J=eGYk*Im$hv_E*P@4UxnlmbAx09GKH zy|k UlYpZIwQY(tI0Nn$s>>sV)Qc+ b zP=jV8F2GFbo#uQS!2NtF76rNo2zsf}cJN66DgjE?4#j3N%ltpDUr+t&L0TTMs@ic; zsjfpUZ6s88d?$DC;eEB`1!+;J!T>V4un@hvwF3pjfa(x%uTaq@fny2Ow}HNX7z%@n z-7fTJZ+%Fw6(aUm9%T6R4D7hQ^z6q_;C7`%5z=o&WE&F`6N9LuWB$fW>HQtA{7Y_A z+%i3LYe@B;>F2i5lp6=cqGEh~oV-j3w2y!q` +3F0Xl4xc`D_-zf z8vNStk(7}DB%& hlEW8Lidcc2$(KWL_QZzAt+@u8nFPzliw+2XDj7aUJFhKwb-^D4Yfiw{NonVf z9Y7%j5{gHBBEjbz@#z7nE-+RyrwvR}<|>rem}5~Fyom#Znp9sIrOt=@n?`&to;qa! z;DC?NavT>AN`vL)*QzY@Q0yh6O*YC4-OR-U--i{N>^eiU7Qvt5<*3 |DCok@C<=`ryh4S3)G8Ncz4_t#vhzxCp@GiYbM(U3&dyFVp3!-SFzIG6xXA;V zZ&K&0*+5*Ui1q-|Q{mIs^d6h?!uS8^O7JeTx~c$s1BPhX( mxsX%~^n|9u@<9Is;l|B7Nd%I)@G@Dp?j`9aU8rC{jBK3bHN-K-$96;$46V zRXX)=*2pjkNE-vJ#8E5&2%`efJ!!m7adEu|&Xf$9i-^$1D1onY0hX$&1@;i801$<0 z6uW@~$OZ%%CP`940uO@qW-B$iuwj26Amha1URg{E+Raz|h^BK=A~T(^S1Q-YHF+S_ zIBC2vH2d+4X8#`8T3~uvU0 WjUnX1R{tv$Iuf1 zwQUR-(5XhxYdP!R8nNYJi)d+S0a{*E0Btm(&IqI2ckEbFGVUAx^XKKZ{TLjKP2S*C zTw=!k`RWgN9r8Fzl}F0heYSa>BG&%%e*MJEu1kibV=sAb`Fn{*JfhTgnh(&}M-HBU z#mOvHpakL^ZD%O;p)dNEYq3O;2w@14Cr4pR_B~y|E)*0RENcasWDaZ{O?d}IuE;jB z0I5f5Ma6YKOR(%a DrvUyu9DcupHDQFa4#sE>e3aKx~)I%JTk` z6k+QI&svQXY$uO;6}H`Z!MFDK*9gCr)-KrtDh4v?(D(0OQG~z{kMY~=0+WpH%vW)G zrvv- 2_)DJR2#C1JwXN#CNpj*`{>J z8@FdB5ex^uynK=aQk2HF*Y(4FB^!3=EB{~o+j9L5PYH^PrWFZKk65y9GP4t{xQ3CILLf8LheG@vRGaS?%=G-IR%{2U*l?^>9&?T?R-0KNdX zBoapmmpIw@3#f4cpU#EEvis$STPh0j8 loZMMb6MmlZH?d!J)?o`?xSo@Jj1S$tvQpw~(1&UksIoLHSBA!lzt zxU>F$P0`I%>@$f6VU#w6BrerIzVgO=$zB@Y8^kZ5)f82G2pCi{9SU>eO6lzEOyK7L z%R|JyL)MssgCkzf3LJ-jPdeFyz`B5t$ytm1nGv|oAZIY;XmZ`YeH*rBpNPQ9SUN%G z^Z6zKTyi!*%Ah$s$9aFp8&{Fq%&~5Yxjg#7kfHReDk?APj2cWb2q#={0Vr?)Y1{Vt z%2w-W6|!auycQ96a1#4!)LB5|$imKnt}>ukAW2q?_uPe+0>h`0y}|;HKkw$m?xUt= za &({;gWYIG9`8DxS2qYV42^?SnFygk4 lWSfhN3&>2?2!=Jcopby-MJMQRIslh3$c%8^eH9!5S;D@LdlL$(8uk-B zHTC{9aW9$-T)CiA<>cgGtT4B3uCC=})NVmq4#P+wswFKzC}9~uKQ pfGcwO{$Z2kMsHE#7}=;j3e$+Yq@iX1+Tcc98Ao?e z9poDTdFM87vjWHvvj?OMh(@4L&QDM0!1mML$$uTb3JMfT3vO;@couJZVLEWE8o(IT z &Y%bPyz&($Z``1Ie?-z;>yj=hHB24dGZMaYZJJ2-ov|~Byj622;zbZExKe@553k? z_*;U|cfrfu9nwd;9u~i9fDwBc8Y*B|6N*g=HlCu;Ta_>nO8}k&s0{)PsFETlgDgHi z1m`!5)6iRgEJ)jV7@inFdIknDbw+O$;-6D8LTv !$(6XQCQSnW3gC+=^pO19Z7oU?`E zo!SIj(6Jj?{c_tmdF{)84pa>&NmVxrx)z98bkqA?*SMZ8eD9lc@xGNS;{CsM)mtk6 zrThYmN6}H#Q8y?DiO~&%yTvcTwPwZv#^Iul?c&BEpwkK#?zdOvmj8eMj@(hOPtCsW zwG)W);k}B9fgPtGKmqQl%L-Z>Y|Gj7iZRu1C*Oq^|3C3xT*(uSeQG&pA(7VYvgid* zq2n|SATe7Zi#Xr0wEtWxVeh3!vUitNb$KdJZXD>DT~T35><1$Vd5g2_Vd^Mv$Xv7> z7%nbJj)|@qU+MWDt*rNCtt^Ypaff$!3#Bh^3^QImV5uvJ81EOc|DhS{O{vo$nQ}-O zA~pB8+05~?n)IGmBG|4QCzK*Ox+5kc19EmfRyxly-hS80icJbfe;2NO_ZM<|zu`P6 zUWJmQ{f#ej3q*}QNg6Y{GZjPQA-v^YI_H13ZmM94@{ uhts %BxUO2OKbb+v6-aMkz+JzQmQ<6nna`O z1RAn^1(a`$jg7(65Q|DpPxmA0m!UGSdv~kNjLMstRi=oi($IGk==ol?DXPD2UsLw& z&0b>l30Ez1HpK9VOGB>-2c@A}&3wJ5xwP=_Mc11=YBuo-*Q4qhYMJQ9(f=+lGe|6o z&;E>7yl8|wl}PAQnP=hv2t}&;osy;6sztx@9F^URVSY2Krd%{o{X3(mLCbA+oc`v= z9+`+kB1b(v0{`y^?(T_3He1BqO?{wXezJaT#h8nRK~#}9%iHIDP`gMz=k3sfurNxU z*$DN3%6D}fjmAUWiQV-xr(N%&R$)Fbk#$D##;N+^q7pYB`yBn18fg1Dqv(XpWw?}} zvj6y7m-TL!6MM(j#{7l}SKM!3*$N^AgAR#3hvAd1jDTY7Yf?FNS>^7Qr;+(A8`tF0 zImR`O<(kmzheYg}lTYxX{DtDtei1!A0~4-b*^&sqc9HkyooeV;qGyo2eO+pTAqc$z zkSap+BH XI(K{zQIM4<=QG4j055}Aq7stqH_nC7_#P`H3K-KI|=||X)RJhUb z60EHJY2TUKi2jDwe0TCqgk-m`uB?bVrq%M!IQEB@*GS_dN@{kE10r0e-$ZFBMSd IMglbO#iKs}pK+1j7z96-E^3&h_m*Ak@ns+7M%tX*;p(|@m}ettY>Ijla{t8?-~ z2+?#9JK#;75l-J{aus*Pp=#xddQY8%E6t^0#@|GWFFheo5V_h~beEwvDU9BtRim}p zzBNJn5xF&9ua>>4;MBJvYX4)80=8xJH0yifC``8HstVepqKSim^6pNCQ$@2%eg72v zdr%?-4lT|4cmh(>P;y9D`{@2cj=#?hsNf)cdZGJcMI?NvQ<6^Z9)S?d?PP*?RWjgx zx;|p7nGXFY#@iCgq(vXAvWq1dLeW(An;WyMdrJ`uz6qUdSOW|rCW=;4g!e`IsL&a$ z4D9Cfu8@Qx6=kG_=43~$jWfR0dHtU3SlzZN&V{l&rk#mO8M_=8Dy*WTS>1LYd&>$T zT(xj}ecj0f3kwPI#~LCnK45F!$tp n!BT5fRpqK_xRGH8>1Awe99ZY+?j>!O%UvCG#?1>;{|KIN6I8CQ2jEU`c%H^9 z=6Skhh?{znR;ty=iXWTb_SpT{SS4Eu`Mjxn9{s4rLC1&y-LUSgsE7y14qzppBp2p@ z07>UngBmmRO2Zzg+$vYmy7ao#t3kYfcrc*o@UAUH{yelDax|VhofB4tHKSW2k}y&w zf(_5h8>jrP$6A_ny|3sdl6F66-~L)7GfiP4QTvZ7FawOZYyuZLgG$pBv@Uyz_4W-N z&NM8;TQ6QPk~-xl78O4*JY71PqVl}{5D+}RuZhs*O$d&4D+ucxZ*RqD_HtXywT}eQ zO-uyte3w1R^gk^U{@-K&>VU6v=5|^a(uu{U8m#Acx%lVBw|+XT|DnIth{3h{idW;- zrW9?NRzWpQ)(=;_XszwutSx&Ltz?+AXI~u+9Op0lR0@PJFoWGSYZ`(}fc;9Xt#Q*- z!#=6ojy1h&Edg>Y*6}PG=LyTNz(4tU7)S-bRaq^9mv1;cFTDExeb<%hRkh5d`mZjK zhE3LxO3z9s-utriL^y5aF1N>PY_4-WQ7IpX(Iut6oIc_+i0TXX#TOIzDpfi_a# zzZwGE<~a_)Ol70$R&&hVX8vg~9wJr#%#to;iu0+gN9_l_&}z(hkXe`Bxh!K;&cke+ zG$3Ep)%6*f$mmj?Tgx($Ak+Q`2|OE%!HnOV+d`5LU 2D;~e=U-};-a79 z*qBn829qn|jwf$69x5VzxXkbgJ2g65fRm4omBX*gsj9B{HlD*V b5*sUedYN%stxWaL0pC z15kjEu;9&B#azvhrodDHt8MMx6o^H&x*!+fs|&NoJg=D8oH@BL1iJmYV6Ud7p-T_? zaW!|-&8?RE2(R#7D=?XFWA~Yt&a 4m9ISf{7W6&IOfVyp`a_=Ub{F{59pqE2;Ss%^I;Y|*DMfdB%JVpLr|&%#Mb z$<`jV3Kte8h0My#KZ|#=*p S zNQuV{?Uzd(lDT#D7SsRge0(6K+YU~j3tJ uEs|u zCB1JPSGJJo%#7?WZSD+glIzrA&QN08ozW0@ys<^+$u=Eo*T47kohTAcZnp|$O}nA< zJU`rLHk;mW)H2L6*>d1U|H{w8*?+kc_hWtL(xWcyvr!OzE9isD6s!abW06H`!l}Ri ze!-!g1Ki}>CqEq4twsB00up_Woz@(ziD=&YL?heox~KxJakQEu{lntBJUtz{vvhn1 zmSZjS%12WU5eRZr=9<@E&J5q6I(K*%Y3!S-*PrwPdS2Wt>((Zo ^ znx?m|4!aD*`O*iaeC4X{tRDZ`6*gHY*x}&%#lfZFg@cs(dcMsX;_01yd>N*lCMyFZ zZoABaxO2Ts0+}K1?j2rU2dUb(5u{sa-fIf~O&F}vq+%W)H$N7CGdbVg^_bv#OTPHq zO%5!?&JU}VPd4-<#;N!AzznENRc8gqs1oT&MYi4SeSKDw>uZXpO{#-&hZDKafx>)} z>d6J_rA68BK9GNxUyJYB@^C&Q*6 pA5L-x@2EUL2;n z$3FJfSp%PZhLDtdIWId~;qA?Jr5j%sj^#OPtozN6i1sx)b3jC>kwvYwP`BA-&}n|^ zM~Ti=&-KxVi;Uj%OT%S%Sd>oR343;L`}ToFaWCVR$Z=G(0hF6JQ5>uei qgw< mU`cvNAO_wPr qy-yPE0b zb|y^F78w|;HF0q&S-~fYDMsp9Iy#TN>?U72c$Gbku!D55h_rOA?dWn{94R&=@ZQ$F zkJOrtH4|ct`xBR xAyAz zV#51TpMo=o*W_xc0kTNZC~#n(S?zWscFY6_^BQ;l00J6oQg6AOp&ytLpRShR=T|Q& zsQp!ja5ihQgUa{ue0U?ZsOXz;7tOV=y<^19zj>Ji=|U;t+O?TP5SGsbu(%!Tpgu-r z5yUq3y%2wd+FAA549nWmSaDn1Qiih=ltL1GwHtTmDpc%?mJE<+J=&(VFd=-L@uXzn zPqPs{&G-e*+6H2iHm@DV`7)h~@!LFom;#5PI>e1OaV${!PRYlbrx>kxYhs!3L@p|; z8F?Y?sP`pB+wVN|vU BWW2aPoB)f*=Qsd>srnmLYW1{nfWEc#I?vW~=+{?s6 zEK2W OZM>Fbl4b39IOmd&zW1%EHbBAN!d%=l)}WwZK~k1 zIR3+JVPfu#mWHTOO8c#_)yBw^!7+;Q8q9q@-75 ?1j(#>fcQFzUA#kaSV@0D>(D;MSGU@Y`W#< z%l|g^{a>f-er$QXMq}`D>L151GHQrcD$mwai-xOI%kD4rrW3My_gM$GOFgJhS+{(h zAD6!_;I9f~j> K{~w>~Lod%+ z&)iqmYSJWxsnx#Kq8c(eA5ULBAnI3fRaD0U*o8&UBl1j%pVG}K9Y3&ekceYOqwLe$ zw?ivq#QH(&YH{4T5SMm?u(wYSua{=monSj8iTXoE+q{`%L~VHM=x4e^p8YkQdFx*4 zErHI<)9sj(xaLelKH`Li8+&bg%?)NN68%X@yJ7LGqF}k&*9UfYIUo&KjIYI_R-rz& zW<<>O-??J(Lpdzm^iHZu!xw1esW4^d2Cwhvg1B1@d*;p8BEm^pD|J7gFs50KrZhSw zwia?1Y}N{0iKvz9x_z~}xu9sXmc9MRr|Cy@))twC+J=xNusdyqX9}q{7(G@~v-?Z; z`XWy(+rzrSk9+t3+W`K57lGoy;k`SC+soTz3&+<n%ic27_aOV@PieHJNM8WU@-A zem&mb^2Cp=&H5rG;cT%PkbtNBBp ;f zkjRCMWaPAH5h``+z^^nYUgD`t!<4u_vidRRT-BwQ4LTw8N#2NSiNHoy5^AZ0DBF)Vt zKJ<>*rEJLiQbR{~GO6=jor6qIPj8YRHtQ@)?5^KaDd3<@4l2CS{%a;sQPKshi0f)$ zAE6gmE3t)ExSrfc@jtJdAL>?)TxwFBjb~(3PS$9oes;U! =&3bYyN?toVYWkP@7Ry>yqtzRegJ!{kL>rWv0B5)gNsyBfjx$ea7U$-mqhya- z349W=h!@285Wxe)A_I$!+CEwTdi~OpEUMcnDU+z{K*sV-$_6`nzvR^-=Y6IZIEHaM zsrP>|C^@m+V0Jj2Dyr0bvg5@4A ~eLzxmUA9~?Jpm(7X zITR}dEv(bWk6*ePaTT4D6$|1N6Pr*Xf>zEBYIase_#}+qP&P+h4TKDoSIWGftE1NQ zHo2w=+Aa{DnE?uC=- $L!qD1msj89` zUM`2O+A;)D=&R`*Hm2&!_YWaAyzs;SpCQh)FEFAI0Y#A%0^9(|K#*j(yQs*=M+Qs6 zbmIjj71e8FHR!wI>#9&(9JW1#N~ITkRftQlFS9bDsLYr~T(mHqQx%0Iuq=wEQ1cN8 z7)o!%2q0>K*GO{;8QTO>J^rIDss_qF;)u1eT}JJh;{YE3z7?~vB1QpR&gl#1Ul3~y zdIukv0Uv~${D3dQNwP>yU%4+pU;BOQV`WG`d!e>(a}=5pz+TlE9fh -S!jsjKEJAm!shaW6Hv#m!LT5)1A*nJ7x1!&J95&U<+iN$(vyrD;(UP|DE!|= z`t<`@WlX6;G$Q>rs_IZSN}!$r+-6RnifRb}HKC=x{ZjQEot>DjM0f=5pLOc?3X%m% z=?T|Ru7r?5stPM~3CFt%@(MS)qUGcY$PQQRfm4g2QpYY@fv$mbOrHNj1KrOa2T_A# zghCo5QHf4`MHd`@zH^WTLBeSx8RHq5KHq04eZ*a;UD6`F>h&%fu5t(;i2@QAml8cS zT}Gd{rS=TdF-pq2sC@zs1?5&MW0X_TZ$nRy9FaiuveEQm@o`47q&dK@xeCW5##<7V zIo9|@A;g&m>M*LD37ROa7DAY(F|4f;`v!*<1ysc{KB(?OaTXv#vq8Q3Xvv_4ozNU( zmXG;!>(+>i))H*YTwGR|yi7l6 0gj9~XN%H L;5Y&jwsqIxS6Yc$b+CnU!U-{T@q~N#w(r=HppvRX zAj|+w0A$|JFPycIF)F}5hYn noE`bb`3hO7T{Dw2Fy>XiZANLL2TW7~NRu zu;rG^obix_0TSz=FT}o}#hq{&oJi=}$h +Bn*HD*tGyYyp@f591+otqs@BA6Z&Y7dNkqRzhN?F=&}E2l9+gO zGj%7Ho(xuYBfIL}Q9xAIzE*<4U43(tVTD9H2i2xS99kOn@1e-z{PTw!AOI$-Xc$2b zU~mmAPm{0 8<%VVNTUz(Gme 1DK&XWhiWA!-JOP9YHAJPctSPMzV~m$y$C_iiKxUJXfIb>f_Q&cMktLH%8nW;H zc;LK2^o8QMCV94ROEdEb93-p8L#5u`3R+j%lD7dy{uMxT6#f*^u7cv%gbM2+I0?$i z%1+gfgJX&1((9U^ho>s}i6>1sPYWmly8oK$S-bm?Jdofvon>;0Bk5;{1IW!u&Hk zRSju`2cMzk15A(#YalfDVPEC7Gwa|r#7KoCu$M!oXPK}-md`7IaSARpxFQ9d3lz7% zH4`qum>^`napMcjqg6EHRga;Km<@{I6Ii-S*G?^mmUP( BU53f zrhCiKp%HN`Iv|{f{dCzzw1XNKI$Xe_k {vW@FUs|zAr_B4^maSI6-{1?i^X=+%QvI3b4G;{#B0;US1DhR&7ru_c*~5`h zQQFQ+{Xo@@*k<~X0YfttOlK$r&05~!51|6~Gx#du)v1RbIxOf@rh>c+vO<*sA!z4> z`x=i{6E3(yws6p9MK1%NV_ZaB8^11$cxcSyK7;>?OL-dJD8#Zfp=K(qt_QOX&2DAQ z_jr0IXhq?o9%0(By)IowlkrPh&mVnB?W7epyuJIcGME8uWatKE1C$NaRXklOBLTh? zKGy39XAB@=uv5*G2Fe(yQEOU1>^*=+Nx|%% ^&p|odwnZ({f*0&pG5X@LIjBQDRut)T_D*63~@FYLH z)=wBF?CB5Z%-9%VQ9QGR%X|0c|M`^^EVw9-${spjW^-pX^wDnvx_^|sYT-elo9lkV z3w^&&{>%$6O>#r8 q(vbM0>)O(ty)*zZ;9{mI9#8PS+y#=G&c zp6$I5kf A3F zJ@a%fciv&NoZ}kQ9CByZ#J70ec)63Fc6M>a5C*l>(dk=?6I@xSU0SVj{WIN}mqImQ zT9jZzsFf(K4Y;zyY`L|fqC)R{PIljS;f;Di=O+MR-VQn4idG-}O)sx3w}uDvSj R?1dwdHmW5D|mtN0vmwAk0e)k~=cA|3~Z}%L`fKo1Ol)^Kox5Z5v6A+I&sQAiccx zdX>R~245^iOa!WS5TZk61D-J4`T30?KA9`8MIHe>@!Zc3s^sb2)nAc7%Fadv5mooX zd8gWiZBq4cQ)7%_V7_umY1drGKwla6igmNUP=2d&j*8EIWNv@RMPBm`qqe^7wGD3> z7!hC`<8pMhcD54DcK1&ii0$6`q4zwkcukFP(n~>Q?=$y@4RP0_MzAq2az9E|dvG1D zB&2 mW(rYq@`Aa)H#}SkCGRbJBuT!r*<@z&! zYPI1>ujfIQK!1NO=b45N{leI_=h=Io^o{j}2Rw~np+4|_F1`5HX}LGfvyiNUTGgie4AAfNXz3)wrnf31 z6B9N zps*E&Crl2qdR9 z?pa$$Z*1%R{e{9hH@tXq;6vPpeS(e^B9C^QWMVQ678~O8!4UCBLEw|| Sg z8P+bX_l%hAShYcn-i{Q$s=JWqHIWB7`ffFbHDcL$d0y*NPRh!Dz7Vxw4RhJW zNo4Q)b6)xK>P8^xg;N3JvV0L=2 c751pt|ftcbS~q| zPL1{Y)Ly2!C<-&ZfC zDc`<)ri+XnHi`0ifzJErno0d#?L6ie@@<0(@2}P{``zmsTh)Ehy740^($LU$9Y&|_ z<^KILVSMRMZfkzoycS&zdoPQMYT2zv;GF%?xNyf-RNO$H#}f;>9Si!OIR%fpsc-%% z>$jdh|EzR7av_X;#!-s&_*kw$3WuIbK}-@-{*u;-&F{gHz5ldA`uA(>z+Jp)*N08| zoXeqEq?V1&DTN;G@L<0AV3RhM*VbZ9Q8afws(0d5^ *=siF z`m3nbm1fV$EsW}fIcJP?W?0kvdr_U2Lr!?p%Qhmhw`$w8t9?8ADqRngmExy&=0d_> zmo)#{nQq4}rj2$5SMQu<;W^!rzLcUD>PZPc?th;=dBm$UO~3NS(Z#x%$)dVyD{JmY ztJ5oqYs-NP?D||ZVCvmCC7+QXWU9o9-niKoY3|U^n42opB#q7Z^n4a B67R7y$Wj^84YHzM}cNH))o(RbrRrs7@aj+ CIelDpM`*DZvi}MN1N!o?M-OZkXe@hYuy^on0o&kN+ z+Q!CPfS$Xr+7=6+sFhXd(tBtyDpK@~b=82PQ$n0EYALYQS+=B2D828OFAR=oD}5Rf zcj`vS++>jUj g32?l(8x(wEf+eid`Y{C5(m(py;>p_1KP?HYBj@`n*YnqGMS z+Z@9`zHT_+6atEGB4!^}DJO?}3Z&2 4^^L*&$Vgc_ z)u8Ab%d$PAO6-XWsgce+N3U$LtWcHSX*l(B<0xKTs>m81#J-L^@ln3h`_IX`+M2`4 z%JtJF#SAX1$s8?D5-Z-&SHAf4Nfecik*{yHFqX>&r?ooB- v2@?s5HcyfF*;s#chfe?Bwr?!8U UlbqlMQQT(B;##*T^!+peyY^b>l1b{ZIvTEk&js7uf|?)-i;& znbF{fnYFz~7M6>Z)eN~E#`9 ~Rrsr4 w*Ojth{_j|#GuF{@R!rJ>wwm6($*WsC{Q%L zJo7yy5bT^dW6T5^47MZL-#vKE%Yx%%qx?~H5=GdGDAf-AN6eT`OfDlWTJrIu^ZJsZ z6N4u5q)Mt?K-7(x?kUMFM>==N)R>50RYEcq393 fbjliHY2Uu|w6f`<^T(!XWh37AjyAg{^Ji-i#AC}SycYROxtV0` zuIy_B2Mr8lL7o*~ a}G07_2}Eg2!0-=6B{?m9xYf=FgwVdh-__bN8!p5k*6v| zas&G~cAm))q~v>+mU-~F!O30w^-78cAq}@1igX#~?M>a?MaTv-?xUeeFmA&tqP@{n z%Rm1;!_T(%ljdeE$J=vqW9Y&v{P{Rzg4oB8(bBH`5bvGKFl$eryzhQsdg|~wf%%DW z+!a7uX^BdQ@g=529}Ai29KA}F19;YBZQgiaTHZSz?k-_%%P73|Xe$d($VaD*9CRA{ zbiMr^JkY$5knwBFHCMx_eV?C{7}_aAU^!*b;=Wk8G_f^+lsS+S;JE*KH4F9gV(S6F z(%QQe=&3;NiHPTxll$g-LLA(=^>30KODiiy3vH&Ta_!x|J;#Mq=uA&V_41tV;}~P` zB`dFe;6k6&XeMiL$rD13?AsR^(Km_Loic&wab_f(7D{RFn4!Xkq}-W(7m-~;Hgjn4 zpUoktv!HG|o|lP)4(h9iy-HE&6yV|3M0Ze1Uyz>NuOTlpukV&>(Rq<79+~{YXCjaV zhZ;uz@GvtYIA&yhgofA^FWxSsr}WXU(4E{o0ZHQcEw9L6w%mNT$B)~*$*gSTLmAT? zmu8SeR4 M0az z&sirJzj?p<3#$Oj9n7hlTNt?M9~PwqYIgQV=4G?ml{|bt+6r3Qq;8|tF$yTOqkV;C zz*BUc>@`g($V6ubESzUKmJ=zwa}X;>nt#Z4f9m*UezeVVVw=Ro$lbj=1+&%yb|A8P zrJp}PxrQlZx^bv_%pHp;tj9-j L}m0c%c9zuepnqU^39v5{3mci_EB5rufCD{>@iueHUK|3VMS@b zZ$xvl3^&o7CxmD G(vKHKA&N4qdJY;IsO*NGwfRyc zOp~-lQ&Wl*#;rT&HknxSHIuPcJU*sMm|Zna%_wMUMh(7ceW}-%0R^SV0sNWf;uLrL zw59Lh!@YF-eBt4#WD!)OJq{*Ci|rms*|o}kw}NrB96tSK?Qz4kRHRs3NV6~9Kb4jy ztEJam48Nn2p0OvK)>&sui}$EYPY&Uk`GfZ1VfN@tqnKNiOGW!&%%BJVZv02^<%F$C zCk911`%z^$#$|L96=`>HjoIW~T>cQ}gnR(bn>~@Z_wd iQ9i8k1{_U}Gkrz+8?VERC-dl#+s#deEy>R(S4O zLQ(X8P7*~K5~Z&TkFSwi&!PJ<>Raf`z1gpV3w=YMI(GB#$i|`4$}s5kP)xk~Mt{~o zb>}5=VgsugEfJW1Z`PohnmAmwFgyK527ccg<6yYH!g;H@YYF{zR6ka1w|E^{x;)(z z9vt(RdG|SkRnavIMn=N4+*~}Tp&HMfLpFE2Uq-ngLaJT1N^r{~YG|wimqtdEh1mlY zho2FdfTLfqRQesk5~nyxfH+nTc%ZugeFj`r-Liv6IGrOsL~V`Q2gXuQ7<#WCvAL@a zD3;CG@(Fe!EnZd8Q&KBj?Ce^ir$|JNPtzw5k=4Aos2Z@m>#!Z}Ju2glcg5>rmt|wU z L(pIxHAcKR<1y<{N(N=T1eROn%Xc|a`>q(Mjmq&gN z+O06oz&4KTj3?Vo_f>cq2I)(vwVm0N647@Soung;(cLisS@o!tC+_7?PdTHQ@HZoN zhpdm48f-bu{{2z8+M}lbS<~Z1 PBMD)kFUjf zE?G9>HSTrv&QtY1-2euTl~#w;T95mhbnEjwjIQln!33S2t0gW@s&Ab{iXA`0aoBTo zp-DHLz8NuuaEhkO;)Le^!`62PQoaBG*S)vg+q^17M$uA6nHf0^qs%fA;xx#n% (c0iv@|& zKR{ru7FaqdE_`K94S>YGBdz1Jvwsj@xzKICy2iXEhq9p7sT|{!?^8V1ZW-n}N_((W zJujJDg20c=Av6MjZg4D^Gu|Z^JJj-!4lPNIQTA)6?k4h6d2#WU+1Xq8&&5|3B^2ud z)39uOXh+VNNpL@gQV0b#a+q|)chvWh+T<^dwwfMliGCbs-&%RnxGH-jeQ{m*+BpMs z?6eNqpvTB+{W%Yp27(Rnb!Qa-NEv_6nd#&`%*w|Nj7y$6LNpZg7(vx$CVsLJ)S)HZ zk?qw5raP$nW_QEt(S1Q+h)Hr5jt7I3(GLe|rC9PZEGSIoJr=>m*6< 1n3=dVx>jh4}FXq-DK`_JA3`3l;Y!)Leq!UQf^tkS05Y@A1&xim! zq0ItAi9@rD?1^DY>J9R~i`|Z=qK{{JOixe4 dbMx}X zADgrBoEe3U@7ye0n>yvhdu?WH%=cPDTiYB! Lkc*FXx;T_2oKXhsts5k7xj*L;J_wHK7Ng{UZ`?rt${9HF1Sq^W-H zL943ji37!w*Phzj-0V*_t`6GI{crW4#rXA+jt|41ALwQ$p36|3GjoTkX9y~F9m5|b zY`0}uXqTj>Na|AasQB|tUGbi_-Icg^XX8!_+y7zDU@$_jxb4lN)g-{H=lLkKOmJUn z>XNmHyTewPm@|SFQ6GoQAru0gATJS!?MNQFRJyL|rWlDXvxS3$pL?H%IaFGf&;$iK z4prDD3o-NH{%_y9&|Cy)LeI7yV=4EEh75O}+R*~kj&4ss!aB@)Qo#Ho0G0l&%U~qC zc~e3b1QZ}fF*u|4#!x63QxDM=B&2x~6%`eQf|QZWY(?K2O>(M~G?6o6j-Xb&x}0od zM1{YAzB8~Sria(zsSSWX4i@AF8Uce;)Om-ogHY+|ZfMZZ_urR%Htm?>ACEr}Lm&~f z6QQe#2>2m~q@>`}Xv82E3ENn!^m^Dg92aeTK!XV5RR@O@C}v|8j7DsI0}y8aKT;hu z_ciY-$n^?6>~e-a+r6|XE+9~CC=}DZM5G81lSu|eyv{^3ker|yFXKi7MnIlK^+R)! z=;b2~LCa$}yD>ovGpgm9Yodq`#&U|9*1zxU)IV$i^bTTHAn`J)PtTCEl2qfdGTb(E z6Mgp=EZ;#XD8;~Tv|Wpw;fX8>nQ1;6s<7xb4i0BpaOJFABv==`elBvk0IWgV@%buI zpzP^a=}38JD-$sTY^Z=7nE+L{73d5ub^;=O4v0*&Kl1YyQ?1E}QW&611Gl`#mpzm^ z)VQXv5{`;q;NV8_(YMK?2(P)JIhl#*MAaUq@YUj;@cj&JyI)yuyWhim`b#;$EH7T{ zb>m+TX$tl6+T)&!i+X dV zNF+?fdzaJY45<}8C}Auu&J^1#oG^t^f$<5B1*|3$YYxRGSTleeJJ8YB(nB`SLYV>A z;X8~DOHBl+J6TWMzW$%z84S?FzJ0yhW66!aft$ Bbom}G79pDnB$pY z#Sy11;eAYl`}_OFFs@S67`5d6UBC;XE}tLyIWb`AyL@T~2CDRC@t2jzC|-CHhs zjW%V<2pOWqOB$A2_Gy~H{G$8qiU5pF#N?R(+3g6PfV8w=i|0q@pE%o)j3NxT{b}T2 z_kDdG9UM3%Y@#hadoYdgHMRpm15h;@8`1mj#FxCh&1l2Abp`J9Jiw`tS0vv&gVo&Z z7a~?19dilLvtc @$}(mQol_Tz^SL(tY*yLPS8oKYQ+Y3os($+J(i zk4BP&@BRtmNK{#TOO-i}9;W?g)~#EYnPQB5lhBIFlWdhkU8=>rJpr)gY#x|)QOkx4 zjjiLrTtoL9MaeniK#zr~o*ZLej=Mg8`uhCYT`X+U9{m@8i1>cgm621wdG~z1UZ$3c z-}sikx}6CXwe40;N>(Wn;xz$lbY-MC0n1@Lt#VdaVEgvh-Q8rCQLV!!5pL5u9Y;AJ z7(`XN CsEoXRPGebmtxCr tmG6c0wBs>-hs*g;p7*-@6=VYc+6! zs#oF0SN^{GT(P^pC@0~qEr+sN47`E9@B_Z{tRpcMdzftz7s4H}f!QgJ0hn6(sMDS7 zdaz-bS(l~XyC=f+k-Pb*W) )d )lPwn##z&4^ufVj2X653WC!iw 7?Y|QuJP4;5 z{jjLIf=l>XM3pT?E!#N|6$5Lj7ccmzeU*XK+akoYZvxR@^w9F(ijcRjFV~?fpOG9T zw;;|g1}daYlK&>x!Jk6shbqVKtUJi|0BfWNMYN*b7?240yG>NB)@+>{xMHcqDVEEn z2~YrPe5xD^Ii^Akufl!GxE$8xc#38J8ReNJ3Q>&&;8n{|hvoj6(+?39CURkk^HCOq zUt{7`e@}~PL*b&S QU0Vhh}CM}J*E73la;IGtP{Pe;o zA0bP!ZpJqRFNnw!Q Q*dn87GtyPM6cUjwwG8pN*}B$KoHJ?5cbl(G^F(K=3s5{<4D z`PG%9NY%2fyHl(Jfy0K*SJbvS80jYOsi d{h*T~E(yGiA#!q5XFixSP$ zNJb59em*hP+`+~MW2EH}(EtR2F`=|a-+>#aVk9MW{u(k-6*+sH5l6JxaV)&fWTZVS zanuj4)(q6)%NYV&^;6DCSX*1GG{9Q! |d z97&d%!!w~NnJ6)JdQ}*sh6T?*sJKsL &G)%=qu?)L+aEo-^=Z{*rsG_gsaUl8(U~M^t>F 1J%s0MR+hJ&KMPdf$D;gf`K?d>hrAVUPt3URH7iXILCLXsr%X?Ns2 zu)oB#ds*-wQYCBkF&Mm$)$a5IB#Dp_fCk^-jXJE!IX`Z>Z%F3NTLcJH{_QnNA0tRh zDAt*&LO6^8!OjmMO(0xWZ{$1&5Gt+$yn un zbJ>JLT0Au5e=AnmRfpJLBRi0LUsa_-E`NkH&m{Os`j@NKY3p0s!_1B+3MDlk$ixYu zIv&+S45Zcl?LsFV)r?_nNy-TXAdRoGv|ft(v%?XQE}lILXDAC<;x^}7{>Uk`qD sX(-;F+h%e@4#h 6jS zhJ%9sGDtGe%b&(+!VtvCG&j!EmbvDQFP?AHW}WgkKcR&rqY=c6Ki&9UH0OsA>kqH> ztsGJKnTuf<1QHQ0UYuIQw_bn6Pzsc6c|!sTet?OHL6PemL>%h^WM%EoK>?)Mx>d$` z>V@LxE&RHg50HsJLrMYME$TC=UX4jQ4SD&BCb9|&i4OlD(b%WxC-mlG6OtrI{h0=5 zyUy8k_-E7dteIXeLT1%e$|tFg!S`WKCS{>!qG_SszIr3q9nD4C0G1b@l1888NGDSV z`g7HfRvMSZx_>wjqzv`f<`yBr|8!A^T5?sFy1bl5daMMT`m@x-CxI2!O8ttu;-ER} zB*X+?+$kGYk_5Qk?9Du+MhD|0qxW3ank3@b7vw1F?M9n-yjfPAx+MRVL$dEQjJ6#_ zK;-c)cYrwHuu|x=phl$(eg@1WOjMeiET+Atl8X^3$UtbaV;oF@#3kYFeFD7pgSAK9 z(lwv7e`_>m{>cyb7GVo0IjO}{^-AzLbFl9?IM|IvY73cS>`f$d;_8?licrX_9My2U zUAr)-(yhuKL2gqy6a}Fx3=`d+ZJ8*K!Lt{If}jM7-j7&D+sNo>vTnlN6S#u1vN4fb z5&5`WUgfxm{ncS1!-1DE#u(ZxrKP2@3o^Fmmyh>(JXDE}7~c}D{3(|0h}I8}+WJjh z-+{(HY!lv0%eZ2&WiPrir%Wpm_fX7rB5fYSQzR9gw?=Y3EGL<3*(B9wA!ZH5O0vr% zxGqS|s5AgDoGjm%DvRrqz9{gt9tx%=hu Dy z7E$roz6~v!jB2%$g>J($#hL+pIzk$A*5-zvXfZpcBcJ45ELlTmYDYeG(_MT%2v!I$ zM(PDR$ayJZ`I(}yo&(gi6EpbfhQzR!Ch+PSkammU$J}o%@`; #xmIeIGRrn-HHvIcn|*PS$CO(@ihMv=S< +XjCKu%fDIG zkh11z-T~1-e8^#`)P$h%EM?v*3xwU5c9 zDJOR4YF(7U)etBId1asHD1`!2nR1X&iG`SUg62son>KOA78BCZ?L;2!JNo? >