Ë
    g^(hS  ã                   ó^  — d Z ddlZddlZddlmZmZmZmZ ddlm	c m
Z
 ddlm	c mZ ddlm	c mZ ddlmZ ddlmZ ddlmZmZ d/d„Zd0d„Zd1d	„Z	 	 	 d2ddœdededededef
d„Zd3dedededefd„Z	 d3dedededefd„Zddœdedefd„Zdddœdededededef
d„Z 	 d4ddddœdedee!e"e!   f   dee!   fd„Z#	 	 d3d
d œdedededefd!„Z$d4d"„Z%d#d$œded%edefd&„Z&d5d'ejN                  d(efd)„Z	 d5d'ejN                  d(efd*„Z(d+„ Z) eee
j6                  d,«        eee
j:                  «        eee
j<                  «        ee«        ee «        ee#«        ee$«        ee%«        ee&«        eeej                  d-«        ee(ej                  d-«        ee)ejR                  d.«       y)6a$  
The APIs in this file are exposed as `functorch.*`. They are thin wrappers
around the torch.func.* APIs that have deprecation warnings -- we're trying
to move people to the torch.func.* equivalents.

NB: We don't use *args, **kwargs in the signatures because that changes the
documentation.
é    N)ÚAnyÚCallableÚOptionalÚUnion)Ú	argnums_t)Ú	in_dims_tÚ
out_dims_tFc                 óN   — |€d| › �}d| › d|› d�}|r|j                  dd«      }|S )Nztorch.func.z[We've integrated functorch into PyTorch. As the final step of the 
integration, `functorch.zk` is deprecated as of PyTorch 
2.0 and will be deleted in a future version of PyTorch >= 2.3. 
Please use `z™` instead; see the PyTorch 2.0 release notes 
and/or the `torch.func` migration guide for more details 
https://pytorch.org/docs/main/func.migrating.htmlú
Ú )Úreplace)ÚapiÚnew_apiÚreplace_newlinesÚwarnings       úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_functorch/deprecated.pyÚget_warningr      sP   € Ø€Ø ˜uÐ%ˆð#Ø#& %ð (à�ið  <ð	=ð ñ Ø—/‘/ $¨Ó+ˆØ€Nó    c                 óX   — t        | |d¬«      }t        j                  |t        d¬«       y )NT)r   é   )Ú
stacklevel)r   ÚwarningsÚwarnÚFutureWarning)r   r   r   s      r   Úwarn_deprecatedr   '   s    € Ü˜#˜w¸Ô>€GÜ‡M�M�'œ=°QÖ7r   c                 óø   — | j                   }|€t        t        |«      }|j                  €y t	        ||«      }dt        j                  |d«      z   }t        j                  |d«      }|j                  |z   | _        y )Nz
.. warning::

z    )Ú__name__ÚgetattrÚ_implÚ__doc__r   ÚtextwrapÚindent)Úfunctorch_apiÚtorch_func_apiÚnew_api_nameÚapi_namer   Úwarning_notes         r   Ú
setup_docsr(   ,   sr   € Ø×%Ñ%€HØÐÜ ¤¨Ó1ˆà×ÑÐ%Øä˜( LÓ1€GØ'¬(¯/©/¸'À6Ó*JÑJ€LÜ—?‘? <°Ó8€LØ*×2Ñ2°\ÑA€MÕr   Úerror©Ú
chunk_sizeÚfuncÚin_dimsÚout_dimsÚ
randomnessÚreturnc                óN   — t        dd«       t        j                  | ||||¬«      S )NÚvmapú
torch.vmapr*   )r   Úapisr2   )r,   r-   r.   r/   r+   s        r   r2   r2   :   s%   € ô �F˜LÔ)Ü�9‰9�T˜7 H¨jÀZÔPÐPr   ÚargnumsÚhas_auxc                 óF   — t        d«       t        j                  | ||«      S )NÚgrad)r   r4   r8   ©r,   r5   r6   s      r   r8   r8   F   s   € Ü�FÔÜ�9‰9�T˜7 GÓ,Ð,r   c                 óF   — t        d«       t        j                  | ||«      S )NÚgrad_and_value)r   r4   r;   r9   s      r   r;   r;   K   s"   € ô Ð$Ô%Ü×Ñ˜t W¨gÓ6Ð6r   )r6   c                óJ   — t        d«       t        j                  | g|¢­d|iŽS )NÚvjpr6   )r   r   r=   )r,   r6   Úprimalss      r   r=   r=   R   s#   € Ü�EÔÜ�9‰9�TÐ5˜GÒ5¨WÑ5Ð5r   ©Ústrictr6   r>   Útangentsr@   c                óL   — t        d«       t        j                  | ||||¬«      S )NÚjvpr?   )r   r   rC   )r,   r>   rA   r@   r6   s        r   rC   rC   W   s#   € ô �EÔÜ�9‰9�T˜7 H°VÀWÔMÐMr   ©r6   r+   Ú_preallocate_and_copyr+   c                óL   — t        d«       t        j                  | ||||¬«      S )NÚjacrevrD   )r   r   rG   )r,   r5   r6   r+   rE   s        r   rG   rG   c   s,   € ô �HÔÜ�<‰<ØØØØØ3ôð r   ©r/   c                óJ   — t        d«       t        j                  | |||¬«      S )NÚjacfwdrH   )r   r   rJ   )r,   r5   r6   r/   s       r   rJ   rJ   u   s!   € ô �HÔÜ�<‰<˜˜g w¸:ÔFÐFr   c                 óF   — t        d«       t        j                  | |¬«      S )NÚhessian)r5   )r   r   rL   )r,   r5   s     r   rL   rL   €   s   € Ü�IÔÜ�=‰=˜ wÔ/Ð/r   Ú	mutations©ÚremoverO   c                óF   — t        d«       t        j                  | |¬«      S )NÚfunctionalizerN   )r   r   rQ   )r,   rO   s     r   rQ   rQ   …   s   € Ü�OÔ$Ü×Ñ˜t¨FÔ3Ð3r   ÚmodelÚdisable_autograd_trackingc                 óF   — t        dd«       t        j                  | |«      S )NÚmake_functionalútorch.func.functional_call)r   Ú_nn_implrU   ©rR   rS   s     r   rU   rU   Š   s"   € ÜÐ%Ð'CÔDÜ×#Ñ# EÐ+DÓEÐEr   c                 óF   — t        dd«       t        j                  | |«      S )NÚmake_functional_with_buffersrV   )r   rW   rZ   rX   s     r   rZ   rZ   �   s$   € ô Ð2Ð4PÔQÜ×0Ñ0°Ð8QÓRÐRr   c                 óD   — t        dd«       t        j                  | «      S )NÚcombine_state_for_ensembleútorch.func.stack_module_state)r   rW   r\   )Úmodelss    r   r\   r\   –   s   € ÜÐ0Ð2QÔRÜ×.Ñ.¨vÓ6Ð6r   r3   rV   r]   )NF)N)NN)r   r   r)   )r   F)r   )F)*r    r!   r   Útypingr   r   r   r   Útorch._functorch.apisÚ
_functorchr4   Ú!torch._functorch.eager_transformsÚeager_transformsr   Ú torch._functorch.make_functionalrU   rW   Útorch.nnÚnnr   Útorch._functorch.vmapr   r	   r   r   r(   Ústrr2   Úboolr8   r;   r=   rC   ÚintÚtuplerG   rJ   rL   rQ   ÚModulerZ   r\   © r   r   ú<module>rn      sÁ  ðñó Û ß 1Ó 1ç $Ð $ß 1Ð 1ß 3Ð 3Ý Ý 7ß 7óó 8ó
Bð  ØØð		Qð ò	QØ
ð	Qàð	Qð ð	Qð ð		Qð ó	Qñ-ˆxð - )ð -¸$ð -È8ó -ð =Bñ7Ø
ð7Ø&ð7Ø59ð7àó7ð 38ò 6ˆhð 6¨4ó 6ð Øò	NØ
ð	Nàð	Nð ð	Nð
 ð	Nð ó	Nð '(ðð Ø $ØòØ
ðà�3˜˜c™
�?Ñ#ðð
 ˜‘óð( ØðGð
 òGØ
ðGàðGð ðGð
 óGó0ð
 4?ò 4˜ð 4¨Sð 4À8ó 4ñ
F˜2Ÿ9™9ð FÀó Fð 9>ñSØ�9‰9ðSØ15óSò7ñ
 ˆ4�—‘˜LÔ )Ù 
ˆ4�—‘Ô Ù 
ˆ>˜4×.Ñ.Ô /Ù 
ˆ3„Ù 
ˆ3„Ù 
ˆ6Ô Ù 
ˆ6Ô Ù 
ˆ7Ô Ù 
ˆ=Ô Ù 
ˆ?˜H×4Ñ4Ð6RÔ SÙ 
Ø  (×":Ñ":Ð<Xôñ ØØ×'Ñ'Ø#õr   