Ë
    Ìih  ã                   ó¼  — d dl Z d dlZd dlZ ej                  d«      Z ej                  d«        ej                  d¬«      d„ «       Zd„ Zd„ Z	ej                  j                  d	«      d
„ «       Zej                  j                  d	«      d„ «       Zd„ Zej                  j                  d«      d„ «       Zd„ Zd„ Zej                  j                  d	«      d„ «       Zy)é    NÚscipyÚnumpyF)Úimplemented_by_nxc                 ó   — t        d«      ‚)Nz_stub_func is a stub)ÚNotImplementedError©ÚGs    úc/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/networkx/utils/tests/test_backends.pyÚ
_stub_funcr      s   € ä
Ð4Ó
5Ð5ó    c                  ó  — t        j                  d«      } t        j                  | «       t        j                  | ¬«       t        j                  t
        «      5  t        j                  «        d d d «       y # 1 sw Y   y xY w)Né   r   )ÚnxÚ
path_graphÚpagerankÚpytestÚraisesÚ	TypeErrorr   s    r
   Útest_dispatch_kwds_vs_argsr      sQ   € Ü
�‰�aÓ€AÜ‡K�K�„NÜ‡K�K�!ÕÜ	�‰”yÓ	!ñ Ü
�‰Œ÷÷ ñ ús   ÁA8Á8Bc                  ó8  — d} t         j                  j                  j                  j	                  «       D ]{  \  }}t        j                  |j                  «      }t        j                  |«      |j                  u sJ ‚	 t        j                  |«      }t        j                  |«      |u sJ ‚| dz  } Œ} | dkD  sJ ‚t        j                  t        j                  t         j                  «      «      t         j                  u sJ ‚y # t
        j                  $ r Y Œãw xY w)Nr   é   )r   ÚutilsÚbackendsÚ_registered_algorithmsÚitemsÚpickleÚdumpsÚ__wrapped__ÚloadsÚPicklingErrorÚinverse_line_graph)ÚcountÚnameÚfuncÚpickleds       r
   Útest_pickler&      sí   € Ø€EÜ—h‘h×'Ñ'×>Ñ>×DÑDÓFò 	‰
ˆˆdÜ—,‘,˜t×/Ñ/Ó0ˆÜ�|‰|˜GÓ$¨×(8Ñ(8Ñ8Ð8Ð8ð	ä—l‘l 4Ó(ˆGô �|‰|˜GÓ$¨Ñ,Ð,Ð,Ø�‰
‰ð	ð �1Š9Ðˆ9Ü�<‰<œŸ™¤R×%:Ñ%:Ó;Ó<Ä×@UÑ@UÑUÐUÑUøô ×#Ñ#ò 	Ùð	ús   Á>DÄDÄDz\not nx.config.backend_priority.algos or nx.config.backend_priority.algos[0] != 'nx_loopback'c                  óø  ‡— ddl m} m} t        j                  j                  g d¢g d¢g d¢g«      }g Šˆfd„}t        d dœd„«       }| j                  }|| _        || _        	 ‰g k(  sJ ‚t        t        j                  |«      «      t        j                  u sJ ‚‰d	gk(  sJ ‚t        t        j                  |d
¬«      «      |u sJ ‚‰d	d	gk(  sJ ‚t        t        j                  |d¬«      «      t        j                  u sJ ‚‰d	d	gk(  sJ ‚	 t        |«      | _        | `t        j                  t        d¬«      5  t        j                  |d¬«       d d d «       y # t        |«      | _        | `w xY w# 1 sw Y   y xY w)Nr   ©ÚLoopbackBackendInterfaceÚLoopbackGraph)r   é   é   )r+   r   r   )r,   r   r   c                 óz   •— ‰j                  d«       | j                   | j                  d«      |i |¤Žddd¬«      S )Nr   Úfrom_scipy_sparse_arrayT)Úpreserve_edge_attrsÚpreserve_node_attrsÚpreserve_graph_attrs)ÚappendÚconvert_from_nxÚ__getattr__)ÚselfÚargsÚkwargsÚside_effectss      €r
   r.   zCtest_graph_converter_needs_backend.<locals>.from_scipy_sparse_array;   sM   ø€ Ø×Ñ˜AÔØ×#Ñ#Ø7ˆD×ÑÐ6Ó7¸ÐHÀÑHØ $Ø $Ø!%ð	 $ó 
ð 	
r   ©r#   c                óf   — t        | «      t        j                  u r| S t        j                  | «      S ©N)Útyper   ÚGraph)Úobjr#   s     r
   Úconvert_to_nxz9test_graph_converter_needs_backend.<locals>.convert_to_nxD   s%   € ä�‹9œŸ™Ñ ØˆJÜ�x‰x˜‹}Ðr   r   Únx_loopback©ÚbackendÚnetworkxúbackend is not installed©Úmatchzbad-backend-name)Ú)networkx.classes.tests.dispatch_interfacer)   r*   ÚspÚsparseÚ	coo_arrayÚstaticmethodr?   r.   r<   r   r=   r   r   ÚImportError)r)   r*   ÚAr.   r?   Úorig_convert_to_nxr8   s         @r
   Ú"test_graph_converter_needs_backendrO   (   s‚  ø€ ÷ô
 	�	‰	×ÑšYª	²9Ð=Ó>€Aà€Lô
ô Ø#'ó ó ðð 2×?Ñ?ÐØ-:ÐÔ*Ø7NÐÔ4ð=Ø˜rÒ!Ð!Ð!Ü”B×.Ñ.¨qÓ1Ó2´b·h±hÑ>Ð>Ð>Ø ˜sÒ"Ð"Ð"ä”×+Ñ+¨A°}ÔEÓFÈ-ÑWð	
ØWà  1˜vÒ%Ð%Ð%ä”B×.Ñ.¨q¸*ÔEÓFÌ"Ï(É(ÑRÐRÐRØ  1˜vÒ%Ð%Ñ%ä1=Ð>PÓ1QÐ Ô.Ø$Ð<Ü	�‰”{Ð*DÔ	Eñ BÜ
×"Ñ" 1Ð.@ÕA÷Bð Bøô 2>Ð>PÓ1QÐ Ô.Ø$Ñ<ú÷Bð Bús   Á#B'E Ä8E0ÅE-Å0E9c                  óJ  ‡— ddl m} mŠ  ‰«       }|j                  g d¢«       t        ddœˆfd„
«       }| j
                  }|| _        	 t        j                  |dd¬«      }t        |«      t        j                  u sJ ‚	 t	        |«      | _        y# t	        |«      | _        w xY w)	z;Test using `backend="networkx"` in a dispatchable function.r   r(   )©r   r   ©r   r,   )r   r+   )r,   r   Nr9   c                ó–   •— t        | ‰«      r;t        j                  «       }|j                  j	                  | j                  «       |S | S r;   )Ú
isinstancer   r=   Ú__dict__Úupdate)r>   r#   Ú	new_graphr*   s      €r
   r?   z,test_networkx_backend.<locals>.convert_to_nxp   s;   ø€ ä�c˜=Ô)ÜŸ™›
ˆIØ×Ñ×%Ñ% c§l¡lÔ3ØÐØˆ
r   rC   rA   )
rG   r)   r*   Úadd_edges_fromrK   r?   r   Ú	ego_graphr<   r=   )r)   r	   r?   rN   ÚG2r*   s        @r
   Útest_networkx_backendr[   a   s™   ø€ ÷ñ
 	‹€AØ×ÑÒ5Ô6äØ#'õ ó ðð 2×?Ñ?ÐØ-:ÐÔ*ðRÜ�\‰\˜!˜Q¨
Ô3ˆÜ�B‹xœ2Ÿ8™8Ñ#Ð#Ñ#ä1=Ð>PÓ1QÐ Õ.ø´Ð>PÓ1QÐ Õ.ús   Á	5B ÂB"c                  ó€   — t        t        j                  «      t        t        j                  j                  «      u sJ ‚y r;   )r<   r   r   Ú	orig_func© r   r
   Útest_dispatchable_are_functionsr_   ƒ   s(   € Ü”—‘Ó¤¤R§[¡[×%:Ñ%:Ó ;Ñ;Ð;Ñ;r   znot nx.utils.backends.backendsc                  óâ  — ddl m}  t        j                  «       }|j	                  dd«       |j	                  dd«       t        j                  «       }|j	                  dd«       t        j
                  ||«      }t        t        j
                  ||«      «      ddhk(  sJ ‚| j                  |«      }| j                  |«      }dt        j                  j                  v rMt        t        j
                  ||«      «      ddhk(  sJ ‚t        t        j
                  ||«      «      ddhk(  sJ ‚y t        j                  j                  s’dt        j                  j                  vrut        j                  t        d¬«      5  t        j
                  ||«       d d d «       t        j                  t        d¬«      5  t        j
                  ||«       d d d «       y y y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)	Nr   )Údispatch_interfacer   r,   r+   r@   rD   rE   )Únetworkx.classes.testsra   r   r=   Úadd_edgeÚintersectionÚsetÚconvertÚconfigÚbackend_priorityr   r   r   rL   )ra   r	   ÚHÚrvrZ   ÚH2s         r
   Útest_mixing_backend_graphsrl   ‡   s}  € å9ä
�‰‹
€AØ‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ
�‰‹
€AØ‡J�Jˆq�!ÔÜ	�‰˜˜AÓ	€BÜŒr�‰˜q !Ó$Ó%¨!¨Q¨Ò/Ð/Ð/Ø	×	#Ñ	# AÓ	&€BØ	×	#Ñ	# AÓ	&€BØœŸ	™	×2Ñ2Ñ2ä”2—?‘? 2 qÓ)Ó*¨q°!¨fÒ4Ð4Ð4Ü”2—?‘? 1 bÓ)Ó*¨q°!¨fÒ4Ð4Ñ4Ü�Y‰Y×'Ò'¨MÄÇÁ×ASÑASÑ,Sä�]‰]œ;Ð.HÔIñ 	#Ü�O‰O˜B Ô"÷	#ä�]‰]œ;Ð.HÔIñ 	#Ü�O‰O˜A˜rÔ"÷	#ð 	#ð	 -TÐ'÷	#ð 	#ú÷	#ð 	#ús   Å=GÆ7G%ÇG"Ç%G.c                  ó�   — t        j                  t        d¬«      5  t        j                  d¬«       ddd«       y# 1 sw Y   yxY w)zKUsing `backend=` raises with unknown backend even if there are no backends.z6'this_backend_does_not_exist' backend is not installedrE   Úthis_backend_does_not_existrA   N)r   r   rL   r   Ú
null_graphr^   r   r
   Útest_bad_backend_namerp   ¢   s8   € ä	�‰ÜÐSô
ñ =ô 	�‰Ð;Õ<÷=÷ =ñ =ús	   œ<¼Ac                  óÀ  — dt         j                  j                  v sJ ‚dt        j                  vsJ ‚dt         j                  j                  v r>ddlm}  d„ }t        |«      | _        	 t        t        j                  «       «      du sJ ‚	 | `t        j                  t        «      5  t        t        j                  «       «       d d d «       y # | `w xY w# 1 sw Y   y xY w)NrC   r@   r   )r)   c                  ó   — y)NTr^   r   s    r
   Ústub_func_implementationz<test_not_implemented_by_nx.<locals>.stub_func_implementation±   s   € Ør   T)r   r   r   r   rg   rG   r)   rK   r=   r   r   r   )r)   rs   s     r
   Útest_not_implemented_by_nxrt   ª   s¼   € ØœŸ™×-Ñ-Ñ-Ð-Ð-ØœZ×0Ñ0Ñ0Ð0Ð0àœŸ	™	×*Ñ*Ñ*ÝVò	ô /;Ð;SÓ.TÐ Ô+ð	4ÜœbŸh™h›jÓ)¨TÑ1Ð1Ñ1à(Ð3ä	�‰Ô*Ó	+ñ Ü”2—8‘8“:Ô÷ð øð )Ñ3ú÷ð ús   Á)!C Â&CÃCÃCc                  ól  — ddl m}  t        j                  «       }t	        || «      rJ ‚t        j                  d¬«      }t        |«      t        j                  u sJ ‚d|j                  vsJ ‚t        j                  d¬«      }t	        || «      sJ ‚d|j                  vsJ ‚t        j                  ddg«      }t	        || «      rJ ‚t        j                  ddgd¬«      }t	        || «      sJ ‚t        j                  j                  j                  ||«      sJ ‚t        j                  j                  dg¬	«      5  t        j                  «       }t	        || «      sJ ‚t        j                  «       }t	        || «      rJ ‚	 d d d «       t        j                  «       }t	        || «      rJ ‚y # 1 sw Y   Œ,xY w)
Nr   )r*   rC   rA   rB   r@   rQ   rR   )Úclasses)rG   r*   r   r=   rT   r<   Úgraphr   ÚmiscÚgraphs_equalrg   rh   ÚDiGraph)r*   r	   ÚG1rZ   s       r
   Útest_dispatch_graph_newr|   ¾   sz  € õ
 Hä
�‰‹
€AÜ˜!˜]Ô+Ð+Ð+ô 	�‰˜Ô$€AÜ�‹7”b—h‘hÑÐÐØ˜AŸG™GÑ#Ð#Ð#ä
�‰˜Ô'€AÜ�a˜Ô'Ð'Ð'Ø˜AŸG™GÑ#Ð#Ð#ô 
�‰�6˜6Ð"Ó	#€BÜ˜"˜mÔ,Ð,Ð,Ü	�‰�6˜6Ð"¨MÔ	:€BÜ�b˜-Ô(Ð(Ð(Ü�8‰8�=‰=×%Ñ% b¨"Ô-Ð-Ð-ô 
�‰×	#Ñ	#¨]¨OÐ	#Ó	<ñ 0Ü�H‰H‹JˆÜ˜!˜]Ô+Ð+Ð+ä�J‰J‹LˆÜ˜a Ô/Ð/Ð/Ð/÷0ô 	�‰‹
€AÜ˜!˜]Ô+Ð+Ð+Ð+÷0ð 0ús   Ä9AF*Æ*F3)r   r   rC   r   ÚimportorskiprH   Ú_dispatchabler   r   r&   ÚmarkÚskipifrO   r[   r_   rl   rp   rt   r|   r^   r   r
   ú<module>r�      s  ðÛ ã ã à€V×Ñ˜Ó!€Ø €× Ñ �GÔ ð €×Ñ EÔ*ñ6ó +ð6òòVð  ‡�×Ñð>óñ2Bó	ð2Bðj ‡�×Ñð>óñRó	ðRò<<ð ‡�×ÑÐ4Ó5ñ#ó 6ð#ò4=òð( ‡�×Ñð>óñ,ó	ñ,r   