
    Mid?                         S SK Jr  S SKJr   " S S\5      r " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      r	 " S S\5      r
 " S S\5      rg)   )BaseStemmer)Amongc            "          \ rS rSrSr\" SSS5      \" SSS5      \" SSS5      \" S	SS5      \" S
SS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /
r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      /r	\" SSS5      \" S SS5      \" S!SS5      \" S"SS5      \" S#SS5      \" S$SS%5      \" S&SS'5      \" S(SS)5      \" S*SS5      /	r
\" S+SS5      \" S,SS5      \" S-SS5      \" S.SS5      \" S/SS5      \" S0SS5      \" S1SS5      /r\" S2SS35      \" SS4S5      \" SS4S5      \" SS4S5      \" SS4S5      \" SS%S5      \" SS%S5      \" S5S%S5      \" SSS5      \" SSS5      \" S6SS5      \" S7SS5      \" S	S8S5      \" S9S8SS:5      \" S;S8SS<5      \" S=S8S5      \" S>S8SS:5      \" S?S8S5      \" S@S8SS:5      \" SAS8S%5      \" SS8S)5      \" SBS8S'5      \" SCSS35      \" SSDS5      \" SSDS5      \" SSDS5      \" SSDS5      \" SSES5      \" SSES5      \" SFSES5      /r\" SGSS5      \" SHSS5      \" SISS5      \" SJSS5      \" SKSS5      \" SLSS5      \" SMS)S5      \" SNSS5      \" SOSS5      \" SPSS5      \" SQSS5      \" SRSSS5      \" STSS5      \" SUSVS5      /r\" SWSS5      \" SXSS5      /r\" SHSS5      \" SIS4S5      /r/ SYQr/ SZQr/ S[Qr/ S\Qr/ S]QrS^rS_rS4rS4rS` rSa rSb rSc rSd rSe rSf rSg r Sh r!Si r"Sj r#Sk r$Slr%gm)nFinnishStemmer   z
This class implements the stemming algorithm defined by a snowball script.
Generated by Snowball 2.2.0 - https://snowballstem.org/
par   sti   kaanhankinu   hänu   käänkou   päu   köllanassatalta   stau   lläu   näu   ssäu   täu   ltäu   ställeinensammennenisian   en   u   än   u   nsäaaeeiioouuu   ääu   ööa       ttaksin   den_FinnishStemmer__r_VIseen_FinnishStemmer__r_LONGhenttenhinsiinhonu   hön   ä      u   ttäejammaimmampaimpammiimmimpiimpiu   ejäu   mmäu   immä
   u   mpäu   impä   ij)   r   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r)   )w      rI   r   )rH   A      r   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r)   r*       )rH   rK   rL   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r)   r*   rM   )rH   a      r   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r*   r)   r*   rM   F c                    U R                   U l        U R                   U l        U R                  [        R
                  SS5      (       d  gU R                  [        R
                  SS5      (       d  gU =R                  S-  sl        U R                  U l        U R                  [        R
                  SS5      (       d  gU R                  [        R
                  SS5      (       d  gU =R                  S-  sl        U R                  U l        g)NrN      Fr   T)limitI_p1I_p2go_out_groupingr   g_V1go_in_groupingcursorselfs    y/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/snowballstemmer/finnish_stemmer.py__r_mark_regionsFinnishStemmer.__r_mark_regions   s    JJ	JJ	##N$7$7SAA"">#6#6C@@qKK	##N$7$7SAA"">#6#6C@@qKK	    c                 :    U R                   U R                  ::  d  ggNFT)rU   rY   rZ   s    r\   __r_R2FinnishStemmer.__r_R2   s    yyDKK'r_   c                    U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  [
        R                  5      nUS:X  a  Xl        gU R                   U l        Xl        US:X  a(  U R                  [
        R                  SS5      (       d  gOU R                  5       (       d  gU R                  5       (       d  gg)NFr*   r   rN   rR   T)rY   rT   limit_backwardketfind_among_br   a_0brain_grouping_bg_particle_end_FinnishStemmer__r_R2	slice_del)r[   v_2	among_vars      r\   __r_particle_etcFinnishStemmer.__r_particle_etc   s    ;;"!!"ii;;%%n&8&89	>"%;;!>%%n&C&CRMM N ;;==~~r_   c                    U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  [
        R                  5      nUS:X  a  Xl        gU R                   U l        Xl        US:X  a;  U R                  U R                   -
  n U R                  S5      (       d
  [        5       egUS:X  ah  U R                  5       (       d  gU R                   U l        U R                  S5      (       d  gU R                   U l        U R                  S5      (       d  g gUS:X  a  U R                  5       (       d  g gUS	:X  a<  U R	                  [
        R                  5      S:X  a  gU R                  5       (       d  g gUS
:X  a<  U R	                  [
        R                  5      S:X  a  gU R                  5       (       d  g gU R	                  [
        R                  5      S:X  a  gU R                  5       (       d  gg! [         a     Of = fU R                  U-
  U l         U R                  5       (       d  g g)NFr*   r   kr   kser,   r   r   r"   T)rY   rT   re   rf   rg   r   a_4ri   rS   eq_s_blab0rm   
slice_froma_1a_2a_3r[   rn   ro   v_3s       r\   __r_possessiveFinnishStemmer.__r_possessive   s   ;;"!!"ii;;%%n&8&89	>"%;;!>**t{{*C{{4((&L !^>>##{{DH;;v&&{{DH??6** +0 - !^>>## $* % !^  !3!349>>## $  !^  !3!349>>## $    !3!349>>##K **s*DK>>## $F s   - H 
H&%H&c                 L    U R                  [        R                  5      S:X  a  gg)Nr*   FT)rg   r   a_5rZ   s    r\   __r_LONGFinnishStemmer.__r_LONG   s!    ^//0A5r_   c                     U R                  S5      (       d  gU R                  [        R                  SS5      (       d  gg)NrF   FrN   rR   T)rv   rj   r   g_V2rZ   s    r\   __r_VIFinnishStemmer.__r_VI   s5    {{4  !!."5"5r3??r_   c                 B   U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  [
        R                  5      nUS:X  a  Xl        gU R                   U l        Xl        US:X  a  U R                  S5      (       d  gGOjUS:X  a  U R                  S5      (       d  gGOKUS:X  a  U R                  S5      (       d  gGO,US	:X  a  U R                  S
5      (       d  gGOUS:X  a  U R                  S5      (       d  gOUS:X  a  U R                  S5      (       d  gOUS:X  aw  U R                  U R                   -
  n U R                  U R                   -
  n U R                  U R                   -
  n U R                  5       (       d
  [        5       e[        5       eUS:X  aN  U R                  [
        R                  SS5      (       d  gU R                  [
        R                   SS5      (       d  gU R#                  5       (       d  gSU l        g! [         a     Of = fU R                  U-
  U l         U R                  S5      (       d  U R                  U-
  U l         [        5       eO! [         a     Of = fU R                  U-
  U l         U R                   U R                  ::  a  U R                  U-
  U l         [        5       eU =R                   S-  sl         U R                   U l        N! [         a     GNf = f)NFr*   r   r(   r   er   rF   r   or"   r8   r!      ör   ier)   rN   rR   b   z   T)rY   rT   re   rf   rg   r   a_6ri   rv   rS   r2   lab2lab1rw   rj   rW   g_Crm   B_ending_removed)r[   rn   ro   r}   v_4v_5s         r\   __r_case_endingFinnishStemmer.__r_case_ending  s   ;;"!!"ii;;%%n&8&89	>"%;;!>;;t$$ %!^;;t$$ %!^;;t$$ %!^;;t$$ %!^;;y)) *!^;;y)) *!^**t{{*Cjj4;;."**t{{2C&#}}"&&L"f !^%%n&9&92sCC%%n&8&8"cBB~~ $-  %%"&**s"2DK;;u--&*jj3&6"f . !T!"jj3.;;$"5"55"&**s"2DK&Lq ;;sV   %L ?J )H4 4
I>J  IAJ L 
JL JA5L 
LLc                    U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  [
        R                  5      nUS:X  a  Xl        gU R                   U l        Xl        US:X  a;  U R                  U R                   -
  n U R                  S5      (       d
  [        5       egU R                  5       (       d  gg! [         a     Of = fU R                  U-
  U l         N<)NFr*   r   poT)rY   rU   re   rf   rg   r   a_7ri   rS   rv   rw   rm   r|   s       r\   __r_other_endings FinnishStemmer.__r_other_endingsD  s    ;;"!!"ii;;%%n&8&89	>"%;;!>**t{{*C{{5))&L ~~ **s*DKs   - C% %
C21C2c                 D   U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  [
        R                  5      S:X  a  Xl        gU R                   U l        Xl        U R                  5       (       d  gg)NFr*   T)	rY   rT   re   rf   rg   r   a_8ri   rm   )r[   rn   s     r\   __r_i_pluralFinnishStemmer.__r_i_plural]  s}    ;;"!!"ii;;^//0A5"%;;!~~r_   c                    U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R	                  S5      (       d  Xl        gU R                   U l        U R                  U R                   -
  nU R                  [        R                  SS5      (       d  Xl        gU R                  U-
  U l         U R                  5       (       d  gXl        U R                   U R                  :  a  gU R                  nU R                  U l        U R                   U l        U R                  [        R                  5      nUS:X  a  X0l        gU R                   U l        X0l        US:X  a;  U R                  U R                   -
  n U R	                  S5      (       d
  [        5       egU R                  5       (       d  gg! [         a     Of = fU R                  U-
  U l         N<)	NFtrN   rR   r*   r   r   T)rY   rT   re   rf   rv   ri   rS   rj   r   rW   rm   rU   rg   a_9rw   )r[   rn   r}   r   ro   v_6s         r\   __r_t_pluralFinnishStemmer.__r_t_pluralm  s   ;;"!!"ii;;{{4  "%;;jj4;;&!!."5"5r3??"%jj3&~~!;;"!!"ii;;%%n&8&89	>"%;;!>**t{{*C{{5))&L ~~ **s*DKs    G 
GGc                 	   U R                   U R                  :  a  gU R                  nU R                  U l        U R                  U R                   -
  n U R                  U R                   -
  nU R	                  5       (       d
  [        5       eU R                  U-
  U l         U R                   U l        U R                   U R                  ::  a
  [        5       eU =R                   S-  sl         U R                   U l        U R                  5       (       d  g U R                  U-
  U l         U R                  U R                   -
  n U R                   U l        U R                  [        R                  SS5      (       d
  [        5       eU R                   U l        U R                  [        R                  SS5      (       d
  [        5       eU R                  5       (       d  g U R                  U-
  U l         U R                  U R                   -
  n U R                   U l        U R                  S5      (       d
  [        5       eU R                   U l         U R                  U R                   -
  n U R                  S5      (       d
  [!        5       e[#        5       e! [
         a     GNf = f! [         a     Nf = f! [          a     Of = fU R                  U-
  U l         U R                  S	5      (       d
  [        5       eO! ["         a     Of = fU R                  5       (       d  gO! [         a     Of = fU R                  U-
  U l         U R                  U R                   -
  n U R                   U l        U R                  S5      (       d
  [%        5       eU R                   U l        U R                  S5      (       d
  [%        5       eU R                  5       (       d  gO! [$         a     Of = fU R                  U-
  U l         Xl        U R'                  [        R(                  SS
5      (       d  gU R                   U l        U R                  [        R                  SS5      (       d  gU R                   U l        U R+                  5       U l        U R,                  S:X  a  gU R                  U R,                  5      (       d  gU R                  5       (       d  gg)NFr   rN      r   r   rG   r   urR   rP   T)rY   rT   re   rS   r2   rw   rf   ri   rm   rj   r   g_AEIr   r   rv   r   lab4lab3lab5go_in_grouping_brW   slice_toS_x)r[   rn   r}   r   r   r   v_7v_8s           r\   __r_tidyFinnishStemmer.__r_tidy  s   ;;"!!"iijj4;;&	**t{{*C==??f**s*DK{{DH{{d111fKK1K{{DH>>## $ jj3&jj4;;&
	{{DH%%n&:&:BDDf{{DH%%n&8&8"cBBf>>## $ jj3&jj4;;&	{{DH;;t$$f{{DH
jj4;;.";;t,,"f&L5 T T !T!"jj3.{{4((&L )>>## $ Tjj3&jj4;;&
	{{DH;;t$$f{{DH;;t$$f>>## $ Tjj3&!$$^%8%8"cBB;;!!."4"4b#>>;;==?88r>{{488$$~~s   B<J ?BJ AL 	K3 #*J. 
JJ
J+*J+.
J;8K3 :J;;7K3 2L 3
L =L ?L  L 
L'&L'A7O 
OOc                    U R                   nU R                  5         Xl         SU l        U R                   U l        U R                  U l         U R                  U R                   -
  nU R                  5         U R                  U-
  U l         U R                  U R                   -
  nU R                  5         U R                  U-
  U l         U R                  U R                   -
  nU R                  5         U R                  U-
  U l         U R                  U R                   -
  nU R                  5         U R                  U-
  U l           U R                  (       d
  [        5       eU R                  U R                   -
  nU R                  5         U R                  U-
  U l         [        5       e! [         a     Of = fU R                  U R                   -
  nU R                  5         U R                  U-
  U l         O! [         a     Of = fU R                  U R                   -
  nU R                  5         U R                  U-
  U l         U R                  U l         gra   )rY   _FinnishStemmer__r_mark_regionsr   re   rS   _FinnishStemmer__r_particle_etc_FinnishStemmer__r_possessive_FinnishStemmer__r_case_ending _FinnishStemmer__r_other_endingsr   _FinnishStemmer__r_i_pluralrw   _FinnishStemmer__r_t_plural_FinnishStemmer__r_tidy)	r[   v_1rn   r}   r   r   r   r   v_9s	            r\   _stemFinnishStemmer._stem  s   kk %"kkjjjj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;& jj3&	,,&Ljj4;;.!!#"jj3.f**t{{*C**s*DKTjj4;;&jj3&))s,   A"F$ $
F1.G2 0F11A G2 2
G?>G?)r   rT   rU   r   ri   rY   rf   re   N)&__name__
__module____qualname____firstlineno____doc__r   rh   ry   rz   r{   ru   r   r   r   r   r   r   r   rW   r   rk   r   r   rU   rT   r   rl   r   r   r2   r0   r   r   r   r   r   r   __static_attributes__ r_   r\   r   r      s    	eRfb!gr1fb!fb!k2q!Q'eRj"a j"a C 	fb"eRfb"eRfafaC 	k2r"j"b!k2r"j"b!k1b!k1b!C 	fb"fb"C 	fb!fb!fb!eReReReRj"a k2q!
C 	eReReReReRor2&or2&C 	dBfaeQfaeQfafafafb"fb"fb"dBfb!fb"56gr289fb!gr267fb!gr267fb!k2q!k2q!iQk2r"j"b!k2r"j"b!k2r"k2r"k2q!=CD 	fb"fb!gq"fb!gq"fb!gq"fb!gq"k2r"k2q!lB#k2q!lB#C$ 	dBdBC 	fb!gq"C
 AE
CHDHDRN
CDD"
.7r
>@2 )VTl$r_   r   c                       \ rS rSrSrg)rw   i  r   Nr   r   r   r   r   r   r_   r\   rw   rw         4r_   rw   c                       \ rS rSrSrg)r   i  r   Nr   r   r_   r\   r   r     r   r_   r   c                       \ rS rSrSrg)r   i  r   Nr   r   r_   r\   r   r     r   r_   r   c                       \ rS rSrSrg)r   i  r   Nr   r   r_   r\   r   r     r   r_   r   c                       \ rS rSrSrg)r   i!  r   Nr   r   r_   r\   r   r   !  r   r_   r   c                       \ rS rSrSrg)r   i$  r   Nr   r   r_   r\   r   r   $  r   r_   r   N)basestemmerr   amongr   r   BaseExceptionrw   r   r   r   r   r   r   r_   r\   <module>r      sX    % K[ K\  =   =   =   =   =   = r_   