Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 13.59.123.68
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : _pyio.cpython-310.opt-2.pyc
o

^bcq�@sr	ddlZddlZddlZddlZddlZddlZddlmZej	dvr+ddl
mZndZddl
Z
ddl
mZmZmZmZhd�Zeed�rRe�ej�e�ej�dZeZeed	�p^ejjZeZd6dd�Ze		d7dd��Zdd�Z ze
j!Z!Wne"y�e Z!Ynwdd�Z#ze
j$Z$Wne"y�Gdd�de%e&�Z$YnwGdd�dej'd�Z(e
j(�)e(�Gdd�de(�Z*e
j*�)e*�ddl+m,Z,e*�)e,�Gdd�de(�Z-e
j-�)e-�Gd d!�d!e-�Z.Gd"d#�d#e-�Z/Gd$d%�d%e.�Z0Gd&d'�d'e.�Z1Gd(d)�d)e-�Z2Gd*d+�d+e1e0�Z3Gd,d-�d-e*�Z,Gd.d/�d/e(�Z4e
j4�)e4�Gd0d1�d1ej5�Z6Gd2d3�d3e4�Z7Gd4d5�d5e7�Z8dS)8�N)�
allocate_lock>�win32�cygwin)�setmode)�__all__�SEEK_SET�SEEK_CUR�SEEK_END>r���	SEEK_HOLEi ZgettotalrefcountrcCs4	|durd}tjjrddl}|�dt|d�|S)N�localerz"'encoding' argument not specified.r
)�sys�flags�warn_default_encoding�warnings�warn�EncodingWarning)�encoding�
stacklevelr�r�./usr/local/python-3.10/lib/python3.10/_pyio.py�
text_encoding+s
�r�r���Tc	Csr	t|t�st�|�}t|tttf�std|��t|t�s$td|��t|t�s/td|��|dur>t|t�s>td|��|durMt|t�sMtd|��t|�}|td�s_t|�t|�kret	d|��d|v}	d|v}
d	|v}d
|v}d|v}
d|v}d
|v}d|vr�|	s�|s�|s�|
r�t	d��ddl
}|�dtd�d}
|r�|r�t	d��|	|
||dkr�t	d��|	s�|
s�|s�|s�t	d��|r�|dur�t	d��|r�|dur�t	d��|r�|dur�t	d��|r�|dkr�ddl
}|�dt
d�t||	r�dp�d|
r�dp�d|�rd	�pd|�r
d
�pd|
�rd�pd||d�}|}z�d}|dk�s-|dk�r1|���r1d}d}|dk�rVt}z
t�|���j}Wnttf�yNYnw|dk�rV|}|dk�r_t	d ��|dk�rn|�rj|WSt	d!��|
�rwt||�}n|	�s�|�s�|�r�t||�}n|
�r�t||�}nt	d"|��|}|�r�|WSt|�}t|||||�}|}||_|WS|���)#Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %r�invalid encoding: %r�invalid errors: %rzaxrwb+tU�xr�w�a�+�t�b�Uz4mode U cannot be combined with 'x', 'w', 'a', or '+'rz'U' mode is deprecatedrTz'can't have text and binary mode at oncer
z)can't have read/write/append mode at oncez/must have exactly one of read/write/append modez-binary mode doesn't take an encoding argumentz+binary mode doesn't take an errors argumentz+binary mode doesn't take a newline argumentzaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used�)�openerFrzinvalid buffering sizezcan't have unbuffered text I/Ozunknown mode: %r)�
isinstance�int�os�fspath�str�bytes�	TypeError�set�len�
ValueErrorrr�DeprecationWarning�RuntimeWarning�FileIO�isatty�DEFAULT_BUFFER_SIZE�fstat�fileno�
st_blksize�OSError�AttributeError�BufferedRandom�BufferedWriter�BufferedReaderr�
TextIOWrapper�mode�close)�filer>�	bufferingr�errors�newline�closefdr%ZmodesZcreating�reading�writingZ	appendingZupdating�text�binaryr�raw�result�line_buffering�bs�bufferrrr�openHs�
x


��

�����
�


rNcCs"	ddl}|�dtd�t|d�S)Nrz(_pyio.open_code() may not be using hooksr�rb)rrr1rN)�pathrrrr�_open_code_with_warning$s
�
rQcCs0|dkrddl}|jdtdd�tatSt|��)N�OpenWrapperrz+OpenWrapper is deprecated, use open insteadr)r)rrr0rNrRr9)�namerrrr�__getattr__:s�rTc@seZdZdS)�UnsupportedOperationN)�__name__�
__module__�__qualname__rrrrrUOsrUc@s�eZdZ	dd�Zd5dd�Zdd�Zd6d	d
�Zdd�Zd
Zdd�Z	dd�Z
dd�Zd6dd�Zdd�Z
d6dd�Zdd�Zd6dd�Zedd��Zd6d d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd7d+d,�Zd-d.�Zd/d0�Zd6d1d2�Zd3d4�ZdS)8�IOBasecCs	td|jj|f��)Nz%s.%s() not supported)rU�	__class__rV)�selfrSrrr�_unsupportedvs
�zIOBase._unsupportedrcC�	|�d�dS)N�seek�r\�r[�pos�whencerrrr^}s
zIOBase.seekcCs	|�dd�S�Nrr
)r^�r[rrr�tell��zIOBase.tellNcCr]�N�truncater_�r[rarrrrh��zIOBase.truncatecC�	|��dS�N��_checkClosedrdrrr�flush�szIOBase.flushFcCs*	|jsz
|��Wd|_dSd|_wdS)NT)�_IOBase__closedrordrrrr?�s
�zIOBase.closecCsV	z|j}Wn
tyYdSw|rdStr|��dSz|��WdSYdSrl)�closedr9�_IOBASE_EMITS_UNRAISABLEr?)r[rqrrr�__del__�s
�zIOBase.__del__cC�	dS�NFrrdrrr�seekable�szIOBase.seekablecC�$	|��st|dur
d��|��dS)NzFile or stream is not seekable.)rvrU�r[�msgrrr�_checkSeekable�����zIOBase._checkSeekablecCrtrurrdrrr�readable��zIOBase.readablecCrw)NzFile or stream is not readable.)r|rUrxrrr�_checkReadable�r{zIOBase._checkReadablecCrtrurrdrrr�writable�r}zIOBase.writablecCrw)NzFile or stream is not writable.)rrUrxrrr�_checkWritable�r{zIOBase._checkWritablecC�	|jSrl)rprdrrrrq�sz
IOBase.closedcCs"	|jrt|durd��|��dS�N�I/O operation on closed file.�rqr/rxrrrrn�s���zIOBase._checkClosedcCs	|��|Srlrmrdrrr�	__enter__szIOBase.__enter__cGrkrl)r?)r[�argsrrr�__exit__rfzIOBase.__exit__cCr])Nr6r_rdrrrr6�z
IOBase.filenocCs	|��dSrurmrdrrrr3sz
IOBase.isattyrcs�	t�d�r��fdd�}ndd�}�durd�nz�j}Wnty,t��d���w|��t�}�dks=t|��krb��|��}|sJ	t|�S||7}|�d�rX	t|�S�dks=t|��ks=t|�S)	N�peekcs>��d�}|s	dS|�d�dpt|�}�dkrt|��}|S)Nr
�
r)r��findr.�min)Z	readahead�n�r[�sizerr�
nreadahead1s

z#IOBase.readline.<locals>.nreadaheadcSsdS�Nr
rrrrrr�:sr� is not an integerrr�)	�hasattr�	__index__r9r,�	bytearrayr.�read�endswithr+)r[r�r��
size_index�resr"rr�r�readline%s0

	
��
�zIOBase.readlinecCs|��|Srlrmrdrrr�__iter__OszIOBase.__iter__cCs|��}|st�|Srl)r��
StopIteration�r[�linerrr�__next__SszIOBase.__next__cCsT	|dus	|dkr
t|�Sd}g}|D]}|�|�|t|�7}||kr'|Sq|S�Nr)�list�appendr.)r[Zhintr��linesr�rrr�	readlinesYs
�zIOBase.readlinescCs"	|��|D]}|�|�qdSrl)rn�write)r[r�r�rrr�
writelinesks
�zIOBase.writelines�rrl�r)rVrWrXr\r^rerhrorpr?rsrvrzr|r~rr��propertyrqrnr�r�r6r3r�r�r�r�r�rrrrrYSs8!







	

*
rY)�	metaclassc@s0eZdZ	ddd�Zdd�Zdd�Zdd	�Zd
S)�	RawIOBasercCsR	|durd}|dkr|��St|���}|�|�}|dur dS||d�=t|�S)Nrr)�readallr�r��readintor+)r[r�r"r�rrrr��s

zRawIOBase.readcCs4	t�}	|�t�}|s
q||7}q|rt|�S|Srl)r�r�r4r+)r[r��datarrrr��s
�zRawIOBase.readallcCr])Nr�r_�r[r"rrrr��rjzRawIOBase.readintocCr]�Nr�r_r�rrrr��rjzRawIOBase.writeNr�)rVrWrXr�r�r�r�rrrrr�xs
r�)r2c@sJeZdZ	ddd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�BufferedIOBasercCr]�Nr�r_r�rrrr��szBufferedIOBase.readcCr])N�read1r_r�rrrr��szBufferedIOBase.read1cC�	|j|dd�S)NF�r���	_readintor�rrrr��szBufferedIOBase.readintocCr�)NTr�r�r�rrr�	readinto1��zBufferedIOBase.readinto1cCsVt|t�s	t|�}|�d�}|r|�t|��}n|�t|��}t|�}||d|�<|S�N�B)r&�
memoryview�castr�r.r�)r[r"r�r�r�rrrr��s

zBufferedIOBase._readintocCr]r�r_r�rrrr�
r�zBufferedIOBase.writecCr]�N�detachr_rdrrrr��zBufferedIOBase.detachNr�)
rVrWrXr�r�r�r�r�r�r�rrrrr��s

r�c@s�eZdZ	dd�Zd#dd�Zdd�Zd$d	d
�Zdd�Zd
d�Zdd�Z	dd�Z
edd��Zedd��Z
edd��Zedd��Zdd�Zdd�Zdd �Zd!d"�ZdS)%�_BufferedIOMixincCs
||_dSrl��_raw�r[rIrrr�__init__-�
z_BufferedIOMixin.__init__rcCs"|j�||�}|dkrtd��|S)Nrz#seek() returned an invalid position)rIr^r8)r[rarbZnew_positionrrrr^2sz_BufferedIOMixin.seekcCs|j��}|dkr
td��|S)Nrz#tell() returned an invalid position)rIrer8rirrrre8s
z_BufferedIOMixin.tellNcCs4|��|��|��|dur|��}|j�|�Srl)rnr�rorerIrhrirrrrh>sz_BufferedIOMixin.truncatecCs|jrtd��|j��dS)N�flush on closed file)rqr/rIrordrrrroOsz_BufferedIOMixin.flushcC�>|jdur|jsz|��W|j��dS|j��wdSdSrl)rIrqror?rdrrrr?Ts

�z_BufferedIOMixin.closecC�*|jdur	td��|��|j}d|_|S)Nzraw stream already detached)rIr/ror�r�rrrr�\�
z_BufferedIOMixin.detachcC�
|j��Srl)rIrvrdrrrrvfr�z_BufferedIOMixin.seekablecC�|jSrlr�rdrrrrIi�z_BufferedIOMixin.rawcC�|jjSrl)rIrqrdrrrrqm�z_BufferedIOMixin.closedcCr�rl)rIrSrdrrrrSqr�z_BufferedIOMixin.namecCr�rl)rIr>rdrrrr>ur�z_BufferedIOMixin.modecC�td|jj�d����Nzcannot pickle z object�r,rZrVrdrrr�__getstate__y�z_BufferedIOMixin.__getstate__cCsH|jj}|jj}z|j}Wntyd�||�YSwd�|||�S)Nz<{}.{}>z<{}.{} name={!r}>)rZrWrXrSr9�format)r[�modnameZclsnamerSrrr�__repr__|s
�z_BufferedIOMixin.__repr__cCr�rl)rIr6rdrrrr6�r�z_BufferedIOMixin.filenocCr�rl)rIr3rdrrrr3�r�z_BufferedIOMixin.isattyr�rl)rVrWrXr�r^rerhror?r�rvr�rIrqrSr>r�r�r6r3rrrrr�$s,






r�cs�eZdZ	dZd dd�Zdd�Zdd�Zdd	�Z�fd
d�Zd!d
d�Z	d!dd�Z
dd�Zd"dd�Zdd�Z
d dd�Zdd�Zdd�Zdd�Z�ZS)#�BytesIONcCs&t�}|dur||7}||_d|_dSr�)r��_buffer�_pos)r[Z
initial_bytes�bufrrrr��s

zBytesIO.__init__cCs|jrtd��|j��S)Nz__getstate__ on closed file)rqr/�__dict__�copyrdrrrr��s
zBytesIO.__getstate__cC�	|jrtd��t|j�S)Nzgetvalue on closed file)rqr/r+r�rdrrr�getvalue��
zBytesIO.getvaluecCr�)Nzgetbuffer on closed file)rqr/r�r�rdrrr�	getbuffer�r�zBytesIO.getbuffercs"|jdur
|j��t���dSrl)r��clear�superr?rd�rZrrr?�s

z
BytesIO.closercCs�|jrtd��|durd}nz|j}Wnty!t|�d���w|�}|dkr.t|j�}t|j�|jkr8dStt|j�|j|�}|j|j|�}||_t	|�S)N�read from closed filerr�r�)
rqr/r�r9r,r.r�r�r�r+)r[r�r�Znewposr"rrrr��s$
�
zBytesIO.readcCs	|�|�Srl)r�r�rrrr��s
z
BytesIO.read1cCs�|jrtd��t|t�rtd��t|��}|j}Wd�n1s"wY|dkr-dS|j}|t|j	�krGd|t|j	�}|j	|7_	||j	|||�<|j|7_|S)N�write to closed file� can't write str to binary streamr�)
rqr/r&r*r,r��nbytesr�r.r�)r[r"�viewr�raZpaddingrrrr��s 

�z
BytesIO.writercCs�|jrtd��z|j}Wntyt|�d���w|�}|dkr3|dkr-td|f��||_|jS|dkrCtd|j|�|_|jS|dkrUtdt|j�|�|_|jStd��)Nzseek on closed filer�r�negative seek position %rr
rzunsupported whence value)	rqr/r�r9r,r��maxr.r�)r[rarb�	pos_indexrrrr^�s(
����zBytesIO.seekcC�|jrtd��|jS)N�tell on closed file)rqr/r�rdrrrre��zBytesIO.tellcCsr|jrtd��|dur|j}n"z|j}Wnty"t|�d���w|�}|dkr1td|f��|j|d�=|S)Nztruncate on closed filer�rznegative truncate position %r)rqr/r�r�r9r,r�)r[rar�rrrrh�s
�zBytesIO.truncatecC�|jrtd��dS�Nr�Tr�rdrrrr|�zBytesIO.readablecCr�r�r�rdrrrrr�zBytesIO.writablecCr�r�r�rdrrrrvr�zBytesIO.seekablerlr�r�)rVrWrXr�r�r�r�r�r?r�r�r�r^rerhr|rrv�
__classcell__rrr�rr��s"




r�c@sveZdZ	efdd�Zdd�Zdd�Zddd	�Zdd
d�Zdd
d�Z	ddd�Z
ddd�Zdd�Zdd�Z
ddd�ZdS)r<cCsH	|��s	td��t�||�|dkrtd��||_|��t�|_dS)Nz "raw" argument must be readable.r�invalid buffer size)	r|r8r�r�r/�buffer_size�_reset_read_buf�Lock�
_read_lock�r[rIr�rrrr�)szBufferedReader.__init__cCr�rl)rIr|rdrrrr|6r�zBufferedReader.readablecCsd|_d|_dS)Nr�r)�	_read_buf�	_read_posrdrrrr�9s
zBufferedReader._reset_read_bufNcCsN	|dur
|dkr
td��|j�
|�|�Wd�S1s wYdS)Nrzinvalid number of bytes to read)r/r��_read_unlockedr�rrrr�=s$�zBufferedReader.readcCs�d}d}|j}|j}|dus|dkr^|��t|jd�r5|j��}|dur-||d�p,dS||d�|S||d�g}d}	|j��}||vrK|}qW|t|�7}|�|�q?d�	|�p]|St|�|}	||	krw|j|7_||||�S||d�g}t
|j|�}
|	|kr�|j�|
�}||vr�|}q�|	t|�7}	|�|�|	|ks�t||	�}d�	|�}||d�|_d|_|r�|d|�S|S)Nr�)r�Nrr�r)
r�r�r�r�rIr�r�r.r��joinr�r�r�)r[r�Z
nodata_valZempty_valuesr�ra�chunk�chunksZcurrent_size�availZwanted�outrrrr�JsR


�
�
	
zBufferedReader._read_unlockedrcCs6	|j�
|�|�Wd�S1swYdSrl)r��_peek_unlockedr�rrrr�~s$�zBufferedReader.peekcCsrt||j�}t|j�|j}||ks|dkr1|j|}|j�|�}|r1|j|jd�||_d|_|j|jd�Sr�)r�r�r.r�r�rIr�)r[r�ZwantZhaveZto_read�currentrrrr�s
zBufferedReader._peek_unlockedrcCsl	|dkr|j}|dkrdS|j�|�d�|�t|t|j�|j��Wd�S1s/wYdS)Nrr�r
)r�r�rr�r�r.r�r�r�rrrr��s
�$�zBufferedReader.read1cCs|	t|t�s
t|�}|jdkrdS|�d�}d}|j��|t|�kr�tt|j�|jt|��}|rT|j|j|j|�||||�<|j|7_||7}|t|�krTq�t|�||j	kro|j
�||d��}|sjq�||7}n
|rs|sy|�d�syq�|r~|r~q�|t|�ks"Wd�|SWd�|SWd�|SWd�|SWd�|SWd�|S1s�wY|S)Nrr�r
)
r&r�r�r�r�r.r�r�r�r�rIr�r)r[r�r��writtenrr�rrrr��s^


�

�
��
��
��
��
��
��zBufferedReader._readintocCst�|�t|j�|jSrl)r�rer.r�r�rdrrrre�szBufferedReader.tellcCsp|tvrtd��|j�#|dkr|t|j�|j8}t�|||�}|��|Wd�S1s1wYdS)N�invalid whence valuer
)	�valid_seek_flagsr/r�r.r�r�r�r^r�r`rrrr^�s$�zBufferedReader.seekrlr�r�)rVrWrXr4r�r|r�r�r�r�rr�r�rer^rrrrr<s	



4


.r<c@s^eZdZ	efdd�Zdd�Zdd�Zddd	�Zd
d�Zdd
�Z	dd�Z
ddd�Zdd�ZdS)r;cCsF|��std��t�||�|dkrtd��||_t�|_t�|_	dS)Nz "raw" argument must be writable.rr�)
rr8r�r�r/r�r��
_write_bufr��_write_lockr�rrrr��szBufferedWriter.__init__cCr�rl)rIrrdrrrr�r�zBufferedWriter.writablecCst|t�r	td��|j�u|jrtd��t|j�|jkr |�	�t|j�}|j�
|�t|j�|}t|j�|jkrxz|�	�Wn7tyw}z+t|j�|jkrmt|j�|j}||8}|jd|j�|_t|j|j
|��WYd}~nd}~ww|Wd�S1s�wYdS)Nr�r�)r&r*r,r
rqr/r.r	r��_flush_unlocked�extend�BlockingIOError�errno�strerror)r[r"�beforer�eZoveragerrrr��s0

���$�zBufferedWriter.writeNcCsP|j�|��|dur|j��}|j�|�Wd�S1s!wYdSrl)r
rrIrerhrirrrrhs

$�zBufferedWriter.truncatecCs4|j�
|��Wd�dS1swYdSrl)r
rrdrrrros
"�zBufferedWriter.flushcCs�|jrtd��|jrDz	|j�|j�}Wntytd��w|dur*ttjdd��|t	|j�ks5|dkr9t
d��|jd|�=|js
dSdS)Nr�zHself.raw should implement RawIOBase: it should not raise BlockingIOErrorz)write could not complete without blockingrz*write() returned incorrect number of bytes)rqr/r	rIr�r
�RuntimeErrorr�EAGAINr.r8�r[r�rrrrs"���zBufferedWriter._flush_unlockedcCst�|�t|j�Srl)r�rer.r	rdrrrre/r�zBufferedWriter.tellrcCsP|tvrtd��|j�|��t�|||�Wd�S1s!wYdS)Nr)rr/r
rr�r^r`rrrr^2s$�zBufferedWriter.seekcCs�|j�|jdus|jr	Wd�dSWd�n1swYz |��W|j�|j��Wd�dS1s>wYdS|j�
|j��Wd�w1sXwYwrl)r
rIrqror?rdrrrr?9s��
*��zBufferedWriter.closerlr�)
rVrWrXr4r�rr�rhrorrer^r?rrrrr;�s

r;c@s�eZdZ	efdd�Zddd�Zdd�Zdd	�Zddd�Zdd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zedd��ZdS) �BufferedRWPaircCs>	|��s	td��|��std��t||�|_t||�|_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)r|r8rr<�readerr;�writer)r[rrr�rrrr�YszBufferedRWPair.__init__rcCs|durd}|j�|�S�Nr)rr�r�rrrr�gszBufferedRWPair.readcC�|j�|�Srl)rr�r�rrrr�l�zBufferedRWPair.readintocCrrl)rr�r�rrrr�orzBufferedRWPair.writercCrrl)rr�r�rrrr�rrzBufferedRWPair.peekcCrrl)rr�r�rrrr�urzBufferedRWPair.read1cCrrl)rr�r�rrrr�xrzBufferedRWPair.readinto1cCr�rl)rr|rdrrrr|{r�zBufferedRWPair.readablecCr�rl)rrrdrrrr~r�zBufferedRWPair.writablecCr�rl)rrordrrrro�r�zBufferedRWPair.flushcCs(z
|j��W|j��dS|j��wrl)rr?rrdrrrr?�szBufferedRWPair.closecCs|j��p	|j��Srl)rr3rrdrrrr3�r�zBufferedRWPair.isattycCr�rl)rrqrdrrrrq�r�zBufferedRWPair.closedNr�r�)rVrWrXr4r�r�r�r�r�r�r�r|rror?r3r�rqrrrrrIs 


rc@sleZdZ	efdd�Zddd�Zdd�Zdd	d
�Zddd�Zd
d�Z	ddd�Z
ddd�Zdd�Zdd�Z
dS)r:cCs(|��t�|||�t�|||�dSrl)rzr<r�r;r�rrrr��szBufferedRandom.__init__rcCs�|tvrtd��|��|jr/|j�|j�|jt|j�d�Wd�n1s*wY|j�||�}|j�|�	�Wd�n1sHwY|dkrUt
d��|S)Nrr
rz seek() returned invalid position)rr/ror�r�rIr^r�r.r�r8r`rrrr^�s�
�zBufferedRandom.seekcCs|jrt�|�St�|�Srl)r	r;rer<rdrrrre�s

zBufferedRandom.tellNcCs|dur|��}t�||�Srl)rer;rhrirrrrh�szBufferedRandom.truncatecCs |durd}|��t�||�Sr)ror<r�r�rrrr��szBufferedRandom.readcC�|��t�||�Srl)ror<r�r�rrrr���zBufferedRandom.readintocCrrl)ror<r�r�rrrr��rzBufferedRandom.peekrcCrrl)ror<r�r�rrrr��rzBufferedRandom.read1cCrrl)ror<r�r�rrrr��rzBufferedRandom.readinto1cCsZ|jr'|j�|j�|jt|j�d�|��Wd�n1s"wYt�||�Sr�)	r�r�rIr^r�r.r�r;r�r�rrrr��s
�zBufferedRandom.writer�rlr�)rVrWrXr4r�r^rerhr�r�r�r�r�r�rrrrr:�s




r:cs�eZdZdZdZdZdZdZdZdZ	d0dd�Z
dd	�Zd
d�Zdd
�Z
dd�Zd1dd�Zd1dd�Zdd�Zdd�Zdd�Zefdd�Zdd�Zd1dd�Z�fd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zed,d-��Zed.d/��Z �Z!S)2r2rFNTrc
Cs0	|jdkrz|jrt�|j�Wd|_nd|_wt|t�r"td��t|t�r2|}|dkr1td��nd}t|t	�s@td|f��t
|�t
d�ksOtd|f��tdd�|D��d	ksa|�d
�d	kretd��d|vrvd
|_
d
|_tjtjB}n(d|vr�d
|_d}nd|vr�d
|_tjtjB}nd|vr�d
|_d
|_tjtjB}d
|vr�d
|_d
|_|jr�|jr�|tjO}n|jr�|tjO}n|tjO}|ttdd�O}ttdd�p�ttdd�}||O}d}z�|dk�r|s�td��|dur�t�||d�}n|||�}t|t��std��|dk�rtd��|}|�st�|d�||_t�|�}	zt�|	j��r2t t!j"t�#t!j"�|��Wn
t$�y=Ynwt|	dd�|_%|j%d	k�rNt&|_%t'�rWt'|tj(�||_)|j�r�z	t�*|dt+�Wnt�y�}
z|
j!t!j,k�rx�WYd}
~
nd}
~
wwWn|du�r�t�|��||_dS)Nrrz$integer argument expected, got floatznegative file descriptorzinvalid mode: %szxrwab+css�|]}|dvVqdS)ZrwaxNr)�.0�crrr�	<genexpr>s�z"FileIO.__init__.<locals>.<genexpr>r
r zKMust have exactly one of create/read/write/append mode and at most one plusrTrrr�O_BINARYZO_NOINHERIT�	O_CLOEXECz'Cannot use closefd=False with file namei�zexpected integer from openerzNegative file descriptorFr7)-�_fd�_closefdr(r?r&�floatr,r'r/r*r-�sum�count�_created�	_writable�O_EXCL�O_CREAT�	_readable�O_TRUNC�
_appending�O_APPEND�O_RDWR�O_RDONLY�O_WRONLY�getattrrNr8�set_inheritabler5�stat�S_ISDIR�st_mode�IsADirectoryErrorrZEISDIRrr9�_blksizer4�_setmoder rS�lseekr	ZESPIPE)r[r@r>rDr%�fdrZnoinherit_flagZowned_fdZfdfstatrrrrr��s�
�

�
$

�



�������


zFileIO.__init__cCsN|jdkr!|jr#|js%ddl}|jd|ftd|d�|��dSdSdSdS)Nrzunclosed file %rr)r�source)r"r#rqrr�ResourceWarningr?)r[rrrrrs^s��zFileIO.__del__cCr�r�r�rdrrrr�er�zFileIO.__getstate__cCsjd|jj|jjf}|jrd|Sz|j}Wnty*d||j|j|jfYSwd|||j|jfS)Nz%s.%sz
<%s [closed]>z<%s fd=%d mode=%r closefd=%r>z<%s name=%r mode=%r closefd=%r>)	rZrWrXrqrSr9r"r>r#)r[�
class_namerSrrrr�hs�
���zFileIO.__repr__cC�|jstd��dS)NzFile not open for reading)r+rUrdrrrr~v��zFileIO._checkReadablecCr?)NzFile not open for writing)r(rUrxrrrr�zr@zFileIO._checkWritablecCsP	|��|��|dus|dkr|��Szt�|j|�WSty'YdSwr�)rnr~r�r(r�r"r
r�rrrr�~s�zFileIO.readcCs�	|��|��t}zt�|jdt�}t�|j�j}||kr%||d}Wn	t	y/Ynwt
�}	t|�|krEt|�}|t|t�7}|t|�}z	t�
|j|�}Wntye|rbYt|�SYdSw|sm	t|�S||7}q4rc)rnr~r4r(r:r"rr5�st_sizer8r�r.r�r�r
r+)r[�bufsizera�endrJr�rrrrr��s@������zFileIO.readallcCs6	t|��d�}|�t|��}t|�}||d|�<|Sr�)r�r�r�r.)r[r"�mr�r�rrrr��szFileIO.readintocCs8	|��|��zt�|j|�WStyYdSwrl)rnr�r(r�r"r
r�rrrr��s�zFileIO.writecCs,	t|t�r
td��|��t�|j||�S)Nzan integer is required)r&r$r,rnr(r:r"r`rrrr^�s


zFileIO.seekcCs	|��t�|jdt�Sr�)rnr(r:r"rrdrrrre�szFileIO.tellcCs4	|��|��|dur|��}t�|j|�|Srl)rnr�rer(�	ftruncater"r�rrrrh�szFileIO.truncatecsL	|js$z|jrt�|j�Wt���dSWt���dSt���wdSrl)rqr#r(r?r"r�rdr�rrr?�s��zFileIO.closecCsJ	|��|jdur"z|��Wntyd|_Y|jSwd|_|jS)NFT)rn�	_seekablerer8rdrrrrv�s
�zFileIO.seekablecC�	|��|jSrl)rnr+rdrrrr|�zFileIO.readablecCrGrl)rnr(rdrrrr	rHzFileIO.writablecCrGrl)rnr"rdrrrr6rHz
FileIO.filenocCs	|��t�|j�Srl)rnr(r3r"rdrrrr3sz
FileIO.isattycCr�rl)r#rdrrrrDszFileIO.closefdcCsB	|jr|jr	dSdS|jr|jrdSdS|jr|jrdSdSdS)Nzxb+�xbzab+�abzrb+rO�wb)r'r+r-r(rdrrrr>szFileIO.mode)rTNrl)"rVrWrXr"r'r+r(r-rFr#r�rsr�r�r~r�r�r�r�r�rr^rerhr?rvr|rr6r3r�rDr>r�rrr�rr2�s>
y

#



r2c@s^eZdZ	ddd�Zdd�Zddd�Zd	d
�Zdd�Zed
d��Z	edd��Z
edd��ZdS)�
TextIOBasercCr]r�r_r�rrrr�;szTextIOBase.readcCr]r�r_)r[�srrrr�E�zTextIOBase.writeNcCr]rgr_rirrrrhIrNzTextIOBase.truncatecCr])Nr�r_rdrrrr�Mr�zTextIOBase.readlinecCr]r�r_rdrrrr�Tr�zTextIOBase.detachcC�	dSrlrrdrrrr]szTextIOBase.encodingcCrOrlrrdrrr�newlinesbszTextIOBase.newlinescCrOrlrrdrrrrBlszTextIOBase.errorsr�rl)rVrWrXr�r�rhr�r�r�rrPrBrrrrrL3s


	

	rLc@sReZdZ	ddd�Zddd�Zdd�Zd	d
�Zdd�Zd
ZdZ	dZ
edd��ZdS)�IncrementalNewlineDecoder�strictcCs,tjj||d�||_||_d|_d|_dS)N)rBrF)�codecs�IncrementalDecoderr��	translate�decoder�seennl�	pendingcr)r[rVrUrBrrrr�}s

z"IncrementalNewlineDecoder.__init__FcCs�|jdur|}n|jj||d�}|jr|s|rd|}d|_|�d�r.|s.|dd�}d|_|�d�}|�d�|}|�d�|}|j|oH|j|oL|jB|oQ|jBO_|j	rh|r`|�
dd�}|rh|�
dd�}|S)N��final�
FrT�
�
)rV�decoderXr�r&rW�_LF�_CR�_CRLFrU�replace)r[�inputrZ�outputZcrlfZcrZlfrrrr^�s*

�z IncrementalNewlineDecoder.decodecCs@|jdur
d}d}n|j��\}}|dK}|jr|dO}||fS)Nr�rr
)rV�getstaterX)r[r��flagrrrre�s
z"IncrementalNewlineDecoder.getstatecCs<|\}}t|d@�|_|jdur|j�||d?f�dSdSr�)�boolrXrV�setstate)r[�stater�rfrrrrh�s

�z"IncrementalNewlineDecoder.setstatecCs(d|_d|_|jdur|j��dSdS)NrF)rWrXrV�resetrdrrrrj�s

�zIncrementalNewlineDecoder.resetr
r�cCs
d|jS)N)Nr]r[)r[r]r\)r]r\)r[r\)r[r]r\)rWrdrrrrP�s�z"IncrementalNewlineDecoder.newlinesN)rR)F)
rVrWrXr�r^rerhrjr_r`rar�rPrrrrrQvs

rQc@s�eZdZ	dZdZ		dNdd�Zdd�Z		dNdd	�Zd
d�Ze	dd
��Z
e	dd��Ze	dd��Ze	dd��Z
e	dd��Zddeddd�dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Ze	d#d$��Ze	d%d&��Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�ZdOd3d4�Zd5d6�Zd7d8�Z 	9	9dPd:d;�Z!d<d=�Z"d>d?�Z#dOd@dA�Z$dBdC�Z%dQdDdE�Z&dOdFdG�Z'dHdI�Z(dOdJdK�Z)e	dLdM��Z*dS)Rr=iNFc		Cs0|�|�t|�}|dkr$zt�|���pd}Wnttfy#Ynw|dkr?zddl}Wnty9d}Ynw|�	d�}t
|t�sJtd|��t
�|�jsXd}t||��|dur_d}nt
|t�sjtd|��trqt
�|�||_d	|_d|_d|_|j��|_|_t|jd
�|_|�|||||�dS)Nr
r�utf-8FrzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrRrr$r�)�_check_newlinerr(�device_encodingr6r9rUr
�ImportError�getpreferredencodingr&r*r/rS�lookup�_is_text_encoding�LookupError�
_CHECK_ERRORS�lookup_errorr��_decoded_chars�_decoded_chars_used�	_snapshotrMrvrF�_tellingr��
_has_read1�
_configure)	r[rMrrBrCrK�
write_throughr
ryrrrr��sF
��




�zTextIOWrapper.__init__cCs>|durt|t�stdt|�f��|dvrtd|f��dS)Nzillegal newline type: %r)Nr$r]r[r\zillegal newline value: %r)r&r*r,�typer/)r[rCrrrrms
�zTextIOWrapper._check_newlinecCs�||_||_d|_d|_d|_||_|du|_||_|dk|_|p$t	j
|_||_||_
|jrQ|��rS|j��}|dkrUz
|���d�WdStyPYdSwdSdSdS)N�r$r)�	_encoding�_errors�_encoder�_decoder�	_b2cratio�_readuniversal�_readtranslate�_readnl�_writetranslater(�linesep�_writenl�_line_buffering�_write_throughrFrrMre�_get_encoderrhrs)r[rrBrCrKr|�positionrrrr{s,


��zTextIOWrapper._configurecCs|d�|jj|jj�}z|j}Wn	tyYnw|d�|�7}z|j}Wn	ty.Ynw|d�|�7}|d�|j�S)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)r�rZrWrXrSr9r>r)r[rJrSr>rrrr�Cs 
�
�
�zTextIOWrapper.__repr__cCr�rl)rrdrrrrTr�zTextIOWrapper.encodingcCr�rl)r�rdrrrrBXr�zTextIOWrapper.errorscCr�rl)r�rdrrrrK\r�zTextIOWrapper.line_bufferingcCr�rl)r�rdrrrr|`r�zTextIOWrapper.write_throughcCr�rl)r�rdrrrrMdr�zTextIOWrapper.buffer)rrBrCrKr|cCs�	|jdur|dus|dus|turtd��|dur%|dur"|j}q0d}nt|t�s0td|��|dur8|j}nt|t�sCtd|��|turJ|j}|�	|�|durV|j
}|dur]|j}|��|�
|||||�dS)NzPIt is not possible to set the encoding or newline of stream after the first readrRrr)r��EllipsisrUr�r&r*r,rr�rmrKr|ror{)r[rrBrCrKr|rrr�reconfigurehs@
����



�zTextIOWrapper.reconfigurecCr�r�)rqr/rFrdrrrrv�r�zTextIOWrapper.seekablecCr�rl)rMr|rdrrrr|�r�zTextIOWrapper.readablecCr�rl)rMrrdrrrr�r�zTextIOWrapper.writablecCs|j��|j|_dSrl)rMrorFryrdrrrro�s
zTextIOWrapper.flushcCr�rl)rMrqror?rdrrrr?�s

�zTextIOWrapper.closecCr�rl)rMrqrdrrrrq�r�zTextIOWrapper.closedcCr�rl)rMrSrdrrrrS�r�zTextIOWrapper.namecCr�rl)rMr6rdrrrr6�r�zTextIOWrapper.filenocCr�rl)rMr3rdrrrr3�r�zTextIOWrapper.isattycCs�	|jrtd��t|t�std|jj��t|�}|js|j	o"d|v}|r4|jr4|j
dkr4|�d|j
�}|jp:|�
�}|�|�}|j�|�|j	rS|sOd|vrS|��|�d�d|_|jrc|j��|S)Nr�zcan't write %s to text streamr]r[r$)rqr/r&r*r,rZrVr.r�r�r�rbr�r��encoderMr�ro�_set_decoded_charsrxr�rj)r[rM�lengthZhaslf�encoderr"rrrr��s*
�


zTextIOWrapper.writecCst�|j�}||j�|_|jSrl)rS�getincrementalencoderrr�r�)r[Zmake_encoderrrrr��szTextIOWrapper._get_encodercCs2t�|j�}||j�}|jrt||j�}||_|Srl)rS�getincrementaldecoderrr�r�rQr�r�)r[Zmake_decoderrVrrr�_get_decoder�s
zTextIOWrapper._get_decodercCs	||_d|_dSr�)rvrw)r[�charsrrrr��s
z TextIOWrapper._set_decoded_charscCsH	|j}|dur|j|d�}n	|j|||�}|jt|�7_|Srl)rwrvr.)r[r��offsetr�rrr�_get_decoded_chars�sz TextIOWrapper._get_decoded_charscCs&	|j|kr
td��|j|8_dS)Nz"rewind decoded_chars out of bounds)rw�AssertionErrorrrrr�_rewind_decoded_chars�s
z#TextIOWrapper._rewind_decoded_charscCs�	|jdur
td��|jr|j��\}}|jr|j�|j�}n|j�|j�}|}|j�	||�}|�
|�|rBt|�t|j�|_
nd|_
|jrO|||f|_|S)Nz
no decoderr~)r�r/ryrerzrMr��_CHUNK_SIZEr�r^r�r.rvr�rx)r[�
dec_buffer�	dec_flags�input_chunk�eofZ
decoded_charsrrr�_read_chunk�s"


zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|�d>BS)N�@���)rg)r[r�r��
bytes_to_feed�need_eof�
chars_to_skiprrr�_pack_cookie	s
�
�zTextIOWrapper._pack_cookiecCsJt|d�\}}t|d�\}}t|d�\}}t|d�\}}|||t|�|fS)Nl)�divmodrg)r[Zbigint�restr�r�r�r�r�rrr�_unpack_cookie%	s
zTextIOWrapper._unpack_cookiec	Cs@|jstd��|jstd��|��|j��}|j}|dus#|jdur,|j	r*t
d��|S|j\}}|t|�8}|j}|dkrD|�
||�S|��}z�t|j|�}d}|dkr�|�d|f�t|�|d|���}	|	|kr�|��\}
}|
s{|}||	8}q�|t|
�8}d}n||8}|d}|dksVd}|�d|f�||}|}
|dkr�|�
||
�W|�|�Sd}d}d}t|t|��D]8}|d7}|t|�|||d���7}|��\}}|s�||kr�||7}||8}|dd}
}}||kr��qq�|t|jdd	d
��7}d	}||k�rtd��|�
||
|||�W|�|�S|�|�w)N�!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr
r�rFTrYz'can't reconstruct logical file position)rFrUryr8rorMrer�rxrvr�r.rwr�rer'r�rhr^�range)r[r�rVr�Z
next_inputr��saved_stateZ
skip_bytesZ	skip_backr�r"�d�	start_posZstart_flagsZ	bytes_fedr�Z
chars_decoded�ir�rrrre,	s~

� ��

�zTextIOWrapper.tellcCs$|��|dur|��}|j�|�Srl)rorerMrhrirrrrh�	szTextIOWrapper.truncatecCr�)Nzbuffer is already detached)rMr/ror�)r[rMrrrr��	r�zTextIOWrapper.detachcs��fdd�}�jr
td���jstd��|tkr'|dkr td��d}���}n-|tkrT|dkr3td������j�	d|�}��
d�d�_�jrN�j�
�||�|S|dkr_td	|f��|dkrjtd
|f�������|�\}}}}}	�j�	|���
d�d�_|dkr��jr��j�
�n�js�|s�|	r��jp�����_�j�d|f�|df�_|	rԈj�|�}
��
�j�|
|��||
f�_t�j�|	kr�td��|	�_||�|S)
NcsL	z	�jp���}Wn
tyYdSw|dkr |�d�dS|��dSr�)r�r�rsrhrj)r�r�rdrr�_reset_encoder�	s�z*TextIOWrapper.seek.<locals>._reset_encoderr�r�rz#can't do nonzero cur-relative seeksz#can't do nonzero end-relative seeksr$zunsupported whence (%r)r�r�z#can't restore logical file position)rqr/rFrUrrer	rorMr^r�rxr�rjr�r�rhr�r^r.rvr8rw)r[Zcookierbr�r�r�r�r�r�r�r�rrdrr^�	s`



�

�
zTextIOWrapper.seekcCs�|��|durd}nz|j}Wntyt|�d���w|�}|jp(|��}|dkrE|��|j|j�	�dd�}|�
d�d|_|Sd}|�|�}t|�|krl|sl|�
�}||�|t|��7}t|�|krl|rT|S)Nrr�rTrYr$F)r~r�r9r,r�r�r�r^rMr�r�rxr.r�)r[r�r�rVrJr�rrrr��	s0
��


�zTextIOWrapper.readcCs(d|_|��}|sd|_|j|_t�|Sru)ryr�rxrFr�r�rrrr�
szTextIOWrapper.__next__c	Cs�|jrtd��|durd}nz|j}Wnty!t|�d���w|�}|��}d}|js2|��d}}	|jrN|�	d|�}|dkrI|d}q�t
|�}nU|jr�|�	d|�}|�	d|�}|dkro|dkrjt
|�}q�|d}q�|dkrx|d}q�||kr�|d}q�||dkr�|d	}q�|d}q�|�	|j�}|dkr�|t
|j�}q�|dkr�t
|�|kr�|}q�|�
�r�|jr�q�|�
�s�|jr�||��7}n
|�d
�d|_|Sq7|dkr�||kr�|}|�t
|�|�|d|�S)Nr�rr�rTr]r
r[rr$)rqr/r�r9r,r�r�r�r�r�r.r�r�r�rvr�rxr�)	r[r�r�r��startra�endposZnlposZcrposrrrr�
s|
�

�
�@zTextIOWrapper.readlinecCs|jr|jjSdSrl)r�rPrdrrrrPj
szTextIOWrapper.newlines)NNNFFrl)rrFrr�)+rVrWrXr�r�r�rmr{r�r�rrBrKr|rMr�r�rvr|rror?rqrSr6r3r�r�r�r�r�r�r�r�r�rerhr�r^r�r�r�rPrrrrr=�sp
�-
�$




�)



*
�

c

K
	]r=csPeZdZ	d�fdd�	Zdd�Zdd�Zed	d
��Zedd��Zd
d�Z	�Z
S)�StringIOr$r]csjtt|�jt�dd|d�|durd|_|dur3t|t�s'td�t	|�j
���|�|�|�d�dSdS)Nrl�
surrogatepass)rrBrCFz*initial_value must be str or None, not {0}r)
r�r�r�r�r�r&r*r,r�r}rVr�r^)r[Z
initial_valuerCr�rrr�v
s�
�
�zStringIO.__init__c	CsT|��|jp
|��}|��}|��z|j|j��dd�W|�|�S|�|�w)NTrY)	ror�r�rerjr^rMr�rh)r[rVZ	old_staterrrr��
szStringIO.getvaluecCs
t�|�Srl)�objectr�rdrrrr��
s
zStringIO.__repr__cC�dSrlrrdrrrrB�
�zStringIO.errorscCr�rlrrdrrrr�
r�zStringIO.encodingcCs|�d�dSr�r_rdrrrr��
szStringIO.detach)r$r])rVrWrXr�r�r�r�rBrr�r�rrr�rr�o
s


r�)r)rrNNNTN)9r(�abcrSrr4r�_threadrr��platform�msvcrtrr9�iorrrr	rr��addr�	SEEK_DATAr4r
r�dev_moderrrtr�staticmethodrNrQ�	open_coder9rTrUr8r/�ABCMetarY�registerr��_ior2r�r�r�r<r;rr:rLrTrQr=r�rrrr�<module>s�


�\
�
�$=
gkCiIJY@U)
© 2025 GrazzMean