SILENT KILLERPanel

Current Path: > > opt > alt > python35 > lib64 > > python3.5 > idlelib > __pycache__


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python35/lib64//python3.5/idlelib/__pycache__

NameTypeSizeLast ModifiedActions
AutoComplete.cpython-35.opt-1.pyc File 7687 bytes May 31 2024 13:51:47.
AutoComplete.cpython-35.opt-2.pyc File 5986 bytes May 31 2024 13:51:29.
AutoComplete.cpython-35.pyc File 7687 bytes May 31 2024 13:51:52.
AutoCompleteWindow.cpython-35.opt-1.pyc File 11462 bytes May 31 2024 13:51:47.
AutoCompleteWindow.cpython-35.opt-2.pyc File 10708 bytes May 31 2024 13:51:29.
AutoCompleteWindow.cpython-35.pyc File 11518 bytes May 31 2024 13:51:52.
AutoExpand.cpython-35.opt-1.pyc File 3168 bytes May 31 2024 13:51:47.
AutoExpand.cpython-35.opt-2.pyc File 2378 bytes May 31 2024 13:51:29.
AutoExpand.cpython-35.pyc File 3168 bytes May 31 2024 13:51:52.
Bindings.cpython-35.opt-1.pyc File 3225 bytes May 31 2024 13:51:47.
Bindings.cpython-35.opt-2.pyc File 2744 bytes May 31 2024 13:51:29.
Bindings.cpython-35.pyc File 3225 bytes May 31 2024 13:51:52.
CallTipWindow.cpython-35.opt-1.pyc File 5361 bytes May 31 2024 13:51:47.
CallTipWindow.cpython-35.opt-2.pyc File 5061 bytes May 31 2024 13:51:29.
CallTipWindow.cpython-35.pyc File 5361 bytes May 31 2024 13:51:52.
CallTips.cpython-35.opt-1.pyc File 5921 bytes May 31 2024 13:51:47.
CallTips.cpython-35.opt-2.pyc File 4279 bytes May 31 2024 13:51:29.
CallTips.cpython-35.pyc File 5921 bytes May 31 2024 13:51:52.
ClassBrowser.cpython-35.opt-1.pyc File 8554 bytes May 31 2024 13:51:47.
ClassBrowser.cpython-35.opt-2.pyc File 8062 bytes May 31 2024 13:51:29.
ClassBrowser.cpython-35.pyc File 8554 bytes May 31 2024 13:51:52.
CodeContext.cpython-35.opt-1.pyc File 6126 bytes May 31 2024 13:51:47.
CodeContext.cpython-35.opt-2.pyc File 4990 bytes May 31 2024 13:51:29.
CodeContext.cpython-35.pyc File 6167 bytes May 31 2024 13:51:52.
ColorDelegator.cpython-35.opt-1.pyc File 8567 bytes May 31 2024 13:51:47.
ColorDelegator.cpython-35.opt-2.pyc File 8404 bytes May 31 2024 13:51:29.
ColorDelegator.cpython-35.pyc File 8567 bytes May 31 2024 13:51:52.
Debugger.cpython-35.opt-1.pyc File 15576 bytes May 31 2024 13:51:47.
Debugger.cpython-35.opt-2.pyc File 15417 bytes May 31 2024 13:51:29.
Debugger.cpython-35.pyc File 15576 bytes May 31 2024 13:51:52.
Delegator.cpython-35.opt-1.pyc File 1344 bytes May 31 2024 13:51:47.
Delegator.cpython-35.opt-2.pyc File 1236 bytes May 31 2024 13:51:29.
Delegator.cpython-35.pyc File 1344 bytes May 31 2024 13:51:52.
EditorWindow.cpython-35.opt-1.pyc File 52024 bytes May 31 2024 13:51:47.
EditorWindow.cpython-35.opt-2.pyc File 50741 bytes May 31 2024 13:51:29.
EditorWindow.cpython-35.pyc File 52120 bytes May 31 2024 13:51:52.
FileList.cpython-35.opt-1.pyc File 3580 bytes May 31 2024 13:51:47.
FileList.cpython-35.opt-2.pyc File 3572 bytes May 31 2024 13:51:29.
FileList.cpython-35.pyc File 3610 bytes May 31 2024 13:51:52.
FormatParagraph.cpython-35.opt-1.pyc File 6355 bytes May 31 2024 13:51:47.
FormatParagraph.cpython-35.opt-2.pyc File 4465 bytes May 31 2024 13:51:29.
FormatParagraph.cpython-35.pyc File 6355 bytes May 31 2024 13:51:52.
GrepDialog.cpython-35.opt-1.pyc File 5641 bytes May 31 2024 13:51:47.
GrepDialog.cpython-35.opt-2.pyc File 5633 bytes May 31 2024 13:51:29.
GrepDialog.cpython-35.pyc File 5641 bytes May 31 2024 13:51:52.
HyperParser.cpython-35.opt-1.pyc File 7400 bytes May 31 2024 13:51:47.
HyperParser.cpython-35.opt-2.pyc File 6083 bytes May 31 2024 13:51:29.
HyperParser.cpython-35.pyc File 7400 bytes May 31 2024 13:51:52.
IOBinding.cpython-35.opt-1.pyc File 15172 bytes May 31 2024 13:51:47.
IOBinding.cpython-35.opt-2.pyc File 14744 bytes May 31 2024 13:51:29.
IOBinding.cpython-35.pyc File 15172 bytes May 31 2024 13:51:52.
IdleHistory.cpython-35.opt-1.pyc File 3679 bytes May 31 2024 13:51:47.
IdleHistory.cpython-35.opt-2.pyc File 2442 bytes May 31 2024 13:51:29.
IdleHistory.cpython-35.pyc File 3679 bytes May 31 2024 13:51:52.
MultiCall.cpython-35.opt-1.pyc File 16475 bytes May 31 2024 13:51:47.
MultiCall.cpython-35.opt-2.pyc File 14100 bytes May 31 2024 13:51:29.
MultiCall.cpython-35.pyc File 16540 bytes May 31 2024 13:51:52.
MultiStatusBar.cpython-35.opt-1.pyc File 1935 bytes May 31 2024 13:51:47.
MultiStatusBar.cpython-35.opt-2.pyc File 1927 bytes May 31 2024 13:51:29.
MultiStatusBar.cpython-35.pyc File 1935 bytes May 31 2024 13:51:52.
ObjectBrowser.cpython-35.opt-1.pyc File 5512 bytes May 31 2024 13:51:47.
ObjectBrowser.cpython-35.opt-2.pyc File 5504 bytes May 31 2024 13:51:29.
ObjectBrowser.cpython-35.pyc File 5512 bytes May 31 2024 13:51:52.
OutputWindow.cpython-35.opt-1.pyc File 4523 bytes May 31 2024 13:51:47.
OutputWindow.cpython-35.opt-2.pyc File 4340 bytes May 31 2024 13:51:29.
OutputWindow.cpython-35.pyc File 4523 bytes May 31 2024 13:51:52.
ParenMatch.cpython-35.opt-1.pyc File 6450 bytes May 31 2024 13:51:47.
ParenMatch.cpython-35.opt-2.pyc File 5015 bytes May 31 2024 13:51:29.
ParenMatch.cpython-35.pyc File 6450 bytes May 31 2024 13:51:52.
PathBrowser.cpython-35.opt-1.pyc File 4106 bytes May 31 2024 13:51:47.
PathBrowser.cpython-35.opt-2.pyc File 3957 bytes May 31 2024 13:51:29.
PathBrowser.cpython-35.pyc File 4106 bytes May 31 2024 13:51:52.
Percolator.cpython-35.opt-1.pyc File 3911 bytes May 31 2024 13:51:47.
Percolator.cpython-35.opt-2.pyc File 3903 bytes May 31 2024 13:51:29.
Percolator.cpython-35.pyc File 4084 bytes May 31 2024 13:51:52.
PyParse.cpython-35.opt-1.pyc File 10967 bytes May 31 2024 13:51:47.
PyParse.cpython-35.opt-2.pyc File 10085 bytes May 31 2024 13:51:30.
PyParse.cpython-35.pyc File 11409 bytes May 31 2024 13:51:52.
PyShell.cpython-35.opt-1.pyc File 48124 bytes May 31 2024 13:51:47.
PyShell.cpython-35.opt-2.pyc File 45535 bytes May 31 2024 13:51:30.
PyShell.cpython-35.pyc File 48263 bytes May 31 2024 13:51:52.
RemoteDebugger.cpython-35.opt-1.pyc File 14510 bytes May 31 2024 13:51:47.
RemoteDebugger.cpython-35.opt-2.pyc File 12109 bytes May 31 2024 13:51:30.
RemoteDebugger.cpython-35.pyc File 14652 bytes May 31 2024 13:51:52.
RemoteObjectBrowser.cpython-35.opt-1.pyc File 2009 bytes May 31 2024 13:51:47.
RemoteObjectBrowser.cpython-35.opt-2.pyc File 2001 bytes May 31 2024 13:51:30.
RemoteObjectBrowser.cpython-35.pyc File 2009 bytes May 31 2024 13:51:52.
ReplaceDialog.cpython-35.opt-1.pyc File 7645 bytes May 31 2024 13:51:47.
ReplaceDialog.cpython-35.opt-2.pyc File 6961 bytes May 31 2024 13:51:30.
ReplaceDialog.cpython-35.pyc File 7645 bytes May 31 2024 13:51:52.
RstripExtension.cpython-35.opt-1.pyc File 1353 bytes May 31 2024 13:51:47.
RstripExtension.cpython-35.opt-2.pyc File 1265 bytes May 31 2024 13:51:30.
RstripExtension.cpython-35.pyc File 1353 bytes May 31 2024 13:51:52.
ScriptBinding.cpython-35.opt-1.pyc File 7066 bytes May 31 2024 13:51:47.
ScriptBinding.cpython-35.opt-2.pyc File 5675 bytes May 31 2024 13:51:30.
ScriptBinding.cpython-35.pyc File 7066 bytes May 31 2024 13:51:52.
ScrolledList.cpython-35.opt-1.pyc File 5759 bytes May 31 2024 13:51:47.
ScrolledList.cpython-35.opt-2.pyc File 5751 bytes May 31 2024 13:51:30.
ScrolledList.cpython-35.pyc File 5759 bytes May 31 2024 13:51:52.
SearchDialog.cpython-35.opt-1.pyc File 3782 bytes May 31 2024 13:51:47.
SearchDialog.cpython-35.opt-2.pyc File 3522 bytes May 31 2024 13:51:30.
SearchDialog.cpython-35.pyc File 3782 bytes May 31 2024 13:51:52.
SearchDialogBase.cpython-35.opt-1.pyc File 7695 bytes May 31 2024 13:51:47.
SearchDialogBase.cpython-35.opt-2.pyc File 4987 bytes May 31 2024 13:51:30.
SearchDialogBase.cpython-35.pyc File 7695 bytes May 31 2024 13:51:52.
SearchEngine.cpython-35.opt-1.pyc File 7413 bytes May 31 2024 13:51:47.
SearchEngine.cpython-35.opt-2.pyc File 5751 bytes May 31 2024 13:51:30.
SearchEngine.cpython-35.pyc File 7413 bytes May 31 2024 13:51:52.
StackViewer.cpython-35.opt-1.pyc File 5592 bytes May 31 2024 13:51:47.
StackViewer.cpython-35.opt-2.pyc File 5584 bytes May 31 2024 13:51:30.
StackViewer.cpython-35.pyc File 5592 bytes May 31 2024 13:51:52.
ToolTip.cpython-35.opt-1.pyc File 4043 bytes May 31 2024 13:51:47.
ToolTip.cpython-35.opt-2.pyc File 4035 bytes May 31 2024 13:51:30.
ToolTip.cpython-35.pyc File 4043 bytes May 31 2024 13:51:52.
TreeWidget.cpython-35.opt-1.pyc File 15618 bytes May 31 2024 13:51:47.
TreeWidget.cpython-35.opt-2.pyc File 14833 bytes May 31 2024 13:51:30.
TreeWidget.cpython-35.pyc File 15618 bytes May 31 2024 13:51:52.
UndoDelegator.cpython-35.opt-1.pyc File 11891 bytes May 31 2024 13:51:47.
UndoDelegator.cpython-35.opt-2.pyc File 11883 bytes May 31 2024 13:51:30.
UndoDelegator.cpython-35.pyc File 11891 bytes May 31 2024 13:51:52.
WidgetRedirector.cpython-35.opt-1.pyc File 7120 bytes May 31 2024 13:51:47.
WidgetRedirector.cpython-35.opt-2.pyc File 3671 bytes May 31 2024 13:51:30.
WidgetRedirector.cpython-35.pyc File 7120 bytes May 31 2024 13:51:52.
WindowList.cpython-35.opt-1.pyc File 3231 bytes May 31 2024 13:51:47.
WindowList.cpython-35.opt-2.pyc File 3223 bytes May 31 2024 13:51:30.
WindowList.cpython-35.pyc File 3231 bytes May 31 2024 13:51:52.
ZoomHeight.cpython-35.opt-1.pyc File 1402 bytes May 31 2024 13:51:47.
ZoomHeight.cpython-35.opt-2.pyc File 1394 bytes May 31 2024 13:51:30.
ZoomHeight.cpython-35.pyc File 1402 bytes May 31 2024 13:51:52.
__init__.cpython-35.opt-1.pyc File 452 bytes May 31 2024 13:51:47.
__init__.cpython-35.opt-2.pyc File 141 bytes May 31 2024 13:51:30.
__init__.cpython-35.pyc File 452 bytes May 31 2024 13:51:52.
__main__.cpython-35.opt-1.pyc File 279 bytes May 31 2024 13:51:47.
__main__.cpython-35.opt-2.pyc File 198 bytes May 31 2024 13:51:30.
__main__.cpython-35.pyc File 279 bytes May 31 2024 13:51:52.
aboutDialog.cpython-35.opt-1.pyc File 6077 bytes May 31 2024 13:51:47.
aboutDialog.cpython-35.opt-2.pyc File 5906 bytes May 31 2024 13:51:30.
aboutDialog.cpython-35.pyc File 6077 bytes May 31 2024 13:51:52.
configDialog.cpython-35.opt-1.pyc File 49329 bytes May 31 2024 13:51:47.
configDialog.cpython-35.opt-2.pyc File 46576 bytes May 31 2024 13:51:30.
configDialog.cpython-35.pyc File 49329 bytes May 31 2024 13:51:52.
configHandler.cpython-35.opt-1.pyc File 26882 bytes May 31 2024 13:51:47.
configHandler.cpython-35.opt-2.pyc File 18679 bytes May 31 2024 13:51:30.
configHandler.cpython-35.pyc File 26882 bytes May 31 2024 13:51:52.
configHelpSourceEdit.cpython-35.opt-1.pyc File 5905 bytes May 31 2024 13:51:47.
configHelpSourceEdit.cpython-35.opt-2.pyc File 5398 bytes May 31 2024 13:51:30.
configHelpSourceEdit.cpython-35.pyc File 5905 bytes May 31 2024 13:51:52.
configSectionNameDialog.cpython-35.opt-1.pyc File 3932 bytes May 31 2024 13:51:47.
configSectionNameDialog.cpython-35.opt-2.pyc File 3294 bytes May 31 2024 13:51:30.
configSectionNameDialog.cpython-35.pyc File 3932 bytes May 31 2024 13:51:52.
dynOptionMenuWidget.cpython-35.opt-1.pyc File 2428 bytes May 31 2024 13:51:47.
dynOptionMenuWidget.cpython-35.opt-2.pyc File 2036 bytes May 31 2024 13:51:30.
dynOptionMenuWidget.cpython-35.pyc File 2428 bytes May 31 2024 13:51:52.
help.cpython-35.opt-1.pyc File 10980 bytes May 31 2024 13:51:47.
help.cpython-35.opt-2.pyc File 8229 bytes May 31 2024 13:51:30.
help.cpython-35.pyc File 10980 bytes May 31 2024 13:51:52.
idle.cpython-35.opt-1.pyc File 372 bytes May 31 2024 13:51:47.
idle.cpython-35.opt-2.pyc File 364 bytes May 31 2024 13:51:30.
idle.cpython-35.pyc File 372 bytes May 31 2024 13:51:52.
idlever.cpython-35.opt-1.pyc File 551 bytes May 31 2024 13:51:47.
idlever.cpython-35.opt-2.pyc File 320 bytes May 31 2024 13:51:30.
idlever.cpython-35.pyc File 551 bytes May 31 2024 13:51:52.
keybindingDialog.cpython-35.opt-1.pyc File 10963 bytes May 31 2024 13:51:47.
keybindingDialog.cpython-35.opt-2.pyc File 10003 bytes May 31 2024 13:51:30.
keybindingDialog.cpython-35.pyc File 10963 bytes May 31 2024 13:51:52.
macosxSupport.cpython-35.opt-1.pyc File 7170 bytes May 31 2024 13:51:47.
macosxSupport.cpython-35.opt-2.pyc File 5255 bytes May 31 2024 13:51:30.
macosxSupport.cpython-35.pyc File 7285 bytes May 31 2024 13:51:52.
rpc.cpython-35.opt-1.pyc File 20833 bytes May 31 2024 13:51:47.
rpc.cpython-35.opt-2.pyc File 17434 bytes May 31 2024 13:51:30.
rpc.cpython-35.pyc File 20936 bytes May 31 2024 13:51:52.
run.cpython-35.opt-1.pyc File 12742 bytes May 31 2024 13:51:47.
run.cpython-35.opt-2.pyc File 10814 bytes May 31 2024 13:51:30.
run.cpython-35.pyc File 12792 bytes May 31 2024 13:51:52.
tabbedpages.cpython-35.opt-1.pyc File 17076 bytes May 31 2024 13:51:47.
tabbedpages.cpython-35.opt-2.pyc File 12070 bytes May 31 2024 13:51:30.
tabbedpages.cpython-35.pyc File 17076 bytes May 31 2024 13:51:52.
textView.cpython-35.opt-1.pyc File 3463 bytes May 31 2024 13:51:47.
textView.cpython-35.opt-2.pyc File 3016 bytes May 31 2024 13:51:30.
textView.cpython-35.pyc File 3463 bytes May 31 2024 13:51:52.

Reading File: //opt/alt/python35/lib64//python3.5/idlelib/__pycache__/RemoteDebugger.cpython-35.opt-1.pyc



��Yf�.�@s)dZddlZddlmZdZdadZiZiZiZ	iZ
dd�Zdd	�ZGd
d�d�Z
Gdd
�d
�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zdd�Zdd�Zd d!�ZdS)"a�Support for remote Python debugging.

Some ASCII art to describe the structure:

       IN PYTHON SUBPROCESS          #             IN IDLE PROCESS
                                     #
                                     #        oid='gui_adapter'
                 +----------+        #       +------------+          +-----+
                 | GUIProxy |--remote#call-->| GUIAdapter |--calls-->| GUI |
+-----+--calls-->+----------+        #       +------------+          +-----+
| Idb |                               #                             /
+-----+<-calls--+------------+         #      +----------+<--calls-/
                | IdbAdapter |<--remote#call--| IdbProxy |
                +------------+         #      +----------+
                oid='idb_adapter'      #

The purpose of the Proxy and Adapter classes is to translate certain
arguments and return values that cannot be transported through the RPC
barrier, in particular frame and traceback objects.

�N)�Debugger�idb_adapterZgui_adaptercCst|�}|t|<|S)N)�id�
frametable)�frame�fid�r�;/opt/alt/python35/lib64/python3.5/idlelib/RemoteDebugger.py�
wrap_frame(s
r
cCsO|dkrdS|d}t|�}|t|<|d|d|f}|SdS)z0replace info[2], a traceback instance, by its IDN�r�)r�tracebacktable)�info�	tracebackZtraceback_id�
modified_inforrr	�	wrap_info-s

rc@s+eZdZdd�Zddd�ZdS)�GUIProxycCs||_||_dS)N)�conn�oid)�selfr�gui_adap_oidrrr	�__init__;s	zGUIProxy.__init__NcCs5|jj|jd|t|�t|�fi�dS)N�interaction)r�
remotecallrr
r)r�messagerrrrr	r?szGUIProxy.interaction)�__name__�
__module__�__qualname__rrrrrr	r9src@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�
IdbAdaptercCs
||_dS)N)�idb)rrrrr	rHszIdbAdapter.__init__cCs|jj�dS)N)r�set_step)rrrr	r MszIdbAdapter.set_stepcCs|jj�dS)N)r�set_quit)rrrr	r!PszIdbAdapter.set_quitcCs|jj�dS)N)r�set_continue)rrrr	r"SszIdbAdapter.set_continuecCst|}|jj|�dS)N)rr�set_next)rrrrrr	r#Vs
zIdbAdapter.set_nextcCst|}|jj|�dS)N)rr�
set_return)rrrrrr	r$Zs
zIdbAdapter.set_returncCsat|}|dkrd}n
t|}|jj||�\}}dd�|D�}||fS)NcSs(g|]\}}t|�|f�qSr)r
)�.0Zframe2�krrr	�
<listcomp>es	z(IdbAdapter.get_stack.<locals>.<listcomp>)rr
r�	get_stack)rr�tbidr�tb�stack�irrr	r(^s
	
zIdbAdapter.get_stackcCs&ddl}|jj||j�dS)Nr)�__main__r�run�__dict__)r�cmdr-rrr	r.hszIdbAdapter.runcCs|jj||�}|S)N)r�	set_break)r�filename�lineno�msgrrr	r1lszIdbAdapter.set_breakcCs|jj||�}|S)N)r�clear_break)rr2r3r4rrr	r5pszIdbAdapter.clear_breakcCs|jj|�}|S)N)r�clear_all_file_breaks)rr2r4rrr	r6tsz IdbAdapter.clear_all_file_breakscCst|}t||�S)N)r�getattr)rr�namerrrr	�
frame_attrzs
zIdbAdapter.frame_attrcCs-t|}|j}t|�}|t|<|S)N)r�	f_globalsr�	dicttable)rrr�dict�didrrr	�
frame_globals~s

	
zIdbAdapter.frame_globalscCs-t|}|j}t|�}|t|<|S)N)r�f_localsrr;)rrrr<r=rrr	�frame_locals�s

	
zIdbAdapter.frame_localscCs-t|}|j}t|�}|t|<|S)N)r�f_coder�	codetable)rrr�code�cidrrr	�
frame_code�s

	
zIdbAdapter.frame_codecCst|}|jS)N)rB�co_name)rrDrCrrr	�	code_name�s
zIdbAdapter.code_namecCst|}|jS)N)rB�co_filename)rrDrCrrr	�
code_filename�s
zIdbAdapter.code_filenamecCstd��dS)Nz"dict_keys not public or pickleable)�NotImplemented)rr=rrr	�	dict_keys�szIdbAdapter.dict_keyscCst|}t|j��S)N)r;�list�keys)rr=r<rrr	�dict_keys_list�s
zIdbAdapter.dict_keys_listcCs$t|}||}t|�}|S)N)r;�repr)rr=�keyr<�valuerrr	�	dict_item�s

zIdbAdapter.dict_itemN)rrrrr r!r"r#r$r(r.r1r5r6r9r>r@rErGrIrKrNrRrrrr	rFs(
	rcCs>t||�}tj|�}t|�}|jt|�tS)a|Start the debugger and its RPC link in the Python subprocess

    Start the subprocess side of the split debugger and set up that side of the
    RPC link by instantiating the GUIProxy, Idb debugger, and IdbAdapter
    objects and linking them together.  Register the IdbAdapter with the
    RPCServer to handle RPC requests from the split debugger GUI via the
    IdbProxy.

    )rrZIdbr�register�idb_adap_oid)Z
rpchandlerrZ	gui_proxyrZidb_adaprrr	�start_debugger�s

rUc@sXeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
FrameProxycCs(||_||_d|_i|_dS)Nr)�_conn�_fid�_oid�
_dictcache)rrrrrr	r�s			zFrameProxy.__init__cCs�|dd�dkr"t|��|dkr8|j�S|dkrN|j�S|dkrd|j�S|jj|jd|j|fi�S)Nr�_rAr:r?r9)�AttributeError�_get_f_code�_get_f_globals�
_get_f_localsrWrrYrX)rr8rrr	�__getattr__�s


zFrameProxy.__getattr__cCs:|jj|jd|jfi�}t|j|j|�S)NrE)rWrrYrX�	CodeProxy)rrDrrr	r]�s$zFrameProxy._get_f_codecCs1|jj|jd|jfi�}|j|�S)Nr>)rWrrYrX�_get_dict_proxy)rr=rrr	r^�szFrameProxy._get_f_globalscCs1|jj|jd|jfi�}|j|�S)Nr@)rWrrYrXrb)rr=rrr	r_�szFrameProxy._get_f_localscCsC||jkr|j|St|j|j|�}||j|<|S)N)rZ�	DictProxyrWrY)rr=Zdprrr	rb�s

zFrameProxy._get_dict_proxyN)	rrrrr`r]r^r_rbrrrr	rV�srVc@s(eZdZdd�Zdd�ZdS)racCs||_||_||_dS)N)rWrY�_cid)rrrrDrrr	r�s		zCodeProxy.__init__cCs`|dkr.|jj|jd|jfi�S|dkr\|jj|jd|jfi�SdS)NrFrGrHrI)rWrrYrd)rr8rrr	r`�szCodeProxy.__getattr__N)rrrrr`rrrr	ra�srac@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rccCs||_||_||_dS)N)rWrY�_did)rrrr=rrr	rs		zDictProxy.__init__cCs"|jj|jd|jfi�S)NrN)rWrrYre)rrrr	rMszDictProxy.keyscCs%|jj|jd|j|fi�S)NrR)rWrrYre)rrPrrr	�__getitem__szDictProxy.__getitem__cCst|��dS)N)r\)rr8rrr	r`szDictProxy.__getattr__N)rrrrrMrfr`rrrr	rcs	rcc@s(eZdZdd�Zdd�ZdS)�
GUIAdaptercCs||_||_dS)N)r�gui)rrrhrrr	rs	zGUIAdapter.__init__cCs,t|j|�}|jj|||�dS)N)rVrrhr)rrrrrrrr	r!szGUIAdapter.interactionN)rrrrrrrrr	rgsrgc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�IdbProxycCs||_||_||_dS)N)rr�shell)rrrjrrrr	r)s		zIdbProxy.__init__cOs"|jj|j|||�}|S)N)rrr)rZ
methodname�args�kwargsrQrrr	�call.sz
IdbProxy.callcCs4|jj|jd|fi�}||jj_dS)Nr.)rZ
asyncqueuerrjZinterpZ
active_seq)rr0�locals�seqrrr	r.4s!zIdbProxy.runcsA�jd|j|�\}}�fdd�|D�}||fS)Nr(cs.g|]$\}}t�j|�|f�qSr)rVr)r%rr&)rrr	r'<s	z&IdbProxy.get_stack.<locals>.<listcomp>)rmrX)rrr)r+r,r)rr	r(9szIdbProxy.get_stackcCs|jd�dS)Nr")rm)rrrr	r"?szIdbProxy.set_continuecCs|jd�dS)Nr )rm)rrrr	r BszIdbProxy.set_stepcCs|jd|j�dS)Nr#)rmrX)rrrrr	r#EszIdbProxy.set_nextcCs|jd|j�dS)Nr$)rmrX)rrrrr	r$HszIdbProxy.set_returncCs|jd�dS)Nr!)rm)rrrr	r!KszIdbProxy.set_quitcCs|jd||�}|S)Nr1)rm)rr2r3r4rrr	r1NszIdbProxy.set_breakcCs|jd||�}|S)Nr5)rm)rr2r3r4rrr	r5RszIdbProxy.clear_breakcCs|jd|�}|S)Nr6)rm)rr2r4rrr	r6VszIdbProxy.clear_all_file_breaksN)rrrrrmr.r(r"r r#r$r!r1r5r6rrrr	ri'sricCsb|jddtfi�at||t�}tj||�}t||�}|jt|�|S)a]Start the subprocess debugger, initialize the debugger GUI and RPC link

    Request the RPCServer start the Python subprocess debugger and link.  Set
    up the Idle side of the split debugger by instantiating the IdbProxy,
    debugger GUI, and debugger GUIAdapter objects and linking them together.

    Register the GUIAdapter with the RPCClient to handle debugger GUI
    interaction requests coming from the subprocess debugger via the GUIProxy.

    The IdbAdapter will pass execution and environment requests coming from the
    Idle debugger GUI to the subprocess debugger via the IdbProxy.

    �exec�start_the_debugger)rrrTrirrgrS)�rpccltZpyshellZ	idb_proxyrhZgui_adaprrr	�start_remote_debuggerZsrscCst|�|jt�dS)a]Shut down subprocess debugger and Idle side of debugger RPC link

    Request that the RPCServer shut down the subprocess debugger and link.
    Unregister the GUIAdapter, which will cause a GC on the Idle process
    debugger and RPC link objects.  (The second reference to the debugger GUI
    is deleted in PyShell.close_remote_debugger().)

    N)�close_subprocess_debuggerZ
unregisterr)rrrrr	�close_remote_debuggerrs	
rucCs|jddtfi�dS)NrpZstop_the_debugger)rrT)rrrrr	rt~srtcCs|jddtfi�}dS)Nrprq)rr)rrZidb_adap_oid_retrrr	�restart_subprocess_debugger�srv)�__doc__�typesZidlelibrZ	debuggingrTrrr;rBr
r
rrrrUrVrarcrgrirsrurtrvrrrr	�<module>s.
m*3

SILENT KILLER Tool