HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-310.pyc
o

@%Ne�@svddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZdd�Zdd	�Z
e�ZGd
d�de�ZdS)�N)�msgpack)�CaseInsensitiveDict�)�HTTPResponse�pickle�	text_typecCst�|�d��S)N�ascii)�base64�	b64decode�encode)�b�r
�D/usr/lib/python3/dist-packages/pip/_vendor/cachecontrol/serialize.py�_b64_decode_bytessrcCst|��d�S)N�utf8)r�decode)�sr
r
r�_b64_decode_strsrc@sNeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dS)�
SerializerNc		Cs�t|j�}|dur|jdd�}t�|�|_d|tdd�|j��D��|j|j	t
|j�|j|j
d�i}i|d<d|vra|d�d�}|D]}t
|���}|j�|d�}|durZt
|�}||d|<qCd	�d
tj|dd�g�S)
NF)�decode_content�responsecs�$�|]
\}}t|�t|�fVqdS�N)r��.0�k�vr
r
r�	<genexpr>0s�
�z#Serializer.dumps.<locals>.<genexpr>)�body�headers�status�version�reason�strictr�vary�,�,scc=4T)�use_bin_type)rr�read�io�BytesIO�_fp�dict�itemsr r!rr"r#r�split�strip�get�joinr�dumps)	�self�requestrr�response_headers�data�varied_headers�header�header_valuer
r
rr2s4

���zSerializer.dumpscCs�|sdSz
|�dd�\}}Wntyd}Ynw|dd�dkr(||}d}|�dd�d�d�}zt|d	�|��||�WStyIYdSw)
Nr&rscc=0�scc=�=���rz
_loads_v{})r.�
ValueErrorr�getattr�format�AttributeError)r3r4r6�verr
r
r�loadsHs ��zSerializer.loadscCs�d|�di�vr
dS|�di���D]\}}|j�|d�|kr"dSq|d�d�}t|ddd�}|�dd	�d
kr@|�d�||dd<zt�|�}Wnty^t�|�d��}Ynwt	d|dd
�|d��S)z`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        �*r$Nrrr)r6ztransfer-encoding��chunkedrF)r�preload_contentr
)
r0r-r�poprr)r*�	TypeErrorrr)r3r4�cachedr8�value�body_rawrrr
r
r�prepare_responsefs"�
�	zSerializer.prepare_responsecC�dSrr
�r3r4r6r
r
r�	_loads_v0��zSerializer._loads_v0cCs0zt�|�}Wn
tyYdSw|�||�Sr)rrBr=rL�r3r4r6rIr
r
r�	_loads_v1�s�zSerializer._loads_v1c	Cs�z
t�t�|��d��}Wn
ttjfyYdSwt|dd�|dd<tdd�|dd�	�D��|dd<t
|dd�|dd<tdd�|d	�	�D��|d	<|�||�S)
Nrrrcsrr�rrr
r
rr�s
��
�z'Serializer._loads_v2.<locals>.<genexpr>rr"css0�|]\}}t|�|durt|�n|fVqdSrrSrr
r
rr�s
��
�r$)�jsonrB�zlib�
decompressrr=�errorrr,r-rrLrQr
r
r�	_loads_v2�s��
�zSerializer._loads_v2cCrMrr
rNr
r
r�	_loads_v3�rPzSerializer._loads_v3cCs4z	tj|dd�}Wn
tyYdSw|�||�S)NF)�raw)rrBr=rLrQr
r
r�	_loads_v4�s�zSerializer._loads_v4r)�__name__�
__module__�__qualname__r2rBrLrOrRrXrYr[r
r
r
rrs
,&r)r	r)rTrU�pip._vendorr�pip._vendor.requests.structuresr�compatrrrrr�object�_default_body_readrr
r
r
r�<module>s