<!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>
3
Ii                 @   s8   d dl Z e jdZe jdZd	ddZG dd dZdS )
    Nz[ \(\)<>@,;:\\"/\[\]\?=]z[\x00-\x1F\x7F]   c             C   sX   |d k	rPt |dkrP|s"tj|rB|jddjdd}d| |f S d| |f S n| S d S )Nr   \z\\"z\"z%s="%s"z%s=%s)len	tspecialssearchreplace)ZparamvalueZquote r
   '/usr/lib64/python3.6/wsgiref/headers.py_formatparam   s    r   c               @   s   e Zd Zd$ddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
d%ddZdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# ZdS )&HeadersNc             C   s.   |d k	r|ng }t |tk	r$td|| _d S )Nz+Headers must be a list of name/value tuples)typelist	TypeError_headers)selfZheadersr
   r
   r   __init__    s
    zHeaders.__init__c             C   s8   t |tkr"tj|rtd|S tdjt|d S )Nz)Control characters not allowed in headersz1Header names/values must be of type str (got {0}))r   str_control_chars_rer   
ValueErrorAssertionErrorformatrepr)r   r	   r
   r
   r   _convert_string_type*   s    
zHeaders._convert_string_typec             C   s
   t | jS )N)r   r   )r   r
   r
   r   __len__3   s    zHeaders.__len__c             C   s&   | |= | j j| j|| j|f d S )N)r   appendr   )r   namevalr
   r
   r   __setitem__7   s    zHeaders.__setitem__c                s0   | j  j   fdd| jD | jd d < d S )Nc                s    g | ]}|d  j   kr|qS )r   )lower).0kv)r   r
   r   
<listcomp>C   s    z'Headers.__delitem__.<locals>.<listcomp>)r   r    r   )r   r   r
   )r   r   __delitem__=   s    zHeaders.__delitem__c             C   s
   | j |S )N)get)r   r   r
   r
   r   __getitem__E   s    	zHeaders.__getitem__c             C   s   | j |d k	S )N)r%   )r   r   r
   r
   r   __contains__P   s    zHeaders.__contains__c                s"   | j  j   fdd| jD S )Nc                s$   g | ]}|d  j   kr|d qS )r   r   )r    )r!   r"   )r   r
   r   r#   ^   s    z#Headers.get_all.<locals>.<listcomp>)r   r    r   )r   r   r
   )r   r   get_allU   s    zHeaders.get_allc             C   s6   | j |j }x"| jD ]\}}|j |kr|S qW |S )N)r   r    r   )r   r   defaultkvr
   r
   r   r%   a   s
    zHeaders.getc             C   s   dd | j D S )Nc             S   s   g | ]\}}|qS r
   r
   )r!   r*   r+   r
   r
   r   r#   r   s    z Headers.keys.<locals>.<listcomp>)r   )r   r
   r
   r   keysj   s    zHeaders.keysc             C   s   dd | j D S )Nc             S   s   g | ]\}}|qS r
   r
   )r!   r*   r+   r
   r
   r   r#   |   s    z"Headers.values.<locals>.<listcomp>)r   )r   r
   r
   r   valuest   s    zHeaders.valuesc             C   s   | j d d  S )N)r   )r   r
   r
   r   items~   s    zHeaders.itemsc             C   s   d| j j| jf S )Nz%s(%r))	__class____name__r   )r   r
   r
   r   __repr__   s    zHeaders.__repr__c             C   s   dj dd | jD ddg S )Nz
c             S   s   g | ]}d | qS )z%s: %sr
   )r!   r"   r
   r
   r   r#      s    z#Headers.__str__.<locals>.<listcomp> )joinr   )r   r
   r
   r   __str__   s    zHeaders.__str__c             C   s   t | jdS )Nz
iso-8859-1)r   encode)r   r
   r
   r   	__bytes__   s    zHeaders.__bytes__c             C   s:   | j |}|d kr2| jj| j|| j|f |S |S d S )N)r%   r   r   r   )r   r   r	   resultr
   r
   r   
setdefault   s    
zHeaders.setdefaultc             K   s   g }|d k	r | j |}|j| x\|j D ]P\}}| j |}|d krX|j|jdd q*| j |}|jt|jdd| q*W | jj| j |dj|f d S )N_-z; )r   r   r.   r   r   r   r3   )r   _nameZ_valueZ_paramspartsr*   r+   r
   r
   r   
add_header   s    



zHeaders.add_header)N)N)r0   
__module____qualname__r   r   r   r   r$   r&   r'   r(   r%   r,   r-   r.   r1   r4   r6   r8   r=   r
   r
   r
   r   r      s"   

	
	


r   )Nr   )recompiler   r   r   r   r
   r
   r
   r   <module>
   s   


