§
    ¦˜ºhßY  ã                   ól  — d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d	lmZmZmZmZmZ  ej        d
dgddgdd
gddgddgddggd¬¦  «        Z ej        g d¢¦  «        Z ej        g d¢¦  «        Z ej        d
gdgdgdgdgdggd¬¦  «        Z ej        d d gd
d
gd
dgddgdd
gddgddgddgddgg	¦  «        Z  ej        g d¢¦  «        Z! ej        g d¢¦  «        Z" ej        dgd
gdgdgd gdgdgdgdgg	¦  «        Z# ej        dd gd
d gdd gdd gd d gdd gdd gdd gdd gg	¦  «        Z$ ej        g d¢¦  «        Z%ej&         ej'        d¦  «         ej(        d¦  «        f         Z) ej        g d¢¦  «        Z*g d¢Z+d„ Z,ej-         .                    dddg¦  «        ej-         .                    dg d¢¦  «        d„ ¦   «         ¦   «         Z/d „ Z0d!„ Z1d"„ Z2d#„ Z3d$„ Z4d%„ Z5d&„ Z6ej-         .                    d' e7d(¦  «        ¦  «        d)„ ¦   «         Z8d*„ Z9ej-         .                    d+dd,g¦  «        ej-         .                    dd,dg¦  «        d-„ ¦   «         ¦   «         Z:ej-         .                    d.ej;        ej;        fej<        ej<        fej=        ej<        fej>        ej<        fg¦  «        d/„ ¦   «         Z?d0„ Z@d1„ ZAd2„ ZBej-         .                    d3g d4¢¦  «        d5„ ¦   «         ZCd6„ ZDd7„ ZEd8„ ZFd9„ ZGej-         .                    dg d¢¦  «        d:„ ¦   «         ZHd;„ ZIdS )<é    N)Úlinalg)ÚKMeans)Ú
LedoitWolfÚShrunkCovarianceÚledoit_wolf)Ú
make_blobs)ÚLinearDiscriminantAnalysisÚQuadraticDiscriminantAnalysisÚ_cov)ÚStandardScaler)Úcheck_random_state)Ú_convert_containerÚassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equaléþÿÿÿéÿÿÿÿé   é   Úf©Údtype)r   r   r   r   r   r   )r   r   r   r   é   r   r   )	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   éýÿÿÿ)	r   r   r   r   r   r   r   r   r   é   )r   r   )r   r   r   r   r   r   r   r   )	)ÚsvdN)ÚlsqrN)ÚeigenN)r   Úauto)r   r   )r   ç…ëQ¸…Û?)r   r    )r   r   )r   r!   c            	      óÊ  — t           D �]¤} | \  }}t          ||¬¦  «        }|                     t          t          ¦  «                             t          ¦  «        }t          |t          d|z  ¦  «         |                     t          t          ¦  «                             t          ¦  «        }t          |t          d|z  ¦  «         |                     t          ¦  «        }t          |d d …df         dk    dz   t          d|z  ¦  «         | 	                    t          ¦  «        }t          t          j        |¦  «        |ddd|z  ¬¦  «         |                     t          t          ¦  «                             t          ¦  «        }t          j        |t          k    ¦  «        sJ d|z  ¦   «         ‚�Œ¦t          dd¬¦  «        }t          j        t"          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d	d
t%          ¦   «         ¬¦  «        }t          j        t&          d¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          dt)          ¦   «         ¬¦  «        }t          j        t&          d¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d	t+          dd¬¦  «        ¬¦  «        }t          j        t&          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©ÚsolverÚ	shrinkagez	solver %sr   ç      à?ç�íµ ÷Æ°>)ÚrtolÚatolÚerr_msgr   r    r   çš™™™™™¹?)r$   r%   Úcovariance_estimatorz[covariance_estimator and shrinkage parameters are not None. Only one of the two can be set.©Úmatch)r$   r,   z.covariance estimator is not supported with svdr   )Ú
n_clustersÚn_init)Úsolver_shrinkager	   ÚfitÚXÚyÚpredictr   ÚX1Úpredict_probaÚpredict_log_probar   ÚnpÚexpÚy3ÚanyÚpytestÚraisesÚNotImplementedErrorr   Ú
ValueErrorr   r   )	Ú	test_caser$   r%   ÚclfÚy_predÚy_pred1Úy_proba_pred1Úy_log_proba_pred1Úy_pred3s	            úp/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/tests/test_discriminant_analysis.pyÚtest_lda_predictrI   E   s÷  € õ &ð ;ñ ;ˆ	Ø%Ñˆ�	Ý(°À)ÐLÑLÔLˆØ—’��A‘”×&Ò&¥qÑ)Ô)ˆÝ˜6¥1 k°FÑ&:Ñ;Ô;Ð;ð —'’'�"�a‘.”.×(Ò(­Ñ,Ô,ˆÝ˜7¥A {°VÑ';Ñ<Ô<Ð<ð ×)Ò)­"Ñ-Ô-ˆÝ˜M¨!¨!¨!¨Q¨$Ô/°#Ò5¸Ñ:½A¸{ÈVÑ?SÑTÔTÐTØ×1Ò1µ"Ñ5Ô5ÐÝÝŒFÐ$Ñ%Ô%ØØØØ &Ñ(ð	
ñ 	
ô 	
ð 	
ð —'’'�!�R‘.”.×(Ò(­Ñ+Ô+ˆåŒv�g¥’mÑ$Ô$Ð:Ð: k°FÑ&:Ñ:Ô:Ð:Ñ:å
$¨E¸VÐ
DÑ
DÔ
D€CÝ	ŒÕ*Ñ	+Ô	+ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ %Ø Õ;KÑ;MÔ;Mðñ ô €Cõ 
ŒÝð.ð
ñ 
ô 
ð ð ð 	�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ %¨EÍ
ÉÌÐ
UÑ
UÔ
U€CÝ	ŒÝÐJð
ñ 
ô 
ð ð ð 	�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ %Ø­F¸aÈÐ,OÑ,OÔ,Oðñ ô €Cõ 
Œ•zÑ	"Ô	"ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sH   Ç!HÈH	ÈH	É	!I6É6I:É=I:Ê9!K&Ë&K*Ë-K*Ì*!MÍMÍMÚ	n_classesr$   ©r   r   r   c                 ó`  ‡‡‡‡‡— dd„}t          j        ddgddgddgg¦  «        d ‰…         }t          j        ddgddgggt          |¦  «        z  ¦  «        } |d	||d
¬¦  «        \  }}t          | dd ¬¦  «                             ||¦  «        }t          |j        |d¬¦  «         t          |j        |d         d¬¦  «         t          j	        |d         ¦  «        }g Šg Št          t          |¦  «        dz
  ¦  «        D ]¡}	‰                     t          j        |||	         |d         z
  d d …t           j        f         ¦  «        ¦  «         ‰                     t          j        d||	         |d         z   t           j        d d …f         z  ‰d         ¦  «        ¦  «         Œ¢t          j        ddgg¦  «        Šd„ Št          j        ˆˆˆˆˆfd„t          ‰dz
  ¦  «        D ¦   «         ¦  «        }
dt          j        |
¦  «        z
  }t          ddt          ˆˆˆˆfd„t          ‰dz
  ¦  «        D ¦   «         ¦  «        z   z  ¦  «        }|t!          j        |¦  «        k    sJ ‚t          |                     ‰¦  «        t          j        |
|g¦  «        t           j                 d¬¦  «         d S )Nc                 ó  ‡ ‡‡— t          |¦  «        Št          j        ˆˆ ˆfd„t          ‰|¦  «        D ¦   «         ¦  «        }t          j        ˆˆ fd„t          t          ‰¦  «        ¦  «        D ¦   «         ¦  «        }||fS )zNGenerate a multivariate normal data given some centers and
        covariancesc           
      óf   •— g | ]-\  }}‰                      ||‰t          ‰¦  «        z  ¬ ¦  «        ‘Œ.S )©Úsize)Úmultivariate_normalÚlen)Ú.0ÚmeanÚcovÚcentersÚ	n_samplesÚrngs      €€€rH   ú
<listcomp>zDtest_lda_predict_proba.<locals>.generate_dataset.<locals>.<listcomp>Œ   sM   ø€ ð ð ð á�D˜#ð ×'Ò'¨¨c¸	ÅSÈÁ\Ä\Ñ8QÐ'ÑRÔRðð ð ó    c                 ó<   •— g | ]}|g‰t          ‰¦  «        z  z  ‘ŒS © )rR   )rS   ÚclazzrV   rW   s     €€rH   rY   zDtest_lda_predict_proba.<locals>.generate_dataset.<locals>.<listcomp>’   s+   ø€ ÐTÐTÐT°uˆeˆW˜	¥S¨¡\¤\Ñ1Ñ2ÐTÐTÐTrZ   )r   r9   ÚvstackÚzipÚhstackÚrangerR   )rW   rV   ÚcovariancesÚrandom_stater3   r4   rX   s   ``    @rH   Úgenerate_datasetz0test_lda_predict_proba.<locals>.generate_dataset‡   s¥   øøø€ õ ! Ñ.Ô.ˆÝŒIðð ð ð ð ð å!$ W¨kÑ!:Ô!:ðñ ô ñ
ô 
ˆõ ŒIØTÐTÐTÐTÐTÅÅcÈ'ÁlÄlÑ@SÔ@SÐTÑTÔTñ
ô 
ˆð �!ˆtˆrZ   r   éöÿÿÿé(   iâÿÿÿé   é
   éd   i�_ é*   )rW   rV   rb   rc   T)r$   Ústore_covariancer%   r+   )r)   r   r   ç      à¿iêÿÿÿé   c                 ó’   — t          j        ||         t          j        | ||         ¦  «        z   ¦  «                             ¦   «         S ©N)r9   r:   ÚdotÚitem)ÚsampleÚcoefÚ	interceptr]   s       rH   Údiscriminant_funcz1test_lda_predict_proba.<locals>.discriminant_func¶   s8   € ÝŒv�i Ô&­¬°¸¸U¼Ñ)DÔ)DÑDÑEÔE×JÒJÑLÔLÐLrZ   c                 óª   •— g | ]O}t           ‰‰‰‰|¦  «        d t          ˆˆˆˆfd„t          ‰d z
  ¦  «        D ¦   «         ¦  «        z   z  ¦  «        ‘ŒPS )r   c                 ó,   •— g | ]} ‰‰‰‰|¦  «        ‘ŒS r\   r\   ©rS   r]   Úalpha_kÚ	alpha_k_0ru   rr   s     €€€€rH   rY   z5test_lda_predict_proba.<locals>.<listcomp>.<listcomp>À   s:   ø€ ð ð ð à %ð .Ð-¨f°g¸yÈ%ÑPÔPðð ð rZ   )ÚfloatÚsumra   )rS   r]   ry   rz   ru   rJ   rr   s     €€€€€rH   rY   z*test_lda_predict_proba.<locals>.<listcomp>º   s¤   ø€ ð 	
ð 	
ð 	
ð õ Ø!Ð! &¨'°9¸eÑDÔDàÝðð ð ð ð ð ð å).¨y¸1©}Ñ)=Ô)=ðñ ô ñô ññ	ñô ð	
ð 	
ð 	
rZ   c                 ó,   •— g | ]} ‰‰‰‰|¦  «        ‘ŒS r\   r\   rx   s     €€€€rH   rY   z*test_lda_predict_proba.<locals>.<listcomp>Ô   s:   ø€ ð ð ð àð &Ð% f¨g°yÀ%ÑHÔHðð ð rZ   ç{®Gáz„?ro   )r9   ÚarrayrR   r	   r2   r   Úmeans_Úcovariance_r   Úinvra   Úappendrp   Únewaxisr|   r{   r=   Úapproxr7   r`   )r$   rJ   rd   Úblob_centersÚ	blob_stdsr3   r4   ÚldaÚ	precisionr]   ÚprobÚprob_refÚ
prob_ref_2ry   rz   ru   rr   s    `           @@@@rH   Útest_lda_predict_probar�   „   sN  øøøøø€ ðð ð ð õ ”8˜a ˜V c¨2 Y°°b°	Ð:Ñ;Ô;¸J¸Y¸JÔG€LÝ”˜B ˜8 b¨# YÐ/Ð0µ3°|Ñ3DÔ3DÑDÑEÔE€IØÐØ ¸9ÐSUðñ ô �D€A€qõ %Ø¨¸ðñ ô ç	‚cˆ!ˆQ�i„ið õ
 �C”J °4Ð8Ñ8Ô8Ð8Ý�C”O Y¨q¤\¸Ð:Ñ:Ô:Ð:õ
 ”
˜9 Qœ<Ñ(Ô(€IØ€GØ€IÝ•s˜<Ñ(Ô(¨1Ñ,Ñ-Ô-ð 	
ð 	
ˆØ�ŠÝŒF�9˜|¨EÔ2°\À"Ô5EÑEÀqÀqÀqÍ"Ì*À}ÔUÑVÔVñ	
ô 	
ð 	
ð 	×ÒÝŒFØ˜ UÔ+¨l¸2Ô.>Ñ>ÅÄ
ÈAÈAÈAÀÔNÑNØ˜”ñô ñ	
ô 	
ð 	
ð 	
õ ŒX˜˜R�y�kÑ"Ô"€FðMð Mð Mõ Œ8ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
õ ˜y¨1™}Ñ-Ô-ð	
ñ 	
ô 	
ñô €Dð$ •2”6˜$‘<”<Ñ€Hõ Ø	àÝðð ð ð ð ð ð å!& y°1¡}Ñ!5Ô!5ðñ ô ñô ññ		
ñô €Jð •v”} ZÑ0Ô0Ò0Ð0Ð0Ð0õ Ø×Ò˜&Ñ!Ô!¥2¤9¨d°HÐ-=Ñ#>Ô#>½r¼zÔ#JÐQUðñ ô ð ð ð rZ   c                  ó¦  — t          j        ddg¦  «        } t          | ¬¦  «        }d}t          j        t
          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ddg¬¦  «        }|                     t          t          ¦  «         t          j        ddg¦  «        } t          j        ddg¦  «        }t          | ¬¦  «        }t          j	        t          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        |d	¦  «         d S )
Nr&   rl   ©Úpriorszpriors must be non-negativer-   ç333333ã?çÍÌÌÌÌÌÜ?gš™™™™™á?r   )r9   r   r	   r=   r>   r@   r2   r3   r4   ÚwarnsÚUserWarningr   Úpriors_)r�   rB   ÚmsgÚ
prior_norms       rH   Útest_lda_priorsr˜   ä   s–  € åŒX�s˜D�kÑ"Ô"€FÝ
$¨FÐ
3Ñ
3Ô
3€CØ
'€Cå	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 %¨S°#¨JÐ
7Ñ
7Ô
7€CØ‡G‚G�A�q�M„M€Mõ ŒX�s˜C�jÑ!Ô!€FÝ”˜4 ˜,Ñ'Ô'€JÝ
$¨FÐ
3Ñ
3Ô
3€Cå	Œ•kÑ	"Ô	"ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜cœk¨:°qÑ9Ô9Ð9Ð9Ð9s$   Á!A1Á1A5Á8A5Ä!D0Ä0D4Ä7D4c                  óÄ  — d} d}d}t          || |d¬¦  «        \  }}t          d¬¦  «        }t          d¬¦  «        }t          d¬¦  «        }|                     ||¦  «         |                     ||¦  «         |                     ||¦  «         t          |j        |j        d	¦  «         t          |j        |j        d	¦  «         t          |j        |j        d	¦  «         d S )
Nr   iè  é   ©rW   Ú
n_featuresrV   rc   r   ©r$   r   r   r   )r   r	   r2   r   Úcoef_)rœ   rJ   rW   r3   r4   Úclf_lda_svdÚclf_lda_lsqrÚclf_lda_eigens           rH   Útest_lda_coefsr¢   ý   só   € à€JØ€IØ€IÝØ¨
¸IÐTVðñ ô �D€A€qõ -°EÐ:Ñ:Ô:€KÝ-°VÐ<Ñ<Ô<€LÝ.°gÐ>Ñ>Ô>€Mà‡O‚O�A�qÑÔÐØ×Ò�Q˜ÑÔÐØ×Ò�a˜ÑÔÐå˜kÔ/°Ô1CÀQÑGÔGÐGÝ˜kÔ/°Ô1DÀaÑHÔHÐHÝ˜mÔ1°<Ô3EÀqÑIÔIÐIÐIÐIrZ   c                  óx  — t          dd¬¦  «        } |                      t          t          ¦  «                             t          ¦  «        }|j        d         dk    sJ ‚t          dd¬¦  «        } |                      t          t          ¦  «                             t          ¦  «        }|j        d         dk    sJ ‚t          dd¬¦  «        } |                      t          t          ¦  «         d}t          j        t          |¬¦  «        5  |                      t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   )r$   Ún_componentsr   r   z$transform not implemented for 'lsqr'r-   )	r	   r2   r3   r4   Ú	transformÚshaper=   r>   r?   )rB   ÚX_transformedr–   s      rH   Útest_lda_transformr¨     sJ  € å
$¨EÀÐ
BÑ
BÔ
B€CØ—G’G�A�q‘M”M×+Ò+­AÑ.Ô.€MØÔ˜qÔ! QÒ&Ð&Ð&Ð&Ý
$¨GÀ!Ð
DÑ
DÔ
D€CØ—G’G�A�q‘M”M×+Ò+­AÑ.Ô.€MØÔ˜qÔ! QÒ&Ð&Ð&Ð&å
$¨FÀÐ
CÑ
CÔ
C€CØ‡G‚G�A�q�M„M€MØ
0€Cå	ŒÕ*°#Ð	6Ñ	6Ô	6ð ð Ø�Š•aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÄD/Ä/D3Ä6D3c                  óx  — t           j                             d¦  «        } |                      ddd¬¦  «        }|                      ddd¬¦  «        }t          d¬	¦  «        }|                     ||¦  «         t          |j         	                    ¦   «         d
d¦  «         |j        j
        dk    s
J d¦   «         ‚t          d¬	¦  «        }|                     ||¦  «         t          |j         	                    ¦   «         d
d¦  «         |j        j
        dk    s
J d¦   «         ‚t          |j        |j        ¦  «         d S )Nr   ri   )rf   é   )ÚlocÚscalerP   r   )rf   rO   r   r�   ç      ð?)r   z/Unexpected length for explained_variance_ratio_r   )r9   ÚrandomÚRandomStateÚnormalÚrandintr	   r2   r   Úexplained_variance_ratio_r|   r¦   r   )Ústater3   r4   r¡   rŸ   s        rH   Ú!test_lda_explained_variance_ratior´   $  s\  € õ ŒI×!Ò! !Ñ$Ô$€EØ�Š˜ #¨HˆÑ5Ô5€AØ�Š�a˜ ˆÑ'Ô'€Aå.°gÐ>Ñ>Ô>€MØ×Ò�a˜ÑÔÐÝ˜Ô?×CÒCÑEÔEÀsÈAÑNÔNÐNØÔ2Ô8ð =ò ð ð à8ñô ð õ -°EÐ:Ñ:Ô:€KØ‡O‚O�A�qÑÔÐÝ˜Ô=×AÒAÑCÔCÀSÈ!ÑLÔLÐLØÔ0Ô6ð ;ò ð ð à8ñô ð õ ØÔ-¨}Ô/Vñô ð ð ð rZ   c            	      ó’  — t          j        g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g d¢g d	¢g d
¢g¦  «        }| d d …t           j        d d …f         |t           j        d d …d d …f         z                        d¦  «        }t          j        t          j        | j        d         ¦  «        |j        d         ¦  «        }t          d¬¦  «                             ||¦  «        }| 	                    | ¦  «        }|d         |d         z
  }|d         |d         z
  }|t          j
        t          j        |dz  ¦  «        ¦  «        z  }|t          j
        t          j        |dz  ¦  «        ¦  «        z  }t          t          j        | 	                    |¦  «        j        ¦  «        t          j        d¦  «        ¦  «         t          t          j        t          j        |d d…         ddg¦  «        ¦  «        d¦  «         t          t          j        t          j        |d d…         ddg¦  «        ¦  «        d¦  «         d S )N)r   r   r   )r   r   r   )r   r   r   )r   r   é   )r+   r   r   )çš™™™™™¹¿r   r   )r   r+   r   )r   r·   r   )r   r   r+   )r   r   r·   )r   r   r   r   r�   r   r   r   r­   )r9   r   r„   ÚreshapeÚrepeatÚaranger¦   r	   r2   r¥   Úsqrtr|   r   rU   ÚTÚeyeÚabsrp   )ÚmeansÚscatterr3   r4   rB   Úmeans_transformedÚd1Úd2s           rH   Útest_lda_orthogonalityrÄ   A  s  € õ ŒH�j�j�j ) ) )¨Z¨Z¨Z¸¸¸ÐCÑDÔD€Eõ ŒhàˆKˆKØˆLˆLØˆKˆKØˆLˆLØˆKˆKØˆLˆLð	
ñ	ô 	€Gð 
ˆqˆqˆq•"”*˜a˜a˜aÐÔ	  7­2¬:°q°q°q¸!¸!¸!Ð+;Ô#<Ñ	<×EÒEÀgÑNÔN€AÝ
Œ	•"”)˜EœK¨œNÑ+Ô+¨W¬]¸1Ô-=Ñ>Ô>€Aõ %¨EÐ
2Ñ
2Ô
2×
6Ò
6°q¸!Ñ
<Ô
<€CØŸš eÑ,Ô,Ðà	˜1Ô	Ð 1°!Ô 4Ñ	4€BØ	˜1Ô	Ð 1°!Ô 4Ñ	4€BØ�"Œ'•"”&˜˜Q™‘-”-Ñ
 Ô
 Ñ €BØ�"Œ'•"”&˜˜Q™‘-”-Ñ
 Ô
 Ñ €Bõ �œ˜sŸ}š}¨WÑ5Ô5Ô7Ñ8Ô8½"¼&À¹)¼)ÑDÔDÐDõ �œ�rœv b¨¨!¨¤f¨q°!¨fÑ5Ô5Ñ6Ô6¸Ñ<Ô<Ð<õ �œ�rœv b¨¨!¨¤f¨q°!¨fÑ5Ô5Ñ6Ô6¸Ñ<Ô<Ð<Ð<Ð<rZ   c                  ó°  — d} t           j                             d¦  «        }|                     dd| df¦  «        g d¢z   }|                     dd| df¦  «        g d¢z   }t          j        ||f¦  «        g d¢z  }dg| z  dg| z  z   }d	D ]M}t          |¬
¦  «        }|                     ||¦  «                             ||¦  «        dk    sJ d|z  ¦   «         ‚ŒNd S )Nri   iÒ  r   r   r   )re   r   r   )rh   r   r   )r   ri   i'  rK   r�   r­   zusing covariance: %s)r9   r®   r¯   Úuniformr^   r	   r2   Úscore)ÚnrX   Úx1Úx2Úxr4   r$   rB   s           rH   Útest_lda_scalingrÌ   j  sÿ   € à€AÝ
Œ)×
Ò
 Ñ
%Ô
%€Cð 
�Š�R˜˜Q ˜FÑ	#Ô	# k k kÑ	1€BØ	�Š�R˜˜Q ˜FÑ	#Ô	# j j jÑ	0€BÝ
Œ	�2�r�(ÑÔ˜o˜o˜oÑ-€AØ	ˆˆq‰�A�3˜‘7Ñ€Aà*ð Qð QˆÝ(°Ð7Ñ7Ô7ˆà�wŠw�q˜!‰}Œ}×"Ò" 1 aÑ(Ô(¨CÒ/Ð/Ð/Ð1GÈ&Ñ1PÑ/Ô/Ð/Ð/ðQð QrZ   c            	      óÈ  — dD ]°} t          | ¬¦  «                             t          t          ¦  «        }t	          |d¦  «        sJ ‚t          | d¬¦  «                             t          t          ¦  «        }t	          |d¦  «        sJ ‚t          |j        t          j        ddgddgg¦  «        ¦  «         Œ±t          d	¬¦  «                             t          t          ¦  «        }t	          |d¦  «        rJ ‚t          | d¬¦  «                             t          t          ¦  «        }t	          |d¦  «        sJ ‚t          |j        t          j        ddgddgg¦  «        ¦  «         d S )
N)r   r   r�   r�   T)r$   rk   g¦µil¯Û?g€aùómÁ¶?g	^á?r   )	r	   r2   ÚX6Úy6Úhasattrr   r�   r9   r   )r$   rB   s     rH   Útest_lda_store_covariancerÑ   {  sp  € ð $ð 
ð 
ˆÝ(°Ð7Ñ7Ô7×;Ò;½BÅÑCÔCˆÝ�s˜MÑ*Ô*Ð*Ð*Ð*õ )°ÈÐNÑNÔN×RÒRÝ•ñ
ô 
ˆõ �s˜MÑ*Ô*Ð*Ð*Ð*å!ØŒO�RœX¨°(Ð';¸hÈÐ=QÐ&RÑSÔSñ	
ô 	
ð 	
ð 	
õ
 %¨EÐ
2Ñ
2Ô
2×
6Ò
6µr½2Ñ
>Ô
>€CÝ�s˜MÑ*Ô*Ð*Ð*Ð*õ %¨FÀTÐ
JÑ
JÔ
J×
NÒ
NÍrÕSUÑ
VÔ
V€CÝ�3˜Ñ&Ô&Ð&Ð&Ð&åØŒ�œ H¨hÐ#7¸(ÀHÐ9MÐ"NÑOÔOñô ð ð ð rZ   Úseedrh   c                 óÂ  — t           j                             | ¦  «        }|                     dd¦  «        }|                     dd¬¦  «        }t          ddd¬¦  «        }t          dt          d¬	¦  «        d¬
¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j	        |j	        ¦  «         t          |j
        |j
        ¦  «         d S )Nri   rh   r   rO   Tr&   r   ©rk   r%   r$   )r%   ©rk   r,   r$   )r9   r®   r¯   Úrandr±   r	   r   r2   r   r€   r�   )rÒ   rX   r3   r4   Úc1Úc2s         rH   Útest_lda_shrinkagerÙ   ™  sÐ   € õ Œ)×
Ò
 Ñ
%Ô
%€CØ�Š��bÑÔ€AØ�Š�A˜SˆÑ"Ô"€AÝ	#°TÀSÐQWÐ	XÑ	XÔ	X€BÝ	#ØÝ-¸Ð<Ñ<Ô<Øð
ñ 
ô 
€Bð
 ‡F‚Fˆ1ˆa�L„L€LØ‡F‚Fˆ1ˆa�L„L€LÝ�B”I˜rœyÑ)Ô)Ð)Ý�B”N B¤NÑ3Ô3Ð3Ð3Ð3rZ   c                  óÐ  —  G d„ d¦  «        } t           j                             d¦  «        }|                     dd¦  «        }|                     dd¬¦  «        }t          d	d
d¬¦  «        }t          d	 | ¦   «         d¬¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j        |j        ¦  «         t          |j	        |j	        ¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú3test_lda_ledoitwolf.<locals>.StandardizedLedoitWolfc                 óø   — t          ¦   «         }|                     |¦  «        }t          |¦  «        d         }|j        d d …t          j        f         |z  |j        t          j        d d …f         z  }|| _        d S )Nr   )r   Úfit_transformr   Úscale_r9   r„   r�   )Úselfr3   ÚscÚX_scÚss        rH   r2   z7test_lda_ledoitwolf.<locals>.StandardizedLedoitWolf.fit±  sq   € ÝÑ!Ô!ˆBØ×#Ò# AÑ&Ô&ˆDÝ˜DÑ!Ô! !Ô$ˆAà”	˜!˜!˜!�RœZ˜-Ô(¨1Ñ,¨r¬y½¼ÀQÀQÀQ¸Ô/GÑGˆAØ ˆDÔÐÐrZ   N)Ú__name__Ú
__module__Ú__qualname__r2   r\   rZ   rH   ÚStandardizedLedoitWolfrÜ   °  s#   € € € € € ð	!ð 	!ð 	!ð 	!ð 	!rZ   rç   r   ri   rh   r   )ri   rO   Tr    r   rÔ   rÕ   )
r9   r®   r¯   rÖ   r±   r	   r2   r   r€   r�   )rç   rX   r3   r4   r×   rØ   s         rH   Útest_lda_ledoitwolfrè   ¬  sþ   € ð!ð !ð !ð !ð !ñ !ô !ð !õ Œ)×
Ò
 Ñ
"Ô
"€CØ�Š��bÑÔ€AØ�Š�A˜FˆÑ#Ô#€AÝ	#Ø¨¸ð
ñ 
ô 
€Bõ 
$ØØ3Ð3Ñ5Ô5Øð
ñ 
ô 
€Bð
 ‡F‚Fˆ1ˆa�L„L€LØ‡F‚Fˆ1ˆa�L„L€LÝ�B”I˜rœyÑ)Ô)Ð)Ý�B”N B¤NÑ3Ô3Ð3Ð3Ð3rZ   rœ   r¶   c                 ó.  — t          d¦  «        }d}|                     ||¦  «        }t          j        t	          | ¦  «        || z  dz   ¦  «        d |…         }t          || dz
  ¦  «        }|dz
  d |fD ](}t          |¬¦  «        }|                     ||¦  «         Œ)|dz   t          || dz
  ¦  «        dz   fD ]]}t          |¬¦  «        }d}	t          j
        t          |	¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ^d S )Nr   rh   r   )r¤   z#n_components cannot be larger than r-   )r   Úrandnr9   Útilera   Úminr	   r2   Úmaxr=   r>   r@   )
rJ   rœ   rX   rW   r3   r4   Úmax_componentsr¤   rˆ   r–   s
             rH   Útest_lda_dimension_warningrï   Ê  sq  € õ ˜QÑ
Ô
€CØ€IØ�	Š	�)˜ZÑ(Ô(€Aõ 	Œ•�iÑ Ô  )¨yÑ"8¸1Ñ"<Ñ=Ô=¸j¸y¸jÔI€AÝ˜ Y°¡]Ñ3Ô3€Nà'¨!Ñ+¨T°>ÐBð ð ˆå(°lÐCÑCÔCˆØ�Š��1‰Œˆˆà'¨!Ñ+­S°¸YÈ¹]Ñ-KÔ-KÈaÑ-OÐPð ð ˆõ
 )°lÐCÑCÔCˆØ3ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�GŠG�A�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øðð s   Ã&D	Ä	D	ÄD	zdata_type, expected_typec                 óò   — t           D ]n\  }}t          ||¬¦  «        }|                     t                               | ¦  «        t
                               | ¦  «        ¦  «         |j        j        |k    sJ ‚Œod S )Nr#   )r1   r	   r2   r3   Úastyper4   rž   r   )Ú	data_typeÚexpected_typer$   r%   rB   s        rH   Útest_lda_dtype_matchrô   å  sx   € õ .ð 0ð 0Ñˆ�	Ý(°À)ÐLÑLÔLˆØ�Š•—’˜Ñ#Ô#¥Q§X¢X¨iÑ%8Ô%8Ñ9Ô9Ð9ØŒyŒ -Ò/Ð/Ð/Ð/Ð/ð0ð 0rZ   c                  ó  — t           D ]ù\  } }t          | |¬¦  «        }|                     t                               t
          j        ¦  «        t                               t
          j        ¦  «        ¦  «         t          | |¬¦  «        }|                     t                               t
          j        ¦  «        t                               t
          j        ¦  «        ¦  «         d}t          |j
        |j
        |¬¦  «         Œúd S )Nr#   r'   )r(   )r1   r	   r2   r3   rñ   r9   Úfloat32r4   Úfloat64r   rž   )r$   r%   Úclf_32Úclf_64r(   s        rH   Ú,test_lda_numeric_consistency_float32_float64rú   õ  sÇ   € Ý-ð ?ð ?Ñˆ�	Ý+°6ÀYÐOÑOÔOˆØ�
Š
•1—8’8�BœJÑ'Ô'­¯ªµ"´*Ñ)=Ô)=Ñ>Ô>Ð>Ý+°6ÀYÐOÑOÔOˆØ�
Š
•1—8’8�BœJÑ'Ô'­¯ªµ"´*Ñ)=Ô)=Ñ>Ô>Ð>ð ˆÝ˜œ f¤l¸Ð>Ñ>Ô>Ð>Ð>ð?ð ?rZ   c                  ó¢  — t          ¦   «         } |                      t          t          ¦  «                             t          ¦  «        }t          |t          ¦  «         |                      t          t          ¦  «                             t          ¦  «        }t          |t          ¦  «         |                      t          ¦  «        }t          |d d …df         dk    dz   t          ¦  «         |                      t          ¦  «        }t          t          j        |¦  «        |d¦  «         |                      t          t          ¦  «                             t          ¦  «        }t          j        |t          k    ¦  «        sJ ‚t          j        t           ¦  «        5  |                      t          t"          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r&   r   )r
   r2   rÎ   rÏ   r5   r   ÚX7r7   r8   r   r9   r:   Úy7r<   r=   r>   r@   Úy4)rB   rC   rD   rE   rF   rG   s         rH   Útest_qdarÿ     sœ  € õ (Ñ
)Ô
)€CØ�WŠW•R�‰_Œ_×$Ò$¥RÑ(Ô(€FÝ�v�rÑ"Ô"Ð"ð �gŠg•b�"‰oŒo×%Ò%¥bÑ)Ô)€GÝ�w¥Ñ#Ô#Ð#ð ×%Ò%¥bÑ)Ô)€MÝ˜ a a a¨ dÔ+¨cÒ1°QÑ6½Ñ;Ô;Ð;Ø×-Ò-­bÑ1Ô1ÐÝ�bœfÐ%6Ñ7Ô7¸ÈÑJÔJÐJà�gŠg•b�"‰oŒo×%Ò%¥bÑ)Ô)€GåŒ6�'�R’-Ñ Ô Ð Ð Ð õ 
Œ•zÑ	"Ô	"ð ð Ø�Š••B‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Æ!GÇGÇGc                  óÄ  — t          ¦   «         } |                      t          t          ¦  «                             t          ¦  «        }t          j        |dk    ¦  «        }d}t          t          j        |d|z
  g¦  «        ¬¦  «        } |                      t          t          ¦  «                             t          ¦  «        }t          j        |dk    ¦  «        }||k    sJ ‚d S )Nr   g»½×Ùß|Û=r   r�   )r
   r2   rÎ   rÏ   r5   r9   r|   r   )rB   rC   Ún_posÚnegÚn_pos2s        rH   Útest_qda_priorsr    s©   € Ý
'Ñ
)Ô
)€CØ�WŠW•R�‰_Œ_×$Ò$¥RÑ(Ô(€FÝŒF�6˜Q’;ÑÔ€Eà
€CÝ
'­r¬x¸¸aÀ#¹g¸Ñ/GÔ/GÐ
HÑ
HÔ
H€CØ�WŠW•R�‰_Œ_×$Ò$¥RÑ(Ô(€FÝŒV�F˜a’KÑ Ô €Fà�EŠ>ˆ>ˆ>ˆ>ˆ>ˆ>rZ   Úpriors_type)ÚlistÚtupler   c                 óö   — ddg}t          t          ddg| ¦  «        ¬¦  «                             t          t          ¦  «        }t          |j        t          j        ¦  «        sJ ‚t          |j        |¦  «         dS )z$Check that priors accept array-like.r&   r�   N)
r
   r   r2   rÎ   rÏ   Ú
isinstancer•   r9   Úndarrayr   )r  r�   rB   s      rH   Útest_qda_prior_typer  )  sv   € ð �3ˆZ€FÝ
'Ý! 3¨ *¨kÑ:Ô:ðñ ô ç	‚c�"�b�k„kð õ �c”k¥2¤:Ñ.Ô.Ð.Ð.Ð.Ý�s”{ FÑ+Ô+Ð+Ð+Ð+rZ   c                  ó  — t          j        ddg¦  «        } t          | ¬¦  «                             t          t
          ¦  «        }t          |j        |j        ¦  «         d| d<   |j        d         |j        d         k    sJ ‚dS )zCCheck that altering `priors` without `fit` doesn't change `priors_`r&   r�   gš™™™™™É?r   N)	r9   r   r
   r2   r3   r4   r   r•   r�   )r�   Úqdas     rH   Útest_qda_prior_copyr  4  sy   € åŒX�s˜C�jÑ!Ô!€FÝ
'¨vÐ
6Ñ
6Ô
6×
:Ò
:½1½aÑ
@Ô
@€Cõ �s”{ C¤JÑ/Ô/Ð/ð €Fˆ1�IØŒ;�qŒ>˜SœZ¨œ]Ò*Ð*Ð*Ð*Ð*Ð*rZ   c                  óÎ  — t          ¦   «                              t          t          ¦  «        } t	          | d¦  «        rJ ‚t          d¬¦  «                             t          t          ¦  «        } t	          | d¦  «        sJ ‚t          | j        d         t          j        ddgddgg¦  «        ¦  «         t          | j        d         t          j        dd	gd	d
gg¦  «        ¦  «         d S )Nr�   T)rk   r   gffffffæ?r’   r   gÚÁQUUÕ?gÚÁQUUÕ¿g“vWUUå?)	r
   r2   rÎ   rÏ   rÐ   r   r�   r9   r   )rB   s    rH   Útest_qda_store_covariancer  A  sÜ   € å
'Ñ
)Ô
)×
-Ò
-­bµ"Ñ
5Ô
5€CÝ�s˜MÑ*Ô*Ð*Ð*Ð*õ (¸Ð
>Ñ
>Ô
>×
BÒ
BÅ2ÅrÑ
JÔ
J€CÝ�3˜Ñ&Ô&Ð&Ð&Ð&å˜cœo¨aÔ0µ"´(¸SÀ$¸KÈ$ÐPSÈÐ;UÑ2VÔ2VÑWÔWÐWåØŒ˜ÔÝ
Œ�:˜{Ð+¨k¸:Ð-FÐGÑHÔHñô ð ð ð rZ   c                  óì  — d} t          ¦   «         }t          j        t          | ¬¦  «        5  |                     t
          t          ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                     t
          ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j
        |t          k    ¦  «        sJ ‚t          d¬¦  «        }t          j        t          | ¬¦  «        5  |                     t
          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t
          ¦  «        }t          |t          ¦  «         t          d¬¦  «        }t          j        t          | ¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t          ¦  «        }t          |t          ¦  «         d S )NzVariables are collinearr-   zdivide by zeror~   )Ú	reg_paramr+   )r
   r=   r“   r”   r2   ÚX2rÏ   ÚRuntimeWarningr5   r9   r<   r   ÚX5Úy5)Úcollinear_msgrB   rC   Úy_pred5s       rH   Útest_qda_regularizationr  R  sƒ  € ð
 .€MÝ
'Ñ
)Ô
)€CÝ	Œ•k¨Ð	7Ñ	7Ô	7ð !ð !Ø—’��R‘”ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ 
Œ•nÐ,<Ð	=Ñ	=Ô	=ð !ð !Ø—’�R‘”ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !åŒ6�&�B’,ÑÔÐÐÐõ (°$Ð
7Ñ
7Ô
7€CÝ	Œ•k¨Ð	7Ñ	7Ô	7ð ð Ø�Š••B‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�[Š[�‰_Œ_€FÝ�v�rÑ"Ô"Ð"õ (°#Ð
6Ñ
6Ô
6€CÝ	Œ•k¨Ð	7Ñ	7Ô	7ð ð Ø�Š••B‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�kŠk�"‰oŒo€GÝ�w¥Ñ#Ô#Ð#Ð#Ð#sG   ¬!AÁAÁ AÁ?B&Â&B*Â-B*Ã;!D(Ä(D,Ä/D,Æ!F:Æ:F>ÇF>c                  ó„  — t          dddd¬¦  «        \  } }t          j        | t          j        | j        d         dz  ¦  «                             | j        d         | j        d         ¦  «        ¦  «        } t          | d¦  «        }t          ||j        ¦  «         t          | d¦  «        }t          ||j        ¦  «         d S )	Nri   r¶   r   rj   r›   r   Ú	empiricalr    )	r   r9   rp   rº   r¦   r¸   r   r   r¼   )rË   r4   Úc_eÚc_ss       rH   Útest_covariancer  v  s¥   € Ý °¸1È2ÐNÑNÔN�D€A€qõ 	Œˆq•"”)˜AœG AœJ¨!™OÑ,Ô,×4Ò4°Q´W¸Q´ZÀÄÈÄÑLÔLÑMÔM€Aå
ˆq�+Ñ
Ô
€CÝ˜˜SœUÑ#Ô#Ð#å
ˆq�&‰/Œ/€CÝ˜˜SœUÑ#Ô#Ð#Ð#Ð#rZ   c                 ó  — t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          | ¬¦  «        }t          j        t
          d¬¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zg
    Tests that if the number of samples equals the number
    of classes, a ValueError is raised.
    r&   r‘   ÚaÚbr�   z"The number of samples must be morer-   N)r9   r   r	   r=   r>   r@   r2   )r$   r3   r4   rB   s       rH   Ú=test_raises_value_error_on_same_number_of_classes_and_samplesr"  ƒ  sÎ   € õ 	Œ�3˜�*˜s C˜jÐ)Ñ*Ô*€AÝ
Œ�#�s�ÑÔ€AÝ
$¨FÐ
3Ñ
3Ô
3€CÝ	Œ•zÐ)MÐ	NÑ	NÔ	Nð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁB Â BÂBc                  óX  ‡— t          ¦   «                              t          t          ¦  «        } |                      ¦   «         }d                     ¦   «         Št          j        ˆfd„t          | j	        j
        d         ¦  «        D ¦   «         t          ¬¦  «        }t          ||¦  «         dS )z6Check get_feature_names_out uses class name as prefix.r	   c                 ó   •— g | ]}‰› |› �‘Œ	S r\   r\   )rS   ÚiÚclass_name_lowers     €rH   rY   z.test_get_feature_names_out.<locals>.<listcomp>˜  s4   ø€ ð 	
ð 	
ð 	
àð  Ð$ Ð$Ð$ð	
ð 	
ð 	
rZ   r   r   N)r	   r2   r3   r4   Úget_feature_names_outÚlowerr9   r   ra   r²   r¦   Úobjectr   )ÚestÚ	names_outÚexpected_names_outr&  s      @rH   Útest_get_feature_names_outr-  �  s±   ø€ õ %Ñ
&Ô
&×
*Ò
*­1­aÑ
0Ô
0€CØ×)Ò)Ñ+Ô+€Ià3×9Ò9Ñ;Ô;ÐÝœð	
ð 	
ð 	
ð 	
å˜3Ô8Ô>¸qÔAÑBÔBð	
ñ 	
ô 	
õ ðñ ô Ðõ �yÐ"4Ñ5Ô5Ð5Ð5Ð5rZ   )JÚnumpyr9   r=   Úscipyr   Úsklearn.clusterr   Úsklearn.covariancer   r   r   Úsklearn.datasetsr   Úsklearn.discriminant_analysisr	   r
   r   Úsklearn.preprocessingr   Úsklearn.utilsr   Úsklearn.utils._testingr   r   r   r   r   r   r3   r4   r;   r6   rÎ   rÏ   rý   rü   r  rþ   Úc_rº   Úzerosr  r  r1   rI   ÚmarkÚparametrizer�   r˜   r¢   r¨   r´   rÄ   rÌ   rÑ   ra   rÙ   rè   rï   rö   r÷   Úint32Úint64rô   rú   rÿ   r  r  r  r  r  r  r"  r-  r\   rZ   rH   ú<module>r=     sð  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð
 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð ð ð ð ð ð ð €B„Hˆr�2ˆh˜˜R˜ 2 r (¨Q°¨F°Q¸°F¸QÀ¸FÐCÈ3ÐOÑOÔO€Ø€B„HÐÐÐÑ Ô €Ø€R„XÐ Ð Ð Ñ!Ô!€ð €R„XØ€TˆBˆ4�"�˜�s˜Q˜C ! Ð%Ø
ðñ ô €ð €R„XØˆ€Vˆb�"ˆX˜˜B�x " b ¨B°¨8°a¸°V¸aÀ¸VÀaÈÀVÈaÐQRÈVÐTñô €ð €R„XÐ)Ð)Ð)Ñ*Ô*€Ø€R„XÐ)Ð)Ð)Ñ*Ô*€ð €R„X�ˆt�b�T˜B˜4 " ¨ s¨Q¨C°!°°q°c¸A¸3Ð?Ñ@Ô@€ð €R„XØˆ!€Wˆr�1ˆg˜˜A�w  Q ¨!¨Q¨°!°Q°¸!¸Q¸À!ÀQÀÈ!ÈQÈÐPñô €ð
 €R„XÐ)Ð)Ð)Ñ*Ô*€ð „Uˆ9ˆ2Œ9�Q‰<Œ<˜˜œ &Ñ)Ô)Ð)Ô*€Ø€R„XÐ&Ð&Ð&Ñ'Ô'€ð
ð 
ð 
Ð ð<ð <ð <ð~ „×Ò˜ q¨! fÑ-Ô-Ø„×Ò˜Ð#;Ð#;Ð#;Ñ<Ô<ð[ð [ñ =Ô<ñ .Ô-ð[ð|:ð :ð :ð2Jð Jð Jð,ð ð ð"ð ð ð:&=ð &=ð &=ðRQð Qð Qð"ð ð ð< „×Ò˜   r¡¤Ñ+Ô+ð4ð 4ñ ,Ô+ð4ð$4ð 4ð 4ð< „×Ò˜¨¨1 vÑ.Ô.Ø„×Ò˜ q¨! fÑ-Ô-ðð ñ .Ô-ñ /Ô.ðð2 „×ÒØà	Œ�R”ZÐ Ø	Œ�R”ZÐ Ø	Œ�2”:ÐØ	Œ�2”:Ðð	ñô ð0ð 0ñô ð0ð	?ð 	?ð 	?ðð ð ð6
ð 
ð 
ð „×Ò˜Ð(BÐ(BÐ(BÑCÔCð,ð ,ñ DÔCð,ð
+ð 
+ð 
+ðð ð ð"!$ð !$ð !$ðH
$ð 
$ð 
$ð „×Ò˜Ð#;Ð#;Ð#;Ñ<Ô<ð	ð 	ñ =Ô<ð	ð6ð 6ð 6ð 6ð 6rZ   