ó
    EñiY  ã                   ó  • S SK r S SKrS SKrS SKJr  S SKJrJrJr  S SK	r	S SK
Jr  S SKJrJr  S SKJr  S SKJrJrJrJrJrJrJr  S SKJr  \(       a  S S	KJr   " S
 S\5      rS\S\4S jr S\	RB                  RD                  SS4S jr#S\	RB                  RD                  SS4S jr$S\	RB                  RD                  SS4S jr% " S S\&5      r'S\S\(S\4S jr) " S S\'S9r* " S S\*5      r+S!S jr,S!S jr-S\(S\&\*   4S  jr.g)"é    N)ÚIterable)ÚAnyÚfinalÚTYPE_CHECKING)Úis_opaque_type)ÚHigherOrderOperatorÚ
OpOverload)Ú
FakeTensor)ÚCustomObjArgumentÚ	InputKindÚSymBoolArgumentÚSymFloatArgumentÚSymIntArgumentÚTensorArgumentÚTokenArgument)ÚGraphModule)ÚExportedProgramc                   ó   • \ rS rSrSrg)ÚSpecViolationErroré   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_export/verifier.pyr   r      s   † Úr   r   ÚopÚreturnc                 ó8   • U R                   R                  (       + $ ©N)Ú_schemaÚ
is_mutable©r   s    r   Úis_functionalr&       s   € Ø�z‰z×$Ñ$Ô$Ð$r   Únodec                 ó   • [        U 5      $ r"   )Ú
_check_val)r'   s    r   Ú_check_has_fake_tensorr*   $   s   € ä�dÓÐr   c                 óH  ^^^^• SSK JmJmJm  UUUU4S jmS nSU R                  ;  aA  U R
                  S:X  a  U" U R                  5      (       a  g [        SU R                   S35      eU R                  S   nT" U5      (       d  [        SU R                   S	U 35      eg )
Nr   )ÚSymBoolÚSymFloatÚSymIntc                 ó   >• U c  g[        U [        [        [        [        45      (       a  g[        U [
        R                  [
        R                  [
        R                  [
        R                  45      (       a  g[        U [        [
        R                  45      (       a  g[        U TTT45      (       a  g[        U [        5      (       a  g[        U [        5      (       a  [        U4S jU  5       5      $ [        [!        U 5      5      (       a  gg)NTc              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr"   r   )Ú.0ÚxÚ_check_correct_vals     €r   Ú	<genexpr>Ú9_check_val.<locals>._check_correct_val.<locals>.<genexpr>>   s   øé € Ð:²c°Ñ)¨!×,Ð,²cùs   ƒF)Ú
isinstanceÚintÚboolÚstrÚfloatÚtorchÚmemory_formatÚdtypeÚdeviceÚlayoutr
   ÚTensorr   r   Úallr   Útype)Úvalr,   r-   r.   r3   s    €€€€r   r3   Ú&_check_val.<locals>._check_correct_val,   sÑ   ø€ Ø‰;ØÜ˜œc¤4¬¬eÐ4×5Ñ5ØÜØ”%×%Ñ%¤u§{¡{´E·L±LÄ%Ç,Á,ÐO÷
ñ 
ð ÜØ”*œeŸl™lÐ+÷
ñ 
ð Ü˜˜f h°Ð8×9Ñ9ØÜ˜Ô.×/Ñ/ØÜ˜œX×&Ñ&ÜÔ:±cÓ:Ó:Ð:ÜœD ›I×&Ñ&ØØr   c                 ór   • [        U [        5      (       d  g[        U R                  R                  5      S:H  $ )NFr   )r6   r	   Úlenr#   Úreturnsr%   s    r   Ú_no_returnsÚ_check_val.<locals>._no_returnsC   s,   € Ü˜"œj×)Ñ)ØÜ�2—:‘:×%Ñ%Ó&¨!Ñ+Ð+r   rC   Ú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'   rH   rC   r,   r-   r.   r3   s      @@@@r   r)   r)   )   s˜   û€ ßOÑO÷ð ò.,ð
 �D—I‘IÓØ�7‰7�oÓ%©+°d·k±k×*BÑ*BØÜ  :¨d¯i©i¨[Ð8NÐ!OÓPÐPà
�)‰)�EÑ
€CÙ˜c×"Ñ"Ü  :¨d¯i©i¨[Ð8OÐPSÈuÐ!UÓVÐVð #r   c                 ó4  • U R                   R                  S5      nUc  [        SU R                   35      e[	        U[
        5      (       dM  [	        US   [        5      (       a4  [	        US   [        5      (       a  [        SU R                   SU 35      eg g g )NÚtorch_fnz*Unable to find torch_fn metadata for node r   é   rK   z has invalid torch_fn field )rM   Úgetr   rO   r6   Útupler9   )r'   rQ   s     r   Ú_check_torch_fnrU   R   s—   € Ø�y‰y�}‰}˜ZÓ(€HØÑÜ Ø8¸¿¹¸ÐDó
ð 	
ô �x¤×'Ñ'Ü�x ‘{¤C×(Ñ(Ü�x ‘{¤C×(Ñ(ä Ø˜Ÿ™˜Ð#?À¸zÐJó
ð 	
ð )ð )ð (r   c                   ó:   • \ rS rSr% 0 r\\\S   4   \S'   S r	Sr
g)Ú_VerifierMetaéb   ÚVerifierÚ	_registryc                 óÆ  • U(       aD  SU;   d  SU;   a  [        S5      eSU;  d	  US   S:X  a  [        SUR                  S5       35      eO<SU;  a  [        S5      eSU;  a  [        S5      eUS   S:w  a  [        S	US    35      e[        US   [        5      (       d  [        S
[        US   5       35      e[
        R                  XX#5      nX@R                  US   '   U$ )NÚcheckÚ_check_graph_modulez'Overriding method check is not allowed.ÚdialectÚATENz,subclass must define dialect != 'ATEN', got z%base class must define 'check' methodz3base class must define '_check_graph_module' methodz'base class dialect must be 'ATEN', got zdialect must be str, got )ÚSyntaxErrorÚAssertionErrorrS   r6   r9   rB   Ú__new__rZ   )ÚmetaclsrO   ÚbasesÚattrsÚrets        r   rb   Ú_VerifierMeta.__new__e   s  € ÞØ˜%ÓÐ#8¸EÓ#AÜ!Ð"KÓLÐLØ Ó%¨¨yÑ)9¸VÓ)CÜ$ØBÀ5Ç9Á9ÈYÓCWÐBXÐYóð ð *Dð
 ˜eÓ#Ü$Ð%LÓMÐMØ$¨EÓ1Ü$ØIóð ð �YÑ 6Ó)Ü$Ø=¸eÀIÑ>NÐ=OÐPóð ô ˜% 	Ñ*¬C×0Ñ0Ü Ð#<¼TÀ%È	ÑBRÓ=SÐ<TÐ!UÓVÐVÜ�l‰l˜7¨%Ó7ˆØ.1×Ñ˜% 	Ñ*Ñ+Øˆ
r   r   N)r   r   r   r   rZ   Údictr9   rB   Ú__annotations__rb   r   r   r   r   rW   rW   b   s    ‡ Ø-/€Iˆt�C˜˜jÑ)Ð)Ñ*Ó/õr   rW   ÚobjrN   c           	      óÊ   • UR                  S5      nU n[        U5       H@  u  pE[        X55      (       d   [        SSR	                  US U 5       35      e[        X55      nMB     U$ )NÚ.z#Node referenced nonexistent target )ÚsplitÚ	enumerateÚhasattrÚRuntimeErrorÚjoinÚgetattr)rj   rN   Útarget_atomsÚattr_itrÚiÚatoms         r   Úgetattr_recursiverw   €   sl   € Ø—<‘< Ó$€LØ€HÜ˜\Ö*‰ˆÜ�x×&Ñ&ÜØ5°c·h±h¸|ÈBÈQÐ?OÓ6PÐ5QÐRóð ô ˜8Ó*Šñ +ð €Or   c                   óð   • \ rS rSrSrS\4S jrS\\\	   S4   4S jr
S\\\	   S4   4S jrS\\\	   S4   4S jrS	 rS
\SS4S jr\SS j5       r\S
\R&                  R                  SS4S j5       rSrg)rY   éŒ   r_   r    c                 óà  • [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                   [         R"                  [         R$                  [         R&                  [         R(                  [         R*                  [,        R.                  [,        R0                  [,        R2                  [4        /$ r"   )ÚoperatorÚgetitemÚaddÚmulÚsubÚtruedivÚgeÚleÚgtÚltÚeqÚneÚfloordivÚmodÚand_Úor_Únot_ÚpowÚnegÚabsÚlshiftÚrshiftÚmathÚceilÚfloorÚtruncÚround©Úselfs    r   Úallowed_builtin_opsÚVerifier.allowed_builtin_ops�   s½   € ä×ÑÜ�L‰LÜ�L‰LÜ�L‰LÜ×ÑÜ�K‰KÜ�K‰KÜ�K‰KÜ�K‰KÜ�K‰KÜ�K‰KÜ×ÑÜ�L‰LÜ�M‰MÜ�L‰LÜ�M‰MÜ�L‰LÜ�L‰LÜ�L‰LÜ�O‰OÜ�O‰OÜ�I‰IÜ�J‰JÜ�J‰JÜð3
ð 	
r   .c                 ó   • [         [        4$ r"   )r	   r   r–   s    r   Úallowed_op_typesÚVerifier.allowed_op_types¬   s   € ÜÔ/Ð0Ð0r   c                 ó~   • [         R                  R                  [         R                  R                  R
                  4$ r"   )r;   Úfxr   ÚutilsÚ_pytreeÚTreeSpecr–   s    r   Úallowed_getattr_typesÚVerifier.allowed_getattr_types¯   s'   € Ü—‘×$Ñ$¤e§k¡k×&9Ñ&9×&BÑ&BÐCÐCr   c                 óâ   • [         R                  R                  [         R                  R                  R
                  [         R                  [         R                  R                  R                  4$ r"   )
r;   rž   r   ÚnnÚ	parameterÚ	Parameterr@   rŸ   r    r¡   r–   s    r   Úallowed_getattr_types_for_subgmÚ(Verifier.allowed_getattr_types_for_subgm²   sH   € ô �H‰H× Ñ Ü�H‰H×Ñ×(Ñ(Ü�L‰LÜ�K‰K×Ñ×(Ñ(ð	
ð 	
r   c                 ó   • g r"   r   )r—   r   s     r   Úcheck_valid_opÚVerifier.check_valid_op»   s   € Ør   ÚgmNc                 ó   • g)z7
Additional checks that are specific to some dialects.
Nr   )r—   r­   s     r   Úcheck_additionalÚVerifier.check_additional¾   s   � r   c                 óf   • U R                  UR                  5        [        U5        [        U5        g r"   )r]   Úgraph_moduleÚ*_verify_exported_program_module_call_graphÚ"_verify_exported_program_signature)r—   Úeps     r   r\   ÚVerifier.checkÃ   s$   € à× Ñ  §¡Ô1Ü2°2Ô6Ü*¨2Õ.r   c                 ó¦  ^ ^• S[         [        [           S4   4U 4S jjnSU 4S jjnUR                  5        GH  nXAL n[	        U[
        R                  R                  5      (       d  M2  UR                  R                  5         UR                  R                   GHœ  nUR                  S;   a  [        SUR                   S35      eUR                  S:X  a  [        U5        U" UR                  5        M\  UR                  S	:X  Ga  [	        UR                  [        5      (       d!  [        S
[        UR                  5       35      e[!        XFR                  5      m[	        T[
        R"                  R$                  5      (       GaK  U4S jn[        T5      R&                  S:X  aô  U" S[        5      (       a6  [)        TS5      (       a%  [)        TS5      (       a  [+        TSS 5      S:X  a  GMS  U" S[        5      (       a8  U" S[,        5      (       a&  U" S[.        5      (       a  [)        TS5      (       a  GM�  [+        TSS 5      n[+        TSS 5      n	[+        TSS 5      n
[        S[        T5       S[        U5       S[        U	5       S[        U
5       35      e[        T5      R&                  S:X  a  GM  [        T5      R&                  S:X  a  GM7  [	        TU" U5      5      (       d-  [        S[        T5       SUR                   SU" U5       35      eGM~  UR                  S:X  d  GM‘  [        U5        GMŸ     GM     T R1                  U5        g )Nr    .c                 óœ   >• U (       a  TR                  5       nOTR                  5       n[        S U 5       5      (       a  [        S5      eU$ )Nc              3   ó0   #   • U  H  o[         L v •  M     g 7fr"   ©Úobject©r1   Úts     r   r4   ÚOVerifier._check_graph_module.<locals>._allowed_getattr_types.<locals>.<genexpr>Ð   s   é € Ð,ª 1œ•;ªùó   ‚z/allowed_getattr_types must not contain 'object')r¢   r¨   Úanyra   )Úis_toplevel_gmrf   r—   s     €r   Ú_allowed_getattr_typesÚ<Verifier._check_graph_module.<locals>._allowed_getattr_typesË   sD   ø€ ÞØ×0Ñ0Ó2‘à×:Ñ:Ó<�ÜÑ,©Ó,×,Ñ,Ü$Ð%VÓWÐWØˆJr   c                 óˆ  >• S[         4U4S jjnS[        [        [           S4   4U4S jjn[        R
                  R                  R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                   R"                  R$                  [        R&                  R(                  [        R*                  R,                  R.                  [        R*                  R,                  R0                  [        R2                  R4                  R6                  R8                  [        R:                  R<                  R>                  [        R:                  R<                  R@                  [        R:                  R<                  RB                  [        R:                  R<                  RD                  [        R:                  R<                  RF                  4n[I        X" 5       5      (       d0  X" 5       ;  a&  X;  a!  [K        SU  SU" 5        SU" 5        SU 35      e[I        U [L        5      (       a/  TRN                  S	:w  a  [Q        U 5      (       d  [K        S
U  S35      eTRS                  U 5        g )Nr    c                  ól   >• TR                  5       n [        S U  5       5      (       d  [        S5      eU $ )Nc              3   óN   #   • U  H  n[         R                  " U5      v •  M     g 7fr"   )ÚinspectÚ	isbuiltin)r1   r   s     r   r4   ÚfVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_builtin_ops.<locals>.<genexpr>×   s   é € Ð?º3°Rœ7×,Ò,¨R×0Ð0º3ùs   ‚#%z(allowed_builtin_ops must all be builtins)r˜   rA   ra   ©rf   r—   s    €r   Ú_allowed_builtin_opsÚSVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_builtin_opsÕ   s3   ø€ Ø×.Ñ.Ó0�ÜÑ?¹3Ó?×?Ñ?Ü(Ð)SÓTÐTØ�
r   .c                  ól   >• TR                  5       n [        S U  5       5      (       a  [        S5      eU $ )Nc              3   ó0   #   • U  H  o[         L v •  M     g 7fr"   rº   r¼   s     r   r4   ÚcVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_op_types.<locals>.<genexpr>Ý   s   é € Ð0ªC qœF•{ªCùr¿   z*allowed_op_types must not contain 'object')r›   rÀ   ra   rÊ   s    €r   Ú_allowed_op_typesÚPVerifier._check_graph_module.<locals>._check_valid_op.<locals>._allowed_op_typesÛ   s3   ø€ Ø×+Ñ+Ó-�ÜÑ0©CÓ0×0Ñ0Ü(Ð)UÓVÐVØ�
r   z
Operator 'z#' is not an allowed operator type: z
Valid builtin ops: zValid torch functions: ÚTRAININGz
operator 'z' is not functional)*ÚlistrT   rB   r   r;   ÚautogradÚ	grad_modeÚset_grad_enabledÚsym_intÚ	sym_floatÚsym_iteÚsym_maxÚsym_minÚsym_notÚsym_sqrtÚsym_sumÚexportÚ
custom_opsÚ._call_custom_autograd_function_in_pre_dispatchÚ_CÚ_set_grad_enabledÚampÚautocast_modeÚ_enter_autocastÚ_exit_autocastrž   ÚexperimentalÚsymbolic_shapesÚ cast_symbool_to_symint_guardlessÚ
_functorchÚpredispatchÚ_add_batch_dimÚ_remove_batch_dimÚ_vmap_increment_nestingÚ_vmap_decrement_nestingÚlazy_load_decompositionsr6   r   r	   r^   r&   r«   )r   rË   rÐ   Ú_allowed_torch_functionsr—   s       €r   Ú_check_valid_opÚ5Verifier._check_graph_module.<locals>._check_valid_opÔ   sô  ø€ ð¬$÷ ð¤u¬T´#©Y¸¨^Ñ'<÷ ô —‘×(Ñ(×9Ñ9Ü—‘Ü—‘Ü—‘Ü—‘Ü—‘Ü—‘Ü—‘Ü—‘Ü—‘×'Ñ'×VÑVô —‘×*Ñ*Ü—	‘	×'Ñ'×7Ñ7Ü—	‘	×'Ñ'×6Ñ6Ü—‘×%Ñ%×5Ñ5×VÑVÜ× Ñ ×,Ñ,×;Ñ;Ü× Ñ ×,Ñ,×>Ñ>Ü× Ñ ×,Ñ,×DÑDÜ× Ñ ×,Ñ,×DÑDÜ× Ñ ×,Ñ,×EÑEð-(Ð$ô2 ˜bÐ"3Ó"5×6Ñ6àÐ2Ó4Ó4ØÓ:ä,Ø$ R DÐ(KÑL]ÓL_ÐK`ð a.Ù.BÓ.DÐ-EØ1Ð2JÐ1KðMóð ô ˜"œj×)Ñ)ð —<‘< :Ó-´mÀB×6GÑ6GÜ,¨z¸"¸Ð=PÐ-QÓRÐRØ×Ñ Õ#r   >   Úcall_methodÚcall_modulez'call_module is not valid: got a class 'z' rJ   Úget_attrz/Expected get_attr target to be string, but got c                 ó2   >• [        [        TU S 5      U5      $ r"   )r6   rr   )rO   ÚtyÚattrs     €r   Ú_is_typeÚ.Verifier._check_graph_module.<locals>._is_type)  s   ø€ Ü#-¬g°d¸DÀ$Ó.GÈÓ#LÐLr   ÚLoweredBackendModuleÚ
backend_idÚoriginal_moduleÚmodule_nameÚaotiÚprocessed_bytesÚcompile_specszInvalid get_attr type z2. 
LoweredBackendModule fields: backend_id(str) : z, processed_bytes(bytes) : z, compile_specs(list) : ÚAOTInductorEPModuleÚAOTInductorRunnerWrapperz on target z. 
Valid get_attr types: Úplaceholder©r    N)rT   rB   r   Úmodulesr6   r;   rž   r   ÚgraphÚlintÚnodesr   r   rN   r)   r9   rw   r¥   ÚModuler   ro   rr   ÚbytesrÓ   r¯   )r—   r­   rÂ   ró   rˆ   rÁ   r'   rû   rþ   r  r  rú   s   `          @r   r]   ÚVerifier._check_graph_moduleÉ   sÝ  ù€ ð	´e¼DÄ¹IÀs¸NÑ6K÷ 	÷7	$ðr —:‘:—<ˆCØ ˜YˆNä˜c¤5§8¡8×#7Ñ#7×8Ñ8Ùà�I‰I�N‰NÔØŸ	™	Ÿ��à—7‘7Ð<Ó<Ü,ØAÀ$Ç+Á+ÀÈbÐQóð ð —W‘W Ó/Ü˜tÔ$á# D§K¡KÖ0à—W‘W 
Ô*Ü% d§k¡k´3×7Ñ7Ü0ØMÌdÐSW×S^ÑS^ÓN_ÐM`Ðaóð ô -¨S·+±+Ó>�DÜ! $¬¯©¯©×8Ò8õMô   ›:×.Ñ.Ð2HÓHá (¨´s× ;Ñ ;Ü$+¨DÐ2C×$DÑ$DÜ$+¨D°-×$@Ñ$@Ü$+¨D°,ÀÓ$EÈÓ$Oâ (á (¨´s× ;Ñ ;Ù$,Ð->Ä×$FÑ$FÙ$,¨_¼d×$CÑ$CÜ$+¨DÐ2C×$DÑ$Dâ (ä-4°T¸<ÈÓ-N 
Ü29¸$Ð@QÐSWÓ2X Ü07¸¸oÈtÓ0T Ü&8Ø&<¼TÀ$»Z¸Lð I9ä9=¸jÓ9IÐ8Jð K@Ü@DÀ_Ó@UÐ?Vð W=Ü=AÀ-Ó=PÐ<Qð	%Só'"ð !"ô " $›Z×0Ñ0Ð4IÓIÚ$ä! $›Z×0Ñ0Ð4NÓNÚ$ä% dÑ,BÀ>Ó,R×SÑSÜ0Ø4´T¸$³Z°LÀÈDÏKÉKÈ=ð Y5Ù5KÈNÓ5[Ð4\ð^óð ò Tð —W‘W Ö-Ü˜t×$ô (ñ  ðV 	×Ñ˜bÕ!r   r   )rµ   r   r    N)r   r   r   r   r^   rÓ   r˜   rT   rB   r   r›   r¢   r¨   r«   r   r¯   r   r\   r;   rž   r]   r   r   r   r   rY   rY   Œ   s¼   † Ø€Gð
 Tô 
ð:1 %¨¨S©	°3¨Ñ"7ô 1ðD u¨T°#©Y¸¨^Ñ'<ô Dð
°°t¸C±yÀ#°~Ñ1Fô 
òð ;ð °4ô ð
 ó/ó ð/ð
 ðN" e§h¡h×&:Ñ&:ð N"¸tó N"ó óN"r   rY   )Ú	metaclassc                   ó   • \ rS rSrSrSrg)ÚTrainingIRVerifieri[  rÒ   r   N)r   r   r   r   r^   r   r   r   r   r  r  [  s   † ØƒGr   r  c                 ó  • U R                   nU R                  R                   Vs1 s H  o"R                  iM     nnU HÄ  nUR                  c  M  UR                  R
                   H?  nUR                  (       d  M  UR                  U;  d  M(  [        SUR                   S35      e   UR                  R                   H?  nUR                  (       d  M  UR                  U;  d  M(  [        SUR                   S35      e   MÆ     g s  snf )NzInput z does not exist in the graph.zOutput )Úmodule_call_graphr	  r  rO   Ú	signatureÚinputsr   Úoutputs)Úexported_programr  r'   r  ÚentryÚargs         r   r³   r³   _  sÚ   € Ø(×:Ñ:ÐØ#3×#9Ñ#9×#?Ò#?Ó@Ò#?˜4�YŒYÑ#?€EÐ@Û"ˆØ�?‰?Ó&Ø—‘×-Ô-�Ø—8—8‘8 §¡°Õ 5Ü,Ø  §¡ 
Ð*GÐHóð ñ .ð
 —‘×.Ô.�Ø—8—8‘8 §¡°Õ 5Ü,Ø! #§(¡( Ð+HÐIóð ó /ò #ùò As   ¥Dc           
      ó–  • U R                   nU R                  R                   Vs/ s H   o"R                  S:X  d  M  UR                  PM"     nn[        U5      [        UR                  5      :w  a®  UR                   Vs/ s H6  n[        UR                  S5      (       d  M   UR                  R                  PM8     nn[        U5      [        U5      -
  n[        U5      [        U5      -
  n[        S[        U5       S[        UR                  5       SU SU 35      e[        UR                  U5       GHˆ  u  p‚[        UR                  [        [        [        [         45      (       a?  UR                  R                  U:w  a%  [        SUR                  R                   SU 35      eUR"                  [$        R&                  :X  a  M”  UR"                  [$        R(                  :X  aÝ  [        UR                  [        5      (       d&  [        S	UR                   S
UR                   S35      eUR*                  c  [        SUR                   S35      eUR*                  n	X�R,                  ;  a  [        S	U	 S35      e[        U R,                  U	   [.        R0                  R2                  5      (       d  [        SU	 S35      eGM�  UR"                  [$        R4                  :X  aó  [        UR                  [        5      (       d&  [        SUR                   S
UR                   S35      eUR*                  c  [        SUR                   S35      eUR*                  n
UR6                  c  [        SU
 S35      eUR6                  SL a  X R,                  ;  a  [        SU
 S35      eUR6                  SL a!  X R,                  ;   a  [        SU
 S35      eGM�  GM   UR"                  [$        R8                  :X  a˜  [        UR                  [        5      (       d&  [        SUR                   S
UR                   S35      eUR*                  c  [        SUR                   S35      eUR*                  nX°R:                  ;  a  [        SU S35      eGMV  UR"                  [$        R<                  :X  a˜  [        UR                  [>        5      (       d&  [        SUR                   SUR                   S35      eUR*                  c  [        SUR                   S35      eUR*                  nXÀR:                  ;  a  [        SU S35      eGM  UR"                  [$        R@                  :X  aH  [        UR                  [B        5      (       d&  [        SUR                   S
UR                   S35      eGMr  [        SUR"                   S35      e   [E        U R                  R                  5      S   nUR                  S:w  a  [G        SUR                   35      eURH                  S     Vs/ s H:  n[        U[.        RJ                  RL                  5      (       a  UR                  OUPM<     nn[        U5      [        URN                  5      :w  aÁ  URN                   Vs/ s HI  n[        UR                  S5      (       a  UR                  R                  O[Q        UR                  5      PMK     nn[        U5      [        U5      -
  n[        U5      [        U5      -
  n[        S![        U5       S"[        URN                  5       S#U S$U 35      e[        URR                  5      n[        URT                  5      [        URV                  5      -   [        URX                  5      -   U-   nUUU nUUU[        URZ                  5      -    nU GH2  nUURT                  ;   aH  URT                  U   UR\                  ;  a)  [        S%U S&URT                   S'UR\                   S(35      eM\  UURV                  ;   aH  URV                  U   UR^                  ;  a)  [        S)U S*URV                   S+UR^                   S(35      eM´  UURX                  ;   aI  URX                  U   UR`                  ;  a)  [        S,U S-URX                   S.UR`                   S(35      eGM  [        S/U S0URT                   S1URX                   35      e   [        UURZ                  5       H(  u  nnUU:w  d  M  [        S2U S3URZ                   S435      e   g s  snf s  snf s  snf s  snf )5Nr  rO   zNumber of graph inputs (z:) does not match number of inputs in the graph signature (z$)
Placeholders missing input_specs: z#
Input_specs missing placeholders: 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 rl   éÿÿÿÿÚoutputzlast node must be output, got r   zNumber of output nodes zK is different Than the number of outputs specified by the graph signature: z
Nodes missing output_specs: z
Output_specs missing nodes: 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Parameter output z\ does not point to a parameter that exists. 
Dict of parameters that are mutated, in order: z 
Parameter nodes available: 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. )1Úgraph_signaturer	  r  r   rO   rF   Úinput_specsro   r  Úsetr   Úzipr6   r   r   r   r   Úkindr   Ú
USER_INPUTÚ	PARAMETERrN   Ú
state_dictr;   r¥   r§   ÚBUFFERÚ
persistentÚCONSTANT_TENSORÚ	constantsÚ
CUSTOM_OBJr   ÚTOKENr   rÓ   ra   Úargsrž   ÚNodeÚoutput_specsr9   Úoutput_tokensÚbuffers_to_mutateÚparameters_to_mutateÚuser_inputs_to_mutateÚuser_outputsÚbuffersÚ
parametersÚuser_inputs)r  Úgsr'   Úinput_node_namesÚspecÚinput_spec_namesÚmissing_in_specsÚmissing_in_graphÚ
input_specÚparamÚbufferÚtensor_constÚ
custom_objÚoutput_noder  Úoutput_nodesÚoutput_spec_namesÚmissing_out_specsÚmissing_out_graphÚ
num_tokensÚendÚmutate_nodesÚuser_output_nodesÚmutation_nodeÚuser_output_nodeÚuser_output_names                             r   r´   r´   p  so	  € à	×	)Ñ	)€Bð /×4Ñ4×:Ò:óÚ:�d¿g¹gÈÑ>V‹	ˆ�	Œ	Ñ:ð ð ô ÐÓ¤ B§N¡NÓ 3Ó3à&(§n¢nó
Ú&4˜d¼ÀÇÁÈ&×8Q‹MˆD�H‰H�MŒM¡nð 	ð 
ô Ð/Ó0´3Ð7GÓ3HÑHÐÜÐ/Ó0´3Ð7GÓ3HÑHÐÜ Ø&¤sÐ+;Ó'<Ð&=ð >GÜGJÈ2Ï>É>ÓGZÐF[ð \1Ø1AÐ0Bð C1Ø1AÐ0BðDó
ð 	
ô   §¡Ð0@×AÑˆ
ÜØ�N‰NÜœ^Ô-=¼ÐO÷
ñ 
ð �~‰~×"Ñ" dÓ*Ü(Ø& z§~¡~×':Ñ':Ð&;Ð;UÐVZÐU[Ð\óð ð �?‰?œi×2Ñ2Ó2Ùà�_‰_¤	× 3Ñ 3Ó3Ü˜jŸn™n¬n×=Ñ=Ü(Ø  §¡Ð 1Ð1RÐS]×SaÑSaÐRbÐbkÐlóð ð × Ñ Ñ(Ü(Ø$ Z§_¡_Ð$5°_ÐEóð ð ×%Ñ%ˆEØ×7Ñ7Ó7Ü(¨:°e°WÐ<VÐ)WÓXÐXäÐ.×9Ñ9¸%Ñ@Ä%Ç(Á(×BTÑBT×UÑUÜ(Ø5°e°WÐ<fÐgóð ò Vð
 �_‰_¤	× 0Ñ 0Ó0Ü˜jŸn™n¬n×=Ñ=Ü(Ø˜jŸo™oÐ.Ð.OÐPZ×P^ÑP^ÐO_Ð_hÐióð ð × Ñ Ñ(Ü(Ø$ Z§_¡_Ð$5°_ÐEóð ð  ×&Ñ&ˆFØ×$Ñ$Ñ,Ü(Ø˜f˜XÐ%CÐDóð ð
 ×%Ñ%¨Ò-Ø×"=Ñ"=Ó=ä(¨7°6°(Ð:TÐ)UÓVÐVà×$Ñ$¨Ò-°&×<WÑ<WÓ2WÜ(Ø,¨V¨HÐ4\Ð]óð ò 3XÒ-ð �_‰_¤	× 9Ñ 9Ó9Ü˜jŸn™n¬n×=Ñ=Ü(Ø& z§¡Ð&7Ð7XÐYc×YgÑYgÐXhÐhqÐróð ð × Ñ Ñ(Ü(Ø$ Z§_¡_Ð$5°_ÐEóð ð &×,Ñ,ˆLØ×#=Ñ#=Ó=Ü(Ø& | nÐ4XÐYóð ò >ð �_‰_¤	× 4Ñ 4Ó4Ü˜jŸn™nÔ.?×@Ñ@Ü(Ø$ Z§_¡_Ð$5Ð5]Ð^h×^lÑ^lÐ]mÐmvÐwóð ð × Ñ Ñ(Ü(Ø$ Z§_¡_Ð$5°_ÐEóð ð $×*Ñ*ˆJØ×!;Ñ!;Ó;Ü(Ø$ Z LÐ0TÐUóð ò <ð �_‰_¤	§¡Ó/Ü˜jŸn™n¬m×<Ñ<Ü(Ø& z§¡Ð&7Ð7XÐYc×YgÑYgÐXhÐhqÐróð ò =ô
 %Ð'9¸*¿/¹/Ð9JÈ!Ð%LÓMÐMñ} BôB Ð'×-Ñ-×3Ñ3Ó4°RÑ8€KØ‡~�~˜Ó!ÜÐ=¸k¿n¹nÐ=MÐNÓOÐOð ×#Ñ# AÒ&óâ&ˆCô ˜s¤E§H¡H§M¡M×2Ñ2ˆ�Š¸Ò;Ù&ð ð ô
 ˆ<ÓœC §¡Ó0Ó0ð Ÿšó
â'�ô % T§X¡X¨v×6Ñ6ˆD�H‰H�MŠM¼CÀÇÁ»MÒIÙ'ð 	ð 
ô   Ó-´Ð4EÓ0FÑFÐÜÐ 1Ó2´S¸Ó5FÑFÐÜ Ø%¤c¨,Ó&7Ð%8ð 9LÜLOÐPR×P_ÑP_ÓL`ÐKað b+Ø+<Ð*=ð >+Ø+<Ð*=ð?ó
ð 	
ô �R×%Ñ%Ó&€JäˆB× Ñ Ó!Ü
ˆb×%Ñ%Ó
&ñ	'ä
ˆb×&Ñ&Ó
'ñ	(ð ñ	ð ð +¨:°cÐ:€LØ$ S¨3´°R·_±_Ó1EÑ+EÐFÐä%ˆØ˜B×0Ñ0Ó0Ø×#Ñ# MÑ2¸"¿*¹*ÓDÜ(Ø$ ] Oð 4CØCE×CWÑCWÐBXð Y/Ø/1¯z©z¨l¸#ð?óð ñ Eð ˜b×5Ñ5Ó5Ø×&Ñ& }Ñ5¸R¿]¹]ÓJÜ(Ø'¨ ð 7FØFH×F]ÑF]ÐE^ð _2Ø24·-±-°ÀðEóð ñ Kð ˜b×6Ñ6Ó6Ø×'Ñ'¨Ñ6¸b¿n¹nÓLÜ(Ø(¨¨ð 8GØGI×G_ÑG_ÐF`ð a3Ø35·>±>Ð2BÀ#ðGóð ò Mô %Ø   ð 0&Ø&(×&:Ñ&:Ð%;Ð;TÐUW×UmÑUmÐTnðpóð ñ/ &ô8 /2Ð2CÀRÇ_Á_Ö.UÑ*ÐÐ*ØÐ/Õ/Ü$ØÐ/Ð0ð 18à8:¿¹Ð7HÈðLóð ò /Vùò]ùò

ùò`ùò
s$   ¥d7¼d7Á>d<Â!d<ØAeÚAer^   c                 óˆ   • U S:X  d  U S:X  a$  [         R                  R                  U [        5      $ [         R                  U    $ )Nr_   Ú )rW   rZ   rS   rY   )r^   s    r   Úload_verifierrO  ,  s:   € Ø�&Ó˜G r›MÜ×&Ñ&×*Ñ*¨7´HÓ=Ð=Ü×"Ñ" 7Ñ+Ð+r   r  )/rÇ   r‘   r{   Úcollections.abcr   Útypingr   r   r   r;   Útorch._library.opaque_objectr   Ú
torch._opsr   r	   Útorch._subclasses.fake_tensorr
   Útorch.export.graph_signaturer   r   r   r   r   r   r   Útorch.fxr   Útorch.export.exported_programr   Ú	Exceptionr   r8   r&   rž   r,  r*   r)   rU   rB   rW   r9   rw   rY   r  r³   r´   rO  r   r   r   Ú<module>rY     s  ðã Û Û Ý $ß ,Ñ ,ã Ý 7ß 6Ý 4÷÷ ñ õ !ö Ý=ô	˜ô 	ð%�jð % Tô %ð §¡§¡ð °4ô ð
&W�U—X‘X—]‘]ð &W tô &WðR
˜%Ÿ(™(Ÿ-™-ð 
¨Dô 
ô �Dô ð<	˜3ð 	¨ð 	°ô 	ôL"˜ò L"ô^˜ô ôô"yðx,˜3ð , 4¨¡>õ ,r   