From 5eea674cc3c9f3f2bbd577e2408aa8a83f0b9358 Mon Sep 17 00:00:00 2001 From: Alan George Varghese <113696961+agvarghe@users.noreply.github.com> Date: Wed, 29 Nov 2023 16:55:15 +0530 Subject: [PATCH 1/4] new example 000 (#626) Co-authored-by: Martin Walters <104021577+waltersma@users.noreply.github.com> --- doc/source/images/00_after_cad_import.png | Bin 0 -> 21172 bytes .../images/00_after_delete_topology.png | Bin 0 -> 19108 bytes .../images/00_after_mesh_generation.png | Bin 0 -> 25120 bytes doc/source/images/00_import_cas.png | Bin 0 -> 18484 bytes doc/source/images/00_import_cdb.png | Bin 0 -> 18427 bytes doc/source/images/00_import_pmdat.png | Bin 0 -> 24586 bytes doc/source/images/generic_solid_block.png | Bin 0 -> 54008 bytes doc/source/images/part_type_new.png | Bin 0 -> 25896 bytes examples/gallery/00_lucid_file_IO.py | 256 ++++++++++++++++++ src/ansys/meshing/prime/examples/__init__.py | 3 + src/ansys/meshing/prime/examples/examples.py | 119 +++++++- 11 files changed, 374 insertions(+), 4 deletions(-) create mode 100644 doc/source/images/00_after_cad_import.png create mode 100644 doc/source/images/00_after_delete_topology.png create mode 100644 doc/source/images/00_after_mesh_generation.png create mode 100644 doc/source/images/00_import_cas.png create mode 100644 doc/source/images/00_import_cdb.png create mode 100644 doc/source/images/00_import_pmdat.png create mode 100644 doc/source/images/generic_solid_block.png create mode 100644 doc/source/images/part_type_new.png create mode 100644 examples/gallery/00_lucid_file_IO.py diff --git a/doc/source/images/00_after_cad_import.png b/doc/source/images/00_after_cad_import.png new file mode 100644 index 0000000000000000000000000000000000000000..01d960c6747c86640fbd76cd33cc150aab5d5b6c GIT binary patch literal 21172 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

+RTXBlXq(-2E!y;P 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 BP|yGX literal 0 HcmV?d00001 diff --git a/doc/source/images/00_after_mesh_generation.png b/doc/source/images/00_after_mesh_generation.png new file mode 100644 index 0000000000000000000000000000000000000000..31ffc7b80c78912e9a1780e93d9c052b0a14a2c8 GIT binary patch literal 25120 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 L>gTe~DWM4fBdFM_ literal 0 HcmV?d00001 diff --git a/doc/source/images/00_import_cas.png b/doc/source/images/00_import_cas.png new file mode 100644 index 0000000000000000000000000000000000000000..8c652c5fcf921848fde3e7446dba5e5f62d07023 GIT binary patch literal 18484 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 T(h=Yj(3w-`Pi7v!eEWX@UEhIT literal 0 HcmV?d00001 diff --git a/doc/source/images/00_import_cdb.png b/doc/source/images/00_import_cdb.png new file mode 100644 index 0000000000000000000000000000000000000000..828ff08bc009854f205f34cf02c60e9fdb3f7901 GIT binary patch literal 18427 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 literal 0 HcmV?d00001 diff --git a/doc/source/images/00_import_pmdat.png b/doc/source/images/00_import_pmdat.png new file mode 100644 index 0000000000000000000000000000000000000000..2923c68962d50509d32a7db77cd3840e6851fd0b GIT binary patch literal 24586 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 literal 0 HcmV?d00001 diff --git a/doc/source/images/generic_solid_block.png b/doc/source/images/generic_solid_block.png new file mode 100644 index 0000000000000000000000000000000000000000..478188a070cd6c07a38f7597091a1f19288e8ffc GIT binary patch literal 54008 zcmdRWc|6qX`!{A9+t{~3WErv>OG6?{ma$6+p&4Y!E``Xx?|VulS#m7dm)5ZrBBCVw zzLX@XEX8ww&^hP(eSW{!^Y?RJ=e*8zj=4YgeP7pmxvu;Eh&3|MqM_oTA|WB6(Z;D8 zlaRo{XR=omWZ=K-75p>;|02C&tffX$`TFQG_ygQgRbQ2aq&k`U7vTu_Go>fa;tB}~ zqYv~C>4d{EKN6CGL~V6d6F-}kTynp2mv*8D3-ri2nSZLBWv@|>T2Zo=HsLwd7se7-e?oyV4C62!|5NN{+n9rW|+MXQuT zi-_&9yq`*@Ea1`5Um@Icqz9jfB6rpT{~L)aKP#fYLx{&|+=B~N+^WNmhSih5 zcR%$=Tv1q2lZ&Y==|naGBf+2KkD2DV60q^(#Lj!nadJKGYWs*38Znd+H5kj4914Pg z+W8}AA4m6awWi^Bhqhj+Wp!A^qzco7w_@pAL;ez8$IqxP+=jUn!}Zvk?F+N1=(rUz ziWu-sywv_&pFgy_vl|tML3idloaRCnlsQtcp<>Esg$Z zRyn;N_XQPh`8(z1<;uI8ZENIm(b4Z`w7(o*LztsB*hd{Z!+1ZnzONSPk8JVxN2Opf z3<$k+f(lX>NgYRNo6A#vI!-^X<0~9Y!9kT_;Sv@yBecD+0~cOHx+tF3kF_t!7U7E%ku53rX5R|)uORoHEKSR4j_+X+@W z9Xmbq6~33d%YIV^X~+N`U^G?aPZadV=GHP?@#l@E<*M0v(7QT>>G{iKGTTvEaQ(CE90(sL?#mp>=9?iF+k7uJoxtkybZQ=)~rcaXKDgB=>^jgZf zfHk&wwN%o;7Gl2`#?%;?*V(03Df6PG;p9xA)+cjps7}8YmjF73T{yf&V&K-@)8A*us8uE1JHLH-64ou{J z^(|z4VC}>Lh6AUVu%M_&PNJ9c(`91jbG)N#wwLVh2O8uwdJ&|9QUsn8iWXqF(VGC_ zxUZFp7_TvvxalFRo$Z}WiTjP$22KRt;?|lYogFCBjgl0Nh<yEavjQyLG z#ArG1`r8k1{wUl#4K;c`FiHsNmu^^_Q)!7~UtVl%Y?LS!)%yDSwa+60R+pMO9rTiG zR~Tw*YK9+1DPKsK=Kh``PgnSucKAzC0558=#858Kg7?| z4A45BFiCd9q>qWd@5>gDluRCv-3ZiLNfum<9w)Bh1NEw6z$*_s}xzJK+ z{TO-PoP<-Zs8*OTTt(14j%S)JU)H`!@X2Z4SRVZF%WX59`$qxtBA#}A{c|3xv`j)rEQkVlW`{^a@ z&ei$XnZqd{(QG2w=1DmXY1-^~Sziyi@_qSGTQcnur{&*z3_Lov3^gM`AuxAqSc-U z6Npwv>zew8PgDDfDF%Jrq^xj#FFnKoB7Ad7!=GrBRMi$mBco6oSEYJx%XIKNYL_Rp zXG~D@GShisnHTUM-7rRUw;$$fgqweSXAAxPn1|I(iz?i?<0aEnBrDNXy($#pYqitV zjgqp12>1HiG3?Bo?XCE^v{W?|P6G{6_WZQ9zlx?k1NI`ToMU>kKX_i0=!Tut&i!dB zC3|eu-ox|>a&#$%NiN>7e53R4k zziLZ(%jFsGCcjzad745{_(3AXK61A{3KK)8?DM0)TS*kakkXwMCHXykCuG6fsl*Pln!WX$nH$`*_NqS-FH^K0+!kLIgc&oa7MobwyXC-NI(=DbfTl@M^W#jV z^iGU@VS@*EjL@;hcEjwmV;AhZ-s|x8g}Rh(4vnx)<$GN?w~gSkbY4@1hir1jGI5W))3ju* zN=n)R7h0(&;V4oFx#NJ+zZ*6+HO2&1c;2Hd>RbS zkE@lu-;{d$?3n3XU~!c0JgRb#|AzcviiK74R<_t<#z}bSOkUN7cht1;$&RNQS%DSI z-T}e`CGZe&dz)V5DJH>kLB_Tzqp(Vvq3DNq>;1Fh&oc=-+$gK_%n6;hJp+uPANNEa zIaxOiW$T9P^smcJmdT0!_%42q%0auAiue?LvMjNTnmI}t5?yB!0`OR zd*2$}Po&!Cgz`|s9F}7H&%V<7tWf>x5`k!vu#j~@fJhH9GJ1!tzY|B!3?qrG^O6lt?t%`Q@m7fON z^FH^>V$~hp?=)`{FFT{mClEjm9by~V%_a8H`w|*h(2kd`Gg8y=fnktds882vc1N0< zAB9&%)?+lI{o1ZxFJyY+EY|Gk&AFU=VKbuQdOVJr{kNrXHvq8pb~{N`N`V_9?Vb7n zCI*)<9OSbT5kmRslEx}4;@SrXe6tv1F~Z2~_)pw#D(g92AYj-fWS@q;O+Mh*QDyIyD(=B>@_y=@hbMM|(vF-p zw}p!x-}@QZX3V#Yg*kJgIqp<@y;x0uTtNjZu5il-SRGgexq03x&Do`xPysAP6TeLc zxoiH4MNhIae}E%<>%1%W#4iiF4;8O?F5+HqUmU~r3ayIF^Xu&0Rk+o`eys;4T@K>5 zRQ-#Rvr?$N{et~=hqU?KD(Vkqth-JdC#%?On{dhNlqC7>o&(1BXc8&~MUb$Cs56`n z9=ATf#o$F=+$ghp(l%WdtH+sl^qIVq)c$^-nz8oBqjJS$f0OfB&(W2vsE2Rb zxFg5!QEUaTA(wNA_(mx!!g@VM=NGF~JKHPzhqlkpPnd5X?c@`f!KB1Nk@0QU{YHe(Q4o&>|58Pa%?uZ9R$Fx>)*_kC zSC@`>YDnSkCd(`2L_)TORb>Jm6?@$E)rCSu_xtUx+!#GA3KFs`R~a6+{8K(v?}qQe zG*B38PK1P&zP%+YrTmsK2m=EMLwARaPKKRScw&{q%Zu|Uz6XGi;nUWcwE3kmh==9UA~o% zm&`@eGMf^8KC8k$XzSKjDm&rd))QRFUmtCf_7i|$M6&32mK!siUuva;Cbp_r%~sAO z&jfc%@3hYBUaa4!?u=t&I!{@Z%}e)kw^PFYy!Kx5W6xND?A_pBKyB;{+uEPry3x9? z)uL%hyL>C5!=_Q3w*qKa-q5^XP7UH+b3l$F^~wdMIS|{}VR~L=pZo`8f?8# zN>u1ndp#3f(NS*@Z@N(j{JmB}gqP@xNcAW@#LZ1`P{9&^H{JNzka%2NoC>DF>3X`x z|21~Jn{R+bvj}K9>Sx6O|KChV4V8;y$Q^eXqers#%QfS#a0nsj$M&UPyOHQXOd!pJ zmSTa{qq)<~$BPwag=F6V2Ffi@&h_9vaX#jMN24tP+^aJKSD zpOlss@a}#j9DR=N)FYZF-wKPaF++(!^n#iOfzv&1h%n#@l59>|j`^uT^H{wwU%(ZA zJ$X6N4S|i@pEVCO2OH0IEKJpzb0uN?r0VLS3iqlKZ4rg#!`B zN#|kp%<<&mwhcQ>8CCNFx4%LGC4ueg*wb@qKya{CN=W$46|0)h!&nZ4UPqHhGq5W5 z4+E~PgeV{U=Kmqk8pVvOeZfG=#mWw!}NCaEHU#`i}VSat(|hDQ?UGdb$_dUm@$34RLlskWVIG;)=h z(kE2BNohV)H3S+EVo=Y(6VY(Du1*Lk<^r=uWjn#NQ55cq1_qCfeZJq2)Aa0*@PP;ZDUBwb?V;l=NN$#&k?jFjXj_;f}fQ z2Avyom|`u9wJ+w%t#R*8y`qJqi!b4CUAQ}SZ#mT=nScN-#0#ncz+52_p;M?m zsh7_sw^O@7LexXfkN65Ai}Hmp!MmrkKE4=5#=LQUqbEgI)k{JZ&G4cE#m2}UMgxH8 z0S#3ZcFOll;YFRs`NE<~B&@g^ld?eCz^<~d2!6*QPAqDAqpj=Af{CYtwFK2}(_~Aj zH1_hak0SA@`}T=T(bv<}SPay>Q#4Q{7Ph`_CwGJNBb6iI3u)$n87EZ9TyxwZe7^hn zhgbtUafTUNYIs3Le9{XCDJAq+EYU^u%{S2U@O}b zsc$eTb){Cut`51f}HYFl76`K-G znjR54KZ;Chv48&4)*%t6iC0J3c*%v_>2a(3c2uM$zYFLt*~l)t__HR1q{sn zI`^^ffMm(2_rO2_rmCFAhcMOtPF(=(pUE7l&jWK8IEg14;A%hVKsOoiP@r8pPkMh|38E27i)VVF;#8 zN5IA|dM;MZ6&4AAL|VjFi6FDHqE#O$wW-j9pOOR!Ao7AtRy<6!{mjSDYU_%FL97Mh z;ZT0<`;0N}iAHviQg~Gqb8g*RQgRw~5S#i+nv17A7l@fHqF3Ar5R@~)ggousC*OI< zV5)C-I-zhQA&VHig3tcEtoO?#KOmDK7iPYWB3A+ijCDaG7(hf}MGbc2Cu|gXly{xP zd*5POL4@o(14{PfB8~=jzlqCyC2sqf<-MO-cj%z6O#LlNbKRgR3OGTgksZb2PqM`f z)zbzD@HoyX&9Yc07EEts=(mIa=?~crPY$s9riB?pwnG8>7XwWF<%ZA%sjzz~72~v! z-*ScAak2*+m<%W_AY73oXJ9pLr?VdUX;6ZrlV48~!2~wTZh83u7vaO^6CDq&dooD5m4c zriKaL-N*ORvwdhKK_L?W9l~m_oY34+;$L77sl(Yh9o~L4Df=?_44{?ivco*tZWRERb~K5gagrApFh*{C0lm5dv}aAf=SFUBM6; zC@_RU$7~~e722<6Hhq-^5eAZ*0L>=f9-0lKnVSqS1L3qBKv?vy5T=fOy!hPX_q8*l zUVaA;OJ)Yqt6~KMy;j+&9cpW2M_w&C*fKg+2-I01M8xW`=718=SV6l@4P!7j`iWr} z`bPE?=h4p~>5_fD)@A?`t|pA#3J`t2#s&I~%+S-B8^25#JkM}{rLAkt4)yVg%-~BW zNA*E6co;PdEuDtYl>knGh`fhN1Jdd-$ap|`*OUL27(HVo^n(;2aw|RW?vxQ6TXFvh z^0kD6DSM=AwB}oco1^Wa4BG?z4;FR}s)b!;JPiTRs5^iS2w{Z&EAg-NtlN~ZS0gHH z2*Hv4Xn~B6K7hsb3W$s$25d<4f0y3K4xHlF4@ZyppDsvZ#8P?&xdp)#K@-6fVh}zJr8?Pl!vfVaEFZ2nz%9H^qP8%yRu6NewPJrFz37lM zeToYRH!wg(jDJ^YY1pZg$n1%#+c7bUAx887d~4ny3C*KF1E`N7%pyq#t-y$w`(`gK zZyf)rbUP>m*`Fs4#x4cZegZ|)Y)VtPmx$x+YzxtD&0i`k+EE0J>MUqH;rNKNx>^v+ z*g&)p-?X*UYgZcOh5%K979jH~dC1p31bP<24xAOlD^6;FW{CmNEXDRyN|k^bZl);* zosDM98r}DYlZ`=-?|lxN4eKgjiR7c>krf4$=mGJQ7ckJ7qyLM1+&qZ28g)k$oJ5fm z%sT^^k|i@HLQd#Szz6-_k!=*SW(m}>$gZcEE}N^ABx@94CzxAWd479865lVOUX2j* z2t-+sVXiV5KzV8|P>>a&AS1@W%Im1I7g~wRZ=VC<{~XmY%HEis&|w64o6u#SiaFu= zajH4oj?oVCxO8B~DlH(zqKedkYj-%$)XaxWs0&quwD{VKReMw72r>AsGJDKDz&a5P zsH1F(fYM6KN@nItNSXk*OuYk+TBHsbDZj=}7=;_eoNLGwa-wea$HF4bHsT1jKQc6S zUqOIM$GRbgz?Sz*#HCircpnFw<_q^Hd6L>w=3Wbh50Ff`pvWyS(r2M~`1D)}n}jtH z?9~|c9O;_GzE$x~hyWJVYM+xpv`dlDH-N}dd|v%`qP-3$1J-<%be+VH8pK-AjES8F zrp>u_6ahK|HNbyFBtePh35sgsH?LjnKKW095(^OFy;-0uQ<^+{p{v@?;O+acS zfk^w*f$BZv0st}hp)&z!b20$g{kf(GC<$C4as{S7*Ff# zVy?3I;zQ8Jaw*amHqi{@{nt2iQM3%C5dg9jKYwaZyb*J=>n&FnU$=kGV(+N5$IM@`J=5_~GCPK!CIj?5T6PC_ z;;G)#UQ`Sm_^55HB@V35_2&;4f;-%0fhbn-?{OCD1|b`Br5cUj*%9HiAf>L>|1o6~N+vLKazfgN6@p@wl9T3RwA1V`~dzm9YAW4Ay5urt`WDY{lS)d7M~m=b19jg1@HrLr z^>u;w1Il^IFRtT1tX?XoX*fErR;iHXuE;pd+yo??Y6Z1J=wOC zVdlv4iAGCQf1*(C%J($(@y!^?=T%FuB9&P!ePCSzVw5i`xm^^Hg=x!KU3{v3&gL#A zWU1uzBi7R|(eb0mLQ|eNV2tDd6qSTNU}3zJ?PuT`FUjZb`&Y-cJymb>F_6wTy3c0( zZX<22aLxbJg8n$>>iaJ1M*%6aA?(#dok3u>b@w$792$uSP~$I44eW)M)xG%hE0rfX zFKOd7=unx=VY_PIXz(Vi2xH0iqdE$8Kl(>XIZJ9TcH~eds_GIWV&DNlGWu;;8~3d@ zi64-<&5m_91aCF(H3PDuNCHo-XLkw5V?{HrSF%<`Hw9XTPuLX^crFXUUHC$gkHIF& zZi82(4?S-{V4O}-D1q0W1!YR%UgnU7r@9%Y>sTgi4Roi9d5S2H=>Q&c7C5-5IQr!M>uZMHIc z;ut>Q$oIyGVo06rR>-a46r($U>nm#D`<2*1(tH;(wB+#CGdmJ(O#6oP5nQDBv#t0q z#_^TcBPyr6U)i&(=%_TQn{Yi|+{kmzDek4q3l`c+S;?a6czFVsXL|2iEZh}m1nH8R zI4Fn&{@_V~E%=epZi&W&un(LLKXZmWh#REkRD8yKOYN?Y~e+3PCw(BIVGj;E=u={^DLFCr?tDvi4 zd95iVp+m5csrEOT&R$)5$+7*#rFP1=n@4p{%HH_qBe;|3caNbb9s#=PA2e zRlfWf{w#(xTe-mN6UMV8@-5Er1z8t0uN%+ho48@d=17*-HI25X_7x03^NP>>!&M>o zan0F$?x&J)Nj!FyTt!T^CuuGU-F;K^?Wsu{O{XeM-%9;*dsr@Yu}9vspFK9?0v$K* z&Fk2tT6Br>fzjP~{kAOm=SVlabAd?#9fN%suk;zp1>I(lZ?pLnBbH&%^Fr*=Q+tWy zc1or;NAy?`pJ*T25%MqSt5*tK{M1vgsi(nB!N(}Z>`(I4Vi6ciP?C^L00SJ52Cl;t zh{xYKiYV~0$};zn>5@0l^yg1ozR3Tg=&G)*`uPt2W z<2xK-huDe-m%b{gV5L#2C)+SmY}NwoEnS=L>e63bW`5*-ICbOO#*tHO>V=vqWeK9s z&n(}+P`Ftq-oKWn!Q#*3bQ1?0w__y6`8&FAGzGMxCW_1cVb)@ikiA$St$8fQKIx{b zjQpMJ*;bdz)}sXt-#wW#&3St(b&8#nF@?N8d>))mgI?CYgqW*Zd0T-DJpS-j;M$6+ zbiyM&X_Z%*iL>2O*4JZgwg-_%?`;NB3G{tPn48bZU?n@3N**@E8m3iwLXBI+F!Sy| zh`}?=?9P6EGunmxDBU$Cb{-p+PCA}l9CSOBKjXC0)48pj)F&*0^;PuQ4aYP+KjBok zRr=B!|Mh)Dtzwk(9IsLt^O)h&E z=OtrH3Mi>915hpF5C`RxcW(WIYfNk91M5I8S)Rcvs}Fen7w%8d$m~za<;RZ6=lvG> zl{z+YN#|mW&ALu6ZbCNQ^8CL3G~fC+S#)HANex9EkEXkQ;=$zGAjN~~ZXY)6GpaC~ z*ZS&$_-6a;;=zV$%rL{_@W{}~AZ729>46omGM)>qr}gSisH7{%Fm5VuflB!iU@LG) z|5>?WuV(6!yHCFgK;wSKF|_*YDt*sy0eMY*hV}KZG{5ZW3@d@mu~?UkXR=S{>T_;B zNf)e_U}P3BDqn3Fq5#dDv%XgP>gorIlOOhyk~Dax7Kg|E1&_e%^pbj+d;9KPz? zn|Vi9p52!Ip7ygPVNU#nusFOJP_2?Ylz>mIIG<%jwluNKj>#e6f291{bw26YZh=|p z+!Arnzigh%vo8K6kS^E$WbX5c(yNhpeRPWIoi0AYX2G-=V*_Nmn{`0bimm9lxWN5} zQ-@w}B56&Arb*sOWx=x9UZ+^5t{Ov;NS9lE=|yWwBslX*F9SG?0~-~%zL0(M$veTT z4rtGMUQh*Xz5fgj(P9sXZt5uob)2RcHvy&aPNA!CNwG^_^!(BIt7**^lDC${$Dj#L zTixH#@7J9W_?Gr_tZ+yptNHo3^HxZa_X-=Wn7XxrUH#9Xo1zJM1)|j{do?2qN zz)MQ%xXyfw!Yh2CdX?VG=lIUmSVO0s{py+|njPiXh(gJs-!mX_)@?eUqoyOg&QxEjD2XxBHdTkCRhPZAddg88BS zX}Sz4xOb7(K_4ATML)Jjy$D?@IZpEee&A3`y)Pvj6ce7>8#nG?VXp)Xdrs&~N<5wW zEz7@ECUqEnAhZTU9K3Wq%GW>s4VlnJ9#{3eqnPHV>Vb?OB5>)P?o6cu`CT3K;8yBe z{v>ev+dQZJNOSo@$;~H?4(MS0zbV8UvH*0~fBZAnc`%mE6+8`>Ba7Xo>JdLwXwQA` zWjpP=_iUEsC6<7qXX)laC`p{t$4YLA%9KW?;)UQj`~={^#2D2KqtnV(L;+^ZJPumu zBu_#W*8(H%UT>HkPO?32xn=I$ou)y?erCRV_2PETPml~|lKzXmxLrnl9qQ21PMGR0KZu@n!TE!}+I|3}%V`jL$Be8vV{W5F^_>+M zJKKfNUsImBuZ!+W>3VmWZ!qosjC7Gljm>%^UUQx8vhgRXmfJWUCdG7(uy6xNR}HX= zCjP1n1a z?Bb4#E2UkJ09-tGwOMbAQ({-cTx9FjiBcK<7KY=>paW3S)r!A7^>%k~Tawylp?<$j z56KQuMygI#uRr$7RW}|TP4j|S5c>g~&{0vE^V+LbOKKga1#??XYlTHW(w?Zi7rHU} zJuX;3OT?L^_Hb8UK7@94G3K4RIw-E8AgR~`&tk!g(ND-MX3^{_&~4vg5MTBFxsTM2 zN19*16!jM@PcpKw$~J z0-CPZ=RTA=HubME_VnK%Fl7aBJ*NXvE_WQc1ffI0;GxprCO=e*Pz=7$MmZoUb=+Ux z;SDzY%4!`1ty5Fd^T954q&wW!B4cE=57de1GlCDo`KmfHeTL-;lE^*m!6x=|)m3qC<>0V4!!EE{T9-S8a1b z4@-{FXr5nI_PV1gZ)?=>-7mUZCpn)czM+n1Zp$}fMdU&AT0S+)I3GzYq`_NiAhP>g z)$or*AgWG6bRcNJ8P8JKy_PpNH}<>T`_%>=0hlkd#?S}fqZv9)U$Ahhh>?FyQ&aK= zd=~emB)-0gK0A&Pb8jDCpoZ<))^pjHOY3$l%;m6TF$}410XGYl`aLouBk|g3R8ZeS zK-awVJPrPB+ahh>uylA=&^e!z&BwkNVM`wy879D|F=X-ZA7vjP>2|t5>|i8)pdZA~ z1UC#g=T%s}*)v0>dUP_9(q{YRm*iK^)Ppk5TF`BN{%J?3;&&%+)+zB+o;c1mWL@xt zKD&-oudI`VX+RAxvaZrUq9*hevb=Q~t};TP`3G5osR@b_k%Dv25_S0Rd0uwB8ULIu z^M5zA*NB!@T^~Y~JK2uu=6wy3Vn>e@+E0}OSzulu zu=_mj8XqB^dcpiG-9=f&4IiOqDu0p+7SPE)G{j9(SU0T(ovv~Zo3Ae-xlj7qzp2!a zX?%@T;?#i=8ChU;a=7TLH-#kOg8!K=Gmv08H3PoWI^0TYu$2OMDz4toi(Ov~If5Rd zekNMk^oS=Ha($q04vi$;F>RvZ`YmoEr4$hBW8)i()ePf<>ERBjN=qG}!BVJ!efazV zoIG`r7ic5&$y%M`RYP}b$n7GSL(z-{;ulsl1FnK=?G_G+oQ6&!yE;4 z1*$X_wQqen(E^dFUi50JtO(E+slk}DK0%VxK#BlSZqu<{-d%8uS?n_G>~gzDbL6>G z>|YZfyc2DX_C;IAnXI)+livV72Us8m+!%gjc?!IXKJ}<_2 zt$iiMAg;d*z`P{(Fgy{#F?(|%U9PmJ^1Q4{?4cE*wRtS%GtznUv|Fb#hVrvXX9Q*< zcbIBGmnu{jho__9hM6baimHu zyXG1dCsWZm{tdqmlkx_ZAN3Bi*o{7j!t%}|Ct6W$^pc~ObQ3iPO*o$nwfGaXh|=Y* zJb~KAK8Hv=1*|k~hfTI!#p~l;^uL}Ho2Ez)=+I1qGQ0l~&L~60E6Msq)(wgx@MJ;T ziquAM=^s~ zQ{ik^hH}aSG0Kb)M#}ZZ)_}rqk90Ev#g2g7FiRyBtONB?mR6WF9h`yE#`fS+GXDqAYkiR&M~H^!{9yeLPrKFnYT5Z^H8gRMj4~x^p z=)U1nhG&08aKp@U`8N-vRfVgu@4cCq zHAc5di!)_IEGk6d8fXfCp1|x&cg^i;a8NqNM}$<7Nc*Vmg7f&w!-q^TT;poLlPvY% zu1CT#O`)UD?R68L$u+m*q*qZdu6H#(|2Aj9iYRL})0UKdC;$+DI#JD;Q3#yDi55XS zIY)Z9lOv2;t;6p${CR|S+C`X4dQx>YqXZ(gOAI?J%0EGMo?QJTsPhP4<(-I;2iPW_ z8XVFa<*2V0qNCz(F`}?VGt=61b5ZD7@CrqFW0!D_*Rd>IO2H<+0|Q*ObZD*=1Kli< zr*f{iDHVvgw7Dq;fag(!>A6^=m%dGnzMHH`7Wj?Hi3gotZ~p4rG2l=bvUMRYGikF9 z5AWU(8^=6LQNzdi6Pf9FaEoefTk&&_QnqIr2(0h>_#UuvGQ*cRWRiZV-@z3*qo%!|q%x~}- zmQy)>b}I%w8pIO|A3=l-xOH!DMd`0;j3V2sZKRG{RQR30-r*G|a+n3QZ2l!nyIXP<%ea*J&}B8ECI2c= zS2@N5cH6uJ@Nt2!k$FD!89g$Ur&3zvj%&p7%YKCBdG;U)z8)I+oJ8N}dgcL%I{E(_b@S64*Jxe_=R`9Jeb5WF^1p6`c;&(hc zWj&0bFwaf2zm(?lH@gmjhX6kSPp}gtym_R>CoCymd{apY3=tThtFXdWP`ON2^R`e@ zd7J>8mwOmsVW9F%=k?!0%WcP{NJs!*;d4xFdgI*KHlKr2;8Ksc3|pj_g7<2S1WUqi zp-bW0&Cqk%elF*Ary#AwKiY;(6vnXJ6D@YT-2iSqdu^xEn%h$`AMW|rB>z~j_SiJThdgd1gF4dr@>l)W+DZp+ zI&o5Tr-k576B)sY0oK^Pt+Ru{mciDXOG>vb{YX@Uk*bfLb*7Mmw~LUG zo~Iqa)ywL#mz7F&X4lcGCJOjeVWTP`$akoBoLZncAjYQrZfRQt1PGQewN$Zh(b@gmlL4KOte|Q!ykICc{6FMr_zkQ%+xL?8~hoP>Dtq@KbgGm?+@6`trl`4P0>;QU8}u z&OqeYRdPNBI2e{az86P?)>VN03ab%G(K*;`OJLVI5A}VOK4?bOB(9uBJ@P)e208se z0iEDct1F(p8Q;%=%hv5}6a}C>x23mdoe$;V12A~`L|x(Gp9eV4@38`hvJeE$xYn`s zg}`_NjsgcKUT&L~tcclPFL;rPHi!9~1VOb}9SnqKZ12!05JPJ2Bs)Bhi)JWvNsOav zu}7Of9qMfFGQ0&OQ12UpG*XO`cxH@Cw4Y`kRh2H6vgeM&a(^0jRCch zX)3uM2g10E+`K?eOYL7yJuyA&`u)S)V|!e14cu?}iR)$*!S9 zI-#?zUF@Y9SDJb6c|PL>LUCXen2x=QnX}jr)gRLiazBj`^KmoetLu#Nm8}E=4PIyp ze}UHE!4&v@_X9zxi*~~iv9Qj=qB_C zOa4S(v>2_W*ilXVY`xFOHU1AWjt>j=>UL}8dR|=SlRPYnHpAwi`#28nd0itREMb86 ziv^+?fB|*l#ekq0Wx;j6OC~}E@}WfTgUuxLL8@ZaUr^DCA2>joQa}X*xKR(!eDB8Y3<0isiFcTr(&0UaR1u8z7TJ;iA#x)j&Wdz!7GSI+Lmz;X z2xk-y%8V@a*0=TNEYRhY7tUyUo(9bI;P7;0(-t(iz}28ir1jQ!-;1@1AoWmU&gc|1 z3=1XbR>?9}@wV{L@|z1o&5F6fSB3sn4V#MeCLqf}q(RMnh~j;xaitcAmywH)s6q!B z26gA5!Fv82gysF;9HvPgB1laRxh_pe|Ga36Lc(LY3Npj1%DW>VX!*WS;l+5?v1g0Vozj7K*HgXt$||Y?0{J zxu0p(kl+LFbmdzd8gj|vidzefqaMSpgx@9KCsEaJ^w8Og3HY<IvO%Q^&a>`ZNBdLhA%<2nJrs z;niEaTeY+4et}QbjA9+f6V0Hfp+?|ECBn<((AlDJ!9RxdkDYi3*)!n0{|H@{{J{+B z|D7BgXGCx6FOm{ST@~)uT#NfAhpxh8bI4~#wtxc5o<70|oUZN5d1N*@IQzaL*Lx{- z3LJW8sfTT~QLy{azXj!rgTMiNZaV35Q;1N73cJA0?z8MZGX++jXuZtmRPkp)1B&!- zHCi1UwZh)0;X#)n9~kG47dfD2+r9&^@r}gJlY%o?Jqr}h6cmL~`);n&5Df>-5De;z z95;ca;*W7xyG0%*#yEEAOju6duMFYSM>7>gpUP5Z%wWPY(+J~RBexIoru8sy3jY)z z4!+UuIQrG2$HgNB4wZbfph*!AUVt%2gUf3-AJb5-tKmm(oFQYMk3W>`e~jK0u%c{fTaa#_D@LhE3`!A$HlAPN-)LGSwZxf3E9o$2)q^|Yn>Et7X?SUI~L63j8 zQ*+f1#i)nX(3i)-J9s+(<*w`led~Vo!N4(PHh5_kFstC9qkWS~&&&y#8*q~lp*34r z)Nl4D+r@fds@HVQDB4(QYrQH`HB#~KEcp#Tr0|^1V(6+J&`nnnh8W`36xUy8fO|L# zN^VpP=rn^j93c~qQ?B#=kZ}>bO$0Fd8C+UC$R<-zHe=B!3zxZ%G?Xvs__Gtin-6cx zA>Y|`^a~GH_J5-Ne{h`bAtuvVVo31H(#T;Gc8c2Nn@WEsC*xcs5xg0vYVjW^?~?WK z<;o)m2it#y&GN{;uzhw(1cN9T9PVa(8gMW1@WtF;Z|%Xgo-nA51%jQsdyt;?#f|r0 z14;UCaVijiZU{qOk^FrO0lc`?|K_kTxHt?JmY)&O$KM5jYcCt zF#>4}ldM<$JwK$7-`T%Gap)Uty<8H*?80{vKFdsa1P-%DkorXZnJRcoUA4p=hXMBt z?9s#DfIR=sKXbSp^S(l_O-bVdN)^S)^>U(_o|_IRu65#g zj^Up&2s2!i+_Cg^FSsu+$KVtCXK6{VV5&jj2BNh~d&YlzV(Fh39(+}#pKCsF0GJe! ztqloEo3L<1fBm1FkyoGtFE3RA{%IQO?8Ty)la}po%L%b(>pTGaAALW~vFN5?sPR$F zDr4#G3k9W$`0K-jh-09Wzpei{`j``m^&ck~d1XBWdbO&-b9hYuidzEQg13`D^r+^( z#DlsUwCsDe!mL3P2+b5snK5?ZEF*o_IT4c~81OFo*q;{!phAI>r1(TSc^GI+x4gVs zavc0JkIwKvYc&9CwMNU|I0F&7W#bS9C!(bF7qcswoy3RlJ53U*OUl_76PH%B)KJ zCs8~J+?YrjO3fjT=Idv|zP3@k{*a>b;y0tv^R@ys&tZS#9yvza+()AiCUa0?tkVybsStU@jnyR3|jEc z6Fj#zb@Tu323=CZo0OlZF+K$dpo-p#oAQ+55|&ep+ETMvilX_CUWPR);#nULb-tjX zOj8rGKxZo_;8*5KTqznv7z^(QrrM85hOVCy(;?&gzYOw&SK%tB=0o$#_<6x4)*Z+A zUPMappK!|ez*=m5#nTn(|8ZLyrYdNtt?+LiMjVG5;F++w>uzr~BCC8Bja}8FRu9kj z){ZoS&3p?C1rUS;cmNRe(qn^wxKs3g2^a-MAC6~vL|r|sLjg^fZJ?ZhA@st*5bo$h zWjV44+QyY9YP|lF0s1wpcZd%fes&6yblKOG5_sxb)~Dv}KZf;-|4m`w_qKc-;t+oA((bbr1)q&(=+XRt zU|UhGWFa(Pi7&LCG^mNx$K_8z$7Jc?)-}BUQzx7p=3vl{&Vte#GW9qJR9)?yZFY79Rclk_s{}FWvqHWFWk%50w+9!0*?x zyn+H7ru3)PMV;IQD}F;m`ABVTfrj#bPuIuG+u%%)hp`{gpZ;fi)(ZE_bpEv1=kV?? zRS!U;N0>$Az^`lV`*nA;Bv86Q-YP8gTZmqtga7l~K0tGzZ^8$G?iX$RUm>`EG!Qh} zfd;a!X9C-T!@GrC$yTHLV=7zE0as$f$!H(RlMFYeDCWCYMW3J<_KuUWhlMO1G%vc^ zFOvO-`d=Tk$+ba#hz3^8*J7(Ds+(H&YWi9dWM0eKqmMt382ZT(#}AZ}PJ10DfV4!-|Iv+XP>HlmPpZY~1* z?|FZQij6dY)jDKa%z2}T)^SgGe1TSyx%k4~!dG2rE%OP=HxRvKL3}X;V%s008GfTJ zRrw~SjHj-|v{$>Sc+N#NmjF|M7#Uj@xeYS|{`Bf*FBs@*Lco8BOj|E-?pJiPga@6b%QR!P1B3COp%VP@S zgm))APB0Rq3e^_6EtqVuan@jRH5%kK_IQ;Ng^yOigvzC*({pN!ES$GMU*b=Lp$|E50 z$WNzly9xi7t37xd_T$#a*RJ>B$Mf$m3VG}zaUvWaU*!Qdk^NE{N3|Hgr}9-=1OBBx zPe9e9x&UNKSda^m($l^6pC^0rH$yeE!mW|E{X~b<)p~`8uZV|!g1%;;EPzD2@Yw}q znBmq)Q9QtQrHAJ=&q+|M2Ungn!5LEgdxml` z7mqn`pQCcmA@G7tGX`fjvo4OB#*{ShuCJFyum5{`OET!a95NqyjR-4+cYx*_SjKh_ z#rx%-b;!vqUh>2g%KneA%4h0BZzA8me!Et(V6$mt1_50I7leSQ|1Xq(DW>P2sItwT zSGM^>JTqX;Uf5hyx;7+O<6Cjri{Pj3U|h;YTGVtCX$el#W@!J?G?}QU5qGuKxpA2@ zLIVQQG-te|srwh>3NiinIGr_V@D`y@IyCOU`!_GB+pNoLV9_y{X2eG6VFf;O10X2< zPl|H_7nFh{ehgcZIj+J=3gvP8vbVZiETvCNw}pm0sqZS=d%vyCds)bWHzS$7N*-LH zRG;?02mZ#h9A% zY#bhn5QM5f&e2+%VeMI&EFXKk2SZvNT;1BaInUh?5vN-RBU>TRVPFs~#T1;kSNwpJ zdrzCm8qKR(-@4$SQW`7BSE$)A(m zbU%I-5?iSPwUOKMrMa;wD;msGb?c-2eRrYjcimAiq|{0QA`=j>AQS>2{}*ox4bK>k zu+ghd=oZV5J99JA6kSW*9G$Z^W7s1ze6K@d1^vv~&%LNDgM%3#Bg(~0dLo2@x0m^_ z^$V%gmDUbS9+jfwfvUTVuFV2D3-GGJKPU1UYYLb!JDjRy1)vgO;Y2bWu_ zRP1QZ%+TLrz8^L`{dGJrQ7Ek^vnQP@m5yDN)-NhtVit&Yg8fDFEe8HoQt+Sc6g9Mv z?0*P#LsXa?0P{6HOb(CgaOmmpjl;COtckb8Q$s}@xAkBvtl1Wnc&a0jVeHz8<&_^j zjb8JPh6b#Sj%@r1nG=-t4_cbckdwI;ciGnPi6Ib)zF_Ds%H`^j5MX`*vHfTOKl+Gk zs&BeT-i= z;K;Hqy^BH@@0Mn1DCs%AwY}My^cY>R43k&r)l(;Ae0R!gbTWD5a|_b>%Q#DESj+@;KD}hPixG-lo$`-5=9Mgnz%(ruQ*O04Q(r!uU`@ zR1P#iD`b`de&ix>@``Qu4q^J5%A>&B{stl;30cJluTtTz$klOR=yww1oq!-plW_r z-D`e#6`p5SCqbq2Ny=iB*9QWWX4OcSbLv2I4+^fOu};}WPSGIqh_Xo947XzOK#Kef zjOT_iMdCZ|uNb^q;! zs18WWC$m2egyA*D9PJ1py~TWD2@0#uYbOUZlZQ*Z0kQpT`OFGQ{9G@Myw_%vW6Ndd zpWzWG<#^bcR^2G8^PL6$^)BmFXWl zB}$(LtiuodJ)c`|A9^D~mrdqvSmW;A%I{M$V-cCLlCdo|$5Wd1wSj3^OwI_VHwWH| zv%cQGCf3oVWHqa5Kzpy=Y8Jy{-qY0TKt5ixguLUHsL@V#p5vykvfOHnvE_DZk^(Nc zXlvZ*BlGoag-IBdAc42Cq;=C^IbL4cpZI|N6sfe3EfpaVJc8&P4__e+yU1(Wf&Tu5 zZ}lU!wWJaVkYpdaa$q*8UC^RZfk2%9de;arbqKtv@vBp`nF6#l=(%&^)sl+>^6~7J zzVSPY+MNuNlp%vMC^AAm+bZLKl3$T{%GeTq_c8|BamKfYFc*f2b{h)l48npq36?37 z+So9wywKiZ{F@F0F|r9Di(JG4AF^D?T6d`~7_PXd9K67GkA*UJlJ$U^@L`+LpLJs>GB&?kJ~N zzzz=G#bU7NQ;4q>cv1wfLIANGGzvToC(~`Nn-_Bo@@pkh_{LRQF|sbJFn>1Wwf#x_ zA@HH{Kdg-qS&w42U3{e%T52AXq&r(gO{5sAm2I~?q@XQ|<|~3s5sc;jH)R9lg6vL#;Qw<%q8rKp)TY?Tk@5mV=Z{BaO zdkM;t#hqL##w)Nd85lA4hjE`03ne8R_#dy5Zh5mX zcUrz|=9+H=W~|GkVE{Irj+*9}vybf(vBHn&WV;cx3biTZEEhl7kk3T>n0B@w$P|;s zX*V|R8K*l#Y?a?QJPH3vdYz;PBE@71gSrT4CDR|oPt;|N@q=!)Pf-oOI@X-bYgQ9G zwn`M42p|arsWjL!8CKrzUy0ZP?WD))__wTTUG!r2=vpU&)nfa-eHN{lbZ_G&kZyBa zzoLo1l?}K=Q(#X)p>Lhu%f}FX!bIRYskdRWp9J8@DCSJvm}zb_<>!qyJxQ`5v-9^M z8IvTw-_T;*@7%IUsf&R4aQ?sKo|dp)5ELf$7uJz8&a^7> zs6+HlT)&hoBf=+n#eG3w)JH)lmvgFpgj$hhWDOl#S;6LLxRZ9eqFJboeW3k-++UXYXR3TlJdXtq4p-F=@b177VM#YQt^^@kH+pZzzV?M^k}cBH@Kd_J9)TRkK^K(lw6b}fi0Bc?o%k5d zp)yuGf%X~kbz(6XRqsQ0BQSpFya)z%ufFAluCn?7<@4lvx5m2-m2GMQLlwILRtv)r zZhF?%vs|x_*vY-+ZWQQxF7v20s{w*VYgC#ruhm4SYwB9$jyDpb-#} z*}g%2Zi!nH=XK8;1c}pc8)=hhU{LD3NDET7Bl$DUh9GwgCS9JzD>tJG=o2-{4C)S! zjqtq%x{ve+@Z~X4=F!PDkPR^+cTXaMy&{}<1uY>>{zqvJeA~>$^u=NC`bi?ZZ!xvA z3&4J0>u_MYT3Nm@FDD3}A=0zrYu#?5YH*T|sVF|-PQfqBZeB`wJPl^ZjLZLxOE(@^ z^n%llrx@Jn067`e9^M#9S6>>6W;v&$W+Y1jN-3lKwR^g7-0pb^&bwA>*{og!F=|>* zz8ly8_2ObNY`dl({@^p2@hs9`)50H8tRsOYd=+~~>&e+lyCdoWp%ST5JWe4_RejIT zK+jbx$pc*xGREfT>!i(Y3P0j7Y9E!d9dx<$=`Zgd;29$xNpJ6nbDpMTpVfv*NH)Bs zGI;EU<9_UOVO(=?;rR3h-st0A5;<>HOvXckNY(Gv%i@D>U_4ZKGDC}oEoQf!oFHqg zy!PGvz)_ySTLH93f3psp<)M2YhO{MHxzl@_t&n{fY-fg8C)?)PJ6v38{+T4h`MJux zuvPL+`=VO9N3G2 zLTH4IGJSu17rG+gX(<~X-Tmls#z@ZT+|Xog*hyNWdm(ppLDV}{4700J6BrT|5%{+D z))@*d=CRe$XB;-Y%=@1K`bS9{3k%{h8MmMsP#A9Q*6|m~96=>~##%Y^8LAlMY6ae- z{rRa80e?6j^V62%f>eul)^YO79kvma;BSqNtaNu-nNCLGG2jb`0p_^wgx9gUs&cEqexywxQKCJ1CA&x>Q=bF!j9iB;&e7*sAb4!E+g8Y<^b)0|5b1o3Pl| zND|qpquR-Xqj~R&$)*z*NG3LvqWivm7Dr)kdX7j2Cb3;en_!1OzC(c7q(Gh&&q`6B zL?T*|v;AHme$P%yLyb}2!h=M#%3({w>nE`5(%$lU-Wo> zm@4?VNe+<={htRZ1R271vzS=)WK8Js&R2PcJf8e%0(7DeDs#oc?Pd%+PteXy93#Xi zU+|Q^z1zAcap(z2XiY`-ea>R5#iQlwCmxnpg#1m4x!F-7q#0;|rs zQy$RM9F4!xz!9uiB2-wm^Nzw1-wdLrG_`bfd82W{U~5_5K||smyoE;!lofJ$b6#M6 zsDi7m#2wmtA%p#f&Vr6~suSdu8Eea7<3)!%v$IdZt7-N|jQd-=eMMZ2sko{Tj|nKL z6+P3zv9-88zT=^?CN^TQSJ>IrgssuIPJ6K+kvzMq86_&0-rRbQEf z_?U?2A3$g}UZ>`_X8j_j{NTQGAetTqo60rT6o|){g=UTino!bhyc^@6;qUtxKg-YA z5;Z0{qovil+7`pgG+D9f_JbDl0q}u5xs}Au|KCF7SCPoXwTO6Kt49efUgNDfRl~V; zF)wVlPi6#9HDuhnn*Vt#O0=7v?pV6)9m$R>RT~c>TwEs!>sitvPVEK}!Nbxxh!TlG z?_B|dk9<_aqVHF*M6yx!bT~tP+5aHI(|$n8ZeCC&L}+I`3P%!?pGbJ<4J8CQ`pS_D zj^~JYI)s8ycs$I`sbkI0a`d_L8&(!k=WV?n{gQAZ9b9jGc3(ga1F`=r4w~YN{MrsU zCe#^IS?QS)ND!p+@30T{i@b|5rBK5OA0@pu9f0mS6@V_Joo@NMPE>W1hsQH|TtH0g zY>nksSkclV7`e$;$cbsd=38wsp+G+2B#{Tz(k>8S|1cBT*_tna+f}^0=_VouZ*wPb z_Xl%(;N9E%V6q%h955IqcNo5V!D2GMzcBP^r~+E|tft>c6VlnSYRZ|9PIm(fALIal zLxY-~BSk_fG)bfP8s;;j0nE>K7k1P;;fLYALVSTtMD;fS1KY=W?X6ZJ{(Ill_O{?k zXn(4B<~NYBZYuqboMdh3SgoynMNQ}O=lKI(H42+C;C)e$PuPwqbzJj6WS5cJ-jSBh zo-ecOZcTkU6F_M|rA`Ruqy6*y(}18m`=@5*b>&EYiPPS_fP6+d#>!g25@)rFsDKN$ z;gu;^b+9QPnB&&iP;~LCvMn>Zj-LE-!?Yof-$74SR(O%?3Is~wvc_G*tgt|iBNK-w zc=MzM+1FXdqRvd`0YA~|3$yy*al3Ef9EY2I-Vp~QGJ^#bS^Bz|7(lG(lB0M6>~sGB zM^ZF-jif9#UcRD#k}a%856BCRkJL=gmUGpJ#3<>gwg}y=uDpWqcd_ufPef3=GJ+d= z8?swy0DHebuO~izSJqg^>QT}biy;XQ&RbVdvo{QYzmKm7jD}rV_lV2$1aw170ex(q zrVCMIas2M6pe1HAzuL_35oqhPMIQDmsDj z(0V)4X{kgU(r_oPJ_tad4|xq20cN?HW>61^zpOnILk0V$Dk}Zy z3}F+CdkSVP2`TQROrtzHe@(0KEgS!}F1QDqWaMBTiIW-(^n8})x?7K0GE(#rg;5^2 zo^Yk(5gBD^nN3_4#{OsbkN3!N1K`vqasWTkrn}`4`9zaW$o;KVUt!%9XJ=JQ$0_UQ7ueD)4J1E=GR%uk&03o$hz#9VW55Nlw zCTTT10!^Vmf!7fm3kB3*L3@`lF3Lnvp1_i{N`%9|b` zrdb}je?);UdSbEhh=}c-9suiVS!*bxH2H!>Md>g0aHxFT4cSL?1%3sNDVBG& zvQpSAv^+|bUlu)x;6wV4X3)Oy0cyu@W)*=iB-p_@LB4hv3jaj-5giNIL|;L8jf-Vu zrMzgOL}vKbP+4wlGb}YXP*gs5*D3>>Cj9~p5oJ=H$ zOm>sRJ@g+M1i=joEaI>;jz3+O)ly?L)j9B0@0{0F^x3MAhF73s1#(UpU2p6AaU3Pb zg$x0-UJ@^CK<_?rcMmv}`aCf@Yti#_W8Y0<)vXKj-_R2ybe99`XwyAgKi3rMmZj;x zp5-JtdhA)`^Z(!k072R)Xi1in|n=nSce{K=Sw$5~{1SNF51*DdMlxGZNp zxow#a>)=AdEK=NGFDU3ASD2BojuIoN((9%%c#|$O477vaD$E4h`eoj|2jKz3OK`B>3nj}Q1@Z*GVYO{Jg79{upofqq$C@{xI<&~7sJ`R{%nM^=l zv%yjyzmsTMaJnIb=*Dh8Dl3JmW{`(+r_R>Q@JMSC*PoSmz22X-Sv!_k!P>;1Cqiz0VyTWs{+;2*{*U(xIHC)_p}AsEU)QZ(<;T1Okx{QJ1En*U zEJHoLN1Q!vq6bnIM;9?jMCapvQ!QGaf+A}9sq*5_yD0E>T~5qx+fR}a3i_d?!dXd6 z-9*xCRgw{oT*tm)kOx}RwN!(x`)SSL=@>J<90E1q!P=)*iE1{PCc$Cqm z_sDVA6-7V3jn5+kl|qbqx>+b>YvY-gxHa7nVuj*3RLD*XhR&7X3DmiYnc*yd1&ac~kbdxA{&#^Nz=H4{X~;$uy=+b=f{HNZu)h%q z>aP)H0`9ImfUG|JUR>BeCrCmp!AR&OyTx1Zx=nTcekpPna#(Mp1QJ$)zNe&R5#stYMlV?*mOf0(a}q>_X2AL$jMeQ zAjB`~L59=U7!!V2xJE@$K3HKko5i=;jQZ%$UXbm5J1|M;s=&vvXQ5Y}y13VX=IH9d zbH=6lXHU9wu&BJF9gJ(CgJ3?8CJhPwgaU4l_<8pY@M6b3NBS7U;Qre2bjdzrTE7CRMTXv2*@MWkU#K#i6UQj_RCZxJX{1((mCB zBFjnObhVk%$?uDXvH0!YmPy2HL$6DBKtYh!p zo4>F`Pk=dKP%p+|QY61jUlNgI%AUTxCg=IK_E(TtjPDvj*e}nvpf2)%ex;jfDi2N% zRfar_n!v5)oA~YQjD3BrcmqQm(~r9bK%I?y18{S*TKYn2E$OZL37%W(X~<+bJfY^J zG9c@v*ajx*t7Id_&;oWkTVQKn+_y4x_zWziO$+&%pbd-csB+ZTii>pn`{G);p}_v> zn0@*{@v-2u65eE6prg+9GBAWoxV+`{k_lKHe$V>Mb|7efTqDVynEWp{sdn?@Ucj+V zfy$nw=QHlxsg@Mfv24MQu+J%aX|epOCs3jV62Zs-^`IX*H^pBQQ~Xv}VZwnET}~;- z`f4+<#0*@S*aQQI7Co?yeMTmEUi52-m_lwk!c88nu(_LC!gRrno~j>fP6_SwXeBuMpSwZ$(dNQ+U?tAA%{? zCq=c1y$o}Dqu?Ghip!)q7<3nKRCfx`cM;&NJCGcWt>%`-26mY@p3_X0qKMcAUjwk;irDE;f*m^K&pvUl~#ENyWkMpCiE3qBHjH#oh$u zsF<*QR2yCDX!Z5Dr#oB%WgmlT^xR?6=PkbSVu6KNixC+A`t^mwrZ0{h?(@{W_xqmI z#Y~ee16Ej6N;=^36SyT+kRsu+#U%b%=)1%~8u(Fu?pF(ua!Rjx4SY=^PLR#EsqgMP z8h_lceTT4WM?b;g;0P}D(TG8Ua`Di@nvvT9;{w@{@z5ut#a#+mqB|NM;1%YRvx3f- zX^js!QAJI33-*mHtaJt!Dh*yn6AxZDC2Nr#kp;C)`cBEgfQrP z(RS0CC&^A$8<-5(1ec_aPR_6 zqb?>S-s&=~{q!z2(ER$;7%eRI6(*~5;j*s^Vk5?GQ=8iv?>HE45sVQ3p+z+uT+Gts z&tMs;D5eutoK*&S)w!~%v@=7j>EIw0@5N#IXt@HO$|87hT*o96@)?QZ#ApI2YZV05 z4JT%IoZ$U|j8-uGbUS(M_M;GB%48X5{nqsv>$*@gD{h1+J2Zry*nfZ=d3;OA4tQ+v zNd3vI(>u@A}0G6wzw+MSd zYVnqE5t+-kPvQ&N4yf8Jmev3z6Nqd-u7=GyI!eLS$l|JVHF8r;gTmwZs`CgqV1^}A zS2|)Axh+?FY0>P87>IBrpxB`CTC~hq;Mcc_R)(Adu`i}rrO_8C`K(6TzG%=;;QPi- zFn9-_g+IJbl4$yT9n-k{gzvJ&a+yMVWNEl$z7+E0sQgwO;RAPrxLJ(_nlKe@b&O{= z|3DcZypSF9oHHvc(}W&6%F^3BW6}IzQH#wK$@>pkm}*a%z1ggbx@(v@Sprpu>x^k8 zk55BB7}}d+deFXp_uP;MRMi+izA7>I(x2B?RO-b(QPFD(xFngn#DxBf7{s0=;j7_rP(;b* z%20W!Leh@|75DJsOW?kkAG3{3w_?xiomhRhqXn~&a+b$A5M-YS0-M6Ikpo!90>BiG9xf9|7ivzpiFj zwRDW2k|R^vAY2b*++TIeLqP)LvJ{mEcfX2;c0mjDUe_i;Grx*jQJPb1OMwamppL)S z(;&Su|y8Mkm0Gx^g^%0>lA4Qv_((+=e5M``iW^=eCkQ)?yHm38fSb z?i$w&Qf+P)lg-kP2^tGQ3+l>mKUe-fo-I#0R6Ou;_vnog<6x$sR3i^piFRcA@CSym+^Vg?YG}Wo98Zvp@UxKHxO8sDFEqz|*6|h$`8$6|L_F z6#@hps%T5)>^Ihnob1}gSa`cQj6Yu3c1I29(N3kW`1uy4;ozqi5j`foQ)dJRKXorI zQ`jO>WAHJs5MB;7x&i7SgnA#A{R_<1PjLFQ)ZV9iUMhHBGog< zZakfad&iyONIBP`1NG_W_@5vhjKdxgzJ@(FU(tIaf{|tR>f?}hnw+x`ft<{C9$ut5pHzQ7(X0|&sa>1DAQOe= zypkUPNDS_YZ3(J4OKv;DmoEgE^9NvXAq#u_+mUJf)gwe7_ZyDszX^5h*mS||Hp71% z>%ip48D2WQ+U&yIz};H=Low1z-8Fq2p6rF3MA0ILgIjogK>qw#w)Z((ie7OM`~(J9 zrdqNUseJf|5N@jW`Ff`ewO$EtgQ@aRGH^w#tW^1dBe?C#6eCOc+3AsYD*hL5h8u5EhNXATa!W@{f{qZ`oKHhz^oHV;% zvz1&~UHjwhj2F7`Wm-mncY}-;G@KQT(OM>Rh|GAmODnM04mI+#*w-?nBv*Qi$nhhp z=v>DEH%#2%QW`qP5v{Yq_wGG=Z|c=xR7sA%q zwm6)hB`YR+PkC+%ZjpnOiwqb0T0X5d6H7*n;y7GeBm=1&*16gnV*Pg8r(Di+R25Nq(Xe zkr5E)7ddN+el58WIp&326^Y5FZYxrApvnQh4gGVTO7+XL9Cb@nrX?ANj#eJ-B+Tma zV_JO;$Nh4h?0sQ{F4Lsw>0+_QC{kMP@VHKr2>}cq7!c||GLb} z(&Wvh`t$Tj0}b59ah03KUy4!n;s9yNCllK?l`fHnbcV>i2#n6(WjQ}Ft2P4td!?b9 zo8pe_$IZdrB*bD0es@v+DGoiOw`@Ep*i6T%sIC2B_BJ+9`k`~XK~yG`7m*#=5Kw-i zX%sY}v%!*2_Fh~Qg9YaMaWcfWlURWFXW?A!()#&S$y44w@cpqor&_@go zD?9Qf+vF@;1?z!o_jtkJmrwo>_W0i=b^XJ8&#_V5xYDrAfAlXUB+7xXdOpYlaQzqI zrDW6FKjg7u)YZD;q?b~l(#E=x<6Tx%!9a!v&lRl-Od(lGPmekVN-T9rNc!QbJ|PK4 z817Vi5V-ULehq@dbh|CaxlE*aArmp`yJfc0%3PTSy0?v-UYCevY3R&pNjQ9aZnE_Cg56~iH~4j3J2QGZ;A{m^@8LpVQ~5} zSSdKD91cil587v<>AP8?lC*NEFz}BC`RZe^0qSj$IoJ=)iUpy^wNdyWZ6ZZdYpVt1 zC&524tpe3Xu3JR*IlP7LiM>;_vl)zZw3h}t?#T)a2k1JkfQ!;JWS!cn`O(9*9kBsrW8H__`Gxkx^776Efp17SZU__K@>i+ zodkXfV@*i&fYswIJa>8k<0W9Bo~iVDI~F_a+*Sb_>Q8tl)ni|d(45b01J|8R3v)c@ zk~h$31`Q_)IP`Cx$p@T%h1vNR-3)IdwI~6@kmKMUi72^7=lOULr;J(YNgiz2eS{T| zgF2-H49|3mi-Jw2BZmph@H?Qn_1P@gH72hRJOGKcZ#ddXu6S$~yh zXD|2erPaGbxT1f(;5bDH&maHmMGt6pgJ&8Ij%=E3Ak#RspoM1|Nks>D4bhnbd73~o zNK^hrj*-irzPl#XFv!p1G>et|llzPChnX92&TyfdaFC+^k#M6=5JQ$b)C*_g%DC$) zD|5_}FJ4rHiuaooo-oZ$!jp>#R_m+`a9+|r$dgnZFeD}Ueij|#MKs#GGXKTThoy8RBOIkwsD2gwDKJ5N(Gm_p1vF8T_~~5wa@TUuIIyiz zbaG%;Mf#5a?F95Vn&&xwSvBJ|;@n>aMC+iNEr~=~;n{|kBBPO)o`cdbuvQ&JXCLLyb@K`Goi7#{_!GL*tUoMUJwGgLV3YQBR)4mLnS<314E)1MI#ZVuN33(dKP^3YsE+x@&J zg|$qt8(@7nUIdpOzR~Cel_U^#f5SZn15JZPrCHFoo^;4cYhsgoFdu{c=_2iUk~C|< zUS`gU)@`?J=ZCP5O`ox8A2#`c=Nhj_TMLc1Jz720i*=S87?fo(c<=Y!+X$ErUa0)V z_ZnN`C?LE`VS{|0nob68*!PMYsxc5TGOm zS78JYX^~%U>+p`c@N|Ml_|v7t;5R8t#nr#R07`Y7%`3}ARSA{YFV;6D5~c1=JSqEK zB`N`%O>tLcirD&FD)6$!076V)(Q`Agx`4?{AjB-63o&5;>G)`nOLi7~Dh5gPN32Jg zW7i$Xwx!b3L2m&3x;rlLti58O&J=K;223KW{4M47O!Tmw+@Sk%{rp%1T5F4?RbFPf_2Q2$sxo&!MI}VK9 z`=o3XTB=@|M0O;4TH9L*78&p{0m0)#xmrr5)Uv-MgcwH3_VPK4p=gt5Y34*$^@!?k zU;b>$s?c=kE3K!<;{xEKl{P>e&Vt`-&-wBThe#AUr1N%-3}SsvCILFkR%!4R3jxht z01(e*n1D0@h)0@0hS8tXRSbT5=Ulgo0~E{W+zBQKkQe-<7*!AmBag7dUryY+#oJyIhV^< z^@JX@Abfhi&BsS0vbx30FZ%=pk^YjNxF4)D!SiqH*Wo=?SBe1`=nw@&lSh}L3GTkr zu=`C=bfe4Gw-4Gx=0z_uZeq6osQ48%5%7v{cGAEAB!66~w_1e{L^L3oc)#r1()b!X zJ_siIUs%9~IMMx+jYLH7OEd<2XwjDYpIWLqhJf-aDoOqqdPd>aNNxrU-zE z#Pxvu4mdS$uB4S8C_DuW!!@;&DjE+TURK`+tp9?usx@AK7R0=9gcYClN#h8q>V*1W z&qPx<_7S-{*|vdW)t2tAQojm)PwQK7{TKFvrR8YGx55ABxfDP^Ha#&@l&uK;#=$~O z_8sl;?>L)U`b(_ZUX0-b84SRxo*Y=jckQi$Owi2{xA%)RDY4V6UlO$?a=)e-yepB& z=7y(s;o|44U13^%3bVR4NrNKEy_3Nk3dwkX{;WYZxA(*FbdbLWL3>qqW|gd|7Gl z52T8Me*NWpa9)y~^&vee094r=I((j@OunHqpfs=gD^Gr-MgJN6TC!(;ZCEZ_#OF@N z-B2<6?S%xkl964FLzganM?1^g{bv2~lbmc?!ntL^V1*Utc6=e+F^-pd%0yO<`8WYe zGqXR1dm!k;x&ofZO>RI=srM+{U!7S7L+YHB*Bmt3IiTzsYc5@_J4$Qu3Q1{sNiCzO zKI758;Ks~b7p^DuZJap=N9mhf8CC|9qsdrda)sBFB@Lbmoy#j!96(;_WlxN^mO7U` zN2Ad=G3-j5jtCBEC388R6laV{GJm=FWQ_~U6CaW^bRel9J3y}|g-Y!AwvRAc4&&eR zO55i4S8lP*YXAc#iX3GD1!m+Q4fkco;GHjy%RZzXoU3{5LoDGZ3H{7mc>->_jH83g zFeUGufeeElBEcyh-}0^C5k7 zYIM3GKOzxwoX#Zac%?=tQkpGw{~Kx3QS?A?mE9W9m~q6)8J%500ySs_I^I68a_M#e z?4v+QxS~bhJK)eqD=z{>8Lp@Qh%$4pkQ2G`g^C&E3#AexvL!@hDmVxCcW;6y zWR(ZEHvOa2&{1aeHrH$ZhF@865f{N7>Y|{2?oU#xx{OMT7QyPUzcGK6QXL@jru12d z2Q0HY61PdFCZ)whXgC~!yD@p$BNErXCF>IAmI$Rcpdan0X!$u)p3dUrqO5%T8%5&a z>kYRv0T27`VY;Rqfx(Aun_Z8?mm~ffc`g|E{l>9QDtUoOTheK|)cve!`wz&^!01kl zk@1yfE7qQ6BL#`gIEgeiU}Kt+rFyCPQL6SHSZxkB&}^%F37Bvp2NZbDg`C>oGo2ti z{ThzQt5aJ!8uPTp?KXA4MTnlSo>&IB!VsKsqFIoKEq`Coa@Z1hsv;e06hiJw&_LDh z<2~sG07(oa(PZ=R989u%-5>Ap7OLBg^-w^RI8{brY+$IHPNGqso4WMNo>72-S!q$N)tO& zT;x3`OLx!Z(@pA@Ki|MWtOZ{;?UDw*T2A~g60BJhPd;xrS1KDp-5nnqjjzLgm=0l zR;#Q*K8T9#SKoaTVgH70HBKB4mK?5Kk!GswK)HFA4|O;&HQTK1s;Y${bmjI;2^G0g35E(;zn+|2EIGHAGwd`J>8 zaQ4|po6FXOwc^K=%XF0+0)i~qT>(eV56ArdhkHxS3C0iJEjS!C0Uv04e-TwYd`Yo- z*(`@-@|!)WMFwQ>Fg0eQ;1m~`2nt|Rwxds(aWfZ?Xs80G6GuUv8#g)X+L`WtCketQ zaOBI)*6nJXt=Htnzdhs)@8KG)O5eUH{4;gELZ;hX=^7yqCo2qFHH1fwgTLi}82Oyz zkn`XGgR#lk9?|W+tmz*&5C~m4rXrmg=1&>T2VRT|ik1~T#Uhg0xy*zIULlJBR@4QT z?k{Zr1NpDv;b&I7bF53$c_RQ(4FRDTSWOq4Y9_TMmE4sa{9gGbDo(aETd>$QO zFhN%OxwieLTP)!8CoecLXXt6M0npQ_jwRRsR(TOW>4P@B+LK9CBN8sczPz`=jdB#U z5ywLePxph6F%$sf?O!YYRhBs?nu9yB>jP#3nM$PriOP<-?JO1R&-8sLQ9(Wm!`bVsaw4 zK9zmqFnN6{t|CPIOs&3`7L#jHd3QEO?_eZ!u&|;j<0jbype-%l0u>>6<#tFZ(>Ndx z(3{-Xv88sWqe#}B)iDOgvi;+}4F=|Hl6K;Deze)7mR|dp-u+ z2yo&&&+QZ=%o^3&;0e%c4pJf>d#U_>BVf8p0bC0YN;w_JlkKkD=)_|^M8O=kO?7ir9CVbddLXTMHbQlwO1I+}86h3dS;65glWAg)DYl#jy(s z9*fDjoM93$S@csbFGhswo8bB-WB#0`KMdD9q~$2y9nA+_78LN1c^QCy6h{On z?q0zR?Sxx8U}FT_lNR-|w%d@ks5u$+Ji`S;5eR2p8ci9Br#i>W23gW~>g#ARA@r#> zl3QB-Ma<#uq}$+{PmGb@Kwo)@vuu2pWd%vzs5O=~TfM$o1!SC&|d~yTfOh@G7=-=$M`gw5#2;7)7hxFPPs; z=5pBBlXt&?5OW7s-CJ@t={hRjT{fXRnfA!X{Q!&j=w+%XJdg1u-8KNv5em=woH&kJ zel`b$P$%k*ALjzMHp#K=uc=cK&$D_21djW&F4iXNhbNQ8##_d=H-zmMu$~L?(cmpvKnd2Wymw$9v=<) zJS=~ueo^o&+QM&<1+|sI4LS8TcvBS3tc%{%Lk*gk&l> z{xgSj_lyj|@prquXN-4RcLQMqKM+Z|ts>oe>pxaneP9j=!4dYz%Dk}b(u9YTZXRnM$vYifaF$3O&36!cw&s9rel8o?DIOKEebFta{~O;TZk%>xR4bU*6U>R=_)# z$wAmIEy4+pI-ekffxnYh3MkPqsC05cGud^Q7Hh(jl#PJ?3i&q00t@p?A3a_@6e)6tjMq&2!tUO2jDz7R^Mm1 ziBPS`L;Q(%ZSLW5iSuMqv5I3VnvZ++?T|c%=b#4ji2Q;38t9JZO$BLTc5=T`aSl8! zlvSq9*LKVYdmekNmF0K=0byz!-1;2_fMA`0CbTW1{Z8C)B)XSznw{_{90<@PFiOJ! z5Zpd@=ZFmL?Otfz3XrYB$!vOt3miar6NpreYu%|Ux^r~sLj^jLchyQRjqy2TH%gN~ zo5p&B2|D_cBCw-bM7T<`WYyaJT#Q3*rZvEVijIhDu~`@;mV2N5HV71?;PT67V^xwS zM{;A8ka2b?tsqAAZSt_r@~@y|LP?GMlJ#`RD_u4_Cf^aG)$Li0pLW)<-t@6))rSOD z^+(_$Mf(d!e+H-N z@tT}?3D|7?)QOOz3fr@QDOY<|lP&~=_k`dZZk%aNlyexbC4|Y56&TAOF8Zex7XU9` zS@6;w-ifw%M>^vJA?Zb{$Y^L9K~wANRaU3Ieba_m3k4-fFFt{=OssY3+WnzNH2D;+ znX;VzE+?6PaBO}bEEMBi7=m2emQdhk$r!y-dB4m`&r<#BU3 zHb#rK%Gwn}Z)eFD=ybP)2cNR48!v6nSM zmCw~Yg88jrBRQ~|ueCJ?Q+49A|5@C>2j<`2Aro`P1^U4FMJH#SQaUyFi96gTYGqpC zY-~jTE6l?U5dk6n74fI9uz-13i7}<~7C1%|(Jc)gQmw!-v`7}+PihfCi}q7JDUZ4< zlX9f8)p*5!9bzO`YBe`c6wIKsm@IOzF%;+Wl^tHcK(bfxLVv{EZJ_PI}4yF^^^VB>7(Ze2y!Uk>)K9KP*3lmPEPz3ued{tDbwa~ zY-cx4Xvh!B8H>ohm|T;;8o}h-xuU>zh_O-;m&s0&trt08pdxieOy9|2=uZJv+l@vX zhG$!0EQd?)w3%FZKvm|vdCYKU^$WZzQz^byJuts_X8&XAl&+3d8v)_TeQ+44PWO5z zhxG^PbOG}2$O=KxGXV1H78McTHIWvCz(9)wv1UKI z?ZZk)E@$lhtyjM8vG-8|nJ+CqUIUAR$x)zI6q&7eLS;GYR;G)56X8<@{03t4Goza5 z8SUDUiopsnnzoso`q*UoH=NS>frgO)!ULdY{@~Wtg}+D!#bT|UhT&u}Uy9;_fjJ+1 zCHYBTFz6cxjQ&D6*x+kmADLkgCD?g_>NcU2PRVECWWruFbvo&3T!nz33TS=xv$0m1 zedgyDGouWgvJr1O{Ng;hwSq*0Qt47+3oePva8sMcm+vf{yJE z_R?FiMbbf3xbRh236HLN4s1xKkQRXZ{*cfaw$bk>Nf)%Mo_sBI+P!m=XQ`8Of9c&q zx%`d**)b%k!}35OKH~|Y^rw43=zJ;G`~0J1zl;b8oHoV6VA{CvdRy zN!jeD0{{H_kUQMgYRauD7z1E|mn#Q?==7<|?c#X#y`rU_EKDDFd3BP5%~cw>j>Y9> zqP;klg>?#rl>9h)5FIaj@&PROf^}puts+T|-Aq(GKUH9Mo)4e19;}}^S{^NscRzpK ze2>I2R6=_5KM5v zMeJ|ZG;xmcFbk5F;vYK5Qy9oAFNGGtONQY+KL$&+jy#R9&cu-2Tv}1(C@i9F&Q=l^ zWDSP3;8&TmfQj7P(Mt{@d1TWQSaaawyYfAal9ku`XTBt*Xi#8YI4bvLwa!TS0BZ9= zcPa_0^g+J&1B5TMNr4*()ir<@^d7J>ulGa^&!~L#=vs>I>E@BX@NJRi<8MP2Zn@{; zVvPKl{OXz&Ol%RpQPnZCwjB{zVUc;7kce{_#E_d!2_{s(tWqAIb(-LqICjx>tcnkE?AXogn@R7~w)buVk3ON!y zR|Nigkp`AUPN)3msiPE1xDGF}Kb<74xZ6iJo{XEekq}ju3>(e*-Mr7-3?+&i=1|p& zUOJZbqC%yXp)e%1d+3263~zbg;*Z7O2?uAs8eKmnz}nel!GNdc46joEKZH;D;7AXe zp6$7gdXc*+R`jku!$v`+;*1D6w#zEIi8u0px_j?`D%>}I{FI8a8zd_YLMVlB>`-Kt zk)5pUy*Vc3{W z)vuQ9>7te=%oJ179MZg?Wos`xNaw@?YSgZ?>pr^`;!*0mG4hoZq@uLI23%y=AUZDV z@kI1^t(Uy1Hbsvlw#G#(6Tsi#p#bG)$_rB72cit;kXg$#*GObnH6<=>P*Vol6oed) zE>Ws%`*U}JXR`fpW?R9Ly}zM&!&b5)@?34cL%*+Hch0;?_}j>;02*0gn@j-f(fakx zn>goi7nnm5@fiW}eK(@!o!eWV8cTKE_=7AoS6ll5`siSW6X8^jy|HF?_g>ix+XSjH zTyago!&B;z=s!vNb|J*A?rC;Cm^)#WV3`DC8NmlOq(xxx9Zeo>BVw|Y+tX4St8n}0 zShdefsE6mR2k#srr!dSq2M4kqTV-@%|5Y5IYR1XY?fAo-W@`9SJmoCgq(sy`2&9r_ z?$mUM4=H$tPX3vd9C~@nSG@9fQzdS@)UK6^T%y6W&$LF(yVoVrp3)iT1oyztkGS6~ zL~d(Ygv;Qj4(B{$QGIDDqovN<)?E4A7t8L^o+ejouS+@$XM5%fX+g5N#Q3E=^c1t(Y-g~E7o}eLS2U~9?Zr2C7aAC24}x% zWBu(T`hZa)aQa#g?Z71$mV91wfk6^kI((5x@^VSw`N^j$6)sb-HR8JI+h{SeMHnX=GYt_`JDNiR`cQYRCc57Gaj^ z=`=n9v_DczN0fQ$px(FzxSw`-1`rz@gJZ4zLQV!q?XT%#RuZz=ETVs!I5k04KoNqa z;FL^iN(H|)HcP7|GU9gpb_RM|T65%l5{BUBxrzz-N>|$oaE3A5vYoEp55Tn_dbH~o ze3uFAHI!@EtEhrg5C{V3)}xK}ObpDZ*3sHdo1!4;vt(`Azb2G5v(`XWVL{i);j-<} z=p)ogPcUs8pXi8_*Y(6JL#lf%11T;e$j>!dR>MD3tChPwh_|!Ij!gIV=5;M=o;aLG zcl?DiU+hWbcKxl&-sVKQE=y5T5>8H$xMmMv^-5-s7u{)|4hz4yUf!Z2eD^(!PV^f0 z09|si8nj|vTFN@U5@u=By*;$B9ix?y^=7_=OB-_IEpu_n%R$iV#ZbIk|1x~n>u|pI zoX(4yqFa?hB~xjBX-LsJ8Exp+FGCQ~N4r=St^S^aGH#Z&ZjUPs@?55k+7HU@+^#*g_%J8z!_7Kf8h|tEPmWUM(&|X z(A}1-x{VW)qWv;*bDXd_77mAP*xIMB-TR%!E^#!mpo5Sv;}QXq@PFXZ`wZt+^&|m0 zdJqvk(RiDjW~kT_bgb)>$R) zxzA0X7*j(pmzs2AccNOU@gujrHntDeMD-JiyK4i)RpK$6ymkZQFJQKA+s6N0B+%FA zAE>g?-X0|}lQF?wR$C8X7{QRw=ZQ&kzJswD@#)%ld1uk|e@$K= z+i1ncOZw#Mn68O!#J0Ne#uFU7yW*~#ujZs3lqk${tr4o3GDfBzZUiGZ>mJBJ<4$awiM&L`CjZW zfm9E5EYtEsQhZ|q;jzEWjPxZeb$(K7D_i@Pw>6EUlz^pdB=XZv!RG;=rLt#x{U^Sp z^lkm_%T|Pcov`R7He6$TT_aWLl9fJ9q{1XXAipGlPE`9tSU+1q%T8lGR@;_w_acJ| zY(;NrS#+Gn>`ajR{`2vc*yc0vV_0W?Tao~0jScfX!_VZRNf-;04IFu=CGqOcYj;Ow z=l_*^X<9Z>p@joM{V13%(G*xmb7hj)wXsS8flM;Zo!Yp&W_ZE{Z)nCwyyU3eG58^I z>VNfTfgr4qvaFS|*@{E0H%GEo>Bo+y87v!B-=Zy)uOK?q;fPBouHAzU)1LLcvVN{PdHERHsy{GSM`nzl z?T9brbRRNw{@PM@bCrPKYLYrvmy9f^+KKDMg8G?E&?m9Ap$PC=fKJ6-9K+VH&YnF> zyo$m=AaBWmeq`$+qVM8ei1mD3#_%$h@E|Q0HZb6eRMXfAETI3O(WX#YlJa$w19|?g;xcrr z>)+9MxBe9*h1lhcm)17`>0Y-$5)_BS0^o>O0FL`r0t626XH8V)_^pPqBtTrJ$+6FA zhC2UY&_C7ZPJIFep99c8(z`v9cW}!Y*9f`=9c_W^$0-58tMDWPZng>uY!csV^e;z> zX_)}9snayRd$4<`{H7_W{EsGA-vHI8?5e1Tv&=vc*;wg6*DJM99lqwg%7tOZifT_f9-!`}H6CtglV7<)POy%L{$C3G5ta_noOQ zV&LkC1IN<=i%}Lq-2EbTV6IJJm-K(*&t^eWHvu9GT0`1~NS%lUejWXQ995T$+G`#n zrZMb46Dc6m!N9b5xQHzJ+V<3+*c3mxI*vF#XeBB4)}P^>?h3S(2z;yfCnFv1llcGd_Xr#;)fX0tZ>i3F)*r(#m~Ewkz}ku0Y@|}eTE$|BBM#=Zb}PJZ_q*~KwTRNd`{j4 z1(^!F?ZI|-glWXjfTId3B1oS?E(5PR-E++lnZ#HLvy#)MK%g{v!1S^IidtTtmynzD z&n9KN5mu!FKev|4ln?MZ+FkHjRaNPFWEwTG6Rgq-Nc$=h-feR!#8-TUo8dhBK2MTk z`v33^(2P2wvVC1RUnSdJNRc)VX|p}Cgzuiy6WITUMU{yr&VW*jyMHhN;#@s!)M3ZUa#KH{!PJ)vHb7Hh&VUPk`UN%m8LQsUHRR`v^bu*}(LY010?2V8Js$zF$g& zlg+xi{FhLqa1wIL9#5L12LM%)vdBM=Ru$u2bQB^O)CNIS zV&#(ZQ0N5{kk~F}LY$%kLG^sX)!XC-H@z*pS7*8xE zmWw1j`pUcr2A?6T7>Xb0-D1fn$YZv^i|5q2yA5MK|0xlO4PcA<^EC{2rQcotQk8w0 z&!gXkTsm*+%ow+UT&^6KE2G3s+V{6}fx4#iOP7x4a+C3;}yBuJWc2FyE=F=$Ed$`!x9`sZ!&^ z`NA-;*r8@qtZR*byTuqOnE)bm3-#6lqc7x*WHNm7YKV#T21`tSw!VPnwUJ?2P-eIt zt@eRMvwlQz_n<}1jAeaux|@{!f{cPxJH#DJfP)-w==fN!%67{bg%JFAh7{LO+mQS9 z*gJDTok#cRRe}&&>O6u!>F^66oczEA#Q;4?JnuJB{tNyVNQ*5=caT;74?Z zE5KQWglv+qVU1V?i3WuP$&?N@j253UC}JZ|P~zaaL7U&7tLM4;xkYl}WaqWYuTLJ}IiDz9H362TT`ak95jeQeMp1 z#AHJ6VZMH9mjb5i{~)@lvLj*8pBc7mmIG2Y5be{l7r&%e>QxrnA1N={6a9B^ZLlm0N$M;&>(bWD$nz78M_LrM_J>0D5D0JH?E+gn5y9`WI-yX< z%DuEt|gX1lrl#;toYR-B@rb&*j zq3x^Fwt?{9~4 zWKzC+B`~{dgK#;pZaM=v$QtP&+(aY7$x^@k3!9@HO}?a0k)zLd8VO?>j-|>x*A> zJU@HJT$+Vm=8W>!PX(EmHJd+sMaMg7{<3?_s?nm6tYKz!rO8j7<*_yT@@Hfi zuH1RL!;o{j%!iw&RNea7x=)Nx45x^QU3JWNOpgoOeGy!$%i8M`;u{AshpD-?*rUBw z-Ut5h?`I)7;xnh{&a|V19Z-MvtZ-q6^Ks1jYevj3zBgL(>MSqm=miST$jnwiJANA4 zh+)L4GAYhI$V#noI2sI#HP+gkpn5_H>7{s2F75a;J|{EHx7^um>rP8cvlPrBX}w~X zPrZ3T>7`zS(2R^}xqg7 zd}ZvjLyk=I^eecO528z2(!}H1FCE0HW$aJ*6m)|DW zJTBHO!?qL8ETy|!nQYE9EiNuPgOFeoLZN_V3O>R?2_qQ!$6uOnm*QP@aW|C=3I#QE zy8D+Z=xMK2nZJT-eh*a}bHaC@uQBO)Z>)Al-;-01Z{2Me7;!_|=<(81 zWubeUimhauLhW)7lWH-{Q$13|yZyhDMO`>m5+8$;^U%@0y>3C&Utb} z(q2o*4l~lR)7@&O;RJHwc#{pnG4tu**N8_qs>CO#&2<&us=_OFg}cG!Q=Y33f5C8s zr+U=tPcL7Tko$I6_ekdBu$Ml>Rdh)gTuW`$F1>|n$*^ERRzcw%%jt-lE;7lL5GP7O z?DDyEmHQGZDBCv)3DllrgoD8;>i-Pq}MEJfuOKaEVP6$dA0Gd;y|_=gXdt^RxsVbeqT zdO2nXKeQaWd=qA4Q}7S{Xe9z!9rT@H$avp;@>htO75X5zQ-$EK^> z{YN<7(CXLm+5-yE9G{N+QQc!h>z}#A9@&uhXynL%U9)@7O(SmBx+%(FVY_8>+3tvrFcXoeGhvv-Iw=uxG?43 z)5g;>D7vMCnYW&hpj>0xxOr6RbSMn4*Z(9Dp?B3VnLa7|`+|~@-ZUUre4M!|PpMIA z^~Q=!d@}c18;;=Q^t79D2_e-wA(S6%tLHfETHM~x==O)6*6it`F4Q86k4}T*&8$ps z-vxMdeli>{NpeRYyf^t~DHWVn?H6pRDf%XgIBGP7OUZAC}6P!&E4n<^Lk@y#sIT8i62 z^`Woc6E!sfUfx&%>t@4ErcZs%LpE7GJ)6rHgmLzf$Ygl-@)GXwhg-|kn%%jwRGexz zKT2wKO{g&E$%DMRC1p4B%k%RsjO;F?wLf}0Bo;M_ZrPm-%y&n&{mD!0Fcrj*pE^!H z$fcEdyPZ+4S5+4Q+E z=*>oO@qfPJRgXgWI{fKnLnnqKo>Su7?iAB>>NGF%ywbY@7@84h#}*q8Tb!|EiDGh< z+V8{?QQu}peRBDXr#@~pJm7O(=#}B+J*H=UtVfsf;>8PERn^w$18-4P`x!&lXAf)}10nix zqE)}d%vNXKI7NkuuZEHzT_$dP(nG0D1?8OA*a`19J_DgAvyNwYZE9Lp(Wqdj{0pkg zp(|b$&Ws6r;yQ9dT{YQK5*L%i!feQjPJ$|Kb01L6$FjeBAzHgP?jpI5!+NeRWNtAt zd`sRw`H&<%KXiy^v$&pj#if0O=El{^?(lj#8k9>_)VPOW4{SWL+ioq=Icel#ZL83s zgjYa|2@?&@*O<8;_wj@K##MoPLu^4JV`yB?q-CdRUcJ>rgVY{>t?n7o)b%%CKY$yZ zQk>!=Rp;J3=)z*0lT|u(;`HpRpsdb?0bl0L>mTDRnaX`s;ul{4=1+=YlRp&14#kQm zu9%+NEo89b5EOil5>Bw_O1w>e;k^g*6Z^;qs)7~5Y9x=pn>*CKc>%Z zr;q3f?7OadC_=@!P*bsa_i*4+Kd?dgVyx!z)?N%_$b0WXyQKFOsS#p{PF^IpBistS z42QQFn=g_d_U~YL?DmF{gMiyVEQue78+{uu#@fAWzW7S-eQ4-dk!i?eHV-OO-Q3Gm zQ_V{3)Rg^h9zLQ=|RM;m!6U%g`g- zpSqpa7lgt%IIja=vi1$WXNeEnG`jE$VNpE zoVe8L#5Nya%$V=N;-%I?qte-4cM4m}0v)W(kV)C+V^<1K{uAayRw0FKl*NunsBn~N zU{C*tk)``@VfnvWnNC=OHxGAQt_rC1)|pg3#vmgsqkWEat=@C6K~($=C8}1Jcb~$m zzlP&y+(xyY<(`O=Ba8E zp7F2w>$iFJ1&FRD$$vRV`=-ph?Ppj_l;)AzmV#{W`wt&h#!7IV2@inkwjoT=9)EgP zeAQ(m=RK9ut+Bqp5;TTL3{z%S9%;KD(jvkO3d6lSUn!Dr77{AxD~DIs*jsB+AnJSa^|x}Mk4+)&M-R|HM2Lf%mI8^k25fkTIB^h922hiIe? z&$_AbcprXH$C*#2E}qNIS&DLNDxcc&UXo2JPuz1p4d0q`^tJri>Q!{$m~_2X`72q5 zLY7>1{5_Fd>gbB}*$ZNXvLzR$=RhySy0+Ik;8tlT`&5F0m=Pa9HGj8!`vwb^$FOPg zyWXWJ@{q3C?Si5tZP!|p*WW97*OJC0cu$OW2aP04ANn$B!4li6`|@134ylVG>ss9+ zr$yhIIL)tQ=KVJF%bd8QB)xwoaz>fx(WJ+CfV$JcQX{UorQpN zchnUY!{)OF5}l!~WsUHf&Ev5LtWit`B1Hot%Q3u4BB6BL>z5%pWDOtbf9Fzh{PFjM zJhZE0)rdkIZgiQ{t-HkGo%gpcv2N`dB_eJuDdDnu6D^>vz%fRn*N3=BYYiUdYlXkl zW;v2RDR?pkpfa65aWwDAA&Kv{)}t(ecaw|)jx7gSVm4~3=+RAKwWobodjFsk^`NbS zTvzl2j87DHrcZS>xup?3>rAD(bvharYGxq;Z;$)FIr3zMf|WiN8^#rgoM4Atv9pT_#1eA_?Rd6Q4t$v{f|Q=?__ryYV%Zp=Rd`$x+qvd`ItEs33zP1)ugn%H=3d zb||0>!o>!8qqo8}*blN9LQC!6OPX}*6xZxa;5KQe%}WboXgY=;&&U+sHX$(m=<3AEk*a*T}UPhcOq`}^|1!G{W?%KVv8=b<}% z=G0rB&#TWc_x_Y8y?(4KYO0jCQ~E{rwv5ip5Jk!n&ySW&aRjIM1QAiT2l#Db@-})t z54ahgogfoHy9tqYTWJ~WcU#7=-seOGwwZZv`R|c?7-^<|82UW&b?UbO+uTb9zq-}m z+3faQ0W!x|?1T$h3^ii1#^KTNS0Ip^;0XRj*yFtcePtt-8`fRjeO+--b`aV-K9cxI zr%KxXOEcsOnla`5ARr(EiB2yR~%+qRt8^kXZbK zs{&TWzX?aIvzQ2?w{gRuEitH`?7Rsb?bhARIJIhwk1{D>H<-BXCl}`ZIy{%agJ6b0 zPF-h%8Z{c zj&EgDywmyQ`+Ynd+jJUo{S}~r+beNj!S$h$G^Sg*{o&qeMO&X2WGgKwxg$o46^Hg^*%n?XKXSY%?qYDkLZeMe?Z%+6XP1}=~%8FNow|Q&xVFc8~A&_05e$q`otrpv+I*+9FT;cem zHd1kHq4F&HVp@Sg0dIR?_E|4zYYEkng&R(vxZv42y=P^(?~s-i=XX<02rLi+7N{Rp z1JISdFMKelNP{zWvCn6mWz^fmUr<3Op8P50xaUWkr=vvqbW;eebdp)I__;25HAPm9bEFHtbX;0-{R4>>@^StSQj7qz z(mb*tdcj^b6?tgt7eb35kcSYkgn~w@)7-C1#ALL-W_9RIy?p)tqL+Wg+j?hUG=PWA z>@Q3;j6~lT{TlqpG^%q+x0J|kU3Ei^69S=r2M$7?0xG*3D)qA)-^X~&s}%H)xbbRU zbTvO*w64DdOujLmb(E|oxz@|^y1&abmRljjN5+_9^9eQQyo8tcmieKucX? z+l2gDe09|4zSGr2c`jV6azeB#4oL@m1N@HUM@R2jnK;p+R3cG-6KlYA=3?OkIeecSwnnmxKm*r~lNMcxUz95*~n{TE0o^SN0%aFN!T z4_tAdNh$Q^mwEs;c_7p@)ND0|jImXxAnAQTrq7%LSA4FHosS8oOVkFkP}MSyTS472 zembbNK|Ov=lx^;dqB-cLQ6|0-2&jJxiw1a*7K@tJYSUH_0I3s!P@jn~rcG`2ImoO! zk#CwLetV#UWH3y2l248KmN(0sBlMpgBhTcA9`$3=xQlx!)%JM1{4`E>$-ORuDy{-x z3_NJ0ZPG9esy!wKNCwrw-a5 z8R{Av7yOx#DffCdl}d1sM9Z8BOhqRl@E*2JMf;li{?KO-NWghuI2?JUHU_?05_VgI zzm-R__rG3EN(uXCxGE7oHt#(@nzQM=VJ)`M*m=*Z_xQ^*7xp!mooV6^>=E|sDF~e} zpoXl>*vNd>2!@dD0#qKhIj&~7@iO=3So=`*#XA0isaYBDoe0=Eyg7URtl^+q{Qh25bOEmH|Qf_3xuwgQn|u{SLzByW|z_@xeHAUow5lzO`(9 zqF3ro(srcyP&qB?Vtx8S0)2QY^UKW+!J#-_Mp}q;FThhNWUx$UkLIBSX$Os9uG^(A ziS8}`A<>&7IYamVyWjwa<~HBaeXRwr$yS6lXILLpIM+iUK@@`DWwPhMj3@nrg7cmmCntSD+uRe;R{p zE04fx?@AKF+=0>u2(zxSVKM^PaDsp7coU#Pj+{8Z_gdc`xZgC^W%H|luH3c(VTv;t z^%8Uq?4Z|D+yG|Qm()YeAar;Zmr^u?EeU^c4#z#~b}D^IdjN2gDY>vqZ36E3D#^zos^1*z*2{-6cF;N? z*~+Ki@%;h{JG25eyiLN3HxYHY1BJWXOQBtnUO=iTfmEB|DsC=q4ifpL;hq-3?`e0q0Msiq zXI@}=sGG@7x^nkruh|3mo_H!!ny=>*Nchny0D=Ck zH^#OcKVX3#)(Q&xF;Y5tfZ>-{@-6QpI}e+YQ9=pXPvmyLHopJc5WbdpuW z^b5zgupo05BmhpG_1%})7fAG8a$pRrhMU=jmxYV}1LizPo;l;okbFZH3FkNA6tRn; zTrc=3`L&PN$3 z9xAc}SNkg1C1+>ci_MPy3gc@xp3CIL-QfH(^+oCzVf*4x93Su)dI8`HdFX}3U@f8U z_grf5*?NS6NnikDfn-9y{+>+(=GYL(2>4vwB>jC$`Uhx31J(h2p8UW1udIw%I5)TX)^xyWT%$DZ}%eXPsz-8H{&`&~ptWR2d*V@?opBS>g{as!!oBM zup=TO&x2QupZgX3yz{O7Z(_fS zo_YHFn2t$pz^|5f?3AumNju%vv$@sBzizzm`S#?OhfeO-+8bxEvNOQu#D2vM4hN)< zKhV9lY-IqZe#5d~CU4!M?soV`+Fj(TXi@abrN_1u25xj)=Cv&SudgffIxZbbQ#SI% z7AEo8vF!dNLf^npZxLcxuHMag43jpql|1jhS_}Mrn=uW#e+>NP!Z8^A&Bvu8B9GTYZ8u&Q z6%qO8M7=xgzx0spZ&Rl>dMo}`qdhh5so&P*1=dplFQ;9{)@Y7OW8?NvxKR|<$W!*k zJ0efGDw`B~hh;m_;vym+%0dQrPJa(F+BBGGLlbjAeu>5O zKa}-#lTQ{G7azoPy0%B+l?MK-ymIO?j$k^?cLNixj-4myYGXsl0^?#ACX#&XVu|DA zzo+_kL{aiI(2`U&UReELj)!-6iB(-yv`hD4z!Be^!$XJnbXFc?WRg?aj3#kx%=zZk z2ns|*WCdbw#Z|}xu5s+i@_NouO#5;b@r*pNT;e0e3x8f^=gZ6P4~F_N$q~QY5bHxTml7Fk`c;%CF*~A$`t=x z0RrwyuSNM?1UUD!>#SU&br5YZcC<(~Ds6|6&E=cP35_T!DLqU1?RjK+B~ED-P8O+_ ze%#-+$q@Bh)=OvobFa22o-Is%H@&_?-8iD`&nc;uf!-@&65u2tsy$Sld+8ou#m-a? zX2WUCnRf@>d~6$w8vkmr*^`+1cAqIt=G~KMvuuSxR6OHMB*ZBv;hVu0_4!Z43wHCc zJH_r0kP>9YzI+XH#}b~a^{5#&flD#;Zs;JEMDRXYU6t$1ixQ}sae}PSff@j6Qj4mI`fy~X` zicT(0-nZ`Ca>uztN^%aH!(l3wN>yRb>Q&>++_d(THIZSYDYfH%xnI1vX~+Gfe-U}< z9}+##IV}U7u}(;v#`Q4mtn`OC`M-BZqR+upsA0)6j^%^yQ=+FMREjH8-|gk4p&oXd z1U1Xmc=T6v4%%Y%xYhjr=Elnnw@&FdU}FYzENzR%`{VuPHGo_ig$$83-h8%NPH7qH z%1T7@PR{O0PCrT!k~@*9cemarmR-;+Y%Fx4!4lWV-$4kcS z@Ql!sVcS;q=SCzqL76izVKxCW!!_ufyOnSE?=#|fpnb~B#FgY^LiK$nY6Yhie&&}M z9%Q^VFP^gA(`ovVnb4Gu{4-qmV{iHZmF0XP z=!{QBL2;-hk&W$Uqsz0dvGHU-y(~NS3KO(1m zE=y}}^c09hdBTRFwMSwN=x6=Uy{$a#w_N0JmchcuAoOpn$|-im6;Bmjqr0hECp)E7 zeD{GWrzR)v6%6=F_Zj6D zjR3Un8^yW9!8Ev={zeo`#LxL&e4{8yMd1~Jj z>Il$8f7zVyUL}T(DoJqwg3_>0Qs>FHoLxZd(DP!)HI1`HMn;yUcoH9@U0pZ()uynI zQx1ySn`|T{;T;vyBbRf6Ie zlHjIpuHz}b-gd2+)PJbgadn_7wUY2*{D{LI@JS;XCqHn?eYGE>PI&E+4gKvvqG`kj zr^rr=tx6tRx!GZxD20|`r@rjK+f%(4Eh`;riDYjT7|q~`SKIM~ya5SO z|Bf|A>Exc4uBJdINwulomELPbo?*$HmiDekQ?J>}bNVTr4~>dy&s@DfB{^+^?=Y)7 zEi!e6+_cA2PAw7HCvVCyN^Ko`<2R7!Ticy0w@(3Cu;(`^;{&>%da>>mH9!gWYmJs< z;4}R{-BjRiO@GS9Z}ELYb?4|>v<|jK-tKS`5xGKq5=ES>a|@={TskV)>24Es9KyS| zHMbVrk0Bck?AwFG24Z6>SP=abeNKjw52b)daAlIQk(f*s{Tz%>zxzt}9^9w@ z8(4gowus1IECF9yy71%w#Lj&9j-8^&47eFr>{7x`abH@=NQ zM@YS2KF#0HU#Ap*5g}j7O*k;SR>wwkk=NwCaS@Tj%SDT(oI2L?9uraLzpj^9n=SHB z@gdK=xc|?8eDA?-u;^U>Y&pNAbjYdNcj|s1Wc-q6f$NnkooM`Zc!U@oi}K_vhlUco zX+Jm(O zCa)5O;5DHGw9n0+ zu;p{OTVXJTKW-6`9z%Eg)RSQ#IbN=Qb!yxQQuIuwy?tr-T9s+XFTNyh^Ow~46A`MJ zMtN!zANi8j-n4$HiKF=`8$tuIV+D4(lW#i%yB(h0`qc92*0h|sAF4kZV^;r8 zNq6M#d^)|#!`yf` zbvr|rr#_)O)q7VRfx?k0j&48lRq2=*2CVlSZTpv*9t}MJBqUa5XO)4Hk zDczs=>AEUF(x*NS6yK`3S1`RfPCK>}+>CpUM$zgmGeW)gw$;d#J$o)!9AJ$%7>LEZxwQo;;Cr;QK?m z@u1wCmm4XGNY*r~NU6-pHpf)#XSb<&jRcz0rLSi)y*u2#qo!$tlZPMv{z(H>$(^Vu z#x3X6#@H0c%$TY?|Adh+)4D{DOT6~0wbD9AVN$Dvx$F_hd8e8qJ2H-mDLSW;T7coM zO(bSG+c(!bY*82Ex$22EUP}%)ua#bUg;$Jtcn7Z-QSMuXTt55 zCbPMY?uFrr&3*fALlsH3S3ahAz}mLo-uTORa?q%Lg>^hlDmc36esf<=naj>=^&Ee( zcSEDH{{0v|v4;EjewBJot+1R~4IFIb>_+uin?wb%-7$V9VTKn=h_}*D-A7m0&|su+ zMXRHBgCVx$2sFaE|JgZi<#3~`QTgWBiCw0aDdW53LtRk%a-`6-alIjqJI2KILlqih z?i8gNV}9#(PjiB^aoSV1zYa`lkuVM$lJ{&D%OMSJ4ah{*Knwj_GH-MpWR9AUm6#qS zyarCe#XbuX+N7b^%8StFxt2)o_>c7w{-ApJ0$BFh-cG0=DP+R|pbIvJ;?jwKy<0XgTIdS5=H z!n__+qDJR%57ZM+Cb~BL#_0ML>gU-rreBg_1Pj)#=RBY1_}E}5A)4H`TPn-S0#&&x zO^$5Wzij<#(CoJ)F0f!YehYJHsAm; zKLQI@Zs90xnWtj01NEvwpXrg)X&7Lv83j6um-N8GMxq!?*HVL!`Y`Bz$Ordd6;amCQ9% zahHKL&DZg*?zF&gRjBRx3ZD`8i!19npBJ4jB(9zl{|Fx+ZT6*YL*|)=^S2T#_n3AG zj$&0PI`~mIy;?jXBXO{6CwFscZ&}mo#55#{U8)>bd}crY{ySfF@zw{A`u4fHm*;wq zOf4IfTa|(xO)x;}!bZiBybJR-%6BD^NDs*T)5po!%q0f*>=3u1v)(y!kAzCT2L!`%Bgt>Htc z^iak`BMsJrfLOh_5mBj#p`#_(Ip>b|DKgi`x}F=Mu1#j|VRsJIosc$A)NH=w;p<>` z)vjQ8eO-UMC2s<|GiNLq?4V4bFw&G=es z+mWAELH$?>HNOsy)Fh1P7d%`0lnpO|L4*jsi7yVW%l74y+e@WwtqMC{n)Tq{sIHY= zBCPU!eN zE_Yt*$x!1|qjLIGM~(7S{0^3{l@Z;q_M22KxYBdPWvfW-WEKynEY%Cbw||5-j`L-G zY1FeJ5_;2lFM(%Me41AN6_{hBD3Uj#9w`6W!aO}D!=})$r{Q*b64ByP|E17g1PFTV zrhUn;H}QtIfJ0;6isDr?a6LHkq8atE%z;ltT&;BBBM=O3@fEmP;H0L>h6xmU)lOBP zzmkpKUh{;bG@+1k2_-s}6vC&A!n169M%fNybuRsMiws(g;wOa1i-MP6i+%@ftsL53 zkw!mHdd(Pvaw(G^h<@t{qja6Fi@kRrSC^rH^fRl=31r-t+=pG8-NCbLu14{~6W=28 zzMS?`NTmC$h5{~08UMJ78;rpGrqsh2-UYY00O>!k{Q$9z1=!|X(K|VOzGB$IfnMrq zk*;cEBbK31aWcIuDXVi}>xSXGw_RblE+{ZN(%7RQ^a5@>@NmYC!emQ;qZLI?VJD&* zhETk0?`B1WdhVXh+UAfNdaGz9(uX~i94LF0qL74{K0Ctc1*-BII59C2-pkxsQse$N zUa*lq53RJ*ZTiy7BTiS^DZDQ(B+d zDs0OnblAuskvep-m(*L&aR?n>3DP!YA9v5(Ns0Dv6F2XzDrP&l!VsK`)r};!lI8<^ zHMp62lQ)D9{eG?V@^mZu_OPO5bjVXWo)d2{;N8>@tC9EL0cCzV_AE zMOG4AsV$;VCi*E`NblXm-~V=+M!ppVKe3>FRzW46{O8LL9{f((#}Vxg0=pka44#i0 z1X^PH!S9vSz1u&S@Bg0==5!lRYB`HiuvBLYLAH?nKtcC?w( zAY@*O#*%^oQM-B$DdYsSX4nF4J(TMxGcd6{gFVqiUJLcxSH5<~BC*DP)yZ8SavZ20 zyGG7+`X3u}(PZBHVWoUeQwXv^roWP(zl1m zrXTuRt>sBsW~ykYq8o2Lc$=LW_w$j<>}iCCM)XtdVw$}EHoFN-N-MXObBo^ZF-F8am&RKBKpyEU(DN10+oEvq9h7zO&nC2H zL?Io}Cc`cKfi^2SI;Ve>m`mpvW-w>?OCkNhtZ5w&tFb&y3rtG5B$hT&QIf0wyx*5* zkW25synTkrKOsfD0k6exb?4r3s-+mXT}@+4APUQ-x%49?O&1zCs#CvTWJ^Bk4MezB zQ9TopbjO}=P2@EKtj;T<)4D5HPI!t&iek%sTfDqsuy2{2t0+K zvMuN|4YzlZZ#*j;^2h?ZKui~0Jz+cfW8gDqoo{^?-2fXCyel-#{e4oI1=1)yb8nVQ zT0?A8a{|ic2WK*lSoR>h%Dpm4oRpoE66x%8AYCe1GaIL8(Ig0(TB3vozv#I?{8J zXnn(awdXqrv)I}4q3uyhbaz@xeqhA==$mW2JTjkaDnzK*7OC|x8p_SNiOr#dgHf!+ z)anT381o#Pc3W7^Tl4a3q(}aw6G}nwg*9fl$(?!@B9OY?>-}n$w1NRx&g$f>;{uSrj>zf zZLE4pk<3A-%P<1o!_t6?UWenCR;>bZ<#;Q3pZ&<0Nh?OqxFN^))~#KNxQ@`oa20g~ z{|7pe!LNC3%g7c3J*o6{;!BdRGgoq{8jOG%;!(631+ZW8VTBUvoTEbo*7MifSi8H<}{7AwFw8f z3DqQ1T70yc|M}H3?vI;=*F5scS0c3u(}9`)#8;%6)Xw4Uz*X2MwCco&)WqaK#ye5J zv&UUTH`>555SMG{7q*_Ebt7O#nFUG=MRLx#bDjk)nH>vasfC0B4T(l(puS;Q`_h{h}KchJNXyjX_hW!_k1VGVqteplH()?cpFUQfi~ z(p{*!C%daa6jpUHjU6?(veuhKMLhB~bjMGsB_;(x%qoiu_CpwJ z71O47&*l3icNemokrK$MwtqE5?oINSLSt43_il7qltwwTHapu+#j=&7JL5-#q$r3b z=fb;s_qyoGpN4U#X?kwFC$rHKw@mAjcb~_Ip+U4zJol8HpgLhZ6Yz9(NR8tl{#>Zw z8MiJskmEC^F=sgejX9X4JrnsgX>f<5V);v;Oe4h%a(|_#zX3?ZA?LFAK!115Q5uyb zH6~W$+i!(Qk}>rD6qw=Nn@)l3Zr%!I&c=s}Xw0w5rV*x4g707P8SXZm`bK&9u>kV>t%Fmep$IqMh;o!jT$HxDUpBmGUS25N%L zuj)uGCDV=3d0*`MPxsD9TvaomG30<5ka5ZXI!u=UnSC|iR|eO9`ZT?Z-zV{CUuCE6 zR5<{hLTcTPE+(P{$*Zouud&2t^mYt2BYLbJLK$<=GHg=74zA5bd&)go%!_IZ+O<#B z+L*Qvx~xmQtc(O;Tm?%!Gz zy45S=N1E6F+d(p@Zq4O0Rcyy~(o?&=KjH|JybO&ACf0-7=Dn5pYW}Qc-{B`+8L^I| z^e!ox<|K!Sn>eEZt*h^2U04Y~T3=sgCpt-T$%vLQvWl|=m(f||#2jzbw(?`rMkl)q zowRcKUkKE^F`Wg5aMHQSsjVY4&t|u)HFl#(frrTa(|vNoK%{jq2!JlBG%P1sdtA1# z#t&dMIjgW&sMn?Z(^Nl4MvqrURsInQKpgp~O!S^&_qM6O(8h+7udvy}=&8~N88$YR zsm79VKn?+5SDU;YnHInKXu`Yxel2qhvg0JIh9#|WrULF7;4URupHPi|&hQwLPdiPl%XCnfJ{T!-PYU19Rx-KfhSx(=Lx}hr}k=Wgn z{Z7B9#)S6Ev4!h*p2R-RszUz}$@C4`^x0%*wbek&)~@LfPoAwEHVA~GUPN#QWu0mq zD{P~q;39AC&I{x&koLRzbr81iikZ56q4&-Rf19W{KS9EFEGE)3_mnclmPQ&__Bx&I zUe_+g@Ef60L$gGS z`RsDEbIUh+u*4)uEEandAb@i^>&S;1DEVMweBKV*6m~>9SUn;N-nDwH4ev^>@HdA7 zfl-UvIX;Hj+B8jjM z+FP_P%3p)jp42yBXZhlW>cwO>Ln+IX#1-IzE-!z7)d^(CDofSY-H7fs8^k4-o7 z?Lyo7_>>}_N>i&NF|oX+3|HSTw*tFs-aTD&cTqLRp2$Ub8Gf5^8#`W?|PcHoCwrOebHdF*$F)ZxTFt3ZC(&g)7Bt)F9k#d z1VS|OF(X=qw?b|*RNZO>c-{kkee$ejT6QiOrS>fhY;_BZt?fTmUNh-J65xnmP!yjp zRLaiw4^l#_mVf1R&t(RD`bDR~L>KKcrxVOfx2{;-fuc_{SmNAe{`WBO4rqj-29Buz zXXT@rz}WzZB8AIFx7cSJ)oFG&qP@RFO$7q@aq%m&wvrjmr)XDN6t1os3Yu!MR-Zr9 z$H0RCGB%y%RGe&!XCAt14Of-bXJOw6#^BlJ*bEHdv! zOoNJ$?JvIUxl9d3Ob%4X7FY}U5l4hStE}zQQIbUQ&N5TEYaNUE>}d!N+reIa-ZCu% zu1V~i7c|t-@t(1q<SN)>PRSy!~l7FK+dJdIs)Op@_FXIiD9>M4JOL(d=OPKhgdl3DlQY zPY8*mlE$1PHs>SibQ9;~ebE}i3A4pK6;AIjW}q;Rw&GuF*c6pIDDoF?K=h}1{&j+^ z>C)Lm_>31n;}QejNo;${er}%`exJ`7)9*_*F?YyG%Wg8oJaP}0SmgJDYj)u=ao~tK zJ&C=A+gpK(V(2 z$?Z|g2B2ituY==te6LY*0tqDuXXo>bJ5JN$b{6CP?OpujNpW}C)3B)pyNp;p51TRp zZ0cqO(*O4Ah&Fe(O!Ex3ym;yA1Bp#!H3ok3fk!ZWnE2J9=I{mvdVh?$|IJ!ft33%- zrh9VY7TRa)Ob9srolLxchZnhb8;HLhdM(>GWgQh@r7!9^zUnUCFoGKj^V}?Glv|m8 zQ^i)I21|>q%ju-pm5~NYLetY0K}-U6+({vdF%Lpgbp!s53a>Zu22pr_lMdatGDxk5G2Hu4|L>Wd? zld*7eSMZU)pc5NCTfDoO(@O=R`NKS)L{)TUqLGog;|0V~x6KWlTMk`O z53}tf;dDgt$r|E`I1ejPm&r>jp~g_ANV6&GEbHS{^lI#FzPR zz$we$#^yaHCIM(RPIb-k{F5bA64Va_(eam59yqe{Mh4ZF^Wj%9OGh-=6@cyq;7cH0 zCGAGz?Aj-+2r1sPfTq|t$d`RG>Xmq{=361Y#(~I!$^%Y)q{N!EZJkc}_~Jk2bJ6Rb zvfr;Wh1H0=&?a`ep?%8L({WL7JkqB`soMrtvj@N2y39a~BJS$*Jo7@IBY((vufjF3 zz&waOeS^+}inj?SGeY0iCLjV1uY7Q@-o8TMOU0?K3cS*Kw<@b#2_>~NoE4vMk5f+O zBnB`nPBe+N8=$2t9mP}%Iw-GuulQ>@92p*sa(9vVy55BHDGL5}23?#z`WoVyO%vH? zXe2ejpR6w1aD^OpY{Z$ytU%8t2WS<{jx`4o0#KiZFJJJ|W4j#oo76PSDG=c8V6QW1 z-}GKBLBw9{d#TZwr1GEx>gVHY!X3SpA{H(NXdMdhdVVeoOa5~Lcgxonc4s#yr{o)Vc{6PxN-tWc>s*8qyXu1HITuAo;-L-bj5jv+evVrrf=d*j!MF(r} z?w3`(yGcy4Kjh|-lXUuj&<;zXei^$}D#H}L#OPgxtgyQ7CEk1|6SC}2wZec$fQf5Q z?n7JZ=$L2GBakl0MWA>iwkms|{Q>f8nI471^|1gK#dl=LPp8-g5&}MPLmF`jUNF>B zJX~bG$C|yt${)J*+Qo0*XvQI_nb!fDCCc*Mk!;-d5|;bnfPH??+d5~ugnyp$byN-u zW1I7S>3~Ew(QP`rnm(N*p58H^MBEr702qU{j^YuO)ll=V&7!OwMow#)4pko|)9}?G zi@Jx~Gn0H49D=~I1N@9cPG_sw;A|o2r&O-Sa@Pm?Fqp1qIl^K()hoCvzs+K^eI76h zyK6jz8>CAb+D?{>@hz#+9nvR@BGvxG+ELT^vZNA;o%=^ne$#8TYM9|cs899k^0LFC zmHh$v{r^~=8Lp1(D|FQgL)^t}4M@_5l8d63sxWOTv&1eRS}(vw$5m&*v>9bQ1Jka6 z`i)$!t6Q!&v@ND3tMv>GjYIY2Fl4xGW}CQs@r0_DXSZQ70_GdZ2{C^r5AyaYJ1aO~ zvy3_+M7hfc1|e?u%COl1DgJvur0vRn|HgbNfn{)OLg8*sExt_G8nUx<9M} zHG~mtSE)3#6eCL0K~ig5GSR)e5;l1BT!oLnLkzxnKnDAhw@hG=;jZyQ%YY@CxkOKH zYIjMllpmVA>RiGbRD(MJ+W`zRgER`Ph``GNfVA>-l2fW~adsPP=+)a0%1(I1a5U`L0HQlqIIf1?EAI~?Z8H~o@w00K6_?l5YObSEmu*|qZ z*BVM!;@D;}kcvDxd4C2N1y0JrS)al24PJ{>eWLaqm1eNf2@!iiu7UI0ak(Vo0H*vW zU+eXNX@6}s*{P_dVZ|kuzQwzqXS%y$V+@7~JJK`@pAju`Dp1q7@GRynM5{7i)U~PzqAT;`6EES?b@;IC3-C!7SPLZVPArXY|ld(bE~dPzHdL zg@UV@)4yN)of`;LnFPq4^Vf{dA*!=4dz~0t!M0VAI=R=ZVGUg(kKOe|l;v8p9WyPz zn1>5G3xL;7_wfF9bx*tUKXtjFCL1-PM<=6PzsDwL32xt-MP#`f?7z%Uj}m3>2*s!j z#}n1hjBBnHs2|2Jpj!q&?lW4#?%<4|CM6S-@;e`BTrRyfI+D+q`H1hIt`zy<@f0YT zb0+x`S{vMV@pO4+wLkM(U6q0^IwaZQI2AG8v>p`d!3Mi$fWbMQ{7L69ejOGMCYl1> z9CPYf`D&0h=t1cM^#p1l%!O6xi6^!+wDvyFrwGrnPxksI+337)Uu|={aW4b6rXO;* zPYf5p$yN8uOlS<#}l=OtgkdbiW#ohrrBClrFpe_O*h4scysugAqZQ2em%D)Slx}Ru>=}IC2RyhwU&fJh`>z1~- zZcIph{v_m@wnB?)tA5b+ivT@gS~uiT2xnyt%G{JTnJ)9GhR_RUr2*13~C&lrX46-2&sqW{wE*G&aUDdrv)`MnKqot z$=XT}u8$pzaX${?MS)i?s38l!j+V%OS9jv-9k{^5Hi6-msFjVpiN)SaJ;{I)dqM|I zQI_Sd8C17+6Pkr`Cf$8&Q1wm!OLfEUhZhRYpfO&-z3a%+MzHvhw}PQr|ADRWes)@vZ1YF6N#lWkAN( zU?H4529s^wt$qyD^<21xq&omXSR34gel?ag3k%ww}z0&KR3C`GUrbqp^^ z-k+<0b;yj-)?`M%b2-p}FIHoOr<&|yJz+GJ6Qbf<2>o7QtSu{%q{*;X*Lt^cF}1KB`9UR5Y!fAN|OtO@I1 zTcMKN-r(7tAb(LP!WCLJ1P>3ZEsB$r+vd`!Z{XsAQpn$g>0dnrs5gPtNEwiFkUpad zm5L9#5sxl(Ks5=a<%m@S>1q#|Iz>3 z;EDJ+V$GgCy% zCuSu{JxiT!FsadM6nB-q9eTu!g?42*McbQ;%;&zxfZBtSvx9WI(H{<#ji)??gHtK zL?$R9hbaM5I{pRBKuBSNZwQi3MppR@&5^ouvVt z$N@T*lrv6L+Cdu(8o)%@!z7}cZPX{yut>oYG~KBrT3H@mYXeZ2ix_MqXvJ}VrG4y+ zT(Cb69g7{gaSu7$b+MSlnZ6GTM5Z9^nqQ_Z57M|ZjRp0bU&{wvqa%rkb&gdhQs4bO zd=#d8Ce<%i&>Zyn@9sf)r(!OLCPl-*y7&86Z8B#4W^L;UZ?B}5NTlvvAV!2I>vvbX4 zZ4ukuZ3KF5&}?Z`s2LaeFSD=3t} z-0kY)fdCJF7}tAurV|Fq`}aiyXWZa@${>W3rfmQt0JP=lS-!?}%g!_qTf})`c32Ok zIR16S?)H?^Bk5{*5QV3HBauXY+GIsv$l*_bH} zov_Xrh|$F=NJL&0bVbdc*yJ?A`-$Sii&AM04-32EIuWr^ck=#f#$O9d0;d!@Tv!7v z4`;LoS2a2i%S&^&Z@LVckY>q>wkh~J{)C|VwemW}&cpQl6>#=R#UrS)wNq^`F}A-i ztd&SK_@tr7?)U8b#yKi@Yb=+Js2Qf`48$7;7uuvHYbhUG{pisr@g9yZCB`6mu56O{sC6ddnG{lOe!ahOa4r73vZ*IQ z>XUC9{iY_av}U>b_elBivHrZzam-aoo}TdV%inG<$N-aLGLF(U3q%zR@8vTl)^Qtr z*rv2#zh0c8try&12`4PMWuK>lA=P^auJ{TSt7zwSIZt@e{iX42b|H>yeM^*ZKF_{nH za_D4s`LDx_z>#*S2bU?JK&9Vz=%!c)dg;?=Bi;g;UUIG(2!f|JXWLBYt|1+_3gP^-qQTwp~=$_S6fYcyC|EZwm z6f|&Fda_>+2|isehKSb|dd!kmqKMa%!tlqs%GgF6C zmqio@A8aWc=vyMvD{7-Jb!WkR@#q|Y_B|q2i#=T`(zU;D9JJ_m;;YvQy-p#DGo17^ zCr#_XfPxZtjx4>^1GKaa9*73DF0W(5%^2^pdOyUs#U%58k!c#=o<2bl}j)bA;M( zcrIumR>^%O@-lP3?7wbNC_z)OpzpWd-EbMGah&@E^%)-i?tZPHZCKF6x?<;zeMZIn zIQpeTN65lcfl2taA|e{`^JfUErA0(OfdZDJo}H@hi%eQBml2wII-UpogXBWE4J(rhB4*lV&p+cUC#Fmix(Zf(Ul?Y+pe zN>EmD8NAfhvEH;%&^!&WPKeRVO;B49Qm`0|hq`Bd6xFYr!myt>OT|5lxxLASoq{Ij z=-ov#J-s(3q0H@A&=&nJe1phK4R8wBwqnm{?xe)v0Z;)YX#2ep3m)+X*X4kOgvhfG zpr=~W)|+}$ET_YXGdhK7hM|Wwf9% zOBL%arK0u-wC*}(#r{LH9{~3z89g;}KsNZD=s&;BHes%4UX>)}1^TMXML%Dk?x9)7 ztLJPasSK6|zIT}E!(4K%(EStFPKqxx*X+FFC;>nDPPWzS+xS-QFYo`JeeM_8 z^1MMiXo#{o%E;^hquS9%+XPdgTX%E!lJA&@zrEcu#u=9NTht>%6_v(BoDkRSD-=4X3-yV6rC_FN zxGW*?#IpHjJ&+%WKffvai0T!MfzPxmy;f>)Y8o0gL3dZb66qbxLz((EOm~193}6Ob zrEQgVfgY5ZGP_xcSaa9rGn2`T{$Lbtk}u<^#*D4}Ld3w(a1S0BEpd{b4KMP3C+1r5 z4Ir7U$7~`qybzssDq02m{N@2h=g>HI)tTik9yy(~ix;!Hs|I8lA?vl~y3s)T1o%bA zT@DZSFarCZD|X4rE3PhV=iDaf=!-_q`CGpQHRS8S2)T7{#q;DhHY0slX)Xi`=%|97I)lEWQcgF3 zApUNu)%oO&9T1EpqM?z{t+ZLkXM1R zo7u~{!!U@xTlV&vx=Yq4q2?a07wS3>vid`0AXUIIOMYv0v}c@*EO-+(+{>;zpZvqi z1lx4wv`h|}&G!6bPfX_LZ;9wFmBj~)w>c5;a2v9#@70`i7xtTx@inV58r|t>G3r?M zmB|(rQ3mOL4JaE{!Hk$EuqEzfB&=F2rU#c9(+n)~TrABL3NjP1FhXH`Jf*tzK-eai zymOx#@T~%-s+2=+IAyYrduD9<7E+fz!W*9qQP{fpwAP)3saWb2AAVMUAcmn(53n0p!M+Xgf$i{ zP%NB3#AlS2&?-!IB=cD;>}HWb}lvnpr%8RU_AWw|4c&XIs~6-zqu~V zmFq(d?jp7G11M&4xXUAEBi_|ovq{fq8sBaETIVYv)d@JhcAw~XJp9{RSdD|@TS{H@ zX@I$$m0WbqpR!*L3fmh1>;5+)N6nnbM>U)B<;OsYulH+`e_;1|11sMRp2ws z*TwzF5Zmwjyal|70Is|BDd&J*!?ZaWuqur%_|96%W)o(y3o~ z2PG;ZT$wUI_(#aYbq>3h%-7DX^MJ9m6vXYuUnFbdoIYq>&~Anpg0g{MA_aBY%9jjY z8(@*3&MV#lbG|Ca^J1$=iQCN>DKym2VYl^ZTy2ldXTG$p^sa@{O=CKTP?2+|ETu+^ zqZb*=Wf#iVjNCVc<>oy5%id11P}}wmn|T{)bTLso4Iisw0NU)&;WKV_Q`uML4M0g4 zPsVna&~p4ZA|YaliwCP$e}u{%cCNzvQ^v0ez z2W{`;>DDhJ3xaKob2y?vlWl&YbK6jVe^V#ec071CPzN(${>WWd>KJ{~%bvDH+nt~=V5_NN9B|j5au_O>5n>)VmNF(RA z6nr2&!*4=#Dd)OCoLF*c1{yHAQu=+h&FZiFE3#3)+9fQ}9o+c;Q(5M!#2=RcS)jwI5} zl~6Als++u)dODo9hM`%pUp5ptW6K1CNS-nu6Ebl4V&6GkedByV>;CdMWsLLL<1m>{ zJUqQNe58d;6cbAej3*>3ARK$(G!m}FNiH2{ar`WeAJEy#IS2J?ZQz`@&E7haLv$j6 zCx)teY-m-lLq&5OYose`u0Z{~=Npa;J5QrFLBr3=^t;&cqI|ycnaW#HCpIVL#Ut2lmiSiDGr9R`#9VZ6_Kmg8 ztS3Z+Q_8sYHi})bi7GUGS;zzAkvuViN<3mUo%0`RWX z2+DFO`GYcbwj_V|#7$3{fqxp^QiFSF@1Xa&5%iWsMzz@a zG42X>5kA&c?_1;RRC#L;0~llie_{o_p1&%C7zJuVE$b`UBlf$~!V{I9kryuB`a=0L z4DKHrUf*$)|E2e4;tRTaD5qJ{Atkcd!}puEp*{E+D5YmNM*1M%x#xi=TA}PE3l^t# zWjZnRa2>%MCOcVoX0)3~uLN_D*02A*A&cYpKuheMy6@?1Y~Aq%lM}B4ldS^P>ctQ+ zJ7u6$(6y%|wD@du8cQnDIdP(}(|mJ&yF(KvvT3K@=724yf7b1`;EL1=b+#@0cV2<2 z2{m#pnAl^th1$?oNX}Kte-`R@6Y^UmgqqBDc+H>B>|O-rTtdE&yHFe4wU6^RX01?* z-v8-D3pyePGp9QuuUo^WQ-B~Dr!jwP1@lxc7vtCNP@D6xXXlIvIn=WQ4}@I#*)beK zp8M?3j|E5lf0mh#YJSd}`C%0wq}t|Vq-n;2wm|K%xaJk*yZAx@>nzU&a~T#QPNAVN z|MTeo3I{k7VLu&rw{AY2F+FS|@RpIF#vwGz5lGgXm!4WZ$ ztuvp!^luGH2t2x&7MV(Xu@a-&DuMklDm2>%hG6{Z_(%>~-%#H8;?X&f$#j>0QtB{S zrFW6{Fnc(S(NtO2D4Vs(q1n+q#yP7J%6w5c_;26ERJL0;dQ56P<5|a)_2bM=$4{jZ zMoEcPu__e1%;P(K7papC=V1iT-TH7^cS{p+0>%Tpj^C!fE%l+|`hvHkZ7f?|heB*Y zLNhQo2~HEM(#{})u8a({^~IM%EGiXvxgp=3!^&>ZbphGjsZ@9)8jE?nvoGJrQx~oh zXcb*U5Nq7MMyx%`B&>Zf>h^g%M*~u|dCF^RlwOS@(yzE6rw^dq{1FuC5zQD4@Qwp>;v5=_3{snH3o4?-7^$Z# zRv*_3cN*f7WVB$ojKgy2?=4)HT>P-5ry$!l6V{O%Dwo!5rw~^%GMdURv@WyIck2Rf z=FllQtjscC^a>R&egt8B>rmO^>H^#pI=2C|U65+G0-aje@(6 zTCIo3k#m!4w0AJ#7oR+s=9*^F72Y1NR6RKy&ynhU$W4QzCUB zK+=0pxy9Cq&F1-KL>-W0eWAHV;4jumbZ5qR%Rvwlkg46L8$l&2qUcKZJ-52!i*GrY zS=w}=oZp%1zF7s1$^UD+3;xSw3kRRC$y`=&>D+8vp}gkI;ZDy#6-u@Wjiwb!tO^v>+}zoPB&tCA z|2r=%IsQ&u5upLm7TGor7tXt+Spe)7i~|<>rLzET{kj|dV15|0#$}dzEdP^5=kmYZ z)z#GpSNx5=^M>nW6n&O#?0;Bl8a|1)Q!BXmWqQ|`q+jC(eoLqG3S19a99%($MO zPd!&G07h$%Tlk-tdHcM*;B8_C6^y&Ce3cfW1Hf=FY_6VdC-tFVYBLv1nBU`M#H{k0 z`wgAO!m#c(h;tjoL=H1SH!;BmLkFX(W2T1HmQ4?JeHsI%+&+;&3d>WB(7rskf{^knA$cmGhvf9YS- t_%A(Vf$;Mf1ho?)A}Q&`yf0Hyw!@Ckms=+QoUZ@? literal 0 HcmV?d00001 diff --git a/examples/gallery/00_lucid_file_IO.py b/examples/gallery/00_lucid_file_IO.py new file mode 100644 index 0000000000..512bcbdbae --- /dev/null +++ b/examples/gallery/00_lucid_file_IO.py @@ -0,0 +1,256 @@ +""" +.. _ref_file_io: + +=================================================================== +Data conversion when importing and exporting mesh and CAD formats +=================================================================== + +**Summary**: This example shows how mesh and geometry formats are converted +during import and export. + +Objective +~~~~~~~~~~ + +The objective is to illustrate how data is converted and passed during import +and export of mesh and geometry. + + +.. image:: ../../../images/part_type_new.png + :align: center + :width: 800 + :alt: Part Structure + + +Procedure +~~~~~~~~~~ +* Launch an Ansys Prime Server instance and instantiate the meshing utilities + from the ``lucid`` class. +* Import CAD geometry and review the imported entities. +* Generate surface mesh with a constant mesh size of 2mm. +* Generate volume mesh using tetrahedral elements and default settings . +* Review the entities to be exported to solvers. +* Export the mesh file as pmdat, cdb and cas format. +* Import the created solver files to review the entities as they are coming from the solvers. +* Exit the PyPrimeMesh session. +""" + +############################################################################### +# Launch Ansys Prime Server +# ~~~~~~~~~~~~~~~~~~~~~~~~~ +# Import all necessary modules and +# launch an instance of Ansys Prime Server. +# Connect the PyPrimeMesh client and get the model. +# Instantiate meshing utilities from the ``lucid`` class. + +import os +import tempfile + +import ansys.meshing.prime as prime +from ansys.meshing.prime.graphics import Graphics + +prime_client = prime.launch_prime() +model = prime_client.model +mesh_util = prime.lucid.Mesh(model=model) + +############################################################################### +# Import geometry +# ~~~~~~~~~~~~~~~~~~~ +# Download the CAD file “pyprime_block_import.fmd” and import its geometry +# into PyPrimeMesh. +# +# Display part details by printing the model. The TopoPart’s +# name from model details is **pyprime_block_import**. +# +# After import of CAD model, within the topopart the facets from the CAD +# exists in the form of geom data. This can be seen in the image below. +# +# .. image:: ../../../images/00_after_cad_import.png +# :align: center +# :width: 800 +# :alt: TopoPart after import of CAD file “pyprime_block_import.fmd”. +# +# The topology consists of the following TopoEntities , they are TopoEdges, TopoFaces +# and TopoVolumes. +# +# * TopoEdge represent the curves/edges present in the CAD. +# In this case there are **17 edges** present in SpaceClaim are imported +# as **17 TopoEdges**. +# +# * TopoFace represent the surfaces/faces present in the CAD. +# The **8 CAD Faces** present in SpaceClaim are imported as **8 Topofaces** in +# PyPrimeMesh. +# +# * TopoVolume represent the solid volumes present in the CAD. +# Since there is only **one solid body** in SpaceClaim, this is imported as **one Topovolume** +# in PyPrimeMesh. +# +# Named selections or groups in the CAD become labels after import. In this example , +# the Named Selection / Group named **my_group** in Spaceclaim is imported as a label +# in PyPrimeMesh. +# +# After CAD import the solid body, surface body or an edge body present in SCDM would be defined +# as Volume Zones, Face Zones and Edge Zones in PyPrimeMesh. In the CAD model , there exist a +# **single solid body named “solid”** which after import becomes as a **Volume Zone named solid**. + +mesh_util.read(file_name=prime.examples.download_block_model_fmd()) +# mesh_util.read(file_name=prime.examples.download_block_model_scdoc()) +print(model) +display = Graphics(model) + +############################################################################### +# Generate Mesh +# ~~~~~~~~~~~~~~~ +# The topo part currently has no mesh associated with it and contains only +# geometry. +# +# Using the Lucid API ``surface_mesh``, users can generate a conformal mesh on the topofaces. +# A conformal mesh with a constant mesh size of 2mm is generated. After mesh generation, the +# mesh data is available within the TopoPart. +# +# This can be seen in the image below +# +# .. image:: ../../../images/00_after_mesh_generation.png +# :align: center +# :width: 800 +# :alt: TopoPart after mesh generation. +# +# The mesh for a group of topo faces labeled “my_group” is displayed by defining the +# label expression in the display scope. The Volume Mesh is generated keeping the volume fill +# as the default meshing algorithms. + +mesh_util.surface_mesh(min_size=2.0) +display = Graphics(model) +display() +part = model.get_part_by_name("pyprime_block_import") +display(scope=prime.ScopeDefinition(model, label_expression="my_group")) +mesh_util.volume_mesh() + +############################################################################### +# Export mesh as PyPrimeMesh (.pmdat) native format mesh file +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# PyPrimeMesh allows user to export mesh in its native format name pmdat. +# This configuration allows retaining the topology data along with mesh data. +# +temp_folder = tempfile.TemporaryDirectory() +mesh_file_pmdat = os.path.join(temp_folder.name, "pyprime_block_mesh.pmdat") +mesh_util.write(mesh_file_pmdat) +assert os.path.exists(mesh_file_pmdat) +print("\nExported file:\n", mesh_file_pmdat) + +############################################################################### +# Export mesh as Ansys MAPDL (.cdb) format mesh file +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# PyPrimeMesh allows export of mesh as Ansys MAPDL (.cdb) format mesh file. While exporting +# the mesh to Ansys MAPDL, the labels present in session are converted to components +# containing nodes. +# + +mesh_file_cdb = os.path.join(temp_folder.name, "pyprime_block_mesh.cdb") +mesh_util.write(mesh_file_cdb) +assert os.path.exists(mesh_file_cdb) +print("\nExported file:\n", mesh_file_cdb) + + +############################################################################### +# Export mesh Ansys Fluent (CAS) format mesh file +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Zones in PyPrimeMesh can be defined as a collection of either topo or zonelet entities that +# we can assign properties to in a solver when exported as mesh , for example "if the user +# wishes to assign a material to a region of the model they can define a volume zone for +# multiple topo volumes or cell zonelets so they can apply the property. +# +# Hence while exporting the mesh as (MSH or CAS) file to the Fluent solver, the +# boundary conditions for the zones needs to be defined. For this reason the topo +# entities / zonelets associated with a labels are converted to volume/face/edge zones +# respectively. +# +# The property of a zone is that a zonelet or TopoEntity can only be present in a single zone. +# The topo entities / zonelets that are not associated with their respective zones types are +# merged together during export to Fluent formats. The topology data present is removed +# automatically when export to Fluent(MSH or CAS) formats. +# + +mesh_util.create_zones_from_labels("my_group") +print(model) + +# Export as Fluent (*.cas) format mesh file +mesh_file_cas = os.path.join(temp_folder.name, "pyprime_block_mesh.cas") +mesh_util.write(mesh_file_cas) +assert os.path.exists(mesh_file_cas) +print("\nExported file:\n", mesh_file_cas) + +############################################################################### +# Reading Ansys PyPrimeMesh native mesh file (pmdat) +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Read the exported PyPrimeMesh(pmdat) native mesh format file, it is observed that +# part topology contains both geom data as well as mesh data. This is seen in the image below +# +# .. image:: ../../../images/00_import_pmdat.png +# :align: center +# :width: 800 +# :alt: TopoPart after reading mesh part. +# +# Meshed zonelets (that contain the mesh data) are only created once the topo part +# is converted to a mesh part by deleting the topo entities. Here , while deleting the topology +# we are deleting the geom data (face) and retaining the mesh data for solve purpose. +# When deleting the topoogy , the TopoPart is converted to MeshPart and the topo entities +# are converted to their respective zonelet type in MeshPart, this is shown as follows; +# +# * **01 TopoVolumes -> 01 Cell Zonelets** +# * **08 TopoFaces -> 08 Face Zonelets** +# * **17 TopoEdges -> 17 Edge Zonelets** +# +# The zones association with topoentities would change to their +# corresponding equivalent zonelet type in MeshParts. +# +# .. image:: ../../../images/00_after_delete_topology.png +# :align: center +# :width: 800 +# :alt: MeshPart after deleting topology. +# + +mesh_util.read(mesh_file_pmdat, append=False) + +print(model) +for part in model.parts: + if len(part.get_topo_faces()) > 0: + part.delete_topo_entities( + prime.DeleteTopoEntitiesParams( + model, delete_geom_zonelets=True, delete_mesh_zonelets=False + ) + ) + +print(model) + +############################################################################### +# Reading Ansys Fluent (.cas) format mesh file +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Read the exported Fluent format mesh file. +# +# .. image:: ../../../images/00_import_cas.png +# :align: center +# :width: 800 +# :alt: After import of cas mesh file. +# +# It would be observed that +# the zone name **my_group** is retained and the remaining face zonelets that are not +# associated with a face zone(s) are merged to create a new zone named **wall**. +# There are no labels present in the mesh file. + +mesh_util.read(mesh_file_cas, append=False) +print(model) +part = model.parts[0] +for zone in part.get_face_zones(): + print(model.get_zone_name(zone)) + scope = prime.ScopeDefinition( + model, + evaluation_type=prime.ScopeEvaluationType.ZONES, + zone_expression=model.get_zone_name(zone), + ) + display(scope=scope) + +############################################################################### +# Exit PyPrimeMesh +# ~~~~~~~~~~~~~~~~ + +prime_client.exit() diff --git a/src/ansys/meshing/prime/examples/__init__.py b/src/ansys/meshing/prime/examples/__init__.py index 32b075df06..e517052384 100644 --- a/src/ansys/meshing/prime/examples/__init__.py +++ b/src/ansys/meshing/prime/examples/__init__.py @@ -1,5 +1,8 @@ from .download_utilities import DownloadManager from .examples import ( + download_block_model_fmd, + download_block_model_pmdat, + download_block_model_scdoc, download_bracket_dsco, download_bracket_fmd, download_bracket_scdoc, diff --git a/src/ansys/meshing/prime/examples/examples.py b/src/ansys/meshing/prime/examples/examples.py index 40d209cddc..bfdb68d330 100644 --- a/src/ansys/meshing/prime/examples/examples.py +++ b/src/ansys/meshing/prime/examples/examples.py @@ -41,6 +41,9 @@ "download_multi_layer_quad_mesh_pcb_fmd", "download_multi_layer_quad_mesh_pcb_scdoc", "download_multi_layer_quad_mesh_pcb_pmdat", + "download_block_model_scdoc", + "download_block_model_fmd", + "download_block_model_pmdat", ] @@ -95,6 +98,9 @@ class Examples(Enum): "filename": "multi_layer_quad_mesh_pcb.pmdat", "git_folder": "multi_layer_quad_mesh_pcb", } + BLOCK_MODEL_SCDOC = {"filename": "pyprime_block_import.scdoc", "git_folder": "block_model"} + BLOCK_MODEL_FMD = {"filename": "pyprime_block_import.fmd", "git_folder": "block_model"} + BLOCK_MODEL_PMDAT = {"filename": "pyprime_block_import.pmdat", "git_folder": "block_model"} _DOWNLOADS = [] @@ -1035,7 +1041,7 @@ def download_f1_rw_drs_stl( >>> model = session.model >>> f1_rw_drs = prime_examples.download_f1_rw_drs_stl() >>> with prime.FileIO(model) as io: - >>> _ = io.read_pmdat(pcb, params=prime.FileReadParams(model)) + >>> _ = io.import_cad(f1_rw_drs, params=prime.ImportCADParams(model)) >>> print(model) """ @@ -1070,7 +1076,7 @@ def download_f1_rw_enclosure_stl( >>> model = session.model >>> f1_rw_enclosure = prime_examples.download_f1_rw_enclosure_stl() >>> with prime.FileIO(model) as io: - >>> _ = io.read_pmdat(pcb, params=prime.FileReadParams(model)) + >>> _ = io.import_cad(f1_rw_enclosure, params=prime.ImportCADParams(model)) >>> print(model) """ @@ -1105,7 +1111,7 @@ def download_f1_rw_end_plates_stl( >>> model = session.model >>> f1_rw_end_plates = prime_examples.download_f1_rw_end_plates_stl() >>> with prime.FileIO(model) as io: - >>> _ = io.read_pmdat(pcb, params=prime.FileReadParams(model)) + >>> _ = io.import_cad(f1_rw_end_plates, params=prime.ImportCADParams(model)) >>> print(model) """ @@ -1140,7 +1146,7 @@ def download_f1_rw_main_plane_stl( >>> model = session.model >>> f1_rw_main_plane = prime_examples.download_f1_rw_main_plane_stl() >>> with prime.FileIO(model) as io: - >>> _ = io.read_pmdat(pcb, params=prime.FileReadParams(model)) + >>> _ = io.import_cad(f1_rw_main_plane, params=prime.ImportCADParams(model)) >>> print(model) """ @@ -1320,3 +1326,108 @@ def download_multi_layer_quad_mesh_pcb_pmdat( """ return get_file(Examples.MULTI_LAYER_MESH_PCB_PMDAT, destination, force) + + +def download_block_model_scdoc( + destination: Optional[str] = None, force: bool = False +) -> Union[str, os.PathLike]: + """Download CAD file for the block model example. + + Parameters + ---------- + destination: Optional[str] + Destination for the file to be downloaded. + If nothing is provided, the default path in app data is used. + force: bool + Option to download the file. + If true, the file is always downloaded. + If false, an existing file in the cache may be reused. + + Returns + ------- + str + Local path to the downloaded file. + + Examples + -------- + >>> import ansys.meshing.prime as prime + >>> import ansys.meshing.prime.examples as prime_examples + >>> with prime.launch_prime() as session: + >>> model = session.model + >>> block_model = prime_examples.download_block_model_scdoc() + >>> with prime.FileIO(model) as io: + >>> _ = io.import_cad(block_model, params=prime.ImportCADParams(model)) + >>> print(model) + + """ + return get_file(Examples.BLOCK_MODEL_SCDOC, destination, force) + + +def download_block_model_fmd( + destination: Optional[str] = None, force: bool = False +) -> Union[str, os.PathLike]: + """Download CAD file for the block model example. + + Parameters + ---------- + destination: Optional[str] + Destination for the file to be downloaded. + If nothing is provided, the default path in app data is used. + force: bool + Option to download the file. + If true, the file is always downloaded. + If false, an existing file in the cache may be reused. + + Returns + ------- + str + Local path to the downloaded file. + + Examples + -------- + >>> import ansys.meshing.prime as prime + >>> import ansys.meshing.prime.examples as prime_examples + >>> with prime.launch_prime() as session: + >>> model = session.model + >>> block_model = prime_examples.download_block_model_fmd() + >>> with prime.FileIO(model) as io: + >>> _ = io.import_cad(block_model, params=prime.ImportCADParams(model)) + >>> print(model) + + """ + return get_file(Examples.BLOCK_MODEL_FMD, destination, force) + + +def download_block_model_pmdat( + destination: Optional[str] = None, force: bool = False +) -> Union[str, os.PathLike]: + """Download PMDAT file for the block model example. + + Parameters + ---------- + destination: Optional[str] + Destination for the file to be downloaded. + If nothing is provided, the default path in app data is used. + force: bool + Option to download the file. + If true, the file is always downloaded. + If false, an existing file in the cache may be reused. + + Returns + ------- + str + Local path to the downloaded file. + + Examples + -------- + >>> import ansys.meshing.prime as prime + >>> import ansys.meshing.prime.examples as prime_examples + >>> with prime.launch_prime() as session: + >>> model = session.model + >>> block_model = prime_examples.download_block_model_pmdat() + >>> with prime.FileIO(model) as io: + >>> _ = io.read_pmdat(block_model, params=prime.FileReadParams(model)) + >>> print(model) + + """ + return get_file(Examples.BLOCK_MODEL_PMDAT, destination, force) From 494266bd7a94243be21008d1ef4b57489e0de82a Mon Sep 17 00:00:00 2001 From: srpyprime <94401560+srpyprime@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:14:35 +0530 Subject: [PATCH 2/4] Update wrapper.rst (#654) Co-authored-by: Hao Lee <110977525+hlee0122@users.noreply.github.com> --- doc/source/user_guide/wrapper.rst | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/doc/source/user_guide/wrapper.rst b/doc/source/user_guide/wrapper.rst index 0d80e22f90..2944227888 100644 --- a/doc/source/user_guide/wrapper.rst +++ b/doc/source/user_guide/wrapper.rst @@ -180,31 +180,3 @@ The basic PyPrimeMesh wrapper-based workflow follows these steps: ) -Surface wrapping using the ``lucid.Mesh`` class ------------------------------------------------ - -This example shows you the method required to replicate the preceding surface mesh results: - -.. code:: python - - model = prime_client.model - mesh_util = prime.lucid.Mesh(model) - input_file = r"D:/PyPrimeMesh/cylinder_with_flange.pmdat" - mesh_util.read(input_file) - - # Create size control for remeshing - size_control2 = model.control_data.create_size_control( - sizing_type=prime.SizingType.HARD - ) - size_control2.set_hard_sizing_params(prime.HardSizingParams(model=model, min=0.8)) - size_control2.set_scope(prime.ScopeDefinition(model=model)) - - # Wrap and remesh the input parts - mesh_util.wrap( - min_size=0.2, - max_size=1.0, - input_parts="flange,pipe", - use_existing_features=True, - recompute_remesh_sizes=True, - remesh_size_controls=[size_control2], - ) From 91fab5437392631e39964475e190036b8eec0a6d Mon Sep 17 00:00:00 2001 From: Alex Fernandez <21alex295@gmail.com> Date: Thu, 30 Nov 2023 10:07:34 +0100 Subject: [PATCH 3/4] fix: Add missing permission for dependabot automerge (#666) --- .github/workflows/dependabot_automerge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dependabot_automerge.yml b/.github/workflows/dependabot_automerge.yml index 132d94fe87..0f4a17ada8 100644 --- a/.github/workflows/dependabot_automerge.yml +++ b/.github/workflows/dependabot_automerge.yml @@ -3,6 +3,7 @@ on: pull_request permissions: pull-requests: write + contents: write jobs: dependabot: From bb3d9d1e886c583f862ad6fbf2ab6a2afa6fd0c4 Mon Sep 17 00:00:00 2001 From: srpyprime <94401560+srpyprime@users.noreply.github.com> Date: Fri, 1 Dec 2023 15:11:16 +0530 Subject: [PATCH 4/4] Update surfer.rst (#667) --- doc/source/user_guide/surfer.rst | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/doc/source/user_guide/surfer.rst b/doc/source/user_guide/surfer.rst index 913ef00b19..bc93d7f2a6 100644 --- a/doc/source/user_guide/surfer.rst +++ b/doc/source/user_guide/surfer.rst @@ -197,29 +197,3 @@ Initialize surfer parameters and generate a surface mesh on face zonelets: :align: center **Surface mesh displayed** - - -Remesh surface using the Lucid module -------------------------------------- - -This code shows how to replicate the preceding surface mesh results by remeshing -the surface using the Lucid module: - -.. code-block:: python - - import ansys.meshing.prime as prime - - prime_client = prime.launch_prime() - model = prime_client.model - - # Instantiate the Lucid module - mesh_util = prime.lucid.Mesh(model) - - # Import CAD (STL) file - input_file = r"D:/Examples/simple-bracket-holes.stl" - mesh_util.read(input_file) - - # Surface mesh the geometry with curvature sizing - # Set minimum and maximum sizing to use for curvature refinement - mesh_util.surface_mesh(min_size=0.27, max_size=5.5) -