o ?Ogt@sv ddlZddlZejZdddZGdddejZGdddejZGd d d ejZGd d d ej Z d dZ dS)NstrictcCst||dS)NT)codecs utf_16_decode)inputerrorsr7/opt/alt/python310/lib64/python3.10/encodings/utf_16.pydecodesr c@s8eZdZdddZdddZddZd d Zd d Zd S)IncrementalEncoderrcCtj||d|_dSN)rr __init__encoderselfrrrrr  zIncrementalEncoder.__init__FcCsP|jdurt||jd}tjdkrtj|_|Stj|_|S|||jdS)Nrlittle)rr utf_16_encodersys byteorderutf_16_le_encodeutf_16_be_encode)rrfinalresultrrrencodes  zIncrementalEncoder.encodecCtj|d|_dSr )rr resetrrrrrr!  zIncrementalEncoder.resetcCs|jdurdSdS)Nr)rrrrrgetstate%szIncrementalEncoder.getstatecCs0|rd|_dStjdkrtj|_dStj|_dSNr)rrrrrrrstaterrrsetstate,s     zIncrementalEncoder.setstateNr)F)__name__ __module__ __qualname__r rrr r$rrrrr s     r c@s6eZdZd ddZddZddZdd Zd d Zd S)IncrementalDecoderrcCr r )rBufferedIncrementalDecoderr decoderrrrrr 6rzIncrementalDecoder.__init__cCsx|jdur4t||d|\}}}|dkrtj|_||fS|dkr(tj|_||fS|dkr0td||fS|||j|S)Nrr%UTF-16 stream does not start with BOM)r+rutf_16_ex_decodeutf_16_le_decodeutf_16_be_decode UnicodeErrorr)rrrroutputconsumedrrrr_buffer_decode:s z!IncrementalDecoder._buffer_decodecCrr )rr*rr+rrrrrGrzIncrementalDecoder.resetcCsDtj|d}|jdur|dfSttjdk|jtjuk}||fS)Nrrbig)rr*r r+intrrr1)rr#Zaddstaterrrr Ks   zIncrementalDecoder.getstatecCsttj|||d}|dkr tjdkrtj|_dStj|_dS|dkr5tjdkr/tj|_dStj|_dSd|_dS)Nr-rr6)rr*r$rrr1r0r+r"rrrr$Ys     zIncrementalDecoder.setstateNr%)r&r'r(r r5rr r$rrrrr)5s    r)c@s(eZdZd ddZddZd ddZdS) StreamWriterrcCstj|||d|_dSr )rr8r r)rstreamrrrrr is zStreamWriter.__init__cCrr )rr8rrrrrrrmrzStreamWriter.resetcCsD|jdurt||}tjdkrtj|_|Stj|_|S|||Sr!)rrrrrrr)rrrrrrrrqs    zStreamWriter.encodeNr%)r&r'r(r rrrrrrr8hs r8c@seZdZddZdddZdS) StreamReadercCs,tj|z|`WdStyYdSwr )rr:rr AttributeErrorrrrrr~s   zStreamReader.resetrcCs^t||dd\}}}|dkrtj|_||fS|dkr#tj|_||fS|dkr+td||fS)NrFr,r-rr.)rr/r0r r1r2)rrrobjectr4rrrrr szStreamReader.decodeNr%)r&r'r(rr rrrrr:|sr:c CstjdttttttdS)Nzutf-16)namerr incrementalencoderincrementaldecoder streamreader streamwriter)r CodecInforr r r)r:r8rrrr getregentrysrCr%) rrrrr r r*r)r8r:rCrrrrs #3