
    Mil                        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 " 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 " 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 " S- S.\5      r " S/ S0\5      r " S1 S2\5      r " S3 S4\5      r " S5 S6\5      r " S7 S8\5      r " S9 S:\5      r  " S; S<\5      r! " S= S>\5      r" " S? S@\5      r# " SA SB\5      r$ " SC SD\5      r% " SE SF\5      r&gG)H   )BaseStemmer)Amongc                   2   \ rS rSrSr/ \" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" S	SS5      P\" S
SS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS 5      P\" S!SS"5      P\" S#SS$5      P\" S%SS$5      P\" S&SS'5      P\" S(SS'5      P\" S)SS*5      P\" S+SS*5      P\" S,SS-5      P\" S.SS-5      P\" S/SS05      P\" S1SS05      P\" S2SS05      P\" S3SS05      P\" S4SS55      P\" S6SS55      P\" S7SS85      P\" S9SS85      P\" S:SS85      P\" S;SS85      P\" S<SS=5      P\" S>SS=5      P\" S?SS@5      P\" SASS@5      P\" SBSS@5      P\" SCSS@5      P\" SDSSE5      P\" SFSSE5      P\" SGSSE5      P\" SHSSE5      P\" SISSJ5      P\" SKSSJ5      P\" SLSSJ5      P\" SMSSJ5      P\" SNSSO5      P\" SPSSO5      P\" SQSSO5      P\" SRSSO5      P\" SSSST5      P\" SUSST5      P\" SVSST5      P\" SWSST5      P\" SXSSY5      P\" SZSSY5      P\" S[SS\5      P\" S]SS\5      P\" S^SS_5      P\" S`SS_5      P\" SaSSb5      P\" ScSSb5      P\" SdSSe5      P\" SfSSe5      P\" SgSSe5      P\" ShSSe5      P\" SiSSj5      P\" SkSSj5      P\" SlSSj5      P\" SmSSj5      P\" SnSSo5      P\" SpSSo5      P\" SqSSo5      P\" SrSSo5      P\" SsSSt5      P\" SuSSt5      P\" SvSSt5      P\" SwSSt5      P\" SxSSy5      P\" SzSSy5      P\" S{SSy5      P\" S|SSy5      P\" S}SS~5      P\" SSS~5      P\" SSS~5      P\" SSS~5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      P\" SSS5      Pr\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      /r	\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r
\" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /
r\" SSS5      /r\" SSS5      \" SSS5      \" SSS5      /r\" SSS5      /r\" SSS5      /r\" SSS5      /r\" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      \" SSS5      /r\" SSS5      \" SSS5      /r\" SSS5      \" SSS5      /r\" SSS5      /rSrSrSrS rGS  r GS r!GS r"GS r#GS r$GS r%GS r&GS r'GS r(GS	 r)GS
 r*GS r+GS r,GS r-GS r.GS r/GS r0GS r1GS r2GS r3GS r4GSr5Gg(  ArabicStemmer   z
This class implements the stemming algorithm defined by a snowball script.
Generated by Snowball 2.2.0 - https://snowballstem.org/
u   ـr   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   ﺞ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   ﻏ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   ﻵ3   u   ﻶu   ﻷ1   u   ﻸu   ﻹ2   u   ﻺu   ﻻ0   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                    U R                   n  U R                   n  U R                   n U R                   U l        U R                  [        R                  5      nUS:X  a
  [        5       eU R                   U l        US:X  a!  U R                  5       (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS	:X  a"  U R                  S
5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S 5      (       d  g [        5       eUS!:X  a"  U R                  S"5      (       d  g [        5       eUS#:X  a"  U R                  S$5      (       d  g [        5       eUS%:X  a"  U R                  S&5      (       d  g [        5       eUS':X  a"  U R                  S(5      (       d  g [        5       eUS):X  a"  U R                  S*5      (       d  g [        5       eUS+:X  a"  U R                  S,5      (       d  g [        5       eUS-:X  a"  U R                  S.5      (       d  g [        5       eUS/:X  a"  U R                  S05      (       d  g [        5       eUS1:X  a"  U R                  S25      (       d  g [        5       eUS3:X  a"  U R                  S45      (       d  g [        5       eUS5:X  a"  U R                  S65      (       d  g [        5       eUS7:X  a"  U R                  S85      (       d  g [        5       eUS9:X  a"  U R                  S:5      (       d  g [        5       eUS;:X  a"  U R                  S<5      (       d  g [        5       eUS=:X  a"  U R                  S>5      (       d  g [        5       eUS?:X  a"  U R                  S@5      (       d  g [        5       eUSA:X  a"  U R                  SB5      (       d  g [        5       eUSC:X  a"  U R                  SD5      (       d  g [        5       eUSE:X  a"  U R                  SF5      (       d  g [        5       eUSG:X  a"  U R                  SH5      (       d  g [        5       eUSI:X  a"  U R                  SJ5      (       d  g [        5       eUSK:X  a"  U R                  SL5      (       d  g [        5       eUSM:X  a"  U R                  SN5      (       d  g [        5       eUSO:X  a"  U R                  SP5      (       d  g [        5       eUSQ:X  a"  U R                  SR5      (       d  g [        5       eUSS:X  a"  U R                  ST5      (       d  g [        5       eUSU:X  a"  U R                  SV5      (       d  g [        5       eUSW:X  a"  U R                  SX5      (       d  g [        5       eUSY:X  a"  U R                  SZ5      (       d  g [        5       eUS[:X  a"  U R                  S\5      (       d  g [        5       eUS]:X  a"  U R                  S^5      (       d  g [        5       eUS_:X  a"  U R                  S`5      (       d  g [        5       eUSa:X  a"  U R                  Sb5      (       d  g [        5       eUSc:X  a"  U R                  Sd5      (       d  g [        5       eUSe:X  a"  U R                  Sf5      (       d  g [        5       eU R                  Sg5      (       d  g[        5       e! [
         a     Of = fX0l         U R                   U R                  :  a
  [        5       eU =R                   S-  sl         O! [         a     Of = fGM  ! [         a     Of = fX l         O! [         a     Of = fXl         g)hNTrB   r   Fr	   0r
   1r   2r   3r   4r   5r   6r   7r   8r   9r      ءr   r;   r   r=   r   r>   r   r:   r   r<   r   rG   r   rA   r   rI   r   rH   r   u   ثr   u   جr   u   حr   u   خr    u   دr!   u   ذr"   u   رr#   u   زr$   u   سr%   u   شr&   u   صr'   u   ضr(   u   طr)   u   ظr*   u   عr+   u   غr,   r?   r-   u   قr.   rC   r/   u   لr0   u   مr1   rF   r2   rD   r3   r@   r4   rJ   r5   rE   r9   u   لاr7   u   لأr8   u   لإu   لآ)cursorbra
find_amongr   a_0lab3ket	slice_del
slice_fromlab2limitlab1lab0)selfv_1v_2v_3	among_vars        x/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/snowballstemmer/arabic_stemmer.py__r_Normalize_preArabicStemmer.__r_Normalize_pre5  sr	   kkq	kkk"h&"kka*'+{{DH(,8I8I(JI(A~&*f'+{{DH(A~'+~~'7'7+0 (8r #'&Lm "+a'+t'<'<+0 (=j #'&Lg "+a'+t'<'<+0 (=d #'&La "+a'+t'<'<+0 (=^ #'&L[ "+a'+t'<'<+0 (=X #'&LU "+a'+t'<'<+0 (=R #'&LO "+a'+t'<'<+0 (=L #'&LI "+a'+t'<'<+0 (=F #'&LC "+a'+t'<'<+0 (=@ #'&L} "+b'+t'<'<+0 (=z #'&Lw "+b'+t'<'<+0 (=t #'&Lq "+b'+y'A'A+0 (Bn #'&Lk "+b'+y'A'A+0 (Bh #'&Le "+b'+y'A'A+0 (Bb #'&L_ "+b'+y'A'A+0 (B\ #'&LY "+b'+y'A'A+0 (BV #'&LS "+b'+y'A'A+0 (BP #'&LM "+b'+y'A'A+0 (BJ #'&LG "+b'+y'A'A+0 (BD #'&LA "+b'+y'A'A+0 (B~ #'&L{ "+b'+y'A'A+0 (Bx #'&Lu "+b'+y'A'A+0 (Br #'&Lo "+b'+y'A'A+0 (Bl #'&Li "+b'+y'A'A+0 (Bf #'&Lc "+b'+y'A'A+0 (B` #'&L] "+b'+y'A'A+0 (BZ #'&LW "+b'+y'A'A+0 (BT #'&LQ "+b'+y'A'A+0 (BN #'&LK "+b'+y'A'A+0 (BH #'&LE "+b'+y'A'A+0 (BB #'&L "+b'+y'A'A+0 (B| #'&Ly "+b'+y'A'A+0 (Bv #'&Ls "+b'+y'A'A+0 (Bp #'&Lm "+b'+y'A'A+0 (Bj #'&Lg "+b'+y'A'A+0 (Bd #'&La "+b'+y'A'A+0 (B^ #'&L[ "+b'+y'A'A+0 (BX #'&LU "+b'+y'A'A+0 (BR #'&LO "+b'+y'A'A+0 (BL #'&LI "+b'+y'A'A+0 (BF #'&LC "+b'+y'A'A+0 (B@ #'&L= "+b'+y'A'A+0 (B: #'&L7 "+b'+y'A'A+0 (B4 #'&L1 "+b'+y'A'A+0 (B. #'&L+ "+b'+y'A'A+0 (B( #'&L% "+b'+y'A'A+0 (B" #'&L "+b'+y'A'A+0 (B #'&L "+b'+'G'G+0 (H #'&L "+b'+'G'G+0 (H #'&L "+b'+'G'G+0 (H
 #'&L (,'G'G+0"&&L#)T)&);;$**4"&&Lq(%%!T!!Ts  c% b; A,a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?'a+ ''a+ 'a+ 7'a+ 'a+ 'a+ /'a+ 'a+ ?!a+ !
a+ +
a85b; 7a88Ab; :c ;
cc cc c% 
cc% c	c% %
c21c2c                 r   U R                   n U R                   U l        U R                  U l         U R                   U l        U R	                  [
        R                  5      S:X  a
  [        5       eU R                   U l        U R                  S5      (       d  gU R                  U l         Xl         U R                   n  U R                   n  U R                   n U R                   U l        U R                  [
        R                  5      nUS:X  a
  [        5       eU R                   U l        US:X  a"  U R                  S5      (       d  g [        5       eUS:X  a"  U R                  S5      (       d  g [        5       eU R                  S	5      (       d  g[        5       e! [         a     Nf = f! [         a     Of = fX@l         U R                   U R                  :  a
  [        5       eU =R                   S-  sl         O! [         a     Of = fGMQ  ! [         a     Of = fX0l         O! [         a     Of = fX l         g)
NrB   rV   FTr   rG   r	   r@   rE   )rW   limit_backwardr`   r\   find_among_br   a_1rb   rX   r^   rY   a_2lab4r[   r_   ra   )rc   rd   re   rf   v_4rg   s         rh   __r_Normalize_post ArabicStemmer.__r_Normalize_post  s   kk
	"&++D**DK{{DH  !2!23q8f{{DH??9----DKkk 	kk"&"kk*'+{{DH(,8I8I(JI(A~&*f'+{{DH(A~'+y'A'A+0 (B #'&L "+a'+y'A'A+0 (B
 #'&L (,y'A'A+0"&&L1 T2  $)T)&);;$**4"&&Lq(%%!T!!Ts   BF F :H" 	G8 A-F( 'F( ,!F( 
F( 
F%$F%(
F52G8 4F55AG8 7H 8
HH HH H" 
HH" H	H" "
H/.H/c                 ^   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a0  [        U R                  5      S:  d  gSU l        SU l	        SU l
        g[        U R                  5      S:  d  gSU l        SU l	        SU l
        g)NrB   Fr   r   Tr
   )rW   rX   rY   r   a_3r\   lencurrent	B_is_noun	B_is_verbB_is_definedrc   rg   s     rh   __r_Checks1ArabicStemmer.__r_Checks1  s    ;;OOM$5$56	>;;>t||$q(!DN"DN $D  t||$q(!DN"DN $D    c                 L   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g g
US:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g g
US:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g g
[        U R                  5      S:  d  gU R                  S	5      (       d  gg
)NrB   Fr   r
   r;   r	   r:   rG   r=   T)	rW   rX   rY   r   a_4r\   rv   rw   r^   r{   s     rh   __r_Prefix_Step1ArabicStemmer.__r_Prefix_Step13  
   ;;OOM$5$56	>;;>t||$q(??9-- ."  !^t||$q(??9-- .  !^t||$q(??9-- . 	 t||$q(??9--r~   c                 x   U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                   n U R                  S5      (       d
  [        5       eg! [         a     Of = fXl         U R                  5       (       d  gg)NrB   Fr
   rG   T)rW   rX   rY   r   a_5r\   rv   rw   eq_srb   r]   )rc   rd   s     rh   __r_Prefix_Step2ArabicStemmer.__r_Prefix_Step2O  s    ;;??=,,-2;;4<< 1$kk	99Y''fT~~s   . B 
BBc                 d   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g[        U R                  5      S:  d  gU R                  5       (       d  gg)NrB   Fr   r   r   T)	rW   rX   rY   r   a_6r\   rv   rw   r]   r{   s     rh   __r_Prefix_Step3a_Noun$ArabicStemmer.__r_Prefix_Step3a_Nounb  s    ;;OOM$5$56	>;;>t||$q(>>## $  t||$q(>>##r~   c                    U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g gUS:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g gUS:X  a1  [        U R                  5      S:  d  gU R                  S5      (       d  gg)	NrB   Fr   r
   r	   rA   rC   T)
rW   rX   rY   r   a_7r\   rv   rw   r]   r^   r{   s     rh   __r_Prefix_Step3b_Noun$ArabicStemmer.__r_Prefix_Step3b_Nounv  s    ;;OOM$5$56	>;;>t||$q(>>## $  !^t||$q(??9-- .  !^t||$q(??9--r~   c                 L   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g gUS:X  a3  [        U R                  5      S:  d  gU R                  S5      (       d  g gUS:X  a3  [        U R                  5      S:  d  gU R                  S	5      (       d  g g[        U R                  5      S:  d  gU R                  S
5      (       d  gg)NrB   Fr   r   rE   r	   rH   r
   rF   r;   T)	rW   rX   rY   r   a_8r\   rv   rw   r^   r{   s     rh   __r_Prefix_Step3_Verb#ArabicStemmer.__r_Prefix_Step3_Verb  r   r~   c                    U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gSU l        SU l	        U R                  S5      (       d  gg)NrB   Fr   Tu   است)rW   rX   rY   r   a_9r\   rv   rw   ry   rx   r^   rc   s    rh   __r_Prefix_Step4_Verb#ArabicStemmer.__r_Prefix_Step4_Verb  sj    ;;??=,,-2;;4<< 1$455r~   c                    U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g gUS:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g[        U R                  5      S:  d  gU R                  5       (       d  gg	NrB   Fr   r   r	   r   r   T)	rW   r\   rm   r   a_10rX   rv   rw   r]   r{   s     rh   __r_Suffix_Noun_Step1a$ArabicStemmer.__r_Suffix_Noun_Step1a      ;;%%m&8&89	>;;>t||$)>>## $  !^t||$)>>## $  t||$)>>##r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggNrB   Fr   T)	rW   r\   rm   r   a_11rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step1b$ArabicStemmer.__r_Suffix_Noun_Step1b  [    ;;]//0A5;;4<< 1$~~r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggNrB   Fr   T)	rW   r\   rm   r   a_12rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step2a$ArabicStemmer.__r_Suffix_Noun_Step2a  r   r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggr   )	rW   r\   rm   r   a_13rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step2b$ArabicStemmer.__r_Suffix_Noun_Step2b  [    ;;]//0A5;;4<< A%~~r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggr   )	rW   r\   rm   r   a_14rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step2c1%ArabicStemmer.__r_Suffix_Noun_Step2c1  r   r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggr   )	rW   r\   rm   r   a_15rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step2c2%ArabicStemmer.__r_Suffix_Noun_Step2c2  r   r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  gg)NrB   Fr
   T)	rW   r\   rm   r   a_16rX   rv   rw   r]   r   s    rh   __r_Suffix_Noun_Step3#ArabicStemmer.__r_Suffix_Noun_Step3  r   r~   c                    U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g gUS:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g[        U R                  5      S:  d  gU R                  5       (       d  ggr   )	rW   r\   rm   r   a_17rX   rv   rw   r]   r{   s     rh   __r_Suffix_Verb_Step1#ArabicStemmer.__r_Suffix_Verb_Step1  r   r~   c                 D   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g	US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g	US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g	[        U R                  5      S:  d  gU R                  5       (       d  gg	)
NrB   Fr   r   r	   r   r
   r   T)	rW   r\   rm   r   a_18rX   rv   rw   r]   r{   s     rh   __r_Suffix_Verb_Step2a$ArabicStemmer.__r_Suffix_Verb_Step2a3  s   ;;%%m&8&89	>;;>t||$)>>## $* % !^t||$)>>## $  !^t||$q(>>## $  t||$)>>##r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        [        U R                  5      S:  d  gU R                  5       (       d  ggr   )	rW   r\   rm   r   a_19rX   rv   rw   r]   r   s    rh   __r_Suffix_Verb_Step2b$ArabicStemmer.__r_Suffix_Verb_Step2bS  r   r~   c                 d   U R                   U l        U R                  [        R                  5      nUS:X  a  gU R                   U l        US:X  a2  [        U R                  5      S:  d  gU R                  5       (       d  g g[        U R                  5      S:  d  gU R                  5       (       d  gg)NrB   Fr   r   r   T)	rW   r\   rm   r   a_20rX   rv   rw   r]   r{   s     rh   __r_Suffix_Verb_Step2c$ArabicStemmer.__r_Suffix_Verb_Step2c_  s    ;;%%m&8&89	>;;>t||$)>>## $  t||$)>>##r~   c                     U R                   U l        U R                  [        R                  5      S:X  a  gU R                   U l        U R                  S5      (       d  gg)NrB   FrE   T)rW   r\   rm   r   a_21rX   r^   r   s    rh   __r_Suffix_All_alef_maqsura)ArabicStemmer.__r_Suffix_All_alef_maqsuras  sI    ;;]//0A5;;y))r~   c                    SU l         SU l        SU l        U R                  nU R	                  5         Xl        U R                  5         U R                  U l        U R                  U l        U R                  U R                  -
  n  U R                  U R                  -
  n U R                  (       d
  [        5       e U R                  U R                  -
  n Sn U R                  U R                  -
  n U R                  5       (       d
  [        5       eUS-  nMA  ! [         a     Of = fU R                  U-
  U l         US:  a
  [        5       e U R                  U R                  -
  n U R                  5       (       d
  [        5       e[        5       e! [         a     Of = fU R                  U-
  U l         U R                  5       (       d
  [!        5       e[        5       e! [          a     Of = fU R                  U-
  U l        U R                  U R                  ::  a
  [        5       eU =R                  S-  sl        [#        5       e! [         a     [#        5       ef = f! [         a     Of = fU R                  U-
  U l         U R%                  5       (       d
  ['        5       e[#        5       e! [&         a     Of = fU R                  U-
  U l        U R                  5       (       d
  [        5       e [)        5       e! ["         a     [)        5       ef = f! [         a     Of = fU R                  U-
  U l         U R                   (       d
  [+        5       eU R                  U R                  -
  n  U R                  U R                  -
  n	 U R-                  5       (       d
  [/        5       e[1        5       e! [.         a     Of = fU R                  U	-
  U l          U R                  (       d
  [3        5       e[5        5       e! [2         a     Of = fU R7                  5       (       d
  [5        5       e U R                  U R                  -
  n
 U R9                  5       (       d
  [;        5       e[=        5       e! [:         a     Of = fU R                  U
-
  U l         U R?                  5       (       d
  [A        5       e[=        5       e! [@         a     Of = fU R                  U
-
  U l         U RC                  5       (       d
  [E        5       e[=        5       e! [D         a     Of = fU R                  U
-
  U l        U R                  U R                  ::  a
  [5        5       eU =R                  S-  sl        [1        5       e! [<         a     [1        5       ef = f! [4         a     Of = fU R                  U	-
  U l         U RG                  5       (       d
  [I        5       e U R                  U R                  -
  n U R9                  5       (       d
  [K        5       e[M        5       e! [J         a     Of = fU R                  U-
  U l         U R?                  5       (       d
  [O        5       e[M        5       e! [N         a     Of = fU R                  U-
  U l        U RC                  5       (       d
  [I        5       e [1        5       e! [L         a     [1        5       ef = f! [H         a     Of = fU R                  U	-
  U l          U R                  (       d
  [Q        5       e[S        5       e! [P         a     Of = fU R9                  5       (       d
  [S        5       e[1        5       e! [R         a     Of = fU R                  U	-
  U l        U R?                  5       (       d  U R                  U-
  U l        [U        5       eO ! [0         a     Of = f! [T         a     Of = fU RW                  5       (       d
  [+        5       e[)        5       e! [*         a     Of = fU R                  U-
  U l        U RY                  5       (       d
  [[        5       eO ! [(         a     Of = f! [Z         a     Of = fU R                  U-
  U l        U R                  U l        U R                  n U R                  n U R]                  5       (       d  Xl        [_        5       eO! [^         a     Of = fU R                  n U Ra                  5       (       d  Xl        [c        5       eO! [b         a     Of = f U R                  n U Re                  5       (       d
  [g        5       e[i        5       e! [f         a     Of = fXl         U R                   (       d
  [k        5       eU Rm                  5       (       d
  [k        5       e[i        5       e! [j         a     Of = fXl        U R                  (       d
  [o        5       eU R                  n U Rq                  5       (       d  UU l        [s        5       eO! [r         a     Of = fU Ru                  5       (       d
  [o        5       eO ! [h         a     Of = f! [n         a     Of = fXl        U Rw                  5         g)NTFr   rB   )<rx   ry   rz   rW   _ArabicStemmer__r_Checks1_ArabicStemmer__r_Normalize_prerl   r`   r_   #_ArabicStemmer__r_Suffix_Verb_Step1lab5rp   $_ArabicStemmer__r_Suffix_Verb_Step2alab7lab6$_ArabicStemmer__r_Suffix_Verb_Step2clab8r[   $_ArabicStemmer__r_Suffix_Verb_Step2blab9ra   lab10%_ArabicStemmer__r_Suffix_Noun_Step2c2lab13lab12lab15lab14$_ArabicStemmer__r_Suffix_Noun_Step1a$_ArabicStemmer__r_Suffix_Noun_Step2alab17lab16$_ArabicStemmer__r_Suffix_Noun_Step2blab18%_ArabicStemmer__r_Suffix_Noun_Step2c1lab19$_ArabicStemmer__r_Suffix_Noun_Step1blab20lab22lab21lab23lab25lab24lab11#_ArabicStemmer__r_Suffix_Noun_Step3)_ArabicStemmer__r_Suffix_All_alef_maqsurarb   _ArabicStemmer__r_Prefix_Step1lab27_ArabicStemmer__r_Prefix_Step2lab28$_ArabicStemmer__r_Prefix_Step3a_Nounlab30lab29lab31$_ArabicStemmer__r_Prefix_Step3b_Nounlab26#_ArabicStemmer__r_Prefix_Step3_Verblab32#_ArabicStemmer__r_Prefix_Step4_Verb _ArabicStemmer__r_Normalize_post)rc   rd   rf   rq   v_5v_6v_7v_8v_9v_10v_12v_13v_15v_16v_17v_18v_19s                    rh   _stemArabicStemmer._stem|  s   !kk "kkjjjj4;;&V	Tjj4;;.2">>"f-&"jj4;;6!*"#C"&&*jj4;;&>!2+/+E+E+G+G.2f$'1HC$,'+ 1T 1.2jj3.> %"Qw&*f.&*jj4;;&>!2+/+F+F+H+H.2f*.&L'+ 1T 1.2jj3.>!2+/+F+F+H+H.2f*.&L'+ 1T 1.2jj3.>#';;$2E2E#E*.&L $q 0"&&L $(-"&&L .#)T)&*jj3&6*#'#>#>#@#@&*f"&&L#)T)&*jj3&6#::<<"&&L  = &L  %&L &!T!"jj3.Z#>>#g**t{{2CR'P+#'::#;D/'+'C'C'E'E*/'M&+g#(.$.*.**t*;DK!/!3+/+<+<.3g*/'M', 2d 2'+'B'B'D'D*/'M!3+/::+CD%7/3/J/J/L/L27'M.3g+0$6$$626**t2CDK%7/3/J/J/L/L27'M.3g+0$6$$626**t2CDK%7/3/K/K/M/M27'M.3g+0$6$$626**t2CDK'+{{d6I6I'I.3g$(KK1$4K&+g (- 2d&+g !3#(.$.*.**t*;DK/'+'B'B'D'D*/'M!3+/::+CD%7/3/J/J/L/L27'M.3g+0$6$$626**t2CDK%7/3/J/J/L/L27'M.3g+0$6$$626**t2CDK+/+G+G+I+I.3g ,J ',g (- 2d&+g !3#(.$.*.**t*;DK	/!3+/+<+<.3g*/'M', 2d 2'+'B'B'D'D*/'M&+g#(.$.*.**t*;DK#'#>#>#@#@.2jj3.>&+g $A  %*d* &$&5577#g&L"d""jj3.7799&L :Tjj3&)){{(	;;D,,.."&K'M / $;;D,,.."&K'M / ${{#6688#g'M"d""#>>#g6688#g'M"d""~~'M{{#5577&*#g 8 "d"1133'M 4$d!s  `2 L ;K; I 2$D I 
D%"I $D%%(I I ()F 
FI FI 6)G 
G,)I +G,,AI <
I 
II II 
I,)K; +I,,K; )J- -
J:7K; 9J::6K; 0L ;
LL LL 
L!`2  L!!`2 94_. /^% 	)N2 2
N?<^% >N??^% %O= =
P
V 	P

"V -U3 )Q0 0
Q=:U3 <Q==U3 )R> >
SU3 
SU3 #)T 
TU3 TAU3 )
V 3
V	=V V		V 
V^% V^% 1[	 Z0 +)X 
X!Z0  X!!Z0 9)Y" "
Y/,Z0 .Y//6Z0 %[	 0
[:[	 [[	 	
[^% [^% /%\ 
\!]  \!!,] 
]^% ]A
^% $_. %
^2/^5 0_. 1^22^5 5
_?_. _,_. .
_;8`2 :_;;6`2 2
`?<a >`??a 
aai %b7 6i 7
ci ci %c: 9i :
di di h1 )e 
eh1 e	h1 Af 
f)&h1 (f))0h1 &h  h1 
hh1 h"h1 1
h>;i =h>>i 
ii)rz   rx   ry   rX   rW   r\   rl   N)6__name__
__module____qualname____firstlineno____doc__r   rZ   rn   ro   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rz   ry   rx   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  __static_attributes__ r~   rh   r   r      s[   
QiQQiQQ 	iQQ 	iQ	Q
 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ 	iQQ  	iQ!Q" 	iQ#Q$ 	iR %Q& 	iR 'Q( 	iR )Q* 	iR +Q, 	iR -Q. 	iR /Q0 	iR 1Q2 	iR 3Q4 	iR 5Q6 	iR 7Q8 	iR 9Q: 	iR ;Q< 	iR =Q> 	iR ?Q@ 	iR AQB 	iR CQD 	iR EQF 	iR GQH 	iR IQJ 	iR KQL 	iR MQN 	iR OQP 	iR QQR 	iR SQT 	iR UQV 	iR WQX 	iR YQZ 	iR [Q\ 	iR ]Q^ 	iR _Q` 	iR aQb 	iR cQd 	iR eQf 	iR gQh 	iR iQj 	iR kQl 	iR mQn 	iR oQp 	iR qQr 	iR sQt 	iR uQv 	iR wQx 	iR yQz 	iR {Q| 	iR }Q~ 	iR Q@ 	iR AQB 	iR CQD 	iR EQF 	iR GQH 	iR IQJ 	iR KQL 	iR MQN 	iR OQP 	iR QQR 	iR SQT 	iR UQV 	iR WQX 	iR YQZ 	iR [Q\ 	iR ]Q^ 	iR _Q` 	iR aQb 	iR cQd 	iR eQf 	iR gQh 	iR iQj 	iR kQl 	iR mQn 	iR oQp 	iR qQr 	iR sQt 	iR uQv 	iR wQx 	iR yQz 	iR {Q| 	iR }Q~ 	iR Q@ 	iR AQB 	iR CQD 	iR EQF 	iR GQH 	iR IQJ 	iR KQL 	iR MQN 	iR OQP 	iR QQR 	iR SQT 	iR UQV 	iR WQX 	iR YQZ 	iR [Q\ 	iR ]Q^ 	iR _Q` 	iR aQb 	iR cQd 	iR eQf 	iR gQh 	iR iQj 	iR kQl 	iR mQn 	iR oQp 	iR qQr 	iR sQt 	iR uQv 	iR wQx 	iR yQz 	iR {Q| 	iR }Q~ 	iR Q@ 	iR AQB 	iR CQD 	iR EQF 	iR GQH 	iR IQJ 	iR KQL 	iR MQN 	iR OQP 	iR QQR 	iR SQT 	iR UQV 	iR WQX 	iR YQZ 	iR [Q\ 	iR ]Q^ 	iR _Q` 	iR aQCh 	iQiQiQiQiQC 	iQiQiQiQiQC 	or1%#R+#R+or1%	C 	or1%or1%or1%or1%or1%C 	iQiQC 	or1%#R+#R+or1%	C 	iQoq"%oq!$or1%	C 	or1%or1%or1%or1%	C 	#R+#R+#R+C 	#R+#R+or1%or1%iQor1%or1%or1%iQiQD 	iQD
 	iQiQiQD 	or1%D
 	iQD
 	iQD
 	iQD
 	#R+#R+or1%or1%iQor1%or1%or1%or1%iQ#R+or1%D  	iQoq!$#Q*oq!$iQiQoq!$oq!$oq!$oq!$iQD 	or1%or1%D 	iQ#Q*D 	iQD LIIun1f(8&(084





4@
(P Pr~   r   c                       \ rS rSrSrg)rb   iO  r  Nr  r  r  r  r  r  r~   rh   rb   rb   O      4r~   rb   c                       \ rS rSrSrg)ra   iR  r  Nr  r  r~   rh   ra   ra   R  r  r~   ra   c                       \ rS rSrSrg)r_   iU  r  Nr  r  r~   rh   r_   r_   U  r  r~   r_   c                       \ rS rSrSrg)r[   iX  r  Nr  r  r~   rh   r[   r[   X  r  r~   r[   c                       \ rS rSrSrg)rp   i[  r  Nr  r  r~   rh   rp   rp   [  r  r~   rp   c                       \ rS rSrSrg)r   i^  r  Nr  r  r~   rh   r   r   ^  r  r~   r   c                       \ rS rSrSrg)r   ia  r  Nr  r  r~   rh   r   r   a  r  r~   r   c                       \ rS rSrSrg)r   id  r  Nr  r  r~   rh   r   r   d  r  r~   r   c                       \ rS rSrSrg)r   ig  r  Nr  r  r~   rh   r   r   g  r  r~   r   c                       \ rS rSrSrg)r   ij  r  Nr  r  r~   rh   r   r   j  r  r~   r   c                       \ rS rSrSrg)r   im  r  Nr  r  r~   rh   r   r   m      Dr~   r   c                       \ rS rSrSrg)r   ip  r  Nr  r  r~   rh   r   r   p  r%  r~   r   c                       \ rS rSrSrg)r   is  r  Nr  r  r~   rh   r   r   s  r%  r~   r   c                       \ rS rSrSrg)r   iv  r  Nr  r  r~   rh   r   r   v  r%  r~   r   c                       \ rS rSrSrg)r   iy  r  Nr  r  r~   rh   r   r   y  r%  r~   r   c                       \ rS rSrSrg)r   i|  r  Nr  r  r~   rh   r   r   |  r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   c                       \ rS rSrSrg)r   i  r  Nr  r  r~   rh   r   r     r%  r~   r   N)'basestemmerr   amongr   r   BaseExceptionrb   ra   r_   r[   rp   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~   rh   <module>r?     sf   % EK EP"  =   =   =   =   =   =   =   =   =   =  !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M   !M  r~   