grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼] Wã@s[ddlZddlZddlZddlZddlZddlZddlZyddlmZ Wn"e k rŒddl mZ YnXej ddhkrµddl mZndZddlZddlmZmZmZmZdddhZeed ƒr'ejejƒejejƒd d ZeZd d dddd ddd„ZGdd„dƒZGdd„dƒZy ejZWn+e k r¹Gdd„de!e"ƒZYnXGdd„ddej#ƒZ$ej$j%e$ƒGdd„de$ƒZ&ej&j%e&ƒddl'm(Z(e&j%e(ƒGdd„de$ƒZ)ej)j%e)ƒGdd„de)ƒ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$ƒZ0ej0j%e0ƒGd.d/„d/ej1ƒZ2Gd0d1„d1e0ƒZ3Gd2d3„d3e3ƒZ4dS)4éN)Ú allocate_lockÚwin32Úcygwin)Úsetmode)Ú__all__ÚSEEK_SETÚSEEK_CURÚSEEK_ENDééÚ SEEK_HOLEéiÚrTcCsSt|tttfƒs(td|ƒ‚t|tƒsGtd|ƒ‚t|tƒsftd|ƒ‚|dk r’t|tƒ r’td|ƒ‚|dk r¾t|tƒ r¾td|ƒ‚t|ƒ}|tdƒsòt|ƒt|ƒkrtd|ƒ‚d|k} d|k} d |k} d |k} d |k} d |k}d |k}d|kr¥| st| st| r€tdƒ‚ddl}|j dt dƒd} |r½|r½tdƒ‚| | | | dkrátdƒ‚| pö| pö| pö| stdƒ‚|r#|dk r#tdƒ‚|rA|dk rAtdƒ‚|r_|dk r_tdƒ‚t || rqdptd| r€dpƒd| r�d p“d| r d p£d| r°d p³d|d|ƒ}|}ynd}|dksö|dkr|j ƒrd!}d}|dkr]t }ytj|jƒƒj}Wnttfk rJYnX|dkr]|}|dkrutdƒ‚|dkr—|r‹|Stdƒ‚| r¯t||ƒ}nL| sÁ| sÁ| rÓt||ƒ}n(| rët||ƒ}ntd |ƒ‚|}|r |St|||||ƒ}|}||_|SWn|jƒ‚YnXdS)"Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %rzinvalid encoding: %rzinvalid errors: %rzaxrwb+tUÚxrÚwÚaú+ÚtÚbÚUz$can't use U and writing mode at oncerz'U' mode is deprecatedr Tz'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éÿÿÿÿ)Ú isinstanceÚstrÚbytesÚintÚ TypeErrorÚsetÚlenÚ ValueErrorÚwarningsÚwarnÚDeprecationWarningÚFileIOÚisattyÚDEFAULT_BUFFER_SIZEÚosÚfstatÚfilenoÚ st_blksizeÚOSErrorÚAttributeErrorÚBufferedRandomÚBufferedWriterÚBufferedReaderÚ TextIOWrapperÚmodeÚclose)Úfiler1Ú bufferingÚencodingÚerrorsÚnewlineÚclosefdrZmodesZcreatingÚreadingÚwritingZ appendingZupdatingÚtextÚbinaryr!ÚrawÚresultÚline_bufferingÚbsÚbuffer©rBú*/opt/alt/python35/lib64/python3.5/_pyio.pyÚopen)s { (                   ?$        rDc@seZdZdd„ZdS)Ú DocDescriptorcCs dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) )rDÚ__doc__)ÚselfÚobjÚtyprBrBrCÚ__get__þszDocDescriptor.__get__N)Ú__name__Ú __module__Ú __qualname__rJrBrBrBrCrEûs rEc@s%eZdZeƒZdd„ZdS)Ú OpenWrappercOs t||ŽS)N)rD)ÚclsÚargsÚkwargsrBrBrCÚ__new__szOpenWrapper.__new__N)rKrLrMrErFrRrBrBrBrCrNs  rNc@seZdZdS)ÚUnsupportedOperationN)rKrLrMrBrBrBrCrSs rSc@sTeZdZdd„Zddd„Zdd„Zdd d „Zd d „Zd Zdd„Z dd„Z dd„Z ddd„Z dd„Z ddd„Zdd„Zddd„Zedd„ƒZdd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd5d+d,„Zd-d.„Zd/d0„Zdd1d2„Zd3d4„ZdS)6ÚIOBasecCs td|jj|fƒ‚dS)Nz%s.%s() not supported)rSÚ __class__rK)rGÚnamerBrBrCÚ _unsupported?szIOBase._unsupportedrcCs|jdƒdS)NÚseek)rW)rGÚposÚwhencerBrBrCrXFsz IOBase.seekcCs|jddƒS)Nrr )rX)rGrBrBrCÚtellVsz IOBase.tellNcCs|jdƒdS)NÚtruncate)rW)rGrYrBrBrCr\ZszIOBase.truncatecCs|jƒdS)N)Ú _checkClosed)rGrBrBrCÚflushdsz IOBase.flushFc Cs(|js$z|jƒWdd|_XdS)NT)Ú_IOBase__closedr^)rGrBrBrCr2ns z IOBase.closec Csy|jƒWnYnXdS)N)r2)rGrBrBrCÚ__del__yszIOBase.__del__cCsdS)NFrB)rGrBrBrCÚseekable‡szIOBase.seekablecCs.|jƒs*t|dkr!dn|ƒ‚dS)NzFile or stream is not seekable.)rarS)rGÚmsgrBrBrCÚ_checkSeekable�s zIOBase._checkSeekablecCsdS)NFrB)rGrBrBrCÚreadable–szIOBase.readablecCs.|jƒs*t|dkr!dn|ƒ‚dS)NzFile or stream is not readable.)rdrS)rGrbrBrBrCÚ_checkReadable�s zIOBase._checkReadablecCsdS)NFrB)rGrBrBrCÚwritable¤szIOBase.writablecCs.|jƒs*t|dkr!dn|ƒ‚dS)NzFile or stream is not writable.)rfrS)rGrbrBrBrCÚ_checkWritable«s zIOBase._checkWritablecCs|jS)N)r_)rGrBrBrCÚclosed²sz IOBase.closedcCs+|jr't|dkrdn|ƒ‚dS)NzI/O operation on closed file.)rhr )rGrbrBrBrCr]ºs zIOBase._checkClosedcCs|jƒ|S)N)r])rGrBrBrCÚ __enter__Ãs zIOBase.__enter__cGs|jƒdS)N)r2)rGrPrBrBrCÚ__exit__ÈszIOBase.__exit__cCs|jdƒdS)Nr))rW)rGrBrBrCr)Ðsz IOBase.filenocCs|jƒdS)NF)r])rGrBrBrCr%×s z IOBase.isattyr csÎtˆdƒr'‡‡fdd†}n dd„}ˆdkrHd ‰ntˆtƒsctdƒ‚tƒ}xUˆdks�t|ƒˆkrÈj|ƒƒ}|s¦P||7}|jdƒroPqoWt|ƒS) NÚpeekcsWˆjdƒ}|sdS|jdƒdp5t|ƒ}ˆdkrSt|ˆƒ}|S)Nr s r)rkÚfindrÚmin)Z readaheadÚn)rGÚsizerBrCÚ nreadaheadís z#IOBase.readline..nreadaheadcSsdS)Nr rBrBrBrBrCrpösr zsize must be an integerrs r) ÚhasattrrrrÚ bytearrayrÚreadÚendswithr)rGrorpÚresrrB)rGrorCÚreadlineás      ! zIOBase.readlinecCs|jƒ|S)N)r])rGrBrBrCÚ__iter__s zIOBase.__iter__cCs|jƒ}|st‚|S)N)rvÚ StopIteration)rGÚlinerBrBrCÚ__next__ s zIOBase.__next__cCsm|dks|dkr"t|ƒSd}g}x8|D]0}|j|ƒ|t|ƒ7}||kr5Pq5W|S)Nr)ÚlistÚappendr)rGZhintrnÚlinesryrBrBrCÚ readliness    zIOBase.readlinescCs,|jƒx|D]}|j|ƒqWdS)N)r]Úwrite)rGr}ryrBrBrCÚ writelines"s  zIOBase.writelinesr)rKrLrMrWrXr[r\r^r_r2r`rarcrdrerfrgÚpropertyrhr]rirjr)r%rvrwrzr~r€rBrBrBrCrTs2 $           %  rTÚ metaclassc@sCeZdZd dd„Zdd„Zdd„Zdd „Zd S) Ú RawIOBaser cCsp|dkrd}|dkr(|jƒSt|jƒƒ}|j|ƒ}|dkrYdS||d…=t|ƒS)Nr rr)ÚreadallrrÚ __index__Úreadintor)rGrorrnrBrBrCrs8s     zRawIOBase.readcCsHtƒ}x$|jtƒ}|s"P||7}q W|r@t|ƒS|SdS)N)rrrsr&r)rGruÚdatarBrBrCr„Is  zRawIOBase.readallcCs|jdƒdS)Nr†)rW)rGrrBrBrCr†WszRawIOBase.readintocCs|jdƒdS)Nr)rW)rGrrBrBrCr_szRawIOBase.writeNr)rKrLrMrsr„r†rrBrBrBrCrƒ*s   rƒ)r$c@sjeZdZddd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚBufferedIOBaseNcCs|jdƒdS)Nrs)rW)rGrorBrBrCrs}szBufferedIOBase.readcCs|jdƒdS)NÚread1)rW)rGrorBrBrCr‰‘szBufferedIOBase.read1cCs|j|ddƒS)Nr‰F)Ú _readinto)rGrrBrBrCr†—s zBufferedIOBase.readintocCs|j|ddƒS)Nr‰T)rŠ)rGrrBrBrCÚ readinto1¥s zBufferedIOBase.readinto1cCs}t|tƒst|ƒ}|jdƒ}|rH|jt|ƒƒ}n|jt|ƒƒ}t|ƒ}||d|…<|S)NÚB)rÚ memoryviewÚcastr‰rrs)rGrr‰r‡rnrBrBrCrаs  zBufferedIOBase._readintocCs|jdƒdS)Nr)rW)rGrrBrBrCr¿s zBufferedIOBase.writecCs|jdƒdS)NÚdetach)rW)rGrBrBrCr�ÊszBufferedIOBase.detach) rKrLrMrsr‰r†r‹rŠrr�rBrBrBrCrˆls    rˆc@sîeZdZdd„Zddd„Zdd„Zdd d „Zd d „Zd d„Zdd„Z dd„Z e dd„ƒZ e dd„ƒZ e dd„ƒZe dd„ƒZdd„Zdd„Zdd „Zd!d"„ZdS)#Ú_BufferedIOMixincCs ||_dS)N)Ú_raw)rGr=rBrBrCÚ__init__ßsz_BufferedIOMixin.__init__rcCs1|jj||ƒ}|dkr-tdƒ‚|S)Nrz#seek() returned an invalid position)r=rXr+)rGrYrZZ new_positionrBrBrCrXäs  z_BufferedIOMixin.seekcCs+|jjƒ}|dkr'tdƒ‚|S)Nrz#tell() returned an invalid position)r=r[r+)rGrYrBrBrCr[ês  z_BufferedIOMixin.tellNcCs2|jƒ|dkr"|jƒ}|jj|ƒS)N)r^r[r=r\)rGrYrBrBrCr\ðs   z_BufferedIOMixin.truncatecCs&|jrtdƒ‚|jjƒdS)Nzflush of closed file)rhr r=r^)rGrBrBrCr^þs  z_BufferedIOMixin.flushc Cs<|jdk r8|j r8z|jƒWd|jjƒXdS)N)r=rhr^r2)rGrBrBrCr2sz_BufferedIOMixin.closecCs;|jdkrtdƒ‚|jƒ|j}d|_|S)Nzraw stream already detached)r=r r^r‘)rGr=rBrBrCr� s     z_BufferedIOMixin.detachcCs |jjƒS)N)r=ra)rGrBrBrCrasz_BufferedIOMixin.seekablecCs|jS)N)r‘)rGrBrBrCr=sz_BufferedIOMixin.rawcCs |jjS)N)r=rh)rGrBrBrCrhsz_BufferedIOMixin.closedcCs |jjS)N)r=rV)rGrBrBrCrV sz_BufferedIOMixin.namecCs |jjS)N)r=r1)rGrBrBrCr1$sz_BufferedIOMixin.modecCstdj|jjƒƒ‚dS)Nz can not serialize a '{0}' object)rÚformatrUrK)rGrBrBrCÚ __getstate__(s z_BufferedIOMixin.__getstate__c Csa|jj}|jj}y |j}Wn"tk rIdj||ƒSYnXdj|||ƒSdS)Nz<{}.{}>z<{}.{} name={!r}>)rUrLrMrVÚ Exceptionr“)rGÚmodnameZclsnamerVrBrBrCÚ__repr__,s    z_BufferedIOMixin.__repr__cCs |jjƒS)N)r=r))rGrBrBrCr)8sz_BufferedIOMixin.filenocCs |jjƒS)N)r=r%)rGrBrBrCr%;sz_BufferedIOMixin.isatty)rKrLrMr’rXr[r\r^r2r�rar�r=rhrVr1r”r—r)r%rBrBrBrCr�Ös       r�csÊeZdZddd„Zdd„Zdd„Zdd „Z‡fd d †Zdd d „Zdd„Z dd„Z ddd„Z dd„Z ddd„Z dd„Zdd„Zdd„Z‡S)ÚBytesIONcCs5tƒ}|dk r||7}||_d|_dS)Nr)rrÚ_bufferÚ_pos)rGZ initial_bytesÚbufrBrBrCr’Cs     zBytesIO.__init__cCs"|jrtdƒ‚|jjƒS)Nz__getstate__ on closed file)rhr Ú__dict__Úcopy)rGrBrBrCr”Js  zBytesIO.__getstate__cCs"|jrtdƒ‚t|jƒS)Nzgetvalue on closed file)rhr rr™)rGrBrBrCÚgetvalueOs  zBytesIO.getvaluecCs"|jrtdƒ‚t|jƒS)Nzgetbuffer on closed file)rhr r�r™)rGrBrBrCÚ getbufferVs  zBytesIO.getbuffercs|jjƒtƒjƒdS)N)r™ÚclearÚsuperr2)rG)rUrBrCr2]s z BytesIO.closecCs¦|jrtdƒ‚|dkr'd}|dkrBt|jƒ}t|jƒ|jkr^dStt|jƒ|j|ƒ}|j|j|…}||_t|ƒS)Nzread from closed filer rór)rhr rr™ršrmr)rGroZnewposrrBrBrCrsas     z BytesIO.readcCs |j|ƒS)N)rs)rGrorBrBrCr‰osz BytesIO.read1c CsÍ|jrtdƒ‚t|tƒr0tdƒ‚t|ƒ�}|j}WdQRX|dkr_dS|j}|t|j ƒkr£d|t|j ƒ}|j |7_ ||j |||…<|j|7_|S)Nzwrite to closed filez can't write str to binary streamrs) rhr rrrr�Únbytesršrr™)rGrÚviewrnrYZpaddingrBrBrCrts     z BytesIO.writercCs÷|jrtdƒ‚y |jWn4tk rV}ztdƒ|‚WYdd}~XnX|dkrŽ|dkr‚td|fƒ‚||_nb|dkr¶td|j|ƒ|_n:|dkrätdt|jƒ|ƒ|_n tdƒ‚|jS)Nzseek on closed filezan integer is requiredrznegative seek position %rr r zunsupported whence value) rhr r…r,rršÚmaxrr™)rGrYrZÚerrrBrBrCrX‡s    "     " z BytesIO.seekcCs|jrtdƒ‚|jS)Nztell on closed file)rhr rš)rGrBrBrCr[šs  z BytesIO.tellcCs¢|jrtdƒ‚|dkr-|j}nay |jWn4tk rn}ztdƒ|‚WYdd}~XnX|dkrŽtd|fƒ‚|j|d…=|S)Nztruncate on closed filezan integer is requiredrznegative truncate position %r)rhr ršr…r,rr™)rGrYr¦rBrBrCr\Ÿs     " zBytesIO.truncatecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rhr )rGrBrBrCrd®s  zBytesIO.readablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rhr )rGrBrBrCrf³s  zBytesIO.writablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rhr )rGrBrBrCra¸s  zBytesIO.seekable)rKrLrMr’r”ržrŸr2rsr‰rrXr[r\rdrfrarBrB)rUrCr˜?s         r˜c@s¦eZdZedd„Zdd„Zdd„Zddd „Zdd d „Zd d d„Z d dd„Z dd„Z dd„Z dd„Z d dd„ZdS)r/cCsc|jƒstdƒ‚tj||ƒ|dkr@tdƒ‚||_|jƒtƒ|_dS)Nz "raw" argument must be readable.rzinvalid buffer size) rdr+r�r’r Ú buffer_sizeÚ_reset_read_bufÚLockÚ _read_lock)rGr=r§rBrBrCr’És      zBufferedReader.__init__cCs |jjƒS)N)r=rd)rGrBrBrCrdÖszBufferedReader.readablecCsd|_d|_dS)Nr¢r)Ú _read_bufÚ _read_pos)rGrBrBrCr¨Ùs zBufferedReader._reset_read_bufNc CsF|dk r$|dkr$tdƒ‚|j�|j|ƒSWdQRXdS)Nr zinvalid number of bytes to readr)r rªÚ_read_unlocked)rGrorBrBrCrsÝs  zBufferedReader.readc Csd}d}|j}|j}|dks6|dkr|jƒt|jdƒr“|jjƒ}|dkr�||d…p€dS||d…|S||d…g}d}xC|jjƒ}||krÑ|}P|t|ƒ7}|j|ƒq¯Wdj |ƒp|St|ƒ|} || krB|j|7_||||…S||d…g}t |j |ƒ} xR| |kr»|jj| ƒ}||kr›|}P| t|ƒ7} |j|ƒqjWt || ƒ}dj |ƒ} | |d…|_d|_| r | d|…S|S)Nr¢r r„r)r¢Nr) r«r¬r¨rqr=r„rsrr|Újoinr¥r§rm) rGrnZ nodata_valZ empty_valuesr›rYÚchunkÚchunksZ current_sizeÚavailZwantedÚoutrBrBrCr­êsN        zBufferedReader._read_unlockedrc Cs"|j�|j|ƒSWdQRXdS)N)rªÚ_peek_unlocked)rGrorBrBrCrks zBufferedReader.peekcCsŸt||jƒ}t|jƒ|j}||ks@|dkr‹|j|}|jj|ƒ}|r‹|j|jd…||_d|_|j|jd…S)Nr)rmr§rr«r¬r=rs)rGrnZwantZhaveZto_readÚcurrentrBrBrCr³(s  zBufferedReader._peek_unlockedc Csp|dkrtdƒ‚|dkr(dS|j�8|jdƒ|jt|t|jƒ|jƒƒSWdQRXdS)Nrz(number of bytes to read must be positiver¢r )r rªr³r­rmrr«r¬)rGrorBrBrCr‰3s     zBufferedReader.read1c Cset|tƒst|ƒ}|jdkr.dS|jdƒ}d}|j�x |t|ƒkrYtt|jƒ|jt|ƒƒ}|rä|j|j|j|…||||…<|j|7_||7}|t|ƒkräPt|ƒ||j kr-|j j ||d…ƒ}|s P||7}n|o6|sI|j dƒsIP|rP|rPPqPWWdQRX|S)NrrŒr ) rr�r£rŽrªrrmr«r¬r§r=r†r³)rGr›r‰Úwrittenr±rnrBrBrCrŠEs4  %+     zBufferedReader._readintocCs!tj|ƒt|jƒ|jS)N)r�r[rr«r¬)rGrBrBrCr[sszBufferedReader.tellc Csv|tkrtdƒ‚|j�N|dkrH|t|jƒ|j8}tj|||ƒ}|jƒ|SWdQRXdS)Nzinvalid whence valuer ) Úvalid_seek_flagsr rªrr«r¬r�rXr¨)rGrYrZrBrBrCrXvs     zBufferedReader.seek)rKrLrMr&r’rdr¨rsr­rkr³r‰rŠr[rXrBrBrBrCr/¾s    4   . r/c@syeZdZedd„Zdd„Zdd„Zddd „Zd d „Zd d „Z dd„Z ddd„Z dS)r.cCse|jƒstdƒ‚tj||ƒ|dkr@tdƒ‚||_tƒ|_tƒ|_ dS)Nz "raw" argument must be writable.rzinvalid buffer size) rfr+r�r’r r§rrÚ _write_bufr©Ú _write_lock)rGr=r§rBrBrCr’‰s      zBufferedWriter.__init__cCs |jjƒS)N)r=rf)rGrBrBrCrf”szBufferedWriter.writablecCsT|jrtdƒ‚t|tƒr0tdƒ‚|j�t|jƒ|jkr\|j ƒt|jƒ}|jj |ƒt|jƒ|}t|jƒ|jkrEy|j ƒWnŽt k rD}znt|jƒ|jkr2t|jƒ|j}||8}|jd|j…|_t |j |j |ƒ‚WYdd}~XnX|SWdQRXdS)Nzwrite to closed filez can't write str to binary stream)rhr rrrr¸rr·r§Ú_flush_unlockedÚextendÚBlockingIOErrorÚerrnoÚstrerror)rGrZbeforerµÚeZoveragerBrBrCr—s(      +zBufferedWriter.writeNc CsJ|j�:|jƒ|dkr/|jjƒ}|jj|ƒSWdQRXdS)N)r¸r¹r=r[r\)rGrYrBrBrCr\³s    zBufferedWriter.truncatec Cs|j�|jƒWdQRXdS)N)r¸r¹)rGrBrBrCr^ºs zBufferedWriter.flushc CsÁ|jrtdƒ‚x¥|jr¼y|jj|jƒ}Wntk rZtdƒ‚YnX|dkr|ttjddƒ‚|t |jƒks�|dkr©t 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) rhr r·r=rr»Ú RuntimeErrorr¼ÚEAGAINrr+)rGrnrBrBrCr¹¾s      ! zBufferedWriter._flush_unlockedcCstj|ƒt|jƒS)N)r�r[rr·)rGrBrBrCr[ÏszBufferedWriter.tellrc CsJ|tkrtdƒ‚|j�"|jƒtj|||ƒSWdQRXdS)Nzinvalid whence value)r¶r r¸r¹r�rX)rGrYrZrBrBrCrXÒs     zBufferedWriter.seek) rKrLrMr&r’rfrr\r^r¹r[rXrBrBrBrCr.€s      r.c@s»eZdZedd„Zddd„Zdd„Zdd „Zd d d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZdS)ÚBufferedRWPaircCsX|jƒstdƒ‚|jƒs0tdƒ‚t||ƒ|_t||ƒ|_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rdr+rfr/Úreaderr.Úwriter)rGrÂrÃr§rBrBrCr’ês     zBufferedRWPair.__init__NcCs"|dkrd}|jj|ƒS)Nr r)rÂrs)rGrorBrBrCrsøs zBufferedRWPair.readcCs|jj|ƒS)N)rÂr†)rGrrBrBrCr†ýszBufferedRWPair.readintocCs|jj|ƒS)N)rÃr)rGrrBrBrCrszBufferedRWPair.writercCs|jj|ƒS)N)rÂrk)rGrorBrBrCrkszBufferedRWPair.peekcCs|jj|ƒS)N)rÂr‰)rGrorBrBrCr‰szBufferedRWPair.read1cCs|jj|ƒS)N)rÂr‹)rGrrBrBrCr‹ szBufferedRWPair.readinto1cCs |jjƒS)N)rÂrd)rGrBrBrCrd szBufferedRWPair.readablecCs |jjƒS)N)rÃrf)rGrBrBrCrfszBufferedRWPair.writablecCs |jjƒS)N)rÃr^)rGrBrBrCr^szBufferedRWPair.flushc Cs&z|jjƒWd|jjƒXdS)N)rÃr2rÂ)rGrBrBrCr2szBufferedRWPair.closecCs|jjƒp|jjƒS)N)rÂr%rÃ)rGrBrBrCr%szBufferedRWPair.isattycCs |jjS)N)rÃrh)rGrBrBrCrhszBufferedRWPair.closed)rKrLrMr&r’rsr†rrkr‰r‹rdrfr^r2r%r�rhrBrBrBrCrÁÚs          rÁc@s—eZdZedd„Zddd„Zdd„Zdd d „Zdd d „Zd d„Z ddd„Z dd„Z dd„Z dd„Z dS)r-cCs4|jƒtj|||ƒtj|||ƒdS)N)rcr/r’r.)rGr=r§rBrBrCr’,s zBufferedRandom.__init__rcCs«|tkrtdƒ‚|jƒ|jr_|j�(|jj|jt|jƒdƒWdQRX|jj||ƒ}|j�|j ƒWdQRX|dkr§t dƒ‚|S)Nzinvalid whence valuer rz seek() returned invalid position) r¶r r^r«rªr=rXr¬rr¨r+)rGrYrZrBrBrCrX1s     *   zBufferedRandom.seekcCs'|jrtj|ƒStj|ƒSdS)N)r·r.r[r/)rGrBrBrCr[Bs  zBufferedRandom.tellNcCs(|dkr|jƒ}tj||ƒS)N)r[r.r\)rGrYrBrBrCr\Hs  zBufferedRandom.truncatecCs,|dkrd}|jƒtj||ƒS)Nr r)r^r/rs)rGrorBrBrCrsNs  zBufferedRandom.readcCs|jƒtj||ƒS)N)r^r/r†)rGrrBrBrCr†Ts zBufferedRandom.readintocCs|jƒtj||ƒS)N)r^r/rk)rGrorBrBrCrkXs zBufferedRandom.peekcCs|jƒtj||ƒS)N)r^r/r‰)rGrorBrBrCr‰\s zBufferedRandom.read1cCs|jƒtj||ƒS)N)r^r/r‹)rGrrBrBrCr‹`s zBufferedRandom.readinto1c CsW|jrG|j�2|jj|jt|jƒdƒ|jƒWdQRXtj||ƒS)Nr ) r«rªr=rXr¬rr¨r.r)rGrrBrBrCrds   #zBufferedRandom.write)rKrLrMr&r’rXr[r\rsr†rkr‰r‹rrBrBrBrCr-#s     r-cs]eZdZd0ZdZdZdZdZdZdZ ddddd„Z dd „Z d d „Z d d „Z dd„Zddd„Zddd„Zdd„Zdd„Zdd„Zedd„Zdd„Zddd„Z‡fd d!†Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zed,d-„ƒZed.d/„ƒZ ‡S)1r$r FNTrc Cs|jdkr9z|jr+tj|jƒWdd|_Xt|tƒrTtdƒ‚t|tƒr„|}|dkrŠtdƒ‚nd}t|t ƒs¬td|fƒ‚t |ƒt dƒks×td|fƒ‚t dd„|Dƒƒdks |j d ƒdkrtd ƒ‚d |krHd |_ d |_tjtjB}ntd |krfd |_d}nVd|krŽd |_tjtjB}n.d|kr¼d |_d |_tjtjB}d |krÚd |_d |_|jrü|jrü|tjO}n&|jr|tjO}n |tjO}|ttddƒO}ttddƒpYttddƒ}||O}d}yp|dkr|s�tdƒ‚|dkr±tj||dƒ}nB|||ƒ}t|tƒsÛtdƒ‚|dkrótdƒ‚|}|stj|dƒ||_tj|ƒ} y7tj| jƒr]t t!j"tj#t!j"ƒ|ƒ‚Wnt$k rrYnXt| ddƒ|_%|j%dkr t&|_%t'r¶t'|tj(ƒ||_)|jrÛtj*|dt+ƒWn$|dk rûtj|ƒ‚YnX||_dS)Nrr z$integer argument expected, got floatznegative file descriptorzinvalid mode: %szxrwab+css|]}|dkVqdS)ZrwaxNrB)Ú.0ÚcrBrBrCú ˜sz"FileIO.__init__..rzKMust have exactly one of create/read/write/append mode and at most one plusrTrrrÚO_BINARYZ O_NOINHERITÚ O_CLOEXECz'Cannot use closefd=False with file namei¶zexpected integer from openerzNegative file descriptorFr*rr),Ú_fdÚ_closefdr'r2rÚfloatrrr rrÚsumÚcountÚ_createdÚ _writableÚO_EXCLÚO_CREATÚ _readableÚO_TRUNCÚ _appendingÚO_APPENDÚO_RDWRÚO_RDONLYÚO_WRONLYÚgetattrrDr+Úset_inheritabler(ÚstatÚS_ISDIRÚst_modeÚIsADirectoryErrorr¼ZEISDIRr½r,Ú_blksizer&Ú_setmoderÇrVÚlseekr ) rGr3r1r8rÚfdÚflagsZnoinherit_flagZowned_fdZfdfstatrBrBrCr’vs      4                                zFileIO.__init__cCsY|jdkrU|jrU|j rUddl}|jd|ftddƒ|jƒdS)Nrzunclosed file %rÚ stacklevelr )rÉrÊrhr!r"ÚResourceWarningr2)rGr!rBrBrCr`ës " zFileIO.__del__cCstd|jjƒ‚dS)Nzcannot serialize '%s' object)rrUrK)rGrBrBrCr”òszFileIO.__getstate__c CsŠd|jj|jjf}|jr-d|Sy |j}Wn/tk rkd||j|j|jfSYnXd|||j|jfSdS)Nz%s.%sz <%s [closed]>z<%s fd=%d mode=%r closefd=%r>z<%s name=%r mode=%r closefd=%r>) rUrLrMrhrVr,rÉr1rÊ)rGÚ class_namerVrBrBrCr—õs    zFileIO.__repr__cCs|jstdƒ‚dS)NzFile not open for reading)rÒrS)rGrBrBrCres zFileIO._checkReadablecCs|jstdƒ‚dS)NzFile not open for writing)rÏrS)rGrbrBrBrCrgs zFileIO._checkWritablec Csj|jƒ|jƒ|dks,|dkr6|jƒSytj|j|ƒSWntk redSYnXdS)Nr)r]rer„r'rsrÉr»)rGrorBrBrCrs s    z FileIO.readcCs|jƒ|jƒt}yKtj|jdtƒ}tj|jƒj}||krd||d}Wnt k ryYnXt ƒ}x�t |ƒ|kr·t |ƒ}|t |tƒ7}|t |ƒ}ytj |j|ƒ}Wntk rÿ|r÷PdSYnX|sP||7}q†Wt|ƒS)Nrr )r]rer&r'rárÉrr(Úst_sizer+rrrr¥rsr»r)rGÚbufsizerYÚendr>rnr¯rBrBrCr„s4        zFileIO.readallcCsJt|ƒjdƒ}|jt|ƒƒ}t|ƒ}||d|…<|S)NrŒ)r�rŽrsr)rGrÚmr‡rnrBrBrCr†>s  zFileIO.readintoc CsH|jƒ|jƒytj|j|ƒSWntk rCdSYnXdS)N)r]rgr'rrÉr»)rGrrBrBrCrFs    z FileIO.writecCs;t|tƒrtdƒ‚|jƒtj|j||ƒS)Nzan integer is required)rrËrr]r'rárÉ)rGrYrZrBrBrCrXTs   z FileIO.seekcCs |jƒtj|jdtƒS)Nr)r]r'rárÉr)rGrBrBrCr[ds z FileIO.tellcCsC|jƒ|jƒ|dkr,|jƒ}tj|j|ƒ|S)N)r]rgr[r'Ú ftruncaterÉ)rGrorBrBrCr\ks     zFileIO.truncatec s;|js7z|jr%tj|jƒWdtƒjƒXdS)N)rhrÊr'r2rÉr¡)rG)rUrBrCr2xs   z FileIO.closec CsU|jƒ|jdkrNy|jƒWntk rDd|_Yn Xd|_|jS)NFT)r]Ú _seekabler[r+)rGrBrBrCra…s   zFileIO.seekablecCs|jƒ|jS)N)r]rÒ)rGrBrBrCrd‘s zFileIO.readablecCs|jƒ|jS)N)r]rÏ)rGrBrBrCrf–s zFileIO.writablecCs|jƒ|jS)N)r]rÉ)rGrBrBrCr)›s z FileIO.filenocCs|jƒtj|jƒS)N)r]r'r%rÉ)rGrBrBrCr% s z FileIO.isattycCs|jS)N)rÊ)rGrBrBrCr8¥szFileIO.closefdcCs_|jr|jrdSdSn>|jr:|jr3dSdSn!|jrW|jrPdSdSndSdS)Nzxb+Úxbzab+Úabzrb+ÚrbÚwb)rÎrÒrÔrÏ)rGrBrBrCr1ªs      z FileIO.moder)!rKrLrMrÉrÎrÒrÏrÔrìrÊr’r`r”r—rergrsr„r†rrrXr[r\r2rardrfr)r%r�r8r1rBrB)rUrCr$ms8 u     #        r$c@sˆeZdZddd„Zdd„Zddd„Zd d „Zd d „Zed d„ƒZ edd„ƒZ edd„ƒZ dS)Ú TextIOBaser cCs|jdƒdS)Nrs)rW)rGrorBrBrCrsÉszTextIOBase.readcCs|jdƒdS)Nr)rW)rGÚsrBrBrCrÓszTextIOBase.writeNcCs|jdƒdS)Nr\)rW)rGrYrBrBrCr\×szTextIOBase.truncatecCs|jdƒdS)Nrv)rW)rGrBrBrCrvÛszTextIOBase.readlinecCs|jdƒdS)Nr�)rW)rGrBrBrCr�âszTextIOBase.detachcCsdS)NrB)rGrBrBrCr5ëszTextIOBase.encodingcCsdS)NrB)rGrBrBrCÚnewlinesðszTextIOBase.newlinescCsdS)NrB)rGrBrBrCr6úszTextIOBase.errorsr) rKrLrMrsrr\rvr�r�r5rór6rBrBrBrCrñÀs     rñc@sveZdZddd„Zddd„Zdd„Zd d „Zd d „Zd ZdZ dZ e dd„ƒZ dS)ÚIncrementalNewlineDecoderÚstrictcCs>tjj|d|ƒ||_||_d|_d|_dS)Nr6rF)ÚcodecsÚIncrementalDecoderr’Ú translateÚdecoderÚseennlÚ pendingcr)rGrùrør6rBrBrCr’ s    z"IncrementalNewlineDecoder.__init__FcCs+|jdkr|}n|jj|d|ƒ}|jrX|sE|rXd|}d|_|jdƒr‡| 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) rùÚdecoderûrtrÍrúÚ_LFÚ_CRÚ_CRLFrøÚreplace)rGÚinputrüÚoutputZcrlfZcrZlfrBrBrCrÿs(    + z IncrementalNewlineDecoder.decodecCsZ|jdkrd}d}n|jjƒ\}}|dK}|jrP|dO}||fS)Nr¢rr )rùÚgetstaterû)rGr›ÚflagrBrBrCr1s    z"IncrementalNewlineDecoder.getstatecCsL|\}}t|d@ƒ|_|jdk rH|jj||d?fƒdS)Nr )ÚboolrûrùÚsetstate)rGÚstater›rrBrBrCr <s z"IncrementalNewlineDecoder.setstatecCs2d|_d|_|jdk r.|jjƒdS)NrF)rúrûrùÚreset)rGrBrBrCr Bs  zIncrementalNewlineDecoder.resetr r éc Cs d|jS) Nrþrýú ©rýrþ©rþr ©rýr ©rýrþr )Nrþrýrr rrr)rú)rGrBrBrCróLsz"IncrementalNewlineDecoder.newlinesN) rKrLrMr’rÿrr r rrrr�rórBrBrBrCrôs   rôc@sêeZdZdZddddddd„Zdd„Zedd „ƒZed d „ƒZed d „ƒZ edd„ƒZ dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZedd„ƒZdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zdd*d+„Zd,d-„Zd.d/„Zd0d0d0d0d1d2„Zd3d4„Zd5d6„Zdd7d8„Zd9d:„Zd0d;d<„Z dd=d>„Z!d?d@„Z"ddAdB„Z#edCdD„ƒZ$dS)Er0iNFc Cs€|dk r5t|tƒ r5tdt|ƒfƒ‚|dkrTtd|fƒ‚|dkrÚytj|jƒƒ}Wntt fk r“YnX|dkrÚyddl }Wnt k rÊd}YnX|j d ƒ}t|tƒsùtd |ƒ‚t j|ƒjs!d }t||ƒ‚|dkr6d }nt|tƒsUtd |ƒ‚||_||_||_||_| |_|dk|_||_|dk|_|p¶tj|_d|_d|_d|_d|_d|_|j j!ƒ|_"|_#t$|j dƒ|_%d|_&|j"r||j'ƒr||j j(ƒ} | dkr|y|j)ƒj*dƒWntk r{YnXdS)Nzillegal newline type: %rrrþrýú zillegal newline value: %rrÚasciiFzinvalid encoding: %rzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrõzinvalid errors: %rr‰g)Nrrþrýr)+rrrÚtyper r'Údevice_encodingr)r,rSÚlocaleÚ ImportErrorÚgetpreferredencodingröÚlookupÚ_is_text_encodingÚ LookupErrorr™Ú_line_bufferingÚ _encodingÚ_errorsÚ_readuniversalÚ_readtranslateÚ_readnlÚ_writetranslateÚlinesepÚ_writenlÚ_encoderÚ_decoderÚ_decoded_charsÚ_decoded_chars_usedÚ _snapshotrArarìÚ_tellingrqÚ _has_read1Ú _b2cratiorfr[Ú _get_encoderr ) rGrAr5r6r7r?Ú write_throughrrbÚpositionrBrBrCr’vs`                     zTextIOWrapper.__init__cCsœdj|jj|jjƒ}y |j}Wntk r?YnX|dj|ƒ7}y |j}Wntk rtYnX|dj|ƒ7}|dj|jƒS)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)r“rUrLrMrVr•r1r5)rGr>rVr1rBrBrCr—¼s    zTextIOWrapper.__repr__cCs|jS)N)r)rGrBrBrCr5ÍszTextIOWrapper.encodingcCs|jS)N)r)rGrBrBrCr6ÑszTextIOWrapper.errorscCs|jS)N)r)rGrBrBrCr?ÕszTextIOWrapper.line_bufferingcCs|jS)N)r™)rGrBrBrCrAÙszTextIOWrapper.buffercCs|jrtdƒ‚|jS)NzI/O operation on closed file.)rhr rì)rGrBrBrCraÝs  zTextIOWrapper.seekablecCs |jjƒS)N)rArd)rGrBrBrCrdâszTextIOWrapper.readablecCs |jjƒS)N)rArf)rGrBrBrCrfåszTextIOWrapper.writablecCs|jjƒ|j|_dS)N)rAr^rìr*)rGrBrBrCr^ès zTextIOWrapper.flushc Cs<|jdk r8|j r8z|jƒWd|jjƒXdS)N)rArhr^r2)rGrBrBrCr2ìszTextIOWrapper.closecCs |jjS)N)rArh)rGrBrBrCrhószTextIOWrapper.closedcCs |jjS)N)rArV)rGrBrBrCrV÷szTextIOWrapper.namecCs |jjƒS)N)rAr))rGrBrBrCr)ûszTextIOWrapper.filenocCs |jjƒS)N)rAr%)rGrBrBrCr%þszTextIOWrapper.isattycCs|jrtdƒ‚t|tƒs:td|jjƒ‚t|ƒ}|jsX|j oad|k}|r—|jr—|j dkr—|j d|j ƒ}|j p©|j ƒ}|j|ƒ}|jj|ƒ|j rð|sæd|krð|jƒd|_|jr|jjƒ|S)Nzwrite to closed filezcan't write %s to text streamrþrý)rhr rrrrUrKrr"rr$rr%r-ÚencoderArr^r)r&r )rGròÚlengthZhaslfÚencoderrrBrBrCrs$       zTextIOWrapper.writecCs+tj|jƒ}||jƒ|_|jS)N)röÚgetincrementalencoderrrr%)rGZ make_encoderrBrBrCr-szTextIOWrapper._get_encodercCsItj|jƒ}||jƒ}|jr<t||jƒ}||_|S)N)röÚgetincrementaldecoderrrrrôr r&)rGZ make_decoderrùrBrBrCÚ _get_decoders   zTextIOWrapper._get_decodercCs||_d|_dS)Nr)r'r()rGÚcharsrBrBrCÚ_set_decoded_chars's z TextIOWrapper._set_decoded_charscCs[|j}|dkr+|j|d…}n|j|||…}|jt|ƒ7_|S)N)r(r'r)rGrnÚoffsetr6rBrBrCÚ_get_decoded_chars,s   z TextIOWrapper._get_decoded_charscCs.|j|krtdƒ‚|j|8_dS)Nz"rewind decoded_chars out of bounds)r(ÚAssertionError)rGrnrBrBrCÚ_rewind_decoded_chars6s z#TextIOWrapper._rewind_decoded_charscCsç|jdkrtdƒ‚|jr9|jjƒ\}}|jrZ|jj|jƒ}n|jj|jƒ}| }|jj ||ƒ}|j |ƒ|r½t |ƒt |j ƒ|_ n d|_ |jrâ|||f|_| S)Nz no decoderg)r&r r*rr+rAr‰Ú _CHUNK_SIZErsrÿr7rr'r,r))rGÚ dec_bufferÚ dec_flagsÚ input_chunkÚeofZ decoded_charsrBrBrCÚ _read_chunk<s       zTextIOWrapper._read_chunkrcCs*||d>B|d>B|d>Bt|ƒd>BS)Né@é€éÀé)r)rGr/r>Ú bytes_to_feedÚneed_eofÚ chars_to_skiprBrBrCÚ _pack_cookiefszTextIOWrapper._pack_cookiecCsgt|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}|||||fS)Nr rBllll)Údivmod)rGZbigintÚrestr/r>rFrGrHrBrBrCÚ_unpack_cookieps zTextIOWrapper._unpack_cookiecCs|jstdƒ‚|js*tdƒ‚|jƒ|jjƒ}|j}|dksg|jdkr€|j r|t dƒ‚|S|j\}}|t |ƒ8}|j }|dkrÄ|j ||ƒS|jƒ}zt|j|ƒ}d}x½|dkr’|jd|fƒt |j|d|…ƒƒ} | |kr{|jƒ\} } | sb| }|| 8}P|t | ƒ8}d}qï||8}|d}qïWd}|jd|fƒ||} |} |dkrØ|j | | ƒSd}d}d}xåt|t |ƒƒD]‘}|d7}|t |j|||d…ƒƒ7}|jƒ\}}| r„||kr„| |7} ||8}|dd} }}||krPqW|t |jddd ƒƒ7}d}||krÒtd ƒ‚|j | | |||ƒSWd|j|ƒXdS) Nz!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr r¢r rüTz'can't reconstruct logical file position)rìrSr*r+r^rAr[r&r)r'r:rr(rIrrr,r rÿÚrange)rGr/rùr>Z next_inputrHÚ saved_stateZ skip_bytesZ skip_backrnrÚdÚ start_posZ start_flagsZ bytes_fedrGZ chars_decodedÚir=rBrBrCr[wsv                  '     zTextIOWrapper.tellcCs2|jƒ|dkr"|jƒ}|jj|ƒS)N)r^r[rAr\)rGrYrBrBrCr\Ús   zTextIOWrapper.truncatecCs;|jdkrtdƒ‚|jƒ|j}d|_|S)Nzbuffer is already detached)rAr r^r™)rGrArBrBrCr�às     zTextIOWrapper.detachc sm‡fdd†}ˆjr'tdƒ‚ˆjs<tdƒ‚|dkrr|dkr`tdƒ‚d}ˆjƒ}|dkrï|dkr–td ƒ‚ˆjƒˆjjddƒ}ˆjd ƒdˆ_ ˆj ráˆj j ƒ||ƒ|S|dkrtd |fƒ‚|dkr-td |fƒ‚ˆjƒˆj |ƒ\}}}}} ˆjj|ƒˆjd ƒdˆ_ |dkr ˆj r ˆj j ƒnRˆj sµ|sµ| ròˆj pLjj ƒˆ_ ˆj jd |fƒ|d fˆ_ | r_ˆjj|ƒ} ˆjˆj j| |ƒƒ|| fˆ_ tˆjƒ| krVtdƒ‚| ˆ_||ƒ|S)Nc sXyˆjpˆjƒ}Wntk r-Yn'X|dkrJ|jdƒn |jƒdS)Nr)r%r-rr r )r/r2)rGrBrCÚ_reset_encoderés  z*TextIOWrapper.seek.._reset_encoderztell on closed filez!underlying stream is not seekabler rz#can't do nonzero cur-relative seeksr z#can't do nonzero end-relative seeksrzunsupported whence (%r)znegative seek position %rr¢z#can't restore logical file position)rhr rìrSr[r^rArXr7r)r&r rLr5r rsrÿrr'r+r() rGZcookierZrRr/rPr>rFrGrHr?rB)rGrCrXès\                         zTextIOWrapper.seekcCs(|jƒ|dkrd}|jp.|jƒ}y |jWn4tk rr}ztdƒ|‚WYdd}~XnX|dkrÁ|jƒ|j|jj ƒddƒ}|j dƒd|_ |Sd}|j|ƒ}xGt |ƒ|kr| r|j ƒ }||j|t |ƒƒ7}qÙW|SdS) Nr zan integer is requiredrrüTrFr)rer&r5r…r,rr9rÿrArsr7r)rrA)rGrorùr¦r>r@rBrBrCrs3 s(   "     !zTextIOWrapper.readcCs:d|_|jƒ}|s6d|_|j|_t‚|S)NF)r*rvr)rìrx)rGryrBrBrCrzL s    zTextIOWrapper.__next__cCsn|jrtdƒ‚|dkr*d }nt|tƒsEtdƒ‚|jƒ}d}|jsj|jƒd}}x´|jr»|j d|ƒ}|dkr¬|d}Pq¯t |ƒ}nô|j r}|j d|ƒ}|j d|ƒ}|d kr|d krt |ƒ}qz|d}Pq¯|d kr7|d}Pq¯||krQ|d}Pq¯||dkro|d}Pq¯|d}Pn2|j |j ƒ}|dkr¯|t |j ƒ}P|dkrÔt |ƒ|krÔ|}Px|j ƒrð|jr×Pq×W|jr ||jƒ7}qw|jdƒd|_|SqwW|dkrI||krI|}|jt |ƒ|ƒ|d|…S) Nzread from closed filer zsize must be an integerrrþrýr rrrrr)rhr rrrr9r&r5r rlrrr!rAr'r7r)r;)rGroryÚstartrYÚendposZnlposZcrposrBrBrCrvU sp                           zTextIOWrapper.readlinecCs|jr|jjSdS)N)r&ró)rGrBrBrCró­ szTextIOWrapper.newlines)%rKrLrMr<r’r—r�r5r6r?rArardrfr^r2rhrVr)r%rr-r5r7r9r;rArIrLr[r\r�rXrsrzrvrórBrBrBrCr0YsF  E             *  c K Xr0cspeZdZdd‡fdd†Zdd„Zdd„Zed d „ƒZed d „ƒZd d„Z ‡S)ÚStringIOrrþcs—tt|ƒjtƒddddd|ƒ|dkr@d|_|dk r“t|tƒsytdjt |ƒj ƒƒ‚|j |ƒ|j dƒdS) Nr5zutf-8r6Ú surrogatepassr7Fz*initial_value must be str or None, not {0}r) r¡rUr’r˜r"rrrr“rrKrrX)rGZ initial_valuer7)rUrBrCr’¹ s     zStringIO.__init__c Csj|jƒ|jp|jƒ}|jƒ}|jƒz |j|jjƒddƒSWd|j|ƒXdS)NrüT) r^r&r5rr rÿrAržr )rGrùZ old_staterBrBrCržÉ s    zStringIO.getvaluecCs tj|ƒS)N)Úobjectr—)rGrBrBrCr—Ó szStringIO.__repr__cCsdS)NrB)rGrBrBrCr6Ø szStringIO.errorscCsdS)NrB)rGrBrBrCr5Ü szStringIO.encodingcCs|jdƒdS)Nr�)rW)rGrBrBrCr�à szStringIO.detach) rKrLrMr’ržr—r�r6r5r�rBrB)rUrCrU² s  rU)5r'Úabcrör¼ÚarrayrÛÚsysÚ_threadrr©rÚ _dummy_threadÚplatformÚmsvcrtrràÚiorrrr r¶rqÚaddr Ú SEEK_DATAr&r»rDrErNrSr,r+r ÚABCMetarTÚregisterrƒÚ_ior$rˆr�r˜r/r.rÁr-rñr÷rôr0rUrBrBrBrCÚsj         "  Ñ   ÿ = giÂZIJÿTAUÿÿ[