o 0i @ sx d Z ddlZddlZejZdddZG dd dejZG dd d ejZG d d dej Z G dd d ej Z dd ZdS )z Python 'utf-32' Codec Nstrictc C s t | |dS )NT)codecs utf_32_decode)inputerrors r 7/opt/alt/python310/lib64/python3.10/encodings/utf_32.pydecode s r c @ s8 e Zd ZdddZdddZdd Zd d Zdd Zd S )IncrementalEncoderr c C t j| | d | _d S N)r r __init__encoderselfr r r r r zIncrementalEncoder.__init__Fc C sP | j d u rt|| jd }tjdkrtj| _ |S tj| _ |S | || jd S )Nr little)r r utf_32_encoder sys byteorderutf_32_le_encodeutf_32_be_encode)r r finalresultr r r encode s zIncrementalEncoder.encodec C t j| d | _d S r )r r resetr r r r r r zIncrementalEncoder.resetc C s | j d u rdS dS )N r )r r r r r getstate s zIncrementalEncoder.getstatec C s0 |rd | _ d S tjdkrtj| _ d S tj| _ d S Nr )r r r r r r r stater r r setstate' s zIncrementalEncoder.setstateNr )F)__name__ __module____qualname__r r r r r$ r r r r r s r c @ s6 e Zd Zd ddZdd Zdd Zdd Zd d ZdS )IncrementalDecoderr c C r r )r BufferedIncrementalDecoderr decoderr r r r r 1 r zIncrementalDecoder.__init__c C sx | j d u r4t||d|\}}}|dkrtj| _ ||fS |dkr(tj| _ ||fS |dkr0td||fS | || j|S )Nr %UTF-32 stream does not start with BOM)r+ r utf_32_ex_decodeutf_32_le_decodeutf_32_be_decodeUnicodeErrorr )r r r r outputconsumedr r r r _buffer_decode5 s z!IncrementalDecoder._buffer_decodec C r r )r r* r r+ r r r r r B r zIncrementalDecoder.resetc C sD t j| d }| jd u r|dfS ttjdk| jt ju k}||fS )Nr r big)r r* r r+ intr r r2 )r r# Zaddstater r r r F s zIncrementalDecoder.getstatec C st t j| | |d }|dkr tjdkrt j| _d S t j| _d S |dkr5tjdkr/t j| _d S t j| _d S d | _d S )Nr- r r7 )r r* r$ r r r2 r1 r+ r" r r r r$ T s zIncrementalDecoder.setstateNr% )r&