
    hK                     V   S r SSKJr  SSKJr  SSKJrJrJ	r
  SSKJr  SSKJrJr  SSKJr   " S S	5      r " S
 S5      r\" \
R(                  5       " S S\R*                  5      5       r " S S\R.                  \R*                  5      r " S S5      r " S S\R4                  5      rg)z9
insults/SSH integration support.

@author: Jp Calderone
    )Dict)implementer)avatarerror
interfaces)insults)factorysession)
componentsc                   $    \ rS rSrSrS rS rSrg)_Glue   z
A feeble class for making one attribute look like another.

This should be replaced with a real class at some point, probably.
Try not to write new code that uses it.
c                 :    U R                   R                  U5        g N)__dict__update)selfkws     `/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/twisted/conch/manhole_ssh.py__init___Glue.__init__   s    R     c                 0    [        U R                  SU5      e)Nzhas no attribute)AttributeErrorname)r   r   s     r   __getattr___Glue.__getattr__    s    TYY(:DAAr    N)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r   r   r   r   r      s    !Br   r   c                       \ rS rSrS rSrg)TerminalSessionTransport$   c                   ^ ^^ UT l         TT l        UT l        T R                   R                  mT R                   R	                  [        T R                  R                  UU4S jSS95        U 4S jnT R                  R	                  [        T R                   R                  USS95        T R                  R                  R                  XE5        g )Nc                  :   > T R                   R                  T5      $ r   )conn	sendClose)r   protoSessions   r   <lambda>3TerminalSessionTransport.__init__.<locals>.<lambda>/   s    v{{'<'<\'Jr   zSSH Proto Transport)writeloseConnectionr   c                  :   > T R                   R                  5         g r   )protor0   r   s   r   r0   9TerminalSessionTransport.__init__.<locals>.loseConnection4   s    JJ%%'r   zChained Proto Transport)
r2   r   chainedProtocolr
   makeConnectionr   dataReceivedr/   terminalProtocolterminalSize)r   r2   r5   r   widthheightr0   r,   s   `  `   @r   r   !TerminalSessionTransport.__init__%   s    
.zz))

!!**77J*	
	( 	++jj&&-.	
 	--::5Ir   )r   r5   r2   Nr   r    r!   r"   r   r$   r   r   r   r&   r&   $   s     Jr   r&   c                   T    \ rS rSr\r\R                  rS r	S r
S rS rS rS rSrg	)
TerminalSessionH   c                 (    US S u  U l         U l        g )N   r;   r:   )r   term
windowSizeattrss       r   getPtyTerminalSession.getPtyM   s    ",Ra.TZr   c                     U R                  UU R                  5       [        R                  " U R                  5      U R
                  U R                  5        g r   )transportFactorychainedProtocolFactoryiconch
IConchUseroriginalr:   r;   )r   r2   s     r   	openShellTerminalSession.openShellP   s?    '')dmm,JJKK	
r   c                 .    [         R                  " S5      e)NzCannot execute commands)econch
ConchError)r   r2   cmds      r   execCommandTerminalSession.execCommandY   s     9::r   c                     [        S5      e)Nz,Unimplemented: TerminalSession.windowChangedNotImplementedError)r   newWindowSizes     r   windowChangedTerminalSession.windowChanged\   s    !"PQQr   c                     [        S5      e)Nz*Unimplemented: TerminalSession.eofReceivedrX   r3   s    r   eofReceivedTerminalSession.eofReceived`   s    !"NOOr   c                     g r   r   r3   s    r   closedTerminalSession.closedd   s    r   rC   N)r   r    r!   r"   r&   rJ   r   ServerProtocolrK   rG   rO   rU   r[   r^   ra   r$   r   r   r   r?   r?   H   s4    /$331
;RPr   r?   c                       \ rS rSrS rSrg)TerminalUseri   c                     [         R                  R                  X5        [        R                  R                  U 5        [
        R                  U R                  S'   g )Ns   session)r   Adapterr   r   	ConchUserr
   
SSHSessionchannelLookup)r   rN   avatarIds      r   r   TerminalUser.__init__j   s@    ##D3!!$')0););:&r   r   Nr=   r   r   r   re   re   i   s    <r   re   c                   N    \ rS rSr\r\r\r	\
R                  rS rSS jrS rSrg)TerminalRealmp   c                 8   [         R                  " 5       nU R                  X!5      nU R                  U5      nU R                  Ul        U R
                  Ul        UR                  [        R                  U5        UR                  [        R                  U5        U$ r   )
r   ComponentizeduserFactorysessionFactoryrJ   rK   setComponentrL   rM   ISession)r   rl   compusersesss        r   
_getAvatarTerminalRealm._getAvatarw   s{    '')/""4( $ 5 5&*&A&A#&++T2&//40r   Nc                     Ub  Xl         g g r   rJ   )r   rJ   s     r   r   TerminalRealm.__init__   s    '$4! (r   c                     U H;  nU[         R                  L d  M  [         R                  U R                  U5      S 4s  $    [        5       e)Nc                      g r   r   r   r   r   r-   -TerminalRealm.requestAvatar.<locals>.<lambda>   s    dr   )rL   rM   rz   rY   )r   rl   mindr   is        r   requestAvatarTerminalRealm.requestAvatar   sA    AF%%%))4??8+DlSS  "##r   r}   r   )r   r    r!   r"   re   rs   r?   rt   r&   rJ   r   rc   rK   rz   r   r   r$   r   r   r   ro   ro   p   s-    K$N/$335$r   ro   c                   L    \ rS rSr% 0 r\\\4   \S'   0 r\\\4   \S'   S r	Sr
g)ConchFactory   
publicKeysprivateKeysc                     Xl         g r   portal)r   r   s     r   r   ConchFactory.__init__   s    r   r   N)r   r    r!   r"   r   r   bytes__annotations__r   r   r$   r   r   r   r   r      s-    %'JUE\"'&(KeUl#(r   r   N)r#   typingr   zope.interfacer   twisted.conchr   r   rR   r   rL   twisted.conch.insultsr   twisted.conch.sshr	   r
   twisted.pythonr   r   r&   rv   rh   r?   ri   re   ro   
SSHFactoryr   r   r   r   <module>r      s   
  & G G ) . %B B!J !JH V__j((  @<6##Z%7%7 <$ $>7%% r   