From eeee980cf7980be6e4fd47b299cb46853ad38abd Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 18:36:13 -0600 Subject: [PATCH 001/325] XMP feature added --- src/PIL/Image.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index ae2559d11..94c420bb0 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1318,6 +1318,27 @@ class Image: return self._exif +def getxmp(self): + """ + Returns an object containing the xmp tags for a given image. + :returns: XMP tags in an object. + """ + + xmp = {} + + for segment, content in self.applist: + if segment == "APP1": + marker, xmp_tags = content.rsplit(b"\x00", 1) + if marker == b"http://ns.adobe.com/xap/1.0/": + root = xml.etree.ElementTree.fromstring(xmp_tags) + for element in root.findall(".//"): + xmp_atribs = [] + for child, value in element.attrib.items(): + xmp_atribs.append({child.split("}")[1]: value}) + xmp.update({element.tag.split("}")[1]: xmp_atribs}) + + return xmp + def getim(self): """ Returns a capsule that points to the internal image memory. From 50e88764e83f0e3eb80f45eb0ef1e3ab31034938 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 18:39:16 -0600 Subject: [PATCH 002/325] XMP feature added --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 94c420bb0..e3d252238 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1318,7 +1318,7 @@ class Image: return self._exif -def getxmp(self): + def getxmp(self): """ Returns an object containing the xmp tags for a given image. :returns: XMP tags in an object. From 9947655b939def4096f1f815ff0088e863cfe7d4 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 18:46:07 -0600 Subject: [PATCH 003/325] XMP feature added --- src/PIL/Image.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index e3d252238..98ab7d997 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -539,6 +539,7 @@ class Image: self.readonly = 0 self.pyaccess = None self._exif = None + self._xmp = None @property def width(self): @@ -1323,8 +1324,8 @@ class Image: Returns an object containing the xmp tags for a given image. :returns: XMP tags in an object. """ - - xmp = {} + if self._xmp is None: + self._xmp = {} for segment, content in self.applist: if segment == "APP1": @@ -1335,9 +1336,9 @@ class Image: xmp_atribs = [] for child, value in element.attrib.items(): xmp_atribs.append({child.split("}")[1]: value}) - xmp.update({element.tag.split("}")[1]: xmp_atribs}) + self._xmp.update({element.tag.split("}")[1]: xmp_atribs}) - return xmp + return self._xmp def getim(self): """ From 762235fb06ccbdc5df9e3a94d7a1de14693f0f95 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 19:01:15 -0600 Subject: [PATCH 004/325] XMP feature added --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 98ab7d997..63468df99 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1324,6 +1324,7 @@ class Image: Returns an object containing the xmp tags for a given image. :returns: XMP tags in an object. """ + if self._xmp is None: self._xmp = {} @@ -1337,7 +1338,6 @@ class Image: for child, value in element.attrib.items(): xmp_atribs.append({child.split("}")[1]: value}) self._xmp.update({element.tag.split("}")[1]: xmp_atribs}) - return self._xmp def getim(self): From 2474cc2db64b264cf40d7203e823d93bae2e2092 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 19:52:46 -0600 Subject: [PATCH 005/325] XMP feature added --- Tests/test_image_getxmp.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Tests/test_image_getxmp.py diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py new file mode 100644 index 000000000..ce0e88623 --- /dev/null +++ b/Tests/test_image_getxmp.py @@ -0,0 +1,5 @@ +from .helper import hopper + +def test_getxmp(): + im = hopper() + assert type(im.getxmp()) == dict \ No newline at end of file From c84f1058ea0e627d5f105df6ddda961f1160ec1a Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 19:54:06 -0600 Subject: [PATCH 006/325] XMP feature added --- Tests/test_image_getxmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index ce0e88623..1d08b27ff 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -2,4 +2,4 @@ from .helper import hopper def test_getxmp(): im = hopper() - assert type(im.getxmp()) == dict \ No newline at end of file + assert type(im.getxmp()) == dict From 4ff554620386a25d7da232646a66d5aaae9886cd Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 20:00:04 -0600 Subject: [PATCH 007/325] XMP feature added --- Tests/test_image_getxmp.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 1d08b27ff..856e74983 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -2,4 +2,5 @@ from .helper import hopper def test_getxmp(): im = hopper() - assert type(im.getxmp()) == dict + type_repr = repr(type(im.getxmp())) + assert "dict" in type_repr From ee5d05ae21a570e26f8cf6ad406aa4744307598e Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 20:01:56 -0600 Subject: [PATCH 008/325] XMP feature added --- Tests/test_image_getxmp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 856e74983..022ee7ae8 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -1,5 +1,6 @@ from .helper import hopper + def test_getxmp(): im = hopper() type_repr = repr(type(im.getxmp())) From 08935aeaca4d1e544895a1d6abc6d001b92110fe Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 20:09:10 -0600 Subject: [PATCH 009/325] XMP feature added --- Tests/test_image_getxmp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 022ee7ae8..0567da97c 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -4,4 +4,5 @@ from .helper import hopper def test_getxmp(): im = hopper() type_repr = repr(type(im.getxmp())) + assert "dict" in type_repr From b802588223884e5b7840d01d919b6cd379008c59 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 20:49:28 -0600 Subject: [PATCH 010/325] XMP feature added --- Tests/test_image_getxmp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 0567da97c..baf180b18 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -4,5 +4,6 @@ from .helper import hopper def test_getxmp(): im = hopper() type_repr = repr(type(im.getxmp())) + assert "dict" in type_repr From b1b7d2ff182251180b51729e500c0518e705559f Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 21:37:15 -0600 Subject: [PATCH 011/325] XMP feature added --- Tests/test_image_getxmp.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index baf180b18..f8d8900d6 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -1,9 +1,9 @@ -from .helper import hopper +from PIL import Image def test_getxmp(): - im = hopper() + im = Image.open("Tests/images/hopper.jpg") type_repr = repr(type(im.getxmp())) - + assert "dict" in type_repr From cc8070aec5c7b8f96731df865ccf9c9054f8fdfe Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 21:39:36 -0600 Subject: [PATCH 012/325] XMP feature added --- Tests/test_image_getxmp.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index f8d8900d6..965e07148 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -5,5 +5,4 @@ def test_getxmp(): im = Image.open("Tests/images/hopper.jpg") type_repr = repr(type(im.getxmp())) - assert "dict" in type_repr From 2f29f1306fa0650269a23a8158e4d99f21179ac0 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 22:01:27 -0600 Subject: [PATCH 013/325] XMP feature added --- src/PIL/Image.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 63468df99..983580fc3 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1324,10 +1324,8 @@ class Image: Returns an object containing the xmp tags for a given image. :returns: XMP tags in an object. """ - if self._xmp is None: self._xmp = {} - for segment, content in self.applist: if segment == "APP1": marker, xmp_tags = content.rsplit(b"\x00", 1) From 7968279c13b126c98d1ada52fc1b5343f563a5a2 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 22:24:38 -0600 Subject: [PATCH 014/325] XMP feature added --- Tests/images/xmp_test.jpg | Bin 0 -> 1798984 bytes Tests/test_image_getxmp.py | 3 ++- src/PIL/Image.py | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Tests/images/xmp_test.jpg diff --git a/Tests/images/xmp_test.jpg b/Tests/images/xmp_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b9354f3a17efd687f6d8e5bd63085bf5d415e1a GIT binary patch literal 1798984 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 z≪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

<^zAqA|Fi6O-Q%7;eG$F9oPEpADW51q&X!rJC|h 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

-pU=s6*=ZrdsGO5^@_dnjmo*z7)Djkkj?N3WSu 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

nn*_P8*lROzth{MG*SK*49VMob5yA; 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�HJ-KRiR&3SN{MKjAT~j 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

(&||p9-y1TTfQny7c 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

;2>1c4?R-pg9J=&!%7eeGHZp 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

5bh41&>h#t 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

op08& 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%0AH7;VAi@nyjEJ} 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

Z~VBkyv>TH|gvSAgO5Ru4$Te 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

GlA`o5i+QJ6cK9TJ>OABo0+mfnZaAknF{R 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

R$w~quh;ww$}9YT_WuCe zud~mVu4^)gwjo<^&Flw~2_Ozb>Ayj{t#rnSfS||Bb2+1AMe7Kdp!+G`ZT1be+w4z5 zCPLe9oMUOERop21X0IA2YuJ?oB94KOVllo9 z(ja;SdS=yG@-VV|J#w$avGq9hF@5KI_ zc;5%#e&}M_7Y`AqtaFfv-A53}sdIoo+ojJB!*xhgRq$OLh({r!Q;dt_KNNwtMXP0R zQSFSHAMp?TY)2(u{{YEu?@KjjV^Uf5&ZL#AyN{XU{{ZSiQiC@&5o4d}3NjHH^mizJEL;%>MwybMd<}R*x_EmhS#c@#H;yeW>S& z6b+GM4}64V{yg~Ui=h4-m=M3hzYkIW0IU(O^jvKJ03G;}ZQrRsmlz#)@y+;}-d^ z#4ma?vGC1zLtbR%lsMsUQ)R3W(hdzESGMJjiu|r}xlE1OQHwvs+?r=XcHFRMVyAzsfL?g> zYBkOqexZu{AM7hPaC4=AYfUV%6b<^XH|Y}WHsl-19freiub!dRPpKzym74v|H%lpG z+CeP1#i^$&OBioU*H;S8KxI;PZM{D%RX{&}q#h?em~E)$hXiJZL$-OVqe^GxeZ#h=VXoK zhRjYxg51&gNd3tp$JirnGWBz0UrYS(5{uL`emxk`W%BE8b48|nJ z;pjVFt36&Not&siCaP0y(6D7cQ|?xVKs4$1wZSKkqlymuO7K;vOU>l)|umrhO5btw%DyV3(pyo7fjZa)1`UrM!}iLPc)8Ypj?6BW)R{dqSG9VU480uWc#GJonA&n%s~xGoZ#(U59|)gRu&~yljh5`5K1b!8Oj>>I!2nqI%eg$dR`xPIOLGNA;YQpBIV|#1#loGG5)Yo5={}vF37FdtUVl-T@)CSD{!@Yr z+AEqDJE$@JzQk!Z(^>pcxpFI!nufgXW=j?gV*ri;W-bokdxrkL49^gWPNqi=t-&1M z&ld3`G*bTn_?(aV%HN&uMI3%w?u`Ec2lp#a{B|!PLlvp4PwCaKJ@k_s6T?mcVdSkm zu6Z{eNgAdh3tYr>s@;K=8&iTg zzPY@YI+0tCACSvS+Ah*!G5UW@*3wu^9(zbyzh+o-76s(F2%e~G4De)Scb-WmiIA27 zxHpfdQ^~({qg3r2%0CFI{joeg_ETh$j%t%>Ox=uyHpyB_IzDP?CX&hH?c)|!sUetp zR)PSyn8`yIqyTa6)`2`hBv`>N51PUKy>Y==KJ962cFD~qxSZLN$ghrdxtE@3N}@$) z17(k+B$eigBe5hlV>>^n3E1*KZj#LLIG{nUea05RZ=bJRmF|~rb6U?uThcf^RN6Y1 zqa+h*sHK){gJOd=?^etY8~jWwzXp&pfP9133BZwFNVjwNdtbQ5!S`g4mi@A>=`X{k zvF%0&7pY zh>Hr1pwm5!J9qf7iuRn! zS=8OW%KlA5DIHo_stlPcHe$J8QK&MpIV|_#UM(l4N#F0VCf3j~*j8X9BccAsCTTWJ z;Rfcf-z{frbtamY$iis)*Kzua#WtTSXHrti*wbqjnR!ur7m|45r!27U>++TW`5xrN zW1Q|YkYOD*&};AW#~Bn+Zb|7`v8+2|-QL&t33c9`$Z1QOYgErt4CXS0h*u?uLADk zT9%!CIVIfGw&^uAWS1pks!dZKWSSzXRf@1se2{jcFtU|JVy{HD;kLhCzh9jDRn^=z zDyZx0l37a8WY(>W+Qz>PG>vi!PZhoiJWR2x%6`}U+Co;72P8*AQ8X6BLZtqnZY9heD zUaDI*&#VQi7);o2$!%I<3KJu601d|DV8?{QjV!Fb5I-aHBd%d+#H$tCoBBDmsqX5E zx)(Dg>bVS7a&sMgCJw#qZZ}XQ@@%NM>(Iy!R_(Zpv}G76W!u7o(w$?pRbW%OqD6PH z*khtW;xiCDFb^lC_Pj#Vv8*z<>KTky2e_EI@%h;$l8#d&rUp-6PX!ez7NR`s*~OX1 zG$B|9Ay4k|S|g4=9pNiRfDK4JM`MYw=0p$83u@`?J+bknd&8uzU?I?tH5_+wUcA*` z2VQCH!!3v_3FE3QW+38aK*VvAkt7}f><>$lDZmmUmV?&6wlWw(DS7xy;})8;6R)w_ zds1Yh)s!(-ti;hrCJ!5m#+r{tz1v1xGhTseJkqSF08{~Z0lO2i7MD!af-*;NN#`*Z zrUh5a@7J8A`U6Ft=u3coU8!=KvPd;dd5p|jdX);5^tAZ(t8C&eRJ$d3-}43J&%tF; zzTge~IZ_=ntE2%)9BwDgf8!>eStRk|E)`qK2Y>$nD)RGDeE>5PrWS>`^|-^zZsM<` z@XJ$A;odi`WB&lAFXe32y-@L_Xh={&4Y!^vs4)1H4xe`^}(FC zarC!us^Ky@x{0c?I83y7^j$1dS=!QT|pIGeM`QzONMHmwl?co zqaUvfzbmtP%F0f_sOw~mMpwl>`z6yC#8-(r1ZYoyGikOkP7lYF4&;% z&t`O1qP>gD%~w%U8g?6bs@Jiag|K*RO}Jtfpht$QNqW_lMDsFuSMYZ|Xw}OO={F&v z(2FPK+Za4q;t(kOZQHLtxCeXj9oW9%LqoLMlThQaTA0U&lP6O4Dl0MS0UFkNu$RAB zdeK;gSzbnDo0;*p#Po*KOzt%?#7tn{2B_d6Z4`3E=Jx^vA52nrJ74MCMsF#nG;W>l zZVypSmB-t_K`t*JR+X4&Ltc#Ly^9xGcY=I>sQ#LWw?t9(2cbi$mC>hYjA4z@HV662 z3hCg2_l>0}8sh%|=Ls(Nt0ky2vkgBr9^K<8E2scHV|;6D`EJFsX9)v@OjskFbvW3A=0R2_ahBd4%knbm;^cH*LTk!MQ`aQSN zy4Nj_*ZG{y{Z3XZn7usXa9q^2=1K27I|@z+nNcSVKts;zvH z()~R$WJYg@eXutO2v2`g&LBIn*go6oeMN(lN@{d&(tx&y| zu&pF<%V4bI)-DI1VbY7uBhY2rwy0J9U}di5plPLI(r&+M@A>1~LR8khvd?0)wLH{$ zNaVv}vDs|4Zt$qlL3Y)NDc{D6(c7mj2tFhwc$vkPQsqYgI@dtpmyCc73iSiNOhTPJ za*}M4YqffO#v0|T>fB~{YF$yM@<-w=&q|&uo~o}_)<*?NM2lDQUBwBd$jJiAB=y*o zP03Bj=!9{Qfn^(yTOB_<)3wxuZz$+%x$k&Oe>$3PxY+u-Gfq;+<+X)#Yf)FbHCj}j zjImd;EyHRabz1HfNi#f4AZKt3c<57mw2-u)a=pi|_{?CVPY$9`Otu30*GfO{65ZDC zFXBc##r#eX_WuA%HZIKXi_7E4C2CZ)Y_ z!yBK-&+ANKxFqGoIz=A?YV@(swf%puG6s`Msp22KW+VLZ{j*i6(ZhEa z51+Med%8ZXXBnmOIL%HoSgR25WUpS9H+btClFbuH(aEut0>JOZPA=`z+I{PP>sZ-T zG!aD)l@x;Ai9PQZ`uf*y@7c%RkXG>@U|X0&MU78@)OHy8qBvGg?QB# zIEwB`JM@DT18(Yr3ATuO<=OP z`*@|QRcNKCaPMfxji(~jX%-g$0H*wj-H!b_R8(N`Sx-_s{PW7wokVg<8~~+`(mJ1> zA~p2#=^W-&vNb9rViti7V*DX7U>l4 zt+!t1-~MyZlt;Zc72d*!x4q)qTjR99e=&HiUsjf_{{Rr0w=s*P@)${MK2s@-L_hO) z;@L5APL4>C<#@v|0B`M*#U`Av3Z*LU`hT1hm6?1EM1X8=zdvlH*^CZv)wVL&9R32| z#Y>Hry!BWmD59}65EvvlCe+#ClCw0qOOxVkWaW<48Y2~s^rK8=)Q)K3lhSiJa!Qa1>5;i|pa4qWZgCCb z9~wt%Mg!Y{>z60+_(ylt^PCfJ-O+R?SHED=W=qGF5ULWx_Dh% zlv$;d3;rF=en*+qkm8oJOD1*hW8{F#J=xT<*jEmb?Z@lVnGA=-eIo?-91lV(JrqA< z(t$Y&??B&GWBjA#kyLQ{vq|E0BWgVbh0@xmFOkMq!fDHY6Jkq~Lt&%4!aOrrrM6xx zZmjBD!~*kG3J?#2AC(}Val19xdUNTDK+7q42|9H{=Jh>~<%C*`@b}y$&tNqUkkg&N zn!cEPj%Kz3?fk#y^)q*?M-7~Jt`;+PNGQm{AywLEt-YtaFE0&D)ANeSbo|9EN5k z#kM||#JF=KQOrQFS+QRrqDiG25;p)2KJFeYOXZX9kJVx)^KFJg4Rj;89SQfx9;4IO zvbTRTKaf|&<7%W)UbT<2XE#!LR%4V9gEy=xNf8AcmI07>@xMTzQJ`FKRC=CF=8o35?46v)<~8y(nWVMKq%@(k52bR1HEBdRmgT=a_XlDW>lKTE@Cs&@%5-Z2FFUIcc_w;0_xnu}Lq^IDe! zLqD9UK{3~CW%TX*6@b{w)~eB?sO}tfm&UWaF4Z{+L~OoC%hAe8?1jRUXOYc;^2y|p z=hVELO0q9b-0^qySoX1*)Kp;n^A~9|wlS9NS<`jnvMW-_B3C~NjIly^8agd4d6+Ee z^E`?^b>F}tk9gj+D-BU!$s=t-1)j8Wvg*$N0QWM+zo(AYcdux?JoS+>xa>Rb&B~BkecMquN<-=Rd#R>k8W6D+|)ON>&7!s%^WCTRSpeqKAxu@8e6vgv0AU3 z$YF0_E9$IjWU*Py%?enUu=Q(FwQfYzn5eA!hNn6GLiZX%(-aCv(W=s>68w96l=<S-_*8T9`C?yGnr$m;H74Vdm!v!lJF0$9lh-*QZn0_<84HIWMyo`tm)kjlv_x7hmfgtDM@bgs+Hz zuW>+e`Fms99apBbz1)tB)OVr8{2oFKd~u{%JX>I*m(rt6R`qx%b;wF5B%RU{Szqhc ztWrAeROZh=>i|a3ENr9s0j>@DpOzaP0FvF_}xA3JN!o(?+UbHuy@*>P>&nHfYAVgG$Pb4Ug;l;5Hi_ z-5jo&)K{={^3*D7I5GGvW)CxZT_=*rB-SD~a`oo9D`YX{SdJcqzcJhe8-h&H+OAf? z9X`KonP!bOBWWbYrrNB0y${bJuIViE<#5;yciX*No5|p%mmP$f_I%vOE=BCeJohyb zPg2dAuMv~s%z>SP@niB1oP-_4Bwy3|d*I5_BqwwI+a1IXrutX6u3X(4hq;c#XrIh+ zm#yZZppbkFbn85rIz&wzxZ{wPd70t1?HK@)u_60-2rLfja0m6t;XtV%*cCU}9=`cq zuWA1N;&sMnT$aXS^tP6j=UiSto<_&zi(qAC#fmtEOnqC{YA`}cXJIDieuRxZC=6Ns zdJOb+Dm6uP+EcW$^*mAa_0Rv;s+OnLy2|I~T31WzEjw2$1IZI*r&O&4JZ+&Qu->s| zCzlyL`O{?d)wTh=?XeCKs;@Ew+l*i;zm0((U(+6%Mhfv+e8xhqpqC|%tWsLIk#Y1d5!mm;K60?#w&@PQySov{nHnP=)B&M}m&EyKM^$?DSVYRvKC%;C}+ zlVfZ+cx0WJvZD?$soVbmZ(7ae1XZ8cHFpH_5x8;l$*k6?r-{V+xqJG584*bF_5T1c zbf~eUE{M`YWXdLIc^7u_zBcjasYyM7%uovjU&e7Cu64$h#O9-l&aujgGF6fm(;7x` zA}m+Yt5m;cLIYTc!OBi3`+?`*ZkUlu%2^^5IkSeUWq$+?Zn^F4lI!?y(9_LBJDG)z zniS%*jmU~v=q}~fSfHA!WG$s+u;nEsS8`oJsFk_4F8DlmNQ`+)3xEgm~=>0ciSau5?jLl~A**GH0$)0PsuZV5P z5(%2cxuP@$c;_6I5UUmYb+I;{Ss68MS7_~+UUZrbF^~TMu5Qn#`MlB99fo~ZjKt)- zk(1OK!#g$_x8~YY2acjJRqszBdlhLGtgp|Myjp2xBy0}Dp^8#3!P=GF^*=l*qKHc3 zE>NBc>+|*)AE>)4rnKe@3qqAUI$DlDCN5FQ(7*9g)5%L2k_!2V9c4?eT(c^wAsg&A z>8mTqNnjjxIH!44wyXK-hoyI{L}YQD!A)&0o6^?i$5?7rp~-7VaOoDIu9oCuE=mZ4 zi6Qvt!i7?S{fJ$T!RQf6vn`tFPZ^LCCojV8=smj}=%$*+UeP_RmdYDJ1=_LCLU#Cxn%wrSl!~l%o-?xS^0C`x`t+pH zvbm9%1L=qilMU6iM>p$OPukoSEqhjtj8>}2V;3EA!IiAr$lIGMZk3->%-)Vr!;e}L z%=-q49zlQ1N3)$CEy*-Pp8o*jDksV%S|Yd@x$kG;`uA|M7c*MZx;8ZCI~^=_v9V(k z&59HPNh2gNq;m>&T6Z9a{re5Qx(Me;TWorL$U6T3a&a*+h1N*O@rm#K225Mh_Pb-I zE$b|npnYMR(i&DM=-j&#4W8io`b8LEzskdx>c;NAg z)oPeCQjPA^f4(GiZ{m-*TAw$D($w_kRqx!9gsq}s#n7>GF(0D;0GoVmYja0dFnR5~ zKo6Ip@KI2fkwqS@c0O5DD1}^sKn{D4o>>^b5ZCnXGd+XO(xs3800vdDa{gxY^f7YT z5lIw@Lm!Hyu$%cw`EU`&Pc!FlBYjxN@~hZ9gVw%h6XGPBW((Xd(cJ$4VT3)i{6;r* zG_B0$o6-3UeXJ%z)kcFMX2u$gnX3H5(Vrs_mhFpEI;#l5R6G3LX^X-lIVJ^&>N)7&?Uay*aQu01NxYaw3~s;|XfEY%9(E#RzPvpx>H+m178M)cLFjckQaRM4)XJ2?!TGD!)B6Cn-`tK>FPMGL#ktrE4OiYky9ZpTXv>MO}l4! zAXyNjHyIn43I3$6!HUUX5Ni0k#h9JEDFLXrQ9ZF?b0eC`YWrGCNNCLMtc=TzeM72p zbk`ZCJ|BXs%=5-7rRz|B#fCLuupE!KSimew^2(uz@_=mPbl`H%M}n+=ckT1bH;t=g z;p>Qz^_9SFr>pWr-dMn`IJy;0YaB_UTG(WKjO29J-xA zP_Dp_mRZaM7<@LLr;d!2T2Z;-?#w(*2~G_ES5Uvwc?`9?i;2*?aetFq!G&D~=FsyD)OxQGL&o(%6|< z6&Amz>y0uJ9Z0Ttz+F4|uF|^4C2LJv#ANZfw6c{cS-vM6 z5D!Mt$fI(QYpympM4M^8^!CebgUMpCQQVHE85U1LW_!;KNS0X9Ihf6}1S=F#57?kF z1J9GviDud6ClbIYH^m;9rqrG0?fskb;IsMcTnNb(s4(^IwS2EArFNQig`kejr~pvJ zDlldD@zc}B93*Fv*0{k~iw_Y^ka0z+wO%7sWS;~1rkBOx{a7v1n^3H@GPhCpl|LtE zSZhF}>;W$u9rpnA(5)0?m2(S3sM>TC`F;;41blkzB^yg`2OR&gZDGtZf4oBbY3hJuSyAZ>%;Qp9i8yOnb zl=}YwY}VA>-^Wu_r({{Zla{rbHDl9wi9~Qm3K<8*Shh@2K@d_&KQ%)KZSzCQW_#2KB-Vc zF!ntZx_MGlFw~-PKvkOm069!drWnXlp?mxH&CkUraXW<~=?r!hPo^*tW1_iM99WXR zYVF5IuGI{RWO0wC2|qM^+mDThj=M<=UJGs^n)$xj8I^{m*k8B#%)NrwnzI=kIo$Qx zDAu7gl3&l&g53EG#1YpE3|X9cjVF0yW#W$*;x--u_xWGqFX7z>#-aN*qA>5;`mf04 zY_LrkX(OXu2TS$Kx1l@d+fL}M>Ax(>)%Yn|3z~u$Y~z|qBV|+v6rf77px{4t&WA1ccaWi)7gd*l!B@~Rma^V{p|`#2K^TJlRSo7d&di6dy}>Kat? zHIerlBvw(Y+44a8vk&y^<8>Mxev*#6;SPWfSuB67fWbO8(-o2VX2sLYf;@HTByA)!ziV{x^n4{N+C2Gl8n|G>2m$n(WKCjy2pT%tze$>g_MY{w<;kx*v%ZolgZ`$H)(_ z@YT?TcdF~b8B{e_V*4$lwFWC*_SY?i?Dlg6^G#Mfo~y)B!_1{N+IVJZW{Lu!@{K`O z18?K6pwj;U7JO?{6rTkA{@z?IZ1^DN}{ynGhbn%#{s$e)^eZcp}31y7O7N#qE>)$QDmDdv3 z$4s~YxVkhk_1-p?rEG2yEkz57qp2-(>k1~`{{X5HcjMQhAqZ2%1hMNz&M}RG0qA(V z>rdgEL}awzZ1C9~L}^*nT9y%-%g>JvY9rY^s)$*>a)}WGlX)a=ew}|X{{SBRWc**_ zx{(<_WQB?)`*2U|o`1w-+aQHS1^&JAQ@J{pc(Qf0C!3{yyVUftb=Dc$=_$ozzS5+~wt?6nV!-dWU!m!=@@h`# zbt($=zfYD7vu!&W2=u{@*=vQ>I^P|Q)jDRzhtt<(Y+eQ|?jH4vRp%vI3e{~mSmceQ zBlWjJgb$mmW(}uO$ieHaAFtCg2+YNX;o^4ArB~9Lf-Mt5gqakdA%>n?^>;NYOCr{d zO|BTdxhC+rFC6;{6G9Str_@;ms+RrDgNU)>S3m5 z9%`{!W3?ua(OtLFlHAw2!7-HJsNAP(6{wh_i3c=RU_NcY0Y>|KeY*UPPvh_6Z;$JI zAA)H1rTP>31iQyNps0RSBHOxj30Bblp)l5 z);aPy8!Hm5j73_t>)0Nv)=H5G;(|CN@;H+Fe;s|smKc>ljfhWjNzY1Y6b}tk&EG9H zPey9VY{{(eYijyCNx@vtl#(Wyo>^R|h`fxlMGbPx?#fGj$6nr+Xjlk-&SaO@& z5~~$c$vg}=qopfn+nzT$9(Kius-!pVPV-TP3#`8v#pkZE+EPyv2>^Wuw@qzAM@q{= zj}^{HW0gZYSmzL(%+Z!{&6l~UwUcDyxng=4=yEZ`XAuRd6h&TzG@IpKVSbKD8}u&0 z$Y`OZQD(Z=u5@R}qP*mH&JlhmG>33>#pu?ghaomrTO%Egtd)Nxq_IlDg2q%>X=Dw! zb0zhj?y@ZaMJAR;+|De7{}cK-l3mhR4D8HC1SH5*{y;b$i86UR|~ z0yrlD$)-I1gl+!-n3v$9CNt_8d|Ttzv0oDS)LPQcmOgziKS1Ax%s!dYdLI;ZMpR?( zQC38fz2(Qe5R%3YRbFI`5sHOob?`U#`g$5|(6o`lmY*yA^W`kEH0qSXu3Em7V=o^e3jPDFXFOsqF%iUo(?Wc9cA_H+E4*8llxec)bSaaokN@2 zX?g?gg1}m-6iMrVx|_0{s=uGHtEk_7Lw4;d^U|Y+hH5v~86{H9Xz|{>QWn{~jhE}c zy-;g4Y>_F4Vh#yvBK^H_X&HrzhU(pKELGh*qqF!bntv;ggkkByT`ytcmR7W8NR&V& zwGQ@Oe!FgW+kL+CB$LDoqy6dVPfybY&`4OZ?~ADPZ*O!p9M)F@jIV~CwOLYobt8sb zcB!JXO9Y}$4$>cBcO{7*)1zjWQt>OBH^-nkg^Dc(J8%<9YArje^ym1`RAOd^o<1vb z>HRU6!DFu&A)`CTUhLBP0>yW>SCB4#Kz#JMbf!6^*37wzyyXM{{UccX!Oq`LYn9C zeb|IR$%l=;QCSxs;+L}3m)wz%zQZyeg2Qsna)in$5$INKNLeqU!FKyHQ{S4Z;hi+M#AwU0d{apb zmZj9GG{}~}F`41`D)7XTfiy5}%&z1QnR-h{DsCY`B}1gHbS;xjE+gU+yXwsqSVg1*IB2L`Tz<3P&x`2 zs2D~N0p$k2-VkK6l=67IUR5#TOtxOot5OVWMPl>XE6P&R(^uRtow+}NH}~t#`#iFl zKtFbZ&E0;7JuxI`)j)A~i)@yQ)L8td!{p<$Red*RGMVT0=aSR=U=lssf@Fw44Nyh42C0k4s3#;`B-M?fPd- z(UlekGVMpAG+ri46spD&3k`E3)WnjRixqjpM*#Kal~121&-2%%AB{7O&E_J7{{WNQ zJhs@RFdkf5_c!qyq_j?x$Ld^OjMW;VD;Ch%#^W%v3w5JM;@7PkD5AQr{>cdH?JvVM zI+HRTL}vY0@ty`O8z%{hmzF#S+Y1Pt&PiM zp?16QLTwfBhEOP`>O9Wmd`S$5UT?kM9z$JHd zQ~f=&8aY*nj0(?PoXP7Y#~M2S05OHt7Gjp*p_9kGT5(AJqq;`PBf3p3Sl4G^xAyVU z^%6lN6Q);1v0(FAMQsA(8>{ugDd5IKtnqek>BPTodbS#++Ww5Mi%54es>-T1^@9Vs zBo;e#!QwWZ)h48|W7ppn6$>`tF0o0dv-*iUgN?}P&eYhsoykLt^y@C7Oa!ry)iM6jNE4az0G$Y86GPUq~*usY)@@& zXCcdCZ)EF9RTX8lzP)K<73EN*Mt2|*Jbm&lKAF-m5xg-=!k7c8wF^QK`M6Q2h*aOWs+7Xv4cZ} z9C7KG3lbH&h!W%nQ>OKR-qEq$6{J(B#G-t0!eP2e^H|{OUVB6c5U`QQlQGk zWAOl6vVHyWa-$Jk(aMFYe-6F4#^6PZ^4ZebpC^9)Ya1*L9ecE9y6n-#kdceVAc>sp zq;LItCf4d-Q6m_Hns5S}=xft45tS7K`GyGSPTbMQVXallOD}gd4tq5`eKg`_jQ}TN57-(=G36ByZZ>_fW3P2jVDxl!@Lj>s zSFm|#vYx&P^&;N2G!_U7Y>{9!N_3-fzT56TgMS3uP4P0a$*0t-L{^T_2Ord&SZLkp zNe_rl-S>}9=)c6jZncCp)%1QZRMWM8Ap=DnPluG6>1n55o6)BvfRnb|e1bOdcfzB8 zvufb5H4;WtW0IJ%mg)|E$uXMi52-tEmew_QlD1b998_#Y##ESJ0Lwr$zpTPH^%U$- zi9dJQclz}pdhj5VhfcoLpD(D>JaRNg@e`k)ANYj!U$mXL?G~=?_KL$A+U^P#Z0BdK zY3bC+-IzSG*uPa9(w@O~KRYSpqi#cC(vQR^_~xOs8tD|nXKA6h0oWhyo}PiVI$4!f zkA>;mKPDG7247WQvz5BWD-&)~5KF}vK2##M{{Xjt?myel5Jjf@q#jUn+?Ga>%NETT z;?;C+QaDTSzpXMorIFbdILQU196a(>@v-sImD5U&CXcrm2+tcUA?EVy_Rn8h$C|G8 zL{{s1LRMGe?BR#axA})7{2luI{{Z5;4+2ogr^93VXVPfr@qn^74DWB?xA9EYO+7i6 zz9W?*jMr&pQeIOf45&7uhT0AnHS5`DwRi7{8{=h{3(7Rx#pn8=PaqA zI;0UwW?2Hn!{v~xY{3h;8*E3+4#4&Ce--#lVlT8Hv3&8|g_x+s5^4y zDuOlyb^Aijy1fjNXyg(_D7vc`=x-#`mD9@`Srl`spM)Ryk4KNrQqY~%%1v)c+nT*< zIm>sf*o;dmK?+BC?L5ir0;;Jl=nD95C&~D~h<^x)lm7sd_*^L;#M6?10d?tBpGLnE zO-lWjRUs?+QD`HseG|r$am{|xroq!9&BZ?D^`(QBvElLY!%p+b=!UlK?nTXZSU3Ee~SH`CPZ6O zI{IW1>6%F+BaCO`vyUO(ANT6^)2Iq=?<6kZ?y4Ck*!kp=8#b!RDo~YViX>(s=G<{| zIG#aH{s7pJKI5$a0OP@p#Bb&!(-hi{R1t@IcT!r%NoG`Z-Q)~nLZGW33OFy26t2MR z2fv;Af5WuDW?&glm!>X9-UtI7*dE|4slwFJ!Md|EsRi4ImE;Eh05Lv4uU}slsH&k+%UDmzFy4UeSCpG|-p{l`o?=aNwfwrmuLDiV0Y z+-|k0kmB_$?_J?yq;CyBU|`DO7g&?sl!JCBDUC32PKSV$#WP0P7oV$Hx2x$pr4`X3v^9*b$UZn(yj zg{tQ)b_%pu>gKF)tF@STs0sjGzF!CH_x}LD->FM=o5|zBe6*NRJBffl^ zSd!$^O(U9!rIHvGK63sOck#I6`@fI(yy~Nt1&tJVzNY|0cUkFz8H-`Sl9Ml}j~j3V zN$Ei4l#q%?76-xKVmW;`>S%|H7fVEv@wH&imjx%5vVZ?_o>I6S90LF)Kc`w)>42I+`SGAkQ7qKJn6ge+nd)iZ72T#rQuZZ zJRA|n$lt&{KS`^Mutp^5ploblM;+p^R{X+aUS2 z1-{#F@t52qV%$x%C)hv zySg2umDxlkn{l$YpOss{J~#gWb4tj|W={BtB31!cia9Y$OJu9rNUSVhut>XYAPfiq zc?!v~JCo4KC~g2C;lc!KOhL%pi?%v{LftVrP1Rm)!bm=>IDjAD`xDnhg~2NOP8{

6`)YZbBfYQ&I930TUq5m0ef*~xTf;yuRR{db2|xlRuLPa^X3 zXb-~9Z#uN5hTppfh5w`QlKArQONC2@FhIkIa zcW)PVE82&*Q|jG2Zdr3#YTqAfr1dUGC#Jb*7tB-*x~3tf79!R7a}E^H zAdgH~aC$MLohtk=UhcL}U*T~Lpah+@!^bPv;cj?hp=zMxN*g&lWHpIxu=!Dg5(ea- zu0E0|w9`#4pp8Xw$6r%J(+WpGv8-a)o^tU|-knA*;Le}z?b-EeYFxe+T{)7}`0Q>l zQ0CO;%3gFyO{$9!GD3lO=eFm6X-11rBRm?7VvRXK+rpA>tq()%l$J=+LP;A)uXFw} zX{vt#y_(MJ${E@6^|b9QlVvkGdVv7}VW=W;BTF6%ie=I(`dpzniv1#^814pQCR?kt2n6kPe@m+pdZ8RRA)f6*1 zd~Qa2IUFuX%RB*0a3w~o$^@#_U`1FGNnhnVv1MJ!=!}pwNXtS%KU?pDSneBFHmuji z<*VJ(nfH?uB(`l+f}|FJw_=OOBx!v9#s*?plprT!5=M?m zmOu~=o})5U5u&}__WJt%#Zg+*82sKx85UC$k+UO8GnK3*OonP?c#U{JDXv;om3e>( zAS-SF^X?HzgwD{hPOeT{*=S-!!Dn&RnL}3f zei6MCcokSM*zVhVcpW$hx5&<>_WIhBm(cV6AKnwXLe!K6n=?pAvXIlRN$EIc73+FWSwlv)-tFYH=V`IuSl(fBwdACQKf(I|Q#Wn-qqAWRufg}to^DzGa#OCf(CnlK2yu#aChB>TQvCcT>kI}I@ z{6L6?yYVS6fw%ylKHV5b1xn09k;48VU!NlfXjW!oF0b;yJ$3kEO>3vBiwGS zULPZS9j|cuH%%kShd4*ZUAs~(L2J_5&8t}0=R~b$Ckh||H!K;Lk8Zce)Vc$vc^&r~ z1P>_fM!C!yRZy?VUA(dWnVQ{QW7~aZ*gYAG(phaclC_M*8o5bjr+TC}s>=i!O3f^d zHc9JOgmYqd9D(uYrKf``7S%k9Et6xX9gn5sBnTB+E3h+jRb9@@Mr?*#HytGScddI% z)@a^pm6|hNSYygwSfh=-NXz<)ySK`t@6vZh$7;vB(Z7C}XwO4vqCbCsulP*pe$VUl zrIpHPeRGr3ma=(hZRv-(Wi8N)79xLII|41>mgK%z4nzWZc_VJ9dEgPE>LLyY;-U0& z8Nrm0oLBFRI6GtBjW3|HdaF5OM&z}wn`)1Z)R_vuoM!bENStz9!AEuj}H2?0d7i}YBi>fCc+x6 zM=@TYmie`QIo=pynb*Wy@+WVw>r4YqWbj;AKD|fF5gg`7loRF#kH5mk$>Ng{Yvl%6l; z+Z{3A6j6grFPvHTFYw8!Z^PWo#cEONYP!Q0TG^{^(qwX!?&E2gp~iYL0#*{^Y?#w zPa+?}2nX}-aP<%NbrMHSApimBGTYmJ6OAD5YlHqPmYY`+?UuZ<1ZqYtt|$ zlF>RkqUlVQQpQg`EeyUsJg%g+j~v+hR=yrusg*<$U8fsxjFkhDZS);;Jd>%CD8O14 z7y8x~(;Ik=bQ;IDX=)6g*r`OvM ztgjTM2r_P3V-P|sg$mz=lJx7SkM~RvoraF4n*1UBrTu8#%k~bxU zfq?<`1Ajd(DoEIGb(D1%!Mtp&g=5*!fDh&005biUI#6dbSjcr2prf6$@piFL*|DiH zm9jUi$vwF!;__3iTGf?XlcO^%d`A)EV)cE>BWUuCsn~G}_yt4jV z@Q(qqc)VgJM)@6B`S#ozDD?%~Oi7Im5p{VWW{fVPQRQYJUuxqe`;k*$XR>%5A)qnZ zdr4~?`CRUEEcz+!;jP%mS(f@snaOQe*0}Jo<6nv5$L9N$uANMQre`wT|vKKggt37gIK{{T^8sp|Un8Vowvz+fZO*tIBSTlQ&PuPoP1 zt8u{0-kT!CPT&EzOL;G6iC6abR>F*f2e5 z#H|`hi-SjQZg>E($cwFqGR z+D+tL&mcD)DUvBdvMVP%hUfRkK`7G_>TcJMZ_g{ni|s#b`>1GZ zrPLUHSA}{;Z&@cu?ms9j_VKyE*ANS1V9(I=D+M`Ql-CXkZmU&7pe+}2+GP55fT zYrI_u^T}r!sI=Y=l^Z$A8B26OG`B^8vvy~ae~FV4-jecti>~KlK^*|p6_QC2e2jWl z9011(!M}H2eY<9^ru;lq&Z?#%UHV zUB2fR@#RvxN^x^~RV6DBB*_{^cRTp%$fX7}ZwX4VAlb3`oE=sF0QtJs(z}Phu=@W1 zU104;cXArTElUeuQ!jA8Cc&TaE@E74bTinj;Dw=s8wNhiTpjJLc9YcIc^|I+1dRc? zq&ja3Kjr4Z#YUnSbn(c3`HxRU>~AOOC0jWJ#NjYRz);Gs^-5uvPDhdYk+!>O6ic5?$Xws&C)onVA%=s z`0Na`9iNtlMxsFKWuRX-D++S}@#t!?R01Rpo=9VQJXbY}E#Oli~k|k?EVd(=XW`@aJ!K-!-A_+?N@0m1}b1u`=VA1L;C)!^(0{muPLsmP}NXpFtHR#v^<#j#JEj>iEU zL77O|x9Cj1Bab;P>HV((A+%I$W~x5}k!CY<$USGWhpblPN7LiR*~bz;}K28+p;kmPs362adm{3&>FlQD+rEeEog< z;!`nz?)@C>a%miXFIs7gTwbKvTRNgzHsZ)*eOYsp)}weV7MkiuC2E{xK9MJVfITgI z0*@rD$zy?6$K{ThK`ROW0K0tpbJOw|U)vYOS9>s|SgVs9uA~-{aC!Re$@lIrxas>$D>U$H@^UeKXr1aKi zrTL!+nX!n?P`^(lS252g64DLu%`GLRVdi|EPQ?Uz?;9CmSp1$qZPZzOp?7uTjCd@v zSaIS5Uf%tE22y;_WAxC-X6jng`Fe|%%VRPa+xq6z*74d;QzG1s8*z>0jcVMvZ6Zjf z21!8k^L*WJi0W5v(Eh`d>zd^YZal@dh#UehujQC>eXZ_wcGEgzPe$5TH=VkERZ`L&uED5Lmyn23EPaO%ZFaUdP~HHT23OXV>7 ziv7kmSs~E0XvW=#wO?<`6xsg(!pC?uKCKywo%V>;l5sfGS$gwl#SC@bn!RiBURdqe z_*f*7quth6nSfKU9crC0Bpok3$l~!6>O5G~nD&~WeqNbtBkkSVIHRl2ZkC%EpD~jbx1n&k!xh2KjvSsR{~ZBvH$>;v{g^ zPjB~uns2!H+~$_AQ(9my={q%GF1d^OsuJT#sWo6?iz8ahLcDWLA}TD3j5wXV^d|Ua zaDA(sPS#1C18xMKgD145ydAhMLxq*ASEFj>WtL4q_8_-7{muc#QW6R<$Lb+Py$SaxII{0wZch}t;PGSKZ6>Q8(R z?T!ySsx?j%0o=SrEkLp1GP&$dwZS!7c=?{%No4|KY+R|nK2`MClEy&F%j4xHpolj} zmb5w^bI;UEBDw^l3rYbVfPZ|N(LJlVi?6Hy0LM8@wxYsL=Cy4-kIzY{Fm%xwZ~E}V zmy%5EGFVvAMQChI98P{s_SggJ6d)0(@jH?^$I4jil)&2|QRzhd`(mF*=zVpfe=yXV zHeFMO(i7azT8l?deGPk2Nys!9%wBE3Gr(WEBiIf>V;?d1+oegW0)*iU*Ixeswo+?T zI|%rq0czv(^}-X~y-VG`+~$));B#H0*E)M7(OWq+sekjCS9s=|OD%b(j`mQ}jI`oF zVgXAQ8}HK)M!p-C5+imUzJA#}E#T_s($D7N)b{oV`(_Tt=#5jLu{zT^+*x&|rM-}~ z9vd3jtfC+cBMuGQpMO^ccN-VkshN7`OtgasdAT8DP7?t8})1PwHJa z2B3!>tUoSGW}F7Cm3K2ShASKuY`?^O%8tNq!*RCVApebDF*fZftB9>BPBE;CzKB*Nvk|e# z$lF>-*TEi~6NuEGviQ=^w8-_e4k&cG@0J^0YrQ+$Y@QzluQ02S)S9{&$$d2~+p&7N zIc4~~=4y$sD^igzGVFHV9k{Cx2dUx>Fn_bRkb3_BY$7BYWY*5!Tl~#-12pk^vZjlm zxQ%I<#pEnyGLY26<*Q$lH)j_`axk1VXfW}?Be1xs#paOwt+-}9cMS^9w4xq5@xebl zPR4m9)W)P~%J98DWd8t+e$dzYe;nC+8T(Cd7SPqR4rfUtO@D$7vAl7mlNL|=@N zqdKwJs2^NJEK2R8ee(~P!cg|+`(;e;pLBKaZ!>y-S!35wVDu)e$;~5=Si5DdeJ7LBzzWK;gJyzfu%uYAgWs^u$7?h$ zH>wJUD2=mhPTo#9d}iI^?E@5v;z-DBSA6rKE#mvv+M%ECK8v}5n;&LN%?b-O7Br4H z?0ifyu!_lPO=kFn@Vvk)lWCia3!>xg|@-k#M`z4ff~#lF2fr!IyqNerb*iolm*; z%O#r1{$+ZE`WsTFQ%}>DHp*ATWEl%ZE5Qv}W3O7Vn##tk#FpZ}bK`!O;iGOWDo=b= zEg@s#A=r8!d~j*_cdRVRxuI7XF-US3E?BV(rI6Dti!r0ThDDK=<&&)P+YU3Hzz5W3 z<;s|5u~H2~l+zZYMiR+xcCQ0PEuL!x)#Njkg57luzQDOY$FBSzho%P5_vAN_&}jV) zLe@52E0L>@^s*^#&O#|GUY9+_QcM=IQpWeDgPGy`fg5ZN+jYJr-t%~I?u_!5E2sCv ze3qn%?bg%LM`m`m#t8oaEO;WTU)N96v3@8S9a1H3Uaum<`}Al74dI6#xFRt!weYpy z6dAoCfY6yZZ&qz3grz)@Sjc4T;pVj{p&X4hsHC|cC>CoLT148&t>u!fq`dJm$1kgm#lZs$mNo^I+hzybZjz}a zzEwVZucL*&I7wMW8sf5ZwI7HLE!-@m^)xP?yCr;GF)m(wr3+N@QL3lP{-3}_Uc*j{ z>?Pa{ynVK4CW?fu=IzfJLMn*&u^t)eM>VzO%}v~VzDq}8F&6Q9Ttu?uGffn(_8P-+ zmc4e7*&}3MAhIsNct2oYxu-2}>4_1nfHNLJPa^mJioTbV+E?SHN=FB&&^3m*vceg0Vr z{{V-bac?bD>f3pW@#L}NA#Pl@T;yV*lCdF%3nkJYUSN_QWDiYu9{&Jt41`bux%RP+ zP%MNagWD|rGqajAL*eS?Z+8;ivc+{+ z0#F45a!KognD;1BTC;-!@v{I}i?4r7ed*nALsAOT;HqFQ;W6sz4nn(By&IS#Sdhge zs}n~Oq5a6sztg2|0+!C~=7fOG;DT^lQ)FmjtsP^3On!R-SgF;>;<2>zS75OAJugC< zt%J zNT3VNp}moDv%<;RgkIH?hHX+i+aAmD>3fhvG&nBQ0w%+n@@}l2?*M^tOKhN3xB-sq2fOWhlJ`8yHUEQB_pf zHZyM$?^bh)^fPiu&ti7D9i+CNpCZB=5Ag+AB-_h5ETiq#SAH`IB}qP*C#k!Ma%m`O zSTa*-OqI8=1S<>~6uCyFh}o{yxQfwIfvYK;VRwe^hHS8 zR!}(PkbU!@o`^}|8wYTCKbLH4VtayeIV{z^Lxzs#jKI+p^$OU?TCtFuAQls1C5j$G zI`PKeGR8}9_UKV09vUQ{{i?p4SLcNzMj>Z5yW7Y|_r=C*C8ITwOs*P*jBX;Os}-Th za+VgC7jixZIOxcP&lE^UA@%_O098-opm4*^Ij{GIu@cdVPb72xawAURyBFF#k;!Te zc}q~(iy)auYGnmmHE7FaSi>AqdS*XPuq2h_7!kLQl#Q#MHpiwar;}YyP$dZTHiiPP z>%KX&{{V?j)>FhhxH|_~SDphSE)KF}Wyq|7eI<$r%SBEy?Zb<4J0{&aJwBnxQUV`- zD<@>iopjgT+d}!#r?Ys}}JUv1O3dQN%Z> zM-lGau<*nr@zkuV2Bu_EJU4$t`FwF41K28T4zk! z(>kX+PfpjX8;nLbP}-w~y3??-%`QGTk`n}~!J5pZvY$Urfj%cN@jO`9#lEFMKVI2o zOB~Ex*Z@`f46r&sO7@z@KBkDlSI1k+5mhBgRf$vs=dO{Rf~W$3?VJYzYmBct*R_$}lI~9rozz0Lizdwoso%MerwwQT zXtBvgIQNpda!j0t#GaKbs-nC!99K?$cxmECT;KP|?Hg0OSvvNrVK7v&m7~6CTD5L? z@pPIXh9hK3E1|INr*;aPjkYbnp1wQdAH*LA_&ZjnV$xUPUo&MUU^X45&+V40PWA&? zYMNA+PIW?pfLrJ;wDjk#bU94_01-Ja$Ht$j zJa~O2nbfr;sVZ5W610_}Kl}H_*jeUqU%>Rrown=lJ_9HHGm+9wJkX@qz-tHh$=l)) z7bwGL<(z=Eq5Hk6_3KaEoKB~nmDk%RYf{H@lo*-U=a5jLX(C03)FnV&&f5{!=!-6a zVph<}5F@6|rpM)%X&NFce;q-;uDNu(M>BTcKZV5Tsy03&EE;*UZy8BV;Gi40zWvg#F(oHX&?T>sk_1!CKdX1dN zUifL^!p|?G`HCJU<~*J$1j{MpRP3bh*WtRM{7L)`@lO^q$4YqxhXsG}Z+w{Ij~^-CZw(r44xF_*m${ z1x1f!KqIV?#}^daa5mhHy!HIiA(K@kk}>lZB>rae%aAmaz4Wu3)%s=XTaq6x5Z*(}&1jF3W#;=Qx! zV%r+7?to>xr+W>lbp%>dBc|=;W20GfH3jOjSg#$ZNDECZqaFu@9VsD5kskOYAgYPg*YY=foqqlB?}hw3;IS+^Eh?ggs{@jKNzYCVI-)4=g4vGIcOOg3R_2w( zVez<}bX4tF)fuTEFcfc?Mq0>d#7LnUdm*1HL@7^eLPH+-Q^bE2+OtT5OZN#%;(DP4#RGp z;>HT2MjAf<0A9G5$sTY(Z%j@__#xEzN?58{{B2EHpUh>_8uaQzGz;iUyo>9xhEWW` zeZecS{{U`9ic>6*u}Bnm%EZ7GQol2nk5u+^8`|0xbiRty6rt6S>D9S%hCcmR>|@o} z=V{Vz4K(ObkjPK%=`pHGBa(LEnyiiq?Oxd<>Ysd!82DiJ%Il^mYnn7s-zSrMIegeM z+RD+lD47i4989-_a)hXnlepL^1AV&mnj)pDFe!U~T<;ZRAQNW3j&+}~J*Vy_d$+l* zH?6brR?}I_l6)`aC*X1vaHtWGVys0B5?7Da_kD;1*p9sP)@b0>EYT&-syIA?-Rxx& z11xcHcMq;{>2pEptTj6Lx)NQLElXD)R$93WHs`TDRah4FiK0^*&BcCaX4nz^`rjGZ znTP^~o8zu1D>DNB0E-(McE+j0t;ia#0-&i~>*2m4)2y>BaFq4$w6P4xcR90ANjXh{pUt_VSiq9WSmstBKRv&ogd%x2ow$)WDV_FCBOd`Qwnm zZCA%11-^r#cAa<42gBL)>CnFhy=%T2#3c*i94d=Y=q%m${ES)DSu|L&mh(5@$X$7P z9&vC-D@s;Y@?UMg^FlVK!cgQaeL{-=0GvaOq>JYXKQYwx;k}5+Xr$D5Sp;z1yN!Y} z-wt+DUd2fYH>eY0LU{4NzrF|{;#l>2CFX(t*~4UjZuP;~wYG!O)^pl=o}IITtzMLO zvKp5+Uwkb|d54OuQ@D0}5f2`k0?F^=ezBp{w}U*AhAe0*_4%A21gk*u53VwFzCRI? zuS+|c%)VX=C)UK5R;gW{b!G+xLL}MY@x{KI^d?#?vBk6wz5f7QGL$xv&S%zA;jQ4a z_)7FMxQIV1mE+V@Y(-XTo{=or_@}Voq*EU%ci(-%JM0Slc{K9HDUld%`~+X;h>=4f z*a#!Oa`P4V)b75R&&%2UBY~-znk#cr#cFKkO1;@}_1;Ebj>-}0tW&53fL3DPZ>fCR zT_=e8+4T&uo=Sm0`wwhuee7WD^MT13J)`@VkkvM|CW`KEp1GFEz;9Z;n_TunD6(^I zrZbBZr=?JXFA$2}J%BwnW|bs|QKi%Y5dwzLYv=2NhBt*A0uQEKZqRoRMB)2;R~Mx8 zj(<+IE7mF9r)W)cCbrXyJ@v>iZX$5pgR5`1@()u=`i9g>+O0x0fkbdC<&Bmy#TXk} z%-XZLlit(1mi4V8a^`Z9%T|PWY_+6J?K8ui5UmZSwkaOX1>582sLsmi_Ay*>UN_m#GLoCF9#|+hzk} zzTVvvXo~6BOh^#W~c#*mLZNE>_%cW0=V+NF+eCQn~cTk8ibJ zPfO?=j-J-}d}gB780u|OcFAC03s&W+B50Exa$vS1Czt;Kblmy&KVGMkM-iSjNZB;x z*rwb^xENEI^(wm%arJr5Zt3amKikXsEWCH{SbWxcc``Qi%GaAQ7S>dQ0_rNP?T)6N zO8kg;?l$qaUYKUox}Oc&JD}Y=wmCG?hwi-uTcK1eWS{h#mipqKwXPo0M z3iD)QU;&W~Q5kH`j6Pk+1pfd-*P8)klT`$>GXTb{a53_RhEy@#5siB*2Cl7JO;o+9 zG-Vo4Lk1%?%q^?gO3BJvH>ygnW;(_H0L(`k+#FCQG@E? zmKZ{5V^ig;zn)~Ix+;(Rgy9cuJ2jE*rW+lKv2!J<-f?ElM!EX3Q2f9dW`eBg`yoPn zvvMbM=ii~4Q>m6ok}(?bV0W(P7^Hv_MjMA1=W92iua3aYR@cNyA_(lmT+3dukH-sU zHC@#<9yj`V-;UiJaoBkq@Q&WUEL59!P$LcLWTLREU1EbK)Qi@ZYVj|uxe!A)rwkvr z4M93g3x6v<8nEFUl(rQtsIRshkH}Jn{V)mOerYb7h(7N{klN% z2+%Mb{J(r34QlW%t;~Jcqq$=ZV--r@s-hco#xBKg)?&g=TtXu*=Wt2s(rMWllXA0; z;Mh5#g@C7w^_O{K$E12*DCb);6`Jj`zlD)S($Hb_rnaV2pw^G ztaNQ{Pe%J$wJm95WqS&-B-R4N%KofrC#dIry@!FnkGX12%2iYY>DXdfE6sf1e{1u) ze?OJC{t;``vN~}EOII@3wV*4q#!+6phBOjL&E<;wj~`Gv-By-;I;!e`DExp8_r~z? z?^-L0Ps9&sa9zjB;B`*0#I|n_NmiCp&MLICWhB02*=-~oTb(&}0G+%6=W*kv!z_^L zdTKqZ(PHD@cI@jAHlgP%61&Vc*43Siw)ASN4 zN{u1zs19^Z^$T@MlOaA~9%r9(vcbx1tuC)Yk;qhq> zKGaDyn^mH!q(cVl&5~$?jl+BF2yKDdZG1YZXOCY6_^s3vK;L|8X!QEBvr0`+43USS%nNX13c5vWmm<#_Y|_Zb zV621pnEd|$18$fXe_Fu0HHTPS^o-(aa8DaoReMH6Ajsqo1Caw^^!|U^Emo0bjh0I1 zr?y$AouXjt+b!2?d!>I*Sfi1~SaD_tS7kDi@vt7s0NID}x$*rxes}RNhqj(Zk8LUa z4t*|~Sm%f^{6{-^_-Oo6&zLw>zmc0Cl&Z)hkt}**P@gvvo0SJ*ckn}d9=>vL(M3E$ zFwn5{#w;i#60hPJ`gr^#{wp-jZx3HYYk3nPipoPBRJS(o=$Qb8c?VWi9DSKcQSGok zI{f!rqM8W|s-Jgfr}Y_IAdp?t{@GYR;%EN=3{4~6y(@QB>6*2y)|NRhW3m+ESuNC^ z(b*fCr<5CyJM2jFvGdo_e+qvU%kX)=&n32%{{T$$wHi?5d3@tP89mAD&aM1D>-5t- z&cS46(yMNI%a@^2XN%07A+XT|Q6SdFhGHj$aB_Cr)}3*k^rvFZh7%Pjz(NJ6b*anRzZuhOo&F`KDH%7obgsh#RSZva>D)4$dP5S; zB`dMpS20Nbq+X&QKoA2dPzmHv_}g$d@_wBe_>)`2iRCrVu6e^xOdZ7>I$ZQoK+r=O zm`fRqk?vi#8@C=qa1Q=`&iizuEbhn)P|lGM1|VZAMq+F{3hBXG$czEYo2Vd?!;tw@ z6ZY7j=g(f|jH8wEoz9OQUroLFc|ObM>)`Bq_G9>dqfkLS zCV7%-?|=p410SR)LyWNEKUUm@*~uruc^nWogg%aRF*B(^IqX>Wp< zI)+4$Ji9Dx8)BsF`;CJTHrsuN)A&}h2GK}Vk1wtgIAUwAc&`kV?s`&J1~|5oV%&fL zuesf~Byr#CR35vWCpWDm{phQi5GykUDvZ)0snL(NelcWB1z3dX-g@wieC_Z=Ks zl~-3%1el_`nybr`*jlF_epRB9`Zk%Q*fBobw%fo^oX?&A0Kf8cYaUXjLM=sRq-hv5 zI-F|INK7VqnOZ{w1_$K`yRZeB_9tR}iQ93%Q$DIj8xw(e)Qo;1ftOY&ZGX+TsHRd? zK4a=cPbJ)WEL4q$llA_98Uo<5j(g+QLIq3ETij+kU+zAZ??@EWecT&Nr#hN#lxW zc_YRXWjsh=kd+-!P6eVv05egD^g11J4od z?nvv))j{HgC0p~v$`(08uJJG|PaqEJ4&!6)fAiOgD>O`@ScVy30$xDK3t1A( zu&I=!ai^qJn}d>^K5d5E9rpnL0PR0*`maZ>F-Q!jIij#Y!Tf%HoeAU&VRwDrM3>}d znD6r=518>gYzNToMmZlDwO{{U|{;u?)GJK$PT0KY&$zt*tT zW@`)yzL;C3G8d|C6_v3exnQ0=qvD%?_gO(ry)@YUc>8;vp@Ufrnv^Ki0R2v5>0}Wx zWxRP|wKb^n6y@}%nkgdqc0ka)D=!jKP^+^>K^%76j~Fxj zOKVDYd^{h`&!F_rs`yvKfIdF0Xph1_&VF>XUuiXucQvupTB2z(_Vr7x%P-?0Bx{W7T|E>GZ7{8r#C0uT`^CARyM?t~2yC_&fX{2w=x5$PB93c2zgBGz_ixEvFRf63zwi7R-a7rwH*Ay{{X~S@#!9Z#-W0a zRz;;y%MCEHw<|n(ByI-dbWd^TbM@+NE}Cg(joq$S>+S9H&!LA*kO6gdpNwC{cXf3y za5M8`XuXT`-L_WDf=)jVRosU1N}o_K+s^)eoqoUkG4Npu9ZbfSxE0^mK6~Q2(YVBo z)2=1-{{U|7NSv0aNzxxy7-#1nG~>nP-0$??+v&ewSYzo&K6k|}_^_}408Vl-#U!~( zk=23Vk>QdV8Jl$g9r%sPuOYXee;)qAK^(4XwVVN?r5_UZD`c+Sy+~Ldi-d5{q>Nj4 zl!GLj1F#3}w^X zcQ&c>!nO6qu6H8|;|&Ub80C-8>5zpE<7VVH9C>-@#BE1+UrgXZII+lS)wOzK4DXGw z>FYFcDKQn|70&Co%ycTOV7>tFdg1KHpBUP~@A&gbv3ac`6W@$Kr zPruv$0J1C^hnI{s+kc33$y$|fSF>j`cBo;PWa2C7^~OhX`$tamO&qnUM;ejyhT?gut8(&v!1p~1M<(DFFh_Hk2s?>xa(bo) z=2k_Q9+l*glXQuhmE;5ZfD3yazP)WIyW=;T9=REx&{<2awDJ^Sg2i`P36qE+8}`PY z+cW*Q>s3{VA+w9Jf-8?q{Sz<9XRQrbT7P69dA2% z1CLy@IWEy*aBx_we;<;YJ!xSxREi#HLHHxdId41>QMV+3I+`%VuF|G4-`5O~K{w7Z zaQ^^@EJk+-`jKBRUms4SevDIN+8Wjs6q%-34;6J{r(?N0^v@S-EPfa)d*4sX1V_5) z@s=aDU9QkLtPJ$8b=C96v#A8#82{R1VER%8z95E|=? z2&l%#e7aqt(Alb3uZh+5@Ri<`+LS*oz~5OvEv;fXBNAFW{Lf-h`%}Q>^w@2ZBnsbh zS%DX1b@^u5ZYq~AmM22i%<1az=?r!;WP0S_raVmN7u`Eaf>C|Ax zCJj5DJvjRM{NAh)c^8F~_P<2wOF3Op+)Tc!%Tt#D9SQOHMwv17s#jPQ&Muv3`PL>? z`M^7}`2IR{I+E)g8c1Uj2e4bO=j)izG@*R^eqUc-(b3wCZP`s(r!zyhHm;=|H%c0| zntHNA={kD8yAeHQGGri#7H0B59aE@>UYi?L5{7fdAF3FU3dG_)*4QJU`!Aty>I)i? zGBRrF*KAsw3wr69WvKJc8g!JzBa%6iQbO(q!(cjV%{m~Bq7k?pft@HVCz$b$-ASb> z{O!SCTs1CGs0Opf zukFqgIW8`}xXw}-@w3yTsKu{R5l%=}-0&?pc-N7nj30m7!|DEDjpRj>ZiPi zmtY)%4;fZ9N8x)*Vs(BODWbdOmceRT5@Rj4oi?Sdj>y0+dhG?gbXE}q%^H*pKrS}l z_@__tf>KEJe+yUB^Unm2d(D@`Sgnm;OmIGx?UuIB>O6jjT9fx58}Jk6fok_Bip{FR zoyj7C^ZYDOEPR3V*L4GZ_Z@liPpgU;+fXav=D;JF;qb@xd`L?WeC;%w(dV? zbuOuwA7agY1Dl!cB4Tf5F;=VIifIN`YSr=I{(EA|tc6*)g&S-(@_kJ%raeSarCy;= z76Ie6-%RQEZ&zL#xyy0*Z||PF)NwT_@wpf<*s0;GhMHua&5Wip28t_&^~VuN*Xqc2 zAdSxbPppC{4*3{(r>N;iwGVv7BX+@L*C*c}9o^3940YWnsr4^!^ZBfm$%HtIxMY^x z*of)NytXb1j*(Y^JQf?0eTe%@rIS$YJUV@3af;+O0Q|4lEGh&=UHq8?g6+FD<8&P6y#`+1g^Z zT4ChvmAkin(fod1%ja-w4UFzN)|%vT+OjC|h$WSx5?9AtuBu%jf<3@c!Mv90h;+XO zlWR;BP4LQZ^%z>0hA^QC-bZ2jXHT>qg6>wK)cR{Pj=u(&(t3WPU(RV+n#I|&m;E~J zE7UhgYN-ROFEAKNN!Sk^AhwnPs1p+-o)v`(9j>xrBeV-1+L-k}+Z=6w0c$;}=+xAC z2<69199Jl1DT*GFJ$00t_B}op64d8)@$5G1%bZB58yH5@(1U-jUa_zdhONY232C`0 zW3zcjhgm_C&*kaxk^o}(N-;q!trRN&-V6w+Q7%070^jJ~#Vx zGU-%NgHumTSM+Y9z!6p@K^P)^ zim&;B@$}r)+!Jm5b$_QVZCysBB21qx7 z<$B}uIcw_n=Mk9g)l|fOU!?N7Zu8qDW$)UjLSTc0b1fOxth2)y<>@c!hXY_h9dFu7 zu$y-H$n@*`e)v%WS>hn>^zVll`tjp5W+yF`yDp%+`Fj3MeoD8kMESLOnylv&67C{0 zg(HwV6$7q$H#u04AijAWE7v+SW@4qd2cMQ~_Gh@c%~yiEe^zPRII&YuS%x@erC}z& zPAJ|liLYA1Lb1HkBMu{eBi#7ulf@iHFtY<|>(l3pbsj6n7vUAoZEF2NLrdfAYJ47& zy_filbZpKs+$>#<cl0x3Q!9ZI zaa}P{H-0-v_UP)H9mvL5$qn5r)|7fwxT>^XjB-d9)Fgws0Q}xHKGj|l zX&69x>E8|Fb_|Td)MIJ&c96@}{L2@fpHtJGOnOtrV=h9t^^!+su_`od_5`(FKu?g4 zSHS4fH{Z0wwY!osYECy$HTmQ|M^NHBXH!3@s8qe2n=xXXS0}ZauVCBBh*pw86&B+x zNl_e!ZzP1=@ATH)D2^%%MAZ-6oN}Wx_^y8n^!C8oJ<#orw!<;a>S*(F*3_|OCB{Wu z!B(9aBzURO^y|LTO;9*?eYV_eLD-IfCZ;(f@Zh6I&FXz{mCCgBr&8RheYd?bI=# zNjRB4`|Qz1KpTl~e?gQ_KiP;ot)5Lsb@iSCgcofbG#ZL}d8-+u^j;jC_wZQzUnEgj zVe+G{#X{}3zn~gOQ)bj=Bb~fgrzbXf&zcnnf-LkG=rFR^U|UP}w>0{POTN2G`Pnrd zCoiJr{{RcxS!Aw@j7-H9w=Jr)>qdCJbIiG6;P~1}oy@R^B=FpDL-~RAqtg8|G$KEAoB_-^jcdL`94Z3U=s*+?`#ThYep_>Ljp1&T2d@szIQ#8G82v7{0x zjK~?ow&eSspDvOU2$7r_!Lo0Y`F($cOCrMRU|%Tf>wUl8TO6)`E80Aj$$NW-)Y_jX zX5gAlDVWrsnd#`^o}woVJcw*0Xk|`Y77iP7K>8`FXq6@?i~j(a9&gVbv09~;O5=b# z{PJ%F-A!#qThr@mcxsihR&rC~@@a0>x_W-Kgs&UoZBR(7#U;wpGelkFVDGbRzTE(d z5f0ehi5+Zp_XjnIc|%5?QCxfa;KgjdrSBF8QfcX?T`@}{)-k$!QE3HA`kpu`vl~yt zoYiaAnn&`=+*Ut-ewGpijUVwf*;eUT#+h{bpCSeTS3ajJj(@eC)9rN?=c#ocap_+C zqZ=G`Vf>$0Q4?hA*j%b->s6oPBB}_4#3T{CZ{u%nj5d~8<5*)zn6=&cc&|;?G)WZ9kZm;K-bHOm&>hvFYl%ekGqPJ?k|dI`-|@ zNqNNSWtGh{}o41*Y7c^xHSqW%R$I!Pt z^1h(-Pp2KsoOKeZhP9=XJcuLU6PDy|cIlorqDN4Zl?A!Dd1O!g11iV;8A4EuVbHYd-CA82MEkO}SUl}3&dl+o*WBds*$8FSc~ z^t_p!5b(t-Vdc}b>|^jyS&C+PrOdQkE6Ec^?XpOlO}@bS+oD2t%e!l-0{364Q88x7{^+x=>@N1z#>jb>iS6KNE;58 z79EB-EmZSIj(v_}lOsk~mIIGrmOl@p^!7DVA&JwNTwZQVck4%Dbdp?y%M_1lC!T0M zA66A7Wk%()vjNa=V4)0zt#s{ywONZ1z^~sma<{V?syW#8b|*^UwA3)sY8hJ={aGTj zM5M;p^pMFyvzU1(=0XPfj{Z8aQb6RhNi=#F!s9qVenNjx3(L!R9qyn9@3LQOAqS)W=Di$eS1>%VYAG%Sf=a@sxO^ zMGmnyC*_eNS zcT(gr7)Qm}$> zLj1l|jEsVLJVlRpJ9#71jBcVcq7VgEEa*8O`BnZ_GFBeZ=sVrJ(zvRaEf<5IE`BpF zl+pQojTv$_FqaC!J~sVH{wn4yL<4b=(Vfqo`l+=N856^m%BU0w75R@`^K^ztMy2HD zQg+{G!%@l=m zACu(tnYA0X$KdXMzz@{p;fh^Lw5o-+@K2!0ta|B;?{;cu>Gwj8N`?a$kHbxgp4LL< z4JCo3{SXc?73-boCjKxI2s1NVhj3@4g;xo6MmeU^@k$j$R#rknY zYXG>~Ig627n%E|6j4JhEqmPo(pz z^oG<3B$^W7x#PM0>V^iH#q>@2a45~|eoPnbepO=vY6V+<*Y+QR6Vx`Fl{{`kr5E>d3e(_KY-PwQUPYP}Ik?k=?OERe@yNdT80k%pX4 z9chS-{&Jy@GDgFqZ8?A$d_<90ReD!n*CG2|$@T)E#18BA9mY5Gb_=-GzdU_wqjB1c zA$l7%@w&eZAjIeF)2fP;q{~y5J~nP#Aemd(p-=$nOe0jNWhhToJdevNB}}oEVq+e? zzF#ibWddlbIJmTvLnR9}XBJj0Tu)94_6)wYgsTXWSByri+=1eRvE%d|Zs*{JvITxv zx-q9 z{{Tw0idct4CEeM#ZIw>^x}rBA8<4DQJMunwGNfvUO(TyLP5Oc81$yH$-b*W#w~w

^6_qz#&cJn|7Trz7f4l+ai^4>?81Q@X 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 z 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�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̝dXomU8Z>ykw2v5M)g| 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%0APlqgVy^VqVeI|Ju`^qy4Xu4tt+ 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ⅇp2)n;nO_0GhOHimUR-Hv&EsL#Z!w=J<0)2o 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 Suhty7S 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�~IN-C&)W=D$+15x2`{@l(#u!-?*5nc<3OS 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�{%TeZAm@myg`Y02fnvLiUQfq-D%c2lx9 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 Date: Sun, 27 Dec 2020 22:28:03 -0600 Subject: [PATCH 015/325] XMP feature added --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 9b6c3d570..63468df99 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1327,7 +1327,7 @@ class Image: if self._xmp is None: self._xmp = {} - + for segment, content in self.applist: if segment == "APP1": marker, xmp_tags = content.rsplit(b"\x00", 1) From 096854d1c8ab61f3cfae6189665dc84562bda1d3 Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 22:29:51 -0600 Subject: [PATCH 016/325] XMP feature added --- Tests/test_image_getxmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index a2c400794..4d88fe620 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -6,4 +6,4 @@ def test_getxmp(): type_repr = repr(type(im.getxmp())) assert "dict" in type_repr - assert isinstance(im.getxmp()['Description'][0]['Version'], int) + assert isinstance(im.getxmp()['Description'][0]['Version'], str) From 3e9403af56e52562de0c265d1783cfd9a5f5f27b Mon Sep 17 00:00:00 2001 From: UrielMaD Date: Sun, 27 Dec 2020 22:32:42 -0600 Subject: [PATCH 017/325] XMP feature added --- Tests/test_image_getxmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 4d88fe620..91c6634f1 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -6,4 +6,4 @@ def test_getxmp(): type_repr = repr(type(im.getxmp())) assert "dict" in type_repr - assert isinstance(im.getxmp()['Description'][0]['Version'], str) + assert isinstance(im.getxmp()["Description"][0]["Version"], str) From 17c48db318a7e48d16909f08973df94b27dcc736 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 22:35:54 +1100 Subject: [PATCH 018/325] Use context manager --- Tests/test_image_getxmp.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 91c6634f1..2ca7f0fde 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -2,8 +2,8 @@ from PIL import Image def test_getxmp(): - im = Image.open("Tests/images/xmp_test.jpg") - type_repr = repr(type(im.getxmp())) + with Image.open("Tests/images/xmp_test.jpg") as im: + type_repr = repr(type(im.getxmp())) - assert "dict" in type_repr - assert isinstance(im.getxmp()["Description"][0]["Version"], str) + assert "dict" in type_repr + assert isinstance(im.getxmp()["Description"][0]["Version"], str) From 06b7b97a7aa771761d746e5a6fe424b543baa231 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 22:39:49 +1100 Subject: [PATCH 019/325] Use isinstance to check type --- Tests/test_image_getxmp.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 2ca7f0fde..33c531931 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -3,7 +3,8 @@ from PIL import Image def test_getxmp(): with Image.open("Tests/images/xmp_test.jpg") as im: - type_repr = repr(type(im.getxmp())) + xmp = im.getxmp() + + assert isinstance(xmp, dict) + assert isinstance(xmp["Description"][0]["Version"], str) - assert "dict" in type_repr - assert isinstance(im.getxmp()["Description"][0]["Version"], str) From 8c8b11003554255028ecc48939e61d3547618b9d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 22:40:39 +1100 Subject: [PATCH 020/325] Check string value --- Tests/test_image_getxmp.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 33c531931..19df631d5 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -6,5 +6,4 @@ def test_getxmp(): xmp = im.getxmp() assert isinstance(xmp, dict) - assert isinstance(xmp["Description"][0]["Version"], str) - + assert xmp["Description"][0]["Version"] == "10.4" From ad9614be7a1b9fa5c9a43f99def78e56d3ca8ed7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 22:46:49 +1100 Subject: [PATCH 021/325] Renamed variable --- src/PIL/Image.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 63468df99..4a94385c6 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1334,10 +1334,10 @@ class Image: if marker == b"http://ns.adobe.com/xap/1.0/": root = xml.etree.ElementTree.fromstring(xmp_tags) for element in root.findall(".//"): - xmp_atribs = [] + xmp_attribs = [] for child, value in element.attrib.items(): - xmp_atribs.append({child.split("}")[1]: value}) - self._xmp.update({element.tag.split("}")[1]: xmp_atribs}) + xmp_attribs.append({child.split("}")[1]: value}) + self._xmp.update({element.tag.split("}")[1]: xmp_attribs}) return self._xmp def getim(self): From 3c482b1b0b286aa5bc54c6a4547d92abe7b87e75 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 23:10:29 +1100 Subject: [PATCH 022/325] Changed list of single item dictionaries to dictionary --- Tests/test_image_getxmp.py | 2 +- src/PIL/Image.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py index 19df631d5..a684d6f0c 100644 --- a/Tests/test_image_getxmp.py +++ b/Tests/test_image_getxmp.py @@ -6,4 +6,4 @@ def test_getxmp(): xmp = im.getxmp() assert isinstance(xmp, dict) - assert xmp["Description"][0]["Version"] == "10.4" + assert xmp["Description"]["Version"] == "10.4" diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 4a94385c6..df78fb809 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1334,10 +1334,10 @@ class Image: if marker == b"http://ns.adobe.com/xap/1.0/": root = xml.etree.ElementTree.fromstring(xmp_tags) for element in root.findall(".//"): - xmp_attribs = [] - for child, value in element.attrib.items(): - xmp_attribs.append({child.split("}")[1]: value}) - self._xmp.update({element.tag.split("}")[1]: xmp_attribs}) + self._xmp[element.tag.split("}")[1]] = { + child.split("}")[1]: value + for child, value in element.attrib.items() + } return self._xmp def getim(self): From 61753891869d75bff3ce9256b684d3da0762f01a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 1 Jan 2021 12:45:02 +1100 Subject: [PATCH 023/325] Only read different sizes for "Large Thumbnail" frames --- Tests/images/ignore_frame_size.mpo | Bin 0 -> 4405 bytes Tests/test_file_mpo.py | 13 ++++++++++++- src/PIL/MpoImagePlugin.py | 8 +++++--- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 Tests/images/ignore_frame_size.mpo diff --git a/Tests/images/ignore_frame_size.mpo b/Tests/images/ignore_frame_size.mpo new file mode 100644 index 0000000000000000000000000000000000000000..c4d60707a47f18ffe644a27443b974b3c3c613f2 GIT binary patch literal 4405 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 h33pE!X2e@Fx7){P#9i~X->y}7kfIL?53 Date: Fri, 1 Jan 2021 13:00:01 +1100 Subject: [PATCH 024/325] Changed MP Type to match #1631 image --- Tests/images/sugarshack_frame_size.mpo | Bin 120198 -> 120198 bytes Tests/test_file_mpo.py | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/images/sugarshack_frame_size.mpo b/Tests/images/sugarshack_frame_size.mpo index 81d58e64b8268eac4210f1506b4dbded0b92ffda..009280a79a648be15d6064c96f931e71ce9fde8e 100644 GIT binary patch delta 22 ecmZo$&EB?}eZx_4W=00a<`d%EPlz+_+Y10*> Date: Sat, 2 Jan 2021 11:54:56 +0100 Subject: [PATCH 025/325] document pillow-wheels PR180 --- docs/releasenotes/8.1.0.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/releasenotes/8.1.0.rst b/docs/releasenotes/8.1.0.rst index da5f95405..05196e154 100644 --- a/docs/releasenotes/8.1.0.rst +++ b/docs/releasenotes/8.1.0.rst @@ -53,6 +53,9 @@ Dependencies OpenJPEG in the macOS and Linux wheels has been updated from 2.3.1 to 2.4.0, including security fixes. +LibTIFF in the macOS and Linux wheels has been updated from 4.1.0 to 4.2.0, including +security fixes discovered by fuzzers. + Other Changes ============= From 6b6c0b3692a94f4bc1cafb23232917c2026eb051 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 2 Jan 2021 13:06:49 +0100 Subject: [PATCH 026/325] Added docs for C-Extension debugging with valgrind [ci-skip] --- docs/reference/c_extension_debugging.rst | 469 +++++++++++++++++++++++ docs/reference/internal_design.rst | 1 + 2 files changed, 470 insertions(+) create mode 100644 docs/reference/c_extension_debugging.rst diff --git a/docs/reference/c_extension_debugging.rst b/docs/reference/c_extension_debugging.rst new file mode 100644 index 000000000..893acc699 --- /dev/null +++ b/docs/reference/c_extension_debugging.rst @@ -0,0 +1,469 @@ +C Extension debugging on Linux, with gbd/valgrind. +================================================== + +Install the tools +----------------- + +You need some basics in addition to the basic tools to build +pillow. These are what's required on Ubuntu, YMMV for other +distributions. + +- ``python3-dbg`` package for the gdb extensions and python symbols +- ``gdb`` and ``valgrind`` +- Potentially debug symbols for libraries. On ubuntu they're shipped + in package-dbgsym packages, from a different repo. + +:: + + deb http://ddebs.ubuntu.com focal main restricted universe multiverse + deb http://ddebs.ubuntu.com focal-updates main restricted universe multiverse + deb http://ddebs.ubuntu.com focal-proposed main restricted universe multiverse + +Then ``sudo apt-get update && sudo apt-get install libtiff5-dbgsym`` + +- There's a bug with the dbg package for at least python 3.8 on ubuntu + 20.04, and you need to add a new link or two to make it autoload when + running python: + +:: + + cd /usr/share/gdb/auto-load/usr/bin + ln -s python3.8m-gdb.py python3.8d-gdb.py + +- In Ubuntu 18.04, it's actually including the path to the virtualenv + in the search for the ``python3.*-gdb.py`` file, but you can + helpfully put in the same directory as the binary. + +- I also find that history is really useful for gdb, so I added this to + my ``~/.gdbinit`` file: + +:: + + set history filename ~/.gdb_history + set history save on + +- If the python stack isn't working in gdb, then + ``set debug auto-load`` can also be helpful in ``.gdbinit``. + +- Make a virtualenv with the debug python and activate it, then install + whatever dependencies are required and build. You want to build with + the debug python so you get symbols for your extension. + +:: + + virtualenv -p python3.8-dbg ~/vpy38-dbg + source ~/vpy38-dbg/bin/activate + cd ~/Pillow && pip install -r requirements.txt && make install + +Test Case +--------- + +Take your test image, and make a really simple harness. + +:: + + from PIL import Image + im = Image.open(path) + im.load() + +- Run this through valgrind, but note that python triggers some issues + on its own, so you're looking for items within the Pillow hierarchy + that don't look like they're solely in the python call chain. In this + example, the ones we're interested are after the warnings, and have + ``decode.c`` and ``TiffDecode.c`` in the call stack: + +:: + + (vpy38-dbg) ubuntu@primary:~/Home/tests$ valgrind python test_tiff.py + ==51890== Memcheck, a memory error detector + ==51890== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. + ==51890== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info + ==51890== Command: python test_tiff.py + ==51890== + ==51890== Invalid read of size 4 + ==51890== at 0x472E3D: address_in_range (obmalloc.c:1401) + ==51890== by 0x472EEA: pymalloc_free (obmalloc.c:1677) + ==51890== by 0x474960: _PyObject_Free (obmalloc.c:1896) + ==51890== by 0x473BAC: _PyMem_DebugRawFree (obmalloc.c:2187) + ==51890== by 0x473BD4: _PyMem_DebugFree (obmalloc.c:2318) + ==51890== by 0x474C08: PyObject_Free (obmalloc.c:709) + ==51890== by 0x45DD60: dictresize (dictobject.c:1259) + ==51890== by 0x45DD76: insertion_resize (dictobject.c:1019) + ==51890== by 0x464F30: PyDict_SetDefault (dictobject.c:2924) + ==51890== by 0x4D03BE: PyUnicode_InternInPlace (unicodeobject.c:15289) + ==51890== by 0x4D0700: PyUnicode_InternFromString (unicodeobject.c:15322) + ==51890== by 0x64D2FC: descr_new (descrobject.c:857) + ==51890== Address 0x4c1b020 is 384 bytes inside a block of size 1,160 free'd + ==51890== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==51890== by 0x4735D3: _PyMem_RawFree (obmalloc.c:127) + ==51890== by 0x473BAC: _PyMem_DebugRawFree (obmalloc.c:2187) + ==51890== by 0x474941: PyMem_RawFree (obmalloc.c:595) + ==51890== by 0x47496E: _PyObject_Free (obmalloc.c:1898) + ==51890== by 0x473BAC: _PyMem_DebugRawFree (obmalloc.c:2187) + ==51890== by 0x473BD4: _PyMem_DebugFree (obmalloc.c:2318) + ==51890== by 0x474C08: PyObject_Free (obmalloc.c:709) + ==51890== by 0x45DD60: dictresize (dictobject.c:1259) + ==51890== by 0x45DD76: insertion_resize (dictobject.c:1019) + ==51890== by 0x464F30: PyDict_SetDefault (dictobject.c:2924) + ==51890== by 0x4D03BE: PyUnicode_InternInPlace (unicodeobject.c:15289) + ==51890== Block was alloc'd at + ==51890== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==51890== by 0x473646: _PyMem_RawMalloc (obmalloc.c:99) + ==51890== by 0x473529: _PyMem_DebugRawAlloc (obmalloc.c:2120) + ==51890== by 0x473565: _PyMem_DebugRawMalloc (obmalloc.c:2153) + ==51890== by 0x4748B1: PyMem_RawMalloc (obmalloc.c:572) + ==51890== by 0x475909: _PyObject_Malloc (obmalloc.c:1628) + ==51890== by 0x473529: _PyMem_DebugRawAlloc (obmalloc.c:2120) + ==51890== by 0x473565: _PyMem_DebugRawMalloc (obmalloc.c:2153) + ==51890== by 0x4736B0: _PyMem_DebugMalloc (obmalloc.c:2303) + ==51890== by 0x474B78: PyObject_Malloc (obmalloc.c:685) + ==51890== by 0x45C435: new_keys_object (dictobject.c:558) + ==51890== by 0x45DA95: dictresize (dictobject.c:1202) + ==51890== + ==51890== Invalid read of size 4 + ==51890== at 0x472E3D: address_in_range (obmalloc.c:1401) + ==51890== by 0x47594A: pymalloc_realloc (obmalloc.c:1929) + ==51890== by 0x475A02: _PyObject_Realloc (obmalloc.c:1982) + ==51890== by 0x473DCA: _PyMem_DebugRawRealloc (obmalloc.c:2240) + ==51890== by 0x473FF8: _PyMem_DebugRealloc (obmalloc.c:2326) + ==51890== by 0x4749FB: PyMem_Realloc (obmalloc.c:623) + ==51890== by 0x44A6FC: list_resize (listobject.c:70) + ==51890== by 0x44A872: app1 (listobject.c:340) + ==51890== by 0x44FD65: PyList_Append (listobject.c:352) + ==51890== by 0x514315: r_ref (marshal.c:945) + ==51890== by 0x516034: r_object (marshal.c:1139) + ==51890== by 0x516C70: r_object (marshal.c:1389) + ==51890== Address 0x4c41020 is 32 bytes before a block of size 1,600 in arena "client" + ==51890== + ==51890== Conditional jump or move depends on uninitialised value(s) + ==51890== at 0x472E46: address_in_range (obmalloc.c:1403) + ==51890== by 0x47594A: pymalloc_realloc (obmalloc.c:1929) + ==51890== by 0x475A02: _PyObject_Realloc (obmalloc.c:1982) + ==51890== by 0x473DCA: _PyMem_DebugRawRealloc (obmalloc.c:2240) + ==51890== by 0x473FF8: _PyMem_DebugRealloc (obmalloc.c:2326) + ==51890== by 0x4749FB: PyMem_Realloc (obmalloc.c:623) + ==51890== by 0x44A6FC: list_resize (listobject.c:70) + ==51890== by 0x44A872: app1 (listobject.c:340) + ==51890== by 0x44FD65: PyList_Append (listobject.c:352) + ==51890== by 0x5E3321: _posix_listdir (posixmodule.c:3823) + ==51890== by 0x5E33A8: os_listdir_impl (posixmodule.c:3879) + ==51890== by 0x5E4D77: os_listdir (posixmodule.c.h:1197) + ==51890== + ==51890== Use of uninitialised value of size 8 + ==51890== at 0x472E59: address_in_range (obmalloc.c:1403) + ==51890== by 0x47594A: pymalloc_realloc (obmalloc.c:1929) + ==51890== by 0x475A02: _PyObject_Realloc (obmalloc.c:1982) + ==51890== by 0x473DCA: _PyMem_DebugRawRealloc (obmalloc.c:2240) + ==51890== by 0x473FF8: _PyMem_DebugRealloc (obmalloc.c:2326) + ==51890== by 0x4749FB: PyMem_Realloc (obmalloc.c:623) + ==51890== by 0x44A6FC: list_resize (listobject.c:70) + ==51890== by 0x44A872: app1 (listobject.c:340) + ==51890== by 0x44FD65: PyList_Append (listobject.c:352) + ==51890== by 0x5E3321: _posix_listdir (posixmodule.c:3823) + ==51890== by 0x5E33A8: os_listdir_impl (posixmodule.c:3879) + ==51890== by 0x5E4D77: os_listdir (posixmodule.c.h:1197) + ==51890== + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 16908288 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67895296 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 1572864 bytes but only got 0. Skipping tag 42 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 116647 bytes but only got 4867. Skipping tag 42738 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 3468830728 bytes but only got 4851. Skipping tag 279 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 2198732800 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67239937 bytes but only got 4125. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33947764 bytes but only got 0. Skipping tag 139 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 17170432 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 80478208 bytes but only got 0. Skipping tag 1 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 787460 bytes but only got 4882. Skipping tag 20 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 1075 bytes but only got 0. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 120586240 bytes but only got 0. Skipping tag 194 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 65536 bytes but only got 0. Skipping tag 3 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 198656 bytes but only got 0. Skipping tag 279 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 206848 bytes but only got 0. Skipping tag 64512 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 130968 bytes but only got 4882. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 77848 bytes but only got 4689. Skipping tag 64270 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 262156 bytes but only got 0. Skipping tag 257 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33624064 bytes but only got 0. Skipping tag 49152 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67178752 bytes but only got 4627. Skipping tag 50688 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33632768 bytes but only got 0. Skipping tag 56320 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 134386688 bytes but only got 4115. Skipping tag 2048 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33912832 bytes but only got 0. Skipping tag 7168 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 151966208 bytes but only got 4627. Skipping tag 10240 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 119032832 bytes but only got 3859. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 46535680 bytes but only got 0. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 35651584 bytes but only got 0. Skipping tag 42 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 524288 bytes but only got 0. Skipping tag 0 + warnings.warn( + _TIFFVSetField: tempfile.tif: Null count for "Tag 769" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 42754" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 769" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 42754" (type 1, writecount -3, passcount 1). + ZIPDecode: Decoding error at scanline 0, incorrect header check. + ==51890== Invalid write of size 4 + ==51890== at 0x61C39E6: putcontig8bitYCbCr22tile (tif_getimage.c:2146) + ==51890== by 0x61C5865: gtStripContig (tif_getimage.c:977) + ==51890== by 0x6094317: ReadStrip (TiffDecode.c:269) + ==51890== by 0x6094749: ImagingLibTiffDecode (TiffDecode.c:479) + ==51890== by 0x60615D1: _decode (decode.c:136) + ==51890== by 0x64BF47: method_vectorcall_VARARGS (descrobject.c:300) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x43627B: function_code_fastcall (call.c:283) + ==51890== by 0x436D21: _PyFunction_Vectorcall (call.c:410) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== Address 0x6f456d4 is 0 bytes after a block of size 68 alloc'd + ==51890== at 0x483DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==51890== by 0x60946D0: ImagingLibTiffDecode (TiffDecode.c:469) + ==51890== by 0x60615D1: _decode (decode.c:136) + ==51890== by 0x64BF47: method_vectorcall_VARARGS (descrobject.c:300) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x43627B: function_code_fastcall (call.c:283) + ==51890== by 0x436D21: _PyFunction_Vectorcall (call.c:410) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x4DFDFB: _PyEval_EvalCodeWithName (ceval.c:4298) + ==51890== by 0x436C40: _PyFunction_Vectorcall (call.c:435) + ==51890== + ==51890== Invalid write of size 4 + ==51890== at 0x61C39B5: putcontig8bitYCbCr22tile (tif_getimage.c:2145) + ==51890== by 0x61C5865: gtStripContig (tif_getimage.c:977) + ==51890== by 0x6094317: ReadStrip (TiffDecode.c:269) + ==51890== by 0x6094749: ImagingLibTiffDecode (TiffDecode.c:479) + ==51890== by 0x60615D1: _decode (decode.c:136) + ==51890== by 0x64BF47: method_vectorcall_VARARGS (descrobject.c:300) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x43627B: function_code_fastcall (call.c:283) + ==51890== by 0x436D21: _PyFunction_Vectorcall (call.c:410) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== Address 0x6f456d8 is 4 bytes after a block of size 68 alloc'd + ==51890== at 0x483DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==51890== by 0x60946D0: ImagingLibTiffDecode (TiffDecode.c:469) + ==51890== by 0x60615D1: _decode (decode.c:136) + ==51890== by 0x64BF47: method_vectorcall_VARARGS (descrobject.c:300) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x43627B: function_code_fastcall (call.c:283) + ==51890== by 0x436D21: _PyFunction_Vectorcall (call.c:410) + ==51890== by 0x4EB73C: _PyObject_Vectorcall (abstract.h:127) + ==51890== by 0x4EB73C: call_function (ceval.c:4963) + ==51890== by 0x4EB73C: _PyEval_EvalFrameDefault (ceval.c:3486) + ==51890== by 0x4DF2EE: PyEval_EvalFrameEx (ceval.c:741) + ==51890== by 0x4DFDFB: _PyEval_EvalCodeWithName (ceval.c:4298) + ==51890== by 0x436C40: _PyFunction_Vectorcall (call.c:435) + ==51890== + TIFFFillStrip: Invalid strip byte count 0, strip 1. + Traceback (most recent call last): + File "test_tiff.py", line 8, in + im.load() + File "/home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py", line 1087, in load + return self._load_libtiff() + File "/home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py", line 1191, in _load_libtiff + raise OSError(err) + OSError: -2 + sys:1: ResourceWarning: unclosed file <_io.BufferedReader name='crash-2020-10-test.tiff'> + ==51890== + ==51890== HEAP SUMMARY: + ==51890== in use at exit: 748,734 bytes in 444 blocks + ==51890== total heap usage: 6,320 allocs, 5,876 frees, 69,142,969 bytes allocated + ==51890== + ==51890== LEAK SUMMARY: + ==51890== definitely lost: 0 bytes in 0 blocks + ==51890== indirectly lost: 0 bytes in 0 blocks + ==51890== possibly lost: 721,538 bytes in 372 blocks + ==51890== still reachable: 27,196 bytes in 72 blocks + ==51890== suppressed: 0 bytes in 0 blocks + ==51890== Rerun with --leak-check=full to see details of leaked memory + ==51890== + ==51890== Use --track-origins=yes to see where uninitialised values come from + ==51890== For lists of detected and suppressed errors, rerun with: -s + ==51890== ERROR SUMMARY: 2556 errors from 6 contexts (suppressed: 0 from 0) + (vpy38-dbg) ubuntu@primary:~/Home/tests$ + +- Now that we've confirmed that there's something odd/bad going on, + it's time to gdb. +- Start with ``gdb python`` +- Set a break point starting with the valgrind stack trace. + ``b TiffDecode.c:269`` +- Run the script with ``r test_tiff.py`` +- When the break point is hit, explore the state with ``info locals``, + ``bt``, ``py-bt``, or ``p [variable]``. For pointers, + ``p *[variable]`` is useful. + +:: + + (vpy38-dbg) ubuntu@primary:~/Home/tests$ gdb python + GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2 + Copyright (C) 2020 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + Type "show copying" and "show warranty" for details. + This GDB was configured as "x86_64-linux-gnu". + Type "show configuration" for configuration details. + For bug reporting instructions, please see: + . + Find the GDB manual and other documentation resources online at: + . + + For help, type "help". + Type "apropos word" to search for commands related to "word"... + Reading symbols from python... + (gdb) b TiffDecode.c:269 + No source file named TiffDecode.c. + Make breakpoint pending on future shared library load? (y or [n]) y + Breakpoint 1 (TiffDecode.c:269) pending. + (gdb) r test_tiff.py + Starting program: /home/ubuntu/vpy38-dbg/bin/python test_tiff.py + [Thread debugging using libthread_db enabled] + Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 16908288 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67895296 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 1572864 bytes but only got 0. Skipping tag 42 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 116647 bytes but only got 4867. Skipping tag 42738 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 3468830728 bytes but only got 4851. Skipping tag 279 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 2198732800 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67239937 bytes but only got 4125. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33947764 bytes but only got 0. Skipping tag 139 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 17170432 bytes but only got 0. Skipping tag 0 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 80478208 bytes but only got 0. Skipping tag 1 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 787460 bytes but only got 4882. Skipping tag 20 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 1075 bytes but only got 0. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 120586240 bytes but only got 0. Skipping tag 194 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 65536 bytes but only got 0. Skipping tag 3 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 198656 bytes but only got 0. Skipping tag 279 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 206848 bytes but only got 0. Skipping tag 64512 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 130968 bytes but only got 4882. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 77848 bytes but only got 4689. Skipping tag 64270 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 262156 bytes but only got 0. Skipping tag 257 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33624064 bytes but only got 0. Skipping tag 49152 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 67178752 bytes but only got 4627. Skipping tag 50688 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33632768 bytes but only got 0. Skipping tag 56320 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 134386688 bytes but only got 4115. Skipping tag 2048 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 33912832 bytes but only got 0. Skipping tag 7168 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 151966208 bytes but only got 4627. Skipping tag 10240 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 119032832 bytes but only got 3859. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 46535680 bytes but only got 0. Skipping tag 256 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 35651584 bytes but only got 0. Skipping tag 42 + warnings.warn( + /home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py:770: UserWarning: Possibly corrupt EXIF data. Expecting to read 524288 bytes but only got 0. Skipping tag 0 + warnings.warn( + _TIFFVSetField: tempfile.tif: Null count for "Tag 769" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 42754" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 769" (type 1, writecount -3, passcount 1). + _TIFFVSetField: tempfile.tif: Null count for "Tag 42754" (type 1, writecount -3, passcount 1). + + Breakpoint 1, ReadStrip (tiff=tiff@entry=0xae9b90, row=0, buffer=0xac2eb0) at src/libImaging/TiffDecode.c:269 + 269 ok = TIFFRGBAImageGet(&img, buffer, img.width, rows_to_read); + (gdb) p img + $1 = {tif = 0xae9b90, stoponerr = 0, isContig = 1, alpha = 0, width = 20, height = 1536, bitspersample = 8, samplesperpixel = 3, + orientation = 1, req_orientation = 1, photometric = 6, redcmap = 0x0, greencmap = 0x0, bluecmap = 0x0, get = + 0x7ffff71d0710 , put = {any = 0x7ffff71ce550 , + contig = 0x7ffff71ce550 , separate = 0x7ffff71ce550 }, Map = 0x0, + BWmap = 0x0, PALmap = 0x0, ycbcr = 0xaf24b0, cielab = 0x0, UaToAa = 0x0, Bitdepth16To8 = 0x0, row_offset = 0, col_offset = 0} + (gdb) up + #1 0x00007ffff736174a in ImagingLibTiffDecode (im=0xac1f90, state=0x7ffff76767e0, buffer=, bytes=) + at src/libImaging/TiffDecode.c:479 + 479 if (ReadStrip(tiff, state->y, (UINT32 *)state->buffer) == -1) { + (gdb) p *state + $2 = {count = 0, state = 0, errcode = 0, x = 0, y = 0, ystep = 0, xsize = 17, ysize = 108, xoff = 0, yoff = 0, + shuffle = 0x7ffff735f411 , bits = 32, bytes = 68, buffer = 0xac2eb0 "P\354\336\367\377\177", context = 0xa75440, fd = 0x0} + (gdb) py-bt + Traceback (most recent call first): + File "/home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py", line 1428, in _load_libtiff + + File "/home/ubuntu/vpy38-dbg/lib/python3.8/site-packages/Pillow-8.0.1-py3.8-linux-x86_64.egg/PIL/TiffImagePlugin.py", line 1087, in load + return self._load_libtiff() + File "test_tiff.py", line 8, in + im.load() + +- Poke around till you understand what's going on. In this case, + state->xsize and img.width are different, which led to an out of + bounds write, as the receiving buffer was sized for the smaller of + the two. + +Caveats +------- + +- If your program is running/hung in a docker container and your host + has the appropriate tools, you can run gdb as the superuser in the + host and you may be able to get a trace of where the process is hung. + You probably won't have the capability to do that from within the + docker container, as the trace capacity isn't allowed by default. + +- Variations of this are possible on the mac/windows, but the details + are going to be different. + +- IIRC, Fedora has the gdb bits working by default. Ubuntu has always + been a bit of a battle to make it work. diff --git a/docs/reference/internal_design.rst b/docs/reference/internal_design.rst index 5f911db51..2e2d3322f 100644 --- a/docs/reference/internal_design.rst +++ b/docs/reference/internal_design.rst @@ -8,3 +8,4 @@ Internal Reference Docs limits block_allocator internal_modules + c_extension_debugging From 7f5dbb7c9b30429ca20e65416b6dee41e5762ee1 Mon Sep 17 00:00:00 2001 From: Uriel Martinez <57372467+UrielMaD@users.noreply.github.com> Date: Sat, 2 Jan 2021 21:57:24 -0600 Subject: [PATCH 027/325] Update src/PIL/Image.py Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- src/PIL/Image.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index df78fb809..b0629f4b6 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1321,8 +1321,8 @@ class Image: def getxmp(self): """ - Returns an object containing the xmp tags for a given image. - :returns: XMP tags in an object. + Returns a dictionary containing the xmp tags for a given image. + :returns: XMP tags in a dictionary. """ if self._xmp is None: From 930059814d16a33a2e83f15e45fdbbf338f02813 Mon Sep 17 00:00:00 2001 From: Esteban Gehring Date: Mon, 4 Jan 2021 13:42:15 +0100 Subject: [PATCH 028/325] docs: add alpha channel to supported hex color specifiers --- docs/reference/ImageColor.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/reference/ImageColor.rst b/docs/reference/ImageColor.rst index e32a77b54..9730bd28f 100644 --- a/docs/reference/ImageColor.rst +++ b/docs/reference/ImageColor.rst @@ -16,8 +16,17 @@ Color Names The ImageColor module supports the following string formats: -* Hexadecimal color specifiers, given as ``#rgb`` or ``#rrggbb``. For example, - ``#ff0000`` specifies pure red. +* Hexadecimal color specifiers, given as ``#rgb``, ``#rgba``, ``#rrggbb`` or ``#rrggbbaa``, + with the following placeholders: + - ``r``: red + - ``g``: green + - ``b``: blue + - ``a``: alpha / opacity (can be used in combination with ``mode="RGBA"`` in :py:mod:`~PIL.ImageDraw`) + + Examples: + - ``#ff0000`` specifies pure red. + - ``#ff0000aa`` specifies pure red with an opacity of 66.66% (aa = 170, opacity = 170/255). + * RGB functions, given as ``rgb(red, green, blue)`` where the color values are integers in the range 0 to 255. Alternatively, the color values can be given From e5e5761da4860d8284ca757ee828ff8ef0df720a Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 08:29:34 +0000 Subject: [PATCH 029/325] add raqm to thirdparty directory --- src/thirdparty/raqm/raqm-version.h | 44 + src/thirdparty/raqm/raqm.c | 2069 ++++++++++++++++++++++++++++ src/thirdparty/raqm/raqm.h | 185 +++ 3 files changed, 2298 insertions(+) create mode 100644 src/thirdparty/raqm/raqm-version.h create mode 100644 src/thirdparty/raqm/raqm.c create mode 100644 src/thirdparty/raqm/raqm.h diff --git a/src/thirdparty/raqm/raqm-version.h b/src/thirdparty/raqm/raqm-version.h new file mode 100644 index 000000000..4fd5c6842 --- /dev/null +++ b/src/thirdparty/raqm/raqm-version.h @@ -0,0 +1,44 @@ +/* + * Copyright © 2011 Google, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Google Author(s): Behdad Esfahbod + */ + +#ifndef _RAQM_H_IN_ +#error "Include instead." +#endif + +#ifndef _RAQM_VERSION_H_ +#define _RAQM_VERSION_H_ + +#define RAQM_VERSION_MAJOR 0 +#define RAQM_VERSION_MINOR 7 +#define RAQM_VERSION_MICRO 1 + +#define RAQM_VERSION_STRING "0.7.1" + +#define RAQM_VERSION_ATLEAST(major,minor,micro) \ + ((major)*10000+(minor)*100+(micro) <= \ + RAQM_VERSION_MAJOR*10000+RAQM_VERSION_MINOR*100+RAQM_VERSION_MICRO) + +#endif /* _RAQM_VERSION_H_ */ diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c new file mode 100644 index 000000000..27e59b5fc --- /dev/null +++ b/src/thirdparty/raqm/raqm.c @@ -0,0 +1,2069 @@ +/* + * Copyright © 2015 Information Technology Authority (ITA) + * Copyright © 2016 Khaled Hosny + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#undef HAVE_CONFIG_H // Workaround for Fribidi 1.0.5 and earlier +#endif + +#include +#include + +#include +#include +#include + +#include "raqm.h" + +#if FRIBIDI_MAJOR_VERSION >= 1 +#define USE_FRIBIDI_EX_API +#endif + +/** + * SECTION:raqm + * @title: Raqm + * @short_description: A library for complex text layout + * @include: raqm.h + * + * Raqm is a light weight text layout library with strong emphasis on + * supporting languages and writing systems that require complex text layout. + * + * The main object in Raqm API is #raqm_t, it stores all the states of the + * input text, its properties, and the output of the layout process. + * + * To start, you create a #raqm_t object, add text and font(s) to it, run the + * layout process, and finally query about the output. For example: + * + * |[ + * #include "raqm.h" + * + * int + * main (int argc, char *argv[]) + * { + * const char *fontfile; + * const char *text; + * const char *direction; + * const char *language; + * int ret = 1; + * + * FT_Library library = NULL; + * FT_Face face = NULL; + * + * if (argc < 5) + * { + * printf ("Usage: %s FONT_FILE TEXT DIRECTION LANG\n", argv[0]); + * return 1; + * } + * + * fontfile = argv[1]; + * text = argv[2]; + * direction = argv[3]; + * language = argv[4]; + * + * if (FT_Init_FreeType (&library) == 0) + * { + * if (FT_New_Face (library, fontfile, 0, &face) == 0) + * { + * if (FT_Set_Char_Size (face, face->units_per_EM, 0, 0, 0) == 0) + * { + * raqm_t *rq = raqm_create (); + * if (rq != NULL) + * { + * raqm_direction_t dir = RAQM_DIRECTION_DEFAULT; + * + * if (strcmp (direction, "r") == 0) + * dir = RAQM_DIRECTION_RTL; + * else if (strcmp (direction, "l") == 0) + * dir = RAQM_DIRECTION_LTR; + * + * if (raqm_set_text_utf8 (rq, text, strlen (text)) && + * raqm_set_freetype_face (rq, face) && + * raqm_set_par_direction (rq, dir) && + * raqm_set_language (rq, language, 0, strlen (text)) && + * raqm_layout (rq)) + * { + * size_t count, i; + * raqm_glyph_t *glyphs = raqm_get_glyphs (rq, &count); + * + * ret = !(glyphs != NULL || count == 0); + * + * printf("glyph count: %zu\n", count); + * for (i = 0; i < count; i++) + * { + * printf ("gid#%d off: (%d, %d) adv: (%d, %d) idx: %d\n", + * glyphs[i].index, + * glyphs[i].x_offset, + * glyphs[i].y_offset, + * glyphs[i].x_advance, + * glyphs[i].y_advance, + * glyphs[i].cluster); + * } + * } + * + * raqm_destroy (rq); + * } + * } + * + * FT_Done_Face (face); + * } + * + * FT_Done_FreeType (library); + * } + * + * return ret; + * } + * ]| + * To compile this example: + * |[ + * cc -o test test.c `pkg-config --libs --cflags raqm` + * ]| + */ + +/* For enabling debug mode */ +/*#define RAQM_DEBUG 1*/ +#ifdef RAQM_DEBUG +#define RAQM_DBG(...) fprintf (stderr, __VA_ARGS__) +#else +#define RAQM_DBG(...) +#endif + +#ifdef RAQM_TESTING +# define RAQM_TEST(...) printf (__VA_ARGS__) +# define SCRIPT_TO_STRING(script) \ + char buff[5]; \ + hb_tag_to_string (hb_script_to_iso15924_tag (script), buff); \ + buff[4] = '\0'; +#else +# define RAQM_TEST(...) +#endif + +typedef enum { + RAQM_FLAG_NONE = 0, + RAQM_FLAG_UTF8 = 1 << 0 +} _raqm_flags_t; + +typedef struct { + FT_Face ftface; + hb_language_t lang; + hb_script_t script; +} _raqm_text_info; + +typedef struct _raqm_run raqm_run_t; + +struct _raqm { + int ref_count; + + uint32_t *text; + char *text_utf8; + size_t text_len; + + _raqm_text_info *text_info; + + raqm_direction_t base_dir; + raqm_direction_t resolved_dir; + + hb_feature_t *features; + size_t features_len; + + raqm_run_t *runs; + raqm_glyph_t *glyphs; + + _raqm_flags_t flags; + + int ft_loadflags; + int invisible_glyph; +}; + +struct _raqm_run { + int pos; + int len; + + hb_direction_t direction; + hb_script_t script; + hb_font_t *font; + hb_buffer_t *buffer; + + raqm_run_t *next; +}; + +static uint32_t +_raqm_u8_to_u32_index (raqm_t *rq, + uint32_t index); + +static bool +_raqm_init_text_info (raqm_t *rq) +{ + hb_language_t default_lang; + + if (rq->text_info) + return true; + + rq->text_info = malloc (sizeof (_raqm_text_info) * rq->text_len); + if (!rq->text_info) + return false; + + default_lang = hb_language_get_default (); + for (size_t i = 0; i < rq->text_len; i++) + { + rq->text_info[i].ftface = NULL; + rq->text_info[i].lang = default_lang; + rq->text_info[i].script = HB_SCRIPT_INVALID; + } + + return true; +} + +static void +_raqm_free_text_info (raqm_t *rq) +{ + if (!rq->text_info) + return; + + for (size_t i = 0; i < rq->text_len; i++) + { + if (rq->text_info[i].ftface) + FT_Done_Face (rq->text_info[i].ftface); + } + + free (rq->text_info); + rq->text_info = NULL; +} + +static bool +_raqm_compare_text_info (_raqm_text_info a, + _raqm_text_info b) +{ + if (a.ftface != b.ftface) + return false; + + if (a.lang != b.lang) + return false; + + if (a.script != b.script) + return false; + + return true; +} + +/** + * raqm_create: + * + * Creates a new #raqm_t with all its internal states initialized to their + * defaults. + * + * Return value: + * A newly allocated #raqm_t with a reference count of 1. The initial reference + * count should be released with raqm_destroy() when you are done using the + * #raqm_t. Returns %NULL in case of error. + * + * Since: 0.1 + */ +raqm_t * +raqm_create (void) +{ + raqm_t *rq; + + rq = malloc (sizeof (raqm_t)); + if (!rq) + return NULL; + + rq->ref_count = 1; + + rq->text = NULL; + rq->text_utf8 = NULL; + rq->text_len = 0; + + rq->text_info = NULL; + + rq->base_dir = RAQM_DIRECTION_DEFAULT; + rq->resolved_dir = RAQM_DIRECTION_DEFAULT; + + rq->features = NULL; + rq->features_len = 0; + + rq->runs = NULL; + rq->glyphs = NULL; + + rq->flags = RAQM_FLAG_NONE; + + rq->ft_loadflags = -1; + rq->invisible_glyph = 0; + + return rq; +} + +/** + * raqm_reference: + * @rq: a #raqm_t. + * + * Increases the reference count on @rq by one. This prevents @rq from being + * destroyed until a matching call to raqm_destroy() is made. + * + * Return value: + * The referenced #raqm_t. + * + * Since: 0.1 + */ +raqm_t * +raqm_reference (raqm_t *rq) +{ + if (rq) + rq->ref_count++; + + return rq; +} + +static void +_raqm_free_runs (raqm_t *rq) +{ + raqm_run_t *runs = rq->runs; + while (runs) + { + raqm_run_t *run = runs; + runs = runs->next; + + hb_buffer_destroy (run->buffer); + hb_font_destroy (run->font); + free (run); + } +} + +/** + * raqm_destroy: + * @rq: a #raqm_t. + * + * Decreases the reference count on @rq by one. If the result is zero, then @rq + * and all associated resources are freed. + * See cairo_reference(). + * + * Since: 0.1 + */ +void +raqm_destroy (raqm_t *rq) +{ + if (!rq || --rq->ref_count != 0) + return; + + free (rq->text); + free (rq->text_utf8); + _raqm_free_text_info (rq); + _raqm_free_runs (rq); + free (rq->glyphs); + free (rq); +} + +/** + * raqm_set_text: + * @rq: a #raqm_t. + * @text: a UTF-32 encoded text string. + * @len: the length of @text. + * + * Adds @text to @rq to be used for layout. It must be a valid UTF-32 text, any + * invalid character will be replaced with U+FFFD. The text should typically + * represent a full paragraph, since doing the layout of chunks of text + * separately can give improper output. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_set_text (raqm_t *rq, + const uint32_t *text, + size_t len) +{ + if (!rq || !text) + return false; + + rq->text_len = len; + + /* Empty string, don’t fail but do nothing */ + if (!len) + return true; + + free (rq->text); + + rq->text = malloc (sizeof (uint32_t) * rq->text_len); + if (!rq->text) + return false; + + _raqm_free_text_info (rq); + if (!_raqm_init_text_info (rq)) + return false; + + memcpy (rq->text, text, sizeof (uint32_t) * rq->text_len); + + return true; +} + +/** + * raqm_set_text_utf8: + * @rq: a #raqm_t. + * @text: a UTF-8 encoded text string. + * @len: the length of @text in UTF-8 bytes. + * + * Same as raqm_set_text(), but for text encoded in UTF-8 encoding. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_set_text_utf8 (raqm_t *rq, + const char *text, + size_t len) +{ + uint32_t *unicode; + size_t ulen; + bool ok; + + if (!rq || !text) + return false; + + /* Empty string, don’t fail but do nothing */ + if (!len) + { + rq->text_len = len; + return true; + } + + RAQM_TEST ("Text is: %s\n", text); + + rq->flags |= RAQM_FLAG_UTF8; + + rq->text_utf8 = malloc (sizeof (char) * len); + if (!rq->text_utf8) + return false; + + unicode = malloc (sizeof (uint32_t) * len); + if (!unicode) + return false; + + memcpy (rq->text_utf8, text, sizeof (char) * len); + + ulen = fribidi_charset_to_unicode (FRIBIDI_CHAR_SET_UTF8, + text, len, unicode); + + ok = raqm_set_text (rq, unicode, ulen); + + free (unicode); + return ok; +} + +/** + * raqm_set_par_direction: + * @rq: a #raqm_t. + * @dir: the direction of the paragraph. + * + * Sets the paragraph direction, also known as block direction in CSS. For + * horizontal text, this controls the overall direction in the Unicode + * Bidirectional Algorithm, so when the text is mainly right-to-left (with or + * without some left-to-right) text, then the base direction should be set to + * #RAQM_DIRECTION_RTL and vice versa. + * + * The default is #RAQM_DIRECTION_DEFAULT, which determines the paragraph + * direction based on the first character with strong bidi type (see [rule + * P2](http://unicode.org/reports/tr9/#P2) in Unicode Bidirectional Algorithm), + * which can be good enough for many cases but has problems when a mainly + * right-to-left paragraph starts with a left-to-right character and vice versa + * as the detected paragraph direction will be the wrong one, or when text does + * not contain any characters with string bidi types (e.g. only punctuation or + * numbers) as this will default to left-to-right paragraph direction. + * + * For vertical, top-to-bottom text, #RAQM_DIRECTION_TTB should be used. Raqm, + * however, provides limited vertical text support and does not handle rotated + * horizontal text in vertical text, instead everything is treated as vertical + * text. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_set_par_direction (raqm_t *rq, + raqm_direction_t dir) +{ + if (!rq) + return false; + + rq->base_dir = dir; + + return true; +} + +/** + * raqm_set_language: + * @rq: a #raqm_t. + * @lang: a BCP47 language code. + * @start: index of first character that should use @face. + * @len: number of characters using @face. + * + * Sets a [BCP47 language + * code](https://www.w3.org/International/articles/language-tags/) to be used + * for @len-number of characters staring at @start. The @start and @len are + * input string array indices (i.e. counting bytes in UTF-8 and scaler values + * in UTF-32). + * + * This method can be used repeatedly to set different languages for different + * parts of the text. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Stability: + * Unstable + * + * Since: 0.2 + */ +bool +raqm_set_language (raqm_t *rq, + const char *lang, + size_t start, + size_t len) +{ + hb_language_t language; + size_t end = start + len; + + if (!rq) + return false; + + if (!rq->text_len) + return true; + + if (rq->flags & RAQM_FLAG_UTF8) + { + start = _raqm_u8_to_u32_index (rq, start); + end = _raqm_u8_to_u32_index (rq, end); + } + + if (start >= rq->text_len || end > rq->text_len) + return false; + + if (!rq->text_info) + return false; + + language = hb_language_from_string (lang, -1); + for (size_t i = start; i < end; i++) + { + rq->text_info[i].lang = language; + } + + return true; +} + +/** + * raqm_add_font_feature: + * @rq: a #raqm_t. + * @feature: (transfer none): a font feature string. + * @len: length of @feature, -1 for %NULL-terminated. + * + * Adds a font feature to be used by the #raqm_t during text layout. This is + * usually used to turn on optional font features that are not enabled by + * default, for example `dlig` or `ss01`, but can be also used to turn off + * default font features. + * + * @feature is string representing a single font feature, in the syntax + * understood by hb_feature_from_string(). + * + * This function can be called repeatedly, new features will be appended to the + * end of the features list and can potentially override previous features. + * + * Return value: + * %true if parsing @feature succeeded, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_add_font_feature (raqm_t *rq, + const char *feature, + int len) +{ + hb_bool_t ok; + hb_feature_t fea; + + if (!rq) + return false; + + ok = hb_feature_from_string (feature, len, &fea); + if (ok) + { + rq->features_len++; + rq->features = realloc (rq->features, + sizeof (hb_feature_t) * (rq->features_len)); + if (!rq->features) + return false; + + rq->features[rq->features_len - 1] = fea; + } + + return ok; +} + +static hb_font_t * +_raqm_create_hb_font (raqm_t *rq, + FT_Face face) +{ + hb_font_t *font = hb_ft_font_create_referenced (face); + + if (rq->ft_loadflags >= 0) + hb_ft_font_set_load_flags (font, rq->ft_loadflags); + + return font; +} + +static bool +_raqm_set_freetype_face (raqm_t *rq, + FT_Face face, + size_t start, + size_t end) +{ + if (!rq) + return false; + + if (!rq->text_len) + return true; + + if (start >= rq->text_len || end > rq->text_len) + return false; + + if (!rq->text_info) + return false; + + for (size_t i = start; i < end; i++) + { + if (rq->text_info[i].ftface) + FT_Done_Face (rq->text_info[i].ftface); + rq->text_info[i].ftface = face; + FT_Reference_Face (face); + } + + return true; +} + +/** + * raqm_set_freetype_face: + * @rq: a #raqm_t. + * @face: an #FT_Face. + * + * Sets an #FT_Face to be used for all characters in @rq. + * + * See also raqm_set_freetype_face_range(). + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_set_freetype_face (raqm_t *rq, + FT_Face face) +{ + return _raqm_set_freetype_face (rq, face, 0, rq->text_len); +} + +/** + * raqm_set_freetype_face_range: + * @rq: a #raqm_t. + * @face: an #FT_Face. + * @start: index of first character that should use @face. + * @len: number of characters using @face. + * + * Sets an #FT_Face to be used for @len-number of characters staring at @start. + * The @start and @len are input string array indices (i.e. counting bytes in + * UTF-8 and scaler values in UTF-32). + * + * This method can be used repeatedly to set different faces for different + * parts of the text. It is the responsibility of the client to make sure that + * face ranges cover the whole text. + * + * See also raqm_set_freetype_face(). + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_set_freetype_face_range (raqm_t *rq, + FT_Face face, + size_t start, + size_t len) +{ + size_t end = start + len; + + if (!rq) + return false; + + if (!rq->text_len) + return true; + + if (rq->flags & RAQM_FLAG_UTF8) + { + start = _raqm_u8_to_u32_index (rq, start); + end = _raqm_u8_to_u32_index (rq, end); + } + + return _raqm_set_freetype_face (rq, face, start, end); +} + +/** + * raqm_set_freetype_load_flags: + * @rq: a #raqm_t. + * @flags: FreeType load flags. + * + * Sets the load flags passed to FreeType when loading glyphs, should be the + * same flags used by the client when rendering FreeType glyphs. + * + * This requires version of HarfBuzz that has hb_ft_font_set_load_flags(), for + * older version the flags will be ignored. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.3 + */ +bool +raqm_set_freetype_load_flags (raqm_t *rq, + int flags) +{ + if (!rq) + return false; + + rq->ft_loadflags = flags; + + return true; +} + +/** + * raqm_set_invisible_glyph: + * @rq: a #raqm_t. + * @gid: glyph id to use for invisible glyphs. + * + * Sets the glyph id to be used for invisible glyhphs. + * + * If @gid is negative, invisible glyphs will be suppressed from the output. + * This requires HarfBuzz 1.8.0 or later. If raqm is used with an earlier + * HarfBuzz version, the return value will be %false and the shaping behavior + * does not change. + * + * If @gid is zero, invisible glyphs will be rendered as space. + * This works on all versions of HarfBuzz. + * + * If @gid is a positive number, it will be used for invisible glyphs. + * This requires a version of HarfBuzz that has + * hb_buffer_set_invisible_glyph(). For older versions, the return value + * will be %false and the shaping behavior does not change. + * + * Return value: + * %true if no errors happened, %false otherwise. + * + * Since: 0.6 + */ +bool +raqm_set_invisible_glyph (raqm_t *rq, + int gid) +{ + if (!rq) + return false; + +#ifndef HAVE_HB_BUFFER_SET_INVISIBLE_GLYPH + if (gid > 0) + return false; +#endif + +#if !defined(HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES) || \ + !HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES + if (gid < 0) + return false; +#endif + + rq->invisible_glyph = gid; + return true; +} + +static bool +_raqm_itemize (raqm_t *rq); + +static bool +_raqm_shape (raqm_t *rq); + +/** + * raqm_layout: + * @rq: a #raqm_t. + * + * Run the text layout process on @rq. This is the main Raqm function where the + * Unicode Bidirectional Text algorithm will be applied to the text in @rq, + * text shaping, and any other part of the layout process. + * + * Return value: + * %true if the layout process was successful, %false otherwise. + * + * Since: 0.1 + */ +bool +raqm_layout (raqm_t *rq) +{ + if (!rq) + return false; + + if (!rq->text_len) + return true; + + if (!rq->text_info) + return false; + + for (size_t i = 0; i < rq->text_len; i++) + { + if (!rq->text_info[i].ftface) + return false; + } + + if (!_raqm_itemize (rq)) + return false; + + if (!_raqm_shape (rq)) + return false; + + return true; +} + +static uint32_t +_raqm_u32_to_u8_index (raqm_t *rq, + uint32_t index); + +/** + * raqm_get_glyphs: + * @rq: a #raqm_t. + * @length: (out): output array length. + * + * Gets the final result of Raqm layout process, an array of #raqm_glyph_t + * containing the glyph indices in the font, their positions and other possible + * information. + * + * Return value: (transfer none): + * An array of #raqm_glyph_t, or %NULL in case of error. This is owned by @rq + * and must not be freed. + * + * Since: 0.1 + */ +raqm_glyph_t * +raqm_get_glyphs (raqm_t *rq, + size_t *length) +{ + size_t count = 0; + + if (!rq || !rq->runs || !length) + { + if (length) + *length = 0; + return NULL; + } + + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + count += hb_buffer_get_length (run->buffer); + + *length = count; + + if (rq->glyphs) + free (rq->glyphs); + + rq->glyphs = malloc (sizeof (raqm_glyph_t) * count); + if (!rq->glyphs) + { + *length = 0; + return NULL; + } + + RAQM_TEST ("Glyph information:\n"); + + count = 0; + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + { + size_t len; + hb_glyph_info_t *info; + hb_glyph_position_t *position; + + len = hb_buffer_get_length (run->buffer); + info = hb_buffer_get_glyph_infos (run->buffer, NULL); + position = hb_buffer_get_glyph_positions (run->buffer, NULL); + + for (size_t i = 0; i < len; i++) + { + rq->glyphs[count + i].index = info[i].codepoint; + rq->glyphs[count + i].cluster = info[i].cluster; + rq->glyphs[count + i].x_advance = position[i].x_advance; + rq->glyphs[count + i].y_advance = position[i].y_advance; + rq->glyphs[count + i].x_offset = position[i].x_offset; + rq->glyphs[count + i].y_offset = position[i].y_offset; + rq->glyphs[count + i].ftface = rq->text_info[info[i].cluster].ftface; + + RAQM_TEST ("glyph [%d]\tx_offset: %d\ty_offset: %d\tx_advance: %d\tfont: %s\n", + rq->glyphs[count + i].index, rq->glyphs[count + i].x_offset, + rq->glyphs[count + i].y_offset, rq->glyphs[count + i].x_advance, + rq->glyphs[count + i].ftface->family_name); + } + + count += len; + } + + if (rq->flags & RAQM_FLAG_UTF8) + { +#ifdef RAQM_TESTING + RAQM_TEST ("\nUTF-32 clusters:"); + for (size_t i = 0; i < count; i++) + RAQM_TEST (" %02d", rq->glyphs[i].cluster); + RAQM_TEST ("\n"); +#endif + + for (size_t i = 0; i < count; i++) + rq->glyphs[i].cluster = _raqm_u32_to_u8_index (rq, + rq->glyphs[i].cluster); + +#ifdef RAQM_TESTING + RAQM_TEST ("UTF-8 clusters: "); + for (size_t i = 0; i < count; i++) + RAQM_TEST (" %02d", rq->glyphs[i].cluster); + RAQM_TEST ("\n"); +#endif + } + return rq->glyphs; +} + +static bool +_raqm_resolve_scripts (raqm_t *rq); + +static hb_direction_t +_raqm_hb_dir (raqm_t *rq, FriBidiLevel level) +{ + hb_direction_t dir = HB_DIRECTION_LTR; + + if (rq->base_dir == RAQM_DIRECTION_TTB) + dir = HB_DIRECTION_TTB; + else if (FRIBIDI_LEVEL_IS_RTL (level)) + dir = HB_DIRECTION_RTL; + + return dir; +} + +typedef struct { + size_t pos; + size_t len; + FriBidiLevel level; +} _raqm_bidi_run; + +static void +_raqm_reverse_run (_raqm_bidi_run *run, const size_t len) +{ + assert (run); + + for (size_t i = 0; i < len / 2; i++) + { + _raqm_bidi_run temp = run[i]; + run[i] = run[len - 1 - i]; + run[len - 1 - i] = temp; + } +} + +static _raqm_bidi_run * +_raqm_reorder_runs (const FriBidiCharType *types, + const size_t len, + const FriBidiParType base_dir, + /* input and output */ + FriBidiLevel *levels, + /* output */ + size_t *run_count) +{ + FriBidiLevel level; + FriBidiLevel last_level = -1; + FriBidiLevel max_level = 0; + size_t run_start = 0; + size_t run_index = 0; + _raqm_bidi_run *runs = NULL; + size_t count = 0; + + if (len == 0) + { + *run_count = 0; + return NULL; + } + + assert (types); + assert (levels); + + /* L1. Reset the embedding levels of some chars: + 4. any sequence of white space characters at the end of the line. */ + for (int i = len - 1; + i >= 0 && FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS (types[i]); i--) + { + levels[i] = FRIBIDI_DIR_TO_LEVEL (base_dir); + } + + /* Find max_level of the line. We don't reuse the paragraph + * max_level, both for a cleaner API, and that the line max_level + * may be far less than paragraph max_level. */ + for (int i = len - 1; i >= 0; i--) + { + if (levels[i] > max_level) + max_level = levels[i]; + } + + for (size_t i = 0; i < len; i++) + { + if (levels[i] != last_level) + count++; + + last_level = levels[i]; + } + + runs = malloc (sizeof (_raqm_bidi_run) * count); + + while (run_start < len) + { + size_t run_end = run_start; + while (run_end < len && levels[run_start] == levels[run_end]) + { + run_end++; + } + + runs[run_index].pos = run_start; + runs[run_index].level = levels[run_start]; + runs[run_index].len = run_end - run_start; + run_start = run_end; + run_index++; + } + + /* L2. Reorder. */ + for (level = max_level; level > 0; level--) + { + for (int i = count - 1; i >= 0; i--) + { + if (runs[i].level >= level) + { + int end = i; + for (i--; (i >= 0 && runs[i].level >= level); i--) + ; + _raqm_reverse_run (runs + i + 1, end - i); + } + } + } + + *run_count = count; + return runs; +} + +static bool +_raqm_itemize (raqm_t *rq) +{ + FriBidiParType par_type = FRIBIDI_PAR_ON; + FriBidiCharType *types; +#ifdef USE_FRIBIDI_EX_API + FriBidiBracketType *btypes; +#endif + FriBidiLevel *levels; + _raqm_bidi_run *runs = NULL; + raqm_run_t *last; + int max_level; + size_t run_count; + bool ok = true; + +#ifdef RAQM_TESTING + switch (rq->base_dir) + { + case RAQM_DIRECTION_RTL: + RAQM_TEST ("Direction is: RTL\n\n"); + break; + case RAQM_DIRECTION_LTR: + RAQM_TEST ("Direction is: LTR\n\n"); + break; + case RAQM_DIRECTION_TTB: + RAQM_TEST ("Direction is: TTB\n\n"); + break; + case RAQM_DIRECTION_DEFAULT: + default: + RAQM_TEST ("Direction is: DEFAULT\n\n"); + break; + } +#endif + + types = calloc (rq->text_len, sizeof (FriBidiCharType)); +#ifdef USE_FRIBIDI_EX_API + btypes = calloc (rq->text_len, sizeof (FriBidiBracketType)); +#endif + levels = calloc (rq->text_len, sizeof (FriBidiLevel)); + if (!types || !levels +#ifdef USE_FRIBIDI_EX_API + || !btypes +#endif + ) + { + ok = false; + goto done; + } + + if (rq->base_dir == RAQM_DIRECTION_RTL) + par_type = FRIBIDI_PAR_RTL; + else if (rq->base_dir == RAQM_DIRECTION_LTR) + par_type = FRIBIDI_PAR_LTR; + + if (rq->base_dir == RAQM_DIRECTION_TTB) + { + /* Treat every thing as LTR in vertical text */ + max_level = 1; + memset (types, FRIBIDI_TYPE_LTR, rq->text_len); + memset (levels, 0, rq->text_len); + rq->resolved_dir = RAQM_DIRECTION_LTR; + } + else + { + fribidi_get_bidi_types (rq->text, rq->text_len, types); +#ifdef USE_FRIBIDI_EX_API + fribidi_get_bracket_types (rq->text, rq->text_len, types, btypes); + max_level = fribidi_get_par_embedding_levels_ex (types, btypes, + rq->text_len, &par_type, + levels); +#else + max_level = fribidi_get_par_embedding_levels (types, rq->text_len, + &par_type, levels); +#endif + + if (par_type == FRIBIDI_PAR_LTR) + rq->resolved_dir = RAQM_DIRECTION_LTR; + else + rq->resolved_dir = RAQM_DIRECTION_RTL; + } + + if (max_level == 0) + { + ok = false; + goto done; + } + + if (!_raqm_resolve_scripts (rq)) + { + ok = false; + goto done; + } + + /* Get the number of bidi runs */ + runs = _raqm_reorder_runs (types, rq->text_len, par_type, levels, &run_count); + if (!runs) + { + ok = false; + goto done; + } + +#ifdef RAQM_TESTING + RAQM_TEST ("Number of runs before script itemization: %zu\n\n", run_count); + + RAQM_TEST ("Fribidi Runs:\n"); + for (size_t i = 0; i < run_count; i++) + { + RAQM_TEST ("run[%zu]:\t start: %zu\tlength: %zu\tlevel: %d\n", + i, runs[i].pos, runs[i].len, runs[i].level); + } + RAQM_TEST ("\n"); +#endif + + last = NULL; + for (size_t i = 0; i < run_count; i++) + { + raqm_run_t *run = calloc (1, sizeof (raqm_run_t)); + if (!run) + { + ok = false; + goto done; + } + + if (!rq->runs) + rq->runs = run; + + if (last) + last->next = run; + + run->direction = _raqm_hb_dir (rq, runs[i].level); + + if (HB_DIRECTION_IS_BACKWARD (run->direction)) + { + run->pos = runs[i].pos + runs[i].len - 1; + run->script = rq->text_info[run->pos].script; + run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); + for (int j = runs[i].len - 1; j >= 0; j--) + { + _raqm_text_info info = rq->text_info[runs[i].pos + j]; + if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) + { + raqm_run_t *newrun = calloc (1, sizeof (raqm_run_t)); + if (!newrun) + { + ok = false; + goto done; + } + newrun->pos = runs[i].pos + j; + newrun->len = 1; + newrun->direction = _raqm_hb_dir (rq, runs[i].level); + newrun->script = info.script; + newrun->font = _raqm_create_hb_font (rq, info.ftface); + run->next = newrun; + run = newrun; + } + else + { + run->len++; + run->pos = runs[i].pos + j; + } + } + } + else + { + run->pos = runs[i].pos; + run->script = rq->text_info[run->pos].script; + run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); + for (size_t j = 0; j < runs[i].len; j++) + { + _raqm_text_info info = rq->text_info[runs[i].pos + j]; + if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) + { + raqm_run_t *newrun = calloc (1, sizeof (raqm_run_t)); + if (!newrun) + { + ok = false; + goto done; + } + newrun->pos = runs[i].pos + j; + newrun->len = 1; + newrun->direction = _raqm_hb_dir (rq, runs[i].level); + newrun->script = info.script; + newrun->font = _raqm_create_hb_font (rq, info.ftface); + run->next = newrun; + run = newrun; + } + else + run->len++; + } + } + + last = run; + last->next = NULL; + } + +#ifdef RAQM_TESTING + run_count = 0; + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + run_count++; + RAQM_TEST ("Number of runs after script itemization: %zu\n\n", run_count); + + run_count = 0; + RAQM_TEST ("Final Runs:\n"); + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + { + SCRIPT_TO_STRING (run->script); + RAQM_TEST ("run[%zu]:\t start: %d\tlength: %d\tdirection: %s\tscript: %s\tfont: %s\n", + run_count++, run->pos, run->len, + hb_direction_to_string (run->direction), buff, + rq->text_info[run->pos].ftface->family_name); + } + RAQM_TEST ("\n"); +#endif + +done: + free (runs); + free (types); +#ifdef USE_FRIBIDI_EX_API + free (btypes); +#endif + free (levels); + + return ok; +} + +/* Stack to handle script detection */ +typedef struct { + size_t capacity; + size_t size; + int *pair_index; + hb_script_t *script; +} _raqm_stack_t; + +/* Special paired characters for script detection */ +static size_t paired_len = 34; +static const FriBidiChar paired_chars[] = +{ + 0x0028, 0x0029, /* ascii paired punctuation */ + 0x003c, 0x003e, + 0x005b, 0x005d, + 0x007b, 0x007d, + 0x00ab, 0x00bb, /* guillemets */ + 0x2018, 0x2019, /* general punctuation */ + 0x201c, 0x201d, + 0x2039, 0x203a, + 0x3008, 0x3009, /* chinese paired punctuation */ + 0x300a, 0x300b, + 0x300c, 0x300d, + 0x300e, 0x300f, + 0x3010, 0x3011, + 0x3014, 0x3015, + 0x3016, 0x3017, + 0x3018, 0x3019, + 0x301a, 0x301b +}; + +static void +_raqm_stack_free (_raqm_stack_t *stack) +{ + free (stack->script); + free (stack->pair_index); + free (stack); +} + +/* Stack handling functions */ +static _raqm_stack_t * +_raqm_stack_new (size_t max) +{ + _raqm_stack_t *stack; + stack = calloc (1, sizeof (_raqm_stack_t)); + if (!stack) + return NULL; + + stack->script = malloc (sizeof (hb_script_t) * max); + if (!stack->script) + { + _raqm_stack_free (stack); + return NULL; + } + + stack->pair_index = malloc (sizeof (int) * max); + if (!stack->pair_index) + { + _raqm_stack_free (stack); + return NULL; + } + + stack->size = 0; + stack->capacity = max; + + return stack; +} + +static bool +_raqm_stack_pop (_raqm_stack_t *stack) +{ + if (!stack->size) + { + RAQM_DBG ("Stack is Empty\n"); + return false; + } + + stack->size--; + + return true; +} + +static hb_script_t +_raqm_stack_top (_raqm_stack_t *stack) +{ + if (!stack->size) + { + RAQM_DBG ("Stack is Empty\n"); + return HB_SCRIPT_INVALID; /* XXX: check this */ + } + + return stack->script[stack->size]; +} + +static bool +_raqm_stack_push (_raqm_stack_t *stack, + hb_script_t script, + int pair_index) +{ + if (stack->size == stack->capacity) + { + RAQM_DBG ("Stack is Full\n"); + return false; + } + + stack->size++; + stack->script[stack->size] = script; + stack->pair_index[stack->size] = pair_index; + + return true; +} + +static int +_get_pair_index (const FriBidiChar ch) +{ + int lower = 0; + int upper = paired_len - 1; + + while (lower <= upper) + { + int mid = (lower + upper) / 2; + if (ch < paired_chars[mid]) + upper = mid - 1; + else if (ch > paired_chars[mid]) + lower = mid + 1; + else + return mid; + } + + return -1; +} + +#define STACK_IS_EMPTY(script) ((script)->size <= 0) +#define IS_OPEN(pair_index) (((pair_index) & 1) == 0) + +/* Resolve the script for each character in the input string, if the character + * script is common or inherited it takes the script of the character before it + * except paired characters which we try to make them use the same script. We + * then split the BiDi runs, if necessary, on script boundaries. + */ +static bool +_raqm_resolve_scripts (raqm_t *rq) +{ + int last_script_index = -1; + int last_set_index = -1; + hb_script_t last_script = HB_SCRIPT_INVALID; + _raqm_stack_t *stack = NULL; + hb_unicode_funcs_t* unicode_funcs = hb_unicode_funcs_get_default (); + + for (size_t i = 0; i < rq->text_len; ++i) + rq->text_info[i].script = hb_unicode_script (unicode_funcs, rq->text[i]); + +#ifdef RAQM_TESTING + RAQM_TEST ("Before script detection:\n"); + for (size_t i = 0; i < rq->text_len; ++i) + { + SCRIPT_TO_STRING (rq->text_info[i].script); + RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); + } + RAQM_TEST ("\n"); +#endif + + stack = _raqm_stack_new (rq->text_len); + if (!stack) + return false; + + for (int i = 0; i < (int) rq->text_len; i++) + { + if (rq->text_info[i].script == HB_SCRIPT_COMMON && last_script_index != -1) + { + int pair_index = _get_pair_index (rq->text[i]); + if (pair_index >= 0) + { + if (IS_OPEN (pair_index)) + { + /* is a paired character */ + rq->text_info[i].script = last_script; + last_set_index = i; + _raqm_stack_push (stack, rq->text_info[i].script, pair_index); + } + else + { + /* is a close paired character */ + /* find matching opening (by getting the last even index for current + * odd index) */ + while (!STACK_IS_EMPTY (stack) && + stack->pair_index[stack->size] != (pair_index & ~1)) + { + _raqm_stack_pop (stack); + } + if (!STACK_IS_EMPTY (stack)) + { + rq->text_info[i].script = _raqm_stack_top (stack); + last_script = rq->text_info[i].script; + last_set_index = i; + } + else + { + rq->text_info[i].script = last_script; + last_set_index = i; + } + } + } + else + { + rq->text_info[i].script = last_script; + last_set_index = i; + } + } + else if (rq->text_info[i].script == HB_SCRIPT_INHERITED && + last_script_index != -1) + { + rq->text_info[i].script = last_script; + last_set_index = i; + } + else + { + for (int j = last_set_index + 1; j < i; ++j) + rq->text_info[j].script = rq->text_info[i].script; + last_script = rq->text_info[i].script; + last_script_index = i; + last_set_index = i; + } + } + + /* Loop backwards and change any remaining Common or Inherit characters to + * take the script if the next character. + * https://github.com/HOST-Oman/libraqm/issues/95 + */ + for (int i = rq->text_len - 2; i >= 0; --i) + { + if (rq->text_info[i].script == HB_SCRIPT_INHERITED || + rq->text_info[i].script == HB_SCRIPT_COMMON) + rq->text_info[i].script = rq->text_info[i + 1].script; + } + +#ifdef RAQM_TESTING + RAQM_TEST ("After script detection:\n"); + for (size_t i = 0; i < rq->text_len; ++i) + { + SCRIPT_TO_STRING (rq->text_info[i].script); + RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); + } + RAQM_TEST ("\n"); +#endif + + _raqm_stack_free (stack); + + return true; +} + +static bool +_raqm_shape (raqm_t *rq) +{ + hb_buffer_flags_t hb_buffer_flags = HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT; + +#if defined(HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES) && \ + HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES + if (rq->invisible_glyph < 0) + hb_buffer_flags |= HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES; +#endif + + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + { + run->buffer = hb_buffer_create (); + + hb_buffer_add_utf32 (run->buffer, rq->text, rq->text_len, + run->pos, run->len); + hb_buffer_set_script (run->buffer, run->script); + hb_buffer_set_language (run->buffer, rq->text_info[run->pos].lang); + hb_buffer_set_direction (run->buffer, run->direction); + hb_buffer_set_flags (run->buffer, hb_buffer_flags); + +#ifdef HAVE_HB_BUFFER_SET_INVISIBLE_GLYPH + if (rq->invisible_glyph > 0) + hb_buffer_set_invisible_glyph (run->buffer, rq->invisible_glyph); +#endif + + hb_shape_full (run->font, run->buffer, rq->features, rq->features_len, + NULL); + } + + return true; +} + +/* Convert index from UTF-32 to UTF-8 */ +static uint32_t +_raqm_u32_to_u8_index (raqm_t *rq, + uint32_t index) +{ + FriBidiStrIndex length; + char *output = malloc ((sizeof (char) * 4 * index) + 1); + + length = fribidi_unicode_to_charset (FRIBIDI_CHAR_SET_UTF8, + rq->text, + index, + output); + + free (output); + return length; +} + +/* Convert index from UTF-8 to UTF-32 */ +static uint32_t +_raqm_u8_to_u32_index (raqm_t *rq, + uint32_t index) +{ + FriBidiStrIndex length; + uint32_t *output = malloc (sizeof (uint32_t) * (index + 1)); + + length = fribidi_charset_to_unicode (FRIBIDI_CHAR_SET_UTF8, + rq->text_utf8, + index, + output); + + free (output); + return length; +} + +static bool +_raqm_allowed_grapheme_boundary (hb_codepoint_t l_char, + hb_codepoint_t r_char); + +static bool +_raqm_in_hangul_syllable (hb_codepoint_t ch); + +/** + * raqm_index_to_position: + * @rq: a #raqm_t. + * @index: (inout): character index. + * @x: (out): output x position. + * @y: (out): output y position. + * + * Calculates the cursor position after the character at @index. If the character + * is right-to-left, then the cursor will be at the left of it, whereas if the + * character is left-to-right, then the cursor will be at the right of it. + * + * Return value: + * %true if the process was successful, %false otherwise. + * + * Since: 0.2 + */ +bool +raqm_index_to_position (raqm_t *rq, + size_t *index, + int *x, + int *y) +{ + /* We don't currently support multiline, so y is always 0 */ + *y = 0; + *x = 0; + + if (rq == NULL) + return false; + + if (rq->flags & RAQM_FLAG_UTF8) + *index = _raqm_u8_to_u32_index (rq, *index); + + if (*index >= rq->text_len) + return false; + + RAQM_TEST ("\n"); + + while (*index < rq->text_len) + { + if (_raqm_allowed_grapheme_boundary (rq->text[*index], rq->text[*index + 1])) + break; + + ++*index; + } + + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + { + size_t len; + hb_glyph_info_t *info; + hb_glyph_position_t *position; + len = hb_buffer_get_length (run->buffer); + info = hb_buffer_get_glyph_infos (run->buffer, NULL); + position = hb_buffer_get_glyph_positions (run->buffer, NULL); + + for (size_t i = 0; i < len; i++) + { + uint32_t curr_cluster = info[i].cluster; + uint32_t next_cluster = curr_cluster; + *x += position[i].x_advance; + + if (run->direction == HB_DIRECTION_LTR) + { + for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) + next_cluster = info[j].cluster; + } + else + { + for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; + j--) + next_cluster = info[j].cluster; + } + + if (next_cluster == curr_cluster) + next_cluster = run->pos + run->len; + + if (*index < next_cluster && *index >= curr_cluster) + { + if (run->direction == HB_DIRECTION_RTL) + *x -= position[i].x_advance; + *index = curr_cluster; + goto found; + } + } + } + +found: + if (rq->flags & RAQM_FLAG_UTF8) + *index = _raqm_u32_to_u8_index (rq, *index); + RAQM_TEST ("The position is %d at index %zu\n",*x ,*index); + return true; +} + +/** + * raqm_position_to_index: + * @rq: a #raqm_t. + * @x: x position. + * @y: y position. + * @index: (out): output character index. + * + * Returns the @index of the character at @x and @y position within text. + * If the position is outside the text, the last character is chosen as + * @index. + * + * Return value: + * %true if the process was successful, %false in case of error. + * + * Since: 0.2 + */ +bool +raqm_position_to_index (raqm_t *rq, + int x, + int y, + size_t *index) +{ + int delta_x = 0, current_x = 0; + (void)y; + + if (rq == NULL) + return false; + + if (x < 0) /* Get leftmost index */ + { + if (rq->resolved_dir == RAQM_DIRECTION_RTL) + *index = rq->text_len; + else + *index = 0; + return true; + } + + RAQM_TEST ("\n"); + + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + { + size_t len; + hb_glyph_info_t *info; + hb_glyph_position_t *position; + len = hb_buffer_get_length (run->buffer); + info = hb_buffer_get_glyph_infos (run->buffer, NULL); + position = hb_buffer_get_glyph_positions (run->buffer, NULL); + + for (size_t i = 0; i < len; i++) + { + delta_x = position[i].x_advance; + if (x < (current_x + delta_x)) + { + bool before = false; + if (run->direction == HB_DIRECTION_LTR) + before = (x < current_x + (delta_x / 2)); + else + before = (x > current_x + (delta_x / 2)); + + if (before) + *index = info[i].cluster; + else + { + uint32_t curr_cluster = info[i].cluster; + uint32_t next_cluster = curr_cluster; + if (run->direction == HB_DIRECTION_LTR) + for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) + next_cluster = info[j].cluster; + else + for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; + j--) + next_cluster = info[j].cluster; + + if (next_cluster == curr_cluster) + next_cluster = run->pos + run->len; + + *index = next_cluster; + } + if (_raqm_allowed_grapheme_boundary (rq->text[*index],rq->text[*index + 1])) + { + RAQM_TEST ("The start-index is %zu at position %d \n", *index, x); + return true; + } + + while (*index < (unsigned)run->pos + run->len) + { + if (_raqm_allowed_grapheme_boundary (rq->text[*index], + rq->text[*index + 1])) + { + *index += 1; + break; + } + *index += 1; + } + RAQM_TEST ("The start-index is %zu at position %d \n", *index, x); + return true; + } + else + current_x += delta_x; + } + } + + /* Get rightmost index*/ + if (rq->resolved_dir == RAQM_DIRECTION_RTL) + *index = 0; + else + *index = rq->text_len; + + RAQM_TEST ("The start-index is %zu at position %d \n", *index, x); + + return true; +} + +typedef enum +{ + RAQM_GRAPHEM_CR, + RAQM_GRAPHEM_LF, + RAQM_GRAPHEM_CONTROL, + RAQM_GRAPHEM_EXTEND, + RAQM_GRAPHEM_REGIONAL_INDICATOR, + RAQM_GRAPHEM_PREPEND, + RAQM_GRAPHEM_SPACING_MARK, + RAQM_GRAPHEM_HANGUL_SYLLABLE, + RAQM_GRAPHEM_OTHER +} _raqm_grapheme_t; + +static _raqm_grapheme_t +_raqm_get_grapheme_break (hb_codepoint_t ch, + hb_unicode_general_category_t category); + +static bool +_raqm_allowed_grapheme_boundary (hb_codepoint_t l_char, + hb_codepoint_t r_char) +{ + hb_unicode_general_category_t l_category; + hb_unicode_general_category_t r_category; + _raqm_grapheme_t l_grapheme, r_grapheme; + hb_unicode_funcs_t* unicode_funcs = hb_unicode_funcs_get_default (); + + l_category = hb_unicode_general_category (unicode_funcs, l_char); + r_category = hb_unicode_general_category (unicode_funcs, r_char); + l_grapheme = _raqm_get_grapheme_break (l_char, l_category); + r_grapheme = _raqm_get_grapheme_break (r_char, r_category); + + if (l_grapheme == RAQM_GRAPHEM_CR && r_grapheme == RAQM_GRAPHEM_LF) + return false; /*Do not break between a CR and LF GB3*/ + if (l_grapheme == RAQM_GRAPHEM_CONTROL || l_grapheme == RAQM_GRAPHEM_CR || + l_grapheme == RAQM_GRAPHEM_LF || r_grapheme == RAQM_GRAPHEM_CONTROL || + r_grapheme == RAQM_GRAPHEM_CR || r_grapheme == RAQM_GRAPHEM_LF) + return true; /*Break before and after CONTROL GB4, GB5*/ + if (r_grapheme == RAQM_GRAPHEM_HANGUL_SYLLABLE) + return false; /*Do not break Hangul syllable sequences. GB6, GB7, GB8*/ + if (l_grapheme == RAQM_GRAPHEM_REGIONAL_INDICATOR && + r_grapheme == RAQM_GRAPHEM_REGIONAL_INDICATOR) + return false; /*Do not break between regional indicator symbols. GB8a*/ + if (r_grapheme == RAQM_GRAPHEM_EXTEND) + return false; /*Do not break before extending characters. GB9*/ + /*Do not break before SpacingMarks, or after Prepend characters.GB9a, GB9b*/ + if (l_grapheme == RAQM_GRAPHEM_PREPEND) + return false; + if (r_grapheme == RAQM_GRAPHEM_SPACING_MARK) + return false; + return true; /*Otherwise, break everywhere. GB1, GB2, GB10*/ +} + +static _raqm_grapheme_t +_raqm_get_grapheme_break (hb_codepoint_t ch, + hb_unicode_general_category_t category) +{ + _raqm_grapheme_t gb_type; + + gb_type = RAQM_GRAPHEM_OTHER; + switch ((int)category) + { + case HB_UNICODE_GENERAL_CATEGORY_FORMAT: + if (ch == 0x200C || ch == 0x200D) + gb_type = RAQM_GRAPHEM_EXTEND; + else + gb_type = RAQM_GRAPHEM_CONTROL; + break; + + case HB_UNICODE_GENERAL_CATEGORY_CONTROL: + if (ch == 0x000D) + gb_type = RAQM_GRAPHEM_CR; + else if (ch == 0x000A) + gb_type = RAQM_GRAPHEM_LF; + else + gb_type = RAQM_GRAPHEM_CONTROL; + break; + + case HB_UNICODE_GENERAL_CATEGORY_SURROGATE: + case HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR: + case HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR: + case HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED: + if ((ch >= 0xFFF0 && ch <= 0xFFF8) || + (ch >= 0xE0000 && ch <= 0xE0FFF)) + gb_type = RAQM_GRAPHEM_CONTROL; + break; + + case HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK: + case HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK: + case HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK: + if (ch != 0x102B && ch != 0x102C && ch != 0x1038 && + (ch < 0x1062 || ch > 0x1064) && (ch < 0x1067 || ch > 0x106D) && + ch != 0x1083 && (ch < 0x1087 || ch > 0x108C) && ch != 0x108F && + (ch < 0x109A || ch > 0x109C) && ch != 0x1A61 && ch != 0x1A63 && + ch != 0x1A64 && ch != 0xAA7B && ch != 0xAA70 && ch != 0x11720 && + ch != 0x11721) /**/ + gb_type = RAQM_GRAPHEM_SPACING_MARK; + + else if (ch == 0x09BE || ch == 0x09D7 || + ch == 0x0B3E || ch == 0x0B57 || ch == 0x0BBE || ch == 0x0BD7 || + ch == 0x0CC2 || ch == 0x0CD5 || ch == 0x0CD6 || + ch == 0x0D3E || ch == 0x0D57 || ch == 0x0DCF || ch == 0x0DDF || + ch == 0x1D165 || (ch >= 0x1D16E && ch <= 0x1D172)) + gb_type = RAQM_GRAPHEM_EXTEND; + break; + + case HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER: + if (ch == 0x0E33 || ch == 0x0EB3) + gb_type = RAQM_GRAPHEM_SPACING_MARK; + break; + + case HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL: + if (ch >= 0x1F1E6 && ch <= 0x1F1FF) + gb_type = RAQM_GRAPHEM_REGIONAL_INDICATOR; + break; + + default: + gb_type = RAQM_GRAPHEM_OTHER; + break; + } + + if (_raqm_in_hangul_syllable (ch)) + gb_type = RAQM_GRAPHEM_HANGUL_SYLLABLE; + + return gb_type; +} + +static bool +_raqm_in_hangul_syllable (hb_codepoint_t ch) +{ + (void)ch; + return false; +} + +/** + * raqm_version: + * @major: (out): Library major version component. + * @minor: (out): Library minor version component. + * @micro: (out): Library micro version component. + * + * Returns library version as three integer components. + * + * Since: 0.7 + **/ +void +raqm_version (unsigned int *major, + unsigned int *minor, + unsigned int *micro) +{ + *major = RAQM_VERSION_MAJOR; + *minor = RAQM_VERSION_MINOR; + *micro = RAQM_VERSION_MICRO; +} + +/** + * raqm_version_string: + * + * Returns library version as a string with three components. + * + * Return value: library version string. + * + * Since: 0.7 + **/ +const char * +raqm_version_string (void) +{ + return RAQM_VERSION_STRING; +} + +/** + * raqm_version_atleast: + * @major: Library major version component. + * @minor: Library minor version component. + * @micro: Library micro version component. + * + * Checks if library version is less than or equal the specified version. + * + * Return value: + * %true if library version is less than or equal the specfied version, %false + * otherwise. + * + * Since: 0.7 + **/ +bool +raqm_version_atleast (unsigned int major, + unsigned int minor, + unsigned int micro) +{ + return RAQM_VERSION_ATLEAST (major, minor, micro); +} + +/** + * RAQM_VERSION_ATLEAST: + * @major: Library major version component. + * @minor: Library minor version component. + * @micro: Library micro version component. + * + * Checks if library version is less than or equal the specified version. + * + * Return value: + * %true if library version is less than or equal the specfied version, %false + * otherwise. + * + * Since: 0.7 + **/ + +/** + * RAQM_VERSION_STRING: + * + * Library version as a string with three components. + * + * Since: 0.7 + **/ + +/** + * RAQM_VERSION_MAJOR: + * + * Library major version component. + * + * Since: 0.7 + **/ + +/** + * RAQM_VERSION_MINOR: + * + * Library minor version component. + * + * Since: 0.7 + **/ + +/** + * RAQM_VERSION_MICRO: + * + * Library micro version component. + * + * Since: 0.7 + **/ diff --git a/src/thirdparty/raqm/raqm.h b/src/thirdparty/raqm/raqm.h new file mode 100644 index 000000000..1a33fe8ba --- /dev/null +++ b/src/thirdparty/raqm/raqm.h @@ -0,0 +1,185 @@ +/* + * Copyright © 2015 Information Technology Authority (ITA) + * Copyright © 2016 Khaled Hosny + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +#ifndef _RAQM_H_ +#define _RAQM_H_ +#define _RAQM_H_IN_ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include FT_FREETYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "raqm-version.h" + +/** + * raqm_t: + * + * This is the main object holding all state of the currently processed text as + * well as its output. + * + * Since: 0.1 + */ +typedef struct _raqm raqm_t; + +/** + * raqm_direction_t: + * @RAQM_DIRECTION_DEFAULT: Detect paragraph direction automatically. + * @RAQM_DIRECTION_RTL: Paragraph is mainly right-to-left text. + * @RAQM_DIRECTION_LTR: Paragraph is mainly left-to-right text. + * @RAQM_DIRECTION_TTB: Paragraph is mainly vertical top-to-bottom text. + * + * Base paragraph direction, see raqm_set_par_direction(). + * + * Since: 0.1 + */ +typedef enum +{ + RAQM_DIRECTION_DEFAULT, + RAQM_DIRECTION_RTL, + RAQM_DIRECTION_LTR, + RAQM_DIRECTION_TTB +} raqm_direction_t; + +/** + * raqm_glyph_t: + * @index: the index of the glyph in the font file. + * @x_advance: the glyph advance width in horizontal text. + * @y_advance: the glyph advance width in vertical text. + * @x_offset: the horizontal movement of the glyph from the current point. + * @y_offset: the vertical movement of the glyph from the current point. + * @cluster: the index of original character in input text. + * @ftface: the @FT_Face of the glyph. + * + * The structure that holds information about output glyphs, returned from + * raqm_get_glyphs(). + */ +typedef struct raqm_glyph_t { + unsigned int index; + int x_advance; + int y_advance; + int x_offset; + int y_offset; + uint32_t cluster; + FT_Face ftface; +} raqm_glyph_t; + +raqm_t * +raqm_create (void); + +raqm_t * +raqm_reference (raqm_t *rq); + +void +raqm_destroy (raqm_t *rq); + +bool +raqm_set_text (raqm_t *rq, + const uint32_t *text, + size_t len); + +bool +raqm_set_text_utf8 (raqm_t *rq, + const char *text, + size_t len); + +bool +raqm_set_par_direction (raqm_t *rq, + raqm_direction_t dir); + +bool +raqm_set_language (raqm_t *rq, + const char *lang, + size_t start, + size_t len); + +bool +raqm_add_font_feature (raqm_t *rq, + const char *feature, + int len); + +bool +raqm_set_freetype_face (raqm_t *rq, + FT_Face face); + +bool +raqm_set_freetype_face_range (raqm_t *rq, + FT_Face face, + size_t start, + size_t len); + +bool +raqm_set_freetype_load_flags (raqm_t *rq, + int flags); + +bool +raqm_set_invisible_glyph (raqm_t *rq, + int gid); + +bool +raqm_layout (raqm_t *rq); + +raqm_glyph_t * +raqm_get_glyphs (raqm_t *rq, + size_t *length); + +bool +raqm_index_to_position (raqm_t *rq, + size_t *index, + int *x, + int *y); + +bool +raqm_position_to_index (raqm_t *rq, + int x, + int y, + size_t *index); + +void +raqm_version (unsigned int *major, + unsigned int *minor, + unsigned int *micro); + +const char * +raqm_version_string (void); + +bool +raqm_version_atleast (unsigned int major, + unsigned int minor, + unsigned int micro); + + +#ifdef __cplusplus +} +#endif +#undef _RAQM_H_IN_ +#endif /* _RAQM_H_ */ From 8bc1ff35b4d87003e54d7f8cdcbc687ad3a62762 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 11:21:42 +0000 Subject: [PATCH 030/325] use FriBiDi shim in Raqm --- setup.py | 16 +- src/_imagingft.c | 225 ++++++-------------------- src/libImaging/raqm.h | 156 ------------------ src/thirdparty/fribidi-shim/fribidi.c | 68 ++++++++ src/thirdparty/fribidi-shim/fribidi.h | 104 ++++++++++++ src/thirdparty/raqm/raqm.c | 7 +- winbuild/build_prepare.py | 20 +-- winbuild/fribidi.cmake | 4 +- 8 files changed, 243 insertions(+), 357 deletions(-) delete mode 100644 src/libImaging/raqm.h create mode 100644 src/thirdparty/fribidi-shim/fribidi.c create mode 100644 src/thirdparty/fribidi-shim/fribidi.h diff --git a/setup.py b/setup.py index cbc2641c5..3e0ec5576 100755 --- a/setup.py +++ b/setup.py @@ -267,6 +267,7 @@ class pil_build_ext(build_ext): "jpeg", "tiff", "freetype", + "harfbuzz", "lcms", "webp", "webpmux", @@ -656,6 +657,12 @@ class pil_build_ext(build_ext): if subdir: _add_directory(self.compiler.include_dirs, subdir, 0) + if feature.want("harfbuzz"): + _dbg("Looking for harfbuzz") + if _find_include_file(self, "hb-version.h"): + if _find_library_file(self, "harfbuzz"): + feature.harfbuzz = "harfbuzz" + if feature.want("lcms"): _dbg("Looking for lcms") if _find_include_file(self, "lcms2.h"): @@ -850,7 +857,14 @@ for src_file in _LIB_IMAGING: files.append(os.path.join("src/libImaging", src_file + ".c")) ext_modules = [ Extension("PIL._imaging", files), - Extension("PIL._imagingft", ["src/_imagingft.c"]), + Extension( + "PIL._imagingft", + [ + "src/_imagingft.c", + "src/thirdparty/raqm/raqm.c", + "src/thirdparty/fribidi-shim/fribidi.c", + ], + ), Extension("PIL._imagingcms", ["src/_imagingcms.c"]), Extension("PIL._webp", ["src/_webp.c"]), Extension("PIL._imagingtk", ["src/_imagingtk.c", "src/Tk/tkImaging.c"]), diff --git a/src/_imagingft.c b/src/_imagingft.c index d73c6c2d5..4a4084e9f 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -35,10 +35,6 @@ #define KEEP_PY_UNICODE -#ifndef _WIN32 -#include -#endif - #if !defined(FT_LOAD_TARGET_MONO) #define FT_LOAD_TARGET_MONO FT_LOAD_MONOCHROME #endif @@ -56,7 +52,8 @@ } \ ; -#include "libImaging/raqm.h" +#include "thirdparty/raqm/raqm.h" +#include "thirdparty/fribidi-shim/fribidi.h" #define LAYOUT_FALLBACK 0 #define LAYOUT_RAQM 1 @@ -86,42 +83,6 @@ typedef struct { static PyTypeObject Font_Type; -typedef const char *(*t_raqm_version_string)(void); -typedef bool (*t_raqm_version_atleast)( - unsigned int major, unsigned int minor, unsigned int micro); -typedef raqm_t *(*t_raqm_create)(void); -typedef int (*t_raqm_set_text)(raqm_t *rq, const uint32_t *text, size_t len); -typedef bool (*t_raqm_set_text_utf8)(raqm_t *rq, const char *text, size_t len); -typedef bool (*t_raqm_set_par_direction)(raqm_t *rq, raqm_direction_t dir); -typedef bool (*t_raqm_set_language)( - raqm_t *rq, const char *lang, size_t start, size_t len); -typedef bool (*t_raqm_add_font_feature)(raqm_t *rq, const char *feature, int len); -typedef bool (*t_raqm_set_freetype_face)(raqm_t *rq, FT_Face face); -typedef bool (*t_raqm_layout)(raqm_t *rq); -typedef raqm_glyph_t *(*t_raqm_get_glyphs)(raqm_t *rq, size_t *length); -typedef raqm_glyph_t_01 *(*t_raqm_get_glyphs_01)(raqm_t *rq, size_t *length); -typedef void (*t_raqm_destroy)(raqm_t *rq); - -typedef struct { - void *raqm; - int version; - t_raqm_version_string version_string; - t_raqm_version_atleast version_atleast; - t_raqm_create create; - t_raqm_set_text set_text; - t_raqm_set_text_utf8 set_text_utf8; - t_raqm_set_par_direction set_par_direction; - t_raqm_set_language set_language; - t_raqm_add_font_feature add_font_feature; - t_raqm_set_freetype_face set_freetype_face; - t_raqm_layout layout; - t_raqm_get_glyphs get_glyphs; - t_raqm_get_glyphs_01 get_glyphs_01; - t_raqm_destroy destroy; -} p_raqm_func; - -static p_raqm_func p_raqm; - /* round a 26.6 pixel coordinate to the nearest integer */ #define PIXEL(x) ((((x) + 32) & -64) >> 6) @@ -142,101 +103,7 @@ geterror(int code) { static int setraqm(void) { - /* set the static function pointers for dynamic raqm linking */ - p_raqm.raqm = NULL; - - /* Microsoft needs a totally different system */ -#ifndef _WIN32 - p_raqm.raqm = dlopen("libraqm.so.0", RTLD_LAZY); - if (!p_raqm.raqm) { - p_raqm.raqm = dlopen("libraqm.dylib", RTLD_LAZY); - } -#else - p_raqm.raqm = LoadLibrary("libraqm"); - /* MSYS */ - if (!p_raqm.raqm) { - p_raqm.raqm = LoadLibrary("libraqm-0"); - } -#endif - - if (!p_raqm.raqm) { - return 1; - } - -#ifndef _WIN32 - p_raqm.version_string = - (t_raqm_version_string)dlsym(p_raqm.raqm, "raqm_version_string"); - p_raqm.version_atleast = - (t_raqm_version_atleast)dlsym(p_raqm.raqm, "raqm_version_atleast"); - p_raqm.create = (t_raqm_create)dlsym(p_raqm.raqm, "raqm_create"); - p_raqm.set_text = (t_raqm_set_text)dlsym(p_raqm.raqm, "raqm_set_text"); - p_raqm.set_text_utf8 = - (t_raqm_set_text_utf8)dlsym(p_raqm.raqm, "raqm_set_text_utf8"); - p_raqm.set_par_direction = - (t_raqm_set_par_direction)dlsym(p_raqm.raqm, "raqm_set_par_direction"); - p_raqm.set_language = (t_raqm_set_language)dlsym(p_raqm.raqm, "raqm_set_language"); - p_raqm.add_font_feature = - (t_raqm_add_font_feature)dlsym(p_raqm.raqm, "raqm_add_font_feature"); - p_raqm.set_freetype_face = - (t_raqm_set_freetype_face)dlsym(p_raqm.raqm, "raqm_set_freetype_face"); - p_raqm.layout = (t_raqm_layout)dlsym(p_raqm.raqm, "raqm_layout"); - p_raqm.destroy = (t_raqm_destroy)dlsym(p_raqm.raqm, "raqm_destroy"); - if (dlsym(p_raqm.raqm, "raqm_index_to_position")) { - p_raqm.get_glyphs = (t_raqm_get_glyphs)dlsym(p_raqm.raqm, "raqm_get_glyphs"); - p_raqm.version = 2; - } else { - p_raqm.version = 1; - p_raqm.get_glyphs_01 = - (t_raqm_get_glyphs_01)dlsym(p_raqm.raqm, "raqm_get_glyphs"); - } - if (dlerror() || - !(p_raqm.create && p_raqm.set_text && p_raqm.set_text_utf8 && - p_raqm.set_par_direction && p_raqm.set_language && p_raqm.add_font_feature && - p_raqm.set_freetype_face && p_raqm.layout && - (p_raqm.get_glyphs || p_raqm.get_glyphs_01) && p_raqm.destroy)) { - dlclose(p_raqm.raqm); - p_raqm.raqm = NULL; - return 2; - } -#else - p_raqm.version_string = - (t_raqm_version_string)GetProcAddress(p_raqm.raqm, "raqm_version_string"); - p_raqm.version_atleast = - (t_raqm_version_atleast)GetProcAddress(p_raqm.raqm, "raqm_version_atleast"); - p_raqm.create = (t_raqm_create)GetProcAddress(p_raqm.raqm, "raqm_create"); - p_raqm.set_text = (t_raqm_set_text)GetProcAddress(p_raqm.raqm, "raqm_set_text"); - p_raqm.set_text_utf8 = - (t_raqm_set_text_utf8)GetProcAddress(p_raqm.raqm, "raqm_set_text_utf8"); - p_raqm.set_par_direction = - (t_raqm_set_par_direction)GetProcAddress(p_raqm.raqm, "raqm_set_par_direction"); - p_raqm.set_language = - (t_raqm_set_language)GetProcAddress(p_raqm.raqm, "raqm_set_language"); - p_raqm.add_font_feature = - (t_raqm_add_font_feature)GetProcAddress(p_raqm.raqm, "raqm_add_font_feature"); - p_raqm.set_freetype_face = - (t_raqm_set_freetype_face)GetProcAddress(p_raqm.raqm, "raqm_set_freetype_face"); - p_raqm.layout = (t_raqm_layout)GetProcAddress(p_raqm.raqm, "raqm_layout"); - p_raqm.destroy = (t_raqm_destroy)GetProcAddress(p_raqm.raqm, "raqm_destroy"); - if (GetProcAddress(p_raqm.raqm, "raqm_index_to_position")) { - p_raqm.get_glyphs = - (t_raqm_get_glyphs)GetProcAddress(p_raqm.raqm, "raqm_get_glyphs"); - p_raqm.version = 2; - } else { - p_raqm.version = 1; - p_raqm.get_glyphs_01 = - (t_raqm_get_glyphs_01)GetProcAddress(p_raqm.raqm, "raqm_get_glyphs"); - } - if (!(p_raqm.create && p_raqm.set_text && p_raqm.set_text_utf8 && - p_raqm.set_par_direction && p_raqm.set_language && p_raqm.add_font_feature && - p_raqm.set_freetype_face && p_raqm.layout && - (p_raqm.get_glyphs || p_raqm.get_glyphs_01) && p_raqm.destroy)) { - FreeLibrary(p_raqm.raqm); - p_raqm.raqm = NULL; - return 2; - } -#endif - - return 0; + return load_fribidi(); } static PyObject * @@ -359,10 +226,10 @@ text_layout_raqm( size_t i = 0, count = 0, start = 0; raqm_t *rq; raqm_glyph_t *glyphs = NULL; - raqm_glyph_t_01 *glyphs_01 = NULL; +// raqm_glyph_t_01 *glyphs_01 = NULL; raqm_direction_t direction; - rq = (*p_raqm.create)(); + rq = raqm_create(); if (rq == NULL) { PyErr_SetString(PyExc_ValueError, "raqm_create() failed."); goto failed; @@ -376,14 +243,14 @@ text_layout_raqm( and raqm fails with empty strings */ goto failed; } - int set_text = (*p_raqm.set_text)(rq, text, size); + int set_text = raqm_set_text(rq, text, size); PyMem_Free(text); if (!set_text) { PyErr_SetString(PyExc_ValueError, "raqm_set_text() failed"); goto failed; } if (lang) { - if (!(*p_raqm.set_language)(rq, lang, start, size)) { + if (!raqm_set_language(rq, lang, start, size)) { PyErr_SetString(PyExc_ValueError, "raqm_set_language() failed"); goto failed; } @@ -401,12 +268,12 @@ text_layout_raqm( direction = RAQM_DIRECTION_LTR; } else if (strcmp(dir, "ttb") == 0) { direction = RAQM_DIRECTION_TTB; - if (p_raqm.version_atleast == NULL || !(*p_raqm.version_atleast)(0, 7, 0)) { - PyErr_SetString( - PyExc_ValueError, - "libraqm 0.7 or greater required for 'ttb' direction"); - goto failed; - } +// if (p_raqm.version_atleast == NULL || !(*p_raqm.version_atleast)(0, 7, 0)) { +// PyErr_SetString( +// PyExc_ValueError, +// "libraqm 0.7 or greater required for 'ttb' direction"); +// goto failed; +// } } else { PyErr_SetString( PyExc_ValueError, "direction must be either 'rtl', 'ltr' or 'ttb'"); @@ -414,7 +281,7 @@ text_layout_raqm( } } - if (!(*p_raqm.set_par_direction)(rq, direction)) { + if (!raqm_set_par_direction(rq, direction)) { PyErr_SetString(PyExc_ValueError, "raqm_set_par_direction() failed"); goto failed; } @@ -446,38 +313,38 @@ text_layout_raqm( feature = PyBytes_AS_STRING(bytes); size = PyBytes_GET_SIZE(bytes); } - if (!(*p_raqm.add_font_feature)(rq, feature, size)) { + if (!raqm_add_font_feature(rq, feature, size)) { PyErr_SetString(PyExc_ValueError, "raqm_add_font_feature() failed"); goto failed; } } } - if (!(*p_raqm.set_freetype_face)(rq, self->face)) { + if (!raqm_set_freetype_face(rq, self->face)) { PyErr_SetString(PyExc_RuntimeError, "raqm_set_freetype_face() failed."); goto failed; } - if (!(*p_raqm.layout)(rq)) { + if (!raqm_layout(rq)) { PyErr_SetString(PyExc_RuntimeError, "raqm_layout() failed."); goto failed; } - if (p_raqm.version == 1) { - glyphs_01 = (*p_raqm.get_glyphs_01)(rq, &count); - if (glyphs_01 == NULL) { - PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); - count = 0; - goto failed; - } - } else { /* version == 2 */ - glyphs = (*p_raqm.get_glyphs)(rq, &count); +// if (p_raqm.version == 1) { +// glyphs_01 = raqm_get_glyphs_01(rq, &count); +// if (glyphs_01 == NULL) { +// PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); +// count = 0; +// goto failed; +// } +// } else { /* version == 2 */ + glyphs = raqm_get_glyphs(rq, &count); if (glyphs == NULL) { PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); count = 0; goto failed; } - } +// } (*glyph_info) = PyMem_New(GlyphInfo, count); if ((*glyph_info) == NULL) { @@ -486,16 +353,16 @@ text_layout_raqm( goto failed; } - if (p_raqm.version == 1) { - for (i = 0; i < count; i++) { - (*glyph_info)[i].index = glyphs_01[i].index; - (*glyph_info)[i].x_offset = glyphs_01[i].x_offset; - (*glyph_info)[i].x_advance = glyphs_01[i].x_advance; - (*glyph_info)[i].y_offset = glyphs_01[i].y_offset; - (*glyph_info)[i].y_advance = glyphs_01[i].y_advance; - (*glyph_info)[i].cluster = glyphs_01[i].cluster; - } - } else { +// if (p_raqm.version == 1) { +// for (i = 0; i < count; i++) { +// (*glyph_info)[i].index = glyphs_01[i].index; +// (*glyph_info)[i].x_offset = glyphs_01[i].x_offset; +// (*glyph_info)[i].x_advance = glyphs_01[i].x_advance; +// (*glyph_info)[i].y_offset = glyphs_01[i].y_offset; +// (*glyph_info)[i].y_advance = glyphs_01[i].y_advance; +// (*glyph_info)[i].cluster = glyphs_01[i].cluster; +// } +// } else { for (i = 0; i < count; i++) { (*glyph_info)[i].index = glyphs[i].index; (*glyph_info)[i].x_offset = glyphs[i].x_offset; @@ -504,10 +371,10 @@ text_layout_raqm( (*glyph_info)[i].y_advance = glyphs[i].y_advance; (*glyph_info)[i].cluster = glyphs[i].cluster; } - } +// } failed: - (*p_raqm.destroy)(rq); + raqm_destroy(rq); return count; } @@ -607,9 +474,9 @@ text_layout( int color) { size_t count; - if (p_raqm.raqm && self->layout_engine == LAYOUT_RAQM) { + if (p_fribidi && self->layout_engine == LAYOUT_RAQM) { count = text_layout_raqm( - string, self, dir, features, lang, glyph_info, mask, color); + string, self, dir, features, lang, glyph_info, mask, color); } else { count = text_layout_fallback( string, self, dir, features, lang, glyph_info, mask, color); @@ -1491,12 +1358,14 @@ setup_module(PyObject *m) { PyDict_SetItemString(d, "freetype2_version", v); setraqm(); - v = PyBool_FromLong(!!p_raqm.raqm); + v = PyBool_FromLong(!!p_fribidi); PyDict_SetItemString(d, "HAVE_RAQM", v); - if (p_raqm.version_string) { +// if (p_raqm.version_string) { PyDict_SetItemString( - d, "raqm_version", PyUnicode_FromString(p_raqm.version_string())); - } + d, "raqm_version", PyUnicode_FromString(raqm_version_string())); +// }; + + PyDict_SetItemString(d, "HAVE_FRIBIDI", v); return 0; } diff --git a/src/libImaging/raqm.h b/src/libImaging/raqm.h deleted file mode 100644 index 5f865853a..000000000 --- a/src/libImaging/raqm.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright © 2015 Information Technology Authority (ITA) - * Copyright © 2016 Khaled Hosny - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - * - */ - -#ifndef _RAQM_H_ -#define _RAQM_H_ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef bool -typedef int bool; -#endif -#ifndef uint32_t -typedef UINT32 uint32_t; -#endif -#include -#include FT_FREETYPE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * raqm_t: - * - * This is the main object holding all state of the currently processed text as - * well as its output. - * - * Since: 0.1 - */ -typedef struct _raqm raqm_t; - -/** - * raqm_direction_t: - * @RAQM_DIRECTION_DEFAULT: Detect paragraph direction automatically. - * @RAQM_DIRECTION_RTL: Paragraph is mainly right-to-left text. - * @RAQM_DIRECTION_LTR: Paragraph is mainly left-to-right text. - * @RAQM_DIRECTION_TTB: Paragraph is mainly vertical top-to-bottom text. - * - * Base paragraph direction, see raqm_set_par_direction(). - * - * Since: 0.1 - */ -typedef enum { - RAQM_DIRECTION_DEFAULT, - RAQM_DIRECTION_RTL, - RAQM_DIRECTION_LTR, - RAQM_DIRECTION_TTB -} raqm_direction_t; - -/** - * raqm_glyph_t: - * @index: the index of the glyph in the font file. - * @x_advance: the glyph advance width in horizontal text. - * @y_advance: the glyph advance width in vertical text. - * @x_offset: the horizontal movement of the glyph from the current point. - * @y_offset: the vertical movement of the glyph from the current point. - * @cluster: the index of original character in input text. - * @ftface: the @FT_Face of the glyph. - * - * The structure that holds information about output glyphs, returned from - * raqm_get_glyphs(). - */ -typedef struct raqm_glyph_t { - unsigned int index; - int x_advance; - int y_advance; - int x_offset; - int y_offset; - uint32_t cluster; - FT_Face ftface; -} raqm_glyph_t; - -/** - * version 0.1 of the raqm_glyph_t structure - */ -typedef struct raqm_glyph_t_01 { - unsigned int index; - int x_advance; - int y_advance; - int x_offset; - int y_offset; - uint32_t cluster; -} raqm_glyph_t_01; - -raqm_t * -raqm_create(void); - -raqm_t * -raqm_reference(raqm_t *rq); - -void -raqm_destroy(raqm_t *rq); - -bool -raqm_set_text(raqm_t *rq, const uint32_t *text, size_t len); - -bool -raqm_set_text_utf8(raqm_t *rq, const char *text, size_t len); - -bool -raqm_set_par_direction(raqm_t *rq, raqm_direction_t dir); - -bool -raqm_set_language(raqm_t *rq, const char *lang, size_t start, size_t len); - -bool -raqm_add_font_feature(raqm_t *rq, const char *feature, int len); - -bool -raqm_set_freetype_face(raqm_t *rq, FT_Face face); - -bool -raqm_set_freetype_face_range(raqm_t *rq, FT_Face face, size_t start, size_t len); - -bool -raqm_set_freetype_load_flags(raqm_t *rq, int flags); - -bool -raqm_layout(raqm_t *rq); - -raqm_glyph_t * -raqm_get_glyphs(raqm_t *rq, size_t *length); - -bool -raqm_index_to_position(raqm_t *rq, size_t *index, int *x, int *y); - -bool -raqm_position_to_index(raqm_t *rq, int x, int y, size_t *index); - -#ifdef __cplusplus -} -#endif -#endif /* _RAQM_H_ */ diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c new file mode 100644 index 000000000..64ff7e115 --- /dev/null +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -0,0 +1,68 @@ + +#ifndef _WIN32 +#include +#else +#define WIN32_LEAN_AND_MEAN +#include +#endif + +#define FRIBIDI_SHIM_IMPLEMENTATION + +#include "fribidi.h" + +int load_fribidi(void) { + int error = 0; + + p_fribidi = NULL; + + /* Microsoft needs a totally different system */ +#ifndef _WIN32 + p_fribidi = dlopen("libfribidi.so.1", RTLD_LAZY); + if (!p_fribidi) { + p_fribidi = dlopen("libfribidi.dylib", RTLD_LAZY); + } +#else + p_fribidi = LoadLibrary("fribidi"); + /* MSYS2 */ + if (!p_fribidi) { + p_fribidi = LoadLibrary("libfribidi-1"); + } +#endif + + if (!p_fribidi) { + return 1; + } + +#ifndef _WIN32 +#define LOAD_FUNCTION(func) \ + func = (t_##func)dlsym(p_fribidi, #func); \ + error = error || (func == NULL); +#else +#define LOAD_FUNCTION(func) \ + func = (t_##func)GetProcAddress(p_fribidi, #func); \ + error = error || (func == NULL); +#endif + + LOAD_FUNCTION(fribidi_get_bidi_types); + LOAD_FUNCTION(fribidi_get_bracket_types); + LOAD_FUNCTION(fribidi_get_par_embedding_levels_ex); +// LOAD_FUNCTION(fribidi_get_par_embedding_levels); + LOAD_FUNCTION(fribidi_unicode_to_charset); + LOAD_FUNCTION(fribidi_charset_to_unicode); + +#ifndef _WIN32 + if (dlerror() || error) { + dlclose(p_fribidi); + p_fribidi = NULL; + return 2; + } +#else + if (error) { + FreeLibrary(p_fribidi); + p_fribidi = NULL; + return 2; + } +#endif + + return 0; +} diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h new file mode 100644 index 000000000..c79bb170a --- /dev/null +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -0,0 +1,104 @@ + +/* fribidi-types.h */ + +# if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || \ + defined (_sgi) || defined (__sun) || defined (sun) || \ + defined (__digital__) || defined (__HP_cc) +# include +# elif defined (_AIX) +# include +# else +# include +# endif + +typedef uint32_t FriBidiChar; +typedef int FriBidiStrIndex; + +typedef FriBidiChar FriBidiBracketType; + + + +/* fribidi-char-sets.h */ + +typedef enum +{ + _FRIBIDI_CHAR_SET_NOT_FOUND, + FRIBIDI_CHAR_SET_UTF8, + FRIBIDI_CHAR_SET_CAP_RTL, + FRIBIDI_CHAR_SET_ISO8859_6, + FRIBIDI_CHAR_SET_ISO8859_8, + FRIBIDI_CHAR_SET_CP1255, + FRIBIDI_CHAR_SET_CP1256, + _FRIBIDI_CHAR_SETS_NUM_PLUS_ONE +} +FriBidiCharSet; + + + +/* fribidi-bidi-types.h */ + +typedef signed char FriBidiLevel; + +#define FRIBIDI_TYPE_LTR_VAL 0x00000110L +#define FRIBIDI_TYPE_RTL_VAL 0x00000111L +#define FRIBIDI_TYPE_ON_VAL 0x00000040L + +typedef uint32_t FriBidiCharType; +#define FRIBIDI_TYPE_LTR FRIBIDI_TYPE_LTR_VAL + +typedef uint32_t FriBidiParType; +#define FRIBIDI_PAR_LTR FRIBIDI_TYPE_LTR_VAL +#define FRIBIDI_PAR_RTL FRIBIDI_TYPE_RTL_VAL +#define FRIBIDI_PAR_ON FRIBIDI_TYPE_ON_VAL + +#define FRIBIDI_LEVEL_IS_RTL(lev) ((lev) & 1) +#define FRIBIDI_DIR_TO_LEVEL(dir) ((FriBidiLevel) (FRIBIDI_IS_RTL(dir) ? 1 : 0)) +#define FRIBIDI_IS_RTL(p) ((p) & 0x00000001L) +#define FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS(p) ((p) & 0x00901000L) + + + +/* functions */ + +#ifdef FRIBIDI_SHIM_IMPLEMENTATION +#define FRIBIDI_ENTRY +#else +#define FRIBIDI_ENTRY extern +#endif + +#define FRIBIDI_FUNC(ret, name, ...) \ + typedef ret (*t_##name) (__VA_ARGS__); \ + FRIBIDI_ENTRY t_##name name; + +FRIBIDI_FUNC(void, fribidi_get_bidi_types, + const FriBidiChar *, const FriBidiStrIndex, FriBidiCharType *); + +FRIBIDI_FUNC(void, fribidi_get_bracket_types, + const FriBidiChar *, const FriBidiStrIndex, const FriBidiCharType *, + FriBidiBracketType *); + +FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels_ex, + const FriBidiCharType *, const FriBidiBracketType *, const FriBidiStrIndex, + FriBidiParType *, FriBidiLevel *); + +//FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels, +// const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, +// FriBidiLevel *); + +FRIBIDI_FUNC(FriBidiStrIndex, fribidi_unicode_to_charset, + FriBidiCharSet, const FriBidiChar *, FriBidiStrIndex, char *); + +FRIBIDI_FUNC(FriBidiStrIndex, fribidi_charset_to_unicode, + FriBidiCharSet, const char *, FriBidiStrIndex, FriBidiChar *); + +#undef FRIBIDI_FUNC + + + +/* shim */ + +FRIBIDI_ENTRY void *p_fribidi; + +FRIBIDI_ENTRY int load_fribidi(void); + +#undef FRIBIDI_ENTRY diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c index 27e59b5fc..c796f645e 100644 --- a/src/thirdparty/raqm/raqm.c +++ b/src/thirdparty/raqm/raqm.c @@ -30,15 +30,16 @@ #include #include -#include +#include "../fribidi-shim/fribidi.h" + #include #include #include "raqm.h" -#if FRIBIDI_MAJOR_VERSION >= 1 +//#if FRIBIDI_MAJOR_VERSION >= 1 #define USE_FRIBIDI_EX_API -#endif +//#endif /** * SECTION:raqm diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 2531d5504..fd63f4f1e 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -296,21 +296,7 @@ deps = { cmd_nmake(target="clean"), cmd_nmake(target="fribidi"), ], - "headers": [r"lib\*.h"], - "libs": [r"*.lib"], - }, - "libraqm": { - "url": "https://github.com/HOST-Oman/libraqm/archive/v0.7.1.zip", - "filename": "libraqm-0.7.1.zip", - "dir": "libraqm-0.7.1", - "build": [ - cmd_copy(r"{winbuild_dir}\raqm.cmake", r"CMakeLists.txt"), - cmd_cmake(), - cmd_nmake(target="clean"), - cmd_nmake(target="libraqm"), - ], - "headers": [r"src\*.h"], - "bins": [r"libraqm.dll"], + "bins": [r"*.dll"], }, } @@ -511,8 +497,8 @@ if __name__ == "__main__": verbose = True elif arg == "--no-imagequant": disabled += ["libimagequant"] - elif arg == "--no-raqm": - disabled += ["fribidi", "libraqm"] + elif arg == "--no-raqm" or arg == "--no-fribidi": + disabled += ["fribidi"] elif arg.startswith("--depends="): depends_dir = arg[10:] elif arg.startswith("--python="): diff --git a/winbuild/fribidi.cmake b/winbuild/fribidi.cmake index 47ab2c329..acb614bfa 100644 --- a/winbuild/fribidi.cmake +++ b/winbuild/fribidi.cmake @@ -93,10 +93,10 @@ fribidi_tab(brackets-type unidata/BidiBrackets.txt) file(GLOB FRIBIDI_SOURCES lib/*.c) file(GLOB FRIBIDI_HEADERS lib/*.h) -add_library(fribidi STATIC +add_library(fribidi SHARED ${FRIBIDI_SOURCES} ${FRIBIDI_HEADERS} ${FRIBIDI_SOURCES_GENERATED}) fribidi_definitions(fribidi) target_compile_definitions(fribidi - PUBLIC -DFRIBIDI_LIB_STATIC) + PUBLIC "-DFRIBIDI_ENTRY=__declspec(dllexport)") From 9e5fc136b90e86a4cfbd437455cbe60e4aeeba4c Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 11:23:45 +0000 Subject: [PATCH 031/325] add Raqm license and readme --- src/thirdparty/raqm/AUTHORS | 9 ++++ src/thirdparty/raqm/COPYING | 22 +++++++++ src/thirdparty/raqm/NEWS | 89 +++++++++++++++++++++++++++++++++++++ src/thirdparty/raqm/README | 85 +++++++++++++++++++++++++++++++++++ 4 files changed, 205 insertions(+) create mode 100644 src/thirdparty/raqm/AUTHORS create mode 100644 src/thirdparty/raqm/COPYING create mode 100644 src/thirdparty/raqm/NEWS create mode 100644 src/thirdparty/raqm/README diff --git a/src/thirdparty/raqm/AUTHORS b/src/thirdparty/raqm/AUTHORS new file mode 100644 index 000000000..bd5c3ac6b --- /dev/null +++ b/src/thirdparty/raqm/AUTHORS @@ -0,0 +1,9 @@ +Abderraouf Adjal +Ali Yousuf +Anood Almuharbi +Asma Albahanta +Fahad Alsaidi +Ibtisam Almabsali +Khaled Hosny +Mazoon Almaamari +Shamsa Alqassabi diff --git a/src/thirdparty/raqm/COPYING b/src/thirdparty/raqm/COPYING new file mode 100644 index 000000000..196511ef6 --- /dev/null +++ b/src/thirdparty/raqm/COPYING @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright © 2015 Information Technology Authority (ITA) +Copyright © 2016 Khaled Hosny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/thirdparty/raqm/NEWS b/src/thirdparty/raqm/NEWS new file mode 100644 index 000000000..29c9ae0e5 --- /dev/null +++ b/src/thirdparty/raqm/NEWS @@ -0,0 +1,89 @@ +Overview of changes leading to 0.7.1 +Sunday, November 22, 2020 +==================================== + +Require HarfBuzz >= 2.0.0 + +Build and documentation fixes. + +Overview of changes leading to 0.7.0 +Monday, May 27, 2019 +==================================== + +New API: + * raqm_version + * raqm_version_string + * raqm_version_atleast + * RAQM_VERSION_MAJOR + * RAQM_VERSION_MICRO + * RAQM_VERSION_MINOR + * RAQM_VERSION_STRING + * RAQM_VERSION_ATLEAST + +Overview of changes leading to 0.6.0 +Sunday, May 5, 2019 +==================================== + +Fix TTB direction regression from the previous release. + +Correctly detect script of Common and Inherite characters at start of text. + +Undef HAVE_CONFIG_H workaround, for older versions of Fribidi. + +Drop test suite dependency on GLib. + +Port test runner to Python instead of shell script. + +New API: +* raqm_set_invisible_glyph() + +Overview of changes leading to 0.5.0 +Saturday, February 24, 2018 +==================================== + +Use FriBiDi 1.x API when available. + +Overview of changes leading to 0.4.0 +Sunday, January 21, 2018 +==================================== + +Set begin-of-text and end-of-text HarfBuzz buffer flags. + +Dynamically allocate memory instead of using stack allocation for input text. + +Accept zero length text and do nothing instead of treating it as error. + +Overview of changes leading to 0.3.0 +Monday, August 21, 2017 +==================================== + +Fix stack corruption on MSVC. + +New API: +* raqm_set_freetype_load_flags + +Overview of changes leading to 0.2.0 +Wednesday, August 25, 2016 +==================================== + +Fix building with MSVC due to lacking C99 support. + +Make multiple fonts support actually work. Start and length now respect the +input encoding. + +New API: +* raqm_index_to_position +* raqm_position_to_index +* raqm_set_language + +Overview of changes leading to 0.1.1 +Sunday, May 1, 2016 +==================================== + +Fix make check on 32-bit systems. + +Overview of changes leading to 0.1.0 +Wednesday, January 20, 2016 +==================================== + +First release. diff --git a/src/thirdparty/raqm/README b/src/thirdparty/raqm/README new file mode 100644 index 000000000..7940bf3b6 --- /dev/null +++ b/src/thirdparty/raqm/README @@ -0,0 +1,85 @@ +Raqm +==== + +[![Linux & macOS build](https://travis-ci.org/HOST-Oman/libraqm.svg?branch=master)](https://travis-ci.org/HOST-Oman/libraqm) +[![Windows build](https://img.shields.io/appveyor/ci/HOSTOman/libraqm/master.svg)](https://ci.appveyor.com/project/HOSTOman/libraqm) + +Raqm is a small library that encapsulates the logic for complex text layout and +provides a convenient API. + +It currently provides bidirectional text support (using [FriBiDi][1]), shaping +(using [HarfBuzz][2]), and proper script itemization. As a result, +Raqm can support most writing systems covered by Unicode. + +The documentation can be accessed on the web at: +> http://host-oman.github.io/libraqm/ + +Raqm (Arabic: رَقْم) is writing, also number or digit and the Arabic word for +digital (رَقَمِيّ) shares the same root, so it is a play on “digital writing”. + +Building +-------- + +Raqm depends on the following libraries: +* [FreeType][3] +* [HarfBuzz][2] +* [FriBiDi][1] + +To build the documentation you will also need: +* [GTK-Doc][4] + +To install dependencies on Fedora: + + sudo dnf install freetype-devel harfbuzz-devel fribidi-devel gtk-doc + +To install dependencies on Ubuntu: + + sudo apt-get install libfreetype6-dev libharfbuzz-dev libfribidi-dev \ + gtk-doc-tools + +On Mac OS X you can use Homebrew: + + brew install freetype harfbuzz fribidi gtk-doc + export XML_CATALOG_FILES="/usr/local/etc/xml/catalog" # for the docs + +Once you have the source code and the dependencies, you can proceed to build. +To do that, run the customary sequence of commands in the source code +directory: + + $ ./configure + $ make + $ make install + +To build the documentation, pass `--enable-gtk-doc` to the `configure` script. + +To run the tests: + + $ make check + +Contributing +------------ + +Once you have made a change that you are happy with, contribute it back, we’ll +be happy to integrate it! Just fork the repository and make a pull request. + +Projects using Raqm +------------------- + +1. [ImageMagick](https://github.com/ImageMagick/ImageMagick) +2. [LibGD](https://github.com/libgd/libgd) +3. [FontView](https://github.com/googlei18n/fontview) +4. [Pillow](https://github.com/python-pillow) +5. [mplcairo](https://github.com/anntzer/mplcairo) + +The following projects have patches to support complex text layout using Raqm: + +2. SDL_ttf: https://bugzilla.libsdl.org/show_bug.cgi?id=3211 +3. Pygame: https://bitbucket.org/pygame/pygame/pull-requests/52 +4. Blender: https://developer.blender.org/D1809 + + + +[1]: http://fribidi.org +[2]: http://harfbuzz.org +[3]: https://www.freetype.org +[4]: https://www.gtk.org/gtk-doc From 5cd688fc82e875de25979af800642f905cb92cb3 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 14:01:16 +0000 Subject: [PATCH 032/325] add option to statically link fribidi, version info --- setup.py | 94 ++++++++++++++++++++++----- src/PIL/features.py | 7 ++ src/_imagingft.c | 74 ++++++++++++++++----- src/thirdparty/fribidi-shim/fribidi.c | 6 +- src/thirdparty/fribidi-shim/fribidi.h | 5 ++ src/thirdparty/raqm/raqm.c | 8 ++- 6 files changed, 157 insertions(+), 37 deletions(-) diff --git a/setup.py b/setup.py index 3e0ec5576..0afc6330c 100755 --- a/setup.py +++ b/setup.py @@ -267,7 +267,7 @@ class pil_build_ext(build_ext): "jpeg", "tiff", "freetype", - "harfbuzz", + "raqm", "lcms", "webp", "webpmux", @@ -277,6 +277,7 @@ class pil_build_ext(build_ext): ] required = {"jpeg", "zlib"} + system = set() def __init__(self): for f in self.features: @@ -288,6 +289,9 @@ class pil_build_ext(build_ext): def want(self, feat): return getattr(self, feat) is None + def want_system(self, feat): + return feat in self.system + def __iter__(self): yield from self.features @@ -297,6 +301,10 @@ class pil_build_ext(build_ext): build_ext.user_options + [(f"disable-{x}", None, f"Disable support for {x}") for x in feature] + [(f"enable-{x}", None, f"Enable support for {x}") for x in feature] + + [ + (f"system-{x}", None, f"Use system version of {x}") + for x in ("raqm", "fribidi") + ] + [ ("disable-platform-guessing", None, "Disable platform guessing on Linux"), ("debug", None, "Debug logging"), @@ -311,6 +319,8 @@ class pil_build_ext(build_ext): for x in self.feature: setattr(self, f"disable_{x}", None) setattr(self, f"enable_{x}", None) + for x in ("raqm", "fribidi"): + setattr(self, f"system_{x}", None) def finalize_options(self): build_ext.finalize_options(self) @@ -335,18 +345,40 @@ class pil_build_ext(build_ext): raise ValueError( f"Conflicting options: --enable-{x} and --disable-{x}" ) + if x == "freetype": + _dbg("--disable-freetype implies --disable-raqm") + if getattr(self, "enable_raqm"): + raise ValueError( + "Conflicting options: --enable-raqm and --disable-freetype" + ) + setattr(self, "disable_raqm", True) if getattr(self, f"enable_{x}"): _dbg("Requiring %s", x) self.feature.required.add(x) + if x == "raqm": + _dbg("--enable-raqm implies --enable-freetype") + self.feature.required.add("freetype") + for x in ("raqm", "fribidi"): + if getattr(self, f"system_{x}"): + if getattr(self, f"disable_raqm"): + raise ValueError( + f"Conflicting options: --system-{x} and --disable-raqm" + ) + if x == "fribidi" and getattr(self, f"system_raqm"): + raise ValueError( + f"Conflicting options: --system-{x} and --system-raqm" + ) + _dbg("Using system version of %s", x) + self.feature.system.add(x) - def _update_extension(self, name, libraries, define_macros=None, include_dirs=None): + def _update_extension(self, name, libraries, define_macros=None, sources=None): for extension in self.extensions: if extension.name == name: extension.libraries += libraries if define_macros is not None: extension.define_macros += define_macros - if include_dirs is not None: - extension.include_dirs += include_dirs + if sources is not None: + extension.sources += sources break def _remove_extension(self, name): @@ -657,11 +689,27 @@ class pil_build_ext(build_ext): if subdir: _add_directory(self.compiler.include_dirs, subdir, 0) - if feature.want("harfbuzz"): - _dbg("Looking for harfbuzz") - if _find_include_file(self, "hb-version.h"): - if _find_library_file(self, "harfbuzz"): - feature.harfbuzz = "harfbuzz" + if feature.want("raqm"): + if feature.want_system("raqm"): # want system Raqm + _dbg("Looking for Raqm") + if _find_include_file(self, "raqm.h"): + if _find_library_file(self, "raqm"): + feature.harfbuzz = "raqm" + elif _find_library_file(self, "libraqm"): + feature.harfbuzz = "libraqm" + else: # want to build Raqm + _dbg("Looking for HarfBuzz") + if _find_include_file(self, "hb.h"): + if _find_library_file(self, "harfbuzz"): + feature.harfbuzz = "harfbuzz" + if feature.harfbuzz: + if feature.want_system("fribidi"): # want system FriBiDi + _dbg("Looking for FriBiDi") + if _find_include_file(self, "fribidi.h"): + if _find_library_file(self, "fribidi"): + feature.harfbuzz = "fribidi" + else: # want to build FriBiDi shim + feature.raqm = True if feature.want("lcms"): _dbg("Looking for lcms") @@ -758,9 +806,25 @@ class pil_build_ext(build_ext): # additional libraries if feature.freetype: + srcs = [] libs = ["freetype"] defs = [] - self._update_extension("PIL._imagingft", libs, defs) + if feature.raqm: + if feature.want_system("raqm"): # using system Raqm + defs.append(("HAVE_RAQM", None)) + defs.append(("HAVE_RAQM_SYSTEM", None)) + libs.append(feature.raqm) + else: # building Raqm + defs.append(("HAVE_RAQM", None)) + srcs.append("src/thirdparty/raqm/raqm.c") + libs.append(feature.harfbuzz) + if feature.want_system("fribidi"): # using system FriBiDi + defs.append(("HAVE_FRIBIDI_SYSTEM", None)) + libs.append(feature.fribidi) + else: # building our FriBiDi shim + srcs.append("src/thirdparty/fribidi-shim/fribidi.c") + self._update_extension("PIL._imagingft", libs, defs, srcs) + else: self._remove_extension("PIL._imagingft") @@ -814,6 +878,7 @@ class pil_build_ext(build_ext): (feature.imagequant, "LIBIMAGEQUANT"), (feature.tiff, "LIBTIFF"), (feature.freetype, "FREETYPE2"), + (feature.raqm, "RAQM (Text shaping)"), # TODO!!! (feature.lcms, "LITTLECMS2"), (feature.webp, "WEBP"), (feature.webpmux, "WEBPMUX"), @@ -857,14 +922,7 @@ for src_file in _LIB_IMAGING: files.append(os.path.join("src/libImaging", src_file + ".c")) ext_modules = [ Extension("PIL._imaging", files), - Extension( - "PIL._imagingft", - [ - "src/_imagingft.c", - "src/thirdparty/raqm/raqm.c", - "src/thirdparty/fribidi-shim/fribidi.c", - ], - ), + Extension("PIL._imagingft", ["src/_imagingft.c"]), Extension("PIL._imagingcms", ["src/_imagingcms.c"]), Extension("PIL._webp", ["src/_webp.c"]), Extension("PIL._imagingtk", ["src/_imagingtk.c", "src/Tk/tkImaging.c"]), diff --git a/src/PIL/features.py b/src/PIL/features.py index da0ca557c..85459063b 100644 --- a/src/PIL/features.py +++ b/src/PIL/features.py @@ -118,6 +118,8 @@ features = { "webp_mux": ("PIL._webp", "HAVE_WEBPMUX", None), "transp_webp": ("PIL._webp", "HAVE_TRANSPARENCY", None), "raqm": ("PIL._imagingft", "HAVE_RAQM", "raqm_version"), + "fribidi": ("PIL._imagingft", "HAVE_FRIBIDI", "fribidi_version"), + "harfbuzz": ("PIL._imagingft", "HAVE_HARFBUZZ", "harfbuzz_version"), "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO", "libjpeg_turbo_version"), "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT", "imagequant_version"), "xcb": ("PIL._imaging", "HAVE_XCB", None), @@ -274,6 +276,11 @@ def pilinfo(out=None, supported_formats=True): # this check is also in src/_imagingcms.c:setup_module() version_static = tuple(int(x) for x in v.split(".")) < (2, 7) t = "compiled for" if version_static else "loaded" + if name == "raqm": + for f in ("fribidi", "harfbuzz"): + v2 = version_feature(f) + if v2 is not None: + v += f", {f} {v2}" print("---", feature, "support ok,", t, v, file=out) else: print("---", feature, "support ok", file=out) diff --git a/src/_imagingft.c b/src/_imagingft.c index 4a4084e9f..fd5530642 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -52,8 +52,21 @@ } \ ; -#include "thirdparty/raqm/raqm.h" -#include "thirdparty/fribidi-shim/fribidi.h" +#ifdef HAVE_RAQM +# ifdef HAVE_RAQM_SYSTEM +# include +# else +# include "thirdparty/raqm/raqm.h" +# ifdef HAVE_FRIBIDI_SYSTEM +# include +# else +# include "thirdparty/fribidi-shim/fribidi.h" +# include +# endif +# endif +#endif + +static int have_raqm = 0; #define LAYOUT_FALLBACK 0 #define LAYOUT_RAQM 1 @@ -101,11 +114,6 @@ geterror(int code) { return NULL; } -static int -setraqm(void) { - return load_fribidi(); -} - static PyObject * getfont(PyObject *self_, PyObject *args, PyObject *kw) { /* create a font object from a file name and a size (in pixels) */ @@ -474,7 +482,7 @@ text_layout( int color) { size_t count; - if (p_fribidi && self->layout_engine == LAYOUT_RAQM) { + if (have_raqm && self->layout_engine == LAYOUT_RAQM) { count = text_layout_raqm( string, self, dir, features, lang, glyph_info, mask, color); } else { @@ -1357,15 +1365,51 @@ setup_module(PyObject *m) { v = PyUnicode_FromFormat("%d.%d.%d", major, minor, patch); PyDict_SetItemString(d, "freetype2_version", v); - setraqm(); - v = PyBool_FromLong(!!p_fribidi); - PyDict_SetItemString(d, "HAVE_RAQM", v); -// if (p_raqm.version_string) { - PyDict_SetItemString( - d, "raqm_version", PyUnicode_FromString(raqm_version_string())); -// }; +#ifdef HAVE_RAQM +#ifdef HAVE_FRIBIDI_SYSTEM + have_raqm = 1; +#else + load_fribidi(); + have_raqm = !!p_fribidi; +#endif +#else + have_raqm = 0; +#endif + /* if we have Raqm, we have all three (but possibly no version info) */ + v = PyBool_FromLong(have_raqm); + PyDict_SetItemString(d, "HAVE_RAQM", v); PyDict_SetItemString(d, "HAVE_FRIBIDI", v); + PyDict_SetItemString(d, "HAVE_HARFBUZZ", v); + if (have_raqm) { + const char *a, *b; +#ifdef RAQM_VERSION_MAJOR + v = PyUnicode_FromString(raqm_version_string()); +#else + v = Py_None; +#endif + PyDict_SetItemString(d, "raqm_version", v); + +#ifdef FRIBIDI_MAJOR_VERSION + a = strchr(fribidi_version_info, '1'); + b = strchr(fribidi_version_info, '\n'); + if (a && b) { + v = PyUnicode_FromStringAndSize(a, b - a); + } else { + v = Py_None; + } +#else + v = Py_None; +#endif + PyDict_SetItemString(d, "fribidi_version", v); + +#ifdef HB_VERSION_STRING + v = PyUnicode_FromString(hb_version_string()); +#else + v = Py_None; +#endif + PyDict_SetItemString(d, "harfbuzz_version", v); + } return 0; } diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index 64ff7e115..77a55b502 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -51,13 +51,15 @@ int load_fribidi(void) { LOAD_FUNCTION(fribidi_charset_to_unicode); #ifndef _WIN32 - if (dlerror() || error) { + fribidi_version_info = *(const char**)dlsym(p_fribidi, "fribidi_version_info"); + if (dlerror() || error || (fribidi_version_info == NULL)) { dlclose(p_fribidi); p_fribidi = NULL; return 2; } #else - if (error) { + fribidi_version_info = *(const char**)GetProcAddress(p_fribidi, "fribidi_version_info"); + if (error || (fribidi_version_info == NULL)) { FreeLibrary(p_fribidi); p_fribidi = NULL; return 2; diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h index c79bb170a..b7c6064bc 100644 --- a/src/thirdparty/fribidi-shim/fribidi.h +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -1,4 +1,6 @@ +#define FRIBIDI_MAJOR_VERSION 1 + /* fribidi-types.h */ # if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || \ @@ -93,6 +95,9 @@ FRIBIDI_FUNC(FriBidiStrIndex, fribidi_charset_to_unicode, #undef FRIBIDI_FUNC +/* constant, not a function */ +FRIBIDI_ENTRY const char *fribidi_version_info; + /* shim */ diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c index c796f645e..5a0b2078e 100644 --- a/src/thirdparty/raqm/raqm.c +++ b/src/thirdparty/raqm/raqm.c @@ -30,16 +30,20 @@ #include #include +#ifdef HAVE_FRIBIDI_SYSTEM +#include +#else #include "../fribidi-shim/fribidi.h" +#endif #include #include #include "raqm.h" -//#if FRIBIDI_MAJOR_VERSION >= 1 +#if FRIBIDI_MAJOR_VERSION >= 1 #define USE_FRIBIDI_EX_API -//#endif +#endif /** * SECTION:raqm From d4403bec46a22d0b8cb8a8fde816519effbc4f2a Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 14:02:21 +0000 Subject: [PATCH 033/325] GHA: fix windows build for dynamic fribidi --- .github/workflows/test-windows.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index db1675135..c5aa133cb 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -137,14 +137,11 @@ jobs: if: steps.build-cache.outputs.cache-hit != 'true' run: "& winbuild\\build\\build_dep_harfbuzz.cmd" + # Raqm dependencies - name: Build dependencies / FriBidi if: steps.build-cache.outputs.cache-hit != 'true' run: "& winbuild\\build\\build_dep_fribidi.cmd" - - name: Build dependencies / Raqm - if: steps.build-cache.outputs.cache-hit != 'true' - run: "& winbuild\\build\\build_dep_libraqm.cmd" - # trim ~150MB x 9 - name: Optimize build cache if: steps.build-cache.outputs.cache-hit != 'true' From 3386a9ce0272d92c1c1c20037c60022aa4e09ea4 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 15:18:43 +0000 Subject: [PATCH 034/325] replace tabs in thirdparty libs --- src/thirdparty/fribidi-shim/fribidi.h | 2 +- src/thirdparty/raqm/raqm-version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h index b7c6064bc..aa446fbef 100644 --- a/src/thirdparty/fribidi-shim/fribidi.h +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -43,7 +43,7 @@ typedef signed char FriBidiLevel; #define FRIBIDI_TYPE_LTR_VAL 0x00000110L #define FRIBIDI_TYPE_RTL_VAL 0x00000111L -#define FRIBIDI_TYPE_ON_VAL 0x00000040L +#define FRIBIDI_TYPE_ON_VAL 0x00000040L typedef uint32_t FriBidiCharType; #define FRIBIDI_TYPE_LTR FRIBIDI_TYPE_LTR_VAL diff --git a/src/thirdparty/raqm/raqm-version.h b/src/thirdparty/raqm/raqm-version.h index 4fd5c6842..94b25ada7 100644 --- a/src/thirdparty/raqm/raqm-version.h +++ b/src/thirdparty/raqm/raqm-version.h @@ -38,7 +38,7 @@ #define RAQM_VERSION_STRING "0.7.1" #define RAQM_VERSION_ATLEAST(major,minor,micro) \ - ((major)*10000+(minor)*100+(micro) <= \ - RAQM_VERSION_MAJOR*10000+RAQM_VERSION_MINOR*100+RAQM_VERSION_MICRO) + ((major)*10000+(minor)*100+(micro) <= \ + RAQM_VERSION_MAJOR*10000+RAQM_VERSION_MINOR*100+RAQM_VERSION_MICRO) #endif /* _RAQM_VERSION_H_ */ From be0d0a3a4895aeef5504a78440cd08dbee16f99c Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 16:27:12 +0000 Subject: [PATCH 035/325] fix finding raqm deps --- setup.py | 38 ++++++++++++++++++++++----- src/_imagingft.c | 12 ++++++--- src/thirdparty/fribidi-shim/fribidi.c | 2 +- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/setup.py b/setup.py index 0afc6330c..7275dc6ed 100755 --- a/setup.py +++ b/setup.py @@ -123,7 +123,7 @@ _LIB_IMAGING = ( "codec_fd", ) -DEBUG = False +DEBUG = True class DependencyException(Exception): @@ -228,6 +228,19 @@ def _find_library_file(self, library): return ret +def _find_include_dir(self, dirname, include): + for directory in self.compiler.include_dirs: + _dbg("Checking for include file %s in %s", (include, directory)) + if os.path.isfile(os.path.join(directory, include)): + _dbg("Found %s in %s", (include, directory)) + return True + subdir = os.path.join(directory, dirname) + _dbg("Checking for include file %s in %s", (include, subdir)) + if os.path.isfile(os.path.join(subdir, include)): + _dbg("Found %s in %s", (include, subdir)) + return subdir + + def _cmd_exists(cmd): return any( os.access(os.path.join(path, cmd), os.X_OK) @@ -689,25 +702,36 @@ class pil_build_ext(build_ext): if subdir: _add_directory(self.compiler.include_dirs, subdir, 0) - if feature.want("raqm"): + if feature.freetype and feature.want("raqm"): if feature.want_system("raqm"): # want system Raqm _dbg("Looking for Raqm") if _find_include_file(self, "raqm.h"): if _find_library_file(self, "raqm"): - feature.harfbuzz = "raqm" + feature.raqm = "raqm" elif _find_library_file(self, "libraqm"): - feature.harfbuzz = "libraqm" + feature.raqm = "libraqm" else: # want to build Raqm _dbg("Looking for HarfBuzz") - if _find_include_file(self, "hb.h"): + feature.harfbuzz = None + hb_dir = _find_include_dir(self, "harfbuzz", "hb.h") + if hb_dir: + if isinstance(hb_dir, str): + _add_directory(self.compiler.include_dirs, hb_dir, 0) if _find_library_file(self, "harfbuzz"): feature.harfbuzz = "harfbuzz" if feature.harfbuzz: if feature.want_system("fribidi"): # want system FriBiDi _dbg("Looking for FriBiDi") - if _find_include_file(self, "fribidi.h"): + feature.fribidi = None + fribidi_dir = _find_include_dir(self, "fribidi", "fribidi.h") + if fribidi_dir: + if isinstance(fribidi_dir, str): + _add_directory( + self.compiler.include_dirs, fribidi_dir, 0 + ) if _find_library_file(self, "fribidi"): - feature.harfbuzz = "fribidi" + feature.fribidi = "fribidi" + feature.raqm = True else: # want to build FriBiDi shim feature.raqm = True diff --git a/src/_imagingft.c b/src/_imagingft.c index fd5530642..b2cf76ce7 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -221,6 +221,8 @@ font_getchar(PyObject *string, int index, FT_ULong *char_out) { return 0; } +#ifdef HAVE_RAQM + static size_t text_layout_raqm( PyObject *string, @@ -386,6 +388,8 @@ failed: return count; } +#endif + static size_t text_layout_fallback( PyObject *string, @@ -481,11 +485,13 @@ text_layout( int mask, int color) { size_t count; - +#ifdef HAVE_RAQM if (have_raqm && self->layout_engine == LAYOUT_RAQM) { count = text_layout_raqm( string, self, dir, features, lang, glyph_info, mask, color); - } else { + } else +#endif + { count = text_layout_fallback( string, self, dir, features, lang, glyph_info, mask, color); } @@ -1366,7 +1372,7 @@ setup_module(PyObject *m) { PyDict_SetItemString(d, "freetype2_version", v); #ifdef HAVE_RAQM -#ifdef HAVE_FRIBIDI_SYSTEM +#if defined(HAVE_RAQM_SYSTEM) || defined(HAVE_FRIBIDI_SYSTEM) have_raqm = 1; #else load_fribidi(); diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index 77a55b502..c83159e29 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -25,7 +25,7 @@ int load_fribidi(void) { p_fribidi = LoadLibrary("fribidi"); /* MSYS2 */ if (!p_fribidi) { - p_fribidi = LoadLibrary("libfribidi-1"); + p_fribidi = LoadLibrary("libfribidi-0"); } #endif From 834c2e5e5dea378caf5603f58f0dcd476112cf6f Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 16:29:43 +0000 Subject: [PATCH 036/325] lint --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 7275dc6ed..cb4ec2da8 100755 --- a/setup.py +++ b/setup.py @@ -373,11 +373,11 @@ class pil_build_ext(build_ext): self.feature.required.add("freetype") for x in ("raqm", "fribidi"): if getattr(self, f"system_{x}"): - if getattr(self, f"disable_raqm"): + if getattr(self, "disable_raqm"): raise ValueError( f"Conflicting options: --system-{x} and --disable-raqm" ) - if x == "fribidi" and getattr(self, f"system_raqm"): + if x == "fribidi" and getattr(self, "system_raqm"): raise ValueError( f"Conflicting options: --system-{x} and --system-raqm" ) From c3fce854f2e227e37036b96980ae00934db483a2 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 16:32:37 +0000 Subject: [PATCH 037/325] avoid NULL in fribidi shim --- src/thirdparty/fribidi-shim/fribidi.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index c83159e29..f23741ecd 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -13,7 +13,7 @@ int load_fribidi(void) { int error = 0; - p_fribidi = NULL; + p_fribidi = 0; /* Microsoft needs a totally different system */ #ifndef _WIN32 @@ -36,11 +36,11 @@ int load_fribidi(void) { #ifndef _WIN32 #define LOAD_FUNCTION(func) \ func = (t_##func)dlsym(p_fribidi, #func); \ - error = error || (func == NULL); + error = error || (func == 0); #else #define LOAD_FUNCTION(func) \ func = (t_##func)GetProcAddress(p_fribidi, #func); \ - error = error || (func == NULL); + error = error || (func == 0); #endif LOAD_FUNCTION(fribidi_get_bidi_types); @@ -52,16 +52,16 @@ int load_fribidi(void) { #ifndef _WIN32 fribidi_version_info = *(const char**)dlsym(p_fribidi, "fribidi_version_info"); - if (dlerror() || error || (fribidi_version_info == NULL)) { + if (dlerror() || error || (fribidi_version_info == 0)) { dlclose(p_fribidi); - p_fribidi = NULL; + p_fribidi = 0; return 2; } #else fribidi_version_info = *(const char**)GetProcAddress(p_fribidi, "fribidi_version_info"); - if (error || (fribidi_version_info == NULL)) { + if (error || (fribidi_version_info == 0)) { FreeLibrary(p_fribidi); - p_fribidi = NULL; + p_fribidi = 0; return 2; } #endif From f2b2d53ca82ea2ca882329d382d2812bf7818485 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 18:01:49 +0000 Subject: [PATCH 038/325] raqm: avoid declaring variables in for statement for C89 compatibility --- src/thirdparty/raqm/raqm.c | 127 +++++++++++++++++++++---------------- 1 file changed, 74 insertions(+), 53 deletions(-) diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c index 5a0b2078e..96523ffb9 100644 --- a/src/thirdparty/raqm/raqm.c +++ b/src/thirdparty/raqm/raqm.c @@ -220,6 +220,7 @@ static bool _raqm_init_text_info (raqm_t *rq) { hb_language_t default_lang; + size_t i; if (rq->text_info) return true; @@ -229,7 +230,7 @@ _raqm_init_text_info (raqm_t *rq) return false; default_lang = hb_language_get_default (); - for (size_t i = 0; i < rq->text_len; i++) + for (i = 0; i < rq->text_len; i++) { rq->text_info[i].ftface = NULL; rq->text_info[i].lang = default_lang; @@ -242,10 +243,12 @@ _raqm_init_text_info (raqm_t *rq) static void _raqm_free_text_info (raqm_t *rq) { + size_t i; + if (!rq->text_info) return; - for (size_t i = 0; i < rq->text_len; i++) + for (i = 0; i < rq->text_len; i++) { if (rq->text_info[i].ftface) FT_Done_Face (rq->text_info[i].ftface); @@ -551,6 +554,7 @@ raqm_set_language (raqm_t *rq, size_t len) { hb_language_t language; + size_t i; size_t end = start + len; if (!rq) @@ -572,7 +576,7 @@ raqm_set_language (raqm_t *rq, return false; language = hb_language_from_string (lang, -1); - for (size_t i = start; i < end; i++) + for (i = start; i < end; i++) { rq->text_info[i].lang = language; } @@ -646,6 +650,8 @@ _raqm_set_freetype_face (raqm_t *rq, size_t start, size_t end) { + size_t i; + if (!rq) return false; @@ -658,7 +664,7 @@ _raqm_set_freetype_face (raqm_t *rq, if (!rq->text_info) return false; - for (size_t i = start; i < end; i++) + for (i = start; i < end; i++) { if (rq->text_info[i].ftface) FT_Done_Face (rq->text_info[i].ftface); @@ -832,6 +838,8 @@ _raqm_shape (raqm_t *rq); bool raqm_layout (raqm_t *rq) { + size_t i; + if (!rq) return false; @@ -841,7 +849,7 @@ raqm_layout (raqm_t *rq) if (!rq->text_info) return false; - for (size_t i = 0; i < rq->text_len; i++) + for (i = 0; i < rq->text_len; i++) { if (!rq->text_info[i].ftface) return false; @@ -879,6 +887,9 @@ raqm_glyph_t * raqm_get_glyphs (raqm_t *rq, size_t *length) { + size_t i; + raqm_run_t *run; + size_t count = 0; if (!rq || !rq->runs || !length) @@ -888,7 +899,7 @@ raqm_get_glyphs (raqm_t *rq, return NULL; } - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) count += hb_buffer_get_length (run->buffer); *length = count; @@ -906,7 +917,7 @@ raqm_get_glyphs (raqm_t *rq, RAQM_TEST ("Glyph information:\n"); count = 0; - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -916,7 +927,7 @@ raqm_get_glyphs (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (size_t i = 0; i < len; i++) + for (i = 0; i < len; i++) { rq->glyphs[count + i].index = info[i].codepoint; rq->glyphs[count + i].cluster = info[i].cluster; @@ -939,18 +950,18 @@ raqm_get_glyphs (raqm_t *rq, { #ifdef RAQM_TESTING RAQM_TEST ("\nUTF-32 clusters:"); - for (size_t i = 0; i < count; i++) + for (i = 0; i < count; i++) RAQM_TEST (" %02d", rq->glyphs[i].cluster); RAQM_TEST ("\n"); #endif - for (size_t i = 0; i < count; i++) + for (i = 0; i < count; i++) rq->glyphs[i].cluster = _raqm_u32_to_u8_index (rq, rq->glyphs[i].cluster); #ifdef RAQM_TESTING RAQM_TEST ("UTF-8 clusters: "); - for (size_t i = 0; i < count; i++) + for (i = 0; i < count; i++) RAQM_TEST (" %02d", rq->glyphs[i].cluster); RAQM_TEST ("\n"); #endif @@ -983,9 +994,11 @@ typedef struct { static void _raqm_reverse_run (_raqm_bidi_run *run, const size_t len) { + size_t i; + assert (run); - for (size_t i = 0; i < len / 2; i++) + for (i = 0; i < len / 2; i++) { _raqm_bidi_run temp = run[i]; run[i] = run[len - 1 - i]; @@ -1002,6 +1015,7 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* output */ size_t *run_count) { + size_t i; FriBidiLevel level; FriBidiLevel last_level = -1; FriBidiLevel max_level = 0; @@ -1021,8 +1035,7 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* L1. Reset the embedding levels of some chars: 4. any sequence of white space characters at the end of the line. */ - for (int i = len - 1; - i >= 0 && FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS (types[i]); i--) + for (i = len; i-- > 0 && FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS (types[i]); ) { levels[i] = FRIBIDI_DIR_TO_LEVEL (base_dir); } @@ -1030,13 +1043,13 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* Find max_level of the line. We don't reuse the paragraph * max_level, both for a cleaner API, and that the line max_level * may be far less than paragraph max_level. */ - for (int i = len - 1; i >= 0; i--) + for (i = len; i-- > 0; ) { if (levels[i] > max_level) max_level = levels[i]; } - for (size_t i = 0; i < len; i++) + for (i = 0; i < len; i++) { if (levels[i] != last_level) count++; @@ -1064,14 +1077,16 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* L2. Reorder. */ for (level = max_level; level > 0; level--) { - for (int i = count - 1; i >= 0; i--) + for (i = count; i-- > 0; ) { if (runs[i].level >= level) { int end = i; - for (i--; (i >= 0 && runs[i].level >= level); i--) + for (; (i > 0 && runs[i - 1].level >= level); i--) ; - _raqm_reverse_run (runs + i + 1, end - i); + _raqm_reverse_run (runs + i, end - i + 1); + if (i-- == 0) + break; } } } @@ -1083,6 +1098,8 @@ _raqm_reorder_runs (const FriBidiCharType *types, static bool _raqm_itemize (raqm_t *rq) { + size_t i, j; + raqm_run_t *run; FriBidiParType par_type = FRIBIDI_PAR_ON; FriBidiCharType *types; #ifdef USE_FRIBIDI_EX_API @@ -1185,7 +1202,7 @@ _raqm_itemize (raqm_t *rq) RAQM_TEST ("Number of runs before script itemization: %zu\n\n", run_count); RAQM_TEST ("Fribidi Runs:\n"); - for (size_t i = 0; i < run_count; i++) + for (i = 0; i < run_count; i++) { RAQM_TEST ("run[%zu]:\t start: %zu\tlength: %zu\tlevel: %d\n", i, runs[i].pos, runs[i].len, runs[i].level); @@ -1194,7 +1211,7 @@ _raqm_itemize (raqm_t *rq) #endif last = NULL; - for (size_t i = 0; i < run_count; i++) + for (i = 0; i < run_count; i++) { raqm_run_t *run = calloc (1, sizeof (raqm_run_t)); if (!run) @@ -1216,7 +1233,7 @@ _raqm_itemize (raqm_t *rq) run->pos = runs[i].pos + runs[i].len - 1; run->script = rq->text_info[run->pos].script; run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); - for (int j = runs[i].len - 1; j >= 0; j--) + for (j = runs[i].len; j-- > 0; ) { _raqm_text_info info = rq->text_info[runs[i].pos + j]; if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) @@ -1247,7 +1264,7 @@ _raqm_itemize (raqm_t *rq) run->pos = runs[i].pos; run->script = rq->text_info[run->pos].script; run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); - for (size_t j = 0; j < runs[i].len; j++) + for (j = 0; j < runs[i].len; j++) { _raqm_text_info info = rq->text_info[runs[i].pos + j]; if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) @@ -1277,13 +1294,13 @@ _raqm_itemize (raqm_t *rq) #ifdef RAQM_TESTING run_count = 0; - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) run_count++; RAQM_TEST ("Number of runs after script itemization: %zu\n\n", run_count); run_count = 0; RAQM_TEST ("Final Runs:\n"); - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) { SCRIPT_TO_STRING (run->script); RAQM_TEST ("run[%zu]:\t start: %d\tlength: %d\tdirection: %s\tscript: %s\tfont: %s\n", @@ -1448,18 +1465,19 @@ _get_pair_index (const FriBidiChar ch) static bool _raqm_resolve_scripts (raqm_t *rq) { - int last_script_index = -1; - int last_set_index = -1; + size_t i, j; + size_t next_script_index = 0; + size_t next_set_index = 0; hb_script_t last_script = HB_SCRIPT_INVALID; _raqm_stack_t *stack = NULL; hb_unicode_funcs_t* unicode_funcs = hb_unicode_funcs_get_default (); - for (size_t i = 0; i < rq->text_len; ++i) + for (i = 0; i < rq->text_len; ++i) rq->text_info[i].script = hb_unicode_script (unicode_funcs, rq->text[i]); #ifdef RAQM_TESTING RAQM_TEST ("Before script detection:\n"); - for (size_t i = 0; i < rq->text_len; ++i) + for (i = 0; i < rq->text_len; ++i) { SCRIPT_TO_STRING (rq->text_info[i].script); RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); @@ -1471,9 +1489,9 @@ _raqm_resolve_scripts (raqm_t *rq) if (!stack) return false; - for (int i = 0; i < (int) rq->text_len; i++) + for (i = 0; i < rq->text_len; i++) { - if (rq->text_info[i].script == HB_SCRIPT_COMMON && last_script_index != -1) + if (rq->text_info[i].script == HB_SCRIPT_COMMON && next_script_index != 0) { int pair_index = _get_pair_index (rq->text[i]); if (pair_index >= 0) @@ -1482,7 +1500,7 @@ _raqm_resolve_scripts (raqm_t *rq) { /* is a paired character */ rq->text_info[i].script = last_script; - last_set_index = i; + next_set_index = i + 1; _raqm_stack_push (stack, rq->text_info[i].script, pair_index); } else @@ -1499,34 +1517,34 @@ _raqm_resolve_scripts (raqm_t *rq) { rq->text_info[i].script = _raqm_stack_top (stack); last_script = rq->text_info[i].script; - last_set_index = i; + next_set_index = i + 1; } else { rq->text_info[i].script = last_script; - last_set_index = i; + next_set_index = i + 1; } } } else { rq->text_info[i].script = last_script; - last_set_index = i; + next_set_index = i + 1; } } else if (rq->text_info[i].script == HB_SCRIPT_INHERITED && - last_script_index != -1) + next_script_index != 0) { rq->text_info[i].script = last_script; - last_set_index = i; + next_set_index = i + 1; } else { - for (int j = last_set_index + 1; j < i; ++j) + for (j = next_set_index; j < i; ++j) rq->text_info[j].script = rq->text_info[i].script; last_script = rq->text_info[i].script; - last_script_index = i; - last_set_index = i; + next_script_index = i + 1; + next_set_index = i + 1; } } @@ -1534,7 +1552,7 @@ _raqm_resolve_scripts (raqm_t *rq) * take the script if the next character. * https://github.com/HOST-Oman/libraqm/issues/95 */ - for (int i = rq->text_len - 2; i >= 0; --i) + for (i = rq->text_len - 1; i-- > 0; ) { if (rq->text_info[i].script == HB_SCRIPT_INHERITED || rq->text_info[i].script == HB_SCRIPT_COMMON) @@ -1543,7 +1561,7 @@ _raqm_resolve_scripts (raqm_t *rq) #ifdef RAQM_TESTING RAQM_TEST ("After script detection:\n"); - for (size_t i = 0; i < rq->text_len; ++i) + for (i = 0; i < rq->text_len; ++i) { SCRIPT_TO_STRING (rq->text_info[i].script); RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); @@ -1559,6 +1577,7 @@ _raqm_resolve_scripts (raqm_t *rq) static bool _raqm_shape (raqm_t *rq) { + raqm_run_t *run; hb_buffer_flags_t hb_buffer_flags = HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT; #if defined(HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES) && \ @@ -1567,7 +1586,7 @@ _raqm_shape (raqm_t *rq) hb_buffer_flags |= HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES; #endif - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) { run->buffer = hb_buffer_create (); @@ -1653,6 +1672,8 @@ raqm_index_to_position (raqm_t *rq, int *x, int *y) { + size_t i, j; + raqm_run_t *run; /* We don't currently support multiline, so y is always 0 */ *y = 0; *x = 0; @@ -1676,7 +1697,7 @@ raqm_index_to_position (raqm_t *rq, ++*index; } - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -1685,7 +1706,7 @@ raqm_index_to_position (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (size_t i = 0; i < len; i++) + for (i = 0; i < len; i++) { uint32_t curr_cluster = info[i].cluster; uint32_t next_cluster = curr_cluster; @@ -1693,13 +1714,12 @@ raqm_index_to_position (raqm_t *rq, if (run->direction == HB_DIRECTION_LTR) { - for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) + for (j = i + 1; j < len && next_cluster == curr_cluster; j++) next_cluster = info[j].cluster; } else { - for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; - j--) + for (j = i; i != 0 && j-- > 0 && next_cluster == curr_cluster; ) next_cluster = info[j].cluster; } @@ -1745,6 +1765,8 @@ raqm_position_to_index (raqm_t *rq, int y, size_t *index) { + size_t i, j; + raqm_run_t *run; int delta_x = 0, current_x = 0; (void)y; @@ -1762,7 +1784,7 @@ raqm_position_to_index (raqm_t *rq, RAQM_TEST ("\n"); - for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) + for (run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -1771,7 +1793,7 @@ raqm_position_to_index (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (size_t i = 0; i < len; i++) + for (i = 0; i < len; i++) { delta_x = position[i].x_advance; if (x < (current_x + delta_x)) @@ -1789,11 +1811,10 @@ raqm_position_to_index (raqm_t *rq, uint32_t curr_cluster = info[i].cluster; uint32_t next_cluster = curr_cluster; if (run->direction == HB_DIRECTION_LTR) - for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) + for (j = i + 1; j < len && next_cluster == curr_cluster; j++) next_cluster = info[j].cluster; else - for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; - j--) + for (j = i; i != 0 && j-- > 0 && next_cluster == curr_cluster; ) next_cluster = info[j].cluster; if (next_cluster == curr_cluster) From b4a57d6fc5c96749430dd244fa4ce4f7104ab311 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 18:05:50 +0000 Subject: [PATCH 039/325] support FriBiDi<1.0 --- src/thirdparty/fribidi-shim/fribidi.c | 46 ++++++++++++++++++++------- src/thirdparty/fribidi-shim/fribidi.h | 6 ++-- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index f23741ecd..20364ea24 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -10,6 +10,20 @@ #include "fribidi.h" + +/* ..._ex adds bracket_types param, ignore and call legacy function */ +FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( + const FriBidiCharType *bidi_types, + const FriBidiBracketType *bracket_types, + const FriBidiStrIndex len, + FriBidiParType *pbase_dir, + FriBidiLevel *embedding_levels) +{ + return fribidi_get_par_embedding_levels( + bidi_types, len, pbase_dir, embedding_levels); +} + + int load_fribidi(void) { int error = 0; @@ -17,11 +31,22 @@ int load_fribidi(void) { /* Microsoft needs a totally different system */ #ifndef _WIN32 - p_fribidi = dlopen("libfribidi.so.1", RTLD_LAZY); +#define LOAD_FUNCTION(func) \ + func = (t_##func)dlsym(p_fribidi, #func); \ + error = error || (func == 0); + + p_fribidi = dlopen("libfribidi.so", RTLD_LAZY); + if (!p_fribidi) { + p_fribidi = dlopen("libfribidi.so.0", RTLD_LAZY); + } if (!p_fribidi) { p_fribidi = dlopen("libfribidi.dylib", RTLD_LAZY); } #else +#define LOAD_FUNCTION(func) \ + func = (t_##func)GetProcAddress(p_fribidi, #func); \ + error = error || (func == 0); + p_fribidi = LoadLibrary("fribidi"); /* MSYS2 */ if (!p_fribidi) { @@ -33,20 +58,17 @@ int load_fribidi(void) { return 1; } -#ifndef _WIN32 -#define LOAD_FUNCTION(func) \ - func = (t_##func)dlsym(p_fribidi, #func); \ - error = error || (func == 0); -#else -#define LOAD_FUNCTION(func) \ - func = (t_##func)GetProcAddress(p_fribidi, #func); \ - error = error || (func == 0); -#endif + /* load ..._ex first to preserve error variable */ + LOAD_FUNCTION(fribidi_get_par_embedding_levels_ex); + if (error) { + /* using FriBiDi 0.x, emulate ..._ex function */ + fribidi_get_par_embedding_levels_ex = &fribidi_get_par_embedding_levels_ex_compat; + error = 0; + } LOAD_FUNCTION(fribidi_get_bidi_types); LOAD_FUNCTION(fribidi_get_bracket_types); - LOAD_FUNCTION(fribidi_get_par_embedding_levels_ex); -// LOAD_FUNCTION(fribidi_get_par_embedding_levels); + LOAD_FUNCTION(fribidi_get_par_embedding_levels); LOAD_FUNCTION(fribidi_unicode_to_charset); LOAD_FUNCTION(fribidi_charset_to_unicode); diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h index aa446fbef..0f0cdac21 100644 --- a/src/thirdparty/fribidi-shim/fribidi.h +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -83,9 +83,9 @@ FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels_ex, const FriBidiCharType *, const FriBidiBracketType *, const FriBidiStrIndex, FriBidiParType *, FriBidiLevel *); -//FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels, -// const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, -// FriBidiLevel *); +FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels, + const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, + FriBidiLevel *); FRIBIDI_FUNC(FriBidiStrIndex, fribidi_unicode_to_charset, FriBidiCharSet, const FriBidiChar *, FriBidiStrIndex, char *); From 9c178435fba30f820a1dcd7845313609466c925a Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 19:10:37 +0000 Subject: [PATCH 040/325] raqm: fix FriBiDi<1 support --- src/_imagingft.c | 4 ++-- src/thirdparty/fribidi-shim/fribidi.c | 23 +++++++++++++------ src/thirdparty/fribidi-shim/fribidi.h | 32 ++++++++++++++------------- 3 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/_imagingft.c b/src/_imagingft.c index b2cf76ce7..0995abab3 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -1397,10 +1397,10 @@ setup_module(PyObject *m) { PyDict_SetItemString(d, "raqm_version", v); #ifdef FRIBIDI_MAJOR_VERSION - a = strchr(fribidi_version_info, '1'); + a = strchr(fribidi_version_info, ')'); b = strchr(fribidi_version_info, '\n'); if (a && b) { - v = PyUnicode_FromStringAndSize(a, b - a); + v = PyUnicode_FromStringAndSize(a + 2, b - a - 2); } else { v = Py_None; } diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index 20364ea24..55e2a6ab3 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -11,7 +11,7 @@ #include "fribidi.h" -/* ..._ex adds bracket_types param, ignore and call legacy function */ +/* FriBiDi>=1.0.0 adds bracket_types param, ignore and call legacy function */ FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( const FriBidiCharType *bidi_types, const FriBidiBracketType *bracket_types, @@ -23,6 +23,14 @@ FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( bidi_types, len, pbase_dir, embedding_levels); } +/* FriBiDi>=1.0.0 gets bracket types here, ignore */ +void fribidi_get_bracket_types_compat( + const FriBidiChar *str, + const FriBidiStrIndex len, + const FriBidiCharType *types, + FriBidiBracketType *btypes) +{ /* no-op*/ } + int load_fribidi(void) { int error = 0; @@ -58,19 +66,20 @@ int load_fribidi(void) { return 1; } - /* load ..._ex first to preserve error variable */ + /* load FriBiDi>=1.0.0 functions first, use error to detect version */ LOAD_FUNCTION(fribidi_get_par_embedding_levels_ex); + LOAD_FUNCTION(fribidi_get_bracket_types); if (error) { - /* using FriBiDi 0.x, emulate ..._ex function */ - fribidi_get_par_embedding_levels_ex = &fribidi_get_par_embedding_levels_ex_compat; + /* using FriBiDi<1.0.0, ignore new parameters */ error = 0; + fribidi_get_par_embedding_levels_ex = &fribidi_get_par_embedding_levels_ex_compat; + fribidi_get_bracket_types = &fribidi_get_bracket_types_compat; } - LOAD_FUNCTION(fribidi_get_bidi_types); - LOAD_FUNCTION(fribidi_get_bracket_types); - LOAD_FUNCTION(fribidi_get_par_embedding_levels); LOAD_FUNCTION(fribidi_unicode_to_charset); LOAD_FUNCTION(fribidi_charset_to_unicode); + LOAD_FUNCTION(fribidi_get_bidi_types); + LOAD_FUNCTION(fribidi_get_par_embedding_levels); #ifndef _WIN32 fribidi_version_info = *(const char**)dlsym(p_fribidi, "fribidi_version_info"); diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h index 0f0cdac21..7712a5b22 100644 --- a/src/thirdparty/fribidi-shim/fribidi.h +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -72,27 +72,29 @@ typedef uint32_t FriBidiParType; typedef ret (*t_##name) (__VA_ARGS__); \ FRIBIDI_ENTRY t_##name name; -FRIBIDI_FUNC(void, fribidi_get_bidi_types, - const FriBidiChar *, const FriBidiStrIndex, FriBidiCharType *); - -FRIBIDI_FUNC(void, fribidi_get_bracket_types, - const FriBidiChar *, const FriBidiStrIndex, const FriBidiCharType *, - FriBidiBracketType *); - -FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels_ex, - const FriBidiCharType *, const FriBidiBracketType *, const FriBidiStrIndex, - FriBidiParType *, FriBidiLevel *); - -FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels, - const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, - FriBidiLevel *); - FRIBIDI_FUNC(FriBidiStrIndex, fribidi_unicode_to_charset, FriBidiCharSet, const FriBidiChar *, FriBidiStrIndex, char *); FRIBIDI_FUNC(FriBidiStrIndex, fribidi_charset_to_unicode, FriBidiCharSet, const char *, FriBidiStrIndex, FriBidiChar *); +FRIBIDI_FUNC(void, fribidi_get_bidi_types, + const FriBidiChar *, const FriBidiStrIndex, FriBidiCharType *); + +FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels, + const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, + FriBidiLevel *); + +/* FriBiDi>=1.0.0 */ +FRIBIDI_FUNC(FriBidiLevel, fribidi_get_par_embedding_levels_ex, + const FriBidiCharType *, const FriBidiBracketType *, const FriBidiStrIndex, + FriBidiParType *, FriBidiLevel *); + +/* FriBiDi>=1.0.0 */ +FRIBIDI_FUNC(void, fribidi_get_bracket_types, + const FriBidiChar *, const FriBidiStrIndex, const FriBidiCharType *, + FriBidiBracketType *); + #undef FRIBIDI_FUNC /* constant, not a function */ From db0dad909e53ac2f25e4badab4d2aad464c49a68 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 25 Nov 2020 19:33:33 +0000 Subject: [PATCH 041/325] test --- setup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.py b/setup.py index cb4ec2da8..031cf5e4e 100755 --- a/setup.py +++ b/setup.py @@ -29,6 +29,8 @@ def get_version(): NAME = "Pillow" PILLOW_VERSION = get_version() FREETYPE_ROOT = None +HARFBUZZ_ROOT = None +FRIBIDI_ROOT = None IMAGEQUANT_ROOT = None JPEG2K_ROOT = None JPEG_ROOT = None @@ -417,6 +419,8 @@ class pil_build_ext(build_ext): TIFF_ROOT=("libtiff-5", "libtiff-4"), ZLIB_ROOT="zlib", FREETYPE_ROOT="freetype2", + HARFBUZZ_ROOT="harfbuzz", + FRIBIDI_ROOT="fribidi", LCMS_ROOT="lcms2", IMAGEQUANT_ROOT="libimagequant", ).items(): From 8c02e3803b995fe0e0d8db2ea4a59c394130d611 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 2 Jan 2021 12:37:21 +0100 Subject: [PATCH 042/325] Revert "raqm: avoid declaring variables in for statement for C89 compatibility" This reverts commit b3cfe73854e74bc25a88f53b177713bfb63812e4. --- src/thirdparty/raqm/raqm.c | 127 ++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 74 deletions(-) diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c index 96523ffb9..5a0b2078e 100644 --- a/src/thirdparty/raqm/raqm.c +++ b/src/thirdparty/raqm/raqm.c @@ -220,7 +220,6 @@ static bool _raqm_init_text_info (raqm_t *rq) { hb_language_t default_lang; - size_t i; if (rq->text_info) return true; @@ -230,7 +229,7 @@ _raqm_init_text_info (raqm_t *rq) return false; default_lang = hb_language_get_default (); - for (i = 0; i < rq->text_len; i++) + for (size_t i = 0; i < rq->text_len; i++) { rq->text_info[i].ftface = NULL; rq->text_info[i].lang = default_lang; @@ -243,12 +242,10 @@ _raqm_init_text_info (raqm_t *rq) static void _raqm_free_text_info (raqm_t *rq) { - size_t i; - if (!rq->text_info) return; - for (i = 0; i < rq->text_len; i++) + for (size_t i = 0; i < rq->text_len; i++) { if (rq->text_info[i].ftface) FT_Done_Face (rq->text_info[i].ftface); @@ -554,7 +551,6 @@ raqm_set_language (raqm_t *rq, size_t len) { hb_language_t language; - size_t i; size_t end = start + len; if (!rq) @@ -576,7 +572,7 @@ raqm_set_language (raqm_t *rq, return false; language = hb_language_from_string (lang, -1); - for (i = start; i < end; i++) + for (size_t i = start; i < end; i++) { rq->text_info[i].lang = language; } @@ -650,8 +646,6 @@ _raqm_set_freetype_face (raqm_t *rq, size_t start, size_t end) { - size_t i; - if (!rq) return false; @@ -664,7 +658,7 @@ _raqm_set_freetype_face (raqm_t *rq, if (!rq->text_info) return false; - for (i = start; i < end; i++) + for (size_t i = start; i < end; i++) { if (rq->text_info[i].ftface) FT_Done_Face (rq->text_info[i].ftface); @@ -838,8 +832,6 @@ _raqm_shape (raqm_t *rq); bool raqm_layout (raqm_t *rq) { - size_t i; - if (!rq) return false; @@ -849,7 +841,7 @@ raqm_layout (raqm_t *rq) if (!rq->text_info) return false; - for (i = 0; i < rq->text_len; i++) + for (size_t i = 0; i < rq->text_len; i++) { if (!rq->text_info[i].ftface) return false; @@ -887,9 +879,6 @@ raqm_glyph_t * raqm_get_glyphs (raqm_t *rq, size_t *length) { - size_t i; - raqm_run_t *run; - size_t count = 0; if (!rq || !rq->runs || !length) @@ -899,7 +888,7 @@ raqm_get_glyphs (raqm_t *rq, return NULL; } - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) count += hb_buffer_get_length (run->buffer); *length = count; @@ -917,7 +906,7 @@ raqm_get_glyphs (raqm_t *rq, RAQM_TEST ("Glyph information:\n"); count = 0; - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -927,7 +916,7 @@ raqm_get_glyphs (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (i = 0; i < len; i++) + for (size_t i = 0; i < len; i++) { rq->glyphs[count + i].index = info[i].codepoint; rq->glyphs[count + i].cluster = info[i].cluster; @@ -950,18 +939,18 @@ raqm_get_glyphs (raqm_t *rq, { #ifdef RAQM_TESTING RAQM_TEST ("\nUTF-32 clusters:"); - for (i = 0; i < count; i++) + for (size_t i = 0; i < count; i++) RAQM_TEST (" %02d", rq->glyphs[i].cluster); RAQM_TEST ("\n"); #endif - for (i = 0; i < count; i++) + for (size_t i = 0; i < count; i++) rq->glyphs[i].cluster = _raqm_u32_to_u8_index (rq, rq->glyphs[i].cluster); #ifdef RAQM_TESTING RAQM_TEST ("UTF-8 clusters: "); - for (i = 0; i < count; i++) + for (size_t i = 0; i < count; i++) RAQM_TEST (" %02d", rq->glyphs[i].cluster); RAQM_TEST ("\n"); #endif @@ -994,11 +983,9 @@ typedef struct { static void _raqm_reverse_run (_raqm_bidi_run *run, const size_t len) { - size_t i; - assert (run); - for (i = 0; i < len / 2; i++) + for (size_t i = 0; i < len / 2; i++) { _raqm_bidi_run temp = run[i]; run[i] = run[len - 1 - i]; @@ -1015,7 +1002,6 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* output */ size_t *run_count) { - size_t i; FriBidiLevel level; FriBidiLevel last_level = -1; FriBidiLevel max_level = 0; @@ -1035,7 +1021,8 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* L1. Reset the embedding levels of some chars: 4. any sequence of white space characters at the end of the line. */ - for (i = len; i-- > 0 && FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS (types[i]); ) + for (int i = len - 1; + i >= 0 && FRIBIDI_IS_EXPLICIT_OR_BN_OR_WS (types[i]); i--) { levels[i] = FRIBIDI_DIR_TO_LEVEL (base_dir); } @@ -1043,13 +1030,13 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* Find max_level of the line. We don't reuse the paragraph * max_level, both for a cleaner API, and that the line max_level * may be far less than paragraph max_level. */ - for (i = len; i-- > 0; ) + for (int i = len - 1; i >= 0; i--) { if (levels[i] > max_level) max_level = levels[i]; } - for (i = 0; i < len; i++) + for (size_t i = 0; i < len; i++) { if (levels[i] != last_level) count++; @@ -1077,16 +1064,14 @@ _raqm_reorder_runs (const FriBidiCharType *types, /* L2. Reorder. */ for (level = max_level; level > 0; level--) { - for (i = count; i-- > 0; ) + for (int i = count - 1; i >= 0; i--) { if (runs[i].level >= level) { int end = i; - for (; (i > 0 && runs[i - 1].level >= level); i--) + for (i--; (i >= 0 && runs[i].level >= level); i--) ; - _raqm_reverse_run (runs + i, end - i + 1); - if (i-- == 0) - break; + _raqm_reverse_run (runs + i + 1, end - i); } } } @@ -1098,8 +1083,6 @@ _raqm_reorder_runs (const FriBidiCharType *types, static bool _raqm_itemize (raqm_t *rq) { - size_t i, j; - raqm_run_t *run; FriBidiParType par_type = FRIBIDI_PAR_ON; FriBidiCharType *types; #ifdef USE_FRIBIDI_EX_API @@ -1202,7 +1185,7 @@ _raqm_itemize (raqm_t *rq) RAQM_TEST ("Number of runs before script itemization: %zu\n\n", run_count); RAQM_TEST ("Fribidi Runs:\n"); - for (i = 0; i < run_count; i++) + for (size_t i = 0; i < run_count; i++) { RAQM_TEST ("run[%zu]:\t start: %zu\tlength: %zu\tlevel: %d\n", i, runs[i].pos, runs[i].len, runs[i].level); @@ -1211,7 +1194,7 @@ _raqm_itemize (raqm_t *rq) #endif last = NULL; - for (i = 0; i < run_count; i++) + for (size_t i = 0; i < run_count; i++) { raqm_run_t *run = calloc (1, sizeof (raqm_run_t)); if (!run) @@ -1233,7 +1216,7 @@ _raqm_itemize (raqm_t *rq) run->pos = runs[i].pos + runs[i].len - 1; run->script = rq->text_info[run->pos].script; run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); - for (j = runs[i].len; j-- > 0; ) + for (int j = runs[i].len - 1; j >= 0; j--) { _raqm_text_info info = rq->text_info[runs[i].pos + j]; if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) @@ -1264,7 +1247,7 @@ _raqm_itemize (raqm_t *rq) run->pos = runs[i].pos; run->script = rq->text_info[run->pos].script; run->font = _raqm_create_hb_font (rq, rq->text_info[run->pos].ftface); - for (j = 0; j < runs[i].len; j++) + for (size_t j = 0; j < runs[i].len; j++) { _raqm_text_info info = rq->text_info[runs[i].pos + j]; if (!_raqm_compare_text_info (rq->text_info[run->pos], info)) @@ -1294,13 +1277,13 @@ _raqm_itemize (raqm_t *rq) #ifdef RAQM_TESTING run_count = 0; - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) run_count++; RAQM_TEST ("Number of runs after script itemization: %zu\n\n", run_count); run_count = 0; RAQM_TEST ("Final Runs:\n"); - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) { SCRIPT_TO_STRING (run->script); RAQM_TEST ("run[%zu]:\t start: %d\tlength: %d\tdirection: %s\tscript: %s\tfont: %s\n", @@ -1465,19 +1448,18 @@ _get_pair_index (const FriBidiChar ch) static bool _raqm_resolve_scripts (raqm_t *rq) { - size_t i, j; - size_t next_script_index = 0; - size_t next_set_index = 0; + int last_script_index = -1; + int last_set_index = -1; hb_script_t last_script = HB_SCRIPT_INVALID; _raqm_stack_t *stack = NULL; hb_unicode_funcs_t* unicode_funcs = hb_unicode_funcs_get_default (); - for (i = 0; i < rq->text_len; ++i) + for (size_t i = 0; i < rq->text_len; ++i) rq->text_info[i].script = hb_unicode_script (unicode_funcs, rq->text[i]); #ifdef RAQM_TESTING RAQM_TEST ("Before script detection:\n"); - for (i = 0; i < rq->text_len; ++i) + for (size_t i = 0; i < rq->text_len; ++i) { SCRIPT_TO_STRING (rq->text_info[i].script); RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); @@ -1489,9 +1471,9 @@ _raqm_resolve_scripts (raqm_t *rq) if (!stack) return false; - for (i = 0; i < rq->text_len; i++) + for (int i = 0; i < (int) rq->text_len; i++) { - if (rq->text_info[i].script == HB_SCRIPT_COMMON && next_script_index != 0) + if (rq->text_info[i].script == HB_SCRIPT_COMMON && last_script_index != -1) { int pair_index = _get_pair_index (rq->text[i]); if (pair_index >= 0) @@ -1500,7 +1482,7 @@ _raqm_resolve_scripts (raqm_t *rq) { /* is a paired character */ rq->text_info[i].script = last_script; - next_set_index = i + 1; + last_set_index = i; _raqm_stack_push (stack, rq->text_info[i].script, pair_index); } else @@ -1517,34 +1499,34 @@ _raqm_resolve_scripts (raqm_t *rq) { rq->text_info[i].script = _raqm_stack_top (stack); last_script = rq->text_info[i].script; - next_set_index = i + 1; + last_set_index = i; } else { rq->text_info[i].script = last_script; - next_set_index = i + 1; + last_set_index = i; } } } else { rq->text_info[i].script = last_script; - next_set_index = i + 1; + last_set_index = i; } } else if (rq->text_info[i].script == HB_SCRIPT_INHERITED && - next_script_index != 0) + last_script_index != -1) { rq->text_info[i].script = last_script; - next_set_index = i + 1; + last_set_index = i; } else { - for (j = next_set_index; j < i; ++j) + for (int j = last_set_index + 1; j < i; ++j) rq->text_info[j].script = rq->text_info[i].script; last_script = rq->text_info[i].script; - next_script_index = i + 1; - next_set_index = i + 1; + last_script_index = i; + last_set_index = i; } } @@ -1552,7 +1534,7 @@ _raqm_resolve_scripts (raqm_t *rq) * take the script if the next character. * https://github.com/HOST-Oman/libraqm/issues/95 */ - for (i = rq->text_len - 1; i-- > 0; ) + for (int i = rq->text_len - 2; i >= 0; --i) { if (rq->text_info[i].script == HB_SCRIPT_INHERITED || rq->text_info[i].script == HB_SCRIPT_COMMON) @@ -1561,7 +1543,7 @@ _raqm_resolve_scripts (raqm_t *rq) #ifdef RAQM_TESTING RAQM_TEST ("After script detection:\n"); - for (i = 0; i < rq->text_len; ++i) + for (size_t i = 0; i < rq->text_len; ++i) { SCRIPT_TO_STRING (rq->text_info[i].script); RAQM_TEST ("script for ch[%zu]\t%s\n", i, buff); @@ -1577,7 +1559,6 @@ _raqm_resolve_scripts (raqm_t *rq) static bool _raqm_shape (raqm_t *rq) { - raqm_run_t *run; hb_buffer_flags_t hb_buffer_flags = HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT; #if defined(HAVE_DECL_HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES) && \ @@ -1586,7 +1567,7 @@ _raqm_shape (raqm_t *rq) hb_buffer_flags |= HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES; #endif - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) { run->buffer = hb_buffer_create (); @@ -1672,8 +1653,6 @@ raqm_index_to_position (raqm_t *rq, int *x, int *y) { - size_t i, j; - raqm_run_t *run; /* We don't currently support multiline, so y is always 0 */ *y = 0; *x = 0; @@ -1697,7 +1676,7 @@ raqm_index_to_position (raqm_t *rq, ++*index; } - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -1706,7 +1685,7 @@ raqm_index_to_position (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (i = 0; i < len; i++) + for (size_t i = 0; i < len; i++) { uint32_t curr_cluster = info[i].cluster; uint32_t next_cluster = curr_cluster; @@ -1714,12 +1693,13 @@ raqm_index_to_position (raqm_t *rq, if (run->direction == HB_DIRECTION_LTR) { - for (j = i + 1; j < len && next_cluster == curr_cluster; j++) + for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) next_cluster = info[j].cluster; } else { - for (j = i; i != 0 && j-- > 0 && next_cluster == curr_cluster; ) + for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; + j--) next_cluster = info[j].cluster; } @@ -1765,8 +1745,6 @@ raqm_position_to_index (raqm_t *rq, int y, size_t *index) { - size_t i, j; - raqm_run_t *run; int delta_x = 0, current_x = 0; (void)y; @@ -1784,7 +1762,7 @@ raqm_position_to_index (raqm_t *rq, RAQM_TEST ("\n"); - for (run = rq->runs; run != NULL; run = run->next) + for (raqm_run_t *run = rq->runs; run != NULL; run = run->next) { size_t len; hb_glyph_info_t *info; @@ -1793,7 +1771,7 @@ raqm_position_to_index (raqm_t *rq, info = hb_buffer_get_glyph_infos (run->buffer, NULL); position = hb_buffer_get_glyph_positions (run->buffer, NULL); - for (i = 0; i < len; i++) + for (size_t i = 0; i < len; i++) { delta_x = position[i].x_advance; if (x < (current_x + delta_x)) @@ -1811,10 +1789,11 @@ raqm_position_to_index (raqm_t *rq, uint32_t curr_cluster = info[i].cluster; uint32_t next_cluster = curr_cluster; if (run->direction == HB_DIRECTION_LTR) - for (j = i + 1; j < len && next_cluster == curr_cluster; j++) + for (size_t j = i + 1; j < len && next_cluster == curr_cluster; j++) next_cluster = info[j].cluster; else - for (j = i; i != 0 && j-- > 0 && next_cluster == curr_cluster; ) + for (int j = i - 1; i != 0 && j >= 0 && next_cluster == curr_cluster; + j--) next_cluster = info[j].cluster; if (next_cluster == curr_cluster) From 43bde01623d6db01435b8a821160ac48d9b722b0 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 2 Jan 2021 12:47:08 +0100 Subject: [PATCH 043/325] disable Raqm/FriBiDi vendoring by default, except in Windows tests --- setup.py | 22 +++++++++++----------- winbuild/build_prepare.py | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/setup.py b/setup.py index 031cf5e4e..65fc7c47f 100755 --- a/setup.py +++ b/setup.py @@ -125,7 +125,7 @@ _LIB_IMAGING = ( "codec_fd", ) -DEBUG = True +DEBUG = False class DependencyException(Exception): @@ -292,7 +292,7 @@ class pil_build_ext(build_ext): ] required = {"jpeg", "zlib"} - system = set() + vendor = set() def __init__(self): for f in self.features: @@ -305,7 +305,7 @@ class pil_build_ext(build_ext): return getattr(self, feat) is None def want_system(self, feat): - return feat in self.system + return feat not in self.vendor def __iter__(self): yield from self.features @@ -317,7 +317,7 @@ class pil_build_ext(build_ext): + [(f"disable-{x}", None, f"Disable support for {x}") for x in feature] + [(f"enable-{x}", None, f"Enable support for {x}") for x in feature] + [ - (f"system-{x}", None, f"Use system version of {x}") + (f"_vendor-{x}", None, f"Use vendored version of {x}") for x in ("raqm", "fribidi") ] + [ @@ -335,7 +335,7 @@ class pil_build_ext(build_ext): setattr(self, f"disable_{x}", None) setattr(self, f"enable_{x}", None) for x in ("raqm", "fribidi"): - setattr(self, f"system_{x}", None) + setattr(self, f"_vendor_{x}", None) def finalize_options(self): build_ext.finalize_options(self) @@ -374,17 +374,17 @@ class pil_build_ext(build_ext): _dbg("--enable-raqm implies --enable-freetype") self.feature.required.add("freetype") for x in ("raqm", "fribidi"): - if getattr(self, f"system_{x}"): + if getattr(self, f"_vendor_{x}"): if getattr(self, "disable_raqm"): raise ValueError( - f"Conflicting options: --system-{x} and --disable-raqm" + f"Conflicting options: --_vendor-{x} and --disable-raqm" ) - if x == "fribidi" and getattr(self, "system_raqm"): + if x == "fribidi" and not getattr(self, "_vendor_raqm"): raise ValueError( - f"Conflicting options: --system-{x} and --system-raqm" + f"Conflicting options: --_vendor-{x} and not --_vendor-raqm" ) - _dbg("Using system version of %s", x) - self.feature.system.add(x) + _dbg("Using vendored version of %s", x) + self.feature.vendor.add(x) def _update_extension(self, name, libraries, define_macros=None, sources=None): for extension in self.extensions: diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index fd63f4f1e..100f07e90 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -472,7 +472,7 @@ def build_pillow(): cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow cmd_set("MSSdk", "1"), # for PyPy3.6 cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT - r'"{python_dir}\{python_exe}" setup.py build_ext %*', + r'"{python_dir}\{python_exe}" setup.py build_ext --_vendor-raqm --_vendor-fribidi %*', ] write_script("build_pillow.cmd", lines) From 0488a2761ac3ccc6cc65f910a8254b0e0677b0c9 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 2 Jan 2021 12:51:45 +0100 Subject: [PATCH 044/325] can't use underscore prefix for distutils options --- setup.py | 12 ++++++------ winbuild/build_prepare.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/setup.py b/setup.py index 65fc7c47f..fbf869ffb 100755 --- a/setup.py +++ b/setup.py @@ -317,7 +317,7 @@ class pil_build_ext(build_ext): + [(f"disable-{x}", None, f"Disable support for {x}") for x in feature] + [(f"enable-{x}", None, f"Enable support for {x}") for x in feature] + [ - (f"_vendor-{x}", None, f"Use vendored version of {x}") + (f"vendor-{x}", None, f"Use vendored version of {x}") for x in ("raqm", "fribidi") ] + [ @@ -335,7 +335,7 @@ class pil_build_ext(build_ext): setattr(self, f"disable_{x}", None) setattr(self, f"enable_{x}", None) for x in ("raqm", "fribidi"): - setattr(self, f"_vendor_{x}", None) + setattr(self, f"vendor_{x}", None) def finalize_options(self): build_ext.finalize_options(self) @@ -374,14 +374,14 @@ class pil_build_ext(build_ext): _dbg("--enable-raqm implies --enable-freetype") self.feature.required.add("freetype") for x in ("raqm", "fribidi"): - if getattr(self, f"_vendor_{x}"): + if getattr(self, f"vendor_{x}"): if getattr(self, "disable_raqm"): raise ValueError( - f"Conflicting options: --_vendor-{x} and --disable-raqm" + f"Conflicting options: --vendor-{x} and --disable-raqm" ) - if x == "fribidi" and not getattr(self, "_vendor_raqm"): + if x == "fribidi" and not getattr(self, "vendor_raqm"): raise ValueError( - f"Conflicting options: --_vendor-{x} and not --_vendor-raqm" + f"Conflicting options: --vendor-{x} and not --vendor-raqm" ) _dbg("Using vendored version of %s", x) self.feature.vendor.add(x) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 100f07e90..dc372f36b 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -472,7 +472,7 @@ def build_pillow(): cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow cmd_set("MSSdk", "1"), # for PyPy3.6 cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT - r'"{python_dir}\{python_exe}" setup.py build_ext --_vendor-raqm --_vendor-fribidi %*', + r'"{python_dir}\{python_exe}" setup.py build_ext --vendor-raqm --vendor-fribidi %*', ] write_script("build_pillow.cmd", lines) From aae94110d76acedf7d4fb12bb45cc77df06027e2 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 2 Jan 2021 13:08:38 +0100 Subject: [PATCH 045/325] lint --- winbuild/build_prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index dc372f36b..3b1a15eac 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -472,7 +472,7 @@ def build_pillow(): cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow cmd_set("MSSdk", "1"), # for PyPy3.6 cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT - r'"{python_dir}\{python_exe}" setup.py build_ext --vendor-raqm --vendor-fribidi %*', + r'"{python_dir}\{python_exe}" setup.py build_ext --vendor-raqm --vendor-fribidi %*', # noqa: E501 ] write_script("build_pillow.cmd", lines) From a9f31ffee36913df0e1e6fa8af2c4f3e46555e39 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 6 Jan 2021 10:59:03 +0100 Subject: [PATCH 046/325] use python3 in .ci/test.sh --- .ci/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/test.sh b/.ci/test.sh index 5a19ec9b4..0f681fe30 100755 --- a/.ci/test.sh +++ b/.ci/test.sh @@ -2,4 +2,4 @@ set -e -python -bb -m pytest -v -x -W always --cov PIL --cov Tests --cov-report term Tests +python3 -bb -m pytest -v -x -W always --cov PIL --cov Tests --cov-report term Tests From 2e5d7dd38715d08a6da721c1f28c3e50be6442ed Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 6 Jan 2021 22:42:31 +1100 Subject: [PATCH 047/325] Use python3 --- .github/workflows/lint.yml | 6 +++--- .github/workflows/test-docker.yml | 2 +- .github/workflows/test.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3c658293e..bddeb6150 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -34,12 +34,12 @@ jobs: python-version: 3.8 - name: Build system information - run: python .github/workflows/system-info.py + run: python3 .github/workflows/system-info.py - name: Install dependencies run: | - python -m pip install -U pip - python -m pip install -U tox + python3 -m pip install -U pip + python3 -m pip install -U tox - name: Lint run: tox -e lint diff --git a/.github/workflows/test-docker.yml b/.github/workflows/test-docker.yml index eb173c359..2ecc27460 100644 --- a/.github/workflows/test-docker.yml +++ b/.github/workflows/test-docker.yml @@ -41,7 +41,7 @@ jobs: - uses: actions/checkout@v2 - name: Build system information - run: python .github/workflows/system-info.py + run: python3 .github/workflows/system-info.py - name: Set up QEMU if: "matrix.qemu-arch" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d127916ea..4064a0589 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,7 +58,7 @@ jobs: ${{ matrix.os }}-${{ matrix.python-version }}- - name: Build system information - run: python .github/workflows/system-info.py + run: python3 .github/workflows/system-info.py - name: Install Linux dependencies if: startsWith(matrix.os, 'ubuntu') From ffbaa6523d7b567e0be07aeb0e5c9620a375ac24 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 7 Jan 2021 12:51:34 +0100 Subject: [PATCH 048/325] Internal support for oss-fuzz testing --- Tests/oss-fuzz/fuzz_pillow.py | 45 +++++++++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Tests/oss-fuzz/fuzz_pillow.py diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py new file mode 100644 index 000000000..585f53486 --- /dev/null +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -0,0 +1,45 @@ +#!/usr/bin/python3 + +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import atheris_no_libfuzzer as atheris +import sys +import os +import io +import warnings +from PIL import Image, ImageFile, ImageFilter + +def TestOneInput(data): + try: + with Image.open(io.BytesIO(data)) as im: + im.rotate(45) + im.filter(ImageFilter.DETAIL) + im.save(io.BytesIO(), "BMP") + except Exception: + # We're catching all exceptions because Pillow's exceptions are + # directly inheriting from Exception. + return + return + +def main(): + ImageFile.LOAD_TRUNCATED_IMAGES = True + warnings.filterwarnings("ignore") + warnings.simplefilter('error', Image.DecompressionBombWarning) + atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) + atheris.Fuzz() + +if __name__ == "__main__": + main() + diff --git a/setup.py b/setup.py index cbc2641c5..41e8a4630 100755 --- a/setup.py +++ b/setup.py @@ -840,7 +840,7 @@ class pil_build_ext(build_ext): def debug_build(): - return hasattr(sys, "gettotalrefcount") + return hasattr(sys, "gettotalrefcount") or os.environ.get("LIB_FUZZING_ENGINE", None) files = ["src/_imaging.c"] From 37a7c601cc8ec34439d026d07fa19a6049b53bf7 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 7 Jan 2021 13:07:28 +0100 Subject: [PATCH 049/325] uglify --- Tests/oss-fuzz/fuzz_pillow.py | 20 ++++++++++++-------- setup.py | 4 +++- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py index 585f53486..b2b2ba65a 100644 --- a/Tests/oss-fuzz/fuzz_pillow.py +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -14,32 +14,36 @@ # See the License for the specific language governing permissions and # limitations under the License. -import atheris_no_libfuzzer as atheris -import sys -import os import io +import os +import sys import warnings + +import atheris_no_libfuzzer as atheris + from PIL import Image, ImageFile, ImageFilter + def TestOneInput(data): try: with Image.open(io.BytesIO(data)) as im: - im.rotate(45) - im.filter(ImageFilter.DETAIL) - im.save(io.BytesIO(), "BMP") + im.rotate(45) + im.filter(ImageFilter.DETAIL) + im.save(io.BytesIO(), "BMP") except Exception: # We're catching all exceptions because Pillow's exceptions are # directly inheriting from Exception. return return + def main(): ImageFile.LOAD_TRUNCATED_IMAGES = True warnings.filterwarnings("ignore") - warnings.simplefilter('error', Image.DecompressionBombWarning) + warnings.simplefilter("error", Image.DecompressionBombWarning) atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) atheris.Fuzz() + if __name__ == "__main__": main() - diff --git a/setup.py b/setup.py index 41e8a4630..dd1772ae0 100755 --- a/setup.py +++ b/setup.py @@ -840,7 +840,9 @@ class pil_build_ext(build_ext): def debug_build(): - return hasattr(sys, "gettotalrefcount") or os.environ.get("LIB_FUZZING_ENGINE", None) + return hasattr(sys, "gettotalrefcount") or os.environ.get( + "LIB_FUZZING_ENGINE", None + ) files = ["src/_imaging.c"] From eaeaa181dd0b414d85597d15c28a87197db837b3 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Thu, 7 Jan 2021 23:18:24 +1100 Subject: [PATCH 050/325] Removed unused import --- Tests/oss-fuzz/fuzz_pillow.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py index b2b2ba65a..894068f63 100644 --- a/Tests/oss-fuzz/fuzz_pillow.py +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -15,7 +15,6 @@ # limitations under the License. import io -import os import sys import warnings From 497f9e27642f6ce421ed3f7cf7038cfa12ef4af2 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 8 Jan 2021 00:06:18 +1100 Subject: [PATCH 051/325] Fixed unexpected indentation [ci skip] --- docs/reference/ImageColor.rst | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/reference/ImageColor.rst b/docs/reference/ImageColor.rst index 9730bd28f..457f166b4 100644 --- a/docs/reference/ImageColor.rst +++ b/docs/reference/ImageColor.rst @@ -16,16 +16,20 @@ Color Names The ImageColor module supports the following string formats: -* Hexadecimal color specifiers, given as ``#rgb``, ``#rgba``, ``#rrggbb`` or ``#rrggbbaa``, - with the following placeholders: - - ``r``: red - - ``g``: green - - ``b``: blue - - ``a``: alpha / opacity (can be used in combination with ``mode="RGBA"`` in :py:mod:`~PIL.ImageDraw`) - +* Hexadecimal color specifiers, given as ``#rgb``, ``#rgba``, ``#rrggbb`` or + ``#rrggbbaa``, with the following placeholders: + + - ``r`` red + - ``g`` green + - ``b`` blue + - ``a`` alpha / opacity (can be used in combination with ``mode="RGBA"`` in + :py:mod:`~PIL.ImageDraw`) + Examples: - - ``#ff0000`` specifies pure red. - - ``#ff0000aa`` specifies pure red with an opacity of 66.66% (aa = 170, opacity = 170/255). + + - ``#ff0000`` specifies pure red. + - ``#ff0000aa`` specifies pure red with an opacity of 66.66% (aa = 170, opacity = + 170/255). * RGB functions, given as ``rgb(red, green, blue)`` where the color values are From 59ed81f8387b1491890aa20482e2f1776ecf9970 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 28 Dec 2020 13:48:46 +0100 Subject: [PATCH 052/325] Add pytest configuration for patching around an unknown valgrind mark --- Tests/conftest.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Tests/conftest.py b/Tests/conftest.py index 082f2f7c3..1b2fffdc5 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -10,3 +10,18 @@ def pytest_report_header(config): return out.getvalue() except Exception as e: return f"pytest_report_header failed: {e}" + +def pytest_configure(config): + # We're marking some tests to ignore valgrind errors and XFAIL them. + # Ensure that the mark is defined even in cases where pytest-valgrind isn't installed + + import pytest + import warnings + + with warnings.catch_warnings(): + warnings.simplefilter("error") + try: + getattr(pytest.mark, "valgrind_known_error") + except: + config.addinivalue_line("markers", + "valgrind_known_error: Tests that have known issues with valgrind") From bd384873243b095cfd057c7ec1a2d617923d152d Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 28 Dec 2020 13:49:12 +0100 Subject: [PATCH 053/325] Ignore this test in valgrind -- the metadata values don't make logical sense. --- Tests/test_file_libtiff.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 7d3e10c24..473671ce1 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -185,6 +185,7 @@ class TestFileLibTiff(LibTiffTestCase): for field in requested_fields: assert field in reloaded, f"{field} not in metadata" + @pytest.mark.valgrind_known_error(reason="Known Invalid Metadata") def test_additional_metadata(self, tmp_path): # these should not crash. Seriously dummy data, most of it doesn't make # any sense, so we're running up against limits where we're asking From d35995f945398d9c7cdefcae24d7fea889916116 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 30 Dec 2020 14:41:22 +1100 Subject: [PATCH 054/325] Lint fixes --- Tests/conftest.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Tests/conftest.py b/Tests/conftest.py index 1b2fffdc5..7da77aa9f 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -11,17 +11,22 @@ def pytest_report_header(config): except Exception as e: return f"pytest_report_header failed: {e}" + def pytest_configure(config): # We're marking some tests to ignore valgrind errors and XFAIL them. - # Ensure that the mark is defined even in cases where pytest-valgrind isn't installed + # Ensure that the mark is defined + # even in cases where pytest-valgrind isn't installed + + import warnings import pytest - import warnings with warnings.catch_warnings(): warnings.simplefilter("error") try: getattr(pytest.mark, "valgrind_known_error") except: - config.addinivalue_line("markers", - "valgrind_known_error: Tests that have known issues with valgrind") + config.addinivalue_line( + "markers", + "valgrind_known_error: Tests that have known issues with valgrind", + ) From 59ee809f135b45a7cfa08303260dcf009ddb13c2 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Thu, 31 Dec 2020 09:38:40 +1100 Subject: [PATCH 055/325] Updated capitalisation Co-authored-by: Hugo van Kemenade --- Tests/test_file_libtiff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 473671ce1..9d4956034 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -185,7 +185,7 @@ class TestFileLibTiff(LibTiffTestCase): for field in requested_fields: assert field in reloaded, f"{field} not in metadata" - @pytest.mark.valgrind_known_error(reason="Known Invalid Metadata") + @pytest.mark.valgrind_known_error(reason="Known invalid metadata") def test_additional_metadata(self, tmp_path): # these should not crash. Seriously dummy data, most of it doesn't make # any sense, so we're running up against limits where we're asking From a58ff327d41307f8810b42311e8560fc3fc08495 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 31 Dec 2020 09:46:16 +1100 Subject: [PATCH 056/325] Moved imports to top of file --- Tests/conftest.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Tests/conftest.py b/Tests/conftest.py index 7da77aa9f..e0f3ded1d 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -1,4 +1,7 @@ import io +import warnings + +import pytest def pytest_report_header(config): @@ -17,10 +20,6 @@ def pytest_configure(config): # Ensure that the mark is defined # even in cases where pytest-valgrind isn't installed - import warnings - - import pytest - with warnings.catch_warnings(): warnings.simplefilter("error") try: From 1d7c8e03d076188524b2d686c9afca6f2c1cc3bc Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 7 Jan 2021 14:50:25 +0100 Subject: [PATCH 057/325] known failing tests from valgrind -- uninitialized values --- Tests/test_file_eps.py | 2 +- Tests/test_file_jpeg.py | 6 ++++++ Tests/test_file_libtiff.py | 5 +++++ Tests/test_file_pdf.py | 2 +- Tests/test_file_png.py | 1 + Tests/test_file_webp_metadata.py | 8 ++++---- Tests/test_image.py | 1 + Tests/test_image_resample.py | 2 ++ Tests/test_image_thumbnail.py | 2 +- 9 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index f585a0669..1d76f5917 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -58,7 +58,7 @@ def test_invalid_file(): with pytest.raises(SyntaxError): EpsImagePlugin.EpsImageFile(invalid_file) - +@pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available") def test_cmyk(): with Image.open("Tests/images/pil_sample_cmyk.eps") as cmyk_image: diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index ff469d15c..435ecbaa7 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -114,6 +114,7 @@ class TestFileJpeg: assert test(100, 200) == (100, 200) assert test(0) is None # square pixels + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_icc(self, tmp_path): # Test ICC support with Image.open("Tests/images/rgb.jpg") as im1: @@ -153,6 +154,7 @@ class TestFileJpeg: test(ImageFile.MAXBLOCK + 1) # full buffer block plus one byte test(ImageFile.MAXBLOCK * 4 + 3) # large block + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_large_icc_meta(self, tmp_path): # https://github.com/python-pillow/Pillow/issues/148 # Sometimes the meta data on the icc_profile block is bigger than @@ -419,6 +421,7 @@ class TestFileJpeg: with Image.open(filename): pass + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_truncated_jpeg_should_read_all_the_data(self): filename = "Tests/images/truncated_jpeg.jpg" ImageFile.LOAD_TRUNCATED_IMAGES = True @@ -437,6 +440,7 @@ class TestFileJpeg: with pytest.raises(OSError): im.load() + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_qtables(self, tmp_path): def _n_qtables_helper(n, test_file): with Image.open(test_file) as im: @@ -720,6 +724,7 @@ class TestFileJpeg: # OSError for unidentified image. assert im.info.get("dpi") == (72, 72) + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_exif_x_resolution(self, tmp_path): with Image.open("Tests/images/flower.jpg") as im: exif = im.getexif() @@ -750,6 +755,7 @@ class TestFileJpeg: # Act / Assert assert im._getexif()[306] == "2017:03:13 23:03:09" + @pytest.mark.valgrind_known_error(reason="Backtrace in Python Core") def test_photoshop(self): with Image.open("Tests/images/photoshop-200dpi.jpg") as im: assert im.info["photoshop"][0x03ED] == { diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 9d4956034..accc9596f 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -815,12 +815,14 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) + @pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) + @pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" @@ -832,12 +834,14 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) + @pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" with Image.open(infile) as im: assert_image_equal_tofile(im, "Tests/images/flower2.jpg") + @pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" @@ -865,6 +869,7 @@ class TestFileLibTiff(LibTiffTestCase): assert_image_similar(base_im, im, 0.7) + @pytest.mark.valgrind_known_error(reason="Backtrace in Python Core") def test_sampleformat_not_corrupted(self): # Assert that a TIFF image with SampleFormat=UINT tag is not corrupted # when saving to a new file. diff --git a/Tests/test_file_pdf.py b/Tests/test_file_pdf.py index 3e23beae7..536b93166 100644 --- a/Tests/test_file_pdf.py +++ b/Tests/test_file_pdf.py @@ -84,7 +84,7 @@ def test_unsupported_mode(tmp_path): with pytest.raises(ValueError): im.save(outfile) - +@pytest.mark.valgrind_known_error(reason="Known Failing") def test_save_all(tmp_path): # Single frame image helper_save_as_pdf(tmp_path, "RGB", save_all=True) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 9028aaf23..4cd4515ae 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -654,6 +654,7 @@ class TestFilePng: exif = reloaded._getexif() assert exif[274] == 1 + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_exif_from_jpg(self, tmp_path): with Image.open("Tests/images/pil_sample_rgb.jpg") as im: test_file = str(tmp_path / "temp.png") diff --git a/Tests/test_file_webp_metadata.py b/Tests/test_file_webp_metadata.py index a2a05f96b..290dc0362 100644 --- a/Tests/test_file_webp_metadata.py +++ b/Tests/test_file_webp_metadata.py @@ -1,5 +1,5 @@ from io import BytesIO - +import pytest from PIL import Image from .helper import skip_unless_feature @@ -38,7 +38,7 @@ def test_read_exif_metadata_without_prefix(): exif = im.getexif() assert exif[305] == "Adobe Photoshop CS6 (Macintosh)" - +@pytest.mark.valgrind_known_error(reason="Known Failing") def test_write_exif_metadata(): file_path = "Tests/images/flower.jpg" test_buffer = BytesIO() @@ -70,7 +70,7 @@ def test_read_icc_profile(): assert icc == expected_icc - +@pytest.mark.valgrind_known_error(reason="Known Failing") def test_write_icc_metadata(): file_path = "Tests/images/flower2.jpg" test_buffer = BytesIO() @@ -87,7 +87,7 @@ def test_write_icc_metadata(): if webp_icc_profile: assert webp_icc_profile == expected_icc_profile, "Webp ICC didn't match" - +@pytest.mark.valgrind_known_error(reason="Known Failing") def test_read_no_exif(): file_path = "Tests/images/flower.jpg" test_buffer = BytesIO() diff --git a/Tests/test_image.py b/Tests/test_image.py index f2a1917e8..ade9d03c9 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -652,6 +652,7 @@ class TestImage: assert not fp.closed + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_exif_jpeg(self, tmp_path): with Image.open("Tests/images/exif-72dpi-int.jpg") as im: # Little endian exif = im.getexif() diff --git a/Tests/test_image_resample.py b/Tests/test_image_resample.py index ef4ca4101..69449198e 100644 --- a/Tests/test_image_resample.py +++ b/Tests/test_image_resample.py @@ -455,6 +455,7 @@ class TestCoreResampleBox: tiled.paste(tile, (x0, y0)) return tiled + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_tiles(self): with Image.open("Tests/images/flower.jpg") as im: assert im.size == (480, 360) @@ -465,6 +466,7 @@ class TestCoreResampleBox: tiled = self.resize_tiled(im, dst_size, *tiles) assert_image_similar(reference, tiled, 0.01) + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_subsample(self): # This test shows advantages of the subpixel resizing # after supersampling (e.g. during JPEG decoding). diff --git a/Tests/test_image_thumbnail.py b/Tests/test_image_thumbnail.py index c42310c32..d6d03577d 100644 --- a/Tests/test_image_thumbnail.py +++ b/Tests/test_image_thumbnail.py @@ -87,7 +87,7 @@ def test_no_resize(): im.thumbnail((64, 64)) assert im.size == (64, 64) - +@pytest.mark.valgrind_known_error(reason="Known Failing") def test_DCT_scaling_edges(): # Make an image with red borders and size (N * 8) + 1 to cross DCT grid im = Image.new("RGB", (257, 257), "red") From a6fa139f62a1e59dddfe3c742af4f372ab73e374 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 7 Jan 2021 14:57:49 +0100 Subject: [PATCH 058/325] useless reptile --- Tests/test_file_eps.py | 1 + Tests/test_file_pdf.py | 1 + Tests/test_file_webp_metadata.py | 5 +++++ Tests/test_image_thumbnail.py | 1 + 4 files changed, 8 insertions(+) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 1d76f5917..1e56498ba 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -58,6 +58,7 @@ def test_invalid_file(): with pytest.raises(SyntaxError): EpsImagePlugin.EpsImageFile(invalid_file) + @pytest.mark.valgrind_known_error(reason="Known Failing") @pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available") def test_cmyk(): diff --git a/Tests/test_file_pdf.py b/Tests/test_file_pdf.py index 536b93166..e5bba483a 100644 --- a/Tests/test_file_pdf.py +++ b/Tests/test_file_pdf.py @@ -84,6 +84,7 @@ def test_unsupported_mode(tmp_path): with pytest.raises(ValueError): im.save(outfile) + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_save_all(tmp_path): # Single frame image diff --git a/Tests/test_file_webp_metadata.py b/Tests/test_file_webp_metadata.py index 290dc0362..cb133e2c5 100644 --- a/Tests/test_file_webp_metadata.py +++ b/Tests/test_file_webp_metadata.py @@ -1,5 +1,7 @@ from io import BytesIO + import pytest + from PIL import Image from .helper import skip_unless_feature @@ -38,6 +40,7 @@ def test_read_exif_metadata_without_prefix(): exif = im.getexif() assert exif[305] == "Adobe Photoshop CS6 (Macintosh)" + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_write_exif_metadata(): file_path = "Tests/images/flower.jpg" @@ -70,6 +73,7 @@ def test_read_icc_profile(): assert icc == expected_icc + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_write_icc_metadata(): file_path = "Tests/images/flower2.jpg" @@ -87,6 +91,7 @@ def test_write_icc_metadata(): if webp_icc_profile: assert webp_icc_profile == expected_icc_profile, "Webp ICC didn't match" + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_read_no_exif(): file_path = "Tests/images/flower.jpg" diff --git a/Tests/test_image_thumbnail.py b/Tests/test_image_thumbnail.py index d6d03577d..6911ce460 100644 --- a/Tests/test_image_thumbnail.py +++ b/Tests/test_image_thumbnail.py @@ -87,6 +87,7 @@ def test_no_resize(): im.thumbnail((64, 64)) assert im.size == (64, 64) + @pytest.mark.valgrind_known_error(reason="Known Failing") def test_DCT_scaling_edges(): # Make an image with red borders and size (N * 8) + 1 to cross DCT grid From 1d0149c369c077635b76c7b535854ce3b7151208 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 7 Jan 2021 15:26:23 +0100 Subject: [PATCH 059/325] feck8 --- Tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/conftest.py b/Tests/conftest.py index e0f3ded1d..6f9945204 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -24,7 +24,7 @@ def pytest_configure(config): warnings.simplefilter("error") try: getattr(pytest.mark, "valgrind_known_error") - except: + except Exception: config.addinivalue_line( "markers", "valgrind_known_error: Tests that have known issues with valgrind", From 2bbb82a0191ea4a47661ca2463d7fcbfd6c72215 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 12:13:00 +1100 Subject: [PATCH 060/325] Added import test --- .ci/test.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ci/test.sh b/.ci/test.sh index 0f681fe30..9d2c123da 100755 --- a/.ci/test.sh +++ b/.ci/test.sh @@ -2,4 +2,6 @@ set -e +python3 -c "from PIL import Image" + python3 -bb -m pytest -v -x -W always --cov PIL --cov Tests --cov-report term Tests From cf190a3c2f166cf0a7dd004fee4b242ea29bf1f4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 11:33:26 +1100 Subject: [PATCH 061/325] PyModule_AddObject fix for Python 3.10 --- src/_imaging.c | 21 +++++++++++++++------ src/_webp.c | 14 ++++++++++---- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/_imaging.c b/src/_imaging.c index a8741f6ad..01dd22486 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -4134,8 +4134,9 @@ setup_module(PyObject *m) { } #endif + PyObject *have_libjpegturbo; #ifdef LIBJPEG_TURBO_VERSION - PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_True); + have_libjpegturbo = Py_True; #define tostr1(a) #a #define tostr(a) tostr1(a) PyDict_SetItemString( @@ -4143,19 +4144,24 @@ setup_module(PyObject *m) { #undef tostr #undef tostr1 #else - PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_False); + have_libjpegturbo = Py_False; #endif + Py_INCREF(have_libjpegturbo); + PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", have_libjpegturbo); + PyObject *have_libimagequant; #ifdef HAVE_LIBIMAGEQUANT - PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_True); + have_libimagequant = Py_True; { extern const char *ImagingImageQuantVersion(void); PyDict_SetItemString( d, "imagequant_version", PyUnicode_FromString(ImagingImageQuantVersion())); } #else - PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_False); + have_libimagequant = Py_False; #endif + Py_INCREF(have_libimagequant); + PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", have_libimagequant); #ifdef HAVE_LIBZ /* zip encoding strategies */ @@ -4189,11 +4195,14 @@ setup_module(PyObject *m) { } #endif + PyObject *have_xcb; #ifdef HAVE_XCB - PyModule_AddObject(m, "HAVE_XCB", Py_True); + have_xcb = Py_True; #else - PyModule_AddObject(m, "HAVE_XCB", Py_False); + have_xcb = Py_False; #endif + Py_INCREF(have_xcb); + PyModule_AddObject(m, "HAVE_XCB", have_xcb); PyDict_SetItemString(d, "PILLOW_VERSION", PyUnicode_FromString(version)); diff --git a/src/_webp.c b/src/_webp.c index c7875fa36..4d51d99df 100644 --- a/src/_webp.c +++ b/src/_webp.c @@ -920,20 +920,26 @@ static PyMethodDef webpMethods[] = { void addMuxFlagToModule(PyObject *m) { + PyObject *have_webpmux; #ifdef HAVE_WEBPMUX - PyModule_AddObject(m, "HAVE_WEBPMUX", Py_True); + have_webpmux = Py_True; #else - PyModule_AddObject(m, "HAVE_WEBPMUX", Py_False); + have_webpmux = Py_False; #endif + Py_INCREF(have_webpmux); + PyModule_AddObject(m, "HAVE_WEBPMUX", have_webpmux); } void addAnimFlagToModule(PyObject *m) { + PyObject *have_webpanim; #ifdef HAVE_WEBPANIM - PyModule_AddObject(m, "HAVE_WEBPANIM", Py_True); + have_webpanim = Py_True; #else - PyModule_AddObject(m, "HAVE_WEBPANIM", Py_False); + have_webpanim = Py_False; #endif + Py_INCREF(have_webpanim); + PyModule_AddObject(m, "HAVE_WEBPANIM", have_webpanim); } void From cda2a2479e05f9d4f750315eb2c19e2011048de6 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 21:00:56 +1100 Subject: [PATCH 062/325] Updated macOS tested Pillow versions [ci skip] --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index b358c18c4..9693e2f4a 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -465,9 +465,9 @@ These platforms have been reported to work at the versions mentioned. +----------------------------------+------------------------------+--------------------------------+-----------------------+ |**Operating system** |**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** | +----------------------------------+------------------------------+--------------------------------+-----------------------+ -| macOS 11.0 Big Sur | 3.8, 3.9 | 8.0.1 |arm | +| macOS 11.0 Big Sur | 3.8, 3.9 | 8.1.0 |arm | | +------------------------------+--------------------------------+-----------------------+ -| | 3.6, 3.7, 3.8, 3.9 | 8.0.1 |x86-64 | +| | 3.6, 3.7, 3.8, 3.9 | 8.1.0 |x86-64 | +----------------------------------+------------------------------+--------------------------------+-----------------------+ | macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9 | 8.0.1 |x86-64 | | +------------------------------+--------------------------------+ + From a6fc7a5320e534c8037b7bb3f5fcee15dfe23a88 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 21:14:02 +1100 Subject: [PATCH 063/325] Changed example image file name [ci skip] --- docs/reference/Image.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index 8d63c173b..f0a368479 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -22,7 +22,7 @@ Windows). .. code-block:: python from PIL import Image - im = Image.open("bride.jpg") + im = Image.open("hopper.jpg") im.rotate(45).show() Create thumbnails From 4eccadced48fa1399ee2e3a2afcebbf8b57e5d5f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 21:30:16 +1100 Subject: [PATCH 064/325] Document that getcolors() returns colors in the image mode [ci skip] --- src/PIL/Image.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index e2540a2b2..db1c70239 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1243,6 +1243,10 @@ class Image: """ Returns a list of colors used in this image. + The colors will be in the image's mode. For example, an RGB image will + return a tuple of (red, green, blue) color values, and a P image will + return the index of the color in the palette. + :param maxcolors: Maximum number of colors. If this number is exceeded, this method returns None. The default limit is 256 colors. From f9c283468d99dd3a3337315a9b6b4a4ece165c67 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 9 Jan 2021 23:04:32 +1100 Subject: [PATCH 065/325] Added import test --- .appveyor.yml | 1 + .github/workflows/test-windows.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index a77033ec1..4fa0abbbf 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -45,6 +45,7 @@ test_script: - cd c:\pillow - '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov' - c:\"Program Files (x86)"\"Windows Kits"\10\Debuggers\x86\gflags.exe /p /enable %PYTHON%\%EXECUTABLE% +- '%PYTHON%\%EXECUTABLE% -c "from PIL import Image"' - '%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov Tests --cov-report term --cov-report xml Tests' #- '%PYTHON%\%EXECUTABLE% test-installed.py -v -s %TEST_OPTIONS%' TODO TEST_OPTIONS with pytest? diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index db1675135..12c288374 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -273,6 +273,7 @@ jobs: - name: Test Pillow run: | python3 selftest.py --installed + python3 -c "from PIL import Image" python3 -m pytest -vx --cov PIL --cov Tests --cov-report term --cov-report xml Tests - name: Upload coverage From 3775d3639827f1c41271bdfa8d5537331854bd66 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 9 Jan 2021 16:41:13 +0100 Subject: [PATCH 066/325] Do fuzzing linking in setup.py options, rather than post-hoc manually linking --- setup.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index dd1772ae0..17b08a427 100755 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ JPEG_ROOT = None LCMS_ROOT = None TIFF_ROOT = None ZLIB_ROOT = None - +FUZZING_BUILD = 'LIB_FUZZING_ENGINE' in os.environ if sys.platform == "win32" and sys.version_info >= (3, 10): import atexit @@ -346,6 +346,9 @@ class pil_build_ext(build_ext): extension.define_macros += define_macros if include_dirs is not None: extension.include_dirs += include_dirs + if FUZZING_BUILD: + extension.language = "c++" + extension.extra_link_args = ["--stdlib=libc++"] break def _remove_extension(self, name): @@ -840,9 +843,7 @@ class pil_build_ext(build_ext): def debug_build(): - return hasattr(sys, "gettotalrefcount") or os.environ.get( - "LIB_FUZZING_ENGINE", None - ) + return hasattr(sys, "gettotalrefcount") or FUZZING_BUILD files = ["src/_imaging.c"] From 77bf0aa67365edbdc74d300b2aa306b28aa86b22 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 9 Jan 2021 17:00:27 +0100 Subject: [PATCH 067/325] lint off --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 17b08a427..10992779e 100755 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ JPEG_ROOT = None LCMS_ROOT = None TIFF_ROOT = None ZLIB_ROOT = None -FUZZING_BUILD = 'LIB_FUZZING_ENGINE' in os.environ +FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ if sys.platform == "win32" and sys.version_info >= (3, 10): import atexit From eb2a0622a35e48e3f18a96589d9f13f2a01a742e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 10 Jan 2021 08:26:45 +1100 Subject: [PATCH 068/325] Removed broken link --- selftest.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/selftest.py b/selftest.py index a9a02ef71..7e08d183b 100755 --- a/selftest.py +++ b/selftest.py @@ -147,9 +147,7 @@ def testimage(): ('F', (128, 128)) PIL can do many other things, but I'll leave that for another - day. If you're curious, check the handbook, available from: - - http://www.pythonware.com + day. Cheers /F """ From bdbf1694fc00838fb9e9606b75cb65fb2d129d25 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 14 Jan 2021 21:31:25 +1100 Subject: [PATCH 069/325] Allow PixelAccess to use Python __int__ when parsing x and y --- Tests/test_image_access.py | 12 ++++++++++++ src/_imaging.c | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Tests/test_image_access.py b/Tests/test_image_access.py index e86dc8530..5fa0e2cbf 100644 --- a/Tests/test_image_access.py +++ b/Tests/test_image_access.py @@ -23,6 +23,11 @@ else: except ImportError: cffi = None +try: + import numpy +except ImportError: + numpy = None + class AccessTest: # initial value @@ -109,6 +114,13 @@ class TestImagePutPixel(AccessTest): assert_image_equal(im1, im2) + @pytest.mark.skipif(numpy is None, reason="NumPy not installed") + def test_numpy(self): + im = hopper() + pix = im.load() + + assert pix[numpy.int32(1), numpy.int32(2)] == (18, 20, 59) + class TestImageGetPixel(AccessTest): @staticmethod diff --git a/src/_imaging.c b/src/_imaging.c index 01dd22486..3072dcb21 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -1109,7 +1109,12 @@ _getxy(PyObject *xy, int *x, int *y) { } else if (PyFloat_Check(value)) { *x = (int)PyFloat_AS_DOUBLE(value); } else { - goto badval; + PyObject *int_value = PyObject_CallMethod(value, "__int__", NULL); + if (int_value != NULL && PyLong_Check(int_value)) { + *x = PyLong_AS_LONG(int_value); + } else { + goto badval; + } } value = PyTuple_GET_ITEM(xy, 1); @@ -1118,7 +1123,12 @@ _getxy(PyObject *xy, int *x, int *y) { } else if (PyFloat_Check(value)) { *y = (int)PyFloat_AS_DOUBLE(value); } else { - goto badval; + PyObject *int_value = PyObject_CallMethod(value, "__int__", NULL); + if (int_value != NULL && PyLong_Check(int_value)) { + *y = PyLong_AS_LONG(int_value); + } else { + goto badval; + } } return 0; From 7b4b356fc087068fee3316e569b3d3e7ada731f0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 14 Jan 2021 22:09:11 +1100 Subject: [PATCH 070/325] Test for incorrect PixelAccess arguments --- Tests/test_image_access.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Tests/test_image_access.py b/Tests/test_image_access.py index 5fa0e2cbf..78d04946e 100644 --- a/Tests/test_image_access.py +++ b/Tests/test_image_access.py @@ -71,6 +71,10 @@ class TestImagePutPixel(AccessTest): pix1 = im1.load() pix2 = im2.load() + for x, y in ((0, "0"), ("0", 0)): + with pytest.raises(TypeError): + pix1[x, y] + for y in range(im1.size[1]): for x in range(im1.size[0]): pix2[x, y] = pix1[x, y] From 6f236284b077fbeec709c2a6ce0d00cbba3b1372 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 20 Jan 2021 20:43:00 +1100 Subject: [PATCH 071/325] Corrected CVE number --- src/PIL/PcxImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/PcxImagePlugin.py b/src/PIL/PcxImagePlugin.py index a24d44b42..3874e5436 100644 --- a/src/PIL/PcxImagePlugin.py +++ b/src/PIL/PcxImagePlugin.py @@ -111,7 +111,7 @@ class PcxImageFile(ImageFile.ImageFile): self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] # don't trust the passed in stride. Calculate for ourselves. - # CVE-2020-35655 + # CVE-2020-35653 stride = (self._size[0] * bits + 7) // 8 stride += stride % 2 From ac31061f221d4dab40ae36d61f1b09e76c20d484 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 21 Jan 2021 19:29:11 +1100 Subject: [PATCH 072/325] Handle PCX images with an odd stride --- Tests/images/odd_stride.pcx | Bin 0 -> 14313 bytes Tests/test_file_pcx.py | 8 ++++++++ src/PIL/PcxImagePlugin.py | 13 +++++++++---- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 Tests/images/odd_stride.pcx diff --git a/Tests/images/odd_stride.pcx b/Tests/images/odd_stride.pcx new file mode 100644 index 0000000000000000000000000000000000000000..ee0c2eecaebe5a629ccfab523971c347a878ae79 GIT binary patch literal 14313 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_pcx.py b/Tests/test_file_pcx.py index 670c03b95..61e33a57b 100644 --- a/Tests/test_file_pcx.py +++ b/Tests/test_file_pcx.py @@ -44,6 +44,14 @@ def test_odd(tmp_path): _roundtrip(tmp_path, hopper(mode).resize((511, 511))) +def test_odd_read(): + # Reading an image with an odd stride, making it malformed + with Image.open("Tests/images/odd_stride.pcx") as im: + im.load() + + assert im.size == (371, 150) + + def test_pil184(): # Check reading of files where xmin/xmax is not zero. diff --git a/src/PIL/PcxImagePlugin.py b/src/PIL/PcxImagePlugin.py index 3874e5436..d2e166bdd 100644 --- a/src/PIL/PcxImagePlugin.py +++ b/src/PIL/PcxImagePlugin.py @@ -66,13 +66,13 @@ class PcxImageFile(ImageFile.ImageFile): version = s[1] bits = s[3] planes = s[65] - ignored_stride = i16(s, 66) + provided_stride = i16(s, 66) logger.debug( "PCX version %s, bits %s, planes %s, stride %s", version, bits, planes, - ignored_stride, + provided_stride, ) self.info["dpi"] = i16(s, 12), i16(s, 14) @@ -110,10 +110,15 @@ class PcxImageFile(ImageFile.ImageFile): self.mode = mode self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] - # don't trust the passed in stride. Calculate for ourselves. + # Don't trust the passed in stride. + # Calculate the approximate position for ourselves. # CVE-2020-35653 stride = (self._size[0] * bits + 7) // 8 - stride += stride % 2 + + # While the specification states that this must be even, + # not all images follow this + if provided_stride != stride: + stride += stride % 2 bbox = (0, 0) + self.size logger.debug("size: %sx%s", *self.size) From b39977e1c2fca2aef8c28d31522136a11a9be59e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 21 Jan 2021 21:33:35 +1100 Subject: [PATCH 073/325] Document license for several fonts --- .../DejaVuSans-24-1-stripped.ttf | Bin .../DejaVuSans-24-2-stripped.ttf | Bin .../DejaVuSans-24-4-stripped.ttf | Bin .../DejaVuSans-24-8-stripped.ttf | Bin Tests/fonts/{ => DejaVuSans}/DejaVuSans.ttf | Bin Tests/fonts/DejaVuSans/LICENSE.txt | 40 ++++++++++++++++++ Tests/fonts/LICENSE.txt | 3 +- Tests/test_imagefont.py | 12 +++--- Tests/test_imagefontctl.py | 2 +- 9 files changed, 50 insertions(+), 7 deletions(-) rename Tests/fonts/{ => DejaVuSans}/DejaVuSans-24-1-stripped.ttf (100%) rename Tests/fonts/{ => DejaVuSans}/DejaVuSans-24-2-stripped.ttf (100%) rename Tests/fonts/{ => DejaVuSans}/DejaVuSans-24-4-stripped.ttf (100%) rename Tests/fonts/{ => DejaVuSans}/DejaVuSans-24-8-stripped.ttf (100%) rename Tests/fonts/{ => DejaVuSans}/DejaVuSans.ttf (100%) create mode 100644 Tests/fonts/DejaVuSans/LICENSE.txt diff --git a/Tests/fonts/DejaVuSans-24-1-stripped.ttf b/Tests/fonts/DejaVuSans/DejaVuSans-24-1-stripped.ttf similarity index 100% rename from Tests/fonts/DejaVuSans-24-1-stripped.ttf rename to Tests/fonts/DejaVuSans/DejaVuSans-24-1-stripped.ttf diff --git a/Tests/fonts/DejaVuSans-24-2-stripped.ttf b/Tests/fonts/DejaVuSans/DejaVuSans-24-2-stripped.ttf similarity index 100% rename from Tests/fonts/DejaVuSans-24-2-stripped.ttf rename to Tests/fonts/DejaVuSans/DejaVuSans-24-2-stripped.ttf diff --git a/Tests/fonts/DejaVuSans-24-4-stripped.ttf b/Tests/fonts/DejaVuSans/DejaVuSans-24-4-stripped.ttf similarity index 100% rename from Tests/fonts/DejaVuSans-24-4-stripped.ttf rename to Tests/fonts/DejaVuSans/DejaVuSans-24-4-stripped.ttf diff --git a/Tests/fonts/DejaVuSans-24-8-stripped.ttf b/Tests/fonts/DejaVuSans/DejaVuSans-24-8-stripped.ttf similarity index 100% rename from Tests/fonts/DejaVuSans-24-8-stripped.ttf rename to Tests/fonts/DejaVuSans/DejaVuSans-24-8-stripped.ttf diff --git a/Tests/fonts/DejaVuSans.ttf b/Tests/fonts/DejaVuSans/DejaVuSans.ttf similarity index 100% rename from Tests/fonts/DejaVuSans.ttf rename to Tests/fonts/DejaVuSans/DejaVuSans.ttf diff --git a/Tests/fonts/DejaVuSans/LICENSE.txt b/Tests/fonts/DejaVuSans/LICENSE.txt new file mode 100644 index 000000000..30516578f --- /dev/null +++ b/Tests/fonts/DejaVuSans/LICENSE.txt @@ -0,0 +1,40 @@ +DejaVuSans-24-{1,2,4,8}-stripped.ttf are based on DejaVuSans.ttf converted using FontForge to add bitmap strikes and keep only the ASCII range. + +DejaVu Fonts — License +Fonts are © Bitstream (see below). DejaVu changes are in public domain. Explanation of copyright is on Gnome page on Bitstream Vera fonts. Glyphs imported from Arev fonts are © Tavmjung Bah (see below) + +Bitstream Vera Fonts Copyright +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. + +Arev Fonts Copyright +Original text + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the modifications to the Bitstream Vera Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from Tavmjong Bah. For further information, contact: tavmjong @ free . fr. \ No newline at end of file diff --git a/Tests/fonts/LICENSE.txt b/Tests/fonts/LICENSE.txt index 06eaa9a4e..88a28de59 100644 --- a/Tests/fonts/LICENSE.txt +++ b/Tests/fonts/LICENSE.txt @@ -15,8 +15,9 @@ FreeMono.ttf is licensed under GPLv3, with the GPL font exception. OpenSansCondensed-LightItalic.tt, from https://fonts.google.com/specimen/Open+Sans, under Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) -DejaVuSans-24-{1,2,4,8}-stripped.ttf are based on DejaVuSans.ttf converted using FontForge to add bitmap strikes and keep only the ASCII range. +KhmerOSBattambang-Regular.ttf is licensed under LGPL-2.1 or later. +FreeMono.ttf is licensed under GPLv3. 10x20-ISO8859-1.pcf, from https://packages.ubuntu.com/xenial/xfonts-base diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 0c219fed1..2a2349e3b 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -52,7 +52,7 @@ class TestImageFont: ttf_copy = ttf.font_variant(size=FONT_SIZE + 1) assert ttf_copy.size == FONT_SIZE + 1 - second_font_path = "Tests/fonts/DejaVuSans.ttf" + second_font_path = "Tests/fonts/DejaVuSans/DejaVuSans.ttf" ttf_copy = ttf.font_variant(font=second_font_path) assert ttf_copy.path == second_font_path @@ -156,8 +156,8 @@ class TestImageFont: ("text", "L", "FreeMono.ttf", 15, 36, 36), ("text", "1", "FreeMono.ttf", 15, 36, 36), # issue 4177 - ("rrr", "L", "DejaVuSans.ttf", 18, 21, 22.21875), - ("rrr", "1", "DejaVuSans.ttf", 18, 24, 22.21875), + ("rrr", "L", "DejaVuSans/DejaVuSans.ttf", 18, 21, 22.21875), + ("rrr", "1", "DejaVuSans/DejaVuSans.ttf", 18, 24, 22.21875), # test 'l' not including extra margin # using exact value 2047 / 64 for raqm, checked with debugger ("ill", "L", "OpenSansCondensed-LightItalic.ttf", 63, 33, 31.984375), @@ -855,7 +855,7 @@ class TestImageFont: layout_name = ["basic", "raqm"][self.LAYOUT_ENGINE] target = f"Tests/images/bitmap_font_{bpp}_{layout_name}.png" font = ImageFont.truetype( - f"Tests/fonts/DejaVuSans-24-{bpp}-stripped.ttf", + f"Tests/fonts/DejaVuSans/DejaVuSans-24-{bpp}-stripped.ttf", 24, layout_engine=self.LAYOUT_ENGINE, ) @@ -963,7 +963,9 @@ def test_render_mono_size(): im = Image.new("P", (100, 30), "white") draw = ImageDraw.Draw(im) ttf = ImageFont.truetype( - "Tests/fonts/DejaVuSans.ttf", 18, layout_engine=ImageFont.LAYOUT_BASIC + "Tests/fonts/DejaVuSans/DejaVuSans.ttf", + 18, + layout_engine=ImageFont.LAYOUT_BASIC, ) draw.text((10, 10), "r" * 10, "black", ttf) diff --git a/Tests/test_imagefontctl.py b/Tests/test_imagefontctl.py index 82e2b4ebc..a80aca2fb 100644 --- a/Tests/test_imagefontctl.py +++ b/Tests/test_imagefontctl.py @@ -10,7 +10,7 @@ from .helper import ( ) FONT_SIZE = 20 -FONT_PATH = "Tests/fonts/DejaVuSans.ttf" +FONT_PATH = "Tests/fonts/DejaVuSans/DejaVuSans.ttf" pytestmark = skip_unless_feature("raqm") From baaa298e00dd4b2ab39c264c8c8b15cd011b8b32 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 21 Jan 2021 23:32:07 +1100 Subject: [PATCH 074/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6296c09c7..7e6244d59 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,18 @@ Changelog (Pillow) ================== +8.2.0 (unreleased) +------------------ + +- Support for ignoring tests when running valgrind #5150 + [wiredfool, radarhere, hugovk] + +- PyModule_AddObject fix for Python 3.10 #5194 + [radarhere] + +- OSS-Fuzz support #5189 + [wiredfool, radarhere] + 8.1.0 (2020-01-02) ------------------ From e6ff82b9abc05945bac182bcf73fb71b377435f9 Mon Sep 17 00:00:00 2001 From: Mark Laagland Date: Sun, 24 Jan 2021 22:43:31 +0100 Subject: [PATCH 075/325] Small fix for convert documentation of Image.py [ci skip] --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index db1c70239..2adb8e536 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -878,7 +878,7 @@ class Image: The default method of converting a greyscale ("L") or "RGB" image into a bilevel (mode "1") image uses Floyd-Steinberg dither to approximate the original image luminosity levels. If - dither is :data:`NONE`, all values larger than 128 are set to 255 (white), + dither is :data:`NONE`, all values larger than 127 are set to 255 (white), all other values to 0 (black). To use other thresholds, use the :py:meth:`~PIL.Image.Image.point` method. From cf98f178ad2bb55261a8ea41003ada97e520d306 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 26 Jan 2021 08:01:26 +1100 Subject: [PATCH 076/325] Added tk version --- src/PIL/_tkinter_finder.py | 3 +++ src/PIL/features.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/PIL/_tkinter_finder.py b/src/PIL/_tkinter_finder.py index 7018a1b79..746359535 100644 --- a/src/PIL/_tkinter_finder.py +++ b/src/PIL/_tkinter_finder.py @@ -1,9 +1,12 @@ """ Find compiled module linking to Tcl / Tk libraries """ import sys +import tkinter from tkinter import _tkinter as tk if hasattr(sys, "pypy_find_executable"): TKINTER_LIB = tk.tklib_cffi.__file__ else: TKINTER_LIB = tk.__file__ + +tk_version = str(tkinter.TkVersion) diff --git a/src/PIL/features.py b/src/PIL/features.py index da0ca557c..ad0047287 100644 --- a/src/PIL/features.py +++ b/src/PIL/features.py @@ -9,7 +9,7 @@ from . import Image modules = { "pil": ("PIL._imaging", "PILLOW_VERSION"), - "tkinter": ("PIL._tkinter_finder", None), + "tkinter": ("PIL._tkinter_finder", "tk_version"), "freetype2": ("PIL._imagingft", "freetype2_version"), "littlecms2": ("PIL._imagingcms", "littlecms_version"), "webp": ("PIL._webp", "webpdecoder_version"), From aa742fd8a446868e2720c91a5bf634f238beded5 Mon Sep 17 00:00:00 2001 From: nulano Date: Mon, 25 Jan 2021 22:13:33 +0100 Subject: [PATCH 077/325] Document availability of tk version number. [ci skip] --- docs/reference/features.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/features.rst b/docs/reference/features.rst index dd218fa0e..0a6381098 100644 --- a/docs/reference/features.rst +++ b/docs/reference/features.rst @@ -17,7 +17,7 @@ Modules Support for the following modules can be checked: * ``pil``: The Pillow core module, required for all functionality. -* ``tkinter``: Tkinter support. Version number not available. +* ``tkinter``: Tkinter support. * ``freetype2``: FreeType font support via :py:func:`PIL.ImageFont.truetype`. * ``littlecms2``: LittleCMS 2 support via :py:mod:`PIL.ImageCms`. * ``webp``: WebP image support. From c9740ab7e3e812796fe7228e3f1ff17672e6f9ae Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 26 Jan 2021 18:14:28 +1100 Subject: [PATCH 078/325] Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02) --- docs/deprecations.rst | 8 ++++++++ docs/releasenotes/8.2.0.rst | 40 +++++++++++++++++++++++++++++++++++++ docs/releasenotes/index.rst | 1 + src/PIL/_tkinter_finder.py | 8 ++++++++ 4 files changed, 57 insertions(+) create mode 100644 docs/releasenotes/8.2.0.rst diff --git a/docs/deprecations.rst b/docs/deprecations.rst index 44aa2a795..fd2f5620e 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -25,6 +25,14 @@ vulnerability introduced in FreeType 2.6 (:cve:`CVE-2020-15999`). .. _2.10.4: https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/ +Tk/Tcl 8.4 +~~~~~~~~~~ + +.. deprecated:: 8.2.0 + +Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +when Tk/Tcl 8.5 will be the minimum supported. + Image.show command parameter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst new file mode 100644 index 000000000..8ddbc7f54 --- /dev/null +++ b/docs/releasenotes/8.2.0.rst @@ -0,0 +1,40 @@ +8.2.0 +----- + +Deprecations +============ + +Tk/Tcl 8.4 +^^^^^^^^^^ + +Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +when Tk/Tcl 8.5 will be the minimum supported. + +API Changes +=========== + +TODO +^^^^ + +TODO + +API Additions +============= + +TODO +^^^^ + +TODO + +Security +======== + +TODO + +Other Changes +============= + +TODO +^^^^ + +TODO diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index cd73de814..0930768e7 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -14,6 +14,7 @@ expected to be backported to earlier versions. .. toctree:: :maxdepth: 2 + 8.2.0 8.1.0 8.0.1 8.0.0 diff --git a/src/PIL/_tkinter_finder.py b/src/PIL/_tkinter_finder.py index 746359535..58aeffbfb 100644 --- a/src/PIL/_tkinter_finder.py +++ b/src/PIL/_tkinter_finder.py @@ -2,6 +2,7 @@ """ import sys import tkinter +import warnings from tkinter import _tkinter as tk if hasattr(sys, "pypy_find_executable"): @@ -10,3 +11,10 @@ else: TKINTER_LIB = tk.__file__ tk_version = str(tkinter.TkVersion) +if tk_version == "8.4": + warnings.warn( + "Support for Tk/Tcl 8.4 is deprecated and will be removed" + " in Pillow 10 (2023-01-02). Please upgrade to Tk/Tcl 8.5 " + "or newer.", + DeprecationWarning, + ) From d79c656fe75c5de2916b9889a726c33b11dab020 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 27 Jan 2021 17:58:02 +1100 Subject: [PATCH 079/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 7e6244d59..81d27a39f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Added tk version to pilinfo #5226 + [radarhere, nulano] + - Support for ignoring tests when running valgrind #5150 [wiredfool, radarhere, hugovk] From 62628b96382fe4615f3dba4a488383fa615394f5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 28 Jan 2021 23:01:26 +1100 Subject: [PATCH 080/325] Install pytest and pytest-cov using pip rather than pacman --- .github/workflows/test-windows.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 12c288374..f3bb85f32 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -249,8 +249,6 @@ jobs: ${{ matrix.package }}-python3-olefile \ ${{ matrix.package }}-python3-pip \ ${{ matrix.package }}-python3-pyqt5 \ - ${{ matrix.package }}-python3-pytest \ - ${{ matrix.package }}-python3-pytest-cov \ ${{ matrix.package }}-python3-setuptools \ ${{ matrix.package }}-freetype \ ${{ matrix.package }}-ghostscript \ @@ -263,7 +261,7 @@ jobs: ${{ matrix.package }}-openjpeg2 \ subversion - python3 -m pip install pyroma + python3 -m pip install pyroma pytest pytest-cov pushd depends && ./install_extra_test_images.sh && popd From 54cc834445e25dde13873da4588d1bd73b9011a5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 28 Jan 2021 22:48:58 +1100 Subject: [PATCH 081/325] Removed specific setuptools version --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4fa0abbbf..4e2ca1071 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -32,7 +32,7 @@ install: c:\pillow\winbuild\build\build_dep_all.cmd $host.SetShouldExit(0) - path C:\pillow\winbuild\build\bin;%PATH% -- '%PYTHON%\%EXECUTABLE% -m pip install -U "setuptools>=49.3.2"' +- '%PYTHON%\%EXECUTABLE% -m pip install -U setuptools' build_script: - ps: | From b57e4fa8d2a213fca46429a73922500475b1dc5a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 28 Jan 2021 21:55:26 +1100 Subject: [PATCH 082/325] Corrected syntax [ci skip] --- docs/releasenotes/versioning.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releasenotes/versioning.rst b/docs/releasenotes/versioning.rst index 1653bff3c..a8c9fc998 100644 --- a/docs/releasenotes/versioning.rst +++ b/docs/releasenotes/versioning.rst @@ -3,7 +3,7 @@ Versioning ========== -Pillow follows [Semantic Versioning](https://semver.org/): +Pillow follows `Semantic Versioning `_: Given a version number MAJOR.MINOR.PATCH, increment the: From eb7e5d2797bca180977706e3c56b8445a34c94b5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 28 Jan 2021 20:57:24 +1100 Subject: [PATCH 083/325] Moved test that requires libtiff --- Tests/test_file_libtiff.py | 9 +++++++++ Tests/test_file_tiff.py | 10 +--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index accc9596f..5fe10bea9 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -9,6 +9,7 @@ from ctypes import c_float import pytest from PIL import Image, ImageFilter, TiffImagePlugin, TiffTags, features +from PIL.TiffImagePlugin import SUBIFD from .helper import ( assert_image_equal, @@ -324,6 +325,14 @@ class TestFileLibTiff(LibTiffTestCase): ) TiffImagePlugin.WRITE_LIBTIFF = False + def test_subifd(self, tmp_path): + outfile = str(tmp_path / "temp.tif") + with Image.open("Tests/images/g4_orientation_6.tif") as im: + im.tag_v2[SUBIFD] = 10000 + + # Should not segfault + im.save(outfile) + def test_xmlpacket_tag(self, tmp_path): TiffImagePlugin.WRITE_LIBTIFF = True diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index bb1bbda3e..f644ef887 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -4,7 +4,7 @@ from io import BytesIO import pytest from PIL import Image, TiffImagePlugin -from PIL.TiffImagePlugin import RESOLUTION_UNIT, SUBIFD, X_RESOLUTION, Y_RESOLUTION +from PIL.TiffImagePlugin import RESOLUTION_UNIT, X_RESOLUTION, Y_RESOLUTION from .helper import ( assert_image_equal, @@ -161,14 +161,6 @@ class TestFileTiff: reloaded.load() assert (round(dpi), round(dpi)) == reloaded.info["dpi"] - def test_subifd(self, tmp_path): - outfile = str(tmp_path / "temp.tif") - with Image.open("Tests/images/g4_orientation_6.tif") as im: - im.tag_v2[SUBIFD] = 10000 - - # Should not segfault - im.save(outfile) - def test_save_setting_missing_resolution(self): b = BytesIO() Image.open("Tests/images/10ct_32bit_128.tiff").save( From c43440cfd01935a025b82cb4d205f13e2e4794d7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 28 Jan 2021 08:02:42 +1100 Subject: [PATCH 084/325] Updated libimagequant to 2.14.0 --- depends/install_imagequant.sh | 2 +- docs/installation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/install_imagequant.sh b/depends/install_imagequant.sh index ed438f904..e204ea9ad 100755 --- a/depends/install_imagequant.sh +++ b/depends/install_imagequant.sh @@ -1,7 +1,7 @@ #!/bin/bash # install libimagequant -archive=libimagequant-2.13.1 +archive=libimagequant-2.14.0 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/docs/installation.rst b/docs/installation.rst index 9693e2f4a..d92a6eb8b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -177,7 +177,7 @@ Many of Pillow's features require external libraries: * **libimagequant** provides improved color quantization - * Pillow has been tested with libimagequant **2.6-2.13.1** + * Pillow has been tested with libimagequant **2.6-2.14** * Libimagequant is licensed GPLv3, which is more restrictive than the Pillow license, therefore we will not be distributing binaries with libimagequant support enabled. From f2f92d22d180ddcecab5bf9c0a4c0151c04d0980 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 25 Jan 2021 21:10:49 +1100 Subject: [PATCH 085/325] Do not use "use built-in mapper WIN32 only" --- src/PIL/ImageFile.py | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index f2a55cb54..f58de95bd 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -192,24 +192,14 @@ class ImageFile(Image.Image): and args[0] in Image._MAPMODES ): try: - if hasattr(Image.core, "map"): - # use built-in mapper WIN32 only - self.map = Image.core.map(self.filename) - self.map.seek(offset) - self.im = self.map.readimage( - self.mode, self.size, args[1], args[2] - ) - else: - # use mmap, if possible - import mmap + # use mmap, if possible + import mmap - with open(self.filename) as fp: - self.map = mmap.mmap( - fp.fileno(), 0, access=mmap.ACCESS_READ - ) - self.im = Image.core.map_buffer( - self.map, self.size, decoder_name, offset, args - ) + with open(self.filename) as fp: + self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ) + self.im = Image.core.map_buffer( + self.map, self.size, decoder_name, offset, args + ) readonly = 1 # After trashing self.im, # we might need to reload the palette data. From 685e95118250e764ff50e6ed29d5ed96fc873b4a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 25 Jan 2021 21:13:07 +1100 Subject: [PATCH 086/325] Removed unused C code --- src/_imaging.c | 5 - src/map.c | 260 ------------------------------------------------- 2 files changed, 265 deletions(-) diff --git a/src/_imaging.c b/src/_imaging.c index 01dd22486..a5b12d325 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -3973,8 +3973,6 @@ PyPath_Create(ImagingObject *self, PyObject *args); extern PyObject * PyOutline_Create(ImagingObject *self, PyObject *args); -extern PyObject * -PyImaging_Mapper(PyObject *self, PyObject *args); extern PyObject * PyImaging_MapBuffer(PyObject *self, PyObject *args); @@ -4030,9 +4028,6 @@ static PyMethodDef functions[] = { /* Memory mapping */ #ifdef WITH_MAPPING -#ifdef _WIN32 - {"map", (PyCFunction)PyImaging_Mapper, 1}, -#endif {"map_buffer", (PyCFunction)PyImaging_MapBuffer, 1}, #endif diff --git a/src/map.c b/src/map.c index 2636a684b..c298bd148 100644 --- a/src/map.c +++ b/src/map.c @@ -28,269 +28,9 @@ PyImaging_CheckBuffer(PyObject *buffer); extern int PyImaging_GetBuffer(PyObject *buffer, Py_buffer *view); -/* -------------------------------------------------------------------- */ -/* Standard mapper */ - -typedef struct { - PyObject_HEAD char *base; - int size; - int offset; -#ifdef _WIN32 - HANDLE hFile; - HANDLE hMap; -#endif -} ImagingMapperObject; - -static PyTypeObject ImagingMapperType; - -ImagingMapperObject * -PyImaging_MapperNew(const char *filename, int readonly) { - ImagingMapperObject *mapper; - - if (PyType_Ready(&ImagingMapperType) < 0) { - return NULL; - } - - mapper = PyObject_New(ImagingMapperObject, &ImagingMapperType); - if (mapper == NULL) { - return NULL; - } - - mapper->base = NULL; - mapper->size = mapper->offset = 0; - -#ifdef _WIN32 - mapper->hFile = (HANDLE)-1; - mapper->hMap = (HANDLE)-1; - - /* FIXME: currently supports readonly mappings only */ - mapper->hFile = CreateFile( - filename, - GENERIC_READ, - FILE_SHARE_READ, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL); - if (mapper->hFile == (HANDLE)-1) { - PyErr_SetString(PyExc_OSError, "cannot open file"); - Py_DECREF(mapper); - return NULL; - } - - mapper->hMap = CreateFileMapping(mapper->hFile, NULL, PAGE_READONLY, 0, 0, NULL); - if (mapper->hMap == (HANDLE)-1) { - CloseHandle(mapper->hFile); - PyErr_SetString(PyExc_OSError, "cannot map file"); - Py_DECREF(mapper); - return NULL; - } - - mapper->base = (char *)MapViewOfFile(mapper->hMap, FILE_MAP_READ, 0, 0, 0); - - mapper->size = GetFileSize(mapper->hFile, 0); -#endif - - return mapper; -} - -static void -mapping_dealloc(ImagingMapperObject *mapper) { -#ifdef _WIN32 - if (mapper->base != 0) { - UnmapViewOfFile(mapper->base); - } - if (mapper->hMap != (HANDLE)-1) { - CloseHandle(mapper->hMap); - } - if (mapper->hFile != (HANDLE)-1) { - CloseHandle(mapper->hFile); - } - mapper->base = 0; - mapper->hMap = mapper->hFile = (HANDLE)-1; -#endif - PyObject_Del(mapper); -} - -/* -------------------------------------------------------------------- */ -/* standard file operations */ - -static PyObject * -mapping_read(ImagingMapperObject *mapper, PyObject *args) { - PyObject *buf; - - int size = -1; - if (!PyArg_ParseTuple(args, "|i", &size)) { - return NULL; - } - - /* check size */ - if (size < 0 || mapper->offset + size > mapper->size) { - size = mapper->size - mapper->offset; - } - if (size < 0) { - size = 0; - } - - buf = PyBytes_FromStringAndSize(NULL, size); - if (!buf) { - return NULL; - } - - if (size > 0) { - memcpy(PyBytes_AsString(buf), mapper->base + mapper->offset, size); - mapper->offset += size; - } - - return buf; -} - -static PyObject * -mapping_seek(ImagingMapperObject *mapper, PyObject *args) { - int offset; - int whence = 0; - if (!PyArg_ParseTuple(args, "i|i", &offset, &whence)) { - return NULL; - } - - switch (whence) { - case 0: /* SEEK_SET */ - mapper->offset = offset; - break; - case 1: /* SEEK_CUR */ - mapper->offset += offset; - break; - case 2: /* SEEK_END */ - mapper->offset = mapper->size + offset; - break; - default: - /* FIXME: raise ValueError? */ - break; - } - - Py_INCREF(Py_None); - return Py_None; -} - -/* -------------------------------------------------------------------- */ -/* map entire image */ - extern PyObject * PyImagingNew(Imaging im); -static void -ImagingDestroyMap(Imaging im) { - return; /* nothing to do! */ -} - -static PyObject * -mapping_readimage(ImagingMapperObject *mapper, PyObject *args) { - int y, size; - Imaging im; - - char *mode; - int xsize; - int ysize; - int stride; - int orientation; - if (!PyArg_ParseTuple( - args, "s(ii)ii", &mode, &xsize, &ysize, &stride, &orientation)) { - return NULL; - } - - if (stride <= 0) { - /* FIXME: maybe we should call ImagingNewPrologue instead */ - if (!strcmp(mode, "L") || !strcmp(mode, "P")) { - stride = xsize; - } else if (!strcmp(mode, "I;16") || !strcmp(mode, "I;16B")) { - stride = xsize * 2; - } else { - stride = xsize * 4; - } - } - - size = ysize * stride; - - if (mapper->offset + size > mapper->size) { - PyErr_SetString(PyExc_OSError, "image file truncated"); - return NULL; - } - - im = ImagingNewPrologue(mode, xsize, ysize); - if (!im) { - return NULL; - } - - /* setup file pointers */ - if (orientation > 0) { - for (y = 0; y < ysize; y++) { - im->image[y] = mapper->base + mapper->offset + y * stride; - } - } else { - for (y = 0; y < ysize; y++) { - im->image[ysize - y - 1] = mapper->base + mapper->offset + y * stride; - } - } - - im->destroy = ImagingDestroyMap; - - mapper->offset += size; - - return PyImagingNew(im); -} - -static struct PyMethodDef methods[] = { - /* standard file interface */ - {"read", (PyCFunction)mapping_read, 1}, - {"seek", (PyCFunction)mapping_seek, 1}, - /* extensions */ - {"readimage", (PyCFunction)mapping_readimage, 1}, - {NULL, NULL} /* sentinel */ -}; - -static PyTypeObject ImagingMapperType = { - PyVarObject_HEAD_INIT(NULL, 0) "ImagingMapper", /*tp_name*/ - sizeof(ImagingMapperObject), /*tp_size*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor)mapping_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number */ - 0, /*tp_as_sequence */ - 0, /*tp_as_mapping */ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - 0, /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - methods, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ -}; - -PyObject * -PyImaging_Mapper(PyObject *self, PyObject *args) { - char *filename; - if (!PyArg_ParseTuple(args, "s", &filename)) { - return NULL; - } - - return (PyObject *)PyImaging_MapperNew(filename, 1); -} - /* -------------------------------------------------------------------- */ /* Buffer mapper */ From e4b9f88de4378ae622b54998b186e93e68fab4c7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 30 Jan 2021 12:59:45 +1100 Subject: [PATCH 087/325] Updated test now that Win32 uses map_buffer --- Tests/test_map.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Tests/test_map.py b/Tests/test_map.py index 2b65fb3f9..9131e6b7d 100644 --- a/Tests/test_map.py +++ b/Tests/test_map.py @@ -4,10 +4,6 @@ import pytest from PIL import Image -from .helper import is_win32 - -pytestmark = pytest.mark.skipif(is_win32(), reason="Win32 does not call map_buffer") - def test_overflow(): # There is the potential to overflow comparisons in map.c From 11cb3fba9c93275d78f4339973560938fc07bd9e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 30 Jan 2021 13:01:42 +1100 Subject: [PATCH 088/325] Added test --- Tests/test_map.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tests/test_map.py b/Tests/test_map.py index 9131e6b7d..752c5f268 100644 --- a/Tests/test_map.py +++ b/Tests/test_map.py @@ -23,6 +23,13 @@ def test_overflow(): Image.MAX_IMAGE_PIXELS = max_pixels +def test_tobytes(): + # Previously raised an access violation on Windows + with Image.open("Tests/images/l2rgb_read.bmp") as im: + with pytest.raises((ValueError, MemoryError, OSError)): + im.tobytes() + + @pytest.mark.skipif(sys.maxsize <= 2 ** 32, reason="Requires 64-bit system") def test_ysize(): numpy = pytest.importorskip("numpy", reason="NumPy not installed") From 9561098ed4a8be1214359e0b83ef6d311e3cb9cf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 30 Jan 2021 21:45:39 +1100 Subject: [PATCH 089/325] Updated libwebp to 1.2.0 --- depends/install_webp.sh | 2 +- winbuild/build_prepare.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/depends/install_webp.sh b/depends/install_webp.sh index 9b1882c43..568cb2df9 100755 --- a/depends/install_webp.sh +++ b/depends/install_webp.sh @@ -1,7 +1,7 @@ #!/bin/bash # install webp -archive=libwebp-1.1.0 +archive=libwebp-1.2.0 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 2531d5504..ead64edd2 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -154,9 +154,9 @@ deps = { # "bins": [r"libtiff\*.dll"], }, "libwebp": { - "url": "http://downloads.webmproject.org/releases/webp/libwebp-1.1.0.tar.gz", - "filename": "libwebp-1.1.0.tar.gz", - "dir": "libwebp-1.1.0", + "url": "http://downloads.webmproject.org/releases/webp/libwebp-1.2.0.tar.gz", + "filename": "libwebp-1.2.0.tar.gz", + "dir": "libwebp-1.2.0", "build": [ cmd_rmdir(r"output\release-static"), # clean cmd_nmake( From c10bf8d9a75fca3938e7d223b67bccda407dd168 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 31 Jan 2021 13:14:14 +1100 Subject: [PATCH 090/325] Improved docstring [ci skip] --- src/PIL/Image.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 2adb8e536..e6d3adcf7 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -586,10 +586,10 @@ class Image: This operation will destroy the image core and release its memory. The image data will be unusable afterward. - This function is only required to close images that have not - had their file read and closed by the - :py:meth:`~PIL.Image.Image.load` method. See - :ref:`file-handling` for more information. + This function is required to close images that have multiple frames or + have not had their file read and closed by the + :py:meth:`~PIL.Image.Image.load` method. See :ref:`file-handling` for + more information. """ try: if hasattr(self, "_close__fp"): From 63f21609c041dbdbc05a00b80c8b2190a516bbe5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 2 Feb 2021 23:39:53 +1100 Subject: [PATCH 091/325] Added context manager --- Tests/test_file_png.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 4cd4515ae..289c09767 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -571,8 +571,8 @@ class TestFilePng: assert len(chunks) == 3 def test_read_private_chunks(self): - im = Image.open("Tests/images/exif.png") - assert im.private_chunks == [(b"orNT", b"\x01")] + with Image.open("Tests/images/exif.png") as im: + assert im.private_chunks == [(b"orNT", b"\x01")] def test_roundtrip_private_chunk(self): # Check private chunk roundtripping From c377d8ca88d2618e603bcb43a180dee9611ad6c1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 3 Feb 2021 15:15:33 +1100 Subject: [PATCH 092/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 81d27a39f..4ad7bb8d3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02) #5216 + [radarhere] + - Added tk version to pilinfo #5226 [radarhere, nulano] From 0c1675a14390f19cef56e4d8cc1ab93d7ed74c95 Mon Sep 17 00:00:00 2001 From: Piolie Date: Thu, 4 Feb 2021 22:47:53 -0300 Subject: [PATCH 093/325] Make `formats` parameter in `Image.open` accept aNy cAsE --- Tests/test_image.py | 2 +- src/PIL/Image.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index ade9d03c9..cff5832cf 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -94,7 +94,7 @@ class TestImage: with pytest.raises(TypeError): Image.open(PNGFILE, formats=123) - for formats in [["JPEG"], ("JPEG",)]: + for formats in [["jPeG"], ("JpEg",)]: with pytest.raises(UnidentifiedImageError): Image.open(PNGFILE, formats=formats) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index e6d3adcf7..da0d95bed 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2925,7 +2925,7 @@ def open(fp, mode="r", formats=None): if i not in OPEN: init() try: - factory, accept = OPEN[i] + factory, accept = OPEN[i.upper()] result = not accept or accept(prefix) if type(result) in [str, bytes]: accept_warnings.append(result) From 587e073dacdf13c94766974bd446644237887182 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 5 Feb 2021 20:28:34 +1100 Subject: [PATCH 094/325] Moved case transformation before initialization check --- src/PIL/Image.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index da0d95bed..01fe7ed1b 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2922,10 +2922,11 @@ def open(fp, mode="r", formats=None): def _open_core(fp, filename, prefix, formats): for i in formats: + i = i.upper() if i not in OPEN: init() try: - factory, accept = OPEN[i.upper()] + factory, accept = OPEN[i] result = not accept or accept(prefix) if type(result) in [str, bytes]: accept_warnings.append(result) From 4a9a999dbb0cb6b211ca2aa6d901039ac059943e Mon Sep 17 00:00:00 2001 From: Piolie Date: Fri, 5 Feb 2021 12:21:27 -0300 Subject: [PATCH 095/325] Update Tests/test_image.py Keep the original test cases; add the most likely non-uppercase versions. Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- Tests/test_image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index cff5832cf..3c2d128ee 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -94,7 +94,7 @@ class TestImage: with pytest.raises(TypeError): Image.open(PNGFILE, formats=123) - for formats in [["jPeG"], ("JpEg",)]: + for formats in [["JPEG"], ("JPEG",), ["jpeg"], ["Jpeg"], ["jPeG"], ["JpEg"]]: with pytest.raises(UnidentifiedImageError): Image.open(PNGFILE, formats=formats) From e5c41c3c84681fd8aed245c3988a40fd1e1bdea4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 7 Feb 2021 06:57:03 +1100 Subject: [PATCH 096/325] Updated lcms2 to 2.12 --- docs/installation.rst | 2 +- winbuild/build_prepare.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index d92a6eb8b..4610d87d8 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -159,7 +159,7 @@ Many of Pillow's features require external libraries: * **littlecms** provides color management * Pillow version 2.2.1 and below uses liblcms1, Pillow 2.3.0 and - above uses liblcms2. Tested with **1.19** and **2.7-2.11**. + above uses liblcms2. Tested with **1.19** and **2.7-2.12**. * **libwebp** provides the WebP format. diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index ead64edd2..2f7c858bc 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -219,9 +219,9 @@ deps = { # "bins": [r"objs\{msbuild_arch}\Release\freetype.dll"], }, "lcms2": { - "url": SF_MIRROR + "/project/lcms/lcms/2.11/lcms2-2.11.tar.gz", - "filename": "lcms2-2.11.tar.gz", - "dir": "lcms2-2.11", + "url": SF_MIRROR + "/project/lcms/lcms/2.12/lcms2-2.12.tar.gz", + "filename": "lcms2-2.12.tar.gz", + "dir": "lcms2-2.12", "patch": { r"Projects\VC2017\lcms2_static\lcms2_static.vcxproj": { # default is /MD for x86 and /MT for x64, we need /MD always From 62737fb470ecf4ff5909b14c27ceb9f442dbc1e2 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Feb 2021 18:20:11 +1100 Subject: [PATCH 097/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4ad7bb8d3..ecc0d9ea4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Changed Image.open formats parameter to be case-insensitive #5250 + [Piolie, radarhere] + - Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-01-02) #5216 [radarhere] From a5d8d1e163f117d4fb619eadacfc424eed8e7eec Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Feb 2021 22:00:48 +1100 Subject: [PATCH 098/325] Removed outdated documentation [ci skip] --- docs/reference/limits.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/reference/limits.rst b/docs/reference/limits.rst index 79dc66e67..a71b514b5 100644 --- a/docs/reference/limits.rst +++ b/docs/reference/limits.rst @@ -25,13 +25,6 @@ Internal Limits is smaller than 2GB, as calculated by ``y*stride`` (so 2Gpx for 'L' images, and .5Gpx for 'RGB' -* Any call to internal python size functions for buffers or strings - are currently returned as int32, not py_ssize_t. This limits the - maximum buffer to 2GB for operations like frombytes and frombuffer. - -* This also limits the size of buffers converted using a - decoder. (decode.c:127) - Format Size Limits ================== From 441d75aa284998926279bb2f4b6e7878ba5d87bb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Feb 2021 19:14:57 +1100 Subject: [PATCH 099/325] Updated docstring --- src/PIL/ImageColor.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PIL/ImageColor.py b/src/PIL/ImageColor.py index 909117449..51df44040 100644 --- a/src/PIL/ImageColor.py +++ b/src/PIL/ImageColor.py @@ -24,8 +24,8 @@ from . import Image def getrgb(color): """ - Convert a color string to an RGB tuple. If the string cannot be parsed, - this function raises a :py:exc:`ValueError` exception. + Convert a color string to an RGB or RGBA tuple. If the string cannot be + parsed, this function raises a :py:exc:`ValueError` exception. .. versionadded:: 1.1.4 From e4a8783e8864cddb885fdda85d01e771f2135493 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Feb 2021 19:44:51 +1100 Subject: [PATCH 100/325] Changed example value to avoid using "a" --- docs/reference/ImageColor.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/reference/ImageColor.rst b/docs/reference/ImageColor.rst index 457f166b4..23b46b06c 100644 --- a/docs/reference/ImageColor.rst +++ b/docs/reference/ImageColor.rst @@ -28,8 +28,8 @@ The ImageColor module supports the following string formats: Examples: - ``#ff0000`` specifies pure red. - - ``#ff0000aa`` specifies pure red with an opacity of 66.66% (aa = 170, opacity = - 170/255). + - ``#ff0000cc`` specifies pure red with an opacity of 80% (cc = 204, opacity = + 204/255). * RGB functions, given as ``rgb(red, green, blue)`` where the color values are From 6c0af0fdfbea899e3e6a6beb3a7f94e4fedc0003 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Feb 2021 19:46:07 +1100 Subject: [PATCH 101/325] Removed ImageDraw reference --- docs/reference/ImageColor.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/reference/ImageColor.rst b/docs/reference/ImageColor.rst index 23b46b06c..95ed17438 100644 --- a/docs/reference/ImageColor.rst +++ b/docs/reference/ImageColor.rst @@ -22,8 +22,7 @@ The ImageColor module supports the following string formats: - ``r`` red - ``g`` green - ``b`` blue - - ``a`` alpha / opacity (can be used in combination with ``mode="RGBA"`` in - :py:mod:`~PIL.ImageDraw`) + - ``a`` alpha / opacity Examples: From e64d62e568b4674dd91d7b330fc83060d4cd31fb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Feb 2021 19:47:40 +1100 Subject: [PATCH 102/325] Adjusted formatting [ci skip] --- docs/reference/ImageColor.rst | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/docs/reference/ImageColor.rst b/docs/reference/ImageColor.rst index 95ed17438..20237eccf 100644 --- a/docs/reference/ImageColor.rst +++ b/docs/reference/ImageColor.rst @@ -17,19 +17,10 @@ Color Names The ImageColor module supports the following string formats: * Hexadecimal color specifiers, given as ``#rgb``, ``#rgba``, ``#rrggbb`` or - ``#rrggbbaa``, with the following placeholders: - - - ``r`` red - - ``g`` green - - ``b`` blue - - ``a`` alpha / opacity - - Examples: - - - ``#ff0000`` specifies pure red. - - ``#ff0000cc`` specifies pure red with an opacity of 80% (cc = 204, opacity = - 204/255). - + ``#rrggbbaa``, where ``r`` is red, ``g`` is green, ``b`` is blue and ``a`` is + alpha (also called 'opacity'). For example, ``#ff0000`` specifies pure red, + and ``#ff0000cc`` specifies red with 80% opacity (``cc`` is 204 in decimal + form, and 204 / 255 = 0.8). * RGB functions, given as ``rgb(red, green, blue)`` where the color values are integers in the range 0 to 255. Alternatively, the color values can be given From 57d6e8ca433b4d6bc39beb9e6d7829b4e0368a35 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 10 Feb 2021 21:12:30 +1100 Subject: [PATCH 103/325] Added PyQt6 support --- Tests/test_imageqt.py | 4 +++- Tests/test_qt_image_qapplication.py | 4 +++- src/PIL/ImageQt.py | 20 +++++++++++++------- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Tests/test_imageqt.py b/Tests/test_imageqt.py index cf4aba982..404849cb9 100644 --- a/Tests/test_imageqt.py +++ b/Tests/test_imageqt.py @@ -14,7 +14,9 @@ def test_rgb(): # typedef QRgb # An ARGB quadruplet on the format #AARRGGBB, # equivalent to an unsigned int. - if ImageQt.qt_version == "side6": + if ImageQt.qt_version == "6": + from PyQt6.QtGui import qRgb + elif ImageQt.qt_version == "side6": from PySide6.QtGui import qRgb elif ImageQt.qt_version == "5": from PyQt5.QtGui import qRgb diff --git a/Tests/test_qt_image_qapplication.py b/Tests/test_qt_image_qapplication.py index 06bd27c00..a3d5620d3 100644 --- a/Tests/test_qt_image_qapplication.py +++ b/Tests/test_qt_image_qapplication.py @@ -7,7 +7,9 @@ from .helper import assert_image_equal, hopper if ImageQt.qt_is_installed: from PIL.ImageQt import QPixmap - if ImageQt.qt_version == "side6": + if ImageQt.qt_version == "6": + from PyQt6.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget + elif ImageQt.qt_version == "side6": from PySide6.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget elif ImageQt.qt_version == "5": from PyQt5.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget diff --git a/src/PIL/ImageQt.py b/src/PIL/ImageQt.py index 64f07be11..f9586f743 100644 --- a/src/PIL/ImageQt.py +++ b/src/PIL/ImageQt.py @@ -23,6 +23,7 @@ from . import Image from ._util import isPath qt_versions = [ + ["6", "PyQt6"], ["side6", "PySide6"], ["5", "PyQt5"], ["side2", "PySide2"], @@ -32,7 +33,10 @@ qt_versions = [ qt_versions.sort(key=lambda qt_version: qt_version[1] in sys.modules, reverse=True) for qt_version, qt_module in qt_versions: try: - if qt_module == "PySide6": + if qt_module == "PyQt6": + from PyQt6.QtCore import QBuffer, QIODevice + from PyQt6.QtGui import QImage, QPixmap, qRgba + elif qt_module == "PySide6": from PySide6.QtCore import QBuffer, QIODevice from PySide6.QtGui import QImage, QPixmap, qRgba elif qt_module == "PyQt5": @@ -63,7 +67,8 @@ def fromqimage(im): (given either as Python string or a PyQt string object) """ buffer = QBuffer() - buffer.open(QIODevice.ReadWrite) + qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice + buffer.open(qt_openmode.ReadWrite) # preserve alpha channel with png # otherwise ppm is more friendly with Image.open if im.hasAlphaChannel(): @@ -132,25 +137,26 @@ def _toqclass_helper(im): if isPath(im): im = Image.open(im) + qt_format = QImage.Format if qt_version == "6" else QImage if im.mode == "1": - format = QImage.Format_Mono + format = qt_format.Format_Mono elif im.mode == "L": - format = QImage.Format_Indexed8 + format = qt_format.Format_Indexed8 colortable = [] for i in range(256): colortable.append(rgb(i, i, i)) elif im.mode == "P": - format = QImage.Format_Indexed8 + format = qt_format.Format_Indexed8 colortable = [] palette = im.getpalette() for i in range(0, len(palette), 3): colortable.append(rgb(*palette[i : i + 3])) elif im.mode == "RGB": data = im.tobytes("raw", "BGRX") - format = QImage.Format_RGB32 + format = qt_format.Format_RGB32 elif im.mode == "RGBA": data = im.tobytes("raw", "BGRA") - format = QImage.Format_ARGB32 + format = qt_format.Format_ARGB32 else: raise ValueError(f"unsupported image mode {repr(im.mode)}") From 01be7000814ad4032aff74eb659ca8fa8a5b4164 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 10 Feb 2021 23:37:55 +1100 Subject: [PATCH 104/325] Fixed asserting that no warnings were raised --- Tests/test_bmp_reference.py | 4 ++-- Tests/test_file_dcx.py | 8 ++++---- Tests/test_file_fli.py | 8 ++++---- Tests/test_file_gif.py | 8 ++++---- Tests/test_file_icns.py | 4 +++- Tests/test_file_im.py | 8 ++++---- Tests/test_file_mpo.py | 8 ++++---- Tests/test_file_png.py | 4 +++- Tests/test_file_psd.py | 8 ++++---- Tests/test_file_spider.py | 8 ++++---- Tests/test_file_tar.py | 8 ++++---- Tests/test_file_tiff.py | 8 ++++---- Tests/test_file_webp.py | 4 +++- Tests/test_image.py | 4 +++- Tests/test_numpy.py | 4 +++- 15 files changed, 53 insertions(+), 43 deletions(-) diff --git a/Tests/test_bmp_reference.py b/Tests/test_bmp_reference.py index 19602c1e7..46fe1750f 100644 --- a/Tests/test_bmp_reference.py +++ b/Tests/test_bmp_reference.py @@ -20,7 +20,7 @@ def test_bad(): either""" for f in get_files("b"): - def open(f): + with pytest.warns(None) as record: try: with Image.open(f) as im: im.load() @@ -28,7 +28,7 @@ def test_bad(): pass # Assert that there is no unclosed file warning - pytest.warns(None, open, f) + assert len(record) == 0 def test_questionable(): diff --git a/Tests/test_file_dcx.py b/Tests/test_file_dcx.py index 818d6ed5e..ec399d3ae 100644 --- a/Tests/test_file_dcx.py +++ b/Tests/test_file_dcx.py @@ -31,20 +31,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(TEST_FILE) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(TEST_FILE) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_invalid_file(): diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 16b3dc59a..43ae9b0e0 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -38,20 +38,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(static_test_file) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(static_test_file) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_tell(): diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index cf3a65e18..adbc8c6aa 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -38,20 +38,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(TEST_GIF) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(TEST_GIF) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_invalid_file(): diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index a3d502d42..04d17ccf5 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -19,7 +19,9 @@ def test_sanity(): with Image.open(TEST_FILE) as im: # Assert that there is no unclosed file warning - pytest.warns(None, im.load) + with pytest.warns(None) as record: + im.load() + assert len(record) == 0 assert im.mode == "RGBA" assert im.size == (1024, 1024) diff --git a/Tests/test_file_im.py b/Tests/test_file_im.py index afea82359..b736c3aa6 100644 --- a/Tests/test_file_im.py +++ b/Tests/test_file_im.py @@ -35,20 +35,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(TEST_IM) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(TEST_IM) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_tell(): diff --git a/Tests/test_file_mpo.py b/Tests/test_file_mpo.py index 791efcc3f..ad11c3d5d 100644 --- a/Tests/test_file_mpo.py +++ b/Tests/test_file_mpo.py @@ -41,20 +41,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(test_files[0]) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(test_files[0]) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_app(): diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 289c09767..16b461f30 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -324,7 +324,9 @@ class TestFilePng: with Image.open(TEST_PNG_FILE) as im: # Assert that there is no unclosed file warning - pytest.warns(None, im.verify) + with pytest.warns(None) as record: + im.verify() + assert len(record) == 0 with Image.open(TEST_PNG_FILE) as im: im.load() diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index 8bb45630e..eb2d94cd2 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -29,20 +29,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(test_file) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(test_file) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_invalid_file(): diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index 9cdb451c9..c7ed91f0d 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -28,20 +28,20 @@ def test_unclosed_file(): def test_closed_file(): - def open(): + with pytest.warns(None) as record: im = Image.open(TEST_FILE) im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(): - def open(): + with pytest.warns(None) as record: with Image.open(TEST_FILE) as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_save(tmp_path): diff --git a/Tests/test_file_tar.py b/Tests/test_file_tar.py index 02001e5b1..39356c9ee 100644 --- a/Tests/test_file_tar.py +++ b/Tests/test_file_tar.py @@ -31,16 +31,16 @@ def test_unclosed_file(): def test_close(): - def open(): + with pytest.warns(None) as record: tar = TarIO.TarIO(TEST_TAR_FILE, "hopper.jpg") tar.close() - pytest.warns(None, open) + assert len(record) == 0 def test_contextmanager(): - def open(): + with pytest.warns(None) as record: with TarIO.TarIO(TEST_TAR_FILE, "hopper.jpg"): pass - pytest.warns(None, open) + assert len(record) == 0 diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index f644ef887..f378666ad 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -59,19 +59,19 @@ class TestFileTiff: pytest.warns(ResourceWarning, open) def test_closed_file(self): - def open(): + with pytest.warns(None) as record: im = Image.open("Tests/images/multipage.tiff") im.load() im.close() - pytest.warns(None, open) + assert len(record) == 0 def test_context_manager(self): - def open(): + with pytest.warns(None) as record: with Image.open("Tests/images/multipage.tiff") as im: im.load() - pytest.warns(None, open) + assert len(record) == 0 def test_mac_tiff(self): # Read RGBa images from macOS [@PIL136] diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 11fbd9fd5..56c163aab 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -145,7 +145,9 @@ class TestFileWebp: file_path = "Tests/images/hopper.webp" with Image.open(file_path) as image: temp_file = str(tmp_path / "temp.webp") - pytest.warns(None, image.save, temp_file) + with pytest.warns(None) as record: + image.save(temp_file) + assert len(record) == 0 def test_file_pointer_could_be_reused(self): file_path = "Tests/images/hopper.webp" diff --git a/Tests/test_image.py b/Tests/test_image.py index 3c2d128ee..13ab8b7bf 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -636,7 +636,9 @@ class TestImage: # Act/Assert with Image.open(test_file) as im: - pytest.warns(None, im.save, temp_file) + with pytest.warns(None) as record: + im.save(temp_file) + assert len(record) == 0 def test_load_on_nonexclusive_multiframe(self): with open("Tests/images/frozenpond.mpo", "rb") as fp: diff --git a/Tests/test_numpy.py b/Tests/test_numpy.py index da367fa46..42c7a9281 100644 --- a/Tests/test_numpy.py +++ b/Tests/test_numpy.py @@ -234,4 +234,6 @@ def test_no_resource_warning_for_numpy_array(): with Image.open(test_file) as im: # Act/Assert - pytest.warns(None, lambda: array(im)) + with pytest.warns(None) as record: + array(im) + assert len(record) == 0 From 98eaef5bc746958c8d04b365a480159572af846c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Feb 2021 08:09:31 +1100 Subject: [PATCH 105/325] Added release notes for PyQt6 [ci skip] --- docs/releasenotes/8.2.0.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 8ddbc7f54..28d39ca46 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -34,7 +34,8 @@ TODO Other Changes ============= -TODO -^^^^ +PyQt6 +^^^^^ -TODO +Support has been added for PyQt6. If it is installed, it will be used instead of +PySide6, PyQt5 or PySide2. From 4a0569e97f1c276e7550caf891abcfecbd125a6d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Feb 2021 13:48:31 +1100 Subject: [PATCH 106/325] Changed zero length assertions to falsy --- Tests/test_bmp_reference.py | 2 +- Tests/test_file_dcx.py | 4 ++-- Tests/test_file_fli.py | 4 ++-- Tests/test_file_gif.py | 4 ++-- Tests/test_file_icns.py | 2 +- Tests/test_file_im.py | 4 ++-- Tests/test_file_jpeg.py | 2 +- Tests/test_file_mpo.py | 4 ++-- Tests/test_file_png.py | 2 +- Tests/test_file_psd.py | 4 ++-- Tests/test_file_spider.py | 4 ++-- Tests/test_file_tar.py | 4 ++-- Tests/test_file_tiff.py | 4 ++-- Tests/test_file_webp.py | 2 +- Tests/test_image.py | 2 +- Tests/test_numpy.py | 2 +- 16 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Tests/test_bmp_reference.py b/Tests/test_bmp_reference.py index 46fe1750f..99e16391a 100644 --- a/Tests/test_bmp_reference.py +++ b/Tests/test_bmp_reference.py @@ -28,7 +28,7 @@ def test_bad(): pass # Assert that there is no unclosed file warning - assert len(record) == 0 + assert not record def test_questionable(): diff --git a/Tests/test_file_dcx.py b/Tests/test_file_dcx.py index ec399d3ae..58d5cbf1a 100644 --- a/Tests/test_file_dcx.py +++ b/Tests/test_file_dcx.py @@ -36,7 +36,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -44,7 +44,7 @@ def test_context_manager(): with Image.open(TEST_FILE) as im: im.load() - assert len(record) == 0 + assert not record def test_invalid_file(): diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 43ae9b0e0..1d02b5195 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -43,7 +43,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -51,7 +51,7 @@ def test_context_manager(): with Image.open(static_test_file) as im: im.load() - assert len(record) == 0 + assert not record def test_tell(): diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index adbc8c6aa..f3414647f 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -43,7 +43,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -51,7 +51,7 @@ def test_context_manager(): with Image.open(TEST_GIF) as im: im.load() - assert len(record) == 0 + assert not record def test_invalid_file(): diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index 04d17ccf5..37898d0bd 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -21,7 +21,7 @@ def test_sanity(): # Assert that there is no unclosed file warning with pytest.warns(None) as record: im.load() - assert len(record) == 0 + assert not record assert im.mode == "RGBA" assert im.size == (1024, 1024) diff --git a/Tests/test_file_im.py b/Tests/test_file_im.py index b736c3aa6..f1d75465d 100644 --- a/Tests/test_file_im.py +++ b/Tests/test_file_im.py @@ -40,7 +40,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -48,7 +48,7 @@ def test_context_manager(): with Image.open(TEST_IM) as im: im.load() - assert len(record) == 0 + assert not record def test_tell(): diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 435ecbaa7..eff0c0eb1 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -733,7 +733,7 @@ class TestFileJpeg: out = str(tmp_path / "out.jpg") with pytest.warns(None) as record: im.save(out, exif=exif) - assert len(record) == 0 + assert not record with Image.open(out) as reloaded: assert reloaded.getexif()[282] == 180 diff --git a/Tests/test_file_mpo.py b/Tests/test_file_mpo.py index ad11c3d5d..c5756649e 100644 --- a/Tests/test_file_mpo.py +++ b/Tests/test_file_mpo.py @@ -46,7 +46,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -54,7 +54,7 @@ def test_context_manager(): with Image.open(test_files[0]) as im: im.load() - assert len(record) == 0 + assert not record def test_app(): diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 16b461f30..26181fb8a 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -326,7 +326,7 @@ class TestFilePng: # Assert that there is no unclosed file warning with pytest.warns(None) as record: im.verify() - assert len(record) == 0 + assert not record with Image.open(TEST_PNG_FILE) as im: im.load() diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index eb2d94cd2..37d807c51 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -34,7 +34,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -42,7 +42,7 @@ def test_context_manager(): with Image.open(test_file) as im: im.load() - assert len(record) == 0 + assert not record def test_invalid_file(): diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index c7ed91f0d..dc90201cf 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -33,7 +33,7 @@ def test_closed_file(): im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(): @@ -41,7 +41,7 @@ def test_context_manager(): with Image.open(TEST_FILE) as im: im.load() - assert len(record) == 0 + assert not record def test_save(tmp_path): diff --git a/Tests/test_file_tar.py b/Tests/test_file_tar.py index 39356c9ee..b38727fb9 100644 --- a/Tests/test_file_tar.py +++ b/Tests/test_file_tar.py @@ -35,7 +35,7 @@ def test_close(): tar = TarIO.TarIO(TEST_TAR_FILE, "hopper.jpg") tar.close() - assert len(record) == 0 + assert not record def test_contextmanager(): @@ -43,4 +43,4 @@ def test_contextmanager(): with TarIO.TarIO(TEST_TAR_FILE, "hopper.jpg"): pass - assert len(record) == 0 + assert not record diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index f378666ad..f0dc6ea2d 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -64,14 +64,14 @@ class TestFileTiff: im.load() im.close() - assert len(record) == 0 + assert not record def test_context_manager(self): with pytest.warns(None) as record: with Image.open("Tests/images/multipage.tiff") as im: im.load() - assert len(record) == 0 + assert not record def test_mac_tiff(self): # Read RGBa images from macOS [@PIL136] diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 56c163aab..c4fd08437 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -147,7 +147,7 @@ class TestFileWebp: temp_file = str(tmp_path / "temp.webp") with pytest.warns(None) as record: image.save(temp_file) - assert len(record) == 0 + assert not record def test_file_pointer_could_be_reused(self): file_path = "Tests/images/hopper.webp" diff --git a/Tests/test_image.py b/Tests/test_image.py index 13ab8b7bf..41cafaccb 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -638,7 +638,7 @@ class TestImage: with Image.open(test_file) as im: with pytest.warns(None) as record: im.save(temp_file) - assert len(record) == 0 + assert not record def test_load_on_nonexclusive_multiframe(self): with open("Tests/images/frozenpond.mpo", "rb") as fp: diff --git a/Tests/test_numpy.py b/Tests/test_numpy.py index 42c7a9281..550d02eea 100644 --- a/Tests/test_numpy.py +++ b/Tests/test_numpy.py @@ -236,4 +236,4 @@ def test_no_resource_warning_for_numpy_array(): # Act/Assert with pytest.warns(None) as record: array(im) - assert len(record) == 0 + assert not record From 1722b8de2f35ea80e4008bb999c89e2061c01dd1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Feb 2021 18:10:26 +1100 Subject: [PATCH 107/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index ecc0d9ea4..b4d6b5348 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Added PyQt6 support #5258 + [radarhere] + - Changed Image.open formats parameter to be case-insensitive #5250 [Piolie, radarhere] From 83542c42bf6ffeb944f965d811ad68074d5d2a19 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Feb 2021 21:43:54 +1100 Subject: [PATCH 108/325] Added context managers --- Tests/check_icns_dos.py | 3 ++- Tests/check_j2k_dos.py | 5 ++++- Tests/test_decompression_bomb.py | 9 ++++++--- Tests/test_file_dds.py | 9 ++++++--- Tests/test_file_fpx.py | 3 ++- Tests/test_file_jpeg.py | 3 ++- Tests/test_file_jpeg2k.py | 3 ++- Tests/test_file_png.py | 6 ++++-- Tests/test_file_ppm.py | 6 ++++-- Tests/test_file_psd.py | 3 ++- Tests/test_file_spider.py | 3 ++- Tests/test_file_tiff.py | 11 ++++++----- Tests/test_file_webp.py | 3 ++- Tests/test_image.py | 15 ++++++++++----- Tests/test_imagewin_pointers.py | 3 ++- 15 files changed, 56 insertions(+), 29 deletions(-) diff --git a/Tests/check_icns_dos.py b/Tests/check_icns_dos.py index 3f4fb6518..a34bee45c 100644 --- a/Tests/check_icns_dos.py +++ b/Tests/check_icns_dos.py @@ -5,4 +5,5 @@ from io import BytesIO from PIL import Image -Image.open(BytesIO(b"icns\x00\x00\x00\x10hang\x00\x00\x00\x00")) +with Image.open(BytesIO(b"icns\x00\x00\x00\x10hang\x00\x00\x00\x00")): + pass diff --git a/Tests/check_j2k_dos.py b/Tests/check_j2k_dos.py index 273c18585..71dcea4f3 100644 --- a/Tests/check_j2k_dos.py +++ b/Tests/check_j2k_dos.py @@ -5,4 +5,7 @@ from io import BytesIO from PIL import Image -Image.open(BytesIO(b"\x00\x00\x00\x0cjP\x20\x20\x0d\x0a\x87\x0a\x00\x00\x00\x00hang")) +with Image.open( + BytesIO(b"\x00\x00\x00\x0cjP\x20\x20\x0d\x0a\x87\x0a\x00\x00\x00\x00hang") +): + pass diff --git a/Tests/test_decompression_bomb.py b/Tests/test_decompression_bomb.py index 7671cdc09..80ab92666 100644 --- a/Tests/test_decompression_bomb.py +++ b/Tests/test_decompression_bomb.py @@ -54,15 +54,18 @@ class TestDecompressionBomb: def test_exception_ico(self): with pytest.raises(Image.DecompressionBombError): - Image.open("Tests/images/decompression_bomb.ico") + with Image.open("Tests/images/decompression_bomb.ico"): + pass def test_exception_gif(self): with pytest.raises(Image.DecompressionBombError): - Image.open("Tests/images/decompression_bomb.gif") + with Image.open("Tests/images/decompression_bomb.gif"): + pass def test_exception_bmp(self): with pytest.raises(Image.DecompressionBombError): - Image.open("Tests/images/bmp/b/reallybig.bmp") + with Image.open("Tests/images/bmp/b/reallybig.bmp"): + pass class TestDecompressionCrop: diff --git a/Tests/test_file_dds.py b/Tests/test_file_dds.py index 1cd7a1be7..5e2e841fd 100644 --- a/Tests/test_file_dds.py +++ b/Tests/test_file_dds.py @@ -123,7 +123,8 @@ def test_dx10_r8g8b8a8_unorm_srgb(): def test_unimplemented_dxgi_format(): with pytest.raises(NotImplementedError): - Image.open("Tests/images/unimplemented_dxgi_format.dds") + with Image.open("Tests/images/unimplemented_dxgi_format.dds"): + pass def test_uncompressed_rgb(): @@ -170,7 +171,8 @@ def test_short_header(): img_file = f.read() def short_header(): - Image.open(BytesIO(img_file[:119])) + with Image.open(BytesIO(img_file[:119])): + pass with pytest.raises(OSError): short_header() @@ -192,4 +194,5 @@ def test_short_file(): def test_unimplemented_pixel_format(): with pytest.raises(NotImplementedError): - Image.open("Tests/images/unimplemented_pixel_format.dds") + with Image.open("Tests/images/unimplemented_pixel_format.dds"): + pass diff --git a/Tests/test_file_fpx.py b/Tests/test_file_fpx.py index c3cc37ddf..818565f88 100644 --- a/Tests/test_file_fpx.py +++ b/Tests/test_file_fpx.py @@ -21,4 +21,5 @@ def test_invalid_file(): def test_fpx_invalid_number_of_bands(): with pytest.raises(OSError, match="Invalid number of bands"): - Image.open("Tests/images/input_bw_five_bands.fpx") + with Image.open("Tests/images/input_bw_five_bands.fpx"): + pass diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 435ecbaa7..5862d7eba 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -798,7 +798,8 @@ class TestFileJpeg: buffer.read = read with pytest.raises(UnidentifiedImageError): - Image.open(buffer) + with Image.open(buffer): + pass # Assert the entire file has not been read assert 0 < buffer.max_pos < size diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index c9e37f8b0..e22cff087 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -219,7 +219,8 @@ def test_16bit_jp2_roundtrips(): def test_unbound_local(): # prepatch, a malformed jp2 file could cause an UnboundLocalError exception. with pytest.raises(OSError): - Image.open("Tests/images/unbound_variable.jp2") + with Image.open("Tests/images/unbound_variable.jp2"): + pass def test_parser_feed(): diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 289c09767..76eac58f8 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -106,7 +106,8 @@ class TestFilePng: test_file = "Tests/images/broken.png" with pytest.raises(OSError): - Image.open(test_file) + with Image.open(test_file): + pass def test_bad_text(self): # Make sure PIL can read malformed tEXt chunks (@PIL152) @@ -464,7 +465,8 @@ class TestFilePng: pngfile = BytesIO(data) with pytest.raises(OSError): - Image.open(pngfile) + with Image.open(pngfile): + pass def test_trns_rgb(self): # Check writing and reading of tRNS chunks for RGB images. diff --git a/Tests/test_file_ppm.py b/Tests/test_file_ppm.py index e7c3fb06f..c7be5d780 100644 --- a/Tests/test_file_ppm.py +++ b/Tests/test_file_ppm.py @@ -56,7 +56,8 @@ def test_truncated_file(tmp_path): f.write("P6") with pytest.raises(ValueError): - Image.open(path) + with Image.open(path): + pass def test_neg_ppm(): @@ -66,7 +67,8 @@ def test_neg_ppm(): # sizes. with pytest.raises(OSError): - Image.open("Tests/images/negative_size.ppm") + with Image.open("Tests/images/negative_size.ppm"): + pass def test_mimetypes(tmp_path): diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index 8bb45630e..8028636b9 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -128,4 +128,5 @@ def test_combined_larger_than_size(): # If we instead take the 'size' of the extra data field as the source of truth, # then the seek can't be negative with pytest.raises(OSError): - Image.open("Tests/images/combined_larger_than_size.psd") + with Image.open("Tests/images/combined_larger_than_size.psd"): + pass diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index 9cdb451c9..b2d815d2e 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -136,7 +136,8 @@ def test_invalid_file(): invalid_file = "Tests/images/invalid.spider" with pytest.raises(OSError): - Image.open(invalid_file) + with Image.open(invalid_file): + pass def test_nonstack_file(): diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index f644ef887..945f245cc 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -163,9 +163,8 @@ class TestFileTiff: def test_save_setting_missing_resolution(self): b = BytesIO() - Image.open("Tests/images/10ct_32bit_128.tiff").save( - b, format="tiff", resolution=123.45 - ) + with Image.open("Tests/images/10ct_32bit_128.tiff") as im: + im.save(b, format="tiff", resolution=123.45) with Image.open(b) as im: assert float(im.tag_v2[X_RESOLUTION]) == 123.45 assert float(im.tag_v2[Y_RESOLUTION]) == 123.45 @@ -248,7 +247,8 @@ class TestFileTiff: def test_unknown_pixel_mode(self): with pytest.raises(OSError): - Image.open("Tests/images/hopper_unknown_pixel_mode.tif") + with Image.open("Tests/images/hopper_unknown_pixel_mode.tif"): + pass def test_n_frames(self): for path, n_frames in [ @@ -605,7 +605,8 @@ class TestFileTiff: def test_string_dimension(self): # Assert that an error is raised if one of the dimensions is a string with pytest.raises(ValueError): - Image.open("Tests/images/string_dimension.tiff") + with Image.open("Tests/images/string_dimension.tiff"): + pass @pytest.mark.skipif(not is_win32(), reason="Windows only") diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 11fbd9fd5..7cc46ef69 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -165,7 +165,8 @@ class TestFileWebp: # Save as GIF out_gif = str(tmp_path / "temp.gif") - Image.open(out_webp).save(out_gif) + with Image.open(out_webp) as im: + im.save(out_gif) with Image.open(out_gif) as reread: reread_value = reread.convert("RGB").getpixel((1, 1)) diff --git a/Tests/test_image.py b/Tests/test_image.py index 3c2d128ee..c15c580e9 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -92,11 +92,13 @@ class TestImage: JPGFILE = "Tests/images/hopper.jpg" with pytest.raises(TypeError): - Image.open(PNGFILE, formats=123) + with Image.open(PNGFILE, formats=123): + pass for formats in [["JPEG"], ("JPEG",), ["jpeg"], ["Jpeg"], ["jPeG"], ["JpEg"]]: with pytest.raises(UnidentifiedImageError): - Image.open(PNGFILE, formats=formats) + with Image.open(PNGFILE, formats=formats): + pass with Image.open(JPGFILE, formats=formats) as im: assert im.mode == "RGB" @@ -120,15 +122,18 @@ class TestImage: im = io.BytesIO(b"") with pytest.raises(UnidentifiedImageError): - Image.open(im) + with Image.open(im): + pass def test_bad_mode(self): with pytest.raises(ValueError): - Image.open("filename", "bad mode") + with Image.open("filename", "bad mode"): + pass def test_stringio(self): with pytest.raises(ValueError): - Image.open(io.StringIO()) + with Image.open(io.StringIO()): + pass def test_pathlib(self, tmp_path): from PIL.Image import Path diff --git a/Tests/test_imagewin_pointers.py b/Tests/test_imagewin_pointers.py index a5cac96e4..c51a66089 100644 --- a/Tests/test_imagewin_pointers.py +++ b/Tests/test_imagewin_pointers.py @@ -110,4 +110,5 @@ if is_win32(): DeleteObject(dib) DeleteDC(hdc) - Image.open(BytesIO(bitmap)).save(opath) + with Image.open(BytesIO(bitmap)) as im: + im.save(opath) From c8ca4b909a6dde144257f13f9b1c5381f4ac89ef Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 13 Feb 2021 11:32:52 +1100 Subject: [PATCH 109/325] Added braces --- src/libImaging/GifEncode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libImaging/GifEncode.c b/src/libImaging/GifEncode.c index 14fd07cdd..e9064b3f5 100644 --- a/src/libImaging/GifEncode.c +++ b/src/libImaging/GifEncode.c @@ -169,7 +169,8 @@ ImagingGifEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) { ptr = buf; - for (;;) switch (state->state) { + for (;;) { + switch (state->state) { case INIT: case ENCODE: @@ -319,4 +320,5 @@ ImagingGifEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) { state->state = ENCODE; break; } + } } From a1b4b026ffdb3196f0e06a32abbb9bc04a986a4a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 14 Feb 2021 07:58:16 +1100 Subject: [PATCH 110/325] Added pragma no cover --- Tests/test_file_dds.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_file_dds.py b/Tests/test_file_dds.py index 5e2e841fd..37869288f 100644 --- a/Tests/test_file_dds.py +++ b/Tests/test_file_dds.py @@ -172,7 +172,7 @@ def test_short_header(): def short_header(): with Image.open(BytesIO(img_file[:119])): - pass + pass # pragma: no cover with pytest.raises(OSError): short_header() From 223b05a2eace5159b4ee21108182b2a91e2d7587 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 16 Feb 2021 22:33:17 +1100 Subject: [PATCH 111/325] Corrected docstring --- src/PIL/ImageQt.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/PIL/ImageQt.py b/src/PIL/ImageQt.py index f9586f743..74ca3166c 100644 --- a/src/PIL/ImageQt.py +++ b/src/PIL/ImageQt.py @@ -63,8 +63,7 @@ def rgb(r, g, b, a=255): def fromqimage(im): """ - :param im: A PIL Image object, or a file name - (given either as Python string or a PyQt string object) + :param im: QImage or PIL ImageQt object """ buffer = QBuffer() qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice From 2bbf31929fe954a1a64dda06e4a3f864b4c51e1d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 16 Feb 2021 22:36:32 +1100 Subject: [PATCH 112/325] Added PyQt6 and PySide 6 to list of modules [ci skip] --- docs/reference/ImageQt.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/reference/ImageQt.rst b/docs/reference/ImageQt.rst index 34d4cef51..66f5880a3 100644 --- a/docs/reference/ImageQt.rst +++ b/docs/reference/ImageQt.rst @@ -4,8 +4,8 @@ :py:mod:`~PIL.ImageQt` Module ============================= -The :py:mod:`~PIL.ImageQt` module contains support for creating PyQt5 or PySide2 QImage -objects from PIL images. +The :py:mod:`~PIL.ImageQt` module contains support for creating PyQt6, PySide6, PyQt5 +or PySide2 QImage objects from PIL images. .. versionadded:: 1.1.6 @@ -14,7 +14,7 @@ objects from PIL images. Creates an :py:class:`~PIL.ImageQt.ImageQt` object from a PIL :py:class:`~PIL.Image.Image` object. This class is a subclass of QtGui.QImage, which means that you can pass the resulting objects directly - to PyQt5/PySide2 API functions and methods. + to PyQt6/PySide6/PyQt5/PySide2 API functions and methods. This operation is currently supported for mode 1, L, P, RGB, and RGBA images. To handle other modes, you need to convert the image first. From 79b17e4b1a756ba5f3e2c06c301c1034f52c0cbd Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 27 Dec 2020 18:09:35 +0100 Subject: [PATCH 113/325] Add CIFuzz Github Action --- .github/workflows/cifuzz.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/cifuzz.yml diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml new file mode 100644 index 000000000..d7f2a5bad --- /dev/null +++ b/.github/workflows/cifuzz.yml @@ -0,0 +1,24 @@ +name: CIFuzz +on: [push,pull_request] +jobs: + Fuzzing: + runs-on: ubuntu-latest + steps: + - name: Build Fuzzers + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master + with: + oss-fuzz-project-name: 'pillow' + dry-run: false + - name: Run Fuzzers + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master + with: + oss-fuzz-project-name: 'pillow' + fuzz-seconds: 600 + dry-run: false + - name: Upload Crash + uses: actions/upload-artifact@v1 + if: failure() && steps.build.outcome == 'success' + with: + name: artifacts + path: ./out/artifacts From a12aa59e8beb4cda1c1599f6eb8471df872b8340 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 20 Feb 2021 12:44:49 +0100 Subject: [PATCH 114/325] Add language parameter ref: https://github.com/google/oss-fuzz/pull/5222 --- .github/workflows/cifuzz.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index d7f2a5bad..04fc152a0 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -9,12 +9,14 @@ jobs: uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'pillow' + language: python dry-run: false - name: Run Fuzzers uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'pillow' fuzz-seconds: 600 + language: python dry-run: false - name: Upload Crash uses: actions/upload-artifact@v1 From a5c251029c62b3fcd8ae508c8e7b758f46835843 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Feb 2021 22:15:56 +1100 Subject: [PATCH 115/325] Replaced various instances of assert_image_equal with assert_image_equal_tofile --- Tests/test_file_blp.py | 11 +- Tests/test_file_bmp.py | 8 +- Tests/test_file_dds.py | 43 +++---- Tests/test_file_fli.py | 5 +- Tests/test_file_ftex.py | 5 +- Tests/test_file_gbr.py | 8 +- Tests/test_file_gif.py | 7 +- Tests/test_file_ico.py | 5 +- Tests/test_file_im.py | 5 +- Tests/test_file_jpeg.py | 4 +- Tests/test_file_libtiff.py | 19 +-- Tests/test_file_mcidas.py | 5 +- Tests/test_file_msp.py | 5 +- Tests/test_file_ppm.py | 11 +- Tests/test_file_sgi.py | 27 ++--- Tests/test_file_spider.py | 5 +- Tests/test_file_sun.py | 10 +- Tests/test_file_tiff.py | 3 +- Tests/test_font_pcf.py | 9 +- Tests/test_font_pcf_charsets.py | 9 +- Tests/test_image.py | 4 +- Tests/test_image_rotate.py | 13 ++- Tests/test_imagedraw.py | 199 +++++++++++++++----------------- Tests/test_imagedraw2.py | 9 +- Tests/test_imagefont.py | 13 +-- Tests/test_imagemorph.py | 5 +- Tests/test_imagepalette.py | 5 +- Tests/test_qt_image_toqimage.py | 7 +- 28 files changed, 207 insertions(+), 252 deletions(-) diff --git a/Tests/test_file_blp.py b/Tests/test_file_blp.py index 94c469c7f..864607301 100644 --- a/Tests/test_file_blp.py +++ b/Tests/test_file_blp.py @@ -1,21 +1,18 @@ from PIL import Image -from .helper import assert_image_equal +from .helper import assert_image_equal_tofile def test_load_blp2_raw(): with Image.open("Tests/images/blp/blp2_raw.blp") as im: - with Image.open("Tests/images/blp/blp2_raw.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/blp/blp2_raw.png") def test_load_blp2_dxt1(): with Image.open("Tests/images/blp/blp2_dxt1.blp") as im: - with Image.open("Tests/images/blp/blp2_dxt1.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/blp/blp2_dxt1.png") def test_load_blp2_dxt1a(): with Image.open("Tests/images/blp/blp2_dxt1a.blp") as im: - with Image.open("Tests/images/blp/blp2_dxt1a.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/blp/blp2_dxt1a.png") diff --git a/Tests/test_file_bmp.py b/Tests/test_file_bmp.py index e2381df1e..d5fe2a4dd 100644 --- a/Tests/test_file_bmp.py +++ b/Tests/test_file_bmp.py @@ -4,7 +4,7 @@ import pytest from PIL import BmpImagePlugin, Image -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal, assert_image_equal_tofile, hopper def test_sanity(tmp_path): @@ -111,8 +111,7 @@ def test_load_dib(): assert im.format == "DIB" assert im.get_format_mimetype() == "image/bmp" - with Image.open("Tests/images/clipboard_target.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/clipboard_target.png") def test_save_dib(tmp_path): @@ -136,5 +135,4 @@ def test_rgba_bitfields(): b, g, r = im.split()[1:] im = Image.merge("RGB", (r, g, b)) - with Image.open("Tests/images/bmp/q/rgb32bf-xbgr.bmp") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/bmp/q/rgb32bf-xbgr.bmp") diff --git a/Tests/test_file_dds.py b/Tests/test_file_dds.py index 37869288f..682cd048b 100644 --- a/Tests/test_file_dds.py +++ b/Tests/test_file_dds.py @@ -5,7 +5,7 @@ import pytest from PIL import DdsImagePlugin, Image -from .helper import assert_image_equal +from .helper import assert_image_equal, assert_image_equal_tofile TEST_FILE_DXT1 = "Tests/images/dxt1-rgb-4bbp-noalpha_MipMaps-1.dds" TEST_FILE_DXT3 = "Tests/images/dxt3-argb-8bbp-explicitalpha_MipMaps-1.dds" @@ -41,22 +41,20 @@ def test_sanity_dxt5(): assert im.mode == "RGBA" assert im.size == (256, 256) - with Image.open(TEST_FILE_DXT5.replace(".dds", ".png")) as target: - assert_image_equal(target, im) + assert_image_equal_tofile(im, TEST_FILE_DXT5.replace(".dds", ".png")) def test_sanity_dxt3(): """Check DXT3 images can be opened""" - with Image.open(TEST_FILE_DXT3.replace(".dds", ".png")) as target: - with Image.open(TEST_FILE_DXT3) as im: - im.load() + with Image.open(TEST_FILE_DXT3) as im: + im.load() - assert im.format == "DDS" - assert im.mode == "RGBA" - assert im.size == (256, 256) + assert im.format == "DDS" + assert im.mode == "RGBA" + assert im.size == (256, 256) - assert_image_equal(target, im) + assert_image_equal_tofile(im, TEST_FILE_DXT3.replace(".dds", ".png")) def test_dx10_bc7(): @@ -69,8 +67,7 @@ def test_dx10_bc7(): assert im.mode == "RGBA" assert im.size == (256, 256) - with Image.open(TEST_FILE_DX10_BC7.replace(".dds", ".png")) as target: - assert_image_equal(target, im) + assert_image_equal_tofile(im, TEST_FILE_DX10_BC7.replace(".dds", ".png")) def test_dx10_bc7_unorm_srgb(): @@ -84,10 +81,9 @@ def test_dx10_bc7_unorm_srgb(): assert im.size == (16, 16) assert im.info["gamma"] == 1 / 2.2 - with Image.open( - TEST_FILE_DX10_BC7_UNORM_SRGB.replace(".dds", ".png") - ) as target: - assert_image_equal(target, im) + assert_image_equal_tofile( + im, TEST_FILE_DX10_BC7_UNORM_SRGB.replace(".dds", ".png") + ) def test_dx10_r8g8b8a8(): @@ -100,8 +96,7 @@ def test_dx10_r8g8b8a8(): assert im.mode == "RGBA" assert im.size == (256, 256) - with Image.open(TEST_FILE_DX10_R8G8B8A8.replace(".dds", ".png")) as target: - assert_image_equal(target, im) + assert_image_equal_tofile(im, TEST_FILE_DX10_R8G8B8A8.replace(".dds", ".png")) def test_dx10_r8g8b8a8_unorm_srgb(): @@ -115,10 +110,9 @@ def test_dx10_r8g8b8a8_unorm_srgb(): assert im.size == (16, 16) assert im.info["gamma"] == 1 / 2.2 - with Image.open( - TEST_FILE_DX10_R8G8B8A8_UNORM_SRGB.replace(".dds", ".png") - ) as target: - assert_image_equal(target, im) + assert_image_equal_tofile( + im, TEST_FILE_DX10_R8G8B8A8_UNORM_SRGB.replace(".dds", ".png") + ) def test_unimplemented_dxgi_format(): @@ -137,8 +131,9 @@ def test_uncompressed_rgb(): assert im.mode == "RGBA" assert im.size == (800, 600) - with Image.open(TEST_FILE_UNCOMPRESSED_RGB.replace(".dds", ".png")) as target: - assert_image_equal(target, im) + assert_image_equal_tofile( + im, TEST_FILE_UNCOMPRESSED_RGB.replace(".dds", ".png") + ) def test__validate_true(): diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 1d02b5195..0d9748a95 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -2,7 +2,7 @@ import pytest from PIL import FliImagePlugin, Image -from .helper import assert_image_equal, is_pypy +from .helper import assert_image_equal_tofile, is_pypy # created as an export of a palette image from Gimp2.6 # save as...-> hopper.fli, default options. @@ -122,5 +122,4 @@ def test_seek(): with Image.open(animated_test_file) as im: im.seek(50) - with Image.open("Tests/images/a_fli.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/a_fli.png") diff --git a/Tests/test_file_ftex.py b/Tests/test_file_ftex.py index 9b4375cd4..f76fd895a 100644 --- a/Tests/test_file_ftex.py +++ b/Tests/test_file_ftex.py @@ -1,12 +1,11 @@ from PIL import Image -from .helper import assert_image_equal, assert_image_similar +from .helper import assert_image_equal_tofile, assert_image_similar def test_load_raw(): with Image.open("Tests/images/ftex_uncompressed.ftu") as im: - with Image.open("Tests/images/ftex_uncompressed.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/ftex_uncompressed.png") def test_load_dxt1(): diff --git a/Tests/test_file_gbr.py b/Tests/test_file_gbr.py index 760f12e4d..8d7fcf147 100644 --- a/Tests/test_file_gbr.py +++ b/Tests/test_file_gbr.py @@ -2,7 +2,7 @@ import pytest from PIL import GbrImagePlugin, Image -from .helper import assert_image_equal +from .helper import assert_image_equal_tofile def test_invalid_file(): @@ -14,13 +14,11 @@ def test_invalid_file(): def test_gbr_file(): with Image.open("Tests/images/gbr.gbr") as im: - with Image.open("Tests/images/gbr.png") as target: - assert_image_equal(target, im) + assert_image_equal_tofile(im, "Tests/images/gbr.png") def test_multiple_load_operations(): with Image.open("Tests/images/gbr.gbr") as im: im.load() im.load() - with Image.open("Tests/images/gbr.png") as target: - assert_image_equal(target, im) + assert_image_equal_tofile(im, "Tests/images/gbr.png") diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index f3414647f..1b2314d51 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -6,6 +6,7 @@ from PIL import GifImagePlugin, Image, ImageDraw, ImagePalette, features from .helper import ( assert_image_equal, + assert_image_equal_tofile, assert_image_similar, hopper, is_pypy, @@ -317,8 +318,7 @@ def test_dispose_none_load_end(): with Image.open("Tests/images/dispose_none_load_end.gif") as img: img.seek(1) - with Image.open("Tests/images/dispose_none_load_end_second.gif") as expected: - assert_image_equal(img, expected) + assert_image_equal_tofile(img, "Tests/images/dispose_none_load_end_second.gif") def test_dispose_background(): @@ -629,8 +629,7 @@ def test_comment_over_255(tmp_path): def test_zero_comment_subblocks(): with Image.open("Tests/images/hopper_zero_comment_subblocks.gif") as im: - with Image.open(TEST_GIF) as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, TEST_GIF) def test_version(tmp_path): diff --git a/Tests/test_file_ico.py b/Tests/test_file_ico.py index 940001a21..5ace0c55e 100644 --- a/Tests/test_file_ico.py +++ b/Tests/test_file_ico.py @@ -4,7 +4,7 @@ import pytest from PIL import IcoImagePlugin, Image, ImageDraw -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal, assert_image_equal_tofile, hopper TEST_ICO_FILE = "Tests/images/hopper.ico" @@ -120,5 +120,4 @@ def test_draw_reloaded(tmp_path): with Image.open(outfile) as im: im.save("Tests/images/hopper_draw.ico") - with Image.open("Tests/images/hopper_draw.ico") as reloaded: - assert_image_equal(im, reloaded) + assert_image_equal_tofile(im, "Tests/images/hopper_draw.ico") diff --git a/Tests/test_file_im.py b/Tests/test_file_im.py index f1d75465d..9d25a4d1a 100644 --- a/Tests/test_file_im.py +++ b/Tests/test_file_im.py @@ -4,7 +4,7 @@ import pytest from PIL import Image, ImImagePlugin -from .helper import assert_image_equal, hopper, is_pypy +from .helper import assert_image_equal_tofile, hopper, is_pypy # sample im TEST_IM = "Tests/images/hopper.im" @@ -86,8 +86,7 @@ def test_roundtrip(tmp_path): out = str(tmp_path / "temp.im") im = hopper(mode) im.save(out) - with Image.open(out) as reread: - assert_image_equal(reread, im) + assert_image_equal_tofile(im, out) for mode in ["RGB", "P", "PA"]: roundtrip(mode) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index cbbab970f..0dabd98f8 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -17,6 +17,7 @@ from PIL import ( from .helper import ( assert_image, assert_image_equal, + assert_image_equal_tofile, assert_image_similar, cjpeg_available, djpeg_available, @@ -767,8 +768,7 @@ class TestFileJpeg: # Test that the image can still load, even with broken Photoshop data # This image had the APP13 length hexedited to be smaller - with Image.open("Tests/images/photoshop-200dpi-broken.jpg") as im_broken: - assert_image_equal(im_broken, im) + assert_image_equal_tofile(im, "Tests/images/photoshop-200dpi-broken.jpg") # This image does not contain a Photoshop header string with Image.open("Tests/images/app13.jpg") as im: diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 5fe10bea9..c1eb7fb74 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -99,15 +99,13 @@ class TestFileLibTiff(LibTiffTestCase): def test_g4_eq_png(self): """ Checking that we're actually getting the data that we expect""" with Image.open("Tests/images/hopper_bw_500.png") as png: - with Image.open("Tests/images/hopper_g4_500.tif") as g4: - assert_image_equal(g4, png) + assert_image_equal_tofile(png, "Tests/images/hopper_g4_500.tif") # see https://github.com/python-pillow/Pillow/issues/279 def test_g4_fillorder_eq_png(self): """ Checking that we're actually getting the data that we expect""" - with Image.open("Tests/images/g4-fillorder-test.png") as png: - with Image.open("Tests/images/g4-fillorder-test.tif") as g4: - assert_image_equal(g4, png) + with Image.open("Tests/images/g4-fillorder-test.tif") as g4: + assert_image_equal_tofile(g4, "Tests/images/g4-fillorder-test.png") def test_g4_write(self, tmp_path): """Checking to see that the saved image is the same as what we wrote""" @@ -437,10 +435,7 @@ class TestFileLibTiff(LibTiffTestCase): im = im.filter(ImageFilter.GaussianBlur(4)) im.save(out, compression="tiff_adobe_deflate") - with Image.open(out) as im2: - im2.load() - - assert_image_equal(im, im2) + assert_image_equal_tofile(im, out) def test_compressions(self, tmp_path): # Test various tiff compressions and assert similar image content but reduced @@ -453,8 +448,7 @@ class TestFileLibTiff(LibTiffTestCase): for compression in ("packbits", "tiff_lzw"): im.save(out, compression=compression) size_compressed = os.path.getsize(out) - with Image.open(out) as im2: - assert_image_equal(im, im2) + assert_image_equal_tofile(im, out) im.save(out, compression="jpeg") size_jpeg = os.path.getsize(out) @@ -498,8 +492,7 @@ class TestFileLibTiff(LibTiffTestCase): out = str(tmp_path / "temp.tif") im.save(out, compression="tiff_adobe_deflate") - with Image.open(out) as im2: - assert_image_equal(im, im2) + assert_image_equal_tofile(im, out) def test_palette_save(self, tmp_path): im = hopper("P") diff --git a/Tests/test_file_mcidas.py b/Tests/test_file_mcidas.py index 88c8f8f4f..41f22cf0c 100644 --- a/Tests/test_file_mcidas.py +++ b/Tests/test_file_mcidas.py @@ -2,7 +2,7 @@ import pytest from PIL import Image, McIdasImagePlugin -from .helper import assert_image_equal +from .helper import assert_image_equal_tofile def test_invalid_file(): @@ -27,5 +27,4 @@ def test_valid_file(): assert im.format == "MCIDAS" assert im.mode == "I" assert im.size == (1800, 400) - with Image.open(saved_file) as im2: - assert_image_equal(im, im2) + assert_image_equal_tofile(im, saved_file) diff --git a/Tests/test_file_msp.py b/Tests/test_file_msp.py index 293b856b0..50d7c590b 100644 --- a/Tests/test_file_msp.py +++ b/Tests/test_file_msp.py @@ -4,7 +4,7 @@ import pytest from PIL import Image, MspImagePlugin -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal, assert_image_equal_tofile, hopper TEST_FILE = "Tests/images/hopper.msp" EXTRA_DIR = "Tests/images/picins" @@ -52,8 +52,7 @@ def test_open_windows_v1(): def _assert_file_image_equal(source_path, target_path): with Image.open(source_path) as im: - with Image.open(target_path) as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, target_path) @pytest.mark.skipif( diff --git a/Tests/test_file_ppm.py b/Tests/test_file_ppm.py index c7be5d780..0ccfb5e88 100644 --- a/Tests/test_file_ppm.py +++ b/Tests/test_file_ppm.py @@ -2,7 +2,7 @@ import pytest from PIL import Image -from .helper import assert_image_equal, assert_image_similar, hopper +from .helper import assert_image_equal_tofile, assert_image_similar, hopper # sample ppm stream TEST_FILE = "Tests/images/hopper.ppm" @@ -24,8 +24,7 @@ def test_16bit_pgm(): assert im.size == (20, 100) assert im.get_format_mimetype() == "image/x-portable-graymap" - with Image.open("Tests/images/16_bit_binary_pgm.png") as tgt: - assert_image_equal(im, tgt) + assert_image_equal_tofile(im, "Tests/images/16_bit_binary_pgm.png") def test_16bit_pgm_write(tmp_path): @@ -35,8 +34,7 @@ def test_16bit_pgm_write(tmp_path): f = str(tmp_path / "temp.pgm") im.save(f, "PPM") - with Image.open(f) as reloaded: - assert_image_equal(im, reloaded) + assert_image_equal_tofile(im, f) def test_pnm(tmp_path): @@ -46,8 +44,7 @@ def test_pnm(tmp_path): f = str(tmp_path / "temp.pnm") im.save(f) - with Image.open(f) as reloaded: - assert_image_equal(im, reloaded) + assert_image_equal_tofile(im, f) def test_truncated_file(tmp_path): diff --git a/Tests/test_file_sgi.py b/Tests/test_file_sgi.py index a197fa775..0210dd4f1 100644 --- a/Tests/test_file_sgi.py +++ b/Tests/test_file_sgi.py @@ -2,7 +2,12 @@ import pytest from PIL import Image, SgiImagePlugin -from .helper import assert_image_equal, assert_image_similar, hopper +from .helper import ( + assert_image_equal, + assert_image_equal_tofile, + assert_image_similar, + hopper, +) def test_rgb(): @@ -16,10 +21,7 @@ def test_rgb(): def test_rgb16(): - test_file = "Tests/images/hopper16.rgb" - - with Image.open(test_file) as im: - assert_image_equal(im, hopper()) + assert_image_equal_tofile(hopper(), "Tests/images/hopper16.rgb") def test_l(): @@ -38,8 +40,7 @@ def test_rgba(): test_file = "Tests/images/transparent.sgi" with Image.open(test_file) as im: - with Image.open("Tests/images/transparent.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/transparent.png") assert im.get_format_mimetype() == "image/sgi" @@ -49,16 +50,14 @@ def test_rle(): test_file = "Tests/images/hopper.sgi" with Image.open(test_file) as im: - with Image.open("Tests/images/hopper.rgb") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/hopper.rgb") def test_rle16(): test_file = "Tests/images/tv16.sgi" with Image.open(test_file) as im: - with Image.open("Tests/images/tv.rgb") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/tv.rgb") def test_invalid_file(): @@ -72,8 +71,7 @@ def test_write(tmp_path): def roundtrip(img): out = str(tmp_path / "temp.sgi") img.save(out, format="sgi") - with Image.open(out) as reloaded: - assert_image_equal(img, reloaded) + assert_image_equal_tofile(img, out) for mode in ("L", "RGB", "RGBA"): roundtrip(hopper(mode)) @@ -89,8 +87,7 @@ def test_write16(tmp_path): out = str(tmp_path / "temp.sgi") im.save(out, format="sgi", bpc=2) - with Image.open(out) as reloaded: - assert_image_equal(im, reloaded) + assert_image_equal_tofile(im, out) def test_unsupported_mode(tmp_path): diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index 3f7b8d1d5..3c93160f1 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -5,7 +5,7 @@ import pytest from PIL import Image, ImageSequence, SpiderImagePlugin -from .helper import assert_image_equal, hopper, is_pypy +from .helper import assert_image_equal_tofile, hopper, is_pypy TEST_FILE = "Tests/images/hopper.spider" @@ -160,5 +160,4 @@ def test_odd_size(): im.save(data, format="SPIDER") data.seek(0) - with Image.open(data) as im2: - assert_image_equal(im, im2) + assert_image_equal_tofile(im, data) diff --git a/Tests/test_file_sun.py b/Tests/test_file_sun.py index 8421106a2..05c78c316 100644 --- a/Tests/test_file_sun.py +++ b/Tests/test_file_sun.py @@ -4,7 +4,7 @@ import pytest from PIL import Image, SunImagePlugin -from .helper import assert_image_equal, assert_image_similar, hopper +from .helper import assert_image_equal_tofile, assert_image_similar, hopper EXTRA_DIR = "Tests/images/sunraster" @@ -29,8 +29,7 @@ def test_sanity(): def test_im1(): with Image.open("Tests/images/sunraster.im1") as im: - with Image.open("Tests/images/sunraster.im1.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/sunraster.im1.png") @pytest.mark.skipif( @@ -46,7 +45,4 @@ def test_others(): with Image.open(path) as im: im.load() assert isinstance(im, SunImagePlugin.SunImageFile) - target_path = f"{os.path.splitext(path)[0]}.png" - # im.save(target_file) - with Image.open(target_path) as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, f"{os.path.splitext(path)[0]}.png") diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 5744b92b5..f09117ca7 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -483,8 +483,7 @@ class TestFileTiff: tmpfile = str(tmp_path / "temp.tif") im.save(tmpfile) - with Image.open(tmpfile) as reloaded: - assert_image_equal(im, reloaded) + assert_image_equal_tofile(im, tmpfile) def test_strip_raw(self): infile = "Tests/images/tiff_strip_raw.tif" diff --git a/Tests/test_font_pcf.py b/Tests/test_font_pcf.py index 4db73e56e..4814a8561 100644 --- a/Tests/test_font_pcf.py +++ b/Tests/test_font_pcf.py @@ -4,7 +4,11 @@ import pytest from PIL import FontFile, Image, ImageDraw, ImageFont, PcfFontFile -from .helper import assert_image_equal, assert_image_similar, skip_unless_feature +from .helper import ( + assert_image_equal_tofile, + assert_image_similar, + skip_unless_feature, +) fontname = "Tests/fonts/10x20-ISO8859-1.pcf" @@ -33,8 +37,7 @@ def save_font(request, tmp_path): font.save(tempname) with Image.open(tempname.replace(".pil", ".pbm")) as loaded: - with Image.open("Tests/fonts/10x20.pbm") as target: - assert_image_equal(loaded, target) + assert_image_equal_tofile(loaded, "Tests/fonts/10x20.pbm") with open(tempname, "rb") as f_loaded: with open("Tests/fonts/10x20.pil", "rb") as f_target: diff --git a/Tests/test_font_pcf_charsets.py b/Tests/test_font_pcf_charsets.py index d7d1bf200..4ada6b51b 100644 --- a/Tests/test_font_pcf_charsets.py +++ b/Tests/test_font_pcf_charsets.py @@ -2,7 +2,11 @@ import os from PIL import FontFile, Image, ImageDraw, ImageFont, PcfFontFile -from .helper import assert_image_equal, assert_image_similar, skip_unless_feature +from .helper import ( + assert_image_equal_tofile, + assert_image_similar, + skip_unless_feature, +) fontname = "Tests/fonts/ter-x20b.pcf" @@ -47,8 +51,7 @@ def save_font(request, tmp_path, encoding): font.save(tempname) with Image.open(tempname.replace(".pil", ".pbm")) as loaded: - with Image.open(f"Tests/fonts/ter-x20b-{encoding}.pbm") as target: - assert_image_equal(loaded, target) + assert_image_equal_tofile(loaded, f"Tests/fonts/ter-x20b-{encoding}.pbm") with open(tempname, "rb") as f_loaded: with open(f"Tests/fonts/ter-x20b-{encoding}.pil", "rb") as f_target: diff --git a/Tests/test_image.py b/Tests/test_image.py index af2370857..e9780b846 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -10,6 +10,7 @@ from PIL import Image, ImageDraw, ImagePalette, ImageShow, UnidentifiedImageErro from .helper import ( assert_image_equal, + assert_image_equal_tofile, assert_image_similar, assert_not_all_same, hopper, @@ -413,8 +414,7 @@ class TestImage: # Assert assert im.size == (512, 512) - with Image.open("Tests/images/effect_mandelbrot.png") as im2: - assert_image_equal(im, im2) + assert_image_equal_tofile(im, "Tests/images/effect_mandelbrot.png") def test_effect_mandelbrot_bad_arguments(self): # Arrange diff --git a/Tests/test_image_rotate.py b/Tests/test_image_rotate.py index a41d850bb..79ed79042 100644 --- a/Tests/test_image_rotate.py +++ b/Tests/test_image_rotate.py @@ -1,6 +1,11 @@ from PIL import Image -from .helper import assert_image_equal, assert_image_similar, hopper +from .helper import ( + assert_image_equal, + assert_image_equal_tofile, + assert_image_similar, + hopper, +) def rotate(im, mode, angle, center=None, translate=None): @@ -113,15 +118,13 @@ def test_center(): def test_rotate_no_fill(): im = Image.new("RGB", (100, 100), "green") im = im.rotate(45) - with Image.open("Tests/images/rotate_45_no_fill.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/rotate_45_no_fill.png") def test_rotate_with_fill(): im = Image.new("RGB", (100, 100), "green") im = im.rotate(45, fillcolor="white") - with Image.open("Tests/images/rotate_45_with_fill.png") as target: - assert_image_equal(im, target) + assert_image_equal_tofile(im, "Tests/images/rotate_45_with_fill.png") def test_alpha_rotate_no_fill(): diff --git a/Tests/test_imagedraw.py b/Tests/test_imagedraw.py index a87c1f2be..9c95ed255 100644 --- a/Tests/test_imagedraw.py +++ b/Tests/test_imagedraw.py @@ -6,6 +6,7 @@ from PIL import Image, ImageColor, ImageDraw, ImageFont from .helper import ( assert_image_equal, + assert_image_equal_tofile, assert_image_similar_tofile, hopper, skip_unless_feature, @@ -96,7 +97,7 @@ def test_arc_end_le_start(): draw.arc(BBOX1, start=start, end=end) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_arc_end_le_start.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_arc_end_le_start.png") def test_arc_no_loops(): @@ -174,7 +175,7 @@ def test_arc_high(): draw.arc([110, 10, 189, 189], 20, 150, width=20, fill="white") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_arc_high.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_arc_high.png") def test_bitmap(): @@ -188,7 +189,7 @@ def test_bitmap(): draw.bitmap((10, 10), small) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_bitmap.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_bitmap.png") def helper_chord(mode, bbox, start, end): @@ -247,8 +248,7 @@ def test_chord_zero_width(): draw.chord(BBOX1, 10, 260, fill="red", outline="yellow", width=0) # Assert - with Image.open("Tests/images/imagedraw_chord_zero_width.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/imagedraw_chord_zero_width.png") def test_chord_too_fat(): @@ -260,7 +260,7 @@ def test_chord_too_fat(): draw.chord([-150, -150, 99, 99], 15, 60, width=10, fill="white", outline="red") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_chord_too_fat.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_chord_too_fat.png") def helper_ellipse(mode, bbox): @@ -367,8 +367,7 @@ def test_ellipse_zero_width(): draw.ellipse(BBOX1, fill="green", outline="blue", width=0) # Assert - with Image.open("Tests/images/imagedraw_ellipse_zero_width.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/imagedraw_ellipse_zero_width.png") def ellipse_various_sizes_helper(filled): @@ -395,17 +394,15 @@ def ellipse_various_sizes_helper(filled): def test_ellipse_various_sizes(): im = ellipse_various_sizes_helper(False) - with Image.open("Tests/images/imagedraw_ellipse_various_sizes.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/imagedraw_ellipse_various_sizes.png") def test_ellipse_various_sizes_filled(): im = ellipse_various_sizes_helper(True) - with Image.open( - "Tests/images/imagedraw_ellipse_various_sizes_filled.png" - ) as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile( + im, "Tests/images/imagedraw_ellipse_various_sizes_filled.png" + ) def helper_line(points): @@ -417,7 +414,7 @@ def helper_line(points): draw.line(points, fill="yellow", width=2) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_line.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_line.png") def test_line1(): @@ -446,7 +443,7 @@ def test_shape1(): draw.shape(s, fill=1) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_shape1.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_shape1.png") def test_shape2(): @@ -467,7 +464,7 @@ def test_shape2(): draw.shape(s, outline="blue") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_shape2.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_shape2.png") def helper_pieslice(bbox, start, end): @@ -526,8 +523,7 @@ def test_pieslice_zero_width(): draw.pieslice(BBOX1, 10, 260, fill="white", outline="blue", width=0) # Assert - with Image.open("Tests/images/imagedraw_pieslice_zero_width.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/imagedraw_pieslice_zero_width.png") def test_pieslice_wide(): @@ -539,7 +535,7 @@ def test_pieslice_wide(): draw.pieslice([0, 0, 199, 99], 190, 170, width=10, fill="white", outline="red") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_pieslice_wide.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_pieslice_wide.png") def helper_point(points): @@ -551,7 +547,7 @@ def helper_point(points): draw.point(points, fill="yellow") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_point.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_point.png") def test_point1(): @@ -571,7 +567,7 @@ def helper_polygon(points): draw.polygon(points, fill="red", outline="blue") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_polygon.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_polygon.png") def test_polygon1(): @@ -595,7 +591,7 @@ def test_polygon_kite(): draw.polygon(KITE_POINTS, fill="blue", outline="yellow") # Assert - assert_image_equal(im, Image.open(expected)) + assert_image_equal_tofile(im, expected) def test_polygon_1px_high(): @@ -609,7 +605,7 @@ def test_polygon_1px_high(): draw.polygon([(0, 1), (0, 1), (2, 1), (2, 1)], "#f00") # Assert - assert_image_equal(im, Image.open(expected)) + assert_image_equal_tofile(im, expected) def helper_rectangle(bbox): @@ -621,7 +617,7 @@ def helper_rectangle(bbox): draw.rectangle(bbox, fill="black", outline="green") # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_rectangle.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_rectangle.png") def test_rectangle1(): @@ -656,7 +652,7 @@ def test_rectangle_width(): draw.rectangle(BBOX1, outline="green", width=5) # Assert - assert_image_equal(im, Image.open(expected)) + assert_image_equal_tofile(im, expected) def test_rectangle_width_fill(): @@ -669,7 +665,7 @@ def test_rectangle_width_fill(): draw.rectangle(BBOX1, fill="blue", outline="green", width=5) # Assert - assert_image_equal(im, Image.open(expected)) + assert_image_equal_tofile(im, expected) def test_rectangle_zero_width(): @@ -681,8 +677,7 @@ def test_rectangle_zero_width(): draw.rectangle(BBOX1, fill="blue", outline="green", width=0) # Assert - with Image.open("Tests/images/imagedraw_rectangle_zero_width.png") as expected: - assert_image_equal(im, expected) + assert_image_equal_tofile(im, "Tests/images/imagedraw_rectangle_zero_width.png") def test_rectangle_I16(): @@ -694,9 +689,7 @@ def test_rectangle_I16(): draw.rectangle(BBOX1, fill="black", outline="green") # Assert - assert_image_equal( - im.convert("I"), Image.open("Tests/images/imagedraw_rectangle_I.png") - ) + assert_image_equal_tofile(im.convert("I"), "Tests/images/imagedraw_rectangle_I.png") def test_floodfill(): @@ -749,7 +742,7 @@ def test_floodfill_border(): ) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_floodfill2.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_floodfill2.png") def test_floodfill_thresh(): @@ -765,7 +758,7 @@ def test_floodfill_thresh(): ImageDraw.floodfill(im, centre_point, ImageColor.getrgb("red"), thresh=30) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_floodfill2.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_floodfill2.png") def test_floodfill_not_negative(): @@ -782,9 +775,7 @@ def test_floodfill_not_negative(): ImageDraw.floodfill(im, (int(W / 4), int(H / 4)), ImageColor.getrgb("red")) # Assert - assert_image_equal( - im, Image.open("Tests/images/imagedraw_floodfill_not_negative.png") - ) + assert_image_equal_tofile(im, "Tests/images/imagedraw_floodfill_not_negative.png") def create_base_image_draw( @@ -816,32 +807,29 @@ def test_square(): def test_triangle_right(): - with Image.open(os.path.join(IMAGES_PATH, "triangle_right.png")) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.polygon([(3, 5), (17, 5), (10, 12)], BLACK) - assert_image_equal(img, expected, "triangle right failed") + img, draw = create_base_image_draw((20, 20)) + draw.polygon([(3, 5), (17, 5), (10, 12)], BLACK) + assert_image_equal_tofile( + img, os.path.join(IMAGES_PATH, "triangle_right.png"), "triangle right failed" + ) def test_line_horizontal(): - with Image.open( - os.path.join(IMAGES_PATH, "line_horizontal_w2px_normal.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 14, 5), BLACK, 2) - assert_image_equal( - img, expected, "line straight horizontal normal 2px wide failed" - ) - with Image.open( - os.path.join(IMAGES_PATH, "line_horizontal_w2px_inverted.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((14, 5, 5, 5), BLACK, 2) - assert_image_equal( - img, expected, "line straight horizontal inverted 2px wide failed" - ) + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 14, 5), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_horizontal_w2px_normal.png"), + "line straight horizontal normal 2px wide failed", + ) + + img, draw = create_base_image_draw((20, 20)) + draw.line((14, 5, 5, 5), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_horizontal_w2px_inverted.png"), + "line straight horizontal inverted 2px wide failed", + ) with Image.open(os.path.join(IMAGES_PATH, "line_horizontal_w3px.png")) as expected: expected.load() img, draw = create_base_image_draw((20, 20)) @@ -854,45 +842,43 @@ def test_line_horizontal(): assert_image_equal( img, expected, "line straight horizontal inverted 3px wide failed" ) - with Image.open( - os.path.join(IMAGES_PATH, "line_horizontal_w101px.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((200, 110)) - draw.line((5, 55, 195, 55), BLACK, 101) - assert_image_equal(img, expected, "line straight horizontal 101px wide failed") + + img, draw = create_base_image_draw((200, 110)) + draw.line((5, 55, 195, 55), BLACK, 101) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_horizontal_w101px.png"), + "line straight horizontal 101px wide failed", + ) def test_line_h_s1_w2(): pytest.skip("failing") - with Image.open( - os.path.join(IMAGES_PATH, "line_horizontal_slope1px_w2px.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 14, 6), BLACK, 2) - assert_image_equal(img, expected, "line horizontal 1px slope 2px wide failed") + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 14, 6), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_horizontal_slope1px_w2px.png"), + "line horizontal 1px slope 2px wide failed", + ) def test_line_vertical(): - with Image.open( - os.path.join(IMAGES_PATH, "line_vertical_w2px_normal.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 5, 14), BLACK, 2) - assert_image_equal( - img, expected, "line straight vertical normal 2px wide failed" - ) - with Image.open( - os.path.join(IMAGES_PATH, "line_vertical_w2px_inverted.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 14, 5, 5), BLACK, 2) - assert_image_equal( - img, expected, "line straight vertical inverted 2px wide failed" - ) + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 5, 14), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_vertical_w2px_normal.png"), + "line straight vertical normal 2px wide failed", + ) + + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 14, 5, 5), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_vertical_w2px_inverted.png"), + "line straight vertical inverted 2px wide failed", + ) with Image.open(os.path.join(IMAGES_PATH, "line_vertical_w3px.png")) as expected: expected.load() img, draw = create_base_image_draw((20, 20)) @@ -905,18 +891,21 @@ def test_line_vertical(): assert_image_equal( img, expected, "line straight vertical inverted 3px wide failed" ) - with Image.open(os.path.join(IMAGES_PATH, "line_vertical_w101px.png")) as expected: - expected.load() - img, draw = create_base_image_draw((110, 200)) - draw.line((55, 5, 55, 195), BLACK, 101) - assert_image_equal(img, expected, "line straight vertical 101px wide failed") - with Image.open( - os.path.join(IMAGES_PATH, "line_vertical_slope1px_w2px.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 6, 14), BLACK, 2) - assert_image_equal(img, expected, "line vertical 1px slope 2px wide failed") + img, draw = create_base_image_draw((110, 200)) + draw.line((55, 5, 55, 195), BLACK, 101) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_vertical_w101px.png"), + "line straight vertical 101px wide failed", + ) + + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 6, 14), BLACK, 2) + assert_image_equal_tofile( + img, + os.path.join(IMAGES_PATH, "line_vertical_slope1px_w2px.png"), + "line vertical 1px slope 2px wide failed", + ) def test_line_oblique_45(): @@ -1185,7 +1174,7 @@ def test_draw_regular_polygon(n_sides, rotation, polygon_name): draw = ImageDraw.Draw(im) bounding_circle = ((W // 2, H // 2), 25) draw.regular_polygon(bounding_circle, n_sides, rotation=rotation, fill="red") - assert_image_equal(im, Image.open(filename)) + assert_image_equal_tofile(im, filename) @pytest.mark.parametrize( diff --git a/Tests/test_imagedraw2.py b/Tests/test_imagedraw2.py index b78dfe85b..2023ba332 100644 --- a/Tests/test_imagedraw2.py +++ b/Tests/test_imagedraw2.py @@ -4,6 +4,7 @@ from PIL import Image, ImageDraw, ImageDraw2 from .helper import ( assert_image_equal, + assert_image_equal_tofile, assert_image_similar, hopper, skip_unless_feature, @@ -95,7 +96,7 @@ def helper_line(points): draw.line(points, pen) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_line.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_line.png") def test_line1_pen(): @@ -118,7 +119,7 @@ def test_line_pen_as_brush(): draw.line(POINTS1, pen, brush) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_line.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_line.png") def helper_polygon(points): @@ -132,7 +133,7 @@ def helper_polygon(points): draw.polygon(points, pen, brush) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_polygon.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_polygon.png") def test_polygon1(): @@ -154,7 +155,7 @@ def helper_rectangle(bbox): draw.rectangle(bbox, pen, brush) # Assert - assert_image_equal(im, Image.open("Tests/images/imagedraw_rectangle.png")) + assert_image_equal_tofile(im, "Tests/images/imagedraw_rectangle.png") def test_rectangle1(): diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 0c219fed1..b67adc60f 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -423,15 +423,12 @@ class TestImageFont: im = Image.new(mode="RGB", size=(300, 100)) draw = ImageDraw.Draw(im) - target = "Tests/images/default_font.png" - with Image.open(target) as target_img: + # Act + default_font = ImageFont.load_default() + draw.text((10, 10), txt, font=default_font) - # Act - default_font = ImageFont.load_default() - draw.text((10, 10), txt, font=default_font) - - # Assert - assert_image_equal(im, target_img) + # Assert + assert_image_equal_tofile(im, "Tests/images/default_font.png") def test_getsize_empty(self): # issue #2614 diff --git a/Tests/test_imagemorph.py b/Tests/test_imagemorph.py index 087c39e01..eb41d2d08 100644 --- a/Tests/test_imagemorph.py +++ b/Tests/test_imagemorph.py @@ -3,7 +3,7 @@ import pytest from PIL import Image, ImageMorph, _imagingmorph -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal_tofile, hopper def string_to_img(image_string): @@ -57,8 +57,7 @@ def assert_img_equal_img_string(A, Bstring): def test_str_to_img(): - with Image.open("Tests/images/morph_a.png") as im: - assert_image_equal(A, im) + assert_image_equal_tofile(A, "Tests/images/morph_a.png") def create_lut(): diff --git a/Tests/test_imagepalette.py b/Tests/test_imagepalette.py index a2b0d2b02..0ea2472a9 100644 --- a/Tests/test_imagepalette.py +++ b/Tests/test_imagepalette.py @@ -2,7 +2,7 @@ import pytest from PIL import Image, ImagePalette -from .helper import assert_image_equal +from .helper import assert_image_equal_tofile def test_sanity(): @@ -141,8 +141,7 @@ def test_2bit_palette(tmp_path): img.putpalette(b"\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF") # RGB img.save(outfile, format="PNG") - with Image.open(outfile) as reloaded: - assert_image_equal(img, reloaded) + assert_image_equal_tofile(img, outfile) def test_invalid_palette(): diff --git a/Tests/test_qt_image_toqimage.py b/Tests/test_qt_image_toqimage.py index 1a2bfd71e..2a6b29abe 100644 --- a/Tests/test_qt_image_toqimage.py +++ b/Tests/test_qt_image_toqimage.py @@ -1,8 +1,8 @@ import pytest -from PIL import Image, ImageQt +from PIL import ImageQt -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal, assert_image_equal_tofile, hopper pytestmark = pytest.mark.skipif( not ImageQt.qt_is_installed, reason="Qt bindings are not installed" @@ -40,5 +40,4 @@ def test_sanity(tmp_path): data.save(tempfile) # Check that it actually worked. - with Image.open(tempfile) as reloaded: - assert_image_equal(reloaded, src) + assert_image_equal_tofile(src, tempfile) From 3495b319bdb381319421aba17931ca9b584654ac Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Feb 2021 22:22:29 +1100 Subject: [PATCH 116/325] Replaced various instances of assert_image_similar with assert_image_similar_tofile --- Tests/test_file_eps.py | 12 ++++-- Tests/test_file_icns.py | 5 +-- Tests/test_file_jpeg.py | 5 ++- Tests/test_file_jpeg2k.py | 17 +++----- Tests/test_file_libtiff.py | 6 +-- Tests/test_file_webp_alpha.py | 10 +++-- Tests/test_file_wmf.py | 13 ++---- Tests/test_font_pcf.py | 8 ++-- Tests/test_font_pcf_charsets.py | 5 +-- Tests/test_image.py | 8 ++-- Tests/test_imagecms.py | 11 +++-- Tests/test_imagedraw2.py | 10 ++--- Tests/test_imagefont.py | 76 ++++++++++++--------------------- Tests/test_imagefontctl.py | 53 ++++++++--------------- Tests/test_imageops.py | 8 ++-- 15 files changed, 105 insertions(+), 142 deletions(-) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 1e56498ba..ea91375da 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -4,7 +4,12 @@ import pytest from PIL import EpsImagePlugin, Image, features -from .helper import assert_image_similar, hopper, skip_unless_feature +from .helper import ( + assert_image_similar, + assert_image_similar_tofile, + hopper, + skip_unless_feature, +) HAS_GHOSTSCRIPT = EpsImagePlugin.has_ghostscript() @@ -72,8 +77,9 @@ def test_cmyk(): assert cmyk_image.mode == "RGB" if features.check("jpg"): - with Image.open("Tests/images/pil_sample_rgb.jpg") as target: - assert_image_similar(cmyk_image, target, 10) + assert_image_similar_tofile( + cmyk_image, "Tests/images/pil_sample_rgb.jpg", 10 + ) @pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available") diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index 37898d0bd..fef2329bc 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -5,7 +5,7 @@ import pytest from PIL import IcnsImagePlugin, Image, features -from .helper import assert_image_equal, assert_image_similar +from .helper import assert_image_equal, assert_image_similar_tofile # sample icon file TEST_FILE = "Tests/images/pillow.icns" @@ -49,8 +49,7 @@ def test_save_append_images(tmp_path): with Image.open(TEST_FILE) as im: im.save(temp_file, append_images=[provided_im]) - with Image.open(temp_file) as reread: - assert_image_similar(reread, im, 1) + assert_image_similar_tofile(im, temp_file, 1) with Image.open(temp_file) as reread: reread.size = (16, 16, 2) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 0dabd98f8..740f9fa4d 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -19,6 +19,7 @@ from .helper import ( assert_image_equal, assert_image_equal_tofile, assert_image_similar, + assert_image_similar_tofile, cjpeg_available, djpeg_available, hopper, @@ -578,7 +579,7 @@ class TestFileJpeg: def test_load_djpeg(self): with Image.open(TEST_FILE) as img: img.load_djpeg() - assert_image_similar(img, Image.open(TEST_FILE), 5) + assert_image_similar_tofile(img, TEST_FILE, 5) @pytest.mark.skipif(not cjpeg_available(), reason="cjpeg not available") def test_save_cjpeg(self, tmp_path): @@ -586,7 +587,7 @@ class TestFileJpeg: tempfile = str(tmp_path / "temp.jpg") JpegImagePlugin._save_cjpeg(img, 0, tempfile) # Default save quality is 75%, so a tiny bit of difference is alright - assert_image_similar(img, Image.open(tempfile), 17) + assert_image_similar_tofile(img, tempfile, 17) def test_no_duplicate_0x1001_tag(self): # Arrange diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index e22cff087..13ae09af5 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -8,6 +8,7 @@ from PIL import Image, ImageFile, Jpeg2KImagePlugin, features from .helper import ( assert_image_equal, assert_image_similar, + assert_image_similar_tofile, is_big_endian, skip_unless_feature, ) @@ -62,9 +63,7 @@ def test_invalid_file(): def test_bytesio(): with open("Tests/images/test-card-lossless.jp2", "rb") as f: data = BytesIO(f.read()) - with Image.open(data) as im: - im.load() - assert_image_similar(im, test_card, 1.0e-3) + assert_image_similar_tofile(test_card, data, 1.0e-3) # These two test pre-written JPEG 2000 files that were not written with @@ -80,9 +79,9 @@ def test_lossless(tmp_path): def test_lossy_tiled(): - with Image.open("Tests/images/test-card-lossy-tiled.jp2") as im: - im.load() - assert_image_similar(im, test_card, 2.0) + assert_image_similar_tofile( + test_card, "Tests/images/test-card-lossy-tiled.jp2", 2.0 + ) def test_lossless_rt(): @@ -193,15 +192,13 @@ def test_16bit_monochrome_has_correct_mode(): @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_16bit_monochrome_jp2_like_tiff(): with Image.open("Tests/images/16bit.cropped.tif") as tiff_16bit: - with Image.open("Tests/images/16bit.cropped.jp2") as jp2: - assert_image_similar(jp2, tiff_16bit, 1e-3) + assert_image_similar_tofile(tiff_16bit, "Tests/images/16bit.cropped.jp2", 1e-3) @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_16bit_monochrome_j2k_like_tiff(): with Image.open("Tests/images/16bit.cropped.tif") as tiff_16bit: - with Image.open("Tests/images/16bit.cropped.j2k") as j2k: - assert_image_similar(j2k, tiff_16bit, 1e-3) + assert_image_similar_tofile(tiff_16bit, "Tests/images/16bit.cropped.j2k", 1e-3) def test_16bit_j2k_roundtrips(): diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index c1eb7fb74..7a5a5b462 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -457,8 +457,7 @@ class TestFileLibTiff(LibTiffTestCase): im.save(out, compression="jpeg", quality=30) size_jpeg_30 = os.path.getsize(out) - with Image.open(out) as im3: - assert_image_similar(im2, im3, 30) + assert_image_similar_tofile(im2, out, 30) assert size_raw > size_compressed assert size_compressed > size_jpeg @@ -642,8 +641,7 @@ class TestFileLibTiff(LibTiffTestCase): pilim.save(buffer_io, format="tiff", compression=compression) buffer_io.seek(0) - with Image.open(buffer_io) as pilim_load: - assert_image_similar(pilim, pilim_load, 0) + assert_image_similar_tofile(pilim, buffer_io, 0) save_bytesio() save_bytesio("raw") diff --git a/Tests/test_file_webp_alpha.py b/Tests/test_file_webp_alpha.py index 362edac1a..dc82fb742 100644 --- a/Tests/test_file_webp_alpha.py +++ b/Tests/test_file_webp_alpha.py @@ -2,7 +2,12 @@ import pytest from PIL import Image -from .helper import assert_image_equal, assert_image_similar, hopper +from .helper import ( + assert_image_equal, + assert_image_similar, + assert_image_similar_tofile, + hopper, +) _webp = pytest.importorskip("PIL._webp", reason="WebP support not installed") @@ -29,8 +34,7 @@ def test_read_rgba(): image.tobytes() - with Image.open("Tests/images/transparent.png") as target: - assert_image_similar(image, target, 20.0) + assert_image_similar_tofile(image, "Tests/images/transparent.png", 20.0) def test_write_lossless_rgb(tmp_path): diff --git a/Tests/test_file_wmf.py b/Tests/test_file_wmf.py index d18225680..bf9d105e5 100644 --- a/Tests/test_file_wmf.py +++ b/Tests/test_file_wmf.py @@ -2,7 +2,7 @@ import pytest from PIL import Image, WmfImagePlugin -from .helper import assert_image_similar, hopper +from .helper import assert_image_similar_tofile, hopper def test_load_raw(): @@ -13,9 +13,7 @@ def test_load_raw(): # Currently, support for WMF/EMF is Windows-only im.load() # Compare to reference rendering - with Image.open("Tests/images/drawing_emf_ref.png") as imref: - imref.load() - assert_image_similar(im, imref, 0) + assert_image_similar_tofile(im, "Tests/images/drawing_emf_ref.png", 0) # Test basic WMF open and rendering with Image.open("Tests/images/drawing.wmf") as im: @@ -23,9 +21,7 @@ def test_load_raw(): # Currently, support for WMF/EMF is Windows-only im.load() # Compare to reference rendering - with Image.open("Tests/images/drawing_wmf_ref.png") as imref: - imref.load() - assert_image_similar(im, imref, 2.0) + assert_image_similar_tofile(im, "Tests/images/drawing_wmf_ref.png", 2.0) def test_register_handler(tmp_path): @@ -66,8 +62,7 @@ def test_load_set_dpi(): im.load(144) assert im.size == (164, 164) - with Image.open("Tests/images/drawing_wmf_ref_144.png") as expected: - assert_image_similar(im, expected, 2.1) + assert_image_similar_tofile(im, "Tests/images/drawing_wmf_ref_144.png", 2.1) def test_save(tmp_path): diff --git a/Tests/test_font_pcf.py b/Tests/test_font_pcf.py index 4814a8561..288848f26 100644 --- a/Tests/test_font_pcf.py +++ b/Tests/test_font_pcf.py @@ -6,7 +6,7 @@ from PIL import FontFile, Image, ImageDraw, ImageFont, PcfFontFile from .helper import ( assert_image_equal_tofile, - assert_image_similar, + assert_image_similar_tofile, skip_unless_feature, ) @@ -61,8 +61,7 @@ def test_draw(request, tmp_path): im = Image.new("L", (130, 30), "white") draw = ImageDraw.Draw(im) draw.text((0, 0), message, "black", font=font) - with Image.open("Tests/images/test_draw_pbm_target.png") as target: - assert_image_similar(im, target, 0) + assert_image_similar_tofile(im, "Tests/images/test_draw_pbm_target.png", 0) def test_textsize(request, tmp_path): @@ -83,8 +82,7 @@ def _test_high_characters(request, tmp_path, message): im = Image.new("L", (750, 30), "white") draw = ImageDraw.Draw(im) draw.text((0, 0), message, "black", font=font) - with Image.open("Tests/images/high_ascii_chars.png") as target: - assert_image_similar(im, target, 0) + assert_image_similar_tofile(im, "Tests/images/high_ascii_chars.png", 0) def test_high_characters(request, tmp_path): diff --git a/Tests/test_font_pcf_charsets.py b/Tests/test_font_pcf_charsets.py index 4ada6b51b..a1036fd28 100644 --- a/Tests/test_font_pcf_charsets.py +++ b/Tests/test_font_pcf_charsets.py @@ -4,7 +4,7 @@ from PIL import FontFile, Image, ImageDraw, ImageFont, PcfFontFile from .helper import ( assert_image_equal_tofile, - assert_image_similar, + assert_image_similar_tofile, skip_unless_feature, ) @@ -82,8 +82,7 @@ def _test_draw(request, tmp_path, encoding): draw = ImageDraw.Draw(im) message = charsets[encoding]["message"].encode(encoding) draw.text((0, 0), message, "black", font=font) - with Image.open(charsets[encoding]["image1"]) as target: - assert_image_similar(im, target, 0) + assert_image_similar_tofile(im, charsets[encoding]["image1"], 0) def test_draw_iso8859_1(request, tmp_path): diff --git a/Tests/test_image.py b/Tests/test_image.py index e9780b846..73cf7bf83 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -11,7 +11,7 @@ from PIL import Image, ImageDraw, ImagePalette, ImageShow, UnidentifiedImageErro from .helper import ( assert_image_equal, assert_image_equal_tofile, - assert_image_similar, + assert_image_similar_tofile, assert_not_all_same, hopper, is_win32, @@ -172,8 +172,7 @@ class TestImage: with tempfile.TemporaryFile() as fp: im.save(fp, "JPEG") fp.seek(0) - with Image.open(fp) as reloaded: - assert_image_similar(im, reloaded, 20) + assert_image_similar_tofile(im, fp, 20) def test_unknown_extension(self, tmp_path): im = hopper() @@ -456,8 +455,7 @@ class TestImage: # Assert assert im.size == (128, 128) - with Image.open("Tests/images/effect_spread.png") as im3: - assert_image_similar(im2, im3, 110) + assert_image_similar_tofile(im2, "Tests/images/effect_spread.png", 110) def test_effect_spread_zero(self): # Arrange diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index 9fab41746..99f3b4e03 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -8,7 +8,13 @@ import pytest from PIL import Image, ImageMode, features -from .helper import assert_image, assert_image_equal, assert_image_similar, hopper +from .helper import ( + assert_image, + assert_image_equal, + assert_image_similar, + assert_image_similar_tofile, + hopper, +) try: from PIL import ImageCms @@ -240,8 +246,7 @@ def test_lab_color(): # i.save('temp.lab.tif') # visually verified vs PS. - with Image.open("Tests/images/hopper.Lab.tif") as target: - assert_image_similar(i, target, 3.5) + assert_image_similar_tofile(i, "Tests/images/hopper.Lab.tif", 3.5) def test_lab_srgb(): diff --git a/Tests/test_imagedraw2.py b/Tests/test_imagedraw2.py index 2023ba332..3a70176ce 100644 --- a/Tests/test_imagedraw2.py +++ b/Tests/test_imagedraw2.py @@ -5,7 +5,7 @@ from PIL import Image, ImageDraw, ImageDraw2 from .helper import ( assert_image_equal, assert_image_equal_tofile, - assert_image_similar, + assert_image_similar_tofile, hopper, skip_unless_feature, ) @@ -62,7 +62,7 @@ def helper_ellipse(mode, bbox): draw.ellipse(bbox, pen, brush) # Assert - assert_image_similar(im, Image.open(expected), 1) + assert_image_similar_tofile(im, expected, 1) def test_ellipse1(): @@ -83,7 +83,7 @@ def test_ellipse_edge(): draw.ellipse(((0, 0), (W - 1, H - 1)), brush) # Assert - assert_image_similar(im, Image.open("Tests/images/imagedraw_ellipse_edge.png"), 1) + assert_image_similar_tofile(im, "Tests/images/imagedraw_ellipse_edge.png", 1) def helper_line(points): @@ -179,7 +179,7 @@ def test_big_rectangle(): draw.rectangle(bbox, brush) # Assert - assert_image_similar(im, Image.open(expected), 1) + assert_image_similar_tofile(im, expected, 1) @skip_unless_feature("freetype2") @@ -194,7 +194,7 @@ def test_text(): draw.text((5, 5), "ImageDraw2", font) # Assert - assert_image_similar(im, Image.open(expected), 13) + assert_image_similar_tofile(im, expected, 13) @skip_unless_feature("freetype2") diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index b67adc60f..5d611a27f 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -13,7 +13,6 @@ from PIL import Image, ImageDraw, ImageFont, features from .helper import ( assert_image_equal, assert_image_equal_tofile, - assert_image_similar, assert_image_similar_tofile, is_win32, skip_unless_feature, @@ -130,8 +129,7 @@ class TestImageFont: draw.text((10, 10), txt, font=ttf) target = "Tests/images/transparent_background_text.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 4.09) + assert_image_similar_tofile(im, target, 4.09) def test_textsize_equal(self): im = Image.new(mode="RGB", size=(300, 100)) @@ -143,11 +141,10 @@ class TestImageFont: draw.text((10, 10), txt, font=ttf) draw.rectangle((10, 10, 10 + size[0], 10 + size[1])) - target = "Tests/images/rectangle_surrounding_text.png" - with Image.open(target) as target_img: - - # Epsilon ~.5 fails with FreeType 2.7 - assert_image_similar(im, target_img, 2.5) + # Epsilon ~.5 fails with FreeType 2.7 + assert_image_similar_tofile( + im, "Tests/images/rectangle_surrounding_text.png", 2.5 + ) @pytest.mark.parametrize( "text, mode, font, size, length_basic, length_raqm", @@ -191,13 +188,10 @@ class TestImageFont: draw.text((0, y), line, font=ttf) y += line_spacing - target = "Tests/images/multiline_text.png" - with Image.open(target) as target_img: - - # some versions of freetype have different horizontal spacing. - # setting a tight epsilon, I'm showing the original test failure - # at epsilon = ~38. - assert_image_similar(im, target_img, 6.2) + # some versions of freetype have different horizontal spacing. + # setting a tight epsilon, I'm showing the original test failure + # at epsilon = ~38. + assert_image_similar_tofile(im, "Tests/images/multiline_text.png", 6.2) def test_render_multiline_text(self): ttf = self.get_font() @@ -208,11 +202,8 @@ class TestImageFont: draw = ImageDraw.Draw(im) draw.text((0, 0), TEST_TEXT, font=ttf) - target = "Tests/images/multiline_text.png" - with Image.open(target) as target_img: - - # Epsilon ~.5 fails with FreeType 2.7 - assert_image_similar(im, target_img, 6.2) + # Epsilon ~.5 fails with FreeType 2.7 + assert_image_similar_tofile(im, "Tests/images/multiline_text.png", 6.2) # Test that text() can pass on additional arguments # to multiline_text() @@ -227,11 +218,10 @@ class TestImageFont: draw = ImageDraw.Draw(im) draw.multiline_text((0, 0), TEST_TEXT, font=ttf, align=align) - target = "Tests/images/multiline_text" + ext + ".png" - with Image.open(target) as target_img: - - # Epsilon ~.5 fails with FreeType 2.7 - assert_image_similar(im, target_img, 6.2) + # Epsilon ~.5 fails with FreeType 2.7 + assert_image_similar_tofile( + im, "Tests/images/multiline_text" + ext + ".png", 6.2 + ) def test_unknown_align(self): im = Image.new(mode="RGB", size=(300, 100)) @@ -285,11 +275,8 @@ class TestImageFont: draw = ImageDraw.Draw(im) draw.multiline_text((0, 0), TEST_TEXT, font=ttf, spacing=10) - target = "Tests/images/multiline_text_spacing.png" - with Image.open(target) as target_img: - - # Epsilon ~.5 fails with FreeType 2.7 - assert_image_similar(im, target_img, 6.2) + # Epsilon ~.5 fails with FreeType 2.7 + assert_image_similar_tofile(im, "Tests/images/multiline_text_spacing.png", 6.2) def test_rotated_transposed_font(self): img_grey = Image.new("L", (100, 100)) @@ -677,13 +664,11 @@ class TestImageFont: d.text((10, 10), "Text", font=font, fill="black") try: - with Image.open(path) as expected: - assert_image_similar(im, expected, epsilon) + assert_image_similar_tofile(im, path, epsilon) except AssertionError: if "_adobe" in path: path = path.replace("_adobe", "_adobe_older_harfbuzz") - with Image.open(path) as expected: - assert_image_similar(im, expected, epsilon) + assert_image_similar_tofile(im, path, epsilon) else: raise @@ -774,8 +759,7 @@ class TestImageFont: assert d.textbbox((0, 0), text, f, anchor=anchor) == bbox_expected - with Image.open(path) as expected: - assert_image_similar(im, expected, 7) + assert_image_similar_tofile(im, path, 7) @pytest.mark.parametrize( "anchor, align", @@ -813,8 +797,7 @@ class TestImageFont: (300, 200), text, fill="black", anchor=anchor, font=f, align=align ) - with Image.open(target) as expected: - assert_image_similar(im, expected, 4) + assert_image_similar_tofile(im, target, 4) def test_anchor_invalid(self): font = self.get_font() @@ -872,8 +855,7 @@ class TestImageFont: d = ImageDraw.Draw(im) d.text((10, 10), txt, font=ttf, fill="#fa6", embedded_color=True) - with Image.open("Tests/images/standard_embedded.png") as expected: - assert_image_similar(im, expected, 6.2) + assert_image_similar_tofile(im, "Tests/images/standard_embedded.png", 6.2) @skip_unless_feature_version("freetype2", "2.5.0") def test_cbdt(self): @@ -889,8 +871,7 @@ class TestImageFont: d.text((10, 10), "\U0001f469", embedded_color=True, font=font) - with Image.open("Tests/images/cbdt_notocoloremoji.png") as expected: - assert_image_similar(im, expected, 6.2) + assert_image_similar_tofile(im, "Tests/images/cbdt_notocoloremoji.png", 6.2) except IOError as e: assert str(e) in ("unimplemented feature", "unknown file format") pytest.skip("freetype compiled without libpng or unsupported") @@ -909,8 +890,9 @@ class TestImageFont: d.text((10, 10), "\U0001f469", "black", font=font) - with Image.open("Tests/images/cbdt_notocoloremoji_mask.png") as expected: - assert_image_similar(im, expected, 6.2) + assert_image_similar_tofile( + im, "Tests/images/cbdt_notocoloremoji_mask.png", 6.2 + ) except IOError as e: assert str(e) in ("unimplemented feature", "unknown file format") pytest.skip("freetype compiled without libpng or unsupported") @@ -928,8 +910,7 @@ class TestImageFont: d.text((15, 5), "Bungee", embedded_color=True, font=font) - with Image.open("Tests/images/colr_bungee.png") as expected: - assert_image_similar(im, expected, 21) + assert_image_similar_tofile(im, "Tests/images/colr_bungee.png", 21) @skip_unless_feature_version("freetype2", "2.10.0") def test_colr_mask(self): @@ -944,8 +925,7 @@ class TestImageFont: d.text((15, 5), "Bungee", "black", font=font) - with Image.open("Tests/images/colr_bungee_mask.png") as expected: - assert_image_similar(im, expected, 22) + assert_image_similar_tofile(im, "Tests/images/colr_bungee_mask.png", 22) @skip_unless_feature("raqm") diff --git a/Tests/test_imagefontctl.py b/Tests/test_imagefontctl.py index 82e2b4ebc..655b7662a 100644 --- a/Tests/test_imagefontctl.py +++ b/Tests/test_imagefontctl.py @@ -4,7 +4,7 @@ from packaging.version import parse as parse_version from PIL import Image, ImageDraw, ImageFont, features from .helper import ( - assert_image_similar, + assert_image_similar_tofile, skip_unless_feature, skip_unless_feature_version, ) @@ -31,8 +31,7 @@ def test_complex_text(): draw.text((0, 0), "اهلا عمان", font=ttf, fill=500) target = "Tests/images/test_text.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_y_offset(): @@ -43,8 +42,7 @@ def test_y_offset(): draw.text((0, 0), "العالم العربي", font=ttf, fill=500) target = "Tests/images/test_y_offset.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 1.7) + assert_image_similar_tofile(im, target, 1.7) def test_complex_unicode_text(): @@ -55,8 +53,7 @@ def test_complex_unicode_text(): draw.text((0, 0), "السلام عليكم", font=ttf, fill=500) target = "Tests/images/test_complex_unicode_text.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) ttf = ImageFont.truetype("Tests/fonts/KhmerOSBattambang-Regular.ttf", FONT_SIZE) @@ -65,8 +62,7 @@ def test_complex_unicode_text(): draw.text((0, 0), "លោកុប្បត្តិ", font=ttf, fill=500) target = "Tests/images/test_complex_unicode_text2.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 2.33) + assert_image_similar_tofile(im, target, 2.33) def test_text_direction_rtl(): @@ -77,8 +73,7 @@ def test_text_direction_rtl(): draw.text((0, 0), "English عربي", font=ttf, fill=500, direction="rtl") target = "Tests/images/test_direction_rtl.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_text_direction_ltr(): @@ -89,8 +84,7 @@ def test_text_direction_ltr(): draw.text((0, 0), "سلطنة عمان Oman", font=ttf, fill=500, direction="ltr") target = "Tests/images/test_direction_ltr.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_text_direction_rtl2(): @@ -101,8 +95,7 @@ def test_text_direction_rtl2(): draw.text((0, 0), "Oman سلطنة عمان", font=ttf, fill=500, direction="rtl") target = "Tests/images/test_direction_ltr.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_text_direction_ttb(): @@ -117,8 +110,7 @@ def test_text_direction_ttb(): pytest.skip("libraqm 0.7 or greater not available") target = "Tests/images/test_direction_ttb.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 2.8) + assert_image_similar_tofile(im, target, 2.8) def test_text_direction_ttb_stroke(): @@ -141,8 +133,7 @@ def test_text_direction_ttb_stroke(): pytest.skip("libraqm 0.7 or greater not available") target = "Tests/images/test_direction_ttb_stroke.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 19.4) + assert_image_similar_tofile(im, target, 19.4) def test_ligature_features(): @@ -152,8 +143,7 @@ def test_ligature_features(): draw = ImageDraw.Draw(im) draw.text((0, 0), "filling", font=ttf, fill=500, features=["-liga"]) target = "Tests/images/test_ligature_features.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) liga_size = ttf.getsize("fi", features=["-liga"]) assert liga_size == (13, 19) @@ -167,8 +157,7 @@ def test_kerning_features(): draw.text((0, 0), "TeToAV", font=ttf, fill=500, features=["-kern"]) target = "Tests/images/test_kerning_features.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_arabictext_features(): @@ -185,8 +174,7 @@ def test_arabictext_features(): ) target = "Tests/images/test_arabictext_features.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_x_max_and_y_offset(): @@ -197,8 +185,7 @@ def test_x_max_and_y_offset(): draw.text((0, 0), "لح", font=ttf, fill=500) target = "Tests/images/test_x_max_and_y_offset.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) def test_language(): @@ -209,8 +196,7 @@ def test_language(): draw.text((0, 0), "абвг", font=ttf, fill=500, language="sr") target = "Tests/images/test_language.png" - with Image.open(target) as target_img: - assert_image_similar(im, target_img, 0.5) + assert_image_similar_tofile(im, target, 0.5) @pytest.mark.parametrize("mode", ("L", "1")) @@ -287,8 +273,7 @@ def test_anchor_ttb(anchor): if str(ex) == "libraqm 0.7 or greater required for 'ttb' direction": pytest.skip("libraqm 0.7 or greater not available") - with Image.open(path) as expected: - assert_image_similar(im, expected, 1) # fails at 5 + assert_image_similar_tofile(im, path, 1) # fails at 5 combine_tests = ( @@ -351,8 +336,7 @@ def test_combine(name, text, dir, anchor, epsilon): if str(ex) == "libraqm 0.7 or greater required for 'ttb' direction": pytest.skip("libraqm 0.7 or greater not available") - with Image.open(path) as expected: - assert_image_similar(im, expected, epsilon) + assert_image_similar_tofile(im, path, epsilon) @pytest.mark.parametrize( @@ -384,8 +368,7 @@ def test_combine_multiline(anchor, align): d.rectangle(bbox, outline="red") d.multiline_text((200, 200), text, fill="black", anchor=anchor, font=f, align=align) - with Image.open(path) as expected: - assert_image_similar(im, expected, 0.015) + assert_image_similar_tofile(im, path, 0.015) def test_anchor_invalid_ttb(): diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index f17bfdd2f..33489bd13 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -5,6 +5,7 @@ from PIL import Image, ImageDraw, ImageOps, ImageStat, features from .helper import ( assert_image_equal, assert_image_similar, + assert_image_similar_tofile, assert_tuple_approx_equal, hopper, ) @@ -112,10 +113,9 @@ def test_pad(): new_im = ImageOps.pad(im, new_size, color=color, centering=centering) assert new_im.size == new_size - with Image.open( - "Tests/images/imageops_pad_" + label + "_" + str(i) + ".jpg" - ) as target: - assert_image_similar(new_im, target, 6) + assert_image_similar_tofile( + new_im, "Tests/images/imageops_pad_" + label + "_" + str(i) + ".jpg", 6 + ) def test_pil163(): From faf8fad76d5f4a2ec9a41bc92fad106b35a613f1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 5 Oct 2020 20:35:45 +1100 Subject: [PATCH 117/325] Stopped flattening EXIF IFD into getexif() --- Tests/test_image.py | 24 +++--- src/PIL/Image.py | 168 ++++++++++++++++++++----------------- src/PIL/JpegImagePlugin.py | 2 +- src/PIL/MpoImagePlugin.py | 2 +- src/PIL/PngImagePlugin.py | 2 +- src/PIL/WebPImagePlugin.py | 2 +- 6 files changed, 106 insertions(+), 94 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 73cf7bf83..3d0804950 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -663,43 +663,43 @@ class TestImage: exif = im.getexif() assert 258 not in exif assert 274 in exif - assert 40960 in exif - assert exif[40963] == 450 + assert 282 in exif + assert exif[296] == 2 assert exif[11] == "gThumb 3.0.1" out = str(tmp_path / "temp.jpg") exif[258] = 8 del exif[274] - del exif[40960] - exif[40963] = 455 + del exif[282] + exif[296] = 455 exif[11] = "Pillow test" im.save(out, exif=exif) with Image.open(out) as reloaded: reloaded_exif = reloaded.getexif() assert reloaded_exif[258] == 8 assert 274 not in reloaded_exif - assert 40960 not in reloaded_exif - assert reloaded_exif[40963] == 455 + assert 282 not in reloaded_exif + assert reloaded_exif[296] == 455 assert reloaded_exif[11] == "Pillow test" with Image.open("Tests/images/no-dpi-in-exif.jpg") as im: # Big endian exif = im.getexif() assert 258 not in exif - assert 40962 in exif - assert exif[40963] == 200 + assert 306 in exif + assert exif[274] == 1 assert exif[305] == "Adobe Photoshop CC 2017 (Macintosh)" out = str(tmp_path / "temp.jpg") exif[258] = 8 - del exif[34665] - exif[40963] = 455 + del exif[306] + exif[274] = 455 exif[305] = "Pillow test" im.save(out, exif=exif) with Image.open(out) as reloaded: reloaded_exif = reloaded.getexif() assert reloaded_exif[258] == 8 - assert 34665 not in reloaded_exif - assert reloaded_exif[40963] == 455 + assert 306 not in reloaded_exif + assert reloaded_exif[274] == 455 assert reloaded_exif[305] == "Pillow test" @skip_unless_feature("webp") diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 01fe7ed1b..354dbbed7 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3309,11 +3309,11 @@ class Exif(MutableMapping): # returns a dict with any single item tuples/lists as individual values return {k: self._fixup(v) for k, v in src_dict.items()} - def _get_ifd_dict(self, tag): + def _get_ifd_dict(self, offset): try: # an offset pointer to the location of the nested embedded IFD. # It should be a long, but may be corrupted. - self.fp.seek(self[tag]) + self.fp.seek(offset) except (KeyError, TypeError): pass else: @@ -3351,11 +3351,16 @@ class Exif(MutableMapping): self.fp.seek(self._info.next) self._info.load(self.fp) + def _get_merged_dict(self): + merged_dict = dict(self) + # get EXIF extension - ifd = self._get_ifd_dict(0x8769) - if ifd: - self._data.update(ifd) - self._ifds[0x8769] = ifd + if 0x8769 in self: + ifd = self._get_ifd_dict(self[0x8769]) + if ifd: + merged_dict.update(ifd) + + return merged_dict def tobytes(self, offset=8): from . import TiffImagePlugin @@ -3370,87 +3375,94 @@ class Exif(MutableMapping): return b"Exif\x00\x00" + head + ifd.tobytes(offset) def get_ifd(self, tag): - if tag not in self._ifds and tag in self: - if tag in [0x8825, 0xA005]: - # gpsinfo, interop - self._ifds[tag] = self._get_ifd_dict(tag) - elif tag == 0x927C: # makernote - from .TiffImagePlugin import ImageFileDirectory_v2 + if tag not in self._ifds: + if tag in [0x8769, 0x8825]: + # exif, gpsinfo + if tag in self: + self._ifds[tag] = self._get_ifd_dict(self[tag]) + elif tag in [0xA005, 0x927C]: + # interop, makernote + if 0x8769 not in self._ifds: + self.get_ifd(0x8769) + tag_data = self._ifds[0x8769][tag] + if tag == 0x927C: + from .TiffImagePlugin import ImageFileDirectory_v2 - if self[0x927C][:8] == b"FUJIFILM": - exif_data = self[0x927C] - ifd_offset = i32le(exif_data, 8) - ifd_data = exif_data[ifd_offset:] + if self._ifds[0x8769][tag][:8] == b"FUJIFILM": + ifd_offset = i32le(tag_data, 8) + ifd_data = tag_data[ifd_offset:] - makernote = {} - for i in range(0, struct.unpack(" 4: - (offset,) = struct.unpack(" 4: + (offset,) = struct.unpack("H", ifd_data[:2])[0]): - ifd_tag, typ, count, data = struct.unpack( - ">HHL4s", ifd_data[i * 12 + 2 : (i + 1) * 12 + 2] - ) - if ifd_tag == 0x1101: - # CameraInfo - (offset,) = struct.unpack(">L", data) - self.fp.seek(offset) - - camerainfo = {"ModelID": self.fp.read(4)} - - self.fp.read(4) - # Seconds since 2000 - camerainfo["TimeStamp"] = i32le(self.fp.read(12)) - - self.fp.read(4) - camerainfo["InternalSerialNumber"] = self.fp.read(4) - - self.fp.read(12) - parallax = self.fp.read(4) - handler = ImageFileDirectory_v2._load_dispatch[ - TiffTags.FLOAT - ][1] - camerainfo["Parallax"] = handler( - ImageFileDirectory_v2(), parallax, False + makernote[ifd_tag] = handler( + ImageFileDirectory_v2(), data, False ) + self._ifds[tag] = dict(self._fixup_dict(makernote)) + elif self.get(0x010F) == "Nintendo": + makernote = {} + for i in range(0, struct.unpack(">H", tag_data[:2])[0]): + ifd_tag, typ, count, data = struct.unpack( + ">HHL4s", tag_data[i * 12 + 2 : (i + 1) * 12 + 2] + ) + if ifd_tag == 0x1101: + # CameraInfo + (offset,) = struct.unpack(">L", data) + self.fp.seek(offset) - self.fp.read(4) - camerainfo["Category"] = self.fp.read(2) + camerainfo = {"ModelID": self.fp.read(4)} - makernote = {0x1101: dict(self._fixup_dict(camerainfo))} - self._ifds[0x927C] = makernote + self.fp.read(4) + # Seconds since 2000 + camerainfo["TimeStamp"] = i32le(self.fp.read(12)) + + self.fp.read(4) + camerainfo["InternalSerialNumber"] = self.fp.read(4) + + self.fp.read(12) + parallax = self.fp.read(4) + handler = ImageFileDirectory_v2._load_dispatch[ + TiffTags.FLOAT + ][1] + camerainfo["Parallax"] = handler( + ImageFileDirectory_v2(), parallax, False + ) + + self.fp.read(4) + camerainfo["Category"] = self.fp.read(2) + + makernote = {0x1101: dict(self._fixup_dict(camerainfo))} + self._ifds[tag] = makernote + else: + # gpsinfo, interop + self._ifds[tag] = self._get_ifd_dict(tag_data) return self._ifds.get(tag, {}) def __str__(self): diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index 054495e6f..ad260acbd 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -478,7 +478,7 @@ class JpegImageFile(ImageFile.ImageFile): def _getexif(self): if "exif" not in self.info: return None - return dict(self.getexif()) + return self.getexif()._get_merged_dict() def _getmp(self): diff --git a/src/PIL/MpoImagePlugin.py b/src/PIL/MpoImagePlugin.py index 575cc9c8e..8b49d10e5 100644 --- a/src/PIL/MpoImagePlugin.py +++ b/src/PIL/MpoImagePlugin.py @@ -82,7 +82,7 @@ class MpoImageFile(JpegImagePlugin.JpegImageFile): n = i16(self.fp.read(2)) - 2 self.info["exif"] = ImageFile._safe_read(self.fp, n) - exif = self.getexif() + exif = self.getexif().get_ifd(0x8769) if 40962 in exif and 40963 in exif: self._size = (exif[40962], exif[40963]) elif "exif" in self.info: diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index 2d4ac7606..30eb13aa3 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -968,7 +968,7 @@ class PngImageFile(ImageFile.ImageFile): self.load() if "exif" not in self.info and "Raw profile type exif" not in self.info: return None - return dict(self.getexif()) + return self.getexif()._get_merged_dict() def getexif(self): if "exif" not in self.info: diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 2e9746fa3..bc12ce4be 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -96,7 +96,7 @@ class WebPImageFile(ImageFile.ImageFile): def _getexif(self): if "exif" not in self.info: return None - return dict(self.getexif()) + return self.getexif()._get_merged_dict() def seek(self, frame): if not self._seek_check(frame): From 4b14f0102d8fa585c900ff8a174defb2452c042b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 5 Oct 2020 20:16:48 +1100 Subject: [PATCH 118/325] Save base IFDs when converting Exif to bytes --- Tests/test_image.py | 8 ++++++++ src/PIL/Image.py | 2 ++ 2 files changed, 10 insertions(+) diff --git a/Tests/test_image.py b/Tests/test_image.py index 3d0804950..b1db41235 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -752,6 +752,14 @@ class TestImage: 4098: 1704, } + def test_exif_ifd(self): + im = Image.open("Tests/images/flower.jpg") + exif = im.getexif() + + reloaded_exif = Image.Exif() + reloaded_exif.load(exif.tobytes()) + assert reloaded_exif.get_ifd(0x8769) == exif.get_ifd(0x8769) + @pytest.mark.parametrize( "test_module", [PIL, Image], diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 354dbbed7..73eef3d81 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3371,6 +3371,8 @@ class Exif(MutableMapping): head = b"MM\x00\x2A\x00\x00\x00\x08" ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) for tag, value in self.items(): + if tag in [0x8769, 0x8225] and not isinstance(value, dict): + value = self.get_ifd(tag) ifd[tag] = value return b"Exif\x00\x00" + head + ifd.tobytes(offset) From b25bc400093283104e7eeb232074795f2e2cdb8e Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Wed, 7 Oct 2020 18:35:16 +1100 Subject: [PATCH 119/325] Simplified code Co-authored-by: Konstantin Kopachev --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 73eef3d81..d318bc236 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3390,7 +3390,7 @@ class Exif(MutableMapping): if tag == 0x927C: from .TiffImagePlugin import ImageFileDirectory_v2 - if self._ifds[0x8769][tag][:8] == b"FUJIFILM": + if tag_data[:8] == b"FUJIFILM": ifd_offset = i32le(tag_data, 8) ifd_data = tag_data[ifd_offset:] From e763f8f2be026cd598f0e1bd3c8b50c5b2d9be64 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Feb 2021 07:47:59 +1100 Subject: [PATCH 120/325] Save interop IFD when converting Exif to bytes --- Tests/test_image.py | 9 +++++++-- src/PIL/Image.py | 7 +++++++ src/PIL/TiffTags.py | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index b1db41235..e1c14d0d8 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -752,9 +752,14 @@ class TestImage: 4098: 1704, } + reloaded_exif = Image.Exif() + reloaded_exif.load(exif.tobytes()) + assert reloaded_exif.get_ifd(0xA005) == exif.get_ifd(0xA005) + def test_exif_ifd(self): - im = Image.open("Tests/images/flower.jpg") - exif = im.getexif() + with Image.open("Tests/images/flower.jpg") as im: + exif = im.getexif() + del exif.get_ifd(0x8769)[0xA005] reloaded_exif = Image.Exif() reloaded_exif.load(exif.tobytes()) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index d318bc236..df3ebfd18 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3373,6 +3373,13 @@ class Exif(MutableMapping): for tag, value in self.items(): if tag in [0x8769, 0x8225] and not isinstance(value, dict): value = self.get_ifd(tag) + if ( + tag == 0x8769 + and 0xA005 in value + and not isinstance(value[0xA005], dict) + ): + value = value.copy() + value[0xA005] = self.get_ifd(0xA005) ifd[tag] = value return b"Exif\x00\x00" + head + ifd.tobytes(offset) diff --git a/src/PIL/TiffTags.py b/src/PIL/TiffTags.py index 796ff3479..9e9e117a4 100644 --- a/src/PIL/TiffTags.py +++ b/src/PIL/TiffTags.py @@ -184,6 +184,7 @@ TAGS_V2 = { 34665: ("ExifIFD", LONG, 1), 34675: ("ICCProfile", UNDEFINED, 1), 34853: ("GPSInfoIFD", LONG, 1), + 40965: ("InteroperabilityIFD", LONG, 1), # MPInfo 45056: ("MPFVersion", UNDEFINED, 1), 45057: ("NumberOfImages", LONG, 1), From c0ee869c2c09bca7825e0fd9ef76515de880d6da Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Feb 2021 07:48:58 +1100 Subject: [PATCH 121/325] Only draw each rectangle outline pixel once --- .../imagedraw_rectangle_translucent_outline.png | Bin 0 -> 235 bytes Tests/test_imagedraw.py | 14 ++++++++++++++ src/libImaging/Draw.c | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 Tests/images/imagedraw_rectangle_translucent_outline.png diff --git a/Tests/images/imagedraw_rectangle_translucent_outline.png b/Tests/images/imagedraw_rectangle_translucent_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..845648762ccab1e1d2047f653a9bb6bda4e22e65 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^DImhline(im, x0, y0 + i, x1, ink); draw->hline(im, x0, y1 - i, x1, ink); - draw->line(im, x1 - i, y0, x1 - i, y1, ink); - draw->line(im, x0 + i, y1, x0 + i, y0, ink); + draw->line(im, x1 - i, y0 + width, x1 - i, y1 - width + 1, ink); + draw->line(im, x0 + i, y0 + width, x0 + i, y1 - width + 1, ink); } } From 61ee8ec03cc9f12810e239d1618047cd7330d800 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 30 Dec 2020 03:27:28 +0100 Subject: [PATCH 122/325] document and add tests for SBIX color font support --- .github/workflows/test-windows.yml | 2 +- Tests/fonts/LICENSE.txt | 2 ++ Tests/fonts/chromacheck-sbix.woff | Bin 0 -> 740 bytes Tests/images/chromacheck-sbix.png | Bin 0 -> 1410 bytes Tests/images/chromacheck-sbix_mask.png | Bin 0 -> 1415 bytes Tests/test_imagefont.py | 40 +++++++++++++++++++++++++ docs/reference/ImageDraw.rst | 10 +++---- docs/releasenotes/8.0.0.rst | 3 +- 8 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 Tests/fonts/chromacheck-sbix.woff create mode 100644 Tests/images/chromacheck-sbix.png create mode 100644 Tests/images/chromacheck-sbix_mask.png diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index f3bb85f32..330db7c65 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -110,7 +110,7 @@ jobs: if: steps.build-cache.outputs.cache-hit != 'true' run: "& winbuild\\build\\build_dep_libwebp.cmd" - # for FreeType CBDT font support + # for FreeType CBDT/SBIX font support - name: Build dependencies / libpng if: steps.build-cache.outputs.cache-hit != 'true' run: "& winbuild\\build\\build_dep_libpng.cmd" diff --git a/Tests/fonts/LICENSE.txt b/Tests/fonts/LICENSE.txt index 06eaa9a4e..884f6a5bf 100644 --- a/Tests/fonts/LICENSE.txt +++ b/Tests/fonts/LICENSE.txt @@ -15,6 +15,8 @@ FreeMono.ttf is licensed under GPLv3, with the GPL font exception. OpenSansCondensed-LightItalic.tt, from https://fonts.google.com/specimen/Open+Sans, under Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) +chromacheck-sbix.woff, from https://github.com/RoelN/ChromaCheck, under The MIT License (MIT), Copyright (c) 2018 Roel Nieskens, https://pixelambacht.nl Copyright (c) 2018 Google LLC + DejaVuSans-24-{1,2,4,8}-stripped.ttf are based on DejaVuSans.ttf converted using FontForge to add bitmap strikes and keep only the ASCII range. diff --git a/Tests/fonts/chromacheck-sbix.woff b/Tests/fonts/chromacheck-sbix.woff new file mode 100644 index 0000000000000000000000000000000000000000..518d4b7ea6c45b7c3c660ef94aa6b71affa9fa70 GIT binary patch literal 740 zcmXT-cXMN4WB>xDCk)&mnmGYTU4j5$C_DxI*pFoa zFMC0LaS70GHb6cPNF4(+14D6ACeRKh49lLy?gieV(neV{1Cf6`;7E?e*CY!ubQsB?9d{$1L`WtPRA`}Ggf|lf4pT1 zJ3|}i2C!Sw4gf8wWnclhi^Yk};9268#19OYm;(MZGjec!x+H4F{O3;P&Luk`i&?MD$f~p69W~x5zbY02Qr}@)!CD**2oiA59uI$vD+NvI$ z+t77`sm3X0xnYAtT+4Zv2_NU_^(l&OzbBKzvU7pw!~ef*_}LXEi#>3b6Xth5l*#7S Xof)d6z~~=tKfTnC)0e?ILG362-q6Sn literal 0 HcmV?d00001 diff --git a/Tests/images/chromacheck-sbix.png b/Tests/images/chromacheck-sbix.png new file mode 100644 index 0000000000000000000000000000000000000000..b906ef133a473b8f5bb3f777b0342acdf7a841cf GIT binary patch literal 1410 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL985qF{<{ljGcd4vdb&7?h^t!3eJOz^LVrEgM07i zyyg6GeV_4d;k=3nhqeSp$tKnm4zUS}qnyz&7)=L5H80GWdGj8_hmQ8a?f#fwPCU}W T?Aix_Wh;ZHtDnm{r-UW|CpLkcdw+BWkigGfy{KSPE0h6bL4Ohzo+Cj@j9oCg;tIo|fc z%}SZo>IdR~$6kNM$!|00oH)orY}7fUDP$04WNgWD+sw$lj1NTl2V=p5aPJPr_uF`+ VU$07d4J=?8JYD@<);T3K0RVGNmXH7d literal 0 HcmV?d00001 diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 5d611a27f..757395bcf 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -897,6 +897,46 @@ class TestImageFont: assert str(e) in ("unimplemented feature", "unknown file format") pytest.skip("freetype compiled without libpng or unsupported") + @skip_unless_feature_version("freetype2", "2.5.1") + def test_sbix(self): + try: + font = ImageFont.truetype( + "Tests/fonts/chromacheck-sbix.woff", + size=300, + layout_engine=self.LAYOUT_ENGINE, + ) + + im = Image.new("RGB", (400, 400), "white") + d = ImageDraw.Draw(im) + + d.text((50, 50), "\uE901", embedded_color=True, font=font) + + with Image.open("Tests/images/chromacheck-sbix.png") as expected: + assert_image_similar(im, expected, 1) + except IOError as e: + assert str(e) in ("unimplemented feature", "unknown file format") + pytest.skip("freetype compiled without libpng or unsupported") + + @skip_unless_feature_version("freetype2", "2.5.1") + def test_sbix_mask(self): + try: + font = ImageFont.truetype( + "Tests/fonts/chromacheck-sbix.woff", + size=300, + layout_engine=self.LAYOUT_ENGINE, + ) + + im = Image.new("RGB", (400, 400), "white") + d = ImageDraw.Draw(im) + + d.text((50, 50), "\uE901", (100, 0, 0), font=font) + + with Image.open("Tests/images/chromacheck-sbix_mask.png") as expected: + assert_image_similar(im, expected, 1) + except IOError as e: + assert str(e) in ("unimplemented feature", "unknown file format") + pytest.skip("freetype compiled without libpng or unsupported") + @skip_unless_feature_version("freetype2", "2.10.0") def test_colr(self): font = ImageFont.truetype( diff --git a/docs/reference/ImageDraw.rst b/docs/reference/ImageDraw.rst index 57d1c2dda..e2ef548d4 100644 --- a/docs/reference/ImageDraw.rst +++ b/docs/reference/ImageDraw.rst @@ -352,7 +352,7 @@ Methods .. versionadded:: 6.2.0 - :param embedded_color: Whether to use font embedded color glyphs (COLR or CBDT). + :param embedded_color: Whether to use font embedded color glyphs (COLR, CBDT, SBIX). .. versionadded:: 8.0.0 @@ -413,7 +413,7 @@ Methods .. versionadded:: 6.2.0 - :param embedded_color: Whether to use font embedded color glyphs (COLR or CBDT). + :param embedded_color: Whether to use font embedded color glyphs (COLR, CBDT, SBIX). .. versionadded:: 8.0.0 @@ -577,7 +577,7 @@ Methods correct substitutions as appropriate, if available. It should be a `BCP 47 language code`_. Requires libraqm. - :param embedded_color: Whether to use font embedded color glyphs (COLR or CBDT). + :param embedded_color: Whether to use font embedded color glyphs (COLR, CBDT, SBIX). .. py:method:: ImageDraw.textbbox(xy, text, font=None, anchor=None, spacing=4, align="left", direction=None, features=None, language=None, stroke_width=0, embedded_color=False) @@ -626,7 +626,7 @@ Methods It should be a `BCP 47 language code`_. Requires libraqm. :param stroke_width: The width of the text stroke. - :param embedded_color: Whether to use font embedded color glyphs (COLR or CBDT). + :param embedded_color: Whether to use font embedded color glyphs (COLR, CBDT, SBIX). .. py:method:: ImageDraw.multiline_textbbox(xy, text, font=None, anchor=None, spacing=4, align="left", direction=None, features=None, language=None, stroke_width=0, embedded_color=False) @@ -669,7 +669,7 @@ Methods It should be a `BCP 47 language code`_. Requires libraqm. :param stroke_width: The width of the text stroke. - :param embedded_color: Whether to use font embedded color glyphs (COLR or CBDT). + :param embedded_color: Whether to use font embedded color glyphs (COLR, CBDT, SBIX). .. py:method:: getdraw(im=None, hints=None) diff --git a/docs/releasenotes/8.0.0.rst b/docs/releasenotes/8.0.0.rst index 1bef62e00..28dc8324d 100644 --- a/docs/releasenotes/8.0.0.rst +++ b/docs/releasenotes/8.0.0.rst @@ -115,8 +115,9 @@ now support fonts with embedded color data. To render text with embedded color data, use the parameter ``embedded_color=True``. Support for CBDT fonts requires FreeType 2.5 compiled with libpng. +Support for SBIX fonts requires FreeType 2.5.1 compiled with libpng. Support for COLR fonts requires FreeType 2.10. -SBIX and SVG fonts are not yet supported. +SVG fonts are not yet supported. ImageDraw.textlength ^^^^^^^^^^^^^^^^^^^^ From c709aa3d28abbdc006288ac88de082ba00439be0 Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 30 Dec 2020 04:48:01 +0100 Subject: [PATCH 123/325] minor test formatting cleanup --- Tests/test_imagefont.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 757395bcf..259a0f872 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -869,12 +869,12 @@ class TestImageFont: im = Image.new("RGB", (150, 150), "white") d = ImageDraw.Draw(im) - d.text((10, 10), "\U0001f469", embedded_color=True, font=font) + d.text((10, 10), "\U0001f469", font=font, embedded_color=True) assert_image_similar_tofile(im, "Tests/images/cbdt_notocoloremoji.png", 6.2) - except IOError as e: + except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") - pytest.skip("freetype compiled without libpng or unsupported") + pytest.skip("freetype compiled without libpng or CBDT support") @skip_unless_feature_version("freetype2", "2.5.0") def test_cbdt_mask(self): @@ -893,9 +893,9 @@ class TestImageFont: assert_image_similar_tofile( im, "Tests/images/cbdt_notocoloremoji_mask.png", 6.2 ) - except IOError as e: + except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") - pytest.skip("freetype compiled without libpng or unsupported") + pytest.skip("freetype compiled without libpng or CBDT support") @skip_unless_feature_version("freetype2", "2.5.1") def test_sbix(self): @@ -909,13 +909,13 @@ class TestImageFont: im = Image.new("RGB", (400, 400), "white") d = ImageDraw.Draw(im) - d.text((50, 50), "\uE901", embedded_color=True, font=font) + d.text((50, 50), "\uE901", font=font, embedded_color=True) with Image.open("Tests/images/chromacheck-sbix.png") as expected: assert_image_similar(im, expected, 1) - except IOError as e: + except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") - pytest.skip("freetype compiled without libpng or unsupported") + pytest.skip("freetype compiled without libpng or SBIX support") @skip_unless_feature_version("freetype2", "2.5.1") def test_sbix_mask(self): @@ -933,9 +933,9 @@ class TestImageFont: with Image.open("Tests/images/chromacheck-sbix_mask.png") as expected: assert_image_similar(im, expected, 1) - except IOError as e: + except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") - pytest.skip("freetype compiled without libpng or unsupported") + pytest.skip("freetype compiled without libpng or SBIX support") @skip_unless_feature_version("freetype2", "2.10.0") def test_colr(self): @@ -948,7 +948,7 @@ class TestImageFont: im = Image.new("RGB", (300, 75), "white") d = ImageDraw.Draw(im) - d.text((15, 5), "Bungee", embedded_color=True, font=font) + d.text((15, 5), "Bungee", font=font, embedded_color=True) assert_image_similar_tofile(im, "Tests/images/colr_bungee.png", 21) From 8fb5fd7f633a64948c472e0716b0909a99e8029e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Feb 2021 12:14:49 +1100 Subject: [PATCH 124/325] Updated tests for changed helper imports --- Tests/test_imagefont.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 259a0f872..80ae55d32 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -911,8 +911,7 @@ class TestImageFont: d.text((50, 50), "\uE901", font=font, embedded_color=True) - with Image.open("Tests/images/chromacheck-sbix.png") as expected: - assert_image_similar(im, expected, 1) + assert_image_similar_tofile(im, "Tests/images/chromacheck-sbix.png", 1) except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") pytest.skip("freetype compiled without libpng or SBIX support") @@ -931,8 +930,7 @@ class TestImageFont: d.text((50, 50), "\uE901", (100, 0, 0), font=font) - with Image.open("Tests/images/chromacheck-sbix_mask.png") as expected: - assert_image_similar(im, expected, 1) + assert_image_similar_tofile(im, "Tests/images/chromacheck-sbix_mask.png", 1) except IOError as e: # pragma: no cover assert str(e) in ("unimplemented feature", "unknown file format") pytest.skip("freetype compiled without libpng or SBIX support") From 297789284b8680a1d15549dc2d192f3abc552160 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Feb 2021 19:32:52 +1100 Subject: [PATCH 125/325] Fixed linear_gradient and radial_gradient 32-bit modes --- Tests/test_image.py | 4 ++-- src/libImaging/Fill.c | 28 ++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 73cf7bf83..141a116f9 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -519,7 +519,7 @@ class TestImage: # Arrange target_file = "Tests/images/linear_gradient.png" - for mode in ["L", "P"]: + for mode in ["L", "P", "I", "F"]: # Act im = Image.linear_gradient(mode) @@ -545,7 +545,7 @@ class TestImage: # Arrange target_file = "Tests/images/radial_gradient.png" - for mode in ["L", "P"]: + for mode in ["L", "P", "I", "F"]: # Act im = Image.radial_gradient(mode) diff --git a/src/libImaging/Fill.c b/src/libImaging/Fill.c index e4e4b4344..f72060228 100644 --- a/src/libImaging/Fill.c +++ b/src/libImaging/Fill.c @@ -76,8 +76,21 @@ ImagingFillLinearGradient(const char *mode) { return NULL; } - for (y = 0; y < 256; y++) { - memset(im->image8[y], (unsigned char)y, 256); + if (im->image8) { + for (y = 0; y < 256; y++) { + memset(im->image8[y], (unsigned char)y, 256); + } + } else { + int x; + for (y = 0; y < 256; y++) { + for (x = 0; x < 256; x++) { + if (im->type == IMAGING_TYPE_FLOAT32) { + IMAGING_PIXEL_FLOAT32(im, x, y) = y; + } else { + IMAGING_PIXEL_INT32(im, x, y) = y; + } + } + } } return im; @@ -103,9 +116,16 @@ ImagingFillRadialGradient(const char *mode) { d = (int)sqrt( (double)((x - 128) * (x - 128) + (y - 128) * (y - 128)) * 2.0); if (d >= 255) { - im->image8[y][x] = 255; - } else { + d = 255; + } + if (im->image8) { im->image8[y][x] = d; + } else { + if (im->type == IMAGING_TYPE_FLOAT32) { + IMAGING_PIXEL_FLOAT32(im, x, y) = d; + } else { + IMAGING_PIXEL_INT32(im, x, y) = d; + } } } } From f74d7d800ced0d7c7ad149196af4c3c839e66deb Mon Sep 17 00:00:00 2001 From: Jesus Cea Date: Mon, 22 Feb 2021 23:59:51 +0100 Subject: [PATCH 126/325] The example from filter should be next to filter method docs, not in 'frombytes' --- docs/reference/Image.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index f0a368479..a3df6b75f 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -160,7 +160,6 @@ This crops the input image with the provided coordinates: .. automethod:: PIL.Image.Image.effect_spread .. automethod:: PIL.Image.Image.entropy .. automethod:: PIL.Image.Image.filter -.. automethod:: PIL.Image.Image.frombytes This blurs the input image using a filter from the ``ImageFilter`` module: @@ -173,6 +172,7 @@ This blurs the input image using a filter from the ``ImageFilter`` module: # Blur the input image using the filter ImageFilter.BLUR im_blurred = im.filter(filter=ImageFilter.BLUR) +.. automethod:: PIL.Image.Image.frombytes .. automethod:: PIL.Image.Image.getbands This helps to get the bands of the input image: From 9c09a975df31306356f27755e008cf95423844e4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 23 Feb 2021 23:08:44 +1100 Subject: [PATCH 127/325] Corrected syntax [ci skip] --- docs/handbook/writing-your-own-file-decoder.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/handbook/writing-your-own-file-decoder.rst b/docs/handbook/writing-your-own-file-decoder.rst index 03b4ca601..9b670dba8 100644 --- a/docs/handbook/writing-your-own-file-decoder.rst +++ b/docs/handbook/writing-your-own-file-decoder.rst @@ -269,7 +269,7 @@ decoder that can be used to read various packed formats into a floating point image memory. To use the bit decoder with the :py:func:`PIL.Image.frombytes` function, use -the following syntax:: +the following syntax: .. code-block:: python From 48ac517c8d48bbb3062dcbf0d7d2866dd78368a1 Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Wed, 24 Feb 2021 07:02:42 -0800 Subject: [PATCH 128/325] Fix suspicious sequence of types castings --- src/libImaging/Jpeg2KEncode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Jpeg2KEncode.c b/src/libImaging/Jpeg2KEncode.c index 5829cf37f..6e7c0a75d 100644 --- a/src/libImaging/Jpeg2KEncode.c +++ b/src/libImaging/Jpeg2KEncode.c @@ -385,7 +385,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state) { float *pq; if (len > 0) { - if ((unsigned)len > + if ((ssize_t)len > sizeof(params.tcp_rates) / sizeof(params.tcp_rates[0])) { len = sizeof(params.tcp_rates) / sizeof(params.tcp_rates[0]); } From 71f48e19b949740275a4ba0475c6d41a21266c57 Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Wed, 24 Feb 2021 08:15:25 -0800 Subject: [PATCH 129/325] Use unsigned size_t --- src/libImaging/Jpeg2KEncode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Jpeg2KEncode.c b/src/libImaging/Jpeg2KEncode.c index 6e7c0a75d..2e6b5daf0 100644 --- a/src/libImaging/Jpeg2KEncode.c +++ b/src/libImaging/Jpeg2KEncode.c @@ -385,7 +385,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state) { float *pq; if (len > 0) { - if ((ssize_t)len > + if ((size_t)len > sizeof(params.tcp_rates) / sizeof(params.tcp_rates[0])) { len = sizeof(params.tcp_rates) / sizeof(params.tcp_rates[0]); } From 114145a61ade795f31e1ab2afe090eae31264b82 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Feb 2021 22:49:11 +1100 Subject: [PATCH 130/325] Set all transparent colors to be equal --- Tests/test_image_quantize.py | 10 ++++++++++ src/libImaging/Quant.c | 23 +++++++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Tests/test_image_quantize.py b/Tests/test_image_quantize.py index af4172c88..1ceff0842 100644 --- a/Tests/test_image_quantize.py +++ b/Tests/test_image_quantize.py @@ -74,3 +74,13 @@ def test_quantize_dither_diff(): nodither = image.quantize(dither=0, palette=palette) assert dither.tobytes() != nodither.tobytes() + + +def test_transparent_colors_equal(): + im = Image.new("RGBA", (1, 2), (0, 0, 0, 0)) + px = im.load() + px[0, 1] = (255, 255, 255, 0) + + converted = im.quantize() + converted_px = converted.load() + assert converted_px[0, 0] == converted_px[0, 1] diff --git a/src/libImaging/Quant.c b/src/libImaging/Quant.c index bee5e5599..17b75b4c2 100644 --- a/src/libImaging/Quant.c +++ b/src/libImaging/Quant.c @@ -1688,9 +1688,26 @@ ImagingQuantize(Imaging im, int colors, int mode, int kmeans) { } else if (!strcmp(im->mode, "RGB") || !strcmp(im->mode, "RGBA")) { /* true colour */ + withAlpha = !strcmp(im->mode, "RGBA"); + int transparency = 0; + unsigned char r, g, b; for (i = y = 0; y < im->ysize; y++) { for (x = 0; x < im->xsize; x++, i++) { p[i].v = im->image32[y][x]; + if (withAlpha && p[i].c.a == 0) { + if (transparency == 0) { + transparency = 1; + r = p[i].c.r; + g = p[i].c.g; + b = p[i].c.b; + } else { + /* Set all subsequent transparent pixels + to the same colour as the first */ + p[i].c.r = r; + p[i].c.g = g; + p[i].c.b = b; + } + } } } @@ -1725,9 +1742,6 @@ ImagingQuantize(Imaging im, int colors, int mode, int kmeans) { kmeans); break; case 2: - if (!strcmp(im->mode, "RGBA")) { - withAlpha = 1; - } result = quantize_octree( p, im->xsize * im->ysize, @@ -1739,9 +1753,6 @@ ImagingQuantize(Imaging im, int colors, int mode, int kmeans) { break; case 3: #ifdef HAVE_LIBIMAGEQUANT - if (!strcmp(im->mode, "RGBA")) { - withAlpha = 1; - } result = quantize_pngquant( p, im->xsize, From 80e570bb9927f173065769b7ef1c21409729e953 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Feb 2021 23:41:31 +1100 Subject: [PATCH 131/325] Added context managers --- docs/reference/Image.rst | 68 ++++++++++++------------ docs/reference/ImageDraw.rst | 26 ++++----- docs/reference/ImageMath.rst | 8 +-- docs/reference/c_extension_debugging.rst | 4 +- 4 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index a3df6b75f..c4e8f37a3 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -22,8 +22,8 @@ Windows). .. code-block:: python from PIL import Image - im = Image.open("hopper.jpg") - im.rotate(45).show() + with Image.open("hopper.jpg") as im: + im.rotate(45).show() Create thumbnails ^^^^^^^^^^^^^^^^^ @@ -40,9 +40,9 @@ current directory preserving aspect ratios with 128x128 max resolution. for infile in glob.glob("*.jpg"): file, ext = os.path.splitext(infile) - im = Image.open(infile) - im.thumbnail(size) - im.save(file + ".thumbnail", "JPEG") + with Image.open(infile) as im: + im.thumbnail(size) + im.save(file + ".thumbnail", "JPEG") Functions --------- @@ -145,15 +145,15 @@ This crops the input image with the provided coordinates: from PIL import Image - im = Image.open("hopper.jpg") + with Image.open("hopper.jpg") as im: - # The crop method from the Image module takes four coordinates as input. - # The right can also be represented as (left+width) - # and lower can be represented as (upper+height). - (left, upper, right, lower) = (20, 20, 100, 100) + # The crop method from the Image module takes four coordinates as input. + # The right can also be represented as (left+width) + # and lower can be represented as (upper+height). + (left, upper, right, lower) = (20, 20, 100, 100) - # Here the image "im" is cropped and assigned to new variable im_crop - im_crop = im.crop((left, upper, right, lower)) + # Here the image "im" is cropped and assigned to new variable im_crop + im_crop = im.crop((left, upper, right, lower)) .. automethod:: PIL.Image.Image.draft @@ -167,10 +167,10 @@ This blurs the input image using a filter from the ``ImageFilter`` module: from PIL import Image, ImageFilter - im = Image.open("hopper.jpg") + with Image.open("hopper.jpg") as im: - # Blur the input image using the filter ImageFilter.BLUR - im_blurred = im.filter(filter=ImageFilter.BLUR) + # Blur the input image using the filter ImageFilter.BLUR + im_blurred = im.filter(filter=ImageFilter.BLUR) .. automethod:: PIL.Image.Image.frombytes .. automethod:: PIL.Image.Image.getbands @@ -181,8 +181,8 @@ This helps to get the bands of the input image: from PIL import Image - im = Image.open("hopper.jpg") - print(im.getbands()) # Returns ('R', 'G', 'B') + with Image.open("hopper.jpg") as im: + print(im.getbands()) # Returns ('R', 'G', 'B') .. automethod:: PIL.Image.Image.getbbox @@ -192,9 +192,9 @@ This helps to get the bounding box coordinates of the input image: from PIL import Image - im = Image.open("hopper.jpg") - print(im.getbbox()) - # Returns four coordinates in the format (left, upper, right, lower) + with Image.open("hopper.jpg") as im: + print(im.getbbox()) + # Returns four coordinates in the format (left, upper, right, lower) .. automethod:: PIL.Image.Image.getchannel .. automethod:: PIL.Image.Image.getcolors @@ -222,11 +222,11 @@ This resizes the given image from ``(width, height)`` to ``(width/2, height/2)`` from PIL import Image - im = Image.open("hopper.jpg") + with Image.open("hopper.jpg") as im: - # Provide the target width and height of the image - (width, height) = (im.width // 2, im.height // 2) - im_resized = im.resize((width, height)) + # Provide the target width and height of the image + (width, height) = (im.width // 2, im.height // 2) + im_resized = im.resize((width, height)) .. automethod:: PIL.Image.Image.rotate @@ -236,12 +236,12 @@ This rotates the input image by ``theta`` degrees counter clockwise: from PIL import Image - im = Image.open("hopper.jpg") + with Image.open("hopper.jpg") as im: - # Rotate the image by 60 degrees counter clockwise - theta = 60 - # Angle is in degrees counter clockwise - im_rotated = im.rotate(angle=theta) + # Rotate the image by 60 degrees counter clockwise + theta = 60 + # Angle is in degrees counter clockwise + im_rotated = im.rotate(angle=theta) .. automethod:: PIL.Image.Image.save .. automethod:: PIL.Image.Image.seek @@ -260,12 +260,12 @@ This flips the input image by using the :data:`FLIP_LEFT_RIGHT` method. from PIL import Image - im = Image.open("hopper.jpg") + with Image.open("hopper.jpg") as im: - # Flip the image from left to right - im_flipped = im.transpose(method=Image.FLIP_LEFT_RIGHT) - # To flip the image from top to bottom, - # use the method "Image.FLIP_TOP_BOTTOM" + # Flip the image from left to right + im_flipped = im.transpose(method=Image.FLIP_LEFT_RIGHT) + # To flip the image from top to bottom, + # use the method "Image.FLIP_TOP_BOTTOM" .. automethod:: PIL.Image.Image.verify diff --git a/docs/reference/ImageDraw.rst b/docs/reference/ImageDraw.rst index 57d1c2dda..6a7ad70cc 100644 --- a/docs/reference/ImageDraw.rst +++ b/docs/reference/ImageDraw.rst @@ -81,24 +81,24 @@ Example: Draw Partial Opacity Text from PIL import Image, ImageDraw, ImageFont # get an image - base = Image.open("Pillow/Tests/images/hopper.png").convert("RGBA") + with Image.open("Pillow/Tests/images/hopper.png").convert("RGBA") as base: - # make a blank image for the text, initialized to transparent text color - txt = Image.new("RGBA", base.size, (255,255,255,0)) + # make a blank image for the text, initialized to transparent text color + txt = Image.new("RGBA", base.size, (255,255,255,0)) - # get a font - fnt = ImageFont.truetype("Pillow/Tests/fonts/FreeMono.ttf", 40) - # get a drawing context - d = ImageDraw.Draw(txt) + # get a font + fnt = ImageFont.truetype("Pillow/Tests/fonts/FreeMono.ttf", 40) + # get a drawing context + d = ImageDraw.Draw(txt) - # draw text, half opacity - d.text((10,10), "Hello", font=fnt, fill=(255,255,255,128)) - # draw text, full opacity - d.text((10,60), "World", font=fnt, fill=(255,255,255,255)) + # draw text, half opacity + d.text((10,10), "Hello", font=fnt, fill=(255,255,255,128)) + # draw text, full opacity + d.text((10,60), "World", font=fnt, fill=(255,255,255,255)) - out = Image.alpha_composite(base, txt) + out = Image.alpha_composite(base, txt) - out.show() + out.show() Example: Draw Multiline Text ---------------------------- diff --git a/docs/reference/ImageMath.rst b/docs/reference/ImageMath.rst index 821f60cf5..63f88fddd 100644 --- a/docs/reference/ImageMath.rst +++ b/docs/reference/ImageMath.rst @@ -15,11 +15,11 @@ Example: Using the :py:mod:`~PIL.ImageMath` module from PIL import Image, ImageMath - im1 = Image.open("image1.jpg") - im2 = Image.open("image2.jpg") + with Image.open("image1.jpg") as im1: + with Image.open("image2.jpg") as im2: - out = ImageMath.eval("convert(min(a, b), 'L')", a=im1, b=im2) - out.save("result.png") + out = ImageMath.eval("convert(min(a, b), 'L')", a=im1, b=im2) + out.save("result.png") .. py:function:: eval(expression, environment) diff --git a/docs/reference/c_extension_debugging.rst b/docs/reference/c_extension_debugging.rst index 893acc699..527b9d7bc 100644 --- a/docs/reference/c_extension_debugging.rst +++ b/docs/reference/c_extension_debugging.rst @@ -63,8 +63,8 @@ Take your test image, and make a really simple harness. :: from PIL import Image - im = Image.open(path) - im.load() + with Image.open(path) as im: + im.load() - Run this through valgrind, but note that python triggers some issues on its own, so you're looking for items within the Pillow hierarchy From 3e670d7737bad0eedd959b8b8d989ed10d0fd625 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 26 Feb 2021 20:59:11 +1100 Subject: [PATCH 132/325] Migrated from deprecated numpy bool and float --- Tests/test_numpy.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Tests/test_numpy.py b/Tests/test_numpy.py index 550d02eea..def7adf3f 100644 --- a/Tests/test_numpy.py +++ b/Tests/test_numpy.py @@ -31,7 +31,7 @@ def test_numpy_to_image(): return i # Check supported 1-bit integer formats - assert_image(to_image(numpy.bool, 1, 1), "1", TEST_IMAGE_SIZE) + assert_image(to_image(bool, 1, 1), "1", TEST_IMAGE_SIZE) assert_image(to_image(numpy.bool8, 1, 1), "1", TEST_IMAGE_SIZE) # Check supported 8-bit integer formats @@ -65,7 +65,7 @@ def test_numpy_to_image(): to_image(numpy.int64) # Check floating-point formats - assert_image(to_image(numpy.float), "F", TEST_IMAGE_SIZE) + assert_image(to_image(float), "F", TEST_IMAGE_SIZE) with pytest.raises(TypeError): to_image(numpy.float16) assert_image(to_image(numpy.float32), "F", TEST_IMAGE_SIZE) @@ -191,7 +191,7 @@ def test_putdata(): def test_roundtrip_eye(): for dtype in ( - numpy.bool, + bool, numpy.bool8, numpy.int8, numpy.int16, @@ -199,7 +199,7 @@ def test_roundtrip_eye(): numpy.uint8, numpy.uint16, numpy.uint32, - numpy.float, + float, numpy.float32, numpy.float64, ): @@ -218,7 +218,7 @@ def test_zero_size(): def test_bool(): # https://github.com/python-pillow/Pillow/issues/2044 - a = numpy.zeros((10, 2), dtype=numpy.bool) + a = numpy.zeros((10, 2), dtype=bool) a[0][0] = True im2 = Image.fromarray(a) From 5f92636bd07268a552a4b0d49f4c717918b38a1d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 27 Feb 2021 00:33:23 +1100 Subject: [PATCH 133/325] Removed comment --- src/PIL/ImageShow.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index 1ada8252c..fceb65378 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -69,7 +69,6 @@ class Viewer: Converts the given image to the target format and displays it. """ - # save temporary image to disk if not ( image.mode in ("1", "RGBA") or (self.format == "PNG" and image.mode in ("I;16", "LA")) From cf5b9a77b378b23659e4b707fbec0a52afb7baa2 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 11:22:26 +0100 Subject: [PATCH 134/325] Add Valgrind GHA --- .github/workflows/test-valgrind.yml | 72 +++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/test-valgrind.yml diff --git a/.github/workflows/test-valgrind.yml b/.github/workflows/test-valgrind.yml new file mode 100644 index 000000000..fa7f459b6 --- /dev/null +++ b/.github/workflows/test-valgrind.yml @@ -0,0 +1,72 @@ +name: Test Valgrind + +# like the docker tests, but running valgrind only on *.c/*.h changes. + +on: + push: + paths: + - "**.yml" # testing, remove me + - "**.c" + - "**.h" + pull_request + paths: + - "**.yml" # testing, remove me + - "**.c" + - "**.h" + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + docker: [ + ubuntu-20.04-focal-amd64-valgrind, + ] + dockerTag: [master] + + name: ${{ matrix.docker }} + + steps: + - uses: actions/checkout@v2 + + - name: Build system information + run: python3 .github/workflows/system-info.py + + - name: Docker pull + run: | + docker pull pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} + + - name: Docker build + run: | + # The Pillow user in the docker container is UID 1000 + sudo chown -R 1000 $GITHUB_WORKSPACE + docker run --name pillow_container -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} + sudo chown -R runner $GITHUB_WORKSPACE + + - name: After success + run: | + PATH="$PATH:~/.local/bin" + docker start pillow_container + pil_path=`docker exec pillow_container /vpy3/bin/python -c 'import os, PIL;print(os.path.realpath(os.path.dirname(PIL.__file__)))'` + docker stop pillow_container + sudo mkdir -p $pil_path + sudo cp src/PIL/*.py $pil_path + .ci/after_success.sh + env: + MATRIX_DOCKER: ${{ matrix.docker }} + + - name: Upload coverage + uses: codecov/codecov-action@v1 + with: + flags: GHA_Docker + name: ${{ matrix.docker }} + + success: + needs: build + runs-on: ubuntu-latest + name: Valgrind Test Successful + steps: + - name: Success + run: echo Valgrind Test Successful From ba1555a48562722b8c5738a076ce0f569a2d467f Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 11:31:43 +0100 Subject: [PATCH 135/325] syntax --- .github/workflows/test-valgrind.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-valgrind.yml b/.github/workflows/test-valgrind.yml index fa7f459b6..9e2a90898 100644 --- a/.github/workflows/test-valgrind.yml +++ b/.github/workflows/test-valgrind.yml @@ -8,7 +8,7 @@ on: - "**.yml" # testing, remove me - "**.c" - "**.h" - pull_request + pull_request: paths: - "**.yml" # testing, remove me - "**.c" From f194d9e6e220ef4f7eedae3d824e8ff0ef068abf Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 11:46:19 +0100 Subject: [PATCH 136/325] Keep errors if they're "known" --- .github/workflows/cifuzz.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 04fc152a0..fbfd673c0 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -12,15 +12,22 @@ jobs: language: python dry-run: false - name: Run Fuzzers + id: run uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'pillow' fuzz-seconds: 600 language: python dry-run: false - - name: Upload Crash - uses: actions/upload-artifact@v1 + - name: Upload New Crash + uses: actions/upload-artifact@v2 if: failure() && steps.build.outcome == 'success' with: name: artifacts path: ./out/artifacts + - name: Upload Legacy Crash + uses: actions/upload-artifact@v2 + if: steps.run.outcome == 'success': + with: + name: crash + path: ./out/crash* From 061012c46aca37fe30ad960171b999b031e2c04b Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 11:52:52 +0100 Subject: [PATCH 137/325] Stage Title Change --- .github/workflows/test-valgrind.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-valgrind.yml b/.github/workflows/test-valgrind.yml index 9e2a90898..52174d18d 100644 --- a/.github/workflows/test-valgrind.yml +++ b/.github/workflows/test-valgrind.yml @@ -38,7 +38,7 @@ jobs: run: | docker pull pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} - - name: Docker build + - name: Build and Run Valgrind run: | # The Pillow user in the docker container is UID 1000 sudo chown -R 1000 $GITHUB_WORKSPACE From 2d52a9fcf20a0e601da0ec5d990d4db909c69265 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 11:54:33 +0100 Subject: [PATCH 138/325] Syntax --- .github/workflows/cifuzz.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index fbfd673c0..076f5300d 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -27,7 +27,7 @@ jobs: path: ./out/artifacts - name: Upload Legacy Crash uses: actions/upload-artifact@v2 - if: steps.run.outcome == 'success': + if: steps.run.outcome == 'success' with: name: crash path: ./out/crash* From 3c2893cdf1625700dd8fecf79e24feed9f92909d Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 12:00:18 +0100 Subject: [PATCH 139/325] No coverage from the valgrind run --- .github/workflows/test-valgrind.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.github/workflows/test-valgrind.yml b/.github/workflows/test-valgrind.yml index 52174d18d..be5881a51 100644 --- a/.github/workflows/test-valgrind.yml +++ b/.github/workflows/test-valgrind.yml @@ -45,24 +45,6 @@ jobs: docker run --name pillow_container -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} sudo chown -R runner $GITHUB_WORKSPACE - - name: After success - run: | - PATH="$PATH:~/.local/bin" - docker start pillow_container - pil_path=`docker exec pillow_container /vpy3/bin/python -c 'import os, PIL;print(os.path.realpath(os.path.dirname(PIL.__file__)))'` - docker stop pillow_container - sudo mkdir -p $pil_path - sudo cp src/PIL/*.py $pil_path - .ci/after_success.sh - env: - MATRIX_DOCKER: ${{ matrix.docker }} - - - name: Upload coverage - uses: codecov/codecov-action@v1 - with: - flags: GHA_Docker - name: ${{ matrix.docker }} - success: needs: build runs-on: ubuntu-latest From 95884c6b2d99364ba9424671dad0c4253e989d30 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 27 Feb 2021 12:54:38 +0100 Subject: [PATCH 140/325] Riun on .c/.h --- .github/workflows/cifuzz.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 076f5300d..96506fabe 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -1,5 +1,16 @@ name: CIFuzz -on: [push,pull_request] +on: + push: + paths: + - "**.yml" # testing, remove me + - "**.c" + - "**.h" + pull_request: + paths: + - "**.yml" # testing, remove me + - "**.c" + - "**.h" + jobs: Fuzzing: runs-on: ubuntu-latest From 70fb148fc45fe72302445450190907ee1d161539 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 27 Feb 2021 15:14:00 +0100 Subject: [PATCH 141/325] fix merge --- winbuild/fribidi.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winbuild/fribidi.cmake b/winbuild/fribidi.cmake index acb614bfa..27b8d17a8 100644 --- a/winbuild/fribidi.cmake +++ b/winbuild/fribidi.cmake @@ -99,4 +99,4 @@ add_library(fribidi SHARED ${FRIBIDI_SOURCES_GENERATED}) fribidi_definitions(fribidi) target_compile_definitions(fribidi - PUBLIC "-DFRIBIDI_ENTRY=__declspec(dllexport)") + PUBLIC "-DFRIBIDI_BUILD") From e4cc42265dc4e00bccdf960f13fbbd6dfcb469dc Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 27 Feb 2021 16:52:46 +0100 Subject: [PATCH 142/325] add Raqm build configuration info to build summary --- setup.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/setup.py b/setup.py index cc902c152..6c4840c75 100755 --- a/setup.py +++ b/setup.py @@ -304,8 +304,8 @@ class pil_build_ext(build_ext): def want(self, feat): return getattr(self, feat) is None - def want_system(self, feat): - return feat not in self.vendor + def want_vendor(self, feat): + return feat in self.vendor def __iter__(self): yield from self.features @@ -710,14 +710,14 @@ class pil_build_ext(build_ext): _add_directory(self.compiler.include_dirs, subdir, 0) if feature.freetype and feature.want("raqm"): - if feature.want_system("raqm"): # want system Raqm + if not feature.want_vendor("raqm"): # want system Raqm _dbg("Looking for Raqm") if _find_include_file(self, "raqm.h"): if _find_library_file(self, "raqm"): feature.raqm = "raqm" elif _find_library_file(self, "libraqm"): feature.raqm = "libraqm" - else: # want to build Raqm + else: # want to build Raqm from src/thirdparty _dbg("Looking for HarfBuzz") feature.harfbuzz = None hb_dir = _find_include_dir(self, "harfbuzz", "hb.h") @@ -727,7 +727,7 @@ class pil_build_ext(build_ext): if _find_library_file(self, "harfbuzz"): feature.harfbuzz = "harfbuzz" if feature.harfbuzz: - if feature.want_system("fribidi"): # want system FriBiDi + if not feature.want_vendor("fribidi"): # want system FriBiDi _dbg("Looking for FriBiDi") feature.fribidi = None fribidi_dir = _find_include_dir(self, "fribidi", "fribidi.h") @@ -739,7 +739,7 @@ class pil_build_ext(build_ext): if _find_library_file(self, "fribidi"): feature.fribidi = "fribidi" feature.raqm = True - else: # want to build FriBiDi shim + else: # want to build FriBiDi shim from src/thirdparty feature.raqm = True if feature.want("lcms"): @@ -841,18 +841,18 @@ class pil_build_ext(build_ext): libs = ["freetype"] defs = [] if feature.raqm: - if feature.want_system("raqm"): # using system Raqm + if not feature.want_vendor("raqm"): # using system Raqm defs.append(("HAVE_RAQM", None)) defs.append(("HAVE_RAQM_SYSTEM", None)) libs.append(feature.raqm) - else: # building Raqm + else: # building Raqm from src/thirdparty defs.append(("HAVE_RAQM", None)) srcs.append("src/thirdparty/raqm/raqm.c") libs.append(feature.harfbuzz) - if feature.want_system("fribidi"): # using system FriBiDi + if not feature.want_vendor("fribidi"): # using system FriBiDi defs.append(("HAVE_FRIBIDI_SYSTEM", None)) libs.append(feature.fribidi) - else: # building our FriBiDi shim + else: # building FriBiDi shim from src/thirdparty srcs.append("src/thirdparty/fribidi-shim/fribidi.c") self._update_extension("PIL._imagingft", libs, defs, srcs) @@ -902,6 +902,12 @@ class pil_build_ext(build_ext): print(f" [{v.strip()}") print("-" * 68) + raqm_extra_info = "" + if feature.want_vendor("raqm"): + raqm_extra_info += "bundled" + if feature.want_vendor("fribidi"): + raqm_extra_info += ", FriBiDi shim" + options = [ (feature.jpeg, "JPEG"), (feature.jpeg2000, "OPENJPEG (JPEG2000)", feature.openjpeg_version), @@ -909,7 +915,7 @@ class pil_build_ext(build_ext): (feature.imagequant, "LIBIMAGEQUANT"), (feature.tiff, "LIBTIFF"), (feature.freetype, "FREETYPE2"), - (feature.raqm, "RAQM (Text shaping)"), # TODO!!! + (feature.raqm, "RAQM (Text shaping)", raqm_extra_info), (feature.lcms, "LITTLECMS2"), (feature.webp, "WEBP"), (feature.webpmux, "WEBPMUX"), @@ -919,10 +925,10 @@ class pil_build_ext(build_ext): all = 1 for option in options: if option[0]: - version = "" + extra_info = "" if len(option) >= 3 and option[2]: - version = f" ({option[2]})" - print(f"--- {option[1]} support available{version}") + extra_info = f" ({option[2]})" + print(f"--- {option[1]} support available{extra_info}") else: print(f"*** {option[1]} support not available") all = 0 From f74d0465748174b94ef7cedcdf54999b540517e7 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 28 Feb 2021 17:09:27 +0100 Subject: [PATCH 143/325] Removing the .yml files from the triggers --- .github/workflows/test-valgrind.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test-valgrind.yml b/.github/workflows/test-valgrind.yml index be5881a51..7b8474d0f 100644 --- a/.github/workflows/test-valgrind.yml +++ b/.github/workflows/test-valgrind.yml @@ -5,12 +5,10 @@ name: Test Valgrind on: push: paths: - - "**.yml" # testing, remove me - "**.c" - "**.h" pull_request: paths: - - "**.yml" # testing, remove me - "**.c" - "**.h" From aa0b982ef61b1ee4df7ff312b097c1e4ca36eae4 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 28 Feb 2021 17:17:33 +0100 Subject: [PATCH 144/325] Added failure if out/crash-* exists --- .github/workflows/cifuzz.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 96506fabe..e158bd84d 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -42,3 +42,8 @@ jobs: with: name: crash path: ./out/crash* + - name: Fail on legacy crash + if: success() + run: | + [ ! -e out/crash-* ] + echo No legacy crash detected From 3fee28eb9479bf7d59e0fa08068f9cc4a6e2f04c Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 3 Jan 2021 21:35:32 +0100 Subject: [PATCH 145/325] Incorrect error code checking in TiffDecode.c * since Pillow 8.1.0 * CVE-2021-25289 --- ...-0e16d3bfb83be87356d026d66919deaefca44dac.tif | Bin 0 -> 4567 bytes ...-1152ec2d1a1a71395b6f2ce6721c38924d025bf3.tif | Bin 0 -> 4221 bytes Tests/test_tiff_crashes.py | 2 ++ src/libImaging/TiffDecode.c | 3 +-- 4 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Tests/images/crash-0e16d3bfb83be87356d026d66919deaefca44dac.tif create mode 100644 Tests/images/crash-1152ec2d1a1a71395b6f2ce6721c38924d025bf3.tif diff --git a/Tests/images/crash-0e16d3bfb83be87356d026d66919deaefca44dac.tif b/Tests/images/crash-0e16d3bfb83be87356d026d66919deaefca44dac.tif new file mode 100644 index 0000000000000000000000000000000000000000..f59aab21afe39d2926aad3eeb896b7d147d510f5 GIT binary patch literal 4567 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 Il8QY0FD*Gu-2eap literal 0 HcmV?d00001 diff --git a/Tests/images/crash-1152ec2d1a1a71395b6f2ce6721c38924d025bf3.tif b/Tests/images/crash-1152ec2d1a1a71395b6f2ce6721c38924d025bf3.tif new file mode 100644 index 0000000000000000000000000000000000000000..c8d6e2aada30caad02b460a088519afaec3706d8 GIT binary patch literal 4221 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 literal 0 HcmV?d00001 diff --git a/Tests/test_tiff_crashes.py b/Tests/test_tiff_crashes.py index d0de4b305..eb2533466 100644 --- a/Tests/test_tiff_crashes.py +++ b/Tests/test_tiff_crashes.py @@ -24,6 +24,8 @@ from .helper import on_ci "Tests/images/crash_1.tif", "Tests/images/crash_2.tif", "Tests/images/crash-2020-10-test.tif", + "Tests/images/crash-1152ec2d1a1a71395b6f2ce6721c38924d025bf3.tif", + "Tests/images/crash-0e16d3bfb83be87356d026d66919deaefca44dac.tif", ], ) @pytest.mark.filterwarnings("ignore:Possibly corrupt EXIF data") diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 7f14b5a34..2f92824c3 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -282,8 +282,7 @@ _decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { img.row_offset = state->y; rows_to_read = min(rows_per_strip, img.height - state->y); - if (TIFFRGBAImageGet(&img, (UINT32 *)state->buffer, img.width, rows_to_read) == - -1) { + if (!TIFFRGBAImageGet(&img, (UINT32 *)state->buffer, img.width, rows_to_read)) { TRACE(("Decode Error, y: %d\n", state->y)); state->errcode = IMAGING_CODEC_BROKEN; goto decodeycbcr_err; From 4853e522bddbec66022c0915b9a56255d0188bf9 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 2 Jan 2021 16:07:36 +0100 Subject: [PATCH 146/325] Fix OOB read in SgiRleDecode.c * From Pillow 4.3.0->8.1.0 * CVE-2021-25293 --- ...5703f71a0f0094873a3e0e82c9f798161171b8.sgi | Bin 0 -> 13703 bytes ...834657ee604b8797bf99eac6a194c124a9a8ba.sgi | Bin 0 -> 12789 bytes ...4d9c7ec485ffb76a90eeaab191ef69a2a3a3cd.sgi | Bin 0 -> 549 bytes ...cf1c97b8fe42a6c68f1fb0b978530c98d57ced.sgi | Bin 0 -> 21017 bytes ...2e64d4f3f76d7465b6af535283029eda211259.sgi | Bin 0 -> 18364 bytes ...b2595b8b0b92cc5f38b6635e98e3a119ade807.sgi | Bin 0 -> 12748 bytes ...8bfa78b19721225425530c5946217720d7df4e.sgi | Bin 0 -> 12744 bytes Tests/test_sgi_crash.py | 7 ++ src/libImaging/SgiRleDecode.c | 91 +++++++++++++++--- 9 files changed, 84 insertions(+), 14 deletions(-) create mode 100644 Tests/images/crash-465703f71a0f0094873a3e0e82c9f798161171b8.sgi create mode 100644 Tests/images/crash-64834657ee604b8797bf99eac6a194c124a9a8ba.sgi create mode 100644 Tests/images/crash-754d9c7ec485ffb76a90eeaab191ef69a2a3a3cd.sgi create mode 100644 Tests/images/crash-abcf1c97b8fe42a6c68f1fb0b978530c98d57ced.sgi create mode 100644 Tests/images/crash-b82e64d4f3f76d7465b6af535283029eda211259.sgi create mode 100644 Tests/images/crash-c1b2595b8b0b92cc5f38b6635e98e3a119ade807.sgi create mode 100644 Tests/images/crash-db8bfa78b19721225425530c5946217720d7df4e.sgi diff --git a/Tests/images/crash-465703f71a0f0094873a3e0e82c9f798161171b8.sgi b/Tests/images/crash-465703f71a0f0094873a3e0e82c9f798161171b8.sgi new file mode 100644 index 0000000000000000000000000000000000000000..81ae1182391fcfe8adfab2bb029cb68e90d95342 GIT binary patch literal 13703 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 literal 0 HcmV?d00001 diff --git a/Tests/images/crash-754d9c7ec485ffb76a90eeaab191ef69a2a3a3cd.sgi b/Tests/images/crash-754d9c7ec485ffb76a90eeaab191ef69a2a3a3cd.sgi new file mode 100644 index 0000000000000000000000000000000000000000..8e093bdfd72c786e508ca80f703f6b35b4f01573 GIT binary patch literal 549 zcmZR)#mLCO%)khQ%nT6lA4=1Q+WCTsJ{Cc2VUl2AV3G!6IUpb8V=!h+2Ks*l1Kgn! J%)}VS005jE1;zjX literal 0 HcmV?d00001 diff --git a/Tests/images/crash-abcf1c97b8fe42a6c68f1fb0b978530c98d57ced.sgi b/Tests/images/crash-abcf1c97b8fe42a6c68f1fb0b978530c98d57ced.sgi new file mode 100644 index 0000000000000000000000000000000000000000..790cb37449eab15d127dedb85a7f67e4b74f0d74 GIT binary patch literal 21017 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 z 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 S^Q3AyOqwhX7k(xzRR0SwB${6U literal 0 HcmV?d00001 diff --git a/Tests/images/crash-db8bfa78b19721225425530c5946217720d7df4e.sgi b/Tests/images/crash-db8bfa78b19721225425530c5946217720d7df4e.sgi new file mode 100644 index 0000000000000000000000000000000000000000..b02aacea9c387eccca911b300cf836a46b11da89 GIT binary patch literal 12744 zcmeI1dt6W1|Lv;J@UNNH5Ec+Lda%8sBsNK{X7Vb z33JNZQJEvvxltSM!w?3Y58<6~2umX&e7PIKhEouJ zz6KGhAd+`N)LR=OJxhp&U4&?iJ48025IKy5Xpufd-m@Uuumhrqrx5Mcg6NnVMCm>d zT?vNh_8N#DyFm1MEJPn!h`y;pEDnRXXAZ<#`4A7vgm^?K#N!Pho}3P`gBHXtZV)fq z4Y6MW#DR$rhet!a!xiE<4Tz8BLY$%r@%ccAuRejez!>7x zGY>H4Pr+C@gRv8WnO+WN&J8g0lfW#B1+z2;%*w-HR-Xs6p4x?|feCj96O{vImpYjJ z6hB@c4Bd}Rst=g+VlY=~z~rfdDU1N~SO?6DHZZj=U_Q}UogAd%JV<-4fwXTWqyx@C zI@|zKvvrVKIYK(M4borDAa!+tbooU{SNlO4*a2y{H>BIMA&u>XG=b_*`#_o*59yV1 zNNEkgcnNEF>GUh`o^Q@PRCL24wNnFPVWX?KNZ%g;Mb6cH$%Rifqb7feng zg+&zyZXaH0fUgAPG!ZlL+TlM(ZXWP;Z6-inAJD#3ji zN(2HX2EgcKz`_Wy&IP8<178gLh;Ec&Dy`citboTs!dSzTiEb23~bAcum>h zb?;8v?Us5LmlGFpFI4;tYW&dDou^od-d* zD+F;K5G0X%={^?Zkh5<`Kv23Hf~vz1(0hWQJsm>fc?eaqA=Ju+(16@K@&<&KIS@{} z2;sa82tCNBeg`28CbvdLK)81ugbC9iOeu%(k_v=3^dY=&4B=B#2;W#k*ys%5SAU3v zdm-wP36W+gL<3bJGC2s*cyEZNY?ep;-_oRYIIT7UD|>A6N$*CFS;EUAnstY7H$-8&R??r)-JT`)){0SsgYan^s4avK8kTjJ;(nj&W zk#pe%Mq~$uo+}JTZd45c)0=$Rw-k&HxpV+|vW(gc3kPFDjM@ukOcfZ5bTHNyV5X2K zXO@8ZH4Dsw1Tc%KemSu!3C!ADFdN>32_<(&go24CPwyEE<^Z)#2nKVK;-^#pi^*WF zQQ!P(Fhw3E{fNX3kWLDvj**in#U<{eF46?=K;}y3dTb%^i zh7ia$&x7ob5s>ZTAd72+ETIsxQ^}BJghG}@{c=Y_cAM&os9#wgWG@pTs||+iqZ4Fb zDCTz==`j zshf5~zBLK*o#f*EQfXmV=UxZevs#;LVmju@`vQ*XB6+%ZO9u`A#a`sc}F~0 zel=M6K(If#g6$gx_UA;fL&%H2kTb_V0c#Zq)?O3rY;x&*JFsp~!FrN=eJNc(0&IvM z*x%E^M!yHUmmGbFT%MQ!_H-rKb6Q~O9I)5pz~+~NeZYc!Yz?*|80?$#U>m4Uvp(3b zAo$*k_rbBTg8;T@qn{oq+OiC|bgd+D06a^IH0eSr~#j9|H;>}1X z8dxZrs-gHoeYzvTiR{6#d~mAdrat5wdN<<+Mu8iq4(^vYaAQ@$S(5u~8^BGs12-og z-26sxZpPr2xq-ykso(FeZ16(1+E~ffNG=7;sxbjqRFDUlQ8uD*Cx%V(Zb9iG$L=dIqTs^{% zxJJ%p31{LIK{0B`*)_X~Dsrw7L1Wh5CFjyubu@MzjayIauAfEFn(E(^cgGTRP8yz& zb7^kx))2YmT#j%d&JgY7URz=>@XIVg` zz$R-Tg1o%F6WHer98Ly~Q=b$|Ad||oWx!vtz#RwRA?*6M+AGt!=2eit>&WM=#o+Ta!B_Z$-=`e>f!5%U$OV7GSn#K&gFlbGt56ICY&ZlO!4T-Lfxwu&YEFK& zBhNaLf8EHr-sIi@BAi?tLtdtRs^Ap0J5TL%$=iid5Il{Apqk<}or0i~{K}AL)yTIx zgD}nq!lV%po~1o;Hubqx3Sn^tgwLxX ztZ9R=nT4>+5F*A7qMtk=(vE^?a5Y4uLLi#B4x;Jp5YaUiEq@QuZ~EvJ<^|Et42TZ5 zLUcwAqDy)Z<>^55kevIX38IF4h`y*m%%}aXq8s8qDvJt2N_9^#kOub%wf>cR^BeV}*I6cv{2mz(W=A`ieXd{* zHG)Yj1#^ZE<{bI{vMrduoWb0=2&Tje%yS`_YVvd=3#L63Qo#sF71fYxEQ3^!7}5>t zDB9~zkU?rk4t5|XFPH_XM;xR+)OLL#q?>IajY@!YPYt9;^dU{A_GfoMnw1af4RuKG zQQc#5c;!JzYZD=Dx(n&o3dr~+kjc+LrsfY>KTXI61VT0}60%V~kd3E3tBnq1(`ZlZ z_y95&YUe?9-ky;8TR|4A1=$v=+g1$Oo^;3#?SSmK7i1~cko~C*S#~>QHz@vH@^}gP zz1#z`*Orhq&^Vu3A^S@ETiz+ir4f+#Tn2d`TgY`sKt9+2aua>X#~4CB(G2n_v|pX= z4f%X>^Wsd%SCm7(h7Wll)rZl3ILZm~-Bf=t4Dv*B^_e`#Gut4)Vg&h3D!-QjIX%1O z6_$`!Q;heekbl;Myo)?4N(QT_0jsV7R@(~fz-eHORKbp-ed&02ur^|_^zDvy91C{A z1F%b6zphQnY(%fUuc-wZ?x~^)817^4(#a-g$B8^e<2hD+o3Shhho$$D9nSQm~;vX z`%)-oQ``CETsJEymb*jY69&a^)F(I#iY>Hvj;e!VR|gaa7$_1{p*Tr<;&k%&1u?RY z#ChOOUIdrg0WMPq+$C~b4vn8nUcF@uj=lwQ_Y=T935BfB*?jZ3&M+_ zJuu(@Z~XpF|0(mPV`Z5Sp)3m_B8h`U0-=nbPm~i4L>p)`NoW%^p1_>2CtL^`OF%IM zVZ;uCVhGL<7l~^`AyGZ?*KwtpKu_dMQ9MpwyK1( zpO_F*tZt%%P|oikl*gU_LfJ-ntW5ugy8g&3(;q13^KYn78UKHwtWzHUyNxpccbtFX z{z(5B>z_H$dIdGa4I-1sAX16+zmJt=%5!!8?^KyDA*w09j4&r=5gr7cYoQN8*Y5|; zlqzu`W)Sv-EkSb=6cg77Io47{MIpop3$BQB;F3+E!_40NTG%k z6D33?K`{k-1hx5b4R%u+LnyCT#6UvXMp;L55U3K$ z>!8fjTm;H~N~oNk^*`GExGt3EH~vipr8kIVLOI8H;_%<8GOsNA2j%g<`7g@wvQa`)-YXLbeQm)D?c@aXZgT#Nz zbQ{SVotbVi8r0C`v)ovL=RZ0p%gZ09j zG$z~H+&?i+Gi$loW7x7^R=KE4U%Uyp_S>|=?mf(PWWa5e%P)rw8P?a_&9Y>R#J&&xkM?g3rOz%e-}zwDp#3MteeYabv-Owx z;dx6|+iDeDSn+7tt%k=T-64CY3iph^vaZXwX4>VKzx_2pd&!oES#E!YRa8_AxA?BL z*VjvA4W00z?LM!H7vEI7XnFhUxb>6Se$FlqiEh#6MP(_AK32X6;(p&J4^wfE4r;AC z7yQ|o$7_lllVr+v@3_i)#W)^8tWn#b~t3xggd_hH5Le;Szop^_a` z>vN=TY*w&Z<~&D7mz==2_VKm7)`t`)OzbyyotksZ70usJ*?Njokig%Hw(EIg^;HIXPRwQJLyQYtR# zgvamx7H#5`@>t-$WMgo!>uOd0cBd4ll%=aCl`RTaS=Uf;dgHgYaFy))y;9XX1Vt@0 zww9S^jC+2w`SrlJcN1T`i}XZGTn1%7pc`fOKZ@m;kWUiCZVP5Wh5#v-#F+oGa7tG4urwp|hua!toS>5@*Q{#>}R)j4GY*vljx>7JO+;IDGQg z-=r!Af^SvZ_PPyaK)s`%1Z6AJr2#y$+>Eqf2+@S+ukjo?Wb%mE-RbMTQF38YW(xjp*a;U z+ioRR*(~bc-_b(YTkEDq-|hLkRxw$DIOR#2Ytr?E1vAq>6_gb$uZ!$yx67V~ zT#ZfRHg)f*E{N{Dw>8czzQ390ENWVpWt>lEqw8z!(Pz(|JrElmu`#U(`8tTXvi@VY zb4pp>&Sz^TraYP+Z$8GrAo5L?;dNog(0i*Z9uJwjqu;pv`KhgE4flCHjeOPJ-F??% zwAzPrM>aK1v$uCBW;Tvbvc3KO^4imb7d^yrvb?`5{J`PK2sle@o8 z{#1XdT*{R)w1`PPnxpvTAzw=jWLa$%{p7H8tU9TvW z8}m~q@6^5;_*Pc1dgwi;%N<3lU1s?;CEeL`AzM~C^!X@>ZfdVy&uX`iR=LTf3%0iC zo*Qj?*j>eN@Ze|HH*Ioo*loP&x5VQobGl4-|GeSW@s0KOLo>3n+P9vV+AD5&xc0jG z@)JHUve(=i{UUqm(xsmp%6<;NebwdBi5$1?&gG|z)E4nOJ3DRjx9`4_6E*Hou8=MxsTUOPipb_RUMrf=6Z$8Qhm?oNLuH$1emVR+i?o^x_X)weYP(wG5yi?(a&7Pfq8 ztbB3F_vq>K(HHYG-}mk6cyi{~sRv}8cU6S1CT#k?w)J*T(e~n=eWLT99o>}v*sE8- z7Txgu!xwTKm#i7Ury`rG1lz0zWesB zpTBpu^f>M~y0_V^6sNS&9iLBh@O1MWo!iP5ZF+GfsCP@w)8F*>+vM)*=z$F9H04b< z?LgwWwSSCpO{lzPA&@BC@0}eai`itF+IxNE(r1~OnM)?`95`@bbH&uJ4p##|uXuEF z$~M)RnuARz>VJCsqdCV zxISNc;D*R>$gm-XMoxt@J3c4Aew|q|Li8~(DCmmmAcu!qefz#!yj<_Nhp}eP)vH6s z+qf+FV3I#Ruq}A)Q{z`-Z?u>jP2OPVJ$>Hn$i)L^984-4XuE*sv-)2DO?Cwfwyf!C zz35X@Q-b^K%^xpKE{eau;NmRru1oWVPWXOaegC3uy}pH982h5N&o5`@o}IDj=GtI) z_t&46C?E87T7ylypR)5+CZ^ht@~g7+UDW?ufmTb{(r2%Jj=1FcFl4V}~thUbFW1dkf1NUzDF;@y0^Gwc&Bf_4Gw&g0mSAG>848JVM)%bJhyVrTYt6Zc9$fSZDrd9nn zo5inRwc@n@AMVjNZ``QVoZx!GY4hB&)$SLZPXztpI{&-0zVdj`PVMn(zdZ7~(4FPK zV)c|iM$|3eB35Xd2P91E`qJEbxV7zhqveE63$J(6S{f%!c+vuc>8)-LoJUjksPK2U=y2EKmrA8k$BrJDe}K^y71Q%B@6H~YdRl;qTCZNK z%Fmy+PdNJN(&nXQCQDYtOR#Qpa&Zq?|mOvqHx;llfO z4s_L@RNrQEz~}kJh0ouodh5LWvdyHe<#Ru?fDHFHJ&IahJ~;aQ{faZ+ii@6Z7A&}R zUOh*%=;-*D*ER;NbBg_Q^VH?L6qh!ue0_X*?auh|hey>#{Y-De@1LH_|31(tdg=U> z$ANE~-@Yl>IX5(%JF96|7ylwi^{1bDjkH>H*6C`;+?Lvuc~0rNk+KSUI+6kTUt?y4 z7ynsX)T41i)eOsTYGz`%idzp#Mg-K79tym8<&&g@lBpkB;Ae zX>LW`LsBJoKU#=w&l0O@I9>g?+s$vyyoF1qWvKSoxM{5Zr%kZxw#l_0KlUH(wO7&h zGD5|Qx@X45SZWp6*xEkmeEB{2{UigOjJy83ADSB-4e2;NuIa1bTMzS~ZWo`6y|R1e zPSZ^FxUM!t1}l^S>xlwo{h>-?EI_dJvzl zhlVtp`;OG4_x~X~Ix}_WKKeSsD0RUl!=3VJzFR3NuK^zGpvp~=bYBFXU|eSVfD<~9#dn@H*{K`YdG`JGymEsF6#U~ z`>mGDU;~4U>o0x|_p-6wp)tlGutq$PzRYM58U%eo`tL8RbPjy1PC2FYyRmRyuW^3G z3D-7$D@Uo8sr&b-!-vncZ@f1%!}~fWIu3;LS zUpNs1)x?ATgwa~ZU%4wUgt3Guozkl>H%?|p~xL~x8p_ALMhL87N zdb!M68fN&xba>e2@|gWQzl2ZObK~aC0ou!M)S8bU-__Y^xKUfL^wjF(KH~$8*(F0v zbX$8g^*+3;ivrU6u48RJN^f7L-Z5? literal 0 HcmV?d00001 diff --git a/Tests/test_sgi_crash.py b/Tests/test_sgi_crash.py index ac304aab4..d4ddc12f9 100644 --- a/Tests/test_sgi_crash.py +++ b/Tests/test_sgi_crash.py @@ -11,6 +11,13 @@ from PIL import Image "Tests/images/sgi_crash.bin", "Tests/images/crash-6b7f2244da6d0ae297ee0754a424213444e92778.sgi", "Tests/images/ossfuzz-5730089102868480.sgi", + "Tests/images/crash-754d9c7ec485ffb76a90eeaab191ef69a2a3a3cd.sgi", + "Tests/images/crash-465703f71a0f0094873a3e0e82c9f798161171b8.sgi", + "Tests/images/crash-64834657ee604b8797bf99eac6a194c124a9a8ba.sgi", + "Tests/images/crash-abcf1c97b8fe42a6c68f1fb0b978530c98d57ced.sgi", + "Tests/images/crash-b82e64d4f3f76d7465b6af535283029eda211259.sgi", + "Tests/images/crash-c1b2595b8b0b92cc5f38b6635e98e3a119ade807.sgi", + "Tests/images/crash-db8bfa78b19721225425530c5946217720d7df4e.sgi", ], ) def test_crashes(test_file): diff --git a/src/libImaging/SgiRleDecode.c b/src/libImaging/SgiRleDecode.c index c19231e02..4eef44ba5 100644 --- a/src/libImaging/SgiRleDecode.c +++ b/src/libImaging/SgiRleDecode.c @@ -25,12 +25,58 @@ read4B(UINT32 *dest, UINT8 *buf) { *dest = (UINT32)((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]); } +/* + SgiRleDecoding is done in a single channel row oriented set of RLE chunks. + + * The file is arranged as + - SGI Header + - Rle Offset Table + - Rle Length Table + - Scanline Data + + * Each RLE atom is c->bpc bytes wide (1 or 2) + + * Each RLE Chunk is [specifier atom] [ 1 or n data atoms ] + + * Copy Atoms are a byte with the high bit set, and the low 7 are + the number of bytes to copy from the source to the + destination. e.g. + + CBBBBBBBB or 0CHLHLHLHLHLHL (B=byte, H/L = Hi low bytes) + + * Run atoms do not have the high bit set, and the low 7 bits are + the number of copies of the next atom to copy to the + destination. e.g.: + + RB -> BBBBB or RHL -> HLHLHLHLHL + + The upshot of this is, there is no way to determine the required + length of the input buffer from reloffset and rlelength without + going through the data at that scan line. + + Furthermore, there's no requirement that individual scan lines + pointed to from the rleoffset table are in any sort of order or + used only once, or even disjoint. There's also no requirement that + all of the data in the scan line area of the image file be used + + */ static int -expandrow(UINT8 *dest, UINT8 *src, int n, int z, int xsize) { +expandrow(UINT8 *dest, UINT8 *src, int n, int z, int xsize, UINT8 *end_of_buffer) { + /* + * n here is the number of rlechunks + * z is the number of channels, for calculating the interleave + * offset to go to RGBA style pixels + * xsize is the row width + * end_of_buffer is the address of the end of the input buffer + */ + UINT8 pixel, count; int x = 0; for (; n > 0; n--) { + if (src > end_of_buffer) { + return -1; + } pixel = *src++; if (n == 1 && pixel != 0) { return n; @@ -44,12 +90,18 @@ expandrow(UINT8 *dest, UINT8 *src, int n, int z, int xsize) { } x += count; if (pixel & RLE_COPY_FLAG) { + if (src + count > end_of_buffer) { + return -1; + } while (count--) { *dest = *src++; dest += z; } } else { + if (src > end_of_buffer) { + return -1; + } pixel = *src++; while (count--) { *dest = pixel; @@ -61,12 +113,14 @@ expandrow(UINT8 *dest, UINT8 *src, int n, int z, int xsize) { } static int -expandrow2(UINT8 *dest, const UINT8 *src, int n, int z, int xsize) { +expandrow2(UINT8 *dest, const UINT8 *src, int n, int z, int xsize, UINT8 *end_of_buffer) { UINT8 pixel, count; - int x = 0; for (; n > 0; n--) { + if (src + 1 > end_of_buffer) { + return -1; + } pixel = src[1]; src += 2; if (n == 1 && pixel != 0) { @@ -81,12 +135,18 @@ expandrow2(UINT8 *dest, const UINT8 *src, int n, int z, int xsize) { } x += count; if (pixel & RLE_COPY_FLAG) { + if (src + 2 * count > end_of_buffer) { + return -1; + } while (count--) { memcpy(dest, src, 2); src += 2; dest += z * 2; } } else { + if (src + 2 > end_of_buffer) { + return -1; + } while (count--) { memcpy(dest, src, 2); dest += z * 2; @@ -132,7 +192,11 @@ ImagingSgiRleDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t return -1; } _imaging_seek_pyFd(state->fd, SGI_HEADER_SIZE, SEEK_SET); - _imaging_read_pyFd(state->fd, (char *)ptr, c->bufsize); + if (_imaging_read_pyFd(state->fd, (char *)ptr, c->bufsize) != c->bufsize) { + state->errcode = IMAGING_CODEC_UNKNOWN; + return -1; + } + /* decoder initialization */ state->count = 0; @@ -166,20 +230,20 @@ ImagingSgiRleDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t read4B(&c->lengthtab[c->tabindex], &ptr[c->bufindex]); } - state->count += c->tablen * sizeof(UINT32) * 2; - /* read compressed rows */ for (c->rowno = 0; c->rowno < im->ysize; c->rowno++, state->y += state->ystep) { for (c->channo = 0; c->channo < im->bands; c->channo++) { c->rleoffset = c->starttab[c->rowno + c->channo * im->ysize]; c->rlelength = c->lengthtab[c->rowno + c->channo * im->ysize]; - c->rleoffset -= SGI_HEADER_SIZE; - if (c->rleoffset + c->rlelength > c->bufsize) { + // Check for underflow of rleoffset-SGI_HEADER_SIZE + if (c->rleoffset < SGI_HEADER_SIZE) { state->errcode = IMAGING_CODEC_OVERRUN; goto sgi_finish_decode; } + c->rleoffset -= SGI_HEADER_SIZE; + /* row decompression */ if (c->bpc == 1) { status = expandrow( @@ -187,14 +251,16 @@ ImagingSgiRleDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t &ptr[c->rleoffset], c->rlelength, im->bands, - im->xsize); + im->xsize, + &ptr[c->bufsize-1]); } else { status = expandrow2( &state->buffer[c->channo * 2], &ptr[c->rleoffset], c->rlelength, im->bands, - im->xsize); + im->xsize, + &ptr[c->bufsize-1]); } if (status == -1) { state->errcode = IMAGING_CODEC_OVERRUN; @@ -203,15 +269,12 @@ ImagingSgiRleDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t goto sgi_finish_decode; } - state->count += c->rlelength; } /* store decompressed data in image */ state->shuffle((UINT8 *)im->image[state->y], state->buffer, im->xsize); } - c->bufsize++; - sgi_finish_decode:; free(c->starttab); @@ -221,5 +284,5 @@ sgi_finish_decode:; state->errcode = err; return -1; } - return state->count - c->bufsize; + return 0; } From 86f02f7c70862a0954bfe8133736d352db978eaa Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Fri, 8 Jan 2021 18:45:42 +0100 Subject: [PATCH 147/325] Fix negative size read in TiffDecode.c * Caught by oss-fuzz runs * CVE-2021-25290 --- ...-0c7e0e8e11ce787078f00b5b0ca409a167f070e0.tif | Bin 0 -> 2529 bytes ...-1185209cf7655b5aed8ae5e77784dfdd18ab59e9.tif | Bin 0 -> 1931 bytes ...-338516dbd2f0e83caddb8ce256c22db3bd6dc40f.tif | Bin 0 -> 4682 bytes ...-4f085cc12ece8cde18758d42608bed6a2a2cfb1c.tif | Bin 0 -> 4050 bytes ...-86214e58da443d2b80820cff9677a38a33dcbbca.tif | Bin 0 -> 286 bytes ...-f46f5b2f43c370fe65706c11449f567ecc345e74.tif | Bin 0 -> 1844 bytes Tests/test_tiff_crashes.py | 8 +++++++- src/libImaging/TiffDecode.c | 4 ++++ 8 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 Tests/images/crash-0c7e0e8e11ce787078f00b5b0ca409a167f070e0.tif create mode 100644 Tests/images/crash-1185209cf7655b5aed8ae5e77784dfdd18ab59e9.tif create mode 100644 Tests/images/crash-338516dbd2f0e83caddb8ce256c22db3bd6dc40f.tif create mode 100644 Tests/images/crash-4f085cc12ece8cde18758d42608bed6a2a2cfb1c.tif create mode 100644 Tests/images/crash-86214e58da443d2b80820cff9677a38a33dcbbca.tif create mode 100644 Tests/images/crash-f46f5b2f43c370fe65706c11449f567ecc345e74.tif diff --git a/Tests/images/crash-0c7e0e8e11ce787078f00b5b0ca409a167f070e0.tif b/Tests/images/crash-0c7e0e8e11ce787078f00b5b0ca409a167f070e0.tif new file mode 100644 index 0000000000000000000000000000000000000000..5275075e9177155cfa0fcc91bb783e237116ddba GIT binary patch literal 2529 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 literal 0 HcmV?d00001 diff --git a/Tests/images/crash-338516dbd2f0e83caddb8ce256c22db3bd6dc40f.tif b/Tests/images/crash-338516dbd2f0e83caddb8ce256c22db3bd6dc40f.tif new file mode 100644 index 0000000000000000000000000000000000000000..344d62b277a85e4dd8262d31b175958efd0e768f GIT binary patch literal 4682 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 T?|*bELLzInhh(yaEK@2|njzbib;y=I3Mq^T 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 > state->eof) { + TIFFError("_tiffReadProc", "Invalid Read at loc %d, eof: %d", state->loc, state->eof); + return 0; + } to_read = min(size, min(state->size, (tsize_t)state->eof) - (tsize_t)state->loc); TRACE(("to_read: %d\n", (int)to_read)); From cbdce6c5d054fccaf4af34b47f212355c64ace7a Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 23 Jan 2021 11:36:50 +0100 Subject: [PATCH 148/325] Fix for CVE-2021-25291 * Invalid tile boundaries lead to OOB Read in TiffDecode.c, in TiffReadRGBATile * Check the tile validity before attempting to read. --- ...-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif | Bin 0 -> 3728 bytes Tests/test_tiff_crashes.py | 1 + src/libImaging/TiffDecode.c | 9 +++++++++ 3 files changed, 10 insertions(+) create mode 100644 Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif diff --git a/Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif b/Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif new file mode 100644 index 0000000000000000000000000000000000000000..b89203f75c40ec004e9a37d04caa7ba1c1aee085 GIT binary patch literal 3728 zcmeHJU1%It6h3!mvTpv`ByO`93yvFYX=!$6XE$kfZ6s;hz-p~OK@3R2jY-?2NmJ8> zjc-AP2=&E06@}uHeGrl2OCJPr5%*;&6!gLBQy&6aDB6cgtnB!mnR_Rb%_deNis%{c z+%sp+J^%OIo6GH|FcGy05;_TB5i&?foI*f6&~zi@d`bJ;NE4c2G&DFKTomp+EkD&% zRS4#a1W9_oo5*p9mZolzZVU*WwK7yrR4SMp=T=Ty)lAB&kO5R$#r&GYK_*?|`xePH z*pnxyT^Q8;;@JQPd+M%~rtFm~3oo6XDnJ20tO$>0+|^t=A?@SpZ=wo|B`E7!eCys} zRLc4uT#XoG*N8gHn)NX74}eF@8X`;7AMc}w%7WVHQ~C__t}@~c`p-M@0(43njUfI>%v;5I+IPT8rqk(1 z_GSk9?L&4dex1^;&>F}5&pMF_kbJg3LO3Fwo*94cJwBN|dp_0YzE3zr{&(MIxXXTG(aweFu2q5&b*1C%7uHE>JLu?kFs_56Tz<_i3PIox33E7 z2xMZtaF6FBsQ#gP&v84n(AH%!iEpAngTR-F1}cPhyoua``XdJCmfg{oDiyiuy~AqL zgNjQJoXWyhY>j4!W7D}7RP5S-tJoD#D7E?8&RL`6hEX8Dz!vXRQfKZ)KV0iBVAo`Q zlTbl^I@$C(@GaAV9r@-WXNjv0^$CACGr8P1&Z^`5x_XzZwHtlbNxN}8^SM)PM(eO_ zGZ{~&`z_l(VA@vFPFM#M$=;r1f7a^Drh82Zu_v3%L-P|Sv!h2w%!Sz*bi{d?kc;A< zZhCNdv%IQ3acmK>;39S}R~#bVF&!jNM=qDK;hCw?!u%AtaBjYkFQPTv-`T2)4g7xF zb7`!y(N}q!RdQb-8W9GjY2t*~u*|#id4ueNKQB4*}vc-xz#-kD*kV?d<*#3wb_Z21F_SE!ntfBQ7jhY#iT8}fqQFScctFg kya%~|*K6LjQtkNM{Ha7TlgT73J7L>BX!bqlU(XEu4zt$kbpQYW literal 0 HcmV?d00001 diff --git a/Tests/test_tiff_crashes.py b/Tests/test_tiff_crashes.py index 4e68c5c55..ae4d0f100 100644 --- a/Tests/test_tiff_crashes.py +++ b/Tests/test_tiff_crashes.py @@ -32,6 +32,7 @@ from .helper import on_ci "Tests/images/crash-4f085cc12ece8cde18758d42608bed6a2a2cfb1c.tif", "Tests/images/crash-86214e58da443d2b80820cff9677a38a33dcbbca.tif", "Tests/images/crash-f46f5b2f43c370fe65706c11449f567ecc345e74.tif", + "Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif", ], ) @pytest.mark.filterwarnings("ignore:Possibly corrupt EXIF data") diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 099f9ea65..14a685df8 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -562,6 +562,15 @@ ImagingLibTiffDecode( for (y = state->yoff; y < state->ysize; y += tile_length) { for (x = state->xoff; x < state->xsize; x += tile_width) { + /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions + have a different view of the size of the tiff than we're getting from + other functions. So, we need to check here. + */ + if (!TIFFCheckTile(tiff, x, y, 0, 0)) { + TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + goto decode_err; + } if (isYCbCr) { /* To avoid dealing with YCbCr subsampling, let libtiff handle it */ if (!TIFFReadRGBATile(tiff, x, y, (UINT32 *)state->buffer)) { From 3bce145966374dd39ce58a6fc0083f8d1890719c Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 9 Jan 2021 15:53:09 +0200 Subject: [PATCH 149/325] Use more specific regex chars to prevent ReDoS * CVE-2021-25292 --- src/PIL/PdfParser.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PIL/PdfParser.py b/src/PIL/PdfParser.py index 975905f96..86d78a95c 100644 --- a/src/PIL/PdfParser.py +++ b/src/PIL/PdfParser.py @@ -580,8 +580,9 @@ class PdfParser: whitespace_or_hex = br"[\000\011\012\014\015\0400-9a-fA-F]" whitespace_optional = whitespace + b"*" whitespace_mandatory = whitespace + b"+" + whitespace_optional_no_nl = br"[\000\011\014\015\040]*" # no "\012" aka "\n" newline_only = br"[\r\n]+" - newline = whitespace_optional + newline_only + whitespace_optional + newline = whitespace_optional_no_nl + newline_only + whitespace_optional_no_nl re_trailer_end = re.compile( whitespace_mandatory + br"trailer" From 3f2b7d71402ff70cb873cadfe7379350da64b72c Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 28 Feb 2021 18:13:16 +0100 Subject: [PATCH 150/325] Release notes for 8.1.1 --- docs/releasenotes/8.1.1.rst | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/releasenotes/8.1.1.rst diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst new file mode 100644 index 000000000..7ee2b67a8 --- /dev/null +++ b/docs/releasenotes/8.1.1.rst @@ -0,0 +1,32 @@ +8.1.1 +----- + + +Security +======== + +CVE-2021-25289: The previous fix for CVE-2020-35654 was insufficent +due to incorrect error checking in TiffDecode.c. + +CVE-2021-25290: In TiffDecode.c, there is a negative-offset memcpy +with an invalid size + +CVE-2021-25291: In TiffDecode.c, invalid tile boundaries could lead to +an OOB Read in TiffReadRGBATile + +CVE-2021-25292: The PDF parser has a catastrophic backtracking regex +that could be used as a DOS attack. + +CVE-2021-25293: There is an Out of Bounds Read in SGIRleDecode.c, +since pillow 4.3.0. + +There is an Exhaustion of Memory DOS in the ICNS, ICO, and BLP +container formats where Pillow did not properly check the reported +size of the contained image. These images could cause arbitrariliy +large memory allocations. + + +Other Changes +============= + +A crash with the feature flags for LibJpeg and Webp on unreleased Python 3.10 has been fixed (https://github.com/python-pillow/Pillow/issues/5193) From c96eac1ca43ff48120fe0adf901f33f36a0301d6 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 28 Feb 2021 18:19:17 +0100 Subject: [PATCH 151/325] Credits --- docs/releasenotes/8.1.1.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index 7ee2b67a8..6483a4f4b 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -23,7 +23,8 @@ since pillow 4.3.0. There is an Exhaustion of Memory DOS in the ICNS, ICO, and BLP container formats where Pillow did not properly check the reported size of the contained image. These images could cause arbitrariliy -large memory allocations. +large memory allocations. This was reported by Jiayi Lin, Luke +Shaffer, Xinran Xie, and Akshay Ajayan of ASU.edu. Other Changes From fb4ae1ee3c7532857199654c8ced45ab396dc325 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 1 Mar 2021 19:20:52 +1100 Subject: [PATCH 152/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index b4d6b5348..e2073d867 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -20,12 +20,30 @@ Changelog (Pillow) - Support for ignoring tests when running valgrind #5150 [wiredfool, radarhere, hugovk] -- PyModule_AddObject fix for Python 3.10 #5194 - [radarhere] - - OSS-Fuzz support #5189 [wiredfool, radarhere] +8.1.1 (2020-03-01) +------------------ + +- Use more specific regex chars to prevent ReDoS. CVE-2021-25292 + [hugovk] + +- Fix OOB Read in TiffDecode.c, and check the tile validity before reading. CVE-2021-25291 + [wiredfool] + +- Fix negative size read in TiffDecode.c. CVE-2021-25290 + [wiredfool] + +- Fix OOB read in SgiRleDecode.c. CVE-2021-25293 + [wiredfool] + +- Incorrect error code checking in TiffDecode.c. CVE-2021-25289 + [wiredfool] + +- PyModule_AddObject fix for Python 3.10 #5194 + [radarhere] + 8.1.0 (2020-01-02) ------------------ From a80cf4227570a5e5148d8e9fb76366f3e3790405 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 1 Mar 2021 19:22:57 +1100 Subject: [PATCH 153/325] Added 8.1.1 release notes to index --- docs/releasenotes/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index 0930768e7..38aed08cf 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -15,6 +15,7 @@ expected to be backported to earlier versions. :maxdepth: 2 8.2.0 + 8.1.1 8.1.0 8.0.1 8.0.0 From 3c96fbf908b735a58bd39e663c5d5ad7350bbf5a Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 1 Mar 2021 21:03:26 +0100 Subject: [PATCH 154/325] Removed "Remove me" testing lines --- .github/workflows/cifuzz.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index e158bd84d..9fe8f774f 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -2,12 +2,10 @@ name: CIFuzz on: push: paths: - - "**.yml" # testing, remove me - "**.c" - "**.h" pull_request: paths: - - "**.yml" # testing, remove me - "**.c" - "**.h" From 8e887b62ac3d02493d5666aa7ea190ecb417adb0 Mon Sep 17 00:00:00 2001 From: heitbaum Date: Tue, 2 Mar 2021 20:09:23 +1100 Subject: [PATCH 155/325] CHANGES.rst: update dates --- CHANGES.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index e2073d867..923142a61 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -23,7 +23,7 @@ Changelog (Pillow) - OSS-Fuzz support #5189 [wiredfool, radarhere] -8.1.1 (2020-03-01) +8.1.1 (2021-03-01) ------------------ - Use more specific regex chars to prevent ReDoS. CVE-2021-25292 @@ -44,7 +44,7 @@ Changelog (Pillow) - PyModule_AddObject fix for Python 3.10 #5194 [radarhere] -8.1.0 (2020-01-02) +8.1.0 (2021-01-02) ------------------ - Fix TIFF OOB Write error. CVE-2020-35654 #5175 From 915f68967fd6de16b16b75a68dccd4ac30168c6f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 2 Mar 2021 13:16:14 +0200 Subject: [PATCH 156/325] Update release notes formatting, links, spelling --- docs/conf.py | 4 ++++ docs/releasenotes/8.1.0.rst | 10 +++++----- docs/releasenotes/8.1.1.rst | 28 +++++++++++++++------------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 4fb9d1f8f..123e93c9b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -312,3 +312,7 @@ def setup(app): app.add_js_file("js/script.js") app.add_css_file("css/dark.css") app.add_css_file("css/light.css") + + +# GitHub repo for sphinx-issues +issues_github_path = "python-pillow/Pillow" diff --git a/docs/releasenotes/8.1.0.rst b/docs/releasenotes/8.1.0.rst index 5c4ee3773..c5fc26226 100644 --- a/docs/releasenotes/8.1.0.rst +++ b/docs/releasenotes/8.1.0.rst @@ -18,7 +18,7 @@ vulnerability introduced in FreeType 2.6 (:cve:`CVE-2020-15999`). Makefile ^^^^^^^^ -The 'install-venv' target has been deprecated. +The ``install-venv`` target has been deprecated. API Additions ============= @@ -48,15 +48,15 @@ Thanks to Google's `OSS-Fuzz`_ project for finding this. * :cve:`CVE-2020-35654` Fix TIFF OOB Write error -OOB Write in TiffDecode.c when reading corrupt YCbCr files in some LibTIFF versions +OOB Write in ``TiffDecode.c`` when reading corrupt YCbCr files in some LibTIFF versions (4.1.0/Ubuntu 20.04, but not 4.0.9/Ubuntu 18.04). In some cases LibTIFF's interpretation of the file is different when reading in RGBA mode, leading to an Out of -bounds write in TiffDecode.c. This potentially affects Pillow versions from 6.0.0 to +bounds write in ``TiffDecode.c``. This potentially affects Pillow versions from 6.0.0 to 8.0.1, depending on the version of LibTIFF. This was reported through `Tidelift`_. * :cve:`CVE-2020-35655` Fix for SGI Decode buffer overrun -4 byte read overflow in SGIRleDecode.c, where the code was not correctly checking the +4 byte read overflow in ``SGIRleDecode.c``, where the code was not correctly checking the offsets and length tables. Independently reported through `Tidelift`_ and Google's `OSS-Fuzz`_. This vulnerability covers Pillow versions 4.3.0->8.0.1. @@ -78,7 +78,7 @@ Other Changes Makefile ^^^^^^^^ -The 'co' target has been removed. +The ``co`` target has been removed. PyPy wheels ^^^^^^^^^^^ diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index 6483a4f4b..51a81c7a6 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -5,29 +5,31 @@ Security ======== -CVE-2021-25289: The previous fix for CVE-2020-35654 was insufficent -due to incorrect error checking in TiffDecode.c. +:cve:`CVE-2021-25289`: The previous fix for :cve:`CVE-2020-35654` was insufficient +due to incorrect error checking in ``TiffDecode.c``. -CVE-2021-25290: In TiffDecode.c, there is a negative-offset memcpy -with an invalid size +:cve:`CVE-2021-25290`: In ``TiffDecode.c``, there is a negative-offset ``memcpy`` +with an invalid size. -CVE-2021-25291: In TiffDecode.c, invalid tile boundaries could lead to -an OOB Read in TiffReadRGBATile +:cve:`CVE-2021-25291`: In ``TiffDecode.c``, invalid tile boundaries could lead to +an out-of-bounds read in ``TIFFReadRGBATile``. -CVE-2021-25292: The PDF parser has a catastrophic backtracking regex +:cve:`CVE-2021-25292`: The PDF parser has a catastrophic backtracking regex that could be used as a DOS attack. -CVE-2021-25293: There is an Out of Bounds Read in SGIRleDecode.c, -since pillow 4.3.0. +:cve:`CVE-2021-25293`: There is an out-of-bounds read in ``SgiRleDecode.c``, +since Pillow 4.3.0. -There is an Exhaustion of Memory DOS in the ICNS, ICO, and BLP +There is an exhaustion of memory DOS in the ICNS, ICO, and BLP container formats where Pillow did not properly check the reported -size of the contained image. These images could cause arbitrariliy +size of the contained image. These images could cause arbitrarily large memory allocations. This was reported by Jiayi Lin, Luke -Shaffer, Xinran Xie, and Akshay Ajayan of ASU.edu. +Shaffer, Xinran Xie, and Akshay Ajayan of +`Arizona State University `_. Other Changes ============= -A crash with the feature flags for LibJpeg and Webp on unreleased Python 3.10 has been fixed (https://github.com/python-pillow/Pillow/issues/5193) +A crash with the feature flags for libjpeg and WebP on unreleased Python 3.10 has been +fixed (:issue:`5193`). From b41dab0e9b8a0b8bb0fa3118e8a06b7dc05ba1cf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 2 Mar 2021 23:22:06 +1100 Subject: [PATCH 157/325] Expanded "OOB" to "out-of-bounds" [ci skip] --- docs/releasenotes/7.1.0.rst | 2 +- docs/releasenotes/8.1.0.rst | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/releasenotes/7.1.0.rst b/docs/releasenotes/7.1.0.rst index fd3627e3c..0024a537d 100644 --- a/docs/releasenotes/7.1.0.rst +++ b/docs/releasenotes/7.1.0.rst @@ -74,7 +74,7 @@ Security This release includes security fixes. -* :cve:`CVE-2020-10177` Fix multiple OOB reads in FLI decoding +* :cve:`CVE-2020-10177` Fix multiple out-of-bounds reads in FLI decoding * :cve:`CVE-2020-10378` Fix bounds overflow in PCX decoding * :cve:`CVE-2020-10379` Fix two buffer overflows in TIFF decoding * :cve:`CVE-2020-10994` Fix bounds overflow in JPEG 2000 decoding diff --git a/docs/releasenotes/8.1.0.rst b/docs/releasenotes/8.1.0.rst index c5fc26226..17074d486 100644 --- a/docs/releasenotes/8.1.0.rst +++ b/docs/releasenotes/8.1.0.rst @@ -46,13 +46,14 @@ The PCX image decoder used the reported image stride to calculate the row buffer rather than calculating it from the image size. This issue dates back to the PIL fork. Thanks to Google's `OSS-Fuzz`_ project for finding this. -* :cve:`CVE-2020-35654` Fix TIFF OOB Write error +* :cve:`CVE-2020-35654` Fix TIFF out-of-bounds write error -OOB Write in ``TiffDecode.c`` when reading corrupt YCbCr files in some LibTIFF versions -(4.1.0/Ubuntu 20.04, but not 4.0.9/Ubuntu 18.04). In some cases LibTIFF's -interpretation of the file is different when reading in RGBA mode, leading to an Out of -bounds write in ``TiffDecode.c``. This potentially affects Pillow versions from 6.0.0 to -8.0.1, depending on the version of LibTIFF. This was reported through `Tidelift`_. +Out-of-bounds write in ``TiffDecode.c`` when reading corrupt YCbCr files in some +LibTIFF versions (4.1.0/Ubuntu 20.04, but not 4.0.9/Ubuntu 18.04). In some cases +LibTIFF's interpretation of the file is different when reading in RGBA mode, leading to +an out-of-bounds write in ``TiffDecode.c``. This potentially affects Pillow versions +from 6.0.0 to 8.0.1, depending on the version of LibTIFF. This was reported through +`Tidelift`_. * :cve:`CVE-2020-35655` Fix for SGI Decode buffer overrun From f676b10813ef16141bc7f6bff050384a3960a471 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 3 Mar 2021 07:56:29 +1100 Subject: [PATCH 158/325] Updated libimagequant to 2.14.1 --- depends/install_imagequant.sh | 2 +- docs/installation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/install_imagequant.sh b/depends/install_imagequant.sh index e204ea9ad..376d8ef9b 100755 --- a/depends/install_imagequant.sh +++ b/depends/install_imagequant.sh @@ -1,7 +1,7 @@ #!/bin/bash # install libimagequant -archive=libimagequant-2.14.0 +archive=libimagequant-2.14.1 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/docs/installation.rst b/docs/installation.rst index 4610d87d8..ec39c9fa8 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -177,7 +177,7 @@ Many of Pillow's features require external libraries: * **libimagequant** provides improved color quantization - * Pillow has been tested with libimagequant **2.6-2.14** + * Pillow has been tested with libimagequant **2.6-2.14.1** * Libimagequant is licensed GPLv3, which is more restrictive than the Pillow license, therefore we will not be distributing binaries with libimagequant support enabled. From 333fd06e9075b483046dd59aa0474d34fa3224ca Mon Sep 17 00:00:00 2001 From: nulano Date: Tue, 2 Mar 2021 23:19:20 +0100 Subject: [PATCH 159/325] update libimagequant in winbuild --- winbuild/build_prepare.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 2f7c858bc..7b561aa4e 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -255,10 +255,10 @@ deps = { "libs": [r"bin\*.lib"], }, "libimagequant": { - # e5d454b: Merge tag '2.12.6' into msvc - "url": "https://github.com/ImageOptim/libimagequant/archive/e5d454bc7f5eb63ee50c84a83a7fa5ac94f68ec4.zip", # noqa: E501 - "filename": "libimagequant-e5d454bc7f5eb63ee50c84a83a7fa5ac94f68ec4.zip", - "dir": "libimagequant-e5d454bc7f5eb63ee50c84a83a7fa5ac94f68ec4", + # Merge master into msvc (matches 2.14.1 except for version bump) + "url": "https://github.com/ImageOptim/libimagequant/archive/16adaded22d1f90db5c9154a06d00a8b672ca09a.zip", # noqa: E501 + "filename": "libimagequant-16adaded22d1f90db5c9154a06d00a8b672ca09a.zip", + "dir": "libimagequant-16adaded22d1f90db5c9154a06d00a8b672ca09a", "patch": { "CMakeLists.txt": { "add_library": "add_compile_options(-openmp-)\r\nadd_library", From d0cf8ffef5012b4fb9766b7974beb9e7f2f4b88b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 3 Mar 2021 10:47:21 +0200 Subject: [PATCH 160/325] Fix filename spelling Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- docs/releasenotes/8.1.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releasenotes/8.1.0.rst b/docs/releasenotes/8.1.0.rst index 17074d486..8ed1d9d85 100644 --- a/docs/releasenotes/8.1.0.rst +++ b/docs/releasenotes/8.1.0.rst @@ -57,7 +57,7 @@ from 6.0.0 to 8.0.1, depending on the version of LibTIFF. This was reported thro * :cve:`CVE-2020-35655` Fix for SGI Decode buffer overrun -4 byte read overflow in ``SGIRleDecode.c``, where the code was not correctly checking the +4 byte read overflow in ``SgiRleDecode.c``, where the code was not correctly checking the offsets and length tables. Independently reported through `Tidelift`_ and Google's `OSS-Fuzz`_. This vulnerability covers Pillow versions 4.3.0->8.0.1. From b959ee7885fbca24ebe001531c799addde14881b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 3 Mar 2021 20:34:52 +1100 Subject: [PATCH 161/325] Corrected list of relevant dependencies [ci skip] --- docs/releasenotes/8.1.1.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index 51a81c7a6..40add51b0 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -31,5 +31,5 @@ Shaffer, Xinran Xie, and Akshay Ajayan of Other Changes ============= -A crash with the feature flags for libjpeg and WebP on unreleased Python 3.10 has been -fixed (:issue:`5193`). +A crash with the feature flags for libimagequant, libjpegturbo, WebP and XCB on +unreleased Python 3.10 has been fixed (:issue:`5193`). From 944fd834dbc271859f5f0b44a2c75b7a15ed90a4 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Wed, 3 Mar 2021 22:38:24 +1100 Subject: [PATCH 162/325] Updated spelling [ci skip] Co-authored-by: Hugo van Kemenade --- docs/releasenotes/8.1.1.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index 40add51b0..f5c2ed90c 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -31,5 +31,5 @@ Shaffer, Xinran Xie, and Akshay Ajayan of Other Changes ============= -A crash with the feature flags for libimagequant, libjpegturbo, WebP and XCB on +A crash with the feature flags for libimagequant, libjpeg-turbo, WebP and XCB on unreleased Python 3.10 has been fixed (:issue:`5193`). From 852fd170f8f3bb45cb0a7709d62bbc52b568d8bc Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Wed, 3 Mar 2021 13:30:28 +0000 Subject: [PATCH 163/325] Fix -Wformat error in TiffDecode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit src/libImaging/TiffDecode.c: In function ‘_tiffReadProc’: src/libImaging/TiffDecode.c:59:58: error: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘toff_t’ {aka ‘long unsigned int’} [-Werror=format=] src/libImaging/TiffDecode.c:59:67: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘toff_t’ {aka ‘long unsigned int’} [-Werror=format=] --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 14a685df8..a67091921 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -56,7 +56,7 @@ _tiffReadProc(thandle_t hdata, tdata_t buf, tsize_t size) { dump_state(state); if (state->loc > state->eof) { - TIFFError("_tiffReadProc", "Invalid Read at loc %d, eof: %d", state->loc, state->eof); + TIFFError("_tiffReadProc", "Invalid Read at loc %lu, eof: %lu", state->loc, state->eof); return 0; } to_read = min(size, min(state->size, (tsize_t)state->eof) - (tsize_t)state->loc); From 346bfc95375fe9441f904af21af1e6ddb3d2898d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 4 Mar 2021 08:55:24 +1100 Subject: [PATCH 164/325] Added IPythonViewer --- Tests/test_imageshow.py | 18 +++++++++++++++++- src/PIL/ImageShow.py | 15 +++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Tests/test_imageshow.py b/Tests/test_imageshow.py index 78e80f521..5981e22c0 100644 --- a/Tests/test_imageshow.py +++ b/Tests/test_imageshow.py @@ -62,4 +62,20 @@ def test_viewer(): def test_viewers(): for viewer in ImageShow._viewers: - viewer.get_command("test.jpg") + try: + viewer.get_command("test.jpg") + except NotImplementedError: + pass + + +def test_ipythonviewer(): + pytest.importorskip("IPython", reason="IPython not installed") + for viewer in ImageShow._viewers: + if isinstance(viewer, ImageShow.IPythonViewer): + test_viewer = viewer + break + else: + assert False + + im = hopper() + assert test_viewer.show(im) == 1 diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index fceb65378..9e7614144 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -225,6 +225,21 @@ if sys.platform not in ("win32", "darwin"): # unixoids if shutil.which("xv"): register(XVViewer) + +class IPythonViewer(Viewer): + def show_image(self, image, **options): + display(image) + return 1 + + +try: + from IPython.display import display +except ImportError: + pass +else: + register(IPythonViewer) + + if __name__ == "__main__": if len(sys.argv) < 2: From f067fe4c05bfed6e20257c3c54f77ade8547de86 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 4 Mar 2021 08:56:03 +1100 Subject: [PATCH 165/325] Added import alias for clarity --- src/PIL/ImageShow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index 9e7614144..bb04c4e29 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -228,12 +228,12 @@ if sys.platform not in ("win32", "darwin"): # unixoids class IPythonViewer(Viewer): def show_image(self, image, **options): - display(image) + ipython_display(image) return 1 try: - from IPython.display import display + from IPython.display import display as ipython_display except ImportError: pass else: From 5e0a4acb85bd3ea1dd2d41e25bc4616fde15b138 Mon Sep 17 00:00:00 2001 From: Kipkurui Mutai Date: Sun, 28 Feb 2021 19:50:27 +0300 Subject: [PATCH 166/325] Update ImageShow.rst --- docs/reference/ImageShow.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/ImageShow.rst b/docs/reference/ImageShow.rst index a30a6caed..f1fbd90ce 100644 --- a/docs/reference/ImageShow.rst +++ b/docs/reference/ImageShow.rst @@ -9,6 +9,7 @@ All default viewers convert the image to be shown to PNG format. .. autofunction:: PIL.ImageShow.show +.. autoclass:: IPythonViewer .. autoclass:: WindowsViewer .. autoclass:: MacViewer From 7b094638094986a7506efb310b6dcbe72675276b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 4 Mar 2021 08:56:49 +1100 Subject: [PATCH 167/325] Added IPythonViewer docstring --- src/PIL/ImageShow.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index bb04c4e29..3368865a4 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -227,6 +227,8 @@ if sys.platform not in ("win32", "darwin"): # unixoids class IPythonViewer(Viewer): + """The viewer for IPython frontends.""" + def show_image(self, image, **options): ipython_display(image) return 1 From a1463ff211c37a026135894487d13f7c908ed8ce Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 4 Mar 2021 08:59:47 +1100 Subject: [PATCH 168/325] Added release notes --- docs/releasenotes/8.2.0.rst | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 28d39ca46..f27f295a7 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -21,10 +21,17 @@ TODO API Additions ============= -TODO -^^^^ +ImageShow.IPythonViewer +^^^^^^^^^^^^^^^^^^^^^^^ -TODO +If IPython is present, this new ``ImageShow.Viewer`` subclass will be +registered. It displays images on all IPython frontends. This will be helpful +to users of Google Colab, allowing ``im.show()`` to display images. + +It is lower in priority than the other default Viewer instances, so it will +only be used by ``im.show()`` or ``ImageShow.show()`` if none of the other +viewers are available. This means that the behaviour of ``ImageShow`` will stay +the same for most Pillow users. Security ======== From b885af93cb56a9e73be58440b6f217e94e3cc45e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 4 Mar 2021 17:33:47 +1100 Subject: [PATCH 169/325] Added more CVE numbers [ci skip] --- docs/releasenotes/8.1.1.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index f5c2ed90c..90a786ec4 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -20,11 +20,11 @@ that could be used as a DOS attack. :cve:`CVE-2021-25293`: There is an out-of-bounds read in ``SgiRleDecode.c``, since Pillow 4.3.0. -There is an exhaustion of memory DOS in the ICNS, ICO, and BLP -container formats where Pillow did not properly check the reported -size of the contained image. These images could cause arbitrarily -large memory allocations. This was reported by Jiayi Lin, Luke -Shaffer, Xinran Xie, and Akshay Ajayan of +There is an exhaustion of memory DOS in the BLP (:cve:`CVE-2021-27921`), +ICNS (:cve:`CVE-2021-27922`) and ICO (:cve:`CVE-2021-27923`) container formats +where Pillow did not properly check the reported size of the contained image. +These images could cause arbitrarily large memory allocations. This was reported +by Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan of `Arizona State University `_. From 480f6819b592d7f07b9a9a52a7656c10bbe07442 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Wed, 24 Feb 2021 23:27:07 +0100 Subject: [PATCH 170/325] Fix Memory DOS in Icns, Ico and Blp Image Plugins Some container plugins that could contain images of other formats, such as the ICNS format, did not properly check the reported size of the contained image. These images could cause arbitrariliy large memory allocations. This is fixed for all locations where individual *ImageFile classes are created without going through the usual Image.open method. --- ...d3316a4109213ca96fb8a256a0bfefdece1461.icns | Bin 0 -> 240915 bytes Tests/test_file_icns.py | 6 ++++++ src/PIL/BlpImagePlugin.py | 1 + src/PIL/IcnsImagePlugin.py | 2 ++ src/PIL/IcoImagePlugin.py | 1 + 5 files changed, 10 insertions(+) create mode 100644 Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns diff --git a/Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns b/Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns new file mode 100644 index 0000000000000000000000000000000000000000..0521f5cf176fd6c774b7e58a7f450dbc369644a9 GIT binary patch literal 240915 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ℑ?Ji*~_)TXvunaHt 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index fef2329bc..ea022332c 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -140,3 +140,9 @@ def test_not_an_icns_file(): with io.BytesIO(b"invalid\n") as fp: with pytest.raises(SyntaxError): IcnsImagePlugin.IcnsFile(fp) + + +def test_icns_decompression_bomb(): + with pytest.raises(Image.DecompressionBombError): + im = Image.open('Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns') + im.load() diff --git a/src/PIL/BlpImagePlugin.py b/src/PIL/BlpImagePlugin.py index d5d7c0e05..88aae80eb 100644 --- a/src/PIL/BlpImagePlugin.py +++ b/src/PIL/BlpImagePlugin.py @@ -353,6 +353,7 @@ class BLP1Decoder(_BLPBaseDecoder): data = jpeg_header + data data = BytesIO(data) image = JpegImageFile(data) + Image._decompression_bomb_check(image.size) self.tile = image.tile # :/ self.fd = image.fp self.mode = image.mode diff --git a/src/PIL/IcnsImagePlugin.py b/src/PIL/IcnsImagePlugin.py index 2a63d75cb..ca6a0adad 100644 --- a/src/PIL/IcnsImagePlugin.py +++ b/src/PIL/IcnsImagePlugin.py @@ -105,6 +105,7 @@ def read_png_or_jpeg2000(fobj, start_length, size): if sig[:8] == b"\x89PNG\x0d\x0a\x1a\x0a": fobj.seek(start) im = PngImagePlugin.PngImageFile(fobj) + Image._decompression_bomb_check(im.size) return {"RGBA": im} elif ( sig[:4] == b"\xff\x4f\xff\x51" @@ -121,6 +122,7 @@ def read_png_or_jpeg2000(fobj, start_length, size): jp2kstream = fobj.read(length) f = io.BytesIO(jp2kstream) im = Jpeg2KImagePlugin.Jpeg2KImageFile(f) + Image._decompression_bomb_check(im.size) if im.mode != "RGBA": im = im.convert("RGBA") return {"RGBA": im} diff --git a/src/PIL/IcoImagePlugin.py b/src/PIL/IcoImagePlugin.py index e1bfa7a59..5634bf8e9 100644 --- a/src/PIL/IcoImagePlugin.py +++ b/src/PIL/IcoImagePlugin.py @@ -178,6 +178,7 @@ class IcoFile: if data[:8] == PngImagePlugin._MAGIC: # png frame im = PngImagePlugin.PngImageFile(self.buf) + Image._decompression_bomb_check(im.size) else: # XOR + AND mask bmp frame im = BmpImagePlugin.DibImageFile(self.buf) From 5269ab13a760612b6bff3685f2fc83d28765b420 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 6 Mar 2021 10:20:01 +1100 Subject: [PATCH 171/325] Lint fix --- Tests/test_file_icns.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index ea022332c..7ce8cb286 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -144,5 +144,7 @@ def test_not_an_icns_file(): def test_icns_decompression_bomb(): with pytest.raises(Image.DecompressionBombError): - im = Image.open('Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns') + im = Image.open( + "Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns" + ) im.load() From f2ea25780a97360bbe42f8c3ff1f97c97b2646cd Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 6 Mar 2021 13:21:30 +1100 Subject: [PATCH 172/325] Added release notes for 8.1.2 --- docs/releasenotes/8.1.1.rst | 8 -------- docs/releasenotes/8.1.2.rst | 12 ++++++++++++ docs/releasenotes/index.rst | 1 + 3 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 docs/releasenotes/8.1.2.rst diff --git a/docs/releasenotes/8.1.1.rst b/docs/releasenotes/8.1.1.rst index 90a786ec4..4081c49ca 100644 --- a/docs/releasenotes/8.1.1.rst +++ b/docs/releasenotes/8.1.1.rst @@ -1,7 +1,6 @@ 8.1.1 ----- - Security ======== @@ -20,13 +19,6 @@ that could be used as a DOS attack. :cve:`CVE-2021-25293`: There is an out-of-bounds read in ``SgiRleDecode.c``, since Pillow 4.3.0. -There is an exhaustion of memory DOS in the BLP (:cve:`CVE-2021-27921`), -ICNS (:cve:`CVE-2021-27922`) and ICO (:cve:`CVE-2021-27923`) container formats -where Pillow did not properly check the reported size of the contained image. -These images could cause arbitrarily large memory allocations. This was reported -by Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan of -`Arizona State University `_. - Other Changes ============= diff --git a/docs/releasenotes/8.1.2.rst b/docs/releasenotes/8.1.2.rst new file mode 100644 index 000000000..50d132f33 --- /dev/null +++ b/docs/releasenotes/8.1.2.rst @@ -0,0 +1,12 @@ +8.1.2 +----- + +Security +======== + +There is an exhaustion of memory DOS in the BLP (:cve:`CVE-2021-27921`), +ICNS (:cve:`CVE-2021-27922`) and ICO (:cve:`CVE-2021-27923`) container formats +where Pillow did not properly check the reported size of the contained image. +These images could cause arbitrarily large memory allocations. This was reported +by Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan of +`Arizona State University `_. diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index 38aed08cf..117738675 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -15,6 +15,7 @@ expected to be backported to earlier versions. :maxdepth: 2 8.2.0 + 8.1.2 8.1.1 8.1.0 8.0.1 From 1d7cbeb338a6e042ad21e4e242c600200c1b5de9 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 6 Mar 2021 13:24:53 +1100 Subject: [PATCH 173/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 923142a61..50401e2c3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -23,6 +23,12 @@ Changelog (Pillow) - OSS-Fuzz support #5189 [wiredfool, radarhere] +8.1.2 (2021-03-06) +------------------ + +- Fix Memory DOS in BLP (CVE-2021-27921), ICNS (CVE-2021-27922) and ICO (CVE-2021-27923) Image Plugins + [wiredfool] + 8.1.1 (2021-03-01) ------------------ From 690cf9ebe2d7002eb134980cbb07ed7b113ae5bb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 6 Mar 2021 20:54:21 +1100 Subject: [PATCH 174/325] Allow alpha_composite destination to be negative --- Tests/test_image.py | 8 ++++++-- src/PIL/Image.py | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 73cf7bf83..de1999d3d 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -344,6 +344,12 @@ class TestImage: assert_image_equal(offset.crop((64, 64, 127, 127)), target.crop((0, 0, 63, 63))) assert offset.size == (128, 128) + # with negative offset + offset = src.copy() + offset.alpha_composite(over, (-64, -64)) + assert_image_equal(offset.crop((0, 0, 63, 63)), target.crop((64, 64, 127, 127))) + assert offset.size == (128, 128) + # offset and crop box = src.copy() box.alpha_composite(over, (64, 64), (0, 0, 32, 32)) @@ -367,8 +373,6 @@ class TestImage: source.alpha_composite(over, 0) with pytest.raises(ValueError): source.alpha_composite(over, (0, 0), 0) - with pytest.raises(ValueError): - source.alpha_composite(over, (0, -1)) with pytest.raises(ValueError): source.alpha_composite(over, (0, 0), (0, -1)) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 01fe7ed1b..d2a7c3490 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1544,8 +1544,6 @@ class Image: raise ValueError("Destination must be a 2-tuple") if min(source) < 0: raise ValueError("Source must be non-negative") - if min(dest) < 0: - raise ValueError("Destination must be non-negative") if len(source) == 2: source = source + im.size From ca204ba04f9c68708a5acd9f7a40bbea199f39af Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 7 Mar 2021 14:21:27 +1100 Subject: [PATCH 175/325] Removed Image._MODEINFO --- src/PIL/Image.py | 25 ++----------------------- src/PIL/ImageMode.py | 30 ++++++++++++++++++++---------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 01fe7ed1b..deb39435e 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -213,28 +213,7 @@ DECODERS = {} ENCODERS = {} # -------------------------------------------------------------------- -# Modes supported by this version - -_MODEINFO = { - # NOTE: this table will be removed in future versions. use - # getmode* functions or ImageMode descriptors instead. - # official modes - "1": ("L", "L", ("1",)), - "L": ("L", "L", ("L",)), - "I": ("L", "I", ("I",)), - "F": ("L", "F", ("F",)), - "P": ("P", "L", ("P",)), - "RGB": ("RGB", "L", ("R", "G", "B")), - "RGBX": ("RGB", "L", ("R", "G", "B", "X")), - "RGBA": ("RGB", "L", ("R", "G", "B", "A")), - "CMYK": ("RGB", "L", ("C", "M", "Y", "K")), - "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr")), - "LAB": ("RGB", "L", ("L", "A", "B")), - "HSV": ("RGB", "L", ("H", "S", "V")), - # Experimental modes include I;16, I;16L, I;16B, RGBa, BGR;15, and - # BGR;24. Use these modes only if you know exactly what you're - # doing... -} +# Modes if sys.byteorder == "little": _ENDIAN = "<" @@ -280,7 +259,7 @@ def _conv_type_shape(im): return (im.size[1], im.size[0], extra), typ -MODES = sorted(_MODEINFO) +MODES = ["1", "CMYK", "F", "HSV", "I", "L", "LAB", "P", "RGB", "RGBA", "RGBX", "YCbCr"] # raw modes that may be memory mapped. NOTE: if you change this, you # may have to modify the stride calculation in map.c too! diff --git a/src/PIL/ImageMode.py b/src/PIL/ImageMode.py index 988288329..0afcf9fe1 100644 --- a/src/PIL/ImageMode.py +++ b/src/PIL/ImageMode.py @@ -35,18 +35,28 @@ def getmode(mode): global _modes if not _modes: # initialize mode cache - - from . import Image - modes = {} - # core modes - for m, (basemode, basetype, bands) in Image._MODEINFO.items(): + for m, (basemode, basetype, bands) in { + # core modes + "1": ("L", "L", ("1",)), + "L": ("L", "L", ("L",)), + "I": ("L", "I", ("I",)), + "F": ("L", "F", ("F",)), + "P": ("P", "L", ("P",)), + "RGB": ("RGB", "L", ("R", "G", "B")), + "RGBX": ("RGB", "L", ("R", "G", "B", "X")), + "RGBA": ("RGB", "L", ("R", "G", "B", "A")), + "CMYK": ("RGB", "L", ("C", "M", "Y", "K")), + "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr")), + "LAB": ("RGB", "L", ("L", "A", "B")), + "HSV": ("RGB", "L", ("H", "S", "V")), + # extra experimental modes + "RGBa": ("RGB", "L", ("R", "G", "B", "a")), + "LA": ("L", "L", ("L", "A")), + "La": ("L", "L", ("L", "a")), + "PA": ("RGB", "L", ("P", "A")), + }.items(): modes[m] = ModeDescriptor(m, bands, basemode, basetype) - # extra experimental modes - modes["RGBa"] = ModeDescriptor("RGBa", ("R", "G", "B", "a"), "RGB", "L") - modes["LA"] = ModeDescriptor("LA", ("L", "A"), "L", "L") - modes["La"] = ModeDescriptor("La", ("L", "a"), "L", "L") - modes["PA"] = ModeDescriptor("PA", ("P", "A"), "RGB", "L") # mapping modes for i16mode in ( "I;16", From 441a1cf9cf7a6fa018e7cecdfbd70b5680b53f26 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 19:00:57 +1100 Subject: [PATCH 176/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 50401e2c3..aa25e7991 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,21 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Added IPythonViewer #5289 + [radarhere, Kipkurui-mutai] + +- Only draw each rectangle outline pixel once #5183 + [radarhere] + +- Use mmap instead of built-in Win32 mapper #5224 + [radarhere, cgohlke] + +- Handle PCX images with an odd stride #5214 + [radarhere] + +- Only read different sizes for "Large Thumbnail" MPO frames #5168 + [radarhere] + - Added PyQt6 support #5258 [radarhere] From 45c43fc9112e08b050fe5322399500c60fef2d90 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 19:39:28 +1100 Subject: [PATCH 177/325] Added release notes [ci skip] --- docs/releasenotes/8.2.0.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 28d39ca46..92909cfb5 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -13,10 +13,13 @@ when Tk/Tcl 8.5 will be the minimum supported. API Changes =========== -TODO -^^^^ +Image.alpha_composite: dest +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TODO +When calling :py:meth:`~PIL.Image.Image.alpha_composite`, the ``dest`` argument now +accepts negative co-ordinates, like the upper left corner of the ``box`` argument of +:py:meth:`~PIL.Image.Image.paste` can be negative. Naturally, this has effect of +cropping the overlaid image. API Additions ============= From f5d49f4f6166625fec381dc28886258a8be19f06 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 19:53:59 +1100 Subject: [PATCH 178/325] Added rounded_rectangle method --- Tests/images/imagedraw_rounded_rectangle.png | Bin 0 -> 934 bytes Tests/test_imagedraw.py | 28 ++++++++++++ docs/reference/ImageDraw.rst | 14 ++++++ src/PIL/ImageDraw.py | 45 +++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 Tests/images/imagedraw_rounded_rectangle.png diff --git a/Tests/images/imagedraw_rounded_rectangle.png b/Tests/images/imagedraw_rounded_rectangle.png new file mode 100644 index 0000000000000000000000000000000000000000..2e815f4ada247e8302c8cc5e053a162b4fe3ed01 GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k2}mkgS)OEIV9xb)aSW-L^Y+HYqE!YWZGkra z`|j^~zUcByEkULy+m*8KcJ6r0b6;iKWfq_w7JO{=uCm%MWtMrNFZA{Hn$kOmx$mrcylh_ev~WwS zgty)=UgoY9+4kq%s}Iie>-O!L=l3Kt@%*~)XYTyJsLt*EYRRoiQ~ffF50Ce5U9#%j z>c4MhiCe$nUA=YQs&jb>(YyN&-SnFD%b+*8urBrDH`(lM4Xf<@AJ06uUgws?wVYk6 z?5-Z%*7onYY+VlLYB~KI>+Eh%^j&Se=B7(%?7?^2%H&#C?dq#Ne=A={>DQrEyTiAw zUR_!9=<2SQ^JKd_`Zj3&Q?-~MRayVJ@2Sk5Woysh4fJT)&=JAC`dyqQ`}&;A_uI;J zlv-SYVgh1pg*rZu#DecshQo!%8SzkmVTE(;2wjg~sgADZUY zzLQPNopVC<%BkOdPLLSzJG}blm+ueEt;Gbb4{yqhJ-#pft}HMnx2;?7amw@XsBLc| zHh13om9u;GtUt$;Qj#OSRvcXRb!A^p_~m)B*=DiP^PeY#UN*T~w(d^Uv+T#W_ALBn zc5%;+jQ9C#u6b=+w^=&$YRQY^)!DYWbFUv*wd}9^!&`^?jtW=qlC{}=&$#%%`|oMt zH*QB+#!b5)D_i&Ca`e8IL-$;+pPvdzun)FNS@!G?Og_f*_k4A)%rW^DiIdyjMeGmF zGI)IT$Ha{r_Jx+&xQAvHSgg4Z&K>`Lal^6 Date: Mon, 22 Feb 2021 07:38:04 +1100 Subject: [PATCH 179/325] Only draw each pixel once --- .../imagedraw_rounded_rectangle_both.png | Bin 0 -> 530 bytes .../images/imagedraw_rounded_rectangle_x.png | Bin 0 -> 567 bytes .../images/imagedraw_rounded_rectangle_y.png | Bin 0 -> 528 bytes Tests/test_imagedraw.py | 24 ++++ src/PIL/ImageDraw.py | 103 +++++++++++++----- 5 files changed, 98 insertions(+), 29 deletions(-) create mode 100644 Tests/images/imagedraw_rounded_rectangle_both.png create mode 100644 Tests/images/imagedraw_rounded_rectangle_x.png create mode 100644 Tests/images/imagedraw_rounded_rectangle_y.png diff --git a/Tests/images/imagedraw_rounded_rectangle_both.png b/Tests/images/imagedraw_rounded_rectangle_both.png new file mode 100644 index 0000000000000000000000000000000000000000..24f600e3913ebc74a9c301e815f06f4ac0cfdd94 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^DIm7ZFWD}C_M}wCs{)<;eRDP)o0Zj@@g?*-%YXh2Cub>!tu2gw`02!~<0084 z-RnK1`%I^)u!s%^Wrko*Ci z>}`Huu3gs7ZhQOk`^z=c%tQ=M%qsIWS=Y?1;;o>R-BzHQ_2I-V^_n&7FNirrZ+iA| z>TR8qb5tKpF?HUtsJZ~?m)F{Rqb-XLEvk_Jv-s5<*OYTsYmCGKebp|D?4uWRojEl-z|T`s&ch> literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_rounded_rectangle_x.png b/Tests/images/imagedraw_rounded_rectangle_x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf5211a3340d62724b64a5517693c1fa2403e7d GIT binary patch literal 567 zcmeAS@N?(olHy`uVBq!ia0vp^DImsnv^Py)@I#H6G!aHYxGIp1VMO3=9uSE2Lu&$j^^gx8G4e{Yv2p zkI3asQ9VNDZr3i)l3N)brgi#JhWE^^-xt*;EnB3$euc-isrH`>r}fR}?p~rSHoY|G z)s>6WlCuNjBO`T#{Vi@?+BEI6=#;J5rxv}O7@MjXzmj?1v5@Su7beP23{88L@U%t0 zUOI2}narq-xt{scwG|aEzKp7;#;jQ_5L91BvpZlrp`NrOe<1yh3&3|zc8+e-t_F_ zROyHVGgTi<0ZJ_@HaK%q>b175p^DMd6%}G<*JfP{d~)X2S|jm|n^pz@L+woX(?2?D zn>h_W`!{4xVk&ixUF^)86}S4T?ZM~&{BLr5q-k>-Y>jTH`~Z%~^+)udCACbFI5_JE Oi0|p@=d#Wzp$Pyx_3|kI literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_rounded_rectangle_y.png b/Tests/images/imagedraw_rounded_rectangle_y.png new file mode 100644 index 0000000000000000000000000000000000000000..9b391b95e28ea723f75e90210945f1481d93d402 GIT binary patch literal 528 zcmeAS@N?(olHy`uVBq!ia0vp^DIm37 zx6T&5yXNj1ekQKN^_ScyZq&GA?4T4MP&VO)CM!@M7`Rka-?Xl+W8L@TeEEa!|J}W! zQZKw>cC3i#Pr23Q@l59RM>qGrtM~54Wu6K;S{iCM`Re8c{U?e)bai zaw}?Hd1Vm3RHWIrXHFfVaZ&s7&=$$1nAL zofUm1{en% z&%y@vNY;7$Q~ax)mtGGqnm7N!^FOmL6o&p;-`r5oBlscS1QtCv}Ao?m#zm1 NdAj= x1 - x0 + if full_x: + # The two left and two right corners are joined + d = x1 - x0 + full_y = d >= y1 - y0 + if full_y: + # The two top and two bottom corners are joined + d = y1 - y0 + if full_x and full_y: + # If all corners are joined, that is a circle + return self.ellipse(xy, fill, outline, width) + if d == 0: + # If the corners have no curve, that is a rectangle return self.rectangle(xy, fill, outline, width) ink, fill = self._getink(outline, fill) + + def draw_corners(pieslice): + if full_x: + # Draw top and bottom halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 180, 360), + ((x0, y1 - d, x0 + d, y1), 0, 180), + ) + elif full_y: + # Draw left and right halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 90, 270), + ((x1 - d, y0, x1, y0 + d), 270, 90), + ) + else: + # Draw four separate corners + parts = ( + ((x1 - d, y0, x1, y0 + d), 270, 360), + ((x1 - d, y1 - d, x1, y1), 0, 90), + ((x0, y1 - d, x0 + d, y1), 90, 180), + ((x0, y0, x0 + d, y0 + d), 180, 270), + ) + for part in parts: + if pieslice: + self.draw.draw_pieslice(*(part + (fill, 1))) + else: + self.draw.draw_arc(*(part + (ink, width))) + if fill is not None: - self.draw.draw_pieslice((x1 - d, y0, x1, y0 + d), 270, 360, fill, 1) - self.draw.draw_pieslice((x1 - d, y1 - d, x1, y1), 0, 90, fill, 1) - self.draw.draw_pieslice((x0, y1 - d, x0 + d, y1), 90, 180, fill, 1) - self.draw.draw_pieslice((x0, y0, x0 + d, y0 + d), 180, 270, fill, 1) + draw_corners(True) - self.draw.draw_rectangle((x0 + d / 2 + 1, y0, x1 - d / 2 - 1, y1), fill, 1) - self.draw.draw_rectangle( - (x0, y0 + d / 2 + 1, x0 + d / 2, y1 - d / 2 - 1), fill, 1 - ) - self.draw.draw_rectangle( - (x1 - d / 2, y0 + d / 2 + 1, x1, y1 - d / 2 - 1), fill, 1 - ) + if full_x: + self.draw.draw_rectangle( + (x0, y0 + d / 2 + 1, x1, y1 - d / 2 - 1), fill, 1 + ) + else: + self.draw.draw_rectangle( + (x0 + d / 2 + 1, y0, x1 - d / 2 - 1, y1), fill, 1 + ) + if not full_x and not full_y: + self.draw.draw_rectangle( + (x0, y0 + d / 2 + 1, x0 + d / 2, y1 - d / 2 - 1), fill, 1 + ) + self.draw.draw_rectangle( + (x1 - d / 2, y0 + d / 2 + 1, x1, y1 - d / 2 - 1), fill, 1 + ) if ink is not None and ink != fill and width != 0: - self.draw.draw_arc((x1 - d, y0, x1, y0 + d), 270, 360, ink, width) - self.draw.draw_arc((x1 - d, y1 - d, x1, y1), 0, 90, ink, width) - self.draw.draw_arc((x0, y1 - d, x0 + d, y1), 90, 180, ink, width) - self.draw.draw_arc((x0, y0, x0 + d, y0 + d), 180, 270, ink, width) + draw_corners(False) - self.draw.draw_rectangle( - (x1 - width + 1, y0 + d / 2 + 1, x1, y1 - d / 2 - 1), ink, 1 - ) - self.draw.draw_rectangle( - (x0 + d / 2 + 1, y1 - width + 1, x1 - d / 2 - 1, y1), ink, 1 - ) - self.draw.draw_rectangle( - (x0, y0 + d / 2 + 1, x0 + width - 1, y1 - d / 2 - 1), ink, 1 - ) - self.draw.draw_rectangle( - (x0 + d / 2 + 1, y0, x1 - d / 2 - 1, y0 + width - 1), ink, 1 - ) + if not full_x: + self.draw.draw_rectangle( + (x0 + d / 2 + 1, y0, x1 - d / 2 - 1, y0 + width - 1), ink, 1 + ) + self.draw.draw_rectangle( + (x0 + d / 2 + 1, y1 - width + 1, x1 - d / 2 - 1, y1), ink, 1 + ) + if not full_y: + self.draw.draw_rectangle( + (x0, y0 + d / 2 + 1, x0 + width - 1, y1 - d / 2 - 1), ink, 1 + ) + self.draw.draw_rectangle( + (x1 - width + 1, y0 + d / 2 + 1, x1, y1 - d / 2 - 1), ink, 1 + ) def _multiline_check(self, text): """Draw text.""" From 62bf920634164509f2465b2ae1d7924bc7065699 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 20:10:17 +1100 Subject: [PATCH 180/325] Added release notes [ci skip] --- docs/releasenotes/8.2.0.rst | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index f27f295a7..04d80e80e 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -13,10 +13,20 @@ when Tk/Tcl 8.5 will be the minimum supported. API Changes =========== -TODO -^^^^ +ImageDraw.rounded_rectangle +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TODO +Added :py:meth:`~PIL.ImageDraw.ImageDraw.rounded_rectangle`. It works the same as +:py:meth:`~PIL.ImageDraw.ImageDraw.rectangle`, except with an additional ``radius`` +argument. ``radius`` is limited to half of the width or the height, so that users can +create a circle, but not any other ellipse. + +.. code-block:: python + + from PIL import Image, ImageDraw + im = Image.new("RGB", (200, 200)) + draw = ImageDraw.Draw(im) + draw.rounded_rectangle(xy=(10, 20, 190, 180), radius=30, fill="red") API Additions ============= From ac1a9b28c9b7b405d6f3e52d49feebd3508706d4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 20:33:13 +1100 Subject: [PATCH 181/325] Added link to class and function [ci skip] --- docs/releasenotes/8.2.0.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index f27f295a7..d339479a5 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -24,14 +24,14 @@ API Additions ImageShow.IPythonViewer ^^^^^^^^^^^^^^^^^^^^^^^ -If IPython is present, this new ``ImageShow.Viewer`` subclass will be +If IPython is present, this new :py:class:`PIL.ImageShow.Viewer` subclass will be registered. It displays images on all IPython frontends. This will be helpful to users of Google Colab, allowing ``im.show()`` to display images. -It is lower in priority than the other default Viewer instances, so it will -only be used by ``im.show()`` or ``ImageShow.show()`` if none of the other -viewers are available. This means that the behaviour of ``ImageShow`` will stay -the same for most Pillow users. +It is lower in priority than the other default :py:class:`PIL.ImageShow.Viewer` +instances, so it will only be used by ``im.show()`` or :py:func:`.ImageShow.show()` +if none of the other viewers are available. This means that the behaviour of +:py:class:`PIL.ImageShow` will stay the same for most Pillow users. Security ======== From e7f5bb18312e6c6db1ec3cd4eec7272be094baaf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Feb 2021 18:19:05 +1100 Subject: [PATCH 182/325] Ensure file is closed if it is opened by ImageQt.ImageQt --- Tests/test_imageqt.py | 13 +++++++++++-- src/PIL/ImageQt.py | 19 +++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/Tests/test_imageqt.py b/Tests/test_imageqt.py index 404849cb9..53b1fef7c 100644 --- a/Tests/test_imageqt.py +++ b/Tests/test_imageqt.py @@ -4,11 +4,14 @@ from PIL import ImageQt from .helper import hopper +pytestmark = pytest.mark.skipif( + not ImageQt.qt_is_installed, reason="Qt bindings are not installed" +) + if ImageQt.qt_is_installed: from PIL.ImageQt import qRgba -@pytest.mark.skipif(not ImageQt.qt_is_installed, reason="Qt bindings are not installed") def test_rgb(): # from https://doc.qt.io/archives/qt-4.8/qcolor.html # typedef QRgb @@ -38,7 +41,13 @@ def test_rgb(): checkrgb(0, 0, 255) -@pytest.mark.skipif(not ImageQt.qt_is_installed, reason="Qt bindings are not installed") def test_image(): for mode in ("1", "RGB", "RGBA", "L", "P"): ImageQt.ImageQt(hopper(mode)) + + +def test_closed_file(): + with pytest.warns(None) as record: + ImageQt.ImageQt("Tests/images/hopper.gif") + + assert not record diff --git a/src/PIL/ImageQt.py b/src/PIL/ImageQt.py index 74ca3166c..56650e102 100644 --- a/src/PIL/ImageQt.py +++ b/src/PIL/ImageQt.py @@ -128,6 +128,7 @@ def align8to32(bytes, width, mode): def _toqclass_helper(im): data = None colortable = None + exclusive_fp = False # handle filename, if given instead of image name if hasattr(im, "toUtf8"): @@ -135,6 +136,7 @@ def _toqclass_helper(im): im = str(im.toUtf8(), "utf-8") if isPath(im): im = Image.open(im) + exclusive_fp = True qt_format = QImage.Format if qt_version == "6" else QImage if im.mode == "1": @@ -157,10 +159,15 @@ def _toqclass_helper(im): data = im.tobytes("raw", "BGRA") format = qt_format.Format_ARGB32 else: + if exclusive_fp: + im.close() raise ValueError(f"unsupported image mode {repr(im.mode)}") - __data = data or align8to32(im.tobytes(), im.size[0], im.mode) - return {"data": __data, "im": im, "format": format, "colortable": colortable} + size = im.size + __data = data or align8to32(im.tobytes(), size[0], im.mode) + if exclusive_fp: + im.close() + return {"data": __data, "size": size, "format": format, "colortable": colortable} if qt_is_installed: @@ -182,8 +189,8 @@ if qt_is_installed: self.__data = im_data["data"] super().__init__( self.__data, - im_data["im"].size[0], - im_data["im"].size[1], + im_data["size"][0], + im_data["size"][1], im_data["format"], ) if im_data["colortable"]: @@ -197,8 +204,8 @@ def toqimage(im): def toqpixmap(im): # # This doesn't work. For now using a dumb approach. # im_data = _toqclass_helper(im) - # result = QPixmap(im_data['im'].size[0], im_data['im'].size[1]) - # result.loadFromData(im_data['data']) + # result = QPixmap(im_data["size"][0], im_data["size"][1]) + # result.loadFromData(im_data["data"]) # Fix some strange bug that causes if im.mode == "RGB": im = im.convert("RGBA") From 666d3c5d3f2c042fef3a2f2976458a67bf72e245 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 22:21:22 +1100 Subject: [PATCH 183/325] Use bash shell for mkdir command --- .github/workflows/test-windows.yml | 2 +- .github/workflows/test.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 12c288374..32518c9d1 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -174,7 +174,7 @@ jobs: if: failure() run: | mkdir -p Tests/errors - shell: pwsh + shell: bash - name: Upload errors uses: actions/upload-artifact@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4064a0589..e52fefc69 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -92,7 +92,6 @@ jobs: if: failure() run: | mkdir -p Tests/errors - shell: pwsh - name: Upload errors uses: actions/upload-artifact@v2 From 7c7a68867df60e5ca668a6cc703776355c79fff6 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Mar 2021 23:15:59 +1100 Subject: [PATCH 184/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index aa25e7991..3695ed964 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Ensure file is closed if it is opened by ImageQt.ImageQt #5260 + [radarhere] + +- Added ImageDraw rounded_rectangle method #5208 + [radarhere] + - Added IPythonViewer #5289 [radarhere, Kipkurui-mutai] From 21da5b1ed8e905b7f3e4198207486317304b8698 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Mar 2021 07:09:50 +1100 Subject: [PATCH 185/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 3695ed964..57e7f75cc 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Allow alpha_composite destination to be negative #5313 + [radarhere] + - Ensure file is closed if it is opened by ImageQt.ImageQt #5260 [radarhere] From e54880c6528efcc41c4a942b938398c1ddcd5644 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 10 Mar 2021 13:17:19 +1100 Subject: [PATCH 186/325] Moved RGB fix inside ImageQt class --- Tests/test_qt_image_qapplication.py | 27 +++++++++++++++++++++++++-- src/PIL/ImageQt.py | 9 ++++----- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/Tests/test_qt_image_qapplication.py b/Tests/test_qt_image_qapplication.py index a3d5620d3..dec790c50 100644 --- a/Tests/test_qt_image_qapplication.py +++ b/Tests/test_qt_image_qapplication.py @@ -2,18 +2,26 @@ import pytest from PIL import ImageQt -from .helper import assert_image_equal, hopper +from .helper import assert_image_equal, assert_image_equal_tofile, hopper if ImageQt.qt_is_installed: from PIL.ImageQt import QPixmap if ImageQt.qt_version == "6": + from PyQt6.QtCore import QPoint + from PyQt6.QtGui import QImage, QPainter, QRegion from PyQt6.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget elif ImageQt.qt_version == "side6": + from PySide6.QtCore import QPoint + from PySide6.QtGui import QImage, QPainter, QRegion from PySide6.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget elif ImageQt.qt_version == "5": + from PyQt5.QtCore import QPoint + from PyQt5.QtGui import QImage, QPainter, QRegion from PyQt5.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget elif ImageQt.qt_version == "side2": + from PySide2.QtCore import QPoint + from PySide2.QtGui import QImage, QPainter, QRegion from PySide2.QtWidgets import QApplication, QHBoxLayout, QLabel, QWidget class Example(QWidget): @@ -49,7 +57,8 @@ def test_sanity(tmp_path): for mode in ("1", "RGB", "RGBA", "L", "P"): # to QPixmap - data = ImageQt.toqpixmap(hopper(mode)) + im = hopper(mode) + data = ImageQt.toqpixmap(im) assert isinstance(data, QPixmap) assert not data.isNull() @@ -58,6 +67,20 @@ def test_sanity(tmp_path): tempfile = str(tmp_path / f"temp_{mode}.png") data.save(tempfile) + # Render the image + qimage = ImageQt.ImageQt(im) + data = QPixmap.fromImage(qimage) + qt_format = QImage.Format if ImageQt.qt_version == "6" else QImage + qimage = QImage(128, 128, qt_format.Format_ARGB32) + painter = QPainter(qimage) + image_label = QLabel() + image_label.setPixmap(data) + image_label.render(painter, QPoint(0, 0), QRegion(0, 0, 128, 128)) + painter.end() + rendered_tempfile = str(tmp_path / f"temp_rendered_{mode}.png") + qimage.save(rendered_tempfile) + assert_image_equal_tofile(im.convert("RGBA"), rendered_tempfile) + # from QPixmap roundtrip(hopper(mode)) diff --git a/src/PIL/ImageQt.py b/src/PIL/ImageQt.py index 56650e102..32630f2ca 100644 --- a/src/PIL/ImageQt.py +++ b/src/PIL/ImageQt.py @@ -153,7 +153,10 @@ def _toqclass_helper(im): for i in range(0, len(palette), 3): colortable.append(rgb(*palette[i : i + 3])) elif im.mode == "RGB": - data = im.tobytes("raw", "BGRX") + # Populate the 4th channel with 255 + im = im.convert("RGBA") + + data = im.tobytes("raw", "BGRA") format = qt_format.Format_RGB32 elif im.mode == "RGBA": data = im.tobytes("raw", "BGRA") @@ -206,9 +209,5 @@ def toqpixmap(im): # im_data = _toqclass_helper(im) # result = QPixmap(im_data["size"][0], im_data["size"][1]) # result.loadFromData(im_data["data"]) - # Fix some strange bug that causes - if im.mode == "RGB": - im = im.convert("RGBA") - qimage = toqimage(im) return QPixmap.fromImage(qimage) From f42d6cf1ac493ed7007af4c1c86810fcf1557e4b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 10 Mar 2021 20:16:49 +1100 Subject: [PATCH 187/325] Save ICC profile from TIFF encoderinfo --- Tests/test_file_png.py | 2 ++ Tests/test_file_tiff.py | 22 ++++++++++++++++++++++ src/PIL/TiffImagePlugin.py | 5 +++-- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 57bc7f015..52ea3b6d2 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -517,6 +517,8 @@ class TestFilePng: def test_discard_icc_profile(self): with Image.open("Tests/images/icc_profile.png") as im: + assert "icc_profile" in im.info + im = roundtrip(im, icc_profile=None) assert "icc_profile" not in im.info diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index f09117ca7..ba7f9a084 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -568,6 +568,28 @@ class TestFileTiff: with Image.open(tmpfile) as reloaded: assert b"Dummy value" == reloaded.info["icc_profile"] + def test_save_icc_profile(self, tmp_path): + im = hopper() + assert "icc_profile" not in im.info + + outfile = str(tmp_path / "temp.tif") + icc_profile = b"Dummy value" + im.save(outfile, icc_profile=icc_profile) + + with Image.open(outfile) as reloaded: + assert reloaded.info["icc_profile"] == icc_profile + + def test_discard_icc_profile(self, tmp_path): + outfile = str(tmp_path / "temp.tif") + + with Image.open("Tests/images/icc_profile.png") as im: + assert "icc_profile" in im.info + + im.save(outfile, icc_profile=None) + + with Image.open(outfile) as reloaded: + assert "icc_profile" not in reloaded.info + def test_close_on_load_exclusive(self, tmp_path): # similar to test_fd_leak, but runs on unixlike os tmpfile = str(tmp_path / "temp.tif") diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 0b70ce382..98c70d7c4 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1481,8 +1481,9 @@ def _save(im, fp, filename): # preserve ICC profile (should also work when saving other formats # which support profiles as TIFF) -- 2008-06-06 Florian Hoech - if "icc_profile" in im.info: - ifd[ICCPROFILE] = im.info["icc_profile"] + icc = im.encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + ifd[ICCPROFILE] = icc for key, name in [ (IMAGEDESCRIPTION, "description"), From 68b655f3f014c6beb13f4c9a6fa53f1ebff527c2 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Wed, 10 Mar 2021 20:43:16 +1100 Subject: [PATCH 188/325] Updated format specifiers --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index a67091921..746994da3 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -56,7 +56,7 @@ _tiffReadProc(thandle_t hdata, tdata_t buf, tsize_t size) { dump_state(state); if (state->loc > state->eof) { - TIFFError("_tiffReadProc", "Invalid Read at loc %lu, eof: %lu", state->loc, state->eof); + TIFFError("_tiffReadProc", "Invalid Read at loc %llu, eof: %llu", state->loc, state->eof); return 0; } to_read = min(size, min(state->size, (tsize_t)state->eof) - (tsize_t)state->loc); From 188d4f6b6abffe7ecb71f3e03d11079138661b60 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 12 Mar 2021 12:03:45 +1100 Subject: [PATCH 189/325] Only import numpy when necessary --- src/PIL/ImageFilter.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/PIL/ImageFilter.py b/src/PIL/ImageFilter.py index 9ca17d9ad..6800bc3a0 100644 --- a/src/PIL/ImageFilter.py +++ b/src/PIL/ImageFilter.py @@ -16,11 +16,6 @@ # import functools -try: - import numpy -except ImportError: # pragma: no cover - numpy = None - class Filter: pass @@ -369,6 +364,13 @@ class Color3DLUT(MultibandFilter): items = size[0] * size[1] * size[2] wrong_size = False + numpy = None + if hasattr(table, "shape"): + try: + import numpy + except ImportError: # pragma: no cover + pass + if numpy and isinstance(table, numpy.ndarray): if copy_table: table = table.copy() From 2844fd2d18e2711db7facd9bd61f6aaa0ee7cef0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 12 Mar 2021 22:45:07 +1100 Subject: [PATCH 190/325] Fixed unclosed file warning --- Tests/test_file_icns.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index 7ce8cb286..30ec3dc72 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -143,8 +143,8 @@ def test_not_an_icns_file(): def test_icns_decompression_bomb(): - with pytest.raises(Image.DecompressionBombError): - im = Image.open( - "Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns" - ) - im.load() + with Image.open( + "Tests/images/oom-8ed3316a4109213ca96fb8a256a0bfefdece1461.icns" + ) as im: + with pytest.raises(Image.DecompressionBombError): + im.load() From 38692f222f0f5e8bfa5edd34e719f8ea9416721d Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 13 Mar 2021 11:09:37 +0100 Subject: [PATCH 191/325] Delegate building of oss-fuzz versions to pillow --- Tests/oss-fuzz/build.sh | 46 ++++++++++++++++++++++++++++ Tests/oss-fuzz/build_dictionaries.sh | 33 ++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100755 Tests/oss-fuzz/build.sh create mode 100755 Tests/oss-fuzz/build_dictionaries.sh diff --git a/Tests/oss-fuzz/build.sh b/Tests/oss-fuzz/build.sh new file mode 100755 index 000000000..1d05bea79 --- /dev/null +++ b/Tests/oss-fuzz/build.sh @@ -0,0 +1,46 @@ +#!/bin/bash -eu +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +python3 setup.py build --build-base=/tmp/build install + +# Build fuzzers in $OUT. +for fuzzer in $(find $SRC -name 'fuzz_*.py'); do + fuzzer_basename=$(basename -s .py $fuzzer) + fuzzer_package=${fuzzer_basename}.pkg + pyinstaller \ + --add-binary /usr/local/lib/libjpeg.so.9:. \ + --add-binary /usr/local/lib/libfreetype.so.6:. \ + --add-binary /usr/local/lib/liblcms2.so.2:. \ + --add-binary /usr/local/lib/libopenjp2.so.7:. \ + --add-binary /usr/local/lib/libpng16.so.16:. \ + --add-binary /usr/local/lib/libtiff.so.5:. \ + --add-binary /usr/local/lib/libwebp.so.7:. \ + --add-binary /usr/local/lib/libwebpdemux.so.2:. \ + --add-binary /usr/local/lib/libwebpmux.so.3:. \ + --distpath $OUT --onefile --name $fuzzer_package $fuzzer + + # Create execution wrapper. + echo "#!/bin/sh +# LLVMFuzzerTestOneInput for fuzzer detection. +this_dir=\$(dirname \"\$0\") +LD_PRELOAD=\$this_dir/sanitizer_with_fuzzer.so \ +ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm-symbolizer:detect_leaks=0 \ +\$this_dir/$fuzzer_package \$@" > $OUT/$fuzzer_basename + chmod u+x $OUT/$fuzzer_basename +done + +find Tests/images Tests/icc Tests/fonts -print | zip -q $OUT/fuzz_pillow_seed_corpus.zip -@ diff --git a/Tests/oss-fuzz/build_dictionaries.sh b/Tests/oss-fuzz/build_dictionaries.sh new file mode 100755 index 000000000..9aae56ca8 --- /dev/null +++ b/Tests/oss-fuzz/build_dictionaries.sh @@ -0,0 +1,33 @@ +#!/bin/bash -eu +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# Generate image dictionaries here for each of the fuzzers and put them in the +# $OUT directory, named for the fuzzer + +git clone --depth 1 https://github.com/google/fuzzing +cat fuzzing/dictionaries/bmp.dict \ + fuzzing/dictionaries/dds.dict \ + fuzzing/dictionaries/gif.dict \ + fuzzing/dictionaries/icns.dict \ + fuzzing/dictionaries/jpeg.dict \ + fuzzing/dictionaries/jpeg2000.dict \ + fuzzing/dictionaries/pbm.dict \ + fuzzing/dictionaries/png.dict \ + fuzzing/dictionaries/psd.dict \ + fuzzing/dictionaries/tiff.dict \ + fuzzing/dictionaries/webp.dict \ + > $OUT/fuzz_pillow.dict From e2577d1736617968110ef658b94150f114b17e41 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sat, 13 Mar 2021 11:35:50 +0100 Subject: [PATCH 192/325] font fuzzer --- Tests/oss-fuzz/build.sh | 3 ++- Tests/oss-fuzz/fuzz_font.py | 47 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100755 Tests/oss-fuzz/fuzz_font.py diff --git a/Tests/oss-fuzz/build.sh b/Tests/oss-fuzz/build.sh index 1d05bea79..fc54ee3ee 100755 --- a/Tests/oss-fuzz/build.sh +++ b/Tests/oss-fuzz/build.sh @@ -43,4 +43,5 @@ ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm chmod u+x $OUT/$fuzzer_basename done -find Tests/images Tests/icc Tests/fonts -print | zip -q $OUT/fuzz_pillow_seed_corpus.zip -@ +find Tests/images Tests/icc -print | zip -q $OUT/fuzz_pillow_seed_corpus.zip -@ +find Tests/fonts -print | zip -q $OUT/fuzz_font_seed_corpus.zip -@ diff --git a/Tests/oss-fuzz/fuzz_font.py b/Tests/oss-fuzz/fuzz_font.py new file mode 100755 index 000000000..43c23fe60 --- /dev/null +++ b/Tests/oss-fuzz/fuzz_font.py @@ -0,0 +1,47 @@ +#!/usr/bin/python3 + +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import io +import sys +import warnings + +import atheris_no_libfuzzer as atheris + +from PIL import Image, ImageDraw, ImageFont + + +def TestOneInput(data): + try: + with ImageFont.load(io.BytesIO(data)) as font: + font.getsize_multiline("ABC\nAaaa") + font.getmask("test text") + with Image.new(mode="RGBA", size=(200, 200)) as im: + draw = ImageDraw.Draw(im) + draw.text((10,10), "Test Text", font) + except Exception: + # We're catching all exceptions because Pillow's exceptions are + # directly inheriting from Exception. + return + return + + +def main(): + atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) + atheris.Fuzz() + + +if __name__ == "__main__": + main() From 16dbffc3a8deee69daf0b5f4f787b2b6dc07f763 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 14 Mar 2021 13:31:16 +1100 Subject: [PATCH 193/325] _crop already makes a copy of the image --- src/PIL/GifImagePlugin.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 7c083bd8b..e66665965 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -267,14 +267,15 @@ class GifImageFile(ImageFile.ImageFile): # replace with background colour Image._decompression_bomb_check(self.size) self.dispose = Image.core.fill("P", self.size, self.info["background"]) + + # only dispose the extent in this frame + if self.dispose: + self.dispose = self._crop(self.dispose, self.dispose_extent) else: # replace with previous contents if self.im: - self.dispose = self.im.copy() - - # only dispose the extent in this frame - if self.dispose: - self.dispose = self._crop(self.dispose, self.dispose_extent) + # only dispose the extent in this frame + self.dispose = self._crop(self.im, self.dispose_extent) except (AttributeError, KeyError): pass From 2f84f633e38e2f708bae2a0d65115e05abc8f3dd Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 14 Mar 2021 13:40:55 +1100 Subject: [PATCH 194/325] Create disposal image at the destination size, instead of cropping --- src/PIL/GifImagePlugin.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index e66665965..ba08bd074 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -265,12 +265,15 @@ class GifImageFile(ImageFile.ImageFile): self.dispose = None elif self.disposal_method == 2: # replace with background colour - Image._decompression_bomb_check(self.size) - self.dispose = Image.core.fill("P", self.size, self.info["background"]) # only dispose the extent in this frame - if self.dispose: - self.dispose = self._crop(self.dispose, self.dispose_extent) + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + self.dispose = Image.core.fill( + "P", dispose_size, self.info["background"] + ) else: # replace with previous contents if self.im: From cfcedcc5203acb26f79d1b59a38521eee605b4f3 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 14 Mar 2021 21:21:40 +1100 Subject: [PATCH 195/325] icc_profile is now a keyword argument when saving TIFF files [ci skip] --- docs/handbook/image-file-formats.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index 35c4177aa..0ccd3b1a4 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -901,6 +901,9 @@ using the general tags available through tiffinfo. **copyright** Strings +**icc_profile** + The ICC Profile to include in the saved file. + **resolution_unit** An integer. 1 for no unit, 2 for inches and 3 for centimeters. From d466620cfa31e5caf5b6fdd1aade93b5df144ee1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 14 Mar 2021 21:25:16 +1100 Subject: [PATCH 196/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 57e7f75cc..dbe06304d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Save ICC profile from TIFF encoderinfo #5321 + [radarhere] + +- Moved RGB fix inside ImageQt class #5268 + [radarhere] + - Allow alpha_composite destination to be negative #5313 [radarhere] From becd633d3f6c7fab7e6027d86ae3fbb6a09cfbd4 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 12:21:02 +0100 Subject: [PATCH 197/325] Refactor fuzzers, add fuzzer tests --- Tests/oss-fuzz/fuzz_font.py | 10 ++-------- Tests/oss-fuzz/fuzz_pillow.py | 15 ++++----------- Tests/oss-fuzz/fuzzers.py | 33 +++++++++++++++++++++++++++++++++ Tests/oss-fuzz/test_fuzzers.py | 31 +++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 19 deletions(-) create mode 100644 Tests/oss-fuzz/fuzzers.py create mode 100644 Tests/oss-fuzz/test_fuzzers.py diff --git a/Tests/oss-fuzz/fuzz_font.py b/Tests/oss-fuzz/fuzz_font.py index 43c23fe60..ec3a4b2de 100755 --- a/Tests/oss-fuzz/fuzz_font.py +++ b/Tests/oss-fuzz/fuzz_font.py @@ -20,17 +20,11 @@ import warnings import atheris_no_libfuzzer as atheris -from PIL import Image, ImageDraw, ImageFont - +import fuzzers def TestOneInput(data): try: - with ImageFont.load(io.BytesIO(data)) as font: - font.getsize_multiline("ABC\nAaaa") - font.getmask("test text") - with Image.new(mode="RGBA", size=(200, 200)) as im: - draw = ImageDraw.Draw(im) - draw.text((10,10), "Test Text", font) + fuzzers.fuzz_font(data) except Exception: # We're catching all exceptions because Pillow's exceptions are # directly inheriting from Exception. diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py index 894068f63..695e9e5eb 100644 --- a/Tests/oss-fuzz/fuzz_pillow.py +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -18,28 +18,21 @@ import io import sys import warnings +import fuzzers + import atheris_no_libfuzzer as atheris -from PIL import Image, ImageFile, ImageFilter - - def TestOneInput(data): try: - with Image.open(io.BytesIO(data)) as im: - im.rotate(45) - im.filter(ImageFilter.DETAIL) - im.save(io.BytesIO(), "BMP") + fuzzers.fuzz_image(data) except Exception: # We're catching all exceptions because Pillow's exceptions are # directly inheriting from Exception. return return - def main(): - ImageFile.LOAD_TRUNCATED_IMAGES = True - warnings.filterwarnings("ignore") - warnings.simplefilter("error", Image.DecompressionBombWarning) + fuzzers.enable_decompressionbomb_error() atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) atheris.Fuzz() diff --git a/Tests/oss-fuzz/fuzzers.py b/Tests/oss-fuzz/fuzzers.py new file mode 100644 index 000000000..f7c395e76 --- /dev/null +++ b/Tests/oss-fuzz/fuzzers.py @@ -0,0 +1,33 @@ +import warnings +import io + +from PIL import Image, ImageFont, ImageDraw, ImageFilter, ImageFile, PcfFontFile + +def enable_decompressionbomb_error(): + ImageFile.LOAD_TRUNCATED_IMAGES = True + warnings.filterwarnings("ignore") + warnings.simplefilter("error", Image.DecompressionBombWarning) + +def fuzz_image(data): + # This will fail on some images in the corpus, as we have many + # invalid images in the test suite. + with Image.open(io.BytesIO(data)) as im: + im.rotate(45) + im.filter(ImageFilter.DETAIL) + im.save(io.BytesIO(), "BMP") + +def fuzz_font(data): + # This should not fail on a valid font load for any of the fonts in the corpus + wrapper = io.BytesIO(data) + try: + font = ImageFont.truetype(wrapper) + except OSError: + # pcf/pilfonts/random garbage here here. They're different. + return + + font.getsize_multiline("ABC\nAaaa") + font.getmask("test text") + with Image.new(mode="RGBA", size=(200, 200)) as im: + draw = ImageDraw.Draw(im) + draw.multiline_textsize("ABC\nAaaa", font, stroke_width=2) + draw.text((10,10), "Test Text", font=font, fill="#000") diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py new file mode 100644 index 000000000..56b1ee9a0 --- /dev/null +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -0,0 +1,31 @@ +import pytest + +import fuzzers +import glob +import subprocess + +from PIL import Image + +@pytest.mark.parametrize("path", subprocess.check_output('find Tests/images -type f', shell=True).split(b'\n')) +def test_fuzz_images(path): + fuzzers.enable_decompressionbomb_error() + try: + with open(path, 'rb') as f: + fuzzers.fuzz_image(f.read()) + assert True + except (OSError, SyntaxError, MemoryError, ValueError, NotImplementedError): + # Known exceptions that are through from Pillow + assert True + except (Image.DecompressionBombError, Image.DecompressionBombWarning, + Image.UnidentifiedImageError): + # Known Image.* exceptions + assert True + + +@pytest.mark.parametrize("path", subprocess.check_output('find Tests/fonts -type f', shell=True).split(b'\n')) +def test_fuzz_fonts(path): + if not path or b'LICENSE.txt' in path or b'.pil' in path: + return + with open(path, 'rb') as f: + fuzzers.fuzz_font(f.read()) + assert True From 6d6ef4a539e2eb2a5103073495841de63cf4e852 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 12:21:25 +0100 Subject: [PATCH 198/325] Ignore the pyinstaller spec files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 15add232b..5500ec037 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,6 @@ Tests/images/jpeg2000 Tests/images/msp Tests/images/picins Tests/images/sunraster + +# pyinstaller +*.spec From c17ce801cfba4a850381ca6811e5b27b09bffe10 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:02:48 +0100 Subject: [PATCH 199/325] I see a python file and I want to paint it black --- Tests/oss-fuzz/fuzz_font.py | 2 +- Tests/oss-fuzz/fuzz_pillow.py | 3 ++- Tests/oss-fuzz/fuzzers.py | 9 ++++++--- Tests/oss-fuzz/test_fuzzers.py | 29 +++++++++++++++++++---------- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/Tests/oss-fuzz/fuzz_font.py b/Tests/oss-fuzz/fuzz_font.py index ec3a4b2de..3cea56fd7 100755 --- a/Tests/oss-fuzz/fuzz_font.py +++ b/Tests/oss-fuzz/fuzz_font.py @@ -19,9 +19,9 @@ import sys import warnings import atheris_no_libfuzzer as atheris - import fuzzers + def TestOneInput(data): try: fuzzers.fuzz_font(data) diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py index 695e9e5eb..8112dd9a0 100644 --- a/Tests/oss-fuzz/fuzz_pillow.py +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -18,9 +18,9 @@ import io import sys import warnings +import atheris_no_libfuzzer as atheris import fuzzers -import atheris_no_libfuzzer as atheris def TestOneInput(data): try: @@ -31,6 +31,7 @@ def TestOneInput(data): return return + def main(): fuzzers.enable_decompressionbomb_error() atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) diff --git a/Tests/oss-fuzz/fuzzers.py b/Tests/oss-fuzz/fuzzers.py index f7c395e76..c3fa1f0ce 100644 --- a/Tests/oss-fuzz/fuzzers.py +++ b/Tests/oss-fuzz/fuzzers.py @@ -1,13 +1,15 @@ -import warnings import io +import warnings + +from PIL import Image, ImageDraw, ImageFile, ImageFilter, ImageFont, PcfFontFile -from PIL import Image, ImageFont, ImageDraw, ImageFilter, ImageFile, PcfFontFile def enable_decompressionbomb_error(): ImageFile.LOAD_TRUNCATED_IMAGES = True warnings.filterwarnings("ignore") warnings.simplefilter("error", Image.DecompressionBombWarning) + def fuzz_image(data): # This will fail on some images in the corpus, as we have many # invalid images in the test suite. @@ -16,6 +18,7 @@ def fuzz_image(data): im.filter(ImageFilter.DETAIL) im.save(io.BytesIO(), "BMP") + def fuzz_font(data): # This should not fail on a valid font load for any of the fonts in the corpus wrapper = io.BytesIO(data) @@ -30,4 +33,4 @@ def fuzz_font(data): with Image.new(mode="RGBA", size=(200, 200)) as im: draw = ImageDraw.Draw(im) draw.multiline_textsize("ABC\nAaaa", font, stroke_width=2) - draw.text((10,10), "Test Text", font=font, fill="#000") + draw.text((10, 10), "Test Text", font=font, fill="#000") diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 56b1ee9a0..aa13ff1b2 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -1,31 +1,40 @@ -import pytest - -import fuzzers import glob import subprocess +import fuzzers +import pytest + from PIL import Image -@pytest.mark.parametrize("path", subprocess.check_output('find Tests/images -type f', shell=True).split(b'\n')) + +@pytest.mark.parametrize( + "path", + subprocess.check_output("find Tests/images -type f", shell=True).split(b"\n"), +) def test_fuzz_images(path): fuzzers.enable_decompressionbomb_error() try: - with open(path, 'rb') as f: + with open(path, "rb") as f: fuzzers.fuzz_image(f.read()) assert True except (OSError, SyntaxError, MemoryError, ValueError, NotImplementedError): # Known exceptions that are through from Pillow assert True - except (Image.DecompressionBombError, Image.DecompressionBombWarning, - Image.UnidentifiedImageError): + except ( + Image.DecompressionBombError, + Image.DecompressionBombWarning, + Image.UnidentifiedImageError, + ): # Known Image.* exceptions assert True -@pytest.mark.parametrize("path", subprocess.check_output('find Tests/fonts -type f', shell=True).split(b'\n')) +@pytest.mark.parametrize( + "path", subprocess.check_output("find Tests/fonts -type f", shell=True).split(b"\n") +) def test_fuzz_fonts(path): - if not path or b'LICENSE.txt' in path or b'.pil' in path: + if not path or b"LICENSE.txt" in path or b".pil" in path: return - with open(path, 'rb') as f: + with open(path, "rb") as f: fuzzers.fuzz_font(f.read()) assert True From 8b06fec6ab62c2c588c7e8723fec4fc2ff218515 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:14:39 +0100 Subject: [PATCH 200/325] linty bits --- Tests/oss-fuzz/fuzz_font.py | 2 -- Tests/oss-fuzz/fuzz_pillow.py | 2 -- Tests/oss-fuzz/fuzzers.py | 2 +- Tests/oss-fuzz/test_fuzzers.py | 1 - 4 files changed, 1 insertion(+), 6 deletions(-) diff --git a/Tests/oss-fuzz/fuzz_font.py b/Tests/oss-fuzz/fuzz_font.py index 3cea56fd7..9f21a1fa5 100755 --- a/Tests/oss-fuzz/fuzz_font.py +++ b/Tests/oss-fuzz/fuzz_font.py @@ -14,9 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import io import sys -import warnings import atheris_no_libfuzzer as atheris import fuzzers diff --git a/Tests/oss-fuzz/fuzz_pillow.py b/Tests/oss-fuzz/fuzz_pillow.py index 8112dd9a0..d816d535f 100644 --- a/Tests/oss-fuzz/fuzz_pillow.py +++ b/Tests/oss-fuzz/fuzz_pillow.py @@ -14,9 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import io import sys -import warnings import atheris_no_libfuzzer as atheris import fuzzers diff --git a/Tests/oss-fuzz/fuzzers.py b/Tests/oss-fuzz/fuzzers.py index c3fa1f0ce..156653f1d 100644 --- a/Tests/oss-fuzz/fuzzers.py +++ b/Tests/oss-fuzz/fuzzers.py @@ -1,7 +1,7 @@ import io import warnings -from PIL import Image, ImageDraw, ImageFile, ImageFilter, ImageFont, PcfFontFile +from PIL import Image, ImageDraw, ImageFile, ImageFilter, ImageFont def enable_decompressionbomb_error(): diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index aa13ff1b2..fc5b21840 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -1,4 +1,3 @@ -import glob import subprocess import fuzzers From 6189bca3bc238c11ec31de30091a60012d9acfa6 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:27:47 +0100 Subject: [PATCH 201/325] Skip fuzzer tests on windows --- Tests/oss-fuzz/test_fuzzers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index fc5b21840..f7be87373 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -1,11 +1,15 @@ import subprocess +import sys import fuzzers import pytest from PIL import Image +def is_win32(): + sys.platform.startswith("win32") +@pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", subprocess.check_output("find Tests/images -type f", shell=True).split(b"\n"), @@ -27,7 +31,7 @@ def test_fuzz_images(path): # Known Image.* exceptions assert True - +@pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", subprocess.check_output("find Tests/fonts -type f", shell=True).split(b"\n") ) From 0ea13132a24cec8dbbf729630e480d26742879f0 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:32:44 +0100 Subject: [PATCH 202/325] Overflow error shows up in x86 --- Tests/oss-fuzz/test_fuzzers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index f7be87373..d7c16f144 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -20,7 +20,12 @@ def test_fuzz_images(path): with open(path, "rb") as f: fuzzers.fuzz_image(f.read()) assert True - except (OSError, SyntaxError, MemoryError, ValueError, NotImplementedError): + except (OSError, + SyntaxError, + MemoryError, + ValueError, + NotImplementedError, + OverflowError): # Known exceptions that are through from Pillow assert True except ( From bb6b991d8d74ae4f09063dac9ed78d7df3ed3596 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:49:36 +0100 Subject: [PATCH 203/325] no colors anymore, they want them to turn black --- Tests/oss-fuzz/test_fuzzers.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index d7c16f144..410fff505 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -6,9 +6,11 @@ import pytest from PIL import Image + def is_win32(): sys.platform.startswith("win32") + @pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", @@ -20,12 +22,14 @@ def test_fuzz_images(path): with open(path, "rb") as f: fuzzers.fuzz_image(f.read()) assert True - except (OSError, - SyntaxError, - MemoryError, - ValueError, - NotImplementedError, - OverflowError): + except ( + OSError, + SyntaxError, + MemoryError, + ValueError, + NotImplementedError, + OverflowError, + ): # Known exceptions that are through from Pillow assert True except ( @@ -36,6 +40,7 @@ def test_fuzz_images(path): # Known Image.* exceptions assert True + @pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", subprocess.check_output("find Tests/fonts -type f", shell=True).split(b"\n") From 487dc16ce6ee4f71815329acb023d28ac6529d74 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 13:57:24 +0100 Subject: [PATCH 204/325] Can't skip windows properly because the depenedncy is in the decorator --- Tests/oss-fuzz/test_fuzzers.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 410fff505..4ccdeca4a 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -7,11 +7,10 @@ import pytest from PIL import Image -def is_win32(): - sys.platform.startswith("win32") +if sys.platform.startswith("win32"): + pytest.skip("Fuzzer is linux only", true) -@pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", subprocess.check_output("find Tests/images -type f", shell=True).split(b"\n"), @@ -41,7 +40,6 @@ def test_fuzz_images(path): assert True -@pytest.mark.skipif(is_win32(), reason="Fuzzer is linux only") @pytest.mark.parametrize( "path", subprocess.check_output("find Tests/fonts -type f", shell=True).split(b"\n") ) From 961b2c0242df0b749c2524ce51e4272f2bd160d2 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 14:03:41 +0100 Subject: [PATCH 205/325] True --- Tests/oss-fuzz/test_fuzzers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 4ccdeca4a..97fe4a60f 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -8,7 +8,7 @@ from PIL import Image if sys.platform.startswith("win32"): - pytest.skip("Fuzzer is linux only", true) + pytest.skip("Fuzzer is linux only", True) @pytest.mark.parametrize( From 862e3b9d8e19fb7c222ecd590ac94c97f459ae6f Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 14:11:48 +0100 Subject: [PATCH 206/325] Apparently, it's a keyword-only parameter --- Tests/oss-fuzz/test_fuzzers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 97fe4a60f..b5e6a3d86 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -8,7 +8,7 @@ from PIL import Image if sys.platform.startswith("win32"): - pytest.skip("Fuzzer is linux only", True) + pytest.skip("Fuzzer is linux only", allow_module_level=True) @pytest.mark.parametrize( From 76e0422eb7810963a455443910a6ceeb9e39d631 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 14:13:37 +0100 Subject: [PATCH 207/325] Isort linted that there's an extra line, which black didn't worry about --- Tests/oss-fuzz/test_fuzzers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index b5e6a3d86..c61cb7e55 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -6,7 +6,6 @@ import pytest from PIL import Image - if sys.platform.startswith("win32"): pytest.skip("Fuzzer is linux only", allow_module_level=True) From d0d42cd7c25bbdd27b5a64b69d5340b006852bb0 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 11 Mar 2021 22:32:30 +0100 Subject: [PATCH 208/325] Install pytest-timeout on the ci. (dry?) --- .ci/install.sh | 1 + .github/workflows/macos-install.sh | 1 + .github/workflows/test-windows.yml | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.ci/install.sh b/.ci/install.sh index 9372d0c51..4917b3a7c 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -27,6 +27,7 @@ python3 -m pip install coverage python3 -m pip install olefile python3 -m pip install -U pytest python3 -m pip install -U pytest-cov +python3 -m pip install -U pytest-timeout python3 -m pip install pyroma python3 -m pip install test-image-results # TODO Remove condition when numpy supports 3.10 diff --git a/.github/workflows/macos-install.sh b/.github/workflows/macos-install.sh index afcb9a5a7..f45824445 100755 --- a/.github/workflows/macos-install.sh +++ b/.github/workflows/macos-install.sh @@ -9,6 +9,7 @@ python3 -m pip install coverage python3 -m pip install olefile python3 -m pip install -U pytest python3 -m pip install -U pytest-cov +python3 -m pip install -U pytest-timeout python3 -m pip install pyroma python3 -m pip install test-image-results diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index f3bb85f32..8cab06efb 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -57,8 +57,8 @@ jobs: - name: Print build system information run: python .github/workflows/system-info.py - - name: python -m pip install wheel pytest pytest-cov - run: python -m pip install wheel pytest pytest-cov + - name: python -m pip install wheel pytest pytest-cov pytest-timeout + run: python -m pip install wheel pytest pytest-cov pytest-timeout # TODO Remove when 3.8 / 3.9 includes setuptools 49.3.2+: - name: Upgrade setuptools From 12715c5ea9097af314d3ffec688800c91b9c9f23 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 14:22:27 +0100 Subject: [PATCH 209/325] Install Pytest-timeout in dev-requirements --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 1ed1356f9..4b534ae53 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,7 @@ packaging pyroma pytest pytest-cov +pytest-timeout sphinx>=2.4 sphinx-issues sphinx-removed-in From b57aee53a2ecbbc56d3da212aa08ab9184e8a7f1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 15 Mar 2021 08:30:27 +1100 Subject: [PATCH 210/325] Added release notes for #5321 [ci skip] --- docs/releasenotes/8.2.0.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index bbac2449f..95b17ab31 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -51,6 +51,14 @@ instances, so it will only be used by ``im.show()`` or :py:func:`.ImageShow.show if none of the other viewers are available. This means that the behaviour of :py:class:`PIL.ImageShow` will stay the same for most Pillow users. +Saving TIFF with ICC profile +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +As is already possible for JPEG, PNG and WebP, the ICC profile for TIFF files can now +be specified through a keyword argument:: + + im.save("out.tif", icc_profile=...) + Security ======== From d45247eb6683d660cd151a4b3db555eb3f97d03b Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 15 Mar 2021 00:14:43 +0100 Subject: [PATCH 211/325] Add decompression bomb error to font fuzzer --- Tests/oss-fuzz/fuzz_font.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/oss-fuzz/fuzz_font.py b/Tests/oss-fuzz/fuzz_font.py index 9f21a1fa5..bdfda7a13 100755 --- a/Tests/oss-fuzz/fuzz_font.py +++ b/Tests/oss-fuzz/fuzz_font.py @@ -31,6 +31,7 @@ def TestOneInput(data): def main(): + fuzzers.enable_decompressionbomb_error() atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) atheris.Fuzz() From 83dabda6b2df344ecc6352d2b4d1e20fee4120dc Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 15 Mar 2021 00:18:07 +0100 Subject: [PATCH 212/325] Clean up comments and filters --- Tests/oss-fuzz/fuzzers.py | 4 ++-- Tests/oss-fuzz/test_fuzzers.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/oss-fuzz/fuzzers.py b/Tests/oss-fuzz/fuzzers.py index 156653f1d..1e7a4e27d 100644 --- a/Tests/oss-fuzz/fuzzers.py +++ b/Tests/oss-fuzz/fuzzers.py @@ -20,12 +20,12 @@ def fuzz_image(data): def fuzz_font(data): - # This should not fail on a valid font load for any of the fonts in the corpus wrapper = io.BytesIO(data) try: font = ImageFont.truetype(wrapper) except OSError: - # pcf/pilfonts/random garbage here here. They're different. + # Catch pcf/pilfonts/random garbage here. They return + # different font objects. return font.getsize_multiline("ABC\nAaaa") diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index c61cb7e55..04d4fd16b 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -43,7 +43,7 @@ def test_fuzz_images(path): "path", subprocess.check_output("find Tests/fonts -type f", shell=True).split(b"\n") ) def test_fuzz_fonts(path): - if not path or b"LICENSE.txt" in path or b".pil" in path: + if not path: return with open(path, "rb") as f: fuzzers.fuzz_font(f.read()) From ad37e86c40e42a10300c763acba7bdf53dd7c28a Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 15 Mar 2021 00:21:18 +0100 Subject: [PATCH 213/325] DecompressionBombError is now an option --- Tests/oss-fuzz/test_fuzzers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 04d4fd16b..8de71eb4b 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -46,5 +46,9 @@ def test_fuzz_fonts(path): if not path: return with open(path, "rb") as f: - fuzzers.fuzz_font(f.read()) + try: + fuzzers.fuzz_font(f.read()) + except (Image.DecompressionBombError, + Image.DecompressionBombWarning): + pass assert True From c52b45df62a34b14c66159db777e9d3fc942fb55 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 15 Mar 2021 12:32:42 +1100 Subject: [PATCH 214/325] Removed automatic retrieval of GPS IFD --- Tests/test_file_jpeg.py | 4 ++-- src/PIL/Image.py | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 740f9fa4d..3ee33d65f 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -264,11 +264,11 @@ class TestFileJpeg: assert exif[0x0112] == Image.TRANSVERSE # Assert that the GPS IFD is present and empty - assert exif[0x8825] == {} + assert exif.get_ifd(0x8825) == {} transposed = ImageOps.exif_transpose(im) exif = transposed.getexif() - assert exif[0x8825] == {} + assert exif.get_ifd(0x8825) == {} # Assert that it was transposed assert 0x0112 not in exif diff --git a/src/PIL/Image.py b/src/PIL/Image.py index df3ebfd18..31eab54a4 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3360,6 +3360,10 @@ class Exif(MutableMapping): if ifd: merged_dict.update(ifd) + # GPS + if 0x8825 in self: + merged_dict[0x8825] = self._get_ifd_dict(self[0x8825]) + return merged_dict def tobytes(self, offset=8): @@ -3371,7 +3375,7 @@ class Exif(MutableMapping): head = b"MM\x00\x2A\x00\x00\x00\x08" ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) for tag, value in self.items(): - if tag in [0x8769, 0x8225] and not isinstance(value, dict): + if tag in [0x8769, 0x8225, 0x8825] and not isinstance(value, dict): value = self.get_ifd(tag) if ( tag == 0x8769 @@ -3491,8 +3495,6 @@ class Exif(MutableMapping): def __getitem__(self, tag): if self._info is not None and tag not in self._data and tag in self._info: self._data[tag] = self._fixup(self._info[tag]) - if tag == 0x8825: - self._data[tag] = self.get_ifd(tag) del self._info[tag] return self._data[tag] From 36a4b055bba2c2ffff6945f0bb071ac1554c26ac Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 15 Mar 2021 12:50:30 +1100 Subject: [PATCH 215/325] Updated comments --- src/PIL/Image.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 545fdc019..2e7abfb68 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -3397,6 +3397,7 @@ class Exif(MutableMapping): self.get_ifd(0x8769) tag_data = self._ifds[0x8769][tag] if tag == 0x927C: + # makernote from .TiffImagePlugin import ImageFileDirectory_v2 if tag_data[:8] == b"FUJIFILM": @@ -3472,7 +3473,7 @@ class Exif(MutableMapping): makernote = {0x1101: dict(self._fixup_dict(camerainfo))} self._ifds[tag] = makernote else: - # gpsinfo, interop + # interop self._ifds[tag] = self._get_ifd_dict(tag_data) return self._ifds.get(tag, {}) From c801db7a32312a2e75cf9766f38972d237b56ab8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 15 Mar 2021 21:27:07 +1100 Subject: [PATCH 216/325] Added test for saving PNG with bits keyword --- Tests/test_file_png.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 52ea3b6d2..c8d441485 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -625,6 +625,15 @@ class TestFilePng: with Image.open("Tests/images/hopper_idat_after_image_end.png") as im: assert im.text == {"TXT": "VALUE", "ZIP": "VALUE"} + def test_specify_bits(self, tmp_path): + im = hopper("P") + + out = str(tmp_path / "temp.png") + im.save(out, bits=4) + + with Image.open(out) as reloaded: + assert len(reloaded.png.im_palette[1]) == 48 + def test_exif(self): # With an EXIF chunk with Image.open("Tests/images/exif.png") as im: From d7cbc9a27e8907ed4dfae1127eb97bf6a365733c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 16 Mar 2021 22:19:48 +1100 Subject: [PATCH 217/325] Corrected grammar --- src/libImaging/GifDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/GifDecode.c b/src/libImaging/GifDecode.c index 88ae3896c..5817001ac 100644 --- a/src/libImaging/GifDecode.c +++ b/src/libImaging/GifDecode.c @@ -221,7 +221,7 @@ ImagingGifDecode(Imaging im, ImagingCodecState state, UINT8 *buffer, Py_ssize_t if (context->next < GIFTABLE) { /* We'll only add this symbol if we have room - for it (take advise, Netscape!) */ + for it (take the advice, Netscape!) */ context->data[context->next] = c; context->link[context->next] = context->lastcode; From a4a314f765443c088744deca074325ff4c005262 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 23 Oct 2018 22:33:57 -0500 Subject: [PATCH 218/325] GIF: Support transparency in the native decoder. Allow the transparency index to be passed to the native decoder. If not -1, pixels with this index will be left at their previous value. This only adds the decoder support and isn't active yet. --- src/PIL/GifImagePlugin.py | 2 +- src/decode.c | 4 +++- src/libImaging/Gif.h | 3 +++ src/libImaging/GifDecode.c | 38 +++++++++++++++++++++----------------- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 7c083bd8b..131aa939e 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -251,7 +251,7 @@ class GifImageFile(ImageFile.ImageFile): bits = self.fp.read(1)[0] self.__offset = self.fp.tell() self.tile = [ - ("gif", (x0, y0, x1, y1), self.__offset, (bits, interlace)) + ("gif", (x0, y0, x1, y1), self.__offset, (bits, interlace, -1)) ] break diff --git a/src/decode.c b/src/decode.c index 5d64bd0b9..a29c6a46e 100644 --- a/src/decode.c +++ b/src/decode.c @@ -430,7 +430,8 @@ PyImaging_GifDecoderNew(PyObject *self, PyObject *args) { char *mode; int bits = 8; int interlace = 0; - if (!PyArg_ParseTuple(args, "s|ii", &mode, &bits, &interlace)) { + int transparency = -1; + if (!PyArg_ParseTuple(args, "s|iii", &mode, &bits, &interlace, &transparency)) { return NULL; } @@ -448,6 +449,7 @@ PyImaging_GifDecoderNew(PyObject *self, PyObject *args) { ((GIFDECODERSTATE *)decoder->state.context)->bits = bits; ((GIFDECODERSTATE *)decoder->state.context)->interlace = interlace; + ((GIFDECODERSTATE *)decoder->state.context)->transparency = transparency; return (PyObject *)decoder; } diff --git a/src/libImaging/Gif.h b/src/libImaging/Gif.h index a85ce2b6e..0f44df795 100644 --- a/src/libImaging/Gif.h +++ b/src/libImaging/Gif.h @@ -30,6 +30,9 @@ typedef struct { */ int interlace; + /* The transparent palette index, or -1 for no transparency. */ + int transparency; + /* PRIVATE CONTEXT (set by decoder) */ /* Interlace parameters */ diff --git a/src/libImaging/GifDecode.c b/src/libImaging/GifDecode.c index 88ae3896c..5392198da 100644 --- a/src/libImaging/GifDecode.c +++ b/src/libImaging/GifDecode.c @@ -248,29 +248,33 @@ ImagingGifDecode(Imaging im, ImagingCodecState state, UINT8 *buffer, Py_ssize_t /* To squeeze some extra pixels out of this loop, we test for some common cases and handle them separately. */ - /* FIXME: should we handle the transparency index in here??? */ - - if (i == 1) { - if (state->x < state->xsize - 1) { - /* Single pixel, not at the end of the line. */ - *out++ = p[0]; - state->x++; + /* If we have transparency, we need to use the regular loop. */ + if (context->transparency == -1) { + if (i == 1) { + if (state->x < state->xsize - 1) { + /* Single pixel, not at the end of the line. */ + *out++ = p[0]; + state->x++; + continue; + } + } else if (state->x + i <= state->xsize) { + /* This string fits into current line. */ + memcpy(out, p, i); + out += i; + state->x += i; + if (state->x == state->xsize) { + NEWLINE(state, context); + } continue; } - } else if (state->x + i <= state->xsize) { - /* This string fits into current line. */ - memcpy(out, p, i); - out += i; - state->x += i; - if (state->x == state->xsize) { - NEWLINE(state, context); - } - continue; } /* No shortcut, copy pixel by pixel */ for (c = 0; c < i; c++) { - *out++ = p[c]; + if (p[c] != context->transparency) { + *out = p[c]; + } + out++; if (++state->x >= state->xsize) { NEWLINE(state, context); } From 18854dcf14c7c66a7c56929ddf9714fb843af8a1 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 23 Oct 2018 23:15:15 -0500 Subject: [PATCH 219/325] GIF: Handle GIF transparency in the decoder. Remove the special case for disposal_method == 1 and handle GIF transparency by telling the decoder the transparent index. --- src/PIL/GifImagePlugin.py | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 131aa939e..bf2db4260 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -145,7 +145,6 @@ class GifImageFile(ImageFile.ImageFile): self.dispose_extent = [0, 0, 0, 0] # x0, y0, x1, y1 self.__frame = -1 self.__fp.seek(self.__rewind) - self._prev_im = None self.disposal_method = 0 else: # ensure that the previous frame was loaded @@ -250,9 +249,10 @@ class GifImageFile(ImageFile.ImageFile): # image data bits = self.fp.read(1)[0] self.__offset = self.fp.tell() - self.tile = [ - ("gif", (x0, y0, x1, y1), self.__offset, (bits, interlace, -1)) - ] + self.tile = [("gif", + (x0, y0, x1, y1), + self.__offset, + (bits, interlace, info.get("transparency", -1)))] break else: @@ -295,20 +295,6 @@ class GifImageFile(ImageFile.ImageFile): def tell(self): return self.__frame - def load_end(self): - ImageFile.ImageFile.load_end(self) - - # if the disposal method is 'do not dispose', transparent - # pixels should show the content of the previous frame - if self._prev_im and self._prev_disposal_method == 1: - # we do this by pasting the updated area onto the previous - # frame which we then use as the current image content - updated = self._crop(self.im, self.dispose_extent) - self._prev_im.paste(updated, self.dispose_extent, updated.convert("RGBA")) - self.im = self._prev_im - self._prev_im = self.im.copy() - self._prev_disposal_method = self.disposal_method - def _close__fp(self): try: if self.__fp != self.fp: From b216b367ac91d5d8514d97d42b30805df7529c86 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 17 Mar 2021 00:24:57 +1100 Subject: [PATCH 220/325] Only set info transparency on first frame --- Tests/images/different_transparency.gif | Bin 0 -> 4118 bytes .../images/different_transparency_merged.gif | Bin 0 -> 3046 bytes Tests/test_file_gif.py | 17 +++++++++-- Tests/test_file_webp_animated.py | 4 +-- src/PIL/GifImagePlugin.py | 27 +++++++++++++----- 5 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 Tests/images/different_transparency.gif create mode 100644 Tests/images/different_transparency_merged.gif diff --git a/Tests/images/different_transparency.gif b/Tests/images/different_transparency.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d36bef9e360923246f7d29c705f39ef1d732021 GIT binary patch literal 4118 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 1b2314d51..52d7f035d 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -468,12 +468,25 @@ def test_dispose2_background(tmp_path): assert im.getpixel((0, 0)) == 0 -def test_iss634(): +def test_transparency_in_second_frame(): + with Image.open("Tests/images/different_transparency.gif") as im: + assert im.info["transparency"] == 0 + + # Seek to the second frame + im.seek(im.tell() + 1) + assert im.info["transparency"] == 0 + + assert_image_equal_tofile(im, "Tests/images/different_transparency_merged.gif") + + +def test_no_transparency_in_second_frame(): with Image.open("Tests/images/iss634.gif") as img: # Seek to the second frame img.seek(img.tell() + 1) + assert "transparency" not in img.info + # All transparent pixels should be replaced with the color from the first frame - assert img.histogram()[img.info["transparency"]] == 0 + assert img.histogram()[255] == 0 def test_duration(tmp_path): diff --git a/Tests/test_file_webp_animated.py b/Tests/test_file_webp_animated.py index 26e903488..25ebffe02 100644 --- a/Tests/test_file_webp_animated.py +++ b/Tests/test_file_webp_animated.py @@ -45,12 +45,12 @@ def test_write_animation_L(tmp_path): # Compare first and last frames to the original animated GIF orig.load() im.load() - assert_image_similar(im, orig.convert("RGBA"), 25.0) + assert_image_similar(im, orig.convert("RGBA"), 32.9) orig.seek(orig.n_frames - 1) im.seek(im.n_frames - 1) orig.load() im.load() - assert_image_similar(im, orig.convert("RGBA"), 25.0) + assert_image_similar(im, orig.convert("RGBA"), 32.9) @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index bf2db4260..2f6d98204 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -173,6 +173,8 @@ class GifImageFile(ImageFile.ImageFile): self.palette = copy(self.global_palette) info = {} + frame_transparency = None + interlace = None while True: s = self.fp.read(1) @@ -191,7 +193,7 @@ class GifImageFile(ImageFile.ImageFile): # flags = block[0] if flags & 1: - info["transparency"] = block[3] + frame_transparency = block[3] info["duration"] = i16(block, 1) * 10 # disposal method - find the value of bits 4 - 6 @@ -249,10 +251,6 @@ class GifImageFile(ImageFile.ImageFile): # image data bits = self.fp.read(1)[0] self.__offset = self.fp.tell() - self.tile = [("gif", - (x0, y0, x1, y1), - self.__offset, - (bits, interlace, info.get("transparency", -1)))] break else: @@ -278,11 +276,26 @@ class GifImageFile(ImageFile.ImageFile): except (AttributeError, KeyError): pass - if not self.tile: + if interlace is not None: + transparency = -1 + if frame_transparency is not None: + if frame == 0: + self.info["transparency"] = frame_transparency + else: + transparency = frame_transparency + self.tile = [ + ( + "gif", + (x0, y0, x1, y1), + self.__offset, + (bits, interlace, transparency), + ) + ] + else: # self.__fp = None raise EOFError - for k in ["transparency", "duration", "comment", "extension", "loop"]: + for k in ["duration", "comment", "extension", "loop"]: if k in info: self.info[k] = info[k] elif k in self.info: From b7a76899be42fc1f5fc91663fc0b93724bc5e9f7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 17 Mar 2021 07:51:32 +1100 Subject: [PATCH 221/325] Updated harfbuzz to 2.8.0 --- winbuild/build_prepare.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 7b561aa4e..a20fef02b 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -275,9 +275,9 @@ deps = { "libs": [r"*.lib"], }, "harfbuzz": { - "url": "https://github.com/harfbuzz/harfbuzz/archive/2.7.4.zip", - "filename": "harfbuzz-2.7.4.zip", - "dir": "harfbuzz-2.7.4", + "url": "https://github.com/harfbuzz/harfbuzz/archive/2.8.0.zip", + "filename": "harfbuzz-2.8.0.zip", + "dir": "harfbuzz-2.8.0", "build": [ cmd_cmake("-DHB_HAVE_FREETYPE:BOOL=TRUE"), cmd_nmake(target="clean"), From dd097fe1fd6bbfd22611f1dc5427e4220e7a437a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 17 Mar 2021 11:14:12 +1100 Subject: [PATCH 222/325] Updated list of TIFF compression methods [ci skip] --- docs/handbook/image-file-formats.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index 0ccd3b1a4..ef95fc21d 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -876,10 +876,10 @@ The :py:meth:`~PIL.Image.Image.save` method can take the following keyword argum **compression** A string containing the desired compression method for the file. (valid only with libtiff installed) Valid compression - methods are: :data:`None`, ``"tiff_ccitt"``, ``"group3"``, - ``"group4"``, ``"tiff_jpeg"``, ``"tiff_adobe_deflate"``, - ``"tiff_thunderscan"``, ``"tiff_deflate"``, ``"tiff_sgilog"``, - ``"tiff_sgilog24"``, ``"tiff_raw_16"`` + methods are: :data:`None`, ``"tiff_ccitt"``, ``"group3"``, ``"group4"``, + ``"tiff_lzw"``, ``"jpeg"``, ``"tiff_adobe_deflate"``, ``"tiff_raw_16"``, + ``"packbits"``, ``"tiff_thunderscan"``, ``"tiff_deflate"``, ``"tiff_sgilog"``, + ``"tiff_sgilog24"``, ``"lzma"``, ``"zstd"``, ``"webp"`` **quality** The image quality for JPEG compression, on a scale from 0 (worst) to 100 From 8f37f8dcb0c2eaffbb61b13b42cb3dd0582c75cf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 17 Mar 2021 17:54:37 +1100 Subject: [PATCH 223/325] Sorted TIFF compression methods alphabetically [ci skip] --- docs/handbook/image-file-formats.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index ef95fc21d..fa4735cf8 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -876,10 +876,10 @@ The :py:meth:`~PIL.Image.Image.save` method can take the following keyword argum **compression** A string containing the desired compression method for the file. (valid only with libtiff installed) Valid compression - methods are: :data:`None`, ``"tiff_ccitt"``, ``"group3"``, ``"group4"``, - ``"tiff_lzw"``, ``"jpeg"``, ``"tiff_adobe_deflate"``, ``"tiff_raw_16"``, - ``"packbits"``, ``"tiff_thunderscan"``, ``"tiff_deflate"``, ``"tiff_sgilog"``, - ``"tiff_sgilog24"``, ``"lzma"``, ``"zstd"``, ``"webp"`` + methods are: :data:`None`, ``"group3"``, ``"group4"``, ``"jpeg"``, ``"lzma"``, + ``"packbits"``, ``"tiff_adobe_deflate"``, ``"tiff_ccitt"``, ``"tiff_deflate"``, + ``"tiff_lzw"``, ``"tiff_raw_16"``, ``"tiff_sgilog"``, ``"tiff_sgilog24"``, + ``"tiff_thunderscan"``, ``"webp"`, ``"zstd"`` **quality** The image quality for JPEG compression, on a scale from 0 (worst) to 100 From 1d8c5a820cd335a6b4f8d534e3f2fa4aa9112e0a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 17 Mar 2021 20:37:31 +1100 Subject: [PATCH 224/325] Use duration from info dictionary when saving --- Tests/test_file_webp.py | 13 +++++++++++++ src/PIL/WebPImagePlugin.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index c1eb86ae5..cde7020ed 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -176,3 +176,16 @@ class TestFileWebp: [abs(original_value[i] - reread_value[i]) for i in range(0, 3)] ) assert difference < 5 + + @skip_unless_feature("webp") + @skip_unless_feature("webp_anim") + def test_duration(self, tmp_path): + with Image.open("Tests/images/dispose_bgnd.gif") as im: + assert im.info["duration"] == 1000 + + out_webp = str(tmp_path / "temp.webp") + im.save(out_webp, save_all=True) + + with Image.open(out_webp) as reloaded: + reloaded.load() + assert reloaded.info["duration"] == 1000 diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 2e9746fa3..c9b700314 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -192,7 +192,7 @@ def _save_all(im, fp, filename): r, g, b = palette[background * 3 : (background + 1) * 3] background = (r, g, b, 0) - duration = im.encoderinfo.get("duration", 0) + duration = im.encoderinfo.get("duration", im.info.get("duration")) loop = im.encoderinfo.get("loop", 0) minimize_size = im.encoderinfo.get("minimize_size", False) kmin = im.encoderinfo.get("kmin", None) From 94df4ec1c95932ec498e8be307498a1cd9241cbe Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Wed, 17 Mar 2021 23:16:35 +1100 Subject: [PATCH 225/325] Lint fix --- Tests/oss-fuzz/test_fuzzers.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tests/oss-fuzz/test_fuzzers.py b/Tests/oss-fuzz/test_fuzzers.py index 8de71eb4b..a243c0260 100644 --- a/Tests/oss-fuzz/test_fuzzers.py +++ b/Tests/oss-fuzz/test_fuzzers.py @@ -48,7 +48,6 @@ def test_fuzz_fonts(path): with open(path, "rb") as f: try: fuzzers.fuzz_font(f.read()) - except (Image.DecompressionBombError, - Image.DecompressionBombWarning): + except (Image.DecompressionBombError, Image.DecompressionBombWarning): pass assert True From 298600381f0ca6308688985c5ddfbc131b817981 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 19 Mar 2021 12:00:29 +1100 Subject: [PATCH 226/325] Replaced tiff_deflate with tiff_adobe_deflate compression when saving --- Tests/test_file_libtiff.py | 8 ++++++++ src/PIL/TiffImagePlugin.py | 2 ++ 2 files changed, 10 insertions(+) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 7a5a5b462..d6f4900cd 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -471,6 +471,14 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(out) as reloaded: assert reloaded.info["compression"] == "jpeg" + def test_tiff_deflate_compression(self, tmp_path): + im = hopper("RGB") + out = str(tmp_path / "temp.tif") + im.save(out, compression="tiff_deflate") + + with Image.open(out) as reloaded: + assert reloaded.info["compression"] == "tiff_adobe_deflate" + def test_quality(self, tmp_path): im = hopper("RGB") out = str(tmp_path / "temp.tif") diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 98c70d7c4..19bcf4419 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1442,6 +1442,8 @@ def _save(im, fp, filename): elif compression == "tiff_jpeg": # OJPEG is obsolete, so use new-style JPEG compression instead compression = "jpeg" + elif compression == "tiff_deflate": + compression = "tiff_adobe_deflate" libtiff = WRITE_LIBTIFF or compression != "raw" From 242af47a686d0c4a6eaee07e59569795289701c5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 19 Mar 2021 12:14:41 +1100 Subject: [PATCH 227/325] Removed obsolete "tiff_deflate" from compression methods [ci skip] --- docs/handbook/image-file-formats.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index fa4735cf8..c67f8fb8f 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -877,9 +877,9 @@ The :py:meth:`~PIL.Image.Image.save` method can take the following keyword argum A string containing the desired compression method for the file. (valid only with libtiff installed) Valid compression methods are: :data:`None`, ``"group3"``, ``"group4"``, ``"jpeg"``, ``"lzma"``, - ``"packbits"``, ``"tiff_adobe_deflate"``, ``"tiff_ccitt"``, ``"tiff_deflate"``, - ``"tiff_lzw"``, ``"tiff_raw_16"``, ``"tiff_sgilog"``, ``"tiff_sgilog24"``, - ``"tiff_thunderscan"``, ``"webp"`, ``"zstd"`` + ``"packbits"``, ``"tiff_adobe_deflate"``, ``"tiff_ccitt"``, ``"tiff_lzw"``, + ``"tiff_raw_16"``, ``"tiff_sgilog"``, ``"tiff_sgilog24"``, ``"tiff_thunderscan"``, + ``"webp"`, ``"zstd"`` **quality** The image quality for JPEG compression, on a scale from 0 (worst) to 100 From 03eecb51d561f24ca5d5714cf9af53f568e90a9a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 19 Mar 2021 18:03:44 +1100 Subject: [PATCH 228/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index dbe06304d..99aa94f9a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Replaced tiff_deflate with tiff_adobe_deflate compression when saving TIFF images #5343 + [radarhere] + - Save ICC profile from TIFF encoderinfo #5321 [radarhere] From 7a32dfd5e30934000ca4dcc9624f6aec2fa20e0e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 20 Mar 2021 08:30:09 +1100 Subject: [PATCH 229/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 99aa94f9a..6bd8ef8b5 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Stop flattening EXIF IFD into getexif() #4947 + [radarhere, kkopachev] + - Replaced tiff_deflate with tiff_adobe_deflate compression when saving TIFF images #5343 [radarhere] From 309d6f662cf43d65ed756e5bd3290ae291625463 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 20 Mar 2021 08:32:39 +1100 Subject: [PATCH 230/325] Moved rounded_rectangle to API additions [ci skip] --- docs/releasenotes/8.2.0.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 95b17ab31..02df50bc8 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -21,6 +21,9 @@ accepts negative co-ordinates, like the upper left corner of the ``box`` argumen :py:meth:`~PIL.Image.Image.paste` can be negative. Naturally, this has effect of cropping the overlaid image. +API Additions +============= + ImageDraw.rounded_rectangle ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -36,9 +39,6 @@ create a circle, but not any other ellipse. draw = ImageDraw.Draw(im) draw.rounded_rectangle(xy=(10, 20, 190, 180), radius=30, fill="red") -API Additions -============= - ImageShow.IPythonViewer ^^^^^^^^^^^^^^^^^^^^^^^ From da9b1046935177f1e202c4e0f7934f600a68eeae Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 20 Mar 2021 08:43:32 +1100 Subject: [PATCH 231/325] Document #4947 [ci skip] --- docs/releasenotes/8.2.0.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 02df50bc8..d82bf45c2 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -21,6 +21,20 @@ accepts negative co-ordinates, like the upper left corner of the ``box`` argumen :py:meth:`~PIL.Image.Image.paste` can be negative. Naturally, this has effect of cropping the overlaid image. +Image.getexif: EXIF and GPS IFD +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Previously, :py:meth:`~PIL.Image.Image.getexif` flattened the EXIF IFD into the rest of +the data, losing information. This information is now kept separate, moved under +``im.getexif().get_ifd(0x8769)``. + +Direct access to the GPS IFD dictionary was possible through ``im.getexif()[0x8825]``. +This is now consistent with other IFDs, and must be accessed through +``im.getexif().get_ifd(0x8825)``. + +These changes only affect :py:meth:`~PIL.Image.Image.getexif`, introduced in Pillow +6.0. The older ``_getexif()`` methods are unaffected. + API Additions ============= From 6591297239d4fd28ea41585fb6fa1f7c9096f6d2 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 20 Mar 2021 22:32:27 +1100 Subject: [PATCH 232/325] Increased use of assert_image_equal_tofile --- Tests/test_imagedraw.py | 115 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/Tests/test_imagedraw.py b/Tests/test_imagedraw.py index 55a4b03e2..06c5b2503 100644 --- a/Tests/test_imagedraw.py +++ b/Tests/test_imagedraw.py @@ -856,20 +856,19 @@ def create_base_image_draw( def test_square(): - with Image.open(os.path.join(IMAGES_PATH, "square.png")) as expected: - expected.load() - img, draw = create_base_image_draw((10, 10)) - draw.polygon([(2, 2), (2, 7), (7, 7), (7, 2)], BLACK) - assert_image_equal(img, expected, "square as normal polygon failed") - img, draw = create_base_image_draw((10, 10)) - draw.polygon([(7, 7), (7, 2), (2, 2), (2, 7)], BLACK) - assert_image_equal(img, expected, "square as inverted polygon failed") - img, draw = create_base_image_draw((10, 10)) - draw.rectangle((2, 2, 7, 7), BLACK) - assert_image_equal(img, expected, "square as normal rectangle failed") - img, draw = create_base_image_draw((10, 10)) - draw.rectangle((7, 7, 2, 2), BLACK) - assert_image_equal(img, expected, "square as inverted rectangle failed") + expected = os.path.join(IMAGES_PATH, "square.png") + img, draw = create_base_image_draw((10, 10)) + draw.polygon([(2, 2), (2, 7), (7, 7), (7, 2)], BLACK) + assert_image_equal_tofile(img, expected, "square as normal polygon failed") + img, draw = create_base_image_draw((10, 10)) + draw.polygon([(7, 7), (7, 2), (2, 2), (2, 7)], BLACK) + assert_image_equal_tofile(img, expected, "square as inverted polygon failed") + img, draw = create_base_image_draw((10, 10)) + draw.rectangle((2, 2, 7, 7), BLACK) + assert_image_equal_tofile(img, expected, "square as normal rectangle failed") + img, draw = create_base_image_draw((10, 10)) + draw.rectangle((7, 7, 2, 2), BLACK) + assert_image_equal_tofile(img, expected, "square as inverted rectangle failed") def test_triangle_right(): @@ -896,18 +895,18 @@ def test_line_horizontal(): os.path.join(IMAGES_PATH, "line_horizontal_w2px_inverted.png"), "line straight horizontal inverted 2px wide failed", ) - with Image.open(os.path.join(IMAGES_PATH, "line_horizontal_w3px.png")) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 14, 5), BLACK, 3) - assert_image_equal( - img, expected, "line straight horizontal normal 3px wide failed" - ) - img, draw = create_base_image_draw((20, 20)) - draw.line((14, 5, 5, 5), BLACK, 3) - assert_image_equal( - img, expected, "line straight horizontal inverted 3px wide failed" - ) + + expected = os.path.join(IMAGES_PATH, "line_horizontal_w3px.png") + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 14, 5), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line straight horizontal normal 3px wide failed" + ) + img, draw = create_base_image_draw((20, 20)) + draw.line((14, 5, 5, 5), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line straight horizontal inverted 3px wide failed" + ) img, draw = create_base_image_draw((200, 110)) draw.line((5, 55, 195, 55), BLACK, 101) @@ -945,18 +944,19 @@ def test_line_vertical(): os.path.join(IMAGES_PATH, "line_vertical_w2px_inverted.png"), "line straight vertical inverted 2px wide failed", ) - with Image.open(os.path.join(IMAGES_PATH, "line_vertical_w3px.png")) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 5, 14), BLACK, 3) - assert_image_equal( - img, expected, "line straight vertical normal 3px wide failed" - ) - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 14, 5, 5), BLACK, 3) - assert_image_equal( - img, expected, "line straight vertical inverted 3px wide failed" - ) + + expected = os.path.join(IMAGES_PATH, "line_vertical_w3px.png") + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 5, 14), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line straight vertical normal 3px wide failed" + ) + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 14, 5, 5), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line straight vertical inverted 3px wide failed" + ) + img, draw = create_base_image_draw((110, 200)) draw.line((55, 5, 55, 195), BLACK, 101) assert_image_equal_tofile( @@ -975,26 +975,25 @@ def test_line_vertical(): def test_line_oblique_45(): - with Image.open( - os.path.join(IMAGES_PATH, "line_oblique_45_w3px_a.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 5, 14, 14), BLACK, 3) - assert_image_equal(img, expected, "line oblique 45 normal 3px wide A failed") - img, draw = create_base_image_draw((20, 20)) - draw.line((14, 14, 5, 5), BLACK, 3) - assert_image_equal(img, expected, "line oblique 45 inverted 3px wide A failed") - with Image.open( - os.path.join(IMAGES_PATH, "line_oblique_45_w3px_b.png") - ) as expected: - expected.load() - img, draw = create_base_image_draw((20, 20)) - draw.line((14, 5, 5, 14), BLACK, 3) - assert_image_equal(img, expected, "line oblique 45 normal 3px wide B failed") - img, draw = create_base_image_draw((20, 20)) - draw.line((5, 14, 14, 5), BLACK, 3) - assert_image_equal(img, expected, "line oblique 45 inverted 3px wide B failed") + expected = os.path.join(IMAGES_PATH, "line_oblique_45_w3px_a.png") + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 5, 14, 14), BLACK, 3) + assert_image_equal_tofile(img, expected, "line oblique 45 normal 3px wide A failed") + img, draw = create_base_image_draw((20, 20)) + draw.line((14, 14, 5, 5), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line oblique 45 inverted 3px wide A failed" + ) + + expected = os.path.join(IMAGES_PATH, "line_oblique_45_w3px_b.png") + img, draw = create_base_image_draw((20, 20)) + draw.line((14, 5, 5, 14), BLACK, 3) + assert_image_equal_tofile(img, expected, "line oblique 45 normal 3px wide B failed") + img, draw = create_base_image_draw((20, 20)) + draw.line((5, 14, 14, 5), BLACK, 3) + assert_image_equal_tofile( + img, expected, "line oblique 45 inverted 3px wide B failed" + ) def test_wide_line_dot(): From 754752e78f61f5a45b6f64211ff965abdbe348f6 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Mar 2021 09:22:01 +1100 Subject: [PATCH 233/325] Allow fewer palette entries than the bit depth maximum --- Tests/test_file_png.py | 10 ++++++++++ src/PIL/PngImagePlugin.py | 26 ++++++++++++-------------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index c8d441485..bbf5f5772 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -634,6 +634,16 @@ class TestFilePng: with Image.open(out) as reloaded: assert len(reloaded.png.im_palette[1]) == 48 + def test_plte_length(self, tmp_path): + im = Image.new("P", (1, 1)) + im.putpalette((1, 1, 1)) + + out = str(tmp_path / "temp.png") + im.save(str(tmp_path / "temp.png")) + + with Image.open(out) as reloaded: + assert len(reloaded.png.im_palette[1]) == 3 + def test_exif(self): # With an EXIF chunk with Image.open("Tests/images/exif.png") as im: diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index 30eb13aa3..07bbc5228 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -1186,23 +1186,21 @@ def _save(im, fp, filename, chunk=putchunk, save_all=False): # attempt to minimize storage requirements for palette images if "bits" in im.encoderinfo: # number of bits specified by user - colors = 1 << im.encoderinfo["bits"] + colors = min(1 << im.encoderinfo["bits"], 256) else: # check palette contents if im.palette: - colors = max(min(len(im.palette.getdata()[1]) // 3, 256), 2) + colors = max(min(len(im.palette.getdata()[1]) // 3, 256), 1) else: colors = 256 - if colors <= 2: - bits = 1 - elif colors <= 4: - bits = 2 - elif colors <= 16: - bits = 4 - else: - bits = 8 - if bits != 8: + if colors <= 16: + if colors <= 2: + bits = 1 + elif colors <= 4: + bits = 2 + else: + bits = 4 mode = f"{mode};{bits}" # encoder options @@ -1270,7 +1268,7 @@ def _save(im, fp, filename, chunk=putchunk, save_all=False): chunk(fp, cid, data) if im.mode == "P": - palette_byte_number = (2 ** bits) * 3 + palette_byte_number = colors * 3 palette_bytes = im.im.getpalette("RGB")[:palette_byte_number] while len(palette_bytes) < palette_byte_number: palette_bytes += b"\0" @@ -1281,7 +1279,7 @@ def _save(im, fp, filename, chunk=putchunk, save_all=False): if transparency or transparency == 0: if im.mode == "P": # limit to actual palette size - alpha_bytes = 2 ** bits + alpha_bytes = colors if isinstance(transparency, bytes): chunk(fp, b"tRNS", transparency[:alpha_bytes]) else: @@ -1302,7 +1300,7 @@ def _save(im, fp, filename, chunk=putchunk, save_all=False): else: if im.mode == "P" and im.im.getpalettemode() == "RGBA": alpha = im.im.getpalette("RGBA", "A") - alpha_bytes = 2 ** bits + alpha_bytes = colors chunk(fp, b"tRNS", alpha[:alpha_bytes]) dpi = im.encoderinfo.get("dpi") From 7ab8ec9b91681dea850269e08d3fd1adcd96afd5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Mar 2021 21:00:05 +1100 Subject: [PATCH 234/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6bd8ef8b5..3d022c77d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Use duration from info dictionary when saving WebP #5338 + [radarhere] + - Stop flattening EXIF IFD into getexif() #4947 [radarhere, kkopachev] From ef864d72f10fe7c918d4cbc07fc16d4fef4b30bc Mon Sep 17 00:00:00 2001 From: Latosha Maltba Date: Sun, 21 Mar 2021 14:36:18 +0000 Subject: [PATCH 235/325] TestSuite: Add support for GraphicsMagick Add support to run the tests using GraphicsMagick's "gm convert" instead of ImageMagick's "convert". --- Tests/helper.py | 24 +++++++++++++++++++++--- Tests/test_file_palm.py | 12 ++++++------ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index be3bdb76f..5573c78c4 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -257,8 +257,16 @@ def netpbm_available(): return bool(shutil.which("ppmquant") and shutil.which("ppmtogif")) +def convert_available(): + return imagemagick_available() or graphicsmagick_available() + + def imagemagick_available(): - return bool(IMCONVERT and shutil.which(IMCONVERT)) + return bool(IMCONVERT and shutil.which(IMCONVERT[0])) + + +def graphicsmagick_available(): + return bool(GMCONVERT and shutil.which(GMCONVERT[0])) def on_appveyor(): @@ -298,10 +306,20 @@ def is_mingw(): if sys.platform == "win32": IMCONVERT = os.environ.get("MAGICK_HOME", "") + GMCONVERT = None if IMCONVERT: - IMCONVERT = os.path.join(IMCONVERT, "convert.exe") + IMCONVERT = [os.path.join(IMCONVERT, "convert.exe")] + GMCONVERT = [os.path.join(IMCONVERT, "gm.exe"), "convert"] else: - IMCONVERT = "convert" + IMCONVERT = ["convert"] + GMCONVERT = ["gm", "convert"] + +if imagemagick_available(): + CONVERT = IMCONVERT +elif graphicsmagick_available(): + CONVERT = GMCONVERT +else: + CONVERT = None class cached_property: diff --git a/Tests/test_file_palm.py b/Tests/test_file_palm.py index 25d194b62..bbbab25d8 100644 --- a/Tests/test_file_palm.py +++ b/Tests/test_file_palm.py @@ -5,9 +5,9 @@ import pytest from PIL import Image -from .helper import IMCONVERT, assert_image_equal, hopper, imagemagick_available +from .helper import CONVERT, assert_image_equal, convert_available, hopper -_roundtrip = imagemagick_available() +_roundtrip = convert_available() def helper_save_as_palm(tmp_path, mode): @@ -23,13 +23,13 @@ def helper_save_as_palm(tmp_path, mode): assert os.path.getsize(outfile) > 0 -def open_with_imagemagick(tmp_path, f): - if not imagemagick_available(): +def open_with_convert(tmp_path, f): + if not convert_available(): raise OSError() outfile = str(tmp_path / "temp.png") rc = subprocess.call( - [IMCONVERT, f, outfile], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT + CONVERT + [f, outfile], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT ) if rc: raise OSError @@ -44,7 +44,7 @@ def roundtrip(tmp_path, mode): outfile = str(tmp_path / "temp.palm") im.save(outfile) - converted = open_with_imagemagick(tmp_path, outfile) + converted = open_with_convert(tmp_path, outfile) assert_image_equal(converted, im) From bb88d8d0170d63e0824b6dfe684421426364db40 Mon Sep 17 00:00:00 2001 From: Latosha Maltba Date: Sun, 21 Mar 2021 14:36:18 +0000 Subject: [PATCH 236/325] Add support to use GraphicsMagick's "gm display" as viewer --- docs/reference/ImageShow.rst | 1 + src/PIL/ImageShow.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/docs/reference/ImageShow.rst b/docs/reference/ImageShow.rst index f1fbd90ce..e4d9805ab 100644 --- a/docs/reference/ImageShow.rst +++ b/docs/reference/ImageShow.rst @@ -18,6 +18,7 @@ All default viewers convert the image to be shown to PNG format. The following viewers may be registered on Unix-based systems, if the given command is found: .. autoclass:: PIL.ImageShow.DisplayViewer + .. autoclass:: PIL.ImageShow.GmDisplayViewer .. autoclass:: PIL.ImageShow.EogViewer .. autoclass:: PIL.ImageShow.XVViewer diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index 3368865a4..6cc420d1b 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -194,6 +194,15 @@ class DisplayViewer(UnixViewer): return command, executable +class GmDisplayViewer(UnixViewer): + """The GraphicsMagick ``gm display`` command.""" + + def get_command_ex(self, file, **options): + executable = "gm" + command = "gm display" + return command, executable + + class EogViewer(UnixViewer): """The GNOME Image Viewer ``eog`` command.""" @@ -220,6 +229,8 @@ class XVViewer(UnixViewer): if sys.platform not in ("win32", "darwin"): # unixoids if shutil.which("display"): register(DisplayViewer) + if shutil.which("gm"): + register(GmDisplayViewer) if shutil.which("eog"): register(EogViewer) if shutil.which("xv"): From c585e6ab6b4731d65570dbb1cbf396add919b3ae Mon Sep 17 00:00:00 2001 From: elejke Date: Sun, 21 Mar 2021 21:15:13 +0300 Subject: [PATCH 237/325] Add preserve_tone option to autocontrast --- Tests/test_imageops.py | 1 + src/PIL/ImageOps.py | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 33489bd13..b261fa9fe 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -29,6 +29,7 @@ def test_sanity(): ImageOps.autocontrast(hopper("L"), cutoff=(2, 10)) ImageOps.autocontrast(hopper("L"), ignore=[0, 255]) ImageOps.autocontrast(hopper("L"), mask=hopper("L")) + ImageOps.autocontrast(hopper("L"), preserve_tone=True) ImageOps.colorize(hopper("L"), (0, 0, 0), (255, 255, 255)) ImageOps.colorize(hopper("L"), "black", "white") diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 14602a5c8..ac4a7c8f4 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -61,7 +61,7 @@ def _lut(image, lut): # actions -def autocontrast(image, cutoff=0, ignore=None, mask=None): +def autocontrast(image, cutoff=0, ignore=None, mask=None, preserve_tone=False): """ Maximize (normalize) image contrast. This function calculates a histogram of the input image (or mask region), removes ``cutoff`` percent of the @@ -77,9 +77,14 @@ def autocontrast(image, cutoff=0, ignore=None, mask=None): :param mask: Histogram used in contrast operation is computed using pixels within the mask. If no mask is given the entire image is used for histogram computation. + :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. :return: An image. """ - histogram = image.histogram(mask) + if preserve_tone: + histogram = image.convert("L").histogram(mask) + else: + histogram = image.histogram(mask) + lut = [] for layer in range(0, len(histogram), 256): h = histogram[layer : layer + 256] From aa35f6b572c3491976e2336b28f481dad0a2a353 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 06:49:25 +1100 Subject: [PATCH 238/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 3d022c77d..21eeb214c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Allow fewer PNG palette entries than the bit depth maximum when saving #5330 + [radarhere] + - Use duration from info dictionary when saving WebP #5338 [radarhere] From 2d8658bd84327b601ddd9147fd84b32d8e7e09da Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 18:58:50 +1100 Subject: [PATCH 239/325] Deprecated categories [ci skip] --- docs/deprecations.rst | 12 ++++++++++++ docs/reference/Image.rst | 7 ------- docs/releasenotes/8.2.0.rst | 10 ++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/docs/deprecations.rst b/docs/deprecations.rst index fd2f5620e..ef88afa23 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -33,6 +33,18 @@ Tk/Tcl 8.4 Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), when Tk/Tcl 8.5 will be the minimum supported. +Categories +~~~~~~~~~~ + +.. deprecated:: 8.2.0 + +``im.category`` is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +along with the related ``Image.NORMAL``, ``Image.SEQUENCE`` and +``Image.CONTAINER`` attributes. + +To determine if an image has multiple frames or not, +``getattr(im, "is_animated", False)`` can be used instead. + Image.show command parameter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index c4e8f37a3..0e68366ad 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -502,10 +502,3 @@ Used to specify the quantization method to use for the :meth:`~Image.quantize` m Check support using :py:func:`PIL.features.check_feature` with ``feature="libimagequant"``. - -.. comment: These are not referenced anywhere? - Categories - ^^^^^^^^^^ - .. data:: NORMAL - .. data:: SEQUENCE - .. data:: CONTAINER diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index d82bf45c2..3ef05894d 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -10,6 +10,16 @@ Tk/Tcl 8.4 Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), when Tk/Tcl 8.5 will be the minimum supported. +Categories +^^^^^^^^^^ + +``im.category`` is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +along with the related ``Image.NORMAL``, ``Image.SEQUENCE`` and +``Image.CONTAINER`` attributes. + +To determine if an image has multiple frames or not, +``getattr(im, "is_animated", False)`` can be used instead. + API Changes =========== From ab56edb49f30557eb684256a1e3064936b737ecf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 19:18:36 +1100 Subject: [PATCH 240/325] Documented default quantization method --- docs/reference/Image.rst | 6 +++--- src/PIL/Image.py | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index c4e8f37a3..bf173ace9 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -486,15 +486,15 @@ Used to specify the quantization method to use for the :meth:`~Image.quantize` m .. data:: MEDIANCUT - Median cut + Median cut. Default method, except for RGBA images. .. data:: MAXCOVERAGE - Maximum coverage + Maximum coverage. .. data:: FASTOCTREE - Fast octree + Fast octree. Default method for RGBA images. .. data:: LIBIMAGEQUANT diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 2e7abfb68..bec6f3f64 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1059,6 +1059,11 @@ class Image: :data:`LIBIMAGEQUANT` (libimagequant; check support using :py:func:`PIL.features.check_feature` with ``feature="libimagequant"``). + + By default, :data:`MEDIANCUT` will be used. + + The exception to this is RGBA images. RGBA images use + :data:`FASTOCTREE` by default instead. :param kmeans: Integer :param palette: Quantize to the palette of given :py:class:`PIL.Image.Image`. From 0ff987917116d5b859959b1dc80092f7fdffac0f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 19:21:31 +1100 Subject: [PATCH 241/325] Document supported quantization methods for RGBA images --- docs/reference/Image.rst | 5 +++-- src/PIL/Image.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/reference/Image.rst b/docs/reference/Image.rst index bf173ace9..2f4c9af99 100644 --- a/docs/reference/Image.rst +++ b/docs/reference/Image.rst @@ -486,11 +486,12 @@ Used to specify the quantization method to use for the :meth:`~Image.quantize` m .. data:: MEDIANCUT - Median cut. Default method, except for RGBA images. + Median cut. Default method, except for RGBA images. This method does not support + RGBA images. .. data:: MAXCOVERAGE - Maximum coverage. + Maximum coverage. This method does not support RGBA images. .. data:: FASTOCTREE diff --git a/src/PIL/Image.py b/src/PIL/Image.py index bec6f3f64..0bfd1da80 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1062,8 +1062,9 @@ class Image: By default, :data:`MEDIANCUT` will be used. - The exception to this is RGBA images. RGBA images use - :data:`FASTOCTREE` by default instead. + The exception to this is RGBA images. :data:`MEDIANCUT` and + :data:`MAXCOVERAGE` do not support RGBA images, so + :data:`FASTOCTREE` is used by default instead. :param kmeans: Integer :param palette: Quantize to the palette of given :py:class:`PIL.Image.Image`. From 4e0bc3bab61124e5c8d29743d77541de052c44d8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 19:44:56 +1100 Subject: [PATCH 242/325] Use quantization method attributes --- src/PIL/Image.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 2e7abfb68..5e9d9a89f 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1074,11 +1074,11 @@ class Image: if method is None: # defaults: - method = 0 + method = MEDIANCUT if self.mode == "RGBA": - method = 2 + method = FASTOCTREE - if self.mode == "RGBA" and method not in (2, 3): + if self.mode == "RGBA" and method not in (FASTOCTREE, LIBIMAGEQUANT): # Caller specified an invalid mode. raise ValueError( "Fast Octree (method == 2) and libimagequant (method == 3) " From b4e5a6d202037f9f96cf46371ca96e2743d6f24a Mon Sep 17 00:00:00 2001 From: elejke Date: Mon, 22 Mar 2021 12:06:44 +0300 Subject: [PATCH 243/325] add more tests for autocontrast preserve tone option --- Tests/test_imageops.py | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index b261fa9fe..922899e51 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -363,3 +363,51 @@ def test_auto_contrast_mask_real_input(): threshold=2, msg="autocontrast without mask pixel incorrect", ) + + +def test_autocontrast_preserve_gradient(): + from PIL import _imaging as core + + gradient = Image.Image()._new(core.linear_gradient("L")) + + # test with a grayscale gradient that extends to 0,255. + # Should be a noop. + out = ImageOps.autocontrast(gradient, cutoff=0, preserve_tone=True) + + assert_image_equal(gradient, out) + + # cutoff the top and bottom + # autocontrast should make the first and list histogram entries equal + # and should be 10% of the image pixels (+-, because integers) + out = ImageOps.autocontrast(gradient, cutoff=10, preserve_tone=True) + hist = out.histogram() + assert hist[0] == hist[-1] + assert hist[-1] == 256 * round(256 * 0.10) + + # in rgb + img = gradient.convert("RGB") + out = ImageOps.autocontrast(img, cutoff=0, preserve_tone=True) + assert_image_equal(img, out) + + +def test_autocontrast_preserve_onecolor(): + def _test_one_color(color): + img = Image.new("RGB", (10, 10), color) + + # single color images shouldn't change + out = ImageOps.autocontrast(img, cutoff=0, preserve_tone=True) + # remove when production + assert_image_equal(img, out) # single color, no cutoff + + # even if there is a cutoff + out = ImageOps.autocontrast( + img, cutoff=0, preserve_tone=True + ) # single color 10 cutoff + assert_image_equal(img, out) + + # succeeding + _test_one_color((255, 255, 255)) + _test_one_color((127, 255, 0)) + # failing + _test_one_color((127, 127, 127)) + _test_one_color((0, 0, 0)) From 25403063ead189d2335968a2097b20c3e425bd1a Mon Sep 17 00:00:00 2001 From: German Novikov Date: Mon, 22 Mar 2021 15:27:13 +0300 Subject: [PATCH 244/325] Update Tests/test_imageops.py Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- Tests/test_imageops.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 922899e51..f2479da16 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -366,9 +366,7 @@ def test_auto_contrast_mask_real_input(): def test_autocontrast_preserve_gradient(): - from PIL import _imaging as core - - gradient = Image.Image()._new(core.linear_gradient("L")) + gradient = Image.linear_gradient("L")) # test with a grayscale gradient that extends to 0,255. # Should be a noop. From f73d238cd2d10d5b576d0d7472ef8b62f9a4e1c2 Mon Sep 17 00:00:00 2001 From: elejke Date: Mon, 22 Mar 2021 15:30:43 +0300 Subject: [PATCH 245/325] removed redundant comments in tests for tone preserving autocolor --- Tests/test_imageops.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index f2479da16..973d45c15 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -366,7 +366,7 @@ def test_auto_contrast_mask_real_input(): def test_autocontrast_preserve_gradient(): - gradient = Image.linear_gradient("L")) + gradient = Image.linear_gradient("L") # test with a grayscale gradient that extends to 0,255. # Should be a noop. @@ -394,7 +394,6 @@ def test_autocontrast_preserve_onecolor(): # single color images shouldn't change out = ImageOps.autocontrast(img, cutoff=0, preserve_tone=True) - # remove when production assert_image_equal(img, out) # single color, no cutoff # even if there is a cutoff @@ -403,9 +402,7 @@ def test_autocontrast_preserve_onecolor(): ) # single color 10 cutoff assert_image_equal(img, out) - # succeeding _test_one_color((255, 255, 255)) _test_one_color((127, 255, 0)) - # failing _test_one_color((127, 127, 127)) _test_one_color((0, 0, 0)) From 35943372f08d7c4e344dd4b77db1547644af73ca Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Mar 2021 07:48:13 +1100 Subject: [PATCH 246/325] Removed CONVERT helper variables --- Tests/helper.py | 42 +++++++++++++++-------------------------- Tests/test_file_palm.py | 16 ++++++---------- 2 files changed, 21 insertions(+), 37 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index 5573c78c4..ad8138ccc 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -257,16 +257,22 @@ def netpbm_available(): return bool(shutil.which("ppmquant") and shutil.which("ppmtogif")) -def convert_available(): - return imagemagick_available() or graphicsmagick_available() +def magick_command(): + if sys.platform == "win32": + imagemagick = os.environ.get("MAGICK_HOME", "") + if imagemagick: + imagemagick = [os.path.join(imagemagick, "convert.exe")] + graphicsmagick = [os.path.join(imagemagick, "gm.exe"), "convert"] + else: + graphicsmagick = None + else: + imagemagick = ["convert"] + graphicsmagick = ["gm", "convert"] - -def imagemagick_available(): - return bool(IMCONVERT and shutil.which(IMCONVERT[0])) - - -def graphicsmagick_available(): - return bool(GMCONVERT and shutil.which(GMCONVERT[0])) + if imagemagick and shutil.which(imagemagick[0]): + return imagemagick + elif graphicsmagick and shutil.which(graphicsmagick[0]): + return graphicsmagick def on_appveyor(): @@ -304,24 +310,6 @@ def is_mingw(): return sysconfig.get_platform() == "mingw" -if sys.platform == "win32": - IMCONVERT = os.environ.get("MAGICK_HOME", "") - GMCONVERT = None - if IMCONVERT: - IMCONVERT = [os.path.join(IMCONVERT, "convert.exe")] - GMCONVERT = [os.path.join(IMCONVERT, "gm.exe"), "convert"] -else: - IMCONVERT = ["convert"] - GMCONVERT = ["gm", "convert"] - -if imagemagick_available(): - CONVERT = IMCONVERT -elif graphicsmagick_available(): - CONVERT = GMCONVERT -else: - CONVERT = None - - class cached_property: def __init__(self, func): self.func = func diff --git a/Tests/test_file_palm.py b/Tests/test_file_palm.py index bbbab25d8..e1c1c361b 100644 --- a/Tests/test_file_palm.py +++ b/Tests/test_file_palm.py @@ -5,9 +5,7 @@ import pytest from PIL import Image -from .helper import CONVERT, assert_image_equal, convert_available, hopper - -_roundtrip = convert_available() +from .helper import assert_image_equal, hopper, magick_command def helper_save_as_palm(tmp_path, mode): @@ -23,13 +21,10 @@ def helper_save_as_palm(tmp_path, mode): assert os.path.getsize(outfile) > 0 -def open_with_convert(tmp_path, f): - if not convert_available(): - raise OSError() - +def open_with_magick(magick, tmp_path, f): outfile = str(tmp_path / "temp.png") rc = subprocess.call( - CONVERT + [f, outfile], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT + magick + [f, outfile], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT ) if rc: raise OSError @@ -37,14 +32,15 @@ def open_with_convert(tmp_path, f): def roundtrip(tmp_path, mode): - if not _roundtrip: + magick = magick_command() + if not magick: return im = hopper(mode) outfile = str(tmp_path / "temp.palm") im.save(outfile) - converted = open_with_convert(tmp_path, outfile) + converted = open_with_magick(magick, tmp_path, outfile) assert_image_equal(converted, im) From 52794432f02112eb7c912ef8855c6a6fe82a99d1 Mon Sep 17 00:00:00 2001 From: Latosha Maltba Date: Mon, 22 Mar 2021 18:17:40 +0000 Subject: [PATCH 247/325] Make code for ImageMagick/GraphicsMagick more symmetric --- Tests/helper.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index ad8138ccc..59ba0dd15 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -259,11 +259,12 @@ def netpbm_available(): def magick_command(): if sys.platform == "win32": - imagemagick = os.environ.get("MAGICK_HOME", "") - if imagemagick: - imagemagick = [os.path.join(imagemagick, "convert.exe")] - graphicsmagick = [os.path.join(imagemagick, "gm.exe"), "convert"] + magickhome = os.environ.get("MAGICK_HOME", "") + if magickhome: + imagemagick = [os.path.join(magickhome, "convert.exe")] + graphicsmagick = [os.path.join(magickhome, "gm.exe"), "convert"] else: + imagemagick = None graphicsmagick = None else: imagemagick = ["convert"] From d8acc3be0d9387b3c086f08693f6633d88ad481e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 23 Mar 2021 12:55:16 +1100 Subject: [PATCH 248/325] Updated macOS tested Pillow versions [ci skip] --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index ec39c9fa8..79bb8079f 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -465,9 +465,9 @@ These platforms have been reported to work at the versions mentioned. +----------------------------------+------------------------------+--------------------------------+-----------------------+ |**Operating system** |**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** | +----------------------------------+------------------------------+--------------------------------+-----------------------+ -| macOS 11.0 Big Sur | 3.8, 3.9 | 8.1.0 |arm | +| macOS 11.0 Big Sur | 3.8, 3.9 | 8.1.2 |arm | | +------------------------------+--------------------------------+-----------------------+ -| | 3.6, 3.7, 3.8, 3.9 | 8.1.0 |x86-64 | +| | 3.6, 3.7, 3.8, 3.9 | 8.1.2 |x86-64 | +----------------------------------+------------------------------+--------------------------------+-----------------------+ | macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9 | 8.0.1 |x86-64 | | +------------------------------+--------------------------------+ + From 0f8fffbb11616ee3d9abd1379a2718c192871198 Mon Sep 17 00:00:00 2001 From: Latosha Maltba Date: Tue, 23 Mar 2021 07:16:56 +0000 Subject: [PATCH 249/325] Mention GraphicsMagick support release notes 8.2.0 Co-authored-by: Andrew Murray --- docs/releasenotes/8.2.0.rst | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index d82bf45c2..83ba5b0c0 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -65,6 +65,18 @@ instances, so it will only be used by ``im.show()`` or :py:func:`.ImageShow.show if none of the other viewers are available. This means that the behaviour of :py:class:`PIL.ImageShow` will stay the same for most Pillow users. +ImageShow.GmDisplayViewer +^^^^^^^^^^^^^^^^^^^^^^^^^ + +If GraphicsMagick is present, this new :py:class:`PIL.ImageShow.Viewer` subclass will +be registered. It uses GraphicsMagick_, an ImageMagick_ fork, to display images. + +The GraphicsMagick based viewer has a lower priority than its ImageMagick +counterpart. Thus, if both ImageMagick and GraphicsMagick are installed, +``im.show()`` and :py:func:`.ImageShow.show()` prefer the viewer based on +ImageMagick, i.e the behaviour stays the same for Pillow users having +ImageMagick installed. + Saving TIFF with ICC profile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -86,3 +98,12 @@ PyQt6 Support has been added for PyQt6. If it is installed, it will be used instead of PySide6, PyQt5 or PySide2. + +GraphicsMagick +^^^^^^^^^^^^^^ + +The test suite can now be run on systems which have GraphicsMagick_ but not +ImageMagick_ installed. If both are installed, the tests prefer ImageMagick. + +.. _GraphicsMagick: http://www.graphicsmagick.org/ +.. _ImageMagick: https://imagemagick.org/ From 8913166c7ea748d6884813172208eac4cb057141 Mon Sep 17 00:00:00 2001 From: elejke Date: Tue, 23 Mar 2021 11:59:37 +0300 Subject: [PATCH 250/325] fix test function name for autocontrast --- Tests/test_imageops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 973d45c15..595a8e02b 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -337,7 +337,7 @@ def test_autocontrast_mask_toy_input(): assert ImageStat.Stat(result_nomask).median == [128] -def test_auto_contrast_mask_real_input(): +def test_autocontrast_mask_real_input(): # Test the autocontrast with a rectangular mask with Image.open("Tests/images/iptc.jpg") as img: From 4a0698838d08fb36bbbc8a90376e777e52c7d0ad Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 23 Mar 2021 20:08:18 +1100 Subject: [PATCH 251/325] Parametrized test --- Tests/test_imageops.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 595a8e02b..64736513e 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -388,21 +388,18 @@ def test_autocontrast_preserve_gradient(): assert_image_equal(img, out) -def test_autocontrast_preserve_onecolor(): - def _test_one_color(color): - img = Image.new("RGB", (10, 10), color) +@pytest.mark.parametrize( + "color", ((255, 255, 255), (127, 255, 0), (127, 127, 127), (0, 0, 0)) +) +def test_autocontrast_preserve_one_color(color): + img = Image.new("RGB", (10, 10), color) - # single color images shouldn't change - out = ImageOps.autocontrast(img, cutoff=0, preserve_tone=True) - assert_image_equal(img, out) # single color, no cutoff + # single color images shouldn't change + out = ImageOps.autocontrast(img, cutoff=0, preserve_tone=True) + assert_image_equal(img, out) # single color, no cutoff - # even if there is a cutoff - out = ImageOps.autocontrast( - img, cutoff=0, preserve_tone=True - ) # single color 10 cutoff - assert_image_equal(img, out) - - _test_one_color((255, 255, 255)) - _test_one_color((127, 255, 0)) - _test_one_color((127, 127, 127)) - _test_one_color((0, 0, 0)) + # even if there is a cutoff + out = ImageOps.autocontrast( + img, cutoff=0, preserve_tone=True + ) # single color 10 cutoff + assert_image_equal(img, out) From 694d70bdc3f6179178348c2c9a6da64944177442 Mon Sep 17 00:00:00 2001 From: elejke Date: Tue, 23 Mar 2021 13:09:51 +0300 Subject: [PATCH 252/325] fixed typos in test for autocolor tone preserving --- Tests/test_imageops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 64736513e..8d12f6869 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -400,6 +400,6 @@ def test_autocontrast_preserve_one_color(color): # even if there is a cutoff out = ImageOps.autocontrast( - img, cutoff=0, preserve_tone=True + img, cutoff=10, preserve_tone=True ) # single color 10 cutoff assert_image_equal(img, out) From 9b8f7c2a8ff1b7e7f33bf4f8c1badac9ea7cc0ac Mon Sep 17 00:00:00 2001 From: elejke Date: Tue, 23 Mar 2021 13:56:51 +0300 Subject: [PATCH 253/325] versionadded directive and releasenotes added --- docs/releasenotes/8.2.0.rst | 9 +++++++++ src/PIL/ImageOps.py | 3 +++ 2 files changed, 12 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index d82bf45c2..7a6caec5b 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -73,6 +73,15 @@ be specified through a keyword argument:: im.save("out.tif", icc_profile=...) + +ImageOps.autocontrast: tone preserving option +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The default behaviour of the :py:meth:`~PIL.ImageOps.autocontrast` is to normalize separate +histograms for each color channel, it changes tone of the image. Added ``preserve_tone`` +argument which avoids changing the tone of the image using one luminance histogram for all +channels. + Security ======== diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index ac4a7c8f4..d0b255530 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -78,6 +78,9 @@ def autocontrast(image, cutoff=0, ignore=None, mask=None, preserve_tone=False): within the mask. If no mask is given the entire image is used for histogram computation. :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. + + .. versionadded:: 1.1.5 + :return: An image. """ if preserve_tone: From 2c973b4cca9e07de84e9fbe99e07411337cdebbc Mon Sep 17 00:00:00 2001 From: elejke Date: Tue, 23 Mar 2021 13:57:51 +0300 Subject: [PATCH 254/325] versionadded version fixed --- src/PIL/ImageOps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index d0b255530..d69a304ca 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -79,7 +79,7 @@ def autocontrast(image, cutoff=0, ignore=None, mask=None, preserve_tone=False): for histogram computation. :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. - .. versionadded:: 1.1.5 + .. versionadded:: 8.2.0 :return: An image. """ From 9d3da37f35426704776aef421b7e620d4b667e6e Mon Sep 17 00:00:00 2001 From: German Novikov Date: Tue, 23 Mar 2021 15:04:12 +0300 Subject: [PATCH 255/325] Update docs/releasenotes/8.2.0.rst [ci skip] Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- docs/releasenotes/8.2.0.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 7a6caec5b..3bdfadacd 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -74,13 +74,13 @@ be specified through a keyword argument:: im.save("out.tif", icc_profile=...) -ImageOps.autocontrast: tone preserving option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ImageOps.autocontrast: preserve_tone +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The default behaviour of the :py:meth:`~PIL.ImageOps.autocontrast` is to normalize separate -histograms for each color channel, it changes tone of the image. Added ``preserve_tone`` -argument which avoids changing the tone of the image using one luminance histogram for all -channels. +The default behaviour of the :py:meth:`~PIL.ImageOps.autocontrast` is to normalize +separate histograms for each color channel, changing the tone of the image. The new +``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram +for all channels. Security ======== From 49fa3656b180713dfa9b680e4b9a5885aba501bd Mon Sep 17 00:00:00 2001 From: nulano Date: Wed, 3 Mar 2021 13:58:13 +0100 Subject: [PATCH 256/325] do not premultiply alpha when resizing with Image.NEAREST resampling --- Tests/test_image_transform.py | 36 +++++++++++++++++++++++++++++++++++ src/PIL/Image.py | 6 +++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/Tests/test_image_transform.py b/Tests/test_image_transform.py index 3ee51178d..c22b874c6 100644 --- a/Tests/test_image_transform.py +++ b/Tests/test_image_transform.py @@ -143,6 +143,42 @@ class TestImageTransform: self._test_alpha_premult(op) + def _test_nearest(self, op, mode): + # create white image with half transparent, + # with the black half transparent. + # do op, + # the image should be white with half transparent + transparent, opaque = { + "RGBA": ((255, 255, 255, 0), (255, 255, 255, 255)), + "LA": ((255, 0), (255, 255)), + }[mode] + im = Image.new(mode, (10, 10), transparent) + im2 = Image.new(mode, (5, 10), opaque) + im.paste(im2, (0, 0)) + + im = op(im, (40, 10)) + + colors = im.getcolors() + assert colors == [ + (20 * 10, opaque), + (20 * 10, transparent), + ] + + @pytest.mark.parametrize("mode", ("RGBA", "LA")) + def test_nearest_resize(self, mode): + def op(im, sz): + return im.resize(sz, Image.NEAREST) + + self._test_nearest(op, mode) + + @pytest.mark.parametrize("mode", ("RGBA", "LA")) + def test_nearest_transform(self, mode): + def op(im, sz): + (w, h) = im.size + return im.transform(sz, Image.EXTENT, (0, 0, w, h), Image.NEAREST) + + self._test_nearest(op, mode) + def test_blank_fill(self): # attempting to hit # https://github.com/python-pillow/Pillow/issues/254 reported diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 2e7abfb68..6f7ed776f 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1910,7 +1910,7 @@ class Image: if self.mode in ("1", "P"): resample = NEAREST - if self.mode in ["LA", "RGBA"]: + if self.mode in ["LA", "RGBA"] and resample != NEAREST: im = self.convert(self.mode[:-1] + "a") im = im.resize(size, resample, box) return im.convert(self.mode) @@ -2394,14 +2394,14 @@ class Image: :returns: An :py:class:`~PIL.Image.Image` object. """ - if self.mode == "LA": + if self.mode == "LA" and resample != NEAREST: return ( self.convert("La") .transform(size, method, data, resample, fill, fillcolor) .convert("LA") ) - if self.mode == "RGBA": + if self.mode == "RGBA" and resample != NEAREST: return ( self.convert("RGBa") .transform(size, method, data, resample, fill, fillcolor) From e85bf540cf1da0ada4ef424bfb67c8f69c1b2352 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 23 Mar 2021 20:58:01 +0200 Subject: [PATCH 257/325] Contributing: Include release notes as needed or appropriate [CI skip] --- .github/CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 563fcda6a..35bd47be8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -18,6 +18,7 @@ Please send a pull request to the master branch. Please include [documentation]( - Provide tests for any newly added code. - Follow PEP 8. - When committing only documentation changes please include `[ci skip]` in the commit message to avoid running tests on AppVeyor. +- Include [release notes](https://github.com/python-pillow/Pillow/tree/master/docs/releasenotes) as needed or appropriate with your bug fixes, feature additions and tests. ## Reporting Issues From f4deb4df308852585c7940f4a4c66a93149ef55b Mon Sep 17 00:00:00 2001 From: nulano Date: Sun, 30 Aug 2020 04:32:49 +0200 Subject: [PATCH 258/325] compile libtiff with cmake (cherry picked from commit 3f17d61fed513ac6bb569ac687c77db1564f056f) --- setup.py | 4 +- winbuild/build_prepare.py | 6 +- winbuild/tiff.opt | 220 -------------------------------------- 3 files changed, 4 insertions(+), 226 deletions(-) delete mode 100644 winbuild/tiff.opt diff --git a/setup.py b/setup.py index 10992779e..4f768d395 100755 --- a/setup.py +++ b/setup.py @@ -727,9 +727,7 @@ class pil_build_ext(build_ext): if feature.tiff: libs.append(feature.tiff) defs.append(("HAVE_LIBTIFF", None)) - # FIXME the following define should be detected automatically - # based on system libtiff, see #4237 - if PLATFORM_MINGW: + if sys.platform == "win32": defs.append(("USE_WIN32_FILEIO", None)) if feature.xcb: libs.append(feature.xcb) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index a20fef02b..102dfe175 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -145,9 +145,9 @@ deps = { "filename": "tiff-4.2.0.tar.gz", "dir": "tiff-4.2.0", "build": [ - cmd_copy(r"{winbuild_dir}\tiff.opt", "nmake.opt"), - cmd_nmake("makefile.vc", "clean"), - cmd_nmake("makefile.vc", "lib"), + cmd_cmake("-DBUILD_SHARED_LIBS:BOOL=OFF"), + cmd_nmake(target="clean"), + cmd_nmake(target="tiff"), ], "headers": [r"libtiff\tiff*.h"], "libs": [r"libtiff\*.lib"], diff --git a/winbuild/tiff.opt b/winbuild/tiff.opt deleted file mode 100644 index d82c51678..000000000 --- a/winbuild/tiff.opt +++ /dev/null @@ -1,220 +0,0 @@ -# $Id: nmake.opt,v 1.18 2006/06/07 16:33:45 dron Exp $ -# -# Copyright (C) 2004, Andrey Kiselev -# -# Permission to use, copy, modify, distribute, and sell this software and -# its documentation for any purpose is hereby granted without fee, provided -# that (i) the above copyright notices and this permission notice appear in -# all copies of the software and related documentation, and (ii) the names of -# Sam Leffler and Silicon Graphics may not be used in any advertising or -# publicity relating to the software without the specific, prior written -# permission of Sam Leffler and Silicon Graphics. -# -# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -# -# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -# OF THIS SOFTWARE. - -# Compile time parameters for MS Visual C++ compiler. -# You may edit this file to specify building options. - -# -###### Edit the following lines to choose a feature set you need. ####### -# - -# -# Select WINMODE_CONSOLE to build a library which reports errors to stderr, or -# WINMODE_WINDOWED to build such that errors are reported via MessageBox(). -# -WINMODE_CONSOLE = 1 -#WINMODE_WINDOWED = 1 - -# -# Comment out the following lines to disable internal codecs. -# -# Support for CCITT Group 3 & 4 algorithms -CCITT_SUPPORT = 1 -# Support for Macintosh PackBits algorithm -PACKBITS_SUPPORT = 1 -# Support for LZW algorithm -LZW_SUPPORT = 1 -# Support for ThunderScan 4-bit RLE algorithm -THUNDER_SUPPORT = 1 -# Support for NeXT 2-bit RLE algorithm -NEXT_SUPPORT = 1 -# Support for LogLuv high dynamic range encoding -LOGLUV_SUPPORT = 1 - -# -# Uncomment and edit following lines to enable JPEG support. -# -JPEG_SUPPORT = 1 -JPEG_INCLUDE = -I$(INCLIB) -JPEG_LIB = $(INCLIB)/libjpeg.lib - -# -# Uncomment and edit following lines to enable ZIP support -# (required for Deflate compression and Pixar log-format) -# -ZIP_SUPPORT = 1 -ZLIB_INCLUDE = -I$(INCLIB) -ZLIB_LIB = $(INCLIB)/zlib.lib - -# Indicate if the compiler provides strtoll/strtoull (default 1) -# Users of MSVC++ 14.0 ("Visual Studio 2015") and later should set this to 1 -HAVE_STRTOLL = 1 - -# -# Uncomment and edit following lines to enable ISO JBIG support -# -#JBIG_SUPPORT = 1 -#JBIGDIR = d:/projects/jbigkit -#JBIG_INCLUDE = -I$(JBIGDIR)/libjbig -#JBIG_LIB = $(JBIGDIR)/libjbig/jbig.lib - -# -# Uncomment following line to enable Pixar log-format algorithm -# (Zlib required). -# -#PIXARLOG_SUPPORT = 1 - -# -# Comment out the following lines to disable strip chopping -# (whether or not to convert single-strip uncompressed images to multiple -# strips of specified size to reduce memory usage). Default strip size -# is 8192 bytes, it can be configured via the STRIP_SIZE_DEFAULT parameter -# -STRIPCHOP_SUPPORT = 1 -STRIP_SIZE_DEFAULT = 8192 - -# -# Comment out the following lines to disable treating the fourth sample with -# no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA -# files but don't mark the alpha properly. -# -EXTRASAMPLE_AS_ALPHA_SUPPORT = 1 - -# -# Comment out the following lines to disable picking up YCbCr subsampling -# info from the JPEG data stream to support files lacking the tag. -# See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details. -# -CHECK_JPEG_YCBCR_SUBSAMPLING = 1 - -# -####################### Compiler related options. ####################### -# - -# -# Pick debug or optimized build flags. We default to an optimized build -# with no debugging information. -# NOTE: /EHsc option required if you want to build the C++ stream API -# -OPTFLAGS = /Ox /MD /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE -#OPTFLAGS = /Zi - -# -# Uncomment following line to enable using Windows Common RunTime Library -# instead of Windows specific system calls. See notes on top of tif_unix.c -# module for details. -# -USE_WIN_CRT_LIB = 1 - -# Compiler specific options. You may probably want to adjust compilation -# parameters in CFLAGS variable. Refer to your compiler documentation -# for the option reference. -# -MAKE = nmake /nologo -CC = cl /nologo -CXX = cl /nologo -AR = lib /nologo -LD = link /nologo - -CFLAGS = $(OPTFLAGS) $(INCL) $(EXTRAFLAGS) -CXXFLAGS = $(OPTFLAGS) $(INCL) $(EXTRAFLAGS) -EXTRAFLAGS = -LIBS = - -# Name of the output shared library -DLLNAME = libtiff.dll - -# -########### There is nothing to edit below this line normally. ########### -# - -# Set the native cpu bit order -EXTRAFLAGS = -DFILLODER_LSB2MSB $(EXTRAFLAGS) - -!IFDEF WINMODE_WINDOWED -EXTRAFLAGS = -DTIF_PLATFORM_WINDOWED $(EXTRAFLAGS) -LIBS = user32.lib $(LIBS) -!ELSE -EXTRAFLAGS = -DTIF_PLATFORM_CONSOLE $(EXTRAFLAGS) -!ENDIF - -# Codec stuff -!IFDEF CCITT_SUPPORT -EXTRAFLAGS = -DCCITT_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF PACKBITS_SUPPORT -EXTRAFLAGS = -DPACKBITS_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF LZW_SUPPORT -EXTRAFLAGS = -DLZW_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF THUNDER_SUPPORT -EXTRAFLAGS = -DTHUNDER_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF NEXT_SUPPORT -EXTRAFLAGS = -DNEXT_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF LOGLUV_SUPPORT -EXTRAFLAGS = -DLOGLUV_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF JPEG_SUPPORT -LIBS = $(LIBS) $(JPEG_LIB) -EXTRAFLAGS = -DJPEG_SUPPORT -DOJPEG_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF ZIP_SUPPORT -LIBS = $(LIBS) $(ZLIB_LIB) -EXTRAFLAGS = -DZIP_SUPPORT $(EXTRAFLAGS) -!IFDEF PIXARLOG_SUPPORT -EXTRAFLAGS = -DPIXARLOG_SUPPORT $(EXTRAFLAGS) -!ENDIF -!ENDIF - -!IFDEF JBIG_SUPPORT -LIBS = $(LIBS) $(JBIG_LIB) -EXTRAFLAGS = -DJBIG_SUPPORT $(EXTRAFLAGS) -!ENDIF - -!IFDEF STRIPCHOP_SUPPORT -EXTRAFLAGS = -DSTRIPCHOP_DEFAULT=TIFF_STRIPCHOP -DSTRIP_SIZE_DEFAULT=$(STRIP_SIZE_DEFAULT) $(EXTRAFLAGS) -!ENDIF - -!IFDEF EXTRASAMPLE_AS_ALPHA_SUPPORT -EXTRAFLAGS = -DDEFAULT_EXTRASAMPLE_AS_ALPHA $(EXTRAFLAGS) -!ENDIF - -!IFDEF CHECK_JPEG_YCBCR_SUBSAMPLING -EXTRAFLAGS = -DCHECK_JPEG_YCBCR_SUBSAMPLING $(EXTRAFLAGS) -!ENDIF - -!IFDEF USE_WIN_CRT_LIB -EXTRAFLAGS = -DAVOID_WIN32_FILEIO $(EXTRAFLAGS) -!ELSE -EXTRAFLAGS = -DUSE_WIN32_FILEIO $(EXTRAFLAGS) -!ENDIF From 1105c5d5c93ce2aa2693cc94ba31ebd27d8417cb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Mar 2021 00:40:12 +1100 Subject: [PATCH 259/325] Updated nasm to 2.15.05 (cherry picked from commit 6e31662a49cea6d4fac78534a9935354d75af229) --- .github/workflows/test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index d53daec13..2b15d6aea 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -68,8 +68,8 @@ jobs: - name: Install dependencies id: install run: | - 7z x winbuild\depends\nasm-2.14.02-win64.zip "-o$env:RUNNER_WORKSPACE\" - echo "$env:RUNNER_WORKSPACE\nasm-2.14.02" >> $env:GITHUB_PATH + 7z x winbuild\depends\nasm-2.15.05-win64.zip "-o$env:RUNNER_WORKSPACE\" + echo "$env:RUNNER_WORKSPACE\nasm-2.15.05" >> $env:GITHUB_PATH winbuild\depends\gs9533w32.exe /S echo "C:\Program Files (x86)\gs\gs9.53.3\bin" >> $env:GITHUB_PATH From 5e61c1842fcee02562cbb46dd44e8bdd39e3903f Mon Sep 17 00:00:00 2001 From: nulano Date: Thu, 25 Mar 2021 00:04:41 +0100 Subject: [PATCH 260/325] fix support for old versions of Raqm --- src/_imagingft.c | 61 ++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/src/_imagingft.c b/src/_imagingft.c index 0995abab3..330294479 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -236,7 +236,6 @@ text_layout_raqm( size_t i = 0, count = 0, start = 0; raqm_t *rq; raqm_glyph_t *glyphs = NULL; -// raqm_glyph_t_01 *glyphs_01 = NULL; raqm_direction_t direction; rq = raqm_create(); @@ -278,12 +277,12 @@ text_layout_raqm( direction = RAQM_DIRECTION_LTR; } else if (strcmp(dir, "ttb") == 0) { direction = RAQM_DIRECTION_TTB; -// if (p_raqm.version_atleast == NULL || !(*p_raqm.version_atleast)(0, 7, 0)) { -// PyErr_SetString( -// PyExc_ValueError, -// "libraqm 0.7 or greater required for 'ttb' direction"); -// goto failed; -// } +#if !defined(RAQM_VERSION_ATLEAST) || !RAQM_VERSION_ATLEAST(0, 7, 0) + PyErr_SetString( + PyExc_ValueError, + "libraqm 0.7 or greater required for 'ttb' direction"); + goto failed; +#endif } else { PyErr_SetString( PyExc_ValueError, "direction must be either 'rtl', 'ltr' or 'ttb'"); @@ -340,21 +339,12 @@ text_layout_raqm( goto failed; } -// if (p_raqm.version == 1) { -// glyphs_01 = raqm_get_glyphs_01(rq, &count); -// if (glyphs_01 == NULL) { -// PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); -// count = 0; -// goto failed; -// } -// } else { /* version == 2 */ - glyphs = raqm_get_glyphs(rq, &count); - if (glyphs == NULL) { - PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); - count = 0; - goto failed; - } -// } + glyphs = raqm_get_glyphs(rq, &count); + if (glyphs == NULL) { + PyErr_SetString(PyExc_ValueError, "raqm_get_glyphs() failed."); + count = 0; + goto failed; + } (*glyph_info) = PyMem_New(GlyphInfo, count); if ((*glyph_info) == NULL) { @@ -363,25 +353,14 @@ text_layout_raqm( goto failed; } -// if (p_raqm.version == 1) { -// for (i = 0; i < count; i++) { -// (*glyph_info)[i].index = glyphs_01[i].index; -// (*glyph_info)[i].x_offset = glyphs_01[i].x_offset; -// (*glyph_info)[i].x_advance = glyphs_01[i].x_advance; -// (*glyph_info)[i].y_offset = glyphs_01[i].y_offset; -// (*glyph_info)[i].y_advance = glyphs_01[i].y_advance; -// (*glyph_info)[i].cluster = glyphs_01[i].cluster; -// } -// } else { - for (i = 0; i < count; i++) { - (*glyph_info)[i].index = glyphs[i].index; - (*glyph_info)[i].x_offset = glyphs[i].x_offset; - (*glyph_info)[i].x_advance = glyphs[i].x_advance; - (*glyph_info)[i].y_offset = glyphs[i].y_offset; - (*glyph_info)[i].y_advance = glyphs[i].y_advance; - (*glyph_info)[i].cluster = glyphs[i].cluster; - } -// } + for (i = 0; i < count; i++) { + (*glyph_info)[i].index = glyphs[i].index; + (*glyph_info)[i].x_offset = glyphs[i].x_offset; + (*glyph_info)[i].x_advance = glyphs[i].x_advance; + (*glyph_info)[i].y_offset = glyphs[i].y_offset; + (*glyph_info)[i].y_advance = glyphs[i].y_advance; + (*glyph_info)[i].cluster = glyphs[i].cluster; + } failed: raqm_destroy(rq); From c718cc6c94cacfbfcd7e84cff9f012df1b84c718 Mon Sep 17 00:00:00 2001 From: nulano Date: Thu, 25 Mar 2021 00:25:38 +0100 Subject: [PATCH 261/325] avoid unused variable warnings --- src/_imagingft.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/_imagingft.c b/src/_imagingft.c index 330294479..73f0f6362 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -1367,7 +1367,6 @@ setup_module(PyObject *m) { PyDict_SetItemString(d, "HAVE_FRIBIDI", v); PyDict_SetItemString(d, "HAVE_HARFBUZZ", v); if (have_raqm) { - const char *a, *b; #ifdef RAQM_VERSION_MAJOR v = PyUnicode_FromString(raqm_version_string()); #else @@ -1376,12 +1375,14 @@ setup_module(PyObject *m) { PyDict_SetItemString(d, "raqm_version", v); #ifdef FRIBIDI_MAJOR_VERSION - a = strchr(fribidi_version_info, ')'); - b = strchr(fribidi_version_info, '\n'); - if (a && b) { - v = PyUnicode_FromStringAndSize(a + 2, b - a - 2); - } else { - v = Py_None; + { + const char *a = strchr(fribidi_version_info, ')'); + const char *b = strchr(fribidi_version_info, '\n'); + if (a && b && a + 2 < b) { + v = PyUnicode_FromStringAndSize(a + 2, b - (a + 2)); + } else { + v = Py_None; + } } #else v = Py_None; From 4b1dd40b5aa42af3f5fcf65856cb7bafae1cf256 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Mar 2021 11:57:48 +1100 Subject: [PATCH 262/325] Listed Debian packages [ci skip] --- docs/installation.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 79bb8079f..95d87feb7 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -88,9 +88,10 @@ libraqm, fribidi, and harfbuzz to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow -Most major Linux distributions, including Fedora, Debian/Ubuntu and -ArchLinux also include Pillow in packages that previously contained -PIL e.g. ``python-imaging``. +Most major Linux distributions, including Fedora, Ubuntu and ArchLinux +also include Pillow in packages that previously contained PIL e.g. +``python-imaging``. Debian splits it into two packages, ``python3-pil`` +and ``python3-pil.imagetk``. FreeBSD Installation ^^^^^^^^^^^^^^^^^^^^ From 4c36945206272a29958716d0cef5fbf6e3a0b56a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Mar 2021 22:43:46 +1100 Subject: [PATCH 263/325] Added prerequisites and Python development libraries for Alpine --- docs/installation.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/installation.rst b/docs/installation.rst index 79bb8079f..bc34f1d01 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -366,6 +366,10 @@ In Fedora, the command is:: sudo dnf install python3-devel redhat-rpm-config +In Alpine, the command is:: + + sudo apk add python3-dev py3-setuptools + .. Note:: ``redhat-rpm-config`` is required on Fedora 23, but not earlier versions. Prerequisites for **Ubuntu 16.04 LTS - 20.04 LTS** are installed with:: @@ -385,6 +389,12 @@ Prerequisites are installed on recent **Red Hat**, **CentOS** or **Fedora** with Note that the package manager may be yum or DNF, depending on the exact distribution. +Prerequisites are installed for **Alpine** with:: + + sudo apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \ + libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev \ + libxcb-dev libpng-dev + See also the ``Dockerfile``\s in the Test Infrastructure repo (https://github.com/python-pillow/docker-images) for a known working install process for other tested distros. From 977e64fb6150b04fcbe2ae29eadd893df443f9c9 Mon Sep 17 00:00:00 2001 From: German Novikov Date: Thu, 25 Mar 2021 14:56:30 +0300 Subject: [PATCH 264/325] Update Tests/test_imageops.py Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- Tests/test_imageops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 8d12f6869..986c5f887 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -376,7 +376,7 @@ def test_autocontrast_preserve_gradient(): # cutoff the top and bottom # autocontrast should make the first and list histogram entries equal - # and should be 10% of the image pixels (+-, because integers) + # and, with rounding, should be 10% of the image pixels out = ImageOps.autocontrast(gradient, cutoff=10, preserve_tone=True) hist = out.histogram() assert hist[0] == hist[-1] From 0acf3514a1d5c9ca669a81c86d69d5102e44cfbe Mon Sep 17 00:00:00 2001 From: Ray Gardner Date: Mon, 22 Feb 2021 16:25:00 -0700 Subject: [PATCH 265/325] Modify GifEncode.c and Gif.h to use LZW encoding --- src/libImaging/Gif.h | 39 ++- src/libImaging/GifEncode.c | 554 +++++++++++++++++++------------------ 2 files changed, 308 insertions(+), 285 deletions(-) diff --git a/src/libImaging/Gif.h b/src/libImaging/Gif.h index a85ce2b6e..4029bbfe5 100644 --- a/src/libImaging/Gif.h +++ b/src/libImaging/Gif.h @@ -9,10 +9,10 @@ /* Max size for a LZW code word. */ -#define GIFBITS 12 +#define GIFBITS 12 -#define GIFTABLE (1 << GIFBITS) -#define GIFBUFFER (1 << GIFBITS) +#define GIFTABLE (1<block || context->block->size == 255) { - GIFENCODERBLOCK *block; +/* Values of entry_state */ +enum { LZW_INITIAL, LZW_TRY_IN1, LZW_TRY_IN2, LZW_TRY_OUT1, LZW_TRY_OUT2, + LZW_FINISHED }; - /* no room in the current block (or no current block); - allocate a new one */ +/* Values of control_state */ +enum { PUT_HEAD, PUT_INIT_CLEAR, PUT_CLEAR, PUT_LAST_HEAD, PUT_END }; - /* add current block to end of flush queue */ - if (context->block) { - block = context->flush; - while (block && block->next) { - block = block->next; - } - if (block) { - block->next = context->block; - } else { - context->flush = context->block; - } - } - - /* get a new block */ - if (context->free) { - block = context->free; - context->free = NULL; - } else { - /* malloc check ok, small constant allocation */ - block = malloc(sizeof(GIFENCODERBLOCK)); - if (!block) { - return 0; - } - } - - block->size = 0; - block->next = NULL; - - context->block = block; - } - - /* write new byte to block */ - context->block->data[context->block->size++] = byte; - - return 1; +static void glzwe_reset(GIFENCODERSTATE *st) { + st->next_code = st->end_code + 1; + st->max_code = 2 * st->clear_code - 1; + st->code_width = st->bits + 1; + memset(st->codes, 0, sizeof(st->codes)); } -/* write a code word to the current block. this is a macro to make - sure it's inlined on all platforms */ +static void glzwe_init(GIFENCODERSTATE *st) { + st->clear_code = 1 << st->bits; + st->end_code = st->clear_code + 1; + glzwe_reset(st); + st->entry_state = LZW_INITIAL; + st->buf_bits_left = 8; + st->code_buffer = 0; +} -#define EMIT(code) \ - { \ - context->bitbuffer |= ((INT32)(code)) << context->bitcount; \ - context->bitcount += 9; \ - while (context->bitcount >= 8) { \ - if (!emit(context, (UINT8)context->bitbuffer)) { \ - state->errcode = IMAGING_CODEC_MEMORY; \ - return 0; \ - } \ - context->bitbuffer >>= 8; \ - context->bitcount -= 8; \ - } \ - } - -/* write a run. we use a combination of literals and combinations of - literals. this can give quite decent compression for images with - long stretches of identical pixels. but remember: if you want - really good compression, use another file format. */ - -#define EMIT_RUN(label) \ - { \ - label: \ - while (context->count > 0) { \ - int run = 2; \ - EMIT(context->last); \ - context->count--; \ - if (state->count++ == LAST_CODE) { \ - EMIT(CLEAR_CODE); \ - state->count = FIRST_CODE; \ - goto label; \ - } \ - while (context->count >= run) { \ - EMIT(state->count - 1); \ - context->count -= run; \ - run++; \ - if (state->count++ == LAST_CODE) { \ - EMIT(CLEAR_CODE); \ - state->count = FIRST_CODE; \ - goto label; \ - } \ - } \ - if (context->count > 1) { \ - EMIT(state->count - 1 - (run - context->count)); \ - context->count = 0; \ - if (state->count++ == LAST_CODE) { \ - EMIT(CLEAR_CODE); \ - state->count = FIRST_CODE; \ - } \ - break; \ - } \ - } \ +static int glzwe(GIFENCODERSTATE *st, const UINT8 *in_ptr, UINT8 *out_ptr, + UINT32 *in_avail, UINT32 *out_avail, + UINT32 end_of_data) { + switch (st->entry_state) { + + case LZW_TRY_IN1: +get_first_byte: + if (!*in_avail) { + if (end_of_data) { + goto end_of_data; + } + st->entry_state = LZW_TRY_IN1; + return GLZW_NO_INPUT_AVAIL; + } + st->head = *in_ptr++; + (*in_avail)--; + + case LZW_TRY_IN2: +encode_loop: + if (!*in_avail) { + if (end_of_data) { + st->code = st->head; + st->put_state = PUT_LAST_HEAD; + goto put_code; + } + st->entry_state = LZW_TRY_IN2; + return GLZW_NO_INPUT_AVAIL; + } + st->tail = *in_ptr++; + (*in_avail)--; + + /* Knuth TAOCP vol 3 sec. 6.4 algorithm D. */ + /* Hash found experimentally to be pretty good. */ + /* This works ONLY with TABLE_SIZE a power of 2. */ + st->probe = ((st->head ^ (st->tail << 6)) * 31) & (TABLE_SIZE - 1); + while (st->codes[st->probe]) { + if ((st->codes[st->probe] & 0xFFFFF) == + ((st->head << 8) | st->tail)) { + st->head = st->codes[st->probe] >> 20; + goto encode_loop; + } else { + /* Reprobe decrement must be nonzero and relatively prime to table + * size. So, any odd positive number for power-of-2 size. */ + if ((st->probe -= ((st->tail << 2) | 1)) < 0) { + st->probe += TABLE_SIZE; + } + } + } + /* Key not found, probe is at empty slot. */ + st->code = st->head; + st->put_state = PUT_HEAD; + goto put_code; +insert_code_or_clear: /* jump here after put_code */ + if (st->next_code < CODE_LIMIT) { + st->codes[st->probe] = (st->next_code << 20) | + (st->head << 8) | st->tail; + if (st->next_code > st->max_code) { + st->max_code = st->max_code * 2 + 1; + st->code_width++; + } + st->next_code++; + } else { + st->code = st->clear_code; + st->put_state = PUT_CLEAR; + goto put_code; +reset_after_clear: /* jump here after put_code */ + glzwe_reset(st); + } + st->head = st->tail; + goto encode_loop; + + case LZW_INITIAL: + glzwe_reset(st); + st->code = st->clear_code; + st->put_state = PUT_INIT_CLEAR; +put_code: + st->code_bits_left = st->code_width; +check_buf_bits: + if (!st->buf_bits_left) { /* out buffer full */ + + case LZW_TRY_OUT1: + if (!*out_avail) { + st->entry_state = LZW_TRY_OUT1; + return GLZW_NO_OUTPUT_AVAIL; + } + *out_ptr++ = st->code_buffer; + (*out_avail)--; + st->code_buffer = 0; + st->buf_bits_left = 8; + } + /* code bits to pack */ + UINT32 n = st->buf_bits_left < st->code_bits_left + ? st->buf_bits_left : st->code_bits_left; + st->code_buffer |= + (st->code & ((1 << n) - 1)) << (8 - st->buf_bits_left); + st->code >>= n; + st->buf_bits_left -= n; + st->code_bits_left -= n; + if (st->code_bits_left) + goto check_buf_bits; + switch (st->put_state) { + case PUT_INIT_CLEAR: + goto get_first_byte; + case PUT_HEAD: + goto insert_code_or_clear; + case PUT_CLEAR: + goto reset_after_clear; + case PUT_LAST_HEAD: + goto end_of_data; + case PUT_END: + goto flush_code_buffer; + default: + return GLZW_INTERNAL_ERROR; + } + +end_of_data: + st->code = st->end_code; + st->put_state = PUT_END; + goto put_code; +flush_code_buffer: /* jump here after put_code */ + if (st->buf_bits_left < 8) { + + case LZW_TRY_OUT2: + if (!*out_avail) { + st->entry_state = LZW_TRY_OUT2; + return GLZW_NO_OUTPUT_AVAIL; + } + *out_ptr++ = st->code_buffer; + (*out_avail)--; + } + st->entry_state = LZW_FINISHED; + return GLZW_OK; + + case LZW_FINISHED: + return GLZW_OK; + + default: + return GLZW_INTERNAL_ERROR; } +} +/* -END- GIF LZW encoder. */ int -ImagingGifEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) { - UINT8 *ptr; - int this; +ImagingGifEncode(Imaging im, ImagingCodecState state, UINT8* buf, int bytes) { + UINT8* ptr; + UINT8* sub_block_ptr; + UINT8* sub_block_limit; + UINT8* buf_limit; + GIFENCODERSTATE *context = (GIFENCODERSTATE*) state->context; + int r; - GIFENCODERBLOCK *block; - GIFENCODERSTATE *context = (GIFENCODERSTATE *)state->context; + UINT32 in_avail, in_used; + UINT32 out_avail, out_used; - if (!state->state) { - /* place a clear code in the output buffer */ - context->bitbuffer = CLEAR_CODE; - context->bitcount = 9; - - state->count = FIRST_CODE; + if (state->state == INIT) { + state->state = ENCODE; + glzwe_init(context); if (context->interlace) { context->interlace = 1; @@ -159,166 +223,132 @@ ImagingGifEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) { context->step = 1; } - context->last = -1; - + /* Need at least 2 bytes for data sub-block; 5 for empty image */ + if (bytes < 5) { + state->errcode = IMAGING_CODEC_CONFIG; + return 0; + } /* sanity check */ if (state->xsize <= 0 || state->ysize <= 0) { - state->state = ENCODE_EOF; + /* Is this better than an error return? */ + /* This will handle any legal "LZW Minimum Code Size" */ + memset(buf, 0, 5); + in_avail = 0; + out_avail = 5; + r = glzwe(context, (const UINT8 *)"", buf + 1, &in_avail, &out_avail, 1); + if (r == GLZW_OK) { + r = 5 - out_avail; + if (r < 1 || r > 3) { + state->errcode = IMAGING_CODEC_BROKEN; + return 0; + } + buf[0] = r; + state->errcode = IMAGING_CODEC_END; + return r + 2; + } else { + /* Should not be possible unless something external to this + * routine messes with our state data */ + state->errcode = IMAGING_CODEC_BROKEN; + return 0; + } } + /* Init state->x to make if() below true the first time through. */ + state->x = state->xsize; } - ptr = buf; + buf_limit = buf + bytes; + sub_block_limit = sub_block_ptr = ptr = buf; + /* On entry, buf is output buffer, bytes is space available in buf. + * Loop here getting input until buf is full or image is all encoded. */ for (;;) { - switch (state->state) { - case INIT: - case ENCODE: + /* Set up sub-block ptr and limit. sub_block_ptr stays at beginning + * of sub-block until it is full. ptr will advance when any data is + * placed in buf. + */ + if (ptr >= sub_block_limit) { + if (buf_limit - ptr < 2) { /* Need at least 2 for data sub-block */ + return ptr - buf; + } + sub_block_ptr = ptr; + sub_block_limit = sub_block_ptr + + (256 < buf_limit - sub_block_ptr ? + 256 : buf_limit - sub_block_ptr); + *ptr++ = 0; + } - /* identify and store a run of pixels */ + /* Get next row of pixels. */ + /* This if() originally tested state->x==0 for the first time through. + * This no longer works, as the loop will not advance state->x if + * glzwe() does not consume any input; this would advance the row + * spuriously. Now pre-init state->x above for first time, and avoid + * entering if() when state->state is FINISH, or it will loop + * infinitely. + */ + if (state->x >= state->xsize && state->state == ENCODE) { + if (!context->interlace && state->y >= state->ysize) { + state->state = FINISH; + continue; + } - if (state->x == 0 || state->x >= state->xsize) { - if (!context->interlace && state->y >= state->ysize) { - state->state = ENCODE_EOF; + /* get another line of data */ + state->shuffle( + state->buffer, + (UINT8*) im->image[state->y + state->yoff] + + state->xoff * im->pixelsize, state->xsize + ); + state->x = 0; + + /* step forward, according to the interlace settings */ + state->y += context->step; + while (context->interlace && state->y >= state->ysize) { + switch (context->interlace) { + case 1: + state->y = 4; + context->interlace = 2; break; - } - - if (context->flush) { - state->state = FLUSH; + case 2: + context->step = 4; + state->y = 2; + context->interlace = 3; break; - } - - /* get another line of data */ - state->shuffle( - state->buffer, - (UINT8 *)im->image[state->y + state->yoff] + - state->xoff * im->pixelsize, - state->xsize); - - state->x = 0; - - if (state->state == INIT) { - /* preload the run-length buffer and get going */ - context->last = state->buffer[0]; - context->count = state->x = 1; - state->state = ENCODE; - } - - /* step forward, according to the interlace settings */ - state->y += context->step; - while (context->interlace && state->y >= state->ysize) - switch (context->interlace) { - case 1: - state->y = 4; - context->interlace = 2; - break; - case 2: - context->step = 4; - state->y = 2; - context->interlace = 3; - break; - case 3: - context->step = 2; - state->y = 1; - context->interlace = 0; - break; - default: - /* just make sure we don't loop forever */ - context->interlace = 0; - } - } - /* Potential special case for xsize==1 */ - if (state->x < state->xsize) { - this = state->buffer[state->x++]; - } else { - EMIT_RUN(label0); - break; + case 3: + context->step = 2; + state->y = 1; + context->interlace = 0; + break; + default: + /* just make sure we don't loop forever */ + context->interlace = 0; } + } + } - if (this == context->last) { - context->count++; - } else { - EMIT_RUN(label1); - context->last = this; - context->count = 1; - } - break; + in_avail = state->xsize - state->x; /* bytes left in line */ + out_avail = sub_block_limit - ptr; /* bytes left in sub-block */ + r = glzwe(context, &state->buffer[state->x], ptr, &in_avail, + &out_avail, state->state == FINISH); + out_used = sub_block_limit - ptr - out_avail; + *sub_block_ptr += out_used; + ptr += out_used; + in_used = state->xsize - state->x - in_avail; + state->x += in_used; - case ENCODE_EOF: - - /* write the final run */ - EMIT_RUN(label2); - - /* write an end of image marker */ - EMIT(EOF_CODE); - - /* empty the bit buffer */ - while (context->bitcount > 0) { - if (!emit(context, (UINT8)context->bitbuffer)) { - state->errcode = IMAGING_CODEC_MEMORY; - return 0; - } - context->bitbuffer >>= 8; - context->bitcount -= 8; - } - - /* flush the last block, and exit */ - if (context->block) { - GIFENCODERBLOCK *block; - block = context->flush; - while (block && block->next) { - block = block->next; - } - if (block) { - block->next = context->block; - } else { - context->flush = context->block; - } - context->block = NULL; - } - - state->state = EXIT; - - /* fall through... */ - - case EXIT: - case FLUSH: - - while (context->flush) { - /* get a block from the flush queue */ - block = context->flush; - - if (block->size > 0) { - /* make sure it fits into the output buffer */ - if (bytes < block->size + 1) { - return ptr - buf; - } - - ptr[0] = block->size; - memcpy(ptr + 1, block->data, block->size); - - ptr += block->size + 1; - bytes -= block->size + 1; - } - - context->flush = block->next; - - if (context->free) { - free(context->free); - } - context->free = block; - } - - if (state->state == EXIT) { - /* this was the last block! */ - if (context->free) { - free(context->free); - } - state->errcode = IMAGING_CODEC_END; - return ptr - buf; - } - - state->state = ENCODE; - break; + if (r == GLZW_OK) { + /* Should not be possible when end-of-data flag is false. */ + state->errcode = IMAGING_CODEC_END; + return ptr - buf; + } else if (r == GLZW_NO_INPUT_AVAIL) { + /* Used all the input line; get another line */ + continue; + } else if (r == GLZW_NO_OUTPUT_AVAIL) { + /* subblock is full */ + continue; + } else { + /* Should not be possible unless something external to this + * routine messes with our state data */ + state->errcode = IMAGING_CODEC_BROKEN; + return 0; } } } From 5390786c6546449d4c5ff8e8b8a6709f10016f20 Mon Sep 17 00:00:00 2001 From: Ray Gardner Date: Thu, 25 Mar 2021 16:46:55 -0600 Subject: [PATCH 266/325] Add braces to if -- conform with Pillow style. --- src/libImaging/GifEncode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libImaging/GifEncode.c b/src/libImaging/GifEncode.c index 8dec30f40..0ac9dc605 100644 --- a/src/libImaging/GifEncode.c +++ b/src/libImaging/GifEncode.c @@ -156,8 +156,9 @@ check_buf_bits: st->code >>= n; st->buf_bits_left -= n; st->code_bits_left -= n; - if (st->code_bits_left) + if (st->code_bits_left) { goto check_buf_bits; + } switch (st->put_state) { case PUT_INIT_CLEAR: goto get_first_byte; From 7c48f122077671b64ff998595d9c1f3ea8ad1852 Mon Sep 17 00:00:00 2001 From: nulano Date: Fri, 26 Mar 2021 02:54:11 +0100 Subject: [PATCH 267/325] add explanatory comment for USE_WIN32_FILEIO --- setup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.py b/setup.py index 4f768d395..66bab7ecb 100755 --- a/setup.py +++ b/setup.py @@ -728,6 +728,10 @@ class pil_build_ext(build_ext): libs.append(feature.tiff) defs.append(("HAVE_LIBTIFF", None)) if sys.platform == "win32": + # This define needs to be defined if-and-only-if it was defined + # when compiling LibTIFF. LibTIFF doesn't expose it in `tiffconf.h`, + # so we have to guess; by default it is defined in all Windows builds. + # See #4237, #5243, #5359 for more information. defs.append(("USE_WIN32_FILEIO", None)) if feature.xcb: libs.append(feature.xcb) From 9872d57e3baa0659482bee143e7029f358cd6746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Baranovi=C4=8D?= Date: Sat, 27 Mar 2021 02:06:36 +0100 Subject: [PATCH 268/325] corrected comment --- Tests/test_image_transform.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tests/test_image_transform.py b/Tests/test_image_transform.py index c22b874c6..845900267 100644 --- a/Tests/test_image_transform.py +++ b/Tests/test_image_transform.py @@ -145,9 +145,8 @@ class TestImageTransform: def _test_nearest(self, op, mode): # create white image with half transparent, - # with the black half transparent. # do op, - # the image should be white with half transparent + # the image should remain white with half transparent transparent, opaque = { "RGBA": ((255, 255, 255, 0), (255, 255, 255, 255)), "LA": ((255, 0), (255, 255)), From a4a38b805b524f0fdb0d1feca83ca73d3ccfff0b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 27 Mar 2021 14:47:11 +1100 Subject: [PATCH 269/325] Removed return value of build_distance_tables --- src/libImaging/Quant.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/libImaging/Quant.c b/src/libImaging/Quant.c index bee5e5599..f5a5d567c 100644 --- a/src/libImaging/Quant.c +++ b/src/libImaging/Quant.c @@ -789,7 +789,7 @@ resort_distance_tables( return 1; } -static int +static void build_distance_tables( uint32_t *avgDist, uint32_t **avgDistSortKey, Pixel *p, uint32_t nEntries) { uint32_t i, j; @@ -811,7 +811,6 @@ build_distance_tables( sizeof(uint32_t *), _sort_ulong_ptr_keys); } - return 1; } static int @@ -1373,9 +1372,7 @@ quantize( goto error_6; } - if (!build_distance_tables(avgDist, avgDistSortKey, p, nPaletteEntries)) { - goto error_7; - } + build_distance_tables(avgDist, avgDistSortKey, p, nPaletteEntries); if (!map_image_pixels_from_median_box( pixelData, nPixels, p, nPaletteEntries, h, avgDist, avgDistSortKey, qp)) { @@ -1580,9 +1577,7 @@ quantize2( goto error_3; } - if (!build_distance_tables(avgDist, avgDistSortKey, p, nQuantPixels)) { - goto error_4; - } + build_distance_tables(avgDist, avgDistSortKey, p, nQuantPixels); if (!map_image_pixels( pixelData, nPixels, p, nQuantPixels, avgDist, avgDistSortKey, qp)) { From 71cd97a5199bc54d492150fdd7f6ad216f381e70 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 28 Mar 2021 15:51:28 +1100 Subject: [PATCH 270/325] Added deprecation warnings --- Tests/test_image.py | 15 +++++++++++++++ src/PIL/Image.py | 35 ++++++++++++++++++++++++++++------- src/PIL/MicImagePlugin.py | 2 +- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index b326ca0f8..3fa071be1 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -1,6 +1,7 @@ import io import os import shutil +import sys import tempfile import pytest @@ -769,6 +770,20 @@ class TestImage: reloaded_exif.load(exif.tobytes()) assert reloaded_exif.get_ifd(0x8769) == exif.get_ifd(0x8769) + @pytest.mark.skipif( + sys.version_info < (3, 7), reason="Python 3.7 or greater required" + ) + def test_categories_deprecation(self): + with pytest.warns(DeprecationWarning): + assert hopper().category == 0 + + with pytest.warns(DeprecationWarning): + assert Image.NORMAL == 0 + with pytest.warns(DeprecationWarning): + assert Image.SEQUENCE == 1 + with pytest.warns(DeprecationWarning): + assert Image.CONTAINER == 2 + @pytest.mark.parametrize( "test_module", [PIL, Image], diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 2e7abfb68..6f0fd1383 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -59,6 +59,16 @@ if sys.version_info >= (3, 7): if name == "PILLOW_VERSION": _raise_version_warning() return __version__ + else: + categories = {"NORMAL": 0, "SEQUENCE": 1, "CONTAINER": 2} + if name in categories: + warnings.warn( + "Image categories are deprecated and will be removed in Pillow 10 " + "(2023-01-02). Use is_animated instead.", + DeprecationWarning, + stacklevel=2, + ) + return categories[name] raise AttributeError(f"module '{__name__}' has no attribute '{name}'") @@ -69,6 +79,11 @@ else: # Silence warning assert PILLOW_VERSION + # categories + NORMAL = 0 + SEQUENCE = 1 + CONTAINER = 2 + logger = logging.getLogger(__name__) @@ -187,11 +202,6 @@ MAXCOVERAGE = 1 FASTOCTREE = 2 LIBIMAGEQUANT = 3 -# categories -NORMAL = 0 -SEQUENCE = 1 -CONTAINER = 2 - if hasattr(core, "DEFAULT_STRATEGY"): DEFAULT_STRATEGY = core.DEFAULT_STRATEGY FILTERED = core.FILTERED @@ -535,11 +545,22 @@ class Image: self._size = (0, 0) self.palette = None self.info = {} - self.category = NORMAL + self._category = 0 self.readonly = 0 self.pyaccess = None self._exif = None + def __getattr__(self, name): + if name == "category": + warnings.warn( + "Image categories are deprecated and will be removed in Pillow 10 " + "(2023-01-02). Use is_animated instead.", + DeprecationWarning, + stacklevel=2, + ) + return self._category + raise AttributeError(name) + @property def width(self): return self.size[0] @@ -648,7 +669,7 @@ class Image: and self.mode == other.mode and self.size == other.size and self.info == other.info - and self.category == other.category + and self._category == other._category and self.readonly == other.readonly and self.getpalette() == other.getpalette() and self.tobytes() == other.tobytes() diff --git a/src/PIL/MicImagePlugin.py b/src/PIL/MicImagePlugin.py index 2aed26030..9248b1b65 100644 --- a/src/PIL/MicImagePlugin.py +++ b/src/PIL/MicImagePlugin.py @@ -68,7 +68,7 @@ class MicImageFile(TiffImagePlugin.TiffImageFile): self.is_animated = self._n_frames > 1 if len(self.images) > 1: - self.category = Image.CONTAINER + self._category = Image.CONTAINER self.seek(0) From fa6fed92cb8ca664a898e37f8df8188c363c4812 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 28 Mar 2021 16:10:34 +1100 Subject: [PATCH 271/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 21eeb214c..dba9d263a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Do not premultiply alpha when resizing with Image.NEAREST resampling #5304 + [nulano] + +- Dynamically link FriBiDi instead of Raqm #5062 + [nulano] + - Allow fewer PNG palette entries than the bit depth maximum when saving #5330 [radarhere] From bf8cebc96d8210d10394eb29728b1953def34f75 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 28 Mar 2021 13:49:37 +0200 Subject: [PATCH 272/325] Add libxcb to fuzzers --- Tests/oss-fuzz/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/oss-fuzz/build.sh b/Tests/oss-fuzz/build.sh index fc54ee3ee..513136fff 100755 --- a/Tests/oss-fuzz/build.sh +++ b/Tests/oss-fuzz/build.sh @@ -31,6 +31,7 @@ for fuzzer in $(find $SRC -name 'fuzz_*.py'); do --add-binary /usr/local/lib/libwebp.so.7:. \ --add-binary /usr/local/lib/libwebpdemux.so.2:. \ --add-binary /usr/local/lib/libwebpmux.so.3:. \ + --add-binary /usr/local/lib/libxcb.so.1:. \ --distpath $OUT --onefile --name $fuzzer_package $fuzzer # Create execution wrapper. From d18e55013dafa2da7a68dd5ab911bfdb3826d74c Mon Sep 17 00:00:00 2001 From: German Novikov Date: Sun, 28 Mar 2021 15:02:52 +0300 Subject: [PATCH 273/325] Update Tests/test_imageops.py Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- Tests/test_imageops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 986c5f887..888afad37 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -375,7 +375,7 @@ def test_autocontrast_preserve_gradient(): assert_image_equal(gradient, out) # cutoff the top and bottom - # autocontrast should make the first and list histogram entries equal + # autocontrast should make the first and last histogram entries equal # and, with rounding, should be 10% of the image pixels out = ImageOps.autocontrast(gradient, cutoff=10, preserve_tone=True) hist = out.histogram() From 0018685a8e475ce91ceb11a6df8e137f0b1f6a47 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Sat, 23 May 2020 09:24:41 -0700 Subject: [PATCH 274/325] Add Tests and support for Planar Tiff Images --- Tests/images/tiff_strip_planar_16bit_RGB.tiff | Bin 0 -> 31576 bytes .../images/tiff_strip_planar_16bit_RGBa.tiff | Bin 0 -> 37295 bytes Tests/images/tiff_strip_planar_lzw.tiff | Bin 0 -> 155014 bytes Tests/images/tiff_tiled_planar_16bit_RGB.tiff | Bin 0 -> 34501 bytes .../images/tiff_tiled_planar_16bit_RGBa.tiff | Bin 0 -> 41015 bytes Tests/images/tiff_tiled_planar_lzw.tiff | Bin 0 -> 159997 bytes Tests/test_file_libtiff.py | 46 +++++++ Tests/test_lib_pack.py | 54 ++++++++ src/libImaging/Unpack.c | 121 +++++++++++++++++- 9 files changed, 220 insertions(+), 1 deletion(-) create mode 100644 Tests/images/tiff_strip_planar_16bit_RGB.tiff create mode 100644 Tests/images/tiff_strip_planar_16bit_RGBa.tiff create mode 100644 Tests/images/tiff_strip_planar_lzw.tiff create mode 100644 Tests/images/tiff_tiled_planar_16bit_RGB.tiff create mode 100644 Tests/images/tiff_tiled_planar_16bit_RGBa.tiff create mode 100644 Tests/images/tiff_tiled_planar_lzw.tiff diff --git a/Tests/images/tiff_strip_planar_16bit_RGB.tiff b/Tests/images/tiff_strip_planar_16bit_RGB.tiff new file mode 100644 index 0000000000000000000000000000000000000000..360b4c165333468fbbdc015916edf3fc265df7e9 GIT binary patch literal 31576 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 TOKzPa?>J~e2{$#_l;{5+2s|yj literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_planar_16bit_RGBa.tiff b/Tests/images/tiff_strip_planar_16bit_RGBa.tiff new file mode 100644 index 0000000000000000000000000000000000000000..b8c3dcf643853d875a274032c13377739be76638 GIT binary patch literal 37295 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_planar_lzw.tiff b/Tests/images/tiff_strip_planar_lzw.tiff new file mode 100644 index 0000000000000000000000000000000000000000..8145703f4308af2329218d1ffbba2b7f8931d5e8 GIT binary patch literal 155014 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%0D+65bzP;SeSUmHSigA<&*IA``yjt1bd3 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 dzofv!f>z~0AOIx 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_tiled_planar_16bit_RGB.tiff b/Tests/images/tiff_tiled_planar_16bit_RGB.tiff new file mode 100644 index 0000000000000000000000000000000000000000..0376e90a7be5f9da5b5882aa5e54af41de695128 GIT binary patch literal 34501 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

9Rv+tv1F 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 C$e*_W literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_tiled_planar_lzw.tiff b/Tests/images/tiff_tiled_planar_lzw.tiff new file mode 100644 index 0000000000000000000000000000000000000000..57cd6094a285b3ca74102c8041053b999711fea5 GIT binary patch literal 159997 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%0D!T6f{|DWTd6A6}Pk;4Qs2= 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 iAPIFHpHUqA#QJjqd(4 Date: Thu, 11 Mar 2021 22:12:35 +0100 Subject: [PATCH 316/325] Fix FLI DOS -- CVE-2021-28676 * FliDecode did not properly check that the block advance was non-zero, potentally leading to an infinite loop on load. * This dates to the PIL Fork * Found with oss-fuzz --- ...-9139147ce93e20eb14088fe238e541443ffd64b3.fli | Bin 0 -> 200 bytes ...-bff0a9dc7243a8e6ede2408d2ffa6a9964698b87.fli | Bin 0 -> 159 bytes Tests/test_file_fli.py | 15 +++++++++++++++ src/libImaging/FliDecode.c | 5 +++++ 4 files changed, 20 insertions(+) create mode 100644 Tests/images/timeout-9139147ce93e20eb14088fe238e541443ffd64b3.fli create mode 100644 Tests/images/timeout-bff0a9dc7243a8e6ede2408d2ffa6a9964698b87.fli diff --git a/Tests/images/timeout-9139147ce93e20eb14088fe238e541443ffd64b3.fli b/Tests/images/timeout-9139147ce93e20eb14088fe238e541443ffd64b3.fli new file mode 100644 index 0000000000000000000000000000000000000000..ce4607d2dd083a923db2d6326e5b6cb34edd0702 GIT binary patch literal 200 zcmXwyJqp4=6okhm_!AK#S{V>qkC4L7);m~u4$UR3QhET7U>C8`6NsQ~KrD1!$?o_f z?!bdLAH&SWVbk4)s713L;WfRs?&f^rjbH($2=O8(RIXr?StL24^!a$mm34*ztOEHI zPNn;?;{vpx5n#!EK1%YGNr|@KscMMNgL>^6V^2HPbNIWZWZrUq>?l&21IIabHemf% Go_zsZc2frc literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-bff0a9dc7243a8e6ede2408d2ffa6a9964698b87.fli b/Tests/images/timeout-bff0a9dc7243a8e6ede2408d2ffa6a9964698b87.fli new file mode 100644 index 0000000000000000000000000000000000000000..77a94b87a3ade935e707f3d89c9fbff801a1e976 GIT binary patch literal 159 zcmXwyF$%&!6hz0xLL-qC>;mF7(n^lvLG~UgJ%G1}r6&+U+km7{iDdV=TkI?5!(*6# z4?1nmg=SV3WtzwGHQuf~5xsCK^nnE?^f6l-duYo2Y6m_H%;k;X9X;l|tpZ2k#TbQW bed+df=cp&G@}D$=e#5~fLnPfYMS}JZYT!X? literal 0 HcmV?d00001 diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 0d9748a95..1c1abf2b1 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -123,3 +123,18 @@ def test_seek(): im.seek(50) assert_image_equal_tofile(im, "Tests/images/a_fli.png") + + +@pytest.mark.parametrize( + "test_file", + [ + "Tests/images/timeout-9139147ce93e20eb14088fe238e541443ffd64b3.fli", + "Tests/images/timeout-bff0a9dc7243a8e6ede2408d2ffa6a9964698b87.fli", + ], +) +@pytest.mark.timeout(timeout=3) +def test_timeouts(test_file): + with open(test_file, "rb") as f: + with Image.open(f) as im: + with pytest.raises(OSError): + im.load() diff --git a/src/libImaging/FliDecode.c b/src/libImaging/FliDecode.c index e9000fc99..35a6ccccc 100644 --- a/src/libImaging/FliDecode.c +++ b/src/libImaging/FliDecode.c @@ -243,6 +243,11 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t byt return -1; } advance = I32(ptr); + if (advance == 0 ) { + // If there's no advance, we're in in infinite loop + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } if (advance < 0 || advance > bytes) { state->errcode = IMAGING_CODEC_OVERRUN; return -1; From ba65f0b08ee8b93195c3f3277820771f5b62aa52 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 14 Mar 2021 23:26:28 +0100 Subject: [PATCH 317/325] Fix Memory DOS in ImageFont * A corrupt or specially crafted TTF font could have font metrics that lead to unreasonably large sizes when rendering text in font. ImageFont.py did not check the image size before allocating memory for it. * Found with oss-fuzz * This dates from the PIL fork --- ...e8e927ba6c0d38274a37c1567560eb33baf74627.ttf | Bin 0 -> 50373 bytes Tests/test_imagefont.py | 13 +++++++++++++ src/PIL/ImageFont.py | 1 + 3 files changed, 14 insertions(+) create mode 100644 Tests/fonts/oom-e8e927ba6c0d38274a37c1567560eb33baf74627.ttf diff --git a/Tests/fonts/oom-e8e927ba6c0d38274a37c1567560eb33baf74627.ttf b/Tests/fonts/oom-e8e927ba6c0d38274a37c1567560eb33baf74627.ttf new file mode 100644 index 0000000000000000000000000000000000000000..79013251524b109bad3ec84ed9f2864f7cca6e1e GIT binary patch literal 50373 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 Date: Sun, 7 Mar 2021 19:04:25 +0100 Subject: [PATCH 318/325] Fix DOS in PSDImagePlugin -- CVE-2021-28675 * PSDImagePlugin did not sanity check the number of input layers and vs the size of the data block, this could lead to a DOS on Image.open prior to Image.load. * This issue dates to the PIL fork --- ...e28a249896e05b83840ae8140622de8e648ba9.psd | Bin 0 -> 555361 bytes ...8843abc37fc080ec36a2699ebbd44f795d3a6f.psd | Bin 0 -> 714605 bytes ...efc3fded6426986ba867a399791bae544f59bc.psd | Bin 0 -> 1004989 bytes ...dc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd | Bin 0 -> 592243 bytes Tests/test_decompression_bomb.py | 1 + Tests/test_file_apng.py | 2 +- Tests/test_file_blp.py | 1 + Tests/test_file_psd.py | 15 ++++++++ Tests/test_file_tiff.py | 7 ++-- src/PIL/ImageFile.py | 14 ++++++-- src/PIL/PsdImagePlugin.py | 32 ++++++++++++------ 11 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd create mode 100644 Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd create mode 100644 Tests/images/timeout-c8efc3fded6426986ba867a399791bae544f59bc.psd create mode 100644 Tests/images/timeout-dedc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd diff --git a/Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd b/Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd new file mode 100644 index 0000000000000000000000000000000000000000..63319e545a2593478112aad29e35407eb8705234 GIT binary patch literal 555361 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 QdhB{QCaj0=T*FuXKVU6>U;qFB literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd b/Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd new file mode 100644 index 0000000000000000000000000000000000000000..c259a15e7f894b7bb079172aa73fee96ed16cae2 GIT binary patch literal 714605 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 Iu7CIc0hU*;8UO$Q literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-c8efc3fded6426986ba867a399791bae544f59bc.psd b/Tests/images/timeout-c8efc3fded6426986ba867a399791bae544f59bc.psd new file mode 100644 index 0000000000000000000000000000000000000000..955fc332522c8bf23620fe7a964258b72154c299 GIT binary patch literal 1004989 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 >uybkx}7s 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 Z#`HA4&ogI?EO{ntY5(%{|4$JD{{wMtJH!A0 literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-dedc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd b/Tests/images/timeout-dedc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd new file mode 100644 index 0000000000000000000000000000000000000000..c658ea45c4b4ce9c5f3295cc595ecda491f1a3a3 GIT binary patch literal 592243 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 z%0D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 literal 0 HcmV?d00001 diff --git a/Tests/test_decompression_bomb.py b/Tests/test_decompression_bomb.py index 80ab92666..db4313375 100644 --- a/Tests/test_decompression_bomb.py +++ b/Tests/test_decompression_bomb.py @@ -52,6 +52,7 @@ class TestDecompressionBomb: with Image.open(TEST_FILE): pass + @pytest.mark.xfail(reason="different exception") def test_exception_ico(self): with pytest.raises(Image.DecompressionBombError): with Image.open("Tests/images/decompression_bomb.ico"): diff --git a/Tests/test_file_apng.py b/Tests/test_file_apng.py index 97e2a150e..8348da4eb 100644 --- a/Tests/test_file_apng.py +++ b/Tests/test_file_apng.py @@ -312,7 +312,7 @@ def test_apng_syntax_errors(): exception = e assert exception is None - with pytest.raises(SyntaxError): + with pytest.raises(OSError): with Image.open("Tests/images/apng/syntax_num_frames_high.png") as im: im.seek(im.n_frames - 1) im.load() diff --git a/Tests/test_file_blp.py b/Tests/test_file_blp.py index 864607301..f21e4edc5 100644 --- a/Tests/test_file_blp.py +++ b/Tests/test_file_blp.py @@ -1,4 +1,5 @@ from PIL import Image +import pytest from .helper import assert_image_equal_tofile diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index 87373d2c4..8c58310bd 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -130,3 +130,18 @@ def test_combined_larger_than_size(): with pytest.raises(OSError): with Image.open("Tests/images/combined_larger_than_size.psd"): pass + +@pytest.mark.parametrize( + "test_file,raises", + [ + ("Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd", Image.UnidentifiedImageError), + ("Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd", Image.UnidentifiedImageError), + ("Tests/images/timeout-c8efc3fded6426986ba867a399791bae544f59bc.psd", OSError), + ("Tests/images/timeout-dedc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd", OSError), + ], +) +def test_crashes(test_file, raises): + with open(test_file, "rb") as f: + with pytest.raises(raises): + with Image.open(f): + pass diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index ba7f9a084..1bc46ee30 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -625,9 +625,10 @@ class TestFileTiff: ) def test_string_dimension(self): # Assert that an error is raised if one of the dimensions is a string - with pytest.raises(ValueError): - with Image.open("Tests/images/string_dimension.tiff"): - pass + with pytest.raises(OSError): + with Image.open("Tests/images/string_dimension.tiff") as im: + im.load() + @pytest.mark.skipif(not is_win32(), reason="Windows only") diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index f58de95bd..2ed1520fd 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -545,12 +545,18 @@ def _safe_read(fp, size): :param fp: File handle. Must implement a read method. :param size: Number of bytes to read. - :returns: A string containing up to size bytes of data. + :returns: A string containing size bytes of data. + + Raises an OSError if the file is truncated and the read can not be completed + """ if size <= 0: return b"" if size <= SAFEBLOCK: - return fp.read(size) + data = fp.read(size) + if len(data) < size: + raise OSError("Truncated File Read") + return data data = [] while size > 0: block = fp.read(min(size, SAFEBLOCK)) @@ -558,9 +564,13 @@ def _safe_read(fp, size): break data.append(block) size -= len(block) + if sum(len(d) for d in data) < size: + raise OSError("Truncated File Read") return b"".join(data) + + class PyCodecState: def __init__(self): self.xsize = 0 diff --git a/src/PIL/PsdImagePlugin.py b/src/PIL/PsdImagePlugin.py index d3799edc3..96de58fe7 100644 --- a/src/PIL/PsdImagePlugin.py +++ b/src/PIL/PsdImagePlugin.py @@ -119,7 +119,8 @@ class PsdImageFile(ImageFile.ImageFile): end = self.fp.tell() + size size = i32(read(4)) if size: - self.layers = _layerinfo(self.fp) + _layer_data = io.BytesIO(ImageFile._safe_read(self.fp, size)) + self.layers = _layerinfo(_layer_data, size) self.fp.seek(end) self.n_frames = len(self.layers) self.is_animated = self.n_frames > 1 @@ -170,12 +171,20 @@ class PsdImageFile(ImageFile.ImageFile): finally: self.__fp = None - -def _layerinfo(file): +def _layerinfo(fp, ct_bytes): # read layerinfo block layers = [] - read = file.read - for i in range(abs(i16(read(2)))): + + def read(size): + return ImageFile._safe_read(fp, size) + + ct = i16(read(2)) + + # sanity check + if ct_bytes < (abs(ct) * 20): + raise SyntaxError("Layer block too short for number of layers requested") + + for i in range(abs(ct)): # bounding box y0 = i32(read(4)) @@ -186,7 +195,8 @@ def _layerinfo(file): # image info info = [] mode = [] - types = list(range(i16(read(2)))) + ct_types = i16(read(2)) + types = list(range(ct_types)) if len(types) > 4: continue @@ -219,16 +229,16 @@ def _layerinfo(file): size = i32(read(4)) # length of the extra data field combined = 0 if size: - data_end = file.tell() + size + data_end = fp.tell() + size length = i32(read(4)) if length: - file.seek(length - 16, io.SEEK_CUR) + fp.seek(length - 16, io.SEEK_CUR) combined += length + 4 length = i32(read(4)) if length: - file.seek(length, io.SEEK_CUR) + fp.seek(length, io.SEEK_CUR) combined += length + 4 length = i8(read(1)) @@ -238,7 +248,7 @@ def _layerinfo(file): name = read(length).decode("latin-1", "replace") combined += length + 1 - file.seek(data_end) + fp.seek(data_end) layers.append((name, mode, (x0, y0, x1, y1))) # get tiles @@ -246,7 +256,7 @@ def _layerinfo(file): for name, mode, bbox in layers: tile = [] for m in mode: - t = _maketile(file, m, bbox, 1) + t = _maketile(fp, m, bbox, 1) if t: tile.extend(t) layers[i] = name, mode, bbox, tile From 496245aa4365d0827390bd0b6fbd11287453b3a1 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 7 Mar 2021 19:00:17 +0100 Subject: [PATCH 319/325] Fix BLP DOS -- CVE-2021-28678 * BlpImagePlugin did not properly check that reads after jumping to file offsets returned data. This could lead to a DOS where the decoder could be run a large number of times on empty data * This dates to Pillow 5.1.0 --- ...0745d3f534ad6e4128c51d336ea5489182c69d.blp | Bin 0 -> 284 bytes ...c8f86233ea728339c6e586be7af661a09b5b98.blp | Bin 0 -> 187 bytes ...d8b7c8469d59fc9ffff6b3a3dc0faeae6ea8ee.blp | Bin 0 -> 148 bytes ...73b430977660cdd48d96f6406ddfd4114e69c7.blp | Bin 0 -> 1335 bytes ...a4f2e026b5786529370e5dfe9a11b1bf991f07.blp | Bin 0 -> 571 bytes ...ec061c4afdef39d3edf6da8927240bb07fe9b7.blp | Bin 0 -> 1539 bytes ...9112a065e7183fa7faa2e18929b03e44ee16bf.blp | Bin 0 -> 889 bytes Tests/test_file_blp.py | 19 ++++++++ src/PIL/BlpImagePlugin.py | 43 ++++++++++-------- 9 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 Tests/images/timeout-060745d3f534ad6e4128c51d336ea5489182c69d.blp create mode 100644 Tests/images/timeout-31c8f86233ea728339c6e586be7af661a09b5b98.blp create mode 100644 Tests/images/timeout-60d8b7c8469d59fc9ffff6b3a3dc0faeae6ea8ee.blp create mode 100644 Tests/images/timeout-8073b430977660cdd48d96f6406ddfd4114e69c7.blp create mode 100644 Tests/images/timeout-bba4f2e026b5786529370e5dfe9a11b1bf991f07.blp create mode 100644 Tests/images/timeout-d6ec061c4afdef39d3edf6da8927240bb07fe9b7.blp create mode 100644 Tests/images/timeout-ef9112a065e7183fa7faa2e18929b03e44ee16bf.blp diff --git a/Tests/images/timeout-060745d3f534ad6e4128c51d336ea5489182c69d.blp b/Tests/images/timeout-060745d3f534ad6e4128c51d336ea5489182c69d.blp new file mode 100644 index 0000000000000000000000000000000000000000..97def320f3a634b82661d058c90fbf6353b133bd GIT binary patch literal 284 zcmZ?r2{2-0U|?WkWPs7E3=A$n31Q literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-31c8f86233ea728339c6e586be7af661a09b5b98.blp b/Tests/images/timeout-31c8f86233ea728339c6e586be7af661a09b5b98.blp new file mode 100644 index 0000000000000000000000000000000000000000..73022abfc4ecc1069923c50e0c07cdc48f5fffc3 GIT binary patch literal 187 zcmZ?r2{2-0U|?WkWMG8R0zf_pPhnwT5Mf2-0fkLi8EjY?7+ioD6a0q)gbYZ4fq{_$ z8?CTpp}>k)uVyt^DlGZ?@87=%3Jk@XK!pdg9u)lp(h5PFKp>&{=ck|lA7n1fUblYL HDwtsay1ha# literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-60d8b7c8469d59fc9ffff6b3a3dc0faeae6ea8ee.blp b/Tests/images/timeout-60d8b7c8469d59fc9ffff6b3a3dc0faeae6ea8ee.blp new file mode 100644 index 0000000000000000000000000000000000000000..79e97dce357001112099125d82ceaee78afdfe8a GIT binary patch literal 148 zcmZ?r2{2-0U|?WkWMBl*ASMF?lm+3#NcJCZ&%xLb60z)DS3I-8$ zF+^Bah?@$;B>Ll~M_6srMP{@ZT4XCLh=?MJ>`kk{EY0!2<-2^Bd+vA6`EH;pTx)mgVirk+t9Pp}*XL$YI~1%2-pnj6#z^H@7S_UfnWD8R`s)j%)ILj~^ItaaLc6b^7Y5N4`N*n6$eK=M zQ$JF84k;-@cDz6W9Y|#^vS%3C9|}w3OQfX{X?3x^7&+aBoF7EG-XZY<rrkRq^N_CxP~vFjQ#8wquHKHWYeDl|uFx^_ z3O)E5J?cS^ZA6ckp&bqA*%N5&w?g|y&;bX%`4Am;@%|muxq&|EMaN_4WE+}@pi`yj zw4fi}pkGEv`w_!Ruf!4$R`w89PCeH8&sh1LJ_3>2x{7`FUc07x^Gy9NyQ-py!_Wke FegY3NWdHyG literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-bba4f2e026b5786529370e5dfe9a11b1bf991f07.blp b/Tests/images/timeout-bba4f2e026b5786529370e5dfe9a11b1bf991f07.blp new file mode 100644 index 0000000000000000000000000000000000000000..cb9a4e8b37fd22d3f1a82092775a07cdd709c489 GIT binary patch literal 571 zcmZ?r2{2-0U|?VZVi3*9Aix|Cq(R{S|NmM*G5#}N|Ic`x(fa=Xe?3s>|Nk?2XSBc~ zU=C1H3&H@?K;r7<@b~kDwJdrBHYOdJ9JptatoO6ck^u`iIAk6iVE*64#;fq)!NF!W zHnEBc35OV4*n}lwEG!e97uOy~i7v7^EZ=1RM@9FfoZpC@@S|z{mn}@BjbrArz1V z`4HI?P~U-k4V2vuR|jW+B=CBZk&zs4;`avJb`%CXpAv(CfZ_p0aXuxN2?0vSSlI-n zEM`1-(Adl&Zb_9pGYpj7I0cmy5)uw5xbX<=@oxB_-~bGc|Nk8r dS-HF1!B#=SCgOoYB?q%0Pm6@((O3rtYXE*Z_X+?2 literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-d6ec061c4afdef39d3edf6da8927240bb07fe9b7.blp b/Tests/images/timeout-d6ec061c4afdef39d3edf6da8927240bb07fe9b7.blp new file mode 100644 index 0000000000000000000000000000000000000000..5044fbde10746e277ecb686074990c6872b8c8e4 GIT binary patch literal 1539 zcmds%T}YE*6vv+pWhRO%KguY#%KRvuOH3uTy)NwoO-v#qR#MW3#7a>rwfv}=W|@^) zga#IbAhm8H>?Q|MnKxd=u#3D6g@SGhw)X4U*21qFA&7e5aL)gEo^#Is`Jb29TwI#2 z5<;j|8m-rBg$TMWeN?az8PamcvcGGjFOW88DRb~F*dmc$T8Ok?OY4ni;K2UEJ_Q3t zHj%+*ve-fn`6eK58-;9V7ey3PLMdhJWgq)FfQ5rpaD+;Za-1sK1zBo>2u4FFVT2RG zQX+|FIkBu{6>;cU%X$(>Vgo6hrJhF4(?ly5v2mFWI=RMmy17Y=KVc2)WJ;n;*+?pB zl4QChnMJlFnY$HCm^sF4nIcwv;}b7v$I5AHsHM)=qQTdqWq}qw#H>a~phfbm7JhaY zX#UM^M%cj>NwkX_+@gnG?h@^dwq3CnozGm>Sg*?^f5xKQ15dl;=%B zK3o;wUq0SYI!Q!}>5?2ym@)X#S6Of3izdv|eAQ(h)YfTjhdx{1yd1%73@L1#`sjS6 zOcjk7l04jZSH3e2R(?=o+rmo<{>Iqz<`3){)wFjC+$y%hJ;WF`A6j^ONG99 literal 0 HcmV?d00001 diff --git a/Tests/images/timeout-ef9112a065e7183fa7faa2e18929b03e44ee16bf.blp b/Tests/images/timeout-ef9112a065e7183fa7faa2e18929b03e44ee16bf.blp new file mode 100644 index 0000000000000000000000000000000000000000..7ef78eeec77130e54c6c0e0117acd71efba393be GIT binary patch literal 889 zcmc(dzityj5XN`r3M7}fj0>Fd5Dg9;DKH%biGtHs(LMlnX}f~u1#ssWs4S#IzAcj0 zNx>6D!c@U-++RUtHxYZ%F5jFGLexl%PWs)q^Jhmh+dX=IpOjLpZYd$THG7^E&Us#Q zD6iuWaAXJi9On+U;&YyZYhG{}Li`3DW3(&iE3Nf{-?5v`+!W^$zu+mKR@MrmHrbR% zJfF?sABw*emOcid9hq#%C(P(%$Qk^l6M7%x0KBp$%lHA`L4kwX@7xPM;Ia%>c!T;K zFh}7g2&5fuva71sLNmy+9d+uyn!F|W{f=()J^XAz=NgSI?I=wfYDrtl@;u+tlI+Hg zgaP+|p|6tXmUKp#gBSV`t#D&>c1B~Gy_wI)(9*{#w5wteTJ+ZkG2gMHJ|WG#1${84 z2g=-g^o%~DaG#zM#v5PK5m{^WUFy~MwvxjHVeT+#CBBOBA$ajQ7@;-hcn{3-Nl|et z`G7#7^t+c-{M}bU7>pfxu6XjkDAr(6D{ja^-XpYys;!rx{wu>XjF(R?(?4kc Kv;E!AZ~YVD?RFFZ literal 0 HcmV?d00001 diff --git a/Tests/test_file_blp.py b/Tests/test_file_blp.py index f21e4edc5..6f6634251 100644 --- a/Tests/test_file_blp.py +++ b/Tests/test_file_blp.py @@ -17,3 +17,22 @@ def test_load_blp2_dxt1(): def test_load_blp2_dxt1a(): with Image.open("Tests/images/blp/blp2_dxt1a.blp") as im: assert_image_equal_tofile(im, "Tests/images/blp/blp2_dxt1a.png") + + +@pytest.mark.parametrize( + "test_file", + [ + "Tests/images/timeout-060745d3f534ad6e4128c51d336ea5489182c69d.blp", + "Tests/images/timeout-31c8f86233ea728339c6e586be7af661a09b5b98.blp", + "Tests/images/timeout-60d8b7c8469d59fc9ffff6b3a3dc0faeae6ea8ee.blp", + "Tests/images/timeout-8073b430977660cdd48d96f6406ddfd4114e69c7.blp", + "Tests/images/timeout-bba4f2e026b5786529370e5dfe9a11b1bf991f07.blp", + "Tests/images/timeout-d6ec061c4afdef39d3edf6da8927240bb07fe9b7.blp", + "Tests/images/timeout-ef9112a065e7183fa7faa2e18929b03e44ee16bf.blp", + ], +) +def test_crashes(test_file): + with open(test_file, "rb") as f: + with Image.open(f) as im: + with pytest.raises(OSError): + im.load() diff --git a/src/PIL/BlpImagePlugin.py b/src/PIL/BlpImagePlugin.py index 88aae80eb..e07474621 100644 --- a/src/PIL/BlpImagePlugin.py +++ b/src/PIL/BlpImagePlugin.py @@ -286,33 +286,36 @@ class _BLPBaseDecoder(ImageFile.PyDecoder): raise OSError("Truncated Blp file") from e return 0, 0 + def _safe_read(self, length): + return ImageFile._safe_read(self.fd, length) + def _read_palette(self): ret = [] for i in range(256): try: - b, g, r, a = struct.unpack("<4B", self.fd.read(4)) + b, g, r, a = struct.unpack("<4B", self._safe_read(4)) except struct.error: break ret.append((b, g, r, a)) return ret def _read_blp_header(self): - (self._blp_compression,) = struct.unpack(" Date: Thu, 1 Apr 2021 17:26:24 +0300 Subject: [PATCH 320/325] Reorder, roughly alphabetic --- docs/releasenotes/8.2.0.rst | 88 ++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 7ba5fc4a3..912af3ad2 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -4,12 +4,6 @@ Deprecations ============ -Tk/Tcl 8.4 -^^^^^^^^^^ - -Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), -when Tk/Tcl 8.5 will be the minimum supported. - Categories ^^^^^^^^^^ @@ -20,6 +14,12 @@ along with the related ``Image.NORMAL``, ``Image.SEQUENCE`` and To determine if an image has multiple frames or not, ``getattr(im, "is_animated", False)`` can be used instead. +Tk/Tcl 8.4 +^^^^^^^^^^ + +Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +when Tk/Tcl 8.5 will be the minimum supported. + API Changes =========== @@ -56,6 +56,20 @@ can be used. API Additions ============= +getxmp() for JPEG images +^^^^^^^^^^^^^^^^^^^^^^^^ + +A new method has been added to return +`XMP data `_ for JPEG +images. It reads the XML data into a dictionary of names and values. + +For example:: + + >>> from PIL import Image + >>> with Image.open("Tests/images/xmp_test.jpg") as im: + >>> print(im.getxmp()) + {'RDF': {}, 'Description': {'Version': '10.4', 'ProcessVersion': '10.0', ...}, ...} + ImageDraw.rounded_rectangle ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -71,17 +85,13 @@ create a circle, but not any other ellipse. draw = ImageDraw.Draw(im) draw.rounded_rectangle(xy=(10, 20, 190, 180), radius=30, fill="red") -ImageShow.IPythonViewer -^^^^^^^^^^^^^^^^^^^^^^^ +ImageOps.autocontrast: preserve_tone +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -If IPython is present, this new :py:class:`PIL.ImageShow.Viewer` subclass will be -registered. It displays images on all IPython frontends. This will be helpful -to users of Google Colab, allowing ``im.show()`` to display images. - -It is lower in priority than the other default :py:class:`PIL.ImageShow.Viewer` -instances, so it will only be used by ``im.show()`` or :py:func:`.ImageShow.show()` -if none of the other viewers are available. This means that the behaviour of -:py:class:`PIL.ImageShow` will stay the same for most Pillow users. +The default behaviour of :py:meth:`~PIL.ImageOps.autocontrast` is to normalize +separate histograms for each color channel, changing the tone of the image. The new +``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram +for all channels. ImageShow.GmDisplayViewer ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -95,6 +105,18 @@ counterpart. Thus, if both ImageMagick and GraphicsMagick are installed, ImageMagick, i.e the behaviour stays the same for Pillow users having ImageMagick installed. +ImageShow.IPythonViewer +^^^^^^^^^^^^^^^^^^^^^^^ + +If IPython is present, this new :py:class:`PIL.ImageShow.Viewer` subclass will be +registered. It displays images on all IPython frontends. This will be helpful +to users of Google Colab, allowing ``im.show()`` to display images. + +It is lower in priority than the other default :py:class:`PIL.ImageShow.Viewer` +instances, so it will only be used by ``im.show()`` or :py:func:`.ImageShow.show()` +if none of the other viewers are available. This means that the behaviour of +:py:class:`PIL.ImageShow` will stay the same for most Pillow users. + Saving TIFF with ICC profile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -104,28 +126,6 @@ be specified through a keyword argument:: im.save("out.tif", icc_profile=...) -ImageOps.autocontrast: preserve_tone -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The default behaviour of :py:meth:`~PIL.ImageOps.autocontrast` is to normalize -separate histograms for each color channel, changing the tone of the image. The new -``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram -for all channels. - -getxmp() for JPEG images -^^^^^^^^^^^^^^^^^^^^^^^^ - -A new method has been added to return -`XMP data `_ for JPEG -images. It reads the XML data into a dictionary of names and values. - -For example:: - - >>> from PIL import Image - >>> with Image.open("Tests/images/xmp_test.jpg") as im: - >>> print(im.getxmp()) - {'RDF': {}, 'Description': {'Version': '10.4', 'ProcessVersion': '10.0', ...}, ...} - Security ======== @@ -195,6 +195,12 @@ The pixel data is encoded using the format specified in the `CompuServe GIF stan The older encoder used a variant of run-length encoding that was compatible but less efficient. +GraphicsMagick +^^^^^^^^^^^^^^ + +The test suite can now be run on systems which have GraphicsMagick_ but not +ImageMagick_ installed. If both are installed, the tests prefer ImageMagick. + Libraqm and FriBiDi linking ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -219,12 +225,6 @@ PyQt6 Support has been added for PyQt6. If it is installed, it will be used instead of PySide6, PyQt5 or PySide2. -GraphicsMagick -^^^^^^^^^^^^^^ - -The test suite can now be run on systems which have GraphicsMagick_ but not -ImageMagick_ installed. If both are installed, the tests prefer ImageMagick. - .. _GraphicsMagick: http://www.graphicsmagick.org/ .. _ImageMagick: https://imagemagick.org/ .. _OSS-Fuzz: https://github.com/google/oss-fuzz From 8febdad8dd51ad5c75a1db78492973588c7cbf6b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Apr 2021 17:41:46 +0300 Subject: [PATCH 321/325] Review, typos and lint --- Tests/test_file_blp.py | 3 ++- Tests/test_file_eps.py | 5 ++--- Tests/test_file_psd.py | 11 +++++++++-- Tests/test_file_tiff.py | 5 ++--- src/PIL/ImageFile.py | 4 +--- src/PIL/PsdImagePlugin.py | 1 + src/libImaging/FliDecode.c | 2 +- 7 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Tests/test_file_blp.py b/Tests/test_file_blp.py index 6f6634251..15bd7e4f8 100644 --- a/Tests/test_file_blp.py +++ b/Tests/test_file_blp.py @@ -1,6 +1,7 @@ -from PIL import Image import pytest +from PIL import Image + from .helper import assert_image_equal_tofile diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index e616ffa0c..7caac34c3 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -1,4 +1,5 @@ import io + import pytest from PIL import EpsImagePlugin, Image, features @@ -268,9 +269,7 @@ def test_emptyline(): @pytest.mark.timeout(timeout=5) @pytest.mark.parametrize( "test_file", - [ - ("Tests/images/timeout-d675703545fee17acab56e5fec644c19979175de.eps") - ], + ["Tests/images/timeout-d675703545fee17acab56e5fec644c19979175de.eps"], ) def test_timeout(test_file): with open(test_file, "rb") as f: diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index 8c58310bd..bf2a5fea0 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -131,11 +131,18 @@ def test_combined_larger_than_size(): with Image.open("Tests/images/combined_larger_than_size.psd"): pass + @pytest.mark.parametrize( "test_file,raises", [ - ("Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd", Image.UnidentifiedImageError), - ("Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd", Image.UnidentifiedImageError), + ( + "Tests/images/timeout-1ee28a249896e05b83840ae8140622de8e648ba9.psd", + Image.UnidentifiedImageError, + ), + ( + "Tests/images/timeout-598843abc37fc080ec36a2699ebbd44f795d3a6f.psd", + Image.UnidentifiedImageError, + ), ("Tests/images/timeout-c8efc3fded6426986ba867a399791bae544f59bc.psd", OSError), ("Tests/images/timeout-dedc7a4ebd856d79b4359bbcc79e8ef231ce38f6.psd", OSError), ], diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 1bc46ee30..c24438c48 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -625,12 +625,11 @@ class TestFileTiff: ) def test_string_dimension(self): # Assert that an error is raised if one of the dimensions is a string - with pytest.raises(OSError): - with Image.open("Tests/images/string_dimension.tiff") as im: + with Image.open("Tests/images/string_dimension.tiff") as im: + with pytest.raises(OSError): im.load() - @pytest.mark.skipif(not is_win32(), reason="Windows only") class TestFileTiffW32: def test_fd_leak(self, tmp_path): diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index 2ed1520fd..0258a2ec1 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -547,7 +547,7 @@ def _safe_read(fp, size): :param size: Number of bytes to read. :returns: A string containing size bytes of data. - Raises an OSError if the file is truncated and the read can not be completed + Raises an OSError if the file is truncated and the read cannot be completed """ if size <= 0: @@ -569,8 +569,6 @@ def _safe_read(fp, size): return b"".join(data) - - class PyCodecState: def __init__(self): self.xsize = 0 diff --git a/src/PIL/PsdImagePlugin.py b/src/PIL/PsdImagePlugin.py index 96de58fe7..e7b884674 100644 --- a/src/PIL/PsdImagePlugin.py +++ b/src/PIL/PsdImagePlugin.py @@ -171,6 +171,7 @@ class PsdImageFile(ImageFile.ImageFile): finally: self.__fp = None + def _layerinfo(fp, ct_bytes): # read layerinfo block layers = [] diff --git a/src/libImaging/FliDecode.c b/src/libImaging/FliDecode.c index 35a6ccccc..3a6030703 100644 --- a/src/libImaging/FliDecode.c +++ b/src/libImaging/FliDecode.c @@ -244,7 +244,7 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t byt } advance = I32(ptr); if (advance == 0 ) { - // If there's no advance, we're in in infinite loop + // If there's no advance, we're in an infinite loop state->errcode = IMAGING_CODEC_BROKEN; return -1; } From 694c84f88f4299319bac49b20bd9baae82ca41b8 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Apr 2021 20:00:13 +0300 Subject: [PATCH 322/325] Fix typo [ci skip] Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- src/libImaging/Jpeg2KDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Jpeg2KDecode.c b/src/libImaging/Jpeg2KDecode.c index aa4fc58f7..f086848e9 100644 --- a/src/libImaging/Jpeg2KDecode.c +++ b/src/libImaging/Jpeg2KDecode.c @@ -829,7 +829,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state) { /* Total component width = sum (component_width) e.g, it's legal for an la file to have a 1 byte width for l, and 4 for - a. and then a malicious file could have a smaller tile_bytes + a, and then a malicious file could have a smaller tile_bytes */ for (n=0; n < tile_info.nb_comps; n++) { From e0e353c0ef7516979a9aedce3792596649ce4433 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Apr 2021 20:58:27 +0300 Subject: [PATCH 323/325] 8.2.0 version bump --- CHANGES.rst | 2 +- src/PIL/_version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 2b685b309..84eb79ec1 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,7 +2,7 @@ Changelog (Pillow) ================== -8.2.0 (unreleased) +8.2.0 (2021-04-01) ------------------ - Added getxmp() method #5144 diff --git a/src/PIL/_version.py b/src/PIL/_version.py index 20e8754a4..8fe6294f1 100644 --- a/src/PIL/_version.py +++ b/src/PIL/_version.py @@ -1,2 +1,2 @@ # Master version for Pillow -__version__ = "8.2.0.dev0" +__version__ = "8.2.0" From 330f77ae7a6db0d28d5b2be7fea86d723864b087 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Apr 2021 23:56:43 +0300 Subject: [PATCH 324/325] 8.3.0.dev0 version bump --- src/PIL/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/_version.py b/src/PIL/_version.py index 8fe6294f1..8300b60e5 100644 --- a/src/PIL/_version.py +++ b/src/PIL/_version.py @@ -1,2 +1,2 @@ # Master version for Pillow -__version__ = "8.2.0" +__version__ = "8.3.0.dev0" From ed8064df22f7913a2f9fce49df0260f5deef15f2 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 2 Apr 2021 18:07:03 +1100 Subject: [PATCH 325/325] Removed Fedora 32 docker job --- .github/workflows/test-docker.yml | 1 - docs/installation.rst | 2 -- 2 files changed, 3 deletions(-) diff --git a/.github/workflows/test-docker.yml b/.github/workflows/test-docker.yml index 2ecc27460..051f7865e 100644 --- a/.github/workflows/test-docker.yml +++ b/.github/workflows/test-docker.yml @@ -21,7 +21,6 @@ jobs: centos-7-amd64, centos-8-amd64, debian-10-buster-x86, - fedora-32-amd64, fedora-33-amd64, ubuntu-18.04-bionic-amd64, ubuntu-20.04-focal-amd64, diff --git a/docs/installation.rst b/docs/installation.rst index cc9c51039..be0ed84a6 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -452,8 +452,6 @@ These platforms are built and tested for every change. +----------------------------------+--------------------------+-----------------------+ | Debian 10 Buster | 3.7 |x86 | +----------------------------------+--------------------------+-----------------------+ -| Fedora 32 | 3.8 |x86-64 | -+----------------------------------+--------------------------+-----------------------+ | Fedora 33 | 3.9 |x86-64 | +----------------------------------+--------------------------+-----------------------+ | macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9, PyPy3|x86-64 |

T!*}83zCT$aQQ#mk z=S@YIO?}r*irc1#`)07m=Ec*})7MnE-7Rsy!MeG5v`H18mtz-f+npQ}gfUtuKklQB zggVc1OqB>%ZOWpEbWiSUWQD)<>WE_cJIxKG4f}$^N}V zm!e$sL@NEfnq7%2mr>x}k3>AGBlFt(p}6<6*WYj5c>n#MZJzjTvAD$zH?ZVsBw=PS z#A1Z&ZrdU+IF}%291mvO<-WKsS2vjO;*LV)e=^uDJ2gsb$R{?&^0mGH=pNw2(v-ad z09!L&t4ui6Nm$X#T{@OinQc6Gai3I2UWsyK#edP;C%J!j@ZBvuQ>V-Ow{|D^_Rgg{ zJBf8Wh4nkP8+INx?hMrq?p*~d95XGw#!@~IQp@kyNa;?2t4Ug^(!Rqno!l*dQW2zE z)((U`*^1EccgAy$6)5JY$@r6uk2^!F3A9t6q~`yE&Oo!6#Rg|&F1W|R1Tun50-axb znJ}CA#s(o_4o$mTX4h?>>d6NBvYcI3*y#p9? z+$F!bX)Xzd>i6KzND#Ux4{aZpp4zYMXOb7d6TbCb)N93**=z*LCm3&jK4awK7L+w} z${LTiXfAsT`)+0_jSsy&YKg1beLL~lqJp2(=Byn)NuJ+>$TXo`2iatUw4*X)R=*vAB z;3~I(Y;`D);919VfNhbXiWn0uE4TB&$Y*}tm~ zqbf79m-Ifp?KEcbnH$=T@Hz09yFGfJx5^T{nP`SOxNq`x>$?WK{7qOvvb{CY=u*#M zOV)~;$fS9NcUXe6MQ6jUgcMWmXm#!+#RSOVfQ?BN$<=pkIE#<;_T$J6w?lK;*~ODe;pt3;?# zB0POZ*`(Q-oA^Haxg|H;Rk6z|oet!lU236orSf^A;+^D2Of>5DpE$@Bl3hTbkNIlE zcykZ#o*FuJWH^2oeeoZUa{+*_^2VO=W))A4gXgWgY+`4_OIRqQ-TwKQ&cK*Ce-N81 zHk%7{Cm^aWBAyEumLX#h!^Ftlko4p;Pp$t1B4X|`SysXDpj8SDlW-OP5ic5=cb9w4Z z70~m9)@)MjWxwwj9C)ji^*;5eLjrWCId-;AAmnywO-l1*1Az%^`T1_{=vy(LXA7O4 zUFThl_l4&?68dScRhBsw*;tW}wpX8+ka@beFyxJP@wFecXx1}(U*p3$7eW_1B1^v- z7`+_@oEAK-u)H44wolKTi+8x;aYy&$V*U<6*K4ocRG+ob7{0oCp`{1z zO%_ysnyuJzSRVr4?dt@_zQ&t79iyx!_}+X?3oXP)?+t;{E@NYl|LKXBgx>y2?|B=c zFF7`$tkS&|V^kreG$0J+OSY7EvA$4ciAuGo%&wDmBS7JpA_7TX288dk?~ zy(?0J<&`Y{$vOVdO(kS#@6^@*9Jr8KKU@DYE!djxzor&YZvWRX8HP+rjm*)tSC~#Y z{B=>c#KFh4e&$y=;g(Zesd zFehLN|9g#4@hYipa^-UgLAuH+plj*l9Yd*ce2nuW$k{n5+JsJM`%3g&_;_i|(@-u3 z37ezb&Tzz}TFT+5$hZ>zSLQaGZ4P%lLY{HizIPoVP0{f<*Sh5f!>OW`I}Y75XuI{- zwqGxA{*@@W8uCAW>W7WBaQz3*f&f(K{2+BGD1TGM#j{}WijTXPWg16>Oz4OBXyFd@ zZH38EGFCYQG0NuIIMmvTISCA2_#2mfr7IqOEk#Z*Qe0wir3SE zcE1xmqTCWjcDXG8wAIXjx3EPvbN`pA5NP7dq@2Y|a}&$;_Q2&#i}XO_2l92>2C$OG zK%D*TEcHu$E)vmd<>2s-gYth?CmzFc&z!kkS@ z+;S>qxa#C@qnj7^1Wv8S?%f;sRctx~`s+xu4G%QueaTbwQ8c^3J2+OhV73i8iETRf2XL9e?a{nzd_(|7lq zABUy2#l*?Xeq#T+(R!*KImj*SA_70A;ZZPn9_LvQ7k#8=nUWF@?C})PKdNMH7YbK7 zQIaRcC@^XY+@H^kDhle!g6}XUgN7lS%AfjqWi@LfP|Xy&iV57W;Ha1coduUIO>`p(WQ0 z$#);+DF>0hA*(pdhT@t&Uwn&S?Wi**cZZQ+P$?ob?3}7Rs>qrs6qX}eB@g4UET zxfHS2qwtLP1VeLw2-Eo5Z&0(OBZopQ zvJ!Z5hzyRiL>!>7pxyUE!%w_QU2rd7mtWGg88B)SIUo8a`(nsy6UQT;I$7UyF^Kal zbnD*RFq>m?YRIp&*@qGp=1vvs%3=em+^#zb&WaH|E-HL|Dl_r5MePQyDSdA=Sx4na zIWHT2lD1+n;7C}7N>R{Bq=4aZfvZ0QTWbPCA+N6l@Al=%TiD9_Nm5{!_~qtxB4}gt zF_xb)1zT%QOIx(I!*&-6b9gBu7Tsl1-;^z8MsB*@<*qCM1|7Zj5myVEzlrn@{KFrx zuQe;)k# z%=6Qak#+%otM8e`UCt0M{_B~B5 z(5>fPf|QF!Rk8E&UOficA1f?j3AZD_l2~-KR4qP*%$XWP8tx-&!YGyXCYV>Jt~-Z)-Z+EqE8Q|7Ykrzs)J($$BF zIa5B4HlZhv)gBI&ptprjO-yYlH}aKQY{ya*u;^s6S9&1g0m8$#3-m(RBbE}Q^@tGa z@4ghvO3Z~Dv3Dmw^n~kc9Zsy(Ud`dty#7u%w=2#&HvGrszfYSS)Kc87`3$|l3absGA7 z#?-=kWp;8)vB3TJ9QW$0(wGzby@SNtB611oDFX(9Il@kPRhZRUfG`%UQ(_Qmox^v= zNOt39=D*g zn0rj{1o(_5a{2Sq%WwaE_j~{6{wblp*wfI}KUOIRr!bDO&!pFi?P$||^h^(*xrhpv zSMZu-bJZLkIk3F%+4tqvOvmp5UJ=IJmc7yk#!`D{4R@*KDuhKfg=j zr{$=jyws&*QrWZ(F1nI{WbZw(lvhVI@%lk!7u+ig=EFqBX8EcOak z4n1!Uqioy=!7Q8^M`MW#UJSmCo>^!(%PXVq68jy{UjWMVfcf*W6!deQ#Q7XbD z6X6yuVY*w|riKQc(uCD_BZ=8!fkKsB_b7HkyAcIjp%=mvw$G zC|2LP=OZ)3iXp6b<~+t+9B3|Pl|29@E^w~!p~O)raU4n;g<>Z3tIvv0EI@l^Fbvou zc^4R08yqWF>?bF&;>w+al*R`ldsn4fmZc9?WwbVBqCUv9yqC_|lhxXe8U~62sPFyA zA^=?^9Sx@gcR(6R#6Rv>RRJcd(RWozzG8CU3qvm;cW;S=md5g{=1kgn=eUb(dW6{y~RHAr-9GV9*Tll$l@vuwIH@upsu#qbpQ?3e_IT+`;AVGMJBXeb3ul3ZEDHp6i zc-}JIE0nL9b`MZF)6_76M!bT5N#pKKm(|Wj_P)`LvDR&~*Zu0O>lX%I`K+gNQtzv^ zuB)GZjGgd`qyE~FSfG?&eH@amis*&GU0@}37xMV=+F#Qv_#$&Q^L1iM?<7&0?QiV$ z>`>VYm*fON_@4?I6skWI7eA+iAa#zd5|;G=DHB!o?0R)SjTU`YZ4s;gK8B41LH5@Ddk)%0@Lb9(7y23AIiC@s2oXM?4+IU zpxuQRcI{(!7zYV)KTXguWO(n?jD=XI7#yZL! z^NsIvg0FYzMlS7_4$eoXj>u{p6q@>Iw3US0*ED8b0q!e84@&jg9%y~CLOX2|rlEw_ z#@alLqxyj}F{;vG<4vozW_d;^ml9pjv`;@ zcwfBcRS+!({4QE)Q&rU`tVoFkIwgTib8p*YR(?2sQ1!Ur;2vdn0$k{=m>(2){*$s> zi#Z=`VhSc7uKBf}>c(`%Ou-aVP(TEgp5kKLT>w=JzosVY=i+zne&V9buB=Rye5{nTK+ZO$S5~Y)o=OBpnd^nR%)`sO)>p8W%iqihT zDYt!UY+|(>a(QUM<}$Y(1}=W;AmA>er#r0oNAxbvFPKZpZzch!LFgC&K@PIf`V~ly zv-&_)S1#=T&7j`H4@*E-KUgqB@f5ts@M941nOI_zeJO8`cdP&x03=GE-o7+@85d_qb%Y5sFZmVe|a@s18%>|@rE zGba(65bFhAl}!L7gIC=XibE4Sosje4Nd}>Du@3)G#EPtwJ6@SMevu1Jj*1z&mBOog zck~fLQTc;^fVpl~UpK9g_w)_;s9Hr-%LGufBnM}O@#jA6 zVlIF|OVf$!bQ6}2ArJPFWbC)B*dMwEKeK)UvJL)Un5ZrDxxUlY|kdN`7m&`7SQL%<)mqjW zaGd_c{`$&06Q}n@wo8zg%Zlt*v{uIqAX3uhKU(t#nC=CubsBX2L{T9WaX%!-lMk6}fxBbhry+K)7ihs7MY+Uep&3qD5}O zTroNNQ-I0^4aSEWlw}Rc<=3nFdq$i0u70?8|Mt&?z5ANAva1>o?{3|FuFENM<+f^X zXR=-&b3lYs$N(usK%oveoN}+vYma3WIjxPB#s3n3a*abC6F6pQNFEZVRqB=N14VM1 z=)fR3cNDWXC7o}gFY(M1=ZZmoHoXhPRU7odD@V!e9lz68pNqo^$b)awpX-zDDK>VRA;N3B5?-Et0+-x> zLCM#FhehaXmeiF2h;B~X5(1K)VfN4|uZL)eDVnjEfSA5VI z-7#J`)3C6eQXm@W@-6W4&_G&zbWr2LUD$TH& zmowf-g*zbZR1uZ1Ky$4M8zY?My%Qk)y=K za_X(Gc|oN6AjAPke7E4gGZ0KS1H> z|K=#q#$K9>ssk+O+8HE8^_^jPrj!jk;SOveLp!Vfz}1#C*U2Jk zO9$P=c$n6^OdI%LSmmVr;*;fPT(71$<4O_*e_JfBJbu4)t6lQ*^Cz#L5w4-}+adDj zz1Yow%D4Ym9ZKHdUa88qS+Vo`4tNNa2(<=jlPlF*h;vh0X?{8e5I;r&ZufHJs$ufIz`JIg5 zpUM~4^{8de#ojlth(75bC=&f4_o=%p6)hiCEIx+SRQhkwK3q7qM?{k3nrh5TjM4O0 zUl3&CEV!(qHbjq1N398I!YI(RWkU1%P%9*VQ z1Idir)tA=#Pan4#dnm7!KM|xYp{j>O+$eI?DBRwBv-GErqw8+fHfa5G%eZvTAE)sA{M(}y zP=h`l4+#_$)YwFrJBb7Vh|W6TmqymPtSCk62jCOb#GDpCX^{st@FPOzdh(WGjeP8a zK9qSaa;auqVBmQAPVsngx&^34Gd;8J;jOy9ubsyPTdNqFbt%95DwMxOS7<5+aP{ER z1MuVbp&)~KoeU6l!2s&&HKCzi+qC0T_G*;t;j`(fHvscP;1BTqZ1XQYq&vSQi9H-8 z*HvT?L2wWOA86a;+8t7;Z5u8yDkeG5*HVtTe@K8;XKxwmA1vNzdTv1-lYY`h8`XwX z3j}MW$3R+drui@Bs;9OIc7IZGX}EzGv`J&vrd11{uY=@S%&$SMBd3l`K>^8{fafXa zPxuD^`D*$qZ}&gT$qVT3gPM4P+QpXr1EN#jzz0)DB)LnKDooD7*dR8_Y!ZdZDe__n zF#M0HP{30;gG_;yH_{3!E~W(@0pacSkb?Q4JLv+k?YHVRI=lBE+Fyr0sl-4Ab0H4x z^@c1YIM81A~rSC`B*ShBB+RZ!nYZX3?O*tm(A|B zxq9P+@lSN($IUDOzZ`4PvDo_BH~m>B-ZQ1vbfKB39+i{;KAG5}pgEUF?o#I$w~6RW z_km$*-AZKq07yaA_ZM6H6LY%Uf=y>pg1x^Zu(&v|b{<8A;kU zhR_IC1c%|8yn;=k4&DD6i(d*@u72pmh>z_s_n1({lf*6!F1q&)P?hD8=b|16a&D6k)D(hiS_B zy-VpdJwt8_bX_x`KHvO%Fpo+>kjZ9!vs+SpeI_`+<~$w-1?{SZa{$+C^YF1zFQ!uz zqr-zws)% zIVE}Hq=95$g5TIMp&@du!FgH?nrmsmLz}T#g6L5{50{Dbm5Q6M8s&vj-17S(FEBnl zhmgBVI89AVQz6Bv=|4}to_N}9KJUxlb11`PpM%niBZ2ax{t%;mLqLM^#rB4R`$i|w ztcIf7iWitwFMuRJRJxnF2q|ghk4*oLHq3A6rR1a3!QyUR`;_7$wX1yvBl0-GT)&*W zntsHzl$AHkC2rzN!xb1wOHqW}&=?de0gSg7z`7j+Puzgf<8^q6Ge!W!w$?qTK`Hjo zQ{9GtPtTmBGv(Z@>%Z`ESjoYdQAM-lR`?am)xp3vNfWN?}C0ThohBmE&k z!#98y6M>L8q9Og}tCPoVAj?!a1&yUuJ^y2@1iep z52KjY14-EC5{2KMrZ#l#$mcF})2lTXGgryM4@>RHg~aI8My4mp4adSn3jv0Wc)3>4 zzgvp1`+wjl`+^vAqEy@rFDxcUrY0ji=?}Nx zmxc`3zUpqPG2z93k}h!nSa%P+l-ufSTfQ?BW0hYjsvm6cjc`o5-;3MmD-&wwpY_-s z|4;PnH%o0C*UO$mDbU1~V*0RdKW1Kht7V6S=N*x-D3|oN&P%!ZR{8QJDGHw-T#kBj zr5nml3a>;M4gip?eltdi|LRKi2jOqlwZ&fyyvazVM9Olpg^?d zmrJUfiuE<{>2m_buax}+01z1v+aKCHtj@hMfC5g0K}oThK;}&F!9lSR;OWFAN!!q= zhocv90-Dv;`}Wg&><>FdxE5CBKoj3JTFvtTKI&5@V{Go^=dt3MUXctVXP$t5<}qx` zYIw9{{rbG}_G^V}DzJlBHU)M!dBmrR%|CcR>V4}In#+azP=>qlOHzK>A%gT|eV*2B zF#)`~Nn-ruD~mem%OTTm(f?cx+Z7dgIPIFA0nfxzJ1OU7VQ1faMOan#eJd+?XwzUl z7;*p4mmSw6AvGhKVUS6&L0<7F6EM-^#`odEMiZ*vdDxTgq{@g?WMCv8J4u;v`tyW{ z5m6F=GDw2pN@8&+G5I3>BUwE6;OhB#HlMGYiC3v(S`zaF|OxCdO5pn=*`T)?!R3 zGrZ(DfKLWhik>a0qbw=60eGw|L9YQMI0+_op5pFHRIXC_ z&@hIQL9_%LTeBnwP|=5ct7#zSXT%2%occal`3N7_Hrgl14woP#G>h)XnH(~ z&XzW5?EDefLfQs+5p@;TlREOJ|!$Eg!w;Q289wBSTP+?g-wCx2!O<61LJH7rHT9s&AM67zYH@Avrw?0L>V{@M*5$IG&jY zJQJ6J=%+%vnbhsatQ8~aN?uL}GHdnYIm)&u+xNO>EnmdXad3bHq8an21heE3U*|pO z<4+{NCrDZ$$SCy~;1AwBNl4xe`^P@>Tr6;Y54hf-=2ek7NfXei<w3S8tJ$x&6EIRZ8-GWet)a!F7jbb1Y|G2hJ~UX(tM2C$YAsnDdJ^G==Td1K{O z%ylj7x&(W05byfi>ACXG5BY4&C>G~>b^BN%pZX_Alac12eN$$S$>gI;2)5xXt&g~9 zD_pMB1HmeOy02rpRc7yCxl@g--M^VTbYMS2!0(#^<~<`BOW&4!D5wp1!e?n9MPJmW zuZRK2Hvnaei9rI1dwM+Eml=k$39-oGfsKCON4Di#>7=Fp(2JF7mioifEJ7g*Vxoyk zW{Fzxl?`OjB|r_A_G&6%pG7KuNS*fyW4_%97Ve^q{+d_ugF8(nX1pw54IvH5Cy zxfdIljRnGG>2a{wt{>$4h^)&*BuaY#;GoXXa9WSeynSh>2!jj zYdJ*GKSchD`OT@b_d2Oilm$zaC=*XQjxuKf55{MDD`{q6!9h^#MP@dEIc!i?FAK_# zK>9C;E+oFXIw5x@NX>ghz)(||t&}jy5E1BI3n-+P&M~AK6~>X+~7s z;&mzW-|(hlV^O?OaR$Y3A~Ows#IIX{)C#M7p{RVe=2ipl(FqmR`U2r{`9`~|F4vWT z`>H^cECVGE1g>xz9MSU@t@g#}21tX{lYnB$dnh!(DQtc_Vlg=)DIo_r6>!@mnEK(; z?P4y)yP=9sNi5@jj|mdN=()q;XFJ>{mR`9XA@mi70O~Pj=C~P7805Tp+7WiOrf#*t zU|oP+oT@L;>jHQo$2!l> zZ%3Yz?pkcp<;CfF-iz%r(M{1vE-*N(nns{PwQ6PrNS$xtbC>!+v=YC8jKKm21KMO-9 zsk|Sb`ON$}z_G^q7Q{GWjFe8;s|v7d{A;>HzLT-HU^0?OmHk$XPHOZ&HWpKQQAL?F z6~=@bL(z@{l>}Pw)90+Anx8YDA}Oeud@aWuuP%j zC3)B|3lVLex{C}8LWo0xPMJl>`J|8=$suvOU^#QJT@hHaf0EU=J@DDh9*roFoP2cg zPIv{glYqDvyfsK2;QE&0m2=*Da!~_8yv`; z@8jT*#o(Srp(}e#Lupmw5y*PHu1;6YfX$!stw&V%XH2Yy` z`V(%oj208NIACaWn0k)u({#l6zn?$NI{lr4W0J@BEHtIV_q|LjeO?R|22%1xyq6`5 zGd`;v8EjF497QW8hmTj(yB~LXS(Boj;=}1|DJ{kIn1#zjS z%;Pw>k5UzwT{6EW^NPFugQ+d2KG#1$};R7jZOvVSZRs|J~kd za&g9mkA=Cu*+$=N?P6f-a}HhmaiO3&*VEvz#AyubK=gwKkl)vBg_D8^J+6(TBd!2Nt6~O)^k;PR+op6w!4*a&RPIc)9zj`%`q& zI*R*$(#t;~4c8^lHY-6s{lq`1@jg zQUw_{5@5;7hqATtYfMFXMklT@MyoN=*^AT9b48SEUzF-7LtnuFRxnSRrRYbBQP1*t zEegO+K@1mv>Y#z;p3ro?h3(*Gy?2*ya++l2qu?m_INvX*l2pm&H*Y_eeQXe8c8gr( z5&fWJmr?VTGQJIpT?Tn$j<7xF40KWzWhCAxlJ+$gP@0Tl+++DRDpB(J*VOM`2!Kxe zV*^PB3dcAB1@cMNaz@{ex?({7X+4{k5%kpYS-N5DiEqN}@wFdUN6H?F4*j#+SE40#}Q==nD+51YjTKI z-QLL~zPR+nYUkvhbGqnWivMKxexa#ET2g;509@*(D9Wc`{>CfY0++X>^-~xN8{wc( zZ94#LfgC0dD-q<#=m@Su>ROe8+73Oib7C_Bp+B=byAqzRW#!;j&?c${pjJp0_djQe*wu3!fWcM>9Ij0jMGEbSCDhR)##Pmru)lzegjD zvEQeW2AuYlNTkPmN${*r1d1mD;)5lU%!y%$WFS{Mj(5$eSWQ6As|J%y-_JZI@Se*c zrh}{{5SRiJb_)V;#$~S=wO-3KGSYDIci@NRv)7N^AKo}ljKEAiA@m!}cGrK*T_JG( zFm{bHt2?)i#+VJ;hM7WB_w-?~mHEa-P4uB26pkO&POpX!4YW9QKA{Lsv`K03uZ7$| z^I(flF%x@-Lxfvqv+fNncn|DzS;KqY{TxDYa4PYF+xb% zTt{fGEs4#o5gJJKP39+82ed}oth$kzpkYZ8gZ9l(lxaBnx)#c@8 zk^q@UL-uRSI2+ibn@qJc90t*rrqW8I6SL*6Ys)daURfF7mw&l&z2<;N-s}EDLGgc^ z8~p2h?O!9zZML6T*0ap_!ztY2rq+NfZ+`6@7|5=;weoegv)M`3|2j-}gi`Ho#WfsF z-{KmR-ZM+8+f{`(?+&VS6BKZLnO$-vq1+lA((4x0btaeu)P&CICL5f`-USel-A(3p z9W&o=w+t<*hz@|S_=P7ZC&>@F#Gqj_GwXu{emyrTZ(PdQ+GZ7I_Q&T7TUT8z`(Mvv zo2HN5!HD(9OTCQ6w+dcQ(1sbc9q7Jm-b0gTO--|O5VFcd)3XSx*QsoVjZ6+jZtTsm z1w(12_R9CPQroJnEdwh_h|m3tF~*xKR0+8BFrADVFPKv{s)!cT<^jb+X!4dl$fzH) z=B_&{6rvma?f%2Lw6RQX5l-R_(2DcA;9$ zt~HHCT|hxH$stv;3W}Nt;c-|j;Ubji3mx$#!<;pAM5PVzg`|8gNJww!NR0u7N3D^} zDiYklRE|wskMvpFDS1a~8FEBNhrdJ}i5Vo^wXT-xxAJS3DrghhvFa+HNb~8aUdX-7 z&B>s*G0ye*TT8Pr9KH3^FhQxc6qe)lk~U1$S6Z1&gDGRwVSQf+4QJ7^e z-hl=9c1uA+H5CfS$Ix{VR;(a*Bw9n%o?D3?w6u}-s&MeR7$xDy0;wC%Lc=TB`*oBd zF)I^~KVE(j{WsEnGFQ&X-vN+um%}hsW`x(FUEC7a1N2`M;uhcYVOT45jHwdsSgs9x zoWnW(m^a9umGinNL!!hz;)rNDp_UjIz)GUM7?ARM?XS*=L9K@uDg|dHRqdrfj`}Js zq+oTb#SIRG92<9WiV$VsLS>1!6ekak!k7of{DtwB%7CY0xX6wC`YX0B0^oF!uMhY0 z8GB+a>_;Hc%{@4i8>*SsUmnL>+BKk{dpl!mr zw4&6DaVdUlVn;~V3*N-J^4Z++u8G_;|Nf%m<)l<>x$%1aDXxd$pT|D`Nc1_SsclPc zTp$iV^Vm0>w%GOXm>}=^jzbHGnbFRt0td>sMx2@~%&v-!*pbkE{}J)=M51f%6@wsa z*~at7Ec(wnExkAq1s=Sk^GIEcQm*dmU2}X7rfAa=f-3Awa7K{0_i^Eu?K@HT5?S0m zFDnQ$n_M5h4@~))QgG_8_sNN*=jt=DDu!b(ptrr1QD zapxrOAq6)jHx9k_WD*ebQuoWBeRnUuzA*T=B{kE0^h*5Q&f!mgke=L3iX*cU!|TGi zb0M*tYub{U?@qk+y@m4lx`Hx1dnO7WHt~XWKEgX@-8d!ue=8_*I+SA~C-jHo5hIvY z=OWzM<>RhJwowTaJHwZ%!}{LGrkEY1CEQaMg-aNIfMGua1}xG8%-Y}pE{50tiN0S?yK^f=jY_@;6bn1XhV|9kr z4)<+m3j3c;)F^F>AKShk)a73IaNy*t-`?l`{Cer*fe-VUA8k|r8~iwr`+cay_Am2a zOM+Kh9r-j6wcto;u&e8#&jSm*4s8zhTDIr!i%@XMrlFa|_i6_AMb&+rn)!4I9Bx>0 z-?(#AMyB%5zhX`C_5q6@mtXRVH!Y9&?r6H{;8wA`{HZec;Wppj_wCwtWbV_%5BrBl zUOzo_D*Nr$kcSt_zg}KYocX^Ukk<6iOSpf&?Yy$pVs7n~eXoA3$vppce(m9hu>UOn z_$k6pU(#{S;Re$O>f_dS>M z!`%1p!V)f-PEemHIUgLtCM%cGhe~ZraE{^JI^yUPR=iVzOE^?Z zr$mpdqH7CBxW8IV4X?HJj`KEGU9x(P}U%asJWN_0E`wypUOPtNl@BKWr-od?u z{^IqWeSZV|Ro7L*JiBWFWS3l9_x(%bWIJ0Ez6osU`}|%GKRS?9n0qTJYpE;J*p^gZ zYIc2~(ADF0+u62C?n{9d7S31X zgKX+BZ^+uO_}7~8Q)?EZ)|pvwt^ka?4kMGgUsF!3tHVBAHwqJ-*rNVTt{b*Nj{RQv z^l zo*BG{^yiSq`=orlKlEL}`o$-_PnK{xz7*F#?e{K^+3DR`cIZ>$MO~5reT#}H`0}i@ z)z=FW=7*UTXD)u{>s1nKxAnu%%<=Z1Qy<`VTc?klo;MfIMj~CMNdWH&G*uK$42FNG z=BF=-5bh5gnk!cF+x(P_XAZ8!hoq?V@VHN&?)3p}2O@8-xAo@x)mGg0eojgeoE{Cl z#+___eqv|+C!^~bYrJDlx>S9}Gg`mjZg=+l!3}5l3$L$@AI&92@9{aB>bx!6{Y87k z?$5h2oC7y6%yVR=FOAIq^?OUh%h=rq(BBGfr(6vnK6!O;6xial|9Rl6c7L5OAkNq} zSBJMZ*M5nt8V|b`N^JYyb}pZ~;m7|A^Bp7ZjqbmfwrN#k{;^}vZy$u29ZM`&AJ_dT z_27aZr&0@^u0MY5XZr)2JKT*+@_+rBasHvrz4aR}ZS48&+u4T~!PIvvs!o;z*CsEz z<`&j@oh{F}^VoJd`~8aUj`H)TA01ehUAXh&Y5$*tPlEm_d3!0MXIW&|lm6!kS^qw@ zSyue<>7R$oKCVwXa_#o_zt(-+wQ2nCF6HlVLpoj}OnBd=Jcco*dnttDue+4{h*RmS zt4k7IbSahA&(k;6my8>`lw0Z3=?zV#2~WGk0l(R|o!VRaZ2cd<5%wZqkXturU;|3zJpwvS$anlxSBHLfNw=#osb+J^CkV!wdLj=km$AuJ(r|HS4Zz%X%N7^2Qz9_%9^Pe;T0~K){}E z|7-B=t>4cKcn;0}vt#4~-e#r2z`m~*)_`%Rw0UcCTp4&G z_^-~#{rB#@`7h$l`D-Ws?*IM4hn4G&+ku*I4%v?i{@Q$e#qVdyBE-{emH)nEUu$y8 z`1t(&Ci1C&J;%QPycqx2FTZ~Mc&*{d;f)~?MLx^RqDg+8z0UF_)6-u(lNon(M0k7VYuT#2v0b zCT)B{kVH9?qkXH}_HImelYDU6*7u|+v*F&ui!Z+Y`^yzy1~=Hn%3L{|Rl*&}TV}>* z?4!N-JRbwBZ@Jm&LZ&RHQC zdlKDt-$33?pVNjpsz;Kac%usNh^QZq1gM?TM)F8zC0SAxD=$OG73CFW0 zzl^cJ=2zAEN$t%Zhq@zXZ^QS{qB%pJwb|Ue3{%IuSxZc_CeL_a+s_uZVI^JdZkVa+ zO4mLK6ggHU;WRlb=^~zuVsNt3MmYs5cC493&-t55x%!oA+3DoOJ)Pt6tI5a&N<>BsgCWxo{=`cnTYl|2T0QQI-!4q$i$$r zOJJ?g>SfNDEQ|VpMhN`iS3kVXBaV{uDU{Qk^C)N)IhQcwu9m%~2G*VvO-7T3F$7k_ zbYSp>y4|z)nVfwmOe6oYx@i@e$*DO1r%P7fahp+w{`}$^_a?3vPD*n2sLl3tTL-Ss%K%oXFqXj=%;kDDD|IMTM$l<+Zut+Jgt5LMsK>+G*G?D8uC~(mO z`-GrfaBQkzmn)`iX757G5VPuzN@Ck?qtxnzG_+JTMP)93UVvV>pU>((8M+o% z2ZRYdOnnbJyQo5!lvx9V18uIR?SguDY&)lwB5`A5v z^#S1^Pfsz?6=Mf!4hT_;os3Y73+04@QL(mdoV^72=M|Wn>P1eU|^B)oL7kCJ+#HSx9;_Oqp|3gh*`x@l|o5R9}?g!7hZM zme^Sm{EIQz9r?E$b^{iRdF|#T6YT~B6;Wuh-6DYY#SzJ=&CgONR*Pd@k-8R27B?2d zcXUND>&)SEvDGY|=SWMdg=66=rTWn4FgGp+K9j0CO>nrX-hy`|EJMsDVptqc%02Uk zq240=!(Lb1W^dM|?`;y9p^PPh1;v&8=O6h4d*GB}lbm*f^41qChJB$*H5I1f3Llha zf(jP}W8myXsA!I@#E^x*t@eY^!uB#w5648!af{F0(|MG8%7n%~{P(;w3U(Vf z8~7`n=Yrtn;X-NtU{V)!-wOu@W8a_*Zz`pX?XOuKexPQ~QP10-6`I{z=I*JNRhowF zjfG?RIV)6+@oq9z73nQ6(Tu3_kW1qUj?OV?IK>s&q9A9<60xT_F5zQslu&LYD0W+f z?Au|=I&@h1qSXdbvCjhjZh?5rA1&?;wqWLzg1onzM+q#B)Qw!f>h#j$7u*AEhr)(` zhM-Jrb}QTQ^krCgfJt8>c6N~`inHBR%=G{?PwWwzWN47?iWHr&mA;+Ei)U6~=meTQ zvm$jtGb#0U;Ap3)>843gzgA1|1dKFigsy?ya)PbYQk-SX1`>a6rII;eA2wI_n@Mmi zHadQhoVthDTA8TgX)I*4eS{^#m8R^PxFyuXmL|R72u?V9L+^4+Yeq0A{9vyjgmT2p zH7_=v5qmycdjJN@Y?y8Qy>#wBn3dW&Mf>0Wb&a|xZR}!Za~Wx{%L~OEw&gKOP2sAg zs6XG?Nw1|6SYsg=%~y9MOo12cBcraP96OKslGYZHq%04Al{mnS&xDMSoR})+98Jco zCBkQxDtK>bR}B?-2`nmxpS&o1>;O@MWL2GxTzr+c!hDFa4CLLW4s+WmCM|0))GVjj znd9I`t|iNuy&KXu;pqmx%n#hs@N-Si#e5K4b?w6MxF^hilx6<^K6x6dPsUtmqaj4O zmz-KwfXu7TQl7vRqOhZRGYe!Q(XFPwFc9`AQ`TelYDmgs&oP|koO3qsdB2cM)T^qz z3tf-|(QwxCo1kc(9v+}32EB{H@Le2-1-mH}S(M7?=o+3B`+|RSnY{PIBH5gp5Xwuc z()zkVa1Cq6d4B{f3oF(HS&9Uu%HID?M7pMOSU1W4W}fgl`7oWObv$v)y>r>mSJ}s( z?t${F`Ya6Wkj6o(jbtp@Z1CXq56qiKq==*Vi-r{;VrRPa$`oiQkAVpRP3<6UF9y~! zIGTomHDh505@dZ~&f|1HEb3*J#!!#dAw)5$ocV#6ttVg=Bq*fXXh&i>llUHlK{E>6 z5f7>Tk7>*e&}6k9W0*46J&O>%*#pI!4{|Jw@s@llz>{G_T!3HjT{MSpXrpRWMaAd- z@jAD_xND%Q=fvXvl0s<$u;QHH|J%tLFKt(e8m?Zs}y!2pt8MHUBJ(oM)ls=3BMfIE|5k8zrB+q94} z-RvRX4!Vz1SZoTPP1ekt8>Vogb}Ze5#JmmVG?I*VcwpAl5x^Q+%#9{QzAHlW*pm4J z4I3~=2U&Wx;5GkXdbQZNlgy$s7aJ~_a?Z2NhL6|kdkno;k?{MH4}UG52H!jZbUdK= zn-o@xGL(Wj?HFD)@Y-xKN_IyhKnW)AI#%cEBxqg>T2zbCRGVotEa(wLu_Zxlh98C& z{DZkhZw|+iw9ug45zn_H8w1EJH;Q%WCRJNW)SWjox)EU? zEez)gkeO8Xz-%f#;+2g~BedMqf*)7o#ntGp&OZn}nVid+Oa&;)17SRrE(c&{fTl1| zR0+ViV0I^{5k;T;j(Y`wGyWfG0u(I|&~cHv5F|75Bu{kHgCu3vV>Ei=U^qed&P?+Y z&wPjDJvPgFXQul=U{T1djFEQ*6uJ$`=u1?Glf*Q0o(jVpF1z~}tGP*_^GLiYoNgMg zd2ISB9CJDi&wEFJlkid+j@K)N?FGeKTs8l?4%WFPDzQy9ZZ}Q>uyy9VEP$4lXAq%7 z>rt9CfT=)hNY?(7!gwGIT@8v@IRppl^&Fe_*${GEj#tVQ43=zp&`lT@F%wCTMr z*Zmj=9Xk(*!nvaDSY9(o%L2WoKwd3ICj#FAV=xIwOPdvKKiPB$AkLs@86Z!MHavM= zbBH3&AV-zsHM2O{W3vxjk};+a_M?EFMuLZ1YALI9t++uB0d@$ji~)EdNKGohyg?9i zNVEYA?SwhA4gJZ@jP@g#P3Mh)$B`8OSR~8*{_UqQfT=BD@bqY!>dnGds)6 z`Z+or)c6wRbO>Z##&!jP8UeuEjxI7~|J^l4D~XB!H(HnelhS&HcAhAXA&TCZkE;oE z7lPV_NJyT8Cz8tg2yjP=JJVeE0ndCx)J&MsgUQU#Xy|FB<)B268YUeBdyJ>`q0jW1 zn)sSoKv)?9LG#9x*=YuGCFnu_Pv>Ddm@(_I{7s3?(c#bGJb$EDwmt8>Iqw^hXHWr< zotLRXYg9n}JCrErCruVWyyq^;GU!yjw3=`W8k*PccEbRS&#~{PgSvSOek9o#Lim_Q zVWpFrVY?yth?rwBh{W;1TrG(J>%=f?@kTcii)jI85}9W}+ICQ+0+{jOwPsVDH2>I) zDI7=Cd?RY9L?g|NS!8See z+0TyxqI`EveyZVwneN1vs6;>{0(3HrYob9{1~AL9x^}b&8cl05gFRez4Mu>+#KHZ^ z#zcy?z)G7+ykAS+Y)9NpA5STOOw7q7pgV)g^C`^p`{gibY9)>wh5KT*&m4|iTNMtHbBEUAx0-82+ zF~WrQj6}9OOQ#Za{a8qM{$zAwp0p%@v2@_qvEi#c!p9COy3_oiIa zYtUUL(y;`wo0n)BOH+ZEXK30anf4QNq)_|F4rlmg_JO9R`1`Kjb7B2nz|b?T-38kgDcXhQ)z>Hf7Dy9eM0)`pN6Ul=N1Ygw4lODW z>H6_n99}oKgyloj{7gIUGXltnnt2?w^F0z*G3W3sfQZf^4s~J~H!-khrB#G znlhDEI1?=IhPh?}J({!TWjdBt3+g0hytm1QR#Pp(0&Ye$63_V#T?t6ZC40N}FY!eXu_}3d)v?k}aG9?Svf*xzgAPkunp|SOkv9t*#-bR(IEo_l^jWL5%3Ah3T(&|CoqAo9XT(&@M}i zz7|@ERjI&~H;?C?M0>tFTyKK;)lOXe2Gn+%SQM)|O7gWg*qH^Elc(fe#RjZe(gP5soQ> z+YnAAQ$%0P1jCpP2}UPrFh>KLHJg?3C zV;5;K?G5ZJX0Do9c{!th{%zf5=KL_rYv{@RxY+{-15E*HG^Xj_usnGo?R2o|OANCI zO}%`bCNYDx;`Y=0m{WugAw<{=j`qX6)DCZ#jAb@qXPM-D4iWB1()_oD>FA4#T2%;($I%Bv|?aeBi?^O(b9fsicO7{6nFtdJV`TVSPpW7#S}bm-U41tW#y4= z+4tyZoR(t2DzMyHHL0zcoJL*R)I&3^#qiMTTi6px2BJR|;#Bxo1qvlbrIe8yA; z;WU%xnt2MJLl(yqrx+N`c>>&l_#w+e?1_V&0C^dI@v@MHHP<99G(<`7aMltV(rvei zsSD+oGka5dx-E|T>2vklf*tT4iHn=^{SL&{ zZwMTC6#U=e)iV?u3tUyi;e)t_Z*%a#l}CPm^&aaN-xX|)t1@ZaX4aBS!|9JCt-aY6 zC~3e%IObDN6nKzgbDN^6+fzcFclYFmZdphU(KIadiOy*+UU6_W})!_m+Nm+g9@WkZ(E&a@sxiFlndnf%U5vzS?}1P__JRAQt0!v1v#0$E`DE-#-f*qdF%l9rn-O6a+e& zDJ?$JX0uYfZEiUy=$_;SEKvx2%*dl;P;l&RB&B^okBZXX|FKq3Kyud*LtMvMU`Zv zG)$p@k~( zyIoGIc7lQiN??`tAlz+?Oi?Dp5%}L*z&wIBV*Ku0$<|04DG;n$G3xwP)cMh%$?w)i4=5YD5}|B;RxI1j*$p@928T@C+*F0t1JU8A}++QvV3u!6HN@${|Ky? z>W6$95N^XP^)S&g&O#pWVWDbpvfLize+YNPNMYxlJ5UnTyR(z?_M8agfZ=I>h#Da=`YCGkc8h#TN;@D___VXekPPNH_dC>QaYQg zy&&*dJ*a{@c^)*Ru%0|P8GEfACl`&>f1bRQ7 z-x3O*1|TQme#`coaTp@D7nyBX5Yg2@ z3PlIWdpn_4+Zr=%r=Nl_M!hOf5eD^Mir#mYn%Skk;e-Vt!f%el)NQ!IPwQ3VG43e# zK>~krB{~63vo&;*O?p>jN_-$tX*1EpHyZsp-YINWM3gXsfY}GM2)9#Kj_=l+CCCaR z#vrz{YHz?%I5KAky2&TTG@9*W#xg`eT^4sFO+^%sIiqOv4qb+G780~KavE(fQ=hOx z3NBc+4|A*O>5FY!+DP<1Z$(cb=_;+roUURx^7^ezsLN0%dp%|9a-4~%5T6yCiXD%H z7GN)>COsJ|PIN)&_K>v0;o$3C*2Bzh(vj%|XQ<;Q7j%;f=Ym(U2o4B#8CeQTH~m!2 zh#33*lw@K}4LyGUz0i&5>h`PL9mK3c_SosY{@1ww&~pm+>^`$M^^dhX=+Iao+7#aF ziX1D)hy}smAbRmKbsL@~a4w_MmY@cyUh=NfmK|mr%(PkVDB%#5u5*D#i{v5bs}Dk) zVv!aNpNqnZ``8$kqrxPH)6>*vyF}UyHG$DXjULnO~Ai3(3ziXYKois!XQYD1A zBDu1Kj(y41@EAy=cb6JQDK;Zk_$n9|s9_cPIM&Sog?`e;aT`zr4_G+NIbu0Akz8%e z^Yo<-QkjLN$`6DE3jezCYiWwtplfGa9}A>?UxnoLkV2QYqDeU(v4nHhVTPUN9|~E{ ztXOx2+fB<*-VLR8k@MA-t!74o9YQU;HaG^6mSIjYy2tdeJ{d7IIPh|fz!TY3@8g)x z`D}EchwC~oWuwjTgN)HR8cW)7e>o5XBE044~>yYyc_zyp*6Yi+Mcy%KJwv5vUd=;~gZ6uF2 z3LM!9x)O=^i00T+QyvE#Q{xA_yg`=TU8ml%KM0Hxoc7IDjKSapFdkbw9?L?Pkep>2 zwX-BWsX8Hcv9$rhwUiatiTi@17_aTGYKqLX1AYp_E87lEt~q^ZY2?_bjpGD_{m$?L z2$!seP9)XX{`5rYPFw4Qo6#$0X`}4u+0Kv3fk1h1^mXyz2C=|S(&B5va5YhT%QP$` zb-6_E3poNk3^J5;iCmSZ5at1#On@Um&G6*CtEC1v@t7rCVBG+r@if-rS-J#bXAoj# zeKGRwMF8Tx;_feUO|(?AQjShWIleo~h(?Yj$szw4yHLs80`!%Gy*t6l3ZSJ#A7Maf#Sm9!#YvIuBNMpm$7kWEt`Ez_?? zF*!tTtbA^(QdFwsY*z})m7E<)!wzN3c92)Bm@HMy2?4{#$k_q~dp$tQR=_gl+;HjS z3gkd6ikpdgREcU?t6<~6pnwiljwC@3BuL3Su7-VD-jZK643~>%ZNx$wxX8|A&R;qk zjPLU?nTtYJtUwZ0s14D`mKc;U4Pay|Xaa?1gMyI(=r$@;!eyFFIV@C84VKX8lE)=T zAsb~QK?TGk1#zgE4T_3Pc?%aQh?UJnBKwkpG)X9F0l}~toGn+1c7THI%8D|uZH)RVG3&8HX*KNtOk0Is?|An7se*1F{R{qFCfiiflF-*&8d< zC!tg+b?PKJn-6lfffZ#+(aso6CHT%=sVfI`6(F-1m=pl|VnuI(f|dnvd8o;?@`^N6 zODam3r{Kg(1#E?T+j&jywSmhWwO3l0fqDcO>-I%9)z4nchO6e_YDYxOO5{waiQbFA z3qx>XRp4HU5}bcmUD%`+@>g4K1!b;r>3I}5mH?wN*Isk#`|1k zp=Pp?+?3PYRODFnGJT?~#qU%sZz(Na0o$TfZvzF}AnJ;8W*6AIL#ZwWCO0bC+mz@{ zz>~iLVYY%Q0CrR5Q;+13pGlahV5jdPM98au$}6((OjlleBr_4YQT^a!w2xTsFAdJa z8vR|k!NH^}4A~VYhaxQ8LS%+`SxdZZCIT_TF&#@Ma#o`l*{DS*Kvbe+WC0b004)(k zO_z7Y$%GLoDi1l9j8d;cxy8xmQWfeXWYbp^ElF1W6*A)gPMxbS|pfTdEKDVW$9vJ34BY z-#aZKSGZxu-d=qlf<-%%?=vx9q}0S!ChSGhgY4h+F^CoyNnaF7RE^YxAbIOhT^Vv- zq~$c!jZRev3joa)pm(ht7LDr7yg!*}!O4)XO}fmClM&dcI5~1AP7YO`nONi`Tb9&V zpBR92TPb5gozq`pCU+@Y3KfQJU{?j$Rie-pfxN9CTL@^1mFQwXpBH2hDwk{mXep?7 z7v*Xmkn~kPxkfg=SbF@&wc+5faS5uT6{&Xf-MORsAOdfXWK`Ig2>qpVY&j?XBxF5o zk4FeN-GUIQo{O4IM{RqC)UQV|qUC0dC_xs`aRliWF6XAB7^&T=Jk;zeb9E$A5F?v^ ziQ=Tl{@G_a86iuXN5rH-Pq)l1NIJ7t$=>m3zFSGy2*wJadZIL2ub3?zeNO@Iy;Hyn zmFN(fxZiL&Ha`Pg!q8wYjM2jH$V?}|ze zNS3cqqb^#?y`5y5c)5TF4Jzb}IHV@h^WHJpidLy84#i!Ivc8~j+Xfo8DxrFg-VAa! zfxLdk z9Qh4*>358VJVpu0WPE%$`O9DV%Ow>dvOcENz?5bkMnJ@t=IbUJe<+Y&*0)B^k6Cpc3Enm1hl*&cfA4Eb+#7>a2_aNs&5#pmVQJA_fL@Hv- z3>;^4F*vg$Rk&Gcv0BO9qIBEJ)olWi>vPpY#pEVnrbJPjpk$Pc&TN8Q&j6H?3ge<$ zc)&^iHC2>ESCI9`znQ4nmL=OWJ-x9v|ZrjW+iho@Z}81-KOM~fa}hIoGpTnv2}haG$N95a(x1x^ zp(V&22025hH0)ABTpP2$fw?kJxJ5}V1_fJ`0i`kX@04fXC<#TN%WhD$74&xiDvCjd z5SZPdU>7MM8V)sg^+*d^mfLDJg^1~#Y*-T=xU@?Zw0AkAajdyz+L$} z66EBAg~!2KR|PLaAu0i3MG8a7GR+1+kgw3Jlku|UW9cD^hb{}ZzHeUfX(eUNbM|5j z9I`jefx1eji`I8V8PTg{`n5pJp9)T{A|N-+qxTL?h?-2z;jKjp)F!iTk|S3neb5`? z8k8YJ-p7|uu0yHw6x21R2pM0Y!<3c-^lnpLSpl|`{w*qvoGtqdttzM7I9CE{DwLXS zpsE5?mn!-;gS4$+%Z9KGj_bb~gJ!d#T?%yN-X^RA24FgD3nj(NF?@KlO`&vQcEAVioeuqH6oj)s7GB+u?<)Eq@ zR4RaUlw?XeI^WPs<1ZYc_Nq*azUn?m$0^JAaO2NacIAsxmy0mIr(IU z{C*KY<92K3q}=5<+~Qp|tB@KdqJ<@s3gxgA0G$@IXfNQlDV4nwoY^&WGy`121UCgj zxF}G#{Wer!E4GY6SLMl4=oB^zg?<(50M%wCuS|(9d@&|S9m@mS|CB|4l56;iR~M1_ z1{vh++;I8L%DC#oy88c;WL->zo6E@nH_1$lT$3vA5N>uDS0U)lcLW!#-=zGJfByI6 zo_jUFeZF6Lk#~aI^IMXA+s#yG+{?|^r@vK%JB{CP{(P(W!Ya4*UK@5_nEQ9vz|-61 zZ-0CFt^7jzhimH|&3@TF(Dvcj#?y~qZVh&5Q2eo?;COD})8eS?x|4S{ENwN9T(_jU zC#3sSjZEbsJMkJ01Z=k6E#bKkz`51u)@;nW)J@$D-L&aCm8$S)HchBqv- z?-YEsslv6S_S`A7dVA^3`<=HOPUbx?dGK*p@VcUXtG-Tu+;us_%PL!Y`&DUw`t9GP z?uwE8fOWTCk$=-a+jz#>=u;$iO(r=#LPq1A8Uy0@BD*2q+>5GbI}b$}=XNgG@W@cwcFgAgrjiQ55 z7iL==z_iLTdsq5!S+|Q(!P~D4)C+B0PWPACz8vq&ZFT8Bk=ufT2W8k?gO?XeuZ8|; zvcJ8|I_4DPSMS(UvqyXfo1D7|5f;N;H&>DouNg_rdGsr={YRts=Gz=??8<9}a?A>B zBljn7und14xe|9(J-_-0N*1|xU&QGqUQ>=cHIOL#6m4ZWY~*Ad1n=fm9(wg?zU;s? z@5@^jC?CBmw~ccDQhA8<`h2O~hJ**jZO6oqw_1-}XuYd*5!Yt7>JxhAZASS`d`iUY zmLhvp{yE%1B;V%z-LmuEU{c=`r}*re@61^B3k)r&9(f@=+Tuu+P+*hCQsr46tYn%axyI zw;u+t-`&{iVjS4&P*pWt*mnKV&C=GF-e)!qY#^yi>;(JI7g+;lk?XDQpYF*u$d$S_$1vSD6||6<}7{2Rs2Jk|2Q(95K0 z_Dkk&B-}2!sdK!7w?8kTo*&#gi@G0rsYUciF!95)@Xl>vheay$br1U^FqA=6A* z+Zm&wi*2(j1a&2Q7mdu`w{>#M!VdZ`9D(?)&nf)6#$60~Z$CkNj%zBG_@UTcR6zKx zUi=|MIrGl~#6W31{JdWzM{n0KQ;chVc0lptob_{d@j~Oxz{6c1sZz=&ol&qPLO-y3 zXgc64pbd-;|t!9H~ol$}+iw1OF?dg*~Ifm0#jx(Id+Pn=99}q2co3TX{3hU`t z!*ks9mQ%XqYHhlQe0G4^;YTqi9$gmMZDSj@J*7%Zbz|zM@vPYprLmqw&+**1+tNCy z=^M!;?1rK52-BHw`RtO&*V}iZ~=x$RbA{J(RJ0oJ|w(Zrf z4W`8HZgRpwVtZ}8Vz!GCCQw?2p|j1j{YxX%=dFhRJ#20~wCrKfI{OY$u~}m?LqU5O zceP!LGk#b;I(v(k%_$(Tex;4-$Eh9EjGB@(cX^79mB|lmUqY+jsPLY3*SV}3><#x} zgSA}=OkK;V9YwTkW~qm?H)*i9BIF>3^z(4?B87E$fQ&peu?}lY^PJ+1?tTu-uI&g} zbHDE*nQvg5mYXmlT5j7R2uYankmr%i4ycjtrJTLt_~&sSYsX3M+QtkI$TGVf@zn!g za@XIPHbM=v%dgW8uU4|ZEXW=kH$OJv2aLk4&m20QZWJyV5uUUNZAq*7)L^CHUb6{f z=Q*6-4xwFsx0t#a2N#dpNn6Tr9cJ`yelun?<@euR?1I8pm1hjUV3p0i`{nAZtOZDF zhh_UjI@ZYaQgAL>g?`Db6}K)`Ss%7}&dyNjzAcJ$(@{;%t*J>0W&niWtflI*I`0b4 z;R*?!elD**p>h34*D*pnB_3On<8v%vE`9p8GL5fd0O5JI&rfW-GyW|&N;G5J!7Cgo zff|5>D{W!Ow3-rO;YimB3&$~Dt@fn!{RNra(itT#!UGuL9tW;tHrh3CDpR(nj>agaP+posuH0mYI@_Ht8+UWmTG(z zoGW$Nb{p#9&sKmPJbO9pe>(Ujm><@|%2AV21Bb-Tb7vi|MyxZ}{>oFZN362S*l1S7 zxrmB=5BTSnZ6=Bcl#@$0PyU&?Z~PYq|H-mzM?O4jn6G?eU#{=UVn-?Y-n$j7x6~iH ztlA4hORa@ZY?I6Ks*QU+Mg%u4>(ME7jV}`vlP4*T)7cU5m5qvkD>h-Zn=oVjB&lIP zWhy7M8pH-)oB3g%-Lh=+a zhBHhj`-1_s8pD#Ususg+5Rg4Qtmt&Z_~eSHnU@}D$HzG_MXYHD<8%@KjXloAZg9p< zyvqizw$paD8xt*A1y9KZ+7Iug@|&n|I~+eXH%IWGIP0ZX);{y?uUxbA zQK2}4o+K`&!Vg&v*4of($q}Sfcr9m@$K4?vl~qb*owK1!sM<3N;9nN7p4o`YD986& zX$25cfqJ~p%6QqvSV&}1Da<*np$`vtdvpWcpfxxQ&O5;McG`L}J-8W)TpOIU6OY-y zxVsv8*V<*X$EqTu{i|l(yGDwOFNs=_j zUP+XsQW>(Qq9keiozM5We*eIjIp^HxcD?S$^YQe;vn?>}5gfyd$fzQS(w_(?q^3Gh z3=S^LoHDq%Td<)FtWnt;Sb&ZW?ZPrx1a`&#>2L~kfg&2DFe^xcal*{xsf9|?$XBYu zCKdXQ#I8=GWf5S`L}&q8v=a?@;h2%=z20)dk2E&tr5inF)fOFSh^{kHbj`xkVlg5R zVF^*XmW79=68cBQ7%3Qr!)s?X0tlmk`-v_`On0n122Pkq2JI&e@9ng0yW zq{@6u$B71s0IN&TPY}J%ttqDfBNVpXcbXX<3ho3s%Bjg<$K@)!g%I)#_gI6#NFYG# z@w6djzdQ2%_0CRiYeAS%GIJ18y?WoRpoeQ*oYOWyY{ktsYu z>wL@R5t!asc8Q&93z5OX09r)a?|rn-RA30_`wr>bA`1<|hwmheCR2bhDs+v)NXOau z5Cu&{+s#_$AVt)FQnaigswXfiNVJL`Jvu=YhtA6T4^bh`98%cvPJxyqDcWOE_|f9| z7faOVA3J_n7XGq){*R6pr+Y}y85#-z7R7eQhu|PP6u~SiCgaXPi%q$`_0$Vq{CM|YDR6$`JQ)2za3x2OM7BryV zC@58)^_v)kDC!e8fq|a7iV@)XR`5ZEPEv2R;h2@wH5(Em1IzZD0s;<$tO?r-D`>() zlL^dJf&@qhDk*BYOT{3zLHDR0K>9aCE70U{kJ_-JAgrK{02GkWEm)|L;+!{u*+q7f zL<@LtpyPPJlkBib1)eR6oE2#>C4to*rU6b+bxU-eQfTMQj>O+26WA&!_PDa(^(v!- zbPn|DgkXS26^tP=yPJTNqX1brW@8JeqRK@pORg&eABZwd6lO1h?XF0llNHX%i$KaS zSc;aH&G0OyrP2eW-N80IvE}u(1;$q$e<}bD9 zyfKYMU^LYqa4sg61my~MR-6DIR$FoA0b6LHB3LE zqh;Vl=P5wvNl9@HK@NePiUV0* znu6RdB|P{t3>PDb8uq#>5TV{-0u#(FJchy2j|w6S7AWjzBt|)b-A3(c&6yjcvR`Ym zOS+kP7$8dkjF1_I0Fh>J<#Ff_+T0coJLG_CahL$SpZ&G=i z6yO6D^w&aL2|x~xO~>0D)=!P43RpP7AW;ycL|;exj^Lr2RKYSePFGK)-#XSi#5{X;3E3$nt^Ao`l z(rA(6NwzyGl??GbOE@s@6-URpNkXEYt(T_CSf$v9wMKZJYvqKozV| zpzXHIXF}03Su{LPdLr@m%c-@ zb33E z1d3#RU!zpIrRiO=R!U%=0V7Dl3tB0H4pQwp9^f(AUy1f!IjwfLBl>X@H?3#j$e z16~W;IHgze@VA5@yN03#B?{WGfGetM4e47dHMNE*hGd8YTNM;E!3~`)B(hV`Z0D;C z2YtlU2gdCjk6MlMGC`rRW9*r|Gb75hk%%2WAKb-m&~)UW-ts~rNKXc{Ch?39zkp6M zv!5)whGu%Ad_Tz07ckH!3_BGIgyFx>QE3%ert8CDBLd?qjPbg$T#wkXok5>F9~#pf zJ5$sBn;-1?!|D(JvH@9vil`K)IT?DXB;*~M7D0@dVwH7hD0ZZ5 z`>j;9iH9bjm`W&`z)#d85VcbT)B9B`j^3qYGXPW30tJ{%`RmC`@57Sqlw_;r-{x(3F`1Po=7L6f=wfO~53A z7q%8J`0;>gXR`ZWv)Bq(a7@YDw0RP#{7ZFV?-_%u>GjNBQdH0$b^?v&tq{|Vg9e}< zmlA2s*G+L=&<$#`(@}{JBxZnua1C$#w}~-DVRRFrtt3%30pJlt6Uufy*^_^X0WA-p zUn$IT67vzBQJYC?#R@;m_|{8KWj};W%0t>^z>a3-#d4sRR5*-b9FCD8}N8F%I1VJ8-*+vj;$L==4 z?|F?!^<5XAA~EZaJjJ}Y{JcfvtiW&}iW;#%t1@Gl*gs785rPv9tsXdQ<0wWEOexE( zDCdtCuuD@vZlM39NI_Dire+SXV-;1tBAF1hV41 z#Ff0BB|TNv*tG)&I@W}*abHwyYRZz#8$6R zq!oePP7-yI^=|kKyvr5Lkp-qtfVJK5v={6dr&bHrGd0{w&R)Py2bL0)A{nw}~F$&>c&l$+YX{~Czj(yK1yPc(S(+RH(n~aHXhhs<0&)OaC_y&q087TzFOJP zm$P?XE@Q3!RF9w9?)BuL_ou9@2e-bwskxE;y2h=(XsdfeL6qr5sTbc;*~6z9E|v>L z-n*#zj+fmRo~(%d&8Sd!gGfD6vno4$-Sn;8`mewJ#rP@4Mcv*%&-h`dt*1T@Zm=R<-wyv(HE~I4uuhNv@`rknzZp)k{x^U40T|1F0fQHe>l1{kl}ay zydAs3y_lEDD zl(0@ORgth(v^jZ6VsSJ2g8kjE$>210<&4`F(MUXL9vu|AGe|M{XxSCRi9}_MpCzZs zyq{C2FG&dAMU%HEymLAacS{W-ZV}ZTQL=5GJ6UFHm={6j(UO_x1EYLTk$DfVCny7o zuieeQ#m*#a?x^^dVzHxdv$mAy*cNzx%WCXlEKj?HNeGH64JFPl)@D{{x~+kuU}ib9 z1b)|Rf4VlUd~Zzhv? zjJ%+d%TdRC@>L@%bR?lokz_tC&yOO@gZ^}=)Oh$Vfx=`T0s3 zwhng*G~20rB!2_%%x1r>cDtj<{+*|gZo=9Z>8m?xIwO%SmXZk9mjqR^4rinqpJw7F zX;6Yw{%&pOom$ypo_llBZT-(Vrxs6Lh zo|MZ6xiv_oqMw(K4B)B(*J?p`$ATxP>zbUw0SU8Ocz3uXTh)Oos(#jBeNDRy`$UEJWv)_nXOcQOcv7J(P(^KW1s;C0mB|aU*MLL|`mRro;nI%&BoVGg<*3Z6gKmG-Q-a@$Pexv^9I#+6$pnXg3OCT*P5!56 zs!rDbOgFR(ub}wP;_BS047v0!z3I>W(yJNz+>rbD?nxh{z;%nw%1u-%emgJU+#pkH zlrZA~YJOUc5GGeJ)f``$d>eh9>lE3aPmp7F7$G9)?#Y8vnWNW286rFTDXbOlIC^Lr~oY783Lg9j>qm zlbUc)+A1V5r$uNwU@}hFZ;&)2_~zDc@E9vLaU3a7Rqyw$#nf0BW*M7o=WdiKiP?Z% z+G{F(>>gs>gn#wujU9aj=LA99`o)gnx<7bl z*%V=|B+VsQQxw=rg<@*e5g8imV2_{ZNaBb zdS?T|t;t@uaN&9$Qi`tIY}4-((+(1|L}NSqQ~yc^ZCv5MZYJ}$= zBKfx_MK`DQ?l#GPSq|9;qRnDC`a*3&}MbE5jq z2l5gmN)vb+VD{<=*VUD0;ET{|<4*X%p#vPe2I%4cpMqXtt5~L6DtLsSz8|r4p}C-g zmmUp9-W9yg@+CdEET$5B9pUgxB0ZXy=f@-T)_K{$ru=z{;k?jHM0-4+et>Hd$Djwo zBlp1u{Sc)m8q*^sr0F~`A+4x^xb+tf!fGMju&E%(R4gnefKwVG_tV7Eq(W*2V(D5Z zUUiE9YeU*#-Lh~KHJBhFnT1#hM=ZpeY9;XV;v_zpAr!wOAmzKYUh&$Q90y&_U?9hJ z3v`7lmJY(B25AtJ)QxRvUOtFYXZ}dCM17=g-U;4DC|Q+&@bcjPkMBIen{Y?Cp5~22 zAeum^r4_#64F^HJmK@$nAYw4NC@_~=Jg-Eni z@aZRb%%1KAJ5HoMhZUTfXo7G>@mwp!FRblY+nI~MV(t4M*is=~0M*lq=SN02T%D3| zB=A}B*>sRaI08@bf!DjkC7JNS04d1;u_-;S@EFHeTg<_Dd!(y42qUs=I3W()CLh?; zFFqtj8RYX^gE^5_yru|l)js${5P}Sm;DDj?V+fT9BM_QNaO9{QLbOLoq@P0M2R(!Y z@zO*2C-fx_Eb@HA5DO=7Ie=(XD5WZl7a3@f5M9w-#Y+!1?9}H3+~7n8i-nr>m_&=0 zR@pn9mLB|;p>oAO)}%@55eFdi{^*Kj0G z!qtxp@!})@gKfCMSw5z|QG~&Wtb|BDD+=KoQ!o{bs6S-{!mRBff`!0*kU?=hg#eM1 zrliKwM-q8q2-jd9M3zst9iFm7glM4BKg+G%GOlfv_WI6(RHxGG?b92YBm;Pz)x4<) zLi->B@5N0&gf}<>A31mn;)f{oL#T-mz5$#SYq;ZzfrVId zHsZJmZnsB31Ua6+5W<7_GeBNSecm=N6t3k2SBm919EML1B7`TqeIxj=yZn*y3+cf; zNhU8cobMWYWe|ixrx9iL5`_0Ul8F)u$u=udh^7!k?=twcVXihDhafSxzmN5Hx)@xR zjyyh)Q0;Q!XOrY#ciqAG+p=n39}G!rY%LNTY_3Fc+T!=IH{NyMr8@x7vUmWCkO{SmG%;^~&0Z+3EC zVYYc8h{x85_DJGFffTO@Q{75 zDJCz^hc8tsv2=uQ5`=;rheMpW(yQPt=BVrvm)wy?-vJ9bAkNw;Zn6WGkihSF+sBHM zNy>0G2!ywTw2&X-j3dHv+HCLy=EcF%mZ}Ts5s1>!@+x0mdnBK9$oQx~*j6Ah5yy8p zQ4Q&W%+(i4#$!mCz6RFor{f-()ld{_~DuSkCBNksh(aBU9dG2wKOwTh`@ z9F_o|e2{E*J%LC_{Dnlsr^;6w)?j@M!a)s{t|hm6-+O=EQ+k7U z_#Hj1P(D5iQ5MT}wd1%t!C3pw6*P2e9dAmy3>TUq`jYq~DH5&+xdul#^)9@G1c^aE zj>9%Fyro3*gv828xR-TWsRPWxf=fRJulIRTb=+Vucx)wv#|q{Z`12+bxDBd^^f2DF zOvFYcqE(4c4|h@s<3=7s_y+Rs9UAt#B$0laiag5S8;(ei>e@=+pZF(X5(U3~38rNY z)3V|@sNPEu9Fw{GG%1k>Mg>fq#W(CYLT9d|8<&2FTk3tVK8SbuBTTplK{%M%6b6z^ zFrgQ?WF$h)g3ktwwGF1Tg+KKl!Xbv~8V1j!a}wM+6CUsH$MBG1>Uqa_;nxwMNM_0p z+(dW+LkTgdN3OBOV`B&~b#U~bEF=&SO^{F`ODvq`o-9VxgM4!YNU~Nn{%pAZj9Z6= zsaV1A0jU~xPwqkxZy}Dqz)N2!Ik!-kvCx*e(4Vz1p1m-av#_4Kh{#*S<}Yd# zEE*Lq+7&H&7B2>sEXJK*5E-eu3e z<)HrMxPfKf;Bv{s<+?}9ZI74xhnB~mEYA%uuRr~S82N-9{iN~ilhN}}c4PB{EEa30 zimQn_7C8d3V!E~m7*XWYZT#F!YCZqIlUn=V|2e6Rf5-jLNge2ZH=xaNTfx4d1E#g0 zlRDQ))9q*P`dP~=mn$(Hve<04s+?Y-NZRs^f%!7Rkkl_cCo2_lO`Hj@`*X3R-wb?|q zVt?9?EVEU*3&`gX4$sV`mma2*i&Z-dk~P&Ixzt|O=~C)!THojX=BfVUr)a?7-YxRr zveWb3mv=sK4u55I7nM9E8a{C0tl99B##Qs%ws*xahv&?<p-<_X7|HN<|L7#SX_IRWe?D)v-8AwwITuS!Teiz3{T2de5y@&9BxkD294J&TbCBR&u?) z?9KSEkB27rVS1u3AKEkW&*%KndneyM+Vvu#=KRHl>|-xGNeRb2v)`oDuX&WQ4!xX{ z+?bl!{e~lQEdIv3JrSf*EZQh1PWSCE*_x>129wBs^{C(rB>=Z32M9nddWDH>p~}O+ zu#C&NTYKmH3pFFH_guJgL)_2V^VOWf)j-*I+!OCN_dGur`adW25;5oU)ur+q*Bd?( zhi_m1SPnX=mq~Jc&C3_`pWOOHa(;39(}jq)cRrJHX8-4;{&epPY54z~)PEkVkmcdP zO2szWo>j67rf;?46lLHmId{v$uN619KK@32y6efeiZ6Sfu2JM|N7pWH+yDGK#pU3O z?-x%UeYsA_4ScnJ@#e`lKPXR6zx{FX%h~rERC%swqjFpJ%ulLI@$ApaQy1qqvF>6l z$p5V~SqaYnUuUUmidwPmhQu5@)zOf#FhhL070oqxW)m*H#ZpCm{`u(2dQvI%DgXIe z=lYp)WtW1*sD*Eq=9HW()@5VM@w>rJIq`=}5lQ9BBN$V6MI_IPrr@AXg#6K_S2b$c zm{E{?n}Z`EJCz{+cAu{djWPYyyBu3HGL8E`zbLQf$($8n!XbcuQAS?BF(tR3`}MGS z-Jz}Lhk~LHBj@62nZ5JPuNv#b_g@(c^G&~{=v7Kos69s7Qv0`zsW)W09<7cG;lnR`1vHIPY&dyVxmdn8 zQQ7k8Wb`kKK>yd@9drGsHZ2t@v}LT}1Z&-%k)OL2ZKBNYZ@XC=5~pxsHTF2(&Nk*f zN$B$Hr?Qo;-mGbNVdK()LDbNH#+G@sLt8L?XNJ76+q92s?03nMJ7~4N%u%Lid#|-( zA?KB`!2$Fmw5>SjT-uIKm)-B}+-}|8uRR=7v`zM4ai}e_2c5W28kB~zy`Q>^ul>Yu zqkIqBUKWJzaJ^|h<~bV4(Y5a}04szaM=2WZM|r%seu4#a-5xbGn&@x+3eMQ?&~r!6 zRQE+6`lj4I&vT|*d$DIfxLSLh4fTGHd$KC&qWD4KVDasrVMj`4fta-O@VnvO6Kd$m#ts(4wXIy962wpC^ob-h!AwR_*a>oWB#AgIm3*(i;%9c>!Ca< zs{fM;qh2xREnZFW*h9Eh6)M%ovD3IhjT1#yoi?}coG_Jmmq=FYHn-**ypj^xXvzv& zjS(yFz@bN!9PJU&+UumOsCSnfbI1(s`}u%lCqw%~w<@}uMU`e)X|cf~RLP^Lo@A*E z+uydrzKld}WCMCS%T=mfOWpT3An58@=6fbm9tp9HvR`*0su$II zLHGOe@yu10fzQMs!QUiAmR7e5Q9nlX-)kpJps4kyj}T_egDn{ahCCG@%x`t&c79~H zZRdd^+fOGAe?(XHMPAE{irdyXP@&c<87V6mvQ$zOqlog7!N7keLqJxi8pMNC*AXh5 zv$a&KBTRAAGE4j7jycX~xf+t0#mF%1cX&cnb3Kur5B}<@Hzezj@L{)R(|P(!u-+pq z+pu~^fB1QPB>Y-tTjPsa@=sdzmfXFk5xRjMKB($|y`5|gN?KknR$Tq0oZ+zP0R9cZ zZ)mRsYmUYVz^4^LXCwqNP#5tx*iR~ZxeQu~@Ak3K}0aXKN(ZZ(=m zeyEr^R(SwucG2`5BOd4sa-pRz2H)~3{I*o5kgtHSPyTD?0XdMtu+psl7Ap^oxg$m6 zmJ)xM$}^kI@&GuAbV!k#R=4l8=cxB4#3~eG^M=?_+iQQ$VZ>NY=A#NK;=%+u^o^4J zARBBu(L)e-2W#Q)ned+MzEX4S;uztrx?RFR%nMcLri=^0gIis$f$Dnc&3bKHr4euD zkYg6GU^y`HgW5Cx`iR@|o`H#f)E@Kwd?rF&%b-9>%)~hTRmOUq&1tMS#KBXy!a}TX zGsZw4p=OUMM`C5OdGee2;sIZgv>0hb-lmE%(`zecWx9z!Utg6^{OM*o!=_cM&67JmdlHMNc2;D7oBr%)YQ5&K|X3}n~lO5#hbh4B}b{$ zUdU~1Y{tDzz|{bTQ0`T$(vn~al!N>Qu~rc03`G^tj2WU0u;|if9{4Y3&kdxx+c@N3 zQSEnaMWr@*Y>ywD0o3lH!QF6D0>%t4`YW~t|2fCe@!caXQi3pjc>Pu1)Hg|?uggF2Q=DCwG!7c7tmr;j zn3VG!BZ#|3%CW(@r=P<~IoiXX4c08VrYc^Z7U0%va86NG%O+j;l`4-A>B4!VD_ z!)}eg?R4qFye9R|;e$4=C1n5BD88>gf}Tf(`z~zZj;s+m39m>qX>D<%LKA!ZGC088 zB@u<7*=X?;#k96oGJ*#i+Vk+x8invmkL^&QuM|P_Ec_QtMR%bC-=h_bVEqy_#u*W3 z9$(7UrloltO~W-79c7D2sn^FdRKD)uhrB1TdS#$0pfO|t zZ20l9k)q$&(LeE?G;S7|-4SU#;5(`aE!u-sM9^SfAquB_4^LKj=o>Y8Nki%CFnJ}c zn9Z5hCQ$e<-}j+k5){XEf5{#S-^II9@$H#;h@-X^j_rrKdJRu=ceZKC2_k-9{Hicz z@Ls*#54sn07*e2}Bws5&iAyFHm$$0Llpr zZ?qujeqH@@JG@uG5vZd*l>IJ=gDz$`$kWQn%=&yVz0C^3iAwX9W94ZYvdkP3RQQw8 zQDLB$&%8!vR4P=p%XK@*ix3LJ#^?weoXW~grb>ryH4-u^F~!Pdo>6Mn33G(t1qJd9 z1@yy?E6~=?huB+E8U@UY(jei*i~#kXGSFBY0?X=oDD%)pVT8D+HmulgnIyO_&8UP| z`AIN2L}n-H^SB&C0SV+`1zy$yv>encpH}-%&`5^b$y80qr*2Lal-l+VMl>I(x4?EsLbNOkh@mc0MUV261?b z%zlJcnNt!}qFEo_(sD2=fAK)g7Vt^}t@x?GAWSq5KonKFu+U(QxpGC* z2(+TlDLu>G@y!yY5RDg95i?Hc&~DVbSfv=crnvnkXl~-O7j;`C%`;apUwhd!aheU1 z4$2r=n?z`13Q$T^36o*nloJf-14Cp+6H)(#>BmltKmiZb5(PB|f<}UfDD69?$$%(A z`nIFgaZqceZT-LVpZyj_?WzB?V{y6i$_Nf%;h8ygj5^}Aa8jgRy`y@{PDo13F@nS| z8IaKY+Epz6!dOc|!5!@|i$}AOMCi3jXa!*^PZqMIAP|#hEn}eFSl>#tpcAJ8GEHq* z&}j+st>1nVb%&IMm9pJ&@**UXeU$X+UFfP_Z2sGwsHw^^t_3p%?;KtiwOkSTLx(>@ zw+E*nYj{z{eP$BQLvg!C$DSg592+7gnxtE=pAgw8p)>GyRe0YuBuxp;Hc+hE1dq3* znF^BZZaJozJkTb`$Up&{l*ezxfpj#zjHI$I4mZH?RLT(2T~0aA zgV68N=Y4i{pW*A_p&115srV)#Yj9atV)L#2Z~W~Kc)nRI?X0dKEI_Np!A2GR-Swo( zpMwD$OPVv9p^pO@XQU^gaBYBbqrV`93VlXq3{#=wWcC;Z7$ix7G*BK+6oCTcaQW{}waAU`LalJG57-3rxOLx5_eo>rFRcD1cZF9qlsHuw+M zkgnCFeD!pbYM$KpzbCO`l-?wJW_5+=+M2)z%Z%U227%V1N+1OKDp7P8i$6U>cGFlfNMK%K+q?b~WH_t~NQk2&QqL}T?qZwp5 zGFdQ0{^UUx4Uun9{|DS1GL4BhjbZo18hrj47Tuy3K^(94kE=TltyTmj5LK~AcKH)# zax=4=!uAI7QYvi;FB-wJ`!URMlwc4IjH5)IL>dnb-UUGhjvYZ@gD1G=utSZY1Q=d* zY^o{(bc$-xQzZ}eCC5KZzB450n;|L8lk%;Su4|O@`hg18I>_ zx&7Y;^uMYm>8WedzSUAwrBW(6l2sX!EI#{(yT7LxDBmNfr>>)R<$sCJuGE@!t9fLJo4u(r$ z#t6DGqAI+=2~9IoV6DlEa?zq*qRKj2aFKs*5PLXGIVtLj+371u@s~EwUfE>Vnt9iL~TZCKZ4z z0<)6>fPh;P37^nH3s7c$E8YB5+Hm5g+4q}_#hV>}ZvKMa6wEiBk!re!Y-0xy62I^} z@(vILR|CtgP9zW+$Ebq4`s^`lz!?LCgNQd7n7~52aG(hsP*Gcz#F^$1iX(`AzhJzkK>OrAzlxF|i3GiR|IO^pH;Z@Pe7hr>=}SJ`*Lk#WCJf}7v5Z{iuUsL_Np2ExP;mX~ zMgkFBr;NW;_O!4fgPQc~0dq~6y{TLtsk}QS6pnn%BzdztIXWM@g*tsy;`p^B%^X2Oj9W1g6Y7XLo=r04oDd>HLBKg_Pj zL-!INbt_ktJzeSjS!6YO1PbJRcD&wRW{#yu~EPm&pSM#&wLv_{IG zJflD7Cww_*<~s^tn|w6SguS5b6GA-mZ%n*V-W=g`-*EselM!WMn0pDLm7Zk_Wp)!< zWkZqej&Hc1z9+VA_ou!;XZx5b3c!>k?S@fR+5~We^1<*GqtW>OHDh6#h$=5qD==lh zdHv_so3rg^tdDO#n4$OVONX`)X)G{OgMor@Ww&762oJa``u zIP|_J#G3N!z3A-gi-nH`G9ui-YeC{`_BBdX+Co?Ew0J4?Y!m)x+4H|TyUeG2fQCsg z)+~buDnOM)R7Hlu7baCnV1s3(5}yA^Kl^bm`REkouMtxk*M-DYJ$Y4mW=bTDX1rar z$RY|7kTu1N7CcFMDlx0YR5ZKTb?Hf0^)CA2o7qaVMMHW)HBnGOklNlWO2>=Ji5GC` z7hWqfKMu`Ay-Hd9LTkiTrr<6%EYhUW7VD<(5jdtag&n`boY*Uxkfha7{!9Gv;LOTj z%_U{*&i6zLcmAv8mYH9xW#&me5t= z6jvBQkmW&C74b#R+L%n+8O74E2vf>Air8@P?`(?~%GQ^a$~vE^2BXn2% z?qF0|PfOySOD-2LOSnTK`x)khA(#burgdr9?8^z>ZDST#BzkcNC%|n;J;cAy+ zEN{7Jd6vs!3s2rLJBlL}_lYFAdza2%c=7qCQiIv^cJ%j%2izX(@NIW4v^@>J?f*7* z-`TGD;=6A>ox;NFeqDSTJR_lULmbZOS^RiCu3&cUYgNEj5AR*~w%%^P`-61x`Tdpq zenGQDIh?#%%;?mCcC)#fGM%udBd6k1ECa=1G2V8`Rd@4wFeQ@-@_ZSu^SO8slFkJqm^+z}^#{*8i@2SS%3EKfP9NvVma zP5h9kD@zThXeRHLw_b&T1ZI@_K9tR>%>i_GRDd_cWZ=ka=fd1XUU=Pdcnrlp>cbgj z`>(KgoWm(6U3`C3Rnp^Mt}3*71r9%J zUs*WoZh@M)qHUoTu0>oZIQxy$%W^*aVe!fq%79~Q$i?~MTPKgi&E7k8j$?9;u!a+v-}~ z_(5mLDz8%W^SkhoZD4zK+cvi}NuVe4eW2cU49Y%)<{`edvD<3DR(_c;aNX;ZpUy1(IvpC^`_ zbb7?5@!ZA^#50GMJoh-Kr-=%Ni1syVY7&3jz{|Z0I|meI8gH*RXGa+rNvM3r zicLT8N&*fw?mym)VK>})S-DCFf}+pm8=UbiWaMsz`$;R> z!(T02k{b#6AhmSMa{&K{GL!S==r17Q6y`la+`B1TXL-Br;2Oqn11toJIm#=3Pe{{> zkRuJGoKh%l>Zve6W`1Wye4iA?$3u^P`0zkg#Z|f`Pn$DUj(UFKM3VL_Z(C_{CF=Lp zGXf9I-Xk{XLrbS!1hEFjKgRJ*lgw}AR;D&L_=a|Q-gATInJUqf8_Gy{F?kw~DrRYJAqU}rRcjCTc{0<<( zuQprkK@jgBP&pW}_(+ut8cfE(y1LI|V|S*y3FyL4NNCn}K4gh%y>M238fLwphHtP5 z$x*uH>v#@l>%xi5R218N=Kbd=h|pY*tZGtHhY^$$nPWGrTX zcN>Gn-xO=P+emO0XgfE9SG{B$wAxV7)^-%9>U&TU(%kW_a_li_BueJ~YFGUDMmXTE z_DDznRcvhs({0ywo3Y>bDl=i>0(UpK=Ka(I$@}&@PLJLBG2J_sMv!HU>`8~hRBZ5R z3aRQg>D)kqO?{bCVT5@4+%dJ@^nwYwA}6WTTORtHxOuCTg^VrdpQ<&*i~X|HmZksa zIUqSm>EU0A{VNztI`8s^z&V=1+^fAgas?w+b6uM0tQT+ckeC*Kbv>na2MiL4guZW$ z`+MoRS$s5E^%E*2W2@dODxoEVvgSu`!4*FHef)YM-=^d<*5pct%koyU)sR}e54s;2 zvHcZ)Rgz{y=O0YIP`H0zvIgwN-IroJ%06a?ZK?7qN9FVhcI(H-9*wM7IOyaW>zwt` z%xWK5oE$GF&t6Hv^=w>{*jA9=YQ!6SHTlojC@a6t*karB4Z(x~f_?nE#Y^DFd-2aX za?9sp)$Pv{wR9gjo)*wnd`h)}Gw}BWTV+{AsZqt-_rFhepP%;iEiDtGGXl{gM&fy9 z;)9l^YNXrgw#8wFI#Okv`h99TCvG?R8bOa>o}E^E_=-z=Rifg)C+1?gf;*S+Qv7js zhVa9Ekoep1mk2opB;y%bV0;;GVZyiAH`^66Z^1eV)G9Obg5e5uSi8CSiVJ*5x!VcL zh}{C5S;<#bt=7`UGg2?yy?6duvDl(@A@gkE&z95#P0I!Z3e|@qEER@Y6tcFW^R{0~ z+%N9tM%UWIkz~Ns4r>TXYuu*^7ksOTQ5>OD4cnX3;|CMHxLB~8sNe>t1?UvM*2yrt zSn85CQ+*|RSq!?RJA8}HM4$wj1oX@?p2zU$p}_Kfpfng(WmS~ETU@vk)_DM^#e$hR z-fzu(vetzb{AC&bmRCmj&`*tz*`#)@)JV;0EA?vcEk)v-ol)P#6?TXdC&Udmi=n^L z>i3ARiE~Ir8a3oAGG(x`Cmhy3SRu0)Nw0}?GSV?Oa+1GzHL%4=4(kzrj=Wb&p#V|q zBtZ{H;7{A4S&T8~E~iur5AvX7IKm_dQOmJaaD~x#im~>H3j?_!S`OiE_TP*KN5XCI zD&jucYMVXnq|q&-J{1x^UGPp9D^Tl^)Dk3qK0i&Z%#_|G<&@^SqdDC~oC8gZG!nn2 zzbn)Oreev_vblZkkfx*~EKJP9G^`K7@uC90^KuIOt(xyJY zxBamF6x059mIIPKs5bjQ!CHCE@ zDd8V9FxJ8o`aZVlwTKLqK+O&hh9e5MUztiA{{4mL>We74Kipu%f%tJfGC2+gVi1hW z4x{0UjmI{*ic(+BKf>b@Ib!Ylg;NH0P_EcxP|ld18n(q+dugb74JG21mi3|scc%Fo zizmMjuNbcYDc3>Ev<(JFi_zR<&DjaRrhB-CHey=u$N{gRiE~Yhg?^#{^K)EH6ws0s zn=!b~LC@7Z^y4);NjNP!*KX_x2^{WC;|W8CmsgxO5)lr8+(G7`&xVVymY7#KJVYf` z(%GH-(_O~s=~V@>vM-kv+l!>m3U2+VJZCnvbhv5L9h^QCN$ONbow+=vC$?Zv0bNgB z*e)I@r42kxD>X?gHNL$s4`yKHVHL{R@x)EbwsYE0jePlTzIXAG6yXWBgx*-LNXP(! zFERyg!Veij7q^i(qDsLi=zfIL+$sN$sI!i0>W}~bVAKX|@bcdpX z!bW$ONVkf#AR!G(r+|ob8nj6G`R)7to!|NWw{!N-z1#cV`#!Jxcs`!I-NF1Z#Q}F{ zy`nY!qM0qou-*FA=6HERxf9QO6?18ChcS1$mweis5p9*=u?+W6-6tLW#Kv000yRVk z`d$QsAsjEI!`$MXMInbTR>W5;;OmvXC`wM<(!A|p>-;)F5~5a_t0tI>ZOK)y{7_z{ zjNwk->ngD|a$tF-!Wh}6PqL_+mbVbOhSvAk0SR+QWxkmCX&*g!zuVhl;^+x^o_91s ztViKSO1MB;;+EL|E=f4i@?lF#S}KX;aMLjvfe<)>=$US$7r|v1+j5}=3p5cxqZFXE z9Nys?Zy^uNRl=7_${HdgxiRhX*apH;oveL%X&Gr%eH-bIFsg#!p_+NPE(Hvkz15mW=7<)Q$@h zaGI;6T%(YZQ*e#D8hS3PI@57TId`G`@#G#{iYK9T1ZC8d(dk_^KntGNKgg8?zgP zr5N_p@Tm&;a0QVb1w274S+6`Eau0uA(elK+Snr8oneF{rX+DLCGErZW^uSjRZd4Q( zRVsLecI(Kw8srBu`z$=;c+{$>^4BKy>4HUV#=dO}Ne~u7snGr)a;|!SSmA-Zz7v6sWu}UG$V3Y8 zz|jgsk8e#(+;jRzFi_L2D<8q;_g7OxoHb3N-8{A+8qUu(os(6`O}01pyw=+xv$UZZ zY4Xi$67^2eGH*l#1UxdZGIs8#nKp&}gfr|>1h%PskypZxC<8l--!^`YRGTZ7cskxY zPSPqz(xxp(8p=|v^-ATtB{{a2G)VH^i>UZty(VMSdkwTPfSGBgXwVc^@ zqJw^a2=^nWTt_`ub9V7{wSDAtq2t`DOaA0J12CHN@DJ1UA?Kd>OP@u6~{wV?G_a!3clbE(+FIxU{pvkNm*Vd zB}t#>Fk%xK>CaN=!2Z>$ijQNOpz!VV7ZTR#zn*sr3fgz0it$nxC6KCxr3VZ@_B(dn zr=GY92C7mqrT!}V;WFm*uT<4GBqx1hw_H}nG$$w6)nGb`Y3T!TjRu#DoN`u?MAi-0 z+CAW+3cg1Pm~@i|M=raeBZ)EzUTdj0K762wc3Vn0I&Tg7ysS4>F05WGrSdKaFF9Cy z&+{}Pwt3HMj!5&qY?EcO);w|_pC2P$gyd!RL?L+u4XAE(=g8hS#GaHuB@3Q7*Ol%@ zmu(%Q*-G{@NDvHKk26Lu0ADfxKb)!t;?WBsZA6D^ zS6pnR>=N4S8J|v@umAJo$l+4>TU2w6caz5ldFh1({;XH}3{d4gx@W41j#R0Pl#A`0 ze_915>Y~p&T%U4lpFrGUK6Wgr6B$3Y+BnYD5$v7tiPef!{WTEcNi4(>@LlYrEA>an z6JIST=)C~hW5Hl3$4TsqD5NtmM)cfO@Z`J1$$^nfNr&sr^vi?`L6Uz(>a}mBR5N*n zfm#MYJNa>6rSBt(J={uP;EHY6sU)P(b~e^S8O2B|KZVRdQC2U{jgt0khgZbK!*FeG zCbd6?+9c2HIr!{*q7OVX{Uh~%)yA*~9fkOR=RB_xjCOPQ9eo*ahwn!ff6QZn^I~gq z!Xqi%kCe3AH`anQ-09C5?)?4p_urF9mw5#k#F~?`zguE+13zX4*uOln$5u*_;u_X5*-P?L&A*7io1^x^*X%Nk{ttAUc7JkL$6S|{n$Xq zg`NB=!1Jt@=<$0tMW}vMY6#h)U5v#}te;nOwOjOyre}9~w=_)R>I+Ea2{Poqs2E}L z{}Grw2m6@s6-KPzt2fkphrNXps$4O+kCr9bNL-)Snxc{8-zw^5f&YO2>9zwSw>TvYmm9 zFZ7;H47lgiUH?}f{dJpQlK*#S<61LhfA8@*vf%o08~DMLx?`_>*p|JOQ74&?3b8|*@Iv!YPm^;w&GB61~AE><$w2sWMDA; z`LaCsoh)z#I?c5CL3Zn03HOZdg~F=^FL*cVDiN`*BAHQOb>5X7GR8fE1TV(i13>!L}r z*u-#+v`BxL2JL`Yypht@Rgk5E+F|Zlm*7&Pm-b9&gZN9bPpv;0$Rm2ZSjkYx7g;2| z+(;VI@H7#&bQ~d-()W7xeLSx7=zRiuuk{WU@#TjPJ?L)~;*_OLdz}e{`JOb@rU|P& zb$|GreA1>hyAtBZfc#hryi*ySO2Vd(PQyCD)GLKM6E!rcueh^#=kuLdc(rr`v^8n{ z#TP0`(%9A0BKhJC=`R$jx5iHrzqu@ZEcf?Pjr%>lBF&SzLZbKxGj$K@#X$fA@H$hDiHi9LJVL) zjvbY{g`&fzIh&c8rZXDLqNcd>O=t1LokTzRAvje(az>7N z(|$p&*U4~ICaEm;KoOE!N2lx%DY=K`F6U+8O)EEosXI2PV$8PO8raoo^VlOSDzK&e z@ei$)6W4j!MPNug`NL!bmr|Io&u-|yAZ4Z6V|!CZV$#-~2NfSJ7tRN}hQucRFgJ@# zGw1*$C;vDB?%ZLZ1V|+EX?~WX=DU|FD zc&1Kk$9a}JU&q46do-Y@pF2Xa%VEPyo#?U7n=WJE5U|p#te=55nt)1u$Rs0FkWO)u zAafas*PN*dT|n|M?qUX5Dw2Xml?16tro=7$o&`uKsb|JArW{#zLChs z@wiiW)du4dau<^X^%*ougOZrA_#;8GE;d@2?UoZ|lwY4XTH&#b5XstXIA4ezWV(xU zb1N)m`X5r0g_L`XKPq*GSb4ae?rv1>K3jmQrWPXw>{Z$ccn5?Q7Pe=?Q#eqrM>8=Y zdlq!jluvoeWw64}SupU2vA)W((LKw{V{Ol#@m$_}kI|3AN{5A|Jr!?r`^c=>mcd&^ zu}-lS#gtBrG&3s6W-W{UTQs^)i{?ia7^!gZy)NKP+fdPbGAO^xzg>_nsTRLJXNjJE zE?K|yUGnsdiTI`NWBsXk zEZ#DPCAK6qn8WMKSlD^@ZZs(d&2J+s_+*_wIL!#)YKxd-;!WK2n`b3MjsNfGT#iMXLMHpbWhl7`tEWBMvr{BtRy>pbDW`~`|!b|Fo zG9nt;FIE^?V~qNA7*l-dVnj-hm1&PRDuE4tXRY#Wh)7At*d}2UM+7O_lWDUR{bpo* z9h=)Q6!-*P>|%ap=CYrr9}YowG(sUuJZ70kZdkTh$uUFi&%{8?i0gUaF|KVCHPyFZ zH3kns70V8!o^S%=)4e>`WX%CX%$XtH)Q@_#;2O1km_vw9%G0>mgv>$Sgiyzpanslt znYxigw}fBBeWImyh%#h~nasm@H7gOvfp19-n{&RyX&;~de)zMiRhN+U{_mN{)C(%p zA3S6{AH(`+^16cdcgvt0Ks2(>EHG5pG>T%-EFG)g zh~08qVZFN0(F%N~8DFl^5Hk=r@-U9pQBb%6%=d(3DwkCuM|xfSI#j&nzsYA-=Lzgz z3gD!t6Au3oyLO(oo?dMCegL|IN;Zkf>Pw)!TMDH2z1rtw&N6zl?saU>b#NRxP@xj# z?rib1Z|C1+n>{scr3mQucZ94(j7P=zow;BE&uIj+2S&d+Fa~$}_&!$4qQ${=l3qR2 z)cbQk;1v#IBxs%E$c&=!Lnxk7N_S5KKK zm`Nz7LQgfq3dXhYh6SVP3(1~Sh`F2Vh!4nqoyM}+O7@wZ>Y*E?WJNjVBd<&92!8Y> zH`XgOk>|SvZ^Eny7rV@hks@gcS`sOf_q(5TvV?N6(FN#0o<$*&?{d4qMZbjO75T8; zu0N}n+=&f+h(2g1720zxl*fgeoTBNHFJ?Cuno9Hh#pD$i$#EIC?f2 zeA%_QPS;<4kl0|&h3^TVWEFkX{3nPRPjyYDXZ<%SW$Q~WZSvD?$r3d|>I1si2?jd@ zX4GdG+Lzb@B02E0DDGb`KJ_pf2YsdY3{z985QvJy$yV;1IGdWaH z{0<{ac>?-9#?e~^j;Lfs;pmAV^x<2!#2W?`3*UbqWc1Wg9;B;!3sV-4QIE?M)i!5y zuX^<}6N==iqfWfkN2tSBP`{bIBZZ;S5E{zlcw$(*aH->GIddoT7Zh_3wsm1mopJ6;2HM-F7DelYwcgOLV9nl`~o%1mUzD5V94m(umlu{JoemXtCQ zI&o3St3qy+T05(sE-1^1DZ}49F7Ec={`|U(8A2)!;ohM3&xVArzIOQpabotW-}5SG z_FlV^-qwuQ=*CtGejo?uY5d3|pYruirR8CLS9>)|D@g0;*seo|IWm>*$6|?ylX(^{ z>g~vQ9+LTaGBg6YjnrA!bGUoUnNXpOJi_#}7B}^!^h67+GlHx<&!G_nIPy6ZdvtGq zxyJh}6L@0aboIC&Lha>fY`V zI0PiThR~8)JA2hGXdL-Qz}nFyG$??KHa86(#U<%Q*DK7j_JV5~#Z5;pHq-s5w~@tR zgpFr}*&%|*0nS3l0fv62cbH>6*r(YDe4$I zbl=(9jP!xb2J?smsSsVI^l%rOJ)FbOR)DS%hWag*P9TiB+13jQ027PD4C`b*L;5^J zgVjxmDhH}b(WFW-Ez+ax=vB=mjN+YbNPfqWvdGo41U`>~_cIkfmRdRqJR~9gUKz*9s)r)Yz7#j>=~h|I4RbsoW(H5Y1Bfw&+Ka#?0bHA_w%qEK7X>wVCM@q z+4qBPkV;n`81 z0eP=87tt`rP0c3jtIhm(TgFXWvt>4d;BlUxV7g=L&1XQlFrY-)=67wfzSy8vBZ(|H zyx8xE?EO=J&2;?2^oQxNAd#{U_pCY$3Whld(&dm*L8+|m?Z4e0iOkk+gOF`OV+*jN z%N66P3&!aQ>Q=OUEJE{zp)SIU=h^C`ofVaP(zDJqPO=75|Ctw`T5B-#W{umxDDBN( z+Vos|z)IW~2v*ff_TFXomNPb@0;Up0x{@ppH z5^$+aE|#od<#hm5#|4VKHP{rFT2O5*UY5eZAof2X$TdhM1lq5~hSy(c26BjXhH7PT zi0+u7_)s1jrn`%a3=>OKiCE*Z2N!>#J5*4!0p}71)S!kocHZ)QFSaO zAJ~byJRRbhP{OQC?p}|m*a@^E&)1MIgq!9`MuKil-ImAXF9HUNBE5vPcuN%@pj>M) z_P6FW-lAmmM6Pd+1caVOZ+X`VS(GE=8+u(_!KeI*j$0m1M4WPt&W_uL3F;@B9$4Sc zo093pG8hHuMTuMS590M1c^+1l91AX@5vGzg_FO)kg%B=R47Vuph-Vu|Xg|pnWGQ*1 zUGnO21Uoac5L<8<;NowK6|84?i}ao%L(ojU9E_(0r-F1a`m*_^r)&XY4^+FQl_lX+DdZ(HrQM zfc>V~HA~oYNBZep7aMr!Oec&_u~aR<|fkL>95OFX7b^aZ)sE==_Qb3*?08=`M!qT(rF5l67QO!Rrr*oY-J2i|Sg~o3iI_{O08vApe-DY~aptJAgnl;j* za&p&C^Pg0du}b42av2C0<}srhvp7OVa@Pk+}v^L@`2`2K-^-L-ce z@r@zqKyu)!MN66ThdFgJH)O6N>52M@35$v}`-%D%^e&}JfbDEQJ;0+4BLB>y6ms%q z@40g{t-62#9?kvM)X_T=D=J7+ra2ni9N)))4JdSjh`zOIMD(l?mrT2?Ls+<1#AS5X&)h@XwA~o3GM6T7uN_V63xxnf|@1&WhvuC?9gZ29hlY3 zhjxIEuUsI4Q`A!jgLr-icYh%wVwzrNI`J}O3AHa?wmwA^qgm+i%dwP~vF1bh65&W> z*mUE04CZbT<|k0(5%t&WW@X?T)MQV|7N+|cqn#9Q12Zw7p8h$yN>=NkOkweHb^$p>zFXbpfF3R(i6E(fS;k01m zy70<#;hXOlj=(QAj~7aw%&$*>`4(ab@1Akrc&w}Gxi*tkJae3GW%75y&_^K}z1r4Z~ALpW1wLbd4~w9Lg4oY#?Fk^5F)_TqXj z{8XxEk2+kGeXkUYN+(wwTqNn!v4yU4(y!YxtrxPbuR<49Dc6TeZHcdJ-RzMSzkbI? zQZ?j5$Qv?Xd%rJCMArVHziC2pAjWRV*;X!t0}`2snKWgpw3x?e0_ZHmCqyD6jn^J| zn(s*7SxTbls2d|4K`Z(w(hYDs`LgM3$|_?R#saW4=@OuX$SVFCETP-h&r z4T?o3=XUqciyoYRx4YnSy5J!Y-t%YcT^E{GNZxI4*HEJ@U8>^c_iwddJMr30QdYXw z`e4OkYul@&vN!0zK7Ho|+kfJf9~kaq@TNxF)S| z+U+b~O{7MrV&3CibNAw-U74KREwr!Bdt)JN$PxbpEBQ#+zwzJ9(u;HG9lzquqL!DQG;G>+O1F|We1~7XJY|}`9 zPEFXvI;z#xO9@&szSb#883*r_qT*xjK_mg?CkV~$hAZ+Ah%Qcny3ArxE~(7e>Zej! z{h_E(a@$c!@8%rmajLTd`x&jTrLYbizY$C=jYNUsBeWby_5+$qyr7!mw0KjQlH7Bo zj4Jy&bWbAHneeSs+d+SyQ*EpQRZjsNMZH8*GdiVA2o4wL8Uy#LEds}1+DB5vWg-PgInEUmu z@k0RJciQm6GuhM_CxTd_KX;e6(kWy`4#MZQB9qi#yr~NL5=^5s0W3Zs0FNUF%Hsnp z6t!vmVq=Ug#feW;Af|L#pR&2biOVBUy; zsWQWOo0xl>gj^8kQmMx2E}yjL(w}4?jZ=QK3r;|PQk!}WjMECvW&fRpYc+{)!ew2( ziJA)86i(q&2Z`5KFA#gljT1|9Hj*odO#(w(UPE1tkbg7sMIf0eNVHV5EL*+Qy8l6@ z!Z-KIT`WAF>aQvUKk$u6e~S4ZMwDNR>fLzY;6Yz?yuKFJ_b$z{yr75hk7EbEwSONC z4Dl5G>t$7lZ7PPRYfal~X%`_(JHM=__J-7hYxZv!o{vlCKYugv=O9Gj}3O`!|N zmuHpIHtz~%T9#*c>JZz1e}ojOWcPU`^j!|XDN7H~h&H@hgZD^XE1O#K{eZ0KWT!Be zw05nK{b#7nwco1R@ltEH+l-wtxW#fE?r^E~BW2<6BVADGccGF2d2;TJw*IGIA*eR_ zYQH0U`vahpCbC}&5v|kj7XTp&(}*P=<5Gvq2LE~GT9$71nD{Z-a{mP(cKhlv z@3&HA_2=^r$HmdV0Shfn%IB-2U%hyen#f2VrLbwb3K3PyWt!GMrpq^l3dkst$C8bF zcb7GylKpqb4Yq1u${5H$vP&*q7v4X;i8MGWWZ$smxDWTG-j|VY9cfNoYx9NBXqLQF zr{fx$U)*0-4nTFhjGd^%|HqU7?--ROz`H2Js-?Ye42R?dXS4##vo!z((-bRFH*G^ zvV`)A7qK#avRVfgE^fCxY8ZQasQ)%LEsmP9*GnRurdQhK$!w83E${n`w@UO)H#$TE zeKEO1{rUm1P)UkkF>`+a_gTiY9O@{^Wq%c!O6dBE1<7^?Jb>kJdue(4Alsu_RM!du zYam3=VuD1YKtEB`z0pyyW`I<6_!XxUz=tLejjC>^s6QJTv}k0~9ex#2?<_AKmD-#H zqHz>(y9(>W*>P#r(jpRDOH&U~rM z8?^#jX9?W}$np0DxOif>i@bNrnVq1l=0E@9sM1HC05+uD>rb&TBW=&5NdpkDV|L09lXfn?N!^#$98>A!|gE?J3xf-`tdViI^x zl!vN6HslVoI3buNhTiUS=62DM`nBlC0i2r1nWev8HM8Go*YI%-e#Qf?E?l7tkl-a3 zVM0tQiN>i|2k`GKNGG#GT-0qM#&%GaMBahoJAGUAG82KNDMuxFRHJS?3>vEg_|D}7 zcac`I)OOo%WTIpt^&uPUFG_;sVy0Pz)ZDrV1?P`aW>|&TQaq=VgJK_0mOLMopmZ&a z3;ZMKJf)ODC<{*YyteHFpkvW1)^l+IG*luOa*CV(>gC9Vn5ecj3-}`X^Yy$VS_6NG zFR%jPE*jOBn=U=myli-!?PWZ&PHln}w@AlcGmE68-BBiwlI6UP@%K^r)c#m*_ZwSP zuus=gyT)7DRp96&()#AhWPlSD&r4Z}moLcT3gU!n40{!JvA8v4l!QQnS&^r?i4)Ja z2+uLa5w>VH{iKIlp_bn4xdO@?6W#)`mk2MM@v?6`QZq(mJQJoKrSG9jopczwqS^a-)O`2-b1SU zz0KW$8N9mMF%OQkxL0JtiZmpsqk2Z1D0^MRNbl#Ia=MN``KYiP`lslOGiLhfJ#~$s z34&}piZi`_#=i;mN%-9r(Z^9;PR!*~nhHZTiV{L~8_J1>jHZ|am)Mcx9<_a>R-oASmP6s?+Z2j#N5>0Bp13csSchQ9*d3G`z!A@rEj2{Z%~Uk} z_r<;a+ZXTu{KvI>`{Lu@|6c5+#qoIX7Q^EnbT{se!=Hk3tMi$Pi}53>(6-vH&BjQC zZe2}m_EmVX6$7voMHfhoI6%T1H|d^*$-!ln7B@kL(m=knR;7ocp9Jf#q#;j)czdLY zt0`JX^U2^W|3euXI!9x9`uKVKWcd29{C%bZea?b?K|*~Y8C~*Hg3o&K6q}+z+u~{7 zS4#b`OC|bxBnbcGC1*ML%ppJNclh*Hd1*HLgXFJAct6=*?J?9yAU0l)C{>;OCSX`5 za2OjjY#Kc5{Af7n@o;3waAv?DUw7PSTH29RtHoyaGW~~+2Q;2!bc$J#|f|vrOV0#6KjkS;51&!-okX)IL!-scg58uT~ql?$OM`VlqpTx6(;o)+$ z*N3={(}eIQGG+hag8Wa-FFy?w4EsrQ!8h?*t-uHSRnqdwnnf6*XAG92z<4SA)V)X= zbk22SzhP4(ZDfi4#}N~6NvETD5&kBNO)>EzA$S4a%VT&-3L^GVPU+8M$-21IY= zmm7nko03XkHpgdGTCvb+jN)`0*aJoa8X~b* zOQ7ibaM{4)fXsM8R0bl;&5X@-q-yeX`b=foi!B1_d~B!5qMhYdPenlZjgz_eaud542j+PvcM^9&r7SY`UKmm4eb`%^PI7vsXWDMH)JGVef;Z4?Ld4#ElHL0 zq+o+cc|mxxiG$DzL&u6st4R-U=X-QDVmxHM726C{zU8kOZ|Zk2GG)IfKb)ZHtj|a? zBfvYHDu<8~Ob!6kiF6Ht&I?!o3@iZpy;c(LdJ^TIkw`S~+H7LrXR1zgu2Gz_W?lp9 z7d);Z{fSUJ^G3%li!z1ObhT9W8zh(L~EmzODDF^QCGWX{$*8ctw#CQ9s{ z;RcvKR42XV(}(K=0QwqM5~;OF(+^;Nj1}lvEAwKz0SS2u^Kgp=hQ#Paq=aOofZ3e1 zMXp7^;0zLu)~?5R^eFqNKa^`E;uyu=sL3Nh@Qm>+MFqCdF883g#WL}AzqpZX;vR~` zV6#YO=Q%yz=t}_EO#n_!V=i)iE|=f5JXlCa8E9W7{!=j1QY2A^Jk_n6G6Ik)j{;wt zr4%<%wslZSVKn3Eh1LaxWE9z)A8L7s!^U8^n;Qr_F>eif^PH$Mm8f23s05)pF`uqD zOQ!!)WFZ`5_Rz!BjD++OpdstMFz-XM#;+maITsW#=bc8ZmSsMeIp>{WS`e^Ap{OCD zb)Wj>QdZWmo}Y##_;o2Zu9mJ*^RU)Iahl?z?xskBUjqpWZ#>!*DQgHOo@21Y6la`B z$8M%uAYNnZF+WzduYc<0kD0C9n4ROtQ!~;=vXlLX|dG}MYU3`-593G^y$ zdTw7EAJO1q2ehp@s24YzFdUmm-Ij!fn>#mRd-Z^X(Lo4_20-dWZ zhpXc$Qz|Fl&C=uHb}O>k-#LD*k87Fwu#ynMS$f|1O0K1_H1dC(rq03ETS4(EQy6Vq2P04GIm1Pav5K&?+&ObY3Yw^dIV$`K?)`hUlo7z;XusQmUS*JURVMg6@*-i7b zBWqmjB9oE#s^mA*J(I+|d~Eha0O5i0HA7@JKMmD9zpJvW-ex+~zgVKqa~S_^C#Ml} zd$usd2CUHd9^$(-r02ZDXO|hcVI9QWAex&uo$(qc8%N9mxPJ9;Uh(Ljy`(sm$ou-U zEKvB~00T-+oC&YhjMq~zCo%m5Jk)y-3RJOa1Y`&X!DiFAu=d&A1z+#qpm52^iFxrY zNoIYCUk+3JmdWZ{#fpxy14|r3&Mtheg4(;10nz_-Tp#&w$o?I+xt6DEr-}N*9QsdmCql>AzW4k-Ye5` zrkgChi!BfnbF%sC1yuEnQU0mF;60_6y&qLzy`vuUFTk`g;JZNThTiA7heP|7zUHe% zOG7OCEknbqxpw7&e8q=Q;QB_^V@jE-gsI_Foi(OSvy5qC(B+{GAlC+z)+DA<$HDla zl5%7*OLM(BnO#)r;$dGgTrVp|83O49hHgGe)4nNcS7tCsbaN&n*iCZ`)pCcCb_eV) z*RyR*?w%Drzt5xuSZ_C`<`j){$=}RASrP~t@yQevu z@J@T#uBu(J3xM@io0z-(RlVN!7KusSbEZF69!^n(5d*^hn@&jDLHRCGZZPw_PR3dO|;O?%a3Q>?e*;bis|_sDhdIM z5?^Ng&V>`(lb?uvi?nbdiU9`P$Ba=F(L7NaahOga-T@m|)HC;C(Ng$Not3lw+_luG z`T|&AL$X*`a)Gibh0I9L%jr9_Eo3WA*>lXnz1J9B|~7Co@Tbj zoJT7%8!PxXPUC^exIOJc+lSD!j$fDJLmw)=U_gpgHcse{y;R_35Q)3YBPL9cM#QJF zO3KSyO^2JZ6Ra8`oN)Ew*UxJXl+Vyt`}>!&dYP(v#*Ks6E0fI2WWG>?g7+q$PL9)E zi%7Q*E!~WQV-{U4lL4zA-0pzxJdcm9j&@_x;0}DUTln`+(G_{|6;sKTQ0dj(vMY`9 z7-@m;$B~Jg_!87uBf^_Koq&>Q1XYnN+=I%%8TM>4Zj zr%S9aMLc9C^C>RFnREq-?Nw${Bl%hS=9~Yo*cUqT|HZ!U-W;hK(5f@g<;64ALVZ{1 zlBo@UdA9MPS)(^g(sFEiE=_UGtKM>B{l z)_1)Q)T3JTyK69ha;nEX<0_p`buMX{Iq>k!tXEdQNMgT7y|vijHR$Pt{SmWL&ZyeS z^*Uh&{BShy*_UUMYdZgmT)5v@ihoadUW#SmA7)v1@Csl~6{iOF(rCqw714NckoVCf z3V`}j-v~ZHPmPJH_Q%05Ra!O|k8&WODMBV&+i)QdBJm+yHfh=_w3Iqca|$6Uno+z* z<>B>=v%U87oRnDIWlw~7Lg~&)!t1_0c%7H%)gMY+Ppd>iY5$z$Xd<%nvO7ih%|L>Q za5SDSP)i8V<7fJfR9dKcTVW#O%}=FC`mu9m*zC%!3KV~IrP89MWUB)C1(>Ty#2de6 zsGNJ?%bFw-yRNAKL}$Mi!((!#hQW@N2XFcji&CAx8HyznA@u|O%Ep<+A9bmeW+W02 zujzVJe!pD!pEQ44_ZV(=QIewAe@;6++r5McnGse&+$2=-*7GZDyv6%#_RlUK*uw3g zFLd*m1Zjv_J5x=;S0BhziyDqq4IFDOZc}Yaz$&VxWZ7RUma!$*)@;HDY9%NckRdB@(_Qu0>66H6fO-#E9}Sn1}o#I`!?u*yYM zk+Q+15l?pWeuWk7u|lFs_VQ`HOZQoM04N$P2ym~0Z}C!@`cIUMOy&FAf19h4I_a;H zo}Me$h^7rZ-IWmS`>?lO#@s12Z&60o&5b@!>~*H=3YVZH-cfV1fZCpkHxT!{b8-&o zeCGtmt;IZ~yNQ!@cUkI$cyU=ydxiWzv9COaLf}8O*>m>acjwLvE459ff90RcSnc!U#yZ9R5_ccSVU_O~$03N7L3jct?a076g=158)};Eei^_ zdMRQX6%o6iwOMD!SaRq~J}4PgU(YnTY!SNdZXMMU3F~VTxknWw)@WbHn4?#fKlH!YA%qv|DLY_Z*XM_GD8@ z#bgQ%^ox^pUZ<{(%f-zmLgfGzc1(ea^j;y_HDqpoF= z)DHF&ha-(aa{VW17t`r{%$o;#3U3jDp#wBz^+=7W6E94fjEJ7YYG-99^EB$SCv|XW zbX7>VzO$reRCq)*dcYb;;Sxgz5@yZ{cuPEE7$0Hrhp8PSPB&-rP=`dc(dmfM&LotQ z$KlQ!3mgnhc}m~xrJsZ}|7V^%%aNI!)?PBN^}oW=x@>B0oJ@>iAyrUgzKNBoL`{oA zWkk{<3B3hZ|6d_U#E1epe2sPPL<)O&tYI3(-fL^4DJH~dKxQ~)ROt9uVmr1Y+mUP_ zUBOu=!mCTQ^)90TZKyM?o>-KN0WGfmvedy^R36!3ZO||2JEwORl^O|*u`i_G2sJP| zK)xJ`-ET0L7>6WqIQ@u9Yc$u-vsf>rQ4h;#GWQvw^i**DG37+Rpy=JacERDn(?k8% zK0g}wSV241&C{1fGoyHxJb&XfeOqsD{`7+-=bn>JCHJYgG~GAKymK8g9yoLSP9D0) zR0ZYo{_ZUC^O?8waY-i@Uyc`r#hHs(o1fniTrXDeRoiE;a|^Wn`t8~8sN-(alfp<^ zrODcsisC|(e;NLrJ)mSB^(;Qa(}@CMUQX>*+i7Ezy`=#CaE*JO?5I?}snRmGgoamKk5Ufxx(u{YKl zS3RP7+}k5h&im9G6Cf-+D6IFw>0+%!8XB?T^>YP=IQTv;unsfDPc z{%YxIW6E6fZzaPz*{C?;1JL8}~rN(zwan^6v)^cex#%*FcY0JWc%%uz%s}sTX zT)8%KqBVUtzav}f-b)S8y7irCzg3t-+hf}GT8M8<_!c{8A4y$zTR$N}W;{XL3Q=gw zHr31Z|1#>P*%8}D7I)lgV7XpeHJF1{c1@_ziv8dsknwqZQv7a#+6+qDB1+eZzOOEu z5_SI>*hp)3sQdPXR?h?Ke{binhAj_meCvW&yS^yCv-@Ealo1n__Y&`oZB--EBwL#E z?l(e>x4=qcY_k1qbtdjay=o)f|7DS|?lfsVejfD}7|ct1oXr!QqP0np{qlBtpRuES zYVl<`!RrbxG0-9%-?<9PfOC`fUpvatkuD;tG-o`Xs*iJ4#vvZN?df$Fg zUa-t&EA#6sXb^kb-&X4Kdg=6$&v^DSvuJ$hYfAMej=Q}M(WHL%8~oS~<9gBkr<>5~ zd<(xnX5CJSfzz-3%)w6|oJYYc8PPepaqqDr|IwraV;+|iYyoqW4u$_65dq+&06ze% z_dVcNktj{Wu7}Cib;0 zHQCA$@vr5mXi2A$uh@FC-Q~CA3w7Le|7ux>?|k?msC`CReUh>|<1Gkw%RjZR1|uuM zcVxhVy5OGHS(-;6=n*52F(b;9O;nZFu${8Li}I+K3O-2XH^Qq%21Rbk^Lhh$T?Bqf zQX6X8mEk-}UHX#MA!uiH-WAE8jg*O(cZM6C9Cx($(Qx3=sc`;1koB#*@&X?EO}NKBPgQA{H;1WE(q^q2$_PTgnq6Cz83bL_*p{L+W_C75d< zKP%HVszfGd@@*B3#9pN^--=j+jRZh|a!M!yY_L&E&42ru6&zkd-yp(~hT-%V0dW`6 zeXI6VNNdPu^ZE=&e4o3W4k}AA ziMTB;22+-C4$m@hSA*{y3ilL%dWt~-crJf57!eO@OuP*g08ORt-Wcy47;Rj3g+pOFRYP*RVeLac;rSJo) zJ8w)ahQYekg>NU4=zPB^0m{MLO`Hbb=%z73w7)>%Il}4jp!8T!BMyv+{YR^K8~B~G zJ_i(Dey?N=W^x2Gc_2q`Cuib&@A!q>91&~~EI_)5Ra&z`y)-ss!73*@Q!kTJ(~?D z{%r|XFJWwHz~ey~2i%ks@sZ}{BHW0=u{!lWMI6VZ{ERVP-DFpoyAsS`rxIRHJbe- zIyej#{?U0OWGq#(azuv&<}Ly91N?&2Y4F?s z5XJ>VAP8X+$Fb5j@6U73%3JUG*2lXQQl^OitIyIuWkSfI!N^xi0deZ#FCS#Rw_<#+ zf-C@;j6TSsd}wZhXpE2w6cD2QDGVqD1ZP^+mrThaHf|oM}GGJ;k z4f^+prYTS`(52yzIwI~taUlqhWff$pPWWJc-#Y8H3bG2(w4`B}4KfY3;Ry_I2w;cB z@yI3dn5QwdW-;-+Fr)P)tay{+Ur@jS6d?|IuPfl4KRzR+3y~bh+3^bkOu=nB+o3)a zUMhO*ae*I7-bX0Y%Yy=!l$)eo=G;Ihcwr{;|3lQ9$3xY>@&9L;l`&?WhAczUM9WwzNz$%;NTMW4-P(sX?OJc`-}!vMzsKYE_xy3r znR%aiU+?RBy@qDsd7kPZmvTcsbu-0V_s}_7c?St$h^Xo`h0|ZX#Z5Y%`yqx!m zzSfz(WQT{Ip7-WEAJ!^W{N2_SDFIYbihI}_=nJ!5xFseh(EXJ~Y2O;lUT&_lTHRI`WM?6|hn&AMZr0ajJT*Y&`985~)7_7$ zUk`1HS-CK;f(#T803R4_F6rG|Gg)L5yUH$hjjrCkGS=U+f=znscV^t(7rk^bbGDMY zh)1Qq)1EG$a^lUP-$nd{u z)35XM^W{|Z-6G_r$4+Za$|R1P-7vlO+vS(NBTg zM&aIT)0^iwsxfvu=i0D8zVrT6l~ViP0_C=iQ7c`>H#C19+PmQ>yZ&Q!R9u{UZ)ZmwUUxfzM^&lxN zv2Uba^IGmAdGq0^&!v%S$1j_l%E~>xJ^sx1>PFbt&~elFIv3_mp6frAiU!h;1A)w| zfjaFZ1x8e=eAH2}f{T*};V@L)%aeI7pV@qk5dW_0$49&SU){f)x|h8$v9-9pZ@v4- z)B>n&PTz?KbJ5f}Mi1KS)DE?u3-?IAJva5=v*c63zOiR2H|&$^rpoVaS)>1Vjo#@^ zr}wpZfIGf+k`dM7$t0i&czFsQ3BoDo;eb$Bc>?mA)(2}8lf#6jEt@xqj<~&Wmj=1t z*lTgm+3I@seYnmx!-~RN(X{{z8L60dJfD10XJKP&;g`6|@wkS(+N!%tQngo*em>cB z&hPvYZ397IsSjodF7s}*5IA9*dhosM{y~Y|QoYyNeGVF8q5hj&DqQdIJ-dR<70Cd-_QBoqdJc zX=HR;n$Ceh*^L}z_sz5L&GR{AKt{r{==6)&il=)>ymEwF4V8Q?VG#vAGwQD^U|a7ML##r6{NZy9z|-$HXfEC zrDQLNv{6iu$Kd#ZIK=-Ey66#x;`k^<&NgY@@p!Vq7+7=djD{*3HJV#()zLX&X|-BC z=7#ow9eUlL665PQ{y5j*=TTiXC-jxGs%rAD^jXR~@n2!W?=+y29NkV zp1<objq#9yP<8$RL5=cr$gAYr z$HTs!6h*}?j6U96lzYMV;0v^lq}2YTHHIx3_d9nux63J`+X z$AS|H!iGh>$lll^6x;0~SGeUt`=i;~Ezg-dBQ1E=+7$~J8$BDtt%imIj^#SXhM3n4 ziI2rGr6Em>U<)COSrN#pCAB#R%oNWzRvUntdEJ4gn&g1Vj{u)zNt4)tPo;5hZ)Lc~ zI~;v_Y$)}3+&kUWnSspZtEddl9E6!D-jR47A?co*Et1P&wHCspz`F8`kZeoxjrKb815iM`g~w~4dJn0^ztFU_IVh3_VXwQX zqKN4bof6P9kPc6hLKtEJ@I`&ki_VtJ-Ga~8cqHfE^`Fjv$Ul3w8UsB~X<@i)-xgiJ zu2fWsf*yK0wxV~PM;w*cTqv!iUZ1TkGd***Ce<_SdN~ChHWj=Uvs)Fy4leun+n-!^ z`4A?vRwGNQ>)exgjZNevZj!uw&d(xql8`AjBL{yfFe8IANpzSmqfx{HraKj$^bFC$ zq0I;W`Pe6eWV0c=>uVQu^yqzD-M^(=oj>h0=SWuP8I4x{xSJE4 zHTdV!^=EHY$)>b{s}z^%Q})g|oDREV?aP_NV@Y+Mm1-Kuo^AYcUk7XQRH~P?TT;jx zp7p_Z5lcu1A3IgB&42=<(n+R|novH29>THE#R)cwX=eh6%6#5wV!iKIy?Alv!AhS) zto=yi8jCZz@hvK~<(#(XJ*N`93?BD}*{cJt^E>&sy;qo%2Ax$w1DEF`r%#fJeo2>| zZ@Q$9?%%4+aPePUK}PE)7Q}ANzb|=B;FwE37L-S=8G4wqw{)^S^&iol2_JfiGZJ|y z7Z`LWL5RemL-YH=qc;qRIifxGB~N_iuTCADyQbX0>mKK!v6<5S$f2J!*M~=BS2w)z z*Ldc1(_XALi1baI!}UI3ca^o)7aaC?of$k(a&n^Bgzdo%SsX$R?wU3`;H@m(6E)?U zT3O`gSz$?{a(wGViivsjrBqoAJ=c#kj|^hdY?4rM58qfN1Kby?0z#g4JFDT_--PEp z0q{r1b$g3<#{BFQEI9G~9B#q@=C7Q8BjeE#+BJQcqGA&jaq!*e_4;NL&}P1Pr?WxY z;FOM8N=dMdC~T4Trv^)VAIm0=l>WHan>0AQ+g2$KhYStYqp3FB~ft?L^Lh|>(P!;im8hb2PsH0fdL;fh;ncWz7CA$@+B(q^$XsEs>)9u zXTFsfZS6~K#K3*JgG`V63Aaq&$lR>ml=_#=mxeFS0v+`>upniEwEWjKAKEFMNzpZ4 z2XkzjSEP}KWukR3C-!!&uTH55Xepba4T0mN}@dGYX zhrSB+Ax@GINa^zoozQ`m`4o_5MZji_Af+pe@pXc*T`7<}Rvnns)E{`h)lhWNeUAsX zfuRuR=PSOVUr)PP-EprDw0E}Ncr{$}$LCdvC7|2Ro8cs8g8Cp^AkRR!eb;o%U(Xe? z*O~O)Fx1TIbPu6F0?bBIa#)B&;wDOIJ?G|!}0jy5z zo};gFdA&SVX_jd;j@Mdf1qmxHa(-Dqv^|&0Ts6_tKBVZ7)UD~G`IYm3nZim;vzKSJ zb?}SEmAZCI^u=3<^c^AS4 zwar(|$7c(yl ztlR$5N3l{(RjxddKWucx=+BfZwRlV(K)K%9NI<)FpnO%qj~cMh!T;8VK3xAQ%OUQ| zNTY9I?ta<9fx8Dk$F_g@w%1zTn|WKwSC31vW5@3i(fH93mAG35OO}Xd%B{0?_;+p4 zT?Zl}P9BcHJu$qEW%VJR_xKOBp_ycD#q|&H%TQ`o`(VwJ=prb_hzO{DJ0KQ$=s%HO zMa}UN(oVhH_21sLe*`!0UG<;dt=F1gTzji<>7rM=S%;V0c@mzt`9OH2n%w*Q-5FLv ztc#kO9wKBaBrRnddwrzh+e<8m<{ron?6=w`m1PNiQ#(t)>>cG7QF~{6iI(=d5b8q` zEX2mB0qUUS)X%td2B=Inz-A2az^LWb%iTQkM<45fuIWdXJJ!9weEVFZ@qF?6#+LD* z#l?jhSv)wTfyY zZ=^>UnDG$u&ooeGGA~`n2cTm2EbTg815-|FITY*_{{*5XP&*5JssRSMz+fIc=p$12 zl$u?=Bt1F5<@^50M=bpUThbmvJ2hbI{;Tr1Ixz-b2af$C8=4 zs@&4@itwtTaM{F@@)-*|yHtVF5X20HBtw0Y+V(RmDpY^j82J*ktZS$iDfinxWYgT`s{Mnq ztD9ofO&*A)V%=6%WC{tC9;YqRYQ^Fp%}x@TlYDi5=aaMa(Z>< z8-^!+Acx|hP{*WrtkD7MCI_;K*j7CO%|O6kF!10%c+@u_C1*A%;)g^l$Cv8wPdb$!aoex~{nga*oV1+fbQAAB2_P7<>0?CWNO zrKg14Or+7f^VSG*aGvnh6R8s(8p6$y3`zOJ9x-sJBaL zc_NLOIDM|b!W~lXCBN6nxFn>pyeF7o4pZRQZ^b@f#U^74O#z#H8c+vDH2^8us9h5q zrG=ro0*)3=e13kq@1luMtr*w7)jYV)OFg%3tGH3if5JKrHZkn-nmTZHvZ!(hPg=d{ z^e>yMy~G2p@l4W9X}fJXy@$L+y{B9(6P?~(V9^r0)4Tbj;jF0{+X9?rf+; zuMIChikb)xlg(a#aw>ELdM$S4XjtJ+0x79=s9KjygFZ^Z>g&g}8zNYHAT?ar`P^Z; z^Zr|eCH;M2uN))E^SkHbq!st}a7tw)Nw-M2@Osz6;UbC4{m|($sdDQ%r{Jm}OYLJ} z^{>O5CO@NtkD3O}z*%`$gut=p^e$F66;6?0S3_j0;F#T zCMdUyvU{J;RSy{)Iq4k=`5;xk0PxSS7hdmtn6P#;X|o}k5fsz*Q}44dblNs5^Pq-Z zJapDT#u7ntt8=zt*4HM@=sG%ax`*c4n;JZ4yU?$^r3=oz)6YPF2d@VBYFI4E)l&ng zu)T4v7i4RnATbVgQv@hooMIdh)!OBMpbdLUgUkm!QlfxV+XaE~|KojB3+apy;QM1VrQaP|Ic zUUvm|C9%Vy>BAwO<)qygSSN^;v!$f1M->~@Y1cYK((5?gcTP?>XbkSGtvw%E8+B(+ zi`_c;9i}N5XL`n$ZzRz$-Te>HD+2+l*$fqs&_SgE$lnKI+K1Zdf_B3z$_0L--tgfE z%jT{eIa&E2MFF?m5H;^ZHm5DCy``PF2^tH~uoIdD{M0Teud;l3YtH$@3Y#EOt;XEN zRh~P_u_ldkr?!JSI!We2FVRtbd+>8=v{4s?>jHqy&dSIHBd?{1zlNVi?q z(Jn38B6*Wg6%a!k9Jk#@e(>z4_PLYg#!V;Rj>|Ii9B8{VW*(qF&p|YkI)!OhfobB? z3xXL#K^7huqzoDPVoC~QZv7>e`4pd_dUlX)sPb=vhz_+!50n~Ro7H)8ZdglJH{5D8Y`UZiLfP`gewj`2_kJPxA9lVZDey_tr(&`Zg27~r=5Hr+9Ta*sCZJL z|FOm95<8h*G3N{T{0raH1bksh+6il)de80AFwUEEKBg(}aPxOzVtHvuqp8r=RQo%_ za54tsSVCq(h+L)d`m{R-p(3V&X=8B0ShZUzIR=6XJ|^iSQ!aP(7 z(CMpp43$c@j+EELVi;yZJ>b%&{f_8uOkK!K?0K9sw?7Oe{r~E+^}hcX8$Z{gVX<{Z z$@9oFy!hpgDw&wp|Ha0u{I_9eo_)RhTFy(SHd^Y8d9_7mM4e4_x7`(HbvwAeFVS)7 zBFo6~fVyC_+930>>DTKTZmc{Jw{4y6?l^~r&V7*?Uaz@*HG!>J9{R;oU!MK^|1hZut`A3#_77S-ERH@5CXEL@5V@}GBSgbBMpXBI&WMXx4 z^sY7(2Z1QfJp&yX`i`k#n@m zUwrXd;gxv)(Mu1*%_~~&?KbILl=pMGo@+kz->=1YpPcL%OOI3W}{9DsI_%Z;7ZT^1yIYKQBG2eUJW{} z)-}tpuloci{)$u^7gs;E({_Qh&VG$~zqB(NP=wX;V;chGCqkuSeZ0jY&0+gx{`7>+ z)?OtA11irg8MeQnX|%&ClzJv9h|-?{&A;JtXt(k8k!|~5Z-3vrBC_I{u+YCS-w!GBxjtf`ShLRl4Be&b+K_*Yx~== zD_LB3n)%H4sHN(^E`^1s_Id5&iUp@r$8}X)b*0n(Z-QAW9Fgf_(V0ij}eVPLD0!th0djXJH*Y__1axPHoZF<^N_xuiuUv zd>^un`E8!}v$zWGlKSWFSxxm<9P;ODF3@+|LH$8ZZEkHnOK+`iZGZ1qZz<51zc$b< zKiEn*rNYJ&K6a%s3su$!MnC=ku<=csvM--qW4Qla#~SbV zlNVlZ`u1CqzDxIKUwV=I=l-;Wn2!T#KI^{@rua0xyq0%PCOWqL*L)|*dm*_ZOV*<4 zdsDetGcc*GPrF(d_91 zHMhRwE|oprc-kYAwK46{QCPpb(#N#KeoB|KxF_~z_VYEMmxC5#i|2dn3@LLXkS^qzKEAi z^&5MRALmSqc`BYtY-q$JwBBf@OP4#bT>Yw#P1xne|A(_yyeJJG&$~SFKe&XSQTIF7 zes&eD#Vp;Z*1;-ZVz<^+i{M4()wT;%fqYYnrxn5c+yxUC^q%4pjUuuv)O%FwvVe># z?t5p80-~YPC@b(|pV$1^XH~78>#C<4eXa(5D^Gr#Q!`zM4tytwE$nlp(_R4z8$EN2 z)j;jb7ePZdR-2!7uCIGp7kcTHhqcAqy*_#Cp%C+C8%x&%_0DZCL&{@wQuB{^d>V)| z)X$i+xMsOA8#g}9RarXbGE;HOl`FHr>Zs+|e{X0L0CEd{SbF*r@>+(4% z<3_7b%Sznjt|bM7S7aUT#Hbe)+oXdYV{LPdecn3W4$Y{JJLj`?_R-!Y?~673Zp>!` zkM`n!t>MLM_zkqbkbkjX!*l*+ES5jkGsDGeT+`sDr{WD;BFpqf-@7i5VY>AWl@Yb) z9oesnsN82h74*ZX^;d9j;{Ey^-JeYRv6}|<@Apu~E`{3yzSbvhp1fke=E1V8tbz8Ir@p;i z^T4^@GaKLAtnF-X@?gHV+xjg0{ot z+;jg`TdiQ^ZgjMKVfE4EoBx~f#YeK$5*w4uE(u$&@Ad)aCIbcIIhMyE#mWz!S0S5aYx+K9zL`^?x&--^QPCz zgm=4N1?B><`Mi}6fA9SQ4BkY6$LY&8n!os+A5H!nnEuGP^$YfQtZ-pShKBXN{DHcg z@hd}LZJyhf|84KskFtpLN5Kd4@8;eySho1}1>=KX9lFQkuZO=;NghwUKYZuDOF~A~ zrhV)F)K7SceA9PVwX8Sk9PxON=D(bHe0{cP;%7K_+UfhrZv*!pEL&Zi?)3Hae}u`0 z%PKdgJAFL!U*M}p%Q}nFo!*`Muk_>NWy71&onBq|Z{YirWp4}9onBs=RjJDoC>y6a zLZ5>Fr!Gt9Tw|q-h_u1FSGg1X)(_WI=U$|^R_L*wC6xJX#e^<1M4Nk)xMlCu zKkO-K_tW3eGP6=HoMWyxx6*+6^z-A*c`kR(PcNrFe%X;a_NqZ7i5ZS^Luyc56lOs{$W^vKp{h0WpD z+G4#n?A7b~6%(T}-&*~c?>l|LM0DKb$lbyxOYi=+3jXr=^6el0EV=Ji({s1@P0)H2 z{MTn-=SK^@iD%1~-@oYK_h$KV{`X7XpK?E3{qN7e_cAYj_&U#hui@YMJ!Ol94APN; z&s&H`Hr-hB{p8JOcT5ibTl{3%yZL3)|310S-?F&m_bKbww@o*_*di$YRP*C+xW(TY zXhvfm+WcpxX8QDDeUOJ6Q%c{CY5_;){hG3W_kRETBj^9p4Bm!c1x60TH7+>nNnAK` z1A;JB_VHACz+R#?S}vXl_S~s%rB%V3Dhg-}wHzR~2_q=dMOJk|ZDzq1^}*(}V4ToK zTjFmHeii$gY7#|9C%$BR7*fPSI_bP`xH>En33{G|P&5dz-$&$p zLBJl`)u}Q5_zI4(21%w{An&0a1HtIIAH$KuevtPw48Koy-+%d(^eJ&O!BY7D8B4z_J>>#3T!Nkr}AT^K>?;#`*E5b6oZGr5+Z3ql)-BIu&pq z7^Da^rIT^HyZQNI?5t7tz|Y&qfBjX^D0o2k>aYK4_d|8?z0%dj1cR9(OCmDJtG6^a zTf{9TXL!mjCFSXL7NjX=b+yG5cNKl#P^X#wUwBU6Qpt>r?`28)}6eI{1rSw2xLNfJlAmn12SH+6@+v*n~P zwS3v>p+SLh*};jTy;n17dB)M;jVL1`t2>E_2d1saLZ!lsZX@vIG6w}Y0XorSS@9j> zb_2|eAYkVsL{@qTO*F~OF(^&UNi!@9U~}@Q$J3|y60O}=z_8=bZ>+t!G{C}|JbKyL z(slT0pe1Q)$%<0aR7gL|vxVV#_x$46Vua8v+Lk0aI9L*KxWGhr%2Uu^Y-}q~6ttEK zWI0UyB-=+_h<2N4;Chvr8aTi1B12+gd+c*-zrh@1k{xGbkpxuKu}RIbD3c&SqZn|W zr@Jm)J~ZfEeOdk@F~P&6ZGFP&n8V&T3(xD8^yeFSZ*mdlIWnxcId#v=Kz@uVsVAqj zd2XU7Pc;&ZaW%CL*VPNZ8Uhp;FPuCfG%lU&mvlt;rblXuGE#EB$kAjr%!B3mH3TDsn!4%L{Tk-^#+9I*ibrz1~C_k7P7ziyeg%M4!(}>Iyu>A zVxgl!hCJ%(9v`*~WDx|h@g@Xd!j&deC{~!pfctO1!uc^5JBfNF>rJf%vjw{kT!TbA zKf5KB8WMhE*#@P}yZ}x3^=OO+SYS^8#;uI_X==R{UL-}EmWa2S(mTpksjFK=XuzK( zP7ktgwjZ0Pf5w%PmTR?akd<;h=Mn8^)j?n$ zQK8fVF@!9ng>G2ZR0S(nGlX((Oz-IY3frorj=*1<;IU5j%-kOxFVAa$n2p_HKp$@L zqze_XB{$I=AH#|hX_0<_=rF~oGoD@Tomn2ILN!2we_8r6w_ zsc5>0*-SsE;)b&Iv>i%G78U^6$C!rZ15hqpKI8)seh^A|7brgcL3E*Ks3kBwD^PM^ zg;Z}75&!{w1c&Bm`{qq|3gkYdUJ?^;t!=amAH?%}u%*$G*Lo=@16Jm^5|F{Y@a6ts zZUIk?Wwb}!UEF$OW-$?wG0kR5gN48%690>?F(;mkO=uB%IYuy+r0$0~+wjC7CP&z) z@+B>agi63l`VQtfil8pkI@nz#L@)Vqe{H|!_s1IIs%>Axl;Tc)x){t4B4NK6V9q=e z(5?p~fy*$y8VtxaK>2D-0nZHY2mgkh01c=cQK*+JV#oKsBi zD{oV4j9S(`1)Nbrz4JKHMMpvke9BwM5fu`t=GZkc-D^1%EDigsKz3o3lkFS$|ItlTeY7hw6bk0#TCA`HafLr(2`bnB8(2HfJ|rs)fBMU zQ0GYlUXs|ao~6Is07v)#3r7nk_QLqQLxrVZ8o zA`2>nMTdvN29N?eIO=u(dOCNZ9p9*)E7j<2LX(4r?QikL8Re@PY3S@HVde<6i{rf& zdAkkAE24ev&HP8vrUA|aA>0ruiYp&CNkB4X<9&+XqE>A`mg z4hl%-9oRzjG%ML>Em`!-joND*o95qEKZ6YG zi;<>il`>B?5jX5bSKt--r0i?yxGvHa86h zfPhJfrS}W5gf+^reqi27x!EoGJOWxx7@^@6tLSnS(T+pVH2KN~aEf_9geP!_t!{^$SS$6W*8UTAh!_0y;(p94-T%c7#EGU7V98zK+IXBw%7BG#iQuZ@CU&U$ z*Z^~XWf}olVFUN6DO!j`d*U29{)M+161fg3wRo;1@ns}M;l5R)IMfy&B7-qo7-3%l z3`zV@g1lIcgb)zk4g`hxVgE9C*Ug6sND;ojRu4=xIr^3%Xx5^C#ebY#PXCqpx&RkC zPs#VhVZ3zA2cqzCvk<0flJkcwq#kn=et7PLI^Vhm28;5A_%R6JY?}pur!^R4C7~zylrIT{o7)b*>HZK?p z!SVgTYAP_b7ZAu<@3A;(%28zWm#lpW!gn`{nHA zE30v(^B@h|;G{iv2uj3Smdh&%$zqmDT{V(UYGJC$Qwa7oR%ps5#HzBTU`CMyqlO&7 z3Is?H#`BH*i}De85Wr>P{w3G#dtUq;NS_$Vye&xfsQ2^ujG^`)Jp)WVOU7}ZjA__% zdquDt>IomOgRgYrTc16!PYLe+;NA5a=D6ZI=fO2+@jNR68jA5kh%ZZS5~S-wGU;fT)hKYat|Of_!I4E1JVkv{0n)#22fI zf`4D{^HpZAM;Dt2?l9_oJ;wj?bnu?5%y50D@M+KRRGN30krzLxFgN`}wH6YgrV>+n zRo_Yl0=Fm=aMJ{KP&ZMr>jWZjMh2eA+tj$cDtR6et0yY6`DG3SIS&H3L~M^5zgtaS zWJ3}{hyjQ)AS9IFqJSuo1aws@kd8OMNmtn8D9JYbLXSE5#I_E+64g19$H@J#?9Rpc zU*QDnik46M$brjId2h&k4sRLB;ra7g7SZQTpT|-Cei^^Mp>7p z0*du`#0!c+!RYKKEWI**Utgf)J@>&eU5cnH%K3&t%=wUdnXRP16 zcD-nAo7URrBi)VzA8M{fAR+x|ls@0o((YurDi)9iQRs1tFND#%7%t9kB zOYp%Bgq05R@W?HM%sKLGI5QtoNxkyBRw8)>z7OP}JfifP%&P+x=8j#DZ>fY2D%OkDjcuR2C~rNDRd42$?)c(jP9l4zqL@HgczC9lY8UcZ|U#P`yA^NHST!T`-p z=L{aSCz`Iq6M_RxzbDkcS8U5o@p6V>1_RGu5_I{j3Y40?|26LOObFBiAI&D1i_H-s z8O1Em7I;V;g%mEAJ>#Kq5h=Y(MpPkX!&-+v(GOpwf9HiQzECn6l#}R<%4sW_$}*`DWhG6R^{p+bHfUg5h*d%z;g7ipi@EoZd|JKQ7!TQVsnc^*i{xG{)sn;T&wRxTm%Wa|IK;?7;?oe)B|1Pg3 z=VNYdnDfqi5iu$c*|bP=n%}P=QAhBYN0lOiYOe#w;H9CbNR>GAhv3_k`!9`huRpXyJ#mV(y}*)eAU*3x zBoHH>Zr|zN5qd%Zy-AXph>p~hZ6ODIx1bZgr20Wd?vgvMkiq~$P<(AW@r5O2IDZf3t`e75A~DbL##NZ# zT#b3_iFe8REwIua{5A`2d;vV9*LsK7))jwIZtR29$ijqJeg-&PkFz0No6~Hph>dz~ z5`gT|3SrPe2A!p?U)_?)7j^zxlFrMnAJ%RC75jaV4=e1K0@UAK6d16Dx2`8B{WMVr z7z??4_~PgQ#mW*W5fF{ohvPe@2=v7AC1 zk#caqb8_Dv{8h_#2j=dYX_D&-JQnbgUqA-uHM2CPSv38ufiOSv!)DU!GjVo@AK$DZ z+)TaIqO=KY+3CZnXy5E)^)LU{EnGG~`WC4gR@Evu?Fs2mE(WTAac4uW?WD^C@ZXkz zKsF&TyGt1f-7j;z^-HEx4Cx4-&80xf2)2JeX{9qM&^=i;T873wQAXnAi|amw;D&`m zXc(qkuhtr%#&U)Q!!&^!tyyDQ{6a6gz2tmU{qH;5|Fmq|9Jp5s1nAyJ-3#Jki`E5RW>SdQfsXUfypds!P$fpZDS(-So7a48i z*-(iRoU=X~3pAkyr!)^LS6j6baeYVIfAL+-s6_Lz(dj}q1uw*AaySN5g1E%|=!7EP zURPsbe?$+)n`c@hej3?~q|ec(T;U2N6RSN9Dg%=~N@Ob>OscMM$AWrRFSODQPPtVc zXKT0?k*2$v+u}(#S58J$>DB~mY|Y3|6sRt4OqJk3slt=0N5w&coCz_iLn%=`&}_FC zORt)goO{n+=3`h@!mUjo4ztu#TVU>l^`yCL*DQp3nbH+jYN9@1CWvjINhVzJkLX+- z@4BmI;ZwTj%xc%~n=EEsX$q3tp-WDRNck&He34J zqqt#OX;A&m{%LRS_=4Qz#kwuZ(E!a7kR3=9C(;~npuDY+vJV?|CAJ}>&QuXu(PT*g zom=!u7(73l*DQR|?>`BuN6kz4^D}?g>Y&9;n$GTiBvL8Mk7`0eC zYGq2a-uOGi@F+9j;Vo^|aomU2ru5XN2$6O#I;?0n!$Clg8AT=F$Jpc+wAxgXgd`ag znw2~)oB-uf#EGI-54=;ijgt@owrof0_tNB@sfmE6rkKTxZGcd(q$jxM^e74>=P}4ZiL^k|3bP!U1-Y+% z?T-DOX5YkkE)R+tnicJWDD-08I5_Zj* zAn(%SD&jSoPjCplKAk?P_XZZt{$RJtK28fEQ=%-46b;r7m1QC!k}AF$RAKDWAr}3P z=0?YV?&aAoR4-5yAkHLo_J2z2JRvQT49E>hiLsVqpg~87%_Ca}vBivZ4UlgQ6Xj%( zW>N#F8gQsse^)DX51qCp3bf6|NCl1SA|?V~&WWSzzi3q+(t)y8&3Qv-NV+CU}Jxg4{PLcWk zhTe2bVtS4>J16RKA2OdPe?bn)sn8WF!qohV97_534MjkVM)P?`+{}Pp-%O(F`J4#d zQ+mSD6gBluCM;pU07pHA*~=HH>6@4Z@V3&EIaWg%j#i2GP3zDEb$i6UzDjC<1KM>Mhnj9b>lF=^D8WpdT0q!2$}?=meR7nwF> zN2^h}BrZA8)4ar1st2=IYiQN`l*%6)i*mBndv|dN{JRGJKmvu;=~&u*Oy5xIm&96N z34gWNFI<Fd9IO&8cJvJr|Oj6Fi9MEtMc4gb4KO z;W%{+q1iCG*~kJnBR9C*o~p@u>r{sQP!Yn`s5f^zlmh(*{%D4VU%SiInLZ|Ld|RFW zNr|UnYC?ZHc{0dG+#J5F9ogEo?(R9W#?NHC2M5xINJLfJmH0eKGh{rbS{1rM^^-5) z1GBazIUPE}_DHp6)S?7Y=y8J_E#)aHO|=6K=r)Fxn6Bt6K6A8PHKJ~JR+KR`)FcZ@ zC*+pmpnjTgbdx4{!mDibtwT+_Ic!`u?6d8mvwi)#$+BGW#DjR)Hg)b1N|4mKNqXR4Y^0}P4MB1$l zj(M$VHZsR08_`WY7g47ubBWULhc3%jYkJP0W%4OQ*mI3~)U*ph-lz8kS)%ShGaJwN zrs;QT_t*_jbMpO132b9Rz!c_e8}f1IpyCo4GTN7{`D&pA5U zXbz<}cO^M-DO-%nbh+(Z3MPVMzl={Ni#NEA>4)|`lPTs~^r{_3( z0_}vRAU#BVGV+dS(s5Z^6?DI}2ze2`@YMP-ZL;CoHGP@d!Pp?<#H-aNuvRS99<^yZ zfSE2)7BCXz3&<=_>i}TH0A?8SfL1%Ssc>fs>?o3TqRg?SK`d?_ZE4ACtJz>aE$N zayn!cqW^I}&EG1SR=wk3V}z$M@z3KM^|qHl#GW*=)RZ8XsElc1n%{rL1jP;Ud_Yto zWQG&xc+MdL<2w04k(-@*OuM_=nB0(^$L_XS6FNJd^yLH)n~kh-qu2&;(1*CMl?F?^ z;87n@yDyIB3Kz_SRVev9*rD4~lTzqG@s`6h+%ceY_&}ub>05eq&LIg@ZP&F8!v3=7`1u`S& zQBy(eIVhcFYTF^4afL=LHJ@hhnNb~UZ4WSQgrSae^{zo7+Zi+pq zS70xiMnw}SJnI9^IKzBj71LWm6%`A|kP*LD#LdJI6XZCjao zTczIcj2}GX4HvjTxBeBWQX$w*!cXsDRr)02v@qUBh&f$ds|Ay6g*@9`gVw@s2k4D8 zG-wA-FhDzp3oTU2(}#ZP>laWWt{@T&R~{s@@aqc&lng;rKcp1|dPP=E-EK^$f(Q2t zS1;N-VY!!S1bJ@}ZbHFHf5Gcmp~N0)?rq&jfJoL*a|M+ANBaT;jP9mD42yuZCr(-lHBx=Jo%nhd5x`9Cbpxw0z#~_-G zKm{#ck}eJv?`EplRk~i7*sESb604{dp)K9U0=}N+En5M*l_AsAQk)WUEKfydLJ}jD zS`-Sh6OnA7OlN`2#N_`F_3q(J|9|}d4rXV@hS_E|=kqCq95&<>HHW04Hs?x`D0F!5 zuf2AE-0rsr%NUa% z1o1QG({y;9hLAGr_2W~#5zYRsUq_}5^GDu5a862j3<1|kAUqV1=g=1D&;NoK;MOn( zWM&bTMyo#101pV)#M`2|3TF&ywe^))@Yy6DD1!UB;vL^V6hl@Wc$X4m<>%ot_VLJ_x_@mxxlv}fr%PC0F?KS z0*e<1R}3I|`uvb5d`2xFY0C2>LrCL9fc-7eg`}22b_w)o0PL$h}RimVKL(LyL(slbAAgAP5r&gkfd$?&1UP_f2{qRahx8Tm|>_ z-DqnZ9v}p$257*3NX1%cr>hmt4N9{T&@*_-vQ*%x<0y)qH1)1=1 zReT#A-dPBkMFdaJYGi2g-qt}XYand%Grz7w^d(>gwSsH?pwmUruoki^f2?pY#@RtD z90fT0U?&%-#8n`25zIIUa86JFn|`_G zHxrjrni|L>l6W%|@RMs`8f~+1=b5yBD{HGDBJ+}dA6kZmz5nRtNZ{*ML+pnuM&Q6x z8_r!+=4a?bCQXPSI%JIrCc~IN;(T?w5o*BnrrAML>;*0m0mE8Av!7nNzKOXVa9g%nD+tI8?6l#(9jy?VLTMorlRhko_j$FGFU~J%gU`O`S>AE?{f-fB zK0?YfE9S8^PtbHc#4e#n{((FUB99JxKC_0-5`WGhd?b3Ub(i zSgZSu$d{RK2AQl+H0_&VaTRI8y>DtN10J$?v$b6#ZR)%RlJa^ldT6O^c#~B0v#vsnFky`+-Z)C=c>X}k#gRdUpF|{wB1y33QdmaU?t^$c$ zf9=sJR}VpYz5a;9)fGqR@eQ(5`U1bTf(jP_*9O8i;747xYEy!|Cq9@lZOXIs^Ii}cG;yZCIg>mg&1S2O$u3O_ZStT5oO z>4>qgn!d^8B$`2J+L|)Lsk~eEtp?z)|3OOV5O;@QKMz2bACqU@#9cRqkqc;R1w$BU zITD)TU=|A#L^whwO)t+_NL-ZzCaw50=GXmf7!7*7fhmZ{66U9x>*pr~-c?3|^}zu7 z5M^OhgI7Z1t?2SZ1bkppbD1&teXD?Uxr%E!_Lb*|GqwQiViAUv{P7d>CqyD62)M1h zL=7ZU>!{F%5EbA_V+czVieo?%U7@Yx&=nU!Y_lNI8QST%VB-jVby?8rA}D$VCB1)s zYNx>T4}@VRux}PHoCP!+$ci~cVg-3c=I?XYb(qlc@`okyEkU({1Myes1<%6j6l@XmFa=gO@Pu1E2wIV_78vIEq}%OrQj3fLl+-pLDcLmFVS8Edk>B|-fPe=@vb&%pxe#R+*^$V*G>yo zT!AMC!L3Q?wp!rqhviudoYviyIF5~9d75Y0lII{W^5Nf_g#7*%8TBA}$k172Y1oJv z&ZB3yzYx}|D059dP>*hJnLkedf=a6fM^5mbjPo1+LgsxG?rHp1OTNe!inDgane&M@ zPy{`qF{fyk2fx#n-)jg#SU@20x+T<|7ApKZCVZKjk|06=JTOSs>^&a89 z_ABL+`G|qvIXNO?qhH0o+`sEbPTw++=${!OfuEq_5%d99?uJB5i+XK-h5^5_>5hrb zGEEnkj4yEOs8}PYZRnoQ zpYkBRWEoui?gjapcIw?U|KfksV|O5h(i_WHI7v&bPI~-AT^QlLQi?C|-jb2i#5bM| zVWEh`jeZR|Ke#Swff57B`-CrUkgeY#^<@5xRmY?WfA&9qCHQ-e2nwtiO0crZUd8S+T~0emhrcTwsE1{s60EqpAO%|Z0*+z5GfksjOjfa$E!8r6}CZ~ z3_7MHX6vu{u6Qctc{y!R7OUO^50ZgwAp!kU-h&I86#dd}(jBYJ_q`yoRg zAY&eJ;Wb1*I(X8zO6KL(N{9{Xc%{{M?Gd|M#M?XZ_*S1_TkZ3@NH^5U}kgKXauDDn1Cci6=-SVv z7I|L!`d-Pg>R3c}oci<9jDdI?X4KHd4GF6`>-A3p8D*wR3h3`nF8L!6;QwO*0;!yI z?5<89#?4l>i&kp1}yyJd@6`G&Zr{YkxSa~v$DkCV|7s(+?vVA@2H!ZKCQ z71D7@;f7>lV4P=uL^aE-EMFM1cV;2a>w>Cs-_MllO`YY1@u6yE<0&p=Z1y}duWySj zaUAA(lhw>JQ}>ItLxPSt8$_Y&fG4EB?WW}c-s;*mWj^bbtLo=}{)UVg3|}0B8vR;B zyRbiF+P|#b+i#=as}R$Bx;1|_ivwWMS7}xLmRja%6K@k+whAiH*|s7;9M^}-i>==8 zUAMs?6a6Y0iHKOER=DA!Uz1V(Tq@*q-#xH;E7#5P=MtMO3ZbA$ zCu~gX@|t3O#()h5YBJ`4fux8`3#$`L^z*9mpQ-R_V!3${6wzgl?o%{b7tm*t^bm8P zJTHMS?JKY*PF|$n={M$VTKz%4-lAqS|F)HZRkW|Q?uVl57i{>fN=tO>H7DZ&{+%w% zLcXlq7Vxap>E-CzTsJ9%*c8!`P^VEms?WUD2(8D8)KIQwHJj$^WmH{KVzRP~-R4-W zt|c)mznqKsifd?hy}SlnY)sxWSCxx457rdL&;~uRkVTPsVc%pKjm|eIH$r&Qn#>-1 zk&Ud@K~hq+v#Z$^#t0$9E>+dB^K*3G^wk*_!cqRjBCw@m@yx&TqEhRdjY(bS{{4{U zWf!@NQ9#R?8fmsJgh)D#3m`LH)+WoROWM%UPOXO1(X2DD!kEPAH5dS-H7N*G9Mm1; zvzsk35ClU7CT-2pfmMT=tW}kWtB#oYtOgV0TuFmz0YvfIx!9{g=7{ZQjoV|P5tG*W zdJT1UXwQf=dLG2D%2;_06IfGZ-Pst2>@$hfME0>N=p~OXx4KsFEjwvtTCl;)&e7d_ z(rQc#cAx!s&U5z}7jkNvc8(M%NU=TdqKpd~Y@|H&Jep-#n8B{mT~nY3tQ3#Q7`M#j z`DN&#=neZ?k#i<(wrI|x9Ufkdi&RtcL~nFey;w5iqzbj^>}oBV>~t&^q&%}a>=NNhXjFWView#;jW}YuBsfBvnXpLnEqkuVj*y>)&k=f**Uu(6_JSbJ> zWE7Zm^F>{D=)CCDQH5(dn@!R53{x1WtdKvZh31Vo!D$aP`A$GmXh9dIsc7OyHlYh- z+5%A?hP$W}`)a@$F8QS+NIYaM7ums1v2UO9+n30>c_D|@rwwK7!}3Hfu=^_0eSZF% zq_GCsj1f}*N<1pJ!nCe>31}9sLF~cMdg)`-Inm+mo6fecJu|C0s=r*AvP+A;enk_4 ze1uAg9MJ=|gYr|8O~DZs%6LtRz$wC{m0Jq}t2H!ju?M5Lg26}B)25T&-pW95qu$|cie zXe%4-BYISJazXWfGFz~TLEcGfa?r?dKrqJ~op?jbD0atDF~UMza-BfU3x&%u#ul*~ zKR_ZjBbXr5?5$yu{F})b-nebHY+4&|Qy_QBe*_>yOQj@3k=snf;``jeD7)nfNBIU+!mA+ zVVgV1(1mvHLCPxBA&fwEJ~z0btjJ0E@ow!WXB&VueC9CLkftXsU#$r60uv>BcOWUW`VcMq`xH6QiPY$wMhy+4)N{^-TC?dQ^y-@oeVc=YGFkd~zi z0RhBcB{l!Z1Uv=B%LKL zXnEG~u_NQeY&nrOCrZc4K{{&{yNQwho@jC6+FaUGGXEJLE#^ApwBF%*`R&H?iVU(9 zuStTCJt(>}Dl+8~2!Mq#;LRQ|+YtD$-%0h1s)TG*M%n9Nhx$*cqTZ4uRhyYGq})T5 zpm;D1G)&>(z}j3=b5vjHJO=j6KG&6`#ZP3y8O;E~n~I0z$Dk9U26Jx4<@Oc9Rpcq! zLdGvzzu!Nq^zsrfMwv!`Vu+oOpLwp$Bx%FdQ)o`J8+^B!4s_%&MjVC{f}RoI?FGW) zajHJ-(9`T@(JYJ^XgaQbF}#G{<{hj>6n;wt?Xa&IvH- zoV+Jx3(79|Z|;PaS9y58B1Mf40-945)>>pUvQ2OcN?zdxXEdqyPx6JFMMtskAEM`l zL=0;ZkP)?$UzpZ<(KDQKX4Q2BqAaXDMVHS#qBTEb^_VuUAy5>k@x!!gik?~Iq_nM( zsy`=?S9fRcwcmIB_4&O|k9H`1`$;j4{bQTK(ATEju$Qhl!6ekDKS%Oj5i=`&H=@iv>`pdf%_B*+dJ6 z-IG)Hip~H8v&{K+tQ|JfscZ%{($oL2@Us)81;I?CgJ{Vz0 zF<*oR&8V@LRk;sTxYH^kh00(AhV}?68{>EunSq8dvPq0A83`IkF=Am77EG3=B6}Jh zFYM!%C>h!SOdgCK1^}Q%BEVF463t!m&RvevyH477U4t2-L1&Rc*H`s(Rui6nG#v7! zT~p#tq9i#Zm=-t}FfwvsG8RM<03Ypouxk-ZTfTK7c1%{eMU(<(q#-~_$PG4FQTH*? zBc9hE70Ifq7@=zBjZHrGX1Ga(y@(NYxym|CWkV8K4UAEaVkg6B+hC0dUv}SXt3SU1 zV#914IvJ7T<%z7BJ~ir&p1W?vZ6URmBI%*Xnr5w(jJ^J+PV7y0mB%-3woNsc!rTJXEj;9F<72sH^JF#Bs(6)*fB=ip)BddEV9>o zg`;UXD9|yO$WNKu#C{#im(=8f`cSko291jZHIQ(nNLIzFQXK+VP0gz}Xx^$hU!=lM z#^)>;V_h(!AsV*=3A$l4@C*$qhSMUU3?m3A93iU;@*2m0CK91$Ig)X-tU;O0Rsipo zk&4Eg#E5$L?~1nN{t<4jPFujD ze9-*_%=-o(r98xl5{g{{=N2J>Nre&%QBa2v75j>-{$rK@ccM2Sm8G8=ct17VSlGSK zuj_uDkjJe-gC;PdVg#cSX?_7F10t7*hwN&z)K(1b88*iNd*v7w)QyyFR019OEowqZ zhEy6?T_wF(yAK%AEEHw2K41|m`uwH=w{bnj=R6X#^&oc~BN+`~bf!s!Fc1UE1`05da9JgamaNS7h6lCf2CJW! zl_P8aq)mmO^<>9#KtYT;#(H~%tQaLOc`pulFZYodGzZl7*i9gV`a+Vu%A(fK8wE(v zWsYX?B}H#9da+xP+}2wgsOZ-xRZ3Mk`9PpbBKJAX6)K5EvfHGhX@n?6S(Xf!wU?VD zp+yBR7*)A}3^Ze)AJn_dZc?F_y%+ltINk(@Y9}wQJ^{)|Z*f*$4)m4;?sdU1rr7~a zC`Kwm)`kIHvGlS*&12B5A5iSN2XA+%NIpE1okWPzl-ViDAU<5Q8^-m4ifo`FPbFEZ z^770V*^El7P(}2U!gwZyA5rnicj}J{*r33G6lh7Es_2pOBO9g3K%}VmlB@|4_W=c3 z!b;}DKodQX*KP1t6kCEgk%Tb!L4g#+53})dPXf3JRa37SZEXlyXZM}!+!qc=YuBVL zZLnTZ37o{5gqwaunI6Bf8PvTd^>c=7>7Hl?dBz>VNLVKdQI;Hp(^8Ziwn1e;hM9^{ za>XdvSlRbdks?7hhGslV@X2+mE~%tdTd{{!*mG#cQylFpcIxl`7*!vMqz82QK%*<0 z_PI&Y5g9H*Gg{B}wZj>yA?!Y4@oWN^ftNR?8`OI!G8tQT9)x&;pp^zbZ#Qam4!*Nc z&EaEc7dW|yY-5%AnC@KP?=;4OYV8iB&z~W77L;xFN8%0(nSqJ`IxR_AG_ES3gae&| z%}!;Eu`1DGqB8$=V1eoGMpMv(kFrIaDNW@8yN}z4Z05#~vEW}22yZI~ZhJ7J*Dbdl zIj6J{)Ril0C9=JBIs)->H$LuyzRG+4+@^#5b+bjvXwd~!3}Qkyj+C^TMWcR6`dm-N zs_;PAI0Hm_G=iO?Bw3RqGJ>+Bm4Ha_>MAB+1uIbV-R+Ygo7lpxzT;a|Jy+H$sx~>k z2{#{}Aes%`Vt@sWV=SlPgC;0OG1?nwN~EIL3mD<&2JXNB=pvabFs%TgB+}#ZC&dwq zsEXx)mCr5_-(5DCG`{UyFKSvRYF;O4eZa0jm4=`hz2Y#2m-n-63@%U}fTk4ybUTz` z0b$!CX_Gi9M3we_*Yq-$F*zJvv(rc4N;b8&KQg4)HKD`cpTrUL9Xl1@yh?TwTvDSf z;Ri{cs`|FBOGFb#?v-$bidf7gr5otc<(8mnfOa}-7?4k=*;#~7z+^{&+5kML zlq5O{Pgu3QGoyf&pd`idvKADrd*i17BzFWQjhyB<;+bpjTwYUmq|f-Ah0}m+C!-P} z%U%0Pc0TYBN%Y!^rSO$BArt0yiZa4PMV2mgO7}aJ*nlB10Cs>!RdU3#XVA4~J89z? zIZEb?CZwbS>&-yTqF}NR_^yH4fg}W|00G*S#b)hhH(cfRA|*n^`~*65U#J1E3QG!N zx6iIS_RsLL#$KaovHkS#qs7mp<8DHyOQ^0DKSXuW2rMn@D#7yIbywhez+Jb~Q@#Ya z$cgNiRZBvqX!$96hd%v9M=PZQml59?8 zfL-OSU3jn$DT=d}@l%`!xdmr3Wyvs5B$C)}>NT@oGIIId=lpBxh+Si-jlZk{_wQB< zDQ67fUp!EkTc}H|Nbd8G|GYlB*9FbJ-{)U#QN*2>J(iC7Suye-Den#%M}>(lz%-&h zr3}Gl5R$?21_T1yxdb)>MmFTZR&&Z44laQaEvbhN|y6Y-q4j2d4$&M$UO zn=leiJy~GTmd40Mw-Gkfo|Fc*$D5xR_34u-$^-ON^9HBSMzn>^4v!9;l%`$Zv!<*t z8xoxrdpaP91k+x9e~|gs{^yq_tjE2v@!0!IxsEf?1Kl`lD1{xlqi^ldi zJU(8RDh{g%G&o%V6F7C7qV)WFt(2LNB~^hK7pV>d`-KC&>Xo6j$GsT6)`iuJ16CM8 z#%qT{J)0_%{65f0qk_Jb3CBXu!)d0M`$pnvgC7@LY>V_7=ByBqttuYqXjYL9Ji4>n zvanyN+|0lW)J`veG;~_$^_eu&;V{qGfDMhes@`;2U94U@UwrG1y=k`BLBDC_&$qP~W5^MYtQl6g-Iu8AT<`X#Ce%qOF@@6!`Q zG;{bR&3eTbMGH1)e(Me6!f4sFBPyCzVp>qW(oL)7E3R9hV?b3#1J$5JgMxWbuQA$d za>W(HS=nJ#5~H7_*E|pEvc~BBFP9}`bef^`oLU`=PHfv@Lij8-|mq zKNxW@ERE++@}s&s&j0OoHB)n5yKxhBrRI2~eYm{}>JJ7`MwjI7csOBGXMxt6yl!6r z7ByQT`XUbMVDwYE*5pG*#*GlXncW6RDR(y=$!AE`py+vQgCc(75!0q?BTJ6QFEVO$ z#aE`s3{a34r&Z8;b9B#wBb_ZKUeT@97U;6wZ39KeCTrH=ycWmTowzvpz#_lzs#iy{ zQmIiw{(V!#TZF#Rm&}wiKaYL5JG}A|gno6*`ps9?(@-#$dBinGGN#=p3E{kTXccmE zs-ftr;N}!dAtP1G(+R-52CTC+!j}G5CFQOHX~zW}&%_N#u#K(~_dC_|Y>5hI!A6tT zM&LIDDNAH}!ZjQ5L7g15m~Eat)Sd!O$wYmOH7Ot5NEDb}Krtf?Vce0Ekf&OzeH1rk z&=M8eRcGG^V4!t#2Ex31$i}h@YjeJVx67aDzFPu2IV}f6{nAzF*MH{79(}hN zvHUmX0^XBrrzB~nWDim`_=}NfUZO=qNpq8c9*Sj_mkb2!Ku%1sG|D zIZRAp=F(=UPqMTPSONfS<5;jvy`VFANkR;?3-h0Eij;J7)W>d$ru#9&Ac6g3W6 zj75n@7WPh@st!I>|>${{+Ncbjr^TQWlPWx^zDuOBMX_pNV&dRbG z3Pcfx-V|w|6x&RIgmTbwSMxhzLe>7fgR0dyUu8)iwvX!#qm39TgMfH6!c>Wq;aHQx z)$9l4*$hD7-8#CFzw~bbJ;kagrCJSQ+Ter<%gY9}XinXA3E*%IgC^V6nR7uHd6Fg4 z){X|<0iNTk?_p96WJ@mT@Lg8WQj+=eS& zCNXH{h!?`t=y371ohvr~Gt`!f!y&QW~x_q&@8W^`!HQxcBv?{yx| z_@TQ%$t_KF_aDt%Yy65*e>$~y>z&L))~_kUXAijVx(hhf-ca70KhT?bFY|}Tq7Gb~ z=AJ*5wbu8o4j^jkJ$pav(559F-^O(J#)nxQTi)p;Tu$%3`8eyx&Sjn4s|VdjpB!GB z@Ls3>#=+hvvxg7u`=B#?^N{=7=Z8BEebjl=bEx;{%fmnZQBdL13=gFI$lBabRO7*n z+uHL-4xRW+^&QRhFnx8TBOdvmj;$U3scZb|$nCRVjvc!9OV{`9 zQIEzEz<}W(V>uaUVjhD$Ijqju|GW4%*y;aQGn)SWKWfIcs|SOO%L3v;ZpOCzTc6wz zANqgPj3)w(gMSWuKk6acRDYlgt9jhFW_{v;rXa`joBo}Ct%0fyzifP72ZS7jq!M24 ze7GFG&cL00+d$p?#8-S;8us~>^(&3@Q&>lJB7m5aywP2X2QrAW!>zRvF0 zr~cU|WXo%-%>HT|ACHey-_YW7lT*U}vdzsPJ_cjJ+2>^T`b^Z7yp4*i;Xj+KTc7Ru z9^P$XY}xTlabUCQKj`EAbABtU-3i90#}^}SK5jV?J`7)G{(9bZd!yGgMcBG&Rn_uS z^A|FE!gPJ1k3UxacTCsy(8aeu&iY%}j1$b&R~g8V92Xmlceg=O#L~fsHbKAKUr22V zY|cxH3VOfxvBpfQnIpe?FkZo^@e0evLQA#vh}5$x(szA5gds$rAIJcDG2F%S-m@4& z)1K|Svn{8T4&i!3D8YIo)B5iXMmJH;;%?a$z>WJuyc?Cqrn{jQcQy^&wCX*%Dp?5( zB|o+szh^&X-@PVs=0ni^!WXKF}aX89ud$hT7 zc-y0icSD!AIC$0TY`KxXm3`&LU|#*qBbRfrPr~=Y;9a%SyrQg>IH1wq};Cu9h<%I&wIQs(S73}#+*Z;GVdiOh-@zFpe3r>E&1 zY2wD^ca?yeaha?#cy;-l)!l3VQ#0Ope=hm?|5Y=7IM?$2)<^Qhx1NvZKK#C|ps2#6 ziYjYt|0l{OjloY<`*emsQ%)F;ey+M=dFKn|p2OY$xA=Gc)YtRYLHEDuY})(~Fi%E3 z{;qQ(?#cJ_SN6{S(7BiX{Kxr^M_;Z`RkP(Q7p#xZ|DLqX#YEPSh(>2ojShj`D9=G*@<`Q>vTTk{I?6xg07hvFOPAn8i~1P z7+Ahe?O0EwrO^h%veCrWDhtg$hFLxAE8(UOc4yn2_7t&9PUV+9-S2oN&?r=cFqiIf zfz{AxX6CZrr#7_lLDOc)*^v5Bvjx zRJiT9;9-2`?tJF2qdRUVbUgpKlKGqZ=FH>w-!lIEv-3=@HK6Q51W)*$5RJMVsxq3o zo^%ekt7Q*qsIh4`DgJCtV!txqGofZ^cUZjkeq?!^wykL?zT#70SWLx`Z9#NJX?`AO zD2K3@Otc+OrwqL&?9v@kE80mP{FJm^({JiXJZD%Ld~B!I;Mz6}`fF zAGrR>bt)|BKi%Q$m<$dpBzCVCG2S45+u*6Y#F$Ojg%@^A$301n+y;~G4cb=TL`cgX zc!pmS_{~5U*>^3;VSoSWqc=@RIh>t^2%%Ik*1Wo^t z*i<%=P?~8v_G-|252u1NhQDC5*(H9rKRxbF_}R|oHxadjy=sSswp#E!c08_q z@8uKXy5Y=gd^>0B;G>Q3xHE0F|7LS;zHd69G(2!O_%1HLuEeYL_s%r$V2WStru3dq zh6}$g%RS@LECuY54*AKrUDw2?ufCn7UMM4e%28sEKH8dTzV+w#SAmJ}!S&T)b(YnE<{$fb+}=0?&fmeVFnVtG z;iv^9MQOPAWANNl=c@Q!pSBoQyjS-x%ywCQ-KG6{*O`gur5ktY1^>t4hm~A> zv+S<=a^#o$UysFA-T%9880xWmt`HCT$<~6R^`5lTV({NFI4YSz9A4 zDZQAocOcI1J3jO&Y5&HJxKDR9s<&VE{8)2ZPmN&!OB^F#6df%7^kSVar$ZO?@l4{HB)XGxMyZ%_!dQCS|S9!ts-Kc8T7Jr;PN+51qP} zl-+ClQDZJTX>*Lz=KNs36TIZN?w96&PQ0D*@D<64{KSoDsqmqiLaN4RpXgs)b~S;4 zOTJ?F51cKUGC<7hcy*>1^9G!JHPk40R&wyxT7x>_X>tfL1zUEXx?@b^Tv?HzE5Enn zv{~Jm8tw+PTDRNq%Brr{>q?z~M0elGRo(f8eTAiZ7Ro5QEq$v%73Y#iNrU42X{&=6 z$bMV>Ut*mw6>k-_VQ*gzd?g{g&|llg@pa$dSO4rI!*GLIeH@a z_0fAze!9<(XPpo$?B|Kyte~rWWU1NI!=QYMrX3dzR4%F6EV4c*@wmOc6gJaNfb#E7 z(R&g~BKei}v3s$+PP@VWn+aBmU0BP9tq~MF4K#SD^C9C0wSOQZK>lJ~s}E8d zLCjF4FS+|voF#a^^=qUpS+X8Zkv5yXeb5E5P|lvYWlv1Pf~7ov$q4x(I|NIYhAXc= z3=7tb9rf1Qs%+A6>mn@*&8c`dL^$O6c%gN@*KD&+NVBqk=XgPbd~OA zm*M!WIu|=LPjJfh2Tg7UWEKVH&HS6QKjklpn8l4c;`uG!$VddKN*J;2wy{lDqc{!h zEu{SZH|OrZmHlDSh4nzi^4+4g-tUy|s(im;oFVl~^lTwLew}Z{I~5TQ*fOI6me{~S zTns3OKHvi1*!a+^-s}YZg|#=UK?})_EEFe`qn0Qcne`46U9j{aP|1n?Kb%#;lC`fl z9-`Rk<-U=A`FD6^W^&Co=c4Ac&&n0E+VckN!j&xhv?I?bq<|BnWoGtDtuks%%>hV| zCzDHrfaclzi+T5YhMithY9i83&?P3qjLVwOFxv~SLQFK0Z}nefPM+eINR@x`5ahi9)1-sXS=URe$vV(l}Pkl-C4^#__<_AelF&azyG-%+1ZSK z{q#r}mjSX>-f;Sm1Ox_^iky6XzEftGE*0C3xWKu?IDT40;f`i2B^ftYRaIr?a*>nO z?~QW~XE@_wT6R8xxuy2*UyhfXxyNGyw!dGDL4PW&q`Ht^hotR&Yqd{jvhy@~zI8wL zQ!g+}05pKxCXfHggZTX8_hNP-^c{8CV%_eiQCvG zVT2$Bt=~(4)+r$)EfeoO^fKAg_Dw16yOo_Xt~)a2o%~1355h3Qkop8I0a6O{VZZtA z`7{{U2DC_62%NE+Ba0M!;@ysccZ}Jujy@|~1QjDq$Sv^PHS<0MjHh@iNgUcePSer|_ zh2TpV3;TTO1w6Qqk`F96=mjZeKHJQdgS*M#UW&AvByXoMyNKc{@)cAGZ-gxOQ3bmj zi=#EUtB3A+YrpGioGegRyUzW%@q|@!^T!=zq*BQVj6&LZad@J*L2)=baM#9coyC0` ziSDGyzLlD1gn;HsUN=;v^s7%<1w5g~0I4&_$l_}9i5il;T$|VaWS5E_Z<`9!$+$WV zXKYTo)RkwR^lfY+Z1E$(S2Sr&Dos%-j&G+- z#=O8yXb}darwo#TD4xm`X$d*Gn8+E^rk9iC*GbZbr_2^D&{I5fhlX^ACR6zUj;?QI zF!FgF`AtP$i1$f5KeF2NT`Y-YbkZ;+@_>Pd5nMuI_)u%NqdAqD;A$eXSesK#1_KC% zIv9il(~Pk6KAc1yp_XSzmylCFko-v`xk#H+L}F%OId&S-Z5rZe-1?QBA!RWvL!-%? z8dkzXcNR&7ZA@uHP7PyYog}8lGbu4_e{E54h%8Nd&MMw1gI=j2Z6Zp`wB?sn#ggT> z=ASKl(b`wh0f(EsrH`|8NuA?2CL%yvG z{pK7BYDWVjThIW8J%r(oVAvA0s3VYlHH3RDjD0Iy)QL{F4Fmo@J#))xhtRUlWTx0E zZc+!-+9>WmiZ7t>o>4{NI57rAt5)L;s55|!X+)hHhy#zPf|3C^Ls{H(vc`-oWobw! zubzGwmHs5^#`CCeva6^02@i9qbrNrfqVv37lI3;M$2KZ>Nr|RF(ObwoiO!mG3hxn> z^Mu1((4nyrv}DpQ6HtokB!wp69LViU-r$hqF4Gub!#Vd2~PRRTJ@h@=obV zimauPv!Y!lq=3hDcyk~S6)H1;0+U)EK@H?h0Yz<+2;tmh7yxi^E|8hi)aY*V8LLLl zFI~>i`9og33~gSg&H-!N)bv+}vm3Ox^ltny(8ycVl7H7h5vU+4m`#N;LJ*>6Rmpc4 zSb~!!DR0REcspgA1G|&qMkgfeTELDPWKtFostKD^tXCI^tpcr2rD|I#t}I#)+qN zo;||*lsi*eyz=RUQ;}}P&lBQby3!#XCp15!DioZ5c%ihQkf_USB~A1=?`~^q#K(g_ z>!OcPIdeJ>%&5{4H8G3K`4q)mp{~5oC;nIVGx)Ug=F^#5Pe=TD(H@t76J7Es*-w7F zbOVw4u3K0BVV!i5>NT=X`aw4WkkPJmN)@`&ZZ)wViT5toe?~XcPxt5X)0{T7%vR#h z?WfCspS#&}?x(cMEbYZjukx+&8#+bQIIT0lbtPRU$@%9Wt?E|r4mfEX*t$_yny1EL zk$7(^wJ%m?UOLTeBWU-FeyNFFG|oL4($TzGa(042&r_nmj_}@o{_In#yjKg{k(=>1 zcZZ7E;sGMFRXPYMPB$;`~k2Rsqi^nq!2vRPYH(#6;TDd!}k@WGh)T1RULo=(eUb~g_ z>t`KL>k8+~4f4(_l|Qa@{k<{^(E-0}J&f>}#a7=^YdZZ@m$N|Oh_s|^g4`3|*GiB^ zYF*Kzf`5oK9yX7~T;J~7AlIrF#}l6(u5C(G<4mwsTSR}6Q6zfzyxyM@}-K0DQYD?;<|o_4S%Mc#~` zZ|vhJG?|zCR!wxl9(|FHE>+9{%~%R&f_g5qSN~Km=d~aBPVbK^gKuYao$GWDKas9u z>yQWAc?!~#R?SG$;i|*KN7nW|;|)Kv(gZ@F`KzOuxsA+wJ-_IK&=TVIMc>u!LzJss z&vp%U{T^`bxw9%Aa6LPIWOU%jhJn=@+tmhY92{6nJ-B*f-1XJC>*z%H$hs;8_1WEl zS@~UkDv@Nu;*1VHdztlYe&WcRiRT)lN4`vT|F}z8wdEbH7N!xS;FBF!x}I*HI_k8} zjeP$%bE;iBQ1x@nP0yB>InCp;m?Nkj+ezsMiuCvWqwA)kydM2#tXo=n=@!sKlc zanDDe_1t~7>PMZ)eDeIs)2QdqrHi`Y6>6&5v-54X(*3jNyNEisV|X&^b2XVeOm++@ z>&41enJ?x^n!mrz_VnsVWiCB?=8l=p^;*vTUMKeg`iA6}+y+XZ61Ccy((Av_8?^8z z_?7$SSI4%#>J9Gjk}e#Jz~ety(~a;pI*Qupc3B2ru`z$pNr42EMnK5Pi~IuRm3bMo1jN%UuW; z9^Tx3_9n-N!2fO|cUWdJ-}Lg$dWSCX>aa2nwTtl9@$W+9}tifA%nx zae7AQdp=1&%0gx8QX6%#osHB8Zz91nEv%`Dru-V9?vLl!;dy>|xhr1mi0@lfm)fh# zjnvX`>P!Rmf0N9lt_0m^g8MQ7?1P`Xag*Od@L&`4h6ueff;^nS4AAf_((n-C#okst z|CK+3{~a5$`NR8uxI%rd$?8vo>3xN1bS3^6k?Jk}q)VV=T7LTd^3UH-e?7kaJz7J< zzPa`A9png;j;jdRYE~RzaNj>7E0}h2Lv6@t+Sq=_ih#OPqXVm{-lC0lr%slQucsCH z=m+}=Lu{#~8|qH^KUg|yB?_)T_2uiYqb}!yY8U)psUHt%3^gMx)#@GhsSRlgT|#Xu z^$Pp9J`6=zu62tJnlVV#e(=_9-A2DSM~4dDLhmi>XX|~*^2O)9ZZ<@UrYbVKpYw@W z6>g0@CW*Pa>%mx%MKJ($>@wgxm{c4$w$NS}I&OdVqF=44aC)zO`FKr;NezjP5PDSy zBUbu$SzkO?Uxq9&R8J{?xM+cL(6HRt5N7-!AkHk`KQy!{Ed4ozpTCaPP-gE^oz2u^ zjqJVd{NSuz#kMG|j<|2HhJIvrxZm@5{PE}Sza9!DD43CAfcop9`alhGZ6M!hMs47x zp08)1)b7Qpnntrgym_=sps}~yZi83KD9Ok1{aFMPH(-maRQEn-jXJgPIsAOXz^$x~ zQ~9@gKNDbdZ_&C}Y8z-}+3U)KeF~=YSlxzDuEMhBY1=0Jo=n#p1_q;c+j><`{eJ+> zKr+AR`x|e}4KqJSS*&ZDhWXZb%=3ie|ICln=>n02aUe&f#Dic(k%XBc3C0M?Doe_# z`9SHXk1F0wB7|ukM-b!z06?~6K^#dEq{%2s5~PVN_LF4{ERHp#+JI0aq{_ljs$~PX ztd#{BNa>W0c}7l@R8z99ljPD(S4&AsP?NM0!&feo68h^fuTvb$IY4H?&VQfgDXw=- z_M8A~7Z1_uaFy2V?K?n}*&Iiaq+4Nj5pgjTMUiN$OpTL7!AB^lty4@&k>pVvMiC@A z1VWFb845&^@a89w9ZkxJJr>UHW zf#aiVdLhbC9OsenU>N%5%b@4`K7q4nB$OpV5p&rYc@j6AOi9COOIcK{i)!PElF6YQ zn2Vx|_=nTF)V?s#!*-l&beYtvoqxYtl3c4=PSr z*|bGwXI6XbpKV)S%5H2L3CX1z2l2Tq?~7uif@~zVd2{AWr2`+9s~ia<>=c- zXXTP~lQx(Uq(gE>5g1x5OeoQ!hrY^K;v`BEM0#sKknOP#KawPTV4I_BI>*Yye1SWO zi9#49N-?7}!eC1>vW9gPvQc!$eB~Zwige3@S|02M47NniL^uF%jB{5gMdK zaElQn%$G1B5WNYx9CNIMq8x|-gNUqKT|y8-lQA43L~80L#_;14gIJ@)il0!*c!mjb zAW@1sR})YqPo6@`cn;vD6z4)b9!Ty_(F}kt3*rpMl8h`}fW9vaKzNOD?D1rjlai8F zNy1oAI|e}i9_g%Z4Y9H{hLock(9Rl-(at+$w5yV%JWvZkAQ~lPvyxIl;>%&;F{RYI zmy+oT2;m&|*Mz}OVkAZ|^3rn83i>ictk$sMB>M!5ZBMa{6B6~<{Z!lH63kJ78Kht& z-~t&VtV~T7Vp5`&iRU~bp&*KJOevB1T1Z8dv63WcCs~WAZ!_pm3n>=Q53G-pGSY)W zQP)C7h`<-)28U4k954n5$%dn$+sdj9D#qZD5COnI(V1B;CBViV^p=xSao)PgdklS~ z)J88z#z(~wU@R)APQYSvpkDks5?NUh}fXCf{j9I5<16Ka~(sbyHQ&4 zMWsz{lEN4`2my^>B&}?Cwh~;@ix8d{Qv)_B^hg^a4kDPSpA!YV^O6&KL}_#K5mrP* zO%V_wQ_zaDvjjkhCIU=^fRu>>B^Fd69BYvi4>V|ujX6_HYRef!D@Q0%vjderiP@_p zB$&6>O3X=%8QdiT#1Ph#=skyk*1AK&>s@=Xc5c&!J9gPG*ryU})s z0NEM?L~V`>(|m57)w-8jl30pPx|noHwTf*(h_y7RjWaS-;&N_@aVR6rxQnx|$vr2L z4vZp8aHnD#Crl9*A_P7bj7zLai3Bty4{4-J3VckK($rW|1bRJD-H;`6)@Tu-9CHQ4 zl^RhvEiQXIOjpkNWAWfOM~!sImxl4tTg!R!1?m)nY+(%nfH1OM+P=8>cwc+*NoD|% zPeMdW&IzC;4Jk!L4A@N|;T~quY)ugY8Fo!J0Z*bv6hzTC4hUfc_yi@Pn+!T}Vk1Uq zgwqluWyGLWf|Pd)Yav!D#GKrsj83YdC?_Sonu)Pzj@^j$9ivow4&6bhbrz%4nuj4| zO6PcQ7DpRnjCAT+M07GRTdZFR;rAIe`60_?$b3 zf&8A)G9;7uikQL}LaCg%yHIeF5aKkJ-~kVU#9r65mPDE1sF)&1sE;!HD2u35OvK7E zS}4_aLQjWCN)=sYB!!Hk+mp`f#jVd5<=9@IO*yBv?+YEep70Kl$HYev;v76sa1H^! zH=(%b8(O=DYC*s{hX{}y<3MwaK;g&rCkogDw_#s}2eC}M^i(F9C7uCDs_;OTi3qya zIF;r@k%sIN)d7JBn8YGt_ejlsBXYh51R+e(529Fd!FZ&K+ZHDwP*!9=u4jbg}4 z6;Uh_qfUp(IGM*o$X|=`d%?@roEm!nm1X0l+!N zuz($-AXo+fcj5I9b<`eHmt~qvq>#xKH=WOdK$Ay?!BAo* zDvUPc3W=C*FTK=Tn?yM>>5I@sZRZq&qjM8OM68vPMr2!`#ll25%0rY=$mK~xt+Kth zx54h_JAAj2)I)f9_pTw|d6wphvNlldSOez6&jk)*(=s-5GMFc5@37c?)B4aY)_7|y# z4CxUgG7AwA)r8}<5u!N};Z%g+Q3(TRi0G4)Ib8`kRuvG{w9B_RDz!hO`M&6QJJ57H z;D3jbO1t=O2Y73SKySP=!-lX;zlS5y;FKaM%rk&V(pIl)GyUs6vE0aymm~n`{mdkxvxy42|gwl=zIXp%4x@&_0@G zl^G3~nemTkjS$%lkg!-dBpoh@c7~(7LF?};%pp7T@rUSshTwb$fN=&0aR*!|#XC?$ zv{beG`>8{4lfX#`@Jk%htOY3Ygt7n_n`s1c(4PcYGw|I*K|PponuKgQoFGLr!Gwe| zCKs7_GfXu_!!N`E7^(5Qy)eoRaGQy_5FJ>PiYVR$sSt@ko0q_hjo}LqX?zI4N(Ezr z9f*4eXlX>d`G)X#E68ycx=M$HPX^d(hG=3aaCAj9R6*={wFHB_yef%lz=WyF4KPiM z2<(iSZ4A&vmzYGCQB93t_OM8drvZ1DSV1E2+k_xMw+KTM ziAeZJ2w>weq6-qj+zn9Qt+3B9IMEMj9te0ZyZlc|h<=CUsfXZT zhah!GEFQv~Rzj$EqZ#_31c)@D)xmSmAOJ`ksrHa)hlueUh@gjz(T6%g_OQy=4ZGYn zvBQyZKEqiI$&xjnSd0*{43=1lI>8P%`$>$Ed^8Z%2*F2$dIJ#|E~eCNR$kxSOsqD3t2ky^%>Uz($a17#w&` zjLbifk$@D5J&A-mIzlEkq*tw551VOEjG&B3q;sP&QALo_Dx?z*F=U9-GsVLZNx?_0 zh>XWb%ZSX(J8>|AtffBOOh>%W#O$d}MEM2`)lFNw&1{7{!A-5O$ww*!Ba3&5sfP(^ z6HVC-2#Y_EgJdQFxF7-~32{h?jElxh0)&9v!06b7koKSwq)ZzG4Dg4r5S5Jcvk2Ur z2$2gTe09U86` z;ZKcH12GiY1k{_5X+V&YHK4fO7~qGg@Jc=UF*cyw6v`$a0fHZt-GoyIlk;Lj=|d36 z)hiTqzBI|iXwpPfTth((2=NTjV1^@Li;TcmM3N6tr5i`A_b8}uhxGW*kbTr$Mp6wS zygeey@XQV}HlP5~l-P|7{U$&Q1W4GPQ=={z5$-J@N3dX*iJdTwyQd~NnjdKxn2QgH z!3`sOtw@2#4d98CDyL5w5fK^y$&vLH5Z4I7|A>7*!OcL6-9f(KZ`3Lp)Hr_8-5$~P zMbvdi(j)rH>?)@a&lq#gpfE^?>I$3Gj!d+|l<3M7@JXq8@Cku{my>T7VYv;W&XHnc z#w`OfAE6` zc(c-DB3pF2P~1J;cqRJPmtrN8;LMni(awn&pa6{0X+tLH*H|;6riyVNqG-!ys+f&* zryUtSxcSkbcLtbx(e<=jO|@HHw1)V1*vwB>m9$v|tXpNa2Lcub08j>OTXMn%CGNxIe_UJDcmiqgqJ1x!ghec|3M!Cv*d2M}w9t`%WjjaG`p zQRTVbox0w&><9RG1%mBft`l2D@LoDz;rL?_Vfip(GK&EkiO}K-Fj7DG_8naokdro) z#J&+QnIiFp1RB&u>)*2FGZYe`FwN02ib8)jXi+S!^pN?EMw1L;z(S3x$gs({WeAxcfI^%*1(7rY zl#4bP5JfXchgB;tMTkousq8aAiq7^9A6fRpQHZ9R)>R8MuuV{=4BZ7X=evksI6U=U zC~96lX5K(=hNx$TI*4grmEoR5mb&ZP#+WsrSOo?>=^YVl~)FNLuz`h@vDHQeczNm!=>`sd(>^{U~ z2y+Kr?*)K=xVj%{mY4^CXlb?`>DIwsLk1U-bsz|vg!zmL?1_ZgP{oMP7g$M&i*SSp zKp03tJ>F3SPJNg&-NT_1vtw!>0f3NfXU*7}-K&|5++q-tB&}TMLd(yl>Lg%@%#ea; zqZo%^>aiTZfLbe@++KEY;JArhVoE`ct!;->xI}|1<+lG2JY+*_-_Xr zW824r2OR?j8m_ot1csa5KJVM^`3%w}*=S5$fbxz5oSj<)YY@#BTLvv~K@_YvoFRn6 zn>+*zIiG>Tx^UaJvj8c73m6-z<@%s7eCN)05aXu{jLVs`N%atRS#ABKrU5~5P*Lu` z7x8d#@t+~_zd>W!-XZmp@&6#{&l=n7Z*qyjA83mSNTKZlD-Gd5jdBACcHH0qK?DAI zqVPj%fx?6sKLje%!r+1?AzmqEYsy z2u5?*c=32$1;}s$m~rm+Mf4wMUbaPaJ>YT%%kmbIY=>-i#NI|AjMm^yh=eYbIt>j` z2MF>pB3bVBA;OVi_=Gu2geX7t0ff3y?&`&!FVq5<0mWtM#Fz}Z6Yn@c6JrT@*PCq@ zHrg$pX-J|$`l3eYB2Quk&xv+NWp-z0_`VYc09a|LP*4~^bWa*l@NS0+S(uB@ln{@j zIF-e~Nx@nxiAJQbNJZCMJ$Hyf^$0(duGRziKX6QCu+%v4Zxsrzgnga z49J`|VGy$sR|P1MlsazfDxVY*(BKBCgeX4)=spAJKKaN(dB{Kc$rfsv!<3kq?bdgfTr+2uGMssBLe;1Q0)Y;6NNEsAt*3 z?UnmRN~MWbi5ebvaFX)fUaNW}QEZoVCU>|J=7m%5R_tkw^TYYeGhuC-N z9Iq)TXb1u>1dDgUV9eNTkvz#HvXWhe9Ec=u{mA1cN@F4@cx84FG>bAyG55RP7RuMpaQr z)O}GMGeuQVi1dOvA7e;Y(WvC2O(c<-q*9i&f+h zt64^N`)J#WM(x1f%=f+8#L{bNtloV|BwhQ=heV?hEISffz((+*$Q}l%?07*?Tp0zj zuu*_$K}LcEU?5~!fN&sZ0pSWDMD#ll9tC+l4IprgMFz!DTv-;uutXIY9tKhLdPc{Q zo>7`-p=M1jM59+962#d^Qplv~Ku;5dlzd2%T212K#I=Vy=EGZVhs}AC@@sY?9{=Y9|l59zmq@r@~rpuDpnkH+r;IS@K zll(=H&*>CSu@DhvS(~sa_XEK(bS8n7@L3lLLUBwdPr>JeO9!&C6;D&sm3?6bMp2QD zeV*05ZfKN7fz(f}ase+u69m~rQIus7I+2qNQ?{59#JMu>k>pVgYPv*2qT&!F5_m!n zpyyz|RCx z4nq+WbtHHerJ-h78=`~_8B>)zF%ZF(abFL^s2n8+)HP*Tfz*|bQ59Bn*@;_M5J`Ye z8l9qc|rjFhSN0Be797P~gdZMSiq**V)Ql*h%ZHea@`At?B#Xk*0ij4&d z^dyNKYm`EWfy_V!Q0E-;opb}hUyni41mKwE8DfAld2qOd|>JaA<<~#8Qa?XH+IjN-L6xFJAj+=cyhv=;q624qZD{3$$puL`=vTvUd zk`c-ILlvjYcMHK*VP+JlonZ_mToAH;jurdAmlBIm@QXz#d62SE7Xc$GrgDxoR;lP3 zI!2(;9Bifsi}CO~BjD^EV{luFfp#T}SdukFbWDl0k|@Ohnk;4&tB@x6*B)?*VMPS! z6af|?1Q9?eX{ex+*kDsy=!7a_G83QD@YtJCXFdmYxE40lSXbk6FGsjavvTBJ1d9Yt zf+$BFg9z6N@zWBKbXbcKUj3iL`hl}PXflz?G{&gJ7*XL(qal7hoha=cBNR}fkt|_L zp{i)YOiaQNN+(3CD?HW%-ytNwfI4FeSyF2G-M!um8AgA1$ zCyXseh|-)Pib`fnZDni-Bd~E(c!&|_`SwxrtY3@qU@k&1^&VMQ6Vd_kJwj1{7i9QW zUm1H&;x)cfC96l+Sd#<8yjTk1Tq{PY{gh7`gdlLre^fRV7`zQx$f9T=3| zlD*2jcMcJ}J4W#K9O%qnS;!qWRM^HN1aAOcnFw2(Ijd)4XiluLDr?pVkxlT}>%#Y$ z4TLCwQRMi66dJg~p*V&RVi>Q8aQ?aHrQv(UWwDmS(J*3hXcBZ@?atcFTNk-+Pm&uO z2{XDS1Zb5Jn1U4*>OWwFb%zzAv{nkc8aT)3@j(~^C}kX_l=7xk%7eUgj#0opN7<1Y z!E7^fwou9WIC~M1ls*kUZ60l*J_%EEc1Z!X69&9b8=)v8m`xzV&mtX&#T{T+ zNz!30?4*d4w{aTmCyM3@6XKa^cc`jAE-iM7%eKm0%cXidf=zps7t&Qu>?dIfZz7KD zk}Abm*$KHbG-h38to5c+9V4`TW!$3-nAk7~m*JNy+m0Sd9loKmL zi-|EVCy8@LBkr_IK50!VA=EsumxEIiwiHi3@>$^fb zM*zJULiAY<-D{ciIME+0zmyMcnj{3sp%au|Cz`bWOvJdGb|Pu8%9a*&&cJ~Xv0?UH z78aK18fXw$SnLz(2`V?m3_M3@najfWEbeT(Z1+Z8m$a)BxB>ZnRYveN%LKysP^s*~ zplopg`aFiH_a0rpxOX1q-210C9Zk8HB<}eiO&=>3-8Xg@)FFE)s1)L#wB*j&+q_TJ?xW|s zkDsmf{2=Td{tR#pk)SL`7u)VWH^z;D)2_c}x~%E=O8N`4c3%LQPvTvkiHM@Q&KhAb zjRcrM4m+woQR1RY1hx?6xM^ynO~DX9L(pwT;5}o?ec=?T>1+~j^t)_qeM0Cj=geM2 z;wq{3T`f#H%^Yi?1_OcI6yZ!1!Act7mikW`{LpIq548rbsvF^=9WMy{L0B5Fa`BI; z27$Q<(2ofLxDtzAoW_bRXr3g;WF)~fS`9!TW!_r@h|#7Lo`U>3Z3H^WEKP{6tf;Un zC)A#afY41weFEMsACI32KFNWrWLP-gm& zg!^!D5l;3S;fnkrp$HKg{SgxHZSau6EN)`-5`i!y;W8uz06XrOed<0Z>csgl8o0v- zC(FSU%X}&+hMq9kPHU?U#qPS|)V4^REhBpPBEX@c6fQv!USiHCYS=96!YV?l!SMtX zp-NccstGTo8qqBgv9B8e)YCDQ9I((f-4?HffT+Kc(8=ui{BUP!mO#JF3wH@-SUS5O-q;;No~GsYEB|Y!Tx6Dq`$6W{k%Yta~aR zPD9Q=&>+-e*gqx=l7y~oY7sr=_^p8c17X+{18X**jvQh99)YeO1Z_YR13**CJ8 z9LHk(N}@cX=?H8>s9=d*EF}17hQdy1P$uRUiQ}}kg9I*u>806md zM!MUQnoClahQg9MLki&v&q7U}_oBv5BkECN+ACscU@_9H^IV~3#;uYhYlqV7^TupJ z2R@-aNkKXqV2wX?yGvC!QI7gBS|_dqVIoE3}~E^2jp;AWa<5N7lKC=&a=45I{5? zl$2+|rBea?9>K02ZYx|B!(2?H8tzY9wZ6=*5T2A}EfMHm5AI3gw7BUgVMmz%%f$i7 z=xXS)IqC3uBl=HoeGO@V5-D>zm4e^Gwozi}EGg(9OT2pn@~#TheWR|SjZ8e}plm?^ z13}gkqiz#bv>ajoTWFK$|550p?D#s-PGLs)Yp~NZ z3dY=o)HtQiI^yEGZTu2Lyf=ja5~l7uZSx$coIX(Sd&KAxjoz2ez?CBh0o4wD6yOnn z^<$wpHsLZFK#OEy?i)4HTz1=S&4wEx^70ne)@e6e`D0=n}KHYD)Moat{I{zAQ-#0L1hXMi3_B2Dsv)AWNNV z6wS)$5aqg5+n@WyJLFao|ewFWD6%6dc2_VT+8Y3TGqcInHK z5-3kFFa8l0#2s@HY`}?i!LlAf;u~RAe}PoWVYU|b-XkGy6+z8_OrjOx|AAN($`^Ha zm+;m^w3wr|EYm}8E(>QV?!u(XIbxF)qMl7CvSDj~Eatw`s`M>Hq!SEYEjPl6BDZv= zYF)OSN6p_KMDIv6eFQ?vPGsWI!14nj))P2}65*l( z%9nH>IFo-Y%EN`^H?)Ik1W!o_F6`-r zZR#&&<%dT2Fcf4?qW&;y5Z)L{FY?eTuth5Im?|Leh&YH6*o|ai^cz?6iJ{^g*ZdwK zh8g)Sf1y+uVl{twp?^VdiTN-ic|(9XIKUV8iX#)1IYWv#n~8ZZf0zx5Vg4RCsfvO$ z8$tFTStW}stZRhyFQ)W7qSic+^3g*EC*!aW=A7K3h!9~CtWor&MdY@YT`CeTE|E6s z;?nBH&{|~fUJb>Y0aOC#ZH@;>#&+co4#_ENUv? zk;=PTiZ~5N9q3Ns0;Fq+@F$AAZ+Lv&ma?t%{-EI$5$(DU05TmzQkOaPpMkUbP! zZb4Zz8R4EBy49^Z(XJZdle*+VTH--^@vb4B6+y}#0iGCo<*i!Vu9y3*89S{(;gq`) zMR*c`I!-~FRiC=fRvF(OgZZ3Vw=Dpn1A3?^yE~a=Vf(DvM}T=Zl$mXy`UR7DFP7K!qIwd*8Yh!k zR31A4lwr-Sxo4t!L!22i+xKP0k|-=bDJO%t;nYv!)!V`U)g)EX{V%{OyEvBaTVpEavoGgtnCin5&C+|K|E@ zq|Ba3bIYo@=iV(lHEg(q(kKI^z#f8WeV90cgK$9j4qdj!-bNq6&>Let?Vj81-q;&K z(bWFa?P4HH;QT0Jk&Qg)YVF8}hWzJ+&$oS_6{&=}xa2(01}AF)gDfDcw-n(FNO{ti znrtE{4Hm3k3^}T~0O)JuWVPRZ7EG$dO(6&=VB@(D=n_Gm2jRnkVbU9aWA&FTMoJ)~SsHvp#Su{h-rE)|}l4OTP zqUFex5)lf8L7-45DLMH5en47KC_73K2Qfp*P{^cInoNVZAW#Ssm|fJBNu-iY@%w$c z_KL-^nA~s@|j$=Uetg**$>t*#7XYP85#F|fT?DfvL z1f~xPKXSHN%yuWg;qm!={-0mB-|_kVe*bp!@d7>%POAE_5U!HQ@FuN8ltU3ML>xn~ zglQs25u~9WMnbKFg4sAkN{*TliIb#15Q^GPn-R&X!tf=?@dQ8+gd)g5El!CHvL!?u zAd#+VWMsY&BkQ!koliRkXNSj8%x{}!%%3PqGL)w(O0u-CEK4%fw=KwH;RrtvL(@97 zkjaBa>7(g7OyrQ$a<1-?M3R!)5hQsapb>5Ie+(w^0=AMa>e61lFHSOKm8D5aJsC63 ziagT~%Tuc$uWN-6m8OX)1U`@h(E2|O?=+7jou^^abR6|nS5{TEbzfLkHI-*tR<*Tk zK9EZy$UYCGGf1zk#1iz9wB#yknLGq>7DP9Vvj++(4WnNUS!vUPrICbz5|=K?GOtCD z4N5$zuT~soVY+K9WYQ1ug8Le;t3u5g5Truq14e`LGB_{{6p$Yk_!b9(V7N99gkd;V z7lvWDb{~O{)dh!KkQYm^k3hs7@VMBE3!0m$WQiz9l5@cpo2LX(97aR=a&o1qDWXV{ zs_SVBi$PB6!o933icUmGQGoWfkHgk2iAJ$2K1EW=i3C57I)L&#jkO!kB$e#Gx2|it z_P?%3QH^wztON_SNLXn~#FeFP>Z^OWB#|eR5%ZZJJz7MDSVs~L2_3$Y3EPB~z}srf z)J@sq;TAN|G-m&h5v@SJ59957N@HyTO=D6>$n-u`Ob!36>>W2x)O9R-Nf@Q`a^SNo zyDt*Zhrn-2w zK#n7X4JBNpH;T|fud8cNm@X?&_B{_n-mTG+grT8;^+yCnW_Cn*kh8ia9$e#c)L{_Z}jc$)9&?p<%Rw)E`v%dk=^J zv^H@BT7)ovg$9_=7XwHh+_4#c0$57Jx9HZN%s+?^-7~`GEMA?O!EI)!LkP8&P7rF? zHYGW26heMcjrmt7Dcxo~!*Ea_!8IpjjWZ_2bd1%}afEM`$uBf&kd*5dBZ`4Z7M3iU zSIKK5f$%(su-IS(w0{!N_8`bP2-m~;D<%RQwynoz#>t8@C56J0-d9zC%X4p|RFW#Be>T0zymVI-D&q zniL1n)CGr7mze@wXam@NA!c;XGA5LHRT~X zH`MNJ1aOu&k14@3IVemQviBxrxkjTh*DH%lmR=4>J|Fikkc&c+I^qI?z3~FZiGh4x z3UL63py4ruz?hj7Qf9;vI1&gb-vAVC`%!u?N6dLKB&!hzE(9Qt=JPCp$@D}N6|7d< z>%J(C1l%|Wj#Hk(J$37#;*!F?Y6}$%5T&9N9i}99UjTg%G!alVRBVY}(VbU8{(=Xv z@*V?N79C<{uZe-BMPwj!4was?kNVI>fIoS}#Tepx+4=_On}?c0p+EZVrF| zU)*XuL2gaUANJ~v80yhmjB#K>3JEwa16)rTK{RA2aM#k29G=aG!kS=4x2Dc)_k?JK>a~oo&67i;(|H=`+ppfWiO<7w3cGWX#?Zz4-`Vw+N)V> zq#d`mSZ3&e3ve&(!2iP(T#HtVh7v7~9=OUSxGsL~*)eoTC)=*Z7v2a(Qqu1h?U5W^hq$hH?#AH~`7j;;C#gIMU+xrcK8vC;? zQe9NHB#lniWh1YA=~^KA<SLhF_h356>4G6nU#keiHo0*1goM`56Is?m zTU_&6ZdQ=Q6lXu;Jq2v&?Y_`Bv~TClC2eT-o9J`b)Id_fOiHbVJ-+vQ)vpYYW@wILrGa#S?ZQCqMZaLO1 zwmjFxbB`s7>ohMxKzQ7ZAcgp_`5W1|pLvCM>mkq54i} z34+5f1cNJ`S!BG6S*CmCt)&O-1p6$R8P}zz6p_lMF8&ji!SnkEhpSKDya$4aHujAD zv46XE#ToKja^Cb$!EAp0%eKFtaN^oAq=>iLqZe3<9I|FpeF0mEhT*wNG%B7cgVi-N zPZq%6G|6M2!NinF29$xG7s`eUSiLggeS_hPoU(lzImn#BeU$?;1OgNxKzlNihpTk6qa5^r5uC}7J45~hHpKar6ci)gnhS<3_Hj~Yr8jUxw(Q(wL@0V;wN9P?$Eln)o! zJtNvZrXth?=uSg~6}%d?v>?Vofv>@w8Vs4_lt8-*IN&d6nI2KWiULb7aM*;H;JRb3 zmO|_zQP++zl?%xh7Ae^a80mxVw!j1DbyWusfq`0+FfqLs09u z*gq{OJcHBXpJ+7zsC9(wT!id7KFm6Zv^$#gJj2k)!b-d#iNKJeD-+rV6UyzLc-TDv z*Qx|133!(Z_>c(#h94;)8NkyHn6M+jxP(Cx!m9@p8iy?ErNFq2Auu|F;6a15Sr7m` z1B^8T@HvCjQ-jDm1E4j z;%Xe(92A3D8VPm_7_o~ekd!H?6#E0g1XrxVPNoWitr9&D41GB9_5-jz1Gqc`usH*m zI0L{t$*4L5L|cUPT?U{YL!5$2G1DShl!^$buXH~N!95%4mbzo6B4C?}x(EuWsS|+) zj|i8G>2(Xxu?{j=D5jmx??c1TPvX0Lx^SsB>l?arZDRSp&f_gUq|FEWl6LjRSZ(1Bf~UoSXx! zTL)lI%s@{DpdA{}d(f2$(4`8{wF}V24A9jL(B%%$^$&--ZIjsz6VOGPVP;JHKa|kb zOse;bnFkwKmWf15k%9mg5q1&~lnd-}j;so*S&0<^_8O!JpK_(r5)>b4PoXe91EBze zyjUaHImzUGt%T!)fH#AHID?$#P*_jUWe3oW5K|Q~(>V)00X&BvihkrEk2a&FH(CgyV=XAF#$m{jYXRR zgWQ^$q<%@PyUX}G&MMdgs5=8_IRlV5&@C@{da2~zi)YB8pwa3yH73kaDB$eE}?7aWkUn6j({3L8R_`zOlGRBX67 z+vqs-{)4;^QYbytJ%4OIqk zd0G{r+9jgeHK7N%X9wM-+GVENb*I{esM?jO+Kr`JrK{SJ6*SmLiPKObSf>+Ml&NX# z2@!jdbFNJIM+u1N76})K@V=a}^1GqQpWL>nbtH()Gs6s6R=U#84Jk?BIfJbO%mq$d z5IfgBZi9$7)gU)5fI9gU`=(nk;*pw1iddEkpq7w;)Fo6Nv&(it#3H(!Br)hTxD?FFgjcvECXmaOcln1fHwnZHUj7h2WV0S z9ruQ{c--aDU!~C6NPOSL{NL66-{t<__5a`n{|0sd;3fbhxS%3wz!1seixG1ydNh}+ za0`QXk%=5cz>>{f>VDaF6h%G4*_D{iJpP7DB_kW;)rKr zrYqu^WyC56&be)h(K8Xj77Y0USfa*`o#77EiUa)BpFZoC5v!1wL+tK1^iR zP2Bi*hu%*IwsYr3bmvxe=Vo((@E>Pxc;}XMhIV=9wsi*PcjtKxrt(t3$=NJ`ke5+L znc%jY5gZ=yl^um-5BjZ1ViZ{#6cy>JR=UzbGJeUT(zxzp*`;z{1(t)Yn1iMq=0(Nd z9rJ^3Mgv$j1BCOT>L#ML_i2@NI{vZHhF5idhPYx$2W#Ckx_UiF&HoAp<^eLyaL^ zgfRb$aq}3GeH4=~yL;)f+%-w%Oi8vC#U)XLfvSU){mIOm=FL&$5IEmO^Wmk+1Bf(( zW@urp^aEbWWObc~a8&HTREEw>>E=y`ZggbudTkcb?IzOgHq(coLgElY?MBw^cF~4* z*X@?lhR`1d*3mj^R|~M-9o4n%>xs3J$BO}Bp7`prvGY-=vf$vf8dP_qiib(vBuTXW z#XFAft-;jcs@F(7P(4v$wNX_TM&_;Y++D^4fHZ?>IoyuN16VeLR>^~2Nr!M%@1Rxe z-f-mDb_bsQhn`Pw=Kt^q0Pq(7f$=BsF9GmJ1n<~qa90NK0BrC$Y>>&~3%K7AP?cp_ z@|fHz5vdu+d2|lQ>_+JrFhLxIBR4PVsTBLY#hsH@>yBAvPu|4hR^@U~9!5|oJ6Vop z($F{qRV)LLH0*Ym15I=TST)y0^aD^e17`N=NH*dCcLiWpZ=h{#=5YsDcyiY*WbkAYF!L8Ng%C0F@G*rKG4oe7^9W~iXE*a0Y-i9P5OI}?31&h_l$Q~o5voTQKM_Xp z*&hCd71QP3G8kp_earzNpQMl@^Qr5ib9GhP~##bd$19&!HO;F!XmFb8# zW`*jeP(AbJ%;M&Tm~4IYWOpWMNH$r(H+T0@a%WY8C^7(`cZGL_ zg>Y?wzWiUPb$FMFhgMGqe~b9XjQH1$_}^#qpJ;gJkogykhIf(qH;#6AYk0f-3ECx{ z!8aV((X%e#5sGP=fnA*Bjo7%(3*@z$r6+WXJv(?jS$vyGWQaEP7gTax@%R@{bzg#mI5T?xgqSCXc!ki1N3;7!v}EviduO)$cene8xC9t6 zdvGxXAGrI+y!&uxd)L1Eh-!iGYWrk`$XJVR8u!PnFoxLpCsOp78~YET-+z}(k#F{bXMrnXBlqA0$I2H1CW3n z&W8hexa4#=oDN3QakSuSH=9jHvt&*w4K*7grh{p)*ByzPjK)(zlqm05tX2yK;N6_^ zbj)T`7c+`&H=InK?B`_meLtX3XjD2S7Kc2eQfP>zN*N7JL?V!gWGWE^f0T7!VLphK%h_O)9LW|dO98t2lLV3>~%dJj;CYY^zL>$-;PH! zq15JaIGm0K<8&z934+3L(BpZ;*lvm%%;u9hpw%5T8;wSzPMRsKG@CSrgCJ4hvsrFi zvgw4+eZSw%-F!YL7mdf{a(P_7OFNm*<)V>DdVN&}e?p;<2lOSd{(wW-P)IvpR=Y+6PIp}ZU=?gVV$CudZ39mkRE zeILjY422*W(j1K;Dk_-_t19Zdu0X1)yrS|DQi9a1yDrL{w<_zn{Qr+H^YA>r>*(@6 zj|dRtJ4_>(>jOfJiV8Lju*lwmjqF+?%Z-ef+dt3aaw^gy%^=b?w4*rB7L3C)N;5U7 z8cN$1rKxONMrLvEP1BU^Jx|kybZ=4Al`TyhR8>7xnLQ*+!a>PvF$lP;uA;?R*7bti z@=Gfq{yz{el)gR8gV^ppuTSvsJdTWL8EEn=Z|>?Hf+jv>dx$-L(-UNf7SIt9qD8X@!!p$7;dRB2+U0@6jKiJ=OLh!jO^DRk)|A|i$=O+-LN zKn+EtNfQ(mJ)tTn3LFcfN1wbu-yfd8AlIIqYtNpwUhBR^%ybt=q$8hg)SeW`L9H2P z;~fU)rmI@!oD2=8W1c0xwIK}}s8(ql5lQPfw z#8w{Ulj8kS1sC^e9v|OSv7gL7f6ynxMz-;2P%^c-)u|eiI$}E?ubZk7AgSFH5KG^|Vb; z5$Z@1Vt%7GF+Q{ky~&FWnq{}CwIsi4H1ZFP%4%o(*yn4>*&NqQKx+7`y^M3k=^d(X zZ|U!PT@sA_-08!e7?fnw#1;5h#7pz%OsbrZMiGvhID5~?t{8*}3ohBB`d%pYJ7n)Z z;>)$s?>-<@@3)&jo_|IB!o}x~+tl|XlL^~*xE8g7>h zCybGkM@^+Z)$W6PAKL2HP1$(3=V0RD8(ZzVW<0KR%>=j7`uE9E>ExHSszX&SIiVgE z63R0%slvgeTP^R4{9Iq}4^jG0L%!{{a^LD#A$zg@62fQseOm)G&6a^Qkw5GkC-Evy zRuaNLEbVQmp^=~O{Fj>HECuf5;5?t4P9;2sK|l~rOmJrStH0-!#0Z?0AtqOk?K>bS ze!3@5QSj+``-nFYXue+Wp4kcjAWq$eO}2WxD%?90lYBMIz4oEX@Tl> zD43}15Ti#r@@evBe_%pSxi<1(sFaPG@4XTS>Vd0&t*!sPi^~&XrxLnlK9c(SZSV_S z^AG%woqu;+*jeuo33>R=o-BD|Oec-9BiJ;53NX#7HQxWutLH!$Nw-qz9#% zZ4m<_57M^dZ-ajxyYT%5K>&B=9_|nJjcenPC@o2??$*UKZN>*sd^7H>s{pOVc)cP| zA8GPb?hV`evySkCT@;-t1|SABizBH z=bI&pMc^j9Se;;96O3Nf->k;fwYJ!$d9Nx@|B39$H4Iu4kpw$@IX%ZrM$WyEWNn0C zl_GRgCORcRfPI6vU~(p3js- zs-}fLWfTgO!x!0gC&N~DUlkxsjfrlbP*sh1{@S=edfLu$)U)!!xrct|9;oeqoK$gWLnyxgp(){$zN#ECZ4_UnYEWrX4w3xTxC=F}>r%#W ztKkVzay@opr!sywJgZ%dqAoRkTBLVin--XiW*pG*jN6PR218s`h(-Z<%6KkCp`uti zs6?7Mu^Ha|05~rY9kqX5MY&XdfI0ioF{7cFi6BqSnS8*Cp^X(0gH zyKgyBs;6AmJ@+K5Dsfiuy;90qO$H0bO0`WkV*?&fCOqg|!>6HSUJ}?h z=G=h)gB|591I@4KElkEEERcr+ocZ=Th(UqqBz#P;^c_{{iV1;X%F364>>O4OG#ql` zlg-_LsszSvL zxn)~{P0Hq^K6}$R`}QZZryZ#o7$N$$rS%6(;-kRXLv{kSmBN%bce}xqQ zn%N!kIz^ulWbMV1ni!ggm2+8*xGe^Ui;Z47m9z0IAHdLCmVifCB3~a_DZqb_fES#z zM|QIp;u;D8RE3@@b$(`-#*`1U64-p5c=BB~YwpiS5whI{N=B;?6QQW%pqJ|`7?vKs zcTiu2^lc^DU`aoMFl`K)y!aUKGSrVb$%u5GYPeIf&FjQv7h`$tSi5)s<5r$*z^pfY zp|@gqbtqmYisJ`yOm!!pAntTS{8XRPCz<`i8br26-g%7=<|LA(g*}b37pKkG{!0H& zA%5q71S@bilHk`RBY4@zl7StcW}u*s$pY>_O*r?2cz;+$q3j zaf{4mt}%FrANe#z6r!m;H_iF#TY7R(Do(Dg z$HL%=Mcj}@+cS%QC;tyPI%poUsHpsbVs9IIVvBM#)VHRn62O;z=a+%<+8(WN zUEY%3{@*Hg9TC?2H%F~tzlmL*45Qbg zN$m84dlz~%!8J-6E}yk#31R$Pyl9KMMB6pIJ%dqCrUAI#nwHdJb|GXobI1@C^ zkasbyPo{|SD#l7?5~5IeXin)4t-_Ua4#h}B0dzQEE==2HN7Dki`r!0$um=eReU|yw zAv6CPbywNTNIiR`J0*Bch_|`FaxG>^f=Vvhqn0kjR`9EV^OGh9ypaM6-m%>%iMBV2`lB)tzvq7I{u~fZDFT2L_H`>i);bxHiG?&bJ96+V9%Im_4ev zi`d_;RaO#=G1t^aiQ4k`)UuIkf63){91=Rn;2g79=Gmuj&Rg?3?W3RdZc%{$2@27? zN;HvA)%AjSCUB1D|7?$Uv0)4?kYOIpHQ`I22{dCxSi7uMtE|!->U&g_aU2Qz(4o+L zf273pEe9XQ*Yjy2dYligoEJ(VUUAA=5$ahH+D=Ek#E(Wl1J~NWkhO|kf58cs&*%>* zlvSBlQX|+@eHy zwP#@MZHa0VqcDk{=z+c?0ZXpGe@-~`P3yu%bH-i2?-=fqX`eCS)nRD2PZJw3G!9?; zh-BD8eEukr3|+>$&D?OC{=LJqgl4B97&b|%D`&n_o>z2i-bt*+7{|oTor?8s^6S!7 z{f`{cH6$1j)BKnIhfj@uxUkjge$PPkkFu&3?+)E4Y|SQ^w9qPZDB>2rFt+h%Gw0b& zYeU`4ICik%3#`}+%$*8bV$~&19fnhm;+#Wr_p&ad!vHPtezyDlB9Kdl@rWQ`Uq|hP{=kF74Q1xPk5#B2uSgd z?o#?`V%tbRbmS=R=)D`Cjn`A&VO{?ddiDEN^!IVvT~qHtEKrA`Hx~am?IVR3;GJ;G z^Y!EEoR|@m-Q$*^6TID9Lmqpw!Qs&%ca()WB5v3xP3(2>Reom#3Fx?puI~vdKWyic?@$4 z`l@Hr>QXE=yJIG)N^A7lX~xiRRnV{4@=sBYiXT_kcBZQ8eh$bZLmL6GZNp#0pVd}9 z9YI_LV##UV`P|nB<(qt>`~o}2F1Bbb+|;o@34sM{?m#4d^thZHyN_rq%&iT4^BIK3@aaQp`Lg__Ltctc4iR;CwIdiONFddL4~1^p=8pc3|qT{5c< zNvsRgbPzArZxPjcI2z5&e><*S>R9P{KzivJ!$ysdqy4L^P7i(!`Fau)U6381H^L)+ zG>uaw;Jr9_zW#NkOgY2}PnN4E4qzFh3`Xan50%Tf&!0bUn)@ltNtvuqAF5wZd9 zJob7;`EI;JtHf}s8l~xIUJi;c@}>tvL=`id9C$Wi^c5SyQH61pW{7&Xgak@xQUpI+ zx!s9!N{hDKhYpx2^9?K7^v$BMm8pYzJmoNQB0 zkZgw`Sp2X1+!$y{04>I&i`RJo3C5AOdu=OspEA{VaR_zcU?=)b=W9e*Dv$cwg(} zqha6n5^ELY3sB4-qUrC|7o_*cBa=NL+f2;$1lNs*4J#o=%d@FBHpj2%w0b-)72U|K z3ZZi_jH)3H2gNHwGjaqx4_x7>vCsS7KNJotodQcIo4pTQ<-3Xh3kA(tic*`&7v1!3 z>|c27otPQzyE;BT;7t^;sh|FwU?z{>E1J>4i#C!Iv|o&D=N&V+imMGVtsaOpDyc%M zNJoqYQ%kaHO=0J{1IWcAYQ6Ijtv+Ol;hOp$pT^x+iZW6}&N$Q^&@9Xd4OSw=Ye-xI znbep7eNilu)kDuSQ5HkPdzth)3uOWtWHPw!Uccqf-hKTnysM>ntn1Jh$!jyqBj+C< z-uVB4qoUQMwNs{LV>d-B#?|tYt@YDTk==7qhPKZJ+8pbq!}Vp_?fDaouEA7EXM5$J zG2Bo+$t-n|&Ct$6SNE-i>ECf~_O0^BOwrHSSM07SHl!MCD#kDtML)5cXbCWr#vnfS zF!HP$y)nsFyoo%j0BbBWcOuA@XGEO)= z^qb|O7zFn8p$#K+qLod_2lJe-$3NQV;9_{DcPMt* z0~0ui+qD<=z8b~kQ5E)cvLfg8-cbhXHY!A*L|xRAx+OE&qH7cQ@RJ`?C*FN4FN_nk z&zeGBX|?Y&l@5ZHT~;ZeAM@Yv!>0cHia0&hJhS=4aW9e7|8MzIR-P*crmCFWQbvH4 zXd~$fh6XKUIF}jbmlEI3$P@EnIG}*l?(a;3&T7+jO;_cx~;FQxa1iPt+^uOxd0ON%TT8GciD#i zbJVKfWY?=H_Ip3LC|>PBCl+nX*JUgC+=bth~bDsYCqI36o*W!DnezWFQngY(rF!b%mo*zynAzR;V}_l;sTQ@K=nN!0 zYoFr`@qCI{6+%W|e0jRF_y{Ez;a)B}*K)v&_)S+4n$$0zkA!iJW`GtHf{|bW^GLt* zPU;2t)+B`;bE@*`a6ZF5@o^7a9_9dh9C_0*w>MMg))49#_Knqb!_Ww$(ommEj(Sq} zZ@taDzv{U!W5QcKw{!kcf03I=n9RXVH@W2Pa`%s1H#AdKjZLScfMYEd$Gln@rGc;! z8j8#%!x>x>5~v6PxpXXyAO@{CNV`TaY8weVNmG%2Rxi>oehm6sVjz}z7*5WRx(B>^ zcP&DB+))4iwOA+ABvEx`_BGPN#(JiMo}O5$JRs6>A_t$V(^?;Ae$ZhyB271bwt&3S;Al!V*01%t_VU>c^n@=~ z>rckq_1@*2B-@J>d!_%KZ4paCISE`TL&0LCph&I|%#bJG`JaZ2sEH&beAc5@A{HUB zAp-&D1k*!5C?`9l&x`k=RBfo0@e%pR z;m5PKf1;gjbxYeq_X+kTW5a*?7n-CmKB)TSsQY>?gsA;9WTIi_uS*!k|2Zo|E#LJ-rip)i*Bc)_?^^woVF4Bk z%Hm%+8tG{0p&JC@nRlveBBZn5O`o5S(3BlXZn22$br`)F{a}AV?9UCSw|Hmu1K4;Z2SOkkoVXBKUA><-+9cm2(L z?#FaX&BmJy6R7@!LWiCp%Iq3#N>Ec&VbCz!%riUV(G5L+)`%F$(P444Sw9DbSNTj{ zE%2wBT#R}#N|RMbHr-fxoLBLgbEG*yolO_^4%{J(+m6kh!*M6~JTh%!#~n7t$guT3Ry4Q> z(`T*?8c;X%A+!vn`M9Ljo5iJMpS2eexrc5k*NZ!m9)pD8weaz66V32&{L z(*f#|fH3qFr{x?` zs?IDwa&^41AndBTX|O>-*qb>ou_uOtf_>?$HSkj8$Bw#(2)lN7ysSza?ChZxr6)F^lTXvexGOgJETp()emq*(w z=79xG}x_v1)ig zyhi8ZSzgAz)tEVZo8piw)ja|J4u%rgjOuNRyRMGmR$2ZcYWa!#dEW0d^Q(5HFA@4dXgel|L{Bl?=Ut!8%%%md%pPJ|?D9~bnzt)@a=wpp&pA?$pzUaHNQgoeWr!TB;H=avNp>+Sff z0!3Eo{GPe3$Fk5=lYNGVjH;T$710GT7l*VJEjyoE;^U*94q`5_f;^s9P0N z@||MO(bG=PJ#^Ii+lvRv14dp2QJxt-y7C+t9o0OmhwC4>Vn7@jtv_jiYvGmdcRlLj z+hn57Oj9t3j&_-Ry*vEVyn;b!-@eIdi&~2%YVz+JIX$c9=&x(k!psw{=vCwQ`3Y(4 zjkF3pQbXww%6q|`NmrVZz^iQnGfawvrM|JGd7~7R!qb~_2DFh_9 z%!smqM2}&Ey`C{D zOa^PrZbta{XZO4?*J6B$!@L&hi>oBAfIw<0xzLl5W7=a8P5^l7wp+{kRjk@lt}X~w-f{_K~u$tMrT z8*$&|d_@XT^mXYrLhOiGricCN?i-aa;;XoIeAv#jTE@M+Dxt1J$JQBN6^nac3w8N; z*e^f0@BR6m|Kx+?L(}e=l0exU>BdQP|L(N=#A|c)|HYwijkVsVmAZG`!cZy<+fGO0 z-xeG>O<8`Y=54vLzu)wD)uDGqVhj!B(>Db_x`wv%OB!H+FRcA`{arQ2RIvV z!ekUXZc7Bu9lG@Nv!;q}pS18PkL=9>(}C^jOW9@TbGMLIgEmJLgoDQOx9lBiUejYf#`nag*YeFl7wi7k&>U1|AD?=!uGS#egm+7cbnW7-IYkHW6qUWs`u zJ-l;d-~9F4;fdWp*EYi}{wvyQ{4n&Q(VBK#pdwz~b$o|B5&9{pYBSaKUZC0*O5jx|4r;DKM$Q3jJTU3JH*|l2V(UK*;3V=KMwn5 zU#r309T2*9)x;V}Hg?;J=@ytW&_Ge27}ONE)xL2%x}SXgz^Q>(Z+uM>*55w7{{uNM zf5s#s`p~lnKkQfKea)((-@fhIiv8!E|9H{~9q{L_F5W-7apybU?kt@CmBLf`tqQ;% zz1r54h<+u0_tFNeufyc8l1quIfYsl=j*t_qGP`y(H*Y8Qu?+87o!QAFZwCDj%O1CA zEL<+Pd#Xq(n?F}^H+C#|J8@idDdZ0(PJK*c*Iy~+#dBuD`4_$n|JHo@e2uHG z?YMTxts%j?ko)F~&xzfUBXO=*Uv{3RugPcJ-zayPGFLe&`TJMezhfP*S$p-@`hbJ1?So84&=sQr)ro9xAR5as@)iSG7IiTT|(FXvyd-1F;Y*2nYn-0wdS%Vy&q zYwu1p{5&GKVsWG3(P&M0oif7yEo1#Ui#+JclnIsm6h|NH+C!!um1deE<1(%m-CW%3^ ztUQ2FL%w#MZAGKe%nF6fJov-gIwj6W=rKMP>XNAC{@|1UCpFI<42|`*21G?A^e zf9}hDDVQ$(EVarpiyNpfSyi(re6HP}QZ)P|4jtO+O)5-ZmcO?Url;+aiO|pAo9JHZ z-Z2*(Nv(4sc{udB^Fnn45D;^o%8)Wt6iV(1a<4NX$`CL%y~Gx0oiCeEFOkP3%Fbbv zdx+fE!CMZ(A77QKD{PPjp&o)W{)pm6l)OMMAxjP2o7bcs+dDC;WrBB*AsA+d(D>CV zVZwAq)-z(aR%X3VyEc|h7$#q`9*)(#1op+K2w0PfwXoJ5Wv?<9IJG294knp|sZ8W( zVpw_Q3+M%(BJ~HA4yjTsz()be;lHB==bM)Bzax0PQj>uC6pQQuTqp`q+vejObgRi>7q zY?7rcFdt)vVA7}}Xf0X{3CX5^(8n>kdAp3*^DbjTaN?~2Aqe1@;n_f)`cGKy@nI}P ztal~I+uk8NiG(L!cL*XJGDw-v%hpTn3-ME)!m<5C^s{Z~Q+l|QS~66uwMnUJ+ABh- zhTY|`Y86xvH(Kgou>NrgwXO6j5=QfLT;Z!1=bA`p5LKjzm^U%C)H)$W#W5KiiqIU9 zVP<kDiX<46kDC5~GCjGitYt9%2WtA5okrK3Csf-TxVaOqwi4H=^^8^R6v`X4d2@}n_ zn&(496J_cd5)s$KGZtt?>gZr%tR#4TxK6-Ta=BM{Y?q0>a1(F6R|L8r){lh)vql!6 zF;5xujx#ccZlLSY3D=W2AIGl zxap@d^=wJ-?P<)3{A9}`FU2R0t(_0W8A*TFkF>GkV1fWKSZf&)*p_l#Ey1(g?GZ5P z_PA@TWUBgB=t~rkw5^RWw=yU zuC&6B9SAa8Y*E~94gU-d3RdEcw1R!%>x6zX&IAAhC>8l$&i+gf2P0M^T7bJ9t%pU?-G%bXLt0)*^s?nqNGCA*x0EcIW07`^e1io?GfdZ$sOR`#@ zg20A4oRcUC!aoZzCgiku0fc6*Atz^6049=*gB__$DCeR98mEZxpw#jzXjo zl#&g*uRMogoK;ojAr5er{{})2$h!$_N0r*zoJP`mQ&~J86tJNMr^R5v zV@OnKz=An1!+6Nu;yer`595;g{VQVxgCk_|ZyChkU?2v47+%Ho$=nRkPMz@cgkl5t z*C^_)(f;0ij;!!f`lGvYeD6(WHJgw(Eqi?FCF)qV1&r!YE;KUfy4-<>Z4lvO^>I+z z5|+hF61J}M$0~WLBj~jvuF1d96*8xj=~=?P1Un?XM2yAXc-rsd2p&g@P4mMssp`-; zAjss}^3mi{@ zCje`0?`doYUy>)334;#S%z3hsBOf?oMb$zW5`~K0jnQPA5U74Aro8J9Qh}-fF<2jJ zTcnUoOJ`l-W*6W!{ODZ}P_ol;S5cL1^r+qwM(qX!8=Y z7e{}LpXf6=j<0Cpw`>pK7#XoIiLSCRhB^|M71I{r2vOD#+gD6zAc5c7Zy&6=p+BYX z?NL=^w*+I=XSLy+4pETnE)bQjfFPz8G!G6V?qz%=*Ov*gd^Lkbn`&Q*<_T~aR`H^@ zyk;hGC;*UxMR8srpuxaPJ&Ba30NtYxbLjiTIn6{xxV6+%wzFfZhF&hV?wsjEWFF5N za^H{SP0O-)`u7!TKksfYx_g_Z)xo$fdi}WhX&btU5Uc(^hG`H2f2k#EO*BK$_>O3< zE80q97ku30+s%WeC>T|V%Z(?v9~kQhijn?7JbV&F`=$UP4rh|A2wmO@tp-!sz!V_4Q+_!Fpxa2z_j$&L~>%Ja{<@-@`-pjvZ=}~H1K#o z`B^`cp#`fg0~-w=&?G>v7>p)UM#Kk>)RpPtEx1I0CnHN4kb+&nTn(&ulQX(Po%m*Mre1aC(41Z{Cg6b0}gw(xs({NYiO>&UT4`=++3p`@8$B`KqUz z${55Uxp7rtGzs8I`wNC4EI$AobBDzQBr!-itm(-5KJkxM!WC@cd4}9c4UxP!kx5Fu z;JdOa9@tbCm}8wXRKQ=r_aR^N%s^yWbrZiFDFS3;V2-^nGloyAJ{6{`!s?xRZ3e+h zwIGK8W8h#`_YlJJausZO;TidpvqAaPVDxZG#^B(P*&(iSHjxas>mM4L{Xuh7a9au- zO$HI&LpNhVy7IoQDCBY_s^rwAdu-J7&)@D|1oaD-E#p=#+dk}3`{bIbztmuuG+GLBEygBG{@ZjooJF1CY5C`Onlof9 z_XoaYcYq8}#D3OWO$!9kubCfl8Xe=uIgh4gK~81?$=zpo_HeFiD?g^d#i#f0z*uE4 z8WPxFsS~G~deqs1qu|d|LjsZBrRHDez{=g;chg6v zEL>5xL3}|_d~s0ZfGfpbXXQGfZVlpjn?2dtUDa`&y#$V@!j?W?4<6WDdJW~(!fD=| z+6DwK9H~V<5r(80>Vf&4 zI$|cSlS>VQ3Eo^~SS)vmW)jgrsB|AuiRB@Qu5c0_${;62Auy^Nt}gFjlUMEOBshl_ zg$2OAyJk*4Fq-ln>Nj1ERAfqrTcer38iF=0(?(OI(#XyLWm0KDl9{w~QZ2$eEuwa# zUNG?5s&h*I&wWcDUS!AcGoirytTvjeo3baGD1-_J$6) zaA*{9Fl!6OMZ&yJQFH>Y$My*^q<}cFef?cBB7a~sJd7b~P7O$FMMcHhf+Df7)=rR! z`vfca2X;DEQX{rFBleloP4>j@{H5Kk>d^E4&4h@>{6C=eyY1X1ccR(m+GjYPxr=88 zf6jWy+Xb%+Kejl%bd(Bbcq3?Da2-6rfcXJ__2K7p4ovc< zUZfMO#69q{DH%|`JQWLKEnpQz@SX)prG#^*hpqPctXHIn+_e$7bUYoM`aD{uUMRjL ztY<_YPNK0PapEx zAAzSs=ROAChs%6XC6+WDy~*BkU04Ctz8t(90j7N4CYLUuTyutodpR1mJQt@mjp)V9-#Z};0z>Wd7=Xh%}ih^9DCW@6SI;9>0<{3~6K+jNl8htNRf zvaDHpn|?6(93C~IRaTMH7jz;&s3(6mp#ZrWam&o=0m3InOXNX9qi^|LTM-yg65GE4e`q9k7R$_d@hUp>8l_Piqzz-L>Q ze2Tn2#7I)x(Gu6zi?*yHQg#=Fg87HD8uiI4uPJq-FcvS8Zawp4VRvgW=%hygTjO4#Slkk_rejKpZyor?at_E2gdGD09&81aYVS+{EkX}MmRE+7F zs?jQe0v(NVGp_C}Lz%4J7i8~!)!F!tCOBN9srAg|vphs|VH5vS2rS>ddO$)4v8^*R z6*$ycc4zsR00r~KXC9rSt-29a)nB0Q92dku+3}vk zcD)eK3;y#c@Cv$m_pvHZfLd3WT-YeXRcxz^cLm2_(N?Mx+hvV6p#F(J&ey9|Cwl1m z5^I6t^M{{QbpG>1ejw+cZoS!g7t^Os8R=K1N`!@<5O)znzZLeq-uU21-Li$T2M@Pc zx2fGDhj*VLh0et&B(bI~2`1H@ggBC3=2ha`y9ZDsMP#vaTg9c)BcP zc}Vb2J-_e01%7c@fcP5D>jelWe|^Xr80O z3ftH(qLSiDjtT9%zrRzv|8vU8E}={MmZ#Sdbi%RT-atT0is&HU<0F3k#_NM5&s`Iq z3HJN-ZwQw9o;Y1|%lK13$H5bHxrt3cM=xLwJ>Z&p$2E9rsqTD}b$Lobjd%W8%4%PS ze|q%+LO@N2yF-Gi%@83yjataseY@zi<^ZUTRvt6)Pb^uSB7;PW`=sekh z`fg{kYMPV&Sxtbq2`^u13-XT~bdf$JebF~t!*`DDU!cN{Q?B!}ctz4XI zqS&;;0#qmJ1Jd47+ycW7J*}4=zWp+w1Kw`+GOg**WL;UYmR`=aoU<9DUE z>la>qfBEbOT%U+P_#2N#u&w3^^gJ3>ijdlC6_ZGl!(rjQLBtXhWi*Tpqf;3^TGF@- z8`wlg1Vu6n)k~YG^HN2or&#w8(%qFs;V>?bK{FxXK*$|Xb}7hn>?Qb7NA4ynMqlP* zCfwSC)a0xxk_H9QySMU`yVH8lY|J{FNC|@BSfE$DCJuL&`+ph37{{{Yo{eM`v~`4- z29`Lad}^D`Xc0lch>~AY?_Pm4RRKEU@hP7QD2Jkoe4gF~dl)6N{)Bfi3Wh;)xv`XXTc)lL*^-R`BH#k&1(1cu4o&sqiP zNm=vE^a(ls{t_$&K`s9V9PG=#3~VxuAvL*|M-qVmUW8nkGEibz4&(OLYp}A@^)boD zVx?GS57qr6i$3TslH3zxEwQ_T>MfL_6muXlr6Mtups7hRL1}7>l?i+Ce6$X^rJR55 zBik;HJ!2)dTlQ?=`~RfRDG__~oo$Wkh^XhfB?iu*Hb)hSs;_{ zAd+Xpqe%#a@EQtGEMB^*;C*e3>Ka6;lo5hBJWE3Iyo04UyeEP#10VMZluV8zIP;^P zL|f5RtGE}f1|2m0vPbm7ZXw7X<#hV;GL!D}PO`i!>7TQ3&6WxZNj$%bSjsP`mX`Z0 zsncUa>Za*iw{$(F$t8k}58F66NZTC_GPn$xsn8Rw<|U|t<}BFBNYp$;=4=~Wxurz1 z7DX`Yj*JN~OG2dtg4|stlC7x0!tfvmS4l)0$w>mfPpdhLxqhk)+ns8B>-4eUKV4@& z{!+|j{}ZV92LGDG z@ijTx|wtEZ##x;X; zI1;z==&SpwWH=}56PV|R=^<)FaL&Ajxf>!yM}8aUe#Kw<-gF}+mJz7MAG740lUB0T zO5^~5;1(LIK;kc04khERg&3K@Ly@W&i3u`P(3PvhJ)p&c^WcMta%!A-ln7T9&iEkg znLPMck#6=EW+Dy;&PjkgZ`63AIy{VDmyNNs@eO%{q<@uTb3!qd3?hO)C=JmrV3|^~ zh=>k?!i!53+BPYc8@2un+3{(m^1b7X{4YPIJ+4iE^ubOO`~$LB+5W_G}}RSs{bq zQxhwXc3JV^p31RNA(l<+C`>L6p4GcsSV9gB;oKlOiGAm1zQW0=?4_it6S9FhKPLVlDtuS{d zK`VwHlCh)+GQ2UqJ*#_8hL0M$)6l*}51kJVs8wOz=)_lvEy0s8DJ5@X*6U=#On@i* z1tBLoG_MS;2ArL|c5FlU(Eff_HF#>8R zVn9kLB25fMnvJHSqE4s*=_pcyh9&_~QABBK=%GkgKu{xM0Ywq@EB2G$^Q^Phc>}X% z{<*JvuD$nX!%5E+psx$C*o;>&yn8XVLFX91iUixtI0-eD7%36&gJRl-D0-cuw;>80 zg4+VF%&~H7Fq*1&87ueiUvW)X1M9;bxk4%Mz&?_?*!-eU;;j-MC{R?{tP~bxprz-2 z0!(wX{k*1h)AU=7V#+DxaFH5V_wGVP1zEO9>IVC}>(C0Ix2Y;q-#8f;1Pjm7 zY>Bp)tyi!$^Mo@72ifiiba$JI-8nQBs{`NqYP_vkTVi72$zSDEzkbn>ekm#L`noQW ze*}x&^u1Jk&SM_7y0lqL5kp74ICsOPM>f;3(;*L1dl%qa3;8E#*FE+s z!cR`JhdAmCIN-pPvA^!w)~@%d?Ay+GlyI^Gt$g~moowAG?fYPLufwwa8{kga%h6!cIH^<5N^=P|++{z9~}XJ5E#w zMu0Su79X#Py{l6EhZFT(!RHS&?gL88w_SVvAkexo_AS2co$^c&h_S>hT9rh}qS-Qr zB4UGzC8ouLTb>O?{lNN2AnQ-D#&|)V5+wMr(U>58@{RPW8m7FdN~BW8DK;B3ROd^! zKXRa&Er{V=fs{ata*odt(Dx5$I?)9*f)+ut{pKL{bN#gc_T6ptFYS!a$PNU)lyF9c zhJ*Nj+vD>JfkJwmWx42G4h>84mV%~%bN05uGe_2>1`dhU&4J^h!XckC2`fN8zJI{U1U37xN5h{iUp_jQA zmvGzl1vzK|5ac2kh2vgY)?6lnjQ5>9xr$AlGw$FDTV3e;TT=+M+_%K^JG2SP{af zYuJ+7?Dl-|T7{cll_(E#h|cyd#>9@doXjs$byT6GlnK!sV%bKv%I)UrYio**ET#Oa zxE!`(0bYs1>*KJ#W~bkIm|?W*;M%QyiJHP_QGoD5DDn*vY97WY;^J&I{B3b7i)Lsn$5@3UP}YUi zw+RTq&p%+iA~(9WE!p#iP`l)1wQDPX<7F)Qo9AkQR?juTMEu z=Nthal$pA00qL+YbmKCvur=MdQMcTDJ@JIoduIplEKmntOv(p110&^}ivlTNYuXMH zHXD;6IkJ=lc+O)Yn7HXA7s9Q>t|aQ#%{OfX<7OzIX+7|KR=@~6AW3lurN}%<%esF&ROHhv!v3; z(l8(1Nuu>?Olfq{e1E(Qd4tL7F}pOICB?Hq6hHFGKOo1>SmwG@er6~s4a5M?&Jo(xs_o6;Aypa$-m7Ys5n@cds zyHxuNj}tz9BKQReP?(vVhbs9QnQEmc`+?l6gKJe}8X`MN0VZFi3Wm`x0IcXV5Eg<( z`lnaqr+beKn!0AL@noZ92%PylI_>45zgH$H($NQpM!(V9(RJ+iyn)MG2V~K?nI0Y=c(iox<4sv` zTkRiY(h5Q%8N+C*oZIFcD!aN!)-mJQwG96&;`{gL`3en7Bi=V$!m~8y_{P*%yqEMD7m{2hZhLRYUGg5gpnM#ssr3JQv_0NRh&jE-WsukAZ5AV+0#l_@eTE^3U zMcbZT*@FQ_s+|Q~UyyVH$=oAD{(FHEX!&eaaz`~5SOhMAk@|Ud9{HcfZbtxGZh{mz z7E*FY^qvbERKy=dt)B(%_?+B{jQC3c?>=TQO_n|a&40naRX6D@If=JKa+ zX=0ub^A$0Y|-tE z{EQ4P5=TQ22L?C|N+4gkFZ@Aq@ClWKXJfA_lumoTI_ah;TEj)3E7o>)E&mOC@ii;o zYO)=b5-%^sc0-cfQYZ%#`%i}WyzE7-llseRxP61GQ8rJtH%*qFVaV@s{N07Q9BG(Q zyY?gBZ@K`I-DPq%BM+Zmo;z)wc(@HuVN7(%e7fS>hkWl#mM4Ec2vJYa(c8ZjsvGE%GGHCZx=fZmFC*W6AMK6I;q((P6A6q}4oTVO(Osqf2*-w7+M@g#mI8F)IeF5} zV_Fikm@SkByTrY<=TWuQ25VZ&O5u{UL>bY{2OcIAn2IDn`;@@;x*8sQ8r-k?e z_m0~_rH=4b(}Pc-|1etPfx0vtCDDpd>!$sv5P9SF~xjaU{PHToU-Bf`iZ0 z9L0ixCY$+kZ9!L~zW8X&SX8f?uj_cEKl8Xwwd3aa8+U<1iX=sAya&lVWSj6W_8Bd9 z(M}~WtS)@jI-+32$fJI`d0XTk)uPwwlphXpjXTsg0bFE8U>fjQaW&HQEC1sCrxToJ zwTaddd0(}b;5%2|SAZXbaM}Jat2*5`Vd*u95K__tS$}m<}K7Z@e0^5~e59WjQ*9t=39po_L zQ(mkhN2B1%qkr(pe>AZP7QgFn2ZemUB4-m<0x0I+Rfs{4DmGr?0{%vLsl-miIiN5w28n#yU$j* zVkF6Fi!5C4sa#aV*TpnRfa+F1A+5z$@<=&ohFjs>NToPl=g}9kz<%Ho- z{Cs5-p*AiyG1?+hIW4-IB$M1>El|`*H4_DsZ=PQ?t3TTK%ly&E-19aBNU~B)(Ij~) z=pFWUk?%s|@rfYB*Og6V=aVws@B$s{J3^j$GK{~n9S0LmTVRraTwQrIC^)2q;)J^s z(@ex>680C{;vK!5;;ob-%eGTU6gC^kB96`O#*7N9=_B33@dU2B7&2Exae}?Nk^_mI zr&Lf|b2iC**>lU>#e8<c6S3B=UAeEBKp)o? z9*#p%_*@J5I$Wg%1`)^)P))O@`4dt;w^hg?%4r*_;m`_$hzLZR%W@u%Zjfbs%(akh zaXG;byUK)_rMM!9v(#P@jZ;K2tW#%C%@bE=z;KCI+}R~IWQ zCbc6fY^IJz>}ESDBx`Oil7VN5X)@H@6#|MQjM|V~E@W$-T`n~y_Kb>|hAuG4hZ90> zh}P$%1aci!Q7@qYdnRu`Qxv)!ujLZ#aCXQ4pB(@ zY;1B7#_A*w1N?9!=|mz!M;`{9H^=<)Iq2#FiUrEJTWWZ-a{F?ouQG!}vk~ZR#WR$L ze~Z235kdh07Q$qS8fOrcDA`27${lzoM@_{m|hqvn2P3@~#Bprdj$xe8VFxmb| z=3Hkl?=#k;Kb|5`go!;DIE?QH6`TiN6+fMvy{%*UK{m{}EYn0i}s)#FU@rbwR% z>3wgCmpMvH;H-9&+Pka-|eSQF-{=o7Fx|M{nS1}!cd>GOqn`uEhAR~~1N$fJ+#-`;1*2KLiI~hhy zRF<{G|N4$!cjdCGFR+A0MD=>eBYRZzj!#`LVwBuT0L*s*weWbLX2@e2?7536#ku3`NkPSPigc087BSxM?99j*L;*d5V78s@S$8ZrDwMy`y z=dQ{*OO|{nkQiz(mVoIiOqn|a=g*%_z5CN(&JhZ| z+?bUA8sf{m)%AZgGf(_aRP`W6G==dr#TYSMtU;C0uBN)IV`Z9CM;7deCy^#wFsJT4 z;aBCq9^Kxj5#6nKnbZsQpl1E&*Aiq>zs2+7uM2BmAau`Q!18!ZU(UAGmq|lEZkm_= zUYcbNDC(50C7@*9$%C8RwINOnje*hdw8eyz z?-t-2b$?&)eJg?Bj-Er~lhCX*wDsWsO3m>F7}h0BZYgH;iZs3wV^i`Keri8@)J#nK zpAitD0gBO^tEKI@?O|HklgX5rB$5qZ<_z`11ukAwe;N!YyNekmj+p|!87tHd{+?t2 zFG8UID+)ga3Q0%i2`{yh3n@giic{X*E>!*LY$hSeHW3D%`kmGLw&TGcx$)+lCx6mc zFZGzgDU!)+;Uy-U_CBpaY^RIOTL+XzbWAk??asvPbfFBmOU3}QIwaQp$lear2tV6~ z(xn)ShXv1sd%%js$x!yAo>kKo+GqP91mw925KSqxn?f6uHWY?1cJEI>FjLP1hEmpX z%JNeRdD|2|Gn{Web=}I^r+y*~2z_pQb+RV4oJ^GU-Hkve2atw3&TAOg; zC?z05#1kbc4cfqWx(D+q@MIZkpR?l5Y;Yb0YFiX{qAdD`KkLv)}69!lG`S!yjk_mfopl<4bcnE^HK0um$%eCXELmO@G?t)Hhulo$Mft@02A@< zxf`E&KD#j2h#wqIJZ3HRY4w<1$dumL{1wV}q=0CbNTH@KIXe9!JDVTdC}R^E z0uL@^zOoYms#~hu!DT1=u2%S)PItLhOQECt>o?SSjSm2|L`T&F)?fbnUoc*oHHL1=CIDPxG8C((F%59_#*4E!k;h;wNtm zqDvVWuh3x-4(J_DtI9!XXW9gnlyRTHD=Un}jwBDbRPJeuSb2-CFEqp)qDG8zxU&nO zy$M@FutRF>98JciJS#8w%-;YtlOsed6vGJu|- z$%t!3Ew!siioXO`7?Vb~y7n>Zt*)3_a-??JZrxQw-u2P6_u^lgiWTT(DRX*VDhQa{!@2~?g zFz}-BMx(h4BBOGd6M-__Y3FQTo{fL`w?JAr_H};z$Q&Z%lj@>9!X_y26^euYU}{FS zVVJg4gUuNvSa-C~Cy9Jx|5gXuYL|%sjJCY#hC}XgA*S>c-%~+EkXm5X$xo^vhT+V# zgl26*LQJqma9yTAOfwIkj}vY$q#lCxMCL#g6~2>(bGNdl5c}%Qy?3t8gp;=O)7L(D zw;W>UPuhD?y^ux=uGg+=HMuy3+UPGBhuYS)_tI}dj?+m8Tsj+qXoOw%7Gcbbu*&R* zj&aDHj>w(9REUrp`5#zY>t&$CN*x0EW=kuyQxVOM%y&fZGq>lXiOfpV4q+g>jUn)v`+P;x{H1CWOWCe#d8!|kubZ_T^VN$#o0 z#H%R4GbpC&X;S}|9v&6aenBCguF9R+^=?<1?tav8zYXFj!^Y&=TkKs&zH7MUBxe`GM6#VEUI?iu4VU0hz2L;E?>J=T9f$6C+N-mn&@P9i zk8P0l9ms5;@~SR1+p$YnNL9_=nfvek&}2{vtE-b$=xtSh(8pEgm}b_YEU6PI4Wzw^ zMiX^k4tdreyy*Sa#;qsGv@7|IyVzY< z&}>29mn_sq0;wicUj)NZPs{zrf{}%g0t=1y5Gd&ma5Y60NQVHr4TVh&V0LDyP;^1S z@+iY>NpV$|8bi7in+OWAJ-7BgQaQ}^z7oodXi7^;`k6@yK&&kV!!z3uE+)H%O%hQD zMIWZ2Ae3yqwPaN3%!7NG0BR`IfwS#h`$vhzA8?O}Nky2In08YVFvDzz)R0$6yL8-x z?KdFYnswos2%8JkQMxyze0n=9tf!OP`+9hhAOZl5s^Fp&yPsYdUZ-I8TWv*ay>qKUtOPJoI9V zPAP;>OZf?7L}A$3QkN7?SH^T+HJ%JID2h+CuDrPq{loxZ7NqTEB;yYltmiL=xknIu)m;mhuCoKfM@ zF#XFQ+{VMTZAZ1iCm<5Z4mc~^fF!X|8(?KDtZorm!&jti-BmwPb6s_!sOwAC?1_7& zr|-?4YgS8Y_DlO8B62pTMXjL4?@~)?Y0K=DR<+7jzna$4Ypt_4+teD{{O+}twzbVZ zY**`Q_v>pf9c-T+xvw^H-*4)E>FoX47Z224J@9+`p!EHN*-sDEzC85%{;>4d!`XjA zGF<2{CFEg+b8;PIg${q^4xU=a+`3M(R;RySC(p2RZetgDQUOtZMXlf zZr<+hIoBStN00yB9-d#%-2Ps2aIb$@FYjRQ+|fRAY@h#$KHllRxpN|NlE^|vqdofIYHSGU(nD>5o?$ZeQ%ZUH?5#FznxqqYT@X>uzqh;99XL4ie3S;|} z$I8^ko~;{K*BalaH(q8q{%qrf`lg9}TPDgZC!Xz?RJWbnw`;O&_vACz$Lb!B_w9XL z=J)v7{wM0ePxgg9DLeS&+0iNW*r|OdrpiuFJv-Mi4}-R{S#)hBnb&|#AgejVTwRW9 z7vx5-^7_A&8U26%A7y6C@8kcY%p7oU3AyXAF@JaH|4*68anf`9(fz-E7uTBDR@whi zW_E_h);XJ(xn3E6qbObNbzSc&ptcIL)6V^8vFC%ArS^7qT*H$W3&{%^gGZb9R4@O0 z9P#(z&Dk4U+Fq*$F!w(*j2QT!bI$6)e6&XdHR|2J4)2ZnLX?*Br6EV{6U@K%V`Xij zalZ7StaGw1fo6*Lb?@!NmxaVmm7SeBe5-B8YHl%V_RRI#-QRy(ji7?N7lPu)x4W8u zAG{yi>P6q-B{%V5&rgEJ$no;o=il2sb5MSLZv{WjXtXL{oB34oBjll6RqL+6l(G%E z^*ctE{xv#k!3L_P(+F8$G?e%l=Qk8fGO3KEKUp2865fd(X=`soHW$e%~ad*vz z>Sggg=%7H^s>2>wVlSTRfV-Bp^z^sAiDSUT_1!Sy-S)8|#t)|3#51ZW#wrgh%J(;Z z?}#Rs$vE8Rtuq)HwYp{WaCNTv=kD=eFN}v={rgSZKN-22ImLL+Y;vARn4k~45=SiB z6xvr7ts3IKTUyD@{bN`W)%v!vhIQoa?tR@ynsqeI()choS-Q`0{E?1{(;d%e^dXPQ zU&^dWmpyRz7D-i;=a$ENyk9S zftT^sd&?GqIpx-#)B9P@wP&B67zPjQUsG>P6hC<*pIkGUS)OXS7N8k3?_K&TW4^!a zM`nfhbNX~J>8IB#>CJ$2<7BR5{ z(^P^AsBZGr-ch+P!!NXHF}*8EO6&Xf$`cC~?OOHkeLvp+A7$qM>33;bE-bc0U z*DW7QZ!EWcQXBqu|5NG5KMz;Pa>$Mq-bUH3&tzA{p3l6a>V2!^9G(7E-p%!cU&tey zAAR9{+BPD=%IqBbTDH-7;+wkbp2y$Hj_#ZKPd(?r%ztG!56^yAA365yd)cQmFV-YH xftPESH)g&1q2YS*^^eO(%ijLf$f;iZdHLq`_rEkonwEcE{&fG-Z>2ie{{bLgLW2MR literal 0 HcmV?d00001 diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index d6f4900cd..43e6daeaf 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -856,6 +856,52 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_strip_planar_rgb(self): + # gdal_translate -co TILED=no -co INTERLEAVE=BAND -co COMPRESS=LZW \ + # tiff_strip_raw.tif tiff_strip_planar_lzw.tiff + infile = "Tests/images/tiff_strip_planar_lzw.tiff" + with Image.open(infile) as im: + assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_tiled_planar_rgb(self): + # gdal_translate -co TILED=yes -co INTERLEAVE=BAND -co COMPRESS=LZW \ + # tiff_tiled_raw.tif tiff_tiled_planar_lzw.tiff + infile = "Tests/images/tiff_tiled_planar_lzw.tiff" + with Image.open(infile) as im: + assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_tiled_planar_16bit_RGB(self): + # gdal_translate -co TILED=yes -co INTERLEAVE=BAND -co COMPRESS=LZW \ + # tiff_16bit_RGB.tiff tiff_tiled_planar_16bit_RGB.tiff + with Image.open("Tests/images/tiff_tiled_planar_16bit_RGB.tiff") as im: + assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGB_target.png") + + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_strip_planar_16bit_RGB(self): + # gdal_translate -co TILED=no -co INTERLEAVE=BAND -co COMPRESS=LZW \ + # tiff_16bit_RGB.tiff tiff_strip_planar_16bit_RGB.tiff + with Image.open("Tests/images/tiff_strip_planar_16bit_RGB.tiff") as im: + assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGB_target.png") + + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_tiled_planar_16bit_RGBa(self): + # gdal_translate -co TILED=yes \ + # -co INTERLEAVE=BAND -co COMPRESS=LZW -co ALPHA=PREMULTIPLIED \ + # tiff_16bit_RGBa.tiff tiff_tiled_planar_16bit_RGBa.tiff + with Image.open("Tests/images/tiff_tiled_planar_16bit_RGBa.tiff") as im: + assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGBa_target.png") + + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") + def test_strip_planar_16bit_RGBa(self): + # gdal_translate -co TILED=no \ + # -co INTERLEAVE=BAND -co COMPRESS=LZW -co ALPHA=PREMULTIPLIED \ + # tiff_16bit_RGBa.tiff tiff_strip_planar_16bit_RGBa.tiff + with Image.open("Tests/images/tiff_strip_planar_16bit_RGBa.tiff") as im: + assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGBa_target.png") + @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_old_style_jpeg(self): infile = "Tests/images/old-style-jpeg-compression.tif" diff --git a/Tests/test_lib_pack.py b/Tests/test_lib_pack.py index 8a1460346..af7eae935 100644 --- a/Tests/test_lib_pack.py +++ b/Tests/test_lib_pack.py @@ -320,6 +320,23 @@ class TestLibUnpack: self.assert_unpack("RGB", "G", 1, (0, 1, 0), (0, 2, 0), (0, 3, 0)) self.assert_unpack("RGB", "B", 1, (0, 0, 1), (0, 0, 2), (0, 0, 3)) + self.assert_unpack("RGB", "R;16B", 2, (1, 0, 0), (3, 0, 0), (5, 0, 0)) + self.assert_unpack("RGB", "G;16B", 2, (0, 1, 0), (0, 3, 0), (0, 5, 0)) + self.assert_unpack("RGB", "B;16B", 2, (0, 0, 1), (0, 0, 3), (0, 0, 5)) + + self.assert_unpack("RGB", "R;16L", 2, (2, 0, 0), (4, 0, 0), (6, 0, 0)) + self.assert_unpack("RGB", "G;16L", 2, (0, 2, 0), (0, 4, 0), (0, 6, 0)) + self.assert_unpack("RGB", "B;16L", 2, (0, 0, 2), (0, 0, 4), (0, 0, 6)) + + if sys.byteorder == "little": + self.assert_unpack("RGB", "R;16N", 2, (2, 0, 0), (4, 0, 0), (6, 0, 0)) + self.assert_unpack("RGB", "G;16N", 2, (0, 2, 0), (0, 4, 0), (0, 6, 0)) + self.assert_unpack("RGB", "B;16N", 2, (0, 0, 2), (0, 0, 4), (0, 0, 6)) + else: + self.assert_unpack("RGB", "R;16N", 2, (1, 0, 0), (3, 0, 0), (5, 0, 0)) + self.assert_unpack("RGB", "G;16N", 2, (0, 1, 0), (0, 3, 0), (0, 5, 0)) + self.assert_unpack("RGB", "B;16N", 2, (0, 0, 1), (0, 0, 3), (0, 0, 5)) + def test_RGBA(self): self.assert_unpack("RGBA", "LA", 2, (1, 1, 1, 2), (3, 3, 3, 4), (5, 5, 5, 6)) self.assert_unpack( @@ -450,6 +467,43 @@ class TestLibUnpack: self.assert_unpack("RGBA", "B", 1, (0, 0, 1, 0), (0, 0, 2, 0), (0, 0, 3, 0)) self.assert_unpack("RGBA", "A", 1, (0, 0, 0, 1), (0, 0, 0, 2), (0, 0, 0, 3)) + self.assert_unpack("RGBA", "R;16B", 2, (1, 0, 0, 0), (3, 0, 0, 0), (5, 0, 0, 0)) + self.assert_unpack("RGBA", "G;16B", 2, (0, 1, 0, 0), (0, 3, 0, 0), (0, 5, 0, 0)) + self.assert_unpack("RGBA", "B;16B", 2, (0, 0, 1, 0), (0, 0, 3, 0), (0, 0, 5, 0)) + self.assert_unpack("RGBA", "A;16B", 2, (0, 0, 0, 1), (0, 0, 0, 3), (0, 0, 0, 5)) + + self.assert_unpack("RGBA", "R;16L", 2, (2, 0, 0, 0), (4, 0, 0, 0), (6, 0, 0, 0)) + self.assert_unpack("RGBA", "G;16L", 2, (0, 2, 0, 0), (0, 4, 0, 0), (0, 6, 0, 0)) + self.assert_unpack("RGBA", "B;16L", 2, (0, 0, 2, 0), (0, 0, 4, 0), (0, 0, 6, 0)) + self.assert_unpack("RGBA", "A;16L", 2, (0, 0, 0, 2), (0, 0, 0, 4), (0, 0, 0, 6)) + + if sys.byteorder == "little": + self.assert_unpack( + "RGBA", "R;16N", 2, (2, 0, 0, 0), (4, 0, 0, 0), (6, 0, 0, 0) + ) + self.assert_unpack( + "RGBA", "G;16N", 2, (0, 2, 0, 0), (0, 4, 0, 0), (0, 6, 0, 0) + ) + self.assert_unpack( + "RGBA", "B;16N", 2, (0, 0, 2, 0), (0, 0, 4, 0), (0, 0, 6, 0) + ) + self.assert_unpack( + "RGBA", "A;16N", 2, (0, 0, 0, 2), (0, 0, 0, 4), (0, 0, 0, 6) + ) + else: + self.assert_unpack( + "RGBA", "R;16N", 2, (1, 0, 0, 0), (3, 0, 0, 0), (5, 0, 0, 0) + ) + self.assert_unpack( + "RGBA", "G;16N", 2, (0, 1, 0, 0), (0, 3, 0, 0), (0, 5, 0, 0) + ) + self.assert_unpack( + "RGBA", "B;16N", 2, (0, 0, 1, 0), (0, 0, 3, 0), (0, 0, 5, 0) + ) + self.assert_unpack( + "RGBA", "A;16N", 2, (0, 0, 0, 1), (0, 0, 0, 3), (0, 0, 0, 5) + ) + def test_RGBa(self): self.assert_unpack( "RGBa", "RGBa", 4, (1, 2, 3, 4), (5, 6, 7, 8), (9, 10, 11, 12) diff --git a/src/libImaging/Unpack.c b/src/libImaging/Unpack.c index b4ba283b2..5dac95c1d 100644 --- a/src/libImaging/Unpack.c +++ b/src/libImaging/Unpack.c @@ -1363,6 +1363,94 @@ band3I(UINT8 *out, const UINT8 *in, int pixels) { } } +static void +band016B(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 0 only, big endian */ + for (i = 0; i < pixels; i++) { + out[0] = in[0]; + out += 4; in += 2; + } +} + +static void +band116B(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 1 only, big endian */ + for (i = 0; i < pixels; i++) { + out[1] = in[0]; + out += 4; in += 2; + } +} + +static void +band216B(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 2 only, big endian */ + for (i = 0; i < pixels; i++) { + out[2] = in[0]; + out += 4; in += 2; + } +} + +static void +band316B(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 3 only, big endian */ + for (i = 0; i < pixels; i++) { + out[3] = in[0]; + out += 4; in += 2; + } +} + +static void +band016L(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 0 only, little endian */ + for (i = 0; i < pixels; i++) { + out[0] = in[1]; + out += 4; in += 2; + } +} + +static void +band116L(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 1 only, little endian */ + for (i = 0; i < pixels; i++) { + out[1] = in[1]; + out += 4; in += 2; + } +} + +static void +band216L(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 2 only, little endian */ + for (i = 0; i < pixels; i++) { + out[2] = in[1]; + out += 4; in += 2; + } +} + +static void +band316L(UINT8* out, const UINT8* in, int pixels) +{ + int i; + /* band 3 only, little endian */ + for (i = 0; i < pixels; i++) { + out[3] = in[1]; + out += 4; in += 2; + } +} + static struct { const char *mode; const char *rawmode; @@ -1448,6 +1536,12 @@ static struct { {"RGB", "R", 8, band0}, {"RGB", "G", 8, band1}, {"RGB", "B", 8, band2}, + {"RGB", "R;16L", 16, band016L}, + {"RGB", "G;16L", 16, band116L}, + {"RGB", "B;16L", 16, band216L}, + {"RGB", "R;16B", 16, band016B}, + {"RGB", "G;16B", 16, band116B}, + {"RGB", "B;16B", 16, band216B}, /* true colour w. alpha */ {"RGBA", "LA", 16, unpackRGBALA}, @@ -1476,17 +1570,42 @@ static struct { {"RGBA", "G", 8, band1}, {"RGBA", "B", 8, band2}, {"RGBA", "A", 8, band3}, + {"RGBA", "R;16L", 16, band016L}, + {"RGBA", "G;16L", 16, band116L}, + {"RGBA", "B;16L", 16, band216L}, + {"RGBA", "A;16L", 16, band316L}, + {"RGBA", "R;16B", 16, band016B}, + {"RGBA", "G;16B", 16, band116B}, + {"RGBA", "B;16B", 16, band216B}, + {"RGBA", "A;16B", 16, band316B}, #ifdef WORDS_BIGENDIAN {"RGB", "RGB;16N", 48, unpackRGB16B}, {"RGBA", "RGBa;16N", 64, unpackRGBa16B}, {"RGBA", "RGBA;16N", 64, unpackRGBA16B}, {"RGBX", "RGBX;16N", 64, unpackRGBA16B}, + {"RGB", "R;16N", 16, band016B}, + {"RGB", "G;16N", 16, band116B}, + {"RGB", "B;16N", 16, band216B}, + + {"RGBA", "R;16N", 16, band016B}, + {"RGBA", "G;16N", 16, band116B}, + {"RGBA", "B;16N", 16, band216B}, + {"RGBA", "A;16N", 16, band316B}, #else {"RGB", "RGB;16N", 48, unpackRGB16L}, {"RGBA", "RGBa;16N", 64, unpackRGBa16L}, {"RGBA", "RGBA;16N", 64, unpackRGBA16L}, - {"RGBX", "RGBX;16N", 64, unpackRGBA16B}, + {"RGBX", "RGBX;16N", 64, unpackRGBA16L}, + {"RGB", "R;16N", 16, band016L}, + {"RGB", "G;16N", 16, band116L}, + {"RGB", "B;16N", 16, band216L}, + + + {"RGBA", "R;16N", 16, band016L}, + {"RGBA", "G;16N", 16, band116L}, + {"RGBA", "B;16N", 16, band216L}, + {"RGBA", "A;16N", 16, band316L}, #endif /* true colour w. alpha premultiplied */ From 64500434c21d2a038698dcc6c7b38cb04fce01e1 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 31 Dec 2020 13:01:35 +0100 Subject: [PATCH 275/325] Implementation for PlanarConfiguration=2 Tiffs, manually merged from f566c8a --- src/libImaging/TiffDecode.c | 222 ++++++++++++++++++++++-------------- 1 file changed, 139 insertions(+), 83 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 746994da3..f464ee23d 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -321,8 +321,8 @@ decodeycbcr_err: } int -_decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff) { - INT32 strip_row; +_decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, UINT8 planes, ImagingShuffler *unpackers) { + INT32 strip_row = 0; UINT8 *new_data; UINT32 rows_per_strip, row_byte_size; int ret; @@ -334,7 +334,7 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff) { TRACE(("RowsPerStrip: %u \n", rows_per_strip)); // We could use TIFFStripSize, but for YCbCr data it returns subsampled data size - row_byte_size = (state->xsize * state->bits + 7) / 8; + row_byte_size = (state->xsize * state->bits / planes + 7) / 8; /* overflow check for realloc */ if (INT_MAX / row_byte_size < rows_per_strip) { @@ -367,35 +367,35 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff) { state->buffer = new_data; for (; state->y < state->ysize; state->y += rows_per_strip) { - if (TIFFReadEncodedStrip( - tiff, - TIFFComputeStrip(tiff, state->y, 0), - (tdata_t)state->buffer, - -1) == -1) { - TRACE(("Decode Error, strip %d\n", TIFFComputeStrip(tiff, state->y, 0))); - state->errcode = IMAGING_CODEC_BROKEN; - return -1; - } + UINT8 plane; + for (plane = 0; plane < planes; plane++) { + ImagingShuffler shuffler = unpackers[plane]; + if (TIFFReadEncodedStrip(tiff, TIFFComputeStrip(tiff, state->y, plane), (tdata_t)state->buffer, -1) == -1) { + TRACE(("Decode Error, strip %d\n", TIFFComputeStrip(tiff, state->y, 0))); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } - TRACE(("Decoded strip for row %d \n", state->y)); + TRACE(("Decoded strip for row %d \n", state->y)); - // iterate over each row in the strip and stuff data into image - for (strip_row = 0; - strip_row < min((INT32)rows_per_strip, state->ysize - state->y); - strip_row++) { - TRACE(("Writing data into line %d ; \n", state->y + strip_row)); + // iterate over each row in the strip and stuff data into image + for (strip_row = 0; + strip_row < min((INT32) rows_per_strip, state->ysize - state->y); + strip_row++) { + TRACE(("Writing data into line %d ; \n", state->y + strip_row)); - // UINT8 * bbb = state->buffer + strip_row * (state->bytes / - // rows_per_strip); TRACE(("chars: %x %x %x %x\n", ((UINT8 *)bbb)[0], - // ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); + // UINT8 * bbb = state->buffer + strip_row * (state->bytes / rows_per_strip); + // TRACE(("chars: %x %x %x %x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - state->shuffle( - (UINT8 *)im->image[state->y + state->yoff + strip_row] + + shuffler( + (UINT8*) im->image[state->y + state->yoff + strip_row] + state->xoff * im->pixelsize, - state->buffer + strip_row * row_byte_size, - state->xsize); + state->buffer + strip_row * row_byte_size, + state->xsize); + } } } + return 0; } @@ -408,6 +408,9 @@ ImagingLibTiffDecode( TIFF *tiff; uint16 photometric = 0; // init to not PHOTOMETRIC_YCBCR int isYCbCr = 0; + UINT8 planarconfig = 0; + UINT8 planes = 1; + ImagingShuffler unpackers[4]; /* buffer is the encoded file, bytes is the length of the encoded file */ /* it all ends up in state->buffer, which is a uint8* from Imaging.h */ @@ -502,8 +505,38 @@ ImagingLibTiffDecode( } } + TIFFGetField(tiff, TIFFTAG_PHOTOMETRIC, &photometric); isYCbCr = photometric == PHOTOMETRIC_YCBCR; + TIFFGetFieldDefaulted(tiff, TIFFTAG_PLANARCONFIG, &planarconfig); + + // YCbCr data is read as RGB by libtiff and we don't need to worry about planar storage in that case + // if number of bands is 1, there is no difference with contig case + if (planarconfig == PLANARCONFIG_SEPARATE && + im->bands > 1 && + photometric != PHOTOMETRIC_YCBCR) { + + uint16 bits_per_sample = 8; + + TIFFGetFieldDefaulted(tiff, TIFFTAG_BITSPERSAMPLE, &bits_per_sample); + if (bits_per_sample != 8 && bits_per_sample != 16) { + TRACE(("Invalid value for bits per sample: %d\n", bits_per_sample)); + state->errcode = IMAGING_CODEC_BROKEN; + goto decode_err; + } + + planes = im->bands; + + // We'll pick appropriate set of unpackers depending on planar_configuration + // It does not matter if data is RGB(A), CMYK or LUV really, + // we just copy it plane by plane + unpackers[0] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "R;16N" : "R", NULL); + unpackers[1] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "G;16N" : "G", NULL); + unpackers[2] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "B;16N" : "B", NULL); + unpackers[3] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "A;16N" : "A", NULL); + } else { + unpackers[0] = state->shuffle; + } if (TIFFIsTiled(tiff)) { INT32 x, y, tile_y; @@ -528,9 +561,8 @@ ImagingLibTiffDecode( goto decode_err; } } else { - // We could use TIFFTileSize, but for YCbCr data it returns subsampled data - // size - row_byte_size = (tile_width * state->bits + 7) / 8; + // We could use TIFFTileSize, but for YCbCr data it returns subsampled data size + row_byte_size = (tile_width * state->bits / planes + 7) / 8; } /* overflow check for realloc */ @@ -542,8 +574,7 @@ ImagingLibTiffDecode( state->bytes = row_byte_size * tile_length; if (TIFFTileSize(tiff) > state->bytes) { - // If the strip size as expected by LibTiff isn't what we're expecting, - // abort. + // If the tile size as expected by LibTiff isn't what we're expecting, abort. state->errcode = IMAGING_CODEC_MEMORY; goto decode_err; } @@ -561,75 +592,100 @@ ImagingLibTiffDecode( TRACE(("TIFFTileSize: %d\n", state->bytes)); for (y = state->yoff; y < state->ysize; y += tile_length) { - for (x = state->xoff; x < state->xsize; x += tile_width) { - /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions - have a different view of the size of the tiff than we're getting from - other functions. So, we need to check here. - */ - if (!TIFFCheckTile(tiff, x, y, 0, 0)) { - TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - if (isYCbCr) { - /* To avoid dealing with YCbCr subsampling, let libtiff handle it */ - if (!TIFFReadRGBATile(tiff, x, y, (UINT32 *)state->buffer)) { - TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + UINT8 plane; + for (plane = 0; plane < planes; plane++) { + ImagingShuffler shuffler = unpackers[plane]; + for (x = state->xoff; x < state->xsize; x += tile_width) { + /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions + have a different view of the size of the tiff than we're getting from + other functions. So, we need to check here. + */ + if (!TIFFCheckTile(tiff, x, y, 0, plane)) { + TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); state->errcode = IMAGING_CODEC_BROKEN; goto decode_err; } - } else { - if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, 0) == -1) { - TRACE(("Decode Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - } - - TRACE(("Read tile at %dx%d; \n\n", x, y)); - - current_tile_width = min((INT32)tile_width, state->xsize - x); - current_tile_length = min((INT32)tile_length, state->ysize - y); - // iterate over each line in the tile and stuff data into image - for (tile_y = 0; tile_y < current_tile_length; tile_y++) { - TRACE( - ("Writing tile data at %dx%d using tile_width: %d; \n", - tile_y + y, - x, - current_tile_width)); - - // UINT8 * bbb = state->buffer + tile_y * row_byte_size; - // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], - // ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - /* - * For some reason the TIFFReadRGBATile() function - * chooses the lower left corner as the origin. - * Vertically mirror by shuffling the scanlines - * backwards - */ - if (isYCbCr) { - current_line = tile_length - tile_y - 1; + /* To avoid dealing with YCbCr subsampling, let libtiff handle it */ + if (!TIFFReadRGBATile(tiff, x, y, (UINT32 *)state->buffer)) { + TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + goto decode_err; + } } else { - current_line = tile_y; + if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { + TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + goto decode_err; + } } - state->shuffle( - (UINT8 *)im->image[tile_y + y] + x * im->pixelsize, - state->buffer + current_line * row_byte_size, - current_tile_width); + TRACE(("Read tile at %dx%d; \n\n", x, y)); + + current_tile_width = min((INT32) tile_width, state->xsize - x); + current_tile_length = min((INT32) tile_length, state->ysize - y); + // iterate over each line in the tile and stuff data into image + for (tile_y = 0; tile_y < current_tile_length; tile_y++) { + TRACE(("Writing tile data at %dx%d using tile_width: %d; \n", tile_y + y, x, current_tile_width)); + + // UINT8 * bbb = state->buffer + tile_y * row_byte_size; + // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); + /* + * For some reason the TIFFReadRGBATile() function + * chooses the lower left corner as the origin. + * Vertically mirror by shuffling the scanlines + * backwards + */ + + if (isYCbCr) { + current_line = tile_length - tile_y - 1; + } else { + current_line = tile_y; + } + + shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, + state->buffer + current_line * row_byte_size, + current_tile_width + ); + } } } } } else { if (!isYCbCr) { - _decodeStrip(im, state, tiff); - } else { + _decodeStrip(im, state, tiff, planes, unpackers); + } + else { _decodeStripYCbCr(im, state, tiff); } } -decode_err: + if (!state->errcode) { + // Check if raw mode was RGBa and it was stored on separate planes + // so we have to convert it to RGBA + if (planes > 3 && strcmp(im->mode, "RGBA") == 0) { + uint16 extrasamples; + uint16* sampleinfo; + ImagingShuffler shuffle; + INT32 y; + + TIFFGetFieldDefaulted(tiff, TIFFTAG_EXTRASAMPLES, &extrasamples, &sampleinfo); + + if (extrasamples >= 1 && + (sampleinfo[0] == EXTRASAMPLE_UNSPECIFIED || sampleinfo[0] == EXTRASAMPLE_ASSOCALPHA) + ) { + shuffle = ImagingFindUnpacker("RGBA", "RGBa", NULL); + + for (y = state->yoff; y < state->ysize; y++) { + UINT8* ptr = (UINT8*) im->image[y + state->yoff] + + state->xoff * im->pixelsize; + shuffle(ptr, ptr, state->xsize); + } + } + } + } + + decode_err: TIFFClose(tiff); TRACE(("Done Decoding, Returning \n")); // Returning -1 here to force ImageFile.load to break, rather than From 77a1a9aba3cc5a2d4c081cc81cd5c300ad3f9328 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 31 Dec 2020 14:35:26 +0100 Subject: [PATCH 276/325] initialize the unpackers --- src/libImaging/TiffDecode.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index f464ee23d..02c1c9f75 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -412,6 +412,8 @@ ImagingLibTiffDecode( UINT8 planes = 1; ImagingShuffler unpackers[4]; + memset(unpackers, 0, sizeof(ImagingShuffler *) * 4); + /* buffer is the encoded file, bytes is the length of the encoded file */ /* it all ends up in state->buffer, which is a uint8* from Imaging.h */ From a921c01102b046df07809e1f3e3a2fc24d078198 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 9 Jan 2021 22:00:22 +0100 Subject: [PATCH 277/325] correct TIFFTAG_PLANARCONFIG size --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 02c1c9f75..b3a51f5b6 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -408,7 +408,7 @@ ImagingLibTiffDecode( TIFF *tiff; uint16 photometric = 0; // init to not PHOTOMETRIC_YCBCR int isYCbCr = 0; - UINT8 planarconfig = 0; + uint16 planarconfig = 0; UINT8 planes = 1; ImagingShuffler unpackers[4]; From 671837840a49613637f24555326747ba3a8ed991 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 9 Jan 2021 22:41:13 +0100 Subject: [PATCH 278/325] the previous commit also fixes these big-endian failures --- Tests/test_file_libtiff.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 43e6daeaf..c9f7d67c3 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -856,7 +856,6 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_planar_rgb(self): # gdal_translate -co TILED=no -co INTERLEAVE=BAND -co COMPRESS=LZW \ # tiff_strip_raw.tif tiff_strip_planar_lzw.tiff @@ -864,7 +863,6 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_planar_rgb(self): # gdal_translate -co TILED=yes -co INTERLEAVE=BAND -co COMPRESS=LZW \ # tiff_tiled_raw.tif tiff_tiled_planar_lzw.tiff @@ -872,21 +870,18 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open(infile) as im: assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_planar_16bit_RGB(self): # gdal_translate -co TILED=yes -co INTERLEAVE=BAND -co COMPRESS=LZW \ # tiff_16bit_RGB.tiff tiff_tiled_planar_16bit_RGB.tiff with Image.open("Tests/images/tiff_tiled_planar_16bit_RGB.tiff") as im: assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGB_target.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_planar_16bit_RGB(self): # gdal_translate -co TILED=no -co INTERLEAVE=BAND -co COMPRESS=LZW \ # tiff_16bit_RGB.tiff tiff_strip_planar_16bit_RGB.tiff with Image.open("Tests/images/tiff_strip_planar_16bit_RGB.tiff") as im: assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGB_target.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_planar_16bit_RGBa(self): # gdal_translate -co TILED=yes \ # -co INTERLEAVE=BAND -co COMPRESS=LZW -co ALPHA=PREMULTIPLIED \ @@ -894,7 +889,6 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open("Tests/images/tiff_tiled_planar_16bit_RGBa.tiff") as im: assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGBa_target.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_planar_16bit_RGBa(self): # gdal_translate -co TILED=no \ # -co INTERLEAVE=BAND -co COMPRESS=LZW -co ALPHA=PREMULTIPLIED \ From daf7b6546e1bb9753062018cc7b0d987e2d66bf8 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 9 Jan 2021 22:45:38 +0100 Subject: [PATCH 279/325] remove double pointer --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index b3a51f5b6..9b5916ac0 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -412,7 +412,7 @@ ImagingLibTiffDecode( UINT8 planes = 1; ImagingShuffler unpackers[4]; - memset(unpackers, 0, sizeof(ImagingShuffler *) * 4); + memset(unpackers, 0, sizeof(ImagingShuffler) * 4); /* buffer is the encoded file, bytes is the length of the encoded file */ /* it all ends up in state->buffer, which is a uint8* from Imaging.h */ From fda638befecca25f9eb75ce39600dfc8e88c2608 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 10 Jan 2021 19:29:56 +0100 Subject: [PATCH 280/325] Planes should be int, not uint --- src/libImaging/TiffDecode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 9b5916ac0..07e9ab2c7 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -321,7 +321,7 @@ decodeycbcr_err: } int -_decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, UINT8 planes, ImagingShuffler *unpackers) { +_decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, ImagingShuffler *unpackers) { INT32 strip_row = 0; UINT8 *new_data; UINT32 rows_per_strip, row_byte_size; @@ -409,7 +409,7 @@ ImagingLibTiffDecode( uint16 photometric = 0; // init to not PHOTOMETRIC_YCBCR int isYCbCr = 0; uint16 planarconfig = 0; - UINT8 planes = 1; + int planes = 1; ImagingShuffler unpackers[4]; memset(unpackers, 0, sizeof(ImagingShuffler) * 4); From c9ea87ecfd1f486e0ffdf278d7d000bbd78d7053 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 10 Jan 2021 19:31:56 +0100 Subject: [PATCH 281/325] Use flag instead of recalculating --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 07e9ab2c7..bae9b7a15 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -516,7 +516,7 @@ ImagingLibTiffDecode( // if number of bands is 1, there is no difference with contig case if (planarconfig == PLANARCONFIG_SEPARATE && im->bands > 1 && - photometric != PHOTOMETRIC_YCBCR) { + isYCbCr) { uint16 bits_per_sample = 8; From b1d3f0d5c21a935112794d06a5b70a2cb6c30e29 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 11 Jan 2021 20:57:08 +0100 Subject: [PATCH 282/325] not --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index bae9b7a15..7629aec95 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -516,7 +516,7 @@ ImagingLibTiffDecode( // if number of bands is 1, there is no difference with contig case if (planarconfig == PLANARCONFIG_SEPARATE && im->bands > 1 && - isYCbCr) { + !isYCbCr) { uint16 bits_per_sample = 8; From f2020eeab454814d57adfcbf4c6e932ded1f3a35 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 11 Jan 2021 22:28:23 +0100 Subject: [PATCH 283/325] UINT8 -> int for plane --- src/libImaging/TiffDecode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 7629aec95..232278985 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -367,7 +367,7 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin state->buffer = new_data; for (; state->y < state->ysize; state->y += rows_per_strip) { - UINT8 plane; + int plane; for (plane = 0; plane < planes; plane++) { ImagingShuffler shuffler = unpackers[plane]; if (TIFFReadEncodedStrip(tiff, TIFFComputeStrip(tiff, state->y, plane), (tdata_t)state->buffer, -1) == -1) { @@ -594,7 +594,7 @@ ImagingLibTiffDecode( TRACE(("TIFFTileSize: %d\n", state->bytes)); for (y = state->yoff; y < state->ysize; y += tile_length) { - UINT8 plane; + int plane; for (plane = 0; plane < planes; plane++) { ImagingShuffler shuffler = unpackers[plane]; for (x = state->xoff; x < state->xsize; x += tile_width) { From 169bb4842f10303c6d2c37adc25dc9983cb5e506 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Sat, 9 Jan 2021 15:05:36 -0800 Subject: [PATCH 284/325] only use TIFFReadRGBA* in case of o_jpeg compression --- Tests/test_file_libtiff.py | 4 ---- src/PIL/TiffImagePlugin.py | 9 +++++++++ src/libImaging/TiffDecode.c | 11 ++++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index c9f7d67c3..3f2e5dbc1 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -824,14 +824,12 @@ class TestFileLibTiff(LibTiffTestCase): assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) @pytest.mark.valgrind_known_error(reason="Known Failing") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" with Image.open(infile) as im: assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) @pytest.mark.valgrind_known_error(reason="Known Failing") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_strip_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" with Image.open(infile) as im: @@ -843,14 +841,12 @@ class TestFileLibTiff(LibTiffTestCase): assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) @pytest.mark.valgrind_known_error(reason="Known Failing") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" with Image.open(infile) as im: assert_image_equal_tofile(im, "Tests/images/flower2.jpg") @pytest.mark.valgrind_known_error(reason="Known Failing") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_tiled_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" with Image.open(infile) as im: diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 19bcf4419..24821d130 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1324,6 +1324,15 @@ class TiffImageFile(ImageFile.ImageFile): if ";16L" in rawmode: rawmode = rawmode.replace(";16L", ";16N") + # YCbCr images with new jpeg compression with pixels in one plane + # unpacked straight into RGB values + if ( + photo == 6 + and self._compression == "jpeg" + and self._planar_configuration == 1 + ): + rawmode = "RGB" + # Offset in the tile tuple is 0, we go from 0,0 to # w,h, and we only do this once -- eds a = (rawmode, self._compression, False, self.tag_v2.offset) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 232278985..e20f57596 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -407,6 +407,7 @@ ImagingLibTiffDecode( char *mode = "r"; TIFF *tiff; uint16 photometric = 0; // init to not PHOTOMETRIC_YCBCR + uint16 compression; int isYCbCr = 0; uint16 planarconfig = 0; int planes = 1; @@ -509,9 +510,17 @@ ImagingLibTiffDecode( TIFFGetField(tiff, TIFFTAG_PHOTOMETRIC, &photometric); - isYCbCr = photometric == PHOTOMETRIC_YCBCR; + TIFFGetField(tiff, TIFFTAG_COMPRESSION, &compression); TIFFGetFieldDefaulted(tiff, TIFFTAG_PLANARCONFIG, &planarconfig); + isYCbCr = photometric == PHOTOMETRIC_YCBCR; + + if (isYCbCr && compression == COMPRESSION_JPEG && planarconfig == PLANARCONFIG_CONTIG) { + // If using new JPEG compression, let libjpeg do RGB convertion + TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); + isYCbCr = 0; + } + // YCbCr data is read as RGB by libtiff and we don't need to worry about planar storage in that case // if number of bands is 1, there is no difference with contig case if (planarconfig == PLANARCONFIG_SEPARATE && From 4c2dfadf26b1d5a6a86e7dd66968f5222a1d24e3 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 11 Jan 2021 22:06:49 -0800 Subject: [PATCH 285/325] Swap pixel values on Big Endian --- Tests/test_file_libtiff.py | 2 -- src/libImaging/TiffDecode.c | 8 ++++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 3f2e5dbc1..22b641b5f 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -17,7 +17,6 @@ from .helper import ( assert_image_similar, assert_image_similar_tofile, hopper, - is_big_endian, skip_unless_feature, ) @@ -892,7 +891,6 @@ class TestFileLibTiff(LibTiffTestCase): with Image.open("Tests/images/tiff_strip_planar_16bit_RGBa.tiff") as im: assert_image_equal_tofile(im, "Tests/images/tiff_16bit_RGBa_target.png") - @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") def test_old_style_jpeg(self): infile = "Tests/images/old-style-jpeg-compression.tif" with Image.open(infile) as im: diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index e20f57596..b1a30f449 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -292,6 +292,10 @@ _decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { goto decodeycbcr_err; } +#if WORDS_BIGENDIAN + TIFFSwabArrayOfLong((UINT32 *)state->buffer, img.width * rows_to_read); +#endif + TRACE(("Decoded strip for row %d \n", state->y)); // iterate over each row in the strip and stuff data into image @@ -623,6 +627,10 @@ ImagingLibTiffDecode( state->errcode = IMAGING_CODEC_BROKEN; goto decode_err; } + +#if WORDS_BIGENDIAN + TIFFSwabArrayOfLong((UINT32 *)state->buffer, tile_width * tile_length); +#endif } else { if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { TRACE(("Decode Error, Tile at %dx%d\n", x, y)); From 4dd288c66c3e07cfffcc0f21e0bc7a9a2f4f2758 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 11 Jan 2021 23:28:58 -0800 Subject: [PATCH 286/325] unify reading of YCbCr Tiffs --- src/libImaging/TiffDecode.c | 291 +++++++++++++++++------------------- 1 file changed, 136 insertions(+), 155 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index b1a30f449..bbc190d27 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -213,24 +213,34 @@ ImagingLibTiffInit(ImagingCodecState state, int fp, uint32 offset) { } int -_decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { +_decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { // To avoid dealing with YCbCr subsampling, let libtiff handle it // Use a TIFFRGBAImage wrapping the tiff image, and let libtiff handle // all of the conversion. Metadata read from the TIFFRGBAImage could // be different from the metadata that the base tiff returns. - INT32 strip_row; + INT32 current_row; UINT8 *new_data; - UINT32 rows_per_strip, row_byte_size, rows_to_read; + UINT32 rows_per_block, row_byte_size, rows_to_read; int ret; TIFFRGBAImage img; char emsg[1024] = ""; - ret = TIFFGetFieldDefaulted(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_strip); - if (ret != 1) { - rows_per_strip = state->ysize; + // Since using TIFFRGBAImage* functions, we can read whole tiff into rastrr in one call + // Let's select smaller block size. Multiplying image width by (tile length OR rows per strip) + // gives us manageable block size in pixels + if (TIFFIsTiled(tiff)) { + ret = TIFFGetFieldDefaulted(tiff, TIFFTAG_TILELENGTH, &rows_per_block); } - TRACE(("RowsPerStrip: %u \n", rows_per_strip)); + else { + ret = TIFFGetFieldDefaulted(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_block); + } + + if (ret != 1) { + rows_per_block = state->ysize; + } + + TRACE(("RowsPerBlock: %u \n", rows_per_block)); if (!(TIFFRGBAImageOK(tiff, emsg) && TIFFRGBAImageBegin(&img, tiff, 0, emsg))) { TRACE(("Decode error, msg: %s", emsg)); @@ -263,14 +273,14 @@ _decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { row_byte_size = img.width * 4; /* overflow check for realloc */ - if (INT_MAX / row_byte_size < rows_per_strip) { + if (INT_MAX / row_byte_size < rows_per_block) { state->errcode = IMAGING_CODEC_MEMORY; goto decodeycbcr_err; } - state->bytes = rows_per_strip * row_byte_size; + state->bytes = rows_per_block * row_byte_size; - TRACE(("StripSize: %d \n", state->bytes)); + TRACE(("BlockSize: %d \n", state->bytes)); /* realloc to fit whole strip */ /* malloc check above */ @@ -282,9 +292,9 @@ _decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { state->buffer = new_data; - for (; state->y < state->ysize; state->y += rows_per_strip) { + for (; state->y < state->ysize; state->y += rows_per_block) { img.row_offset = state->y; - rows_to_read = min(rows_per_strip, img.height - state->y); + rows_to_read = min(rows_per_block, img.height - state->y); if (!TIFFRGBAImageGet(&img, (UINT32 *)state->buffer, img.width, rows_to_read)) { TRACE(("Decode Error, y: %d\n", state->y)); @@ -299,19 +309,19 @@ _decodeStripYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { TRACE(("Decoded strip for row %d \n", state->y)); // iterate over each row in the strip and stuff data into image - for (strip_row = 0; - strip_row < min((INT32)rows_per_strip, state->ysize - state->y); - strip_row++) { - TRACE(("Writing data into line %d ; \n", state->y + strip_row)); + for (current_row = 0; + current_row < min((INT32)rows_per_block, state->ysize - state->y); + current_row++) { + TRACE(("Writing data into line %d ; \n", state->y + current_row)); - // UINT8 * bbb = state->buffer + strip_row * (state->bytes / - // rows_per_strip); TRACE(("chars: %x %x %x %x\n", ((UINT8 *)bbb)[0], + // UINT8 * bbb = state->buffer + current_row * (state->bytes / + // rows_per_block); TRACE(("chars: %x %x %x %x\n", ((UINT8 *)bbb)[0], // ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); state->shuffle( - (UINT8 *)im->image[state->y + state->yoff + strip_row] + + (UINT8 *)im->image[state->y + state->yoff + current_row] + state->xoff * im->pixelsize, - state->buffer + strip_row * row_byte_size, + state->buffer + current_row * row_byte_size, state->xsize); } } @@ -525,180 +535,151 @@ ImagingLibTiffDecode( isYCbCr = 0; } - // YCbCr data is read as RGB by libtiff and we don't need to worry about planar storage in that case - // if number of bands is 1, there is no difference with contig case - if (planarconfig == PLANARCONFIG_SEPARATE && - im->bands > 1 && - !isYCbCr) { - - uint16 bits_per_sample = 8; - - TIFFGetFieldDefaulted(tiff, TIFFTAG_BITSPERSAMPLE, &bits_per_sample); - if (bits_per_sample != 8 && bits_per_sample != 16) { - TRACE(("Invalid value for bits per sample: %d\n", bits_per_sample)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - - planes = im->bands; - - // We'll pick appropriate set of unpackers depending on planar_configuration - // It does not matter if data is RGB(A), CMYK or LUV really, - // we just copy it plane by plane - unpackers[0] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "R;16N" : "R", NULL); - unpackers[1] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "G;16N" : "G", NULL); - unpackers[2] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "B;16N" : "B", NULL); - unpackers[3] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "A;16N" : "A", NULL); - } else { - unpackers[0] = state->shuffle; + if (isYCbCr) { + _decodeYCbCr(im, state, tiff); } + else { + // YCbCr data is read as RGB by libtiff and we don't need to worry about planar storage in that case + // if number of bands is 1, there is no difference with contig case + if (planarconfig == PLANARCONFIG_SEPARATE && + im->bands > 1 && + !isYCbCr) { - if (TIFFIsTiled(tiff)) { - INT32 x, y, tile_y; - UINT32 tile_width, tile_length, current_tile_length, current_line, - current_tile_width, row_byte_size; - UINT8 *new_data; + uint16 bits_per_sample = 8; - TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); - TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); - - /* overflow check for row_byte_size calculation */ - if ((UINT32)INT_MAX / state->bits < tile_width) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } - - if (isYCbCr) { - row_byte_size = tile_width * 4; - /* sanity check, we use this value in shuffle below */ - if (im->pixelsize != 4) { + TIFFGetFieldDefaulted(tiff, TIFFTAG_BITSPERSAMPLE, &bits_per_sample); + if (bits_per_sample != 8 && bits_per_sample != 16) { + TRACE(("Invalid value for bits per sample: %d\n", bits_per_sample)); state->errcode = IMAGING_CODEC_BROKEN; goto decode_err; } + + planes = im->bands; + + // We'll pick appropriate set of unpackers depending on planar_configuration + // It does not matter if data is RGB(A), CMYK or LUV really, + // we just copy it plane by plane + unpackers[0] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "R;16N" : "R", NULL); + unpackers[1] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "G;16N" : "G", NULL); + unpackers[2] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "B;16N" : "B", NULL); + unpackers[3] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "A;16N" : "A", NULL); } else { - // We could use TIFFTileSize, but for YCbCr data it returns subsampled data size + unpackers[0] = state->shuffle; + } + + if (TIFFIsTiled(tiff)) { + INT32 x, y, tile_y; + UINT32 tile_width, tile_length, current_tile_length, current_line, + current_tile_width, row_byte_size; + UINT8 *new_data; + + TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); + TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); + + /* overflow check for row_byte_size calculation */ + if ((UINT32)INT_MAX / state->bits < tile_width) { + state->errcode = IMAGING_CODEC_MEMORY; + goto decode_err; + } + + // We could use TIFFTileSize, but for YCbCr data it returns subsampled data + // size row_byte_size = (tile_width * state->bits / planes + 7) / 8; - } - /* overflow check for realloc */ - if (INT_MAX / row_byte_size < tile_length) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } + /* overflow check for realloc */ + if (INT_MAX / row_byte_size < tile_length) { + state->errcode = IMAGING_CODEC_MEMORY; + goto decode_err; + } - state->bytes = row_byte_size * tile_length; + state->bytes = row_byte_size * tile_length; - if (TIFFTileSize(tiff) > state->bytes) { - // If the tile size as expected by LibTiff isn't what we're expecting, abort. - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } + if (TIFFTileSize(tiff) > state->bytes) { + // If the tile size as expected by LibTiff isn't what we're expecting, + // abort. + state->errcode = IMAGING_CODEC_MEMORY; + goto decode_err; + } - /* realloc to fit whole tile */ - /* malloc check above */ - new_data = realloc(state->buffer, state->bytes); - if (!new_data) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } + /* realloc to fit whole tile */ + /* malloc check above */ + new_data = realloc(state->buffer, state->bytes); + if (!new_data) { + state->errcode = IMAGING_CODEC_MEMORY; + goto decode_err; + } - state->buffer = new_data; + state->buffer = new_data; - TRACE(("TIFFTileSize: %d\n", state->bytes)); + TRACE(("TIFFTileSize: %d\n", state->bytes)); - for (y = state->yoff; y < state->ysize; y += tile_length) { - int plane; - for (plane = 0; plane < planes; plane++) { - ImagingShuffler shuffler = unpackers[plane]; - for (x = state->xoff; x < state->xsize; x += tile_width) { - /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions - have a different view of the size of the tiff than we're getting from - other functions. So, we need to check here. - */ - if (!TIFFCheckTile(tiff, x, y, 0, plane)) { - TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - if (isYCbCr) { - /* To avoid dealing with YCbCr subsampling, let libtiff handle it */ - if (!TIFFReadRGBATile(tiff, x, y, (UINT32 *)state->buffer)) { - TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + for (y = state->yoff; y < state->ysize; y += tile_length) { + int plane; + for (plane = 0; plane < planes; plane++) { + ImagingShuffler shuffler = unpackers[plane]; + for (x = state->xoff; x < state->xsize; x += tile_width) { + /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions + have a different view of the size of the tiff than we're getting from + other functions. So, we need to check here. + */ + if (!TIFFCheckTile(tiff, x, y, 0, plane)) { + TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); state->errcode = IMAGING_CODEC_BROKEN; goto decode_err; } - -#if WORDS_BIGENDIAN - TIFFSwabArrayOfLong((UINT32 *)state->buffer, tile_width * tile_length); -#endif - } else { if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { TRACE(("Decode Error, Tile at %dx%d\n", x, y)); state->errcode = IMAGING_CODEC_BROKEN; goto decode_err; } - } - TRACE(("Read tile at %dx%d; \n\n", x, y)); + TRACE(("Read tile at %dx%d; \n\n", x, y)); - current_tile_width = min((INT32) tile_width, state->xsize - x); - current_tile_length = min((INT32) tile_length, state->ysize - y); - // iterate over each line in the tile and stuff data into image - for (tile_y = 0; tile_y < current_tile_length; tile_y++) { - TRACE(("Writing tile data at %dx%d using tile_width: %d; \n", tile_y + y, x, current_tile_width)); + current_tile_width = min((INT32) tile_width, state->xsize - x); + current_tile_length = min((INT32) tile_length, state->ysize - y); + // iterate over each line in the tile and stuff data into image + for (tile_y = 0; tile_y < current_tile_length; tile_y++) { + TRACE(("Writing tile data at %dx%d using tile_width: %d; \n", tile_y + y, x, current_tile_width)); - // UINT8 * bbb = state->buffer + tile_y * row_byte_size; - // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - /* - * For some reason the TIFFReadRGBATile() function - * chooses the lower left corner as the origin. - * Vertically mirror by shuffling the scanlines - * backwards - */ + // UINT8 * bbb = state->buffer + tile_y * row_byte_size; + // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - if (isYCbCr) { - current_line = tile_length - tile_y - 1; - } else { current_line = tile_y; - } - shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, - state->buffer + current_line * row_byte_size, - current_tile_width - ); + shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, + state->buffer + current_line * row_byte_size, + current_tile_width + ); + } } } } } - } else { - if (!isYCbCr) { + else { _decodeStrip(im, state, tiff, planes, unpackers); } - else { - _decodeStripYCbCr(im, state, tiff); - } - } - if (!state->errcode) { - // Check if raw mode was RGBa and it was stored on separate planes - // so we have to convert it to RGBA - if (planes > 3 && strcmp(im->mode, "RGBA") == 0) { - uint16 extrasamples; - uint16* sampleinfo; - ImagingShuffler shuffle; - INT32 y; + if (!state->errcode) { + // Check if raw mode was RGBa and it was stored on separate planes + // so we have to convert it to RGBA + if (planes > 3 && strcmp(im->mode, "RGBA") == 0) { + uint16 extrasamples; + uint16* sampleinfo; + ImagingShuffler shuffle; + INT32 y; - TIFFGetFieldDefaulted(tiff, TIFFTAG_EXTRASAMPLES, &extrasamples, &sampleinfo); + TIFFGetFieldDefaulted(tiff, TIFFTAG_EXTRASAMPLES, &extrasamples, &sampleinfo); - if (extrasamples >= 1 && - (sampleinfo[0] == EXTRASAMPLE_UNSPECIFIED || sampleinfo[0] == EXTRASAMPLE_ASSOCALPHA) - ) { - shuffle = ImagingFindUnpacker("RGBA", "RGBa", NULL); + if (extrasamples >= 1 && + (sampleinfo[0] == EXTRASAMPLE_UNSPECIFIED || sampleinfo[0] == EXTRASAMPLE_ASSOCALPHA) + ) { + shuffle = ImagingFindUnpacker("RGBA", "RGBa", NULL); - for (y = state->yoff; y < state->ysize; y++) { - UINT8* ptr = (UINT8*) im->image[y + state->yoff] + - state->xoff * im->pixelsize; - shuffle(ptr, ptr, state->xsize); + for (y = state->yoff; y < state->ysize; y++) { + UINT8* ptr = (UINT8*) im->image[y + state->yoff] + + state->xoff * im->pixelsize; + shuffle(ptr, ptr, state->xsize); + } } } } From e43804620174e057774483230ffe0290d54d3d00 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Wed, 13 Jan 2021 18:33:49 -0800 Subject: [PATCH 287/325] Refactor into smaller functions --- src/libImaging/TiffDecode.c | 269 +++++++++++++++++++----------------- 1 file changed, 142 insertions(+), 127 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index bbc190d27..913b0742c 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -213,8 +213,37 @@ ImagingLibTiffInit(ImagingCodecState state, int fp, uint32 offset) { } int -_decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { - // To avoid dealing with YCbCr subsampling, let libtiff handle it +_pickUnpackers(Imaging im, ImagingCodecState state, TIFF *tiff, uint16 planarconfig, ImagingShuffler *unpackers) { + // if number of bands is 1, there is no difference with contig case + if (planarconfig == PLANARCONFIG_SEPARATE && im->bands > 1) { + uint16 bits_per_sample = 8; + + TIFFGetFieldDefaulted(tiff, TIFFTAG_BITSPERSAMPLE, &bits_per_sample); + if (bits_per_sample != 8 && bits_per_sample != 16) { + TRACE(("Invalid value for bits per sample: %d\n", bits_per_sample)); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } + + // We'll pick appropriate set of unpackers depending on planar_configuration + // It does not matter if data is RGB(A), CMYK or LUV really, + // we just copy it plane by plane + unpackers[0] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "R;16N" : "R", NULL); + unpackers[1] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "G;16N" : "G", NULL); + unpackers[2] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "B;16N" : "B", NULL); + unpackers[3] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "A;16N" : "A", NULL); + + return im->bands; + } else { + unpackers[0] = state->shuffle; + + return 1; + } +} + +int +_decodeAsRGBA(Imaging im, ImagingCodecState state, TIFF *tiff) { + // To avoid dealing with YCbCr subsampling and other complications, let libtiff handle it // Use a TIFFRGBAImage wrapping the tiff image, and let libtiff handle // all of the conversion. Metadata read from the TIFFRGBAImage could // be different from the metadata that the base tiff returns. @@ -260,13 +289,13 @@ _decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { state->ysize, img.height)); state->errcode = IMAGING_CODEC_BROKEN; - goto decodeycbcr_err; + goto decodergba_err; } /* overflow check for row byte size */ if (INT_MAX / 4 < img.width) { state->errcode = IMAGING_CODEC_MEMORY; - goto decodeycbcr_err; + goto decodergba_err; } // TiffRGBAImages are 32bits/pixel. @@ -275,7 +304,7 @@ _decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { /* overflow check for realloc */ if (INT_MAX / row_byte_size < rows_per_block) { state->errcode = IMAGING_CODEC_MEMORY; - goto decodeycbcr_err; + goto decodergba_err; } state->bytes = rows_per_block * row_byte_size; @@ -287,7 +316,7 @@ _decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { new_data = realloc(state->buffer, state->bytes); if (!new_data) { state->errcode = IMAGING_CODEC_MEMORY; - goto decodeycbcr_err; + goto decodergba_err; } state->buffer = new_data; @@ -299,7 +328,7 @@ _decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { if (!TIFFRGBAImageGet(&img, (UINT32 *)state->buffer, img.width, rows_to_read)) { TRACE(("Decode Error, y: %d\n", state->y)); state->errcode = IMAGING_CODEC_BROKEN; - goto decodeycbcr_err; + goto decodergba_err; } #if WORDS_BIGENDIAN @@ -326,7 +355,7 @@ _decodeYCbCr(Imaging im, ImagingCodecState state, TIFF *tiff) { } } -decodeycbcr_err: +decodergba_err: TIFFRGBAImageEnd(&img); if (state->errcode != 0) { return -1; @@ -334,6 +363,98 @@ decodeycbcr_err: return 0; } +int +_decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, ImagingShuffler *unpackers) { + INT32 x, y, tile_y; + UINT32 tile_width, tile_length, current_tile_length, current_line, + current_tile_width, row_byte_size; + UINT8 *new_data; + + TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); + TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); + + /* overflow check for row_byte_size calculation */ + if ((UINT32)INT_MAX / state->bits < tile_width) { + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + + // We could use TIFFTileSize, but for YCbCr data it returns subsampled data + // size + row_byte_size = (tile_width * state->bits / planes + 7) / 8; + + /* overflow check for realloc */ + if (INT_MAX / row_byte_size < tile_length) { + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + + state->bytes = row_byte_size * tile_length; + + if (TIFFTileSize(tiff) > state->bytes) { + // If the tile size as expected by LibTiff isn't what we're expecting, + // abort. + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + + /* realloc to fit whole tile */ + /* malloc check above */ + new_data = realloc(state->buffer, state->bytes); + if (!new_data) { + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + + state->buffer = new_data; + + TRACE(("TIFFTileSize: %d\n", state->bytes)); + + for (y = state->yoff; y < state->ysize; y += tile_length) { + int plane; + for (plane = 0; plane < planes; plane++) { + ImagingShuffler shuffler = unpackers[plane]; + for (x = state->xoff; x < state->xsize; x += tile_width) { + /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions + have a different view of the size of the tiff than we're getting from + other functions. So, we need to check here. + */ + if (!TIFFCheckTile(tiff, x, y, 0, plane)) { + TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } + if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { + TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } + + TRACE(("Read tile at %dx%d; \n\n", x, y)); + + current_tile_width = min((INT32) tile_width, state->xsize - x); + current_tile_length = min((INT32) tile_length, state->ysize - y); + // iterate over each line in the tile and stuff data into image + for (tile_y = 0; tile_y < current_tile_length; tile_y++) { + TRACE(("Writing tile data at %dx%d using tile_width: %d; \n", tile_y + y, x, current_tile_width)); + + // UINT8 * bbb = state->buffer + tile_y * row_byte_size; + // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); + + current_line = tile_y; + + shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, + state->buffer + current_line * row_byte_size, + current_tile_width + ); + } + } + } + } + + return 0; +} + int _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, ImagingShuffler *unpackers) { INT32 strip_row = 0; @@ -422,7 +543,7 @@ ImagingLibTiffDecode( TIFF *tiff; uint16 photometric = 0; // init to not PHOTOMETRIC_YCBCR uint16 compression; - int isYCbCr = 0; + int readAsRGBA = 0; uint16 planarconfig = 0; int planes = 1; ImagingShuffler unpackers[4]; @@ -527,133 +648,27 @@ ImagingLibTiffDecode( TIFFGetField(tiff, TIFFTAG_COMPRESSION, &compression); TIFFGetFieldDefaulted(tiff, TIFFTAG_PLANARCONFIG, &planarconfig); - isYCbCr = photometric == PHOTOMETRIC_YCBCR; + // Dealing with YCbCr images is complicated in case if subsampling + // Let LibTiff read them as RGBA + readAsRGBA = photometric == PHOTOMETRIC_YCBCR; - if (isYCbCr && compression == COMPRESSION_JPEG && planarconfig == PLANARCONFIG_CONTIG) { - // If using new JPEG compression, let libjpeg do RGB convertion + if (readAsRGBA && compression == COMPRESSION_JPEG && planarconfig == PLANARCONFIG_CONTIG) { + // If using new JPEG compression, let libjpeg do RGB convertion for performance reasons TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); - isYCbCr = 0; + readAsRGBA = 0; } - if (isYCbCr) { - _decodeYCbCr(im, state, tiff); + if (readAsRGBA) { + _decodeAsRGBA(im, state, tiff); } else { - // YCbCr data is read as RGB by libtiff and we don't need to worry about planar storage in that case - // if number of bands is 1, there is no difference with contig case - if (planarconfig == PLANARCONFIG_SEPARATE && - im->bands > 1 && - !isYCbCr) { - - uint16 bits_per_sample = 8; - - TIFFGetFieldDefaulted(tiff, TIFFTAG_BITSPERSAMPLE, &bits_per_sample); - if (bits_per_sample != 8 && bits_per_sample != 16) { - TRACE(("Invalid value for bits per sample: %d\n", bits_per_sample)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - - planes = im->bands; - - // We'll pick appropriate set of unpackers depending on planar_configuration - // It does not matter if data is RGB(A), CMYK or LUV really, - // we just copy it plane by plane - unpackers[0] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "R;16N" : "R", NULL); - unpackers[1] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "G;16N" : "G", NULL); - unpackers[2] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "B;16N" : "B", NULL); - unpackers[3] = ImagingFindUnpacker("RGBA", bits_per_sample == 16 ? "A;16N" : "A", NULL); - } else { - unpackers[0] = state->shuffle; + planes = _pickUnpackers(im, state, tiff, planarconfig, unpackers); + if (planes <= 0) { + goto decode_err; } if (TIFFIsTiled(tiff)) { - INT32 x, y, tile_y; - UINT32 tile_width, tile_length, current_tile_length, current_line, - current_tile_width, row_byte_size; - UINT8 *new_data; - - TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); - TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); - - /* overflow check for row_byte_size calculation */ - if ((UINT32)INT_MAX / state->bits < tile_width) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } - - // We could use TIFFTileSize, but for YCbCr data it returns subsampled data - // size - row_byte_size = (tile_width * state->bits / planes + 7) / 8; - - /* overflow check for realloc */ - if (INT_MAX / row_byte_size < tile_length) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } - - state->bytes = row_byte_size * tile_length; - - if (TIFFTileSize(tiff) > state->bytes) { - // If the tile size as expected by LibTiff isn't what we're expecting, - // abort. - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } - - /* realloc to fit whole tile */ - /* malloc check above */ - new_data = realloc(state->buffer, state->bytes); - if (!new_data) { - state->errcode = IMAGING_CODEC_MEMORY; - goto decode_err; - } - - state->buffer = new_data; - - TRACE(("TIFFTileSize: %d\n", state->bytes)); - - for (y = state->yoff; y < state->ysize; y += tile_length) { - int plane; - for (plane = 0; plane < planes; plane++) { - ImagingShuffler shuffler = unpackers[plane]; - for (x = state->xoff; x < state->xsize; x += tile_width) { - /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions - have a different view of the size of the tiff than we're getting from - other functions. So, we need to check here. - */ - if (!TIFFCheckTile(tiff, x, y, 0, plane)) { - TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { - TRACE(("Decode Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decode_err; - } - - TRACE(("Read tile at %dx%d; \n\n", x, y)); - - current_tile_width = min((INT32) tile_width, state->xsize - x); - current_tile_length = min((INT32) tile_length, state->ysize - y); - // iterate over each line in the tile and stuff data into image - for (tile_y = 0; tile_y < current_tile_length; tile_y++) { - TRACE(("Writing tile data at %dx%d using tile_width: %d; \n", tile_y + y, x, current_tile_width)); - - // UINT8 * bbb = state->buffer + tile_y * row_byte_size; - // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - - current_line = tile_y; - - shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, - state->buffer + current_line * row_byte_size, - current_tile_width - ); - } - } - } - } + _decodeTile(im, state, tiff, planes, unpackers); } else { _decodeStrip(im, state, tiff, planes, unpackers); From 1c295bf43c3aab8c6044ee8c323bf39f3b4f5eee Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 25 Jan 2021 20:29:04 -0800 Subject: [PATCH 288/325] Check for dimensions and sizes to fit into int --- src/libImaging/TiffDecode.c | 82 +++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 913b0742c..cd44417aa 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -365,38 +365,34 @@ decodergba_err: int _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, ImagingShuffler *unpackers) { - INT32 x, y, tile_y; - UINT32 tile_width, tile_length, current_tile_length, current_line, - current_tile_width, row_byte_size; + INT32 x, y, tile_y, current_tile_length, current_tile_width; + UINT32 tile_width, tile_length; + tsize_t tile_bytes_size, row_byte_size; UINT8 *new_data; - TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); - TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); + tile_bytes_size = TIFFTileSize(tiff); - /* overflow check for row_byte_size calculation */ - if ((UINT32)INT_MAX / state->bits < tile_width) { - state->errcode = IMAGING_CODEC_MEMORY; + if (tile_bytes_size == 0) { + TRACE(("Decode Error, Can not calculate TileSize\n")); + state->errcode = IMAGING_CODEC_BROKEN; return -1; } - // We could use TIFFTileSize, but for YCbCr data it returns subsampled data - // size - row_byte_size = (tile_width * state->bits / planes + 7) / 8; + row_byte_size = TIFFTileRowSize(tiff); + + if (row_byte_size == 0 || row_byte_size > tile_bytes_size) { + TRACE(("Decode Error, Can not calculate TileRowSize\n")); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } /* overflow check for realloc */ - if (INT_MAX / row_byte_size < tile_length) { + if (tile_bytes_size > INT_MAX - 1) { state->errcode = IMAGING_CODEC_MEMORY; return -1; } - state->bytes = row_byte_size * tile_length; - - if (TIFFTileSize(tiff) > state->bytes) { - // If the tile size as expected by LibTiff isn't what we're expecting, - // abort. - state->errcode = IMAGING_CODEC_MEMORY; - return -1; - } + state->bytes = tile_bytes_size; /* realloc to fit whole tile */ /* malloc check above */ @@ -405,9 +401,17 @@ _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imaging state->errcode = IMAGING_CODEC_MEMORY; return -1; } - state->buffer = new_data; + TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); + TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); + + if (tile_width > INT_MAX || tile_length > INT_MAX) { + // state->x and state->y are ints + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + TRACE(("TIFFTileSize: %d\n", state->bytes)); for (y = state->yoff; y < state->ysize; y += tile_length) { @@ -441,10 +445,8 @@ _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imaging // UINT8 * bbb = state->buffer + tile_y * row_byte_size; // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); - current_line = tile_y; - shuffler((UINT8*) im->image[tile_y + y] + x * im->pixelsize, - state->buffer + current_line * row_byte_size, + state->buffer + tile_y * row_byte_size, current_tile_width ); } @@ -459,38 +461,40 @@ int _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, ImagingShuffler *unpackers) { INT32 strip_row = 0; UINT8 *new_data; - UINT32 rows_per_strip, row_byte_size; + UINT32 rows_per_strip; int ret; + tsize_t strip_size, row_byte_size; ret = TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_strip); - if (ret != 1) { + if (ret != 1 || rows_per_strip==(UINT32)(-1)) { rows_per_strip = state->ysize; } - TRACE(("RowsPerStrip: %u \n", rows_per_strip)); - // We could use TIFFStripSize, but for YCbCr data it returns subsampled data size - row_byte_size = (state->xsize * state->bits / planes + 7) / 8; - - /* overflow check for realloc */ - if (INT_MAX / row_byte_size < rows_per_strip) { + if (rows_per_strip > INT_MAX) { state->errcode = IMAGING_CODEC_MEMORY; return -1; } - state->bytes = rows_per_strip * row_byte_size; + TRACE(("RowsPerStrip: %u\n", rows_per_strip)); + + strip_size = TIFFStripSize(tiff); + if (strip_size > INT_MAX - 1) { + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + state->bytes = strip_size; TRACE(("StripSize: %d \n", state->bytes)); - if (TIFFStripSize(tiff) > state->bytes) { - // If the strip size as expected by LibTiff isn't what we're expecting, abort. - // man: TIFFStripSize returns the equivalent size for a strip of data as it - // would be returned in a - // call to TIFFReadEncodedStrip ... + row_byte_size = TIFFScanlineSize(tiff); - state->errcode = IMAGING_CODEC_MEMORY; + if (row_byte_size == 0 || row_byte_size > strip_size) { + state->errcode = IMAGING_CODEC_BROKEN; return -1; } + TRACE(("RowsByteSize: %u \n", row_byte_size)); + /* realloc to fit whole strip */ /* malloc check above */ new_data = realloc(state->buffer, state->bytes); From ab24c98491fe9ce345d1f2194bfc25ce2ffd267c Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 25 Jan 2021 21:45:57 -0800 Subject: [PATCH 289/325] Add sanity check for memory overruns --- src/libImaging/TiffDecode.c | 39 ++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index cd44417aa..d6bc66907 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -392,17 +392,6 @@ _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imaging return -1; } - state->bytes = tile_bytes_size; - - /* realloc to fit whole tile */ - /* malloc check above */ - new_data = realloc(state->buffer, state->bytes); - if (!new_data) { - state->errcode = IMAGING_CODEC_MEMORY; - return -1; - } - state->buffer = new_data; - TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tile_width); TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tile_length); @@ -412,8 +401,27 @@ _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imaging return -1; } + if (tile_bytes_size > ((tile_length * state->bits / planes + 7) / 8) * tile_width) { + // If the tile size as expected by LibTiff isn't what we're expecting, abort. + // man: TIFFTileSize returns the equivalent size for a tile of data as it would be returned in a + // call to TIFFReadTile ... + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } + + state->bytes = tile_bytes_size; + TRACE(("TIFFTileSize: %d\n", state->bytes)); + /* realloc to fit whole tile */ + /* malloc check above */ + new_data = realloc(state->buffer, state->bytes); + if (!new_data) { + state->errcode = IMAGING_CODEC_MEMORY; + return -1; + } + state->buffer = new_data; + for (y = state->yoff; y < state->ysize; y += tile_length) { int plane; for (plane = 0; plane < planes; plane++) { @@ -482,6 +490,15 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin state->errcode = IMAGING_CODEC_MEMORY; return -1; } + + if (strip_size > ((state->xsize * state->bits / planes + 7) / 8) * rows_per_strip) { + // If the strip size as expected by LibTiff isn't what we're expecting, abort. + // man: TIFFStripSize returns the equivalent size for a strip of data as it would be returned in a + // call to TIFFReadEncodedStrip ... + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } + state->bytes = strip_size; TRACE(("StripSize: %d \n", state->bytes)); From 52ecf1b142a9d9307411f41823fae7c3f9f920c7 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 8 Mar 2021 20:20:29 -0800 Subject: [PATCH 290/325] Stop guessing strip size and pass expected size --- src/libImaging/TiffDecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index d6bc66907..021c2898c 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -526,7 +526,7 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin int plane; for (plane = 0; plane < planes; plane++) { ImagingShuffler shuffler = unpackers[plane]; - if (TIFFReadEncodedStrip(tiff, TIFFComputeStrip(tiff, state->y, plane), (tdata_t)state->buffer, -1) == -1) { + if (TIFFReadEncodedStrip(tiff, TIFFComputeStrip(tiff, state->y, plane), (tdata_t)state->buffer, strip_size) == -1) { TRACE(("Decode Error, strip %d\n", TIFFComputeStrip(tiff, state->y, 0))); state->errcode = IMAGING_CODEC_BROKEN; return -1; From 6eae8fd59213a6a403dd69f673ce596e5b9d7fa1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 29 Mar 2021 08:11:41 +1100 Subject: [PATCH 291/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index dba9d263a..a2d40305f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,15 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Fixed linear_gradient and radial_gradient I and F modes #5274 + [radarhere] + +- Add support for reading TIFFs with PlanarConfiguration=2 #5364 + [kkopachev, wiredfool, nulano] + +- Deprecated categories #5351 + [radarhere] + - Do not premultiply alpha when resizing with Image.NEAREST resampling #5304 [nulano] From 9ea20c095efd3a17be121f96b18066843f6804b5 Mon Sep 17 00:00:00 2001 From: German Novikov Date: Mon, 29 Mar 2021 14:12:29 +0300 Subject: [PATCH 292/325] Update docs/releasenotes/8.2.0.rst Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- docs/releasenotes/8.2.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 3bdfadacd..99e2ef97d 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -77,7 +77,7 @@ be specified through a keyword argument:: ImageOps.autocontrast: preserve_tone ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The default behaviour of the :py:meth:`~PIL.ImageOps.autocontrast` is to normalize +The default behaviour of :py:meth:`~PIL.ImageOps.autocontrast` is to normalize separate histograms for each color channel, changing the tone of the image. The new ``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram for all channels. From 7844c6e48354bb9c7e4e029a394376ce21a76eff Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 29 Mar 2021 23:26:34 +1100 Subject: [PATCH 293/325] Test that preserve_tone changes RGB images but not L images --- Tests/test_imageops.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index 888afad37..93be34bf8 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -365,6 +365,15 @@ def test_autocontrast_mask_real_input(): ) +def test_autocontrast_preserve_tone(): + def autocontrast(mode, preserve_tone): + im = hopper(mode) + return ImageOps.autocontrast(im, preserve_tone=preserve_tone).histogram() + + assert autocontrast("RGB", True) != autocontrast("RGB", False) + assert autocontrast("L", True) == autocontrast("L", False) + + def test_autocontrast_preserve_gradient(): gradient = Image.linear_gradient("L") From 4f61637e7fccc9786f90e97e2d55daa44aa2fca2 Mon Sep 17 00:00:00 2001 From: nulano Date: Mon, 29 Mar 2021 17:45:12 +0200 Subject: [PATCH 294/325] document libraqm/fribidi linking, support fribidi-0.dll on Windows --- docs/installation.rst | 31 ++++++++++++++++++--------- docs/releasenotes/8.2.0.rst | 18 ++++++++++++++++ src/thirdparty/fribidi-shim/fribidi.c | 3 +++ winbuild/build.rst | 2 +- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index f79469c7f..1e7b0d6b2 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -57,8 +57,9 @@ Windows Installation We provide Pillow binaries for Windows compiled for the matrix of supported Pythons in both 32 and 64-bit versions in the wheel format. -These binaries have all of the optional libraries included except -for raqm, libimagequant, and libxcb:: +These binaries include support for all optional libraries except +libimagequant and libxcb. Raqm support requires +fribidi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow @@ -71,8 +72,8 @@ macOS Installation We provide binaries for macOS for each of the supported Python versions in the wheel format. These include support for all optional -libraries except libimagequant and libxcb. Raqm support requires -libraqm, fribidi, and harfbuzz to be installed separately:: +libraries except libimagequant. Raqm support requires +fribidi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow @@ -83,7 +84,7 @@ Linux Installation We provide binaries for Linux for each of the supported Python versions in the manylinux wheel format. These include support for all optional libraries except libimagequant. Raqm support requires -libraqm, fribidi, and harfbuzz to be installed separately:: +fribidi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow @@ -191,11 +192,15 @@ Many of Pillow's features require external libraries: * libraqm depends on the following libraries: FreeType, HarfBuzz, FriBiDi, make sure that you install them before installing libraqm if not available as package in your system. - * setting text direction or font features is not supported without - libraqm. - * libraqm is dynamically loaded in Pillow 5.0.0 and above, so support - is available if all the libraries are installed. - * Windows support: Raqm is not included in prebuilt wheels + * Setting text direction or font features is not supported without libraqm. + * Pillow wheels since version 8.2.0 include a modified version of libraqm that + loads libfribidi at runtime if it is installed. + On Windows this requires compiling FriBiDi and installing ``fribidi.dll`` + into a directory listed in the `Dynamic-Link Library Search Order (Microsoft Docs) + `_ + (``fribidi-0.dll`` or ``libfribidi-0.dll`` are also detected). + See `Build Options`_ to see how to build this version. + * Previous versions of Pillow (5.0.0 to 8.1.2) linked libraqm dynamically at runtime. * **libxcb** provides X11 screengrab support. @@ -244,6 +249,12 @@ Build Options an exception if the libraries are not found. Webpmux (WebP metadata) relies on WebP support. Tcl and Tk also must be used together. +* Build flags: ``--vendor-raqm --vendor-fribidi`` + These flags are used to compile a modified version of libraqm and + a shim that dynamically loads libfribidi at runtime. These are + used to compile the standard Pillow wheels. Compiling libraqm requires + a C99-compliant compiler. + * Build flag: ``--disable-platform-guessing``. Skips all of the platform dependent guessing of include and library directories for automated build systems that configure the proper paths in the diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 3ef05894d..c76547c8e 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -91,6 +91,24 @@ TODO Other Changes ============= +Libraqm and FriBiDi linking +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The way the libraqm dependency for complex text scripts is linked has been changed: + +Source builds will now link against the system version of libraqm at build time +rather than at runtime by default. + +Binary wheels now include a statically linked modified version of libraqm that +links against FriBiDi at runtime instead. This change is intended to address +issues with the previous implementation on some platforms. These are created +by building Pillow with the new build flags ``--vendor-raqm --vendor-fribidi``. + +Windows users will now need to install ``fribidi.dll`` (or ``fribidi-0.dll``) only, +``libraqm.dll`` is no longer used. + +See :doc:`installation documentation<../installation>` for more information. + PyQt6 ^^^^^ diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index 55e2a6ab3..abbab07b0 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -56,6 +56,9 @@ int load_fribidi(void) { error = error || (func == 0); p_fribidi = LoadLibrary("fribidi"); + if (!p_fribidi) { + p_fribidi = LoadLibrary("fribidi-0"); + } /* MSYS2 */ if (!p_fribidi) { p_fribidi = LoadLibrary("libfribidi-0"); diff --git a/winbuild/build.rst b/winbuild/build.rst index cd4a45e87..7493c30e5 100644 --- a/winbuild/build.rst +++ b/winbuild/build.rst @@ -87,7 +87,7 @@ and install Pillow in develop mode (instead of ``python3 -m pip install --editab Testing Pillow -------------- -Some binary dependencies (e.g. ``libraqm.dll``) will be stored in the +Some binary dependencies (e.g. ``fribidi.dll``) will be stored in the ``winbuild\build\bin`` directory; this directory should be added to ``PATH`` before running tests. From 00cc32e3f92c990bd41df84e551813718368c9aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Baranovi=C4=8D?= Date: Mon, 29 Mar 2021 19:45:27 +0200 Subject: [PATCH 295/325] FriBiDi capitalization consistency Co-authored-by: Hugo van Kemenade --- docs/installation.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 1e7b0d6b2..cc9c51039 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -59,7 +59,7 @@ We provide Pillow binaries for Windows compiled for the matrix of supported Pythons in both 32 and 64-bit versions in the wheel format. These binaries include support for all optional libraries except libimagequant and libxcb. Raqm support requires -fribidi to be installed separately:: +FriBiDi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow @@ -73,7 +73,7 @@ macOS Installation We provide binaries for macOS for each of the supported Python versions in the wheel format. These include support for all optional libraries except libimagequant. Raqm support requires -fribidi to be installed separately:: +FriBiDi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow @@ -84,7 +84,7 @@ Linux Installation We provide binaries for Linux for each of the supported Python versions in the manylinux wheel format. These include support for all optional libraries except libimagequant. Raqm support requires -fribidi to be installed separately:: +FriBiDi to be installed separately:: python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow From 19a815dd7392cbbf7192c8065b32e561cd086bea Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 29 Mar 2021 11:27:50 -0700 Subject: [PATCH 296/325] Remove redundant check It's duplicated inside following call of TIFFReadTile --- src/libImaging/TiffDecode.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 021c2898c..26197c8f6 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -427,15 +427,6 @@ _decodeTile(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imaging for (plane = 0; plane < planes; plane++) { ImagingShuffler shuffler = unpackers[plane]; for (x = state->xoff; x < state->xsize; x += tile_width) { - /* Sanity Check. Apparently in some cases, the TiffReadRGBA* functions - have a different view of the size of the tiff than we're getting from - other functions. So, we need to check here. - */ - if (!TIFFCheckTile(tiff, x, y, 0, plane)) { - TRACE(("Check Tile Error, Tile at %dx%d\n", x, y)); - state->errcode = IMAGING_CODEC_BROKEN; - return -1; - } if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, plane) == -1) { TRACE(("Decode Error, Tile at %dx%d\n", x, y)); state->errcode = IMAGING_CODEC_BROKEN; From 9e5ecd682567f9e0cb4dba7a415d12f7055a4054 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 30 Mar 2021 08:00:58 +1100 Subject: [PATCH 297/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index a2d40305f..3a16c0e50 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Add preserve_tone option to autocontrast #5350 + [elejke, radarhere] + - Fixed linear_gradient and radial_gradient I and F modes #5274 [radarhere] From 306d030fce71ec27cd1c561ed64ef763ecec19be Mon Sep 17 00:00:00 2001 From: Ray Gardner Date: Tue, 30 Mar 2021 17:35:21 -0600 Subject: [PATCH 298/325] Add comment to reference GIF LZW specification. --- src/libImaging/GifEncode.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libImaging/GifEncode.c b/src/libImaging/GifEncode.c index 0ac9dc605..f23245405 100644 --- a/src/libImaging/GifEncode.c +++ b/src/libImaging/GifEncode.c @@ -27,6 +27,12 @@ enum { INIT, ENCODE, FINISH }; /* GIF LZW encoder by Raymond Gardner. */ /* Released here under PIL license. */ +/* This LZW encoder conforms to the GIF LZW format specified in the original + * Compuserve GIF 87a and GIF 89a specifications (see e.g. + * https://www.w3.org/Graphics/GIF/spec-gif87.txt Appendix C and + * https://www.w3.org/Graphics/GIF/spec-gif89a.txt Appendix F). + */ + /* Return values */ #define GLZW_OK 0 #define GLZW_NO_INPUT_AVAIL 1 From d8b4a928068e038d7fb07a901a882864b5694de0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 31 Mar 2021 16:03:13 +1100 Subject: [PATCH 299/325] Updated Ghostscript to 9.54.0 --- .appveyor.yml | 4 ++-- .github/workflows/test-windows.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4e2ca1071..b843b16ee 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -24,8 +24,8 @@ install: - mv c:\pillow-depends-master c:\pillow-depends - xcopy /S /Y c:\pillow-depends\test_images\* c:\pillow\tests\images - 7z x ..\pillow-depends\nasm-2.14.02-win64.zip -oc:\ -- ..\pillow-depends\gs9533w32.exe /S -- path c:\nasm-2.14.02;C:\Program Files (x86)\gs\gs9.53.3\bin;%PATH% +- ..\pillow-depends\gs9540w32.exe /S +- path c:\nasm-2.14.02;C:\Program Files (x86)\gs\gs9.54.0\bin;%PATH% - cd c:\pillow\winbuild\ - ps: | c:\python37\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\ diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index e3b2201a7..beb89ebeb 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -71,8 +71,8 @@ jobs: 7z x winbuild\depends\nasm-2.14.02-win64.zip "-o$env:RUNNER_WORKSPACE\" echo "$env:RUNNER_WORKSPACE\nasm-2.14.02" >> $env:GITHUB_PATH - winbuild\depends\gs9533w32.exe /S - echo "C:\Program Files (x86)\gs\gs9.53.3\bin" >> $env:GITHUB_PATH + winbuild\depends\gs9540w32.exe /S + echo "C:\Program Files (x86)\gs\gs9.54.0\bin" >> $env:GITHUB_PATH xcopy /S /Y winbuild\depends\test_images\* Tests\images\ From 7e940dea5e12326bafe68023f5f6cb6f0a695827 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 31 Mar 2021 19:22:31 +1100 Subject: [PATCH 300/325] Added release notes [ci skip] --- docs/releasenotes/8.2.0.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index cf90c1ae8..759ede9aa 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -45,6 +45,14 @@ This is now consistent with other IFDs, and must be accessed through These changes only affect :py:meth:`~PIL.Image.Image.getexif`, introduced in Pillow 6.0. The older ``_getexif()`` methods are unaffected. +Image._MODEINFO +^^^^^^^^^^^^^^^ + +This internal dictionary has been deprecated by a comment since PIL, and is now +removed. Instead, ``Image.getmodebase()``, ``Image.getmodetype()``, +``Image.getmodebandnames()``, ``Image.getmodebands()`` or ``ImageMode.getmode()`` +can be used. + API Additions ============= From d6dfdd361704a03512d5ff6705df6158a5a57dc9 Mon Sep 17 00:00:00 2001 From: Ray Gardner Date: Wed, 31 Mar 2021 06:48:17 -0600 Subject: [PATCH 301/325] Add GIF LZW encoding to 8.2.0 release notes. --- docs/releasenotes/8.2.0.rst | 55 +++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index d82bf45c2..0ad5d7f2f 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -10,6 +10,16 @@ Tk/Tcl 8.4 Support for Tk/Tcl 8.4 is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), when Tk/Tcl 8.5 will be the minimum supported. +Categories +^^^^^^^^^^ + +``im.category`` is deprecated and will be removed in Pillow 10.0.0 (2023-01-02), +along with the related ``Image.NORMAL``, ``Image.SEQUENCE`` and +``Image.CONTAINER`` attributes. + +To determine if an image has multiple frames or not, +``getattr(im, "is_animated", False)`` can be used instead. + API Changes =========== @@ -35,6 +45,14 @@ This is now consistent with other IFDs, and must be accessed through These changes only affect :py:meth:`~PIL.Image.Image.getexif`, introduced in Pillow 6.0. The older ``_getexif()`` methods are unaffected. +Image._MODEINFO +^^^^^^^^^^^^^^^ + +This internal dictionary has been deprecated by a comment since PIL, and is now +removed. Instead, ``Image.getmodebase()``, ``Image.getmodetype()``, +``Image.getmodebandnames()``, ``Image.getmodebands()`` or ``ImageMode.getmode()`` +can be used. + API Additions ============= @@ -73,6 +91,15 @@ be specified through a keyword argument:: im.save("out.tif", icc_profile=...) + +ImageOps.autocontrast: preserve_tone +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The default behaviour of :py:meth:`~PIL.ImageOps.autocontrast` is to normalize +separate histograms for each color channel, changing the tone of the image. The new +``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram +for all channels. + Security ======== @@ -81,6 +108,34 @@ TODO Other Changes ============= +GIF writer uses LZW encoding +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +GIF files are now written using LZW encoding, which will generate smaller files, +typically about 70% of the size generated by the older encoder. + +The pixel data is encoded using the format specified in the [Compuserve GIF +standard](https://www.w3.org/Graphics/GIF/spec-gif89a.txt). The older encoder +used a variant of run-length encoding that was compatible but less efficient. + +Libraqm and FriBiDi linking +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The way the libraqm dependency for complex text scripts is linked has been changed: + +Source builds will now link against the system version of libraqm at build time +rather than at runtime by default. + +Binary wheels now include a statically linked modified version of libraqm that +links against FriBiDi at runtime instead. This change is intended to address +issues with the previous implementation on some platforms. These are created +by building Pillow with the new build flags ``--vendor-raqm --vendor-fribidi``. + +Windows users will now need to install ``fribidi.dll`` (or ``fribidi-0.dll``) only, +``libraqm.dll`` is no longer used. + +See :doc:`installation documentation<../installation>` for more information. + PyQt6 ^^^^^ From 95ac35d287be87a4cafc97f40008b3baa3a2780b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 31 Mar 2021 21:28:29 +0300 Subject: [PATCH 302/325] Fix RST link [ci skip] --- docs/releasenotes/8.2.0.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 0ad5d7f2f..0f7318e3b 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -114,9 +114,11 @@ GIF writer uses LZW encoding GIF files are now written using LZW encoding, which will generate smaller files, typically about 70% of the size generated by the older encoder. -The pixel data is encoded using the format specified in the [Compuserve GIF -standard](https://www.w3.org/Graphics/GIF/spec-gif89a.txt). The older encoder -used a variant of run-length encoding that was compatible but less efficient. +The pixel data is encoded using the format specified in the `CompuServe GIF standard +`_. + +The older encoder used a variant of run-length encoding that was compatible but less +efficient. Libraqm and FriBiDi linking ^^^^^^^^^^^^^^^^^^^^^^^^^^^ From 22a6893364c28e3125cbc40f22efa3173f3b851e Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 11 Mar 2021 23:13:15 +0100 Subject: [PATCH 303/325] Fix pytest valgrind warnings --- Tests/conftest.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Tests/conftest.py b/Tests/conftest.py index 6f9945204..11ec820ac 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -19,13 +19,11 @@ def pytest_configure(config): # We're marking some tests to ignore valgrind errors and XFAIL them. # Ensure that the mark is defined # even in cases where pytest-valgrind isn't installed - - with warnings.catch_warnings(): - warnings.simplefilter("error") - try: - getattr(pytest.mark, "valgrind_known_error") - except Exception: - config.addinivalue_line( - "markers", - "valgrind_known_error: Tests that have known issues with valgrind", - ) + try: + config.addinivalue_line( + "markers", + "valgrind_known_error: Tests that have known issues with valgrind", + ) + except Exception: + # valgrind is already installed + pass From 45530d5ce1bcc9357907b7e5eeb6e54c6198358e Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Wed, 31 Mar 2021 21:04:59 +0200 Subject: [PATCH 304/325] fixes crash-74d2 --- ...d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif | Bin 0 -> 1026 bytes Tests/test_tiff_crashes.py | 2 ++ src/libImaging/TiffDecode.c | 28 ++++++++++-------- 3 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 Tests/images/crash-74d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif diff --git a/Tests/images/crash-74d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif b/Tests/images/crash-74d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif new file mode 100644 index 0000000000000000000000000000000000000000..053e4e4e952ca9a0139f6d7a2b726c64b305fdc1 GIT binary patch literal 1026 zcmebD)M8L#W?-26NO_Ufk^28Y@PtFO{{OiTAm;z4e1ftr?jVtWr;6q**8~y^Pc%Fctuf9vD_|E>4lw{G>W*cD#KZ)Jz_a~+ZtcPSMFTBzV~tz!TG{~zT~ zY-iQb2xz?QzubGlL>U_`{-v*dU;p~I|NpOl(`#eHOLhlL?cZ{3m7HjcK`I}Y^8f#z zGzuI}UbV0)_%^qu?{ysize; } @@ -281,17 +281,6 @@ _decodeAsRGBA(Imaging im, ImagingCodecState state, TIFF *tiff) { img.req_orientation = ORIENTATION_TOPLEFT; img.col_offset = 0; - if (state->xsize != img.width || state->ysize != img.height) { - TRACE( - ("Inconsistent Image Error: %d =? %d, %d =? %d", - state->xsize, - img.width, - state->ysize, - img.height)); - state->errcode = IMAGING_CODEC_BROKEN; - goto decodergba_err; - } - /* overflow check for row byte size */ if (INT_MAX / 4 < img.width) { state->errcode = IMAGING_CODEC_MEMORY; @@ -559,6 +548,7 @@ ImagingLibTiffDecode( uint16 planarconfig = 0; int planes = 1; ImagingShuffler unpackers[4]; + UINT32 img_width, img_height; memset(unpackers, 0, sizeof(ImagingShuffler) * 4); @@ -655,6 +645,20 @@ ImagingLibTiffDecode( } } + TIFFGetField(tiff, TIFFTAG_IMAGEWIDTH, &img_width); + TIFFGetField(tiff, TIFFTAG_IMAGELENGTH, &img_height); + + if (state->xsize != img_width || state->ysize != img_height) { + TRACE( + ("Inconsistent Image Error: %d =? %d, %d =? %d", + state->xsize, + img_width, + state->ysize, + img_height)); + state->errcode = IMAGING_CODEC_BROKEN; + goto decode_err; + } + TIFFGetField(tiff, TIFFTAG_PHOTOMETRIC, &photometric); TIFFGetField(tiff, TIFFTAG_COMPRESSION, &compression); From 53c80281d7f745cc1804901ec6f5b61d236688e0 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Wed, 31 Mar 2021 21:16:43 +0200 Subject: [PATCH 305/325] fix for crash-8115 --- ...81154a65438ba5aaeca73fd502fa4850fbde60f8.tif | Bin 0 -> 42224 bytes Tests/test_tiff_crashes.py | 1 + src/PIL/TiffImagePlugin.py | 4 ++++ 3 files changed, 5 insertions(+) create mode 100644 Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif diff --git a/Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif b/Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif new file mode 100644 index 0000000000000000000000000000000000000000..56e824199684ab6a2fccf04f6c1002e7cbda63ff GIT binary patch literal 42224 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 literal 0 HcmV?d00001 diff --git a/Tests/test_tiff_crashes.py b/Tests/test_tiff_crashes.py index 7b01d458e..a8e378ec1 100644 --- a/Tests/test_tiff_crashes.py +++ b/Tests/test_tiff_crashes.py @@ -34,6 +34,7 @@ from .helper import on_ci "Tests/images/crash-f46f5b2f43c370fe65706c11449f567ecc345e74.tif", "Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif", "Tests/images/crash-74d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif", + "Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif", ], ) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 24821d130..9d821dcf9 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1250,6 +1250,10 @@ class TiffImageFile(ImageFile.ImageFile): if bps_count > len(bps_tuple) and len(bps_tuple) == 1: bps_tuple = bps_tuple * bps_count + samplesPerPixel = self.tag_v2.get(SAMPLESPERPIXEL, 1) + if len(bps_tuple) != samplesPerPixel: + raise SyntaxError("unknown data organization") + # mode: check photometric interpretation and bits per pixel key = ( self.tag_v2.prefix, From 87934e22d056cb72ad6c7e9dc48e06d2a02e2dec Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Wed, 31 Mar 2021 23:17:20 +0200 Subject: [PATCH 306/325] Fix for crash-0da0 --- ...h-0da013a13571cc8eb457a39fee8db18f8a3c7127.tif | Bin 0 -> 674 bytes Tests/test_tiff_crashes.py | 2 +- src/libImaging/TiffDecode.c | 9 ++++++--- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 Tests/images/crash-0da013a13571cc8eb457a39fee8db18f8a3c7127.tif diff --git a/Tests/images/crash-0da013a13571cc8eb457a39fee8db18f8a3c7127.tif b/Tests/images/crash-0da013a13571cc8eb457a39fee8db18f8a3c7127.tif new file mode 100644 index 0000000000000000000000000000000000000000..6e4e9b9caa53af34c5ee072974084618d9ffedc4 GIT binary patch literal 674 zcmebD)MB{6z`*eT|NnF?AJ#(FhuWH*0!*z3oY)%`H#mJzl=$>1l|#&9$!777mM_~_ z4yv_qH+g^Cy(PzS-owDkI_&ON8&CV46TU+R7PsdszGI(^TjfAc)1uiC#v>#x2C_pkhy z6aGc*dU6{mo*i4Y;_G_v+Siv;er5IVkdd-05NJH6n zK(-8$UOA|^8&F&x%Ju`YHK1yMOa@IL8$<(r$Y2O`n+1>+1{5#?vPFRGK8PfPenx(7 zs(xxwW^%E9KxR%(ez|@~YH>-ier9fBdTOzLx`}QYNVq5^wMe%FD5F=Bna1FqpO#pm z5a8mb;Fg(Fl3Jvot5B9&RGgWgr(mpSZmI{ew?UPGK>OV literal 0 HcmV?d00001 diff --git a/Tests/test_tiff_crashes.py b/Tests/test_tiff_crashes.py index a8e378ec1..6cdb8e44d 100644 --- a/Tests/test_tiff_crashes.py +++ b/Tests/test_tiff_crashes.py @@ -35,7 +35,7 @@ from .helper import on_ci "Tests/images/crash-63b1dffefc8c075ddc606c0a2f5fdc15ece78863.tif", "Tests/images/crash-74d2a78403a5a59db1fb0a2b8735ac068a75f6e3.tif", "Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif", - + "Tests/images/crash-0da013a13571cc8eb457a39fee8db18f8a3c7127.tif", ], ) @pytest.mark.filterwarnings("ignore:Possibly corrupt EXIF data") diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 25616da24..bae3afff4 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -451,7 +451,7 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin UINT8 *new_data; UINT32 rows_per_strip; int ret; - tsize_t strip_size, row_byte_size; + tsize_t strip_size, row_byte_size, unpacker_row_byte_size; ret = TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_strip); if (ret != 1 || rows_per_strip==(UINT32)(-1)) { @@ -471,7 +471,8 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin return -1; } - if (strip_size > ((state->xsize * state->bits / planes + 7) / 8) * rows_per_strip) { + unpacker_row_byte_size = (state->xsize * state->bits / planes + 7) / 8; + if (strip_size > (unpacker_row_byte_size * rows_per_strip)) { // If the strip size as expected by LibTiff isn't what we're expecting, abort. // man: TIFFStripSize returns the equivalent size for a strip of data as it would be returned in a // call to TIFFReadEncodedStrip ... @@ -485,7 +486,9 @@ _decodeStrip(Imaging im, ImagingCodecState state, TIFF *tiff, int planes, Imagin row_byte_size = TIFFScanlineSize(tiff); - if (row_byte_size == 0 || row_byte_size > strip_size) { + // if the unpacker calculated row size is > row byte size, (at least) the last + // row of the strip will have a read buffer overflow. + if (row_byte_size == 0 || unpacker_row_byte_size > row_byte_size) { state->errcode = IMAGING_CODEC_BROKEN; return -1; } From 682e3e2f6942f5e9efded72a4f2f643e19f9b03b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 11:53:33 +1100 Subject: [PATCH 307/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 3a16c0e50..7d9dc6fbc 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,21 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Do not load transparent pixels from subsequent GIF frames #5333 + [zewt, radarhere] + +- Use LZW encoding when saving GIF images #5291 + [raygard] + +- Set all transparent colors to be equal in quantize() #5282 + [radarhere] + +- Allow PixelAccess to use Python __int__ when parsing x and y #5206 + [radarhere] + +- Removed Image._MODEINFO #5316 + [radarhere] + - Add preserve_tone option to autocontrast #5350 [elejke, radarhere] From 37f9fcf93b2399db6b70ff363776ad4df5bad117 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 12:57:34 +1100 Subject: [PATCH 308/325] Removed unused imports --- Tests/conftest.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/Tests/conftest.py b/Tests/conftest.py index 11ec820ac..dd37e7ce5 100644 --- a/Tests/conftest.py +++ b/Tests/conftest.py @@ -1,7 +1,4 @@ import io -import warnings - -import pytest def pytest_report_header(config): From 43c41720e99037dd5c7689c9cd8e64fbb46afbff Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 21:40:53 +1100 Subject: [PATCH 309/325] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 7d9dc6fbc..2b685b309 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.2.0 (unreleased) ------------------ +- Added getxmp() method #5144 + [UrielMaD, radarhere] + +- Add ImageShow support for GraphicsMagick #5349 + [latosha-maltba, radarhere] + - Do not load transparent pixels from subsequent GIF frames #5333 [zewt, radarhere] From 2c8684c5254e8f5b9efaf0bfe216b732c55dd22b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 22:28:37 +1100 Subject: [PATCH 310/325] Moved getxmp() into JpegImageFile --- Tests/test_file_jpeg.py | 7 +++++++ Tests/test_image_getxmp.py | 9 --------- src/PIL/Image.py | 22 ---------------------- src/PIL/JpegImagePlugin.py | 23 +++++++++++++++++++++++ 4 files changed, 30 insertions(+), 31 deletions(-) delete mode 100644 Tests/test_image_getxmp.py diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 3ee33d65f..64f509a95 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -805,6 +805,13 @@ class TestFileJpeg: # Assert the entire file has not been read assert 0 < buffer.max_pos < size + def test_getxmp(self): + with Image.open("Tests/images/xmp_test.jpg") as im: + xmp = im.getxmp() + + assert isinstance(xmp, dict) + assert xmp["Description"]["Version"] == "10.4" + @pytest.mark.skipif(not is_win32(), reason="Windows only") @skip_unless_feature("jpg") diff --git a/Tests/test_image_getxmp.py b/Tests/test_image_getxmp.py deleted file mode 100644 index a684d6f0c..000000000 --- a/Tests/test_image_getxmp.py +++ /dev/null @@ -1,9 +0,0 @@ -from PIL import Image - - -def test_getxmp(): - with Image.open("Tests/images/xmp_test.jpg") as im: - xmp = im.getxmp() - - assert isinstance(xmp, dict) - assert xmp["Description"]["Version"] == "10.4" diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 062fa9280..ebeaf3c74 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -528,7 +528,6 @@ class Image: self.readonly = 0 self.pyaccess = None self._exif = None - self._xmp = None def __getattr__(self, name): if name == "category": @@ -1340,27 +1339,6 @@ class Image: return self._exif - def getxmp(self): - """ - Returns a dictionary containing the xmp tags for a given image. - :returns: XMP tags in a dictionary. - """ - - if self._xmp is None: - self._xmp = {} - - for segment, content in self.applist: - if segment == "APP1": - marker, xmp_tags = content.rsplit(b"\x00", 1) - if marker == b"http://ns.adobe.com/xap/1.0/": - root = xml.etree.ElementTree.fromstring(xmp_tags) - for element in root.findall(".//"): - self._xmp[element.tag.split("}")[1]] = { - child.split("}")[1]: value - for child, value in element.attrib.items() - } - return self._xmp - def getim(self): """ Returns a capsule that points to the internal image memory. diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index ad260acbd..09141f5b3 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -39,6 +39,7 @@ import subprocess import sys import tempfile import warnings +import xml.etree.ElementTree from . import Image, ImageFile, TiffImagePlugin from ._binary import i16be as i16 @@ -358,6 +359,7 @@ class JpegImageFile(ImageFile.ImageFile): self.app = {} # compatibility self.applist = [] self.icclist = [] + self._xmp = None while True: @@ -474,6 +476,27 @@ class JpegImageFile(ImageFile.ImageFile): def _getmp(self): return _getmp(self) + def getxmp(self): + """ + Returns a dictionary containing the xmp tags for a given image. + :returns: XMP tags in a dictionary. + """ + + if self._xmp is None: + self._xmp = {} + + for segment, content in self.applist: + if segment == "APP1": + marker, xmp_tags = content.rsplit(b"\x00", 1) + if marker == b"http://ns.adobe.com/xap/1.0/": + root = xml.etree.ElementTree.fromstring(xmp_tags) + for element in root.findall(".//"): + self._xmp[element.tag.split("}")[1]] = { + child.split("}")[1]: value + for child, value in element.attrib.items() + } + return self._xmp + def _getexif(self): if "exif" not in self.info: From e12d5042ad093be22c2df7fbce12c91d023e7a75 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 22:20:55 +1100 Subject: [PATCH 311/325] Adjusted docstring --- src/PIL/JpegImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index 09141f5b3..48e0de535 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -478,7 +478,7 @@ class JpegImageFile(ImageFile.ImageFile): def getxmp(self): """ - Returns a dictionary containing the xmp tags for a given image. + Returns a dictionary containing the XMP tags. :returns: XMP tags in a dictionary. """ From ae7110a85d2251f52a5687f086f466137685dd6e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 1 Apr 2021 23:18:30 +1100 Subject: [PATCH 312/325] Added release notes [ci skip] --- docs/releasenotes/8.2.0.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index 920b77dc8..a90b272c5 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -112,6 +112,20 @@ separate histograms for each color channel, changing the tone of the image. The ``preserve_tone`` argument keeps the tone unchanged by using one luminance histogram for all channels. +getxmp() for JPEG images +^^^^^^^^^^^^^^^^^^^^^^^^ + +A new method has been added to return +`XMP data `_ for JPEG +images. It reads the XML data into a dictionary of names and values. + +For example:: + + >>> from PIL import Image + >>> with Image.open("Tests/images/xmp_test.jpg") as im: + >>> print(im.getxmp()) + {'RDF': {}, 'Description': {'Version': '10.4', 'ProcessVersion': '10.0', ...}, ...} + Security ======== From 8ec027867f19633d9adfc5c8b7504d9b609fc5f1 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Apr 2021 13:18:44 +0300 Subject: [PATCH 313/325] Add security release notes --- docs/releasenotes/8.2.0.rst | 54 +++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/docs/releasenotes/8.2.0.rst b/docs/releasenotes/8.2.0.rst index a90b272c5..7ba5fc4a3 100644 --- a/docs/releasenotes/8.2.0.rst +++ b/docs/releasenotes/8.2.0.rst @@ -48,7 +48,7 @@ These changes only affect :py:meth:`~PIL.Image.Image.getexif`, introduced in Pil Image._MODEINFO ^^^^^^^^^^^^^^^ -This internal dictionary has been deprecated by a comment since PIL, and is now +This internal dictionary had been deprecated by a comment since PIL, and is now removed. Instead, ``Image.getmodebase()``, ``Image.getmodetype()``, ``Image.getmodebandnames()``, ``Image.getmodebands()`` or ``ImageMode.getmode()`` can be used. @@ -129,7 +129,56 @@ For example:: Security ======== -TODO +These were all found with `OSS-Fuzz`_. + +:cve:`CVE-2021-25287`, :cve:`CVE-2021-25288`: Fix OOB read in Jpeg2KDecode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* For J2k images with multiple bands, it's legal to have different widths for each band, + e.g. 1 byte for ``L``, 4 bytes for ``A``. +* This dates to Pillow 2.4.0. + +:cve:`CVE-2021-28675`: Fix DOS in PsdImagePlugin +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* :py:class:`.PsdImagePlugin.PsdImageFile` did not sanity check the number of input + layers with regard to the size of the data block, this could lead to a + denial-of-service on :py:meth:`~PIL.Image.open` prior to + :py:meth:`~PIL.Image.Image.load`. +* This dates to the PIL fork. + +:cve:`CVE-2021-28676`: Fix FLI DOS +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* ``FliDecode.c`` did not properly check that the block advance was non-zero, + potentially leading to an infinite loop on load. +* This dates to the PIL fork. + +:cve:`CVE-2021-28677`: Fix EPS DOS on _open +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* The readline used in EPS has to deal with any combination of ``\r`` and ``\n`` as line + endings. It accidentally used a quadratic method of accumulating lines while looking + for a line ending. +* A malicious EPS file could use this to perform a denial-of-service of Pillow in the + open phase, before an image was accepted for opening. +* This dates to the PIL fork. + +:cve:`CVE-2021-28678`: Fix BLP DOS +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* ``BlpImagePlugin`` did not properly check that reads after jumping to file offsets + returned data. This could lead to a denial-of-service where the decoder could be run a + large number of times on empty data. +* This dates to Pillow 5.1.0. + +Fix memory DOS in ImageFont +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* A corrupt or specially crafted TTF font could have font metrics that lead to + unreasonably large sizes when rendering text in font. ``ImageFont.py`` did not check + the image size before allocating memory for it. +* This dates to the PIL fork. Other Changes ============= @@ -178,3 +227,4 @@ ImageMagick_ installed. If both are installed, the tests prefer ImageMagick. .. _GraphicsMagick: http://www.graphicsmagick.org/ .. _ImageMagick: https://imagemagick.org/ +.. _OSS-Fuzz: https://github.com/google/oss-fuzz From 3bf5eddb89afdf690eceaa52bc4d3546ba9a5f87 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 7 Mar 2021 12:32:12 +0100 Subject: [PATCH 314/325] Fix OOB Read in Jpeg2KDecode CVE-2021-25287,CVE-2021-25288 * For J2k images with multiple bands, it's legal in to have different widths for each band, e.g. 1 byte for L, 4 bytes for A * This dates to Pillow 2.4.0 --- ...b027452e6988530aa5dabee76eecacb3b79f8a.j2k | Bin 0 -> 335 bytes ...4c83eb92150fb8f1653a697703ae06ae7c4998.j2k | Bin 0 -> 335 bytes ...ca68ff40171fdae983d924e127a721cab2bd50.j2k | Bin 0 -> 335 bytes ...c93af851d3ab9a19e34503626368b2ecde9c03.j2k | Bin 0 -> 3886 bytes Tests/test_file_jpeg2k.py | 16 +++++++ src/libImaging/Jpeg2KDecode.c | 43 ++++++++++++------ 6 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 Tests/images/crash-4fb027452e6988530aa5dabee76eecacb3b79f8a.j2k create mode 100644 Tests/images/crash-7d4c83eb92150fb8f1653a697703ae06ae7c4998.j2k create mode 100644 Tests/images/crash-ccca68ff40171fdae983d924e127a721cab2bd50.j2k create mode 100644 Tests/images/crash-d2c93af851d3ab9a19e34503626368b2ecde9c03.j2k diff --git a/Tests/images/crash-4fb027452e6988530aa5dabee76eecacb3b79f8a.j2k b/Tests/images/crash-4fb027452e6988530aa5dabee76eecacb3b79f8a.j2k new file mode 100644 index 0000000000000000000000000000000000000000..c9bd7fc0a8dfe76af64b373351349c55a1e5de18 GIT binary patch literal 335 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAT?kj?;d#WFKeih#5N7&Ec6GXfb5 z{K@$_MPL?#AdoAToRXTxzyy*30!APN1E3Mf|NZ|5GU$N03P2KsVL$=M0AUDVVsG3r zgOTxn5CacTfRTZfg@u9fe++}Lf=56=1Plducm(`U0b0uFotT}NQmR{Ks%NBU__0+v5uVf%dk00)ch;R~Sco^cBAMaSeyCLBPTkYfjHv!}sSR()c literal 0 HcmV?d00001 diff --git a/Tests/images/crash-7d4c83eb92150fb8f1653a697703ae06ae7c4998.j2k b/Tests/images/crash-7d4c83eb92150fb8f1653a697703ae06ae7c4998.j2k new file mode 100644 index 0000000000000000000000000000000000000000..fd2f4dd367773b472569bd41715b6892aa4f74b3 GIT binary patch literal 335 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAT?kj?;d#WFKeih#5N7&Ec6GXfb5 z{K@$_MPL?#AdoAToRXTxzyy*30!APN1E3Mf|NZ|5GU$N03P2KsVL$=M0AUDV5^rQ= zXJq^z#J~d-U}RurVPRnWAHyK5;1LiI0Yd>E9s&PTfR-|PCuS$6lKW-7{-3}A z@(2S%4N%YI<5yT1X8;L~faMQZ*gl^>z`_$>WlejaJCOIozHBX{G&^n;(f8O#>WT$jAqG~@M=OACIoFwC8{l95GQ Z;KspEJPh&6k9REK-H`Btt@iQ%n*cICSFQj6 literal 0 HcmV?d00001 diff --git a/Tests/images/crash-ccca68ff40171fdae983d924e127a721cab2bd50.j2k b/Tests/images/crash-ccca68ff40171fdae983d924e127a721cab2bd50.j2k new file mode 100644 index 0000000000000000000000000000000000000000..c3ad0d6330a7920f58a809e01c8691014ad70fe0 GIT binary patch literal 335 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAT?kj?;d#WFKeih#5N7&Ec6GXfb5 z{K@$_MPL?#AdoAToRXTxzyy*30!APN1E3Mf|NZ|5GU$N03P2KsVL$=M0AUDVl8}&K zXJq^z#J~d-U}RurVPRnWAHyK5;1LiI0Yd>E9s&PTfR-|PCuS$6lKW-7{-3}A z@(2S%4N%YI<5yT1X8;L~faMQZ*gl^>z`_$>WlejaJCOIozHBX{G&^n;(f8O#>WT$jAqG~@M=OACIoFwC8{l95GQ Z;KspEJPh&6k9REK-H`Btt@iQ%n*jHaS6u)A literal 0 HcmV?d00001 diff --git a/Tests/images/crash-d2c93af851d3ab9a19e34503626368b2ecde9c03.j2k b/Tests/images/crash-d2c93af851d3ab9a19e34503626368b2ecde9c03.j2k new file mode 100644 index 0000000000000000000000000000000000000000..3aadfc3772717bef34360b9138f56365a07728da GIT binary patch literal 3886 zcmV+}57F@dPybN>DF6Tf002M$002M$0000000000002M$002M$00000000000S^H| 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index 13ae09af5..5523d068b 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -231,3 +231,19 @@ def test_parser_feed(): # Assert assert p.image.size == (640, 480) + + +@pytest.mark.parametrize( + "test_file", + [ + "Tests/images/crash-4fb027452e6988530aa5dabee76eecacb3b79f8a.j2k", + "Tests/images/crash-7d4c83eb92150fb8f1653a697703ae06ae7c4998.j2k", + "Tests/images/crash-ccca68ff40171fdae983d924e127a721cab2bd50.j2k", + "Tests/images/crash-d2c93af851d3ab9a19e34503626368b2ecde9c03.j2k", + ], +) +def test_crashes(test_file): + with open(test_file, "rb") as f: + with Image.open(f) as im: + # Valgrind should not complain here + im.load() diff --git a/src/libImaging/Jpeg2KDecode.c b/src/libImaging/Jpeg2KDecode.c index a2a7354db..aa4fc58f7 100644 --- a/src/libImaging/Jpeg2KDecode.c +++ b/src/libImaging/Jpeg2KDecode.c @@ -644,7 +644,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state) { j2k_unpacker_t unpack = NULL; size_t buffer_size = 0, tile_bytes = 0; unsigned n, tile_height, tile_width; - int components; + int total_component_width = 0; stream = opj_stream_create(BUFFER_SIZE, OPJ_TRUE); @@ -814,23 +814,40 @@ j2k_decode_entry(Imaging im, ImagingCodecState state) { goto quick_exit; } - /* Sometimes the tile_info.datasize we get back from openjpeg - is less than numcomps*w*h, and we overflow in the - shuffle stage */ - - tile_width = tile_info.x1 - tile_info.x0; - tile_height = tile_info.y1 - tile_info.y0; - components = tile_info.nb_comps == 3 ? 4 : tile_info.nb_comps; - if ((tile_width > UINT_MAX / components) || - (tile_height > UINT_MAX / components) || - (tile_width > UINT_MAX / (tile_height * components)) || - (tile_height > UINT_MAX / (tile_width * components))) { + if (tile_info.nb_comps != image->numcomps) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; goto quick_exit; } - tile_bytes = tile_width * tile_height * components; + /* Sometimes the tile_info.datasize we get back from openjpeg + is less than sum(comp_bytes)*w*h, and we overflow in the + shuffle stage */ + + tile_width = tile_info.x1 - tile_info.x0; + tile_height = tile_info.y1 - tile_info.y0; + + /* Total component width = sum (component_width) e.g, it's + legal for an la file to have a 1 byte width for l, and 4 for + a. and then a malicious file could have a smaller tile_bytes + */ + + for (n=0; n < tile_info.nb_comps; n++) { + // see csize /acsize calcs + int csize = (image->comps[n].prec + 7) >> 3; + csize = (csize == 3) ? 4 : csize; + total_component_width += csize; + } + if ((tile_width > UINT_MAX / total_component_width) || + (tile_height > UINT_MAX / total_component_width) || + (tile_width > UINT_MAX / (tile_height * total_component_width)) || + (tile_height > UINT_MAX / (tile_width * total_component_width))) { + state->errcode = IMAGING_CODEC_BROKEN; + state->state = J2K_STATE_FAILED; + goto quick_exit; + } + + tile_bytes = tile_width * tile_height * total_component_width; if (tile_bytes > tile_info.data_size) { tile_info.data_size = tile_bytes; From 5a5e6db0abf4e7a638fb1b3408c4e495a096cb92 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Mon, 8 Mar 2021 20:31:41 +0100 Subject: [PATCH 315/325] Fix EPS DOS on _open -- CVE-2021-28677 * The readline used in EPS has to deal with any combination of \r and \n as line endings. It used an accidentally quadratic method of accumulating lines while looking for a line ending. * A malicious EPS file could use this to perform a DOS of Pillow in the open phase, before an image was accepted for opening. * This dates to the PIL Fork --- ...675703545fee17acab56e5fec644c19979175de.eps | Bin 0 -> 549784 bytes Tests/test_file_eps.py | 15 ++++++++++++++- src/PIL/EpsImagePlugin.py | 8 ++++---- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 Tests/images/timeout-d675703545fee17acab56e5fec644c19979175de.eps diff --git a/Tests/images/timeout-d675703545fee17acab56e5fec644c19979175de.eps b/Tests/images/timeout-d675703545fee17acab56e5fec644c19979175de.eps new file mode 100644 index 0000000000000000000000000000000000000000..5000ca9aa5574b9282ef371f857fdbc5b3528215 GIT binary patch literal 549784 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

J*y`E|NhqBN9x@@1S;pn@9*Inir->oKL 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 Gk^Oori0m2oAS* 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