From 93d9d5b97e1bb529863cc9f4d5582f4b5020b658 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 15:53:35 +0200 Subject: [PATCH 01/13] DGX-A100_GPU-Operator_testing: new directory --- DGX-A100_GPU-Operator_testing/blogpost.md | 771 ++++++++++++++++++ .../plots/gpu-isolation_time-to-threshold.png | Bin 0 -> 96910 bytes .../plots/multi-gpu_time-to-threshold.png | Bin 0 -> 117186 bytes .../plots/prom_sequential.png | Bin 0 -> 114921 bytes 4 files changed, 771 insertions(+) create mode 100644 DGX-A100_GPU-Operator_testing/blogpost.md create mode 100644 DGX-A100_GPU-Operator_testing/plots/gpu-isolation_time-to-threshold.png create mode 100644 DGX-A100_GPU-Operator_testing/plots/multi-gpu_time-to-threshold.png create mode 100644 DGX-A100_GPU-Operator_testing/plots/prom_sequential.png diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md new file mode 100644 index 0000000..93ad332 --- /dev/null +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -0,0 +1,771 @@ +Functional and Performance Testing of the NVIDIA DGX-A100 +========================================================= + +_By Kevin Pouget_ + +In this blog post, part of a series on the DGX-A100 OpenShift +launch, we present the functional and performance assessement we performed +to validate the behavior of the DGXA100 8x A100 GPUs. This study was +performed on OpenShift 4.9 with the GPU computing stack deployed by +the GPU Operator v1.9. It is a follow-up on our previous work on +[enabling MIG support in the GPU Operator] and +[benchmarking AI/ML performance on a single A100 GPU]. + +In this work, we paid particular attention to the reproducibility of +the functional and performance testing, so that the whole testing +procedure can be easily re-executed in any freshly deployed OpenShift +cluster. + +For the workload running on the GPUs, we chose the NVIDIA PyTorch +implementation of the Single Shot Detector (SSD) AI/ML model, from +[MLCommons MLPerf v0.7 repository], +running against [the COCO dataset](https://cocodataset.org/). + +In the following sections, we first describe how we prepared the +cluster, then we go through the functional testing of the MIG +partitioning control of the GPU Operator. Then, we present the +performance benchmarking we performed to validate the speed up gain +when using multiple GPUs to run the SSD algorithm, and the +performance isolation when running multiple independent workloads on +each of the GPUs. + +[enabling MIG support in the GPU Operator]: https://cloud.redhat.com/blog/multi-instance-gpu-support-with-the-gpu-operator-v1.7.0 +[benchmarking AI/ML performance on a single A100 GPU]: https://cloud.redhat.com/blog/using-nvidia-a100s-multi-instance-gpu-to-run-multiple-workloads-in-parallel-on-a-single-gpu +[MLCommons MLPerf v0.7 repository]: https://github.com/mlcommons/training_results_v0.7/tree/master/NVIDIA/benchmarks/ssd/implementations/pytorch + +Cluster Preparation +=================== + +Install and Configure the Operators +----------------------------------- + +In order to prepare the cluster for running the tests and benchmarks, +a few operators must be deployed and configured: + +1. The [OpenShift Node Feature Discovery Operator]. +This operator is in charge of labeling the worker nodes with hardware +and system properties. It is a prerequisite for the NVIDIA GPU +Operator, as it detects NVIDIA GPU PCI cards and advertises them on +the node label `feature.node.kubernetes.io/pci-10de.present=true`. +Do not forget to create the default `NodeFeatureDiscovery` custom +resource. + +[OpenShift Node Feature Discovery Operator]: https://docs.openshift.com/container-platform/4.9/hardware_enablement/psap-node-feature-discovery-operator.html + +2. The [NVIDIA GPU Operator]. This operator is the +cornerstone of this work. It deploys the GPU computing stack, +including the kernel driver, in all of the GPU nodes. Since v1.9.0, +[the deployment of RHEL entitlement is not necessary anymore]. With the +help of NFD labels, the GPU Operator will automatically detect the DGX +A100 node and install (via containers) the necessary drivers, services +and CUDA libraries to run GPU workload. +Do not forget to create the default `ClusterPolicy` custom resource + +[NVIDIA GPU Operator]: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/openshift/contents.html +[the deployment of RHEL entitlement is not necessary anymore]: https://cloud.redhat.com/blog/entitlement-free-deployment-of-the-nvidia-gpu-operator-on-openshift + +3. The [OpenShift Local Storage Operator]. +This operator allows storing persistent data on the local disks or +partitions. See our own [LocalVolume resource] as an example, but make sure to +adapt it to the hardware setup of your system. The only requirement is to expose +a `StorageClass` (named `local-sc-dgx` in our illustrations) +that can be used later on to create a `PersistentVolumeClaim`, with +at least 30 GB of available disk space. + +[OpenShift Local Storage Operator]: https://docs.openshift.com/container-platform/4.9/storage/persistent_storage/persistent-storage-local.html +[LocalVolume resource]: cluster_setup.md + + +Prepare the dataset and the container image +------------------------------------------- + +Once the operators have been installed and configured, we must prepare the +cluster to run the benchmark: + +1. Prepare a `PersistentVolumeClaim` for storing the dataset + +``` +PVC_NAME=benchmarking-coco-dataset +NAMESPACE=default +STORAGE_CLASS_NAME=local-sc-dgx + +cat <1 ziQ3ga-wvKX*=-`;cu^-FV-#^y`<$M*vthiVj=0`~BvGkfZx)H_Bx~E_l;qdUhf9>O zhucz}U&`Z_g3*@EEV%qa!vNDC*{=fN)>=qw%{JWFb7zk}-L+3>*Y1PryY~FWKYu-U zG>l<7Bzo;XUjqJc_ij8)aNmDe;`fE0%I(1*?O$-S{nbtWb?c{$1^NHDlkJOcYwn_z z72lru*AM>k;#eT)z<=Fs&p{y|>7?%2|F+*k+-FA6_pn3`Pl_^OOu<-Ivk!I!E*o?<_`&axE`iE+rdxhwq)f%`?OObBT z$>j*;*^<_4leRut;msd~gPt)n)nF8hG{$EhG8LAQi|Kw5DqyBqZ)js{JE$_YtQu(F zw?yg<99rlOSmV7yYoE;v$kWSpU2Cv`b?J0@uTfWKHo5S_I3Tv}wsybt-CN6UCT68g z)qTe-oN#Y#=fcv~?E1eP)2f!1x5`W#{>^LZ4Y^|&hAFNM&-aheK~}X1Ho^<jff+(Y2k%ATDu>iZ>->upnkp(2CA~hhcf7FcDD;tA3>&Z~ zq5y5Qo1ad}Pt%*ytvyIdoyKZsZrW(Rl$kwcoV1tS6>-`dUFNi+97V?IP8(`oMQ;R^ z3C;Ff1mY)R(23+ZUA^uhIJU5GP=y3Rm&kGl8sn+67lLi@gcvemHp{5E0_qh#=kxu| zA}lBqFM}#$8=IKv>&|wbp;yg4Q-tcJc@4ypLRfbX#H0)PO+3(BuCEG7Um*Rq=9DH6 zh}Bd34|uYa95DlEhIE@IS}Lim?)J;|7O{KO>AtdDFO*|mE2n91)K^JNOYlQ~|4&+E zte+nK>-5CjJ0L4*p0ze=}gr0N#+!+T(SwV1?|E!|~vr7)Zs4f$PM ztUI;U;>Z;oGe$*N9&LV9WzGe0^id*UA~V4BHN45v8tW>g{*p51D%^q0q#0FPq>m4N zh%q;!oOPt39}bzk_Z(slR@@bK^3cO-_rKMg85^d z43Dru?6U~5<@0Yqu!+$G1yMq>va;cf18s4MZx}G{2TgxIxcWzKFx)Er8E!{YKbmsz z^k(s+VoNpcCMSP1gk7kRlZP*7K6`cR>Jd@EDr8OApF9e+`zgr`%V57R3KRry>C431 zcl`8;Pfb0o;(@E|=JcGnJSRL%TY3#^@0p^(E+tJgQnd}e+CD|k>73#4DzAW1B4`U% zfu_l61&h@5f@V0Zqei7xd^Mf-WLmM=lkdk`|%XxLh1Ir9ry#hHH;lLaPT@1%q6ExuSq^j937& zQ)Q7n;wAU+4#fXwJrp0Vf!_aVT-Sr%PPe^bnFK-8y2sbM&-vV9v5m2))h*1N#4Wh2HW)-WbrjH0I-a4$~{$0pwr&n6i7Ei&QE zY41dDMxEV@@xlCBl_7N4o%+i0-6<7*B(?jtEm+TMI+@0cXa3lDX4Lcp zxu6%ar||O;_tE-q8A`Z)l$>z#t08c1TxyMs`TalJcE_o*| z#SR4JOY|^H+zwfy-Ixd7hpg=-KcRk;>xh)ynx~6iQw&USoeb5Go5>Te#01@FW${|x z-s-cS*x%i0$G=QEr#ft1))u{s&n6&?Hg|or+CC%m_DbE<1w0?>KwWN`g zYIfk)bQO|dWwjN?CY$8g=XUAVcFr@ zwpT+%*gD=oRZ7N5lXnlqVNC3`*2`mU(J1j?--xMs&4B225GW&+H_jX*5LdLj=AYd} zf)->yp1at3FN41P_##h6!MYf7vwpxV|K5+KMGyDYCQbTY8t|a4_2gs6j*Jbp%EbivzgB_z76wtfQ%}IV#zG{%Ja*LF zefda$0qLQ}M&(K8Q1lBtw1IGZQ`wK0T%*|!b5ygk%BX-LROpy%h@%9KuHM@D&fC3g z2YQZk;iOJNB>7|xWj8>B`c-lst)xjgxJftJ?gKa+aL)?pKCy+SNgOQ}#`V|Ol&F0( zM$Dgj*p@v2$5r6rXV3boq2oqvjJ{urMFf8U?U`4)uAl^55hvRZMIp@JdotW&0?_hT4v z5?k!>wSOgP&n}8QWyE|ksuTGms>NFFiBX~1$P5ErX^{M**@1n>`za{AmYeV=uXH5g z;T-bwd9j`~xKDJGUGF!3@?s__vMHp)WyL?@a6q-iN@MX8GOp)GIO??5NBuYZVbbz) z>xolNbH^Z~e0;|C-#5kfdZc-eh)p=AEoH7PzfzwP!>tUv?Q<3-i95{RQ{EC?towwq zqenfN5UZ-F)qBS~f+V(<^GGrs6N;mtIzq7K0 zBbeXJF)IL7X7<(=vG%lEsqtkwidb{85o%%8(UL1W7Db)JoIqFZX}pzm>X{upppfN$ zn0N^g(`q?(Y_;180UIJVl5iv6UK4juJlGFS9K0Ixpy4{*{R~l_LBU%})r);hySYR3w8r>S6vBu`Dv2&bKE< z&0WjgYu+8nWx^6%J`>+kAG>v+-;5M|W_*|S_eAA-MlIB=v@kGc`~f-uzh+Z5F?lec zpTS(k1Ji2341qtO;3i}@9=Yz@mh`9Q+qlc&i)g3LtdY@`iV7fVqvEgK}^E&B99 z4{!0UI>)qi1M5w-{1J9@=;jFW_;J9skDigHV>K2;pL(zLT^C!JBKV;#ta(a%4mr5V zA1F=#LanLwPM*v%!|2yYXc-{udHrmGiD*^@jW9HiG8l(+Bt)C`6*Hd+ce1TfIQWs{ z*UD6D7;s3@7qQ+;G?e$++XW^TKi_bdt8QLu%ohXcHD%+IFk^SqXi8f1&6x`0cj^Xo z1cNScs0n1*=;Q@Z55Q?-1%w1Vl74C26(IiPwVKr1#~NO3 zjRLa54sJ0A9|T5$@%L@eV@+D|WneTqyM8G0X9c`?EMr&g#L$4tNCWhAR6OGeV#|E- zyWbrdfnUqh=-K8hq#}u~P8g%Hu-N0HCe~wKqtuq4m2!*80O+pt6ZJ_zUf)PEzKW56 z2NG1rdN>^*&mzxiNdQELe#ewcr<(4@GvHEQduhm=IDqKJJ|fLJwUDg_1TS>PF zVzzpTE9$Y9P*^(DR1vzd+_2Gkf{g5Ep!)Ks;N6(r{CSnUR!LwgvRP~G<(SQYjTgMe z-S`80e~5zWoph^{`$N6%_x9*vk7GF>P!cJAUlM%hQPoEp4V@p;5L$~PY1D9KLc%(~ zVDS7drPS(vw<9i4cC{}3kSA085!u^v&+D{C+r z=<^gWn-d)0i&O?C)w)%JKTTn{C9QjhU5>ka%$O7dhSny1O#*$B0Aj-^Z4;S$8lI3@ z!E_m6av$-{1+{6Pv}LYCKbhO&k))uwST80JtDBOd`s4D5tY#KHG7-^YCNYqXut-!b zvwJ;!zZ=G^q8W`7o>@ah3_`q#P+c|PXZYTmA%o6x#;h?fOOrLXgxOElG0(qf71zu9 zlpnjvMi11EVbmgFz60Sg*joGen4YZ;mkyL)ayOdpISU}@+&mYCMdc(ny3P~%7`6bAa#WODC^sREQ^^A!zNE--m z`t|wKOi%y%wZ11AfJ53Cb+p{cS!QPbtbFCd+*__Z|K|5|=##}`AJW8{uyrVWIKQd! zDw!h`aZm)C2e^-av=$!AZJT_x`M7mv%ApO%2Q7#N{Cq;>MxOf4a0H((LsDmz$hU!o zFnt%|CGWs{4_%=f`dcQ~ey08I9@PP$yeWLbzUI-*I-W*vLywtI*jLT#J@@gc7Wmww z;p%*oFf8_M*$3&MiWIRwF%#IwS|QBmyvlZ6V}02QmqyfS*5SdQm>bY18FS&+@7Sl(BWLICP6|svhkbR zT?9419Mz4tE!pk`jAqO{w-$W5&QQ%=I1|tMmO$G5u9V7V|l7I0#TuWdw&W7|+2!lygM?4Serl|#i*!&MC zrIoD6_OBX?NUkRV<}#8vwP!9~U+Z%M zh1?s{qMTzOsaE+&R>@(1meivAuzu@iyoeJ@0XKPwxX@{k^e}iiNp1oB!!XPbVdRZ) znh=L(2Gk~Ht*sFU?nw`1jFMg$Tom$fsIsJUhKe|)XH!26XIj#5^#fJUyj@4}FTH~^ zs{#lyC%sy!)V$9FgM#$nBLa%@lsBjSU0-ZX z2k0)@`3^m#m&CC}dVe6%u~a?#5e@{KFp{t-7B~_tDDaaS^szrgnqa(|+{i2*F7}+d zmnT1PQ9>-;AfeN6^w{khXLIpYc6PZ{=4fm7(f4yt$V*j$4@b~3+pU~1K8c8lvDVis zk&(=bg)D^JXoVRk;@3<1KTSDUis;QPtqNS~qK&4^<@csio1MMWEP+8`fJnbgk`dY* zBQUKwlxpvIc-c<-Ey`~uS?A2;M!ibtMK*RW!(>xVw>B$vemwvkZe7A1ZXJUU=+#*Ft7=9x zL|JE#za$-LPBwFACBUy1x!n07Y5f|&N4Zk<`1KGi?&c*6ApS}pZp9A_W8av!VRmNU1_pJ$-T9}vwc-Kj7 z=Bt-ogXkRd!jjTGuK6n5?$Xl2d?PC7`sXao<$q5y#vlWi+nQ^G^#kV6!4Fz&XdFfa zPWOwJ_oV=0pjo#oBDat38+Xs`1t*{6F!5!LQxv0O>B6n7laa|4&|BF*9%_9zkCirI z>vcw)jpPMFRz{h0l)llINWO-W=^D?X#Vd>20o*XBPk;DsV z-*y9WVKPzwdEq>1`nFa~msKp6V~FT}?BuS5u654#AWd*jg1t}LdyVZrL(pspXD#Nq zQCXovp^yFw3Cu#Y%NRHZ%B|Bjl-+3$-4aJLR45L^HA#>J`U6FUj3*0+CLv$}S5^f* zNYG~wH23}NKS-f8wDtk5&ELCyh7(~TkP!AiG$(X43)JT4Q4Z5TwfP6q{@HrR$bh-# z%g+@@|HwZ7qV4|AQosAiKeF0xdi`Sz{}{ucA>$vA*~ZKNyOH7Ug1O1RxB&lzjGbsR zy196)T#uW7z{9B3ywayjZIsWzUFCT1Id_+XnGY_;FzUM*QgtlZvl+b$7OG-L`S^ri zV3Axvy;JRi$SafuJHF?bBy9~J%V|cn8$M`WyReTu7oAXdJJLlKpvtiAs}z0~O7qmd zqGsqzIO5pVyO4fP=nA{qzR|3Y;+;AS`^=kr49+*2`v1063;5Yg&w3U0`6^sL2k?sv z1N^%y&G&=kf!Al6IiE489|A77#sQBD*A)+vabrKf?$crwy&oJC!XObvrpM3H%JOyb z$WwPB7=F)RGyL{pJWqo8gT&)?#eM(jazvOA&|G4v?~X^OOT+>9Z;O&~$0WdyQ14xk zl2G*P=dq*z$Ljxfc{69|pIf@ga=ey=L2CU9ex6=3y#|sm-f1Fk{2#0T+vWfE1l%;# z{=4S^{)?e5uX~G;2TERUW)}LP0B88w&IaC zHt)=Fb`Z+W(Eer`k2QUkwd^erwWP{`s5M2hxc6LY9Tm0m@GyLF84q zC6eAYwYc?3j3>U7S`+(8EK4Y1GD93)!ni>pPKY@V1N@n@pV`dx;y#J>kcz(b{NiYp zfMktcEI6TbzhQjL+(61RzL;j)e3aV@5bfHPm9)6Zv z94c{LSt|{G*?V^mqB7O_$&3_qo`fXVi-?Hyuy^suxGcxME6BXmJqHk!a6KdJg4$Qk zCSMmj5lbIaND8H`X)hWT{7P#QAc6r}Yi5Um5x&$7NH@RK$&>8SAug3F$^pablju!v z(%$SlVEbG-vK_Ie4)ZTI3zQf5fs|WXqsh&+-Ipr{!pQ4Cpt-TfzUlK#9L2C&g{?R` zCxhrrZrY>Hl-2~mtdJT`?E#YbqQ%jR?<1*rB7!2AuE-gzO0&}|l z*FGiB;IBpa?C|W^Wc{TcOD`|mCffYR@(`~4%?lmLC1bfAs?GQsL#9X>ZN8&A&C4#v zzl1q|EuO*SWjy892Be8K^f(oqN~Wr@%=39a45)pLs(>9qmSB)*%+NH(HNMZ}95BxF1`m4^dmiO=S7MCciTkSS?#`;ctLNV8*^g40+1Wd-O# z2`i6^6BlD)VZuGP`hk=w)IkZZurjIL44( z#4UX-l!#GPlBjEqW!!sgw-r3^w3QI=dfjFJR&YtW_M9Z-$Ru?l#(^z^WYY4J+bK{h z$J%(Z`iS!Dg)Irw19ZWWw#ktnpQ&kkvl*zz{YncWWOyb+d@0{Ks-yF4f%luO8 zo2PQwrnqU{y9{HterD7B zPjW?E`Y# z4z2u5>eY+tIca1E2Z;#4!OykO@Wl%g38fn z@2?#Z2Z$pm6MjK?IE#xtd!=@bG0fbEIYz6`tr;!9vdFjFDX9h5!Ss%fn{ z^R_#XFGxA9x~%GN|4E^utp4qT{fizr*H%*}LRO6yDoDoxd;fG_W5YuK*5I$-F1MZm zSAqo;4}pBeviJHxr4YbeGB>lqqd#aed&3yiGB4MNINqZ~c9eXS@{C^XhDEefzN zmtBF*XYBQzM^D_YjXSn=SJL8?%O_=W2Yc%fSrD7)+_{Gs>kx%F?0Hy@&Xsu4_q9Ty znJ_jD@Er)-eZwlTH74yo%il|nss`_k(p(uX4oSMiaC(121}fQq>Atz;S!#5#c~yVp zvMij{^#b29T+pMt#`$V;UNd|G`b+UKW^Jl|7%YQc(qtDxCCfKQt#D;9*|)lLES8g- z=jSzW*K+LFr?TV4;H3u_H0I5?j_2P>aC2CX=Qp;4YJR|3mJ5SyS^!%_xdcp#V3iNY%7!&!Mn&I%)wo*FrLQ+YZ5HSW zCI|t+E*7Q^cyy^+@GVfA6+RYeaX`b?x-2Id*Y(ZE-oSYt9ejqFw`v^b5BQ$d-z#s^ z;m2XpN#45ibBZGS)!jKCSzVxV?@Ot z>6&zCa6URClzDV3ow--{6y%JHLzDBcfdBU(y{RsZ-aQT-uTRMaa*Rv70Ov!jt-u@= zHAbFwS?D_rgXDf?#5L|Z zi^@wb%zRK6Tm5*8G;Gyp%%Yg>f^Y?EKgLb!Z>f2wm_K2q?fwapPxM$p{<#zU8?nF< zLAB(c=bkc#hw@@{Vga=erIPYwD^rwO{xueTq@lDAgR}_VNw;BQI)WqEiMg-%xkw4mw!L_bf>gnew&BL_=B` zUV3HJb-rJ0v3{liB`vC(88>0$(d=}z9LP{bW?$K~i`_*AtY}En1+lzq*rG5cfO4-P zsAhb^{x-fF;6-pICmcF?IE4DW9S)LId&9(lIDnUduefy*Y<(48ZRP-7tkl!zSsd_F zVng~U8Q0kJb-yO7sOU?hItEFS7@$03TMxW-U>$i0dv>CMn&_q);6TsZHv->9BT;nJ zS%4%!2gik7JQxVk>7yss6AR_w+pH1vOU$_&O_MwE$s1iLZbtE{RISeJ1#G3qb!k814E+p0FcXP~6 z%2%D4&70gfndeNu&}ynja1Kl>V8UoFEqH8#+0_qjB0gn}689S2+N2j`7Z}LuH0rbY zTU{?ft&g}bSjdNiED^6Op2@aaAbX!Mveusl0x3%AtWs|Uc%}*FOYmRlJNGmJb2d72 z?g#fPiz;(Zs0Q_dxpym@Ve^b|>qPheHeRi7 za~R29G7r1u@Q>vD!8)C)A6%G|`ENj}TBL&VN*%NWv&7=_z5Z3l!2z`I<2TOw`rAjx z&Nm)cXE{<2)Q5nFx1JFUKwVGp;kV+zvv%(y)cck#xT$k&-02(9?QZvY>Z>=sAo1>B z4{#$}Ps%;AhViI z^>IKz!}?`*GH!T2N79b~TM}{G8skobyjCYb2k@7-$@FYCOibq>u?Uosq?_ZCYS=yD$LnHM2Z#& z)(4yMHUECc4LpeDi-W@=+jbKZJ^of>O;o`)zFlhTg6B2%7l-tM<{G$5pM;6bW04~q zs(H5sXwE~@Ix@CTudIWbZ1e#;_Osy(KYW)bKiIXu8nAwO|Mrvo+q(Z|kF1fo=+RoO z>t6Y3{;UM-%VuX*0?RQu&b?-fTiS2qn8jH#@XFo35$qjJNZi<|ks#N-y4)Cg*X6Os zEHAbAR14+vJV#4!-}rR7?-A;qsJyo!D4U19if=$uxO;A=0)hq9-#`aJJT$k$TTsXS zho0|w0WN!$yQLvnWFGRvTNZ;93o=BXrjbmJk#SLiJ95q90aw&YjQkqIcDVFa(|rc- zf^JaK0d8rl%R|zjF*;q$A>YIxYaeVo{m%STe|e;Y5Bmt!%}woK#SHpP)juVn1(wz32LR0N%1!H&(A0HILB;6%%>?|6yE@R@-YnOU)c zkKkPDz%TYWqM+C-cPw^6f44>t#CX?nk>#SrxQ+;avd(5!N4$54TjYjI^qLDB$b63H`yFTkboDXed>%SpjnHZF81y5nhzrH`OCk;k}mtfVtv#m2)y}C-Rgx@YA_U8oKP>7tC ziK&t??WT1mpT6?xe$pw>z2M%R^{5)cz);lBUmzeD?8I9eGGcy5byzYOphYPIUjZFJzIR_v@FyPA9?CB8 z5MRru8wbEGZ@l?yskHu9S@SP0z<-J!K8k{ks}T8KWMz9W?QJ{Z`!ROjmUl0o6SuMb zf6tZ4zkovoH|7o%Yk>_<4n}CwPcH%!DRI{9`wxLA<0BH}Bc;=4b=%ZB;Q+0ybnwKp z|H0Dy*e-0=1rPZPIs`$q#-0w8hnviIF;->a)$93jduU}1me>BXQ2vu3st{`+V5NUn zGZtBX!zJQCPu7lI$-67kq8l6mxqFrVQaMyoizT?b*k#iQtkRrz297ZLWx*}iRhB<% z%~3;oGJ1{Ow5e4a2(am5YR2#+cTjJT7*E^!-Z{Ye8>(UZL*6D*74Y3oFCnG8B zRvs1<_V{ko*Ng$XUkrV(f}1_J!_78i)XoOYs0G5WR~5YGUrX?Q4k^62dKZj$RghQ9 zyR@c%#sXTq$+AHlcr;%S_<`Zk!m#8e@YKZc=bSR}?cDO;koEsabp^AqU8NT1Jce-b zb@iy5(lWA$5Oyp7V3`5f+uPGWnpSMx?_vPkUCfIuAO(R_ac4n4rgVPxRFFU{AUCI$1T6B%2b&dW06LwG}bvqLaFai~<@@m}nljmw#=PUSt z*XFnDZux^i^|n2wWpl*J?u6BDGVFD4_j5fk&APTjfA1=#jchoJC@@_k=#LxP31i32 zwQWjOTIZWrzn;+sF?k};rZZ$D)Omc~z$UBD!FCrJ@(3mYDi$pe~+)cw=` zYtIwjfEMo)wOJ+}QNMPU`KG6n^olXiIhQv(7zZpq^?sEiw4;m;$QcR(6MKiX$rurZ z-be~9&=s#gJ0K}GUC1fY;_@QL>)avSep*@i7rVHfdp=O?s^-uZ5K)yAJa3SYs@fO| zt;(Rhgp^6IentEa=#)JwSCq+Ce%)Yx5wf$g3;7L1^CoNH5en7vy6M{Wx1YGJMk6Wj zf6vrWml1^N`(SHNPiyDUB40*J4Gt7_o9uF^9V?GT4Ef;F(h)$CPxgKfBJ2)aPe6EfkHQaX2vW#kZhfxz}K5-^&BWhQ~WBEVL$@ z_=(4%U}02xU*P^(WM_TrBh+SZp#Y8j{xsMvCq0M!{Jmh=VO6{6tmZK05Rq|NV@3@L zxA}mGxOB+sfyPYHx0KEJydl5ymPw0XS(O&8P-p;V6GeM>2D*X`{&a8Tco#x<99nfA zQau~==_Dd?Q^Kbsnl^pq1GsWmGSURC47#Pv4qfxfngD;_+LYLc+(cV)do8Ti z1Y8E2A&(1H9)Zjju(P~_f-XXnCRpW|@*D)(x->8`C&A8t{T`<_EwLfm;ie%RcOO%?I*0x@f%F;thB-#p!0q!+Z2A@WvR*2>u=3taqvkj6cV z1>TBsfQWqY*zK8`?EGggFHm7BsZkNLeg(;r(q|a0NNiE5jz65;JQ)-wfmxpao<0g zeu;J8(2T!bom+M{AY*&S0XyGu98l4V{06U=ERTccVtpQw(h54l_M=zG@C5 zX7t1T88EH#KsAfWj@8~QWVd=C8p~Q0)uTV)sptAVLfV35{m!yv9X%El0lZ=~KQ!K_ zcl~EsbeIo9Z1<{TPAMWbvB|y+gk4;m!zIB$~m-ay2imfYi z)a+o{HuX>-$KDjcYFk?Kk%U=2_5m^DN^N)vm#hTsT5DLlGy%2S7l$_{^M%b%5P?$Q8GEOu_)3tHz3J1 z#wRd;Ks{?ovfxS4sMjeBUqV55Y?nanS*4j=AeJZh=IT37I=05{H_R~jHWt;vx$OB$ zn>oS3ngMs-%bO3yg9h0RQUVp`kk_xj8v&RnT-nI5?`OKlm%!R=bw`;oIPP{FpqZ%2 z1M7tGtzEaeQH(MqeeWRoLjal9^n$#wg~T@$nqo>goqJG7*I2Qa=t~)j2w8Z)7>4t* zgl=;YB&qT0MiQ~nx108MLXPmfrt*=Mw7*MiL z)%u}|EdW3FXe~h(DUCy@iF$kI&XlaosS7B>V}*0>70db1M-6S{)Cy++5G zmL$DpUS$I&y*_H!f9N^+^8TWN|5vB)hUp4T1{ZG8ZdwX{#hE*n{<`G_R#kWT(?Y;* zEi`v0QKowuk3Na_n;h2L@^r4{IKRmLX+kPc!rV|B{ky^MVyt_YpUBa zUY|GOq+!%f7!17UKKqN&3(wX8Q((0~W%I{xQ^E0qFh`E7>nmGVFPFsyHXey}%zmP6aLGI9wHM9@ zu=NBc^mA`5R^f+F7TN#Qs>(AS8#_-%Kh7f${$#1`o-It0=Gcb}UxxP-3DdR5`uEyB z0@%X%P7@mmXm*)g#KP1Vd(<*P0&)cTW!!sn>X)W|iTmbf6i8>sF;2mOdm|#IyOCBv zS*w$%|a0L}OrNP9G&LcUk)%cha|fW;MrS5qqbve@d(mx|aE`J~cJ zh|JTUCPqBumb5m^6wyhrb-+uXBXwpGF(0%T1&CQ=_HwK)xV?>M;C3hL#N$BN#a1 zWzs^PnbHYt9RB!3J_FRN9-bf%Pl?w2SYU}_*!ijf8+S_&Um39lCzyNuQCrr#c1UDqz`_RCnBM`@qn+3AxvKPQ6_J1f;R}}*Gnak58dTE zqW3kdAQv!jy<|OhkZ|?rm!Ove4KRRR^C180lq8^y?iXjHL8YGgp9ePZbz;OTnVM1p ziNh!ogckLy+K7h?%}S-(bjIOU{P%>A_|Ia+$u@7xMdo{irzJ}haJ?pR{ootB)VOLc zuhF45@o4_z-d(CO``~X=F8UTSYQXnTI1kO1lVPcOh_1!dQ5vOO*#C8A(7WoNo2lFE z=uD^1Z@E4MdFVdEqqip=Izt}dT*{q^kKXQa=!>1G8y28k=m?+B@AzoRZcL+DpG<^;hZ3WrX z5fI#pZ(@>-2Lq?PjJkuu&MkHW;z_9-bG^Gmf$<5mscbvG1GPa{wt1>NR911$k1 zqp7~XMnd7G;eA6}wtamejk2W1GA?=O!TDSo9-UQz_OrT@ibMy!;NAZvur9Jz9oBC=I$4{AX&TJZIb>)zN|;@WzmG+N4HI9E%Lo%NYik&dCi++C!kWk zq)ADTr+i)&`y}U+ShmnoAHC-CVXO4Aed>r%0X;SQ4AE}nkf$z^U&JLy#!^l^=Ty94)s2gbhcfwFIu7qtT z9R>VtGOnMFq)#k5c#W_Pwy%|sTGxK>KKH(UnXi6z;R>(CBmI?JBv_f}eSP-0QVVcvI!p7Mc7zNP z8@k9QH~4`qlAuIXVWLu4r(Ug7r1;q2l_UkPb(8=z|I&j7ue^BUN@C$nXi$OQKMKYk@QbRS$Y@Yg9 z3cg6vX-(>xAdeJBzeVw*V~f^qY9mp;L@4hTmw>ROX<5Q?Y@n|KiMD;x!G8^zXgV1L z*F4RR0BXC}N3GISIURadc3XsbsOp4Iq;78L42iVbbtg%tjDODkaHom!4l^Ry`z4yf z>u_Z(D!Swc!nKn&@>!iy&Ubh$}L?8w8i&_@=*3gdL$##&2vV}YH87zuP z-}dgL=J2db1Dre}M$0W{91P-r8;=q39qym92Sc~cCiy3~)$9eGi{^c%xp=jneW&SO ziO&S*YQYBK?j7Y4(RWzk$sx5?TYwBS^isv`hwN6y@a=Y6y9yhQ@1to8zCQpYW)wSu z2N8DDNScB>Y0T)vfF-A+;tDh1W&49gG=+Mw5G?3*gFpg`wCQKlAbj*5aP5m1&v8J& zwGZrQHlvith?!`*W&_K*q|~yhZsY6nM(EJ?EOuBi`MI&)=If|&L$Jjus9|r{ng=%6 zf7!uoEk&frv?Q^1@`)5T6tR3|vu!;Ve8Ky#u+16H9aJP4&5ehUi@9 zkU`>IW#8Va-funm%@6&58CUZ3jRqdIqdc;~iNDn+uqCknm{Jw^&TFKiB;g>0hlYIq z(Wv?C4zwgv0cXKw;H=uMSw1CuQgmVku?=j*AWyUuzvd-+Rf(KX9^z5J_vM3q*U{=a zZ%aioEbEuSC%ij>r#uqQ&^xIk6+JGEcwe0LMin+b)K?x{xwR0CNmamJ5l(0FhNy zl7D}k@LoxW&~TT#(fjT5Q%FhK-jJ8Kxd z7uO-ob8=wm=#0o(Nr0ZqoLR7iH{S-y7Prqpo$}e)?k9p2 ztR-oXKJyLo_hnM$6%URQM617OvqVicA&KBv%BWqZFV2{|UqYCD!QwmzRRrTBwVW8L zbX{)hosnmo(+j(eXjSs&KoOouVMO;~o6($2?85_z@pTU?SJA z^%`_h{}M24oc8G)%W{}Xui3ZsYQPFwj{z#IzSVUgbN-dm<3VM)lE=PtL%Xr4yYJ)t@ z!_$HQ4*18$eWM!UD|moD1|5yn|)BiF$U`P%jj{ea_GW9BmgB*Y}y z{5%<^SME8OvwfEn4+X<&!BNk(zaJs&O~fKbYr9+q=~e!f$d>2H-}M7h_*arw^H`3W zo8~7XS0iBb(BhWdDFz0}2~C4`Uk4HW(sRE31>mD3{rxdPZ?QJ_7S?UB@#8_@1@{Br zsSC~Q8hXpfLR>!)S_zXi%`UEsypesJhWrw@_A>1jNGJY2O{y)Z48|5m0F=BGN@f1cWF^FF_G$ zQltn{ZFC8}Ljs~8A|N0jHS{V)dJjcJKzfrJdI&A_04ZmV_kQ19vu4)J{O+2+vR2m0 zIXP#)``LRx``Pb{{s5P#g;s5bQCp*YlhI0Jyb7}juV)&+ljO}*z#D9w*7^J$3n9Gv z?=*3s1aJ1!CGT)jC%BZ_0k%pFT>6)kgPUJvNk@fbk~<;tV8Gk_h&k;x<(`#Mnq?@6 zXr|hy$kj&Ddk|wRS8k1Ekx)8y~NfE96UV(0x7vlA`5DG(~@rw z%JRak=oLukBOaIYR!f7xocT|ICAvlI)zNmsA1mr8u-uyfcsI@u^VKRk&b;3Up^4~n2IIz_D9Z$<%CxX*Lv z)gCfnS6(!CYOM~0UkNg%Awnql7A{wMQtVjaX{e5IiI8~|5)lNXlV8*`(NO@N%XUUI z^Qf`q!!=ssL|m?sKoIaWZX%m=2bh1IR0WglfYXu~2)WLPalU43Zm%nfJoUvgLWE## z;yiht4)f!3)A@PS+Y6Ce6vT-@N(wSzh5i_a;hjh2BTPy=C|eQSvZh9q$Ige#ugVC|qk=!j zYn>rZaNn6nS+xWKa55#?|1@kxjtjhLOtum0zyGt9Zo<=e3bL8DWi+f6IDRdp;+JcT z7^W)R#GD6Kw2ow5Od}11n)3{gCi1G*C71TwWzJKQm#*JhW1=9l9h|9zB3i++o)RDt zsfqXl=3Y-3isLeVwPIlkpyXzmn)Ey>{dS2kC9yWSiDxzls2>ow-VM;SJfP0KeH;~g zvh>Z&ubQI@^KR-3pNd~}JYTb_8}QPEeFS_D=3F$hl&!$q^lS47%bRD9aoFvi>S>{l z{j0}e<0Hzq2fRUZ>?=~G28B@v0X(ZO>>q$PM_#x)e?tL$PW&BaEtYoh0;ye}n_h-H zE-aaz5c`eD^0l_6sc@5cWqMxNO59I`?PZae{g77!=JFIbV;nci@7xD}to!-e-r7CA z6P)eszveIaC(ri1@(W+{dpId7_JN9D?VH~W1ZLTLcXEt{3A*!hB%*9h2##VNXv1@r zU9|%L`O=1M7B}M#8gj7}0RxU7q5A=y)%uIT0#`H8)w`gUdqMG+Qe;QjY%Ef**N z(jE;Fzt6mb9)aGTSfH3kMRAoBQT*E`eicvbZwlojJec`P<_D>Pjy@-@AKcV{`fqKVKu&m)J;XqX27zx z@~%xIXz^QRC4zRH;4`v@IX>i=M{Q?-i|L>KUt2l=(`WVYRr*(rjdAC!I0qgT=4!{s zxmwmdFA43%xZw)c;)0P7{A$madftHho?=j_v7>v%Enit?ti?fKMuSxmv62b9GOmd2 z+7Ghi85S9Y@>iRTcEI;Z0m(ZDZ%iBE{A1r-?59dH z`i$#SHGJ{6pUi9}vOwLlgxrvcmIx#`^=Dm5f(}k-{UA{SEO%K`M}onniMR%1Z3+Y* zPaO1>e`1cVw?InGo7}uDf&u;rFR@vwvm^-B?Rr|KDQ)SladTJRYcs3r;GXak1-W|z z{e_=CF*NK4huIx1t1a2sUBY7_2O{__jFgg41Uw_>n~GoW(|I^aAqVfnGi(+oLexr} z#yL9AHAHeK{YmljYC`JB?)v!oopPBrdvPny6x!!igVdQ?pFC4eW^`5lt0;xHkCc?s z^bI2P8*RJ|bVxI}?$?tG&)b261BO`O=y4U}4s_^J+X+_z=#X^lCT&x^;QEIAv-RzL z`xrPPAV=^}(HtJ`YelDoDq#KUKQ?Rjo`LyWFDmDBqr*cpA6&rSn{~jpNFpm`*TDYrXwzkJuXR})5uTr zP$2DM(DydK7kc!w3yu)25SVp>_Gm*lx5v1>;3cOyb%UGQnfO(b4z|&2h+B1HXjVX~ z&ON=N`gU`3MDcz^&M>x%>%J&YU7UVYfsR|ha}z=6+;1^|b^G<7M#M1VB4z4FN~&Wg z=Idy<#mzom1ev?JPxlrBye^W^kcynC^0DqYE3BX6;)C{9BE~9_7yUW@RK^pgDp&!1 zLV5>w#Wu{~Hk6G_W;^6Ox}nW8lJb#NE0-P8qN7}k-5^?3c+f10A`O6)_gc zvaT19wnOjys42*ThFmg9=6?Z~e&qZh2nnci5NQ5M6!<=ms;Zl;6pTzLGuIY59_W^g z&Xv-}P35;kFOkv11roC^W2znqQi@&Q6r;H)I>IttJho*uL6&NocWXAG?ho>&c3_g2 zOum$nV%GH#EYHEJ`%-GAXd^?O--Oj8V=F(gz#S|wR5j^5D6w=pjO=}?7okI4h`>Mf z=nq#LQG=i!l?5CyDn7B62yA*S**D{LHd3VVt(Wx;gAmWL0(7CZozwgEd)O|7-9dS} z;cdzIQ$|GW^bVJ9qLs%@N!V;+o-UVqCwq<7bSAhFMWZ0c6;Vq~0Uxxm8drkQ^Wa5J zDVST3Le)7U?@$@Pk!;h;V@DjE$l7s;Yu`Z}CVLv9RCWD)*Uu&&5rLPdvhck(N?lnV zOVx?`DXxEZ0wMzo?$w$n*7g`J{Ot>3r4UKB4WIVQ%qoLdaDW4Cp!> zxT8_Ttje`AYe27&r^9aj9sJ-&C1ePjpRR0d;U?DY3MVW<9Nf^NrJ_&JnY!g@O#OtP z-_PQEetMY4a1EZ?dz+iE<$I1U5si00+i}h#vIO4l%j$vQiFx$<+iED7K3M*<^kLg% z2eDQsWL}8+8hW&)9QH*_BYF=*g*0>R3|vlNB{N&MA~uJ{X2fcD;wYBFJoBqJqz08s zi<~E#l+wI<&Kce_5d}xQS0C>ny80~)>-6|EH8i{&x1EL}=8{QQMM<0d4un7S2S-V& zGoR<6UTm4AoFXH=D~ZFc+N_1AFTw`55>vaK0(A1VjU4nGhO+LhhqE*NMjMqy$tRYz zkS2}lndgg$jVWH<(znE9aUQ~bQ%AMuE~DcTR_DF#8f&c~>(jZV{{2WhG@;>0g?Vpdw8Z_pe@_zN*8Qv=wbZkJJ*A z35oWXH=e=$J_A6B2WEaw+iF#|(^8t~n)hUr%5bH^inj@Gw6b+Lnet^B2-bw=&6rW& zXLpll4|)97#(?Yyh>SZjvrUmsJHrZLwkW)At%dPYvF`nncP>C;F*upO=1aO9qhm4cZ7()QdZ0EKDtgX#%*c+LipRGAk zKdoB4WNMyu$Eeb`~Tj@G!d=LP@q96s0;{ccCSOx^!Te1v-Ay z=^bsfUvhfj=Ea`=0btx|d6J^T+$>99Ai`ijwARKySQN08^u$WUo+^&U!WYeRwsZ@? z;{~doEaX#7d2l|!yKr8^642#F&JG?Ek;F5t$kB@3tIP%r@b- z+9F@-{WEg@l@X*WV*SeWV^6gC1NUA?W<2(NLEkCAU4JIxiCeh-fzR;J!Hks|HuC$d zovP`=oz28Uaq4TJCxB^Ra<{1KBc`?G&~vrha_@K?CjKxsr}aO#ni^Mk27u;$q1wxu znML2Mk5cPLn*&)U;A?5oE$11qTf5JHrvuY1`cBxT}a>HWyd|aVFVz- z;}X!v%J$i3e0SkusgZu+rOra&gNBD&$*bAtbDP93!Kh&-?8k_KJi4jFCC-bY*stqG z5*Dwi)wI172?I)`htk>eZT%qyBFF*aH6rehz8@K%-{{;JT3WaE#`L$Yi3e6bG@Tnb z8!z_kZD=&|kyc{aaz0IIj#fW(_VCmS^+E!Dp(xkHdpg)@v($0@yI1=1HMSk6vYH?at>J zY4gVPBhl^fbHK=m#MDIly0Lz4X_|DZ&t8hSfMeEN*WOg&Fy2RLrjjo1 z^fxQ=23m;eBFk}w=9A(#K*F;qY=i=qVvq(TWY#~c#UU)!U)605H5_uzFb2V#I2wE@ zd!G_FXt(+UU%WNjTin2n(7VrNg2$8%3b3VPZEjrF)Nn;dtmZ2`x%+z}c-nfNcBjRx2M2w!_kebj9+B}y0JZ5}SCy^1 zd_}3+f)iP_q_Z0+`%QY2LKt8SD|;w6kBYta>K9l|_kvMp0NRSs1&d;%s7f<>E_wm$}U%01P<|~&g zu{m(d^xN~450$!C!CZso=J`~0vA+q_&Q9fVlD{};smcnb_KHBDsf8h-Hq6jo!y z2+K_=YrGd{6hj(zUs}LJ$(lw!f9yL|dRJ{u?weJYgDro`s_ng+Qjj_7c6V3Et>J?!u||pE1*y-V`W7FzEJr8D~!Kv1DK(t1SP_$zh9ku<(rbp@2}XH zg|w&hqy2P9n~KM-4IAT*1y3W_Wi4VM1kW|e)c)nUCGXK<6)OZ@A`(ed&`!J4%J`ho zX}Gc3b-Kk6*U-E6(@`u_8cq1L+O*53D4AEw`RjB>#NFNy&@rrY;p4csE;NyC;g?Q$ zL&r&ucyv-LA5)Xs4&;b()>i=Xnyc&NFRJ^u>}S`1mm?S8$*pkvC4N@&iilwB~4F~M1aa~854r+!yH{e5yx%cdrUnh&VSd~8hZYU`lax;HVuUk>! zxPr>%lJ5D_-|^0wsuA@c8__!&^+)K9PL|iMVEu^lR?1aX$Z$unuEfLxfjoh4 z9k?tauMm#}OHP~>jaw4)=K}VXL*YH}zcm{(v@fGVp}fj$`cdh5OL5VG4*3+Ry7xLI zo?MD@u=AuoYV{G{9c+oT`TfIE)Nfg%vipJ#Zn(Y!tnvOD+6Z`();o~x4{J`qWbc)a zVl4CV(38;Nkzs7Y1|)wP)-YU>w7X~qJGQ&T%%-@tyi}-~JF9>7$Pfrr#if9jH^?lt!Y2L8=h2T?u@giC~TTt!rBX*)A zL{RV0L2YM#5;DueY>R~Jzcp`usNo3Y-aQn{j8sUi!2?Qyh2zXl8uGPI_MB&Gks^dR zwm>x@;C7$K97sNG{fVQBCv~}tAcYA^-7$9_xLz*;k-?a|?3`;5(C~`({|ZGoW-@N7 zI%VqU>T1yR4xIZa7@(@Ch0Q*))=cb)7kXNh2kz_`Lun7?fFAJ4rJ5BswU3P=0~Mnm z9c+9RK|hFKk|MI%iCj~NsWI8HDjJ2py3i6*wxFF-JD61M_+*1_J7=*|Um^{DgNT#f z)R_83V8YJ!w_#Sf>GXOD&e^YujdOpN5QY!Jsb^3BQcm(Gb^6=@MTqmngD?>Q>2sty zRpBY`3G?JVw+S2GzSwei1nJE5CDV+h;lp+rf~DkHV=zd`{Ab;pgr`TF_=JTj z4hJuj#+zOt{OYvar&?RdSoX5vwfkv>CJw^rW#3o_q(@U@(zUY5mXlcz{k~V+w-8%f z(d_N$4NLc}21bv?b6u~8Zz;oXt9Vi_XFAOnbO$tXcqk$b?9BS46_Tqqw92%3xkCYb z^=79uH!L5__ZnY);u;Je$iH=HUDglXcwI}bEJL_Rt3BE?pmgH#`@%76;mzBs1RHiY zjB-vMMUmu=>^LJ+@64V^;X@!DPT*FH~bV&zsdc<&V$uAOsE2Q58I5 zmK@q=rOO2LVdk z0%TK=pZN5D^0uQ$a zm}s}>D#L>Pees7X^$+Bq((H+sj$cuR;@_W3qKZ-*J6P?Tw!7UikpBp}8AZZWu#Q&a zuKF!tGfN?XTXDJ>)9aQC8Fq0s(Sxm)CEPAdPL1`#K0n^sS3MuP1bY&vBglfa}Kv!Uy)1-bk$SKE8BMf&g6a~WxO?QMW;&(c1r>;9_y)w=UdIys_O zh>4Cz#-;Np(od0-P}TFbg}%wis)AN&3aa>xOi>YHS?9cY#pe>-px|1Qgl;BS9mZ|L zre^I?%S|JN9@yB0!h*5enm z_NVmD`kvc`ynfojbA_rA!?$P`_Fn(8n8{O<>Q<}xoZ@1^%dTQ1Y@B1ZVX2{JSXz#j zX(6~$DoQL#`h9X%dS3&gOy5Dno~Q5mOpQkPcHW~|IW`G9AS!e}H3+=xkTqKxwjVni z-QuRp$>s0C%F%wuV$QLm+knOX8|o^W3p<(Ft%SLudp7_WDH}a#F)R3aS1r^G_ppXk z-}uaXeY%8(djOr);3NKTEkL5S4a4SQJ|}Ed>R~f&l(#N#BvK(IN(;@kuUS89m)~5b3%O^#;KY$l5s@1Q|?&PQax5gbwU} z@Fr}yfL$rIsHaB%*|FK)oCo$;Da(m}vS-)YN>z^Nfn3I4qmw{({v*Z5D?JH(g^Qv_ zMK`E>dfg2rNh`I`p=En_t_$&@{QCC;jGG;~JU$soHow1b57J|^vYH}kO3_N&%8qHh z{q7gsmxH28XS*WGTGaO0NNpt=rh4DbFMk08bC+lohz4ICQ+8!LG#qtHuE9f3L;Py8 zUR_%B-hg!N`?CruO`aP9`M$rXz=pwAVbBkP_mHQm=Gv%S#JueqF{OE%$ zr|Ydl)81~rfElUs4j^?Z^`ozhtM(mKeKraFJQ`=;|hrr^)&zWyz( z20m?Y&Z)xQq9DdIcEbNr6urGoW*f})?d8%ch~7C@&obe9qAs(lRxe%M-N zZOMBzI0Q^C({`wkehy{NxUG4#B*lBiaq=%#o9FAlN6=ZhyLIqiB3pUeI?@sY)5Gvy7k71SM2hS$f*1%Cv%&-(yVISj5LOR5k1>PW`}N$0 zeIw=~$WNE*{fmV2Az`F><-fhP=&%TxM{qfi{6%hKNRHHGf-l4Wu@0#W0W3~G<@v)< z2|7y-euc0(s})o$0=s}N^VhQdT(xxUv@7n=wFMqFCn;*wC4cp%=1TdSY+mGjR*?kv zz@b-0+CbC1_e6xkL9%$0(Oe?0Yv-OCGEgg|?yY6b*0i@?b7VUHh6{G`J;gvC<;gmGWCx>DLGwp*VT&hc4HTJ+0GUy+ME4m}@nD z(L=8gtr`Mysh5V`)M|Y9*@lkuZNiW(XT!UNh|F846cIvxA3TI?-jI6gjkv=?Ow>fw z$GC09v(?S!4zw7O!Sf;x$h{QIn6ai;Kgu`&}^5Bu{BCR5aJ(q zd_6Ef0ewk~v41^|>XAc|`le7(qd>5pOH< zKR4pRx+oU`sALQFX9<`G-wZiS-qmaPHuiNV6Jl;gL6s9n!T{QTbVu_Uv8JMBP zd`i}5JRRQPty5cvH19lim|gA8%YwXq4+*2sgTdM@Q;kcQf*QLpX7O(5y2AIf@<@1AGbx<&zr9^;T};u(GpNF(fnX)rs-kqi#=o(V3A!IK2oQiC03 zm{mT}04tae%Jq6i&N>UggVIY0!WNUuHp*-JsfOCUcZLM(vq;XNHN!_Q$C5ogSZaA= zcox1F*bDIPZ4CesC6g?ylqTXVOz`)XBE(T~cg~Cd#dm&sUT0Vl9|9n<|m| z$4;B&r3K(7Z)rdI^pG0y6u|AM88<2*deO5I^E-EYE2WMTf^*s6?0)q;nyye4bKe6{ zly;3Ku*`bOJzLOfzAD?O-Yltryv|Qb01Q#^w$n@|f9f=Z=UZ zWZabO9l;<6sY`H_HpeB(RnHpYSD}O z&;yA^lgon;_Q;2og3O*J4A-S8k>Ymx*EWM;RM|Pg;!ld%Rs2>-Ri8uM%WT;hgsAa; zyO8n3T}BFQH)s7hyRV(B?>czw2jDj(xUOpB=e)QrevraBYqzux|7bniU-d^0ah3iG z{K)qe=XGZRah)mouZKMPt=Q+U7k4V%n4)FnI<|R@mKUNVp|HrF!e4d?<*#IXq$$ER`TDs-I7rF%hTyFm!mI6e^*Qdji8D)XC7wI# zO;$hVm8;$?%3Glw65Ad?hg+!x)tNKL3xDaoLZ<)9_F1XiHly7tDAN!C4tkxz0v|1Z zCu#P|v)};p@&TW566lzuAq;xh89`K4yzZB&6%l9ad-YA{o;9_o;W2IN#Qy3?9Ut@i z;<4;Bf=%f#ugpvF+U!EGjU5nB2YMx03wNwXQ*ZbVDzV`S6C4dh8IA1W)NZ4)R=!4P zi4G)ykK#7+WWJF|jIY0l+3lOS!stAWLGgpWNb^ZI_4E?+1@at;Ana5kC!V2HvA(b^ zM1k!@AE$H9;+Jij6`Jm_FjKD@F?=`Sn=r6 z4$h~rX*sxp9t3)3kIUSSUyK$SQF}Z6YF$Wz4CH!XIS2MBU$>T4t;OWuQ(8%pRH;AI z8F!LIKjsuaV#nX>UmzyCz0!s0zfSYy1N!(bSi*jC53n9voOIJ9#eWYZ=y2di-EZhl zf6$RddiCL4c|i{T>rb~0(R%jpAh`!W|NN@<)w$Wg^dE{_ado2o?eB>XTfa$bq>C?D zT`%n44Kr9WILYhrMhqeyr44FLbL~g+wC}mK*_;MyaR}JvNPI&-@Mg1E$|0sa{Q$G@ zzkDb}f>@+AyuY$3rl~z)oclfOTZY8PH{OKDvwmlr>zglcE&O~jrtf8dA9gHw(8IG{ zk9Co2G?W`FF}!8&3CU18vsUO+_}mCS@2H=N{K9dDwAVcP($|Z0vxJl=HzAuSwLPU0 z*J8Q`<9Z%KP16Uu-`j+%{nEu?$=XnM?tc~5Two+?skRVbijbUF*t{msh)45I1tQzL zGJ61Rb3Vc7cS!f2-NaufxGL}trBSGk!^%jhncX}`NG@F+Zxw^F!b08pHk)U@|Jr~IwB*$cfWpRdknY(o|FP)p6VtFNjxX{M3=CIvokw&R` z4+Xa^mr13}2(Zdf-YpN8 zyln&v(oWrrr6!5neYX$sE5+;uE$BYsD{cKkUKRf!K3;A}Sug4HE9U@a*+J?Q+20wN zOG}Y$^~;#p31-q_O%rdeVxi74l`N8;fL4g6!JlE@64{)9M z?gImsTcSXsd`cfJ-$iRFburs-C0cx1A!;8Daur zh4Ux@312ehKX)O@NKzE{f;~Yln69*k(a}EoUXb(I{&Zr2KXVV`w&0@!w|J8HXszzV zYSJ9%@B@1Z^q)Fh)W+<@%FkahGs3GLFv`p8Cy(t#zTnwUg{;wnqh5!r^irzetj9adC_V+UOqY9-$6Z(^!lq+ zwQ$(`1ym~!dyb%Dc*=kAcH%N+G_{{(5;Gkfd5R|A-OsB!f63*Z&GW>^N?K!%OXGp| zr$2&A4})gD#;6^w2)(^P6b#Mi3sI5I4Xdsa{MtJg<$u7}kpGOCqfho1R#DCr8X{NfeWhagUaM`7aXFe4*)<+yMqQ;%zM;c?>yU_c+ zw5-~&T}i>Nskkbh^U1J|7OX+Bt^TLqK(BV?L!Jb`JM#$RmS?c#u+XE`pGh0QFYHL;u}rx4bgXKV#dk^S@24Q^!rs0C?NP!l%io80 z6Zh>W(&#wRZlcUPit)?cAFdF|UlN=!`;mVJZ%&l^T+{t=V^@1@>4f%~E&RbE5;5^^ z0X6f<@2GwP%hGaD#0jQT2zD<19D9vhjxw^A4(RfGIwPPK@S$h@AyTuUgL-iN$1w9> zS9&3>z(Yc!AO^!vTIT-5W&#PZR|(vj?P5q~?+<&fDC;s{HQmB?Ah^X~I7)y~&0C11 z>J9i87BSa!^6}Vhm}1_UuB)&37o_RzIJT4_KWw0g#E~8QSuX=_{BA^9KOYQ@#G~fq~;TzuYBqE$;4&QEl%{ zy;5o8_<^r7ANlOv5YPA(6KP<*M{W6lntMIwFuQqL?wHr+#-b~~CNG27J;JH4Ine|rZs?5mAT%qUzwEKqSb|LNL(_Q6X zHVk18OjR6LQf-@d@ii?SBx7BZ2)dnG-Cjyh7X|$+AyY>*7)tR$K3aq1X0SEz0b<* z`a-O0;(zo`$qB;GK84ZfWVVUlf*RB_kE;MP+0vK%%xTnS8mZ zZxE+k_QIaV{aT0qN+92s_Kgm`X)&xIuWXLwa@dT=bi=DKM*@Fyu0NB{@4i#J-V%X| z#?XH`%?R<#{i+v*R7W()N*pH(C*4U2RW{|fyLLv zL1zJBiAr<{kojyz_p+MQy|sJEK8+!#k71Kq#hyAN9at?QHtRv_oG%;*I!#_>6T+Hn zL!Mg}ZBnxy27Aer8tFL9Opi(bV=Zl}0R^TgdjnLF#R9?f4z^wS6LeBy_9fa3AZ zU_C*iOwAK1t2oy+qdP%wY&4!sZ|_QeMe4_D+jZ4!7QTQP&_w+TCi7y!Vg_ z{rtmB4xN`-X&!|4?mLtDSJQdk?(`8Ov!7ePsc=^Ii+@l^uUf2Mt=Q)-NYoCvcq_Sj z4{a3ac352HcB?~|In{r>(7gME1s}b=I)3(+Wu;fMzvlfZ)QmUba9ijcND+n{Y;ku| z(`7q-5A_V42M99|zsWtLq)^zLi>`dKOqO8ni_?zkO4-979Hn7(RYjlghw7gQ&mSz( z>qKJ{6}ku0!c1(&k~?}u2E3y%a<`e^}wm)T*?9)cDsd)?{D z>$n8|EJ?=|gxx%@9i1>Zq-NwwNL*CfA3hRjbd(Y7(8qf-Msqdymw}NLWy09a}qrlxGB8DzLxlhu&Y$!`8ETMKm4xL zK%MD;IDzqr{rQ~lIed&-dSJF}K(TXy=|%&HP~qtp`kfI>%hJR|G}{VZz*k(UiWTzo zcl90E$U(nL@XOoWdq05V{B-a4@I8Nn>&`I&B5qzLmgy28JJtACwXh;YOr-Q#I_^Ul zj`c8=cfJM0@0F@Av=bOIeur0qQKkXamhqRXx9zC3xseQfnU)uc!eq?C3Xw++$j4Hpcq;>hKl;XpUeMU-q zn#+#8a^ECCHhp5hT}9e@KJPWZuHc*11kKF3Ex`%7gd#52tBR6`tUNrXzZpA9enRtK zp0N6|2trDs=vP1A0((lNbd2bSmcj9)uo+FxfchlNVrV|zbb%Kw zp14dSH$!v5U)b)9+*6ux(E*oaeXpZ>+2NGnn2Y{T7o2;&?9Gypis@zAL)MwBhf`l( zdo%L>DjzkOC^sZ`aU=-q3g0#(mpN`oez3JxPht0MP=zga$5E!#Iz{_33i|b4ZbhJx zR3=Cy(+!B#<3eX{D>wQL=*=|nD4Vkf8(Gj< zy-~W9neC!yxgQOLO>^by@8HSJ;bAmA7LO;-T<_T#_%?WJN>9}ufBk}SXsRafb8H!5 zZd>>LNoh%0savSK9g8{>K$$)#7KKCh$l|#$0!^ zc(YQ}45P#s(eaH?G0|PV4ZW#f3mN+7M5vVk)0$Z1%UfEWWi1~pmxAHF^}45l-j+Di z;^k#e1&DRo3aA_p8s;<^AfGm2&VUx)uJhWWomhh3#%CiAOQNyUyzop)MbmnvL2-3Y zd5|J4Ix&d{W~U@y7RUy{P`l@)Q)Nc|9{Q1MH^slA;JG0Q`Z0`S)qqLdgfQ-hAH4)C|e+_nP@bh{pW~rn!G20F#^)_dL z?B{#^XV-Kg>Jdnn0mR%h3bGH6jgVs93T?_Ji(jmAXwH?D%%3Veur1hYb$T{zwP=aK za$%SWoYZLJbbOAfj9xVQ3OFC)#yC6Ol<%1BafB7DFFMp=j?Q^PEnklmikSwR+6+3| z!`_z_XL6GW(f94&kHy+*HYr%2VWxz~oM#hW7FGb$a1MHMucQZ9(yEh_M4@KOg%>I3 znfK~FR`3u0!oBV6Th)j{oALcfn7XYFRQS^6iY`=4-&ebdTy6hj4ZxH&GGq+)-b za<6ThZS3HVaKn$cEz7-TX*ncaX)8mtqq?dWPfP^eicL;Pnl{=R(+ejkvX0{kL0n!d z{ow~eG$^_6`x?-WmD`)&7=z|DyGqWKk|_FmjZ_- zKPo66l24@#tol*?)|mQn{_j)Y)#X#3u;dL1^W@zcY;;TsH9RTbs|x58=IEmq$nA@I z%#>ic;YKYoKKO|J5xeX?@#1>Oo+Lp5UGS%aG*Z^GY3|Lh1#?iHV~G1`!`^awh=(?& z*x+~LsNASkYfMyb<-U{?RqSh~v*v8uux@pD9s9@6@84Pg&tOB^9~|TCZvm>@71MY; zXiX7Tx2p?8C90Ft_Fs_fPcT zXwUilr^`^~R~8-C%tCS5|KX3liHd*y(U%lj;@8MIwRa| z>QAM&exI4JMtYEG#CN{?_fh|O#Kid!&t()-vEP);~_&yF|U6#bony3OvSb zSx+@M(uk={-FvKfDM8(l#aB)_H1knAuz3`xIj|H}xSEmnW-=|Y6|f^~V>s^&YhJ%+ z=Pptkrf%&c=%O@!qU!LQi46SKy{j-&pETX9Qnui+U!6E4pwMw2Hm5KcMc41v8^3wr zYuWDltOXT}a`nB)b%tp~j`m=4`JLVY=y0BPO2K-2S>aTB*{yhyoC!nO z^ed?d{w*Q>PY!7w;sbYOZcKDR3h3j!+*7WEPVs%-3i7_-MW@8nj=R%jbD^JCevtd! z6jiMXuY7^1p2ACBN=)Wb=nGl&o%rZk{M!qP5+2Nyd)GcQrx{#raYwq)ZUh8f`)vDb zJBszp(fuIYbGVN-#ZFhYq;|_nUxpQ|v}-EIO^M$qbci;iiJ{0-)NR>O;6(Sr99`(2 z(9nq<4sz3t+L1O|I;L1~eb9B=H9bz31r-Ulll!+cEet%?TuYC@)4{D9 zt1Z0e@1B|STkeY>)naFDMLW>6Xa?fA^NqjC-Ak9qy>~PVEfciicix2>Y&)A2Z9=@M ztx^av#g7xxK|%d#%4*9UKAYalg*NfQ8F6*EIzvr0nEpAlSX zad&!gy>`=5+6@KDft-n#-x((Nj)$8y%~;|!rLP)qUy^<^n_`K)8|ro{m!9Zenn+E? zOv&ATOhE@~JsmrvF;D~ z#boG2*HQy1U;VhVLvH)Hea(Z(@DuL+aOS!jUFnK$dBY4hG+;BZxR?65!lLJE^*oA$ zv%k`-*A-m)!JN4)<-SIv7gxFW6k8q7ZZ{EaxreqQdOzA(%Gv4a-gew}p9}+T2yBsL zLZCW}W%an-u5B6p_YlHPT>2ONTRVYxMWv@MimtoA=3aHf!3%aR;;d!IKdTW&A_c?? zj^>y=#gg9#0C||H8_7}_?yV>Hk=MZ|WPNXM2+rFN&9ipvTt4On`Dq2UspTm4nfFDm zDTb33OLBi16w-Uyk;`9i+ej)qm9dRFk?J+0|56AUXoc_0Am zL|%9nzTG4{81l49Lsb9Wv{3V|of5zQgIWNhm=i{h!r99~13)LMBwdu%EZlOZXx>4t$dD*rxL->(ceF$5|=%4UHTH-m6k(~cw zB&L5E32~Ci;#Bu)xqK8wCWp!4*|jT=?`B*kuegchHxu(|ERnLIb8sNyD{0vJc@_iv z)}K8~QzAxu{pgoTvVbC}($Q@6+RUlx!(}QGFSi+tSY?WcDMUDM`M;J@1fV?!a#lpN z?!7cZv{nkQZ@@YN7trGru5V5Q&r1g;HxpUOQ1WKP-2o9$Z}~z}RykQYOgb3=C~w5IAKDSb1VH9~{jD6z!vtvjEtU1kO+ z&HhjaDU_GBdd?x+{Cv=N0+@q5DZzR+#BmnmM!evGA>}NZM>YCmg6V%1v)(n$+nh&s zzK_V$7dH-)|8Sc^j^SI#waH*R+JPhr{M^T#-_HY_S-qQzS~^_h&-Ai?3={r^FL^Yu z+Vn8Qu;G=+Ak!BU5?k)(p9d*LX@(h|^UGUc@5Nc#U$lo3sJ>xutaiN}Vb3-j6rt;1 zgF@;+t8apa6+a{nggRSWKm9w-JMG*QD~4LTJyq^1q3z@MKiGTkfTq%|Z&Zq6qbMRO zC3XY^96{*>MMXqFMM0#*Mp2O7K{nVB1)|cVMnyygK|y*62ofb!Q91;Op+iV$2_)I~ ziH>K+IXdOM+oABn>eUr-JB>YIV-SlWV7zU#9Ip{qD@r z>`?uPqS@e-X`Z{!O^;rcpp$T2<>}U@KEIw*9q-2EIjBvP2k#sC+am_DKHq(S&($tm zz9?v6x}rme{yDEBi4#NvE86zi-Cdotz*V=_TelY-8ow9m#6NSaJriqEW@^(q?vUGr z4Sskz71aEy>e00iP^)E}{4Ji`#viG?)aFr_t5e$mVyozu$Mtz?mWBI?ZDNIJQNFd3 zTU(F3jaCzw787@kuE0J0wU#ag+99^mA97vT3sf2#AI``F7P9E9%5iK0)ve0Kt$*ODAKhCbxK4RE8YzLYaK!0%hT z$J<2kTHl6};@ase5tP!)Tz3-C60=+Sd!N5Z`cQDBdx5Y1U2LA%p$#0P*Q1Na5f|Kg z78Lr*&Qkp{u%?Fh0}6eSj&aLb7RSbXGK?CpY48t=oZN(a*Tsz0sPjK0YrfAQ&Tvzh z7AC#rprWq=#-S6d*N1X+x{@E*aD^*cY}?&aH$O+^hnUi>IY4P|0h=uA|FAn;9_;?; zWse@H-nlu3Qj2)>iQQZ;j_7QdB%$A;H+ExFZv)X;Wqk=4QXP1a3)j1ZpVzkpKB6IL zlO1SRk+<+oA#2I-uVKS$qZ=4GG7S)fe@3DX`Vb5n%AM4oErzdj<`KA6rk-wkdV=V! z;7-+@7$W0s_F*DlgWs6H*lfQ;PrM}}G{s_zK{pol`Xnz8wI%=?C6k1OEe>7J9eLX; zy!B|y3Ec~QXHH0xrh3(Ec1AomQor}yNOdP!e}VQ5t^~e!y9ya(%i}}0m5+P9H|S1e zdb9KX)fY5t5yB3+rS0Q4O5$n7 z?empePPr=3xo28acb)PL)yUMA_a(>x#S6rZV``hObL9Cu-T2JernUYuhP-ft_nIeo z7H2<+yyLX+X~eZ@#x4&tjbhbE-x`GVSoK97(k84#-@OH~%NZTH7dD+>_^c3PHsHeZ z-MC)#24J!ACOD?32IaBgVLpbQzm4P4Jit^&3O_lcvzP6X9dYV9?+oUSK(dF+?psZurp+t+n?pYQm zQ#&vevww^3sze@<4!}0`V4iW~@L2D5+U1aicz=VmX~o09`cQF$BL^t=7MiWqM-^~U zCn~X-67{sq&^GOhP2{M$g>GqyLp1bIscgh>=~DL#V#L#VLpX7U#nVfN_d!#d_~-?% z`CmU@GI7I0#%iUn=7j_GXIDh@a|nn(z1W9c=&S1!DR8)!yY{Nk=rLZ@W19!ZI!?Ui zDfM|dV}9Cu@f#kg&Z`eP_DtU-FL9JBDXQY{^?AB2$3og9b;pa2a7~#Yz9$@>FF3&% z7$^W;SGb@A8jsQpP+TyEEz!2I0CQPJbwN{@9I6C<01;TZH)lfPdZggn!qSH>A;h(# zP@XZiWS2o9z5X!cieu3qwzPL!nI4ANMJ@9pQ)jmY(5Rr^U53 z$-w=k5KoT2^9k&SgiQ**A4a54ynVQ<(73#d`P;upi;A_9v^#j9J9jv^ZhV|~q8IUey}@5fK9d+72$RoXFhqhe2crdP;5d+U`r{LWYWLW!vS z+f-1Q;q{+df0ExQo=2)7iPIeXhpJXL_?Bb*^rTN0@rdc#3nGGc(wjaFmR8aPd_8QF zNQcLKe1N#GXdLH77Y_toF0yiQ2j0SNl{n8j4lpuk>9>(VHHa}plja@|AlnBL_nCA+ zQ3i9C5Zx$DcWqsY3)1?)v6~mgjYAUFbzZ-h`{vbDgkFDJ4#t%UTgHx0Sx1kQ&wwlZO9;1hddoorC$P432?s$r@x;rt5cou z>R;x(NdoWm24n5T%bMvd<3<3}$Cm(q?E%;IWm^g~a;b!}<}S@W zt`BVPu1W}tEaj&q370qEl*>3c!%FspriMGor*lS6_j0Bh)g=advve4qnjS4e`59Dvi%+P}d%*AgNG@oG2 zzJY^ldyj!$)+64^;yb-Q$?SWpOOkqb4fR^r`&i&9Ywiv10#|ta-CttdUVczp@Sf{a zua9&s*ZPjh;z%TC87VjIiaK`#$){Ajae3dgUzJ-+H>>qwQ`AzLrlrrCO1#EGSN!7a zmaZVLJ*U^EF69f*1B(tF+VA*u@`kTm-E*yCIf(Pbn+$%acCwi- ztt0#T2P?g<)mx+64sUL9*nd34^qJBfQUCmIxR(1eNn}HRfd`?a<}QY3gS}(Za-PUd z>s@W2ob6{jG%(g0`i)JCMYlSdd4*i&@M>&YZm})eLVj^{S$<}JW%H~TZPzVsd#SUk zxqMakH6nVe?(e;dPcn2XPSt9gZ40xRs5t)|a^RZg5fRqWD+mJt8bzJJ`_Pq7@(mZX@?oA+PEC9gVl#g4JPb)MW z2+fbmPp^uFRn-;7bYfI(*K~Z$m6){iLBwBfT{7x}4)%=XOF0sHN+GvCWyGMnMeylZ zVEQ$|s%=JB+$TQ!4Fpm{{F!!X*024Cj!fo?a7&Ju@73BcZS-7X;ReqKyoVno-L@US zm$WN*$Wp9bg1b}e#Gt+2(^KkHrL;HdWBCDx=$gx-$DGdRp6BS`98p^Hm?!YiqD5L% z%y|wHXPMR!UpY1Yk+2o5iq4oZ|H}1o!d-Bo?%G482qFt6t#GKUM3F z83(`cGVUZj@kupYaMMAqiv=iM)CBmtARhEDSEIc_T+V}U(_uJ3q4aQqh$3y z3v4_u!X#rP87qqfgO>mDS!2a(=Y`RfZ`BzM{ z4oQ9-Vr8_~sP+sv7fd}p8k&vtJIcx8VTz~^>_1gFfe;^SyVb^eTz5a&;t`T%rcYdy zofy<$(HG0HlaaGa29F2uRJdTy!jXfr2d>{f)OLG8 zU1y7GS|b`@lA;nHN}2<;Qek!TQK zM92!2*0<#A)@Wi(IzYOKaQ0?H?_*2j%?nnEo!adf#}74YrR;vkl5~AbPkMH2p?yv% z3L3fH@%rqgl?dc@`{In{Vn?If{KlNDigUtNr!P4l6()L)WZOMd5E+{IUT{%hdc`v7 z@F%s6c1xkoSGESv9nThUd81B_@iv{Pf%L_zh8}kFCJm$t-fF-Od6YBqz)xcGH0hkR zkO+#y2j^sepnmen?bx@7#Z&>K;L2uIW?>8U`z(bNkHuofSvxMZ=Zhc%r^kKDORKir zg+{l;@YiB9Ln2d~M_O~=C^A$NY?`d~Ym%$u1CL$T+G!)4lUDhjm0RN!FY(6B`OL`K ziH~tbq8qt4rxm>9?l6?7ySQsbjUXBDx9~Uu`EfzI%Hsus^$c}4uyez0+2qF@iOKnU zir=^Q!Jw7nsX_9A<9TP5TZ?@7CrKA!4-cp3IaIqoR;IR# z`1nZRtkjW^bF?Afgjc>LO_^Bzl`WX(J_!$=g-yMIQ-w21;E}-WrG$Xm_p=-CPWCXk zB37Nc+&`&llKVRgFv-{yS;LJY81N`o@C-i-8y`%O}HzuiCGw=o1E01bSU2q zk>-A8BFz z!x|JkSg>Vc@V30oyNcRpClB-$_4} z)a-{w47pJzOU|LjHn22S5zjms+D(3RF>nN)34|%ru%;iY1is8n_w(GK^8DEItMC{P zP%D<0!Rw*(Bxo&g^`m$Hq9k*(4`buk`jgrSTlTM$OJc8=zdNm-q&@B!4+E%`3>olC9H@n3%E+wBssrb6G!#gkmGRUDpcvYUrE4yy|QwURHWo!7ZL!YfS6`2eC7VS z8s!fh6JOgD*?&k_UxQGGop@Ir=h2AH2}|(xau~v-)XE&-O_MV@Lh33!r{tdi`$a8c zx9?bRL8K(h=JPF+cpK^IGJ;87eqYOJWzlyCkn0)8c@$psWw)21(MpF{?8pJ?Bt{U~ zT|mCRVsny?JPcQN?cea8?y}PJlNuP1L8!H0 zCuj@1v4v`^hm*@W@Z;=ZlD_B#5?$;Gh=E=wV+6nkDY0+4(h`1fJN2rv57*dH%Z9Th zI-W`kwsxNpkKB5VD{zot64=-7vl@QM@1v68>jE0Q(8}m)Sn-vPFn;bCw zN8?fdcsVBvhtvi0L=5VuaA2CJF?&^Rt*O4XfT1W-w65D9zW7K%8c57;;^H+fR!Y!^ zRDlvGvp!`7A1!@r<&63_8yCRU z2htBHbzx(+RWIfE$tvu8E^z$Y$XcntF|+iKT0B=q@Mr{`9B?uX%y)%^eu)tR^Ky54 z?|Q=lf7*A!Xz|Zh;pp`T)L$(SXwSblRNI#TwLW!%^M}KCo5Cy=z^vat>Bs(y%eQnv zj7)AYNp{sGNR7ALSqQ*S%FX)J#lNZbq0GHMTZLdL?ucI>9$5JoQ+WPuax7SdL`jZ6 zot*KzAwEC4oC79ewtyMM$u_gZ3+p3O*q!M6gRS=ePOW2vfZ%?(3YNz=03-c6LFoA3 z7)1QXRamPBMj-$FImUmydu!>yz*cFz zBGF{U&w%E;6?F@XE8lXd6eo(+0GA5%RK_rGqs^Kk$3@f-7S|6dIE^AP{nKX@?j z(a(GIa~Iamd-Q)YSMx_M`MgK}KlAA4A$}g>=aV)+`k|Tmq|Lv6-)TN+!yfzme{0fa z9^&UA{(lw3$M%gO)zz>1nNk(STt0WRr+H&D^-4a0g3p?z`U7kV2vjG7TUJpIieXAI zL0Y8SAQ?(Ot7@ST3ewTI`op49D3DgH6>g(Easu@(WT;io5qb}(z!f+9)mf|pXfUW2 z2(Mkc*3~=SYN9b%``NMU&VJUh{wd&>u6C@7`@rU0!4FJBg@Y5pt(_DE11p7jKymM_ zd!dae;A)~1qm_;qvwt{9E}OWY*bim3Gu zBuJ}zkf0gCulkW3ENHi@3%auKO2hkq-7}6|Fbun^bhwyZFmz}nUMGGA_lyfJKSN~? zRr1Xgmt(-gMa$aLNO3t(nmPELjC}{THr&}G^=Wanf*@sgwGFO0r2fF}X9t6y?t8fN zX!LG(p`&Lu-`luyAjz(E@x!y5cj?63%C>EoLDr62TMQW4#$(5eYY0rH_z<(IZx>OS zJj4*k$)6K7cWJu0fP!6dP~(XR2lx@$iK}Y&X^1klgA6zjYDsRV#DI20sS#mid{ z4ne)`Lyf}m%+lstp~*q8Soe6p0{2b$!g0sDOF7Hor8c5E`~7K{Lp)K>)@w4-{VVPs z2dAI8I!1qYT6-KX0G~U^69l8^6-kzz?E_s%+s~I2p~{(8LShDju`U{H%;D)DN z8->6fgzA*;-C96FM)1iR?(wIgI6^i(1E&oKx^{kdIRZ)`i;7fnMl`xFgf zVGh%xF+$~a>te<1N5l&~kTy+Cg%^luosik%D?oId>$H!pSkFrSP--a!mPY!4(`F%X zT1w39$#&7{!n(N2jr1rJxyH1fqCmlJ z@)eK20oFZasqC>oTlYVzg^k}@uv!D_DR9KBsD(K5sdjh~ic&~@Y+Yp6TMZ96zmtSN4O&_Dq8sopZIDVt5N^7|v=sm8sVK3N3Z}3F~Z0p_j`!X_bVnERSooi46i^ zb&i(q|I^j^#Rlql`5?YOa&6p)n`2JzK*@ zT^fXpPNvz7r&d=I)ZNPFWNmQk00d>7)0l|P=+pJct<{U#Zt}*1WpK0`WpfT&9ye+L z;D^AW_*4Smq&4onC_p)7HOJfD0ByY8Mn>%bp%2feyj< zXu_?{a=#?c3a)2OdzA1FE)jr-TAX(B0JG!cZ-0~ktTI7N!Ue2*-&l#v;F7w{ga0~B z%wI@B9&k^kV8{%ViZWx_$OosMWa>)rZ{5nO#qTemzyWJ1f_dPcF0p-&sNPa&(jAO`|QCNZufhXvx$XU4AyZx9@dozgdUo!=rfL6fOCcRxh-7a z8zOgX@&gk$dmwvc`)B~TE#m$PBJUI1{se@#sQEy$586PfVaeQ*$ZsaWS}WTR|q_k#h1G$ z7~Hr5-M|D7npIuX$9oh0CI4zUJRr?tw2D+l_n93@nyr>TjvY-L6@rtoeElP2gDJ&LvA+71QvPaWDH74M-+@&9O;}%}?@vPxEXqStFoXad0FM~g ztL+$CExF_|TZ;Lmvsfer+3RtK2KAXQtDHs7v_$8?4!IPl(ivYZ%@6etlA@s;ot6PF z(`rUv5iIIGA!%9v=q+i`7Bcbk8{xGK;}tjM^Bf74zYCSgc*yiYy-%al7sRl}-^&-D zlFc8!<=o6sumbkEO{7b*-AtRVl@UNF5nW1=-@FkW;Ds&;J@?H?{qFRwS7z6M4-GU7 zB9#KrI`6JLr4>HzC~&y=}ppPPh#3DAzpp5N52#41H$Zt zhU@3pN-ZOwBVG*~a1pzVP+5g%riCLV)LojK>st_UGsQ5;D#3N81to{lfP0*)Huyvk zI`f`}Z_(YWc+%;59%*#pZG4ZPgeCTq_~2Hr@;8C5!(uF3j}=j`M9*Cix&41Ay0G4)g58^REGjC30|e!a;^`r0vcS zn#0CZo?9uXlWFf2dayw@-O=UHnY^tHH{sStL0|1D86LOAU%+9DQZ*(IFcGZ0kttPt zwkp}U*m>|SdmRjTnE3SEe9?RY-dba%hiq;F-2Knbe6TO8BU-Z2SQhfD zsi(h>X2lMSW(~O{7f)G-M2oPRC(NOf59-b#+h0_8|Bu>k_REplyCWG zwjmX3^(`!itY_D?1;OjY36`y=tHmCM2m8Cz(!1}{kmBfbx8c}J1vt3V zv*u&dK)WB#+>k)bbL@2(RrMJxh#AfI*%PhkVDHthWhC9_+tWcb$qB}IPZ?v)JDJ4> zhc8=?UZK9$Yn0|G_Untrc9Y+L9^GQj{&MFUx^RS0U;2?LzqjL+?xxJ@s$>+@5Z|4y z+=sG>I=Tv(5DND3_?5D+mjnC5FSw1+1BQn=wk+z@B7ho}{%_GwzHrZy7y@}NVF%kAqEJZRcF_dmZc9qD9{akcHNn_Sa3=OnDV zL&G|DKXM+7MoH%ooUFZSkSud{7AATI=Mllhr~0svo~0W3$=K(}T)kVfkPBujt8c1o z%D?^~#TtC|m0$oIPlHLlCw+9x4jrF8UT0jw@5M6N`uLWOj7{1yzKXG&4dz`F%XM`L(GaXpa$U(5De$J!rB2(w zWz6n@sCA_%?gRTYJ16tq>2rCD9ay-Rq3SFHltZl8v<%O1kztE#BJQny?3e-t`EXU5 zf)Y@+u6JIiwSbUs?4UoD1+q1NIbL@IeDa>59yJGwQgFKOAuqVI$eYiJ`QS+&r5epz zV6XWI!U}$^5X>k?S^BM$%V2ECaH;%1OZMrDkJ1 z38rV~C>@1MyFUvg0a6Ew%Yh_z#CcVEf;YyMMHq+ymjP00RJ)+YR=4iTWIk=6Zlbmc z3gT>qbR-!Df?NS2)D11M0zUVV=QfPQPTg?sRTd5(@}mzqzblrLn{Lm1>^n_OsjL`6 z?#_NN4)UGW9BLZucz7wV*`q&QJ+sH(o&F{AHb_*Q1R-r7G@e0?;R=} z@)(7Jc*uac-(SpK{lW0;pm5X(-0d(|IXeTW4^EKlc&K(cGo;enbXZLgPKJGFKOmy6 zhAO>^bNiq=S5I=t_#|DKgM?W-t!svT-ootEyM#lLY2Jh`Zmu> z@Hz?Q-n?_J9ylR{b?>$$5tA{dAS}AE(`RZpW9k&Yv|OtnK7($!`=(64FQ_A!EI=Eu zQ-XWBqMrU)0t%EFzB?UE+6cVE#yvf-q8$B93oU3Uk`x&$TyW_P$OK(GmiwU#7|GR5 zeF5L&M2(gR*kBZ|z1MaF8w&YKeBf@j3%ocCJ-8QaEDL8(^8>6s!oLz$Y_mc;H+3wl ztPoMlR&ygtgePCh=&YKC4S1q-V688~JC8hjdUrpH-;hZnsY zZ#M#;FAh?bi+~CH-0jPI0X|LdR?(Hq;rmhGyWiWQTWOHaB0E#2)9%lprL9@Snu1Z; zSo;YY^`l$}c1xL- z($u#Fy8?*!%t5^OgYe?JJyTl-RMr@vvWAA6O-PUMerCm>!RAZB!EWcIBCErb`3&~# z$+yfpVH`SFN=r`9^`xkiaLBwTzSe_s+-ANlLZo{jM{m#*Z%6G!IX;Ct{Nb*x!oU^3|t?BhXK0Bff*WKA)fq}u-yVIX^T>5(zm?lcc&|ySAeS5 z5O_=o5A;CIa?oKyRcsbP0p(9ceRoj)JiNGR;EVmL@?Y8q?0E5JL_-MhL`1yB+rO^@ ztL3f$Pug_H_pl2-&Oy!;knM#-dJPxnnR^I)c1+ZVFos*Q!gN}^4y zU(8kP2a$%N!izecT}@yo$b{u9HDdth&BUN;e0l4f$bMR1+@U!N!=Rcpo^a#h^KI<> zKylM0X;vnTfux`qr%nWr7Wk<2Po>OP8cA9=oZp}?;9XS>4g0Gi|Gs=#h5n-fdPL<*B zZ80R!;oC#_wIF6Lq@r>p3kn^F=BgIZV9e<8B1mFb3_3{|W~M}oq!%^Dkmzl8M-wPH zBDguRnlIVwLXgez>Tt~b7O}O0WKNECr34>4V%hGH(8#W-sT*oIodi~K#%uib6xg{& zqNzb;z!3TIKK;qSr7Xv-hEcPT=OSmU*tL0GW@d}u9U7*3@$|r#{EF++dUfMd}R}ho5R@*P!v#m6Gs;R zmgo9?blJ+c;a`a{WoLG9#&8dT2}KME(jbbFky`kHLH*2&Fg7x`Olpqd14<B5O2d<{c8Tc&ii~F8-2rf2gJkz!Jm9imm%pUd zhl58-W;s6lt4CJL?q{GM4zGjH8P__2jR91e`+X078iy~FD=uVw z9vrHy&S~H6LgY!$cJ`V`Y?Lx+J6}X?5@DT)4wVa|1uDW4_3J$BL7|usvkjvNibn9A z*ItcEKo+PWQmyC8vSuRRYty%&%-OH4Hy497eI80R}>H1aQw4sZW*(%Su`M(cd_? zOIk$t{E~SWb)) zudpdw>5{nLqLV-t#vtX%`?nxt91Ifrfue5CUQBzrZFo4SAI3Em`;@+Mrp>~c!_zTP z$Xq@N@_jKtW?=_<3E>0pU>wxwO?`#I~_XPXWMDrhEN$nhY8}E<1Xz5>{ZZ>@ooH8M|c5N!&Hzoeq$?0FvKX; z+I~|~1)!vLRF!R>=!-c+ZnS|^!^vqp|V^(@hERvClUzRgh>?xRGEPm3eHi0SO zFcUOgv}KOMAZYkj9v~I6c`RiBdil$ulY{>vH`}X2WT$ocjWyhqfZ)4NPJ6Bde3{E& z4}Oj@Hw7xJg}*f(CHEzhnp#k^X>OuJQw9n!H}HXI-!J*ThylnKf@G28@;Py(fL{Uu zGYQ+X?cO&ofV=~6oZ9n;POhd8LlZl&~ zy946JXt+GS9x>x;Qb@9tbGFrv=9%Y;O)TF zZGfqd=+8#TYd9Yqexd_(G3-|NsjF651^+7;)ASCyY%b-HGRc^YQ+gWBj*# z@B#28Lo}(sbb#%#;9*~B2>28U_dR@t0an3s8~0mBXZ%MlHGM_}HicgIUA*n$e6I$Z_0 z${!lXv-|s1xvFsoP&(8BrK9aGLI$PHfAIXdRmscm`-!V0V?_A1Yn{hNk0>DZpCLfzlWiQLr^SruwJ_ z(GZFHpb8^h4zJe?)di<@ZC;D*VdR{UlaHgxC4O*UOd%K*RXO%xgAcWBD2GfZca{ag zJEgRNbB<%I1Y|%^H1ZQ|0^WAhSbzSNAJ@HqU(5+T^`91vHiKERIt>1uBwOgp0%chc z*2z7rcjx}`7rYcG0AKoqUoOGIKNVHJrU;+&0|u7U;b%=}Q>8$*K@Q*HA(vYl!rwAY znk&x;HTh%{-XOg=&91QY9KJBmh3rDiA&-BUE0BcXxS~p7edW|tC5Ya9Ns#TogujXS zic!k^cI*PAz*fYk>%h*Ixr?{n0iPQVYdl{D%tLrs?e+I&!sD|I0dnBy_vY$O0NAH@bYJr#>4+$m|h?LqOLY1ZUCayr=Z5{kUb(!x_=dA zy4wQk*vYPA*Dkacog0EHD3a&F)Auqci-sb3(q|rgy?tb?gXo;>Md0>;bmlzx0>;TU zj9jeQ-oRBcR#p!GqDk5$!LBFvggbR30kZTpo%sNEV~LLS(-N$4)g1#sRl@A=%nHJE zvHPw-ggT0zFgS%{gaU!k3!5Tdc24awv->{ki`gm+$k#i- z0|9mIOJxtPCP!G?7wfQ-q*1ukOe2#^5fQ+kk`BY;$h?_+Dx1q%?8|yfa!@qKiqafZ zkzJ^5H>)o}pwyHgiBa-mzgAzc2#n+`hx|mg#sd+2;B|%oKa=Z6{LE-8eSE~cu;aWn%A2zGV0d$r7yuPOd`C`A#=YMBOiTBW&kwg5SFN+^?vObGC2TV z*OI#eoeW$NgXC+=WHy1VVJ9aM*8qH!WWzVtBkzK*u{MB0{F?W;;JpE)yZf4nFv7wC z6yd+PLXq1|jv1M{k#+)RQuByl96+TzB|`aNQ}-|~S;z_Ai^Ee?@7Ge=VzA5bbU7(3 z1abv+-HpJLL-^zBSAl;esSrG}670;adx+5Rb7gk;;N5NXHO&{BoCTsZ2Yi@;2*?LQ zp1o?X*ehe2;M+O|E-jPq3%Uf9q>cKy;Rf4fOQ7E|04|#iaIF|iDagflh%3QATeG3KQO`Hs~3zw|o(FEs_ylv}vjZ}To7jEm}K_H6EK6z59h zy%><3$P$;$VGCB5BM70xX8E5opgFTCdP<_R|{~F3a&bz;1Y`@)fIl%-X;*c&dYAk7X5ilH>~joB19vm0jE}7c7Xj8}!LO)t1^gM%mB=6y zLonwMUJT%xhr_v075poYh3ATZ^4|b#b#|MCGwXU(1P0}!l?SqIv+bTaVmWiu*8~~` zTXRGWi@o0S`h?vA zI#=qRtl=~5{F$A6Q1l#rhwXN-+e-irLNUY3o1MTG70=x-1{6z7QJ(}dRJFt_u^++q z*yKb!&Zal1$>!>OclxZTA_$M3g4$qC#|5l&g*IPMhr$5x`HuZ!W_tu&vBzorG9 z9JueH|J8^4T_JjAkN9EGKn3!cUt)JuhpVp1%hP8}F1!^Q1r1=#MicVw|3xk}c1i{p zuI|zDP|Yent8xNaj782_yD#t;5uh_h9=b|kduLx$faDa^oO#p}S?-rR&XDSu7DvUi zD=xk=-3rJJ2HOKuctK4Gx#ps{0-M9ncCmSWO?r!f+!?&)0rl>;)L2LWfa&E&=%%!An?(gZ=|^f4Gj37T-%r{Oa3*dU-d&XpV=3&$vUoZ!B`xDa)j6c{ zWQ3-$x%+kpmDSG?1*r#A66$vwKvxRhM^qF=z@WI@AlMOUR;;2Ok zmTPY{h&3xvwxbH)OiCBPNTdQiRUE9P`qS~MNbo6hfoh@-?B3@{U$hJ`wcpx%G}`4s zOwof-`3!B{()WNM3Y~JA>_*gl7eVK3sS90eRvX61Q^47TVHXm${ zmpqDJf!Q|`JGvaIR)+VsF{WeqML`~%T~SVx1WtuvobO2&wpn%xmtS_D}wozye;xy!sm# z;D_x|^Z5IZdcx-McOHMgwOId`K*T&O{EKKX?>WqS4qwP9^8v+twDueSXdV{kVPPH? z=94&ope4@3!aOX@!@@i)%)`QeKtG#LKmKn>KhEbC=5q^wdjiRPRpKwFI?ksYf3>Io zvPv+F81o@$BTY4&W{fMr^wdf#1HZFgZ6fZH(lw}u?QYXosEr<%bA2bT=;9edk#au8 zu7Onc0BRR7<6w5-=huI~$nN}cC7|-lQD6^7@kG|`%A;V=hlXpp2)3>kWZJ5^_hYAkwB}zgLX0$`m}73|D4Uht5WN6b@Kg zmPx32_hM85qsM@`@XD|Aq;Y<*k_>3Pl-u~hb`&TmvNGdk&r%nB$FkK1>eByzb9P)Tr$csfHd$OmZEMDmxBdf?aB`HiIetMqfxhmIW_ZR=uAm6+70lVq93)v+3kr2&El> zT~<=!W%lnZo}2J*ES|o*df-PPVtPK8sQ|j2hrdSGCa-biqS*g{oAV7ez>hA_5T9{Q zynwXCi%ygN@#xIok0sth!4~O)@x_v;SwZf1PD{XrOG2_Y{Wjb4_tRH?KbDyEZUf*T zeHq$d3zaQciDmt&ZKl&wr-%mvN@7>(yVPPH?=3(JK z9F#H-3x9Jw@_ayXd_G$HEm|YPw&WV(ic>yVIT)k$DRairu#*r<2 zMv4fv(=2tr>Eh{D+h15bGfufT77(!q&=!U}SU#65Bov8Q{V0pDpB)6lCWI|S=z(Mu za|!on$0ZyUP|&)L8>bl_rbUMxE1+npjzwpFa$vZqy9$2kw-zpAD2*fQ&}F;0*TB2H zCt|Kp2)5%Yd23;}{E3)rKRGxYagBmZMODB%kQJ~dlCMeNG^44%-gapPlwLjb*^1FL z@WFQFPY&);kV6IM8T<;Q3}k@6sO*Lkn%vREHi2N+J|${N4NcB4scrpF4lFCz$I%gu zazyAp!up>}?Ag5?tiVY;4bh9EA^LIM>o|kqb?V-Fr8IJuSA2UgtYYr1_vR-DJ6YD3 zqk`dpCuUO;0(Z)`0D*0}=qdsPc4=~F=~~$GxvK~e*bfg5ue~M@m(5r*_{WJ=|5#!> zPpqu?b+OjKTudc1Eq@9sQ9E674P3N4JuH@jO4d!+`Po4QoJs~VuM5YsxH+A3uK^X? z7hdy`&uR8WZC$Yis89yNRe=4yjhu+YBT`Zuch(O!LJ6N_8 z{ks+tu}!^h&ho4w*MVJ2esb`hhM6?q$>ND|Zoz13@kRV^9j#w&4_yT z;gY~l4t81!)G+vmqA18JwERDo82&hr<=4eJ$KanJI`RU`3K1`Qa+)#STBvVd0maJ} zZ9VgogSBvGu`aL*L)lru#qYXT0u@`iE1wsrShja`S1`QuL_RN2u^%2hS^g#(KEvF} z3Zy&r{$q(nOD!S(x>!I>{Y2A%Wu@0AHmwSVEn=JASJToPlA1REdB#;JwG|94BrDlzDpBzN*Tx|Uf52F9E#4Mi! zS$xo#` zBH1^;unL}fo)UO*LYKfaX|n61#%%A#5?e*viMX%P1*&hKyOX!+e1+d2_mGz z@Vr?J;$S~q<&w2wk2dDz;uiy1Ka7Z0)SC8 zCUwZc{ZN)wcA(acj|t=HMN=eXx6t=}8=*^2ga9p#Lj?it#h5BaoZS8qoZzg(%b zj)Pl3bHNY(bJ{w9kZqsINneYSpUpcBzLlA8FPzyB*vguXI4FLZP-Q(_EtGOk9;R#k z==v{zTc5LJ2P--8u8N-bNwj;&a1|9NfiAxEZnJ8?KQq;m*gBvT6S&@g0q5c${^w2+ z2&4zb#68I8vL{|l+x5S=WLGV0`$7lD;ZAreZbZGQ^}$Jjf6vdK@3U|X+|bR$%VAqz z)VHu|3v-)qt(LSCi*3qO`BbZeyQ{|igLnUWzkp$|2(^CW@fMW$X=78I#kt{jd3qGkF~4*%L+TD`i_~pIh|j%L*IIvlF`|OBOIjP=!sPU! zXXT_eyht2*t9`)a?i(Mg(Iv`D1MF7O#=_)=2X|k-^kHn&Xz-oZrRI)?OK%GhZO{$3 z>I#oi-3zMjW690rn4j7u?mk=iI9?H?HxT%1C4@hGnON^yN9!Pw@lnBT+V4C zJx16f{b;sSFFUBL;M7C)>6h8+2TnEZHa^ut)U_H}MzLFbK1`G7&U|sHA>X}15=$W8 zL2^46XpY$WoWvi<8tHj%ZNk{E$yn>>*E{z4xfo-Ee+e0Alrl|+_Bk{CUS?AAVW_p3 zZqN1WTbgw>5&SZ>dkfD;?YCAE+CDbB*2nsjon-@#V5KeUe!2p4XOqA?tAN^KMumnM zbHA(A!IsYv1hZFCGn}@;)v>!3VhKy+0yXcK+z&!GXJ4{1(2kN2?JVFWLTeGSS-nik2`@?R4E+bDFvb01%ej$Tx;6NG2~xDcyA1)!3DBorjcF;=yWTrU zxmc%wOZCtKjl7Eu{oLhuvmJtZ-U}X2y?nJpq$5#YBkwknTYzTnPeBU%t{jco84Lbr zqQrEu;7L|ZU?VH?=x*}EhmlAm(v7d-bN}$_W?I=+ksUJupOYV{tM0BDjp~~ec=x&l zhw-~0X214QL&anUK9*2P!(7net6CC3J0@9M__BF7T=@UAcdk)M<=r1|${D+inUy)_ zt-H@;Nuw!h2wk~4Drj{4-1}AgM%!nSXOieV+th^8@nm4dC@sg6MctJ%4 zl|n>B1q3Rx+QMpz zM}{}wUe+GKYV$i`ZKC^cKz2DK82y^nc_vkCJhWIX_@t+R72uM08LrnyUu3MsyQEVY zU8j~Bw)TR~31r{e_UGpu9?&s;vxHLP@rs(6uEE4>x>0t9gsY?lT)>nMC0Lz%kR>Zm zO5VBo67X>Wl zZH~F(ic9U4Zl!fLK5a&^2S^3^emTb_$JF{w76KIuxFE+-*$Jzbft_}U4br8xAhQI= zJj&W$PWu$0?bJ{ebnnWI>OeJ1u=t%}ss+c#mRfB{`Vgl#E%t3#wUF52;rXRH;3_N~ z`k^s6=@|iDrWe!6iDm}UxQ1yV;O<8&>Q^lkr+@)jf^1jo+~`TXToe|OW!dkwG-i#* zjg!rO+W9lrM+aheleA>kTy1oL}T>nJ0W}P(D|Kr)+q1_p2Sq@r8_b|Z|c3QFu zC~<;;gP{l%xc(1=gNRM8OQUDyomkxH8x~zL-8${)Fxn`sPun}dR2$OUTL7xm^DgyiAZuG)VvG>J57*U$MINxoq zOdICXzPuO6;Gtn|vv;QTE@w28+BMg!P5!mJg0xYnyfvH@<@pXcpZorm1_yljXmyRz z!iWRw4397i+UiD}j2E5 z)ii)NlQOKYDO`9|vj}?p0*p$sr`~^IjfiyCq+elGcG@|*?X&EufN|fZ*M|Cf1Np$< zoQ?KPn1=;+a$A~Jei~Gl$*gAqfFN?;KHAl=*@*f)3OA}WObBlw-7ZXOfo%D6K*6U4 zI19pxm+UL=YVbbP-4oQw_C6fd(-*soy(EYD-r;CCd9ktp%3pwqXgmW!E915E%~rXW z1`<@un3g6hJOssO3K~z3?o{73n9~MZfgYtt*60NgZI_ORei(3fyPV!OWjBvXdTws0tbgRe^OIH!~M~=@7DgSS06&KcJguU_pAF=aR&2y=m6dK z9AwM6>nqj2Ti~GyKXTDOlgF3Gx(TsMg7zW(?*I}63BQ5zU;hzYzFM_z3-pr9H4lo{NgySqlyVP#Q^Mt#AR62AzM!Nuq{XVCPV;l+@t*kOqg`)1IjRf*WpXe$ zQkj96`#o)zUxWo8l3cRF|1deS4g_mw2eO%Cg;5xGo&$#h<+2NkdtFT}R>R@`IAIQU zN-J&?kuzS(eY1JS)MvO+|9rZ8N9i$p!&GJVEo#t9$7b@&CV%JtPho3J@$5nYqW%E_ zSE}6;Ld?$`ww|Z7OB<_YqNje>HvFwGuM?h%a05+Nm5qmg2Xog(;qQ}gW%K~HWrB(^ zIm%3a%-?AIzPQu{Kb4EVxXqo?n2N2eaoir2Z&8{5!T`_zX$|N$KuckEB@TyKDUI<}-PUtU&zO3s9zj9%<#t5f-UlFM&OwY2%!u7OQr^hLCYa~(vUTe%{ zzbZxDY{^Ia#u--9!~8>X(xZI3c^QCe7|x37TJ2tWF-Pc}|7$@Jm;dI+ zsqDiG%Io386AdcAehuRNt*IL)3Rs^&Zx zVp@%eDjS>As$%aayY|-YN3TR6gC5&X53DoM$L;xJh?FujQ}LXs1g9iqA=Jz~(U4Xs zCY0SWy03(ZwIi&tJbOXs3uuHA!TY8G{sCz$YPkh?KbrDkeB?haxwB=~*dR5P=DegI z)4Q!&mXXFDtXltfEbyK|nu{FdUg^Q0^Qk65eE&8^pC98MVp|Ot1d{V#`nFQU9EXGl z_UJ9YQe1tAf7U6{__=1s=d5k=QDZyIAcG4;m*5d23_zSRtL;ZE*<u( z@89wh&$=6Du~jXmHsE_+7@!F7Z&YaU_;ELM?7yjFT{85JbTn~8xZbx|EOYW?hyf8q zW6^a=g;4>eVPiQaTnS#9)`3O@icMb8zh{iVm%oCK96q?rqvTK$FM``NT+0OrTQS|! zt{sOIqY$sW+M?mtMN_OUHEm6qd#)ng`301P_4MxSePF9#gotEaR8C>3L`9BmPVIup zSDsg(??)OGoT^F4F5<(wgwWyxJriNi@Fs5dt={;}OL9$&Qr%)uy$8C+G|=;q{|TX9o^4Tm54yP}MRBX7$@ zZ8f|0&a)o_@oWey!}Xg_>fbG_xC3&)mkoYr`Yg(5s!{>1)O8L0e(!2{hXu%%>T9Rx z(9yxopbUC|u+R3>?6XRdSyzAf2&s4q`YYAcik)it+De$=T9K7x5p;rm%O2CnvGGdW z9(nHKp)#54&jwM1SMNd?xyn&C0}Ouz3u`yxg7V}mH^;4yn3Vn1GH$AnOv44+@fV}3 zz(bhyN0oL6K3P5_-~oW@K76dTY}r_Rl=>3_xG@{O`W|vt+PRe?Jp)w}N_xM$GWzi6 z&X;x5FGN!!)U?vSb@S~yJI7TYX^5M!xT({j=vX-nMoC6THQnfs+!svzNi{D!?DoWb z;UBGUdRVNCuP)>Q%9r6?cNoeW$G}= z13iLd6(-WK*16@k4#1BYY7Mi+v0fC%6D&FFdf5<3g5iEi(lWD&V*D4gebXH5|n4{j^bd z{d!Y=h=}4M9Xga^2zCZ^UDy{%ElIj#;=Af8(l;sB)|<)HC-vSf#V4@GG8ajyNVug# zos@0g7lbbGNbcP&CD(ygeuz}qDHVw@#x|YZyyvLiN?eL~=q)_ae}Vy5@9#?i#o{~{ zAkfubin0>R5?jfu{JKz@*43;4*_$)?u(HD`;^Ge4%dEck@z2HPAn2zgisDvqCajPO z6paM3>SZZ9YuG?muNb#@$XtPv@y+v$`uO1|=vb_eeASqOkd}!4`JSoVNx&L8gsho& z=IdT2Ea0MymV84SHM1Qmh9*u_V}X@Vm!7c2U_3~h}7o*p5j;cTQ!1~ zZ36MkJA|a7p*C|BgT9)Nnnb2aKMEe8&`1*t^fEu1xgXu^ d|GJ$AHF4dWh^(t~jtijQp9dWG7w+}E_Fs@IWj+7^ literal 0 HcmV?d00001 diff --git a/DGX-A100_GPU-Operator_testing/plots/multi-gpu_time-to-threshold.png b/DGX-A100_GPU-Operator_testing/plots/multi-gpu_time-to-threshold.png new file mode 100644 index 0000000000000000000000000000000000000000..6b19579b5f2d056e9174bfa54a071dba92a27653 GIT binary patch literal 117186 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 literal 0 HcmV?d00001 diff --git a/DGX-A100_GPU-Operator_testing/plots/prom_sequential.png b/DGX-A100_GPU-Operator_testing/plots/prom_sequential.png new file mode 100644 index 0000000000000000000000000000000000000000..34f32d7c878f3b7be946b1a0692777a8043f5fd3 GIT binary patch literal 114921 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 WEIdN2n}h#bbWqQ5|BJn6uKZt0^poTO literal 0 HcmV?d00001 From c173d16e733c407b26aa3df8ed4f824412a11d46 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 17:07:04 +0200 Subject: [PATCH 02/13] Fix broken link anchors --- DGX-A100_GPU-Operator_testing/blogpost.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 93ad332..e120cda 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -263,8 +263,8 @@ directories, and stores the raw measurements into Python structures. [Plotly](https://plotly.com/python/) graphs. [A benchmark execution script]: https://github.com/openshift-psap/matrix-benchmarking-workloads/tree/5edb9e2da0d696a965c58d7c52b39c6e80c37e1c/mlperf/exec -[A storage module]: https://github.com/openshift-psap/matrix-benchmarking-workloads/blob/5edb9e2da0d696a965c58d7c52b39c6e80c37e1c/mlperf/store.py -[A visualization module]: https://github.com/openshift-psap/matrix-benchmarking-workloads/tree/5edb9e2da0d696a965c58d7c52b39c6e80c37e1c/mlperf/plotting +[A Python storage module]: https://github.com/openshift-psap/matrix-benchmarking-workloads/blob/5edb9e2da0d696a965c58d7c52b39c6e80c37e1c/mlperf/store.py +[A Python visualization module]: https://github.com/openshift-psap/matrix-benchmarking-workloads/tree/5edb9e2da0d696a965c58d7c52b39c6e80c37e1c/mlperf/plotting The `MatrixBenchmarking` framework combines these modules and provides From 737c220bebc43ba7ac34671b00e9af7382c5ec59 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 17:22:47 +0200 Subject: [PATCH 03/13] DGX-A100_GPU-Operator_testing/blogpost.md: use absolute links --- DGX-A100_GPU-Operator_testing/blogpost.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index e120cda..d67da99 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -402,7 +402,7 @@ Example of configuration: ### Requesting one GPUs per Pod in 8 Pods -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=7g.40gb_1gpu_x_8pod/run_20211209_1519.4e94) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=7g.40gb_1gpu_x_8pod/run_20211209_1519.4e94) - Job parallelism: `8` - Container resources: ``` @@ -420,7 +420,7 @@ GPU 0: NVIDIA A100-SXM4-40GB (UUID: GPU-55b69871-247e-9b99-a60a-7daca59a4108) ### Requesting all the GPUs in one Pod -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=7g.40gb_8gpu_x_1pod/run_20211209_1519.57ea) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=7g.40gb_8gpu_x_1pod/run_20211209_1519.57ea) - Job parallelism: `1` - Container resources: ``` @@ -458,7 +458,7 @@ that there are not enough GPU resources available to schedule the second Pod, so it delays it until the resources are released. Hence, the execution of the two Pods is sequential. -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=7g.40gb_5gpu_x_2pod/run_20211209_1519.e78a) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=7g.40gb_5gpu_x_2pod/run_20211209_1519.e78a) - Job parallelism: `2` - Container resources: ``` @@ -514,7 +514,7 @@ Example of configuration: ### Requesting 1 `MIG-2g.10gb` GPUs in 24 Pods -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=2g.10gb_1gpu_x_24pod/run_20211210_1552.e1c8/) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=2g.10gb_1gpu_x_24pod/run_20211210_1552.e1c8/) - MIG configuration: `nvidia.com/mig.config=all-2g.10gb` - Job parallelism: `24` - Container resources: @@ -533,7 +533,7 @@ GPU 0: NVIDIA A100-SXM4-40GB (UUID: GPU-55b69871-247e-9b99-a60a-7daca59a4108) ### Requesting 24 `MIG-2g.10gb` GPUs in 1 Pod -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=2g.10gb_24gpu_x_1pod/run_20211210_1552.517e) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=2g.10gb_24gpu_x_1pod/run_20211210_1552.517e) - MIG configuration: `nvidia.com/mig.config=all-2g.10gb` - Job parallelism: `1` - Container resources: @@ -565,7 +565,7 @@ This test case creates two `Jobs` requesting 4 Pods. One of the `Job` requests resources of type `nvidia.com/mig-3g.20gb` and the second one requests resources of type `nvidia.com/mig-2g.10gb`. -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=2g.10gb,3g.20gb_1gpu_x_4pod/run_20211209_1519.334c) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=2g.10gb,3g.20gb_1gpu_x_4pod/run_20211209_1519.334c) - MIG configuration: `nvidia.com/mig.config=all-balanced` - Job parallelism: `4` - Container resources: @@ -661,7 +661,7 @@ And to validate the proper slicing of all the GPUs, we launched a Pod requesting 0 GPUs, meaning that we got access to all the GPUs of the node: -- [Test artifacts](results/mlperf/dgx-test/20211209/gpu=2g.10gb_0gpu_x_1pod/run_20211217_1222.1e2f/) +- [Test artifacts](https://github.com/openshift-psap/blog-artifacts/blob/1f368b17f180c9ceaa5660eb32acb57256f4df0b/DGX-A100_GPU-Operator_testing/results/mlperf/dgx-test/20211209/gpu=2g.10gb_0gpu_x_1pod/run_20211217_1222.1e2f/) - MIG configuration: `nvidia.com/mig.config=custom-config` - Job parallelism: `1` - Container resources: From e7eeb86dfa8d9672c54652e6c49def630b58e16a Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 17:24:27 +0200 Subject: [PATCH 04/13] DGX-A100_GPU-Operator_testing/blogpost.md: fix typo --- DGX-A100_GPU-Operator_testing/blogpost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index d67da99..b04c9a8 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -765,7 +765,7 @@ single AI/ML model, or all performing independent computations. As a follow-up of this work, we're planning on doing more work around AI/ML computing at large scale, such as multi-GPU multi-node training, -with multiple DGXA100 interconnected with NVIDIA GPUDirec RDMA +with multiple DGXA100 interconnected with NVIDIA GPUDirect RDMA high-performance networks. To generate enough compute requirements, we'll turn towards the greedy natural language models such as BERT or Transformer-XL. Stay tuned! From cd616f25e847f1d00e86f63759ce58a641516807 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 18:25:10 +0200 Subject: [PATCH 05/13] Update DGX-A100_GPU-Operator_testing/blogpost.md Co-authored-by: David Gray <40244437+dagrayvid@users.noreply.github.com> --- DGX-A100_GPU-Operator_testing/blogpost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index b04c9a8..2974b64 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -12,7 +12,7 @@ the GPU Operator v1.9. It is a follow-up on our previous work on [benchmarking AI/ML performance on a single A100 GPU]. In this work, we paid particular attention to the reproducibility of -the functional and performance testing, so that the whole testing +the functional and performance tests, so that the whole testing procedure can be easily re-executed in any freshly deployed OpenShift cluster. From 2788e98fa52060dcd5c898752aab49c0d7d3f13e Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 18:33:03 +0200 Subject: [PATCH 06/13] Apply David's feedback --- DGX-A100_GPU-Operator_testing/blogpost.md | 25 +++++++++++------------ 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 2974b64..94f83fc 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -3,12 +3,12 @@ Functional and Performance Testing of the NVIDIA DGX-A100 _By Kevin Pouget_ -In this blog post, part of a series on the DGX-A100 OpenShift -launch, we present the functional and performance assessement we performed -to validate the behavior of the DGXA100 8x A100 GPUs. This study was -performed on OpenShift 4.9 with the GPU computing stack deployed by -the GPU Operator v1.9. It is a follow-up on our previous work on -[enabling MIG support in the GPU Operator] and +In this blog post, part of a series on the NVIDIA DGX A100 support on +OpenShift, we present the functional and performance assessement we +performed to validate the behavior of the DGX A100 8x A100 GPUs. This +study was performed on OpenShift 4.9 with the GPU computing stack +deployed by the NVIDIA GPU Operator v1.9. It is a follow-up on our +previous work on [enabling MIG support in the GPU Operator] and [benchmarking AI/ML performance on a single A100 GPU]. In this work, we paid particular attention to the reproducibility of @@ -275,13 +275,12 @@ terminate successfully yet, 2. `visualize` to parse the benchmark artifacts, and provide a dynamic Web interface to visualize the data results. -In the following subsections, we present more concretely the script in -charge of running the MLPerf SSD benchmark, according to the -configuration settings provided by the `MatrixBenchmarking` -framework. We also present how the script stores reproduction -artifacts, to allow anyone to re-run a particular benchmark without -hassle; and observation artifacts, to allow studying the exact setup -in which the benchmark ran. +In the following subsections, we will more thoroughly present the +script in charge of running the MLPerf SSD benchmark. We also detail +the observation artifacts we collect, that allow studying post-mortem +the exact setup in which the benchmark ran; as well as the +reproduction artifacts, allowing anyone to re-run a particular +benchmark without hassle. Execution of the SSD benchmark on OpenShift: `run_ssd.py` --------------------------------------------------------- From c0e5c6bb0ccd2b4e6ea6866caa2917eda496ff60 Mon Sep 17 00:00:00 2001 From: Erwan Gallen Date: Tue, 14 Jun 2022 21:03:36 +0200 Subject: [PATCH 07/13] Update blogpost.md Request from NVIDIA Product Management to remove the dash --- DGX-A100_GPU-Operator_testing/blogpost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 94f83fc..e2ec4b9 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -1,4 +1,4 @@ -Functional and Performance Testing of the NVIDIA DGX-A100 +Functional and Performance Testing of the NVIDIA DGX A100 ========================================================= _By Kevin Pouget_ From f6d5fa4680d41f33448b134a53135b231d8d6981 Mon Sep 17 00:00:00 2001 From: Erwan Gallen Date: Tue, 14 Jun 2022 21:05:01 +0200 Subject: [PATCH 08/13] Update blogpost.md Good to place the product name in the conclusion. Fix DGX A100 name. --- DGX-A100_GPU-Operator_testing/blogpost.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index e2ec4b9..84ab211 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -755,7 +755,7 @@ Final words =========== In this blog post, we presented how we performed the function -validation of the GPU Operator running on 8 GPUs of the DGX-A100. We +validation of the OpenShift GPU Operator running on 8 GPUs of the DGX-A100. We described the different Multi-Instance GPU (MIG) modes that we tested, as well as how the values of the node labels and GPU resources for these different settings. We also conducted a performance benchmark, @@ -764,7 +764,7 @@ single AI/ML model, or all performing independent computations. As a follow-up of this work, we're planning on doing more work around AI/ML computing at large scale, such as multi-GPU multi-node training, -with multiple DGXA100 interconnected with NVIDIA GPUDirect RDMA +with multiple DGX A100 interconnected with NVIDIA GPUDirect RDMA high-performance networks. To generate enough compute requirements, we'll turn towards the greedy natural language models such as BERT or Transformer-XL. Stay tuned! From 47bf1fad599d3553f1cc81953c992c4a930b85a7 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Tue, 14 Jun 2022 21:15:58 +0200 Subject: [PATCH 09/13] Update DGX-A100_GPU-Operator_testing/blogpost.md --- DGX-A100_GPU-Operator_testing/blogpost.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 84ab211..a393ebf 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -47,8 +47,6 @@ This operator is in charge of labeling the worker nodes with hardware and system properties. It is a prerequisite for the NVIDIA GPU Operator, as it detects NVIDIA GPU PCI cards and advertises them on the node label `feature.node.kubernetes.io/pci-10de.present=true`. -Do not forget to create the default `NodeFeatureDiscovery` custom -resource. [OpenShift Node Feature Discovery Operator]: https://docs.openshift.com/container-platform/4.9/hardware_enablement/psap-node-feature-discovery-operator.html @@ -59,7 +57,10 @@ including the kernel driver, in all of the GPU nodes. Since v1.9.0, help of NFD labels, the GPU Operator will automatically detect the DGX A100 node and install (via containers) the necessary drivers, services and CUDA libraries to run GPU workload. -Do not forget to create the default `ClusterPolicy` custom resource + +Do not forget the last step, the creation of the `ClusterPolicy` +custom resource! This object defines the configuration of the GPU +stack, and without it, nothing will be deployed on the nodes! [NVIDIA GPU Operator]: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/openshift/contents.html [the deployment of RHEL entitlement is not necessary anymore]: https://cloud.redhat.com/blog/entitlement-free-deployment-of-the-nvidia-gpu-operator-on-openshift From 60846439dfa71c3d29fa1526ea62d136e0b30414 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Wed, 15 Jun 2022 08:20:04 +0200 Subject: [PATCH 10/13] fix typo --- DGX-A100_GPU-Operator_testing/blogpost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index a393ebf..4ebab7c 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -4,7 +4,7 @@ Functional and Performance Testing of the NVIDIA DGX A100 _By Kevin Pouget_ In this blog post, part of a series on the NVIDIA DGX A100 support on -OpenShift, we present the functional and performance assessement we +OpenShift, we present the functional and performance assessment we performed to validate the behavior of the DGX A100 8x A100 GPUs. This study was performed on OpenShift 4.9 with the GPU computing stack deployed by the NVIDIA GPU Operator v1.9. It is a follow-up on our From a375029debc00edde87102efb68e3721daea97bc Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Wed, 22 Jun 2022 09:33:28 +0200 Subject: [PATCH 11/13] Update following review by NVIDIA --- DGX-A100_GPU-Operator_testing/blogpost.md | 99 +++++++++++------------ 1 file changed, 49 insertions(+), 50 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 4ebab7c..83bc310 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -3,11 +3,11 @@ Functional and Performance Testing of the NVIDIA DGX A100 _By Kevin Pouget_ -In this blog post, part of a series on the NVIDIA DGX A100 support on -OpenShift, we present the functional and performance assessment we -performed to validate the behavior of the DGX A100 8x A100 GPUs. This +As part of a series on NVIDIA DGX™ A100 support on +OpenShift, this post presents the functional and performance assessment we +performed to validate the behavior of the DGX™ A100 system, including its eight NVIDIA A100 GPUs. This study was performed on OpenShift 4.9 with the GPU computing stack -deployed by the NVIDIA GPU Operator v1.9. It is a follow-up on our +deployed by NVIDIA GPU Operator v1.9. It is a follow-up on our previous work on [enabling MIG support in the GPU Operator] and [benchmarking AI/ML performance on a single A100 GPU]. @@ -21,10 +21,10 @@ implementation of the Single Shot Detector (SSD) AI/ML model, from [MLCommons MLPerf v0.7 repository], running against [the COCO dataset](https://cocodataset.org/). -In the following sections, we first describe how we prepared the -cluster, then we go through the functional testing of the MIG -partitioning control of the GPU Operator. Then, we present the -performance benchmarking we performed to validate the speed up gain +In the following sections, we describe how we prepared the +cluster, then go through the functional testing of the MIG +partitioning control of the GPU Operator. We also present the +performance benchmarking performed to validate the speed up gain when using multiple GPUs to run the SSD algorithm, and the performance isolation when running multiple independent workloads on each of the GPUs. @@ -54,13 +54,9 @@ the node label `feature.node.kubernetes.io/pci-10de.present=true`. cornerstone of this work. It deploys the GPU computing stack, including the kernel driver, in all of the GPU nodes. Since v1.9.0, [the deployment of RHEL entitlement is not necessary anymore]. With the -help of NFD labels, the GPU Operator will automatically detect the DGX +help of NFD labels, the GPU Operator will automatically detect DGX™ A100 node and install (via containers) the necessary drivers, services -and CUDA libraries to run GPU workload. - -Do not forget the last step, the creation of the `ClusterPolicy` -custom resource! This object defines the configuration of the GPU -stack, and without it, nothing will be deployed on the nodes! +and CUDA libraries to run GPU workloads. [NVIDIA GPU Operator]: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/openshift/contents.html [the deployment of RHEL entitlement is not necessary anymore]: https://cloud.redhat.com/blog/entitlement-free-deployment-of-the-nvidia-gpu-operator-on-openshift @@ -77,7 +73,7 @@ at least 30 GB of available disk space. [LocalVolume resource]: cluster_setup.md -Prepare the dataset and the container image +Prepare the Dataset and the Container Image ------------------------------------------- Once the operators have been installed and configured, we must prepare the @@ -223,7 +219,7 @@ oc patch clusterpolicy/gpu-cluster-policy --type='json' -p='[{"op": "replace", " Once all of these steps have been carried out, the cluster is ready for executing our benchmark suite. In the following section, we present the reproducible benchmarking environment we used for running the -GPU computing validation benchmarks on the DGX A100 system. +GPU computing validation benchmarks on the DGX™ A100 system. Reproducible Benchmarking Environment ===================================== @@ -231,12 +227,12 @@ Reproducible Benchmarking Environment Running the validation benchmarks can be done manually, by instantiating the Kubernetes resources and waiting for the completion of the workload jobs. However, this would not scale well, when the number of -benchmarks to run starts to get large. +benchmarks to run gets larger. To solve this problem, we used the [`MatrixBenchmarking`] framework, which allows specifying a list of workload configurations that should -be benchmarked. See this configuration file for the settings we used -in this work, and this directory for the code used for running and plotting +be benchmarked. See this configuration file for the settings used, +and this directory for the code used for running and plotting the benchmark. [`MatrixBenchmarking`]: https://github.com/openshift-psap/matrix-benchmarking/tree/693be58f72c2f8f96fd3f77f6e6d08637b183c4e @@ -272,9 +268,9 @@ The `MatrixBenchmarking` framework combines these modules and provides two commands: 1. `benchmark` to run all the benchmark configurations that did not -terminate successfully yet, +terminate successfully yet 2. `visualize` to parse the benchmark artifacts, and provide a dynamic -Web interface to visualize the data results. +Web interface to visualize the data results In the following subsections, we will more thoroughly present the script in charge of running the MLPerf SSD benchmark. We also detail @@ -283,7 +279,7 @@ the exact setup in which the benchmark ran; as well as the reproduction artifacts, allowing anyone to re-run a particular benchmark without hassle. -Execution of the SSD benchmark on OpenShift: `run_ssd.py` +Execution of the SSD Benchmark on OpenShift: `run_ssd.py` --------------------------------------------------------- [`run_ssd.py`] is our script in charge of launching the MLPerf @@ -335,7 +331,7 @@ artifacts we currently gather for each of the benchmark execution: The second part of the artifacts generated by the benchmark relates to the reproduction artifacts. -Reproduction steps +Reproduction Steps ------------------ Reproduction artifacts provide an easy way to re-execute a particular @@ -353,7 +349,7 @@ re-execution are the following: - GPU configuration: - `mig-strategy.txt`: the MIG advertisement strategy to configure in the `ClusterPolicy` - - `mig-label.txt`: the MIG label to apply to the DGX node + - `mig-label.txt`: the MIG label to apply to DGX™ A100 - `entrypoint.cm.yaml`: the entrypoint script controlling the workload execution in the Pods - `job_spec.run-ssd.yaml`: the Job defining the benchmark workload @@ -362,22 +358,24 @@ Along with the cluster setup presented in the previous section, these artifacts should be enough to reproduce the benchmark execution. In the following subsection, we describe the functional testing we -performed on the DGX A100, to validate the good behavior of the NVIDIA +performed on DGX™ A100, to validate the good behavior of the NVIDIA GPU Operator with the eight MIG-capable GPUs. -Testing of the MIG capabilities -=============================== +Testing of MIG Capabilities +=========================== -The DGX A100 offers eight MIG-capable GPUs. In this section, we -present different tests we ran to validate that the GPU Operator is -able to properly configure the MIG GPUs. The original work on dynamic -MIG reconfiguration was presented in [this blog post], and it is also +DGX™ A100 offers eight integrated MIG-capable NVIDIA A100 Tensor +Core GPUs with 320 GB and 640 GB GPU memory options. In this section, +we present different tests we ran to validate that the GPU Operator is +able to properly configure MIG functionality on the 320 GB +configuration (40 GB per GPU). The original work on dynamic MIG +reconfiguration was presented in [this blog post], and it is also documented on [the GPU Operator web page]. [this blog post]: https://cloud.redhat.com/blog/multi-instance-gpu-support-with-the-gpu-operator-v1.7.0 [the GPU Operator web page]: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/openshift/mig-ocp.html -`single` advertisement strategy +`single` Advertisement Strategy ------------------------------- With the single advertisement strategy, the GPU Operator exposes the @@ -488,7 +486,7 @@ exporter: ![Sequential execution of two GPU pods](plots/prom_sequential.png) -`mixed` advertisement strategy +`mixed` Advertisement Strategy ------------------------------ The `mixed` advertisement strategy exposes MIG GPUs with a custom @@ -615,13 +613,13 @@ resources: # this configuration is not supported nvidia.com/mig-2g.10gb: "8" ``` -Defining a custom multi-GPU MIG configuration +Defining a Custom Multi-GPU MIG Configuration --------------------------------------------- The GPU Operator provides a predefined list of possible MIG configurations, for the different MIG-capable GPUs already released. These configurations also work in a multi-GPU node, such as -the DGX A100, however the same MIG slicing will be applied to all the +DGX™ A100, however, the same MIG slicing will be applied to all the GPUs of the node. It is possible to override this default configuration by providing a custom ConfigMap containing the desired configuration. See the [GPU Operator documentation] to find out how to @@ -700,7 +698,7 @@ GPU 7: NVIDIA A100-SXM4-40GB (UUID: GPU-fccb396c-ecba-9822-6217-a790cd2c9d3f) MIG 1g.5gb Device 3: (UUID: MIG-2bcdbd01-44e6-5f68-ae6f-77448d2529f9) ``` -This concludes the functional testing we performed on the DGX A100 to +This concludes the functional testing we performed on DGX™ A100 to validate the proper behavior of MIG slicing and GPU requesting. In the following subsection, we present the results of the performance benchmarking. @@ -708,19 +706,19 @@ benchmarking. Benchmarking of the GPUs ======================== -The second part of the DGX A100 testing consisted in the validation of +The second part of DGX™ A100 testing consisted in the validation of the GPU computing performance, in particular when multiple GPUs are involved in the computation. Multi-GPU Performance Benchmarking ---------------------------------- -As a follow-up of [our previous work on benchmarking a single A100], +As a follow-up of [our previous work on benchmarking a single NVIDIA A100 GPU], we continued with the MLPerf 0.7 SSD training benchmark, from the PyTorch implementation submitted by NVIDIA. The benchmark was running against the Coco 2017 benchmark. -[our previous work on benchmarking a single A100]: https://cloud.redhat.com/blog/using-nvidia-a100s-multi-instance-gpu-to-run-multiple-workloads-in-parallel-on-a-single-gpu +[our previous work on benchmarking a single NVIDIA A100 GPU]: https://cloud.redhat.com/blog/using-nvidia-a100s-multi-instance-gpu-to-run-multiple-workloads-in-parallel-on-a-single-gpu We ran the benchmark with 1, 2, 3, … or 8 GPUs working together on the benchmark, with GPU Peer-to-peer communication done with the NVIDIA @@ -736,7 +734,7 @@ GPU Parallel Execution Isolation Benchmarking --------------------------------------------- In the second part of the multi-GPU benchmarking, we wanted to -understand how the DGX A100 was able to run _independent_ workloads on +understand how DGX™ A100 was able to run _independent_ workloads on each of the GPUs. So we took the same benchmark configuration as in the multi-GPU case, but we launched 1, 2, … 8 Pods of the benchmark, all with one dedicated GPU. We used a shared directory to synchronize @@ -746,21 +744,22 @@ Pods to signal that they are ready). In the plot below, we took the 1-GPU execution as a reference time (no parallelism), and compared it against the time it took for _all_ the Pods to complete the benchmark. We can see that with up to 5 or 6 -GPUs running currently, there is barely no slowdown, but it starts to -rise up with 7 or 8 GPUs. This is most likely due to the saturation of -the bus between the main memory and the GPU memory. +GPUs running currently, there is barely any slowdown, but it starts to +increase with 7 or 8 GPUs. This is most likely due to the heavy data +transfers between the disk, the main memory and the GPU memory, for +this particular workload. ![GPU Isolation: time to threshold](plots/gpu-isolation_time-to-threshold.png) -Final words +Final Words =========== -In this blog post, we presented how we performed the function -validation of the OpenShift GPU Operator running on 8 GPUs of the DGX-A100. We -described the different Multi-Instance GPU (MIG) modes that we tested, -as well as how the values of the node labels and GPU resources for -these different settings. We also conducted a performance benchmark, -involving the 8 GPUs running simultaneously, either all training a +In this blog, we presented how we performed the function validation of +the OpenShift GPU Operator running on eight GPUs within DGX A100™. We +described the different MIG modes that we tested, as well as the +values of the node labels and kubernetes resources exposed with these +different settings. We also conducted a performance benchmark, +involving the eight GPUs running simultaneously, either all training a single AI/ML model, or all performing independent computations. As a follow-up of this work, we're planning on doing more work around From 88602e6de44b2734261e1cc2dfc1fe3fd53ea8d5 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Thu, 23 Jun 2022 19:51:55 +0200 Subject: [PATCH 12/13] Update blogpost.md --- DGX-A100_GPU-Operator_testing/blogpost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 83bc310..95eeda0 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -755,7 +755,7 @@ Final Words =========== In this blog, we presented how we performed the function validation of -the OpenShift GPU Operator running on eight GPUs within DGX A100™. We +the OpenShift GPU Operator running on eight GPUs within DGX™ A100. We described the different MIG modes that we tested, as well as the values of the node labels and kubernetes resources exposed with these different settings. We also conducted a performance benchmark, From 1f670ffa500762fbe0921d8ab28778550b12c6e2 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Thu, 23 Jun 2022 21:01:22 +0200 Subject: [PATCH 13/13] Fix links --- DGX-A100_GPU-Operator_testing/blogpost.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DGX-A100_GPU-Operator_testing/blogpost.md b/DGX-A100_GPU-Operator_testing/blogpost.md index 95eeda0..7cb1580 100644 --- a/DGX-A100_GPU-Operator_testing/blogpost.md +++ b/DGX-A100_GPU-Operator_testing/blogpost.md @@ -231,8 +231,8 @@ benchmarks to run gets larger. To solve this problem, we used the [`MatrixBenchmarking`] framework, which allows specifying a list of workload configurations that should -be benchmarked. See this configuration file for the settings used, -and this directory for the code used for running and plotting +be benchmarked. See [this configuration file] for the settings used, +and [this directory] for the code used for running and plotting the benchmark. [`MatrixBenchmarking`]: https://github.com/openshift-psap/matrix-benchmarking/tree/693be58f72c2f8f96fd3f77f6e6d08637b183c4e