§
    dŠtj}  ã                   óV  — d dl Z d dlZd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZmZ d dlmZ ddlmZmZ d„ Zej        j         d„ ¦   «         Zej        j         d	„ ¦   «         Zeej        j         d
„ ¦   «         ¦   «         Zej        j         d„ ¦   «         Zej        j         d„ ¦   «         ZdS )é    N)ÚAsyncMemorizedFuncÚAsyncNotMemorizedFuncÚMemorizedResultÚMemoryÚNotMemorizedResult)ÚnpÚ
with_numpy)Úraisesé   )Úcorrupt_single_cache_itemÚmonkeypatch_cached_func_warnc              ƒ   ó   K  — t          |d¬¦  «        }|                     | ¦  «        } t          d¦  «        D ]E}t          d¦  «        D ]3} | |¦  «        ƒ d{V —†}||k    sJ ‚t          |¦  «        |dz   k    sJ ‚Œ4ŒFdS )z<Similar to check_identity_lazy_async for coroutine functionsr   ©ÚlocationÚverboseé   é   Nr   )r   ÚcacheÚrangeÚlen)ÚfuncÚaccumulatorr   ÚmemoryÚiÚ_Úvalues          ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/joblib/test/test_memory_async.pyÚcheck_identity_lazy_asyncr      s¨   è è € å˜X¨qÐ1Ñ1Ô1€FØ�<Š<˜ÑÔ€DÝ�1‰XŒXð -ð -ˆÝ�q‘”ð 	-ð 	-ˆAØ˜$˜q™'œ'�M�M�M�M�M�MˆEØ˜A’:�:�:�:Ý�{Ñ#Ô# q¨1¡uÒ,Ð,Ð,Ð,Ð,ð	-ð-ð -ó    c              ƒ   óÆ  ‡	K  — t          ¦   «         Š	ˆ	fd„}t          |‰	| j        ¦  «        ƒ d {V —† dD ]ê}dD ]‘}t          | j        d||¬¦  «        }t	          j        | j        d¬¦  «         |                     |¦  «        } |d¦  «        ƒ d {V —† |                     d	¬
¦  «         t          ‰	¦  «        } |d¦  «        ƒ d {V —†}Œ’t          ‰	¦  «        |dz   k    sJ ‚| 	                    |d¦  «        ƒ d {V —†}||k    sJ ‚t          ‰	¦  «        |dz   k    sJ ‚Œëd|_
        t          | j        d¬¦  «        } |                     |¦  «        d¦  «        ƒ d {V —† d S )Nc              “   ój   •K  — t          j        d¦  «        ƒ d {V —† ‰                     d¦  «         | S ©Nçš™™™™™¹?r   ©ÚasyncioÚsleepÚappend)Únr   s    €r   Úfz(test_memory_integration_async.<locals>.f#   óB   øè è € ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð Ø×Ò˜1ÑÔÐØˆr   )FT)ÚrNé
   )r   r   Ú	mmap_modeÚcompressT)Úignore_errorsr   F)ÚwarnÚ__main__r   r   )Úlistr   Ústrpathr   ÚshutilÚrmtreer   Úclearr   ÚevalÚ
__module__)
Útmpdirr)   r.   r-   r   ÚgÚcurrent_accumulatorÚoutÚevaledr   s
            @r   Útest_memory_integration_asyncr>      sÓ  øè è € å‘&”&€Kðð ð ð ð õ
 $ A {°F´NÑ
CÔ
CÐCÐCÐCÐCÐCÐCÐCð "ð ;ð ;ˆØ$ð 	ð 	ˆIÝØœØØ#Ø!ð	ñ ô ˆFõ ŒM˜&œ.¸Ð=Ñ=Ô=Ð=Ø—’˜Q‘”ˆAØ�!�A‘$”$ˆJˆJˆJˆJˆJˆJˆJØ�GŠG˜ˆGÑÔÐÝ"% kÑ"2Ô"2ÐØ˜˜!™œ�*�*�*�*�*�*ˆCˆCå�;ÑÔÐ#6¸Ñ#:Ò:Ð:Ð:Ð:à—{’{ 1 aÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(ˆØ˜Š}ˆ}ˆ}ˆ}Ý�;ÑÔÐ#6¸Ñ#:Ò:Ð:Ð:Ð:Ð:ð €A„LÝ˜Vœ^°QÐ7Ñ7Ô7€FØ
ˆ&�,Š,�q‰/Œ/˜!Ñ
Ô
ÐÐÐÐÐÐÐÐÐr   c               ƒ   ó  ‡K  — t          ¦   «         Šˆfd„} t          d d¬¦  «        }|                     | ¦  «        }t          d¦  «        D ]:}t	          ‰¦  «        } |d¦  «        ƒ d {V —† t	          ‰¦  «        |dz   k    sJ ‚Œ;d S )Nc              “   ój   •K  — t          j        d¦  «        ƒ d {V —† ‰                     d¦  «         | S r"   r$   )Úxr   s    €r   Úffz test_no_memory_async.<locals>.ffP   r*   r   r   r   é   r   )r2   r   r   r   r   )rB   r   Úggr   r;   r   s        @r   Útest_no_memory_asyncrE   L   s¶   øè è € å‘&”&€Kðð ð ð ð õ
 ˜T¨1Ð-Ñ-Ô-€FØ	�Š�bÑ	Ô	€BÝ�1‰XŒXð ;ð ;ˆÝ! +Ñ.Ô.ÐØˆb�‰eŒeˆˆˆˆˆˆˆÝ�;ÑÔÐ#6¸Ñ#:Ò:Ð:Ð:Ð:Ð:ð;ð ;r   c              ƒ   ó¤  K  — t          | j        dd¬¦  «        }|                     ¦   «         d„ ¦   «         }t          j        d¦  «        } ||¦  «        ƒ d{V —†} ||¦  «        ƒ d{V —†}t          |t          j        ¦  «        sJ ‚|j        dk    sJ ‚t          |t          j        ¦  «        sJ ‚|j        dk    sJ ‚~~t          j	        ¦   «          t          |¦  «         t          ||¦  «        } ||¦  «        ƒ d{V —†}t          |¦  «        dk    sJ ‚d}	|	|d         v sJ ‚t          |t          j        ¦  «        sJ ‚|j        dk    sJ ‚dS )	z8Check that mmap_mode is respected even at the first callr+   r   )r   r-   r   c              “   ó   K  — | dz  S )Nr   © )Úas    r   Útwicez6test_memory_numpy_check_mmap_mode_async.<locals>.twiced   s   è è € à�1‰uˆr   r   Nr   zException while loading results)r   r3   r   r   ÚonesÚ
isinstanceÚmemmapÚmodeÚgcÚcollectr   r   r   )
r9   Úmonkeypatchr   rJ   rI   ÚbÚcÚrecorded_warningsÚdÚexception_msgs
             r   Ú'test_memory_numpy_check_mmap_mode_asyncrW   ]   s{  è è € õ
 ˜Vœ^°sÀAÐFÑFÔF€Fà‡\‚\�^„^ðð ñ „^ðõ 	Œ�‰
Œ
€AØˆe�A‰hŒhˆˆˆˆˆˆ€AØˆe�A‰hŒhˆˆˆˆˆˆ€Aå�a�œÑ#Ô#Ð#Ð#Ð#ØŒ6�SŠ=ˆ=ˆ=ˆ=å�a�œÑ#Ô#Ð#Ð#Ð#ØŒ6�SŠ=ˆ=ˆ=ˆ=ð 	
Ø	Ý„J�L„L€LÝ˜fÑ%Ô%Ð%õ 5°U¸KÑHÔHÐØˆe�A‰hŒhˆˆˆˆˆˆ€AÝÐ Ñ!Ô! QÒ&Ð&Ð&Ð&Ø5€MØÐ-¨aÔ0Ð0Ð0Ð0Ð0å�a�œÑ#Ô#Ð#Ð#Ð#ØŒ6�SŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r   c              ƒ   óÈ  K  — dd„}t          t          || j        ¦  «        t          |¦  «        t	          | j        d¬¦  «                             |¦  «        t	          d ¬¦  «                             |¦  «        ft          t          t          t          f¦  «        D ]Æ\  }}t          d¦  «        D ]I}| 	                    d¦  «        ƒ d {V —†}t          ||¦  «        sJ ‚|                     ¦   «         dk    sJ ‚ŒJ|                     ¦   «          t          t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «          ŒÇd S )	Nr   c              “   óJ   K  — t          j        d¦  «        ƒ d {V —† | dz  |z   S )Nr#   r   )r%   r&   )rA   Úys     r   r)   z%test_call_and_shelve_async.<locals>.f‡   s5   è è € ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð Ø�!‰t�a‰xˆr   r   r   )r   r   é   )r   )Úzipr   r3   r   r   r   r   r   r   Úcall_and_shelverL   Úgetr6   r
   ÚKeyError)r9   r)   r   ÚResultr   Úresults         r   Útest_call_and_shelve_asyncrb   …   s«  è è € ðð ð ð õ
 å˜q &¤.Ñ1Ô1Ý! !Ñ$Ô$Ý˜FœN°AÐ6Ñ6Ô6×<Ò<¸QÑ?Ô?Ý˜DÐ!Ñ!Ô!×'Ò'¨Ñ*Ô*ð		
õ ÝÝÝð		
ñô ð ð ‰ˆˆfõ �q‘”ð 	%ð 	%ˆAØ×/Ò/°Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2ˆFÝ˜f fÑ-Ô-Ð-Ð-Ð-Ø—:’:‘<”< 1Ò$Ð$Ð$Ð$Ð$à�Š‰ŒˆÝ•HÑÔð 	ð 	Ø�JŠJ‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š‰Œˆˆð-ð s   Ä!EÅE	Å	E	c              ƒ   ó@  K  — d„ }|                       |dg¬¦  «        }i } |d|¦  «        ƒ d {V —†dk    sJ ‚ |d|¦  «        ƒ d {V —†dk    sJ ‚|                     d|¦  «        ƒ d {V —†\  }}|dk    s
J d¦   «         ‚t          |t          ¦  «        s
J d¦   «         ‚d S )Nc              “   ó‚   K  — t          j        d¦  «        ƒ d {V —† |                     | d¦  «        dz   || <   ||          S )Nr#   r   r   )r%   r&   r^   )rA   Úcounters     r   rB   z*test_memorized_func_call_async.<locals>.ff§   sN   è è € ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð Ø—[’[  AÑ&Ô&¨Ñ*ˆ�‰
Ø�qŒzÐr   re   )Úignorer   r   zf has not been called properlyz0Metadata are not returned by MemorizedFunc.call.)r   ÚcallrL   Údict)r   rB   rD   re   rA   Úmetas         r   Útest_memorized_func_call_asyncrj   ¥   sï   è è € ðð ð ð
 
�Š�b ) ˆÑ	-Ô	-€Bà€GØ��A�w‘”ÐÐÐÐÐÐ 1Ò$Ð$Ð$Ð$Ø��A�w‘”ÐÐÐÐÐÐ 1Ò$Ð$Ð$Ð$à—G’G˜A˜wÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'�G€A€tØ�Š6ˆ6ˆ6Ð3‰6Œ6ˆ6Ý�d�DÑ!Ô!ÐUÐUÐ#UÑUÔUÐ!ÐUÐUr   )r%   rO   r4   ÚpytestÚjoblib.memoryr   r   r   r   r   Újoblib.test.commonr   r	   Újoblib.testingr
   Útest_memoryr   r   r   Úmarkr>   rE   rW   rb   rj   rH   r   r   ú<module>rq      s‚  ðØ €€€Ø 	€	€	€	Ø €€€à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø !Ð !Ð !Ð !Ð !Ð !à PÐ PÐ PÐ PÐ PÐ PÐ PÐ Pð-ð -ð -ð „Ôð)ð )ñ Ôð)ðX „Ôð;ð ;ñ Ôð;ð  Ø„Ôð#ð #ñ Ôñ „ð#ðL „Ôðð ñ Ôðð> „ÔðVð Vñ ÔðVð Vð Vr   