
    gW                         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 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       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       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)       ed*dd+       ed,dd-       ed.d/d/       ed0dd1       ed2dd3       ed4dd5       ed6dd7       ed8dd9       ed:dd1       ed;dd-       ed<dd=       ed>dd       ed?d5d@       edAdd1       edBdd@       edCdDdE       edFddE       edGdd@       edHdd=       edIdd3       edJdd7      gZ
 edKdd/       edLddE       edMdd       edNdd/       edOdd/       ed>dd       ed?d9d       edPdd9       edQdd9      g	Z edRdd       edSdd       edTdd       edUdd       edVdd       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d`dd       edadd       edbd+d       edcddd      gZ ededd       edfdd      gZ edgdd       edhdd       edidd       edjdd       edkdd       edldd       edmdd       edndd      gZ edodd       edpdd       edqdd       edrdd       edsdd       edtdd3       edudd@       edvdd       edwddE       edxdd/       edydd       edzdd7       ed{dd=       ed|dd       ed}dd       ed~dd       eddd9       eddd1      gZg dZg dZg dZdZ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%y)EnglishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    arsencommungener'r   z's'    z'sied   s   iesssesssus bbddffggblmmnnpprratttizedeedingedlyeedlyinglyancienciogi   li   bli   abli   alli   fulli	   lessli   ousli
   entli   alitibilitiiviti   tionalational   alismationization      izeratorivenessfulnessousnessicateativealizeicitiicalfulnessicanceenceableibleateiveizeitialismionerousantentmentement   elsucceedproceedexceedcanninginningearringherringoutingandesatlasbiascosmosdyingearlygentlyhoweidlylyingnewsonlysinglyskiesskisskytyingugly)rF   A   rf   r   )r   rF   r      r   )7      r   Fc                    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                  dd      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)	NFr   yYTa   y   r   )	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         T/var/www/openai/venv/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8J8JBPS'T*.&L+/;;'+yy*.&L+/;;.1&*f; T T& $(--*-DK#{{djj8&*f KK1,K #   %%??40$%)DN!T!! T 	s   AE8 8AF F "H/ 1G& ?A9F 8	FF	FF	F# G& "F##AG& &	G2/H 1G22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                  dd      s
t               | xj                  dz  c_        | j                  t
        j                  dd      s
t               | xj                  dz  c_        n# t        $ r Y nw xY w| j                  | _        | j                  t
        j                  dd      s
t               | xj                  dz  c_        | j                  t
        j                  dd      s
t               | xj                  dz  c_        | j                  | _        || _        y# t        $ r
 Y || _        yw xY w)Nr   r   r   r   T)r   I_p1I_p2r   
find_amongr   a_0r   r   go_out_groupingr   r   go_in_groupingr   r   r   s      r   __r_mark_regionszEnglishStemmer.__r_mark_regions   sn   JJ	JJ	kk	kk"~'9'9:a?"f&L!T!!++N,>,>CH&Lq **>+=+=r3G&Lq DI''(:(:BDfKK1K&&~'9'92sCfKK1KDI T 	sN   D 6A4 4	B =D ?B  B
D 
G 	DG DB%G 	GGc                 r   	 | j                   | j                  z
  }	 | j                  t        j                  dd      s
t               | j                  t        j                  dd      s
t               | j                  t        j                  dd      s
t               t               # t
        $ r Y nw xY w| j                   |z
  | _        | j                  t        j                  dd      sy| j                  t        j                  dd      sy| j                  | j                  kD  ry	 y# t        $ r Y yw xY w)NY   r   r   FT)
r   r   out_grouping_br   g_v_WXYr   in_grouping_br   r   limit_backwardr   r   s     r   
__r_shortvzEnglishStemmer.__r_shortv   s   	**t{{*C**>+A+A2sK&L)).*<*<b#F&L**>+=+=r3G&Lf**s*DK&&~'9'92sC%%n&8&8"cB{{T000 1  T 	s;   D* BB' '	B30D* 2B338D* ,!D* D* *	D65D6c                 8    | j                   | j                  k  syyNFT)r   r   r   s    r   __r_R1zEnglishStemmer.__r_R1      yyDKK'    c                 8    | j                   | j                  k  syyr   )r   r   r   s    r   __r_R2zEnglishStemmer.__r_R2  r   r   c                 X   | 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(  rw| j                  | j                  k  ry| xj                  dz  c_        | j                  t        j                  d	d
      sy| xj                  dz  c_        | j                         syy# t        $ r Y Sw 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   r   r   iier   r   r   T)r   r   r   find_among_br   a_1r   r   r   a_2r   r   r   r   go_out_grouping_br   )r   r   	among_varr   cs        r   __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)).*<*<b#FKK1K>>#G T( !T!"jj3.u-  .    sI   A2G 4H A G& 
G& 	G#"G#&	G2/H 1G22(H 	H)(H)c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r$| j                         sy| j                  d      syy	| j                  | j                   z
  }| j                  t        j                  dd      sy| xj                   dz  c_         | j                  |z
  | _         | j                         sy| j                  | j                   z
  }| j                  t        j                        }|dk(  ry| j                  |z
  | _         |dk(  r;| j                   }| j                  | j                   | j                   d       || _         y	|dk(  rc| j                   | _        | j                   | j                  k  ry| xj                   dz  c_         | j                   | _        | j                         syy	| j                   | j                  k7  ry| j                  | j                   z
  }| j!                         sy| j                  |z
  | _         | j                   }| j                  | j                   | j                   d       || _         y	)
Nr   Fr   eer   r   rg   r   T)r   r   r   r   a_4r   _EnglishStemmer__r_R1r   r   r   r   r   a_3insertr   r   _EnglishStemmer__r_shortv)r   r   r   r   r   r   s         r   __r_Step_1bzEnglishStemmer.__r_Step_1bP  s   ;;%%n&8&89	>;;>;;=??5)L I **t{{*C)).*<*<b#FKK1K**s*DK>>#**t{{*C)).*<*<=IA~**s*DKA~KKDKKd;( ' a;;;;$"5"55 q ;;~~'   ;;$))+ jj4;;.( "jj3.KKDKKd;r   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                  dd      sy	 | j                   | j                  kD  r
t               y# t        $ r Y nw xY w| j                  d      syy)Nr   r   Fr   r   r   T)r   r   r   eq_s_br   r   r   r   r   r   r   r   r   r   s     r   __r_Step_1czEnglishStemmer.__r_Step_1c  s    ;;
	**t{{*C{{4(&Lf**s*DK;;t$ %T;;"">#5#5r3?	{{T000fTt$s@   B %A 	AB A(B 	BB#C/ /	C;:C;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| j                  d      syy"|dk(  r| j                  d      syy"| j                  t        j                  d d!      sy| j                         syy")#Nr   Fr   tionr   rV   r   rU   r1   rW   r;   rc   rG   r[   rB   rY   r3   r]   r5   rR   r9   ra   r?   rZ   r/   bler+   rh   ogr7   lessc   t   T)r   r   r   r   a_5r   r   r   r   r   
g_valid_LIr   r   r   s     r   
__r_Step_2zEnglishStemmer.__r_Step_2  s    ;;%%n&8&89	>;;{{}>??7+` _ !^??7+Z Y !^??7+T S !^??7+N M !^??6*H G !^??6*B A !^??6*< ; !^??5)6 5 !^??6*0 / "_??6** ) "_??6*$ # "_??6*  "_;;t$??5)  "_??7+  %%n&?&?SI>>#r   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   r   r   rY   r   r]   r1   rT   r;   T)
r   r   r   r   a_6r   r   r   r   _EnglishStemmer__r_R2r   s     r   
__r_Step_3zEnglishStemmer.__r_Step_3  s    ;;%%n&8&89	>;;{{}>??7+( ' !^??6*" ! !^??5)  !^??5)  !^>>#  ;;=>>#r   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   r   tT)r   r   r   r   a_7r   r   r   r   r   r   r   )r   r   r   s      r   
__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                  | j                   z
  }	 | j                         s
t               t               | j                         sy| j                  d      sy| j                         syy# t        $ r Y nw xY w| j                  |z
  | _         | 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   rh   T)r   r   r   r   a_8r   r   r   r   r   r   r   r   r   r   )r   r   r   r   s       r   
__r_Step_5zEnglishStemmer.__r_Step_5  s1   ;;%%n&8&89	>;;>jj4;;.";;="f&L" ;;=;;t$>>#/ !T!"jj3.{{} jj4;;."??,"f !T!"jj3.>># sT   E ($C 	C
E C'E 5E D* *	D63E 5D66E 	EEc                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                   | j                  kD  ryy)Nr   FT)r   r   r   r   a_9r   r   r   s    r   __r_exception2zEnglishStemmer.__r_exception2:  sL    ;;^//0A5;;;;,,,r   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|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   skir   r   r   dier1   lier;   tierG   idlrB   gentlr3   uglir5   earlir9   onlir?   singlT)r   r   r   r   a_10r   r   r   r   s     r   __r_exception1zEnglishStemmer.__r_exception1C  s   ;;OON$7$78	>;;;;#>??6*> = !^??6*8 7 !^??6*2 1 !^??6*, + !^??6*& % !^??6*   !^??8,  !^??7+  !^??8,  "_??7+  "_??8,r   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      r   __r_postludezEnglishStemmer.__r_postluden  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                         s
t               t               # t        $ r Y nw xY w| 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
  | _         n# t        $ r Y nw xY w| j                  | _         | j                   }| j)                          || _         y# t        $ r Y yw xY w)Nr   T)r   _EnglishStemmer__r_exception1r   r   r   r   r   _EnglishStemmer__r_prelude_EnglishStemmer__r_mark_regionsr   _EnglishStemmer__r_Step_1a_EnglishStemmer__r_exception2r   r   _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   r   v_6v_7v_8v_9v_10v_11v_12v_13s                r   _stemzEnglishStemmer._stem  s   ;	++C**,&LfDKkk"aA4::~"f"#DK&L!T!!fDK!!#"&++D**DK**t{{*C**s*DKjj4;;."..0"f&L!T!"jj3.jj4;;.  ""jj3.jj4;;.  ""jj3.jj4;;.!"jj3.zzDKK/!"jj4/zzDKK/!"jj4/zzDKK/!"jj4/--DK;;DDK T 	s   M $3 	?M ?
M 
B0 9B 	BB0 BB0 0	B<9M ;B<<B	M L  $F 	FL FFL M 	L"M !L""7M 	M&%M&N)&__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r   r   r   r   r      s
    	hBiR hBC 	dBfaeRC 	fb!dBfagq!eQeQC 	c2qeQeQeQeQeQeQeQeQeQeQeQeQC" 	eRfafb!gr1h1hA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!1C8 	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C 	j"b!j"b!iR j"b!iR j"b!j"b!iR 	C 	hBhBgr2iR hAhAiQgr2gr1hAgr2gr2iR hAgr1fb"hAgr1%D* C!GJIDD8t@,

.`0d2:x@:$L)V<=r   r   c                       e Zd Zy)r   Nr  r  r  r  r   r   r   r         r   r   c                       e Zd Zy)r   Nr  r  r   r   r   r     r  r   r   c                       e Zd Zy)r   Nr  r  r   r   r   r     r  r   r   c                       e Zd Zy)r   Nr  r  r   r   r   r     r  r   r   c                       e Zd Zy)r   Nr  r  r   r   r   r     r  r   r   c                       e Zd Zy)r   Nr  r  r   r   r   r     r  r   r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r  r   r   <module>r      sX    % B[ BJ  =   =   =   =   =   = r   