§
    �Štjc  ã                  ó¾   — d dl mZ d dlmc mZ d dlmc mZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ dd„Ze
dd„¦   «         Ze
dd„¦   «         Ze
dd„¦   «         ZdS )é    )ÚannotationsN)Úkernel_signature)Úwith_native_function_and_index)ÚBackendIndexÚNativeFunctionÚNativeFunctionsGroup)ÚmapMaybeÚbankend_indexr   ÚreturnÚstrc                ób   — | j         rdS ddi}|                     | j        j        d¦  «        dz   S )NÚ ÚXPUÚTORCH_XPU_APIÚ	TORCH_APIú )ÚexternalÚgetÚdispatch_keyÚname)r
   Ú!device_torch_api_key_word_mappings     ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/dest/native_functions.pyÚtorch_api_key_word_prefixr      sP   € ØÔð Øˆrð 	ˆð)Ð%ð
 	*×-Ò-ØÔ&Ô+¨[ñ	
ô 	
ð ñ	ðó    Úfr   Úbackend_indexú
str | Nonec                óÂ   — t          | |¦  «        }|                     | ¦  «        }|€d S d|j        v rd S |j        rdnd}|› d|                     |j        ¬¦  «        › d�S )Nzlegacy::Ústaticr   r   )r   ú;)r   Ú
get_kernelÚkernelr   Údecl)r   r   ÚsigÚmetadataÚprefixs        r   Úgen_unstructuredr'       sy   € å
˜1˜mÑ
,Ô
,€CØ×'Ò'¨Ñ*Ô*€HØÐØˆtØ�X”_Ð$Ð$Øˆtà*Ô3ÐD��¸ˆØÐ<Ð<˜3Ÿ8š8¨¬˜8Ñ9Ô9Ð<Ð<Ð<Ð<r   Úgr   ú	list[str]c                ó  — t          j        | ¦  «        }t          j        | ¦  «        }|                     | ¦  «        }|€g S t          |¦  «        }d|› d|j        › d|› dd                     d„ |D ¦   «         ¦  «        › d�	gS )Nzstruct Ústructured_z : public at::meta::structured_z {
void impl(z, c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S ©N)r#   )Ú.0Úas     r   ú	<genexpr>z!gen_structured.<locals>.<genexpr>8   s*   è è € Ð0Ð0 !�Q—V’V‘X”XÐ0Ð0Ð0Ð0Ð0Ð0r   z);
};
)Úmetar   Ú
structuredÚimpl_argumentsr!   r   r"   Újoin)r(   r   Ú	meta_nameÚout_argsr%   r&   s         r   Úgen_structuredr7   -   s¯   € å”	˜!‘”€IÝÔ(¨Ñ+Ô+€HØ×'Ò'¨Ñ*Ô*€HØÐØˆ	Ý& }Ñ5Ô5€Fð	Øð	ð 	Ø#œ?ð	ð 	ØKTð	ð 	à�9Š9Ð0Ð0 xÐ0Ñ0Ô0Ñ0Ô0ð	ð 	ð 	ðð r   ú%NativeFunctionsGroup | NativeFunctionc                óH  ‡— ‰                      | ¦  «        }t          | t          ¦  «        ra|�-|j        r&‰j        rt          d¦  «        ‚t          | ‰¦  «        S t          t          ˆfd„|  	                    ¦   «         ¦  «        ¦  «        S t          | ‰¦  «        }|€g n|gS )Nz>Structured external backend functions are not implemented yet.c                ó$   •— t          | ‰¦  «        S r-   )r'   )r   r   s    €r   ú<lambda>z5compute_native_function_declaration.<locals>.<lambda>P   s   ø€ Õ#3°A°}Ñ#EÔ#E€ r   )r!   Ú
isinstancer   r2   r   ÚAssertionErrorr7   Úlistr	   Ú	functionsr'   )r(   r   r%   Úxs    `  r   Ú#compute_native_function_declarationrA   @   s½   ø€ ð ×'Ò'¨Ñ*Ô*€HÝ�!Õ)Ñ*Ô*ð (ØÐ HÔ$7ÐØÔ%ð 8å$ØTñô ð õ & a¨Ñ7Ô7Ð7åÝÐEÐEÐEÐEÀqÇ{Â{Á}Ä}ÑUÔUñô ð õ ˜Q Ñ.Ô.ˆØ�Yˆrˆr Q CÐ'r   )r
   r   r   r   )r   r   r   r   r   r   )r(   r   r   r   r   r)   )r(   r8   r   r   r   r)   )Ú
__future__r   Útorchgen.api.metaÚapir1   Útorchgen.api.structuredr2   Útorchgen.api.typesr   Útorchgen.contextr   Útorchgen.modelr   r   r   Útorchgen.utilsr	   r   r'   r7   rA   © r   r   ú<module>rK      s"  ðØ "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð*  ð	=ð 	=ð 	=ñ  Ôð	=ð  ðð ð ñ  Ôðð$  ð(ð (ð (ñ  Ôð(ð (ð (r   