£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Re	                 @   s   d  d l  m 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 e j d  d	 Z d
 d   Z d d   Z d d   Z d d d  Z d S)    )absolute_importN)BytesIO   )six)b)RequestFieldzutf-8   c              C   s4   t  j t j d   }  t j s0 |  j d  }  |  S)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
       ascii)binasciihexlifyosurandomr   PY2decode)boundary r   /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/urllib3/filepost.pychoose_boundary   s    	r   c             c   sg   t  |  t  r! t j |   } n t |   } x3 | D]+ } t  | t  rQ | Vq4 t j |   Vq4 Wd S)z
    Iterate over fields.

    Supports list of (k, v) tuples and dicts, and lists of
    :class:`~urllib3.fields.RequestField`.

    N)
isinstancedictr   	iteritemsiterr   from_tuples)fieldsifieldr   r   r   iter_field_objects   s    r   c             C   s:   t  |  t  r) d d   t j |   D Sd d   |  D S)a-  
    .. deprecated:: 1.6

    Iterate over fields.

    The addition of :class:`~urllib3.fields.RequestField` makes this function
    obsolete. Instead, use :func:`iter_field_objects`, which returns
    :class:`~urllib3.fields.RequestField` objects.

    Supports list of (k, v) tuples and dicts.
    c             s   s!   |  ] \ } } | | f Vq d  S)Nr   ).0kvr   r   r   	<genexpr>:   s    ziter_fields.<locals>.<genexpr>c             s   s!   |  ] \ } } | | f Vq d  S)Nr   )r   r   r    r   r   r   r!   <   s    )r   r   r   r   )r   r   r   r   iter_fields-   s    r"   c             C   s  t    } | d k r t   } x t |   D] } | j t d |   t |  j | j    | j } t | t	  r t
 |  } t | t j  r t |  j |  n | j |  | j d  q+ W| j t d |   t
 d |  } | j   | f S)aQ  
    Encode a dictionary of ``fields`` using the multipart/form-data MIME format.

    :param fields:
        Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).

    :param boundary:
        If not specified, then a random boundary will be generated using
        :func:`urllib3.filepost.choose_boundary`.
    Nz--%s
s   
z--%s--
z multipart/form-data; boundary=%s)r   r   r   writer   writerrender_headersdatar   intstrr   	text_typegetvalue)r   r   bodyr   r&   content_typer   r   r   encode_multipart_formdata?   s     			r-   )
__future__r   r   codecsr   ior   packagesr   Zpackages.sixr   r   r   lookupr$   r   r   r"   r-   r   r   r   r   <module>   s   
