o
    Ô¦/fÒ
  ã                   @  s@   d dl mZ d dlZd dlmZ G dd„ dƒZedd	d
„ƒZdS )é    )ÚannotationsN)Ú	lru_cachec                   @  s$   e Zd ZdZddd„Zddd„ZdS )ÚModeDescriptorzWrapper for mode strings.ÚmodeÚstrÚbandsútuple[str, ...]ÚbasemodeÚbasetypeÚtypestrÚreturnÚNonec                 C  s"   || _ || _|| _|| _|| _d S ©N)r   r   r	   r
   r   )Úselfr   r   r	   r
   r   © r   ú-lib/python3.10/site-packages/PIL/ImageMode.pyÚ__init__   s
   
zModeDescriptor.__init__c                 C  s   | j S r   )r   )r   r   r   r   Ú__str__&   s   zModeDescriptor.__str__N)r   r   r   r   r	   r   r
   r   r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s    
r   r   r   r   c                 C  s  t jdkrdnd}i dd“dd“dddd	|d
 f“dddd|d f“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d!“d#d!“d$d%“d&d'd(œ¥}| |v rc||  \}}}}t| ||||ƒS d)d*d)d*d+d,|d- |d. d/d0d/d1d2d1d3œ}||  }t| d	dd|ƒS )4z*Gets a mode descriptor for the given mode.Úlittleú<ú>Ú1)ÚLr   )r   z|b1r   )r   r   )r   ú|u1ÚI)r   Zi4ÚF)r   Zf4ÚP)r    r   )r    r   ÚRGB)r!   r   )ÚRÚGÚBr   ZRGBX)r!   r   )r"   r#   r$   ÚXr   ZRGBA)r!   r   )r"   r#   r$   ÚAr   ZCMYK)r!   r   )ÚCÚMÚYÚKr   ZYCbCr)r!   r   )r)   ZCbZCrr   ZLAB)r!   r   )r   r&   r$   r   ZHSV)r!   r   )ÚHÚSÚVr   ZRGBa)r!   r   )r"   r#   r$   Úar   zBGR;15)r!   r   )r$   r#   r"   r   zBGR;16zBGR;24ZLA)r   r   )r   r&   r   )r   r   )r   r.   r   )r!   r   )r    r&   r   )ZLaZPAz<u2z<i2z>u2z>i2Zu2Zi2z<u4z>u4z<i4z>i4)zI;16zI;16SzI;16LzI;16LSzI;16BzI;16BSzI;16NzI;16NSzI;32zI;32BzI;32LzI;32SzI;32BSzI;32LS)ÚsysÚ	byteorderr   )r   ZendianZmodesZ	base_modeZ	base_typer   Ztype_strZmapping_modesr   r   r   Úgetmode*   sv   ýüûúùø	÷
öõôòñïîíìëéñr1   )r   r   r   r   )Z
__future__r   r/   Ú	functoolsr   r   r1   r   r   r   r   Ú<module>   s   