
    j                        U d Z ddlmZ ddlZddlZddlZddlmZmZ ddd
Z	 e
            Zded<   efddZ e            ZdS )z+
Utilities for dealing with text encodings
    )annotationsN)AnyLiteralstreamr   default
str | Nonereturnc                B    t          | d          r| j        s|S | j        S )a)  Return the given stream's encoding or a default.

    There are cases where ``sys.std*`` might not actually be a stream, so
    check for the encoding attribute prior to returning it, and return
    a default if it doesn't exist or evaluates as False. ``default``
    is None if not provided.
    encoding)hasattrr   )r   r   s     ]/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/IPython/utils/encoding.pyget_stream_encr      s,     6:&& fo     object	_sentinelprefer_streamobject | boolstrc                V   | t           urt          j        dt          d           d} d}| rt	          t
          j                  }|r|dk    r%	 t          j                    }n# t          $ r Y nw xY w|pt          j
                    }|dk    rt          j        dt                     d	S |S )
a  Return IPython's guess for the default encoding for bytes as text.

    If prefer_stream is True (default), asks for stdin.encoding first,
    to match the calling Terminal, but that is often None for subprocesses.

    Then fall back on locale.getpreferredencoding(),
    which should be a sensible platform default (that respects LANG environment),
    and finally to sys.getdefaultencoding() which is the most conservative option,
    and usually UTF8 as of Python 3.
    zgetpreferredencoding(prefer_stream=) argument is deprecated since IPython 9.0, getdefaultencoding() will take no argument in the future. If you rely on `prefer_stream`, please open an issue on the IPython repo.   )
stacklevelTNasciicp0zInvalid code page cp0 detected - using cp1252 instead.If cp1252 is incorrect please ensure a valid code page is defined for the process.cp1252)r   warningswarnDeprecationWarningr   sysstdinlocalegetpreferredencoding	ExceptiongetdefaultencodingRuntimeWarning)r   encs     r   r#   r#   .   s     I%%  	
 	
 	
 	
 C (SY'' #..	 -//CC 	 	 	D	

)'))C e||* 		
 	
 	
 xJs   A" "
A/.A/)N)r   r   r   r   r	   r   )r   r   r	   r   )__doc__
__future__r   r   r    r   typingr   r   r   r   r   __annotations__r#   DEFAULT_ENCODING r   r   <module>r,      s      # " " " " " 


               FHH	     7@ + + + + +\ &%''   r   