+
    iT	                    V   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^RIH	t	H
t
 ]P                  ! R4      ^,          t]P                  ]P                  ]]]	3,          ]
3,          ,          t]P                  ]]P$                  ]]	3,          3,          tR R ltR R	 ltRR
 R lltR# )    )annotationsN)BytesIO)_TYPE_FIELD_VALUE_TUPLERequestFieldzutf-8c                   V ^8  d   QhRR/# )   returnstr )formats   "V/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/urllib3/filepost.py__annotate__r      s     5 5 5    c                 r    \         P                  ! \        P                  ! ^4      4      P	                  4       # )zF
Our embarrassingly-simple replacement for mimetools.choose_boundary.
)binasciihexlifyosurandomdecoder   r   r   choose_boundaryr      s&     BJJrN+2244r   c                    V ^8  d   QhRRRR/# )r   fields_TYPE_FIELDSr	   ztyping.Iterable[RequestField]r   )r   s   "r   r   r      s     3 3| 30M 3r   c              #     "   \        V \        P                  4      '       d   V P                  4       pMT pV F5  p\        V\        4      '       d   Vx  K  \        P
                  ! V!  x  K7  	  R# 5i)zv
Iterate over fields.

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

N)
isinstancetypingMappingitemsr   from_tuples)r   iterablefields   &  r   iter_field_objectsr"      sU      &&..))<<>e\**K**E22	 s   A1A3c               $    V ^8  d   QhRRRRRR/# )r   r   r   boundaryz
str | Noner	   ztuple[bytes, str]r   )r   s   "r   r   r   3   s$     &) &)&)$.&)&)r   c                d   \        4       pVf   \        4       p\        V 4       F  pVP                  RV R2P	                  R4      4       \        V4      P                  VP                  4       4       VP                  p\        V\        4      '       d   \        V4      p\        V\        4      '       d   \        V4      P                  V4       MVP                  V4       VP                  R4       K  	  VP                  RV R2P	                  R4      4       RV 2pVP                  4       V3# )a  
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`).
    Values are processed by :func:`urllib3.fields.RequestField.from_tuples`.

:param boundary:
    If not specified, then a random boundary will be generated using
    :func:`urllib3.filepost.choose_boundary`.
z--z
zlatin-1s   
z--
zmultipart/form-data; boundary=)r   r   r"   writeencodewriterrender_headersdatar   intr
   getvalue)r   r$   bodyr!   r*   content_types   &&    r   encode_multipart_formdatar/   3   s     9D"$#F+

Rz&--i89t5//12zzdC  t9DdC  4Lt$JJt

7 ,  	JJH:V$++I673H:>L==?L((r   )N)
__future__r   r   codecsr   r   ior   r   r   r   lookupr(   SequenceUniontupler
   _TYPE_FIELDS_SEQUENCEr   r   r   r"   r/   r   r   r   <module>r8      s    "   	   9	w		"
LLs334lBC  ||
NN3//0253,&) &)r   