o
    Niz                     @  s   d Z ddlmZ ddlZddlZddlZddlmZ zddlZdZ	W n e
y-   dZ	Y nw zddlZdZW n e
yA   dZY nw ddlmZmZ ddlmZ dd	lmZ G d
d d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 )z:Japanese search language: includes routine to split words.    )annotationsN)AnyTF)ExtensionErrorSphinxError)SearchLanguage)import_objectc                   @  s    e Zd ZdddZdd
dZdS )BaseSplitteroptionsdict[str, str]returnNonec                 C  s
   || _ d S N)r	   selfr	    r   D/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/search/ja.py__init__&   s   
zBaseSplitter.__init__inputstr	list[str]c                 C  s   t )zN
        :param str input:
        :return:
        :rtype: list[str]
        )NotImplementedErrorr   r   r   r   r   split)   s   zBaseSplitter.splitNr	   r
   r   r   r   r   r   r   )__name__
__module____qualname__r   r   r   r   r   r   r   %   s    
r   c                      sF   e Zd Zd fddZdd
dZdddZdddZdddZ  ZS )MecabSplitterr	   r
   r   r   c                   sD   t  | d | _d | _ts| | n| | |dd| _d S )Ndic_enczutf-8)	superr   ctypes_libmecabctypes_mecabnative_moduleinit_ctypesinit_nativegetdict_encoder   	__class__r   r   r   3   s   
zMecabSplitter.__init__r   r   r   c                 C  s4   t r	| j|}n| j| j|| j}|dS )N )	r#   nativeparser!   mecab_sparse_tostrr"   encoder'   r   r   r   resultr   r   r   r   =   s   
zMecabSplitter.splitc                 C  s.   d}| d}|r|d| 7 }t|| _d S )Nz-Owakatidict -d %s)r&   MeCabTaggerr+   )r   r	   paramr1   r   r   r   r%   F   s
   
zMecabSplitter.init_nativec           
      C  s$  dd l }|d}|d u rtjdrd}nd}|j|}ntj	||kr.|j|}n
d }tj
|r8|}|d u rBd}t|d}|d}|rQ|d	| 7 }t pXt }	||| _|jf| jj_|j| jj_|j|jf| jj_|j| jj_| j||	| _| jd u rd
}t|d S )Nr   libwinzlibmecab.dllmecabz&MeCab dynamic library is not availablezmecab -Owakatir1   r2   zmecab initialization failed)ctypes.utilr&   sysplatform
startswithutilfind_libraryospathbasenameexistsRuntimeErrorgetfilesystemencodinggetdefaultencodingCDLLr!   c_char_p
mecab_new2argtypesc_void_prestyper-   r.   r"   r   )
r   r	   ctypesr6   libnamelibpathmsgr5   r1   fs_encr   r   r   r$   M   s@   



zMecabSplitter.init_ctypesc                 C  s   | j r| j | j d S d S r   )r!   mecab_destroyr"   )r   r   r   r   __del__v   s   zMecabSplitter.__del__r   r   r   r   )	r   r   r   r   r   r%   r$   rR   __classcell__r   r   r(   r   r   2   s    


	
)r   c                      s2   e Zd Zd fddZdddZdddZ  ZS )JanomeSplitterr	   r
   r   r   c                   s2   t  | |d| _|dd| _|   d S )Nuser_dicuser_dic_encutf8)r    r   r&   	user_dictuser_dict_encinit_tokenizerr   r(   r   r   r   |   s   zJanomeSplitter.__init__c                 C  s*   t sd}t|tjj| j| jd| _d S )NzJanome is not available)udicudic_enc)janome_modulerC   janome	tokenizer	TokenizerrY   rZ   )r   rO   r   r   r   r[      s   zJanomeSplitter.init_tokenizerr   r   r   c                 C  s&   d dd | j|D }|dS )Nr*   c                 s  s    | ]}|j V  qd S r   )surface).0tokenr   r   r   	<genexpr>   s    z'JanomeSplitter.split.<locals>.<genexpr>)joinr`   tokenizer   r/   r   r   r   r      s   
zJanomeSplitter.splitr   rS   r   )r   r   r   r   r[   r   rT   r   r   r(   r   rU   {   s    
rU   c                   @  s.  e Zd Zdd ddddddd	 D Zd
ZdddddZi ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1Zd2d3d4d5d6d7d8d9d:d;d<d=Zd>d?d@dAdBZ	dCdDdEZ
dFdGdHdIdJdKdLdMdNdOdPdQdRdSdTZdUdVdWdXdYdZd[d\d]d^d_
Zi d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dZddddddddd<dddZi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddÓddœddǓddɓdd˓i dd͓ddϓddѓddӓddՓddדddٓddۓddݓddߓddddddddddddddi ddddddddddddddddddd ddddddddd	d
dddddddddZi dddddddddddddddddd d!d"d#d$dd%d&d'd(d)dd*d+d,d-d.i d/d0dd1d2d3d4d5dd6dd7d8d9d:d;d<d=d>d?d@dAddBdCdDdEdFddGdHdIdJdKi ddLdĐdMdNdOdPdQdRdSdTdUdƐdVdWdXdȐdYdZd[d̐d\d]d^d_d`dadbdΐdcdddedҐdfi dgdhd֐didjdkdؐdldmdndڐdodpdqdrdsddtdudvdwdxdydzd{d|d}d~ddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddÓi dĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓddГdѐdғdӐdԓdՐd֓dאdؓdِdړdېdܓdݐdޓdߐdddddddiZi dddddddddddddddddddddddddddddd ddddi dddddddd	d
dddddddddddddddd&dddddd+dddi ddd d!d"d#d$d#d2d%dd&dd'd8d(d)d*d+d,d-d,d.d/d0d1d2d1d3d4d5d6d7d8i d9d8d<d:d;d<d=d>d?d@dAdBdCdBdDdEddFdHdGddHdIdJdRdKdȐdLdMdNdʐdOdPdQi dRdSdadTdddUdVdWdҐdXdYdZd֐d[d\d]d^d]dڐd_dpd`dܐdadbddcddddedfdgdhdgi didjddkdldmdndoddpddyddqdrdsdtdudvdwdxdwddyddzdd{d|d}dd~dddddddddddddddZddddmdddddddddZdddddddZi dddddddddddddddddddddddddddddddddddddddÐdĐdŜZi ddƓddǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓddғddӓddԓddՓdd֓dאddؐdٓdڐdۓdܐdݓddޓdߐddddd4dZddddCddddddddddZdddddZi ddddddddddd dddddddddd	d
ddddddddǓdddddҐdddZi dd4ddddddd ddddd ddd	d!d"d#d$d%dd&d'd(dd3d)d*dd+Zd,d-d.Zi d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdadDdEdFdGdHdIdJdKdLdMZdNdOdPdQdRdSdTdTdUdVdWdXZdYdYdZd[d\d\d]d^d_d`dadbdcZdddedfdgdhZdidjdkdldmdndoZdpdqdrZ dsdtdudvdwdxdydzZ!d{d|d}d~ddZ"ddddddZ#ddiZ$dddZ%ddiZ&dddddddddd	Z'ddddZ(dddddddddd	Z)i ddddddddddddddddddddddddddddddddÓdĐd͓i dŐdƓdǐdȓdɐdʓdːd̓d͐dΓdϐdГdѐdғdӐdԓddd֐dדdؐdٓdڐdۓdܐdݓdސdߓddddddddddАdZ*i dddddddddddddddddddd dddddddddddddd i ddGdddddddd	d
dddԓddddddddddddddddddddi ddғdĐddǐddddɐddːdd͐dd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/dѐd0d1d2i d3dd4d5d6d7d8d9d:d;d<d=d>d?dՐd@dڐdAdBdCdDdEdFdGdHdIdJdKdLdMdސdNdOdPi dQdRdSdGdTddUdVdWdXdYdZdd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmddni dodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddd'd!d#d%dZ+i ddddddddddddddddddddddddddddddddEddi ddddddddddddddddddddddddd
dddddddddi ddddddddddddddÓddēdŐdƓdǐdȓddɓddʓdĐd˓dddǐd̓dd͓dɐdΓi dϐdГdːdѓd͐dғd dӓdԐdՓd֐dדd&ddؐdٓdڐdۓdܐdݓdސdߓdddϐdddddd,dddi d.ddѐd)ddddd3dddddddddddddd6dddddd dddddi dddd	d
dddd:dddddd<dddɓdd	ddddd>ddՐdddd֐dddi d d!d"d#d$d%d&dd'd(d)d*d+d,dؐd-d.d/d0d1d2dd3d4dHd5d6d7dJd8d9d:dLd;i d<d=d>d?dސd@dAdBdOdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdUdXdYdZi d[d\dWd]dYd^dd_d`dadbdcdddedfdgd^dhdidjdkdldmdndodpdddqdrdsdtdudvddi dwdxdjdydzdd{d|d}d~dddddddddddddddddddudddVddi dddwddydd{dddddddddddddddddd}dddddddddi ddddddzdddddddddddd*ddddddddddÓdĐdœdƐdǓdȐdɓddddddӐdՐdאdِdېdݐdߐddʜZ,i dd˓d̐d͓dΐdϓdd˓dАd͓ddѓddғddӓddԓddՓdd֓ddדddؓddٓddړddۓddܓi dݐdޓddߓddddddddddddddddddddddddddddddi ddd
dddddddddddddddddddddd dddddddddi dddŐddddǐd	dd
dddddddĐddŐddǐddddɐddddϐddːdd͐dKi d"dddddd&ddؐddd d!d"d#d$dܐddd%dϐd&d'd(dd)d.d*dd+d1d,d-d.i d3d/dd0d4d1d2d3ddړd4d5d6ddd7dd8d9ddd:d:d;dd<d<d=dd-dd>dd?i dd@dՐdAddBdCdDd&dEd)dd+dFdGdHdIdJdؐdKdLdMdNdOd0dPdQdKdRdSdTdRdڐdi dFdUdHdVdWdXdYdZdLd[d\d]d^d_d`dadbdcdސdddOdedfdgdhdidRdjdkdldmd=dndoi dpdqdUdrdYdsdWdtdudddwdddvd^dwdidxdydzd{d|d}d~dvddwddjddldFddFi dddddddddd3dddddddddqdddduddddwddyd:d{dddi ddddddddddddddddddddadddd!ddddeddddddi ddddddddQddddddddddddddddddddddddaddi ddddÓddғdĐdӓdŐd&dƐddǐd(dȐddɐddʐddːdd̐d d͐d"dΐd$dϐddАd%Z-i ddѓddeddғdӐdԓdՐd֓ddѓddeddדddؓddٓddړddddۓddܓddݓddޓdݐdߓi ddddddddddddddddddd
dddddddddddddddi dddŐddǐdddddwdǐddddɐdddgdːdd͐dddddNddd.ddӐdd4di dddddՐdddd+d dڐddHddWddddސddddOddPd	dmd
dddYdZddi diddddddddwddddddddsdՓdddudddddddNdddd d!d"dd1d#d$dd%d&d'dҐdԐdאddNdd(Z.i dd)d̐d*dd+d,d#dd)dАd*dd-dddddd.dd/dd0dd1dd2dd3dd4d
d5i dd6dddddd7dd8dd9dd:dǐdddГdːd;dܐd<dd=dd>d.dd?dd4d@ddKi dՐdAd+d8dܐddHddސdBdDdCdhdDdvdEdsdFddGdHdddIddJdKdLddMdNd+dOd#d<d=dPZ/dadTdUZ0dbdZd[Z1dcd^d_Z2d`S (d  DefaultSplitterc                 C  s   i | ]
\}}t ||qS r   )recompile)rc   patternvaluer   r   r   
<dictcomp>   s    
zDefaultSplitter.<dictcomp>MHIKAN)u/   [一二三四五六七八九十百千万億兆]u   [一-龠々〆ヵヶ]u	   [ぁ-ん]u   [ァ-ヴーｱ-ﾝﾞｰ]u   [a-zA-Zａ-ｚＡ-Ｚ]u   [0-9０-９]i   i	  i  i)HHIIKHOHAAi=AIi
  ANiru   iHMiQHNi  HOi  IAi/  IHi`rv   iIKi  IOit  KIi  KKiMHiMKi  OOii  ir  i/iiii
  i7  i  ii
  )ru   HIHKr}   r~   r   r   r   MMOArx   i'  i0  ii`  )BBOBr   UB<   i)BOr   i~  i  iziv  i  i  iii  ii;  ii  i  )BHHBHMBIIBIMBMHBNHBOHBOOOHIOIHOKAOKHOKKOOOv   iyi  iiiHi`  iiK   i)
r   BHIr   BIHBKKBKOOHHOHMr   UHIr   ir   ih
  r   iBKIi  r   i  BMMi   BNNi  r   i  r   i~  r   i  OIIi  r   i  OKIiOKOi>OMHir   i-  iiiD  iiii  ii3)r   r   r   BIKr   BMIr   OAHr   OHKONNu   ,とi  u   ,同i  u   B1あi|  u   B1同i  u   、とu   、同u   」とi  u   あっi  u   いうi  u   いっiu   いるi  u   うしi/u   うんi  u   からi  u   がらiX  u   こうiu   ことi#  u   こんiu   さらiu   さんi  u   したiQ
  u   してiP  u   すでiu   そこi  u   それiu   たちib  u   ためiY  u   ったi  u   ついiu   ていi%  u   てきi  u   できig  u   ですiu  u   ではiL  u   といiu   とみi  u   どこi/  u   ないiQ  u   なっi  u   などi  u   なんiu   にしi	  u   にはi  u   にもi  u   に対ipu   の一iu   の中i  u   ませi	  u   までi  u   ままi(
  u   まるiu   やむieu   よっiu   れたiA	  u   れでiou   をしiD  u   を見i  u   亡くiu   京都i	  u   取りi u   大きiu   大阪i  u   平方iu   引きiu   日本i=u   本当iu   毎日iu   目指i,)u	   Ｂ１あu	   Ｂ１同u   ｣とz..i11icu   ――iu   −−iiu   うかi	  u   かしiu   かもiiu   かれi  u   がいiU  iu   きたi  u   くなii8u   このiu   させi  u   されip3  iwu   しいiu   しかii  i  u   しなi  u   そのi`u   たいiu   たたiju   ただiiu   たとi  u   たはiUi  u   ってio  u   っとii   i8  u   てくi	  u   てはiu   てもiu   でいij
  iu   でしiigu   でもiib  u   とこi.u   ととiu   とのi  i0  u   ともiiHu   ながiiu   なのi6
  i  u   におii
  u   になi	  u   によiiu   に従iu   に関iu   のかi-  u   のでimu   のにigu   ののiu   はいi1  u   はがiu   はずiu   ばれi  u   ましii#u   まれi!  u   めてiu   もいi  u   ものi'u   らかiPu   らしiu   らにiu   りしi  u   りまiT  i  u   れてiQ  u   ればi  u   ろうi  u   われi  u   を通iu   んだi  u   んなiu   一人iZ  u   一方iu   一日i  u   一部iu   上がiu   会社iu   出てis  u   分のiu   同党u   同日iYu   委員iu   少なiu   年度i#u   年間iu   府県iu   手権iB   新聞iu   日新i.idu   日米i,  u   曜日iu   朝鮮iu   本人iwu   東京iu   然とi   社会iu   立てi"u   第にiu   米国iTu   １１u   あたinu   ありi  u   あるi  u   い.i_u   い。u   いいi  u   いえi  u   いくi  u   いたi  i[  i  u   いわi  u   うちi]  u   うとi  u   えとi  u   か.i)  u   か。u   かけiu   かっiu   かにix  u   かりiu   が,i  u   が、u   がきi	u   がけiu   がっiu   がりiim  u   けどi^  i  i  u   ころi;u   さいi6u   さをi  u   し,i  u   し、i~i  i  i0
  u   しまi  u   す.iu   す。u   するiy  u   ず,ib  u   ず、u   ずにiI  u   そうi  u   た.i"  u   た。iu   たのi,  u   たりiau   たるiu   だ.i  u   だ。u   だっi  iti,  i`  u   ておiW  i.  i  u   でにi6i  u   とうiu   としi  i  i)u   どうi8  i  u   なくiyiW  u   に,iu   に、i  ir  iT
  u   の,u   の、u   の子iu   は,i9  u   は、u   べきi  iY  u   ますi  u   まっii
  i  u   られi  u   るるi  u   れ,iV  u   れ、i:  i_  iRu   れるiC  ii^  i  i  i\  i  i  i  i  iAi  i  )u   んでu   カ月u   会議u   入りu   大会u   始め   市r   u   日,u   日、r   u   ｶ月iE  i  iD  izii  iri	i     i)AAAHHHHHMHIIHOHHOMIHIIOHIOIIOMMMHOOIi(  ii~iSi  i)HHOr   HMMr   KKHr   r   ir   iZ  HHIir   iHIKr   i2IHH   r   iIHOiqIIHiIIMir   iKHHi@KKAi  r   i?KOKiMHHizi7{   i)igi  i)MHMMHOr   NNHNNOOHOi5i@  HHKim  r   iHHN   r   i  HIHi$  i  i  i  iiA  IIIIIOi  IOO6   KAKi  i:  i  ik   ii  )KKKr   MHIr   MMMMOMii<  i|i;  i   iti  i        i)BHHHBHHIBHIHBIHHBIIIBNHHBOHHBOOOOAKKOHHHOHIHOIHIOIIHiii))r   r   BKAKr   r   i  BHHMir      BHIIiBIIHir   iBMHIiBMHMi0BOMHil  r   OHHIi  OHIIi  OHMHi  OIHHio  r   OKAKi
  OKHHiK  n   iS)OKKAOOHHOOIIii:ii{OAAAi5r      i	  OHHOi  r   ii  r   iOIIIiYi$ii  )	   についu	   東京都u	   ある程iu	   いったiu	   ころがi~u	   しょうi!  u	   その後iu	   だってiu	   ていたi)  	   としてiu	   ともにi[u	   ものでiZ  u	   一気にu	   初めてiu	   同時にi_u	   大きなiu	   対してi_u	   社会党ipi:i"  i&iiii)iiXi)u	   いただ	   していr  r  u	   にとっu	   に当たu   ので,u	   ので、u	   のものu	   れからu	   十二月i!  ii  i  i  iE  i  iI  i^i  )u   いう.u	   いう。u	   からなr  u   たが,u	   たが、u	   ているu	   というu	   ましたu	   ませんu	   ようとu	   よるとi  ]   i  i)rr   rq   rn   Oi3  i#  i  i  i  i  )rr   ro   rp   rn   rs   r  ii	  )rr   rp   ii  iii  i$  i  )rr   ro   rp   rq   rn   rs   r  i9  i*ii  i)ro   rp   rq   rn   r  iiW      i}r  i*E   i  )Br  r        ii   iii  i  i)	BHBIBKBNr   rx   OIOKr      q   i  )r  r  r  i!*   iy  iiX  i  i9  iit)	BAr  r  r  BMr  r   r  ON,   u   、u   「i1u   あiSu   うiu   がiu   きy   u   こi  u   でi7u   とiu   どiu   にiu   のiGu   はiu   もi.u   やi*u   よu   らiu   り   u   れ   u   をiBu   んiwu   ・iyu   主inu   京iu   区u   午ig  u   国i4u   大i1  u   委i  r   ieu   日isu   理ii  u   生ihi~i2)   県   都   ｢   ･iu   〇i|  i{u   」iI  iu   い   u   おi
u   かiu   くidiu  u   さin  u   ざi  u   しi  u   すi]u   せu   そiu   た   u   だi-  u   つiKu   てii+i  u   なi'  i   igu   ひiu   べi  u   まiig  iu   るiJi;  i,i/  u   アiu   カi2  u   キi8  u   ッi?  u   三i
u   不iu   世iu   中i8iu   事i  u   人u   会i  u   保ij  u   入i$  u   初i/u   副iu   北iiZiu   天iu   太iu   子iu   学i  u   実i  u   小i'iu   年iu   強i+  u   手u   揺u   政i  u   文iu   新iniu   明iJu   最iu   朝iu   本iu   東i]u   果igu   次iu   民iLu   気i4i  u   発i  u   目iu   相ir*  isu   立iu   第i*  u   米i  u   自iu   行iF  u   西u   見iu   調i     議i  u   込i  u   開i     間ir,  )   ｣   ｯ   ｱ   ｶu   ｷi  1iu   −iEu   々ii  in
  u   〓iixi  i&	  u   えi  i iui  u   けi  u   げi  i u   ごiiiuiH  ie  iiJ  u   ちiu   っi\ii  i	  i  i}ii
  i  i  iu   ふiu   へi  u   ほitiu   みiu   めi  i	  ii6i  i  i
  u   わiIi  ii'  u   グi'  u   スij  u   トi	  u   ムiU  u   ルi7  u   ロi  u   ンi  i.u   一iu   下i!iu   両i  i  u   予iWu   二i
  u   今i  u   他ia  u   以iu   低i+  u   何i  u   作iiyu   元i  u   党i	  u   全i&  u   公i*u   六i  u   共iu   円i  u   再i  u   分i  i	  u   別ii  u   前i  iU  u   力u   動u   務iu   化ii&  u   千iiu   協iu   口i  u   右i  u   各i  u   合u   同iB  u   和iu   員i  i  u   型im  u   場i  u   外u   妻i  iu   安iYiu   家i6  iu   少iu   州i  i}  u   平iip	  u   広iu   府iE  u   度i  u   建iu   当iu   得iq  u   思iu   性i  u   戸iu   指i{i#u   教i9u   数i  i/i  i3  u   旧i  u   昨iku   時i u   曜iIiWu   月i  u   期ih  u   李i  u   村il  iu   核i$  u   森i	  u   業u   氏i5
  ibu   決u   法iL  u   海iu   無i  u   物i  u   特iiu   用i  u   町i  u   的i  u   直iu   省i  u   知u   私i  u   税i@i  iW  u   系i  u   約iO  u   級ih  u   統i{u   総i  u   線i  u   者i9  u   能i  iu   英i  i  iu   財i#u   費i  u   車i+  u   軍i u   通i   選iW   郎i  u   郡i4  u   部u   金   長i  ihi  u   関iu   雨i  u   電iu   非i  )u   駅   １r3  r-  r4  r5  u   ｸﾞu   ｽ   ﾄu   ﾑ   ﾙu   ﾛ   ﾝiZ  .i  u   ―iu   。i  ig  i  ii  iii.ie	  i  iv  i~u   ぎii4iii  i  i0  iu   じi6i%u   ずi     i  i  i   iiii  i  i  i9  ic  u   ぬi=  u   ねi  i  i!  u   ばi  i  u   びiiA  i	  i  i  iu   むiiJiI  u   ゃii
  u   ょii  iiiiu   ろi&i	i^3  ia  u   コi  u   セi  imu   メiu   ラiu   リiiiu   ーiii  i  iBu   井ii  i   i  u   体iu   側i  u   先i*iDu   内i  iC  iW  i'  iiei  i  i  u   参i  iiru   器iu   回i  iu   園iPu   地ib  i~u   塁u   士i{u   多i>iu   定iu   寺iiv  u   屋iu   山i$u   島iu   川ii
  iv  u   庁i4u   後i  i)  u   感i  u   所u   支iX  u   改i  i  i  i
  u   方i%  iM  iu   木iu   来iFu   校iii  idu   沢u   済i!u   率u   球iu   産iu   田ii"  i
  i  ici  u   空iiiy  i  i{  u   経iz  ioi  iu   署i  i&u   般iu   規u   警iu   谷u   賞i  i7i  u   輪igiu   近i  u   道i$
  ir+  i  u   野iu   銀i[ie  iu   院iu   際u   領   題   館i@u   首i  u   高iH  r3  r-  r4  u   ｰr6  u   ｺu   ｾr<  u   ﾒu   ﾗu   ﾘr=  r>  i  iE2i ]i6ik  iw  iK  i	i  i  i[iX  i  i8  i)iii^4   i  iiii8iii  i  ia  i  i0i  i  iiG  u   イ   ii  iiri  i{u   告iP  i8  iii  u   嵐iiQu   席i  ih  iu   挙iR     iu   査i  u   格iL  u   機ii   iiii]u   研iu   社ii  iGu   表i  iii  i@	  iO)u   語r1  r8  r9  r:  r2  rA  rB  r;  u   Ｅ２r,  u   ｲr=  r>     i(  iE1iiii8i  i  iTi=  i
e   iki_ii2   i_iiu   件ip  i   iw  iIi  iGi  iu   福ii  u   連i  i:  r;  u   Ｅ１)r=  r>  charr   r   c                 C  s*   | j  D ]\}}||r|  S qdS )Nr  )	patterns_itemsmatch)r   rM  rk   rl   r   r   r   ctype_  s
   
zDefaultSplitter.ctype_r1   dict[str, int]keyintc                 C  s   ||v r|| S dS )Nr   r   )r   r1   rS  r   r   r   ts_  s   zDefaultSplitter.ts_r   r   c                 C  s  |sg S g }dddg|ddd}dddgt | j|ddd}|d }d	}d	}d	}td
t|d D ]?}	| j}
||	d  }||	d  }||	d  }||	 }||	d  }||	d  }||	d  }||	d  }||	d  }||	 }||	d  }||	d  }|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j	|| 7 }
|
| | j
|| 7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|| 7 }
|
| | j|| 7 }
|
| | j|| 7 }
|
| | j|| | 7 }
|
| | j|| | 7 }
|
| | j|| | 7 }
|
| | j|| | 7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|7 }
|
| | j|| 7 }
|
| | j|| 7 }
|
| | j || 7 }
|
| | j!|| | 7 }
|
| | j"|| | 7 }
|
| | j#|| | 7 }
|
| | j$|| | 7 }
|
| | j%|| 7 }
|
| | j&|| 7 }
|
| | j%|| 7 }
|
| | j'|| | 7 }
|
| | j(|| | 7 }
|
| | j)|| | 7 }
|
| | j*|| | 7 }
|
| | j+|| | | 7 }
|
| | j,|| | | 7 }
|
| | j-|| | | 7 }
|
| | j.|| | | 7 }
d}|
dkrk|/|0  d}d}|}|}|}|||	 7 }q7|/|0  |S )NB3B2B1rJ  rC  E3r     U         r    r  )1maprQ  rangelenBIAS__rU  UP1__UP2__UP3__BP1__BP2__UW1__UW2__UW3__UW4__UW5__UW6__BW1__BW2__BW3__TW1__TW2__TW3__TW4__UC1__UC2__UC3__UC4__UC5__UC6__BC1__BC2__BC3__TC1__TC2__TC3__TC4__UQ1__UQ2__BQ1__BQ2__BQ3__BQ4__TQ1__TQ2__TQ3__TQ4__appendstrip)r   r   r0   segctypewordp1p2p3iscorew1w2w3w4w5w6c1c2c3c4c5c6pr   r   r   r     s   "
zDefaultSplitter.splitN)rM  r   r   r   )r1   rR  rS  r   r   rT  r   )3r   r   r   rO  rN  rc  r|  r}  r~  rg  rh  r  r  r  r  ro  rp  rq  r  r  r  r  r  r  r  r  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  rd  re  rf  r  r  UQ3__ri  rj  rk  rl  rm  rn  rQ  rU  r   r   r   r   r   rh      s    





 

 					





2					




4					





2
4
4
2* >
>						






>						





      !!!!!!"
>$						




      !!!!!!""""""######$$$$$<%						







>
rh   c                   @  s@   e Zd ZdZdZdZddd	ZdddZdddZdddZ	dS )SearchJapanesezg
    Japanese search implementation: uses no stemmer, but word splitting is quite
    complicated.
    jaJapaneser	   r
   r   r   c              
   C  sj   | d}|d u rt|| _d S zt|d}||| _W d S  ty4 } zd|d}t||d }~ww )Ntypez#html_search_options['type'] settingzSplitter module z can't be imported)r&   rh   splitterr   r   )r   r	   dotted_pathsplitter_clsexcrO   r   r   r   init  s   

zSearchJapanese.initr   r   r   c                 C  s   | j |S r   )r  r   r   r   r   r   r        zSearchJapanese.splitstemmed_wordboolc                 C  s   t |dkS )Nr^  )rb  )r   r  r   r   r   word_filter  r  zSearchJapanese.word_filterr  c                 C  s   |S r   r   )r   r  r   r   r   stem   s   zSearchJapanese.stemNr   r   )r  r   r   r  )r  r   r   r   )
r   r   r   __doc__langlanguage_namer  r   r  r  r   r   r   r   r    s    


r  )r  
__future__r   r?   ri   r:   typingr   r3   r#   ImportErrorjanome.tokenizerr_   r^   sphinx.errorsr   r   sphinx.searchr   sphinx.util._importerr   r   r   rU   rh   r  r   r   r   r   <module>   s8    
I  v