File: //home/arjun/projects/env/lib/python3.10/site-packages/PIL/__pycache__/Image.cpython-310.pyc
o
wek �
@ sX d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlmZm
Z
d dlmZ d dlmZ zd dlmZ W n eyS dZY nw ddlmZmZmZmZmZmZ ddlmZmZmZ ddl m!Z!m"Z" e�#e$�Z%G d d
� d
e&�Z'G dd� de(�Z)e*d
�Z+z ddlm,Z- ee.e-dd�kr�de.e-dd�� de� �Z/ee/��W n0 ey� Z0 z$e!ed��Z-e1e0��2d�r�e
�3de&� � e1e0��2d�r�e
�3e1e0�e&� � dZ0[0ww dZ4zd dl5Z5W n ey� dZ5Y nw dd� Z6G dd� de�Z7G dd� de�Z8G dd� de�Z9e9j:de9j;d e9j<d e9j=d!e9j>d"iZ?G d#d$� d$e�Z@G d%d&� d&e�ZAG d'd(� d(e�ZBejCe$ ZDe7e8e9e@eAeBfD ]ZeD ]ZEeFeDeEjGeEjH� �qJ�qFeIe-d)��rme-jJZJe-jKZKe-jLZLe-jMZMe-jNZNg ZOi ZPi ZQi ZRi ZSi ZTi ZUi ZVejWd*k�r�d+nd,ZXd-d.� ZYg d/�ZZd0Z[d1d2� Z\d3d4� Z]d5d6� Z^d7d8� Z_d a`d9d:� Zad;d<� Zbd�d>d?�Zcd�d@dA�ZdG dBdC� dC�ZedDdE� ZfG dFdG� dG�ZgG dHdI� dI�ZhG dJdK� dK�ZidLdM� ZjdNdO� Zkd�dPdQ�Zld�dSdT�Zmd�dUdV�Znd�dWdX�ZodYdZ� Zpd[d\� Zqi d]d^�d_d`�dadb�dcdd�dedf�dgdh�didj�dkdl�dmdn�dodp�dqdr�dsdt�dudv�dwdx�dydz�d{d|�d}d~�dd�d�eXd� fd�d�eXd� fd�i�Zrd�d�� Zsd�d�d��Ztd�d�� Zud�d�� Zvd�d�� Zwd�d�� Zxd�d�� Zyd�d�d��Zzd�d�� Z{d�d�� Z|d�d�� Z}d�d�� Z~d�d�� Zd�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�d��Z�e�� e ��e-j�� G d�d�� d�e
�Z�dS )�� N)�Callable�MutableMapping)�IntEnum)�Path� )�ExifTags� ImageMode�TiffTags�UnidentifiedImageError�__version__�_plugins)�i32le�o32be�o32le)�
DeferredError�is_pathc @ � e Zd ZdS )�DecompressionBombWarningN��__name__�
__module__�__qualname__� r r �B/home/arjun/projects/env/lib/python3.10/site-packages/PIL/Image.pyr @ � r c @ r )�DecompressionBombErrorNr r r r r r D r r iUUU)�_imaging�PILLOW_VERSIONzUThe _imaging extension was built for another version of Pillow or PIL:
Core version: z
Pillow version: z'The _imaging C module is not installed.zModule use of pythonz?The _imaging extension was built for another version of Python.zThe _imaging extensionFc C s
t | d�S )z�
Checks if an object is an image object.
.. warning::
This function is for internal use only.
:param t: object to check if it's an image
:returns: True if the object is an image
�im)�hasattr)�tr r r �isImageTypeu s
r! c @ s( e Zd ZdZdZdZdZdZdZdZ dS ) � Transposer r � � � � � N)
r r r �FLIP_LEFT_RIGHT�FLIP_TOP_BOTTOM� ROTATE_90�
ROTATE_180�
ROTATE_270� TRANSPOSE�
TRANSVERSEr r r r r"