
    1 f                        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 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 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 G d- d.e          Z G d/ d0e          Z G d1 d2e          Z G d3 d4e          Z G d5 d6e          Z G d7 d8e          Z G d9 d:e          Z  G d; d<e          Z! G d= d>e          Z" G d? d@e          Z# G dA dBe          Z$ G dC dDe          Z% G dE dFe          Z& G dG dHe          Z' G dI dJe          Z( G dK dLe          Z) G dM dNe          Z* G dO dPe          Z+ G dQ dRe          Z, G dS dTe          Z- G dU dVe          Z. G dW dXe          Z/ G dY dZe          Z0 G d[ d\e          Z1 G d] d^e          Z2 G d_ d`e          Z3 G da dbe          Z4 G dc dde          Z5 G de dfe          Z6 G dg dhe          Z7 G di dje          Z8 G dk dle          Z9 G dm dne          Z: G do dpe          Z; G dq dre          Z< G ds dte          Z= G du dve          Z> G dw dxe          Z?dyS )z   )BaseStemmer)Amongc                   l   e 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           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          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          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          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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           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           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          gZ 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          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d0dd           ed1dd           ed2dd           ed3dd           ed4d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          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          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          gZ ed/dd           ed5dd          gZ ed!dd           ed6dd           ed"dd           ed7dd           ed#dd           ed8dd           ed9d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          gZ ed?dd           ed@dd           edAdd           edBdd           edCdd           edDdd          gZdEZdEZ dF Z!dG Z"dH Z#dI Z$dJ Z%dK Z&dL Z'dM Z(dN Z)dO Z*dP Z+dQ Z,dR Z-dS Z.dT Z/dUS )VTamilStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
       கu   ங   சu   ஞ   தu   ந   ப   ம   யu   வu	   ந்தu   ந்த்u   ந்   ி   ீ   ைu   டu   றu   ரu   லu   ளu   ழu   ண   னu   வ்   ாu   ுu   ூu   ெu   ேu   அu   இ   உu   ோu   பிu   விu   பட்டu   பட்டணu	   தானu   படிதான   u   குரியu	   படிu   பற்றிu	   படுu   விடுu   பட்டுu   விட்டுu   பட்டதுu   ெல்லாம்u   கொண்டிர்u   ஆu   ஈ   ஊ   எu   ஏu   ஐ   ஒ   ஓu   ஔu	   கிறu   கின்றu   ாநின்றu   கிற்u   கின்ற்u   ாநின்ற்Fc                 :    t          | j                  dk    sdS dS )N   FT)lencurrentselfs    S/var/www/equiseq/venv/lib/python3.11/site-packages/snowballstemmer/tamil_stemmer.py__r_has_min_lengthzTamilStemmer.__r_has_min_length  s!    4<  1$$5t    c                    	 | j         }	 | j         }| j         }	 |                     d          s|| _         t                      n# t          $ r Y nw xY w|| _         | j         | _        |                     d          st	                      | j         | _        |                     d          sdS t                      # t          $ r Y nw xY w|| _         	 | j         }| j         }	 |                     d          s|| _         t                      n# t          $ r Y nw xY w|| _         | j         | _        |                     d          st                      | j         | _        |                     d          sdS t                      # t          $ r Y nw xY w|| _         	 | j         }| j         }	 |                     d          s|| _         t                      n# t          $ r Y nw xY w|| _         | j         | _        |                     d          st                      | j         | _        |                     d          sdS t                      # t          $ r Y nw xY w|| _         | j         }| j         }		 |                     d          s|	| _         t                      n# t          $ r Y nw xY w|| _         | j         | _        |                     d          sdS | j         | _        |                     d	          sdS n# t          $ r Y nw xY wd
S )Nu   வோr   Fu   வொr   u   வுr   u   வூr   T)cursoreq_slab2bralab1ket
slice_fromlab0lab4lab3lab6lab5lab7)
r   v_1v_2v_3v_4v_5v_6v_7v_8v_9s
             r   __r_fix_va_startzTamilStemmer.__r_fix_va_start	  s@   F	+Ckk"99_55 %&)"ff% !!!TT!!;yy11 !&&L;y11 ! 5ffDKkk"99_55 %&)"ff% !!!TT!!;yy11 !&&L;y11 ! 5ffDKkk"99_55 %&)"ff% !!!TT!!;yy11 !&&L;y11 ! 5ffDK+C+Cyy11 !"%DK&&L! DK{DH99_-- u{DH??9-- uTTts  K< B; *A B; 
AB; AAB; -B; ;
CK< C
K< F "*D F 
DF DAF 6F 
FK< F
K< I +*G I 
G# I "G##AI ?I 
IK< IK< 3*J K< 
J+(K< *J+++K< !K< <
L	L	c                     | j         }	 	 | j         }	 |                                 st                      ,# t          $ r Y nw xY w|| _         n# t          $ r Y nw xY w|| _         dS NT)r#   _TamilStemmer__r_fix_endingr'   r*   r   r0   r1   s      r   __r_fix_endingszTamilStemmer.__r_fix_endingsS  s    k
	k"..00 %"ff!!!TT!!TTts0   A "5 A 
AA A
A 
AAc                 L   | j         | _        |                     d          sdS |                     t          j                  dk    rdS |                     d          sdS | j         | _        |                                 sdS | j         }|                                  || _         dS )Nr   F       ்T)	r#   r&   r$   
find_amongr   a_0r(   	slice_del_TamilStemmer__r_fix_va_startr   r0   s     r   __r_remove_question_prefixesz)TamilStemmer.__r_remove_question_prefixesc  s    ;yy## 	5??<+,,115yy## 	5;~~ 	5ktr!   c                    t          | j                  dk    sdS | j        | _        | j        | _        	 | j        | j        z
  }	 | j        | _        |                     t          j                  dk    rt                      | j        | _
        |                                 sdS t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st                      | j        | j        z
  }|                     t          j                  dk    rt                      | j        |z
  | _        | j        | _
        |                                 sdS t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | _        	 | j        | j        z
  }	 |                     d          st!                      t#                      # t           $ r Y nw xY w| j        |z
  | _        |                     d          st%                      n# t"          $ r Y nw xY w| j        | _
        |                     d          sdS t                      # t$          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st)                      | j        | _
        |                     d	          sdS t                      # t(          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d
          st+                      | j        | _
        |                     d	          sdS t                      # t*          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st-                      | j        | _
        |                     d          sdS t                      # t,          $ r Y nw xY w| j        |z
  | _        	 | j        st1                      | j        | _        |                     d          st1                      | j        | j        z
  }| j        | j        z
  }	 |                     d          st3                      t1                      # t2          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        | j        | _
        |                     d          sdS | j        | _
        t                      # t0          $ r Y nw xY w| j        |z
  | _        	 | j        | _        	 | j        | j        z
  }	 |                     d          st5                      t7                      # t4          $ r Y nw xY w| j        |z
  | _        |                     d          st9                      n# t6          $ r Y nw xY w| j        | _
        |                     d          sdS t                      # t8          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st;                      |                     t          j                  dk    rt;                      |                     d          st;                      |                     t          j                  dk    rt;                      | j        | _
        |                                 sdS t                      # t:          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          stA                      | j        | _
        |                     d          sdS t                      # t@          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          stC                      |                     t          j"                  dk    rtC                      | j        | _
        |                                 sdS t                      # tB          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          stG                      	 | j        | j        z
  }	 |                     t          j$                  dk    rtK                      tM                      # tJ          $ r Y nw xY w| j        |z
  | _        |                     t          j'                  dk    rtG                      n# tL          $ r Y nw xY w|                     d          stG                      | j        | _
        |                     d          sdS t                      # tF          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     t          j(                  dk    rtS                      | j        | _
        |                                 sdS t                      # tR          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          stU                      | j        | j        z
  }| j        | j        z
  }		 |                     t          j+                  dk    rtY                      tU                      # tX          $ r Y nw xY w| j        |	z
  | _        | j        |z
  | _        | j        | _
        |                                 sdS t                      # tT          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st[                      | j        | j        z
  }
| j        | j        z
  }	 |                     d          st]                      t[                      # t\          $ r Y nw xY w| j        |z
  | _        | j        |
z
  | _        | j        | _
        |                     d          sdS t                      # tZ          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st_                      | j        | _
        |                                 sdS t                      # t^          $ r Y nw xY w| j        |z
  | _        | j        | _        |                     d          sdS | j        | j        z
  }	 | j        | j        z
  }	 |                     t          j0                  dk    rtc                      te                      # tb          $ r Y nw xY w| j        |z
  | _        |                     d          sdS n# td          $ r Y nw xY w| j        |z
  | _        | j        | _
        |                                 sdS n# t          $ r Y nw xY w| j        | _        dS )N   Fr@   u   ய்u   ட்ப்u   ட்க்   ள்u   ன்ற்   ல்u   ற்க்u   ட்ட்u   டுu   த்த்r   u   ம்u	   ுக்u   ுக்க்rA   u   னுu   ங்T)3r   r   r#   limit_backwardlimitr(   find_among_br   a_1r'   r&   rD   r*   eq_s_br%   a_2r.   r+   r,   r)   r-   r/   lab8B_found_vetrumai_urupulab9lab10lab13lab12lab11lab14a_3a_4lab15lab16a_5lab17a_6lab19lab18a_7a_8lab20lab21a_9lab22lab23lab24lab25a_10lab27lab26)r   r0   r1   r2   r3   r4   r5   r6   r7   r8   v_10v_11v_12v_13s                 r   __r_fix_endingzTamilStemmer.__r_fix_endingt  sQ   4<  1$$5"kjF	*t{*C	;$$\%566!;;&&L;~~'' ! 5ff*s*DK;{{?33 !&&Lj4;.$$\%566!;;&&L"j3.;~~'' ! 5ff*s*DK;
"*t{2C&#{{+FGG )"&&&L"ff%%%%"&*s"2DK;;'BCC %"ff%!!!TT!;77 ! 5ff*s*DK;{{#>?? !&&L;77 ! 5ff*s*DK;{{#>?? !&&L;77 ! 5ff*s*DK;{{#>?? !&&L;77 ! 5ff*s*DK2 !&&L;{{#>?? !&&Lj4;.j4;.#;;y11 &#gg&&L"""dd""j3."j3.;77 ! 5;ff*s*DK;
#*t{2C'#{{+@AA *"'''M#gg &&&$$&"&*s"2DK;;'HII &#gg&"""dd";y11 ! 5ff$$*s*DK;{{9-- "''M$$\%566!;;''M{{9-- "''M$$\%566!;;''M;~~'' ! 5ff$$*s*DK;{{#899 "''M;y11 ! 5ff$$*s*DK;{{9-- "''M$$\%566!;;''M;~~'' ! 5ff$$*s*DK;{{9-- "''M
#*t{2C',,\-=>>!CC"'''M#gg &&&$$&"&*s"2DK(()9::a??#gg @"""dd"{{9-- "''M;y11 ! 5ff$$*s*DK	;$$\%566!;;''M;~~'' ! 5ff$$*s*DK;{{?33 "''Mj4;.j4;.#(()9::a??#gg''M"""dd""j3."j3.;~~'' ! 5ff$$*s*DK;{{?33 "''MzDK/zDK/#;;y11 &#gg''M"""dd""j4/"j4/;77 ! 5ff$$*s*DK	;{{?33 "''M;~~'' ! 5ff$$*s*DK{DH;;y)) u:+D
zDK/#(():;;q@@#gg''M"""dd""j4/{{9-- ! 5!$$*t+DK{DH>>## u TT)ts  v9 AB1 #B1 1
B>;v9 =B>>v9 BE? 1E? ?
F	v9 Fv9 I1 ,H0 <1G- -
G:7H0 9G::5H0 /I1 0
H=:I1 <H==$I1 #I1 1
I>;v9 =I>>v9 AK1 #K1 1
K>;v9 =K>>v9 AM1 #M1 1
M>;v9 =M>>v9 AO1 #O1 1
O>;v9 =O>>v9 A"T 41R% %
R2/T 1R22AT 6T 
Tv9 Tv9 0X =W 1U> >
VW 
V5W  X 
WX W$X 4X 
Xv9 Xv9 "C\ 8\ 
\v9 \v9 &A^ 8^ 
^v9 ^v9 &B `6 (`6 6
a v9 av9 /f
 d& ?c 
c"d& !c""Ad& %f
 &
d30f
 2d33Af
 <f
 

fv9 fv9 *Ah 	h 
h$!v9 #h$$v9 7Al" ?k 
kl" kAl" l" "
l/,v9 .l//v9 Ap  1o 
op  oAp  p   
p-*v9 ,p--v9  Ar r 
r,)v9 +r,,3v9 !v9 1u7 ?u   
u
u7 u'u7 6v9 7
vv9 v2v9 9
wwc                    d| _         | j        | _        |                     t          j                  dk    rdS |                     t          j                  dk    rdS |                     d          sdS | j        | _        | 	                                sdS d| _         | j        }| 
                                 || _        dS NFr@   rA   T)B_found_a_matchr#   r&   rB   r   a_11a_12r$   r(   rD   rE   rF   s     r   __r_remove_pronoun_prefixesz(TamilStemmer.__r_remove_pronoun_prefixes  s    $;??<,--225??<,--225yy## 	5;~~ 	5#ktr!   c                 N   d| _         | j        | _        | j        | _        	 | j        | j        z
  }	 | j        | _        |                     d          st                      | j        | j        z
  }| j        | j        z
  }	 |                     t          j	                  dk    rt                      t                      # t          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        | j        | _        |                     d          sdS t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st                      | j        | _        |                     d          sdS t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | _        |                     d          st                      | j        | _        |                     d          sdS t                      # t          $ r Y nw xY w| j        |z
  | _        | j        | _        |                     d	          sdS | j        | _        |                                 sdS n# t          $ r Y nw xY wd
| _         | j        | _        d
S )NFu   ுங்கள்r@   rA   u   ற்கள்rK   u   ட்கள்rJ   u	   கள்T)rv   r#   rL   rM   r(   rP   r'   rN   r   a_13r%   r&   r)   r*   r,   r+   rD   )r   r0   r1   r2   s       r   __r_remove_plural_suffixz%TamilStemmer.__r_remove_plural_suffix  s   $"kj0	*t{*C;{{#JKK !&&Lj4;.j4;."(():;;q@@"ff&&L!!!TT!"j3."j3.;y11 ! 5ff*s*DK;{{#DEE !&&L;77 ! 5ff*s*DK;{{#DEE !&&L;77 ! 5ff*s*DK{DH;;455 u{DH>>## u TT#)ts   J AD ??B> >
CD 
CAD D 
D*'J )D**J =AF F 
F*'J )F**J =AH H 
H*'J )H**3J  J 
JJc                    |                                  sdS d| _        | j        | _        | j        | _        | j        | j        z
  }	 | j        | _        |                     t          j                  dk    rt                      | j        | _
        |                     d          sdS d| _        n# t          $ r Y nw xY w| j        |z
  | _        | j        | _        |                                  dS ru   )_TamilStemmer__r_has_min_lengthrv   r#   rL   rM   r(   rN   r   a_14r*   r&   r)   _TamilStemmer__r_fix_endingsrF   s     r   __r_remove_question_suffixesz)TamilStemmer.__r_remove_question_suffixes  s    &&(( 	5$"kjj4;&	{DH  !233q88ff{DH??9-- u#'D  TTj3&)ts   AB. &B. .
B;:B;c                 <   |                                  sdS d| _        | j        | _        | j        | _        | j        | _        |                     t          j                  dk    rdS | j        | _	        | 
                                sdS d| _        | j        | _        dS )NFr@   T)r~   rv   r#   rL   rM   r(   rN   r   a_15r&   rD   r   s    r   __r_remove_command_suffixesz(TamilStemmer.__r_remove_command_suffixes  s    &&(( 	5$"kj;\.//1445;~~ 	5#)tr!   c                 f   d| _         |                                 sdS | j        | _        | j        | _        | j        | _        |                     d          sdS | j        | _        |                     d          sdS d| _         | j        | _        | j        }| 	                                 || _        dS )NFu	   ும்rA   T)
rv   r~   r#   rL   rM   r(   rP   r&   r)   r<   rF   s     r   __r_remove_umzTamilStemmer.__r_remove_um  s    $&&(( 	5"kj;{{011 	5;y)) 	5#)ktr!   c                    d| _         |                                 sdS | j        | _        | j        | _        	 | j        | j        z
  }	 | j        | j        z
  }| j        | _        	 | j        | j        z
  }	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d	          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d
          st!                      t                      # t           $ r Y nw xY w| j        |z
  | _        	 |                     d          st#                      t                      # t"          $ r Y nw xY w| j        |z
  | _        	 |                     d          st%                      t                      # t$          $ r Y nw xY w| j        |z
  | _        	 |                     d          st'                      | j        | j        z
  }| j        | j        z
  }	 |                     t*          j                  dk    rt/                      t'                      # t.          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        t                      # t&          $ r Y nw xY w| j        |z
  | _        	 |                     d          st1                      t                      # t0          $ r Y nw xY w| j        |z
  | _        |                     d          st3                      n# t          $ r Y nw xY w| j        | _        |                     d          sdS d| _         | j        |z
  | _        t9                      # t2          $ r Y nw xY w| j        |z
  | _        | j        | j        z
  }| j        | _        |                     t*          j                  dk    rdS | j        | _        |                                 sdS d| _         | j        |z
  | _        n# t8          $ r Y nw xY w| j        | _        |                                  dS )NFu   ுடன்u   ில்லை   ிடம்u   ின்றிu	   ாகிu   ாகியu   ென்றுu   ுள்ளu   ுடைய	   ுடைu   ெனும்u	   ல்லr@   u   ெனrA   T) rv   r~   r#   rL   rM   r(   rP   r,   r%   r+   r.   r-   r/   rR   rT   rU   rX   rW   rV   rY   rN   r   a_16r\   r]   r'   r&   r)   r*   a_17rD   r   )r   r0   r1   r2   r3   r4   r5   s          r   __r_remove_common_word_endingsz+TamilStemmer.__r_remove_common_word_endings  sa   $&&(( 	5"kjs	*t{*Cej4;.;["*t{2C&#{{+FGG )"&&&L"ff%%%%"&*s"2DK&#{{+LMM )"&&&L"ff%%%%"&*s"2DK&#{{+FGG )"&&&L"ff%%%%"&*s"2DK&#{{+LMM )"&&&L"ff%%%%"&*s"2DK&#{{+@AA )"&&&L"ff%%%%"&*s"2DK&#{{+FGG )"&&&L"ff%%%%"&*s"2DK&#{{+LMM )"&&&L"ff%%%%"&*s"2DK'#{{+FGG *"'''M"ff &&&$$&"&*s"2DK'#{{+FGG *"'''M"ff &&&$$&"&*s"2DK'#{{+@AA *"'''M"ff &&&$$&"&*s"2DK'#{{+LMM *"'''M"ff &&&$$&"&*s"2DK'#{{+@AA *"'''M"j4;6"j4;6+#001BCCqHH&+gg"'''M$***dd*&*j3&6&*j3&6"ff &&&$$&"&*s"2DK'#{{?;; *"'''M"ff &&&$$&"&*s"2DK;;'<== %"ff%!!!TT!;y11 ! 5'+$"j3.ff*s*DK*t{*C{DH  !233q88u{DH>>## u#'D *s*DKKTT)ts  X. V #T? 31B$ $
B1.T? 0B11T? 1C5 5
D?T? DT? 1E 
ET? ET? &1F 
F$!T? #F$$T? 71G( (
G52T? 4G55T? 1H9 9
IT? IT? 1J
 

JT? JT? *1K 
K(%T? 'K((T? ;1L, ,
L96T? 8L99T? 1M= =
N
T? 	N

T? 1O 
OT? OT? .AR+ 0?Q/ /
Q<9R+ ;Q<</R+ +
R85T? 7R88T? 1S< <
T	T? T		5T? >V ?
U	V U$V 2$V 
V# X. "V##AX. 5 X. X. .
X;:X;c                    d| _         d| _        |                                 sdS | j        | _        | j        | _        	 | j        | j        z
  }	 | j        | j        z
  }| j        | _        |                     d          st                      | j        | _	        | 
                                sdS | j        |z
  | _        t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | j        z
  }| j        | _        	 | j        | j        z
  }	 	 | j        | j        z
  }	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        |                     d          st                      n# t          $ r Y nw xY w| j        | j        z
  }| j        | j        z
  }	 |                     t           j                  dk    rt%                      t                      # t$          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        t'                      # t          $ r Y nw xY w| j        |z
  | _        |                     d          st)                      | j        | j        z
  }|                     t           j                  dk    rt)                      |                     d          st)                      | j        |z
  | _        n# t&          $ r Y nw xY w| j        | _	        |                     d          sdS | j        |z
  | _        t                      # t(          $ r Y nw xY w| j        |z
  | _        	 | j        | j        z
  }	| j        | _        	 | j        | j        z
  }
	 |                     d          st/                      t1                      # t.          $ r Y nw xY w| j        |
z
  | _        	 |                     d          st3                      t1                      # t2          $ r Y nw xY w| j        |
z
  | _        	 |                     d	          st5                      t1                      # t4          $ r Y nw xY w| j        |
z
  | _        	 |                     d
          st7                      t1                      # t6          $ r Y nw xY w| j        |
z
  | _        	 |                     d          st9                      | j        | j        z
  }| j        | j        z
  }	 |                     d          st;                      t9                      # t:          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        t1                      # t8          $ r Y nw xY w| j        |
z
  | _        	 |                     d          st=                      t1                      # t<          $ r Y nw xY w| j        |
z
  | _        	 |                     d          st?                      t1                      # t>          $ r Y nw xY w| j        |
z
  | _        	 |                     d          stA                      t1                      # t@          $ r Y nw xY w| j        |
z
  | _        	 tC          | j"                  dk    stG                      |                     d          stG                      t1                      # tF          $ r Y nw xY w| j        |
z
  | _        	 |                     d          stI                      t1                      # tH          $ r Y nw xY w| j        |
z
  | _        	 |                     d          stK                      t1                      # tJ          $ r Y nw xY w| j        |
z
  | _        	 |                     d          stM                      t1                      # tL          $ r Y nw xY w| j        |
z
  | _        	 |                     d          stO                      | j        | j        z
  }| j        | j        z
  }	 |                     t           j(                  dk    rtS                      tO                      # tR          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        t1                      # tN          $ r Y nw xY w| j        |
z
  | _        |                     d          stU                      n# t0          $ r Y nw xY w| j        | _	        |                     d          sdS | j        |	z
  | _        t                      # tT          $ r Y nw xY w| j        |z
  | _        	 | j        | j        z
  }| j        | _        	 | j        | j        z
  }	 |                     d          stW                      tY                      # tV          $ r Y nw xY w| j        |z
  | _        	 |                     d          st[                      tY                      # tZ          $ r Y nw xY w| j        |z
  | _        	 |                     d          st]                      tY                      # t\          $ r Y nw xY w| j        |z
  | _        	 |                     d          st_                      tY                      # t^          $ r Y nw xY w| j        |z
  | _        	 |                     d          sta                      tY                      # t`          $ r Y nw xY w| j        |z
  | _        	 |                     d          stc                      tY                      # tb          $ r Y nw xY w| j        |z
  | _        |                     d          ste                      | j        | j        z
  }| j        | j        z
  }	 |                     t           j3                  dk    rti                      te                      # th          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        n# tX          $ r Y nw xY w| j        | _	        | 
                                sdS | j        |z
  | _        t                      # td          $ r Y nw xY w| j        |z
  | _        | j        | j        z
  }| j        | _        |                     d          sdS | j        | _	        |                     d          sdS | j        |z
  | _        n# t          $ r Y nw xY wd | _         d | _        | j        | j        z
  }	 | j        | _        |                     d          stk                      | j        | _	        |                     d          sdS n# tj          $ r Y nw xY w| j        |z
  | _        | j        | _        | 6                                 d S )!NF   னைu	   ினைr   r@   rA   u	   ொடுu	   ோடுu	   ில்u	   ிற்u	   ின்r   u   ின்றுu   ிருந்துu	   விட   r   u	   ால்r   u   ாமல்rK   u	   ுள்u	   கண்u   முன்u   மேல்u   மேற்u   கீழ்u   பின்   துr   r   T)7rv   rS   r~   r#   rL   rM   r(   rP   r'   r&   rD   r*   r-   r.   r+   rN   r   a_18r/   r,   r%   a_19r)   rU   rT   rX   rW   rV   rY   r\   r]   r_   rb   r   r   ra   re   rf   rh   ri   a_20rj   rR   rm   rn   lab28lab29lab30lab31lab32rk   a_21lab33lab34r   )r   r0   r1   r2   r3   r4   r5   r6   r7   r8   ro   rp   rq   rr   v_14v_15v_16v_17v_18v_19v_20s                        r   __r_remove_vetrumai_urupukalz)TamilStemmer.__r_remove_vetrumai_urupukal  s   $&+#&&(( 	5"kjr	*t{*Cj4;.;{{?33 !&&L;~~'' ! 5"j3.ff*s*DK+j4;.;""*t{2C&
*"&*t{":C.'+{{3H'I'I !1*.&&L&*ff#'----*.*s*:DK#';;y#9#9 -&*ff-#)))TT)"j4;6"j4;6*#001BCCqHH&*ff"&&&L#)))TT)&*j3&6&*j3&6"ff%%%%"&*s"2DK;;y11 %"ff*t{2C(():;;q@@"ff;;y11 %"ff"&*s"2DKK!!!TT!;y11 ! 5"j3.ff*s*DKoj4;.;f":3D'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M#zDK7#zDK7+#';;y#9#9 .&+gg"'''M$***dd*&*j4&7&*j4&7"ff &&&$$&"&*t"3DK'#{{+LMM *"'''M"ff &&&$$&"&*t"3DK'#{{+XYY *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'"4<00A55"'''M#{{+FGG *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+@AA *"'''M"ff &&&$$&"&*t"3DK'#{{+FGG *"'''M"ff &&&$$&"&*t"3DK'#{{?;; *"'''M#zDK7#zDK7+#001BCCqHH&+gg"'''M$***dd*&*j4&7&*j4&7"ff &&&$$&"&*t"3DK;;'<== %"ff%!!!TT!;y11 ! 5"j3.ff*s*DK;zDK/;1#:3D'#{{+@AA *"'''M#gg &&&$$&"&*t"3DK'#{{+FGG *"'''M#gg &&&$$&"&*t"3DK'#{{+FGG *"'''M#gg &&&$$&"&*t"3DK'#{{+FGG *"'''M#gg &&&$$&"&*t"3DK'#{{+FGG *"'''M#gg &&&$$&"&*t"3DK'#{{+FGG *"'''M#gg &&&$$&"&*t"3DK;;77 &#gg:3D:3D',,\->??1DD"'''M#gg &&&$$&"&*t"3DK"&*t"3DKK"""dd";~~'' ! 5"j4/ff$$*s*DK:+D{DH;;y)) u{DH??9-- u*t+DKKTT#&*#zDK'	{DH;;455 gg{DH??9-- uddj4')ts?  t AC .C 
Ct Ct +M K; F (1E 
E&#F %E&&5F I 
F)&I (F))!I ?H
 

HI H/I 
IK; IB'K; :M ;
LM L$M .M 
Mt Mt +e d 1O 
Od Od (1P 
P&#d %P&&d 91Q* *
Q74d 6Q77d 
1R; ;
Sd Sd AV
 1U 
UV
 U/V
 

Vd Vd *1W 
W(%d 'W((d ;1X, ,
X96d 8X99d 1Y= =
Z
d 	Z

d A[4 4
\>d  \d 1] 
]d ]d %1^ 
^# d "^##d 61_' '
_41d 3_44d Ac 	?b 
bc b/c 
cd c5d e 
de d$e :e 
e$!t #e$$t 7r p8 #1g 
g!p8  g!!p8 41h% %
h2/p8 1h22p8 1i6 6
j p8 jp8 1k 
kp8 kp8 '1l 
l%"p8 $l%%p8 81m) )
m63p8 5m66Ap8 
?p	 	
pp8 p!p8 7r 8
qr q#r *r 
rt rAt !t ;t 
tt9Av 
vvc                     d| _         	 | j        }	 | j         st                      | j        }|                                  || _        A# t          $ r Y nw xY w|| _        	 dS r;   )rv   r#   r*   $_TamilStemmer__r_remove_tense_suffixr=   s      r   __r_remove_tense_suffixesz&TamilStemmer.__r_remove_tense_suffixes  sx    #	+C+ !&&Lk,,...!DKts   7A	 	
AAc                 (   d| _         |                                 sdS | j        | _        | j        | _        | j        | j        z
  }	 	 | j        | j        z
  }	 | j        | j        z
  }| j        | _        |                     t          j                  dk    rt                      | j        | _
        |                                 sdS d| _         | j        |z
  | _        t                      # t          $ r Y nw xY w| j        |z
  | _        	 | j        | j        z
  }| j        | _        	 | j        | j        z
  }	 |                     d          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d          st!                      t                      # t           $ r Y nw xY w| j        |z
  | _        	 |                     d          st#                      t                      # t"          $ r Y nw xY w| j        |z
  | _        	 |                     d          st%                      t                      # t$          $ r Y nw xY w| j        |z
  | _        	 |                     d          st'                      t                      # t&          $ r Y nw xY w| j        |z
  | _        	 |                     d	          st)                      t                      # t(          $ r Y nw xY w| j        |z
  | _        	 |                     d
          st+                      | j        | j        z
  }| j        | j        z
  }	 |                     t          j                  dk    rt/                      t+                      # t.          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        t                      # t*          $ r Y nw xY w| j        |z
  | _        	 |                     d          st1                      t                      # t0          $ r Y nw xY w| j        |z
  | _        	 |                     d          st3                      t                      # t2          $ r Y nw xY w| j        |z
  | _        	 |                     d          st5                      t                      # t4          $ r Y nw xY w| j        |z
  | _        	 |                     d          st7                      t                      # t6          $ r Y nw xY w| j        |z
  | _        	 |                     d          st9                      t                      # t8          $ r Y nw xY w| j        |z
  | _        	 |                     d          st;                      t                      # t:          $ r Y nw xY w| j        |z
  | _        	 |                     d          st=                      t                      # t<          $ r Y nw xY w| j        |z
  | _        	 |                     d          st?                      t                      # t>          $ r Y nw xY w| j        |z
  | _        	 |                     d          stA                      t                      # t@          $ r Y nw xY w| j        |z
  | _        	 |                     d          stC                      t                      # tB          $ r Y nw xY w| j        |z
  | _        	 |                     d          stE                      t                      # tD          $ r Y nw xY w| j        |z
  | _        	 |                     d          stG                      t                      # tF          $ r Y nw xY w| j        |z
  | _        	 |                     d          stI                      | j        | j        z
  }| j        | j        z
  }		 |                     t          j%                  dk    rtM                      tI                      # tL          $ r Y nw xY w| j        |	z
  | _        | j        |z
  | _        t                      # tH          $ r Y nw xY w| j        |z
  | _        	 |                     d          stO                      t                      # tN          $ r Y nw xY w| j        |z
  | _        	 |                     d          stQ                      t                      # tP          $ r Y nw xY w| j        |z
  | _        	 |                     d          stS                      t                      # tR          $ r Y nw xY w| j        |z
  | _        	 |                     d          stU                      t                      # tT          $ r Y nw xY w| j        |z
  | _        	 |                     d          stW                      t                      # tV          $ r Y nw xY w| j        |z
  | _        	 |                     d          stY                      t                      # tX          $ r Y nw xY w| j        |z
  | _        	 |                     d          st[                      t                      # tZ          $ r Y nw xY w| j        |z
  | _        	 |                     d          st]                      t                      # t\          $ r Y nw xY w| j        |z
  | _        |                     d           st_                      n# t          $ r Y nw xY w| j        | _
        |                                 sdS d| _         | j        |z
  | _        t                      # t^          $ r Y nw xY w| j        |z
  | _        	 | j        | j        z
  }
| j        | _        	 | j        | j        z
  }	 |                     d!          sta                      | j        | j        z
  }| j        | j        z
  }	 |                     d"          stc                      ta                      # tb          $ r Y nw xY w| j        |z
  | _        | j        |z
  | _        te                      # t`          $ r Y nw xY w| j        |z
  | _        	 |                     d#          stg                      te                      # tf          $ r Y nw xY w| j        |z
  | _        	 |                     d$          sti                      te                      # th          $ r Y nw xY w| j        |z
  | _        	 |                     d%          stk                      te                      # tj          $ r Y nw xY w| j        |z
  | _        	 |                     d&          stm                      te                      # tl          $ r Y nw xY w| j        |z
  | _        	 |                     d'          sto                      te                      # tn          $ r Y nw xY w| j        |z
  | _        	 |                     d(          stq                      te                      # tp          $ r Y nw xY w| j        |z
  | _        	 |                     d)          sts                      te                      # tr          $ r Y nw xY w| j        |z
  | _        	 |                     d*          stu                      te                      # tt          $ r Y nw xY w| j        |z
  | _        	 |                     d          stw                      te                      # tv          $ r Y nw xY w| j        |z
  | _        	 |                     d          sty                      te                      # tx          $ r Y nw xY w| j        |z
  | _        	 |                     d+          st{                      te                      # tz          $ r Y nw xY w| j        |z
  | _        	 |                     d          st}                      te                      # t|          $ r Y nw xY w| j        |z
  | _        	 |                     d,          st                      te                      # t~          $ r Y nw xY w| j        |z
  | _        	 |                     d          st                      te                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d-          st                      te                      # t          $ r Y nw xY w| j        |z
  | _        	 |                     d.          st                      te                      # t          $ r Y nw xY w| j        |z
  | _        |                     d/          st                      n# td          $ r Y nw xY w| j        | _
        | D                    d0          sdS d| _         | j        |
z
  | _        t                      # t          $ r Y nw xY w| j        |z
  | _        | j        | j        z
  }| j        | _        	 | j        | j        z
  }	 |                     d1          st                      t                      # t          $ r Y nw xY w| j        |z
  | _        |                     d          st                      n# t          $ r Y nw xY w| j        | j        z
  }|                     d0          st                      | j        |z
  | _        | j        | _
        |                                 sdS d| _         | j        |z
  | _        n# t          $ r Y nw xY wn# t          $ r Y nw xY w| j        |z
  | _        | j        | j        z
  }	 | j        | _        |                     t          jH                  dk    rt                      | j        | _
        |                                 sdS d| _         n# t          $ r Y nw xY w| j        |z
  | _        | j        | _        | J                                 dS )2NFr@   Tu   மார்u   மின்u	   னன்u   னான்u   னாள்u   னார்u	   வன்u	   னள்u	   வள்u	   னர்u	   வர்r   r   r   r
   r   u	   பன்u	   பள்u	   பர்r   u   ிற்றுu	   பம்u	   னம்u   தும்u   றும்u   கும்u   னென்r   u   வைu	   ான்r	   u	   ாள்u	   ார்u	   ேன்r   u	   ாம்u	   ெம்u	   ேம்u	   ோம்u   டும்u	   ாய்u   னிர்u	   ீர்u   ீயர்rA   u   கு)Krv   r~   r#   rL   rM   r(   rN   r   a_22r%   r&   rD   r'   rP   r.   r+   r-   r/   rR   rT   rU   rX   a_23rW   rV   rY   r\   r]   r_   rb   ra   re   rf   rh   ri   rj   rk   a_24rn   rm   r   r   r   r   r   r   r   r,   lab37lab38lab36lab39lab40lab41lab42lab43lab44lab45lab46lab47lab48lab49lab50lab51lab52lab53lab54lab35r)   lab56lab55r*   a_25lab57r   )r   r0   r1   r2   r3   r4   r5   r6   r7   r8   ro   rp   rq   rr   r   r   r   r   s                     r   __r_remove_tense_suffixz$TamilStemmer.__r_remove_tense_suffix  sh   $&&(( 	5"kjj4;&s	qj4;."*t{2C#{DH(():;;q@@"ff#{DH>>++ %$u+/D("&*s"2DK&&L!!!TT!"j3.I"*t{2C#{DH~&"j4;6*#';;/J#K#K -&*ff"&&&L#)))TT)&*j3&6*#';;/J#K#K -&*ff"&&&L#)))TT)&*j3&6*#';;/D#E#E -&*ff"&&&L#)))TT)&*j3&6*#';;/J#K#K -&*ff"&&&L#)))TT)&*j3&6*#';;/J#K#K -&*ff"&&&L#)))TT)&*j3&6+#';;/J#K#K .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&*t{":C"&*t{":C/#'#4#4\5F#G#G1#L#L*/''M&+gg#(...$$.*.*s*:DK*.*s*:DK"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;y#9#9 .&+gg"&&&L$***dd*&*j3&6+#';;y#9#9 .&+gg"&&&L$***dd*&*j3&6+#';;y#9#9 .&+gg"&&&L$***dd*&*j3&6+#';;y#9#9 .&+gg"&&&L$***dd*&*j3&6+#';;y#9#9 .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;#?#? .&+gg"&*t{":C"&*t{":C/#'#4#4\5F#G#G1#L#L*/''M&+gg#(...$$.*.*s*:DK*.*s*:DK"&&&L$***dd*&*j3&6+#';;/P#Q#Q .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/D#E#E .&+gg"&&&L$***dd*&*j3&6+#';;/J#K#K .&+gg"&&&L$***dd*&*j3&6+#';;/J#K#K .&+gg"&&&L$***dd*&*j3&6+#';;/J#K#K .&+gg"&&&L$***dd*&*j3&6+#';;/J#K#K .&+gg"&&&L$***dd*&*j3&6+#';;#?#? .&+gg"&&&L$***dd*&*j3&6#{{?;; )"&&&L)%%%%#{DH>>++ %$u+/D("&*s"2DK&&L!!!TT!"j3.}#:3D#{DHs'#zDK7+#';;/D#E#E .&+gg#':#;D#':#;D/'+{{9'='= !2*/''M&+gg#(...$$.*.*t*;DK*.*t*;DK"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;y#9#9 .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/J#K#K .&+gg"'''M$***dd*&*j4&7+#';;/D#E#E .&+gg"'''M$***dd*&*j4&7#{{+FGG *"'''M* &&&$$&#{DH??955 %$u+/D("&*t"3DK&&L"""dd""j3.zDK/;
#:3D'#{{?;; *"'''M#gg &&&$$&"&*t"3DK;;77 %"ff%"""dd"zDK/{{9-- !&&L"j4/;~~'' ! 5'+$"j4/TTj3&zDK'		{DH  !233q88gg{DH>>## u#'D  ddj4')ts  AN A,C) $C) )
C63AN 5C66AN 	n" %m 51E& &
E30m 2E33m 1F7 7
Gm Gm 1H 
Hm Hm (1I 
I&#m %I&&m 91J* *
J74m 6J77m 
1K; ;
Lm Lm AO ?N 
N)&O (N))/O 
O%"m $O%%m 81P) )
P63m 5P66m 	1Q: :
Rm Rm 1S 
Sm Sm +1T 
T)&m (T))m <1U- -
U:7m 9U::m 1V> >
Wm 
Wm 1X 
Xm Xm /1Y   
Y-*m ,Y--m  1Z1 1
Z>;m =Z>>m 1\ 
\m \m "1] 
] m ]  m 31^$ $
^1.m 0^11m Ab ?a 
ab a/b 
bm bm !1c 
cm cm 21d# #
d0-m /d00m 1e4 4
f>m  fm 1g 
gm gm %1h 
h# m "h##m 61i' '
i41m 3i44m 1j8 8
km km 1l	 	
lm l5m n" 
mn" m#n" >$n" "
n/,AN .n//AN AI AG0 .Ar 01q! !
q.+r -q../r 
r*'AG0 )r**AG0 =1s. .
s;8AG0 :s;;AG0 1t? ?
u	AG0 uAG0 1v 
vAG0 vAG0 01w! !
w.+AG0 -w..AG0 1x2 2
x?<AG0 >x??AG0 1z 
zAG0 zAG0 #1{ 
{!AG0  {!!AG0 41|% %
|2/AG0 1|22AG0 1}6 6
~ AG0 ~AG0 1 
AG0 AG0 '1A@ @
A@%@"AG0 @$A@%@%AG0 @81AA) A)
AA6A3AG0 A5AA6A6AG0 B	1AB: B:
ACCAG0 CACCAG0 C1AD D
ADDAG0 DADDAG0 D+1AE E
AE)E&AG0 E(AE)E)AG0 E<1AF- F-
AF:F7AG0 F9AF:F:5AG0 G/AI G0
AG=G:AI G<AG=G=$AI H#$AI I
AIIAN IAII-AN JAL J1AK K
AKKAL KAKK5AL LAN L
ALLAN LALLA$AN M9AN NAN! N
ANNAN! NANNAN! N!
AN.N-AN.OAAP7 P/AP7 P7
AQQAQc                    d| _         | j        }|                                  || _        |                                 sdS | j        }|                                  || _        | j        }|                                  || _        | j        }|                                  || _        | j        }|                                  || _        | j        }|                                  || _        | j        }| 	                                 || _        | j        }| 
                                 || _        | j        }	|                                  |	| _        | j        }
|                                  |
| _        dS )NFT)rS   r#   r<   r~   )_TamilStemmer__r_remove_question_prefixes(_TamilStemmer__r_remove_pronoun_prefixes)_TamilStemmer__r_remove_question_suffixes_TamilStemmer__r_remove_um+_TamilStemmer__r_remove_common_word_endings)_TamilStemmer__r_remove_vetrumai_urupukal%_TamilStemmer__r_remove_plural_suffix(_TamilStemmer__r_remove_command_suffixes&_TamilStemmer__r_remove_tense_suffixes)r   r0   r1   r2   r3   r4   r5   r6   r7   r8   ro   s              r   _stemzTamilStemmer._stem,  sh   &+#k&&(( 	5k))+++k((***k))+++kk++---k))+++k%%'''k((***{&&(((tr!   N)0__name__
__module____qualname____doc__r   rC   rO   rQ   rZ   r[   r^   r`   rc   rd   rg   rl   rw   rx   r{   r   r   r   r   r   r   r   r   r   r   r   r   rS   rv   r~   rE   r   r   r<   r   r   r   r   r   r   r   r   r   r    r!   r   r   r      s(         	iR  iR  iR  iR  iR  iR  iR  iR  iR  iR  C 	#R,,)2r22or2&&C 	iR  iR  iR  C 	iR  iR  iR  iR  iR  iR  C 	iR  iR  iR  iR  iR  iR  C 	iR  iR  iR  iR  iR  iR  C 	iR  iR  iR  iR  iR  iR  C 	iR  iR  iR  iR  iR  iR  C 	iR  iR  or2&&C 	iR  iR  iR  iR  iR  iR  iR  iR  	C 	iR  iR  iR  iR  iR  iR  iR  iR  	D 	iR  iR  iR  D 	iR  iR  iR  iR  iR  iR  iR  iR  iR  iR  D 	iR  iR  iR  iR  iR  iR  D 	iR  iR  iR  D 	or2&&or2&&D 	iR  iR  iR  iR  iR  iR  iR  iR  	D 	)2r22/R88#R,,5q"==/R88#R,,/R88#R,,)2r22/R885r2>>5r2>>;RDDD" 	iR  iR  iR  iR  iR  iR  D 	iR  iR  iR  iR  iR  iR  D 	iR  iR  iR  iR  iR  iR  iR  iR  	D 	iR  iR  iR  iR  iR  iR  iR  iR  	D 	#R,,A2rJJD 	iR  iR  iR  iR  iR  iR  iR  iR  iR  iR  iR  iR  D  	iR  iR  iR  iR  iR  iR  iR  iR  	D 	#R,,/R885r2>>)2r225r2>>;RDDD #O  
H H HT     "M M M^  &7 7 7r  *  "  &| | ||H H HT   J J JX" " " " "r!   r   c                       e Zd ZdS )r*   Nr   r   r   r   r!   r   r*   r*   Q            r!   r*   c                       e Zd ZdS )r'   Nr   r   r!   r   r'   r'   T  r   r!   r'   c                       e Zd ZdS )r%   Nr   r   r!   r   r%   r%   W  r   r!   r%   c                       e Zd ZdS )r,   Nr   r   r!   r   r,   r,   Z  r   r!   r,   c                       e Zd ZdS )r+   Nr   r   r!   r   r+   r+   ]  r   r!   r+   c                       e Zd ZdS )r.   Nr   r   r!   r   r.   r.   `  r   r!   r.   c                       e Zd ZdS )r-   Nr   r   r!   r   r-   r-   c  r   r!   r-   c                       e Zd ZdS )r/   Nr   r   r!   r   r/   r/   f  r   r!   r/   c                       e Zd ZdS )rR   Nr   r   r!   r   rR   rR   i  r   r!   rR   c                       e Zd ZdS )rT   Nr   r   r!   r   rT   rT   l  r   r!   rT   c                       e Zd ZdS )rU   Nr   r   r!   r   rU   rU   o  r   r!   rU   c                       e Zd ZdS )rX   Nr   r   r!   r   rX   rX   r  r   r!   rX   c                       e Zd ZdS )rW   Nr   r   r!   r   rW   rW   u  r   r!   rW   c                       e Zd ZdS )rV   Nr   r   r!   r   rV   rV   x  r   r!   rV   c                       e Zd ZdS )rY   Nr   r   r!   r   rY   rY   {  r   r!   rY   c                       e Zd ZdS )r\   Nr   r   r!   r   r\   r\   ~  r   r!   r\   c                       e Zd ZdS )r]   Nr   r   r!   r   r]   r]     r   r!   r]   c                       e Zd ZdS )r_   Nr   r   r!   r   r_   r_     r   r!   r_   c                       e Zd ZdS )rb   Nr   r   r!   r   rb   rb     r   r!   rb   c                       e Zd ZdS )ra   Nr   r   r!   r   ra   ra     r   r!   ra   c                       e Zd ZdS )re   Nr   r   r!   r   re   re     r   r!   re   c                       e Zd ZdS )rf   Nr   r   r!   r   rf   rf     r   r!   rf   c                       e Zd ZdS )rh   Nr   r   r!   r   rh   rh     r   r!   rh   c                       e Zd ZdS )ri   Nr   r   r!   r   ri   ri     r   r!   ri   c                       e Zd ZdS )rj   Nr   r   r!   r   rj   rj     r   r!   rj   c                       e Zd ZdS )rk   Nr   r   r!   r   rk   rk     r   r!   rk   c                       e Zd ZdS )rn   Nr   r   r!   r   rn   rn     r   r!   rn   c                       e Zd ZdS )rm   Nr   r   r!   r   rm   rm     r   r!   rm   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   c                       e Zd ZdS )r   Nr   r   r!   r   r   r     r   r!   r   N)@basestemmerr   amongr   r   BaseExceptionr*   r'   r%   r,   r+   r.   r-   r/   rR   rT   rU   rX   rW   rV   rY   r\   r]   r_   rb   ra   re   rf   rh   ri   rj   rk   rn   rm   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   <module>r     s   % $ $ $ $ $      G G G G G; G G GT2      =         =         =         =         =         =         =         =         =         =    !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M       !        M          r!   