
    hH                     r    S SK JrJrJr  SSKJr  SSKJr   " S S\5      rSS\	S\
S	\	4S
 jjrS\	S	\	4S jrg)    )DictListTuple   )
Lemmatizer)Tokenc                   l   ^  \ rS rSr\S\S\\\   \\   4   4U 4S jj5       rS\	S\\   4S jr
SrU =r$ )IrishLemmatizer   modereturnc                 >   > US:X  a  / SQnU/ 4$ [         TU ]  U5      $ )N
pos_lookup)lemma_lookup_adjlemma_lookup_adplemma_lookup_nounlemma_lookup_verb)superget_lookups_config)clsr   required	__class__s      R/home/james-whalen/.local/lib/python3.13/site-packages/spacy/lang/ga/lemmatizer.pyr   "IrishLemmatizer.get_lookups_config   s.    <H
 b>!7-d33    tokenc                    UR                   n[        UR                  5      nUS;  a  UR                  5       /$ [	        U5      nSnUSS R                  5       S:X  a  USS R                  5       S;   a  USS  nUR                  5       nUS:X  a  S	nUR                  5       (       a  US
:X  aI  SUR                  ;   d  SUR                  ;   a)  SUR                  ;   n[	        X75      R                  5       /$ US:X  a*  SUR                  ;   a  [	        U5      R                  5       /$ U R                  R                  SU-   0 5      nS n	US:X  a%  U	" UR                  X3R                  5       5      5      $ / n
US:X  aM  U
R                  U	" UR                  U5      5      5        U
R                  U	" UR                  U5      5      5        OhU
R                  U	" UR                  UR                  5       5      5      5        U
R                  U	" UR                  UR                  5       5      5      5        [        U
5      S:X  a  UR                  5       /n
U
$ )N)PROPNADPADJNOUNVERB r      h      aáeéiíoóuúr   nounr!   zVerbForm=VnounzVerbForm=Infz
Form=HPrefr    zVerbForm=Partlemma_lookup_c                 D    U c  / n U $ [        U [        5      (       d  U /n U $ )N)
isinstancelist)values    r   to_list5IrishLemmatizer.pos_lookup_lemmatize.<locals>.to_list0   s.    } L  t,,Lr   r   )pos_unponctextlowerdemutate	has_morphmorphlookups	get_tablegetextendlen)selfr   univ_posstring	demutated	secondary
lookup_poshpreflookup_tabler.   rets              r   pos_lookup_lemmatize$IrishLemmatizer.pos_lookup_lemmatize   s   ::

#BBLLN##V$		!A;#%&1+*;*;*=AR*Rqr
I^^%
wJ?? 6! EKK/>U[[3P$3 /55788U"%++'E (..011||--o
.JBO	 u<++FLLNCDDwJJw|//	:;<JJw|//	:;<JJw|//	0ABCDJJw|//	0ABCDs8q=<<>"C
r    )__name__
__module____qualname____firstlineno__classmethodstrr   r   r   r   rE   __static_attributes____classcell__)r   s   @r   r
   r
      sS     
4c 
4eDItCy4H.I 
4 
4*% *DI * *r   r
   wordis_hprefr   c                    SnSnU R                  5       nUR                  S5      (       a  U SS  n GOUR                  S5      (       a  U SS  n GOUR                  S5      (       a  U SS  n GOUR                  S5      (       a  U SS  n GOUR                  S	5      (       a  U SS  n GOUR                  S
5      (       a  U SS  n GOUR                  S5      (       a  U SS  n GOiU SS S:X  a  U SS U;   a  U SS  n GOPUR                  S5      (       a  U SS U;   a  U SS  n GO*UR                  S5      (       a  U SS  n GOUR                  S5      (       a  U SS  n OUR                  S5      (       a  U SS  n OUR                  S5      (       a  U SS  n OUR                  S5      (       a  U SS  n OUR                  S5      (       a  U SS  n OUR                  S5      (       a  U SS  n OeUR                  S5      (       a  U SS  n OIUR                  S5      (       a  U SS  n O-U(       a  U SS S:X  a  U SS  n OU SS S:X  a  U SS U;   a  U SS  n USS S;   a  USS S:X  a  U SS U SS  -   n U $ )Nu   AÁEÉIÍOÓUÚr'   bhfr&   mbr$   gcndngbpdtr   nzn-r   zbh-fzm-bzg-czn-dzn-gzb-pzd-ttszt-sr%   	bcdfgmpst)r3   
startswith)rP   rQ   UVOWELSLVOWELSlcs        r   r4   r4   E   s   GG	B	}}UABx	t		ABx	t		ABx	t		ABx	t		ABx	t		ABx	t		ABx	ac	d1Qi72ABx	t		ag!5ABx	v		ABx	u		ABx	u		ABx	u		ABx	u		ABx	u		ABx	u		ABx 
t		ABx	u		ABx 
d1Qi3&ABx
 
ac	d1Qi72ABx
 
!Aw+"Qq'S.Aay48#Kr   c                    0 SS_SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$0En/ nU  H.  nX1;   a  UR                  X   5        M  UR                  U5        M0     S%R                  U5      $ )&Nu   ḃbhu   ċchu   ḋdhu   ḟfhu   ġghu   ṁmhu   ṗphu   ṡshu   ṫthu   ḂBHu   ĊCHu   ḊDHu   ḞFHu   ĠGHu   ṀMHu   ṖPHu   ṠSHu   ṪTHr#   )appendjoin)rP   PONCbufrc   s       r   r1   r1      s   td 	t 	t	
 	d 	t 	t 	t 	t 	t 	d 	t 	t 	d 	t  	t!" 	t#$ 	t%D* C:JJtx JJrN	 
 773<r   N)F)typingr   r   r   pipeliner   tokensr   r
   rM   boolr4   r1   rG   r   r   <module>r|      sL    $ $ " ;j ;|=3 =$ =3 =@  r   