From 92309cb37e167534fc25489ff1b965862a4619fd Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Thu, 5 Nov 2015 00:48:37 +0100 Subject: [PATCH] level tuning --- images/CSpeed.png | Bin 18232 -> 18534 bytes lib/zstdhc_static.h | 24 +++++++++++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/images/CSpeed.png b/images/CSpeed.png index 6e60dbc78f70e5907339a28c0399ecd63ec56895..88d302c8a1d1755b16286f6df0ec812da334175b 100644 GIT binary patch literal 18534 zc-pmmbyQSc`0gMQ1|=yiD4;abjndLBE!{|WD$wz_x|A;;q0^byWf1CckjVhNftcpHG|*1S$-^cl-tp`1#IT;n!9m5OM?bA561(mJaYs9BTn3YguzW zYr8j=x}djj49%=*%yg}Z8ENQfm~_1ubU`4YArXE)IeYchT7M^up_uu4wXgmEiNtPtPSS%tIfOcBxZW%cCy(x?5sL2$K}Y{oc1N29naIk01~zn z&&~6+x}EX>{|7zyIrs(we(O$6#|!+ZiF_Xw_=tvuy$yWKeLa7~_J8}R-P^Y}R*3Mm zZ0s-pyEscUX1s@|qaZI}cnJEeu|hzV|4@-?nDMDz-f8%(xx10uEi}l>IwKEFcTgn3 zeNulp=Q>xrzp2gHl zJ30-VD2@%B5_n~~=)Ee(W(-FcRylC_fDx@Ht?%qRb% zbTHIJmP}eoojgC>Pp6t;$5yFW=}hyz0lfoNsmc$ttX*OlO*H66g%3yNU#-d)i&=VY zmr~he=jPcduFf=t#aWh?3WZHLX|Yurg$d5i%DV_S7QdJi4jVHl>9F)lEvu^W5)94Q zOHfkh{Ycq@FQ4;zvjtBOO;(+auXu2_dzv7 zr-$w8D@KvUir;54!nP7t?hd@89?}gm4cY|fWW%=>Z8}?)$9UrYDAk=Z)l)7(%x&dZH8bq%eI(kg}f=*4@hkuq{bXY3@(2 z{9T555!KaR%FMALDt(s78dS1*uGy6P1I)9v97fD41)PNkD;9{pNenwSio!p4M-1-y zLZapw+H-%HL&9079{aio6_40(+Dv6bd^uv4L)?ryyRQ9;?wWO_ARYcr?p^|LEuyZ`uK*Y!SaFsTU{wEvd zE%{Q^hDC*XN3F^q1j$H7MJqWITBRnWZ53yyz_?6H8PD4MH{g4l!wf!681UCJfRu2c zOUYWrzmj%}rwp$dPFECXDR|wfz8e;oV<#=9p@`R;^`?}w@?cx~ZVai2!jNI&lj3)= z(;_DIB2wZxOGI*zCh0)A{j>e=j61d;M|ApI)*00l)q{e`YfE*OMD(Y^s^~RS59SShYO=K5wrt7p<-YG0R(UsEU95L83_%1R)sY%`S3|ZW?sQ@Mf1={w7sq6 z#FIy6eU(cm4vxh7am;qxa5`}TIwUmD{uRD)b~aOMSvDSAx?SfwBfQw&LY``FJ|1N$ z3^9IHGzA%PO2y9aj|U%8jWU;Flg9Y?`&|+Eb-k9*_wk6#%(C=XSoFRHIr?#TgKkRq ziPO4{^ryYfY3f9BYvD35C;rp;#W7o>21&c7QrBnY>&jc-s^bxsC8lhQMit5G+iqz; zMz@ge`C}y?f0$>C&8H`yolpli`kh?X!FOs8Rn1MbbWSB-y6xHoj*RzU7fb=N zm@3!ix^?~9?l+yxvd3xVSCzB=$2{NXrdq&F`l&~}%Zj_s8ymVBqY)9N%H>7#cC;%& z*mm^}&Xy}x=E{$6XbV><%jfkNqwB%a1ogXRg>6>6ZL@j44Uv2cKDsbps`nxRz-UBV zG;G*3j~f0@3007KebzdjlFC%`nQ&>1Av0jcdv6}3BKx3u3Ic9nNUVXjJ|4>^!(ME- zL!I~fZ(U?G zX{$lIE~OOMG1m9Tf&{3fw*vvi_43~1=X6+5J(e=D64F>U4G9&~c_gLP`bFca z4TuA-dr(KJ_wU7|r3DMnb74t!rrwk{SGv7+OpCT6Qz3a!-# zpR^nU^S>0b;-I@Cw~CoNnJA=lk6$n&)GM^A=q$SoZKyv<2PnsR^J^=$r(6wd3f*fg z!EGr8O1G};s%#xisd1+N(NDK2GBa+Ksku0J7$fX?@8Ev)MudNy#J(w!dR)R8d?pkLfZ&(qY#Zt+Vhrm@u4VwE*Xh zOcwTCKLp2F^0B>jwx6$HKuO>C_bckP_;N#doR02G^)5a((6NZrazFm0K1wmg$=1y= zQ+2yFfL58fF_<3vuTslr;SI8?wH%jrweqPkg2R_KKT*fryD!Cu!+w~K$DX>kL+ZaT zdex!w>R}%@HOjhlW2(diKH;#nOX}bG0?9b-rt5^@kqSPH~IrB|t;{NNVW1T{p zc`&eY6d9Rj^yt|nYaQDT z18zf(62Fyx=X&t)2Koqz>W@!P(p54I4Q>R!@XX*!S?>-xp6$rj;jKRvcs z&az?`+yK8DSn=Ze;@#xXEDa61X*&9s;o3ttmdN#)jw-M%pk~AC?>p%s`5=Xae390a ze0r$P_vj~JUG6zfw^_hFfQF6d|xjT{XP0v0q9zQYH@4drUP!#3E#S%n`oi|9i+)G3e?ws=F@zJ?%Oj` zt@~wq(KLHw=4|%tgk^}>KujbX=igCu=%&sYo%WkRJR>-IccKJC_H9SY?;*XD$$1ad z)<=TH=jjWloquFwCe`VMZ=+)3GGt=FEzKH8@%+55ElCm29{saV_~+6_oDMN(ecg%8 zv>F7%EF^W!NO`fb6RVsRc5O*YB(KZAL|%W1`MIH>fTDzE_-G$Fw-^f;sXTLCG3n1G&ZV-K@9yyA&r zcll~W2`3LHnK2~3cAllj9bcnG=p1DH^WGF{G0CZ(=A`gh!W(+75m$j$5nP}|^Q(qd zP`su*B}}bI)Hqu~ai|Rmj<{k=ofLeum*|s}qbG9~8(giOg4rTQZhQWaZ0ybIp~&Mh zEaVGh@<)3izRF*rktr)ZStdK>w6t3sL~iG1fEL^oBJ;0l-NpK8z?e3*(Ti_RXZv)qZcDWSoVYKqZBW{&wJwB*%VsQ4 zGci{6i0lFgVQDe?Ln9d!ljYv;khzj=x^7E|f1uM}o`rB-?7PBCJ;Rhdiz8nwz2hcJ z9EZNvg)U}~)fwKp0Cz6}^nSxL%<%ry!s_C^4?(Um$MDlYl1?Nd+{$aaz9t2gAgwCe zGWu8&5bFdB1eWVQm2}t}r_Q{;tOhQtWr*(!e$`H3u^FV~d?uomyh7#ypsiLd5BQ2JS8CrP_HQ3(m=80BybU;XNo5xl(i!ANzA-}H4=^7URIG1lemJMVj$(TnmMnIGJF&xOhwE%LWKCW2m&gYo4KI_w zTT3>}^zG)KhI@BX>po_(jW3@WpvV^pL100ul4?dC#mgcHiV;Tgy8C=5 zHoD!-btN}cQV>8|Vu9^TP2;RG?4-H-AMqNlt=jY5gpn%u?ev%-{Y$`EbnCMz^s?N# zzI=AF+f6W!cfabBA9x#Ttc>T5e?>Ift%v)>;WYy=Q`i;0^sb05{vkVnLyly5cGOiq{0}3h=rS|S z3RE7tr~=UfICPFPDfL^?OMY;^^Qs1uP4yE%e^4Z>wtx9}3?7!T|HMaIymin2GwP7s zGMT8cv&f!QWs(FG{s9a5T6@R16r6tTOoo^f+BKN9^q0=POHS38sAQT}M8uL1`ON}; z1HmzVK{DMpAF5;%vPK1Kq$_Du7yznE06_1hh8k9e!qd!9h)A6xZIF<&ckVpUsmBRZ- z!t`L(t!6WPb)*aNWDUF8nbbYxAraA@B9#H=roMS44DM2XG@)BuCbE{Psyw6Y*en~M zmT{O~4=Cj}0R!y7hKIDo=jVb7=u)mj4qh!)&WStnD-zq2cQM1|ObO!RP5xLVr09+~ zH|h40Rc&nn5u3xp_{^})WK~|$rI^mQ2XQZlW_KZ)Ix`;zNZGPF>VFt@(nln?-&JJ?c#9DC z!;XoEVT+K?cY*Cvb+p5&*P8g7{p=-U7d&0Zog+ZC+JEj~1I$228{T`tu+US3BT1b(5 zTD36GYPE11G~|F%GD5?5V+nc@n^3G*{pG82y_hxy)Ij{3IWCnM-%#p@MnLnmD)8YF z22P4+i{D<&pIT3pci*d*|C>ca82HyZC-8t$x);|xl(%5Pyznv61Y5g5Ej;Abe%{|= z=N`dFDzUKrU;4yQFqq|i)lejmZ^6M$jNi;L|JLZV{%_a~ZWxp3Zlcl|K=R<>;hf8r z|9W)@AO1Apcz|HjLfUZ(>+FCh1F$`x+2HDW?81%qfcJFw&;npBjCrA{bP+C)R)O)_ zCdgWa2mt)N2;xR^ck2o9{Sah;zygA<(NDzJ zme=NLaCWb|7S2P&5m@ZDO(EMofN&ZR)PPbtr=4;;xKvVGvzE zi|Jwx^tEQmy8PLs-&T*M$n#C`IFSDD9wQDXyzm`C2DFPA$9tkIdGHcfcm7QG=?EnM zNzwx!62H@~7@7d0Vm59c10Z!0|2nN0KB0fIlMF&$@WxECRlZZm zu@jKmY1JgomEG|Tbl|Q25qpxdprH>T%jS0~cohItCCE^Uu4DPuf0k~fXy==Hf|t~C ziqUsq|GPHIAeaVhZ2$LUh|-|a9PT27ykT-!31g`Lv&Xp%%iShu`T-bHwF;k8`F)zc zds^oXLNfw-qHZr~pM1;XPbg5l2mmmDr8*x_y{4lI4ttMzp}Sx~ft5>4v43>wM|@f} z%xpUV51H~9%v%6T_$S(qJLk#BYT>rp+e`Vp{0af=;)D-vFxu&_AM`$XcQv&9u%-c` zx@MsiG#MZWU8)=jp2F22a+N+l&u_9&a+gu`BO}5eXO#MiWA4lWDV>Ae;01uaMsjuEOF{67ff6 zi7=vj9}<>N1C(L};WK1DUWIOe0>3xyug*-m?o6-J@;tP;6P9f?aOA&xvG$y<`0jSJMvR`FPK>Ji;dmI)9y0%*4~p%D6=h~KB$88JdbNvc!RprOwau&!Gvs?kEI+V z4_GE|UrPB#dmIq({n18vfeP`(^t*^A3AT@0rFQWA3{~aT;f1wsgWTO53?+Y@d_G%5 z)<9U*c6J`uC`^)XN#tr4(tL_*AD6r)>h)R1ShGle%Hr4-H>w@Z&fOYd*+7Yq8paW# zRkc`eXzu&)kppW83GpIa*!jAma^yE{$u}80f9T{q5GWjJjr>RPGdQ$CVigE)mKAqR z4t8K-7S&ah!3Yn|1HrTw#)#=sSyEaUlcZ}xoZS=D@9GRDEIMlYS&>ASN>QRuARm)sRzj1<9I(k(lPn@lQ^oV{(B6j{jM(S8?M3+G zg)aguw!eRb<3hX;Le7Whnug0)BkYra!o1feel4gyn(Xa%)rVqHz_3UwcpCzN z*Pj1ux=1>4TU*_KV(#FyvlW>adE%Ba!NuyHK^E(gd>gz#f!S_DIuE!gjz2XW)j9yE zyC%xDuQ+=5AB8J-m-63&^RCE{UjeEp}wlTo_ z&{GXw1V_Bx%YkwS54NT3Dz}2qB+N4Xy#9bADZ<>)OnYfSH0HUIf5izY0C4b< ze3O$uz?9qpB)d2Qm1|m1_njQ?naAoW+;^@uUG6zLqiJ6JZmj0ohsKl-rk3;5ibIz! zmU=C!61!~~c4$-dXhde)ya6-r(bSxtd&)Z>3L@cRVPzzs_F`#a0Pg)vyN1K5z{ymE zGsFpy)xYbPKW!R*`-4nbNuEWP_{z@eM$tEc^VzR|`9F;69%dFkG7&Fwn3ji5ICQ6~ z#*Lk?9PT1gl(hqde6gRu54s!8InMLz7Y`YAXCcD+SzCfyUDX|=`(o*=RZpgt)3ch+ zScORYKTmvZ?Mz%h z9MU)$gTkB~jGg*{7`(}N`|ad37+mM6!UJnqzhfb|`IqCm^_CmKHN34n*rFpukKP26 zq%=lnS(Mn+Kh#hrd*+uL<{dITcnnmz71#*QUIBv6P50kKxZh(CCo|K`+&O=5mVDCb zATb46C91eWye5}Erg|d~x%F2jq6hPE7OwL+d)Wd=hJz0q_0l*cO~YHGKZk!4$2tj8 z!QRfi`k>&o@kf1=bv6I_-zSFBp|6+%(D=!tH*>bt|9-OHI%EhwXWVfbbz1I! zDtR|MkDg&P>kk_Ja#nD7mC2%tTEu5T&47FVlsYo_sO_+{#vK{A3PD zE&%^mO=h^@^p#wH9LWj)ls8RsK^D%O!A#8yJsq!s4kmb>j;_DEtOB-LfTwr4 zJQSXlrMr;KH9pDz?jIETRW1NPRz@y&_5M)ouX1GrNaqi*g~&>{;htZ}sPEp3@@?TZ zgk4Nm1p??qtP!XFp6&FQp<)U=sbQvkJA|X+kS$)UVOUE?gWg&@xG5&=ZaTU{_~d8Y>Pvl{_u|l}j$Kw=u=DCvvh`KkhS&eH?Dz zZ(K`*5v_P+9)0W}^b6ctm5t^fXrW2n#8IvX1})-Yi`51JXwUZu zZFS19uggwc60$pB^a7Q1g z@@3YSFE3wn1FHXmnhIomI-F?$r_XLW0I*p@fp39*cik8MbB6^q$D6a0EXsVkW8v?+ zIXuhXPX+e3Se}^++hP(HSXxvP3(s)`QsFMlGrwsOkMltF+Dde@-TfHUrNHGjm#9&- zGi0GrrKD%(95p?->6w^|EJKgHf){#k27t>)x|r|tr^oPi$yZ;UEM|*|OlKQ+Ah`DJ zaEZ?Ff#L7eWyHW(wheSVW>GSqP9QVW<`d)xcdR0Jd)khRUWmW{aXOgOdi(S!XyVL{ z0f~EKUq;p6#PrvO(B`Oe&@Zb2zGqDUDvJb(A<@| z-i$Ypz%SZk=}0M*baRk6R(#~PVJzJ%-zI5+jzRA#N@JR|oTnEN+ut;Dp|dDUTCI@A4=T=xAH-;n4)O zA3cz>r&_R|n{KOjJw@p}sX0_#&lIBB_sfWY1PIaWwhFx7_1DElRm^*eqziv1@YBoQ zVz9(_Y(dKEk(}mVaRxF>JQs-u>pZuy{#rl@chzMh(@*F;DSOT=hK{hy*6_HmJ#hUv znTq^a)g~mchYK!umFxjCmNiDcxCFrBLJf~MK6vW@t+P>P;2vTCaPm+{cjm7$V9v>WPB7{S2z4kjBqWO ztFLm>w#jyW|0POOZo8G=P+;N@H4dBJ)kY#w501yw=z5YOdl)9$-!bd)S+T4c{h@T$ zkFZ%@E!aL8&RXDn9Uz5to*sFx@kQf=QVO9Q^)_0%>~9H}i&MQ?iHtP($bH&_PJY^! znvE=y`1!bSGF-4dAq?8F1nrn|%tpaBU#586W>VKI3KoxxNnhN5UM4yu5pT`C*vnzg z7H++?NFJU+&Vf|F@5vZ0PlmGBhINe9(7f_=F~PI;P_-b)?%PEQ9Ea(3A2G>A$$R5k zG}Zic*=oh3Uh-qbVxPW(bLl~#IeZYL)}gQ9(*loN778xYx6P;7i~c?r*^zl0#&2w3 zOE@%CR3Rd&O^!K++7S6X5rz)Znd`7Wu3QuE)6lRD9;T@oWICR@X93INJAL3dHn?8L zN}zi7s4X)s!{WCffI$v=O#U0(3`|WP4dy#!{^%q+5>|PEMrH8z#vd&X^Kf^kz3c_5 z;IAmI>dwzDtt0V2tbskfKR{k!3aAizM{aC-@a|$0(!|uJO5t zTPG{+rLyGpqsL7>2&Y!PClyZ*+&{bH3_)QyJ@1LrhZD;$7v0V%Gk37JPNG2iA^(t+ z!|h15T(R#%I;#?8;0_j;-_@g7hbMR@-?=YE>V{5wn!e_e^1h&TG~UEF&fF7+*cT0SOIPQtZe~6-h->@ne?Ky( z1!CY8PiKnP&UP}0U{?XH9y+f-WvaywhxvwJij7xQGZk^@^ibrhN_@mTZkTZP{3UOsH~O6 zh;4zwWNiT*#d@=wtsbBF_k{ODq?ozr#S>ixY+HZE2`sZy%H}=LiktT7kSI%I`)!g+ z46}ewwcDL4tp&6R_A75JUgXu2zYp@flb7|sBv z&{Jj@uXPU!>Ndai@UlximIL#2Yj#khnYMOIVRLbqh$a6_@4x5*b>{9Kv_o;?zrAP` zCgNEJi`D*CtNPUd(-0@dGG~nl!DbvgbOX&v9}VQYSBDl^?#*@h!XAYYVX+tQKG_hg zW9R9npPOoVkCS9W>G>8UX+I$Qp8jtq)kq^)es)yh zgR4`6Ydt>l-yVON5$_KL=mHxkuPjiKzn#r*09pJcO=^CMb{J4!ne!$vr{2+Bkw{ks zz|0yB4%~^-iaqoKNhsg{9$uIZxJQ^iK9F9t-?X`Ro1pmpK5_dcE*num5*`sOO3g>+ zJVvQA^GMQ;T+AN(#)bI&vj1Kt4=Ym^3e*fq&b4X*p+1zE$)gV%&Tr7TJh}^MND~99 z5Z=kKRzXBznb5XME7F>~H17mQ9@MXl?3}Cwm;>Cs5beCzI$Gj56lk95 zBJDwcWhtz?^jsR|V@qa;E{E-Y2fZFOH&)-94cazX{M z<8Eg&xMXegwei?Rw~-D5S`Z^T}6-U_4@ zcMr0f67-dnsDHgvS3r6H>b9kTD6l+crQ%57WbbTU@S-f>9*Se+HP1T=PN~J#yJCy` zJ^%|%I5O3TG{0G3C8D|LFuXibT(ZuM=Y)7BioEPW8zH-;NXkM<5^ zYN^7Z2y+#}ptOe55520RF-mqRz7p%JKp;`wk6qW-KdrE+wNKJM+vnY)eez86wGH$Z z1fg)o#87Zap~~Mty{DfI(3PD zJ!opTB57rW?pfDttd=Z4fOe_6dzg<+ZjAQ;@E8R-Pin32m8BA_TJh@f^*cR7~dt#Uh{(0T)u) z@G&d7kzFE44SR2z&>MOt@+#`#rR!sL%AE6^kbpu*B7-&#eT~I^lYuS$(}Q#sH-f!^ zZ@rEL>p%dxocK85m)W&x-kU&veq*U@oPv1vr|=8ICwl~e8Ch1_|DgwauX&87Pq)6D z|8ySO`?I-q)(&(xULC>Vak151aUI_Vpr^B1bcwXk2G^QJv=~ryqYCtIn1j8g=^R0> zHH+8Lh>hl^MiUltcfy*kEvRH9^jx|L)u;4xYD0{diuaU?4Zzva1^2>9768(!)wiT} z-lTpw%rfyneYdlmPe_q%koYv?U^!P6+sYXHjQser=3?`g#B&^rQ6$l-=gif7Pn zQz*iX)soBthP-(SxDk)OxfCr>eovEPPaq<+n$~Nn2lC=!?~}`n`1Sj1qjMe|+ss;J zpwE7Z#JA<_D|O^OBPi4 zZfs7Io4zW6ciweuG3sUNK6{249Q2}|VmsaqXQE5QF+Z_Uz2CjzO?d2TJJMXDjQpa< zVkW#tz>TuyrhLzveqw8&q5xEcz8)U~W-L(hw?zP#DS zhxREbyGyW3|2F+iDY|en>+7iC7yA1o4`-7QrJn<>g@q(d>Bfb-tJ$8-fb!OoS68+vxaYaLk=vAR6J~|im0DEi#YY< zw6bRjKLMh7Go5*A)ogXJXt_gSohuuv+!95G(C6SSUab#7g!}!9?(8!N0hg^DEZphr z%tQp(lgM^Z*NU8?Tt4^>%k8 zK-dj5vDX7)KrwNd3wm$_N8N&g1E@Qn0^0ecVr+`RnrT1Gji?Mw~s#Q(!7`RP_oSFRf zU%qkChomBDDlV`F14#_Ptlx()AG~AlWm85cF*~|1)l@Ic=lrTACiOF?B5L_ z5T3jN*hwq!Mln0`3Z8F0z6ki@i6 zj@T)1H13~m>@A}?#buFZ6DXDMg2iqs8->oS~S)$TYa6@$; zvLAUn)XSGZnsGYI8cvik_zxlYtuuPT4X!Cy@SXUR0owY+_>FWpSORSTx>y(NNP_Jp zxiR?1cWpe)F#o>6CAh(B<{a?dk=R-+44+@Dy&H(@x?6sJ|D2boo_l#G?1{zn;Vocb zJA>=N(p(U?{<~eXhc#BYNp|bJsDBS5LKK0r%6^oqftAOD%Fe8%IoWc~HurV3LjO6l z2+;8QDL_oST94Yv?CH%>$zx^xD1)va$s1c%(CxF;Lx! z5_}*-0sqfn%V25F?hCxLvmFlikn}#md;<{Y_M8qeZ?*%bi2r^aNs~1+GsC z7r@#ml5Q>|QDrFBpLjO%hy}YSkpI2K@D$JwkjN|v7XV;US0bJ??I{eoTg9-e)@AJd z_a49`qO#9F8q*Ej$n7u(WI64Ax4Of-P=Pq5!bc!!?sU-Fa=#VYFXWV3{zn&I#_5CB z#vcI?tF_^zE^9VvdMY}h3UaWucX=3UWPtgPT*|0G!Fn?9L594tC6EV4fZYLYevJbN znV{tEzX#~P7MpMDw|G-I?DkWzJcInnPL-`W&l}vx%3l9S9NB0OaJgv|E(*ehUJmnv z6a|kUf4%MRm_z6-;tXe*$vj8wS0#8jz4Nmx9-#_A>a<387Ai1k{v38XZ&)1h7-^#Z zBL{Vm#o=-rIiZshXZO%p*uiK%~Grdh*p1yE3pnkTmIe8C;&f zZO5i2U-)}z6EJ9!8odPmFt$Sy!s%(BzCyymd{m@OKi$X;yQU9J z{69Ul*PdDNZB9kGb+Cxwwl}ao`OC)P+QI%P4pgU*cVD#6e!WZOsaT&T;@SW>U_l$^ z)y+tS;6Ts|bq}dfuijar5DqY_urK6uWmCL%+lKGl=Yjbi5iT^fyw->yx~4-`de>Uh zT%4o==J`oX+^fdHAcq=@Ob8TZKI1pJnix;kJDA(TU(W=?*RMB!5v|Ibt=HPzgMntJBdE*6c z=!Cs7=lVnqfW7x$qRg?<;9QelGr&ys3%sn3G<}Ae5o%MB_wFIJD8yBHego9`Feh7K-qXH+y-niqaUc(K%oq#I+B* z!P`Jv_jb8py3V@rnuFbHVzrvC{?<&y=6L3!<*tM4Jhkz}@wy0Kak}by(W;49s5f5U zR0M4BDcz#$_{=gE+>K{z1p6~UCD*PqlfJR?g=-T9L4w;g2=IT|_}{vwqUTM^4T;qV zZ<>i5fBoobxFJ3CdlOf#LdyK}t;s(|{y+LU>X@echbkhA&rikoQy9?Gnd(vka`Uik zQPSh&MPo1T(_Ie#-+Zg>_hHr_dCc&LJeX|h?wp~QzumfW6Xo(Nnq%Cs{loP>&n;OT z=yz^NJs?GZwM>GxIhF5ul^o27#o+Boet-3zWK_ zjcU1r%NZAIRgD8v%3iJBMgoCAA!!8g!p^TeTfRRgkZu|PcT7*2+<|`m_t>zF0Qv=B zcU#Z@vo8#LTf*urg!}e1KW6fNed3()ow#_)@Mv~)|C3>D^!BIdMd4TjT!XJMJ~=Q? zNOCe6-uoKCGD1H{JXFooZbrkgTbl@JLdw2w5)Tio%q2733>=Fc}_(q*y&qjs1>Z9Hh!5(6jjPSVVb` zg>S9AxaEY#weHy|MZPH zU?am6Q}}RHZMq$|y_q48%pmB~W9mLbZq%B#TnmeF=XEPbAcNd+T0SB7sLuGK=l${0 zl90*~ex`Uk_uji?4ai%M#f9Xa_Pg+|VR|H@VA+pykV->bh#l1Kpe6VJH(xfVKz`}l zGZiitF*rlN8)lMmN+%zS&qHL}3(xoMLu%dBMKO zdL6MjFgbF9>J*iwU_SlqdVP@8J$OV-2Vo5t$`-G(7wPN_LQgcPbn65LG&y_Ka>fUR zRmVt)P^0*rto8#H?kz!Zvzc?)J*yBRhi%fo1oWrX@|d)ZoNwf1-U?NrI&}}b#hcj>N~9CFT+?SrBxwxl z&nsuMIHya}zBuB8k_Z89Z%SE>_x(6^&!L0;qt}dX-D&<0;jR9Ubs1?@ zA7kUeuUdOYvF@a$)P%;un>}*Uv_UQ{a@BoQ9i{Wexy7thRNkg~Ao~4M*|Ld}Uzpn` zc4`nWJr1$EE=d)cB5iij<1Ojevzw~%1?rBeMN1~CDz7uEL{(MD3Y9;YsFeasWPL9B zw&dK4-oFoPDD&EIx- zGFh%_j^X|?_hh!Sy|vcMWr?!o1e1sfcjY_Lm&q9dHRW>7pd{#@e))E1_D9X9 z=E@S&p~J+(|J*>I0q>_^#UXz46tDRV#7pr1@z2)$?;nve@M6=dN1Q)^j9JR68!luG(G;3EfqY-m|@B5r{pYu7NbME`=e@9)3^c3AG5C}x7qO5Qa z1R@0fOVDug81O@q9L|FK&HkR!4N!i|#Tnq2Mb@u7pJt%(El3B(xm?1{OJ1D}nt1G6ySRX!2pmx9J1(9J9rh3og7 z4Hl3gF;vEh=tazl3i!^?FG;m-lNHz2ct)=}n`}Lc?bbSO^4O%!oFQLUi-Jy}+UQgS{5dCys((sms0C_zA2=vi&l5tWac*TK2+1n=`xorFRswbQ)ifH6clQti#_yS@Cm(-MfBT?+T!?O8m(Q@`Lw*$xy6Pq-Ev1q?UDy2%~a%_ z9uHA(UX4Y4>B4>wFSFed&*8G9&pTU;PBFi0oga=>)TV^zf?;p{ISgl}1oo&6w3nkYPXzo$2`aaOEAhPB^kgQTO1(e{xCWiBe$ zv$ekD72L1Fw7cQ_y4@#w5&DpIeXm}}^?Pn?C|*lT!zg+Y-Ma(wtBksX`q;6!POiIp zmY)XhixWl-)XW*ZgzGD&N#?@)H@>`{&c-~PU5^~Pi}gKzmHasKW1sL={ngnd5$-{H zwxmW%4ae2F=HgPg5LDa58q2CO1h+?4W##laPrP$dgp{$YDi3-H511Oiyo;zP@-vBI zMGf8dl+U^Cd~;p>)7pYzCRJ(|v}ZnI2z zI9asgsc9aHgMl{gZJN&u>1H<4XuehDYu5_h@69(Gy z6K|H~BFb{%2Ib*DOP$Vt-UhrR@aL2;H&*yz_dH2a>e6`6d_~pML=g9&>6eCQ$QIu9 zp@`PP2gMLqyv~8iJ0rLF*YtTpAVHvk8 zCw*1}Ai`<5uZll6kc6+i2949cBiS1n2niLMp&+OeQl*N!8*CDpMmxc5+QE7()buU; z-ZMfC*IUw+jx)DjRWrLOfgj`xQwcdKm-r;EEpTt*6A}@O6y8$bgi~lI@Po)8?9wbC zmsjRD@M{2r##LPvKuc#jU*OjO2Gzy>e?k8Dg50G!cBg#TAgxT;+>eX>c9oOjOC3G> zd43MDoZyc)K^=jA?JVayNLXi9teoSNU^7c#Zq9g8zi4<|Tws$)K7rX*136(U8rdfH z(GH1;;d@k=X7RTI73DnmFgXZZ~|&km;=FLacB zG-f^|;_xxcEwX4J^-VB&6DJPSXC^fi6?!Sw=Xd)2rEXWZwl^KZ@BCC!)3MO5pYKd} zJwB_*I&Bt+tugd3*DG(nK$?jr1-b8Z%&sTuRbyK?BWt4CXbt0YUu!~{39oqW3U37^(NP`-FW`aQKu zM=2PixwSfhGK@Ci5%#B+%B9vF_g}^2t$pp;r>FQEiNhV)7L`#teVxB}i&t3mDsGQD zvX{@k1I)J=g6QYVsvFAj{o8`gWuKP>dO^b4Vzz^HOmOk7_D|`l`o0qnb{Su0R%Gm` zeJtlI$nD=;yM4lV3c^q6f5>T*11}FL=wW~MU^7~c+Vt65JPgb7w>oz{#j5>v5?ve~ zd!Qx#uj^>>4lQl3O`bwSSon4H(TT;}NLfoI-bAn*|RWX@V852pc!xN<|#uu8e6!Wu9D>J%c zGJO5*{hK=0>)zGOD9m|bgRAUrpH@*{{*jxxXKNxY^-z5LrDH_wQ1MGUoo=Ne!fyVY z21a=jr}d)seT`M_nh4l7HKUg;PuCoItf{|XrSV3q)U{vL2+>T%(e|vc<;i9dw-d2X zdph?5>KHeNGCt-_7GhpRnPgJ=-=@ib+v{fJ4<_grdFbh}fYOmglopxFi3%~P2xZlw zK8A^Ea2$QUf2LQePN+N z_y{g$=kOPwWHq-%INX6~6r+6te+)<_yw=g!bBWWrFlIdNwD%Ou^_sAqXP}qi&N2f+ zAp8w%P_yh)!TIm#WPv&JfB8KQ*$h_ZzH{t`E6X-llVM_&#BOs5BKWzl+`8B9kj4aB zB#QX-Z`iAxjv0Tu;{Ow6shBr>J;GRiIMnKcDW)!kAq|qFg9w`*-9-27EajQHm2R&s z=6TU4d`K%dr0o3{$OZCaEtVCmt|%=9S@C4mxnIZ|A@_cJSzWQHaFA<9kwQfl)hoLu zU74jv%lQGp{V%)j?#MgZZmBD~#VS)8j^x)7V#>~Ei+wAts4yn9Q@3zf!< zTs-#=jK;EPP-zaU-{#^%%kpNuUnS`+sw}cF-G+i7vv9 ze0L*&X zHutJ2OR<%Ac*tKfpyH*k+I~W3+shwMFa3z$z7vOmv`?vpZI$uqD7GKL@@GST^C?e-Eq4Qp};TMecN@Y;fmkubtT*(YD2GFw&lg2P~=c zc;dLqe(qBz)!?PWnpJ*}m8Xoi8Tw>g+U0*_y5d(8k1C!SFYs%EuaCRi-Q9f?KF+4I z78TrhZ-@yiqbr$IfnK3iylC~8mjn4*gqvfLv9BS~N6l+Pj#484Z4yYcd^u>+cfIyi zYePO?;x1p3(3>Nc5VpLl9uP7-TxoavX%NrkH{+tWG%p65?w2`ioREHcbQ#Cgi_26W zaL{*^uHWJQ^Sj?{3x?Xn*yxQg_s$~!a%O-b@FYPxWT(T#(>TLkOnQ9%&jFOC=jtcM z{91!Og?9ib*Iw)Lya1+b4I@`q4+h7rlgK+L9k$V6gSpeq_GbFBa1~C+uXixu>k81r zdUa~5!(KFnjB`Zy&dEaf8&{&3=6MhiWgrGs!0RD8&2FvDr>t7s2M_qxx4b~G-j}Mpm77p)*&JKAH_P~92#sO!8;@q@c>vF z%YDm^Qg;~BlDNPM;6*&?M~~-$e~;E`g0L;lb2G%OP;sPaYb{7^eNnMaVjg?k`ERax zz7n=r7=W%8wHg-bTqhAE6aAY7zK$2O0q_~K(n{z4yve5hvcn-FS-3)Tbxpd+y!Ww$ zj6A2;k*{lLuF7DGn-?dbV0zT8GpUk)lS;eGGS@|cbU0mBpDkc!*4Yk2sD+{arj@2z zfQq#OX2z|b0d;!|ntwVn+=TwkMLXXCDWAOhLu*a4$Zg{FsNkuyzSD;&?xfM^pjbfx zGC}W%7_okU6;L_X7ojSqJBl5LwODo<**0E3Hxpzz3@&lDECsWv9a_Iw4v>-D`Wl^w zXEou`uOs{cJLYY>Ec8x}WdK`!!{EeW5$bPk1*9jr{@f}3QDHnV$$zIk1=)TX`+E*`>Iy4)7lUU6N=Mtgu9#hgG1xhsLag#+O7@7NB6EOEF@chzlrWQ@i4qE!$w zYytK19KoLDvxU5WKTvVjy8*jSSCye6Y4qLFVh+dt(-Dto&8~LP5hw%U-&7092glPg z!JW-&rvX>*O;GOg35jx~0fO^@f6z0;*imD!uB@-RAVmMT1Y^d@8agKaagt9 z`+$GUMB~jRklE+bWb#0ZK-uEBw~3RD?DpW&0y}Y@Zso+n?x5sWAB_`3o6A2X#313F zas-|0e4`Yp@<)N3)YGe(QkhC7-?-&)(5}dB>OMa@X9p>uzdH9L<2BMS1tD%g@d{4;r~>Yq9Kqt z54TVrzz2~?HURLC&XC2F!Q^f`7Pg^aUhKe4($4T#MgS7Tq_+Auri_?RtSOmrm7`1a z_(SN}Q@+rw0pK+-!+$?r@*j%2S3f#_ggH>^_6hw)S$+eYX@Ixr<`F>}Ghtb_nLr`X zA?@ahEV7o55B>pWX1jYO!dC0(j1!N7*;0TA!Gp6aP(-9L!L}FphnmLY&(Hjwdx8Bz zaw)Ok;Crpph#V2tEymq(M8^uf79cYQlO}m=QD8)Fpq`e!Wv%#&hyV^3`wG%AocqbO zK3QK3U~h+;C8QH<)jI7wK&|n!+y43y4K?otW18O#fMq@cRRJHO$YN^MQphP_t?h^~ z4$<~AU(YYA6q0(#+iy{u9~Gn@7uW(*#Cd2B)7b%Y$!qjS$4o*d!+fTX7^9&v){;2& zh(%}kP1R|SZtkR_gdMSNvC;3r`dypFoF_-M1~-JAS!u{l2=_^Jb=C|3lcpV++vPsa zxI4dd%Jg#@w#1}ra>c}mnlJx6{Mk-XpZ9-_@duOY z^$C5LoziQX*g2oU3V4InxINtbtoYBrnl(dFV>=ctmp4KMdnT@R>sOp(;W1t{P zV+sQ3T;tGZ(~DL>Lgf4gx{pGL^?*x#kxKhrlmxa5RoIR%ri@6dr)_bUeE}C$hhcu? zuTh<##})TnAhl@Mgf3Q{_hrK71rD_MPzRo*$Ib@;@rla10l2H5Q=mb?cJ?;FtaRP| zLT~J?mIJI-a9b+e?_=djg@dNeD1>eJjPOKP%O-aHzK(y|sa#{Dh`^}@4!ja-hkrcqY0o)w8tG2gV!GS;I{=%{O z3@=5Mg@Gpr_KDnJOoqr7fE%v zie#?9aTCFlaxHA8BPckoyB)OZDB0F)G8Mt%UVXt%BzQ6Uh?2)8pTG#aDE51V z5x6A9o#S+i7=XcN7UPu+3&eP#icZNzWDHG9U&V0$e&cy25tL4cU(@&jE@Xy0XOfMW zbqw5Rs{mus_f{qC7Swh!0PG}kQ9`bJJdKlp!h63}V%6AJIAORhHr~tU!98_G0k4M> zL0#pP@or=7FUgnt(&}Dt_Oyk0ay9N8^CwpvF#QcSM#{qg~U4yjR@W0}oU; z)(hSo`B3w;cj7q;An0lH>d$-L{PShYtLhYmtr<5X&BRPayj=fkSbn@J|( z79ivdz;HdmHlW@E5aMGRgWUeSq02r{j?-6e97Ns{k7?@~MZFw@hh!jLZ=Pd!40Vgn z9>hvxIZP-mVv=WOwF>Pp>i2CL-`xAfW;StBZm%b-vooOz-u$xt>@8agz$~4FSse~_ zd{5KtKKlts(jM|-!HgO|!|V;vn_=PGNdgH5=e>RmNq2Gz>=OoH&AF!%i&w5sU}L5C zJO@G!c#bEPO)9e{)02)IiveZf?45p#r$(a3nfIEnx$p_)6#-i1ub~XO7xujEv|N30 zim98&%~aK5kf#2G%~QTirKSn$KVtVbN{B#)+%-o5x;T(Rlq|UyeO;(Ifz-H2I=1v0 zt^@i-J7I+Sy4g6H_5=XJ{*=vB{8%`s%VsAle7l23=z(^|n7V7tBO9NCO}KIeAWo?+ z3}!wEx|?_hHL>+6p;dY`(GTThkA0v+#GFL|Y9qlwJ*-+zY#E|Ur=o3lmpgYK$Up}3 z<=xoX+2@6*msob^X{(8%+t>yoF*)4h?5hOqRks9#ks8ZkeZNnI?zPL`Wy8Kn%6iR? zh$XsmzPVnMtH0Hgaaw!6Vr|b2kt%Hq*@~Cxp{c5dsj3!HLg)MvR+KFdjHmiQg0K}G z)Tv?I_Y;w7)LY_*cZ6-iJ3|M?ip_>-$(DAj$T}6y^~>Ycc}4JkZA-0l9Z~T|=PWK$ z`QbY(*ln8`Jtuv)Jy+oZb+%+jK(MTwJodZLkAQ~4$D9C z92-kjh`G?Vb9NnvqJMn8tImZ)&NBLpIuHkBB1#9LCOzCIO;Gns^D)Dh{YcoP2bi!? zvc7MzEIod2YPkQLl)$!2yhMc$VY|Ba+v1cH;J3z%@Am!koY(S`m6viintMSM-uL%x z1a63}Ui#LMNKh|ldQ(sO%HFm=0A+hpIg}$HOCi`0;)C68N`sIsT!;dFOtGyquzj(I zb;m+UW!O(FYF! zH*B7J$hY6M&zu`YE2<(+DnQ*$)v-}iJGZFcS`xpnbm*9VN!1q?W?i5}^7pxwsS(%4mGio4s-39gzdc0Z1;FU0h}f2*4}P@UUD%Br5nS7Lh0iJLa|vi?%iA^icj;#t+`bt%?x;QHSj5_=xq?u${rP5v zvlw(v`nB?e&&O;w+dtaQL4XQO4WMPvYfr{|HP|Sdj>V*fNEtyBToc8#b9^0RGf{7< z;%<>N8~R!$8I0KsZNJM?4k?l(setUljw8(vjtP~vPiHOS1motLN7_#(CVirq`mA5J zYlsnrSG;5=cz5k$72DI^#yk2u0{%C;Vo8<3iL4d^}ZBUqEOTIf9`sCotRif*Ft?6-jh!%_Bu&n?hac zje@pe`;Yda1)F&@Md5P=5T@tF1#191k~&f6k-qFIo^bsj3%c`jEV7(M&O`@b*2!d_ zC8@~zF?}+H)Pfh@v;hyukmz1Iwhy+{auRr(2jqK*2vj=;@C+w07RwVc|J%zy+TrBf z_u)?4numzyYX8!UA z+r#q~(i9+9u)W5==6d#+@>s@HPq-1E zntyyc9FIQVlXPdVw9W-&N&ev*FYmW}UUnN>(bN%LE8y&N^xPkPfadDYQ775$@JigZ zTs727STUr5w`lB(utxn*f4qGq*7=Wt?@8>PV?u8a7tL*-+cSn!0jRIoi?Slg_m9Pt zCjvwCAC)-YhIwl74s9uJqMZ_w_6*a2Vl&J8Gw|`m{P1d_3u`WVM9cuQz$ZDI_qpPr zQXJjSa93*GIYN0LUjp5@KA?c=GEyIOtD5A8N*e>kcrMKue9Q$j3V_d4nZkz=ffNs+ zf`XX7FC_(?D%Ka20&g-26b#w~CrQUJ8atDP#*tU|{z-Nz_#&4?ZZ6sy?lKllyBG#W zhI!2bWT^ zozD}MMHZPx$pD{Ua3pu>N;o~mzq_bC(97eZ8C`OF*kbvFiUoi7{fJxJr_|Ign#^~5 zih(4|>xkLK#L8plg!S52h}8hEb~|l_T2G|@9wFaO|GkzFca z;Ggp>w>+~CKaTqgGOp9NEj8O!*6CCycB{hB(}?%m1W-IJ-H{flt9k*_Fe}%5xT7;;_{FR*4p&?*e8jlv zV6pOoCuwKazs6I>V9*fF3I_DdXq*Ax4WAklO0##p*ZDOKb#eFipe>VEXL^#zZDQFW zF%#{N_f>?VrTXC76BSjuDg=w!4ICwuUzl%^+1U6;ykH2lvEu6ye1%j@dytA9zXT-t z^UNjqfYJ3s!3WfM`}ip1)upgTu;^+ThtKI5GyJW6a5RWaw7FyAV!r^FM!hY;mkK<#Plewa_s3HThpxua!PNlwKGO5 z6T;=EawTz?alv~qCZ*r&eD>I$$l*d{L)wje0A^3ckH|YAAJut|m!dp>oH(Hxyt&op zBYri(c}s-~DziP~yZED+&kv2L9h@CU_r_u0(nM6tT7!S|+7sWKeDk}k*agd2FE@eR zc|i9NibE1EkfLpE_q`CK6p6&(E{Q!qr1ElUt)y^z)~-*pjxI^Fhq{b+y38vT-DcrP z@K`mbf*OVC$EtR^N;tG?P?|D(bS=NGB5XZBVr#mRW=A4dklSxwfMMOk8GxNT`YSDk zM$`E0A(la;5OzW$BBDvs4s6qJMtN^eJKTtHIW;VuTLVnR_4SJrKu3XnzD%fJ@$5U9 z3k!Z89Fx5AHFt`?q5WN@ksZs{#ZSv%O4g!_)w_)K@)2;S8dI9@reu!m@Bm%Tx-XM6 zwrRvY3Am>5GqO9C`e}jZh^{~tCtMXBV`jp7_9P*Q6pFe=SP!dT!Oj%kRtgEUMY5E0 zEb6w`2Dr6Uug#83OG|c}lARxajO$k&XGT|_<=j*13CN-q=Gj?NsaAu<2x(GDujA>x5To!`xV%!MTa7vY{qi>(YGjW>Y(E!8?L}5H$v^H9 z+1X!G!2YAmX4BbD1NI_VW~oiK)E4ftnvG12c+-=xw9`rH%|_feS3!i|2f|Q>5lLr3sna|YnIOz|(8Dv=g-d0pcB$=*ybfC)a&)F0=nm$KsZf7X&8V+b>s~@>mA^48~ zGILjyB;sbSm|CpV07)>5C|Ppc%NFClT5P{{YUViyZ*|;j zgury88vVfLl34|7Q(s$rFS@X|`{aQ=zu|8Qy{o)PB2DR`O1xz>Ggj<*H4*hX%Qh3= z=j1~7t`;1cxhVirEh}x}DL?ibyZ+HrG7xnEPkLtEj5K%Obo_8cg8@vhUHFi8#i8~sP;d)L$0xaRZr!iMvE+ z^w9_T)#+e?-`hjt*!$5zSngX+`s>FJ4bF$v>r1Kn9-=~WH3Bn%K2`8yzVOg z`qJh@^_8IO>q^5HR_Z%y3%sx;40*|tKkyAoo#l=A|CszE%o412(PR8ly0i3GDr{bMgdyRDe@mDoIVi!C4kTsj`Uui zYh4WWa+C3t6JEEu``XD) z;|nNUn10?;#Fr3u5|gHy3?F^;P<%zpSxR=Q_0l3XyJ%TGqz zFRfc%CS=$wOY&Un@^UX)SsX*?p!6@yIzVxEvOERGaQyoY2hkDf%V12lO@S*rv!55r z7DA$@PmKF9xqmJ=6DbcJ&D=Zgkn4d#EXt zjZg&?ZVaCJ#L%Gor_4Rrn%j{=BCeyq3D;|8rhaLlHcU1`fdyc2d#epAC80Y<$H&+M zl&zos33PC>w~TdiI3d_1`G^^NQej?J!|b%v0FND*lbOB+y%yuMS7H9kgLDEQo|OX2 zBN|MRX8@ukAenAZR?(SqX0LL^Is3t_bKMw2PnNOe?$-XfS;s=jgu0`Sk?SZSq&dv+ z$RWmvx%{!8!<-FNu=VILs~!lz&eM-41E4YQh^!b&u=)=z<4a(t-PV;s;TMbw=H8`9 z(*B2zqL#P?RY15T3vO;tGeA*H!s%6H!Lt|6vQsiMOrK zaU9r9U*G{!$9cbX@NZvUh+GD&L?UP4&YD_^s-ZRWM9?!GU5;n!H@2Pp#f&Ve@)PJy zSvoNUy==&T$;C4TSk%>yF0=&&qfLN;|6@t(XrV=e`hZUFE~naNIa~)ht(fG$Mghc| zU!AaHFhQKq+5nN+{9o(w*8&qoLQO{p#el3=n)Dx5z)Uy;^6a1$843*O7<%s*+EMLY(q>ycvrBJAL%dD24Fn(e?(Pt*2U$<-&E+Rc}EYa z*%ln;x(%Br>3pS}C^BkZRHS1E3ehLFm1-!8F^`-fWsQov%f&}4&~{1{t= z+S5>;Z{#w`yo4^jfH7AKIO~lib1y67is&v`Jh!;ED>ct zT@6RB7*fO4PiVmHvHeYe;T#Sg)gyTS#5L@?n`=nj@AEkFe#&xVDulhG^$P}FIQQXd zT9U`&;L<|4PY<7)eY*SC;Fk897Zt@t&pCGIktA}(i3m+pNRR1x@A(X7hYWCnJl=Wi zx%TK$D%!WSF=2Om7!K`oyylEd*l@&M9^;20cv$zsc!J5Bt*psu4FU^EwU!{MP=D;D zy%&nTIC5(-d=fsEv_5P%08|hgi#Kx$mKtNx$gndXU9gGb`{*0#1_~b>ea)f@d!2gv z=IVWB(`E7bbS2$CJ*Q%-_gdC7YXK5_TM)3G83xa05;owicjmh);czG-6KJ3o9wL&&@uB%`|=gClvNJP5w{EX-a&kKGC46#%W-xrQam?1!_95EAhMQ zo2}Gp8-4f-BOUk(uizc%9+G;-{l*_}9!iQIkdNq*+TOKN!IQ@kVb!mTW%9qtoc@Q{yodhEOOKgZ4g zoJ_Sy4OY6YPP3A$5N`pMfYW=S!)HB{Q~laherSZ!zC-PuLI3M@A|cxtC7CD?TceV! z*UE-%^li2x?jrdkgK+s!*I{aBz*b1WY~#xbARit+VP19`jja~PzMTMsb<)3iM3RLz z4=5a84gJS=xF%Ic>u=xn0Y_T=Ipn|IJc=#LYNzsJdM$I(Bt~*)1_4DE%?aK(Bx3Pd zKo1ey7Yv`~z-vI<_GyDlxsQyB@Sg*F@d`};N`)6;ZOkhEeoqRP`*!$bymNt3fvFGb z@0YANxMPAD!$3H)zp%>FcIfocXacBKCu;=+x1*d7&v_q` zTvN=={!wOA z*gF+)Xx2@j+kX{&TN^c`t&)+^Srp!m|mhi7kDW-HdE@FjjJug$kZGw;Nv1#@3I{jBnmBab* ztVbqQ3rZBUB#`PENj-Rtonl<mBJYPuk{|W5i`0{lziw~*c{6VP*q!BVmioHNI(g77!@s5C29+rD+wEKeiG2R+ z)wfx7kcHijdhu%^G|1uCXM%b;5NO(A{-*#Y@MWdLWsr)Ex!oGXL-^W1K3pp*okO^*7$zG^|xJmp#9_<4$*f zWQ6JNHv{J_rLK)n*`gVxJ!xb7GO72Pf4_hI{1V88GxSY*V8gEFxtpNuE<=N{wVmB= zd-AKX-Im)qxm&+ALk4SQQ;Dm7uZ6rHK_G-UX^_{X@3{Rgk;x!_;pL@3zzTBV2z4Et zVF}z(D1PK6u>~HUvm+PC%DiUSs0ikccr(igPx4a8GH~8j>PjYbly4sn)9_Lw4S7Ec zR?W7X6s!O^O6;8-&vfp!-AhGMySo8{X-yc`7T(XX@T&aAtZxIdsYd(_jJp&WWb9>E zP`CJlD@>Fk7akVb^*3H2I~J;x9)5Ng;m2%1@Wxd$VJxos)zGtDBa4^imt9i_lV<%} zy%cy|N7lLJ>fe2u$lA5MC9@Idtd_@ECg=eENua#rWKk(QKbyViM5%FlocDv7MX^+V z=9eVZysNuAFDxd0)}l6K)z`$c&nAA_O) zes;Zui@cl%{#xvIpt#6oMxzx_bC3mj%FdGvG~NDUi5@}II;Gci;TNTMd--AmN~Xs8 zbxkv)GJkJu>gG%6DSTU#4PJTe2JiQ^<5z+%NWG~T(C+zOM$zuQ%*jR5NzNlpX={a& zz;cd}vQDnGzjES~xYMWfU^Snmr0NqU$6V?Z^L@Y?LKYfx!CM@Cv+O19T~zQ#@8N2z zw<<;Nt;1}SR*mIH26cQXO!*z5l=`=&K8#aGmruP55yF0^lj@pHkSNQcL9#RE%8bvx zT0@jrXVWVf8N1(xwzfNSnb$vFumhcBBse)8SdqEFwXXBYDNl5EkkgZ;09fJ;MtFE5 zpUY^uM#uxHY>it0Y_Bv|_N?wrgZixKRqYPIT=IEC)vlL4_)(9yLz|nkb1X1<-E0;Z zn-7MxkX<`ED+1=nfCloZQ{(-b*^eR`+aIpZlslELbRuHkIH$#0bn3iI+#1-!n2!n@{%lll%p8;Afv;d5mFPd?SpdAGnMSa*T2 g<$Nt<+OqAX-1|{!8gjk}$PXYDMRkSz8;_s=FInrf@c;k- diff --git a/lib/zstdhc_static.h b/lib/zstdhc_static.h index bbe157134..0cf7476b7 100644 --- a/lib/zstdhc_static.h +++ b/lib/zstdhc_static.h @@ -96,7 +96,7 @@ size_t ZSTD_HC_compressEnd(ZSTD_HC_CCtx* ctx, void* dst, size_t maxDstSize); /* ************************************* * Pre-defined compression levels ***************************************/ -#define ZSTD_HC_MAX_CLEVEL 26 +#define ZSTD_HC_MAX_CLEVEL 22 static const ZSTD_HC_parameters ZSTD_HC_defaultParameters[ZSTD_HC_MAX_CLEVEL+1] = { /* W, C, H, S, L, strat */ { 18, 12, 14, 1, 4, ZSTD_HC_greedy }, /* level 0 - never used */ @@ -106,28 +106,26 @@ static const ZSTD_HC_parameters ZSTD_HC_defaultParameters[ZSTD_HC_MAX_CLEVEL+1] { 20, 17, 19, 3, 5, ZSTD_HC_greedy }, /* level 4 */ { 20, 18, 19, 2, 5, ZSTD_HC_lazy }, /* level 5 */ { 21, 18, 20, 3, 5, ZSTD_HC_lazy }, /* level 6 */ - { 21, 18, 20, 4, 5, ZSTD_HC_lazy }, /* level 7 */ + { 21, 20, 20, 3, 5, ZSTD_HC_lazy }, /* level 7 */ { 21, 19, 20, 4, 5, ZSTD_HC_lazy }, /* level 8 */ { 21, 19, 20, 5, 5, ZSTD_HC_lazy }, /* level 9 */ { 21, 20, 20, 5, 5, ZSTD_HC_lazy }, /* level 10 */ { 21, 20, 20, 5, 5, ZSTD_HC_lazydeep }, /* level 11 */ { 22, 20, 22, 5, 5, ZSTD_HC_lazydeep }, /* level 12 */ { 22, 20, 22, 6, 5, ZSTD_HC_lazydeep }, /* level 13 */ - { 21, 21, 22, 6, 5, ZSTD_HC_lazydeep }, /* level 14 */ + { 22, 21, 22, 6, 5, ZSTD_HC_lazydeep }, /* level 14 */ { 22, 21, 22, 6, 5, ZSTD_HC_lazydeep }, /* level 15 */ { 22, 21, 22, 5, 5, ZSTD_HC_btlazy2 }, /* level 16 */ - { 22, 23, 22, 4, 5, ZSTD_HC_btlazy2 }, /* level 17 */ - { 22, 22, 23, 7, 5, ZSTD_HC_btlazy2 }, /* level 18 */ - { 23, 23, 23, 7, 5, ZSTD_HC_btlazy2 }, /* level 19 */ - { 24, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 20 */ - { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 21 */ - { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 22 */ - { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 23 */ - { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 24 */ - { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 25 */ - { 25, 25, 24, 9, 5, ZSTD_HC_btlazy2 }, /* level 26 */ + { 22, 22, 23, 5, 5, ZSTD_HC_btlazy2 }, /* level 17 */ + { 23, 23, 23, 5, 5, ZSTD_HC_btlazy2 }, /* level 18 */ + { 25, 25, 22, 5, 5, ZSTD_HC_btlazy2 }, /* level 19 */ + { 25, 25, 23, 8, 5, ZSTD_HC_btlazy2 }, /* level 20 */ + { 25, 26, 23, 9, 5, ZSTD_HC_btlazy2 }, /* level 21 */ + { 25, 26, 23, 9, 5, ZSTD_HC_btlazy2 }, /* level 22 */ }; + + #if defined (__cplusplus) } #endif -- 2.47.2