From c2b3d24baac78e721e2fb44c5a130e6321f6005a Mon Sep 17 00:00:00 2001 From: t0b3 Date: Mon, 9 Dec 2024 23:19:56 +0100 Subject: [PATCH 1/2] CI: upgrade to ubuntu 24.04 --- .docker/qgis3-qt5-build-deps.dockerfile | 22 ++++++++++++---------- .github/workflows/run-tests.yml | 8 ++++---- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.docker/qgis3-qt5-build-deps.dockerfile b/.docker/qgis3-qt5-build-deps.dockerfile index 16409f37df79..2ff2e92e8c54 100644 --- a/.docker/qgis3-qt5-build-deps.dockerfile +++ b/.docker/qgis3-qt5-build-deps.dockerfile @@ -1,5 +1,5 @@ -ARG DISTRO_VERSION=22.04 +ARG DISTRO_VERSION=24.04 # Oracle Docker image is too large, so we add as less dependencies as possible # so there is enough space on GitHub runner @@ -14,6 +14,7 @@ LABEL Description="Docker container with QGIS dependencies" Vendor="QGIS.org" Ve RUN apt-get update \ && apt-get install -y software-properties-common \ + && add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-transport-https \ @@ -27,16 +28,16 @@ RUN apt-get update \ gnupg \ gpsbabel \ graphviz \ - libaio1 \ - libdraco4 \ + 'libaio1|libaio1t64' \ + 'libdraco4|libdraco8' \ libexiv2-27 \ - libfcgi0ldbl \ + 'libfcgi0ldbl|libfcgi0t64' \ libgsl27 \ - 'libprotobuf-lite17|libprotobuf-lite23' \ + 'libprotobuf-lite17|libprotobuf-lite23|libprotobuf-lite32t64' \ libqca-qt5-2-plugins \ libqt53dextras5 \ libqt53drender5 \ - libqt5concurrent5 \ + 'libqt5concurrent5|libqt5concurrent5t64' \ libqt5keychain1 \ libqt5positioning5 \ libqt5multimedia5 \ @@ -48,12 +49,12 @@ RUN apt-get update \ libqt5serialport5 \ libqt5sql5-odbc \ libqt5sql5-sqlite \ - libqt5xml5 \ + 'libqt5xml5|libqt5xml5t64' \ libqt5webkit5 \ libqwt-qt5-6 \ libspatialindex6 \ libsqlite3-mod-spatialite \ - 'libzip4|libzip5' \ + 'libzip4|libzip5|libzip4t64' \ lighttpd \ locales \ pdal \ @@ -62,6 +63,7 @@ RUN apt-get update \ python3-gdal \ python3-mock \ python3-nose2 \ + python3-numpy \ python3-owslib \ python3-pip \ python3-psycopg2 \ @@ -93,7 +95,7 @@ RUN apt-get update \ xfonts-scalable \ xvfb \ ocl-icd-libopencl1 \ - && pip3 install \ + && pip3 install --break-system-packages \ numpy \ nose2 \ pyyaml \ @@ -148,7 +150,7 @@ RUN apt-get update \ iproute2 \ postgresql-client \ spawn-fcgi \ - && pip3 install \ + && pip3 install --break-system-packages \ psycopg2 \ && apt-get clean diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index dcf2ee0d9d32..ea489405ab73 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -42,7 +42,7 @@ jobs: strategy: matrix: include: - - distro-version: '22.04' + - distro-version: '24.04' qt-version: 5 run-tests: true with-qt6: OFF @@ -244,7 +244,7 @@ jobs: include: - qt-version: 5 - distro-version: 22.04 + distro-version: 24.04 docker-target: binary-only - qt-version: 6 @@ -252,7 +252,7 @@ jobs: docker-target: binary-only - qt-version: 5 - distro-version: 22.04 + distro-version: 24.04 test-batch: ORACLE docker-target: binary-for-oracle @@ -387,7 +387,7 @@ jobs: strategy: matrix: include: - - distro-version: '22.04' + - distro-version: '24.04' qt-version: 5 steps: From e5df80d76195d77add205c48792ce1ebd3720d5c Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Sat, 25 Jan 2025 10:51:32 +1000 Subject: [PATCH 2/2] Add test masks --- ...text_html_mixed_metric_formatting_mask.png | Bin 3093 -> 3098 bytes ...ml_mixed_metric_formatting_buffer_mask.png | Bin 4516 -> 4531 bytes ...d_metric_formatting_buffer_shadow_mask.png | Bin 6542 -> 6562 bytes ...xed_metric_formatting_line_height_mask.png | Bin 3396 -> 3414 bytes ...ml_mixed_metric_formatting_shadow_mask.png | Bin 7081 -> 7115 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting/variant3/text_html_mixed_metric_formatting_mask.png b/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting/variant3/text_html_mixed_metric_formatting_mask.png index fd6b7219663ff7a8bec794d18dc9bdb45c824ea8..7d33e8e9a281b84cc8e8bd7f9c7c42ec44b43349 100644 GIT binary patch delta 1851 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%0DUw% zApH#LhKm4)RbvA(IXPK(?%X-(X#gBrjSa}u)KuNNb*t;x`1p9;y?b}ya{@R_8XJ&) zrl+Ut=FOW2Jq>`NCLjPr1f&aBUjaN>=b$HW5MFxerM`cAJf8P0+{eeq>w^zIs8?Qj zrA9_ZYHx4vk?+{s+p8NlZq$Vf7kaMC01TT(K2WOPL!zdqr|a(ByU%42{n)W%b^7$_ z+TGo)Z@&4a?``9!rl#t{4?nChAJ^r}m+R`)tNWe@z>CtzHIRNk=+EQy)f;cTQQOCtjHIP=T^+I=<&&|!%_V#uyFE97}n|I!Mr(S>k^;%zFuW!Ho zw(IG#OP4Oy($bPWDZtQbSJnRxdJ=;)J3Cu{|NVb=&++~4P@kQht>1tDz3bSUZ@yV) z&YY>Ot*!d`=b!8D-MjVCM<3P1#6&;Yjt%sK0=w9nW@dq&Dz}D{MT5g)2X9JkJgPFH@d!WcXzke*Vq3wHZd_#+uPfo zTLOO!oyMKQ>i3L~y}iACo!+{4?_Sq<)IX=ry2YcaYHe+;+U<7NvCYlR8XFsn=LGPg zG%g_h0g#F@l>eQ*4o}TVGe(Tn)x_I$o*D-en28L1N0@BZZf2eyMeNYbgP8XX;t-w$xuH0l)AlXjUeEG*RJ%a^0i-re2p zc_me+)2a90e?Q*ke*5_&a`foYzH1UAlDXncfF52#pFzRn_9+V*T;QAJ6Uc9^TnLHa1o}J3Cz$dKWXwYa!g_0O8g{iB<9yIrkTt6HsAwcG7lUS56>p-!i9|BHY_qH#wcQ&Us*-h1!W z`Sa(W%jZ4*Y>{@mT_YnS&+Vw8)9E+@0ftheF5|7L+Su5rm6etH{PWNE{p^2_nVFfo ze*O9*ukGyY)b8%Cy&J%PUgM5H?wgyNtIt0Btaf*I>+IRHPqjAjxPEu`ebUbKr_pY= zYkGS6nHS#y2BEP5xo>Q2tWKXkT}w+#j~tQQU!Uj~fM0(3rOur@*Z1?=?e>GyT2J#} zsAI>DJ=l=Av$NCl4!!^ft??oO8KlX{$!fJ)58`zHzrDS^2aD(%8ynUg50c diff --git a/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_buffer/variant3/text_html_mixed_metric_formatting_buffer_mask.png b/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_buffer/variant3/text_html_mixed_metric_formatting_buffer_mask.png index 7bb03d8b5027c4cbc62a12e704bad96261a5bdbd..788ba97eb5352242518a947309176c6ba292dd28 100644 GIT binary patch literal 4531 zcmeHLX;@R&x=x@6P^?@L&fV52x1%VO*w8*R=LxCF!6i~2Xo-sfY>$M8V(5nHF zNg0Y5B1VXeNw5clM};s2iUTCmB4cuNby^0jt}D zc@pF|R?j?ju~(MU_s7gM=kt&QmZB|D!~~z^{`_86OlH`r5ghW5Neg^zqa_OsGXQ6J%#LJF!eo$yv+L`%u z$nyi{M6Y2CwbnfUj}IU2nE6&~?H#(CUx0%*lY(2AJl@ruZ9%(eWAUx-?%K}cH-$Pi6rAIIJ{;R_cV-ll<0M;+A$aVWE*Pdt#4zZtE)@t z?mk8$kz$@R=H})e2U<|t+R{#MtJ}rvZ&)-d6pGuotqR=F^}TP+SyXH+DQX)p-&mx;bv1Yz`Y;nQmR1LyeE&Y5 zPNx?MjA!dZI|$Yl14Zi$Hs;m(dV+gDBBs#UoC#R0l=iz(lVU!g6CJ_`ru78e)qS5*}vGS@?rw9=^6+OHQDE`Rm)*HwH{ zG*G83R1myl2`r~7WD1=J1S7K_tK?M{ zGrlBxtqBB%@?6zE^uINe$$PYhs8|b=eq{VvYwJUNKEFv?HGZn2@xW=q-61RJnXe)c;NjQ#D+c#0K}f=LhYVZYrR&@nyTt&EKPMj-}g`#EKyKUa4TVy z!@;l9@1W`0X|1WoB^kvQ7%D0*F|lSV>pgpLrOm(T@+tcv>R_((ds=XyZ590}s4yy( z>e9~t%~HKb@Bw}@PI_>nu&}TrnajN1G5`udF;Y`mdB07HL^L$ec4UPG6@+CiVkZSg)W!BV#|IxI&0OpFe()?{qCi7NX z?WtoJYGhPYl+q~7)vphI>nb40fQk^t6n752^Unmt)M)77fmS#ls zT71pADCF}CYR&C&V^)riMk*e8_H0Pf=g{l9QceJinwPzG-|{y;a^xp|%KLVZv{xe| zBfoMoQKwIzj!a7Ws}T}=dBo7pY8iKY?id1r@Pn0c*QdMV8D`mAPo`ik=#Y@xot>Q> znZhs(datt^>$8(#aJ?Ma$B3PcGKK?tH;t>tD1(PHC&KZD?TMWAHzFvlu~F?{OYwe% zoQ1Dmb?g#b`;plBw{(n|0~NLicD;ys_;;FE9ttW=G1RSK}?U z&5mkqkM73ACv42BA{YP$+Ai{P%<|&fGD>^9J{3hCb%A0-SOXp7eDRB?eXFI{etz`m zkxa%dj!H{QQ|`H$ot+IxTjEQkWrO-+fU3?)sFySBdW*5EHXe_%Fn^PPQ(E$Es3 zG^e1ZzxORi;RRGl< zta!C|0wi=EuiWNbZ}}PqV+y9)b#ep@V2$2fyFYlL4vT&sjN{o&k#V((? zdWjqal+pzc>AK)+c)g8lr#pxT3OTQXm$?L55MLB!I4XBO-LI&aD(?F!3ALAZPg}o) z`^V&Do|96}icfU1vC$J@_tyqmq;GoszVhX4J-UMcWZbHAP2AmH5ROLYE|UY+XK2~Y zH*xT=o~yCl89_XC16QCe{!Ip3Ws=_BUW)Jvy9h(=!c!+y;e*MV8ketJIR!M0Taifr zmMyYVgZiL+FVwcD#un3PG^_CP={OrsCkr5-D;UZk)V<1TblAZB+xlM#E^HQ9pu1z;?qSA%d@@rL*%xv8m1 zcZvld9up~-a67Wj4ku*#-dI4gtKzLkQ)ep%WNWRg`C|M|)Scqu8kt>wt=&gnG!EzZ zW^towO?S4Lcw$~@kGy?%jKkrK52#BelE~=j(~b%mR|Z(hh>ba0T2|(}&^E4vJe-`H zi(D0BRTM0~NU{a;GzK`vu`U!=p$_#4Wg&lk2AoEYeB)O}B?qtEm3{o1P92JDl)W!J zN95`N;u{kD_SL3eleaGZ@aF?VCyb2ErU#9GHU_~+G{H>-B`)c_Xf{(}ehdxoJDILv{T2+sTzjX@D01gCmgp9=eM!JDZx0kB>)YW=g+zzZ@B9T3T9a|NkR# zU<5owg8VtkW^efDEWT4I!_3S~XSt@@U`=(U`n5|`RH2lEcdABakB_r`mZxR1tb1M! z_iJi|n->X28OPN&nAF&bd0?(A5r_&9XM1{FTv(v)g#=uu?h=Mn^}7Cnoe&#&hBCx{YLl zRq~wL2HM5NC0V@61|DNO77j#1s=oqqSX?292Bh^ zIjA7I^+;-Jsyo)v)9;X_r6mQAxCfNmx7tDU%zXA8nn&m%hr;@SQ2_w&)?ldE1qRQ% z!5>hPg`S=sE@`j<3^(=3Nb zjSLmph~z+mJ1O+bG%Y1ma3FI)oM#!%^87pJyS{T>=l}lkUN7%ry^Hlc&;8u@y-0CC z=e%vR{$>aSvhDOKM^6Yu<-yvuaRV4hq4Qc3D-V9X{d7^up{Z_A5JaeU{7YtmrpteOhveIwaqn+@l8RkJ8=_ z@m#kqQCCI9*vSEMO6y-ADKR)m{VTInuX>K~buH8kp%Q194#!M55(osY1aig1o#I_2 zL^*rt(rasXyOHd7=swR%EyKggC43rhX(?7Vj8LXXrBX||@RwhHv4F!3wrtr#ud0fE z$uW4|QxWZe>aEd&!{PMG%BTunEnbfO62^>O7#GwUsrT>o7bKoJd-k136!0c~dFDjs z(Zh$enZ5@f=j6b?#X^RqE){R}ckN0}uK6R@(XpILbz=Hv_Cp;3pGp;?AF9M0cRt>MC<;?S`#V^kIe+ASyyndM$jGU+DcFPg zP3QU63huu0!otEQPoJiM+tMsa*()933R#%q02)+*DeFufZX@yDzdz~2TOXlK)@YiW zi%!qTcn3yWK7Nd`T6EWS!aluG5^SyswU>2Sgp1znW-u5aq1v;vvlOwK-wV&yTe?nK zixa}M&dyGqwyWvs>D-l-l@yp|MrP)F@QLCRmq8@*zJ0r58^834Z2r6?J4)jU8g2c| zHtzS_jWlE#MRUT19QC8?T^}Se2!%4A5VC?B|Muy#i{69L(a~Q60@z>5@_ngDTfFQT zO7un`Erjf$c&kwO5;}vSlb4sLhaYFKdqHu75)yb{Q=q7*hpuypJDsr4*qFJJfxC;uVdW{U+Vjb2~>4bxZwsDrQ_p!R{efQmJM~8I=JmW>tGYJ zx*#=C7LoGuT$QaYcZxui9qp2Fbrq~fsI~UO;vy8c!LzIr)RGpA+I`sG-sr%A13dOb z`N9)OKDndiR`j5)DXZ;KEa(kgl~61F>9Ni-l&08mgStArn--*M2sX9xR7p-OHq^YZ zJtVp+?0S5>?8JMu2v73HrvCoFJJVR{gpZiY%B{~0T(lmL$>hs{mWK{SjM}Fk>|2i& zkTp-01nO5q!m{J7Hbp6e5BN|*3bCW-`{Q_MpbpL(iQsP9Do??{{8#x zc{zY}?DXKf6ha``GX*1xGd<$m-kg8-t5RjI#+9Q}|HyEpkNjEKACBuA8yl-VxD92U zM`y8myj+PY?1>K2t$cKl%nJHxczHk+#vGI{_7TC7UweDgmzU!XR3<))8dd8+Rl6nZ z>_`LI6;BeBH~>g6Cvv#8;1ypI84EHhnkhZ-12LXJz1o;`DhJ2Nwr z(uWCHn;H^gW`w|B?=Y-6l!G@JFkrD*9#o`QAzwA*nBta8`H%VL=H~BZvUuCrDPtyV zy>YRXN(w)3J=6}Xi;$1Hwap)^ulX|^hl8`12GeSAizv5DO*4|``X2&FhO!|T;W+>D z+}PD3z%WE3yVRcQa173@VTXHNVssez@h(2!O~!us@ZpzLa~GB{6VO-~pvsob&bxZ48*14|>t z#2|pdsZIA*S6AuP)p}Ai9DoaSqn%=!NXQSF!C$>P6p;dJh%@tdu*vp69fKUGjTE1h z0SYJ1&(AN7GuqfUk4FOL@8u8>fIk5bRERH+OQlX!Fn%gNDP#Z`AiSx1U?%%Gbrim>MHW3qGdHb0octZ?&joN$I0m1aNO=v zAW#Pfxp73&FCx0C50Xh{yA7q>qH!+eYqaR)QX~eA&g^AO^Erwm_KGEOCcX{u_1yft z6X?QQw{B&MEG;Z9RT>_Ig`V= zuIChKE(Xr!H=q64;R(ua=5NxcPoG-CTa%#puk(bPf$VsHA$C|j=Yh#7TaL~qJx}iKXj2Wh}4n&W8 zal=E`!o~(Ws5y-3OE@aRP1XY{FEMHyCJ~I>p4lE>h_SS^^q_bL0rqaXSP(DFJAW-a z=u@a}X=iEN_WqV^b7L*7&!0a7=}B{)^}zri(B9tuwWlWyC__kfPZD$~T)`5eN~|5a z!kA{MZ|&D!I&Az;8EBzQL|xno+O?$4dqYH)=h-4oI}nPSH!WY5l(6iwD)y)DE$s}e zPEyJ8{z*++i~jocPGIGHZ1#G2dC}jz>6KoB>^t9`=;-(}48~I^@bQzlKFNZ+c`v}} z_~c|@Zk%!d%uhpmnvQl#=3^Iy81eG#upt#)H~yokX)&O;w{K6Z(ec;pjZFqeQN77v z?@xfEu*-eTpI=<$!6)D7ta;sLtrZ_1T>nGX%<<}`fR4}5*b&5hU8 zbgHUH`pSEM5^sO%AOW4v5!?f+9~2t;6Y%8)p%DLl#*i0T*xfM5u=D>tQT*EhB(@y6cD^C3V_CEj!>7K~| diff --git a/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_buffer_shadow/variant3/text_html_mixed_metric_formatting_buffer_shadow_mask.png b/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_buffer_shadow/variant3/text_html_mixed_metric_formatting_buffer_shadow_mask.png index 5caa839ec76e694fe0d5ee5bdd4dab18e0130275..b3371068efa3a2c861b0f587ded66ea93c95aab6 100644 GIT binary patch literal 6562 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 l$k}aTXIS*s*9fs} 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 diff --git a/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_shadow/variant3/text_html_mixed_metric_formatting_shadow_mask.png b/tests/testdata/control_images/text_renderer/text_html_mixed_metric_formatting_shadow/variant3/text_html_mixed_metric_formatting_shadow_mask.png index 16915990a9e92aece0d0a071c59652380451bfae..5d7d682f8040f00941f78513fcfbede404b10ad6 100644 GIT binary patch literal 7115 zcmeHL`8Sk(|Gx&=T8KgnGtupi3W@A%5)wj4mXxw(8#^Lh;puX~ zQ#eY`TP!k1^lE}*TM4hc|BoE^0i=F-2L055VE%?!zsn8bBF7JZfqL7$nG~vcJsr=C z-r`wj++^$i@#5Sk@x8Z(`sh$BR(twTheXqr3zO(c#TQI4=*yo0-`F5XF_oPiYI=-? zAjALGNpp)jcJMU(h?~EE)e`M>&pQhX3!~{*&{U=OsRJ$Q&j!T>V+t$^8>(o~)Y%_A z7W_2-u}WL+FL$8qM_AwQ_-!W`*7AF5`9W&RW3nQ%1|OtYEWjKTP6=|on2Nd5iWi2` zZls0RH~HC`u@sHLnr>d!gdlMi7U;IN<`FM=2l`;Cp9-W{$leJ{(9?<0CF9)LAg2?s z6OhN`0h#Cf>vWu+4Y#TB(&~4vq`IZ1rb;FmV3sbV_DCk^(J|ttQpq#;5(`U9#;zeG zP?d1-86_z1e*MF)2&lI_0sr`TjIQxD)wRo_2@VJ*=vB12rct8F>DJ;#s8^0j_EeUM zUa>`#N)42Dlg06wXu`9ft6Lwqm?1-5aU>&bIg?L|yVK8B>Ml&N0$lm-Wz}=v=Uc=w ze38K9^;e9crqN*X>MpG=It)_m1~=r`lP;g&0CCI_1q(4To8%?z~PcTLW%uPv2AykizjSa4?Rn1?3 z-Hxw$e6Rkoe33rZW{b(oI-35+S)$*yN0bt3MuC1LBy&hin43DV_}we;G)&38VjdP< zm2l+Q(1%&i$1UH@s^Mzbe)$1d+0)xr0e0RU{MbRq9A?z8jE``Wi)=ZpEcR|%`{fg` z+XA{5k;5waPjM_Er+6H;nVa%u%XvA9$sCUe(Ju{h>2;GkMu~}u>3>`wrB#j6{GC3w z#l##Y)%rx>Dxfq;F(K~4{CtT`LMdZ?DfQ0p;ai?v-tb&g3C!*$W%S#(FB*HBeaXF2 zeKV-7g^E7&QsQc9*bep89up)Gosb?W5~F)93aOiYUEj39Zb=2nNX{Z`{5W_y`}z(U zu{Y<2AS_X{j+#Zh?CS^?u;JIbBR2@8jXN|?ydU+iUB=|z zTEh;Z(6aRBL_^3sh^gsKw4-LM&)W6Ep<_{P=K1DZ6T2&Y8kS{NUjrsF#8tn(72lmL zzk9MLii?WoIuK#1zYop)Xp6G8vztx%2|c~>DIB<35U<%6ou&%UtT3c}XU!V)K` zrN%u1=aYwvlZ|0>xcPY(`P6If?(V|Dv{9Vf)_h)OO#^?EN%ZuIXMS4E7KQghnX+=k zq(j=s%O%V4IXIkr!_L~6tvv(WNuLN=N{KxH#kx&=++plZigacymvuNfN7 z4H|2xp%^nWGbN3la)MXXDZ-G^Xy<`x#e+Q7)#<6JgAF0;c*5GR?=51?WlQ&}x5}GD zu?{C{uUd7~y1AgyFX=BI_v80e$B_n=XGW#adEMvy}jKo2u}0A1t8Gi6ps!| zlV;4cKxb>~V}E~tBl?BEu?vr$Tq+u8L}+YlDR_*}ZS4lCmVkPe%uM18)maxtg_gWR_b4Gm&(5(#?m%_YxEG2KS$$|7UQ zb1@1NUq(kqBNxKLM%Iz+8Mgwc%});gR$WTsWeZtd?m)POgxspDtCQr5daj!dA{-qV znO9!H>}gp@M;(IbuG3Nu^CPcXdwXMNDHLPJy(=WidOTjTZ$(Z`O)b8UBcf$%lah(U z;c{JZ1q}^qpr_uGJOUbQs=^FE+p)>8i=E(BOC4OE?&1aeLj`@tER0YTh~p=cwq}y; zzdFm&$0m2ztn8-~^rkzzy@p&@JH0csv))8Ta;#98ng|K?kB302qD2!ree8D`PCQ!N zbR0xpT=byu40Q8(re$U(Q}Lr?V^kNz*(uGyvwR`*=aaf;#Q42F&!B8QC0Mbc-0>oC zr$s&K!oA>(JVWv9;D(a>6%rlZUp=Z-E)az~63B{@$2im7gOx&*TtBF$_V{B6>=6C# zv^bA7oKlhtHkn4FB@^=co#BFC`tDaqr|b8on?p}yu=FX#KCb*BSG@213jmitSMi{F z1!LM1U?36cDmBkou!GV2cO8`Bi@JO~>atR7wzJ&mrqZX~dj&}L*wtFdYe0Z`{v&lu zl53wJ5p9%jKG52#L+m4E z=7xT~Q~*u+35*0GcLdt+eUtk5w`OnnDt;1#`26qbC7kqKh+A`zT3Wj`#^yn_>%G zSy@(Bm%hBpPD{91tqc+uqL3&Kf!HF}iV$?@jYNz0<@p|6qbzv^BR(&hqX5{?%kDzu_{$ zm&u2}@<&}hp!LRA8B^4!xbeysQk0T%IB{9@XisnNCqGi}cnrv+Zg!S#cK`aqs(&43 z`bPv?8`*n)A1>K+FIHDA?7A67Dr9c&8mIWZF-&RHmDx^gBKV39!%Q% zdWZemp1Pp1WqVlw+S1w=I?>_(MX~l@6nzk#@+s+zppcNtS|~u{P{6n0a9(Wxv>xYE z3^#%kjzQszj?xE28RJT6-!oKSLyIR#`$Dx)VPjh(O`%8)eqZOc3sHv!^ zD2%($*Bbp|i$U60bsWYJ>gAJifI)^ej}QC@QSL9v;rwNNGMS7=%@|NN1+=(*MVgMW z>@}Ky`#7l-I~Y`KUHo&AR0qILdDz>E&&)7yuyp*L)!Bj}SGD!Jva<6HtHZZ2!uH%O zw)|!faMqyVF|@*w2d?+-<(9fbX;NafuilasgZFmULA@Vi3HJ{O@T2q!uSiw{K?3&u z(+sL_XSXZyPkg{q2B<4+?6yqbirr?${fbQ+_F_<7=t+&WQ2N6B(=}``ed!RqMW2rhod9Sy5z24}fNovnVfE17;MusLEL}{xP*2zpuTL{UBpyIa%Gj~rB{rr|D)YL+^H#*nFc{l(MOC%ZS z_uY2^U5Wt}@u#vkH)Is$BNPw#$hvrVh0*f;gZd8LYzHW`i)_dwgZZshDrdyrQtKkM zw9!I6Q-O96GO7a)=$(2S+%U1im<%KzE-o$QT38Y8=x0NqLF*R-W)o8IfLq6LLcOv~ zs6+pPt1d^=GAlz+x8TU2botrtACu#f29cACK#>-^_5u zDaUuaW>8iu1Mf;(7ykw5m$h6PYVr19>u2nsGG4t3oZ){>R($>X^}xbHk!(sdNGO0S z&}WiK&%px#*}*wDu_4lQa;=M9QKN2y>P71OXhjI-IwcdN zZ1G=D2oOTn7u_~(Ac1#2LfmS%440GbLxX6UAv2$jUo$c)FwLJEF20qwRw4;0#`*}y z>xgE7lqMx5WuXa641DMgeqVVF4Gm?%nW40oKEmAk!3@49+U=y4&G4H@C(CVcmk}Yjv!8s%(^CvLTjwr)6LzThC^Jc4&MQR1MLo!W%r7zS}fMl0)WYPZO5hLPPC537hXg4S9^$ERR#OOq`KUCXYtB zfN3j-DV4QiFW$BVr;fbz#`o3?VA~wNCs=rY`jq(uDV(w9s?6lW0}U< zWuE+*YAEKNK?FDGvu;JC3pW;F>2 z0ojxVhEMFu6B70O+8rMsvn2v!QFEQ+wyziK-=#P_Y+*lkiYJm_Nr}Z62ke$wX(jnF;`#6VC+z+8SfDMQcd zEFU9ukrTV}eVp~wG0yq8u02fSz^-<@ENEWuzHo5l})k9 zkmVnjf#9XnEmr}i|K3DTCV#-Io$Fsw{YUHWTM1*09p7nM%U{m0rZ+JE!PD^ni&3N>DoB!F_2vKR<6|^P+3o=TQf+Db*e%(~1!} zjE6Mrm#Q%W{VP0ld%5G%qgjBYDAbE*kU&AgkI9vHj*rGRURWWe4NJHjDUs?weJ6P7Z(m{5gxbwzejxpgY6#x)rH252=i$!Y3J0G!e$tfx2 zNAXLG)b70Lg#-N!&_Wa7?ZQF*txN|*YtUN%6@-hwzXixQXG9A~xqM81U|5_Tgp*r39#l)EH(TqkH#_F@lb<5B9fUxm}q) zhF$2MK?Sdq0*-S&0RjW8dOsDsK}XsF&P@bU&w=~_U#A7UV#GwELGCmobh3JCt&Rl^ zWIRA+)xJb3-c?Qzxaf56SAa5a%9YszDg>niymu`5eZMpCUWFu&3OQ97?Ou$g9T6)9HeM;5P8z$>ZlVLOGb4>G-rSb-Pyfc`8 zFbE*N7hO5Pp@QRW|6D?p_}ZN?)f{t4;76ZmXJxRBAk@);Z<9x$dJ!@H_-ueapofgr zH+33!x7;X72!?$LL(2t7t>kWNdwXKypT>sCPmic?{yJ4XLcuRy?J$9w9%AbOvCRFR z=?23VFoGG*z7of})g~09E3c$9vMzkHgX5XiNB$-bB=QRT6K!iNt1n=);2r&=qpyLL z?+LiBKL8lA#IB*Bv~d@|)P0?>gm9aBeH;xtBnX=aGflkL_lNKD^1#pK|I4C+>`4G? zZCzXdd=_is>cW7foZt;`h$r>~>VJs*Qau^!hTjbv$CchGd-V`GwI~5GU(!4TkPvt> z$s|+2t7q{wVI7GXhh>RWzZ-=&fWo2zX*hdT4`_lCDgX{)YR%w0J#rkwdRy*j{DmeI z(L#Z+1O%t-QSK(q4==kU_+xb0s#tFnTTt;bVvrSgyxC`OIGE%dS|~T;W&s0JkR;|2 z1h!vS(@28oC$FLc@PHQHyXb+l2K)_Z%*oFd>Sz||lsI-I!tZkW-VMaqd$m#`_eY916N*-`tgXw=q}e0Jqn@+LLvMdo_%Ut49Ny& zYgA(C8Gyhhr=0=TgJJ~r_UBgHPX+;$15e~*Fq>gRb==UfAto&`eq-#lxIy9hE)M^Q zJqKMmiL`~=$ed5^2DmN3&IAH>2?($RvMAS7AE3sP^tYX>SMtpbczJn&pay!S3NRw) zljbj$6^A2QB0}LEfI!oS{O$dtLC=Xe(gccLd%FMa<|9PJK@Rz-z1CY+QXT9p#W%=r zKoCUyh?Th$f}pPRpQ7vFKZN#!Z{W}Rb5_SA5Jb|O|3sCWl$}Kog%d~2O`T)&nWM); zPtX)=zQ@?-zc3Yi(B-t}_>(}(o{9UmgUV+$6NUu1GTiM9X?Eo{;rI`T_@`^p#j4St z9j{h*-_*OZf2m1NCNs!Udu7`$r_b|(Vp~+3nuazSj|CFRPj>#g1wnA(9J~NRm`^1j zh>fTy^6cXO(Zvha(t5ES^d+4`hep_p8FsU)tE=5)KH}A{ce5j@=tXg=MQNq8#+gNZ zL@!geBcSv{P@eI&lzQ1`-;|YupYC02M4rulJNhAoZQT);Us$ve5!3jB@!TZz#|%53 zwy8Er0_ojdgYo>Ux#m}acYUa5alc~_L{&%#@j8r=IJceBdXcsY_a=#Up>9~2H@Gw3 z7>ghbIn*@jHcLR(g8xD7$fZ9#nj?=4_}4Q76%-USWYTcx{dapba&4mVyB;?-s?nkv znwy8&F#?!&aUABnvh1Ce4I#!t=L*HCQmzN&74O7;O*7xYH5Nv+#la{mdOVu2fP3+U*4qn-o=L&e~`67H`>CQMi;^c;8G~ioWDR zqH*x@n%?ZKg!v$U0c|UjcbwNTxoZe~mn~);lVTwD{Ew^hNaSk>Y<~8@fMcgm?Gutw z+>aLvzQ!gdB#Y7k_L;QKd)5y&OHU!a4J9qoT$gv*4g>zq)BqOZ3NSOZ_V6lX7g10a5Tm8yPHwP=oACxcf?UVoplt}91@Q_ z4=xwr55_x#KhKyUDkCUg19WFiu;Mi zq@rYAF1Zd7yHz57h5GjGEuY#uN`|psSG%cI*h#$%n8#bDm;~VQxHaBVdnUQXFxO`0 zOV3?M!d3bjFQ#Kn0GUcJAxj&{r{^6sy=GB*^L{|Xa1>_oatZH8PP@8%`V4w)*^)+) zMWeBMb9|N7Vd&zgFx9$Jb0(r1FzJbOYNyZY2%Y!vP|RHZly%3vVO$~Qx(uOB{?#vg zXbnWg_w>~l2FX7LEYZ_r0OOG~>SKRzI7^0R+&!-D~T|L}09+1Xjc zV~QBM7*nG<>(Nht5!2$JgH@sJ+$YT0WbW)q_EP&Au8lR@!fHEK>-P3CI;lL?aBPv= zS7Rcd4#-o-#ym%8GBPp;4jz2iXUzH9)kh~MG&1S5fQFq#^Abo|@RUIK zP4V@_B68x&<2iaeeX+qZQ)#+8OO2Amd-|X)=#gmg$&?V$S(U2W7M7N_Chw;s-47i) z6nt{ybBA<`@%JXx^#WQ~Qsy>Hs7U&~V$8ofU8l(%4a16zjEoTDGKa1rVW@shvu#q8 zus59JE*e{j)zy(dc~&Zet90)0#Z8FaYlpGaB$-5dsJK0@CEB*h!w%~H^4QW`3rj;O zGe+mYm*$##1LfN(1H;34S3B=5e4fz|Go#K%!7xhZ<)68N=;@fn2#32a**>iq84mC} zb?W!Dw6tKs$4yNY6&1hY*SJe0qc2@uS00v?K~V#K#D8^FZDZ}u>Ms8fq>=Nw;9L7T zL_(qY$U70{E1LKs;UDI70GnEQYQs9|0 zmay6zRu`%6NPNhYfKwIqmW`@CH(@dPQRzT=CAD&KaWSLy%y|16m&E(YFhR#vH#O;R z-5~s%rsnQk8`xeIq?VuG{nCgE*Q)UCm#-jG6(tHCgK6H?b&pNXCNIt5@CyT$&3MjY z$x=0uIGv{1)=xnvS9|O&Ba@9FoDhUd-sMbYuzp4%70!cm zb0H)1{s-?~?eu}NdXt7srIzHI$85I@ZT+57Xp|7GL7~$Zjl`bk6dnqn9^55t`fXT2 zTiCR? zwzk%{?`%xWQrG0GtgNiyoGpSFT~R9$yKt73TFcrx)8f?B^)6K|5K;){>ADKQ@4TY} zX26rNJJYs+DHN(FBq|cDJL~&Wvv#YzW zOXN@JPmO-Vx3i5peH?v#eS_N@ohsC2(iB&&Yan_X%@WX7x~u!H)tg+T+BJF1#iFY( z81@ZKP5DdqN+69mk(+i21DWlMh54ga$cVzl1PDxi5{@JD0&x<>Qp-5-!q!;w^a_=e(A`9#7Y|} z=wL#ng4RL#bhAuyI%PZ@*LWst?4!A8F;=!?#)0gKEph0de4S%Ixm?I-z@LthuJY6mx!2~Pt}bSFN;_8?e|cPwV!Un}()_2?ZAX>O1Hh9W zwBXSeNFSFfs&f^!xiAKjAHtNGWup4CDpx}a}#l6u-vdDq}3WeO!5)nYOeo;mcX@UPg7vDiCPW7fM z=pNA44*xtpF(1bTUNO>FL!Niv*s{n`K@f(dncIK5=!3_$3qZ<+<>&Bv!?wp2(x_p1 zJr6-GW%fz%MP16XuCA^Ux8*jHvj&wK2KAl9Wz&?36bbWJM`KZl>YG16y2^IQE29&? z{TWD)V2v4VP3x3S#%kxj?dUj+Ez%DdyYE!tfA;M33x?3AL~qfJh*yV{%zvtNd$#OK z&&Zg0nXW)&_+IpWACDZ9<*gArBzOhmdPEv5Y;Lrrtf!|(y5RDu{hcotkDN8w6K=?=Z@Iu{y$s`(3F%#%*W;H)W8!%~S1OX|Z{A!B8EgHO76qWa(7Eko z{>&2U*>U+if=658aT@6)4M4HGJrPwblCnb?UgwPKH7Bnnwc86Ld#`OoUk6?}GMJ@i zzlzsD&XssfooY3eg8JViiRcM$Gf<}0;D*QvORIQ!M!1@R(BJ}>s%BP{XU0pR55(W5vzMg-Z`d8xo0jYhLpjU{PO>@pMX zk(${V9+wlpx-fl%WviOy?&0BVP;lGx;{%-fmIW&IWWh}O1w>1IZx99;TqE0>!dk+g zEW$75^5%=y?g(DDD~pqDCriygy^`s3&fM6QqEx0+=+?nWlC}~Y0w6&z6 zp`j4pKCZX=>4M~~Za-&@>`2Zc(~RQ?9>W4-_bhCC`n7B7+19@*WxnPsyfS6ciRK!} zSs2?XjvCqg$iS@n#>O)12ZLGMip{An;FR{}BxqO52$@>m)s4OfOq`I=qDB$uM{kSX zOddfqfG}vhV&DQ05k0-V0X{y53mFxFK1F?1&Kea1{^jmO4Y(fg?}{3Ab%u0%Nug}b zq(H83$)r$&4!Wpssc&hi0p@-J<5$JJ zyf$4IeEgvrBp_7U@BF+9I3N$l@pgInDTqtE`aMq-{*ji`k4By{cm}S;X%F;b@nB)#>o3uJdvrgjS5oa_cq@lbM@z0)$ zId1;plg7q|wzjdxh&x3^IV=voNnU_36#kdsjw7tr`HUYctuX6jV?@{Kx>bNc2t4Fc zeO+BC1RfsyRwO=o$X_K)btZP*4Q;E?Y+Jq;n&8ya*B2NZY@2F+xU{rXUO{2##fys| z*%rQj*iWpfsdU@3IQbDN=DR_~_hGbo!{2`UZTdsqnKMZeOx4A#?)#v0bc~FM%AyO) z-+hhntM$zE>zst30%uZ&pjWK83r2!}1W?)?T5snWeQfR$y{J2&0#L)Z(G;9X-rc)H z{N;dG8fgq|Uub5;88w}sp@tz~%EY@&fnnp}C|!uIC)PAbv{}9-86I};TYE4z{k+Dh z;%$kV(&Efzlg+8+1O8H*kkdjFgbR`-8_r`u8Rg~W-DJcOm-I49i;`BS&2=}p7v6qK z%E3zH+E{=vGSZhJ{AGrbm|BqA(Z13XdSKta643s+UmWdzRNwSm=NBLE9vB$-aZ2>r z3np|9Zh~eX;DARUX}14#s&%ueaITzX>32&;moeU_rl*UOxr-x4MyiCr{@mJy`p3lJ z@Ty?k$%jHgj5fIITvEAVj0toRf9g&?-Q2b{_-Mq6WTwGQ26{eE4t{ zy^!(i=2Ugj^JezqK}+TxhfDg|5m>}SY}-NQLdLXY^6~}np?qE_voC5}+@CQ%^(uRJ z{PH(%3VpwUL1jTfK}~P)nm4w>+4|VAV|n@cZ^1e6b5hN|ur)eK1w^~EMijdM=?{ck zitu-lqj}Pm>`7~+Cqb>pOeByzn(k$1XJ_zSj6k7!?4_}#TwBU^fx-ls#x;fiUR71K z3YIO?!#F5a23Z((5b`UUZC>TFl7UhmXo>On#6PqL=!m}gNPtK@huLV!BUqL?@}tbR z{!9{ej+b%a3xm<{=ut7Lo!89dsH&>Qx*8DL6e!vFaT-JExZcb($&)9(jh)YGP5!rNo z|IMD$z=bv^?ik`%odKRM^OC@jK%u_!(>5}AJx-37{)O<@OU(|sI|T()zAb2)nham* zVp=E}CzgNz9tMG)?CM*Zc~$Zu=+zRpaQnt*D~uznCS2pxw6EitChtHkf~TG2v_(fp z+eB!XO4UbiNTT-kW_Zx3Cql^&;>lw}L_5!|spfC0`Vfyj+oHF+f`Z}uubv*;QQ*@z zG5LI~&F(qP?$M?D$HZVwrKWyNzUF5QbEL5)>7`Z6UCEKS`5s*zefz=}794LBd&UJgs3nFK;Ojfy zp8#zWpISHC(Q_@M0>)5J-rlCBQe9CvYJd*Zz&k^m2KV6Ly!S+Bja_~7&K1rRdKm!? zd4H3k>WSxqW)mGE6E5FlJ-{MgcGUz`1A76YK_?WYjO$seW&v&t{`~p#D9I>(!AcSu zHcb8dL({&E$IdcT`cQycz!TOFoUWSh;17#Z%aFYHsoa(8KDFwUu!%TNO4ip*B_ji> z_d(>0FSHl7P{Izt-tA4e&h5O_z*&7X$E1d1diH?)@W{vzczQ5_wq|A`MTxO_MIRW= zbF~rbh?gnG^M;LT6v&ZNb;qHlW}b;QnVXgbAfYZV$I^B`w%aUKdqIw|6jumw z(lIg7q=fw&yYsM)M+Tv8$Kn`@cs3P_leC29oV2Y+9nA3r-z9n;ld~5$xUf*qC#AhP z4Zzc*qqxa%{eNuQJHN-kXup>_!mzcm@sEyn^_HChu-=!xRusvq0@~CPJ8mRgd`9$& z=^mM5V7LtmTn!3Bf}5YVe?FqAnp;J!1VsRDs=l=~Na^rZzU{$w`g}KM6m|0=I5CN2Vlx43i|~J!YDbfjB)>&s$XlaPsC>}~Wx=i`JPx|4;GfE(=Zjbz zI5$vX)o%p&9a#uLs`ukB;&yExaioS~{>Sn#m)MndLv~hF?8{gExWHf2<_ZW9r!W zwSF`uY)guFVB_d`Z&+mHLIeFfkaS89VIzSM*)?x?N?Q(`fJTAc?i*I>paPfhkk|nY zl@_HXFyhH@Sd(#u=asJmBcjLMi4TEtL6$N4iUK1d<~_s|^fMx+><^hrwJy44TX(kB zX%YT3#l(N|QeRwyrjon>$SGp5-75YPH1Q7e+u9#Rk$)S)cDfpJS9dJ7lwQ_qj!GxA5yB*8aLL2t1DbZf9O| I*z5ei09Rsb(EtDd