+
    iM*                        ^ RI Ht ^ RIt^ RIt^ RIt]P                  ]]3,          t	]P                  ]	]
]]	3,          ]
]]	]3,          3,          tRR R lltR R ltR R ltR	 R
 ltR R lt ! R R4      tR# )    )annotationsNc               $    V ^8  d   QhRRRRRR/# )   filename
str | Nonedefaultstrreturn )formats   "T/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/urllib3/fields.py__annotate__r      s$      #&    c                d    V '       d(   \         P                  ! V 4      ^ ,          ;'       g    T# V# )z
Guess the "Content-Type" of a file.

:param filename:
    The filename to guess the "Content-Type" of using :mod:`mimetypes`.
:param default:
    If no "Content-Type" can be guessed, default to `default`.
)	mimetypes
guess_type)r   r   s   &&r   guess_content_typer      s*     ##H-a0;;G;Nr   c               $    V ^8  d   QhRRRRRR/# r   namer	   value_TYPE_FIELD_VALUEr
   r   )r   s   "r   r   r      s"     - -c -2C - -r   c                  a ^ RI pVP                  R\        ^R7       \        S\        4      '       d   SP                  R4      o\        ;QJ d    V3R lR 4       F  '       g   K   RM	  RM! V3R lR 4       4      '       g   V  R	S R
2p VP                  R4       V# \        P                  P                  SR4      oV  RS 2oS#   \        \        3 d     L<i ; i)ax  
Helper function to format and quote a single header parameter using the
strategy defined in RFC 2231.

Particularly useful for header parameters which might contain
non-ASCII values, like file names. This follows
`RFC 2388 Section 4.4 <https://tools.ietf.org/html/rfc2388#section-4.4>`_.

:param name:
    The name of the parameter, a string expected to be ASCII only.
:param value:
    The value of the parameter, provided as ``bytes`` or `str``.
:returns:
    An RFC-2231-formatted unicode string.

.. deprecated:: 2.0.0
    Will be removed in urllib3 v2.1.0. This is not valid for
    ``multipart/form-data`` header parameters.
Nz'format_header_param_rfc2231' is deprecated and will be removed in urllib3 v2.1.0. This is not valid for multipart/form-data header parameters.
stacklevelutf-8c              3  ,   <"   T F	  qS9   x  K  	  R # 5iNr   ).0chr   s   & r   	<genexpr>.format_header_param_rfc2231.<locals>.<genexpr>@   s     /YrU{Ys   z"\
TF=""asciiz*=)warningswarnDeprecationWarning
isinstancebytesdecodeanyencodeUnicodeEncodeErrorUnicodeDecodeErroremailutilsencode_rfc2231)r   r   r&   results   &f  r   format_header_param_rfc2231r4      s    ( MM	1 	   %W%3/Y/333/Y///6E7!$	MM'" MKK&&ug6EfBugEL #$67 		s   C
 
CCc               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   O   s"     # # #4E ## #r   c                    \        V\        4      '       d   VP                  R4      pVP                  ^
R^R^"R/4      pV  RV R2# )a  
Format and quote a single multipart header parameter.

This follows the `WHATWG HTML Standard`_ as of 2021/06/10, matching
the behavior of current browser and curl versions. Values are
assumed to be UTF-8. The ``\n``, ``\r``, and ``"`` characters are
percent encoded.

.. _WHATWG HTML Standard:
    https://html.spec.whatwg.org/multipage/
    form-control-infrastructure.html#multipart-form-data

:param name:
    The name of the parameter, an ASCII-only ``str``.
:param value:
    The value of the parameter, a ``str`` or UTF-8 encoded
    ``bytes``.
:returns:
    A string ``name="value"`` with the escaped value.

.. versionchanged:: 2.0.0
    Matches the WHATWG HTML Standard as of 2021/06/10. Control
    characters are no longer percent encoded.

.. versionchanged:: 2.0.0
    Renamed from ``format_header_param_html5`` and
    ``format_header_param``. The old names will be removed in
    urllib3 v2.1.0.
r   z%0Az%0Dz%22r#   r$   )r)   r*   r+   	translate)r   r   s   &&r   format_multipart_header_paramr8   O   sO    < %W% OORE2u=>EV2eWAr   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   u   s"     6 6C 60A 6c 6r   c                P    ^ RI pVP                  R\        ^R7       \        W4      # )t
.. deprecated:: 2.0.0
    Renamed to :func:`format_multipart_header_param`. Will be
    removed in urllib3 v2.1.0.
Nz'format_header_param_html5' has been renamed to 'format_multipart_header_param'. The old name will be removed in urllib3 v2.1.0.r   r&   r'   r(   r8   r   r   r&   s   && r   format_header_param_html5r>   u   2     MM	% 	   )55r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r      s"     6 6c 6*; 6 6r   c                P    ^ RI pVP                  R\        ^R7       \        W4      # )r;   Nzz'format_header_param' has been renamed to 'format_multipart_header_param'. The old name will be removed in urllib3 v2.1.0.r   r<   r=   s   && r   format_header_paramrB      r?   r   c                  x    ] tR t^tRtRR R llt]RR R ll4       tR R ltR	 R
 lt	R R lt
RR R lltRtR# )RequestFielda  
A data container for request body parameters.

:param name:
    The name of this request field. Must be unicode.
:param data:
    The data/value body.
:param filename:
    An optional filename of the request field. Must be unicode.
:param headers:
    An optional dict-like object of headers to initially use for the field.

.. versionchanged:: 2.0.0
    The ``header_formatter`` parameter is deprecated and will
    be removed in urllib3 v2.1.0.
Nc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r   r	   datar   r   r   headersztyping.Mapping[str, str] | Noneheader_formatter5typing.Callable[[str, _TYPE_FIELD_VALUE], str] | Noner   )r   s   "r   r   RequestField.__annotate__   sD     B BB  B 	B
 1B PBr   c                	    Wn         W0n        W n        / V n        V'       d   \	        V4      V n        Ve%   ^ R IpVP                  R\        ^R7       WPn        R # \        V n        R # )NzUThe 'header_formatter' parameter is deprecated and will be removed in urllib3 v2.1.0.r   )
_name	_filenamerF   rG   dictr&   r'   r(   rH   r8   )selfr   rF   r   rG   rH   r&   s   &&&&&& r   __init__RequestField.__init__   s]     
!	.0=DL'MM5"	   %5!$AD!r   c               (    V ^8  d   QhRRRRRRRR/# )	r   	fieldnamer	   r   _TYPE_FIELD_VALUE_TUPLErH   rI   r
   rD   r   )r   s   "r   r   rJ      s3     * ** '* P	*
 
*r   c                    \        V\        4      '       d'   \        V4      ^8X  d   Vw  rEpMVw  rE\        V4      pMRpRpTpV ! WWCR7      pVP	                  VR7       V# )aS  
A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters.

Supports constructing :class:`~urllib3.fields.RequestField` from
parameter of key/value strings AND key/filetuple. A filetuple is a
(filename, data, MIME type) tuple where the MIME type is optional.
For example::

    'foo': 'bar',
    'fakefile': ('foofile.txt', 'contents of foofile'),
    'realfile': ('barfile.txt', open('realfile').read()),
    'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'),
    'nonamefile': 'contents of nonamefile field',

Field names and filenames must be unicode.
N)r   rH   )content_type)r)   tuplelenr   make_multipart)clsrS   r   rH   r   rF   rV   request_params   &&&&    r   from_tuplesRequestField.from_tuples   sn    6 eU##5zQ/4,!&1(;HLDh
 	$$,$?r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   rJ      s"     2 2 2-> 23 2r   c                $    V P                  W4      # )a;  
Override this method to change how each multipart header
parameter is formatted. By default, this calls
:func:`format_multipart_header_param`.

:param name:
    The name of the parameter, an ASCII-only ``str``.
:param value:
    The value of the parameter, a ``str`` or UTF-8 encoded
    ``bytes``.

:meta public:
)rH   )rO   r   r   s   &&&r   _render_partRequestField._render_part   s     $$T11r   c                    V ^8  d   QhRRRR/# )r   header_partsz[dict[str, _TYPE_FIELD_VALUE | None] | typing.Sequence[tuple[str, _TYPE_FIELD_VALUE | None]]r
   r	   r   )r   s   "r   r   rJ     s!        D  
 r   c                    . p\        V\        4      '       d   VP                  4       pMTpV F+  w  rEVf   K  VP                  V P	                  WE4      4       K-  	  RP                  V4      # )a  
Helper function to format and quote a single header.

Useful for single headers that are composed of multiple items. E.g.,
'Content-Disposition' fields.

:param header_parts:
    A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format
    as `k1="v1"; k2="v2"; ...`.
; )r)   rN   itemsappendr`   join)rO   rc   partsiterabler   r   s   &&    r   _render_partsRequestField._render_parts  sc    & lD))#))+H#H#KD T..t;< $ yyr   c                   V ^8  d   QhRR/# )r   r
   r	   r   )r   s   "r   r   rJ   #  s     " " "r   c                   . p. ROpV FN  pV P                   P                  VR4      '       g   K'  VP                  V RV P                   V,           24       KP  	  V P                   P                  4        F-  w  rEWB9  g   K  V'       g   K  VP                  V RV 24       K/  	  VP                  R4       RP	                  V4      # )z-
Renders the headers for this request field.
Fz: z
)Content-DispositionContent-TypeContent-Location)rG   getrg   rf   rh   )rO   lines	sort_keyssort_keyheader_nameheader_values   &     r   render_headersRequestField.render_headers#  s     O	!H||%00zDLL,B+CDE " *.););)=%K+<LLK=<.!AB *>
 	V{{5!!r   c               (    V ^8  d   QhRRRRRRRR/# )r   content_dispositionr   rV   content_locationr
   Noner   )r   s   "r   r   rJ   6  s2     < <'< !< %	<
 
<r   c           	         T;'       g    RRP                  RV P                  RV P                  3RV P                  334      .4      ,           pWP                  R&   W P                  R&   W0P                  R&   R	# )
a  
Makes this request field into a multipart request field.

This method overrides "Content-Disposition", "Content-Type" and
"Content-Location" headers to the request parameter.

:param content_disposition:
    The 'Content-Disposition' of the request body. Defaults to 'form-data'
:param content_type:
    The 'Content-Type' of the request body.
:param content_location:
    The 'Content-Location' of the request body.

z	form-datare    r   r   ro   rp   rq   N)rh   rk   rL   rM   rG   )rO   r{   rV   r|   s   &&&&r   rY   RequestField.make_multipart6  s|    (  3AAkTYY""djj)J+GHF
 
 /B*+'3^$+;'(r   )rM   rL   rF   rH   rG   )NNNr   )__name__
__module____qualname____firstlineno____doc__rP   classmethodr\   r`   rk   rx   rY   __static_attributes__r   r   r   rD   rD      s;    "B8 * *X2  >"&< <r   rD   )zapplication/octet-stream)
__future__r   email.utilsr0   r   typingUnionr	   r*   r   rW   rT   r   r4   r8   r>   rB   rD   r   r   r   <module>r      s    "   LLe,  ,,	# 
 !	# #
%&(  -`#L6$6$|< |<r   