+
    i!              	       "   ^ RI Ht ^ RIt^ RIt^ RIt^RIHt RR ltR t	RRRR	/t
]
P                  ]! ^ ^ 4       U u/ uF-  p V R9  g   K  ]P                  V 4      R
P                  V 4      bK/  	  up 4       R tR t]t ! R R]4      tR# u up i )    )absolute_importN)sixc                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)filenamedefaults   &&a/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_vendor/urllib3/fields.pyguess_content_typer   
   s*     ##H-a0;;G;N    c                B  a \        S\        P                  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                  '       d   SP                  R4      o\        P                  P                  SR4      oV : R	S: 2o\        P                  '       d   SP                  R4      oS#   \        \        3 d     Li ; i)
a  
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``.
:ret:
    An RFC-2231-formatted unicode string.
utf-8c              3   ,   <"   T F	  qS9   x  K  	  R # 5iN ).0chvalues   & r
   	<genexpr>.format_header_param_rfc2231.<locals>.<genexpr>+   s     /YrU{Ys   z"\
TF=""asciiz*=)
isinstancer   binary_typedecodeanyencodeUnicodeEncodeErrorUnicodeDecodeErrorPY2emailutilsencode_rfc2231)namer   results   &f r
   format_header_param_rfc2231r'      s      %))W%3/Y/333/Y///#U+	MM'" M
wwwW% KK&&ug6Ee$E
wwwW%L! #$67 		s   >D
 
DDr   z%22\z\\z%{:02X}c           
         a V3R  lp\         P                  ! RP                  SP                  4        Uu. uF  p\         P                  ! V4      NK  	  up4      4      pVP                  W 4      pV# u upi )c                 4   < SV P                  ^ 4      ,          # )r   )group)matchneedles_and_replacementss   &r
   replacer#_replace_multiple.<locals>.replacerS   s    'A77r   |)recompilejoinkeysescapesub)r   r-   r.   needlepatternr&   s   &f    r
   _replace_multipler9   R   sc    8 jj		3K3P3P3RS3R299V$3RSTG [[)FM Ts   A2c                    \        V\        P                  4      '       d   VP                  R4      p\	        V\
        4      pV : RV: R2# )ay  
Helper function to format and quote a single header parameter using the
HTML5 strategy.

Particularly useful for header parameters which might contain
non-ASCII values, like file names. This follows the `HTML5 Working Draft
Section 4.10.22.7`_ and matches the behavior of curl and modern browsers.

.. _HTML5 Working Draft Section 4.10.22.7:
    https://w3c.github.io/html/sec-forms.html#multipart-form-data

: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``.
:ret:
    A unicode string, stripped of troublesome characters.
r   r   r   )r   r   r   r   r9   _HTML5_REPLACEMENTS)r%   r   s   &&r
   format_header_param_html5r<   _   s;    & %))W%e%89Eu%%r   c                   f   a  ] tR t^~t o RtRR]3R lt]]3R l4       tR t	R t
R tR
R ltR	tV 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.
:param header_formatter:
    An optional callable that is used to encode and format the headers. By
    default, this is :func:`format_header_param_html5`.
Nc                t    Wn         W0n        W n        / V n        V'       d   \	        V4      V n        WPn        R # r   )_name	_filenamedataheadersdictheader_formatter)selfr%   rB   r   rC   rE   s   &&&&&&r
   __init__RequestField.__init__   s.     
!	=DL 0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   rE   )content_type)r   tuplelenr   make_multipart)cls	fieldnamer   rE   r   rB   rJ   request_params   &&&&    r
   from_tuplesRequestField.from_tuples   sn    $ eU##5zQ/4,!&1(;HLDh
 	$$,$?r   c                $    V P                  W4      # )a  
Overridable helper function to format a single header parameter. By
default, this calls ``self.header_formatter``.

:param name:
    The name of the parameter, a string expected to be ASCII only.
:param value:
    The value of the parameter, provided as a unicode string.
)rE   )rF   r%   r   s   &&&r
   _render_partRequestField._render_part   s     $$T11r   c                    . pTp\        V\        4      '       d   VP                  4       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   rD   itemsappendrT   r3   )rF   header_partspartsiterabler%   r   s   &&    r
   _render_partsRequestField._render_parts   sc     lD))#))+H#KD T..t;< $ zz%  r   c                   . p. ROpV FP  pV P                   P                  VR4      '       g   K'  VP                  V: RV P                   V,          : 24       KR  	  V P                   P                  4        F/  w  rEWB9  g   K  V'       g   K  VP                  V: RV: 24       K1  	  VP                  R4       RP	                  V4      # )z-
Renders the headers for this request field.
Fz: z
)Content-DispositionContent-TypeContent-Location)rC   getrY   rX   r3   )rF   lines	sort_keyssort_keyheader_nameheader_values   &     r
   render_headersRequestField.render_headers   s     O	!H||%00(DLL4JKL " *.););)=%K+<LLk<!HI *>
 	W||E""r   c                "   T;'       g    RV P                   R&   V P                   R;;,          RP                  RV P                  RV P                  3RV P                  334      .4      ,          uu&   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_type:
    The 'Content-Type' of the request body.
:param content_location:
    The 'Content-Location' of the request body.

z	form-datar`   rW    r%   r   ra   rb   N)rC   r3   r]   r@   rA   )rF   content_dispositionrJ   content_locations   &&&&r
   rM   RequestField.make_multipart   s     /B.Q.Q\*+*+uzz""tzz*[$..,IJ0
 	
+ (4^$+;'(r   )rA   r@   rB   rE   rC   )NNN)__name__
__module____qualname____firstlineno____doc__r<   rG   classmethodrQ   rT   r]   ri   rM   __static_attributes____classdictcell__)__classdict__s   @r
   r>   r>   ~   sK     ( 21  <U ! !F2!,#&< <r   r>   )zapplication/octet-stream)   )
__future__r   email.utilsr"   r   r1   packagesr   r   r'   r;   updaterangeunichrformatr9   r<   format_header_paramobjectr>   )ccs   0r
   <module>r      s    &   	 'V v     h''BW 	.

2
))"--'
&8 0 T<6 T<is   	B%B