File: //lib/python3/dist-packages/future/backports/xmlrpc/__pycache__/client.cpython-310.pyc
o
    ,�]�  �                
   @   s�  d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZ ddlZej
e_eje_ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ ddlZddlZdd
l m!Z! zddl"Z"W n e#ym   dZ"Y nw dd� Z$ej%dd
� Z&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4G dd� de5�Z6G dd� de6�Z7G dd� de6�Z8G d d!� d!e6�Z9e: Z;Z<d"d#� Z=d$d%� Z>G d&d'� d'e?�Z@d(d)� ZAd*d+� ZBG d,d-� d-e?�ZCd.d/� ZDe@eCfZEG d0d1� d1e?�ZFG d2d3� d3e?�ZGG d4d5� d5e?�ZHG d6d7� d7e?�ZIG d8d9� d9e?�ZJG d:d;� d;e?�ZKd ZL ZMZNdWd=d>�ZO		<dXd?d@�ZPdWdAdB�ZQdCdD� ZRdEdF� ZSG dGdH� dHe"�r;e"jTne?�ZUG dIdJ� dJe?�ZVG dKdL� dLe?�ZWG dMdN� dNeW�ZXG dOdP� dPe?�ZYeYZZe[dQk�r�eYdR�Z\z	e]e\j^�_� � W n e6�y� Z` ze]dSe`� W Y dZ`[`ndZ`[`ww eKe\�Zaea�b�  ea�cdTdU� ea�ddVdT� zea� D ]Zee]ee� �q�W dS  e6�y� Z` ze]dSe`� W Y dZ`[`dS dZ`[`ww dS )Ya�  
Ported using Python-Future from the Python 3.3 standard library.
An XML-RPC client interface for Python.
The marshalling and response parser code can also be used to
implement XML-RPC servers.
Exported exceptions:
  Error          Base class for client errors
  ProtocolError  Indicates an HTTP protocol error
  ResponseError  Indicates a broken response package
  Fault          Indicates an XML-RPC fault package
Exported classes:
  ServerProxy    Represents a logical connection to an XML-RPC server
  MultiCall      Executor of boxcared xmlrpc requests
  DateTime       dateTime wrapper for an ISO 8601 string or time tuple or
                 localtime integer value to generate a "dateTime.iso8601"
                 XML-RPC value
  Binary         binary data wrapper
  Marshaller     Generate an XML-RPC params chunk from a Python data structure
  Unmarshaller   Unmarshal an XML-RPC response from incoming XML event message
  Transport      Handles an HTTP transaction to an XML-RPC server
  SafeTransport  Handles an HTTPS transaction to an XML-RPC server
Exported constants:
  (none)
Exported functions:
  getparser      Create instance of the fastest available parser & attach
                 to an unmarshalling object
  dumps          Convert an argument tuple or a Fault instance to an XML-RPC
                 request (or response, if the methodresponse option is used).
  loads          Convert an XML-RPC packet to unmarshalled data plus a method
                 name (None if not present).
�    )�absolute_import�division�print_function�unicode_literals)�bytes�dict�int�range�strN)�datetime)�client)�parse)�ensure_new_type)�expat)�BytesIOc                 C   s$   | � dd�} | � dd�} | � dd�S )N�&z&�<z<�>z>)�replace)�s� r   �@/usr/lib/python3/dist-packages/future/backports/xmlrpc/client.py�escape�   s   r   �   i���i   �iD���i����i���ip���iԁ��iC���iB���i����i����i����c                   @   �   e Zd ZdZdd� ZdS )�ErrorzBase class for client errors.c                 C   s   t | �S �N)�repr��selfr   r   r   �__str__�   s   z
Error.__str__N)�__name__�
__module__�__qualname__�__doc__r    r   r   r   r   r   �   s    r   c                   @   �    e Zd ZdZdd� Zdd� ZdS )�
ProtocolErrorz!Indicates an HTTP protocol error.c                 C   s&