�
D�gb � �� � d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm Z ddl
mZmZm
Z
dPd�ZdQd�ZdRd�Z dSdTd�Z dUdVd+�Zej j fdWd/�Zej j fdWd0�Zej j dd1fdXd4�ZdYdZd5�Zej j fd[d9�Z G d:� d;e� � Zej j fd\d=�Zd]d^d>�Z d_d`d@�Zej j dAd1fdadC�ZdbdD�Z dbdE�Z!dbdF�Z"dbdG�Z#dcdI�Z$dddedL�Z%ddM�dfdO�Z&dS )g� )�annotationsN)�Sequence)�Protocol�cast� )�ExifTags�Image�ImagePalette�border�int | tuple[int, ...]�return�tuple[int, int, int, int]c � � t | t � � r9t | � � dk r| x\ }}\ }}n#t | � � dk r| \ }}}}n| x}x}x}}||||fS )N� � )�
isinstance�tuple�len)r �left�top�right�bottoms �\/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/PIL/ImageOps.py�_borderr ! s| � ��&�%� � � -��v�;�;�!���(.�.�I�D�#�
��v�v�
��[�[�A�
�
�'-�$�D�#�u�f��&,�,��,�s�,�U�V���e�V�#�#� �color�str | int | tuple[int, ...]�mode�strc �h � t | t � � rddlm} |� | |� � } | S )Nr )�
ImageColor)r r � r! �getcolor)r r r! s r �_colorr$ , s@ � ��%���� 1� � � � � � ��#�#�E�4�0�0���Lr �image�Image.Image�lut� list[int]c �� � | j dk rd}t |� � �| j dv r;| j dk rt |� � dk r||z |z }| � |� � S d| j � �}t |� � �)N�Pzmode P support coming soon)�L�RGBr, � znot supported for mode )r �NotImplementedErrorr �point�OSError)r% r'