j f @ s d Z d d l Z d d l Z e j Z d d d Z Gd d d e j Z Gd d d e j Z Gd d d e j Z Gd d d e j Z d d Z d S)z Python 'utf-32' Codec Nstrictc C s t j | | d S)NT)codecs utf_32_decode)inputerrors r 5/opt/alt/python34/lib64/python3.4/encodings/utf_32.pydecode s r c @ sR e Z d Z d d d Z d d d Z d d Z d d Z d d Z d S)IncrementalEncoderr c C s t j j | | d | _ d S)N)r r __init__encoder)selfr r r r r s zIncrementalEncoder.__init__Fc C sm | j d k rV t j | | j d } t j d k rF t j | _ n t j | _ | S| j | | j d 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 s t j j | d | _ d S)N)r r resetr )r r r r r s zIncrementalEncoder.resetc C s | j d k r d Sd S)N r )r )r r r r getstate s zIncrementalEncoder.getstatec C s@ | r d | _ n* t j d k r0 t j | _ n t j | _ d S)Nr )r r r r r r )r stater r r setstate' s zIncrementalEncoder.setstateN)__name__ __module____qualname__r r r r r r r r r r s r c @ sO e Z d Z d d d Z d d Z d d Z d d Z d d Z d S) IncrementalDecoderr c C s t j j | | d | _ d S)N)r BufferedIncrementalDecoderr decoder)r r r r r r 1 s zIncrementalDecoder.__init__c C s | j d k r t j | | d | \ } } } | d k rK t j | _ n6 | d k rf t j | _ n | d k r t d n | | f S| j | | j | S)Nr z%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 s t j j | d | _ d S)N)r r r r! )r r r r r B s zIncrementalDecoder.resetc C s` t j j | d } | j d k r/ | d f St t j d k | j t j k k } | | f S)Nr r big)r r r r! intr r r' )r r Zaddstater r r r F s zIncrementalDecoder.getstatec C s t j j | | | d } | d k rP t j d k rA t j n t j | _ n<