From c02acaf272dc774bf75e8d479dfbd6bd3efbbf31 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Fri, 29 May 2020 00:35:38 +0300 Subject: [PATCH] Arc: Stop drawing anything when hidden (#7438) * Arc: Stop drawing anything when hidden * Cleanup --- src/elements/element.arc.js | 103 ++++++++++-------- .../controller.doughnut/doughnut-hidden.js | 37 +++++++ .../controller.doughnut/doughnut-hidden.png | Bin 0 -> 41879 bytes 3 files changed, 94 insertions(+), 46 deletions(-) create mode 100644 test/fixtures/controller.doughnut/doughnut-hidden.js create mode 100644 test/fixtures/controller.doughnut/doughnut-hidden.png diff --git a/src/elements/element.arc.js b/src/elements/element.arc.js index 3f14196c8..3c0ee72c9 100644 --- a/src/elements/element.arc.js +++ b/src/elements/element.arc.js @@ -12,17 +12,17 @@ defaults.set('elements', { } }); -function clipArc(ctx, arc) { - const {startAngle, endAngle, pixelMargin, x, y} = arc; - let angleMargin = pixelMargin / arc.outerRadius; +function clipArc(ctx, model) { + const {startAngle, endAngle, pixelMargin, x, y} = model; + let angleMargin = pixelMargin / model.outerRadius; // Draw an inner border by cliping the arc and drawing a double-width border // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders ctx.beginPath(); - ctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin); - if (arc.innerRadius > pixelMargin) { - angleMargin = pixelMargin / arc.innerRadius; - ctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true); + ctx.arc(x, y, model.outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (model.innerRadius > pixelMargin) { + angleMargin = pixelMargin / model.innerRadius; + ctx.arc(x, y, model.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true); } else { ctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2); } @@ -30,35 +30,59 @@ function clipArc(ctx, arc) { ctx.clip(); } -function drawFullCircleBorders(ctx, vm, arc, inner) { - const endAngle = arc.endAngle; + +function pathArc(ctx, model) { + ctx.beginPath(); + ctx.arc(model.x, model.y, model.outerRadius, model.startAngle, model.endAngle); + ctx.arc(model.x, model.y, model.innerRadius, model.endAngle, model.startAngle, true); + ctx.closePath(); +} + +function drawArc(ctx, model, circumference) { + if (model.fullCircles) { + model.endAngle = model.startAngle + TAU; + + pathArc(ctx, model); + + for (let i = 0; i < model.fullCircles; ++i) { + ctx.fill(); + } + model.endAngle = model.startAngle + circumference % TAU; + } + + pathArc(ctx, model); + ctx.fill(); +} + +function drawFullCircleBorders(ctx, element, model, inner) { + const endAngle = model.endAngle; let i; if (inner) { - arc.endAngle = arc.startAngle + TAU; - clipArc(ctx, arc); - arc.endAngle = endAngle; - if (arc.endAngle === arc.startAngle && arc.fullCircles) { - arc.endAngle += TAU; - arc.fullCircles--; + model.endAngle = model.startAngle + TAU; + clipArc(ctx, model); + model.endAngle = endAngle; + if (model.endAngle === model.startAngle && model.fullCircles) { + model.endAngle += TAU; + model.fullCircles--; } } ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true); - for (i = 0; i < arc.fullCircles; ++i) { + ctx.arc(model.x, model.y, model.innerRadius, model.startAngle + TAU, model.startAngle, true); + for (i = 0; i < model.fullCircles; ++i) { ctx.stroke(); } ctx.beginPath(); - ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU); - for (i = 0; i < arc.fullCircles; ++i) { + ctx.arc(model.x, model.y, element.outerRadius, model.startAngle, model.startAngle + TAU); + for (i = 0; i < model.fullCircles; ++i) { ctx.stroke(); } } -function drawBorder(ctx, vm, arc) { - const options = vm.options; +function drawBorder(ctx, element, model) { + const options = element.options; const inner = options.borderAlign === 'inner'; if (inner) { @@ -69,17 +93,17 @@ function drawBorder(ctx, vm, arc) { ctx.lineJoin = 'bevel'; } - if (arc.fullCircles) { - drawFullCircleBorders(ctx, vm, arc, inner); + if (model.fullCircles) { + drawFullCircleBorders(ctx, element, model, inner); } if (inner) { - clipArc(ctx, arc); + clipArc(ctx, model); } ctx.beginPath(); - ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); + ctx.arc(model.x, model.y, element.outerRadius, model.startAngle, model.endAngle); + ctx.arc(model.x, model.y, model.innerRadius, model.endAngle, model.startAngle, true); ctx.closePath(); ctx.stroke(); } @@ -153,7 +177,7 @@ class Arc extends Element { const me = this; const options = me.options; const pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0; - const arc = { + const model = { x: me.x, y: me.y, innerRadius: me.innerRadius, @@ -163,33 +187,20 @@ class Arc extends Element { endAngle: me.endAngle, fullCircles: Math.floor(me.circumference / TAU) }; - let i; + + if (me.circumference === 0) { + return; + } ctx.save(); ctx.fillStyle = options.backgroundColor; ctx.strokeStyle = options.borderColor; - if (arc.fullCircles) { - arc.endAngle = arc.startAngle + TAU; - ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); - ctx.closePath(); - for (i = 0; i < arc.fullCircles; ++i) { - ctx.fill(); - } - arc.endAngle = arc.startAngle + me.circumference % TAU; - } - - ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); - ctx.closePath(); - ctx.fill(); + drawArc(ctx, model, me.circumference); if (options.borderWidth) { - drawBorder(ctx, me, arc); + drawBorder(ctx, me, model); } ctx.restore(); diff --git a/test/fixtures/controller.doughnut/doughnut-hidden.js b/test/fixtures/controller.doughnut/doughnut-hidden.js new file mode 100644 index 000000000..d9b871c22 --- /dev/null +++ b/test/fixtures/controller.doughnut/doughnut-hidden.js @@ -0,0 +1,37 @@ +module.exports = { + config: { + type: 'doughnut', + data: { + labels: ['A', 'B', 'C', 'D', 'E'], + datasets: [{ + data: [1, 5, 10, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 86, 0.8)', + 'rgba(75, 192, 192, 0.8)', + 'rgba(153, 102, 255, 0.8)' + ], + borderWidth: 4, + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(54, 162, 235)', + 'rgb(255, 206, 86)', + 'rgb(75, 192, 192)', + 'rgb(153, 102, 255)' + ] + }] + }, + options: { + responsive: false, + legend: false, + title: false + }, + plugins: [{ + id: 'hide', + afterInit(chart) { + chart.toggleDataVisibility(4); + } + }] + } +}; diff --git a/test/fixtures/controller.doughnut/doughnut-hidden.png b/test/fixtures/controller.doughnut/doughnut-hidden.png new file mode 100644 index 0000000000000000000000000000000000000000..bb02a9d1fba26b7a898a92015842cc7531c01f59 GIT binary patch literal 41879 zc-l02WmuHo*Y!Qa(1I|ONDtjA-Gg+8iZn@28== z>P{s+tXz(SefKzOxMb+Z`%WLFN|yw|aDJ^KOKr;cA;#zRKmbJcgPfK+pD7>a*RRj| zBiTChZK6p@C-fY$<_zE9@RrSf=W=R)bTZ2w4`Z97Rchs0aibKoyG%dzYIpi{ULm|*qKnC$eEDf18z;=1Dgf7^68IOU>S8?uVT$* z@SY?2isR^EzOw}NdjK;a8)G>(j7Ln$C0a zd=7J)GtmpNeL~IhffQ{YFXpPeR)cB@4+#gCQMH?&vCUqeO?|mwtQRj;!esJogQ|kY z-W$2MLbqvsn`EfctkA!lvN>`{=6`NkEdUaid%vqYU!%B`Dp)P4;HDwUhegnb5B-*R zy`Dzu!Dg9PIUo8SPoXPKQ6q3Uowd;Q*ALD{nh{Q+u= zZh7iaj6$HV8uz_Rj6`P7o=Ds}GlUqFNDIS$bDm8?4N$|QG9$%1>HzjVZCT!lH*Fn-x={hA)-MtITXnbF zF>W8~gJp&Kc$1Y}O?0*sZ0lWG7H>68$rECTD#5GcI3E{@X6SFRHCSuk3!jn%8xjO+UcX+r`4h*&N$&5=M{tLz%gXPKwy~YR;CzQxdG{|ZQ!@EPeTziH!-dks2XkR#&q=Gs^n zPuq-zETklt`jOlk=~I>S_AzSwv6I*>pWw0eyD z_B4XNLbq$`&uN-z3<-V%UPrF0K$4~B*Y?en*Ke+2N}ES`QLcLqU7wM4s#h`)+-m#l zq|jsr%s;Jdz|xmvBw09vsl7JJ3<`ENKp;}*WxW?uH}0@Anm9A#%8&z6-H z6FCk8c4|2{@|kA6;jgVP4^Ji6UxP`2AVu+BwS=T5zOBIsJboDLFJ)e6&MsRkoj-WB z*l9#(m4b)fQ9hf0du74MO|j*77!i$yFMZwY7g=1qD3BLE#Ox73wEy_iI!gHDa;NfV z*ylXnR7o%k5RLJsSe_F^z({3lOQH!Q36WK5**Zo&CU8}e4389kg6|YA+AfcU+EE)S zR^vLjT3M!?Db?9QRvN#sj@y?E1OI?nRGCoQl0Lg}a*gN=4qZj49-_OhbmG%eju-kf zO6R{fVMI2<+#ILXJ5GpI>+;JN6F2Kpz;}sYJ7wLW=MVU&{+#O`;qxUfMk_ZiQb<>U zDs44)!_b&wCS5GQPKtwg)?(T#%;6BzzRU80 zX~!aHk!a!|$+uA-^-jMWlf?tGuNag{F`AH^Snhs;=PQx5bFZuOQ{|Ivt}5_0<8N?? znaj-W1a!_Q@D;XT0fwr)(F$pg7WcEY$(&l$%KhEuKcph}u)T&r zc0JpwCD*MY2Qej`<1U?3fCEASru7fi@e$+;^$C-p7#IjI6Wg4vl~-^e6JGJMsIH*# z6+ZD;G!5QM<^-kZ8?Nao<>C&3D+dqv`GbKB0#ioGAPXk}1?qI))asF9<2jj*+}_XV z;Ec?^DY}C04yGtR#lF5eHW+WKlI7X`SwA79~T=y-O@rC|t*w;$9Ct9?ME0gR$# z!~I|^wC6O`nR9#&*>`wHm=(X!eCmIH$5-i|3DM7ksLQ}n;k&a|!;I9bx3k8Kok#7I zu$f41gEzgb2jG3iil+=8!{fU!a%BNweyh!^l+9FIUaJ844`WC6)xtVZu4z&i?3aiR z2YgcEUi_aVHl0TcTA#M!i_y%cFfq-?G+1NAkse+#Sy6bwR3~O#>*yUt5T?CLV9+p^=@-B8t{4euz39@WAi=cQQjs?6ZaWV0Y(5JaO^rwdZcADhEn3MEw={3-O?E zogw^5cb)aXy>iO97%uwj$xG$acc_R7_o1wdAJMkG-a&{!_dDjmT#TCnWz6f@P-bsOa6S(g5EpC zwtJRIH`~@e$KuL^LuvY%fPuTx)L*&k2}vJbwO8i*FQ`J0yUHcOyKtP0Y&)Cb-Sp3O zA6bCZB_A#8`>I-NmC7%jWU}5@5QAG8|3&NYBhyl@MhndlNXI$$F0qJ!jS-!Y!N(UB z&E1YEFPgLkG4bs1N$oDM5xv1L@xuA9tRa6V%tb|aDNqX`(Mrg?R|RjndDV)p2te9! zGk5u!6id9gx*yBD56mq(kR{bsYiqIT?f4xP*@W8JQRY18MJ=Ik=2dOBMvWL}=s^Ta z&A!3+&FC7)+_>osU=6Sxb}yKO_u?VJHnD8LPGavlnHWZt54yv^M>bpkKG8@s#`dxU z^C|^oPOMZ~zZ>~{pu?xut-JS(j8FFx6E_IFzzPyc&Yk0*^-u=;k`Q~Joe|MaZ;SdW zJ^&li3oL+R4i(p$f6%+F(^9+>YY6eh-8pn%&>dsFx#FNC96f_Hh}4P)72MHf!C!ka zu@NQfmL(gu7)kS#Vy>ja5p=->rTv)d2?4jz`7MZa(>`Q&`jgL1X?>`{LX>QyZIP<& zoqDwxfA?{>pT;(vz8EIm;@xsfTq7=k1N-dHR6liEz8~77GY`fgi^oEEKgkPUmo(!w zBt)#O!y-j^OY9W}k5_E2VyjQs&rm{_qfP!n^Aqlb;^Mi=oXBPupJ*5#kT@Ay&TzWi zOm`U+lmqQpcU+-Z)4_stIH5@6H0J;LBYS10@`BoXFiqhDf{RO1Q5_aFPK|zHhuDXn z^dOn$V?76sNq$P|>~}1H@j|=FmblW&tIZl?5#s2{IgFmucBSM%z&@u)jm!g|(LiGP zkPzo9(U5(3X58WMTv(@EU9iAQ>Q`u8su$6bveY`vcQ+I7BRo6g+KNh(XfnanT#FPF z-{%$?VfE0&g_vy|uJkuVR>4Hr1#g z5*5#boE`VeS#r`bbJlscc^Uab!<##Gp$QdauiYdGWp`_ryI>-yVuW)NNZK(Mt7T-J zVn@mMCjQWYnel*jfg+#1HIT^&O(lEkLxgIZ1Z*SQR z>nXPeZw~jHeUV9_65aT9!WW7zlg^CVxf<>~nAe$cvn5SKA+T1m4^R=QZ~$sX&&Bmj=FpF=qRp*@u`r$4`8$1Iv&hnOQJbhWZz}(hFP;{ zFGdjoV|Dcy?B7tM#vl05(M%JA!i<@CK0cMFx+3s9p;zLM9SUi!cug}BOU-fOS>R>XeBS;`2KB=W zLo;FPPj|#=VT>fpm=ieJY6y1!&Zuz1K4n%2$nyNQDKz-{`P;V{@YPd5BI2c7*Z%$r z4!pX~RKh3kX8;{GBCT5jUEh5`#>_eSuqQvnq&cvJP%7K5FyI~~JFGon7&20!7v zA31w}6{)^YDNx8G^B^I_p<1u-Q8xN7jS9qi^S%td}3kYtQo}R++nqO_FV~4V$(%sBqp(WieZw%~L%S6fv3? zl^#T9GGgp|II|a>-Wuig8(?2#I>f>axDU)HRLFh>=X1|4FPadwL}C{@E~EcohY`po z?|i>_f%qtrNLvdR|`mv#jd-Y5pLzYhuBnnjg&Lt_wFE~eFz_vxuf{G zDD$HSkFT=iVe?EUpFRKIqVP6K$*HyW+qVoq+sDFQLs6L0>o)1Ac2V=|t!eBT51_-&g*jOk3*r70(5C z{7!Q{G>-V@czf>xwF~T4ybY7! zr$H!mTbUZ!8YdwN0|t~YU@TaMhVPpua9DQmIRi26Sy6`3$eh^=smZ2j-y-!6bhUVgrNBAWo_yG z$EX|vd6fz=tE=Y57)YMR=}v~687gC4x7d&wsP`tT$9Dq0@i_gfh3$#VX~ z(v36+Yl;t^M+|PiUdBbCchwm%;wd)Jlv3AY(y0N7OL+wv-c7*74%#I5jGpv{m%)U|8KI@z)OP$$?8N`LjCSW1LTpU-PTpb_F zs5E_89KauU;aTuUSD0<8-dpJcmttxZU z{KmizKT10fl^<^&l0W4=RXlz8MTdnbMUla|H@WV9Bb4OsC%$0c$h#q8j1GFXBl`B! zXo>wOd#yI@(O2FD0yYy5`*Ct~U+yRfEty!(q8?_QPk^b9$T~H|&GI`Ig6-(ydB%}8 zSd1P|z-a1273SJ4v2Ux^ptj+T+rs^$Y_tuZv{h?Yj9%F5d-) zd-o4htL)>PPL}n0LRinXF~DO#y}n}eGISa}bwgceA8QISy|hsFWuyGW0#wyFDSO=g z{gZWY@F=lbb;y7HAeZ^#FN3aG%Gn*mQ&WdL_@G54CoDqt2*I?VD<#a^GSI!Ru{0`7l zO8pAI87o6#sd#;i@2EEQUhEh3on*Uh)Cb>A!ESC7P{+FH@Do4%T*}56z@5E7Z(P?W z3ee)Nc?+1xnZI>wJ%pazLfXc@$jML}Q5HU*MDoSpUo&KnFTS{3^#4X%AUz$S0Dce| z<`_*0H;-MzO;x}7(U+lg??&fe{jpv^b4=Z+RwN^H&x~ydAjS93x>00uJdux|SxGUx zclU@!?wPXCKFRMz=kC3ccLqQ~m*;ul;|VW_V1zG<;Y^<%Pk}lZyc%Ol!m%u9p|~De zK6cT*EFBS$G4ki-R=|oj&)#OYF*dIBG6+=J1@)+wl9MLK_e*?oRw1r>j7>N|BG8^C z5{kd!Z;52j#bF-n8I50cWU~jlwoKveeH_5^an7G!u`$DpYJl#ifxM08e>6{Tx3El^ zIdyyZHx;tWRv;>Nu{@U$ab^B~TN+^R^y3RHty@Psp^=8g#-~;uJ&#h#v?d*VZ`Bs` z1ebycNb=+Sk=)Z`ui2s03%S6z%r)s>pxa!rXfF55v-J9ZSxS)cyeb&n6SK`R`5 zrzIF*M%*rXHL|mkVI~gqnkHwn;H;dl%kMJDezy7vK&?C<1i>{bJg3Cef0b#tzeaX~ zauCxs39>#?^tso&2Ggz1G?(gKbbrSM9@lebo(o~p$pPe*Sc_Erd&yE!R>Sh;hB_YKbW}iR^5JGtQNb2Zz9?&Gbb*9%+Ef@^N@XA$$4OYCd7jd zi4wyoYhP4E1q5e*RXty#?AS!lqRq|-I8}1WST}W&g91Vd0k|z^>k&iyCfo6ukX3b1 zWZswEwH(UihaJ15hvb7Ft@Jitv>Oa5_1_$XgN$Ra#Gn7Z(CzYf**oRjpctP*QWp1* zGOcFkGNLD<;8#$dVQx-1tCaqDhp6R#n5R999C)?AlR#R(-Brtk(JhMtqi%dj=W5oo zAYJW|k@%2VPhhRNdhv;L`fX_)qiWa1CmCCEh=bKr8B~KWrfGxSmo}qJg~C?4sPJUL z=8>&pGzT#R=%v#9g-6!8H-6fK{2K!cE(R?s)@%V`hnbvv`Q>W&vmwm-AyJP{=6X`% zJ|4vza>LqH&bqH5-dqP_B3aSLvuA`*V0xmEoqosqy% z!#+F|8Cb&$dgrL%E&Jd*s7d|mvllXX`ZKiN!GEWkZ^fyRag_y!7Cd!r_&wU0WyXnR*)0md~u}P%$|b-;Yp&2%y4E?!F!nRFnM1isvi& zrLV+}RC`Z(02){6TGshU>$Vvw6LK~UhXgZ)xpxOQ5XO20Mv>5q{0 zY!k{&`wWehkiT$2NX|RBD!_+E!cDb?E(w_(IuxF%q_hX$>1i1Zwy-jN$-9aYikbt( zlE%D_H>JNS|9KIuudo}RkYJRajtkvi)hYedx~9n?VCJfVY%M>38Try_n?(ygYC_J{ zSz+)~qt)?H{-DB;Kb9oXTA)L*(ujstSdN5dib@4qXu!1ek%TD z`ls`ZLx09)-e}^Yy&NhWdOJ&gnq%vM85UBc;c~+mRizO}2u4oER)+Jt?oPkxAh|Nb zR(;CfGY zmmvM%p#~^27q`gcY#a;n#RnZP=4ncYK4^I??LiJ)Iz<-0+m|0(w>%OZs&bp^`si|sZ#ji+ z)nlVPz*7ce4lAmPHr6ZVw-WZrZ&oHAoa8^{w-YyKmL}RRkZ;PDG>T9W)X-coYE|xD zhF`FM=_v-b8SjwrJ;)vg0*pWBz^tx;Uh?0beM>j!A^I4`eL4GFWp644<) zuCHql9?k0o+2#p>Vs?%WlU7($)UTA?x$g6dS%ZA>lD$A``0u2sPcVr<_j?c`;C@wO z>(omcVNl_8`lbOlX84FG!~&7w{bEYzm*T%5W*FI%{xTHH<~pY+G8%LXY6q5wZaJ{Ua<0(G=(4@{=5f`$vA!%UEu>Ql6$2D zL54|vg1FBs1zUA7O#+b3(oxD4KXSj<&=_UH(G7a+Bu+X z-R{fP?cs+tnc&Q)URrzS%aSKLOZpEW&1vUvhcoDr?v|UFbmD-g+o2owOnB;_olp6* zRI?L*oKs>rwUIFlzPis_zNM6c7tW0qVgymOV+ko^mE zH6EP*X7+J)5!BS*vhT?{3nVX0^HWb4SP4-R3O=h2#|Opw7;F7hQD0~{wSEtB@DnZh zdtFwGSozdkqK6Vpiak{0>FGDH)R zBM|b0W-NsM@gz5|cNg@fT0YD=6%P~asy1`?=C-<|w!rtF>A2_*D4arW{%)%QAq#c% zaBJh|Y%>h0$vd3qBJVLAr(eQ=E6CuUPr}V++Ke9-g7T)MXRmb(tkIp${~+vC$XC=Ygy(eOpTSg&Qz z4>mvdBf^inb1Cd=MaoGk_0~Aa7xeNf_z9r35retr^(dygjw=guGtE2ovZw&!v_;ET z?d|`)1z6s(JFx^La+=|YnIdMd2{D%1?nwe!RbY|-cKs6K8rGk!B~aJyk&bc?+^W=pR6tQkd%u|0-%qG&pEL`a<~Rj;Z3{ z{k)~+^L@f^@z&C%>3@sHt&LvY*Fvx_2z6|eJ!nKX*Tj3e6oGY`*x_PY`>M5K*k##( z0f_oXQ%{cvNO$sJa7DOFzrVFiBO(?~_|Ljqfu7#SLh5J?yqbfpuko8*vYpg}#fm=6 zt0eC>Od?+j5Kv#yvhFH%)VHv?u>!l#$$Wq)PN~bLAa1R71=!}>QeyhZpAaY>uo<{E zIiQk&f*~gMT8v{c@@LJfUF~Jl8wGk>M>IrY5+O!gZ^(_0ifQ$nwu?R%0?C>c##UBLK-6vL_M!9{rmiatu6KTz^C ztnJKi6hMQxl~(@QsL@L*9vh}L9W4aFXZ<5|xTvRMkim)D@P5Mg48c;qJq$W(fcNQh zuKlJe?1E1>>zHV^?Hlv4pG5^1sgcU$!}PFIXz4|tQ`7JT1beOwpM+pX=Lf1GZbu(8 zG2lkZ{-PWLM-B*h_JV+pcFO`456mf^%N+GG?~(;1gO5D!opIM>r9pTOnzD|?!TUmUUvZ&8?41ry`!~1nD)9-dz z#BJ}bYON~rOg`e89A!V;08>D)=9`mJSTEl5^^po@Z z@#=>;Vcw~_x6ps*wmRwO^6^pc?od9J2S4N>_fLf)ZoZ6N%55vhnb8*0-!Cr5`%W8? z+D!&L`fFWpI$9X~#1s;Z~n`u{5JE91LDn zI33Zs+74n)S7r@C@fBg`s7K3{dtGml-%bbLe@~R^du#)LkKdR`gyXaG{xfbPa{($` z##zk%EZhg*66IQ0>V)?uMxrM_IZ6KCfvt%R-d-%Oj%yUS`TKV4*>cn~lOU_#d%5Ssh3? z{$w{hp2TV@V{}6giIIdN2-1>Fld+=;k;kskT)RE1q14mgum-N=2`r-c>kx zfu)PxU}!orM7I?N6rQ-F#{#3TobP))|5_)mtlz;c*c&A?Gr+6%Ic7?CBdNP;X-pyD zhYO7ab8C()xdKiX#b(>TsnIjEQQMH%%;Bx2C%e)cpPVICZ2f6blN~z8Q^0)Ly2>M_LTA%56Dw0q%~8+W+{LbDc1S zTi`Sb|1tHXyYf;xL;dxe4yVk?sWS1nUz6w`xw#0}ClmJ^nYbZv!*afyL+K-ZAUDi_U54|`ejEX@bhIVW?fp@0gUIuYwg_5TuKRO*O=-@A;7p>V zb1YNbPpB$e*&a%+ZZagj*of1a(iBrv@F>)*i9vTrzz5q^oO?DR2fg5V#%u6BA+VBo z`f&ZoXC+OiXe-yzUOu|4_^`Ckl4p zdyBpcW@A)`U(owpoCV%D(Mrq8@1@ZrK(9Wh?XK_D6AwT<1B zzR+1e=87Q0gh8iAo<_<@u8IA75=1IVH5K4UGDuc7pdX`RlazxBFCD!U0ULxmzd_6} zXMd1WS-fmSbEM=h>6o?HA27W{5h#?CnAgx!PEtWqhPOXvX@k-S!AJ+XuW9;1SzPW$j)_P$b_RTMeONTR~Aosxsx&;a01zr*rol8@(qZ%H$iX)qlI z#PegE#qN|dYtHIg)$THf@L!qs(;tRk0a2ze;Lo*|RpaO{&ikLp{5R*y;H4RTMfa7T zUMKpT8sKaBOe(OU%Xmk0=(0+gY z672P_$O|U`ctlrFi5+~nE%4`L;4UyB+q0t9B-*j3pbEFK#1AuZdi;44+kS>)cJ;bV z&J;47-j=%esT)6eCJe|6Qyu$FB7ZiA#W^>WU~x3{s`aOk(*q+q&CVqYbr~oxxUFJq zFpq`L`!e2mJ4}w)P$SJAUq(&z+}|!b^*ARRJUd38*G(UuTUF*=Fno1??>rw7<`9B) zsWYoRq;bkN@kbI2BW81Ap=Nk{tPq)n-LTH*UC^-31XA5Qzme5&{=qXxiqV1*WmW*Z z7m9;x;B5y2g;Yq2jWA0kz20TUz0%RqrSuA>D3I_NI%AB-tD5pVNFO3-0XAJnun6p0#;saqXbuSHDtUM3sAQO=87q0`beIC)$$hDSWj|M{Qhiq zN20R*-XgSlHLv6^Gd516-Q+!&*vp&W7+l6iP8EhK!Ffp!RTa%Q#_CUtzNqz|+|=F| zu`ONlzXnnlX8F5q7dRusB&qjg|5~>_Objb7yaA6e{>#i#Qk>Hfl@OyNS_S{A*w~*F zi^Us#=`UtCP7e`sx|DcMfb^@efNTgZYf?Y6i;33@L7D#u8k_ni(VxA;iO@2l_{$lL zJ`-Yuc_snewO?;>>hgJ3F}^~-8l$0;As}aKq2{SszY^jz*a4=4nS~ zcoztmOq$aZw`mp3^+wzb->VD4r>k3juiISE6eD3_=9V=&BLr-rac7VztH3MqZXp&v zO@M3%ey^R+8{*ng=4iHaOu2SHcBbdr6Hj8K6wquULI~0SE|et*KjAjLZ%{=cpivER znC>WheQTgux7&^+zqm`YQhc8Sz!@^MW|$Snc>n?}9Nyq^;Kt z%00a z@89TFSe~Hy*~Z^$^Fbl zH(d3uZJ�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 literal 0 Hc-jL100001 -- 2.47.2