o
    2g[                  	   @  s  U d 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mZmZmZmZmZmZ ddlmZmZmZmZmZmZ ededd edeged	ed
Zedeegeded
 edeegededdgd eeegededZedeegeded
 eeeegededZedeegeded
 eegedeedZedeege	ded
 edeege	ded
 eeegZded < g d!Zdefd"efgd"efgg gZ d#ed$< e!e"eD ]Z#ed%ede#d&  eee# e e# ed' qed(eeeged)ed"efgd* ed(eeeeged+ed
 eeged,edZ$eeged-edZ%ed.e
ged/edefdefgd* ed.e
eged/edefgd* ed.e
eeged/ed
 ed0ege
d1edefdefgd* ed0eege
d1edefgd* ed0eeege
d1ed
 d2S )3zPrimitive str ops.    )annotations)	ERR_MAGIC	ERR_NEVER)RTypebit_rprimitivebool_rprimitivebytes_rprimitivec_int_rprimitivec_pyssize_t_rprimitiveint_rprimitivelist_rprimitiveobject_rprimitivepointer_rprimitivestr_rprimitive)ERR_NEG_INT	binary_op	custom_opfunction_opload_address_op	method_opzbuiltins.strPyUnicode_Type)nametypesrcPyObject_Str)r   	arg_typesreturn_typec_function_name
error_kind+PyUnicode_Concatz+=CPyStr_AppendTF)r   r   r   r   r   stealsPyUnicode_Compare)r   r   r   r   __getitem__CPyStr_GetItemCPyStr_GetSlicejoinPyUnicode_JoinCPyStr_Build)r   r   r   r   var_arg_type
startswithCPyStr_StartswithendswithCPyStr_Endswithzlist[RType]str_split_types)PyUnicode_Splitr0   CPyStr_Splitzlist[list[tuple[int, RType]]]str_split_constantssplit   )r   r   r   r   extra_int_constantsr   replacePyUnicode_Replace)r   r   r   r   r   r6   CPyStr_ReplaceCPyStr_IsTrueCPyStr_Size_size_tdecode
CPy_Decodeencode
CPy_EncodeN)&__doc__
__future__r   mypyc.ir.opsr   r   mypyc.ir.rtypesr   r   r   r   r	   r
   r   r   r   r   r   mypyc.primitives.registryr   r   r   r   r   r   str_opunicode_comparestr_slice_opstr_build_opr/   __annotations__str_split_functionsr3   rangelenistr_check_if_truestr_ssize_t_size_op rP   rP   P/home/garg/my-data/venv/lib/python3.10/site-packages/mypyc/primitives/str_ops.py<module>   sF   4 
						


	

	


