+
    TŎi                     \   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^R	IHt ]
'       d   ^ RIt]P6                  tM ^ RIt]P6                  tRt ! R R
]P>                  4      t  ! R R] 4      t!R#   ] d    Rt]t L1i ; i)z%Async gunicorn worker for aiohttp.webN)	FrameType)TYPE_CHECKINGAnyOptional)AccessLogFormat)base)web)
set_result)Application)AccessLoggerGunicornWebWorkerGunicornUVLoopWebWorkerc                   6  a a ] tR t^&t o]P
                  t]P                  t	V3R lV 3R llt
V3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 ltRV3R lR lltV3R lR ltV3R lR ltV3R lR lt]V3R lR l4       tV3R lR ltRtVtV ;t# )r   c                *   < V ^8  d   QhRS[ RS[ RR/# )   argskwreturnNr   )format__classdict__s   "]/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/aiohttp/worker.py__annotate__GunicornWebWorker.__annotate__+   s'     C Cc C C C    c                R   < \         SV `  ! V/ VB  R V n        ^ V n        R V n        R # N)super__init___task	exit_code_notify_waiter)selfr   r   	__class__s   &*,r   r   GunicornWebWorker.__init__+   s+    $%"%37
>Br   c                   < V ^8  d   QhRR/# r   r   N )r   r   s   "r   r   r   2   s      d r   c                   < \         P                  ! 4       P                  4        \         P                  ! 4       V n        \         P
                  ! V P                  4       \        SV `  4        R # r   )asyncioget_event_loopclosenew_event_looploopset_event_loopr   init_process)r"   r#   s   &r   r/   GunicornWebWorker.init_process2   sE     &&(**,	tyy)r   c                   < V ^8  d   QhRR/# r&   r'   )r   r   s   "r   r   r   ;   s     
! 
!T 
!r   c                   V P                   P                  V P                  4       4      V n         V P                   P	                  V P                  4       V P                   P	                  V P                   P                  4       4       V P                   P                  4        \        P                  ! V P                  4       R#   \
         d    T P                  P                  R 4        Li ; i)zException in gunicorn workerN)r-   create_task_runr   run_until_complete	Exceptionlog	exceptionshutdown_asyncgensr+   sysexitr    r"   s   &r   runGunicornWebWorker.run;   s    YY**499;7
	?II((4 			$$TYY%A%A%CD		   	?HH=>	?s   %C &C-,C-c                   < V ^8  d   QhRR/# r&   r'   )r   r   s   "r   r   r   G   s     B BD Br   c           	     T  "   R p\        V P                  \        4      '       d   V P                  pM\        P                  ! V P                  4      '       g<   \
        P                  R8  dq   \        P                  ! V P                  4      '       dK   V P                  4       G R j  xL
 p\        V\        P                  4      '       d   TpVP                  pM'TpM$\        RP                  V P                  4      4      hVf   V P                  P                  '       d   V P                  P                   MR p\        P                  ! VV P                  V P                  P"                  VV P%                  V P                  P&                  4      V P                  P(                  ^d,          ^_,          R7      pVP+                  4       G R j  xL
  V P                  P,                  '       d   V P/                  V P                  4      MR pTpVf   Q hVP0                  pVf   Q hV P2                   F4  p\        P4                  ! VVVR7      pVP7                  4       G R j  xL
  K6  	  \8        P:                  ! 4       p	 V P<                  '       d   V P?                  4        VP@                  p
V PB                  '       d6   WPB                  8  d&   RV n        V P                  PE                  RV 4       Ku  V	\8        P:                  ! 4       8X  dJ   V PF                  \8        PH                  ! 4       8w  d&   RV n        V P                  PE                  RV 4       K  V PK                  4       G R j  xL
  K   VPO                  4       G R j  xL
  R #  EL EL EL2 L*  \L         d     L2i ; i L"5i)NzUwsgi app should be either Application or async function returning Application, got {})loggerkeepalive_timeout
access_logaccess_log_formatshutdown_timeout)ssl_contextFzMax requests, shutting down: %sz!Parent changed, shutting down: %s)      )(
isinstancewsgir
   inspectiscoroutinefunctionr:   version_infor)   r   	AppRunnerappRuntimeErrorr   cfg	accesslogr7   rC   	keepalive_get_valid_log_formatrD   graceful_timeoutsetupis_ssl_create_ssl_contextserversocketsSockSitestartosgetpidalivenotifyrequests_countmax_requestsinfoppidgetppid_wait_next_notifyBaseExceptioncleanup)r"   runnerrO   rJ   rC   ctxrY   socksitepidcnts   &          r   r4   GunicornWebWorker._runG   s    dii--))C((33w&7+F+Ftyy+Q+Q$D$..jj??Evdii?P 
 >040B0B0B,,J]]xx"&(("4"4%"&"<"<HH..# "&!:!:S!@2!E	F lln48HHOOOd&&txx0!!!!!!LLD<<D
 **, ! iik	***++$$$/@/@)@!&DJHHMM"CTJBIIK'DII,E!&DJHHMM"EtL00222   nnw %0 	 " 3 		 	s   AN(:N(N(&N
'A9N(!B*N(NN(,A2N(NN(=N -N =B+N (N)N /N(N&N(N(N(N N# N("N##N(c                   < V ^8  d   QhRR/# )r   r   asyncio.Future[bool]r'   )r   r   s   "r   r   r      s      #9 r   c                    V P                  4        V P                  pVf   Q hVP                  4       ;V n        pV P                  P	                  RV P                   V4       V# )Ng      ?)_notify_waiter_doner-   create_futurer!   
call_later)r"   r-   waiters   &  r   rf   #GunicornWebWorker._wait_next_notify   sZ      "yy'+'9'9';;f		S$":":FCr   c                2   < V ^8  d   QhRS[ R,          RR/# )r   rv   rq   r   N)r   )r   r   s   "r   r   r      s#     	' 	'56	'		'r   c                v    Vf   V P                   pVe   \        VR4       WP                   J d
   R V n         R # R # )NT)r!   r	   )r"   rv   s   &&r   rs   %GunicornWebWorker._notify_waiter_done   s=     >((Fvt$((("&D )r   c                   < V ^8  d   QhRR/# r&   r'   )r   r   s   "r   r   r      s     3 3d 3r   c                   V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P
                  V P                  \        P
                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       \        P                  ! \        P
                  R4       \        P                  ! \        P                  R4       R # )NF)r-   add_signal_handlersignalSIGQUIThandle_quitSIGTERMhandle_exitSIGINTSIGWINCHhandle_winchSIGUSR1handle_usr1SIGABRThandle_abortsiginterruptr<   s   &r   init_signalsGunicornWebWorker.init_signals   s.    			$$NND,,fnnd	
 			$$NND,,fnnd	
 			$$MM4++V]]D	
 			$$OOT..	
 			$$NND,,fnnd	
 			$$NND--v~~t	
 	FNNE2FNNE2r   c                :   < V ^8  d   QhRS[ RS[S[,          RR/# r   sigframer   Nintr   r   )r   r   s   "r   r   r      s'     # #s #8I+> #4 #r   c                j    R V n         V P                  P                  V 4       V P                  4        R# FN)r_   rQ   
worker_intrs   r"   r   r   s   &&&r   r   GunicornWebWorker.handle_quit   s+    
 	D! 	  "r   c                :   < V ^8  d   QhRS[ RS[S[,          RR/# r   r   )r   r   s   "r   r   r      s'       HY,? D r   c                    R V n         ^V n        V P                  P                  V 4       \        P
                  ! ^4       R# r   )r_   r    rQ   worker_abortr:   r;   r   s   &&&r   r   GunicornWebWorker.handle_abort   s-    
d#r   c                $   < V ^8  d   QhRS[ RR/# )r   rQ   r   
SSLContextr   )r   r   s   "r   r   r      s        r   c                   \         f   \        R4      h\         P                  ! V P                  4      pVP	                  V P
                  V P                  4       V P                  Vn        V P                  '       d   VP                  V P                  4       V P                  '       d   VP                  V P                  4       V# )znCreates SSLContext instance for usage in asyncio.create_server.

See ssl.SSLSocket.__init__ for more details.
zSSL is not supported.)sslrP   r   ssl_versionload_cert_chaincertfilekeyfile	cert_reqsverify_modeca_certsload_verify_locationsciphersset_ciphers)rQ   rj   s   & r   rX   %GunicornWebWorker._create_ssl_context   s     ;677nnS__-CLL#++6--<<<%%cll3;;;OOCKK(
r   c                &   < V ^8  d   QhRS[ RS[ /# )r   source_formatr   )str)r   r   s   "r   r   r      s     ! !3 !3 !r   c                    WP                   8X  d   V P                  # \        P                  ! R V4      '       d   \	        R4      hV# )z%\([^\)]+\)zGunicorn's style options in form of `%(name)s` are not supported for the log formatting. Please use aiohttp's format specification to configure access log formatting: http://docs.aiohttp.org/en/stable/logging.html#format-specification)DEFAULT_GUNICORN_LOG_FORMATDEFAULT_AIOHTTP_LOG_FORMATresearch
ValueError)r"   r   s   &&r   rT   'GunicornWebWorker._get_valid_log_format   sE    <<<222YY~}55(  ! r   )r!   r   r_   r    r-   r   )__name__
__module____qualname____firstlineno__r   
LOG_FORMATr   GunicornAccessLogFormatdefaultr   r   r/   r=   r4   rf   rs   r   r   r   staticmethodrX   rT   __static_attributes____classdictcell____classcell__r#   r   s   @@r   r   r   &   s     !-!8!8"9"A"AC C 
! 
!B BH 	' 	'3 3D# #   "! ! !r   c                   >   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )r   c                   < V ^8  d   QhRR/# r&   r'   )r   r   s   "r   r   $GunicornUVLoopWebWorker.__annotate__   s      d r   c                   < ^ RI p\        P                  ! 4       P                  4        \        P                  ! VP                  4       4       \        SV `  4        R# )    N)uvloopr)   r*   r+   set_event_loop_policyEventLoopPolicyr   r/   )r"   r   r#   s   & r   r/   $GunicornUVLoopWebWorker.init_process   sA     	 &&(
 	%%f&<&<&>?r   r'   )r   r   r   r   r/   r   r   r   r   s   @@r   r   r      s       r   )r   r   )"__doc__r)   rK   r]   r   r~   r:   typesr   typingr   r   r   gunicorn.configr   r   gunicorn.workersr   aiohttpr   helpersr	   web_appr
   web_logr   r   r   ImportErrorobject__all__Workerr   r   r'   r   r   <module>r      s    +   	 	  
  / / F !     !J^^
 ;I! I!X/ i  
s   )B B+*B+