Your IP : 3.144.37.178


Current Path : /opt/alt/python310/lib64/python3.10/encodings/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/encodings/__pycache__/utf_8_sig.cpython-310.pyc

o

6��f%�@stdZddlZddd�Zddd�ZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
ej�ZGdd�dej�Zdd�Z	dS)a Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:

* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.

* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
�N�strictcCstjt�||�dt|�fS�Nr)�codecs�BOM_UTF8�utf_8_encode�len)�input�errors�r
�:/opt/alt/python310/lib64/python3.10/encodings/utf_8_sig.py�encodes�rcCsDd}|dd�tjkr|dd�}d}t�||d�\}}|||fS)Nr�T)rr�utf_8_decode)rr	�prefix�output�consumedr
r
r�decodesrc@s8eZdZddd�Zddd�Zdd�Zd	d
�Zdd�Zd
S)�IncrementalEncoderrcC�tj�||�d|_dS�N�)rr�__init__�first��selfr	r
r
rr�
zIncrementalEncoder.__init__FcCs6|jrd|_tjt�||j�dSt�||j�dSr)rrrrr	)rr�finalr
r
rrs�zIncrementalEncoder.encodecC�tj�|�d|_dSr)rr�resetr�rr
r
rr'�
zIncrementalEncoder.resetcCs|jS�N�rrr
r
r�getstate+szIncrementalEncoder.getstatecCs
||_dSr!r"�r�stater
r
r�setstate.s
zIncrementalEncoder.setstateN�r)F)�__name__�
__module__�__qualname__rrrr#r&r
r
r
rrs

rc@s6eZdZd
dd�Zdd�Zdd�Zdd	�Zd
d�ZdS)�IncrementalDecoderrcCrr)r�BufferedIncrementalDecoderrrrr
r
rr2rzIncrementalDecoder.__init__cCsv|jr4t|�dkrtj�|�rdSd|_nd|_|dd�tjkr4t�|dd�||�\}}||dfSt�|||�S)Nr
��rr)rrrr�
startswithr)rrr	rrrr
r
r�_buffer_decode6s�z!IncrementalDecoder._buffer_decodecCrr)rr,rrrr
r
rrGr zIncrementalDecoder.resetcCstj�|�}|d|jfSr)rr,r#rr$r
r
rr#KszIncrementalDecoder.getstatecCstj�||�|d|_dSr)rr,r&rr$r
r
rr&PszIncrementalDecoder.setstateNr')r(r)r*rr0rr#r&r
r
r
rr+1s
r+c@�eZdZdd�Zddd�ZdS)�StreamWritercC�,tj�|�z|`WdStyYdSwr!)rr2rr�AttributeErrorrr
r
rrV�
�zStreamWriter.resetrcCstj|_t||�Sr!)rrr)rrr	r
r
rr]s
zStreamWriter.encodeNr')r(r)r*rrr
r
r
rr2U�r2c@r1)�StreamReadercCr3r!)rr7rrr4rr
r
rrbr5zStreamReader.resetrcCspt|�dkrtj�|�rdSn|dd�tjkr.tj|_t�|dd�|�\}}||dfStj|_t�||�S)Nr
r-)rrrr/rr)rrr	rrr
r
rris�zStreamReader.decodeNr')r(r)r*rrr
r
r
rr7ar6r7c	Cstjdttttttd�S)Nz	utf-8-sig)�namerr�incrementalencoder�incrementaldecoder�streamreader�streamwriter)r�	CodecInforrrr+r7r2r
r
r
r�getregentryys�r>r')
�__doc__rrrrr,r+r2r7r>r
r
r
r�<module>s	

$

?>