
    (ph                        S SK Jr  S SKrS SKJrJrJrJrJr  S SK	r	S SK
Jr  S SKJr  \(       a  S SKJr   " S S5      rg)	    )annotationsN)IOTYPE_CHECKINGAnyMappingcast)CaseInsensitiveDict)HTTPResponse)PreparedRequestc                      \ rS rSrSr S
       SS jjrSS jr S
       SS jjr S
       SS jjr S
       SS jjr	S	r
g)
Serializer   4Nc           
        [        UR                  5      nUc:  UR                  SS9n[        R                  " U5      Ul        [        U5      Ul        SUUR                  R                  5        VVs0 s H  u  pV[        U5      [        U5      _M     snnUR                  UR                  [        UR                  5      UR                  S.0n0 US'   SU;   ag  US   R                  S5      nU HM  n	[        U	5      R                  5       n	UR                  R!                  U	S 5      n
U
b  [        U
5      n
XS   U	'   MO     SR#                  SU R$                   3R'                  5       U R)                  U5      /5      $ s  snnf )	NF)decode_contentresponse)bodyheadersstatusversionreasonr   vary,   ,cc=)r	   r   readioBytesIO_fplenlength_remainingitemsstrr   r   r   r   splitstripgetjoinserde_versionencode	serialize)selfrequestr   r   response_headerskvdatavaried_headersheaderheader_values              I/var/www/html/venv/lib/python3.13/site-packages/cachecontrol/serialize.pydumpsSerializer.dumps   sk    6I6
 < ===6D::d+HL(+D	H% 7?7G7G7M7M7OP7OtqCFCFN7OP"//#++hoo."*"9"9	
 V%%-f5;;C@N(V**,&2264@+#&|#4L'3VV$ ) yyC 2 234;;=t~~d?STUU' Qs   2!E>
c                H    [        [        [        R                  " USS95      $ )NT)use_bin_type)r   bytesmsgpackr5   )r+   r0   s     r4   r*   Serializer.serialize>   s    E7==DABB    c                    U(       d  g UR                  SU R                   S3R                  5       5      (       d  g USS  nU R                  XU5      $ )Nr   r      )
startswithr(   r)   	_loads_v4)r+   r,   r0   	body_files       r4   loadsSerializer.loadsA   sS      T%7%7$8:AACDDABx~~gY77r<   c                Z   SUR                  S0 5      ;   a  gUR                  S0 5      R                  5        H'  u  pEUR                  R                  US5      U:w  d  M'    g   US   R                  S5      n[	        US   S   S9nUR                  SS	5      S
:X  a  UR                  S5        XrS   S'    Uc  [
        R                  " U5      nOUn US   R                  SS5        [        SUSS.US   D6$ ! [         a(    [
        R                  " UR                  S5      5      n NWf = f)zPVerify our vary headers match and construct a real urllib3
HTTPResponse object.
*r   Nr   r   r   )r0   ztransfer-encoding chunkedutf8strictF)r   preload_content )
r&   r"   r   popr	   r   r   	TypeErrorr)   r
   )	r+   r,   cachedrA   r2   valuebody_rawr   r   s	            r4   prepare_responseSerializer.prepare_responseS   s/    &**VR(( $ZZ399;MF""640E9 < *%))&1,?
#I.-
 ;;*B/9<KK+,(/z9%	7 zz(+  	zx.SuSz@RSS  	7 ::hoof56D	7s   5C8 C8 8/D*)D*c                r     [         R                  " USS9nU R                  XU5      $ ! [         a     g f = f)NF)raw)r:   rB   
ValueErrorrQ   )r+   r,   r0   rA   rN   s        r4   r@   Serializer._loads_v4   s@    	]]4U3F $$Wi@@  		s   ) 
66rK   )N)r,   r   r   r
   r   zbytes | Nonereturnr9   )r0   zdict[str, Any]rW   r9   )r,   r   r0   r9   rA   IO[bytes] | NonerW   HTTPResponse | None)r,   r   rN   zMapping[str, Any]rA   rX   rW   rY   )__name__
__module____qualname____firstlineno__r(   r5   r*   rB   rQ   r@   __static_attributes__rK   r<   r4   r   r      s    M "	(V (V (V 	(V
 
(VTC '+	8 8 8 $	8
 
8, '+	2T 2T "2T $	2T
 
2Tp '+	A A A $	A
 
A Ar<   r   )
__future__r   r   typingr   r   r   r   r   r:   requests.structuresr	   urllib3r
   requestsr   r   rK   r<   r4   <module>rd      s0    # 	 8 8  3  (AA AAr<   