+
     Bi                         ^ RI t ^ RIHtHtHt ^ RIHt R t ! R R4      tR tR t	R	 t
]R
8X  d   ^ RIHt ]! R^R7       R# R# )    N)	StringVar
BooleanVarTclError)
messageboxc                 ^    \        V R 4      '       g   \        V 4      V n        V P                  # )_searchengine)hasattrSearchEnginer   )roots   &+/usr/lib/python3.14/idlelib/searchengine.pygetr      s*     4)))$/    c                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRR ltRR ltRR ltRR ltRtV tR# )r
   c                    Wn         \        VR 4      V n        \        VR4      V n        \        VR4      V n        \        VR4      V n        \        VR4      V n        \        VR4      V n        R# ) FTN)	r   r   patvarr   revarcasevarwordvarwrapvarbackvar)selfr   s   &&r   __init__SearchEngine.__init__   s]    
 	b)e,
!$.!$.!$-!$.r   c                6    V P                   P                  4       # N)r   r   r   s   &r   getpatSearchEngine.getpat%   s    {{  r   c                <    V P                   P                  V4       R # r   )r   setr   pats   &&r   setpatSearchEngine.setpat(   s    r   c                6    V P                   P                  4       # r   )r   r   r   s   &r   isreSearchEngine.isre+   s    zz~~r   c                6    V P                   P                  4       # r   )r   r   r   s   &r   iscaseSearchEngine.iscase.       ||!!r   c                6    V P                   P                  4       # r   )r   r   r   s   &r   iswordSearchEngine.isword1   r,   r   c                6    V P                   P                  4       # r   )r   r   r   s   &r   iswrapSearchEngine.iswrap4   r,   r   c                6    V P                   P                  4       # r   )r   r   r   s   &r   isbackSearchEngine.isback7   r,   r   c                    V P                  4       '       d   \        P                  ! V4      pV P                  V4       R # r   )r'   reescaper$   r"   s   &&r   setcookedpatSearchEngine.setcookedpat<   s(     99;;))C.CCr   c                    V P                  4       pV P                  4       '       g   \        P                  ! V4      pV P	                  4       '       d
   R V,          pV# )z\b%s\b)r   r'   r7   r8   r.   r"   s   & r   getcookedpatSearchEngine.getcookedpatC   s>    kkmyy{{))C.C;;==c/C
r   c                   V P                  4       pV'       g   V P                  VR 4       R# V P                  4       p^ pV P                  4       '       g   V\        P
                  ,          p \        P                  ! W4      pV#   \        P                   d2   pT P                  YP                  TP                  4        Rp?R# Rp?ii ; i)zEmpty regular expressionN)
r   report_errorr<   r*   r7   
IGNORECASEcompilePatternErrormsgpos)r   r#   flagsproges   &    r   getprogSearchEngine.getprogK   s    kkmc#=>!{{}}BMM)E	::c)D   	c55!%%0	s   -B C&CCNc                    R \        V4      ,           pV'       d   VR,           \        V4      ,           pVe   VR,           \        V4      ,           p\        P                  ! RW P                  R7       R# )zError: z

Pattern: Nz	
Offset: zRegular expression error)master)strr   	showerrorr   )r   r#   rC   cols   &&&&r   r?   SearchEngine.report_error\   sV    #c("%C0C?$s3x/C7"99	6r   c                |   V'       g   V P                  4       pV'       g   R # V P                  P                  4       p\        V4      w  rVV P	                  4       '       d0   V'       d   TpMTp\        V4      w  rV P                  WWWC4      p
V
# V'       d   TpMTp\        V4      w  rV P                  WWWC4      p
V
# r   )rH   r   r   get_selectionr4   get_line_colsearch_backwardsearch_forward)r   textrF   okwrapfirstlaststartlinerN   ress   &&&&       r   search_textSearchEngine.search_textf   s    $ <<>D||!#D);;==$U+ID&&t4dGC 
 $U+ID%%d$TFC
r   c                   ^ pTpVP                  RV,          RV^,           ,          4      p	V	'       d   VP                  V	RR V4      p
V
'       d!   V'       g   V
P                  4       V8  d   W:3# V^,           pV'       d
   W88  d    R# ^ p^pVP                  RV,          RV^,           ,          4      p	V	'       d   K  V'       g   K  ^p^ p^pVP                  RR4      p	K  R# )r   %d.0Nz1.0z2.0)r   searchend)r   rU   rF   r[   rN   rW   rV   wrapped	startlinecharsms   &&&&&&&    r   rT   SearchEngine.search_forward   s    	$$q&(9:E#2J,A37N!8D4+  CBHHVd]Fd1f,=>E5TT.r   c                   ^ pTpVP                  RV,          RV^,           ,          4      p	 \        W)RR V4      p
V
'       d!   V'       g   V
P                  4       V8  d   W:3# V^,
          pV'       d
   W88  d    R# ^pV^ 8:  dB   V'       g    R# ^p^ pVP                  R4      p\	        \
        VP                  R4      4      w  r4VP                  RV,          RV^,           ,          4      p	\        V	4      ^,
          pK  )r   r`   Nzend-1c.ra   )r   search_reverserZ   indexmapintsplitlen)r   rU   rF   r[   rN   rW   rV   rd   re   rf   rg   rD   s   &&&&&&&     r   rS   SearchEngine.search_backward   s    	$$q&(9:t3BZ5AS7N!8D4+  Bqy  jj*SYYs^4	HHVd]Fd1f,=>Ee*q.Cr   )r   r   r   r   r   r   r   r   )Nr   )r   )__name__
__module____qualname____firstlineno__r   r   r$   r'   r*   r.   r1   r4   r9   r<   rH   r?   r]   rT   rS   __static_attributes____classdictcell__)__classdict__s   @r   r
   r
      sV     /! """"
"6&P, r   r
   c                     V P                  V4      pV'       g   R # R pVP                  4       w  rVWR8  dH   Wb8:  dB   TpWV8X  d
   V^,           pV P                  W4      pV'       g    V# VP                  4       w  rVKM  V# r   )rb   span)rF   rf   rN   rg   foundijs   &&&    r   rk   rk      su     	EAE668DA
'ah6!AKK!L vvx1Lr   c                      V P                  R 4      pV P                  R4      pV'       g   V P                  R4      pV'       g   TpW3#   \         d    R;r L6i ; i)z	sel.firstzsel.lastNinsert)rl   r   )rU   rX   rY   s   &  r   rQ   rQ      sa    

;'zz*% 

8$;  s   "A
 
AAc                 J    \        \        V P                  R 4      4      w  rW3# )rj   )rm   rn   ro   )rl   r[   rN   s   &  r   rR   rR      s!    CS)*ID9r   __main__)mainz#idlelib.idle_test.test_searchengine)	verbosity)r7   tkinterr   r   r   r   r   r
   rk   rQ   rR   rr   unittestr    r   r   <module>r      sO    	 3 3 	g gT. z	.!< r   