
    ic=              
         U d Z ddlm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mZmZmZ ddlmZmZmZmZmZmZmZ  eded	            edeged
e          Z edegede            edege
de          Z  edeegede            edeegededdg            edeegede            edeegededdg            eddeegee          Z! eddeeegee          Z" eeeged e!          Z# ed"eeged#e            eeeged$e!          Z$ eeeeged%e!          Z% ed&eeged'eeddg(           eeeegZ&d)e'd*<   g d+Z(defgg g gZ)d,e'd-<   defgg g gZ*d,e'd.<    e+ e,e&          dz
            D ]^Z- ed/e&de-d0z            ee(e-         e)e-         defgz   e1            ed2e&de-d0z            ee(e-         e*e-         d3efgz   e1           _ ed4eeged5e            eeged6ee7          Z.d8D ][Z/ ee/ d9eeged:e/0                                 d;e            ee/ d9eged:e/0                                 d;defge1           \ ed<eeged=ee>            ed<eeged=e            ed?eeged@ee>            ed?eeged@e            edAeegedBe            edCeegedDe           eeegZ1d)e'dE<   g dFZ2g dGZ3defd3efgd3efgg gZ4d,e'dH<    e+ e,e1                    D ]RZ- edIe1de-dz            ee2e-         e4e-         e1            edJe1de-dz            ee3e-         e4e-         e1           SeegZ5d)e'dK<   defgg gZ6d,e'dL<    e+d0          D ]$Z- edMe5de-dz            edNe6e-         e1           % edOeegedPe            edQeegedRe            edSeegedTedefgU            edSeeegedTe            edSeeeegedVe            edWeeegedXed3efgU            edWeeeegedYe            eege
dZe!          Z7 eeged[e!          Z8 ed\eged]e            ed^eged_e            ed`egedae            edbegedce            eddegedee            edfegedgedefdefgU            edfeegedgedefgU            edfeeegedge            eegedhe!          Z9 eegedie!          Z: eegedje!          Z; edkegedledefdefgU            edkeegedledefgU            eegedme!          Z< eegedne!          Z= eegedoe!          Z> edkeeegedle            edpegedqe            edreegedseegt          Z? edueegedveegt          Z@ edweegedxeegt          ZAdyS )zzPrimitive str ops.    )annotations)STR_EXTRA_OPS)	ERR_MAGIC	ERR_NEVER)RTypebit_rprimitivebool_rprimitivebytes_rprimitivec_int_rprimitivec_pyssize_t_rprimitiveint64_rprimitiveint_rprimitivelist_rprimitiveobject_rprimitivepointer_rprimitiveshort_int_rprimitivestr_rprimitivetuple_rprimitive)ERR_NEG_INT	binary_op	custom_opcustom_primitive_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_kindzbuiltins.reprPyObject_Reprzbuiltins.isinstancePyUnicode_Check+PyUnicode_Concatz+=CPyStr_AppendTF)r   r!   r"   r#   r$   steals*CPyStr_Multiply   )r   r!   r"   r#   r$   orderingstr_eqCPyStr_Equal)r   r#   r!   r"   r$   str_eq_literalCPyStr_EqualLiteralPyUnicode_Compare)r!   r"   r#   r$   __getitem__CPyStr_GetItemCPyStr_GetItemUnsafeCPyStr_GetSliceinPyUnicode_Contains)r   r!   r"   r#   r$   truncated_typer.   zlist[RType]str_find_types)CPyStr_Findr<   CPyStr_FindWithEndzlist[list[tuple[int, RType]]]str_find_constantsstr_rfind_constantsfind   )r   r!   r"   r#   extra_int_constantsr$   rfindjoinPyUnicode_JoinCPyStr_Build)r!   r"   r#   r$   var_arg_type)lr stripCPyStr_Strip
startswithCPyStr_Startswith)r   r!   r"   r#   r:   r$   endswithCPyStr_EndswithremoveprefixCPyStr_RemoveprefixremovesuffixCPyStr_Removesuffixstr_split_types)PyUnicode_SplitrX   CPyStr_Split)PyUnicode_RSplitrZ   CPyStr_RSplitstr_split_constantssplitrsplitstr_splitlines_typesstr_splitlines_constants
splitlinesPyUnicode_Splitlines	partitionPyUnicode_Partition
rpartitionPyUnicode_RPartitioncountCPyStr_Count)r   r!   r"   r#   r$   rB   CPyStr_CountFullreplacePyUnicode_ReplaceCPyStr_ReplaceCPyStr_IsTrueCPyStr_Size_size_tlowerCPyStr_LowerupperCPyStr_UpperisspaceCPyStr_IsSpaceisalnumCPyStr_IsAlnumisdigitCPyStr_IsDigitdecode
CPy_DecodeCPy_DecodeUTF8CPy_DecodeASCIICPy_DecodeLatin1encode
CPy_EncodePyUnicode_AsUTF8StringPyUnicode_AsASCIIStringPyUnicode_AsLatin1Stringzbuiltins.ord
CPyStr_Ordstr_adjust_indexCPyStr_AdjustIndex)r   r!   r"   r#   r$   dependenciesstr_range_checkCPyStr_RangeCheckstr_get_item_unsafe_as_intCPyStr_GetItemUnsafeAsIntN)B__doc__
__future__r   mypyc.ir.depsr   mypyc.ir.opsr   r   mypyc.ir.rtypesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   mypyc.primitives.registryr   r   r   r   r   r   r   str_opisinstance_strr/   r1   unicode_comparestr_get_item_unsafe_opstr_slice_opr;   __annotations__str_find_functionsr>   r?   rangelenistr_build_opstrip_prefixrq   rW   str_split_functionsstr_rsplit_functionsr\   r_   r`   str_check_if_truestr_ssize_t_size_opbytes_decode_utf8_strictbytes_decode_ascii_strictbytes_decode_latin1_strictstr_encode_utf8_strictstr_encode_ascii_strictstr_encode_latin1_strictstr_adjust_index_opstr_range_check_opstr_get_item_unsafe_as_int_op     W/root/projects/qq-shell/venv/lib64/python3.11/site-packages/mypyc/primitives/str_ops.py<module>r      s      " " " " " " ' ' ' ' ' ' - - - - - - - -                                                  ^*;AQ R R R R 
	 !"
 
 
 	 !#    	 !%   
		~.&    
		~.#%=    
		~.%    
		~.%V    
		"~.
 
 
 %$	)~/EF   )~. '	   
		~.$    #56*	    y~~>!%	   
		~. ("V     .~~~^ ^ ^ ^ ^III 78:J6K5LbRT4U  U U U U89;K7L6MrSU5V  V V V V	ss>""Q&	'	'  AI QU+"*1-.q1a9I5J4KK    I QU+"*1-/2r;K6L5MM     
		01$    y%&"   #  LI###!>2"=,"4"4"6"6===    I###!""=,"4"4"6"6===!123     
		~. '"    
		/0'    
		~. %"    
		/0%    
		~.)    
		~.)    !/O O O O OLLL PPP 	r#345
6     
 
ss?##	$	$  AI!!a!e),#+A./2    I!!a!e),#,Q//2     &4_$E  E E E E=>@P<Q;RTV:W  W W W W	q  AI&q1q5y1#.4Q7     
		~. )    
		~. *    
		~.&"345    
		~~>&"    
		~~~N&&    
		~~>'./0    
		~~~N$    I#	     i&(	    
		"    
		"    
		$    
		$    
		$    
		  /016H2IJ    
		0 /01    
		@     %9 $	    &I %	    'Y &	    
		  /016H2IJ    
		~.  /01    # ,	    $) -	    %9 .	    
		~~>      	     *)	/0 (    )(	/0'    !4 3	%/0$/! ! !   r   