� c��j � �� � d Z ddlZddlZej Zd d�Z G d� dej � Z G d� dej � Z G d� d ej � Z G d � dej � Z d� Zy)z Python 'utf-32' Codec � Nc �0 � t j | |d� S )NT)�codecs� utf_32_decode)�input�errorss �)/usr/lib64/python3.12/encodings/utf_32.py�decoder s � �����v�t�4�4� c �. � e Zd Zdd�Zdd�Zd� Zd� Zd� Zy) �IncrementalEncoderc �R � t j j | |� d | _ y �N)r r �__init__�encoder��selfr s r r zIncrementalEncoder.__init__ s � ��!�!�*�*�4��8���r c � � | j �dt j || j � d }t j dk( rt j | _ |S t j | _ |S | j || j � d S )Nr �little)r r � utf_32_encoder �sys� byteorder�utf_32_le_encode�utf_32_be_encode)r r �final�results r �encodezIncrementalEncoder.encode su � ��<�<���)�)�%����=�a�@�F��}�}��(�%�6�6��� �M� &�6�6����M��|�|�E�4�;�;�/��2�2r c �P � t j j | � d | _ y r )r r �resetr �r s r r zIncrementalEncoder.reset s � ��!�!�'�'��-���r c �" � | j �dS dS )N� r )r r s r �getstatezIncrementalEncoder.getstate s � � �\�\�)��1�q�1r c � � |rd | _ y t j dk( rt j | _ y t j | _ y �Nr )r r r r r r �r �states r �setstatezIncrementalEncoder.setstate' s2 � ���D�L��}�}��(�%�6�6���%�6�6��r N��strict)F)�__name__� __module__�__qualname__r r r r" r' � r r r r s � ��3��2�7r r c �, � e Zd Zdd�Zd� Zd� Zd� Zd� Zy)�IncrementalDecoderc �R � t j j | |� d | _ y r )r �BufferedIncrementalDecoderr �decoderr s r r zIncrementalDecoder.__init__1 s � ��)�)�2�2�4��@���r c �, � | j �lt j ||d|� \ }}}|dk( rt j | _ ||fS |dk( rt j | _ ||fS |dk\ rt d� �||fS | j || j |� S )Nr ������ � �%UTF-32 stream does not start with BOM)r2 r �utf_32_ex_decode�utf_32_le_decode�utf_32_be_decode�UnicodeErrorr )r r r r �output�consumedr s r �_buffer_decodez!IncrementalDecoder._buffer_decode5 s� � ��<�<���'�'��v�q�%�@� *�V�X�y��B��%�6�6��� �H�%�%� �a��%�6�6��� �H�%�%� �Q��"�#J�K�K��H�%�%��|�|�E�4�;�;��6�6r c �P � t j j | � d | _ y r )r r1 r r2 r s r r zIncrementalDecoder.resetB s � ��)�)�/�/��5���r c �� � t j j | � d }| j �|dfS t t j dk( | j t j u k7 � }||fS )Nr r! �big)r r1 r" r2 �intr r r: )r r&