o
    욌hX                     @   s   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZdS )   )BaseStemmer)Amongc                
   @   s	  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gZedddeddd	edddgZg edddedddedddedddedddedddedddedddedddedddedddeddded dded!d"ded#d"ded$d"ded%d"ded&d"ded'd"ded(dded)dded*d+ded,d+ded-d+ded.d+ded/d+ded0d+ded1dded2dded3dded4dded5dded6d7ded8d7ded9d7ded:d7ded;d7dZed<dd	ed=dd	ed>dded?dded@ddgZedAddedBddedCddedDdd	gZ	edAdd	edBdd	edDdd	gZ
g edEdd	edFddedGdd	edHdd	edIddJedKdd	edLddedMdd	edNdd	edOdd	edPddedQdd	edRdd	edSddedTddedUddedVddedWdd	edXdd	edYdd	edZd[ded\dd	ed]ddJed^dd	ed_dded`dd	edadbd	edcdd	edddd	ededd	edfdd	edgddedhddediddedjddedkdd	edldd	edmddednddedodd	edpddJedqdd	edrdd	edsdd	edtddeduddedvddJedwddxedydd	edzdd	ed{dd	Zg ed|dd	ed}dd	ed~dd	eddd	eddd	eddd	eddd	edIdd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edd+d	edd+d	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edpdd	eddd	ed<dd	ed=dd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edvdd	ed>dd	ed@dd	eddd	eddd	eddd	eddd	Zg dТZg dѢZdgZdZdZdZddԄ Zddք Zdd؄ Zddڄ Zdd܄ Zddބ Zdd Zdd Zdd Zdd Zdd ZdS )ItalianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
        qu          ár      é      í      ó      ú   IUlacelaglielamelatelavelaleceleglielemeletelevelenecene   glienemeneseneteneveneciliceli   glielimeliteliveliglimisitivilocelo   glielomeloteloveloandoendoareriricabilosivicalogiaosaistaiva	   anzaenzaiceatriceichelogieabileibileusioneazioneuzioneatoreoseantementeamente   isteiveanzeenzeiciatrici   ichiabiliibiliismiusioniazioniuzioniatoriosiantiamentiimentiistiiviicoismoosoamentoimentoivou   ità   u   istàu   istèu   istìiscaendaataitautaavaevaerebbeirebbeisceendeareereireasseateavate   evateivateeteereteireteiteeresteiresteuteeraiiraiisciendiereiireiassiatiitierestiirestiutiavieviiscoYamoiamoavamoevamoivamoeremoiremoassimoammoemmoeremmo6   iremmoimmoanoiscano:   avanoevanoivanoerannoirannoonoisconoA   aronoeronoironoerebberoirebberoasseroesseroisseroatoitoutoavoevou   eràu   iràu   eròu   irò)   r   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	      r   ry   r   r   )r   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r   r   ry   r   r   c                 C   s  | j }	 | j }zu| j | _| tj}|dkrt | j | _|dkr*| ds)W dS nQ|dkr7| ds6W dS nD|dkrD| d	sCW dS n7|d
krQ| dsPW dS n*|dkr^| ds]W dS n|dkrk| dsjW dS n| j | jkrtt |  j d7  _ W q ty   Y nw || _ 	 || _ 	 | j }zz	 | j }z{| 	tj
ddst | j | _z[| j }z&| dst | j | _| 	tj
ddst | dsW W W W W dS t  ty   Y nw || _ | dst | j | _| 	tj
ddst | dsW W W W dS W n
 ty   Y nw || _ t  ty   Y nw || _ | j | jkr*t |  j d7  _ q ty;   Y nw W q tyG   Y nw || _ 	 dS )NTr	   r      àFr      èr      ìr      òr      ùr
   qUa      ur   ir   )cursorbra
find_amongr   a_0lab0ket
slice_fromlimitin_groupingg_vlab3eq_slab5lab4lab2lab1)selfv_1v_2	among_varv_3v_4v_5 r   \/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/italian_stemmer.py__r_prelude   s   








"zItalianStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zz| j}zh| tjdds t zQ| j}z | 	tjdds0t
 | tjdds;t
 |  jd7  _t  t
yM   Y nw || _| tjdds\t | tjddsgt |  jd7  _W t  ty|   Y t w  ty   Y nw || _| 	tjddst zM| j}z | 	tjddst | tjddst |  jd7  _t  ty   Y nw || _| tjddst | j| j krt |  jd7  _W n	 ty   Y nw W n	 ty   Y nw | j| _W n
 ty   Y nw || _| j}zV| tjddst |  jd7  _| tjdds,t |  jd7  _| j| _| tjddsCt |  jd7  _| tjddsVt |  jd7  _| j| _W n
 tyl   Y nw || _dS )Nr   r   r   T)r   I_pVI_p1I_p2r   r   r   r   r   out_groupingr   go_out_groupingr   go_in_groupingr   r   lab6r   lab7)r   r   r   r   r   r   r   r   r   __r_mark_regionsF  s   zItalianStemmer.__r_mark_regionsc                 C   s   	 | j }zA| j | _| tj}|dkrt | j | _|dkr'| ds&W dS n|dkr4| ds3W dS n| j | jkr=t |  j d7  _ W q  tyN   Y nw || _ 	 dS )NTr	   r   r   Fr   r   )	r   r   r   r   a_1r   r   r   r   )r   r   r   r   r   r   __r_postlude  s0   

zItalianStemmer.__r_postludec                 C      | j | jksdS dS NFT)r   r   r   r   r   r   __r_RV     zItalianStemmer.__r_RVc                 C   r   r   )r   r   r   r   r   r   __r_R1  r   zItalianStemmer.__r_R1c                 C   r   r   )r   r   r   r   r   r   __r_R2  r   zItalianStemmer.__r_R2c                 C   sr   | j | _| tjdkrdS | j | _| tj}|dkrdS |  s$dS |dkr0|  s.dS dS | 	ds7dS dS )Nr	   Fr   eT)
r   r   find_among_br   a_2r   a_3_ItalianStemmer__r_RV	slice_delr   )r   r   r   r   r   __r_attached_pronoun  s    
z#ItalianStemmer.__r_attached_pronounc                 C   s>  | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |dkrt|  s0dS |  s6dS | j| j  }z-| j | _| 	dsO| j| | _ t
 | j | _|  s`| j| | _ t
 |  sgW dS W dS  t
ys   Y dS w |dkr|  s~dS | dsdS dS |dkr|  sdS | d	sdS dS |d
kr|  sdS | dsdS dS |dkr|  sdS |  sdS dS |dkrJ|  sdS |  sdS | j| j  }zh| j | _| tj}|dkr| j| | _ t | j | _|  s| j| | _ t |  sW dS |dkr9| j | _| 	ds| j| | _ t | j | _|  s1| j| | _ t |  s<W dS W dS W dS  tyI   Y dS w |dkr|  sVdS |  s]dS | j| j  }z3| j | _| tjdkrz| j| | _ t | j | _|  s| j| | _ t |  sW dS W dS  ty   Y dS w |  sdS |  sdS | j| j  }z]| j | _| 	ds| j| | _ t | j | _|  s| j| | _ t |  sW dS | j | _| 	ds| j| | _ t | j | _|  s	| j| | _ t |  sW dS W dS  ty   Y dS w )Nr	   Fr   r   rC   r   logr   r   r   enter
   r   atry   T)r   r   r  r   a_6r   _ItalianStemmer__r_R2r  r   eq_s_br   r   r  _ItalianStemmer__r_R1a_4r   a_5r   r   )r   r   r   r   r   r   r   r   r   __r_standard_suffix  s$  
mj
e
`
[V




@74




# 





z"ItalianStemmer.__r_standard_suffixc                 C   s^   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _|  s*dS || _dS )NFr	   T)	r   r   limit_backwardr   r  r   a_7r   r  )r   r   r   r   r   __r_verb_suffixV  s   zItalianStemmer.__r_verb_suffixc                 C   sp  | j | j }zY| j| _| tjdds| j | | _t | j| _|  s-| j | | _t | 	 s4W dS | j| _| 
dsF| j | | _t | j| _|  sW| j | | _t | 	 s^W dS W n	 tyh   Y nw | j | j }z>| j| _| 
ds| j | | _t | j| _| tjdds| j | | _t |  s| j | | _t | 	 sW dS W dS  ty   Y dS w )	Nr      Fr   hc   g   T)r   r   r   in_grouping_br   g_AEIOr   r   r  r  r  r   g_CG)r   r   r   r   r   r   __r_vowel_suffixf  sX   

zItalianStemmer.__r_vowel_suffixc                 C   s"  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }z5z)| j| j  }z
|  s<t t  tyG   Y nw | j| | _ | 	 sUt
 W n	 ty_   Y nw W n	 t
yj   Y nw | j| | _ | j| j  }|   | j| | _ | j| _ | j }|   || _ dS )NT)r   _ItalianStemmer__r_prelude_ItalianStemmer__r_mark_regionsr  r   #_ItalianStemmer__r_attached_pronoun"_ItalianStemmer__r_standard_suffixr   r   _ItalianStemmer__r_verb_suffixr   _ItalianStemmer__r_vowel_suffix_ItalianStemmer__r_postlude)r   r   r   r   r   v_6v_7r   r   r   _stem  sD   zItalianStemmer._stemN)__name__
__module____qualname____doc__r   r   r   r  r  r  r  r  r  r   r  r  r   r   r   r  r  r$  r  r  r  r   r!  r"  r#  r'  r   r   r   r   r      s    


















	























 
!
"
#
$
%
)




	














	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
36








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
WZRJ -r   c                   @      e Zd ZdS )r   Nr(  r)  r*  r   r   r   r   r         r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   c                   @   r,  )r   Nr-  r   r   r   r   r     r.  r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r   r   r   r   r   r   <module>   s         4