§
    µ³ÙgJ  ã                   óÈ  — d dl Z d dlZd dlmZ d dlmZ d dlZd dlm	Z	m
Z
mZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZ d dlmZ d dl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ej'         (                    d¦  «        gZ)ej'        j*        Z* ej+        g d¢¦  «         ,                    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ddgddgg¦  «        Z. ej+        ddgddgddgg¦  «        Z/ ej+        ddgddgd d!gg¦  «        Z0 ej+        g d"¢¦  «        Z1 G d#„ d$¦  «        Z2 G d%„ d&¦  «        Z3 e*d'¬(¦  «         G d)„ d*¦  «        ¦   «         Z4dS )+é    N)Údeepcopy©ÚLock)Úassert_array_equalÚassert_equalÚassert_Úsuppress_warnings)Úraises)ÚkmeansÚkmeans2Úpy_vqÚvqÚwhitenÚClusterErrorÚ
_krandinit)Ú_vq)Úarray_api_compatible)Úmatrix)Úarray_api_extra)ÚSCIPY_ARRAY_APIÚarray_namespaceÚxp_copyÚxp_assert_closeÚxp_assert_equalÚskip_xp_backends(�  gš™™™™™Àg¸…ëQ¸ò?ç®Gázú¿ç
×£p=
û?gR¸…ëQ Àg…ëQ¸…@g¸…ëQ¸Àgffffffî?ç333333û¿g)\�Âõ(@çáz®Gáú¿çÃõ(\�Âå?g®GázÀg¸…ëQ¸
@çR¸…ëQÀgffffff@g…ëQ¸…û¿g
×£p=
ç¿ç×£p=
×ÿ¿g¸…ëQ¸@g      Àçq=
×£p@çš™™™™™ÀgHáz®G@g
×£p=
Àg333333@g…ëQ¸ù¿gìQ¸…ëý?ç\�Âõ(\ÿ¿g…ëQ¸@g®GázÀçáz®Gá@g=
×£p=Àç{®Gázô?g      Àçš™™™™™@gìQ¸…ëù¿g      ô?ç\�Âõ(\Àg\�Âõ(\	@ç¸…ëQ¸ò¿g¸…ëQ¸¾?ç=
×£p=ÀgHáz®GÑ¿ç�Âõ(\� Àgš™™™™™á¿r*   gq=
×£põ?g�Âõ(\�Àg¤p=
×£@ç…ëQ¸…Àg¸…ëQ¸Î?g\�Âõ(\û¿ç×£p=
×@gìQ¸…ëÀg)\�Âõ(@g¤p=
×£ Àç…ëQ¸…@g=
×£p=þ¿gö(\�Âõ@g¸…ëQ¸ Àg¤p=
×£Ð?gq=
×£pí¿g…ëQ¸ñ?ç      Àç)\�Âõ(ì?r0   g)\�Âõ( @g=
×£p=Àr&   ç=
×£p= Àg\�Âõ(\@g®GázÀg333333Ó?ç×£p=
×Àg�Âõ(\�Ò¿r)   g®Gáz®	@gffffffÀg®Gáz®û?g¸…ëQ¸Àg®Gázæ?çö(\�Âõü¿r.   gö(\�ÂõÀg®Gáz@gffffffÀçö(\�Âõô?g¸…ëQ¸ú¿ç¸…ëQ¸Àgáz®Gáò¿ç\�Âõ(\@ç\�Âõ(\Àg�Âõ(\�@çš™™™™™ý¿g      @r$   çÃõ(\�Âý?g)\�Âõ(Àg…ëQ¸…@g¤p=
×£Àg=
×£p=þ?çÍÌÌÌÌÌø¿g¤p=
×£ @gÃõ(\�Âõ¿gÃõ(\�Âí?ç®GázÀgìQ¸…ë@g…ëQ¸Àg\�Âõ(\@g¤p=
×£
ÀçìQ¸…ë@ç{®Gáz ÀgÍÌÌÌÌÌì¿ç¤p=
×£ÀgÍÌÌÌÌÌ
@ç¸…ëQ¸Àgffffff@çáz®GáÀgš™™™™™ý?ç
×£p=
û¿çÍÌÌÌÌÌü?g=
×£p=ö¿ç…ëQ¸å?r>   gR¸…ëQØ?ç…ëQ¸…÷¿g)\�Âõ(Ü?g¸…ëQ¸Àg)\�Âõ(@gR¸…ëQÀg…ëQ¸…@r!   gìQ¸…ë@ç¤p=
×£ð¿gR¸…ëQØ¿r9   gìQ¸…ë@ç
×£p=
Àg\�Âõ(\ç?r@   g=
×£p=ö?çq=
×£põ¿ç      ü?ç333333ÿ¿çÍÌÌÌÌÌô?r$   ç¸…ëQ¸@r"   gHáz®G@g333333Àg×£p=
×@g®Gáz®û¿g)\�Âõ(@r8   g333333ë?r>   g\�Âõ(\ß?gR¸…ëQÀg�Âõ(\� @r2   rK   g×£p=
×	ÀrL   r;   g
×£p=
÷?gìQ¸…ëé¿gš™™™™™ñ?çìQ¸…ëÀg\�Âõ(\@çq=
×£pù¿gq=
×£p@r$   g\�Âõ(\ç¿gö(\�ÂõÀçÍÌÌÌÌÌô¿r?   gš™™™™™É?g)\�Âõ(ÀgìQ¸…ë	@g®Gáz®ÿ¿gš™™™™™ù?g\�Âõ(\Àg…ëQ¸@çffffffÀç      @r0   ç\�Âõ(\û?g=
×£p=
Àg
×£p=
@ç×£p=
×û¿r1   çHáz®GÀg¸…ëQ¸þ?çìQ¸…ëÀg
×£p=
ó?r3   gö(\�Âõð?r   g×£p=
×ã¿rO   çö(\�ÂõØ?g{®Gázü¿gÍÌÌÌÌÌ@gR¸…ëQÀg…ëQ¸…@g…ëQ¸õ¿rD   g
×£p=
Àç®Gáz@gÍÌÌÌÌÌÀr(   gÃõ(\�Âý¿gHáz®G@g®Gáz Àg®Gáz®ó¿ç¤p=
×£ü¿rW   g
×£p=
Àg¤p=
×£À¿g      Àg¸…ëQ¸@rU   gq=
×£pù?rP   g®Gáz®@rT   g{®Gáz„?g…ëQ¸…Û¿g¤p=
×£À?g\�Âõ(\ÀgHáz®G@g      ü¿gö(\�Âõà¿rB   r   gq=
×£pñ¿g333333Ã?gáz®Gá Àr7   ç{®Gázø¿ç…ëQ¸…ó?çÍÌÌÌÌÌ Àg…ëQ¸…ë¿ç{®GázÀç=
×£p=@g)\�Âõ(Àg¤p=
×£
@gìQ¸…ëñ¿r&   gq=
×£pÀg
×£p=
ó¿r+   gHáz®Gé?ç�Âõ(\�ê¿g
×£p=
ï?g…ëQ¸…	Àg333333÷?rH   r'   g)\�Âõ(Àgáz®Gá@g…ëQ¸ÀgÃõ(\�Â	@ç…ëQ¸…ÿ¿rI   rA   g…ëQ¸…	@r^   g{®Gázø?rN   r:   r8   gffffff@r   g®Gáz®@r2   rQ   g�Âõ(\�Àg333333ã¿rE   gHáz®Gõ?rJ   gffffffæ?gffffffú¿gR¸…ëQô?g¸…ëQ¸ö¿gq=
×£pñ?ç      Àgö(\�Âõ@r<   g{®Gáz@gÍÌÌÌÌÌÀg®Gáz®ç?gHáz®Gñ¿g¸…ëQ¸ž¿r-   r5   g333333Àr=   gq=
×£pý¿gffffffú?g
×£p=
ÀrQ   r,   g×£p=
×@g333333Àg\�Âõ(\@g®Gáz®Àg×£p=
×÷?g\�Âõ(\ó¿rZ   g)\�Âõ(Àg
×£p=
@gÍÌÌÌÌÌÀr]   gffffffÀç=
×£p=@gš™™™™™Àgš™™™™™é?r4   g      @g      Àg®Gáz®@ç¤p=
×£ô¿r=   g®Gáz®Àr#   gHáz®Gý¿g®Gáz®ó?g×£p=
×ó¿rF   r\   gö(\�Âõ@g®Gáz
ÀrV   g…ëQ¸…Àg®Gáz@g®GázÀgR¸…ëQ@r   g
×£p=
×?ç�Âõ(\�ö¿g{®Gáz¤?r[   ç      ð?çìQ¸…ëý¿ra   gHáz®GÀg¸…ëQ¸@rU   g®Gázö?r"   g)\�Âõ(Ì¿re   g333333ÿ?gáz®Gáê¿r7   g…ëQ¸…Àg{®Gáz@çR¸…ëQô¿g333333@rX   ç{®Gáz
@gáz®GáÀgÍÌÌÌÌÌ@g
×£p=
÷¿r/   g)\�Âõ( Àg®Gáz®×?rb   g…ëQ¸Õ?r6   g{®Gáz@rS   rf   r_   rZ   r<   g{®GázÄ¿g=
×£p=ú¿g¸…ëQ¸î¿rM   gffffffö?rY   rg   rU   gÍÌÌÌÌÌÜ?g®Gáz®ÀrR   rG   gö(\�Âõø?r   g\�Âõ(\÷?rc   r    r%   rW   gÃõ(\�Âù¿gáz®Gá @©éÈ   é   g      @é   é   rj   é	   é   é   é   é   gÍÌÌÌÌÌ@ç      @g333333@rC   gUUUUUU@gUUUUUU@g      @g      @g      @rI   )r   ro   rj   rj   rj   rj   ro   rj   ro   ro   ro   c                   ó°   — e Zd Zd„ Zej        d„ ¦   «         Z edd¬¦  «        d„ ¦   «         Zd„ Z	ej
                             ed¬¦  «        d	„ ¦   «         Zd
S )Ú
TestWhitenc                 óÔ   — |                      ddgddgddgddgd	d
gg¦  «        }|                      ddgddgddgddgddgg¦  «        }t          t          |¦  «        |d¬¦  «         d S )Ng&cJ^|Y@g´`¹qÄ@g™¹Õ½—	@g}†&?˜Jæ?gU…H~«
@g¨›?gæK=EíŠ@gÞÜF Mpî?g|ÉH“@gH¦à|ú?çìcw&™ï?gb†ÆA|ê?çúÙD=¯Þã?çýâk2×È?ç'µB¿ì?çÅ)Æ;¸"~?çß|¸d=ë?çºÉûz¶õÐ?ç|æºß×Ü?çRêyÔëÝ?çñhãˆµøä>©Úrtol)Úasarrayr   r   )ÚselfÚxpÚdesiredÚobss       úQ/granary/edev/quantum/lib/python3.11/site-packages/scipy/cluster/tests/test_vq.pyÚtest_whitenzTestWhiten.test_whitenU   s¥   € Ø—*’*˜z¨:Ð6Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4ð	6ñ 7ô 7ˆð �jŠj˜: zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ñ 5ô 5ˆõ
 	�˜s™œ W°4Ð8Ñ8Ô8Ð8Ð8Ð8ó    c                 ó   — t          ¦   «         S ©Nr   ©rƒ   s    r‡   Úwhiten_lockzTestWhiten.whiten_lockc   ó   € å‰vŒvˆr‰   ú	jax.numpyú)jax arrays do not support item assignment©Úreasonc                 ó  — |                      g d¢g d¢g d¢g¦  «        }|                      g d¢g d¢g d¢g¦  «        }|5  t          j        d¬¦  «        5 }t          j        d	¦  «         t	          t          |¦  «        |d
¬¦  «         t          t          |¦  «        d¦  «         t          t          |d         j
        t          ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )N)ç        rd   gÓüJJîî@)r”   rd   g° I �1õ?)r”   rd   gÁ¢KÍXó@)r”   rd   g¾/²�·ç?)r”   rd   gˆ@ý€êÕ?)r”   rd   gÂÀµ´øî?T)ÚrecordÚalwaysr   r€   ro   éÿÿÿÿ)r‚   ÚwarningsÚcatch_warningsÚsimplefilterr   r   r   Úlenr   Ú
issubclassÚcategoryÚRuntimeWarning)rƒ   r„   r�   r…   r†   Úws         r‡   Útest_whiten_zero_stdzTestWhiten.test_whiten_zero_stdg   sÂ  € ð —*’*Ð3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ñ 6ô 6ˆð �jŠjÐ.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.ð0ñ 1ô 1ˆð ð 	Dð 	DÝÔ(°Ð5Ñ5Ô5ð D¸ÝÔ% hÑ/Ô/Ð/å¥ s¡¤¨W¸4Ð@Ñ@Ô@Ð@å�S ™VœV QÑ'Ô'Ð'Ý�
 1 R¤5¤>µ>ÑBÔBÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds6   ¿C7ÁA>CÃC7ÃC#	Ã#C7Ã&C#	Ã'C7Ã7C;Ã>C;c           	      ó´   — |j         |j        |j         fD ]A}|                     d|gddgddgddgdd	gg¦  «        }t          t          t
          |¦  «         ŒBd S ©
Nrv   rw   rx   ry   rz   r{   r|   r}   r~   )ÚnanÚinfr‚   Úassert_raisesÚ
ValueErrorr   ©rƒ   r„   Ú	bad_valuer†   s       r‡   Útest_whiten_not_finitez!TestWhiten.test_whiten_not_finite{   s€   € Øœ ¤¨"¬&¨Ð0ð 	3ð 	3ˆIØ—*’*˜z¨9Ð5Ø)¨:Ð6Ø)¨:Ð6Ø)¨:Ð6Ø)¨:Ð6ð	8ñ 9ô 9ˆCõ
 �*¥f¨cÑ2Ô2Ð2Ð2ð	3ð 	3r‰   ú)`np.matrix` unsupported in array API modec           	      óÆ   — t           j        t           j        t           j         fD ];}t          d|gddgddgddgdd	gg¦  «        }t	          t
          t          |¦  «         Œ<d S r¢   )Únpr£   r¤   r   r¥   r¦   r   r§   s       r‡   Útest_whiten_not_finite_matrixz(TestWhiten.test_whiten_not_finite_matrix„   s~   € õ œ¥¤­"¬&¨Ð0ð 	3ð 	3ˆIÝ˜: yÐ1Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ñ 5ô 5ˆCõ
 �*¥f¨cÑ2Ô2Ð2Ð2ð	3ð 	3r‰   N)Ú__name__Ú
__module__Ú__qualname__rˆ   ÚpytestÚfixturer�   r   r    r©   ÚmarkÚskipifr   r­   © r‰   r‡   rt   rt   S   sÊ   € € € € € ð9ð 9ð 9ð „^ðð ñ „^ðð Ð�kØHðJñ Jô JðDð DñJô JðDð$3ð 3ð 3ð „[×Ò˜ØJð ñ Lô Lð3ð 3ñLô Lð3ð 3ð 3r‰   rt   c                   óÎ  — e Zd Z ed¬¦  «        d„ ¦   «         Zej                             ed¬¦  «        d„ ¦   «         Z	 edd¬¦  «        d	„ ¦   «         Z
ej                             ed¬¦  «        d
„ ¦   «         Z ed¬¦  «        d„ ¦   «         Z edd¬¦  «        d„ ¦   «         Z edd¬¦  «        d„ ¦   «         Z ed¬¦  «        d„ ¦   «         Z ed¬¦  «        d„ ¦   «         ZdS )ÚTestVqT©Úcpu_onlyc                 ó`  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          |                     t          ¦  «        |                     |¦  «        ¦  «        d         }t          ||                     t          |j        ¬¦  «        d¬¦  «         d S )Nr   ro   rj   ©ÚdtypeF©Úcheck_dtype)r¬   ÚconcatenateÚXr   r‚   r   ÚLABEL1Úint64©rƒ   r„   ÚinitcÚlabel1s       r‡   Ú
test_py_vqzTestVq.test_py_vq’   sŽ   € å”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆå�r—z’z¥!‘}”} b§j¢j°Ñ&7Ô&7Ñ8Ô8¸Ô;ˆÝ˜ §
¢
­6¸¼ 
Ñ BÔ BØ$)ð	+ñ 	+ô 	+ð 	+ð 	+ð 	+r‰   rª   r‘   c                 ó  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          t	          t          ¦  «        t	          |¦  «        ¦  «        d         }t          |t          ¦  «         d S ©Nr   ro   rj   )r¬   r¿   rÀ   r   r   r   rÁ   rÃ   s       r‡   Útest_py_vq_matrixzTestVq.test_py_vq_matrixš   sb   € õ ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆå•v�a‘y”y¥&¨¡-¤-Ñ0Ô0°Ô3ˆÝ˜6¥6Ñ*Ô*Ð*Ð*Ð*r‰   z!`_vq` only supports NumPy backend)Únp_onlyr’   c                 ó¨  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          j        |                     t          ¦  «        |                     |¦  «        ¦  «        \  }}t          |t          ¦  «         t	          |                     t          ¦  «        |                     |¦  «        ¦  «        \  }}d S rÈ   )r¬   r¿   rÀ   r   r   r‚   r   rÁ   ©rƒ   r„   rÄ   rÅ   Ú_s        r‡   Útest_vqzTestVq.test_vq¢   s’   € å”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ”F˜2Ÿ:š:¥a™=œ=¨"¯*ª*°UÑ*;Ô*;Ñ<Ô<‰	ˆ�Ý˜6¥6Ñ*Ô*Ð*Ý�"—*’*�Q‘-”- §¢¨EÑ!2Ô!2Ñ3Ô3‰ˆˆ1ˆ1ˆ1r‰   c                 óx  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          j        t          t          ¦  «        t          |¦  «        ¦  «        \  }}t          |t          ¦  «         t	          t          t          ¦  «        t          |¦  «        ¦  «        \  }}d S rÈ   )r¬   r¿   rÀ   r   r   r   r   rÁ   rÌ   s        r‡   Útest_vq_matrixzTestVq.test_vq_matrix©   s€   € õ ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ”F�6¥!™9œ9¥f¨U¡m¤mÑ4Ô4‰	ˆ�Ý˜6¥6Ñ*Ô*Ð*Ý•&�‘)”)�V E™]œ]Ñ+Ô+‰ˆˆ1ˆ1ˆ1r‰   c                 óÔ  — t           d d …df         }|d d…         }t          j        ||¦  «        \  }}|                     |¦  «        }|                     |¦  «        }t	          |d d …t
          j        f         |d d …t
          j        f         ¦  «        \  }}t          ||                     ||j        ¬¦  «        d¬¦  «         t          ||                     |¦  «        ¦  «         d S )Nr   rk   r»   Fr½   )	rÀ   r   r   r‚   r   r¬   Únewaxisr   rÂ   )rƒ   r„   ÚdatarÄ   ÚaÚbÚtaÚtbs           r‡   Ú
test_vq_1dzTestVq.test_vq_1d±   sÑ   € õ ����A�ŒwˆØ�R�a�R”ˆÝŒv�d˜EÑ"Ô"‰ˆˆ1Ø�zŠz˜$ÑÔˆØ—
’
˜5Ñ!Ô!ˆÝ�t˜A˜A˜A�rœz˜MÔ*¨E°!°!°!µR´Z°-Ô,@ÑAÔA‰ˆˆBå˜˜BŸJšJ q°´˜JÑ9Ô9ÀuÐMÑMÔMÐMÝ˜˜BŸJšJ q™MœMÑ*Ô*Ð*Ð*Ð*r‰   c                 ó¸   — |                      ddg|j        ¬¦  «        }|                     |j        ¦  «        }t	          t
          t          j        ||¦  «         d S )Nrd   g       @r»   )r‚   Úfloat64ÚastypeÚfloat32r¥   Ú	TypeErrorr   r   )rƒ   r„   rÔ   rÕ   s       r‡   Útest__vq_sametypezTestVq.test__vq_sametype¾   sL   € à�JŠJ˜˜S�z¨¬ˆJÑ4Ô4ˆØ�HŠH�R”ZÑ Ô ˆÝ•i¥¤¨¨AÑ.Ô.Ð.Ð.Ð.r‰   c                 ó„   — |                      ddgt          ¬¦  «        }t          t          t          j        ||¦  «         d S )Nro   rj   r»   )r‚   Úintr¥   rÝ   r   r   )rƒ   r„   rÔ   s      r‡   Útest__vq_invalid_typezTestVq.test__vq_invalid_typeÄ   s7   € à�JŠJ˜˜1�v¥SˆJÑ)Ô)ˆÝ•i¥¤¨¨AÑ.Ô.Ð.Ð.Ð.r‰   c                 ó˜  — t           j                             dd¦  «        }t           j                             dd¦  «        }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     |¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬¦  «         | 
                    t           j        ¦  «        }| 
                    t           j        ¦  «        }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     ||j        ¬¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬¦  «         d S )Né   rk   r   r€   r»   Fr½   )r¬   ÚrandomÚrandr   r   r   r‚   r   r   rÂ   rÛ   rÜ   rÚ   ©rƒ   r„   rÀ   Ú	code_bookÚcodes0Údis0Úcodes1Údis1s           r‡   Útest_vq_large_nfeatzTestVq.test_vq_large_nfeatÉ   s|  € åŒI�NŠN˜2˜rÑ"Ô"ˆÝ”I—N’N 1 bÑ)Ô)ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨Ñ.Ô.°TÐ:Ñ:Ô:Ð:å˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVà�HŠH•R”ZÑ Ô ˆØ×$Ò$¥R¤ZÑ0Ô0ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨°R´Z˜jÑ@Ô@ÀtÐLÑLÔLÐLå˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVÐVÐVr‰   c                 óÖ  — t           j                             dd¦  «        dz  }t           j                             dd¦  «        dz  }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     |¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬	¦  «         d S )
Né
   rn   i@B rj   r   r€   r»   Fr½   )
r¬   rä   rå   r   r   r   r‚   r   r   rÂ   ræ   s           r‡   Útest_vq_large_featureszTestVq.test_vq_large_featuresá   sÊ   € åŒI�NŠN˜2˜qÑ!Ô! GÑ+ˆÝ”I—N’N 1 aÑ(Ô(¨7Ñ2ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨Ñ.Ô.°TÐ:Ñ:Ô:Ð:å˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVÐVÐVr‰   N)r®   r¯   r°   r   rÆ   r±   r³   r´   r   rÉ   rÎ   rÐ   rØ   rÞ   rá   rì   rï   rµ   r‰   r‡   r·   r·   �   sÈ  € € € € € àÐ˜tÐ$Ñ$Ô$ð+ð +ñ %Ô$ð+ð „[×Ò˜ØJð ñ Lô Lð+ð +ñLô Lð+ð Ð˜dÐ+NÐOÑOÔOð4ð 4ñ PÔOð4ð „[×Ò˜ØJð ñ Lô Lð,ð ,ñLô Lð,ð Ð˜tÐ$Ñ$Ô$ð
+ð 
+ñ %Ô$ð
+ð Ð˜dÐ+NÐOÑOÔOð/ð /ñ PÔOð/ð
 Ð˜dÐ+NÐOÑOÔOð/ð /ñ PÔOð/ð Ð˜tÐ$Ñ$Ô$ðWð Wñ %Ô$ðWð. Ð˜tÐ$Ñ$Ô$ð
Wð 
Wñ %Ô$ð
Wð 
Wð 
Wr‰   r·   Tr¸   c                   ó4  — e Zd Zd„ Zd„ Zej                             ed¬¦  «        d„ ¦   «         Z	d„ Z
d„ Zej                             ed¬¦  «        d„ ¦   «         Zd	„ Zd
„ Zd„ Z edd¬¦  «        d„ ¦   «         Zej        d„ ¦   «         Zej                             ej        dk    d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z edd¬¦  «        d„ ¦   «         Zej        j         edd¬¦  «        d„ ¦   «         ¦   «         Zd„ Z edd¬¦  «        d„ ¦   «         ZdS )Ú	TestKMeanc                 ó4  — d}d}t           j                             |¦  «        }t           j                             |¦  «        }dt           j                             ||¦  «        z  d|z  z
  }dt           j                             ||¦  «        z  d|z  z   }t          j        |j        d         |j        d         z   |ft           j        ¦  «        }||d |j        d         …<   |||j        d         d …<   t          |                     |¦  «        dd¬¦  «         d S )	Ni,  éd   i'  i N  r   rj   ro   ©Úseed)r¬   rä   ÚrandnÚemptyÚshaperÚ   r   r‚   )	rƒ   r„   ÚdÚnÚm1Úm2ÚxÚyrÓ   s	            r‡   Útest_large_featureszTestKMean.test_large_featuresô   sô   € ð ˆØˆåŒY�_Š_˜QÑÔˆÝŒY�_Š_˜QÑÔˆØ•B”I—O’O A qÑ)Ô)Ñ)¨E°B©JÑ6ˆØ•B”I—O’O A qÑ)Ô)Ñ)¨E°B©JÑ6ˆåŒx˜œ œ a¤g¨a¤jÑ0°!Ð4µb´jÑAÔAˆØˆˆ[ˆaŒg�aŒjˆ[ÑØˆˆQŒW�QŒZˆ[ˆ[Ñõ 	ˆr�zŠz˜$ÑÔ ¨Ð+Ñ+Ô+Ð+Ð+Ð+r‰   c                 ó’  — t           j                             d¦  «        }t          j        t          d         gt          d         gt          d         gg¦  «        }t          |                     t          ¦  «        |                     |¦  «        d|¬¦  «        d         }t          ||                     t          ¦  «        ¦  «         d S ©Ni1Ô  r   ro   rj   ©ÚiterÚrng)	r¬   rä   Údefault_rngr¿   rÀ   r   r‚   r   ÚCODET2©rƒ   r„   r  rÄ   Úcode1s        r‡   Útest_kmeans_simplezTestKMean.test_kmeans_simple  s’   € ÝŒi×#Ò# EÑ*Ô*ˆÝ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ�r—z’z¥!‘}”} b§j¢j°Ñ&7Ô&7¸aÀSÐIÑIÔIÈ!ÔLˆÝ˜˜rŸzšz­&Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r‰   rª   r‘   c                 óT  — t           j                             d¦  «        }t          j        t          d         gt          d         gt          d         gg¦  «        }t          t          t          ¦  «        t          |¦  «        d|¬¦  «        d         }t          |t          ¦  «         d S r  )	r¬   rä   r  r¿   rÀ   r   r   r   r  r  s        r‡   Útest_kmeans_simple_matrixz#TestKMean.test_kmeans_simple_matrix  s~   € õ Œi×#Ò# EÑ*Ô*ˆÝ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ•v�a‘y”y¥&¨¡-¤-°a¸SÐAÑAÔAÀ!ÔDˆÝ˜�vÑ&Ô&Ð&Ð&Ð&r‰   c                 óx  — |                      t          ¦  «        }|                      ddgddgddgg¦  «        }t          ||¦  «         t          ¦   «         5 }|                     t
          d¦  «         t          ||d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          t          ||d
¬	¦  «         d S )Ng5âü ý¿g´§ì!{å¿gLÜ¦^ @gÍ›ý`dò²?g€8Ýìî}Àg?�½îkª¿zKOne of the clusters is empty. Re-run kmeans with a different initializationÚwarn)ÚmissingÚraise)	r‚   ÚTESTDATA_2Dr   r	   ÚfilterÚUserWarningr   r¥   r   )rƒ   r„   rÓ   ÚinitkÚsups        r‡   Útest_kmeans_lost_clusterz"TestKMean.test_kmeans_lost_cluster  s  € à�zŠz�+Ñ&Ô&ˆØ—
’
˜Z¨Ð5Ø'¨Ð4Ø(¨+Ð6ð8ñ 9ô 9ˆõ 	ˆt�UÑÔÐÝÑ Ô ð 	1 CØ�JŠJ•{ð2ñ3ô 3ð 3õ �D˜%¨Ð0Ñ0Ô0Ð0ð		1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ 	•l¥G¨T°5À'ÐJÑJÔJÐJÐJÐJs   Á.BÂBÂBc                 óŽ  — t           j                             d¦  «        }|                     t          j        t
          d         gt
          d         gt
          d         gg¦  «        ¦  «        }t          r|j        gnt           j        t          g}|D ]²}t           |t
          ¦  «         ||¦  «        d|¬¦  «        d         }t           |t
          ¦  «         ||¦  «        d|¬¦  «        d         }t          ||                     t          ¦  «        ¦  «         t          ||                     t          ¦  «        ¦  «         Œ³d S ©NéNa¼ r   ro   rj   r  )r¬   rä   r  r‚   r¿   rÀ   r   r   r   r   ÚCODET1r  )rƒ   r„   r  rÄ   ÚarraysÚtpr  Úcode2s           r‡   Útest_kmeans2_simplezTestKMean.test_kmeans2_simple$  s  € ÝŒi×#Ò# HÑ-Ô-ˆØ—
’
�2œ>­A¨a¬D¨6µA°a´D°6½A¸a¼D¸6Ð*BÑCÔCÑDÔDˆÝ!0ÐJ�"”*��µr´zÅ6Ð6JˆØð 	7ð 	7ˆBÝ˜B˜B�q™EœE 2 2 e¡9¤9°1¸#Ð>Ñ>Ô>¸qÔAˆEÝ˜B˜B�q™EœE 2 2 e¡9¤9°1¸#Ð>Ñ>Ô>¸qÔAˆEå˜E 2§:¢:­fÑ#5Ô#5Ñ6Ô6Ð6Ý˜E 2§:¢:­fÑ#5Ô#5Ñ6Ô6Ð6Ð6ð	7ð 	7r‰   c                 ó  — t           j                             d¦  «        }|                     t          j        t
          d         gt
          d         gt
          d         gg¦  «        ¦  «        }t          t          t
          ¦  «        t          |¦  «        d|¬¦  «        d         }t          t          t
          ¦  «        t          |¦  «        d|¬¦  «        d         }t          |t          ¦  «         t          |t          ¦  «         d S r  )r¬   rä   r  r‚   r¿   rÀ   r   r   r   r  r  )rƒ   r„   r  rÄ   r  r  s         r‡   Útest_kmeans2_simple_matrixz$TestKMean.test_kmeans2_simple_matrix/  sÁ   € õ Œi×#Ò# HÑ-Ô-ˆØ—
’
�2œ>­A¨a¬D¨6µA°a´D°6½A¸a¼D¸6Ð*BÑCÔCÑDÔDˆÝ��q™	œ	¥6¨%¡=¤=°q¸cÐBÑBÔBÀ1ÔEˆÝ��q™	œ	¥6¨%¡=¤=°q¸cÐBÑBÔBÀ1ÔEˆå˜�vÑ&Ô&Ð&Ý˜�vÑ&Ô&Ð&Ð&Ð&r‰   c                 óê   — |                      t          ¦  «        }|d d …df         }|d d…         }t          ||¬¦  «        }t          ||dd¬¦  «        d          t          ||d¬¦  «        d          d S )Nr   rk   ©r„   ro   )r  rõ   rj   ©r  )r‚   r  r   r   )rƒ   r„   rÓ   Údata1rÄ   Úcodes         r‡   Útest_kmeans2_rank1zTestKMean.test_kmeans2_rank1:  s�   € Ø�zŠz�+Ñ&Ô&ˆØ�Q�Q�Q˜�T”
ˆà�b�q�b”	ˆÝ�u Ð$Ñ$Ô$ˆõ 	��t !¨!Ð,Ñ,Ô,¨QÔ/Ð/Ý��t !Ð$Ñ$Ô$ QÔ'Ð'Ð'Ð'r‰   c                 óv   — |                      t          ¦  «        }|d d …df         }t          |dd¬¦  «         d S )Nr   rj   ro   r"  )r‚   r  r   )rƒ   r„   rÓ   r#  s       r‡   Útest_kmeans2_rank1_2zTestKMean.test_kmeans2_rank1_2E  s?   € Ø�zŠz�+Ñ&Ô&ˆØ�Q�Q�Q˜�T”
ˆÝ��q˜qÐ!Ñ!Ô!Ð!Ð!Ð!r‰   c                 óž   — |                      t          ¦  «        }|                     |d¦  «        d d…d d …f         }t          |d¦  «         d S )N©rã   rã   rî   rj   )r‚   r  Úreshaper   )rƒ   r„   rÓ   s      r‡   Útest_kmeans2_high_dimzTestKMean.test_kmeans2_high_dimJ  sO   € ð �zŠz�+Ñ&Ô&ˆØ�zŠz˜$ Ñ)Ô)¨#¨2¨#¨q¨q¨q¨&Ô1ˆÝ��aÑÔÐÐÐr‰   r�   r�   c                 ó  — t           j                             d¦  «        }|                     t          ¦  «        }d}t          ||d|¬¦  «         t          |d d …df         |d|¬¦  «         t          ||d|¬¦  «         t          |d d …df         |d|¬¦  «         t          ¦   «         5 }|                     d¬¦  «         t          ||d	|¬¦  «         t          |d d …df         |d	|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr  rk   Úpoints©Úminitr  ro   ú++z%One of the clusters is empty. Re-run.)Úmessagerä   )r¬   rä   r  r‚   r  r   r	   r  )rƒ   r„   r  rÓ   Úkr  s         r‡   Útest_kmeans2_initzTestKMean.test_kmeans2_initQ  sa  € õ Œi×#Ò# HÑ-Ô-ˆØ�zŠz�+Ñ&Ô&ˆØˆå��a˜x¨SÐ1Ñ1Ô1Ð1Ý��Q�Q�Q˜�T”
˜A X°3Ð7Ñ7Ô7Ð7å��a˜t¨Ð-Ñ-Ô-Ð-Ý��Q�Q�Q˜�T”
˜A T¨sÐ3Ñ3Ô3Ð3õ Ñ Ô ð 	< CØ�JŠJÐFˆJÑGÔGÐGÝ�D˜! 8°Ð5Ñ5Ô5Ð5Ý�D˜˜˜˜A˜”J ¨°sÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   Â*AC>Ã>DÄDc                 ó   — t          ¦   «         S r‹   r   rŒ   s    r‡   Ú
krand_lockzTestKMean.krand_lockd  rŽ   r‰   Úwin32zFails with MemoryError in Wine.c                 ó  — |                      t          ¦  «        }|                     |d¦  «        |                     |d¦  «        d d…d d …f         g}t          d¦  «        }t	          |¦  «        }|5  |D ]{}t
          j                             d¦  «        }t          ||||¦  «        }t          j
        |j        |¬¦  «        }	t          j
        |j        |¬¦  «        }
t          |	|
d¬¦  «         Œ|	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nrh   r)  rî   g    €„.AéÒ  r!  gºI+‡†?)Úatol)r‚   r  r*  rà   r   r¬   rä   r  r   ÚxpxÚcovÚTr   )rƒ   r„   r5  rÓ   Údatasr2  Úxp_testr  ÚinitÚorig_covÚinit_covs              r‡   Útest_krandinitzTestKMean.test_krandinith  sh  € ð �zŠz�+Ñ&Ô&ˆØ—’˜D (Ñ+Ô+Ø—’˜D (Ñ+Ô+¨C¨R¨C°°°¨FÔ3ð5ˆå�‰HŒHˆÝ! $Ñ'Ô'ˆØð 	Að 	AØð Að A�Ý”i×+Ò+¨DÑ1Ô1�Ý! $¨¨3°Ñ8Ô8�Ýœ7 4¤6¨gÐ6Ñ6Ô6�Ýœ7 4¤6¨gÐ6Ñ6Ô6�Ý ¨(¸Ð@Ñ@Ô@Ð@Ð@ðAð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   Á3A?D Ä DÄDc                 ód   — t          t          t          |                     g ¦  «        d¦  «         d S )Nrj   )r¥   r¦   r   r‚   ©rƒ   r„   s     r‡   Útest_kmeans2_emptyzTestKMean.test_kmeans2_emptyx  s&   € å•j¥'¨2¯:ª:°b©>¬>¸1Ñ=Ô=Ð=Ð=Ð=r‰   c                 ód  — t          t          t          |                     t          ¦  «        d¦  «         t          t          t
          |                     t          ¦  «        d¦  «         t          t          t
          |                     t          ¦  «        |                     g ¦  «        ¦  «         d S )Nr   )r¥   r¦   r   r‚   rÀ   r   rD  s     r‡   Útest_kmeans_0kzTestKMean.test_kmeans_0k|  sl   € å•j¥&¨"¯*ª*µQ©-¬-¸Ñ;Ô;Ð;Ý•j¥'¨2¯:ª:µa©=¬=¸!Ñ<Ô<Ð<Ý•j¥'¨2¯:ª:µa©=¬=¸"¿*º*ÀR¹.¼.ÑIÔIÐIÐIÐIr‰   c                 ó4  — |                      g d¢|j        ¬¦  «        }t          |dd¬¦  «        }t          |d         |                      dg|j        ¬¦  «        ¦  «         t          |d         |                      d|j        ¬¦  «        d	         ¦  «         d S )
N)ro   rj   rk   rl   rî   r»   ro   g €à7yÃAC)Úthreshr   rr   g333333@rµ   ©r‚   rÚ   r   r   )rƒ   r„   rý   Úress       r‡   Útest_kmeans_large_thresz!TestKMean.test_kmeans_large_thres‚  s�   € à�JŠJÐ'Ð'Ð'¨r¬zˆJÑ:Ô:ˆÝ�Q˜ $Ð'Ñ'Ô'ˆÝ˜˜Aœ §
¢
¨B¨4°r´z 
Ñ BÔ BÑCÔCÐCÝ˜˜Aœ §
¢
Ð+=ÀRÄZ 
Ñ PÔ PÐQSÔ TÑUÔUÐUÐUÐUr‰   c                 ó  — t           j                             d¦  «        }|                     ddgddgg|j        ¬¦  «        }t          |                     t          ¦  «        dd|¬	¦  «        \  }}t          ||¦  «         d S )
Nl   ÈC.�tà gC:úg>ÿ¿g#Ûù~j¼ì?g'1¬:	Àg-²�ï'@r»   rj   r0  r.  )r¬   rä   r  r‚   rÚ   r   r  r   )rƒ   r„   r  Úprev_resrK  rÍ   s         r‡   Útest_kmeans2_kpp_low_dimz"TestKMean.test_kmeans2_kpp_low_dim‰  s‰   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆØ—:’: ¨UÐ3Ø )¨6Ð2ð4Ø;=¼:ð ñ Gô Gˆå˜Ÿš¥KÑ0Ô0°!¸4ÀSÐIÑIÔI‰ˆˆQÝ˜˜XÑ&Ô&Ð&Ð&Ð&r‰   c           	      ó˜  — t           j                             d¦  «        }d}d}t          j        dt          j        |¦  «        z  dt          j        |¦  «        z  g¦  «        }t          j        |                     |d         t          j        |¦  «        |¬¦  «        |                     |d         t          j        |¦  «        |¬¦  «        g¦  «        }|                     |¦  «        }t          |d	d
|¬¦  «        \  }}t          | 
                    |¦  «        | 
                    |                     |¦  «        ¦  «        ¦  «         d S )Nl   <DM]4žró   rî   rn   éûÿÿÿr   )Úsizero   rj   r0  r.  )r¬   rä   r  ÚvstackÚonesÚmultivariate_normalÚeyer‚   r   r   Úsign)	rƒ   r„   r  Ún_dimrR  ÚcentersrÓ   rK  rÍ   s	            r‡   Útest_kmeans2_kpp_high_dimz#TestKMean.test_kmeans2_kpp_high_dim“  s  € õ
 Œi×#Ò#Ð$5Ñ6Ô6ˆØˆØˆÝ”)˜Q¥¤¨¡¤Ñ/Ø¥"¤'¨%¡.¤.Ñ0ð2ñ 3ô 3ˆõ ŒyØ×#Ò# G¨A¤Jµ´°u±´ÀDÐ#ÑIÔIØ×#Ò# G¨A¤Jµ´°u±´ÀDÐ#ÑIÔIð
ñ ô ˆð
 �zŠz˜$ÑÔˆÝ˜˜q¨°#Ð6Ñ6Ô6‰ˆˆQÝ˜Ÿš ™œ b§g¢g¨b¯jªj¸Ñ.AÔ.AÑ&BÔ&BÑCÔCÐCÐCÐCr‰   c                 ó\  — |                      g d¢|j        ¬¦  «        }t          ||                      ddg¦  «        ¦  «        }t          |d         |                      ddg|j        ¬¦  «        ¦  «         t          |d         |                      d	|j        ¬¦  «        d
         ¦  «         d S )N)éýÿÿÿr—   r   ro   ro   é   r»   r`   g®Gáz®ï?r   gš™™™™™Ù¿g       @ro   gñ?rµ   rJ  )rƒ   r„   r†   rK  s       r‡   Útest_kmeans_diff_convergencez&TestKMean.test_kmeans_diff_convergence§  sœ   € à�jŠjÐ-Ð-Ð-°R´ZˆjÑ@Ô@ˆÝ�S˜"Ÿ*š* c¨4 [Ñ1Ô1Ñ2Ô2ˆÝ˜˜Aœ §
¢
¨D°2¨;¸b¼j 
Ñ IÔ IÑJÔJÐJÝ˜˜Aœ §
¢
Ð+=ÀRÄZ 
Ñ PÔ PÐQSÔ TÑUÔUÐUÐUÐUr‰   c                 óô  — dt           j                             d¦  «        t           j                             d¦  «        g}|D ]µ}t	          |¦  «        }t	          |¦  «        }|                     t          ¦  «        }t          |d|¬¦  «        \  }}t          |d|¬¦  «        \  }	}t          ||	¦  «         dD ]>}
t          |d|
|¬¦  «        \  }}t          |d|
|¬¦  «        \  }	}t          ||	¦  «         Œ?Œ¶d S )Nr8  rj   rô   )rä   r-  r0  )r/  rõ   )
r¬   rä   ÚRandomStater  r   r‚   r  r   r   r   )rƒ   r„   Ú	seed_listrõ   Úseed1Úseed2rÓ   Úres1rÍ   Úres2r/  s              r‡   Ú#test_kmeans_and_kmeans2_random_seedz-TestKMean.test_kmeans_and_kmeans2_random_seed®  s  € ð
 •"”)×'Ò'¨Ñ-Ô-­r¬y×/DÒ/DÀTÑ/JÔ/Jð
ˆ	ð ð 	,ð 	,ˆDÝ˜T‘N”NˆEÝ˜T‘N”NˆEØ—:’:�kÑ*Ô*ˆDå˜T 1¨5Ð1Ñ1Ô1‰GˆD�!Ý˜T 1¨5Ð1Ñ1Ô1‰GˆD�!Ý˜D $Ñ'Ô'Ð'à3ð ,ð ,�Ý! $¨°¸UÐCÑCÔC‘��aÝ! $¨°¸UÐCÑCÔC‘��aÝ  dÑ+Ô+Ð+Ð+ð,ð	,ð 	,r‰   N)r®   r¯   r°   rÿ   r	  r±   r³   r´   r   r  r  r  r  r%  r'  r+  r   r3  r²   r5  ÚsysÚplatformrB  rE  rG  rL  rO  Úthread_unsaferZ  r^  rf  rµ   r‰   r‡   rñ   rñ   ñ   s¡  € € € € € ð,ð ,ð ,ð$3ð 3ð 3ð „[×Ò˜ØJð ñ Lô Lð'ð 'ñLô Lð'ðKð Kð Kð 	7ð 	7ð 	7ð „[×Ò˜ØJð ñ Lô Lð'ð 'ñLô Lð'ð	(ð 	(ð 	(ð"ð "ð "ð
ð ð ð Ð�kØHðJñ Jô Jð<ð <ñJô Jð<ð" „^ðð ñ „^ðð „[×Ò˜œ¨Ò/Ø@ð ñ Bô BðAð AñBô BðAð>ð >ð >ðJð Jð JðVð Vð Vð Ð�kØHðJñ Jô Jð'ð 'ñJô Jð'ð „[ÔØÐ�kØHðJñ Jô JðDð DñJô Jñ ÔðDð"Vð Vð Vð Ð�kØHðJñ Jô Jð,ð ,ñJô Jð,ð ,ð ,r‰   rñ   )5r˜   rg  Úcopyr   Ú	threadingr   Únumpyr¬   Únumpy.testingr   r   r   r	   r±   r
   r¥   Úscipy.cluster.vqr   r   r   r   r   r   r   Úscipy.clusterr   Úscipy.conftestr   Úscipy.sparse._sputilsr   Ú
scipy._libr   r:  Úscipy._lib._array_apir   r   r   r   r   r³   ÚusefixturesÚ
pytestmarkr   Úarrayr*  r  rÀ   r  r  rÁ   rt   r·   rñ   rµ   r‰   r‡   ú<module>rw     sy  ðØ €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð €€€Ø *Ð *Ð *Ð *Ð *Ð *ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8à Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ø (Ð (Ð (Ð (Ð (Ð (à -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð ð ð # F¤K×$;Ò$;Ð<NÑ$OÔ$OÐP€
Ø”;Ô/Ð àˆbŒhð %
ð %
ð %
ñ %ô %÷J Š7�8ÑÔðK ðR €B„Hˆs�Aˆh˜˜A˜  A Ø�!ˆf�q˜!�f˜q !˜f q¨! fØ�!ˆf�q˜!�f˜q !˜f q¨! fð.ñ /ô /€ð 
ˆŒ�F˜FÐ#Ø˜FÐ#Ø˜FÐ#ð%ñ 
&ô 
&€ð 
ˆŒ�F˜E�?Ø˜FÐ#Ø˜FÐ#ð%ñ 
&ô 
&€ð 
ˆŒÐ3Ð3Ð3Ñ	4Ô	4€ð:3ð :3ð :3ð :3ð :3ñ :3ô :3ð :3ðz\Wð \Wð \Wð \Wð \Wñ \Wô \Wð \WðB Ð˜4Ð Ñ Ô ðP,ð P,ð P,ð P,ð P,ñ P,ô P,ñ !Ô ðP,ð P,ð P,r‰   