a
    a_                     @   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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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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/d0d	ed1dd	ed2dd	ed3d4d	ed5dd	ed6d7d	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	ed@dd	edAdBd	edCdd	edDdd	edEdFd	edGdd	g'Z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dedQdd	edRdSd	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]ded^dd	ed_dd	ed`dd	edad4d	edbdd	edcd7d	eddded	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dpdFd	edqdFd	edrdd	edsdtd	edudd	edvddedwddedxdyd	edzdd	ed{dd	ed|dd	ed}dd	ed~dd	eddd	eddd	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dddeddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd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ddd	eddd	eddd	eddd	edddeddd	eddd	eddd	eddd	eddd	eddd	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ddd	eddd	edddedddeddd	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ddd	eddd	eddd	eddd	edddeddd	eddd	eddd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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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ddd	ed3d4d	ed5d6d	ed7d8d	gZed9dd	ed:dd	ed;dd	ed<dd	edKdd	ed=dd	ed>dd	ed?dd	ed@dd	edAd"d	edBd"d	edCdd	edDdd	edEdd	edddd	edFdd	edGdd	edHdd	edIdd	edJdd	edKd0d	edLd0d	edMd0d	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dVdWd	edXdd	edYdd	edZdd	edd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dadd	edbdcd	edddcd	ededcd	edfdcd	edgdcd	edhdcd	edidcd	edjdcd	edkdcd	edldcd	edmdcd	edndcd	edodcd	edpdqd	edrdqd	edsdd	edtdd	edudd	edvdd	edwdd	edxdd	eddd	edydd	edzd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dd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	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ddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edÐdd	edŐdd	edƐdd	edǐdd	edȐdd	edɐdd	edʐdd	ed̐dd	ed͐dd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edՐdd	edאdd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edd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	d6d	ed
d6d	edd6d	edd6d	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ddd	eddd	eddd	eddd	edd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d6d7d	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	ed?dd	ed@dAd	edBdd	edCdDd	edEdDd	edFdd	edGdd	edHdd	edIdd	edJdd	ed1dd	edKdd	edLdd	edMdNd	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d	ed\dd	ed3dd	gZed]dd	ed^dd	ed_dd	ed`dd	edadd	eddd	edbdd	edcdd	edddd	ededd	ed'dd	edfdd	edgdd	edhddedPd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	g diZ
dZdZdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw Zdxdy Zdzd{ Zd|S (}  CatalanStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
           ·          àr      á   è      é   ì      í   ï   ò      ó   ú      üZlaz-laZselalemez-meZsez-tehiz'hi   Zliz-li
   z'lz'mz-mz'nz-nZhoz'ho   loZselo   z'sZlasZselas   Zlesz-les   z'lsz-lsz'nsz-nsZensZlosZselos   Znosz-nos!   Zvosusz-us$   z'tZicau   lógicaZencaZadaZanciaZenciau   ènciau   íciaZlogiaZiniau   íinia	   Zeriau   àriau   atòriaZallaZellau   ívolaZimau   íssimau	   quíssima   ZanaZinaZeraZsferaZoraZdoraZadora   ZaduraZesaZosaZassaZessaZissaZetaZitaZotaZistaZialistaZionistaZivaZativa'   u   nçau   logíaicu   ístic+   encZescZudZatgeZbleZable1   ZibleZismeZialisme4   ZionismeZivismeZaireZicteZisteZiciu   íciZlogiZariZtoriZalZilallZellu   ívolZisamZissemu   ìssemu   íssemu   íssimu   quíssimI   Zamenu   ìssinarZificarM   ZegarZejarZitarZitzarZferorZdorT   ZdurZdorasZicsu   lógicsX   ZudsZncesZadesZanciesZenciesu   ènciesu   íciesZlogiesZiniesu   íniesZeriesu   àriesu   atòriesZblesZablesg   ZiblesZimesu   íssimesj   u
   quíssimesk   ZformesZismesZialismesn   ZinesZeresZoresZdoresr   Zidoress   ZduresZesesZosesZassesZictesZitesZotesZistesZialistes|   ZionistesZiquesu	   lógiques   ZivesZatives   u   logíesu
   allengüesZicisu   ícisZlogisZarisZtorisZlsZals   ZellsZimsu   íssims   u	   quíssims   ZionsZcions   Zacions   ZesosZososZassosZissosZersZorsZdors   Zadors   ZidorsZatsZitats   Zbilitats   ZivitatsZ	ativitats   u   ïtatsZetsZantsZentsZments   Zaments   ZotsZutsZiusZtrius   Zatiusu   èsu   ésu   ísu   dís   u   ósZitatZbilitat   ZivitatZativitat   u   ïtatetZantZentZient   ZmentZament   Zisament   ZotZisseuu   ìsseuu   ísseuZtriuu   íssiuZatiuu   ió   u   ció   u   ació   ZabaZescaZiscau   ïscaZidaZudau   ïdaiaZariaZiriaZaraZieraZirau   ïraZavaZixaZitzau   íau   aríau   eríau   iríau   ïaZiscu   ïscZadZedidZiereZdre   ZaseZieseZasteiiZiniZesquiZeixiZitziamZemZarem*   Ziremu   àremu   íremu   àssemu   éssemZiguemu   ïguemZavemu   àvemu   ávemu   irìemu   íemu   aríem7   u   iríemZassimZessimZissimu   àssimu   èssimu   éssimu   ïmZanZabanB   ZarianZaranZieranZiranu   íanu   aríanH   u   eríanu   iríanenZienL   ZarienZirienZarenZerenZirenu   àrenu   ïrenZasenZiesenZassenZessenZissenu   éssenu   ïssenZesquenZisquenu   ïsquenZavenZixenZeixen`   u   ïxenu   ïeninZinind   ZsinZisinf   ZassinZessinZissinu   ïssinZesquinZeixinZaronZieronu   aránu   eránu   iránu   iïnZadoZidoZandoZiendoioZixoZeixoy   u   ïxoZitzoZtzar}   ZerZeixerZirZadorasZabas   ZadasZidasZarasZierasu   íasu   arías   u   eríasu   iríasZidsesZidesZudesu   ïdesZatgesZiesZaries   ZiriesZaresZiresZadoresu   ïresZasesZiesesZessesZissesu   ïssesZquesZesques   u   ïsquesZavesZixesZeixesu   ïxesu   ïesZabaisZaraisZieraisu   íaisu   aríais   u   eríaisu   iríaisZaseisZieseisZasteisZisteisZinisZsisZisis   ZassisZessisZissisu   ïssisZesquisZeixisZitzisu   áisu   aréisu   eréisu   iréisZamsZadosZidosZamosu   ábamosu   áramosu   iéramosu   íamosu   aríamos   u   eríamosu   iríamosZaremosZeremosZiremosu   ásemosu   iésemosZimosZassZerass   ZessZitsu   àsu   aràs   u   iràsu   arásu   erásu   irásu   arés   u   iïsZatitintutu   ïtZauZerau   ZieuZineuZareuZireuu   àreuu   íreuZasseuZesseuZeresseu   u   àsseuu   ésseuZigueuu   ïgueuu   àveuu   áveuZitzeuu   ìeuu   irìeu   u   íeuu   aríeu   u   iríeuZassiuZissiuu   àssiuu   èssiuu   éssiuu   ïuZixZeixi	  u   ïxZitzu   iàu   aràu   iràu   itzàu   aráu   eráu   iráu   irèu   aréu   eréu   iréu   iïaeiu   ïnosisosu   ïseuiuZiqu)r   A      r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	      r@   Q   r
   r   c                 C   s   | j | _| j | _| j}z| tjdds.t |  jd7  _| tjddsRt |  jd7  _| j| _| tjdds~t |  jd7  _| tjddst |  jd7  _| j| _W n ty   Y n0 || _dS )Na      r   T)	limitI_p1I_p2cursorZgo_out_groupingr   g_vlab0Zgo_in_grouping)selfv_1 r   >lib/python3.9/site-packages/snowballstemmer/catalan_stemmer.pyZ__r_mark_regionsN  s*    zCatalanStemmer.__r_mark_regionsc                 C   s  | j }z| j | _| tj}|dkr*t | j | _|dkrL| dsW dS n|dkrf| dsW dS n|dkr| dsW dS nn|d	kr| d
sW dS nT|dkr| dsW dS n:|dkr| dsW dS n | j | jkrt |  j d7  _ W q W n ty   Y n0 || _ qq dS )Nr	   r   r~   Fr   r   r   r   r   r   r   ur
   .T)	r   braZ
find_amongr   a_0r   ket
slice_fromr   )r   r   	among_varr   r   r   Z__r_cleaninge  sB    





zCatalanStemmer.__r_cleaningc                 C   s   | j | jksdS dS NFT)r   r   r   r   r   r   Z__r_R1  s    zCatalanStemmer.__r_R1c                 C   s   | j | jksdS dS r   )r   r   r   r   r   r   Z__r_R2  s    zCatalanStemmer.__r_R2c                 C   s@   | j | _| tjdkrdS | j | _|  s0dS |  s<dS dS )Nr	   FT)r   r   find_among_br   a_1r   _CatalanStemmer__r_R1	slice_delr   r   r   r   Z__r_attached_pronoun  s    z#CatalanStemmer.__r_attached_pronounc                 C   s   | j | _| tj}|dkr dS | j | _|dkrJ|  s<dS |  sdS n|dkrl|  s^dS |  sdS nb|dkr|  sdS | 	dsdS n>|dkr|  sdS | 	dsdS n|  sdS | 	d	sdS d
S )Nr	   Fr   r   r   logr   r,   cT)
r   r   r   r   a_2r   r   r   _CatalanStemmer__r_R2r   r   r   r   r   r   Z__r_standard_suffix  s<    


z"CatalanStemmer.__r_standard_suffixc                 C   sf   | j | _| tj}|dkr dS | j | _|dkrJ|  s<dS |  sbdS n|  sVdS |  sbdS dS )Nr	   Fr   T)	r   r   r   r   a_3r   r   r   r   r   r   r   r   Z__r_verb_suffix  s    zCatalanStemmer.__r_verb_suffixc                 C   sh   | j | _| tj}|dkr dS | j | _|dkrJ|  s<dS |  sddS n|  sVdS | dsddS dS )Nr	   Fr   r,   T)	r   r   r   r   a_4r   r   r   r   r   r   r   r   Z__r_residual_suffix  s    
z"CatalanStemmer.__r_residual_suffixc                 C   s  |    | j| _| j| _| j| j }|   | j| | _| j| j }znzV| j| j }z|  sdt t W n ty~   Y n0 | j| | _|  st	 W n ty   Y n0 W n t	y   Y n0 | j| | _| j| j }| 
  | j| | _| j| _| j}|   || _dS )NT)_CatalanStemmer__r_mark_regionsr   Zlimit_backwardr   #_CatalanStemmer__r_attached_pronoun"_CatalanStemmer__r_standard_suffixlab2lab1_CatalanStemmer__r_verb_suffixr   "_CatalanStemmer__r_residual_suffix_CatalanStemmer__r_cleaning)r   Zv_2Zv_3Zv_4Zv_5Zv_6r   r   r   _stem  s:    

zCatalanStemmer._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      s  



















































+





























































































































































  M









    !







%#r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r   r   r   
      r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r     r   r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r     r   r   N)	Zbasestemmerr   Zamongr   r   BaseExceptionr   r   r   r   r   r   r   <module>   s         	