Your IP : 18.118.184.36
U
i�f;� � , @ s� d Z ddlZddlZzddlT W n. ek
rN Z zede ��W 5 dZ[X Y nX ddddd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0g,Zd1Zd2 Z Z
d3 ZZd4Z
d5Zejd6kr�e
ZZe
Zne ZZeZe
ZeZe
ZeZG d7d� de�ZG d8d� d�ZG d9d� de�ZG d:d;� d;e�ZG d<d� de�ZG d=d>� d>e�ZG d?d� de�ZG d@d� de�Z G dAd� d�Z!G dBd� d�Z"d\dFd�Z#d]dGd�Z$dHd� Z%dId � Z&dJd!� Z'dKd"� Z(dLd#� Z)dMd$� Z*d^dNd'�Z+d_dOd(�Z,dPdQ� Z-dRdS� Z.z4e/dD�Z0e/dT�Z1e/dU�Z2e/dV�Z3e/dW�Z4e/dX�Z5W n. e6k
�r` dZ0dZ1dZ2dZ3dZ4dZ5Y nX dZ7e7�rtddl8Z8e9dYk�r�e$ej:dZd[�e_:e$ej;d[dZ�e_;dS )`z� codecs -- Python Codec Registry, API and helpers.
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
� N)�*z%Failed to load the builtin codecs: %s�register�lookup�open�EncodedFile�BOM�BOM_BE�BOM_LE�BOM32_BE�BOM32_LE�BOM64_BE�BOM64_LE�BOM_UTF8� BOM_UTF16�BOM_UTF16_LE�BOM_UTF16_BE� BOM_UTF32�BOM_UTF32_LE�BOM_UTF32_BE� CodecInfo�Codec�IncrementalEncoder�IncrementalDecoder�StreamReader�StreamWriter�StreamReaderWriter�
StreamRecoder�
getencoder�
getdecoder�getincrementalencoder�getincrementaldecoder� getreader� getwriter�encode�decode�
iterencode�
iterdecode�
strict_errors�
ignore_errors�replace_errors�xmlcharrefreplace_errors�backslashreplace_errors�namereplace_errors�register_error�lookup_errors s ��s ��s �� s ���littlec @ s, e Zd ZdZdZd dd�dd�Zdd� ZdS )
r z0Codec details when looking up the codec registryTN)�_is_text_encodingc
C sP t �| ||||f�} || _|| _|| _|| _|| _|| _|| _|d k rL|| _ | S �N)
�tuple�__new__�namer# r$ �incrementalencoder�incrementaldecoder�streamwriter�streamreaderr0 )
�clsr# r$ r8 r7 r5 r6 r4 r0 �self� r; �+/opt/alt/python38/lib64/python3.8/codecs.pyr3 ^ s zCodecInfo.__new__c C s d| j j| j j| jt| �f S )Nz%<%s.%s object for encoding %s at %#x>)� __class__�
__module__�__qualname__r4 �id�r: r; r; r<