Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/__pycache__/configdialog.cpython-37.opt-2.pyc

B

YI~dL��@sZddlZddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ddl,m-Z.ddl/m0Z1ddlm2Z2ddl3m4Z4m5Z5ddl6m7Z7ddl8m9Z9ddl:m;Z;dd	l<m=Z=m>Z>dd
l?m@Z@ddlAmBZBddlCmDZDdd
lEmFZFddlGmHZHddlImJZJddl?mKZKe5�ZLeBeDeFeHeJfZMGdd�de�ZNdaOGdd�de!�ZPGdd�de!�ZQGdd�de!�ZRGdd�de!�ZSGdd�d�ZTeT�ZUdZVdd d!d"d#�ZWd$d%�ZXGd&d'�d'e!�ZYeZd(k�rVdd)l[m\Z\e\d*d+d,d-�dd.l]m^Z^e^eN�dS)/�N)�Toplevel�Listbox�Scale�Canvas�	StringVar�
BooleanVar�IntVar�TRUE�FALSE�TOP�BOTTOM�RIGHT�LEFT�SOLID�GROOVE�NONE�BOTH�X�Y�W�E�EW�NS�NSEW�NW�
HORIZONTAL�VERTICAL�ANCHOR�ACTIVE�END)�Frame�
LabelFrame�Button�Checkbutton�Entry�Label�
OptionMenu�Notebook�Radiobutton�	Scrollbar�Style)�
messagebox)�idleConf�
ConfigChanges)�
GetKeysDialog)�
DynOptionMenu)�macosx)�SectionName�
HelpSource)�	view_text)�AutoComplete)�CodeContext)�
ParenMatch)�FormatParagraph)�Squeezer)�ScrollableTextFramecs�eZdZd$ddd�dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z�fdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�Z�ZS)%�ConfigDialog�F)�_htest�_utestcCs�t�||�||_|ri|_|s(|��|jdd�|�|p>d�|��d}|��|s\dnd}|�	d|�d|���|�
�|jttd�|�
|�|�d	|j�|jj��t��|s�|��|��|��dS)
N�)�borderwidthzIDLE Preferences����+)�height�widthZWM_DELETE_WINDOW)r�__init__�parent�
instance_dictZwithdraw�	configure�titleZwinfo_rootxZwinfo_rootyZgeometry�create_widgetsZ	resizabler
Z	transientZprotocol�cancel�fontpage�fontlistZ	focus_set�tracers�attachZgrab_setZwm_deiconifyZwait_window)�selfrGrJr<r=�x�y�rT�9/opt/alt/python37/lib64/python3.7/idlelib/configdialog.pyrF0s*
zConfigDialog.__init__cCs�t|�|_}t|�|_t||j�|_t|�|_t|�|_	|�
�|_|j|jdd�|j|jdd�|j|jdd�|j|j	dd�|j|jdd�|�
�|jtttd�|��jtd�dS)	Nz
Fonts/Tabs)�text�
Highlightsz Keys z	 General Z
Extensions)�side�expand�fill)rX)r'�note�HighPage�highpage�FontPagerM�KeysPageZkeyspage�GenPageZgenpage�create_page_extensionsZextpage�addZenable_traversal�packrr	r�create_action_buttonsr)rQr[rTrTrUrK`s



zConfigDialog.create_widgetscCs�t��ri}nddi}t|dd�}t|dd�}i|_xbd|jfd|jfd|jfd|jffD]:\}}t|f||t	d	�|��|j|<|j|j
td
d�qZWt|ddd
�j
td�|j
t
d�|S)N�padding)���)reZOkZApplyZCancelZHelp)rV�command�	takefocusr>)rX�padxr)rDr?)rX)r0ZisAquaTkr Zbuttons�ok�applyrL�helpr"r
rcrrr)rQZpadding_argsZouterZ
buttons_frameZtxt�cmdrTrTrUrds"
z"ConfigDialog.create_action_buttonscCs|��|��dS)N)rm�destroy)rQrTrTrUrl�szConfigDialog.okcCs$|��t��|��|��dS)N)�deactivate_current_config�changes�save_all�save_all_changed_extensions�activate_config_changes)rQrTrTrUrm�szConfigDialog.applycCst��|��dS)N)rr�clearrp)rQrTrTrUrL�szConfigDialog.cancelcs&|jj�dd�a|��t���dS)Nz1.0�end)rM�font_sample�get�font_sample_textZgrab_release�superrp)rQ)�	__class__rTrUrp�szConfigDialog.destroycCs8|jj|j��dd���}t|dtt�|d�d�dS)NrV)�optionzHelp for IDLE preferencesr;)rJ�contents)r[ZtabZselect�stripr3�help_common�
help_pagesry)rQZpagerTrTrUrn�szConfigDialog.helpcCs&|jj��}x|D]}|��qWdS)N)rGrH�keysZRemoveKeybindings)rQ�
win_instances�instancerTrTrUrq�s
z&ConfigDialog.deactivate_current_configcCsd|jj��}x<|D]4}|��|��|��|��|��|��qWxt	D]}|�
�qPWdS)N)rGrHr�ZResetColorizerZ	ResetFontZset_notabs_indentwidthZApplyKeybindingsZreset_help_menu_entriesZupdate_cursor_blink�reloadables�reload)rQr�r��klassrTrTrUru�s

z$ConfigDialog.activate_config_changescCsh|j}t|j�}tjd|_tjd|_|�t	�|_	|�
�t|�|_|j
ddd�|jddd�t||jdd�|_|j�d|j�t||jjd	�}|j|j_t|d
d
d�|_|jjdddd
�|jdddd
�|jjdddddgd�|jdd�i|_d|_||_|j|_d}x.t|j �D] }|�!|�|d|d}�qW|j�|�|j�"d�|�d�|S)N�
extensionsr�)�weightrhZbrowse)ZlistvariableZ
selectmodez<<ListboxSelect>>)ri�)rErDZnws)�column�row�sticky�ns�nsew�
)r�r�r�rk)rer;�{z} )#rGr r[r,�
defaultCfg�ext_defaultCfg�userCfg�ext_userCfg�register�is_int�load_extensionsrZextension_names�rowconfigure�columnconfigurer�extension_list�bind�extension_selectedr)�yview�set�yscrollcommandr!�
details_frame�gridrI�config_frame�current_extensionZ
outerframeZtabbed_page_set�sortedr��create_extension_frameZ
selection_set)rQrG�frameZscrollZ	ext_names�ext_namerTrTrUra�s>





z#ConfigDialog.create_page_extensionsc

Cs^i|_xtjdd�D]}g|j|<qW�x0|jD�]$}t|j�|��}dd�|D�}x|D]}|�|�qZW||}x�|D]�}|jj||dd�}yddd�|}d}WnBtk
r�yt	|�}d	}Wnt
k
r�|}d}YnXYnXy|jj|||d|d
�}Wnt
k
�r|}YnXt|�}	|	�
t|��|j|�|||||	d��qzWq0WdS)NF)Zactive_onlycSsg|]}|�d�r|�qS)Zenable)�
startswith)�.0�opt_namerTrTrU�
<listcomp>>sz0ConfigDialog.load_extensions.<locals>.<listcomp>T)�raw)�True�False�bool�int)�typer��default)�namer�r��value�var)r�r,Z
GetExtensionsr�r�Z
GetOptionList�remove�Get�KeyErrorr��
ValueErrorr�rr��str�append)
rQr�Zopt_listZenablesr�Zdef_strZdef_objZopt_typer�r�rTrTrUr�3sF


zConfigDialog.load_extensionscCs�|j��}|r|j�|�}|dks,||jkrV|jrV|jjdd�|j|j��d|_|r�|jj|d�|j|jdddd�||_dS)Nr;)rVrr�)r�r�r�)	r��curselectionryr�r��configr�Zgrid_forgetr�)rQ�eventZnewselrTrTrUr�as
zConfigDialog.extension_selectedcCs�t|jddd�}||j|<|j}x�t|j|�D]�\}}t||dd�}|j|dtd�|d}|dd	kr�t	||d
ddd
�j|dt
dd�q0|ddkr�t||d|jdfdd�j|dt
dd�q0t||dd�j|dt
dd�q0WdS)Nr�)rDrEr�)rVr)r�r�r�r�r�r�r�r��)�variable�onvalue�offvaluerEr��)r�r�r�rkr��keyz%Pr�)�textvariable�validate�validatecommandrE�)r�rE)�VerticalScrolledFramer�r��interior�	enumerater�r%r�rr#rr$r�r)rQr��fZ
entry_arear��optZlabelr�rTrTrUr�ps$
z#ConfigDialog.create_extension_framecCsX|d}|d}|d����p"|}|d�|�||krH|j�||�S|j�|||�S)Nr�r�r�)ryrr�r�ZRemoveOption�	SetOption)rQ�sectionr�r�r�r�rTrTrU�set_extension_value�sz ConfigDialog.set_extension_valuecCsNd}x6|jD],}|j|}x|D]}|�||�r d}q WqW|rJ|j��dS)NFT)r�r�r�ZSave)rQZhas_changesr��optionsr�rTrTrUrt�s	

z(ConfigDialog.save_all_changed_extensions)r;)�__name__�
__module__�__qualname__rFrKrdrlrmrLrprnrqrurar�r�r�r�rt�
__classcell__rTrT)r|rUr:,s 0(

	>.r:u^<ASCII/Latin1>
AaBbCcDdEeFfGgHhIiJj
1234567890#:+=(){}[]
¢£¥§©«®¶½ĞÀÁÂÃÄÅÇÐØß

<IPA,Greek,Cyrillic>
ɐɕɘɞɟɤɫɮɰɷɻʁʃʆʎʞʢʫʭʯ
ΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκ
БбДдЖжПпФфЧчЪъЭэѠѤѬӜ

<Hebrew, Arabic>
אבגדהוזחטיךכלםמןנסעף
ابجدهوزحطي٠١٢٣٤٥٦٧٨٩

<Devanagari, Tamil>
०१२३४५६७८९अआइईउऊएऐओऔ
௦௧௨௩௪௫௬௭௮௯அஇஉஎ

<East Asian>
〇一二三四五六七八九
汉字漢字人木火土金水
가냐더려모뵤수유즈치
あいうえおアイウエオ
csVeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zddd
�Zdd�Z	dd�Z
�ZS)r^cs0t��|�|j|_|��|��|��dS)N)r{rF�highlight_sample�create_page_font_tab�
load_font_cfg�load_tab_cfg)rQ�masterr])r|rTrUrF�s
zFontPage.__init__cCs�t�t|�|j�|_t�t|�|j�|_t�t|�|j�|_t�t|�d�|_	t
|dtdd�}t
|dtdd�}t
|dtdd�}t|�}t|�}t
|tdd�}t|d	d
td�|_|j�d|j�|j�d
|j�|j�d|j�t|�}|j|jjd�|jj|jd�t
|dd�}t||jd�|_t||jdddd�|_t|�}	|	j|_|jjtddd�|j� t!t"�t
|tdd�}
t#||j	ddddd�|_$|j%ddd�|j&ddd�|j'ddddd�|j'dddddd d!�|j'ddddd"d#�|j(t)ddt*d$�|j(t)ddt*d$�|j(t)t+d%�|jj(tt,t*d&�|j(tt-d'�|j(tt+d%�|jj(tt+d%�|jj(tt+d(d)�|	j(t,t.d*�|
j(t)t+dd)�|j$j(t)dt*d+�dS),N)�main�Indentz
num-spacesrhz Shell/Editor Font )r?�reliefrVz Font Sample (Editable) z Indentation Width zFont Face :)ZjustifyrVr�T)rDrj�exportselectionz<ButtonRelease-1>z<KeyRelease-Up>z<KeyRelease-Down>)ri)r�zSize :)rVr�rZBold)r�r�r�rV)�wraprErDzPython Standard: 4 Spaces!Z
horizontal�)r��orientZtickintervalZfrom_�to)r�r>)r�r�rk�padyrgr�)r�r�Zrowspanrkr�r�Zew)r�r�rkr�r�)rXrkr�rZ)rX�anchor)rXrYrZ)rXrZr@)rXr�rk)rYrZ)rXrkrZ)/rOrbr�var_changed_font�	font_name�	font_sizer�	font_boldr�	space_numr!rr r%rrr
rNr��on_fontlist_selectr)r�r�r�r/�sizelistr#Zbold_toggler9rVrxr�insertrrzrZindent_scaler�r�r�rcrrrr	rr)rQZ
frame_fontZframe_sampleZframe_indentZframe_font_nameZframe_font_paramZfont_name_titleZscroll_fontZfont_size_titleZfont_sample_frameZindent_titlerTrTrUr��sn.zFontPage.create_page_font_tabc	Cs�t�|dd�}|d��}|d}|ddk}ttt�|���}x|D]}|j�t	|�qFW|j
�|�dd�|D�}y>|�|�}|j�|�|j�
|�|j�|�|j�|�Wntk
r�YnX|j�d	|�|j�|�|��dS)
Nr��EditorWindowrr�rhZboldcSsg|]}|���qSrT)�lower)r��srTrTrUr�fsz*FontPage.load_font_cfg.<locals>.<listcomp>)�7�8�9�10�11�12�13�14�16Z18Z20Z22Z25Z29Z34Z40)r,ZGetFontr�r�r��tkFontZfamiliesrNr�rr��index�see�
select_set�
select_anchorZactivater�r��SetMenur��set_samples)	rQZconfigured_fontr�r�r�Zfonts�fontZlc_fontsZcurrent_font_indexrTrTrUr�Us*

zFontPage.load_font_cfgcGsZ|j��}t�ddd|�|j��}t�ddd|�|j��}t�ddd|�|��dS)Nr�r�rz	font-sizez	font-bold)r�ryrr�
add_optionr�r�r)rQ�paramsr�rTrTrUr�ws


zFontPage.var_changed_fontcCs0|j�|jjdkrtnt�}|j�|���dS)NZ
KeyRelease)	rNryr�r�rrr�r�r�)rQr�rrTrTrUr��szFontPage.on_fontlist_selectNcCsH|j��}|j��rtjntj}||j��|f}||jd<||jd<dS)Nr)	r�ryr�r�ZBOLDZNORMALr�rxr�)rQr�r�Zfont_weightZnew_fontrTrTrUr�s


zFontPage.set_samplescCs$tjdddddd�}|j�|�dS)Nr�r�z
num-spaces�r�)r�r�)r,�	GetOptionr�r�)rQr�rTrTrUr��szFontPage.load_tab_cfgcGs|j��}t�ddd|�dS)Nr�r�z
num-spaces)r�ryrrr)rQrr�rTrTrU�var_changed_space_num�s
zFontPage.var_changed_space_num)N)r�r�r�rFr�r�r�r�rr�rr�rTrT)r|rUr^�sp"


r^cs�eZdZ�fdd�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)d*�Z�ZS)+r\cs2t��|�|j|_t|�|_|��|��dS)N)r{rFr��cdr*�style�create_page_highlight�load_theme_cfg)rQr�)r|rTrUrF�s

zHighPage.__init__cs2ddddddddd	d
ddd
dddd��_t�t���j��_t�t���j��_t���_	t�t���j
��_t�t���j��_
t�t���j��_t�dtdd�}t�dtdd�}t|tdd�}|j}�_|jddddtdtd�|�ddd��|�dd d��d!}x |D]\}}|�t||��qWt|�d"t����}x>td|�D]0}	|�|	�d#�|	tt |���d$��d%�d&��qNWx8�jD].}
|
f�fd'd(�	}|�!�j|
dd)|��q�Wd*|d+<�j"jd,dd-d.�t#|d,d/��_$t#|�}t%�j$d0�j&d1��_'t(�j$�jddd2��_)t*|�j	dd3�j+d4��_,t*|�j	dd5�j+d4��_-�j	�.d�t%|d6�j/d1��_0t1|d7d8�}
t*|�j
d�j2d9d:��_3t*|�j
d�j2d;d:��_4t(|�jddd<��_5t(|�jddd<��_6t%|d=�j7d1��_8t1|dd>��_9|j:t;d?d?t<t=d@�|j:t>d?d?t?dA��j$j:t>d?d?t?dA�|j:t>d?ddB�|j:t>d?d?t<t=d@��j'j:t>t<t?dCdDdE��j)j:t>t<t?dCdFdE��j,j:t;t@dG��j-j:tAtBdG��j0j:tCt?d?d?dH�|
j:t>tBd?d?dI��j3j:t>tBd?dJ��j4j:t>tBd?ddI��j5j:t>t?d?d?dH��j6j:t>t?tBd?d?dK��j8j:t>t?d?d?dH��j9j:t>t?d?dL�dS)MN)�normalZ00)�contextZ01)�keywordZ02)�
definitionZ03)�builtinZ04)�commentZ05)�stringZ06)�hiliteZ07)�hitZ08)�cursorZ09)�breakr�)�consoler�)�errorr�)�stdoutr�)�stderrr�)�
linenumberr�)zNormal Code or TextzCode ContextzPython KeywordszPython DefinitionszPython BuiltinszPython CommentszPython Stringsz
Selected Textz
Found Text�CursorzEditor BreakpointzShell Promptz
Error TextzShell User OutputzShell User ExceptionzLine Numberrhz Custom Highlighting )r?r�rVz Highlighting Theme r�)r�r?)Zcourier�r;Zhand2r)rrrErDrj�highlightthicknessr�z<Double-Button-1>cSsdS)NrrT)�erTrTrU�<lambda>X�z0HighPage.create_page_highlight.<locals>.<lambda>z<B1-Motion>cSsdS)NrrT)rrTrTrUr Yr!)")z# Click selects item.r)�
r)zcode context sectionr
)r"r)z| cursorr)r"r)�defr)� r)�funcr)z(param):
  r)z"Return None."r)z

  var0 = r)z'string'r)z

  var1 = r)z
'selected'r)z

  var2 = r)z'found'r)z

  var3 = r)�listr)�(r)�Noner)z)
r)z  breakpoint("line")r)z

r)z>>>r)z	 3.14**2
r)z9.8596r)r"r)z>>>r)z pri r)�nr)zt(
r)�SyntaxErrorr)r"rz1.0z.0�dr$rcs�j�|�dS)N)�highlight_targetr�)r��elem)rQrTrU�temtsz+HighPage.create_page_highlight.<locals>.temz<ButtonPress-1>�disabled�statezframe_color_set.TFrameZsolid)r?r�)r	zChoose Color for :)rVri)rZ
Foreground)r�r�rVriZ
BackgroundzSave as New Custom Themez	Select : )rVza Built-in Theme)r�r�rirVza Custom Theme)rizDelete Custom Theme)r?r>)rXrkr�rYrZ)rXrkr�rZ)rXrkr�r�r)rXrYrZrkr�rg)rXr�)rXrZrkr�)rXr�rkr�)rXr�rk)rXrZr�rkr�)rXrZr�)D�theme_elementsrOrbr�var_changed_builtin_name�builtin_name�var_changed_custom_name�custom_namer�fg_bg_toggle�var_changed_color�color�var_changed_theme_source�theme_source�var_changed_highlight_targetr,r!rr9rrVr�rIr
rr�r�r�lenry�
splitlines�ranger�Ztag_bindr	r �frame_color_setr"�	get_colorZbutton_set_colorr/�
targetlistr(�set_color_sample_binding�fg_on�bg_onr��save_as_new_themeZbutton_save_customr%�set_theme_typeZbuiltin_theme_on�custom_theme_on�builtinlist�
customlist�
delete_custom�button_delete_custom�
theme_messagercrr	rrrrr
rr)rQ�frame_customZframe_themeZsample_framerVZstring_tagsr�tagZn_lines�lineno�elementr.Zframe_fg_bg_toggleZtheme_type_titlerT)rQrUr
�s�v




zHighPage.create_page_highlightc	s.�j�tjdddddd��t��}�j��r�t�dd�}|���j�	||�t�dd�}|��|s��j
�d	��j�d
�qވj
�	||d�nHt�dd�}|���j
�	||�t�dd�}|���j�	||d����t�j���}|j�fdd
�d��j�	||d�������dS)Nr��Themer�r�r�)r�r��	highlight�user)r/z- no custom themes -rcs�j|dS)Nr�)r1)rR)rQrTrUr �r!z)HighPage.load_theme_cfg.<locals>.<lambda>)r�)r:r�r,rZCurrentThemery�GetSectionList�sortrHrrGr0r5rIrFr&r1r�rA�paint_theme_sample�set_highlight_target)rQ�current_option�	item_listZtheme_namesrT)rQrUr�s2

zHighPage.load_theme_cfgcGs�d}|j��}||krXt�ddd�|kr<t�ddd|d�t�ddd|�d|jd<n*t�ddd|�t�dddd	�d	|jd<|��dS)
N)zIDLE ClassiczIDLE Newr�rQr�r�name2zNew theme, see HelprVr;)r3ryr,rrrrrLrV)rQrZ
old_themesr�rTrTrUr2�s

z!HighPage.var_changed_builtin_namecGs.|j��}|dkr*t�ddd|�|��dS)Nz- no custom themes -r�rQr�)r5ryrrrrV)rQrr�rTrTrUr4�s
z HighPage.var_changed_custom_namecGs4|j��}t�ddd|�|r(|��n|��dS)Nr�rQr�)r:ryrrrr2r4)rQrr�rTrTrUr9s


z!HighPage.var_changed_theme_sourcecGs|��dS)N)�on_new_color_set)rQrrTrTrUr7szHighPage.var_changed_colorcGs|��dS)N)rW)rQrrTrTrUr;sz%HighPage.var_changed_highlight_targetcCs\|j��r,d|jd<d|jd<|j�d�n,d|jd<|j�d�d|jd<|j�d�dS)Nrr0r/)r/)z	!disabled)r:ryrHrIrKr0rG)rQrTrTrUrFs




zHighPage.set_theme_typecCs�|j��}|j�|jdd�}tj|d||d�\}}|r�||kr�|j��rzd}|�|�}|sbdS|�	|�|j
�|�n|j
�|�dS)Nr	�
backgroundzPick new color for : )rGrJZinitialcolorz_Your changes will be saved as a new Custom Theme. Enter a name for your new Custom Theme below.)r,ryr	�lookupr?�tkColorChooserZaskcolorr:�get_new_theme_name�
create_newr8r�)rQ�targetZ
prev_colorZ	rgbTupletZcolor_string�message�	new_themerTrTrUr@8s



zHighPage.get_colorcCs~|j��}|jjd|d�|j��r(dnd}|j|j��d}|jj|f||i�|j	��}|d|}t
�d|||�dS)Nzframe_color_set.TFrame)r\�
foregroundr\r�-rR)r8ryr	rIr6r1r,r��
tag_configr5rrr)rQZ	new_color�planeZsample_element�themeZ
theme_elementrTrTrUr[^s

zHighPage.on_new_color_setcCs,t�dd�t�dd�}t|d||�j}|S)NrSrRr�zNew Custom Theme)r,rTr1�result)rQrb�
used_namesrcrTrTrUr_is

zHighPage.get_new_theme_namecCs|�d�}|r|�|�dS)NzNew Theme Name:)r_r`)rQ�new_theme_namerTrTrUrEqs
zHighPage.save_as_new_themecCs�|j��rd}|j��}nd}|j��}t�||�}|tdkrftd|}x|D]}||||<qRW|�||�t�dd�}|�	�|j
�||�|j�d�|�
�dS)Nr�rSrRr)r:ryr3r5r,ZGetThemeDictrr�save_newrTrUrIrr�rF)rQrkZ
theme_type�
theme_namercZ
theme_changesrPZcustom_theme_listrTrTrUr`|s 


zHighPage.create_newcCsd|j��dkr4|j�d�|j�d�|j�d�n$|j�d�|j�d�|j�d�|��dS)Nr)r/r�)z	!disabled)r,ryrCr0rDr6r��set_color_sample)rQrTrTrUrW�szHighPage.set_highlight_targetcGs|��dS)N)rn)rQ�argsrTrTrUrB�sz!HighPage.set_color_sample_bindingcCsH|j|j��d}|j��r"dnd}|j�||�}|jjd|d�dS)Nrrdr\zframe_color_set.TFrame)r\)r1r,ryr6r�Ztag_cgetr	rI)rQrNrgr8rTrTrUrn�s
zHighPage.set_color_samplecCs�|j��r|j��}n
|j��}x�|jD]�}|j|d}t�||�}|dkrbt�|d�d|d<|tdkr�td|}|d|kr�||d|d<|d|kr�||d|d<|jj	|f|�q(W|�
�dS)	Nrrrr\rRz-foregroundrdz-background)r:ryr3r5r1r,ZGetHighlightrrr�rfrn)rQrhZ
element_titlerPZcolorsZ
theme_dictrTrTrUrV�s"

zHighPage.paint_theme_samplecCs>tjd�|�x(|D] }||}tjd�|||�qWdS)NrR)r,r��
AddSectionr�)rQrmrhrPr�rTrTrUrls
zHighPage.save_newcOstj||�S)N)r+�askyesno)rQro�kwargsrTrTrUrq
szHighPage.askyesnocCs�|j��}d}|jd|||d�s&dS|j��t�d|�t�dd�}|�	�|sp|j
�d�|j�
|d�n|j�
||d�|j�tjd	�d
d��|j�tjd	�d
d��t��|j��|j��|��dS)
Nz.Are you sure you wish to delete the theme %r ?zDelete Theme)rGrRrS)r/z- no custom themes -rr�rQr�r�)r5ryrqrrqrr�delete_sectionr,rTrUrGr0rIrr:r�r�r�r3rsrtrurF)rQrm�delmsgrYrTrTrUrJs&



zHighPage.delete_custom)r�r�r�rFr
rr2r4r9r7r;rFr@r[r_rEr`rWrBrnrVrlrqrJr�rTrT)r|rUr\�s.4
&((r\cs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zedd��Zdd �Zd!d"�Z�ZS)#r_cs(t��|�|j|_|��|��dS)N)r{rFr�r�create_page_keys�load_key_cfg)rQr�)r|rTrUrFCszKeysPage.__init__cs"t�t|�|j�|_t�t|�|j�|_t�t|�|j�|_	t�t|�|j
�|_t|dt
dd�}t|dt
dd��t|�}t|dd�}t|�}t|td�}t|ttd�|_|j�d	|j�|jj|d
<|jj|d
<|j|jd<|j|jd<t|d
|jdd�|_�fdd�td�D�}t|d|j	d|jdd�|_ t|d|j	d|jdd�|_!t"|d|jddd�|_#t"|d|jddd�|_$t|dd|j%d�|_&t|dd|j'd�|_(t|ddd�|_)|j*t+ddt,t-d��j*t+ddt-d�|jj*t+t.ddd�|j*t/ddt,t-d�|j0ddd �|j1ddd �|j2dddt3d!�|jj2ddt4d"�|j2ddt5d"�|j2ddt6d"�|j j2ddt3t5d"�|j!j2ddt3t5d"�|j#j2ddt4d"�|j$j2ddt4d"�|j)j2ddt4ddd#�|j&j*t/t.d$dd%�|j(j*t/t.d$dd%�|dj*t7t-d$d&�|dj*t7t.d$dd'�dS)(Nrhz Custom Key Bindings )r?r�rVz	 Key Set zAction - Key(s))rV)r�)rjr�z<ButtonRelease-1>rir�ZxscrollcommandzGet New Keys for Selectionr/)rVrir0csg|]}t�ddd��qS)rhr)rer?)r )r��i)�frame_key_setsrTrUr��sz-KeysPage.create_page_keys.<locals>.<listcomp>rr�zUse a Built-in Key Set)r�r�rirVzUse a Custom Key Set)rizDelete Custom Key Set)rVrizSave as New Custom Key Set)r?r>)rXrkr�rYrZ)rXrkr�rZ)rXrZrkr�)r�)r�r�Z
columnspanr�)r�r�r�)r�r�r�rkr�T)rXrZrYrk)rXrZrY)rXrZrYr�)8rOrbrr2r3r4r5r�var_changed_keyset_source�
keyset_source�var_changed_keybinding�
keybindingr!rr r%r)rrr
�bindingslistr��on_bindingslist_selectr�Zxviewr�r"�get_new_keys�button_new_keysr>r(�
set_keys_typeZbuiltin_keyset_on�custom_keyset_onr/rHrI�delete_custom_keys�button_delete_custom_keys�save_as_new_key_setZbutton_save_custom_keys�keys_messagercrr	rrrr�r�r�rrrrr)rQrMZframe_targetZtarget_titleZscroll_target_yZscroll_target_xZframesrT)rxrUruIs�R
zKeysPage.create_page_keysc	Cs�|j�tjdddddd��t��}|j��r�t�dd�}|��|j�	||�t�dd�}|��|s�|j
�d	�|j�d
�q�|j
�	||d�nHt�dd�}|��|j
�	||�t�dd�}|��|j�	|t���|��t��}|�|�dS)Nr��Keysr�r�r�)r�r�r�rS)r/z- no custom keys -r)rzr�r,rZCurrentKeysryrTrUrHrr�r0r5rI�default_keysr��load_keys_list)rQrXrY�keyset_namerTrTrUrv�s,

zKeysPage.load_key_cfgcGs�d}|j��}||krXt�ddd�|kr<t�ddd|d�t�ddd|�d|jd<n*t�ddd|�t�dddd	�d	|jd<|�|�dS)
N)zIDLE Classic WindowszIDLE Classic UnixzIDLE Classic MaczIDLE Classic OSXr�r�r�rrZzNew key set, see HelprVr;)r3ryr,rrrrr�r�)rQrZold_keysr�rTrTrUr2s

z!KeysPage.var_changed_builtin_namecGs0|j��}|dkr,t�ddd|�|�|�dS)Nz- no custom keys -r�r�r�)r5ryrrrr�)rQrr�rTrTrUr4s
z KeysPage.var_changed_custom_namecGs4|j��}t�ddd|�|r(|��n|��dS)Nr�r�r�)rzryrrrr2r4)rQrr�rTrTrUry#s


z"KeysPage.var_changed_keyset_sourcecGsj|j��}|j��}|j�t���d}t�|�rDt�	d|||�n"t�
|�}|d}t�	d|||�dS)Nrr�Z_cfgBindingsr�)r|ryr5r}r�splitr,Z
IsCoreBindingrrrZGetExtnNameForEvent)rQrr�Zkey_setr�r�Zext_keybind_sectionrTrTrUr{,s



zKeysPage.var_changed_keybindingcCs\|j��r,d|jd<d|jd<|j�d�n,d|jd<|j�d�d|jd<|j�d�dS)Nrr0r/)r/)z	!disabled)rzryrHrIr�r0r�)rQrTrTrUr�8s




zKeysPage.set_keys_typecCsJ|j�t�}|j�|�}|��d}|j��r:|j��}n
|j��}t�	�}|t
dkr�t
d|}x|D]}||��||<qjWt|���}t
|d||�j}	|	�r.|j��r�d}
|�|
�}|s�|j�|�|j�|�dS|�|�|j�|�|j�||d|	�|j�|�|j�|�|j�|	�n|j�|�|j�|�dS)Nrr�zGet New KeyszcYour changes will be saved as a new Custom Key Set. Enter a name for your new Custom Key Set below.z - )r}r�rryr�rzr3r5r,ZGetCurrentKeySetrrr&�valuesr.ri�get_new_keys_namer�r��create_new_key_set�deleter�r|r�)rQ�
list_index�binding�	bind_nameZcurrent_key_set_nameZcurrent_bindings�key_set_changesr�Zcurrent_key_sequences�new_keysrb�
new_keysetrTrTrUrDs<	





zKeysPage.get_new_keyscCs,t�dd�t�dd�}t|d||�j}|S)NrSr�r�zNew Custom Key Set)r,rTr1ri)rQrbrjr�rTrTrUr�ps

zKeysPage.get_new_keys_namecCs|�d�}|r|�|�dS)NzNew Key Set Name:)r�r�)rQZ
new_keys_namerTrTrUr�xs
zKeysPage.save_as_new_key_setcCs|j�d�dS)N)z	!disabled)r�r0)rQr�rTrTrUr~~szKeysPage.on_bindingslist_selectc
Cs�|j��r|j��}n
|j��}t�|�}i}x.|D]&}|dd�}d�||�}|||<q4W|tdkr�td|}x|D]}||||<q|W|�||�t�	dd�}	|	�
�|j�|	|�|j�
d�|��dS)Nrh���r$r�rSr)rzryr3r5r,ZGetCoreKeys�joinrr�save_new_key_setrTrUrIrr�r�)
rQZnew_key_set_nameZprev_key_set_nameZ	prev_keysr�r�Z
event_namer�r�Zcustom_key_listrTrTrUr��s&




zKeysPage.create_new_key_setcCs�d}|j��rd}|j�t�}t�|�}t|���}|��|j�	dt
�xh|D]`}d�||�}|dd�}|tdkr�|td|kr�td||}|j�
t
|d|�qPW|r�|j�|�|j�|�|j�|�dS)	NFTrr$rhr�r�z - )r}r�r�rr,Z	GetKeySetr&r�rUr�rr�rrr�r�r�r�)rQr�Zreselectr��keysetZ
bind_namesr�r�rTrTrUr��s&


zKeysPage.load_keys_listcCs>tjd�|�x(|D] }||}tjd�|||�qWdS)Nr�)r,r�rpr�)r�r�r�r�rTrTrUr��s
zKeysPage.save_new_key_setcOstj||�S)N)r+rq)rQrorrrTrTrUrq�szKeysPage.askyesnocCs�|j��}d}|jd|||d�s&dS|j��t�d|�t�dd�}|�	�|sp|j
�d�|j�
|d�n|j�
||d�|j�tjd	�d
d��|j�tjd	�d
d�p�t���t��|j��|j��|��dS)
Nz0Are you sure you wish to delete the key set %r ?zDelete Key Set)rGr�rS)r/z- no custom keys -rr�r�r�r�)r5ryrqrrqrrrsr,rTrUr�r0rIrrzr�r�r�r3r�rsrtrur�)rQr�rtrYrTrTrUr��s*





zKeysPage.delete_custom_keys)r�r�r�rFrurvr2r4ryr{r�rr�r�r~r�r��staticmethodr�rqr�r�rTrT)r|rUr_As$!	,r_csdeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Z�Z
S)r`cs(t��|�|��|��|��dS)N)r{rF�init_validators�create_page_general�load_general_cfg)rQr�)r|rTrUrF�szGenPage.__init__cs*t�d���fdd�}|�|�df|_dS)Nz[0-9]*cs��|�dk	S)N)�	fullmatch)r�)�digits_or_empty_rerTrU�is_digits_or_empty�sz3GenPage.init_validators.<locals>.is_digits_or_emptyz%P)�re�compiler��digits_only)rQr�rT)r�rUr��s
zGenPage.init_validatorsc Cs�t�t|�d�|_t�t|�d�|_t�t|�d�|_t�t|�d�|_t�t|�d�|_	t�t|�d�|_
t�t|�d�|_t�t|�d�|_t�t|�d	�|_
t�t|�d
�|_t�t|�d�|_t�t|�d�|_t�t|�d
�|_t|dtdd�}t|dtdd�}t|dtdd�}t|dtdd�}t|dd�}t|dd�}t||jddd�|_t||jddd�|_t|dd�}t|dd�}t|dd�}	t||jd|jdd �|_t|d!d�}
t||jd|jdd �|_t|dd�}t|d"d�}t||jdd#�|_t|dd�}
t|
d$d�}t|
d%|j	|jdd&�|_t|dd�}t|d'd�}t ||j
d(d)d*d(�|_!t|dd�}t|d+d�}t||jd%d,�|_"t|d-|jd.�|_#t|dd�}t|d/d�}t||jdd0d�|_$t||jdd1d�|_%t|dd�}t|d2d�}t||jd3|jdd �|_&t|dd�}t|d4d�}t||jdd#�|_'t|dd�}t|d5d�}t||jd|jdd �|_(t|dd�}t|d6d�}t|d3|j
|jdd&�|_)t|�}t|�}t*|d7d8t+d9�|_,t-|�}|j,j.|d:<|j/|j,d;<|j,�0d<|j1�t2|d=d>d?|j3d@�|_4t2|dAd?|j5dB�|_6t2|dCd>d?|j7d@�|_8|j9t:d7d7t;t<dD�|j9t:d7d7t;t<dD�|j9t:d7d7t;t<dD�|j9t:d7d7t;t<dD�|j9t:d7dt=dE�|j9t>t?d7d7dF�|jj9t@t?d7d7dF�|jj9t@t?d7d7dF�|j9t:d7dt=dE�|j9t>t?d7d7dF�|jj9t@tAdGd7dF�|
j9t@tAd7dH�|jj9t@tAdGd7dF�|	j9t@tAd7dH�|j9t:d7dt=dE�|j9t>t?d7d7dF�|jj9t>d7d7dI�|
j9t:d7dt=dE�|j9t>t?d7d7dF�|jj9t:dGd7dI�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j!j9t:dGd7dI�|j9t:d7dt=dE�|j9t>t?d7dJ�|j#j9t@tAdKd7dF�|j"j9t:t?dKd7dF�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j%j9t@t?d7d7dF�|j$j9t@t?d7d7dF�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j&j9t:dGd7dI�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j'j9t>d7d7dI�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j(j9t:d7d7dI�|j9t:d7dt=dE�|j9t>t?d7d7dF�|j)j9t:d7d7dI�|j9t@d7d7tBdE�|j9t:d7d7t;t<dD�|j9t@t?tBdL�|j,j9t>tAt;t<dM�|j4j9t:t?d7dH�|j6j9t:t?dN�|j8j9t:t?d7dH�dS)ON)r��Generalzeditor-on-startup)r�r�rE)r�r�rD)r�r�zcursor-blink)r�r4�	popupwait)r�r6r	)r�r6zflash-delay)r�r6�bell)r��PyShellzauto-squeeze-min-lines)r�r��autosave)r�r7z	max-width)r�r�zline-numbers-default)r�r5�maxlinesrhz Window Preferences)r?r�rVz Editor Preferencesz Shell Preferencesz Additional Help Sources r)r?z
At Startup)rVr�zOpen Edit Window)r�r�rVzOpen Shell Windowz$Initial Window Size  (in characters)ZWidthrgr�)r�rEr�r�ZHeightzCursor Blink)r�rEz%Completions Popup Wait (milliseconds)rf)rEr�r�r�zParen Match StyleZ
expression�openerZparensz;Time Match Displayed (milliseconds)
(0 is until next input))r�rEzBell on Mismatch)rVr�zAt Start of Run (F5)  zPrompt to Savez	No PromptzFormat Paragraph Max Widthrz Show line numbers in new windowszMax Context Lines :zAuto-Squeeze Min. Lines:r>T)rDrjr�rir�z<ButtonRelease-1>ZEditr/r�)rVr0rEriZAdd)rVrEriZRemove)rXrkr�rYrZ)rXrkr�rZ)rXr�rkr�r�)rXr�r�)rXrkr�)rXr�rkr�)rXr�rZ)rXr�rYrZ)rXr�)CrOrbr�startup_editr�	win_width�
win_heightr�cursor_blink�autocomplete_wait�paren_style�flash_delay�
paren_bell�auto_squeeze_min_linesr��format_width�line_numbers_default�
context_linesr!rr r%r(Zstartup_editor_onZstartup_shell_onr$r�Z
win_width_intZwin_height_intr#Zcursor_blink_boolZ
auto_wait_intr&Zparen_style_typeZparen_flash_timeZbell_onZsave_ask_onZsave_auto_onZformat_width_intZline_numbers_default_boolZcontext_intZauto_squeeze_min_lines_intrr
�helplistr)r�r�r��help_source_selectedr"�helplist_item_edit�button_helplist_edit�helplist_item_addZbutton_helplist_add�helplist_item_remove�button_helplist_removercrr	rrrrr
rr) rQZframe_windowZframe_editorZframe_shellZ
frame_helpZ	frame_runZ
startup_titleZframe_win_sizeZwin_size_titleZwin_width_titleZwin_height_titleZframe_cursor_blinkZcursor_blink_titleZframe_autocompleteZauto_wait_titleZframe_paren1Zparen_style_titleZframe_paren2Zparen_time_titleZ
frame_saveZrun_save_titleZframe_formatZformat_width_titleZframe_line_numbers_defaultZline_numbers_default_titleZ
frame_contextZ
context_titleZframe_auto_squeeze_min_linesZauto_squeeze_min_lines_titleZframe_helplistZframe_helplist_buttonsZscroll_helplistrTrTrUr�sdH









zGenPage.create_page_generalc	Cs�|j�tjddddd��|j�tjddddd��|j�tjddd	dd��|j�tjddd
dd��|j�tjddd
dd��|j�t�ddd��|j	�tjddddd��|j
�t�ddd��|j�tjdddddd��|j�tjddddd��|j
�tjddddd��|j�tjddddd��|j�tjddddd��t��|_|j�dd�x"|jD]}|j�t|d��qlW|��dS)Nr�r�zeditor-on-startupr�)r�r�rEr�rDzcursor-blinkr�r4r�r6r	zflash-delayr�r�r)r�r�r7z	max-widthzline-numbers-defaultr5r�r�zauto-squeeze-min-linesrw)r�r�r,rr�r�r�r�r�r�r�r�r�r�r�r�ZGetAllExtraHelpSourcesList�
user_helplistr�r�r�r�set_add_delete_state)rQZ	help_itemrTrTrUr�'s>













zGenPage.load_general_cfgcCs|��dS)N)r�)rQr�rTrTrUr�PszGenPage.help_source_selectedcCsh|j��dkr(|j�d�|j�d�n<|j��rL|j�d�|j�d�n|j�d�|j�d�dS)Nr�)r/)z	!disabled)r��sizer�r0r�r�)rQrTrTrUr�Ts
zGenPage.set_add_delete_statecCs:t|d�j}|r6|j�|�|j�t|d�|��dS)NzNew Help Sourcer)r2rir�r�r�r�r�update_help_changes)rQ�help_sourcerTrTrUr�as
zGenPage.helplist_item_addcCsx|j�t�}|j|}t|d|d|dd�j}|rt||krt||j|<|j�|�|j�||d�|��|�	�dS)NzEdit Help Sourcerr�)Zmenuitem�filepath)
r�r�rr�r2rir�r�r�r�)rQ�
item_indexr�Znew_help_sourcerTrTrUr�ms

zGenPage.helplist_item_editcCs4|j�t�}|j|=|j�|�|��|��dS)N)r�r�rr�r�r�r�)rQr�rTrTrUr��s
zGenPage.helplist_item_removecCsZitdd<xHtdt|j�d�D]0}t�ddt|�d�|j|ddd���q"WdS)Nr�Z	HelpFilesr��;rh)rrr>r<r�rr�r�)rQZnumrTrTrUr��s

zGenPage.update_help_changes)r�r�r�rFr�r�r�r�r�r�r�r�r�r�rTrT)r|rUr`�s()
r`c@s@eZdZdd�Zdd�Zdd�Zedd��Zd	d
�Zdd�Z	d
S)�VarTracecCsg|_g|_dS)N)�untraced�traced)rQrTrTrUrF�s	zVarTrace.__init__cCs|j��|j��dS)N)r�rvr�)rQrTrTrUrv�s
zVarTrace.clearcCs*t|t�r|�||�}|j�||f�|S)N)�
isinstance�tuple�
make_callbackr�r�)rQr��callbackrTrTrUrb�s
zVarTrace.addcs��fdd�}|S)Ncstj����f��dS)N)rrrry)r)r�r�rTrU�default_callback�sz0VarTrace.make_callback.<locals>.default_callbackrT)r�r�r�rT)r�r�rUr��szVarTrace.make_callbackcCs:x4|jr4|j��\}}|�d|�|j�||f�qWdS)N�write)r��popZ	trace_addr�r�)rQr�r�rTrTrUrP�szVarTrace.attachcCsFx@|jr@|j��\}}|�d|��dd�|j�||f�qWdS)Nr�rr�)r�r�Ztrace_removeZ
trace_infor�r�)rQr�r�rTrTrU�detach�szVarTrace.detachN)
r�r�r�rFrvrbr�r�rPr�rTrTrTrUr��sr�a7When you click either the Apply or Ok buttons, settings in this
dialog that are different from IDLE's default are saved in
a .idlerc directory in your home directory. Except as noted,
these changes apply to all versions of IDLE installed on this
machine. [Cancel] only cancels changes made since the last save.
u
Font sample: This shows what a selection of Basic Multilingual Plane
unicode characters look like for the current font selection.  If the
selected font does not define a character, Tk attempts to find another
font that does.  Substitute glyphs depend on what is available on a
particular system and will not necessarily have the same size as the
font selected.  Line contains 20 characters up to Devanagari, 14 for
Tamil, and 10 for East Asia.

Hebrew and Arabic letters should display right to left, starting with
alef, א and ا.  Arabic digits display left to right.  The
Devanagari and Tamil lines start with digits.  The East Asian lines
are Chinese digits, Chinese Hanzi, Korean Hangul, and Japanese
Hiragana and Katakana.

You can edit the font sample. Changes remain until IDLE is closed.
z�
Highlighting:
The IDLE Dark color theme is new in October 2015.  It can only
be used with older IDLE releases if it is saved as a custom
theme, with a different name.
z�
Keys:
The IDLE Modern Unix key set is new in June 2016.  It can only
be used with older IDLE releases if it is saved as a custom
key set, with a different name.
a_
General:

AutoComplete: Popupwait is milliseconds to wait after key char, without
cursor movement, before popping up completion box.  Key char is '.' after
identifier or a '/' (or '\' on Windows) within a string.

FormatParagraph: Max-width is max chars in lines after re-formatting.
Use with paragraphs in both strings and comment blocks.

ParenMatch: Style indicates what is highlighted when closer is entered:
'opener' - opener '({[' corresponding to closer; 'parens' - both chars;
'expression' (default) - also everything in between.  Flash-delay is how
long to highlight if cursor is not moved (0 means forever).

CodeContext: Maxlines is the maximum number of code context lines to
display when Code Context is turned on for an editor window.

Shell Preferences: Auto-Squeeze Min. Lines is the minimum number of lines
of output to automatically "squeeze".
)z
Fonts/TabsrWr�r�cCs.|sdSyt|�dStk
r(dSXdS)NTF)r�r�)r�rTrTrUr�	sr�c@seZdZdd�ZdS)r�cs�tj||f|�|�t|td�}|jtttd�t|dd|j	dd���jt
ttd�|j
�jd���d���d�t��|_��jdd�td����fd	d
�}��d|����fdd
�}��d|�dS)N)r�)rZrXrYr��)r?rr�rE)rXrZrY)ri)Zwindowr�cs$������f}�jd|d�dS)Nz	0 0 %s %s)Zscrollregion)�winfo_reqwidthZwinfo_reqheightr�)r�r�)�canvasr�rTrU�_configure_interior8	sz;VerticalScrolledFrame.__init__.<locals>._configure_interiorz<Configure>cs&������kr"�j����d�dS)N)rE)r�Zwinfo_widthZ
itemconfigure)r�)r�r��interior_idrTrU�_configure_canvas>	sz9VerticalScrolledFrame.__init__.<locals>._configure_canvas)r rFr)rrcrr
r
rr�rrr	r�r�Zxview_movetoZyview_movetor�Z
create_windowrr�)rQrGro�kwZ
vscrollbarr�r�rT)r�r�r�rUrF#	s 

zVerticalScrolledFrame.__init__N)r�r�r�rFrTrTrTrUr�	sr��__main__)r�z#idlelib.idle_test.test_configdialogrhF)�	verbosity�exit)�run)_r�Ztkinterrrrrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrZtkinter.ttkr r!r"r#r$r%r&r'r(r)r*Ztkinter.colorchooserZcolorchooserr^Ztkinter.fontrr�r+Zidlelib.configr,r-Zidlelib.config_keyr.Zidlelib.dynoptionr/Zidlelibr0Z
idlelib.queryr1r2Zidlelib.textviewr3Zidlelib.autocompleter4Zidlelib.codecontextr5Zidlelib.parenmatchr6Zidlelib.formatr7Zidlelib.squeezerr8r9rrr�r:rzr^r\r_r`r�rOr�r�r�r�r�Zunittestr�Zidlelib.idle_test.htestr�rTrTrTrU�<module>sn�4S3'=+


Hacked By AnonymousFox1.0, Coded By AnonymousFox