+
     i[0  c                  s   R t ^ RIHt RR^R. ^N^N^N^'N^2N^.N^>N^DN^N^N^N^&N^&N^5N^AN^DN^N^N^N^&N^5N^AN^DN^DN^'N^&N^&N^5N^AN^DN^DN^DN^2N^&N^5N^AN^DN^DN^DN^DN^.N^5N^AN^DN^DN^DN^DN^DN^>N^AN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN. ^N^N^ N^&N^6N^DN^DN^DN^N^N^N^&N^6N^DN^DN^DN^ N^N^ N^+N^BN^DN^DN^DN^&N^&N^+N^5N^DN^DN^DN^DN^6N^6N^BN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN^DN./RR^R. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^#N^/N^N^N^N^N^N^%N^/N^@N^N^N^N^N^'N^3N^@N^@N^N^N^N^%N^3N^@N^@N^@N^N^N^#N^/N^@N^@N^@N^@N^N^N^/N^@N^@N^@N^@N^@N. ^N^N^N^N^N^N^&N^0N^N^N^N^N^N^N^#N^+N^N^N^N^N^N^N^.N^5N^N^N^N^N^N^'N^5N^@N^N^N^N^N^'N^0N^@N^@N^N^N^N^'N^0N^?N^@N^@N^&N^#N^.N^5N^@N^@N^@N^@N^0N^+N^5N^@N^@N^@N^@N^@N./RR^ R. ^N^N^N^N^	N^N^N^N^N^N^N^N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^N^N^N^N^N^	N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./RR^ R. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^	N^N^N^N^N^N^N^	N^N^N^N^N^N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^	N^N^N^N^N^N^N^	N^N^N^N^N^N. ^N^N^N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^	N^N^N^N^N^N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./RR^ R. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./R	R^R. ^N^N^N^N^N^#N^"N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^#N^N^N^N^N^N^N^N^"N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./R
R^R. ^N^N^N^N^N^N^N^N^N^	N^	N^N^N^N^N^N^N^	N^
N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./RR^ R. ^N^N^N^N^	N^N^N^N^N^N^N^N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^N^N^N^N^N^	N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N./RR^ R. ^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^	N^N^N^N^N^N^N^	N^N^N^N^N^N^N^
N^N^N^N^N^N^N^
N^N^N^N^N^N^N^	N^N^N^N^N^N^N^	N^N^N^N^N^N. ^N^N^N^	N^N^N^N^N^N^N^N^
N^N^N^N^N^N^N^	N^N^N^N^N^N^	N^
N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N.//	tR# )u  
JPEG quality settings equivalent to the Photoshop settings.
Can be used when saving JPEG files.

The following presets are available by default:
``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``,
``low``, ``medium``, ``high``, ``maximum``.
More presets can be added to the :py:data:`presets` dict if needed.

To apply the preset, specify::

  quality="preset_name"

To apply only the quantization table::

  qtables="preset_name"

To apply only the subsampling setting::

  subsampling="preset_name"

Example::

  im.save("image_name.jpg", quality="web_high")

Subsampling
-----------

Subsampling is the practice of encoding images by implementing less resolution
for chroma information than for luma information.
(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling)

Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and
4:2:0.

You can get the subsampling of a JPEG with the
:func:`.JpegImagePlugin.get_sampling` function.

In JPEG compressed data a JPEG marker is used instead of an EXIF tag.
(ref.: https://exiv2.org/tags.html)


Quantization tables
-------------------

They are values use by the DCT (Discrete cosine transform) to remove
*unnecessary* information from the image (the lossy part of the compression).
(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices,
https://en.wikipedia.org/wiki/JPEG#Quantization)

You can get the quantization tables of a JPEG with::

  im.quantization

This will return a dict with a number of lists. You can pass this dict
directly as the qtables argument when saving a JPEG.

The quantization table format in presets is a list with sublists. These formats
are interchangeable.

Libjpeg ref.:
https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

)annotationsZweb_lowZsubsamplingZquantizationZ
web_mediumZweb_highZweb_very_highZweb_maximumZlowZmediumZhighZmaximumN)Z__doc__Z
__future__r    Zpresets)     Z6/usr/lib64/python3.14/site-packages/PIL/JpegPresets.py<module>r      s.  ?B # ]Q+ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. !& ]Q+ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. & ]Q+ @  @Q  @  @Q  @  @B  @  @B  @ ! @%& @)* @-. @12 @46 @8: @<> @ ! @%& @)* @-. @02 @46 @8: @<> @ !" @ &' @ *+ @ -/ @ 13 @ 57 @ 9; @ =? @ !"	 @ &'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @Q  @  @B  @  @B  @  @B  @ ! @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. & ma, @  @Q  @  @Q  @  @Q  @  @Q  @ ! @%& @)* @-. @12 @56 @9: @=> @ ! @%& @)* @-. @12 @56 @9: @=> @ !" @ &' @ *+ @ ./ @ 23 @ 67 @ :; @ =? @ !"	 @ &'	 @ *+	 @ ./	 @ 23	 @ 57	 @ 9;	 @ =?	 @
 !" @
 &' @
 *+ @
 ./ @
 13 @
 57 @
 9; @
 =? @ !" @ &' @ *+ @ ./ @ 13 @ 57 @ 9; @ =? @ !" @ &' @ *+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @Q  @  @Q  @  @B  @  @B  @ ! @%& @)* @,. @02 @46 @8: @<> @ ! @%& @)* @,. @02 @46 @8: @<> @ !" @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @/ !& ]Q+!@ !@Q !@ !@Q !@ !@Q !@ !@Q !@!"!@%&!@)*!@-.!@12!@56!@9:!@=>!@!"!@%&!@)*!@-.!@12!@56!@9:!@=>!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@ "#	!@ &'	!@ *+	!@ ./	!@ 23	!@ 67	!@ :;	!@ >?	!@
 "#!@
 &'!@
 *+!@
 ./!@
 23!@
 67!@
 :;!@
 >?!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@!@ !@Q !@ !@Q !@ !@Q !@ !@Q !@!"!@%&!@)*!@-.!@12!@56!@9:!@=>!@!"!@%&!@)*!@-.!@12!@56!@9:!@=>!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@ "#	!@ &'	!@ *+	!@ ./	!@ 23	!@ 67	!@ :;	!@ >?	!@
 "#!@
 &'!@
 *+!@
 ./!@
 23!@
 67!@
 :;!@
 >?!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@ "#!@ &'!@ *+!@ ./!@ 23!@ 67!@ :;!@ >?!@. & ]Q+ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. & ]Q+ @  @Q  @  @B  @  @B  @  @B  @ ! @%& @)* @,. @02 @46 @8: @<> @ ! @%& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @B  @  @B  @  @B  @  @B  @ " @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. & ]Q+ @  @Q  @  @Q  @  @B  @  @B  @ ! @%& @)* @-. @12 @46 @8: @<> @ ! @%& @)* @-. @02 @46 @8: @<> @ !" @ &' @ *+ @ -/ @ 13 @ 57 @ 9; @ =? @ !"	 @ &'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @Q  @  @B  @  @B  @  @B  @ ! @$& @(* @,. @02 @46 @8: @<> @ " @$& @(* @,. @02 @46 @8: @<> @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. & ]Q+ @  @Q  @  @Q  @  @Q  @  @Q  @ ! @%& @)* @-. @12 @56 @9: @=> @ ! @%& @)* @-. @12 @56 @9: @=> @ !" @ &' @ *+ @ ./ @ 23 @ 67 @ :; @ =? @ !"	 @ &'	 @ *+	 @ ./	 @ 23	 @ 57	 @ 9;	 @ =?	 @
 !" @
 &' @
 *+ @
 ./ @
 13 @
 57 @
 9; @
 =? @ !" @ &' @ *+ @ ./ @ 13 @ 57 @ 9; @ =? @ !" @ &' @ *+ @ -/ @ 13 @ 57 @ 9; @ =? @ @  @Q  @  @Q  @  @B  @  @B  @ ! @%& @)* @,. @02 @46 @8: @<> @ ! @%& @)* @,. @02 @46 @8: @<> @ !" @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !#	 @ %'	 @ )+	 @ -/	 @ 13	 @ 57	 @ 9;	 @ =?	 @
 !# @
 %' @
 )+ @
 -/ @
 13 @
 57 @
 9; @
 =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @ !# @ %' @ )+ @ -/ @ 13 @ 57 @ 9; @ =? @. slr   