Ë
    ÷Q(hû~  ã                   ó¢  — d Z ddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
 ddlmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlm Z m!Z!m"Z"m#Z#m$Z$ dd	l%m&Z& d
„ Z'd„ Z(ejR                  jU                  de&«      d„ «       Z+ejR                  jU                  dddg«      d„ «       Z,ejR                  jU                  de&«      d„ «       Z-d„ Z.d„ Z/ejR                  jU                  d ej`                  ddgddgddgddgg«       ej`                  g d¢«       ej`                  ddg«      df ej`                  ddgddgddgddgg«       ej`                  g d ¢«       ej`                  ddg«      df ej`                  ddgddgddgddgg«       ej`                  g d¢«       ej`                  ejb                  dg«      df ej`                  ddgddgddgddgg«       ej`                  g d ¢«       ej`                  ejb                  ejb                  g«      dfg«      d!„ «       Z2ejR                  jU                  d" ej`                  ddgddgddgddgg«       ej`                  g d¢«       ej`                  dd#g«       ej`                  d$d%g«      df ej`                  ddgddgddgddgg«       ej`                  g d ¢«       ej`                  ddg«       ej`                  d$d$g«      df ej`                  ddgddgddgddgg«       ej`                  g d&¢«       ej`                   ejf                  ejh                  «      jj                  d'g«       ej`                  dd(g«      df ej`                  ddgddgddgddgg«       ej`                  g d&¢«       ej`                   ejf                  ejh                  «      jj                  d'g«       ej`                  dd(g«      df ej`                  ddgddgddgddgg«       ej`                  g d¢«       ej`                  ejb                  d#g«       ej`                  ejb                  d%g«      df ej`                  ddgddgddgddgg«       ej`                  g d ¢«       ej`                  ejb                  ejb                  g«       ej`                  ejb                  ejb                  g«      df ej`                  ddgddgddgddgg«       ej`                  g d&¢«       ej`                  ejl                  d'g«       ej`                  dd(g«      df ej`                  ddgddgddgddgg«       ej`                  g d&¢«       ej`                  ejl                  d'g«       ej`                  dd(g«      dfg«      d)„ «       Z7d*„ Z8d+„ Z9ejR                  jU                  de&«      d,„ «       Z:d-„ Z;d.„ Z<ejR                  jU                  d/ejz                  ejh                  g«      d0„ «       Z>d1„ Z?d2„ Z@d3„ ZAd4„ ZBd5„ ZCd6„ ZDd7„ ZEejR                  jU                  d8g d9¢«      ejR                  jU                  d:g d;¢«      d<„ «       «       ZFd=„ ZGd>„ ZHd?„ ZId@„ ZJdA„ ZKdB„ ZLdC„ ZMdD„ ZNdE„ ZOdF„ ZPdG„ ZQdH„ ZRdI„ ZSejR                  jU                  dJ ed¬K«       edL¬M«       edNd¬O«       edPdL¬O«      g«      dQ„ «       ZTy)Rz0
Todo: cross-check the F-value with stats model
é    N)Úassert_allclose)ÚsparseÚstats)Ú	load_irisÚmake_classificationÚmake_regression)ÚGenericUnivariateSelectÚ	SelectFdrÚ	SelectFprÚ	SelectFweÚSelectKBestÚSelectPercentileÚchi2Ú	f_classifÚf_onewayÚf_regressionÚmutual_info_classifÚmutual_info_regressionÚr_regression)Ú	safe_mask)Ú_convert_containerÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚignore_warnings)ÚCSR_CONTAINERSc                  ó@  — t         j                  j                  d«      } | j                  dd«      }d| j                  dd«      z   }t	        j
                  ||«      \  }}t        ||«      \  }}t        j                  ||«      sJ ‚t        j                  ||«      sJ ‚y )Nr   é
   é   é   )ÚnpÚrandomÚRandomStateÚrandnr   r   Úallclose)ÚrngÚX1ÚX2ÚfÚpvÚf2Úpv2s          úq/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/feature_selection/tests/test_feature_select.pyÚtest_f_oneway_vs_scipy_statsr.   +   s‡   € ä
�)‰)×
Ñ
 Ó
"€CØ	�‰�2�qÓ	€BØ	
ˆS�Y‰Y�r˜1ÓÑ	€BÜ�N‰N˜2˜rÓ"�E€A€rÜ�r˜2Ó�G€BˆÜ�;‰;�q˜"ÔÐÐÜ�;‰;�r˜3ÔÐÑó    c                  ó,  — t         j                  j                  d«      } | j                  dd¬«      }t        j                  d«      }t        ||«      \  }}t        |j                  t        «      |«      \  }}t        ||d¬«       t        ||d¬«       y )Nr   r   )r   r   ©Úsizeé   ©Údecimal)	r!   r"   r#   ÚrandintÚaranger   ÚastypeÚfloatr   )r&   ÚXÚyÚfintÚpintr)   Úps          r-   Útest_f_oneway_intsr?   6   sx   € ô �)‰)×
Ñ
 Ó
"€CØ�‰�B˜XˆÓ&€AÜ
�	‰	�"‹€AÜ˜!˜Q“�J€Dˆ$ô �A—H‘HœU“O QÓ'�D€A€qÜ˜a ¨qÕ1Ü˜a ¨qÖ1r/   Úcsr_containerc                 óŒ  — t        ddddddddd	d
d¬«      \  }}t        ||«      \  }}t         | |«      |«      \  }}|dkD  j                  «       sJ ‚|dkD  j                  «       sJ ‚|dk  j                  «       sJ ‚|d d dk  j                  «       sJ ‚|dd  dkD  j                  «       sJ ‚t        ||«       t        ||«       y ©NéÈ   é   r   é   r   é   r    ç        r   F©Ú	n_samplesÚ
n_featuresÚn_informativeÚn_redundantÚ
n_repeatedÚ	n_classesÚn_clusters_per_classÚflip_yÚ	class_sepÚshuffleÚrandom_stateé   çš™™™™™©?ç-Cëâ6?)r   r   Úallr   ©r@   r:   r;   ÚFr*   ÚF_sparseÚ	pv_sparses          r-   Útest_f_classifr\   D   sÜ   € ô ØØØØØØØØØØØô�D€A€qô �a˜‹O�E€A€rÜ#¡M°!Ó$4°aÓ8Ñ€HˆiØ�‰E�;‰;Œ=Ðˆ=Ø�‰F�<‰<Œ>Ðˆ>Ø�‰F�<‰<Œ>Ðˆ>Øˆr�ˆF�T‰M×ÑÔ Ð Ð ØˆqˆrˆF�V‰O× Ñ Ô"Ð"Ð"Ü˜h¨Ô*Ü˜i¨Õ,r/   ÚcenterTFc                 óš  — t        ddddd¬«      \  }}t        ||| ¬«      }d|k  j                  «       sJ ‚|d	k  j                  «       sJ ‚t        |d
«      }t        ||| ¬«      }t	        ||«       t        j                  ||d d …t
        j                  f   f«      }t        j                  |d¬«      }|d d…df   }t        ||d¬«       y )NiÐ  rD   rT   Fr   ©rI   rJ   rK   rR   rS   ©r]   éÿÿÿÿr    r   )Úrowvarr   r4   )
r   r   rW   r   r   r!   ÚhstackÚnewaxisÚcorrcoefr   )	r]   r:   r;   Úcorr_coeffsÚsparse_XÚsparse_corr_coeffsÚZÚcorrelation_matrixÚnp_corr_coeffss	            r-   Útest_r_regressionrl   a   sÐ   € äØ 2°QÀÐTUô�D€A€qô ˜q !¨FÔ3€KØ�Ñ×!Ñ!Ô#Ð#Ð#Ø˜!‰O× Ñ Ô"Ð"Ð"ä! ! XÓ.€Hä% h°¸&ÔAÐÜÐ&¨Ô4ô 	�	‰	�1�ašœ2Ÿ:™:˜Ñ&Ð'Ó(€AÜŸ™ Q¨uÔ5ÐØ'¨¨¨¨R¨Ñ0€NÜ˜n¨kÀ1ÖEr/   c                 ó&  — t        ddddd¬«      \  }}t        ||«      \  }}|dkD  j                  «       sJ ‚|dkD  j                  «       sJ ‚|dk  j                  «       sJ ‚|d d dk  j                  «       sJ ‚|dd  d	kD  j                  «       sJ ‚t        ||d
¬«      \  }}t         | |«      |d
¬«      \  }}t        ||«       t        ||«       t        ||d¬«      \  }}t         | |«      |d¬«      \  }}t        ||«       t        ||«       y )NrC   rD   rT   Fr   r_   r    rU   rV   Tr`   )r   r   rW   r   rX   s          r-   Útest_f_regressionrn   w   s  € ô Ø "°A¸uÐSTô�D€A€qô ˜˜AÓ�E€A€rØ�‰E�;‰;Œ=Ðˆ=Ø�‰F�<‰<Œ>Ðˆ>Ø�‰F�<‰<Œ>Ðˆ>Øˆr�ˆF�T‰M×ÑÔ Ð Ð ØˆqˆrˆF�V‰O× Ñ Ô"Ð"Ð"ô ˜˜A dÔ+�E€A€rÜ&¡}°QÓ'7¸À4ÔHÑ€HˆiÜ�H˜aÔ Ü�I˜rÔ"ô ˜˜A eÔ,�E€A€rÜ&¡}°QÓ'7¸À5ÔIÑ€HˆiÜ�H˜aÔ Ü�I˜rÕ"r/   c                  óL  — t         j                  j                  d«      } | j                  dd«      }t        j                  d«      j                  t        «      }t        ||«      \  }}t        ||j                  t        «      «      \  }}t        ||d«       t        ||d«       y )Nr   r   rD   rT   )
r!   r"   r#   Úrandr7   r8   Úintr   r9   r   )r&   r:   r;   ÚF1Úpv1ÚF2r,   s          r-   Útest_f_regression_input_dtyperu   “   s€   € ô �)‰)×
Ñ
 Ó
"€CØ�‰��RÓ€AÜ
�	‰	�"‹×ÑœSÓ!€Aä˜1˜aÓ �G€BˆÜ˜1˜aŸh™h¤u›oÓ.�G€BˆÜ�B˜˜AÔÜ�C˜˜aÕ r/   c                  óN  — t        j                  dd«      j                  dd«      } | j                  }t        j                  |«      }|d d d…xx   dz  cc<   d|d<   t        | |d	¬
«      \  }}t        | |d¬
«      \  }}t        ||dz
  z  |dz
  z  |«       t        |d   d«       y )Néûÿÿÿé   ra   r    rE   g      ð¿rG   r   Tr`   Fç      ð?ç       @g@9¶wÄÍ?)r!   r7   Úreshaper2   Úonesr   r   r   )r:   rI   ÚYrr   Ú_rt   s         r-   Útest_f_regression_centerr       s    € ô
 	�	‰	�"�aÓ× Ñ   QÓ'€AØ—‘€IÜ
�‰�	Ó€AØ�cˆ€cƒFˆd�NƒFØ€A€a�Dä˜˜A dÔ+�E€BˆÜ˜˜A eÔ,�E€BˆÜ�B˜) c™/Ñ*¨i¸#©oÑ>ÀÔCÜ˜˜1™˜{Õ+r/   z&X, y, expected_corr_coef, force_finiterE   r    r   r3   )r   r    r    r   rG   gºI+‡Ô?rT   r   rF   )r   r   r   r   c                 óæ   — t        j                  «       5  t        j                  dt        «       t	        | ||¬«      }ddd«       t
        j                  j                  |«       y# 1 sw Y   Œ*xY w)z±Check the behaviour of `force_finite` for some corner cases with `r_regression`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/15672
    Úerror©Úforce_finiteN)ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr   r!   Útestingr   )r:   r;   Úexpected_corr_coefrƒ   Ú	corr_coefs        r-   Útest_r_regression_force_finiter‹   ±   s_   € ôN 
×	 Ñ	 Ó	"ñ BÜ×Ñ˜g¤~Ô6Ü   A°LÔAˆ	÷Bô ‡J�J×(Ñ(¨Ð4FÕG÷Bð Bús   •)A'Á'A0z;X, y, expected_f_statistic, expected_p_values, force_finiteg¦�
­˜[Í?ry   gSr.j¼å?)r   r    rE   r   g�±¾�Éë?gª�ajKÝ?c                 ó,  — t        j                  «       5  t        j                  dt        «       t	        | ||¬«      \  }}ddd«       t
        j                  j                  |«       t
        j                  j                  |«       y# 1 sw Y   ŒJxY w)z±Check the behaviour of `force_finite` for some corner cases with `f_regression`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/15672
    r�   r‚   N)r„   r…   r†   r‡   r   r!   rˆ   r   )r:   r;   Úexpected_f_statisticÚexpected_p_valuesrƒ   Úf_statisticÚp_valuess          r-   Útest_f_regression_corner_caser‘   Þ   sy   € ôZ 
×	 Ñ	 Ó	"ñ NÜ×Ñ˜g¤~Ô6Ü ,¨Q°ÀÔ MÑˆ�X÷Nô ‡J�J×(Ñ(¨Ð6JÔKÜ‡J�J×(Ñ(¨Ð3DÕE÷	Nð Nús   •,B
Â
Bc                  ó2  — t        ddddddddd	d
d¬«      \  } }t        | |«      \  }}|dkD  j                  «       sJ ‚|dkD  j                  «       sJ ‚|dk  j                  «       sJ ‚|d d dk  j                  «       sJ ‚|dd  dkD  j                  «       sJ ‚y rB   )r   r   rW   )r:   r;   rY   r*   s       r-   Útest_f_classif_multi_classr“   2  s²   € ô ØØØØØØØØØØØô�D€A€qô �a˜‹O�E€A€rØ�‰E�;‰;Œ=Ðˆ=Ø�‰F�<‰<Œ>Ðˆ>Ø�‰F�<‰<Œ>Ðˆ>Øˆr�ˆF�T‰M×ÑÔ Ð Ð ØˆqˆrˆF�V‰O× Ñ Ô"Ð"Ñ"r/   c                  ó€  — t        ddddddddd	d
d¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        t        dd¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       y ©NrC   rD   r   rE   r   rF   r    rG   r   FrH   é   ©Ú
percentiler˜   ©ÚmodeÚparamrT   )
r   r   r   ÚfitÚ	transformr	   r   Úget_supportr!   Úzeros©r:   r;   Úunivariate_filterÚX_rÚX_r2ÚsupportÚgtruths          r-   Útest_select_percentile_classifr¦   K  sÀ   € ô ØØØØØØØØØØØô�D€A€qô )¬¸rÔBÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€Cä¤	°ÀBÔGß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Õ'r/   c                 óú  — t        ddddddddd	d
d¬«      \  }} | |«      }t        t        d¬«      }|j                  ||«      j	                  |«      }t        t        dd¬«      j                  ||«      j	                  |«      }t        |j                  «       |j                  «       «       |j                  «       }t        j                  d«      }d|d d t        ||«       |j                  |«      }t        j                  |«      sJ ‚t        ||«      }	|j                  |j                  k(  sJ ‚t        |d d …|	f   j                  «       |j                  «       «       |j                   |j                   k(  sJ ‚y r•   )r   r   r   rœ   r�   r	   r   Útoarrayrž   r!   rŸ   Úinverse_transformr   Úissparser   ÚshapeÚnnz)
r@   r:   r;   r¡   r¢   r£   r¤   r¥   ÚX_r2invÚsupport_masks
             r-   Ú%test_select_percentile_classif_sparser¯   k  sR  € ô
 ØØØØØØØØØØØô�D€A€qñ 	�aÓ€AÜ(¬¸rÔBÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€Cä¤	°ÀBÔGß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s—{‘{“} d§l¡l£nÔ5Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Ô'à×1Ñ1°$Ó7€GÜ�?‰?˜7Ô#Ð#Ð#Ü˜W gÓ.€LØ�=‰=˜AŸG™GÒ#Ð#Ð#Ü�wšq ,˜Ñ/×7Ñ7Ó9¸3¿;¹;»=ÔIà�;‰;˜#Ÿ'™'Ò!Ð!Ñ!r/   c                  ó€  — t        ddddddddd	d
d¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        t        dd¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       y )NrC   rD   r   rE   r   rF   r    rG   r   FrH   rT   ©ÚkÚk_bestr™   )
r   r   r   rœ   r�   r	   r   rž   r!   rŸ   r    s          r-   Útest_select_kbest_classifr´   ˜  sÀ   € ô ØØØØØØØØØØØô�D€A€qô $¤I°Ô3ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€Cä¤	°ÀÔBß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Õ'r/   c                  ó  — t        dddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        | |«       t        t        dd¬	«      j                  | |«      j	                  | «      }t        ||«       y )
NrD   r   Fr   ©rI   rJ   rR   rS   rW   r±   r³   r™   )r   r   r   rœ   r�   r   r	   )r:   r;   r¡   r¢   r£   s        r-   Útest_select_kbest_allr·   ¸  s‚   € äØ ¨UÀô�D€A€qô $¤I°Ô7ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜ�q˜#Ôô 	 ¤	°ÀÔFß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÕ!r/   Údtype_inc                 óÄ  — t        dddd¬«      \  }}|j                  | «      }t        t        d¬«      }|j	                  ||«       |j                  «       }t        j                  dt        ¬«      }t        ||«       t        j                  t        d¬	«      5  |j                  |«      }d d d «       j                  d
k(  sJ ‚|j                  | k(  sJ ‚y # 1 sw Y   Œ,xY w)NrD   r   Fr   r¶   r±   ©ÚdtypeúNo features were selected©Úmatch)rD   r   )r   r8   r   r   rœ   rž   r!   rŸ   Úboolr   ÚpytestÚwarnsÚUserWarningr�   r«   r»   )r¸   r:   r;   r¡   r¤   r¥   Ú
X_selecteds          r-   Útest_select_kbest_zerorÄ   Ë  sÌ   € ô Ø ¨UÀô�D€A€qð 	
�‰�Ó€Aä#¤I°Ô3ÐØ×Ñ˜!˜QÔØ×+Ñ+Ó-€GÜ�X‰X�b¤Ô%€FÜ�w Ô'Ü	�‰”kÐ)DÔ	Eñ 4Ø&×0Ñ0°Ó3ˆ
÷4à×Ñ˜wÒ&Ð&Ð&Ø×Ñ˜xÒ'Ð'Ñ'÷4ð 4ús   ÂCÃCc                  óŽ  — t        ddddddddd	d
d¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        j                  d«      }d|d d dD ][  }t        t        |d¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        ||«       Œ] y )NrC   rD   r   rE   r   rF   r    rG   r   FrH   ç{®Gáz„?©ÚalpharT   ©ÚfdrÚfprÚfwer™   )r   r   r   rœ   r�   r!   rŸ   r	   r   rž   r   ©r:   r;   r¡   r¢   r¥   rš   r£   r¤   s           r-   Útest_select_heuristics_classifrÎ   Þ  sÏ   € ô ØØØØØØØØØØØô�D€A€qô "¤)°4Ô8ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JØ%ò )ˆä#¤I°DÀÔEß‰S��A‹Yß‰Y�q‹\ð 	ô
 	˜3 Ô%Ø#×/Ñ/Ó1ˆÜ˜ Õ(ñ)r/   c                 óÊ   — | j                   }| j                  «       }t        t        j                  ||   «      t        j                  |«      |j                  «        d  «       y ©N)Úscores_rž   r   r!   ÚsortÚsum)Úscore_filterÚscoresr¤   s      r-   Úassert_best_scores_keptrÖ     sJ   € Ø×!Ñ!€FØ×&Ñ&Ó(€GÜ”B—G‘G˜F 7™OÓ,¬b¯g©g°f«o¸w¿{¹{»}¸nÐ>NÐ.OÕPr/   c                  óš  — t        ddddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        |«       t        t        d	d¬
«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       | j                  «       }d|d d …t        j                  |«      f<   t        ||j                  |«      «       t        |j                  t        «      |j                  |j                  t        «      «      «       y )NrC   rD   rT   Fr   r_   r–   r—   r˜   r™   r    )r   r   r   rœ   r�   rÖ   r	   r   rž   r!   rŸ   ÚcopyÚlogical_notr©   r8   r¿   )r:   r;   r¡   r¢   r£   r¤   r¥   ÚX_2s           r-   Ú!test_select_percentile_regressionrÛ   	  s  € ô Ø "°A¸uÐSTô�D€A€qô )¬À"ÔEÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜÐ-Ô.ä¤°<ÀrÔJß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Ô'Ø
�&‰&‹(€CØ&'€CŠŒ2�>‰>˜'Ó"Ð"Ñ#Ü�sÐ-×?Ñ?ÀÓDÔEäØ�
‰
”4ÓÐ+×=Ñ=¸c¿j¹jÌÓ>NÓOõr/   c                  ó€  — t        ddddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        |«       t        t        d	d¬
«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }t        ||«       y )NrC   rD   rT   Fr   r_   éd   r—   r˜   r™   )r   r   r   rœ   r�   rÖ   r	   r   rž   r!   r|   r    s          r-   Ú&test_select_percentile_regression_fullrÞ   '  s©   € ô Ø "°A¸uÐSTô�D€A€qô )¬À#ÔFÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜÐ-Ô.ä¤°<ÀsÔKß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�W‰W�R‹[€FÜ�w Õ'r/   c                  óŒ  — t        dddddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        |«       t        t        d	d¬
«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       y )NrC   rD   rT   Fr   r   ©rI   rJ   rK   rR   rS   Únoiser±   r³   r™   r    )r   r   r   rœ   r�   rÖ   r	   r   rž   r!   rŸ   r    s          r-   Útest_select_kbest_regressionrâ   <  sº   € ô ØØØØØØô�D€A€qô $¤L°AÔ6ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜÐ-Ô.ä¤°8À1ÔEß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Õ'r/   c                  óü  — t        dddddd¬«      \  } }t        t        d¬	«      }|j                  | |«      j	                  | «      }t        j                  d«      }d
|d d dD ]—  }t        t        |d¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        |d d t        j                  dt        ¬«      «       t        j                  |dd  d
k(  «      dk  rŒ—J ‚ y )NrC   rD   rT   Fr   r   rà   rÆ   rÇ   r    rÉ   r™   ©rT   rº   r   )r   r   r   rœ   r�   r!   rŸ   r	   r   rž   r|   r¿   rÓ   rÍ   s           r-   Ú!test_select_heuristics_regressionrå   X  só   € ô ØØØØØØô�D€A€qô "¤,°dÔ;ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JØ%ò 	,ˆä#¤L°tÀ4ÔHß‰S��A‹Yß‰Y�q‹\ð 	ô
 	˜3 Ô%Ø#×/Ñ/Ó1ˆÜ˜7 2 A˜;¬¯©°¼DÔ(AÔBÜ�v‰v�g˜a˜b�k QÑ&Ó'¨!Ó+Ð+Ð+ñ	,r/   c                  ó`  — t        j                  ddgddgddgg«      } t        j                  dgdgdgg«      }t        | |«      \  }}t        |t        j                  ddg«      «       t        |t        j                  dd	g«      «       t	        t        d
¬«      }|j                  | |«       |j                  «       }t        |t        j                  ddg«      «       t        t        d¬«      }|j                  | |«       |j                  «       }t        |t        j                  ddg«      «       t        t        d¬«      }|j                  | |«       |j                  «       }	t        |	t        j                  ddg«      «       t        t        d
¬«      }
|
j                  | |«       |
j                  «       }t        |t        j                  ddg«      «       t        t        d
¬«      }|j                  | |«       |j                  «       }t        |t        j                  ddg«      «       y )Nr   rD   é   r    r   g      @gŒgŽ´mÛæ?g–©QaÏK§?gX’Ù¬<yÙ?çš™™™™™¹?rÇ   TFr±   é2   r—   )r!   Úarrayr   r   r
   rœ   rž   r   r   r   r   r   )r:   r;   rÕ   ÚpvaluesÚ
filter_fdrÚsupport_fdrÚfilter_kbestÚsupport_kbestÚfilter_percentileÚsupport_percentileÚ
filter_fprÚsupport_fprÚ
filter_fweÚsupport_fwes                 r-   Útest_boundary_case_ch2rö   u  s¾  € ä
�‰�2�r�(˜R ˜H r¨2 hÐ/Ó0€AÜ
�‰�1�#˜�s˜Q˜C�Ó!€AÜ˜1˜a“j�O€FˆGÜ˜f¤b§h¡h°°ZÐ/@Ó&AÔBÜ˜g¤r§x¡x°¸ZÐ0HÓ'IÔJäœ4 sÔ+€JØ‡N�N�1�aÔØ×(Ñ(Ó*€KÜ�{¤B§H¡H¨d°E¨]Ó$;Ô<äœt qÔ)€LØ×Ñ�Q˜ÔØ ×,Ñ,Ó.€MÜ�}¤b§h¡h°°e¨}Ó&=Ô>ä(¬¸"Ô=ÐØ×Ñ˜!˜QÔØ*×6Ñ6Ó8ÐÜÐ)¬2¯8©8°T¸5°MÓ+BÔCäœ4 sÔ+€JØ‡N�N�1�aÔØ×(Ñ(Ó*€KÜ�{¤B§H¡H¨d°E¨]Ó$;Ô<äœ4 sÔ+€JØ‡N�N�1�aÔØ×(Ñ(Ó*€KÜ�{¤B§H¡H¨d°E¨]Ó$;Õ<r/   rÈ   )gü©ñÒMbP?rÆ   rè   rK   )r    rT   r   c           
      óª   — d„ }t        j                  t        d«      D �cg c]  } || ||«      ‘Œ c}«      }| |k\  sJ ‚|dk7  r|| dz  kD  sJ ‚y y c c}w )Nc                 ó
  — t        dd|d|d¬«      \  }}t        j                  d¬«      5  t        t        | ¬«      }|j                  ||«      j                  |«      }t        t        d	| ¬
«      j                  ||«      j                  |«      }d d d «       t        «       j                  «       }t        j                  ||d  dk(  «      }	t        j                  |d | dk(  «      }
|	dk(  ry|	|
|	z   z  }|S # 1 sw Y   ŒkxY w)Né–   rD   Fr   rà   T)ÚrecordrÇ   rÊ   r™   r    r   rG   )r   r„   r…   r
   r   rœ   r�   r	   r   rž   r!   rÓ   )rÈ   rK   rS   r:   r;   r¡   r¢   r£   r¤   Únum_false_positivesÚnum_true_positivesÚfalse_discovery_rates               r-   Ú
single_fdrz.test_select_fdr_regression.<locals>.single_fdr›  s  € ÜØØØ'ØØ%Øô
‰ˆˆ1ô ×$Ñ$¨DÔ1ñ 		ô !*¬,¸eÔ DÐØ#×'Ñ'¨¨1Ó-×7Ñ7¸Ó:ˆCä'¬¸5ÈÔNß‘�Q˜“ß‘˜1“ð ÷		ô 	˜3 Ô%Ø#×/Ñ/Ó1ˆÜ Ÿf™f W¨]¨^Ð%<ÀÑ%AÓBÐÜŸV™V G¨N¨]Ð$;¸qÑ$@ÓAÐà !Ò#ØØ2ØÐ!4Ñ4ñ 
Ðð $Ð#÷+		ð 		ús   «A$C9Ã9DrÝ   r   r   )r!   ÚmeanÚrange)rÈ   rK   rþ   rS   rý   s        r-   Útest_select_fdr_regressionr  —  sm   € ò$ôH Ÿ7™7ÜLQÐRUËJÖW¸L‰�E˜=¨,Õ	7ÒWóÐð Ð(Ò(Ð(Ð(ð ˜qÒ Ø# e¨b¡jÒ0Ð0Ñ0ð !ùò 	Xs    Ac                  óì  — t        ddddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        t        d	d¬
«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        |d d t        j                  dt        ¬«      «       t        j                  |dd  dk(  «      dk  sJ ‚y )NrC   rD   rT   Fr   r_   rÆ   rÇ   rÌ   r™   r    rä   rº   rE   )r   r   r   rœ   r�   r	   r   rž   r!   rŸ   r|   r¿   rÓ   r    s          r-   Útest_select_fwe_regressionr  Ê  sÞ   € ô Ø "°A¸uÐSTô�D€A€qô "¤,°dÔ;ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€Cä¤°5ÀÔEß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w˜r �{¤B§G¡G¨D¼Ô$=Ô>Ü�6‰6�'˜!˜"�+ Ñ"Ó# aÒ'Ð'Ñ'r/   c                  ó^  — g d¢g d¢g d¢g d¢g} dg}d„ }| D ]”  }t        |d¬«      } t        |j                  «      |g|«      }|j                  d   dk(  sJ ‚t	        |«       t        |d¬«      } t        |j                  «      |g|«      }|j                  d   dk(  sJ ‚t	        |«       Œ– y )	N©r   r    r    ©r   r   r    ©r    r   r   ©r    r    r   r    c                 ó   — | d   | d   fS ©Nr   © ©r:   r;   s     r-   ú<lambda>z.test_selectkbest_tiebreaking.<locals>.<lambda>æ  ó   €   !¡ a¨¡d˜|€ r/   r±   rE   )r   r   Úfit_transformr«   rÖ   ©ÚXsr;   Údummy_scorer:   Úselr'   r(   s          r-   Útest_selectkbest_tiebreakingr  á  s·   € ò ’Y¢	ª9Ð	5€BØ	
ˆ€AÙ+€KØò 	%ˆÜ˜+¨Ô+ˆØ/Œ_˜S×.Ñ.Ó/°°°QÓ7ˆØ�x‰x˜‰{˜aÒÐÐÜ Ô$ä˜+¨Ô+ˆØ/Œ_˜S×.Ñ.Ó/°°°QÓ7ˆØ�x‰x˜‰{˜aÒÐÐÜ Õ$ñ	%r/   c                  ó^  — g d¢g d¢g d¢g d¢g} dg}d„ }| D ]”  }t        |d¬«      } t        |j                  «      |g|«      }|j                  d   dk(  sJ ‚t	        |«       t        |d	¬«      } t        |j                  «      |g|«      }|j                  d   d
k(  sJ ‚t	        |«       Œ– y )Nr  r  r  r  r    c                 ó   — | d   | d   fS r
  r  r  s     r-   r  z3test_selectpercentile_tiebreaking.<locals>.<lambda>÷  r  r/   é"   r—   éC   rE   )r   r   r  r«   rÖ   r  s          r-   Ú!test_selectpercentile_tiebreakingr  ó  sµ   € â
’Y¢	ª9Ð	5€BØ	
ˆ€AÙ+€KØò 	%ˆÜ˜{°rÔ:ˆØ/Œ_˜S×.Ñ.Ó/°°°QÓ7ˆØ�x‰x˜‰{˜aÒÐÐÜ Ô$ä˜{°rÔ:ˆØ/Œ_˜S×.Ñ.Ó/°°°QÓ7ˆØ�x‰x˜‰{˜aÒÐÐÜ Õ$ñ	%r/   c                  óh  — t        j                  g d¢g d¢g«      } ddg}t        j                  d«      D ]{  }| d d …|f   }t	        t
        d¬«      j                  ||«      }|j                  dk(  sJ ‚d	|vsJ ‚t        t
        d
¬«      j                  ||«      }|j                  dk(  sJ ‚d	|vrŒ{J ‚ y )N)é'  é'  é'  ©r    r    r    r   r    ©r   r    rE   rE   r±   )rE   rE   r  r  r—   )	r!   rê   Ú	itertoolsÚpermutationsr   r   r  r«   r   )ÚX0r;   Úpermr:   ÚXts        r-   Útest_tied_pvaluesr%    s¶   € ô 
�‰Ò&ª	Ð2Ó	3€BØ	
ˆAˆ€Aä×&Ñ& yÓ1ò ˆØŠq�$ˆw‰KˆÜœ Ô#×1Ñ1°!°QÓ7ˆØ�x‰x˜6Ò!Ð!Ð!Ø˜2‰~Ðˆ~äœd¨rÔ2×@Ñ@ÀÀAÓFˆØ�x‰x˜6Ò!Ð!Ð!Ø˜2Š~Ðˆ~ñr/   c                  ó6  — t        j                  g d¢g d¢g d¢g«      } ddgddgddgg}t        t        d¬«      j	                  | |«      }|j
                  dk(  sJ ‚d|vsJ ‚t        t        d	¬
«      j	                  | |«      }|j
                  dk(  sJ ‚d|vsJ ‚y )N)r  r  r   )rÝ   r  r   )iè  éc   r   r    r   rE   r±   )r   rE   r  r—   )r!   rê   r   r   r  r«   r   )r:   r;   r$  s      r-   Útest_scorefunc_multilabelr(    s    € ô 	�‰Ò"¢N²MÐBÓC€AØ
ˆQˆ�!�Q�˜!˜Q˜Ð €Aä	”T˜QÔ	×	-Ñ	-¨a°Ó	3€BØ�8‰8�vÒÐÐØ�B‰;Ðˆ;ä	œ$¨2Ô	.×	<Ñ	<¸QÀÓ	B€BØ�8‰8�vÒÐÐØ�B‰;Ð‰;r/   c                  ó  — t        j                  g d¢g d¢g«      } ddg}dD ]]  }t        t        |¬«      j	                  | |«      }|j                  g d¢g«      }t        |d   t        j                  d«      | d  «       Œ_ y )	N)r   r   r   r  r   r    )r    rE   r   r±   r  r   )r!   rê   r   r   rœ   r�   r   r7   )ÚX_trainÚy_trainrJ   r  ÚX_tests        r-   Útest_tied_scoresr-  %  sw   € ä�h‰hš	¢9Ð-Ó.€GØ�!ˆf€Gàò Bˆ
Üœ$ *Ô-×1Ñ1°'¸7ÓCˆØ—‘¢	˜{Ó+ˆÜ˜6 !™9¤b§i¡i°£l°J°;°<Ð&@ÕAñBr/   c                  ó
  — g d¢g d¢g d¢g} g d¢}t        t        d¬«      t        t        d¬«      fD ]O  } t        |j                  «      | |«       t        |j                  d	¬
«      t        j                  ddg«      «       ŒQ y )N©r   r    r   ©r   ra   ra   ©r   ç      à?r2  ©r    r   r    rE   r±   r  r—   T)Úindicesr    )	r   r   r   r   rœ   r   rž   r!   rê   )r:   r;   Úselects      r-   Ú	test_nansr6  0  sz   € ò 
’K¢Ð/€AÚ€Aô 	”I Ô#Üœ¨rÔ2ðò Oˆð 	$Œ˜Ÿ
™
Ó# A qÔ)Ü˜6×-Ñ-°dÐ-Ó;¼R¿X¹XÀqÈ!ÀfÓ=MÕNñOr/   c                  óX  — g d¢g d¢g d¢g} g d¢}d}t        j                  t        |¬«      5  t        d¬«      j	                  | |«       d d d «       t        j                  t        |¬«      5  t        d	d¬
«      j	                  | |«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)Nr/  r0  r1  r3  zDk=4 is greater than n_features=3. All the features will be returned.r½   r3   r±   r³   r™   )rÀ   rÁ   rÂ   r   rœ   r	   )r:   r;   Úmsgs      r-   Útest_invalid_kr9  ?  s”   € Ú	’K¢Ð/€AÚ€Aà
P€CÜ	�‰”k¨Ô	-ñ #Ü�aÔ×Ñ˜Q Ô"÷#ä	�‰”k¨Ô	-ñ BÜ X°QÔ7×;Ñ;¸A¸qÔA÷Bð B÷#ð #ú÷Bð Bús   ­BÁ-B ÂBÂ B)c                  óª   — t        dd¬«      \  } }d| d d …df<   t        j                  t        «      5  t	        | |«       d d d «       y # 1 sw Y   y xY w)Nr   rT   )rI   rJ   rz   r   )r   rÀ   rÁ   rÂ   r   r  s     r-   Útest_f_classif_constant_featurer;  J  sK   € ô ¨¸Ô:�D€A€qØ€A‚aˆ€d�GÜ	�‰”kÓ	"ñ Ü�!�QŒ÷÷ ñ ús   ³A	Á	Ac                  ó¬  — t         j                  j                  d«      } | j                  dd«      }| j	                  ddd¬«      }t        d¬«      j                  ||«      t        d¬«      j                  ||«      t        d¬«      j                  ||«      t        d¬«      j                  ||«      t        d¬	«      j                  ||«      g}|D ]u  }t        |j                  «       t        j                  d«      «       t        j                  t         d
¬«      5  |j#                  |«      }d d d «       j$                  dk(  rŒuJ ‚ y # 1 sw Y   ŒxY w)Nr   é(   r   r3   r1   rÆ   rÇ   r—   r±   r¼   r½   )r=  r   )r!   r"   r#   rp   r6   r   rœ   r
   r   r   r   r   rž   rŸ   rÀ   rÁ   rÂ   r�   r«   )r&   r:   r;   Ústrict_selectorsÚselectorrÃ   s         r-   Útest_no_feature_selectedr@  S  s!  € Ü
�)‰)×
Ñ
 Ó
"€Cð 	�‰��RÓ€AØ�‰�A�q˜rˆÓ"€Aä˜Ô×!Ñ! ! QÓ'Ü˜Ô×!Ñ! ! QÓ'Ü˜Ô×!Ñ! ! QÓ'Ü AÔ&×*Ñ*¨1¨aÓ0Ü�aÔ×Ñ˜Q Ó"ðÐð %ò +ˆÜ˜8×/Ñ/Ó1´2·8±8¸B³<Ô@Ü�\‰\œ+Ð-HÔIñ 	/Ø!×+Ñ+¨AÓ.ˆJ÷	/à×Ñ 7Ó*Ð*Ð*ñ	+÷	/ð 	/ús   ÄE
Å
E	c                  óÊ  — t        ddddddddddd¬	«      \  } }t        t        d¬
«      }|j                  | |«      j	                  | «      }t        t        dd¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       t        t        d¬«      }|j                  | |«      j	                  | «      }t        t        dd¬«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d|d d t        ||«       y )NrÝ   rT   r    r   rE   rG   r   FrH   r±   r³   r™   r=  r—   r˜   )r   r   r   rœ   r�   r	   r   rž   r!   rŸ   r   r    s          r-   Útest_mutual_info_classifrB  h  sO  € ÜØØØØØØØØØØØô�D€A€qô $Ô$7¸1Ô=ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CäÔ 3¸(È!ÔLß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�a‹[€FØ€Fˆ2ˆA€JÜ�w Ô'ô )Ô)<ÈÔLÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CäÔ 3¸,ÈbÔQß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�a‹[€FØ€Fˆ2ˆA€JÜ�w Õ'r/   c                  óÖ  — t        dddddd¬«      \  } }t        t        d¬«      }|j                  | |«      j	                  | «      }t        |«       t        t        dd¬	«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d
|d d t        ||«       t        t        d¬«      }|j                  | |«      j	                  | «      }t        t        dd¬	«      j                  | |«      j	                  | «      }t        ||«       |j                  «       }t        j                  d«      }d
|d d t        ||«       y )NrÝ   r   rE   Fr   rà   r±   r³   r™   r    rD   r—   r˜   )r   r   r   rœ   r�   rÖ   r	   r   rž   r!   rŸ   r   r    s          r-   Útest_mutual_info_regressionrD  ”  sJ  € ÜØØØØØØô�D€A€qô $Ô$:¸aÔ@ÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CÜÐ-Ô.äÔ 6¸XÈQÔOß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Ô'ô )Ô)?ÈBÔOÐØ
×
Ñ
  1Ó
%×
/Ñ
/°Ó
2€CäÔ 6¸\ÐQSÔTß	‰ˆQ�‹ß	‰�1‹ð 	ô
 �s˜DÔ!Ø×+Ñ+Ó-€GÜ�X‰X�b‹\€FØ€Fˆ2ˆA€JÜ�w Õ'r/   c                  óþ  ‡— t        j                  d«      } t        dd¬«      \  }}|j                  t        j
                  t        j                  dœ«      }| j                  |d   d¬«      |d<   |j                  Šˆfd	„}t        |d
¬«      j                  d¬«      }|j                  ||«      }t        |j                  g d¢«       |j                  j                  «       D ]  \  }}||j                  |   k(  rŒJ ‚ y)zmCheck that the output datafarme dtypes are the same as the input.

    Non-regression test for gh-24860.
    ÚpandasT)Ú
return_X_yÚas_frame)úpetal length (cm)úpetal width (cm)rJ  r   )ÚbinsÚpetal_width_binnedc                 ój   •— ddddddœ}t        j                  ‰D �cg c]  }||   ‘Œ	 c}«      S c c}w )Nr    rE   r   r3   rT   )zsepal length (cm)zsepal width (cm)rI  rJ  rL  )r!   Úasarray)r:   r;   ÚrankingÚnameÚcolumn_orders       €r-   r?  z.test_dataframe_output_dtypes.<locals>.selectorÎ  s<   ø€ à!"Ø !Ø!"Ø !Ø"#ñ
ˆô �z‰z°\ÖB¨T˜7 4›=ÒBÓCÐCùÒBs   �0r   r±   )r�   )rI  rJ  rL  N)rÀ   Úimportorskipr   r8   r!   Úfloat32Úfloat64ÚcutÚcolumnsr   Ú
set_outputr  r   ÚdtypesÚitems)	Úpdr:   r;   r?  r¡   ÚoutputrP  r»   rQ  s	           @r-   Útest_dataframe_output_dtypesr\  ¼  sî   ø€ ô
 
×	Ñ	˜XÓ	&€Bä ¨tÔ4�D€A€qØ	�‰ä!#§¡Ü "§
¡
ñ	
ó	€Að !Ÿf™f QÐ'9Ñ%:À˜fÓD€AÐÑà—9‘9€LôDô $ H°Ô2×=Ñ=ÈÐ=ÓQÐØ×,Ñ,¨Q°Ó2€FäØ�‰ÒWôð —}‘}×*Ñ*Ó,ò '‰ˆˆeØ˜Ÿ™ ™Ó&Ð&Ð&ñ'r/   r?  r±   éP   r—   r³   r™   r˜   c                 óL  — t         j                  j                  d«      }|j                  dd«      }dd„}| j	                  |¬«       | j                  |«       | j                  |«      }t        ||dd…dd…f   «       | j                  |«      }t        ||dd…dd…f   «       y)	zeCheck support for unsupervised feature selection for the filter that could
    require only `X`.
    r   r   rT   Nc                 ó0   — t        j                  g d¢«      S )N)r    r    r    r    r   )r!   rê   r  s     r-   Ú
score_funcz,test_unsupervised_filter.<locals>.score_funcò  s   € Ü�x‰xšÓ(Ð(r/   )r`  r3   rÐ   )	r!   r"   r#   r$   Ú
set_paramsrœ   r�   r   r  )r?  r&   r:   r`  ÚX_transs        r-   Útest_unsupervised_filterrc  â  s—   € ô �)‰)×
Ñ
 Ó
"€CØ�	‰	�"�aÓ€Aó)ð ×Ñ :ÐÔ.Ø‡L�L�„OØ× Ñ  Ó#€GÜ�G˜Qšq " 1 "˜u™XÔ&Ø×$Ñ$ QÓ'€GÜ�G˜Qšq " 1 "˜u™XÕ&r/   )UÚ__doc__r   r„   Únumpyr!   rÀ   Únumpy.testingr   Úscipyr   r   Úsklearn.datasetsr   r   r   Úsklearn.feature_selectionr	   r
   r   r   r   r   r   r   r   r   r   r   r   Úsklearn.utilsr   Úsklearn.utils._testingr   r   r   r   r   Úsklearn.utils.fixesr   r.   r?   ÚmarkÚparametrizer\   rl   rn   ru   r   rê   Únanr‹   ÚfinforT  ÚmaxÚinfr‘   r“   r¦   r¯   r´   r·   rS  rÄ   rÎ   rÖ   rÛ   rÞ   râ   rå   rö   r  r  r  r  r%  r(  r-  r6  r9  r;  r@  rB  rD  r\  rc  r  r/   r-   ú<module>rs     sa  ðñó Û ã Û Ý )ß ç LÑ L÷÷ ÷ õ õ $÷õ õ /ò ò2ð ‡�×Ñ˜¨.Ó9ñ-ó :ð-ð8 ‡�×Ñ˜ D¨% =Ó1ñFó 2ðFð* ‡�×Ñ˜¨.Ó9ñ#ó :ð#ò6
!ò,ð" ‡�×ÑØ,ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�c˜7�^Ó$Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�c˜3�ZÓ Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜gÐ&Ó'Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜bŸf™fÐ%Ó&Øð	
ð-ó ñB	HóC ðB	Hð ‡�×ÑØAð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�c˜9Ð%Ó&ØˆB�H‰H�c˜:Ð&Ó'Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�c˜3�ZÓ ØˆB�H‰H�c˜3�ZÓ Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�h�b—h‘h˜rŸz™zÓ*×.Ñ.°Ð9Ó:ØˆB�H‰H�c˜8�_Ó%Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�h�b—h‘h˜rŸz™zÓ*×.Ñ.°Ð9Ó:ØˆB�H‰H�c˜8�_Ó%Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜iÐ(Ó)ØˆB�H‰H�b—f‘f˜jÐ)Ó*Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜bŸf™fÐ%Ó&ØˆB�H‰H�b—f‘f˜bŸf™fÐ%Ó&Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜hÐ'Ó(ØˆB�H‰H�c˜8�_Ó%Øð	
ð ˆB�H‰H�q˜!�f˜q !˜f q¨" g°°1¨vÐ6Ó7ØˆB�H‰H’\Ó"ØˆB�H‰H�b—f‘f˜hÐ'Ó(ØˆB�H‰H�c˜8�_Ó%Øð	
ðsAóDñJFóKDðJFò#ò2(ð@ ‡�×Ñ˜¨.Ó9ñ%"ó :ð%"òX(ò@"ð& ‡�×Ñ˜ b§j¡j°"·*±*Ð%=Ó>ñ(ó ?ð(ò$)òJQòò<(ò*(ò8,ò:=ðD ‡�×Ñ˜Ò"4Ó5Ø‡�×Ñ˜ª*Ó5ñ.1ó 6ó 6ð.1òb(ò.%ò$%ò"ò$òBòOòBòò+ò*)(òX%(òP#'ðL ‡�×ÑØá�aÔÙ BÔ'Ù X°QÔ7Ù \¸Ô<ð	óñ'óñ'r/   