
    4bh*                     <   	 d dl Z d dlZd dlmZmZ g dZ G d d      Z G d de      ZddZe	d	k(  rid dl
Z
 e
j                         Zej                  d
dd       ej                         Zej                   se j"                  j$                  rdZndZ ee       yy)    N)CommandCompilercompile_command)InteractiveInterpreterInteractiveConsoleinteractr   c                   >    e Zd Z	 d	dZd
dZd Zd	dZd Zd Zd Z	y)r   Nc                 @    	 |dd d}|| _         t               | _        y )N__console__)__name____doc__)localsr   compile)selfr   s     ./opt/python-3.12.12/usr/lib/python3.12/code.py__init__zInteractiveInterpreter.__init__   s)    	 >"/DAF&(    c                     	 	 | j                  |||      }|y| j                  |       y# t        t        t        f$ r | j	                  |       Y yw xY w)NFT)r   OverflowErrorSyntaxError
ValueErrorshowsyntaxerrorruncode)r   sourcefilenamesymbolcodes        r   	runsourcez InteractiveInterpreter.runsource&   sb    	.	<<&9D < 	T {J7 	  *	s   + %AAc                 t    	 	 t        || j                         y # t        $ r   | j                          Y y xY wN)execr   
SystemExitshowtraceback)r   r   s     r   r   zInteractiveInterpreter.runcodeM   s8    
		!t{{# 		! s    7c                     	 	 t        j                         \  }}}|r-|t        u r%	 |j                  \  }\  }}}}	t        |||||	f      }| j                  ||d        d x}x}}y # t        $ r Y %w xY w# d x}x}}w xY wr   )sysexc_infor   argsr   _showtraceback)
r   r   typvaluetbmsgdummy_filenamelinenooffsetlines
             r   r   z&InteractiveInterpreter.showsyntaxerror`   s    
		$ \\^NCC;.OBG**?C?.&&$ (h-MNEUD1##C#%" "   $#C#%"s-   "A3 A$ #A3 $	A0-A3 /A00A3 3A;c                     	 	 t        j                         \  }}}| j                  |||j                         d x}x}}y # d x}x}}w xY wr   )r$   r%   r'   tb_next)r   r(   r)   r*   s       r   r"   z$InteractiveInterpreter.showtraceback|   sR    		$ \\^NCUBJJ7##C#%"t#C#%"s	   5? Ac                    |t         _        |t         _        |j                  |      xt         _        xt         _        }t         j                  t         j                  u r8t        j                  |||      }| j                  dj                  |             y 	 t        j                  |||       y # t        $ r  t        $ r}d |_        |j                  |j                  j                         }t#        dt         j$                         t        j                  t'        |      ||j                         t#        t         j$                         t#        dt         j$                         t        j                  |||       Y d }~y d }~ww xY w)N zError in sys.excepthook:)filezOriginal exception was:)r$   	last_typelast_tracebackwith_tracebacklast_exc
last_value
excepthook__excepthook__	tracebackformat_exceptionwritejoinr!   BaseException__context____traceback__r1   printstderrtype)r   r(   r)   r*   lineses         r   r'   z%InteractiveInterpreter._showtraceback   s   050D0DR0HHHs~>>S///..sE2>EJJrwwu~&3sE2.   3 $$$Q__%<%<=0szzB""47Aq?3::&/cjjA""3r223s   B/ /FB=FFc                 D    	 t         j                  j                  |       y r   )r$   rD   r>   )r   datas     r   r>   zInteractiveInterpreter.write   s    	 	

r   r   )z<input>single)
r   
__module____qualname__r   r   r   r   r"   r'   r>    r   r   r   r      s+    )%N!&$8$3.r   r   c                   2    e Zd Z	 ddZd ZddZd Zd	dZy)
r   Nc                 `    	 t         j                  | |       || _        | j                          y r   )r   r   r   resetbuffer)r   r   r   s      r   r   zInteractiveConsole.__init__   s,    	 	''f5 r   c                     	 g | _         y r   )buffer)r   s    r   rP   zInteractiveConsole.resetbuffer   s    %r   c                 \   	 	 t         j                   	 t         j                   d}|O| j	                  dt         j
                  dt         j                  d|d| j                  j                  d	       n|r| j	                  d	t        |      z         d
}	 	 |rt         j                  }nt         j                  }	 | j                  |      }| j                  |      }	 I# t        $ r dt         _        Y w xY w# t        $ r dt         _        Y w xY w# t        $ r | j	                  d       Y n6w xY w# t        $ r& | j	                  d       | j                          d
}Y w xY w|)| j	                  d| j                  j                  z         y |dk7  r| j	                  d	|z         y y )Nz>>> z... zFType "help", "copyright", "credits" or "license" for more information.zPython z on 
z
(z)
z%s
r   z
KeyboardInterrupt
znow exiting %s...
r3   )r$   ps1AttributeErrorps2r>   versionplatform	__class__r   str	raw_inputpushEOFErrorKeyboardInterruptrP   )r   bannerexitmsgcprtmorepromptr/   s          r   r   zInteractiveConsole.interact   sx   		GG	GG X>JJS\\4//1 2 JJvF+, WWF WWF+>>&1D
  99T?D   	CG	  	CG	$   JJt$
 % 

23  " ?JJ,t~~/F/FFG]JJv'( sX   C" C< #D6 >D D6 "C98C9<DDD30D6 2D33D6 6,E%$E%c                     	 | j                   j                  |       dj                  | j                         }| j                  || j                        }|s| j                          |S )NrT   )rR   appendr?   r   r   rP   )r   r/   r   rc   s       r   r]   zInteractiveConsole.push   sU    	 	4 4;;'~~fdmm4r   c                     	 t        |      S r   )input)r   rd   s     r   r\   zInteractiveConsole.raw_input  s    		 V}r   )Nz	<console>)NN)r3   )r   rK   rL   r   rP   r   r]   r\   rM   r   r   r   r      s!    4)l*r   r   c                 |    	 t        |      }|||_        n	 dd l}|j	                  | |       y # t        $ r Y w xY w)Nr   )r   r\   readlineImportErrorr   )r`   readfunclocalra   consolerj   s         r   r   r     sO     !'G$	 VW%  		s   / 	;;__main__z-q
store_truez*don't print version and copyright messages)actionhelpr3   )NNNN)r$   r<   codeopr   r   __all__r   r   r   r   argparseArgumentParserparseradd_argument
parse_argsr&   qflagsquietr`   rM   r   r   <module>r}      s      3Y Yxp/ ph&4 z$X$$&F
\H  JDvvV r   