ó
    Eñiyo  ã                   óJ  • S SK r S SKrS SKrS SKrS SKJr  S SKrS SKJr  \R                   " S S5      5       r	\	" 5       r
      SS jrS\\\4   4S jr\ R                  S	 5       rS
 r " S S5      rSS jrSS jrSS jrS rS rS rSS.S jrSS.S jrSS.S jrg)é    N)ÚAny)Úinfc                   ób   • \ rS rSr% Sr\\S'   Sr\\S'   Sr	\\S'   Sr
\\S	'   S
r\S
-  \S'   Srg
)Ú__PrinterOptionsé   é   Ú	precisionéè  Ú	thresholdé   Ú	edgeitemséP   Ú	linewidthNÚsci_mode© )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   ÚintÚ__annotations__r   Úfloatr   r   r   ÚboolÚ__static_attributes__r   ó    ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_tensor_str.pyr   r      s8   ‡ à€IˆsÓØ€IˆuÓØ€IˆsÓØ€IˆsÓØ €Hˆd�T‰kÖ r   r   c                 óÈ  • Ubœ  US:X  a-  S[         l        S[         l        S[         l        S[         l        OiUS:X  a-  S[         l        S[         l        S[         l        S[         l        O6US	:X  a0  S[         l        [
        [         l        S[         l        S[         l        U b  U [         l        Ub  U[         l        Ub  U[         l        Ub  U[         l        U[         l        g)
až  Set options for printing. Items shamelessly taken from NumPy

Args:
    precision: Number of digits of precision for floating point output
        (default = 4).
    threshold: Total number of array elements which trigger summarization
        rather than full `repr` (default = 1000).
    edgeitems: Number of array items in summary at beginning and end of
        each dimension (default = 3).
    linewidth: The number of characters per line for the purpose of
        inserting line breaks (default = 80). Thresholded matrices will
        ignore this parameter.
    profile: Sane defaults for pretty printing. Can override with any of
        the above options. (any one of `default`, `short`, `full`)
    sci_mode: Enable (True) or disable (False) scientific notation. If
        None (default) is specified, the value is defined by
        `torch._tensor_str._Formatter`. This value is automatically chosen
        by the framework.

Example::

    >>> # Limit the precision of elements
    >>> torch.set_printoptions(precision=2)
    >>> torch.tensor([1.12345])
    tensor([1.12])
    >>> # Limit the number of elements shown
    >>> torch.set_printoptions(threshold=5)
    >>> torch.arange(10)
    tensor([0, 1, 2, ..., 7, 8, 9])
    >>> # Restore defaults
    >>> torch.set_printoptions(profile='default')
    >>> torch.tensor([1.12345])
    tensor([1.1235])
    >>> torch.arange(10)
    tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

NÚdefaultr   r
   r   r   Úshorté   Úfull)Ú
PRINT_OPTSr	   r   r   r   r   r   )r	   r   r   r   Úprofiler   s         r   Úset_printoptionsr$      sÃ   € ðZ ÑØ�iÓØ#$ŒJÔ Ø#'ŒJÔ Ø#$ŒJÔ Ø#%ŒJÕ Ø˜ÓØ#$ŒJÔ Ø#'ŒJÔ Ø#$ŒJÔ Ø#%ŒJÕ Ø˜ÓØ#$ŒJÔ Ü#&ŒJÔ Ø#$ŒJÔ Ø#%ŒJÔ àÑØ(Œ
ÔØÑØ(Œ
ÔØÑØ(Œ
ÔØÑØ(Œ
ÔØ"„JÕr   Úreturnc                  ó6   • [         R                  " [        5      $ )zqGets the current options for printing, as a dictionary that
can be passed as ``**kwargs`` to set_printoptions().
)ÚdataclassesÚasdictr"   r   r   r   Úget_printoptionsr)   b   s   € ô ×ÒœjÓ)Ð)r   c               +   óv   #   • [        5       n[        S0 U D6   Sv •  [        S0 UD6  g! [        S0 UD6  f = f7f)zuContext manager that temporarily changes the print options.  Accepted
arguments are same as :func:`set_printoptions`.Nr   )r)   r$   )ÚkwargsÚ
old_kwargss     r   Úprintoptionsr-   i   s9   é € ô "Ó#€JÜÑ�vÒð'ÛäÑ&˜:Ó&øÔÑ&˜:Ó&üs   ‚9™) �9©6¶9c                 ó6  • U R                   (       dZ  U R                  (       a8  [        R                  R	                  U R
                  5      R                  (       a  U R                  (       a  [        R                  O[        R                  nU R                  US9$ )N)Údtype)Úis_mpsÚis_xpuÚtorchÚxpuÚget_device_propertiesÚdeviceÚhas_fp64Úis_maiar   ÚdoubleÚto)Útr/   s     r   Útensor_totyper;   u   s^   € ð �H�HØ——¤§¡×!@Ñ!@ÀÇÁÓ!J×!S×!SØ�y�yô	 	�Šô �\‰\ð 
ð �4‰4�eˆ4ÐÐr   c                   ó&   • \ rS rSrS rS rS rSrg)Ú
_Formatteré‚   c                 ó  • UR                   R                  U l        SU l        SU l        SU l        [        R                  " 5          UR                  S5      nS S S 5        U R                  (       d1  W H*  nU n[        U R
                  [        U5      5      U l        M,     g UR                   [        R                  :X  a  WR                  [        R                  5      n[        R                  " W[        R                  " U5      UR!                  S5      -  5      nUR#                  5       S:X  a  g UR                   [        R$                  :X  a  UR'                  5       n[)        UR+                  5       5      n[)        UR-                  5       5      n[)        UR                  5       5      nU H&  nU[        R.                  " U5      :w  d  M  SU l          O   [0        R                  c  X‡-  S:„  =(       d    US:„  =(       d    US:  O[0        R                  U l        U R                  (       a—  U R                  (       aQ  U HJ  nS	[0        R2                   S
3R5                  U5      n[        U R
                  [        U5      5      U l        ML     g U H.  nUS n[        U R
                  [        U5      S-   5      U l        M0     g U R                  (       aQ  U HJ  nS	[0        R2                   S
3R5                  U5      n[        U R
                  [        U5      5      U l        ML     g U HJ  nS	[0        R2                   S3R5                  U5      n[        U R
                  [        U5      5      U l        ML     g ! , (       d  f       GN%= f)NTFé   éÿÿÿÿr   g     @�@g    „×—Ag-Cëâ6?ú{:.úe}ú.0fúf})r/   Úis_floating_pointÚfloating_dtypeÚint_moder   Ú	max_widthr2   Úno_gradÚreshapeÚmaxÚlenÚfloat4_e2m1fn_x2ÚviewÚuint8Úmasked_selectÚisfiniteÚneÚnumelÚfloat8_e8m0fnur   r;   ÚabsÚminÚceilr"   r	   Úformat)	ÚselfÚtensorÚtensor_viewÚvalueÚ	value_strÚnonzero_finite_valsÚnonzero_finite_absÚnonzero_finite_minÚnonzero_finite_maxs	            r   Ú__init__Ú_Formatter.__init__ƒ   sÉ  € Ø$Ÿl™l×<Ñ<ˆÔØˆŒØˆŒØˆŒä�]Š]�_Ø Ÿ.™.¨Ó,ˆK÷ ð ×"×"Û$�Ø$˜g�	Ü!$ T§^¡^´S¸³^Ó!D�–ò %ð
 �|‰|œu×5Ñ5Ó5ð *×.Ñ.¬u¯{©{Ó;�ä"'×"5Ò"5ØœUŸ^š^¨KÓ8¸;¿>¹>È!Ó;LÑLó#Ðð #×(Ñ(Ó*¨aÓ/àà�|‰|œu×3Ñ3Ó3ð ':×&?Ñ&?Ó&AÐ#ô "/Ð/B×/FÑ/FÓ/HÓ!IÐÜ!.Ð/A×/EÑ/EÓ/GÓ!HÐÜ!.Ð/A×/EÑ/EÓ/GÓ!HÐã,�ØœEŸJšJ uÓ-Õ-Ø$)�D”MÙñ -ô ×&Ñ&Ñ.ð #Ñ7¸&Ñ@÷ /Ø%¨Ñ-÷/à%¨Ñ.øä×(Ñ(ð ŒMð �}�}ð —=—=Û!4˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜žò "5ó "5˜Ø',¨S k˜	Ü),¨T¯^©^¼SÀ»^ÈaÑ=OÓ)P˜žò "5ð
 —=—=Û!4˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜žò "5ó "5˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜žò "5÷M Ž_ús   ÁM6Í6
Nc                 ó   • U R                   $ ©N)rI   )rZ   s    r   ÚwidthÚ_Formatter.widthÓ   s   € Ø�~‰~Ðr   c                 óÔ  • U R                   (       a·  U R                  (       a1  SU R                   S[        R                   S3R                  U5      nOxU R                  (       a@  US n[        R                  " U5      (       d   [        R                  " U5      (       d  US-  nO'S[        R                   S3R                  U5      nOU nU R                  [        U5      -
  S-  U-   $ )Nz{:Ú.rC   rD   rB   rE   Ú )rG   r   rI   r"   r	   rY   rH   ÚmathÚisinfÚisnanrM   )rZ   r]   Úrets      r   rY   Ú_Formatter.formatÖ   s¸   € Ø××Ø�}�}Ø˜DŸN™NÐ+¨1¬Z×-AÑ-AÐ,BÀ#ÐF×MÑMÈeÓT‘Ø——Ø˜s˜�ÜŸ
š
 5×)Ñ)¬T¯ZªZ¸×->Ñ->Ø˜3‘J�CøàœZ×1Ñ1Ð2°#Ð6×=Ñ=¸eÓD‘à�GˆCØ—‘¤ S£Ñ)¨SÑ0°3Ñ6Ð6r   )rG   rH   rI   r   N)r   r   r   r   rc   rg   rY   r   r   r   r   r=   r=   ‚   s   † òNMò`õ7r   r=   c                 óü   • Ub[  [        U R                  U5      n[        U R                  U5      S-   R                  5       nUS   S:X  d	  US   S:X  a  X4-   $ US-   U-   $ UR	                  U R                  5       5      $ ©NÚjr   Ú+Ú-)Ú_scalar_strÚrealÚimagÚlstriprY   Úitem)rZ   Ú
formatter1Ú
formatter2Úreal_strÚimag_strs        r   rv   rv   å   s|   € ØÑÜ˜tŸy™y¨*Ó5ˆÜ §	¡	¨:Ó6¸Ñ<×DÑDÓFˆà�A‰;˜#Ó ¨!¡°Ó!3ØÑ&Ð&à˜c‘> HÑ,Ð,à× Ñ  §¡£Ó-Ð-r   c                 ó  • UR                  5       S-   nUb  XTR                  5       S-   -  n[        S[        R                  " [        R
                  U-
  U-  5      5      nX44S jnU R                  [        R                  :X  a  U R                  [        R                  5      n U(       a  [        R                  (       d  S/nOÇU(       a›  U R                  S5      S[        R                  -  :”  au  U S [        R                   R                  5        V	s/ s H
  o—" U	5      PM     sn	S/-   U [        R                  * S  R                  5        V	s/ s H
  o—" U	5      PM     sn	-   nO%U R                  5        V	s/ s H
  o—" U	5      PM     nn	[        S[        U5      U5       V
s/ s H	  o¨XªU-    PM     nn
U Vs/ s H  nSR!                  U5      PM     nnSS	S
US-   -  -   R!                  U5      -   S-   $ s  sn	f s  sn	f s  sn	f s  sn
f s  snf )Nr    r@   c                 óô   • Ube  UR                  U R                  5      nUR                  U R                  5      S-   R                  5       nUS   S:X  d	  US   S:X  a  X4-   $ US-   U-   $ UR                  U 5      $ rr   )rY   rw   rx   ry   )Úvalr{   r|   r}   r~   s        r   Ú_val_formatterÚ#_vector_str.<locals>._val_formatterý   s~   € ØÑ!Ø!×(Ñ(¨¯©Ó2ˆHØ"×)Ñ)¨#¯(©(Ó3°cÑ9×AÑAÓCˆHà˜‰{˜cÓ! X¨a¡[°CÓ%7ØÑ*Ð*à #‘~¨Ñ0Ð0à×$Ñ$ SÓ)Ð)r   ú...r   z ...ú, Ú[ú,
rk   Ú])rg   rL   rl   Úfloorr"   r   r/   r2   rN   rO   rP   r   ÚsizeÚtolistÚrangerM   Újoin)rZ   ÚindentÚ	summarizer{   r|   Úelement_lengthÚelements_per_liner‚   Údatar�   ÚiÚ
data_linesÚlineÚliness                 r   Ú_vector_strr—   ò   sé  € à×%Ñ%Ó'¨!Ñ+€NØÑà×*Ñ*Ó,¨qÑ0Ñ0ˆäØ	Œ4�:Š:”z×+Ñ+¨fÑ4¸ÑHÓIóÐð (2ô 
*ð ‡z�z”U×+Ñ+Ó+ð �y‰yœŸ™Ó%ˆæœ×-×-àˆw‰Þ	�t—y‘y “| a¬*×*>Ñ*>Ñ&>Ó>à,0Ð1G´:×3GÑ3GÐ,H×,OÑ,OÔ,QÓRÒ,Q Sˆ^˜CÖ Ñ,QÑRØˆhñà.2´J×4HÑ4HÐ3HÐ3JÐ.K×.RÑ.RÔ.TÓUÒ.T sˆ~˜cÖ"Ñ.TÑUñVñ 	ð 04¯{©{¬}Ó=ª}¨�˜sÖ#©}ˆÐ=ô 27°q¼#¸d»)ÐEVÔ1WóÚ1W¨AˆQÐ&Ñ&Ó'Ñ1Wð ð ñ *4Ó4ª ˆT�Y‰Y�tŽ_©€EÐ4Ø�*˜s f¨q¡jÑ1Ñ1×7Ñ7¸Ó>Ñ>ÀÑDÐDùò SùâUùò >ùòùò 5s   ÄG5ÅG:Å7G?Æ"HÆ8H	c                 óÔ  • U R                  5       nUS:X  a  [        XU5      $ US:X  a  [        XX#U5      $ U(       a¸  U R                  S5      S[        R
                  -  :”  a’  [        [        R
                  5       Vs/ s H  n[        X   US-   X#U5      PM     snS/-   [        [        U 5      [        R
                  -
  [        U 5      5       Vs/ s H  n[        X   US-   X#U5      PM     sn-   nO;[        U R                  S5      5       Vs/ s H  n[        X   US-   X#U5      PM     nnSSUS-
  -  -   SUS-   -  -   R                  U5      nSU-   S	-   $ s  snf s  snf s  snf )
Nr   r@   r    r„   Ú,Ú
rk   r†   rˆ   )
Údimrv   r—   rŠ   r"   r   rŒ   Ú_tensor_str_with_formatterrM   r�   )	rZ   rŽ   r�   r{   r|   r›   r“   ÚslicesÚ
tensor_strs	            r   rœ   rœ   '  s�  € Ø
�(‰(‹*€Cà
ˆaƒxÜ˜4¨ZÓ8Ð8à
ˆaƒxÜ˜4¨À
ÓKÐKæ�T—Y‘Y˜q“\ A¬
×(<Ñ(<Ñ$<Ó<ô œz×3Ñ3Ô4ó	ò 5�Aô +Ø‘G˜V a™Z¨À
öñ 5ñ	ð ˆgñô œs 4›y¬:×+?Ñ+?Ñ?ÄÀTÃÔKó	ò L�Aô +Ø‘G˜V a™Z¨À
öñ Lñ	ññ 	ô( ˜4Ÿ9™9 Q›<Ô(ó	
ò )�ô 'Ø‘˜ !™ Y¸Jöñ )ð	 	ð 
ð ˜  a¡Ñ(Ñ(¨3°&¸1±*Ñ+=Ñ=×CÑCÀFÓK€JØ�Ñ˜cÑ!Ð!ùò/ùòùò
s   Á>EÃE ÄE%c                 óŒ  • U R                  5       S:X  a  gU R                  5       (       a  U R                  S 5      n U R                  5       [        R                  :„  nU R                  5       (       a  U R                  5       n U R                  5       (       a  U R                  5       n U R                  [        R                  [        R                  [        R                  [        R                  4;   a  U R                  5       n U R                  R                   (       a  U R#                  5       n [%        U(       a  ['        U R(                  5      OU R(                  5      n[%        U(       a  ['        U R*                  5      OU R*                  5      n[-        XX#U5      $ [%        U(       a  ['        U 5      OU 5      n[-        XX%5      $ )Nr   ú[])rT   Ú	has_namesÚrenamer"   r   Ú_is_zerotensorÚcloneÚis_negÚresolve_negr/   r2   Úfloat8_e5m2Úfloat8_e5m2fnuzÚfloat8_e4m3fnÚfloat8_e4m3fnuzÚhalfÚ
is_complexÚresolve_conjr=   Úget_summarized_datarw   rx   rœ   )rZ   rŽ   r�   Úreal_formatterÚimag_formatterÚ	formatters         r   Ú_tensor_strr²   L  sS  € Ø‡z�zƒ|�qÓØà‡~�~×Ñð �{‰{˜4Ó ˆà—
‘
“œz×3Ñ3Ñ3€Ià×Ñ×ÑØ�z‰z‹|ˆð ‡{�{‡}�}Ø×ÑÓ!ˆð ‡z�zÜ×ÑÜ×ÑÜ×ÑÜ×Ñð	ó ð �y‰y‹{ˆà‡z�z××à× Ñ Ó"ˆÜ#Þ.7Ô §	¡	Ô*¸T¿Y¹Yó
ˆô $Þ.7Ô §	¡	Ô*¸T¿Y¹Yó
ˆô *Ø˜)°^ó
ð 	
ô ¾IÔ2°4Ô8È4ÓPˆ	Ü)¨$¸	ÓMÐMr   c                 ón  • U /n[        U 5      U R                  S5      -
  S-   nU Hk  n[        U5      nU(       d  XW-   S-   [        R                  :”  a"  UR	                  SSU-  -   U-   5        X'-   nSnMP  UR	                  SU-   5        XWS-   -  nMm     UR	                  S5        S	R                  U5      $ )
Nrš   r@   r    r‡   rk   Fr…   Ú)Ú )rM   Úrfindr"   r   Úappendr�   )rž   ÚsuffixesrŽ   Úforce_newlineÚtensor_strsÚlast_line_lenÚsuffixÚ
suffix_lens           r   Ú_add_suffixesr¾   {  s¸   € Ø�,€KÜ˜
“O j×&6Ñ&6°tÓ&<Ñ<¸qÑ@€MÛˆÜ˜“[ˆ
Þ˜MÑ6¸Ñ:¼Z×=QÑ=QÓQØ×Ñ˜u s¨V¡|Ñ3°fÑ<Ô=Ø"Ñ/ˆMØ!ŠMà×Ñ˜t f™}Ô-Ø¨!™^Ñ+ŠMñ ð ×Ñ�sÔØ�7‰7�;ÓÐr   c                 ó„  • U R                  5       nUS:X  a  U $ US:X  ac  U R                  S5      S[        R                  -  :”  a;  [        R
                  " U S [        R                   U [        R                  * S  45      $ U $ [        R                  (       d#  U R                  S/U R                  5       -  5      $ U R                  S5      S[        R                  -  :”  až  [        [        R                  5       Vs/ s H  o U   PM	     nn[        [        U 5      [        R                  -
  [        U 5      5       Vs/ s H  o U   PM	     nn[        R                  " X4-    Vs/ s H  n[        U5      PM     sn5      $ [        R                  " U  Vs/ s H  n[        U5      PM     sn5      $ s  snf s  snf s  snf s  snf )Nr   r@   r    )r›   rŠ   r"   r   r2   ÚcatÚ	new_emptyrŒ   rM   Ústackr®   )rZ   r›   r“   ÚstartÚendÚxs         r   r®   r®   ‹  sg  € Ø
�(‰(‹*€CØ
ˆaƒxØˆØ
ˆaƒxØ�9‰9�Q‹<˜!œj×2Ñ2Ñ2Ó2Ü—9’9ØÐ,œ
×,Ñ,Ð-¨t´Z×5IÑ5IÐ4IÐ4KÐ/LÐMóð ð ˆKÜ××Ø�~‰~˜q˜c D§H¡H£JÑ.Ó/Ð/Ø	�‰�1‹˜œJ×0Ñ0Ñ0Ó	0Ü"'¬
×(<Ñ(<Ô"=Ó>Ò"=˜Q�a”Ñ"=ˆÐ>Ü %¤c¨$£i´*×2FÑ2FÑ&FÌÈDË	Ô RÓSÒ R˜1�AŒwÑ RˆÐSÜ�{Š{¸Uº[ÓJº[°qÔ/°Ö2¹[ÑJÓKÐKä�{Š{¹DÓAºD°qÔ/°Ö2¹DÑAÓBÐBùò	 ?ùÚSùÚJùâAs   Ã;F.Ä<F3Å"F8ÆF=©Útensor_contentsc          	      óþ  ^!^"• [         R                  R                  R                  U 5      (       a	  [	        XS9$ [        U 5      [         R                  L =(       d%    [        U 5      [         R                  R                  L nU R                  (       a  SnO"U(       a  SnO[        U 5      R                   S3n[        U5      m!/ nUS LnU(       a  Un[         R                  R                  R                  U 5      u  pxUR                  R
                  [         R                  R!                  5       :w  dj  UR                  R
                  S:X  a6  [         R"                  R%                  5       UR                  R&                  :w  d  UR                  R
                  S:X  a*  UR)                  S[+        UR                  5      -   S-   5        UR                  R
                  S	;   a  UR-                  S
5      n[         R.                  " 5       [         R0                  :X  a  [         R2                  O[         R4                  n	UR6                  [         R.                  " 5       U	[         R8                  [         R:                  4;   n
UR<                  (       Ga×  UR)                  S[+        [?        UR@                  5      5      -   5        SSK!J"n  URF                  =(       d    [I        X{5      nU(       d+  UR)                  S[+        URK                  5       5      -   5        U
(       d'  UR)                  S[+        UR6                  5      -   5        U(       Gd  SnURM                  5       RO                  5       nU(       a  SnO[Q        UT![        U5      -   5      nU(       d  URS                  5       S:X  a$  US[+        [?        UR@                  5      5      -   -  nSnURU                  5       RO                  5       nU(       a  SnO[Q        UT![        U5      -   5      nU(       d  URS                  5       S:X  a$  US[+        [?        UR@                  5      5      -   -  nUU-   S-   ST!-  -   U-   U-   S-   nG	OURV                  [         RX                  [         RZ                  [         R\                  [         R^                  1;   Ga·  SSK!J"n  UR)                  S[+        [?        UR@                  5      5      -   5        URF                  =(       d    [I        X{5      nU(       d+  UR)                  S[+        URK                  5       5      -   5        U
(       d'  UR)                  S[+        UR6                  5      -   5        U(       Gdù  [         RX                  [         R                  R`                  [         R                  Rb                  4[         RZ                  [         R                  Rd                  [         R                  Rf                  4[         R\                  [         R                  R`                  [         R                  Rb                  4[         R^                  [         R                  Rd                  [         R                  Rf                  40URV                     u  nnURV                  [         RX                  [         R\                  1;   a  Su  nnOSu  nnSUS S  S3nU" U5      RO                  5       nU(       a  SnO[Q        UT![        U5      -   5      nURS                  5       S:X  d  U(       a$  US[+        [?        UR@                  5      5      -   -  nUS S  S3nU" U5      RO                  5       nU(       a  SnO[Q        UT![        U5      -   5      nURS                  5       S:X  d  U(       a$  US[+        [?        UR@                  5      5      -   -  nSnURi                  5       RO                  5       nU(       a  SnO[Q        UT![        U5      -   5      nURS                  5       S:X  d  U(       a$  US[+        [?        UR@                  5      5      -   -  nUU-   S-   ST!-  -   U-   U-   S-   ST!-  -   U-   U-   S-   nGOURj                  (       Ga.  UR)                  S[+        [?        UR@                  5      5      -   5        U
(       d'  UR)                  S[+        UR6                  5      -   5        UR)                  S[+        URm                  5       5      -   5        URm                  5       [         Rn                  :X  d"  URm                  5       [         Rp                  :X  aW  UR)                  S[+        URs                  5       5      -   5        UR)                  S[+        URu                  5       5      -   5        OçURm                  5       [         Rv                  :X  dD  URm                  5       [         Rx                  :X  d"  URm                  5       [         Rz                  :X  a�  UR)                  S[+        UR}                  5       5      -   5        UR)                  S[+        UR                  5       5      -   5        UR)                  S[+        UR�                  5       5      -   5        U(       d  [Q        URƒ                  5       T!5      nGO×UR                  (       a`  U(       dW  S  m"S!R…                  U!U"4S" j[         R†                  Rˆ                  RŠ                  R�                  US5       5       5      nS#U S$3nGOf[         RŽ                  " U5      (       a#  S%n[‘        [         R’                  " U5      5      nGO(SSK!J"n  URF                  (       d  [I        X{5      (       a…  UR)                  S[+        [?        UR@                  5      5      -   5        UR6                  [         R.                  " 5       :w  a'  UR)                  S[+        UR6                  5      -   5        U(       d  SnGO|URS                  5       S:X  a©  UR<                  (       d˜  UR•                  5       S&:w  a0  UR)                  S[+        [?        UR@                  5      5      -   5        UR6                  [         R.                  " 5       :w  a'  UR)                  S[+        UR6                  5      -   5        U(       d  S'nO¿[–        R˜                  (       d0  UR)                  S[+        [?        UR@                  5      5      -   5        U
(       d'  UR)                  S[+        UR6                  5      -   5        U(       dE  URV                  [         Rš                  :w  a  [Q        UR�                  5       T!5      nO[Q        UT!5      nURV                  [         Rš                  :w  a'  UR)                  S([+        URV                  5      -   5        S n U Rž                  nUcA  Wb>  [        U5      R                  nUS*:X  a#  UR£                  5       R¥                  S+S&5      S,   nUb  UR)                  S-U S.35        O"U R¦                  (       a  UR)                  S/5        UR©                  5       (       a  UR)                  S0URª                   35        Ub  UR)                  S1U 35        [­        UW-   UT!UR<                  S29n [I        U[         R                  R                  5      (       a  U(       d  S3U  S3n U $ ! [          a    S)n GN)f = f)4NrÆ   znested_tensor(ztensor(Ú(ÚcudaÚmpszdevice='Ú')ÚxlaÚlazyÚipuÚmtiaÚcpuzsize=r   )Ú
FakeTensorznnz=zdtype=zindices=tensor(r„   z, size=zvalues=tensor(z),
rk   r´   )ÚrowÚcolumn)rÔ   rÓ   Úcr   z_indices=tensor(zquantization_scheme=zscale=zzero_point=zaxis=c                 óP   • SR                  S U R                  S5       5       5      $ )Nrš   c              3   ó,   #   • U  H
  nS U 3v •  M     g7f)z  Nr   )Ú.0r•   s     r   Ú	<genexpr>Ú4_str_intern.<locals>.indented_str.<locals>.<genexpr>V  s   é € Ð Gº° 2 d V¥ºùs   ‚)r�   Úsplit)ÚsrŽ   s     r   Úindented_strÚ!_str_intern.<locals>.indented_strU  s   € Ø—y‘yÑ G¸¿¹À¼Ó GÓGÐGr   r‡   c              3   óN   >#   • U  H  nT" [        U5      TS -   5      v •  M     g7f)r@   N)Ústr)rØ   r:   rŽ   rÝ   s     €€r   rÙ   Ú_str_intern.<locals>.<genexpr>X  s*   øé € ð â;�Añ œS ›V V¨a¡Z×0Ð0Ú;ùs   ƒ"%z[
z
]z_to_functional_tensor(r@   r    zlayout=ÚInvalidÚCppFunctionz::rA   z	grad_fn=<Ú>zrequires_grad=Trueznames=ztangent=)r¹   z
Parameter()Wr2   Ú_CÚ
_functorchÚis_functorch_wrapped_tensorÚ_functorch_wrapper_str_internÚtypeÚTensorÚnnÚ	ParameterÚ	is_nestedr   rM   ÚautogradÚ
forward_adÚunpack_dualr5   Ú_get_default_devicerÊ   Úcurrent_deviceÚindexr·   rà   r9   Úget_default_dtyper8   ÚcdoubleÚcfloatr/   Úint64r   Ú	is_sparseÚtupleÚshapeÚtorch._subclasses.fake_tensorrÒ   Úis_metaÚ
isinstanceÚ_nnzÚ_indicesÚdetachr²   rT   Ú_valuesÚlayoutÚ
sparse_csrÚ
sparse_cscÚ
sparse_bsrÚ
sparse_bscÚcrow_indicesÚcol_indicesÚccol_indicesÚrow_indicesÚvaluesÚis_quantizedÚqschemeÚper_tensor_affineÚper_tensor_symmetricÚq_scaleÚq_zero_pointÚper_channel_affineÚper_channel_symmetricÚ per_channel_affine_float_qparamsÚq_per_channel_scalesÚq_per_channel_zero_pointsÚq_per_channel_axisÚ
dequantizer�   ÚopsÚatenÚunbindr   Ú_is_functional_tensorÚreprÚ_from_functional_tensorr›   r"   r   ÚstridedÚto_denseÚgrad_fnÚRuntimeErrorÚnameÚrsplitÚrequires_gradr¡   Únamesr¾   )#ÚinprÇ   Úis_plain_tensorÚprefixr¸   Úcustom_contents_providedrž   rZ   ÚtangentÚ_default_complex_dtypeÚhas_default_dtyperÒ   rü   Úindices_prefixÚindicesÚindices_strÚvalues_prefixr  Ú
values_strÚcompressed_indices_methodÚplain_indices_methodÚcdimnameÚpdimnameÚcompressed_indices_prefixÚcompressed_indicesÚcompressed_indices_strÚplain_indices_prefixÚplain_indicesÚplain_indices_strÚstrsÚgrad_fn_namer!  Ústring_reprrŽ   rÝ   s#                                    @@r   Ú_str_internr@     sb  ù€ Ü‡x�x×Ñ×6Ñ6°s×;Ñ;Ü,¨SÑRÐRÜ˜3“i¤5§<¡<Ð/×R´4¸³9ÄÇÁ×@RÑ@RÐ3R€OØ
‡}‡}Ø!‰Þ	Ø‰ä˜“I×&Ñ&Ð' qÐ)ˆÜ�‹[€FØ€HØ.°dÐ:ÐÞØ$ˆ
ô
 —N‘N×-Ñ-×9Ñ9¸#Ó>�M€Dð 	�‰×ÑœEŸH™H×8Ñ8Ó:Ó:à�K‰K×Ñ Ó&Ü—
‘
×)Ñ)Ó+¨t¯{©{×/@Ñ/@Ó@à�K‰K×Ñ Ó%à�‰˜
¤S¨¯©Ó%5Ñ5¸Ñ;Ô<ð
 ‡{�{×ÑÐ9Ó9Ø�w‰w�u‹~ˆô ×0Ò0Ó2´e·l±lÓBŒ�ŠÌÏÉð ð Ÿ
™
Ü×ÒÓ!ØÜ�‰Ü�
‰
ð	'ñ Ðð ‡~‡~€~Ø�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Ý<à—,‘,×>¤*¨TÓ">ˆÞØ�O‰O˜F¤S¨¯©«Ó%5Ñ5Ô6Þ Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7ß'Ø.ˆNØ—m‘m“o×,Ñ,Ó.ˆGÞØ#‘ä)¨'°6¼CÀÓ<OÑ3OÓP�Þ˜'Ÿ-™-›/¨QÓ.Ø˜y¬3¬u°W·]±]Ó/CÓ+DÑDÑD�Ø,ˆMØ—\‘\“^×*Ñ*Ó,ˆFÞØ"‘
ä(¨°¼#¸mÓ:LÑ1LÓM�
Þ˜&Ÿ,™,›.¨AÓ-Ø˜i¬#¬e°F·L±LÓ.AÓ*BÑBÑB�
àØñàñð ˜‘,ñð  ñ	 ð
 ñð ñð ùð 
�‰Ü×ÑÜ×ÑÜ×ÑÜ×Ñð	ô 
õ 	=à�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Ø—,‘,×>¤*¨TÓ">ˆÞØ�O‰O˜F¤S¨¯©«Ó%5Ñ5Ô6Þ Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7ß'ä× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"Wð	?ð
 �k‰kñ?Ñ;Ð%Ð';ð �{‰{œu×/Ñ/´×1AÑ1AÐBÓBØ%4Ñ"�™(à%4Ñ"�˜(Ø*+¨H°R°a¨L¨>Ð9IÐ(JÐ%Ù!:¸4Ó!@×!GÑ!GÓ!IÐÞØ).Ñ&ä)4Ø&¨´Ð5NÓ1OÑ(Oó*Ð&ð "×'Ñ'Ó)¨QÓ.¶'Ø&¨)´cÜÐ,×2Ñ2Ó3ó7ñ +ñ Ð&ð '/¨r° l ^Ð3CÐ#DÐ Ù0°Ó6×=Ñ=Ó?ˆMÞØ$)Ñ!ä$/Ø! 6¬CÐ0DÓ,EÑ#Eó%Ð!ð ×"Ñ"Ó$¨Ó)®WØ! Y´´U¸=×;NÑ;NÓ5OÓ1PÑ%PÑPÐ!Ø,ˆMØ—[‘[“]×)Ñ)Ó+ˆFÞØ"‘
ä(¨°¼#¸mÓ:LÑ1LÓM�
Ø�|‰|‹~ Ó"¦gØ˜i¬#¬e°F·L±LÓ.AÓ*BÑBÑB�
à)Ø(ñ)àñð ˜‘,ñð 'ñ	'ð
 $ñ$ð ñð ˜‘,ñð  ñ ð ñ	ð ñ
ð ùð 
×	×	Ð	Ø�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Þ Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7Ø�‰Ð.´°T·\±\³^Ó1DÑDÔEà�L‰L‹Nœe×5Ñ5Ó5Ø�|‰|‹~¤×!;Ñ!;Ó;à�O‰O˜H¤s¨4¯<©<«>Ó':Ñ:Ô;Ø�O‰O˜M¬C°×0AÑ0AÓ0CÓ,DÑDÕEà�L‰L‹Nœe×6Ñ6Ó6Ø�|‰|‹~¤×!<Ñ!<Ó<Ø�|‰|‹~¤×!GÑ!GÓGà�O‰O˜H¤s¨4×+DÑ+DÓ+FÓ'GÑGÔHØ�O‰O˜M¬C°×0NÑ0NÓ0PÓ,QÑQÔRØ�O‰O˜G¤c¨$×*AÑ*AÓ*CÓ&DÑDÔEÞ'Ü$ T§_¡_Ó%6¸Ó?ˆJùØ	��Þ'òHð —:‘:õ äŸ™Ÿ™×.Ñ.×2Ñ2°4¸Ô;óó ˆDð ˜t˜f C˜ˆJùÜ	×	$Ò	$ T×	*Ñ	*Ø)ˆÜœ%×7Ò7¸Ó=Ó>Š
õ 	=à�<�<œ: d×7Ñ7Ø�O‰O˜G¤c¬%°·
±
Ó*;Ó&<Ñ<Ô=Ø�z‰zœU×4Ò4Ó6Ó6Ø—‘ ¬3¨t¯z©z«?Ñ :Ô;ö ,Ø"�
ùà�z‰z‹|˜qÓ ¨¯¯à—8‘8“: “?Ø—O‘O G¬c´%¸¿
¹
Ó2CÓ.DÑ$DÔEð —:‘:¤×!8Ò!8Ó!:Ó:Ø—O‘O H¬s°4·:±:«Ñ$>Ô?Þ/Ø!%�Jøä!×+×+Ø—O‘O G¬c´%¸¿
¹
Ó2CÓ.DÑ$DÔEæ(Ø—O‘O H¬s°4·:±:«Ñ$>Ô?æ/Ø—{‘{¤e§m¡mÓ3Ü%0°·±³À&Ó%I™
ä%0°°vÓ%>˜
à‡{�{”e—m‘mÓ#Ø�‰˜	¤C¨¯©Ó$4Ñ4Ô5ð €Lð!Ø—+‘+ˆð Ñ Ñ 3ä˜G“}×-Ñ-ˆØ˜=Ó(à"Ÿ<™<›>×0Ñ0°°qÓ9¸"Ñ=ˆLàÑØ�‰˜) L >°Ð3Õ4Ø	×	×	Ø�‰Ð,Ô-à‡~�~×ÑØ�‰˜& §¡ Ð-Ô.àÑØ�‰˜( 7 )Ð,Ô-äØ�ÑØØØ—n‘nñ	€Kô �$œŸ™×*Ñ*×+Ñ+¶OØ" ; -¨qÐ1ˆàÐøôM ó !ð !‹ð	!ús   ÷{, û,{<û;{<c                ón  • [         R                  R                  R                  U 5      nUS:X  a  [	        S5      e[         R                  R                  R                  U 5      (       a  [         R                  " U 5        [         R                  R                  R                  U 5      n[        U5      n[        R                  " US5      n[         R                  R                  R                  U 5      (       aF  [         R                  R                  R                  U 5      nUS:X  a  [	        S5      eSU SU SU S3$ [         R                  R                  R                  U 5      (       a	  S	U SU S3$ [         R                  R                  R                  U 5      (       a	  S
U SU S3$ [        S5      e)NrA   z+expected functorch level to be >= 0, got -1z    z+expected batch dimension to be >= 0, got -1zBatchedTensor(lvl=z, bdim=z	, value=
z
)zGradTrackingTensor(lvl=zFunctionalTensor(lvl=z
, value=\
r´   z8We don't know how to print this, please file us an issue)r2   rå   ræ   Úmaybe_get_levelÚAssertionErrorÚis_functionaltensorÚ_syncÚget_unwrappedr  ÚtextwraprŽ   Úis_batchedtensorÚmaybe_get_bdimÚis_gradtrackingtensorÚ
ValueError)r[   rÇ   Úlevelr]   Ú
value_reprÚindented_value_reprÚbdims          r   rè   rè   ¶  sd  € Ü�H‰H×Ñ×/Ñ/°Ó7€EØ�ƒ{ÜÐJÓKÐKä‡x�x×Ñ×.Ñ.¨v×6Ñ6ô 	�Š�FÔä�H‰H×Ñ×-Ñ-¨fÓ5€EÜ�e“€Jä"Ÿ/š/¨*°gÓ>ÐÜ‡x�x×Ñ×+Ñ+¨F×3Ñ3Ü�x‰x×"Ñ"×1Ñ1°&Ó9ˆØ�2‹:Ü Ð!NÓOÐOà    w¨t¨f°JÐ?RÐ>SÐSVÐWð	
ô ‡x�x×Ñ×0Ñ0°×8Ñ8Ø(¨¨¨zÐ:MÐ9NÈcÐRÐRÜ‡x�x×Ñ×.Ñ.¨v×6Ñ6Ø& u g¨\¸*¸ÀQÐGÐGä
ÐOÓ
PÐPr   c                óH  • [         R                  " 5          [         R                  R                  R	                  5          [         R
                  R                  5       n[        XS9sS S S 5        sS S S 5        $ ! , (       d  f       O= fS S S 5        g ! , (       d  f       g = f)NrÆ   )r2   rJ   ÚutilsÚ_python_dispatchÚ_disable_current_modesrå   Ú_DisableFuncTorchr@  )rZ   rÇ   Úguards      r   Ú_strrV  Ó  sU   € Ü	�Š�œ%Ÿ+™+×6Ñ6×MÑMÕOÜ—‘×*Ñ*Ó,ˆÜ˜4ÑA÷ PÐO�‰×OÕOú��Žús"   –)B¿'A9Á&	BÁ9
B	ÂBÂ
B!)NNNNNNrf   )Ú
contextlibr'   rl   rG  Útypingr   r2   r   Ú	dataclassr   r"   r$   Údictrà   r)   Úcontextmanagerr-   r;   r=   rv   r—   rœ   r²   r¾   r®   r@  rè   rV  r   r   r   Ú<module>r\     så   ðã Û Û Û Ý ã Ý ð ×Ñ÷!ð !ó ð!ñ Ó€
ð
 ØØØØØôF#ðR*˜$˜s C˜x™.ô *ð ×Ññ'ó ð'ò
÷`7ñ `7ôF
.ô/Eôj""òJ,Nò^ ò Cð* )-õ Sðl >Bõ Qð: #'ö Br   