
    =Og                         	 d dl Z d dlZd dlZd dlZd dlZd dlZdgZ G d d          Zd Z	 d dl	Z	 e	j
         e            j                    e j        d            dZdS # e$ r dZY dS w xY w)    N	Completerc                   .    e Zd ZddZd Zd Zd Zd ZdS )r   Nc                     	 |r$t          |t                    st          d          |	d| _        d S d| _        || _        d S )Nznamespace must be a dictionary   r   )
isinstancedict	TypeErroruse_main_ns	namespace)selfr   s     $/usr/lib64/python3.11/rlcompleter.py__init__zCompleter.__init__*   sZ    	  	>Z	488 	><===
  D D&DNNN    c                    	 | j         rt          j        | _        |                                s:|dk    r2t
          r)t          j        d           t          j                     dS dS d S |dk    r9d|v r| 	                    |          | _
        n|                     |          | _
        	 | j
        |         S # t          $ r Y d S w xY w)Nr   	 .)r
   __main____dict__r   strip_readline_availablereadlineinsert_text	redisplayattr_matchesmatchesglobal_matches
IndexError)r   textstates      r   completezCompleter.completeE   s    	  	/%.DNzz|| 		zz&  (...&(((24tA::d{{#0066#22488	<&& 	 	 	44	s   (B5 5
CCc                     t          |          r5|dz  }	 t          j        |          j        s|dz  }n# t          $ r Y nw xY w|S )N())callableinspect	signature
parameters
ValueError)r   valwords      r   _callable_postfixzCompleter._callable_postfixd   se    C== 	CKD(--8  CKD    s   5 
AAc                    	 g }dh}t          |          }t          j        t          j        z   D ]M}|d |         |k    r=|                    |           |dv r|dz   }n	|dvr|dz   }|                    |           N| j        t          j        fD ]l}|	                                D ]U\  }}|d |         |k    rB||vr>|                    |           |                    | 
                    ||                     Vm|S )N__builtins__>   tryfinally:>   _NoneTrueelsepassFalsebreakcontinue )lenkeywordkwlist
softkwlistaddappendr   builtinsr   itemsr,   )r   r   r   seennr+   nspacer*   s           r   r   zCompleter.global_matcheso   s7   	 IINW%77 		% 		%DBQBx4---#:DD "/ / /  #:Dt$$$~x'89 	F 	FF#\\^^ F F	c8t##D(8(8HHTNNNNN4#9#9#t#D#DEEEF r   c                    	 t          j        d|          }|sg S |                    dd          \  }}	 t          || j                  }n# t
          $ r g cY S w xY wt          t          |                    }|                    d           t          |d          r<|
                    d           |                    t          |j                             g }t          |          }|dk    rd}	n|dk    rd}	nd }		 |D ]}
|
d |         |k    r|	r|
d |dz            |	k    s|d
|
}t          t!          t#          |          |
d           t$                    r|                    |           qt!          ||
d           x}*|                    |                     ||                     |                    |           |s|	sn|	dk    rd}	nd }	|                                 |S )Nz(\w+(\.\w+)*)\.(\w*)r      r.   	__class__r   r2   __Tr   )rematchgroupevalr   	Exceptionsetdirdiscardhasattrr?   updateget_class_membersrH   r;   r   getattrtypepropertyr@   r,   sort)r   r   mexprattr
thisobjectwordsr   rD   noprefixr+   rK   values                r   r   zCompleter.attr_matches   s?   
	 H,d33 	IWWQ]]
d	dDN33JJ 	 	 	III	 C
OO$$n%%%:{++ 	BIIk"""LL*:+?@@AAAII2::HHS[[HHH	  . .!H$$! %&*4AaC4jH&<&<'+ttTT2E!'$z*:*:D$"G"G"*, , 	!  u--- !(T4!@!@@Mt'='=eU'K'KLLLLu--- h 31	 2 	s   A AAN)__name__
__module____qualname__r   r!   r,   r   r    r   r   r   r   )   sd        ' ' ' '6  >	 	 	  6> > > > >r   c                 |    t          |           }t          | d          r| j        D ]}|t          |          z   }|S )N	__bases__)rP   rR   rf   rT   )klassretbases      r   rT   rT      sJ    
e**Cu[!! 0O 	0 	0D)$///CCJr   c                  *    t          j        d           S r`   )r   set_completerrd   r   r   <lambda>rl      s    H2488 r   TF)atexitrA   r&   r<   rJ   r   __all__r   rT   r   rk   r!   registerr   ImportErrorrd   r   r   <module>rq      s  >     				 -_ _ _ _ _ _ _ _B  
OOO H99;;/000 FO88999        s   A$ $A/.A/