HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/botocore/__pycache__/compat.cpython-311.pyc
�

/�;fS+��v�ddlZddlZddlZddlZddlZddlZddlmZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZddlmZddlmZddlmZddlmZdd	lmZeje��ZGd
�de��ZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(dd
lm)Z)ddl*m+Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2e,Z3e4Z4e"Z5d�Z6d�Z7d8d�Z8d9d�Z9	ddl:m;cm<Z=n#e>$rddl?m;cm@Z=YnwxYwe=jAZBddlCZCd�ZDeEd���ZFeEd���ZGeFe_FeGe_Gd�ZHd�ZI	ejJ��dZKn
#eL$rdZKYnwxYwd�ZMd:d �ZNd!�ZOd"�ZP	ddlQZRejS�Td#d$��ZUeU�V��d%kZWn
#e>$rdZWYnwxYwd&ZXe
jYd'eXzd(z��ZZd)Z[d*�\e[eX�+��Z]e[e]d,�Z^gd-�Z_d.Z`d/d0�ad1�e_D����zd2zZbd3e`zd4zZcd5ebzd/zeczd6zZde
jYd'edzd(z��Zeefd7��Zg	ddlhZhdZidS#e>$rdZiYdSwxYw);�N)�HTTPMessage)�OrderedDict)�MutableMapping)�floor)�six)�MD5UnavailableError)�tzlocal)�
exceptionsc��eZdZdS)�HTTPHeadersN)�__name__�
__module__�__qualname__���B/opt/alt/python311/lib/python3.11/site-packages/botocore/compat.pyrr%s�������Drr)
�quote�	urlencode�unquote�unquote_plus�urlparse�urlsplit�
urlunsplit�urljoin�	parse_qsl�parse_qs)�HTTPResponse)�IOBase)�encodebytes)�
formatdate)�zip_longestc�X�|jjjj�|��dS)z|Set the timeout of the socket from an HTTPResponse.

    :param http_response: An instance of ``httplib.HTTPResponse``

    N)�_fp�fp�raw�_sock�
settimeout)�
http_response�timeouts  r�set_socket_timeoutr*@s*������"�-�-�g�6�6�6�6�6rc�6�tj|��dS)N�)�inspect�getfullargspec)�funcs r�accepts_kwargsr0Hs���!�$�'�'��*�*rc��|S�Nr��s�encoding�errorss   r�ensure_unicoder7Ms���Hr�utf-8�strictc���t|t��r|�||��St|t��r|St	dt|���d����)Nz Expected str or bytes, received �.)�
isinstance�str�encode�bytes�
ValueError�typer3s   r�ensure_bytesrBQs_���!�S���*��x�x��&�)�)�)��!�U������
�B��Q���B�B�B�
C�
C�Crc�J�tjddtjd���dS)N�ignorez+A true SSLContext object is not available.*z.*urllib3\.util\.ssl_)�message�category�module)�warnings�filterwarningsr
�InsecurePlatformWarningrrr�filter_ssl_warningsrKbs5�����=��3�'�	�����rc�X�|��}|���D]
\}}|||<�|Sr2)�items)�cls�d�new_instance�key�values     r�	from_dictrSls;���3�5�5�L��g�g�i�i�"�"�
��U�!��S����rc�4�|��}|D]
\}}|||<�|Sr2r)rN�pairsrPrQrRs     r�
from_pairsrVts3���3�5�5�L��"�"�
��U�!��S����rc�.�tj|��}|S)zI
    This used to be a compat shim for 2.6 but is now just an alias.
    )�copy)�kwargs�copy_kwargss  rrZrZ�s���)�F�#�#�K��rc�*�|���S)z�
    Returns the total seconds in a ``datetime.timedelta``.

    This used to be a compat shim for 2.6 but is now just an alias.

    :param delta: The timedelta object
    :type delta: ``datetime.timedelta``
    )�
total_seconds)�deltas rr\r\�s����� � � rTFc�N�trtj|i|��St���)a:
    Attempts to get an md5 hashing object.

    :param args: Args to pass to the MD5 constructor
    :param kwargs: Key word arguments to pass to the MD5 constructor
    :return: An MD5 hashing object if available. If it is unavailable, None
        is returned if raise_error_if_unavailable is set to False.
    )�
MD5_AVAILABLE�hashlib�md5r)�argsrYs  r�get_md5rc�s-���$��{�D�+�F�+�+�+�!�#�#�#rc�p�|�tj}|dkrt|��Stj|��S)N�win32)�sys�platform�_windows_shell_split�shlex�split)r4rgs  r�compat_shell_splitrk�s6�����<���7���#�A�&�&�&��{�1�~�~�rc
��|sgSg}g}d}d}|D�]}|dkr|dz
}�|dkrw|dkrX|�dtt|dz����z��|dz}d}|dkr|�d���s|}|�d����|dvrO|sM|dkr|�d|z��d}|r*|�d�|����g}��|dkr|�d|z��d}|�|����|rt	d	|�����|dkr|�d|z��|r(|�d�|����|S)
aSplits up a windows command as the built-in command parser would.

    Windows has potentially bizarre rules depending on where you look. When
    spawning a process via the Windows C runtime (which is what python does
    when you call popen) the rules are as follows:

    https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments

    To summarize:

    * Only space and tab are valid delimiters
    * Double quotes are the only valid quotes
    * Backslash is interpreted literally unless it is part of a chain that
      leads up to a double quote. Then the backslashes escape the backslashes,
      and if there is an odd number the final backslash escapes the quote.

    :param s: The command string to split up into parts.
    :return: A list of command components.
    Fr�\��"r,�)� �	z No closing quotation in string: )�append�intr�joinr@)r4�
components�buff�	is_quoted�num_backslashes�	character�	remainders       rrhrh�s���(
���	��J�
�D��I��O��1#�1#�	�����

�q� �O�O�
�#�
�
���"�"����D�3�u�_�q�-@�'A�'A�#B�#B�B�C�C�C�+�a�/�	�"#����>�>��K�K��$�$�$��&�
�I�
�K�K��O�O�O�O�
�+�
%�
%�i�
%���"�"����D�?�2�3�3�3�"#���
��!�!�"�'�'�$�-�-�0�0�0������"�"����D�?�2�3�3�3�"#���K�K�	�"�"�"�"��A��?�A�?�?�@�@�@��������D�?�*�+�+�+��)����"�'�'�$�-�-�(�(�(��rc�P�tjdkrddlm}t|fStfS)Nrer��
tzwinlocal)rfrg�dateutil.tzr~r	r}s r�get_tzinfo_optionsr�s6���|�w���*�*�*�*�*�*���$�$��z�r�BOTO_DISABLE_CRT�false�truez(?:[0-9]{1,3}\.){3}[0-9]{1,3}�^�$z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))�hex�ipv4)r��ls32)	z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::zDABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~z(?:�|c�"�g|]}|tz��
Sr)�_subs)�.0�xs  r�
<listcomp>r�Ns��<�<�<�1�Q��Y�<�<�<r�)z
(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z	
)NN)r8r9r2)jrX�datetimerfr-rHr`�http.clientr�loggingri�re�os�collectionsr�collections.abcr�mathr�botocore.vendoredr�botocore.exceptionsrrr	�urllib3r
�	getLoggerr
�loggerr�urllib.parserrrrrrrrrrr�ior�_IOBase�base64r�email.utilsr �	itertoolsr!�	file_type�zip�unquote_strr*r0r7rB�xml.etree.cElementTree�etree�cElementTree�ETree�ImportError�xml.etree.ElementTree�ElementTree�
ParseError�
XMLParseError�jsonrK�classmethodrSrVrZr\rar_r@rcrkrhr��awscrt.auth�awscrt�environ�get�disabled�lower�HAS_CRT�IPV4_PAT�compile�IPV4_RE�HEX_PAT�format�LS32_PATr��_variations�UNRESERVED_PATru�IPV6_PAT�ZONE_ID_PAT�IPV6_ADDRZ_PAT�
IPV6_ADDRZ_RE�	frozenset�UNSAFE_URL_CHARS�gzip�HAS_GZIPrrr�<module>r�sQ����������
�
�
�
�������������#�#�#�#�#�#���������	�	�	�	�	�	�	�	�#�#�#�#�#�#�*�*�*�*�*�*�������!�!�!�!�!�!�3�3�3�3�3�3�������������	��	�8�	$�	$��	�	�	�	�	�+�	�	�	�������������������������%�$�$�$�$�$� � � � � � �������"�"�"�"�"�"�!�!�!�!�!�!��	�	����7�7�7�+�+�+�

�
�
�
�D�D�D�D�*�*�*�*�*�*�*�*�*�*�*���*�*�*�)�)�)�)�)�)�)�)�)�)�)�*����� �
��������
���
���
���
���"���#������	!�	!�	!���G�K�M�M�M��M�M�������M�M�M�����$�$�$�����[�[�[�|	�	�	�������z�~�~�0�'�:�:�H��.�.�"�"�f�,�,�G�G�������G�G�G�����,��
�"�*�S�8�^�c�)�
*�
*��
��#�*�*�w�X�*�F�F����*�*������,L���3�8�8�<�<��<�<�<�=�=�=��C����.�1F�F����!�F�*�[�8�7�B����
�3��/�#�5�6�6�
��9�X�&�&����K�K�K��H�H�H�������H�H�H�H����sH�	C�C�C�D+�+D5�4D5�8E?�?F	�F	�%H-�-H8�7H8