ó
    Eñié%  ã                  ót  • S SK Jr  S SKJ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  S SKJr  S S	KJr  \	(       a  S S
KJr  S SKJr   " S S\5      r " S S\5      r\
R4                  R6                  r\
R4                  R:                  r\
R4                  R>                  r SS jr!SS jr" " S S\5      r#g)é    )Úannotations)Údeepcopy)Úcombinations)ÚAnyÚ
NamedTupleÚTYPE_CHECKINGN)Ú_normalize_function_or_error)Ú_pytree)ÚTorchDispatchMode)Útree_map)ÚIterable)Ú
OpOverloadc                  ó*   • \ rS rSr% S\S'   S\S'   Srg)ÚMutationé   ÚstrÚop_nameÚarg_name© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    Ú`/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_subclasses/schema_check_mode.pyr   r      s   ‡ ØƒLØ†Mr   r   c                  ó4   • \ rS rSr% S\S'   S\S'   S\S'   Srg)ÚAliasingé   r   r   r   Úoutput_numberr   Nr   r   r   r   r    r       s   ‡ ØƒLØƒMØÖr   r    c                óì   • [        U [        R                  5      (       a  g [        U 5      S:X  a  g[	        U 5       H$  n[        U[        R                  5      (       a  M$    g   g! [
         a     gf = f)NFr   T)Ú
isinstanceÚtorchÚTensorÚlenÚiterÚ	TypeError)ÚiterableÚts     r   Úis_iterable_of_tensorsr,   0   se   € ä�(œEŸL™L×)Ñ)Øðäˆx‹=˜AÓØÜ�h–ˆAÜ˜a¤§¡×.Ó.Ùñ  ð
 øô ó Ùðús"   ¢A& ²+A& Á!A& Á#A& Á&
A3Á2A3c                ó‚  • / nU  H±  n[        U[        R                  5      (       a/  UR                  UR	                  5       R                  5       5        MQ  [        U5      (       a?  UR                  U Vs/ s H   o3R	                  5       R                  5       PM"     sn5        M   UR                  U5        M³     U$ s  snf ©N)r$   r%   r&   ÚappendÚdetachÚcloner,   )ÚargsÚinputsÚargr+   s       r   Úclone_inputsr5   @   sˆ   € Ø€FãˆÜ�cœ5Ÿ<™<×(Ñ(Ø�M‰M˜#Ÿ*™*›,×,Ñ,Ó.Ö/Ü# C×(Ñ(Ø�M‰M±sÓ;²s°!Ÿ8™8›:×+Ñ+Ö-±sÑ;Ö<à�M‰M˜#Öñ ð €Mùò	 <s   Á5'B<
c                  óV   • \ rS rSrSS jrSS jrSS jr  S	         S
S jjrSrg)ÚSchemaCheckModeéN   c                ó.   • / U l         / U l        / U l        g r.   )ÚopsÚmutatedÚaliasing©Úselfs    r   Ú__init__ÚSchemaCheckMode.__init__O   s   € ð !ˆŒØ')ˆŒØ(*ˆ�r   c                ó    • U R                   R                  5         U R                  R                  5         U R                  R                  5         g r.   )r:   Úclearr;   r<   r=   s    r   Úreset_cacheÚSchemaCheckMode.reset_cacheW   s0   € Ø�‰�‰ÔØ�‰×ÑÔØ�‰×ÑÕr   c                ó.   • [        U R                  SS06  g )NÚsepÚ,)Úprintr:   r=   s    r   Údisplay_opsÚSchemaCheckMode.display_ops\   s   € Üˆt�x‰xÐ!˜SÓ!r   Nc                ó  ^^• SS jm        SU4S jjmSS jnSS jnSS jnSS jnU R                   R                  UR                  R                  5        [	        XUSS9R
                  n	[        [        U	R                  5       [        U	R                  5       5      5      5      n
U
 Vs0 s H  o»[        XzR                  U5      5      _M     nnU	 VVs0 s H?  nU[        R                  " U	R                  U5      5       Vs/ s H
  oØ" U5      PM     sn_MA     nnnU" U0 UD6nU	 Vs0 s H  o»[        XyR                  U5      5      _M     nn[        U[         5      (       a  UOU4n[        UU5      n[#        UR                  5      nUR%                  U	5        ['        [)        UR                  R*                  5      5       GHõ  nUR                  R*                  U   nU" UR                  5      nUR                  U5      c  MC  UR                  U5      nUR                  U5      nUR                  U5      n['        [)        U5      5       GHš  nS	nU" UU   U5      (       a­  UR                  R                  U;  a“  UR-                  [/        [0        R2                  U5      [/        [0        R4                  U5      5      (       d  [7        S
U S35      eU R8                  R                  [;        UR                  R                  USU 35      5        UUU   L d  MÎ  [        U[<        R>                  5      (       d  Mï  URA                  [/        [0        R4                  U5      5      (       a  GM   U[<        R                   RB                  RD                  RF                  [<        R                   RB                  RH                  RF                  4;  d  GMƒ  [7        S[K        U5       SU 35      e   Uc  GM/  [M        U4S j[        [        R                  " U5      [        R                  " U5      U5       5       5      (       d  GM  URA                  [/        [0        R4                  U5      5      (       d  [7        S
U S35      eU RN                  R                  [Q        UR                  R                  U5      5        GMø     [S        ['        [)        UR                  RT                  5      5      S5       Hu  u  nnU" UU   UU   5      (       d  M  UR-                  [/        [0        R2                  U5      [/        [0        R2                  U5      5      (       a  Me  [7        SU SU S35      e   U$ s  snf s  snf s  snnf s  snf )Nc                óz   • U R                   (       a  [        R                  " X5      $ [        R                  " XSS9$ )NT)Ú	equal_nan)Úis_quantizedr%   ÚequalÚallclose)ÚlhsÚrhss     r   Úbitwise_equalÚ9SchemaCheckMode.__torch_dispatch__.<locals>.bitwise_equalf   s-   € Ø××ô —{’{ 3Ó,Ð,ä—~’~ c¸$Ñ?Ð?r   c                ó  >• [        U 5      [        R                  L =(       a    [        U5      [        R                  L nU(       aÀ  U R                  [        R                  :w  a¢  UR                  [        R                  :w  a„  US L=(       ay    U R                  5       UR                  5       :H  =(       aL    T" X5      =(       a=    US   UR                  5       :H  =(       a     US   UR                  5       R                  :H  (       + $ g)Nr   é   F)	Útyper%   r&   ÚlayoutÚ
sparse_csrÚsizeÚstrideÚ_typed_storageÚ_cdata)ÚbeforeÚafterÚmdÚare_tensorsrS   s       €r   Úhas_mutatedÚ7SchemaCheckMode.__torch_dispatch__.<locals>.has_mutatedn   sÅ   ø€ ô ˜v›,¬%¯,©,Ð6×V¼4À»;Ì%Ï,É,Ð;VˆKæØ—M‘M¤U×%5Ñ%5Ó5Ø—L‘L¤E×$4Ñ$4Ó4à �~÷ Ø—K‘K“M U§Z¡Z£\Ñ1÷ ?Ù% fÓ4÷?à˜1™ §¡£Ñ/÷?ð ˜1™ ×!5Ñ!5Ó!7×!>Ñ!>Ñ>ô	+ð ð r   c                ó²   •  [         R                  R                  X5      $ ! [         a+  n[	        U5      R                  S5      (       a   S nAgUeS nAff = f)NzCannot inspect value of type F)r%   Ú_CÚ	_overlapsÚ	Exceptionr   Ú
startswith)rQ   rR   Ú	exceptions      r   Úhas_aliasedÚ7SchemaCheckMode.__torch_dispatch__.<locals>.has_aliased   sJ   € ð$ä—x‘x×)Ñ)¨#Ó3Ð3øÜó $Ü�y“>×,Ñ,Ð-L×MÑMÜ à#�Oûð	$ús   ‚! ¡
A«AÁAÁAc                ó   • U S:w  a  U $ S$ )Nr>   Úinputr   )Únames    r   Ústandardize_nameÚ<SchemaCheckMode.__torch_dispatch__.<locals>.standardize_name‰   s   € Ø 6›>�4Ð6¨wÐ6r   c                óº   • [        U [        R                  5      (       a)  [        U 5      [        R                  La   U R                  $ U $ ! [
         a    U s $ f = fr.   )r$   r%   r&   rW   ÚelemÚAttributeError)Úes    r   ÚunwrapÚ2SchemaCheckMode.__torch_dispatch__.<locals>.unwrapŒ   sM   € Ü˜!œUŸ\™\×*Ñ*¬t°A«w¼e¿l¹lÒ/JðàŸ6™6�Mð ˆHøô &ó Ø’Hðús   ½A ÁAÁAc                ó¼  • [        U [        R                  5      (       a­  [        U 5      [        R                  La@   U R                  n[        UR                  5       5      UR                  5       R                  4$ U R                  [        R                  :w  a3  [        U R                  5       5      U R                  5       R                  4$ g ! [         a     g f = fr.   )r$   r%   r&   rW   rr   r   r[   r\   r]   rs   rX   rY   )rt   Úcurrents     r   Úparse_metadataÚ:SchemaCheckMode.__torch_dispatch__.<locals>.parse_metadata•   s¬   € Ü˜!œUŸ\™\×*Ñ*Ü˜“7¤%§,¡,Ò.ð$à"#§&¡&˜ä$ W§^¡^Ó%5Ó6Ø#×2Ñ2Ó4×;Ñ;ð ð ð —X‘X¤×!1Ñ!1Ó1Ü$ Q§X¡X£ZÓ0°!×2BÑ2BÓ2D×2KÑ2KÐLÐLØøô *ó $Ù#ð$ús   ½>C Ã
CÃCT)Únormalize_to_only_use_kwargs)zaten::_unsafe_viewzaten::unsafe_splitz	Argument z0 is not defined to alias output but was aliasingÚoutput_zoDispatcher operators below autograd are not allowed to directly return inputs.
However, we found that `outputs[z] is c              3  ó<   >#   • U  H  u  pnT" XU5      v •  M     g 7fr.   r   )Ú.0ÚaÚbÚcrb   s       €r   Ú	<genexpr>Ú5SchemaCheckMode.__torch_dispatch__.<locals>.<genexpr>ë   s*   øé € ð *ò$™˜˜añ    a×(Ð(ò$ùs   ƒz* is not defined as mutable but was mutatedé   zOutputs z and z alias unexpectedly)rQ   útorch.TensorrR   r…   ÚreturnÚbool)r^   r   r_   r   r`   ú"tuple[tuple[int, ...], int] | Noner†   r‡   )rQ   r   rR   r   r†   r‡   )rn   r   r†   r   )rt   r   r†   r   )rt   r   r†   rˆ   )+r:   r/   Ú_schemarn   r	   ÚkwargsÚdictÚzipÚkeysr5   Úvaluesr   ÚgetÚpytreeÚtree_leavesr$   ÚtupleÚ
SchemaInfoÚadd_argument_valuesÚranger'   Ú	argumentsÚmay_contain_aliasÚSchemaArgumentÚSchemaArgTypeÚoutputrm   ÚRuntimeErrorr<   r    r%   r&   Ú
is_mutableÚatenÚliftÚdefaultÚ
lift_freshr   Úanyr;   r   r   Úreturns)r>   ÚfuncÚtypesr2   rŠ   rj   ro   ru   ry   Úpre_argumentsÚc_p_argsrn   Úcloned_argumentsr   Úcloned_metadataÚoutr–   Ú	tuple_outÚschema_infoÚir4   r^   r`   r_   ÚjÚ
unsafe_opsrS   rb   s                             @@r   Ú__torch_dispatch__Ú"SchemaCheckMode.__torch_dispatch___   så  ù€ ô	@ð	Øð	Ø #ð	Ø)Kð	à÷	ô"	$ô	7ô	ô	ð" 	�‰�‰˜Ÿ™×)Ñ)Ô*ô 5Ø˜¸Tñ
ç
‰&ð 	ô œ˜M×.Ñ.Ó0´,¸}×?SÑ?SÓ?UÓ2VÓWÓXˆáCKó
ÚCK¸4”(˜6§<¡<°Ó#5Ó6Ò6Á8ð 	ð 
ñ &ô	
ò &�ð Ü+1×+=Ò+=¸m×>OÑ>OÐPTÓ>UÔ+VóÚ+V a�˜qÖ!Ñ+Vñò ñ &ð	 	ñ 
ñ �DÐ#˜FÑ#ˆáHUó
ÚHUÀ”(˜6×#4Ñ#4°TÓ#:Ó;Ò;Éð 	ð 
ô & c¬5×1Ñ1‘C¸°vˆ	Ü˜V YÓ/ˆ	ä  §¡Ó.ˆà×'Ñ'¨Ô6ô ”s˜4Ÿ<™<×1Ñ1Ó2×3ˆAØ—,‘,×(Ñ(¨Ñ+ˆCÙ# C§H¡HÓ-ˆDØ�}‰}˜TÓ"Ó.Ø)×-Ñ-¨dÓ3�Ø$×(Ñ(¨Ó.�Ø!Ÿ™ dÓ+�Üœs 9›~×.�Aà!M�Já# I¨a¡L°%×8Ñ8Ø ŸL™L×-Ñ-°ZÓ?ð  +×<Ñ<Ü*¬=×+?Ñ+?ÀÓCÜ*¬=×+>Ñ+>ÀÓB÷ ñ  ô #/Ø"+¨D¨6Ð1aÐ bó#ð ð !ŸM™M×0Ñ0Ü (¨¯©×):Ñ):¸DÀGÈAÈ3À-Ó Pôð  	¨!¡Ô,´¸EÄ5Ç<Á<×1PÓ1Pà*×5Ñ5Ü*¬=×+>Ñ+>ÀÓB÷ ô  à"Ü!ŸI™IŸN™N×/Ñ/×7Ñ7Ü!ŸI™IŸN™N×5Ñ5×=Ñ=ð+ö ô #/ð%!ä!$ Q£ ¨¨d¨Vð!7ó#ð ñ7 /ð@ ”>¤cô *ä#&Ü×*Ò*¨6Ó2´F×4FÒ4FÀuÓ4MÈrô$ó*÷ 'ô 'ð '×1Ñ1Ü&¤}×':Ñ':¸AÓ>÷ñ ô +Ø'¨ vÐ-WÐXóð ð Ÿ™×+Ñ+¬H°T·\±\×5FÑ5FÈÓ,M×Nñi 4ôn !¤¤s¨4¯<©<×+?Ñ+?Ó'@Ó!AÀ1ÖE‰DˆAˆqÙ˜9 Q™<¨°1©×6Ó6à"×4Ñ4Ü"¤=×#7Ñ#7¸Ó;Ü"¤=×#7Ñ#7¸Ó;÷ó ô '¨°!°°E¸!¸Ð<OÐ'PÓQÐQñ Fð ˆ
ùòm
ùòùó
ùò
s$   Â.$U/Ã.U9ÄU4ÄU9Ä.$U?Õ4U9)r<   r;   r:   )r†   ÚNone)r   N)
r£   r   r¤   ztuple[type[Any], ...]r2   ztuple[Any, ...]rŠ   zdict[str, Any] | Noner†   r   )	r   r   r   r   r?   rC   rI   r¯   r   r   r   r   r7   r7   N   sZ   † ô+ôô
"ð !#Ø(,ðeàðeð %ðeð ð	eð
 &ðeð 
÷eð er   r7   )r*   úIterable[Any]r†   r‡   )r2   r²   r†   z	list[Any])$Ú
__future__r   Úcopyr   Ú	itertoolsr   Útypingr   r   r   r%   Útorch.fx.operator_schemasr	   Útorch.utilsr
   r�   Útorch.utils._python_dispatchr   Útorch.utils._pytreer   Úcollections.abcr   Ú
torch._opsr   r   r    re   Ú_SchemaArgumentr˜   Ú_SchemaArgTyper™   Ú_SchemaInfor“   r,   r5   r7   r   r   r   Ú<module>rÀ      sŽ   ðÝ "å Ý "ß 1Ñ 1ã Ý BÝ )Ý :Ý (ö Ý(å%ôˆzô ô
ˆzô ð —‘×)Ñ)€à—‘×'Ñ'€Ø�X‰X×!Ñ!€
ôô ôvÐ'õ vr   