MINI MINI MANI MO
3
  \nO                 @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddddgZd\Z	Z
ZZZ
d\ZZdd
dZdd ZG dd dZG dd dejZG dd dejZdddZdd Zdd Zedkre  dS )    NGzipFileopencompress
decompress               rb	   c             C   s   d|kr d|krPt d|f n0|d k	r0t d|d k	r@t d|d k	rPt d|jdd}t| tttjfr|t| ||}n,t| dst| d	rtd ||| }nt	d
d|krt
j||||S |S d S )NtbzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary mode readwritez1filename must be a str or bytes object, or a file)
ValueErrorreplace
isinstancestrbytesosPathLiker   hasattr	TypeErrorio
TextIOWrapper)filenamemode
compresslevelencodingerrorsnewlineZgz_modeZbinary_file r#   /usr/lib64/python3.6/gzip.pyr      s$    c             C   s   | j tjd| d S )Nz<L)r   structZpack)outputvaluer#   r#   r$   write32u@   s    r(   c               @   s8   e Zd Zd
ddZdd ZdddZdd	 Zd
d ZdS )_PaddedFile    c             C   s    || _ t|| _|| _d| _d S )Nr   )_bufferlen_lengthfile_read)selffprependr#   r#   r$   __init__J   s    
z_PaddedFile.__init__c             C   s~   | j d kr| jj|S | j | | jkrJ| j }|  j |7  _ | j|| j  S | j }d | _ | j|d  | jj|| j |  S d S )N)r/   r.   r   r-   r+   )r0   sizer   r#   r#   r$   r   P   s    
z_PaddedFile.readc             C   s>