+
    Dfj!
                     f    R t ^ RIHtHt ^ RIHt ^ RIHtHt R R lt	RR R llt
R	 R
 ltRR.tR# )z
Construct listening port services from a simple string description.

@see: L{twisted.internet.endpoints.serverFromString}
@see: L{twisted.internet.endpoints.clientFromString}
)Optionalcast)StreamServerEndpointService)	endpoints
interfacesc                8    V ^8  d   QhR\         P                  /# )   return)r   IReactorCore)formats   ">/usr/lib/python3/dist-packages/twisted/application/strports.py__annotate__r      s     2 2Z,, 2    c                  B    ^ RI Hp  \        \        P                  V 4      # )    reactor)twisted.internetr   r   r   r
   r   s    r   _getReactorr      s    (
''11r   Nc                    V ^8  d   QhR\         R\        P                  R\        \        P                  ,          R\
        /# )r   descriptionfactoryr   r	   )strr   IProtocolFactoryr   r
   r   )r   s   "r   r   r      sA      (( j--. !	r   c                p    Vf   \        4       p\        \        P                  ! W 4      V4      pRVn        V# )a:  
Return the service corresponding to a description.

@param description: The description of the listening port, in the syntax
    described by L{twisted.internet.endpoints.serverFromString}.
@type description: C{str}

@param factory: The protocol factory which will build protocols for
    connections to this service.
@type factory: L{twisted.internet.interfaces.IProtocolFactory}

@rtype: C{twisted.application.service.IService}
@return: the service corresponding to a description of a reliable stream
    server.

@see: L{twisted.internet.endpoints.serverFromString}
T)r   r   r   serverFromString_raiseSynchronously)r   r   r   svcs   &&& r   servicer      s9    , -
%""78'C #CJr   c                d    V ^8  d   QhR\         R\        P                  R\        P                  /# )r   r   r   r	   )r   r   r   IListeningPort)r   s   "r   r   r   7   s0      )::r   c                    ^ RI Hp \        P                  ! W4      w  r4p\	        \
        P                  \        VRV,           4      ! V/ VB 4      # )a3  
Listen on a port corresponding to a description.

@param description: The description of the connecting port, in the syntax
    described by L{twisted.internet.endpoints.serverFromString}.
@type description: L{str}

@param factory: The protocol factory which will build protocols on
    connection.
@type factory: L{twisted.internet.interfaces.IProtocolFactory}

@rtype: L{twisted.internet.interfaces.IListeningPort}
@return: the port corresponding to a description of a reliable virtual
    circuit server.

@see: L{twisted.internet.endpoints.serverFromString}
r   listen)r   r   r   _parseServerr   r   r    getattr)r   r   r   nameargskws   &&    r   r"   r"   7   sH    ( )++KAND!!77HtO#Dd#Qb#Q r   r   r"   )N)__doc__typingr   r   twisted.application.internetr   r   r   r   r   r   r"   __all__ r   r   <module>r-      s1   
 " D 22@8 h
r   