§
    qŠtjz.  ã                   ól  — d Z ddlZddlZddlZddlmZmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZ ddlmZmZ dd	lmZ d
Z ej        ddgddgddgg¦  «        dz   Z eddeddd¬¦  «        \  ZZd„ Zd„ Zd„ Zd„ Zej                              de¦  «        d„ ¦   «         Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d „ Z)ej                              d!eej        gz   ¦  «        d"„ ¦   «         Z*d#„ Z+ej                              de¦  «        d$„ ¦   «         Z,ej                              de¦  «        d%„ ¦   «         Z-d&„ Z.dS )'z!
Testing for Clustering methods

é    N)ÚAffinityPropagationÚaffinity_propagation)Ú#_equal_similarities_and_preferences)Ú
make_blobs)ÚConvergenceWarningÚNotFittedError)Úeuclidean_distances)Úassert_allcloseÚassert_array_equal)ÚCSR_CONTAINERSé   é   éÿÿÿÿé
   é<   é   gš™™™™™Ù?T)Ú	n_samplesÚ
n_featuresÚcentersÚcluster_stdÚshuffleÚrandom_statec                 óî   — t          t                               |d¬¦  «        d¬¦  «         }t          j        |¦  «        dz  }t          ||| ¬¦  «        \  }}t          |¦  «        }t          |k    sJ ‚dS )z.Test consistency of the affinity propagations.F©ÚcopyT©Úsquaredr   ©Ú
preferencer   N)r	   ÚXÚastypeÚnpÚmedianr   ÚlenÚ
n_clusters)Úglobal_random_seedÚglobal_dtypeÚSr   Úcluster_centers_indicesÚlabelsÚn_clusters_s          úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/cluster/tests/test_affinity_propagation.pyÚtest_affinity_propagationr-   #   s‚   € å	�QŸXšX l¸˜XÑ?Ô?ÈÐ	NÑ	NÔ	NÐN€AÝ”˜1‘” Ñ"€JÝ&:Ø	�jÐ/Að'ñ 'ô 'Ñ#Ð˜Võ Ð-Ñ.Ô.€Kå˜Ò$Ð$Ð$Ð$Ð$Ð$ó    c                  óÀ  — t          t          d¬¦  «         } t          j        | ¦  «        dz  }t	          |dd¬¦  «        }|                     | ¦  «        j        }t	          |dd¬¦  «        }|                     t          ¦  «        j        }t          ||¦  «         |j        }t          |¦  «        }t          j
        |¦  «        j        |k    sJ ‚t          |k    sJ ‚d	S )
z^Check equality of precomputed affinity matrix to internally computed affinity
    matrix.
    Tr   r   Úprecomputedé   ©r   Úaffinityr   é%   ©r   Úverboser   N)r	   r    r"   r#   r   ÚfitÚlabels_r   Úcluster_centers_indices_r$   ÚuniqueÚsizer%   )r(   r   ÚafÚlabels_precomputedr*   r)   r+   s          r,   Ú%test_affinity_propagation_precomputedr>   0   sÞ   € õ 
�Q¨Ð	-Ñ	-Ô	-Ð-€AÝ”˜1‘” Ñ"€JÝ	Ø¨ÀBð
ñ 
ô 
€Bð Ÿš ™œÔ*Ðå	¨
¸DÈrÐ	RÑ	RÔ	R€BØ�VŠV•A‰YŒYÔ€Få�vÐ1Ñ2Ô2Ð2à Ô9ÐåÐ-Ñ.Ô.€KÝŒ9�VÑÔÔ! [Ò0Ð0Ð0Ð0Ý˜Ò$Ð$Ð$Ð$Ð$Ð$r.   c                  ó2  — t          t          d¬¦  «         } |                      ¦   «         }t          j        | ¦  «        dz  }t          j        |                      ¦   «         |¦  «        rJ ‚t          | |dd¬¦  «         t          | |¦  «         t          j        |                      ¦   «         |¦  «        rJ ‚t          |                      ¦   «         t          j	        | j
        d         ¦  «        ¦  «         t          | |dd¬¦  «         t          |                      ¦   «         |¦  «         |                     ¦   «         } t          |dd¬¦  «        }|                     t          ¦  «        j        }t          | |dd¬¦  «        \  }}t          ||¦  «         d	S )
z.Check behaviour of not copying the input data.Tr   r   r   )r   r   r   Fr5   éJ   N)r	   r    r   r"   r#   ÚallcloseÚdiagonalr   r
   ÚzerosÚshaper   r7   r8   r   )r(   Ú
S_originalr   r<   r*   Ú_Úlabels_no_copys          r,   Ú!test_affinity_propagation_no_copyrH   G   si  € å	�Q¨Ð	-Ñ	-Ô	-Ð-€AØ—’‘”€JÝ”˜1‘” Ñ"€JÝŒ{˜1Ÿ:š:™<œ<¨Ñ4Ô4Ð4Ð4Ð4õ ˜ z¸È1ÐMÑMÔMÐMÝ�A�zÑ"Ô"Ð"ÝŒ{˜1Ÿ:š:™<œ<¨Ñ4Ô4Ð4Ð4Ð4Ý�A—J’J‘L”L¥"¤(¨1¬7°1¬:Ñ"6Ô"6Ñ7Ô7Ð7õ ˜ z¸ÈAÐNÑNÔNÐNÝ�A—J’J‘L”L *Ñ-Ô-Ð-ð 	�ŠÑÔ€AÝ	¨
¸DÈqÐ	QÑ	QÔ	Q€Bà�VŠV•A‰YŒYÔ€FÝ,Ø	�j u¸2ðñ ô Ñ€A€~õ �v˜~Ñ.Ô.Ð.Ð.Ð.r.   c                  óÖ   — t          t          d¬¦  «         } d}t          j        t          |¬¦  «        5  t          | dd…dd…f         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zHCheck the shape of the affinity matrix when using `affinity_propagation.Tr   z1The matrix of similarities must be a square array©ÚmatchNr   )r	   r    ÚpytestÚraisesÚ
ValueErrorr   )r(   Úerr_msgs     r,   Ú(test_affinity_propagation_affinity_shaperP   c   s³   € å	�Q¨Ð	-Ñ	-Ô	-Ð-€AØA€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð (ð (Ý˜Q˜q˜q˜q # 2 #˜vœYÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   µAÁA"Á%A"Úcsr_containerc                 óÊ   — d}t          j        t          |¬¦  «        5  t          d¬¦  «                              | d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz8Sparse data was passed for X, but dense data is requiredrJ   r0   ©r3   )r   r   )rL   rM   Ú	TypeErrorr   r7   )rQ   rO   s     r,   Ú7test_affinity_propagation_precomputed_with_sparse_inputrU   k   s½   € àH€GÝ	Œ•y¨Ð	0Ñ	0Ô	0ð Oð OÝ ]Ð3Ñ3Ô3×7Ò7¸¸ÀfÑ8MÔ8MÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   ž-AÁAÁAc                 óÔ   — t          d| ¬¦  «        }t                               |d¬¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «         d S )NÚ	euclidean©r3   r   Fr   )r   r    r!   Úfit_predictÚpredictr   )r&   r'   r<   ÚX_r*   Úlabels2s         r,   Ú!test_affinity_propagation_predictr]   r   s`   € å	 kÐ@RÐ	SÑ	SÔ	S€BÝ	
�Š�, UˆÑ	+Ô	+€BØ�^Š^˜BÑÔ€FØ�jŠj˜‰nŒn€GÝ�v˜wÑ'Ô'Ð'Ð'Ð'r.   c                  óì  — t          d¬¦  «        } t          j        t          ¦  «        5  |                      t
          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          t
          j        ¦  «        }t          dd¬¦  «        } |  	                    |¦  «         t          j        t          d¬¦  «        5  |                      t
          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrW   rS   r0   é9   rX   zexpecting 60 features as inputrJ   )r   rL   rM   r   rZ   r    r"   ÚdotÚTr7   rN   )r<   r(   s     r,   Ú'test_affinity_propagation_predict_errorrb   {   sE  € õ 
 kÐ	2Ñ	2Ô	2€BÝ	Œ•~Ñ	&Ô	&ð ð Ø
�
Š
•1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�q•!”#‰Œ€AÝ	 mÀ"Ð	EÑ	EÔ	E€BØ‡F‚Fˆ1�I„I€IÝ	Œ•zÐ)IÐ	JÑ	JÔ	Jð ð Ø
�
Š
•1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ªAÁAÁAÃC)Ã)C-Ã0C-c                 ó”  — t          j        ddgddgddgg| ¬¦  «        }t          ddd¬¦  «        }t          j        t
          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        d¦  «        |j	        ¦  «         t          t          j        g d	¢¦  «        |j        ¦  «         d S )
Nr   r   éþÿÿÿ©ÚdtypeéöÿÿÿéR   ©r   Úmax_iterr   )r   r   ©r   r   r   )r"   Úarrayr   rL   Úwarnsr   r7   r
   ÚemptyÚcluster_centers_r   r8   )r'   r    r<   s      r,   Ú-test_affinity_propagation_fit_non_convergencerp   Š   sù   € õ 	Œ�1�a�&˜1˜a˜& 2 r (Ð+°<Ð@Ñ@Ô@€Aõ 
¨°aÀbÐ	IÑ	IÔ	I€Bå	ŒÕ(Ñ	)Ô	)ð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å•B”H˜VÑ$Ô$ bÔ&9Ñ:Ô:Ð:Ý•r”x   Ñ-Ô-¨r¬zÑ:Ô:Ð:Ð:Ð:s   ÁA-Á-A1Á4A1c                 ó
  — t          j        ddgddgg| ¬¦  «        }t          |d¬¦  «         }t          j        t
          d¬¦  «        5  t          |d¬	¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   t          ddg|¦  «         t          ddg|¦  «         t          j        t
          d¬¦  «        5  t          |d
¬	¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   t          dg|¦  «         t          ddg|¦  «         t          j	        ¦   «         5  t          j
        dt
          ¦  «         t          |dd
gd¬¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   t          dg|¦  «         t          ddg|¦  «         d S )Nr   r   re   Tr   zmutually equalrJ   r   )r   rg   Úerroriìÿÿÿr4   r   )r"   rl   r	   rL   rm   ÚUserWarningr   r   ÚwarningsÚcatch_warningsÚsimplefilter)r'   r    r(   Úcluster_center_indicesr*   s        r,   Ú3test_affinity_propagation_equal_mutual_similaritiesrx   ™   s…  € Ý
Œ�2�q�'˜A˜r˜7Ð#¨<Ð8Ñ8Ô8€AÝ	˜Q¨Ð	-Ñ	-Ô	-Ð-€Aõ 
Œ•kÐ)9Ð	:Ñ	:Ô	:ð Oð OÝ)=¸aÈAÐ)NÑ)NÔ)NÑ&Ð ðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oõ ˜˜1�vÐ5Ñ6Ô6Ð6Ý˜˜1�v˜vÑ&Ô&Ð&õ 
Œ•kÐ)9Ð	:Ñ	:Ô	:ð Qð QÝ)=¸aÈCÐ)PÑ)PÔ)PÑ&Ð ðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qõ ˜�sÐ2Ñ3Ô3Ð3Ý˜˜1�v˜vÑ&Ô&Ð&õ 
Ô	 Ñ	"Ô	"ð 
ð 
ÝÔ˜g¥{Ñ3Ô3Ð3Ý)=Ø˜3 ˜*°2ð*
ñ *
ô *
Ñ&Ð ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ˜�sÐ2Ñ3Ô3Ð3Ý˜˜1�v˜vÑ&Ô&Ð&Ð&Ð&s6   Á
A+Á+A/Á2A/Â5CÃCÃCÄ2EÅEÅEc                 óþ  — t          j        ddgddgddgg| ¬¦  «        }t          j        t          ¦  «        5  t          ddd¬¦  «                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ddgd	d	gd
d
gg¦  «        }t          j        t          ¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        g d¢¦  «        |¦  «         d S )Nr   r   rd   re   rg   éK   ri   r   r   é   rk   )	r"   rl   rL   rm   r   r   r7   rZ   r   )r'   r    r<   Ú
to_predictÚys        r,   Ú1test_affinity_propagation_predict_non_convergencer~   ¹   s†  € õ 	Œ�1�a�&˜1˜a˜& 2 r (Ð+°<Ð@Ñ@Ô@€Aõ 
ŒÕ(Ñ	)Ô	)ð Uð UÝ ¨C¸!È"ÐMÑMÔM×QÒQÐRSÑTÔTˆðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uõ
 ”˜A˜q˜6 A q 6¨A¨q¨6Ð2Ñ3Ô3€JÝ	ŒÕ(Ñ	)Ô	)ð #ð #Ø�JŠJ�zÑ"Ô"ˆð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å•r”x   Ñ-Ô-¨qÑ1Ô1Ð1Ð1Ð1s#   ¹&A+Á+A/Á2A/Â,CÃCÃCc                 óN  — t          j        g d¢g d¢g d¢g| ¬¦  «        }t          ddd¬¦  «        }d	}t          j        t
          |¬
¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        g d¢¦  «        |j        ¦  «         d S )N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   re   rW   r   é"   )r3   rj   r   zcAffinity propagation did not converge, this model may return degenerate cluster centers and labels.rJ   )r   r   r   )	r"   rl   r   rL   rm   r   r7   r   r8   )r'   r    r<   Úmsgs       r,   Ú8test_affinity_propagation_non_convergence_regressiontestr‚   Ê   sü   € Ý
ŒØ	Ð	Ð	Ð/Ð/Ð/Ð1CÐ1CÐ1CÐDÈLð	ñ 	ô 	€Aõ 
 k¸AÈBÐ	OÑ	OÔ	O€Bð	'ð õ 
ŒÕ(°Ð	4Ñ	4Ô	4ð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ •r”x 	 	 	Ñ*Ô*¨B¬JÑ7Ô7Ð7Ð7Ð7s   ÁA1Á1A5Á8A5c                 ó„  — t          j        ddgddgddgg| ¬¦  «        }t          |d¬¦  «         }t          |t          j        d¦  «        ¦  «        rJ ‚t          |t          j        ddg¦  «        ¦  «        rJ ‚t          |t          j        ddg¦  «        ¦  «        rJ ‚t          j        ddgddgg| ¬¦  «        }t          |d¬¦  «         }t          |t          j        ddg¦  «        ¦  «        rJ ‚t          |t          j        ddg¦  «        ¦  «        sJ ‚t          |t          j        d¦  «        ¦  «        sJ ‚d S )Nr   r   rd   re   Tr   )r"   rl   r	   r   )r'   r    r(   s      r,   Ú'test_equal_similarities_and_preferencesr„   Ù   sL  € å
Œ�1�a�&˜1˜a˜& 2 r (Ð+°<Ð@Ñ@Ô@€AÝ	˜Q¨Ð	-Ñ	-Ô	-Ð-€Aå2°1µb´h¸q±k´kÑBÔBÐBÐBÐBÝ2°1µb´hÀÀ1¸vÑ6FÔ6FÑGÔGÐGÐGÐGÝ2°1µb´hÀÀ1¸vÑ6FÔ6FÑGÔGÐGÐGÐGõ 	Œ�1�a�&˜1˜a˜&Ð!¨Ð6Ñ6Ô6€AÝ	˜Q¨Ð	-Ñ	-Ô	-Ð-€Aõ 3°1µb´hÀÀ1¸vÑ6FÔ6FÑGÔGÐGÐGÐGõ /¨qµ"´(¸A¸q¸6Ñ2BÔ2BÑCÔCÐCÐCÐCÝ.¨qµ"´(¸1±+´+Ñ>Ô>Ð>Ð>Ð>Ð>Ð>r.   c                  ó@  — ddgddgddgg} t          d| dd¬¦  «        \  }}t          ddd¬¦  «        }|                     |¦  «         |j        }t          ddd	¬¦  «        }|                     |¦  «         |j        }t	          j        ||z
  dz  ¦  «        dk    sJ ‚d
S )z†Check that different random states lead to different initialisations
    by looking at the center locations after two iterations.
    r   r   i,  ç      à?r   )r   r   r   r   r   )Úconvergence_iterrj   r   éL   N)r   r   r7   ro   r"   Úmean)r   r    Úlabels_trueÚapÚcenters0Ú	centers76s         r,   Ú&test_affinity_propagation_random_staterŽ   î   sÂ   € ð �1ˆv˜˜B�x ! R Ð)€GÝØ˜w°CÀaðñ ô �N€A€{õ 
¨a¸!È!Ð	LÑ	LÔ	L€BØ‡F‚Fˆ1�I„I€IØÔ"€Hõ 
¨a¸!È"Ð	MÑ	MÔ	M€BØ‡F‚Fˆ1�I„I€IØÔ#€IåŒ7�H˜yÑ(¨QÑ.Ñ/Ô/°!Ò3Ð3Ð3Ð3Ð3Ð3r.   Ú	containerc                 ó¨  —  | t          j        d¦  «        ¦  «        }t           j                             d¦  «        }|                     dd¦  «                             |d¬¦  «        }d|                     d¦  «        z                       t          ¦  «        }t          d¬	¦  «        }|                     ||¦  «         ||_	        t          j        ¦   «         5  t          j        d
t          ¦  «         t          |                     |¦  «        t          j        |j        d         t          ¬¦  «        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zŒ
    Check that having sparse or dense `centers` format should not
    influence the convergence.
    Non-regression test for gh-13334.
    )r   r   é*   é(   r   Fr   r{   é.   )r   rr   r   re   N)r"   rC   ÚrandomÚRandomStateÚrandr!   Úintr   r7   ro   rt   ru   rv   r   r   rZ   rD   )r�   r'   r   Úrngr    r}   r‹   s          r,   Ú:test_affinity_propagation_convergence_warning_dense_sparser™     sm  € ð ˆi�œ Ñ)Ô)Ñ*Ô*€GÝ
Œ)×
Ò
 Ñ
#Ô
#€CØ�Š��RÑÔ×Ò °5ÐÑ9Ô9€AØ	
ˆS�XŠX�b‰\Œ\Ñ	×!Ò!¥#Ñ&Ô&€AÝ	¨"Ð	-Ñ	-Ô	-€BØ‡F‚Fˆ1ˆa�L„L€LØ!€BÔÝ	Ô	 Ñ	"Ô	"ð Kð KÝÔ˜gÕ'9Ñ:Ô:Ð:Ý˜2Ÿ:š: a™=œ=­"¬(°1´7¸1´:ÅSÐ*IÑ*IÔ*IÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks   ÃA"EÅEÅEc                 óê   — t          j        g d¢g d¢g d¢g d¢g| ¬¦  «        }t          ddd¬¦  «                             |¦  «        }t          j        g d	¢¦  «        }t	          |j        |¦  «         d S )
N)r   r   r   r   )r   r   r   r   )r   r   r   r   re   r   r0   r   r2   )r   r   r   r   )r"   rl   r   r7   r   r8   )r'   r    ÚafpÚexpecteds       r,   Útest_correct_clustersr�     s�   € õ 	ŒØ	ˆˆ�|�|�| \ \ \°<°<°<Ð@Èð	ñ 	ô 	€Aõ ¨°]ÐQRÐ
SÑ
SÔ
S×
WÒ
WØ	ñô €Cõ Œx˜˜˜Ñ%Ô%€HÝ�s”{ HÑ-Ô-Ð-Ð-Ð-r.   c                 ó¸   — t          dd¬¦  «        }|                     t          ¦  «         |                      | d¦  «        ¦  «        }t	          |d¦  «         d S )NrW   r‘   rX   )r   r   )r   r7   r    rZ   r   )rQ   r<   r*   s      r,   Útest_sparse_input_for_predictrŸ   $  sV   € õ 
 kÀÐ	CÑ	CÔ	C€BØ‡F‚F�1�I„I€IØ�ZŠZ˜˜ fÑ-Ô-Ñ.Ô.€FÝ�v˜vÑ&Ô&Ð&Ð&Ð&r.   c                 óò   — t          dd¬¦  «        }t          j                             d¦  «        } | |                     ddd¬¦  «        ¦  «        }|                     |¦  «        }t          |d¦  «         d S )	NrW   r‘   rX   r   r   )é   r¡   )r;   )r   r   r   r   r   )r   r"   r”   r•   ÚrandintrY   r   )rQ   r<   r˜   r    r*   s        r,   Ú!test_sparse_input_for_fit_predictr£   .  ss   € õ 
 kÀÐ	CÑ	CÔ	C€BÝ
Œ)×
Ò
 Ñ
#Ô
#€CØˆ�c—k’k ! Q¨V�kÑ4Ô4Ñ5Ô5€AØ�^Š^˜AÑÔ€FÝ�v˜Ñ/Ô/Ð/Ð/Ð/r.   c                  ó¶   — t          j        d¦  «        } t          ddd¬¦  «                             | ¦  «        }t          j        |j        dk    ¦  «        sJ ‚dS )zœMake sure we do not assign multiple clusters to equal points.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/pull/20043
    )é   r   rW   r†   r‘   )r3   Údampingr   r   N)r"   rC   r   r7   Úallr8   )r    r<   s     r,   Ú&test_affinity_propagation_equal_pointsr¨   9  sX   € õ 	Œ�ÑÔ€AÝ	 k¸3ÈRÐ	PÑ	PÔ	P×	TÒ	TÐUVÑ	WÔ	W€BÝŒ6�"”* ’/Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r.   )/Ú__doc__rt   Únumpyr"   rL   Úsklearn.clusterr   r   Ú%sklearn.cluster._affinity_propagationr   Úsklearn.datasetsr   Úsklearn.exceptionsr   r   Úsklearn.metricsr	   Úsklearn.utils._testingr
   r   Úsklearn.utils.fixesr   r%   rl   r   r    rF   r-   r>   rH   rP   ÚmarkÚparametrizerU   r]   rb   rp   rx   r~   r‚   r„   rŽ   r™   r�   rŸ   r£   r¨   © r.   r,   ú<module>rµ      s¾  ððð ð
 €€€à Ð Ð Ð Ø €€€à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ UÐ UÐ UÐ UÐ UÐ UØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ /Ð /Ð /Ð /Ð /Ð /Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ .Ð .Ð .Ð .Ð .Ð .à€
Ø
ˆ"Œ(�Q˜�F˜R ˜H q¨" gÐ.Ñ
/Ô
/°"Ñ
4€Ø€zØØØØØØðñ ô �€€1ð
%ð 
%ð 
%ð%ð %ð %ð./ð /ð /ð8(ð (ð (ð „×Ò˜¨.Ñ9Ô9ðOð Oñ :Ô9ðOð(ð (ð (ðð ð ð;ð ;ð ;ð'ð 'ð 'ð@2ð 2ð 2ð"8ð 8ð 8ð?ð ?ð ?ð*4ð 4ð 4ð* „×Ò˜ n¸¼°zÑ&AÑBÔBðKð Kñ CÔBðKð&
.ð 
.ð 
.ð „×Ò˜¨.Ñ9Ô9ð'ð 'ñ :Ô9ð'ð „×Ò˜¨.Ñ9Ô9ð0ð 0ñ :Ô9ð0ð#ð #ð #ð #ð #r.   