python (3.11.7)

(root)/
lib/
python3.11/
idlelib/
__pycache__/
pyshell.cpython-311.opt-2.pyc

eI ddlZedkrejdejd<	ddlTn&#e$redejedwxYwejdkr9	ddl	Z	dZ
e	jd	e
n#ee
ef$rYnwxYwdd
lmZddlmZddlZddlZddlZddlZddlmZddlZddlZddlZdd
lmZddlZddlZddlZddlZddl m!Z!ddl"m#Z#ddl$m%Z%ddl&m'Z'ddl&m(Z(ddl)m*Z*m+Z+ddl,m-Z-ddl.m/Z/ddl&m0Z0ddl&m1Z1ddl2m3Z3m4Z4m5Z5ddl6m7Z7da8dZ9dZ:	dZ;e;e<_;e;e=_;n#e>$rYnwxYweja?	d5dZ@daAdZBeBddejCfd ZDeDe_CGd!d"e*ZEGd#d$e-ZFGd%d&e!ZGGd'd(e7ZHGd)d*e%ZIGd+d,e1jJZKd-ZLGd.d/eZMGd0d1e/ZNd2ZOd3ZPd4ZQedkr
eQeBddS)6N__main__zidlelib.pyshell)*zJ** IDLE can't import Tkinter.
Your Python may not be configured for Tk. **filewin32shcore)
messagebox)InteractiveInterpreter)python_version)TextWrapper)ColorDelegator)idleConf)	Delegatordebugger)
debugger_r)EditorWindow
fixwordbreaks)FileList)OutputWindow)replace)rpc)idle_formatwarningStdInputFile
StdOutputFile)
UndoDelegatorFz	127.0.0.1zCtrl-D (end-of-file)c		|t}	|t||||||ddS#ttf$rYdSwxYw)N)linez>>> )warning_streamwriterAttributeErrorOSError)messagecategoryfilenamelinenorrs      C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/idlelib/pyshell.pyidle_showwarningr)Is|


%8V$@@@	A	A	A

6G$



s<A

AAc	|r(ttjatt_dSdSttt_dadSdSN)_warnings_showwarningwarningsshowwarningr))captures r(capture_warningsr0\sXD) ($,$8!#3H   )(!,#8H $(!!!-,Tc	tj}i}t|D]3}|dd|ddzdkr||||<4||||dSNrz<>)	linecachecachelistpopupdate)r&orig_checkcacher6savekeys     r(extended_linecache_checkcacher=ks
OE
DE{{''rr7SX%%		#DIOH	LLr1c`eZdZ	dZgdZddZdZddZddZd	Z	d
Z
dZdZd
Z
dZdS)PyShellEditorWindowcg|_tj|g|R|jd|j|jd|j|jd|jjtj
tj
d|_|jj|fd}|j||jjr||dS)N<<set-breakpoint>><<clear-breakpoint>>z<<open-python-shell>>zbreakpoints.lstcB||dSr+)restore_file_breaks)old_hookselfs  r(filename_changed_hookz;PyShellEditorWindow.__init__.<locals>.filename_changed_hooks#$$&&&HJJJJJr1)breakpointsr__init__textbindset_breakpoint_eventclear_breakpoint_eventflist
open_shellospathjoinruserdirbreakpointPathiofilename_change_hookset_filename_change_hookr&rDcolor_breakpoint_text)rFargsrGs   r(rIzPyShellEditorWindow.__init__sd*T****	+T-FGGG	-t/JKKK	.
0EFFF!gll "355,07+G'+					
(()>???7	'$$&&&""$$$$$r1))Cutz<<cut>>rmenu_check_cut)Copyz<<copy>>rmenu_check_copy)Pastez	<<paste>>rmenu_check_paste)NNN)zSet BreakpointrAN)zClear BreakpointrBNTc	|jdS|r)tj}tj|d}nddd}|jd|dS)Nbreak)
foreground
backgroundBREAK)rUrCurrentThemeGetHighlightrJ
tag_config)rFcolorthemecfgs    r(rXz)PyShellEditorWindow.color_breakpoint_textsf67?F	7)++E'w77CC!#266C	Wc*****r1cb|j}|jj}|dd|zd|dzz	|j|n*#t$r|j|YnwxYw	|jj	j
j}|||dS#YdSxYw)Nrez%d.0r)
rJrUr&tag_addrHindex
ValueErrorappendrNpyshellinterprset_breakpoint)rFr'rJr&debugs     r(rsz"PyShellEditorWindow.set_breakpointsy7#Wfvov/BCCC	,""6****	,	,	,##F+++++	,	J&-6E  622222	DDsA$A76A7;,B))B.Nc|j}|jj}|s|dSt	t|d}||dS)Ninsert)rJrUr&bellintfloatrnrs)rFeventrJr&r's     r(rLz(PyShellEditorWindow.set_breakpoint_eventshy7#	IIKKKFU4::h//0011F#####r1c|j}|jj}|s|dSt	t|d}	|j|n#YnxYw|	ddd	|j
jjj
}|||dS#YdSxYw)Nrvreinsert linestartzinsert lineend +1char)rJrUr&rwrxryrnrHremove
tag_removerNrqrrrclear_breakpoint)rFrzrJr&r'rts      r(rMz*PyShellEditorWindow.clear_breakpoint_eventsy7#	IIKKKFU4::h//0011	##F++++	D!3/	1	1	1	J&-6E""8V44444	DDsA77A;,CC	c|jr|j}|jj}|s|dSg|_|ddt	|jjj	j
}||dS#YdSxYwdS)Nre1.0)rHrJrUr&rwr~ENDrNrqrrrclear_file_breaks)rFrJr&rts    r(rz%PyShellEditorWindow.clear_file_breakss	9Dw'H
		!DOOGUC000

*1:''11111
		s+BB	c	|j}|jj}	t|j5}|}dddn#1swxYwYn#t$rg}YnwxYw	t|jd5}|D]/}||dzs||0|	|j}|r+||dzt|zdzddddS#1swxYwYdS#t$r_}t|jdds>d|j_
tjddt|z|j	Yd}~dSYd}~dSd}~wwxYw)
Nw=
breakpoint_error_displayedFTz
IDLE Errorz$Unable to update breakpoint list:
%s)titler$parent)rHrUr&openrT	readlinesr#
startswithr!update_breakpointsstrgetattrrootrr
	showerrorrJ)rFbreaksr&fplinesnew_filererrs        r(store_file_breaksz%PyShellEditorWindow.store_file_breakssr-"!7#	d)**
'b
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'			EEE		&d)3//
H8!--D??8c>::- t,,,''))))HNN8c>CKK#?$#FGGG
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H	&	&	&49&BEJJ
&7;	4$<Cc((#9&&&&&&&&&&
&
&
&
&
&
&	&sqAAAAAAAA&%A&*D?A;D:DDDDD
E=AE88E=c|j|jdS|jj}|dStj|jrt|j5}|	}dddn#1swxYwY|D]]}|
|dzrAt|t|dzd}|D]}|
|\dSdS)Nrr)rJr9rUr&rPrQisfilerTrrrevallenrs)rFr&rrrbreakpoint_linenumbersbreakpoint_linenumbers       r(rDz'PyShellEditorWindow.restore_file_breakssQ	7?F7#F
7>>$-..	Cd)**
'b
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
C
C??8c>22C-1$s8}}Q7G7G2H-I-I*1GCC-++,ABBBB	C	C
C
Cs+BBBcx	|j}|d}||}||_dS)Nre)rJ
tag_rangesranges_to_linenumbersrH)rFrJrangeslinenumber_lists    r(rz&PyShellEditorWindow.update_breakpoints"s>=y))44V<<*r1c:g}tdt|dD]y}tt||j}tt||dzj}||kr |||dz
}||k z|S)Nrr)rangerrxrystringrp)rFrrrnr'ends      r(rz)PyShellEditorWindow.ranges_to_linenumbers)s1c&kk1--		Eve}34455FeF57O23344C3,,V$$$!3,,r1cX	|tj|dSr+)rr_closerFs r(rzPyShellEditorWindow._close:s.A   D!!!!!r1)Tr+)__name__
__module____qualname__rIrmenu_specsrXrsrLrMrrrDrrrr1r(r?r?s<%%%(K
+
+
+
+$$$$&


(&(&(&TCCC"+++""""""r1r?c eZdZ	eZdZddZdS)PyShellFileListNc|jr|jjn6t||_|jr|jsdS|jSr+)rqtopwakeupPyShellbeginrFrzs  r(rOzPyShellFileList.open_shellIs`<	 L##%%%%"4==DL|
 |))++ 4|r1r+)rrrr?rrqrOrr1r(rr@s7>'LGr1rceZdZ	dZdZdS)ModifiedColorDelegatorc|ddd|dddtj|dS)NTODOriomarkSYNC)r~rmrrecolorize_mainrs r(rz&ModifiedColorDelegator.recolorize_mainVsEx000VUH---&t,,,,,r1cH|jD]}||dddS)Nrr)tagdefsr~)rFtags  r(removecolorsz#ModifiedColorDelegator.removecolors[s6<	2	2COOC51111	2	2r1N)rrrrrrr1r(rrTs5>---
22222r1rc0eZdZ	ddZddZfdZxZS)ModifiedUndoDelegatorNc	|j|ddr|jdSn#t$rYnwxYwt	j||||dSN<r)delegatecomparerwTclErrorrrvrFrncharstagss    r(rvzModifiedUndoDelegator.insertcs	}$$UC::

""$$$
			D	T5%666665:
AAc	|j|ddr|jdSn#t$rYnwxYwt	j|||dSr)rrrwrrdelete)rFindex1index2s   r(rzModifiedUndoDelegator.deletels~	}$$VS(;;

""$$$
			D	T6622222rc|jjfd|j_	t||j_dS#|j_wxYw)Nc||dSNstdinr)rnrorig_inserts  r(<lambda>z2ModifiedUndoDelegator.undo_event.<locals>.<lambda>|sUE7!C!Cr1)rrvsuper
undo_event)rFrzr	__class__s  @r(rz ModifiedUndoDelegator.undo_eventusi
m*CCCC	

	/GGu%%%#.DM   ;DM ....s!AAr+)rrrrvrr
__classcell__rs@r(rrascA77773333/////////r1rceZdZ	ddZdS)UserInputTaggingDelegatorNcF|d}|j|||dSr)rrvrs    r(rvz UserInputTaggingDelegator.inserts,<D
UE400000r1r+)rrrrvrr1r(rrs+8111111r1rceZdZdZdS)MyRPCClientc	tr+)EOFErrorrs r(
handle_EOFzMyRPCClient.handle_EOFs
:r1N)rrrrrr1r(rrs#r1rc	d|pdd}|t|kr4t|t|z
d\}}||zdz||dzS|ddS)Nz= RESTART: Shellz =rr)rdivmod)widthr&rdivmods     r(restart_liners{
0+G
/
/
/CC5#c((?Q//Ss7C-//c#g///3B3xr1ceZdZdZdZdZdZdZdZdZ	d"dZ
d	Zd
ZdZ
dZd#d
ZdZdZdZdZdZdZdZdZdZd$dZdZdZdZd$dZdZdZdZ dZ!dZ"dZ#d Z$d!Z%dS)%ModifiedInterpreterc||_tjdj}t	j||d|_d|_t|_	|j
jj|_
dS)Nr)localsF)	tkconsolesysmodules__dict__rrI
restartingsubprocess_arglistPORTportcompilecompilerflagsoriginal_compiler_flags)rFrrs   r(rIzModifiedInterpreter.__init__sZ"Z(1'V<<<<"&	'+|'<'B$$$r1Nc|j||_tj|j|_dSr+)rbuild_subprocess_arglist
subprocessPopen
rpcsubprocrs r(spawn_subprocessz$ModifiedInterpreter.spawn_subprocesss8"*&*&C&C&E&ED#$*4+BCCr1cdtjD}tjddddd}d|d	}tjg|zd
|t|jgzS)Ncg|]}d|zS)z-Wr).0ss  r(
<listcomp>z@ModifiedInterpreter.build_subprocess_arglist.<locals>.<listcomp>s///!TAX///r1mainGeneralzdelete-exitfuncFbool)defaulttypez#__import__('idlelib.run').run.main()-c)rwarnoptionsr	GetOption
executablerr)rFr	del_exitfcommands    r(rz,ModifiedInterpreter.build_subprocess_arglistsu
0/s///&vy:K/46CCC	F	FFF!#tWc$)nn&EEEr1ct|jf}tdD]<}tj|	t||_n&#t$rY9wxYw|dS|jj	
d|_tdkr5|jj	tjtjd||jj	d	|jn%#t&$r|YdSwxYw|jd|j|jd|jj|jd|jj|jd|jj|jd	|jj|jd
t6|jd||d
||jS)Nrr
consolerstdoutstderrrNr5rrTwith_cwd)HOSTrrtimesleeprrpccltr#display_port_binding_errorlistening_sockgetsocknamer
setsockoptsocket
SOL_SOCKETSO_REUSEADDRr
settimeoutacceptTimeoutErrordisplay_no_subprocess_errorregisterrrrrrNr5
transfer_pathpoll_subprocess)rFaddris   r(start_subprocessz$ModifiedInterpreter.start_subprocesssEdi q				AJqMMM
)$//




++---4K.::<<Q?	199

K&11&2C+1+>
C
C
C	
"--b111	K    			,,...44		
Y777Wdn&:;;;Xt~'<===Xt~'<===Wdn&:;;;[)444Xt,,,D))){s#A
AAD((E
	E
Frbc
|jr|jSd|_|}|r"	tj|jn#YnxYw|j||j}|j}d|_|		|j
n%#t$r|YdSwxYw|
|||jdd|d|t%|j||jdd|jdd|s||r-tj|j||j|jj_d|_|jS)	NTFrrend-1crrestartleft)rr!getdebuggerrclose_subprocess_debuggercloseterminate_subprocessr	executingrr*r+r,r.
stop_readlinerJrr!rrmark_setmark_gravity
showpromptrestart_subprocess_debuggerload_breakpointsrrrr)rFrr&rtr
was_executings      r(restart_subprocessz&ModifiedInterpreter.restart_subprocesss?	;  ""	
4T[AAAA
!!###.)
!	K    			,,...44		
H---Hh///

d

l7=(;;<<<i222!!)V444	!   	%24;???""$$$&*&B#{sAA%B??C! C!c@|jdddidS)Nexecinterrupt_the_serverr)r!
remotecallrs r(__request_interruptz'ModifiedInterpreter.__request_interrupts%v'=r2FFFFFr1c^tj|jdS)N)target)	threadingThread'_ModifiedInterpreter__request_interruptstartrs r(interrupt_subprocessz(ModifiedInterpreter.interrupt_subprocesss+ 8999??AAAAAr1c`|j$|jj|j	|jjn#t$rYnwxYw	|jn#t$rYnwxYw|d|j_	d|_dSNF)
_afteridrrJafter_cancelr!r#r9r"r:r;rs r(kill_subprocessz#ModifiedInterpreter.kill_subprocesss=$N,,T];;;	K&,,....			D		K			D	!!####( s#A
AAA77
BBc		|j	|jdS#t$rYdSwxYw#t$rYdSwxYwr+)rkillwaitr#rs r(r:z(ModifiedInterpreter.terminate_subprocess+s,		O  """

$$&&&&&




			FF	s A	8
AA	
AAc|r#dg}|tjntj}|d|dS)NrbzTif 1:
        import sys as _sys
        _sys.path = {!r}
        del _sys
        
)extendrrQ
runcommandformat)rFrrQs   r(r.z!ModifiedInterpreter.transfer_path8sa	4DKK!!!!8DfTll						r1c@|j}|dS	||jd}nB#ttt
f$r(|jjrYdSd}|YnwxYw|r|j	d|_|\}}|jj
}|dkr!|tt||nk|dkr/|j
dr|n6|dkr0d}t||tjt|||	|jn#t$$rYnwxYw|jjs6|jj|jj|j|_dSdS)	Ng?)rWOKr	EXCEPTION<<toggle-jit-stack-viewer>>ERRORz/pyshell.ModifiedInterpreter: Subprocess ERROR:
)r!pollresponse
active_seqrr#KeyboardInterruptrclosingrCresetoutputrprintreprgetvarremote_stack_viewerr
__stderr__endexecutingr"rJafterpollintervalr/rR)rFcltresponsehowwhatrerrmsgs       r(r/z#ModifiedInterpreter.poll_subprocessGsk;F	&''d'CCHH'#45	&	&	&~%
H##%%%%%
	&	N&&((("DO ICn,Gd{{#$t**73333##>(()FGG/,,...Kfd8888fd1111
++----!



~%	C N/55+T-ACCDMMM	C	Cs'*#A)A)(A)2E
EEc||_dSr+r)rFrs  r(setdebuggerzModifiedInterpreter.setdebuggeros
 


r1c|jSr+rrs r(r7zModifiedInterpreter.getdebuggerrs
}r1cR	|jjd|jdS)Ni,)rrJrlrirs r(open_remote_stack_viewerz,ModifiedInterpreter.open_remote_stack_viewerus,		
!!#t'?@@@r1cddlm}|jdddi}| |jjdS||j|}ddlm	}m
}t|jj}tj
}tj|dd}|||d	}	|	jd
d||	jd|}
|
dS)
Nr)
debugobj_rrEstackviewer)rN)ScrolledCanvasTreeNodenormalrd)bghighlightthicknessrboth)expandfill)idlelibryr!remotequeuerrrwStubObjectTreeItemidlelib.treer{r|Toplevelrrfrgframepackcanvasr)rFryoiditemr{r|rrjrdscnodes           r(riz'ModifiedInterpreter.remote_stack_viewers
&&&&&&k%%fmZLL;N$$&&&F,,T[#>>99999999t~*++%''*5(;;LI

^CJ1
E
E
E


QV
,,,x	4..




r1rc^	||}|||dSr+)stuffsourceexecfilerFsourcer&s   r(
execsourcezModifiedInterpreter.execsources2;##F++

h'''''r1c.	|ptj|5}|}tr)dtj|d|zdz}dddn#1swxYwY	t||d}||dS#ttf$rf|jtd|jjtj|||jYdSwxYw)Nz__file__ = r'''z'''
z
del __file__rEzB*** Error in script or command!
Traceback (most recent call last):r)tokenizerreaduse_subprocessrPrQabspathrruncode
OverflowErrorSyntaxErrorrrerfrrshowsyntaxerrorr?)rFr&rrcodes     r(rzModifiedInterpreter.execfilesk">x((
;B!;P0I0IPPP &')9:F
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

	68V44D
LL{+	(	(	(N&&(((6~,
.
.
.
.
#24BBBN%%''''''
	(s%AA))A-0A-5BA3DDcZ	||}tj|||Sr+)rr	runsourcers   r(rzModifiedInterpreter.runsources/L##F++
&/fhGGGr1c	d|jz}|jdz|_|d}t|dzd||ftj|<|S)Nz<pyshell#%d>rrr)gidsplitrr5r6)rFrr&rs    r(rzModifiedInterpreter.stuffsourcesS,!DH,8a<T""$'KKM1eX$E	!r1cX	|d|dS)Na*if 1:
            _filename = {!r}
            import sys as _sys
            from os.path import dirname as _dirname
            _dir = _dirname(_filename)
            if not _dir in _sys.path:
                _sys.path.insert(0, _dir)
            del _filename, _sys, _dirname, _dir
            
)rZr[rFr&s  r(prepend_syspathz#ModifiedInterpreter.prepend_syspaths9H&""	$	$	$	$	$r1c	|j}|j}|dddtj\}}}t|ddp|pd}t|ddpd}t|d	dpd
}	|	d
kr|dz
}|dkr	d|	dz
z}
n
d|dz
|	dz
fz}
|||
||d
|z|	dS)Nr`rrmsgrbz<no detail available>r'roffsetrziomark + %d charsz&iomark linestart + %d lines + %d charszSyntaxError: %s
)
rrJr~rexc_inforcolorize_syntax_errorrer!r?)rFr&rrJrvaluetbrr'rposs           r(rz#ModifiedInterpreter.showsyntaxerrors#	N	~...,..eReUB''K5K4K"--2"--2Q;;aKFQ;;%2CC:!8VAX&'C''c222

&,---r1c	|j|tj||jdr|jdSdS)Nr_)rrechecklinecacher
showtracebackrhopen_stack_viewerrs r(rz!ModifiedInterpreter.showtracebacksy;""$$$,T222>  !>??	/N,,.....	/	/r1c|	tj}t|D]}|dd|ddzdkr||=dSr3)r5r6r7)rFr6r<s   r(rz"ModifiedInterpreter.checklinecachesS/;;		C2A2wRSS!T))#J		r1c	|jjr|dS|jr|jdd|fint||jdS)NrrErr)rr;display_executing_dialogr!rrEr)rFrs  r(rZzModifiedInterpreter.runcommandsk4>#	))+++1;	$K##FIwCCCCt{###qr1c	|jjr|||j}	|j|s+|j$|jdd|fi|_n.|r|j	||j
nt||j
n#t$rH|jj
s8tjddd|jjr|nYnt$rIt'd|jj||jnH|jjr(d	|j_t'd
|jjn|YnxYwt$s-	|jdS#t.$rYdSwxYwdS#t$s+	|jw#t.$rYwwxYwwxYw)NrErzExit?zDo you want to exit altogether?yesr
rz IDLE internal error in runcode()rFrc)rr;rCrrbeginexecutingr!
asyncqueuerbrunrrE
SystemExitrdr
askyesnorJrrrfrrkcanceledr")rFrrs   r(rzModifiedInterpreter.runcodesr$>#	&##%%%=&	N))+++
( 7"&+"8"89=#E#E
(T4;////T4;'''			>)

&5!>.	000)
&&(((()(	)

)8>02222""$$$++---->*).3DN+-DN4IJJJJJ&&(((!
N//11111%DD

>
N//1111%D
sbA4B32G3AFGBFG*G
GGH!G;:H;
HHHHcB	|jj|Sr+)rrr!)rFrs  r(r!zModifiedInterpreter.write.s$~$**1---r1cHtjdd|jjdS)NzPort Binding ErroraAIDLE can't bind to a TCP/IP port, which is necessary to communicate with its Python execution server.  This might be because no networking is installed on this computer.  Run IDLE with the -n command line switch to start without a subprocess and refer to Help/IDLE Help 'Running without a subprocess' for further details.rr
rrrJrs r(r"z.ModifiedInterpreter.display_port_binding_error2s8 
/>&	(	(	(	(	(	(r1cHtjdd|jjdS)NzSubprocess Connection ErrorzIDLE's subprocess didn't make connection.
See the 'Startup failure' section of the IDLE doc, online at
https://docs.python.org/3/library/idle.html#startup-failurerrrs r(r,z/ModifiedInterpreter.display_no_subprocess_error=s9)
J>&	(	(	(	(	(	(r1cHtjdd|jjdS)NzAlready executingzYThe Python Shell window is already executing a command; please wait until it is finished.rrrs r(rz,ModifiedInterpreter.display_executing_dialogEs6
0>&		(	(	(	(	(	(r1)Frb)Fr+)&rrrrIrRr!rrrr2rCrMrOrTr:r.rbr/rrtr7rwrirrrrrrrrrrZrr!r"r,rrr1r(rrsCCCH
FJDDD

F
F
F)))V****XGGGBBB


J$C$C$CLH!!!"C(((
(HHH
$
$
$4///


,,,\...	(	(	(((((((((r1rc	XeZdZddlmZdezZeZe	Z
gdZej
dgzZ
deeejde
zZe
ed[d	Zd
ZddlmZddlmZd;dZfdZfdZdZdZdZd;dZ d	Z!d	Z"d	Z#d	Z$d	Z%d	Z&dZ'dZ(d;dZ)dZ*d;dZ+dZ,dZ-dZ.dZ/dZ0dZ1d Z2d!Z3d"Z4d#Z5d$Z6d%Z7d&Z8d'Z9d;d(Z:d)Z;d*Z<d+Z=d,Z>e?j@d-ZAd.ZBd;d/ZCd;d0ZDd;d1ZEd2ZFd3ZGd4ZHd<d6ZIfd7ZJfd8ZKd;d9ZLd:ZMxZNS)=rr)SqueezerzIDLE Shell ))r_File)edit_Edit)rt_Debug)options_Options)window_Window)help_Help)Squeeze<<squeeze-current-text>>rc|ddkS)Nrr\r)
rmenu_items r(rzPyShell.<lambda>es:a=F2r1)zCopy with prompts<<copy-with-prompts>>r]Fr)History)ShellSidebarNc8tr/|j}|dddkr|ddt||_|@t}t
||t|}d|_	tj||ddd|_d|_
ttdrtjnd|_|jd	d
|_|j|_|j}|d|d
|j|d|j|d|j|d|j|d|j|d|j|d|j|d|jtr6|d|j |d|j!|"||_#|d|j$tj%|_&tj'|_(tj)|_*ddl+m,}t[|d|j.|j/|_)ta|d|j.|j/|_%ta|d|j.d|_'ta|d|j.|j/|_1ts3|j%t_%|j't_'|j)t_)	ddl2}|j3|_4n#tj5t_'xYw|6|j|_7d|_8|9||_	|j:j;j|j_|j:<t{dS)Nrrshell)rShe_llFps1z>>>
rr4char)wrapz<<newline-and-indent>>z<<plain-newline-and-indent>>z<<interrupt-execution>>z<<end-of-file>>z<<open-stack-viewer>><<toggle-debugger>>r_rz<<view-restart>>z<<restart-shell>>r)iomenurrrbackslashreplacer2)>r
menu_specsrvrrrTkrwithdrawr
shell_sidebarrrIusetabsindentwidthhasattrrrsys_ps1rprompt_last_linepromptrJ	configurerKenter_callbacklinefeed_callbackcancel_callbackeof_callbackrtoggle_debuggertoggle_jit_stack_viewercopy_with_prompts_callbackview_restart_mark
restart_shellrsqueezersqueeze_current_text_eventrsave_stdoutrsave_stderrr
save_stdinrrrencodingerrorsrrpydoc
plainpagerpagerrjrhistoryrmrperrinsertfilterr)rFrNmsrrJrrs       r(rIzPyShell.__init__ss	2B!uQx7""		!0111)$//=44D$MMOOO#D))E!dE4666")#u"5"5Bsww7 $ 2 24 8 8 <lyF###		*D,?@@@		0$2HIII		+T-ABBB		#T%6777		)4+ABBB		')=>>>		/1MNNN		)4+JKKK	?II($*@AAAII)4+=>>>

d++
		,1	3	3	3::)""""""!$"(/6=BB
#D($*OV]DD#D($*O5GII$T9%+_fmEE	#CJCJ
CI	LLL*EKK	CJ||DI..!..t44
 8<.	799:::::s,M==Nct|j|jdSdSr+)r	ResetFontrupdate_fontrFrs r(rzPyShell.ResetFontsE
)**,,,,,*)r1cttj}dddtj|dtj|dtj|dd}|D]\}}|jj|fi||j|j	dSdS)N)rdrcrrr})rrrr)
rResetColorizerrrfrgitemsrJ
tag_configurer
update_colors)rFrj
tag_colorsrtag_colors_configrs     r(r
zPyShell.ResetColorizers
   %''"&d;;)%::)%::*5(;;	


'1&6&6&8&8	>	>"C"#DI#C==+<====),,.....*)r1c<tj|jddS)Nr)insert_tagsra)rrJrs  r(
replace_eventzPyShell.replace_events	w7777wr1c,tjdS)NT)
shell_only)r
GetExtensionsrs r(get_standard_extension_namesz$PyShell.get_standard_extension_namess%6666r1cd	j||}ttt	|tt	|}fd|D}ddt
||DdzS)NcNg|]!}jj|"Sr)rline_promptsget)rr'rFs  r(r	z+PyShell.get_prompt_text.<locals>.<listcomp>s=



+//77


r1rc32K|]\}}||n|d|VdS)N r)rrrs   r(	<genexpr>z*PyShell.get_prompt_text.<locals>.<genexpr>sP

NDD6(:(:D(:(:





r1)rJrrrxryrRzip
splitlines)rFfirstlastrJlineno_rangepromptss`     r(get_prompt_textzPyShell.get_prompt_textsDy}}UD))ed



&


yy

 #GT__->-> ? ?





	r1c2	|j}|d}|dS|d}|ddkr|d}||||}||dS)Nzsel.first linestartsel.lastr40zsel.last+1line linestart)rJrnclipboard_clearr$clipboard_append)rFrzrJselfirstsellastprompt_texts      r(rz"PyShell.copy_with_prompts_callbacks	y::344F**Z((2;#jj!;<<G**8W==k*****r1c
|adSr+r )rFstreams  r(set_warning_streamzPyShell.set_warning_stream
sr1ctSr+r.rs r(get_warning_streamzPyShell.get_warning_streamsr1c|jr2tjdd|j|dS|j}|r|dS|dS)NzDon't debug nowz*You can only toggle the debugger when idlerra)	r;r
rrJset_debugger_indicatorrrr7close_debugger
open_debugger)rFrzdbs   r(rzPyShell.toggle_debuggers>	% !2<y
"
"
"
"
'')))7((**B
%##%%%%%""$$$$$r1ch|j}|d|dS)Nr)rrr7setvarrFr7s  r(r4zPyShell.set_debugger_indicators4
[
$
$
&
&)2v:66666r1cdSr+rrs  r(rzPyShell.toggle_jit_stack_viewer#sr1c|j}|r|jd||jjrtj|jj||j	d|j
|_||
dS)Nz[DEBUG OFF]
)rrr7rtr9r!rclose_remote_debuggerrerr!rrr?r4r:s  r(r5zPyShell.close_debugger&s
[
$
$
&
&
	K##D)))HHJJJ{!
E01CDDDL///,DKOO##%%%%%r1cP|jjr tj|jj|}nt	j|}|j||d|jz|_	|
|dS)Nz[DEBUG ON]
)rrr!rstart_remote_debuggerrDebuggerrtrArrr?r4)rFdbg_guis  r(r6zPyShell.open_debugger3s;	. 6t{7I;?AAGG'--G(((  """$t|3##%%%%%r1cJ|jrdnd}|dd|dS)Ndisabledr}rtz*tack*iewer)r;update_menu_state)rFstates  r(debug_menu_postcommandzPyShell.debug_menu_postcommand?s0"n:

(w
u=====r1c>	|d|_dSNT)rer;rs r(rzPyShell.beginexecutingCs"(r1cL	d|_d|_|dSrQ)r;rr?rs r(rkzPyShell.endexecutingHs)(
r1c	|jr#tjddd|j}|durdS|d|_d|_tj|S)NzKill?z7Your program is still running!
 Do you want to kill it?okrFcancelT)	r;r
askokcancelrJr<rrdrr9)rFros  r(r9z
PyShell.closeNsw%>	 !-Jy	"""H
5  x
!$'''r1c@	|tr|j|jt
_|jt
_|j	t
_
d|_d|_d|j_
d|_tj|dSr+)r5rrrrTrrrrrrrrrNrqrrrrs r(rzPyShell._close]sO	*K'')))%
%
O	!
D!!!!!r1c	dSrHrrs  r(ispythonsourcezPyShell.ispythonsourcems
Btr1c|jSr+)shell_titlers r(short_titlezPyShell.short_titleqsr1zHType "help", "copyright", "credits" or "license()" for more information.c
|jdd|tr4d}|j}|s|dSnd}tjt_|
dtjdtjd|j
d||j|d	dl}d
|_d|_d
S)NrrvrbFz==== No Subprocess ====

WARNING: Running IDLE without a Subprocess is deprecated
and will be removed in a later version. See Help/IDLE Help
for details.

zPython z on rrT)rJr=rerrrr2r9rdisplayhookrr!versionplatform	COPYRIGHTfocus_forcer?tkinter_support_default_root
_default_root)rFnosubclientrZs    r(rz
PyShell.beginws	8X...	.E[1133F


u
'E"oCO


KKKt~~~uuF	G	G	G	(,% $tr1cX|jsdSd|_|jdSrH)reading_stop_readline_flagrquitrs r(r<zPyShell.stop_readlines,|	F#' 

r1c~|j}	d|_|j||_n#||_wxYw|jr	d|_dS|jdd}t
|dkrd}||jrd|_tst|jr	d|_d}|S)NTFrbrr4rr)r`rmainlooprarJrrrerrrc	endoffile)rFr;rs   r(readlinezPyShell.readlines|	 DLHDLL4DL#	',D$2y}}Xx00t99>>D=	(!DM!
(''>	"DNDs 1	:cdSrHrrs r(isattyzPyShell.isattystr1c	|jdddrdSn#YnxYw|jsK|jsD||jd|dSd|_d|_	|jrX|jj
rL|jr|jn|j
|jr|jdS)N	sel.firstz!=r&zKeyboardInterrupt
raFT)rJrr;r`rerrr!r?rerr!r7rCrOrrbrs  r(rzPyShell.cancel_callbacks	y  dJ??

	D	$,	K3444OO7
N	3t{1	3{&&((
3..000000222<	HMMOOOws!%cH|jr	|jsdS|jdddr|jdddsdS|js)||n'd|_d|_|j	dS)Nrz==rvr4FTra)
r;r`rJrrer9rrerrbrs  r(rzPyShell.eof_callbacks>	$,	F	!!(D(;;		!!(D(;;	F~	JJLLLL!DM!DNHMMOOOwr1c|jr6|jdd|jdn||dS)Nrvrra)r`rJrvseenewline_and_indent_eventrs  r(rzPyShell.linefeed_callbacksT<	1IXt,,,IMM(####))%000wr1c	|jr	|jsdS	|jdd}|r4|jdddr|||dSn#YnxYw|jdddr|jd	d}|rB|jdd|d
rd|jdvr|jdd}|r8|j|d
d|d
r|d
|d
f}|jdd}|rS|j|d
d|d
r+|d
|j	|d
dzf}||j|d
|d
|dS|jd	d}|r|jdd|d
r|jdd}|rS|j|d
d|d
r+|d
|j	|d
dzf}||j|d
|d
|dS|jdd}|rX|j|d
ddr6||j|d
d|n/||jdd|dS|jdddr|j
dd|jdd}|r/|s|jdd|jdddr|
|dS|j
dd|jr6|jdd|jdn|
||j|jr|jn|dS)Nrjr&z<=rrarvriomark linestartrrrz>=rz+1czinsert lineendr|r4zend-1c linestartr)r;r`rJrrrecall
tag_prevrange	tag_names
tag_nextrangernr=striprrnrvrmupdate_idletasksrrbrunit)	rFrzselprev	prev_cons	next_consnextindicesrs	         r(rzPyShell.enter_callbacks>	$,	F	)--Z88C
#9$$Zx@@#KKU+++"7	D9Xs,>??"	
9**7H==D

I%%hT!W==

TY%8%8%B%BBB I33IxHH	3!2!29Q<tAw!O!O3%aL$q'2D I33IxHH	L!2!29Q<d1g!N!NL GTY__Yq\E5I%J%JKDDIMM$q'47;;UCCCw9**7H==D
	))*:D$q'JJ
 I33I?OPP	L!2!29Q<d1g!N!NL GTY__Yq\E5I%J%JKDDIMM$q'47;;UCCCwi--i9KLLG
Xy  T3EFF
XDIMM'!*6FGGOOOODIMM*<>NOOQVWWW79XsH55	3Ix222
IMM(H--	1QWWYY	1IXx0009Xs,>??	))%0007	8X...<	1IXt,,,IMM(####))%000	""$$$<	HMMOOOOJJLLLwsAA$$A(ctjdd|}tjdd|}|d}|j	|jddd|jdd	|jd
d}|	dr0|
||jd
d}|jd|d|j
t|d
krtjd|dd}tjd|d}|d
dD]g}||r||t|dz}|jdd|z|j
h|jd|jdS#|jd|jwxYw)Nz^\s*\nrbz\n\s*$rrxrrrvr4r|:rrz	^([ \t]*))resubrrJundo_block_startr~r=rrstripendswithrnrvruuser_input_insert_tagsrsearchgrouprrmundo_block_stop)rFrrzrprefixorig_base_indentnew_base_indentrs        r(rqzPyShell.recall.sMF9b!$$F9b!$$

	""$$$	(I  u555Ix222Y]]#5x@@F}}'',,
E--e444'98DDIXuQx~~'7'7!8
:
:
:5zzA~~#%9\58#D#D#J#J1#M#M #%9\6#B#B#H#H#K#K!!""IBBD'788N.c:J6K6K6L6L1MMI$$Xtdkkmm/C%)%@BBBB
IMM(###I%%'''''
IMM(###I%%''''s
F=I5Jz[ \t]*(\n[ \t]*)?\Zc|jd}|jdd}|jd|}|j|}|sY|j|dkr |j|j||j	
dSdS)Nend-2crr4rbr)rJrnr_last_newline_rerrrrr~rrupdate_sidebar)rFindex_beforerinput_is_completes    r(rwz
PyShell.runitKsyx00y}}Xx00$((T22 K11$77 	0y}}\**d22	$$T%@,OOO--/////	0	0r1c|jjr|jSddlm}	||jtj|jn##tj
dd|jYnxYwdS)Nr)StackBrowserzNo stack tracez<There is no stack trace yet.
(sys.last_value is not defined)r)rrr!riidlelib.stackviewerrrr
last_valuerNr
rrJ)rFrzrs   r(rzPyShell.open_stack_viewerWs;	5;22444444444	"LCNDJ????	" !12y
"
"
"
"
"
"ts!AA/cn|jd|jddS)Nrr5)rJrmrs  r(rzPyShell.view_restart_markes0	

h	

i     r1c>	|jddS)NTr)rrrCrs  r(rzPyShell.restart_shellis$0&&&55555r1c||j}|jr7||jr|dt	|j}|jdd|j||j	
|jdd||j
dS)Nrz	iomark-1crvr4)rerrrrrJrmrr!rrr=set_line_and_columnrU
reset_undo)rFrs  r(r?zPyShell.showpromptms<	1FOODL99	1/c$,////0F	)[1116"""))+++	8X...  """r1c|jjj}t|dd}d||}|ds|dz
}|jj	d|ddS)NT)rtabsizeexpand_tabsrrpr)
rrrrr
rRrrrbottomrv)rFrrwrapperwrapped_msgs     r(show_warningzPyShell.show_warning{s%+E1$GGGiiS 1 122##D))	 4K1;IIIIIr1c|jdd}|jr|j||jddkr|jdd|jdd||jdS)Nrr4rr)	rJrrstorervr=rctipremove_calltip_window)rFrs  r(rezPyShell.resetoutputsx22<	'Lv&&&9==""d**IXt,,,	8X...  """	'')))))r1rc	|jddtj|||d}|jddn#xYw|jrd|_t
st|S)Nrrightr6F)rJr>rr!rrrc)rFrrcounts    r(r!z
PyShell.writes	I""8W555 &tQh??EI""8V4444	=	(!DM!
(''sA
AAc	|jdddrdSn#t$rYdSwxYwtS)NrjrrrC)rJrrrr[rs r(r[zPyShell.rmenu_check_cutsf	y  c8<<
"!z
"			::	ww&&(((s"
00c|jdddrdStS)NrvrrrC)rJrrr_rs r(r_zPyShell.rmenu_check_pastes:9Xc(33	:ww((***r1cj|j|jdSr+)rsqueeze_current_textrrrs  r(rz"PyShell.squeeze_current_text_events1
**,,,))+++++r1c8|jdSr+)rr)rFrnrJrs    r(on_squeezed_expandzPyShell.on_squeezed_expands))+++++r1r+)r)Orrridlelib.squeezerrrrRrrrrrrrrr7	itertools	takewhile_idxrvallow_line_numbersridlelib.historyridlelib.sidebarrrIrr
rrr$rr`r;rrerdrar0r2rr4rr5r6rFrrkr9rrPrSrXrr<rfrhrrrrrqrrrrwrrrr?rrer!r[r_rrrrs@r(rrMs0)))))).."2"22K,N)MJ*/.K
ss44+	+22KAADt2333	
$(''''',,,,,,L;L;L;L;\-----///// 777"++++(GIHIG   %%%%777



&&&
&
&
&>>>

(
(
("""    U4.,


MMM^(((8"rz"899
0
0
0!!!!6666JJJ***)))))+++++
,,,,,,,,,,,r1rc
	|jdkr3dD]2}||dd||dz1dSdS)Nx11)TextEntrySpinboxz	<<Paste>>z%catch {%W delete sel.first sel.last}
)_windowingsystem
bind_class)rclss  r(
fix_x11_pastersn<%%-	;	;COO8[99:
;
;
;
;&%	;	;r1a
USAGE: idle  [-deins] [-t title] [file]*
       idle  [-dns] [-t title] (-c cmd | -r file) [arg]*
       idle  [-dns] [-t title] - [arg]*

  -h         print this help message and exit
  -n         run IDLE without a subprocess (DEPRECATED,
             see Help/IDLE Help for details)

The following options will override the IDLE 'settings' configuration:

  -e         open an edit window
  -i         open a shell window

The following options imply -i and will open a shell:

  -c cmd     run the command in a shell, or
  -r file    run script from file

  -d         enable the debugger
  -s         run $IDLESTARTUP or $PYTHONSTARTUP before anything else
  -t title   set title of shell window

A default edit window will be bypassed when -c, -r, or - are used.

[arg]* are passed to the command (-c) or script (-r) in sys.argv[1:].

Examples:

idle
        Open an edit window or shell depending on IDLE's configuration.

idle foo.py foobar.py
        Edit the files, also open a shell if configured to start with shell.

idle -est "Baz" foo.py
        Run $IDLESTARTUP or $PYTHONSTARTUP, edit foo.py, and open a shell
        window with the title "Baz".

idle -c "import sys; print(sys.argv)" "foo"
        Open a shell window and run the command, passing "-c" in sys.argv[0]
        and "foo" in sys.argv[1].

idle -d -s -r foo.py "Hello World"
        Open a shell window, run a startup script, enable the debugger, and
        run foo.py, passing "foo.py" in sys.argv[0] and "Hello World" in
        sys.argv[1].

echo "import sys; print(sys.argv)" | idle - "foobar"
        Open a shell window, run the script piped in, passing '' in sys.argv[0]
        and "foobar" in sys.argv[1].
cddl}ddlm}ddlm}ddlm}t
ddad}d}d}d}d}d}		|tj	ddd\}
}nQ#|j
$rD}td	|d
ttj
tjdYd}~nd}~wwxYw|
D]\}
}|
d
kr|}d}|
dkrd}d}|
dkrd}|
dkr7tjttj|
dkrd}|
dkrtdtj
da|
dkrG|}t"j|rn#td|tjd}|
dkrd}	d}|
dkr|t(_d}|r,|ddkr tj}d}t1t3tjD]>}t"jtj|tj|<?|r%|ddkrdg|ddzt_	n|rd
g|zt_	n|r|g|zt_	n|rd}g}|D]4}|t"j|5|D]O}t"j|}|tjvr tjd|PnAt#j}|tjvr tjd|t?j dddd}|p|}|p|}tr|stCtEd a#tF$dd!l%m&}|tFt"j't"jtPd"|d#kr<t"j'd$}tF)|%nU|*sAtVd&krd'd(}nd)d*}fd+|D}d,|D}tGj,dg|Rt[tFt]tFt_tFa0|1tFt`|r[|sY|sW|ddD]1}t`2||3|2|st`4|rWt`5}|sdS|*r%t`j6r|j78nt`j9}|r|:|	ryt"j;<d-pt"j;<d.}|r9t"j|r|j=>||s|r|j=?d/@tj	|r|j=A|nd|r4|j=B||j=>|n-|r+|C}|r|D|t`jEr%tFFt`jE%tFGt
ddS)0Nr)system)testing)macosxTFrzc:deihnr:st:zError: rrrrz-dz-ez-hz-iz-nz: Warning: running IDLE without a subprocess is deprecated.z-rzNo script file: z-sz-t-rbr
rzeditor-on-startupr)rIdle)	className)fix_scalingIconsWindowszidle.ico)r
g333333!@z.png) 0z.gif)rrrcZg|]'}tjd|fz(S)z	idle_%d%s)rPrQrR)rsizeexticondirs  r(r	zmain.<locals>.<listcomp>ZsB(((W\\';$+DEE(((r1c:g|]}tt|S))masterr)
PhotoImager)riconfiles  r(r	zmain.<locals>.<listcomp>\s5,,,4h777,,,r1IDLESTARTUP
PYTHONSTARTUPzdif 1:
            import sys as _sys
            _sys.argv = {!r}
            del _sys
            
)HgetoptrWrrrrr0rrargverrorrf	usage_msgrexitrr!rPrQrrrRrrrrrrpdirnamervgetcwdrr
NoDefaultRootrrridlelib.runrrR__file__
wm_iconbitmapisAquaTk	TkVersionwm_iconphotorrrrNsetupApprr}newrOdictrlowerrqr6environrrrrrZr[rrpreferTabsPreferenceWarningrinversedictrddestroy)rrrrenable_shellenable_editrtcmdscriptstartupoptsrYroar1pathxr&dir
edit_startrrsizes	iconfilesiconsrprefer_tabs_preference_warningrrs                           @@r(r
r
sMMMTNLKE
C
FG]]38ABB<@@
dd<
***y**<<<<  199CL99EL99K99JY'''HJJJ99L99Nz
#
#
#
#"N99Fw~~f%%
(&111


L99GL99"#GLQ3inn
3sx==
!
!33goochqk22$Q34$qrr(?	$6D=	$8d?	
$	4	4HLL223333	(	(C'//#&&C#(??3'''	(
ikkchHOOAs####FI$7fFFFJ+K2{?Lg
DMMOOO''''''Kgll27??844g>>G
vxx97<<448,,,,
__

(C%EEC E(((((!&(((	,,!*,,,$'''''$$D!!E
OOD%   	v	 G
*
*::h''/KK)))
		  ""	F??		

IOO


,:>>-003:>>/22		,x00	,L!!(+++
?f?
!&""		$	$	$
	*L##C((((
	*L((000L!!&)))	
?*0)K)K)M)M&)	?=>>>




LLNNNUs+A##
B1-:B,,B1)NN)RrrrrZImportErrorrfrjrrWctypesPROCESS_SYSTEM_DPI_AWAREOleDLLSetProcessDpiAwarenessr"r#r
rrrr5rPos.pathrrr&rtextwrapr
rKrrr-idlelib.colorizerridlelib.configridlelib.delegatorrrrridlelib.editorrridlelib.filelistridlelib.outwinrrrrrrridlelib.undorrrreofrrb	NameErrorr r)r,r0
checkcacher=r?rrrr	RPCClientrrrrrrr
rr1r(<module>rs:


z%([%<CK!"	E9?B~OOOO
*Q--<7



#$ 
h667OPPPP1



''''''				######				



      ,,,,,,######''''''66666666%%%%%%''''''GGGGGGGGGG&&&&&&	
 CDHDHH			D	>B



")))+/2;2F(5	{"{"{"{"{",{"{"{"|h(
2
2
2
2
2^
2
2
2/////M///D11111	111#-k(k(k(k(k(0k(k(k(\
`	,`	,`	,`	,`	,l`	,`	,`	,F;;;4
	lnnnbzDFFFs-&#A	)BB
B
)D::EE