
    wik                        U d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ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 d d
lmZmZmZ  ed          Ze j        dk     rej        ej        fZ e!edf         e"d<   n!ej        ej        ej        fZ e!edf         e"d<    e!d  ej#        d          dd         D                       Z$ee%e%e%e!e!e&e&e'e'eeiZ( e!e()                                          Z*e!e+e         df         e"d<   dedee+e         e!e+e         df         df         dee+e                  fdZ,dee+e         df         de-fdZ.dee+e         df         de-fdZ/dede-fdZ0dee+e         df         de-fdZ1dee+e         df         de-fdZ2dede-fdZ3dee+e         df         de-fdZ4dede-fd Z5dede-fd!Z6dede-fd"Z7dede-fd#Z8d$ede-fd%Z9dede-fd&Z:dede-fd'Z;dS )(    N)deque)MappingSequence)is_dataclass)	AnnotatedAnyTypeVarUnion)	UnionType)	BaseModel)VERSION)
UploadFile)	TypeGuardget_args
get_origin_T)   
   .WithArgsTypesc              #   4   K   | ]}t          |          V  d S N)int).0xs     f/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/fastapi/_compat/shared.py	<genexpr>r   !   s(      $U$USVV$U$U$U$U$U$U    .   sequence_typesclsclass_or_tuplereturnc                     	 t          | t                    ot          | |          S # t          $ r t          | t                    rY dS  w xY wNF)
isinstancetype
issubclass	TypeErrorr   )r!   r"   s     r   lenient_issubclassr*   1   s]    #t$$HC)H)HH   c=)) 	55s   $' A	A
annotationc                 h    t          | t          t          f          rdS t          | t                    S r%   )r*   strbytesr    r+   s    r   _annotation_is_sequencer0   <   s-    *sEl33 uj.999r   c                     t          |           }|t          u s	|t          u r&t          |           D ]}t	          |          r dS dS t          |           pt          t          |                     S NTF)r   r
   r   r   field_annotation_is_sequencer0   r+   originargs      r   r3   r3   B   s    
##F&I--J'' 	 	C+C00 ttu":.. 2I:3 3 r   valuec                 f    t          | t                    ot          | t          t          f           S r   )r&   r    r-   r.   )r7   s    r   value_is_sequencer9   N   s(    e^,,TZU|5T5T1TTr   c                     t          | t          t          t          f          pt	          |           pt          |           S r   )r*   r   r   r   r0   r   r/   s    r   _annotation_is_complexr;   R   s;    :	7J'GHH 	$":..	$
##r   c                 b   t          |           }|t          u s	|t          u r&t          d t	          |           D                       S |t
          u r"t          t	          |           d                   S t          |           p.t          |          pt          |d          pt          |d          S )Nc              3   4   K   | ]}t          |          V  d S r   )field_annotation_is_complex)r   r6   s     r   r   z.field_annotation_is_complex.<locals>.<genexpr>]   s+      TT.s33TTTTTTr   r   __pydantic_core_schema____get_pydantic_core_schema__)	r   r
   r   anyr   r   r>   r;   hasattr)r+   r5   s     r   r>   r>   Z   s    
##F&I--TTx
?S?STTTTTT*8J+?+?+BCCC 	z** 	;!&))	;6566	; 69::	r   c                 4    | t           u pt          |            S r   )Ellipsisr>   r/   s    r   field_annotation_is_scalarrE   j   s    !P)DZ)P)P%PPr   c                 "   t          |           }|t          u s	|t          u r:d}t          |           D ]&}t	          |          rd}t          |          s dS '|S t          |           o%t          d t          |           D                       S )NFTc              3   4   K   | ]}t          |          V  d S r   )rE   r   sub_annotations     r   r   z6field_annotation_is_scalar_sequence.<locals>.<genexpr>z   s>       < < 	#>22< < < < < <r   )r   r
   r   r   #field_annotation_is_scalar_sequencerE   r3   all)r+   r5   at_least_one_scalar_sequencer6   s       r   rJ   rJ   o   s    
##F&I--',$J'' 	 	C2377 /3,/44 uu++'
33  < <&z22< < < 9 9 r   c                     t          | t                    rdS t          |           }|t          u s	|t          u r*t          |           D ]}t          |t                    r dS dS r2   )r*   r.   r   r
   r   r   r4   s      r   $is_bytes_or_nonable_bytes_annotationrN      ss    *e,, t
##F&I--J'' 	 	C!#u-- tt5r   c                     t          | t                    rdS t          |           }|t          u s	|t          u r*t          |           D ]}t          |t                    r dS dS r2   )r*   r   r   r
   r   r   r4   s      r   .is_uploadfile_or_nonable_uploadfile_annotationrP      ss    *j11 t
##F&I--J'' 	 	C!#z22 tt5r   c                     t          |           }|t          u s	|t          u r(d}t          |           D ]}t	          |          rd}|S t          |           o%t          d t          |           D                       S )NFTc              3   4   K   | ]}t          |          V  d S r   )rN   rH   s     r   r   z/is_bytes_sequence_annotation.<locals>.<genexpr>   s>       < < 	-^<<< < < < < <r   )r   r
   r   r   is_bytes_sequence_annotationr3   rK   r+   r5   at_least_oner6   s       r   rS   rS      s    
##F&I--J'' 	 	C+C00 # '
33  < <&z22< < < 9 9 r   c                     t          |           }|t          u s	|t          u r(d}t          |           D ]}t	          |          rd}|S t          |           o%t          d t          |           D                       S )NFTc              3   4   K   | ]}t          |          V  d S r   )rP   rH   s     r   r   z4is_uploadfile_sequence_annotation.<locals>.<genexpr>   s>       < < 	7~FF< < < < < <r   )r   r
   r   r   !is_uploadfile_sequence_annotationr3   rK   rT   s       r   rX   rX      s    
##F&I--J'' 	 	C055 # '
33  < <&z22< < < 9 9 r   objc                     	 t          j                    5  t          j        dt                     ddlm} d d d            n# 1 swxY w Y   n# t          $ r Y dS w xY wt          | |j                  S Nignorer   )v1F)	warningscatch_warningssimplefilterUserWarningpydanticr]   ImportErrorr&   r   )rY   r]   s     r   is_pydantic_v1_model_instancerd      s    $&& 	$ 	$!(K888######	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$    uuc2<(((3   A !AA AA 	A
A 
AAc                     	 t          j                    5  t          j        dt                     ddlm} d d d            n# 1 swxY w Y   n# t          $ r Y dS w xY wt          | |j                  S r[   )	r^   r_   r`   ra   rb   r]   rc   r*   r   )r!   r]   s     r   is_pydantic_v1_model_classrg      s    $&& 	$ 	$!(K888######	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$    uuc2<000re   c                    t          |           rdS t          |           }|t          u s	|t          u r$t	          |           D ]}t          |          r dS t          |           r$t	          |           D ]}t          |          r dS dS r2   )rg   r   r
   r   r   r3   annotation_is_pydantic_v1)r+   r5   r6   rI   s       r   ri   ri      s    !*-- t
##F&I--J'' 	 	C)#.. tt#J// &z22 	 	N(88 tt5r   )<systypestypingr^   collectionsr   collections.abcr   r   dataclassesr   r   r   r	   r
   fastapi.typesr   rb   r   pydantic.versionr   PYDANTIC_VERSIONstarlette.datastructuresr   typing_extensionsr   r   r   r   version_info_GenericAliasGenericAliasr   tuple__annotations__splitPYDANTIC_VERSION_MINOR_TUPLElistset	frozensetsequence_annotation_to_typekeysr    r'   r*   boolr0   r3   r9   r;   r>   rE   rJ   rN   rP   rS   rX   rd   rg   ri    r   r   <module>r      s   




          - - - - - - - - $ $ $ $ $ $            $ # # # # #       8 8 8 8 8 8 / / / / / / = = = = = = = = = =WT]] g&,&:E<N%OM5c?OOOO 	&M5c?     %u$U$U5K5E5KC5P5PQSRSQS5T$U$U$UUU  d$	5y	5  )..I.N.N.P.P(Q(Qd3in% Q Q Q	#DHeDHcM.BD$HItBx   :d3io(> :4 : : : :	U49d?-C 	 	 	 	 	US UT U U U UuT#Y_'= $    E$s)T/,B t     Q3 Q4 Q Q Q Q
E$s)T/4J t    "S T    s t    S T    # $    	)s 	)t 	) 	) 	) 	)	1C 	1D 	1 	1 	1 	1# $      r   