Your IP : 216.73.216.52


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_lzma.cpython-35.opt-1.pyc



��Yf_2�@sIddlZddlmZmZmZddlZddlZddlZddlZddl	m
Z
mZmZm
Z
mZmZed�ZddlmZmZmZmZGdd�dej�ZGdd	�d	ej�ZGd
d�d�ZGdd
�d
ej�ZGdd�dej�ZGdd�dej�ZdZdZdZdZdej ddigZ!dZ"dej#ddidej dej$ej%BigZ&dZ'dej(ddidej igZ)dZ*dej#dd idej+dd!idej dd d"digZ,d#Z-d$d%�Z.e/d&krEe.�dS)'�N)�BytesIO�UnsupportedOperation�DEFAULT_BUFFER_SIZE)�_4G�TESTFN�
import_module�
bigmemtest�run_unittest�unlink�lzma)�LZMACompressor�LZMADecompressor�	LZMAError�LZMAFilec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zed:e d;d<d=�d>d?��Z!ed:e d;d<d@�dAdB��Z"dCdD�Z#dES)F�CompressorDecompressorTestCasec(Cs�|jttg�|jttdd�|jttdd�|jttdd�|jttdd�|jttdtj�|jt��$tdd	dd
tjig�WdQRX|jttf�|jttdd�|jt��ttjdd
�WdQRX|jt��ttjdd�WdQRX|jttdt	�|jt��tdtj
dt	�WdQRX|jt��tdtjdt	�WdQRXt�}|jt|j�|jt|jdd�|jt|j
d�|j
�}|jt|jd�|jt|j
�t�}|jt|j�|jt|jdd�|j|�|jt|jd�dS)N�formatg������@�check��presetZasdf�filters���id�memlimitsqwZzzzisfoosbarsblahsquux)�assertRaises�	TypeErrorr�
ValueErrorrZFORMAT_AUTO�FILTER_LZMA2r
�
FORMAT_RAW�
FILTERS_RAW_1�	FORMAT_XZ�FORMAT_ALONE�compress�flush�
decompress�EOFError)�self�lzc�empty�lzd�r*�3/opt/alt/python35/lib64/python3.5/test/test_lzma.py�test_simple_bad_argss>&		
z3CompressorDecompressorTestCase.test_simple_bad_argscCs�|jttddg�|jttdddig�|jttdddig�|jt��$tddtjddig�WdQRX|jt��$tddtjddig�WdQRX|jt��$tddtjddig�WdQRXdS)	Nrswobsite�xyzzyrrí�foor)rrrrrr�FILTER_DELTA�
FILTER_X86)r&r*r*r+�test_bad_filter_spec<s&&z3CompressorDecompressorTestCase.test_bad_filter_speccCs0t�}|jt�|jt|jd�dS)Nsnyan)r
r$�
COMPRESSED_XZrr%)r&r)r*r*r+�test_decompressor_after_eofGs	
z:CompressorDecompressorTestCase.test_decompressor_after_eofcCstdd�}|jt|jt�ttjdd�}|jt|jt�ttjdd�}|jt|jt�dS)Nri)	r
rrr$r2rr r!�COMPRESSED_ALONE)r&r)r*r*r+�test_decompressor_memlimitLsz9CompressorDecompressorTestCase.test_decompressor_memlimit�cCsi|j|j�|j|�}|j|t�|j|j|�|j|j�|j|j|�dS)N)�assertFalse�eofr$�assertEqual�INPUTr�
assertTrue�unused_data)r&r)�datarr<�outr*r*r+�_test_decompressorXsz1CompressorDecompressorTestCase._test_decompressorcCsBt�}|j|ttj�t�}|j|ttj�dS)N)r
r?r2r�CHECK_CRC64r4�
CHECK_NONE)r&r)r*r*r+�test_decompressor_auto`s		z5CompressorDecompressorTestCase.test_decompressor_autocCs)ttj�}|j|ttj�dS)N)r
rr r?r2r@)r&r)r*r*r+�test_decompressor_xzgsz3CompressorDecompressorTestCase.test_decompressor_xzcCs)ttj�}|j|ttj�dS)N)r
rr!r?r4rA)r&r)r*r*r+�test_decompressor_aloneksz6CompressorDecompressorTestCase.test_decompressor_alonecCs/ttjdt�}|j|ttj�dS)Nr)r
rrrr?�COMPRESSED_RAW_1rA)r&r)r*r*r+�test_decompressor_raw_1osz6CompressorDecompressorTestCase.test_decompressor_raw_1cCs/ttjdt�}|j|ttj�dS)Nr)r
rr�
FILTERS_RAW_2r?�COMPRESSED_RAW_2rA)r&r)r*r*r+�test_decompressor_raw_2ssz6CompressorDecompressorTestCase.test_decompressor_raw_2cCs/ttjdt�}|j|ttj�dS)Nr)r
rr�
FILTERS_RAW_3r?�COMPRESSED_RAW_3rA)r&r)r*r*r+�test_decompressor_raw_3wsz6CompressorDecompressorTestCase.test_decompressor_raw_3cCs/ttjdt�}|j|ttj�dS)Nr)r
rr�
FILTERS_RAW_4r?�COMPRESSED_RAW_4rA)r&r)r*r*r+�test_decompressor_raw_4{sz6CompressorDecompressorTestCase.test_decompressor_raw_4cCs�t�}g}xTtdtt�d�D]:}|j|j�|j|jt||d���q(Wdj|�}|j	|t
�|j	|jtj
�|j|j�|j	|jd�dS)Nr�
r6)r
�range�lenr2r7r8�appendr$�joinr9r:rrr@r;r<)r&r)r>�ir*r*r+�test_decompressor_chunkss	(z7CompressorDecompressorTestCase.test_decompressor_chunkscCst�}g}x�tdtt�d�D]|}|j|j�|j|jd��|j|jd��|j|jd��|j|jt||d���q(Wdj|�}|j	|t
�|j	|jtj
�|j|j�|j	|jd�dS)NrrPr6)r
rQrRr2r7r8rSr$rTr9r:rrr@r;r<)r&r)r>rUr*r*r+�test_decompressor_chunks_empty�s	(z=CompressorDecompressorTestCase.test_decompressor_chunks_emptycCs�t�}d}g}tt�d}|j|jtd|�d|��|j|j�|jt|d�|�|j|jdd|��|j|j�|jt|d�|�|j|jt|d�d|��|jt|d�|�xC|j	s@|j|jdd|��|jt|d	�|�q�Wdj
|�}|j|t�|j|jt
j�|j|jd�dS)
N�d��
max_length�r6���r\r\r\)r
rRr2rSr$r7Zneeds_inputr9�assertLessEqualr8rTr:rrr@r<)r&r)rZr>Zlen_r*r*r+� test_decompressor_chunks_maxsize�s*	

z?CompressorDecompressorTestCase.test_decompressor_chunks_maxsizecCs�t�}g}|j|jtdd�dd�d�|j|jdd��|j|jtdd�d��|j|jtdd���|jdj|�t�dS)NrXrZrr6rY�i�)r
r9r$r2rSrTr:)r&r)r>r*r*r+�test_decompressor_inputbuf_1�s	
# z;CompressorDecompressorTestCase.test_decompressor_inputbuf_1cCs�t�}g}|j|jtdd�dd�d�|j|jd��|j|jtdd�d��|j|jtdd�d��|j|jtdd���|jdj|�t�dS)N��rZrr6irYi,)r
r9r$r2rSrTr:)r&r)r>r*r*r+�test_decompressor_inputbuf_2�s	
## z;CompressorDecompressorTestCase.test_decompressor_inputbuf_2cCs�t�}g}|j|jtdd�d��|j|jtdd�d��|j|jtdd���|jdj|�t�dS)Nrb�i,r6)r
rSr$r2r9rTr:)r&r)r>r*r*r+�test_decompressor_inputbuf_3�s	## z;CompressorDecompressorTestCase.test_decompressor_inputbuf_3cCs3t�}d}|j|t|tjd|�dS)Ns	fooblibarr<)r
r?r2rr@)r&r)Zextrar*r*r+�test_decompressor_unused_data�s	z<CompressorDecompressorTestCase.test_decompressor_unused_datacCs�t�}|jt|jt�ttj�}|jt|jt�ttj�}|jt|jt	�ttj
dt�}|jt|jt	�dS)Nr)r
rrr$rErr r4r!r2rr)r&r)r*r*r+�test_decompressor_bad_input�s	z:CompressorDecompressorTestCase.test_decompressor_bad_inputcCs9t�}|jt|jt�|jt|jt�dS)N)r
rrr$rE)r&r)r*r*r+�test_decompressor_bug_28275s	z:CompressorDecompressorTestCase.test_decompressor_bug_28275cCsEt�}|jt�|j�}t�}|j||tj�dS)N)rr"r:r#r
r?rr@)r&r'�cdatar)r*r*r+�test_roundtrip_xzs		z0CompressorDecompressorTestCase.test_roundtrip_xzcCsKttj�}|jt�|j�}t�}|j||tj�dS)N)	rrr!r"r:r#r
r?rA)r&r'rir)r*r*r+�test_roundtrip_alones	z3CompressorDecompressorTestCase.test_roundtrip_alonecCs]ttjdt�}|jt�|j�}ttjdt�}|j||tj	�dS)Nr)
rrrrMr"r:r#r
r?rA)r&r'rir)r*r*r+�test_roundtrip_rawsz1CompressorDecompressorTestCase.test_roundtrip_rawcCs�ttjdt�}|jt�}||jd�7}||jd�7}||jd�7}||j�7}ttjdt�}|j||tj	�dS)Nrr6)
rrrrMr"r:r#r
r?rA)r&r'rir)r*r*r+�test_roundtrip_raw_empty#sz7CompressorDecompressorTestCase.test_roundtrip_raw_emptycCs�t�}g}xDtdtt�d�D]*}|j|jt||d���q(W|j|j��dj|�}t�}|j	||t
j�dS)NrrPr6)rrQrRr:rSr"r#rTr
r?rr@)r&r'rirUr)r*r*r+�test_roundtrip_chunks-s	(	z4CompressorDecompressorTestCase.test_roundtrip_chunkscCs�t�}g}x�tdtt�d�D]l}|j|jt||d���|j|jd��|j|jd��|j|jd��q(W|j|j��dj|�}t�}|j	||t
j�dS)NrrPr6)rrQrRr:rSr"r#rTr
r?rr@)r&r'rirUr)r*r*r+�test_roundtrip_empty_chunks7s	$	z:CompressorDecompressorTestCase.test_roundtrip_empty_chunkscCs-t�}|j|tttjdt�dS)Nr<)r
r?r2r4rr@)r&r)r*r*r+�test_decompressor_multistreamFs	z<CompressorDecompressorTestCase.test_decompressor_multistream�sizerXZmemuserYc
Cs|t�}|jd|�|j�}tj|�}z9|jt|�|�|jt|jd��d�Wdd}XdS)N�xr)rr"r#rr$r9rR�strip)r&rqr'ri�ddatar*r*r+�test_compressor_bigmemMs	#z5CompressorDecompressorTestCase.test_compressor_bigmemrcCs�t�}d}tj|d�j|d�}zD|||d}tj|�}|j|�}|j||�Wdd}}}XdS)NrPi��littler[i(i�)r
�randomZgetrandbits�to_bytesrr"r$r9)r&rqr)Z	blocksize�block�inputrirtr*r*r+�test_decompressor_bigmemXs	z7CompressorDecompressorTestCase.test_decompressor_bigmemcCsvxottjd�D]Z}|jt��tjt�|�WdQRX|jt��tjt�|�WdQRXqWdS)Nr[)rQ�pickleZHIGHEST_PROTOCOLrr�dumpsrr
)r&�protor*r*r+�test_picklegs
z*CompressorDecompressorTestCase.test_pickleN)$�__name__�
__module__�__qualname__r,r1r3r5r?rBrCrDrFrIrLrOrVrWr^rarcrerfrgrhrjrkrlrmrnrorprrrur|r�r*r*r*r+rs>( 
	

%%rc@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�"CompressDecompressFunctionTestCasec0Cs0|jttj�|jttjg�|jttjddd�|jttjddd�|jttjddd�|jttjddd	�|jt��*tjddd
ddtjig�WdQRX|jttj�|jttjg�|jttjddd�|jttjdd
d�|jt��!tjddtjdi�WdQRX|jt��!tjddtjd
d�WdQRX|jt��tjddt�WdQRX|jt��!tjddtj	dt�WdQRX|jt��!tjddtj
dt�WdQRXdS)Nr6rZxzrZnonerZblahrirrrrg��1�Ai)rrrr"rrr$rrr r!)r&r*r*r+�
test_bad_argsss.,###z0CompressDecompressFunctionTestCase.test_bad_argscCs�|jt��tjtdd�WdQRX|jt��!tjtdtjdd�WdQRX|jt��!tjtdtjdd�WdQRXdS)Nrir)rrrr$r2r r4r!)r&r*r*r+�test_decompress_memlimit�sz;CompressDecompressFunctionTestCase.test_decompress_memlimitcCs8tjt�}|j|t�tjt�}|j|t�tjttj�}|j|t�tjttj�}|j|t�tjttj	dt
�}|j|t�tjttj	dt�}|j|t�tjt
tj	dt�}|j|t�tjttj	dt�}|j|t�dS)Nr)rr$r2r9r:r4r r!rErrrHrGrKrJrNrM)r&rtr*r*r+�test_decompress_good_input�s(z=CompressDecompressFunctionTestCase.test_decompress_good_inputcCs|jttjtdd��|jttjtdd��|jttjtdd�dtjdt�|jttjt	dd�dtjdt
�|jttjtdd�dtjdt�|jttjt
dd�dtjdt�dS)N�rr)rrrr$r2r4rErrrHrGrKrJrNrM)r&r*r*r+� test_decompress_incomplete_input�s  zCCompressDecompressFunctionTestCase.test_decompress_incomplete_inputc)Cs�|jt��tjt�WdQRX|jt��tjt�WdQRX|jt��tjtdtj�WdQRX|jt��tjtdtj	�WdQRX|jt��!tjtdtj
dt�WdQRXdS)Nrr)rrrr$�COMPRESSED_BOGUSrEr4r r2r!rr)r&r*r*r+�test_decompress_bad_input�sz<CompressDecompressFunctionTestCase.test_decompress_bad_inputcCs�tjt�}tj|�}|j|t�tjttj�}tj|�}|j|t�tjttj�}tj|�}|j|t�tjttjdt�}tj|tjdt�}|j|t�dS)Nr)	rr"r:r$r9r r!rrM)r&rirtr*r*r+�test_roundtrip�sz1CompressDecompressFunctionTestCase.test_roundtripcCs+tjtt�}|j|td�dS)NrY)rr$r2r4r9r:)r&rtr*r*r+�test_decompress_multistream�sz>CompressDecompressFunctionTestCase.test_decompress_multistreamcCs'tjtt�}|j|t�dS)N)rr$r2r�r9r:)r&rtr*r*r+�test_decompress_trailing_junk�sz@CompressDecompressFunctionTestCase.test_decompress_trailing_junkcCs/tjtdt�}|j|td�dS)Nr)rr$r2r�r9r:)r&rtr*r*r+�)test_decompress_multistream_trailing_junk�szLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junkN)r�r�r�r�r�r�r�r�r�r�r�r�r*r*r*r+r�osr�c@s=eZdZdZddd�Zdd�Zdd�Zd	S)
�TempFilez=Context manager - creates a file, and deletes it on __exit__.r6cCs||_||_dS)N)�filenamer=)r&r�r=r*r*r+�__init__�s	zTempFile.__init__c	Cs0t|jd��}|j|j�WdQRXdS)N�wb)�openr��writer=)r&�fr*r*r+�	__enter__�szTempFile.__enter__cGst|j�dS)N)r
r�)r&�argsr*r*r+�__exit__szTempFile.__exit__N)r�r�r��__doc__r�r�r�r*r*r*r+r��sr�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwS)x�FileTestCasecCstttt���}WdQRXtt�d��}WdQRXtt�d��}WdQRXtt�d��}WdQRXdS)N�w�x�a)rrr2)r&r�r*r*r+�	test_initszFileTestCase.test_initcCscttt��Mtt��}WdQRXttd��}WdQRXttd��}WdQRXWdQRXdS)Nr�r�)r�rr2r)r&r�r*r*r+�test_init_with_filenamesz$FileTestCase.test_init_with_filenamec3Cs�tt���ttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXWdQRXdS)N�r�rbr�r�r��ab)r�rr)r&r*r*r+�test_init_modes
zFileTestCase.test_init_modecCst|jtt�x]dD]U}tt�tt|��WdQRX|jt��tt|��WdQRXWdQRXqWdS)Nr��xb)r�r�)�
addCleanupr
rrr�FileExistsError)r&�moder*r*r+�test_init_with_x_mode)s

z"FileTestCase.test_init_with_x_modecPCs�|jt��ttt�d
�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d	�WdQRX|jt��ttt�d
�WdQRX|jt��ttt�d�WdQRX|jt��ttt�d�WdQRXdS)Nrr�r�xtzx+ZrxZwx�rtzr+�wtzw+Zrw)rr�)rrrrr2)r&r*r*r+�test_init_bad_mode3s,zFileTestCase.test_init_bad_modec<Cs�|jt��tt�ddd�WdQRX|jt��tt�ddtj�WdQRX|jt��"tt�ddtjd�WdQRX|jt��ttt	�dtj
�WdQRX|jt��ttt	�dtj�WdQRX|jt��ttt	�dtj�WdQRX|jt��ttt	�dtj
�WdQRX|jt��ttt	�dtj�WdQRXdS)Nr�rsasdr)rrrrrr�
CHECK_UNKNOWN�CHECK_ID_MAXrr2rA�CHECK_CRC32r@ZCHECK_SHA256)r&r*r*r+�test_init_bad_checkKs  $    z FileTestCase.test_init_bad_checkc5Cs?|jt��tt�ddd�WdQRX|jt��tt�ddd�WdQRX|jt��tt�ddd�WdQRX|jt��tt�ddd
�WdQRX|jt��tt�ddd�WdQRX|jt��tt�ddd�WdQRX|jt��ttt�dd	�WdQRXdS)Nr�rg��(\�@rP�r[rr.rr\i����)rrrrr�
OverflowErrorrr2)r&r*r*r+�test_init_bad_preset_sz!FileTestCase.test_init_bad_presetc2Cs]|jt��tt�dddg�WdQRX|jt��$tt�ddddig�WdQRX|jt��$tt�ddddig�WdQRX|jt��-tt�dddtjdd	ig�WdQRX|jt��-tt�dddtjdd	ig�WdQRX|jt��-tt�dddtjdd	ig�WdQRXdS)
Nr�rswobsiter-rrír.r)	rrrrrrrr/r0)r&r*r*r+�test_init_bad_filter_specps &&  z&FileTestCase.test_init_bad_filter_speccCs@|jt��*tt�ddtjdddt�WdQRXdS)Nr�rr�r)rrrrrrr)r&r*r*r+�!test_init_with_preset_and_filters�sz.FileTestCase.test_init_with_preset_and_filterscCs�tt��G}t|�}|j�|j|j�|j�|j|j�WdQRXttt��>tt�}|j}|j�|j	|j�|j�WdQRXdS)N)
rr2r�closer7�closedr�r�_fpr;)r&�srcr��fpr*r*r+�
test_close�s

	
zFileTestCase.test_closecCs�ttt��}z.|j|j�|j�|j|j�Wd|j�X|j|j�tt�d�}z|j|j�Wd|j�X|j|j�dS)Nr�)rrr2r7r��readr�r;)r&r�r*r*r+�test_closed�s
zFileTestCase.test_closedcCs�ttt��}z|jt|j�Wd|j�X|jt|j�tt	t��Xtt	�}z9|j
|j�|jj��|j|j�t
�Wd|j�XWdQRX|jt|j�dS)N)rrr2rr�filenor�rr�rr9r�ZassertIsInstance�int)r&r�r*r*r+�test_fileno�szFileTestCase.test_filenocCsttt��}z4|j|j��|j�|j|j��Wd|j�X|jt|j�tt�d�}z|j	|j��Wd|j�X|jt|j�tt�}dd�|_t|�}z|j	|j��Wd|j�X|jt|j�dS)Nr�cSsdS)NFr*r*r*r*r+�<lambda>�sz,FileTestCase.test_seekable.<locals>.<lambda>)
rrr2r;�seekabler�r�rrr7)r&r�r�r*r*r+�
test_seekable�s&
zFileTestCase.test_seekablecCs�ttt��}z4|j|j��|j�|j|j��Wd|j�X|jt|j�tt�d�}z|j	|j��Wd|j�X|jt|j�dS)Nr�)
rrr2r;�readabler�r�rrr7)r&r�r*r*r+�
test_readable�s
zFileTestCase.test_readablecCs�ttt��}z4|j|j��|j�|j|j��Wd|j�X|jt|j�tt�d�}z|j	|j��Wd|j�X|jt|j�dS)Nr�)
rrr2r7�writabler�r�rrr;)r&r�r*r*r+�
test_writable�s
zFileTestCase.test_writablec;Cs|ttt���3}|j|j�t�|j|j�d�WdQRXttt���}|j|j�t�WdQRXttt�dtj��3}|j|j�t�|j|j�d�WdQRXttt�dtj	��3}|j|j�t�|j|j�d�WdQRXttt
�dtjdt��3}|j|j�t�|j|j�d�WdQRXttt
�dtjdt��3}|j|j�t�|j|j�d�WdQRXttt�dtjdt��3}|j|j�t�|j|j�d�WdQRXttt�dtjdt��3}|j|j�t�|j|j�d�WdQRXdS)Nr6rr)rrr2r9r�r:r4rr r!rErrrHrGrKrJrNrM)r&r�r*r*r+�	test_read�s6zFileTestCase.test_readcCs�ttt��� }|j|jd�d�WdQRXttt��� }|j|jd�d�WdQRXttt�dtj�� }|j|jd�d�WdQRXttt�dtj�� }|j|jd�d�WdQRXdS)Nrr6r)	rrr2r9r�r4rr r!)r&r�r*r*r+�test_read_0s   zFileTestCase.test_read_0c
Csttt���f}g}x=|jd�}|s4P|jt|�d�|j|�qW|jdj|�t	�WdQRXdS)NrPr6)
rrr2r�r]rRrSr9rTr:)r&r�Zchunks�resultr*r*r+�test_read_10szFileTestCase.test_read_10cCs�tttd���!}|j|j�td�WdQRXtttt���!}|j|j�td�WdQRXtttd�dtj	dt
��!}|j|j�td�WdQRXdS)NrdrY�rr)rrr2r9r�r:r4rKrrrJ)r&r�r*r*r+�test_read_multistream)s!!z"FileTestCase.test_read_multistreamcCsgtj}tt�t_z>tttd���!}|j|j�td�WdQRXWd|t_XdS)Nrd)	�_compression�BUFFER_SIZErRr2rrr9r�r:)r&Zsaved_buffer_sizer�r*r*r+�)test_read_multistream_buffer_size_aligned2s	%z6FileTestCase.test_read_multistream_buffer_size_alignedc
Cs:tttt���}|j|j�t�WdQRXdS)N)rrr2r�r9r�r:)r&r�r*r*r+�test_read_trailing_junk=sz$FileTestCase.test_read_trailing_junkcCsBtttdt���!}|j|j�td�WdQRXdS)Nrd)rrr2r�r9r�r:)r&r�r*r*r+�#test_read_multistream_trailing_junkAsz0FileTestCase.test_read_multistream_trailing_junkcCs]ttt��Gtt��3}|j|j�t�|j|j�d�WdQRXWdQRXdS)Nr6)r�rr2rr9r�r:)r&r�r*r*r+�test_read_from_fileEsz FileTestCase.test_read_from_filecCs�ytjd�}Wntk
r4|jd�YnXttt��Gt|��3}|j|j�t	�|j|j�d�WdQRXWdQRXdS)N�asciiz%Temporary file name needs to be ASCIIr6)
r�encode�UnicodeEncodeError�skipTestr�r2rr9r�r:)r&�bytes_filenamer�r*r*r+�'test_read_from_file_with_bytes_filenameKs
z4FileTestCase.test_read_from_file_with_bytes_filenamec
Cs=tttdd����}|jt|j�WdQRXdS)Nr�)rrr2rr%r�)r&r�r*r*r+�test_read_incompleteUsz!FileTestCase.test_read_incompletecCs�tdd�}tt|���}|jt|j�WdQRXtt|���<}|j|jtt��t�|jt|jd�WdQRXxPt	d�D]B}tt|d|����}|jt|jd�WdQRXq�WdS)N�r[i�)
r2rrrr%r�r9rRr:rQ)r&Z	truncatedr�rUr*r*r+�test_read_truncatedYsz FileTestCase.test_read_truncatedcCs�ttt��}|j�|jt|j�tt�d��}|jt|j�WdQRXttt��� }|jt|jt��WdQRXdS)Nr�)	rrr2r�rrr�r�float)r&r�r*r*r+�test_read_bad_argsgs
zFileTestCase.test_read_bad_argsc
Cs3ttt���}|jt|j�WdQRXdS)N)rrr�rrr�)r&r�r*r*r+�test_read_bad_datapszFileTestCase.test_read_bad_datac
Cs|ttt���c}g}x$|j�}|s1P|j|�qW|jdj|�t�|j|j�d�WdQRXdS)Nr6)rrr2�read1rSr9rTr:)r&r��blocksr�r*r*r+�
test_read1tszFileTestCase.test_read1c
Cs9ttt��� }|j|jd�d�WdQRXdS)Nrr6)rrr2r9r�)r&r�r*r*r+�test_read1_0szFileTestCase.test_read1_0c
Csttt���f}g}x'|jd�}|s4P|j|�qW|jdj|�t�|j|j�d�WdQRXdS)NrPr6)rrr2r�rSr9rTr:)r&r�r�r�r*r*r+�
test_read1_10�szFileTestCase.test_read1_10cCs�tttd���g}g}x$|j�}|s5P|j|�q"W|jdj|�td�|j|j�d�WdQRXdS)Nrdr6)rrr2r�rSr9rTr:)r&r�r�r�r*r*r+�test_read1_multistream�sz#FileTestCase.test_read1_multistreamcCs�ttt��}|j�|jt|j�tt�d��}|jt|j�WdQRXttt���}|jt|jd�WdQRXdS)Nr�)rrr2r�rrr�r)r&r�r*r*r+�test_read1_bad_args�s
z FileTestCase.test_read1_bad_argscCs�ttt���U}|j�}|jt|�d�|jtj|��|j	|j
�t�WdQRXttt���X}|jd�}|jt|�d�|jtj|��|j	|j
�t�WdQRXdS)NrrP)rrr2�peekZ
assertGreaterrRr;r:�
startswithr9r�)r&r�r�r*r*r+�	test_peek�szFileTestCase.test_peekc
Cs3tt�d��}|jt|j�WdQRXdS)Nr�)rrrrr�)r&r�r*r*r+�test_peek_bad_args�szFileTestCase.test_peek_bad_argsc.Cs_tt��}|j�}WdQRXttt���#}|jtt|��|�WdQRXttt���#}|jtt|��|�WdQRXttt�dt	j
��#}|jtt|��|�WdQRXttt�dt	j��#}|jtt|��|�WdQRXttt�dt	j
dt��#}|jtt|��|�WdQRXdS)Nrr)rr:�	readlinesrr2�assertListEqual�list�iterr4rr r!rHrrG)r&r��linesr*r*r+�
test_iterator�s####zFileTestCase.test_iteratorcCsitt��}|j�}WdQRXttt���.}x$|D]}|j|j�|�q>WWdQRXdS)N)rr:r�rr2r9�readline)r&r�r��liner*r*r+�
test_readline�s

zFileTestCase.test_readlinecCsXtt��}|j�}WdQRXttt���}|j|j�|�WdQRXdS)N)rr:r�rr2r�)r&r�r�r*r*r+�test_readlines�szFileTestCase.test_readlinescCs�tjttd��dd�}|jt|�tj�tt	|��}|j
td�|jd��dt}|j
|jjj�|d�dS)z-Decompressed data buffering should be limitedg��>Arr�r[z)Excessive amount of data was decompressedN)rr"�bytesr�Z
assertLessrRr�r�rrr9r�rr]Z_buffer�raw�tell)r&ZbombZdecompZ
max_decompr*r*r+�test_decompress_limited�s!
z$FileTestCase.test_decompress_limitedc>Cs�t��R}t|d��}|jt�WdQRXtjt�}|j|j�|�WdQRXt��d}t|ddtj��}|jt�WdQRXtjtdtj�}|j|j�|�WdQRXt��d}t|ddtj	��}|jt�WdQRXtjtdtj	�}|j|j�|�WdQRXt��p}t|ddtj
dt��}|jt�WdQRXtjtdtj
dt�}|j|j�|�WdQRXdS)Nr�rr)rrr�r:rr"r9�getvaluer r!rrG)r&�dstr��expectedr*r*r+�
test_write�s,	zFileTestCase.test_writecCs�t���}t|d��E}x;tdtt�d�D]!}|jt||d��q7WWdQRXtjt�}|j|j	�|�WdQRXdS)Nr�rrP)
rrrQrRr:r�rr"r9r�)r&r�r��startr�r*r*r+�
test_write_10�s&zFileTestCase.test_write_10cCs�tdd�}tdd�}tdd�}djdd�|||fD��}t���}t|d��}|j|�WdQRXt|d��}|j|�WdQRXt|d��}|j|�WdQRX|j|j�|�WdQRXdS)Niir6css|]}tj|�VqdS)N)rr")�.0r�r*r*r+�	<genexpr>�sz1FileTestCase.test_write_append.<locals>.<genexpr>r�r�)r:rTrrr�r9r�)r&�part1�part2�part3r�r�r�r*r*r+�test_write_append�s%zFileTestCase.test_write_appendcCszzhttd��}|jt�WdQRXtjt�}ttd��}|j|j�|�WdQRXWdt	t�XdS)Nr�r�)
rrr�r:rr"r�r9r�r
)r&r�r�r*r*r+�test_write_to_files!zFileTestCase.test_write_to_filecCs�ytjd�}Wntk
r4|jd�YnXzht|d��}|jt�WdQRXtjt�}t	td��}|j
|j�|�WdQRXWdtt�XdS)Nr�z%Temporary file name needs to be ASCIIr�r�)
rr�r�r�rr�r:rr"r�r9r�r
)r&r�r�r�r*r*r+�&test_write_to_file_with_bytes_filenames
!z3FileTestCase.test_write_to_file_with_bytes_filenamec%Cstdd�}tdd�}tdd�}djdd�|||fD��}z�ttd��}|j|�WdQRXttd��}|j|�WdQRXttd��}|j|�WdQRXttd��}|j|j�|�WdQRXWdtt�XdS)	Niir6css|]}tj|�VqdS)N)rr")rr�r*r*r+r#sz9FileTestCase.test_write_append_to_file.<locals>.<genexpr>r�r�r�)	r:rTrrr�r�r9r�r
)r&rrrr�r�r*r*r+�test_write_append_to_files%!z&FileTestCase.test_write_append_to_filecCs�tt�d�}|j�|jt|jd�ttt�d��}|jt|jd�WdQRXtt�d��I}|jt|jd�|jt|jd�|jt|jd�WdQRXdS)Nr�sfoor�sbar�texti)rrr�rrr�r2r)r&r�r*r*r+�test_write_bad_args0s
z FileTestCase.test_write_bad_argscCs�tt��}|j�}WdQRXt��R}t|d��}|j|�WdQRXtjt�}|j|j�|�WdQRXdS)Nr�)	rr:r�r�
writelinesrr"r9r�)r&r�r�r�r�r*r*r+�test_writelines;szFileTestCase.test_writelinescCsMttt���4}|jd�|j|j�tdd��WdQRXdS)Ni+)rrr2�seekr9r�r:)r&r�r*r*r+�test_seek_forwardDs
zFileTestCase.test_seek_forwardcCs[tttd���>}|jtt�d�|j|j�tdd��WdQRXdS)NrY�{)rrr2rrRr:r9r�)r&r�r*r*r+� test_seek_forward_across_streamsIsz-FileTestCase.test_seek_forward_across_streamscCs]ttt���D}|jd�|jdd�|j|j�tdd��WdQRXdS)NrXi�r[i8)rrr2r�rr9r:)r&r�r*r*r+�%test_seek_forward_relative_to_currentNs
z2FileTestCase.test_seek_forward_relative_to_currentcCsPttt���7}|jdd�|j|j�tdd��WdQRXdS)Ni+rYi���i���)rrr2rr9r�r:)r&r�r*r*r+�!test_seek_forward_relative_to_endTsz.FileTestCase.test_seek_forward_relative_to_endcCsZttt���A}|jd�|jd�|j|j�tdd��WdQRXdS)Ni���)rrr2r�rr9r:)r&r�r*r*r+�test_seek_backwardYs

zFileTestCase.test_seek_backwardcCsltttd���O}|jtt�d�|jd�|j|j�tdd�t�WdQRXdS)NrYiMi�)rrr2r�rRr:rr9)r&r�r*r*r+�!test_seek_backward_across_streams_s
z.FileTestCase.test_seek_backward_across_streamscCsPttt���7}|jdd�|j|j�tdd��WdQRXdS)N�rYij���ij���)rrr2rr9r�r:)r&r�r*r*r+�"test_seek_backward_relative_to_endesz/FileTestCase.test_seek_backward_relative_to_endcCsittt���P}|jtt�d�|j|j�tt��|j|j�d�WdQRXdS)Ni)#r6)	rrr2rrRr:r9r�r�)r&r�r*r*r+�test_seek_past_endjszFileTestCase.test_seek_past_endc
CsYttt���@}|jd�|j|j�d�|j|j�t�WdQRXdS)N�Xri����)rrr2rr9r�r�r:)r&r�r*r*r+�test_seek_past_startps
z!FileTestCase.test_seek_past_startcCs�ttt��}|j�|jt|jd�tt�d��}|jt|jd�WdQRXttt���k}|jt|jdd�|jttf|jdf�|jt|jd�|jt|jd�WdQRXdS)Nrr�r�	sderp)rrr2r�rrrr)r&r�r*r*r+�test_seek_bad_argsvs
zFileTestCase.test_seek_bad_argscCsttt���l}d}x@|j|j�|�|jd�}|sJP|t|�7}qW|j|j�tt��WdQRXtt�d��w}xQtdtt�d�D]7}|j|j�|�|j	t||d��q�W|j|j�tt��WdQRXdS)Nr�r��)
rrr2r9r�r�rRr:rQr�)r&r��posr�r*r*r+�	test_tell�s#zFileTestCase.test_tellcCs3ttt��}|j�|jt|j�dS)N)rrr2r�rrr�)r&r�r*r*r+�test_tell_bad_args�s
zFileTestCase.test_tell_bad_argsN)>r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr	rr
rrrrrrrrrrr!r"r*r*r*r+r�sv
	

	
		
	
r�c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�OpenTestCasec Cs�tjtt�d��}|j|j�t�WdQRXt���}tj|d��}|jt�WdQRXtj|j	��}|j|t�tj|d��}|jt�WdQRXtj|j	��}|j|td�WdQRXdS)Nr�r�r�rY)
rr�rr2r9r�r:r�r$r�)r&r��bio�	file_datar*r*r+�test_binary_modes�szOpenTestCase.test_binary_modesc Cs%tjd�}|jdtj�}tjtt�d��}|j	|j
�|�WdQRXt���}tj|d��}|j|�WdQRXtj|j
��jd�}|j	||�tj|d��}|j|�WdQRXtj|j
��jd�}|j	||d�WdQRXdS)Nr��
r�r�ZatrY)r:�decode�replace�os�lineseprr�rr2r9r�r�r$r�)r&�uncompressed�uncompressed_rawr�r$r%r*r*r+�test_text_modes�szOpenTestCase.test_text_modesc.Cstt���tjtd��}|jt�WdQRXttd��,}tj|j��}|j|t�WdQRXtjtd��}|j|j�t�WdQRXtjtd��}|jt�WdQRXtjtd��!}|j|j�td�WdQRXWdQRXdS)Nr�r�r�rY)	r�rrr�r�r:r$r�r9)r&r�r%r*r*r+�
test_filename�s
zOpenTestCase.test_filenamec(Cs�|jt��tjtd�WdQRX|jt��tjtd�WdQRX|jt��tjtddd�WdQRX|jt��tjtddd�WdQRX|jt��tjtddd	�WdQRXdS)
NrZrbtr��encodingzutf-8�errors�ignore�newliner')rrrr�r)r&r*r*r+�test_bad_params�szOpenTestCase.test_bad_paramscCs�dtjdti}tjtt�d|��}|j|j�t�WdQRXt��[}tj|d|��}|j	t�WdQRXtj
|j�|�}|j|t�WdQRXdS)Nrrr�r�)rrrr�rrEr9r�r:r�r$r�)r&Zoptionsr�r$r%r*r*r+�test_format_and_filters�sz$OpenTestCase.test_format_and_filterscCs�tjd�}|jdtj�}t���}tj|ddd��}|j|�WdQRXtj	|j
��jd�}|j||�|jd�tj|ddd��}|j|j
�|�WdQRXWdQRXdS)Nr�r'r�r0z	utf-16-lerr�)r:r(r)r*r+rrr�r�r$r�r9rr�)r&r,r-r$r�r%r*r*r+�
test_encoding�s
zOpenTestCase.test_encodingcCsattjd���E}tj|ddddd��}|j|j�d�WdQRXWdQRXdS)Nsfoo�barr�r0r�r1r2Zfoobar)rrr"r�r9r�)r&r$r�r*r*r+�test_encoding_error_handler�s!z(OpenTestCase.test_encoding_error_handlercCs�tjd�}t��~}tj|ddd��}|j|�WdQRX|jd�tj|ddd�� }|j|j�|g�WdQRXWdQRXdS)Nr�r�r3r'rr��
)	r:r(rrr�r�rr9r�)r&r
r$r�r*r*r+�test_newline�s
zOpenTestCase.test_newlinecCsz|jtt�xcdD][}tt�tjt|��WdQRX|jt��tjt|��WdQRXWdQRXqWdS)Nr�r�r�)r�r�r�)r�r
rrr�rr�)r&r�r*r*r+�test_x_mode�s

zOpenTestCase.test_x_modeN)r�r�r�r&r.r/r4r5r6r7r9r:r*r*r*r+r#�s



r#c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MiscellaneousTestCasecCsl|jtjtj��|jtjtj��|jtjtjd��|jtjtj��dS)Nr[)r;rZis_check_supportedrAr�r7r�r�)r&r*r*r+�test_is_check_supportedsz-MiscellaneousTestCase.test_is_check_supportedc(Cs�|jt��tjd�WdQRX|jt��tjddi�WdQRX|jt��!tjdtjddi�WdQRX|jtj��!tjdtjddi�WdQRXtjdtjdd	d
ddd
ddi�}|j	|d�dS)Ns
not a dictr�Zjunkr��disti)#�pbrY�lpr�lcr�	dict_sizerv�s]�i�)
rrr�_encode_filter_propertiesrrrr/�FILTER_LZMA1r9)r&Zpropsr*r*r+�test__encode_filter_propertiess #	z4MiscellaneousTestCase.test__encode_filter_propertiescCs�|jt��tjtjdti�WdQRX|jtj��tjtjd�WdQRXtjtjd�}|j	|dtj�|j	|dd�|j	|dd�|j	|d	d
�|j	|dd�dS)Nz	should bestoo longs]�rr?rYr@rrArrBrvrCi�)
rrr�_decode_filter_propertiesr0r�rr/rEr9)r&Z
filterspecr*r*r+�test__decode_filter_properties(s z4MiscellaneousTestCase.test__decode_filter_propertiescCsMtjtjd�}tj|�}tjtj|�}|j||�dS)Ns]�)rrGrErDr9)r&Zspec1Z	reencodedZspec2r*r*r+� test_filter_properties_roundtrip7s
z6MiscellaneousTestCase.test_filter_properties_roundtripN)r�r�r�r<rFrHrIr*r*r*r+r;sr;s�
LAERTES

       O, fear me not.
       I stay too long: but here my father comes.

       Enter POLONIUS

       A double blessing is a double grace,
       Occasion smiles upon a second leave.

LORD POLONIUS

       Yet here, Laertes! aboard, aboard, for shame!
       The wind sits in the shoulder of your sail,
       And you are stay'd for. There; my blessing with thee!
       And these few precepts in thy memory
       See thou character. Give thy thoughts no tongue,
       Nor any unproportioned thought his act.
       Be thou familiar, but by no means vulgar.
       Those friends thou hast, and their adoption tried,
       Grapple them to thy soul with hoops of steel;
       But do not dull thy palm with entertainment
       Of each new-hatch'd, unfledged comrade. Beware
       Of entrance to a quarrel, but being in,
       Bear't that the opposed may beware of thee.
       Give every man thy ear, but few thy voice;
       Take each man's censure, but reserve thy judgment.
       Costly thy habit as thy purse can buy,
       But not express'd in fancy; rich, not gaudy;
       For the apparel oft proclaims the man,
       And they in France of the best rank and station
       Are of a most select and generous chief in that.
       Neither a borrower nor a lender be;
       For loan oft loses both itself and friend,
       And borrowing dulls the edge of husbandry.
       This above all: to thine ownself be true,
       And it must follow, as the night the day,
       Thou canst not then be false to any man.
       Farewell: my blessing season this in thee!

LAERTES

       Most humbly do I take my leave, my lord.

LORD POLONIUS

       The time invites you; go; your servants tend.

LAERTES

       Farewell, Ophelia; and remember well
       What I have said to you.

OPHELIA

       'Tis in my memory lock'd,
       And you yourself shall keep the key of it.

LAERTES

       Farewell.
sthis is not a valid lzma streams �7zXZ�ִF!t/����]bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b���c-H�oJl�iQ�k��������?@���x�H12P���uw㾪i�WЀ�#cb5��]�d���Wl�UG��yF�7�v�5��h8W��5:?rD������5@���7��cԗi�tS�k�Kvy���6T�e
�]:k�l��a�4�r�}r���*�z�8h��Ӽl�-��K����Z��L�3Ϝ������!��^�9w �P�PKd��Z}����%$��/��&,�qh{Q�)�q�À����o�!�[Ԋw�t����`^�??\���RԎ��X�a����Ы������S�>ɕH��	
%��$.o��Rb��U�^�S��/���v�r�̢Gkzʀ�Ћ��Ix�y�-0�z^�֏_�P�i��萄ܿ�ky�܁��+���\�����Y�Y�h���w̴� �|�ej��z�`��A叩	�=��_�%voZO��	�M-�<"CM�g~b����|�'��x�!J�F�u8�7y��u�_���@��qc�#��5�)_
�3]o]5�my��K+��b� ��t����0���ȏ׮�+iܹk�>f�
��$�{pƈ0����_���h6�Z%'�
��"�冟7X=mNX[�FUɆ0��a+* �_$��_��ޯ46q�ɒ���`��}������ʮ`w�جVe�Z���#��d{w
����B:�^V�aH��
\X���u#%�*�v��!	4Vj?uLU���tw�P��g�YZs�]���������bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b�pl�jr�=	�3!E�vV�F�״�P~��E�7�ƻ�c%�I�;�砋�Z�(���o>`᪨١�}獃4T���㘼DMA@���ȓ��Sa�śTJE}��g#ZVɝc�>0�S�/y_�(�r���?��@��:�z����BeyX�� :	��xD\&G�Y�J�v{���)A�o5����F?v��VtTf�����'k���\Y��|w��d�d������ �� ,�X��s��v�}���%
ߢ.�6
��h
� �Bl�U}�s�H�pB�8���Z��A��;z��{5!���A���$�qg��/|�r�^����=�n�6{>8
�:�'�.�
���:݂'[�"wD$�w�q�,1��,�2w�$Jdmg��A��&�8i��;�NQrh�eL;�m�Q�����N����[���j�EOli�B^���R]����.��-�e����iN�wbQ�~餈4�kM�)T�3�)��B���^��..��	�H�5�#�NV��$Kk�
�t�'�R��2�-LH��0~?SO�E]��<Z0a*?�r����nG�d^��8�uEI�
Vⳕ���i!�&1F�DP� SO3D!w�_G+�.��]�>�#h;5J�K�^-[��\�ʯ�ԡ�ĸp���r���r.l []��+0�gaKY�I�,
���V�_#���>w�W,�
�63�J�2=kT�Uti�_���lh�f���xrrrs���]bX��n�cyq���m�'��� �Q��I���VL8_�뼥�
W$=R;�k8	�{��+��c��S3����m����b�4*���+�.�9�b�ZrA�0s"r�G�ސcu�۩.Al�<��Oi�Ŵ��g4t6"��o�?^}�}[:��
[�lg�2���n��7@��6T�u�	��8�[4�PCV�"��x~�N�K���%�k:{6�����è\�@�F_Ȑ�sU��8�7J�Mг;X�﮳eO,�z,dy�jlB�8#�6��PK�P؈ҡC?۔_�"��eޛ��>H�;�#��4�ź%v�9�A�"��2�i���3߾�Dm7���o:J�ہ6�O���	Q펕S/M�S�J�������d�=^B��E�͑��G�.��b&ٟ�j���\Cv�Ҋ?^H��>����IqY��K7�D�W���O���l�5�U�{��ϣk{�����O*��B-�(R�@E��:�V�Y��]�ĥ�gX���3]n콣Y���u�*�T�A$A�A����iw젇�%��=����D���ѻq����Cqp�L��� �"�t����~���c�ix���)l)�@l��ynD�:Җ��?������%_����
h�#�7QD�hnѣ_?q���17��_�|�ʷ�S�W��t�9L�|�W��s�L�_�$����F��kvf�hî�1�Q��G���5��yI�cw�rIp:p_�v�a"�ّ�e����ëH*m}��}>l%΄��d�ӂ��5fOg���^&	@ΟJ����{�����r�z�M�ho�^��������U7�\!��k�Ud~�熊z;��PG��w�^ı����3Sf ��@�売����s�xRD�`W���ϑ
TZ-X�����|�������^��[��7֢		Q5/@S�5�VhAKVC
���M�xO�O�<�e*�Hk6�G+�)͜l�����K}�5��u�*F�2r>rYs����]-Ԩd?ᆵH�2�.�g�����5z���	[}W�mH��g��Q�R�A�5���
v~�:o:J�Cc��*o��\l�E
��2aU{׸wܾ�8���8\����[_9�%�����fs#=�<�\t���=�7ft\��Q��8�Ԫ�آ>-ӎ�#��ArAm�J~��B����(`WK��kaj �����S�%��i�X�B�;E�e����T�bg�
�jу�]"M�r�\�j~PGH�N*Z.�	pE��1�ͩ��H�������P�~��0����JK�]�9���F���_�[�ԋ�6뿻�$kS{��,f:Sjz��殘�Q~r�?��&ˀ	��|x���|�dhh+'Ł�3�q���`Z#܊����I�l{�6���ճx�hz%��ݘ!��RUa���X�1�=R��0㤚�bd�$]B��h2c�L`4�x�Z�
]T^؉�
;�Y�9z�o�)f�]$n
p����������;�Q����K� @�:UcX
!��"=.6�g=�Wn����O���T���D��W3pnt�VOj�M�i��$3�܊f��Y
���K��hwO��2^&�V�
�i=yZ�o�ƶ���
��w�%�c�`]���8�m�Q���h`[q���0g�"N��R�)(�0\��G!���x��z������H�y�M
\A	ar�M��ꄛ!��~
�H��oڇh颾�qN��!WGڡ�A��`j���?5B�~E�!^�ݨy}�)�)����D��2f�uɗ��x4_6�$t�9�=˿v\���8jk�)ff�nĩ�����M����I�E���5��T�p��Ӊ3�/�֏ou;��PR����Fj�$�h��K(�c�7��)ݲ,���.yQi��`h-���	��^��[!�M��.���-S+�8,� �ë~�$e���P]i�o�g^
E�����k`�~�y�+�^D��"!�ҧ�T��5Y�4Z�H���f]όx����3��TUH���y�7��X�� �( /��\����J�vP8��~�4kA�y��P��J�N���aO�����:���e�q�ACmw�	�u���CwUP��8L4w!�L2 ����j�;V��ːlv@E�����Z[��E`>�ޡbZ�Щ`{�;�f��k1.��N��(���u���!L����Г����Bjc_�}d�àY��/��,�bl@�p��8�q�uH�X���}OX�ݾ����e�O`CF=K�$I_�X�J'v�+�.v�Tv�5ṑ�S��"(�x�CX����pS��'J�!��G	��2oS���d��y���,�f�
ߞE��\L��h��}���W#\�o�z�Zstart_offsetr=s����]bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b���c-H�oJl�iQ�k��������?@���x�H12P���uw㾪i�WЀ�#cb5��]�d���Wl�UG��yF�7�v�5��h8W��5:?rD������5@���7��cԗi�tS�k�Kvy���6T�e
�]:k�l��a�4�r�}r���*�z�8h��Ӽl�-��K����Z��L�3Ϝ������!��^�9w �P�PKd��Z}����%$��/��&,�qh{Q�)�q�À����o�!�[Ԋw�t����`^�??\���RԎ��X�a����Ы������S�>ɕH��	
%��$.o��Rb��U�^�S��/���v�r�̢Gkzʀ�Ћ��Ix�y�-0�z^�֏_�P�i��萄ܿ�ky�܁��+���\�����Y�Y�h���w̴� �|�ej��z�`��A叩	�=��_�%voZO��	�M-�<"CM�g~b����|�'��x�!J�F�u8�7y��u�_���@��qc�#��5�)_
�3]o]5�my��K+��b� ��t����0���ȏ׮�+iܹk�>f�
��$�{pƈ0����_���h6�Z%'�
��"�冟7X=mNX[�FUɆ0��a+* �_$��_��ޯ46q�ɒ���`��}������ʮ`w�جVe�Z���#��d{w
����B:�^V�aH��
\X���u#%�*�v��!	4r��@rAs��\bW�h��'֐,�vJq l��xB�f=&fx�
>Tn���F��v_�?�V<�#�w�����؞��*�]c�~��]Eg��"8��=~�W��D��Ǚ��1�u�9���hw|��l�k�6o7��{Y_b��$�=��w�Z@�kmE���*ح���{�j,)mB<�ca�(� ���-���c��'B�`װ����]�Bܖ��6D�Ճ1��&5� PZ&j��ŏ�Sӥ�u�$̗o�V~�����xW�p4��HDY�)�t�"��F���ߥ�"�x���Ȓ
�[l*Yر@�o�7r�u�5�$U{	}Q�xN��XX�`���v-f�/\��)B�g�#2B2444q	�93?mPX��a�)d����j���w��2�A\�C3��!��o[�:0�.��@\4��Jv��4�k�kf�ss�^�e�a�=&�r�p�EՀy���k�T�H�oŌ�0��-e\����������>���k���	��!��^�qA�<EG��񶹂��s�a��̒ҶU�نa��TG@	7*�޼]6N�񄞟���'�<ߙsqН���%p4�{����=M�H:��֤�0�D�Ө�S� `���W� 7�N#
�	��1������a���l�	jA�:��\=D�3]����eZ�A��dgFQ����qB�r�����o仴��@����d�Q
�/ظS5�:�g��D��zڐ�5H!	�u�R�l�Q���O����b�	R���A� �-IGE��$���j��Ѫ��I2s�5���3��D0�%�P}JO^h��lV.�o��wඤ�*�r�G+��i[w�@_�y��W.��-��mU6g�SA(��=ޒ�,D�������nE�\��Y��ˌ�����~�
E�uV�ƙ�m<[u�1
�w�%!�[·�B�,%d�f�"�g.�3�XY+4�qA
=9�*�/�s�1b@���FQ\�������,E�7[����!mA}��3R5�F�H�)cc�n{IJB���`w&`�}@Oxe	�����|�e���g@�Y�8����8��N�J�!�q��q��W��k*7��J��m�q��
:�`.�+�)ހX��Qm�cPA�'ɬ��)�t��ZR�������`]�gR�FT��HS��<���P���e�J^��[�����c~']��A���,�K{���Mx�Q�3���=��a��9a�2����s���b�E"��dD�IJ!�d�G��m�_r��NBq�PΧ���eP!|�6ͿIir�e�jP�q�wS7hM�ʆ?�P}y~�I��<Q�8ߔ�>r�k���v⹊�q�I���s���"㩥>D��;��33��'e�.�;�Hq�W�~����2�x
6�	�����;�j[��������-%@������2\ǯ¡Oth�������_��A_
��W&�D�����܅;X�,�>-7S��)p�QBL��d��su�ȕ��*)�v�{FW�l��jcCstttttt�dS)N)r	rr�r�r#r;r*r*r*r+�	test_main�srK�__main__)0r��iorrrr*r}rxZunittestZtest.supportrrrrr	r
rrr
rrZTestCaserr�r�r�r#r;r:r�r2r4rrrEr/ZPRESET_DEFAULTZPRESET_EXTREMErGrHZFILTER_IA64rJrKr0rMrNrKr�r*r*r*r+�<module>sJ."�`����lz/+-	=,C