<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   s   d  d l  Z  d d d d d d g Z Gd d   d  Z d	 d   Z d
 d   Z d d d  Z d d   Z d d   Z d d d d d d d d d d d d d d d d i j Z	 d d   Z
 d S)    NFileWrapperguess_schemeapplication_urirequest_urishift_path_infosetup_testing_defaultsc               @   sC   e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d
 S)r   i    c             C   s1   | |  _  | |  _ t | d  r- | j |  _ d  S)Nclose)filelikeblksizehasattrr   )selfr	   r
    r   )/opt/alt/python35/lib64/python3.5/util.py__init__   s    		zFileWrapper.__init__c             C   s)   |  j  j |  j  } | r | St  d  S)N)r	   readr
   
IndexError)r   keydatar   r   r   __getitem__   s    zFileWrapper.__getitem__c             C   s   |  S)Nr   )r   r   r   r   __iter__   s    zFileWrapper.__iter__c             C   s)   |  j  j |  j  } | r | St  d  S)N)r	   r   r
   StopIteration)r   r   r   r   r   __next__   s    zFileWrapper.__next__N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   c             C   s!   |  j  d  d k r d Sd Sd  S)NZHTTPSyeson1httpshttp)r   r   r   )get)environr   r   r   r   #   s    c             C   s   |  d d } d d l  m } |  j d  r> | |  d 7} ne | |  d 7} |  d d k r |  d d	 k r | d
 |  d 7} n" |  d d k r | d
 |  d 7} | | |  j d  p d d d 7} | S)Nzwsgi.url_schemez://r   )quote	HTTP_HOSTSERVER_NAMEr   SERVER_PORT443:80SCRIPT_NAME/encodinglatin1)urllib.parser"   r    )r!   urlr"   r   r   r   r   +   s    %Tc             C   s   t  |   } d d l m } | |  j d d  d d d d } |  j d	  sf | | d
 d   7} n
 | | 7} | r |  j d  r | d |  d 7} | S)Nr   )r"   	PATH_INFO Zsafez/;=,r+   r,   r)      ZQUERY_STRING?)r   r-   r"   r    )r!   Zinclude_queryr.   r"   	path_infor   r   r   r   ?   s    $
c             C   s   |  j  d d  } | s d  S| j d  } d d   | d d	  D | d d
  <| d } | d =|  j  d d  } t j | d |  } | j d  r | d  d  } | r | j d  r | d 7} | |  d <d j |  |  d <| d k r d  } | S)Nr/   r0   r*   c             S   s(   g  |  ] } | r | d  k r |  q S).r   ).0pr   r   r   
<listcomp>^   s   	 z#shift_path_info.<locals>.<listcomp>r1   r)   r4   r8   r8   )r    split	posixpathnormpathendswithjoin)r!   r3   
path_partsnameZscript_namer   r   r   r   L   s$    '


c             C   sU  |  j  d d  |  j  d d  |  j  d |  d  |  j  d d  d |  k r| d	 |  k r| |  j  d d
  |  j  d	 d  |  j  d d  |  j  d d  |  j  d d  |  j  d d  d d l m } m } |  j  d |    |  j  d |    |  j  d t |    |  d d k r1|  j  d d  n  |  d d k rQ|  j  d d  d  S)Nr$   z	127.0.0.1ZSERVER_PROTOCOLzHTTP/1.0r#   ZREQUEST_METHODGETr)   r/   r0   r*   zwsgi.versionr1   r   zwsgi.run_oncezwsgi.multithreadzwsgi.multiprocess)StringIOBytesIOz
wsgi.inputzwsgi.errorszwsgi.url_schemer   r%   r(   r   r&   )r1   r   )
setdefaultiorA   rB   r   )r!   rA   rB   r   r   r   r   u   s&    
connectionr1   z
keep-alivezproxy-authenticatezproxy-authorizationteZtrailersztransfer-encodingZupgradec             C   s   t  |  j    S)N)_hoppishlower)Zheader_namer   r   r   is_hop_by_hop   s    rI   )r:   __all__r   r   r   r   r   r   __contains__rG   rI   r   r   r   r   <module>   s   ))