<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ž
©ÿfE  c            
   @   sƒ   d  Z  d d l Td d l m Z d d l m Z m Z d Z d Z d Z	 d Z
 d Z d Z d Z d Z d Z Gd d „  d ƒ Z d S(   uH   
An auto-completion window for IDLE, used by the AutoComplete extension
i    (   u   *(   u   MC_SHIFT(   u   COMPLETE_FILESu   COMPLETE_ATTRIBUTESu   <<autocompletewindow-hide>>u
   <FocusOut>u   <ButtonPress>u   <<autocompletewindow-keypress>>u   <Key>u   <Key-BackSpace>u   <Key-Return>u	   <Key-Tab>u   <Key-Up>u
   <Key-Down>u
   <Key-Home>u	   <Key-End>u   <Key-Prior>u
   <Key-Next>u!   <<autocompletewindow-keyrelease>>u   <KeyRelease>u   <B1-ButtonRelease>u   <Configure>u   <B1-Double-ButtonRelease>c             B   sÈ   |  Ee  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d S(    u   AutoCompleteWindowc             C   s¨   | |  _  d  |  _ |  _ |  _ d  |  _ |  _ d  |  _ d  |  _ d  |  _	 d  |  _
 d  |  _ d  |  _ d  |  _ d  |  _ |  _ |  _ |  _ |  _ |  _ d |  _ d  S(   NF(   u   widgetu   Noneu   autocompletewindowu   listboxu	   scrollbaru   origselforegroundu   origselbackgroundu   completionsu   morecompletionsu   modeu   startu
   startindexu   lasttypedstartu   userwantswindowu   hideidu
   keypressidu   listupdateidu   winconfigidu   keyreleaseidu   doubleclickidu   Falseu   lastkey_was_tab(   u   selfu   widget(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   __init__   s    								,u   AutoCompleteWindow.__init__c             C   sò   t  t |  j ƒ t | ƒ ƒ } d } x1 | | k  rW |  j | | | k rW | d 7} q' W| t |  j ƒ k  r¦ |  j j d |  j | f d |  j t |  j ƒ f ƒ n  | t | ƒ k  rå |  j j d |  j | f | | d  … ƒ n  | |  _ d  S(   Ni    i   u   %s+%dc(   u   minu   lenu   startu   widgetu   deleteu
   startindexu   insert(   u   selfu   newstartu   min_lenu   i(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _change_start8   s    & u    AutoCompleteWindow._change_startc             C   sv   d } t  |  j ƒ } xD | | k r[ | | d } |  j | | k rN | } q | d } q Wt | t  |  j ƒ d ƒ S(   u’   Find the first index in self.completions where completions[i] is
        greater or equal to s, or the last index if there is no such
        one.i    i   i   (   u   lenu   completionsu   min(   u   selfu   su   iu   ju   m(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _binary_searchE   s     	u!   AutoCompleteWindow._binary_searchc       
      C   sG  |  j  | ƒ } |  j | d t | ƒ … | k r6 | S| d } t |  j ƒ } xT | | k r¥ | | d } |  j | d t | ƒ … | k r˜ | } qR | d } qR W| d } | | k rÇ |  j | S|  j | } |  j | } t t | ƒ t | ƒ ƒ }	 t | ƒ } x. | |	 k  r8| | | | k r8| d 7} qW| d | … S(   uÖ   Assuming that s is the prefix of a string in self.completions,
        return the longest string which is a prefix of all the strings which
        s is a prefix of them. If s is not a prefix of a string, return s.Ni   i   (   u   _binary_searchu   completionsu   lenu   min(
   u   selfu   su   firstu   iu   ju   mu   lastu
   first_compu	   last_compu   min_len(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _complete_stringR   s(    #
#	
#u#   AutoCompleteWindow._complete_stringc             C   sÍ  t  |  j j ƒ  d ƒ } |  j j | ƒ |  j } |  j | } |  j | ƒ | k r] | } nb t t | ƒ t | ƒ ƒ } d } x. | | k  r® | | | | k r® | d 7} q W| d | … } |  j	 | ƒ |  j | d t |  j
 ƒ … |  j
 k r|  j j d |  j d |  j ƒ n² |  j j d |  j j d ƒ d |  j j d ƒ ƒ |  j rÉ|  j |  _ d |  _ |  j j d t ƒ x$ |  j D] } |  j j t | ƒ qƒW|  j j |  j |  j
 ƒ ƒ |  j ƒ  n  d S(   u|   Should be called when the selection of the Listbox has changed.
        Updates the Listbox display and calls _change_start.i    i   Nu   selectbackgroundu   selectforegroundu   bgu   fg(   u   intu   listboxu   curselectionu   seeu   lasttypedstartu   completionsu   _binary_searchu   minu   lenu   _change_startu   startu	   configureu   origselbackgroundu   origselforegroundu   cgetu   morecompletionsu   Noneu   deleteu   ENDu   insertu
   select_setu   _selection_changed(   u   selfu   curselu   ltsu   selstartu   newstartu   min_lenu   iu   item(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   _selection_changedq   s2    		#)		u%   AutoCompleteWindow._selection_changedc             C   sQ  | \ |  _  |  _ | |  _ |  j j | ƒ |  _ |  j j |  j d ƒ |  _ | rè |  j |  j ƒ } |  j } |  j	 | ƒ |  j
 | ƒ } |  j  | | k rè | t |  j  ƒ d k sÛ |  j  | d d t | ƒ … | k rè | | k Sn  | |  _ |  j |  _ t |  j ƒ |  _ }	 |	 j d ƒ |	 j d ƒ y# |	 j j d d |	 j d d ƒ Wn t k
 rdYn Xt |	 d	 t ƒ|  _ }
 t |	 d
 |
 j d d d d ƒ|  _ } x! |  j  D] } | j t | ƒ q°W| j d ƒ |  _  | j d ƒ |  _! |
 j" d | j# ƒ |
 j$ d t% d t& ƒ | j$ d t' d t( d d ƒ |  j j* |  j
 |  j ƒ ƒ |  j+ ƒ  |  j j, t- |  j. ƒ |  _/ x! t0 D] } |  j j1 t- | ƒ q{W|  j j, t2 |  j3 ƒ |  _4 x! t5 D] } |  j j1 t2 | ƒ qºW|  j j, t6 |  j7 ƒ |  _8 |  j j1 t6 t9 ƒ | j, t: |  j; ƒ |  _< |	 j, t= |  j> ƒ |  _? | j, t@ |  jA ƒ |  _B d S(   u¤   Show the autocomplete list, bind events.
        If complete is True, complete the text, and if there is exactly one
        matching completion, don't open a list.u   inserti   Nu   +10000+10000u!   ::tk::unsupported::MacWindowStyleu   styleu   helpu   noActivatesu   orientu   yscrollcommandu   exportselectionu   bgu   whiteu   selectforegroundu   selectbackgroundu   commandu   sideu   fillu   expandFT(C   u   completionsu   morecompletionsu   modeu   widgetu   indexu
   startindexu   getu   startu   _complete_stringu   _change_startu   _binary_searchu   lenu   userwantswindowu   lasttypedstartu   Toplevelu   autocompletewindowu   wm_geometryu   wm_overrideredirectu   tku   callu   _wu   TclErroru	   Scrollbaru   VERTICALu	   scrollbaru   Listboxu   setu   Falseu   listboxu   insertu   ENDu   cgetu   origselforegroundu   origselbackgroundu   configu   yviewu   packu   RIGHTu   Yu   LEFTu   BOTHu   Trueu
   select_setu   _selection_changedu   bindu   HIDE_VIRTUAL_EVENT_NAMEu
   hide_eventu   hideidu   HIDE_SEQUENCESu	   event_addu   KEYPRESS_VIRTUAL_EVENT_NAMEu   keypress_eventu
   keypressidu   KEYPRESS_SEQUENCESu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   keyrelease_eventu   keyreleaseidu   KEYRELEASE_SEQUENCEu   LISTUPDATE_SEQUENCEu   listselect_eventu   listupdateidu   WINCONFIG_SEQUENCEu   winconfig_eventu   winconfigidu   DOUBLECLICK_SEQUENCEu   doubleclick_eventu   doubleclickid(   u   selfu
   comp_listsu   indexu   completeu   modeu   userWantsWinu	   completedu   startu   iu   acwu	   scrollbaru   listboxu   itemu   seq(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   show_window•   sf    		'	
		u   AutoCompleteWindow.show_windowc             C   s
  |  j  ƒ  s d  S|  j } | j |  j ƒ | j |  j ƒ \ } } } } |  j } | j ƒ  | j ƒ  } }	 | j ƒ  | j ƒ  }
 } | j ƒ  t	 | t
 d |
 | ƒ ƒ } | j ƒ  | } | | | |	 k sØ | |	 k  rå | | 7} n
 | |	 8} | j d | | f ƒ d  S(   Ni    u   +%d+%d(   u	   is_activeu   widgetu   seeu
   startindexu   bboxu   autocompletewindowu   winfo_widthu   winfo_heightu   winfo_rootxu   minu   maxu   winfo_rootyu   wm_geometry(   u   selfu   eventu   textu   xu   yu   cxu   cyu   acwu	   acw_widthu
   acw_heightu
   text_widthu   text_heightu   new_xu   new_y(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   winconfig_eventÚ   s    		&
u"   AutoCompleteWindow.winconfig_eventc             C   s   |  j  ƒ  s d  S|  j ƒ  d  S(   N(   u	   is_activeu   hide_window(   u   selfu   event(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu
   hide_eventï   s    u   AutoCompleteWindow.hide_eventc             C   sJ   |  j  ƒ  s d  Sd |  _ t |  j j ƒ  d ƒ } |  j |  j | ƒ d  S(   Ni    T(   u	   is_activeu   Trueu   userwantswindowu   intu   listboxu   curselectionu   _change_startu   completions(   u   selfu   eventu   cursel(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   listselect_eventô   s
    	u#   AutoCompleteWindow.listselect_eventc             C   s;   t  |  j j ƒ  d ƒ } |  j |  j | ƒ |  j ƒ  d  S(   Ni    (   u   intu   listboxu   curselectionu   _change_startu   completionsu   hide_window(   u   selfu   eventu   cursel(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   doubleclick_eventû   s    u$   AutoCompleteWindow.doubleclick_eventc                s9  |  j  ƒ  s d  S| j ‰  t | d ƒ r4 | j } n d } ˆ  d k rR d& |  _ n  t ˆ  ƒ d k s‹ ˆ  d' k s‹ |  j t k rÂˆ  d( k rÂ| t	 @rÂt ˆ  ƒ d k rÀ |  j
 |  j ˆ  ƒ n¦ ˆ  d k rã |  j
 |  j d	 ƒ nƒ ˆ  d k r|  j
 |  j d
 ƒ n` ˆ  d k r)|  j
 |  j d ƒ n= t |  j ƒ d k rL|  j ƒ  d  S|  j
 |  j d  d) … ƒ |  j |  _ |  j j d t |  j j ƒ  d ƒ ƒ |  j j |  j |  j ƒ ƒ |  j ƒ  d Sˆ  d k rÜ|  j ƒ  d  S|  j t k r÷ˆ  d* k s|  j t k rˆ  d+ k r| t	 @rt |  j j ƒ  d ƒ } |  j | d  t |  j ƒ … |  j k r|  j t k sx|  j r|  j
 |  j | ƒ n  |  j ƒ  d  Sˆ  d, k r	| r	d- |  _ t |  j j ƒ  d ƒ } ˆ  d k rçd } nà ˆ  d k r	t |  j ƒ d } n¾ ˆ  d. k r…|  j j |  j j ƒ  ƒ |  j j d ƒ } ˆ  d k rbt d | | ƒ } qÇt t |  j ƒ d | | ƒ } nB ˆ  d k r§t d | d ƒ } n  t t |  j ƒ d | d ƒ } |  j j | ƒ |  j j | ƒ |  j ƒ  |  j
 |  j | ƒ d Sˆ  d k ry| ry|  j r`t |  j j ƒ  d ƒ } |  j
 |  j | ƒ |  j ƒ  d Sd- |  _ d- |  _ d  Sn¼ t ‡  f d d †  d/ Dƒ ƒ rœd  S| j r'| j d% k r'|  j
 |  j | j ƒ |  j |  _ |  j j d t |  j j ƒ  d ƒ ƒ |  j j |  j |  j ƒ ƒ |  j ƒ  d S|  j ƒ  d  Sd  S(0   Nu   mc_statei    u   Tabi   u
   underscoreu	   BackSpaceu   periodu   minusu   _u   .u   -u   breaku   Returnu   spaceu	   parenleftu
   parenrightu   bracketleftu   bracketrightu   slashu	   backslashu   quotedblu
   apostropheu   Homeu   Endu   Prioru   Nextu   Upu   Downc             3   s   |  ] } | ˆ  k Vq d  S(   N(    (   u   .0u   s(   u   keysym(    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu	   <genexpr>a  s    u4   AutoCompleteWindow.keypress_event.<locals>.<genexpr>u   Shiftu   Controlu   Altu   Metau   Commandu   Optionu    F(   u
   underscoreu	   BackSpace(   u   periodu   minusiÿÿÿÿ(   u   periodu   spaceu	   parenleftu
   parenrightu   bracketleftu   bracketright(   u   slashu	   backslashu   quotedblu
   apostrophe(   u   Homeu   Endu   Prioru   Nextu   Upu   DownT(   u   Prioru   Next(   u   Shiftu   Controlu   Altu   Metau   Commandu   Option(   u	   is_activeu   keysymu   hasattru   mc_stateu   Falseu   lastkey_was_tabu   lenu   modeu   COMPLETE_FILESu   MC_SHIFTu   _change_startu   startu   hide_windowu   lasttypedstartu   listboxu   select_clearu   intu   curselectionu
   select_setu   _binary_searchu   _selection_changedu   COMPLETE_ATTRIBUTESu   completionsu   Trueu   userwantswindowu   nearestu   winfo_heightu   maxu   minu   anyu   char(   u   selfu   eventu   stateu   curselu   newselu   jump(    (   u   keysymu?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   keypress_event  s®    		
&

 		)
		# 
	
		&

u!   AutoCompleteWindow.keypress_eventc             C   s[   |  j  ƒ  s d  S|  j j d ƒ |  j j d |  j t |  j ƒ f ƒ k rW |  j ƒ  n  d  S(   Nu   insertu   %s+%dc(   u	   is_activeu   widgetu   indexu
   startindexu   lenu   startu   hide_window(   u   selfu   event(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   keyrelease_eventt  s
    +u#   AutoCompleteWindow.keyrelease_eventc             C   s   |  j  d  k	 S(   N(   u   autocompletewindowu   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu	   is_active|  s    u   AutoCompleteWindow.is_activec             C   s   |  j  |  j |  j ƒ ƒ d  S(   N(   u   _change_startu   _complete_stringu   start(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   complete  s    u   AutoCompleteWindow.completec             C   sL  |  j  ƒ  s d  Sx! t D] } |  j j t | ƒ q W|  j j t |  j ƒ d  |  _ x! t D] } |  j j t	 | ƒ qZ W|  j j t	 |  j
 ƒ d  |  _
 |  j j t t ƒ |  j j t |  j ƒ d  |  _ |  j j t |  j ƒ d  |  _ |  j j t |  j ƒ d  |  _ |  j j ƒ  d  |  _ |  j j ƒ  d  |  _ |  j j ƒ  d  |  _ d  S(   N(   u	   is_activeu   HIDE_SEQUENCESu   widgetu   event_deleteu   HIDE_VIRTUAL_EVENT_NAMEu   unbindu   hideidu   Noneu   KEYPRESS_SEQUENCESu   KEYPRESS_VIRTUAL_EVENT_NAMEu
   keypressidu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   KEYRELEASE_SEQUENCEu   keyreleaseidu   listboxu   LISTUPDATE_SEQUENCEu   listupdateidu   autocompletewindowu   WINCONFIG_SEQUENCEu   winconfigidu	   scrollbaru   destroy(   u   selfu   seq(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   hide_windowƒ  s0    							u   AutoCompleteWindow.hide_windowN(   u   __name__u
   __module__u   __qualname__u   __init__u   _change_startu   _binary_searchu   _complete_stringu   _selection_changedu   show_windowu   winconfig_eventu
   hide_eventu   listselect_eventu   doubleclick_eventu   keypress_eventu   keyrelease_eventu	   is_activeu   completeu   hide_window(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   AutoCompleteWindow   s    $Esu   AutoCompleteWindowN(   u
   <FocusOut>u   <ButtonPress>(
   u   <Key>u   <Key-BackSpace>u   <Key-Return>u	   <Key-Tab>u   <Key-Up>u
   <Key-Down>u
   <Key-Home>u	   <Key-End>u   <Key-Prior>u
   <Key-Next>(   u   __doc__u   tkinteru   idlelib.MultiCallu   MC_SHIFTu   idlelib.AutoCompleteu   COMPLETE_FILESu   COMPLETE_ATTRIBUTESu   HIDE_VIRTUAL_EVENT_NAMEu   HIDE_SEQUENCESu   KEYPRESS_VIRTUAL_EVENT_NAMEu   KEYPRESS_SEQUENCESu   KEYRELEASE_VIRTUAL_EVENT_NAMEu   KEYRELEASE_SEQUENCEu   LISTUPDATE_SEQUENCEu   WINCONFIG_SEQUENCEu   DOUBLECLICK_SEQUENCEu   AutoCompleteWindow(    (    (    u?   /opt/alt/python33/lib64/python3.3/idlelib/AutoCompleteWindow.pyu   <module>   s   
  