o
    "i                     @  s   d dl mZ d dlmZmZ d dlmZmZmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZ er8dd	lmZ 	
ddddZdS )    )annotations)TYPE_CHECKINGAny)NOTHING	AttributeFactory   )is_bare_final)StructureHook)StructureHandlerNotFoundError)raise_error)BaseConverterFar   typer   cr   prefer_attrs_convertersboolreturnStructureHook | Nonec                   s  zu| j dur|rd}|W S | j dur8|s8 dur8z	|j dd}W n ty.   d}Y |W S w |tkr5d}|W S  durpt rf| jturft| jtsf| jj	 |j dd}||j
krc|f fdd	}|W S |j dd}|W S |j}|W S  ty   |j Y S w )zdFind the appropriate structure handler to use.

    Return `None` if no handler should be used.
    NF)cache_resultc                   s
   ||  S )N )v__hr   r   R/var/www/html/premium_crap/venv/lib/python3.10/site-packages/cattrs/gen/_shared.pyhandler6   s   
z'find_structure_handler.<locals>.handler)	converterget_structure_hookr   r   r	   defaultr   
isinstancer   	__class___structure_call	structureRecursionError)r   r   r   r   r   r   r   r   find_structure_handler   s@   "



r%   N)F)
r   r   r   r   r   r   r   r   r   r   )
__future__r   typingr   r   attrsr   r   r   _compatr	   dispatchr
   errorsr   fnsr   
convertersr   r%   r   r   r   r   <module>   s    