403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.7/site-packages/pip/_vendor/resolvelib/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.7/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-37.pyc
B

�N�a��@sbddlZddlmZGdd�de�ZGdd�dej�ZGdd	�d	e�ZGd
d�de�Zdd
�Z	dS)�N�)�collections_abcc@speZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�
DirectedGraphz&A graph structure with directed edges.cCst�|_i|_i|_dS)N)�set�	_vertices�	_forwards�
_backwards)�self�r
�B/usr/lib/python3.7/site-packages/pip/_vendor/resolvelib/structs.py�__init__	szDirectedGraph.__init__cCs
t|j�S)N)�iterr)r	r
r
r�__iter__szDirectedGraph.__iter__cCs
t|j�S)N)�lenr)r	r
r
r�__len__szDirectedGraph.__len__cCs
||jkS)N)r)r	�keyr
r
r�__contains__szDirectedGraph.__contains__cCsBt�}t|j�|_dd�|j��D�|_dd�|j��D�|_|S)z$Return a shallow copy of this graph.cSsi|]\}}t|�|�qSr
)r)�.0�k�vr
r
r�
<dictcomp>sz&DirectedGraph.copy.<locals>.<dictcomp>cSsi|]\}}t|�|�qSr
)r)rrrr
r
rrs)rrrr�itemsr)r	�otherr
r
r�copys
zDirectedGraph.copycCs:||jkrtd��|j�|�t�|j|<t�|j|<dS)zAdd a new vertex to the graph.z
vertex existsN)r�
ValueError�addrrr)r	rr
r
rrs

zDirectedGraph.addcCs\|j�|�x$|j�|�D]}|j|�|�qWx$|j�|�D]}|j|�|�q@WdS)zCRemove a vertex from the graph, disconnecting all edges from/to it.N)r�remover�popr)r	r�f�tr
r
rr's
zDirectedGraph.removecCs||j|ko||j|kS)N)rr)r	rrr
r
r�	connected/szDirectedGraph.connectedcCs6||jkrt|��|j|�|�|j|�|�dS)zgConnect two existing vertices.

        Nothing happens if the vertices are already connected.
        N)r�KeyErrorrrr)r	rrr
r
r�connect2s
zDirectedGraph.connectccs4x.|j��D] \}}x|D]}||fVqWqWdS)N)rr)r	rZchildrenrr
r
r�
iter_edges<s
zDirectedGraph.iter_edgescCst|j|�S)N)r
r)r	rr
r
r�
iter_childrenAszDirectedGraph.iter_childrencCst|j|�S)N)r
r)r	rr
r
r�iter_parentsDszDirectedGraph.iter_parentsN)�__name__�
__module__�__qualname__�__doc__rrrrrrrr r"r#r$r%r
r
r
rrs
rc@sJeZdZddd�Zdd�Zdd�ZeZdd	�Zd
d�Zdd
�Z	dd�Z
dS)�IteratorMappingNcCs||_||_|pi|_dS)N)�_mapping�	_accessor�_appends)r	�mappingZaccessorZappendsr
r
rrIszIteratorMapping.__init__cCsd�|j|j|j�S)Nz!IteratorMapping({!r}, {!r}, {!r}))�formatr+r,r-)r	r
r
r�__repr__NszIteratorMapping.__repr__cCst|jp|j�S)N)�boolr+r-)r	r
r
r�__bool__UszIteratorMapping.__bool__cCs||jkp||jkS)N)r+r-)r	rr
r
rrZszIteratorMapping.__contains__cCsJy|j|}Wntk
r,t|j|�SXt�|�|�|j�|d��S)Nr
)r+r!r
r-�	itertools�chainr,�get)r	rrr
r
r�__getitem__]s
zIteratorMapping.__getitem__cs"�fdd��jD�}t��j|�S)Nc3s|]}|�jkr|VqdS)N)r+)rr)r	r
r�	<genexpr>esz+IteratorMapping.__iter__.<locals>.<genexpr>)r-r3r4r+)r	�morer
)r	rrdszIteratorMapping.__iter__cs&t�fdd��jD��}t�j�|S)Nc3s|]}|�jkrdVqdS)rN)r+)rr)r	r
rr7isz*IteratorMapping.__len__.<locals>.<genexpr>)�sumr-rr+)r	r8r
)r	rrhszIteratorMapping.__len__)N)r&r'r(rr0r2�__nonzero__rr6rrr
r
r
rr*Hs
r*c@s4eZdZdZdd�Zdd�Zdd�ZeZdd	�Zd
S)�_FactoryIterableViewa:Wrap an iterator factory returned by `find_matches()`.

    Calling `iter()` on this class would invoke the underlying iterator
    factory, making it a "collection with ordering" that can be iterated
    through multiple times, but lacks random access methods presented in
    built-in Python sequence types.
    cCs
||_dS)N)�_factory)r	�factoryr
r
rrvsz_FactoryIterableView.__init__cCsd�t|�jt|����S)Nz{}({}))r/�typer&�listr<)r	r
r
rr0ysz_FactoryIterableView.__repr__cCs*yt|���Wntk
r$dSXdS)NFT)�nextr<�
StopIteration)r	r
r
rr2|s
z_FactoryIterableView.__bool__cCs|��S)N)r<)r	r
r
rr�sz_FactoryIterableView.__iter__N)	r&r'r(r)rr0r2r:rr
r
r
rr;msr;c@s4eZdZdZdd�Zdd�Zdd�ZeZdd	�Zd
S)�_SequenceIterableViewz�Wrap an iterable returned by find_matches().

    This is essentially just a proxy to the underlying sequence that provides
    the same interface as `_FactoryIterableView`.
    cCs
||_dS)N)�	_sequence)r	Zsequencer
r
rr�sz_SequenceIterableView.__init__cCsd�t|�j|j�S)Nz{}({}))r/r>r&rC)r	r
r
rr0�sz_SequenceIterableView.__repr__cCs
t|j�S)N)r1rC)r	r
r
rr2�sz_SequenceIterableView.__bool__cCs
t|j�S)N)r
rC)r	r
r
rr�sz_SequenceIterableView.__iter__N)	r&r'r(r)rr0r2r:rr
r
r
rrB�srBcCs,t|�rt|�St|tj�s$t|�}t|�S)zCBuild an iterable view from the value returned by `find_matches()`.)�callabler;�
isinstancer�Sequencer?rB)�matchesr
r
r�build_iter_view�s
rH)
r3�compatr�objectr�Mappingr*r;rBrHr
r
r
r�<module>sB%

Youez - 2016 - github.com/yon3zu
LinuXploit