+
    €",ib$  ã                   ó:  € R t ^ RIt^ RIHtHtHtHtHt ^ RIH	t	 ^ RI
Ht ^ RIHtHtHt R@R ltR tR@R ltRAR	 ltR
 tR tR tR^/R lt]! RR7      R 4       t ! R R]4      t]! R]. RA.R^R^ /3]R.RA.R^ /3]R.R@.R^ /3]R.R@R^/.R^ /3]RR.R@./ 3]. R@R^/.R^ R^/3]R.RBR^R^/.R^/3]. RBR^/.R^/3]. RC.R^/3.	4      R 4       tR t]! R]. RA.R^R^ R. R/ /3]. RD.R^R^R^^.R/ /3]. RER^/.R^R^R. RR^//3]R.RFR^/.R^R^RR^//3.4      R 4       t]. RAR^/.R^R^/3]. RAR^/.R^R^R^/3.t]! R]. RGR^/.R^^.RR^//3]. RH.R^^.R/ /3.],           4      R 4       tR t ]! R]R 3]R!3]R"3.4      R# 4       t!R$ t"R% t#R& t$R'R'R(R(/R) lt%R* R+ lt&R, t'R- t(]! R.])R/]R0RI.3])R1]R0.RI.3])R2]. .3.4      R3 4       t*R4 t+R5 t,]! R6]]-! ].! ^4      4      ./ R73]. RJORR8/R93.4      R: 4       t/R; t0]R< 4       t1R= t2R> t3R? t4R# )Kz
Test the func_inspect module.
N)Ú_clean_win_charsÚfilter_argsÚformat_signatureÚget_func_codeÚget_func_name)ÚMemory)Ú
with_numpy)ÚfixtureÚparametrizeÚraisesc                 ó   € R # ©N© ©ÚxÚys   &&Ú?/usr/lib/python3/dist-packages/joblib/test/test_func_inspect.pyÚfr      ó   € Ùó    c                 ó   € R # r   r   ©r   s   &r   Úgr      r   r   c                 ó   € R # r   r   )r   r   ÚargsÚkwargss   &&*,r   Úhr   !   r   r   c                 ó   € R # r   r   r   s   &r   Úir   %   r   r   c                 ó   € R # r   r   )r   r   r   s   &&,r   Újr    )   r   r   c                  ó   € R # r   r   )r   r   s   *,r   Úkr"   -   r   r   c                ó   € R # r   r   r   s   &$r   Úm1r$   1   r   r   Úzc                ó   € R # r   r   )r   r   r%   s   &$$r   Úm2r'   5   r   r   Úmodule)Úscopec                 óv   € V P                  R 4      p\        VP                  4      pVP                  R 4       pV# )Újoblib_test_func_inspectc                 ó   € V # r   r   r   s   &r   Úcached_func_innerÚ&cached_func.<locals>.cached_func_innerA   s   € àˆr   )Úmktempr   ÚstrpathÚcache)Útmpdir_factoryÚcachedirÚmemr-   s   &   r   Úcached_funcr5   9   sC   € ð
 ×$Ñ$Ð%?Ó@€HÜ
�×!Ñ!Ó
"€Cà‡Y�Yñó ðð Ðr   c                   ó&   a € ] tR t^Ht o R tRtV tR# )ÚKlassc                ó   € V# r   r   )Úselfr   s   &&r   r   ÚKlass.fI   s   € Øˆr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r7   r7   H   s   ø‡ € ÷ð r   r7   zfunc,args,filtered_argsr   r   c                 ó.   € \        V .VO5!  V8X  g   Q hR # r   ©r   ©Úfuncr   Úfiltered_argss   &&&r   Útest_filter_argsrG   Q   s   € ô �tÐ#˜dÓ# }Ô4Ð4Ò4r   c                  ó^   € \        4       p \        V P                  . R4      R^RV /8X  g   Q hR# )é   r   r9   N©rI   ©r7   r   r   )Úobjs    r   Útest_filter_args_methodrM   c   s-   € Ü
‹'€CÜ�s—u‘u˜b $Ó'¨C°°F¸CÐ+@Ô@Ð@Ò@r   Ú*ú**Úeec                 ó.   € \        V .VO5!  V8X  g   Q hR # r   rC   rD   s   &&&r   Útest_filter_varargsrR   h   s   € ô �tÐ#˜dÓ# }Ô4Ð4Ò4r   c                 ó.   € \        V .VO5!  V8X  g   Q hR # r   rC   rD   s   &&&r   Útest_filter_kwargsrT   {   s   € ô �tÐ#˜dÓ# }Ô4Ð4Ò4r   c                  óè   € \        \        . RR^/4      R^R^RR^//8X  g   Q h\        P                  ! \        ^4      p \        V . R4      R^.R/ /8X  g   Q h\        V R.R4      R^.R/ /8X  g   Q hR# )	rI   rP   r   r   rO   rN   N©rI   é   rJ   )r   r    Ú	functoolsÚpartialr   ©Úffs    r   Útest_filter_args_2r\   ‡   s‰   € Ü”q˜"˜f t¨Q iÓ0°S¸!¸SÀ!ÀTÈDÐRSÈ9Ð4UÔUÐUÐUä	×	Ò	œ1˜aÓ	 €Bä�r˜2˜tÓ$¨¨q¨c°4¸Ð(<Ô<Ð<Ð<Ü�r˜C˜5 $Ó'¨C°!°°d¸BÐ+?Ô?Ð?Ò?r   zfunc,funcnamer   r   r5   c                 ó8   € \        V 4      ^,          V8X  g   Q hR# )rI   N©r   )rE   Úfuncnames   &&r   Útest_func_namer`   �   s   € ô ˜Ó˜qÕ! XÔ-Ð-Ò-r   c                 ó8   € \        V 4      ^,          R8X  g   Q hR# )rI   r-   Nr^   )r5   s   &r   Útest_func_name_on_inner_funcrb   —   s   € ô ˜Ó% aÕ(Ð,?Ô?Ð?Ò?r   c                  óV   € R  p R pV ! 4       w  r#V! 4       w  rEW58X  g   Q hW$8w  g   Q hR# )c                  ó   € R  p \        V 4      # )c                  ó   € R # r   r   r   r   r   Ú
inner_funcÚEtest_func_name_collision_on_inner_func.<locals>.f.<locals>.inner_func¢   ó   € Ùr   r^   ©rf   s    r   r   Ú1test_func_name_collision_on_inner_func.<locals>.f¡   ó   € ò	ô ˜ZÓ(Ð(r   c                  ó   € R  p \        V 4      # )c                  ó   € R # r   r   r   r   r   rf   ÚEtest_func_name_collision_on_inner_func.<locals>.g.<locals>.inner_func¨   rh   r   r^   ri   s    r   r   Ú1test_func_name_collision_on_inner_func.<locals>.g§   rk   r   Nr   )r   r   r(   ÚnameÚother_moduleÚ
other_names         r   Ú&test_func_name_collision_on_inner_funcrs   ž   s9   € ò)ò)ñ “3�L€FÙ ›sÑ€LàÔÐÐØÔ!Ð!Ò!r   c                  óÆ  € \        R P                  4      R,          R8X  g   Q h\        R P                  4      R,          R8X  g   Q hR p \        V RR7      R,          R8X  g   Q h\        V 4      ^,          \        P	                  RR	4      8X  g   Q hR
V n        \        V RR7      R,          R8X  g   Q h\        V 4      ^,          \        P	                  RR	4      8X  g   Q hR# )ÚaÚlower:rI   NNNc                 ó   € V # r   r   r   s   &r   Ú<lambda>Ú*test_func_inspect_errors.<locals>.<lambda>¸   s   € ‘1r   F)Úwin_charactersz<lambda>z.pycz.pyÚ__main__éÿÿÿÿ)Nr|   )r   rv   r   Ú__file__Úreplacer<   rZ   s    r   Útest_func_inspect_errorsr   ´   sÄ   € ä˜Ÿ™Ó# BÕ'¨7Ô2Ð2Ð2Ü˜Ÿ™Ó# BÕ'¨:Ô5Ð5Ð5Ù	€BÜ˜¨EÔ2°2Õ6¸*ÔDÐDÐDÜ˜Ó˜QÕ¤8×#3Ñ#3°F¸EÓ#BÔBÐBÐBà€B„MÜ˜¨EÔ2°2Õ6¸*ÔDÐDÐDÜ˜Ó˜QÕ¤8×#3Ñ#3°F¸EÓ#BÔBÐBÒBr   Úkw1Úkw2c                ó   € R # r   r   )ru   Úbr€   r�   s   &&$$r   Úfunc_with_kwonly_argsr„   Á   r   r   c                ó4   € V ^8„  d   QhR\         R\         RR/# )rW   ru   rƒ   ÚreturnN)Úint)Úformats   "r   Ú__annotate__r‰   Å   s!   € ÷ 	ñ 	œ3ð 	¤3ð 	¨4ñ 	r   c                 ó   € R # r   r   ©ru   rƒ   s   &&r   Úfunc_with_signaturerŒ   Å   r   r   c            	      ó|  € \        \        . RR^R^/4      R^R^R^R^/8X  g   Q h\        \        4      ;_uu_ 4       p \        \        . RR^/4       RRR4       X P	                  R4       \        \        RR.RR^R^/4      R^R^/8X  g   Q h\        \
        R.R4      R^/8X  g   Q hR#   + '       g   i     La; i)	rI   r€   r�   ru   rƒ   Nz?Keyword-only parameter 'kw1' was passed as positional parameterrV   )rI   rW   é   )r   r„   r   Ú
ValueErrorÚmatchrŒ   )Úexcinfos    r   Útest_filter_args_edge_casesr’   É   sÙ   € ÜÔ,¨b°&¸5À!ÀUÈAÐ:NÓOØˆQØˆQØˆqØˆqð	Tô ð ð ô 
”
×	Ô	˜wÜÔ)¨2¨y¸5À!¸*ÔE÷ 
à‡M�MÐSÔTäÜ  U˜|¨V°e¸QÀÀqÐ5Ióà
ˆq�%˜Ð	ôð ð ô Ô*¨S¨E°6Ó:¸sÀA¸hÔFÐFÒF÷ 
×	ús   ½B+Â+B;	c                 ó”   € \        4       p \        4       p\        V P                  . R4      \        VP                  . R4      8w  g   Q hR# )zyMake sure that calling the same method on two different instances
of the same class does resolv to different signatures.
NrJ   rK   r‹   s     r   Útest_bound_methodsr”   Þ   s:   € ô 	‹€AÜ‹€AÜ�q—s‘s˜B Ó%¬°Q·S±S¸"¸dÓ)CÔCÐCÒCr   zexception,regex,func,argsz1ignore_lst must be a list of parameters to ignoreÚbarz-Ignore list: argument \'(.*)\' is not definedzWrong number of argumentsc                ó    € \        V 4      ;_uu_ 4       p\        V.VO5!   RRR4       XP                  V4       R#   + '       g   i     L#; i)zTMake sure that filter_args returns decent error messages, for the
sake of the user.
N)r   r   r�   )Ú	exceptionÚregexrE   r   r‘   s   &&&& r   Útest_filter_args_error_msgr™   ç   s8   € ô, 
�	×	Ô	˜gÜ�DÐ ˜4Ô ÷ 
à‡M�M�%Ö÷ 
×	ús	   ”=½A	c                 óH   € R^ /p \        \        . . V 4       V R^ /8X  g   Q hR# )z¢None-regression test against 0.12.0 changes.

https://github.com/joblib/joblib/pull/75

Make sure filter args doesn't mutate the kwargs dict that gets passed in.
r   N)r   r   )r   s    r   Ú#test_filter_args_no_kwargs_mutationr›     s-   € ð �1ˆX€FÜ”�2�r˜6Ô"Ø�c˜1�XÔÐÒr   c                  óB   € R p \        V 4      pR F  pW!9  d   K  Q h	  R# )zC:\foo\bar\main.pyN)Ú\Ú:Ú<Ú>Ú!)r   )ÚstringÚmangled_stringÚchars      r   Útest_clean_win_charsr¥     s'   € Ø"€FÜ% fÓ-€NÛ*ˆØÖ)Ð)Ð)ó +r   zfunc,args,kwargs,sgn_expectedzg([0, 1, 2, 3, 4])Tzk(1, 2, (3, 4), y=True)c                 ó8   € \        V .VO5/ VB w  rEWS8X  g   Q hR # r   )r   )rE   r   r   Úsgn_expectedÚpathÚ
sgn_results   &&&&  r   Útest_format_signaturerª     s'   € ô (¨Ð>¨tÒ>°vÑ>Ñ€DØÔ%Ð%Ò%r   c                  ó  € R p RpRV ,          p\        \        V4      w  r4\        V4      V8  g   Q h^p\        V4       Uu. uF  q2NK  	  pp\        \        .VO5!  w  r4\        V4      W,          8  g   Q h\	        V4       UUu/ uF  w  rr\        V4      VbK  	  ppp\        \        3/ VB w  r4\        V4      W,          8  g   Q h\        \        .VO5/ VB w  r4\        V4      V^,          V,          8  g   Q hR# u upi u uppi )iÜ  ru   NiÆ  )r   r   ÚlenÚrangeÚ	enumerateÚstr)	Úshortening_thresholdÚshortening_targetÚargÚ_Ú	signatureÚnb_argsr   r   r   s	            r   Ú$test_format_signature_long_argumentsr¶   "  s  € ØÐð !Ðà
Ð$Õ
$€CÜ#¤A sÓ+�L€AÜˆy‹>Ð-Ô-Ð-Ð-à€GÜ˜wœÓ(™�AŠC™€DÐ(Ü#¤AÐ-¨Ó-�L€AÜˆy‹>Ð-Õ7Ô7Ð7Ð7ä(1°$¬Ô8©™f˜aŒc�!‹f�cŠk©€FÑ8Ü#¤AÑ0¨Ñ0�L€AÜˆy‹>Ð-Õ7Ô7Ð7Ð7ä#¤AÐ7¨Ò7°Ñ7�L€AÜˆy‹>Ð-°Õ1°GÕ;Ô;Ð;Ò;ùò )ùó 9s   Á
DÂDc                 ó   € R# )z0Test the format signature formatting with numpy.Nr   r   r   r   Útest_format_signature_numpyr¸   :  s   ‚ r   c                  ód   € ^ RI Hp  \        V 4      w  rpV^8X  g   Q hRV9   g   Q hRV9   g   Q hR# )é    ©Úbig5_fzdef big5_f():Ú"test_func_inspect_special_encodingN©Ú.joblib.test.test_func_inspect_special_encodingr¼   r   )r¼   Ú	func_codeÚsource_fileÚ
first_lines       r   Útest_special_source_encodingrÃ   ?  s<   € ÝEä)6°vÓ)>Ñ&€I˜JØ˜Œ?Ðˆ?Ø˜iÔ'Ð'Ð'Ø/°;Ô>Ð>Ò>r   c                  ó2   € ^ RI Hp  \        V 4      ^ ,          # )rº   r»   r¾   r»   s    r   Ú	_get_coderÅ   H  s   € ÝEä˜Ó  Õ#Ð#r   c                  ó’   a€ ^ RI Hp Ho V ! ^R7      ! V3R l\        ^4       4       4      p\	        \        V4      4      ^8X  g   Q hR# )rº   )ÚParallelÚdelayed)Ún_jobsc              3   óF   <"  € T F  pS! \         4      ! 4       x € K  	  R # 5ir   )rÅ   )Ú.0r³   rÈ   s   & €r   Ú	<genexpr>Ú-test_func_code_consistency.<locals>.<genexpr>Q  s   øé € ÐF¹X¸™w¤yÔ1×3Ð3»Xùs   ƒ!N)Újoblib.parallelrÇ   rÈ   r­   r¬   Úset)rÇ   ÚcodesrÈ   s     @r   Útest_func_code_consistencyrÑ   N  s5   ø€ ß1á˜AÕÔF¼UÀ1¼XÓFÓF€EÜŒs�5‹z‹?˜aÔÐÒr   )rº   rJ   r   )rW   )rI   rW   rŽ   é   )rI   é   )rI   rW   rÓ   rV   ©rŽ   rÒ   r   )rI   rW   rÔ   )5Ú__doc__rX   Újoblib.func_inspectr   r   r   r   r   Újoblib.memoryr   Újoblib.test.commonr   Újoblib.testingr	   r
   r   r   r   r   r   r    r"   r$   r'   r5   Úobjectr7   rG   rM   rR   Útest_filter_kwargs_extra_paramsrT   r\   r`   rb   rs   r   r„   rŒ   r’   r”   r�   r™   r›   r¥   Úlistr­   rª   r¶   r¸   rÃ   rÅ   rÑ   r   r   r   Ú<module>rÝ      s/  ðñó ÷õ õ !Ý )ß 7Ñ 7ô
	ò	ô	ô	ò	ò	ò	ð	�!ô 	ñ 	ˆxÔñó ðôˆFô ñ Øà	
ˆR�ˆJ˜˜a  aÐ(Ð)Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�D˜3 ˜(Ð# c¨1 XÐ.Ø	
ˆc�3ˆZ˜Ð Ð#Ø	
ˆR�˜˜Q�xÐ  3¨¨3°Ð"2Ð3Ø	
ˆcˆU�B˜˜a  aÐ(Ð)¨C°¨8Ð4Ø	
ˆR��c˜1�XÐ  a Ð)Ø	
ˆR�ˆJ˜˜a˜Ð!ð
óñ5óð5òAñ
 Øà	
ˆR�ˆJ˜˜a  a¨¨b°$¸Ð;Ð<Ø	
ˆR�Ð  a¨¨a°°q¸!°f¸dÀBÐ GÐHØ	
ˆR�˜4 ˜)Ð$ s¨A¨s°B¸¸RÀÈÈaÀyÐ&QÐRØ	
ˆcˆU�J  q 	Ð*¨S°!°S¸!¸TÀDÈ!À9Ð,MÐNð	óñ5óð5ð
 ˆ"ˆd�S˜!�HÐ	  Q¨¨QÐ/Ð0Øˆ"ˆd�S˜!�HÐ	  Q¨¨Q°°QÐ7Ð8ð#Ð ñ Øà	
ˆR�˜$ ˜Ð# c¨A¨q¨6°4¸$À¸Ð%CÐDØ	
ˆR�ˆL˜3  A ¨¨bÐ1Ð2ðð &õ	&óñ5óð5ò@ñ ˆ_  3˜x¨!¨S¨°KÀÐ3OÐPÓQñ.ó Rð.ò@ò"ò,
Cð	 uð 	°%ô 	õ	òGò*Dñ Øð Ø?ØØ�GÐð		
ð Ø<ØØˆW�gÐð		
ð 
Ð0°!°b°TÐ:ðóñ$ó%ð$ò	ò*ñ Ø#à	
‰T‘%˜“(‹^Ð˜bÐ"6Ð7Ø	
ŠN˜S $˜KÐ)BÐCðóñ&óð&ò<ð0 ñ;ó ð;ò?ò$ô r   