+
    Dfj                        R t ^ RIHt ^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt . ROtR R ltRR	 R
 lltR R lt]R R l4       t]R R l4       tRR R lltR t]
! ]! R^^^ 4      4      R 4       tR# )z'
Common functions for the SSH classes.
)annotationsN)Sequenceoverload)int_to_bytes)
deprecated)Versionc                    V ^8  d   QhRRRR/# )   tzbytes | strreturnbytes )formats   ":/usr/lib/python3/dist-packages/twisted/conch/ssh/common.py__annotate__r      s     ) )+ )% )    c                    \        V \        4      '       d   V P                  R4      p \        P                  ! R\        V 4      4      V ,           # )z
net string
zutf-8!L)
isinstancestrencodestructpacklen)r
   s   &r   NSr      s9     !SHHW;;tSV$q((r   c               $    V ^8  d   QhRRRRRR/# )r	   sr   countintr   zSequence[bytes]r   )r   s   "r   r   r      s!     
  
 U 
 3 
  
 r   c                   . p^ p\        V4       F]  p\        P                  ! RWV^,            4      w  pVP                  W^,           ^V,           V,            4       V^V,           ,          pK_  	  \	        V4      WR 3,           # )z
get net string
r   N)ranger   unpackappendtuple)r   r   nscils   &&    r   getNSr(      sw     
B	A5\}}T1Q<0
		!EAEAI&'	QU
  9"xr   c                    V ^8  d   QhRRRR/# )r	   numberr   r   r   r   )r   s   "r   r   r   +   s     + +s +u +r   c                    V ^ 8X  d   R# V ^ 8  g   Q h\        V 4      p\        VR,          4      ^,          '       d
   RV,           p\        P                  ! R\	        V4      4      V,           # )        :r,      N>Ls       )r   ordr   r   r   )r*   bns   & r   MPr2   +   s[    {A::	f	B
2c7|cr\;;tSW%**r   c                    V ^8  d   QhRRRR/# )r	   datar   r   ztuple[int, bytes]r   )r   s   "r   r   r   6   s       + r   c                    R # Nr   )r4   s   &r   getMPr7   5       r   c               $    V ^8  d   QhRRRRRR/# r	   r4   r   r   r   r   zSequence[int | bytes]r   )r   s   "r   r   r   ;   s"       c &; r   c                    R # r6   r   )r4   r   s   &&r   r7   r7   :   r8   r   c               $    V ^8  d   QhRRRRRR/# r:   r   )r   s   "r   r   r   ?   s"     # # #c #*? #r   c           	     4   . p^ p\        V4       Fq  p\        P                  ! RWV^,            4      w  pVP                  \        P                  W^,           V^,           V,            R4      4       V^V,           ,          pKs  	  \        V4      WR 3,           # )a%  
Get multiple precision integer out of the string.  A multiple precision
integer is stored as a 4-byte length followed by length bytes of the
integer.  If count is specified, get count integers out of the string.
The return value is a tuple of count integers followed by the rest of
the data.
r/   bigN)r    r   r!   r"   r   
from_bytesr#   )r4   r   mpr%   r&   lengths   &&    r   r7   r7   ?   s     
B	A5\MM$Q8	
		#..!ea!efn!=uEF	QZ  9R{""r   c                ,    V  F  pW!9   g   K  Vu # 	  R# )zg
first from second
goes through the first list, looking for items in the second, returns the first one
Nr   )r%   r   r&   s   && r   ffsrC   P   s    
 6H r   Twistedc                     R # r6   r   r   r   r   installrF   Z   s     	r   )r   r(   r2   r7   rC   )r.   )__doc__
__future__r   r   typingr   r   cryptography.utilsr   twisted.python.deprecater   twisted.python.versionsr   __all__r   r(   r2   r7   rC   rF   r   r   r   <module>rN      s   
 #  % + / +
/)
 + 
 
 
 
#" GIr1a()	 *	r   