U
    9%eŇ                     @   s.  d Z ddlZddlZddlmZ ddlmZmZ ddl	m
Z
mZmZmZmZ ddlmZ ddlmZ edZejd	ks|tejejd	d
ddZedZejZejejejde Zejej ej!de Z"dd Z#edd Z$edd Z%edd Z&edddd Z'edd Z(edddd Z)edd  Z*ed!d" Z+d#d$ Z,d%d& Z-d'd( Z.d)d* Z/ed+d, Z0eejej1d-d. Z2d/d0 Z3eej1ejd1d2 Z4eej5ejd3d4 Z6ed5d6 Z7eej5ej8d7d8 Z9e
ej:d9d: Z;e
e<d;d< Z=e
ej>e
ej?d=d> Z@e
ejAd?d@ ZBe
ejCdAdB ZDe
ejEdCdD ZFe
ejGdEdF ZHe
ejIdGdH ZJe
ejKdIdJ ZLe
ejMdKdL ZNe
ejOdMdN ZPe
ejQdOdP ZReej8dQeej1dQeejdQdRdS ZSeej8dTeej1dTdUdV ZTeej5dWdXdY ZUeej1dZeejdZd[d\ ZVeej8d]d^d_ ZWe
eXd`da ZYeej8dbdcdd ZZeej1dbdedf Z[eej8dgdhdi Z\eej1dgdjdk Z]eej8dldmdn Z^eej1dldodp Z_eej8dqeej1dqeejdqdrds Z`eej8dteej1dteejdtdudv Zaeej8dweej1dweejdwdxdy Zbeej8dzeej1dzeejdzd{d| Zced}d~ Zdeej8deej1deejddddZeeej8deej1deejddddZfeej8deej1deejddddZgeej8deej1deejddddZheej8deej1deejddd Zieej8deej1deejddddZjeej8deej1deejddddZkeej8deej1deejddddZleej8deej1deejddd ZmdS )z=Implements operations on bytes and str (unicode) array items.    N)ir)typescgutils)overload	intrinsicoverload_method
lower_castregister_jitable)is_nonelike)unicodeZS1   CT)readonlyZU1)r         c                    s    fdd}|S )Nc           	         sR   |\}}t j||d}||t  }||||g}||tdS )Nvalue    )	r   alloca_once_valuebitcastr   IntType
as_pointerloadgepzext)	contextbuilder	signatureargsdataidxrawptrptrchbitsize T/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/numba/cpython/charseq.pycodegen%   s
    z#make_deref_codegen.<locals>.codegenr&   )r%   r(   r&   r$   r'   make_deref_codegen$   s    r)   c                 C   s   t |t j}|tdfS )N   r   uint32Zintpr)   	typingctxr   offsetsigr&   r&   r'   deref_uint8.   s    r1   c                 C   s   t |t j}|tdfS )N   r+   r-   r&   r&   r'   deref_uint164   s    r3   c                 C   s   t |t j}|tdfS )Nr   r+   r-   r&   r&   r'   deref_uint32:   s    r4   F)Z_nrtc                 C   s
   t | |S )z6Access i-th item of CharSeq object via code value
    )r1   air&   r&   r'   charseq_get_code@   s    r8   c                 C   s   t | |}|dkrtd|S )zcAccess i-th item of CharSeq object via code value.

    null code is interpreted as IndexError
    r   index out of range)r8   
IndexErrorr6   r7   coder&   r&   r'   charseq_get_valueG   s    
r=   c                 C   sB   t dkrt| |S t dkr$t| |S t dkr6t| |S tddS )z=Access i-th item of UnicodeCharSeq object via code value
    r   r   r   z=unicode_charseq_get_code: unicode_byte_width not in [1, 2, 4]N)unicode_byte_widthr4   r3   r1   NotImplementedErrorr5   r&   r&   r'   unicode_charseq_get_codeS   s    


r@   c                 C   s   t | |S )z,Access i-th item of UnicodeType object.
    )r   Z_get_code_pointr5   r&   r&   r'   unicode_get_codeb   s    rA   c                 C   s   | | S )z*Access i-th item of Bytes object.
        r&   r5   r&   r&   r'   bytes_get_codei   s    rB   c                 C   sD   t | tjrtS t | tjr tS t | tjr0tS t | tjr@t	S d S N)

isinstancer   CharSeqr8   BytesrB   UnicodeCharSeqr@   UnicodeTyperA   r6   r&   r&   r'   _get_code_implp   s    rJ   c                 C   s<   t jt jft jt jffD ]}t| |rt||r dS qdS )NTF)r   rE   rF   rG   rH   rD   )r6   btr&   r&   r'   
_same_kind{   s    

rM   c                 C   s   t | tjtjfS rC   )rD   r   rE   rF   rI   r&   r&   r'   	_is_bytes   s    rN   c                 C   s   | |kpt | tjS rC   )rD   r   Omitted)xdefaultr&   r&   r'   
is_default   s    rR   c                 C   s0   t | |}|dkrtdt|ttd S )zlAccess i-th item of UnicodeCharSeq object via unicode value

    null code is interpreted as IndexError
    r   r9   r&   )r@   r:   nparrayunicode_uintviewu1_dtyper;   r&   r&   r'   unicode_charseq_get_value   s    
rX   c              	   C   s  t || ||d}||jtd }|j}| |}td}	t 	||}
||
|	 }t
|j|j}|d||}||||}||" t ||t
|j|jd W 5 Q R X t ||@}|||jg}||||	}|||||jg W 5 Q R X ||
S )Nr   r*   <r   )r   create_struct_proxyr   r   r   r   r   nitemsget_value_typealloca_onceConstanttypecounticmp_unsignedselectif_thenmemset	for_ranger   indexr   r   store)r   r   fromtytotyvalZbarrsrc
src_lengthltydstint_tdst_ptrdst
dst_lengthis_shorter_valuer`   loopin_ptrin_valr&   r&   r'   bytes_to_charseq   s.    

"rv   c                 C   s   t t}|| |}t|tr.t|jj|}| j	
|||_||_t|jjd|_| j	||j|_t |jj|_t |jj|_t |jj|_|S Nr   )r   rZ   
bytes_typerD   intr   r^   r[   r_   ZnrtZmeminfo_allocZmeminfoitemsizeZmeminfo_datar   Zget_null_valueparentshapestrides)r   r   nbytesZ	bstr_ctorbstrr&   r&   r'   _make_constant_bytes   s    


r   c                 C   sF   t | ||jj}tj||d}|||jj}t||j||j |S )Nr   )	r   r_   r`   r   r   r   r   memcpyr[   )r   r   rh   ri   rj   r   r!   r"   r&   r&   r'   charseq_to_bytes   s
    r   c           
   	   C   s   t || ||d}||jtd }|d|jt	|jj
d}|j}|| | j|td W 5 Q R X t| ||}	t ||	j||	j |	S )Nr   r*   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   rZ   r   r   r   r   r   ra   kindr^   r_   lengthrc   	call_convreturn_user_exc
ValueErrorr   r   r[   )
r   r   rh   ri   rj   uni_strsrc1Znotkind1rl   r   r&   r&   r'   unicode_to_bytes_cast   s    
 r   c                    s*    t jkstt } fdd}||fS )Nc                    s   t | | t|d  S Nr   )r   rx   Z	_getvalue)r   r   r   r   sr&   r'   r(      s        z"_unicode_to_bytes.<locals>.codegen)r   Zunicode_typeAssertionErrorrx   )r.   r   r0   r(   r&   r   r'   _unicode_to_bytes   s    r   c              
   C   s  t || ||d}||jtd }||jtd }||jtd }|d|jt	|jj
d}	|d|jt	|jj
d}
|d|jt	|jj
d}|j}| |}tdt }t ||}||| }t	|j
|j}|d	||}||||}||& t ||t	|j
|jt d
 W 5 Q R X ||	X t ||@}|||jg}||||}|||||jg W 5 Q R X W 5 Q R X ||
 tdkrt ||@}|||jg}||||}|||||jg W 5 Q R X n| j|tdtd |f  W 5 Q R X || tdkrt ||@}|||jg}||||}|||||jg W 5 Q R X n| j|tdtd |f  W 5 Q R X ||S )Nr   r*   r2   r   z==r   r   r   rY   r   z,cannot cast 16-bit unicode_type to %s-bit %sz,cannot cast 32-bit unicode_type to %s-bit %s)r   rZ   r   r   r   r   r   ra   r   r^   r_   r   r\   r>   r]   r`   rb   rc   rd   re   r   rf   r   r   rg   r   r   r   )r   r   rh   ri   rj   r   r   Zsrc2Zsrc4Zkind1Zkind2Zkind4rl   rm   rn   ro   rp   rq   rr   r`   rs   rt   ru   r&   r&   r'   unicode_to_unicode_charseq   sz    



,
$ 

$ 
r   c                    sb   d  t |tjr0t | tjr t t | tjr0t  d k	r^| jdd   fdd}|S d S )Nzindex out of range [0, %s]r   c                    s&   |k r|dkr | |S t d S r   )r:   r   r7   	get_valueZmax_imsgr&   r'   getitem_implU  s    
z%charseq_getitem.<locals>.getitem_impl)rD   r   IntegerrE   r=   rG   rX   r`   )r   r7   r   r&   r   r'   charseq_getitemI  s    r   c                    sJ   t | tjtjfrFt|  | jdkr4dd }|S  fdd}|S d S )Nr   c                 S   s   dS r   r&   r   r&   r&   r'   len_implb  s    zcharseq_len.<locals>.len_implc                    s6   }d}|dkr.|d }|dk r"q. | |}q|d S )Nr   r   r&   )r   r7   r<   get_codenr&   r'   r   f  s    )rD   r   rE   rG   rJ   r`   )r   r   r&   r   r'   charseq_len\  s    r   c                 C   s   t | |sd S t| tjr2t|tjr2dd }|S t|tjrVt| tjrVdd }|S t| tjrzt|tjrzdd }|S t| tjtjfrt|tjtjfrdd }|S d S )Nc                 S   s   t | | S rC   strr6   rK   r&   r&   r'   impl{  s    zcharseq_concat.<locals>.implc                 S   s   | t | S rC   r   r   r&   r&   r'   r     s    c                 S   s   t | t | S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |    S rC   _to_str	_to_bytesr   r&   r&   r'   r     s    )rM   rD   r   rG   rH   rE   rF   r6   rK   r   r&   r&   r'   charseq_concatt  s,    



r   c                 C   sp   t | tjrdd }|S t |tjr0dd }|S t | tjtjfrNdd }|S t |tjtjfrldd }|S d S )Nc                 S   s   t | | S rC   r   r   r&   r&   r'   wrap  s    zcharseq_repeat.<locals>.wrapc                 S   s   | t | S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   r   r   r&   r&   r'   r     s    c                 S   s   | |    S rC   r   r   r&   r&   r'   r     s    rD   r   rG   rE   rF   )r6   rK   r   r&   r&   r'   charseq_repeat  s    r   c                 C   s&   t | tjtjtjfr"dd }|S d S )Nc                 S   s   t | dkS r   )lenrI   r&   r&   r'   r     s    zcharseq_not.<locals>.implr   )r6   r   r&   r&   r'   charseq_not  s    r   c                    sD   t | |sd S t|  t| d k	r@d k	r@ fdd}|S d S )Nc                    sD   t | }|t |krdS t|D ]} | |||kr  dS q dS )NFT)r   range)r6   rK   r   r7   	left_code
right_coder&   r'   eq_impl  s    zcharseq_eq.<locals>.eq_implrM   rJ   )r6   rK   r   r&   r   r'   
charseq_eq  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k S rC   r&   r   r&   r&   r'   ne_impl  s    zcharseq_ne.<locals>.ne_implr   )r6   rK   r   r   r   r&   r&   r'   
charseq_ne  s    
r   c                    sD   t | |sd S t|  t| d k	r@d k	r@ fdd}|S d S )Nc                    sZ   t | }t |}t||}t|D ].} | ||| }}||kr"||k   S q"||k S rC   )r   minr   )r6   rK   nanbr   r7   cacbr   r&   r'   lt_impl  s    
zcharseq_lt.<locals>.lt_implr   )r6   rK   r   r&   r   r'   
charseq_lt  s    
	r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s   || k S rC   r&   r   r&   r&   r'   gt_impl  s    zcharseq_gt.<locals>.gt_implr   )r6   rK   r   r   r   r&   r&   r'   
charseq_gt  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k S rC   r&   r   r&   r&   r'   le_impl  s    zcharseq_le.<locals>.le_implr   )r6   rK   r   r   r   r&   r&   r'   
charseq_le  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k  S rC   r&   r   r&   r&   r'   ge_impl  s    zcharseq_ge.<locals>.ge_implr   )r6   rK   r   r   r   r&   r&   r'   
charseq_ge  s    
r   c                 C   sP   t | |sd S t| }t|}|d k	rL|d k	rLt| r@dd }ndd }|S d S )Nc                 S   s   |  |   kS rC   r   r   r&   r&   r'   contains_impl  s    z'charseq_contains.<locals>.contains_implc                 S   s   t |t | kS rC   r   r   r&   r&   r'   r     s    )rM   rJ   rN   )r6   rK   r   r   r   r&   r&   r'   charseq_contains   s    

r   isasciic                    s   t |   fdd}|S )Nc                    s*   t t| D ]} | |dkr dS qdS )N   FT)r   r   r   r   r&   r'   r     s    zcharseq_isascii.<locals>.implrJ   r   r   r&   r   r'   charseq_isascii  s    r   	_get_kindc                    s   t |   fdd}|S )Nc                    sN   d}t t| D ]} | |}||kr|}q|dkr:tjS |dkrHtjS tjS )Nr   i     )r   r   r   PY_UNICODE_4BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_1BYTE_KIND)r   Zmax_coder7   r<   r   r&   r'   r   '  s    
zcharseq_get_kind.<locals>.implr   r   r&   r   r'   charseq_get_kind"  s    r   r   c                 C   s   dd }|S )zConvert unicode_type object to Bytes object.

    Note: The usage of _to_bytes method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.

    c                 S   s   t | S rC   )r   r   r&   r&   r'   r   =  s    z"unicode_to_bytes_mth.<locals>.implr&   r   r&   r&   r'   unicode_to_bytes_mth5  s    r   r   c                    s   t |   fdd}|S )zConvert bytes array item or bytes instance to UTF-8 str.

    Note: The usage of _to_str method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.
    c                    sJ   t | }|  }ttj||}t|D ]} | |}t||| q(|S rC   )r   r   r   _empty_stringr   r   _set_code_point)r   r   is_asciiresultr7   r<   r   r&   r'   
tostr_implL  s      
z&charseq_to_str_mth.<locals>.tostr_implr   )r   r   r&   r   r'   charseq_to_str_mthB  s    	r   __str__c                    s   t |   fdd}|S )Nc                    sX   t | }|  }|dko|  }t|||}t|D ]} | |}t||| q6|S rw   )r   r   r   r   r   r   r   )r   r   r   r   r   r7   r<   r   r&   r'   str_impl\  s    
zcharseq_str.<locals>.str_implr   )r   r   r&   r   r'   charseq_strX  s    
r   c                 C   s   t | tjrdd S d S )Nc                 S   s   | S rC   r&   r   r&   r&   r'   <lambda>l      zcharseq_bytes.<locals>.<lambda>)rD   r   rE   r   r&   r&   r'   charseq_bytesi  s    r   __hash__c                 C   s   dd }|S )Nc                 S   s   t t| S rC   )hashr   r   r&   r&   r'   r   q  s    z"unicode_charseq_hash.<locals>.implr&   r   r&   r&   r'   unicode_charseq_hasho  s    r   c                 C   s   dd }|S )Nc                 S   s   t |  S rC   )r   r   r   r&   r&   r'   r   x  s    zcharseq_hash.<locals>.implr&   r   r&   r&   r'   charseq_hashv  s    r   isupperc                 C   s   dd }|S )Nc                 S   s   t |    S rC   )r   r   r   r&   r&   r'   r     s    z%unicode_charseq_isupper.<locals>.implr&   r   r&   r&   r'   unicode_charseq_isupper  s    r   c                 C   s   dd }|S )Nc                 S   s   |      S rC   )r   r   r   r&   r&   r'   r     s    zcharseq_isupper.<locals>.implr&   r   r&   r&   r'   charseq_isupper  s    r   upperc                 C   s   dd }|S )Nc                 S   s   t |  S rC   )r   r   r   r&   r&   r'   r     s    z#unicode_charseq_upper.<locals>.implr&   r   r&   r&   r'   unicode_charseq_upper  s    r   c                 C   s   dd }|S )Nc                 S   s   |     S rC   )r   r   r   r   r&   r&   r'   r     s    zcharseq_upper.<locals>.implr&   r   r&   r&   r'   charseq_upper  s    r   findc                 C   s   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjrft |tjtjfrfdd }|S t | tjrt |tjrdd }|S t | tjrt |tjrdd }|S d S )Nc                 S   s   t | t |S rC   r   r   r   r&   r&   r'   r     s    z"unicode_charseq_find.<locals>.implc                 S   s   t | |S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   r   r   r   r&   r&   r'   r     s    c                 S   s   |  t|S rC   )r   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   r   r   r&   r&   r'   r     s    rD   r   rG   rH   rE   rF   r   r&   r&   r'   unicode_charseq_find  s&    r   rfindc                 C   s   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjrft |tjtjfrfdd }|S t | tjrt |tjrdd }|S t | tjrt |tjrdd }|S d S )Nc                 S   s   t | t |S rC   r   r   r   r&   r&   r'   r     s    z#unicode_charseq_rfind.<locals>.implc                 S   s   t | |S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   r   r   r   r&   r&   r'   r     s    c                 S   s   |  t|S rC   )r   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   r   r   r&   r&   r'   r     s    r   r   r&   r&   r'   unicode_charseq_rfind  s&    r   
startswithc                 C   sp   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjtjfrlt |tjtjfrldd }|S d S )Nc                 S   s   t | t |S rC   r   r   r   r&   r&   r'   r     s    z(unicode_charseq_startswith.<locals>.implc                 S   s   t | |S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   )r   r   r   r&   r&   r'   r     s    r   r   r&   r&   r'   unicode_charseq_startswith  s    r   endswithc                 C   sp   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjtjfrlt |tjtjfrldd }|S d S )Nc                 S   s   t | t |S rC   r   r   r   r&   r&   r'   r     s    z&unicode_charseq_endswith.<locals>.implc                 S   s   t | |S rC   r   r   r&   r&   r'   r     s    c                 S   s   |   |  S rC   )r   r   r   r&   r&   r'   r      s    r   r   r&   r&   r'   unicode_charseq_endswith  s    r   c                 C   s   dd | D S )Nc                 S   s   g | ]}|  qS r&   )r   ).0r   r&   r&   r'   
<listcomp>  s     z_map_bytes.<locals>.<listcomp>r&   )seqr&   r&   r'   
_map_bytes  s    r   splitc                 C   s   |dks"t |tjtjtjfs"d S t | tjrt |tjrHd
dd}|S t |tjrbddd}|S t|rt|drddd}n
ddd}|S t | tj	tj
f rt |tj	tj
frddd}|S t| rt|drddd}n
dd	d}|S d S )Nr   c                 S   s   t | jt ||dS N)sepmaxsplitr   r   r6   r   r   r&   r&   r'   r     s    z#unicode_charseq_split.<locals>.implc                 S   s   t | j||dS r   r   r   r&   r&   r'   r     s    c                 S   s   t |  S rC   r   r   r&   r&   r'   r     s    c                 S   s   t | j|dS N)r   r   r   r&   r&   r'   r      s    c                 S   s   t |  j| |dS r  r   r   r   r   r&   r&   r'   r   %  s    c                 S   s   t |   S rC   r  r   r&   r&   r'   r   +  s    c                 S   s   t |  j|dS r  r  r   r&   r&   r'   r   .  s    )Nr   )Nr   )Nr   )Nr   )Nr   )Nr   )Nr   )rD   r   rO   r   ZIntegerLiteralrG   rH   r
   rR   rE   rF   )r6   r   r   r   r&   r&   r'   unicode_charseq_split
  s6    







r  ljust c                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rC   r   r  r6   widthfillcharr&   r&   r'   r   ;  s    z#unicode_charseq_ljust.<locals>.implc                 S   s   t | |t |S rC   r  r  r&   r&   r'   r   ?  s    c                 S   s   t | ||S rC   r  r  r&   r&   r'   r   C  s        c                 S   s   |   | S rC   r   r  r   r  r&   r&   r'   r   H  s    c                 S   s   |   ||   S rC   r  r  r&   r&   r'   r   L  s    )r  )r  )r  )r  )r  rD   r   rG   rR   rH   rE   rF   r6   r  r	  r   r&   r&   r'   unicode_charseq_ljust5  s"    





r  rjustc                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rC   r   r  r  r&   r&   r'   r   W  s    z#unicode_charseq_rjust.<locals>.implc                 S   s   t | |t |S rC   r  r  r&   r&   r'   r   [  s    c                 S   s   t | ||S rC   r  r  r&   r&   r'   r   _  s    r
  c                 S   s   |   | S rC   r   r  r   r  r&   r&   r'   r   d  s    c                 S   s   |   ||   S rC   r  r  r&   r&   r'   r   h  s    )r  )r  )r  )r  )r  r  r  r&   r&   r'   unicode_charseq_rjustQ  s"    





r  centerc                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rC   r   r  r  r&   r&   r'   r   s  s    z$unicode_charseq_center.<locals>.implc                 S   s   t | |t |S rC   r  r  r&   r&   r'   r   w  s    c                 S   s   t | ||S rC   r  r  r&   r&   r'   r   {  s    r
  c                 S   s   |   | S rC   r   r  r   r  r&   r&   r'   r     s    c                 S   s   |   ||   S rC   r  r  r&   r&   r'   r     s    )r  )r  )r  )r  )r  r  r  r&   r&   r'   unicode_charseq_centerm  s"    





r  zfillc                 C   s:   t | tjrdd }|S t | tjtjfr6dd }|S d S )Nc                 S   s   t | |S rC   )r   r  r6   r  r&   r&   r'   r     s    z#unicode_charseq_zfill.<locals>.implc                 S   s   |   | S rC   )r   r  r   r  r&   r&   r'   r     s    r   )r6   r  r   r&   r&   r'   unicode_charseq_zfill  s    r  lstripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rC   r   r  r6   charsr&   r&   r'   r     s    z$unicode_charseq_lstrip.<locals>.implc                 S   s   t | t |S rC   r  r  r&   r&   r'   r     s    c                 S   s   t | |S rC   r  r  r&   r&   r'   r     s    c                 S   s   |     S rC   r   r  r   r  r&   r&   r'   r     s    c                 S   s   |   |   S rC   r  r  r&   r&   r'   r     s    )N)N)N)N)NrD   r   rG   r
   rH   rE   rF   r6   r  r   r&   r&   r'   unicode_charseq_lstrip  s"    




r!  rstripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rC   r   r"  r  r&   r&   r'   r     s    z$unicode_charseq_rstrip.<locals>.implc                 S   s   t | t |S rC   r#  r  r&   r&   r'   r     s    c                 S   s   t | |S rC   r#  r  r&   r&   r'   r     s    c                 S   s   |     S rC   r   r"  r   r  r&   r&   r'   r     s    c                 S   s   |   |   S rC   r$  r  r&   r&   r'   r     s    )N)N)N)N)Nr  r   r&   r&   r'   unicode_charseq_rstrip  s"    




r%  stripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rC   r   r&  r  r&   r&   r'   r     s    z#unicode_charseq_strip.<locals>.implc                 S   s   t | t |S rC   r'  r  r&   r&   r'   r     s    c                 S   s   t | |S rC   r'  r  r&   r&   r'   r     s    c                 S   s   |     S rC   r   r&  r   r  r&   r&   r'   r     s    c                 S   s   |   |   S rC   r(  r  r&   r&   r'   r     s    )N)N)N)N)Nr  r   r&   r&   r'   unicode_charseq_strip  s"    




r)  joinc                 C   s:   t | tjrdd }|S t | tjtjfr6dd }|S d S )Nc                 S   s   dd |D }t | |S )Nc                 S   s   g | ]}t |qS r&   r   r   pr&   r&   r'   r     s     6unicode_charseq_join.<locals>.impl.<locals>.<listcomp>)r   r*  r6   parts_partsr&   r&   r'   r     s    z"unicode_charseq_join.<locals>.implc                 S   s    dd |D }|   | S )Nc                 S   s   g | ]}|  qS r&   r   r+  r&   r&   r'   r     s     r-  )r   r*  r   r.  r&   r&   r'   r     s    r   )r6   r/  r   r&   r&   r'   unicode_charseq_join  s    r1  )Nr   )r  )r  )r  )N)N)N)n__doc__operatornumpyrS   Zllvmliter   Z
numba.corer   r   Znumba.core.extendingr   r   r   r   r	   Znumba.core.cgutilsr
   Znumba.cpythonr   ZdtypeZs1_dtyperz   r   rF   Zuint8rx   rW   r>   Zuint16r,   rU   r   r   r   Zunicode_kindr)   r1   r3   r4   r8   r=   r@   rA   rB   rJ   rM   rN   rR   rX   rE   rv   r   r   rH   r   r   rG   r   getitemr   r   r   addiaddr   mulr   not_r   eqr   ner   ltr   gtr   ler   ger   containsr   r   r   r   r   r   bytesr   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r!  r%  r)  r1  r&   r&   r&   r'   <module>   s@  	
















L


















































(























