�
K�g�� � �n � d dl Z d dlmZmZ d dlmZmZ d dlmZ d dlm Z m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZ d dlZd dlmZ d dlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3 d d l4m5Z5m6Z6 d d
l7m8Z8m9Z9 d dl:m;Z; d dl<m=Z= d d
l>m?Z?m@Z@ d dlAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZI d dlJm3ZK d dlLmMZM d dlNmOZOmPZPmQZQmRZRmSZS d dlTmUZUmVZV d dlWmXZX d dlYmZZZ d dl[m\Z\m]Z]m^Z^ dZ_dZ`ddd�Zadd�debdejc debd eeeb de8f
d!�Zddejc debde8fd"�Zeddd#�dejc d$e
d%e f debd&eeb d eeeb de8fd'�Zfeee
d%e f eebd%f f Zgd(dd)�d*e8d+ehd,eeeg de8fd-�Zid.ee dee fd/�Zjd*e8dee fd0�Zkd1e
d%e f de jl fd2�Zmd3e d4eebe f de fd5�Znd1e
d%e f de fd6�Zoddd7d8�debd1e
d%e f d&eeb d eeeb d9ehde8fd:�Zpdebd;e d*e8deeh fd<�Zqe G d=� d>� � � � Zrdebd3e d?e d@ehderf
dA�ZsdBed*e8ddfdC�Ztd1e
d%e f dehfdD�Zud1e
d%e f dehfdE�Zvd1e
d%e f dehfdF�Zwd1e
d%e f dGedHeebe f de fdI�Zxe G dJ� dK� � � � ZyddddddL�dMeeVeZf d*e8dNeeeebe f eOf dOeeK dPeeX dQee dReeee
d%e f eeb f e f dSedTehdeyfdU�ZzdBed?e dVeebe f dWeebd%f dee ee f f
dX�Z{ dedBedVeebe f dYeebdf de fdZ�Z|d.ee d[eeebe f eRePf deeebe f ee f fd\�Z}d.ee dehfd]�Z~d^ee d_eOdeebe f fd`�Zd^ee d_eeeebe f eOf dTehdeeebe f eeebe f f fda�Z�dbe8d&ebdTehdee fdc�Z�dS )f� N)�AsyncExitStack�contextmanager)�copy�deepcopy)� dataclass)
�Any�Callable� Coroutine�Dict�
ForwardRef�List�Mapping�Optional�Sequence�Tuple�Type�Union�cast)�params)�PYDANTIC_V2�ErrorWrapper�
ModelField�
RequiredParam� Undefined�_regenerate_error_with_loc�copy_field_info�create_body_model�evaluate_forwardref�field_annotation_is_scalar�get_annotation_from_field_info�get_cached_model_fields�get_missing_field_error�is_bytes_field�is_bytes_sequence_field�is_scalar_field�is_scalar_sequence_field�is_sequence_field�.is_uploadfile_or_nonable_uploadfile_annotation�!is_uploadfile_sequence_annotation�lenient_issubclass�sequence_types�serialize_sequence_value�value_is_sequence)�BackgroundTasks)�asynccontextmanager�contextmanager_in_threadpool)� Dependant�SecurityRequirement)�logger)�SecurityBase)�OAuth2�SecurityScopes)�
OpenIdConnect)�create_model_field�get_path_param_names)� BaseModel)� FieldInfo)�run_in_threadpool)�FormData�Headers�ImmutableMultiDict�QueryParams�
UploadFile)�HTTPConnection�Request)�Response)� WebSocket)� Annotated�get_args�
get_originz�Form data requires "python-multipart" to be installed.
You can install "python-multipart" with:
pip install python-multipart
z�Form data requires "python-multipart" to be installed. It seems you installed "multipart" instead.
You can remove "multipart" with:
pip uninstall multipart
And then install "python-multipart" with:
pip install python-multipart
�returnc �r � ddl m} | dk sJ �d S # t t f$ r� ddlm} | sJ � ddlm} |sJ �n<# t $ r/ t j t � � t t � � d �w xY wY d S # t $ r/ t j t � � t t � � d �w xY ww xY w)Nr )�__version__z0.0.12)�parse_options_header)�python_multipartrK �ImportError�AssertionError� multipart�multipart.multipartrL r3 �error�!multipart_incorrect_install_error�RuntimeError�multipart_not_installed_error)rK rL s �j/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/fastapi/dependencies/utils.py�ensure_multipart_is_installedrW [ s> � �H�0�0�0�0�0�0� �X�%�%�%�%�%�%����(� H� H� H� H�-�-�-�-�-�-����;�
P�� � � � � � ,�+�+�+�+���
P�
P�
P���>�?�?�?�"�#D�E�E�4�O�
P���� ,�+�+�� � H� H� H��L�6�7�7�7��<�=�=�4�G� H����!H���s. � �B6�
A9�
:�A9�9A3�3A9�99B2�2B6)�security_scopes�
param_name�depends�pathrX c �F � |j sJ �t ||j || |�� � S )N)rZ �
dependencyr[ �namerX )r] �get_sub_dependant�rY rZ r[ rX s rV �get_param_sub_dependantra v s<