§
    bŠtj"  ã                   óp   — d Z ddlZddlZddlZddlmZmZmZ  ej	        d¦  «        Z
 G d„ d¦  «        ZdS )z$Unit tests for PyGraphviz interface.é    N)Úedges_equalÚgraphs_equalÚnodes_equalÚ
pygraphvizc                   óú  — e Zd Zd„ Zd„ Zej                             d ej	        ¦   «          ej
        ¦   «          ej        ¦   «          ej        ¦   «         f¦  «        d„ ¦   «         Zd„ Zej                             dej	        ej
        ej        ej        f¦  «        d„ ¦   «         Zd„ Zd	„ Zej                             dej	        ej        f¦  «        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             d¬¦  «        d„ ¦   «         Zd„ Zd„ Zej                             d¬¦  «        d„ ¦   «         Zd„ Z ej                             d e!d¦  «        ¦  «        d„ ¦   «         Z"d„ Z#d„ Z$d „ Z%d!S )"Ú
TestAGraphc                 óv   — g d¢}|                      |¦  «         |                     d¦  «         d|j        d<   |S )N)©ÚAÚB©r   ÚCr   )r   r   )r   ÚDÚEÚbronzeÚmetal)Úadd_edges_fromÚadd_nodeÚgraph)ÚselfÚGÚedgess      ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/drawing/tests/test_agraph.pyÚbuild_graphzTestAGraph.build_graph   sA   € ØLÐLÐLˆØ	×Ò˜ÑÔÐØ	�
Š
�3‰ŒˆØ#ˆŒ�ÑØˆó    c                 óB  — t          |                     ¦   «         |                     ¦   «         ¦  «        sJ ‚t          |                     ¦   «         |                     ¦   «         |                     ¦   «         ¬¦  «        sJ ‚|j        d         |j        d         k    sJ ‚d S )N)Údirectedr   )r   Únodesr   r   Úis_directedr   )r   ÚG1ÚG2s      r   Úassert_equalzTestAGraph.assert_equal   s‚   € Ý˜2Ÿ8š8™:œ: r§x¢x¡z¤zÑ2Ô2Ð2Ð2Ð2Ý˜2Ÿ8š8™:œ: r§x¢x¡z¤z¸B¿NºNÑ<LÔ<LÐMÑMÔMÐMÐMÐMØŒx˜Ô  B¤H¨WÔ$5Ò5Ð5Ð5Ð5Ð5Ð5r   r   c                 óò  — |                       |¦  «        }t          j                             |¦  «        }t          j                             |¦  «        }|                      ||¦  «         |dz  }t          j        j                             ||¦  «         t          j                             |¦  «        }|                      ||¦  «         |dz  }t          |d¦  «        5 }t          j        j                             ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        5 }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      ||¦  «         d S )Nztest.dotzfh_test.dotÚw)
r   ÚnxÚ	nx_agraphÚ	to_agraphÚfrom_agraphr"   ÚdrawingÚ	write_dotÚread_dotÚopen)r   r   Útmp_pathr   ÚHÚfnameÚHinÚfhs           r   Útest_agraph_roundtrippingz$TestAGraph.test_agraph_roundtripping   s¿  € ð ×Ò˜QÑÔˆÝŒL×"Ò" 1Ñ%Ô%ˆÝŒL×$Ò$ QÑ'Ô'ˆØ×Ò˜!˜QÑÔÐà˜:Ñ%ˆÝ
Œ
Ô×&Ò& q¨%Ñ0Ô0Ð0ÝŒl×#Ò# EÑ*Ô*ˆØ×Ò˜!˜SÑ!Ô!Ð!à˜=Ñ(ˆÝ�%˜ÑÔð 	2 ÝŒJÔ ×*Ò*¨1¨bÑ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2õ �%‰[Œ[ð 	,˜BÝ”,×'Ò'¨Ñ+Ô+ˆCð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,à×Ò˜!˜SÑ!Ô!Ð!Ð!Ð!s$   Ã&DÄDÄDÄ* EÅEÅEc                 óÆ   — t          j        d¬¦  «        }t           j                             |¦  «        }t           j                             |¦  «        }|j        dk    sJ ‚d S )NÚtest)Úname)r%   ÚGraphr&   r'   r(   r5   ©r   r   r   r.   s       r   Útest_from_agraph_namez TestAGraph.test_from_agraph_name0   sW   € ÝŒH˜&Ð!Ñ!Ô!ˆÝŒL×"Ò" 1Ñ%Ô%ˆÝŒL×$Ò$ QÑ'Ô'ˆØŒv˜ÒÐÐÐÐÐr   Úgraph_classc                 óÒ   — t          j        d¦  «        }t           j                             |¦  «        }t           j                             ||¬¦  «        }t          ||¦  «        sJ ‚d S )Né   )Úcreate_using)r%   Ú
path_graphr&   r'   r(   Ú
isinstance)r   r9   r   r   r.   s        r   Útest_from_agraph_create_usingz(TestAGraph.test_from_agraph_create_using6   s^   € õ ŒM˜!ÑÔˆÝŒL×"Ò" 1Ñ%Ô%ˆÝŒL×$Ò$ Q°[Ð$ÑAÔAˆÝ˜!˜[Ñ)Ô)Ð)Ð)Ð)Ð)Ð)r   c                 ó|  — t          j        ¦   «         }|                     ddg¦  «         t           j                             |¦  «        }|                     ddd¬¦  «         t           j                             |¦  «        }t          |t           j        ¦  «        sJ ‚ddddif|                     d¬	¦  «        v sJ ‚d S )
Nr   é   Úfoo)ÚkeyÚ0Ú1rC   T©Údata)	r%   r6   Úadd_nodes_fromr&   r'   Úadd_edger(   r>   r   r7   s       r   Útest_from_agraph_named_edgesz'TestAGraph.test_from_agraph_named_edges?   s¯   € åŒH‰JŒJˆØ	×Ò˜!˜Q˜Ñ Ô Ð ÝŒL×"Ò" 1Ñ%Ô%ˆà	�
Š
�1�a˜Uˆ
Ñ#Ô#Ð#åŒL×$Ò$ QÑ'Ô'ˆÝ˜!�RœXÑ&Ô&Ð&Ð&Ð&Ø�S˜5 %˜.Ð)¨Q¯WªW¸$¨WÑ-?Ô-?Ð?Ð?Ð?Ð?Ð?Ð?r   c                 ó   — t          j        ¦   «         }|                     dd¬¦  «         t           j                             |¦  «        }t          |                     ¦   «         d         j        ¦  «        ddik    sJ ‚d S )NrA   Úred©Úcolorr   rN   )r%   r6   r   r&   r'   Údictr   Úattr©r   r   r   s      r   Útest_to_agraph_with_nodedataz'TestAGraph.test_to_agraph_with_nodedataK   sk   € ÝŒH‰JŒJˆØ	�
Š
�1˜Eˆ
Ñ"Ô"Ð"ÝŒL×"Ò" 1Ñ%Ô%ˆÝ�A—G’G‘I”I˜a”LÔ%Ñ&Ô&¨7°EÐ*:Ò:Ð:Ð:Ð:Ð:Ð:r   c                 ó  —  |¦   «         }|                      ddg¦  «         |                     ddd¬¦  «         t          j                             |¦  «        }t          |                     ¦   «         d         j        ¦  «        ddik    sJ ‚d S )Nr   rA   ÚyellowrM   rN   )rH   rI   r%   r&   r'   rO   r   rP   )r   r9   r   r   s       r   Útest_to_agraph_with_edgedataz'TestAGraph.test_to_agraph_with_edgedataQ   s…   € àˆK‰MŒMˆØ	×Ò˜!˜Q˜Ñ Ô Ð Ø	�
Š
�1�a˜xˆ
Ñ(Ô(Ð(ÝŒL×"Ò" 1Ñ%Ô%ˆÝ�A—G’G‘I”I˜a”LÔ%Ñ&Ô&¨7°HÐ*=Ò=Ð=Ð=Ð=Ð=Ð=r   c                 óN  — t          j        d¦  «        }t          |dz  ¦  «        }t           j                             ||d¬¦  «        \  }}||k    sJ ‚t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    sJ ‚d S )Nr;   z	graph.pngF)ÚpathÚshowÚrbr   )r%   Úcomplete_graphÚstrr&   Úview_pygraphvizr,   ÚreadÚlen)r   r-   r   Ú
input_pathÚout_pathr   r1   rG   s           r   Útest_view_pygraphviz_pathz$TestAGraph.test_view_pygraphviz_pathY   sÛ   € ÝÔ˜aÑ Ô ˆÝ˜ KÑ/Ñ0Ô0ˆ
Ý”l×2Ò2°1¸:ÈEÐ2ÑRÔR‰ˆ�!Ø˜:Ò%Ð%Ð%Ð%å�*˜dÑ#Ô#ð 	 rØ—7’7‘9”9ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�4‰yŒy˜1Š}ˆ}ˆ}ˆ}ˆ}ˆ}s   Á$BÂB	ÂB	c                 ó˜   — t          j        d¦  «        }t           j                             |dd¬¦  «        \  }}|dd …         dk    sJ ‚d S )Nr;   rA   F)ÚsuffixrX   iúÿÿÿz_1.png)r%   rZ   r&   r\   )r   r-   r   rW   r   s        r   Ú test_view_pygraphviz_file_suffixz+TestAGraph.test_view_pygraphviz_file_suffixc   sQ   € ÝÔ˜aÑ Ô ˆÝ”,×.Ò.¨q¸ÀÐ.ÑGÔG‰ˆˆaØ�B�C�CŒy˜HÒ$Ð$Ð$Ð$Ð$Ð$r   c                 óö   — t          j        ¦   «         }t          j        t           j        t           j        j        |¦  «         t          j        dd¦  «        }t           j                             |d¬¦  «         d S )Né   é   F©rX   )r%   r6   ÚpytestÚraisesÚNetworkXExceptionr&   r\   Úbarbell_graph)r   r   s     r   Útest_view_pygraphvizzTestAGraph.test_view_pygraphvizh   s\   € ÝŒH‰JŒJˆÝŒ•bÔ*­B¬LÔ,HÈ!ÑLÔLÐLÝÔ˜Q Ñ"Ô"ˆÝ
Œ×$Ò$ Q¨UÐ$Ñ3Ô3Ð3Ð3Ð3r   c                 ó&  — t          j        ¦   «         }|                     ddd¬¦  «         |                     ddd¬¦  «         t           j                             |dd¬	¦  «        \  }}|                     ¦   «         D ]}|j        d         d
v sJ ‚Œd S )NrA   é   é   )Úweightr;   é   rq   F©Ú	edgelabelrX   )Ú7Ú8)r%   r6   rI   r&   r\   r   rP   )r   r   rW   r   Úedges        r   Útest_view_pygraphviz_edgelabelz)TestAGraph.test_view_pygraphviz_edgelabeln   s™   € ÝŒH‰JŒJˆØ	�
Š
�1�a ˆ
Ñ"Ô"Ð"Ø	�
Š
�1�a ˆ
Ñ"Ô"Ð"Ý”,×.Ò.¨q¸HÈ5Ð.ÑQÔQ‰ˆˆaØ—G’G‘I”Ið 	5ð 	5ˆDØ”9˜XÔ&¨*Ð4Ð4Ð4Ð4Ð4ð	5ð 	5r   c                 óÒ   — t          j        d¦  «        }d„ }t           j                             ||d¬¦  «        \  }}|                     ¦   «         D ]}|j        d         dk    sJ ‚Œd S )Nr;   c                 ó   — dS )NrB   © rF   s    r   Ú	foo_labelzETestAGraph.test_view_pygraphviz_callable_edgelabel.<locals>.foo_labely   s   € Ø�5r   Frs   ÚlabelrB   )r%   rZ   r&   r\   r   rP   )r   r   r|   rW   r   rw   s         r   Ú'test_view_pygraphviz_callable_edgelabelz2TestAGraph.test_view_pygraphviz_callable_edgelabelv   s   € ÝÔ˜aÑ Ô ˆð	ð 	ð 	õ ”,×.Ò.¨q¸IÈEÐ.ÑRÔR‰ˆˆaØ—G’G‘I”Ið 	/ð 	/ˆDØ”9˜WÔ%¨Ò.Ð.Ð.Ð.Ð.ð	/ð 	/r   c                 ó|  — t          j        ¦   «         }|                     dddd¬¦  «         |                     dddd¬¦  «         t           j                             |dd¬¦  «        \  }}|                     ¦   «         }t          |¦  «        d	k    sJ ‚|D ]%}|j        d
                              ¦   «         dv sJ ‚Œ&d S )Nr   rA   Ú	left_fork)rC   r5   Ú
right_forkr5   Frs   ro   r}   )r€   r�   )	r%   Ú
MultiGraphrI   r&   r\   r   r^   rP   Ústrip)r   r   rW   r   r   rw   s         r   Ú*test_view_pygraphviz_multigraph_edgelabelsz5TestAGraph.test_view_pygraphviz_multigraph_edgelabels€   sÆ   € ÝŒM‰OŒOˆØ	�
Š
�1�a˜Q [ˆ
Ñ1Ô1Ð1Ø	�
Š
�1�a˜Q \ˆ
Ñ2Ô2Ð2Ý”,×.Ò.¨q¸FÈÐ.ÑOÔO‰ˆˆaØ—’‘	”	ˆÝ�5‰zŒz˜QŠˆˆˆØð 	Mð 	MˆDØ”9˜WÔ%×+Ò+Ñ-Ô-Ð1LÐLÐLÐLÐLÐLð	Mð 	Mr   c                 óô   — t          j        ¦   «         }|                      |¦  «        }d|j        d         d<   d|j        d         d<   d|j        d         d<   t           j                             |¦  «        }d S )NÚkeywordr   Únr
   ÚuÚv)r%   r6   r   r   r   r&   r'   rQ   s      r   Ú!test_graph_with_reserved_keywordsz,TestAGraph.test_graph_with_reserved_keywordsŠ   sm   € õ ŒH‰JŒJˆØ×Ò˜QÑÔˆØ%ˆŒ�Œ�SÑØ#,ˆŒ�
Ô˜CÑ Ø#,ˆŒ�
Ô˜CÑ ÝŒL×"Ò" 1Ñ%Ô%ˆˆˆr   c                 ó�   — t          j        d¦  «        }t           j                             |d¬¦  «        \  }}|j        i k    sJ ‚d S )Nro   Frh   )r%   rZ   r&   r\   r   ©r   r   rW   r   s       r   Ú,test_view_pygraphviz_no_added_attrs_to_inputz7TestAGraph.test_view_pygraphviz_no_added_attrs_to_input•   sC   € ÝÔ˜aÑ Ô ˆÝ”,×.Ò.¨q°uÐ.Ñ=Ô=‰ˆˆaØŒw˜"Š}ˆ}ˆ}ˆ}ˆ}ˆ}r   zknown bug in clean_attrs)Úreasonc                 óÎ   — t          j        d¦  «        }ddi|j        d<   ddi|j        d<   t           j                             |d¬	¦  «        \  }}|j        ddiddid
œk    sJ ‚d S )Nro   Úwidthú0.80ÚnodeÚfontsizeÚ14rw   Frh   )r’   rw   )r%   rZ   r   r&   r\   rŒ   s       r   Ú2test_view_pygraphviz_leaves_input_graph_unmodifiedz=TestAGraph.test_view_pygraphviz_leaves_input_graph_unmodifiedš   s{   € åÔ˜aÑ Ô ˆà" FÐ+ˆŒ�‰Ø% tÐ,ˆŒ�‰Ý”,×.Ò.¨q°uÐ.Ñ=Ô=‰ˆˆaØŒw G¨VÐ#4¸zÈ4Ð>PÐQÐQÒQÐQÐQÐQÐQÐQr   c                 ó&  — t          j        d¦  «        }ddi|j        d<   ddi|j        d<   t           j                             |d¬	¦  «        \  }}t          |j        ¦  «        d         dk    sJ ‚t          |j        ¦  «        d         dk    sJ ‚d S )
Nro   r�   r‘   r’   r“   r”   rw   Frh   )r%   rZ   r   r&   r\   rO   Ú	node_attrÚ	edge_attrrŒ   s       r   Útest_graph_with_AGraph_attrsz'TestAGraph.test_graph_with_AGraph_attrs£   s–   € ÝÔ˜aÑ Ô ˆà" FÐ+ˆŒ�‰Ø% tÐ,ˆŒ�‰Ý”,×.Ò.¨q°uÐ.Ñ=Ô=‰ˆˆaå�A”KÑ Ô  Ô)¨VÒ3Ð3Ð3Ð3Ý�A”KÑ Ô  Ô,°Ò4Ð4Ð4Ð4Ð4Ð4r   c                 ó�  — t          j        ¦   «         }t           j                             |¦  «        }t           j                             |¦  «        }t          ||¦  «        sJ ‚t           j                             |¦  «        }t           j                             |¦  «        }t          ||¦  «        sJ ‚t          ||¦  «        sJ ‚d S ©N)r%   r6   r&   r'   r(   r   )r   r   r   r.   ÚAAÚHHs         r   Útest_round_trip_empty_graphz&TestAGraph.test_round_trip_empty_graph­   s©   € ÝŒH‰JŒJˆÝŒL×"Ò" 1Ñ%Ô%ˆÝŒL×$Ò$ QÑ'Ô'ˆÝ˜A˜qÑ!Ô!Ð!Ð!Ð!ÝŒ\×#Ò# AÑ&Ô&ˆÝŒ\×%Ò% bÑ)Ô)ˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"Ý˜A˜rÑ"Ô"Ð"Ð"Ð"Ð"Ð"r   z-integer->string node conversion in round tripc                 óÎ   — t          j        d¦  «        }t           j                             |¦  «        }t           j                             |¦  «        }t          ||¦  «        sJ ‚d S )Nr;   )r%   rZ   r&   r'   r(   r   r7   s       r   Útest_round_trip_integer_nodesz(TestAGraph.test_round_trip_integer_nodes·   sX   € åÔ˜aÑ Ô ˆÝŒL×"Ò" 1Ñ%Ô%ˆÝŒL×$Ò$ QÑ'Ô'ˆÝ˜A˜qÑ!Ô!Ð!Ð!Ð!Ð!Ð!r   c                 óÞ   — |                       t          j        ¦   «         ¦  «        }t          j                             |¦  «        }t          j                             |¦  «        }||k    sJ ‚d S r›   )r   r%   r6   r&   Úgraphviz_layoutÚpygraphviz_layout)r   r   Úpos_graphvizÚpos_pygraphvizs       r   Útest_graphviz_aliaszTestAGraph.test_graphviz_alias¾   s\   € Ø×Ò�RœX™ZœZÑ(Ô(ˆÝ”|×3Ò3°AÑ6Ô6ˆÝœ×7Ò7¸Ñ:Ô:ˆØ˜~Ò-Ð-Ð-Ð-Ð-Ð-r   Úrooté   c                 ó®  — t          j        d¦  «        }t           j                             |¦  «        }t           j                             |d|¬¦  «        }|                     d|› �d¬¦  «         t          d„ t          |                     d¦  «        j	        ¦  «        d          
                    d	¦  «        D ¦   «         ¦  «        }|d
         |k    sJ ‚d S )Nr¨   Úcirco)Úprogr§   z-Groot=)Úargsr«   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r›   )Úfloat)Ú.0r‰   s     r   ú	<genexpr>z9TestAGraph.test_pygraphviz_layout_root.<locals>.<genexpr>Î   s(   è è € ÐVÐV A•u˜Q‘x”xÐVÐVÐVÐVÐVÐVr   rE   Úposú,rA   )r%   rZ   r&   r'   r£   ÚlayoutÚtuplerO   Úget_noderP   Úsplit)r   r§   r   r   Úpygv_layoutÚa1_poss         r   Útest_pygraphviz_layout_rootz&TestAGraph.test_pygraphviz_layout_rootÄ   sÄ   € õ Ô˜aÑ Ô ˆÝŒL×"Ò" 1Ñ%Ô%ˆå”l×4Ò4°Q¸WÈ4Ð4ÑPÔPˆà	�ŠÐ& Ð&Ð&¨WˆÑ5Ô5Ð5åÐVÐV­¨a¯jªj¸©o¬oÔ.BÑ)CÔ)CÀEÔ)J×)PÒ)PÐQTÑ)UÔ)UÐVÑVÔVÑVÔVˆØ˜1Œ~ Ò'Ð'Ð'Ð'Ð'Ð'r   c                 óN  — t          j        ¦   «         }|                      |¦  «        }d|j        d<   t           j                             |d¬¦  «        }t          |                     ¦   «         ¦  «        }t          |¦  «        dk    sJ ‚t          |d         ¦  «        dk    sJ ‚d S )Nro   ÚdimenÚneato©r«   r¨   r   ©	r%   r6   r   r   r&   r£   ÚlistÚvaluesr^   ©r   r   r±   s      r   Útest_2d_layoutzTestAGraph.test_2d_layoutÑ   ó�   € ÝŒH‰JŒJˆØ×Ò˜QÑÔˆØˆŒ�ÑÝŒl×,Ò,¨Q°WÐ,Ñ=Ô=ˆÝ�3—:’:‘<”<Ñ Ô ˆÝ�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ý�3�q”6‰{Œ{˜aÒÐÐÐÐÐr   c                 óN  — t          j        ¦   «         }|                      |¦  «        }d|j        d<   t           j                             |d¬¦  «        }t          |                     ¦   «         ¦  «        }t          |¦  «        dk    sJ ‚t          |d         ¦  «        dk    sJ ‚d S )Nr;   r»   r¼   r½   r¨   r   r¾   rÁ   s      r   Útest_3d_layoutzTestAGraph.test_3d_layoutÚ   rÃ   r   c                 ór  — t          j        ¦   «         }|                     dd¬¦  «         |                     dd¬¦  «         t           j                             |¦  «        }t          j        d¬¦  «        5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    sJ ‚d S )Nr   )r   r   )r±   rA   )rA   rA   T)Úrecord)	r%   r6   r   r&   r'   ÚwarningsÚcatch_warningsr³   r^   )r   r   r   rÇ   s       r   Útest_no_warnings_raisedz"TestAGraph.test_no_warnings_raisedã   sà   € õ ŒH‰JŒJˆØ	�
Š
�1˜&ˆ
Ñ!Ô!Ð!Ø	�
Š
�1˜&ˆ
Ñ!Ô!Ð!ÝŒL×"Ò" 1Ñ%Ô%ˆÝÔ$¨DÐ1Ñ1Ô1ð 	°VØ�HŠH‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�6‰{Œ{˜aÒÐÐÐÐÐs   Á6BÂBÂBN)&Ú__name__Ú
__module__Ú__qualname__r   r"   ri   ÚmarkÚparametrizer%   r6   ÚDiGraphr‚   ÚMultiDiGraphr2   r8   r?   rJ   rR   rU   ra   rd   rm   rx   r~   r„   rŠ   r�   Úxfailr•   r™   rž   r    r¦   Úranger¹   rÂ   rÅ   rÊ   r{   r   r   r   r      s¯  € € € € € ðð ð ð6ð 6ð 6ð
 „[×ÒØˆhˆbŒh‰jŒj˜*˜"œ*™,œ,¨¨¬©¬¸¸¼Ñ9JÔ9JÐKñô ð"ð "ñô ð"ð& ð  ð  ð „[×ÒØ˜œ "¤*¨b¬m¸R¼_ÐMñô ð*ð *ñô ð*ð
@ð 
@ð 
@ð;ð ;ð ;ð „[×Ò˜]¨R¬X°r´}Ð,EÑFÔFð>ð >ñ GÔFð>ðð ð ð%ð %ð %ð
4ð 4ð 4ð5ð 5ð 5ð/ð /ð /ðMð Mð Mð	&ð 	&ð 	&ðð ð ð
 „[×ÒÐ8ÐÑ9Ô9ðRð Rñ :Ô9ðRð5ð 5ð 5ð#ð #ð #ð „[×ÒÐMÐÑNÔNð"ð "ñ OÔNð"ð.ð .ð .ð „[×Ò˜V U U¨1¡X¤XÑ.Ô.ð
(ð 
(ñ /Ô.ð
(ð ð  ð  ð ð  ð  ð
 ð 
 ð 
 ð 
 ð 
 r   r   )Ú__doc__rÈ   ri   Únetworkxr%   Únetworkx.utilsr   r   r   Úimportorskipr   r   r{   r   r   ú<module>rØ      s•   ðØ *Ð *à €€€à €€€à Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà ˆVÔ  Ñ.Ô.€
ð` ð ` ð ` ð ` ð ` ñ ` ô ` ð ` ð ` ð ` r   