
    rh                    "   d dl mZ d dl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mZ d dlmZmZmZmZmZmZ d dlmZ erd d	lmZ dd
Zddd	 	 	 	 	 	 	 	 	 	 	 ddZddd	 	 	 	 	 	 	 	 	 ddZddddZddZddd	 	 	 	 	 	 	 ddZddddZy)    )annotationsN)TYPE_CHECKING)assert_never)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)	concatMap)Sequencec                ,    t        j                  |       S N)r   name)funcs    j/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/torchgen/api/dispatcher.pyr   r   (   s    88D>    FT)remove_non_owning_ref_typessymintc               6    t        j                  | ||||      S )N)mutablebindsr   r   )r   argumenttype_type)tr   r   r   r   s        r   r   r   ,   s&       	$? r   c               J    t        | j                  | j                  |||      S )N)r   r   r   r   )r   typeis_write)ar   r   r   s       r   argument_typer$   A   s(     	

$? r   r   c               0    t        j                  | |      S Nr%   )r   returns_type)rsr   s     r   r(   r(   Q   s    Bv..r   c           
         	 	 	 	 dd}t        t        |t        j                  | j                  j
                  | j                  j                  | j                  j                                    S )Nc                    t        | t              r| gS t        | t              r| j                  gS t        | t              r.| j
                  | j                  | j                  | j                  gS t        |        y r   )

isinstancer   r   argumentr   dtypelayoutdevice
pin_memoryr   )r#   s    r   to_argumentz"jit_arguments.<locals>.to_argumentW   s\     a"3J<(JJ<12GGQXXqxx>>Or   )r#   z0Argument | TensorOptionsArguments | SelfArgumentreturnlist[Argument])listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r2   s     r   jit_argumentsr<   V   sb    
;
	
 OO))4>>+D+DdnnFXFX	
 r   c               `    t        t        | | j                  ||      | j                  |       S )N)r   r   r   )nctyper   r-   )r   r$   r   )r#   r   r   s      r   r-   r-   m   s5     &&(C	
 VV	 	r   c               T    t        |       D cg c]  }t        ||       c}S c c}w r'   )r<   r-   )r   r   r#   s      r   r8   r8   |   s"    0=d0CD1HQv&DDDs   %)r   r   r3   str)r   r   r   boolr   r   r   rA   r   rA   r3   r
   )
r#   r   r   r   r   rA   r   rA   r3   r
   )r)   zSequence[Return]r   rA   r3   r	   )r   r   r3   r4   )r#   r   r   rA   r   rA   r3   r   )r   r   r   rA   r3   zlist[Binding]) 
__future__r   r6   typingr   typing_extensionsr   torchgen.apir   torchgen.api.typesr   r   r	   r
   torchgen.modelr   r   r   r   r   r   torchgen.utilsr   collections.abcr   r   r   r$   r(   r<   r-   r8    r   r   <module>rK      s    "    *  B B  % (& ).  	
 "&  2 ).  "&	
    :> /
0 9>d15GK 7; Er   