From 99f3ba6a6a3b54f5070177bef6fe07d1ecc7aa19 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 17 Apr 2021 10:23:13 +0300 Subject: [PATCH] Skip ticks by callback value as documented --- src/core/core.scale.js | 8 ++++ .../core.scale/ticks/skip-by-callback.js | 44 ++++++++++++++++++ .../core.scale/ticks/skip-by-callback.png | Bin 0 -> 29489 bytes 3 files changed, 52 insertions(+) create mode 100644 test/fixtures/core.scale/ticks/skip-by-callback.js create mode 100644 test/fixtures/core.scale/ticks/skip-by-callback.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index cca092319be..c5c6a98a762 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -550,6 +550,14 @@ export default class Scale extends Element { tick = ticks[i]; tick.label = call(tickOpts.callback, [tick.value, i, ticks], me); } + // Ticks should be skipped when callback returns null or undef, so lets remove those. + for (i = 0; i < ilen; i++) { + if (isNullOrUndef(ticks[i].label)) { + ticks.splice(i, 1); + ilen--; + i--; + } + } } afterTickToLabelConversion() { call(this.options.afterTickToLabelConversion, [this]); diff --git a/test/fixtures/core.scale/ticks/skip-by-callback.js b/test/fixtures/core.scale/ticks/skip-by-callback.js new file mode 100644 index 00000000000..53232bffa44 --- /dev/null +++ b/test/fixtures/core.scale/ticks/skip-by-callback.js @@ -0,0 +1,44 @@ +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/8892', + config: { + type: 'line', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [ + { + data: [12, 19, 3, 5, 2, 3], + }, + { + data: [7, 11, 5, 8, 3, 7], + } + ] + }, + options: { + scales: { + x: { + ticks: { + callback: function(val, index) { + if (index === 1) { + return undefined; + } + if (index === 3) { + return null; + } + return this.getLabelForValue(val); + } + } + }, + y: { + ticks: { + callback: function(val, index) { + return index % 2 === 0 ? '' + val : null; + } + } + } + }, + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/core.scale/ticks/skip-by-callback.png b/test/fixtures/core.scale/ticks/skip-by-callback.png new file mode 100644 index 0000000000000000000000000000000000000000..d6608d1b04a5975efeb7c2e17eafb92d2e8c68f4 GIT binary patch literal 29489 zcmeFZc{G)8+c$pgZO1l`6*5Prh-99&DN|AAl1#Nj$UMsyp^ONk~z+6{#u(u$qE9i(By zHL5_qI%);Id(jGn#4%4WbUbV!Y-pp`G}%-tp$ZJA0-uC7h(?`5KOCmk zYGs~M7)#lw2!|($sV$ay(aN~1<15(GaDyZg8Uzbs-tB4OeP}H(KYD>XBl6zi<+O*S zIm0q7y+&=&II%ugpEj=FaZxqz4E8FfvV#^K{)r4qyP>ahh_YfXdmL+Hjzwh;%lLQy z|I7bBD4ATIc|mNcIkxQj&0Vs#Y}XNn5Bf2=Tx_E=zjKRUBJi|)CE3*-OZHeomC7IO zkFBs}Li|F#AFP<&U;Fee&BMmCWPM^Dt$fz3BKyyo4Cx z)PvW6Y4oBQA2L8PnIANM*kIka9=|{Et4*J2O1w18nmF|7HbPAhdAs@gPny$g$REfA4I-;CY6eL6nS@CNu>ND4mj{o; zM0Qbl%JJlNgc?zGOJcucOqud2;5)cH7u+`U3xrTyNN=2XNTQu^Nk9i#6P_Gf+R-j} z-7wqfC4!ClO$uapBR|D5ex?W5^c+WoQ`%5ldxVjWNg?zVQoE!Ib|0gQV?!px;vrG6 z6d=HH>s?h(IBXcAByKyFK+iQN`87Z|_KesFsA%%_!zWH>{BvM0Y0Nkgy3Im#{m}6= z*3FETBILun%O%M=h88n_dZkv{B@6!eAivqMIRBO9Yr&TEL(7b293=rHuO>kXy?`|4 z(Ln5#7kC~}caz}1NMZIPzCsB`-(EZ)D2a_+K!>Y7=1;Cws*yO0=Tau%$vF>}&L?H0s9^XZ+C^wtnuEa1 zLS2>Tao^I|{qQ%?E)iQroIkpeFO&v0t&9agO$j7?%ODWn;( zLGbPKYMf5{$HBLs{^$13qkmwJd1#FZgpg4}yA9|Y8cHC<^y-;bJO?@=`>UfU|BtGA znReTeg^p+N6W1Ba8K}+@@aC|C16t?5yQ6|3#1Q_y`&Y~lf&!|}qlpPh?c@8z5jd^> z;SO6%vqUdDS;Xz;I5y?~amYcgKPAVdRPuqyUpj1@%4jwn46htm7jEi0&4YXh3yDPW z?|l-uwh|AsMgrQGaIcXAi42cpf6->Rj_m3iMsTnZu+cJS_^RH6?s5E1>zfnVSM7Hf zEvXW{U#^SvK9kohO$C-xxb~dqpo+n{NMGpK@`UYaoLJOA-S@#U&)Ks`=03e~3Xv*K zgZr^v7myz#_*XbE7l3afa*Kc7gKTYW$($&LEhA<3=xMkUh7x67_Qid7-(H27tg%8Y zQB=gZ5Gbb{=t126Q(Q9oBTbZj8OQT&2*e?r)#a>vSMF`E^39l@`Pk5IpZ(qA?$d6m zmCx_415EUUjkK@vHVosdy#0ORIuek^2&AO51YQG2s=1A@slPmaRP|o zFoIcn$z;_lzIuZEkx&``TI#A#v)pDT<&diUUeBo@Zuvhg+hGr68Y1M6JQyIRM)ZSY z--bWiVkHep`M+LcMo2U0;(_%v6_q;C`Wqm>EgLBJuw)ef?0|Ob&(@e7Z>o47c%dq;0gHIm0*{fZaD}Ojo z|6QB`GTQUoE=jk0kmA_%>)3DN?BhDQKP}onCRvZc_2*AFq#s7!s@d77=x=|kZMtA^o$9+i6l&-1+$HN?%z--{fG4JkGmWQ; zaN~`<|C`Hvdv$xIhu&lDozzBcQLzNoS4reA44WjflzMT;d)`g{u2&@!2r_Af4mOLP zVZWr#LAj}JNr&5yj<+pZj$bF+f7l~hDN_L>sAuk3NWJ{dQX z!<4h|3!du6bJ*D@^$aUQFb{xUJKtQDSF;=)g34!QSFO+9aqu_sJKPE#JoeogHPpgo zO^+lgv=7ztler_!_@Q||kp=^t4ij*ebGenRDkv%1D0}y-qI(LAi=BjcAZ}~#PUkes zcYcS9c5N>OLUWFHYIdsKzNvFtlbU_}9FL8%*p7VizBX_e@nRf>et^l5fE`H7H7*qG z0+hEBX0sV^rJtW1az~Df*ZdAQDe|XYdv5sI;`gd}_5AhFI#zXKDC<JBm7I(Ic<*uIH>s6_?)*ktAejvm@bVUj z?b9ksL^?*#;8|mK+F?M;V=Uo$h&Vt#49fWpZtw1+9~Xe$vm?ikw^CapvQG-zG*!O*yqdOVrQYHSO?h*_)=`UuzxdhZXT$&=I zvwXN8*W`$oI73g|jL5o{;|O2uj_6h?dJ|S_xa}G#ddet%H9 z7q{(wyIFudY{6ItHnPCKawXSH@&Zo{6en1~WH|1D;4zt>SEiC74$%FhdjY0!;uSKw znq`{ewY|!SI}H`0*h~N_46`5d5dpIO!(q_I4fH?b|M&L!rZnXZ1gr&+T3Gq9zQ9vT z$OjSiRS3yT5?_-4VDFM+}oUreIge9;RxDY?pb(C8ZMsyPjA;c)sL9Y<8L9o`$ z`+AKzgc5Kr-a?f>FMWdnl|XXOrNENoyoOZ=3drDml)ZR~rfQi(4Fiy_4|TybEj2J) z{NM7UFD|xsX{>La=aDp$5F$h5909eK`SooEp~Jv=S)RTdXoE%I)pCEcp`zo+B*1|i zS|P+FePcDhGX4y{+q2=kU$d&PU?u+w_NGomiQo4{+>9IMfLROYK&ZC>mpJ=|*B^!8 zc|b_Ix$9MZ4IqGw_&Zl+Qx=z4!+$ilQ`p@O7QzG)@NL0x>agIoxUv}?Vt$*)r~2+| zAl`0G!7P?e*X_uwPl=Fr=lZ_=skydTzM)e1QX3dc2Z1&WDb9aSd2k$opTN4s&#=ae ztI|5peb*%^n(Pm_CcqmA+dmI%|4f-PGW+f*3bB&IB)@STwmTHr-y=ab+%9;TcE-O4 zxLy{uTPJK$mjZ{(c=NOIYLS(Xdg17wtyY1nvW^H^R;UDMBX=O9 z9cj&6c1?BYRq_GTpUNxVWBI*^uO{$F*Vj{4% z90PCnF0m?)e+k)uqBKl9Le5XvSAg(ewlK#_9RdOxGx`08S79H$eZOZ9V+ZWSECn4B zgLv^i6`_Q&{x^tj_W8!cN3y!%%03dx8<2MO?7k7UY-{4`)W+Q!H=w(t%y)G2_D`i0rIQM~R>6w1Y^M z<_0AbaafjroB=2V?hq@WzQQ6Khp!hz`e|mUHp}UK;_|>jR_W=8iRgGl)RWZp_GC~` zww@!%aXVSoLL0zAsG6NLId$mv(+pcaqNWZAAG62s$q%|$`Ym9oHhi?BDDjILDySHx z^1HO>Rv86ro$re8cZLnI}g2E-z z&+{Z}Uww>ddz7S+A_*r81RSe3&o11-9!HQVBB*IXTyhdeM_7k!e*)VcqS9A#hB3VQ z6Zo<6nVrB_rHI7jclTX8wB>C!Jd;484$u?mI0;lI#r|QSRN0XH+_;1p6KR->uJc8Q z|GaMWsZ=w(PLb^nSzzFy-!6hj;NPlJm$M7h;f69l6O6BY9&?kB<>0_ryTet{?tfK9 zz}T<9aZWvymI_W7s_Bq-OBf0tec!Rd3&I`qEm02}I3=OrYr4=bfKbae#p)flPw^i4 zD*H50ybl^E{tuhUkPa;4mjN%c#PrT;KtvEJgxpX=N0C$@quG(bsY5%T8M zC%Dk!R0l!DtQvN{PgpluZK4nS)|!)~xaS?IjeHZptlfTOlJuQCQ3y8LKEZ;!9`WeGuIuHe35VM(n0H%Yv|{U+(~5w;{Zae`AhJLw&UrMJVH+5H;V)>||g z8_122-8esNaW6I1N{*-RIB>9O5h~X|M}sUX4Uo*+j8G^M1YM#Opl-ZVrp^dI&uqyy$`K|SBU0){4>FgswD3oFzW z8^oH^hZ;xExy(k-yt(%~niA)daTobfA@6Qrs_|8L;cT6l#5ke)gCqCeoBuaK4nORZ zS6M9Yi_s%+J`X!xAkYFXakcO5ke@i0e0Td=04LTRhLH9a-*h>s!ofWlTl>ST3TN#h ztL?G;P)*jgiqY>(q%s$CD}RFfR=&>@J#|vqD_hFC6JSb?%{9VF{T+mC+ zLi3nv5M^|#(b8pMO%_Py2`_2Zy~mTU z2?(6?cl%Xlz=2f0-OSO1A+&mAlUD@1*KfK%LL$ReEh{7Uj;=DEdbfDR~GbPSTE!5+ph&?NUTR_7)%4^26FH@LXGKJ@@3gdW^CSNHBnHhPRCyP%!S zouFM5$m9;9U^E7{wC-M`u12VPNj`O*#SBX%I@INR|0!U~p6N=4;^F+1X3=fbRR^yq z`nBgnO&H>U|F>PP6XKhinlhrwWw!^jBH0~Jx&RdtMHIRH>>a*ANl58?wS8?K#?KW= zT4MSgNhdOG`jz1L#ue_m42y;-XDj^TN!FW905w&FL*I-#Y#_VVg%8D{EBmuN%XQdN zQ{C^P*q}E5ng6}UkP%w-JKkTu)#de4VEDAhFWPjg^xZGqZij-s0#L`1Ckd#j|3X*M zcXNes>@2)p)Y|S38_s>k#ZfX`n_yLYr^F&#v zUH4t}@yFJx_(bL&I!EBMFH6g9opW7BY>D4ke1cgXPEE_|WCY|_Gw^vvbh}Bs#xW1E z1~`s^pZh;|X6&I|P!XJda5PpIGj>t)$@z@l+=_L8IB(e`Fv@a)+!-kszGY8{AO5*5 z<~^@zYSURfW{TLI5wEqLO>vGm+LmdZv*Y0u@O=|tr z(KoY)fx@$1qj#GKBP?XLecWnT^DP4CB!wKhqfJVH&#CCV>bX!^l1-4zdT>}d6KoQk z*9QDQ?_B=+1Gs*nl?-=%KrsG!qtjU8NWhpG?E~HT<4PRgJl?*mN37agS?(v1Z7!sv zp$(Pz&7wnwj+vMdx{GdJy!j|`W0H+Iie1YNO0j| zK`0~HI3VH|PzX9f7j_*5ed7|4e`cQfH&vD(#>-?kDZhRJHkzKBQJ^99rG4A(aRp!` zQ))E6Gj>Y}e$wZ=hH3}G5y&Wh+w!k}>cly#0bvp)*jO6CLUQajinjrIpi8%joofP%QGUS2PDVBHA68kNtooA4rSPuQ z>(ZlhNjJ?`0fI2Uqc^$^2aLW^~Z6pA2x3lf3-GFxBG5{xrA zGK&Q}PF4k4YDx{ZZ$G?T_o*G-TlgPVtvxsvPZ;WxNqm!?hJsrOn557`pyAw$o8{;* zz&){OzTe-!($B>JBCWe&22By zI3FM-6*aNOifi8>!oC1d+cvh9 z2GMJWyT%1N0~*4RLj{>&qC!&JxZyatdT2$twn~38!IXJ_3#i zCxZ>TOK$4rZ-|Y>)g&nBn~?)4;4;_{8{?O-CW?V3%uZzdd5~-31WUUFC)QDBz-dxc zNpJWAoPwS`ZIW^)!0&Jp9Z8N}Y}PIN$OY&tCuK!Why!T@u4BxP`NVGw+n$wGq4P-u z=QYWX_F-5NDmkZnI#!|PV??rovHnv}I0sE#w@fWLF_HYFo$1Sea^)e_g`Opq4KjC|F*>NWXT6%jVFp#A4l88=$~rcAOsHH zEp}S+5qzQp>q2KyIH&NQ%gSzOw_Sam!QZ}g=4vKwEN}wakJnW?0Rx!K?Z>#tM2>UV zHm#bK&@Ot-KhGv2Eq`Wn^k1_88N5euy06UV6oA`*rHYB6_!U@&MH$7NJrJ;)HTvM$ za-AWR!}Ie~&-F^KffCr(^~N$OEJEV&CMofgqecsB0&k44CHY(}+2wyruHfSB=KG>* z(;*nx&vj2RE{>cSj7F0nF*owpJxum(N|#rzcS_gvelEc_&xf&0jX{ie(fHr?K9+fE z89QY<8zzl#5Xaa(>vw!ekh^_P8;%&%;jUVQcsP$Xl+XBDq%ltG)1*KXWFaSh+5ZyQ zftZ7h_BMP6>K>z6ixWF|o2PL?O_8Y5v(+OWY69h+lla8#4T~}aC|CGIlmmKP3InBH zPah@ca}c-XxQ+zc-RS3d9|i=Od-h7d$z_^$Phpi}P{n7%g{dj&R9p!q75yyJ$w6<#t>w0b+y* z=Z%PRV1*2x*!+iIuJ|`kTuPW$o|e`2-*wiBTT$ z{gXhXV%Z@C;g&r>2M7|x`6Jd2FQD302-dpuv+tmp?qQ9X6)Q`l|B57ROhs!dry6 zNQ#@#gLR|)>}$lk@d|b9o8PW24&~nd7%`ly<7I&20G6SO8x$sm3tncfSIyB>0PCa4 zRh}RqrHm;M9J!QqMng{`ayY2%0Qb)a=#0Ot)`T2-g#3mRKugi=c`GV#GX4S=i(rl* z?xQq90#SbnMLdz=KzLCSq{fygy&VoXm{??i5*$yPukj-ls)r_+o(BqHB!XVTN#dSb zzV{1Qyv2W;%=%o*TF_pw(yKc^3?u;H5J-v1HwD8!V%q<-V)WJ9h{x5;n9e-a+nc@t zxP|*Ph|A#rDJ1|20T1|mb3&fDIs1eT8xwV*I`rek2|iv*cH%v z{<+c&JjPh)yngjHScLCp;AO)eDI6 z)ZO#HxH@F1xz@o>G!t(+RbZ<3%YW^ZgwMp5YHuv^cPz~)ngg+9`sgh?!D9LFFR|Rd z4jC#l@SE`wXgkOMrf(?BH$RK|m$qg7 zmD+8`W~ft6;Y1J`aBya%?<@0w4}|_ZhLIoLPkWM0sfcqCzx43mfG58syt*ZDg7i+f zl)sw+*IPM-sr*!NHscERKRl>akl1l+*Wb{W*KzBHPkd?e5aGEWU)TRb)Pspi-T`s; zUT;sL#f&r|sKyYF^GZlu9>rAy`l{vh`g5=U1=>#Lga9Dwow!#$oUG~gc8BmgbD;*= z#aWPbGdy>0i#WToCNLk0-fqq*yLPHG6;3ROzpA|-=W<7+H<%q4cz?5?-Bw#b8r-3>};qP#=R zAv_i4#4BTAJwZ2R3*gHBS@d5$wGD4D@+n!YJNbvHIo% z&hO{!cwi!o7o*o@a}rasPrMKe@f`Tm-ZyVyU4LqsN}Ah{Cbiw~tmS}IP6eIi5VzQ9 zU|n=<`42>4>$(ZIzQF9qeRZQ>&FWr)f4JwFZL#~JwRk6~&Y>>J8Ww(fG?B6*y%}-A znFwhxH=}o9S^%jDZ)o#(#0ZSn{862IMRqaKa(;ws_tf|+=7VQ0CL1yNa+VuUwd}Vp z4~dB>{o4N+p=lfQoCX1>uFZeij=UQ6>VAW(?!+Q9{PFE;O6S?#XQfVR`WJ$aA_%qW zF1e+FEM4`hRU361-jna25tuz(r3Q5!d_)^6ceku+~lHErR!;E;p} zS};0+zbSuhC0w88UJ%!M^=GmwikZjRm`?GPOgp1uOnoaM(^*Y8?;y$giuqvwk@)LB zj0K#>^-NPk+y+18ttnS6u;C1D5%2_%{H0qZpI+#WS~H91UM&#(TaPCGRk*N5z2qN> zOJh0gXJ>ZLu9z)C6#kMyr|K)HhtH@v*j}8_umsaUnb%sCP+mZWJ2=txo3PuT=Th-G z#E3LRYAWqCu{$%BE!HEQWo?@uJzB{O)w%%0{$2Vs7ZNUg=MjH{Xmjk;Sah(D(7C2U z53BXmr6{89!Qz25-Fip-+O3eDy9QNO%<+9}ap#fba5y~uH%v)=%(G3jnAn_sxkx<|>`<#; zeB|4@7CF-B?VCcpA1g9*>v-u2lOb-*_3K2*K?rabjzy;oA{#DSMCy$YJLn z7s_LggyR={bL*KJmJjx(nTp51gF1y9&@ZsqukPlUk5LyWqze@IR8fqu;`q9a9$kjS#KZ`f`B#gZS$xT! z(Y7yLV`<~iTvrEco?)}^zyp7lK4igBXA2)~0PosEe142I{sg!=So__$iRo(~a z>`FLDu&IAk6+YUk_6Vm&2EWIY^$A`1{9cvTTlRV9I1Lkmh#{|9gXu`<|Iy*(^qz-A z8Wdy&iv^c|E3Mpc(-L3%!_E47knkDrHDCd^tf#q<%)qXtG0!*AU<8L?JSP1hyLzkW z(Wgtk^O{vZHlJSdsk?i;H*o3bu-WgRc{@Z^#^SfT9YUGfTLN98v~l1smOJfsJXJs9 zL#J5RD`ig?u6u!_8wAKI>4IYIZ$_(FXlbyxL2iGjOOSAPqf@#o#TY+Ovn}d9Ba&|2 z<#)7kHr#ul>gRpH(-1AOQ+kGw;fjBWkt(fQH16%>CHf&Ke`?OVcjw+cVpl6X{X%YQ zBOO53%+ue!IfMZ9>djV;c-I4OBLjx7J~hkC2ya&oRNLQt^Z@!iE%2x~Mq6&^Z3W># zNwVG0hsK`=GvdQ-rbkY|9yph(pH#a`ROW zsD~g`-$A^&+jjyAPB^x;&$F^!M{AVF-C(q97m$y#tDf3b<4;K47*Gxe^4o)!%Lf}> z@d%+i!a{SF^P?uqq^tXbz*cR}{-nh_V3u^`$JD7ouiu{uWZs!UkG{NJByUx(_SENH zn*9ClQs;aIhv^;wvL@4;*=S{u3?rTt>t49hpGpp;P&%~o=F(FTD0*{aa>EXFJIi7@s^u%A`L zitK36@DlqU?%$a;5=`iVvrALydLipKBmeC{_o3{w`F>4u8g1!NnO`BT0ZC+zj?_%Q z*SPuXb|vz8$z;k(NLGv}z`R3YBnz#-5%7g#wbEH7aL5c3dfzl$u2jm=$VCRt>9ySl z6w$s5(o?qzk>w#ly!F2i)^ne$fl*_sjvi?)S|ArLrRRF?aL#za*-y5&_R?K=gMQPo zTYCj~F>zon!w2o@4PWZla;ZZ1Q~@pd^!5LsB|#5YiSHrHDb@Ca34v7_Z?mx8X#0xY zpSw%m$b%|6C+9-I0{ri$*L~#JUZBV5SY*Ca8EdP8W+Kf&v4Rm|8R&2ah_O7(l^ zSnZYpTmJ7|Kl)4Gh5G$SR(F3F&7~8hASUQS0_`Z4noF3Ndlc?GInP!wA_mywVFT*J zyC@D&bEp#X5#Wff=&RQl%Csib^9t$@|5$(e+ar5+?Q2-uj<#W73>SxhliHrz4BM$b z_ER7dkmR>*WEc07;2ko9IvpgNaws2}l!+gbdaV)Klirh%-7BD!EGh@RUh&`mJ{3{C z>0f;=SAIuxNyYL)Qk%}^djoRswpwoJF|w1<9@DJ$g z|H7pU0iQYMecQZjxbabYKO(Bo8)*iWi<~twrnI92Ojr@eUNu@7gsBKJm+L2E3zej< zw+j8VD6B?}X^z$Xu11V7l(GEmXde&ukJTLH0+YIDGo9%CKfze{)X7we$(tiwOm9YS z^(pK0%|{CjZfNW@uP?^|I&86ntP`gTAWUjyCZC@h{F4{(xYyi;?*iB$+POQeEgPSW zNx#XTGO3q5w7(^{#p_$Mil~Q*8AV({#`*6Z5rF#LGWS%we$7iZ?v?cp9RL*L)Y|5i zQDt2Ht8A;t_Q@>3fC{5=Ip{*T&pJ;87YbX7`h|XeIXjf|>b_!6Sf3;`jFJKqFumxd zgt`jIhRFJX#rv>@7fk<3myFDvVOkth^#;*SM{4emu?SgngBT#S{=3OkUXX^@x8>k` zZQBK@w}Y?j7#-K-uTr-2HXsjU(9VNNnXV%>$es-jp=gkoIq@v-;5!eR@R>cSV->l@ z>G6@jzczSVEQpo~nTm*Owf<&mr)F*CVh1QDx1y*tT7NYlsTUZxuR%bM_?2&KJMVuR zH?_DiySyq_^_f+tzv+O!=6IWf36aWT8vQ2h?HbVJ!>5}mXl0=O2-F89F*wACX`cW5 zBi^&im#CU&g&H_{T&$kvW^mGw9C>11IH=(Sv}pAvzQKhx4UFdxqMc`c zqX0312%%NHj>p125!H18k=xDF&u`{D!>N~fYG8mxg1&geLp$e6^N3tGYmIg78_Jxg z!f**K;+J)TnM?bUL73!w^}oWT+3b3;yk^I=o@82OjsWjxZno`G5+?FUnHXDDq8E(Z>|8K8#x5 ztP=y{FaKRh`KKY4?)zL%4fid~6w6tU^qy<7!Mjb%5{VB>yxHpOaO`k2?iLXD<*ai2 zraKMOPWP@_$_|{yt=X8iUlrc9jJ(ZD?%&;oEIZY7x%42a;d?w)Q5I;vSSx4WQ89yC zh1!y!M{fh|W?E7$exI9ufwUh@4>TRic)GA(UAWd!Jl0Y_X3eWMOz+l;Jc3E!Z3jj&a`!7Y2 zhi?J$Ssu&e6jFV5RH3xQ@5|V`NKc=4eoxMqI#YGjX@QP}eL`!pEPSd{;8gdZK*N2$ z{`B1L$LbC>o2$ejuA%9y)=>*9{$dvYQ&g}$!wqWhWCm=AATRh$dz*$7zFo-d{KR8O z0u^EMVQirNeRaTA*h=6EK8pSJhph6{#)-=O?16LB0bSA{F(zQ$|8utEk}E? z+=M@SR+)_kL|e`%<`0?0Z-*eXt@% z=qa!=JzeiO=h(JaQe$QksN|+T^(mEyhXIPCWm(4&j>7X$xT_r@X3pr$M)|F@-C4tE zznAj2{nTk$Bmx8dMudiE1Nt3Uy5^(oPoy$sW+wya!zj-D~y+z(y$fWE!PISl^#KI(N zKHlJYrN2=pQB*Q{0YrsYpif%|;WHuw9t)kr=l~Vpw2YrJ{eI>9v#!XCA)W)6_|k7u z_VKNHyY0WRgi6%Lkf8Z^GirSQbg6jm1rRB|WfTjJLYPB<+asT7>YAV$bR)eq*R?m4 z_=A6bN2_9Thb<3?_o6`uzUFkn)Svxi1_KX==@QKZ$n4Wxy~dA(hax~8EubF;TK7b? z7#YjSubvzR>ILXsaWRgIRNScTt;w}6T!`niL-Kck9*a2Q4p{pL!r4O8y8z@ zhbU2dX^XYmBF0~;gd^xz_)fvToLQgV(9c5XH#-tKBN0GV8-Q?#e;ux57)qk5Tu|eZ z9F*j~bZ5D@^d_%}yN?97?uyCG%(!~nJG26|JDnN!D zIgSZmNB#Ou=^SmJYbnjJ_>BxQ+NY<#Q$0Zzm{VKh{YBGW#gby)A%h<&k@ooy4^&H%Xls~RIJo39+-j8407sB1w#0nW8eJl`TyytsFj{Xo zO1C%+=DkJy=#RV9Ci(ov7&GJb?s#f2qg-U9(6yhL@kVSF^1Q<;XfCFgi2wx>&FgLciONYrdq-kSo~2`gOm3 z<-G|ii<+2#*dSB~pp5IIR8B`meM+qEgmTZD*&?P7-VS?bKB9Wq7aV5u;TJHZ&6D=) zL^Rtr($V1aHy`xw{vTiL#+;g99rgP~v&*p;0fkUx7PMM-qoIAwZaMS0@4Y4Qma%RB z!s6370Tg(PB71m}!L7p|ZoRU(5Lz_3xSxKRrm4-AGV1EOuyLN4zThh8spt%1n?%+8ivBqr6BH`K2TCn_&U3 z0G2y_&!UDXfnjPgy6QWT=CP%YM_%j&a!ae9f8M%CQ#1=!bQ^)x!_!|In$*6SxR!A9FF!> zztJ((K9=i1Q${l`7!BsOC#A>PZ)9u2T~k~oV3*{m(0||qyC8|kw+)R2T{|WC86dM1l&sUe{TTgTV~VV? z)c*@BDrn^5U@$o_)x7Uty6V%3t|s_pQZ}&niVjDjdY&pY#3@wDrkIS0gI=^Sq?pUb z{Hw?C{>+xo+HLUWl{_~6U;3cw)VlNW!Wko{ep6Rcltly>C1 zzz{^YC{!%B=_bcNy3%DkcMkL^&p{Gs)bCNj7Ae;J%NyQZwd-e#Ov`Mh9x-H-5rdj1 ztTFr%Ntno{UA&Ix-cH?k`gw#Upf07?Gqim*ybVrXDcOo8#Q7OWcfY=yHvLSSs~Ek@ zt@3twY}5i>F;?{9hqVHJMA5szVz{{`ezLP(Cvimr9v zG#s(kFvCVgcBCsI=K4nKU$X#&#it6^zfrF#RomOhbToVe)0&&r%S*US(bP%R%P#K; zszy?m4s?;X3{@!m^6vah&ay8VV(r`Q!Uq%jqUCoDxHK;kjOTWci6A`)!DMEqh=|9r zU$rnYTJ#1(*AtA#!te(X&I9KQI;q0KWs&zhjJZ=5sb+$Gk5hE#{9^ZfLQ-zI6b+BK zRPo0fb(!B^n8SM03?~`2D0>_4{XBeOUgPcJQ2b$K${y_W&Geyr7$;qkFO?7j|RK6k^0i+oy|FaOvU_Q=GOdY;5rzoN{mmUpfW2k=8Qb~FIp)ivOU@3r# zdzs{-$HV&QY!@p682|xngy7-*W31|=eD_j?zAxgO;B3_qR{^;W(d} zLm9sYk$578`6H}bX`*?Pn^v>|Z*K(+<_+s632`bB#a;Uw>s{oSkHi<32J^NfIkoy4 z#v=vJ#vA;(^97sCA^(x+2wIU&xU9&ja+v7Z|91G=%eL0NXEU!v=GZy~>i8rt2&}yb zxP*!Rav6HR;}_Y~dtB2&0;NF30vVi0Vd7niyA$LNN2@v>egg+DzFb4Wfxxukr>Dmq z;r%zi5-QU#ze{qJ<|-5Pw3H_I3bBJWMZ((F5cpO`j+yAE%_U?I1|Li?jBr2(ZkSrP zJvBk)J$TJc)#SBLQ0+IX{Cxj{&7qp$#-?`NBfe!~ZQ@PCh}ZeL_S60O!@ABCk?l<{ zB`)w8ZELSwYr6t5%>gF6Juk1|AfI@b)#W%)-7l1_@o-J_F=s=Sl*aGP)vWP^l<}-Z z196R?{d2u5a$WszhJAme{~B`GYVnPMxtwgOg7uUnXxoiiV=_8abElzJ=Zha8(1{)9 z<|7*_$7P6vD}LydJL&b3sFL04dp#_i5Y}@3yZD$e+}yy^Q!k9B5C`s{%(TggQ`_Lu zVZ;#$71^Q`6Mk>#&FLK$|j~BX{ zciXs#&TX4DhU{_>`g;7yN@uUbe_^1jF~1HoVXyAR>ARs6XGIH0Yxi)cF(fONvk_s1c7PnDf-S}xH1un343v-g~ zB?JZ<+rX8q(+$!-b}od`@Y{yEhBNZ?Q&ASu-k=|aG&5QuI(wWfG%&ob*kzkaQ|`QY z%@~@LO7mlqbh`Zsc`}iog4uFALe(=czx*&U5)?QsK6{QTiwiWtvOe5pdF&FHoQR`k zikV6BX%LW&@XeII4AY}t@NXl7bFB1GQF}n$EDrtCJ6T(>=V6*w(67?6&K5u z_{*oN*StoOWDobvNG~NM4I8L^%~u{>Ilmg)6_okW&iw`a_M#fE+jJ_azfkA!JHz&v zF(6c=(WY;^hQsd=P3N`E)d0ae4C=0-_tK@VZ`rC>%AU@;KmE$DLO}I^#W>1Nbsugh zepT1ki;qS5@H2J#gAo%$@AgSsP%3ls&?^r{y3|mArD!`83bNVRTn+7vWUO02D-z6p zeM2|8!ao+hFv5JkJ344l@>>?2ts5&@7s&%X4B~;O2HtQ^s84!Kbpo@ zz4sPrQu;7;#7B@IwyKTHKG5TX?stId z8JvcV$79cOXsotd)!cqrsKG(U{lmTec6LDlk=!pIv! z28hnc8w3FM-!NQKvRG@*n2we?l*T>u%`x2cPrjDeZf+&UJ2x|BDYYhkF!O>TJ=ytP- zzc86$gQYXsElaCg9-ki;s?l5>4UQH5WKWsryx?9h!twqzD$?)RW{ll6qj<#@@&RqI zA&(_X)++jgGTR}GRqwI=GXcj0ENc)0q@-Nv?!<;G-&x(MzV!A013AC-7t7P6}=^LfYPPvA+nOHt&(!E{+_EN!#S~-fdv5!CwH( z?e<)_Eqa_FVi-9=I&R?>oVKI2SWYgxX=-b^n|74&JB#^Kr*g^7l-C>+2ulIa@m-@d)4sh z896BZ_+a)E5+4=Ys-}W(T;+%*VyRx6yZS^PGj=HRayr7xVg>|~t~y%TIEt_i@z3^* zLG%Vl8;y&jor$-~f5h0d1)ns<=2YdqCY{swM+8|R_gz*W90;mHa7Nea` zh@M8gYp&e9T{ua+>5&2nO)z8tnZ;II*`zC%`1CBDRHHd|-!(r@(Ud`refq+gCJhkNNpk zZS@-IS#ueMELm?&qAP@}u!5m36(WZSBqyL1Nq{w+!Rg z>NDtr>!-c}u$8KLF22ulsjo)q$5r_FcoS$g&HJtIf^PclD|3#K-Xj)ks^8AwsTdYh z!_d2B({*`7B@$(|KOgXlt2C>yJ`H%~e3?Lu>>~ZaL+2}PYFvbdTrvzRKl~|j0{Elm z8tE!i-{kjvAb+>5;@6OGW|NiNR2h$WPf`H>a0p3m*lYIj)q)0p(tYpp%~QmwEEN7G z^$Qm6BljQd4a}K|g@5mjV`OR7Yj~?+NC=posV+aUfq7&gljia97mb@lsIh(Mq| zC2E`ihZw6}%USHWD=aODjZXNpZ~oY1@n*7*hApMmvvZYkv6kMJ3vLn1q>FS-dm_ws z)^Jyon#&EmsKOvDf1e8}jK)I_0Rm)@#L@2EQ4_3Vv6LW|nf~DLXy^ey2O;IOa0IkT zbTwNu=iH-W7jGv0&f&}w0qHL<;du|$Og)Vwluzi`t$q5yVp-gGt|jiP&E%`6o6n#Y z0@mYNIjCAcJknFwDhkgWmi+WU-^9Wc+@k{q7$^5o!iqp=P%`yUgW_ z&u+4mp1*;$$<1P%PSi|3@V)odc}}=jx9mZoy|&4*;Pj-LoieK8iay;*zd_I@^T7-T zzk2YvdFMPzh-#9chL3!?d@k6?-=To~D=T{l{lWCSY3cUUToi?*86Oc+2^d+Wd!7>g zqWtu71bmpvH$iEM1c=S2MR%3TMExi&s|KFBlFygZvk7UsP+0Pu0dQ=4mBv$uXejn) zlkYi#u1^8;H_n8PQjJFZpQ5fj9;&cypFxb8tQ8{r64}XaC`F|tvSlYk_9g2u)~PHb zS&}_TSwfZxVeE=flB_dAvW|5O!_0T4_kDlgzx>XbbMEIk&%Isub(uX{j>zmjaBhA> zxPz}*ro}&knSJTEPclRdc~Qe|Q(?XXeKp6cJzZxoa~cMExDf%a#J`sd&epjH@J0wc z57J0~*iT-5^nMMxa=PcBxj(m>PSxxc7&m}aN@m_E42RkwunvlheXC#fGDj->9G5kV zui}o}4s-v&vuDf7NxC1?essSJw7l*g;|sWjh$np40>7>C zEsxi;I6ihYviA9B+Oov_oDS`}LU zAo@ea#a0xO+euglEEnE^h0fpWKm}vmx!~;5D4DU&Gm=vSQpxRomB(*|ZrtRO1_u=l zT^O}uYgnFXSt2fV6tWgy=v`C&2MAKWUUl~t(7(GuuiNnfPdr_@i#a~E_2k~Qj* zise>sWN{i43An!EPPaM#z$oQGQ5-m2C_K86EOYAF_R|xzM%$H%H=c>&c)880t?w** zel_Wj(J&)67$LUTlb)QkwIg>=Chaa9#{5-?1!1M<9&1APWp=c+k@q)kSvVf#e2~sZ z3an$+&)RVrB*{Py9rT&>umlUsiEab!-jW`UWAWpPmzSzLVlucq-_19mCbP-~&e3VN zuPS3yzA=`xZrsafP2S{az|)L#<)?~^#W9GEe#rC(X~tr*ic*yH+MFH>lMXjz-9aGq zpx2a{+frwg+jL{5hoXLeLnofsa@K06F}~zd3#}E^=?efi0N=75)67st zuY4(Xoh!ElDJ5t^uY=1egx4hQpx=D`YM7^T{wngU-P#Ee{&Ih?5nA<7oc4^+i8s<^ zqWJKWb92#Ri}H>oc)PE5%9&J0AOgelT3+z;l3a=h7TeKERY)#c2#AMO*OAv?dtb>7 zaG06(qp3igmb3P4-gJHQknz!0^@F>80Jr3W7Fjw;W|CV&RRG_?XIFf?Zd@>a1I4Ni z&K3JHRR19GQBpbis3~6W4HM`E8zAxz;kW@`LDQ3inX}h}z`?@|2U;7->GZK4O+G)v z8?+Gq{B@bT7UB?UbwLmrwLS%e@QOsRDN#3AAg(PB&!51FZFISZI(85Qd3{lwg68y~ zQ@LyS(dBPrKInt$F1g3ik=+6Wb8PgaCSP6yPlUo-rw)#6m>r1BrAne|FN6GOgS1cM zW303pb%SlnA4(DT{cOu~zB(3gMfDPa2Kz%Ft98E_+b-0aXa%F-g0G|Tdea(eJ;o~J zjs@4BMlBjpLXhiOIlnpw2ufuX4xS=3g@H|ulxqE-%(bD?i_MpYTu_(z>2+X8GiCx7 zx{;hFtt}}DA#O3vLRj$a^+$UV(h0QY@e7jyDa~Ly z%D}6BSkh0w0H(2`ND>h#7ui8zV?+!*A}4qW2~;pRSYu1RSJ@Kx>N{6TH62oj*HW62 z%|yW5JKgk07xxD3TkCmzo$%8LOT`B6({Kv2c!fz+aMUE6I_#R@)|M5)r(}K&Z?h~5 zd%3LKJQb*!v^#X9(hYC=$CHA#+*zH17DjpQo=r}S{3!{sY%BS)fx2f1OGGcX*vT5HqWHXNd4wZMbm7{an`1 z1GQs~CnE5(gwj^>A>tvY-RC5kW5J+%`t&ApX3w8VHI7kH4)*0LM#0t5x=U4f@?hb| zhZSo$ZSS|f`nDY)f)^M%?z0nQjRhlUdPA>m1)Jy=Nx-dZ;Fz;%co zM-2AIZ2~*B^1Q6#uuazd0o}YBEehZhUBV!o`4pwTrLMfP{^wvG>kSQL1B~(mpHk%? zI4%X5foV$8F*-YvF*%=%ABL77!rrn~sV5wEn^#M1vZ0b34q2pjhh*s=Lr^H-c>lKg?LO zQbDv!$<7aJc7@54u|Fy+0-qQ?xdR56wp(Cq`HQxPxP|#!lvL>`V7e9I2j1rvMYY1G6qEat$c&h0n z?j(#dxXGSy&)tH|^6ePS_2_jK2mjH>+Q--|BEV^L&J%#ZeOP|u+V)=e2kFa&{m+IF z{nvN37!4LjhW`{OHn4b3_xy@uvvIS@467%wty}t{9dnE zHFit!(?aLNFa<2WIElwUSyIdMOaNGuy-3FI@n{-o`G! zpod7aI=7u>uC)shL4lp{ph333Dc0jun4|tj?`@r1MUj~li6U7 zj@oq-2+DnKRO;GNUI~`pIGUH!G$DaEv+z)E*^?l;RoECbOr>K%o17x-n&rK{wr7om ztK@Pn`Fjqpdo;x4OT1AQ_Zh6cSwU%c@B;6k z;v3D5H-OH!O5`o4WA8S#ta{+oyAD8<&?N8fC+N+aSe;AW(l%huPzzL%W2F#Dtq8$R6|h&oF2AraYlDB;Du6ngg9i=+S95F zOd>>0FS?IkZ1FA-2tR5JZ!P`(LE0X6H?<@=Np2{Y^bK@?^ z-@ba8@@Q15bQJD|);_=QSpSx3+hY#Cmj8SFSA|8xB}VM2-)7ljoS=&##yJ8cdU3Gt z2tW-kL?ZYjfW|W9a>fNn)EVxCdthmlRc(d1&;A{C+v2eAnk~rSuwXwhYUZx#`+j5PDfc4%cb%97-UONF7}pllj?_X?7yG( zX4;CT&nY%U-4JBC7{e~#l8@*E1AxU;TKq^kqTJf@cNbcmZq6t*jj5SmBN0;!0M~SNop#KE0+wbIb-Lxw;!> z%y5Qb*sUQpeM-j7(BG?i*KG zfG>Q5h)nsOz)oj*u0!_(70H)I2tsQJDOcZ~PFN-?(z_?gU1pIs9dkUtGP9co8RpHl zV~g&Vo;=w=xpbi}W#u!lt2>3U{vFijzer>qCuBTEu|www0ZrG=f0BPokm@#`CL-8$ zgZh>`<=xZCKaGF3SWD9vsw%b!(k1e4${STi^P}Tf*HF<#8>ZOuwPOP0cUwNv0f2Y3` zNAX-o_HhAo>P%RAC4v%>?r#;RyE?g_(C|}d@NBu>@U(1?ll?S{&t1Od2(`LAv9__S zU3|kAfIG=ZZZH>nXXXQ0>}#aQmz2cTr(&*g#Qp2!!%!*Vq$_Gn2VBhU0wSoDbc8_W z`=Ss;ptS`#W#luw!XQJG-r*FyMa!9vGV?~WQ_HNkJ6aaZ*xMQY)(;h6=sM)+^^tA2 zo_DsZQjVX2K5Cq;F84031QA`%{Zm!MbFYeQtyn*Yk7$CBSdqJoN@94;h{kN&)s)1N z`)k`-l@6qy4*M?LhxQ6y{ke3Om$Mv*9JffW>4fN~?Kqw?%eGXgu7=ePunS4TUF25wI*%2|B7jQYqY%y4)jHo`vBC4DlG*O|HD z%%Npe?iMN{S9QiL1m8##wt*}K*C&^cq)K*`z0 zI-t`^b^drKd&2Z7Nv%BAgJZXkgcy-NH}PN|seT21vpvW&8w|EMevpNA1(DYP)wyWZ ziuY3aoF>6(?y=NM-2`+OCU2uNN5t{OnS|xUNM#Ia!b|Z;sjoemWKXe*Yjm}c2 zBNJ)(BHmdte~FdDj(c8qqrEWB*n<1h`h7i5Q^6^pGWni+7Y!J7E7Q!H%S7-|bqf8| zM6% z#uoeG%iC-K{%g;NWutv{O#}RlGsjVx;1xd$UZiG-wTW3(MJ+g={h;+dmU1=D`~>xH#)Q0O0sR(+Fs1=+H*BNnBS1(j3g*C3oiGI4L5s+7L0I*b$()HFWZtH0W@O%3-e_`NQxw?UBIUvu# z7RjtGQo-$ZS@eHTEP^*8#R?%=$`RCTNuZ|j#q|#8h6sa+9ady|UDl?rOJ+qbXMwEl zh(*O#liRSE;RE%X`>9n46Wj zgx<>Nyt_qkH+Ok1tP%#FBkd&W8A6eFVOje zXBDv8mm|-COl*x9p2HldJ~u3JSx{nnJz!qeb$>7#-I9efz1hrPN*iY|W?#}~|CL93 znpWtJD8Qr!I{lgTk5h{YDf>4oCn?<;D=Aa)eskfgtmEr{AB&DV)3!|7XAl^Z3SKps zTKQ5dAIQZ!Fp%iazt8E;X!CjkUiPec5 z)ik}>XS<4P{uuG2{!e<$u8AGkhD%OP&hUE{zFK3j7%{L4(jeEmF1_=r6$6*FR;(hS zSJW3|W$7&m;$rUp?gcIfALrP)#ue9nZ=JR-a2tGh+TB!tI7p9yAre@9Ev-p;Os!EyWG z`So14eHR{}fU;AnI&-uhJQ+z|)3RJn)nlp2YCBvwAp#17T$wiS{-a+wWT1#?Du-{2 zS4&^UYbbTHe%JW#vU*#!5y6)^dzG9LXb1V%4ExtG)Wq!%UM+3_8>>U1g8{4Hs2&=I zEOPo8UQgS)6WDj!R%}=r&-tO1CX7C}FgQK?2<^resO`^H8$s=}oiC}&2SozDj{_SB z;C&kGKNq za;Q}$m5ueW#B)oYz*NNcS6-ixPTtkJ5u;ih^$3Tt`1Jd9bKz&8?^e{^f+rv=`1+MK z)0%Bz--uc|WHuZIOz|KW5S|d4ECaZ3D!?F|yqZkLQ7MTCDs6C+MdR<_g*PD7V1!}8 z<`j4g$~=84Wi16sVnqr4rExC20^ZBlW|VehP7Dt$gL8J^J&e>B(vvOP4n~PD$3D5% z5D4Fu@;6~#ko#}6%Leb$?EK+O8NQJ=Xd!z0U+Z-DhbfH+-Dfocu%^2Q!Mi8i`0^6` zxLt2u$|whkT5=@JXyogJR#aG54a1E4r^rAtKV>cKyaiQlR3rTr`LA8#1;Ve<`+|0?OQU%Lg$J$Q6{vH!2y zj-sgi1Yo(y$6el{T?}(NT^=DNjvbz~B)z8ATpJWAFbQnF-y$2oshGUi2$o5ERWDV- zpy@xN4JpPqHc1ROzOAM0Hl6DEd=j}fiSe=V|16gCrQNLEfX^>(t&K_{I_o4{ctaMO zM->#OXn1Uzet5O>urc42U5)T*Tcyx?*euJp{qzn?SomIZRojTvk8c||g-M|!^z~ZG zCwVm)&DsT;dV(ISwz4E(u^!96Q~1;W#?Oatz|?;Q7ACH8+15RfOJs@SYI_wdakq2skzlB!WFwqYpsLFMXvVlyW91>Aco-4M*ByDSN37kD|T*u+x1n5 z%2|Tgg&S>|EAD5a4d7ePc!v<{0bFDE2rYXvkNRaWza-$B%;7`fGtTI+AH^!uK{XXd zMJWl?lyR1&sGBc$7vtOA(b|t>*Wnw{tTuPEmmIssE;pf=ef}_>s9PcJ~g<;$xe6NNOv8YLWquTO$J#4I5 zmO{wi`?NU02U68Cyzd3e!SvXZU2b_nKRdWd#X1Kf;UM>4L4|C9A|Ss){fayM+AT^) zufyT}`RG?K+?6)@%2f_gfAg9VIQz*{h2g}h{@0eW?PY-ZiH(||C7S%i@8B27d11@% z9)Xjt4~_{Mti5|}BtRwgs`@5fbS1ywL4X*I2HNa(LbJ?p(R77-#^56bz`+44I8)<{ zT5Be><^)ov0)}iobqWO>c-R*lnqkzQEg=d5#6w6^5F71GXyWL*E1n+uOmzJ);L{nF z!CC*KvM6UwSnYJBHRfgbpP9W@j2EsIQ8Y%1%F5&cEbKxT-i!HHu=tF}$nVXJ^#wmr zC$P&?uuO1=w!QE+%nL0f)AwUsHq|e*uxue9ET)m9(>t*E7>*`%GJ!j&{f7Xk>@27?MxaO38`6Zvtm9$3T9K>h!0l zk-;r1wuz8KF}ctu(;;)o#BRCBZ@{WG?jZAMVCXPOd&O$#o^-}4c(5koXhIhCRgt^p z3A{{gTNzc-`J-om+eM4!-xsp%TQ_NFltJ~y+<1N`9ztoXElR}<8G4|?DubIF1>z! zCNyS+cV;7@`!&z5FO_hAJcIm~HBkxJ@cXAnk!2V5?r051S#uIcqa~$ZP!ETwHW9Zv2%i_CcNi?Fsq^YJ;2;MNx1*yD=ZIYraKFvq)oG#n zCD4#SC*9E0ns=~u#7^Oeg>BHNY#y}|cOcUYqK?jJu&kUL`d$23$5Fbl4Ildihg-4R zJ3D=Q*K%-&f1Ey`)*8@}JHX9_TRL@6l|Zm@lbt|DB==r{w}Yo4*I|{mievSuL@Z$4KSU zN^I3Qw2KEuhL>w%Y%4JfDR!ARzQ#aZp4n_)ENo{jzoz}msE>ioFxKW0tvw$~a;t@iv z!b#BJ-o>{hdac&k7gLVaAW=eo!|zApap(# zEKN)vKc`0w(Af(}WaZDiKC_t;%&m1)u=83%CKImE8I1<8?cX4or?hSr9L`I~@#*7> zWaxDZ8t*bpz<|H=8hKtyfCH4eUqIdO81DYC0*cZsb?c(lR*TW_u$mnv5v~iz&=K<@ zTt^H7*LHHE_Oqg_D)_M6Jp-@i|MTjbjM#^E+b_GH%4Gg6Dka$kUj*d;wm&~-Z5eem z7S-~-3J61+*~RfY$?^8knWK1PgLgk(dr&lqtH*+uEYIqDG>to&ju#RC60o2-S9xLY8(j!^xYb5$BQUwFP!egDTFn$g z?cHL9za{CwC^XRANh4!Y6ef_)jY%z2_d45+=p&P?QaBPs-n1-e&;uGg%T*6|HS$j4 ztTS12BZt{%*`RI~+;o(Ey5V3x!7U_{mP64>I4CalO7@prylG{?>NCn%IZE;#Zw_< zeA2!wBtEo$?RQY<6>aEa$gBHTmxOO>cY=~kla`fflwM(VbcD%r0}Pp`k)GzqCDZ*> z=yKNVl_WE$XQiM&v|Q2aI-@SH&{1m`ooO&0js!!Sq7paL$YHrUdGxW* RK`Bh&`c