MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/_pyio.cpython-36.opt-2.pyc

3


 \!X@s^ddlZddlZddlZddlZddlZddlZyddlmZWn e	k
r`ddl
mZYnXejd4krzddlm
ZndZddlZddlmZmZmZmZdddhZeed	rejejejejd5ZeZd7ddZGdddZGdddZy
ejZWn(ek
r*Gddde e!ZYnXGdddej"dZ#ej#j$e#Gddde#Z%ej%j$e%ddl&m'Z'e%j$e'Gddde#Z(ej(j$e(Gddde(Z)Gd d!d!e(Z*Gd"d#d#e)Z+Gd$d%d%e)Z,Gd&d'd'e(Z-Gd(d)d)e,e+Z.Gd*d+d+e%Z'Gd,d-d-e#Z/ej/j$e/Gd.d/d/ej0Z1Gd0d1d1e/Z2Gd2d3d3e2Z3dS)8N)
allocate_lockwin32cygwin)setmode)__all__SEEK_SETSEEK_CURSEEK_END	SEEK_HOLEirTcCs~t|tstj|}t|tttfs0td|t|tsFtd|t|ts\td||dk	r|t|tr|td||dk	rt|trtd|t|}|tdst|t|krt	d|d|k}	d|k}
d	|k}d
|k}d|k}
d|k}d
|k}d|krH|	s&|s&|s&|
r.t	dddl
}|jdtdd}
|r\|r\t	d|	|
||dkrzt	d|	p|
p|p|st	d|r|dk	rt	d|r|dk	rt	d|r|dk	rt	dt
||	rdpd|
rdpd|rd	pd|r d
p"d|
r0dp2d||d}|}yd}|dksh|dkrp|jrpd!}d}|dkrt}ytj|jj}Wnttfk
rYnX|dkr|}|dkrt	d|dkr|r|St	d|
rt||}n<|	s|s|rt||}n|
r,t||}nt	d ||}|rF|St|||||}|}||_|S|jYnXdS)"Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %rzinvalid encoding: %rzinvalid errors: %rzaxrwb+tUxrwa+tbUz4mode 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 argument)openerFzinvalid buffering sizezcan't have unbuffered text I/Ozunknown mode: %r)
isinstanceintosfspathstrbytes	TypeErrorsetlen
ValueErrorwarningswarnDeprecationWarningFileIOisattyDEFAULT_BUFFER_SIZEfstatfileno
st_blksizeOSErrorAttributeErrorBufferedRandomBufferedWriterBufferedReader
TextIOWrappermodeclose)filer2	bufferingencodingerrorsnewlineclosefdrZmodesZcreatingZreadingZwritingZ	appendingZupdatingtextZbinaryr#rawresultline_bufferingZbsbufferr?/usr/lib64/python3.6/_pyio.pyopen(s{




>




rAc@seZdZddZdS)
DocDescriptorcCs
dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)

)rA__doc__)selfobjtypr?r?r@__get__szDocDescriptor.__get__N)__name__
__module____qualname__rGr?r?r?r@rBsrBc@seZdZeZddZdS)OpenWrappercOs
t||S)N)rA)clsargskwargsr?r?r@__new__szOpenWrapper.__new__N)rHrIrJrBrCrOr?r?r?r@rKsrKc@seZdZdS)UnsupportedOperationN)rHrIrJr?r?r?r@rPsrPc@seZdZddZd5ddZddZd6d	d
ZddZd
ZddZ	ddZ
ddZd7ddZddZ
d8ddZddZd9ddZeddZd:d d!Zd"d#Zd$d%Zd&d'Zd(d)Zd<d+d,Zd-d.Zd/d0Zd=d1d2Zd3d4ZdS)>IOBasecCstd|jj|fdS)Nz%s.%s() not supported)rP	__class__rH)rDnamer?r?r@_unsupported@szIOBase._unsupportedrcCs|jddS)Nseek)rT)rDposwhencer?r?r@rUGszIOBase.seekcCs|jddS)Nrr
)rU)rDr?r?r@tellWszIOBase.tellNcCs|jddS)Ntruncate)rT)rDrVr?r?r@rY[szIOBase.truncatecCs|jdS)N)_checkClosed)rDr?r?r@flusheszIOBase.flushFcCs |jsz|jWdd|_XdS)NT)_IOBase__closedr[)rDr?r?r@r3oszIOBase.closec	Csy|jWnYnXdS)N)r3)rDr?r?r@__del__zszIOBase.__del__cCsdS)NFr?)rDr?r?r@seekableszIOBase.seekablecCs |jst|dkrdn|dS)NzFile or stream is not seekable.)r^rP)rDmsgr?r?r@_checkSeekableszIOBase._checkSeekablecCsdS)NFr?)rDr?r?r@readableszIOBase.readablecCs |jst|dkrdn|dS)NzFile or stream is not readable.)rarP)rDr_r?r?r@_checkReadableszIOBase._checkReadablecCsdS)NFr?)rDr?r?r@writableszIOBase.writablecCs |jst|dkrdn|dS)NzFile or stream is not writable.)rcrP)rDr_r?r?r@_checkWritableszIOBase._checkWritablecCs|jS)N)r\)rDr?r?r@closedsz
IOBase.closedcCs|jrt|dkrdn|dS)NzI/O operation on closed file.)rer")rDr_r?r?r@rZszIOBase._checkClosedcCs|j|S)N)rZ)rDr?r?r@	__enter__szIOBase.__enter__cGs|jdS)N)r3)rDrMr?r?r@__exit__szIOBase.__exit__cCs|jddS)Nr*)rT)rDr?r?r@r*sz
IOBase.filenocCs|jdS)NF)rZ)rDr?r?r@r'sz
IOBase.isattyr
cstdrfdd}ndd}dkr0d	nttsBtdt}x>dks^t|krj|}|spP||7}|jdrJPqJWt|S)
Npeekcs>jd}|sdS|jddp&t|}dkr:t|}|S)Nr

r)rhfindr!min)Z	readaheadn)rDsizer?r@
nreadaheads

z#IOBase.readline.<locals>.nreadaheadcSsdS)Nr
r?r?r?r?r@rnsr
zsize must be an integerrrir)	hasattrrrr	bytearrayr!readendswithr)rDrmrnresrr?)rDrmr@readlines 
	

zIOBase.readlinecCs|j|S)N)rZ)rDr?r?r@__iter__szIOBase.__iter__cCs|j}|st|S)N)rt
StopIteration)rDliner?r?r@__next__szIOBase.__next__cCsR|dks|dkrt|Sd}g}x,|D]$}|j||t|7}||kr&Pq&W|S)Nr)listappendr!)rDZhintrllinesrwr?r?r@	readliness

zIOBase.readlinescCs$|jx|D]}|j|qWdS)N)rZwrite)rDr{rwr?r?r@
writelines#s
zIOBase.writelines)r)N)N)N)N)Nr)r)N)rHrIrJrTrUrXrYr[r\r3r]r^r`rarbrcrdpropertyrerZrfrgr*r'rtrurxr|r~r?r?r?r@rQs2$






	

%
rQ)	metaclassc@s.eZdZdddZddZddZdd	Zd
S)
	RawIOBaser
cCsP|dkrd}|dkr|jSt|j}|j|}|dkr>dS||d=t|S)Nr
rr)readallrp	__index__readintor)rDrmrrlr?r?r@rq9s

zRawIOBase.readcCs8t}x|jt}|sP||7}qW|r0t|S|SdS)N)rprqr(r)rDrsdatar?r?r@rJs
zRawIOBase.readallcCs|jddS)Nr)rT)rDrr?r?r@rXszRawIOBase.readintocCs|jddS)Nr})rT)rDrr?r?r@r}`szRawIOBase.writeNr)r)rHrIrJrqrrr}r?r?r?r@r+s
r)r&c@sHeZdZdddZdddZddZdd	Zd
dZdd
ZddZ	dS)BufferedIOBaseNcCs|jddS)Nrq)rT)rDrmr?r?r@rq~szBufferedIOBase.readcCs|jddS)Nread1)rT)rDrmr?r?r@rszBufferedIOBase.read1cCs|j|ddS)NF)r)	_readinto)rDrr?r?r@rszBufferedIOBase.readintocCs|j|ddS)NT)r)r)rDrr?r?r@	readinto1s	zBufferedIOBase.readinto1cCsVt|tst|}|jd}|r0|jt|}n|jt|}t|}||d|<|S)NB)r
memoryviewcastrr!rq)rDrrrrlr?r?r@rs

zBufferedIOBase._readintocCs|jddS)Nr})rT)rDrr?r?r@r}s	zBufferedIOBase.writecCs|jddS)Ndetach)rT)rDr?r?r@rszBufferedIOBase.detach)N)N)
rHrIrJrqrrrrr}rr?r?r?r@rms

rc@seZdZddZd#ddZddZd$d	d
ZddZd
dZddZ	ddZ
eddZeddZ
eddZeddZddZddZdd Zd!d"ZdS)%_BufferedIOMixincCs
||_dS)N)_raw)rDr;r?r?r@__init__sz_BufferedIOMixin.__init__rcCs"|jj||}|dkrtd|S)Nrz#seek() returned an invalid position)r;rUr,)rDrVrWZnew_positionr?r?r@rUsz_BufferedIOMixin.seekcCs|jj}|dkrtd|S)Nrz#tell() returned an invalid position)r;rXr,)rDrVr?r?r@rXs
z_BufferedIOMixin.tellNcCs$|j|dkr|j}|jj|S)N)r[rXr;rY)rDrVr?r?r@rYsz_BufferedIOMixin.truncatecCs|jrtd|jjdS)Nzflush of closed file)rer"r;r[)rDr?r?r@r[sz_BufferedIOMixin.flushc
Cs0|jdk	r,|jr,z|jWd|jjXdS)N)r;rer[r3)rDr?r?r@r3sz_BufferedIOMixin.closecCs*|jdkrtd|j|j}d|_|S)Nzraw stream already detached)r;r"r[r)rDr;r?r?r@rs
z_BufferedIOMixin.detachcCs
|jjS)N)r;r^)rDr?r?r@r^sz_BufferedIOMixin.seekablecCs|jS)N)r)rDr?r?r@r;sz_BufferedIOMixin.rawcCs|jjS)N)r;re)rDr?r?r@resz_BufferedIOMixin.closedcCs|jjS)N)r;rS)rDr?r?r@rS!sz_BufferedIOMixin.namecCs|jjS)N)r;r2)rDr?r?r@r2%sz_BufferedIOMixin.modecCstdj|jjdS)Nz can not serialize a '{0}' object)rformatrRrH)rDr?r?r@__getstate__)sz_BufferedIOMixin.__getstate__cCsJ|jj}|jj}y
|j}Wntk
r6dj||SXdj|||SdS)Nz<{}.{}>z<{}.{} name={!r}>)rRrIrJrS	Exceptionr)rDmodnameZclsnamerSr?r?r@__repr__-s
z_BufferedIOMixin.__repr__cCs
|jjS)N)r;r*)rDr?r?r@r*9sz_BufferedIOMixin.filenocCs
|jjS)N)r;r')rDr?r?r@r'<sz_BufferedIOMixin.isatty)r)N)rHrIrJrrUrXrYr[r3rr^rr;rerSr2rrr*r'r?r?r?r@rs 	


rcseZdZdddZddZddZdd	Zfd
dZd dd
ZddZ	ddZ
d!ddZddZd"ddZ
ddZddZddZZS)#BytesIONcCs&t}|dk	r||7}||_d|_dS)Nr)rp_buffer_pos)rDZ
initial_bytesbufr?r?r@rDs
zBytesIO.__init__cCs|jrtd|jjS)Nz__getstate__ on closed file)rer"__dict__copy)rDr?r?r@rKszBytesIO.__getstate__cCs|jrtdt|jS)Nzgetvalue on closed file)rer"rr)rDr?r?r@getvaluePszBytesIO.getvaluecCs|jrtdt|jS)Nzgetbuffer on closed file)rer"rr)rDr?r?r@	getbufferWszBytesIO.getbuffercs|jjtjdS)N)rclearsuperr3)rD)rRr?r@r3^s
z
BytesIO.closecCst|jrtd|dkrd}|dkr,t|j}t|j|jkr@dStt|j|j|}|j|j|}||_t|S)Nzread from closed filer
rr)rer"r!rrrkr)rDrmZnewposrr?r?r@rqbs
zBytesIO.readcCs
|j|S)N)rq)rDrmr?r?r@rpsz
BytesIO.read1cCs|jrtdt|tr tdt|}|j}WdQRX|dkrFdS|j}|t|j	krzd|t|j	}|j	|7_	||j	|||<|j|7_|S)Nzwrite to closed filez can't write str to binary streamr)
rer"rrrrnbytesrr!r)rDrZviewrlrVZpaddingr?r?r@r}us

z
BytesIO.writercCs|jrtdy
|jWn,tk
rD}ztd|WYdd}~XnX|dkrl|dkrdtd|f||_nD|dkrtd|j||_n(|dkrtdt|j||_ntd|jS)Nzseek on closed filezan integer is requiredrznegative seek position %rr
rzunsupported whence value)	rer"rr-rrmaxr!r)rDrVrWerrr?r?r@rUs 
zBytesIO.seekcCs|jrtd|jS)Nztell on closed file)rer"r)rDr?r?r@rXszBytesIO.tellcCs||jrtd|dkr|j}nNy
|jWn,tk
rT}ztd|WYdd}~XnX|dkrltd|f|j|d=|S)Nztruncate on closed filezan integer is requiredrznegative truncate position %r)rer"rrr-rr)rDrVrr?r?r@rYs
zBytesIO.truncatecCs|jrtddS)NzI/O operation on closed file.T)rer")rDr?r?r@raszBytesIO.readablecCs|jrtddS)NzI/O operation on closed file.T)rer")rDr?r?r@rcszBytesIO.writablecCs|jrtddS)NzI/O operation on closed file.T)rer")rDr?r?r@r^szBytesIO.seekable)N)N)r)N)rHrIrJrrrrr3rqrr}rUrXrYrarcr^
__classcell__r?r?)rRr@r@s



rc@sreZdZefddZddZddZddd	Zdd
dZdd
dZ	dddZ
ddZddZddZ
dddZdS)r0cCsF|jstdtj|||dkr,td||_|jt|_dS)Nz "raw" argument must be readable.rzinvalid buffer size)	rar,rrr"buffer_size_reset_read_bufLock
_read_lock)rDr;rr?r?r@rszBufferedReader.__init__cCs
|jjS)N)r;ra)rDr?r?r@raszBufferedReader.readablecCsd|_d|_dS)Nrr)	_read_buf	_read_pos)rDr?r?r@rszBufferedReader._reset_read_bufNc	Cs4|dk	r|dkrtd|j|j|SQRXdS)Nr
zinvalid number of bytes to readr)r"r_read_unlocked)rDrmr?r?r@rqszBufferedReader.readcCsd}d}|j}|j}|dks$|dkr|jt|jdrj|jj}|dkrZ||dpXdS||d|S||dg}d}x2|jj}||kr|}P|t|7}|j|q~Wdj	|p|St||}	||	kr|j|7_||||S||dg}t
|j|}
xB|	|krL|jj|
}||kr2|}P|	t|7}	|j|qWt||	}dj	|}||d|_d|_|r|d|S|S)Nrr
rr)rNr)
rrrror;rrqr!rzjoinrrrk)rDrlZ
nodata_valZempty_valuesrrVchunkZchunksZcurrent_sizeavailZwantedoutr?r?r@rsN




zBufferedReader._read_unlockedrc	Cs|j|j|SQRXdS)N)r_peek_unlocked)rDrmr?r?r@rhszBufferedReader.peekcCsrt||j}t|j|j}||ks,|dkrb|j|}|jj|}|rb|j|jd||_d|_|j|jdS)Nr)rkrr!rrr;rq)rDrlZwantZhaveZto_readZcurrentr?r?r@r)s
zBufferedReader._peek_unlockedcCsT|dkrtd|dkrdS|j(|jd|jt|t|j|jSQRXdS)Nrz(number of bytes to read must be positiverr
)r"rrrrkr!rr)rDrmr?r?r@r4s
zBufferedReader.read1cCst|tst|}|jdkr dS|jd}d}|jx|t|krtt|j|jt|}|r|j|j|j|||||<|j|7_||7}|t|krPt|||j	kr|j
j||d}|sP||7}n|o|s|jdsP|r8|r8Pq8WWdQRX|S)Nrrr
)
rrrrrr!rkrrrr;rr)rDrrwrittenrrlr?r?r@rFs4


"

zBufferedReader._readintocCstj|t|j|jS)N)rrXr!rr)rDr?r?r@rXtszBufferedReader.tellcCsX|tkrtd|j8|dkr4|t|j|j8}tj|||}|j|SQRXdS)Nzinvalid whence valuer
)	valid_seek_flagsr"rr!rrrrUr)rDrVrWr?r?r@rUwszBufferedReader.seek)N)N)r)r)r)rHrIrJr(rrarrqrrhrrrrXrUr?r?r?r@r0s


4


.r0c@sTeZdZefddZddZddZddd	Zd
dZdd
Z	ddZ
dddZdS)r/cCsF|jstdtj|||dkr,td||_t|_t|_	dS)Nz "raw" argument must be writable.rzinvalid buffer size)
rcr,rrr"rrp
_write_bufr_write_lock)rDr;rr?r?r@rszBufferedWriter.__init__cCs
|jjS)N)r;rc)rDr?r?r@rcszBufferedWriter.writablecCs|jrtdt|tr td|jt|j|jkr@|j	t|j}|jj
|t|j|}t|j|jkry|j	Wnltk
r}zPt|j|jkrt|j|j}||8}|jd|j|_t|j|j
|WYdd}~XnX|SQRXdS)Nzwrite to closed filez can't write str to binary stream)rer"rrrrr!rr_flush_unlockedextendBlockingIOErrorerrnostrerror)rDrZbeforereZoverager?r?r@r}s(

"zBufferedWriter.writeNc	Cs8|j(|j|dkr"|jj}|jj|SQRXdS)N)rrr;rXrY)rDrVr?r?r@rYs

zBufferedWriter.truncatec	Cs|j|jWdQRXdS)N)rr)rDr?r?r@r[szBufferedWriter.flushcCs|jrtdxz|jry|jj|j}Wntk
rDtdYnX|dkr\ttjdd|t	|jksr|dkrzt
d|jd|=qWdS)Nzflush of closed filezHself.raw should implement RawIOBase: it should not raise BlockingIOErrorz)write could not complete without blockingrz*write() returned incorrect number of bytes)rer"rr;r}rRuntimeErrorrZEAGAINr!r,)rDrlr?r?r@rszBufferedWriter._flush_unlockedcCstj|t|jS)N)rrXr!r)rDr?r?r@rXszBufferedWriter.tellrcCs8|tkrtd|j|jtj|||SQRXdS)Nzinvalid whence value)rr"rrrrU)rDrVrWr?r?r@rUs
zBufferedWriter.seek)N)r)rHrIrJr(rrcr}rYr[rrXrUr?r?r?r@r/s	
r/c@seZdZefddZdddZddZdd	ZdddZd
dZ	ddZ
ddZddZddZ
ddZddZeddZdS)BufferedRWPaircCs<|jstd|js tdt|||_t|||_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rar,rcr0readerr/writer)rDrrrr?r?r@rszBufferedRWPair.__init__NcCs|dkrd}|jj|S)Nr
r)rrq)rDrmr?r?r@rqszBufferedRWPair.readcCs|jj|S)N)rr)rDrr?r?r@rszBufferedRWPair.readintocCs|jj|S)N)rr})rDrr?r?r@r}szBufferedRWPair.writercCs|jj|S)N)rrh)rDrmr?r?r@rhszBufferedRWPair.peekcCs|jj|S)N)rr)rDrmr?r?r@rszBufferedRWPair.read1cCs|jj|S)N)rr)rDrr?r?r@r
szBufferedRWPair.readinto1cCs
|jjS)N)rra)rDr?r?r@ra
szBufferedRWPair.readablecCs
|jjS)N)rrc)rDr?r?r@rcszBufferedRWPair.writablecCs
|jjS)N)rr[)rDr?r?r@r[szBufferedRWPair.flushc
Cs z|jjWd|jjXdS)N)rr3r)rDr?r?r@r3szBufferedRWPair.closecCs|jjp|jjS)N)rr'r)rDr?r?r@r'szBufferedRWPair.isattycCs|jjS)N)rre)rDr?r?r@reszBufferedRWPair.closed)N)r)rHrIrJr(rrqrr}rhrrrarcr[r3r'rrer?r?r?r@rs

rc@sheZdZefddZdddZddZdd	d
ZdddZd
dZ	dddZ
ddZddZddZ
dS)r.cCs(|jtj|||tj|||dS)N)r`r0rr/)rDr;rr?r?r@r-szBufferedRandom.__init__rcCs|tkrtd|j|jrJ|j |jj|jt|jdWdQRX|jj||}|j|j	WdQRX|dkrt
d|S)Nzinvalid whence valuer
rz seek() returned invalid position)rr"r[rrr;rUrr!rr,)rDrVrWr?r?r@rU2s$zBufferedRandom.seekcCs|jrtj|Stj|SdS)N)rr/rXr0)rDr?r?r@rXCs
zBufferedRandom.tellNcCs|dkr|j}tj||S)N)rXr/rY)rDrVr?r?r@rYIszBufferedRandom.truncatecCs |dkrd}|jtj||S)Nr
r)r[r0rq)rDrmr?r?r@rqOszBufferedRandom.readcCs|jtj||S)N)r[r0r)rDrr?r?r@rUszBufferedRandom.readintocCs|jtj||S)N)r[r0rh)rDrmr?r?r@rhYszBufferedRandom.peekcCs|jtj||S)N)r[r0r)rDrmr?r?r@r]szBufferedRandom.read1cCs|jtj||S)N)r[r0r)rDrr?r?r@raszBufferedRandom.readinto1cCsF|jr:|j(|jj|jt|jd|jWdQRXtj||S)Nr
)	rrr;rUrr!rr/r})rDrr?r?r@r}es
zBufferedRandom.write)r)N)N)r)rHrIrJr(rrUrXrYrqrrhrrr}r?r?r?r@r.$s	



r.cseZdZd0ZdZdZdZdZdZdZ	d1ddZ
dd	Zd
dZdd
Z
ddZd2ddZd3ddZddZddZddZefddZddZd4ddZfd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zed,d-Zed.d/Z Z!S)5r&r
FNTrc
Cs
|jdkr*z|jrtj|jWdd|_Xt|tr<tdt|tr\|}|dkr`tdnd}t|t	sxtd|ft
|t
dkstd|ftdd|Ddks|jd	dkrtd
d|krd|_
d|_tjtjB}nVd
|krd|_d}n@d|krd|_tjtjB}n"d|kr:d|_d|_tjtjB}d	|krPd|_d|_|jrl|jrl|tjO}n|jr|tjO}n
|tjO}|ttddO}ttddpttdd}||O}d}y|dkr<|std|dkrtj||d}n0|||}t|tstd|dkr&td|}|s<tj|d||_tj|}	y(tj|	jrrt t!j"tj#t!j"|Wnt$k
rYnXt|	dd|_%|j%dkrt&|_%t'rt'|tj(||_)|jrtj*|dt+Wn"|dk	rtj|YnX||_dS)Nrr
z$integer argument expected, got floatznegative file descriptorzinvalid mode: %szxrwab+css|]}|dkVqdS)ZrwaxNr?).0cr?r?r@	<genexpr>sz"FileIO.__init__.<locals>.<genexpr>rzKMust have exactly one of create/read/write/append mode and at most one plusrTrrrO_BINARYZO_NOINHERIT	O_CLOEXECz'Cannot use closefd=False with file nameizexpected integer from openerzNegative file descriptorFr+rr),_fd_closefdrr3rfloatrrr"rr sumcount_created	_writableO_EXCLO_CREAT	_readableO_TRUNC
_appendingO_APPENDO_RDWRO_RDONLYO_WRONLYgetattrrAr,set_inheritabler)statS_ISDIRst_modeIsADirectoryErrorrZEISDIRrr-_blksizer(_setmoderrSlseekr	)
rDr4r2r9rfdflagsZnoinherit_flagZowned_fdZfdfstatr?r?r@rws




$











zFileIO.__init__cCsD|jdkr@|jr@|jr@ddl}|jd|ftd|d|jdS)Nrzunclosed file %rr)
stacklevelsource)rrrer#r$ResourceWarningr3)rDr#r?r?r@r]s

zFileIO.__del__cCstd|jjdS)Nzcannot serialize '%s' object)rrRrH)rDr?r?r@rszFileIO.__getstate__c
Csld|jj|jjf}|jr"d|Sy
|j}Wn&tk
rRd||j|j|jfSXd|||j|jfSdS)Nz%s.%sz
<%s [closed]>z<%s fd=%d mode=%r closefd=%r>z<%s name=%r mode=%r closefd=%r>)	rRrIrJrerSr-rr2r)rD
class_namerSr?r?r@rs
zFileIO.__repr__cCs|jstddS)NzFile not open for reading)rrP)rDr?r?r@rbszFileIO._checkReadablecCs|jstddS)NzFile not open for writing)rrP)rDr_r?r?r@rdszFileIO._checkWritablecCsP|j|j|dks |dkr(|jSytj|j|Stk
rJdSXdS)Nr)rZrbrrrqrr)rDrmr?r?r@rqszFileIO.readcCs|j|jt}y6tj|jdt}tj|jj}||krH||d}Wnt	k
r^YnXt
}xnt||krt|}|t|t7}|t|}ytj
|j|}Wntk
r|rPdSX|sP||7}qhWt|S)Nrr
)rZrbr(rrrrr)st_sizer,rpr!rrqrr)rDbufsizerVendr<rlrr?r?r@rs4zFileIO.readallcCs4t|jd}|jt|}t|}||d|<|S)Nr)rrrqr!)rDrmrrlr?r?r@r?s
zFileIO.readintocCs8|j|jytj|j|Stk
r2dSXdS)N)rZrdrr}rr)rDrr?r?r@r}GszFileIO.writecCs*t|trtd|jtj|j||S)Nzan integer is required)rrrrZrrr)rDrVrWr?r?r@rUUs
zFileIO.seekcCs|jtj|jdtS)Nr)rZrrrr)rDr?r?r@rXeszFileIO.tellcCs2|j|j|dkr |j}tj|j||S)N)rZrdrXr	ftruncater)rDrmr?r?r@rYlszFileIO.truncatec
s.|js*z|jrtj|jWdtjXdS)N)rerrr3rr)rD)rRr?r@r3ys
zFileIO.closecCsF|j|jdkr@y|jWntk
r8d|_YnXd|_|jS)NFT)rZ	_seekablerXr,)rDr?r?r@r^s
zFileIO.seekablecCs|j|jS)N)rZr)rDr?r?r@raszFileIO.readablecCs|j|jS)N)rZr)rDr?r?r@rcszFileIO.writablecCs|j|jS)N)rZr)rDr?r?r@r*sz
FileIO.filenocCs|jtj|jS)N)rZrr'r)rDr?r?r@r'sz
FileIO.isattycCs|jS)N)r)rDr?r?r@r9szFileIO.closefdcCsJ|jr|jrdSdSn0|jr,|jr&dSdSn|jrB|jr<dSdSndSdS)Nzxb+Zxbzab+Zabzrb+rbwb)rrrr)rDr?r?r@r2szFileIO.moder)rTN)N)N)N)"rHrIrJrrrrrrrrr]rrrbrdrqrrr}rrUrXrYr3r^rarcr*r'rr9r2rr?r?)rRr@r&ns8
u

#


r&c@s\eZdZdddZddZdddZd	d
ZddZed
dZ	eddZ
eddZdS)
TextIOBaser
cCs|jddS)Nrq)rT)rDrmr?r?r@rqszTextIOBase.readcCs|jddS)Nr})rT)rDsr?r?r@r}szTextIOBase.writeNcCs|jddS)NrY)rT)rDrVr?r?r@rYszTextIOBase.truncatecCs|jddS)Nrt)rT)rDr?r?r@rtszTextIOBase.readlinecCs|jddS)Nr)rT)rDr?r?r@rszTextIOBase.detachcCsdS)Nr?)rDr?r?r@r6szTextIOBase.encodingcCsdS)Nr?)rDr?r?r@newlinesszTextIOBase.newlinescCsdS)Nr?)rDr?r?r@r7szTextIOBase.errorsr)r)N)rHrIrJrqr}rYrtrrr6rr7r?r?r?r@rs	


	
rc@sPeZdZdddZdddZddZd	d
ZddZd
ZdZ	dZ
eddZdS)IncrementalNewlineDecoderstrictcCs,tjj||d||_||_d|_d|_dS)N)r7rF)codecsIncrementalDecoderr	translatedecoderseennl	pendingcr)rDrrr7r?r?r@rs
z"IncrementalNewlineDecoder.__init__FcCs|jdkr|}n|jj||d}|jr<|s.|r<d|}d|_|jdr^|r^|dd}d|_|jd}|jd|}|jd|}|j|o|j|o|jB|o|jBO_|j	r|r|j
dd}|r|j
dd}|S)	N)final
Fr
Tz

r)rdecoderrrrr_LF_CR_CRLFrreplace)rDinputroutputZcrlfZcrZlfr?r?r@rs(

"z IncrementalNewlineDecoder.decodecCs@|jdkrd}d}n|jj\}}|dK}|jr8|dO}||fS)Nrrr
)rgetstater)rDrflagr?r?r@r2s
z"IncrementalNewlineDecoder.getstatecCs8|\}}t|d@|_|jdk	r4|jj||d?fdS)Nr
)boolrrsetstate)rDstaterrr?r?r@r=s
z"IncrementalNewlineDecoder.setstatecCs$d|_d|_|jdk	r |jjdS)NrF)rrrreset)rDr?r?r@rCs
zIncrementalNewlineDecoder.resetr
rc
Cs
d|jS)	Nrr
rrrrrrrrr)Nrrr	rr
rr)r)rDr?r?r@rMsz"IncrementalNewlineDecoder.newlinesN)r)F)
rHrIrJrrrrrrrrrrr?r?r?r@rs

rc@s:eZdZdZdEddZddZedd	Zed
dZedd
Z	eddZ
ddZddZddZ
ddZddZeddZeddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)ZdFd*d+Zd,d-Zd.d/ZdGd1d2Zd3d4Zd5d6ZdHd7d8Zd9d:ZdId;d<Z dJd=d>Z!d?d@Z"dKdAdBZ#edCdDZ$dS)Lr1iNFc
Cs|dk	r&t|tr&tdt|f|dkr<td|f|dkrytj|j}Wntt	fk
rnYnX|dkryddl
}Wntk
rd}YnX|jd	}t|tstd
|t
j|jsd}t|||dkrd}nt|tstd
|||_||_||_||_||_|dk|_||_|dk|_|pDtj|_d|_d|_d|_d|_d|_|j j!|_"|_#t$|j d|_%d|_&|j"r|j'r|j j(}	|	dkry|j)j*dWntk
rYnXdS)Nzillegal newline type: %rrrr
zillegal newline value: %rrasciiFzinvalid encoding: %rzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrzinvalid errors: %rrg)Nrrrr
)+rrrtyper"rdevice_encodingr*r-rPlocaleImportErrorgetpreferredencodingrlookup_is_text_encodingLookupErrorr_line_buffering	_encoding_errors_readuniversal_readtranslate_readnl_writetranslatelinesep_writenl_encoder_decoder_decoded_chars_decoded_chars_used	_snapshotr>r^r_tellingro
_has_read1	_b2cratiorcrX_get_encoderr)
rDr>r6r7r8r=
write_throughrr_positionr?r?r@rws`






zTextIOWrapper.__init__cCsdj|jj|jj}y
|j}Wntk
r2YnX|dj|7}y
|j}Wntk
r`YnX|dj|7}|dj|jS)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)rrRrIrJrSrr2r6)rDr<rSr2r?r?r@rs



zTextIOWrapper.__repr__cCs|jS)N)r)rDr?r?r@r6szTextIOWrapper.encodingcCs|jS)N)r)rDr?r?r@r7szTextIOWrapper.errorscCs|jS)N)r)rDr?r?r@r=szTextIOWrapper.line_bufferingcCs|jS)N)r)rDr?r?r@r>szTextIOWrapper.buffercCs|jrtd|jS)NzI/O operation on closed file.)rer"r)rDr?r?r@r^szTextIOWrapper.seekablecCs
|jjS)N)r>ra)rDr?r?r@raszTextIOWrapper.readablecCs
|jjS)N)r>rc)rDr?r?r@rcszTextIOWrapper.writablecCs|jj|j|_dS)N)r>r[rr%)rDr?r?r@r[s
zTextIOWrapper.flushc
Cs0|jdk	r,|jr,z|jWd|jjXdS)N)r>rer[r3)rDr?r?r@r3szTextIOWrapper.closecCs|jjS)N)r>re)rDr?r?r@reszTextIOWrapper.closedcCs|jjS)N)r>rS)rDr?r?r@rSszTextIOWrapper.namecCs
|jjS)N)r>r*)rDr?r?r@r*szTextIOWrapper.filenocCs
|jjS)N)r>r')rDr?r?r@r'szTextIOWrapper.isattycCs|jrtdt|ts(td|jjt|}|js<|j	oBd|k}|rf|jrf|j
dkrf|jd|j
}|jpr|j
}|j|}|jj||j	r|sd|kr|j|jdd|_|jr|jj|S)Nzwrite to closed filezcan't write %s to text streamrrr)rer"rrrrRrHr!rrrrr r(encoder>r}r[_set_decoded_charsr$r!r)rDrZlengthZhaslfencoderrr?r?r@r}s&



zTextIOWrapper.writecCstj|j}||j|_|jS)N)rgetincrementalencoderrrr )rDZmake_encoderr?r?r@r(szTextIOWrapper._get_encodercCs2tj|j}||j}|jr(t||j}||_|S)N)rgetincrementaldecoderrrrrrr!)rDZmake_decoderrr?r?r@_get_decoders
zTextIOWrapper._get_decodercCs||_d|_dS)Nr)r"r#)rDcharsr?r?r@r,)sz TextIOWrapper._set_decoded_charscCsF|j}|dkr|j|d}n|j|||}|jt|7_|S)N)r#r"r!)rDrloffsetr1r?r?r@_get_decoded_chars.sz TextIOWrapper._get_decoded_charscCs$|j|krtd|j|8_dS)Nz"rewind decoded_chars out of bounds)r#AssertionError)rDrlr?r?r@_rewind_decoded_chars8s
z#TextIOWrapper._rewind_decoded_charscCs|jdkrtd|jr&|jj\}}|jr<|jj|j}n|jj|j}|}|jj	||}|j
||rt|t|j|_
nd|_
|jr|||f|_|S)Nz
no decoderg)r!r"r%rr&r>r_CHUNK_SIZErqrr,r!r"r'r$)rD
dec_buffer	dec_flagsinput_chunkeofZ
decoded_charsr?r?r@_read_chunk>s 

zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|d>BS)N@)r)rDr*r8
bytes_to_feedneed_eof
chars_to_skipr?r?r@_pack_cookiehszTextIOWrapper._pack_cookiecCsFt|d\}}t|d\}}t|d\}}t|d\}}|||||fS)Nr
r<llll)divmod)rDZbigintrestr*r8r@rArBr?r?r@_unpack_cookiers
zTextIOWrapper._unpack_cookiecCs>|jstd|jstd|j|jj}|j}|dksF|jdkrX|j	rTt
d|S|j\}}|t|8}|j}|dkr|j
||S|j}zt|j|}d}x|dkr$|jd|ft|j|d|}	|	|kr|j\}
}|
s|}||	8}P|t|
8}d}q||8}|d}qWd}|jd|f||}|}
|dkrZ|j
||
Sd}d}d}xt|t|D]v}|d7}|t|j|||d7}|j\}}|r||kr||7}||8}|dd}
}}||krvPqvW|t|jddd	7}d}||krtd
|j
||
|||S|j|XdS)Nz!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr
rrT)rz'can't reconstruct logical file position)rrPr%r,r[r>rXr!r$r"r4r!r#rCrrr'rrrange)rDr*rr8Z
next_inputrBZsaved_stateZ
skip_bytesZ	skip_backrlrd	start_posZstart_flagsZ	bytes_fedrAZ
chars_decodedir7r?r?r@rXysv





zTextIOWrapper.tellcCs$|j|dkr|j}|jj|S)N)r[rXr>rY)rDrVr?r?r@rYszTextIOWrapper.truncatecCs*|jdkrtd|j|j}d|_|S)Nzbuffer is already detached)r>r"r[r)rDr>r?r?r@rs
zTextIOWrapper.detachcsfdd}jrtdjs(td|dkrL|dkr@tdd}j}|dkr|dkrdtd	jjjdd}jd
d_	j
rj
j|||S|dkrtd|f|dkrtd|fjj|\}}}}}	jj|jd
d_	|dkr(j
r(j
jn@j
s<|s<|	rhj
pJj
_
j
jd
|f|d
f_	|	rjj|}
jj
j|
|||
f_	tj|	krtd|	_|||S)NcsHyjpj}Wntk
r&YnX|dkr<|jdn|jdS)Nr)r r(rrr)r*r-)rDr?r@_reset_encodersz*TextIOWrapper.seek.<locals>._reset_encoderztell on closed filez!underlying stream is not seekabler
rz#can't do nonzero cur-relative seeksrz#can't do nonzero end-relative seeksrzunsupported whence (%r)znegative seek position %rrz#can't restore logical file position)rer"rrPrXr[r>rUr,r$r!rrFr0rrqrr!r"r,r#)rDZcookierWrKr*rIr8r@rArBr9r?)rDr@rUs\





zTextIOWrapper.seekcCs|j|dkrd}|jp |j}y
|jWn,tk
rX}ztd|WYdd}~XnX|dkr|j|j|jj	dd}|j
dd|_|Sd}|j|}x6t||kr|r|j
}||j|t|7}qW|SdS)	Nr
zan integer is requiredrT)rrFr)rbr!r0rr-rr3rr>rqr,r$r!r;)rDrmrrr<r:r?r?r@rq5	s(



zTextIOWrapper.readcCs(d|_|j}|s$d|_|j|_t|S)NF)r%rtr$rrv)rDrwr?r?r@rxN	szTextIOWrapper.__next__cCs|jrtd|dkrd	}nt|ts.td|j}d}|jsH|jd}}xR|jr|j	d|}|dkrz|d}Pnt
|}n|jr|j	d|}|j	d|}|d
kr|dkrt
|}n
|d}PnL|dkr|d}Pn8||kr|d}Pn$||dkr|d}Pn
|d}Pn&|j	|j}|dkr>|t
|j}P|dkr\t
||kr\|}Px|j
rv|jr^Pq^W|jr||j7}qT|jdd|_|SqTW|dkr||kr|}|jt
|||d|S)
Nzread from closed filer
zsize must be an integerrrrrrrrrr)rer"rrrr3r!r0rrjr!rrr;r"r,r$r5)rDrmrwstartrVendposZnlposZcrposr?r?r@rtW	sp




zTextIOWrapper.readlinecCs|jr|jjSdS)N)r!r)rDr?r?r@r	szTextIOWrapper.newlines)NNNFF)N)rrrr)N)r)N)N)%rHrIrJr6rrrr6r7r=r>r^rarcr[r3rerSr*r'r}r(r0r,r3r5r;rCrFrXrYrrUrqrxrtrr?r?r?r@r1ZsF
E

*
	c

K
	
Xr1csNeZdZdfdd	ZddZddZed	d
ZeddZd
dZ	Z
S)StringIOrrcsftt|jtdd|d|dkr(d|_|dk	rbt|tsNtdjt	|j
|j||jddS)Nzutf-8
surrogatepass)r6r7r8Fz*initial_value must be str or None, not {0}r)
rrNrrrrrrrrrHr}rU)rDZ
initial_valuer8)rRr?r@r	s

zStringIO.__init__cCsL|j|jp|j}|j}|jz|j|jjddS|j|XdS)NT)r)	r[r!r0rrrr>rr)rDrZ	old_stater?r?r@r	szStringIO.getvaluecCs
tj|S)N)objectr)rDr?r?r@r	szStringIO.__repr__cCsdS)Nr?)rDr?r?r@r7	szStringIO.errorscCsdS)Nr?)rDr?r?r@r6	szStringIO.encodingcCs|jddS)Nr)rT)rDr?r?r@r	szStringIO.detach)rr)rHrIrJrrrrr7r6rrr?r?)rRr@rN	s
rN>rri r)rrNNNTN)4rabcrrrsys_threadrrrZ
_dummy_threadplatformZmsvcrtrriorrrr	rroaddr	SEEK_DATAr(rrArBrKrPr-r,r"ABCMetarQregisterr_ior&rrrr0r/rr.rrrr1rNr?r?r?r@<module>st



T	
=
giCZIJUAU^

OHA YOOOO