From b610cb0d9abfafadb85a58598a5e3e94858430e0 Mon Sep 17 00:00:00 2001 From: Mukesh Garg Date: Wed, 20 May 2026 22:24:43 -0700 Subject: [PATCH] sccl: drive allreduce tests via torch.distributed; reorganize into tests/sccl/ Convert the multidevice allreduce correctness + latency/buffer-kind sweeps to run through the real PyTorch-distributed path (init_process_group(backend="ahbm") -> mp.spawn -> dist.all_reduce) instead of direct ctx.launch, and reorganize the CCL/allreduce tests into a tests/sccl/ package split one test per file. Production change (required for the distributed path on non-square SIP grids): - AhbmCCLBackend now reads explicit system.sips.w/h from the spec, with a square-only sqrt fallback that raises on ambiguity, instead of silently guessing round(sqrt(count)). This fixes the 2x3 / 3x2 torus + mesh cases, which previously resolved to a wrong 2x2 grid. Mirrors the test helper's _sip_topo_dims precedence (explicit w/h > square fallback > raise). Test reorganization (tests/sccl/): - _allreduce_helpers.py: shared plumbing (distributed driver, config writers, direct-launch run_allreduce parity reference, sweep/buffer-kind constants, plot aggregators, topology-diagram + FSIM-comparison emitters). - test_allreduce_ring_torus_mesh.py: correctness across ring/torus/mesh. - test_distributed_default_topology.py: full distributed path on topology.yaml. - test_plot_latency_sweep.py / test_plot_buffer_kind_sweep.py: sweep rows. - test_plot_topology_diagram.py / test_plot_comparison_fsim.py: plot emitters. - test_intercube_root_center.py: moved in (ADR-0032 center-root latency guard). Also: - Move the FSIM comparison plot generator out of scripts/ into the sccl suite. - Delete superseded test files (test_allreduce_multidevice, test_distributed_lrab_hierarchical_allreduce, test_allreduce_buffer_kind_sweep) and repoint conftest aggregators + the ipcq buffer-kind importers. - Regenerate the allreduce_latency_plots derived artifacts from the full sweep. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../AllReduce_LRAB_2DMesh_6SiP_2x3.png | Bin 39124 -> 39089 bytes .../AllReduce_LRAB_2Dtorus_6SiP_2x3.png | Bin 36580 -> 36542 bytes ...RAB_2Dtorus_6SiP_2x3_with_TCM_SRAM_HBM.csv | 24 +- ...RAB_2Dtorus_6SiP_2x3_with_TCM_SRAM_HBM.png | Bin 76424 -> 76618 bytes .../AllReduce_LRAB_Ring1D_6SiP_1x6.png | Bin 37959 -> 37888 bytes ...ring_vs_2DTorus_vs_theoretical_vs_fsim.png | Bin 88277 -> 88284 bytes .../allreduce_latency_plots/summary.csv | 72 +- scripts/emit_overview_with_external_ref.py | 176 ----- src/kernbench/runtime_api/distributed.py | 13 + tests/conftest.py | 4 +- .../_allreduce_helpers.py} | 644 ++++++++++++------ tests/sccl/test_allreduce_ring_torus_mesh.py | 35 + .../sccl/test_distributed_default_topology.py | 47 ++ .../{ => sccl}/test_intercube_root_center.py | 2 +- tests/sccl/test_plot_buffer_kind_sweep.py | 66 ++ tests/sccl/test_plot_comparison_fsim.py | 23 + tests/sccl/test_plot_latency_sweep.py | 58 ++ tests/sccl/test_plot_topology_diagram.py | 11 + tests/test_allreduce_buffer_kind_sweep.py | 199 ------ ...distributed_lrab_hierarchical_allreduce.py | 119 ---- tests/test_ipcq_buffer_kind_latency.py | 4 +- tests/test_ipcq_buffer_kind_locations.py | 7 +- 22 files changed, 745 insertions(+), 759 deletions(-) delete mode 100644 scripts/emit_overview_with_external_ref.py rename tests/{test_allreduce_multidevice.py => sccl/_allreduce_helpers.py} (64%) create mode 100644 tests/sccl/test_allreduce_ring_torus_mesh.py create mode 100644 tests/sccl/test_distributed_default_topology.py rename tests/{ => sccl}/test_intercube_root_center.py (99%) create mode 100644 tests/sccl/test_plot_buffer_kind_sweep.py create mode 100644 tests/sccl/test_plot_comparison_fsim.py create mode 100644 tests/sccl/test_plot_latency_sweep.py create mode 100644 tests/sccl/test_plot_topology_diagram.py delete mode 100644 tests/test_allreduce_buffer_kind_sweep.py delete mode 100644 tests/test_distributed_lrab_hierarchical_allreduce.py diff --git a/docs/diagrams/allreduce_latency_plots/AllReduce_LRAB_2DMesh_6SiP_2x3.png b/docs/diagrams/allreduce_latency_plots/AllReduce_LRAB_2DMesh_6SiP_2x3.png index d1aca359dbe013bccade36debd62e1be22b8bf26..45d0b2cd3274a5233fad6b739831fc399cb98627 100644 GIT binary patch literal 39089 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

Ee-Ehq#@x-!TnQvY)cDEWU{K%5j+_AT4W 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 g|I(pHLDGH1lElh+UTpmwBtWg>Hq)$ literal 39124 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 literal 36580 zcmd4(by!qi+dhmB5-N%qgrbBZB8{Xp1|qF=gCgCX1DGf%-7Vc6QUeAOL&pp-l+p}C zcfM=G_`F@|{_x|~E9QSei*|YarYp=Dgb)DCFo!9>KOi`MQl!g=rgOSNReXI!yfGhdoK?LCcgq@@`om6a1oLpZx7{e4^IN4d*I$4>&WNis$UPDFclqk@eW2=MOZDFX`%C zVxh8ouEqB8qwF~bWhoE8E*S>+VUpv|>vzIrcw|g?a9amnA8Os#rrYCOO+N@Zc8UqM znUoF^fnmUW8K@VrgwVfW$*dP)$NzeGihvus0Q&y_&IMoc{R#S`;G!b#os}l~fIPJG zOoD6TSh-B8NqZZyug~(NY2$0c)3;ezWEQKjoGY$L@XZ+aMaSv3m5r~kGtY<`VB;^i zYM0;ayvc}?INVO{*^9exp91$mG2OZIBv!zh6>Z>Cm#10$gRzNLHg9eA0@*%oC)~~L z+wI%8n`2B9S&sH+B$xyREBp42R*_trdx*6T5hj~TV`St@Twat#e~wJ9dj8~M%~B)| zQz<8Purrgi3T{LaQ|mIYu&`XFrRCU|?++s&BxxS5a+Evx`g^4cou}1XyLq@8RUdtT z8?Ne|f^Rg@)&(sxQW%?>BBSpa-R9@-k1zf9?Y{X)b@{MUuR>^IqQ2E0lU!u)fn2ka^%i+0jrBjZX5j??UpiQrYkEe)9$Vd1J9oX-e3`NS-4wq5TT*Z zqF3X>Ur9|t;Wl{{_Ac_N0X+;xbS19+&Jtp;VCQc(^5}4@-gtesn{Lo`rX#_4yy3OU z&TMz;G;*#lTgCYI=W7{)lX;~btIZP)<$Fu@24K3Fc6N43tT6(;S2o7qlE*q8O+^_* zx(($eqe*@J$m#XxSy1DyX84L_?Zuh>SP$|~3l zay2eE`G&7z-n)eD)COKJIBjcJJ`B5#!8w;OnM(AYwy7j9Yh0HE3hN8&4~K}9XePxs z2aKk~GYrd3JL#%sQvzO1wMIna*rRsb06^n|5|Nk42t&c;c;Jmb>%A7^uwX# z*9VD*%f-%E^&POZ#;80khki8;8Dt~}ZcD4iC115rzpky*pHVt6nx0X7dz^4*GE8aG zkKUVGVpMZI`i^`wL*=kT0H4)BQL{G*8O^IV8>4leapR&qJjzt;nhZ;ITZvxl-O{TE zTVrydEmr4(^0nXMZ%(Ac!b>nB( z*GFs{+pvehWU%pjV_s`t6eP555j!S22fG{A&hvf6U_()37UwdP1TgIhB9+Y^dgx50 zq+8fgpCfqbVMd${YekaC;aY*k}5$P&D@x5` zoBNHh#nMtzgDI)0)?mRLc7&ZbqKS!#E9QDLF`=QMZ30|%>&hXRjdH!12{Ki%IVv1G zgqq?zxe(hwrreQ8WT`=CTU%K_Fd3>#mtMq)c~&6dhrq(7%T*&o#o5;HIVa?H`ZFiG z{m4T%*$G(m-Nkeyhy>*O{CQ8^1{ZdkHO$Ss!mRjB_ozc;DZ1&~WT>3(Xr_9;c13B2 zaBfc!Im3GJDKZ#cnixXX)2poM)zRU>>e$gC+Hz(arDI#3sU!?W!CUuX2$O35en=-x zjK!!a&^bmp%l_*q3IX^0^yLeG-RG@g$Dp|ftey8wnw<0%YMfm5x9!7(F?F7<+0Roy z%pI6xD)Q&x!!@q9#nuKMb4+tR=>ak~`>o5H%!kU%|5^@R&#Y5tO7O`wRZ@}L5Y?PX zDdU^%S;wL~_njleu@~T8O^JLnqa*S0H+DAA1|y?M6@{A@Eegv#HU~`=I*T?mXOesn zTHez!rv7P@!U%mn1-HJe=Xa*m43c(*#b)9i<&})h3$r({=s3EDYG-V0nU!Ty`WH2> zxeZ~TL$5HC;cxavVSjb%z2R$#-4g{LV|Yzt;TA5wi|Bs$-cdtjj#{q#6KTH-v}v|u z2+pl+v7%V`v+jEh)%pAg*OkAGQlo22^+yPqPhc4`#PU1pexN*XUr|Qr^TYw0L)wMs zOiN8W1v+&w+GAI!4)W}$Vl4}bGZ#gA_sqyEO>XAtRCavfg~2k9S0m+nTt?{peTf5} zY=dd%^T{NlyT&7NDJd!bx@f+K2dnvWk>G%^5lx%q47~Sng6=Dg)B$3N2z8Im1@lqUUB)mHm0kVZkHCtba01hCJYp;O_G5q6 zae4efn0}rFowyFv(DgwSIkFnG)bKLd74VAZ#fipX1eRUPVIjk1F z{p{*_oprG^3GMUOc+zzDdf=Lclud^EZ@m?YQRvr+5^S@m@a5|^-@bd1%mrPi5shl3 zQSZuDVUDV_w5SSnM{T`Fc*7d35sPm~d=0;{B<~jQ{te(7LOWwo?Nn4$COyV=A*bLN z>&h4mXUzgn)L#8eqNjhF&ityu(XNIgrY(jShvh$bjxIOr{^0`r!>#NOritzu$iCsw z#J5Jmg=_Z=Tt}Qu4ia2P&6TBSX+>PxT(*~A>^ZX;L+1!*NdjGOBej852X=J|X^oJ5 ztzT)AkngcEKV4B)R`zmBr^xVi6)q)!v!u{-_N!l8HE;lxzZ@fjgAF_KovVPOveK(| zy2nxytDO`VXStTfp;IyN^5x4mMNnw#dZz*jNjjrQxbl>xF^hJ8C2SU7!5D)n|>&FtgUwx^}PO2cQLO)E7FjYTeG2 z)F5%5t=>)&)4i>wN`9N+0jlfQEjw}%oqL-&%Zj5;pF@?u;ztKdK5+s)TOSdoKYspH z&?zveAD!B)wjG%n|Na)~ya1DgorlpS8*uZx^>JAP2VPX@gUzpOiz<_*hnMvb6nP6( zyh%At@709@CsHZm#m^5F01o{`)Or8uvyTxb8B{AuGdj!f=CuFUjJT%&k*xh%-k8vk z%xZm~&#bEoXTVp=;?j1A>=G-s79KpB$`00&y z?tXnS-0jeeik8L4(|x86;3DFberR{$-fi9&x0{3+%z`Lwvneyj8^z!TgO$+I4`K?M?R zn(KZvlzq8i9CULOdiwm+p*g!{Bk0pwEQn?@Q zruwdt`vq<;3>sDR?h#13A0JZ5=035p*(?cxEP=5(dtHynV^qZy&>SpkDB4(o1<|SJ zVRsbT+#VfRcCUoQ{?1mJ2@k)O$MP|D+Pu5+L+v!2IuV}Pn}BU z_wJPfD%!XC=Hsy`1^sbNLG%VDOy;h$JG25;(buH2S(?Zt_KT!@E#({+2JZ2G2}Ee< zrWabw*YwQba()yC_HPg=d__6wDP*G@ljnwGwR0z4v$fI~Kt8m!{&0h9&qHAey;Yx~ zjs51*w6d~$*#GD3t_P~M)!f{Cn*XI9UxH>6Czj&z)InZXQ{M}+A(VEuPOh&`-b&4< zPoHdX8Y)#>Rg;%_FX$!d$WSJ4@IGpKhAorb)!it4YEYT3_08_Vey>Drww1;Q`?P7dKU+nbRjz5B)iqpd^^7D);VX1CR*?w2c> z=b__BObRry`RLD#v~pM$n(+CndbGJmNk{ul@-3-+%RLS4tfK04yQzK%30j}+qFM5* z!qa*_X+4g~*4U>3-{%@rh!dR_Y7q6#Uinl5tevJ(T6ySTL*qM=Yix58S0eFV%NQHk5T8v7YFu_4Y0zr;cM6t)-<)4Edt-J$CPHUtlK!U zVnnpXpX*Kjl^)&Wl|21E33KB7&)|PQG0QKNY~HqDuqsBVVyW%OBIT;hBxk(nXIR_R z`OP)z*tLgSsz+jS8ya(7);P{|@Fb-=i|(e^m(3*CnW!lcYUf|ha~!vz#9m^2GC(Lf zV=+$iOsJl&>`V;hZ4vdK&YAONhsh~3>V#STJ)@5B1Z~GGi|!16ih74vta>UY??LKmeLVYci_wxTbI5nMnANs)8o}mMV7U}Z?eH@`QDB! z9{H#)g4KLs?Ij4e2uqZ2f#@Y_t6{1=%&i@Xr|m)hTsDyFcG&xLVjI zi0~El_Pv<0pkZ^J#j1LG@n3(yreZl|jrIHN-_s!9n^n%-QH<`DjdR@?>ZZQ{g@pja z^Td!2mEu^FQD|fLSxe>4++1{BE;@}7E@nZVsqZAQJK94pbVKFC$k*)7-RgdpH}Sdk zSaSJYqtML{)p2THXIk&I4~OMZ?Du3`9x68S6Jm}nS+v)901LNmFNOJOk`M?5gQlBjg6@K{l3Uh;e#BiP#uVWmQ3Ttl3H%7SLoWPYk@^(9P4&I&Z zae|%3U%%BXAuv`VHpBOI+^xqDBdR`%^73WY!{53Q`bnu9u`cY3>4kp;N8M7JEyq@F zSW?>61y$%7OR&Yy8Cevwa=cSle!mQY__)8$9q(&odEmQFj_0eDa`lcjE9+yN8J~Q< ztG+K6pjE}=z3=8of52|Pad@;hc4T7%Q4=G=oUo!U!t=0*>4)t%YuPjs;C&>T?@QuF-FN2YoXYc^k*aow_*0VkCpV6C0*(U;IVW=8Eh^aCm)oaJMybFGsLZ(0lDx;=NMqNYNm=~yC3 z^MX>dQ69D0!*ab*&hnX@mfak<7a-22s_0oM7A7wWltZEC02;Fxsuf-5&s(~uAcuCE z4iBf`)z@k2vXCte+;UFKt{p;V75dPQHqpw}=b;IK~Bv8ifYSF|Yn zmQjEe>ND!z2{3Sbaed9TF zVbb7cX{Y#_8F`V%TDxGofN*|*(NcGsOjuiO($Mwv-kjNRnIYcPI@=)??9)oLc^rsP zjRFD#1$rsx_&A5;RD0HWgwsP6zozx3%)*B%ZEZcqWU=|ZEWuE$q|+2g+g`>FD5Z)D zYfP;92dA9d(!$g^bSi+}umUGFU(i>vhr97*(yEzqIUjp6u9tA`4!6z|RCu&()Xs;C zLzG*4g@(SnaZHophOY&=fq5^3dCgpH&Z7_Ki#hab2h^YMRgR>|fc zNf@V=l;S423aH$7bK8~)7<9spFI=JN8di5e*oFqi`i8;`CMns=^$XAiXW#YOa8G^d6llw#uSUf|q^A9xALi@B03(4B@sXYClsNLLtmw~aRBs%T z%%pT5$-Z0A|9M0DlT#Z73 zD;bvk^#Ih%B?voD4m);6aMkaZ3{+^-)cYJAnp}2H@bw0#{4wKM^XAPd-kWg1VKWH` zs0%yK-|o#&aNOA*9bkr0f8U?y60n}Uqjw4!$UaK7jb#OV zSJio1;l8%Fg0Gq{?z#NyZ=PuXs$oJy9YEh1PDg-5X{)YTtVXI5^<$w(5Npzz$N`u) zw##=x_}9DMGw+=6OmA+k>mil)U8#T%v-@tNLzy)f=*8K=D}{lh1%Ts~fvRKv-L|Ep z1LBb5G@ETrUKA0(Msn7)sTb;t?QMXLhDgZibggQDPsQwlxUl}P(C0wztq%swV}O;Q z^So-Q_u>AI{zztxNk_c-BJ#asgQYJTR!E>vSWDtYwoEh54_%Nc6EkaMu$vget)^n+$p;D8Hrh^jv_pLA>6~qZKl1T z5$(h-NMN^|eEf2?W|;BEH6+YK{P(BS#zl&Ma~}rpj?9*5KX^mB{?P zc~v=-OX8@h%seXJlC!|9K+NbF{1KZg_Ikn^y)Kv@FnF#Zf&1OZi>7#KYF}|7Xe{9; z(-}?k#-Ya1tmlj}ii(jC?Sh%}sspr2u>smRLCy`(PEr-UiLbCOQ(xexAj8a22ez)w z(AwWHFB5hrrthx{ZYahX@NuD9r6z*`(%C|e)6sM6}YPacOS!J><`#NMPTHNz{{A_0P^>t_`$l0 z(9!Zf>-i&Kcz2-FN!PxSaues2m<`ftEx=r+iks-dW@pW+)_dd>f){kZ zx&x{;G&qW$!2@vOn^>z)_MQxOoJiO zST>{a*1*`Yy1n}FXEmJXu<47Mx7Fci81O|Pp_;d)(VLjy>76i#3!}2)$E037$v6^S z=x?%JSO^on5s8a&DAZCVt{eCSMWc6)0S0;&~HXAbMX1dZCL9 z7fhy`KfteTp3=NakDvR7m3pzOM>;n6-Nn$ONYW7U=S5Gt3rWx_d~dk(>BNVBQ!P%~et>lPZx3AGUY+scU%YcS7Z3;#Z<7CqIKf!7cX8Q#M6AGPI~vY zGV;i{(cA_`e%Dux<)oGIrk)$Wk6cU-$7D}l941k*{R*bbE1;}csPPl+ccts!tdkm= zFWI`?2k-ax%R2b6&t|=R_~E*N7!rs zMn2*5^T*?A{`AuWS5C&*5JWg$v0*9OK5!STS6(X^DBg{z4-K0v|F+*bY-xB{^H|+;gME7qcuENltg77x+h7|wo*|>HS za^D(3g;1a+FrZg{_HRLo!4waA@?qFrZGUeYDE-?ZH;yo=LTg7J|0Y@srYk1=aEL!^ z4*T=0F#a`}sgln7)(FUiH=p^zuXHYpxB6AfWkBP4ros0%FH=)915g-ZSy1%^RcK)F zswU1BF?gQJ6;Wp1n=v4Mj+Ar~P~agT;Fq(q%5$3UlgUtsn_gW390l9K-d5E1wwsKs zY$%}WWjs7Q(oej|yyTM#E7?vyWVXD|BxT5DNqz4fV-VvSyjmXrekW_V)HLWbt%!QH z3y$?1HD~w*TH%4pFP}bzKxvWYgDaOW`{ULC*a?50`lJO{ImVftoxKY3+DMQWQ)m!9 z2D>185De5J=!FT8cnJrt^qQDQS)Oi{G8LCTdv|yD)aWtz){L|gdS#$!tw_Lrb_3=% z*&M?7j37=F*_ck_trnDr@hXOK0L zNfL)og6RC-YZs7#*D8EqYhseYu2W>Eve8;T7EjiUzN8aM-bTNYr)sW2t+>@INv(0)Ux3lD6u>+XXbsb2FtU+G{` ze9zYbBuQ6H5SBvGOL*&Apz_R>Bb{ptHk&PmN>ZngQE|n;tT7cFCHkH&`IvnD5wQ3& zTZCz-vQUTufOc0QfkyFn z?cjN^PeSY`ez*8jvQ2{A6W?671!ztggaW;fuuqo?0hlr#>#(m|s{rwT_`-q}@8ZA+ zJn}K2^~?`#pzGlFDL2*P%F=dscfS)Sd34L|e;^9&dvXHw!TYD;w8T^G73%j!lOSAt zxOwB0I1Ea!%?;xEbE6>H$>zp!b{wP+%*YX2*z!<&)*_Tb&HxP_x%%HT?)gupFn(7yA zupKT;-Niq(?;@*CyMYYjbQS79pfg(40gJW3k)?ERGBOoSd%##_jI;?ma7)JF4 zE5lu8`6fWi&5MJ9(C~oiPpBMc2uKAZK`tmA7@zT|G@%k19lze-Jr4K9;i_qk^G)H# zY*T|ng%Jp=eAhJWx|HF@Zgov(XkWe#T37dzzdsMPs@TD6sj=Dkqw$CTqwk%`Y3gQM z%sEdvPrgE6fCgA1>)ch| zv6riI7QQ=|X|hn53)6b5XWA*Y6+ah&8>_E}kN6T0wiR9$UPPr}KGRE#64eRgLX82* zbZ2}N0k46N#0xpfGb~1z=$`E6hS2uR5>;@T{(a~6Tryo!V!i9pDmX2o=?oQ&6Ghz} zLNK=9{*dqrY=7qM2nMNYMTkK{`9K1jehq_|aScLMxryIjra)pYSi=C`uXq7Y=2@-HpSOpSTAKr(dguIX`1j|5#FuN(v&)~hk($t>L4nV$OT}$FHbZYu` zmERM4bb*#Do=dP?3v$A<#C=x{q4zm+CqR(Cgez0Pbic3?4>*D}=Q{a~7}K3cXv*G3 z{kwS1(AhTf_MbnWk2VDGPW1JNv|@AMBjyF-qH#FhI}yrN#M3}-jJPNVukG6g3-^Am zvpeKZ&)4Utte+9%UHj?Cc;N7u(jmmqMWW_=0zq;HLMEzKn?{XHs!mV%feUzu7Rs~2di4#7aNbF^p2Ia}PvR;}4h+1L&OvU2Y6Z^y5Gx#RH z<_&x8z?&|Ww(Zxe1>k$@^2hlxG1oV+Ux8_G;GchJu5+&GC`XmlP>to^r2s+dz$0tz zn(Ds%Ysjj?hbOQ5OltLQpnZ(Vr%2HSXa%IwcUN5NXA-K(IKtU|$cFZ01j{AqI!a%TaHH%YYdA*ysu~}^{uloa4&RBCTm=PHgN2%){^f}jA+-486I7-j8m7U3tfVGs$Zik2-zkm z+8lyRh#C<8E+!s6b%r370UlCu9b><$7Z3CJ6!SXVH}TWF3@E-h_7Uv?LNLlBe4wUZ zbZjM^{Kye7Dr)>LJx3+-`6wM0dCW#abM{n3=*aeA`CZ=A++O%4uQgnm{y{gssBncz zRP?js!fE`oKV4|WZ;Fs7aU&@jR_XDt*|_7Q5_5#M#iP@xQ{&Oic5?$+R5NHL{53z0 zL0wH)uAD5#r@-3_tJG!3`dPQGf0iK>vEy@qw*j|jL+XAj^@UuI!*fHw=br|LF{eZ)kOmdSqM5gwqD?^y4>XlbvEnW6(Nh~Qhe z3E5T7V*6#GLhlbJTR`*`)K$BMMpQNb%m28{0FX4Yf{LU8Jg$U)oWRnRKH~F&XsJAG zAqhW2gpv0@A1Q$8HNZ2syH5r*6F&IpUsltjWJ}``Y)=qx9+CukSs%IQLX`s?=bG@HUXF}E z?<>M58*I^iDPB$jzZogRLlT%RU1<5CnA)E1;0C_yu9AGevpBsZDp zxfrsE!^r9C#`Br?JT9o3rqKeLxMJ)7J1#HAk^XN$zOMM#QN2z&%&X>CSf49Sw)%eq z*rRbS3j;Sn6j18;W}lrscP{MaqYnd>Yrl`Z6p=J+xLUvV_U{D$v*SspSYdQR4r%fU!sSnk+;Qb- zS&*zzXb=K&*HT5ozP2`bt!k(2IVN>6kM&^hgWZ;2pRO1~1o{ZjR2sKM-*ea+agCGI z9&y1~_W+fxJ3#O9$+VX){V6|&xo6~|c-wA*Kt@D}Sh@1f`XR|1U)k4-BQ>re;~GFR z+M4#*(xc>7O-VeF26or%4l-^{)Sk8LAgl>^kfsKaBEk=JA|M%K8V8cA#S7<=oDnGTJ9;I)Q z!=scWKBBLg1K`qh;byZivbB}91|;b&2z>=TQKq)_q#;V5LtghmW%BQ zZ>Vv@Kl%v+f*f$n0TmDuwr6)G3F`1+Y_uMn|IHWY!@bNk%&>)iYR0fQ%12Flzwpe~SFn*26%_m=I zWE>ny($do@YYIEim~=VnJ!d^}kcJN-?Xl=ik=n%6m7f?p<5%r6jY{eMGg&ar(|Xw2 zdf|vJpj5T^eOS$7*2Qq;1`yAVAZ$9~h3=TS$aB$g8~X03J!~4$E}H?8;gvhH{pL}% zRVQtI^(=jyeTClo_jcqHTcyCDdzha`M5?6gkI2Pt8+fg}pCdrEBEy)KI34!L1cwa| z#aDh^xg!bkr~h{rywY~~Te0YJ1L3ql{6Hh#!$jC)6$wjZOJPT^{);X1<5!$m9a$go3us0 zq>PpRLc;{|T0Ad)5XGF3;jKid|D?hh>;Sv`zD*~I6EHliE^%tKyMU9O>R8hTtl+Z> z?zrihAB8{?q7B5`44}Fq6dcEUyLJx)Hz%>{D%!6x^ru%-U;ej*1v2Cl2ZE&%f=bjejD}mx`82UpY(8W%=;-HsinF!lmBV)prAC+PU&~d?5_)6VvYp zhj17ava);k*FS=1(;7I@s1jYkKhwCLE^=G2-fnXM>nZR@mzW!W{lSCp*?%=Su)pPk zre)%DVR$dcv~4`$J?Jt1t!`UQ^J-(^scR>0F5Gaw<*&xQkUuwV$8$`wj;-SA?ml)0+I9GA^-6k zkF))Yr9v9nmE7bLJi{<)JTrw{FQc6nO%sp{M{QWV+ZQ_fM=Nu;T3@%_aHPBI zO<8+_JKoi@oU4p=4AvBr-F3~PU!7spJP9|>m|x#CZcb@G-M-pCLL+CT`mT`tto{jQ z&5))bCbSV!T_AlWiSAtO2^^PfZf$Lknv<)Hn;PY?K$^F#AjEIGT{@mp-{6hjW@e3`H%9vmz^K1(4_rfymjXKT-{) z&q2B7Gjo46Uc9*VNSVc(lJu5XRp~@i5E6vh;NV*g$kQr)vbi+I1puCMrXnp=w-E1) z(sF>fGJuJg>8T(qXodK!!y2zlt;JqpE#=T0N0LXr(jLB0QeAM&tF#X=o&~k5vODPd zLnerm`d-*>5(bJ7kbn?sx32zTle1&l`>1T;;mc$igXD{NwyyE>-QE#V#MLq@%F#3@whD;#sD>uG5K+0tg8Dt-tC$~ zN9(UT^gm`f!EVseaRPp%CtWT|xw6;y8%PLFuL7ZNi*5Y@l-YAIrl&i8ovAHaKjZ$6 zR1^27K@^`pC-W(1fyZ^b>2%4W=MIR$J8yh!o1``@8Si39^9&BQ4ryzL)P!P9Xx2^p%=XV@CRJQ3NR1_ztT-JepyLW;Zg{@wkTOdU zxr@SVx{_b#>D8dvmqzP!fDo3ITF)uuU=t9;yv{)I0fVVVJc<$Gv7E9g^|JTd4b^4* z5JvxoRg5gO6smsHv8`hQ((gM{LI5#+CUB7t5eFJuQT!-Vpc7Y7|Fss_2(znTO7_<} zi2H(c0|OXmv+MaIp?A5n{j72 z=*WF1CMJx5c$aCk!l>y&wtii8=E=s@)h?RzwHit?=klhc0xS7!Y6bR=(I2p!V85#4a}sZij?)jb^2s;s4};i8xI4Tm?uYy zUc80M+=%L-mb~UOC3=lPV$Wn}mzTwxn2V?Z5MQBSpWE9&Cb1pfzo)~&`j8~C`yPb&DKSP;DRMy#Bn`kP-?eE~cCs6ESAFgK{3V5HeCJ*RsGtl1(s;=FK@F0U zva<5+Teng)FXaLG;@e(w@L&U*xPFP=YW`mhQ-MG1KSc6fVXt0B0KQ_wk=35 zZi1ruuB;3v3*CS)vL&JhQ2UiQ$^`ZN&3ci3u4M0Nq!t2Us?u?zRuIxGfmbqbP063O z^^#A!c682-9R^_5H>JgM&`%u|^rD<=sLZ&j*QR{o->wER*WC&yG~{sDSSamm1!u+x zq7wuvQ;-Il&-{lWsI!H^64$yztzWX`!I>U;1|NP-VLfnc1}npHwA~~jf6)u2W!mzd zTK_Jnn~8vOF)v@H3|I*WIn4%Jjn-=Q^z=ZybBW!bhr9+wic!ZVoERLI*;wcjJyoD! zAye~#U#NK53g*?$k8TF!CI^JfAU09o?GJHFOUu28L|Su(8=wvpvKOe9vEbWZ(zE2I zXLz8|b#8mN>klS{SVw}@(+~~4SonIO;Wc49lZeQ%k%9C?7*L!!c#%U^lZD zKfe_3M)BwZ)U~g#p!JHt-fCAO1?IiwiE}%p4JZhC18v|>OxJFkYYC2`{fHz^unI#m zywoD-hH#=~WT8Y@cF;4P6F5R(-J0^_uSWSq%GBS@4KMipWg`MgnCYum&Amzz98e}J zE$udMf2d;J+Q#DI;vP_Q1kUkTWRn4?sdQfexv#Zt zpc4vPUtgESL75-P#{4l)c_`-;S-3c=`SKQv_j}g7Q#b`sHWLMsDC)6%=C=|=TqEgy z_KW*0`atE6O^EZ^vu7JCJpY$a`3g7rHJ)FHkw97zNQcJ1=LX1O1#a>G3bhB?>~%+v zfpJ!RcEAmPgN@{EO0SDBTTDee(I+5!=NC(ZK=k)i%7#&(G;#QS%{1Jz9+X4|gNRoS z$Z?oBINFJ#m_B{}91hB?zV<=&zABJ#1xm<)OdTq(23LVe0}&NedD;xBd6;gcEK}cx zivvlsNuUu~gIW-sSeik-cLucw2*gj4Z@&H_Az@s+k(5;R!kKEc=Gr2Gy`ORvUh9{d zd^u|a3VV#gPI-YmObaMntb~dlybpIwJqmb^k3-|F7qkPcP8{%^dSkt!Xn^Af$F=E?l)cS5;%WOup#X)5&DSj>BJA0f$k!n{h zb;rW~YAioEc44yMpp}$OJ&?y3L$Wm6IDjzZz#*v6S`vuvr_)l9Lopfb+1zYDagQ40H9yZtMZ29ZyScS7tLe?(DY?Ak` z%ps^fmIFcAjr(@V1Gu5LIRxo~<~d~~f1#pf;%vmu^mV9s7^?05d>yrJmOj@93bA>` z$~v|*AkDe$%(qc@%-hrCvMw$ab6;ItlbE_CF;zt%I=E!lR~UkNp$L{E5(vFJZVph;*3~ z9!3vp;$HD;N+dEYpGdRtdO8)ga_q02_bT-7{XVUWa0D*3cn=gv2i~~kGqIwPwpo1$ zPC+&v64Xi>9Ml&(09HU&&2#zt=_#Q44jn8t#So5zdhD1)9aG?zH!-wF)iwDdn25)n zaa64iiv)CFUS(#WYOJ`(<>U2Kv`?!FJ<1%%+>|UUklHQmWP&fr0aCw(v0}}I+G+QwqPMTGA|-$1D{x{ z0!g<`+zqrykMr)WA`du}Ts)DiJ(iM+IhT{DzK9YOo{{+PlDM!+%!ZGgtBi@_i|Vx^ z{r2s^=}a8WlwWZ`Q-GnKLkp9MHbed?_;+IJXlG&CZYgTL+d#7z2FcS{LULkV&{#fs zVSzz_6sc9%<=#3-gTjT9u>u-?i&u-8DqKRnLcaO9*3#p^d@7SxL476nNqLS;5(+qQ zazaCXs{wAHQ?I#Zy9Z+AxI}{l)~CR%Mx6gD#9HKiFDM0kUPrCg?$(m6fuLanY%TX) zU`_d~0I&y3U270ah2#XN%c&;-dcj)(v@1#S@<@; z)Geor+~ao&zsRDqeIbk;w4~9SNlq_rRhY34lmM|i&i!>;qig`P@T^_5OdiQlxL$e) zJYGa0Vz-s3o+eqFM$m?xTy)vD7N{RH9%=#luq|GwSH71Ia9zEPw(g+%XA&IV5ukF` zV6pzln>Rglv=A?*Q#CtIGPX9&AM`hD4fRnd((g0EP~%FOB0au+?wp3Xn(9)Y>BO`v zY&i0^GXQbM>sYLu?|k7U?c04&klRNmw#TS(=Y4wJQ2{{1tk^S z*%)w;@T^gj(+Zb0yMT`<@IW5|0JNnjDBuSlRIr}rqvJJ^FV5*)T!dVM?_S^ypd!|w zaCxWKSCH73uXVqdbi5R%>1oQ})i>G^A0Pj+Qm64NA9wyoQ2rTS)qb3zJLF?P{m}DZ zkpqR63brN8TaZkzK`e=5?B<|5u?Y~i-ia637Kee8Bu+uQMBR6Bur$*k5&`L6E`Dn) zj71f2nwDoxU>`k%L5LN|8d?A-WdP%NMa2La4j!~~?0t-lPEj?u)Oh~ykI}K&k9JknI!21@U>@njy}m)815keUEIJN?S+EFu21Xr(epM6u z*3vTrizaH0hv&B0iFY9@2D$&a(Yl%#a?MO)2mXytH4VL~IltopzRTbmxhb^sp4JMj zvQK(Q0mJr5gV}z&55kh^zp}>1`f=D9T4G{>7#E&{Dj=Pj>lST6`@Mrf&=tswbJ=w& z+T;nKIx%P%E7;$JB~uOdo-1rPdBXiWFhDpbP1*YF#fh%9@g|P)gPVLW@)~!muL<6P zuygu0<$m57b;t>_d^*XSM3gT556*$*y$^8%x!8Je?cQQdXvp*X($r9Is=t`cF--Lh zCXs&1VD!2SpZ1tG@t zNDyZ~XqX^a{z)!jWk4t5l83ZDiPghRMt9*QYs+W%`lNyJ8jv)^3EFP1b3$(hbA zeTl8OsRw%3bGyvrMb zt43OjSVa~pShIJBtapB|aeEK#j%D+e+#>Ffo7oCx#BL`vnlEcqOak+f9-^0h%RGUd zMW)~Uzkb@9^4ALuNidBpT#{K~QzbjW%W5{QE$cHtx!`a(*HQ+{Av)o9SU2_pf0j7R zTq^alw(x)aZ&|Bo%rpOT z*nDn$vcXkjVvw$_pN74_OEas`f3-NFqOvXv#I+|L4g*bNJjVa8Mwa%;WaRuRvG$t` zs%u)PtN-)oMZCKzKGm-FWB%aFdGfIDBg*%&Sq>+6*DgLY32f7@0-JI8E8;f#)6nMSLKDkp@xPQC_7V)1N%ZRPv$B5% zPv9p=-+1HjiS!3#a={lN%+VDVCMJ&#|zO(Hp?&)duM02$aj2!U=(P)L_v}faCuke zz_%mzp)c)JVnFR}yys$7XmBtC_##fq*?36Z2+I7z8w052oYu3IaZ2JlX`gBMWo_yY zTx5WV3Y2K+ez-tu@dgXhz;4bESd&aH8njv+_&jDj)xkKuTf`gJ8ce6)1=o~ZCTaLT zg4F^u-`JQK7P%-+{_iF8-Kl=iM`+fs0)RQ32kJ>OKVRd0vIwH}-h26OZbc7#=0oEcpb@=ELS-W53<~*?Uo6zZDhrod zxAlqAfXEG$WfuV`7Y1k`>KX-4D^RawQ(u7mkCG)%%j4N#7$}iYS&XTcC$+j&{QQrJ zZ0e9=FD=3ATgl4FBVSp1)T_&Q^<2UCRzO9TKwV3eTfu zrGd0(Yi@(cck4JjBx@V5b&C+fiWCeQ9xPt|`{geZl!R z_y5G9T(q~}`gq-|Pvdyyf|aIxLRnd;%yXv3M@}z*Ug^rPqLTe5fUv&=)uSj>*cQPu zDTe0H^3y7U@l4JtL)B&T-V%El?vxk)Pn1dQ0M_2A$@^jQf6`N}rQ2(ff{P~XuGFV@ zz77@fa|!P`zD)3I%lXXtK5qE+=ATl>7KYE(9T~wuk&LwpiTe+2(l`QZ^cB2dAR#LB zyy2N$jC1Q(kVLf^poP)n%$I}7O>YO;l4G{_UXhmFV~ENIbRX%$LV&f`-`yB3Adhgj zFO)y2^r4v0-p}&brZu4-6o#=$MIbHTr6r809%gM0?&nCW{S)WWYWCgx@Z>oF=horI zZc+9{O3zc09z90NtHA9PoS({cpDphmiXBT&FPPR*$%y=(s*o~siwR=q8>PDjf;M31rZhK zDP&V=IqZXM7NAuuFy4mwXoKwF!>U8hnidh;*O_g{f3 z)2cHw{C0x4F6=0JX4mYek$!8ADW$@QV}5(UK7xig$_Dms_Rwo{wkQ!ngP^zAmg8% zQUS_a*Oli3Lgvw93_Tab&KZ2Cn_^$I{=Np+iE9_5eC|Upx_Sj3?no`&EkwfGgvuDR zGODHRlqWt%F1juLf*pJ@CuO39v8)8+?vMQW-KtFbUF=*t`|6`_m+}XuaDC*lG_sD8*z zA7?_2F_EUKC_Q$mWi&Uc^B#>aDOf$?;chlyl_<`~+32))`|VxXtwoQR(bC$IN2&?6 z-xqE>ZYIp@*QLcXufVxW+&yaHR>%oJt;nA?Lv$+|e3oy+}zFjEy`dC(Y={S~E zIBFb9_p!yZh8M)e8<4-gclXNOLhA9;Yi2KWbD*`^uJ}|6CXlxfIIcrxG<4WZ+Q}H;l0V$Hmr(T&%dHEWG z{q!Zk*LDtX_xyTIKzDZn7+ito#OSG9!*<=ij$9DwQ2v!ejmSI2r0kQ_yM&NyrdNHaJONQ`Uu=wSF<(Rd=PZC9V^c~dU71z_pjt=#B|@4JoA;*w2*N9GkrhSyIOME z%2eWD)zR$AhkWS9K?q=|9#Pv=#nG@>eaY&)ryfT;yARXud6!(+$QH_bFn>K?{G-xM z{AOJH1G-A3-M404eNrpDYVuhte<1me@(H1g(C07iEYQv|?w-_r5q1(6wnZGnb#v%h zdFfv|NA_gU^ij^8+xc;lKS?x%?Xijx7k*XvHS~85-H$_Imf3pP=P$)v^CGv1@yrUp za$Asj?9_Jg`|^bc2{I>9nrHI3P9q2y%{W&xs2OX6=|w}-cokvko#l2pb-CyesaMAC zYW{~@x}!9^N;02F%HbmK0q|zA4ciN2ZNc6R;Bs$EGb_r2Iek?F`kQg&klRGP1L_T0ILv$+_FNTJx=AxSGZ z6%sy~yF`*F?-k7T(zY=bvb~FHJ0=xOR8#xp#;n?t5GOc!}zbf(K1f zYO)z%1qtJ)5Fjh?X-$U^EwJI6CwlD$<*N}@Sun!5-Iiw9?bx{P&2QaC?o0K~-jEO- zWR5m$_ZRNx6K{|v6Fv&LtjXC z3)2;WwojlrSH(HCGl4f|DO-ZTywSFPKx3CaU#YwvXkL3@Tc0~|yRg0@2mLID{3V&>H)CTdJ z+>#Bi$g&-KaN3*EPLm?-fWA1>O1j;}nx<1Q|4LlcF+97+tEVEzdwq?(T;H!yrPq1& zu{3J;bQ#ptG=+9o==0Hg5Ay8g$kGwY)KpGjX)#(W#8!(^QSPdNM+DPnMY5J^1dMZn zp+lx62>SWel86cH%Z4qAnX>W^D}4TPr{Zv%BMz(U#4Izwk(V6XQglPaz0LPo8Rk+G z_tWfBnP^;ryo^G}%@m*%l*-6mel`SlaMOQfac^Xc+{UL8u2DYWRhNuP|@_D>- zBF?13++hsH5z2G!D^GHCnNBiXT3$x;79|WCyg#p$(9R@na-i<yqLh8rlcx;=no^UWa@YMKB&0c4^kJJfJJIZzyz`(s? z17HA!;R??*5Ui2=Y;tP>`!oXsUovk`rP|a}^0=+$%|d;I77QKXBe8?@ z?OPYCgj+`{|1cE2OVXXRw!jEMgnkIgc=**TniDW-_cR3M<$&81HqYcUCBQfC_?;ee zw#^68yW`P!W8jpA+*PV5Ci1Kj>idpvP@cV*K{bMu=X>5WXM^3%YDh$c1py6K!tDGr zAQTKl{~)WTrvP20_Uz{kv>|2gfBzz9G}OC1dQO_cVW{gmSY&(Ytz;F z=4}{L&h(kYx4(EvC)pqV_C3N7Cd$hE@G!XRzG=m(rw0Nr>-(FkPLMfjOOCz~Fat@T zML)ttE+yo|LRYX^VyEA>)1oes1^_Yx(j*7WBxJjGXvmF?jY3QsyqkBbfnUeI5W3^51 zsCpaf?l3$dAiZswv5?mvk+bt?qbw=9ZTM%Yh(xcP&iL z0~QgIvf4lY{F4ewJ3DdxCu@y4>JQl1*p8z19sM^;IpKl!=9R5g|3Pw_h=+mApS0xgzK4R^f`wHeEN|Q{M~Rq}yD1T4r6GZ*YH39WdoQ^sXQy zoDrM%i@dftr5tYg7t-7XF*R-@Po>ovI{et%#OcrWkKP`4ohlJ9YcqB~vO!6MMfKoc zh3S2||H1=E5f-P1=H?!@v+Vdmf~r^fQt3G0Dj*JibIz(p%uA;oGwe!aSr=1w^n%?f z&9XTGW2w6%$DZ%gvZjJy{nsF&M16{mHVtL@)UmfN}LoZ)tNg&h9c^4U7$vcp4{5t4$ zm>-`tZT{CtN7SEP&e8E-;%d`FhwdTOiZ!!yV%QZr$ML=_sj5?E!>6zM`0Q|s zeYg&J3~xE4Kz|{-WH}aRP^u6zYC85(Aof;!p9A@ewhh~+P9dI+>)h>`>Gm7QB;c!@ zY|C8~*RC#2lX2s4Vi>#Q_AMr2a4A@Okk_WA0(z4=@yQQQ8W_^dq)^{esQj3 zXKro$7{e<1F4(kiA4>K7UIbt>N^x9nT0d_nx#H}IpLsm?T=UEUl(^qc@p!rbVLuZr za`8MpPoy7_57drX^=fgpiB2`m z-(t{;0d;zZhU@bPX)D<#RZ*{SMSH+J>~h`GXfu)nqoS0jIJgWd3uIUG(0gvCGQ+_B^`7{ zjRVDi^nCwtU!(TVL-5Ow;Mnxw3hKr&86~QdIV$O2{ZNEM~3MwokMz1rKrQ? zy*@{F?#+?W|1jmb>X+UZy56@u)o4%#-Cn4npK6qm5%2x*!ttbISKkufLSqj~g$OUw z@A?<$DMe`THCHuIm9smGZ{^+6hV@)l+)v$g=XlJo1}0*0TxN#W;zj((!k0f~#6p#b z;^P%V6w(SS&!Kvm1Fk$q!Vgd56)#Fn0KhZVxPOiPmojJqgYDkXQ=@hY;gzp{;>4rz z9+ttE3Fdf=zUk_eXyf>Tn-Fs07^IP{$tMzSv0ebzglFo*l-C8!Mk@{?XyC@6^M$N| z_0lA?p_MuTqaDbAy0HVUNwdM4h-_r;!C2N{7DBz3nJ%$5a~j3t-#b}f0D|Dorz!4@ zEnR+qcx3QX%*b)KC^v`2`>7T?ABM)V#;Vq#?VRY)23qTy%GRH8YtcvIMIDzb#pH^C zJs-_<9HqA7|57=7K$iEvY?)*C9e=vr)v~*1pHt4UZ1yqBTVQay5gm1eJDsgsDPXKP z)cXL{(3+4bn|RqTGkMqnMATWr<(`c~Gr0JBp4vxkN7=d|JO^H@I7RY@8+T$ah)T-6 zT(sso-(+*=hmV@O<1$Nq;qsUmHNG#_hCAy*{;RKYFY2wFX{q$ND+{)?f?T$_BP8kK ziQ4I6k8-HdhJ++#L;QRhBZFHG%10epy*|d&ges1-=v9Y+rAU9cFN7s9%z`S%yRaQ+ zble?_PF?MdwP8pSi!O`{jwg0~dXS3_C~;u#DOmp1^){0FlA9yL>Km_TkVu zucQCnRHDLnHoA?#-PLl<6g$;tnt6Rxf(a*hee{E3J;yd&m%y7dixb~vUMkItIk103 zJCJj!%Nj#RFGzl0H;xqi+jC;jq8H><#-g5Ti%mpUGX33?R}7JbbuFE$l>9wT%KS^& z+mIgIkUjUT*73S{6Rl_JS@MPaCcMl&j7Cx?dQLZA?k^SS>N+_imdj=Z$ZQdEYaDt0 zA{mzy!q9NK)1>QnaAQMoRds+-(Nmo)zpnPr*_aF6;OL~+nZm|-N%5b?;n40Zd4>B1 zKb#G7>xJ&08-IFPs?PUK+}&!FUwn2*_T(@SsgXJ8Qyu;{^oKN=i+>-J1o~1)d?a7A zt}8jwSh&>LnD^jfFPVkCMPmAeiSVRZQp|(Bxre*4(uMq$yk$l}5C8I|E;7UeJhL$J zrGjfXC;u}>?I_e^xTBk;`+l{^SFo#S+>^-syzg1-z!x7JKfkkqw{`qbf;rl9 zOY9QUaPtT02p=Feu%&B5~bJ9rFw6{EkFrD-zFajkpck$fjcA54>J12ffIW zC0^^vqvTxt$w9Aa`Ac^6b1#w?HZyYX9CBhp-;N}$A68TxOifyErA4VZ)A-!6OFnY( zMTnY0_@M}+J6ZA?R5kQ&wVWGSzL=bA5#ik134~g#XE{{Py2YzLV-xX;^SsPuT9ORi z-8e^qF3uL*zC;yYjKqo)jZQ$e<3NySc|rUr>BW>_`PG4E>VJOOtc|Lf=_dqI{FH%+Xcs{5H6<`zx4 zG)?)##iQ&$S45m}=i${3T8=!l?`!|Ls;cShDOp1;QM3y$84ul1#Rj~itQB{W`OVQC zykdR%ABLk7MVuAmX|va9Z&IMtME6uaRJyoVG5Kr%^?RCaC=GSzf}*>|xu89*<-NF( zMe%FhPOF(^yIn4y_0VCgbO-GX5(U;V$?cKok!y;v-5)LiTq3scN^J3g*q#rv&$`t= zTV-cCbIhicCk1P+M85;KpMB&YrMEq|Ui%-cXg>F^ccsBgb80-0&X9PqS2%Wm1Fect zk-`sWW!KG-Zr*R1StaBlzSuPR`3w2e$4w>}jzw|dmk6>E2mJS@tghxzb%e}1K8hbL zqi=u&@KP zU1(Pv-X}l*q6Q!9z^)Qd7Q%$-1eI%BDcHw1mJuQ=;hrF8O|B&-}y!K2!e+$nvDSM*0>0U3bigRg* z-Q&YL5`)+J3as9jNxFO93Zy^85cncFqZ-Hpt4B~Nx7YU8J2co^1;*8c_jB-$XTPUm zd3u5&=d)4N3A#+{P{t#VJ&NV4amFIMSoST>I4E<@XX?&tv zoO=Jo>grxMesy-ffr+KnP5te5q{U-b6Y@>dr?CAY%v`x97I1GZkHv1;e@UG8qx#bm z9Kc>10ei2yRCrQXJ5pV{1tLTCn!8#@h^L|$_G?rr?MFGsk8Y-ojda<_Iv+mu4z$2Z z8X94H4jiH-=oVCylI98>RSxt}S|)dK*Im5>9Y;6Z(CjSdbvPvZNYYlftQ9Nw9Z5dZ z@$`$@6oYx(ML4+*zMF3uHJLAlYpQeVP^PK9zn)C(S%=>qC^^k@J-L&6O^whs;m0fw zIZgXU1&z9{wr;U7M-e_RZNQ(edv@BSn61OD`G#ypTAkRE|E0dDOa03%VPPc-ZTYf~ zTEykyRbk*#Vz<8lZtLgwGqWXg6B?5nt$;U6g_y?l_Q#I+2 z=TUO_qZi?yC>j~3e&qkC8~=aO;C7f%=Jmj{@D{P{shlMHg8W|;q-kJ%a0@(S(MK)- z6#QR}N%6ohu>HoT1@^HtK2()3=V}}V(!$yr++{Ek9r$w_Xd2&GpZD4d$L7*erd{(` z`PdLEvZG;QXMfqQ`E4PRd-Kn|iH7Jla0F`de)r$}ThST7&OkU+MIg*Tca*&F7JQM`-$~JZ{*T`LUna91c?c^Zjo5wTC=YT#(zpIvvq3U z2T5!^kQIUZZmoc)S)$Td2;k>VSy2F_qma5Dh~)$Iqg34c^Z_CJT8Z^^(ZN7 zulQ$$w87xmvJVIIQ)Jj;1&Tuhx5+dZu}*YdZp|6W|4;sU6Xm@?mBLTN*dUq{yTNVN z?G-;)^fa)vYSw_gp#+?d2Fof?x;2!5qZ+38X zG2!e}xsu=nRu&BU+h8jd)9kY8J=7ODzkOg0@x>JgA~xA@hpo&nrwXQTdpjqBuLl2c zFaap#=MrbTz@uhhV;h^xK%AvY_-8V_oYLz)2)-UcNDF=v6N^m!CvG}|Txghy15MpEn z6ZWOG`9pGRFSH4_Cz&QdCKp>-8&1Y0Z*jEb8cWTauRy3y2%LW;R>2H3f@Cl!tAjmH z8Kuc6acPqh!XwQhgcu9=d7_}E1DODlDAtC@~@o`1?jgdh;Z{ZKr%5A;F7KqZ`Pb3am8gC z=80>2D%H&^ zu@L*@HPXU2+(pdU+D6>NBG;XAV629CW>>^DBMEqPM$Bf2Fv&ucgQFUkR+zPj$5Ncy zSa%P}he==*>y3qZSJ)cZ`SX5lwVeA)3sCLi` z*5WNlVTkb=Yz1@$?RBKRx~nVv>ETf}-{dH$dfB3C2M zA(}kLeqdtt!GO9UucCUPd_qxAFNOr_P1!EeFkv_X2<6wNvh(XaPW5%VFG!@%-jQF6 zK2A?>TDrA1RbRFZe*$g92iU?=w+z@b*n+JK*OFuzELdA0+kIQQY}3V)AM|+0HNCBQ z-wQ+r>8PTO)zcgc8+bDM)}q{tJ>oka3n3(4$_fgfARpsXO`+%7!lweT#^{k;a5P|@ zg7AVAUCL?qHt@={J$m$LAo!LSX49j*NZ{Bg8uR2$G1W{bKg0MNw^w? za4y>!K_DU-ptSDsctgBpQC0lU^TzgDzH&9Kf+v+XufnsyGahqy5lDhPNW?(eY8Jss zQv-I8Mq}lwo2yo;fzF4O)Dwg|jL&KU@6X>hi&I2V-IMD*cuY=I;G9<<%syLc3zuS8;xRIjMQE4VA+(zpq&!%*jY1&h zOxNZL&r(^Nq>|9vR(zvUN-h{8bT)gyf5HqNx8(S)N=yPw6^x{^r51X_^j+4?tKQn) z<^dJusQXnqk_5ROMO>n)2-YT ztG^bX7ZK@}lv7quLhRe&Cou{?S~PSuB(%{P#!*7$D(W8u&1Ydvi+qp}>ymAE7*r1L z><%p~+S0)qe;;<6;+?;qyZxa`A|^16c$@IhDhW<|ZV5|E7*S|s#$Bg1N3)7qEb02k zQm1vm`amc_O=y~&56o`NYE-j zrR>{v_7dWGxOz`!O7=-y^?DeElv6d!<0wJe@&~`)U|Pb$W6}h9(=8ff3gMo?hxeIE zyd0HP=My?aAFi!ut?JsZrv8vw@PS$?_EN>l&-401EOtL1d3ay6G3%>b_p)=H1&D4)VoXBt6d^TrKMcB3!U~tX?b0uEW1< zl6bWI;|j|w5}9~()U5TeS<9B-QD_U#!^OG$N^oVhgd0vT*l`odnsC04!#ef6@?wP2 z>0?LojTlN&rXeKe*!1J9=now|GaQPG2lrJp5}C^@AdvqRZCFrXM1A0OtWlP->wWi^|FHO_VHNva}mM(Z=%8zO>8!6zrD>LtBmG9S6(8+he-5P|V%FKKC zJsEc^d}+)IqWmbfAkEWK(p|{&j+Alz{l(wbbn3e0uhw+*j>}Je+)oniYDSapwNWap z;SXhvKD?ShB>fmHLZu!2YJHhiY51?WTBF znA_tkREQ^R-ZR`j9RY;}N7;N&gETvBf9)^UmCfLI(F|5Q)<6t@=(-MJd}eNM?aCLm zik5Zn9?b?&E7mw~2#`}n7J<6udJ8Lb#y8DO?OeOQ@4-t$zqcUZCX1Fqsjj)X2t2K7 zH}3y7nAZT&X8nT9j1?^rn;!2H!|9azEqmbJ z;*nqOTKRi$s4f6)4ej*dZJ|1fT{m*>)C~7Jd{y)7EqCw50kIOONg6F}b$eB{^e4S= z-Jjq@Pn1t7D#(7st;AOdLo%>J{+^oURLJv+5{3r z6wNBIdd&IO&b0k>fl9^^k4An!9S>e&g@C8^iN8IkL!+?9ogOIvP-x#cJoW7BW~R<~ z#v3K);WGT%jP_}~&FfQ3=WhEX+hlqN$8>k{YKni$dp^B5`GAFA15p>HHp6w?S)2yc zWG6QZ_8Fz?wOHwJUHKMxzOU2K$s>8G%gTX;G|o5cBm>Ws%jN1I?uq~twVvr_!@kkf z@;4rg?tx3pR&>D$`o!kDq)+W)$7fnxpF8XE#D~ZZmzpn%i!l+}t)d=uSFR?cqOs^L z5Ut0En$$m=)$m=E_yF?a9S_q#<6_vmt`pN;?;~P#KYYvQnvbsp+so${JkN6x`Bb6$ zywW-6G)M5NCCiM9W|d$W*L;`p?Jr|OQl$88{3FlvX8!E4V7TtC9mvSt=EO;~ZklOx z(%w`xBnoz{J`*w_@98TbFVuH{q|>fK4ba7UkIR`fgVo+!^Q;12We9P)iNu-0^NHUQ zQWDde5>ps9c@VPvi5sbtfqJ*phU;hAOp^?$i0&a<8CR{^F3g)oF{-vp_ZWIG?i*T8 z1%Krz(FA9m5bDqHD3`Rir!?6k;|=Pg&RB;B zVxppD^@GA4f4tW|=df-B0_1G5WgR3Z`^!d&P&TPS1+)@ui{yfR zQ;nlg0_J*v9V*7MPJQ$v@`&WSqjyKkeZ^@yDsU6~1`6F;C}C8QjOE7Tm#36;tpw+~ zE~g+D%PYc~FV~ST*(>6=yH52&WHme;Iq4)oI8?I$H!DkSD$=x1=wk)PWQU7b zpmx^dsg+SkJZ!0slt(HM&vrVMz~i9ye31Bk|0h@5I8O|$e!)CjDmW6- zcI?vT4Wuwv@3~2cO1Up+sHo0faMf>-bp%K#4S5OL%HG_nCz1Ob@$Z{oYvHrk8@R4+ zJLI`+m~Y$oTAMMR{f4npS0oL|p`(KcMzama9!b{<9&g)zQtM{0p&YyPsb+-Lw zpVnI1cRZTwigT1oe#&~==?kRA?q-)MKYEhT$J13@Pt&ZtO0wH0Dg_quwTAh`UO*lR z2(#DH^t!FCSCTQs+?xblsp`dfodXGzf=Y~@v-%`!@F~6_x~BU+v2<>GRv~b~QExdV zT5KmzcY9pRAKS*NmAzExZ!#%(ONkr|u$k`Esj4x0UuO^iUc8Ysk7=>kXFi zcxr_MZiv;g%b;_2udr>;$T!Oq8;UXa75VyH7_6#*Ki{*p)=lUG5ssbzC95BqP?neL z9HoAoUf=pt49P7i2Xh`a#zUVuk<4%`u;dHDqGEoiW8S;!kVp^G6&5uWWx4QLt(_!x z(~|TS6=S}9F9}OaJ;(VQj#sE?5H1Q^#bGD^AQ%JmLF^9+X(u7r#jF&3>TZ8xj-N?| zjNC%-PWT)V8>>Izsl=s&k)3lYIf=d&f3C69=2pP+FJd)=w!!BGEs6z+TFp-_67EYq zdWE)DTdassLYG*!4KyWvXmrqEN6q&MWpr`Adsaay&i{oN^DL`(3y#+V zetLq(g|IzMySMnsyNG5GHR64IH!Xx_{|-uy@_F~yT=oC@8%a07>M|AX1@e~zd_CRD zFh_tl?uX}670;db8V~+UQ$0L;#h_M5rHs`K}08hk*tkN>ur1lSD%C{5J0tH-7 zi{xWc9~45O(6i0q~(Dcc`nb!tm$Jn9SN5eDWs{h@A!khx@zzD*M&-dgHBg#$Kywh}>xW zuur1v#EJH6-QWrJP67``P=#NstCgUxM(Ajm$R!Ymzk^qQ+f&>`9MVOCjXd6fN44h5 zgD1|xbM~~W%XLGA4nVbVnXYG@(f9m$(HO$tcv%fX5c1^~NrY!kVoW z>NYr!(DWvA;OR^dRj~wz!3fwYqlqzLVP374)8Gu&LEM2&;3~LvUnHJj zaDP_-23CKbgORr)SOSW&KYnvkL9d-M1NPy~ ziRMK6CSRjEGU5+_BxoB+^{pdj#!ek z+{6O~*;c=wv=4(Kz82veJ;fkNNTZI24;DNKS?aJ>Tt=RP0&*o~*(lX#V%o%^KktLI zBaFQ_JNHZgRm|Kjiz1!6jCsX6=u<-XetPyA#K;0XT$V@+aZ^uzB8nmI+_G~JpBZ=% zxNYDhduPHF0`T(pf>&vyjWjC}NP8E_qjKOz+AF6%CX~^MUZ~zLu@Cx+Jo{xhwwe=` zarc%|a*uAFwSY_sGGTi&w;{oG^SZ2ePfKB^ixi9o#-K!x1XUVizfsWje!Uo+|R{pEa*+wDL^7MSn#&7WZcnaJ&o1`vOm z8W+$+;$-FI7h+2duWSEVB4B!>^*}g zB14iw=nI&7XCOvOfK(1e)43^ch`MwX2lFC_56y>ABccn)T2*N`67tmK>vP9Q#ObkV zS7+-9nil}M4)LS~apa*cqaU!7R@}PBp^f8OfR>XJc4r}pI4yfi2+~*}^=o^rO>(%$ zWMW#ZGjWU^nKUGllM}S3F@!Fh$XeOLCtP~ZCt?9q=NS1X5N;qllluV|(`I-&W-AuP zK(q!{ZpE0N)^wQpo_p1f_J#u=DzQXQDvB}Cd$p)#0{eWnB|ap0m8&sQgS;71?RQ1#C4bH>fl-v=fE*ReAw|JWt)g~^xEM^PRl{13m~bZx^H(u& zY<;nRD;w{ysN*z{KJUUv#Qg+|*WPB|Qo){fl=^ZS=Qp>5GjZ$WhnCZsh2aeEuC)7p9U`@UoS+xpaVw_ql8PU2S#BX+r{ z?@OObbGT_RpC`+MW>=UK53K!=arat$|Kc0YrxW@CtEcxpPf5(i^yTPMu`$fHB{*Ua zZ^HaKro%CSy3)LLb84zHzB>|*p3$BPrE%yx++7=i)EE0~(yj8EKKo*><$~?yX-Kti z&q^=<68Q7y&jw?nVqHvKHif^6!{~7heH>*$+ozZqTGFlb>ut2(11CSGwK^084k075 zZrTJPA?+Z;tfSY`k4`y1&g5T@X=2L`53LvDU_NMl&05y1nz)8ky7Spm4=zI7o6$Hj zAYNjX3ft=Wp`x1a=={)paY4U2qch#P44K6Splw)U3j?-Zz0aizpdJw;sp|?ln!vQ5 z{RuqMREl#0uaI1Y4m$V)KWGgzmij-i`IpRa{0`AQoXKPoC|lZsiPjI&8uskYy?l zkv+C;!3FQy!5O^)CprUDA7*TmNH#?<#@gl&?_i?y8?o;i>D8?xis@^urk(3neFZAf zsp@>1i}=T>^CJ<$6S_n*FWB|WhRR$m#8N_jJ<;(@V4j{@ZJB>x{yD}d+fi6w-O%b? zb~~GuFPE}@m&x7cw@p8?iCNhWd1B_l80o30o9>~D&Z$Ak=nsxm+$_}+(98<31*^EH zS-7V0n-qrNKt06-JFpGB8m7Mh}y^skXF$=$RS^Yi8|sTIG1L&T$el z&BH?HZ=raW$Qc{~%JS0RnOO~C*Te>cRLmX0`mYBt1JlGnBBU98a-JFJ)q-;@fPH%@ z=%h#!iSrfg1*WAi%xT=Dr>93FB`gW7)xQ-cf(o7l;#}dN ziki|#FNX=UsOh$!!NJkfZR_{6hWw1p^{#f(+h>5F!@|aEymKLF*c(V{=1Cg~& z;}$#+41dp4qMm3)ZK)E6HGU$_9K^9{53hmG{PBSA$u{qTz~a>%?hnhfre z=q0OH;>y)3Hhg)Qw>EB0A6u-Fan*Y5Ngtr#)%3eu2{wg*Oq$>IcNR~V+Dk~jbs$*C zsx7rAidcuk&d-u#^0G(Wo3G7^?`IVIuHXJg=upB46DpI@6i`!&>(%#v>nO7*eW3UX zmF4WzOCJ=l$G zi9o#tMQ++i!AL&JNEQ0~Rux##S&&t7}2z3%5baJhBx^3N-Ykn^KX{kQ8>lEc}Sbxa24ZA`?i-UUhR z1yV_?1HHZ2u%xi+)`=LF0^aY{u|pdrX`6ao!F1Zx1*^`7r#0&xu`S z^oL8i)b#ONrO}4d35p}Z9E2$RkF;2rKUC7vHCsE}`EB@>s_5c1rOEK`hX{yq7ot&Y zVp(xIgvlg4mB?j8@DbB{mS&kmmaYE?G~o6R^bsS(JpLhYc1AGm({|73j3+(bur8I} zug3{y$E>B`;r&Y7Foz+-ciS8rh%bJNTGxp$VIEmz;9(1|aew4Gn!rXCre*zMC+F?P zo7|eew2ZfXS=vOF85~4cav+Uy_BwHUwafmPXRz$UBw4KW>8~&+x9!xZwXPuobKcBI z<_fK_lor})9ViH9cFFU$&TJIra`ZHFnA+d^_uOS%eRw!@w>pkfZ3HFc@b=gAn_Qt? zA@v+>O6_@?qR$7S?`x}CT5>7q<6p@}?hUoHNBIVR6eEN%Z~d^7m-EtfWqHWhXM&L~ z?MI63r)Rn4=v}7$waVX54IE3ZiX8k1sc^8^=CE;OHJtY3dj0I$v&8F|XT{uhhpSa4 zf_g?D62K+z{Rp(2sopgo)wPx&+dH;0e$)E>L2ij6hzrX_T+F&`HD4x7P*$U4gYo?! zl;c>BrN_w?*vV#sQTTTChNQ!=al{}V(dmvuM{7gq4>|GX7yn+hGpMeT$mQx5H0d?3 zxSDvg_DIG8Q7dAiy<6C+hBOMaD)wk)&%8yXX_ZS(AGkK~?(hm18MXvwomeB;bn7p_ zPWVoAQZt}jf(5dA=a`F@p-;G}{$`I?a_aHb6?F&w4X33c@T`byuNpWOt&8v$Ns*-W z#%MOM3GR_H^6OD4H-@w7xD0CFoL`U%Pm_;Mttp*g3PO&~*EJkV?OMS-uywF65)aiw zMj&0@mR#zy#vH(}LZ$pOM=rZl&|pqflCo>>5ZXn4@SzUltRCF4qSmVW~c$=59foe-%qV2y}_CIhPZB-Rr3>BWXieEiZc=Q@ZV;@ z#_Y9wqRK8;O`o{BdSzIpOL^IsNBHO`+Q5Um;=cve)5A6OR$oGp3Y}SZAo>FjYF@dc zrMuqzDR%djE@K`~6xQDG4-XK}Zc`57lpD|qd4%j90YCAJQIu2_twykXs+n#zJsBTwmg=h>Xz`pp2 z-THT!pFiRCUMm&1cB`T)Ae6n&uE^Xap!<Lc3&~_S-BPSZFJg;b zAKT+Xco7@wD!0#S(KOZ7eb%Wp5Ya%emc(?{q~4E$Iq<#^*WJMnQq;k`!qxI#e%HRG zUBVS$|M$`g_~gsN_`nH;w&0yg9V)*WJ{`AuJf;J5+wZ4}t`(RQIjVLmjxy{dAfm_q zmpkUaK5R9mfyz^+FVm$g6>^BIWm>OQuh4X>UWTAuJsB#_^ntnt^5QRk*Hoge|BGaL zhr5i9AhT=b`djl>>E)N`Nl#tMwF*HK?R92^(!A$k@m|esdhBhZ-<+5;!-AmKNE_>-}CAwYH?mCY6^hH1@UquxD+=Q=OVo8@u;ROhpIN zU)3v|ZQe#9qzFn=3fUi~G%^#hyW9B9=dgaeK|~|+u~j^gtv%_yF6nNLL#c2BN$Xt- zX4H|c1M!M=rJffJbf+98EkE#|6m@tlbV>>l5Gg{oR}E>q#r~Za9o>GfAhL-~a7&>D z`Q$43yvTl7$ft<5UHvWYlqjYz^bfbR2euv$RUt3Rqlz-^MFj*LMjC z)fJX2YHf%+xE+Lr_sr`YUvqOY2$F?CkOu%kgzc~|<<_j)!rK#QwC7hw)NyFs)M{2& zNk@a~1nL^D1tmN;rtQ9d+5ZfGu!>3)*Mrd-lGZ^2auha+Bb9hgr_xu}tI5hy8;9I~ zlCHt4>hW0tcBx23I{)6QVJ)E%lX`xE3Kp$;4?G+Vwo2F~1okwFopj@mgKSTCN!3uqFQBt|p!emY>X&s~R9269+OS_~R=R0&<<{|Byq{QL?L*lY( zO2=4&n)_@Grzb7E{RqJQ?b@;HD$d0d3-SIC`QfrVFaggzC(cfM{| z-L$;4`7npg6_CoY|F&rElARWGdbb)SAA(=4`Yws7CVl?$XC1czb*6Y>!GiV}IF$A= zNH{CiYFy_njeqMq0-`8RLNnKYSD~mB5#0JUxztHmcbUInT!es<##wCNx{6%ydsynF z-N}rwq!+p@azb-{BlQjSX8&Px@&8+KuYXXQ3%j_r=~nPgP1U%_HC+Q&=@=RpE)(rZ z%9BL4%C!;NAjL@NdXdn-M`RLTxfbd?4F7BuqEa|AXQ#B)!K>qja(L2K0giLobv2)r zx4k^Pwc!ww2HEq!yJVacVuMA3f?jXc`z4{YZN^~dcvr_^Vqe9@<*oMovul|P5@aQ2 zk$dW(cbOtOEcq>h6-ROoKoAyd((BJ#zjAvw5Xe1U`dPSyT3 z$230ZatGG_oQ z>%uZr+yxSK4Sgpkuz=PEH|QCNSnt2QP~eOY8|?I-SmT8xqHR?w1?Rz`CI#$HkQL_a za%(ahA*!Q~^S`!XTSe|QqC2?j8XnR=X(u-`zeo(Oh~!sG)s#jNRE`m|+r`;N`doJD zgRk}vBaO!uM5OtfX(nk6lRKicxaGE7#Urm5(O#T!blbJkmyJCSDx%$!xn5^DIzUxz z8o9k$c3pNc`Cp7zD-o^+HWJxhe!IuEH$ib_roFg6{5f%~9*3ois4&Z=4=bYs`S`O7 z7IWIBjNd8oBvhNeDW6uZhcqLr)WgB08YE*1QKx-u&S{SEdR@9gXlF`X8DM?NnHqD24iZ2M~tgNo2?izt1gv^Yg;-sWMO zd%2bSq$HjvE^nhAv&!R8yNI8Nc<4NmJ95|V;MjOc@e>R7ukn-5d}QFdFaj##u`-&j zIA$jHa2GOLDeRIYa~4{LkTh@}&sT+zk6(tUG>DMHztE-yt$n{aC}kZaszFg@TFKuu zI^m&7xmLw#qK#-{*PK^`MraMEO=XRkiPrZU-!c(>_i2EjrE`n+__lviUuxGQ1n=>HVvg%Js|^h-Y*ifd~w^fWz-_nE9o*; zaXh@<(2C6M%PQ;&SABI)d(e1yd|)9udv3!ynp^G&6*_r`9vgN2qJ@(;{KedhCP*o@ z^OmlR?_&#u{rstfX~#$?c_qW?2x!tzcE_26CMPX}bXBNt5{c?nFcy3RP>p)1bos3Q zzjlL@NL%YsRjzgmrlp4QK$dZ0Vi*8S!zGgp->+~&{wGBf%FbD+UEk1m`V2%%>LOZ} zi2ntSR}?m4m3(t!#l&`2^f3%9gT>~(*Zq3*72tZxvdYL4|2a}zsHjQ@6i>#?0- z2802Pa7P+>^IU$0!PO7QD!qR=Qv4x_35I2E|}<{^7q99h@#rYqXZMHeJ7uvN4Pi zji>ucib+E0U$5Un+B-c`*@sc4TyBwjEg^uoK2g2OH9CX+zeSi!QX+G!mibKtm2Gxd z>_mD{hJ&rX%Z|2{>B7&gI46xsO6%{b{_40VVwhPwOs{$D&&xHeULy=vaCLX+0=3p<6DIpI-JZ{k$ z!@`Jez3U*+%zE1ydqDf&%B$pQ>T|n95gpLJ zY!lp1tH;2`)6vx@EJtYB-0Bko z02>J&;T6;#_Ju;!02MbbPVxH>#3?Q8)$KF9fB;|&&uCV-muu+#70gVgEnr#s`C?%6 zXj7LcdO!n{4X5)3 zpSF`PzPu>7FB>YM?=mSsj*S$Zx`xw~ zr~mh`@8i4QC(5`ShZPYKy>=tBHlthJ^{o)9co926@pv7o)MTvp;gyYa9_#~^)AS$J z7CJ+SK!6bH03c$7Ok5B(S@HxTpgZc?Mlu=&2}iTa9lciu&177&LMnLSpMR^BRnFU* zz{_vTA(Z9h;vUwQ=*zG`scSZ~wC#6T_oK>YbhzY>_7!kqjyAB0AXeBq@BOp(6V`ah zE8D1>T$&NffHx!!lOGNet&rD>MWcTge8cg~(vNsG#$q@<40w_gAU<(dFEX|`->`G? zgw<7$PWNDmW@Ie?=IosLT$Cx}PX~*)+RJ4&%g{m`de2?{Kr4+TiDTn42+<7YT=BrU zp4FeMGniQYx>#_G2!HBYl4&#-1~(tLQmZ=bPZDe_?QvlCUp+xvO#H;G;k33QAwBj# z_)cGshiiC}RF7N47WJ9KmS6G*rWEszB_<=156vG;gR&J|>x2luK?F$xWFc3+;3n#T zVvHi2s6*?awJ>*S*fJl?^T=jS`1HB`M`X4qRH2)hB31e-vWyc?>qDpSMS0H>sd&LO zcDq{mDoI#+qm&%ZkSwymicJ(j=1829TK#cQ3Bh7nl}<$F|v)^Iql4 zYvcXtfr=YWljh(yH?XWY*4=33hxSuVZV*ix+{M$(l)K#h0K0M2s#0F`bia$+eo@Iq zh#HSth;Qw{z+)SZ&-Vw**u;d1nOWB7o~^G*N3{A%g~eb_Ps`(koOoe3CRSE?K~zy_ zyxUs24w99Xb-)3sm+|0*Hv=7=M7=j&UkC4G4jPTtK|<)3$K1xP#7>pfklXIyQbs~v z0AaeXqYvi=jT*@(pFd|w58^F!sas>461bi8P!xUH^-3CU6u7ogJEzK`~!93 z^&F;HRJ2M}%URi5Cx`2mm-I`m#;5ZR=OPT=C3x)g_>(Z(&jj!;dsA9k{5wMAn`Z7ZetbqvBoWqg>~sOvlz4Sy(JTrJMn) z+0T7;S!NN?X^FfV*^cG0yN`3_3Q&%QZ(5E3YWCC?Ni*Q~pIVw1sOPvyrJ^De<4h6je>1mc@eQ0!`wrlI!}X}e)$Ak7kuk$*cE^dN z7V2wahl6X(#Px=6Ji^)ZvaDsbn5>BLB z4M?hmm*1Q3U4l*j6%0(-E}h7#Qxx%I*-TA;_XphMNrXYDx8K4^p$Qb}eAsoJ=#u?U zu_wx;^c2|~IaWwLCkN=6VuHwcb+sc(Cs)6EL{ERTLcNsiWaLxJN1SU-ITodd+bfzz z%T<=mE*$wumpyn?+fDEpGj1U1)i`}wLfq0&ZE?aR)_M7Me=fM->GjQUTwohKgsKw z&i)Q|IALK1a50>IqwA8n{Oi`%)_%gFE)`{EWm6+cd$w4DKe1S~5C2=a>P+)--qkv4 zYaWiinw*e=U8$ES7U8Kvxo4@qH|3)PjiR2k*|JqBWgf0Uqi++ATbVvp{23m0g_P~B zB<(hpjkXF~JOtWJ+bjNR3(x;DS8qN-{%X#Trm3SptkTjja! zKv{qqIod`*4wS9^^rE7ZR3YQa3Xa)>Mc)V3cT0EH65%!?AMCJ?0^Tn&r};X zMR)bX%WB>M(5v~LAmHy%7YgKPrRA7}y{z|(`GA%w->3@`^c!n2h&|*rpkVmeQ)E}f#`*GocXe6!q8y^do(Kz%SF^FQ=GquYOG~#4;A!(7IlxxD zk%$^A=TUQW^KGk2p22(be?AlBDJPkYCl?k#1!19~DS>F3p_z@c@k+r~=rtGh0uJBf z|JJYnt++HHmDn<=Ym&}*>^1sk%?`gpg1g5D&X{MU#zgT_1)PDd*+|!h^XrQbIi$o|Tf#`%DUs6zBH9XE~Vz~MQREBqByP$klJevpmt8Q*L-S_aVFuOwLpdcZI5?k5lo4|a5;YoiQ`xCi zdiy|MTi7>ySk^lBMZea5F%HaT1U`PyFmR2MnePf>*>qS*{|E(%&>A>8hI;uel;LR& zHnXhf0QmA=;rf`Yj-&H)cg(I!f+FSa;Yc{D_Vi@AFGKO|KEiXGnN_z$4pDRP?ydIy z+ub+>LW!6f_Ol-Ut2T1XZN2(Q5P6M9-HpfM;ZzR&%4%WF}}tL!q`iF0rq-P9C_)3QHCpOijE;jx#x*9{+|>P6%CSQ1Ybo z@rPhwgB9ogds9_WIE}`0@7J;GOjCf>Zf1;i&2Y7_S@-=o`(Ei_hxN*J5m1mlM*w2j zpX@JGwz1s5b@g+_;aa6piQ61pv*Ovz1_Y$puk1BLxmriNwWqnDCQ1g0o|HZ1#=**~$=QWM@~bM3uzoel+V)RS?<`N0l$c2Rpd!tY*eoRY+qBJO-b6zZES@ zx*heTNUhZ2vRm#LovFKVY;x{%ReLKeZtO)9{fnl*!%IMa1V3ybdIGf_OgP5$W+=dV zIX2?<^WlD__c-HQ!3LR?in`ZQf<*ka9Z|)|3gqExp`u)38Cd;FJ%MOHH}chtzGY+~ zYvG^wy{XbqMi(clD@6`hIeE3*7n6L()d}>H=>{I-zpx{&0=vJ1>8^bX~*dseI)1#H9=JA|UBo=BU9SUL?DQZh}4L z)@A*5<7)BzZms6V>Ts~}L=Fp{`<5~tK+?B{)4H2)n2D^DpAw1@T{NsklecZQ?afbQ zlWyCr1dY~qKt1w(m(xTj*J}+%Cyos4pQ(gg9fN9Byzz(EU=i1r@re}QL~?$hzaY+L zqMx3b4}f2lL#@$EdGm&-5IRr9;2? z@tD2=D(Vj#F!zbRb>6lo!f>yq($qq}-o95>zz>b6QwYmbxP@`q(=1heMGvU!FHSb9-6CM`Odva*tC!dfWO6 zSxugpVV=95?QF4es3&6@40;&m%v568(^}Z6!ofZwA>c4AzFj%v=u$O7e}m|hm%YSx zQ<9135*I{tPAYWcX~^p#V3 z5D@f5KspdPN;(Ht4C1ej!qqfxL&tfaQ*EStJ~eo%(gkJciO9y#c&NFs*WT0nvzd8X zz02e<`x|U{GFH}@_CxpuV>hEt8%?FNmfh4335Tj4suMRGh?;6~iLY|zk9+$Xx*%%v z0(Qq~0Mk5^B85vWDna7tP+n|iDQs5y>j_zw_^Ta#lpZ{LnO}hT{zw{f$dQKDo1`N) zv$(bvGjK#GYLprrzpJcom=sn8f`j)%plyq_T?q1)3CUyKuY4g=TDDWMn_-OxwYz(Z zvA)%kPGuX!Co>T6DYO2#wiAq$;P}(e~QsQj1Zn?%U@S>w`D*7z?XA zD=}@}-piXB4F*x{bkidB`gR{{hPYR^l{_JNsac&%cBq;&)bp_s1txwPU7w4mry8F1SB z>cS6_r6`KrxWwC+k&HnmYeW!oa3TIH+h6DY)3wSl9;;U=rP|6;#?#wCO)@jS;GgDg zyFH-dlx_t1HZ$W*a1zr7iac*!9nTEmzs2_=Iz^;$|kJyj(xOfx_q1Y2|gTK`98JGB2+5MA) z8e;Q3#TO5zf4@jA%403gK*=N~0_{^o>P-6t1JAsZ(7ZY_Xk}jfMMH-ysB>XV0engn zZbe+v_Zhjf({_sVY{6)AK15cn;=LglZMr$(InOHZKjoyH{E!A_9bmS9x%=uxFr;n} zBHO=t`|5%`o1B!Oa8dek$7b)Nij1Tz%Dl4lBv4TOZ;w>)XnYtkrWDW-EY|87PFoa1 zU;HwFelJFOaj+?A~iNBEVe(Ll7?hYOnb?S4Q1%T1=H$$>&revXpI49pIgwbY1(#{k2v z;XQgr9h9MLINgXz-sX#+$^F3)s^Lx?O=L4gsbXVww9V-%YZQ3P%U5ufet*vw+5f4r zQOBXPJWGo*Zid6DE*FgCm<*740XK=*UGhvKowp5vCXncH zUb#MmYv{AEdhim{vK=I-m9U;13=4jV&KipKJ$4GKng9_}fC1svY*cVv{7iTS8aPDF z^`pmdx~=e?w_oje%vBbwkqcXl*$rc_-jGs|!a$@(*X^x1QQo_GJNHihBylF8-FDJO ziO_B=&*|I-(8aB4q?ZIy{eNH}){ABrK`IZk3MH*20YPf1RFSYb+O8xB^7i$hzfD^b zQpaA?T|sH}O&c1Vi7kYC^ef{{Xxv}y*NJi-FigQDw$()rsWMG4v7Q)!Y+iB$4xf_) z;b!p#@l|f`+xc)fn{K)~*^xrl4`7=TIC{U$cX}l0sYSzw2VwRv<&-EMd2hemdu)*9rUH)x?Y@e!+V9S^MY}H70efgEKz9 z=p1hq2i+YN@%bg^lANM9pRxc|qOn}{R9xjr;F9oAF8^# zMsbs{`Q8Hus^9srYdpex-_Zt;aK(K_X`HoMMaFt>Za%rHt@2?ovtzyibPWznB?c;| z()b{}_mk%H2h**HWquKA^KNPY2V9KVG|h!nEpFTDFxSPTGk=eUp5tgPxC>u7HIdhe zx-jkIwF_C8-bsQ>{FSiq$&-yeAVEqp6LPxR+#3BTrXOEYvzLsXbW@zu-BerL%(UE? zj&!h9I1H$ua(Yz{l~CH-lLKO>@a0U)6k8}Z&n)^g2ii49M^KWbd%t^tl`Yn%ofY<; z%OxVGRfFTsp|QQazYD~Q9i9>hiB+?er-EhS4lofR_`U#&LUlf~_|R!wUuQ-)eNYY% zf=;%6C!*;dV}O8~jJ4Kh{GvDx8`J=V?61_17fR97Xj}QHtk-IW&hq!~QeVB=eC?C{UIB@!*jZGhu(w~%q zo4NlW1tT6gpTnI1b#w5b$AZR#gN5o;>hd;Bxu*{hVjzZS1NmOcv{+^eOK`RU=_=B& zbAykLuGMYdcrMo6_Ko56H!%6(Kg6HR1F5|8;XFvqHwZPmzR%YZQ}kBNxjE%$0OtyCFLU!qH!|3)xyn_kYdNmENQW3`n`qWbj0H7+Ev0=`? z+w;oj-Yo0qn-6q+BTJv2958ApmEUF+FDfTIHV43EMz6r}qrkXL?d_%MZ%V#eJM{zs z6Z)@pJ*y3;H#s#LS!!2bgMQVX?R=*r5wFD#HrfEB!eClgb^3n}i=$5+zS$Nt}s)rfg*)tiEJ%vPE5 z-do9-dufzj4)>iqc2f7$|7dG#n~JIYMqI&YZi_cr1hS;8A=n?k)J}$mg#5kdPrsRQ zh@_y`-w-mS#rkqyP|RY$P{=^al_mHn1U9m%Pqm3negsy!K z%mb9<1I2kcD9S_MF&{nzm8mC2#a#bryYRpVTfFktkObOQ_nl%s)xBorVgL0Pzov4c zn4+Kb!P0wgYrvpLee!$higC$d`9^c{dC*-qq*0Iq0y*xinhW>Wh%z&L<6Qkd(hTm` zrJfDSM`ADraQe=22df(mgx<7u@8=DTr=hJkrxBA5KA;|%WlpL+Z*aV?rIH*{Za4m? z8;{Vm)1LVb(fkI3@$Abq`KX+&Ox5w*J)lNHLez>WJI!@Kz@)&qKEA6~T1yA|A+=yFf693RW@eA&?&8>Hqvr_bTO zZ4;r`+xC$58aI!Q-;f>GgEy4KLnZQ!g|(_1-^kaFd>RW)Kp&#$Wv=d73#^OE2X9wu zgw(i9>Ms{hN!}^cjEjCb)$bBP!u=uq1=P_t;A`8H0;*zvPQDrNA4w91OEVf`cp!z zcjsn_M4OvDGPnk~UcSsCB{o07h2c$mDlVk5Eb=X7Lh^E3tJ+iRc*=XET}8KT!m(p` zxXmbA>V3Q_*egkVRl|gw->1Z66s2)&V0-i9h~=Iq>m#dC0rOwkNw*<@UXLE%g^n)? z0#{vU zwCmGcj&oTlO8Y6USDBi{^2cnjb!e@Rj7lu>I@ZQH*7~wrJ8+2~ZQxQ8Q<@qF71djv z(H%!9(25xXhGsaMo{qK$pQ;3>>5n5H8p@)8R1uFbk>Y}bZg2J=YPz6F#Lm3vWKO>W zdzZSj1pKzUkxjrhi`>!pC9c<(J~*FmslRCMn)xqgaQ_B)H-f$cQZw?9g4Seb%C{us zwPBL~Li-IbpFt0oL6$3}Fj;pTkpvYfK+2YCR@X;0QE^^=5u&Gh)hkqd>Aav?J-Vp$ zFW1nRhLD?chK3|ak)ptfLHwSueCuM1vZdENBZ&pln<7KYna?g=22=XB+l{roc$sBE zl9c~S(*4M1SXHH0@#7(wgK9)Y`YMK7*(19YtRa#}tnQGrWkVl2E&J}A%Rb|=dn>M? zfJmu(`})W(@v|03{KU#XD}(Ah3V;KUtRQ(8haM475chfTy9{vv%>v)U{Z!Dyc$H&; zPp0*=t7j9_u}Rm1jv523?)dY98|OFkl9CKG1ibA*wKeS86gxnR;ak4Vn5zpqTquKV zs6t($&~mL_o2ld~limDpMn>tqGUt#`xPalO-V8Z>FW=C|%#0aEKL348Oqrv^<#Ljb zpU>+=R&l!=%pbDijWh{vB8eEV#m@bEA3AT-<|R<#5%RJI)_SUBaUEfqulDr*{+!mI zgK2?<-ODW-cY~W4Nom7bb)msT*q-awbqBq8fdM>1)uuo=FTXaGy0(PUSERMwi+UFe zG`EvOJZa8&`ZT)1#~n#un_AVfLx?57bawF)Q@njGOeJ23$Iv{XhAOzG6P4(a^)lWT z0jeYeym;{TsFdW^wKm6m|AsFvLNet1D(0#g;?KpQ(-UC4gqD3}T7jI+V_=7zwU}5I zD#f@RD8=^UF{Vbaz&dAMEPG(xV!|n-M?XW3$v{Z z_havu@69%8!rK$r)zuyy9S<_l!Fp4bcIPrx#}FRmRGeGm8Y+4F7H{h7jVW=*r`qx0 zar2O-0$HtwC6mma8~(k~%3nb^SaEn~*wr16=?f6d%!CGjyaBdECrja=1=6pic2*IV zDU9NZ6%$MQN|yb5UN|R5jK!e3;@Rk5g1djbeU?b66{3>E2p`UF?DzM~l7^SR2#3|Y zz{O{M`6@s2r}F4>aB%X*aUoZY0aW59oM%vS)m~QB)5gowcBS$Lw~6$&o5N}#4#oB! zR(I6-9Y)D>+&|s}Jtm758FbvA*SlyAZrY*GoOWH1T1&Z8~gR@=3x^v!P{O zb9v~AOv0P-2v)IJ76_rgY-T5JHKeiJX?NEu{LLnH-h|E=^aHiM9-VG;T)NC2P*c&Ha8;Gq-36twum zx@f`>E_Du#8e3ztMfA7s+w;A2vd`-~h-Oy?S?^#lHml!eW>#JvrPORT5I!B*`l50| z4N@BUfx=trp`)PQX>+Vy8%#6oFbN!WNp$lVZ?m(=RV!*0$0e#?xr8-+j=3XQV&z5C zDF9}N=4)k25jRLQG`F`H{?p`%MssF3sDZD)<;|(r>>F|+HA@NXA=Cje4)FLeX ze2uwcu{pE9J`2iihQ03Y@$c}mnu83>`U>37U7vTa1tNVdx5Bkw08P; zA#V()e$5;#)^chr#kp9(b(NB1zo}7i*g3!1f9CE!aH<%2KW6sE7nOfgXO@kO=(+x`7NtjFC1_*9oqR{RB zUc4($rji`=*;sJ7oON475R%(1_AlyftmX{EC3jm?bZj@{Ye^~MOBQa&70E(#^YcuP zA4|2g;AJ~r#yZcJTtt~VZ(6@KO@5UjW@2USJ<1ULN+oz z?c_|SN%5US1CO?sh~C9M9j;(kRA2rPjNTiC(sZR=#J&!~zTVP|uccSS9fYZBV+Y7* z$!;EUrCXcW|F%74DZTTA-*1x?YlQjCg85-kNrT~>hI`5~G5gkfBA)@k=}|e&RJlg} zbTlMKS!U`RdCyu~p$Q{Y2GgCU{JS3};A$_oYYa`+yj#C1%ghDAYUZ`;!&+PG=_qd! zU#Aygf2(C8qw@B*ZJA-~cWQF3s|*3ur2w z?mT#dL-|=PM{k8kfidzV_hxNe9&20pa4K}ex;_T3ZoCMgiPPj`?}Pqmq_8R(tyCDs zgr^GXf#plZDBoDN7Pz`kk~bqj;@742E;k4+CDxy(VYI5W{txUPCc<3W{NzV~l}k#` z1cFjs-E@bR{x>7LW=owHXp5K!5!T(R#vLkIjs^sz)Yw=@-GFj>#G`%|x-kx8`S`(w2%dLt zpDQwaqSMsybxRPC+uKyGeNP;$k@Igk5*dlD!bxjLZxU*{Kf1y^jj(-Ra!0C2lji*_c}t^)p5bq2&AnwW;}vpRDV(|Vp}&Rzz+ zG}LTH_onl9pc~aEIy$B(PAQ2&zD9~4?a^}@kLcTHlv{r&2k#SvHU(*V>O@yKt>?`; z64Pp2{-jfr*^PIr{zdo#qDAwWxv-%FYe*G!z$z>*JOy*B6cpzlKEO(xa^42_7Q&*S zgJd0sckT@8PnnmUfGVEeLV^#aP0aMCYfY?%T2gFCSSROI4S| zsoZc*m5?#RR-Ue;D?Sxnp9&rP|5fOYC%NanxQR~% zdsl2y$nYeimRi`}#>OF>$I%t%49$)wNo;i@JuYbnBgmzsjx`kz?eMSPrhUSei#mK_6Q50gMPT;anXuWL{-Jd3v zAsRR+l;%Fys^qLS>`@LTjw@LqfAcpSR_48ZrqzmD2V8X&GdV1EQ*jrJOf$n1tHf6tTvOPu4Jri${NiJ z7Ts(pcA*OxnfPF34uB$wpMX_p6+R&HTn$TX;Y_Ig(Ak(Z$HM}qca&s6i;kehJ2eMg zgNtw2pn9A-=jExNQ_wtZmXhTZ<~g40K~Kep$V~QN;ywEUfdXp@5WcnUw<2-m5?{lFsb)#YxMT zl6{B|z8B~p=KGZ>6Tue1rN9`?tvV-qG?WN?w2jKPU#WNnX@86qc$X^VSqp#_V50n> zIX@RNNzmR!zNQ5JXu?LIePP>79PtehM?31BE=NIjT_O_j&0wX%_B#z^w;vnmuM-pR zn+zvQe6?>R(Od+BaTRbS(iP&eD6Pt#9j@0x0qb3DZGB)aotW_bt%suc*!bmOvpM`T=V(3QzYwRUz68l0fXsNDbla^39Ub@=bnHSxjXpBw+- z5cIc4af0#Vf<=4elQn^bSi8VMgaJbIXo}#;Xw72sS9`F_l}Mw&9tdMmyMjwvR*E{D z^w`yNsh%(q!5HMIw9W<*lVfE4b`x!Ak{r;?+op3Ze+T4YHABU=LI8)dNjKjlKybmZ z?9g_pP9kY0;=Z+phS_3);O>-Kn*3dMYu8aBPrA8F9eTPy2HI{GzxM!~sLX7f2Y%(w zsY`uts0Rf!$}8|{_;~|iHRtT^h6puQw~Kv+n9X8$lE6j-(M;av;pC~lZmHG4)>0q0 z3;M0oFvinpGt;yL{3io-Ubqk8J{Vg@&Hg+kFL9Ar&(Th4?LdArb+#_}#3&=)HR~!K z#VlI_uXQ}N^Pfw{tEQrTn_Z$bE>*z(xcCVdV(Z2@A!dR^Ysev2U_QYA{ro4~z$@!E zSrzRZLSwArXPBk=mLaCu^$e+<;jR7Yf-g(Tb_-80?-t=1yz=B|`;YP&XQ|&;P)2tr zp^JWrdXt4|l)=4&AGBp}7TX(r6pSrTDo_cf{bjf)FdB!`R^0zYHg)|Nf5c+N6#kl6c( zi2~z?6+C4h*i%p^+(T>Gtu?#g7y5yhLmo3G{O${+z^P5ps;Xzc)&qn03h5LAf(}2v zw=|5IM!dg%3>7p&R0XT}dL<9qF~m>03Mc;@zZpET)M*ry!Ei~Y)!dCLx0E=%-0q$? zWxCe)GIv$Ol#+pm5BW`g7hLfj^eE4DioJ@J$PLbIqxSR|K{<8>`;ya1-I+&oe?Dg1 zuwx#02vyC^GaW}^r4*BuD|wX_$SJX&`4_R!6C-cI+Bfgsts0b|Jl!@8SGA>tM{q6vt~oS7_qJR%pr`84%{6AtABmQS9Y8#nkXuU}F#uL8Je;%CpL$ex;v`;RNG96jVSqed-+>+p{hj z?Q5|bFGa~4Z#VHTLhgJt|M6e)l(MHKNt4muj#7!JO$%F}j3{LhU0eRhR;~VY>-Db6 zgq#2DwuAw%P&w+vL;QUoy?T3GwtxBN*vfw)bSjCL;(Yu1;9OQYAx#0Ay?Zt?1rd$o4?{VeiVt7r*)ub5~-%D>G){6hdrfc7n&i_0VR+gIUU9kdh_0Ph}x41N`?`4 z-zINiO-&X4bvfraXW$$pKoIFez*g;$r|S^25$iZ&Zq>ZBOyX}E?~-0nP!QI4b)nRJ z6?%Or>rx6?jSIB@pR>^yKd(wFes0}|i7=vyPEq?AknmSO-V79}tL8gSZ(ZMLoxG&a z3+%jbR_$pGs_^z(>NGmM^WHBhI1&rc?+a8i7e5`?RnU%RkU~SFwd~wBSKlHJ zU%#61sxo>jhBl#@s5HjT&3XK~gZALs+sT2|MIbDq|v>3i1pHU+AWsKuPV zFBlbSoXn2UIpc{yF7kS<*2gJ`;=Jf-$x`0k>>X4S8bxPO`QW+tMSdtYC}4hCmUzrZ)-?BgqOjw3DA zC0CgTzZ=iDM{z%|1BXAt8i0qeaGY>4tp>)pH4isbv1YqSdo;H!aJV^zij;%W1yfk! zG2hVbJ&H)BTbCi(<{DTO5xPU0)pa?O%4w{47xJEC)|8~kAnuAx>P?eH1%4@=Dik#X zVud{}L57_2^4U(l?xR zse4nthPdP55?sO(+g#@QI6dDHGf?feOVI`z2_2{8j)#GKb=9x{?bQ`bBUEVGH3+3j zhmOthIG$`Y(;$5bAHJ#JI$hSR?KK6T++w~p5I8;BeAu>Ly{pgLQNq@1xU-#GInX^>B#CMdp$C76Ch3I{A^ezMvtK2R_tk@Y%wu#@#iHlhe?LYV1RI1^8<4*R_KdMbA4# zS0@14xPq12cR#zfl>C*=wmC|7(X>7Ume-hNJ?(ioI=Srk7>e(1Bs0iauRYZVhJBmT zLtwI9#`x?1{QCTGMQ3{km^oJ*!%v30Jk#s(1?6x_S-OvRC)e=EcZo1j#}yT`y4#oyd1IBn7EOwDF)!A zuTmgl0F7YH+L71kUbE=fJBfs@1r5px+cs9KyLZdL>Ny@bTq_c*kPBYUg5l+pPPRpN@(($RA1iPy;%lNvzb?y#{1Ed2HroLj1KL0dHLiL0BIFUvoj$rV*m=k)Rcxzn;1BAI~Y5R-=AnG&fV0<@wx;jIDr+Z3^aGSP18F3F*zy+MNSK zOAh^sE&JkBz;n<6SKxM3-gWg5U;@RtMe(gYI*(k0DS8AspS~JqBFNpejUX0L0C6YZ zzy~RYwLMy)qVxB{@Wt$w`poUjZ3RBUIk-M5t0-Wg0X&qRUBM~7S`w(<2!&2ubxD^S#f z+Mx1kP_V|&WSHCk-+u6LMn1%QRh68Un$2OUhu()hg3W+BOQh)U`*{{PtHA_jbg*+B zbmFTumUa(ZLqZ4cpk-Uf4O^$m@pG|lmb|gAP{va+33jYs^-kKye=#0@&1sz$5uwlq zj@9sd{vuEr@D)>~2D<`k^N{R#qoQDkz@pHltb2!rO=BaLpJ~sr;wEr^yKFA}>#)+k z-6MY&tD^mJaeY#edPS_aJ?DuGAD?|pdQNBGZp>GT;#_KS#_0bk?K{JoTDxs68{LWl zm9_-|3q`txUKMPh6oJr-NGJ5(m!c3sic*yhf|$0Wz5nyh-m>Vpc^9sn5&wJ zq8sVp)B=VZw^l)SUakfN+NX}r|InT59L~4x72iL85(Fc?*Y9uoSIf$qmW80Pm5k`- zmJWbH+WTnT(f?Q}k@X-!qm0q(n``b~v0*~|g+SmQ&fbR$j^1}lUk7hx?TQ2^V(oY3 z5B9*c^S74*N?(s>{}Q%SeX;M)giAFZ4e|UxL^$9`IZpFz*=i> z3?=YB)_9WExHwrA6`hpvLdEA&F82~G9@FCdBX$?HiPUBWRXSXxFUIIwj<{9={97B- zw9C&69%$vs7eHgj7$pyAKrl*gVqXBu}};;X5G&;wRrF?5rL zDt4njWPWjnu)hHMrgzh;5X@`B)Qr@^@=%7WN(n!BRHH?py5C7HjIla4U&b_A&46bp z&G^jTgV*?wrwlAc01MmE!>BX6_Od|B=C;hgkJ;p}j%+4Q(1Z^zQogsXz2)(nFGA`H z;}yCwpy1VIsKEP=_V4KIxCpI$09}IG_j2^!HgfM5pX0V!qK7Gmm`ZBar-{RYdzOj1 zkd%=RF%brLE{Q*l^|(tG{?1AeR|yq=eBpfzbKZO4c>go2J60NY({>l#2ZAUH5dQWa znn(Rh`147EI2v!?$xxa1&jC?Zk?A!kh5j$BZxzmVv33v*$RblY>M_LG5C?7mXfbls zUY<#mt)f7#=3Cur1<6a-4FX1F1cKMj0;w<7KQN(#s!wS7G8HhP7F6>@MGp4#sY<|6 zoLIi%)6hL8oBgbtl?n7^OU$~m-!KO!e&PC-lv1$uJw|B|?fC(A^;VONf@&Ky(vQ0Q$*$aK95LbqbhJ{GStDPGfnmzuyZ) zxS2y`OB&GguT`>q?Oi_LWLFmaS{!HgJ%}b_t@!5M{1FYDf5adc{e|1CK&?}pdI4aD6hr6tE8^4uUqaUtck&Fc|A|Co^1;z_+j)H-=aeTK>H4#ojtZIR{yc%6mVzUv?Y)^6Op9i8J?jq%0jtIqfGx#F z5A3@=f-m%6J-6-xZH`CKULE^-gZWCN zeYEj4)22pOVv7dZGKuyHQz-p8l9dI>53?SU=LSL<<~qOGY#sb!NB-{?oB*f^xba%6v|$VjS((V4YASEjE@848eQead6dR+aJuyWZ~{c*f+G5x zhXJoI42t6B1;YY?TKr01uVxclDwi@+Ky@i>Vw6qUI0HoL#zBxhNf$1vR&x4l>~zbo zbumYqwNC*39yGglyK6YAX1nX0K6+B0k0^_trC8b;9cp-wh{$-<@m~cGx%XfG-MIOG z=q51RBq!D9;KcGp#JM_z-4@hxVq+62>*rZc+3=eB&Zi<F%Pgnq>pnS|DzU)nzQUg{e%GG*^rv5V0rpZ7yok~Nq+(kt zJJmX1X89Cd0i`rJRLw_D)d(Z+4im1_w8vtheXPw}^B}ys+1Do@zk_@VB0!TXlk0RURgt*Q+xT@ zV(t?#OHHaQ%#ux~K?zBoLFj_JvkuiBi=$cmKq+DV{aqfQ5=>e?lJ&YF`|diR9$4u8 z^V#Bpx%qef^~bI&9IUSa8fhRa=I%ug(9aM82vLw?oWF#O!3#-%yVKAhysP4~25y)u z4x;0f-ctk4vne(dWEpJ^-)&K1E3N-;C>H;@*v?zB+7Dv!l7v;-r2nw4dw2D2#caEQ z-0V~9`mnl6TnOi-2sr~*pW@g=q}OKbAc`MLuLL^i!UkM43`GZXlWmt826I-N?{5U;+#X^SMUAb{jXmFzM5xB^b>QY98gBnvS4i5 z!Zo(1yFP$n*Ni&~iW_e)gCwp{zI>dcNP9(GB^GG8$$r1k z|4m8pawd|CC#M~6Tw?i%OHwdVN{QQTzJpIl)jL6skI%6cv;j&H=4y*Nt`FkdEqh!vJ@^foJ@lB0ic*E|^q-uN~F`onP>vwpwR;o~u7`s94= z;R-4{T4=p0E}A<+S`Z`^Q^j5!QYpqC5 zB!`f?>&j7+>kBrm^UV)i&32@VB-b5rAmU|+J#aw_)*XEo-?r7Mse@_y0)Oxk%%3*; ziWBs{49UZjS$O?M1yeLdI-0wB7etZms^;=tb!+6xq@KF zUmkutSli?pP}G^br>UQzZE~@$3oJiB9-C(Q zbe-V#s0+51PAL8+r9*1NEG~9SV|`hQKX3=Z)Lnaz2{k0Xu)Z&|4Cu7Xm&VS{^Ql~r zf6QTO&-B#HHkdgdLLhWg4W;Zy`OgUi4K{cGW$}qCI5B&x$UeSb#8AoC{Yi8boRb|X zfHnD^lbUN8>zD$N*uCcAh}}LrBo2Rio2sqRS-17$GU~Ur_Xe2{S_`(yZs(t~MLziX=-sS(!mO(9JtA`fMZ9i9 zZ-A*fIG&|Ywd?||fQXBDTFl4tJS~2LLNcHp0eY`;D89+XFmGOX>?fTr9lf#12SW&- z%bBgNV+R`NG_RStNFW#WCG&SCk z=uEIczQ_*6ZCW$ET6xV-9^OC8!7T9{duB$_%w*d#BfY4{Qbng13X6`u>9Z%C#QRT*bL7JD5fn7rV zIpP+(&>Os3r#N9cJ~ITjZPOa8cfS;uS1E|%~r|0a%hfN;S zm9xdb$@%@9}R24PrJiA-;|aEDZ{*d%-Vjdxvk_ zdAe=MyiB7woyzvtiA2<^G7lCY-*VvEHju`s@Yl+aF9~aj(y2kBH-~>=(?!<{ zd(7bMcdKV$2he(8>Qn;bqz*8(bhn==B1hZ@e4u?h_IN{et;kpNyQoQ@eS7k(&g9^E ze5>{v^3-~!lDpCiNLQw$v)`sl8tl_hD3osg=4<)yYI6}uG zy$2z1vc;ZpG`*Vt?xs}x>-}xvPaTCFrL|RB4M8H}vgIhzTTP}WO$z6KjaCddOGBdg zvbCPX=mEX?kU&1MgqkV=rO*812y}>8{4SL!IUSb%u{12b%4LhCF4 z8)hc1_UXDckH3G%ta0}Z^>B*c&S3u)qGx>IZQ zjgTwYw6}3H?xad)l$OWD8Y%zOqpM-Yx9YE!e;h9Q_0%UtE;YiTc7QNkciao(V(OVV zg*c zrTqJW$Q{Lm=fR$hTu826D7mkrCs4~sh4E(b$qDH=&n@1=9@8> z%}>wR{tEJh9%#KyE=2RPe|%$g(2hW$-W+M^cxl;yp#psH4 zVNF7HxvOb|{gLt9yq)V5rY&9pn~W3%Wy=jalyaVCS>1PKH5VnBs=c11teZ{?wOJdr z1M3)BJ+Ir=or-bpm1^u}CdwLf!ASJ1P9e)RtxI|xr+zd~a+JUE3+P#9i94S^8V3f2 zgdUe~d$J{eb1e;04x|zMT!z9{WAhtnxq>k(%P88#=A)^>5|$ikY`@}s{rM|U+<9N)X_7}4 zYu_){jO=b)saiqR35U{^6a?7hH-wL_tuLH)EthS=eY8l^J>YU$7$YE6G#ADa6RXL* zgO#%GDMoX(i{ya{q8~&%y!2ZHa&KwIQ6h(rDgvokb$;>WL# zm)@jlA?thVYG2C9y3V+!U(CW0Z>V`;ZM1fJd&RH76?aS?s)`m#PY?EEZi|(1J?3dk zOdAMlRy)A9&VPTTTF|%ETu{G>o-Z%6lWBJvW}XS=U$u{{OIHvz5`P<;?@GHVSYCD( zm-H*dn|UNIxJcloOr0=^tHw0p8}__WG}tSgck?TjHw();e=ok>p10n3JXK`gFM0`Y73V;y7m|1PUZk7YnsU<3 z%et}<5+Z__8gCfj8C)GKk)iu32*;L04c^0nsLKD$q7gqO#rb?bieNoh{_EJgULl@d zY;70fmkO4~e^9Y;EI#fPmJ}v1oM+I$!bXI|Fq9+b3GZYNvO3;OA&B`Z>U?||9d)tV zG*rIRJUQ3iGZr+{A}50hO|;#91iGY(MH%%4X#*dEZl2;DladL~7TL5g_OvkBMvZiq ztpTaS6p!)(%3X)Y8OG@wiouhlQj?1n$UbC2;v2SpB<;51`0D~ZRzFym;(2vRrx1$y zwS9fclxg&L;Dq;pxADQg*S36-1c%h5!)N%?(tn=?&->edCgb$H$t`?29YCZhs~Lwl zI`Ovn<{ItE;5bu(-epUll+^b7S9pDXmDpu-6~+E?6N&UIv8(5j_*`}ghggr+)SlLv z&dwF&Ls}~H@vEvJLq(9SkbIpQ9rCCCTndfnM&6}sWJ*43k=|s-B^>rj9d133>zdbs zeSKG<$(NN=+Zvp-ZHon&Zy4(DDb{io)w?oY6F}f%iotBoKWB9>g zN{Py9mmwA(bbihvYcbs=z+-vfs3Z5)KiBjCTvNs~YLuOqY{prf;e{EW<_r^|PJF%4 z`Mpt(g@fnAIj7T%`Ozaf;#Jqy_mImaON>m0p9zniyn`eL5j$c2w*1A>Nf3Vjk`%_|NbShCUemzMrk^^%I+acqj9!@$U&)1FQH&A zuxdJ(Z4KhCW5MFfGOF*TYJ9f-k`nCQs#179rO@TRc*ZWME0cFgS6zhcZyrU3eMe&7+O5AOca>06hd<|1zMZUSI%*K%a z+M2d8`_qp4MZ{G*IuBKQVok4S<_p8j3A3fKPXWdO@-iV+u!S7y6^Bja8b@@-uMah@ z__x9)gC@C&&fn>dyZe6^J6+x4J6`!dvcS=sr63h6k%eunx7%U)P$yiue%E*cvcjT$ zDmjpz@H-tz&-k0MkEd(7GAD9uUAcf-Yd9x4Ii}d!yCE;*I9R59lK<@A!J#_ebgY?- zBYp~bHrCZPS1rc*d3Yoja2z0~Qa#GK%K=yfUhF_&WbCiiScceWvc$Gar42Q_FfJ~v zB>!d!d7wb$!g-BDIrSewPykPDhVgbr$)8_3VgoqAHVl#b-}NT84xHSVirZtQ((mq0 z<)FqFwP`x!Hg?%9Ng_{%eqQ0umaOIX{!}>PR^J~ze&7t}mB79tf#R)$qGzpXOq8r? zLc_0xwqLyX5CP9T%!u;PYNvW%&x5q0WznU#Xa4Y;ytCCQCsk^1Q|jyAe3Ih) zePq?$(kCo-HESv5XQb~$U6in#?{Ei9mjH9W=ru)d;0=-Lyt z`xrXbVcpfo>_2sG{&_G*(zn5r=`QJAE0;qrWEt-X04P*SN=ijd&2eSo-yflSE;c*| zdg^~(4;d3Q*p6DjQ0;$IdBDeQ<^HQG1o(8vyzcNxC|As24z+eCVneo2zF_0<68IM z*MHa0WJSr5-t#fc@z3?!!=_M!AHrE4R!I{BDrrYn z1>heXW%zZ@;ka=soOFU0SNQ4w?Hv~Fm}z|j^CoS9SRfLY3dzNN_>lKKhIc96(D8|x znOVg4;Tl@u+wA&)Zw(+K+69E;@kYkJzq488{i}h1-bDMTQxkOy&`byFpeg7uAfjDa zO>HRs&dV+6kPPiDVvD@zlkOPfT<+h$AK}q-u!k~s{z5YbgjewthX%laT&-~QY6Byr zHP<~BwILw*)ZMULzuDsp6#kGVCaJxRE^6iMRTG{`fnc)=3Q%2%oATakKTiZeJ2kSa z^_zBh38zWf?bWF%YRcB6-)c?gay=$c&GUEvy{iu*-Em*y1a!qmaUt^oLV0iGasW9C zTjIaHILIpDn7kj@bg+wqYCGlk*IHN!FB_n?kzMb_yd1kPK{T=v4iAAQ;V-Xy4u^!L zW~n|GMn=YkAw#FZSEm^8Q|IJ-w|W7ugm~cSbunjhl_2)ft-%!jWjr}vUtga{>0F;} zU;32fsIst50t^y^sj~RExZl;Yk#F`nPN#Vdnm&q-j>eNOp*ehWCj%)f_xHa-udVws z?@3R;Vi2|J`p44RT0li5WjqT0mKx^tRUWGnD_r~15^f?Cql{M*tkxMI+ zN1$3kCtptTOd#%)YLXq4>;$+@8Gci^K+>(a`1sn+6)&AZw=X>j@<2Qm)**%Yzmb>n zD!h)Y{Fpi*Nyu&WDiK92DXos2L-IR6j~lyni|yf{gO4Ij`Dv!AnQrROw1kA5)kaDW_4)hU57THqZE zBjxvOsDR(>VH$1<%sBayjNKQH99ru1GmsB%ov($M%BNCgD=nkk?Zs6J3j%t;Ge zWMp9()(Zr5yy_`3a8g4Q?_>stb_hsETrrJeljyl1YNPS8v8j@<(LkPb1A4m2fz&;z z&H3&(`cpjuhEqLdi^8=FSICX9y*yE%H6T@F30D%Q(VQGLRAB8=0ef36fWMj?CBJvg zYJy&V=d$ms1Be08-j6ia?ag#sRUpv1zU$uue#sajpnQ!bd8I>e3WxXr zVUhZ^=J#{i+1WjBFDoT4FE9I6eL>wPcsH#9>D)R(M~u4s=tBEApdTiK$&R~@PNSu* zqXFaz_New*aKUoh2dSr$pAz};uFFql7*6t!cp5I*e1rgxw(68v|pSRF2gZ;25MV2l`VVedL)TExB{Ph z%Vp+nP6Jr@!)lq6;_3RR8%t>w37j^;r9d)OJ*(X~oG#!+2)IE0R60lBF zjYLz*a?wlGY}2MdVg=&G{mtTx%cO)%Z(lNTg-%BG6@t6?JgF_&DfDNujlQ^h9-n?3 z2AMc|_83-{L&np-d8*TGD$w-N;s)@h)k@0CMW1z6s(~yp?|wrvy#rbf(t+Lue!Gme z_X?&b+@)BqUceqqohc(bi_dWPku0-X zrtz-0g(Jr|cFTT?ir=a}JUB<0c&AJ+yY|^ru2Hr77Dy%%9wCmhL2DvQV~>+1`>1O+ zhcE08l3;rr$|!D|uaTU2eHB0LIKA6rFB~3njgQZTAX(g*D2Bq0?@fVG^qaNS<809ughk+V z9(eV{0s3asJ&4SvdI*h!uq;EoZq3&GjPNp`I{!_>?=xxi;!&R(IE(|f2OS@pwaoR_ z+K0sk)3VfZ;ww*rduXMl>%KBJn6mc^P(y!!*^`A-7C7jO1?;(d1(t>U6#F>aQ&43; zdXrohj8G;5@l6?YW{Qk;iib`E^sCU}pKR4>bBK_b;wA26U@Z9c@22>C!>S&{C5HgE z4V#ur0Q6X$TWJXDMgrYx>)OtiAMXd+8*xDwWfWL9-jgOj%fB&rZrPIW@G!u*nea+= z)NDGgd)Ru@ANbMnq8lGxP^T)V7eT^B^;C5*pWZ%t^5Rdm5{p$W`=s@Q+pO}O%k)g* z5PmFBVuTP)=OSP38OkM1C%`%BP&JVZW{a$+!RRP?^!f{s>9yBy9{m6ku;LX8u87^_3fSz40?Gz?n zZ)P#|@7rxxIG6^CqfO3HyRV>A49O1Tm4iO77uhz9*v3t~tA7Bt@{)0yTc*QU>Sf%^ zlk}btdSvw!TfBC{+FQaHkbf&dmwB#?@$4w~o-g9|C?S-B8Gbca*V0?yX%j#c2149_ zeiG=LdN2#>eU2IJh!-&>X659_0FJO(d164W-l-|6+2U`mo#N=xY904;o0L62KsnoAj~7()8~m z8b{c4EK+vz4RZGaDpZs0Q-;a95Ym+W7~VmAUggPzka~a z=sED@!M$3=G1IdSiX=cvA9gtM6iKV~>9H*ooyLB7u5H-7< zN3$}t@({$D8l}I_w}KRL#B_I=TCeJv{7{JrMSRM1a@y?lkQ^S9p0AG7kr z-u3_n&zz6x!)PsOsBk>Xg@{Kdr2rla3CKl7W(YJnSp^fP(kAE-IS zccmc-nLfH{*PR@xaNzB=Q;Ou~g&%~#{^%FXmt|@LlI{ZbS{eD&(2*~!JNhrv?oOJI zY3TW}UyyWu+OT9uHbM2AJ21g!27t_Z;{GLZ#{NXlblXvDMbx5AT+S`)o&kZPdd-hZ zjt=pH`ZJLlWomem@6_2L*_IIKiQ%?kfIZhF7-3=EtZQej!aKJhhy-0fg|L<3-mcFf zx#O!x*?1gqbEM+UFR27DE;dkC7?E0fU#KmRb2RrmZ1avW9H{#?5k_MbLu#UZH;h20 z=s4zxe2rK~E9`%vg586@0;Tq2<+j9|NwH0}aBypI0!f!k6~tDQI1OeKy)-p7lhgKp z@gl}_Mb*IEqM?`t(*sqYfz5CYjeBY6Si?O{1vktajE?{Zl650WHJtqbW$v+_SSq{O zb&D9FYvgk8BXpwt0Hy5xY#&^3KNV)Z7nbo$n`p&@oVC9Jhr#wqr}{4PRc-8m?+_}8 zvWJ4N0AFT}h|iCn1(7sV-vm^kk($NB^jNz{^dD>Zf;rcM{65$KB=(5`38sNQ4N>O` zbxIc%{Z{Q%MQ4y5!-KKhA|g14J+rt-lKem2oryn3fOK?0Ra=2Sr=)ZG_}kXNA})TT zjGa~Ja6CZ1AZQ!pvqf%HZzd-QUQ|HY(`oRz#F}&Y!;1*3vcnjV#rQVkbn8#If?WXJ z1tC4aIFryr*@d43NgphM*gnzR@MSzHT#B(|!v27j(wUsS1d0!Yj=sVU@=iEh!%CMl+3Aa=Ao((UMomrZT^H{jxay@ny`K96Qdclmm*35jAqP|E z^7x$9%GJdc-lfp$6zruP?muYS8!Va;_s6JKyZ!|6!s%1P-ADEDuST=>#j6rk2OQ$A zAyOnd`Bm*xO?%KoPYeteb+|*41V?j^)r}-SXq%s{7zaa(s@_S-3@b^&$SFu^Bxi>#*CU zQ3^h&?KA`%hrM|-LHOEOxm(V*5!g4sy5-y8xG9PCwTJ%3zTN+=4lNS3w$BBw0LhU` z%JFpS$qLt*c1}oky63*xG|MQ4VRig3Jd$^=h`+uoF~FXl?ZBRO&x`?K&H2}|56Z?Z zxVHH#Z>qQAu#ubUOWtQiaFSsm@=HASdr0v}k__9kfwvkr_UqAT)%1YIcx_9iYzJQ& zKR0V9XoGdnZ?cCI+&wd=WruGwOF&!p+|~Pcg-I_aN4SqllAaG|0>|hI&oC zW9OGs$0~0BUVd-ksziRN!ZX8`RQP=%1H|_;%Temgllo`%wyCYaWv__;E-PaAa6V&i zwh4qgM@gG0RQC~?+1=aeukV+U7Dz{X<-Z*Q$_Um?P08=0u3>^HMd0(*DA}2wC(qnw zUX9kD6lVzvaL(Pk(>u@a4b~vwYXp{y?nYQ{S_qlckEAG=`zZ3tlmhxuXOYHQmOGcg_d$?d#JvG!oGIO1#v_{D@ZLzY1j`Fh=9VI9$RJa?S- zrI=GmCKf#%YkYxV;Qfj^U{xXzWN8 z?6D}Z8AQV+wl&Vr`|pnpzbg-ir%!dSNL3LUGnS8M()8$zS~0!(Q&;fdLh$HOQ@Rxz z{D|q*9Q8C}U=%{t4ij?6rg1nrq*Ot6WcTSXGyfQygkNDxKA-xIS16*QVoC{u;eiP^ z9)I~v%h8f59*4nTbotoo-WXAx5g3+zzlD~e5g6)8yk#9p8ZoD@I{lrex{5x6B=a@o zrUYZr1@={H5b}!QOEFrXWw{(xti`HQ!OZBvPrVB7jLY^m4Z&dwlu;a>TrJMsR_!u- zg=~nl*s0*c$IcZ&R4m&wXabB7of3;sdX^s=Ol<<_7j=R#HTh%IuLcY+w#oG%*$PHD z&#&y34%5qUE|=vPV@k;^5q!d@&|x~eHiV>z%+hl=%}7#Zi`Go24RgX<>buSKmvpY^ z+Gi9ou3NcFZZmMLa1c3~N@j*v(opK!dw3}=!PK5nQ1e0H8<`<@{Qs7)EE(@i5b>h5 z%9k!RMy)7c?2`}Xb4^e2%Ic`3=XHy%JYQCZ3X$=e{3G#F?btASiIaPf-s70!;5k_KCo=&kkj`%%H`U?W1dtu}MWbm8ZlEzVJ{0c$E z;hpm!ioBgpt;V>y6@7QTKUbMDrt18=Do*F>X zCzET%9+VK8S;Zq*#X8_JI2o)+$e6?ht;?eZhGXZzk_7!cmo&K$v58`G?BPB^VM*57 zL1D$MIDn@V*J@)h9&!Nf(-#m z@hU8d=<4cv#jyk`NVk{M5WvY)D-Yl9ZTAenlG?Xv4btK?xeVWh$&u%Su-J~ zdx>De%gb9g443*%l^JCfQef-H+_vvFNQvr@p*krxA!ja}zwimAl->fK65i~ixVr>c zDJADeau*PB0Bm!nQ}jZ6_zfj8gpp|m0v9=3eR&qvuAn^aDnGCgcQW@N>rV3 z68EF{>N`)S8UrTMhUZ7i+W7?q!}W22_s2=#$ZaQ0?YAM0*17+lp?m3&o1ZVZQaSGE z*!pZc4e|r^vszlIpG0P<=PiHNTV_FWgq#K@*j3xs*-N=kE!5^c}10_h*X+-HiDQUSlR;u zE*3<4O_}B5mvw4U9CGekeGlrGszOz^b|pY@RYgfQWP-;t)BbdfY_c+ert!nmx})7G zGP=5^0TpcDUI`TWLfeaTA!0fuHk(&;*xT$grhqcK2)py=qmD=1K)uhepkN9Q9usQ_ z99}YQK_8vp|Jm#TvNHD;;IrFoSH>zF#U|7PHy8paD^>5zhM29u(kti(EQ|p!EJ7pxMn5VVf!Y*>eA^Z@mNXF{sMUp6kyTt8*F|95+GiXxM3A2q7wn4Mr=9^ z1jwiL9#Bxhp9b5iW!G+d?JQLcn=FN>iSs^F(tlg+{#%p0v{rH&$Ql^_s>uU;#kvt? zGbL29y5-VGij;GKCibSwJ|!wDv>W!Rw`C@QZ}YIot)L0lk*fj7a*D^0z9SSo2LSO* zaK?*<)(XU{@UCxQ_sH(@^&C;$Up|fPVdF-J0C?+&i%W1BAV3+D>prt^{hchqz@(TS?hU`QoT&A1qXQj-mAzdUQ3aiu`|%0!@zMaY zFN=wdWi0cb`5M{-_V6U{@9)1~0q7@0OY}?yu=lr{;|~nMrZ-+uZ^*HF`h+!DRnrrK zU`rk?vz7thq_)lnVF?QhX-=@B`yC32s);X`r`Jb z4Uao_?nF=sxU^L+US1jCKs>u#$D8iFJkctM`nJgl)C+QI$PQ!Wd_;JLaf~NK7BrYe zqmk|nAW0_90Xc|4Fv&ix(>kg#3IfXIPpr6*>o9;2u^U+D5N9S{FZx2^*b=C!a%7AK z_&-C-F3l|1+v8vb-8KoVpd7;W^mr!4>2VvFk6vFndi=y)$8imvB$j>*`wBs9$iFS5 zjRU}@jvhvX)G=@uCIYavrendcx7(PVjh3#OPNW+$9ghxS;$Ua`X zAsIT@-Ik9;w2OnD@2QmpWb9br=&lA7hg=$UtyAcVOhV9BnzcvBaggwZKuL-{-k1fe zSWfsXjU3+!k`0@*gPZ4A{TqOsRgb^o@fRLl^Sou*5$juJ-BRYTP?Hih zh&DDn%b{+bcDPo8;6#C_(D-LOP4se7XD|OZ3=V1Iwxs{_88TE{A_F<$0Ux$kMri;NKR?M?RqYral zD8C|o6{z88gF{>Q8d3~8@F$O9I8>|6 z&|+gYp~Xeq;hYNcnse4l*d_D!XP`(SZkkl6^f`){)JwYNhl@>>%nJ?W)!4;lBB&Lg zPA=#fJ>j88{IA1I*|^WBfUf#pc#%aUZa^lC}VN)nSDtn8ChP)cr!&(BoP4xJz}A zKvy$w(vM#06Nm8Ds_l}N%|4oAFIcBzY2v1*iw3KVAr@K%-2wxq8e<>};F(sr_ASJV zZTu6BGmNBI{Ns*f#&GX>I|L&PB}@Z%Eftr>*UZ_Xf!IM*yWk$?|K9vcr=WIa z4}R!I9R~O$foUqXz^}q1UVPfz;c})&BUn{fHvv-8(%#fgOcj<`=kcmg-8>bNQ7Evx z>hs4ZlhAOl|M~sWn)Or=y2&W)!*ZT$a0N6+rc6xd48porAj5h~kz>9HvZAK^lF05R z8+*Mnn%8-Gd5%xb6977P4|H%pfZmTJ`PtG~uO;e;xl)qQ*Yb{b04~=goZ&gj0e$%J zfml2S?=)m*W#c$)e`gL}4+c^gQwCl&ceJPBpyiV%?+k-U;2bT0oZ<&)9`|PwM&T$0 z+SvxHWwWeKM0xCq3ZGLe?|IH|!QxxKAU@+y-;v>6em`FSN=L{>>GjINbw868Nr1EE zIZDd+K@vwETd3Vh8t+f_^K-PPyGMIwrM}GVvcKBsTUS5-B;CFqcG@B| zP;5AnEUvu=+OnSLR!$)KPplQ6n)e~35K=ikBS&%a_9NFN&W7jQz%?PhRQ1Ze57@z91jR)Ui1wfXNB*%S!x&sxz#(W8UN*NB3*wosiBEPJunHOAOaDObV3`^L z)XpBvA|}aeI5IFENmxSdmj8~k7n^4QNUMhS4z9+)~#g@YY) ziv~D;5-ZuR)GI*yvz$xD!=#!$H!Z5BiHXUoCtR?2O@JD$a%g2-9$8`5a)JQjvgaOo zbyeQUGXP}Al57%=`6VlJoe6b>P&qH~lzRY>`CE7iG+f-kp0lAkCzxYV27x4^hL9vD za{R;@=Y!S51KbDs0AE1d*jp4J;+3 z@2tAT#;z=pP|)UYIK>t+(I3$nDK<({=#zFuV>Oaux^->-)dZ69ul`tSHXxpp)qT|$ z)ClDyB5WAX{+K-Tvz7;(K$lMS{q>CQkWdW^$2)99dpGu>p=2w+KP_LYqe)T#0+HF$ zda6Kpe)PCINaCtsBGB`d&lmqFJa%`@i|m7gg(r3lRcHDt(Uq&h@T+0o$N*g1cnPbb zvYt((PWi3MHIT+oW1!BNI3dD53i`xLCLnR5{5$sDm47N&Y`XYz0mw^?3%d1see}@F zz)CdXeATePhRH9%$ThSObhjT4TY`_T1VHW4BS04bytu;uy9A8>=h~A)`fFjOVGFr! R4DkOd-&4C=sQ5JK{{RO^8`=N> delta 35230 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 EA3vddZU6uP diff --git a/docs/diagrams/allreduce_latency_plots/AllReduce_LRAB_Ring1D_6SiP_1x6.png b/docs/diagrams/allreduce_latency_plots/AllReduce_LRAB_Ring1D_6SiP_1x6.png index 11f07dfb736d93d5edace70c15a71b787aaae4c3..1bb1accd590cdba5aa242e3459edd18a42868d57 100644 GIT binary patch literal 37888 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

wZPY^@E0MQZro5;)`-n0T!CRytz5zZl&e8p;U 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 float: - bytes_per_cube = int(bytes_per_pe) * PES_PER_CUBE - n_packets = max(1, -(-bytes_per_cube // NOC_PACKET_BYTES)) - return T_STARTUP_NS + (n_packets - 1) * TAU_NS - - -def _plot_theoretical(ax, records): - torus_rs = sorted( - [r for r in records if r["sip_topology"] == "torus_2d"], - key=lambda r: r["bytes_per_pe"], - ) - if not torus_rs: - return - ax.plot( - [r["bytes_per_pe"] for r in torus_rs], - [_theoretical_torus_2d_ns(r["bytes_per_pe"]) for r in torus_rs], - color="tab:red", linestyle="--", linewidth=1.6, marker="x", - label="Theoretical 2D Torus 2x3", - ) - - -def _bytes_fmt(x, _pos): - if x >= 1024 * 1024: - return f"{x / (1024 * 1024):.0f}M" - if x >= 1024: - return f"{x / 1024:.0f}K" - return f"{int(x)}" - - -def _load_records(): - rows = [] - with open(CSV_PATH, newline="") as f: - r = csv.DictReader(f) - for row in r: - rows.append({ - "sip_topology": row["sip_topology"], - "bytes_per_pe": int(row["bytes_per_pe"]), - "latency_ns": float(row["latency_ns"]), - }) - return rows - - -def _ext_x(records): - """Anchor the external reference at the largest payload (96 KB / PE).""" - return max(r["bytes_per_pe"] for r in records) - - -def _plot_curves(ax, records, topologies): - for topo in topologies: - rs = sorted([r for r in records if r["sip_topology"] == topo], - key=lambda r: r["bytes_per_pe"]) - if not rs: - continue - ax.plot( - [r["bytes_per_pe"] for r in rs], - [r["latency_ns"] for r in rs], - marker="o", - label=DISPLAY.get(topo, topo), - color=COLORS.get(topo), - ) - - -def emit_broken(records): - topologies = sorted({r["sip_topology"] for r in records}) - max_local = max(r["latency_ns"] for r in records) - - fig, (ax_top, ax_bot) = plt.subplots( - 2, 1, sharex=True, - gridspec_kw={"height_ratios": [1, 4], "hspace": 0.05}, - figsize=(9, 6.5), - ) - - # Bottom panel: today's three curves + theoretical, linear y. - _plot_curves(ax_bot, records, topologies) - _plot_theoretical(ax_bot, records) - ax_bot.set_ylim(0, max_local * 1.10) - - # Top panel: only the external reference marker, linear y around 366 µs. - ax_top.scatter( - [_ext_x(records)], [EXT_LATENCY_NS], - marker="*", s=240, color="tab:red", zorder=5, - label=EXT_LABEL, - ) - ax_top.set_ylim(EXT_LATENCY_NS * 0.93, EXT_LATENCY_NS * 1.05) - - # Hide the spine between the two panels and draw diagonal "break" ticks. - ax_top.spines["bottom"].set_visible(False) - ax_bot.spines["top"].set_visible(False) - ax_top.tick_params(labeltop=False, bottom=False) - ax_bot.xaxis.tick_bottom() - - d = 0.012 # diagonal-tick size, in axis-fraction - kw = dict(transform=ax_top.transAxes, color="k", clip_on=False, lw=1) - ax_top.plot((-d, +d), (-d, +d), **kw) - ax_top.plot((1 - d, 1 + d), (-d, +d), **kw) - kw.update(transform=ax_bot.transAxes) - ax_bot.plot((-d, +d), (1 - d * 4, 1 + d * 4), **kw) - ax_bot.plot((1 - d, 1 + d), (1 - d * 4, 1 + d * 4), **kw) - - ax_bot.set_xscale("log", base=2) - ax_bot.set_xlabel("Bytes per PE (log scale)") - ax_bot.set_ylabel("Time (ns)") - ax_top.set_ylabel("Time (ns)") - ax_bot.grid(True, alpha=0.3) - ax_top.grid(True, alpha=0.3) - ax_bot.xaxis.set_major_formatter(mticker.FuncFormatter(_bytes_fmt)) - - # One legend covering both axes. - handles_bot, labels_bot = ax_bot.get_legend_handles_labels() - handles_top, labels_top = ax_top.get_legend_handles_labels() - ax_bot.legend(handles_bot + handles_top, labels_bot + labels_top, - loc="upper left") - - fig.suptitle("Multidevice allreduce (ring, Mesh, 2DTorus) vs FSIM latency") - fig.tight_layout() - out = PLOT_DIR / "comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png" - fig.savefig(out, dpi=120) - plt.close(fig) - print(f"wrote {out}") - - -def main(): - records = _load_records() - if not records: - raise SystemExit(f"no rows in {CSV_PATH}") - emit_broken(records) - - -if __name__ == "__main__": - main() diff --git a/src/kernbench/runtime_api/distributed.py b/src/kernbench/runtime_api/distributed.py index 3d5f4b6..150efd2 100644 --- a/src/kernbench/runtime_api/distributed.py +++ b/src/kernbench/runtime_api/distributed.py @@ -59,10 +59,23 @@ class AhbmCCLBackend: self._sip_topo_kind = topo_map.get(self._sip_topo, 0) else: self._sip_topo_kind = 0 + sips = spec.get("system", {}).get("sips", {}) if self._sip_topo == "ring_1d": self._sip_topo_w, self._sip_topo_h = 0, 0 + elif sips.get("w") is not None and sips.get("h") is not None: + w, h = int(sips["w"]), int(sips["h"]) + if w * h != self._n_sips: + raise ValueError( + f"sip layout {w}x{h} != sips.count ({self._n_sips})" + ) + self._sip_topo_w, self._sip_topo_h = w, h else: side = int(round(math.sqrt(self._n_sips))) + if side * side != self._n_sips: + raise ValueError( + f"SIP topology '{self._sip_topo}' requires square " + f"sips.count or explicit sips.w/h, got {self._n_sips}" + ) self._sip_topo_w, self._sip_topo_h = side, side # IPCQ install: wire all pe0s across all cubes and SIPs diff --git a/tests/conftest.py b/tests/conftest.py index 3d9725b..f608d55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -46,8 +46,8 @@ def pytest_sessionfinish(session, exitstatus): except Exception as e: print(f"[conftest] aggregator {attr}() in {name} failed: {e}") - _exec("test_allreduce_multidevice.py", "_aggregate_sweep_plots") - _exec("test_allreduce_buffer_kind_sweep.py", "aggregate_buffer_kind_plot") + _exec("sccl/_allreduce_helpers.py", "_aggregate_sweep_plots") + _exec("sccl/_allreduce_helpers.py", "aggregate_buffer_kind_plot") @pytest.fixture(scope="session") diff --git a/tests/test_allreduce_multidevice.py b/tests/sccl/_allreduce_helpers.py similarity index 64% rename from tests/test_allreduce_multidevice.py rename to tests/sccl/_allreduce_helpers.py index a270b3f..ea336eb 100644 --- a/tests/test_allreduce_multidevice.py +++ b/tests/sccl/_allreduce_helpers.py @@ -1,25 +1,193 @@ -"""Config-driven multi-device allreduce test application. +"""Shared plumbing for the sccl allreduce tests. -Reads ``ccl.yaml`` + ``topology.yaml``, dynamically loads the kernel -module from ``ccl.yaml → module``, and picks the inter-SIP exchange -pattern from ``topology.yaml → system.sips.topology``. - -Run directly:: - - python -m pytest tests/allreduce_app.py -v -s +Not a test module (no ``test_`` prefix → pytest does not collect it). +Holds the distributed driver, the direct-launch parity reference, the +config writers, the sweep/buffer-kind constants, the plot aggregators +(called from ``conftest.pytest_sessionfinish``), and the topology-diagram +emitter. The per-test files under ``tests/sccl/`` import from here, as do +the external buffer-kind / root-center tests under ``tests/``. """ from __future__ import annotations import importlib import math +import textwrap from pathlib import Path from typing import Any import numpy as np +import pytest +import yaml from kernbench.ccl.install import load_ccl_config, resolve_algorithm_config from kernbench.ccl.sfr_config import configure_sfr_intercube_multisip from kernbench.policy.placement.dp import DPPolicy +from kernbench.runtime_api.context import RuntimeContext +from kernbench.runtime_api.types import DeviceSelector +from kernbench.sim_engine.engine import GraphEngine +from kernbench.topology.builder import resolve_topology + +TOPOLOGY_PATH = Path(__file__).parent.parent.parent / "topology.yaml" + +DEFAULT_N_ELEM = 8 + + +# ── config writers ──────────────────────────────────────────────────── + + +def _write_ccl_yaml(tmp_path) -> str: + body = textwrap.dedent("""\ + defaults: + algorithm: lrab_hierarchical_allreduce + buffer_kind: tcm + backpressure: sleep + n_slots: 4 + slot_size: 4096 + vc_chunk_size: 256 + ipcq_credit_size_bytes: 16 + + algorithms: + lrab_hierarchical_allreduce: + module: kernbench.ccl.algorithms.lrab_hierarchical_allreduce + topology: none + buffer_kind: tcm + n_elem: 8 + root_cube: 15 + """) + (tmp_path / "ccl.yaml").write_text(body) + return str(tmp_path) + + +def _write_temp_configs( + tmp_path, sip_topology, n_sips, algorithm, n_elem_override=None, + sip_w=None, sip_h=None, +): + """Write temp topology.yaml and ccl.yaml with the given overrides.""" + with open(TOPOLOGY_PATH) as f: + topo_cfg = yaml.safe_load(f) + topo_cfg["system"]["sips"]["count"] = n_sips + topo_cfg["system"]["sips"]["topology"] = sip_topology + if sip_w is not None and sip_h is not None: + topo_cfg["system"]["sips"]["w"] = int(sip_w) + topo_cfg["system"]["sips"]["h"] = int(sip_h) + else: + topo_cfg["system"]["sips"].pop("w", None) + topo_cfg["system"]["sips"].pop("h", None) + topo_path = tmp_path / "topology.yaml" + with open(topo_path, "w") as f: + yaml.dump(topo_cfg, f, default_flow_style=False) + + ccl_path = Path(__file__).parent.parent.parent / "ccl.yaml" + with open(ccl_path) as f: + ccl_cfg = yaml.safe_load(f) + ccl_cfg["defaults"]["algorithm"] = algorithm + if n_elem_override is not None: + ccl_cfg.setdefault("algorithms", {}).setdefault( + algorithm, {}, + )["n_elem"] = int(n_elem_override) + # Ensure IPCQ slot is big enough for the per-message payload. + per_msg_bytes = int(n_elem_override) * 2 # f16 + default_slot = int(ccl_cfg["defaults"].get("slot_size", 4096)) + if per_msg_bytes > default_slot: + ccl_cfg["defaults"]["slot_size"] = per_msg_bytes + tmp_ccl = tmp_path / "ccl.yaml" + with open(tmp_ccl, "w") as f: + yaml.dump(ccl_cfg, f, default_flow_style=False) + + return str(topo_path), str(tmp_ccl) + + +# ── distributed driver (init_process_group → mp.spawn → all_reduce) ──── + + +def _worker(rank: int, n_cubes: int, n_elem: int, n_sips: int, torch) -> None: + """Per-SIP worker: allocate, fill, all_reduce, verify.""" + torch.ahbm.set_device(rank) + + dp = DPPolicy( + cube="row_wise", pe="replicate", + num_pes=1, num_cubes=n_cubes, + ) + tensor = torch.zeros( + (n_cubes, n_elem), dtype="f16", dp=dp, + name=f"sip{rank}", + ) + tensor.copy_(torch.from_numpy( + np.full((n_cubes, n_elem), float(rank + 1), dtype=np.float16) + )) + + torch.distributed.all_reduce(tensor, op="sum") + + arr = tensor.numpy() + expected = float(n_cubes * sum(range(1, n_sips + 1))) + for cube_id in range(n_cubes): + assert np.allclose(arr[cube_id], expected, rtol=1e-1, atol=1e-1), ( + f"SIP{rank} cube {cube_id}: " + f"got {arr[cube_id][:4]}, expected {expected}" + ) + + if rank == 0: + print(f"\n lrab_hierarchical_allreduce (ws={n_sips}): " + f"{n_sips * n_cubes} OK") + + +def _crit_ns(engine) -> float: + """Critical-path latency = max per-result pe_exec_ns over engine results.""" + vals = [ + float(tr.get("pe_exec_ns", 0.0) or 0.0) + for _, (_, tr) in engine._results.items() + if isinstance(tr, dict) + ] + return max(vals) if vals else 0.0 + + +def _run_distributed(tmp_path, monkeypatch, topo_path, correlation_id, n_elem): + """Build engine + run the collective via the full distributed path. + + Returns ``(engine, n_cubes)``. ``monkeypatch.chdir`` points the backend's + ``load_ccl_config()`` (cwd lookup) at the temp ``ccl.yaml``. + """ + monkeypatch.chdir(tmp_path) + topo = resolve_topology(topo_path) + engine = GraphEngine(topo.topology_obj, enable_data=True) + spec = topo.topology_obj.spec + n_sips = int(spec["system"]["sips"]["count"]) + cm = spec["sip"]["cube_mesh"] + n_cubes = int(cm["w"]) * int(cm["h"]) + + with RuntimeContext( + engine=engine, + target_device=DeviceSelector("all"), + correlation_id=correlation_id, + spec=spec, + ) as ctx: + ctx.distributed.init_process_group(backend="ahbm") + assert ctx.distributed.get_world_size() == n_sips + ctx.multiprocessing.spawn( + _worker, args=(n_cubes, n_elem, n_sips, ctx), nprocs=n_sips, + ) + return engine, n_cubes + + +# ── correctness config matrix (used by test_allreduce) ───────────────── + +CONFIGS = [ + pytest.param( + "lrab_hierarchical_allreduce", "ring_1d", 6, None, None, + id="ring_6sip", + ), + pytest.param( + "lrab_hierarchical_allreduce", "torus_2d", 6, 2, 3, + id="torus_6sip_2x3", + ), + pytest.param( + "lrab_hierarchical_allreduce", "mesh_2d_no_wrap", 6, 2, 3, + id="mesh_6sip_2x3", + ), +] + + +# ── direct-launch helper (parity reference only) ─────────────────────── def _sip_topo_dims( @@ -51,14 +219,14 @@ def run_allreduce( algorithm: str | None = None, ccl_yaml: str | None = None, ) -> dict: - """Config-driven allreduce: read yaml, load kernel, run. + """Config-driven allreduce via direct ctx.launch (no distributed wrapper). - Everything is resolved from config — no hardcoded kernel imports. + Retained as the parity reference for the distributed path and reused by + the external buffer-kind / root-center micro-tests. """ cfg_all = load_ccl_config(ccl_yaml) cfg = resolve_algorithm_config(cfg_all, algorithm) - # Dynamic import from ccl.yaml → module algo_module = importlib.import_module(cfg["module"]) kernel_fn = algo_module.kernel topo_name_to_kind = algo_module.TOPO_NAME_TO_KIND @@ -83,15 +251,6 @@ def run_allreduce( ) algo_name = cfg.get("algorithm", "allreduce") - print(f"\n{'=' * 60}") - print(f"algorithm: {algo_name}") - print(f"module: {cfg['module']}") - print(f"sip_topology: {sip_topo}") - print(f"kernel: {kernel_fn.__name__}") - print(f"n_sips: {n_sips}") - print(f"n_cubes: {n_cubes}") - print(f"n_elem: {n_elem}") - print(f"{'=' * 60}") configure_sfr_intercube_multisip(engine, spec, cfg) @@ -112,11 +271,6 @@ def run_allreduce( )) tensors.append(t) - for sip in range(n_sips): - arr = tensors[sip].numpy() - print(f"[SIP {sip}] input cube0[:4] = {arr[0][:4].tolist()} " - f"cube{n_cubes - 1}[:4] = {arr[-1][:4].tolist()}") - t_start = engine._env.now all_pending = [] @@ -129,31 +283,14 @@ def run_allreduce( ) all_pending.extend(pending) - for h, sip_id, meta in all_pending: + for h, _sip_id, meta in all_pending: ctx.wait(h, _meta=meta) t_end = engine._env.now latency_ns = t_end - t_start - print(f"\n[{algo_name} ws={n_sips}] sim latency = " - f"{latency_ns:.1f} ns ({latency_ns / 1000:.3f} us)") - - for key, (_, trace) in engine._results.items(): - if not isinstance(trace, dict): - continue - total = trace.get("total_ns", 0.0) - pe_exec = trace.get("pe_exec_ns", 0.0) or 0.0 - network = total - pe_exec - print(f" [{key}] total={total:.1f} ns " - f"pe_exec={pe_exec:.1f} ns network={network:.1f} ns") expected = float(n_cubes * sum(range(1, n_sips + 1))) - print() - for sip in range(n_sips): - arr = tensors[sip].numpy() - print(f"[SIP {sip}] output cube0[:4] = {arr[0][:4].tolist()}") - print(f"[SIP {sip}] output cube{n_cubes - 1}[:4] = {arr[-1][:4].tolist()}") - ok_cubes = 0 for sip in range(n_sips): arr = tensors[sip].numpy() @@ -166,8 +303,6 @@ def run_allreduce( ) ok_cubes += 1 - print(f"\n {algo_name} (ws={n_sips}): {ok_cubes} OK") - return { "expected": expected, "latency_ns": latency_ns, @@ -175,101 +310,7 @@ def run_allreduce( } -# ── pytest entry point ─────────────────────────────────────────────── - -import pytest -import yaml - -from kernbench.runtime_api.context import RuntimeContext -from kernbench.runtime_api.types import DeviceSelector -from kernbench.sim_engine.engine import GraphEngine -from kernbench.topology.builder import resolve_topology - -TOPOLOGY_PATH = Path(__file__).parent.parent / "topology.yaml" - -CONFIGS = [ - pytest.param( - "lrab_hierarchical_allreduce", "ring_1d", 6, None, None, - id="ring_6sip", - ), - pytest.param( - "lrab_hierarchical_allreduce", "torus_2d", 6, 2, 3, - id="torus_6sip_2x3", - ), - pytest.param( - "lrab_hierarchical_allreduce", "mesh_2d_no_wrap", 6, 2, 3, - id="mesh_6sip_2x3", - ), -] - - -def _write_temp_configs( - tmp_path, sip_topology, n_sips, algorithm, n_elem_override=None, - sip_w=None, sip_h=None, -): - """Write temp topology.yaml and ccl.yaml with the given overrides.""" - with open(TOPOLOGY_PATH) as f: - topo_cfg = yaml.safe_load(f) - topo_cfg["system"]["sips"]["count"] = n_sips - topo_cfg["system"]["sips"]["topology"] = sip_topology - if sip_w is not None and sip_h is not None: - topo_cfg["system"]["sips"]["w"] = int(sip_w) - topo_cfg["system"]["sips"]["h"] = int(sip_h) - else: - topo_cfg["system"]["sips"].pop("w", None) - topo_cfg["system"]["sips"].pop("h", None) - topo_path = tmp_path / "topology.yaml" - with open(topo_path, "w") as f: - yaml.dump(topo_cfg, f, default_flow_style=False) - - ccl_path = Path(__file__).parent.parent / "ccl.yaml" - with open(ccl_path) as f: - ccl_cfg = yaml.safe_load(f) - ccl_cfg["defaults"]["algorithm"] = algorithm - if n_elem_override is not None: - ccl_cfg.setdefault("algorithms", {}).setdefault( - algorithm, {}, - )["n_elem"] = int(n_elem_override) - # Ensure IPCQ slot is big enough for the per-message payload. - per_msg_bytes = int(n_elem_override) * 2 # f16 - default_slot = int(ccl_cfg["defaults"].get("slot_size", 4096)) - if per_msg_bytes > default_slot: - ccl_cfg["defaults"]["slot_size"] = per_msg_bytes - tmp_ccl = tmp_path / "ccl.yaml" - with open(tmp_ccl, "w") as f: - yaml.dump(ccl_cfg, f, default_flow_style=False) - - return str(topo_path), str(tmp_ccl) - - -@pytest.mark.parametrize( - "algorithm,sip_topology,n_sips,sip_w,sip_h", CONFIGS, -) -def test_allreduce( - tmp_path, algorithm, sip_topology, n_sips, sip_w, sip_h, -): - topo_path, ccl_path = _write_temp_configs( - tmp_path, sip_topology, n_sips, algorithm, - sip_w=sip_w, sip_h=sip_h, - ) - topo = resolve_topology(topo_path) - engine = GraphEngine(topo.topology_obj, enable_data=True) - spec = topo.topology_obj.spec - - with RuntimeContext( - engine=engine, - target_device=DeviceSelector("all"), - correlation_id=f"test_{algorithm}_{sip_topology}", - spec=spec, - ) as ctx: - result = run_allreduce( - ctx, engine, spec, - algorithm=algorithm, ccl_yaml=ccl_path, - ) - assert result["ok_cubes"] > 0 - - -# ── Latency sweep (parametrized + xdist-friendly) ───────────────────── +# ── Latency sweep constants + aggregator ────────────────────────────── # avoid 16 (== n_cubes, dim_map collision). Goes up to 96 KB per PE: # bytes_per_pe = n_elem * 2 (f16). 49152 elem * 2 = 96 KB / PE. @@ -289,7 +330,7 @@ _SWEEP_TOPOLOGIES = [ # parametrized invocation writes one JSON file here; the aggregator # (run from conftest.pytest_sessionfinish) reads them and emits the # combined CSV + PNG plots. -_SWEEP_OUT_DIR = (Path(__file__).parent.parent / "docs" / "diagrams" +_SWEEP_OUT_DIR = (Path(__file__).parent.parent.parent / "docs" / "diagrams" / "allreduce_latency_plots") _SWEEP_ROWS_DIR = _SWEEP_OUT_DIR / "_rows" @@ -305,69 +346,6 @@ def _sweep_params(): return out -@pytest.mark.parametrize( - "algorithm,sip_topology,n_sips,sip_w,sip_h,n_elem", _sweep_params(), -) -def test_allreduce_latency_one( - tmp_path, algorithm, sip_topology, n_sips, sip_w, sip_h, n_elem, -): - """One config of the latency sweep. xdist parallelizes across params. - - Writes a single JSON row to ``_SWEEP_ROWS_DIR``. The conftest - sessionfinish hook aggregates rows into CSV + plots after all - parametrized cases finish. - """ - import json - - topo_path, ccl_path = _write_temp_configs( - tmp_path, sip_topology, n_sips, algorithm, - sip_w=sip_w, sip_h=sip_h, - n_elem_override=n_elem, - ) - topo = resolve_topology(topo_path) - engine = GraphEngine(topo.topology_obj, enable_data=True) - spec = topo.topology_obj.spec - - with RuntimeContext( - engine=engine, - target_device=DeviceSelector("all"), - correlation_id=f"sweep_{algorithm}_{sip_topology}_{n_elem}", - spec=spec, - ) as ctx: - result = run_allreduce( - ctx, engine, spec, - algorithm=algorithm, ccl_yaml=ccl_path, - ) - assert result["ok_cubes"] > 0 - - pe_exec_vals = [ - float(tr.get("pe_exec_ns", 0.0) or 0.0) - for _, (_, tr) in engine._results.items() - if isinstance(tr, dict) - ] - crit_ns = max(pe_exec_vals) if pe_exec_vals else 0.0 - - cm = spec["sip"]["cube_mesh"] - n_cubes = int(cm["w"]) * int(cm["h"]) - bytes_per_sip = n_cubes * n_elem * _ELEM_BYTES_F16 - bytes_per_pe = n_elem * _ELEM_BYTES_F16 - - record = { - "algorithm": algorithm, - "sip_topology": sip_topology, - "n_sips": n_sips, - "n_elem": n_elem, - "bytes_per_pe": bytes_per_pe, - "bytes_per_sip": bytes_per_sip, - "latency_ns": crit_ns, - } - - _SWEEP_ROWS_DIR.mkdir(parents=True, exist_ok=True) - row_path = _SWEEP_ROWS_DIR / f"{sip_topology}_{n_elem}.json" - with open(row_path, "w", encoding="utf-8") as f: - json.dump(record, f) - - def _aggregate_sweep_plots() -> bool: """Read all per-config rows and emit CSV + PNG plots. @@ -469,7 +447,7 @@ def _aggregate_sweep_plots() -> bool: plt.close(fig) # Combined overview.png is no longer emitted — the broken-y-axis - # comparison (scripts/emit_overview_with_external_ref.py → + # comparison (emit_comparison_fsim_plot() below → # comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png) # supersedes it. Per-topology plots above and summary.csv are still # produced. @@ -491,6 +469,118 @@ def _aggregate_sweep_plots() -> bool: return True +# ── Buffer-kind sweep constants + aggregator ────────────────────────── +# +# Parametrized over (buffer_kind, n_elem) on torus_2d 6 SIPs (3×2). Pre +# slot-latency modeling the three lines overlap exactly (slot access is +# latency-free today); they spread out once tcm/sram/hbm carry distinct +# access costs. + +_BUFFER_KINDS = ["tcm", "sram", "hbm"] +_BK_N_ELEM_GRID = [128, 1024, 8192, 32768] # 256 B → 64 KB per slot +_BK_ROWS_DIR = _SWEEP_OUT_DIR / "_buffer_kind_rows" +# Descriptive output stem (shared by the .png and .csv). +_BK_OUT_STEM = "AllReduce_LRAB_2Dtorus_6SiP_2x3_with_TCM_SRAM_HBM" + + +def _bk_params(): + out = [] + for bk in _BUFFER_KINDS: + for n_elem in _BK_N_ELEM_GRID: + out.append(pytest.param(bk, n_elem, id=f"{bk}-n_elem{n_elem}")) + return out + + +def aggregate_buffer_kind_plot() -> bool: + """Read per-config rows and emit the descriptive .png + .csv (_BK_OUT_STEM). + + Called from conftest.pytest_sessionfinish (controller-only). + Returns True if rows were aggregated. + """ + import csv + import json + + if not _BK_ROWS_DIR.exists(): + return False + row_files = sorted(_BK_ROWS_DIR.glob("*.json")) + if not row_files: + return False + + records = [] + for p in row_files: + with open(p, encoding="utf-8") as f: + records.append(json.load(f)) + + import matplotlib.pyplot as plt + from matplotlib.ticker import FuncFormatter + + def _fmt_bytes(x, _pos): + if x <= 0: + return "0" + if x >= 1024 * 1024: + return f"{x / (1024 * 1024):.0f} MB" + if x >= 1024: + return f"{x / 1024:.0f} KB" + return f"{x:.0f} B" + + _bytes_fmt = FuncFormatter(_fmt_bytes) + + _SWEEP_OUT_DIR.mkdir(parents=True, exist_ok=True) + with open(_SWEEP_OUT_DIR / f"{_BK_OUT_STEM}.csv", "w", + newline="", encoding="utf-8") as f: + w = csv.DictWriter(f, fieldnames=[ + "buffer_kind", "sip_topology", "n_sips", "n_elem", + "bytes_per_pe", "latency_ns", + ]) + w.writeheader() + for r in sorted(records, key=lambda r: ( + r["buffer_kind"], r["bytes_per_pe"], + )): + w.writerow(r) + + colors = {"tcm": "tab:blue", "sram": "tab:orange", "hbm": "tab:red"} + fig, ax = plt.subplots(figsize=(10, 6)) + for bk in ["tcm", "sram", "hbm"]: + rs = sorted( + [r for r in records if r["buffer_kind"] == bk], + key=lambda r: r["bytes_per_pe"], + ) + if not rs: + continue + ax.plot( + [r["bytes_per_pe"] for r in rs], + [r["latency_ns"] for r in rs], + marker="o", lw=2.0, + color=colors[bk], label=f"buffer_kind = {bk}", + ) + ax.set_xscale("log", base=2) + ax.set_xlabel("Bytes per PE (log scale)") + ax.set_ylabel("Time (ns)") + ax.set_title( + "AllReduce_LRAB_2Dtorus_6SiP(2x3) — IPCQ memory (SRAM, TCM, HBM)" + ) + ax.grid(True, alpha=0.3) + ax.legend() + ax.xaxis.set_major_formatter(_bytes_fmt) + fig.tight_layout() + fig.savefig(_SWEEP_OUT_DIR / f"{_BK_OUT_STEM}.png", dpi=130) + plt.close(fig) + + for p in row_files: + try: + p.unlink() + except OSError: + pass + try: + _BK_ROWS_DIR.rmdir() + except OSError: + pass + + print(f"\nWrote {_SWEEP_OUT_DIR / f'{_BK_OUT_STEM}.png'} " + f"from {len(records)} rows") + return True + + # ── Topology diagram (device-level + cube-level reduction) ──────────── # Convention: "rows × cols" everywhere, row-major rank assignment @@ -781,7 +871,143 @@ def emit_topology_diagram() -> str: return str(out_path) -def test_emit_topology_diagram(): - """Emit topology.png alongside the sweep plots. Pure plotting; no sim.""" - out = emit_topology_diagram() - assert Path(out).exists() +# ── Comparison vs FSIM (broken-y-axis) ──────────────────────────────── +# +# Post-processes summary.csv: today's three model curves + a hand-derived +# theoretical torus_2d line in the bottom panel, and a single external FSIM +# single-device reference marker in the top panel (hardcoded 366 µs; no +# external data file). Reads summary.csv written by _aggregate_sweep_plots. + +_FSIM_EXT_LABEL = "FSIM (single device): 366 µs" +_FSIM_EXT_LATENCY_NS = 366_000.0 +_CMP_COLORS = { + "ring_1d": "tab:blue", + "torus_2d": "tab:orange", + "mesh_2d_no_wrap": "tab:green", +} +_CMP_DISPLAY = { + "ring_1d": "Ring 1x6 (6 devices)", + "torus_2d": "2D Torus 2x3 (6 devices)", + "mesh_2d_no_wrap": "2D Mesh 2x3 (6 devices)", +} +# Hand-derived theoretical model for torus_2d (6 SIPs): per-PE NOC-packet +# count fit to the simulated startup + per-packet tau. +_CMP_NOC_PACKET_BYTES = 128 +_CMP_PES_PER_CUBE = 8 +_CMP_T_STARTUP_NS = 1346.0 +_CMP_TAU_NS = (8741.0 - 1346.0) / (6144 - 1) + + +def emit_comparison_fsim_plot() -> str | None: + """Render comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png. + + Reads ``summary.csv`` (written by ``_aggregate_sweep_plots``). Returns the + output path, or ``None`` if summary.csv is absent / empty. + """ + import csv + + csv_path = _SWEEP_OUT_DIR / "summary.csv" + if not csv_path.exists(): + return None + records = [] + with open(csv_path, newline="", encoding="utf-8") as f: + for row in csv.DictReader(f): + records.append({ + "sip_topology": row["sip_topology"], + "bytes_per_pe": int(row["bytes_per_pe"]), + "latency_ns": float(row["latency_ns"]), + }) + if not records: + return None + + import matplotlib.pyplot as plt + import matplotlib.ticker as mticker + + def _theoretical_torus_2d_ns(bytes_per_pe: int) -> float: + bytes_per_cube = int(bytes_per_pe) * _CMP_PES_PER_CUBE + n_packets = max(1, -(-bytes_per_cube // _CMP_NOC_PACKET_BYTES)) + return _CMP_T_STARTUP_NS + (n_packets - 1) * _CMP_TAU_NS + + def _bytes_fmt(x, _pos): + if x >= 1024 * 1024: + return f"{x / (1024 * 1024):.0f}M" + if x >= 1024: + return f"{x / 1024:.0f}K" + return f"{int(x)}" + + topologies = sorted({r["sip_topology"] for r in records}) + max_local = max(r["latency_ns"] for r in records) + ext_x = max(r["bytes_per_pe"] for r in records) + + fig, (ax_top, ax_bot) = plt.subplots( + 2, 1, sharex=True, + gridspec_kw={"height_ratios": [1, 4], "hspace": 0.05}, + figsize=(9, 6.5), + ) + + # Bottom panel: model curves + theoretical torus, linear y. + for topo in topologies: + rs = sorted([r for r in records if r["sip_topology"] == topo], + key=lambda r: r["bytes_per_pe"]) + if not rs: + continue + ax_bot.plot( + [r["bytes_per_pe"] for r in rs], + [r["latency_ns"] for r in rs], + marker="o", label=_CMP_DISPLAY.get(topo, topo), + color=_CMP_COLORS.get(topo), + ) + torus_rs = sorted( + [r for r in records if r["sip_topology"] == "torus_2d"], + key=lambda r: r["bytes_per_pe"], + ) + if torus_rs: + ax_bot.plot( + [r["bytes_per_pe"] for r in torus_rs], + [_theoretical_torus_2d_ns(r["bytes_per_pe"]) for r in torus_rs], + color="tab:red", linestyle="--", linewidth=1.6, marker="x", + label="Theoretical 2D Torus 2x3", + ) + ax_bot.set_ylim(0, max_local * 1.10) + + # Top panel: external FSIM single-device reference marker. + ax_top.scatter( + [ext_x], [_FSIM_EXT_LATENCY_NS], + marker="*", s=240, color="tab:red", zorder=5, + label=_FSIM_EXT_LABEL, + ) + ax_top.set_ylim(_FSIM_EXT_LATENCY_NS * 0.93, _FSIM_EXT_LATENCY_NS * 1.05) + + # Hide spine between panels; draw diagonal break ticks. + ax_top.spines["bottom"].set_visible(False) + ax_bot.spines["top"].set_visible(False) + ax_top.tick_params(labeltop=False, bottom=False) + ax_bot.xaxis.tick_bottom() + d = 0.012 + kw = dict(transform=ax_top.transAxes, color="k", clip_on=False, lw=1) + ax_top.plot((-d, +d), (-d, +d), **kw) + ax_top.plot((1 - d, 1 + d), (-d, +d), **kw) + kw.update(transform=ax_bot.transAxes) + ax_bot.plot((-d, +d), (1 - d * 4, 1 + d * 4), **kw) + ax_bot.plot((1 - d, 1 + d), (1 - d * 4, 1 + d * 4), **kw) + + ax_bot.set_xscale("log", base=2) + ax_bot.set_xlabel("Bytes per PE (log scale)") + ax_bot.set_ylabel("Time (ns)") + ax_top.set_ylabel("Time (ns)") + ax_bot.grid(True, alpha=0.3) + ax_top.grid(True, alpha=0.3) + ax_bot.xaxis.set_major_formatter(mticker.FuncFormatter(_bytes_fmt)) + + handles_bot, labels_bot = ax_bot.get_legend_handles_labels() + handles_top, labels_top = ax_top.get_legend_handles_labels() + ax_bot.legend(handles_bot + handles_top, labels_bot + labels_top, + loc="upper left") + + fig.suptitle("Multidevice allreduce (ring, Mesh, 2DTorus) vs FSIM latency") + fig.tight_layout() + out = (_SWEEP_OUT_DIR + / "comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png") + fig.savefig(out, dpi=120) + plt.close(fig) + return str(out) diff --git a/tests/sccl/test_allreduce_ring_torus_mesh.py b/tests/sccl/test_allreduce_ring_torus_mesh.py new file mode 100644 index 0000000..61bdf3b --- /dev/null +++ b/tests/sccl/test_allreduce_ring_torus_mesh.py @@ -0,0 +1,35 @@ +"""Correctness of intercube allreduce across SIP topologies (distributed path). + +Routes through init_process_group → mp.spawn → dist.all_reduce for ring_1d, +torus_2d (2×3), and mesh_2d_no_wrap (2×3). Per-rank correctness is asserted +inside the worker; spawn raises on failure. +""" +from __future__ import annotations + +import pytest + +from tests.sccl._allreduce_helpers import ( + CONFIGS, + DEFAULT_N_ELEM, + _crit_ns, + _run_distributed, + _write_temp_configs, +) + + +@pytest.mark.parametrize( + "algorithm,sip_topology,n_sips,sip_w,sip_h", CONFIGS, +) +def test_allreduce( + tmp_path, monkeypatch, algorithm, sip_topology, n_sips, sip_w, sip_h, +): + topo_path, _ = _write_temp_configs( + tmp_path, sip_topology, n_sips, algorithm, + sip_w=sip_w, sip_h=sip_h, + ) + engine, _n_cubes = _run_distributed( + tmp_path, monkeypatch, topo_path, + f"test_{algorithm}_{sip_topology}", DEFAULT_N_ELEM, + ) + # A positive critical path confirms the kernel actually ran. + assert _crit_ns(engine) > 0.0 diff --git a/tests/sccl/test_distributed_default_topology.py b/tests/sccl/test_distributed_default_topology.py new file mode 100644 index 0000000..cd18255 --- /dev/null +++ b/tests/sccl/test_distributed_default_topology.py @@ -0,0 +1,47 @@ +"""Full distributed path against topology.yaml as-is (no overrides). + +The same flow a real DDP training script would use: +init_process_group(backend="ahbm") → mp.spawn → dist.all_reduce. +""" +from __future__ import annotations + +from kernbench.runtime_api.context import RuntimeContext +from kernbench.runtime_api.types import DeviceSelector +from kernbench.sim_engine.engine import GraphEngine +from kernbench.topology.builder import resolve_topology + +from tests.sccl._allreduce_helpers import ( + DEFAULT_N_ELEM, + TOPOLOGY_PATH, + _worker, + _write_ccl_yaml, +) + + +def test_distributed_lrab_hierarchical_allreduce(tmp_path, monkeypatch): + monkeypatch.chdir(_write_ccl_yaml(tmp_path)) + + topo = resolve_topology(str(TOPOLOGY_PATH)) + engine = GraphEngine(topo.topology_obj, enable_data=True) + spec = topo.topology_obj.spec + n_sips = int(spec["system"]["sips"]["count"]) + cm = spec["sip"]["cube_mesh"] + n_cubes = int(cm["w"]) * int(cm["h"]) + + with RuntimeContext( + engine=engine, + target_device=DeviceSelector("all"), + correlation_id="dist_intercube_ar", + spec=spec, + ) as ctx: + ctx.distributed.init_process_group(backend="ahbm") + assert ctx.distributed.get_world_size() == n_sips + + t_start = engine._env.now + ctx.multiprocessing.spawn( + _worker, args=(n_cubes, DEFAULT_N_ELEM, n_sips, ctx), + nprocs=n_sips, + ) + t_end = engine._env.now + print(f"\n[distributed] sim latency = " + f"{t_end - t_start:.1f} ns ({(t_end - t_start) / 1000:.3f} us)") diff --git a/tests/test_intercube_root_center.py b/tests/sccl/test_intercube_root_center.py similarity index 99% rename from tests/test_intercube_root_center.py rename to tests/sccl/test_intercube_root_center.py index 7267b37..18d9172 100644 --- a/tests/test_intercube_root_center.py +++ b/tests/sccl/test_intercube_root_center.py @@ -40,7 +40,7 @@ from kernbench.runtime_api.types import DeviceSelector from kernbench.sim_engine.engine import GraphEngine from kernbench.topology.builder import resolve_topology -from tests.test_allreduce_multidevice import ( +from tests.sccl._allreduce_helpers import ( _write_temp_configs, run_allreduce, ) diff --git a/tests/sccl/test_plot_buffer_kind_sweep.py b/tests/sccl/test_plot_buffer_kind_sweep.py new file mode 100644 index 0000000..e4f3ae3 --- /dev/null +++ b/tests/sccl/test_plot_buffer_kind_sweep.py @@ -0,0 +1,66 @@ +"""Buffer-kind sweep (TCM / SRAM / HBM) on torus_2d 6 SIPs (3×2), distributed. + +Each parametrized case writes one JSON row; the conftest sessionfinish hook +calls ``aggregate_buffer_kind_plot`` to emit the comparison PNG + csv. Pre +slot-latency modeling the three lines overlap exactly (slot access is +latency-free today). +""" +from __future__ import annotations + +import json + +import pytest +import yaml + +from tests.sccl._allreduce_helpers import ( + _BK_ROWS_DIR, + _ELEM_BYTES_F16, + _bk_params, + _crit_ns, + _run_distributed, + _write_temp_configs, +) + + +@pytest.mark.parametrize("buffer_kind,n_elem", _bk_params()) +def test_buffer_kind_allreduce_one(tmp_path, monkeypatch, buffer_kind, n_elem): + sub = tmp_path / f"{buffer_kind}_{n_elem}" + sub.mkdir() + topo_path, ccl_path = _write_temp_configs( + sub, + sip_topology="torus_2d", + n_sips=6, + algorithm="lrab_hierarchical_allreduce", + sip_w=3, sip_h=2, + n_elem_override=n_elem, + ) + # Override buffer_kind in the temp ccl.yaml (read by the ahbm backend + # at init_process_group time via load_ccl_config()). + with open(ccl_path) as f: + ccl_cfg = yaml.safe_load(f) + ccl_cfg.setdefault("defaults", {})["buffer_kind"] = buffer_kind + ccl_cfg.setdefault("algorithms", {}).setdefault( + "lrab_hierarchical_allreduce", {}, + )["buffer_kind"] = buffer_kind + with open(ccl_path, "w") as f: + yaml.dump(ccl_cfg, f, default_flow_style=False) + + engine, _ = _run_distributed( + sub, monkeypatch, topo_path, + f"bk_sweep_{buffer_kind}_{n_elem}", n_elem, + ) + crit_ns = _crit_ns(engine) + + bytes_per_pe = n_elem * _ELEM_BYTES_F16 + record = { + "buffer_kind": buffer_kind, + "sip_topology": "torus_2d", + "n_sips": 6, + "n_elem": n_elem, + "bytes_per_pe": bytes_per_pe, + "latency_ns": crit_ns, + } + _BK_ROWS_DIR.mkdir(parents=True, exist_ok=True) + row_path = _BK_ROWS_DIR / f"{buffer_kind}_{n_elem}.json" + with open(row_path, "w", encoding="utf-8") as f: + json.dump(record, f) diff --git a/tests/sccl/test_plot_comparison_fsim.py b/tests/sccl/test_plot_comparison_fsim.py new file mode 100644 index 0000000..4c21f66 --- /dev/null +++ b/tests/sccl/test_plot_comparison_fsim.py @@ -0,0 +1,23 @@ +"""Emit the broken-y-axis allreduce-vs-FSIM comparison plot. + +Post-processes summary.csv (written by the latency sweep) into +comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png. Pure +plotting; reads the on-disk summary.csv (skips if the sweep has never run). +""" +from __future__ import annotations + +from pathlib import Path + +import pytest + +from tests.sccl._allreduce_helpers import ( + _SWEEP_OUT_DIR, + emit_comparison_fsim_plot, +) + + +def test_emit_comparison_fsim_plot(): + if not (_SWEEP_OUT_DIR / "summary.csv").exists(): + pytest.skip("summary.csv absent; run the latency sweep first") + out = emit_comparison_fsim_plot() + assert out is not None and Path(out).exists() diff --git a/tests/sccl/test_plot_latency_sweep.py b/tests/sccl/test_plot_latency_sweep.py new file mode 100644 index 0000000..77207fb --- /dev/null +++ b/tests/sccl/test_plot_latency_sweep.py @@ -0,0 +1,58 @@ +"""Allreduce latency sweep (distributed path), xdist-friendly. + +Each parametrized case writes one JSON row to the shared staging dir; the +conftest sessionfinish hook calls ``_aggregate_sweep_plots`` to emit the +per-topology PNGs + summary.csv after all cases finish. +""" +from __future__ import annotations + +import json + +import pytest + +from tests.sccl._allreduce_helpers import ( + _ELEM_BYTES_F16, + _SWEEP_ROWS_DIR, + _crit_ns, + _run_distributed, + _sweep_params, + _write_temp_configs, +) + + +@pytest.mark.parametrize( + "algorithm,sip_topology,n_sips,sip_w,sip_h,n_elem", _sweep_params(), +) +def test_allreduce_latency_one( + tmp_path, monkeypatch, algorithm, sip_topology, n_sips, sip_w, sip_h, + n_elem, +): + topo_path, _ = _write_temp_configs( + tmp_path, sip_topology, n_sips, algorithm, + sip_w=sip_w, sip_h=sip_h, + n_elem_override=n_elem, + ) + engine, n_cubes = _run_distributed( + tmp_path, monkeypatch, topo_path, + f"sweep_{algorithm}_{sip_topology}_{n_elem}", n_elem, + ) + + crit_ns = _crit_ns(engine) + + bytes_per_sip = n_cubes * n_elem * _ELEM_BYTES_F16 + bytes_per_pe = n_elem * _ELEM_BYTES_F16 + + record = { + "algorithm": algorithm, + "sip_topology": sip_topology, + "n_sips": n_sips, + "n_elem": n_elem, + "bytes_per_pe": bytes_per_pe, + "bytes_per_sip": bytes_per_sip, + "latency_ns": crit_ns, + } + + _SWEEP_ROWS_DIR.mkdir(parents=True, exist_ok=True) + row_path = _SWEEP_ROWS_DIR / f"{sip_topology}_{n_elem}.json" + with open(row_path, "w", encoding="utf-8") as f: + json.dump(record, f) diff --git a/tests/sccl/test_plot_topology_diagram.py b/tests/sccl/test_plot_topology_diagram.py new file mode 100644 index 0000000..960c6ef --- /dev/null +++ b/tests/sccl/test_plot_topology_diagram.py @@ -0,0 +1,11 @@ +"""Emit topology.png (device-level + cube-level reduction). Pure plotting; no sim.""" +from __future__ import annotations + +from pathlib import Path + +from tests.sccl._allreduce_helpers import emit_topology_diagram + + +def test_emit_topology_diagram(): + out = emit_topology_diagram() + assert Path(out).exists() diff --git a/tests/test_allreduce_buffer_kind_sweep.py b/tests/test_allreduce_buffer_kind_sweep.py deleted file mode 100644 index 48d53aa..0000000 --- a/tests/test_allreduce_buffer_kind_sweep.py +++ /dev/null @@ -1,199 +0,0 @@ -"""Phase 1 buffer-kind allreduce sweep — torus_2d 6 SIPs. - -Parametrized over (buffer_kind, n_elem). Each case runs the standard -config-driven allreduce app and writes a JSON row to a shared staging -dir; the conftest sessionfinish hook (added in Phase 1) aggregates -rows into ``docs/diagrams/allreduce_latency_plots/ -AllReduce_LRAB_2Dtorus_6SiP_2x3_with_TCM_SRAM_HBM.png``. - -Pre-Phase-2: the three buffer-kind lines overlap exactly because slot -access is latency-free today. Post-Phase-2 they spread out (tcm -fastest, hbm slowest). -""" -from __future__ import annotations - -import json -from pathlib import Path - -import pytest -import yaml - -from kernbench.runtime_api.context import RuntimeContext -from kernbench.runtime_api.types import DeviceSelector -from kernbench.sim_engine.engine import GraphEngine -from kernbench.topology.builder import resolve_topology - -# Reuse the allreduce app helpers. -from tests.test_allreduce_multidevice import ( - _write_temp_configs, - run_allreduce, -) - - -_BUFFER_KINDS = ["tcm", "sram", "hbm"] -_N_ELEM_GRID = [128, 1024, 8192, 32768] # 256 B → 64 KB per slot -_ELEM_BYTES_F16 = 2 - -_OUT_DIR = (Path(__file__).parent.parent / "docs" / "diagrams" - / "allreduce_latency_plots") -_ROWS_DIR = _OUT_DIR / "_buffer_kind_rows" -# Descriptive output stem (shared by the .png and .csv). -_OUT_STEM = "AllReduce_LRAB_2Dtorus_6SiP_2x3_with_TCM_SRAM_HBM" - - -def _bk_params(): - out = [] - for bk in _BUFFER_KINDS: - for n_elem in _N_ELEM_GRID: - out.append(pytest.param(bk, n_elem, id=f"{bk}-n_elem{n_elem}")) - return out - - -@pytest.mark.parametrize("buffer_kind,n_elem", _bk_params()) -def test_buffer_kind_allreduce_one(tmp_path, buffer_kind, n_elem): - """One config of the buffer-kind sweep. xdist parallelizes.""" - sub = tmp_path / f"{buffer_kind}_{n_elem}" - sub.mkdir() - topo_path, ccl_path = _write_temp_configs( - sub, - sip_topology="torus_2d", - n_sips=6, - algorithm="lrab_hierarchical_allreduce", - sip_w=3, sip_h=2, - n_elem_override=n_elem, - ) - # Override buffer_kind in the temp ccl.yaml. - with open(ccl_path) as f: - ccl_cfg = yaml.safe_load(f) - ccl_cfg.setdefault("defaults", {})["buffer_kind"] = buffer_kind - ccl_cfg.setdefault("algorithms", {}).setdefault( - "lrab_hierarchical_allreduce", {}, - )["buffer_kind"] = buffer_kind - with open(ccl_path, "w") as f: - yaml.dump(ccl_cfg, f, default_flow_style=False) - - topo = resolve_topology(topo_path) - engine = GraphEngine(topo.topology_obj, enable_data=True) - spec = topo.topology_obj.spec - - with RuntimeContext( - engine=engine, - target_device=DeviceSelector("all"), - correlation_id=f"bk_sweep_{buffer_kind}_{n_elem}", - spec=spec, - ) as ctx: - result = run_allreduce( - ctx, engine, spec, - algorithm="lrab_hierarchical_allreduce", ccl_yaml=ccl_path, - ) - assert result["ok_cubes"] > 0 - - pe_exec_vals = [ - float(tr.get("pe_exec_ns", 0.0) or 0.0) - for _, (_, tr) in engine._results.items() - if isinstance(tr, dict) - ] - crit_ns = max(pe_exec_vals) if pe_exec_vals else 0.0 - - bytes_per_pe = n_elem * _ELEM_BYTES_F16 - record = { - "buffer_kind": buffer_kind, - "sip_topology": "torus_2d", - "n_sips": 6, - "n_elem": n_elem, - "bytes_per_pe": bytes_per_pe, - "latency_ns": crit_ns, - } - _ROWS_DIR.mkdir(parents=True, exist_ok=True) - row_path = _ROWS_DIR / f"{buffer_kind}_{n_elem}.json" - with open(row_path, "w", encoding="utf-8") as f: - json.dump(record, f) - - -def aggregate_buffer_kind_plot() -> bool: - """Read per-config rows and emit the descriptive .png + .csv (_OUT_STEM). - - Called from conftest.pytest_sessionfinish (controller-only). - Returns True if rows were aggregated. - """ - import csv - - if not _ROWS_DIR.exists(): - return False - row_files = sorted(_ROWS_DIR.glob("*.json")) - if not row_files: - return False - - records = [] - for p in row_files: - with open(p, encoding="utf-8") as f: - records.append(json.load(f)) - - import matplotlib.pyplot as plt - from matplotlib.ticker import FuncFormatter - - def _fmt_bytes(x, _pos): - if x <= 0: - return "0" - if x >= 1024 * 1024: - return f"{x / (1024 * 1024):.0f} MB" - if x >= 1024: - return f"{x / 1024:.0f} KB" - return f"{x:.0f} B" - - _bytes_fmt = FuncFormatter(_fmt_bytes) - - _OUT_DIR.mkdir(parents=True, exist_ok=True) - with open(_OUT_DIR / f"{_OUT_STEM}.csv", "w", - newline="", encoding="utf-8") as f: - w = csv.DictWriter(f, fieldnames=[ - "buffer_kind", "sip_topology", "n_sips", "n_elem", - "bytes_per_pe", "latency_ns", - ]) - w.writeheader() - for r in sorted(records, key=lambda r: ( - r["buffer_kind"], r["bytes_per_pe"], - )): - w.writerow(r) - - colors = {"tcm": "tab:blue", "sram": "tab:orange", "hbm": "tab:red"} - fig, ax = plt.subplots(figsize=(10, 6)) - for bk in ["tcm", "sram", "hbm"]: - rs = sorted( - [r for r in records if r["buffer_kind"] == bk], - key=lambda r: r["bytes_per_pe"], - ) - if not rs: - continue - ax.plot( - [r["bytes_per_pe"] for r in rs], - [r["latency_ns"] for r in rs], - marker="o", lw=2.0, - color=colors[bk], label=f"buffer_kind = {bk}", - ) - ax.set_xscale("log", base=2) - ax.set_xlabel("Bytes per PE (log scale)") - ax.set_ylabel("Time (ns)") - ax.set_title( - "AllReduce_LRAB_2Dtorus_6SiP(2x3) — IPCQ memory (SRAM, TCM, HBM)" - ) - ax.grid(True, alpha=0.3) - ax.legend() - ax.xaxis.set_major_formatter(_bytes_fmt) - fig.tight_layout() - fig.savefig(_OUT_DIR / f"{_OUT_STEM}.png", dpi=130) - plt.close(fig) - - for p in row_files: - try: - p.unlink() - except OSError: - pass - try: - _ROWS_DIR.rmdir() - except OSError: - pass - - print(f"\nWrote {_OUT_DIR / f'{_OUT_STEM}.png'} " - f"from {len(records)} rows") - return True diff --git a/tests/test_distributed_lrab_hierarchical_allreduce.py b/tests/test_distributed_lrab_hierarchical_allreduce.py deleted file mode 100644 index 1f9d78a..0000000 --- a/tests/test_distributed_lrab_hierarchical_allreduce.py +++ /dev/null @@ -1,119 +0,0 @@ -"""End-to-end distributed test for intercube allreduce. - -Exercises the full process-group path: - dist.init_process_group(backend="ahbm") - → mp.spawn(nprocs=n_sips) - → each worker: set_device → allocate → fill → dist.all_reduce → verify - -This is the same flow a real DDP training script would use. -""" -from __future__ import annotations - -import os -import textwrap -from pathlib import Path - -import numpy as np -import pytest - -TOPOLOGY_PATH = Path(__file__).parent.parent / "topology.yaml" - -N_CUBES = 16 -N_ELEM = 8 - - -def _write_ccl_yaml(tmp_path) -> str: - body = textwrap.dedent("""\ - defaults: - algorithm: lrab_hierarchical_allreduce - buffer_kind: tcm - backpressure: sleep - n_slots: 4 - slot_size: 4096 - vc_chunk_size: 256 - ipcq_credit_size_bytes: 16 - - algorithms: - lrab_hierarchical_allreduce: - module: kernbench.ccl.algorithms.lrab_hierarchical_allreduce - topology: none - buffer_kind: tcm - n_elem: 8 - root_cube: 15 - """) - (tmp_path / "ccl.yaml").write_text(body) - return str(tmp_path) - - -def _worker(rank: int, n_sips: int, torch) -> None: - """Per-SIP worker: allocate, fill, all_reduce, verify.""" - from kernbench.policy.placement.dp import DPPolicy - - torch.ahbm.set_device(rank) - - dp = DPPolicy( - cube="row_wise", pe="replicate", - num_pes=1, num_cubes=N_CUBES, - ) - tensor = torch.zeros( - (N_CUBES, N_ELEM), dtype="f16", dp=dp, - name=f"sip{rank}", - ) - - init_arr = np.full((N_CUBES, N_ELEM), float(rank + 1), dtype=np.float16) - tensor.copy_(torch.from_numpy(init_arr)) - - print(f"[SIP {rank}] input cube0[:4] = {tensor.numpy()[0][:4].tolist()}") - - torch.distributed.all_reduce(tensor, op="sum") - - arr = tensor.numpy() - expected = float(N_CUBES * sum(range(1, n_sips + 1))) - - print(f"[SIP {rank}] output cube0[:4] = {arr[0][:4].tolist()}") - print(f"[SIP {rank}] output cube15[:4] = {arr[15][:4].tolist()}") - - for cube_id in range(N_CUBES): - assert np.allclose(arr[cube_id], expected, rtol=1e-1, atol=1e-1), ( - f"SIP{rank} cube {cube_id}: " - f"got {arr[cube_id][:4]}, expected {expected}" - ) - - if rank == 0: - print(f"\n lrab_hierarchical_allreduce (ws={n_sips}): " - f"{n_sips * N_CUBES} OK") - - -def test_distributed_lrab_hierarchical_allreduce(tmp_path, monkeypatch): - """Full distributed path: init_process_group → mp.spawn → all_reduce.""" - from kernbench.runtime_api.context import RuntimeContext - from kernbench.runtime_api.types import DeviceSelector - from kernbench.sim_engine.engine import GraphEngine - from kernbench.topology.builder import resolve_topology - - monkeypatch.chdir(_write_ccl_yaml(tmp_path)) - - topo = resolve_topology(str(TOPOLOGY_PATH)) - engine = GraphEngine(topo.topology_obj, enable_data=True) - spec = topo.topology_obj.spec - n_sips = int(spec["system"]["sips"]["count"]) - - with RuntimeContext( - engine=engine, - target_device=DeviceSelector("all"), - correlation_id="dist_intercube_ar", - spec=spec, - ) as ctx: - ctx.distributed.init_process_group(backend="ahbm") - - assert ctx.distributed.get_world_size() == n_sips - - t_start = engine._env.now - - ctx.multiprocessing.spawn( - _worker, args=(n_sips, ctx), nprocs=n_sips, - ) - - t_end = engine._env.now - print(f"\n[distributed] sim latency = " - f"{t_end - t_start:.1f} ns ({(t_end - t_start) / 1000:.3f} us)") diff --git a/tests/test_ipcq_buffer_kind_latency.py b/tests/test_ipcq_buffer_kind_latency.py index e356e64..ec7926e 100644 --- a/tests/test_ipcq_buffer_kind_latency.py +++ b/tests/test_ipcq_buffer_kind_latency.py @@ -20,7 +20,7 @@ Reference (Phase 2 will edit these): - ccl.yaml — algorithm.buffer_kind The tests reuse the existing config-driven allreduce app -(``run_allreduce`` in tests/test_allreduce_multidevice.py) with a 2-SIP +(``run_allreduce`` in tests/sccl/_allreduce_helpers.py) with a 2-SIP ring topology and a SMALL n_elem so they finish fast (~3-5 s each). """ from __future__ import annotations @@ -37,7 +37,7 @@ from kernbench.topology.builder import resolve_topology # Reuse the test app's helpers so this micro-test file does not # duplicate the run-allreduce + write-temp-configs plumbing. -from tests.test_allreduce_multidevice import ( +from tests.sccl._allreduce_helpers import ( _write_temp_configs, run_allreduce, ) diff --git a/tests/test_ipcq_buffer_kind_locations.py b/tests/test_ipcq_buffer_kind_locations.py index 0bb278f..501fb6c 100644 --- a/tests/test_ipcq_buffer_kind_locations.py +++ b/tests/test_ipcq_buffer_kind_locations.py @@ -47,7 +47,7 @@ from kernbench.runtime_api.types import DeviceSelector from kernbench.sim_engine.engine import GraphEngine from kernbench.topology.builder import resolve_topology -from tests.test_allreduce_multidevice import ( +from tests.sccl._allreduce_helpers import ( _write_temp_configs, run_allreduce, ) @@ -59,8 +59,9 @@ def _run_allreduce_with_buffer_kind( """Run one torus_2d 6-SIP allreduce with the given buffer_kind and return critical-path pe_exec_ns (max across all PEs). - Mirrors the sweep harness in test_allreduce_buffer_kind_sweep.py - so the assertions below compare apples-to-apples against that PNG. + Mirrors the buffer-kind sweep harness in + tests/sccl/test_plot_buffer_kind_sweep.py so the assertions + below compare apples-to-apples against that PNG. """ sub = tmp_path / f"{buffer_kind}_{n_elem}" sub.mkdir()