From ad2c6a20fe874958d8d9adecbbfeb81856155f05 Mon Sep 17 00:00:00 2001 From: REDxEYE Date: Sat, 23 Jul 2022 00:30:27 +0300 Subject: [PATCH] Add support for ATI1/2(BC4/BC5) DDS files This commit adds support for loading DDS with ATI1 and ATI2 fourcc pixel format --- Tests/images/ati2.dds | Bin 0 -> 22000 bytes Tests/images/ati2.png | Bin 0 -> 28408 bytes Tests/test_file_dds.py | 14 ++++++++++++++ src/PIL/DdsImagePlugin.py | 9 ++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 Tests/images/ati2.dds create mode 100644 Tests/images/ati2.png diff --git a/Tests/images/ati2.dds b/Tests/images/ati2.dds new file mode 100644 index 0000000000000000000000000000000000000000..7199dcad7620d3b6e3e839370892f6ee901082fa GIT binary patch literal 22000 zcma%?X*d*I`2R&4MM4tlsVt=^3Wa2S$|Sq&`&edYc4G{ZZ7{>km>FgaV>g(=V1$Y! z+O!~HNJS*H(}T*d-}Qg@d-Z>D-}iN$>zsGzI@kBUzn|mi=yfzxKhb#MRre72wvi zC>33p+);i$4(_iq`KYiOxhX}zOuWx0s`qa=$1M~gfV(EJ!552Aw|vEVIqIyK@24k< zt!J6wdL#Hq8lw(uF%PMl#WjMGCkKjcw+x^J!_%?W#w`ZIK1xKcB-i@+CBWhI{Pu`@ z@$CRYOGDJ`sC^@dUJI9X%FTv~nek}h=z51bD=8^tL%pwygU2nuYNbr%B%B-W1dXq! zC%r4SvwH4HPC#5OyCd~TC;ihebM8xd2Jv8bd1Q=S8mUWJ@vg#38p-!k)>;2pHeoKf z%axdx17zriDQ_*|M!_DkV9q!^)qNUan+ptm4Wtk{ z`@k}whQ%a;NJcNIhx5Q%79g6b0*|ozxqlw|gPr&+SPE6rFCpNUe>%nfq@e4k{nh$DaRzdbGf{sn})(2L3Z3H?;2>tzby$(!l zt9MBXr1m(v6voS*%YVCjun;3TIPptyf{c^i6db*^kdYWYaAs;(KsHFWO|h7zP@lZU z*c7?IXrv@a%_(>V1GnnJQdI=!Af*>yj&vTOCjJgZA%fnp;))N7R8PFgjk{6349g{# z#Ma;vVztC&sMD<0WiNVpWaJ%9qZgeOF`t~y9Q5$2cOQFZazivIiD|a_o#<&V@@&NH z>A)qIhR(Vhu0~St2g_Q03$!usNiu;d7y+{RmtC%DMO+7TIMFkZkZv;`bnE$YvmzEF ztoH%>)Pd0w!hVgl&p%dc&~P7d$Ld&K5_zM)ic-x?a@l?H*6*$yqUe4}jqlbRQr@_V z-i!W10`{}{54#L1S}KA6aNChbD2Tm12)f6|Hf*d4ZqOSEqnnoaZ#Kp8p{niVlTRwc zlW31h9=O+ntK4?zUjf%fCZ0O>CUl}G(op^t;sU=AlM&~UsRk^C?HTAiWYIw9s2DvQ8}(E02#Kz1NyQ0As9@ds1{tHS7Kf9~o|=khirgkU2R=cS zvH?2^w;VFYaAFMfA}}?3N+3J$;%2X87r|x^ch)C&HRbmIqqh}6z|#{M5I2IostLI~(s6mr?b~K& ztnTNBCBt(xAI3XkoBPumgf{D;NTa39H^yuWR~?@hWnk)}Wxlf@R`YS`8R7$*aHB0{d9E!tVRo0hW)4fdUU8rX#TD(u>Q1pN;i)W z(zn~dYXSL@Isnb6yG`C5QRA&g&)HS`@v@rFTje*Pqj;;p9WP3Qmpwv%%j+@xPujVt z4pegEJ@=e#QQs%TMjrdo^?4u{Kj%|cmPKpD)g5f_SUg5YN)2`^=QeRrz?RY5U^xoW zZ_4_v(328tQiGIvKud#a?nD%xHp+vjHL0u&TGpc9R8tBzJL-^T-PMPF(AY6;KNAyA zY2J)o4Su>#dUY#x9Cq^u&AmGgjCVLP)7^g|Vvi)w0{uAgcJNS{J)#60Slfz0{Hh3$ zDsS97nN<|8-4qVATBm_zzTA4|%*v0GrVeTXaEw^uQ?b-ZzL;2vJS_lDP-2bL$R|#M ztD@e&xFiI#7_p~Eq8mfc@saP25{=sv8{^uJhe`aanXtES@Y^qeDj|_zVVLy4a=#{k z@7FgfeZWZTm)+l|JK`$jo^=|YD04G&SZ}j{u`jwe#Zt~!Fg%Z_y-+c*<-xQa0jKAd z`N=5WDDi?k5B1vR{A@r^X$0npKz3(b9^pbT`$#4s0|I+Y>lty%M)^5%3@zxH81<;3 zN*h)tv9)>OADCeZ@`(ZSwB8mD%%MNwwls~26M?dlJY|BP10MJ-P{TDSAvY>$plUZGZod!Kty5YknOJvAlLpS#X? z)N+vEI^^#}zx+0SnR!wL4<^>Z{t#g6vySIG?l=L}%)HNC2lQH$Wy`JPpnWov=l zgIi^2+>IZdgR6W@bEz~SP|C&(Oj(`^=FnpWk;V;EbT;^7lc$j&zZBi8I=?nGnuFJR zVg;&)*GB%FwOk36)Zv=H5v5KdjV6TI^$$1}B>b|kpF2sCoZ?h&Y*i%!!ZcklUDA1(~+e2F?<;Zxj) zk`9NLzynTCr{1JO#2Lw(Kc@YzBo{7WkB-%lFU!Zcb1o=!>H z4ya;?z5eTt}I($b(T#ip%W%Qw15#%VF?W(DVgJjS-V7Wy<0-Mu` zGDxJu-+J9ll7DYI|0l64h)(HvGvN6s2RlPG;1`v6WDKNBPdyY}H1uEX-3?&I+sEVw z1)H%znnit^F7#ZWM$U^sH;eovw~}}yNLB>6-wR z{aI))ig}%)B|VWaFKyq&DGFGMr;e}M)r36nhX(76 zUW*$inL_OAF=JxkfgF3`(INs~*zdPN&csfbGu^ktOOrM?C*js#3Xq8x=6?bF7I_ypef|E~ zrUCZWB%?NGzR06<!4b8tY7KS zC9}qxK>fGK$%Xq35lJPbKa81d&@v`aahIDA_SJcXbA?`pAsG++czl|PTJb2w85QJ( zyKYgJ6f$avrWqaZ<*`a1?d}Ctt9-UsZw9#5-@FM=m`ijT8>x&KS~}lx)?FBV6#D&Z zA+X}w*Gn#PjkIEPuvIIg2*roMti-2x3A2(ww&^^^a2hGKGF?BIpPqQVR%q;hBAxiO z6{WpXgNa!&%S^0%U6io8@GAAcV}j`Ty6DA+opt_CE#SS6D0#TW;Uy6LRUsJMC5n|uHTMv>RUz}8 z^iS$HYS8=paA+5s`e;2D@egfsQEblx%4wZXw<4%3zURQx)iIS#*AOvQ6genMsaSaOaCPosvksrdX+^cn#RTt@bqdjP`qXEUcQ1`yb zt_JdY6<6l_q%>lAnj_O8F2Kh6~ImF0nHDsod8g4gMg5nex(GSzctM-d9IZb#4uMR zrzj4P;0}Lqca_A54(UU+h&JJ+YbT!`Zd_^d_|5wT*ez4-XY_F$8SmKwvv~`}$+p!J z4p`mYdf{a&n(s2-u{@TQq$h2IUH48W9ybdUq=C~(`{#SN$bQR6mS5EWee9k%&@XqY zSW0j7U9rlgFFoZ(!}yoZ20CYg4f$VL<-fV!YP-s0c0|?!Mfx0!LH*vf3M*Ctxllu95eW}{r!tI*Wn z&(~P@_|B89v>*oscC^>&{GV#T0`QyRp_1K5Hu2Zqn1^til<t6FJi0sg6bX&ZDS8$)hZnHn1{fd4ZB z!}VBJLgyxA8}L>=mw8&BHcU0|xXHevoV;D#7iS_h|K9jV449~G>i|oO5qr^tnIq&v z?AQs*=*`(OQ`=f(y{@YOzg<1W?c1-02(xD4iM;+6;8JvEN1x}T;IN|?qin?8$?&te z1s{fMV(vQk-KZDx;wlw3SdOeJ;?UKhx8Ob|aAcHv<#+=XVN`wTgc*t(dpqo$aH=ye zvFi8{Az+$~gDg!aFR~agEh|>;t85k&<_|e2)6Y(VKK)Vn%!HSiF{Asjv^_2MxkT2g zwJs-7@=xlL8Lm7e(!~;1rrrpZ_|rvV^(Ii}S&Q$zWu4wFi;}HIQch?oZqHL?w?d%4 z>A6E(-!fd7j^z*FdX7;$3@TQ5k$i@jXRS9pr3ayWmyNicPr z5lAxyZ9o|%2~OD^!0GuKwCuA#WFmu-9HupN06LaOXzuQa-1Ra8K{p4T=-kRqPAZxI z`DTkSeslAffO)Shxg*$D>QI=N!x2-sJzKI8rKfhf#=pvry4gE4dv=~hz{?HTtexwH zygI;q8woDD47DFp#rXnmy&VNl*(%grDbXm^)Z>>&{|U58gMSrV`D7H6GPb1#+WlKP z*sombtMxBkTMo(avAwYh%;AZn?3cxarT+w>W04?QC%Mc|rdl2e-)zF_K6}Zq?xThU z$it1;jGUw!(VUZm)nvSZ-!x*JnwB)xS5z^+H8auhmBMQrA_FN^5Xzh|ViDS$H=@_n z8iNi+23j*)y($K}N)k)!W;>EPLZSMs*}8Dfr3%wF!;0pcdYbahlap>G9zXzg3oEZY@E;BMd(0k&v!pb|BPraU~C`0Yg#Ov<7{`}_ukw~-Z5X3{-( zMzX{{dco$nhe|B3v{BEFNML!yBnzQJrqw~I;JkOom5ThNo%ibvuL@jGja@Y*_>>2= zu$kS>n1FLut9xW z)(DOaOj-#pc#KiyBnFYzTf$;jRi8-EZGNA2KEGqt-%5B^u=~&QJS%G7s4D3Lix&-o zywtGqt%N@xep#`-p(L>nwum-*&kS>Ynx_$kV#V7&n!erDSsZm>j0OWpG7~q9)%n*< z$Vn;1#i!dl%X|zUvPc8=MM$FltuOK^~-iqH{dG*Wr+{!b{4{nwlIptk`r;9NBce^Ms`N>N1 zWmf^@;M$LFqtY^W$#UA@PLGmnQ=`rB{R$<~(b7G^=i15u>VZa#(d(rl-sxnWlQs_$ zOh2SruO&W3YEQQtT%$K%%zGPPX6M=)xa8k5l-lT9OO}!l^chbz_z#>PuG;!u=GYcCIAq~ScBXa}Flwo(V>_ob@!sd(71qD< ziS{nTVZ~z^NpEsb>!ClUkxV?=XZ%w#p!fP|r17oHl#U{WjvrhqWU0&3)RywM9Vp8K;jg4CX2)waI{@#cz~8gxF3 zBtd$$MZC;Rl-YT3xAawIWXMz}eBQP=ZtlG6LCqAV)Ob{t7) zd@p8#Up|>D1WH-g?X#>_Hpj>?M`B(A>QB_P%4W=6P6riG}}*DvH{_ z1Jz@xUyoXXxNr2h7b6d64sL@VVIj9Lv_Wnf$1bd)u@WMllgMH7AkO0xgi4U)Z# z7(vC$-M@$<8K}1}tA=U-(xk2PiWpf*7^ddP+|>zzBC8DoAHne;q?+Lbdq0Y8l9)d^OtYJ{-iOWLH=|{g-RMkI~Z~GNNs7L-m8#pR>lP$m3;ZI z2Am+==|p$y0;?&`-g>?H*`Fq&xPAEIyVLwI<+~kEKgS8ej_A{a9 z-PCoejX*{}*VuD%pqZ11|1){U!+1$P!{4zBNa#}L9RfZa`(?dbG z_h*7u_9H6za6SYs9YX+*l!wmxD3#wfYK=w&PgEW3;RkSA<%K`3i~N@TFp(qJ+N&zt z5Eu4~>+#2eB?qm(*QQq;jqTAL&*mOc9dHSFIa0kp4=9He!u8GE)YIzqlf3<&5u1u9op6&mCc%%?3QL+nckYhO$8THkVF z2p+7S^Ym)0%Yl3N#p(QTTOF_E5f(LJxBxI~`78~0#2V4~C4w5E_1L7q5=KYr-TylD zp-JLD;&NUaP8S6cgOF-YB2Lsnd6BZvtQ4%5!}`ke%qH!#&fW%1<0ZF$pI_UBD?}T8 zUj5@Mmq*ZrddWI|ZwoQ_Ko>sjWX5RsX<)CR>Ox)*RAFB2t_Jx9D#-@SSK+VS8?Gfy zvq8L_5G^)>7so^2_D5<~pb=n7j4=PGiiVV zI(PUYDp0;MKm7e)1Fb&zrmMY;N#tX3u@~Y2Slbv?>zApH{5guK2|tYYf&jX!A!;>X z)k1PHZYW`$U%J7FGQ6w~G^VG=(e;(Mx~Apm2nG7o#Qhpr9=K9>`ej~Hm*OkPXG1o6 zB~%*q(2fH(TohRpr4+>q0})!S77XI;wMS>4=+H1XK2qMW#N5~;c$8o-uAJodi*ESe zW@`{=k8yxiNg1^5bEU~#W4X_@Kx%d^ztJysl`L^!G$6FBDvJ_|st{MAnhr((q@$BQ zyoT-?Ex-%&{;bAM=O}ERc7wL&qG1SJ*)1nH-IHk=z}YE z9Eg_R^l_`X`hbd>0B^t-p0&0q{ks>U!s%>7$|*Lp8shp(A?i_LYhXzr)lAKv=i6g$ z)MM#V3&VA{MrF@d_~<_DbluThmZHsjx;OR*71xV+?YprQ$H9j0b@s1sM{VY#o63>)0i1<(NhLU~!2}=J z#lv&GE+Amt6c{GDTw6lP$HP5_^==1|4q?mma-F?-X7ctKQ{muzE_i8f@6YF#3lU2_*yXwSI_!b^=K9?e zHE!RhnsqGXDgNh1uGGXKY9Mb%n;fk-8t^svo$_yNdEiI8Uf_fF)Sy1Te{tF7e1k#I zpjbE4h2_+u?7BA)!-ed9Tl4OSOEu~Bm53tPnOb<1g9KI6qr@YpC1VPd zECSOz)w=LePJF`}RcbDu6~%ovSl^JEjXvrCJ8C>Af(i;!V_vHCpx1uycH>(1L>51)Oi-QP7ioM2 ziY}$5_}Oq$)Mu7JkWCi;>rN{0z;sdML3^s<0<|y+yRa1OvZc}=?#+e!s^p;=93#Jz z@P=q@x2AicRn39j!CV79+tT=;p3acp4K#d}d#BvsN1k&|^Zq5id{YcxI#CInFS&6c z!N)*#Qy6ga#dODV7Z*j#mel*NXGXea%8uwN79b5BzRe{lbI}#R_8Zk6JlFur7;%{` zLOxrx!-40Sa9TjVTt_nv`@FRk21jQl_P1-uV-vCymeuHs(&8FuTd);&!mj`{X|ABH zYf>8#)m`-_c&!=*eVMnm>%XFK)yppG1q!7}x_j~^2iLO*ACIbk)BTi@jG8*he5l1F zn4ve4rgmjSrAp-UWdV5+72PHy>y#V72t|{E<6CO6wKko@glCX;1T^=<~@78=W*U>k9tpI8%1 z_|$M+AH*qqbTI~MAsfsq=0sOJnrO&3iQIJB=?dlgj~I}{Gv444a|}wzic3E zexD?*s1*~c#$M^EW()lGS$*1SZNl}cbl^n13a^U(M~ikSKDCOl{QK+cype3Yh5?Ri zc0ZS}JU5|hr^Sekl+u4!-euw>Q`f8OocMkXJt3HJaTUnSL!t8Xu_o;HvuBoqev86> z4Tl#*KP>?XFj{*5!izz3BhB`}u58>1XO;9<7E}VlT7+L!V&kxjL&=xq_#{ArRPT|r z1CRVu^K@Y=iAy{kBxJ~}Kwh=QH(I+4#f}l*M+)XOBN1DXka&wnD_Tk z4D1K1y~~_C^|8uhFM%)SOQ7fWx!$*>FyK3OJa^0c@L@$d9c8~% zM*B);H|%WPkXE{fM&^o34x!sTd8tTustJ?(#8U$_r#<7 zVIft>q_vlgn)5lh&1?xLr{f0d@U}}@Iq+lU`I)qPT@?AZS-JCk4=-ZYxLMn4 zKRdL~DP>`T&++a#4;S#s%@G&bb-Z(Xh0uM^swqAzylaHFw+5}d#hx?XEcn8$I%3++ zFg7PagxK{jT`iwo86fU%R6Ot6?UVZ8h4R3ymO$SFYcsp<2<=p-q?E_-@{|C#$;OuX z8!*hc{4--&7RgE4-nG1%P6UZvG><&UO4wLlI^_z?Ozb=SBfqqVj&nQ_ZMHBsOXU^Oy33PEh zPjQC|C05m$+FG$*i;LDWKLUTkbWwSDe|b`+4l*g9c8hRE;(_}ky6e}0#h5LQmF->ai!B|3U>J|~!F;S_zdA~KoTcuk9^-)*-SB_)@< zG740x{)-vJnT^v6(6hbFNCkcg{=(Zk@j*6B?6-~*zpHEM#N6#$)fsJtHwM3RnxW-n zlKXC|&hDl>+=#w#Ol_z**=_Og9pE$ty*OM{-qV(YJGdVc=#R=uCQ(@r_Zjm+Pk-&c zIC7)iC(_y6$X}J`bMFCaa|H6&H!7m4keN&j<$38`U}qu5>eRTOQ1U!mK#I}a9T*?RCkxBN91y61=QZ96G@!TB{khR%i151jhWurtTMiZpY%&O zxi(XijiesO=%j-)k__*v9EU0(1P!^B$p2Q`2%lT793t$g_IZm@I`-bRE$t`c zqHtF&HMzLL>Pwy88vk_>XJ&_Q z!{HhKm}9A35Rp&zsqT#4xC+HTiw?&mC#iufSz|lLdQCDVK#<;rj9r^c{dK+uU-rOG z?ms~h+B|0>Nn1k3$WdNuY zRMAsPfoCFbSdtSWh+QV~L*)2|R+Lxu?TiGSxgBOZYRQ;jd-2)keQ61`dyWk0Qy9>r z=br)xCApZHMJ*$Ll~Sl^f2@yHJ_RAWoq~#d!;65X3rAn(-z6=3h?2OSe&4eajW&t0BSAkaU#S3JHG>Nz-$~#Y}6c z3M>AUM@8^=xbJ9db7yRAfUQ$&!fszMvAy@A27o!yt*V>FPB77Mi~g6Lj$7G2@lhFE zh%ypBcUm?tiPk&N&hKC~gZ}(iw^pLc4{g1N)z()Lgn=ykeZi{DXp3FULjX%QWb1nq ztqM95gSg8vE5%iM9XAWuGV`=G#%L>{G(SrMU)!Lv{0an#`{cfC%*Peq_%=O-D%DNsq(92b?xXF(+)9gzNa{GHMITx`PqU<;BD5jMnrx5on_0( zLAwglF4)D!d+SsjJ>t#DT?jfM%(=^DExrH^UZd+-ZOK8ZSPAuT_Jt`p`e?cWD4Q_u z*{Gw4%*UPb>(&u`&5D=SHIJP?lAa*4*!A+>ooslzqo7zLf{Vxfl190NNkZB}^UR|W zBDYzI*<`;`<+T}*r@$S;0Z#lU8qG-HfUu#N_y?*q#8Uo1xz5L%(YgzQ$up;G?M%ld z7kzD6u|@qZrllRHXvA9U;GVYx=@AM1NF6N>$}Oa|#?#2MYhU6~AJ;#_)JCMML! zC}C`OvPW!H3=;5G?o)c{B~^om8agX?>{obWZ6|GMK3ajRM`Glg34-9KNeX6nadHmS z*{9!%!?i=Q(?8_b`D5X?IpnWwx0K^_gWE-%@O^D6+3s74oC;WC9eGMwg45)&q)&ZW zQCrPwmM+ohNrylP6Yf$P`j8_dd=Q&OIFqJy2v5ySZal2#>w?OH1>{5pn0YWr@@oILmLA+tIxd7`HG_)~2Xx_F zikA%_^;A2)@5;h|x0rC&-hINNRqmBP1@v21O^qR%In6=b&h)F&tupWPBeG*OjLcGN zhS(q@14X@qUJ}33C$x_v@FoaGyCPUFq%`Q_-ek%Brt-f!jwUaU;w1P{Rv;}FIVsdl zNmynXElTg-{TE)y&{1m7Bkp-xci@n}U&D4!7e)6T_eH#HDvZ~07V8{+%0Mxiu*FZ% zd?ftYD0WS=Bn1w?v9>lS2r(%VN;~he!h8FV!E6c(-MHS6vOd{Dh?(+4wI!k|>GQNz z_pf{G&g|OK>RFDTR`Q`HB z?mg*7aJ#bND~@gtlb@qwKlPlEJakD5;cv?{-QkdjvSxm@bx5fIr#ZPaM+Y`}J#nPy zx^rtHF~hK@+Zi`K=r_rQuL`SONHDh0Ycm6?W-I^5G_ET; zK&~r<_@^4BT}R%(vV|M6?ajUe$KYHzI2dPZ)lSA3cD$5vFr>zB?n#IQd@F%PLu1cb z-lk!ex0Y2DB{Gw65u2-&nvCScf6rKF*4-f5DjYt%T{bI$^lnufv`QuJ7!x%Fw~$f# zbBXVr$c(s(i$@!#{_5Rj8`;@@VN+1jk5cm(1T#RbjRLfnZGnq-KTz%}etNaunl;~t zVmr6>sX3dGC4qnZP+_uhbrFhPEi1UxHn-C`$dU7`9H_)=h)1auXWc+E#`~6m>iHyy4Vap#TJd%VuydYskB3^8N_qdr0)U(Ae zTN{c(xJNr9EZW=Sl$_-aH<-1+1xyUq7gY!Ky4Et8HG2!aG89o7Jya5){`AD2aVj;r|6xt;lM{JR6EIcPKp_had>l2o z#W|mF@Oh?Q_t$!0dHr16lDNf;PZrD`NP?D)ZW)ga%t#2n52u3M|+Gg0pXzVuyr zkV#zH5~uU3xguiO&tv8Ykp-el88*hb?Y?6IHuXKR3%LMv`M5D(1vdFSQ|#x_gb-Eh zpZ(e=Ox*EXhqVsN8#4pnGp=@KQ~(T7J&5u_{x@W ziI4dT)F3`0D`MENP?zf2hw!0@+!i6ni$wxc|{2L=GT?Zhd-#L zy=;Zo06#cSh(e`Bs1x->qH$?1swzkp5o1#x_fp}{lfgDlbi=`{Lj4zAus?9Ca|ahG zt{TTYWbesW`j42ZBQ)6bFdZGawzI$zSZgxfU0aHxP}V|(fAwDE8}9Du z)l`BiO4VeLXIPHB?-O69Xqn@r;MO!8KRshmWNd_%{8d@%|!b8!W%RY*(*;V2!&)YZvHdxMF9-{CgjsX3>$OMLxNkpSn0W|Nx6JGy%8w1 zWjAanx0|Ny8IyB{_oqJjY_4{RD)N5uY4CC&jhRwbHw;p;FCk9sOnLpNH6IrFn4(1P zrX)QM9y-mUW&pKxU~)3@dDz`yEYXI5jQp{n=B1Za9&PZc1k)jD$L77+*!(`t10i3j zm=4}yM21y#Qk%)$gl|6pFF(%TB;7YZ=EiKU3V*-CvhxS^261)b>Cs~T)$mvBCIPO@ zrmenExudxarMVYnGattbO1-`J&lkVqYs4Dy8$VZJ^fL-U>(XZ7^|7Gmq0fx7(JA^$ z2Mu{KPFq2rJuB;1)@`SdLdVd#vS4NlEY z#Lj#JeICq8x_@&l&<2%@YYVKI0k`s!e*T^;*SX4%B(?2;M-eJu6pxw_p(`7A;api+ zZf9fk^D8*Rd0l3VAR2UIlw1hgUL$rZ{_7j`D!6Aa)*AJZs8%~a!L&@-xFZn z4C3xRvSb8k3EJ`%@3UhW#wr#35*7;U7^@#CQ<|u~%K|+lEs1axbkyI@D8@=ZkAJpB zgzyziB)Wn0nouMEh^0vLVle&jOOWtTNkUID8>iL9fCa-DC3=p0&tlW-0YyU`_|g@s zUZoQS!g0L1!x)i;!JDGX>#nE618z`yOh>D{Y%l%_dOTEOUvVx>wGYu6lfD>bKpf_S zOt0C0EcmbHhSBs&D(O56=@r<{C*sR7P#2CvKxclmZ2zsaF+(E4gQORZT!pH8bnc5Kx12iz%`u9hwh_yB*UM&}y(SQ3{-2(5L1j6^j zHpDIl;!|w>i5)xhed>ezKX+_nLv`LGO~`X?!9f{C?{WbJK;!r07tem{a_1_x>3+{I zxmNL*wuJ?xx$IMO+V<8}d{MWZrH!H2ViWs>|Hfoh1Z$n;OdM~hiuf+baO%pe4$H%` z-){{shodXi{=3gBiK{w=nz6HJ4?JPLVr(rg4#qwKD<4kCz8kgiqjkiD20RpkwW%)93Ufb~d$ZdfrS+820G z{aQuXXV6BZ9fC?6JM?ycDmfP#crG_nmrlo4J|2zCY08EC{a-Y}l1~rM*B3C3Qu0VE zP|r_?rDCE#TDXm1To;PA9G-Ni6#8pRo!e4U7~rq#;N!W2l}R7>Y{vEKXQApv9D`#{ zS&1irXU!Zc(y^yc!npdmjWN}loYRY=MX{~_s;os5i}72W2cxG(^Wt`l7g(P}WZ@RC z(BaKLsL7Iz_J)mw;je)vVL z6)|gRH~*oyCosrmT&IODO1-K*uNyMNh&|wEC&H!Hq6B%;#>I&TnA5}Ne%+ldr;t`G z&Lx>byMt2KCq1!M!4;*wBWVM4-vWTBqPMKk)nI{EcwSh9oAY@N`LKclS!-aF1?2-#tRV){r6d z!b$ zb1_8m`TFc*P6xjGYu_e%qX5#8Mm}ND(t!H#`85H`<;ER)DA7;W<-lBh**$5p6w-_E zb&pW*5~QoM#Bi4_9ey_OjFB{eoltoBr^H-8A7AD04Sd+585B8%`ZRli=UtG7c=Q0) z74ZyoMSoG!1SH{IM=hV%2Ii-YyDTxN2)P=>ckfHZ$<3QTI~G*<#6KGvCfD#hym{am zpb4}uX7%^0j)c7Gm`{EewcPg5LnivcW$F>Ea1~$b_;z}_w}xOaK+%*2bgprnhq(x-{AZ{T$JAptGj(-nxW?a&m*{(hB>ix1f}3C6ekTkmL3;>I<{uFUrL9xi43c|l(sJoDyG zxUw%8;|Z<6Uf-Q>FC|gq+?^TI>dwTBU7qCdf>tu*fY18G@v9B!Q*&NPA8Rj8X76f*PCY9QB*sy0Q>*j(Ix)>zbeM@L*ZY(Q6AJpVWk1sQ}1yx*LQoXC91jC8sbcEX6v$^7VWe*$qND@ggU(}adw z7O61L0_fJBN_g;scET}?8T?2bk!f>kfQuhsP_0%lxKWom8NnTfv9uU-D(yd{-A7_eeCr8f1N~)pZSnS>4JGJg(`W<=F0)DD3 z<>kB5{!CO|F#ceEUN%wj6C2glO~~-$Py&ajS?G6`l#26T$cgCWuGF5&av*N~6(Z1( z88C7leDavS0JCWM-0`EN1$od%5~I3FK|D1Wyr)kQz%IFMZUUvZv4ppt*tI0OFOZch z*CTEOE60kcPtWxNXPvg>bu=^Gn|s85f!_V#+xKS~qw5WzM&MVKU19+)?6hSbV?zwx z1{EnSo)bc~_cqGE9c6l+%*fJqw-tgh)*`>B%(!ssk2kD}h zbRvn^{pkx=1iBNh)dsLAyrR(sI9gLFb~~e3^KojtC7{Ex>)r!oHww}yP2#Or;qLu6 zsLd_l5#I$2@hH~(gnzsTo-S{4aHqRoVs0vw#r~QS>-Cf{lk>h?eZ29W8ejRC-n7x0 z6MxRJaq(PdCMxObo(Kb2Ch>(gY9{1y2C?FichvOtEVO|mK+Z!k6FRsHGSvTdFi?cV!y}u%&Ct8G_Px>>Ko}_QSS2d$QBhmHzOVj(;GKtZ>&&|XY znb=DAQ*;R}2YoMze90flAjp;cxAJ)?6Eb!~&(ndD4!(NRB;P2j24RB#Cn>zKI&|)f z?rLmJUF>Q`X!n8c5|3TJO1*PqB~Z|D_F)073frDzvG`9{0jUY_=QCQG8Gma$LoKZ= zBRS|!)faO~dUA`R(bW&GnFPmsMm~W>nRs=Oq~hjsmv{frppjHkgZhlJ(_foq;g1ko zd0p$N2-^;)RoyLQQdnEWm-4O*boAL#j?)THwL+_fK1%-*~41ho`Mj2 z@%So8d=su8So>^wmIidt=V)}$$gW(cQ7sGkZ0!AI_@=Sa^>9IIfnnn$ndPTJlTpjVh2p0!c_O1VSB(5J)1R zD56*pML=3abi_upf+8Y+&in2!>sr_Tw)dA+?&q!L!OUA_UICWiH(F=2E(AC*9O=xf@)^+*4J;>>l*@}vF(xevgl{Jrv@SzCBE$XR!BXl5K|pwf#1GC1gPFbNu-~O zla4V6BbC>b(BIw(*d`bm%EbSZ{7k<%j%Bl4);!E32ZQ=2_xSK>bEDr^eLE+_0A}2X ztX&c~up!qwgtw#{{<|1t>|Pw>KhLRHT5Lt`>q5^I2#OO|1?X(<;@uv5X$;i$RC5t zVO|Vr_4T`@P!M*QJ+D&)O7=Z6t>s8DC5+>miXI{Ld#45zoT0olsMU78wl5;#F6onn z7F=SdS^bI~%VY_lzC7C&ZUw|@B4DY$sX{c38I=J8RfHM87N4Ik^o9%Bllpube zuKU@fR>jNyHrPAWD8=%fv=gQUA}ls_#$rQWHud9G`v z1QB~bx~j@aM#4?0zc34U2=l7MEBJ(b4A9nEVz8How;NbJ26ifS(*NzLF&*4M z^Z2faZHr5~QWhQN6YHLcC2>3jpXV z!$4=+c*ks&5h+JUyWU6fU8MOZUR842CNp)QzL{YC5-QxEnIn0cM!pg}SI-!{LN zBY+_v^L}eZr1~=CFB?=bQgh&L`}lJu>BrQyMRNlw#2lOu0XT?tS`<<gfX zhHno#B|;@oYI6yxVk7|Uytpz$7-#7ai8+Mk0Arrqv9rJBQZ(%g6Orj9u*eo(mjF|S zz2eI%jd3nPh+k@;qr*JFP4f&iq~_z8jsKJr3q;6|2K=u{$xOl@j%@SepE)T*i({nU zcIK0sw(?hfs4c+qukOrLeUb!6uPhC4@E0M^{m$?Be780!-SD;2wWT43aY_2yFscMq zJ5v6JbX5@Hq)A*>%5A^ka2^jCY_0<)2e$$9pGEFZ+|H#~CN$6&4P0oy#;R~XJA+#j z?{Wzs3+9yjRvBTI-1*D2PK5as+V9&m$U?<vZRs-NyZg$IV3$$O_+QrgnYfZbBQtIp{<{wac6r(2^*~gwheIPh^Cw;jSJ0% zD6D?i(4WVr)$9_2KWq@-1{@opRgDUC+4JWxDZ3c|YhukW+z%EJ9G3p9{_>JP%J@x| z;**%{iCEmy(s~7$)qin_883+ghGuQ;U(2Ez0)6xz)x}9KLf=k=vANWAuX!4+N{Y>! zAFg557~maQmj@4MskLl7twJ}&f5AO*t_*{}; zl+@DA!-St1>~Ou-Q@ku8hX`|X)iay~c)RniKp3S0;rLc*Up!ERTk(F3K2FhGc;_S- zi9=t-em&j|pPJ{>?SEAK`r^U~*Mp;%TKv)km_BoQmRS&I>zHV?ghT>0Lkb(dX+FyA zj$!7e&*8zl`$mH|sgYVUi$_ntiQxM}qamx_a?v$)ZdbufG2V4VA6(hbK*@sc z1cYzTrx5%a08q7*T%z$m#1NIn$AWk$r#dmzw?E2e*M_@P6*6%dRkel-CtEMmtayIoL84n7asVD7l05m7H6blqiE;{WWn^CUP* z1TnW_+U8KjXY;MkemdgLBRA}s-E(H6gg|j_e=`DBAZK7NUxw=B39;>{gMmB=1`^h{ z^KerxF_MAWJ^zqN7_qmCOng_20M3Ku9|UqB(i&~Or1Qm?I!*$z0WP4KWzWr?6vpXq z8d?V25K$e&I_rR?IlpOhsr`L8pFTZs{9Uk{ivwB&@Gg%RDi5wY zLDc?ydia?*{o~_fKD>RGah1lN#%tWNX(y&h5r-vN^nZH?K&K6PxRQt;g7lU=Vw zHdJi|M(5pv?1=jZ2%o=Z>E%{{%63*mUARJWxBQvbyI+OSzTJ|{FDt`3zI-$T`Li(= zeJu-g{ZacRPnY^vF+4fuB&hFF#4MAdHhWAnz9mnx6SqCx8p4lB@5r*NeSS zx-=%$Ans1bg~@Obvs#M{)g>vUe=U*l&rCApB*B(J=TLRPJWXGmhl{y=^7uA}gzmY^ z)o1e@n|Q?V^8__iKwJn|Ozd>eB%fb4J(iuCg++DjUzycaN_~`kB3Wi3BES0}b86VW zG|wJ#Rv5{030A*vjW|0l!Z|>BX>0!GLbqhG)&-@ou`fof8(e-#h*#(4Yh$FX5e`FY z+X#DJ;0pal|4qv^036WeiP#eQ4X2k8hUF?^UM2BfkY0hr%D(!0Rp$|${e&8a00yC6 ze)oV^* z8EziT4H@!p4oD2UVO7bNA|Li|xbdW41h-6#p7a|PN1421zK%Z|vG zF4c48%xcRpEhBcL6_6izR!VwIbzGcSnFGg$p4DrYi%ByHT8~OBA2HR;X8cjjBK|QX z7z^sjrQ+vxvu!h3gr~>g`n2urWKH3BDlwWDZ{U1dmgOfPYhQGoiyn}r&ehGmUeZ=V z+*)v-Jm8EZQ&m@Jk(f;-`S;qnyI%9X7}T}vR&9NhX8y!T!U}$L<*5y3O7DEc4fa=~ z4H_=h7IttZv6Y9mN=#qy=5oSShh%~EEE!T0F|fM#Mgt;7b-cYxP#1{vP@CTKEP|OQ zdewJ_Nh6IsV6E2i1@X@X(MKAA0<2r1_5h=agIa9@Ox@$Nux6%3nx(!eg`_x|XfTvP zdpXXPl%+1!ljAL|Ii&(f?7GC2e0?ElDn$3uMykXG&%f=m;Fd!`VZuCej2K>XJ1Qc= zu_P9I-0e$;b~k*?^amObs8!k7yWZW2dOMU|1%~*q$Y+24&Ne z{|!A7l`TVPDZ-w0Q~{3P-1N{XS4Q@%A5b^Ur^BhMpQ?_yu}KYu+Euaa9Q@?r>_D@E zY+QN=YwSWM54&z&_u6-b^1ovq>{$ENs?<52?pk+-l1AvdeJ`h69NYd5pny%DzH$PI+h$7l*miX0~ z=np@gRk4@vjXb*BEQiLvy>MV1gparK+DP+|mI8QaMy%HW7f-d(+?gC~2){mrguleg zh-K49OJ34t?rB!IwQJMWzST4?Xah%-46_-nP%SW!x2o}5#OVCQj_lM}*pXVJ zWy|EmtDSvUfKds?$>r*ek>*UQB;D`DZB}}8_a2XBmdndA@Tmi>fL;hRO{9VDYpYPM zFY|rg6_&?C5{-U^xbplTxFx1_xYvYtukUz0tX3o^__!{7Sk0>WS4mwYvJa$JXGiat5YM89yJ(yLKSqFMZo1MM7HLYCU@=v2KDnEV#$AFVH< z9)f;xHJX=4Z@E)nuNQELu`c&7ODj3Zv7`B`MD-H1gI-$@5}Qx1^}u|5bgB^j*8i2m z{ox|Q8-3b;pSdpaQ7xLufz<{0NHaC=bWc7Wcwx(RK4nOVf9(#M2pizz4jpa` z4;ii@B$&@HNEZdjzkC@7I_o9)70Er1fTt`IyF!0m0+%3aLIyURy;4NG zg0nsmW2PX~bPaPx`dOryN=>j-SBL=*DQCyy6v#K>&18+wEwlaZ7yl-Y+$cLD-VD1Jo?aPa2~15D-B(}%wDF8mCnSjtC~n zSWOg2T@1}v{6Iv$8c2d@V3Rv2|>P^Fa1qC>Qw~zS~FpE+!=_ae-7ZPB*`tQ;7 zxwPKUVsOCYeDZ|(;Po(WUh?K~5yl6%O(tj?21IK2al(+}~m zE2Onw^;@~5(kZQ-xQIu34fM*LDnv++&VQ`*S|MU=b>rqCt%Te$qHKkZ3Q;R3YZitC z62cU9uFZ^Bim#c^QYZ#_DG&4Zo&B7}pxbFyqZTf5aHTBVQvcHvfA?1syynh zwqGTl=sa2@ptfx7p|YPHRYOii<)lICLi6=^S!vBCt?%S6tTf1R;fLt2Icf09Mw$OH zHa!c)jfX;6$%Lq*KJ)*3=PCb-O-e?pqv?*=j%7J?eO%GuEVpcWO0b)^&GK9-yb{xR zNWi3Tvd;nhnsZX?^Bs0{{>Y`*1U*e3>dQ&{1bcg$`70~=a!v5fzIEBD_I{CUgLMr0 z_G42%Yud7td45T2QzDtkwjsB^DEDWloVmf+{h~CN1{s3C+wqn~3qREJ>RCM_IcAyo zd{{{yy`-ov&Qr@w_I@&s-1#&+^?a}SZ%71_{%YZ`f@uLG9paL6UTTt=#@!tiu-z~_ zomZ9+U>cZ})?=OSAIZr|cdy>vm~bmI%~!QCy?=jJda7s03h&jI(|va@OUv-cyu57L jZqKcjmot{-@Al+cF6H@_OYwjC|BFla|2r8O|3Cg8=eS_+ literal 0 HcmV?d00001 diff --git a/Tests/images/ati2.png b/Tests/images/ati2.png new file mode 100644 index 0000000000000000000000000000000000000000..ac166965944dbfc5f0f6adf43a8c4593b6564e3b GIT binary patch literal 28408 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%0AZtXOaoytljRcS#p6{ob-0~K|ppPSLo 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 f-Gc2k+VKAe$zhIzoL_Oj00000NkvXXu0mjf6s1