\h ddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ejdd Zd Zd Zd Zdd Zy))absolute_importN)BytesIO) RequestField)six)bzutf-8ctjtjd}tj s|j d}|S)zN Our embarrassingly-simple replacement for mimetools.choose_boundary. ascii)binasciihexlifyosurandomrPY2decode)boundarys _/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.pychoose_boundaryrs6 2/H 77??7+ Oc#Kt|trtj|}n t |}|D]+}t|t r|t j |-yw)z Iterate over fields. Supports list of (k, v) tuples and dicts, and lists of :class:`~urllib3.fields.RequestField`. N) isinstancedictr iteritemsiterr from_tuples)fieldsifields riter_field_objectsr sX&$ MM& ! L3 e\ *K**E2 2 3sA#A%clt|trdtj|DSd|DS)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. c3*K|] \}}||f ywN.0kvs r ziter_fields..:s941aA9c3*K|] \}}||f ywr#r$r%s rr)ziter_fields..<s &tq!QF &r*)rrrr)rs r iter_fieldsr,-s-&$93==#899 &v &&rcNt}| t}t|D]}|jt d|zt |j|j |j}t|tr t|}t|tjrt |j|n|j||jd|jt d|ztd|z}|j|fS)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`. z--%s s z--%s-- z multipart/form-data; boundary=%s)rrr writerwriterrender_headersdatarintstrr text_typegetvalue)rrbodyrr1 content_types rencode_multipart_formdatar8?s 9D"$#F+ 1Z8,-.t 5//12zz dC t9D dCMM * 4L  t $ JJt  7  JJq*+,9HDEL ==?L ((rr#) __future__rr codecsriorrrpackagesr packages.sixrlookupr/rr r,r8r$rrr?sF&   w  "3('$#)r