
    =wg2                     2    d dl mZ ddlmZ  G d de      Zy)   )_StandardStemmer    )uc                   .    e Zd ZdZ ed      ZdZdZd Zy)DutchStemmera  
    The Dutch Snowball stemmer.

    :cvar __vowels: The Dutch vowels.
    :type __vowels: unicode
    :cvar __step1_suffixes: Suffixes to be deleted in step 1 of the algorithm.
    :type __step1_suffixes: tuple
    :cvar __step3b_suffixes: Suffixes to be deleted in step 3b of the algorithm.
    :type __step3b_suffixes: tuple
    :note: A detailed description of the Dutch
           stemming algorithm can be found under
           http://snowball.tartarus.org/algorithms/dutch/stemmer.html
    u   aeiouyè)hedeneneenses)baarlijkbarendingigc                    |j                         }d}|j                  t        d      d      j                  t        d      d      j                  t        d      d      j                  t        d      d      j                  t        d      d	      j                  t        d
      d	      j                  t        d      d      j                  t        d      d      j                  t        d      d      j                  t        d      d      }|j                  d      rdj	                  d|dd f      }t        dt        |            D ]=  }||dz
     | j                  v s||   dk(  s!dj	                  |d| d||dz   d f      }? t        dt        |      dz
        D ]R  }||dz
     | j                  v s||   d	k(  s!||dz      | j                  v s6dj	                  |d| d||dz   d f      }T | j                  || j                        \  }}t        dt        |            D ]p  }||   | j                  vs||dz
     | j                  v s*t        |d|dz          dk  rt        |d|dz          dkD  r|dd }nt        |d|dz          dk(  r|c S  n | j                  D ]t  }|j                  |      s|dk(  rVdj	                  |dd df      }dj	                  |dd df      }|j                  d      rdj	                  |dd df      }n|dv r|j                  d      s|t        |       dz
     | j                  vrm|t        |       dz
  t        |        dk7  rN|dt        |        }|dt        |        }|dt        |        }|j                  d      rt|dd }|dd }|dd }nd|d v r`|t        |       dz
     | j                  vrB|t        |       dz
     d!k7  r-|dt        |        }|dt        |        }|dt        |        } n |j                  d      rB|d"   | j                  vr1d#}|dd }|dd }|dd }|j                  d      r|dd }|dd }|dd }|j                  d      rp|d   d$k7  rh|dd% }|dd% }|dd% }|j                  d&      rH|d'   | j                  vr7|dd" dk7  r/|dd" }|dd" }|dd" }|j                  d      r|dd }|dd }|dd }| j                  D ]  }|j                  |      s|d(v r@|dd' }|dd' }|j                  d)      r|d'   dk7  r|dd" }n|j                  d      r}|dd }nw|d)k(  r|d'   dk7  r|dd" }nd|d*k(  rH|dd% }|dd% }|j                  d      rD|d"   | j                  vr3|dd }|j                  d      r|dd }n|d+k(  r|dd% }n|d,k(  r|r|dd' } n t        |      d-k\  rN|d   | j                  vr=|d   dk7  r5|d'd d.v r.|d%   | j                  vrdj	                  |dd' |d'   |d   f      }|j                  dd	      j                  dd      }|S )/z
        Stem a Dutch word and return the stemmed form.

        :param word: The word that is stemmed.
        :type word: str or unicode
        :return: The stemmed form.
        :rtype: unicode

        F   äa   á   ëe   é   íi   ï   öo   ó   ür      úy Yr   NI   r   r   heid)r	   r
   gem)kkddtt)r   r   jTcr
   )r   r   r   r   r   r      )aaeeoouu)lowerreplacer   
startswithjoinrangelen_DutchStemmer__vowels_r1r2_standard_DutchStemmer__step1_suffixesendswith_DutchStemmer__step3b_suffixes)selfwordstep2_successr   r1r2suffixs          Q/var/www/horilla/myenv/lib/python3.12/site-packages/whoosh/lang/snowball/dutch.pystemzDutchStemmer.stem   s    zz| QvY,44QvYDWQvY,WWQvY-DWQvY,WWQvY-DWQvY,WWQvY-DWQvY,WWQvY-D	 	 ??377Cab?+Dq#d)$ 	>AAE{dmm+Q3wwRa#tAEF|<=	> q#d)a-( 	>AQUt}},aCAE{dmm+wwRa#tAEF|<=	>
 $$T4==9B q#d)$ 	AAwdmm+QUt}}0LtFQU|$q(Sfq1u->-BabBfq1u&!+K	 ++ 	F{{6"W$77D"Iv#67D"Sb'6!23B{{7+WWb"gv%67---0CK<!+,DMMACK<!+S[L9UB#f+.DMc&k\*BMc&k\*B}}%78#CRyWW+CK<!+,DMMACK<!+,3#f+.DMc&k\*BMc&k\*B5	: ;;sR = M9DCRBCRB}}/0CRyWW ;;v48s?9DCRBCRBD!d2hdmm&CRu$CRyWW==!349DCRBCRB ,, 	F{{6"^+9DCRB{{4(T"X_#CRy==);<#'9Dt^RC9Dv%9DCRB{{3'DHDMM,I#CRy==);<#'9Dv%9Du_9D;	@ t9>Bxt}},bS2;"::Bxt}}4!wwSb	48T"X'FG ||C%--c37    N)	__name__
__module____qualname____doc__r   r>   r@   rB   rJ    rK   rI   r   r      s$     H8CTrK   r   N)basesr   whoosh.compatr   r   rP   rK   rI   <module>rS      s    # g# grK   