+
    JV-jóI  ã                  óJ	  € R t ^ RIH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]P6                  ],          t] F4  t]P>                  f   Q h] ! ]R]P>                   2]PB                  4       K6  	  ] F4  t"]"P>                  f   Q h] ! ]R]"P>                   2]"PB                  4       K6  	  ] F4  t#]#P>                  f   Q h] ! ]R]#P>                   2]#PB                  4       K6  	  ] F4  t$]$P>                  f   Q h] ! ]R]$P>                   2]$PB                  4       K6  	  ]PJ                  t&]PN                  t(]PN                  ]PR                  ,          t*]PV                  t,]PV                  ]PR                  ,          t-]P\                  t/]P`                  t1]Pd                  ]Pf                  ,          ]Ph                  ,          ]Pj                  ,          t6]Pn                  t8]Pr                  t:]Pv                  t<]Pz                  t>]Pf                  t?]Ph                  t@]P‚                  tB]P†                  ]Pˆ                  ,          tE]P†                  tF]PŽ                  ]P�                  ,          tI]PŽ                  ]P”                  ,          tK]PŽ                  ]P˜                  ,          tM]PŽ                  ]Pœ                  ,          tO]PŽ                  ]P                   ,          tQ]PŽ                  ]P¤                  ,          tS]P¨                  tU]P¬                  tW]P°                  tY]P´                  t[]P¸                  t]]P¼                  t_]PÀ                  ta]PÄ                  tc]PÈ                  te]PÌ                  tg]PÐ                  ti]PÔ                  tk]PØ                  tm]PÜ                  to ! R R]P                  4      tp ! R R]Pâ                  4      trR R ltsR  R! ltt]Pê                  ! ]pPì                  ]p]t4       ]Pî                  ! R"]r4       ]Pð                  ! ]pPì                  ]s4       ]Pò                  ! ]pPì                  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                  ó6   € ] 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   ó    Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/PIL/DdsImagePlugin.pyr   r      s*   † Ø€DØ€FØ€EØ€EØ€KØ€KØ€JØ„Er   r   c                  ó"   € ] 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                  ó6   € ] tR t^0t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_NEGATIVEZÚVOLUMEr   r   r   r   r&   r&   0   s0   † Ø€GØÐØÐØÐØÐØÐØÐØ„Fr   r&   c                  ó.   € ] 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   r1   r1   <   s    † Ø€KØ€EØ€FØ€OØ
€CØ„Ir   r1   c                  óú  € ] tR t^Ft^ 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   ÚUNKNOWNÚR32G32B32A32_TYPELESSÚR32G32B32A32_FLOATÚR32G32B32A32_UINTÚR32G32B32A32_SINTÚR32G32B32_TYPELESSÚR32G32B32_FLOATÚR32G32B32_UINTÚR32G32B32_SINTÚR16G16B16A16_TYPELESSÚR16G16B16A16_FLOATÚR16G16B16A16_UNORMÚR16G16B16A16_UINTÚR16G16B16A16_SNORMÚR16G16B16A16_SINTÚR32G32_TYPELESSÚR32G32_FLOATÚR32G32_UINTÚR32G32_SINTÚR32G8X24_TYPELESSÚD32_FLOAT_S8X24_UINTÚR32_FLOAT_X8X24_TYPELESSÚX32_TYPELESS_G8X24_UINTÚR10G10B10A2_TYPELESSÚR10G10B10A2_UNORMÚR10G10B10A2_UINTÚR11G11B10_FLOATÚR8G8B8A8_TYPELESSÚR8G8B8A8_UNORMÚR8G8B8A8_UNORM_SRGBÚR8G8B8A8_UINTÚR8G8B8A8_SNORMÚR8G8B8A8_SINTÚR16G16_TYPELESSÚR16G16_FLOATÚR16G16_UNORMÚR16G16_UINTÚR16G16_SNORMÚR16G16_SINTÚR32_TYPELESSÚ	D32_FLOATÚ	R32_FLOATÚR32_UINTÚR32_SINTÚR24G8_TYPELESSÚD24_UNORM_S8_UINTÚR24_UNORM_X8_TYPELESSÚX24_TYPELESS_G8_UINTÚR8G8_TYPELESSÚ
R8G8_UNORMÚ	R8G8_UINTÚ
R8G8_SNORMÚ	R8G8_SINTÚR16_TYPELESSÚ	R16_FLOATÚ	D16_UNORMÚ	R16_UNORMÚR16_UINTÚ	R16_SNORMÚR16_SINTÚR8_TYPELESSÚR8_UNORMÚR8_UINTÚR8_SNORMÚR8_SINTÚA8_UNORMÚR1_UNORMÚR9G9B9E5_SHAREDEXPÚR8G8_B8G8_UNORMÚG8R8_G8B8_UNORMÚBC1_TYPELESSÚ	BC1_UNORMÚBC1_UNORM_SRGBÚBC2_TYPELESSÚ	BC2_UNORMÚBC2_UNORM_SRGBÚBC3_TYPELESSÚ	BC3_UNORMÚBC3_UNORM_SRGBÚBC4_TYPELESSÚ	BC4_UNORMÚ	BC4_SNORMÚBC5_TYPELESSÚ	BC5_UNORMÚ	BC5_SNORMÚB5G6R5_UNORMÚB5G5R5A1_UNORMÚB8G8R8A8_UNORMÚB8G8R8X8_UNORMÚR10G10B10_XR_BIAS_A2_UNORMÚB8G8R8A8_TYPELESSÚB8G8R8A8_UNORM_SRGBÚB8G8R8X8_TYPELESSÚB8G8R8X8_UNORM_SRGBÚBC6H_TYPELESSÚ	BC6H_UF16Ú	BC6H_SF16ÚBC7_TYPELESSÚ	BC7_UNORMÚBC7_UNORM_SRGBÚAYUVÚY410ÚY416ÚNV12ÚP010ÚP016Ú
OPAQUE_420ÚYUY2ÚY210ÚY216ÚNV11ÚAI44ÚIA44ÚP8ÚA8P8ÚB4G4R4A4_UNORMÚP208ÚV208ÚV408ÚSAMPLER_FEEDBACK_MIN_MIP_OPAQUEÚ'SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUEr   r   r   r   r9   r9   F   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   r9   c                  ó  € ] 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   r:   ÚR8G8B8ÚA8R8G8B8ÚX8R8G8B8ÚR5G6B5ÚX1R5G5B5ÚA1R5G5B5ÚA4R4G4B4ÚR3G3B2ÚA8ÚA8R3G3B2ÚX4R4G4B4ÚA2B10G10R10ÚA8B8G8R8ÚX8B8G8R8ÚG16R16ÚA2R10G10B10ÚA16B16G16R16r¬   r«   ÚL8ÚA8L8ÚA4L4ÚV8U8ÚL6V5U5ÚX8L8V8U8ÚQ8W8V8U8ÚV16U16ÚA2W10V10U10ÚD16_LOCKABLEÚD32ÚD15S1ÚD24S8ÚD24X8ÚD24X4S4ÚD16ÚD32F_LOCKABLEÚD24FS8ÚD32_LOCKABLEÚS8_LOCKABLEÚL16Ú
VERTEXDATAÚINDEX16ÚINDEX32ÚQ16W16V16U16ÚR16FÚG16R16FÚA16B16G16R16FÚR32FÚG32R32FÚA32B32G32R32FÚCxV8U8ÚA1ÚA2B10G10R10_XR_BIASÚBINARYBUFFERÚi32ÚUYVYÚ	R8G8_B8G8r¥   Ú	G8R8_G8B8ÚDXT1ÚDXT2ÚDXT3ÚDXT4ÚDXT5ÚDX10ÚBC4SÚBC4UÚBC5SÚBC5UÚATI1ÚATI2ÚMULTI2_ARGB8r   r   r   r   r´   r´   Â   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   r´   ÚDDSD_ÚDDSCAPS_Ú	DDSCAPS2_ÚDDPF_c                  ó6   € ] tR tRtRtRtR R ltR R ltRtR	# )
ÚDdsImageFileiJ  ÚDDSzDirectDraw Surfacec               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚNoner   )Úformats   "r   Ú__annotate__ÚDdsImageFile.__annotate__N  s   € ÷ TSñ TS�tñ TSr   c                	ó  € V P                   f   Q h\        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
                  ! RVR,          4      w  rEpWe3V n	        R*V P                  ,           p\        P
                  ! RVR,          4      w  r‰p
\        P
                  ! R	VR
,          4       \        P
                  ! RVR,          4      w  r¼rÞ^ pR pV\        P                  ,          '       d€   V\        P                  ,          '       d   RV n        ^pM	RV n        ^p\        P
                  ! RV R2V^T^TV^,          ,            4      p\        P                   ! RV^ VV34      .V n        R # V\        P$                  ,          '       dQ   V^8X  d
   RV n        EMÓV^8X  d'   V\        P                  ,          '       d
   RV n        EM¦R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 P,                  n        EM'V\        P0                  ,          '       Edú   V^,           pV\2        P4                  8X  d   RV n        RV n        ^pEMÙV\2        P8                  8X  d   RV n        RV n        ^pEM²V\2        P:                  8X  d   RV n        RV n        ^pEM‹V\2        P<                  \2        P>                  39   d   RV n        RV n        ^pEMTV\2        P@                  8X  d   RV n        RV n        ^pEM-V\2        PB                  \2        PD                  39   d   RV n        RV n        ^pEMöV\2        PF                  8X  Ed¸   V^,          p\        P
                  ! RV P                   P                  ^4      4      w  pV P                   P                  ^4       V\H        PJ                  \H        PL                  39   d   RV n        RV n        ^pEMSV\H        PN                  \H        PP                  39   d   RV n        RV n        ^pEMV\H        PR                  \H        PT                  39   d   RV n        R V n        ^pEMåV\H        PV                  \H        PX                  39   d   RV n        RV n        ^pEM®V\H        PZ                  \H        P\                  39   d   RV n        RV n        ^pEMwV\H        P^                  8X  d   RV n        RV n        ^pEMPV\H        P`                  8X  d   RV n        R!V n        ^pEM)V\H        Pb                  8X  d   RV n        R"V n        ^pEMV\H        Pd                  \H        Pf                  \H        Ph                  39   d6   RV n        R#V n        ^pV\H        Ph                  8X  d   R+V Pj                  R$&   M™V\H        Pl                  \H        Pn                  \H        Pp                  39   d-   RV n        V\H        Pp                  8X  d   R+V Pj                  R$&   M9R%V 2p\s        V4      hR&\        V4       2p\s        V4      hR'V 2p\s        V4      hV'       d-   \        P                   ! R(VXWðP6                  34      .V n        R # \        P                   ! R)T^ T;'       g    V P.                  4      .V n        R # ),Nznot a DDS filez<IzUnsupported header size zIncomplete header: z bytesz<3I:Né   N:r	  é   Nz<11I:r
  éD   Nú<4I:r  éT   NÚRGBAr6   Ú<ÚIÚdds_rgbÚLÚLAzUnsupported bitcount z for ÚPr'   rí   rï   rñ   ÚBC4rõ   ÚBC5ÚBC1ÚBC2ÚBC3ÚBC6HÚBC6HSÚBC7ÚgammazUnimplemented DXGI format zUnimplemented pixel format zUnknown pixel format flags ÚbcnÚraw©é    r!  g]tÑEÝ?):ÚfpÚ_acceptÚreadÚSyntaxErrorÚstructÚunpackÚreprÚOSErrorÚlenÚ_sizeÚsizer1   r6   r2   Ú_moder   Ú_TileÚtiler7   r5   r   r  ÚpaletteÚmoder4   r´   rí   Úpixel_formatrï   rñ   rô   r÷   rõ   rö   rø   rò   r9   r�   r€   rƒ   r„   r†   r‡   r‰   rŠ   rŒ   r�   rŽ   r™   rš   r›   rœ   r�   ÚinforU   rV   rW   ÚNotImplementedError)ÚselfÚmsgÚheader_sizeÚheaderÚflagsÚheightÚwidthÚextentsÚpitchÚdepthÚmipmapsÚpfsizeÚpfflagsÚfourccÚbitcountÚnÚrawmodeÚ
mask_countÚmasksÚoffsetÚdxgi_formats   &                    r   Ú_openÚDdsImageFile._openN  s  € Ø�w‰wÒ"Ð"Ð"Ü�t—w‘w—|‘| A“×'Ò'Ø"ˆCÜ˜cÓ"Ð"ÜŸš t¨T¯W©W¯\©\¸!«_Ó=‰ˆØ˜#ÔØ,¬T°+Ó->Ð,?Ð@ˆCÜ˜#“,ÐØ—‘—‘˜k¨A�oÓ.ˆÜˆv‹;˜#ÔØ'¬¨F« }°FÐ;ˆCÜ˜#“,Ðä%Ÿ}š}¨U°F¸3µKÓ@Ñˆ�uØ�_ˆŒ
Ø˜4Ÿ9™9Õ$ˆä &§¢¨e°V¸Eµ]Ó CÑˆ�gÜ�Š�f˜f U�mÔ,ô -3¯MªM¸%ÀÈÅÓ,OÑ)ˆ˜ØˆØˆØ”T—X‘X×Ôàœ×)Ñ)×)Ô)Ø#�”
Ø‘
à"�”
Ø�
ä—M’M A j \°Ð"3°V¸BÀÀjÐSTÅnÕATÐ5UÓVˆEÜ"Ÿš¨°G¸QÀÈ5Ð@QÓRÐSˆDŒIÙØ”t—~‘~×%Ô%Ø˜1Œ}Ø �–
Ø˜R” G¬d×.>Ñ.>×$>Ô$>Ø!�–
à-¨h¨Z°u¸W¸IÐF�Ü˜c“lÐ"Ø”t×+Ñ+×+Ô+ØˆDŒJÜ'×+Ò+¨F°D·G±G·L±LÀÓ4FÓGˆDŒLØ &ˆD�L‰LÖØ”t—{‘{×"Õ"Ø  1•_ˆFØœŸ™Ô$Ø#�”
Ø$*�Ô!Ø’Øœ6Ÿ;™;Ô&Ø#�”
Ø$*�Ô!Ø’Øœ6Ÿ;™;Ô&Ø#�”
Ø$*�Ô!Ø’ØœFŸK™K¬¯©Ð5Ô5Ø �”
Ø$)�Ô!Ø’Øœ6Ÿ;™;Ô&Ø"�”
Ø$*�Ô!Ø’ØœFŸK™K¬¯©Ð5Ô5Ø"�”
Ø$)�Ô!Ø’Øœ6Ÿ;™;Õ&Ø˜"•�ä!'§¢¨t°T·W±W·\±\À!³_Ó!E‘�Ø—‘—‘˜RÔ ØÜ×)Ñ)Ü×,Ñ,ð#ô ð "(�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!'�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!'�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!$�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!&�D”JØ(-�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(.�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(.�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(/�DÔ%Ø’AØ Ü×,Ñ,Ü×)Ñ)Ü×.Ñ.ð%ô ð
 "(�D”JØ(-�DÔ%Ø�AØ"¤k×&@Ñ&@Ô@Ø-4˜Ÿ	™	 'Ñ*øØ Ü×1Ñ1Ü×.Ñ.Ü×3Ñ3ð%ô ð
 "(�D”JØ"¤k×&EÑ&EÔEØ-4˜Ÿ	™	 'Ñ*øà6°{°mÐD�CÜ-¨cÓ2Ð2à3´D¸³L°>ÐB�Ü)¨#Ó.Ð.à/°¨yÐ9ˆCÜ% cÓ*Ð*çä—’  w°¸×<MÑ<MÐ8NÓOðˆDŽIô #Ÿš¨°¸¸G×<PÐ<PÀtÇyÁyÓQÐRˆDŽIr   c               ó    € V ^8„  d   QhRRRR/# )r  ÚposÚintr  r  r   )r  s   "r   r  r  ä  s   € ÷ ñ ˜Sð  Tñ r   c                	ó   € R # )Nr   )r5  rM  s   &&r   Ú	load_seekÚDdsImageFile.load_seekä  s   € Ùr   )r-  r+  r0  r2  r/  N)	r   r   r   r   r  Úformat_descriptionrJ  rP  r   r   r   r   rÿ   rÿ   J  s   † Ø€FØ-ÐõTS÷lñ r   rÿ   c                  ó&   € ] tR tRtRtR R ltRtR# )ÚDdsRgbDecoderiè  Tc               ó    € V ^8„  d   QhRRRR/# )r  Úbufferz$bytes | Image.SupportsArrayInterfacer  ztuple[int, int]r   )r  s   "r   r  ÚDdsRgbDecoder.__annotate__ë  s   € ÷ ñ ÐAð Àoñ r   c           	     	ó4  € 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       FY  w  rÆW¶,          pT\        W\,          '       d-   \        WÔV,          ,	          W\,          ,          ^ÿ,          4      M^ 4      ,          pK[  	  K©  V P                  V4       R# )NÚlittle)éÿÿÿÿr!  )ÚfdÚargsÚappendÚ	bytearrayÚstateÚxsizeÚysizer*  rN  Ú
from_bytesr$  Ú	enumerater
   Ú
set_as_raw)r5  rV  rC  rG  Úmask_offsetsÚmask_totalsÚmaskrH  ÚdataÚ	bytecountÚdest_lengthÚvalueÚiÚmasked_values   &&            r   ÚdecodeÚDdsRgbDecoder.decodeë  sC  € Ø�w‰wÒ"Ð"Ð"ØŸ)™)‰ˆð ˆàˆÛˆDØˆFØ�qŒyØ¨�zÕ*¨v¸­zÕ:¸dÔBØ˜a•K’FØ×Ñ Ô'Ø×Ñ˜t�~Ö.ñ ô ‹{ˆØ •Mˆ	Ø—j‘j×&Ñ&¨¯©×)9Ñ)9Õ9¼CÀ»JÕFˆÜ�$‹i˜+Ô%Ü—N‘N 4§7¡7§<¡<°	Ó#:¸HÓEˆEÜ$ UÖ+‘�Ø$�|�àœà"—~”~ô ˜,°q­/Õ9¸[½^ÕKÈsÕRÔSàóõ ’ó ,ð 	�‰˜ÔØˆr   r   N)r   r   r   r   Ú	_pulls_fdrn  r   r   r   r   rT  rT  è  s   † Ø€I÷ñ r   rT  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r  ÚimzImage.Imager"  z	IO[bytes]Úfilenamezstr | bytesr  r  r   )r  s   "r   r  r    s4   € ÷ ZVñ ZVˆkð ZV˜yð ZV°Kð ZVÀDñ ZVr   c                ó	  € 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MìVR	8X  d   \        P$                  pRpEMÑ\        P&                  pVR
8X  d   Rp\(        P*                  pEM¦VR8X  d   Rp\(        P,                  pEM‹V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^ W«V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# )#r6   r  r  zcannot write mode z as DDSr2  r  rí   rï   rñ   r  r  r  z#only RGB mode can be written as BC5zcannot write pixel format r  ÚAì      ~ Nz<7IÚ11Ir  z<5I)r6   r  r  r  )r!  r!  r!  r!  )é   )r  )é   )é   rZ  )éÿ   r{  r{  )rv  rv  rv  )i  ÿ i ÿ  r{  )r!  r!  r!  r!  r!  r!  r!  r!  r!  r!  r!  r   )-r1  r)  r   r   r   r   r   r*  ÚgetbandsÚencoderinfoÚgetr   r;  r1   r4   r´   rí   rï   rñ   rò   r9   rƒ   r†   rŒ   r   r7   r6   Úsplitr   Úmerger2   r]  r:   ÚwriteÚo32Ú	DDS_MAGICr&  Úpackr:  r!   r#   r   Ú_saver.  r,  )rr  r"  rs  r6  r9  rC  r2  Ú
codec_namer=  Ú	rgba_maskÚpixel_flagsrB  r\  rI  ÚalphaÚrÚgÚbÚas   &&&                r   r…  r…    sn  € Ø	‡w�wÐ0Ô0Ø" 2§7¡7 )¨7Ð3ˆÜ�c‹lÐä�I‰IœŸ™Õ#¤d§j¡jÕ0´4×3CÑ3CÕC€EÜ�2—;‘;“=Ó! AÕ%€HØ—>‘>×%Ñ% nÓ5€Lç€|Øˆ
Ø”—‘Õ ˆØ—‘˜A• Õ"ˆÚ ˆ	Ü—k‘kˆØ˜6Ô!Ü—[‘[ˆFØŠDØ˜VÔ#Ü—[‘[ˆFØŠDØ˜VÔ#Ü—[‘[ˆFØŠDä—[‘[ˆFØ˜uÔ$Ø�Ü)×6Ñ6’Ø Ô&Ø�Ü)×6Ñ6’Ø Ô&Ø�Ü)×6Ñ6�Ø—7‘7˜eÔ#Ø?�CÜ! #›,Ð&ñ $ð 3°<°.ÐA�Ü˜c“lÐ"àˆ
Ø”—‘ÕˆØ—‘˜HÕ$ qÕ(¨QÕ.ˆà—‘˜•˜sÑ"ˆØ�7‰7�1�:˜ÔÜŸ.™.ˆKØ—7‘7ˆDßÚ@‘	â@‘	äŸ(™(ˆKØ—7‘7™4˜R˜4•=ˆDÚ<ˆIçØŸX™X›Z‘
��1�a˜Ü—[’[ ¨!¨Q°°1¨Ó6�ßØœ4×+Ñ+Õ+ˆKØ×Ñ§u™°!Ô4ä—‘ˆØ‡H�HÜŒI‹Ü
�+Š+ØØØØ�I‰IØ�H‰HØØØó	
õ
	
ô �+Š+�eÐ
*˜yÓ
*õ	+ô �+Š+�e˜R °hÓ
?õ	@ô �+Š+�eÐ
(˜iÓ
(õ	)ô �+Š+�eœWŸ_™_¨a°°A°qÓ
9õ	:ôð$ ”—‘ÔØ
�‰ä�KŠK˜˜{¨A¨q°!°QÓ7ô	
ô ‡O‚O�BœYŸ_š_¨Z¸À"Ç'Á'Õ9IÈ1ÈdÓSÐTÖUr   c               ó    € V ^8„  d   QhRRRR/# )r  ÚprefixÚbytesr  Úboolr   )r  s   "r   r  r  j  s   € ÷ &ñ &�Eð &˜dñ &r   c                ó$   € V P                  R 4      # )s   DDS )Ú
startswith)r�  s   &r   r#  r#  j  s   € Ø×Ñ˜WÓ%Ð%r   r  z.dds)zÚ__doc__Ú
__future__r   r&  ÚsysÚenumr   r   Útypingr   Ú r   r   r   Ú_binaryr	   ré   r
   r   r‚  rƒ  r   r!   r&   r1   r9   r´   Úmodulesr   ÚmoduleÚitemÚnameÚsetattrrk  Úitem1Úitem2Úitem3r4   Ú
DDS_FOURCCr6   ÚDDS_RGBr2   ÚDDS_RGBAr7   ÚDDS_LUMINANCEÚDDS_LUMINANCEAr3   Ú	DDS_ALPHAr5   ÚDDS_PAL8r   r   r   r   ÚDDS_HEADER_FLAGS_TEXTUREr   ÚDDS_HEADER_FLAGS_MIPMAPr   ÚDDS_HEADER_FLAGS_VOLUMEr   ÚDDS_HEADER_FLAGS_PITCHr   ÚDDS_HEADER_FLAGS_LINEARSIZEÚ
DDS_HEIGHTÚ	DDS_WIDTHr#   ÚDDS_SURFACE_FLAGS_TEXTUREr"   r$   ÚDDS_SURFACE_FLAGS_MIPMAPÚDDS_SURFACE_FLAGS_CUBEMAPr(   r)   ÚDDS_CUBEMAP_POSITIVEXr*   ÚDDS_CUBEMAP_NEGATIVEXr+   ÚDDS_CUBEMAP_POSITIVEYr,   ÚDDS_CUBEMAP_NEGATIVEYr-   ÚDDS_CUBEMAP_POSITIVEZr.   ÚDDS_CUBEMAP_NEGATIVEZrí   ÚDXT1_FOURCCrï   ÚDXT3_FOURCCrñ   ÚDXT5_FOURCCrU   ÚDXGI_FORMAT_R8G8B8A8_TYPELESSrV   ÚDXGI_FORMAT_R8G8B8A8_UNORMrW   ÚDXGI_FORMAT_R8G8B8A8_UNORM_SRGBrŒ   ÚDXGI_FORMAT_BC5_TYPELESSr�   ÚDXGI_FORMAT_BC5_UNORMrŽ   ÚDXGI_FORMAT_BC5_SNORMr™   ÚDXGI_FORMAT_BC6H_UF16rš   ÚDXGI_FORMAT_BC6H_SF16r›   ÚDXGI_FORMAT_BC7_TYPELESSrœ   ÚDXGI_FORMAT_BC7_UNORMr�   ÚDXGI_FORMAT_BC7_UNORM_SRGBrÿ   Ú	PyDecoderrT  r…  r#  Úregister_openr  Úregister_decoderÚregister_saveÚregister_extensionr   r   r   Ú<module>rÍ     s   ðñ
õ #ã Û 
ß !Ý ç ,Ñ ,Ý !Ý Ý !ð €	ôˆ7ô ôˆgô ôˆwô ôˆ7ô ôy2�'ô y2ôxI ˆWô I ðZ 
�‰�XÕ	€Û€DØ�9‰9Ò Ð Ð ÙˆF�e˜DŸI™I˜;Ð'¨¯©Ö4ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�h˜uŸz™z˜lÐ+¨U¯[©[Ö9ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�i §
¡
˜|Ð,¨e¯k©kÖ:ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�e˜EŸJ™J˜<Ð(¨%¯+©+Ö6ñ ð �[‰[€
Ø
�(‰(€Ø�8‰8�d×&Ñ&Õ&€Ø—‘€Ø—‘ $×"2Ñ"2Õ2€Ø�J‰J€	Ø×Ñ€àŸ9™9 t§{¡{Õ2°T·Z±ZÕ?À$×BRÑBRÕRÐ Ø×*Ñ*Ð ØŸ*™*Ð ØŸ™Ð Ø"Ÿo™oÐ à�[‰[€
Ø�J‰J€	à#ŸO™OÐ Ø"Ÿ?™?¨W¯^©^Õ;Ð Ø#ŸO™OÐ à ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ à�k‰k€Ø�k‰k€Ø�k‰k€à +× =Ñ =Ð Ø(×7Ñ7Ð Ø"-×"AÑ"AÐ Ø&×3Ñ3Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø&×3Ñ3Ð Ø#×-Ñ-Ð Ø(×7Ñ7Ð ô[�9×&Ñ&ô [ô|"�I×'Ñ'ô "õJZVõz&ð × Ò �L×'Ñ'¨°wÔ ?Ø × Ò �y -Ô 0Ø × Ò �L×'Ñ'¨Ô /Ø × Ò ˜×,Ñ,¨fÖ 5r   