+
     BiT                         ^RI HtHtHt ^RIHt ^ RIt^ RIt^ RIt. ROt	. ROt
. ROtR	 t0 RmP                  tR
 tR t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )   )FileWrapperguess_schemeis_hop_by_hop)HeadersNBaseHandlerSimpleHandlerBaseCGIHandler
CGIHandlerIISCGIHandlerc           	          \         P                  ! V 4      w	  rr4rVrxp	R \        V,          V\        V,          WWV3,          # )z#%s, %02d %3s %4d %02d:%02d:%02d GMT)timegmtime_weekdayname
_monthname)
	timestampyearmonthdayhhmmsswdyzs
   &         '/usr/lib/python3.14/wsgiref/handlers.pyformat_date_timer      sB    -1[[-C*D""0R#z%0$B4      c                     \        V 4      ;'       g^    V P                  R 4      ;'       gE    V P                  R4      ;'       g,    V P                  R4      ;'       d    \        V R,          4      # )HTTP_SSL_	REDIRECT_:	   NN)_is_request
startswith_needs_transcode)ks   &r   r%   r%      sg    q> C CQ\\'2 C Call66J C CLL%AA*:1R5*ACr   c                  ,   \         P                  ! 4       p R p RP                  RV4       / p\        P
                  P                  4        EF0  w  r4\        V4      '       Ed   \         P                  R8X  d   \        P
                  P                  RR4      P                  4       pVP                  R4      '       d"   VP                  R4      P                  R4      pMVP                  R4      '       d   MVP                  R	4      '       d)   R
V9   d"   VP                  R4      P                  R4      pMBVP                  V R4      P                  R4      pM VP                  W4      P                  R4      pWBV&   EK3  	  V#   \         d    Rp ELgi ; i)surrogateescape zutf-8replacewin32SERVER_SOFTWAREzmicrosoft-iis/
iso-8859-1zapache/zsimplehttp/zpython/3)sysgetfilesystemencodingencodeLookupErrorosenvironitemsr%   platformgetlowerr$   decode)encescr3   r&   vsoftwares         r   read_environr=   "   sW   

#
#
%C
C
		'3 G
 

  "A ||w&::>>*;R@FFH &&'788)00>A ((33 ''66"h.)00>A i077EA
 HHS&--l;
W #X Ng  s   F FFc                     a  ] tR t^^t o R!tRtRtRtRtRt	Rt
]! 4       t]t]tRtRtR".tRtR;ttRtRt^ tR tR tR	 tR
 tR tR tR#R lt R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R t2R t3V t4R# )$r   TFz1.0Nz500 Internal Server Errors;   A server error occurred.  Please contact the administrator.c                    V P                  4        V! V P                  V P                  4      V n        V P	                  4        R #   \
        \        \        3 d     R #   T P                  4         R #    T P                  4        h ; i; iN)
setup_environr3   start_responseresultfinish_responseConnectionAbortedErrorBrokenPipeErrorConnectionResetErrorhandle_errorclose)selfapplications   &&r   runBaseHandler.run   sv    	 %dllD4G4GHDK  "&9MN 	 	!!#

s$   AA B
B
!A44BB
c                   V P                   P                  4       ;qn        V P                  4        V P	                  4       VR &   V P                  4       VR&   V P                  VR&   V P                  VR&   V P                  4       VR&   V P                  VR&   V P                  VR&   V P                  e   V P                  VR&   V P                  '       d3   V P                  '       d   VP                  R	V P                  4       R# R# R# )
z
wsgi.inputzwsgi.errorszwsgi.versionzwsgi.run_oncezwsgi.url_schemezwsgi.multithreadzwsgi.multiprocessNzwsgi.file_wrapperr,   )
os_environcopyr3   add_cgi_vars	get_stdin
get_stderrwsgi_versionwsgi_run_once
get_schemewsgi_multithreadwsgi_multiprocesswsgi_file_wrapperorigin_serverserver_software
setdefault)rJ   envs   & r   rA   BaseHandler.setup_environ   s     "__1133l#'>>#3L#'??#4M#'#4#4N#'#5#5O#'??#4#'#8#8#'#9#9 !!-'+'='=C#$$"6"6"6NN,T-A-AB #7r   c                `    V P                  4       '       d   V P                  4       '       g5   V P                   F  pV P                  V4       K  	  V P	                  4        V P                  4        R#    \        T P                  R 4      '       d   T P                  P                  4        h ; i)rI   N)result_is_filesendfilerC   writefinish_contentrI   hasattrrJ   datas   & r   rD   BaseHandler.finish_response   s~    	&&(( KKDJJt$ (##% JJL	 t{{G,,!!#s   A4 A4 4A4 49B-c                ,    \        V P                  4      # r@   )r   r3   rJ   s   &r   rV   BaseHandler.get_scheme   s    DLL))r   c                     \        V P                  4      pV^8X  d%   \        V P                  4      V P                  R&   R# R#   \
        \        \        3 d     R# i ; i)r   Content-LengthN)lenrC   str
bytes_sentheaders	TypeErrorAttributeErrorNotImplementedError)rJ   blockss   & r   set_content_lengthBaseHandler.set_content_length   sZ    	%F qy14T__1E-.  .)<= 		s   A AAc                L    R V P                   9  d   V P                  4        R# R# )rl   N)rp   ru   ri   s   &r   cleanup_headersBaseHandler.cleanup_headers   s!    
 4<</##% 0r   c                   V'       d    V P                   '       d   h  R pMV P                  e   \        R4      hWn        V P	                  V4      V n        V P                  VR4      pV P                  V4        T P                  #   R pi ; i)NzHeaders already set!Status)headers_sentrp   AssertionErrorstatusheaders_class_convert_string_type_validate_statusrb   )rJ   r~   rp   exc_infonamevals   &&&&  r   rB   BaseHandler.start_response   s      $$$ %  \\% !788))'2**68<f% zz!  s   B B B
c                    \        V4      ^8  d   \        R4      hVR,          P                  4       '       g   \        R4      hV^,          R8w  d   \        R4      hR# )   z$Status must be at least 4 characters:N   Nz(Status message must begin w/3-digit code z+Status message must have a space after codeN)rm   r}   isdigit)rJ   r~   s   &&r   r   BaseHandler._validate_status   sU    v;? !GHHbz!!## !KLL!9 !NOO r   c                t    \        V4      \        J d   V# \        R P                  V\	        V4      4      4      h)z!{0} must be of type str (got {1}))typern   r}   formatrepr)rJ   valuetitles   &&&r   r    BaseHandler._convert_string_type  s4    ;#L/66ud5kJ
 	
r   c                   V P                   '       Ed   V P                  4       '       d   V P                  R V P                  : RV P                  : R2P                  R4      4       RV P                  9  dD   V P                  R\        \        P                  ! 4       4      ,          P                  R4      4       V P                  '       dG   RV P                  9  d4   V P                  RV P                  ,          P                  R4      4       R	# R	# R	# R	# V P                  RV P                  ,          P                  R4      4       R	# )
zHTTP/r   z
r-   Datez
Date: %s
ServerzServer: %s
zStatus: %s
N)
rZ   client_is_modern_writehttp_versionr~   r0   rp   r   r   r[   ri   s   &r   send_preambleBaseHandler.send_preamble  s    $$&&1B1B4;;OWWXdef-KK'*:499;*GGOOP\] '''HDLL,HKK!1D4H4H!H P PQ] ^_ -I' ' KK)DKK7??MNr   c                ,   V P                   '       g   \        R 4      hV P                  '       g"   \        V4      V n        V P                  4        M"V ;P                  \        V4      ,          un        V P                  V4       V P                  4        R# )zwrite() before start_response()N)r~   r}   r|   rm   ro   send_headersr   _flushre   s   &&r   rb   BaseHandler.write  se     {{{ !BCC"""!$iDOOOs4y(O 	Dr   c                    R # )F ri   s   &r   ra   BaseHandler.sendfile.  s    $ r   c                    V P                   '       g/   V P                  P                  R R4       V P                  4        R# R# )rl   0N)r|   rp   r\   r   ri   s   &r   rc   BaseHandler.finish_contentC  s4        LL##$4c:r   c                &    \        V P                  R 4      '       d   V P                  P                  4        R;V n        ;V n        ;V n        V n        ^ V n        RV n        R#   R;T n        ;T n        ;T n        T n        ^ T n        RT n        i ; i)rI   NF)rd   rC   rI   rp   r~   r3   ro   r|   ri   s   &r   rI   BaseHandler.closeM  s    
	;t{{7++!!#FJJDKJ$,Jt|DOU!2 GKJDKJ$,Jt|DOU!2s   6A$ $,Bc                    V P                  4        R V n        V P                  '       d   V P                  4       '       d7   V P	                  4        V P                  \        V P                  4      4       R# R# )TN)rx   r|   rZ   r   r   r   bytesrp   ri   s   &r   r   BaseHandler.send_headersZ  sV     !!!T%:%:%<%< KKdll+, &=r   c                ^    V P                   pVR J;'       d    \        V P                  V4      # r@   )rY   
isinstancerC   )rJ   wrappers   & r   r`   BaseHandler.result_is_filec  s+    ((d"FFz$++g'FFr   c                J    V P                   R ,          P                  4       R8g  # )SERVER_PROTOCOLzHTTP/0.9)r3   upperri   s   &r   r   BaseHandler.client_is_moderni  s     ||-.446*DDr   c                     ^ RI Hp V P                  4       pV! V^ ,          V^,          V^,          V P                  V4       VP	                  4        RpR#   Rpi ; i)    )print_exceptionN)	tracebackr   rS   traceback_limitflush)rJ   r   r   stderrs   &&  r   log_exceptionBaseHandler.log_exceptionn  sR    
		1__&FXa[(1+$$f LLNHtHs   AA Ac                    V P                  \        P                  ! 4       4       V P                  '       g>   V P	                  V P
                  V P                  4      V n        V P                  4        R # R # r@   )	r   r.   r   r|   error_outputr3   rB   rC   rD   ri   s   &r   rH   BaseHandler.handle_error~  sQ    3<<>*   ++DLL$:M:MNDK  " !r   c                    V! V P                   V P                  R ,          \        P                  ! 4       4       V P                  .# ):NNN)error_statuserror_headersr.   r   
error_body)rJ   r3   rB   s   &&&r   r   BaseHandler.error_output  s4     	t((););A)>s||~N  r   c                    \         hr@   rs   re   s   &&r   r   BaseHandler._write  s
     "!r   c                    \         hr@   r   ri   s   &r   r   BaseHandler._flush  s
     "!r   c                    \         hr@   r   ri   s   &r   rR   BaseHandler.get_stdin      !!r   c                    \         hr@   r   ri   s   &r   rS   BaseHandler.get_stderr  r   r   c                    \         hr@   r   ri   s   &r   rQ   BaseHandler.add_cgi_vars  r   r   )ro   r3   rp   r|   rC   r~   )r   r   )zContent-Typez
text/plainr@   )5__name__
__module____qualname____firstlineno__rT   rW   rX   rU   rZ   r   r[   r=   rO   r   rY   r   r   r   r   r   r   r~   rC   r|   rp   ro   rL   rA   rD   rV   ru   rx   rB   r   r   r   rb   ra   rc   rI   r   r`   r   r   rH   r   r   r   rR   rS   rQ   __static_attributes____classdictcell____classdict__s   @r   r   r   ^   s      LMMLO
 J $M O.L23MOJ FVLGJ0C*4*
	&4P
O**
;-GE
 #!&""""" "r   c                   H   a  ] tR tRt o R
R ltR tR tR tR tR t	Rt
V tR	# )r   i  c                N    Wn         W n        W0n        W@n        WPn        W`n        R # r@   )stdinstdoutr   base_envrW   rX   )rJ   r   r   r   r3   multithreadmultiprocesss   &&&&&&&r   __init__SimpleHandler.__init__  s$     
 +!-r   c                    V P                   # r@   )r   ri   s   &r   rR   SimpleHandler.get_stdin  s    zzr   c                    V P                   # r@   )r   ri   s   &r   rS   SimpleHandler.get_stderr  s    {{r   c                P    V P                   P                  V P                  4       R # r@   )r3   updater   ri   s   &r   rQ   SimpleHandler.add_cgi_vars  s    DMM*r   c                    V P                   P                  V4      pVe   V\        V4      8X  d   R # ^ RIHp V! R\
        4       WR  ;p'       d   V P                   P                  V4      pK)  R # )N)warnz9SimpleHandler.stdout.write() should not do partial writes)r   rb   rm   warningsr   DeprecationWarning)rJ   rf   rC   r   s   &&  r   r   SimpleHandler._write  sb    ""4(>Vs4y0!H	 7m#d#[[&&t,F $r   c                p    V P                   P                  4        V P                   P                  V n        R # r@   )r   r   r   ri   s   &r   r   SimpleHandler._flush  s#    kk''r   )r   r   r   r   r   rX   rW   N)TF)r   r   r   r   r   rR   rS   rQ   r   r   r   r   r   s   @r   r   r     s(     .+-( (r   c                       ] tR tRtRtRtR# )r	   i  Fr   N)r   r   r   r   rZ   r   r   r   r   r	   r	     s	    * Mr   c                   .   a  ] tR tRt o Rt/ tR tRtV tR# )r
   i  Tc           
         \         P                  V \        P                  P                  \        P
                  P                  \        P                  \        4       R RR7       R# )FTr   r   N)r	   r   r.   r   bufferr   r   r=   ri   s   &r   r   CGIHandler.__init__  s?    #))""CJJ$5$5szzND 	  	
r   r   N	r   r   r   r   rU   rO   r   r   r   r   s   @r   r
   r
     s     " M J
 
r   c                   .   a  ] tR tRt o Rt/ tR tRtV tR# )r   i  Tc           
        \        4       pVP                  R R4      pVP                  RR4      pVR,           P                  VR,           4      '       d   V\        V4      R VR &   \        P                  V \        P                  P                  \        P                  P                  \        P                  VRRR7       R# )	PATH_INFOr)   SCRIPT_NAME/NFTr   )r=   r6   r$   rm   r	   r   r.   r   r   r   r   )rJ   r3   pathscripts   &   r   r   IISCGIHandler.__init__4  s    {{;+]B/H  ,,#'F#5GK #))""CJJ$5$5szzT 	  	
r   r   Nr   r   s   @r   r   r     s      MJ 	
 	
r   )r   r   r	   r
   r   r=   )MonTueWedThuFriSatSun)NJanFebMarAprMayJunJulAugSepOctNovDec>
   HTTPS	AUTH_TYPEr   REMOTE_USERr   CONTENT_TYPEQUERY_STRINGREMOTE_IDENTCONTENT_LENGTHREQUEST_METHOD)utilr   r   r   rp   r   r.   r2   r   __all__r   r   r   __contains__r#   r%   r=   r   r   r	   r
   r   r   r   r   <module>r     s    ; :    A8
 , 
C9xV" V"r
,(K ,(^] 0
 
<!
N !
r   