HEX
Server: Apache
System: Linux sh-pro142.hostgator.com.br 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User: okform09 (1324)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/libexec/oracle-cloud-agent/plugins/osms/getpass.pyc
a

���df�@s�dZddlZddlZddlZddlZddlZgd�ZGdd�de�Zddd�Z	dd	d
�Z
ddd�Zddd�Zdd�Z
zddlZejejfWn>eefy�zddlZWney�eZYn0e
ZYn0e	ZdS)a�Utilities to get a password and/or the current user name.

getpass(prompt[, stream]) - Prompt for a password, with echo turned off.
getuser() - Get the user name from the environment or password database.

GetPassWarning - This UserWarning is issued when getpass() cannot prevent
                 echoing of the password contents while reading.

On Windows, the msvcrt module will be used.

�N)�getpass�getuser�GetPassWarningc@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�/usr/lib64/python3.9/getpass.pyr�r�
Password: c

Cs�d}t�����}zJt�dtjtjB�}t�|d�}|�|�t�	|�}|�|�|sX|}Wn^t
y�|��ztj
��}Wn$ttfy�d}t||�}Yn0tj
}|s�tj}Yn0|du�r�z�t�|�}|dd�}|dtjM<tj}	ttd��r|	tjO}	z6t�||	|�t|||d�}Wt�||	|�|��nt�||	|�|��0Wn>tj�y�|du�r|�||u�r�|��t||�}Yn0|�d�|Wd�S1�s�0YdS)aPrompt for a password, with echo turned off.

    Args:
      prompt: Written on stream to ask for the input.  Default: 'Password: '
      stream: A writable file object to display the prompt.  Defaults to
              the tty.  If no tty is available defaults to sys.stderr.
    Returns:
      The seKr3t input.
    Raises:
      EOFError: If our input tty or stdin was closed.
      GetPassWarning: When we were unable to turn echo off on the input.

    Always restores terminal settings before returning.
    Nz/dev/ttyzw+��TCSASOFT)�input�
)�
contextlib�	ExitStack�os�open�O_RDWR�O_NOCTTY�io�FileIO�
enter_context�
TextIOWrapper�OSError�close�sys�stdin�fileno�AttributeError�
ValueError�fallback_getpass�stderr�termios�	tcgetattr�ECHO�	TCSAFLUSH�hasattrr
�	tcsetattr�
_raw_input�flush�error�write)
�prompt�stream�passwd�stack�fd�ttyr�old�new�tcsetattr_flagsrrr	�unix_getpasssV






�


r6cCs�tjtjurt||�S|D]}t�|�qd}t��}|dkst|dkrHqt|dkrTt�|dkrj|dd�}q.||}q.t�d�t�d�|S)z:Prompt for password with echo off, using Windows getwch().��
r��N���)rr�	__stdin__r!�msvcrt�putwch�getwch�KeyboardInterrupt)r-r.�c�pwrrr	�win_getpassas 



rCcCs0tjdtdd�|stj}td|d�t||�S)Nz%Can not control echo on the terminal.�)�
stacklevelz&Warning: Password input may be echoed.)�file)�warnings�warnrrr"�printr))r-r.rrr	r!xs�r!r7cCs�|s
tj}|stj}t|�}|rnz|�|�Wn6tyd|�|jd�}|�|j�}|�|�Yn0|�	�|�
�}|s~t�|ddkr�|dd�}|S)N�replacer;r)rr"r�strr,�UnicodeEncodeError�encode�encoding�decoder*�readline�EOFError)r-r.r�linerrr	r)�s&r)cCs<dD]}tj�|�}|r|Sqddl}|�t���dS)z�Get the username from the environment or password database.

    First try various environment variables, then the password
    database.  This works on Windows as long as USERNAME is set.

    )�LOGNAME�USER�LNAME�USERNAMErN)r�environ�get�pwd�getpwuid�getuid)�name�userrYrrr	r�s
r)rN)rN)rN)r7NN)�__doc__rrrrrG�__all__�UserWarningrr6rCr!r)rr#r$r(�ImportErrorrr=rrrrr	�<module>s,
D