§
    ž²ÅjœJ  ã                   óà  — d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZ d dlZd dlmZmZ d dlmZ d dlmZmZmZmZmZmZmZ d dlmZ erd dlmZ  G d	„ d
e¦  «        Z dede!fd„Z"dej#        j$        ddfd„Z%dej#        j$        ddfd„Z&dej#        j$        ddfd„Z' G d„ de(¦  «        Z)dede*defd„Z+ G d„ de)¬¦  «        Z, G d„ de,¦  «        Z-d d„Z.d d„Z/de*dee,         fd„Z0dS )!é    N)ÚIterable)ÚAnyÚDictÚfinalÚListÚTupleÚTypeÚTYPE_CHECKING)ÚHigherOrderOperatorÚ
OpOverload)Ú
FakeTensor)ÚCustomObjArgumentÚ	InputKindÚSymIntArgumentÚSymFloatArgumentÚSymBoolArgumentÚTensorArgumentÚTokenArgument)ÚGraphModule)ÚExportedProgramc                   ó   — e Zd ZdS )ÚSpecViolationErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úGC:\Projects\Historical\venv\Lib\site-packages\torch/_export/verifier.pyr   r      s   € € € € € Ø€Dr   r   ÚopÚreturnc                 ó   — | j         j         S ©N)Ú_schemaÚ
is_mutable©r   s    r   Úis_functionalr&      s   € ØŒzÔ$Ð$Ð$r   Únodec                 ó    — t          | ¦  «        S r"   )Ú
_check_val)r'   s    r   Ú_check_has_fake_tensorr*   !   s   € å�dÑÔÐr   c                 ó  ‡‡‡‡— ddl mŠmŠmŠ ˆˆˆˆfd„Šd„ }d| j        vr5| j        dk    r || j        ¦  «        rd S t          d| j        › d�¦  «        ‚| j        d         } ‰|¦  «        st          d| j        › d	|› �¦  «        ‚d S )
Nr   )ÚSymBoolÚSymFloatÚSymIntc                 óÞ  •— | €dS t          | t          t          t          t          f¦  «        rdS t          | t
          j        t
          j        t
          j        t
          j	        f¦  «        rdS t          | t          t
          j        f¦  «        rdS t          | ‰‰‰f¦  «        rdS t          | t          ¦  «        rdS t          | t          ¦  «        rt          ˆfd„| D ¦   «         ¦  «        S dS )NTc              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S r"   r   )Ú.0ÚxÚ_check_correct_vals     €r   ú	<genexpr>z9_check_val.<locals>._check_correct_val.<locals>.<genexpr>7   s/   øè è € Ð:Ð:°Ð)Ð)¨!Ñ,Ô,Ð:Ð:Ð:Ð:Ð:Ð:r   F)Ú
isinstanceÚintÚboolÚstrÚfloatÚtorchÚmemory_formatÚdtypeÚdeviceÚlayoutr   ÚTensorr   r   Úall)Úvalr,   r-   r.   r3   s    €€€€r   r3   z&_check_val.<locals>._check_correct_val)   sä   ø€ Øˆ;Ø�4Ý˜�c¥4­­eÐ4Ñ5Ô5ð 	;Ø�4Ý˜�eÔ1µ5´;ÅÄÍeÌlÐ[Ñ\Ô\ð 		;Ø�4Ý˜�j­%¬,Ð7Ñ8Ô8ð 	;Ø�4Ý˜˜f h°Ð8Ñ9Ô9ð 	;Ø�4Ý˜Õ.Ñ/Ô/ð 	;Ø�4Ý˜�XÑ&Ô&ð 	;ÝÐ:Ð:Ð:Ð:°cÐ:Ñ:Ô:Ñ:Ô:Ð:Øˆur   c                 ój   — t          | t          ¦  «        sdS t          | j        j        ¦  «        dk    S )NFr   )r5   r   Úlenr#   Úreturnsr%   s    r   Ú_no_returnsz_check_val.<locals>._no_returns:   s1   € Ý˜"�jÑ)Ô)ð 	Ø�5Ý�2”:Ô%Ñ&Ô&¨!Ò+Ð+r   rA   Úcall_functionú
Node.meta z is missing val field.z has invalid val field )	Ú%torch.fx.experimental.symbolic_shapesr,   r-   r.   Úmetar   Útargetr   Úname)r'   rE   rA   r,   r-   r.   r3   s      @@@@r   r)   r)   &   s÷   øøøø€ ØOÐOÐOÐOÐOÐOÐOÐOÐOÐOðð ð ð ð ð ð ð ð",ð ,ð ,ð
 �D”IÐÐØŒ7�oÒ%Ð%¨+¨+°d´kÑ*BÔ*BÐ%ØˆFÝ Ð!O¨d¬iÐ!OÐ!OÐ!OÑPÔPÐPà
Œ)�EÔ
€CØÐ˜cÑ"Ô"ð WÝ Ð!U¨d¬iÐ!UÐ!UÐPSÐ!UÐ!UÑVÔVÐVðWð Wr   c                 ó>  — | j                              d¦  «        }|€t          d| j        › �¦  «        ‚t	          |t
          ¦  «        sPt	          |d         t          ¦  «        r7t	          |d         t          ¦  «        rt          d| j        › d|› �¦  «        ‚d S d S d S )NÚtorch_fnz*Unable to find torch_fn metadata for node r   é   rG   z has invalid torch_fn field )rI   Úgetr   rK   r5   Útupler8   )r'   rM   s     r   Ú_check_torch_fnrQ   I   s¿   € ØŒy�}Š}˜ZÑ(Ô(€HØÐÝ Ð!YÈdÌiÐ!YÐ!YÑZÔZÐZå�x¥Ñ'Ô'ðaå�8˜A”;¥Ñ$Ô$ðaõ 	�8˜A”;¥Ñ$Ô$ðaõ
 !Ð!_¨d¬iÐ!_Ð!_ÐU]Ð!_Ð!_Ñ`Ô`Ð`ðað að að að að ar   c                   ó@   — e Zd ZU i Zeeed         f         ed<   d„ ZdS )Ú_VerifierMetaÚVerifierÚ	_registryc                 ó&  — |r*d|v sd|v rt          d¦  «        ‚d|v r|d         dk    sJ ‚nd|v sJ ‚d|v sJ ‚|d         dk    sJ ‚t          |d         t          ¦  «        sJ ‚t                               | |||¦  «        }|| j        |d         <   |S )NÚcheckÚ_check_graph_modulez'Overriding method check is not allowed.ÚdialectÚATEN)ÚSyntaxErrorr5   r8   ÚtypeÚ__new__rU   )ÚmetaclsrK   ÚbasesÚattrsÚrets        r   r]   z_VerifierMeta.__new__W   sÓ   € Øð 	.Ø˜%ÐÐÐ#8¸EÐ#AÐ#AÝ!Ð"KÑLÔLÐLØ Ð%Ð%¨%°	Ô*:¸fÒ*DÐ*DÐ*DÐDÐ*Dà˜eÐ#Ð#Ð#Ð#Ø(¨EÐ1Ð1Ð1Ð1Ø˜Ô# vÒ-Ð-Ð-Ð-å˜% 	Ô*­CÑ0Ô0Ð0Ð0Ð0Ý�lŠl˜7 D¨%°Ñ7Ô7ˆØ.1ˆÔ˜% 	Ô*Ñ+Øˆ
r   N)	r   r   r   rU   r   r8   r	   Ú__annotations__r]   r   r   r   rS   rS   T   sD   € € € € € € Ø-/€Iˆt�C˜˜jÔ)Ð)Ô*Ð/Ð/Ñ/ðð ð ð ð r   rS   ÚobjrJ   c           	      óø   — |                      d¦  «        }| }t          |¦  «        D ]R\  }}t          ||¦  «        s-t          dd                     |d |…         ¦  «        › �¦  «        ‚t          ||¦  «        }ŒS|S )Nú.z#Node referenced nonexistent target )ÚsplitÚ	enumerateÚhasattrÚRuntimeErrorÚjoinÚgetattr)rc   rJ   Útarget_atomsÚattr_itrÚiÚatoms         r   Úgetattr_recursiverp   f   s‹   € Ø—<’< Ñ$Ô$€LØ€HÝ˜\Ñ*Ô*ð +ð +‰ˆˆ4Ý�x Ñ&Ô&ð 	cÝÐaÀSÇXÂXÈlÐ[]Ð\]Ð[]ÔN^ÑE_ÔE_ÐaÐaÑbÔbÐbÝ˜8 TÑ*Ô*ˆˆØ€Or   c                   óÐ   — e Zd ZdZdefd„Zdeee         df         fd„Z	deee         df         fd„Z
d„ Zdedd	fd
„Zedd„¦   «         Zedej        j        dd	fd„¦   «         Zd	S )rT   rZ   r    c                 óö  — t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t(          j        t(          j        t(          j        t0          gS r"   )ÚoperatorÚgetitemÚaddÚmulÚsubÚtruedivÚgeÚleÚgtÚltÚeqÚneÚfloordivÚmodÚand_Úor_Únot_ÚpowÚnegÚabsÚmathÚceilÚfloorÚtruncÚround©Úselfs    r   Úallowed_builtin_opszVerifier.allowed_builtin_opss   s€   € åÔÝŒLÝŒLÝŒLÝÔÝŒKÝŒKÝŒKÝŒKÝŒKÝŒKÝÔÝŒLÝŒMÝŒLÝŒMÝŒLÝŒLÝŒLÝŒIÝŒJÝŒJÝð/
ð 	
r   .c                 ó   — t           t          fS r"   )r   r   rŒ   s    r   Úallowed_op_typeszVerifier.allowed_op_typesŽ   s   € ÝÕ/Ð0Ð0r   c                 ó&   — t           j        j        fS r"   )r:   Úfxr   rŒ   s    r   Úallowed_getattr_typeszVerifier.allowed_getattr_types‘   s   € Ý”Ô$Ð&Ð&r   c                 ó   — d S r"   r   )r�   r   s     r   Úcheck_valid_opzVerifier.check_valid_op”   s   € Øˆr   ÚgmNc                 ó   — dS )zG
        Additional checks that are specific to some dialects.
        Nr   )r�   r–   s     r   Úcheck_additionalzVerifier.check_additional—   s   € € € r   Úepr   c                 óv   — |                       |j        ¦  «         t          |¦  «         t          |¦  «         d S r"   )rX   Úgraph_moduleÚ*_verify_exported_program_module_call_graphÚ"_verify_exported_program_signature)r�   r™   s     r   rW   zVerifier.checkœ   s:   € à× Ò  ¤Ñ1Ô1Ð1Ý2°2Ñ6Ô6Ð6Ý*¨2Ñ.Ô.Ð.Ð.Ð.r   c                 óh  ‡ ‡
— dt           t          t                   df         fˆ fd„}dˆ fd„}|                     ¦   «         D �]Y}t	          |t
          j        j        ¦  «        sŒ#|j         	                    ¦   «          |j        j
        D �]}|j        dv rt          d|j        › d�¦  «        ‚|j        dk    r t          |¦  «          ||j        ¦  «         ŒO|j        d	k    �ršt	          |j        t          ¦  «        s$t          d
t!          |j        ¦  «        › �¦  «        ‚t#          ||j        ¦  «        Š
t	          ‰
t
          j        j        ¦  «        räˆ
fd„}t!          ‰
¦  «        j        dk    rÇ |dt          ¦  «        r4 |dt*          ¦  «        r# |dt,          ¦  «        rt/          ‰
d¦  «        r�Œ/t1          ‰
dd ¦  «        }t1          ‰
dd ¦  «        }t1          ‰
dd ¦  «        }	t          dt!          ‰
¦  «        › dt!          |¦  «        › dt!          |¦  «        › dt!          |	¦  «        › �¦  «        ‚t	          ‰
 |¦   «         ¦  «        s*t          dt!          ‰
¦  «        › d |¦   «         › �¦  «        ‚�Œõ|j        dk    rt          |¦  «         �Œ�Œ[‰                      |¦  «         d S )Nr    .c                  óf   •— ‰                      ¦   «         } t          d„ | D ¦   «         ¦  «        rJ ‚| S )Nc              3   ó(   K  — | ]}|t           u V — Œd S r"   ©Úobject©r1   Úts     r   r4   zOVerifier._check_graph_module.<locals>._allowed_getattr_types.<locals>.<genexpr>¦   s&   è è € Ð4Ð4¨1˜1¥˜;Ð4Ð4Ð4Ð4Ð4Ð4r   )r“   Úany©ra   r�   s    €r   Ú_allowed_getattr_typesz<Verifier._check_graph_module.<locals>._allowed_getattr_types¤   s<   ø€ Ø×,Ò,Ñ.Ô.ˆCÝÐ4Ð4°Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4ØˆJr   c                 ó0  •— dt           fˆfd„}dt          t          t                   df         fˆfd„}t          j        j        j        t          j        t          j	        t          j
        t          j        t          j        t          j        t          j        t          j        j        t          j        j        j        t          j        j        j        t          j        j        j        j        f}t3          |  |¦   «         ¦  «        s;|  |¦   «         vr/| |vr+t5          d| › d |¦   «         › d |¦   «         › d|› �¦  «        ‚t3          | t6          ¦  «        r-‰j        d	k    r"t;          | ¦  «        st5          d
| › d�¦  «        ‚‰                     | ¦  «         d S )Nr    c                  óf   •— ‰                      ¦   «         } t          d„ | D ¦   «         ¦  «        sJ ‚| S )Nc              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S r"   )ÚinspectÚ	isbuiltin)r1   r   s     r   r4   zfVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_builtin_ops.<locals>.<genexpr>¬   s-   è è € Ð?Ð?°R�7Ô,¨RÑ0Ô0Ð?Ð?Ð?Ð?Ð?Ð?r   )rŽ   r@   r¦   s    €r   Ú_allowed_builtin_opszSVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_builtin_opsª   s<   ø€ Ø×.Ò.Ñ0Ô0�ÝÐ?Ð?¸3Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ø�
r   .c                  óf   •— ‰                      ¦   «         } t          d„ | D ¦   «         ¦  «        rJ ‚| S )Nc              3   ó(   K  — | ]}|t           u V — Œd S r"   r¡   r£   s     r   r4   zcVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_op_types.<locals>.<genexpr>±   s&   è è € Ð8Ð8¨q˜q¥F˜{Ð8Ð8Ð8Ð8Ð8Ð8r   )r�   r¥   r¦   s    €r   Ú_allowed_op_typeszPVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_op_types¯   s<   ø€ Ø×+Ò+Ñ-Ô-�ÝÐ8Ð8°CÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ø�
r   z
Operator 'z#' is not an allowed operator type: z
Valid builtin ops: zValid torch functions: ÚTRAININGz
operator 'z' is not functional)r   r   r	   r   r:   ÚautogradÚ	grad_modeÚset_grad_enabledÚsym_intÚ	sym_floatÚsym_iteÚsym_maxÚsym_minÚsym_notÚsym_sqrtÚ_CÚ_set_grad_enabledÚampÚautocast_modeÚ_enter_autocastÚ_exit_autocastr’   ÚexperimentalÚsymbolic_shapesÚ cast_symbool_to_symint_guardlessr5   r   r   rY   r&   r•   )r   r­   r°   Ú_allowed_torch_functionsr�   s       €r   Ú_check_valid_opz5Verifier._check_graph_module.<locals>._check_valid_op©   sÏ  ø€ ð­$ð ð ð ð ð ð ð
¥u­Tµ#¬Y¸¨^Ô'<ð ð ð ð ð ð õ ”Ô(Ô9Ý”Ý”Ý”Ý”Ý”Ý”Ý”õ ”Ô*Ý”	Ô'Ô7Ý”	Ô'Ô6Ý”Ô%Ô5ÔVð(Ð$õ$ ˜bÐ"3Ð"3Ñ"5Ô"5Ñ6Ô6ð ØÐ1Ð1Ñ3Ô3Ð3Ð3¸ÐBZÐ8ZÐ8ZÝ,ðM Rð Mð MÐL]ÐL]ÑL_ÔL_ð Mð MØ.BÐ.BÑ.DÔ.DðMð Mà2JðMð Mñô ð õ ˜"�jÑ)Ô)ð ð ”< :Ò-Ð-µmÀBÑ6GÔ6GÐ-Ý,Ø< RÐ<Ð<Ð<ñô ð ð ×Ò Ñ#Ô#Ð#Ð#Ð#r   >   Úcall_methodÚcall_modulez'call_module is not valid: got a class 'z' rF   Úget_attrz/Expected get_attr target to be string, but got c                 óB   •— t          t          ‰| d ¦  «        |¦  «        S r"   )r5   rk   )rK   ÚtyÚattrs     €r   Ú_is_typez.Verifier._check_graph_module.<locals>._is_typeñ   s   ø€ Ý#-­g°d¸DÀ$Ñ.GÔ.GÈÑ#LÔ#LÐLr   ÚLoweredBackendModuleÚ
backend_idÚprocessed_bytesÚcompile_specsÚoriginal_modulezInvalid get_attr type z2. 
LoweredBackendModule fields: backend_id(str) : z, processed_bytes(bytes) : z, compile_specs(list) : z. 
Valid get_attr types: Úplaceholder©r    N)r   r	   r   Úmodulesr5   r:   r’   r   ÚgraphÚlintÚnodesr   r   rJ   r)   r8   r\   rp   ÚnnÚModuler   ÚbytesÚlistrh   rk   r˜   )r�   r–   r§   rÆ   r€   r'   rÍ   rÏ   rÐ   rÑ   rÌ   s   `         @r   rX   zVerifier._check_graph_module¢   sa  øø€ ð	­­dµ3¬i¸¨nÔ(=ð 	ð 	ð 	ð 	ð 	ð 	ð
-	$ð -	$ð -	$ð -	$ð -	$ð -	$ð^ —:’:‘<”<ð 5	%ñ 5	%ˆCÝ˜c¥5¤8Ô#7Ñ8Ô8ð ØàŒI�NŠNÑÔÐØœ	œð 0%ñ 0%�à”7Ð<Ð<Ð<Ý,ØQÀ$Ä+ÐQÐQÐQñô ð ð ”W Ò/Ð/Ý˜tÑ$Ô$Ð$à#�O D¤KÑ0Ô0Ð0Ð0à”W 
Ò*Ñ*Ý% d¤kµ3Ñ7Ô7ð Ý0ØaÍdÐSWÔS^ÑN_ÔN_ÐaÐañô ð õ -¨S°$´+Ñ>Ô>�DÝ! $­¬¬Ñ8Ô8ð "ðMð Mð Mð Mð Må ™:œ:Ô.Ð2HÒHÐHØ'˜x¨µcÑ:Ô:ð "Ø(0¨Ð1BÅEÑ(JÔ(Jð"à(0¨°Å$Ñ(GÔ(Gð"õ )0°Ð6GÑ(HÔ(Hð"ñ !)å-4°T¸<ÈÑ-NÔ-N 
Ý29¸$Ð@QÐSWÑ2XÔ2X Ý07¸¸oÈtÑ0TÔ0T Ý&8ð%S½TÀ$¹Z¼Zð %Sð %Så9=¸jÑ9IÔ9Ið%Sð %Sõ AEÀ_Ñ@UÔ@Uð%Sð %Sõ >BÀ-Ñ=PÔ=Pð	%Sð %Sñ'"ô '"ð !"õ & dÐ,BÐ,BÑ,DÔ,DÑEÔEð Ý0ðPµT¸$±Z´Zð Pð PØ5KÐ5KÑ5MÔ5MðPð Pñô ð ñð ”W Ò-Ð-Ý˜tÑ$Ô$Ð$ùña0%ðj 	×Ò˜bÑ!Ô!Ð!Ð!Ð!r   )r™   r   r    N)r   r   r   rY   r   rŽ   r   r	   r   r�   r“   r•   r   r˜   r   rW   r:   r’   rX   r   r   r   rT   rT   p   s  € € € € € Ø€Gð
 Tð 
ð 
ð 
ð 
ð61 %¨¨S¬	°3¨Ô"7ð 1ð 1ð 1ð 1ð' u¨T°#¬Y¸¨^Ô'<ð 'ð 'ð 'ð 'ðð ð ð ;ð °4ð ð ð ð ð
 ð/ð /ð /ñ „Uð/ð
 ðo" e¤hÔ&:ð o"¸tð o"ð o"ð o"ñ „Uðo"ð o"ð o"r   rT   )Ú	metaclassc                   ó   — e Zd ZdZdS )ÚTrainingIRVerifierr±   N)r   r   r   rY   r   r   r   rß   rß     s   € € € € € Ø€G€G€Gr   rß   c                 ó4  — | j         }d„ | j        j        D ¦   «         }|D ]w}|j        �n|j        j        D ]*}|j        r!|j        |vrt          d|j        › d�¦  «        ‚Œ+|j        j        D ]*}|j        r!|j        |vrt          d|j        › d�¦  «        ‚Œ+Œxd S )Nc                 ó   — h | ]	}|j         ’Œ
S r   )rK   ©r1   r'   s     r   ú	<setcomp>z=_verify_exported_program_module_call_graph.<locals>.<setcomp>  s'   € ð ð ð ØˆŒ	ðð ð r   zInput z does not exist in the graph.zOutput )Úmodule_call_graphrÖ   rØ   Ú	signatureÚinputsrK   r   Úoutputs)Úexported_programrä   rØ   ÚentryÚargs        r   rœ   rœ     sï   € Ø(Ô:Ððð Ø.Ô4Ô:ðñ ô €Eð #ð ð ˆØŒ?Ð&Ø”Ô-ð ð �Ø”8ð  ¤°Ð 5Ð 5Ý,ØH ¤ÐHÐHÐHñô ð øð ”Ô.ð ð �Ø”8ð  ¤°Ð 5Ð 5Ý,ØI #¤(ÐIÐIÐIñô ð øøðð r   c           
      ó€  — | j         }d„ | j        j        D ¦   «         }t          |¦  «        t          |j        ¦  «        k    r5t          dt          |¦  «        › dt          |j        ¦  «        › d�¦  «        ‚t          |j        |¦  «        D �]°\  }}t          |j        t          t          t          t          f¦  «        r/|j        j        |k    rt          d|j        j        › d|› �¦  «        ‚|j        t          j        k    rŒx|j        t          j        k    r»t          |j        t          ¦  «        s t          d|j        › d|j        › d	�¦  «        ‚|j        €t          d
|j        › d�¦  «        ‚|j        }|| j        vrt          d|› d�¦  «        ‚t          | j        |         t(          j        j        ¦  «        st          d|› d�¦  «        ‚�ŒH|j        t          j        k    rÆt          |j        t          ¦  «        s t          d|j        › d|j        › d	�¦  «        ‚|j        €t          d
|j        › d�¦  «        ‚|j        }|j        €t          d|› d�¦  «        ‚|j        du r|| j        vrt          d|› d�¦  «        ‚|j        du r|| j        v rt          d|› d�¦  «        ‚�Œ#|j        t          j        k    r~t          |j        t          ¦  «        s t          d|j        › d|j        › d	�¦  «        ‚|j        €t          d
|j        › d�¦  «        ‚|j        }|| j        vrt          d|› d�¦  «        ‚�Œ¶|j        t          j        k    r~t          |j        t8          ¦  «        s t          d|j        › d|j        › d	�¦  «        ‚|j        €t          d
|j        › d�¦  «        ‚|j        }|| j        vrt          d|› d�¦  «        ‚�ŒI|j        t          j        k    r<t          |j        t<          ¦  «        s t          d|j        › d|j        › d	�¦  «        ‚�Œšt          d|j        › d�¦  «        ‚t?          | j        j        ¦  «        d         }	|	j         dk    sJ ‚d„ |	j!        d         D ¦   «         }
t          |
¦  «        t          |j"        ¦  «        k    rJt          dt          |
¦  «        › d t          |j#        ¦  «        › d!t          |j$        ¦  «        › d"�¦  «        ‚t          |j%        ¦  «        }t          |j#        ¦  «        t          |j&        ¦  «        z   |z   }|
||…         }|
||t          |j$        ¦  «        z   …         }|D ]¥}||j#        v r8|j#        |         |j'        vr#t          d#|› d$|j#        › d%|j'        › d&�¦  «        ‚ŒC||j&        v r8|j&        |         |j(        vr#t          d'|› d(|j&        › d)|j(        › d&�¦  «        ‚Œ„t          d*|› d+|j#        › d,|j&        › �¦  «        ‚t          ||j$        ¦  «        D ]&\  }}||k    rt          d-|› d.|j$        › d/�¦  «        ‚Œ'd S )0Nc                 ó2   — g | ]}|j         d k    ¯|j        ‘ŒS )rÓ   )r   rK   râ   s     r   ú
<listcomp>z6_verify_exported_program_signature.<locals>.<listcomp>1  s'   € ÐgÐgÐg dÈdÌgÐYfÒNfÐNf˜œ	ÐNfÐNfÐNfr   zNumber of graph inputs (z:) does not match number of inputs in the graph signature (ú)zInput spec name z does not match node name z
Parameter z! is not a tensor argument. Found z	 instead.zInputSpec for z has no target.z is not in the state dict.zState dict entry for parameter z* is not an instance of torch.nn.Parameter.zBuffer z is missing a persistence flagTFzNon-persistent buffer z( is in the state dict, it should not be.zConstant tensor z$ is not in the constants dictionary.zCustom object z( is not a custom object argument. Found zUnknown InputKind re   éÿÿÿÿÚoutputc                 ó^   — g | ]*}t          |t          j        j        ¦  «        r|j        n|‘Œ+S r   )r5   r:   r’   ÚNoderK   )r1   rê   s     r   rí   z6_verify_exported_program_signature.<locals>.<listcomp>œ  sA   € ð ð ð àõ ˜s¥E¤H¤MÑ2Ô2Ð;ˆŒˆ¸ðð ð r   r   zNumber of output nodes zg is different Than the number of outputs specified by the graph signature: 
Number of mutated buffers: z. 
Number of user outputs: z. 
zBuffer output zV does not point to a buffer that exists. 
Dict of buffers that are mutated, in order: z 
Buffer nodes available: z 
zUser input output z^ does not point to a user input that exists. 
Dict of user inputs that are mutated, in order: z 
User input nodes available: zMutation node z: is neither a buffer nor a user input. Buffers to mutate: z, User inputs to mutate: zUser output zY is not in the correct order or is not found in the exported program's user_output list: z. ))Úgraph_signaturerÖ   rØ   rC   Úinput_specsr   Úzipr5   rê   r   r   r   r   rK   Úkindr   Ú
USER_INPUTÚ	PARAMETERrJ   Ú
state_dictr:   rÙ   Ú	ParameterÚBUFFERÚ
persistentÚCONSTANT_TENSORÚ	constantsÚ
CUSTOM_OBJr   ÚTOKENr   rÜ   r   ÚargsÚoutput_specsÚbuffers_to_mutateÚuser_outputsÚoutput_tokensÚuser_inputs_to_mutateÚbuffersÚuser_inputs)rè   ÚgsÚinput_node_namesÚ
input_specr'   ÚparamÚbufferÚtensor_constÚ
custom_objÚoutput_nodeÚoutput_nodesÚ
num_tokensÚendÚmutate_nodesÚuser_output_nodesÚmutation_nodeÚuser_output_nodeÚuser_output_names                     r   r�   r�   ,  sY  € à	Ô	)€Bð hÐgÐ.>Ô.DÔ.JÐgÑgÔgÐå
ÐÑÔ¥ B¤NÑ 3Ô 3Ò3Ð3Ý ð^¥sÐ+;Ñ'<Ô'<ð ^ð ^ÝGJÈ2Ì>ÑGZÔGZð^ð ^ð ^ñ
ô 
ð 	
õ
   ¤Ð0@ÑAÔAð ^ñ ^Ñˆ
�DÝ�j”n¥~µ~ÕGWÕYhÐ&iÑjÔjð 	ØŒ~Ô" dÒ*Ð*Ý(Ø\ z¤~Ô':Ð\Ð\ÐVZÐ\Ð\ñô ð ð Œ?�iÔ2Ò2Ð2ØàŒ_¥	Ô 3Ò3Ð3Ý˜jœn­nÑ=Ô=ð Ý(Øl ¤ÐlÐlÐS]ÔSaÐlÐlÐlñô ð ð Ô Ð(Ý(ØE Z¤_ÐEÐEÐEñô ð ð Ô%ˆEØÐ,Ô7Ð7Ð7Ý(ØB ÐBÐBÐBñô ð õ Ð.Ô9¸%Ô@Å%Ä(ÔBTÑUÔUð Ý(Øg°eÐgÐgÐgñô ð ñð
 Œ_¥	Ô 0Ò0Ð0Ý˜jœn­nÑ=Ô=ð Ý(Øi˜jœoÐiÐiÐPZÔP^ÐiÐiÐiñô ð ð Ô Ð(Ý(ØE Z¤_ÐEÐEÐEñô ð ð  Ô&ˆFØÔ$Ð,Ý(ØD˜fÐDÐDÐDñô ð ð Ô$¨Ð,Ð,°Ð?OÔ?ZÐ1ZÐ1ZÝ(Ø@˜fÐ@Ð@Ð@ñô ð ð Ô$¨Ð-Ð-°&Ð<LÔ<WÐ2WÐ2WÝ(Ø]¨VÐ]Ð]Ð]ñô ð ùð Œ_¥	Ô 9Ò9Ð9Ý˜jœn­nÑ=Ô=ð Ý(Ør z¤ÐrÐrÐYcÔYgÐrÐrÐrñô ð ð Ô Ð(Ý(ØE Z¤_ÐEÐEÐEñô ð ð &Ô,ˆLØÐ#3Ô#=Ð=Ð=Ý(ØY |ÐYÐYÐYñô ð ñ >ð Œ_¥	Ô 4Ò4Ð4Ý˜jœnÕ.?Ñ@Ô@ð Ý(Øw Z¤_ÐwÐwÐ^hÔ^lÐwÐwÐwñô ð ð Ô Ð(Ý(ØE Z¤_ÐEÐEÐEñô ð ð $Ô*ˆJØÐ!1Ô!;Ð;Ð;Ý(ØU ZÐUÐUÐUñô ð ñ <ð Œ_¥	¤Ò/Ð/Ý˜jœn­mÑ<Ô<ð Ý(Ør z¤ÐrÐrÐYcÔYgÐrÐrÐrñô ð ñõ
 %Ø7 Z¤_Ð7Ð7Ð7ñô ð õ
 Ð'Ô-Ô3Ñ4Ô4°RÔ8€KØŒ>˜XÒ%Ð%Ð%Ð%ðð àÔ# AÔ&ðñ ô €Lõ
 ˆ<ÑÔ�C ¤Ñ0Ô0Ò0Ð0Ý ðB¥c¨,Ñ&7Ô&7ð Bð Bå*-¨bÔ.BÑ*CÔ*CðBð Bõ (+¨2¬?Ñ';Ô';ðBð Bð Bñ
ô 
ð 	
õ �RÔ%Ñ&Ô&€JÝ
ˆbÔ"Ñ
#Ô
#¥c¨"Ô*BÑ&CÔ&CÑ
CÀjÑ
P€CØ*¨:°c¨>Ô:€LØ$ S¨­s°2´?Ñ/CÔ/CÑ)CÐ%CÔDÐà%ð ð ˆØ˜BÔ0Ð0Ð0ØÔ# MÔ2¸"¼*ÐDÐDÝ(ð? ]ð ?ð ?ØCEÔCWð?ð ?à/1¬zð?ð ?ð ?ñô ð ð Eð ˜bÔ6Ð6Ð6ØÔ'¨Ô6¸b¼nÐLÐLÝ(ðG¨ð Gð GØGIÔG_ðGð Gà35´>ðGð Gð GñHô Hð Hð Mõ %ðp ð pð pØ&(Ô&:ðpð pØUWÔUmðpð pñô ð õ
 /2Ð2CÀRÄ_Ñ.UÔ.Uð ð Ñ*ÐÐ*ØÐ/Ò/Ð/Ý$ðLÐ/ð Lð Là8:¼ðLð Lð Lñô ð ð 0ðð r   rY   c                 óˆ   — | dk    s| dk    r%t           j                             | t          ¦  «        S t           j        |          S )NrZ   Ú )rS   rU   rO   rT   )rY   s    r   Úload_verifierr  Ë  s<   € Ø�&ÒÐ˜G ršM˜MÝÔ&×*Ò*¨7µHÑ=Ô=Ð=ÝÔ" 7Ô+Ð+r   rÔ   )1r«   r‡   rs   Úcollections.abcr   Útypingr   r   r   r   r   r	   r
   r:   Ú
torch._opsr   r   Útorch._subclasses.fake_tensorr   Útorch.export.graph_signaturer   r   r   r   r   r   r   Útorch.fxr   Útorch.export.exported_programr   Ú	Exceptionr   r7   r&   r’   rò   r*   r)   rQ   r\   rS   r8   rp   rT   rß   rœ   r�   r  r   r   r   ú<module>r$     s  ðà €€€Ø €€€Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eà €€€Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  àð >Ø=Ð=Ð=Ð=Ð=Ð=ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð%�jð % Tð %ð %ð %ð %ð ¤¤ð °4ð ð ð ð ð
 W�U”X”]ð  W tð  Wð  Wð  Wð  WðF	a˜%œ(œ-ð 	a¨Dð 	að 	að 	að 	aðð ð ð ð �Dñ ô ð ð$˜3ð ¨ð °ð ð ð ð ðb"ð b"ð b"ð b"ð b"˜ð b"ñ b"ô b"ð b"ðJð ð ð ð ˜ñ ô ð ðð ð ð ð&\ð \ð \ð \ð~,˜3ð , 4¨¤>ð ,ð ,ð ,ð ,ð ,ð ,r   