+
     iI  c                  sR	   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ^RIHtHtHt ^RIHt ^RIHt ^RIHt R	t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]P8                  ],          t] F4  t]P@                  f   Q h]!! ]R]P@                   2]PD                  4       K6  	  ] F4  t#]#P@                  f   Q h]!! ]R]#P@                   2]#PD                  4       K6  	  ] F4  t$]$P@                  f   Q h]!! ]R]$P@                   2]$PD                  4       K6  	  ] F4  t%]%P@                  f   Q h]!! ]R]%P@                   2]%PD                  4       K6  	  ]PL                  t']PP                  t)]PP                  ]PT                  ,          t+]PX                  t-]PX                  ]PT                  ,          t.]P^                  t0]Pb                  t2]Pf                  ]Ph                  ,          ]Pj                  ,          ]Pl                  ,          t7]Pp                  t9]Pt                  t;]Px                  t=]P|                  t?]Ph                  t@]Pj                  tA]P                  tC]P                  ]P                  ,          tF]P                  tG]P                  ]P                  ,          tJ]P                  ]P                  ,          tL]P                  ]P                  ,          tN]P                  ]P                  ,          tP]P                  ]P                  ,          tR]P                  ]P                  ,          tT]P                  tV]P                  tX]P                  tZ]P                  t\]P                  t^]P                  t`]P                  tb]P                  td]P                  tf]P                  th]P                  tj]P                  tl]P                  tn]P                  tp ! R R]P                  4      tq ! R R]P                  4      tsR R lttR  R! ltu]P                  ! ]qP                  ]q]u4       ]P                  ! R"]s4       ]P                  ! ]qP                  ]t4       ]P                  ! ]qP                  R#4       R# )$a  
A Pillow plugin for .dds files (S3TC-compressed aka DXTC)
Jerome Leclanche <jerome@leclan.ch>

Documentation:
https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt

The contents of this file are hereby released in the public domain (CC0)
Full text of the CC0 license:
https://creativecommons.org/publicdomain/zero/1.0/
)annotationsN)IntEnumIntFlag)IO)Image	ImageFileImagePalette)i32le)o8)o32leiDDS c                  s6    ] tR t^t^t^t^t^tRtRt	Rt
RtRtR# )DDSD      i   i    N)__name__
__module____qualname____firstlineno__CAPSHEIGHTWIDTHPITCHPIXELFORMATMIPMAPCOUNT
LINEARSIZEDEPTH__static_attributes__r       9/usr/lib64/python3.14/site-packages/PIL/DdsImagePlugin.pyr
   r
      s*    DFEEKKJEr   r
   c                  s"    ] tR t^+t^tRtRtRtR# )DDSCAPSr   i  @ r   N)r   r   r   r   COMPLEXTEXTUREMIPMAPr   r   r   r   r   r   +   s    GGFr   r   c                  s6    ] tR t^1tRtRtRtRtRtRt	Rt
RtR	tR
# )DDSCAPS2i      i   r   i    i @  i   i    r   N)r   r   r   r   CUBEMAPCUBEMAP_POSITIVEXCUBEMAP_NEGATIVEXCUBEMAP_POSITIVEYCUBEMAP_NEGATIVEYCUBEMAP_POSITIVEZCUBEMAP_NEGATIVEZZVOLUMEr   r   r   r   r!   r!   1   s0    GFr   r!   c                  s.    ] tR t^=t^t^t^t^ t^@tRt	Rt
R# )DDPFr   r   N)r   r   r   r   ALPHAPIXELSALPHAFOURCCPALETTEINDEXED8RGB	LUMINANCEr   r   r   r   r*   r*   =   s     KEFO
CIr   r*   c                  s   ] tR t^Gt^ t^t^t^t^t^t	^t
^t^t^	t^
t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t ^t!^t"^t#^ t$^!t%^"t&^#t'^$t(^%t)^&t*^'t+^(t,^)t-^*t.^+t/^,t0^-t1^.t2^/t3^0t4^1t5^2t6^3t7^4t8^5t9^6t:^7t;^8t<^9t=^:t>^;t?^<t@^=tA^>tB^?tC^@tD^AtE^BtF^CtG^DtH^EtI^FtJ^GtK^HtL^ItM^JtN^KtO^LtP^MtQ^NtR^OtS^PtT^QtU^RtV^StW^TtX^UtY^VtZ^Wt[^Xt\^Yt]^Zt^^[t_^\t`^]ta^^tb^_tc^`td^ate^btf^ctg^dth^eti^ftj^gtk^htl^itm^jtn^kto^ltp^mtq^ntr^ots^ptt^qtu^rtv^stw^tx^ty^tz^t{^t|Rt}R# )DXGI_FORMATr   N)~r   r   r   r   UNKNOWNZR32G32B32A32_TYPELESSZR32G32B32A32_FLOATZR32G32B32A32_UINTZR32G32B32A32_SINTZR32G32B32_TYPELESSZR32G32B32_FLOATZR32G32B32_UINTZR32G32B32_SINTZR16G16B16A16_TYPELESSZR16G16B16A16_FLOATZR16G16B16A16_UNORMZR16G16B16A16_UINTZR16G16B16A16_SNORMZR16G16B16A16_SINTZR32G32_TYPELESSZR32G32_FLOATZR32G32_UINTZR32G32_SINTZR32G8X24_TYPELESSZD32_FLOAT_S8X24_UINTZR32_FLOAT_X8X24_TYPELESSZX32_TYPELESS_G8X24_UINTZR10G10B10A2_TYPELESSZR10G10B10A2_UNORMZR10G10B10A2_UINTZR11G11B10_FLOATR8G8B8A8_TYPELESSR8G8B8A8_UNORMR8G8B8A8_UNORM_SRGBZR8G8B8A8_UINTZR8G8B8A8_SNORMZR8G8B8A8_SINTZR16G16_TYPELESSZR16G16_FLOATZR16G16_UNORMZR16G16_UINTZR16G16_SNORMZR16G16_SINTZR32_TYPELESSZ	D32_FLOATZ	R32_FLOATZR32_UINTZR32_SINTZR24G8_TYPELESSZD24_UNORM_S8_UINTZR24_UNORM_X8_TYPELESSZX24_TYPELESS_G8_UINTZR8G8_TYPELESSZ
R8G8_UNORMZ	R8G8_UINTZ
R8G8_SNORMZ	R8G8_SINTZR16_TYPELESSZ	R16_FLOATZ	D16_UNORMZ	R16_UNORMZR16_UINTZ	R16_SNORMZR16_SINTZR8_TYPELESSZR8_UNORMZR8_UINTZR8_SNORMZR8_SINTZA8_UNORMZR1_UNORMZR9G9B9E5_SHAREDEXPZR8G8_B8G8_UNORMZG8R8_G8B8_UNORMBC1_TYPELESS	BC1_UNORMZBC1_UNORM_SRGBBC2_TYPELESS	BC2_UNORMZBC2_UNORM_SRGBBC3_TYPELESS	BC3_UNORMZBC3_UNORM_SRGBBC4_TYPELESS	BC4_UNORMZ	BC4_SNORMBC5_TYPELESS	BC5_UNORM	BC5_SNORMZB5G6R5_UNORMZB5G5R5A1_UNORMZB8G8R8A8_UNORMZB8G8R8X8_UNORMZR10G10B10_XR_BIAS_A2_UNORMZB8G8R8A8_TYPELESSZB8G8R8A8_UNORM_SRGBZB8G8R8X8_TYPELESSZB8G8R8X8_UNORM_SRGBZBC6H_TYPELESS	BC6H_UF16	BC6H_SF16BC7_TYPELESS	BC7_UNORMBC7_UNORM_SRGBZAYUVZY410ZY416ZNV12ZP010ZP016Z
OPAQUE_420YUY2ZY210ZY216ZNV11ZAI44ZIA44P8A8P8ZB4G4R4A4_UNORMZP208ZV208ZV408ZSAMPLER_FEEDBACK_MIN_MIP_OPAQUEZ'SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUEr   r   r   r   r1   r1   G   s~   GONNOLKK! ONMNMOLLKLKLIIHHNMJIJILIIIHIHKHGHGHHOOLINLINLINLIILIILNNN!#MIILINDDDDDDJDDDDDD	BDNDDD&)#.1+r   r1   c                  s   ] tR t^t^ t^t^t^t^t^t	^t
^t^t^t^t^t^t^ t^!t^"t^#t^$t^(t^)t^2t^3t^4t^<t^=t^>t^?t^@t^Ct ^Ft!^Gt"^It#^Kt$^Mt%^Ot&^Pt'^Rt(^St)^Tt*^Ut+^Qt,^dt-^et.^ft/^nt0^ot1^pt2^qt3^rt4^st5^tt6^ut7^vt8^wt9^t:];! R4      t<];! R4      t=];! R4      t>];! R4      t?];! R4      t@];! R4      tA];! R4      tB];! R4      tC];! R	4      tD];! R
4      tE];! R4      tF];! R4      tG];! R4      tH];! R4      tI];! R4      tJ];! R4      tK];! R4      tLRtMR# )D3DFMTs   UYVYs   RGBGs   YUY2s   GRGBs   DXT1s   DXT2s   DXT3s   DXT4s   DXT5s   DX10s   BC4Ss   BC4Us   BC5Ss   BC5Us   ATI1s   ATI2s   MET1r   N)Nr   r   r   r   r2   ZR8G8B8ZA8R8G8B8ZX8R8G8B8ZR5G6B5ZX1R5G5B5ZA1R5G5B5ZA4R4G4B4ZR3G3B2ZA8ZA8R3G3B2ZX4R4G4B4ZA2B10G10R10ZA8B8G8R8ZX8B8G8R8ZG16R16ZA2R10G10B10ZA16B16G16R16rH   rG   ZL8ZA8L8ZA4L4ZV8U8ZL6V5U5ZX8L8V8U8ZQ8W8V8U8ZV16U16ZA2W10V10U10ZD16_LOCKABLEZD32ZD15S1ZD24S8ZD24X8ZD24X4S4ZD16ZD32F_LOCKABLEZD24FS8ZD32_LOCKABLEZS8_LOCKABLEZL16Z
VERTEXDATAZINDEX16ZINDEX32ZQ16W16V16U16ZR16FZG16R16FZA16B16G16R16FZR32FZG32R32FZA32B32G32R32FZCxV8U8ZA1ZA2B10G10R10_XR_BIASZBINARYBUFFERi32ZUYVYZ	R8G8_B8G8rF   Z	G8R8_G8B8DXT1ZDXT2DXT3ZDXT4DXT5DX10ZBC4SBC4UBC5SBC5UATI1ATI2ZMULTI2_ARGB8r   r   r   r   rI   rI      s   GFHHFHHHF	BHHKHHFKLD	B	BDDDFHHFKL
CEEEG
CMFLK
CJGGLDGMDGMF	BLw<DGIw<DGIw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Dw<Lr   rI   ZDDSD_ZDDSCAPS_Z	DDSCAPS2_ZDDPF_c                  s6    ] tR tRtRtRtR R ltR R ltRtR	# )
DdsImageFileiK  ZDDSzDirectDraw Surfacec               s    V ^8  d   QhRR/# )   returnNoner   format   "r   __annotate__DdsImageFile.__annotate__O  s     TS TSt TSr   c                	sn   \        V P                  P                  ^4      4      '       g   Rp\        V4      h\        P
                  ! RV P                  P                  ^4      4      w  pV^|8w  d   R\        V4       2p\        V4      hV P                  P                  V^,
          4      p\        V4      ^x8w  d   R\        V4       R2p\        V4      h\        P                  ! V4      p\        P
                  ! RVP                  ^4      4      w  rVpWv3V n        R'V P                  ,           p\        P
                  ! RVP                  ^4      4      w  rp\        P
                  ! RVP                  ^,4      4       \        P
                  ! RVP                  ^4      4      w  rr^ pR	pV\        P                  ,          '       d   V\        P                  ,          '       d   R
V n        ^pM	RV n        ^p\        P
                  ! RV R2VP                  V^,          4      4      p\"        P$                  ! RV^ VV34      .V n        R	# V\        P(                  ,          '       dQ   V^8X  d
   RV n        EMV^8X  d'   V\        P                  ,          '       d
   RV n        EMRV RV 2p\        V4      hV\        P*                  ,          '       dP   RV n        \,        P.                  ! R
V P                  P                  R4      4      V n        R
V P0                  n        EM'V\        P4                  ,          '       Ed   V^,           pV\6        P8                  8X  d   R
V n        RV n        ^pEMV\6        P<                  8X  d   R
V n        RV n        ^pEMV\6        P>                  8X  d   R
V n        RV n        ^pEMV\6        P@                  \6        PB                  39   d   RV n        RV n        ^pEMTV\6        PD                  8X  d   RV n        RV n        ^pEM-V\6        PF                  \6        PH                  39   d   RV n        RV n        ^pEMV\6        PJ                  8X  Ed   V^,          p\        P
                  ! RV P                  P                  ^4      4      w  pV P                  P                  ^4       V\L        PN                  \L        PP                  39   d   R
V n        RV n        ^pEMSV\L        PR                  \L        PT                  39   d   R
V n        RV n        ^pEMV\L        PV                  \L        PX                  39   d   R
V n        RV n        ^pEMV\L        PZ                  \L        P\                  39   d   RV n        RV n        ^pEMV\L        P^                  \L        P`                  39   d   RV n        RV n        ^pEMwV\L        Pb                  8X  d   RV n        RV n        ^pEMPV\L        Pd                  8X  d   RV n        RV n        ^pEM)V\L        Pf                  8X  d   RV n        RV n        ^pEMV\L        Ph                  \L        Pj                  \L        Pl                  39   d6   R
V n        R V n        ^pV\L        Pl                  8X  d   R(V Pn                  R!&   MV\L        Pp                  \L        Pr                  \L        Pt                  39   d-   R
V n        V\L        Pt                  8X  d   R(V Pn                  R!&   M9R"V 2p\w        V4      hR#\        V4       2p\w        V4      hR$V 2p\w        V4      hV'       d.   \"        P$                  ! R%VXVV P:                  34      .V n        R	# \"        P$                  ! R&T^ T;'       g    V P2                  4      .V n        R	# ))i   znot a DDS filez<IzUnsupported header size zIncomplete header: z bytesz<3Iz<11I<4INRGBAr/   Z<ZIdds_rgbLLAzUnsupported bitcount z for ZPr"   rK   rL   rM   ZBC4rP   BC5ZBC1BC2BC3ZBC6HZBC6HSZBC7ZgammazUnimplemented DXGI format zUnimplemented pixel format zUnknown pixel format flags bcnraw    rh   g]tE?)<_acceptfpreadZSyntaxErrorstructZunpackZreprOSErrorlenioZBytesIO_sizesizer*   r/   r+   _moder   _Tiletiler0   r.   r   rf   palettemoder-   rI   rK   pixel_formatrL   rM   rO   rR   rP   rQ   rS   rN   r1   r7   r6   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   Zinfor3   r4   r5   ZNotImplementedError)selfmsgZheader_sizeZheader_bytesZheaderflagsheightwidthZextentspitchZdepthZmipmapsZpfsizeZpfflagsfourccbitcountZnZrawmodeZ
mask_countmasksoffsetdxgi_formats   &                     r   _openZDdsImageFile._openO  s#   tww||A''"Cc""tTWW\\!_=#,T+->,?@C#,ww||K!O4|#'L(9':&AC#,L)%}}UFKKODu_
499$ &eV[[_ Egffkk"o. -3MM%R,Q)TXX))))#

"

MMAj\"3V[[a5PQE"GQ5@QRSDIt~~%%1} 
RGd.>.>$>$>!
-hZuWIFcl"t++++DJ'++FDGGLL4FGDL &DLLt{{"" 1_F$#
$*!6;;&#
$*!6;;&#
$*!FKK55 
$)!6;;&"
$*!FKK55"
$)!6;;&"!'tTWW\\!_!ER )),,#  "(DJ(-D%A [%=%={?T?T$UU!'DJ(-D%A [%=%={?T?T$UU!'DJ(-D%A [%=%={?T?T$UU!$DJ(-D%A [%=%={?T?T$UU!&DJ(-D%A K$9$99!&DJ(.D%A K$9$99!&DJ(.D%A K$9$99!&DJ(/D%A ,,))..% 
 "(DJ(-D%A"k&@&@@-4		'* 11..33% 
 "(DJ"k&E&EE-4		'*6{mDC-c223DL>B)#../y9C%c**wD<M<M8NODI #G<P<PtyyQRDIr   c                    V ^8  d   QhRRRR/# )rU   posintrV   rW   r   rX   rZ   r   r[   r\     s      S T r   c                	s    R # )Nr   )rx   r   s   &&r   	load_seekZDdsImageFile.load_seek  s    r   )rr   rp   ru   rw   rt   N)	r   r   r   r   rY   Zformat_descriptionr   r   r   r   r   r   rT   rT   K  s    F-TSl r   rT   c                  s&    ] tR tRtRtR R ltRtR# )DdsRgbDecoderi  Tc               r   )rU   bufferz$bytes | Image.SupportsArrayInterfacerV   ztuple[int, int]r   rX   rZ   r   r[   ZDdsRgbDecoder.__annotate__  s      A o r   c           	     	s   V P                   f   Q hV P                  w  r#. p. pV Fa  p^ pV^ 8w  d.   Wg^,           ,	          V^,           ,          V8X  d   V^,          pK-  VP                  V4       VP                  Wg,	          4       Kc  	  \        4       pV^,          p	V P                  P
                  V P                  P                  ,          \        V4      ,          p
\        V4      V
8  d   \        P                  V P                   P                  V	4      R4      p\        V4       FI  w  rW,          pV\        \        WV,          ,	          W\,          ,          ^,          4      4      ,          pKK  	  K  V P                  V4       R# )NZlittle)rh   )ZfdargsappendZ	bytearrayZstateZxsizeZysizern   r   Z
from_bytesrk   Z	enumerater   Z
set_as_raw)rx   r   r   r   Zmask_offsetsZmask_totalsZmaskr   ZdataZ	bytecountZdest_lengthvalueZiZmasked_values   &&            r   decodeZDdsRgbDecoder.decode  s7   ww""")) DFqyz*vz:dBaKF't~.  {M	jj&&)9)99CJF$i+%NN477<<	#:HEE$U+$|,q/9[^KsRS  , 	r   r   N)r   r   r   r   Z	_pulls_fdr   r   r   r   r   r   r     s    I r   r   c               s(    V ^8  d   QhRRRRRRRR/# )	rU   imzImage.Imagerj   z	IO[bytes]filenamezstr | bytesrV   rW   r   rX   rZ   r   r[   r[     s4     ZV ZVk ZVy ZVK ZVD ZVr   c                s	   V P                   R9  d   RV P                    R2p\        V4      h\        P                  \        P                  ,          \        P
                  ,          \        P                  ,          p\        V P                  4       4      ^,          pV P                  P                  R4      pV'       Ed(   RpV\        P                  ,          pV P                  ^,           ^,          p. ROp	\        P                  p
VR8X  d   \        P                   pRpEMVR8X  d   \        P"                  pRpEMVR	8X  d   \        P$                  pRpEM\        P&                  pVR
8X  d   Rp\(        P*                  pEMVR8X  d   Rp\(        P,                  pEMVR8X  d3   Rp\(        P.                  pV P                   R 8w  d   Rp\        V4      hEMRRV 2p\        V4      hRpV\        P0                  ,          pV P                  V,          ^,           ^,          pV P                   R,          R8H  pV P                   ^ ,          R8X  d/   \        P2                  p
V P                   pV'       d   . ROp	Mg. ROp	Mb\        P4                  p
V P                   RRR1,          p. R Op	V'       d1   V P7                  4       w  pppp\8        P:                  ! RVVVV34      p V'       d   V
\        P<                  ,          p
T	P?                  V'       d   RM^ 4       \        P@                  pVPC                  \E        \F        4      \H        PJ                  ! R^|VV PL                  V P                  V^ ^ 4      ,           \H        PJ                  ! R.R!O5!  ,           \H        PJ                  ! R^ WV4      ,           \H        PJ                  ! R.V	O5!  ,           \H        PJ                  ! R\N        PP                  ^ ^ ^ ^ 4      ,           4       V\        P&                  8X  d+   VPC                  \H        PJ                  ! RX^^ ^ ^4      4       \R        PT                  ! W\R        PV                  ! VR"V PX                  ,           ^ V4      .4       R# )#r/   r^   r`   zcannot write mode z as DDSrw   re   rK   rL   rM   rc   rd   rb   z#only RGB mode can be written as BC5zcannot write pixel format rf   ZA      ~ Nz<7IZ11Ir]   z<5I)r/   r^   r`   ra   )rh   rh   rh   rh   )i   )rU   )i   )i   r   )   r   r   )r   r   r   )i   i   r   )rh   rh   rh   rh   rh   rh   rh   rh   rh   rh   rh   rg   )-rv   rm   r
   r   r   r   r   rn   ZgetbandsZencoderinfoZgetr   r|   r*   r-   rI   rK   rL   rM   rN   r1   r8   r:   r>   r   r0   r/   Zsplitr   Zmerger+   r   r2   Zwriteo32	DDS_MAGICrl   Zpackr{   r   r   r   _savers   rq   )r   rj   r   ry   rz   r   rw   Z
codec_namer}   Z	rgba_maskZpixel_flagsr~   r   r   ZalphaZrZgZbZas   &&&                r   r   r     sn   	ww00"277)73clII#djj043C3CCE2;;=!A%H>>%%n5L|
 A" 	kk6![[FDV#[[FDV#[[FD[[Fu$)66&)66&)6677e#?C!#,& $ 3<.Acl"
H$q(Q.s"771:..K77D@	@	((K774R4=D<IXXZ
1a[[!Q164+++Ku!4HHI
++IIHH	

	
 ++e
*y
*	+ ++eRh
?	@ ++e
(i
(	) ++eW__aAq
9	:$ 
KK{Aq!Q7	
 OOBY__Z"''9I1dSTUr   c               r   )rU   prefixZbytesrV   Zboolr   rX   rZ   r   r[   r[   i  s     & &E &d &r   c                s$    V P                  R 4      # )s   DDS )Z
startswith)r   s   &r   ri   ri   i  s    W%%r   r_   z.dds){Z__doc__Z
__future__r    ro   rl   ZsysZenumr   r   Ztypingr   Z r   r   r   Z_binaryr   rJ   r   r	   r   r   r
   r   r!   r*   r1   rI   Zmodulesr   ZmoduleZitemZnameZsetattrr   Zitem1Zitem2Zitem3r-   Z
DDS_FOURCCr/   ZDDS_RGBr+   ZDDS_RGBAr0   ZDDS_LUMINANCEZDDS_LUMINANCEAr,   Z	DDS_ALPHAr.   ZDDS_PAL8r   r   r   r   ZDDS_HEADER_FLAGS_TEXTUREr   ZDDS_HEADER_FLAGS_MIPMAPr   ZDDS_HEADER_FLAGS_VOLUMEr   ZDDS_HEADER_FLAGS_PITCHr   ZDDS_HEADER_FLAGS_LINEARSIZEZ
DDS_HEIGHTZ	DDS_WIDTHr   ZDDS_SURFACE_FLAGS_TEXTUREr   r    ZDDS_SURFACE_FLAGS_MIPMAPZDDS_SURFACE_FLAGS_CUBEMAPr#   r$   ZDDS_CUBEMAP_POSITIVEXr%   ZDDS_CUBEMAP_NEGATIVEXr&   ZDDS_CUBEMAP_POSITIVEYr'   ZDDS_CUBEMAP_NEGATIVEYr(   ZDDS_CUBEMAP_POSITIVEZr)   ZDDS_CUBEMAP_NEGATIVEZrK   ZDXT1_FOURCCrL   ZDXT3_FOURCCrM   ZDXT5_FOURCCr3   ZDXGI_FORMAT_R8G8B8A8_TYPELESSr4   ZDXGI_FORMAT_R8G8B8A8_UNORMr5   ZDXGI_FORMAT_R8G8B8A8_UNORM_SRGBr>   ZDXGI_FORMAT_BC5_TYPELESSr?   ZDXGI_FORMAT_BC5_UNORMr@   ZDXGI_FORMAT_BC5_SNORMrA   ZDXGI_FORMAT_BC6H_UF16rB   ZDXGI_FORMAT_BC6H_SF16rC   ZDXGI_FORMAT_BC7_TYPELESSrD   ZDXGI_FORMAT_BC7_UNORMrE   ZDXGI_FORMAT_BC7_UNORM_SRGBrT   Z	PyDecoderr   r   ri   Zregister_openrY   Zregister_decoderZregister_saveZregister_extensionr   r   r   <module>r      s  
 # 	  
 !  , , !  ! 	7 g w 7 y2' y2xI W I Z 
X	D99   FeDII;'4  E::!!!Fhuzzl+U[[9  E::!!!Fi

|,ekk:  E::!!!FeEJJ<(%++6  [[

((88d&&&$"2"22JJ	99t{{2TZZ?$BRBRR ** **  "oo [[
JJ	#OO "??W^^; #OO  ((8+E+EE  ((8+E+EE  ((8+E+EE  ((8+E+EE  ((8+E+EE  ((8+E+EE kkkkkk + = = (77 "-"A"A &33 #-- #-- #-- #-- &33 #-- (77 [9&& [| I''  FZVz&   L''w ?   y- 0   L'' /   ,,f 5r   