o
    i                     @   s4  d dl mZ esdev rddlmZ nd dlZzd dlZW n e	y*   d dlZY nw dd Z
dd	 Zd
d Zdd ZG dd deZG dd deZee G dd deZee G dd deZee G dd deZee dd Zdd ZG dd deZee G dd deZee d d! Zd dl Z d dl!Z!d dl Z d dl"Z"d dl#Z$d d"l%m&Z& d d#l%m'Z' d$d% Z(d&d' Z)ej*Z+ej*Z,e-ed(ej. e-ed(ej. ej/e_0ej1e_2d)D ]Z3e)ee3 qe(e e(e e(e eZ4eZ5dd*l6m7Z7 ee"j89e:e$j;<d+d, G d-d. d.eZ=dS )/    )version_info.   )_sentencepieceNc                 C   sB   z	d| j   }W n tjy   d}Y nw d| jj| jj|f S )Nz	proxy of  z<%s.%s; %s >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthis r   X/sda-disk/www/egybert/egybert_env/lib/python3.10/site-packages/sentencepiece/__init__.py
_swig_repr   s   r   c                        fdd}|S )Nc                    sj   |dkr | || d S |dkr| j | d S t| |r/ttt| |tr/ | || d S td|  )Nr   thisownz(You cannot add instance attributes to %s)r   ownhasattr
isinstancegetattrtypepropertyAttributeErrorr   namevaluesetr   r   set_instance_attr   s   zE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attrr   )r    r!   r   r   r   *_swig_setattr_nondynamic_instance_variable   s   	r"   c                    r   )Nc                    s6   t | |rtt| |ts | || d S td|  )Nz%You cannot add class attributes to %s)r   r   r   r   r   )clsr   r   r   r   r   set_class_attr)   s   z?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attrr   )r    r$   r   r   r   '_swig_setattr_nondynamic_class_variable(   s   r%   c                    r   )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                    s    | j | j| j S N)r   	__bases____dict__copy)r#   	metaclassr   r   wrapper3      z$_swig_add_metaclass.<locals>.wrapperr   )r+   r,   r   r*   r   _swig_add_metaclass1   s   r.   c                   @   s   e Zd ZdZeejZdS )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classN)r   r   __qualname____doc__r%   r   __setattr__r   r   r   r   r/   8   s    r/   c                   @   s   e Zd Zedd dd ddZeZdd Zej	Z
dd	 Zd
d Zdd Zdd Zdd Zdd Zdd ZeeZeeZeeZeeZeeZeeZeeZdd Zdd Zdd ZeZdS )1ImmutableSentencePieceText_ImmutableSentencePiecec                 C   
   | j  S r&   r   r   xr   r   r   <lambda>>      
 z:ImmutableSentencePieceText_ImmutableSentencePiece.<lambda>c                 C      | j |S r&   r5   r7   vr   r   r   r8   >       The membership flagdocc                 C      t | t   d S r&   )r   :ImmutableSentencePieceText_ImmutableSentencePiece_swiginit5new_ImmutableSentencePieceText_ImmutableSentencePiecer   r   r   r   __init__A      z:ImmutableSentencePieceText_ImmutableSentencePiece.__init__c                 C   
   t | S r&   )r   8ImmutableSentencePieceText_ImmutableSentencePiece__piecerD   r   r   r   _pieceE      
z8ImmutableSentencePieceText_ImmutableSentencePiece._piecec                 C   rG   r&   )r   :ImmutableSentencePieceText_ImmutableSentencePiece__surfacerD   r   r   r   _surfaceH   rJ   z:ImmutableSentencePieceText_ImmutableSentencePiece._surfacec                 C   rG   r&   )r   5ImmutableSentencePieceText_ImmutableSentencePiece__idrD   r   r   r   _idK   rJ   z5ImmutableSentencePieceText_ImmutableSentencePiece._idc                 C   rG   r&   )r   8ImmutableSentencePieceText_ImmutableSentencePiece__beginrD   r   r   r   _beginN   rJ   z8ImmutableSentencePieceText_ImmutableSentencePiece._beginc                 C   rG   r&   )r   6ImmutableSentencePieceText_ImmutableSentencePiece__endrD   r   r   r   _endQ   rJ   z6ImmutableSentencePieceText_ImmutableSentencePiece._endc                 C   rG   r&   )r   CImmutableSentencePieceText_ImmutableSentencePiece__surface_as_bytesrD   r   r   r   _surface_as_bytesT   rJ   zCImmutableSentencePieceText_ImmutableSentencePiece._surface_as_bytesc                 C   rG   r&   )r   AImmutableSentencePieceText_ImmutableSentencePiece__piece_as_bytesrD   r   r   r   _piece_as_bytesW   rJ   zAImmutableSentencePieceText_ImmutableSentencePiece._piece_as_bytesc                 C   s   d | j| j| j| j| jS )Nz3piece: "{}"
id: {}
surface: "{}"
begin: {}
end: {}
)formatpieceidsurfacebeginendrD   r   r   r   __str__b   s
   z9ImmutableSentencePieceText_ImmutableSentencePiece.__str__c                 C   s<   | j |j ko| j|jko| j|jko| j|jko| j|jkS r&   )rX   rY   rZ   r[   r\   r   otherr   r   r   __eq__j   s   <z8ImmutableSentencePieceText_ImmutableSentencePiece.__eq__c                 C   s   t t| S r&   )hashstrrD   r   r   r   __hash__m      z:ImmutableSentencePieceText_ImmutableSentencePiece.__hash__N)r   r   r0   r   r   r   r   rE   r   8delete_ImmutableSentencePieceText_ImmutableSentencePiece__swig_destroy__rI   rL   rN   rP   rR   rT   rV   rX   piece_as_bytesrZ   surface_as_bytesrY   r[   r\   r]   r`   rc   r   r   r   r   r3   =   s.    r3   c                   @   s   e Zd Zedd dd ddZeZdd Zej	Z
dd	 Zd
d Zdd Zdd Zdd Zdd ZeeZeeZeeZG dd dZedd Zdd Zdd Zdd ZeZdS )ImmutableSentencePieceTextc                 C   r4   r&   r5   r6   r   r   r   r8   v   r9   z#ImmutableSentencePieceText.<lambda>c                 C   r:   r&   r5   r;   r   r   r   r8   v   r=   r>   r?   c                 C   rA   r&   )r   #ImmutableSentencePieceText_swiginitnew_ImmutableSentencePieceTextrD   r   r   r   rE   y   rF   z#ImmutableSentencePieceText.__init__c                 C   rG   r&   )r   'ImmutableSentencePieceText__pieces_sizerD   r   r   r   _pieces_size}   rJ   z'ImmutableSentencePieceText._pieces_sizec                 C      t | |S r&   )r   "ImmutableSentencePieceText__piecesr   indexr   r   r   _pieces   rd   z"ImmutableSentencePieceText._piecesc                 C   rG   r&   )r    ImmutableSentencePieceText__textrD   r   r   r   _text   rJ   z ImmutableSentencePieceText._textc                 C   rG   r&   )r   !ImmutableSentencePieceText__scorerD   r   r   r   _score   rJ   z!ImmutableSentencePieceText._scorec                 C   rG   r&   )r   ,ImmutableSentencePieceText_SerializeAsStringrD   r   r   r   SerializeAsString   rJ   z,ImmutableSentencePieceText.SerializeAsStringc                 C   rG   r&   )r   )ImmutableSentencePieceText__text_as_bytesrD   r   r   r   _text_as_bytes   rJ   z)ImmutableSentencePieceText._text_as_bytesc                   @   0   e Zd Zdd Zdd Zdd Zdd ZeZd	S )
z9ImmutableSentencePieceText.ImmutableSentencePieceIteratorc                 C      || _ | j  | _d S r&   )protorm   lenr   r}   r   r   r   rE         zBImmutableSentencePieceText.ImmutableSentencePieceIterator.__init__c                 C      | j S r&   r~   rD   r   r   r   __len__      zAImmutableSentencePieceText.ImmutableSentencePieceIterator.__len__c                    j   t |tr fddt jD |j|j|j S |dk r"| j }|dk s+| jkr/td j	|S )Nc                       g | ]} j |qS r   )r}   rr   .0irD   r   r   
<listcomp>       zYImmutableSentencePieceText.ImmutableSentencePieceIterator.__getitem__.<locals>.<listcomp>r   zpiece index is out of range)
r   sliceranger~   startstopstep
IndexErrorr}   rr   rp   r   rD   r   __getitem__      
(
zEImmutableSentencePieceText.ImmutableSentencePieceIterator.__getitem__c                 C      d dd | D S )N
c                 S      g | ]	}d  t|qS zpieces {{
{}}}rW   rb   r   r7   r   r   r   r          zUImmutableSentencePieceText.ImmutableSentencePieceIterator.__str__.<locals>.<listcomp>joinrD   r   r   r   r]      rF   zAImmutableSentencePieceText.ImmutableSentencePieceIterator.__str__Nr   r   r0   rE   r   r   r]   r   r   r   r   r   ImmutableSentencePieceIterator       	r   c                 C   rG   r&   )ri   r   rD   r   r   r   pieces      
z!ImmutableSentencePieceText.piecesc                 C      |   |  kS r&   rx   r^   r   r   r   r`         z!ImmutableSentencePieceText.__eq__c                 C      t |  S r&   ra   rx   rD   r   r   r   rc      rd   z#ImmutableSentencePieceText.__hash__c                 C   s$   d | j| jddd | jD S )Nztext: "{}"
score: {}
{}r   c                 S   r   r   r   r   r   r   r   r      r   z6ImmutableSentencePieceText.__str__.<locals>.<listcomp>)rW   textscorer   r   rD   r   r   r   r]      s
   
z"ImmutableSentencePieceText.__str__N)r   r   r0   r   r   r   r   rE   r   !delete_ImmutableSentencePieceTextrf   rm   rr   rt   rv   rx   rz   r   text_as_bytesr   r   r   r`   rc   r]   r   r   r   r   ri   u   s*    
ri   c                   @   s   e Zd Zedd dd ddZeZdd Zej	Z
dd	 Zd
d Zdd ZG dd dZedd Zdd Zdd Zdd ZeZdS )ImmutableNBestSentencePieceTextc                 C   r4   r&   r5   r6   r   r   r   r8      r9   z(ImmutableNBestSentencePieceText.<lambda>c                 C   r:   r&   r5   r;   r   r   r   r8      r=   r>   r?   c                 C   rA   r&   )r   (ImmutableNBestSentencePieceText_swiginit#new_ImmutableNBestSentencePieceTextrD   r   r   r   rE      rF   z(ImmutableNBestSentencePieceText.__init__c                 C   rG   r&   )r   ,ImmutableNBestSentencePieceText__nbests_sizerD   r   r   r   _nbests_size   rJ   z,ImmutableNBestSentencePieceText._nbests_sizec                 C   rn   r&   )r   'ImmutableNBestSentencePieceText__nbestsrp   r   r   r   _nbests   rd   z'ImmutableNBestSentencePieceText._nbestsc                 C   rG   r&   )r   1ImmutableNBestSentencePieceText_SerializeAsStringrD   r   r   r   rx      rJ   z1ImmutableNBestSentencePieceText.SerializeAsStringc                   @   r{   )
zBImmutableNBestSentencePieceText.ImmutableSentencePieceTextIteratorc                 C   r|   r&   )r}   r   r~   r   r   r   r   rE      r   zKImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__init__c                 C   r   r&   r   rD   r   r   r   r      r   zJImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__len__c                    r   )Nc                    r   r   )r}   r   r   rD   r   r   r      r   zbImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__getitem__.<locals>.<listcomp>r   znbests index is out of range)
r   r   r   r~   r   r   r   r   r}   r   rp   r   rD   r   r      r   zNImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__getitem__c                 C   r   )Nr   c                 S   r   znbests {{
{}}}r   r   r   r   r   r      r   z^ImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__str__.<locals>.<listcomp>r   rD   r   r   r   r]      rF   zJImmutableNBestSentencePieceText.ImmutableSentencePieceTextIterator.__str__Nr   r   r   r   r   "ImmutableSentencePieceTextIterator   r   r   c                 C   rG   r&   )r   r   rD   r   r   r   nbests   r   z&ImmutableNBestSentencePieceText.nbestsc                 C   r   r&   r   r^   r   r   r   r`      r   z&ImmutableNBestSentencePieceText.__eq__c                 C   r   r&   r   rD   r   r   r   rc      rd   z(ImmutableNBestSentencePieceText.__hash__c                 C   s   d dd | jD S )Nr   c                 S   r   r   r   r   r   r   r   r      r   z;ImmutableNBestSentencePieceText.__str__.<locals>.<listcomp>)r   r   rD   r   r   r   r]      r-   z'ImmutableNBestSentencePieceText.__str__N)r   r   r0   r   r   r   r   rE   r   &delete_ImmutableNBestSentencePieceTextrf   r   r   rx   r   r   r`   rc   r]   r   r   r   r   r      s    
r   c                   @   s  e Zd Zedd dd ddZeZdd Zej	Z
dd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Z d4d5 Z!d6d7 Z"d8d9 Z#d:d; Z$d<d= Z%d>d? Z&d@dA Z'dBdC Z(dDdE Z)dFdG Z*dHdI Z+dJdK Z,dLdM Z-dNdO Z.dPdQ Z/dRdS Z0dTdU Z1dVdW Z2dXdY Z3dZd[ Z4d\d] Z5d^d_ Z6d`da Z7dbdc Z8ddde Z9dfdg Z:dhdi Z;djdk Z<dldm Z=dndo Z>dpdq Z?drds Z@dtdu ZAdvdw ZBdxdxeCdydydydydydzd{dzfd|d}ZD	x	x	x	x	x	x	x	x	xdd~dZEdd ZFdd ZGdd ZHdd ZIdddZJdddZKdddZLdddZM	x	x	x	x	x	xdddZNdddZOdddZPdddZQdddZR	x	x	x	x	x	x	x	x	xdddZSdddZTdddZUdddZVdddZWeXdxfddZYeXfddZZeXfddZ[dddZ\dddZ]dddZ^dddZ_dddZdddZ`dd Zadd Zbdd Zcdd Zddd Zedd ZfddĄ ZgdddƄZhdxS )SentencePieceProcessorc                 C   r4   r&   r5   r6   r   r   r   r8      r9   zSentencePieceProcessor.<lambda>c                 C   r:   r&   r5   r;   r   r   r   r8      r=   r>   r?   c                 C   rA   r&   )r   SentencePieceProcessor_swiginitnew_SentencePieceProcessorrD   r   r   r   rE      rF   zSentencePieceProcessor.__init__c                 C   rn   r&   )r   .SentencePieceProcessor_LoadFromSerializedProtor   
serializedr   r   r   LoadFromSerializedProto   rd   z.SentencePieceProcessor.LoadFromSerializedProtoc                 C   rn   r&   )r   ,SentencePieceProcessor_SetEncodeExtraOptionsr   extra_optionr   r   r   SetEncodeExtraOptions  rd   z,SentencePieceProcessor.SetEncodeExtraOptionsc                 C   rn   r&   )r   ,SentencePieceProcessor_SetDecodeExtraOptionsr   r   r   r   SetDecodeExtraOptions  rd   z,SentencePieceProcessor.SetDecodeExtraOptionsc                 C   rn   r&   )r   $SentencePieceProcessor_SetVocabulary)r   valid_vocabr   r   r   SetVocabulary  rd   z$SentencePieceProcessor.SetVocabularyc                 C   rG   r&   )r   &SentencePieceProcessor_ResetVocabularyrD   r   r   r   ResetVocabulary  rJ   z&SentencePieceProcessor.ResetVocabularyc                 C      t | ||S r&   )r   %SentencePieceProcessor_LoadVocabulary)r   filename	thresholdr   r   r   LoadVocabulary     z%SentencePieceProcessor.LoadVocabularyc                 G   s   t j| g|R  S r&   )r   'SentencePieceProcessor_CalculateEntropyr   argsr   r   r   CalculateEntropy  s   z'SentencePieceProcessor.CalculateEntropyc                 C   rG   r&   )r   #SentencePieceProcessor_GetPieceSizerD   r   r   r   GetPieceSize  rJ   z#SentencePieceProcessor.GetPieceSizec                 C   rn   r&   )r    SentencePieceProcessor_PieceToIdr   rX   r   r   r   	PieceToId  rd   z SentencePieceProcessor.PieceToIdc                 C   rn   r&   )r    SentencePieceProcessor_IdToPiecer   rY   r   r   r   	IdToPiece  rd   z SentencePieceProcessor.IdToPiecec                 C   rn   r&   )r   SentencePieceProcessor_GetScorer   r   r   r   GetScore  rd   zSentencePieceProcessor.GetScorec                 C   rn   r&   )r    SentencePieceProcessor_IsUnknownr   r   r   r   	IsUnknown   rd   z SentencePieceProcessor.IsUnknownc                 C   rn   r&   )r    SentencePieceProcessor_IsControlr   r   r   r   	IsControl#  rd   z SentencePieceProcessor.IsControlc                 C   rn   r&   )r   SentencePieceProcessor_IsUnusedr   r   r   r   IsUnused&  rd   zSentencePieceProcessor.IsUnusedc                 C   rn   r&   )r   SentencePieceProcessor_IsByter   r   r   r   IsByte)  rd   zSentencePieceProcessor.IsBytec                 C   rG   r&   )r   SentencePieceProcessor_unk_idrD   r   r   r   unk_id,  rJ   zSentencePieceProcessor.unk_idc                 C   rG   r&   )r   SentencePieceProcessor_bos_idrD   r   r   r   bos_id/  rJ   zSentencePieceProcessor.bos_idc                 C   rG   r&   )r   SentencePieceProcessor_eos_idrD   r   r   r   eos_id2  rJ   zSentencePieceProcessor.eos_idc                 C   rG   r&   )r   SentencePieceProcessor_pad_idrD   r   r   r   pad_id5  rJ   zSentencePieceProcessor.pad_idc                 C   rG   r&   )r   -SentencePieceProcessor_serialized_model_protorD   r   r   r   serialized_model_proto8  rJ   z-SentencePieceProcessor.serialized_model_protoc                 C   rn   r&   )r   #SentencePieceProcessor_LoadFromFiler   argr   r   r   LoadFromFile;  rd   z#SentencePieceProcessor.LoadFromFilec	           	      C      t | ||||||||	S r&   )r   #SentencePieceProcessor__EncodeAsIds	r   r   enable_sampling
nbest_sizealphaadd_bosadd_eosreverseemit_unk_piecer   r   r   _EncodeAsIds>     z#SentencePieceProcessor._EncodeAsIdsc	           	      C   r   r&   )r   &SentencePieceProcessor__EncodeAsPiecesr   r   r   r   _EncodeAsPiecesA  r   z&SentencePieceProcessor._EncodeAsPiecesc	           	      C   r   r&   )r   /SentencePieceProcessor__EncodeAsSerializedProtor   r   r   r   _EncodeAsSerializedProtoD  r   z/SentencePieceProcessor._EncodeAsSerializedProtoc	           	      C   r   r&   )r   .SentencePieceProcessor__EncodeAsImmutableProtor   r   r   r   _EncodeAsImmutableProtoG  r   z.SentencePieceProcessor._EncodeAsImmutableProtoc
           
      C      t | |||||||||	
S r&   )r   (SentencePieceProcessor__EncodeAsIdsBatch
r   insnum_threadsr   r   r   r   r   r   r   r   r   r   _EncodeAsIdsBatchJ     z(SentencePieceProcessor._EncodeAsIdsBatchc
           
      C   r  r&   )r   +SentencePieceProcessor__EncodeAsPiecesBatchr  r   r   r   _EncodeAsPiecesBatchM  r  z+SentencePieceProcessor._EncodeAsPiecesBatchc
           
      C   r  r&   )r   4SentencePieceProcessor__EncodeAsSerializedProtoBatchr  r   r   r   _EncodeAsSerializedProtoBatchP  r  z4SentencePieceProcessor._EncodeAsSerializedProtoBatchc
           
      C   r  r&   )r   3SentencePieceProcessor__EncodeAsImmutableProtoBatchr  r   r   r   _EncodeAsImmutableProtoBatchS  r  z3SentencePieceProcessor._EncodeAsImmutableProtoBatchc                 C   rn   r&   )r   !SentencePieceProcessor__DecodeIdsr   idsr   r   r   
_DecodeIdsV  rd   z!SentencePieceProcessor._DecodeIdsc                 C   rn   r&   )r   (SentencePieceProcessor__DecodeIdsAsBytesr  r   r   r   _DecodeIdsAsBytesY  rd   z(SentencePieceProcessor._DecodeIdsAsBytesc                 C   rn   r&   )r   $SentencePieceProcessor__DecodePiecesr   r   r   r   r   _DecodePieces\  rd   z$SentencePieceProcessor._DecodePiecesc                 C   rn   r&   )r   2SentencePieceProcessor__DecodeIdsAsSerializedProtor  r   r   r   _DecodeIdsAsSerializedProto_  rd   z2SentencePieceProcessor._DecodeIdsAsSerializedProtoc                 C   rn   r&   )r   5SentencePieceProcessor__DecodePiecesAsSerializedProtor  r   r   r   _DecodePiecesAsSerializedProtob  rd   z5SentencePieceProcessor._DecodePiecesAsSerializedProtoc                 C   rn   r&   )r   1SentencePieceProcessor__DecodeIdsAsImmutableProtor  r   r   r   _DecodeIdsAsImmutableProtoe  rd   z1SentencePieceProcessor._DecodeIdsAsImmutableProtoc                 C   rn   r&   )r   4SentencePieceProcessor__DecodePiecesAsImmutableProtor  r   r   r   _DecodePiecesAsImmutableProtoh  rd   z4SentencePieceProcessor._DecodePiecesAsImmutableProtoc                 C   r   r&   )r   &SentencePieceProcessor__DecodeIdsBatchr   r  r	  r   r   r   _DecodeIdsBatchk  r   z&SentencePieceProcessor._DecodeIdsBatchc                 C   r   r&   )r   -SentencePieceProcessor__DecodeIdsAsBytesBatchr$  r   r   r   _DecodeIdsAsBytesBatchn  r   z-SentencePieceProcessor._DecodeIdsAsBytesBatchc                 C   r   r&   )r   7SentencePieceProcessor__DecodeIdsAsSerializedProtoBatchr$  r   r   r    _DecodeIdsAsSerializedProtoBatchq  r   z7SentencePieceProcessor._DecodeIdsAsSerializedProtoBatchc                 C   r   r&   )r   6SentencePieceProcessor__DecodeIdsAsImmutableProtoBatchr$  r   r   r   _DecodeIdsAsImmutableProtoBatcht  r   z6SentencePieceProcessor._DecodeIdsAsImmutableProtoBatchc                 C   r   r&   )r   )SentencePieceProcessor__DecodePiecesBatchr$  r   r   r   _DecodePiecesBatchw  r   z)SentencePieceProcessor._DecodePiecesBatchc                 C   r   r&   )r   :SentencePieceProcessor__DecodePiecesAsSerializedProtoBatchr$  r   r   r   #_DecodePiecesAsSerializedProtoBatchz  r   z:SentencePieceProcessor._DecodePiecesAsSerializedProtoBatchc                 C   r   r&   )r   9SentencePieceProcessor__DecodePiecesAsImmutableProtoBatchr$  r   r   r   "_DecodePiecesAsImmutableProtoBatch}  r   z9SentencePieceProcessor._DecodePiecesAsImmutableProtoBatchc              	   C      t | ||||||S r&   )r   (SentencePieceProcessor__NBestEncodeAsIdsr   r   r   r   r   r   r   r   r   r   _NBestEncodeAsIds  r-   z(SentencePieceProcessor._NBestEncodeAsIdsc              	   C   r2  r&   )r   +SentencePieceProcessor__NBestEncodeAsPiecesr4  r   r   r   _NBestEncodeAsPieces  r-   z+SentencePieceProcessor._NBestEncodeAsPiecesc              	   C   r2  r&   )r   4SentencePieceProcessor__NBestEncodeAsSerializedProtor4  r   r   r   _NBestEncodeAsSerializedProto  r-   z4SentencePieceProcessor._NBestEncodeAsSerializedProtoc              	   C   r2  r&   )r   3SentencePieceProcessor__NBestEncodeAsImmutableProtor4  r   r   r   _NBestEncodeAsImmutableProto  r-   z3SentencePieceProcessor._NBestEncodeAsImmutableProtoc
           
      C   r  r&   )r   1SentencePieceProcessor__SampleEncodeAndScoreAsIds
r   r   num_samplesr   worinclude_bestr   r   r   r   r   r   r   _SampleEncodeAndScoreAsIds  r  z1SentencePieceProcessor._SampleEncodeAndScoreAsIdsc
           
      C   r  r&   )r   4SentencePieceProcessor__SampleEncodeAndScoreAsPiecesr=  r   r   r   _SampleEncodeAndScoreAsPieces  r  z4SentencePieceProcessor._SampleEncodeAndScoreAsPiecesc
           
      C   r  r&   )r   =SentencePieceProcessor__SampleEncodeAndScoreAsSerializedProtor=  r   r   r   &_SampleEncodeAndScoreAsSerializedProto  r  z=SentencePieceProcessor._SampleEncodeAndScoreAsSerializedProtoc
           
      C   r  r&   )r   <SentencePieceProcessor__SampleEncodeAndScoreAsImmutableProtor=  r   r   r   %_SampleEncodeAndScoreAsImmutableProto  r  z<SentencePieceProcessor._SampleEncodeAndScoreAsImmutableProtoc                 C   rn   r&   )r   !SentencePieceProcessor__Normalizer   r   r   r   r   
_Normalize  rd   z!SentencePieceProcessor._Normalizec                 C   rn   r&   )r   ,SentencePieceProcessor__NormalizeWithOffsetsrI  r   r   r   _NormalizeWithOffsets  rd   z,SentencePieceProcessor._NormalizeWithOffsetsc                 C   r   r&   )r   (SentencePieceProcessor__CalculateEntropy)r   r   r   r   r   r   _CalculateEntropy  r   z(SentencePieceProcessor._CalculateEntropyc                 C   s   t | |||S r&   )r   -SentencePieceProcessor__CalculateEntropyBatch)r   r  r   r	  r   r   r   _CalculateEntropyBatch  r   z-SentencePieceProcessor._CalculateEntropyBatchc                 C   rn   r&   )r   .SentencePieceProcessor__OverrideNormalizerSpecr   r   r   r   _OverrideNormalizerSpec  rd   z.SentencePieceProcessor._OverrideNormalizerSpecNFg?c                 C   s\   t |  || _|| _|| _|| _|| _|| _|	| _|
| _|| _	|s#|r,| j
||d dS dS )a  Initialzie sentencepieceProcessor.

      Args:
        model_file: The sentencepiece model file path.
        model_proto: The sentencepiece model serialized proto.
        out_type: output type. int or str.
        add_bos: Add <s> to the result (Default = false)
        add_eos: Add </s> to the result (Default = false) <s>/</s> is added after
          reversing (if enabled).
        reverse: Reverses the tokenized sequence (Default = false)
        emit_unk_piece: Emits the unk literal string (Default = false)
        nbest_size: sampling parameters for unigram. Invalid in BPE-Dropout.
                    nbest_size = {0,1}: No sampling is performed.
                    nbest_size > 1: samples from the nbest_size results.
                    nbest_size < 0: assuming that nbest_size is infinite and samples
                      from the all hypothesis (lattice) using
                      forward-filtering-and-backward-sampling algorithm.
        alpha: Soothing parameter for unigram sampling, and dropout probability of
               merge operations for BPE-dropout.
        num_threads: number of threads in batch processing (Default = -1, auto-detected)
      )
model_filemodel_protoN)$_sentencepiece_processor_init_native	_out_type_add_bos_add_eos_reverse_emit_unk_piece_enable_sampling_nbest_size_alpha_num_threadsLoad)r   rT  rU  out_typer   r   r   r   r   r   r   r	  r   r   r   Init  s   "zSentencePieceProcessor.Initc                 C   s  |du r| j }|du r| j}|du r| j}|du r| j}|du r#| j}|du r*| j}|du r1| j}|	du r8| j}	|
du r?| j}
|dkrW|du sS|dksS|dksS|	du rWt	d|
du sat
|
turet	dt
|tu r|tu r|| ||
|||	||||	S |tu r| ||
|||	||||	S |dks|dkr| ||
|||	||||	S |d	kr| ||
|||	||||	S |tu r| ||||	||||S |tu r| ||||	||||S |dks|dkr| ||||	||||S |d	kr| ||||	||||S t	d
|)a~  Encode text input to segmented ids or tokens.

        Args:
        input: input string. accepsts list of string.
        out_type: output type. int or str.
        add_bos: Add <s> to the result (Default = false)
        add_eos: Add </s> to the result (Default = false) <s>/</s> is added after
                 reversing (if enabled).
        reverse: Reverses the tokenized sequence (Default = false)
        emit_unk_piece: Emits the unk literal string (Default = false)
        nbest_size: sampling parameters for unigram. Invalid in BPE-Dropout.
                    nbest_size = {0,1}: No sampling is performed.
                    nbest_size > 1: samples from the nbest_size results.
                    nbest_size < 0: assuming that nbest_size is infinite and samples
                    from the all hypothesis (lattice) using
                    forward-filtering-and-backward-sampling algorithm.
        alpha: Soothing parameter for unigram sampling, and merge probability for
               BPE-dropout (probablity 'p' in BPE-dropout paper).
        num_threads: the number of threads used in the batch processing (Default = -1).
      NTr   r   a  When enable_sampling is True, We must specify "nbest_size > 1" or "nbest_size = -1", and "alpha". "nbest_size" is enabled only on unigram mode ignored in BPE-dropout. when "nbest_size = -1" , this method samples from all candidates on the lattice instead of nbest segmentations.num_threads must be intserialized_protor}   immutable_protozunknown out_type={})rW  rX  rY  rZ  r[  r\  r]  r^  r_  RuntimeErrorr   intlistr
  rb   r  r  r  r   r   r  r  rW   )r   inputra  r   r   r   r   r   r   r   r	  r   r   r   Encode  sv    











zSentencePieceProcessor.Encodec                 K      | j d|td|S Nri  ra  r   rj  rb   r   ri  kwargsr   r   r   EncodeAsPieces5  r-   z%SentencePieceProcessor.EncodeAsPiecesc                 K   rk  rl  rj  rg  ro  r   r   r   EncodeAsIds9  r-   z"SentencePieceProcessor.EncodeAsIdsc                 K      | j d|dd|S )Nrd  rm  r   rj  ro  r   r   r   EncodeAsSerializedProto=  r-   z.SentencePieceProcessor.EncodeAsSerializedProtoc                 K   rt  )Nre  rm  r   ru  ro  r   r   r   EncodeAsImmutableProtoA  r-   z-SentencePieceProcessor.EncodeAsImmutableProtoc                 K      | j d|||tdd|S NTri  r   r   ra  r   r   rn  r   ri  r   r   rp  r   r   r   SampleEncodeAsPiecesE  
   z+SentencePieceProcessor.SampleEncodeAsPiecesc                 K   rx  ry  rr  r{  r   r   r   SampleEncodeAsIdsJ  r}  z(SentencePieceProcessor.SampleEncodeAsIdsc                 K      | j d|||ddd|S )Nrd  Trz  r   ru  r{  r   r   r   SampleEncodeAsSerializedProtoO  r}  z4SentencePieceProcessor.SampleEncodeAsSerializedProtoc                 K   r  )Nre  Trz  r   ru  r{  r   r   r   SampleEncodeAsImmutableProtoT  r}  z3SentencePieceProcessor.SampleEncodeAsImmutableProtoc                    s   du rj du rjdu rjdu rjdu r#jdu r*jdkr0dfdd t|tu rK fdd|D S  |S )a  NBestEncode text input to segmented ids or tokens.

        Args:
        input: input string. accepsts list of string.
        out_type: output type. int or str.
        add_bos: Add <s> to the result (Default = false)
        add_eos: Add </s> to the result (Default = false) <s>/</s> is added after reversing (if enabled).
        reverse: Reverses the tokenized sequence (Default = false)
        emit_unk_piece: Emits the unk literal string (Default = false)
        nbest_size: nbest size
      Nr   r   c                    s   t u r|  S tu r|  S dks$dkr.|  S dkr<|  S td)Nrd  r}   re  zunknown out_type)rg  r5  rb   r7  r9  r;  rf  r   )r   r   r   r   ra  r   r   r   r   _encode}  s"   z3SentencePieceProcessor.NBestEncode.<locals>._encodec                       g | ]} |qS r   r   r   nr  r   r   r         z6SentencePieceProcessor.NBestEncode.<locals>.<listcomp>)rW  rX  rY  rZ  r[  r]  r   rh  )r   ri  ra  r   r   r   r   r   r   )r  r   r   r   r   ra  r   r   r   NBestEncodeY  s$   z"SentencePieceProcessor.NBestEncodec                 K      | j d||td|S Nri  r   ra  r   )r  rb   r   ri  r   rp  r   r   r   NBestEncodeAsPieces  
   
z*SentencePieceProcessor.NBestEncodeAsPiecesc                 K   r  r  )r  rg  r  r   r   r   NBestEncodeAsIds  r  z'SentencePieceProcessor.NBestEncodeAsIdsc                 K      | j d||dd|S )Nrd  r  r   r  r  r   r   r   NBestEncodeAsSerializedProto  r  z3SentencePieceProcessor.NBestEncodeAsSerializedProtoc                 K   r  )Nre  r  r   r  r  r   r   r   NBestEncodeAsImmutableProto  r  z2SentencePieceProcessor.NBestEncodeAsImmutableProtoc              
      s   du r	j du r	jdu r	jdu r	jdu r#	jdu r)ddu r/d
du r5d
du r;ddkrCtdrK
sKtd	
f
dd	 t|tu ri fd
d|D S  |S )a   SampleEncodeAndScore text input to segmented ids or tokens.

        Args:
        input: input string. accepsts list of string.
        out_type: output type. int or str or 'serialized_proto' or 'immutable_proto'
        add_bos: Add <s> to the result (Default = false)
        add_eos: Add </s> to the result (Default = false) <s>/</s> is added after reversing (if enabled).
        reverse: Reverses the tokenized sequence (Default = false)
        emit_unk_piece: Emits the unk literal string (Default = false)
        num_samples: How many samples to return (Default = 1)
        alpha: inverse temperature for sampling
        wor: whether to sample without replacement (Default = false)
        include_best: whether to include the best tokenization, requires wor=True (Default = false)
      Nr   g      ?Fr   znum_examples must be positivez8When include_best is True, We must specify "wor = True".c                    s   t u r| 	 	S tu r"| 	 	S dks*dkr7| 	 	S dkrH| 	 	S td)Nrd  r}   re  zunknown output type)rg  rA  rb   rC  rE  rG  rf  r  )
r   r   r   r   r@  r>  ra  r   r   r?  r   r   r    s"   z<SentencePieceProcessor.SampleEncodeAndScore.<locals>._encodec                    r  r   r   r  r  r   r   r     r  z?SentencePieceProcessor.SampleEncodeAndScore.<locals>.<listcomp>)rW  rX  rY  rZ  r[  rf  r   rh  )r   ri  ra  r   r   r   r   r>  r   r?  r@  r   )r  r   r   r   r   r@  r>  ra  r   r   r?  r   SampleEncodeAndScore  s4   z+SentencePieceProcessor.SampleEncodeAndScorec                 K      | j d|||td|S Nri  r>  r   ra  r   )r  rb   r   ri  r>  r   rp  r   r   r   SampleEncodeAndScoreAsPieces  
   z3SentencePieceProcessor.SampleEncodeAndScoreAsPiecesc                 K   r  r  )r  rg  r  r   r   r   SampleEncodeAndScoreAsIds  r  z0SentencePieceProcessor.SampleEncodeAndScoreAsIdsc                 K      | j d|||dd|S )Nrd  r  r   r  r  r   r   r   %SampleEncodeAndScoreAsSerializedProto  r  z<SentencePieceProcessor.SampleEncodeAndScoreAsSerializedProtoc                 K   r  )Nre  r  r   r  r  r   r   r   $SampleEncodeAndScoreAsImmutableProto  r  z;SentencePieceProcessor.SampleEncodeAndScoreAsImmutableProtoc                 C   s  |du r| j }|du st|turtd|sdS |tu rt|tu r)| |gS t|tu r5| |gS t|tu rt|dksIt|d tu rN| |S t|d tu r[| |S t|d tu rt|d dksut|d d tu r{| 	||S t|d d tu r| 
||S |tu rt|tu r| |gS t|tu r| |gS t|tu rt|dkst|d tu r| |S t|d tu r| |S t|d tu rt|d dkst|d d tu r| ||S t|d d tu r| 
||S |dkrzt|tu r| |gS t|tu r| |gS t|tu rzt|dks3t|d tu r8| |S t|d tu rF| |S t|d tu rzt|d dksct|d d tu ri| ||S t|d d tu rz| ||S |dkrt|tu r| |gS t|tu r| |gS t|tu rt|dkst|d tu r| |S t|d tu r| |S t|d tu rt|d dkst|d d tu r| ||S t|d d tu r| ||S td)zDecode processed id or token sequences.

      Args:
        out_type: output type. str, bytes or 'serialized_proto' or 'immutable_proto' (Default = str)
        num_threads: the number of threads used in the batch processing (Default = -1).
      Nrc  r   r   rd  re  zunknown output or input type)r_  r   rg  rf  rb   r  r  rh  r~   r%  r-  bytesr  r'  r  r  r)  r/  r   r"  r+  r1  )r   ri  ra  r	  r   r   r   Decode  s   

$

$
 

(
 

(zSentencePieceProcessor.Decodec                 K      | j d||d|S rl  r  r   ri  ra  rp  r   r   r   DecodePiecesg  r-   z#SentencePieceProcessor.DecodePiecesc                 K   r  rl  r  r  r   r   r   	DecodeIdsk  r-   z SentencePieceProcessor.DecodeIdsrd  c                 K   r  rl  r  r  r   r   r   DecodePiecesAsSerializedProtoo  r-   z4SentencePieceProcessor.DecodePiecesAsSerializedProtoc                 K   r  rl  r  r  r   r   r   DecodeIdsAsSerializedProtos  r-   z1SentencePieceProcessor.DecodeIdsAsSerializedProtore  c                 K   r  rl  r  r  r   r   r   DecodePiecesAsImmutableProtow  r-   z3SentencePieceProcessor.DecodePiecesAsImmutableProtoc                 K   r  rl  r  r  r   r   r   DecodeIdsAsImmutableProto{  r-   z0SentencePieceProcessor.DecodeIdsAsImmutableProtoc                 C   sP   t |tu r"|du r| j}|du st |turtd| |||S | ||S )zCalculate sentence entropyNrc  )r   rh  r_  rg  rf  rP  rN  )r   ri  r   r	  r   r   r   r     s   c                    4   fdd t |tu r fdd|D S  |S )Nc                       r  | S  | S r&   rL  rJ  r  r   with_offsetsr   r   
_normalize     

z4SentencePieceProcessor.Normalize.<locals>._normalizec                    r  r   r   r   r  r   r   r     r  z4SentencePieceProcessor.Normalize.<locals>.<listcomp>r   rh  r   ri  r  r   r  r   r  r   	Normalize     z SentencePieceProcessor.Normalizec                 K   s,   i }|  D ]
\}}t|||< q| |S r&   )itemsrb   rR  )r   rp  
new_kwargskeyr   r   r   r   OverrideNormalizerSpec  s   
z-SentencePieceProcessor.OverrideNormalizerSpecc                 C      |   S r&   r   rD   r   r   r   
piece_size     z!SentencePieceProcessor.piece_sizec                 C   r  r&   r  rD   r   r   r   
vocab_size  r  z!SentencePieceProcessor.vocab_sizec                 C   r  r&   r   rD   r   r   r   __getstate__  r  z#SentencePieceProcessor.__getstate__c                 C      |    | | d S r&   rE   r   r   r   r   r   r   __setstate__     z#SentencePieceProcessor.__setstate__c                 C   r  r&   r  rD   r   r   r   r     r  zSentencePieceProcessor.__len__c                 C   s
   |  |S r&   )r   r   r   r   r   r     rJ   z"SentencePieceProcessor.__getitem__c                 C   s(   |r|rt d|r| |S | |S )a  Overwride SentencePieceProcessor.Load to support both model_file and model_proto.

      Args:
        model_file: The sentencepiece model file path.
        model_proto: The sentencepiece model serialized proto. Either `model_file`
          or `model_proto` must be set.
      z-model_file and model_proto must be exclusive.)rf  r   r   )r   rT  rU  r   r   r   r`    s
   

zSentencePieceProcessor.Load)	NNNNNNNNNNN)NNNNNNr&   )rd  )re  )ir   r   r0   r   r   r   r   rE   r   delete_SentencePieceProcessorrf   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  r  r  r  r   r"  r%  r'  r)  r+  r-  r/  r1  r5  r7  r9  r;  rA  rC  rE  rG  rJ  rL  rN  rP  rR  rg  rb  rj  rq  rs  rv  rw  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  rb   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r`  r   r   r   r   r      s
   
2
^





:




M


_






r   c                 C   rG   r&   )r   SetRandomGeneratorSeed)seedr   r   r   r    rJ   r  c                 C   rG   r&   )r   SetMinLogLevel)r<   r   r   r   r    rJ   r  c                   @   s   e Zd Zedd dd ddZdd ZeZedd	 Z	ed
d Z
edd Zedd Zedd ZedddZedddZdS )SentencePieceTrainerc                 C   r4   r&   r5   r6   r   r   r   r8     r9   zSentencePieceTrainer.<lambda>c                 C   r:   r&   r5   r;   r   r   r   r8     r=   r>   r?   c                 O   s   t d)NzNo constructor defined)r   )r   r   rp  r   r   r   rE     r  zSentencePieceTrainer.__init__c                 C   rG   r&   )r   %SentencePieceTrainer__TrainFromString)r   r   r   r   _TrainFromString  r   z%SentencePieceTrainer._TrainFromStringc                 C   rG   r&   )r   "SentencePieceTrainer__TrainFromMapr   r   r   r   _TrainFromMap  r   z"SentencePieceTrainer._TrainFromMapc                 C   rn   r&   )r   #SentencePieceTrainer__TrainFromMap2r   iterr   r   r   _TrainFromMap2     z#SentencePieceTrainer._TrainFromMap2c                 C   rG   r&   )r   #SentencePieceTrainer__TrainFromMap3r  r   r   r   _TrainFromMap3  r   z#SentencePieceTrainer._TrainFromMap3c                 C   rn   r&   )r   #SentencePieceTrainer__TrainFromMap4r  r   r   r   _TrainFromMap4  r  z#SentencePieceTrainer._TrainFromMap4Nc           	      K   s   | durt | tu rt| S dd }d}d}i }| D ]\}}|dv r(|}q|dv r/|}q||||< q|rM|rAt||}nt|}|| dS |rUt||S t	|S )zDTrain Sentencepiece model. Accept both kwargs and legacy string arg.Nc                 S   sZ   t | tu r)tjd dkrt }nt }tj|dd}|dd | D  |	 S t
| S )zEncode value to CSV..r      r   )lineterminatorc                 S   s   g | ]}t |qS r   )rb   )r   r<   r   r   r   r     r  z@SentencePieceTrainer._Train.<locals>._encode.<locals>.<listcomp>)r   rh  sysr   StringIOBytesIOcsvwriterwriterowgetvaluerb   )r   fr  r   r   r   r    s   z,SentencePieceTrainer._Train.<locals>._encode)sentence_iteratorsentence_reader)model_writer)
r   rb   r  r  r  r  r  writer  r  )	r   rp  r  r  r  r  r  r   rU  r   r   r   _Train  s.   



zSentencePieceTrainer._Trainc                 K   sD   t |d tjdd| i| W d    d S 1 sw   Y  d S )N)ostreamr   r   )
_LogStreamr  r  )r   	logstreamrp  r   r   r   Train  s   "zSentencePieceTrainer.Trainr&   r  )r   r   r0   r   r   rE   r   r   staticmethodr  r  r  r  r  r  r  r   r   r   r   r    s$    




,r  c                   @   s   e Zd Zedd dd ddZeZdd Zej	Z
dd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Z							d"ddZd#ddZdd Zd d! ZdS )$SentencePieceNormalizerc                 C   r4   r&   r5   r6   r   r   r   r8     r9   z SentencePieceNormalizer.<lambda>c                 C   r:   r&   r5   r;   r   r   r   r8     r=   r>   r?   c                 C   rA   r&   )r    SentencePieceNormalizer_swiginitnew_SentencePieceNormalizerrD   r   r   r   rE      rF   z SentencePieceNormalizer.__init__c                 C   rn   r&   )r   /SentencePieceNormalizer_LoadFromSerializedProtor   r   r   r   r   $  rd   z/SentencePieceNormalizer.LoadFromSerializedProtoc                 C   rn   r&   )r   'SentencePieceNormalizer_LoadFromRuleTSV)r   r   r   r   r   LoadFromRuleTSV'  rd   z'SentencePieceNormalizer.LoadFromRuleTSVc                 C   rn   r&   )r   (SentencePieceNormalizer_LoadFromRuleName)r   r   r   r   r   LoadFromRuleName*  rd   z(SentencePieceNormalizer.LoadFromRuleNamec                 C   rG   r&   )r   .SentencePieceNormalizer_serialized_model_protorD   r   r   r   r   -  rJ   z.SentencePieceNormalizer.serialized_model_protoc                 C   rn   r&   )r   $SentencePieceNormalizer_LoadFromFiler   r   r   r   r   0  rd   z$SentencePieceNormalizer.LoadFromFilec                 C   rn   r&   )r   "SentencePieceNormalizer__NormalizerI  r   r   r   rJ  3  rd   z"SentencePieceNormalizer._Normalizec                 C   rn   r&   )r   -SentencePieceNormalizer__NormalizeWithOffsetsrI  r   r   r   rL  6  rd   z-SentencePieceNormalizer._NormalizeWithOffsetsc                 C   r   r&   )r   &SentencePieceNormalizer__SetProtoFieldr   r   r   r   _SetProtoField9  r   z&SentencePieceNormalizer._SetProtoFieldNFc           	      C   s   t |  |r| |}n|r| |}n|r| |}n|r$| |}ntd|r>| d| | d| | d| dS dS )a  Initialzie sentencePieceNormalizer.

      Args:
        model_file: The sentencepiece model file path.
        model_proto: The sentencepiece model serialized proto.
        rule_tsv: The normalization rule file in TSV format.
        rule_name: Pre-defined normalization name.
        add_dummy_prefix: add dummy prefix.
        escape_whitespaces: escape whitespaces.
        remove_extra_whitespaces: remove extra whitespaces.
      zno model is specifiedadd_dummy_prefixescape_whitespacesremove_extra_whitespacesN)%_sentencepiece_normalizer_init_nativer   r   r  r  rf  r  )	r   rT  rU  rule_tsv	rule_namer  r   r  statusr   r   r   rb  <  s   zSentencePieceNormalizer.Initc                    r  )Nc                    r  r&   r  r  r  r   r   r  c  r  z5SentencePieceNormalizer.Normalize.<locals>._normalizec                    r  r   r   r   r  r   r   r   i  r  z5SentencePieceNormalizer.Normalize.<locals>.<listcomp>r  r  r   r  r   r  b  r  z!SentencePieceNormalizer.Normalizec                 C   r  r&   r  rD   r   r   r   r  m  r  z$SentencePieceNormalizer.__getstate__c                 C   r  r&   r  r  r   r   r   r  q  r  z$SentencePieceNormalizer.__setstate__)NNNNFFFr&   )r   r   r0   r   r   r   r   rE   r   delete_SentencePieceNormalizerrf   r   r  r  r   r   rJ  rL  r  rb  r  r  r  r   r   r   r   r    s0    

&r  c                 C   rG   r&   )r   
SetDataDir)data_dirr   r   r   r  y  rJ   r  )r  )r  c                 C   sh   i }| j  D ]\}}td|r"tdd| dd}|||< q| D ]
\}}t| || q'dS )z1Added snake_cased method from CammelCased method.z^[A-Z]+z(?<!^)(?=[A-Z])_n_bestnbestN)r(   r  rematchsublowerreplacesetattr)	classname	snake_mapkr<   snaker   r   r   _add_snake_case  s   r  c                    s4   t | |dfdd  fdd}t| || dS )z4Enables batch request for the method classname.name.Nc                    s2   t |tu r|dk s||  krtd | |S )Nr   zpiece id is out of range.)r   rg  r  r   )r<   r  )funcr   r   _func  s    
z_batchnize.<locals>._funcc                    s*   t |tu r fdd|D S  |S )Nc                    s   g | ]} |qS r   r   r  )r  r   r   r   r     s    z5_batchnize.<locals>._batched_func.<locals>.<listcomp>r  r   )r  rD   r   _batched_func  s   
z!_batchnize.<locals>._batched_func)r   r  )r  r   r  r   )r  r  r   
_batchnize  s   r  rE   )r   r   r   r   r   r   r   )__version__sentencepiecepackage_datac                   @   s&   e Zd ZdddZdd Zdd ZdS )	r  Nc                 C   s$   || _ | j d urtj | _d S d S r&   )r  r  stderrfilenoorig_stream_fileno)r   r  r   r   r   rE     s   
z_LogStream.__init__c                 C   s4   | j d urt| j| _t| j  | j d S d S r&   )r  osdupr   orig_stream_dupdup2r  rD   r   r   r   	__enter__  s   
z_LogStream.__enter__c                 C   sD   | j d ur t| j t| j| j t| j | j   d S d S r&   )r  r!  closer   r$  r#  )r   r   r   	tracebackr   r   r   __exit__  s   
z_LogStream.__exit__r&   )r   r   r0   rE   r%  r(  r   r   r   r   r    s    
r  )>r  r   _swig_python_version_info__package__r   r   r   builtinsr	   ImportErrorr   r"   r%   r.   r   r/   objectr3   >ImmutableSentencePieceText_ImmutableSentencePiece_swigregisterri   'ImmutableSentencePieceText_swigregisterr   ,ImmutableNBestSentencePieceText_swigregisterr   #SentencePieceProcessor_swigregisterr  r  r  !SentencePieceTrainer_swigregisterr  $SentencePieceNormalizer_swigregisterr  r  r  r!  importlib.resources	importlibior  r  r  r  rE   rV  r  r  rb  rj  Tokenizer  
Detokenizemset_random_generator_seedset_min_log_level_versionr  pathr   rb   	resourcesfilesr  r   r   r   r   <module>   sv   	
7
H
8     
S
O
[