§
    fŠtj•  ã                   óô  — d dl Z d dl mZ d dlZd dlmZ d dlZd„ Zd„ Z	d„ Z
d„ Ze j                             dd	d
g¦  «        d„ ¦   «         Ze j                             dd	d
g¦  «        d„ ¦   «         Zd„ Ze j                             dddg¦  «        e j                             dd	d
g¦  «        d„ ¦   «         ¦   «         Ze j                             dd	d
g¦  «        d„ ¦   «         Ze j                             dddg¦  «        e j                             dd	d
g¦  «        d„ ¦   «         ¦   «         Ze j                             ddd	g¦  «        d„ ¦   «         Ze j                             dd	d
g¦  «        d„ ¦   «         ZdS )é    N)Úraises)ÚDisjointSetc               #   ód  K  — t          t          j        ¦  «        } t          t	          j        | t          ¬¦  «        ¦  «        }|t          t	          j        | t          ¬¦  «        ¦  «        z  }|t          t          j        ¦  «        z  }|d„ t          | ¦  «        D ¦   «         z  }t	          j	        |t          ¬¦  «        }t          j                             d¬¦  «        }	 |                     dd¦  «        }|                     ||¦  «        }|dk    r|d         V — nt          |¦  «        V — ŒO)N)Údtypec                 ó   — g | ]}d ‘ŒS ©N© )Ú.0Úis     úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/cluster/tests/test_disjoint_set.pyú
<listcomp>z)generate_random_token.<locals>.<listcomp>   s   € Ð&Ð&Ð&˜ˆtÐ&Ð&Ð&ó    r   ©Úseedé   é   )ÚlenÚstringÚascii_lettersÚlistÚnpÚarangeÚintÚfloatÚrangeÚarrayÚobjectÚrandomÚRandomStateÚrandintÚchoiceÚtuple)ÚkÚtokensÚrngÚsizeÚelements        r   Úgenerate_random_tokenr(      s  è è € Ý�FÔ Ñ!Ô!€AÝ•"”)˜A¥SÐ)Ñ)Ô)Ñ*Ô*€FØ
�d•2”9˜Q¥eÐ,Ñ,Ô,Ñ-Ô-Ñ-€FØ
�d•6Ô'Ñ(Ô(Ñ(€FØ
Ð&Ð&�U 1™XœXÐ&Ñ&Ô&Ñ&€FÝŒX�f¥FÐ+Ñ+Ô+€FÝ
Œ)×
Ò
 QÐ
Ñ
'Ô
'€Cð!Ø�{Š{˜1˜aÑ Ô ˆØ—*’*˜V TÑ*Ô*ˆØ�1Š9ˆ9Ø˜!”*ÐÐÐÐå˜‘.”.Ð Ð Ð ð!r   c                 óÀ   — i }t          ¦   «         D ]-}||vr't          |¦  «        ||<   t          |¦  «        | k    r nŒ.t          |                     ¦   «         ¦  «        S r   )r(   r   r   Úkeys)ÚnÚelementsr'   s      r   Úget_elementsr-      sd   € à€HÝ(Ñ*Ô*ð ð ˆØ˜(Ð"Ð"Ý # H¡¤ˆH�WÑÝ�8‰}Œ} Ò!Ð!Ø�øÝ�—’‘”Ñ Ô Ð r   c                  óŠ   — d} t          | ¦  «        }t          |¦  «        }|j        | k    sJ ‚t          |¦  «        |k    sJ ‚d S )Né
   )r-   r   Ú	n_subsetsr   ©r+   r,   Údiss      r   Ú	test_initr3   %   sO   € Ø
€AÝ˜A‰Œ€HÝ
�hÑ
Ô
€CØŒ=˜AÒÐÐÐÝ�‰9Œ9˜Ò Ð Ð Ð Ð Ð r   c                  óÊ   — d} t          | ¦  «        }t          |¦  «        }t          |¦  «        | k    sJ ‚|                     d¦  «         t          |¦  «        | dz   k    sJ ‚d S )Nr/   Údummyr   )r-   r   r   Úaddr1   s      r   Útest_lenr7   -   se   € Ø
€AÝ˜A‰Œ€HÝ
�hÑ
Ô
€CÝˆs‰8Œ8�qŠ=ˆ=ˆ=ˆ=à‡G‚GˆGÑÔÐÝˆs‰8Œ8�q˜1‘uÒÐÐÐÐÐr   r+   r/   éd   c                 ód   — t          | ¦  «        }t          |¦  «        }|D ]}||v sJ ‚Œ	d|vsJ ‚d S )Nr5   )r-   r   )r+   r,   r2   Úxs       r   Útest_containsr;   7   sO   € å˜A‰Œ€HÝ
�hÑ
Ô
€CØð ð ˆØ�Cˆxˆxˆxˆxˆxà˜#ÐÐÐÐÐÐr   c                 ó€  — t          | ¦  «        }t          |¦  «        }t          ¦   «         }t          |¦  «        D ]_\  }}|                     |¦  «         t	          |¦  «        |dz   k    sJ ‚|                     |¦  «         t	          |¦  «        |dz   k    sJ ‚Œ`t          |¦  «        t          |¦  «        k    sJ ‚d S )Nr   )r-   r   Ú	enumerater6   r   r   )r+   r,   Údis1Údis2r   r:   s         r   Útest_addr@   A   sº   € å˜A‰Œ€HÝ�xÑ Ô €Då‰=Œ=€DÝ˜(Ñ#Ô#ð "ð "‰ˆˆ1Ø�Š�‰ŒˆÝ�4‰yŒy˜A ™EÒ!Ð!Ð!Ð!ð 	�Š�‰ŒˆÝ�4‰yŒy˜A ™EÒ!Ð!Ð!Ð!Ð!å�‰:Œ:�˜d™œÒ#Ð#Ð#Ð#Ð#Ð#r   c                  óÎ  — t          d¬¦  «        } t          | ¦  «        }t          t          ¦  «        5  |d          d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |                     | d         d¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |                     | d         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr/   )r+   r5   r   )r-   r   Úassert_raisesÚKeyErrorÚmergeÚ	connected)r,   r2   s     r   Útest_element_not_presentrF   R   s”  € Ý˜bÐ!Ñ!Ô!€HÝ
�hÑ
Ô
€Cå	•xÑ	 Ô	 ð ð ØˆGŒˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
•xÑ	 Ô	 ð (ð (Ø�	Š	�(˜1”+˜wÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
•xÑ	 Ô	 ð ,ð ,Ø�Š�h˜q”k 7Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s5   ´	A	Á	AÁAÁ(BÂBÂBÂ0CÃCÃ!CÚ	directionÚforwardsÚ	backwardsc                 óð  ‡‡— t          | ¦  «        Št          ‰¦  «        Š‰t          ‰¦  «        k    sJ ‚t          t          | dz
  ¦  «        ¦  «        }|dk    r|d d d…         }t	          |¦  «        D ]�\  }}‰                     ‰|         ‰|dz            ¦  «        rJ ‚‰                     ‰|         ‰|dz            ¦  «        sJ ‚‰                     ‰|         ‰|dz            ¦  «        sJ ‚‰j        | dz
  |z
  k    sJ ‚ŒŽˆfd„‰D ¦   «         }|dk    rt          ˆfd„|D ¦   «         ¦  «        sJ ‚nt          ˆfd„|D ¦   «         ¦  «        sJ ‚‰                     ‰d         ‰d         ¦  «        rJ ‚d S )	Nr   rI   éÿÿÿÿc                 ó    •— g | ]
}‰|         ‘ŒS r	   r	   ©r
   r   r2   s     €r   r   z.test_linear_union_sequence.<locals>.<listcomp>q   ó   ø€ Ð&Ð&Ð&˜ˆS�ŒVÐ&Ð&Ð&r   rH   c              3   ó0   •K  — | ]}‰d          |k    V — ŒdS )r   Nr	   ©r
   Úrr,   s     €r   ú	<genexpr>z-test_linear_union_sequence.<locals>.<genexpr>s   s,   øè è € Ð3Ð3¨�8˜A”; !Ò#Ð3Ð3Ð3Ð3Ð3Ð3r   c              3   ó0   •K  — | ]}‰d          |k    V — ŒdS )éþÿÿÿNr	   rP   s     €r   rR   z-test_linear_union_sequence.<locals>.<genexpr>u   s,   øè è € Ð4Ð4¨�8˜B”< 1Ò$Ð4Ð4Ð4Ð4Ð4Ð4r   r   )	r-   r   r   r   r=   rE   rD   r0   Úall)r+   rG   ÚindicesÚitr   Úrootsr2   r,   s         @@r   Útest_linear_union_sequencerY   `   s²  øø€ õ ˜A‰Œ€HÝ
�hÑ
Ô
€CØ•t˜C‘y”yÒ Ð Ð Ð å•5˜˜Q™‘<”<Ñ Ô €GØ�KÒÐØ˜$˜$˜B˜$”-ˆå˜7Ñ#Ô#ð +ð +‰ˆˆAØ—=’= ¨!¤¨h°q¸1±u¬oÑ>Ô>Ð>Ð>Ð>Ø�yŠy˜ !œ h¨q°1©u¤oÑ6Ô6Ð6Ð6Ð6Ø�}Š}˜X aœ[¨(°1°q±5¬/Ñ:Ô:Ð:Ð:Ð:ØŒ}  A¡¨¡
Ò*Ð*Ð*Ð*Ð*à&Ð&Ð&Ð&˜XÐ&Ñ&Ô&€EØ�JÒÐÝÐ3Ð3Ð3Ð3¨UÐ3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3åÐ4Ð4Ð4Ð4¨eÐ4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ø�yŠy˜ !œ h¨r¤lÑ3Ô3Ð3Ð3Ð3Ð3Ð3r   c                 óh  ‡— t          | ¦  «        }t          |¦  «        Š|D ]J}‰                     ||¦  «        sJ ‚‰                     ||¦  «        rJ ‚‰                     ||¦  «        sJ ‚ŒK‰j        t          |¦  «        k    sJ ‚|t          ‰¦  «        k    sJ ‚ˆfd„|D ¦   «         }||k    sJ ‚d S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r	   r	   )r
   r:   r2   s     €r   r   z$test_self_unions.<locals>.<listcomp>…   rN   r   )r-   r   rE   rD   r0   r   r   )r+   r,   r:   rX   r2   s       @r   Útest_self_unionsr\   y   sÙ   ø€ å˜A‰Œ€HÝ
�hÑ
Ô
€Càð #ð #ˆØ�}Š}˜Q Ñ"Ô"Ð"Ð"Ð"Ø—9’9˜Q ‘?”?Ð"Ð"Ð"Ø�}Š}˜Q Ñ"Ô"Ð"Ð"Ð"Ð"ØŒ=�C ™MœMÒ)Ð)Ð)Ð)à•t˜C‘y”yÒ Ð Ð Ð Ø&Ð&Ð&Ð&˜XÐ&Ñ&Ô&€EØ�uÒÐÐÐÐÐr   ÚorderÚabÚbac                 óD  — t          | ¦  «        }t          |¦  «        }t          j                             d¬¦  «        }t          j        | ¦  «        }|                     |¦  «         t          dt          |¦  «        d¦  «        D ]™}|||                  |||dz                     }}|dk    r| 	                    ||¦  «        sJ ‚n| 	                    ||¦  «        sJ ‚|t          ||         ||dz            ¦  «                 }	||         |	k    sJ ‚||         |	k    sJ ‚Œšd S )Nr   r   é   r   r^   )r-   r   r   r   r   r   Úshuffler   r   rD   Úmin)
r+   r]   r,   r2   r%   rV   r   ÚaÚbÚexpecteds
             r   Útest_equal_size_orderingrg   ‰   s$  € õ ˜A‰Œ€HÝ
�hÑ
Ô
€Cå
Œ)×
Ò
 QÐ
Ñ
'Ô
'€CÝŒi˜‰lŒl€GØ‡K‚K�ÑÔÐå�1•c˜'‘l”l AÑ&Ô&ð 	"ð 	"ˆØ˜ œ
Ô# X¨g°a¸!±e¬nÔ%=ˆ1ˆØ�DŠ=ˆ=Ø—9’9˜Q ‘?”?Ð"Ð"�?Ð"à—9’9˜Q ‘?”?Ð"Ð"�?à�C ¨¤
¨G°A¸±E¬NÑ;Ô;Ô<ˆØ�1Œv˜Ò!Ð!Ð!Ð!Ø�1Œv˜Ò!Ð!Ð!Ð!Ð!ð	"ð 	"r   Úkmaxé   c                 óº  ‡‡— d| z  }t          |¦  «        Št          ‰¦  «        Št          j                             d¬¦  «        }dt          j        | ¦  «        z  D ]ý}t          d|d|z  ¦  «        D ]~}|                     d|d¬¦  «        \  }}‰||z            ‰||z   |z            }}‰                     ||¦  «        rJ ‚‰ 	                    ||¦  «        sJ ‚‰                     ||¦  «        sJ ‚Œ‰t          ‰¦  «        k    sJ ‚ˆfd„‰D ¦   «         }	t          j        |¦  «        t          j        |¦  «        d|z  z  z
  }
ˆfd„|
D ¦   «         }|	|k    sJ ‚Œþd S )Nra   r   r   )r&   c                 ó    •— g | ]
}‰|         ‘ŒS r	   r	   rM   s     €r   r   z$test_binary_tree.<locals>.<listcomp>¯   s   ø€ Ð*Ð*Ð*˜A��Q”Ð*Ð*Ð*r   c                 ó    •— g | ]
}‰|         ‘ŒS r	   r	   )r
   r   r,   s     €r   r   z$test_binary_tree.<locals>.<listcomp>±   s   ø€ Ð:Ð:Ð: A�H˜Q”KÐ:Ð:Ð:r   )r-   r   r   r   r   r   r   r    rE   rD   r   )rh   r+   r%   r#   r   Úr1Úr2rd   re   rX   Úexpected_indicesrf   r2   r,   s               @@r   Útest_binary_treerp   Ÿ   sŒ  øø€ à	ˆ4‰€AÝ˜A‰Œ€HÝ
�hÑ
Ô
€CÝ
Œ)×
Ò
 QÐ
Ñ
'Ô
'€Cà•”	˜$‘”Ñð !ð !ˆÝ�q˜!˜Q ™UÑ#Ô#ð 	'ð 	'ˆAØ—[’[  A¨A�[Ñ.Ô.‰FˆB�Ø˜A ™FÔ# X¨a°!©e°b©jÔ%9ˆqˆAØ—}’} Q¨Ñ*Ô*Ð*Ð*Ð*Ø—9’9˜Q ‘?”?Ð"Ð"�?Ø—=’=  AÑ&Ô&Ð&Ð&Ð&Ð&à�4 ™9œ9Ò$Ð$Ð$Ð$Ø*Ð*Ð*Ð* Ð*Ñ*Ô*ˆÝœ9 Q™<œ<­"¬)°A©,¬,¸!¸a¹%Ñ*@Ñ@ÐØ:Ð:Ð:Ð:Ð)9Ð:Ñ:Ô:ˆØ˜Ò Ð Ð Ð Ð ð!ð !r   c                 ó  ‡‡	— t          | ¦  «        }t          |¦  «        Št          j                             d¬¦  «        }|                     d| | df¦  «        D �].\  }}||         Š	||         }ˆˆ	fd„‰D ¦   «         }‰                     ‰	¦  «        t          ‰                     ‰	¦  «        ¦  «        k    sJ ‚|‰                     ‰	¦  «        k    sJ ‚ˆfd„‰D ¦   «         }‰D ]#}|‰|                   	                    |¦  «         Œ$t          |                     ¦   «         ¦  «        }|‰                     ¦   «         k    sJ ‚‰                     ‰	|¦  «         ‰                     ‰	¦  «        ‰                     |¦  «        k    sJ ‚�Œ0d S )Nr   r   ra   c                 ó<   •— h | ]}‰|         h‰‰         hk    ¯|’ŒS r	   r	   )r
   r'   r2   r:   s     €€r   ú	<setcomp>ztest_subsets.<locals>.<setcomp>¿   s/   ø€ ÐMÐMÐM °3°w´<°.ÀSÈÄVÀHÒ2LÐ2L�GÐ2LÐ2LÐ2Lr   c                 ó:   •— i | ]}‰|         t          ¦   «         “ŒS r	   )Úset)r
   r'   r2   s     €r   ú
<dictcomp>z test_subsets.<locals>.<dictcomp>Ã   s#   ø€ Ð;Ð;Ð;¨G�C˜”L¥#¡%¤%Ð;Ð;Ð;r   )r-   r   r   r   r   r    Úsubset_sizer   Úsubsetr6   r   ÚvaluesÚsubsetsrD   )
r+   r,   r%   r   ÚjÚyrf   r'   r2   r:   s
           @@r   Útest_subsetsr}   µ   sŽ  øø€ å˜A‰Œ€HÝ
�hÑ
Ô
€Cå
Œ)×
Ò
 QÐ
Ñ
'Ô
'€CØ—’˜A˜q 1 a &Ñ)Ô)ð .ñ .‰ˆˆ1Ø�QŒKˆØ�QŒKˆàMÐMÐMÐMÐM¨3ÐMÑMÔMˆØ�Š˜qÑ!Ô!¥S¨¯ª°A©¬Ñ%7Ô%7Ò7Ð7Ð7Ð7Ø˜3Ÿ:š: a™=œ=Ò(Ð(Ð(Ð(à;Ð;Ð;Ð;°sÐ;Ñ;Ô;ˆØð 	0ð 	0ˆGØ�S˜”\Ô"×&Ò& wÑ/Ô/Ð/Ð/Ý˜ŸšÑ)Ô)Ñ*Ô*ˆØ˜3Ÿ;š;™=œ=Ò(Ð(Ð(Ð(à�	Š	�!�Q‰ŒˆØ�zŠz˜!‰}Œ} §
¢
¨1¡¤Ò-Ð-Ð-Ð-Ñ-ð.ð .r   )Úpytestr   rB   Únumpyr   Úscipy.cluster.hierarchyr   r   r(   r-   r3   r7   ÚmarkÚparametrizer;   r@   rF   rY   r\   rg   rp   r}   r	   r   r   ú<module>rƒ      s>  ðØ €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ø €€€ð!ð !ð !ð$!ð !ð !ð!ð !ð !ðð ð ð „×Ò˜˜r 3˜iÑ(Ô(ðð ñ )Ô(ðð „×Ò˜˜r 3˜iÑ(Ô(ð$ð $ñ )Ô(ð$ð ,ð ,ð ,ð „×Ò˜ z°;Ð&?Ñ@Ô@Ø„×Ò˜˜r 3˜iÑ(Ô(ð4ð 4ñ )Ô(ñ AÔ@ð4ð. „×Ò˜˜r 3˜iÑ(Ô(ðð ñ )Ô(ðð „×Ò˜ 4¨ ,Ñ/Ô/Ø„×Ò˜˜r 3˜iÑ(Ô(ð"ð "ñ )Ô(ñ 0Ô/ð"ð( „×Ò˜ ! R Ñ)Ô)ð!ð !ñ *Ô)ð!ð* „×Ò˜˜r 3˜iÑ(Ô(ð.ð .ñ )Ô(ð.ð .ð .r   