
    i,              
          S SK JrJrJrJrJrJrJrJr  S SK	J
r
JrJrJrJr  \S\\\\   4   \\\\   4   \\\\4      \\\\4      \\\\4      4   rSS\\\4   S\S\4S jjrSS	1rS
\\\\\   4      S\\\\\   4      4S jr SS\\\4   S\S\\   S\4S jjr SS\\\\S4   S\\   S\\S4   4S jjr " S S\\\\   4   5      rg)    )	ItemsViewIterableIteratorKeysViewMappingMutableMappingSequence
ValuesView)AnyAnyStrOptionalUnioncastHeadersvalueencodingreturnc                 R    [        U [        5      (       a  U $ U R                  U5      $ N)
isinstancestrdecoder   r   s     G/app/mltbenv/lib/python3.13/site-packages/curl_cffi/requests/headers.pyto_strr      s"    uc**5FX0FF    authorizationzproxy-authorizationitemsc              #      #    U  HD  u  p[        UR                  5       5      [        ;   a  [        U[        5      (       a  SOSnX4v   MF     g 7f)Ns   [secure]z[secure])r   lowerSENSITIVE_HEADERSr   bytes)r   kvs      r   obfuscate_sensitive_headersr%   #   sA      !'') 11)!U33Ad
 s   AANr    c                     [        U [        5      (       a  U OU R                  U=(       d    S5      nU(       a  UR                  5       $ U$ )z=
Coerce str/bytes into a strictly byte-wise HTTP header key.
ascii)r   r"   encoder    )r   r    r   bytes_values       r   normalize_header_keyr*   ,   s@     E5))u||H<O/P  #(;8[8r   c                     U c  g[        U [        5      (       a  U $ [        U [        5      (       a  [        U 5      R	                  5       $ [        [        U 5      R	                  U=(       d    S5      $ )z?
Coerce str/bytes into a strictly byte-wise HTTP header value.
Nzlatin-1)r   r"   intr   r(   r   r   s     r   normalize_header_valuer-   ;   s]     }% %5z  ""U""8#8y99r   c            	       "   \ rS rSrSr S!S\\   S\\   4S jjr\	S\4S j5       r
\
R                  S	\SS4S
 j5       r
\	S\\\\\   4      4S j5       rS\\   4S jrS\\\      4S jrS\\\\   4   4S jrS\\\\\   4      4S jrS"S\S\S\4S jjrS#S\S\S\\\      4S jjrS"S\\   SS4S jjrS$S jrS\S\\   4S jrS\S	\\   SS4S jrS\SS4S jrS\S\4S jr S\!\   4S jr"S\#4S jr$S\S\4S jr%S\4S jr&S r'g)%r   O   z1
HTTP headers, as a case-insensitive multi-dict.
Nheadersr   c                 V   U   [        U[        5      (       a1  [        UR                  5      U l        U=(       d    UR                  nGOOU(       d	  / U l        GO?[        U[
        5      (       aI  UR                  5        VVs/ s H%  u  p4[        USUS9[        USUS9[        XB5      4PM'     snnU l        O[        U[        5      (       a  [        US   [        [        45      (       aZ  [        US   [        5      (       a  SOSn/ nU H5  nUR                  USS9u  p4UR                  X4R                  5       45        M7     O[        US   [        5      (       a  UnW VVs/ s H%  u  p4[        USUS9[        USUS9[        XB5      4PM'     snnU l        X l        g s  snnf s  snnf )	NF)r    r   Tr   :   :   )maxsplit)r   r   list_listr   r   r   r*   r-   r   r"   splitappendstriptuple	_encoding)selfr0   r   r#   r$   sephlines           r   __init__Headers.__init__T   s~    	gw''gmm,DJ37#3#3HDJ)) $MMO ,DA	 )%(K($J*17
 ,DJ &&'!*sEl33'
C88cd#D::cA:6DAHHa^, $ GAJ..  DA	 )%(K($J*17
 DJ "9&s   ,F#,F%r   c                    U R                   c`  S HS  nU R                   H/  u  p# UR                  U5        Ub  UR                  U5        M-  U  M1     Xl           U R                   $    SU l         U R                   $ ! [         a       Mx  f = f)zV
Header encoding is mandated as ascii, but we allow fallbacks to utf-8
or iso-8859-1.
)r'   utf-8z
iso-8859-1)r<   rawr   UnicodeDecodeError)r=   r   keyr   s       r   r   Headers.encoding}   s     >>!."&((JC

8,272CX. #+ &.N
 ~~! / ".~~ . s   %A:A::
B	B	r   c                     Xl         g r   )r<   )r=   r   s     r   r   rH      s    r   c                 Z    U R                    VVVs/ s H	  u  po1U4PM     snnn$ s  snnnf )z8
Returns a list of the raw header items, as byte pairs.
)r7   )r=   raw_key_r   s       r   rE   Headers.raw   s(    
 ;?**E*%6W% *EEEs   &c                     U R                    VVs0 s H!  u  poR                  U R                  5      S _M#     snnR                  5       $ s  snnf r   )r7   r   r   keys)r=   rL   rG   s      r   rO   Headers.keys   s;    AELIAA

4==)4/LQQSSLs   (A
c                     0 nU R                    H[  u  p#nUR                  U R                  5      nUb  UR                  U R                  5      OSnXQ;   a  X==   SU 3-  ss'   MW  XaU'   M]     UR                  5       $ )NNone, )r7   r   r   valuesr=   values_dictrL   rG   r   str_key	str_values          r   rT   Headers.values   sx    &(!ZZMAEjj/G7<7HT]]3fI%$"YK(88$'0G$ ( !!##r   c                     0 nU R                    H[  u  p#nUR                  U R                  5      nUb  UR                  U R                  5      OSnXQ;   a  X==   SU 3-  ss'   MW  XaU'   M]     UR                  5       $ )z
Return `(key, value)` items of headers. Concatenate headers
into a single comma separated value when a key occurs multiple times.
rR   rS   )r7   r   r   r   rU   s          r   r   Headers.items   sz    
 ')!ZZMAEjj/G7<7HT]]3fI%$"YK(88$'0G$ (   ""r   c           	          U R                    VVVs/ s HA  u  pnUR                  U R                  5      Ub  UR                  U R                  5      OU4PMC     snnn$ s  snnnf )z
Return a list of `(key, value)` pairs of headers. Allow multiple
occurrences of the same key without concatenating into a single
comma separated value.
)r7   r   r   )r=   rG   rL   r   s       r   multi_itemsHeaders.multi_items   s^     "&

 ", 

4==)/4/@T]]+e ",
 	
 
s   AArG   defaultc                 0     X   $ ! [          a    Us $ f = f)zp
Return a header value. If multiple occurrences of the header occur
then concatenate them together with commas.
)KeyError)r=   rG   r_   s      r   getHeaders.get   s#    
	9 	N	s    split_commasc                    UR                  5       R                  U R                  5      nU R                   VVVs/ s H<  u  pEnUR                  5       U:X  d  M  Ub  UR	                  U R                  5      OUPM>     nnnnU(       d  U$ / nU HA  n	UR                  U	R                  S5       V
s/ s H  oR                  5       PM     sn
5        MC     U$ s  snnnf s  sn
f )z
Return a list of all header values for a given key.
If `split_commas=True` is passed, then any comma separated header
values are split into multiple return strings.
,)r    r(   r   r7   r   extendr8   r:   )r=   rG   rd   get_header_keyrL   item_key
item_valuerT   split_valuesr   items              r   get_listHeaders.get_list   s     ++DMM: ,0::
+5'Z~~>1 W
0FJdmm,JV+5 	 
 ME%++c:J K:J$:J KL 
 !Ls   C$C/C
c                     [        U5      nU H  nX ;   d  M
  U R                  U5        M     U R                  R                  UR                  5        g r   )r   popr7   rg   )r=   r0   rG   s      r   updateHeaders.update   s>    '"C{  	

'--(r   c                 (    [        X R                  S9$ )N)r   )r   r   r=   s    r   copyHeaders.copy   s    tmm44r   c                    UR                  5       R                  U R                  5      nU R                   VVVs/ s H-  u  p4nXB:X  d  M  Ub  UR	                  U R                  5      OUPM/     nnnnUS/:X  a  gU(       a+  SR                  U Vs/ s H  n[        U5      PM     sn5      $ [        U5      es  snnnf s  snf )z
Return a single header value.
If there are multiple headers with the same key, then we concatenate
them with commas. See: https://tools.ietf.org/html/rfc7230#section-3.2.2
NrS   )r    r(   r   r7   r   joinr   ra   )r=   rG   normalized_keyrL   
header_keyheader_valuer   rl   s           r   __getitem__Headers.__getitem__   s     ++DMM: 04zz	
 0:+|+	' . 0:	 	 
 TF?99E:EDc$iE:;;sm
 ;s   B7
$B7B>c                    UR                  U R                  =(       d    S5      nUb$  UR                  U R                  =(       d    S5      OUnUR                  5       n[        U R                  5       VVVs/ s H  u  nu  pxnX:X  d  M  UPM     n	nnn[        U	SS 5       H  nU R                  U	 M     U	(       a  U	S   nX5U4U R                  U'   gU R                  R                  X5U45        gs  snnnf )z[
Set the header `key` to `value`, removing any duplicate entries.
Retains insertion order.
rD   Nr4   r   )r(   r<   r    	enumerater7   reversedr9   )
r=   rG   r   set_key	set_value
lookup_keyidxrL   ri   found_indexess
             r   __setitem__Headers.__setitem__  s    
 **T^^6w77<7HELL273e 	 ]]_
 *34::)>
)>%%a1% )> 	 
 M!"-.C

3 / "C&I>DJJsOJJwI>?
s   7C2
C2c                 P   UR                  5       R                  U R                  5      n[        U R                  5       VVVs/ s H!  u  nu  pEnUR                  5       U:X  d  M  UPM#     nnnnU(       d  [        U5      e[        U5       H  nU R                  U	 M     gs  snnnf )z
Remove the header `key`.
N)r    r(   r   r   r7   ra   r   )r=   rG   del_keyr   rL   ri   pop_indexess          r   __delitem__Headers.__delitem__(  s     ))+$$T]]3 *34::)>
)>%%a1~~7* )> 	 
 3-K(C

3 )
s   B!%B!c                     UR                  5       R                  U R                  5      nX R                   VVs/ s H  u  p1o1PM	     snn;   $ s  snnf r   )r    r(   r   r7   )r=   rG   rz   rL   s       r   __contains__Headers.__contains__:  s?    YY[''6
::>:iaac:>>>>s   Ac                 4    [        U R                  5       5      $ r   )iterrO   rt   s    r   __iter__Headers.__iter__>  s    DIIK  r   c                 ,    [        U R                  5      $ r   )lenr7   rt   s    r   __len__Headers.__len__A  s    4::r   otherc                     [        U5      nU R                   VVVs/ s H	  u  p4oTU4PM     nnnnUR                   VVVs/ s H	  u  p4oTU4PM     nnnn[        U5      [        U5      :H  $ ! [         a     gf = fs  snnnf s  snnnf )NF)r   
ValueErrorr7   sorted)r=   r   other_headersrL   rG   r   	self_list
other_lists           r   __eq__Headers.__eq__D  s    	#ENM 8<zzBzmae5\z	B8E8K8KL8K}quEl8K
Li F:$666  		 CLs   A, A<B,
A98A9c                 4   U R                   R                  nSnU R                  S:w  a  SU R                  < 3n[        [	        U R                  5       5      5      n[        U5      n[        U5      [        U5      :H  nU(       a  U SU< U S3$ U SU< U S3$ )N r'   z, encoding=())	__class____name__r   r6   r%   r]   dictr   )r=   
class_nameencoding_stras_listas_dictno_duplicate_keyss         r   __repr__Headers.__repr__N  s    ^^,,
==G#((9:L243C3C3EFGw-LCL8 \7+l^1==Qwk,q99r   )r<   r7   )NNr   )F)r   r   )(r   
__module____qualname____firstlineno____doc__r   HeaderTypesr   rA   propertyr   setterr6   r;   r"   rE   r   rO   r
   rT   r   r   r]   r   rb   boolrm   rq   ru   r|   r   r   r   r   r   r,   r   r   r   __static_attributes__ r   r   r   r   O   s   
 PT'",'"?G}'"R #  0 __c d   FT%x 678 F FThsm T	$
8C=1 	$#yhsm!34 #
T%Xc](:";< 
s S C C t Xc]@S ,)h{3 )t )5s x} 0@s @8C= @T @4 s  t  $? ? ?!(3- ! 7C 7D 7:# :r   )rD   r   )collections.abcr   r   r   r   r   r   r	   r
   typingr   r   r   r   r   r   r"   r;   r   r   r!   r%   r   r*   r,   r-   r   r   r   r   <module>r      s  	 	 	 6 5C#E8E?"#U38_U5%< !U3:!G%U
# Gs G G %&;< E&(6"2234eFHV,,-. #9e99 sm9 	9  DH:eS$&':3;C=:
5$;:(L:nS(3-/0 L:r   