
    Ri\                         d dl mZ d dlmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Z	 G d de      Z
 G d de      Zy)   )BaseStemmer)Amongc                      e Zd ZdZh dZh dZh dZh dZdZdZ	dZ
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd      gZ ed dd!       ed"dd!       ed#dd!      gZ ed$dd%       ed&dd'       ed(d!d%       ed)d!d!       ed*d!d       ed+d!d      gZ ed,dd!       ed-dd!       ed.dd!      gZ ed/dd%       ed0dd%       ed1dd%       ed2dd%       ed3dd%       ed4dd%       ed5dd!      gZ ed6dd       ed7dd%       ed8d!d!       ed9dd'       ed:dd%       ed;d<d!       ed=dd%      gZ  ed6dd'       ed>dd%       ed?dd%       ed@dd%       edAdd%       edBdd!       edCdd%       edDdd%       edEdd%       edFdd%       edGdd!       edHdd%       edIdd!      gZ! edJdd'       edKdd%       edLddM       edNddO       edPd'dQ       edRd<d<       edSd'dT       edUd'dV       edWd'dX       edYd'dZ       ed[d'd\       ed]ddT       ed^ddQ       ed_dd`       edadd!       edbdMdc       eddddT       ededdc       edfdgdh       ediddh       edjddc       edkdd`       edlddV       edmddZ       ednddo      gZ" edpdd<       edqddh       edrdd'       edsdd<       edtdd<       edadd!       edbd\d%       edudd\       edvdd\      g	Z# edwdd!       edxdd!       edydd!       edzdd!       ed{dd!       ed|dd!       ed}dd!       ed~dd!       eddd!       eddd!       eddd!       eddd%       eddd!       eddd!       eddd!       eddd!       eddXd!       eddOd!      gZ$ eddd!       eddd%      gZ% eddd       eddd       eddd       eddd       eddd\       eddd'       eddd       eddd%       eddd       edddh       edddc       eddd!       eddd       eddd<      gZ&y)EnglishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from english.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeo>   r   r   ir	   uy>	   Yr   r   r
   r	   r   wxr   >
   cdr   ghkmnrtF    c                    d| _         | j                  }	 | j                  | _        | j                  d      s
t	               | j                  | _        | j                         sy	 || _        | j                  }	 | j                  | _        | j                  d      s
t               | j                  | _        | j                  d      syd| _         || _        | j                  }	 	 | j                  }	 	 	 | j                  }	 | j                  t        j                        s
t               | j                  | _        | j                  d      s
t               | j                  | _        || _        t               # t        $ r Y w xY w# t        $ r Y w xY w# t        $ r Y nw xY w|| _        | j                  | j                  k\  r
t               | xj                  dz  c_        # t        $ r Y nw xY w| j                  d      syd| _         ,# t        $ r Y nw xY w|| _        	 || _        y# t         $ r
 Y || _        yw xY w)NF'r   r   Tr   )	B_Y_foundcursorbraeq_slab0ket	slice_dellab1
slice_fromin_groupingr   g_vlab5lab4limitlab3lab2)selfv_1v_2v_3v_4v_5s         W/home/agent/.friday_env/lib/python3.12/site-packages/snowballstemmer/english_stemmer.py__r_preludezEnglishStemmer.__r_prelude   s   kk	{{DH99T?f{{DH>># $ kk	{{DH99T?f{{DH??4(!DNkk	kk"&""&++C	.'+'7'78J8J'K*.&L+/;;'+yy*.&L+/;;.1&*f; T T& $(--*-DK#{{djj8&*f KK1,K #   %%??40$%)DN!T!! T 	s   AE6 8AF F "H- 1G$ ?A7F 6	FF	FF	F!G$  F!!AG$ $	G0-H /G00H H H- 	HH- H
H- -	I ?I c                    | j                   | _        | j                   | _        | j                  }	 	 | j                  }	 | j	                  t
        j                        dk(  r
t               t               # t        $ r Y nw xY w|| _        | j                  t
        j                        s
t               | xj                  dz  c_        | j                  t
        j                        s
t               | xj                  dz  c_        n# t        $ r Y nw xY w| j                  | _        | j                  t
        j                        s
t               | xj                  dz  c_        | j                  t
        j                        s
t               | xj                  dz  c_        | j                  | _        || _        y# t        $ r
 Y || _        yw xY w)Nr   r   T)r)   I_p1I_p2r   
find_amongr   a_0r+   r#   go_out_groupingr&   r    go_in_groupingr,   r-   r.   s      r2   __r_mark_regionszEnglishStemmer.__r_mark_regionsT   s^   JJ	JJ	kk	kk"~'9'9:a?"f&L!T!!++N,>,>?&Lq **>+=+=>&Lq DI''(:(:;fKK1K&&~'9'9:fKK1KDI T 	sN   D 6A4 4	B =D ?B  BD F< 	DF< DB!F< <	GGc                    	 | j                   | j                  z
  }	 | j                  t        j                        s
t               | j                  t        j                        s
t               | j                  t        j                        s
t               t               # t
        $ r Y nw xY w| j                   |z
  | _        	 | j                  t        j                        s
t               | j                  t        j                        s
t               | j                  | j                  kD  r
t               t               # t        $ r Y nw xY w| j                   |z
  | _        | j                  d      sy	 y# t        $ r Y yw xY w)NpastFT)r)   r   out_grouping_br   g_v_WXYr#   in_grouping_br&   r    r+   limit_backwardeq_s_br,   r-   s     r2   
__r_shortvzEnglishStemmer.__r_shortvt   s8   	**t{{*C**>+A+AB&L)).*<*<=&L**>+=+=>&Lf**s*DK**>+=+=>&L)).*<*<=&L;;!4!44&Lf**s*DK;;w' (  T 	sN   E; BB! !	B-*E; ,B--E; A?E 	EE; E(E; ;	FFc                 4    | j                   | j                  k  S N)r5   r   r,   s    r2   __r_R1zEnglishStemmer.__r_R1       yyDKK''    c                 4    | j                   | j                  k  S rG   )r6   r   rH   s    r2   __r_R2zEnglishStemmer.__r_R2   rJ   rK   c                 T   | j                   | j                  z
  }	 | j                  | _        | j                  t        j
                        dk(  r| j                   |z
  | _        t               | j                  | _        | j                         sy	 | j                  | _        | j                  t        j                        }|dk(  ry| j                  | _        |dk(  r| j                  d      syy	|dk(  rf	 | j                   | j                  z
  }	 | j                  dz
  }|| j                  k  r
t               || _        | j                  d      syt               |dk(  ru| j                  | j                  k  ry| xj                  dz  c_        | j                  t        j                        sy| xj                  dz  c_        | j                         syy	# t        $ r Y Qw xY w# t        $ r Y nw xY w| j                   |z
  | _        | j                  d      sy	 y	# t        $ r Y y	w xY w)
Nr   Fr   ss   r
   ie   T)r)   r   r!   find_among_br   a_1r    r   r"   a_2r$   rB   r+   r#   go_out_grouping_br&   )r,   r-   	among_varr.   r   s        r2   __r_Step_1azEnglishStemmer.__r_Step_1a   s   jj4;;&		{{DH  !3!349"jj3.f{{DH>># $ ;;%%n&8&89	>;;>??5)6 5 !^jj4;;."aA4..."f"#DK??40$&L !^{{d111KK1K)).*<*<=KK1K>>#G T( !T!"jj3.u-  .    sI   A2G 4H A G$ 
G$ 	G! G!$	G0-H /G00(H 	H'&H'c                 B
   | j                   | _        | j                  t        j                        }| j                   | _        	 | j                  | j                   z
  }	 |dk(  r| j                  | j                   z
  }	 	 | j                  | j                   z
  }	 | j                  t        j                        dk(  r
t               | j                   | j                  kD  r
t               t               |dk(  r
t               |dk(  r| j                  t        j                        }|dk(  r
t               |dk(  r| j                  | j                   z
  }| j!                  t        j"                        s
t               | j                   | j                  kD  r
t               | j                  |z
  | _         | j                   | _        | j                  d      syt%               | j                   | j                  kD  r
t               t%               # t        $ r Y nw xY w| j                  |z
  | _         | j                         s
t               | j                  d      syn# t        $ r Y nw xY wn# t        $ r Y nw xY w| j                  |z
  | _         t%               # t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }| j'                  t        j"                        sy| xj                   dz  c_         | j                  |z
  | _         | j)                         sy| j                   | _        | j                   | _        | j                  | j                   z
  }| j                  t        j*                        }|dk(  r| j                  d      syy|dk(  r| j                  | j                   z
  }	 | j-                  t        j.                        s
t1               | j                   | j                  kD  r
t1               y# t0        $ r Y nw xY w| j                  |z
  | _         nk| j                   | j2                  k7  ry| j                  | j                   z
  }	| j5                         sy| j                  |	z
  | _         | j                  d      syy| j                  |z
  | _         | j                   | _        | j                   | j                  k  ry| xj                   dz  c_         | j                   | _        | j)                         sy	 y	# t$        $ r Y y	w xY w)
Nr   r   eeFrP   rR   rQ   r   T)r   r!   rS   r   a_5r   r)   a_3r(   rB   r*   _EnglishStemmer__r_R1r+   r$   r#   a_4r?   r&   r    rV   r"   a_6rA   g_aeor'   r5   _EnglishStemmer__r_shortv)
r,   rW   r-   r.   r/   r0   r1   v_6v_7v_8s
             r2   __r_Step_1bzEnglishStemmer.__r_Step_1b   s   ;;%%n&8&89	;;Z	**t{{*C)>**t{{2C&*"&**t{{":C.#'#4#4^5G5G#HA#M*.&L#';;1D1D#D*.&L&*f !^&L!^ $ 1 1.2D2D EI A~"f A~"jj4;;6#22>3E3EF"&&L;;)<)<<"&&L&*jj3&6#';;#u5#( f  ;;)<)<<"&&Lf9 $(--*.**s*:DK#';;=&*f#'??5#9', $:#)T)%%"&**s"2DK( f**s*DK**t{{*C)).*<*<=KK1K**s*DK>>#{{DH{{DH**t{{*C)).*<*<=IA~t, ajj4;;."--n.B.BC"f{{T%8%88"f !T!"jj3.;;$))+ jj4;;.( "jj3.t, **s*DK{{DH{{d111KK1K{{DH>># $  T 	s   T J =I AH
 0C"J 7J 
	HI HAI I* 	I&#I* %I&&I* )J *	I63J 5I66!J 	J# T "J##AT 39T -A0T T >AP 	PT P1T 	)T 3%T >T 6T 	TTc                    | j                   | _        	 | j                  | j                   z
  }	 | j                  d      s
t	               t               # t        $ r Y nw xY w| j                  |z
  | _         | j                  d      syn# t
        $ r Y nw xY w| j                   | _        | j                  t        j                        sy	 | j                   | j                  kD  r
t               y# t        $ r Y nw xY w| j                  d      syy)Nr   r   Fr
   T)r   r!   r)   rC   r#   r    r   r?   r   r&   rB   r+   r$   rD   s     r2   __r_Step_1czEnglishStemmer.__r_Step_1c'  s    ;;
	**t{{*C{{4(&Lf**s*DK;;t$ %T;;"">#5#56	{{T000fTt$s@   B %A 	AB A(B 	BB	#C- -	C98C9c                 
   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|d	k(  r| j                  d
      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r| j                  d      syy!|dk(  r%| j                  d      sy| j                  d      syy!|dk(  r| j                  d       syy!| j                  t        j                        sy| j                         syy!)"Nr   Fr   tionrP   encerR   ance   able   ent   ize   ate   al	   ful
   ous   ive   ble   og   l   lessT)r   r!   rS   r   a_7r   r]   r$   rC   rA   
g_valid_LIr"   r,   rW   s     r2   
__r_Step_2zEnglishStemmer.__r_Step_2@  s;   ;;%%n&8&89	>;;{{}>??7+f e !^??7+` _ !^??7+Z Y !^??7+T S !^??6*N M !^??6*H G !^??6*B A !^??5)< ; !^??6*6 5 "_??6*0 / "_??6** ) "_??6*$ # "_??5)  "_;;t$??5)  "_??7+  %%n&?&?@>>#rK   c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                  d      syy|dk(  r| j                  d      syy|dk(  r| j                  d      syy|d	k(  r| j                  d
      syy|dk(  r| j                         syy| j                         sy| j                         syy)Nr   Fr   ri   rP   rs   rR   ru   rl   icrn   T)
r   r!   rS   r   a_8r   r]   r$   r"   _EnglishStemmer__r_R2r   s     r2   
__r_Step_3zEnglishStemmer.__r_Step_3  s    ;;%%n&8&89	>;;{{}>??7+( ' !^??6*" ! !^??5)  !^??5)  !^>>#  ;;=>>#rK   c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                         syy	 | j                  | j                   z
  }	 | j                  d      s
t               t               # t        $ r Y nw xY w| j                  |z
  | _         | j                  d      syn# t        $ r Y nw xY w| j                         syy)Nr   Fr   sr   T)r   r!   rS   r   a_9r   r   r"   r)   rC   r#   r    )r,   rW   r-   s      r2   
__r_Step_4zEnglishStemmer.__r_Step_4  s    ;;%%n&8&89	>;;{{}>>>#" 
jj4;;.";;t,"f&L!T!"jj3.{{4(  )>>#s0   1C& %B0 0	B<9C& ;B<<(C& &	C21C2c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r&	 	 | j                         s
t               t               | j                         sy| j                  d      sy| j                         syy# t        $ r Y nw xY w| j                         sy| j                  | j                   z
  }	 | j                         s
t               y# t        $ r Y nw xY w| j                  |z
  | _         n# t        $ r Y nw xY w| j                         syy)Nr   Fr   r   T)r   r!   rS   r   a_10r   r   r#   r    r]   r)   ra   r+   r"   rC   )r,   rW   r.   s      r2   
__r_Step_5zEnglishStemmer.__r_Step_5  s   ;;%%n&9&9:	>;;>";;="f&L  ;;=;;t$>>#- !T!{{} jj4;;."??,"f !T!"jj3.>># sN   $B( (	B41D! 3B44D! D! "C= =	D	D! D		D! !	D-,D-c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                   | j                  k  ry|dk(  r| j                  d      syy|dk(  r| j                  d      syy|dk(  r| j                  d      syy|d	k(  r| j                  d
      syy|dk(  r| j                  d      syy|dk(  r| j                  d      syy|dk(  r| j                  d      syy)Nr   Fr   skyrP   idlrR   gentlrl   uglirn   earlirp   onlirr   singlT)r   r   r7   r   a_11r!   r)   r$   r   s     r2   __r_exception1zEnglishStemmer.__r_exception1  s   ;;OON$7$78	>;;;;#>??6*& % !^??6*   !^??8,  !^??7+  !^??8,  !^??7+  !^??8,rK   c                    | j                   sy	 | j                  }	 	 	 | j                  }	 | j                  | _        | j                  d      s
t	               | j                  | _        || _        t               # t        $ r Y nw xY w|| _        | j                  | j                  k\  r
t               | xj                  dz  c_        # t        $ r Y nw xY w| j                  d      sy# t        $ r Y nw xY w|| _        	 y)NFTr   r   r   )
r   r   r   r   r+   r!   r#   r)   r    r$   r;   s      r2   __r_postludezEnglishStemmer.__r_postlude  s    ~~++C""kk*'+{{DH#'99T?&*f'+{{DH*-DK"&&L#)T)&);;$**4"&&Lq(  !T!t, DKsH   C AA9 9	BC BAC 	CC* CC* *	C65C6c                    	 | j                   }	 | j                         s
t               t               # t        $ r Y nw xY w|| _         	 | j                   }	 | j                   dz   }|| j                  kD  r
t               || _         t               # t
        $ r Y nw xY w|| _         t               # t        $ r Y nw xY w|| _         | j                          | j                          | j                   | _	        | j                  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }	| j                          | j                  |	z
  | _         | j                  | j                   z
  }
| j!                          | j                  |
z
  | _         | j                  | _         | j                   }| j#                          || _         y# t        $ r Y yw xY w)NrR   T)r   _EnglishStemmer__r_exception1r#   r    r)   r*   r+   _EnglishStemmer__r_prelude_EnglishStemmer__r_mark_regionsrB   _EnglishStemmer__r_Step_1a_EnglishStemmer__r_Step_1b_EnglishStemmer__r_Step_1c_EnglishStemmer__r_Step_2_EnglishStemmer__r_Step_3_EnglishStemmer__r_Step_4_EnglishStemmer__r_Step_5_EnglishStemmer__r_postlude)r,   r-   r.   r   r1   rb   rc   rd   v_9v_10v_11v_12s               r2   _stemzEnglishStemmer._stem  s[   2	++C**,&LfDKkk"aA4::~"f"#DK&L!T!!fDK!!#"&++D**DK**t{{*C**s*DK**t{{*C**s*DK**t{{*C**s*DK**t{{*COO**s*DK**t{{*COO**s*DK::+DOO**t+DK::+DOO**t+DK--DK;;DDK T 	sd   K( $3 	?K( ?
K( 
B0 9B 	BB0 BB0 0	B<9K( ;B<<H+K( (	K43K4arsencommunemerggenerlaterorganr>   universr   r   z's'z'siedrP   r   rR   iesssesrO   ussuccprocexcevencanninnearrherroutr    edeedingedlyeedlyrl   inglybbddffggblmmnnpprratttizancienciogir   li   blir|   abliallirt   fullirv   lesslir   ouslirx   entlirn   alitibilitiivitirz   tionalationalrr   alismationization   rp   izeratorivenessfulnessousnessogistr~   icateativealizeicitiicalrw   nessr   rk   rj   rm   iblers   r{   rq   itiru   ismionerry   antro   mentementr   r   andesatlasbiascosmosearlygentlyhoweidlynewsonlysinglyskiesr   uglyN)'__name__
__module____qualname____doc__r`   r&   r@   r   r   r6   r5   r   r   ra   r]   r   r   r   r   r   r   r   r   r   r   r   r   r8   rT   rU   r\   r^   r[   r_   r   r   r   r   r    rK   r2   r   r      sP   
 E
.CDGMJIDD8t@8((.`_B2=~@:"H><4n 	hBiR hBhBhBhBgr2j"b!	C 	dBfaeRC 	fb!dBfagq!eQeQC 	gr1gr1fb!C 	gr1gr1fb!gr1gr1fb!dBC 	c2reQfafagq!h1h1C 	c2qeQeQeQeQeQeQeQeQeQeQeQeQC" 	gr1gr1fb"eRfagq!gq!h1iBh2h1hAiR hBiQj"a hAhAj"a gr1gr1j"b!j"a j"b!hB3C: 	hAhAhAhAgr1iQj!Qfb!gr1
C 	eRgr1gr1gr1gr1fb!fb!fb!fb!eRfb!fb!eRfb!fb!fb!gr1hA%C, 	dBdBD 	hBhBgr2iR hAiQgr2gr1gr2gr1iQhAfb"gr1DrK   r   c                       e Zd Zy)r    Nr  r  r  r  rK   r2   r    r          rK   r    c                       e Zd Zy)r#   Nr  r  rK   r2   r#   r#     r  rK   r#   c                       e Zd Zy)r+   Nr  r  rK   r2   r+   r+     r  rK   r+   c                       e Zd Zy)r*   Nr  r  rK   r2   r*   r*     r  rK   r*   c                       e Zd Zy)r(   Nr  r  rK   r2   r(   r(     r  rK   r(   c                       e Zd Zy)r'   Nr  r  rK   r2   r'   r'     r  rK   r'   N)basestemmerr   amongr   r   BaseExceptionr    r#   r+   r*   r(   r'   r  rK   r2   <module>r     sX    % `[ `F  =   =   =   =   =   = rK   