
    h)                     ^    d Z ddlT ddlZddlZd Zd Z	 e n# e	$ r	 ddlmZ Y nw xY wd Z
dS )	zcurses

The main package for curses support for Python.  Normally used by importing
the package, and perhaps a particular module inside it.

   import curses
   from curses import textpad
   curses.initscr()
   ...

    )*Nc                  X   dd l } dd l}t          t          j                            dd          t          j                                                   | 	                                }| j
                                        D ](\  }}|dd         dk    s|dv rt          |||           )|S )Nr   TERMunknown)termfd   ACS_)LINESCOLS)_cursescurses	setupterm_osenvironget_sys
__stdout__filenoinitscr__dict__itemssetattr)r   r   stdscrkeyvalues        &/usr/lib/python3.11/curses/__init__.pyr   r      s     3;??6955''))+ + + +__F&,,.. ( (
Uqs8v(9!9!9FC'''M    c                      dd l } dd l}|                                 }t          | d          r| j        |_        t          | d          r| j        |_        |S )Nr   COLORSCOLOR_PAIRS)r   r   start_colorhasattrr    r!   )r   r   retvals      r   r"   r"   *   sh      ""Fw!! 'w&& 1$0Mr      )has_keyc                   	 t                      }t                       t                       |                    d           	 t	                       n#  Y nxY w | |g|R i |dt                      v r@|                    d           t                       t                       t                       S S # dt                      v r@|                    d           t                       t                       t                       w w xY w)a  Wrapper function that initializes curses and calls another function,
    restoring normal keyboard/screen behavior on error.
    The callable object 'func' is then passed the main window 'stdscr'
    as its first argument, followed by any other arguments passed to
    wrapper().
    r%   r   r   )	r   noechocbreakkeypadr"   localsechonocbreakendwin)funcargskwdsr   s       r   wrapperr2   ?   s     	
 	a	MMMM	DtF*T***T** vxxMM!FFFJJJHHHH	  8vxxMM!FFFJJJHHHH	  s$   ?B4 A B4 AB4 4AD)__doc__r   osr   sysr   r   r"   r&   	NameErrorr2    r   r   <module>r8      s   
 
              "  !GG ! ! !        !& & & & &s    ''