Ë
    L²jc  ã                  ó^  — d Z ddlmZ ddlZddlZddl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 erddlmZ ddlmZ ddlmZmZ 	 d#	 	 	 	 	 	 	 d$d	„Zd%d&d
„Z	 	 d'	 	 	 	 	 	 	 d(d„Z	 	 	 d)ddœ	 	 	 	 	 	 	 	 	 	 	 d*d„Z	 d+	 	 	 	 	 	 	 d,d„Z	 d+	 	 	 	 	 	 	 d,d„Zddœd-d„Zdddœ	 	 	 	 	 	 	 	 	 	 	 d.d„Z 	 d/ddddœ	 	 	 	 	 	 	 	 	 	 	 d0d„Z!	 	 d+ddœ	 	 	 	 	 	 	 	 	 d1d„Z"d/d2d„Z#ddœ	 	 	 	 	 d3d„Z$d4d5d„Z	 d4	 	 	 	 	 d5d„Z%d6d„Z& eee
j8                  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jL                  d"«       y)7a$  
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.
é    )ÚannotationsN)ÚAnyÚTYPE_CHECKING)ÚCallable)Ú	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       úZ/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_functorch/deprecated.pyÚget_warningr      sR   € ð €Ø ˜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(   4   st   € ð
 ×%Ñ%€HØÐÜ ¤¨Ó1ˆà×ÑÐ%Øä˜( LÓ1€GØ'¬(¯/©/¸'À6Ó*JÑJ€LÜ—?‘? <°Ó8€LØ*×2Ñ2°\ÑA€MÕr   Úerror©Ú
chunk_sizec               óN   — t        dd«       t        j                  | ||||¬«      S )NÚvmapú
torch.vmapr*   )r   Úapisr-   )ÚfuncÚin_dimsÚout_dimsÚ
randomnessr+   s        r   r-   r-   F   s%   € ô �F˜LÔ)Ü�9‰9�T˜7 H¨jÀZÔPÐPr   c                óF   — t        d«       t        j                  | ||«      S )NÚgrad)r   r/   r5   ©r0   ÚargnumsÚhas_auxs      r   r5   r5   R   s   € ô �FÔÜ�9‰9�T˜7 GÓ,Ð,r   c                óF   — t        d«       t        j                  | ||«      S )NÚgrad_and_value)r   r/   r:   r6   s      r   r:   r:   Y   s"   € ô Ð$Ô%Ü×Ñ˜t W¨gÓ6Ð6r   )r8   c               óJ   — t        d«       t        j                  | g|¢­d|iŽS )NÚvjpr8   )r   r   r<   )r0   r8   Úprimalss      r   r<   r<   `   s#   € Ü�EÔÜ�9‰9�TÐ5˜GÒ5¨WÑ5Ð5r   ©Ústrictr8   c               óL   — t        d«       t        j                  | ||||¬«      S )NÚjvpr>   )r   r   rA   )r0   r=   Útangentsr?   r8   s        r   rA   rA   e   s#   € ô �EÔÜ�9‰9�T˜7 H°VÀWÔMÐMr   ©r8   r+   Ú_preallocate_and_copyc               óL   — t        d«       t        j                  | ||||¬«      S )NÚjacrevrC   )r   r   rF   )r0   r7   r8   r+   rD   s        r   rF   rF   q   s,   € ô �HÔÜ�<‰<ØØØØØ3ôð r   ©r3   c               óJ   — t        d«       t        j                  | |||¬«      S )NÚjacfwdrG   )r   r   rI   )r0   r7   r8   r3   s       r   rI   rI   ƒ   s!   € ô �HÔÜ�<‰<˜˜g w¸:ÔFÐFr   c                óF   — t        d«       t        j                  | |¬«      S )NÚhessian)r7   )r   r   rK   )r0   r7   s     r   rK   rK   Ž   s   € Ü�IÔÜ�=‰=˜ wÔ/Ð/r   Ú	mutations©Úremovec               óF   — t        d«       t        j                  | |¬«      S )NÚfunctionalizerM   )r   r   rP   )r0   rN   s     r   rP   rP   “   s   € ô �OÔ$Ü×Ñ˜t¨FÔ3Ð3r   c                óF   — t        dd«       t        j                  | |«      S )NÚmake_functionalútorch.func.functional_call)r   Ú_nn_implrR   ©ÚmodelÚdisable_autograd_trackings     r   rR   rR   š   s"   € ÜÐ%Ð'CÔDÜ×#Ñ# EÐ+DÓEÐEr   c                óF   — t        dd«       t        j                  | |«      S )NÚmake_functional_with_buffersrS   )r   rT   rY   rU   s     r   rY   rY   Ÿ   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   rT   r[   )Úmodelss    r   r[   r[   ¦   s   € ÜÐ0Ð2QÔRÜ×.Ñ.¨vÓ6Ð6r   r.   rS   r\   )NF)r   Ústrr   ú
str | Noner   ÚboolÚreturnr^   )N)r   r^   r   r_   ra   ÚNone)NN)r#   úCallable[..., Any]r$   zCallable[..., Any] | Noner%   r_   ra   rb   )r   r   r)   )r0   rc   r1   r   r2   r	   r3   r^   r+   ú
int | Nonera   rc   )r   F)r0   rc   r7   r   r8   r`   ra   rc   )r0   rc   r=   r   r8   r`   ra   r   )r0   rc   r=   r   rB   r   r?   r`   r8   r`   ra   r   )r   )r0   rc   r7   zint | tuple[int, ...]r8   r`   r+   rd   rD   r`   ra   rc   )
r0   rc   r7   r   r8   r`   r3   r^   ra   rc   )r0   rc   r7   Úintra   rc   )r0   rc   rN   r^   ra   rc   )F)rV   z	nn.ModulerW   r`   ra   r   )r]   zlist[nn.Module]ra   r   )'r    Ú
__future__r   r!   r   Útypingr   r   Útorch._functorch.apisÚ
_functorchr/   Ú!torch._functorch.eager_transformsÚeager_transformsr   Ú torch._functorch.make_functionalrR   rT   Útorch.nnÚnnÚcollections.abcr   r   Útorch._functorch.vmapr   r	   r   r   r(   r-   r5   r:   r<   rA   rF   rI   rK   rP   rY   r[   © r   r   ú<module>rr      sB  ðñõ #ã Û ß %ç $Ð $ß 1Ð 1ß 3Ð 3Ý ñ Ý(å;ß;ð DIðØ	ðØ!ðØ<@ðàóô$8ð 15Ø#ðBØ%ðBà-ðBð ðBð 
ó	Bð( ØØð		Qð "ñ	QØ
ð	Qàð	Qð ð	Qð ð		Qð ð	Qð ó	Qð GLð-Ø
ð-Ø'0ð-Ø?Cð-àó-ð GLð7Ø
ð7Ø'0ð7Ø?Cð7àó7ð BGõ 6ð Øñ	NØ
ð	Nàð	Nð ð	Nð
 ð	Nð ð	Nð 	ó	Nð &'ðð Ø!Ø"'ñØ
ðà"ðð ð	ð
 ðð  ðð óð( ØðGð
 ñGØ
ðGàðGð ðGð
 ðGð óGô0ð 0;ñ4Ø
ð4Ø),ð4àó4ôFð 9>ðSØðSØ15ðSàóSó7ñ
 ˆ4�—‘˜LÔ )Ù 
ˆ4�—‘Ô Ù 
ˆ>˜4×.Ñ.Ô /Ù 
ˆ3„Ù 
ˆ3„Ù 
ˆ6Ô Ù 
ˆ6Ô Ù 
ˆ7Ô Ù 
ˆ=Ô Ù 
ˆ?˜H×4Ñ4Ð6RÔ SÙ 
Ø  (×":Ñ":Ð<Xôñ ØØ×'Ñ'Ø#õr   