�
k�bu � � � d Z ddlZddlmZ ej d� � Z ej d� � Z ej d� � Z ej d� � Ze eefe
eefiZdd
�Zd� Z
dS )
z�
requests._internal_utils
~~~~~~~~~~~~~~
Provides utility functions that are consumed internally by Requests
which depend on extremely few external helpers (such as compat)
� N� )�builtin_strs ^[^:\s][^:\r\n]*$z^[^:\s][^:\r\n]*$s ^\S[^\r\n]*$|^$z^\S[^\r\n]*$|^$�asciic �` � t | t � � r| }n| � |� � }|S )z�Given a string object, regardless of type, returns a representation of
that string in the native string type, encoding and decoding where
necessary. This assumes ASCII unless told otherwise.
)�
isinstancer �decode)�string�encoding�outs �:/usr/lib/python3/dist-packages/requests/_internal_utils.py�to_native_stringr
s3 � �
�&�+�&�&� &�����m�m�H�%�%���J� c � � t | t � � sJ � | � d� � dS # t $ r Y dS w xY w)z�Determine if unicode string only contains ASCII characters.
:param str u_string: unicode string to check. Must be unicode
and not Python 2 `str`.
:rtype: bool
r TF)r �str�encode�UnicodeEncodeError)�u_strings r �unicode_is_asciir $ sX � � �h��$�$�$�$�$������ � � ��t��� � � ��u�u����s �0 �
>�>)r )�__doc__�re�compatr �compile�_VALID_HEADER_NAME_RE_BYTE�_VALID_HEADER_NAME_RE_STR�_VALID_HEADER_VALUE_RE_BYTE�_VALID_HEADER_VALUE_RE_STR�bytesr �HEADER_VALIDATORSr
r � r r �<module>r s� ��� �
� � � � � � � � � �'�R�Z�(=�>�>� �&�B�J�';�<�<� �(�b�j�)<�=�=� �'�R�Z�(:�;�;� �
�&�(C�D��
#�%?� @�� �
�
�
�
�� � � � r |