HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/test_lzma.cpython-37.pyc
B

��gu_�@s�ddlZddlmZmZmZddlZddlZddlZddlZddl	Z	ddl
mZddlZddl
mZmZmZmZmZmZed�ZddlmZmZmZmZGdd�dej�ZGd	d
�d
ej�ZGdd�d�ZGd
d�dej�ZGdd�dej�ZGdd�dej�ZdZ dZ!dZ"dZ#ej$dd�gZ%dZ&ej'dd�ej$ej(ej)Bd�gZ*dZ+ej,dd�dej$igZ-d Z.ej'd!d�ej/d"d�ej$d!dd#�gZ0d$Z1d%Z2d&d'�Z3e4d(k�r�e3�dS))�N)�BytesIO�UnsupportedOperation�DEFAULT_BUFFER_SIZE)�support)�_4G�TESTFN�
import_module�
bigmemtest�run_unittest�unlink�lzma)�LZMACompressor�LZMADecompressor�	LZMAError�LZMAFilec@s4eZdZdd�Zdd�Zdd�Zdd�ZdGd
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�Zee d:d;d<�d=d>��Z!ee d:d?d<�d@dA��Z"dBdC�Z#e$j%dDdE��Z&dFS)H�CompressorDecompressorTestCasec	Cs�|�ttg�|jttdd�|jttdd�|jttdd�|jttdd�|jtttjd�|�t��td	d
tjigd�WdQRX|�ttd�|jttd
d�|�t��ttjdd�WdQRX|�t��ttjdd�WdQRX|jttt	d�|�t��ttj
t	d�WdQRX|�t��ttjt	d�WdQRXt�}|�t|j�|�t|jdd�|�t|j
d�|�
�}|�t|jd�|�t|j
�t�}|�t|j�|�t|jdd�|�|�|�t|jd�dS)Ng������@)�format�)�checkZasdf)�preset�)�filters��id)rr�sqw)�memlimitZzzzi)rrsfoosbarsblahsquux)�assertRaises�	TypeErrorr
�
ValueErrorrZFORMAT_AUTO�FILTER_LZMA2r�
FORMAT_RAW�
FILTERS_RAW_1�	FORMAT_XZ�FORMAT_ALONE�compress�flush�
decompress�EOFError)�self�lzc�empty�lzdrr�*/usr/local/lib/python3.7/test/test_lzma.py�test_simple_bad_argss>
z3CompressorDecompressorTestCase.test_simple_bad_argsc	Cs�|jttdgd�|jttddigd�|jttddigd�|�t��ttjdd�gd�WdQRX|�t��ttjdd�gd�WdQRX|�t��ttjdd�gd�WdQRXdS)	Nswobsite)r�xyzzyrrír)r�foo)rrr
rrr�FILTER_DELTA�
FILTER_X86)r(rrr,�test_bad_filter_spec?sz3CompressorDecompressorTestCase.test_bad_filter_speccCs$t�}|�t�|�t|jd�dS)Nsnyan)rr&�
COMPRESSED_XZrr')r(r+rrr,�test_decompressor_after_eofJs
z:CompressorDecompressorTestCase.test_decompressor_after_eofcCsZtdd�}|�t|jt�ttjdd�}|�t|jt�ttjdd�}|�t|jt�dS)Ni)r)	rrrr&r3rr"r#�COMPRESSED_ALONE)r(r+rrr,�test_decompressor_memlimitOs
z9CompressorDecompressorTestCase.test_decompressor_memlimit�cCsN|�|j�|�|�}|�|t�|�|j|�|�|j�|�|j|�dS)N)�assertFalse�eofr&�assertEqual�INPUTr�
assertTrue�unused_data)r(r+�datarr=�outrrr,�_test_decompressor[s
z1CompressorDecompressorTestCase._test_decompressorcCs0t�}|�|ttj�t�}|�|ttj�dS)N)rr@r3r�CHECK_CRC64r5�
CHECK_NONE)r(r+rrr,�test_decompressor_autocsz5CompressorDecompressorTestCase.test_decompressor_autocCsttj�}|�|ttj�dS)N)rrr"r@r3rA)r(r+rrr,�test_decompressor_xzjs
z3CompressorDecompressorTestCase.test_decompressor_xzcCsttj�}|�|ttj�dS)N)rrr#r@r5rB)r(r+rrr,�test_decompressor_alonens
z6CompressorDecompressorTestCase.test_decompressor_alonecCs"ttjtd�}|�|ttj�dS)N)r)rrr r!r@�COMPRESSED_RAW_1rB)r(r+rrr,�test_decompressor_raw_1rsz6CompressorDecompressorTestCase.test_decompressor_raw_1cCs"ttjtd�}|�|ttj�dS)N)r)rrr �
FILTERS_RAW_2r@�COMPRESSED_RAW_2rB)r(r+rrr,�test_decompressor_raw_2vsz6CompressorDecompressorTestCase.test_decompressor_raw_2cCs"ttjtd�}|�|ttj�dS)N)r)rrr �
FILTERS_RAW_3r@�COMPRESSED_RAW_3rB)r(r+rrr,�test_decompressor_raw_3zsz6CompressorDecompressorTestCase.test_decompressor_raw_3cCs"ttjtd�}|�|ttj�dS)N)r)rrr �
FILTERS_RAW_4r@�COMPRESSED_RAW_4rB)r(r+rrr,�test_decompressor_raw_4~sz6CompressorDecompressorTestCase.test_decompressor_raw_4c	Cs�t�}g}x@tdtt�d�D],}|�|j�|�|�t||d���qWd�|�}|�	|t
�|�	|jtj
�|�|j�|�	|jd�dS)Nr�
r7)r�range�lenr3r8r9�appendr&�joinr:r;rrrAr<r=)r(r+r?�irrr,�test_decompressor_chunks�s 
z7CompressorDecompressorTestCase.test_decompressor_chunksc	Cs�t�}g}xptdtt�d�D]\}|�|j�|�|�d��|�|�d��|�|�d��|�|�t||d���qWd�|�}|�	|t
�|�	|jtj
�|�|j�|�	|jd�dS)NrrQr7)rrRrSr3r8r9rTr&rUr:r;rrrAr<r=)r(r+r?rVrrr,�test_decompressor_chunks_empty�s 
z=CompressorDecompressorTestCase.test_decompressor_chunks_emptycCs&t�}d}g}tt�d}|�|jtd|�|d��|�|j�|�t|d�|�|�|jd|d��|�|j�|�t|d�|�|�|jt|d�|d��|�t|d�|�x2|j	s�|�|jd|d��|�t|d�|�q�Wd�
|�}|�|t�|�|jt
j�|�|jd�dS)N�d�)�
max_length���r7)rrSr3rTr&r8�needs_inputr:�assertLessEqualr9rUr;rrrAr=)r(r+r[r?Zlen_rrr,� test_decompressor_chunks_maxsize�s*


z?CompressorDecompressorTestCase.test_decompressor_chunks_maxsizecCs�t�}g}|�|jtdd�dd�d�|�|�dd��|�|�tdd�d��|�|�tdd���|�d�|�t�dS)NrYr)r[r7rZ�i�)rr:r&r3rTrUr;)r(r+r?rrr,�test_decompressor_inputbuf_1�sz;CompressorDecompressorTestCase.test_decompressor_inputbuf_1cCs�t�}g}|�|jtdd�dd�d�|�|�d��|�|�tdd�d��|�|�tdd�d��|�|�tdd���|�d�|�t�dS)N��r)r[r7irZi,)rr:r&r3rTrUr;)r(r+r?rrr,�test_decompressor_inputbuf_2�sz;CompressorDecompressorTestCase.test_decompressor_inputbuf_2cCslt�}g}|�|�tdd�d��|�|�tdd�d��|�|�tdd���|�d�|�t�dS)Nrc�i,r7)rrTr&r3r:rUr;)r(r+r?rrr,�test_decompressor_inputbuf_3�sz;CompressorDecompressorTestCase.test_decompressor_inputbuf_3cCs&t�}d}|j|t|tj|d�dS)Ns	fooblibar)r=)rr@r3rrA)r(r+Zextrarrr,�test_decompressor_unused_data�sz<CompressorDecompressorTestCase.test_decompressor_unused_datacCslt�}|�t|jt�ttj�}|�t|jt�ttj�}|�t|jt	�ttj
td�}|�t|jt	�dS)N)r)rrrr&rFrr"r5r#r3r r!)r(r+rrr,�test_decompressor_bad_input�s

z:CompressorDecompressorTestCase.test_decompressor_bad_inputcCs*t�}|�t|jt�|�t|jt�dS)N)rrrr&rF)r(r+rrr,�test_decompressor_bug_28275sz:CompressorDecompressorTestCase.test_decompressor_bug_28275cCs2t�}|�t�|��}t�}|�||tj�dS)N)r
r$r;r%rr@rrA)r(r)�cdatar+rrr,�test_roundtrip_xzsz0CompressorDecompressorTestCase.test_roundtrip_xzcCs6ttj�}|�t�|��}t�}|�||tj�dS)N)	r
rr#r$r;r%rr@rB)r(r)rjr+rrr,�test_roundtrip_alones
z3CompressorDecompressorTestCase.test_roundtrip_alonecCsBttjtd�}|�t�|��}ttjtd�}|�||tj	�dS)N)r)
r
rr rNr$r;r%rr@rB)r(r)rjr+rrr,�test_roundtrip_raw sz1CompressorDecompressorTestCase.test_roundtrip_rawcCspttjtd�}|�t�}||�d�7}||�d�7}||�d�7}||��7}ttjtd�}|�||tj	�dS)N)rr7)
r
rr rNr$r;r%rr@rB)r(r)rjr+rrr,�test_roundtrip_raw_empty&s
z7CompressorDecompressorTestCase.test_roundtrip_raw_emptyc	Csrt�}g}x4tdtt�d�D] }|�|�t||d���qW|�|���d�|�}t�}|�	||t
j�dS)NrrQr7)r
rRrSr;rTr$r%rUrr@rrA)r(r)rjrVr+rrr,�test_roundtrip_chunks0s 
z4CompressorDecompressorTestCase.test_roundtrip_chunksc	Cs�t�}g}xdtdtt�d�D]P}|�|�t||d���|�|�d��|�|�d��|�|�d��qW|�|���d�|�}t�}|�	||t
j�dS)NrrQr7)r
rRrSr;rTr$r%rUrr@rrA)r(r)rjrVr+rrr,�test_roundtrip_empty_chunks:s
z:CompressorDecompressorTestCase.test_roundtrip_empty_chunkscCs"t�}|j|tttjtd�dS)N)r=)rr@r3r5rrA)r(r+rrr,�test_decompressor_multistreamIsz<CompressorDecompressorTestCase.test_decompressor_multistreamrYrZ)�sizeZmemusecCs\t�}|�d|�|��}t�|�}z*|�t|�|�|�t|�d��d�Wdd}XdS)N�xr)r
r$r%rr&r:rS�strip)r(rrr)rj�ddatarrr,�test_compressor_bigmemPs
z5CompressorDecompressorTestCase.test_compressor_bigmemrcCsht�}d}t�|d��|d�}z4|||d}t�|�}|�|�}|�||�Wdd}}}XdS)Ni���little�)r�randomZgetrandbits�to_bytesrr$r&r:)r(rrr+Z	blocksize�block�inputrjrurrr,�test_decompressor_bigmem[s

z7CompressorDecompressorTestCase.test_decompressor_bigmemc
Csdx^ttjd�D]L}|�t��t�t�|�WdQRX|�t��t�t�|�WdQRXqWdS)Nry)rR�pickleZHIGHEST_PROTOCOLrr�dumpsr
r)r(�protorrr,�test_picklejs
z*CompressorDecompressorTestCase.test_picklecCsLt�td�}t�}|�}xtd�D]}|��q"W|j|�|ddd�dS)N�gettotalrefcountrYrrQ)Zdelta)rZ
get_attribute�sysrrR�__init__ZassertAlmostEqual)r(r�r+Zrefs_beforerVrrr,�&test_refleaks_in_decompressor___init__qszECompressorDecompressorTestCase.test_refleaks_in_decompressor___init__N)r7)'�__name__�
__module__�__qualname__r-r2r4r6r@rCrDrErGrJrMrPrWrXr_rbrdrfrgrhrirkrlrmrnrorprqr	rrvr~r�rZ
refcount_testr�rrrr,rs@(
 
	

rc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�"CompressDecompressFunctionTestCasec	Cs�|�ttj�|�ttjg�|jttjddd�|jttjddd�|jttjddd�|jttjddd	�|�t��tjdd
dtjigd�WdQRX|�ttj�|�ttjg�|jttjdd
d�|jttjddd�|�t��tjdtjid�WdQRX|�t��tjdtjdd�WdQRX|�t��tjdtd	�WdQRX|�t��tjdtj	td�WdQRX|�t��tjdtj
td�WdQRXdS)Nr7Zxz)rZnone)rZblah)ri)rrr)rrrg��1�A)r)rri)rr)rrrr$rrr&r r!r"r#)r(rrr,�
test_bad_argss."z0CompressDecompressFunctionTestCase.test_bad_argsc	Csx|�t��tjtdd�WdQRX|�t��tjttjdd�WdQRX|�t��tjttjdd�WdQRXdS)Ni)r)rr)rrrr&r3r"r5r#)r(rrr,�test_decompress_memlimit�sz;CompressDecompressFunctionTestCase.test_decompress_memlimitcCs�t�t�}|�|t�t�t�}|�|t�t�ttj�}|�|t�t�ttj�}|�|t�tjttj	t
d�}|�|t�tjttj	td�}|�|t�tjt
tj	td�}|�|t�tjttj	td�}|�|t�dS)N)r)rr&r3r:r;r5r"r#rFr r!rIrHrLrKrOrN)r(rurrr,�test_decompress_good_input�s(

z=CompressDecompressFunctionTestCase.test_decompress_good_inputcCs�|�ttjtdd��|�ttjtdd��|jttjtdd�tjtd�|jttjt	dd�tjt
d�|jttjtdd�tjtd�|jttjt
dd�tjtd�dS)N�)rr)rrrr&r3r5rFr r!rIrHrLrKrOrN)r(rrr,� test_decompress_incomplete_input�szCCompressDecompressFunctionTestCase.test_decompress_incomplete_inputc	Cs�|�t��t�t�WdQRX|�t��t�t�WdQRX|�t��tjttjd�WdQRX|�t��tjttj	d�WdQRX|�t��tjttj
td�WdQRXdS)N)r)rr)rrrr&�COMPRESSED_BOGUSrFr5r"r3r#r r!)r(rrr,�test_decompress_bad_input�s
z<CompressDecompressFunctionTestCase.test_decompress_bad_inputcCs�t�t�}t�|�}|�|t�t�ttj�}t�|�}|�|t�t�ttj�}t�|�}|�|t�tjttjtd�}tj|tjtd�}|�|t�dS)N)r)	rr$r;r&r:r"r#r rN)r(rjrurrr,�test_roundtrip�s



z1CompressDecompressFunctionTestCase.test_roundtripcCs"t�tt�}|�|td�dS)NrZ)rr&r3r5r:r;)r(rurrr,�test_decompress_multistream�sz>CompressDecompressFunctionTestCase.test_decompress_multistreamcCst�tt�}|�|t�dS)N)rr&r3r�r:r;)r(rurrr,�test_decompress_trailing_junk�sz@CompressDecompressFunctionTestCase.test_decompress_trailing_junkcCs&t�tdt�}|�|td�dS)Nr)rr&r3r�r:r;)r(rurrr,�)test_decompress_multistream_trailing_junk�szLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junkN)r�r�r�r�r�r�r�r�r�r�r�r�rrrr,r�{sr�c@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�TempFilez=Context manager - creates a file, and deletes it on __exit__.r7cCs||_||_dS)N)�filenamer>)r(r�r>rrr,r�szTempFile.__init__c	Cs(t|jd��}|�|j�WdQRXdS)N�wb)�openr��writer>)r(�frrr,�	__enter__	szTempFile.__enter__cGst|j�dS)N)rr�)r(�argsrrr,�__exit__
szTempFile.__exit__N)r7)r�r�r��__doc__r�r�r�rrrr,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=dwdx�Z>dydz�Z?d{S)|�FileTestCasec	Csdttt���}WdQRXtt�d��}WdQRXtt�d��}WdQRXtt�d��}WdQRXdS)N�w�x�a)rrr3)r(r�rrr,�	test_inits


zFileTestCase.test_initc
Cs�t�t�}t|t��rt|��}|�|��t�WdQRXt|d��}|�	t�WdQRXt|��}|�|��td�WdQRXWdQRXdS)Nr�rZ)
�pathlib�Pathrr�r3rr:�readr;r�)r(r�r�rrr,� test_init_with_PathLike_filenames


z-FileTestCase.test_init_with_PathLike_filenamec
CsZttt��Ftt��}WdQRXttd��}WdQRXttd��}WdQRXWdQRXdS)Nr�r�)r�rr3r)r(r�rrr,�test_init_with_filename's


z$FileTestCase.test_init_with_filenamec
Cs�tt���ttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXttd��WdQRXWdQRXdS)N�r�rbr�r�r��ab)r�rr)r(rrr,�test_init_mode0s





zFileTestCase.test_init_modecCsh|�tt�xVdD]N}tt�tt|��WdQRX|�t��tt|��WdQRXWdQRXqWdS)N)r��xb)�
addCleanuprrrr�FileExistsError)r(�moderrr,�test_init_with_x_mode?s

z"FileTestCase.test_init_with_x_modec	Cs�|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d�WdQRX|�t��ttt�d	�WdQRX|�t��ttt�d
�WdQRX|�t��ttt�d�WdQRXdS)N)rr�r�xtzx+�rxZwx�rtzr+�wtzw+�rw)rrrrr3)r(rrr,�test_init_bad_modeIs,zFileTestCase.test_init_bad_modec	CsF|�t��tt�ddd�WdQRX|�t��tt�dtjd�WdQRX|�t��tt�dtjdd�WdQRX|�t��ttt	�tj
d�WdQRX|�t��ttt	�tjd�WdQRX|�t��ttt	�tjd�WdQRX|�t��ttt	�tj
d�WdQRX|�t��ttt	�tjd�WdQRXdS)Nr�sasd)rr)rrrrrr�
CHECK_UNKNOWN�CHECK_ID_MAXrr3rB�CHECK_CRC32rAZCHECK_SHA256)r(rrr,�test_init_bad_checkas  z FileTestCase.test_init_bad_checkc	Cs|�t��tt�ddd�WdQRX|�t��tt�ddd�WdQRX|�t��tt�ddd�WdQRX|�t��tt�ddd�WdQRX|�t��tt�ddd�WdQRX|�t��tt�ddd�WdQRX|�t��ttt�d	d�WdQRXdS)
Nr�g��(\�@)rrQ�r\i����r/r)rrrrr�
OverflowErrorrr3)r(rrr,�test_init_bad_presetusz!FileTestCase.test_init_bad_presetc	Cs|�t��tt�ddgd�WdQRX|�t��tt�dddigd�WdQRX|�t��tt�dddigd�WdQRX|�t�� tt�dtjdd	�gd�WdQRX|�t�� tt�dtjdd	�gd�WdQRX|�t�� tt�dtjdd	�gd�WdQRXdS)
Nr�swobsite)rr.rrír)rr/)	rrrrrrrr0r1)r(rrr,�test_init_bad_filter_spec�s  z&FileTestCase.test_init_bad_filter_specc	Cs0|�t��tt�dtjdtd�WdQRXdS)Nr��)rrr)rrrrrr r!)r(rrr,�!test_init_with_preset_and_filters�sz.FileTestCase.test_init_with_preset_and_filtersc	Cs�tt��6}t|�}|��|�|j�|��|�|j�WdQRXttt��0tt�}|j}|��|�	|j�|��WdQRXdS)N)
rr3r�closer8�closedr�r�_fpr<)r(�srcr��fprrr,�
test_close�s
zFileTestCase.test_closecCs�ttt��}z$|�|j�|��|�|j�Wd|��X|�|j�tt�d�}z|�|j�Wd|��X|�|j�dS)Nr�)rrr3r8r�r�r�r<)r(r�rrr,�test_closed�s

zFileTestCase.test_closedc	Cs�ttt��}z|�t|j�Wd|��X|�t|j�tt	t��Dtt	�}z*|�
|��|j���|�|��t
�Wd|��XWdQRX|�t|j�dS)N)rrr3rr�filenor�rr�rr:r�ZassertIsInstance�int)r(r�rrr,�test_fileno�s
zFileTestCase.test_filenocCs�ttt��}z(|�|���|��|�|���Wd|��X|�t|j�tt�d�}z|�	|���Wd|��X|�t|j�tt�}dd�|_t|�}z|�	|���Wd|��X|�t|j�dS)Nr�cSsdS)NFrrrrr,�<lambda>�r7z,FileTestCase.test_seekable.<locals>.<lambda>)
rrr3r<�seekabler�r�rrr8)r(r�r�rrr,�
test_seekable�s&



zFileTestCase.test_seekablecCs�ttt��}z(|�|���|��|�|���Wd|��X|�t|j�tt�d�}z|�	|���Wd|��X|�t|j�dS)Nr�)
rrr3r<�readabler�r�rrr8)r(r�rrr,�
test_readable�s

zFileTestCase.test_readablecCs�ttt��}z(|�|���|��|�|���Wd|��X|�t|j�tt�d�}z|�	|���Wd|��X|�t|j�dS)Nr�)
rrr3r8�writabler�r�rrr<)r(r�rrr,�
test_writable�s

zFileTestCase.test_writablec	Cs�ttt���&}|�|��t�|�|��d�WdQRXttt���}|�|��t�WdQRXttt�tjd��&}|�|��t�|�|��d�WdQRXttt�tj	d��&}|�|��t�|�|��d�WdQRXttt
�tjtd��&}|�|��t�|�|��d�WdQRXttt
�tjtd��&}|�|��t�|�|��d�WdQRXttt�tjtd��&}|�|��t�|�|��d�WdQRXttt�tjtd��&}|�|��t�|�|��d�WdQRXdS)Nr7)r)rr)rrr3r:r�r;r5rr"r#rFr r!rIrHrLrKrOrN)r(r�rrr,�	test_read
s6zFileTestCase.test_readc	Cs�ttt���}|�|�d�d�WdQRXttt���}|�|�d�d�WdQRXttt�tjd��}|�|�d�d�WdQRXttt�tjd��}|�|�d�d�WdQRXdS)Nrr7)r)	rrr3r:r�r5rr"r#)r(r�rrr,�test_read_0*szFileTestCase.test_read_0c	Csbttt���L}g}x.|�d�}|s$P|�t|�d�|�|�qW|�d�|�t	�WdQRXdS)NrQr7)
rrr3r�r^rSrTr:rUr;)r(r�Zchunks�resultrrr,�test_read_104s
zFileTestCase.test_read_10c	Cs�tttd���}|�|��td�WdQRXtttt���}|�|��td�WdQRXtttd�tj	t
d��}|�|��td�WdQRXdS)NrerZ�)rr)rrr3r:r�r;r5rLrr rK)r(r�rrr,�test_read_multistream?sz"FileTestCase.test_read_multistreamc	CsRtj}tt�t_z4tttd���}|�|��td�WdQRXWd|t_XdS)Nre)	�_compression�BUFFER_SIZErSr3rrr:r�r;)r(Zsaved_buffer_sizer�rrr,�)test_read_multistream_buffer_size_alignedHs
"z6FileTestCase.test_read_multistream_buffer_size_alignedc	Cs0tttt���}|�|��t�WdQRXdS)N)rrr3r�r:r�r;)r(r�rrr,�test_read_trailing_junkSsz$FileTestCase.test_read_trailing_junkc	Cs8tttdt���}|�|��td�WdQRXdS)Nre)rrr3r�r:r�r;)r(r�rrr,�#test_read_multistream_trailing_junkWsz0FileTestCase.test_read_multistream_trailing_junkc
CsNttt��:tt��&}|�|��t�|�|��d�WdQRXWdQRXdS)Nr7)r�rr3rr:r�r;)r(r�rrr,�test_read_from_file[s
z FileTestCase.test_read_from_filec
Cs|yt�d�}Wntk
r,|�d�YnXttt��:t|��&}|�|��t	�|�|��d�WdQRXWdQRXdS)N�asciiz%Temporary file name needs to be ASCIIr7)
r�encode�UnicodeEncodeError�skipTestr�r3rr:r�r;)r(�bytes_filenamer�rrr,�'test_read_from_file_with_bytes_filenameas
z4FileTestCase.test_read_from_file_with_bytes_filenamec	Cs2tttdd����}|�t|j�WdQRXdS)Nr�)rrr3rr'r�)r(r�rrr,�test_read_incompleteksz!FileTestCase.test_read_incompletec
Cs�tdd�}tt|���}|�t|j�WdQRXtt|���,}|�|�tt��t�|�t|jd�WdQRXx@t	d�D]4}tt|d|����}|�t|jd�WdQRXqzWdS)Ni�ry�)
r3rrrr'r�r:rSr;rR)r(Z	truncatedr�rVrrr,�test_read_truncatedosz FileTestCase.test_read_truncatedc	Csvttt��}|��|�t|j�tt�d��}|�t|j�WdQRXttt���}|�t|jt��WdQRXdS)Nr�)	rrr3r�rrr�r�float)r(r�rrr,�test_read_bad_args}szFileTestCase.test_read_bad_argsc	Cs*ttt���}|�t|j�WdQRXdS)N)rrr�rrr�)r(r�rrr,�test_read_bad_data�szFileTestCase.test_read_bad_datac	Cs`ttt���J}g}x|��}|s"P|�|�qW|�d�|�t�|�|��d�WdQRXdS)Nr7)rrr3�read1rTr:rUr;)r(r��blocksr�rrr,�
test_read1�szFileTestCase.test_read1c	Cs.ttt���}|�|�d�d�WdQRXdS)Nrr7)rrr3r:r�)r(r�rrr,�test_read1_0�szFileTestCase.test_read1_0c	Csbttt���L}g}x|�d�}|s$P|�|�qW|�d�|�t�|�|��d�WdQRXdS)NrQr7)rrr3r�rTr:rUr;)r(r�r�r�rrr,�
test_read1_10�s
zFileTestCase.test_read1_10c	Cshtttd���N}g}x|��}|s&P|�|�qW|�d�|�td�|�|��d�WdQRXdS)Nrer7)rrr3r�rTr:rUr;)r(r�r�r�rrr,�test_read1_multistream�sz#FileTestCase.test_read1_multistreamc	Cstttt��}|��|�t|j�tt�d��}|�t|j�WdQRXttt���}|�t|jd�WdQRXdS)Nr�)rrr3r�rrr�r)r(r�rrr,�test_read1_bad_args�sz FileTestCase.test_read1_bad_argsc	Cs�ttt���>}|��}|�t|�d�|�t�|��|�	|�
�t�WdQRXttt���@}|�d�}|�t|�d�|�t�|��|�	|�
�t�WdQRXdS)NrrQ)rrr3�peekZ
assertGreaterrSr<r;�
startswithr:r�)r(r�r�rrr,�	test_peek�s
zFileTestCase.test_peekc	Cs*tt�d��}|�t|j�WdQRXdS)Nr�)rrrrr�)r(r�rrr,�test_peek_bad_args�szFileTestCase.test_peek_bad_argsc	Cstt��}|��}WdQRXttt���}|�tt|��|�WdQRXttt���}|�tt|��|�WdQRXttt�t	j
d��}|�tt|��|�WdQRXttt�t	jd��}|�tt|��|�WdQRXttt�t	j
td��}|�tt|��|�WdQRXdS)N)r)rr)rr;�	readlinesrr3�assertListEqual�list�iterr5rr"r#rIr rH)r(r��linesrrr,�
test_iterator�s
zFileTestCase.test_iteratorc	CsVtt��}|��}WdQRXttt���$}x|D]}|�|��|�q0WWdQRXdS)N)rr;r�rr3r:�readline)r(r�r��linerrr,�
test_readline�s


zFileTestCase.test_readlinec	CsHtt��}|��}WdQRXttt���}|�|��|�WdQRXdS)N)rr;r�rr3r�)r(r�r�rrr,�test_readlines�s
zFileTestCase.test_readlinescCshtjdtd�dd�}|�t|�tj�tt|��}|�	|�
d�d�dt}|�|j
j��|d�dS)z-Decompressed data buffering should be limited�g��>Ar�)rryz)Excessive amount of data was decompressedN)rr$r�Z
assertLessrSr�r�rrr:r�rr^Z_buffer�raw�tell)r(ZbombZdecompZ
max_decomprrr,�test_decompress_limited�sz$FileTestCase.test_decompress_limitedc
Cs\t��@}t|d��}|�t�WdQRXt�t�}|�|��|�WdQRXt��L}t|dtjd��}|�t�WdQRXtjttjd�}|�|��|�WdQRXt��L}t|dtj	d��}|�t�WdQRXtjttj	d�}|�|��|�WdQRXt��P}t|dtj
td��}|�t�WdQRXtjttj
td�}|�|��|�WdQRXdS)Nr�)r)rr)rrr�r;rr$r:�getvaluer"r#r rH)r(�dstr��expectedrrr,�
test_write�s,



zFileTestCase.test_writec
Csvt��f}t|d��6}x.tdtt�d�D]}|�t||d��q&WWdQRXt�t�}|�|�	�|�WdQRXdS)Nr�rrQ)
rrrRrSr;r�rr$r:r)r(rr��startrrrr,�
test_write_10s$
zFileTestCase.test_write_10c
Cs�tdd�}tdd�}tdd�}d�dd�|||fD��}t��v}t|d��}|�|�WdQRXt|d��}|�|�WdQRXt|d��}|�|�WdQRX|�|��|�WdQRXdS)Niir7css|]}t�|�VqdS)N)rr$)�.0r�rrr,�	<genexpr>sz1FileTestCase.test_write_append.<locals>.<genexpr>r�r�)r;rUrrr�r:r)r(�part1�part2�part3rrr�rrr,�test_write_appendszFileTestCase.test_write_appendc	CsdzTttd��}|�t�WdQRXt�t�}ttd��}|�|��|�WdQRXWdt	t�XdS)Nr�r�)
rrr�r;rr$r�r:r�r)r(r�rrrr,�test_write_to_files
zFileTestCase.test_write_to_filec	Cs�yt�d�}Wntk
r,|�d�YnXzTt|d��}|�t�WdQRXt�t�}t	td��}|�
|��|�WdQRXWdtt�XdS)Nr�z%Temporary file name needs to be ASCIIr�r�)
rr�r�r�rr�r;rr$r�r:r�r)r(r�r�rrrr,�&test_write_to_file_with_bytes_filename's
z3FileTestCase.test_write_to_file_with_bytes_filenamec	Cs�tdd�}tdd�}tdd�}d�dd�|||fD��}z�ttd��}|�|�WdQRXttd��}|�|�WdQRXttd��}|�|�WdQRXttd��}|�|��|�WdQRXWdtt�XdS)	Niir7css|]}t�|�VqdS)N)rr$)rr�rrr,r9sz9FileTestCase.test_write_append_to_file.<locals>.<genexpr>r�r�r�)	r;rUrrr�r�r:r�r)r(r
rrrr�rrr,�test_write_append_to_file5sz&FileTestCase.test_write_append_to_filec	Cs�tt�d�}|��|�t|jd�ttt�d��}|�t|jd�WdQRXtt�d��6}|�t|jd�|�t|jd�|�t|jd�WdQRXdS)Nr�sfoor�sbar�texti)rrr�rrr�r3r)r(r�rrr,�test_write_bad_argsFsz FileTestCase.test_write_bad_argsc
Csltt��}|��}WdQRXt��@}t|d��}|�|�WdQRXt�t�}|�|��|�WdQRXdS)Nr�)	rr;r�r�
writelinesrr$r:r)r(r�r�rrrrr,�test_writelinesQs

zFileTestCase.test_writelinesc	Cs>ttt���(}|�d�|�|��tdd��WdQRXdS)Ni+)rrr3�seekr:r�r;)r(r�rrr,�test_seek_forwardZs
zFileTestCase.test_seek_forwardc	CsJtttd���0}|�tt�d�|�|��tdd��WdQRXdS)NrZ�{)rrr3rrSr;r:r�)r(r�rrr,� test_seek_forward_across_streams_sz-FileTestCase.test_seek_forward_across_streamsc	CsJttt���4}|�d�|�dd�|�|��tdd��WdQRXdS)NrYi�ryi8)rrr3r�rr:r;)r(r�rrr,�%test_seek_forward_relative_to_currentds
z2FileTestCase.test_seek_forward_relative_to_currentc	Cs@ttt���*}|�dd�|�|��tdd��WdQRXdS)Ni���rZ)rrr3rr:r�r;)r(r�rrr,�!test_seek_forward_relative_to_endjsz.FileTestCase.test_seek_forward_relative_to_endc	CsHttt���2}|�d�|�d�|�|��tdd��WdQRXdS)Ni���)rrr3r�rr:r;)r(r�rrr,�test_seek_backwardos

zFileTestCase.test_seek_backwardc	CsXtttd���>}|�tt�d�|�d�|�|��tdd�t�WdQRXdS)NrZiMi�)rrr3r�rSr;rr:)r(r�rrr,�!test_seek_backward_across_streamsus
z.FileTestCase.test_seek_backward_across_streamsc	Cs@ttt���*}|�dd�|�|��tdd��WdQRXdS)Nij���rZ)rrr3rr:r�r;)r(r�rrr,�"test_seek_backward_relative_to_end{sz/FileTestCase.test_seek_backward_relative_to_endc	CsRttt���<}|�tt�d�|�|��tt��|�|��d�WdQRXdS)Ni)#r7)	rrr3rrSr;r:rr�)r(r�rrr,�test_seek_past_end�szFileTestCase.test_seek_past_endc	CsFttt���0}|�d�|�|��d�|�|��t�WdQRXdS)Ni����r)rrr3rr:rr�r;)r(r�rrr,�test_seek_past_start�s
z!FileTestCase.test_seek_past_startc	Cs�ttt��}|��|�t|jd�tt�d��}|�t|jd�WdQRXttt���N}|�t|jdd�|�ttf|jdd�|�t|jd�|�t|jd�WdQRXdS)Nrr�r�	rsderp)rrr3r�rrrr)r(r�rrr,�test_seek_bad_args�szFileTestCase.test_seek_bad_argsc	Cs�ttt���P}d}x0|�|��|�|�d�}|s4P|t|�7}qW|�|��tt��WdQRXtt�d��Z}x>tdtt�d�D]*}|�|��|�|�	t||d��q�W|�|��tt��WdQRXdS)Nr�r��)
rrr3r:rr�rSr;rRr�)r(r��posr�rrr,�	test_tell�s
zFileTestCase.test_tellcCs&ttt��}|��|�t|j�dS)N)rrr3r�rrr)r(r�rrr,�test_tell_bad_args�szFileTestCase.test_tell_bad_argscCs�t�}|jtdd�}|�t|�d�|�|j�t�}|jtdd�}|�|j�|�|j�|�d�}|�t|�d�|�|j�|�|||�dS)Nr\)r[ih3i]3r7�)	rr&�ISSUE_21872_DATr:rSr<r9r8r])r(Zd1ZentireZd2Zout1Zout2rrr,�test_issue21872�s
zFileTestCase.test_issue21872N)@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�rrrr
rrrrrrrrrrrr r!r"r#r%r)r*r-rrrr,r�sz

	

	
		
	
r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�OpenTestCasec
Cs�t�tt�d��}|�|��t�WdQRXt���}t�|d��}|�t�WdQRXt�|�	��}|�|t�t�|d��}|�t�WdQRXt�|�	��}|�|td�WdQRXdS)Nr�r�r�rZ)
rr�rr3r:r�r;r�r&r)r(r��bio�	file_datarrr,�test_binary_modes�szOpenTestCase.test_binary_modesc
Cs�t�d�}|�dtj�}t�tt�d��}|�	|�
�|�WdQRXt���}t�|d��}|�|�WdQRXt�|�
���d�}|�	||�t�|d��}|�|�WdQRXt�|�
���d�}|�	||d�WdQRXdS)Nr��
r�r�ZatrZ)r;�decode�replace�os�lineseprr�rr3r:r�r�r&r)r(�uncompressed�uncompressed_rawr�r/r0rrr,�test_text_modes�s
zOpenTestCase.test_text_modesc
Cs�tt���t�td��}|�t�WdQRXttd�� }t�|���}|�|t�WdQRXt�td��}|�|��t�WdQRXt�td��}|�t�WdQRXt�td��}|�|��td�WdQRXWdQRXdS)Nr�r�r�rZ)	r�rrr�r�r;r&r�r:)r(r�r0rrr,�
test_filename�s
zOpenTestCase.test_filenamec
Cs�t�t�}t|���t�|d��}|�t�WdQRXt|d�� }t�|�	��}|�
|t�WdQRXt�|d��}|�
|�	�t�WdQRXWdQRXdS)Nr�r�)r�r�rr�rr�r�r;r&r�r:)r(r�r�r0rrr,�test_with_pathlike_filename�s

z(OpenTestCase.test_with_pathlike_filenamec	Cs�|�t��t�td�WdQRX|�t��t�td�WdQRX|�t��tjtddd�WdQRX|�t��tjtddd�WdQRX|�t��tjtddd	�WdQRXdS)
NrZrbtr�zutf-8)�encoding�ignore)�errorsr2)�newline)rrrr�r)r(rrr,�test_bad_paramsszOpenTestCase.test_bad_paramsc
Cs�tjtd�}tjtt�df|��}|�|��t�WdQRXt��J}tj|df|��}|�	t�WdQRXtj
|��f|�}|�|t�WdQRXdS)N)rrr�r�)rr r!r�rrFr:r�r;r�r&r)r(�optionsr�r/r0rrr,�test_format_and_filterssz$OpenTestCase.test_format_and_filtersc
Cs�t�d�}|�dtj�}t���}tj|ddd��}|�|�WdQRXt�	|�
���d�}|�||�|�d�tj|ddd��}|�|�
�|�WdQRXWdQRXdS)Nr�r2r�z	utf-16-le)r<rr�)r;r3r4r5r6rrr�r�r&rr:rr�)r(r7r8r/r�r0rrr,�
test_encodings

zOpenTestCase.test_encodingc
CsLtt�d���4}tj|dddd��}|�|��d�WdQRXWdQRXdS)Nsfoo�barr�r�r=)r<r>Zfoobar)rrr$r�r:r�)r(r/r�rrr,�test_encoding_error_handler)sz(OpenTestCase.test_encoding_error_handlerc
Cs~t�d�}t��d}tj|ddd��}|�|�WdQRX|�d�tj|ddd��}|�|��|g�WdQRXWdQRXdS)Nr�r�r2)r?rr��
)	r;r3rrr�r�rr:r�)r(rr/r�rrr,�test_newline/s

zOpenTestCase.test_newlinecCsl|�tt�xZdD]R}tt�t�t|��WdQRX|�t��t�t|��WdQRXWdQRXqWdS)N)r�r�r�)r�rrrr�rr�)r(r�rrr,�test_x_mode9s

zOpenTestCase.test_x_modeN)
r�r�r�r1r9r:r;r@rBrCrDrFrGrrrr,r.�s



r.c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MiscellaneousTestCasecCsP|�t�tj��|�t�tj��|�t�tjd��|�t�tj��dS)Nry)r<rZis_check_supportedrBr�r8r�r�)r(rrr,�test_is_check_supportedFsz-MiscellaneousTestCase.test_is_check_supportedc	Cs�|�t��t�d�WdQRX|�t��t�ddi�WdQRX|�t��t�tjdd��WdQRX|�tj��t�tjdd��WdQRXt�tjdd	d
dd��}|�	|d
�dS)Ns
not a dictr�r�)rZjunki)#)r�distrZrri�)r�pb�lp�lc�	dict_sizes]�)
rrr�_encode_filter_propertiesrrrr0�FILTER_LZMA1r:)r(Zpropsrrr,�test__encode_filter_propertiesRs 
z4MiscellaneousTestCase.test__encode_filter_propertiesc	Cs�|�t��t�tjdti�WdQRX|�tj��t�tjd�WdQRXt�tjd�}|�	|dtj�|�	|dd�|�	|dd�|�	|d	d
�|�	|dd�dS)
Nz	should bestoo longs]�rrLrZrMrrNrrOi�)
rrr�_decode_filter_propertiesr1�bytesrr0rQr:)r(Z
filterspecrrr,�test__decode_filter_propertiesgs
z4MiscellaneousTestCase.test__decode_filter_propertiescCs6t�tjd�}t�|�}t�tj|�}|�||�dS)Ns]�)rrSrQrPr:)r(Zspec1Z	reencodedZspec2rrr,� test_filter_properties_roundtripvs


z6MiscellaneousTestCase.test_filter_properties_roundtripN)r�r�r�rIrRrUrVrrrr,rHDsrHs�
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���xr)rrs���]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�2rZ)rrKs����]-Ԩ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�rJ)rZstart_offsetrs����]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��@)rrrNs��\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��js]@h3`D��ѻZ^�3+����g�-1F���%-�p��s8�,��|*xТ�b!c�هU�n �VJ�"�8�%_`?@*‚�^�&��g���ɯ'�}F��N�\�Mz-˚�O@�gƥw
nG'���GI������rυy[���/������_�MQ+x�F�]��&,�f���Hgr�v��qxY��F�9��'���F���d<�\�����ka�i� C�"4)֧`�����y�|j�X�!��NDžj�v���]c�5�ՙ�i^�G��l�:�,�'4���$���Y���w���k�kņ>�~����G5��]�0d��w#(3ʡ�bX����������r+m�3qŞ��*����6�s�-�r?��CgJN'M�
Q
�`m�N�q�l�:qG�T�!0�~�4�J8�2���7A���t]��5M�K����,j7��(���l2�ڕ(�0B���hp��J�	�g�o?�?�}���όV:�вk�k��=Ǎ/���`.�X*~�j�"��;V`���t0��d��)�}�\bJ��
+V!�ޘ��K�7����`�
�ā~؍��m�Y�)/����P�m[�z�Z���Ӌ���Pf�0�ЕJ{��W�op��e�]��ڷ5<�g!̱�\72Mc���35
0�L-�˖�U�ʰ̉*��P��.~9o?�
��}��P��
;m���|��#0�3<���^�HiֳTF��q}�&ĮΜU�̶drw�N��z�s�R���l�5^e��VYٟ�*Ĩ6+ֈ[�_rc�f���x|����~L/���ۘ��C��i��O��t����<Q`%5k
7�I�<#)&��C�`!˩��F���M�u�ʕe��b�Xa�Of;�C�r�bٜ�i]<z�T�9pF����Pw堔��a���q�&Wo5q8�t����4-H	�d��Q��J��s.�"�pN����g}�|���d3X[�E�����+W�v�G/I<L\1�O��{�mW�~�^�@
�D@�A��9;�BO���u��tN��J5����Z�O�6[7�o*[�ɷa�'��u��q�+y��a��Mļ�0'pQ�H����K����=n�������F��OY���0	�|�������P�y~�h0��d[_v�c�I3�`W�yrkB���iŊ^�ԁ���>"�v`��$��^�2.�d�d@��Y|��j�}�riV��X4rB�NPS[���I����(�;9�|�^0;.*[�l�_X�f!�������4��3D{����t]�5�Uf��b
�,Q��	�@��<,-�3�7	K�7�*X��~��O�kz"��3sL�;�^��⽪Z�fڦ�:]}�a?���5M�
}M��
2��������Yo�ī�T��U���"���u�n�A̐�i���~4��*J�t��uוZ��G�~ST,�
C���`2�>Q��ś�������hu ��b��VKc�� ޅ-:���*��;`�ݗ�g��S}�5e7�/�!�Y��'��
��C��(��bTD_���E�֘{�\fz��9�˥��bqW!;z~��i�����s+5k�h��t�Uޣ�ˆ��j
���C�?0�Jj;���0d#�;���c�&8?�J��n��cb4����l��h�n�Z����e��,B-�c��|&�LL��8��6�bVi����F�̎4�/^W�?܄(dO�D64�,S�J�c^�0	�D[�憰��n�^븸�)������a ��@�+
/���h�3���`��+���P��-�B���n^�/��w�<M�!��E���Y�<�٦Bǃ�"�D|&��d��œ`�7��0�o��喤��v;]���'hA�&�9�~@��t�<�4���)�=:&�6�A+�������<�k\d�v��^l5C?ԠMCȀ
�3����BPjy���zE�[�oT
'�*H�
�M��7f;����'wM ��帷 D+P�gn��kc�ƐV�UovfZ��3^�翬v��x�J����j�n*o>��_+D{�s��HAG��ݭ�7q+�W�g"X��~��4�`��q)�K�sV��5�s*�;�{�<@�Gj�L�ؒ&�	u5]���\�A|I���C�e�Q�*�~�u�XyP�
��fZEu>��'`����cZ��8j��U��o���e>�R�b#�H-�!ޝ�k�w�{��/K)A���:�UM̻����{9� �((6i��u؞��q��7-�B�Q8�v�A�Cd��!�'�ͮ�ؓ�ިb��2K�l�	�|DU��>�w�7�}W�|g|1�� �m@�6+�	�D� Mҵ'��~Co���	�f��I�1���φ��`������͂�wc�d���C�UE�MJH�=�*I�"
^�S6=�@�,�Gr�[��>n��<�(���}���~4����s�tf�f��	�/)��
ײw����Q�n��s��Ʒ��(G<6�[~H ������~����
:���e����(��_(�c̟gv��S=S�>���
YR�G�A�������O��d�c�P������ܟ�"[Q~䈡#�CϾ�H��ؾm�WFQ(XDK�B�.-՞|��N]�Z�=�)M��LTi���N�?���4�O��&����u7�0�ؓ�BNE����yϘDʚ��L��_�]ܩ1 �cؿ��p�-����N(��#2�I�l�rcCstttttt�dS)N)r
rr�r�r.rHrrrr,�	test_main�srX�__main__)5r��iorrrr5r�rrzr�ZtestrZunittestZtest.supportrrrr	r
rrr
rrrZTestCaserr�r�r�r.rHr;r�r3r5rr!rFr0ZPRESET_DEFAULTZPRESET_EXTREMErHrIZFILTER_IA64rKrLr1rNrOr,rXr�rrrr,�<module>s^ jAwz/+-
=
,

C