From 6a28dcf3123274e3475b3077a2a05168a38f81e8 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Sun, 29 Mar 2026 15:03:15 -0700 Subject: [PATCH] improve visibility checker and add refiner --- DOCS.md | 7 ++ examples/02_congestion_resolution.py | 2 +- examples/03_locked_paths.png | Bin 52392 -> 73527 bytes examples/03_locked_paths.py | 2 +- examples/06_bend_collision_models.png | Bin 89875 -> 86097 bytes inire/router/astar.py | 101 ++++++++++++++++- inire/router/config.py | 4 + inire/router/pathfinder.py | 157 ++++++++++++++++++++++++++ inire/router/visibility.py | 17 +++ inire/tests/test_astar.py | 92 +++++++++++++++ inire/tests/test_pathfinder.py | 61 ++++++++++ 11 files changed, 440 insertions(+), 3 deletions(-) diff --git a/DOCS.md b/DOCS.md index 0c8a57a..d83b018 100644 --- a/DOCS.md +++ b/DOCS.md @@ -19,6 +19,7 @@ The `AStarContext` stores the configuration and persistent state for the A* sear | `sbend_penalty` | `float` | 500.0 | Flat cost added for every S-bend. | | `bend_collision_type` | `str` | `"arc"` | Collision model for bends: `"arc"`, `"bbox"`, or `"clipped_bbox"`. | | `bend_clip_margin` | `float` | 10.0 | Extra space (µm) around the waveguide for clipped models. | +| `visibility_guidance` | `str` | `"tangent_corner"` | Visibility-driven straight candidate mode: `"off"`, `"exact_corner"`, or `"tangent_corner"`. | ## 2. AStarMetrics @@ -86,6 +87,12 @@ If the router produces many small bends instead of a long straight line: 2. Ensure `straight_lengths` includes larger values like `25.0` or `100.0`. 3. Decrease `greedy_h_weight` closer to `1.0`. +### Visibility Guidance +The router can bias straight stop points using static obstacle corners. +- **`"tangent_corner"`**: Default. Proposes straight lengths that set up a clean tangent bend around nearby visible corners. This helps obstacle-dense layouts more than open space. +- **`"exact_corner"`**: Only uses precomputed corner-to-corner visibility when the current search state already lands on an obstacle corner. +- **`"off"`**: Disables visibility-derived straight candidates entirely. + ### Handling Congestion In multi-net designs, if nets are overlapping: 1. Increase `congestion_penalty` in `CostEvaluator`. diff --git a/examples/02_congestion_resolution.py b/examples/02_congestion_resolution.py index b33328d..ffe8343 100644 --- a/examples/02_congestion_resolution.py +++ b/examples/02_congestion_resolution.py @@ -17,7 +17,7 @@ def main() -> None: danger_map.precompute([]) # Configure a router with high congestion penalties - evaluator = CostEvaluator(engine, danger_map, greedy_h_weight=1.5, bend_penalty=50.0, sbend_penalty=150.0) + evaluator = CostEvaluator(engine, danger_map, greedy_h_weight=1.5, bend_penalty=250.0, sbend_penalty=500.0) context = AStarContext(evaluator, bend_radii=[10.0], sbend_radii=[10.0]) metrics = AStarMetrics() pf = PathFinder(context, metrics, base_congestion_penalty=1000.0) diff --git a/examples/03_locked_paths.png b/examples/03_locked_paths.png index fddbc0219327a6b81161c4d5a5b7852c4967aa90..d767df93276e33e5ece68343026ef212e8cf323e 100644 GIT binary patch literal 73527 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 literal 52392 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 z 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 diff --git a/examples/03_locked_paths.py b/examples/03_locked_paths.py index af406b3..642c6f3 100644 --- a/examples/03_locked_paths.py +++ b/examples/03_locked_paths.py @@ -16,7 +16,7 @@ def main() -> None: danger_map = DangerMap(bounds=bounds) danger_map.precompute([]) - evaluator = CostEvaluator(engine, danger_map) + evaluator = CostEvaluator(engine, danger_map, bend_penalty=250.0, sbend_penalty=500.0) context = AStarContext(evaluator, bend_radii=[10.0]) metrics = AStarMetrics() pf = PathFinder(context, metrics) diff --git a/examples/06_bend_collision_models.png b/examples/06_bend_collision_models.png index bdb530411998363c894a623318921fd3932c6d25..4036d0dc5839bb05bccc424335e4c2620170f46d 100644 GIT binary patch literal 86097 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

i8 zSQBc0O|?cvN7s(l5c02$;zNHM&N$)#+T-75XAfwItg|qhTJKDjy%Z;ina)W>yb`72 z)UW>;ZZSRuw{$cixITf>(K8epA0NNX&3z6Q6%$hh`o=u>ulzkaD)*`q#Twgq8kXT7 zWbT~60@@)9SgJLBc*Zg^{LK&cQai;HocB|(5(Q8i{Iww@QjW&d{$yXY0b`#MklvAEDsY1q6ZCkCxYBBCTwq4N4<{`(eJHfEt|c9 zo~FnjX}^rq)_BeDw$=#3!7YY=2Er&66?pq-V^ zoyaSp5)rvS`<E`h_4Apjq94R4GgWeX8 zTnc(1Pw(uO--&0r)cau00gWB!uzrtEmBy?wNozS73*EMlzFZ=C!F}_y{_`wG*_H3{ zzUvlCyLSyx806=Eh~TCB+`#*B<74o7aYoC84C92|j&Y$Rxm!aU=s9-FuXM62f`ko( zE-RXp)%ZFq4#QTYDy*Is{I8yr5av@(SIG=;y;OQXE5?kqfJWcLP0uJ$!gW&ef%7Lqb~`F&}zI zuPuz|!cJZvSHGJHm6;F{M~Mh)vp1-A(M!DUb{z9i0;*{+p{eQGC_QlPH9q}Z5Y`hh zC&SBLj0jrrq)SXaW8vz zs7m3o{!KO>f#6D=>d0UT)@!{XFI(Nt_hp}-cNAltFP^(*Hm&A-nkG5ui+H)dztA^s zJfE*dnT!Gd-`8MSZJM2XY#RF zHY={E8b_W@I3mqM&5tlZxNsdoscp(o(=7*k8KVD^w8Q6@s*cSn-r2Kf+X+g)3-X2Q zXV1E)UdDJPK@1xkQ2OHV2g0e>y!iYwyYO_$G~Fyr*pi&&;Sg=z#*i-e`rwu~-xcia zg)f*pYASzX+n#vgs75`@^;s2Ig?0Q2xyxoXRV^66XJun&Hw?xcZ2s~V^u%#n^w=Dw z6Y>F_#zs2a_d1q93&f!mc)TzZ5eBSeIXtrls33X~XaCBW)m3xX8MUR72?3l0pp(W% z7?~RPMT#p)JXTuo^0V;<)zuL#b|z!`H?atlVd!LWv|;_yYr}cYvXChg=IcF_K|=W8 zx53I5TOQY>K>(~)Gs<;~&}cAd+?pJd#A9BB05xk~$9zuSp}ms8Oz_?7nZ>n7A|gF? zD?Bvafu_V+Wozl?Lu0J&;LgUtazy?he!}J%|2vx%=LBB{xz6fDB_!1OY3^#fj9#az z^ueb~?P+Ri8tz+g<1X9$#tO;`p+Q@lVEV6X9s<$!`>dTyF^a@PIPs-26VfOKtINmH zY@kZ}sy>{pfM2ts(}glJ60Pe;INCtDOpBA0>!^??c8fBDsOV+eHx_r(q%=*|woAzJ z^fFcdPNSZ&OnYOs4m^K)*?s6L;({aB4Vd?%J1}@ zS}iN95cfeZt@wk70n~o@!y7a?7{FkG>uR{T%^5=nZxGj#y;e)|snyU;nD)%kqdK?+ z1^Xv&n*4b*0J#+)EYRhZ@196Uze2k3db3 z^_@w*e)LKW+qohot_+WFhr*Dd`8Zy8u=wAv%pKS-M~w zDfok~f1DdU&x9pn956Ly2;%#LFapR^Nnoi4Kh0MO_U^}vMKFK8_&zgM;J+Ko7}*eD zcDfDs=(}9W9uw!8l2ZTu%owVJ-IbLu-dpck0@LWy3-^H$C84BzBbRzA9SC7=_=FH1 zNlRP3MO-;jj@8G~(!&6k_ZJQDxuf}^*|q9s&Fe?*qct zrP=+h{R;FilK_eGiYL$m3>)FOtjUXa^ru?$+jy0bUyo%(! zFM(=aAn+62g=Tzz?s3^D9{2{pDhtA3=ji{H5P5NqD2qPJf~R-#<`arL2P)t!fI8YR zD8fSR^`g?Z`(p=o^~iZ`&Z`=`j4^5&KDp@8HRC9GK+=hbGzLM6WJwN`!}@sDXMi!K z8U$n9Z-W`s-U<6#37TuA3EL?NRiL{SdNK%o9;mQ`hpIB)v8GY~o;>?bJ;GagV{L6I zs04N-z%y=ZO74V`DYoTsgxC$dO4i*fR+FOd&bdcAPKO&z(fL4LYssOc`SAx{?SsR) z?iA1Hr?lnb*0%A~tyDHRt!s9TKN&h*2MPs|uOmE@pu3a}`xogWffTB8#j3B_vP2p` zkvinr4$uCPS~WMzY9x!EKl)g7JYH2*u3Gc#(o z1Fta74LWLgs1lI>)hy^-6TFqfnwy&oFgx4!=fG#mNm7#rWE8QIU#_<8JBy&_IhN9^ z>sjS6D+W(F+YY0tEs8||Gk1A zRSl5+kfTOYtgvmx(Q!YpLnmHSXZdSj0H?ujz*DX3$mo zD}b0A|9SOu)xUOdgv$Pp_@}HX5N4;0qlH(bDV`mE3*-kI!6;nJkBC}ui1XS5%&^){ z{jr${0{Eq$5j`BF{|X8E5GtW2nUp^s366R*tiXK21g*CakO;+v{PDHNTk~Zr8)&jY z`W=4$pF+!jG&$E!l5?L_`PlP%ur+jiL_Xn-6T1~&RaJHRK(8MFXK5?9bg69pJIAG$ zRD6X?is$#YrtZQjN>N?j?|OE%osbA*ckZ0sa*2QN z^)HIZj2I5Pzak|5Kkw7g(K+!xS1tm$(Gfy`jya_I!$mBC6nyQIdQakxJVUM>@)7lm zcq`~1p)cb(4dIq+v5hA^l0=N~cmA;h^Lb=1NOW%Bz5C-B2(;=yuuLU7@kQ_}a@PRA z^ga0cNjr5?21jp-lU~8U^~V9J@FmB%V>6vFUWcHgu<$PW74aVrU8d?Q&&7Xo{fBSU zvarZHAx*eU{RP_pk>$$DincWUI`98s93VqTq66Ii<~fZ&hO)gWf-@@$P7W;%vSiZK zpYD;@RaR8oJ87vB!k`}=_|Ri}2-q91_M+y;iM)UC-+xsZ@}@3=1IOO}vEz$^hb@N({XN%>L6EfvMzo`&;~zCaJWI)H{@*pee?NMRAEwfhd33A8 zv7(PfL6r3tfI-8qCs3CNnvZb+njLsjfVuu!!V};bvcQnex03=Q>Vz^I>sOyV!_Wa! z<{>w;!T%C?^i2%<*i0`^fQ+MM^!4?fSVpV9l%)~l|H#ZgAi(k%ihPZGO(B0i`gqTw zZF1lTK>QEr`I*~397d6p_g5UhcX_btT2gDu~`vb8$~1}9vHppK}c zk@1Odf~>n7mXAo4uT(^9`_Vg8_{ie_Al_r2+}+bd)^`cqu0C{O+eUX2^M)k7PCV>T zDg6EYEshts3U(tE^Tf$GbWY;p=l&n=8&di(xraAH|6N^jia;n7(lVEv$y`|N> z?clHVt-$0IK) zY8((9eN{tL;yh&nBKLXCarAKzBLY7P@+%0v9lQ~nLEJNY@ zu~?2U(J?lWWbhQ8ZBHKjU+Gh^Ke-0tWzZ|`@N9yQNJ(LkrY3k@cX;Ga0F)6P9;a3M zLyeM^Ow7#W~|K-4ZS-roNXL0a%yJG%%`CTa(lZ3XOa3?Ad|jqHaQ7c#4fV%#rhfp?XT z=kGeQH^57Pp_Zi3@uW-;B=eO=oQOXTo!GDDcy{bSoTd1&C39&O~`5;Min9 zJVLXo4w!^_hyX}*va+%&xCgasd_#VnMLP%Lz&j6aD3h>MG>_7FPy-}(N6%>{$yOc1KOE9>Oh&(e`UUk(N}GB7no4C9-3 zgJ4S65$ib*xnBHfAjJRJ!YoE(t#Cf#sGe2i9lb_VSZu!rdXKCx12GrS50^}S z{o}_E#qxpmLyq-@eqnnlI%F?c}!Y^sj#A9%@ZMbChj0nh)DC$oPvS9DzF$j4Z9ZlL(9g700tEPWp?%*SjFxxe{EgeDOhf9E*P?A zQ1425^=f7Cb#Y+4zs*89sy;dZTtL{}hXVu~^ghDxo}Zsz+j)}}#;yd2C58##3{4SSn6e@Lrk%ab&p9Gkn4#9F!&<)nbY7k%vKoAq#nQ0o zogIQ3@S&mHHpVM~{{HvKJbWh`4rp>M87ykOaGs+{)d0pbJgv(r8jtoRkfH#5COOE{^f^D0IACBBIpJtQu3z2ra^I)Az9(bmsmyG9v8n&7 z5gxMs18t>4tz;DxyahgXdLiHSPf{1!1reH49k!yg@&Z;+5@0#9+#jD#8aTUq42pX< zEOTAe%dkIe@3IW^e=TLC+Ho>7P6vJyh%1}vJBrIF0nnu&{S=^7I;}W4Ioa8oSsK2R zz1s`Y_^W71_MUa&hbQ#w~Pk2GUU z<|-+5X~}P%b3(YnH^7{lpN);6oFsjF6S;7xbLnfT+?VmzQz%UbCYL<;o9gHCjTW4G z%r@*2pL_|d!diw-a(KBhq#XV2s!BUOV|75TAfK+-)406eFsI_y$F%oY)m$^yGU4fZ zJ|lYpat=A3*Zgl@<`be88~{8Y&nS@Dw#%Idb!S)jG%B_?>x2RU-B+^Rmf3GpEKcco z1_r=;e(U3pGlK^p;0PfC6!3>N0>+tvWB((t^#{-!I0KK|wVOR~L~WfA+OlMf+5A4e z4dN*mKPVbR&kfXq@$>%RNDp4r+&qomE8pL6_#vh7S|1ojzOEZZ(zPT%Q79!i`duFY ztFn}M>Zz_{k87YX6{9Bc*X@k;rg-w|&C zFrO9!t{bLBVnm$hbS|+)UpgSV$5aZXuXP0g0QN5(;7t)H?0^#3_`2h*1@s+9aC1-^ zZPZO2IHHh=ez>j^pF^MgPBQt(4gcfUcu)I{0@n(%f=;@4Ib8Yl!vioIuBGm?uO4r3No`-?0%%PGpSsDA*DwY{@*Ect_~(GR>3 zpiSmM5dQsn*AY7hGX6(c?atZ4XVO0}>}%AG9PSRtDjc!z{_=Kp>V_~{|Pd6QANR&XTM0N%Sook=pmM8#@3!jz|)@15VE`DR!d9jzO z_@aO-#xF+7a^-gV2+r{*8fzrfO4PVGiOl04OKCml70$$;&Et9^NsYJcP6T_VR4I!! z=DTluWAwwv$F@BNo%a(*(~C`cM(-J8$dKJTm7V1$+=byUgx6?EAeoGH6Ao`KFF$v- zet_tnF_S0YuIN1Tx|a#6L};FWyC7iNG>%5b8#yxf+%}E)7iaoGQJ3(whSswIkO7|S z5C~XAYB~}N?oSC-j5X+N4m}vC!J*o|`Eq0AjSi|prfeRu>7!J77Ued-@}&7*;wM>p zV**K1KT(`$7feEw7K>V~$!Aa58nf)Q}#a|wpec=O~ zoOgX>+^0h~SK)#_4{y9C?sGdgUovA>GMrItxi|=;fjOzYnn;+e8S_#33C}IykiAde z{U#cDrYWDcxwY9BBTm)^>1A)i8`Vq-3WGqd#Y;7KLYmo5hOdFd!-hBD1=|k>&(obC zcaI!P8EEwXcV}fKEnVYYN+#o#?G17-&7CXv!P(u;9BwL}uXK0VaQ@X-iUWK1)*Jk# z1^YzI7$q&EHC<1lCr=SIJ@r7GCXmc&*uWgSZO>6jG7*t(+c=W*Qa96pqZ?2naarYS zfQ(Yr$jypAObH!Shcf{(N|GTjKOeAGPcL{^J5*jYuZy$q3jkP!%=_%Qw1L>zgaIY+ z!?Uumald%k?wiGPwjiG^n%W89s2^dLUo$b)eP-0Cq!_$@^UlzEJ#bmkV`Ld-@owBR z75HD)mOiMYxtDOh6 z#70a(%ANO_hWCvFir&77Q#AK~T_WN8hN8D~z_)+>{2LZl8qMX!-v&fGA-Lp1zkJ^n zH*!CNRK&EgFGh(vFGSAQSnGnewY!?kf7ob1XXCg7S-78m$L0BK9n;1cRjlB zQuDj2qwuG&*DA7EDqDNT`Is-GQ!IA}Humqt?|h6*;tUqa{u)Vn?mJ-#b`S1_yAP3` z@BF=gMW0X7B{P16$bVzm(|m(Pn)o)adWAxfr%7cs`&rdy(u;09v4l!}DtEnpt-N@D zd!F+EwIr36#wE~P)Y5U6A_G|A4+{gY;bNy)N;dwBb3h%~RRr!1kF<`gEYrK4Qqr%llf$M>Iru z-V{LS8+Zr&tjV1DOnLEX-X4OC7RR81VluPJhlve?ss!vHsoSX2Hbkyao(G}*Xj$l$Ih--u{iu9 z3905+M{LG)P8JRFSM6!uaAq058^wTE;NvU4DU*Z0qxN4$460oKSO<-E%fQJB^o0-o zcJQixH}ipxP*moYueQoa{d;%YN;%Py*-aXj$HW!}n&hQ(!OY@R^vSn7@x?i2wG3Qv zmBxL)IGm;1QOh?8N+NJ_cJA=s4za2#=m3!M;SHYukFfWEr}}^Y{|`c$DJ!dJkS!UR zEh)+_dqhzrBV-?vR90nGc0!W9$qpeQA;hs|ud*Hg>vd44-k<9mjbg&4?Yg3%B@f(YZ=`W#nfFPM-Cc={}Ygf+Jny#Co0+7#vk5Ko3^$MuJHWK7=@Pdt}N!;d4g=zl~`6PtlYcS z^->F2Q4r1dW8X;HRi8J6+L-d@jox@Wlsu&;ImA0SM;YOt-3Fq{KHAgl-!LoYIz;3R zvgW~mCKHJ;fz#yW<;7xL9Pn5(dM{VID&voUzFd=|uzsOXqF;k8(BNZ?O6Q9IWfu!Z zG1gmNYGgs=haqY+xGrwU@fYW2p z{zA>d>`?$Rb#@%{e&SSz%WZ8*Z6G?Ds1(`1d)$8FYk1VuwH=KoUY_J&J6#3BOJn*l zQ!-twp0W!_`&Z@O%?CMs8mY6$ZPpq1UU0`EA;SC21k)|JUVZ&ao4A{-9NVU;XjAvM z?QT><91ZKAKUAqQ4CD`G--+(5s^E{ZKSM|=5r^`)qe*Y$ZfsMZBm)2Y!!odf(Mvtd zmdij`q)C;`hl*84*xS0k3X^p7Xna#gM=e}2jL_r%hPIKAr0mpqQLea#RX`lh-Y>4i zy*-EQ56t_A@xc`tCG^?VdcoXGiPg3ikJZPAMq6)63v{~i8q`)`uWYAL_RxsPE__9D zC}+-`iFoz(fWk8Q`)KhdvUu9mPjog@b=AJvMA%m|Fpp-4SYZD8;^~o045U{>c@wESj2Obe!|qA`5vXItGoR_>nx)&D^dI zCPywNvMs2v@cgQGtyJnKOY8XZu>~5tZ0}hA@(wz6>h}69jhon@Q##RY}A z6tkBvgFxzw(_EwXZ3H%Bz014G@yB#i{{$&pxTL0zixwWuzLw7U;PY8V9cC%%muITF zmKrp9`;D!m4QC1kU-)=dKq#k;;>BGSrBhi?2gJYSS?y0exf8gA4x$&sum3q}97E3_ zWpupsCn`)>pQ@NpamLf$p0JYRoj71PCwROhe{_Mg@YO^4wd6epQAcAmxCz<^_jOkN zdjH1VPYCqgQZmR|`X|q_8N7xX3m>htxL3@J37iuW`8Q)I6^>ry3l@ZJmY)(wOEu|B zfI4SJ210G82HFa>7t5U=8NEPaUP8cdZ#_l1ZXD0#UjUR49Kt- z2Q)mED@uyv^9yJb%obvN!F?+~QjN?lQYb&wcedcm+gCNFE!0U)pdtSJSqVvwtfyFA zw+e1BRpk$Rs+7pw7B#skI>Ke#Hy6N@2GbK2akZ5Em#8E3xUOd8+g!Cob5jr>(0y|t z$SQ!4#WEVv|30cg#2=bnv1dVDsRjzw%PKq*gQaczZ>3Qs{1-SNu|zSNv0Tsu=I9 zp8TlFb=l4y#C16!fUYurifl`V9Pj1j%Z38VoZ0`Jn%mMyT@b#PP@!qtLJBO>j{VRr zG1mu=76nWHGCFi3cvC^RcOfsC?={2QI3TWR=TL=Gy5Z+4HFh+*#Rp*nFshc_^lJFUA6*5=LZ zyrnRI172q?7p5xPJC}T3cjAg}9bJ)w%FNGGjSLbzt^E^o&Q_xOb5Vbv>)KJa)v_}d zPM5UG2t8o&qXdhU2;jn~C+hPgd3WFv=e_!Iqozf500morbM2e50tp}$2uX7 zFi!4(0!xy3p)pz_j7;lARozQf<2sx4(lqKin+r4h$YMWX7HT;@&FYIQ^UP z`lhH3HW{b)R1zw>!uvf!UEBC7>C-1fmK4XlTjP@b+O)K^JervvS;t#F z1G5z2O!`$_Nl3u`UeK!Z{S@+I97a`ssx9LXUVBQYe%{ zd1!qoP19<-RB%Ar^3qZ7YsYZOJ!G6HTTJon*`@#vawEfFdGeL!qfX|WT|Xmjs23UD z%mif>f;tB$-j2x#>Pzl3c~U>LIYPKZ7S!b;X5o2ks&{o?k5nXa>>TaV>d|RL`=<0jY8+% zDX|9&_g+=TNrWCVWn_kBAcJ9HglC39p4xgr{Ofn07PWP;~Tbp|AqVDRHjOKqdouony@3?D%G@yLf~S|43dQsC!wGF~H#IDO+_JZ)!Z zCoYD&kcX|(&k@z))#w!`^Q|HSeL4IWT<(^|BA&lq0w;z6-Em$XLqN;-g8>fViI-YZ zJ&95Ak56?FDe3FH>lwMsjiUIj;@FxCSAnAMg~Lb}x?krmfy^1FZ8xn7etSJvy0Peb z+G1W+=DDO-S1D$SV~?W_gw+~BOK#1_+K0^IS}p0;?023??TTr;ZJ9Q5lyW=n2}_ih zh03b9nQc<nZ1Jv34aRQM;-&tG8N}p)xy*ZH&L?$nrrFW176elmV{$dfsYIfS$fe z8vj`Pt}gnNgIAqI7kB*bT}Nr_3kyqHj}iCw&p?DKPTa9_7gvmgjmjx@%^8*1H4M!z zNjP_P(%dhito4cIj|PV=2=B2~Y1Yj1f51u`O7C6j&}IG6v#mP1?ai9pAo+D_LG1jf zIP)#?7!mr@AG=?0TspMploVSHN>zQeyo31S=P>KFljI9`mku(pxedxctTN7@9lV4>u89$>h963< z?GU3pzNm5B#N%51=hoi&WhsUDF9FgrDY<&bUv~%bI3_3T6$|&)+ZPz2e2~duX3b>M zz15ACIxU-Im5P*W}$I(omIKJnGlE6b^`cG}cVwjc zCk1e1#VUWRcT&LJ@e!pY5+(h&KEC>NRXjP!IuL6oDEXHk+y^Z=F}S z?J3{QefcSALIKH+Wc8f{2QuvTt-vAk#Gy@Ldgk&@%MSzUp^=}3_n7zW%~8{iQ<;l_ zV?@j#^^Q|;o9Xy95%Mif1R{}qxxu<$gf5;|LPBC`SBSTs{AK02V~TOfv>uQ$z3g

OX#Z@J2WsIP>0lK(>wk=+bFFBEv$;5i7F66TMPLr#o84t-VDTXtL z9%N_HXPlo;bIRIUQny7jlb-qsJ+EDIQ+CmHtenhTCZkv@Ina?g>+shgBcWEDs2fHh zJ`~1anaoc}1*O)`tMeAFc@>!3%ZD=eiOl~@Jl8jSwEpu*M?_js)hi#@TCX@-30*P% zi+l|Idu`euV?FSeEbggaUy1~MWNS`8{qZtV54toc6+_#f!8klTl98US(w$nQQ^qYa zX*`;6p{w;gG8&^&JO+2@-4epcMp!Mc=7;<33D;+0e`&r;yLtc2(q>`KR`m=LSc#G* zZ=7f9rtKt=KMHa6zC!l3nc2i%_!}rbm>+pS<9{x>>#*)=i0f!bwPeSov-nsYORIuK zQv4i5+d=b(QEviv=qo3^O14%psw7h!%47+$A zJ#8HcD9Mu+0z|qN?9avqSGcD7RTXk-1ZXKjNmoO(d zb?Ra*N1xP*ukBlPT$-uyb=rC+a3H2Ww2pfHcWz+VpvV#g z+o)B^SCG7Tm~GFVl|Rdzo2#|6coKWwCw4Z1?jY*|H}Vl7Qk=tz&l^MfB*?s^nFC8e zKJ>+}lnsMj;EK3J?__n(<#6L~q(Yg&OF|I&yA<&7i|pTZf^lNpgP9CUP1#I?D!%sh zh*zX~>6Kf&B<_y8T0+%ci7cs4cdnzGxZ)pI7sNMf`Ycq@1l~Hf!mWGGIfJlW^~bbc z@y8;*bpjaEZT}!65m$)B#MEh5w@*Z1v1b~R(+QuUBHea`psFfSoP{Q^(${0lGBj#hp)S?&ur+_#OOsHS3w`9nYIq6QBaR8Vhimf5GUu5A@kEvyM^5$|j z=-NM#oAH9f^w?p@T7B>gy+m%VK6=cSn3`R)ulGxbDVG|@a5 z=ekBtr}sj@5{VUvvEA4V@K_Je8J|&Rveex$%>z3nXC6gfaO|^y{~L)+*??Tf8PU6Z(u)-z(-t4>9V{0WSGX#nU-406pskWjq!vpgxgV2TR5xH z{ItI%WxpH7Vpx^e;=@6HDu)zSH{x%9nb82DODRlD_d|HNyE z*Ef^zqg7z*G-j6?fAAr}w-%Bt@E9hNGRP*_Wv8G&Wyv1k$Rx*MjDCwJbuxN(ro{ge zDcI+wmb8PkY?g>mMd2#9eubU$K+=7X!O)}_Ot~-BaU2=(mHcWe3XYAdkO=^|~npQAVPL}BOpvTw! zYd)Jj;cnMyJr>Xn~?X*zG^+G1(>gBs76^wOSwCH)$N0+zNzLY5S4 zlF_Fm3{UCu-Z$H?bgNK2Q;5W@hCxVXgdvT@r5{3^T_Jl-J$;;HD0@TD$G(AoqhlrHXQeA&SU?MIc&C)p%7{K`A)4-=8ImaSFk)-}v z5l6mFW2Wn$`Oc@~*1o`~MPE$_@0oR{+s|@qzUiIF$1JjRGNj!ci=o6b2Ad}*IBuJI z{7yy?8lFsZtfVI|%AYmjpW39&O_=d z*{vXMS$J|Q_MT4QlCQdx-t$jHC?tucY(B5pO;iTQClb@Yd>r^MPuC%F7dY`TxFS6{ zS8CspSN_DK)b}8(N1<=Tvu{yD*U#D}4Gc4=H zF_xjgH{Ze@fBl)|{S1z?D)T;`L9U;7tC}!$#Z&b?%tVKD9b1K7O?E1w)1L{E%omWI zJ2HQMga_sEWE{5D`{AU@p~uxh3|a7JaR1gN>3U+`;oJ;>n5)QS?8To9iO6A2jZhuo z!!?Y9nH~0tyZP?~R|r$(UNz(IPiQ z=&grssXF3=dL|#zlrm(ne(th^~D^DK!znxxRg5j%Tm;qF-r zZUee{>`P5Z>RoLwPw{$WNtcF_Tp_}{bS&8%hJ{iNB2|clI9$7WyHgvk`zCPqotE&2 zvV}|Yb}ZgO>nS^n$imEg#U)D~p4J|C5VaIK{sUC-kSLDhyFYqyA4B5YM>;9J7d-uS zdNhw5cj`Y9EDWN_K5G#zs=;f)-|0%ZxpUhWNW*8PygKyu36JhEJ$BtuQFdH{Y_%&6 z5`*k}Qi~6S8ocWrRn!K*1hFb4dv8!$uNl_=?QbcuAL=|aCUpHrzXriUb!_V{bw2h8 zsc#Q%ccJ$z}Z++u5uCIprqwtg2j7UJ5I}>sLVyG{}t$=?sD8a zE47rNIZN@N`p$D5E&>!xM}&BjZTEN|!JB%MiR0MyziuyJERF=7I`(1^F3XUCRNzUK zGW9#fAAUyHBAtD{yLP8e9Dh{dpy2{`mVDn&`)cbm$}H@83pJ1Kv;4F_+uTkgS0xPI z-_y^UPatNiKGS;>Jh(Hdy(#8*oJQ*t1%`4XD)Pe^QJwR>`N9_FA=jcKKV_-3SqIC8 zSRI5}I{RG?oMadlzGi>4!q06I4hWE~h>>oWK=1v5( znbLx>5@xISG?1w!M1e~5{j}S3B~t1g2QnB?HCM^Y%+dT@SZG_56#p5__1wG4R-arZ zN>u#r^$ZDPZYBroTWIpaXF2-u*20~PAT;xyYgJ{BGE;fW2rIe*g?-376gZ~S5t6c| z!xy>2{9FX1Ta>b~k#nnP?ORu;L)BzLw?o4nNBi*v#}YnQs_@Ze{>y8tYJBXkbxvEe zc%MJd&SpbHDfv)7!ct(aL@nu+kSl!h7&pC*jR~4Z&A!C=08-fB;f>=bNJES|0kD_y(3)@ry;r#nPTa zUtLV*Oo%cQ6f(RoR5n{eKQaBVZS6TgMgj)P?899$MkWh;q>>6IG@_zJmufgij8Mo? zaLvOQBmeCK;Q`1y`CrgBl4}(E-f1YYwF!I%Q?*nySTVO{Yh7^ zgn1R?Zo^oWlgFOsr`A|*9s>E|m&@W`5P}c=>6!xAbR%m+sis!qyzKt(?W#NNj@{BD zRhC}f(a*M_oVg{cpxxotv#Q+17D8_39JPTUis9A z(M}k~CxoF>nt*9=TYXy-tZklV8}ZVLCmt2wTh?o>Oi?^Z<9CtYm|MRZ?ueitSvU+j zM88Die2mVG%w$ySn7MxP$!5gd?~^|CRe3c2-de`Ka{w5Ubec>YJzV?eOV zx4TI@>&WuxEMe_6vPakU2qqLN^DJ5oO`3O!6&Cxu>D*pDmuFE+gmPY(>^jcbwU89r z9yRDTHVM@ULJ6s>J5X6Id-GY8P1uKb^dx#OJAGe5(Qo+-~ZD(QWdo{e(l zo#<7$OCdc;Q%c=g9>GmV*(j&JI215o1SqD~n~`g)*A|hYltHH`oI?MJn}l`mN&C8- zU^nyO2&w6@l?2e`cV-0g8iEeLA0g9}fR?=0g+#G876}D|=9aAV`MNQdAj`cTCO92vAT)3UC`z6u6XE;S4|t zN=Q7uc!UUrRG8Qnu%LR^mgl)>$xt4BeOH4Ou$`=+nSiW1aD{-QremSOO$RkA1T%?O z5PsT>d`<)q_E3<*vHpvncIYpDnny>6Hh8Ybhh!op?@~dI18^qB3qX-#o@)7aeZxW2 z>(QfKj7Zhg73l}V4D^E1!bGU&;o+6vzw8?O`H5mUtW)NMi1$ymF3uxIp46`7)uid2 z;txBc_*IT@-m%(qXWAk<;qsg$ZIN`e@x~q$Huh+ z35I}ni?=O!IpnZ-b6F&`en_z7D>eVf4%FyHk|1@>t`Y+!^%hu@qkH_?bce6i%Md$F zUg%1^CF%>+-Fk&~NmHxWjGkyeulhEm=r~r(DFl*P5M{L4Nj32PvKsY1o?!aL(fJy^ zq00}7lEsfVFJ4qSy^oqyjjT~Jl<@JLk3*S~QR+SSO7txJ<@dW~JBOpACwdaI%o>fI zotdD32R8%2@xs;Rx2^}JD>p>7%(?HTAW$Iux4%{?Pww%u0 zAvSnLUK8cs9G9G2k1=RR(_WO&tO!}&bEM_^jmZrqc@W1wXo{qW%i?>V&FEqoXC$RO zP|i65N)Q{9XxVqEI*=d$E@1 z-kWk3x`Zi@XeIX8u>A0gm87{h{zku{_J&v6^Omn}1wtgSZ@})Of7vW8*7msREW7W# zG1ZKAIgzNdxC@o4S8xwXPVS#(r&;|vaiReZG$`-%&EKnfpy&!@nnz?emh;C`i>w#B z?+$#HoPI|i6-r4()z5&QWtataSYATSKr7F~d)mCtGe1*V=aPe^{U0sw0d-P_)_aLt zdPluC-HdBe_s>e*|8Zoz!?ClsoYORx(t7?R&x(YJNFG21OV2=Hd5hfl9MO;TQm^OfuF>=49~bgkE;x~WL=6~hAiG;uzYl@35BjBC zt*EP-?DS8aY)Cjb9^ueV85U+%9k=K!D=U{?L@)3A?$Bikg}F;U=p|AFf`#&ENmNGQ zf%$;;xtn|;n-W)Y9|v@!m0e^VXAITfAJZ|peVYn&zLM^(h3VtHMw%4sk*d7(A_>BW zKfSI80l|5Jm5orjN~(SuKv}65vpUd4SkPy-k$95XKD|NVCB~BE-u=e7M@dM>#Qiqg zBek@s6y|##;1-FqB(9 zy?A6cYVkd39>!fV?d17vFDc75T2F^?HL?^ThLj9(@EBCNoV2vKjjqqJ*~(Evel+8q zP_*vqJQ$g1G_}8gF@y=GrcMS4GpPiTBXuIR5Cs|gB0<_AQo(L^({Av~`Pxtwdx`x( zE~06^-H}1q7OxmK125BT7C9CY-gVa zx?W3sdB(n9T*;4(4$JZ%MDD-MhHJ03l4DvZ<_@iv08L86Kw7&VRmaOvZ zgWSQPse%rZNXS~P>RplLM|%{bMq7s{lY>n<&wXPxfgCk<%{K=$f2wdfak-HA%59YD zgvUSSV5&y(SlF14GWoWqg;dn-`@&O-Nw?H=O^NZK)3qv|Y)ujCY7zka#r~SnH9M*qby0Sp3 z^6e=Wlq=`Y$L5>s#`G^6%2!ZvE4r1}Su*QCPb1!N|DA38)+&-d=6@&gZgksLK>$P$ z2yQjBFro|hrX=K4Lk=H!JMZd(+VWbQ3aOZKO$7)En?G#zG6{Cy|In7&WcUhkN-0LQ&b(aD$a<&j6y+C{?P~M)!{ZsT{lOlFd z5n--~ijt(9Kr8+)<_@Ari6E@H@f>rCD}% z!GE|XBP;Ghn(oA+?hDobs-i)y>o{t^4G}4510g4_kQM6G{ckH6{Z>kBl5=o%aBD;Y z+hCS<1f)d>*nU`UpzHJekBZ=LdV-!sf%SE$H2Pa<0~PLZabD3XNQpW^b7^daY76Yt zG?ofA6FKcl3ig`vwyNNNUZwUL9w2VS9O~B&K$#>8o&AA`TB@m+o)|~Xg7MnQ!+>Uf z>iY>id_=Ooq-9g?O(^W%uI0ngXK<8-wfhR&920|_o{CAs^)XGT$YlEZs`sC=6`a5V z4|`(pYcNQ;zrve5c}fvVJ!{ZwHPy#&F#q#gz)1o`qGMD$9>8t>ErNveoU%Ii&l>?g zYkJyeU?%?HHUlWF^G0#9fcvbkVD*Hp1wKK`NZ=A6sdfi$RgB@{=_?5d2{V8syxTnu z<-!9nw?*GyO(J6r7ZxNhi^ORG5%ogY439Fk0yK!UTM~73p~*COx~t6$9ROpV{8?a$ zR>_1Re8hP4nN$08=>xUo{|72agF6J!0^YYoi~2;t(*@TPR9Hpdj&X1lvTdT}YAA5+ z8tlht@t_*L<)r)1iiXQ+YC;3b(7bmmJJV|%G*z;S-__k(tu+Yx<~SsUQr1PNxg z&#&beuI5li6Qzh4XE65sO1*o^q8K`aMFErQI5KZYYT=tYqSylWSNl%p$?&b}h>@|q zb*E#~$6NrF);;<1Pcha+)7tdXnp{C+6Y`GgfFAdP!qsv@&DrH;7U00mh`_L0lDj- zAUxampO0W6l@DO~f1-JWNJi~m{xNi$(E{9(!4=6Oa>n6dJX1m_NW#UpvQg*Vis4~M zb8oyivV97Gc3-8sKMIKBz!^YpXPdoM02AaaM6#46Mi_?PfpTWpmFl;b>Wi$|znRuulIh?pChA}V+s-I z1IeICN38Iu2I-cu)H6QyH%AKr9U*L+KcFM+gNmv0zfT1m>=H**nx4jI+7*0w*8lYi zp1sDCDE{U>?(;Cm<_Z6?(`V*O2jUWdUx3fod<7NG83V8Xy!`)xh`RIWa8*(Y9%>4y z(E-l@IAMRVa>6L`zt}V28-O#>ki2Z6jyM(BJ8cJ;qT z?{7?$_CfNtGQ#J7tlZWI;%bKf02RZu)FL{`@aA@tZuIy5BuY1W`44u7KClLV>?$7j zYoz?1g#U{YMWoWO;e^L{+_a=HbP^JHM7}#0_^OV!tTk>^N4MlGxFTJ1wXI8q>(3fQpQdMywN_Wt2K z6<0*j=E$JVD=+p679ufadTl!nQvt#RJC{BuO;Me2* zPm*N8>(KsSVoh$maa|H3Li)&T)^cq_3IC7J{Kp@`H{P2gdN!^Ze?$qi{zB|*t{YJ5 zs3$7n@yzr%uKfq8XT!oG?TqhS?;-yiPy}*qqu&lgg_Ol>jW}JEZO+(V6-G@u)tvn< z+iuH$HqO6HCS+Zip{kD;66^k!V*`&B`8Yd;?GmPc_YJU6c)MKs-zAD@sFnRUIVL(T(`V>Yr)Zq9jyTTQALA1vll#aFe|;J|V5%X#pB# z*i5Xra_o6@fGrRzt1o%ijQl%u$XLN3WSG=!9zz8st}=n(T%wj;OPVirgd)MQ=1V(y z*#ZYb(p(SwYVpi0QJhRVmuIB-&%Q%Y6jXpZQK63zgp1(F3S4QRQvw`tO<%rz`7!+U z6C+XMd~aduWhZDFZ49g)C{Q7OM+dMon#}3{JPbUKd;m#-YXJD|g3wUb6N>}d z8e~KcK0Pm}OyKBBVpLuz^3SgVNz8We{1(v)chQPNyt}^Hf)DrpW`h=8S&n}oTzvqb zlH7dAW`m+3dS4vUir}kld<6+!jqj$66VF=-Od)S<(UFn~`>Gc4&tZd1Gr0MG_>z!Q zg}xpL>1$@`Ka54>;Nun8)1dt38X&)LiCDXp~2m{_2GZ7qS$5G%-0D3E}NL(&AyEdBJKpfDjwJ5KO+Wm zOF@I7i?Hz&3-oY2MMu}R^ROCXj{Kg5-vtI(EcOptn76m?@3RT2T>(nTMUB`A9LNucr-P%ct;`&Y z?|Z`L2A0W7ElOhTwp$3+=6I!rru{QslD{Rq<_h}PKd`>nd2CvNDT;E^gk9n z-DG-+&2{F~`*Hp03MBHC<~C^oP`3P$C>KaNT(Mk)&RDDvn{7pxt`?ORAx{Rl!WN9Y z%I4+9*(mdxfxS6&iGHk{k$5vGDe64~Xo0b}X|l7Alw%STNs+D%26NBCG^VY#QEB@$ z%s{q^1GVEWPq4~CZLqb_j4%9!&a6yz(LCO z=fAzg2=;Z<&bd_<)!J90Gyd|nfO1*~0-y?q^w_%sN~4yp`ciaUS59tm^Qs1a7!pNl zod2-J@`7@3Xd0ss&tV!p_M*i$JhiyE)mn`l4ni^kz$FM)=0@VuVGx$`InpKVfdAqnVAR$ z#ub(x3rbK@()ZD$M+x5(A=?AT2Vm?}KgnG9bo8UlWo|mX0$aJSGWu3Z5c@^}{!7bp z8fa5+CI7WB7yiAVpkORK{l$wHW8nqJf0=8bL>Pq)&qw}ZzGO|Z9)8dvN#m_dV!hnz z(1_9Uvc8_)yIi5L`pePdz+Q99dQp4rZKDf>QZlsO$tXAED+76K{#!l50E5a%n!p;N zW5-~o?+w~5ObCW*TJJA#%qUc5;P*qJ>f(=`6Ih<~7HVC;G3@p-DvCZV=tH{!->Myi z!hjm8x_U?`@xbcq9Qr)vhKS9aPV6UJCs)$q`N(M`kmiA2Nkmtady$HLpJK)=kxadx zS3>9o@_}sn^Xt&|N_rR3T2Q8^CjmnDg32%F{^3nvnjbzeP5$k94t&WB=cBmRIC2z+P}=JGIPr~Rs+tknqD+^M$Sj_4 z9oNNlW;zn10;T45qGHn0tP)?!wO=@Tnf2*uV0q2q{9n(p`!!}LdVBzMWdL0|62kA3n&$c< zlHNjj0Nn?NI0KVy4GIFB$i;23+Xo4BO12()3o$pOBgK4w?QO8nxZ=-@O5w_zVc>?9 z-3!CRd8Wsy?-UaTEG_ANSL;M~=}EZeK+(x&bW>TX)7Ylm^?(zQQDga{4u=|zR3 z{MlSP=Y!>rR*9tV=$l1u`f_1-KebtJvRxjsi6Diz&E~132(Yjh!{}|a^8X@Y;$4oAOD6)hZH)592it;yRPx+??|=KY zEH$UlXjv8?0oGk`8pADf&o0~#!;*NniXRKy>?!aE^$%EEB-H_a#D5?BpIh2*W(LkB z{R^9h_-!^UkU`r*q{q{O(gy)Y4BUD2zbK414qG3u z6e)4NeYb^)$9KPtv|u6y-(MSIl7z1Xh?bqoc*L9oEljURWwWPIpE|72c?>{Z)}Qy1S_*PsXEYTRirX^s{0gDDAv4ic%vw zITo{lSvXUM)%6UhJQ*Z~zA}7)8TQ0Bwij7I|2R*CSqp(h%~;to*$yF|b4l;koR|)Wu{2d)1e|wD`im*!4Wtoqf<$hSXqnOtb%lShR;u1mUo} z=TAmKG|lsUBuCgt$!_+p$yP+HihjL|WoXK!7I)^fp5X6o@!y?>k`T$lpJ-F+?pdbHXy=bW@k&L zJdR7H=-s8W7}|tDWurpCvJ%JD9Q>4Dn1-FB_6KI#(K~j#-t^8R0)D z@@wBA_n&6gI+C8cXfnq(=Cvdr$xol9ZXQ%PN}q^OrW*)u`8nDryX=q(&ObdRZl%ZA~qrvSmyt$hGdxEZwJr0Lt&I8MI;8Y%Rma zmOIaFMk%qYZe)IGOtbVcG~_JKUmgyhO%N;IwE-=Q?g5J1gguOOC7S&GkI1I9RmNe% zB}K+Z-S=zw8LazO(SdV@?q~7_i@_t1{M)ZZJ3RhQsn{ROAlSn>M9vR`GzZv${`h$sX#j z(a#KGP+=w1Ys=vt*e(yV;$1&vsIsSs$jCi3=h{C#zKhb{u-Scco z%-g_}lIK4icYjy9wnntnQo8p20Y*7q&2gw6O_5fxsPumBbJ(k_IJX8-P#j#+J7=aT zrdGQ{t@gv1_ZgP}RO3>6Ssa=q0!wB+N?P`IVYXg(*xFiamqG2u^jy35 z&#|=mJFQ*SJh8_mea@4&UwT%yd5Pzrr!5=CI<#xgtl`CQH%Tgx0PTgA)@}OnLrz3O zz<rSEqA--fM%bqYPY zFqGeI_s>+y5%B5Q_d3T<2p9k-0Ys1SAU6VP znC58%JV+^Smu=&%Gu+S%560aeD!U5!`^v-Sp*Ga9&1I8ORs{r+u|P@bP4XhXJ_ z2Tl1w&7FWdWB(7SF^mCw)9KhpGQIH|#NzJMGmWLB*Q!0!Hb|_0(v=0S%O7CDw3Xxs z_*RNZhrxZ-8VAqTwK{(#y`;4J(%&W<39~?SftC!amKXeHcGj$We-UuQY&aKm*K(B^isQP`u$3`J_V z^U&(O>3Yu*RNBUwUis*S_8KNEiQpZ2$7M9J1PPIBgy$)CVJ|J+G-;eYf@{D|@6(^u zQ9P?%kw*Vb8$fyi?iSDhD_#1`yAZ;j8SR*eQmhZ*Ou6Cv;m*e^q7$3{XjjS6^Aah~#P&qEaoM{FaJkHHSt`MVy=zGY$9 zgVr?ygz^S#H_&iazIUY|by4mN;#rf&Rv`)=5$z$yehnqCdWhgI7Q|h_zcs~sBwY8O!g-S`j94{ zvlRjM*9HmOTFl0C%u0+Qm&@nIukTI$#`77a?Cx()+*TuoM>*@3#R#5|O|I+1pUXQA z6KFyK0zgnR0(gffzA8EIARqQ;DN!Rq)UP8Obslll1Ps{P=uXFFnhiq>v6%@pDN7Nv zb*1h`fFr4O<1|Wk?a<6OLsXzE2^TL)V1?Qv%U-pv>_B4w4Uq>V|Xj*DY;`&z3dbxjlGu_~?1)K?NxyrEeIBpDiExEF1m<@&|5$odkrv%$suszAfC| z;aENH5xug*x~q|}k5O>;(9H7PrSWU6g0IMY49UL#>cX1%yEpD{$hmNZ1PUZfpY_mtInIW?uq`lCHs{4=k_!GPDeONwnH^_}*V(He^Es>ZG^#fREPn zgIu=WR1A#BIUUd1L{EYDwO9FF$A_{5k$q2`j^eBg#4s1~{#SS!!pcFlGt{np5$D(0csfYm52FdiO1>D5 z55)$;8f{5wcPki5^o$cA%_c?m?%MaaR?H?(lJ3J;0J|J%1alS5>_Pl*Ua4RFy}5n^ z+59gzDKWyeZ)n1(Rr-x_c^M+tMYLs!jGr2|F`JsuSGX*1YSC9)k!2{RG%*M_5ZodC zIMy6LjqPdt?i)C-0M``f7=3F_fLd7=X2;q$m$k0Mk_lz%?-M%&SV#?K4cC*I0%Xag zmfKscZpI18x_JYv-|v)6^a$riSa_6>hUwb(CyI)Tt+(`D{%lS={jH!zW|^tCYNMlc z{evNq@>=U~SKfX?gP;5x3)Hg2uLU$qFY|^vym|U{=XMJmv~TBQ^-#Sez{%lqR0xM* z)4vB%#+`@ueB9oVZfgUJC;`VJ^y(^_Fk;=OAy3vp%(}P3LzA#%-o-=6I@qfxF7Ft! zKY(r#aheMdb%#S~6LaygOq*XG2Z+%LzS|e{Ue}#0|5xIA7iL-7Xko3oi$Be0=$uD= zAj+(i#PYbQyt1$|JFaiR<^xf@Z#w?guNXzV(unKU2^w;;B3iK`;+E@WE~N~%Wwr{J zLP?F7t#whOS>Dj99G!n_{|rG!1BUB*4c^d+$bxu8wFM42H#avHV}0M;sP1LyIs$_g zLk~EWoIjNw>odLWF8$;OF}+z|#L6CLs_$h|-hd^3dfu8W7TKdawTbX$P$1gb%=fCY z<$P3{>Y08V?-91~68%bS?UK*vO$7NR@qWq~p|vkn2|Fe-p`FjymDNz1ml^g1#Q={U!X+q4d~B55Np zItoZc23PRh9|X^YBZi##P)Hy9V`}5GHB0__H+E9p@S7{sKrgGHW$_Hzz8~s_J&_B| z0mqQNxH&fM$EuBPxe`W==&$-$ALl~-S+PhTO~As474CBQD0UgOD&qMcbSz^@#=M2tB-srw*D^oHKfLqCvaM6^+pXYpj!v+UBH4{$N+qo_qA|x zsp>y*bVPlHlk`DTkDP~hk5AoQlpz8W8zbGD)M%CeA|O8f+q@nl%5m;aQJYlfK3rG` z$2psP23G-ZJBQKI_KP7oe<$n_B?EF9-#ejlRCHkxvlfI!H@dsE@a%EsG#tk;t}vB} z-EJG8-KqTz^GYXzo8Fg;cHKRv-|6F!Xu%irpx@cT-<)qa!qB!5=Hr%YGqP< z(cfOoCfMskS&GV2dUW~XBTk1re+^C0{|wk{zM*-2T-sYhvt!J+IwJ5K0)!2KiwDCK zgGd-?f(eyMs!QEgJnhAr&zZQ|k`2!&u1S7&w+v&FmjtdC#M!os z*URy<;G1d+T*jhzXQ0j@XXb9g-jDU`dy8IVopdm6$OE{^1$%;;skv!J>@dIBlQBLf ze;oZ4wiXv@HKSc_qM*1n3e|*Z_w8}(o{?(ARNwon(HOGkAw|*EwM<$<-vL=0)WbZY zVzJdc`I4;RE;6#DRD(C=l53I)J|3r?7dz$cqxc-_-&PY8Z4r`p1J1m&$Pn-PLBAACxX?X_iE=e>&C70PJb`X& z%v#)sjTAP!Ti~f70IA7_2AeHo=Om3sGes^&3P+(q>dap5uAjVg=?O|{g}N}H8s8hU z+?q;-C3k56QtIT}FdRT0VwUTcsJF|Q&v@3QVIv^$HLns|MfUb-l08!Qb8sU+9zI|4}6K&QV8*1AoGFika@}0 zyVx{AQP(OQ#$mW_TJh!>cfBcHpKI^tT&v+R^*rr-Q+06AuL!_8qarc*k6_@&hui9EVb5_Q4qx|zMyYiOXd2;Ls zyonElqI8Np+ir8AlE3(6FK_S-iMq3x1Cwt%><2Rt`p&cJPbb6U8ITFaSy-R}9<#UZdeD0wWx_gQ zl(-Kql6Gk@G0xIjv%qSFhTHj}jH?N7ZQ>B_UPF}^1aeX{Q?3Iku*ptgB32>5r1N; z8n8Lb;j(IfH$@tQNvLVRNO>zz($T>+l4ef;`Cx+Qpr^jMp7p=-I_M1v5d~z>qs&kp z7kYa(sJ^eLW8Gxe*tuhOTaTw;X(RT#F)jIENR+;JeajVvv!e#-2R%-9s+!R;inQH6 zCH!1IaKMrmT+!fIgx-!xVOT0Ct;``_dMmqP6Z1ry`-@nbbaWz4biEbB7R1`*X*ec{ zs~AY@TU?H6wakC$BE^=M8e{C|*~Szwpru*%>eu8bHdk$i!8-7;n1Isd$L<6&-`8r! zqdu!2Ku&Q)1V534_ysUO#-eGMIj_UIn-AsWLmaRzR`K~Xb9s0LfS`qryf@@U$ zx{70veaidC=)PSsqvTruV7&oP<#RSXF*RK~(tKO(j$vJk9!uy^K z*Wx5LBQh>X2o^tjwE zcH!)No30)j>eUpN*Qp(9%0ZD5H%Q_GB$7;%^*>2VH}b!hI?lwA__2qTSJWuF@ncxw zLdVDh-)pQ3cNQ)tm>8WO?{3uKKNo%^61QnSM0p@ z=ZmY-L;+ZMSvztk!jm&Lq385mF`7B~zAJt7ls#ESzNjd7ZwHq&s#n}p*s@@>)s1QZeojdKM+O_DH;dUoKkaNbhN!4Ppk&kWNRZyd> zE;>9P(|o8|w)=F{ZFXhUPEs*^=qq#%eEVb7hl-9q zY;Phquv*2c?iFpsmOuBSs=G6+w(5jg_>gNQrR`mN`&94dLk|*YYsVy3DP3QXx>-Hz zBO_}kb0aA``ix51D|Df^6ud8LHx+IA?yxgcIzBV!>z|P=C}$<16`wU^#X7ftl=4-| zj%Mz;VEzBK_uXMlCSSN%v0+0g0wPsGiU>#t1?f$C2c;SiLWfW-AR+;z7X?&mkRn}L z5EPIa3B8L5A@mv`0dgm@?&_|4pS{m>|NQZfAM$-u&YbhknfJ_`*#~^_VM-^@RrNAf zHqvub#i|@Og46X&rzo(U$gG+ zZc^D_&*EI>=pq+d)_n!L=NJ+)F^Vg?gLBz&lp`NCCR$b8kM0fM!N#V2qYXe*4q<~Ky{CR1Olk`_IPpbm&Y;_&4H@fy>WL1cKCi_^rKM$8>8`8I zDZxGW-mhqc*Ger4FPc`J&z@iXhIct43;%{A-F>ZzgBksQQz zA}~ClGkY%3U%Ji2(?BCAAh39l(K-aBWh!@bWJL8UGC$UogIiFCmKIBn3%;2?-a9a7 zU!$ldHfmQKK|>?=eJoUP+QW&x>9}*=nA!t2p-8hi-Adh_ob^G$x6=3jG;iTs@1>2I zBc4$47-uO2_=~?RLXI}lKp)b-;0ZEbE?V~#J=@_Mzc5OfFn;BcO zZtJd>rKB*Qx1FsO(=X5AjEE6^*Uqa!?Fx-fk}QDU1y(vAfxA~YsLXrLw6lwgkCr@ zMe340k+*VmxrMT)>gO>QR%QWX3~sPkrp|sFlA+MTOB&|>vo%p2G_d4~cE6Fehh6%y z@i>O|+t6h{cLe}e0L7yCbb4v9CH|#@N84kMP{WZ6$$IH|zM5Xiu62RIkkOw90N@Tu zRYgTTA9>U^rRd(!O*~T3Y&AUsgi5QNChKp{dzHBAE4G)J_Mlhfii=DDur~{K)G}ta zjrlc#{K#aG1$;HGaSr#@B|UnzW1Zq9_^ZYKpR_bW;U>tr2<{`fp%&q+Mu5s>)A+^ zH{#*MY$%lelTq71KGp+#5E5!x-?kJwp!MEtjcxPkr><&<{B=0HOCqx+T?sF!Tk zN|rVG(;7U|lj!6|`&ZJ693l#B6zsjzrG|yvYwfaWcQ{4QgBC_c+Puz~zIHFlbUR|$ zbQ1=dJe;~9_Sxlj#Cnt@ht;>hWuKpbgQQf*g*OES5llT{i@s*65!mH8vpbBQYfOkt zt5s@CDh13|H3MG(fejlfe;Tc(=>F|M!_8fb{-`}1W{BPNf3_80J@X})k966VQ6oOHQ{1!3B6CwdW@O~_p$OQVAR0=H z>#7>WjhA>R!(1BtR5w@9rK5dwCw#X*@1Qox$jH9L%YaE2EJipvInAGxumH%nww66h zTd|@q(8hyKPPXVxrmax!%No64n|Ypx0N=)=q)N5?%(t~h`)ZL0VsaQjbT$r{+FDl? zm{u|!ijS6IViXv+k=pNW&-NB;53D?4&3z}$X#$&)WD;lm$)##XKM7eNWas8ufr^1E z`2l%QEYMM5{vI~RXckvW6u)wW)X5~j+~VaGcf#;!|Ir@Y0K$Iu`g)h26ghCPPEU)6 zLKiggt#g{t=hccI<#)oP^~7;AUWREHB;=?z+vT*gDH2Y`CDaOU0s$! zd$cYkN{oLdSJqR^G_@)-gWWa{DNb<>cHQwvhx;H9#(314X8%H_qtY0S2j_WUp_uvH5RY?*N4w&=Pd z?@nqLaP>@_pRU&C_mS=od*iru^fsBib@58=%?&=tU=%vmKjNU*T=ci@-a)tJ2FjVZ zPUO+b9%8ZR>+U9+?85}}D*5jOo6!3eimt2flr$dtjyxF4j7eISIbT(L z8wENe=-!eoP7&Qm9R2uI?~yNhWwfCFP4PYKmOp*X7lyi(JpdK|SnDV#y6-zF3AR3d zM+YyjhADNq*JuN?GA-|Hp+T$!Bhn;sy|$nRBGAn=nxO(82>`*bQ`~J)0b)ie45>IV!2uA zb&|1(9NeOMhIpxl8kYWN3a(!Xd*fdOzc_Kw3t&v&LszYGU#>*XqzyjoH&h?TeM-E6 zYU!nsszEAbJE2ryCM~!+_OEdOfPYosqZc^GGGyDg2SD;puGC#!r(ovs(AY)t^f>)LhjI4dfCWFpm>nUi2q(Hgfi_aT>{XyhDD?G9zR zivcSqH{K31CZah^hc3;Wt#|xzjj%Kzr3`?(D6aptZbz_Y`@Kr4I7|7!fZ2zF9lKr- zJ3EK1yn!IHvc@0D((O(yQ8RZbqX_@p zfG`JbxGxs706%9p)3< zBXFLCk?Y~bOMVcH3vLFj;~rY=dE~YXP?VhYdZH-V^$U&+pE}PwDo!X|K%MK4V4%g(VB{i76>X7TPGuE<{=L z#5|2t3=BCAe*)KAqry%Q?LsU~Z;Ec8^Ogx}qI#)Sl(ywGuT68M>X$)2^zlp`IKpxr zBz?%Ao}MoD*>oQECvF>-J6jb#5B#twuHKoUY5@R39MxIu>hBDrYK`H+KS(;FU3$Zd zaJceX`!rn|T5)xB)fiISkCQ26;To`;Jph%@?J7ZqoxwsPc9!39TW;>d?d=PJ({np7 z_R2I~bJg$@SdW3eIX*rw)_@YJ^JQ6PBRUf1iKqZ%K5O8Z$KA*s!g*ga2&Z4rsm;ix zu=a&P#%IeI1sAoVK+G&N!P5`HFczgj-*1h#A^$m28Ar|HsA7(b45uL)7seRveL zkLTQMj9;N{WQ62;l>jDsA1c&E5}eD|v$dVxpoSIffiyzXbHn?XV=?`eXOg{2qGR2@ zHNHP1O?F5yZ=6g;4lRG%7u?a?>DFtKX_r?n7rFZ7(TQnrfqSmsa#YF`l!${y4T)C8 zfoU=;>oZ8ML~A}rHo9JtiBwIm?;KB&_Ix|87RTeK;I)lG57v~<80t6_hm_`T+}k=T z5RQF$6m!?sSc@w3;A#)MI zMUDUUh1ott)e!vzW`YyE%)vpvogW}|SKiWLJCH$;qyIVo3s`D3-v>VU`VaTDjtOxf z2izTJKT>5-HtasQXaT%_yPlkmhETc_{Wbad>b}0@^AEd5MtGW#So$rI)4}laIasnd ziq1`pDue_4S|PDobbKUCF7;{yyuu!?!Frn3&HJ_ei8?-tP&nPdXrP5NUuH0U6b8o0 z^(lr=Zh7`V5vy#~rvPw8eAGpCKc$MQnBFEM=j7Jd6vY_cmch-O);wykg5ic@WuK~= z-3wPtHs7IXJQLjf2|m=Gh{$3s@^9C7Da)UKOqKBBoUFLITwx;yw!D6VOJc~K^_+&c zO{SsPfQ|vTm5nv0kdXWVSb1|(du)V=qY63W=#4=cdq#Wjx<=Q}rS{&IU30Wgl#op@$- zIwNmSi9nBXfuCTpdv-~+^3ydtGn3E({A`8jnxJ=g#|V?vH-rN;reeS_E#YFeEta~= zd)^~0QtJ#I{j+92-tEcD)81Pv=eWEzrtS15@{-O8XlzCZ=*$mr)YRxb>foBo%ZfJN zo?e*goUfqb=*b_MKR(CdZ$spBYoST)F-^_JvsYK!S5B`BLiA)~O6~nUi0xUy>djZq_I`5N+M&&R7ZO@HYGN*7U@75l{NQ(dEK-c74CR;mNcx!UH-{_r?@&kvDrqbg~(HW}G zlP`Zrs@8e^&85AH}i0ke9ERdU)ugLPS(osFZwAc&dwv zx6tL~$(p9YrDBy<(|g_s+GWgkOcfhO@u(D+6t~CM#$tbp9OQ^3h2MsILOrHY@JNO; zG!&1=PtcheBqVUQqVyabN(&3G$^b_Gw&Qg`eFFa>1_NWk9iHK1XkmHlGpfeK#lfMW zq}1HS(0M(4HMOX_bD^aMUt?*VB0jcade8B?m>JA4WBM!v#Xhmx{pJG8>#f!&Xq%J^ z(E78>ai*;4R^+&|yP9f{3vQ5MMLdg5sm zP3p*qsgdy{YUT5ussbmV)l=oCw~bb(iNxZ6C<_!1Hy- z6wIrm#}V#tw2O3d#dfk{8xBs`+>A~+r6C}wYUrF?{8hts<5cW`U0M$(!alsKw3jOX z;0d@7&ok{SmDdeDON%$eA+SH8qvMVk>`C^HFAy0)J{mOKGV%JMiAyJ z)x#xl@ukpFzfS}D3$hcEOXdaf0GCVdb}-APc329L%U?PPE7ex=HjS}0ElU+oY%rj# zr9pTThuhGF>38uOP;-4627Q(I8pfbejkco9`kjE;1hnUeGaK+BYW~1&;Zl zYJQEqPRROb5~ptS)rsW!Mv~gZQ@yG=H&~`Vy3rt{t*4iH_OkAjM-5^4UHxTNdDhb% zRj`%En0%I@y%CsV7|x`f`=dg$Q%8T`+ZW1K% zH6K_;JdXH}cHFhxTN9_a^*l5~k)1u=QUPJ$?rLFJ8ZG8c{M0C-xnm5$GeZXU2D|K> zI{I;wO6&0-+<+qE12@*Jp?!^)M$78C8ff=K#YOVS(m=?_6vThHY)r-^`8GEfTQ;2r zeBFg&m>jcv@gccG_Q}FrB<}go$POH^=y1Ms^z_ALt{5KfSMsDF%6HapcP*^)z08A@ z)u)7d$Q^%t_~RWCGsrJUVwyl@-v~P!Vl0cKP|0o#?$1h8m~MhfmVM146atufj$in> z0?-)t^FLPpbpA=szpDc*MoD$Fw7{Y~zLU4RVYENk$+`y|0e~qYyB{zndi=fRmAyxu z_!_c+SI3m+{q@2xjrlY7M&fmHaxB3T;pv}O`DsW z+X`$x^)DUeljG**uBsLL&Mo~IxZQ9T$muIDXC^Mvb~|d`>v#< zL_dFi8MP8Qd`4x@f6-H5 za-5eh|BF_GU}gP^xa#w3p@69WyG8H4E}X_%x#tk5lV)<}2qa(M3r&BmxX5oP1LNM zimtbJcQ;B|8d}VD3EcI83gJ;LRL;Tw!r^8{+7|W{|S@?xJKiUOmsA(+r|6)I&asO(p|HP_4BJ97N5lFT}llu7a z!I3Y&n*)B=G+S_A9OX}$9$1}oYQMHG@R}K8)9qEbRO;)>2 z3ky5`Uz-MG?BY`7Gpg>cb>+a{Rd{#nNLg}nGAWet;8kpg>1M zqu@??CGekB`KU1cecA>S(A~SY{|ypJVj&|tdH0v^SlIe0gip(ql;LnV*0OJXd;%XU zva%E+4(;2h3;SCK5EvB-72Efpe|x%e=Y;s;ebSl}4nLM_SfZ4V#M>4=4>(N93GLcI zYja6RNDm-+#m3i=5{t&LQv{!l4~(&34Jk>=!OD)Pr)eQ2(vT@MtZ>CHu7Gp-hBbcG z8R{u{V99La+{Bg*oH_FlzF3f~oG~&J10(&J6>t4{d+db&XIW~Kw8+TQfbzVU>}mcH zq$BnnryITHzVl~=u#Uy);{r_ zN+CPRb>{6Arf^AomIHFrdKiXD8Yr|1iRCrR15;b}t5;0@svm?+y|8S#W;LeyRm)GW z-RpY^YD@Cp*#tb-xq?v=u}WfB!ojiJi;CP0o+HGa_3%&Aq{|i-U4({Rqx@E$k4`N$ zGWII-R;MK_bxBbmnx@-5IvHIdWQ_hbBA!&_4UQ$D(Px*PzFAqLQ z`h#WU6uH#K15%P1`+;IbaM`F~rF*WIw|CHb`Ev8+HQXT7?!#jWuW3Z)YLL{{jTGV* zhSKej@F#tkyN8EeODuQAc$iqRRSOl!C0m0IV-Q;{2=|?R=3BEp2MwPp5*l)pVNMKR zr^)wMLLZ)S2c_dD>#4+N^0Zc_DCfc6&-&z`L1cZ(?YeFcU z5PMdj@M%(N+qT!TA@Bu40}b9fUg0XZl_Ni>2Io84nk+F$%60J}9PCX=TwQftX))VD z(^#~MEmT>sCXl4&nUa~}H{h9U1H5+19(VfbYLKz*O+M0=H32MS#u_Kvp4%Xa+Y5}t z4NML}EiS_qZjinOVAG^h^=i*_?`KP@3SC zD_36UgETnWAWL3){^RSwJJ?w>BkK6C2>G+1Rvt5ELLYa|4_E5w=?T4-0>_%|y0djY zY&(rNgmPZG^ckC(B3Xq>6tp`Ne6twRnGsM%y9BYbBeBw#F3~J)410{`VmmWuqP5gI zz)|owwY9b11Wt~7E!9&4+BA()P56cx9vug$BY`dYZLqq#2+;8QqTt^c+EVCfa+>a) ztAIoe6&lInM~Q1)Omampj_Vma1%hs50t2cB2fr)UdW?X9o@;DntRf#o){*XxGC9cqX>Y+W5D?q@_VhvI_k4n;^zi z=;Pj7DPlw3n9nYNO$0jv&Mo;UDLn-j4P%S;^bQWb0p;k#nfa9iD}T&L1bLocYpF}< z1O^6rZBE3wkp`f&RCkmxvL4xINZ$_h^`$z9V;H`@{QxX3-N4NtGj&IKyFgd~5KvfP z-q+8(y>IaezcvGU0u9yYS42NqqgRvMv^+~qJu~Ej(gD;l6}MsZl(qRWYE#d#MO>j( zOR;S?XWMh3@0!^`0E9Wbeu~=-d180L{zf~LsG{tAR$*}ZZ0;n;K+RR4-q#SWL zZFG=~hC=HQUmh*L^`=bbMW;qhK=$r56Uxzbg6H9KAsYh7AiV}aDJLr#sM5M#radW9!n+htAaoB5h?+CvZ5MTPb*KAnQo2E+mU6yz zAp6E!DReW{F1XqLprK<{j*hq5+S*q8@1Nr|1+Ury6k(AwV`vA(3kVBmJ$?H0qrl0i zQpYjrws<~^jV&eO{`+5E-4ApEgN!ZiRO@s>NeFGlFA%)u%Q3}XYtyWy$0+Z>JJx#5 z^390&Uay@^Ov&xqhfZciZZo=ynodqj8V(F$+BPnnx6cnULF(avkxC+z9fFYli zHp4Q9BsHmR*IeUrO>p@^N<~G5Ynxy%YbAuHk)$=BSi+~8E~aQZILt3rP;72)Hn+BF z1D!b!`*zCr8w+E{Dz4>`dL*~;=_&~C=9E;N+cH_oM5fQ(gXsbZj1$$I1G!X zr_p;FWk3&_fx9A}bU1xx&D0Pwle@?4?wo ze{W;E7+l#4RCwT>Q|dLaMct)cL>{D#BK_)6fo1o_6{U0oY>IT#Z_FuJ=HlY&BB20j zmM1A7$qWJKeHUzkB~4VU_={xwH4CASo-Dp2?hx9B%3V|q4HFH@ozr0xF?x~1tSa}@ zKKO}mEq-XAvB=KOZUsWL0(hY6kVyUO4`7DI0^VN*D>5jtjcG!mglK7LCqGiE3y`iKQiVdH&L?JR1a*@^qT0!= z6_gOTjaL9DyY)yFY_eh|k00P43zD3K(e?Zd@gJj`cYU<`8wCfcb|3eK?)~4>|6~A2 qtpDl3|71WSGykUt|DR+qN8I*hW2XA^y_Hu^6AS@Z3QIdoC{C6Xf@-IOSMNu321M zs{3{yy%5^l=w?gx(PGV$SXl`hmf*Vy?Q9;oy zHtu@u;zc)eowatmE_@I(`b>hM{LW;7=;^)h`#eY4?g}G!iuz8E%1<=iFLEE5nDS|p z@mY`W$FH^fTrM?!|B)+Fb~$d8{90PR={T+gzt%=;y_h}o)2@S2Uh`&t^16Ls*5a9; zxYl{kUitl}J$&=Fe*fvp&PB(*|FppJ|2_~a@qcSL6Au3uHs7=2|1xD}9sYk%93s69 z0%O)tbGFwOEeN&_Xe5gW40ESOOz<2Rzz4A1xw!a^{ugp@Ss;j zB#{4@x61fQMMTGIUgZFDgYmDgd7a1Y=bdDF>^;T&@czzv$@8u6y##|O+j55c8jbu# zG)Fjs?XOQ9q^OHE~$?&Y1AEy~694Mm*(S^n3_5hnF=W5AiQ`mXGK zDk=$XqkX{&F3--}+dGdBHG595T-jCn_;K!+cWbDLqrq?9yoqz}Z_4U?c#gW=mkCT&moR%@)WI6UYw0KK*=L^wnhVp%G+$b{- zGI_+b%|5KFt4o>w#>JJ!J#TBIx2~REcfEBAC8HyItUW~1W86V;@cnu|d8foPAMZW* zdHsRjVVX>c+&NiRTE$TVgLuQwHP;=*i{kR^K!mWW!^+z!hFFCyHtcc97^je zLNl5@jiehLbV8Kc9~}-E?oBP}?x%6wE>C><@?|H!;c$eK31@ng;W$_zVqM_3fvh2q z;_#8X0Rd^2Mz5-tNH;`kMIEsG{OW43oa19bm)4(6?B1@xx>bA|XmK_i_>w!?RN>a2 zyQ;K#u3HH6l&|7se|(`h!?>q9se&xOilB?|CYGgoszpgPt}t=Q8mZ1Nx5TUG@G3;= zXe#Pny?WJkav-1CD$Aqv?KoM3PnUUZ{qwDFtd=+vryjJ;FFMH7HNMJs+0A*0A3mrF zxU}90-f8K#dGlt6v9_R|r}=^vy80$D-@aW4b8d2x>(3dw)c8^AscoZNqeI1E`53Pa zsurPk*QBUT{MBy_xx5S>UT)-iv2$QxfNAn5C&yS-Rh2U6j$N;6a_bjUmFr1Nt&G_bHah+n_CWPL7ggb{%bW)-^K9)(MxFl9KwwSU4h8lj}C>+8Q#5x{yJYx7Y0*ZVNJ#I@|NkdkvOWK~VFSl63ve78&yS z8cJiQla4*zBVkcoXFg7-}2Zf;qH6#kZ?M3K6ad`zkn7^`gHu6#L{CSesj=fLwH_OTz+`oT6 zYjUu#jqTbamd#R-&O1S2OpSz)OK|Kg-92Bx;WlR)JAJnH$qBWC2ag;$aE+{}q;+*# zRuWP(NLb8>p4h|^a{qeq8m~}tbhK~`zCVRFmEg&l8s+Y(%XaSP_U$sdo>cP`yIG<% zkx1*jP1Oi`*WS|An4RIHG=A1&yeqcex!Hr{be_jVcVPN=6crUF7ka~jP(rpHQX-DFjJ>r&aM6yK;cR(g#?rIt#(QHJf! zTeoyHG<<9`+XA`!C&;EuejDg6kGb`wrKKuLh4*l%j214)n@$Zfandq24!y=B@Ho@H zL+aQ@X=#0QfJbu9eZ6LV@v-4nPa5jet!K7JR8$pJF>AP7eT{(NQ7x?p`){qZ9BMCO zdWa=w_sN-`KHZ5oJl4+{l>PF@`fhe7^SNErqeJ%}7Kh1iQBpF^?$65(_ZX>TDQTYK zb1PB!`eF{BoI~6%%a&C=*gKzv%D{Hrw^MR{^P~EkN9yw_TzI0Fcx;_zVFQ&jO5?;@Ry-0F z5mB+Tvl~Z05T?+YTba`tMI5x3Aaes(GzLrl-6CoCWgl67A=>2A>SPn?W8;%?NmN_PP{{6ZSA3kW4efnwj!|Otx&)@c> zrX%J%Z-|7KBI@{-r?`)g_BTh)52P@Ir6|E#>2tU8dxU7E6S5!UrV0*^ujg6TTsz3!gD-+(V|6s9*VQL&T1}y z;f@BctzrL^H$gx|~(^T3-2r13jiXL>EK;cFwCPi*)xT1QK((qhMy6HmHw(Q;=$chd*M3s^5 z@?a&8EYh>wzn$ZhK41y(qpcrZw((GDXIYeEf9~kxz1MjNr0|?#>vMKwW@hq9S_P25 zn0T3T*(GiTaa z5evbm?3p9z+PTgIr~%dK?2$=p?|7Y9tKrTvzgC(+tY*YE)nI9AxQ1MpFezuwjgCQm zIYS!W{Ich>{h!rTS9b%jl$pA*R-ALwkZ0|b_0dUjenl#0YwKwfr#ka2&h&(&P3`X{ zv?=y@hcc(j?9rn~2UPg&uH;P)s+(N+e03ZRJHftKR;4gVocdL1dbmQL{rJl8c<^XPA*T5g@9w6NQ~~{_fqoa>J#2 z*+{bPON+OaO4b-hX)2BF(>HZ7zw9_M-jgDE;p=h5Z=Ws~<#DSAZY_Jb|CR$O-pPSncx5$I_oOVD$1zF?_rM`#p@z16E%i`7eq*}YpWH{KcLSZ5wI zc58w$Ie5!9t83%o`#bgnghT_}l4=Hw5c~4t2+;8ZKR-WiMP8$a`YEQa$k;VvUu}x) z_yz1gZXX|IaFVv4de;d&Rq^8D9LKjS^gEvwZd?4#CBl7B6$M4tB+H=;@tg!4b0nYN z{!o;eZ78}2O4hksLT9PZ`UfponLMv)l+?2=DxbRx-9g9;S$=k z4v@(BV4?Vi^gjE@?Yzp9Ph8pEF|?^3vn;IA-LSBvpQgkPpU0<9FE2X+f2jKv%XaY7xQ%%C7nPLM)IL3xo-gQjwm!|0BohhW zwvLV-a?>?U?4FvQ%e+cwzt#iL9r9`E94b-f?UbCybv*VQSLG0PNZv1$nm6{2#*9|= z=T|K*l5RGp)*)glR!i9&%Vi47N;jOl%o$x{`~2md)=-CXRd%2ehLdG0RNN0^RXC5tEwW=f0AoU%i7q$BHX>)Vgv9Ymf zCU!w2zhyusHp0_2m)%>HpnthzFzIzQwmVeSf1_kw@`^2b->5xR2|?=%#t^ep87Mks zH*VdspC0f<=gt25YOz4!vrr+=Z!c*^o}PLBckYyZ+PTbyrFn}dGsKTQiF`?~yH{iCR&=Lza-x}I>m(~=wg$t=XGYSaNAK!roT)IBwOCwO z(>Qf%(wnk{nP)LQUc-<>b*9jlFqMjdN5g7sk9D9aIp>(B&@$%>xtHE)RbW@@u){U| zh8pZk#;6I&$xc}gU0?nbQufU5X-?1=pLx9$rM}gsKCNJ^D>fqZ#xfB(ztF|vIi+@? zV*L}9l}9aF-g&d9^I|4|>J>!RuYbK-(KSuS#Dvugyr)qTt{C>^%Sq0TTdTyKgk_Ou z=W;t_+V7nTZOV14VOAS;7l=d*GpH)wd~L?4%OzI>`{pn(SaQ>{DQhsu-Eqxu%QcNv@f9ov>cEGinUp-;T4<2x z?vl%_NiymzuF&4G9BJkZgQ-4NNqCvz?m zFRB6@4|8e1-(8aufp#IlX%JGL{uULu)!?DOrjh|E3N?9{4Xz8i#wksIJH=T&R$fto zT{W`=9F>1Ea#3AVQ{TnK<%NCvH`g7MMrLA+`(B=mzJ<4M-~PlfH8gx&6e4Z??d#|1 zbuNCG2sWzDOlDeIWxe+NPPHdc>IXP^nCL|%C960}=lE3sHp-scwY17;%BqSOi&U< z#;CWz7a&NYpFP{*FBcSbI%f!P=Gm_5wo74gEkDfn279vfp{^RHMY3^f#2d=M`&d->#m3Jp2!w5q~LPDY^ z?CbH7-a7QZ3c$x678SVZ5h@qQ!p@qWfXXsX6GCVqNC+AtH#*Jqs4+_AZ3ut z-gP4puQ0#8x8rB`H#3@)t1%#tPmMMkDeQjIAK4cZWLi$TG~x|INimJ{ST{j9{$|t}%0Lu*(+}6FVFqAOGRw$Kh4-?kQRkN*)dXTwSOkM`AU? z9Nzq_(g{|A8Z|$H=_Z77t%}Wd1%%`~-6Fqqh_WVcw2(f((mS`t=!5>!y73puvI%-g z+MMaB9)VJ|LEf%G3N6X8N>^VL>;W0PNKFB_pk=>47*gMU>eQ*K3~Dnsr5mK%<(l7b zdoT&kaT#j2oSqyTNApZ~89D=)Vb7+^#(!4&z0{-P&5dP_7^J&;QW(`30Fy9|roC(q z15Oynh%)J`=r&?g1*o1@pZxo^J>kgHe^Hs{LZ#*5;mmX3!Y_g-;jBOwnEx5{t<#r^y32TnqK% z*|TSSz4jO!yUn+>q=u%S!GX6@SegEe)q30r&E{utdZ8p?#oKhkZoJ;0s3h0 zg2Hr@E>>SNx5?CKDA!3O^xP%F+hD-hkJ1y~m)RjWL#?5ENILZ%Q!QfHCV4aiymf)~ zs3gmd>ro-u4l>4)Y*LZN(!LPqxR|%slf;alA1M#KbV5t(4w*aA^c&rWico&FFlpy; zrrk^sIny;-eq@5cSYnWpI}!|9PtnAoY=2gZk33<;#@*(qF=;~I1cxehG^_y{yg$vbvO zV;^m@3n|&WKOF^9q|F`xoqd>2k>13w5h_!r?A!z@Lc9osAgR1ODhWT%Bz;i!LR4G;KKbblo#^GP_BhEnQ0n z=?}%ldNwwRq?}HnPA6yhS}trJ$v*da4=L=^Ow_rl{xVQ&l@n{2bY!t^idRNDh4I`f z{t-Q4q+z~PdJ#J9KCn|2f3B8r07qv1?$6aXy}c>JAK&Jc{L*Z(nTzY?zFCVG_=Se@ z%lbqiw9mfqnnfAB2O^ZL=1!~1O=MP_8C-=nKfN&Ug}YGPFzq02OdBmHe|_t~eM!o34b#$voGpi>C->x%a1h}e>>+md8a z5{`NOYs9Q=ODkeE!3|B{Xalpcmkclnfn@3J=X88?F@afurm0G=G3|-?V*-V@3|+JS zi_~c#mkk^Co2EEt*9~`9sV`o&Euck)ZJPhCsYgr_&2I_6%n=e>eb5A0D=)fXVvC?n zXYStqRyyZ=&jYn25a`j%G!?W&!Y@3uva)hO9qFMnZ7TpelD>WWc7Q3Inew{2p8@m; zD)!<2{;`pz@AFjs$bgK@?)H)IDXIidsPG+1I`qO#sm87kMI~V$i2Z~ z-t1Su46w_|`WT^X26B?^dLq5uEB+j}Q7KtWi&y}5$DNaErJq#R)jNJrhh z{p7%xw^<|g)@)S7uE@(g+Ta(PJVs4cEMLBpxi}$yN?%=Bz3D>B5?y`$9@PGn8u`?i zy`32(X;IO~hNw3X6-D@7=ncnH_g9b9C(o{%-}k=bD|&u1h`mEVR3wCb~iHplC?CQEJyKeK-CI>LDkod2RjJ=H2E&j0bk2~vCtiVlGVGcQpOC?wdn6DIE zn^C{lNvII6$RdZzI=^o}-ZLp+T{d|YJE9Uko$}xs# zF4TnmoGC{~N7qjm=Yv&FgkoefIu@MDnpg|{Ywxw6?zG4(DRynQuRU>H6#v2@l(YG0 ztH0)BKqiD&B~N;M(%ffMqDKrvqv-}Ds8r^RX%c=DV_(uVhGlMFw|dLiE<)N83L-8p z&UI+%yly}k>abJuq;X!j31M4uOsSVsjR}AZMDm?i-DejJL$fn z+qP9>T+VG|TOPt>=h%MVq8l~9a`4Y6re{<5xmOFpQ)aaV8u4v4(%0`WV|| zFCt+MejtP1t};t(D-4o$X@7?vsR4-;91!m}SuU=#*26DmUxKQrLNtNoym6}}<4kSR z6;agEPQG1~JNRLXTt}!q5uh@JYrc{3dD0 zFXr%W5)(^mimoP13{k95Ks8pGINSmCIE-=F8l`o~MsEQrn|tjg5h>`!nt&QQz*pUe z4>9@BKx2pw2-wr}YO(lHl-KYJUly`^>vZPLo0l|AmqipphgA<*fbmtN)s&ZOlc9_-so(^Y0fI?NH@gpclNQQp zi9n>0c-RRJI}FQe2o@cep+$W*_=qHt9~$ebE+D3_Lg&b9H*eZhN_bR3Mc1=ck9A2b zreWo5Mnk@$5vF9d2V3LPwW)sA1&V8jmOO}m{J0z#m%!+rjtE*cgn;f9G#;5xT!c^c z-*~tj!;f&`Gl-SL-1EJN47Ba}r`a>h?KNu-k|`E!wP5kfneECwBj6M{yV%gzSt?tED1P)q2X}%$e@)gp_KM)r4)lcgm*>3=@&hEm7hv2X{&S zYWR#=580(yan#tGPf~4_@wtn_T}0{yDYMgM@HEl3*scs@uU2>M)2K5g;YrwWL|nql zAs>EOZKwiePS;fl$katF?X+!>fvORQahQA)X(jgAHxwqYx`9xFZW z=MsT&Nx<&S&t%M;9*W?ct&G!>gM2+4!I@Mc^fI)L(@Z+iR$OIwvSmxlOZWuO7QMvMtE)`oh^&Td)(JSRM+8PjK714ePOaHPAcP_{cRicdlRRP25ZmLl}?>+A9$gf-9x zL*@IPzeW$3ZaH|qI>oHH*SfsH+QitnH##P!$}NwupR%aqx zodnsbnd=EwT!w^+zn|Y1;SC#P$tP zU8)${*a@5^7id0a)&c&qKo){a81|ZQm0fkIu@a8mM@7WNQ|fA7*zsEcrfN7iq)DI- zxMpYu?<}~}$`IbTQ4V^z6O@F0LJG4rmh=w+&&blo3e7^H>&9Z@D!!|4+NI2zK)zsc zLs9bOi6H9l@89w!KVKf&K{1L>C`v?)+g8N61##0a^)PTa4P!lU{=BMI~B7FJh6!3L}+I1EIQ1K!8PV z8IfxbO(>n4qKK*-3gJx_3{5da*ZNLNR))v)JNjKpvxKkGc%1#$m-8o@qku$;(QZF4 zU$shlLdK^>hF9rZqy#1bk&PSQbv0zB+GDVigO`FGxO)4^D-vKExG7<+1~p@{6&3k)#GvC)ZqET|G=)Jh!r|Iw@q?vSls9 z{msqzLO0OjJz^QGiN?{UhViLx86OfOve-yFD0-p51x&)iuW7XKAu9W{ixG5>l=TG+ zsx?r8Ld(HH2BW9DJJhW&Gk^8Yv$vP6S<^#S5k!R}skxkHRE|$FVw|lm@N0yjVi%EX zgAB|fcT^0QNqQqCN|pp2DnE-K@~Z}jN3t6zGX=63s=|O--oz&++I*EJ^sNLGIYRB@ zw(Oi59rZgfPCHa58R=6q1?rN6>rMHX(sT!*Z?Nmg0$AC>VZ9^*T&i&Xe7*LifP46Nt_sByxz zhiBC{f(m*}IOv|56l&@El(e*?2vwp5V?>x-o4#~G9(L_8K_!IK#5kGratalvg6K0K z8(3dee+86T3@7ZB0FVZ*oJ}1a9Ry_HqH}jrn{w9Dx8@|8<{Hl7{;3pwDFtfM@3lp< z>S0T|3loZVdPrGvM{>Cr_QaT)JoNPJT2M!dj&xHn{f=TU%QbqJxGK zKjXit+{4Ay4cG44Xz)IQe6r`Gxp@U=oIl{dD*>;G09+%#Opwclf?R-7ooDLWwILUl zh;jT6QJv;y8|-@T^7-njVSINFnTGIn&8-b*xwx+I!RNc@1DUIHk@SYyPDy}s$fp=+ zNe_xNw0K?|Lh*WVz?&}yFzdcBY6A;A(ws5!cdNdzVI{aG*fTK8oaOA+G@FS(1x~Q!v>7`BSIy!cBx-s8!W*1Kny9+F%}(Ty|Lr3 zs;Ux|lM6l(!oBuC-?($J3tic#1-`O5K0p8dEXg~I=0{s3ezy%YQ?GYCALJjLDdig5D*A6cgcDcpGwd$^;0e$h-O%HGO`<53;Z2>k}~LZ zL)tI)?BdVYGB@8~lK77=z7ikq(!N>%LWGzhJ!am*%9>OQ%@r$F%*$T=^X2ag3rAMh zNy>u%vBkKhgILpXc8|&`>wjEpnO=8y_oc?UX-^5vi;MEnhL%;8ZmmBBuR^>t2L_lG zD5IQQ;?~5-Lbwsf-de37GtW$hj3==@M*C}&lZF`(uv`G7p&>M04wVLIP5#zh`rtAl z-vPU-Y0c8j?olY;gkL73VAI1(6VMPGQPr)9JxoKR8b$^pAMNFl-G>(udj=u33zbpA zyO|j&5HE<=4)bg+tr>Mc1|+v*SNVR_^kcalqL>CyfD%y@*es?#5lRY88}uT*u97f- zz=9CJ^tTXS{g7Yfaa`?K(8_l3%o*sWret(Nl}Z8OV*oPpEvUk(6fWa`1zrEUL=OBoh7J9aG2UqeonFlIobf*!+K z91ke3L|X_54^IaARtHdyA2lZS9GS=;fm-q}S5-wdN!?(Rc-1JM$d zhTGZ%(-&mUYG}pJ8yRkJ(Xe5~?7^m#LH>^dM_f-MxYVKAz(Q0Rr5$jI@PF!lXcT19 zBM!j&9G6re5;*}Beh`w{$Xp-g=?h_K!(<35eXy4etd!B&7Aj%kLv9J&-cf2UJJ3hA z{Z~b}c0LppRgsQnka|YdkFeQBwwe2333#NJY#a|KC;1Y;=&OrYb^EDrD+6$dCNYK% zoixfH8|D;DXc*#&0`#p06~<~-sy7@SSv89eeGLM~(f+1fS@}O^{V0}y6|Z%VpJ|V$ zu1(VsGugahqpkB(0PZdbZ@R9oSuoJ8oZ7|$^;ZC}s7*u0wNdwOcXOTYf6l*99?AstB(gQ=y?N$xJJk%Wl z*Ukrgz$%2L4zbNrT_a^v+Fg~94p%BsI$<^o5XQ$HAagg|vWateWOnf?4&Nr;M=a5q zd{YKp&q#F2q9lx?uxe`UTd9Z%eKU_3jO)ZH1e%@rwx67MJq)|&&IxBS_(L)OO_f-k z*x+ugJ_LyRMU#((#U@QSLj_|@7HMKcNQN3;1^ey>Re~ODbJ==C%YC+09iCM=aQ7Qj z$&}d#Y_&3}on%~Cn3yUbU?oh1iSY5M%@9;Xg7b?egBZY$50Kz*1!A>*$aGgklB7j3 zKM5Q%PYJ6M*8CCiN*RKuA}dZhJ>1e|k-INDzpy!ETH`V?J8-F6BqVgUZ{H4U!89RWVN5djYq+!@Blg|fw+_0~@`lu(oO0NIFe%ko62N%x!@ zUzsj`WcYi}u(XT^(EoPr0~f&*f2GNpbtOyh-u^V=W98dnc@dMcF#(V0JLU#~=rqtW zgsZk}Of<=^Zq|v3!QBPixies4-!QUM?`$nf0~+j_<$MqlH>rBB2#oO+J z^?dc}l~WyUP;$=fFET!h7B9ZP{>9RN+_tkKShvYue;1t~~e0ytE4+g~{4vVzsx>SoE z_%`lPn487Ks>ndOk+nk?vwxHO&|zW;#U3PZ^YF)s=Y2bwO>>4p|17*2^*B|r({=bP zk>{r;h`A8e?GR?BaTKa4dsWCIUEr?DG3G=P1kl&Wq|q7hA{9YA=T-RXCFj%|M`{Ul z{9Pf*J%l(SPJO~=6Gt9MB*H-Xr4i3Ewy44`UmzCVA?XW!_a!W>V8|c{1R|{i!YK}a zVg*mho|x3#3!7u#B3q&JAJBcSV+ z3keCmSt&Jh(g8h7AFMCw$;7P>8}c1u#sqiX3H@eJT;95RYvcJsF)|P#52LV-6Cygz z)rfF{PcSQtQB$|7Bk2Zs5BI_v&yj_-*8#+V6{K@wh9C?>L_>CB;vsT8frKQe!n3`# zPf@N@cG9NZRr`*lB_wC5-C8Mzn&QVJ+q#rC%beM}Gb}0z@0^pCGlb-wc%D?M5 z>9&~R))==Jhpp*-#9AJDb?L096e9>yYMPoIdz=1V<1~A1$Uzh^#e5A-U@gO>KFeQ< z%2WVZ_)dzJM=YsDLJ|Q_uOE2fRDH!}0ngv|L&WJ3G7-c;;>)XFRxJJ1_4vBAm|KuH zyiO9O2mX#dxRwfbUcBm6OHYD<$6X&YkD_EF1hp9xc9v@ z&ssaY{mN33ccj!j3ArfsUy~b3_*}2AyLh+GeM6_fE^}vF^|imxezSL7i2QzJc9+EW zSz=8tb+EM{i(PHR%-l~&$#iT87VWw9_4U#{bKf9`w`|!`TeNG<-v=P_IrC@cGE_wb z>;KF6aO}{bLr+4yr2bwae%kG`UiWD4&*$4qD}6II4$)z0>@|asqsbpM9m6VYEcC%w7VT(MyELksmo+Ui$Huvx%f% zjZ}XO-qZ-Z9()*2!(kp}(N7hJ$`VTgni5e~I*DpRgeM$U>-L(%Qwk3d5!K1D9U_1c zs)bA~#DniR@OD+teT(q2S63I4rbk{gb5V}nm98ar(Df{_`i7}z$c+Ag3|RpCu~0xV zUYMPV^e&yVm?Rt8y2Dece`KeaBjE6sAMgmMktm4c{qi^nmyUiSienTQ?^2;ph~?Yu zgyTlQt@o)MDiV*l zAypxqm(=&By0WeC526wh6||6=o+{DU(DH{Pv*Z_pVIYaSem%&ge1Dx9hxte)E(`dN` zFREuI8A&IZ=GJp2FujoDQ-A*XlOwBM7wze6+7!y5K8||&X#@ODQU@W+tP!!0RF_JNc zV|Z+i2>=|il=grP)!o1UDrk;jpsF6En{_IER?==@pQl^ZG0GqP@(;pgpE@~(NC1Ze z==qr=4=1h*v@`n2p$K9x!2zj+Cr^$5QTq!o5mY!v+;_yJPtNaQeQH(+{IKj9bg8oGAvo}b?@z&`O{zd)J1wB;cj*>U+`IiCb*uh5Aq zV>N}|=I76UdX>wGUTxD)<_7E`>Y?$!sEz)@)tzFy?ggoas({?MH06Aw4mgtIk5~~Pt3Xo zV5I0ed<1q`kdfq4YI@ia-8-Po*A~6x`R#A)>a{=!zNK7_i0iRkUScjxt%{)07T3gz3u^SAB_*)i0*#s9050k!

>8vJOgTA+;+4(KoS|*ZXGR>o+Vt51^)bo9`Q%tqpa{}(HbL{$!-6ytT zV^&bw&Vru1A3iiNSmpb1G$2=OTd~-mI495)6x^+Jomy8M)=00Z&YDLbcCc(YFq#*z zeAL1+enMi4`sU4kR#puUjSpN)J8{{~?EJHAr41YU`tRTGV|QC+EUk(6SLmtEER2qR zp0Q$8cA-=6rn^Dvy1IQ+Ve;xOE`1)Vs(tn=R%9|PP9MB`x9{z<21gS{lgHs@%NlFq zB43!$_s$<3+p@W#IorvRY0cE$b1B>1GtbS;HEV(|Ac$%}kKWf^ArhIfM|fcfYnj*# z$m3ezL6Q&WB8Yb#MEI5uk>NadZeoe_TzL3|SFBW%ZrTK?apj&I)A(fD!nZw*+G|C( z*wX?7t2vFMsn0K{ud{ZObGV)59OOD&JD6%DJ!)a~*r;{kEYMguv_eR;y~>&q!F-lM zCYKs--d?W96rtZDP44@)kh*8buR^C3whWZMtp}bCeDcA*bZy4<(vSDGoko0=O-;fk zE`&&DD_-H7$UN~n&{XxXsz%`W$ldW#XIgvfbLC~roO8TqElN=EP!NPg`FO@}!dK11 z&;CNT|KIU=uYZo<86ejyy5VB1?Nz^&mDy@0YlH=xB_|#-%+N5**85Q8NE`QT#-?&Q zA{uY`nrAAepFdAG=3a9CI*WDs#NF7|m0V@fPYRb6k^F>Sq4a~Fr`xRlQA0{r9@Gfr z{^^`J^YP>Jiwz0`s~9#-y-j&eNf=X&0!uzRTrXU*`pY!GOljD%1aAO$5DeFAmcA+q zX_TdxaxuT7bAs8|UE%T?=?IyF21#GN=efj+mDS>B#SDHEGwUlZOHaS|t8?e)(g(J? ztuq=Me$y8|!LyZX*Wz>h^CKn6Nbpyd?ojcXp)51~9Xi*tax>fp;u8Z_iurj?=^8#S zoiaGK3CE+|?kh4)lJ&($`>!qWAF1CGxz5R_B@Socz*(dg~0&65w*)^wUmgnE6KjiTC4E;m8D#z)7(q^7A=Y{i)u8L zFDqLjuBByrQDnn@SR35L$F?CQ?$6rm@~W|1yKAC9ra#X=Z%WTFH*0$8=~LTTy)Wi8 zs>>f*#Hhf4!&N$)KY!NQC1l51WC*|P?yi7M+ZBFhVS>UavxId&ZN0^BXg$~CXIo&YPM8W z+h&^TZh+^#t&L5quI3(b9~jUc?dywC;f*KRr>Mu^ zjbV0;wj)jvY3sz?S>O0MFuPx{{`E!*Q$TPL*Di^_ZWt=1sVO-$|6RTN#mNN&*r~k> zj2=IFCyf6I8g^wq|zjUzYCkTEuO%8rElCd|lmiZzH(fRqe{ z2Mvq4NO@bBtx%H^q^5R>$(^E)QZ05S$ygMJ``ey5ifR=ZyX< zHB36CE!i}wFGQ+fXnLajx=@y4vHP>s#y!=YWqs@;+mG);4*0#Yo!FQ9Uz-fe^3(Nu z7dT6$)Ud)J0R~>G_S;}vMlmWVuw7TEUs~^|Kf3h>B?=Pn#j zJhE@XYL$+amw%KA`3)x-zsT_HvOe;kG%64gC>!fNZLI~?NVOZ2>g1(GS6vAP72zNCP+``Xfkt2aQt?JWl+{X^Yb#lQ5=yPmNh4M1$vw8T6Gx z{Tg{nHus?V^cfq9z0b$0wY3qpyQst9$lBZ?9|#0}M-E0@oP(7+ah)~klI_0fxTI(= zU32Gumwm3K{P2PZaa-KXQRvFW%A-kM0Gxn|*1$-&pxv*#tz`35bR<-E!W zSYM_39kL$oIr3@eCNE^frAxfc&$h6i%N4o$KQbF<{`CwE`F><}w!&+>1t%i;RSfeQ z1lqxpmisEJtyp2y=j-k0c1GYrq(kX$?N|+?sV<(MEJZi_HF?yKFv)BiQ5+4>kl8Kw ziOV_el+i73N0D@uIVUna9vTo-WJCMw8!1f4PJ}{+-1%dt7S2ngR8?p7Ox0QR?dvt- z9rK4@hDYuopOUdte^dRF6PKZDG>j_<>__(!9RgDyrROdxL-9EjRd{9yT1d z?#kgs*{tt<#$ux7dsxionw#HV)Hiwf&IdcN+Yz4Krk+#j(^Imt<(*~a53Z}3WcPg= zqBLwOy1yQ(-%-8xrohmx0``B(=R6TB7CeY&nf*r*1lzfJGvold<|C^?8IepitbADT zas2_$>A-MiH<>+#`rXYL+P5ea>WL3e$g<` zEF&4~q+tiqE!O$<7IFV0!lK_=yxnt*G+&eOJ2F?E#Hgv8iyw;&&S=tZpfU;uJ&vmE zS9R-Wt;F*&YM*|l(ZxIlu410=J3XYd{=h+h5%sBw`P27&Qinut^6LC^8@Rka!O(L& zW37Tsy|BmEi#w^|OzR>M(E_p4-fKjb@THw90hd!g+(puQ|E7YlW1fSjolTPiPcB%; z6*=#(>cyn%9yt<;ku&eX4pOaq2OFO3-n@;+Y0Dlw7h&_}ZF;VT^??dCiFevdoJ)Rx z&Yt^q4mTnb?a3v{(0c5AS7t{vY$Mw5#|zCG_UNfE(iwhXrTte|`%#J&cm5|E2UL4F zf7vuGGqnh=1zzHEc{pL2e(%?XE74(QN-4X8Pv!>dYT z&6K;YECXt=HtR^Yj#(`cooOGFB{xd{d3|)ePE5Gsnr$UZ_xuY^{HU)u?*(mQ*jHjaKp z546N&_xb51E|`3p?QkbK&(O7fHBJ=>r_^}(+*lTqFBAlf-lnZx?{JrlpF*y9%-;cwr_B;+J4gac>(Oy-FQUc{))|h_#a;sbg;X#pT2s{nJs==)@OJi zzdXt}>-Fvpqg(%wu;@Exv}A=7QzUpltQ;jHIKb^yeVo_Z>+PF2bF&wo-8%z*B|wgf zEpREL+>NDP_)N)AEm0PS{TPD?b4$?ZeWg&I9{La!{4P*+4M_<=jN%Q z2<=0E!VO*imt93lfdk^)zH?u3YD_}0Q_-6pVs>QL_! zBJ=zQQTP*x)=hZR9nJfmEKsFWw!jb|zN^W$c zG&ME9K=B~k=ey;m9J(5v8w=_~bd0trev5RQy0Yxvo7~lZes85)M<)D0hRH972Bzwtqsu(0sIm)HL@ zA9Ka3RT)DO!eWQzCTuK=`7J*z7nLlS8x;*X3sKc&^-(a2yawWt5S)=4rp36zP;oAiSI;X`zgS>TzX^C{|p&uTPI_D+Y+ zz_y#W8dG@!@2cvXijq2hy*hIDOG|04wKg-mdYTCMHR+1iP+Mo$kw{Q!+ZUQqI&=I^sZSuOrSp7zb7MIyMhU zJLbkvct_-LM9~W8yK%7LU84UD*>s06ur#3Ma6rf6qul*_I_gYQ*x`vnN?knWXvk3d z&EBd@&L!8BK!W7tWRDswYq4c)f#>IWU9J9YZ{EBg`#j&W`>1S<=@z%D&CX*Y5dk`S z8{1mn3(8kdF?|HqZ;K5~_MdS)-Q_qht1fsGYM7;A#8E!|Vde{K3h2(0oCimYV$T&U zw6?H!t@1x*^P%VeFrE6*m zU%}IpS205ftHKqdQxviHH!?qGWy#gilgMFPIt2u+CC)_oMT05<<~-y_P8VSmIC%cL zQ8LW#e#FcNv&lg}kR*3QLbj-qZVYRgu(RzGRGBNSa!CkC(1AFQ^ZS{wLm%T~dQKCi ze1K}d@yB-H`2@mDI;hZNi8>%T@z>U5Go1TYL^;+ycC6Ek@lctW2QrGYY84D2UsF`@ z1vEu?vvdbKuCxNQLFP>tw!|}r9#7d9C&8OLUPB(-H|;o>o`LBPJbqxSr`e#JFp3!B$r!@qfm74rI!aKp z!Q~%;KE&toC(bWGpsLP3IM}~H5f4#IHVUljW#iD(nH2o=DJ%L+%0xILzDJDW_N1oZ z*;WL}2hNGJul|)C6i$Z2qnYqXWBE-K#q|rlxosBPdfKJCJ35%pMb6m>R^#`{lQo zj=IL+9BNN``m>X#R@@ElHcd&=J!%*{+|hENj$ZjRDltoLze{c(OH_1v#IT@X@Xg!I z8f)vef{y{yHW4CnhU4}InkHcZ_cm#|PX;=&Dpg@?O;Ooj;2+*+roUyo)=lrbvB?@5 zj_K6_cU9@E?d1 zPR7QbczsRPPwCsIImmxl3{rA~uX2F^CeN8t4p`cRdGSP$#hFKL18~lNo-&%SuYE3T z$rP8vozJiC9srf!^8mO|iLMi7v+Sj>U^S#s zA0sDpFakvopE9D7JZ_D+KVZxvW$f;=3vsVBF`eg;gy3hP}cgStZ?GP2Dy)&=RCh~Mf&et zKG&7&Qup5|9*b+pQ2saXVDLX&!!rP%B{hHL$Kx}e?8}WmrTzRrKF&#g@w$(n*sjFM z>yq2_|DmRT8Mr_Ww{a{Te#-3pHn3py@6pQ}{ugfsvAwZgw& zd6F9tsCM}CdMM-t}Vj^ZJ;YIDjM_ijvavGxzVxnv)_6HM8H4t^MBmlj0!E> zj4w>HauW^Pc$W1x<#w6#t9&R4QV_JPeKKNgQHcTETol@=}Uz|wAK^*jK7&D)fr_j#N+<);uc5q(eh+jxgF|8`ozM`oiL`KGA&ycZFl*lIy^c{omVpN+^ml6?bs_0|M6`d10Vb zsRdpdVVva0OFM#vWc64X|6?BZgki&TrbNR%j{;VD3QSvhMfEl z|I5X@H@bhz^a5@|exlCAen!(IS84*06oBcSfup1rGk6#qA z%ddy@#hmZaSK4L`EVla-fxR$R>tnZoFI@Vt@RU~%&p|pCk=786T#fA<`0*Y!qrblZ zS|`Tdy}b~hV3ln9vu@TBSXT-|m7jyr1%%(O;#|%-)0VeDte5kB1%dt|OsQ`)8qfch zBB=c_$m%*ON5=vNRgPQbI())evG0!0;Y*C6Wn~xMAPMQoZPlji;eGae>l|Yf;B6%_ za%Q#hgC6APeRE%2ZCf4h zmZYRNR)@r1Y1(4Y)WCHD5BDs)cygj97mJ?2yv*WVAaW5+z;{zw5z2%yR0UW}P3!`6%D zfWo3_B_HSxu5ub5{ZsT%xXV+nnJZ%Bw04P!LCe2Vue6}2rlFa}HQzQ&qZqVq2Ffq- z`YzMvL4hXh+A}64CC9C(j9%lT_P_yy1^`>=oVas*>*LLO1bm@USbYKwks?q{*bDbe zY0>}w`r^LAf_p03<212URPgzC3o59gv;n(L37NcY)4>V;HIyduF@V}Bj zKvIHLsFx2a!X^W})EkhE{mTtc=%71hdiJcwQYpXLB0ko|%@8y42 zqTjm0!c=nI;|3jcq%<7vy4#U+NX5_94DUVuzjbuL(%mzfap;J+aifOY2m^JlF-}?o z2*3eoO!k*r_)oWtv{tmxS{H9)&~PJP{cT8gaMVy1yAG0dVt9;U*KI{R z#uQUYpG;^34W;Ag4-Qv64rnRDO2 zw=X)Ljg{M6=CiaViE=@g$T8b&3I-Q*SPmFez?f7Y=q)?<`+y)GB(#vo&b&s(Jvs3arUD(ETyY(~(wt!3Lj6XIB3 z0>BW|YJrb>mm9Hrvk;sa7+Ec?H_&>!S?bw#AhFNcdJ}?J>^oSp{pg**0P=+n}r-B*Sb%7kM0iy0~Dt*H?uJ_c_mGrAyKkT&stfbZtoQECa(@C4=TvINMp0>Md}txlYY$^tr- zcQ{lhs#z!WnA7#;aQhsnO^jTb&dFawYR`z)z&=ob`Y9`aQBx<~?9PP6u&YRGCu2tMnw&nZ zV1rKISXb~nHl9+fo&T`D^v9E3Yd{RZrUSHd>q;1eqd5l#bDDFlO&qcTK%uR!r(E^~^4pkGz8s2?8^3?8{s8xQ7;FUUItO17ieXS0p zk6pr3zUZdW|I`QdAe-XAuHV@Lt^f}n6yP=izf}JAW-Z+iFlp-DE%D&YPmhd*U`goI zt}ojun6olWZei1zc;$60*p9y+HUw`w0yx0rU$tG87&OLu&`21Cpv&MPZFRQ{O!jX1CA~MtbCtn+M5f=@)4L0HMKwVX_8*>kG<2SwM zt>`je#Kys;YI9RGJmB1Cnu4lp)mqDX0LYuiLQABm5PgZAQR z$jn0H8{MzL^cUN(oIH+dVjC;g}*SptcrTlN*Qi6p2MpAFR zg7vDE>bpWh08Yv~_47`!17_DuAg=$$@;4UD$Ez2eCt zT)E@&X*_$1ktM=E*PeiXE>%ODEv_mta0m;8L%0aG&eP?~mv=Kfi;U2IS1SbfI3j_}N?%2Tutg17p}49SY--GxwN_2s1oRJ1UH6{r zt-H5w(?x>;B-<`pb?QL|k4p)4S)jfqciZ>1Wj5nirxvFY{-M2_O*G0M)g?Dw!_DyU z5)m1t1t!*9M5JcbQzX@yzW7bi1Z)mhSDCl@<2nEGu2-8M(=} zR_TA~7aTSuRRis9)eY^L{X`@n-Y$w_DA*K8p1UA{its(|yz&upr6LQjHwH<|ZzT4A zbIiy{F0kBSdDb~Z8Emu%i7AmhgYv{X@FVqs#_<{?JOW`%2lR=oEg*!e@d-)wNRJEP z(-5Ktgu4_WS(!Ku+%23)T^nX8d{a&)wGjoZG@QZDpWw<9#%eAe+#je20Nx%V(AOW; zawz)}uc6r89uQq1!+U-_(|J)k)^8H`z%%SJxZ zOo#jp8wW=tLI?+ZK9?bJj>HP(8UqJn}t=0rN|E3oR(Z{70X$(z!JzajGh zGr)K5#~aKDAR@$uEZJE(Z;CtR-EuZ!NlXm#6=Zqh16S4W(+`F7A3&@REQ&4A4-7qb zP#_=amD=6K!<8F)0$yArpv5idF$VDp ziYJq_pD;$^4+~vyDqVjY_VbS6VIF?D(m~@>$OVsleCF}jz!n0eC=9?Dpo?Ka%yZvpdj4zl19?E8QwN8{r(|Vyo)--0pL$$#eko~XKC@tq@3j^0 zR6gy`^Mc<(epiHml?2fnQID zC)M#_Wh@8S`(8OA>{pk78f0C@#s+=D7-(n$q7atvnFu4UKMK!)6F&h_Ey9r)fH1m% zv6c=%4hJZe6w*Hd32Pwo0A4(xK{+9Xko7`X0#14WvkY*X0b(A@!;J7JKx%GKXXwAm z&X(Q|&{h=?1+Es9bfo}eOPmf>tmm4sPy}X!-YMwL-LCqB>Oq76j9unm&u2(pgL^Qb zy$8B|XsD^<(C8m79V({W92~P72SOquCN_+?U^2*tpFYyiy%3QFQ#Pa&V0{~cK-#m` zY;yPRYI0oioe4)Wr(|=ar0j!~l$&#)c?NnLV27Y}WF4voQ4-)ytT(eBY-VL+tBSaC zqHqDN9SccmWZDc6{e4Mnn74$g!umqLxi<~cpbp*>G;?ITya70SzkpuawSw2sj0l}U z{XpC;dh$S*qgztL^guPzun!b0`di=vFn2IZKujlj-%g!bPq1Km(O3A%4!Q%=UC`F1 z?!zFa4K76!@R_#!V!ayy;~0>^93T&$aN+`J0Cb^X$tE-e93`A?C8W__1JAF#0U#BR zr{uI29P&YN<+MZlH_%^fMc|`cbemhOyE2pIw9Jh$kMgg<_akH_;M%kMmFt&om2{!4 z8F(&`b{pu)p&V_b5rq5jC(>99O{PIWgf?-SF|O5mPAjzCTqLugQ`0f?!LOs)81EN1`XkJ4G*HEr?VjM(3Wk4KF(2XN`<;syy*W?D3ZZaphxCo*- zYu>O!HP&Q$I=!d%QM{;#!>QvU9dGbq440vlrE=o)qYMl=qv>+z3La$wsseV1O&B>Z z%~jTI%NvZ(j2;CxF0tp5i%hj&0Glxi5SvCA zm{KxQO6A*UQwcSEXaoQ|hma{F1lmx}B(bp)zYNBknp&aofr8c>KnDgrf7=zxsaO_a zbof`}yGIVz6XP@~m;G!uZVyPq@Dw}L{_ETB!WNqQV|b~vqf=P|G7AeTJQz-GDZrAh zBXkdtVt&)a@e7*X504%7oP@SiaCg3c7eZzF+R#*DjNl*^+A&L&x$IY&nt9wMMa(29 ze_+cyyp*tk&jFhQkNN=IB{u?u#+MKlK?G(44O_q*_!D{+n}BZ}CYk}!g2P80AaOso zjBw3Dn-OH%#f(9I2roX;y!ggpBo6wdF1<>mZwrV1J&@uHyYGmv0(DdXg1BV5JkGq@ zDe7HawQ7V1l=AU24mY)Ld@^+7aq_!j8P2lR*x;$`a&rTCP>@c-^)7B0jfCZO$Bq>Q znuO33V}N;@TQ>tqAZ%Met2PT9p+A8eL!Ja zxVTT!_+y45Mi0{-NzfuBt&{hrVP)jH<_s7O%vZIiB^P%EYIm%0P5LYR@0u+qj>&z5 zJfY(-6sJwc8je5Ns^Rqpt1+3atfm>=ybGfTUIAY_HE75;H)bilWl_K1;fM3DI7*5x zwII4k1A^%@-azhDTiZ2GOGHF&8nKeh`KTV&YS`4lyxh)`k?=mZXGA z?Ecuf6XQ>0A(IbGF4wmlQ}CmK#g-IF9k+H`lB+)-_JehOZAe>;^V?~;gk(KZO?tQZ- z9P#MElR$ndo^O4|^BNzE=ibcA^eiy^^RUW-9(n=mOG>t!V+{?Na1Y%T)5~=80b3dW zZ3$x&xAi-2w7PngShvTMiZMP?N97EqT{1x;bt-D=XfQKSBymea4f~0;d%5V}iu(EU zi_3D-l_x1R2YkS?R#j9GAyQ(xyE03yg@nJ?;}h?@aI^ZyCje-4VIiJvA=WU%<%sRh z(MFQ2mcEVOSwL(6E(BzpfqMgP>0Gmnyl{{9LI%d7eKaIvpt~|PszsHRxeRLAxnhcn z(Tz%itgJcn4e}Wp8|&wLp$WV*Gr2L^J1BU7rm$GHWzg&Lk_W|?($eR#xUihW5BI#4 zGBN<6y=?AlOJ62UMgn~`dbTXZPpYS1pdGuRvZda;-y>Jy5cXR1Nm&)vMzdLroQC{}tuBKDovh_Fz z${7mxz$QM@p)t}>&S~l1VnTzqkAzN>0bnmc2n7g`xF?d3I}wSl^*tK>RdzwfePgY*Lr0n|;lp(&)5J*UOSuX0QH5(Y`NwV( zzTD;bV}mU7fSH285a1YHI7R_5;5MAIu6h{{&R)G&hw; zHrUvM{UNCVV*r2l8~DV1ytxcjU0l;1@r6{BMS}hn<4IlPiszi6xcE_7Sx2?TZo6BB z-vO!-piY4yuOY%@6gM!jhN$7GF#jHIUFxRBQ>V`Z@?%~GLF9<^OQJ$zV6c4wC3L6;IQobakr(P`uhHu1n&7PQ4DG_VZRHa4Xr+2q-^Y{^N;_09pLptYZTI8|9TcdDJ<5 zeWHrJ>7$jAt=q_5<1%97B}?0+B*W_V2xjK`iNahXd8YyD%n#HDj*}f_BRhf~s82IW za6AEKh@<+}I{PDu<$1N6S|8&_?l%2s0s@|8!eBiCLglC-V{DyhEAIq#M+g|e>zg9G zNm5q!Wdw*9o3n1bzu#ElUp3xl{c3M-6m*Sw`}JL2TB@&)HoFKt)9vp(;RkZDt6eS= z;WxkcSq%BKns6I;IY;-Dbl|CwIG)@zhHx3d-Bi(lLz(StmN5a@wcrzgPYn(ZWoH(& zueQ`vEqc1kmLti|E_z%DX!RCwT}*C8axDS29>5_zCJuMMy=Ix1Xpal@JtnBo z2b2qXg!FHtN=u8vi&9~nVSBaCdT-~TK>ZgVjlu8GT{jk&@gRTpheo~7M3$8aAa)3k z_S2;87j1bXP~eqVEGU2Gn@W-RqIbnu1A0xxc`t_)8y9`W!uH2($J0FYWyzjrkvAF01FY zaNb^9e2)<_nYlgOq!P{Fd2b`e(Khq>S*I+Gma4C_Vg>?3ULN4yX4;DOwovg9L_mrn)7kB|(Q^NR%okP-a`ngkvaDbd zOLpiBI@a@T`K4bV`7zGST(09v>V(Kr<;kj!l+R*kCVv9u-t31PWS#_Q&lXkV zX048DsgqJ*Fe4=aT_@G`V3Y=}{4wD6*XQ9boz7%HPmSF*lBEY6%djxN! z8)k>fy=pg~$nWILl+hSe`oyu2GqLb7#QFp({zF{?E9-d<#*4tIc9p^DpS9UQq4s2e zPXeG1GZQC6n_1DQed`wbU^y5wQ_ zIK#BWvl2djgh`#N^RyDGM3^;{$(nulPXS+oq5eDHrw62;_^D(jax^vmU=w9ys~~GX z{X13i&hPzAgogoX_=a3&xAue9H)8RMCs`RkkHslzutUhSp{B(d9Fk*%GrKmc#myCR zQz7yQBPa%d~pg)T=?0eonvduT`($?TL)vOzP%fGb;YEC1?G%K z$%_R;Bju0!XlX69Y}i>DY5CC0ej#6;S$Lk}^;2j8_jW7ibG2pM+_p4grQR1AshN5r zIyx$=P)T{+UVm|p=h?qb)^>Nzv&oTLW9;4O!O(H?%yqOm*ZmX9B}wi0M{UmF&|Jy) zK1Vv1;!H7|PD>7ttVajGRR;&A4b*3heiIU?{u<;f@*_Vew0eDny@^BhZ5H%=X4t2J z_gN1tVAuAD*(Ba?x2Sg`tmk8w1=9lI0E`@kWGA8(lJB>QlL(~Y2J2Q6&K{lnvmyJM zUiAu?O+iB|V(12>7h)$A)Y(32oE#XGW_a*(-3KKDS8?G34G2x36@2Vlb5lq_K$QRS zo4}4e5){sb7^QGE2B&VCc0loysH>^fpDxcTOU$1qt_~;nFWp~~?N*om1k;7SzmeLs zs=7OQIeTNPhDxBHI(^ST&1~uF%mjSu9_v{!Zw)dY6B=(MF=bog}|>6y{a zZx{bDRh}zSPN4wj{Hgf|>f&Q78ruZ02r6-tyc1zK2af3PWe!&iZ|8(QBJZ@+Kz&R% zZH3-O=#qh`Cpb9!z$cf5ju1n~*?VveO>hBk^ZqNO0AoU8U(fwV(fz|yS98Y(wYhRC z-mE&WI}N}0YY*3Nh{+Chp7*~dBzKtq+Zz*-i$j1b0#=Zqpi&BPe2M;bbhJo9@#Nf- zKXk|SIu%?phx@gCg}&w2j6&<4^U7EV6Da6-T?y3Z7CNm$hkwXn`yfqU2(db9q#JFl zbyQQUWF06fTnL{nqpc6s$wB3epEq8$8xB%z57&cXS?0>U_?Z?)Tx8 z?IKL4H1j)IDKgWu(3QJ4s#eU_TYa=y#=Kxy+f-wut80w;Ec8DPh5Llxtb?Nntk9e$ zSDf-3ZHh0E2cI(!foVbxePo%>=SvUNH^}GKT2-;u>uj(wpUmv>b`444kg3cY|MH|_ z4JG3!`dAN_{eK;FU>R!6wld05B~uklnWK&W)Gnmbxv)PlQkV|>4)W`U-|x_zcy z#zaB=WRID7yqNrrt`V*oKx&nxD_*l8F-|TV7fntMZ6V{o3iEM+c60nC^>;3?l4@!% z!TUHQe#iAmd)Hwns)xI)T7YqY>2LdN4y1hSHyBPSY4`5GMzPUqRA0`JYb2nV`Awvx zJ2oOmgx03xCX8zWdV1>ojM+U64Rc?M#9xnG9+W5EhkVuZPmedc>keZnp7wPLuIi#qbvfH z9R6SfmUZ+Yy%xpY0m~9K%fm0&Fr;dK$sT;jX}?W81;(bC~(0sCFmh zkG_U6%f0NSc^m!!0kf2co44=`kLPyuc=wg(27ca{_I6Y*f$B31(5QkjjnM_Q9Br&aBTj>>l=6ZH&TC@yzu=WGB^9!1B`d4gImvSd;yfvYfW?&%W`_qfJ zh#ng=-F6ve&uK#|sbvo+XpL#33*?9~Jr$IJMvu4B8C=Bj&eSZJjQB3Cncr-<*FxrZ@5oN#$A(WKT%7^+nnnCqBh{W^W=8p#a;13 zYeXEq4*Y8Fl^MQUkL3=f`<=QW7v>nR1z z_W8kNCMg)lF0^W18Sq0yPxhJ6_tgXPR~Ndt$3A&t-uK4EwhuwcKPs3VbC2x!W{`WE z=p7@InTv+j*nDZ*NUCSwouYG@l@?L6_cIrdUfx}<3(PtWB@k8^&!GHbf7b^2qOVpjH24n{H3CYq{gI6CB%9PXhU0Xl)v$O}|#9!`WtKH!rCo$&HFZnw3 zybrKs%@_jAQaR!9Y4Ac3Ad>%+wk{y{7%Rw4zaMwMnsZ!=p|K*<6iDL3$7X+}m6*}# zZRed3bBv&pplk$8bNHPUoK<{68aa!%hP}C?TGKj~Qh^wX(bcwVZ2dvA*7(H7Peb8m z=82vRK2FK93DgA?9Pkt`sWBbUv$_6 zj_0d5tXcrGRQsb=TJ3wuz`muVO1G$gnGRAEN=jhhp-{Gt&TH?eJ;Q${CAI#jIGu-; z&i~fQ5T+l%GDbGp+W_@Qg6LA|o7pvU7c27fE^9ZDX3)|D9q(K*vK8%2(7Z2_d(5SM z?9ELzR_F{Ir&rrpOIEr`4X>s67HQxM0uKqwqQ%%OaLciB+q$rv%#_b<+noZyUV3UF zP#0cuUSKJ2^f#s4oY=}M=x9}f-<)jgNePYLW^yL%{|;Ao_=mp7*xQVA z!1!t4?KJyt4E!gVjU?Pxfl5=$5!F2drC#WW&oW}on^(^iK-+xOI3+ZD9b7e=ybc1W zO#@*YDI<1sRUlBb8T~QK>w6r*kvPt`FQM-0|NFg$Y5?Z#J;HYBSCH@lswhSIU>Xka zuC>qiQve+lob;i}oL*w%p5mfod_Xb4_l46#>zIsu%rBjT|!dE%4GKeHNGjM)sX`I9$cvE|2M-0e5_3|%)23H!MpBCmR~ zhjQ{iJXjY@DSze@48+vHa>ZFf+XLkJ0BC3xC8NBtf|)3^m0#yExY|&is4--=0Q6y} zPXpfM-0rd)5{n>=LXa%){PEgwKVxjiH2s;1HzcFr&?;W@@9k|DO#3FHk~1l8+oC7q zneV)op|Qu?FElCFYzQs%6|h;*&+2i3j_KBXCbrt>=p3pQrfoKLE7SGto$D*<2|kjt z;gnc}?PmC}#mpF5UZPRHXDr-kqO-nmgVT9A?u>n^Q2S(TM3gso$Tu+^nCCONQIK>E zpb_n(Mz4FWjqewO;$A>NF@J@}lNW1asfG$S{54v}o0EqJXt?fsYn6CpXf(7bl=dHj z0wfl;>z02856Wr)XcV|`PNHu5SF2*qidp8#rXW^u03uv$9QC#Aqa80`UhsDXL5BXk zO%PXZqBDk`0B%89SyD_aBU}zEosQ#^pF31VBao4P3vl#@;YJJNU~#ic_QlFtIO;l0xxP2ptxlfNj;V^&6ODWBgIX$5$Yn>z@0(W`-RuB;R))DpTV(SPXTmK3)!mD^ars}%#S znaMCmejIlUZj}fZu9{Vs`Ej80eBm!*v&wz@V1T;ZjYx?b2ZeAS?(yQa+E^rd7<85R(z_bZ zg$3c`q^^wj2$Bg-h`zQO2{cZ_^8I5}&Y)L==Mj-aY)5uGIY{b)q?y*?k_ zqN=FntjX+Ph(WUR73NFtp1vHeJ~u-B7zHyys`$14q}fSufc)`a=#x!U8t zIP0?~yO&1?9-+>#F<8orPz#Kui)SX?Q44W*bHm-ws1$j}uh#SvM|YdaKtCz1cGjd# zU|^(TjhOxWN$7dT%2Cf=VdqKH&&quDmr;G%^y)LQJ{5-*~rF1L;dMbq11-fT&Cmt*mW0YPJC%xr$O<_`|E6db*S z+S@r3?w;vg?xwS@Fj(NQu@apbQXTg-?eS@OtrsUL{e@BpX#{U!&c(#Uw3J*zWP!q5 zJpr=aXI(z@-Vd*EIryvFTx%`YgTc=j^H6aW8IsA)g~4PW!6>d;s`71d;K4)GXrOzc zitC3okGz&C=JKh7y$s#bAI^&s61b8(U0^X2+i-drWFY=gw5OPAigx~LX8xF~zVmE4)AlB1VBm)Wgbk#%zS0F^GmL=VywW3k&(9GL|kDdw}6U;Qa+fz|yyZpw-$Hn=h4HnlPEFOGq%=Jps#Yx*mWO6RKI!}dRL*QPUvA6lg zLLq*wD9Ii?OSCvGwH{y3vas>~U5Abmj*6(LZ+twP%G~7JrPH-bOKT61aYs+eZn>L1 zJs!tM@u0BF+CJu~N6_F%-wbWxb4J&Yy?HAgMX$Q@7U$o*snKNP3#TRnO5L|WwxvD3I!5ySdFB?MxVxZQ6iG@VYpMd9nLGEFAC;Ib>@z;SGB z9!jo}kWivnrN1H}^EvrvB?y6Xzo&f&4KuQ>inJ;N+4g+*)|ZON_$%gWAJEt}=gtfJ z!KhX|up&k*VDE0yCTj+t9HZR5MJNp2p+h~~cH0l>H^$WWjr>Y;qt(W_Yht*l%VI>a zI;sES zx-nztO8$Uiv1_9y(GG_DDg5M>6TH-8BpNuwLi;GPCNN~@0x@Ddam5t#rKN=q&kd)x zJ`x9P2etkDLbcl9@^X}`9$o5-7!K{^gAxj%q7jLqq4?C)mV%CPiLY~&ZdNL2k?p~| zAm_vJU?Y4;pN&^C)aVScrt{fJ(DdWS>qkc_jz{BU)QY|o`7)M?ud|V}`b(0w(&6+k zjbjJ3!qZi@&y&F8=TDwY51G3JcAocotSRq&{puPUubf)u*nNxY)cOTZ^he|I0+h7c z%YzVz8pb8aBsVu#*VjGQR%otX6d}*aan;#4yx1|}+M{Rhqms0zb3wE_NRgNOLdQM) z$@dJE^X3i*Cf6opECN7Z_KTHMepi^}wnDCtXTH9XXf(}W5(7o0HLNG8q5&O^ld6Y5 zIpr5iaxG-Va{UW zJOaXovLpjutrL9DvfWQ#Ff+M>6ZWd1`YCmhV`pG!+5q*LS~uKoUm@35W&wgp0aDq{ zOP1YT>vAlp1v_5HL_7Md5w`Ay!qAANB0^Vg7yAXK_m)WlqOAJ6?kfH7cMbwjWZTZ4 zwO7803sr@mSI`sfUR6(t_rxdM2r;fbg$XJCu_(ZEE<{_LF`LxW(D}ZSN12ar)!g-~ z#5&H-yuZGu*1K~j(=N7@(@#t*^mEo;C$bx1RU6Nz1y0-hZndedeZKgelLXx_^m(~8 zaTR!0!4`r87O_%H>+1I)-2kxCRcFgj8gA**QwGFj8He35F=4;YcS;6?X;#^QMxEef z7kS2W$?zCC+O%sw&WEH#iIfdINB@f-RTXk z(dm7aC!=GVetsZrT3ugoo2l(uS+iixq>l(XwA=Vqr}793KU-dQu=%9yYCqB&B76zw zeEAnwpCh5GbpBrZBv@GL8k#*VBgj989X`|4%&q;^vbayG)+fX4O}owLM}-zOG>1^_ zCqlLA86R_5+Gy8VO})6$xX7CtNA6WH*7J=o_8C_6gVT*8wjnqfD^@x8Xg}VAB^g~H z^`CfzXC^4h%C~z*r|k0TZBU~M56F7vu5SCme|(Zob=9_6Iz@x@-)e$*|vNjP+I zh8xwk$3?PC_Vc~W${E}7JxK+Jv&POH3it_5m5bQqu)K^scUVtYUm!2yc46HxJQ_;M zfm*)Wih)3Rysj1PoEL^+sdmD=voL)je|!#4l;N(EDC_g6kZH?9VahlB!$0IlGVuo{ zl9S80#l%Z{bY*|dGSm}3YoCkXnaca@u{hm6cbua{A6r~UgIOz z4K88-En2vKo_r|%681HLtt{iF2__%_XwC}2YSUk(~Pwn^mfHGQri`K7vL9&tjRJaa~ zq3i#6?O|Hz^seZzeLvKs@?AIV&WuBk$iP8X&7<}P%5Cw%>>z2nKPCNhbo3GcpSC0| z8E$U(=xbnOCznxq+Su%&sQ@X&j`?5J`En~&R<4rD2QM%%HOgaNPPPIa_fYu+-ZP&X zP8;UHVVkILd7k2jKU@f@uqWxcpAI>>cByi z7b64t|HC8d`?lFz*AQmOiO^>K;uX|q9P|J8Dpj>l%Ei3a56?O19G>iw&yfwnwJt0{|=MLS6({glh_fI&Tyf++e|LUuDV5FF6CFO3xWRz!2;i?OBjc21t zCVsqYb*t3=*2@s>}^9YCQ_JaX&J-{CU)W4%b+0(PR7ZzKVcgA172J3B7|%_dKlTK;kg6O65w+!f8K=M?V}1B-LA`X@ zbd-@GOpgwT*0{Isi$6XVNkLp9s`NMD^#Ztk>R-f(JOdj@!rTviT9dthY#4mm=um?tD928rh@*B$Ez;vyj zOUj#;*0gTAX$Q1`03vV)E~z6htCtU>2{Ui(V1R`MP~`Ul6~!0lg$_^Po?DYaQ4P2m zs=+E;4b|Muhz)W7Q0mQ4+Q5+LogUpHAVMC(%&<9}sD&l~+fK#FI}=B&&&J~7yt_`s z$;p`o^U3eQWQ=ZL@&AHLNbd^ZPx>oItq3Fq!%Q@pN?3wh^fj!=Uxl zXk;58-Sam&TGp%B04-Tdw$(`(0r2c4=HcgmkP&&pFzy(~6~N1M;6L(}vE#sB^67@L zzzD$a_6)Xn?-KXiv-^gpJBXpGPUTgXZ~8@}F3%F^orFQ>W6rxuHY?T^);YwWxILVu zMUrBi>t86wtOQ*>(Kr_P6s{0WN3npzReFP127w6HVN8n8C!I_<#)3dXq!>PkyydfOIxd5;>@plwBZ^1wT z5){WZDT(WupCA5nJk7fw^o@*8-ugs`^Y;CF{lSt4@vkhH{9nApu+w-$0_Fe?kD#Cz zG|u8Y?+MY;(!z25^y&0{TU-3++Qty*t(q0%6*UCotM(T_Hw)d+U2KUB1v&7$Jv#r)3LG(tn~Zer==-2ZOS8+g9L^& zlzz?e06_)@I*H^$iU6AUe=R^&%$wXO12n52^m=IRjq726wvx>k9=IFY?Ey>~0qfyfE)T zqu}3k!?q8JT0~^Yx1St8u;8^)>fF2aBmYFh&!4A8Mn?r9h@)q%E_=kKfhKiTnlhqI z0YTks(etb^4IB{+4!C*({BGfynOrt*?ko28OJZ+1`Uh0qJ8Xy_ea#m-j1-$U@&VrS;9l%T{cJ`Vb+CJ zHZ#op*A>*rR7ZjQ%*W6wVnsk zihWkKuLLq-^a%$n9ibjEG9&RUK@5ULyG1!J4p0UPK%m$Q!@^#-4#GqX4?{J9!58|L z-#M!As#8;-C*-BMVMWKk4I7w8y~;~O$Nh z`%)|m*aYnMJ+XNwdnU^EYM)AMAJTz451LL=K$gB*D*wLF_%=43h`k(tT=^B1C&r^f zQJ5zZO!q800&o9u5$(G4G3f7IU9~!sNKWw&Q6u>>PYNnZsj}R^a@DH zaLXCU!G*PM*ux?7gX~gBqjf`&_>bd$2czO(%gR0!7BYaPE`f>DelR62rLG2YJj|9& zLjp`}hkv;RbH6$l?XBXnyB^lfaVHeD|?{DqRl${ZR?A%UWu1ufdrFfw$oBErsW*ZdA89j3~y#w zINc%qH#he*o-Xty*m}ro==dStSS%OA!GY0&JOqSYXL znbgH)*Ku&@PmMP0K`E4wj*j3&a4(?LBk!D1|H*QlX6qq*V?cYSKAUr7=ZiipTI^4B z8lDKP9vpPf93BmUpJk=m{zn1-^R@<7>MHru9FU>OAp_Xt;-+r zg+x-OnGXh3ml3PRF{x0}robY*yZ?bG?DOUtYtvzTDJ~G|zOlkU$_*?@0bWLh;FfE+ znf6^ubpXt&<=JTyCUxnld9p$>wlEP5i4_o5Ka znR8ruS|iV-0i0#tK=m@l3p}RqXvu94HilCfNO**5KdK$x^}?>`89l5{@fbXucPAyS zFm!f)(3Y_WoczMVh+QuD&xwh07$ACn!dU}t`WdWK&=3tL*{+Y@o9G1fiQbzi&g*PMbB&ylqxYC9L}S_6 zFL%AMr9oK5>?NW1mRpRivTF|jTu7yYfG#4$;!#~ zFo4cQVi2E)PSzP$sdSgdap(?|)KTb$UEs-@Joo;+)8UCU7hQ84`sxwL@=eP9uz#?2-8*39f_X8GgZD}7i+!DGk8s(tU)X0%1C-AzH}FBD0y>1k`_FKVjoy{$%*lbicH6F(@}oU}JV z%h7;ZXqTdrs4hJ}EdD}@JTac_ZJ`((YbJ;S6&3r!dJd-xZ2dzxpguo-{1D9K)G45^ zG)TR`X^BmJZDoiUA20EU?x!QTu9m%cuBcZsi3v)s(1u2WEwOB!@k1VNFcwZQ6L8{o z!r}iqpKz^|ls-O~Li38A_w2#q2_2^odTvl!g&BN*3x7b>CEoKA{4$cUOD zooj98q>ZAYWp*_^L)jMyqk+|G*NH;v9EhYgi?5cPG&0GK`6T9{BhdphP-o6YHE8pY z;)Cz_mq;?jHP|E$FT}Vi^|=ym_2^#lckP)bUhpy2)@PyEv#n>_xAWG$qaN>?p*q2? zYldrLll+k>P?qHrw4$8|tQ6;WPu;$`w&Q$6+f|FIG9<*g7S3ee9HEUV#}A^OXkP{$ z`}mP;@K%0h#n~;5+T1XRAi?&&vtwsgk79Y$-VpUXjYO4*c%X>;k4rCPsMs9ZxS z&_e$uRRA|qv$}fyfi&|Dw#?{n_jq%ggAFU&RpjJS53+*(7Q`;)?R<}*3gl(K2@cVN z0sA~O^A4IK>f|i3`Snc&)@`wgf7&bBbC2$`E(HXTZWrFx)u^eObJsOx42>ycO> z>IlmZkYxda3Aee?=90dtgE@lfq5l@xOzl~Sxj%eJfz&0qH4;p2&{<0t7jDq6{zrfh zuU#s~)|}{n%K2J6z}eo~U7~-=&=prnS)B^z3zz+@ph))N{|JZg5iuf_Wsd5H#$ljb zP-fbd2GV+Av_7@vwfXC>+DQMIk^$8~>iwH#WeB^LWVE;Mw4H>>-!e&P6e7zqYx%H0 z-UqJ4rlK)HMy?n*0RFOl|CybF^6vW^yX^U&s*5~P9Kz7Q9`37He_g`9WOps^>WSk2 z&Sqf?!6*#ezC$}z#w}yFsrZn9@j~*@PfnR{deeZrnfNXfcs*RTekoL^mbh zf8Xu>{FXF$Y($KRD*-8gGHgK)i(OEo0SEIhdx>P*yvzIC&F~DdCEOj|*-V7?{dXdA zc46T!X~OHuKM5${{WWxSI8f3r8r`d$e2p8jtaEd&dIxjdk!@DOp%+K?yG(E9c6XSG zYs8vtQtZ0KX}O|QNS40M*CJLYBP(*J#fuGBPZ^}5{9eBqy?9b!)2x}9p*z-FnpeJ% z;pb>zaZ`^cKCRXsdixV~EvFVBxp9OaFSCO{6Hovy>+*V-(F;<8aXa+@c#{5~ehpWx z*FN3y{c2*P9NiB|>KEkXDxEQz_#3My?=@@jeyx*~=8_*k3`XFS4~tv1jW3P-J^cYF!~8j6Y!FqyQl$g<5}-Ar9V)gO{4JGY5Ks{Q<2 z<-qg+iFx2ibVkcL$rytfrKgBrgt*V3MqeiuXmj=jNp8NXa$tB0XDUm!tw41mUJ2Kv z#A7v`U1sT(+OaioiqN)M{zAB#HzWwHl zu;H9jlcO096q%?2s z_Z!)oiLPgP@lH_je!bV4ns`%Q>Rsa!d|0%lh3L$g{yeEx z_>XKmsDRBA(voA%zI%a~%<6$#m+%P*2U6o$MS|+~?tYOfeAB-i3-~7R!&_U3aAsUy z&>s$vp{;S*8+0f9=?>xt4jE*SF8oup6IV089BO%?d5xTmp3IZ-&Fj~>HNTit{&`;h zW$evv2?BTvjDCv!%a1ywy4gQ7;J@$4vHQe0l2N{6 zW;V#LB+XOnF8TgO>8(%V{3T$tdKOjylc5zFS3C5mYXVZvPo*o5MpT}lAg**kaRQD= zfa)UDMN?Y?b7EN>k`wTm{PXy&;(jXx;yYl40Hpc|PN-OTh}P$_1qPMLc-V&~hn2Zx zVxh0ys@9OwBqTscv_!86Z74!vYVu=aV;`W-c;AZmHs&0YKT&)_g4P`8Gz@kD z-d4+|AiSr-Vk7Ilc)DuZ;y5Co&#~1031`B?S@yl+t(s5_r&E-k0A(DRD2P3mQYK8 z$_<6#ah=Um`TP$BL8Q<$(02GC}zT z5*wc6Y&R^+jZU3WEQ%-FbFV1J8obj1ZSMV@=3+rBPQ#rl+T7Q*xr~_Zd+mN$flT0W z552c}d9N9sBNZe%kIzfV2U)ZG_^AAm$mRMCZP6jF5}qj6;4s>RcZ?5zfr_Q@WUM4!Z6o+2$%C z|NbzDNWnLp(ZF8jAgOon-11X`PJw`E0%ao1C(wU>lv5~6`Qlg*52+M!{>gTpcJO(sM-_GuZBnKjfXXUun zcvV$2T?ALn4-gL&XsIde5<*Iaj+aC(FjKU+Y^-hBbZ@;+I>Z$9*{xftlcses}5p^;GWZ+XDp{*K=O z7Dnv8NSH;%Z0mGep-7r#puW$)+QXwgbN9_takPD=iJ5w@U-=^_3uSH<=RmLow9ap1 z%YxgdjMWt0LgSt8eI>KeVgG%Y2p8=n=!noPm<`aJpUb|@w6I%e5o-#lJSagx&X>;P z#?QezZAi36c~FD|2cMSTD?PH9j_RH&ck9vX9!W4VOG-m6;tan$t8psm*tMTj%)v(c zuon{e!4<6(#lSlIndezYh@VscaU560Yl4QEE24{^$p_;FgP0+;6C3Nfsn+29L!ARb z1;e(&=`>hyFw_Qu_?v2n+HQB<#-v7R9|)Z-z?0^vrNY(-Aq(?7?U*W{!vzB3ve|I* zU<$eb&|FOo@)z0jQ0@ezFoIr^g1sCV zP>2GaPn<#q0Ms9OR2YdTnyiBMy6oo76)-n%QzYrazk9Fx6J0Y#63Q`lEs9*^egX~b9fnx$L#2|yvDaT@q3S6X;oF- zL860MHyo39c^{12MvTwOZe^`6k6OT-gPNu2$yZ&g1U^1K0x&fGUKzEDE^ujoFMkQv zSAae|4d=!1xQUwb<kbv4iQvdd!Sx5BwUDD zz*dD|v=KlvUbSlfAIjbYoT|P3DO0wgq|s1jnMF#b$UIjlB_w2~ z44I1}^DfCu5n>xNWu9%b_g<*8S_| zp86S_gbPppiHit*wusUW$U2sWfXKbWJyVr=Tr{e?cAc%CDgXm~x6b>3qP_;*+pehVck-N&Z4ZExA4i6CuhprzkdB%!}1hF#i&024^Z4k z!R5VhtaHFhW-~u7yP?~t@=bE?K)i0(qeqXzgrEBR*B3U!ok2g`$AE!>kuk!tqqIi= zX|3rd8Mbrym!Aka&$ZqaQKSgJO9N=q(0Wh25i<{B#IVRksm19pelH>;KmYo{03KUx zwju-+Z_Hapm5*^Wo-`4(c2+pBJ|WhTggiHxymeyaz-BX1d6=g-8M&vjXk}BWhYuqK zMpYcKK6R4IW>DvAzuPEJX<-ASU3#H;Qx2MgH+Exfj=8W>!xwjvR`_Ji&)dOm$L8eN z4QLTHo}|}Nls^EyT*0shx56niFw=geqqcDEGaoIAZK1)e;C>z3g>-snC65MOl#`Q- z&CholScJyfMtc`xOwiu~mJ>L%zOGg06rdiF3+kx(4tu@t-@oGoo`hNMp~ts;KjjhD zBJ#di!`Vb?zB5fL#7l$68z5%!qKmC(#+2FieB{n7yf;%PP6N@}(N%ZLdAE4o2$*{y zODL6Jey6Vx6eQ4`>0_>m8_O+yop#pVl7A^tN+rG1gynlna}|?@NfZgjqsW*t&DZy5 zN0MXK4zDxh#6&0X1$-QS>x7UGirMSTz)~*T?D~O80WK6Q@|V|;cLF-A2M!*TMOw_u zth=wWTMLt^RY4`-PK%Cx4}grc?-l@@j}*0!S3fv3w0==P zo5&TjIKr)Yo8am7qSlcRoofHx2U74xZyIWuq z?MRA({&DyS`!`(yd0Lp#&9f!$fLI_WCkHvqxcYlfF#BI;JrI@09L}5}c)i(&J(sf| zE3|39fKz5j&m+XR2a0813c6M;o(Ct~HjavlT9{a0v&1g;1^pTx{?xU;W?wj>Gw}%; zr%z;dim`>tzbrC>(!=@lCf;iS1rTh3_84CK8I_mM{p-K}_z}tM_{eBaZ?@vBpv1c} z`AcGoe!tU6>uWgJoC@BUV>awF~1A14AnJQ6E}$@Qf;ZZSqZ2^_R{b=IWPZsdAMJ`+V@l z3HlH%NW1=ISRX9+>^KHiC8YUnb7POS$VRmG@Z75vQqA8&tiR=`@|W4{%|{84b#66& zUPHJE_TjvD7qtGyJ7xTXAlyd$5L#MVzfV>w%tkpdmZxXxpW+Ns4}y;u6|MMf$M~|a zAnLR0*wts{CW-6z@`TmJ?Wt#XaS1B98{$f&3b(${>{UKUq=!(g;0qY-k3-_(4T}U4cCh&?mMvd< zwk`8TWSqP69#anDkS_7dqEbXZ1Q8%GzyB^%*yNF~pl2$NoPPe*p zDK6T+wJX%bWhxB3?~X1^mW8W! z3u^@TJ1O-(l&+H6SFU;nr>858nj-Rb&m7@H48$S)WWr_vtUne$V4JgyaX626afRA$ z7W&fTl*D~vM|S6RHauI?ADltIe=qG`(yp$2B=q`qsHO0j`jf{8}OXg+fUz_J( z3K;=x^||xM-?)m0hw$ESZ6F$L59@614QwF_a6P~h+ERNmLB6QST2D0?t3E80ni<+j z`|WjMPIX9SZ=3KH%^fgO&sq6<)5Qs2$ih0?j*Y$N!A*pY`FQsgw_S6jR?0NEojO`Q z-1Kyf`)0_2GaAaun9>9Z70%lC6S(lH9L7u!))9&ZkIlu6Q=VSHcd``!Y5J~C6CC+49z)Ub+j=JUb(IK z#Qc7aJ=X5S#VW^5=W~pWhs?fwX&@x{YG>!lzYn@$MgD*z>jWgPmZ>9gK78utJq zVUMYsd+8)uu*u9BVDpRU;u+!NX$X;vKDyD3{GF@a3V)rM3H6qczQwad_cM#b$KOAH zG;OVU;J`q;i`_|Iz178f8w+Q?u+KKMvC;;<^#_RYq>Kk zvQodC(;vI0*_<9!O~>8f6@%y-q4Fi>`ZO}-HRoMQUta@;6^!<7k&>=cHy9cUz->W4 zIJ@2(7$tsnXzr!toMiBD>(H71T+*9$M6edv=+KYwpJQFX2dfYC=PhxtTiKo`%OLHZ zak?}7?R@X2(w(IwscHuOeQaMFF=kzS)lU!Nx?_3#CBxlzWzuWpDN$To9;alo^3YCn zI%JHf_%@W%k4L7756K+7=Cd_A8(0~i_+vm+22h_K23J<^hoS|qt4W$m*khm+OT9~#!q>}uj=aRf?^@$`O@;33XgYX zGS_F?9Y1m;2)0%|Od1K%;A-1emhv|E;9Q}J2KRH}{I6GcdXkfV-cwdA3!k6QV^mSS zcz8JWenW0+j+{$pD;G&xs2-`V%hiDoPCX==O7MbXXoz=;5sUsLhmiA$&yS62;2VPY zMcI$A{a9%v95}k@CZ0MdbJJ=gS!m0xTN~`YFkxti7v+n?Xo)cy;h))$2mP6 z_lTp)Jcn0?M$h52uO@%tA(D(WH_f#<{??3QT?)X%S4@1HjyLQ<$HEu-y7}M5Lx_lg;0)ZYRa1~oiZ>s#(7iYc5sX~ z^~yokH#!s3H8u}k{c@6|$a|Dvn=NOy(^yK=Y&B%C9{2>N!aA|@77;H{!WPf(H8(1P zzmD64ws3?`6VVZ6q=OfufgiR_O-)Y>Q0^^xpyW(KX|gKwQr zO+^T%56@C`+v=`J{6B1U#PJo zw#G%W8+fsfUCZ&fnbB;euTDRAgz>Dkniwxm`5RK-V&(20Cg2moJL_S=t*T{yN!8JTN@DE$R6~j#c%+eWBu0iOWm<@DaF@)%t8-*%H{Sa(|AjyQLs;=M7NIlgGJQr&#ESt zE7c)rOQ#^7K=LQ&nLY2UuYz$Kb>s-HR-{@<853zuVKoqjGw`9atWW!R+Ode-gDIxi zY?USHp3T@YZ|!y^4RlkXP5joldS9Au(W&L2=Y!W|W# zwef0Ppw_0uLPJ*NI@?*Iy$q4hycT%&JL*yg+tntFPdX*I`VH5?1 z$qHrl^>mimk3-AZE%GP7H8c=q7cz+sb81S?9~XPoqhpT-H|H3*ER1hihU!9~f3)-v zrC*WX092O2rNBfK_W-WwmI$)4Ad3E7n=TdTCM;8SJW1Hk#1nnb$DqPRyS5g0r#!*Z zzYH|ScTeB$J*WBQi^qAE;G=UhscILGj|9lXPk#UY?!gTPnBM!s`Bixk-woI4py^2a zPOh07w)PlsQ}e(ptbKR4)pVtov(EjGpRksJkfrL1)aabse`juaOv$({yUL42@bb2{ z8nT9-RkA@J{4ETLvwK@d5~B!KyaLOm90zUKHjBv%C+}&G{|IDub7+*$>Zl4xWu*@ww9;8x=) z+O_`xLjbb{v9$NDr%*u1$ao6xCXRrY{cxB3@XYu7+jswy@@d+64N)vl?|+=#pVt0) zgk-);F9Zk}cyI3plJumQ5Z!B9xmDAHQkN$ltj-7BYYseri9g-Z>7v-Mpq?s8q-ze3 zt1FH-x8lLX>MG*rt%hCf@W{JHqq^f&+@SWQA{BdZWrsTK^s0%=!=H%M{&T(jb}EFh zhrt1nl@xc{dpyb|OPhu9GT|YxX~Hg#^oJVfji2I@JZM8@_45(#ZTY24uF*2hk!#mH zs`)UTs}|jF%RNfg4?6rh+`TwxoHu=`yWOVW%*WhZvwccOZh~wFO}ikh|-~4JpSgqk5mQm zB%y<&dTklLiRa2j8b-orSz8^MjzSU0)l~wr$dAZsc;is}TambF0=F6CCm2_I^z@v` zWnGt}741f8cCNd{CXqQzp60qCvCQ-2yU}FH+WWn4>afbbn(676-HWe34TSB8%Lw2f zd%qPgsdjTn1?Cm<u4{-1Fs_FLfG-g&-hn*Qtj2{cHQdDS6IMT$+P zq<_*9!8?&+6+YFB@d%LXe@2y5T7Cz=9;w##F)6_a2W1UmRL+N$q!{R{1TNoM< zmzc;t;vd5eFLaJMgLh9#uMJd8GYh9F_&#(K5#Rp^CZC(IESi%)p4RU;C3d)sN3m7- z7ne)`(ZeEO8|C6-?K7 zdBY@hvEzl*RS6Ut@iJ;%mdne==y<}Om6%^8ko+18UQS8r%R6_z-^tZAUme`O+T+tvZHIIG zI@Uz+!n>%5+}!PSL$TIl6N=&Vn~hI8sm*3Jl%a>}vfmNkAEMDDmY!~h;_Nt#R5p9Q zqor#}Ew+I1!;FGhfxdf5&8;~fDHPd3Hi;w!aq8Evt>!;_A2#8`&TDj6a(Jd@l197k z18Yy8BW#rpgW{h3)%5O>X7Z$&51_<%h9w6bjc_qo8pStlN0 zLh<+I8^cQ*`JL01gbW($gqGerno2Fo90rq%@tipZ7)XpK6Zk75U0)3PKfj$xVo`F? zp<_f_32Jt*`I8AqQpHe;_XQcX4LCFC3K_SJD-}-cNVv5HO3WmQDf&B zCIJRPBLQ~;%Ht2Po26yPzW^t5HYtNQl_GYSvwJAX^L9qyy=Hk4G_u{i=PNMliSx3x zt&3I^Ydra_?=Ay7U3ywc*Hb^b3FlY?)T0NpZP(sYfDU$T%tf-b*{dj1dv!U;Zc7F` zj&sY}>c#zJ`*sO}MGc-1&1h!-*>EuO7%9yYO7xsA$g<-6M2ObsEpg?N>?R`GRcx<) zSaz;VtXFAL_=}NVU{46JtvrgWcMBO$Kdxmex)&XQrF}%~k971_?F`TG(Q_*#!F!1|!Ys=E7sj( zmZ7Zb!%qwpn1H(AzRo|{7*nuy6tae__Va>JHO;K;>U)FX=E$@>nU7jwmv6Y3Dvl{ zIb)Ifs!QEJA17GN)mjprXF42oqRTc^j@Z474#%A->Rgj0*u63X-q)QAUwz_zz9h=y zIHbag?6|?r@a4-Fq#>*6Ucx(&ZD(g&X{?3+gr}mZ4lryap6?LhudQNVTia9=Zs~|1 zVb_Q0KjWi@IyEyTdl8Tfh%{}2lFBiW4lg4UCe=%xIc8B|KCHWS7fp~zE^Bs|(ML(# zkR<`PFfPug3OxH&ZUs6uC*`4mZ$lo3e0q9jeO+(gnc*UceCazAlg{($Ea{F9cg4J8 z{2eU1RUHPN#yPeN`cqVK3l4P= z!RG&b;Yi^R05?!!9bX|~@u$xxkuA?Lr=p=5V zySq)rD6$)~+M{5D@hv!i(ep{c71494 zudl^-Y?fD{#;X&K+-r~3kEpIIO-*!guSwlH1Nb(Nde@x`;Gm}D3yAX~bkRWb0he1s zO|>&I*YB)H%(`}S*9`L^hUW$kPQsB1%Fw)-h4>EGr*kxr`^SPwj3Q!?y27clfYpK^lAkQ2NR8c1k=+xC zB1g15*9q(K4z{avg8r?N%P4r)SF~kh4DdP+UVgh77a^_rY>t4p5*7Ckk}oYCiu2@% z1|pXt_HgL!<_n5hMuL!O3jT8eZZBHDQLx5rmADQRubig*Medy z$nXdd1>fbNVleQEMV{uw@CYV6oT8sdwigWpek3kn5In~p_lReAY1tt)qZbE;Pk`=F#&xqv)`;Z`S#3#hS&=`yf+ z?9I28t%irIps-Ib`W+kc(&iXu8l!>OnWks;@e^KN9_^219pQ*#3oSbp)57}i;emv# z8*hC3B4u%wlJB9nFKS|lEAoviS2U8BT_kZ6ih4A}MxDVLa^C6RTk1RP=6jpJS71-P zWeB)Xu`BnxD`6SeY`|@t`nsyU)l|y^{OQXY|;fII&<}S!TWu{7GNqR}d$*-uFnI0TX z`}PHRJL+6@jvd?QR%Gu=ZSPtnudMr+Rsm&EynmsO!&6z2qN=w2*FAhqT?Np<=G3~<6ZrD((xe3L#4O`8otL@p5 zaFkXKaH+}S!&$X&(9`vBD?-meZdG;{xNkc-WK0qeWJ_mZMOAT zTj$W~aWqfY`|6d9%u>Trr|<~+lHwn|qiu<0YkE3vi|r$ii#m_i2v89#mz}XLf+Iyi z{^G|E8tqp1wWDpG?(L+v9*nYfY`CcO!2aKtZ%b$E?c-yhsTLP;MiXQqn`Eu7L)?LL zy^XzrIY>36}N-aUm1A8!}#`S%YjNQ#>ZfuVLyT z@-jSc>dn>|0H2ar0p}svf^vGJ9z00Y67BXx;YYhH}jl#$Ge2$iHO8NfYMsMMRNm-B|_|6wm)^-7yS^y-b6zsr4)B ziJ$Srlpr`;alQV4mcp&C)UQaSDCHMGkR37y3@c9l8218wf#tE91URtAUbWIh%d4Pq;k&EM1Ol}S z>`?0U2KWYxnfMX1V^ML9T7T#>6+PJ|_8;o}5GkmKN7ojAmBr9{NdTA=GUYA6qliX!}Icse` zw>s+uua*bPigYtDZer8Tr^YazMHYs|Q>$wK)U3dffyY-XQ-dvMi@^p9!$_h&WS{=c zn-eT1$8&gXG**Yztyldli6v*_%G__bFfC-RKVvpLe~_ebF5TIUnLe89$u^t^;0mu> zEMHN4yrGKL$qF~Iw6yTq^~DfJC?;zMaa+l#V7J7C<_3Qa*a~lKxxaoVc3G_UD9;`o z^gWx^IDqZl>Q3+3y_uFZp1i83r?*A;gJyq5Rdy2D!cTfnb-mzwP32NMp{F11J}y#% zURzW|kbJ}Hp85HaBJZ#K17lmR_zflrq4cr*I*!N<a@7HC2P7%EM}NJPXF3Ii~8m z(!EX(*3}5xn+cmW;I=f^f1US~*;%>bsN<0D{D+IOg+he0($rL+6DzL5wds1!icV^w z{M_5>$bQ!(Zb9cK?rXFQ zG3$Xu-!F2Y!R-7qsF44Gqmt)#r7ZM}^7Bt^N_T(yVp&{vIV>0qxnkn^<&_7Nv&LrU zzPoxKt{xrn$Tlz1$f4e{JBlsoC@8d#7XHtMXM>_gjx$JGA$i;o}x=+9w3U z^=6Z-6D7Y_vn91VN^^Qs_M zk-MEvVxkc_zOS#n`q2(e*4=s30b@Qs#+525H&ylcy)u`axU7rj(pz2S_XW&hUwx~| zrS^*dv5@Ir$)uj#4h=OzA(`l4WR3G_0DsoI^O-OaZxog4*NL&rCSx(_C0)Tb`gE&P z7x!;B7eI>>uoDP25d{ATA4?S}y!7~pF9k*yORA`;9J-=It(aKmfA$Q8NZ>;ru$Thz z50v_fywJ`+x+m}_gjzh=jzzeSWa6gFO7N!NyxSx822|G@9lzZU(-+}9Z19prK|Q>i z+7hK8`cX48xyK-EVmLXeZ^=0HB07!OS?t5`LcGLpna`H(;g2P-jMuR(hq|E9#ln*f z!`%3JVB7+}{Nbug#J5eaFp|f*ynR$zUDYt7FSgsi+A6QdK>y~25UKV3zebT6tHFoMutHH9vyYgsYvjw`Mkh;*c+<9d>O@-BUcE?!{zF0g*SgR5HUH#&hm-( z5bG~aCrEVlu}xO%5s9=Ps?RkImTNCIZE9e)l;m3p7z%;a_NV;uZ)auZFjnOqyp_Ph zqde3-RdIHBC)=}&a-)L&$_ZWm`nE!*7|&6<%zc6aheB_+49q(w8cQfv6A7DLh)KS) zXsvlo3w(Up$}gN(?sSWH1$OG7kh3~T@+fVWiLz*9M|m~ozX*3wwP|ktvWP}t2Oo~s zA8Y))B#pb{A89Ubr*CaaA*8A*=mHGBPC1S}_1@o!C+X-M9rHKwZc>XoCPQ*7J}>SE z_r14)k#Kw>?8asM9^ws^tJu9x5l^_Qf8qHn;lb76^l zrLfFl4n=8l%|*JJz#G9024(+Rbg_1p^`i3O<`2DGqGwSp>&e};oRTGINs?wZAZCDP z@Gomv4m=#w^0?;;d1>6&_R5*_=dZdo%HyCm_V$I@N_fkK9#hborKIoQ;bm0EM}Md6 zKi*=HJAj@JfiZ9F#M#*=iq?Fj`Ub>~aT_P6Jj;td#@#PyEBr}Xf85wSJu-@aSAb!w z3$*{TikWZTtdK9T53I$W=cO#dV21LNLvRXg0(R@G3J#KIP2%mRz64CSn7R_Jzj!}N;cVYljfQp=GBIpf>gX=&#PN6 zV|U8QU+iH8o@FxEp##C$owd>Ju7+nqRK9U3dqa<+sU<1Yn^b>Lp*1mi$FGs<>RmY- z(6`s*#2{|DGixJ*!H`Q$5l?Wk>h!^1jt;b`2(x;NA)=fyXUw_s3 ztbNBt=?iisBPUinf&LJkieT8;^XJK6s%$-9GeXnQ4jhc=WCI+A((|f))tBhsv9mYW zsL9Kr0w1RN`&G7%eCo*?0k{4w{1CLTBGw(Jzb{i%SVX&(dX!`+_}V-MKBs(y2ff~d zxzX%j&fVyf@(Qd729D~5pC6Q>QS>@&Cj30lu>%3T{|VLni?~L#X{xZr&BmLW2Q$lu z9Gy{DRYl9lWXTI~7QKbTpx7)-?f|HQ3e`P5w8@N$UY;4Kg_iMRptn!Lq28H`J&7fH zIqAuP)o+jInOTH%UXziT)(#;t>qJ;~!XO>9%!I+ngW?G~j&ORI5R4w5Gj?}&GU{@2 z@<`Y6^kX#f9^9YfN9}z$v;PqX5l0M9De;WsK)F|6GQGBN-hb}Rz5Mn_9+OdNQyV_J zlu>kR-$-lY4^hIBA+6)YweFi1x(@iVaqif(fyIcfiYyK|Qas5%iB3xIXLi7$^THTP zi1P*(;-73L`&XwB<=R`G$2w_rThU3#pf|PkEru+OkXe<~R7@K_f%8Wj1?<$2vF_a~ zuWT_g5gM&UN7sN9Wf$9@W2;U&SOLep~2pWbwR6+;OBUXkMuq zi9C|{G;6an6)6;wvrp_R6~OH&?cMCyZnZEFj2yHuqVH}>1G7Q~4P|(_EFD~a=MZK7 z6Ag$56+9{r{%;Q|*p?xYfxot!Og8}8-9Pg=YX6t5d=u%7l%W6E9{>I}Be&)+> zoPV5t$hU#SuYa9q+dUh9|L<0Z8q(kmpw7#}9ze%jqd?4!8%0Qizfg>SB%zyrU9h&! z{QvOlZb+k6yb(tFe-ZJvs*gvG99bdBgm>s4v-SVWO+!)Xk4yP--OLjz6r&~j)HrcY zJB^t;5rYHC3o7)A)N@;`46QZ0pPcgv26j(N2y+1p0`U z7#Ol8B)%t!)1@8#K48_%9v>C#g;Wzx?a2?W)|u`TU(y+hk@nYJw7bDlT+ZV*tOGVkjKO2 z_OtvNBMBi>>o@?F0kq5 zQ%*D|^8gyoi^SwDp9nxcAPWl{tf-VkhfM@!QZ)Pa8Whc2cNf{?@<(@SaJUh@)*=y? z+_79%f+{K5J8#)VG}0vQITX_v4cI%QaCYzBCV9OPLsT*UpZ0-(z&ZJ?;Ot-k?4k9*6%=6d+doKdm?M9M=G4fC3up zUidr|^z#j%mqXVtY2I159|~qrPx}41VJn4C1~lE)BT0%9w>N}qfPrVVn+6ODpHhJK zA$&0F9K{^-SN0|o?XCyL&wNP2i0e5q{BqvWQ^)Z&x8FE+;^+fiR|d>MMO55DhM|!! z7bc~qJ_ANquKR!X}5oDvIrxD%@GBu07a z#jsX)fZs-&Okl=b-n654s>Y@Ic$d>KzQwEggt>DZfh+KWK3J+CzY?I5*)pmS#sB)& z-u?vqb95U{5`6Rpwy#}XQYOE0w%N!gCeAA>)57q9dBRW|r9O?N_v*lHgAA;25etUV zz_~EX;>DZMA>kWYlKbz?{qz$M?xZ>*jAlfIi{M1(OWz!5u3S6X`zCx|JxDomodCxL zn7QDq5uOp<;^`so8KPLj%{7g7UMF06JEr`0@Z_mez5vgLnG^Aw=uKYA(3Ycjp1HtMs)_an4<6Mh=R z4pW)98F$p4Mm=o06s71=7g~?*YvFpQgd|u14s388`o>N&23{bBcpqNpvcU7qJ2G1y zyRXf}oFJ4;S8*d-2=MtnxClK8!9k~yK&W@&mKop3{qy^H>y4ORtO5`F$8!0sD#oV- z^I<_9m*3c*^VA*XzK9Z7sOpp|ru@50wI4PyIlMBPB;`lRU$_go4Or2W{rv9xq1kTf zjK_lrX{wV@Opl=Tpm60ceaK^d!G9gJU z^kNO7+H?1+`r#^LNajm+IZQ6&D%83Mki!a{q(i?oDU(+5r_}0qX*j> zjmQlyVJV*69qYtY3wY$KO5?A>;ee?nLosJ&51MwOv}ccWC*Ss@Un9n@bLcPA;zrzw zPNsF>CGL=HtAzF0?o2c5{V}wX%|q$x>I$1wSlENW_DwNi<>hEKB?|Sa*EL!~IkXHe zsuWtK5yq}AR^#;xDIQH6n31|?pPn0tI@cA`dy*A%)T`=JM-mQlC32Pj8?aSq((p7? zkJv8Miqi>gL>Na09mAQqScBCuH;IPTF~QWhD%u9T92G`929qPjS8YV@&@ZfcZy7~a zxKqPj_=;L|t4&S`sYAIRPM#%5SHpc(z-oBV^GIiKkPZ*~p9lg-GRzvt!)_+*>7If} z!5l3f6S||dU|ccA;Hw@P(*kMONR@itLNCX4h#mwTS0?z-cEu4z+?UdA%g(H-4*1__58)r=P8KVPmvXV{_&+u@qARdRVQ(2?8)%+OHpU zn;BcGp$zzbOuF2_M6wZU{%pgh9`JnZMjlBp9}0WlyT5x$1RZ6Mad%_c zwLgI9$A}x%b6&x&W-KWwDZ*+r=>6iCcguNap70-y(B{My1BTb>>HU8|JL<^1BXlOF zb511I(Out=e4*OMNH=Ymz1vT!-X$Yl6S#J2(BF@+$mb&StKukrlWHt z#lw;iA>`N;lMr7EowZ8-6wFAeacnw%|MqBqqcQ%p>k8Kg)+*(aw4J(c-D!;Ki* z9-i%c@(?_HIe3d|wUOyF+h*?|6;sW9;8CslOC_?&(D9+pH)jCd=SFz{TWKLc1>VA$ zzhs~=;jYhPxm|AJ(8Tb(*0%wl_zQU1tkrGHJLH^!vHY#6NoX*~O7scnnMwqxuMutK z7+cVa|Bcd4>~NW>eQLpf4taFj#JU^hFVe<7_k+}1SyWigR~L1Wj=QvG_&S^0Ase+r zNGOm_5-=Cwk^n5dS-sv!)eQCZ5m@D9A;H$p&Jfm$qs6y|t*q;J$sHuPx~_Ao+y2zg zW-UvdccH;rb${`Un_|d+ibBZ6a?Pv6T3<$Q(_`!Zun5B%GXGHxZdmya!=cIJTV@Cf zPieM2npTW(XI)+X-rnBWoF@+-&XaDuf|IvN5ydHTo!c@_PxylA;oJnxkOQHhOJcD2 zGG87spvFNon%iNg<$3MJzuZa0W4BdN`^|9!JsQq!4^69Ua|5#d%2p=1#X~ zC2-AQ-)}Z5VMG2i%Im{GDG~2)VxNuF6$J%_x;*{^esu*pZ#O$I8y~ZGUC%{D1sK6g zb0a!a2A=a9CJ*>VZNPF@n68jwp|^9 zxreRk=Etem5ckrCI`03f5&+p9@Ch)2yLrQc_`fc66T1Ofz_yjQnW=A5(2)ZT zE@ExXZSCHlN4nAe->L;}@a^SkZ#SoL{a=9j|4*LT=0zX@IA93>sRz{1;;tm|px%u2 z=MmJL-7{t_%RKr=Ju1Jw^ZJs&Fh9 zL?flIJd%&&M)VvaSg%Yw9^2k|0AWxY9>0x+)i?7*u___gng%a>0-u4qB&leOtOR5m zbJzzq-Yg!_h?Qog{be!2hjGYQ52fllL>Os%(-6t(;f^gLL)kV}1sj#M1AZ_yX~QVK zx$dT;2fvH%>fEVuF*c2fGZX!VtiN~~rLQH;!`hM>;rXj#7ON^5%S!%)M$S^}#Hzz} zYt1G$l4K(}L&fe66iV0T;@Q(G1Mj9=(1C7w_3G3N>;iProjF(CES7tfB2&yzOS<8m zITQlbePSc(XxdWif+4OYqJ6kt4M&{)7`xufyI*h!{3j6Z#P#iO1`mfW-75CZ;T&0qn2VdkQwpb+{GzuE$m9J zcJn);=$~sr-hbjL1kZT^nI8ek_@B)m9$C3le^#O`Vfoldzo06PVmv5Dc+Bfrz4G?a zLvJ0hh^udlL+n`Js2)HJGneVwG$v*PJ`2Vgbc_>{yie@346N?P0@?I;K@_pDY|+l# z-KGAN827T(f7e#^YF^LM7ETMj*ky0*&}ThpW8G>k4ftRBZFMqm5kLWyE))<^w@OzC z>LTb~8Qe_~eFj*~(=EbCPWa{l?CP3GBlm@j;TVc|?g0i?R5FJB49xm2H~w9M`0%F}k!ki7Q3 z<=?9m8hEI4uYSjIM*3F-VlKK*EId5<4Z%q^dM#FFB0`L zNRXI!Kjzt#V{@-Z6tS7}5{wzTMC8g}aa|~l@jWCuf(emU1cu1cXTCiGqj&vw@W-vq0LK% zsoqK2_B6mS)Sxe36UvP0TqLC~+2-Aqw~bu8W<087B`+j8-Ab3Bdwr|Yu`w&*m%rjB z8})A>iqJkJFI{FkhBDrqKF@EDvWfz4x;uB~fQdJszDNI{jXxstRqH zuvfD%*rP>?kd;QnIfG`7i7cv9mMqd0E*cLuxaEz;1>AdXKy*Y0SJd_FjHVTd)u(bJ zR~Hod1nP?&Dvr6e-c#M!v8TQvarlP*T%};(LRBwXuSvJ~#Vxr0S-M1z_p8T;TvgR} zGC5U#!k4|mB^JbY+y21Mv=sCFReo*GApJ)d(#KYBMD%d<`56TVpPImv!meTYl0pNq zf$ZIx5xS-cN%F%^vb#8GQ2j#Le78M(QQfH_L@Io<*rQ$<3v5@K$e9+$J96KebJdKw zF#mGa<#UccyIyyYljQ?isD5qtjXahg1g37BNELCP^CGX?>8JITR~>n$x%QJWuji#% zejtBsrs06ET_-Z^m6qpz^K)V49sgwz-fhG;TQNBjJB*K?g97Dd4_4DU`rB2mb6)wz zZgF4dXN?`m^o_qBNh&<&bVOCCQmKQdEH>r4xu4PtPMT3$gQP=LGTy08?@%L2gF2Vw z;zqsP4I7V$l(tW?5tXizKV94Zac~XBwHC~>otoX_XdV)4^t67^jpm8n<6;)W$2D{55B2&O-mSvaf3K zC0qe+Qp8`~sgO94<7DQosA5T1&1{}jnL&!f2Xf!M6+yF=;u;mj7b?}de-S=q@t6MU z=4KcxWc=kst|}9;dvuN6bYh)rCDW12>T`i-imcPV+E<6llS&kvMEk2N)VTD~xVJ32 zg+E%RX!O(6+dfQxhG+QrKcAri19;6hXZfiBiZE;DZIr+lyFuyBQE{B1(B_pX=i*5 zXiFRMr2ToyvVp_`ajPjv;eXwc=Pkq>v>Nh#Qu{D=T;wcX% z_dHgWpFYKQUCC;urP2)}xbjuN*xEtb>At)l+MDdP9tlbSrScrjdBW3o=mhoCc~qx$ zm_66=qc%4dM;gZFmJB}LubiBnt2(D&I&vjvBJ4GJ(LLX2_mA`)q}Y|~-BWrOCSI=c z2Z$A{*fwTL+-Q4~dXFjQQRRw+x*%yg!JO+&4htsjl;f0n%&K1+i_@bT+W|qBlBR!h zO>mgo+8Q*as6xDnn&DB(;gt>guDQhSoy2h=MwfLpyP2%7R072)Eg0reuI$}WEHm%W zSeD#2KQu=-&EUTLX75wJMI9#%we@pc`U!2cjEePsdt+X>)eMc$mMXP_n#<&v;BEY` zcJo(9ltiZ;5+7Uk%(^E3tgOj-g?chOSNS!~JZZo}e1F@jiSkHerlJ$X3?V{7Gt(*# z@@6-WVM5d~jKURuuJc4Qr-f?M=4hzmoZBD!PFsH`P2H8I>79~tiQ&stk5yrPd@0UG z1ck{&DXt#);Q&*?ZRTBq z=cH=|f2^^`X1F>zbWP6+l%xzS4pRBbquiGt?u{lDCgLTl7|VH2$UOZv)l7S3%~wAk zm5a*Er6L|Rf|A*ybZm+Z;Ns@QW`Q6v)`xZ`4&wey- zjKXo}UivoNSAWsK^l&c**Vt0M)H4xaXx56&v=8k4M^+k$6m_O)n%{WTBx*GL@ZbEVg-l|-@AT^>P_5|($~9x6AnwQ*W7$(WVIU>7i& zQlm=xF|YP@Hs^TyxU-e3&5-J^YFazrJ?opzr?h7x_wQV9XwV`lJ+x1dnJ`-uhA-+w zKjMmAKMFlJ=?NR$@SM`? zX+=G?=IVN}1!0FuM^G0!(0pAtT*}F^J`~bRq$bE$R#rKA*Z2@n*~U9(gnrtrjCx$w#-!j^7#M79Jzw`Rd!_53v6BUTIQTyPR8UlsRu>@CNf?Bvo*tsjAmgrmJ{iUWb6eGovA>*uhe- zNAs5H3c*e5=kKIsO9Tzb(?PN;pXMCfgdyg5GsLG~?W#ns@%r`E4q_Gli19lrTrA)1 zvAq81iqBuY!*tn88<4Zcm;FXq8>;07Iq}Vy(B^G z_oJr5E4Z>+#X!|fU*I7)+)nuH3Vv1`>Jhrm=au?xJddC%T;bE(?{m>ItSwkcV_L1I zV|-Bxo$IPVap^s`hrgsSVXY@a*5|7%YwzSTcl)xux$L2i-oY<4sQPvEYdy?Lc@X8g z9BYVVY0qdj)6+Sk>*B^2qv!;blUbjYsD(^--&K4co+r_Cj7Z62M)l%U?MO^<+Vgv= zd;`4uS;9Lrb@gA%IMGm>fmX>YTA%UFIFEkEersE;4q6 z(nk_2C3;zFp`PL;oa<5tnu!M8&Sz;q3?^Qia?~$BVNF#se%^*7RHS+z*7*qJGn-ad zB%4L-+Asj@c1wos1etw!PYM>~d_yzYB|$x&T*i|6{g0qy&{2LhR!)tKv+fB}Y2J*wsv7d)dHh z-uShaldkd08V;MgszS9<*{Laany*ymOVshJTG7f(ug6*h^NiFz$8(h8o^p7OpEtIi zzd|$F*Mw^GK}kM`tNL_N)y zb6Ov}=;$Xm(CL_~9W!307SMa*l;FA~zn3|te*LPia}LS7gF7PUWrrkkUyPS~n7DC| zl&=pGl}Qs;*R9Kzd5!-C!aTW05R4nGyckV;M6iz{KrAqA=)^2qsqaEiqPI}aOLM}I$7#vhB9xGn(G&M`Yt}RGA zN%CMkj<0g-&$lai?2R{7zhIdI1+F(b&G(lt)N@gnCCeEpRZOW?g-tcb94)1cDL74W zUxx<_J zGmN6f7xN)CxZ?D#HYxF_vw1D;e|9@AvIimh4yegOFUT{pPfRR)tvlwxKv2Hqaje9x z?DM{Y%7L1Ag&2~$Nkr!poyVucl%hw?w5AZd`eQb}zEWe!`*EiB1tx#A{9|bR>oa~hM92NoYsw^l9d%soRFD4ZZgYGR>sYJo0+$D8~6BK zZ*-2v=kfXc{d;`RqvIjBUhmiYdR?z;Jg*h0ZRta0}IX>^Ck{nwYgZY~jv7c;yvbDk z12}f`KT&H7Y?-f`d=s7=$8YJJ-n!ti6$SY^QvFl8h3h;#UQ;|$^fwex$#!+gI#0+Q zg`s8g_ASM=5`ILcz!)I{(04gK3;fgyb7I0IAm!GW@^Ob4@^f+%rtFN90H8u+y8PEZq#05f9Jk;j^CrI^MZ-b>RZ; zQr3n?Rsqu98)dJlC#OXeW6%j<&(74I(qb`Kv^#wNYE}3dHiqHHntV^}>0q-u$ZMj% zWXZc;A0+9OY2Q$U)aUEkWbfP(n=BVza^vYX*sO}Y1nYCnFYnT zhfBwk7}e)7W`)V9(9&`Ks7)0Q|Jvm;?szS^K>k2VokhODyKkfJt9g4trX|PD19r7b z$Z5{Hrl9pwD`PPuUX|mi`n*)?)ch;?iLxg((x0f<@U2!wPOeOv>|h-JUUcxlu5y9l zB?o<`(BQ-*1BJG*?wPzw$wG|jpBU>`a>=c@>e+J#E-WPUFSs_J*j6;$PtxlXeBc$P zAXqMZVj$0%s^KXSUz6|j`&7+eDEYUWF$;oMrg0zbYBrD={4l{8y+u?}Mn_sOQ}i3d z&EZu0;fo=ggSYL5Mvj{hjBkK{IRJ*tmI+$ipdoWjUZdkf&)I-tR^0Q=$qX<1PxL&m zH>dSV>^sh2QN+`BC)kxUvR0qr*!ZSnW1H5`J?-X(tbzpAqZ3yN00{c(n#xbcC3?9O zZ7!J6>G@PIs#|dGy-Va%uNm*({;=TTbY*LsdlG)t_KyBy(PDG4m-X|E4KiHg9VF(S zX#R7%6Py@r20Y>iH){S{GqqCH2Ys|)_9);aPXpu%1AR5tMLc38yYaN$jxtc3uRVG( zKOpAgb;(I^9M03#qK3DlUd#pa8Ca??*dKDFpNM$$TGWU%FMJ!U?L`jL+tc!{7Y?3@ z)IO;$vi-A&axX2|(enz@hQ&9d5WS3l5C~kMX<$a*1m!FZ>v1%4fmzu}wgKrc5 zw$E~7S(6ZmOijG#aNlK+zX&`&N00M@YUJk(LLTh8)XSUv3r`8U;9aw4er4!WyT4?( zi`8u6Mz^p(^WXYU7p7Tm%yv=xZZ~gkD!ne`S*0#*Vl0=pG}ry>m8jM;UYMv@Q_dvK zXsaGHdeZ|*)y9!YM}~(+>2FyTF&|(vFt765zms5K^kcd4EfAHLt~b-Y0tLSO@n$^bGGB^K4~&^U$=L@!A3Y=Z478X{YxY zBPE8B#|~6#n#MBWEI*^2^(2xV-5uUNzh)rl>@k;}Zp8B3NGFt!KJ9&e)G6#6jC^&T zh5d+jl3{)jBtTc`N2YBKO>+91b+UDxIZeaN{6L0f=>EmVM9=q6I8K#yf|;z`$r@87 zY1?M+qgR*mX&aACL=_cIyi#_#d|pin>1j*zDd$%#V8kr877w`mwcU_qz0ov7=%_qT zA(LdYMZGDFHVI(+G2TJ6eqc)6F<94LU z8TF)QGj1w$nsB)encnRrK z=Fv*Oc(s9oo1d*oFp<4yK@p{4#Ml<3_R;kVhv#SE^92eL8!t(kzrAscTUnUBx^8;l z?7{l1tmCZ_zjh8zmrOWf1ZDbfLysm?DZjS3!^Kre%(tS)hTk=HJ&fza@|CXFtL(}{Wa<@$HxpUqIHmT*gnDf zVdheO{&kW0zqe>C&O{1XWIY1|V4YE}R&t6WtJHYxiFUpR2c^aG9oqyTyW1*%?6^|w zbok@i4Uukh?I$Hmpx3CsUA=s;a*`fwRF*H}h=c;ebCr*hrv*LB0LI-VbS+i*z!?|n zu+z|o#C{AfKgv1kelvByK(7_%pc?%7lq~yeMRagg-$Xydfzy?7QLzb|Lv{v6m-D5} z%yaXHxOZ}+PCF;(C7hOCICXSmi0Mb-!H=Tkz`(&#`}b_$_sm$XdyY*=@Iko$Y^22D z;yMn`CETG_W>@*tfluWgf?SN_3xcV$zYllY);#pu%3)@n9Nu12Q>68{+!$IKU$?ea z0UOJqIV7oD=$hK*1>!MB77Tb{!zax_2Vny zWoVq`gX=+d9c_fTK;E7D+t&LnlFPF-D!lTGm;f3-wH56m4QABnTT`9DIt7Zhwss73 zP?EHK&j3AwA*&Het@)yU-9e!q4@EtY@#NL0mUEDetSGBHtQ(oil62%^HzDw9$)=*; z**z?29YX>e>I2f(&MtyVUZ^XML;4bfJy1{G#@Q{*dOT|Jez}lQ_A?}gKnToUCq=w< zVkElVvfkpU0vGqI=gUy_Atd-cHRax6uh>9dx84845u6S4k_yV+saq413bxjH!ldK~ldor9vkl5L2EwP?%FaFF8wd;9UpN#=gWxA9C;)I+(4 zjRH|H6T!EhAg!c5?XT`i|RMPqecc#=YedXC6q|-ft9jMavMlR)%LQeG?(OTnCvBkjkt_o-* zBKV|<++m`CDwx+9UKo0#ChDcVD~EZzMewVH%{J{^hke;RJibhWee1;r<{489m)~8R|El213xi*o3ap;!o$iB0N=z zZgnfpQn~hVuGMH8hU!A@RM%=5Bri-MEgO)|UU$>)tu|6vjpna*F+e8f3MV2%d8*Du z0<;{$&B)!#$Ro1en04A(l4~R1g7-2e2vY5f_^z8 z>!3RlE=PKlWMv_nzLqlWI=d}&DIssOu18R(c81zO&I?Nmp;VHYp5ojo&&vFn!A_nE zfeptuK!>?q+xH_EKGL7clp0XH+xk4mE5S<7YfMMfUKX5giOSQilWB8U z-*Ee7=RgXhg=!1KOMzV@?>R4MGhkeYN7#Nx&CO(G8AP>b8DvGZJLGu=JbF)Dy46Hp z7@3=5J7fhc@9G+U>X*Q;k-F6sGYFn{6#+;Bf%k{yr(cg^dM$;%uct+W5pS`{ zo$3r>nyUJpG{2xY9|?ez8x2O%V`~mH-`-`@*5O%--=@nxN#XZY@z^-( zYE(C$-EY)hB=Ad;yXDmmH6*iHNh!G;$tipx2#rWWum9IBsvcDSupN6E%JozN1$(6z3BSg{Uw<<-jU0bA%F^6gnX$ynD?NbdGU zhVo$go~qakMmP%a`4f{e>Y!p{K70)F%E{5$*^XulbJ@5E*m=mU<39weMIL2c8$<;w~-?w7(xJ&O3eTAS!Dn>0DQE$n)KQig);}JJLroD!9nE z^mjGX%9lMCer>tO?PEoJNhz2-UQJQtG{LhOKV)FWJh_F zMJ`9yjdwERd!Vc&{cu~Vc~;t0Mn2Kehwke;&aFG-r=0E{am(&p=8e`_dDGCF)uXfW znQj{Oq3`od^`QNrl?l z&SpM0V4Mz2tzkq#6t$Mgx-;E$i=fb}hpOP5f^~*^2~A7AmDWM6A$${Ly8G!FzvSO)kd9=V~5^k9jG(Wj!Sc6C{JX#PL@9m*Lmw^VPO$B=B;EL zHx?Tk9SU6&SzvGt3iZIj;{I$;;FMHi-S2H3av3SFsqm;kY6#Qrg--r{=3rLE@eknw zPpfK1f^Ysa?&pht=hLT8Llxga#;h4Fgom4Zkv`VtcE`}ssb|TYAJRJYpBFg|(bJA{dyyu1-PZhcixz3Cc$TgUvVJUf@N z6>NHn%ecuCctsMuo<>~~Dr(!w#T7d5$j`^;SNf1ygCg5Z3W2z(pflzXr(&Gj(wwq} zh6YrZ?W+|t9sN`%Hr8Dz+Xdeq3pM%t_J$@@i~S`N_bB4CbX>Y{6R&23EU)Y~Plp}N zX{34Ip@<1rb7+Vf<(uN#f5^7mX)t2S9X3!!dWc5aS zvFPLYl<^<-dkn;~WDKZv#_#vpAA_OImC}zVyzxJ6aOeCE#U;{d2X3GVjy8hxgW>eY zU{F--ejo3Ny^+cIvl=-?)B#Khz2sPjnYHwzhJh0!T5;sgQ8*mqVv55v$R(+hFMryd`(xJUoPT zQ+FxQ7wRjwN_N^*_{+=5?Sw9TeDh`(^!z*=Z}xu(WR3D1@-)PIUyq=wwgqZ&)k8%o zB1kWnA8=N%MVAphxEm#82}1NE#_#vV>$PU@;ltF=yLl|oA4?5>%rG($8tuxLM_1((J-Fh=<(yzuKmn=d;|y&J+jhD6XU|f&DGY8Yrj)09 zyDx{RpSAmRm@R0Fprpkt1h6Uq@fuAqGwJ)kW{#Adrr8$lEoF zbI3Ei=vD66vy|rVCOkLZ#ghV})ns9+pB1M7)l{dIlpGyll0(BOTk33UrD?DsJN*lq znuwVW!|#luj+&#B_K9u%kp2j!bg3C|XgsWW5ovhbRI4IutV7Uf;^w=aIP4}xPTLuq zvV=r||MkgX5`(rEZU8}1V`dD7Q=$HlTg7q&!t zlx9^56ivFYz#2gY+$0STQR9{yB4-m5uqm|0`E5y&_gNHaJSmiNC$uE7v^`V=m%65F>O#yv<8lA9&%F zYVc>{t{W=M8r2UE_y}xV98e(z`YR=Q*iasG6p0Wda88TW8}|rAQXgVf=o6%llmZFk z1%I`X&mk`srUxCrC&WhGx3Bj5=%)5C<=@7T9`l7nwibWRkRDK+ny3_I5WdW!xL7Zc zj2W39YvOX1A(Y_xJh~E_Q~WUP^@{W&?N+@M-`B8@y!?6^ean{;q9w9j*z>w$cU6D6 zQQg+2Ytfdv8w!183ZL`am@n|Yi+#9~9;g-n7VB zCepEtcgN_t2|gGz!!k)4#&tWJSkc`tLfsO%B~7#mWlF8}V|o|kEp?i}#8Twr5L^y5 z)3yZ&3#P*Ni=%wAfCFKKbA-{xrJ~mESI$}zG}ev$^d@YV#$%jiH(`Hrk-XU(_t`#$ ziiQ?agwB$K^2{4-4voBLU?vOaV029RV%ccBIcDrAcj;QvSc^9VrKP1|p!JYN+W6a> z&*(H2=Ew9qCH1t^Wps)pu{5#WZcj2swJeM#RiRyYFtVF+=TV^fJSM-0m(=R$$DFcQ z@0&w9#WKB7-5qZwD$sqvRIdWyw85XS&E+@RFy`Ph`-pm27prYTw5HP?iqLwig>%4t z73jo+#+3M9jU4RC*l^n$GxiGzT)tTTfz7<_D7_{RE7~Pa%hMYy*b8l~JFvOb_#%($ z(sS`Z7ZCFzy8+}{bK>SN5M~NlmWCyxk=W9u3Tqv$vPs8E$FpM;v$7VIJ=?Y_df>b5 z_83hCuml_MH)c%cFl(0GaKC8?n|fAi?S7L&9xQ~}y?8!)zQ$lfH(ya%uy8A;x$;|XgEf}6LIwDDDU~SjtWQHi~5x!yA293X%hlM4ONx; z>SyZ>W@?l*Jk5?2#~gm6eMls4D8@`)THy#MDUClWh#3ZFP&yuNB&z7tdEXKZ<&e+N zXVK!ay+WQo6*qk6x^-DwFRP-1)6D!*?F-hlzGqlFBW~MnEtYEc>wg4KWnO+GMW<-h zlams#wP-(Gaw7@nGFO0&$`OZ+3*iPd3y-sl=EdxXQm*2C_s$-hA_ZxF1j%pL$oi6t zDfPO(iDIr!|9lFT#Cx`Ri_y^HeVpQ4A1*;1gJxmzb@s_w=pJhn&&S>p9rq4He`Zy* z|DEfQv%k{wSR(lap;B=eM699}-H9mrL?K?%csvHX;9DumY>*>k-1y?agx`xH>2z`9 zE;<{j%lZ-B{YvfpzPr@HOfrN2&XA8XA$$*Xa*xfCf&#woi3WR8)eEZaFqU^2CtF`) zv0kzUV<&QM-28S&J-?qz(cFVJ(kPkWWzCP>R3xvE>Qp|JoU_2uy+aaz=Trf-a)`8j zazU#(^x@X9q8+4$O_h$CT~qDYaVMfRK114gbZD5?_m_gZUQn7TQPZ}>3+GFi80Ybb zo=eta(V-ca_2Z6YMz=Md8l!W?DQju525;xSCV}3=Z!Nv=tI{k1aq#x?o1DI9s@!vi z2_&H@dg`ncKT!Ms|o6(cHq0E3yLb zAfMt=$Yr8c6{llo`{-B+53)D*u1f{pVZ5Iu#obYfp3vkz+H}yhxAlPXMNXrAA8UXG zmDjMKrK#TWDOQTLoBNS*dX=nM-^Ayl>Gt`0kGc2DUxq?ug^b8Vo${?P+$9+|AYnWH zaUUx=O#YUG>qKtJe7D`*#)CdXBZf!BY+lH_xMCz^w9Biaj~d$?iCJ3851V6(u=Q;2 z>f+6JP~^CK$|V*nz%CrZK`kt7RLnj!V71hNrBjEoZuu1xo%zCqe!4Ir=9b37pA!LD zJ>eNk)8T<<$3|ntUMym&-w!X_Y@085Aeu?Ix-G}nL_Ay9ap)|ycp29(c z!V9aM0SQth+C?Qiqi>!=Ry6V8g9j?c*D=ryhF$bB=OKT;a<4{g{KF5}TK!1e&Z&lI z?5TXg!UqQvINRqgJ+h#6KnFt{OQE5Paq~Mpv22gCqnB;ngmV`;VsFhIqs|XKjWDVz zJOu#(&^!65&#uo94+}M{xkaivIy%TO#t5T|Pdi;2XSiCR8?#O!#V3dMA_~isyx^UK zsr}+j-a5wX-Rrg_AmE4J*WAiuH(2N0HW@J#%4X~CamcvYNffg+=?zP47cuyhL%pxm zBvlnPIQN)-@7~j_vq6EEUh=fe-J-?ibj`>`!;6J;Rpd!dh$%>Pz)vcd8rXSZgh0MhRPX@iON!!MBdbEo>jhs)UcV#%a+DH_b5Rz|Q)_NOM>#s{C zvT&d|Y#SA&uU38PiwuWMu(o_hYvIdpt2lZ#ODQf}-e2YKGUq@C7=&}&2ye`(yJ>xm zy%@8O@u8c_1YJE86XDDL!wSGhTERDE>G4uiwdeDe3ZPb*-j$Lgr zD(1=ov%4Lqs^>pbFR+lJ z$>DvxTC>!WCf`Zr`Xcj6N2A(t?-2Qk1-g2vzq8df4fWRv2~Y&-4ZhOiIyr{HWwUw3 z4rO4s9RBjf$5*r{r>PoTB02iHq4VOY1IkMckH_Ah1#Qa7$vHH0G(@m&S!TkQ_17O{ z;NO)nKL=jJ7r9-G7`G3(&LnRqJ*WA6rlw?JSw=0pd8?PjFyCQeebl|kg;6|spQ=}0 ztUYmqlV|k71~b6)-UmyvNvYld>`i4~c6(S^(oe=x7v`^MnyAA__L*&ves zZwDR$G+vf1WQy~iUY3~4ZYN@`{}E&ggS1cU1w|PB+H|7c00hn5P0WkiZvVFS1sH`t z55$M}gCha3T7=QMrmBB;G&}g)$*)HLzvL_`D*B$!QyG1;Kp5mZPGptKY?ils4Sv-G zegX{S@TgU206alZGqwB9A%7Pwva|h{C8@dho*?>Ox5(8gKDgvqqj+%4{+R6S?4J=4 zZ0}^l{L!g1Czsy{fT-MiM>ek|5d%94{>vO#-TUxIxcpyPVZ#>oJ3nIu(0*wq4-dDT z9SVgb7dv{C@Z;Vs!Bs>Ebf(_m@?qwY&^4?=Tje`pz4X73O~Wc+M0?OE-xF%`jWcpC z79Cl&>?13D2R!Jo`Rey)($dt_G`#P~}TbcC7D5G9o_k+v`u4f61T2w!ZXVeyi<)GlL5RIfwsn_q$tH_7T>I z)Kyl4CQIr6u-b|X{~fC#&&j*EfKH; zh`4-*&FUk&hE0#0U;7e8wI>jti|{%=a^+nQR3D9W8J7;;F4((cKDct$ixoQd3a+&@huf*x>eAK=AFI zrNj5hYb59A%L4vx3>^m}jLvmHD;8qa(>)PJr#s-MG0T+un{CZSJath^t9e*i4W`W6 zz=kTj3tbSnzNvb_>w=cnPI>2Jpnv+0zFI#cmkEODxYc$TLJUy9G8lVAXFeY8DY<`E ztCOoIdcH=^-pS3=U`8%CGBUDa>m?9r>B6ziHy75)tvQHKQ7Si)Tb6{zb!$kg!UX^i z@#~lM*Ab3pmzBGX0CcOi0(@s4IcQsa380@2SI2{EKR_&rRj(<{mUud<4^+Y0&lz5n z?7Ig7r-t+E7B6YBJ!Izh+gLB}#IWWG|Cl6*YgEmypY*>hw27JT?J}RQ+3kvF30_

Eo+?r`dWYk7o7^cw_?72BiKQKwq=<6YfOR!T?J-W(OKYj zppMz2Rq`VCZgli+eDt{=&IMG_AHV^R9?c{AeRcU2AEkjwWcPX$>PiKMZJzEKB2mnB*&< zV7aOjLFE6}MLuU%|8x;}8tP?>!O34xsNzQ?xosi8$}YR$X(pB1es*}^`_@Lv=YwU# zz2cyKr6&qe$KQ|=fI7>LtajswAE*VF_)UC#{QtPf8~yChKVJldD8#=W$LyE+8JT}P zlYhkjw>)scm!U-kTDj!({J90OgkhrO=XnUEcMtEg{S|;ah>KV(YpS(WzW%_EITZoQ zD-0dG*c|b0j!=p~wCxYnselN`_I!u2FEbydyunmRNvRi_2W|T8`3=pZM)vS8oauDv zu(Ta{lU>0~ZD1~kZgHd#NoylYD}50yTX;-829(y@8v)CD;@e#}G%~b2-J?QCtK{D%4%_6B1ah zRLX8x^DixF*t?|PnwSv_H04qa7Lgyv7Yum}vTo+Mhj{JDwD9A@d=>~U(yQHK|!VuAhBXl7Gs2(t;gr~w(J z2gB_;@%R~&o9Bc)9q!!m%yc1-gVORftq$TP&%xJnX#1#A9k$G}@N72LhVltRcRF<3u+W+m>g43+|_qQrSRlm{@eh9H|W?u zv~MeNa{-0(YL$XuQ}}>^Sk_zmuxXY2VEBM8gjRWx10i3!hudsXZ)5-Vdt51d1tcn> z=wV6(j#~%qHe1$#U+N}TKu^=({1q05Y?s+%r-CbnKnAIqcC#6gj~d__*bws9FUK!^ zV?x@ZZPGiyxM;kYsqQ3eOp)ET8o@O53+PHtIC%L@%K>W*hp`BSxW>jt%s{9);m<81 zSnb3>!U_jKga_I67LlA?U_nHz{PeSmii*kfK&@@>eGc^kKb0o`Wg2LL!a!(O=xkr} zLgG;QD($L|A}7LOgt-c;{?#f0MJdjI@AuiULa7@vMSKYzV$Fq34GkB-?kro;~oTI*mjR@%RZZ>y5BojkyJ!M4a_opXR0uKsox`E3C18| zqnYYCI3G}B{NBz$9Fnir5hw`HZ#KJT@qEp-dKU4sXUzeWf}8u8M{;rRf7ipyj_d4k_F3n2Z!xF5-QSjSNfA z<*?YxRWdRcXrgLXFruwD~|eVtP{|o zAKa8>hZQ9K#Lsw4WcOdlg>8&gF=55lmIrhX(=`oAxeQ^2$f#!;1#Fvqg>CFl(-w@BvtleqD+v*&iXxU&#JvcTp`6d6Ge8w>C)~Df5Z@Z@SGY73w^d^ zCrE_lSH8HDJc6cGd$dQh*~#FhWpQ>V6RSn?EeKS^l!d0TY%FT45tukMqs&55Tm+Gx2Sx3{M^$8oFLE;Wpu0EsB#H zsE^`5q@9FC)B4eVa9aFiF?9!ZkD*iiFM9XvCe#cL%660dSTA>Bh>t6~Di=0i5Z$P& z_CW}Gdgp*+yG-Rueh;~1NNdmOeZXT3`aQyk+kCQWk3Z64mk+Y!T9JtnkH8Dbp)HOe zu3u%>1T^&Z1R*a`FzRHT$Dx*8-RX`QSS`O|f>#EdAah3jHdlpmy;?FC1Q z&)T^uOeW{D`XCQ}zQXn}zw2ZP7CXNXMPKkt+I>}`B39_H8Ies?Tv9@e#L8b1F`)Q?4 zgj$)4WkL$Jol6l>C<)Dyy#_EsvKc6%Kw5&NqMPMDY|X$xO(j}lY~XW30M;4u?FGB% z@>&a%ouM6WSFWSG`#A>|+>Gy`pN|{z&d0dxwn-jYx z+#T&3l{vIb^|ZD6J1w4J|5lg|tyiNI30HsVw5xwZ>tUu{Ay^`-!0kxTfVTIL-_ndw z{SwPXH(=e6occipa&E$YpPS&di)T5g&-lAU*0kbivj+tdkW9h?%h@l@&HS`p{-PY; zSWBT1C-BxTDNc(k+I>(YQr7>?FPkbAi+FV={_^atfW4G;AR#sIuF_zm+mau>M%1^G z5_p0;$#b}QUmSLyYEW6V(OfzP`o{Bb+O~73Y%1g)uyLgi+abccEuxQ*>~d0#cs(Eo z$f^LVRYoKR8#?HPd(al@nm0<_?mI&P9&n<3NTHnDp)5vn7&H@?hc5qV5X2|eRf5p~ zO@qhE7II(@x;Zvi3#I~7!gK2FTMan?mEm)nY2-qSkF~?j5IcxNL~eYHf3e}AF^N!4 zg7G7A2G$sA0u-fkQon$9L77jAZK1kF7$Gih2Cgq zZie_4vyZedDKtc{5qKvsm1P~_VYT+7;j-<6btW*R(9T@gFmEP@To1lHq!5Q^NH`8P zL}LJj;6UaF04Qcn7{ifxaFACRtH{mB$Vh?#G!or(8o3f?4G<7$Y?Ds)dxXtNagv1x zz&c{(k+gb*Uwni2K{}0tgy(=!fpr?5+((Q5iw?Js5PXqFZ2gjvgsJGK)U!v*I`w(&#jcgthUmAsN2x8qKaY^)?&B71 z+hI(q)lTW#d*K}X^8M{HX)wU#H)i>n3zTUOTD^vg;-Hz`PT4_qa_%%-QTg77(FpXl zanq)V3<-M+OeP>sn8}h&{vB@iN0Fz*s`ys`dS-6srPh9*!-x~`zEF&-z5BXP{tWEq zpWtOvFy)5`0C_}W^nuwXOPMR1bsU3nclSztP*IbjQW{v?td{>Wp%TPPBX z#lkEYTvZ~`0u+EK0_ju-i~8#n5ZJ_A=0=Hi%}5e@q|*S`;LX}D=-G|vy7~7}l=n^D z^||dkp)s;I?4F!6ZHvK3A=k-!n)D?x#SePEV@A^|1;?lFi@NUqkRHyd{Re;L10BR9 ze#qy%AC#YKh2nG>tA-M!;rIS=?8{(2o@ylrhsElj0=%Lo@?1 zAu-v9KFLoz1tEMzXl>u3F8WwJhdS3mELs}(h1Tqf5S4^l)@U4j2N5R(Sj4-L%XuJ) zUbg^a>k1jtk7Oqb#En2NRlxZ-_BK!ZQ%5|gDa3&=Yd@&*uACd|AR^X7a&j`JqobQ0 z;7(E^ZZXjo*-3Hn32;Bk^Sfu0a~8iO617sCwc>;84uGjo?sl>6yj^`55+|mkf+E6Z zLFE<^9ZC^d1lj8vW$%H)tL zc!-Fa^!K0;q4t;CvC~!s;a&OhKmIVQ7!Q?;qUC^^%h>BGrmDBvUAeN$o$Tl#*$vXC5=uUJ zkc$jeUWK;M^d2b~*vcOTcC+5DQEU zJfx#-?NqIw0GCLufDYl8<`nv3iVmceCjh_eP)F-&7MTF%Zc7dkhgBBBKp_EBPUU3F zN{&qUqA7&4{Alake!xW%5zpio(4-e1KTEK-fGo`qi^oawMz^xnt9a>IW!YGV7Yx6 z^`d&p7}hgx+IFcG?crt*Ia8N1%|NNIYfo#qPU^O$dOB)e$a%`IW zAF~qqd**+(I{)wEpBm%;N0$F1%NpP8|8I7fqccWJTxNP`n+S0M6zZ(9x>EAVD}Vk! DG?xb@ diff --git a/inire/router/astar.py b/inire/router/astar.py index 098bf1b..44e59da 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -2,6 +2,7 @@ from __future__ import annotations import heapq import logging +import math from typing import TYPE_CHECKING, Any, Literal import shapely @@ -9,7 +10,7 @@ import shapely from inire.constants import TOLERANCE_LINEAR from inire.geometry.components import Bend90, SBend, Straight from inire.geometry.primitives import Port -from inire.router.config import RouterConfig +from inire.router.config import RouterConfig, VisibilityGuidanceMode from inire.router.visibility import VisibilityManager if TYPE_CHECKING: @@ -98,6 +99,7 @@ class AStarContext: sbend_penalty: float | None = None, bend_collision_type: Literal["arc", "bbox", "clipped_bbox"] | Any = "arc", bend_clip_margin: float = 10.0, + visibility_guidance: VisibilityGuidanceMode = "tangent_corner", max_cache_size: int = 1000000, ) -> None: actual_sbend_penalty = 2.0 * bend_penalty if sbend_penalty is None else sbend_penalty @@ -114,6 +116,7 @@ class AStarContext: sbend_penalty=actual_sbend_penalty, bend_collision_type=bend_collision_type, bend_clip_margin=bend_clip_margin, + visibility_guidance=visibility_guidance, ) self.cost_evaluator.config = self.config self.cost_evaluator._refresh_cached_config() @@ -230,6 +233,91 @@ def _sbend_forward_span(offset: float, radius: float) -> float | None: return 2.0 * radius * __import__("math").sin(theta) +def _visible_straight_candidates( + current: Port, + context: AStarContext, + max_reach: float, + cos_v: float, + sin_v: float, + net_width: float, +) -> list[float]: + mode = context.config.visibility_guidance + if mode == "off": + return [] + + if mode == "exact_corner": + max_bend_radius = max(context.config.bend_radii, default=0.0) + visibility_reach = max_reach + max_bend_radius + visible_corners = sorted( + context.visibility_manager.get_corner_visibility(current, max_dist=visibility_reach), + key=lambda corner: corner[2], + ) + if not visible_corners: + return [] + + candidates: set[int] = set() + for cx, cy, _ in visible_corners[:12]: + dx = cx - current.x + dy = cy - current.y + local_x = dx * cos_v + dy * sin_v + if local_x <= context.config.min_straight_length: + continue + candidates.add(int(round(local_x))) + return sorted(candidates, reverse=True) + + if mode != "tangent_corner": + return [] + + visibility_manager = context.visibility_manager + visibility_manager._ensure_current() + max_bend_radius = max(context.config.bend_radii, default=0.0) + if max_bend_radius <= 0 or not visibility_manager.corners: + return [] + + reach = max_reach + max_bend_radius + bounds = (current.x - reach, current.y - reach, current.x + reach, current.y + reach) + candidate_ids = list(visibility_manager.corner_index.intersection(bounds)) + if not candidate_ids: + return [] + + scored: list[tuple[float, float, float, float, float]] = [] + for idx in candidate_ids: + cx, cy = visibility_manager.corners[idx] + dx = cx - current.x + dy = cy - current.y + local_x = dx * cos_v + dy * sin_v + local_y = -dx * sin_v + dy * cos_v + if local_x <= context.config.min_straight_length or local_x > reach + 0.01: + continue + + nearest_radius = min(context.config.bend_radii, key=lambda radius: abs(abs(local_y) - radius)) + tangent_error = abs(abs(local_y) - nearest_radius) + if tangent_error > 2.0: + continue + + length = local_x - nearest_radius + if length <= context.config.min_straight_length or length > max_reach + 0.01: + continue + + scored.append((tangent_error, math.hypot(dx, dy), length, dx, dy)) + + if not scored: + return [] + + collision_engine = context.cost_evaluator.collision_engine + candidates: set[int] = set() + for _, dist, length, dx, dy in sorted(scored)[:4]: + angle = math.degrees(math.atan2(dy, dx)) + corner_reach = collision_engine.ray_cast(current, angle, max_dist=dist + 0.05, net_width=net_width) + if corner_reach < dist - 0.01: + continue + qlen = int(round(length)) + if qlen > 0: + candidates.add(qlen) + + return sorted(candidates, reverse=True) + + def _previous_move_metadata(node: AStarNode) -> tuple[str | None, float | None]: result = node.component_result if result is None: @@ -309,6 +397,17 @@ def expand_moves( for radius in context.config.bend_radii: candidate_lengths.extend((max_reach - radius, axis_target_dist - radius, axis_target_dist - 2.0 * radius)) + candidate_lengths.extend( + _visible_straight_candidates( + cp, + context, + max_reach, + cos_v, + sin_v, + net_width, + ) + ) + if cp.r == target.r and dx_local > 0 and abs(dy_local) > TOLERANCE_LINEAR: for radius in context.config.sbend_radii: sbend_span = _sbend_forward_span(dy_local, radius) diff --git a/inire/router/config.py b/inire/router/config.py index 5206f36..7a49a2f 100644 --- a/inire/router/config.py +++ b/inire/router/config.py @@ -4,6 +4,9 @@ from dataclasses import dataclass, field from typing import Literal, Any +VisibilityGuidanceMode = Literal["off", "exact_corner", "tangent_corner"] + + @dataclass class RouterConfig: @@ -28,6 +31,7 @@ class RouterConfig: sbend_penalty: float = 500.0 bend_collision_type: Literal["arc", "bbox", "clipped_bbox"] | Any = "arc" bend_clip_margin: float = 10.0 + visibility_guidance: VisibilityGuidanceMode = "tangent_corner" @dataclass diff --git a/inire/router/pathfinder.py b/inire/router/pathfinder.py index 5f7d01a..30aca20 100644 --- a/inire/router/pathfinder.py +++ b/inire/router/pathfinder.py @@ -1,6 +1,7 @@ from __future__ import annotations import logging +import math import random import time from dataclasses import dataclass @@ -8,6 +9,7 @@ from typing import TYPE_CHECKING, Any, Callable, Literal import numpy +from inire.geometry.components import Bend90, Straight from inire.router.astar import AStarMetrics, route_astar if TYPE_CHECKING: @@ -38,6 +40,7 @@ class PathFinder: "congestion_multiplier", "accumulated_expanded_nodes", "warm_start", + "refine_paths", ) def __init__( @@ -49,6 +52,7 @@ class PathFinder: congestion_multiplier: float = 1.5, use_tiered_strategy: bool = True, warm_start: Literal["shortest", "longest", "user"] | None = "shortest", + refine_paths: bool = False, ) -> None: self.context = context self.metrics = metrics if metrics is not None else AStarMetrics() @@ -57,6 +61,7 @@ class PathFinder: self.congestion_multiplier = congestion_multiplier self.use_tiered_strategy = use_tiered_strategy self.warm_start = warm_start + self.refine_paths = refine_paths self.accumulated_expanded_nodes: list[tuple[int, int, int]] = [] @property @@ -125,6 +130,139 @@ class PathFinder: return True return False + def _path_cost(self, path: list[ComponentResult]) -> float: + total = 0.0 + bend_penalty = self.context.config.bend_penalty + sbend_penalty = self.context.config.sbend_penalty + for comp in path: + total += comp.length + if comp.move_type == "Bend90": + radius = comp.length * 2.0 / math.pi if comp.length > 0 else 0.0 + if radius > 0: + total += bend_penalty * (10.0 / radius) ** 0.5 + else: + total += bend_penalty + elif comp.move_type == "SBend": + total += sbend_penalty + return total + + def _extract_geometry(self, path: list[ComponentResult]) -> tuple[list[Any], list[Any]]: + all_geoms = [] + all_dilated = [] + for res in path: + all_geoms.extend(res.geometry) + if res.dilated_geometry: + all_dilated.extend(res.dilated_geometry) + else: + dilation = self.cost_evaluator.collision_engine.clearance / 2.0 + all_dilated.extend([p.buffer(dilation) for p in res.geometry]) + return all_geoms, all_dilated + + def _to_local(self, start: Port, point: Port) -> tuple[int, int]: + dx = point.x - start.x + dy = point.y - start.y + if start.r == 0: + return dx, dy + if start.r == 90: + return dy, -dx + if start.r == 180: + return -dx, -dy + return -dy, dx + + def _build_same_orientation_dogleg( + self, + start: Port, + target: Port, + net_width: float, + radius: float, + side_extent: float, + ) -> list[ComponentResult] | None: + local_dx, local_dy = self._to_local(start, target) + if abs(local_dy) > 0 or local_dx < 4.0 * radius - 0.01: + return None + + side_abs = abs(side_extent) + side_length = side_abs - 2.0 * radius + if side_length < self.context.config.min_straight_length - 0.01: + return None + + forward_length = local_dx - 4.0 * radius + if forward_length < -0.01: + return None + + first_dir = "CCW" if side_extent > 0 else "CW" + second_dir = "CW" if side_extent > 0 else "CCW" + dilation = self.cost_evaluator.collision_engine.clearance / 2.0 + + path: list[ComponentResult] = [] + curr = start + + for direction, straight_len in ( + (first_dir, side_length), + (second_dir, forward_length), + (second_dir, side_length), + (first_dir, None), + ): + bend = Bend90.generate(curr, radius, net_width, direction, dilation=dilation) + path.append(bend) + curr = bend.end_port + if straight_len is None: + continue + if straight_len > 0.01: + straight = Straight.generate(curr, straight_len, net_width, dilation=dilation) + path.append(straight) + curr = straight.end_port + + if curr != target: + return None + return path + + def _refine_path( + self, + net_id: str, + start: Port, + target: Port, + net_width: float, + path: list[ComponentResult], + ) -> list[ComponentResult]: + if not path or start.r != target.r: + return path + + bend_count = sum(1 for comp in path if comp.move_type == "Bend90") + if bend_count < 5: + return path + + side_extents = [] + local_points = [self._to_local(start, start)] + local_points.extend(self._to_local(start, comp.end_port) for comp in path) + min_side = min(point[1] for point in local_points) + max_side = max(point[1] for point in local_points) + if min_side < -0.01: + side_extents.append(float(min_side)) + if max_side > 0.01: + side_extents.append(float(max_side)) + if not side_extents: + return path + + best_path = path + best_cost = self._path_cost(path) + collision_engine = self.cost_evaluator.collision_engine + + for radius in self.context.config.bend_radii: + for side_extent in side_extents: + candidate = self._build_same_orientation_dogleg(start, target, net_width, radius, side_extent) + if candidate is None: + continue + is_valid, collisions = collision_engine.verify_path(net_id, candidate) + if not is_valid or collisions != 0: + continue + candidate_cost = self._path_cost(candidate) + if candidate_cost + 1e-6 < best_cost: + best_cost = candidate_cost + best_path = candidate + + return best_path + def route_all( self, netlist: dict[str, tuple[Port, Port]], @@ -244,6 +382,25 @@ class PathFinder: break self.cost_evaluator.congestion_penalty *= self.congestion_multiplier + if self.refine_paths and results: + for net_id in all_net_ids: + res = results.get(net_id) + if not res or not res.path or not res.reached_target or not res.is_valid: + continue + start, target = netlist[net_id] + width = net_widths.get(net_id, 2.0) + self.cost_evaluator.collision_engine.remove_path(net_id) + refined_path = self._refine_path(net_id, start, target, width, res.path) + all_geoms, all_dilated = self._extract_geometry(refined_path) + self.cost_evaluator.collision_engine.add_path(net_id, all_geoms, dilated_geometry=all_dilated) + results[net_id] = RoutingResult( + net_id=net_id, + path=refined_path, + is_valid=res.is_valid, + collisions=res.collisions, + reached_target=res.reached_target, + ) + self.cost_evaluator.collision_engine.dynamic_tree = None self.cost_evaluator.collision_engine._ensure_dynamic_tree() return self.verify_all_nets(results, netlist) diff --git a/inire/router/visibility.py b/inire/router/visibility.py index 8acbe90..d5fa61d 100644 --- a/inire/router/visibility.py +++ b/inire/router/visibility.py @@ -140,3 +140,20 @@ class VisibilityManager: self._static_visibility_cache[cache_key] = visible return visible + + def get_corner_visibility(self, origin: Port, max_dist: float = 1000.0) -> list[tuple[float, float, float]]: + """ + Return precomputed visibility only when the origin is already at a known corner. + This avoids the expensive arbitrary-point visibility scan in hot search paths. + """ + self._ensure_current() + if max_dist < 0: + return [] + + ox, oy = round(origin.x, 3), round(origin.y, 3) + nearby = list(self.corner_index.intersection((ox - 0.001, oy - 0.001, ox + 0.001, oy + 0.001))) + for idx in nearby: + cx, cy = self.corners[idx] + if abs(cx - ox) < 1e-4 and abs(cy - oy) < 1e-4 and idx in self._corner_graph: + return [corner for corner in self._corner_graph[idx] if corner[2] <= max_dist] + return [] diff --git a/inire/tests/test_astar.py b/inire/tests/test_astar.py index b1521cc..85d9021 100644 --- a/inire/tests/test_astar.py +++ b/inire/tests/test_astar.py @@ -195,3 +195,95 @@ def test_expand_moves_adds_sbend_aligned_straight_stop_points( assert sbend_span is not None assert int(round(100.0 - sbend_span)) in straight_lengths assert int(round(100.0 - 2.0 * sbend_span)) in straight_lengths + + +def test_expand_moves_adds_exact_corner_visibility_stop_points( + basic_evaluator: CostEvaluator, + monkeypatch: pytest.MonkeyPatch, +) -> None: + context = AStarContext( + basic_evaluator, + bend_radii=[10.0], + max_straight_length=150.0, + visibility_guidance="exact_corner", + ) + current = astar_module.AStarNode(Port(0, 0, 0), g_cost=0.0, h_cost=0.0) + + monkeypatch.setattr( + astar_module.VisibilityManager, + "get_corner_visibility", + lambda self, origin, max_dist=0.0: [(40.0, 10.0, 41.23), (75.0, -15.0, 76.48)], + ) + + emitted: list[tuple[str, tuple]] = [] + + def fake_process_move(*args, **kwargs) -> None: + emitted.append((args[9], args[10])) + + monkeypatch.setattr(astar_module, "process_move", fake_process_move) + + astar_module.expand_moves( + current, + Port(120, 20, 0), + net_width=2.0, + net_id="test", + open_set=[], + closed_set={}, + context=context, + metrics=astar_module.AStarMetrics(), + congestion_cache={}, + ) + + straight_lengths = {params[0] for move_class, params in emitted if move_class == "S"} + assert 40 in straight_lengths + assert 75 in straight_lengths + + +def test_expand_moves_adds_tangent_corner_visibility_stop_points( + basic_evaluator: CostEvaluator, + monkeypatch: pytest.MonkeyPatch, +) -> None: + class DummyCornerIndex: + def intersection(self, bounds: tuple[float, float, float, float]) -> list[int]: + return [0, 1] + + context = AStarContext( + basic_evaluator, + bend_radii=[10.0], + sbend_radii=[], + max_straight_length=150.0, + visibility_guidance="tangent_corner", + ) + current = astar_module.AStarNode(Port(0, 0, 0), g_cost=0.0, h_cost=0.0) + + monkeypatch.setattr(astar_module.VisibilityManager, "_ensure_current", lambda self: None) + context.visibility_manager.corners = [(50.0, 10.0), (80.0, -10.0)] + context.visibility_manager.corner_index = DummyCornerIndex() + monkeypatch.setattr( + type(context.cost_evaluator.collision_engine), + "ray_cast", + lambda self, origin, angle_deg, max_dist=2000.0, net_width=None: max_dist, + ) + + emitted: list[tuple[str, tuple]] = [] + + def fake_process_move(*args, **kwargs) -> None: + emitted.append((args[9], args[10])) + + monkeypatch.setattr(astar_module, "process_move", fake_process_move) + + astar_module.expand_moves( + current, + Port(120, 20, 0), + net_width=2.0, + net_id="test", + open_set=[], + closed_set={}, + context=context, + metrics=astar_module.AStarMetrics(), + congestion_cache={}, + ) + + straight_lengths = {params[0] for move_class, params in emitted if move_class == "S"} + assert 40 in straight_lengths + assert 70 in straight_lengths diff --git a/inire/tests/test_pathfinder.py b/inire/tests/test_pathfinder.py index 9053e0c..252a96e 100644 --- a/inire/tests/test_pathfinder.py +++ b/inire/tests/test_pathfinder.py @@ -55,3 +55,64 @@ def test_pathfinder_crossing_detection(basic_evaluator: CostEvaluator) -> None: assert not results["net2"].is_valid assert results["net1"].collisions > 0 assert results["net2"].collisions > 0 + + +def test_pathfinder_refine_paths_reduces_locked_detour_bends() -> None: + bounds = (0, -50, 100, 50) + + def build_pathfinder(*, refine_paths: bool) -> tuple[CollisionEngine, PathFinder]: + engine = CollisionEngine(clearance=2.0) + danger_map = DangerMap(bounds=bounds) + danger_map.precompute([]) + evaluator = CostEvaluator(engine, danger_map, bend_penalty=250.0, sbend_penalty=500.0) + context = AStarContext(evaluator, bend_radii=[10.0]) + return engine, PathFinder(context, refine_paths=refine_paths) + + base_engine, base_pf = build_pathfinder(refine_paths=False) + base_pf.route_all({"netA": (Port(10, 0, 0), Port(90, 0, 0))}, {"netA": 2.0}) + base_engine.lock_net("netA") + base_result = base_pf.route_all({"netB": (Port(50, -20, 90), Port(50, 20, 90))}, {"netB": 2.0})["netB"] + + refined_engine, refined_pf = build_pathfinder(refine_paths=True) + refined_pf.route_all({"netA": (Port(10, 0, 0), Port(90, 0, 0))}, {"netA": 2.0}) + refined_engine.lock_net("netA") + refined_result = refined_pf.route_all({"netB": (Port(50, -20, 90), Port(50, 20, 90))}, {"netB": 2.0})["netB"] + + base_bends = sum(1 for comp in base_result.path if comp.move_type == "Bend90") + refined_bends = sum(1 for comp in refined_result.path if comp.move_type == "Bend90") + + assert base_result.is_valid + assert refined_result.is_valid + assert refined_bends < base_bends + assert refined_pf._path_cost(refined_result.path) < base_pf._path_cost(base_result.path) + + +def test_pathfinder_refine_paths_simplifies_triple_crossing_detours() -> None: + bounds = (0, 0, 100, 100) + netlist = { + "horizontal": (Port(10, 50, 0), Port(90, 50, 0)), + "vertical_up": (Port(45, 10, 90), Port(45, 90, 90)), + "vertical_down": (Port(55, 90, 270), Port(55, 10, 270)), + } + net_widths = {net_id: 2.0 for net_id in netlist} + + def build_pathfinder(*, refine_paths: bool) -> PathFinder: + engine = CollisionEngine(clearance=2.0) + danger_map = DangerMap(bounds=bounds) + danger_map.precompute([]) + evaluator = CostEvaluator(engine, danger_map, greedy_h_weight=1.5, bend_penalty=250.0, sbend_penalty=500.0) + context = AStarContext(evaluator, bend_radii=[10.0], sbend_radii=[10.0]) + return PathFinder(context, base_congestion_penalty=1000.0, refine_paths=refine_paths) + + base_results = build_pathfinder(refine_paths=False).route_all(netlist, net_widths) + refined_results = build_pathfinder(refine_paths=True).route_all(netlist, net_widths) + + for net_id in ("vertical_up", "vertical_down"): + base_result = base_results[net_id] + refined_result = refined_results[net_id] + base_bends = sum(1 for comp in base_result.path if comp.move_type == "Bend90") + refined_bends = sum(1 for comp in refined_result.path if comp.move_type == "Bend90") + + assert base_result.is_valid + assert refined_result.is_valid + assert refined_bends < base_bends