+
    Dfj                         R t ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
Ht ^RIHtHt ^RIHt ^RIHtHtHt ^R	IHt  ! R
 R4      tR# )
Run a Twisted application.
N)Sequence)_exitWithSignal)IReactorCore_ISupportsExitSignalCapturing)Options
UsageError)
ExitStatusexit)Runner)ApplicationIServiceIServiceMakerTwistOptionsc                      a  ] tR t^t o Rt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR	 l4       t	]
]P                  3V 3R
 lR ll4       tRtV tR# )Twistr   c                6   < V ^8  d   QhRS[ S[,          RS[/# )   argvreturn)r   strr   )format__classdict__s   "B/usr/lib/python3/dist-packages/twisted/application/twist/_twist.py__annotate__Twist.__annotate__   s      hsm      c                    \        4       p VP                  V R,          4       V#   \         d,   p\        \        P
                  RT RT 24        Rp?T# Rp?ii ; i)z`
Parse command line options.

@param argv: Command line arguments.
@return: The parsed options.
:   NNzError: z

N)r   parseOptionsr   r
   r	   EX_USAGE)r   optionses   &  r   r"   Twist.options   sc     .	B  b*   	B$$s$wi&@AA	Bs   & A AAc                ,   < V ^8  d   QhRS[ RS[RS[/# )r   pluginr"   r   )r   r   r   )r   r   s   "r   r   r   ,   s"     % % % %H %r   c                    V P                  V4      p\        V P                  4      pVP                  V4       \	        V4      # )z
Create the application service.

@param plugin: The name of the plugin that implements the service
    application to run.
@param options: Options to pass to the application.
@return: The created application service.
)makeServicer   tapnamesetServiceParentr   )r&   r"   serviceapplications   &&  r   r+   Twist.service+   s;     $$W-!&..1  -$$r   c                *   < V ^8  d   QhRS[ RS[RR/# )r   reactorr+   r   N)r   r   )r   r   s   "r   r   r   <   s'     
Q 
Ql 
QX 
Q$ 
Qr   c                `    VP                  4        V P                  RRVP                  4       R# )z
Start the application service.

@param reactor: The reactor to run the service with.
@param service: The application service to run.
beforeshutdownN)startServiceaddSystemEventTriggerstopService)r/   r+   s   &&r   r3   Twist.startService;   s*     	 	%%h
G<O<OPr   c                $   < V ^8  d   QhRS[ RR/# )r   twistOptionsr   Nr   )r   r   s   "r   r   r   I   s     5 5, 54 5r   c                   \        V R,          V R,          V R,          V R,          R7      pVP                  4        V R,          p\        P                  ! V4      '       d(   VP                  e   \        VP                  4       R# R# R# )zm
Run the application service.

@param twistOptions: Command line options to convert to runner
    arguments.
r/   logLevellogFilefileLogObserverFactory)r/   defaultLogLevelr;   r<   N)r   runr   
providedBy_exitSignalr   )r8   runnerr/   s   &  r   r>   	Twist.runH   sy      +(4 +#/0H#I	
 	

y)(33G<<"". 3 34 / =r   c                4   < V ^8  d   QhRS[ S[,          RR/# )r   r   r   N)r   r   )r   r   s   "r   r   r   ]   s       T r   c                    V P                  V4      pVR,          pVP                  pVf   Q hV P                  VP                  V,          VP                  R7      pV P                  W54       V P                  V4       R# )z
Executable entry point for L{Twist}.
Processes options and run a twisted reactor with a service.

@param argv: Command line arguments.
@type argv: L{list}
r/   N)r&   r"   )r"   
subCommandr+   plugins
subOptionsr3   r>   )clsr   r"   r/   rE   r+   s   &&    r   main
Twist.main\   sy     ++d#)$ ''
%%%++??:.&&  

 	*r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr"   r+   r3   r>   classmethodsysr   rI   __static_attributes____classdictcell__)r   s   @r   r   r      s|         % % 
Q 
Q 5 5& (+   r   r   )rP   rS   typingr   twisted.application.appr   twisted.internet.interfacesr   r   twisted.python.usager   r   runner._exitr	   r
   runner._runnerr   r+   r   r   r   _optionsr   r   rK   r   r   <module>r]      s6   
   3 S 4 + # : : "] ]r   