§
    bŠtj—S  ã                   óø   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	Z	d dl
Zd dlmZmZ  G d„ d¦  «        Zed„ ¦   «         Z G d	„ d
¦  «        Ze	j                             dg df¦  «        d„ ¦   «         ZdS )é    N)Úliteral_eval)Úcontextmanager)Údedent)Úliteral_destringizerÚliteral_stringizerc                   óÖ   — e Zd Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                             ddef¦  «        d	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú	TestGraphc                 ó   — d| _         d S )Na2  Creator "me"
Version "xx"
graph [
 comment "This is a sample graph"
 directed 1
 IsPlanar 1
 pos  [ x 0 y 1 ]
 node [
   id 1
   label "Node 1"
   pos [ x 1 y 1 ]
 ]
 node [
    id 2
    pos [ x 1 y 2 ]
    label "Node 2"
    ]
  node [
    id 3
    label "Node 3"
    pos [ x 1 y 3 ]
  ]
  edge [
    source 1
    target 2
    label "Edge from node 1 to node 2"
    color [line "blue" thickness 3]

  ]
  edge [
    source 2
    target 3
    label "Edge from node 2 to node 3"
  ]
  edge [
    source 3
    target 1
    label "Edge from node 3 to node 1"
  ]
]
)Úsimple_data)Úclss    ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/readwrite/tests/test_gml.pyÚsetup_classzTestGraph.setup_class   s   € ð(ˆŒˆˆó    c                 ó2   — d}t          j        |¦  «         d S )Nas  
Creator "Cytoscape"
Version 1.0
graph   [
    node    [
        root_index  -3
        id  -3
        graphics    [
            x   -96.0
            y   -67.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node2"
    ]
    node    [
        root_index  -2
        id  -2
        graphics    [
            x   63.0
            y   37.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node1"
    ]
    node    [
        root_index  -1
        id  -1
        graphics    [
            x   -31.0
            y   -17.0
            w   40.0
            h   40.0
            fill    "#ff9999"
            type    "ellipse"
            outline "#666666"
            outline_width   1.5
        ]
        label   "node0"
    ]
    edge    [
        root_index  -2
        target  -2
        source  -1
        graphics    [
            width   1.5
            fill    "#0000ff"
            type    "line"
            Line    [
            ]
            source_arrow    0
            target_arrow    3
        ]
        label   "DirectedEdge"
    ]
    edge    [
        root_index  -1
        target  -1
        source  -3
        graphics    [
            width   1.5
            fill    "#0000ff"
            type    "line"
            Line    [
            ]
            source_arrow    0
            target_arrow    3
        ]
        label   "DirectedEdge"
    ]
]
)ÚnxÚ	parse_gml)ÚselfÚcytoscape_examples     r   Útest_parse_gml_cytoscape_bugz&TestGraph.test_parse_gml_cytoscape_bug;   s%   € ðPÐõb 	ŒÐ&Ñ'Ô'Ð'Ð'Ð'r   c                 ó^  — t          j        | j        d¬¦  «        }t          |                     ¦   «         ¦  «        g d¢k    sJ ‚t          |                     ¦   «         ¦  «        g d¢k    sJ ‚t          |                     d¬¦  «        ¦  «        ddd	d
dœddœfddddifddddifgk    sJ ‚d S )NÚlabel©r   ©úNode 1úNode 2úNode 3))r   r   )r   r   )r   r   T©Údatar   r   Úblueé   )ÚlineÚ	thicknesszEdge from node 1 to node 2)Úcolorr   r   zEdge from node 2 to node 3zEdge from node 3 to node 1)r   r   r   ÚsortedÚnodesÚedges©r   ÚGs     r   Útest_parse_gmlzTestGraph.test_parse_gml�   sú   € ÝŒL˜Ô)°Ð9Ñ9Ô9ˆÝ�a—g’g‘i”iÑ Ô Ð$BÐ$BÐ$BÒBÐBÐBÐBÝ�a—g’g‘i”iÑ Ô ð %
ð %
ð %
ò 
ð 
ð 
ð 
õ �a—g’g 4�gÑ(Ô(Ñ)Ô)àØà&,¸1Ð=Ð=Ø9ðð ðð �x 'Ð+GÐ!HÐIØ�x 'Ð+GÐ!HÐIð.
ò 
ð 
ð 
ð 
ð 
ð 
r   c                 ó  — |dz  }t          |d¦  «        5 }|                     | j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «        }t          j        | j        d¬¦  «        }t          |                     d¬¦  «        ¦  «        t          |                     d¬¦  «        ¦  «        k    sJ ‚t          |                     d¬¦  «        ¦  «        t          |                     d¬¦  «        ¦  «        k    sJ ‚d S )Nútest.gmlÚwr   r   Tr   )	ÚopenÚwriter   r   Úread_gmlr   r$   r%   r&   )r   Útmp_pathÚfnameÚfhÚGinr(   s         r   Útest_read_gmlzTestGraph.test_read_gml¦   s.  € Ø˜:Ñ%ˆÝ�%˜ÑÔð 	' Ø�HŠH�TÔ%Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'åŒk˜% wÐ/Ñ/Ô/ˆÝŒL˜Ô)°Ð9Ñ9Ô9ˆÝ�a—g’g 4�gÑ(Ô(Ñ)Ô)­V°C·I²IÀ4°IÑ4HÔ4HÑ-IÔ-IÒIÐIÐIÐIÝ�a—g’g 4�gÑ(Ô(Ñ)Ô)­V°C·I²IÀ4°IÑ4HÔ4HÑ-IÔ-IÒIÐIÐIÐIÐIÐIs   –=½AÁAc                 óÆ   — d}t          j        ¦   «         }|                     d¦  «         d                     t          j        |t
          ¬¦  «        ¦  «        }||k    sJ ‚d S )Nz0graph [
  node [
    id 0
    label "1203"
  ]
]i³  ú
©Ú
stringizer)r   ÚGraphÚadd_nodeÚjoinÚgenerate_gmlr   )r   Úanswerr(   r   s       r   Útest_labels_are_stringsz!TestGraph.test_labels_are_strings¯   sZ   € ðˆõ ŒH‰JŒJˆØ	�
Š
�4ÑÔÐØ�yŠy�œ¨Õ7IÐJÑJÔJÑKÔKˆØ�vŠ~ˆ~ˆ~ˆ~ˆ~ˆ~r   c                 óÚ   — d}t          j        |                     d¦  «        ¦  «        }|                     d¦  «         t	          j        t          j        t          j        |d¬¦  «         d S )Nzì
graph
[
        label   ""
        directed        1
        node
        [
                id      0
                label   "same"
        ]
        node
        [
                id      1
                label   "same"
        ]
]
zUTF-8r   r   r   )	ÚioÚBytesIOÚencodeÚseekÚpytestÚraisesr   ÚNetworkXErrorr/   )r   r   r2   s      r   Útest_relabel_duplicatez TestGraph.test_relabel_duplicate¼   sY   € ðˆõ" ŒZ˜Ÿš GÑ,Ô,Ñ-Ô-ˆØ
�Š�‰
Œ
ˆ
ÝŒ•bÔ&­¬°R¸wÐGÑGÔGÐGÐGÐGr   r8   Nc                 ó¾   — t          j        ¦   «         }|                     dd¦  «         d                     t          j        ||¬¦  «        ¦  «        }d}||k    sJ ‚d S )N)r   é   )rI   r   r6   r7   z€graph [
  node [
    id 0
    label "(0,1)"
  ]
  node [
    id 1
    label "(1,0)"
  ]
  edge [
    source 0
    target 1
  ]
])r   r9   Úadd_edger;   r<   )r   r8   r(   r   r=   s        r   Útest_tuplelabelszTestGraph.test_tuplelabelsÒ   s]   € õ ŒH‰JŒJˆØ	�
Š
�6˜6Ñ"Ô"Ð"Ø�yŠy�œ¨°zÐBÑBÔBÑCÔCˆðˆð �vŠ~ˆ~ˆ~ˆ~ˆ~ˆ~r   c                 ó°  — t          j        d¦  «        }d|_        dt          d¦  «        z   }||j        d         d<   t          |dz  d¦  «        5 }t          j        ||¦  «         |                     d¦  «         |                     ¦   «          	                    ¦   «          
                    d	¦  «        }d d d ¦  «         n# 1 swxY w Y   d
}||k    sJ ‚d S )NrI   zpath_graph(1)z*This is "quoted" and this is a copyright: é©   r   Údemor+   úw+bÚasciizˆgraph [
  name "path_graph(1)"
  node [
    id 0
    label "0"
    demo "This is &#34;quoted&#34; and this is a copyright: &#169;"
  ]
])r   Ú
path_graphÚnameÚchrr%   r-   Ú	write_gmlrC   ÚreadÚstripÚdecode)r   r0   r(   ÚattrÚfobjr   r=   s          r   Útest_quoteszTestGraph.test_quotesé   s  € õ ŒM˜!ÑÔˆØ ˆŒØ;½cÀ#¹h¼hÑFˆØ!ˆŒ�Œ
�6ÑÝ�(˜ZÑ'¨Ñ/Ô/ð 	7°4ÝŒL˜˜DÑ!Ô!Ð!Ø�IŠI�a‰LŒLˆLà—9’9‘;”;×$Ò$Ñ&Ô&×-Ò-¨gÑ6Ô6ˆDð		7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð
ˆð �vŠ~ˆ~ˆ~ˆ~ˆ~ˆ~s   ÁA$CÃCÃCc                 óª  — dt          d¦  «        z   }t          j        ¦   «         }|                     |¦  «         t	          |dz  d¦  «        5 }t          j        ||¦  «         |                     d¦  «         |                     ¦   «                              ¦   «          	                    d¦  «        }d d d ¦  «         n# 1 swxY w Y   d}||k    sJ ‚d S )NÚnoderM   r+   rO   r   rP   z6graph [
  node [
    id 0
    label "node&#169;"
  ]
])
rS   r   r9   r:   r-   rT   rC   rU   rV   rW   ©r   r0   r\   r(   rY   r   r=   s          r   Útest_unicode_nodezTestGraph.test_unicode_nodeÿ   sø   € Ø�˜C™œÑ ˆÝŒH‰JŒJˆØ	�
Š
�4ÑÔÐÝ�(˜ZÑ'¨Ñ/Ô/ð 	7°4ÝŒL˜˜DÑ!Ô!Ð!Ø�IŠI�a‰LŒLˆLà—9’9‘;”;×$Ò$Ñ&Ô&×-Ò-¨gÑ6Ô6ˆDð		7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð
ˆð �vŠ~ˆ~ˆ~ˆ~ˆ~ˆ~s   ÁA$B>Â>CÃCc                 óŠ  — d}t          j        ¦   «         }|                     |¦  «         t          |dz  d¦  «        5 }t          j        ||¦  «         |                     d¦  «         |                     ¦   «                              ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   d}||k    sJ ‚d S )Ng      ð?r+   rO   r   rP   z/graph [
  node [
    id 0
    label "1.0"
  ]
])	r   r9   r:   r-   rT   rC   rU   rV   rW   r]   s          r   Útest_float_labelzTestGraph.test_float_label  sí   € ØˆÝŒH‰JŒJˆØ	�
Š
�4ÑÔÐÝ�(˜ZÑ'¨Ñ/Ô/ð 	7°4ÝŒL˜˜DÑ!Ô!Ð!Ø�IŠI�a‰LŒLˆLà—9’9‘;”;×$Ò$Ñ&Ô&×-Ò-¨gÑ6Ô6ˆDð		7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð
ˆð �vŠ~ˆ~ˆ~ˆ~ˆ~ˆ~s   ¾A$B.Â.B2Â5B2c                 ó@  ‡— t          d¦  «        t          d¦  «        t          d¦  «        g}	 dd l}||j        |j        |j        dz  gz  }n# t          $ r ||z  }Y nw xY wt          j        t          |¦  «        ¦  «        }t          t          |¦  «        ¦  «        }t          j
        ||d¦  «         t          |j        ¦  «        Šˆfd„t          |¦  «        D ¦   «         }t          j        ||d¦  «         t          |d	z  d
¦  «        5 }t          j        ||¦  «         |                     d¦  «         |                     ¦   «                              ¦   «                              d¦  «        }d}||k    sJ ‚|                     d¦  «         t          j        |¦  «        }	t          |¦  «        D ]Ð\  }
}|	j        t-          |
¦  «                 d         }t/          j        |¦  «        rt/          j        |¦  «        sJ ‚n||k    sJ ‚‰|
         }t-          |d         ¦  «        t-          |d         ¦  «        f}|	j        |         d         }t/          j        |¦  «        rt/          j        |¦  «        sJ ‚ŒÈ||k    sJ ‚ŒÑ	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚnanz+infz-infr   éÿÿÿÿÚ	nodefloatc                 ó(   •— i | ]\  }}‰|         |“ŒS © rf   )Ú.0ÚiÚvaluer&   s      €r   ú
<dictcomp>z6TestGraph.test_special_float_label.<locals>.<dictcomp>.  s#   ø€ ÐKÐKÐK¡X Q¨��q”˜5ÐKÐKÐKr   Ú	edgefloatr+   rO   rP   a«  graph [
  node [
    id 0
    label "0"
    nodefloat NAN
  ]
  node [
    id 1
    label "1"
    nodefloat +INF
  ]
  node [
    id 2
    label "2"
    nodefloat -INF
  ]
  node [
    id 3
    label "3"
    nodefloat NAN
  ]
  node [
    id 4
    label "4"
    nodefloat +INF
  ]
  node [
    id 5
    label "5"
    nodefloat -INF
  ]
  edge [
    source 0
    target 1
    edgefloat NAN
  ]
  edge [
    source 0
    target 5
    edgefloat +INF
  ]
  edge [
    source 1
    target 2
    edgefloat -INF
  ]
  edge [
    source 2
    target 3
    edgefloat NAN
  ]
  edge [
    source 3
    target 4
    edgefloat +INF
  ]
  edge [
    source 4
    target 5
    edgefloat -INF
  ]
]rI   )ÚfloatÚnumpyrb   ÚinfÚImportErrorr   Úcycle_graphÚlenÚdictÚ	enumerateÚset_node_attributesÚlistr&   Úset_edge_attributesr-   rT   rC   rU   rV   rW   r/   r%   ÚstrÚmathÚisnan)r   r0   Úspecial_floatsÚnpr(   ÚattrsrY   r   r=   ÚgraphÚindxri   Ú
node_valueÚedgeÚstring_edgeÚ
edge_valuer&   s                   @r   Útest_special_float_labelz"TestGraph.test_special_float_label!  sï  ø€ Ý ™,œ,­¨f©¬µu¸V±}´}ÐEˆð	-ØÐÐÐà˜rœv r¤v¨r¬v¸©{Ð;Ñ;ˆNˆNøÝð 	-ð 	-ð 	-Ø˜nÑ,ˆNˆNˆNð	-øøøõ ŒN�3˜~Ñ.Ô.Ñ/Ô/ˆÝ•Y˜~Ñ.Ô.Ñ/Ô/ˆÝ
Ô˜q %¨Ñ5Ô5Ð5Ý�Q”W‘”ˆØKÐKÐKÐKµ¸>Ñ1JÔ1JÐKÑKÔKˆÝ
Ô˜q %¨Ñ5Ô5Ð5å�(˜ZÑ'¨Ñ/Ô/ð T	/°4ÝŒL˜˜DÑ!Ô!Ð!Ø�IŠI�a‰LŒLˆLà—9’9‘;”;×$Ò$Ñ&Ô&×-Ò-¨gÑ6Ô6ˆDð=ˆFð| ˜6’>�>�>�>à�IŠI�a‰LŒLˆLÝ”K Ñ%Ô%ˆEÝ(¨Ñ8Ô8ð /ð /‘��eØ"œ[­¨T©¬Ô3°KÔ@�
Ý”:˜eÑ$Ô$ð /Ýœ: jÑ1Ô1Ð1Ð1Ð1Ð1à%¨Ò.Ð.Ð.Ð.à˜T”{�Ý" 4¨¤7™|œ|­S°°a´©\¬\Ð:�Ø"œ[¨Ô5°kÔB�
Ý”:˜eÑ$Ô$ð /Ýœ: jÑ1Ô1Ð1Ð1Ð1Ð1à%¨Ò.Ð.Ð.Ð.Ð.ð/ðOT	/ð T	/ð T	/ñ T	/ô T	/ð T	/ð T	/ð T	/ð T	/ð T	/ð T	/ð T	/øøøð T	/ð T	/ð T	/ð T	/ð T	/ð T	/s$   ¯A ÁA ÁA ÄE7JÊJÊJc                 ó¬   — t          j        d¦  «        }d|j        d         k    sJ ‚t          j        d¦  «        }d|j        k    sJ ‚d|j        vsJ ‚d S )Nz*graph [ name "x" node [ id 0 label "x" ] ]ÚxrR   z!graph [ node [ id 0 label "x" ] ]Ú )r   r   r}   rR   r'   s     r   Ú	test_namezTestGraph.test_name‡  sa   € ÝŒLÐEÑFÔFˆØ�a”g˜f”oÒ%Ð%Ð%Ð%ÝŒLÐ<Ñ=Ô=ˆØ�Q”VŠ|ˆ|ˆ|ˆ|Ø˜QœWÐ$Ð$Ð$Ð$Ð$Ð$r   c           	      ó<  — dD �]}dD �]}d}|�"|dt          t          |¦  «        ¦  «        z   z  }|�"|dt          t          |¦  «        ¦  «        z   z  }|dz  }|dz  }|dz  }t          j        |¦  «        }t	          |¦  «        |                     ¦   «         k    sJ ‚t	          |¦  «        |                     ¦   «         k    sJ ‚d}|d	u r|d
z  }|d	u r|dz  }|dz  }|r|dz  }|dz  }|d                     t          j        |¦  «        ¦  «        k    sJ ‚�Œ�Œd S )N)NFTzgraph [z
 directed z multigraph z node [ id 0 label "0" ]z edge [ source 0 target 0 ]z ]zgraph [
Tz  directed 1
z  multigraph 1
zG  node [
    id 0
    label "0"
  ]
  edge [
    source 0
    target 0
z
    key 0
z  ]
]r6   )	rw   Úintr   r   ÚboolÚis_directedÚis_multigraphr;   r<   )r   ÚdirectedÚ
multigraphÚgmlr(   s        r   Útest_graph_typeszTestGraph.test_graph_typesŽ  sq  € Ø+ð 	<ñ 	<ˆHØ1ð <ñ <�
Ø�ØÐ'Ø˜<­#­c°(©m¬mÑ*<Ô*<Ñ<Ñ<�CØÐ)Ø˜>­Cµ°J±´Ñ,@Ô,@Ñ@Ñ@�CØÐ1Ñ1�ØÐ4Ñ4�Ø�t‘�Ý”L Ñ%Ô%�Ý˜H‘~”~¨¯ª©¬Ò8Ð8Ð8Ð8Ý˜JÑ'Ô'¨1¯?ª?Ñ+<Ô+<Ò<Ð<Ð<Ð<Ø!�Ø˜tÐ#Ð#ØÐ+Ñ+�CØ Ð%Ð%ØÐ-Ñ-�CØð ñ �ð ð )Ø˜=Ñ(�CØ�x‘�Ø˜dŸiši­¬¸Ñ(:Ô(:Ñ;Ô;Ò;Ð;Ð;Ð;Ñ;ñ9<ð	<ð 	<r   c                 ó¼  — ddddddddt          d	¦  «        d
idgg}|                     t          d¦  «        ¦  «         |                     t          d¦  «        ¦  «         t          j        ¦   «         }||_        ||j        d<   |                     ddd|i¬¦  «         |                     ddd|¬¦  «         d 	                    t          j
        |t          ¬¦  «        ¦  «        }t          j        |t          ¬¦  «        }||j        k    sJ ‚||dœ|j        k    sJ ‚t          |                     d¬¦  «        ¦  «        ddd|idœfgk    sJ ‚t          |                     d¬¦  «        ¦  «        ddd|dœfgk    sJ ‚t          j        ¦   «         }d|j        d<   t          j        t          j
        |¦  «        t          ¬¦  «        }|j        d         dk    sJ ‚d S )NTFl      Fµx:^V gœÉF"ã¦ØÆú'z"&&amp;&&#34;")ó   ýúéDD  )rI   é   )r–   Ú3iDD z{2.3j, 1 - 2.3j, ()}r   r   rc   )r‰   r   g      À)rl   r   r6   r7   ©Údestringizer)rR   r   r   úfrozenset([1, 2, 3]))rS   Úappendr   r   r9   rR   r}   r:   rJ   r;   r<   r   r   r   ru   r%   r&   )r   r   r(   r�   s       r   Útest_data_typeszTestGraph.test_data_types®  sà  € àØØØØØØ˜&¥# f¡+¤+¨vÐ6¸ÐAð
ˆð 	�Š•C˜‘L”LÑ!Ô!Ð!Ø�Š•LÐ!7Ñ8Ô8Ñ9Ô9Ð9ÝŒH‰JŒJˆØˆŒØˆŒ�‰Ø	�
Š
�1˜" F¨D >ˆ
Ñ2Ô2Ð2Ø	�
Š
�1�a˜t¨$ˆ
Ñ/Ô/Ð/Ø�iŠi�œ¨Õ6HÐIÑIÔIÑJÔJˆÝŒL˜Õ+?Ð@Ñ@Ô@ˆØ�q”vŠ~ˆ~ˆ~ˆ~Ø dÐ+Ð+¨q¬wÒ6Ð6Ð6Ð6Ý�A—G’G �GÑ&Ô&Ñ'Ô'¨Q¸ÀVÈTÀNÐ0SÐ0SÐ,TÐ+UÒUÐUÐUÐUÝ�A—G’G �GÑ&Ô&Ñ'Ô'¨Q°¸TÈ4Ð3PÐ3PÐ,QÐ+RÒRÐRÐRÐRÝŒH‰JŒJˆØ0ˆŒ�‰ÝŒL�œ¨Ñ+Ô+½,ÐGÑGÔGˆØŒw�vŒÐ"8Ò8Ð8Ð8Ð8Ð8Ð8r   c                 óä   — d}t          j        |¦  «        }dt          d¦  «        z   dz   |j        k    sJ ‚d                     t          j        |¦  «        ¦  «        }d}d|z   dz   }||k    sJ ‚d S )	NzTgraph [
  name "&amp;&#34;&#xf;&#x4444;&#1234567890;&#x1234567890abcdef;&unknown;"
]z&"r•   z*&#1234567890;&#x1234567890abcdef;&unknown;r6   z##1234567890;&#38;#x1234567890abcdefz,graph [
  name "&#38;&#34;&#15;&#17476;&#38;z;&#38;unknown;"
])r   r   rS   rR   r;   r<   )r   r�   r(   Úalnur=   s        r   Útest_escape_unescapezTestGraph.test_escape_unescapeÊ  s˜   € ðˆõ ŒL˜ÑÔˆà•s˜6‘{”{Ñ"Ð%QÑQØŒvòð ð ð ð �iŠi�œ¨Ñ*Ô*Ñ+Ô+ˆØ4ˆð(àñðñð 	ð ˜Š}ˆ}ˆ}ˆ}ˆ}ˆ}r   c                 óä  — t          j        t          t          d¦  «         t          j        t          t          d¦  «         t          j        t          t          t          ¦  «         t          j        t          t          t          g d¢¦  «        ¦  «         t          j        t          t          t          ¦  «         t          |dz  d¦  «        5 }|                     t          j	        dz   ¦  «         | 
                    d¦  «         t          j        t          j        t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   d„ } |d	d
g¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «         t          j        dd¬¦  «          |d¦  «          |d¦  «          |d¦  «          |d¦  «         t          j        d¦  «          |d¦  «          |d ¦  «          |d!¦  «         t          j        d"¦  «         t          j        d#¦  «         t          j        d$¦  «          |d%¦  «         t          j        d&¦  «         t          j        d'¦  «         t          j        d(¦  «          |d)¦  «         d*„ }t          j        ¦   «         }d+|j        d+<    ||¦  «         t          j        ¦   «         }d+|j        d,<    ||¦  «         t          j        ¦   «         }t          g d¢¦  «        |j        d-<    ||t          ¬.¦  «         d S )/Nú(rš   ©rI   r–   r    r+   rO   s   graph[]r   c                 óZ   — t          j        t          j        t          j        | ¦  «         d S ©N)rD   rE   r   rF   r   )r�   s    r   Úassert_parse_errorz5TestGraph.test_exceptions.<locals>.assert_parse_erroré  s!   € ÝŒM�"Ô*­B¬L¸#Ñ>Ô>Ð>Ð>Ð>r   z	graph [

ú]r†   z
Creator ""Ú0zgraph ]zgraph [ 1 ]zgraph [ 1.E+2 ]zgraph [ "A" ]zgraph [ ] graph ]zgraph [ ] graph [ ]zgraph [ data [1, 2, 3] ]zgraph [ node [ ] ]zgraph [ node [ id 0 ] ]zgraph [ node [ id "a" ] ]Úidr   z5graph [ node [ id 0 label 0 ] node [ id 0 label 1 ] ]z5graph [ node [ id 0 label 0 ] node [ id 1 label 0 ] ]z(graph [ node [ id 0 label 0 ] edge [ ] ]z1graph [ node [ id 0 label 0 ] edge [ source 0 ] ]z9graph [edge [ source 0 target 0 ] node [ id 0 label 0 ] ]z:graph [ node [ id 0 label 0 ] edge [ source 1 target 0 ] ]z:graph [ node [ id 0 label 0 ] edge [ source 0 target 1 ] ]zkgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 1 target 0 ] ]zvgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 1 target 0 ] directed 1 ]zwgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 ] edge [ source 0 target 1 ]multigraph 1 ]z}graph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 0 target 1 ]multigraph 1 ]zƒgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 0 target 1 key 0 ]multigraph 1 ]zŽgraph [ node [ id 0 label 0 ] node [ id 1 label 1 ] edge [ source 0 target 1 key 0 ] edge [ source 1 target 0 key 0 ]directed 1 multigraph 1 ]z9graph [edge [ source a target a ] node [ id a label b ] ]z˜graph [ node [ id n42 label 0 ] node [ id x43 label 1 ]edge [ source n42 target x43 key 0 ]edge [ source x43 target n42 key 0 ]directed 1 multigraph 1 ]uE   graph [edge [ source 'äˆ€' target 'äˆ€' ] node [ id 'äˆ€' label b ] ]c                  óP   ‡ ‡— t          j        t          j        ˆ ˆfd„¦  «         d S )Nc                  ó@   •— t          t          j        ‰ i ‰¤Ž¦  «        S r¤   )ru   r   r<   ©ÚargsÚkwargss   €€r   ú<lambda>zJTestGraph.test_exceptions.<locals>.assert_generate_error.<locals>.<lambda>.  s   ø€ ­$­r¬ÀÐ/OÈÐ/OÐ/OÑ*PÔ*P€ r   )rD   rE   r   rF   r«   s   ``r   Úassert_generate_errorz8TestGraph.test_exceptions.<locals>.assert_generate_error,  s7   øø€ ÝŒMÝÔ Ð"PÐ"PÐ"PÐ"PÐ"Pñô ð ð ð r   r    r—   r   r7   )rD   rE   Ú
ValueErrorr   r   Ú	frozensetr-   r.   ÚcodecsÚBOM_UTF8rC   r   rF   r/   r   r9   r}   )r   r0   Úfr¥   r¯   r(   s         r   Útest_exceptionszTestGraph.test_exceptionsÞ  s7  € ÝŒ•jÕ"6¸Ñ<Ô<Ð<ÝŒ•jÕ"6Ð8NÑOÔOÐOÝŒ•jÕ"6Õ8LÑMÔMÐMÝŒ•jÕ"4µiÀ	À	À	Ñ6JÔ6JÑKÔKÐKÝŒ•jÕ"4Õ6HÑIÔIÐIÝ�(˜ZÑ'¨Ñ/Ô/ð 	<°1Ø�GŠG•F”O jÑ0Ñ1Ô1Ð1Ø�FŠF�1‰IŒIˆIÝŒM�"Ô*­B¬K¸Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð
	?ð 	?ð 	?ð 	Ð˜M¨3Ð/Ñ0Ô0Ð0ØÐ˜2ÑÔÐØÐ˜<Ñ(Ô(Ð(ØÐ˜3ÑÔÐØÐ˜9Ñ%Ô%Ð%ØÐ˜=Ñ)Ô)Ð)ØÐÐ,Ñ-Ô-Ð-ØÐ˜?Ñ+Ô+Ð+ØÐÐ.Ñ/Ô/Ð/ØÐÐ0Ñ1Ô1Ð1ØÐÐ5Ñ6Ô6Ð6ØÐÐ/Ñ0Ô0Ð0ØÐÐ4Ñ5Ô5Ð5Ý
ŒÐ0¸Ð=Ñ=Ô=Ð=ØÐÐRÑSÔSÐSØÐÐRÑSÔSÐSØÐÐEÑFÔFÐFØÐÐNÑOÔOÐOÝ
ŒÐPÑQÔQÐQØÐÐWÑXÔXÐXØÐÐWÑXÔXÐXØÐðFñ	
ô 	
ð 	
õ 	Œðñ	
ô 	
ð 	
õ
 	Œðñ	
ô 	
ð 	
õ
 	Œðñ	
ô 	
ð 	
ð
 	Ððñ	
ô 	
ð 	
õ
 	Œð(ñ	
ô 	
ð 	
õ 	ŒÐPÑQÔQÐQÝ
Œð(ñ	
ô 	
ð 	
ð 	Ðð/ñ	
ô 	
ð 	
ð
	ð 	ð 	õ
 ŒH‰JŒJˆØˆŒ�‰
ØÐ˜aÑ Ô Ð ÝŒH‰JŒJˆØˆŒ�‰ØÐ˜aÑ Ô Ð ÝŒH‰JŒJˆÝ# I I IÑ.Ô.ˆŒ�‰ØÐ˜aÕ,>Ð?Ñ?Ô?Ð?Ð?Ð?s   ÃA"D;Ä;D?ÅD?c                 óŒ  ‡— t          j        | j        d¬¦  «        Št          ‰j        ¦  «        g d¢k    sJ ‚ˆfd„t          ‰j        ¦  «        D ¦   «         }|g d¢k    sJ ‚t          j        | j        d ¬¦  «        Št          ‰j        ¦  «        g d¢k    sJ ‚ˆfd„t          ‰j        ¦  «        D ¦   «         }|g d¢k    sJ ‚d S )Nr¨   r   r¢   c                 ó6   •— g | ]}‰j         |         d          ‘ŒS r   ©r%   ©rg   Únr(   s     €r   ú
<listcomp>z.TestGraph.test_label_kwarg.<locals>.<listcomp>>  ó$   ø€ Ð?Ð?Ð?¨!�!”'˜!”*˜WÔ%Ð?Ð?Ð?r   r   c                 ó6   •— g | ]}‰j         |         d          ‘ŒS r   r¸   r¹   s     €r   r»   z.TestGraph.test_label_kwarg.<locals>.<listcomp>C  r¼   r   )r   r   r   r$   r%   )r   Úlabelsr(   s     @r   Útest_label_kwargzTestGraph.test_label_kwarg;  sã   ø€ ÝŒL˜Ô)°Ð6Ñ6Ô6ˆÝ�a”g‰Œ ) ) )Ò+Ð+Ð+Ð+Ø?Ð?Ð?Ð?­v°a´g©¬Ð?Ñ?Ô?ˆØÐ7Ð7Ð7Ò7Ð7Ð7Ð7åŒL˜Ô)°Ð6Ñ6Ô6ˆÝ�a”g‰Œ ) ) )Ò+Ð+Ð+Ð+Ø?Ð?Ð?Ð?­v°a´g©¬Ð?Ñ?Ô?ˆØÐ7Ð7Ð7Ò7Ð7Ð7Ð7Ð7Ð7r   c                 óv  — t          j        ¦   «         }ddddddddœ} |j        di |¤Ž |d
z  }t          j        ||¦  «         t          j        |¦  «        }|j        d	                              ¦   «         D ]@\  }}|dk    s|dk    rt          |t          ¦  «        sJ ‚Œ)t          |t          ¦  «        sJ ‚ŒAd S )Nlýÿÿÿ    i   €éüÿÿÿr   é   iÿÿÿl        )ÚtoosmallÚsmallÚmed1Úmed2Úmed3ÚbigÚtoobigÚNoder+   rÃ   rÉ   )rÊ   )
r   r9   r:   rT   r/   r%   ÚitemsÚ
isinstancerw   r‰   )r   r0   r(   Únumbersr1   ÚG2rX   ri   s           r   Útest_outofrange_integersz"TestGraph.test_outofrange_integersF  sî   € õ ŒH‰JŒJˆð 'ØØØØØØð
ð 
ˆð 	ˆŒ
Ð%Ð%˜WÐ%Ð%Ð%à˜:Ñ%ˆÝ
Œ�Q˜ÑÔÐåŒ[˜ÑÔˆØœ8 FÔ+×1Ò1Ñ3Ô3ð 	.ð 	.‰KˆD�%Ø�zÒ!Ð! T¨XÒ%5Ð%5Ý! %­Ñ-Ô-Ð-Ð-Ð-Ð-å! %­Ñ-Ô-Ð-Ð-Ð-Ð-ð		.ð 	.r   c                 ó^   — d}t          j        |¦  «        }|j        d         dddœk    sJ ‚d S )Nz’
graph
[
    node
    [
	    id 0
	    label "multiline node"
	    label2 "multiline1
    multiline2
    multiline3"
	    alt_name "id 0"
    ]
]
zmultiline nodez multiline1 multiline2 multiline3zid 0)Úlabel2Úalt_name)r   r   r%   )r   Úmultiline_exampler(   s      r   Útest_multilinezTestGraph.test_multilinea  sU   € ðÐõ ŒLÐ*Ñ+Ô+ˆØŒwÐ'Ô(Ø8Øð-
ð -
ò 
ð 
ð 
ð 
ð 
ð 
r   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r)   r4   r>   rG   rD   ÚmarkÚparametrizer   rK   rZ   r^   r`   rƒ   r‡   r�   rœ   rŸ   rµ   r¿   rÏ   rÔ   rf   r   r   r	   r	      sx  € € € € € Øð)ð )ñ „[ð)ðVS(ð S(ð S(ðj
ð 
ð 
ð,Jð Jð Jðð ð ðHð Hð Hð, „[×Ò˜\¨DÐ2DÐ+EÑFÔFðð ñ GÔFðð,ð ð ð,ð ð ð"ð ð ð"d/ð d/ð d/ðL%ð %ð %ð<ð <ð <ð@9ð 9ð 9ð8ð ð ð([@ð [@ð [@ðz	8ð 	8ð 	8ð.ð .ð .ð6
ð 
ð 
ð 
ð 
r   r	   c               #   ób   K  — t          j        ¦   «         } | V — |                      d¦  «         d S )Nr   )r@   rA   rC   )Ú_file_handles    r   Ú	byte_filerÝ   x  s7   è è € å”:‘<”<€LØ
ÐÐÐØ×Ò�aÑÔÐÐÐr   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestPropertyListsc                 óJ  — t          j        ¦   «         }|                     dg d¢¬¦  «         t          ¦   «         5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «                              ¦   «         }|t          d¦  «        k    sJ ‚d S )NÚn1)Úelementr   rI   ç      @TF©Ú
propertiesa7              graph [
              node [
                id 0
                label "n1"
                properties "element"
                properties 0
                properties 1
                properties 2.5
                properties 1
                properties 0
              ]
            ]
        ©r   r9   r:   rÝ   rT   rU   rW   r   ©r   Úgr´   Úresults       r   Ú3test_writing_graph_with_multi_element_property_listzETestPropertyLists.test_writing_graph_with_multi_element_property_list€  sá   € ÝŒH‰JŒJˆØ	�
Š
�4Ð$GÐ$GÐ$Gˆ
ÑHÔHÐHÝ‰[Œ[ð 	˜AÝŒL˜˜AÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à—’‘”—’Ñ"Ô"ˆà�ðñ
ô 
ò 
ð 
ð 
ð 
ð 
ð 
s   »AÁA!Á$A!c                 óH  — t          j        ¦   «         }|                     ddg¬¦  «         t          ¦   «         5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «                              ¦   «         }|t          d¦  «        k    sJ ‚d S )Nrá   râ   rä   zÖ            graph [
              node [
                id 0
                label "n1"
                properties "_networkx_list_start"
                properties "element"
              ]
            ]
        ræ   rç   s       r   Ú1test_writing_graph_with_one_element_property_listzCTestPropertyLists.test_writing_graph_with_one_element_property_list˜  sÜ   € ÝŒH‰JŒJˆØ	�
Š
�4 Y Kˆ
Ñ0Ô0Ð0Ý‰[Œ[ð 	˜AÝŒL˜˜AÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à—’‘”—’Ñ"Ô"ˆà�ð	ñ
ô 
ò 
ð 
ð 
ð 
ð 
ð 
s   ºAÁA Á#A c                 óZ  — t          ¦   «         5 }|                     t          d¦  «                             d¦  «        ¦  «         |                     d¦  «         t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «        d         dg d¢ik    sJ ‚d S )	Na  
              graph [
                node [
                  id 0
                  label "n1"
                  properties "element"
                  properties 0
                  properties 1
                  properties 2.5
                ]
              ]
            rP   r   Tr   rá   rå   )râ   r   rI   rã   ©rÝ   r.   r   rB   rC   r   r/   r%   ©r   r´   r}   s      r   Ú%test_reading_graph_with_list_propertyz7TestPropertyLists.test_reading_graph_with_list_property¬  sé   € Ý‰[Œ[ð 	#˜AØ�GŠGÝðñô ÷ ’&˜‘/”/ñô ð ð  �FŠF�1‰IŒIˆIÝ”K ‘N”NˆEð%	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð& �{Š{ ˆ{Ñ%Ô% dÔ+°Ð>TÐ>TÐ>TÐ/UÒUÐUÐUÐUÐUÐUó   �AA:Á:A>ÂA>c                 óX  — t          ¦   «         5 }|                     t          d¦  «                             d¦  «        ¦  «         |                     d¦  «         t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «        d         ddgik    sJ ‚d S )	Nzë
              graph [
                node [
                  id 0
                  label "n1"
                  properties "_networkx_list_start"
                  properties "element"
                ]
              ]
            rP   r   Tr   rá   rå   râ   rî   rï   s      r   Ú4test_reading_graph_with_single_element_list_propertyzFTestPropertyLists.test_reading_graph_with_single_element_list_propertyÂ  sä   € Ý‰[Œ[ð 	#˜AØ�GŠGÝð	ñô ÷ ’&˜‘/”/ñô ð ð �FŠF�1‰IŒIˆIÝ”K ‘N”NˆEð!	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð" �{Š{ ˆ{Ñ%Ô% dÔ+°¸y¸kÐ/JÒJÐJÐJÐJÐJÐJrñ   N)rÕ   rÖ   r×   rê   rì   rð   ró   rf   r   r   rß   rß     sX   € € € € € ð
ð 
ð 
ð0
ð 
ð 
ð(Vð Vð Vð,Kð Kð Kð Kð Kr   rß   Úcollrf   c                 ó:  — t          j        d¦  «        }| |j        d         d<   t          j        ¦   «         }t          j        ||¦  «         |                     d¦  «         t          j        |¦  «        }|j        d         d         | k    sJ ‚t          j        |dddœ¦  «        }t           j	         
                    ||¦  «        sJ ‚|                     d¦  «         t          j        |t          ¬¦  «        }t           j	         
                    ||¦  «        sJ ‚d S )Nr–   r   Útestr§   rI   )r§   Ú1r˜   )r   rQ   r%   r@   rA   rT   rC   r/   Úrelabel_nodesÚutilsÚgraphs_equalr‰   )rô   r(   r´   ÚHs       r   Útest_stringize_empty_list_tuplerü   ×  sù   € å
Œ�aÑÔ€AØ€A„GˆA„JˆvÑÝ
Œ
‰Œ€AÝ„L��AÑÔÐØ‡F‚Fˆ1�I„I€IÝ
Œ�A‰Œ€AØŒ7�3Œ<˜Ô 4Ò'Ð'Ð'Ð'õ 	Ô˜ !¨!Ð,Ð,Ñ-Ô-€AÝŒ8× Ò   AÑ&Ô&Ð&Ð&Ð&ð ‡F‚Fˆ1�I„I€IÝ
Œ�A¥CÐ(Ñ(Ô(€AÝŒ8× Ò   AÑ&Ô&Ð&Ð&Ð&Ð&Ð&r   )r²   r@   rx   Úastr   Ú
contextlibr   Útextwrapr   rD   Únetworkxr   Únetworkx.readwrite.gmlr   r   r	   rÝ   rß   rÙ   rÚ   rü   rf   r   r   ú<module>r     sD  ðØ €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kðg	
ð g	
ð g	
ð g	
ð g	
ñ g	
ô g	
ð g	
ðT ðð ñ „ððUKð UKð UKð UKð UKñ UKô UKð UKðp „×Ò˜ " b Ñ*Ô*ð'ð 'ñ +Ô*ð'ð 'ð 'r   