
    fF              '       h   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZm	ZmZmZmZmZmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] ddl^m_Z_ ddl`maZa ddlbmcZcmdZd ddlemfZfmgZgmhZh ddlimjZjmkZkmlZl ddlmmnZnmoZompZpmqZq ddlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZ dZ	 d dlmZ  ejB                  de]d       ee   ZdddddddedeaeajJ                  edddd d!d"ee ee    f   d#eeeef      d$ee   d%eeee   df   d&eeej                  eej                     f      d'ed(ed)ee   d*eed+      d,ed-ee   d.ed/eejP                     d0ed1ee   d2ee   d3ed4df$d5Zd6ed7   d8e jV                  d4dfd9ZdddddddedeaeajJ                  edddd dd:d"ee ee    f   d#eeeef      d$ee   d%eeee   df   d&eeej                  eej                     f      d'ed(ed)ee   d*eed+      d,ed-ee   d.ed/eejP                     d0ed1ee   d2ee   d3ed8ee jV                     d4df&d;Zd<ee   d4dfd=Zed>k(  r eej`                  dd        yy# e$ r eZY w xY w)?    N)ArgumentParser)Iterable)import_module)
Any	AwaitableCallabler   ListOptionalSetTypeUnioncast   )AbstractAccessLogger)AppKey)access_logger)PathLike)ApplicationCleanupError);HTTPAcceptedHTTPBadGatewayHTTPBadRequestHTTPClientErrorHTTPConflictHTTPCreated	HTTPErrorHTTPExceptionHTTPExpectationFailedHTTPFailedDependencyHTTPForbidden	HTTPFoundHTTPGatewayTimeoutHTTPGoneHTTPInsufficientStorageHTTPInternalServerErrorHTTPLengthRequiredHTTPMethodNotAllowedHTTPMisdirectedRequestHTTPMoveHTTPMovedPermanentlyHTTPMultipleChoices!HTTPNetworkAuthenticationRequiredHTTPNoContentHTTPNonAuthoritativeInformationHTTPNotAcceptableHTTPNotExtendedHTTPNotFoundHTTPNotImplementedHTTPNotModifiedHTTPOkHTTPPartialContentHTTPPaymentRequiredHTTPPermanentRedirectHTTPPreconditionFailedHTTPPreconditionRequiredHTTPProxyAuthenticationRequiredHTTPRedirectionHTTPRequestEntityTooLargeHTTPRequestHeaderFieldsTooLargeHTTPRequestRangeNotSatisfiableHTTPRequestTimeoutHTTPRequestURITooLongHTTPResetContentHTTPSeeOtherHTTPServerErrorHTTPServiceUnavailableHTTPSuccessfulHTTPTemporaryRedirectHTTPTooManyRequestsHTTPUnauthorizedHTTPUnavailableForLegalReasonsHTTPUnprocessableEntityHTTPUnsupportedMediaTypeHTTPUpgradeRequiredHTTPUseProxyHTTPVariantAlsoNegotiatesHTTPVersionNotSupportedNotAppKeyWarning)FileResponse)AccessLogger)
middlewarenormalize_path_middleware)PayloadAccessErrorRequestHandlerRequestPayloadError)BaseRequest	FileFieldRequest)ContentCodingResponseStreamResponsejson_response)AbstractRouteDefRouteDefRouteTableDef	StaticDefdeletegetheadoptionspatchpostputroutestaticview)		AppRunner
BaseRunnerBaseSiteGracefulExitNamedPipeSiteServerRunnerSockSiteTCPSiteUnixSite)Server)AbstractResourceAbstractRouteDynamicResourcePlainResourcePrefixedSubAppResourceResourceResourceRouteStaticResourceUrlDispatcherUrlMappingMatchInfoView)WebSocketReadyWebSocketResponse	WSMsgType)rr   r   r   rP   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rQ   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rr   rs   rt   ru   rq   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   run_app)
SSLContextignoreT)categoryappendg      N@g     R@   F)hostportpathsockshutdown_timeoutkeepalive_timeoutssl_contextprintbacklogaccess_log_classaccess_log_format
access_loghandle_signalsreuse_address
reuse_porthandler_cancellationappr   r   r   r   r   r   r   r   ).Nr   r   r   r   r   r   r   r   returnc                  K   t        j                  |       r
|  d {   } t        t        |       } t	        | ||
|||||      }|j                          d {    g }	 |kt        |t        t        t        t        f      r"|j                  t        |||||	||             nO|D ]#  }|j                  t        |||||	||             % n&||| |j                  t        ||||	||             |dt        |t        t        j                  f      r|j                  t        ||||	             n%|D ]   }|j                  t        ||||	             " |Tt        |t               s|j                  t#        ||||	             n%|D ]   }|j                  t#        ||||	             " |D ]  }|j%                          d {     |rBt'        d |j(                  D              } |dj+                  dj-                  |                   	 t        j.                  d       d {    7 7 7 o7 # |j1                          d {  7   w xY ww)	N)r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   c              3   F   K   | ]  }t        |j                          y w)N)strname).0ss     J/opt/lhia/ganansol/python/venv/lib/python3.12/site-packages/aiohttp/web.py	<genexpr>z_run_app.<locals>.<genexpr>  s     =13qvv;=s   !z6======== Running on {} ========
(Press CTRL+C to quit)z, i  )asyncioiscoroutiner   r   rm   setup
isinstancer   bytes	bytearray
memoryviewr   rt   osr   ru   r   rs   startsortedsitesformatjoinsleepcleanup)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   runnerr   hpr   sitenamess                           r   _run_appr   ,  s    * 3i
{C
 C%)++)1	F ,,.E^$eY
 CD$/ '&3#-
  ALL" (3$+*7'1
 \dld.>LL +#"/)	 $bkk 23$/ '	  ALL "(3$+	 dH-$/ '	  ALL "(3$+	  	D**,	 ===E))/		%0@)A --%%% ]  j  &nnsk   IH1:IH4I E'H; H7A#H; +H9,H; 1I4I7H; 9H; ;IIII	to_cancelzasyncio.Task[Any]loopc                    | sy | D ]  }|j                           |j                  t        j                  | ddi       | D ]G  }|j	                         r|j                         %|j                  d|j                         |d       I y )Nreturn_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptiontask)cancelrun_until_completer   gather	cancelledr   call_exception_handler)r   r   r   s      r   _cancel_tasksr     s       	GNNINNO 
>>>>'''R!%!1 	
    )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                   |t        j                         }|j                         r|r~|j                  dk(  ro|j                  t
        j                  k(  r|j                  t
        j                         |j                         s#|j                  t        j                                |j                  t        | fi d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|      }	 t        j                  |       |j                  |       t%        |h|       t%        t        j&                  |      |       |j                  |j)                                |j+                          y# t         t"        f$ r Y mw xY w# t%        |h|       t%        t        j&                  |      |       |j                  |j)                                |j+                          w xY w)zRun an app locallyNzaiohttp.accessr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   new_event_loop	get_debugr   levelloggingNOTSETsetLevelDEBUGhasHandlers
addHandlerStreamHandlercreate_taskr   set_event_loopr   rp   KeyboardInterruptr   	all_tasksshutdown_asyncgensclose)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	main_tasks                      r   r   r     s   , |%%' ~~J:??>N+Nw~~-.%%'!!'"7"7"9:  	
	
 	
 		

 	
 .	
 0	
 $	
 	
 	
 .	
 0	
 "	
 *	
 (	
  "!	
" "6#	
I,	t$	* 	yk4(g''-t4 7 7 9:

 +,  	yk4(g''-t4 7 7 9:

s%   1&E3 3FF FF AG%argvc                    t        dd      }|j                  ddd       |j                  dd	d
d       |j                  dddt        d       |j                  ddd       |j                  |       \  }}|j                  j                  d      \  }}}|r|s|j                  d       |j                  d      r|j                  d       	 t        |      }	 t        |      }	|j                  !t        t        d      s|j                  d       t        j                   t        j"                           	|      }
t%        |
|j&                  |j(                  |j                  !       |j+                  d"#       y # t        $ r!}|j                  d| d|        Y d }~d }~ww xY w# t        $ r |j                  d|d|       Y w xY w)$Nzaiohttp.web Application serverzaiohttp.web)descriptionprog
entry_funczvCallable returning the `aiohttp.web.Application` instance to run. Should be specified in the 'module:function' syntax.z
entry-func)helpmetavarz-Hz
--hostnamez2TCP/IP hostname to serve on (default: %(default)r)	localhost)r   defaultz-Pz--portz.TCP/IP port to serve on (default: %(default)r)8080)r   typer   z-Uz--pathzjUnix file system path to serve on. Specifying a path will cause hostname and port arguments to be ignored.)r   :z,'entry-func' not in 'module:function' syntax.z#relative module names not supportedzunable to import z: zmodule z has no attribute AF_UNIXz=file system paths not supported by your operating environment)r   )r   r   r   zStopped
)r   )r   add_argumentintparse_known_argsr   	partitionerror
startswithr   ImportErrorgetattrAttributeErrorr   hasattrsocketr   basicConfigr   r   hostnamer   exit)r   
arg_parserargs
extra_argvmod_str_func_strmoduleexfuncr   s              r   mainr     s   4=J H    A	   =   5   "2248D*  ??44S9GQ7GH#>?>w'Nvx(
 yyWVY%?N	
 gmm,
z
CCdmm$))$))DOOKO(#  >,WIRt<==>  N77+-?|LMNs*   F F. 	F+
F&&F+. GG__main__)r   r   r   r   syswarningsargparser   collections.abcr   	importlibr   typingr   r   r   TypingIterabler	   r
   r   r   r   r   abcr   helpersr   logr   typedefsr   web_appr   r   web_exceptionsr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   web_fileresponserQ   web_logrR   web_middlewaresrS   rT   web_protocolrU   rV   rW   web_requestrX   rY   rZ   web_responser[   r\   r]   r^   web_routedefr_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   
web_runnerrm   rn   ro   rp   rq   rr   rs   rt   ru   
web_serverrv   web_urldispatcherrw   rx   ry   rz   r{   r|   r}   r~   r   r   r   web_wsr   r   r   __all__sslr   r   filterwarningsr   HostSequencer   
LOG_FORMATr   floatLoggerboolr   AbstractEventLoopr   r   r   __name__r    r   r   <module>r$     s     	  
  # $ #   & %   M< < < < < < < < < < < < < < < <z ; ! 
 
     
 
 
 )    @F
   +;D Ic" 04<@JN"#(,+03?)44+8$(!%!&%G	{Ik22	3G 5l*+
,G 3-	G
 .2D8
9G 5v}}(EEF
GG G G *%G HY'(G G /0G G (G G  D>!G" #G$ %G& 
'GT&'/6/H/H	6 04<@JN"#(,+03?)44+8$(!%!&04'?	{Ik22	3? 5l*+
,? 3-	?
 .2D8
9? 5v}}(EEF
G? ? ? *%? HY'(? ? /0? ? (? ?  D>!?" #?$ %?& 7,,
-'?( 
)?D:)tCy :)T :)z z!" U	  Js   4L& &L10L1