ó
    Ö›‘hÏ  ã                  óä   • S r SSKJr  SSKrSSKJrJr  SSKJr  SSK	J
r
  SSKJr  / SQrSS	 jrSSS
 jjrSS jr\SS j5       r\SS j5       rSSS jjrS r\
" \" SSSS5      5      S 5       rg)z'
Common functions for the SSH classes.
é    )ÚannotationsN)ÚSequenceÚoverload)Úint_to_bytes)Ú
deprecated)ÚVersion)ÚNSÚgetNSÚMPÚgetMPÚffsc                ó”   • [        U [        5      (       a  U R                  S5      n [        R                  " S[        U 5      5      U -   $ )z
net string
zutf-8ú!L)Ú
isinstanceÚstrÚencodeÚstructÚpackÚlen)Úts    Ú\C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/conch/ssh/common.pyr	   r	      s9   € ô �!”S×ÑØ�H‰H�WÓˆÜ�;Š;�tœS ›VÓ$ qÑ(Ð(ó    c                óÔ   • / nSn[        U5       HE  n[        R                  " SXUS-    5      u  nUR                  XS-   SU-   U-    5        USU-   -  nMG     [	        U5      XS 4-   $ )z
get net string
r   r   é   N)Úranger   ÚunpackÚappendÚtuple)ÚsÚcountÚnsÚcÚiÚls         r   r
   r
      sw   € ð 
€BØ	€AÜ�5Ž\ˆÜ�}Š}˜T 1¨¨Q© <Ó0‰ˆØ
�	‰	�!˜‘E˜A ™E A™IÐ&Ô'Ø	ˆQ�‰U‰
Šñ ô �‹9˜˜"˜�xÑÐr   c                ó²   • U S:X  a  gU S:”  d   e[        U 5      n[        USS 5      S-  (       a  SU-   n[        R                  " S[	        U5      5      U-   $ )Nr   s       é   é€   ó    ú>L)r   Úordr   r   r   )ÚnumberÚbns     r   r   r   +   sW   € Ø�ƒ{ØØ�A‹:Ðˆ:Ü	�fÓ	€BÜ
ˆ2ˆa�ˆ7ƒ|�c×Ø�r‰\ˆÜ�;Š;�tœS ›WÓ%¨Ñ*Ð*r   c                ó   • g ©N© )Údatas    r   r   r   5   ó   € àr   c                ó   • g r.   r/   )r0   r    s     r   r   r   :   r1   r   c           	     óü   • / nSn[        U5       HY  n[        R                  " SXUS-    5      u  nUR                  [        R                  XS-   US-   U-    S5      5        USU-   -  nM[     [        U5      XS 4-   $ )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   r)   r   ÚbigN)r   r   r   r   ÚintÚ
from_bytesr   )r0   r    Úmpr"   r#   Úlengths         r   r   r   ?   s‚   € ð 
€BØ	€AÜ�5Ž\ˆÜ—M’M $¨°°Q±¨Ó8‰	ˆØ
�	‰	”#—.‘. ¨!¡e¨a°!©e°f©nÐ!=¸uÓEÔFØ	ˆQ�‰Z‰Šñ ô �‹9˜˜R˜�{Ñ"Ð"r   c                ó(   • U  H  nX!;   d  M
  Us  $    g)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   r   r   P   s   € ó
 ˆØ�6ØŠHò r   ÚTwistedé   é   c                 ó   • g r.   r/   r/   r   r   Úinstallr>   Z   s   € ð 	r   )r   zbytes | strÚreturnÚbytes)r&   )r   r@   r    r5   r?   zSequence[bytes])r+   r5   r?   r@   )r0   r@   r?   ztuple[int, bytes])r0   r@   r    r5   r?   zSequence[int | bytes])Ú__doc__Ú
__future__r   r   Útypingr   r   Úcryptography.utilsr   Útwisted.python.deprecater   Útwisted.python.versionsr   Ú__all__r	   r
   r   r   r   r>   r/   r   r   Ú<module>rH      sˆ   ðñ
õ #ã ß %å +å /Ý +â
/€ô)ö
 ô+ð 
óó 
ðð 
óó 
ðö#ò"ñ ‰G�I˜r 1 aÓ(Ó)ñ	ó *ñ	r   