{fc@sddlZddlZddlZddlZddlZddlTddlZddlZddlZddl m Z ddl m Z ddl m Z ddl mZddl mZddl mZdd lmZdd l mZmZmZdd l mZdd l mZd ZdejZdZedZdefdYZeZ defdYZ!dZ"dZ#ddl$Z$e$Z%[$defdYZ&dZ'idd6dd6dd6Z(d Z)d!Z*d"Z+e,d#krdd$l-m.Z.e.e+ndS(%iN(t*(tMultiCallCreator(t WindowList(t SearchDialog(t GrepDialog(t ReplaceDialog(tPyParse(tidleConf(t aboutDialogttextViewt configDialog(t macosxSupport(thelpis (%s)cCstj\}}}}}d||f}|rB|d|f7}n|dkrb|d|f7}n'|dkr|d|d|f7}n|S(sYFormat sys.version_info to produce the Sphinx version string used to install the chm docss%s%ss%st candidatesrc%stfinali(tsyst version_info(tmajortminortmicrotleveltserialtrelease((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt_sphinx_versions  c CsSd}x|jdD]}|dk r5|jntj||\}}}|dtjkrgPntj||||}y |j}Wqtk rt d|j qXqW|dtjkrFt |}y |j }Wntk rqFXd}t jj|\}} | dkr'd} n|| }|dtjf}n|||fS(sCVersion of imp.find_module() that handles hierarchical module namest.isNo source for module s.pycs.pyN(tNonetsplittclosetimpt find_modulet PY_SOURCEt load_modulet__path__tAttributeErrort ImportErrort__name__t __import__t__file__tostpathtsplitext( tfullnameR'tfilettgttfilenametdescrtmoduletmtbasetext((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt _find_module's2          t HelpDialogcBs;eZdZddZdZdZddZRS(cCsd|_d|_dS(N(Rtparenttdlg(tself((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt__init__Js cCs[ddl}|jdtdd|jdkrA|j|n|rW|j|ndS(s Display the help dialog. parent - parent widget for the help window near - a Toplevel widget (e.g. EditorWindow or PyShell) to use as a reference for placing the help window iNsEditorWindow.HelpDialog is no longer used by Idle. It will be removed in 3.6 or later. It has been replaced by private help.HelpWindow t stackleveli(twarningstwarntDeprecationWarningR5Rt show_dialogt nearwindow(R6R4tneartw((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytdisplayNs   cCsr||_tjjtjjtjjtd}tj|d|dt |_ }|j d|j ddS(Nshelp.txttHelptmodals t+( R4R&R'tjointabspathtdirnameR%R t view_filetFalseR5tbindtdestroy(R6R4tfnR5((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR<`s -"cCs\|j}|jd|jdf}|j|jd||j|jdS(Ni s=+%d+%d(R5t winfo_rootxt winfo_rootytwithdrawtgeometryt deiconifytlift(R6R>R5tgeom((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR=fs     cCsd|_d|_dS(N(RR5R4(R6tev((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRJqs N(R#t __module__R7RR@R<R=RJ(((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR3Hs     t EditorWindowcBskeZddlmZddlmZddlmZddlm Z m Z m Z ddl m Z ddlmZddlmZd{Zd{d{d{d{dZd Zd Zd Zd Zd{d Zd|d}d~ddddgZdZdZd{ZdZdgZd!Z d"Z!d#Z"d$Z#d{d%Z$d{d&Z%d{d'Z&d{d(Z'd)Z(d*Z)d+Z*d{d,Z+d{d-Z,d.Z-d/Z.d0Z/d1Z0d2Z1d3Z2d4Z3d5Z4d6Z5d{d7Z6d{d8Z7d{d9Z8d:Z9d;Z:d<Z;d=Z<d>Z=d?Z>d@Z?dAZ@dBZAdCZBdDZCdEZDdFZEdGZFd{dHZGdIZHdJZIdKZJdLZKdMZLdNZMdOZNdPZOdQdRZPdSZQdQdTZRdUZSdVZTdWZUdXZVdYZWdZZXd[ZYd\ZZd]Z[d^Z\d{d_Z]d{d{d`Z^daZ_d{dbZ`d{dcZaddZbdeZcdfZddgZeefdhZgdiZhdjZidkZjdlZkdmZldnZmdoZndpZodqZpdrZqdsZrdtZsduZtdvZudwZvdxZwdyZxdzZyRS(i(t Percolator(tColorDelegator(t UndoDelegator(t IOBindingtfilesystemencodingtencoding(tBindings(tToplevel(tMultiStatusBarcCs tjdkrvtjjtjdd}tjj drddtj d }tjj drld}q d }tjj||dd}n}tjd d krtjjtjdd t }tjj |r |}q n*tjd kr tjjtjd }ntjj|}tjj |r_|t_tjd krsdtjt_qsqvdtj d t_n||_|p|j}||_y tjWntk rdt_nXt||_tj|d|j|_} |r|j|_|j|j_ni|_i|j_tjjtjd|_t| |_ } t!| dd|_"} tj#ddddd|_$idd6dd6dd6d d!6|j$d6tj#ddd"ddd"6} t%d#krd$| d%| j.d9|j?| j.d:|j@| j.d;|jA| j.d<|jB| j.d=|jC| j.d>|jD| j.d?|jE| j.d@|jF| j.dA|jG| j.dB|jH| j.dC|jI| j.dD|jJ| j.dE|jK| j.dF|jL| j.dG|jM| j.dH|jN| j.dI|jOd | j.dJ|jOdK| j.dL|jP| j.dM|jQ| j.dN|jR|r||j|<|rp||jS|>> tmenusrecent-files.lsttnametvbartmainRUtwidthttypetintttextitpadxtnonetwrapithighlightthicknesstheightg!@t wordprocessorttabstyletWM_DELETE_WINDOWs<>ss<2>s<3>s<>s<>s <>s<>s<>s<>s<>s<>s<>s<>cSsdS(Ntbreak((tevent((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytts<>s<>s<>s<>s<>s<>s <>s <>s<>s<>s<>s<>s<>s<>s<>s<>s<>s<>s<>ssis<>s<>s<>s<>s<>s<>s<>tcommandtsidetfilltyscrollcommandtfonttexpandtIndents use-spacestboolii2ii@KLttearoffR*tlabels Recent Filest underlinetwindowstendi(i2ii@KL(RUthelp_urlRR&R'RDRtprefixtplatformtcountRtisdirRtisfiletnormpathtflisttroottps1R!tMenutmenubarRtListedToplevelttoptvarst tkinter_varst inversedictt instance_dictRt GetUserCfgDirtrecent_files_pathtFramet text_framet ScrollbarRet GetOptionRgt TkVersionRtTextRjtfocused_widgett createmenubartapply_bindingstprotocolRRIt close_eventR tisAquaTktright_menu_eventtcuttcopytpastetcenter_insert_eventt help_dialogt python_docst about_dialogt config_dialogt open_modulet select_alltremove_selectiont find_eventtfind_again_eventtfind_in_files_eventtfind_selection_eventt replace_eventtgoto_line_eventtsmart_backspace_eventtnewline_and_indent_eventtsmart_indent_eventtindent_region_eventtdedent_region_eventtcomment_region_eventtuncomment_region_eventttabify_region_eventtuntabify_region_eventttoggle_tabs_eventtchange_indentwidth_eventtmove_at_edge_if_selectiont del_word_lefttdel_word_rightt home_callbacktdictt new_callbacktclose_all_callbacktopen_class_browsertopen_path_browsertset_status_bartyviewtpacktRIGHTtYtsettGetFonttLEFTtBOTHtTOPt focus_settusetabsttabwidtht indentwidthtset_notabs_indentwidthRHtcontext_use_ps1tnum_context_linesRVtperRXtundot insertfiltertundo_block_starttundo_block_stoptset_saved_change_hooktsaved_change_hookRYtiotset_filename_change_hooktfilename_change_hooktrecent_files_menutmenudicttinsert_cascadetupdate_recent_files_listtcolortexiststloadfilet set_filenametResetColorizertset_indentation_paramstispythonsourcetload_extensionstgettindext add_separatort wmenu_endtregister_callbacktpostwindowsmenut tkMessageBoxtaskyesnottkSimpleDialogt askintegert showerror(R6RR,tkeyRtdochometpyvertbasepathtchmfileRRRet text_optionsRjt usespacesRRRRcR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR7s4                                    %           cCsxt|ts| r|Sy|j|jSWnCtk rsy|j|jSWqttk ro|jdSXnXdS(s8convert filename to unicode in order to display it in Tks iso8859-1N(t isinstancetunicodetdecodeRZtUnicodeDecodeErrorR[(R6R,((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt_filename_to_unicode_s  cCs)|jj\}}|jj|dS(NRs(RtdefaultfilenameRtnew(R6RtRFtbasename((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRnscCs||jd@dkr&|jdkr&dS|jjdr|jjdddr|jjdddrt|jjdjdd }nR|jjdd}x:tt |D]}||dkrPqqWt |}t|jjd jdd }||krd}nd t |d}|jd @dkr\|jj dddn|jjds|jj dd nY|jj|jjdd|jjd r|jj ddn|jj dd|jj|}|jjd}|jj|d|r)||}}n|jj ddd|jj d|||jj d ||jjd dS(NiitHometiomarks<=sinsert lineendsinsert linestartRit s tinsertsinsert linestart+tctsels1.0Rs sel.firstt my_anchortRs(R s (tstatetkeysymRjRtcompareRiRRtxrangetlentstrt tag_removetmark_setttag_addtsee(R6Rttinsertpttlinetlineattdesttfirsttlast((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRss>"( %  0cCs|j|j|_t|jdddddd}tjdkra|jjddd tn|jjd d d t|jjd d d t|jjd t dt |jd t dt |j j d|j |j jddd|j j|j dS(NRoit borderwidtht backgroundtgrey75Rbt _padding1s RxtcolumnsCol: ?RsLn: ?Rys<>s s(R^Rt status_barRRRt set_labelRRtBOTTOMtXRjRItset_line_and_columnt event_addt after_idle(R6tsep((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs!  cCsS|jjtjd\}}|jjdd||jjdd|dS(NRR(sCol: %sRsLn: %s(RjRtINSERTRR)R*(R6RtRR(((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR-s!R*t_Fileteditt_EdittformattF_ormattrunt_Runtoptionst_OptionsRt_WindowR t_HelpcCs|j}i|_}xe|jD]Z\}}t|\}}t|d|dd||<}|jd|d|d|q Wtjrt|dddd|d<}|jdd d|n|j|jd j t |_ |j dS( NRdRiRRcRtapplet applicationtIDLER ( RRt menu_specstprepstrRt add_cascadeR t isCarbonTkt fill_menusRtENDtbase_helpmenu_lengthtreset_help_menu_entries(R6tmbarRRdRRRc((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs      cCsk|jd}|jd}|dkr1d}n||jkrZ|j|jd|ntj|dS(NRRii(RRRRtdeleteRtadd_windows_to_menu(R6RcR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs   c Cs%|jjdd|j|jf|js9|jn|j}||_tjd dk}|rz|jj ddnxr|j D]g}y|\}}}Wnt k rqnX|dkrqnt ||}|j|d|qW|j|j|j|r!|jj ddndS( NRs@%d,%diRatcursortarrowRtibeam(RjRtxtytrmenut make_rmenuRtRRtconfigt rmenu_specst ValueErrorRtgetattrtentryconfigurettk_popuptx_rootty_root( R6RtRPtiswintitemRt eventnamet verify_stateR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs(#      tCloses<>cCst|jdd}xg|jD]\}|d|d}}|dk rq|j|d}|jd|d|q|jqW||_dS(NRiicSs|j|dS(N(tevent_generate(RjR\((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRwsRRw(RRjRSRt add_commandRRP(R6RPR[RR\Rw((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRQs cCs |jS(N(trmenu_check_copy(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytrmenu_check_cutscCs=y|jjd}Wntk r*dSX|r5dSdSdS(Ns sel.firsttdisabledtnormal(RjRtTclError(R6tindx((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRas  cCs=y |jjjd|jdWntk r4dSXdSdS(Nstk::GetSelectiont CLIPBOARDRcRd(RjttktcallRe(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytrmenu_check_pastes   cCstj|jddS(sHandle Help 'About IDLE' event.s About IDLEN(Rt AboutDialogR(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRscCstj|jddS(s&Handle Options 'Configure IDLE' event.tSettingsN(R t ConfigDialogR(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRscCs/|jr|j}n |j}tj|dS(sHandle Help 'IDLE Help' event.N(RRR t show_idlehelp(R6RtR4((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR!s   cCsytjd dkreytj|jWqutk ra}tjdddt|d|j quXnt j |jdS(NiRattitlesDocument Start FailuretmessageR4Rs( RRR&t startfileRt WindowsErrorRRRRjt webbrowsertopen(R6Rttwhy((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR*scCs|jjddS(Ns<>Rs(RjR_(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR5scCs*|jjdsdS|jjddS(NRs<>Rs(Rjt tag_rangesR_(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR9scCs$|jjd|jjddS(Ns <>RRs(RjR_R(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR@scCs=|jjddd|jjdd|jjddS(NRs1.0send-1cRRs(RjRRR(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyREscCs*|jjddd|jjddS(NRs1.0RR(RjRR(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRKscs:|jj|jjdfd}|S(sCursor move begins at start or end of selection When a left/right cursor key is pressed create and return to Tkinter a function which causes a cursor move from the associated edge of the selection. s sel.first+1cs sel.last-1ccsM|jd@dkrIyddWqItk rEqIXndS(Niis sel.firstR(RRe(Rt(t edge_indext edges_tabletself_text_indextself_text_mark_set(s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt move_at_edgeZs   (s sel.first+1cs sel.last-1c(RjRR(R6RwR{((RwRxRyRzs,/usr/lib64/python2.7/idlelib/EditorWindow.pyROs   cCs|jjddS(Ns Rs(RjR_(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRcscCs|jjddS(NsRs(RjR_(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRgscCstj|jdS(NRs(RtfindRj(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRkscCstj|jdS(NRs(Rt find_againRj(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRoscCstj|jdS(NRs(Rtfind_selectionRj(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRsscCs tj|j|j|jdS(NRs(RtgrepRjRR(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRwscCstj|jdS(NRs(RtreplaceRj(R6Rt((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR{scCsp|j}tjddd|}|dkr1dS|dkrK|jdS|jdd||jddS(NtGotosGo to line number:R4RsiRs%d.0(RjRRRtbellRR(R6RtRjtlineno((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs     c CsPy|jjdd}Wntk r2d}n X|j}tjddd|jd|}|ru|j}n|sdSy"t|\}}\}}}Wn9ttfk r}t j dt |d|jdSX|t j kr t j d d |d|jdS|r |jn|jr<|jj|n|jj||S( Ns sel.firstssel.lastRvtModulesAEnter the name of a Python module to search on sys.path and open:R4t initialvalues Import errorsUnsupported types%s is not a source module(RjRRetstripRt askstringR2t NameErrorR"RRRRRRRRtRR( R6RtRdtft file_pathtsuffixtmodetmtypetmsg((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs6    "   cCs|jj}|jjdko!|sC|j}|dkrCdSntjj|\}}tjj |\}}ddl m }|j |j ||gdS(NtPyShellEditorWindowi(t ClassBrowser( RR,t __class__R#RRR&R'RR(tidlelibRR(R6RtR,theadttailR0R1R((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs   cCs$ddlm}|j|jdS(Ni(t PathBrowser(RRR(R6RtR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRscCsl|dk rh|dkrh|jjdd||jjddd|jjddd|jndS(NiRs%d.0Rs1.0Rs insert +1l(RRjRRRtcenter(R6R((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytgotolines cCs| stjj|rtStjjtjj|\}}tjj|dkr]tSy&t|}|j}|j Wnt k rt SX|j do|j ddkS(Ns.pys.pyws#!tpythoni(s.pys.pyw(R&R'RtTrueR(R tnormcaseRttreadlineRtIOErrorRHt startswithR|(R6R,R0R1RR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs$   cCs)|jr%|jj|d|_ndS(N(Rtunregister_maybe_terminateR(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt close_hooks cCs ||_dS(N(R(R6R((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytset_close_hookscCsD|jr|jj|n|j|jj||jdS(N(Rtfilename_changed_editRRtupdate_windowlist_registryR(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs   cCs}|jr dS|j|jjr4|j|_n|jry|jj|j|jj|j|jj|jndS(N( RRRR,RWRt removefilterRR(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt _addcolorizers  cCs:|js dS|jj|jj|jd|_dS(N(Rt removecolorsRRR(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt _rmcolorizers   c Cs|j|jtj}tj|d}tj|ddd}tj|d}|jjd|dd|dd|d |dd |dtd kr|jjd |dnd S(sUpdate the color themeRdRKtfgBgtfgthilitet foregroundR%tinsertbackgroundtselectforegroundtselectbackgroundg!@tinactiveselectbackgroundN(RRRt CurrentThemet GetHighlightRjRRR(R6tthemet normal_colorst cursor_colort select_colors((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs          cCs#tj|jdd|jd|D]3}|j|d}|j d|dd|qhWn||jdRIRRRRRRt expandtabstAssertionErrorRRRRRRRR( R6RtRjR"R#tcharsRthavetwanttlast_line_of_promptt ncharsdeleted((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRsJ             c CsH|j}|j\}}|jz|r||r|t|t|krY|j|S|j|||jd|n|jdd}t||j \}}|t |kr|j ||j nU|j rd}n3t |j|j }|j } d| || }|jd||jddSWd|jXdS(NRsinsert linestarts R Rs(RjR>Rt index2lineRRIRRt classifywsRRt reindent_toRRRLRRR( R6RtRjR"R#Rtrawt effectivetpadRD((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs,        cCs|j}|j\}}|jz|rW|rW|j|||jd|n|jdd}dt|}}x*||kr||dkr|d}qW||kr|jdddS|| }d}tj j dd} x:|r+|ddkr+|| kr+|d }|d}qW|rI|jd |dnx&|jddkrq|jdqLW|jddt |j d} t j|j|j} |js^x|jD]} t| | d} t| d }|j|d}| j|| j|j|j|}|dk s@| dkrPqqW| j|pWdnW|jd d}|r|d}nd }|j|d}| j|| jd| j}|t jkr|t jkrn|t jkr|jd|n|t jkr)|j | j!nc|t j"krs| j#dkr]|jd|q|j | j$ndst%d |fdS| j&}|jd|| j'r|j(|n"|r| j)r|j*|ndSWd|j+d|j,XdS(NRsinsert linestartis is Rsisinsert - %d charss.0tconsoles1.0sbogus continuation type %r(-RjR>RRIRRRRRRRRSRRtParserRRRRRRtset_strtfind_good_parse_startt_build_char_in_string_funcRtset_loR:tget_continuation_typetC_NONEtC_STRING_FIRST_LINEtC_STRING_NEXT_LINESt C_BRACKETRUtcompute_bracket_indentt C_BACKSLASHtget_num_lines_in_stmttcompute_backslash_indentRMtget_base_indent_stringtis_block_openerRtis_block_closerRRR(R6RtRjR"R#RRRDtindentRQtlnoROtcontexttstartatt startatindextrawtexttbodRR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRs     %          cCs||jd}|S(NcSs||d|S(Ns+%dc((toffsett _startindext_icis((s,/usr/lib64/python2.7/idlelib/EditorWindow.pytinnerqs(R=(R6t startindexRu((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR]psc Cs|j\}}}}xmtt|D]Y}||}|r+t||j\}} | |j} |j| ||||RRR(R6RjR"R#RRRNRz((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRws  cCs|j}dj|}||kr2|jdS|jddd|jd||j|j|||j|||j|j d|ddS(Ns Rs1.0RR( RjRDRRRRRIRRR(R6RRRNRzRjtnewchars((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRys     cCs=|jr1t||j\}}d|d|Sd|SdS(Ns R (RR~R(R6RDRR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRxs cCsk|j}|j|jdddr;|jddn|r]|jd|j|n|jdS(Nsinsert linestarts!=R(RjRRRIRRxR(R6R(Rj((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRUs  c Cs.|jddd|jd|jddddS( Ns Tab widthsColumns per tab? (2-16)R4RRiRi(RRjR(R6((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR}s  cCsrt|j|jj\}}|r`|r`t||j\}}t||j\}}n d}}||S(Ni(tIndentSearcherRjRR7RT(R6topenertindentedRVt indentsmallt indentlarge((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRJs !  N(R*R2(R3R4(R5R6(R7R8(R9R:(RR;(R R<(R^s<>N(zR#RTtidlelib.PercolatorRVtidlelib.ColorDelegatorRWtidlelib.UndoDelegatorRXtidlelib.IOBindingRYRZR[RR\tTkinterR]tidlelib.MultiStatusBarR^RRR7RRRRR-R@RRRPRRSRQRbRaRjRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRGRRRRRRRRRRRRRRRRRRRRRRRRRDR5R7R-R=R>RBRIRRRRRR]RRRRRRRRRwRyRxRUR}RJ(((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRUxs   )                          "          $    ,                  %      0 # k      cCstt|S(N(RiR(R((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRSscCstd}}x]|D]U}|dkr:|d}|d}q|dkre|d}||d|}qPqW||fS(NiR is ((tsRRVRWtch((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRT&s       RcBs;eZdZdZejejd dZd ZRS( cCs6||_||_d|_|_d|_|_dS(Ni(RjRRtfinishedRt blkopenlinet indentedline(R6RjR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR7>s  cCsd|jr dS|jd}|_t|d}|jj|ddrMdS|jj||dS(NRvis.0s>=Rs lineend+1c(RRRRjRR(R6RR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRDs tclasstdeftfortifttrytwhilec Cs^|jr nN||kr0||kr0||_n*||krZ|jrZ||_d|_ndS(Ni(RRR( R6RhttokentstartRRtINDENTtNAMEtOPENERS((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt tokeneaterMs   cCsmtj}|jt_z;ytj|j|jWntjtfk rNnXWd|t_X|j|j fS(N( t _tokenizettabsizeRttokenizeRRt TokenErrort SyntaxErrorRR(R6t save_tabsize((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR7Ys   (RRRRRR( R#RTR7RRRRRR7(((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyR7s    cCs>|jd}|dkr4|| ||d}n||fS(NR#ii(R|(RR((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRAis t[t bracketleftt]t bracketrightt/tslashcCs |j|}| s7tjr;|dddhkr;dS|d}tjdd|}tjdd |}tjd d|}tjd d |}tjd d|}tjdd|}tjdd|}tjdd|}tjdd|}|S(Ns<>s <>s<>Rvis-[a-z]\bcSs|jjS(N(tgrouptupper(R/((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRuRvs\b\w+\bcSstj|j|jS(N(tkeynamesRR(R/((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyRuRvsKey-tCancels Ctrl-BreaksControl-sCtrl-R"RCs>>( RRtargvRR tsetupAppRURjRIR(R4RR,R3((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyt_editor_windows  t__main__(R7(/RR&RR RRRRRstidlelib.MultiCallRRRRRRRtidlelib.configHandlerRRR R R R R@tpython_versionRRRR2tobjectR3t helpDialogRURSRTRRRRARRRRR#tidlelib.idle_test.htestR7(((s,/usr/lib64/python2.7/idlelib/EditorWindow.pyts^          !-   2