§
    1@Äjái ã                   ór  — d dl Z d dlZd dlZd dlmZmZ d dl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 d dlmZmZmZmZmZmZ d dlmZmZ d dlmZm Z  d dl!m"Z" d d	l#m$Z$m%Z%m&Z& d d
l'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZP d dlQmRZR e"dv rd dl#mSZS dZTejU        jV        ZW eejX        ¦  «         G d„ de
j        ¦  «        ¦   «         ZY eejX        dd¦  «          eejX        dd¦  «          eejX        dd¦  «          eejX        dd¦  «          eejX        dd¦  «          eejZ        ¦  «         G d„ d e¦  «        ¦   «         Z[d!„ Z\d"„ Z] eej^        ej_        ¦  «        d#„ ¦   «         Z` eej_        ¦  «        d$„ ¦   «         Za eejX        ¦  «        d%„ ¦   «         Zb eejX        ¦  «        d&„ ¦   «         Zcd'„ Zded(„ ¦   «         Zeed)„ ¦   «         Zfed*„ ¦   «         Zged+„ ¦   «         ZhedÎd,„¦   «         Zi ed-¬.¦  «        d/„ ¦   «         Zjd0„ Zked1„ ¦   «         Zled2„ ¦   «         Zmed3„ ¦   «         Zn ed-¬.¦  «        d4„ ¦   «         Zoe"d5v red6„ ¦   «         Zpne"dv red7„ ¦   «         Zpn eqe"¦  «        ‚ed8„ ¦   «         Zre"d5v red9„ ¦   «         Zsne"dv red:„ ¦   «         Zsn eqe"¦  «        ‚ ed-¬.¦  «        d;„ ¦   «         Zted<„ ¦   «         Zued=„ ¦   «         Zv eew¦  «        d>„ ¦   «         Zx eejy        ¦  «        d?„ ¦   «         Zz eej{        ¦  «        d@„ ¦   «         Z| eej}        ¦  «        dA„ ¦   «         Z~ eej        ¦  «        dB„ ¦   «         Z€ eej�        ¦  «        dC„ ¦   «         Z‚ eejƒ        ¦  «        dD„ ¦   «         Z„ eej…        ¦  «        dE„ ¦   «         Z†dF„ Z‡dG„ ZˆedH„ ¦   «         Z‰edI„ ¦   «         ZŠedJ„ ¦   «         Z‹edK„ ¦   «         ZŒdL„ Z� e e�e‹¦  «        ¦  «        ZŽ e e�eŒ¦  «        ¦  «        Z� eejX        dM¦  «        dÏdN„¦   «         Z� eejX        dO¦  «        dÏdP„¦   «         Z‘ eejX        dQ¦  «        dÏdR„¦   «         Z’ eejX        dS¦  «        dÏdT„¦   «         Z“ eejX        dU¦  «        dV„ ¦   «         Z” eejX        dW¦  «        dÏdX„¦   «         Z• eejX        dY¦  «        dZ„ ¦   «         Z–ed[„ ¦   «         Z— eejX        d\¦  «        dÏd]„¦   «         Z˜ eejX        d^¦  «        dÏd_„¦   «         Z™ eejX        d`¦  «        dÐdb„¦   «         Zš eejX        dc¦  «        dÑde„¦   «         Z›df„ Zœ e eœe9¦  «        ¦  «        Z� e eœe:¦  «        ¦  «        Zž eejX        dg¦  «        dÑdh„¦   «         ZŸ eejX        di¦  «        dÒdk„¦   «         Z dl„ Z¡  eejX        dm¦  «         e¡d-¦  «        ¦  «           eejX        dn¦  «         e¡do¦  «        ¦  «         dp„ Z¢ e e¢eB¦  «        ¦  «        Z£ e e¢eA¦  «        ¦  «        Z¤ eejX        dq¦  «        dÓdr„¦   «         Z¥eds„ ¦   «         Z¦ eejX        dt¦  «        du„ ¦   «         Z§ eejX        dv¦  «        dw„ ¦   «         Z¨edx„ ¦   «         Z©edy„ ¦   «         Zªdz„ Z«d{„ Z¬ eejX        d|¦  «        dÔd}„¦   «         Z­ eejX        d~¦  «        dÔd„¦   «         Z® eejX        d€¦  «        dÔd�„¦   «         Z¯edÕd‚„¦   «         Z°edƒ„ ¦   «         Z±ed„„ ¦   «         Z²ed…„ ¦   «         Z³ ed-¬.¦  «        d†„ ¦   «         Z´ed‡„ ¦   «         Zµ eej¶        ¦  «        dˆ„ ¦   «         Z· eej¸        ¦  «         eej¹        ¦  «        d‰„ ¦   «         ¦   «         ZºedŠ„ ¦   «         Z» eej¼        ¦  «        d‹„ ¦   «         Z½ eej¾        ¦  «        dŒ„ ¦   «         Z¿ eejX        d�¦  «        dÖdŽ„¦   «         ZÀd�„ ZÁ  eejX        d�¦  «         eÁeNeL¦  «        ¦  «          ed‘„ ¦  «        ZÂ  eejX        d’¦  «         eÁe3eÂ¦  «        ¦  «         d“„ ZÃ ed”„ ¦  «        ZÄ e eÃeFeGeÄ¦  «        ¦  «        ZÅ e eÃe@e?eE¦  «        ¦  «        ZÆ eejX        d•¦  «        d–„ ¦   «         ZÇ eejX        d—¦  «        d˜„ ¦   «         ZÈ eejX        d™¦  «        dš„ ¦   «         ZÉ eejX        d›¦  «        dœ„ ¦   «         ZÊ eejX        d�¦  «        dž„ ¦   «         ZËdÕdŸ„ZÌ  eejX        d ¦  «         eÌe9¦  «        ¦  «           eejX        d¡¦  «         eÌeM¦  «        ¦  «           eejX        d¢¦  «         eÌeO¦  «        ¦  «           eejX        d£¦  «         eÌeP¦  «        ¦  «           eejX        d¤¦  «         eÌe8d-¦  «        ¦  «         d¥„ ZÍed¦„ ¦   «         ZÎed§„ ¦   «         ZÏd¨„ ZÐ e eÐd-¦  «        ¦  «        ZÑ e eÐdo¦  «        ¦  «        ZÒd©„ ZÓ e eÓe0¦  «        ¦  «        ZÔ e eÓe1¦  «        ¦  «        ZÕ eejX        dª¦  «        d«„ ¦   «         ZÖ eejX        d¬¦  «        d­„ ¦   «         Z×ed®„ ¦   «         ZØed¯„ ¦   «         ZÙ eejX        d°¦  «        d±„ ¦   «         ZÚed²„ ¦   «         ZÛed³„ ¦   «         ZÜ eejX        d´¦  «        dµ„ ¦   «         ZÝed¶„ ¦   «         ZÞed·„ ¦   «         Zß eejX        d¸¦  «        d¹„ ¦   «         Zàedº„ ¦   «         Záed»„ ¦   «         Zâ eejX        d¼¦  «        d½„ ¦   «         Zã eeä¦  «        d¾„ ¦   «         Zåed¿„ ¦   «         ZædÀeTz  ZçedÁ„ ¦   «         Zè eeé¦  «        dÂ„ ¦   «         Zê eejX        dÃ¦  «        dÄ„ ¦   «         Zë eejX        dÅ¦  «        dÆ„ ¦   «         Zì eejí        dÃ¦  «        dÇ„ ¦   «         Zî eejí        dÅ¦  «        dÈ„ ¦   «         Zï eejð        dÅ¦  «         eejð        dÃ¦  «        dÉ„ ¦   «         ¦   «         Zñ edÊejX        ¦  «        dË„ ¦   «         Zò edÌejZ        ¦  «         eejó        ¦  «        dÍ„ ¦   «         ¦   «         ZôdS )×é    N)ÚIntTypeÚConstant)Úis_nonelike)
ÚmodelsÚregister_modelÚmake_attribute_wrapperÚunboxÚboxÚNativeValueÚoverloadÚoverload_methodÚ	intrinsicÚregister_jitable)Úlower_constantÚ
lower_castÚlower_builtinÚiternext_implÚimpl_ret_new_refÚRefType)Úregister_defaultÚStructModel)ÚtypesÚcgutils)Ú	PYVERSION)ÚPY_UNICODE_1BYTE_KINDÚPY_UNICODE_2BYTE_KINDÚPY_UNICODE_4BYTE_KIND)Ú	c_helpers)Ú
_Py_hash_t)Úmemcpy_region)ÚTypingError)!Ú_Py_TOUPPERÚ_Py_TOLOWERÚ_Py_UCS4Ú_Py_ISALNUMÚ_PyUnicode_ToUpperFullÚ_PyUnicode_ToLowerFullÚ_PyUnicode_ToFoldedFullÚ_PyUnicode_ToTitleFullÚ_PyUnicode_IsPrintableÚ_PyUnicode_IsSpaceÚ_Py_ISSPACEÚ_PyUnicode_IsXidStartÚ_PyUnicode_IsXidContinueÚ_PyUnicode_IsCasedÚ_PyUnicode_IsCaseIgnorableÚ_PyUnicode_IsUppercaseÚ_PyUnicode_IsLowercaseÚ_PyUnicode_IsLineBreakÚ_Py_ISLINEBREAKÚ_Py_ISLINEFEEDÚ_Py_ISCARRIAGERETURNÚ_PyUnicode_IsTitlecaseÚ_Py_ISLOWERÚ_Py_ISUPPERÚ_Py_TABÚ_Py_LINEFEEDÚ_Py_CARRIAGE_RETURNÚ	_Py_SPACEÚ_PyUnicode_IsAlphaÚ_PyUnicode_IsNumericÚ_Py_ISALPHAÚ_PyUnicode_IsDigitÚ_PyUnicode_IsDecimalDigit)Úslicing))é   é
   )rD   é   )ÚPY_UNICODE_WCHAR_KINDéÿÿ c                   ó   — e Zd Zd„ ZdS )ÚUnicodeModelc           	      ó  — dt           j        fdt           j        fdt           j        fdt           j        fdt
          fdt          j        t           j        ¦  «        fdt           j        fg}t          j	         
                    | |||¦  «         d S )NÚdataÚlengthÚkindÚis_asciiÚhashÚmeminfoÚparent)r   ÚvoidptrÚintpÚint32Úuint32r   ÚMemInfoPointerÚpyobjectr   r   Ú__init__)ÚselfÚdmmÚfe_typeÚmemberss       úFC:\Projects\Historical\venv\Lib\site-packages\numba/cpython/unicode.pyrY   zUnicodeModel.__init__Q   s}   € à•U”]Ð#Ø•u”zÐ"Ø•U”[Ð!Ø�œÐ&Ø•ZÐ Ø�Ô,­U¬]Ñ;Ô;Ð<à•u”~Ð&ð	
ˆõ 	Ô×#Ò# D¨#¨w¸Ñ@Ô@Ð@Ð@Ð@ó    N)Ú__name__Ú
__module__Ú__qualname__rY   © r_   r^   rJ   rJ   O   s(   € € € € € ðAð Að Að Að Ar_   rJ   rL   Ú_datarM   Ú_lengthrN   Ú_kindrO   Ú	_is_asciirP   Ú_hashc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚUnicodeIteratorModelc                 ó®   •— dt          j        t           j        ¦  «        fd|j        fg}t	          t
          | ¦  «                             |||¦  «         d S )NÚindexrL   )r   ÚEphemeralPointerÚuintprL   Úsuperrj   rY   )rZ   r[   r\   r]   Ú	__class__s       €r^   rY   zUnicodeIteratorModel.__init__h   sR   ø€ Ø�UÔ3µE´KÑ@Ô@ÐAØ˜GœLÐ)ð+ˆåÕ" DÑ)Ô)×2Ò2°3¸ÀÑIÔIÐIÐIÐIr_   )r`   ra   rb   rY   Ú__classcell__)rp   s   @r^   rj   rj   f   sA   ø€ € € € € ðJð Jð Jð Jð Jð Jð Jð Jð Jr_   rj   c           
      óT  — ddl m}m}m}m}m}m}m}m}m	}	 t          d         }
 ||| ||¦  «         ||¦  «         ||¦  «         ||¦  «        ¦  «        } ||
¦  «        } |¦   «         } |¦   «         } |¦   «         } |¦   «         } ||  |	|¦  «         |	|¦  «         |	|¦  «         |	|¦  «        ¦  «        }|€t          d¦  «        ‚|j        }|j        }|j        }|dz   t          |¦  «        z  }||z                       |¦  «        }t          |¦  «        ||||j        fS )ztGet string data from a python string for use at compile-time to embed
    the string data into the LLVM module.
    r   )	Ú	CFUNCTYPEÚc_void_pÚc_intÚc_uintÚ	c_ssize_tÚc_ubyteÚ	py_objectÚPOINTERÚbyrefÚextract_unicodeNz1cannot extract unicode data from the given stringé   )Úctypesrs   rt   ru   rv   rw   rx   ry   rz   r{   r   Ú
ValueErrorÚvalueÚ_kind_to_byte_widthÚfrom_addressÚbytes)Úobjrs   rt   ru   rv   rw   rx   ry   rz   r{   Úextract_unicode_fnÚprotoÚfnrM   rN   rO   ÚhashvrL   ÚnbytesÚouts                       r^   Úcompile_time_get_string_datar‹   p   s¤  € ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð õ
 #Ð#4Ô5ÐØˆI�h 	¨7¨7°9Ñ+=Ô+=¸w¸wÀu¹~¼~Ø�g˜f‘o”o w w¨yÑ'9Ô'9ñ;ô ;€Eà	ˆÐ!Ñ	"Ô	"€BØˆY‰[Œ[€FØˆ5‰7Œ7€DØˆv‰xŒx€HØˆI‰KŒK€EØˆ2ˆc�5�5˜‘=”= % %¨¡+¤+¨u¨u°X©¬ÀÀÀeÁÄÑMÔM€DØ€|ÝÐLÑMÔMÐMØŒ\€FØŒ:€DØŒ~€HØ�q‰jÕ/°Ñ5Ô5Ñ5€FØ�VÑ×
)Ò
)¨$Ñ
/Ô
/€CÝ�‰:Œ:�v˜t X¨u¬{Ð:Ð:r_   c                 óÐ  — t          |¦  «        \  }}}}}|j        }	|                      |	|¦  «        }
 t          j        |¦  «        | |¦  «        }|
|_        |j                             |¦  «        |_        |j                             |¦  «        |_        |j	                             |¦  «        |_	        |j
                             d¦  «        |_
        |                     ¦   «         S )zf
    Get string data by `compile_time_get_string_data()` and return a
    unicode_type LLVM value
    éÿÿÿÿ)r‹   ÚmoduleÚinsert_const_bytesr   Úcreate_struct_proxyrL   rM   ÚtyperN   rO   rP   Ú	_getvalue)ÚcontextÚbuilderÚtypÚliteral_stringÚ	databytesrM   rN   rO   rˆ   ÚmodÚgvÚuni_strs               r^   Úmake_string_from_constantr›   Œ   sÏ   € õ 	% ^Ñ4Ô4ñ -€Iˆv�t˜X uà
Œ.€CØ	×	#Ò	# C¨Ñ	3Ô	3€BØ.�gÔ)¨#Ñ.Ô.¨w¸Ñ@Ô@€GØ€G„LØ”^×(Ò(¨Ñ0Ô0€G„NØ”<×$Ò$ TÑ*Ô*€G„LØÔ'×,Ò,¨XÑ6Ô6€GÔð ”<×$Ò$ RÑ(Ô(€G„LØ×ÒÑÔÐr_   c                 ó0   — t          | |||j        ¦  «        S ©N)r›   Úliteral_value)r“   r”   ÚfromtyÚtotyÚvals        r^   Úcast_from_literalr¢       s    € å$Ø�˜$ Ô 4ñô ð r_   c                 ó&   — t          | |||¦  «        S r�   )r›   )r“   r”   r•   Úpyvals       r^   Úconstant_unicoder¥   ©   s   € å$ W¨g°s¸EÑBÔBÐBr_   c                 óÐ  — |j                              |¦  «        \  }}}}}} t          j        | ¦  «        |j        |j        ¦  «        }	||	_        ||	_        ||	_        ||	_	        ||	_
        |j                              ||¦  «        |	_        ||	_        t          j        |j        |j                              ¦   «         ¦  «        }
t!          |	                     ¦   «         |
¬¦  «        S )zE
    Convert a unicode str object to a native unicode structure.
    )Úis_error)ÚpyapiÚstring_as_string_size_and_kindr   r�   r“   r”   rL   rM   rN   rO   rP   Únrt_meminfo_new_from_pyobjectrQ   rR   Úis_not_nullÚerr_occurredr   r’   )r•   r„   ÚcÚokrL   rM   rN   rO   rˆ   rš   r§   s              r^   Úunbox_unicode_strr¯   ±   sÕ   € ð 	
Œ×.Ò.¨sÑ3Ô3ñ ,€Bˆˆf�d˜H eà.�gÔ)¨#Ñ.Ô.¨q¬y¸!¼)ÑDÔD€GØ€G„LØ€G„NØ€G„LØ€GÔØ€G„LØ”g×;Ò;ØØñô €G„Oð €G„NåÔ" 1¤9¨a¬g×.BÒ.BÑ.DÔ.DÑEÔE€HÝ�w×(Ò(Ñ*Ô*°XÐ>Ñ>Ô>Ð>r_   c                 ó0  —  t          j        | ¦  «        |j        |j        |¬¦  «        }|j                             |j        |j        |j        ¦  «        }|j         	                    |¦  «         |j        j
                             |j        | |¦  «         |S )z@
    Convert a native unicode structure to a unicode string
    ©r€   )r   r�   r“   r”   r¨   Ústring_from_kind_and_datarN   rL   rM   Úobject_hashÚnrtÚdecref)r•   r¡   r­   rš   Úress        r^   Úbox_unicode_strr·   È   sˆ   € ð
 /�gÔ)¨#Ñ.Ô.¨q¬y¸!¼)È3ÐOÑOÔO€GØ
Œ'×
+Ò
+ØŒ�g”l G¤Nñ4ô 4€Cð
 „G×Ò˜ÑÔÐØ„I„M×Ò˜œ C¨Ñ-Ô-Ð-Ø€Jr_   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó  •— |\  }}|                      |t          ‰¦  «                             ¦   «         ¦  «        }|                     |                     ||g¦  «        ¦  «        }|                     |t          d¦  «        ¦  «        S ©Né    )Úbitcastr   Ú
as_pointerÚloadÚgepÚzext)	r“   r”   Ú	signatureÚargsrL   ÚidxÚptrÚchÚbitsizes	           €r^   Úcodegenz#make_deref_codegen.<locals>.codegenÜ   sn   ø€ Ø‰	ˆˆcØ�oŠo˜d¥G¨GÑ$4Ô$4×$?Ò$?Ñ$AÔ$AÑBÔBˆØ�\Š\˜'Ÿ+š+ c¨C¨5Ñ1Ô1Ñ2Ô2ˆØ�|Š|˜B¥¨¡¤Ñ,Ô,Ð,r_   rc   ©rÆ   rÇ   s   ` r^   Úmake_deref_codegenrÉ   Û   s#   ø€ ð-ð -ð -ð -ð -ð €Nr_   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS ©Né   ©r   rV   rS   rT   rÉ   ©Ú	typingctxrL   ÚoffsetÚsigs       r^   Úderef_uint8rÒ   å   s+   € å
Œ,•u”}¥e¤jÑ
1Ô
1€CØÕ" 1Ñ%Ô%Ð%Ð%r_   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS ©Né   rÍ   rÎ   s       r^   Úderef_uint16rÖ   ë   ó+   € å
Œ,•u”}¥e¤jÑ
1Ô
1€CØÕ" 2Ñ&Ô&Ð&Ð&r_   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS rº   rÍ   rÎ   s       r^   Úderef_uint32rÙ   ñ   r×   r_   c                 óŽ   — d„ }t          j        t           j        t           j        t           j        t           j        ¦  «        }||fS )z�make empty string with data buffer of size alloc_bytes.

    Must set length and kind values for string after it is returned
    c           
      ó@  — |\  }}}}t          j        t          j        ¦  «        } || |¦  «        }	|                     ||                     |t          |j        d¦  «        ¦  «        ¦  «        }
| j         	                    ||
¦  «        |	_
        ||	_        ||	_        ||	_        |                      t          d¦  «        |	_        | j                             ||	j
        ¦  «        |	_        t          j        |	j        j        ¦  «        |	_        |	                     ¦   «         S )Nr}   r�   )r   r�   r   Úunicode_typeÚmulÚaddr   r‘   r´   Úmeminfo_allocrQ   rN   rO   rM   Úget_constantr   rP   Úmeminfo_datarL   Úget_null_valuerR   r’   )r“   r”   rÁ   rÂ   Úkind_valÚchar_bytes_valÚ
length_valÚis_ascii_valÚuni_str_ctorrš   Ú
nbytes_vals              r^   Údetailsz_malloc_string.<locals>.detailsý   sý   € Ø?CÑ<ˆ�> :¨|õ Ô2µ5Ô3EÑFÔFˆØ�,˜w¨Ñ0Ô0ˆà—[’[ Ø!(§¢¨ZÝ-5°j´oÀqÑ-IÔ-Iñ"Kô "KñLô Lˆ
ð "œ+×3Ò3°G¸ZÑHÔHˆŒØˆŒØ'ˆÔØ#ˆŒà×+Ò+­J¸Ñ;Ô;ˆŒØ”{×/Ò/°¸¼ÑIÔIˆŒå Ô/°´Ô0CÑDÔDˆŒØ× Ò Ñ"Ô"Ð"r_   )r   rÜ   rU   rT   rV   )rÏ   rN   Ú
char_bytesrM   rO   ré   rÑ   s          r^   Ú_malloc_stringrë   ÷   s;   € ð#ð #ð #õ* Ô
�Uœ[­%¬*µe´jÅ%Ä,Ñ
OÔ
O€CØ�ˆ<Ðr_   c                 óŽ   — t          | ¦  «        }t          | |||¦  «        }t          ||t          j        d¦  «        ¦  «         |S ©Nr   )r�   rë   Ú_set_code_pointÚnprV   )rN   rM   rO   Ú
char_widthÚss        r^   Ú_empty_stringrò     sA   € å$ TÑ*Ô*€JÝ�t˜Z¨°Ñ:Ô:€AÝ�A�v�rœy¨™|œ|Ñ,Ô,Ð,Ø€Hr_   F)Ú_nrtc                 óä   — | j         t          k    rt          | j        |¦  «        S | j         t          k    rt          | j        |¦  «        S | j         t          k    rt          | j        |¦  «        S dS rí   )rf   r   rÒ   rd   r   rÖ   r   rÙ   )ÚaÚis     r^   Ú_get_code_pointr÷     si   € à„wÕ'Ò'Ð'Ý˜1œ7 AÑ&Ô&Ð&Ø	
ŒÕ)Ò	)Ð	)Ý˜AœG QÑ'Ô'Ð'Ø	
ŒÕ)Ò	)Ð	)Ý˜AœG QÑ'Ô'Ð'ð ˆqr_   c                 ó   ‡ — ˆ fd„}|S )Nc                 óJ  •— |\  }}}‰dk     r#|                      |t          ‰¦  «        ¦  «        }|                     |t          ‰¦  «                             ¦   «         ¦  «        }|                     ||                     ||g¦  «        ¦  «         |                      ¦   «         S rº   )Útruncr   r¼   r½   Ústorer¿   Úget_dummy_value)	r“   r”   rÁ   rÂ   rL   rÃ   rÅ   rÄ   rÆ   s	           €r^   rÇ   z!make_set_codegen.<locals>.codegen0  s�   ø€ Ø‰ˆˆc�2Ø�RŠ<ˆ<Ø—’˜r¥7¨7Ñ#3Ô#3Ñ4Ô4ˆBØ�oŠo˜d¥G¨GÑ$4Ô$4×$?Ò$?Ñ$AÔ$AÑBÔBˆØ�Š�b˜'Ÿ+š+ c¨C¨5Ñ1Ô1Ñ2Ô2Ð2Ø×&Ò&Ñ(Ô(Ð(r_   rc   rÈ   s   ` r^   Úmake_set_codegenrý   /  s#   ø€ ð)ð )ð )ð )ð )ð €Nr_   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS rË   ©r   ÚvoidrS   Úint64rV   rý   ©rÏ   rL   rÃ   rÅ   rÑ   s        r^   Ú	set_uint8r  ;  s/   € å
Œ*•U”]¥E¤Kµ´Ñ
>Ô
>€CØÕ  Ñ#Ô#Ð#Ð#r_   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS rÔ   rÿ   r  s        r^   Ú
set_uint16r  A  ó/   € å
Œ*•U”]¥E¤Kµ´Ñ
>Ô
>€CØÕ  Ñ$Ô$Ð$Ð$r_   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS rº   rÿ   r  s        r^   Ú
set_uint32r  G  r  r_   c                 ó  — | j         t          k    rt          | j        ||¦  «         d S | j         t          k    rt          | j        ||¦  «         d S | j         t          k    rt          | j        ||¦  «         d S t          d¦  «        ‚)Nz4Unexpected unicode representation in _set_code_point)	rf   r   r  rd   r   r  r   r  ÚAssertionError)rõ   rö   rÅ   s      r^   rî   rî   M  s”   € ð 	„wÕ'Ò'Ð'Ý�!”'˜1˜bÑ!Ô!Ð!Ð!Ð!Ø	
ŒÕ)Ò	)Ð	)Ý�1”7˜A˜rÑ"Ô"Ð"Ð"Ð"Ø	
ŒÕ)Ò	)Ð	)Ý�1”7˜A˜rÑ"Ô"Ð"Ð"Ð"åØBñDô Dð 	Dr_   ))rD   é   )rD   é   )rD   é   )rD   é   c                 óˆ   — | t           k    r|S | t          k    r|t          k    r|S | S | t          k    r| S t          d¦  «        ‚)Nú/Unexpected unicode representation in _pick_kind©r   r   r   r
  ©Úkind1Úkind2s     r^   Ú
_pick_kindr  a  s^   € àÕ)Ò)Ð)ØˆLØÕ+Ò+Ð+ØÕ-Ò-Ð-Ø�à�ØÕ+Ò+Ð+ØˆLå ØAñCô Cð Cr_   c                 óÒ   — | t           k    s|t           k    rt          d¦  «        ‚| t          k    r|S | t          k    r|t          k    r|S | S | t          k    r| S t          d¦  «        ‚)Nú!PY_UNICODE_WCHAR_KIND unsupportedr  )rG   r
  r   r   r   r  s     r^   r  r  p  s„   € àÕ*Ò*Ð*¨eÕ7LÒ.LÐ.LÝ Ð!DÑEÔEÐEàÕ)Ò)Ð)ØˆLØÕ+Ò+Ð+ØÕ-Ò-Ð-Ø�à�ØÕ+Ò+Ð+ØˆLå ØAñCô Cð Cr_   c                 ój   — | dk    r|dk    rt          j        d¦  «        S t          j        d¦  «        S ©Nr}   r   )r   rV   )Ú	is_ascii1Ú	is_ascii2s     r^   Ú_pick_asciir  …  s/   € à�A‚~€~˜) qš.˜.ÝŒ|˜A‰ŒÐÝŒ<˜‰?Œ?Ðr_   c                 ón   — | t           k    rdS | t          k    rdS | t          k    rdS t          d¦  «        ‚)Nr}   é   é   ú'Unexpected unicode encoding encounteredr  ©rN   s    r^   r�   r�   �  sD   € àÕ(Ò(Ð(Ø�1ØÕ*Ò*Ð*Ø�1ØÕ*Ò*Ð*Ø�1å Ð!JÑKÔKÐKr_   c                 ó¢   — | t           k    rdS | t          k    rdS | t          k    rdS | t          k    rt	          d¦  «        ‚t	          d¦  «        ‚)Nr}   r  r  r  r   )r   r   r   rG   r
  r!  s    r^   r�   r�   ˜  s_   € àÕ(Ò(Ð(Ø�1ØÕ*Ò*Ð*Ø�1ØÕ*Ò*Ð*Ø�1ØÕ*Ò*Ð*Ý Ð!DÑEÔEÐEå Ð!JÑKÔKÐKr_   c                 óê   — |dk    rdS ||z   | j         k    rdS ||z   |j         k    rdS t          |¦  «        D ]:}t          | ||z   ¦  «        }t          |||z   ¦  «        }||k     r dS ||k    r dS Œ;dS )Nr   r�   r}   )re   Úranger÷   )rõ   Úa_offsetÚbÚb_offsetÚnrö   Úa_chrÚb_chrs           r^   Ú_cmp_regionr+  ¨  s£   € àˆA‚v€vØˆqØ	�A‰˜œ	Ò	!Ð	!ØˆrØ	�A‰˜œ	Ò	!Ð	!Øˆqå�1‰XŒXð ð ˆÝ  8¨a¡<Ñ0Ô0ˆÝ  8¨a¡<Ñ0Ô0ˆØ�5Š=ˆ=Ø�2�2Ø�UŠ]ˆ]Ø�1�1ð ð ˆ1r_   c                 óv   — | dk     rt           S | dk     rt          S d}| |k    rd}t          |¦  «        ‚t          S )zK
    Compute the minimum unicode kind needed to hold a given codepoint
    é   i   rH   z;Invalid codepoint. Found value greater than Unicode maximum)r   r   r   r   )ÚcpÚMAX_UNICODEÚmsgs      r^   Ú_codepoint_to_kindr1  ¼  sK   € ð
 
ˆC‚x€xÝ$Ð$Ø	ˆeŠˆÝ$Ð$ð ˆØ�ÒÐØOˆCÝ˜S‘/”/Ð!Ý$Ð$r_   c                 ó   — | dk     S )z;
    Returns true if a codepoint is in the ASCII range
    é€   rc   )rÅ   s    r^   Ú_codepoint_is_asciir4  Î  s   € ð
 �Š8€Or_   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | j         S r�   )re   ©rñ   s    r^   Úlen_implzunicode_len.<locals>.len_implÜ  s
   € Ø”9Ðr_   ©Ú
isinstancer   ÚUnicodeType)rñ   r8  s     r^   Úunicode_lenr<  Ù  s5   € å�!•UÔ&Ñ'Ô'ð ð	ð 	ð 	àˆðð r_   c                 ób  — | j         r|j         sd S t          | t          j        ¦  «        r| j        }n| }t          |t          j        ¦  «        r|j        }n|}t          j        t          j        t          j        f}t          ||¦  «        }t          ||¦  «        }|r|rd„ }|S ||z  rd„ }|S d S )Nc           	      óò   — | d u }|d u }|s|r|r|rdS dS t          | ¦  «        } t          |¦  «        }t          | ¦  «        t          |¦  «        k    rdS t          | d|dt          | ¦  «        ¦  «        dk    S )NTFr   )ÚstrÚlenr+  )rõ   r&  Úa_noneÚb_nones       r^   Úeq_implzunicode_eq.<locals>.eq_implñ  s�   € à˜$�YˆFØ˜$�YˆFØð !˜ð !Øð !˜fð !Ø˜4à ˜5å�A‘”ˆAÝ�A‘”ˆAÝ�1‰vŒv�˜Q™œÒÐØ�uÝ˜q ! Q¨­3¨q©6¬6Ñ2Ô2°aÒ7Ð7r_   c                 ó   — dS ©NFrc   ©rõ   r&  s     r^   rC  zunicode_eq.<locals>.eq_impl  s   € Ø�5r_   )Úis_internalr:  r   ÚOptionalr‘   r;  ÚStringLiteralÚUnicodeCharSeq)rõ   r&  Úcheck_aÚcheck_bÚacceptÚ	a_unicodeÚ	b_unicoderC  s           r^   Ú
unicode_eqrP  á  sá   € àŒMð ˜aœmð ØˆÝ�!•U”^Ñ$Ô$ð Ø”&ˆˆàˆÝ�!•U”^Ñ$Ô$ð Ø”&ˆˆàˆÝÔ¥Ô!4µeÔ6JÐK€FÝ˜7 FÑ+Ô+€IÝ˜7 FÑ+Ô+€IØð �Yð ð	8ð 	8ð 	8ð ˆØ	�YÑ	ð ð	ð 	ð 	àˆð	ð r_   c                 óÒ   — | j         r|j         sd S t          j        t          j        t          j        f}t          | |¦  «        }t          ||¦  «        }|r|rd„ }|S ||z  rd„ }|S d S )Nc                 ó   — | |k     S r�   rc   rF  s     r^   Úne_implzunicode_ne.<locals>.ne_impl  s   € Ø˜Qš�<Ðr_   c                 ó   — dS )NTrc   rF  s     r^   rC  zunicode_ne.<locals>.eq_impl  s   € Ø�4r_   )rG  r   r;  rI  rJ  r:  )rõ   r&  rM  rN  rO  rS  rC  s          r^   Ú
unicode_nerU    s›   € àŒMð ˜aœmð ØˆÝÔ¥Ô!4µeÔ6JÐK€FÝ˜1˜fÑ%Ô%€IÝ˜1˜fÑ%Ô%€IØð �Yð ð	 ð 	 ð 	 àˆØ	�YÑ	ð ð	ð 	ð 	àˆð	ð r_   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 óÜ   — t          t          | ¦  «        t          |¦  «        ¦  «        }t          | d|d|¦  «        }|dk    rdS |dk    r t          | ¦  «        t          |¦  «        k     S dS )Nr   r�   TF©Úminr@  r+  ©rõ   r&  ÚminlenÚeqcodes       r^   Últ_implzunicode_lt.<locals>.lt_impl  sd   € Ý�˜Q™œ¥ Q¡¤Ñ(Ô(ˆFÝ   A q¨!¨VÑ4Ô4ˆFØ˜Š|ˆ|Ø�tØ˜1’�Ý˜1‘v”v¥ A¡¤’Ð&Ø�5r_   ©r:  r   r;  rI  )rõ   r&  rN  rO  r]  s        r^   Ú
unicode_ltr_    óo   € å˜1�uÔ0µ%Ô2EÐFÑGÔG€IÝ˜1�uÔ0µ%Ô2EÐFÑGÔG€IØð 	�Yð 	ð	ð 	ð 	ð ˆð	ð 	ð 	ð 	r_   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 óÜ   — t          t          | ¦  «        t          |¦  «        ¦  «        }t          | d|d|¦  «        }|dk    rdS |dk    r t          | ¦  «        t          |¦  «        k    S dS )Nr   r}   TFrX  rZ  s       r^   Úgt_implzunicode_gt.<locals>.gt_impl/  sd   € Ý�˜Q™œ¥ Q¡¤Ñ(Ô(ˆFÝ   A q¨!¨VÑ4Ô4ˆFØ˜Š{ˆ{Ø�tØ˜1’�Ý˜1‘v”v¥ A¡¤’Ð&Ø�5r_   r^  )rõ   r&  rN  rO  rc  s        r^   Ú
unicode_gtrd  *  r`  r_   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 ó   — | |k     S r�   rc   rF  s     r^   Úle_implzunicode_le.<locals>.le_impl?  ó   € Ø˜Aš�;Ðr_   r^  )rõ   r&  rN  rO  rg  s        r^   Ú
unicode_leri  :  óm   € å˜1�uÔ0µ%Ô2EÐFÑGÔG€IÝ˜1�uÔ0µ%Ô2EÐFÑGÔG€IØð �Yð ð	ð 	ð 	àˆðð ð ð r_   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 ó   — | |k      S r�   rc   rF  s     r^   Úge_implzunicode_ge.<locals>.ge_implI  rh  r_   r^  )rõ   r&  rN  rO  rm  s        r^   Ú
unicode_gern  D  rj  r_   c                 ó|   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó*   — t          | |¦  «        dk    S ©Nr�   )Ú_findrF  s     r^   Úcontains_implz'unicode_contains.<locals>.contains_implQ  s   € å˜˜A‘;”; Ò#Ð#r_   r9  )rõ   r&  rs  s      r^   Úunicode_containsrt  N  sV   € å�!•UÔ&Ñ'Ô'ð ­J°q½%Ô:KÑ,LÔ,Lð ð	$ð 	$ð 	$ð Ðð	ð ð ð r_   c                 ó0  — | }t          | t          j        ¦  «        r| j        }n!t          | t          j        ¦  «        r| j        }t          j        t          j        f}|�4t          ||¦  «        s&t          d 	                    ||| ¦  «        ¦  «        ‚dS dS )zƒCheck object belongs to one of specific types
    ty: type
        Type of the object
    name: str
        Name of the object
    Nú"{}" must be {}, not {})
r:  r   ÚOmittedr€   rH  r‘   ÚIntegerÚNoneTyper!   Úformat)ÚtyÚnameÚthetyÚaccepteds       r^   Úunicode_idx_check_typer  W  s“   € ð €Eå�"•e”mÑ$Ô$ð Ø”ˆˆå	�B�œÑ	'Ô	'ð Ø”ˆå”�uœ~Ð.€HØÐ¥¨E°8Ñ!<Ô!<ÐÝÐ3×:Ò:¸4ÀÈ2ÑNÔNÑOÔOÐOð ÐÐÐr_   c                 óš   — t          | t          j        ¦  «        s0d                     |t          j        | ¦  «        }t	          |¦  «        ‚dS )z$Check object belongs to unicode typerv  N)r:  r   r;  rz  r!   )r{  r|  r0  s      r^   Úunicode_sub_check_typer�  k  sI   € å�b�%Ô+Ñ,Ô,ð Ø'×.Ò.¨tµUÔ5FÈÑKÔKˆÝ˜#ÑÔÐðð r_   c                 ó,   — | d|t           dz
  z  z  z  } | S ©Nr}   ©Ú_BLOOM_WIDTH©ÚmaskrÅ   s     r^   Ú
_bloom_addrˆ  t  s    € àˆQ�2�¨Ñ)Ñ*Ñ+Ñ,€DØ€Kr_   c                 ó(   — | d|t           dz
  z  z  z  S rƒ  r„  r†  s     r^   Ú_bloom_checkrŠ  z  s   € à�1˜�|¨aÑ/Ñ0Ñ1Ñ2Ð2r_   c                 óâ  — t          |¦  «        }|dk    r|S |dz
  x}}t          ||¦  «        }t          j        d¦  «        }t	          ||¦  «        }	t          |¦  «        D ]0}
t          ||
¦  «        }t	          |	|¦  «        }	||k    r||
z
  dz
  }Œ1|}
|
||z
  k    rÑt          | ||
z   ¦  «        }||k    r{d}||k     r5t          | |
|z   ¦  «        }t          ||¦  «        }||k    rn|dz  }||k     °5||k    r|
S t          | ||
z   dz   ¦  «        }t          |	|¦  «        dk    r|
|z  }
n5|
|z  }
n/t          | ||
z   dz   ¦  «        }t          |	|¦  «        dk    r|
|z  }
|
dz  }
|
||z
  k    °ÑdS )zLeft finder.r   r}   r�   )r@  r÷   r   rT   rˆ  r$  rŠ  )rL   ÚsubstrÚstartÚendÚmÚgapÚmlastÚlastÚzeror‡  rö   rÅ   ÚjÚhaystack_chÚ	needle_chs                  r^   Ú_default_findr—  €  sÆ  € õ 	ˆF‰Œ€AØˆA‚v€vØˆà�a‘%Ð€Cˆ%Ý˜6 5Ñ)Ô)€DåŒ:�a‰=Œ=€DÝ�d˜DÑ!Ô!€DÝ�5‰\Œ\ð  ð  ˆÝ˜V QÑ'Ô'ˆÝ˜$ Ñ#Ô#ˆØ�Š:ˆ:Ø˜!‘)˜a‘-ˆCøà€AØ
ˆs�Q‰wŠ,ˆ,Ý˜T 5¨1¡9Ñ-Ô-ˆØ�Š:ˆ:ØˆAØ�e’)�)Ý-¨d°A¸±EÑ:Ô:�Ý+¨F°AÑ6Ô6�	Ø )Ò+Ð+ØØ�Q‘�ð �e’)�)ð �EŠzˆzà�å   u¨q¡y°1¡}Ñ5Ô5ˆBÝ˜D "Ñ%Ô%¨Ò*Ð*Ø�Q‘��à�S‘��å   u¨q¡y°1¡}Ñ5Ô5ˆBÝ˜D "Ñ%Ô%¨Ò*Ð*Ø�Q‘�Ø	ˆQ‰ˆð/ ˆs�Q‰wŠ,ˆ,ð2 ˆ2r_   c                 ó¶  — t          |¦  «        }|dk    r|S |dz
  x}}t          |d¦  «        }t          d|¦  «        }|}	|	dk    r6t          ||	¦  «        }
t          ||
¦  «        }|
|k    r|	dz
  }|	dz  }	|	dk    °6||z
  }	|	|k    rÑt          | |	¦  «        }
|
|k    r~|}|dk    r5t          | |	|z   ¦  «        }t          ||¦  «        }||k    rn|dz  }|dk    °5|dk    r|	S t          | |	dz
  ¦  «        }
|	|k    rt          ||
¦  «        dk    r|	|z  }	n8|	|z  }	n2t          | |	dz
  ¦  «        }
|	|k    rt          ||
¦  «        dk    r|	|z  }	|	dz  }	|	|k    °ÑdS )zRight finder.r   r}   r�   )r@  r÷   rˆ  rŠ  )rL   rŒ  r�  rŽ  r�  Úskipr‘  Úmfirstr‡  rö   rÅ   r”  r•  r–  s                 r^   Ú_default_rfindr›  ¯  sÅ  € õ 	ˆF‰Œ€AØˆA‚v€vØˆ
à�q‘5Ð€Dˆ5Ý˜V QÑ'Ô'€FÝ�a˜Ñ Ô €DØ€AØ
ˆaŠ%ˆ%Ý˜V QÑ'Ô'ˆÝ˜$ Ñ#Ô#ˆØ�Š<ˆ<Ø�q‘5ˆDØ	ˆQ‰ˆð ˆaŠ%ˆ%ð 	ˆa‰€AØ
ˆuŠ*ˆ*Ý˜T 1Ñ%Ô%ˆØ�Š<ˆ<ØˆAØ�a’%�%Ý-¨d°A¸±EÑ:Ô:�Ý+¨F°AÑ6Ô6�	Ø )Ò+Ð+ØØ�Q‘�ð �a’%�%ð �AŠvˆvà�å   q¨1¡uÑ-Ô-ˆBØ�5Šyˆy�\¨$°Ñ3Ô3°qÒ8Ð8Ø�Q‘��à�T‘	��õ !  q¨1¡uÑ-Ô-ˆBØ�5Šyˆy�\¨$°Ñ3Ô3°qÒ8Ð8Ø�Q‘�Ø	ˆQ‰ˆð3 ˆuŠ*ˆ*ð6 ˆ2r_   c                 ó   ‡ — dˆ fd„	}|S )z%Generate finder either left or right.Nc                 óª   •— t          | ¦  «        }t          |¦  «        }|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS  ‰| |||¦  «        S )Nr   r�   )r@  Ú_adjust_indices)rL   rŒ  r�  rŽ  rM   Ú
sub_lengthÚ	find_funcs         €r^   Úimplzgenerate_finder.<locals>.implâ  sl   ø€ Ý�T‘”ˆÝ˜‘[”[ˆ
Øˆ=ØˆEØˆ;ØˆCå$ V¨U°CÑ8Ô8‰
ˆˆsØ�‰;˜Ò#Ð#Ø�2àˆy˜˜v u¨cÑ2Ô2Ð2r_   ©NNrc   )r   r¡  s   ` r^   Úgenerate_finderr£  à  s(   ø€ ð3ð 3ð 3ð 3ð 3ð 3ð €Kr_   Úfindc                 ó°   — t          |t          j        ¦  «        rdd„}|S t          |d¦  «         t          |d¦  «         t	          |d¦  «         t
          S )zImplements str.find()Nc                 óF   — |                       t          |¦  «        ¦  «        S r�   )r¤  r?  ©rL   rŒ  r�  rŽ  s       r^   Ú	find_implzunicode_find.<locals>.find_implû  s   € Ø—9’9�S ™[œ[Ñ)Ô)Ð)r_   r�  rŽ  rŒ  r¢  )r:  r   rJ  r  r�  rr  )rL   rŒ  r�  rŽ  r¨  s        r^   Úunicode_findr©  ÷  sh   € õ �&�%Ô.Ñ/Ô/ð ð	*ð 	*ð 	*ð 	*àÐå˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜6 8Ñ,Ô,Ð,å€Lr_   Úrfindc                 ó°   — t          |t          j        ¦  «        rdd„}|S t          |d¦  «         t          |d¦  «         t	          |d¦  «         t
          S )zImplements str.rfind()Nc                 óF   — |                       t          |¦  «        ¦  «        S r�   )rª  r?  r§  s       r^   Ú
rfind_implz!unicode_rfind.<locals>.rfind_impl
  s   € Ø—:’:�c &™kœkÑ*Ô*Ð*r_   r�  rŽ  rŒ  r¢  )r:  r   rJ  r  r�  Ú_rfind)rL   rŒ  r�  rŽ  r­  s        r^   Úunicode_rfindr¯    sh   € õ �&�%Ô.Ñ/Ô/ð ð	+ð 	+ð 	+ð 	+àÐå˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜6 8Ñ,Ô,Ð,å€Mr_   Úrindexc                 ón   — t          |d¦  «         t          |d¦  «         t          |d¦  «         dd„}|S )zImplements str.rindex()r�  rŽ  ÚsubNc                 ó^   — |                       |||¦  «        }|dk     rt          d¦  «        ‚|S ©Nr   zsubstring not found)rª  r   ©rñ   r²  r�  rŽ  Úresults        r^   Úrindex_implz#unicode_rindex.<locals>.rindex_impl  s4   € Ø—’˜˜e SÑ)Ô)ˆØ�AŠ:ˆ:ÝÐ2Ñ3Ô3Ð3àˆr_   r¢  ©r  r�  )rñ   r²  r�  rŽ  r·  s        r^   Úunicode_rindexr¹    sP   € õ ˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜3 Ñ&Ô&Ð&ðð ð ð ð Ðr_   rl   c                 ón   — t          |d¦  «         t          |d¦  «         t          |d¦  «         dd„}|S )zImplements str.index()r�  rŽ  r²  Nc                 ó^   — |                       |||¦  «        }|dk     rt          d¦  «        ‚|S r´  )r¤  r   rµ  s        r^   Ú
index_implz!unicode_index.<locals>.index_impl/  s4   € Ø—’˜˜U CÑ(Ô(ˆØ�AŠ:ˆ:ÝÐ2Ñ3Ô3Ð3àˆr_   r¢  r¸  )rñ   r²  r�  rŽ  r¼  s        r^   Úunicode_indexr½  (  sP   € õ ˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜3 Ñ&Ô&Ð&ðð ð ð ð Ðr_   Ú	partitionc                 ó6  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          j        f}|�6t          ||¦  «        s&d                     d||¦  «        }t          |¦  «        ‚d„ }|S )zImplements str.partition()Nrv  Úsepc                 óx  — t          |¦  «        }t          | j        d| j        ¦  «        }t	          |¦  «        }| j        |j        k     st	          | ¦  «        |k     r| ||fS |dk    rt          d¦  «        ‚|                      |¦  «        }|dk     r| ||fS | d|…         || ||z   t	          | ¦  «        …         fS ©Nr   úempty separator)r?  rò   rf   rg   r@  r   r¤  ©rL   rÀ  Ú	empty_strÚ
sep_lengthÚposs        r^   r¡  zunicode_partition.<locals>.implJ  sÀ   € å�#‰hŒhˆÝ! $¤*¨a°´Ñ@Ô@ˆ	Ý˜‘X”Xˆ
ØŒ:˜œ	Ò!Ð!¥S¨¡Y¤Y°Ò%;Ð%;Ø˜ IÐ-Ð-à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/à�iŠi˜‰nŒnˆØ�Š7ˆ7Ø˜ IÐ-Ð-à�A�c�EŒ{˜C  c¨JÑ&6µs¸4±y´yÐ&@Ô!AÐAÐAr_   ©
r:  r   rw  r€   rH  r‘   r;  rJ  rz  r!   ©rL   rÀ  r}  r~  r0  r¡  s         r^   Úunicode_partitionrÊ  :  ó¤   € ð €Eå�#•u”}Ñ%Ô%ð Ø”	ˆˆå	�C�œÑ	(Ô	(ð Ø”ˆåÔ!¥5Ô#7Ð8€HØÐ¥¨E°8Ñ!<Ô!<ÐØ'×.Ò.¨u°hÀÑDÔDˆÝ˜#ÑÔÐðBð Bð Bð" €Kr_   Úcountc                 óà   — t          |¦  «         t          |¦  «         t          |t          j        ¦  «        rdd„}|S d}t	          |                     t          |¦  «        ¦  «        ¦  «        ‚)Nc                 ób  — d}t          | ¦  «        }t          |¦  «        }t          ||d¦  «        }t          |||¦  «        }||z
  dk     s||k    rdS | ||…         } t          | ¦  «        }d|}}|dk    r|dz   S ||z   |k    r*| |||z   …         |k    r|dz  }||z  }n|dz  }||z   |k    °*|S ©Nr   r}   )r@  Ú_normalize_slice_idx_count)Úsrcr²  r�  rŽ  rÌ  Úsrc_lenÚsub_lens          r^   Ú
count_implz!unicode_count.<locals>.count_imple  sì   € ØˆEÝ˜#‘h”hˆGÝ˜#‘h”hˆGå.¨u°g¸qÑAÔAˆEÝ,¨S°'¸7ÑCÔCˆCà�U‰{˜QŠˆ %¨'¢/ /Ø�qà�e˜c�kÔ"ˆCÝ˜#‘h”hˆGØ˜G�3ˆEØ˜!Š|ˆ|Ø ‘{Ð"à˜7‘? gÒ-Ð-Ø�u˜u w™Ð.Ô/°3Ò6Ð6Ø˜Q‘J�EØ˜WÑ$�E�Eà˜Q‘J�Eð ˜7‘? gÒ-Ð-ð ˆLr_   z+The substring must be a UnicodeType, not {}r¢  )Ú_count_args_types_checkr:  r   r;  r!   rz  r‘   )rÑ  r²  r�  rŽ  rÔ  Ú	error_msgs         r^   Úunicode_countr×  ^  sx   € õ ˜EÑ"Ô"Ð"Ý˜CÑ Ô Ð å�#•uÔ(Ñ)Ô)ð ð	ð 	ð 	ð 	ð0 ÐØ=€IÝ
�i×&Ò&¥t¨C¡y¤yÑ1Ô1Ñ
2Ô
2Ð2r_   Ú
rpartitionc                 ó6  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          j        f}|�6t          ||¦  «        s&d                     d||¦  «        }t          |¦  «        ‚d„ }|S )zImplements str.rpartition()Nrv  rÀ  c                 óx  — t          |¦  «        }t          | j        d| j        ¦  «        }t	          |¦  «        }| j        |j        k     st	          | ¦  «        |k     r||| fS |dk    rt          d¦  «        ‚|                      |¦  «        }|dk     r||| fS | d|…         || ||z   t	          | ¦  «        …         fS rÂ  )r?  rò   rf   rg   r@  r   rª  rÄ  s        r^   r¡  z unicode_rpartition.<locals>.impl“  sÀ   € å�#‰hŒhˆÝ! $¤*¨a°´Ñ@Ô@ˆ	Ý˜‘X”Xˆ
ØŒ:˜œ	Ò!Ð!¥S¨¡Y¤Y°Ò%;Ð%;Ø˜i¨Ð-Ð-à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/à�jŠj˜‰oŒoˆØ�Š7ˆ7Ø˜i¨Ð-Ð-à�A�c�EŒ{˜C  c¨JÑ&6µs¸4±y´yÐ&@Ô!AÐAÐAr_   rÈ  rÉ  s         r^   Úunicode_rpartitionrÛ  ƒ  rË  r_   c                 óf   — || k    r| }|dk     r|| z  }|dk     rd}|dk     r|| z  }|dk     rd}||fS rí   rc   )rM   r�  rŽ  s      r^   rž  rž  ¨  sZ   € à
ˆV‚|€|ØˆØ
ˆQ‚w€wØˆv‰ˆØ�Š7ˆ7ØˆCØˆq‚y€yØ�‰ˆØ�1Š9ˆ9ØˆEà�#ˆ:Ðr_   Ú
startswithc                 óþ  — t          |¦  «        s)t          |t          j        ¦  «        st	          d¦  «        ‚t          |¦  «        s)t          |t          j        ¦  «        st	          d¦  «        ‚t          |t          j        ¦  «        r%t          |j        t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t	          d¦  «        ‚)Nz:When specified, the arg 'start' must be an Integer or Nonez8When specified, the arg 'end' must be an Integer or Nonec                 óD   — |D ]}|                       |||¦  «        r dS ŒdS ©NTF)rÝ  )rñ   Úprefixr�  rŽ  Úitems        r^   Ústartswith_tuple_implz1unicode_startswith.<locals>.startswith_tuple_implÅ  s:   € Øð  ð  �Ø—<’<  e¨SÑ1Ô1ð  Ø˜4˜4ð à�5r_   c                 óJ   — |                       t          |¦  «        ||¦  «        S r�   )rÝ  r?  )rñ   rá  r�  rŽ  s       r^   Ústartswith_char_seq_implz4unicode_startswith.<locals>.startswith_char_seq_implÎ  s   € Ø—<’<¥ F¡¤¨U°CÑ8Ô8Ð8r_   c                 óÞ   — t          | ¦  «        t          |¦  «        }}|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS |dk    rdS | ||…         }t          |d|d|¦  «        dk    S ©Nr   FT©r@  rž  r+  )rñ   rá  r�  rŽ  rM   Úprefix_lengthÚs_slices          r^   Ústartswith_unicode_implz3unicode_startswith.<locals>.startswith_unicode_implÔ  sŒ   € Ý$'¨¡F¤F­C°©K¬K�MˆFØˆ}Ø�Øˆ{Ø�å(¨°¸Ñ<Ô<‰JˆE�3Ø�U‰{˜]Ò*Ð*Ø�uà Ò!Ð!Ø�tà˜˜c˜	”lˆGå˜w¨¨6°1°mÑDÔDÈÒIÐIr_   z9The arg 'prefix' should be a string or a tuple of stringsr¢  )	r   r:  r   rx  r!   ÚUniTupleÚdtyper;  rJ  )rñ   rá  r�  rŽ  rã  rå  rë  s          r^   Úunicode_startswithrî  ¸  sK  € å�uÑÔð J¥j°½¼Ñ&FÔ&Fð JÝØHñJô Jð 	Jõ �sÑÔð H¥J¨sµE´MÑ$BÔ$Bð HÝØFñHô Hð 	Hõ �&�%œ.Ñ)Ô)ð (IÝ�v”|¥UÔ%6Ñ7Ô7ð(Ið	ð 	ð 	ð 	ð %Ð$å	�F�EÔ0Ñ	1Ô	1ð Ið	9ð 	9ð 	9ð 	9ð (Ð'å	�F�EÔ-Ñ	.Ô	.ð Ið	Jð 	Jð 	Jð 	Jð$ 'Ð&õ ØGñIô Ið 	Ir_   Úendswithc                 óæ  — |�@t          |t          j        t          j        t          j        f¦  «        st          d¦  «        ‚|�@t          |t          j        t          j        t          j        f¦  «        st          d¦  «        ‚t          |t          j        t          j        f¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t          |t          j	        ¦  «        rdd„}|S d S )Nz!The arg must be a Integer or Nonec                 óH   — |D ]}|                       |||¦  «        du r dS ŒdS rà  )rï  )rñ   rŒ  r�  rŽ  râ  s        r^   Úendswith_implz'unicode_endswith.<locals>.endswith_implú  s?   € Øð  ð  �Ø—:’:˜d E¨3Ñ/Ô/°4Ð7Ð7Ø˜4˜4ð 8ð �5r_   c                 ó  — t          | ¦  «        }t          |¦  «        }|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS |dk    rdS | ||…         } t          | ¦  «        |z
  }t          | ||d|¦  «        dk    S rç  rè  )rñ   rŒ  r�  rŽ  rM   rŸ  rÐ   s          r^   rò  z'unicode_endswith.<locals>.endswith_impl  s›   € Ý˜‘V”VˆFÝ˜V™œˆJØˆ}Ø�Øˆ{Ø�å(¨°¸Ñ<Ô<‰JˆE�3Ø�U‰{˜ZÒ'Ð'Ø�uà˜QŠˆØ�tà�%˜�)”ˆAÝ˜‘V”V˜jÑ(ˆFå˜q &¨&°!°ZÑ@Ô@ÀAÒEÐEr_   c                 óJ   — |                       t          |¦  «        ||¦  «        S r�   )rï  r?  )rñ   rŒ  r�  rŽ  s       r^   rò  z'unicode_endswith.<locals>.endswith_impl  s   € Ø—:’:�c &™kœk¨5°#Ñ6Ô6Ð6r_   r¢  )
r:  r   rw  rx  ry  r!   ÚTuplerì  r;  rJ  )rñ   rŒ  r�  rŽ  rò  s        r^   Úunicode_endswithrö  í  s  € àˆM�Z¨µ´Ý05´Ý05´ð0@ñ Aô AˆMõ Ð=Ñ>Ô>Ð>àˆK�: c­E¬MÝ,1¬MÝ,1¬Nð,<ñ =ô =ˆKõ Ð=Ñ>Ô>Ð>å�&�5œ;­¬Ð7Ñ8Ô8ð ð	ð 	ð 	ð 	ð Ðå�&�%Ô+Ñ,Ô,ð ð	Fð 	Fð 	Fð 	Fð& Ðå�&�%Ô.Ñ/Ô/ð ð	7ð 	7ð 	7ð 	7àÐðð r_   Ú
expandtabsrÌ   c                 ó(  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          f}|�3t          ||¦  «        s#t          d 	                    ||¦  «        ¦  «        ‚dd„}|S )zImplements str.expandtabs()Nz"tabsize" must be {}, not {}rÌ   c                 ó  — t          | ¦  «        }dx}}d}t          |¦  «        D ]˜}t          | |¦  «        }|t          k    r=d}|dk    r4|||z  z
  }|t          j        |z
  k    rt          d¦  «        ‚||z  }||z  }ŒZ|t          j        dz
  k    rt          d¦  «        ‚|dz  }|dz  }|t          t          fv rd}Œ™|s| S t          | j
        || j        ¦  «        }	dx}}t          |¦  «        D ]�}t          | |¦  «        }|t          k    rE|dk    r>|||z  z
  }||z  }t          |||z   ¦  «        D ]}
t          |	|
t          ¦  «         Œ||z  }Œb|dz  }t          |	||¦  «         |dz  }|t          t          fv rd}Œ�|	S )Nr   FTznew string is too longr}   )r@  r$  r÷   r:   ÚsysÚmaxsizeÚOverflowErrorr;   r<   rò   rf   rg   rî   r=   )rL   ÚtabsizerM   r”  Úline_posÚfoundrö   Ú
code_pointÚincrr¶   rÃ   s              r^   Úexpandtabs_implz+unicode_expandtabs.<locals>.expandtabs_impl/  sß  € Ý�T‘”ˆØÐˆˆHØˆÝ�v‘”ð 	!ð 	!ˆAÝ(¨¨qÑ1Ô1ˆJØ�WÒ$Ð$Ø�Ø˜Q’;�;à" h°Ñ&8Ñ9�DØ�3œ;¨Ñ-Ò-Ð-Ý+Ð,DÑEÔEÐEØ Ñ$�HØ˜‘I�Aøà•s”{ Q‘Ò&Ð&Ý'Ð(@ÑAÔAÐAØ˜A‘�Ø�Q‘�Ø¥,Õ0CÐ!DÐDÐDØ �Høàð 	ØˆKå˜DœJ¨¨4¬>Ñ:Ô:ˆØÐˆˆHÝ�v‘”ð 	!ð 	!ˆAÝ(¨¨qÑ1Ô1ˆJØ�WÒ$Ð$Ø˜Q’;�;Ø" h°Ñ&8Ñ9�DØ Ñ$�HÝ$ Q¨¨D©Ñ1Ô1ð =ð =˜Ý'¨¨Sµ)Ñ<Ô<Ð<Ð<Ø˜‘I�Aøà˜A‘�Ý  Q¨
Ñ3Ô3Ð3Ø�Q‘�Ø¥,Õ0CÐ!DÐDÐDØ �Høàˆ
r_   ©rÌ   )
r:  r   rw  r€   rH  r‘   rx  Úintr!   rz  )rL   rý  r}  r~  r  s        r^   Úunicode_expandtabsr    s§   € ð €Eå�'�5œ=Ñ)Ô)ð Ø”ˆˆå	�G�Uœ^Ñ	,Ô	,ð Ø”ˆå”�sÐ#€HØÐ¥¨E°8Ñ!<Ô!<ÐÝØ*×1Ò1°(¸GÑDÔDñFô Fð 	Fð,ð ,ð ,ð ,ð\ Ðr_   Úsplitr�   c                 ó^  — |dk    s3t          |t          j        t          j        t          j        f¦  «        sd S t          |t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S |�+t          |t          j        ¦  «        st          |dd¦  «        €dd„}|S d S )Nr�   c                 óJ   — |                       t          |¦  «        |¬¦  «        S )N)Úmaxsplit)r  r?  )rõ   rÀ  r	  s      r^   Ú
split_implz!unicode_split.<locals>.split_implh  s   € Ø—7’7�3˜s™8œ8¨h�7Ñ7Ô7Ð7r_   c                 ó`  — t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚g }d}d}|dk    r_|dk    rYt          |d¦  «        }t          |¦  «        D ]8}t          | |¦  «        |k    r"|                     | ||…         ¦  «         |dz   }Œ9nld}	||k     rd|dk    s|	|k     rXt          | ||d|¦  «        dk    r*|                     | ||…         ¦  «         ||z  }|}|	dz  }	n|dz  }||k     r|dk    °R|	|k     °X||k    r|                     | |d …         ¦  «         |S )Nr   rÃ  r}   r�   )r@  r   r÷   r$  Úappendr+  )
rõ   rÀ  r	  Úa_lenÚsep_lenÚpartsr’  rÃ   Úsep_code_pointÚsplit_counts
             r^   r
  z!unicode_split.<locals>.split_implm  su  € Ý˜‘F”FˆEÝ˜#‘h”hˆGà˜!Š|ˆ|Ý Ð!2Ñ3Ô3Ð3àˆEØˆDØˆCà˜!Š|ˆ| ¨B¢ Ý!0°°aÑ!8Ô!8�Ý  ™<œ<ð 'ð '�CÝ& q¨#Ñ.Ô.°.Ò@Ð@ØŸš Q t¨C x¤[Ñ1Ô1Ð1Ø" Q™w˜øð'ð
  �à˜E’k�k x°2¢~ ~Ø'2°XÒ'=Ð'=Ý" 1 c¨3°°7Ñ;Ô;¸qÒ@Ð@ØŸš Q t¨C x¤[Ñ1Ô1Ð1Ø˜w™˜Ø"˜Ø# qÑ(˜˜à˜q™˜ð ˜E’k�k x°2¢~ ~Ø'2°XÒ'=Ð'=ð �uŠ}ˆ}Ø—’˜Q˜t˜u˜uœXÑ&Ô&Ð&àˆLr_   r€   Fc                 ób  — t          | ¦  «        }g }d}d}d}d}t          |¦  «        D ]`}t          | |¦  «        }	t          |	¦  «        }
|r|
rŒ&|}d}Œ+|
sŒ.|                     | ||…         ¦  «         d}|dz  }|dk    r||k    r nŒa||k    r|s|                     | |d …         ¦  «         |S )Nr   TFr}   r�   )r@  r$  r÷   r+   r  )rõ   rÀ  r	  r  r  r’  rÃ   r  Úin_whitespace_blockr   Úis_whitespaces              r^   Úsplit_whitespace_implz,unicode_split.<locals>.split_whitespace_impl’  sô   € Ý˜‘F”FˆEàˆEØˆDØˆCØˆKØ"&Ðå˜U‘|”|ð "ð "�Ý,¨Q°Ñ4Ô4�
Ý 2°:Ñ >Ô >�Ø&ð "Ø$ð 4Øà"˜Ø.3Ð+Ð+à(ð "ØàŸš Q t¨C x¤[Ñ1Ô1Ð1Ø.2Ð+Ø# qÑ(˜Ø# rš>˜>¨k¸XÒ.EÐ.EØ!˜Eøà�uŠ}ˆ}Ð%8ˆ}Ø—’˜Q˜t˜u˜uœXÑ&Ô&Ð&àˆLr_   rq  )	r:  r   rw  rx  ÚIntegerLiteralrJ  r;  ry  Úgetattr)rõ   rÀ  r	  r
  r  s        r^   Úunicode_splitr  `  sè   € à˜ŠNˆNÝ�x¥%¤-µ´Ý"'Ô"6ð"8ñ 9ô 9ð ð ˆtå�#•uÔ+Ñ,Ô,ð ð	8ð 	8ð 	8ð 	8àÐå�#•uÔ(Ñ)Ô)ð F%ð!	ð !	ð !	ð !	ðD ÐØ	ˆ�
 3­¬Ñ7Ô7ˆÝ�C˜ %Ñ(Ô(Ð0ð	ð 	ð 	ð 	ð@ %Ð$ðC 1Ð0r_   c                 ó   ‡ — dˆ fd„	}|S )z@Generate whitespace rsplit func based on either ascii or unicodeNr�   c                 óP  •— |dk     rt           j        }g }t          | ¦  «        dz
  }|dk    r–|dk    r't          | |¦  «        } ‰|¦  «        sn|dz  }|dk    °'|dk     rnb|}|dz  }|dk    r't          | |¦  «        } ‰|¦  «        rn|dz  }|dk    °'|                     | |dz   |dz   …         ¦  «         |dz  }|dk    °–|dk    rS|dk    r't          | |¦  «        } ‰|¦  «        sn|dz  }|dk    °'|dk    r |                     | d|dz   …         ¦  «         |d d d…         S ©Nr   r}   r�   )rú  rû  r@  r÷   r  )rL   rÀ  r	  r¶  rö   r   r”  Úisspace_funcs          €r^   Úrsplit_whitespace_implz?generate_rsplit_whitespace_impl.<locals>.rsplit_whitespace_impl¸  sŽ  ø€ à�aŠ<ˆ<Ý”{ˆHàˆÝ�‰IŒI˜‰MˆØ˜ŠlˆlØ�q’&�&Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð ØØ�Q‘�ð	 �q’&�&ð
 �1ŠuˆuØØˆAØ�‰FˆAØ�q’&�&Ý,¨T°1Ñ5Ô5�
Ø�< 
Ñ+Ô+ð ØØ�Q‘�ð	 �q’&�&ð
 �MŠM˜$˜q 1™u Q¨¡U˜{Ô+Ñ,Ô,Ð,Ø˜‰MˆHð! ˜Šlˆlð$ �Š6ˆ6ð �q’&�&Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð ØØ�Q‘�ð	 �q’&�&ð
 �AŠvˆvØ—’˜d 1 Q¨¡U 7œmÑ,Ô,Ð,à�d�d˜�dŒ|Ðr_   rq  rc   )r  r  s   ` r^   Úgenerate_rsplit_whitespace_implr  µ  s*   ø€ ð$ð $ð $ð $ð $ð $ðL "Ð!r_   Úrsplitc                 ó  — d„ } ||dt           j        t           j        t           j        f¦  «          ||dt           j        t
          f¦  «         |�&t          |t           j        t           j        f¦  «        rdd„}|S dd„}|S )	zImplements str.unicode_rsplit()c                 ó   — | }t          | t          j        ¦  «        r| j        }n!t          | t          j        ¦  «        r| j        }|�4t          ||¦  «        s&t          d                     ||| ¦  «        ¦  «        ‚dS dS )z.Check object belongs to one of specified typesNrv  )r:  r   rw  r€   rH  r‘   r!   rz  )r{  r|  r~  r}  s       r^   Ú_unicode_rsplit_check_typez2unicode_rsplit.<locals>._unicode_rsplit_check_typeì  sŒ   € àˆå�b�%œ-Ñ(Ô(ð 	Ø”HˆEˆEå˜�EœNÑ+Ô+ð 	Ø”GˆEàÐ¥Z°°xÑ%@Ô%@ÐÝØ)×0Ò0°°xÀÑDÔDñFô Fð Fð ÐÐÐr_   rÀ  r	  Nr�   c                 óT   — | j         rt          | ||¦  «        S t          | ||¦  «        S r�   )rg   Úascii_rsplit_whitespace_implÚunicode_rsplit_whitespace_impl)rL   rÀ  r	  s      r^   r  z.unicode_rsplit.<locals>.rsplit_whitespace_impl  s1   € ØŒ~ð IÝ3°D¸#¸xÑHÔHÐHÝ1°$¸¸XÑFÔFÐFr_   c                 ó4  — t          |¦  «        }| j        |j        k     s t          | ¦  «        t          |¦  «        k     r| gS d„ }|dk     rt          j        }t          |¦  «        }|dk    rt          d¦  «        ‚|dk    r || ||¦  «        S g }t          | ¦  «        }|dk    rL|                      |d|¬¦  «        }|dk     rn-|                     | ||z   |…         ¦  «         |}|dz  }|dk    °L|                     | d|…         ¦  «         |d d d…         S )Nc                 ót  — g }t          |d¦  «        }t          | ¦  «        dz
  x}}|dk    r\|dk    rVt          | |¦  «        }||k    r/|                     | |dz   |dz   …         ¦  «         |dz
  x}}|dz  }|dz  }|dk    r|dk    °V|dk    r |                     | d|dz   …         ¦  «         |d d d…         S r  )r÷   r@  r  )rL   rÅ   r	  r¶  Úch_code_pointrö   r”  Údata_code_points           r^   Ú_rsplit_charz9unicode_rsplit.<locals>.rsplit_impl.<locals>._rsplit_char  sã   € àˆFÝ+¨B°Ñ2Ô2ˆMÝ˜‘I”I ‘MÐ!ˆA�Ø�q’&�&˜X¨š\˜\Ý"1°$¸Ñ":Ô":�Ø" mÒ3Ð3Ø—M’M $ q¨1¡u¨q°1©u }Ô"5Ñ6Ô6Ð6Ø ™E�M�A˜Ø ‘M�HØ�Q‘�ð �q’&�&˜X¨š\˜\ð �BŠwˆwØ—’˜d 1 q¨1¡u 9œoÑ.Ô.Ð.à˜$˜$˜B˜$”<Ðr_   r   rÃ  r}   )r�  rŽ  r�   )r?  rf   r@  rú  rû  r   rª  r  )rL   rÀ  r	  r*  rÆ  r¶  r”  rÇ  s           r^   Úrsplit_implz#unicode_rsplit.<locals>.rsplit_impl  s<  € Ý�#‰hŒhˆàŒ:˜œ	Ò!Ð!¥S¨¡Y¤Yµ°S±´Ò%9Ð%9Ø�6ˆMð	 ð 	 ð 	 ð" �aŠ<ˆ<Ý”{ˆHå˜‘X”Xˆ
à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/Ø˜Š?ˆ?Ø�<  c¨8Ñ4Ô4Ð4àˆÝ�‰IŒIˆØ˜ŠlˆlØ—*’*˜S¨¨q�*Ñ1Ô1ˆCØ�QŠwˆwØØ�MŠM˜$˜s ZÑ/°Ð1Ô2Ñ3Ô3Ð3ØˆAØ˜‰MˆHð ˜Šlˆlð 	�Š�d˜1˜Q˜3”iÑ Ô Ð à�d�d˜�dŒ|Ðr_   rq  )r   r;  rJ  ry  rx  r  r:  rw  )rL   rÀ  r	  r"  r  r+  s         r^   Úunicode_rsplitr,  è  s»   € ðFð Fð Fð Ð˜s E­EÔ,=Ý,1Ô,@Ý,1¬Nð,<ñ =ô =ð =ð Ð˜x¨µe´mÅSÐ5IÑJÔJÐJà
€{•j ¥u¤~µu´}Ð&EÑFÔF€{ð	Gð 	Gð 	Gð 	Gð
 &Ð%ð-ð -ð -ð -ð^ Ðr_   Úcenterú c                 ó  — t          |t          j        ¦  «        st          d¦  «        ‚t          |t          j        ¦  «        rdd„}|S |dk    s5t          |t          j        t          j        f¦  «        st          d¦  «        ‚dd„}|S )NúThe width must be an Integerr.  c                 óH   — |                       |t          |¦  «        ¦  «        S r�   )r-  r?  ©ÚstringÚwidthÚfillchars      r^   Úcenter_implz#unicode_center.<locals>.center_impl@  s   € Ø—=’= ­¨H©¬Ñ6Ô6Ð6r_   ú"The fillchar must be a UnicodeTypec                 óä   — t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚||k    r| S ||z
  }|dz  ||z  dz  z   }||z
  }||z  }||k    r|| z   |z   S || z   ||z  z   S )Nr}   ú5The fill character must be exactly one character longr  ©r@  r   )	r3  r4  r5  Ústr_lenÚfillchar_lenÚ	allmarginÚlmarginÚrmarginÚl_strings	            r^   r6  z#unicode_center.<locals>.center_implH  s±   € Ý�f‘+”+ˆÝ˜8‘}”}ˆà˜1ÒÐÝð .ñ /ô /ð /ð �GÒÐØˆMà˜G‘Oˆ	Ø ‘> i°%Ñ&7¸!Ñ&;Ñ<ˆØ˜gÑ%ˆà˜gÑ%ˆØ�gÒÐØ˜fÑ$ xÑ/Ð/à˜fÑ$¨°7Ñ(:Ñ;Ð;r_   ©r.  ©r:  r   rx  r!   rJ  rw  r;  )r3  r4  r5  r6  s       r^   Úunicode_centerrC  :  s¤   € å�e�Uœ]Ñ+Ô+ð :ÝÐ8Ñ9Ô9Ð9å�(�EÔ0Ñ1Ô1ð ð	7ð 	7ð 	7ð 	7àÐà˜ŠOˆOÝ�x¥%¤-µÔ1BÐ!CÑDÔDð åÐ>Ñ?Ô?Ð?ð<ð <ð <ð <ð* Ðr_   c                 ó   ‡ — dˆ fd„	}|S )Nr.  c                 ó,  •— t          |t          j        ¦  «        st          d¦  «        ‚t          |t          j        ¦  «        r‰rdd„}|S dd„}|S |dk    s5t          |t          j        t          j        f¦  «        st          d¦  «        ‚dˆfd„	}|S )Nr0  r.  c                 óH   — |                       |t          |¦  «        ¦  «        S r�   )Úljustr?  r2  s      r^   Ú
ljust_implz<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.ljust_implg  ó   € Ø!Ÿ<š<¨­s°8©}¬}Ñ=Ô=Ð=r_   c                 óH   — |                       |t          |¦  «        ¦  «        S r�   )Úrjustr?  r2  s      r^   Ú
rjust_implz<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.rjust_implk  rI  r_   r7  c                 ó¢   •— t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚||k    r| S |||z
  z  }‰r| |z   S || z   S )Nr}   r9  r:  )r3  r4  r5  r;  r<  ÚnewstrÚSTRING_FIRSTs         €r^   r¡  z6gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.impls  sw   ø€ Ý˜&‘k”kˆGÝ˜x™=œ=ˆLà˜qÒ Ð Ý ð "2ñ 3ô 3ð 3ð ˜ÒÐØ�à %¨'¡/Ñ2ˆFØð 'Ø ‘Ð&à ‘Ð&r_   rA  rB  )r3  r4  r5  rH  rL  r¡  rO  s         €r^   Úunicode_Xjustz(gen_unicode_Xjust.<locals>.unicode_Xjusta  sÐ   ø€ Ý˜%¥¤Ñ/Ô/ð 	>ÝÐ<Ñ=Ô=Ð=å�h¥Ô 4Ñ5Ô5ð 	"Øð "ð>ð >ð >ð >à!Ð!ð>ð >ð >ð >à!Ð!à˜C’�Ý˜8¥e¤mµUÔ5FÐ%GÑHÔHð  åÐBÑCÔCÐCð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð" ˆr_   rA  rc   )rO  rP  s   ` r^   Úgen_unicode_XjustrQ  `  s*   ø€ ð#ð #ð #ð #ð #ð #ðJ Ðr_   rK  rG  Tc                 ó   ‡ — ˆ fd„}|S )zDGenerate splitlines performer based on ascii or unicode line breaks.c                 ó¢  •— t          | ¦  «        }g }dx}}||k     r²||k     r't          | |¦  «        } ‰
|¦  «        rn|dz  }||k     °'|}||k     rX|dz   |k     rFt          | |¦  «        }t          | |dz   ¦  «        }	t          |¦  «        rt          |	¦  «        r|dz  }|dz  }|r|}|                     | ||…         ¦  «         |}||k     °²|S rÏ  )r@  r÷   r6   r5   r  )rL   ÚkeependsrM   r¶  rö   r”  r   ÚeolÚcur_cpÚnext_cpÚis_line_break_funcs             €r^   r¡  z&generate_splitlines_func.<locals>.impl�  s  ø€ å�T‘”ˆØˆØˆ	ˆˆAØ�&Šjˆjà�f’*�*Ý,¨T°1Ñ5Ô5�
Ø%Ð% jÑ1Ô1ð ØØ�Q‘�ð	 �f’*�*ð ˆCØ�6ŠzˆzØ�q‘5˜6’>�>Ý,¨T°1Ñ5Ô5�FÝ-¨d°A¸±EÑ:Ô:�GÝ+¨FÑ3Ô3ð ½ÀwÑ8OÔ8Oð Ø˜Q™˜Ø�Q‘�Øð Ø�Cà�MŠM˜$˜q ˜uœ+Ñ&Ô&Ð&ØˆAð+ �&Šjˆjð. ˆr_   rc   )rX  r¡  s   ` r^   Úgenerate_splitlines_funcrY  �  s#   ø€ ðð ð ð ð ð< €Kr_   Ú
splitlinesc                 óL  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          t          j        t          f}|�4t          ||¦  «        s$t          d                     d||¦  «        ¦  «        ‚dd„}|S )zImplements str.splitlines()Nrv  rT  Fc                 óP   — | j         rt          | |¦  «        S t          | |¦  «        S r�   )rg   Ú_ascii_splitlinesÚ_unicode_splitlines)rL   rT  s     r^   Úsplitlines_implz+unicode_splitlines.<locals>.splitlines_implÆ  s,   € ØŒ>ð 	5Ý$ T¨8Ñ4Ô4Ð4å" 4¨Ñ2Ô2Ð2r_   ©F)r:  r   rw  r€   rH  r‘   rx  r  ÚBooleanÚboolr!   rz  )rL   rT  r}  r~  r_  s        r^   Úunicode_splitlinesrc  ¶  s®   € ð €Eå�(�EœMÑ*Ô*ð Ø”ˆˆå	�H�eœnÑ	-Ô	-ð Ø”ˆå”�s¥E¤Mµ4Ð8€HØÐ¥¨E°8Ñ!<Ô!<ÐÝØ%×,Ò,¨Z¸À8ÑLÔLñNô Nð 	Nð3ð 3ð 3ð 3ð Ðr_   c           
      óZ  — t          |¦  «        }|dk    rdS t          | ¦  «        }|dz
  |z  }| j        }| j        }|D ]>}|t          |¦  «        z  }t          ||j        ¦  «        }t	          ||j        ¦  «        }Œ?t          |||¦  «        }|d         }	t          |d|	dt          |	¦  «        ¦  «         t          |	¦  «        }
t          d|¦  «        D ]T}t          ||
| d|¦  «         |
|z  }
||         }	t          ||
|	dt          |	¦  «        ¦  «         |
t          |	¦  «        z  }
ŒU|S )Nr   Ú r}   )r@  rf   rg   r  r  rò   Ú_strncpyr$  )rÀ  r  Ú	parts_lenr  rM   rN   rO   Úpr¶  ÚpartÚ
dst_offsetrÃ   s               r^   Ú	join_listrk  Ï  s?  € å�E‘
”
€IØ�A‚~€~Øˆrõ �#‰hŒh€GØ˜!‰m˜wÑ&€FØŒ9€DØŒ}€HØð 6ð 6ˆØ•#�a‘&”&ÑˆÝ˜$ ¤Ñ(Ô(ˆÝ˜x¨¬Ñ5Ô5ˆˆå˜4 ¨Ñ2Ô2€Fð �Œ8€DÝˆV�Q˜˜a¥ T¡¤Ñ+Ô+Ð+Ý�T‘”€JÝ�Q˜	Ñ"Ô"ð  ð  ˆÝ�˜ S¨!¨WÑ5Ô5Ð5Ø�gÑˆ
Ø�SŒzˆÝ�˜ T¨1­c°$©i¬iÑ8Ô8Ð8Ø•c˜$‘i”iÑˆ
ˆ
à€Mr_   Újoinc                 óJ  — t          |t          j        ¦  «        rJt          |j        t          j        ¦  «        rd„ }|S t          |j        t          j        ¦  «        rd„ }|S d S t          |t          j        ¦  «        rd„ }|S t          |t          j        ¦  «        rd„ }|S d S )Nc                 ó"   — t          | |¦  «        S r�   ©rk  )rÀ  r  s     r^   Újoin_list_implz$unicode_join.<locals>.join_list_implô  s   € Ý   eÑ,Ô,Ð,r_   c                 ó:   — d„ |D ¦   «         }t          | |¦  «        S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS rc   ©r?  ©Ú.0rh  s     r^   ú
<listcomp>z8unicode_join.<locals>.join_list_impl.<locals>.<listcomp>ù  s   € Ð0Ð0Ð0 Q�#˜a™&œ&Ð0Ð0Ð0r_   ro  )rÀ  r  Ú_partss      r^   rp  z$unicode_join.<locals>.join_list_implø  s%   € Ø0Ð0¨%Ð0Ñ0Ô0�Ý   fÑ-Ô-Ð-r_   c                 óD   — d„ |D ¦   «         }|                       |¦  «        S )Nc                 ó   — g | ]}|‘ŒS rc   rc   rt  s     r^   rv  z8unicode_join.<locals>.join_iter_impl.<locals>.<listcomp>   s   € Ð+Ð+Ð+ ˜!Ð+Ð+Ð+r_   )rl  ©rÀ  r  Ú
parts_lists      r^   Újoin_iter_implz$unicode_join.<locals>.join_iter_implÿ  s'   € Ø+Ð+ UÐ+Ñ+Ô+ˆJØ—8’8˜JÑ'Ô'Ð'r_   c                 ót   ‡— ˆfd„t          t          ‰¦  «        ¦  «        D ¦   «         }t          | |¦  «        S )Nc                 ó    •— g | ]
}‰|         ‘ŒS rc   rc   )ru  rö   r  s     €r^   rv  z7unicode_join.<locals>.join_str_impl.<locals>.<listcomp>  s   ø€ Ð>Ð>Ð> q˜% œ(Ð>Ð>Ð>r_   )r$  r@  rk  rz  s    ` r^   Újoin_str_implz#unicode_join.<locals>.join_str_impl  s:   ø€ Ø>Ð>Ð>Ð>­Eµ#°e±*´*Ñ,=Ô,=Ð>Ñ>Ô>ˆJÝ˜S *Ñ-Ô-Ð-r_   )r:  r   ÚListrí  r;  rJ  ÚIterableType)rÀ  r  rp  r|  r  s        r^   Úunicode_joinr‚  ï  sÙ   € õ �%�œÑ$Ô$ð Ý�e”k¥5Ô#4Ñ5Ô5ð 
	ð-ð -ð -à!Ð!Ý˜œ¥UÔ%9Ñ:Ô:ð 	ð.ð .ð .ð "Ð!àˆDÝ	�E�5Ô-Ñ	.Ô	.ð 
ð	(ð 	(ð 	(ð ÐÝ	�E�5Ô,Ñ	-Ô	-ð ð	.ð 	.ð 	.ð Ððð r_   Úzfillc                 ó^   — t          |t          j        ¦  «        st          d¦  «        ‚d„ }|S )Nz<width> must be an Integerc                 ó�   — t          | ¦  «        }||k    r| S |r| d         nd}d||z
  z  }|dv r||z   | dd …         z   }n|| z   }|S )Nr   re  Ú0)ú+ú-r}   ©r@  )r3  r4  r;  Ú
first_charÚpaddingrN  s         r^   Ú
zfill_implz!unicode_zfill.<locals>.zfill_impl  sp   € å�f‘+”+ˆà�GÒÐØˆMà")Ð1�V˜A”Y�Y¨rˆ
Ø˜ ™Ñ)ˆà˜Ð#Ð#Ø 'Ñ)¨F°1°2°2¬JÑ6ˆFˆFà˜vÑ%ˆFàˆr_   )r:  r   rx  r!   )r3  r4  rŒ  s      r^   Úunicode_zfillr�    s<   € å�e�Uœ]Ñ+Ô+ð 8ÝÐ6Ñ7Ô7Ð7ðð ð ð" Ðr_   c                 óÄ   — t          | ¦  «        }d}|�!t          |¦  «        D ]}| |         |vr|c S Œn+t          |¦  «        D ]}t          | |         ¦  «        s|c S Œ|S rí   ©r@  r$  r+   ©r3  Úcharsr;  rö   s       r^   Úunicode_strip_left_boundr’  '  s�   € å�&‰kŒk€Gà	€AØÐÝ�w‘”ð 	ð 	ˆAØ�aŒy Ð%Ð%Ø���ð &ð	õ �w‘”ð 	ð 	ˆAÝ% f¨Q¤iÑ0Ô0ð Ø���ðð €Nr_   c                 óä   — t          | ¦  «        }d}|�)t          |dz
  dd¦  «        D ]}| |         |vr|dz  } nŒn3t          |dz
  dd¦  «        D ]}t          | |         ¦  «        s|dz  } nŒ|S r  r�  r�  s       r^   Úunicode_strip_right_boundr”  8  s©   € å�&‰kŒk€GØ	€AØÐÝ�w ‘{ B¨Ñ+Ô+ð 	ð 	ˆAØ�aŒy Ð%Ð%Ø�Q‘�Ø�ð &øõ �w ‘{ B¨Ñ+Ô+ð 	ð 	ˆAÝ% f¨Q¤iÑ0Ô0ð Ø�Q‘�Ø�ðð €Hr_   c                 óÐ   — t          | t          j        ¦  «        r| j        } | �@t          | t          j        t          j        t          j        f¦  «        st          d¦  «        ‚d S d S )Nz%The arg must be a UnicodeType or None)r:  r   rH  r‘   rw  r;  ry  r!   )r‘  s    r^   Úunicode_strip_types_checkr–  J  se   € Ý�%�œÑ(Ô(ð Ø”
ˆØˆM�Z¨µ´Ý05Ô0AÝ05´ð0@ñ Aô AˆMõ ÐAÑBÔBÐBð ˆMˆMˆMr_   c                 óÐ   — t          | t          j        ¦  «        r| j        } | �@t          | t          j        t          j        t          j        f¦  «        st          d¦  «        ‚d S d S )Nz,The slice indices must be an Integer or None)r:  r   rH  r‘   rw  rx  ry  r!   )Úargs    r^   rÕ  rÕ  S  sa   € Ý�#•u”~Ñ&Ô&ð ØŒhˆØˆK�: c­E¬MÝ,1¬MÝ,1¬Nð,<ñ =ô =ˆKõ ÐHÑIÔIÐIð ˆKˆKˆKr_   Úlstripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r�   )r™  r?  ©r3  r‘  s     r^   Úlstrip_implz#unicode_lstrip.<locals>.lstrip_impl`  ó   € Ø—=’=¥ U¡¤Ñ,Ô,Ð,r_   c                 ó2   — | t          | |¦  «        d …         S r�   )r’  rœ  s     r^   r�  z#unicode_lstrip.<locals>.lstrip_implf  s   € ØÕ.¨v°uÑ=Ô=Ð>Ð>Ô?Ð?r_   r�   ©r:  r   rJ  r–  )r3  r‘  r�  s      r^   Úunicode_lstripr¡  \  s_   € õ �%�Ô-Ñ.Ô.ð ð	-ð 	-ð 	-ð 	-àÐå˜eÑ$Ô$Ð$ð@ð @ð @ð @àÐr_   Úrstripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r�   )r¢  r?  rœ  s     r^   Úrstrip_implz#unicode_rstrip.<locals>.rstrip_implo  rž  r_   c                 ó2   — | d t          | |¦  «        …         S r�   )r”  rœ  s     r^   r¥  z#unicode_rstrip.<locals>.rstrip_implu  s   € ØÐ?Õ0°¸Ñ?Ô?Ð?Ô@Ð@r_   r�   r   )r3  r‘  r¥  s      r^   Úunicode_rstripr§  k  s_   € õ �%�Ô-Ñ.Ô.ð ð	-ð 	-ð 	-ð 	-àÐå˜eÑ$Ô$Ð$ðAð Að Að AàÐr_   Ústripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r�   )r¨  r?  rœ  s     r^   Ú
strip_implz!unicode_strip.<locals>.strip_impl~  s   € Ø—<’<¥ E¡
¤
Ñ+Ô+Ð+r_   c                 óV   — t          | |¦  «        }t          | |¦  «        }| ||…         S r�   )r’  r”  )r3  r‘  ÚlbÚrbs       r^   r«  z!unicode_strip.<locals>.strip_impl„  s.   € Ý% f¨eÑ4Ô4ˆÝ& v¨uÑ5Ô5ˆØ�b˜�eŒ}Ðr_   r�   r   )r3  r‘  r«  s      r^   Úunicode_stripr¯  z  s]   € õ �%�Ô-Ñ.Ô.ð ð	,ð 	,ð 	,ð 	,àÐå˜eÑ$Ô$Ð$ðð ð ð ð Ðr_   c                 ób   — | €|rdS |S | dk     r| |z  } | dk     s| |k    rt          d¦  «        ‚| S )a%  
    Parameters
    ----------
    idx : int or None
        the index
    length : int
        the string length
    is_start : bool; optional with defaults to True
        Is it the *start* or the *stop* of the slice?

    Returns
    -------
    norm_idx : int
        normalized index
    Nr   zstring index out of range)Ú
IndexError)rÃ   rM   Úis_starts      r^   Únormalize_str_idxr³  �  sR   € ð" €{Øð 	Ø�1àˆMØ	ˆqŠˆØˆv‰ˆà
ˆQ‚w€w�#˜’-�-ÝÐ4Ñ5Ô5Ð5à€Jr_   c                 óJ   — | €|S | | cxk    r|k     rn n| |z  S | dk     rdn| S )a%  
    Used for unicode_count

    If arg < -slice_len, returns 0 (prevents circle)

    If arg is within slice, e.g -slice_len <= arg < slice_len
    returns its real index via arg % slice_len

    If arg > slice_len, returns arg (in this case count must
    return 0 if it is start index)
    Nr   rc   )r˜  Ú	slice_lenÚdefaults      r^   rÐ  rÐ  ®  sN   € ð €{ØˆØ€z�SÐ$Ð$Ò$Ð$˜9Ò$Ð$Ð$Ð$Ð$Ø�Y‰ÐØ�a’�ˆ1ˆ1˜SÐ r_   c                 ó(   —  |||¦  «        }d„ }||fS )zFix slice object.
    c                 óÐ   — |j         \  }}|\  }}|                      |||¦  «        }t          j        | |||¦  «         t          j        |||¦  «         |                     ¦   «         S r�   )rÂ   Úmake_helperrC   Úguard_invalid_sliceÚ	fix_slicer’   )	r“   r”   rÑ   rÂ   Ú	slicetypeÚ
lengthtypeÚsliceobjrM   Úslices	            r^   rÇ   z!_normalize_slice.<locals>.codegenÉ  sk   € Ø"%¤(Ñˆ�JØ!Ñˆ�6Ø×#Ò# G¨Y¸ÑAÔAˆÝÔ# G¨W°iÀÑGÔGÐGÝÔ˜' 5¨&Ñ1Ô1Ð1Ø�ŠÑ Ô Ð r_   rc   )rÏ   r¾  rM   rÑ   rÇ   s        r^   Ú_normalize_slicerÀ  Ã  s0   € ð ˆ(�8˜VÑ
$Ô
$€Cð!ð !ð !ð �ˆ<Ðr_   c                 ó8   — t          j        |¦  «        }d„ }||fS )z2Compute the span from the given slice object.
    c                 óx   — |j         \  }|\  }|                      |||¦  «        }t          j        ||¦  «        }|S r�   )rÂ   r¹  rC   Úget_slice_length)r“   r”   rÑ   rÂ   r¼  r¾  r¿  Úresult_sizes           r^   rÇ   z_slice_span.<locals>.codegenÚ  sA   € Ø”h‰ˆØ‰
ˆØ×#Ò# G¨Y¸ÑAÔAˆÝÔ.¨w¸Ñ>Ô>ˆØÐr_   )r   rT   )rÏ   r¾  rÑ   rÇ   s       r^   Ú_slice_spanrÅ  Ô  s.   € õ Œ*�XÑ
Ô
€Cðð ð ð �ˆ<Ðr_   c           
      ó  — |j         | j         k    rDt          |j         ¦  «        }||z  }||z  }||z  }t          | j        ||j        ||d¬¦  «         d S t	          |¦  «        D ]'}	t          | ||	z   t          |||	z   ¦  «        ¦  «         Œ(d S )Nr}   )Úalign)rf   r�   r    rd   r$  rî   r÷   )
Údstrj  rÑ  Ú
src_offsetr(  Ú
byte_widthÚsrc_byte_offsetÚdst_byte_offsetr‰   rö   s
             r^   rf  rf  ä  sÈ   € à
„y�C”IÒÐÝ(¨¬Ñ3Ô3ˆ
Ø$ zÑ1ˆØ$ zÑ1ˆØ�Z‘ˆÝ�c”i °#´)Ø% v°Qð	8ñ 	8ô 	8ð 	8ð 	8ð 	8õ �q‘”ð 	Bð 	BˆAÝ˜C ¨a¡Ý+¨C°¸a±Ñ@Ô@ñBô Bð Bð Bð	Bð 	Br_   c                 óœ   — |t           j        k    sJ ‚d„ }t          j        t           j        t           j        t           j        ¦  «        }||fS )z_Create a slice of a unicode string using a view of its data to avoid
    extra allocation.
    c                 ó\  — |\  }}} t          j        t          j        ¦  «        | ||¬¦  «        } t          j        t          j        ¦  «        | |¦  «        }|j        |_        |j        |_        |j        |_        ||_        |                      t          d¦  «        |_
        | j                             t          ¦  «        }	|	                     | j        t          j        fi ¦  «        }
|                      |	|
¦  «        } |||j        f¦  «        }|                     ||¦  «        }|                     |j        |g¦  «        |_        t          j        |j        j        ¦  «        |_        | j        r'| j                             ||j        d         |¦  «         |                     ¦   «         S )Nr±   r�   r   )r   r�   r   rÜ   rQ   rN   rO   rM   rà   r   rP   Útyping_contextÚresolve_value_typer�   Úget_call_typerU   Úget_functionrÝ   r¿   rL   râ   rR   r‘   Ú
enable_nrtr´   ÚincrefrÂ   r’   )r“   r”   rÑ   rÂ   rÑ  r�  rM   Úin_strÚview_strÚbw_typÚbw_sigÚbw_implrÊ  rÐ   s                 r^   rÇ   z$_get_str_slice_view.<locals>.codegenú  sŠ  € Ø!ÑˆˆU�Fð •Ô,ÝÔñ ô  Ø '¨¸ð=ñ =ô =ˆð •7Ô.ÝÔñ ô  Ø '¨ñ2ô 2ˆà!œ>ˆÔØœˆŒØ"œOˆÔØ ˆŒà×,Ò,­Z¸Ñ<Ô<ˆŒàÔ'×:Ò:Õ;NÑOÔOˆØ×%Ò%ØÔ"¥U¤[ N°Bñ8ô 8ˆà×&Ò& v¨vÑ6Ô6ˆØ�W˜W v¤{ nÑ5Ô5ˆ
Ø—’˜U JÑ/Ô/ˆØŸš F¤K°&°Ñ:Ô:ˆŒå!Ô0°´Ô1EÑFÔFˆŒàÔð 	:ØŒK×Ò˜w¨¬°¬°SÑ9Ô9Ð9Ø×!Ò!Ñ#Ô#Ð#r_   )r   rÜ   rT   )rÏ   Úsrc_tÚstart_tÚlength_trÇ   rÑ   s         r^   Ú_get_str_slice_viewrÝ  ó  sN   € ð
 •EÔ&Ò&Ð&Ð&Ð&ð$ð $ð $õ6 Ô
�UÔ/µ´½U¼ZÑ
HÔ
H€CØ�ˆ<Ðr_   c                 óº   — t          | t          j        ¦  «        r>t          |t          j        ¦  «        rd„ }|S t          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó  — t          |t          | ¦  «        ¦  «        }t          | |¦  «        }t          |¦  «        }|| j        k    rt          | |d¦  «        S t          |¦  «        }t          |d|¦  «        }t          |d|¦  «         |S r  )	r³  r@  r÷   r1  rf   rÝ  r4  rò   rî   )rñ   rÃ   r.  rN   rO   Úrets         r^   Úgetitem_charz%unicode_getitem.<locals>.getitem_char  s…   € Ý'¨­S°©V¬VÑ4Ô4�Ý$ Q¨Ñ,Ô,�Ý)¨"Ñ-Ô-�Ø˜1œ7’?�?Ý.¨q°#°qÑ9Ô9Ð9å2°2Ñ6Ô6�HÝ'¨¨a°Ñ:Ô:�CÝ# C¨¨BÑ/Ô/Ð/Ø�Jr_   c           	      ó¦  — t          |t          | ¦  «        ¦  «        }t          |¦  «        }t          | |j        ¦  «        }t          |¦  «        }t          |¦  «        }t          |j        |j        z   |j	        |j        ¦  «        D ]I}t          | |¦  «        }|t          |¦  «        z  }t          |¦  «        }||k    rt          ||¦  «        }ŒJ|j        dk    r!|| j        k    rt          | |j        |¦  «        S t          |||¦  «        }	|j        }
t          |¦  «        D ]+}t          |	|t          | |
¦  «        ¦  «         |
|j        z  }
Œ,|	S rƒ  )rÀ  r@  rÅ  r÷   r�  r1  r4  r$  ÚstepÚstopr  rf   rÝ  rò   rî   )rñ   rÃ   Ú	slice_idxÚspanr.  rN   rO   rö   Únew_kindrà  Úcurs              r^   Úgetitem_slicez&unicode_getitem.<locals>.getitem_slice*  sU  € Ý,¨Sµ#°a±&´&Ñ9Ô9�	Ý" 9Ñ-Ô-�å$ Q¨	¬Ñ8Ô8�Ý)¨"Ñ-Ô-�Ý.¨rÑ2Ô2�õ ˜yœ°´Ñ?Ø(œ~¨y¬~ñ?ô ?ð :ð :�Aå(¨¨AÑ.Ô.�BØÕ 3°BÑ 7Ô 7Ñ7�HÝ1°"Ñ5Ô5�HØ˜xÒ'Ð'Ý)¨$°Ñ9Ô9˜øð ”> QÒ&Ð&¨4°1´7ª?¨?õ /¨q°)´/À4ÑHÔHÐHõ (¨¨d°HÑ=Ô=�CØ#œ/�CÝ" 4™[œ[ð .ð .˜Ý'¨¨QµÀÀ3Ñ0GÔ0GÑHÔHÐHØ˜yœ~Ñ-˜˜Ø�Jr_   )r:  r   r;  rx  Ú	SliceType)rñ   rÃ   rá  ré  s       r^   Úunicode_getitemrë    sƒ   € å�!•UÔ&Ñ'Ô'ð 3!Ý�c�5œ=Ñ)Ô)ð 2	!ð
ð 
ð 
ð  ÐÝ˜�Uœ_Ñ-Ô-ð %	!ð"ð "ð "ðH !Ð ðg3!ð 3!ð%	!ð %	!r_   c                 óî   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc           	      óÆ  — | j         |j         z   }t          | j        |j        ¦  «        }t          | j        |j        ¦  «        }t          |||¦  «        }t          t          | ¦  «        ¦  «        D ]!}t          ||t          | |¦  «        ¦  «         Œ"t          t          |¦  «        ¦  «        D ]1}t          |t          | ¦  «        |z   t          ||¦  «        ¦  «         Œ2|S r�   )
re   r  rf   r  rg   rò   r$  r@  rî   r÷   )rõ   r&  Ú
new_lengthrç  Ú	new_asciir¶  rö   r”  s           r^   Úconcat_implz#unicode_concat.<locals>.concat_implZ  sÎ   € Øœ Q¤YÑ.ˆJÝ! !¤'¨1¬7Ñ3Ô3ˆHÝ# A¤K°´Ñ=Ô=ˆIÝ" 8¨Z¸ÑCÔCˆFÝ�3˜q™6œ6‘]”]ð Bð B�Ý ¨­?¸1¸aÑ+@Ô+@ÑAÔAÐAÐAÝ�3˜q™6œ6‘]”]ð Kð K�Ý ­¨A©¬°©
µOÀAÀqÑ4IÔ4IÑJÔJÐJÐJØˆMr_   c                 ó&   — | t          |¦  «        z   S r�   rs  rF  s     r^   rð  z#unicode_concat.<locals>.concat_implg  s   € Ø•s˜1‘v”v‘:Ðr_   )r:  r   r;  rJ  )rõ   r&  rð  s      r^   Úunicode_concatrò  V  s–   € õ �!•UÔ&Ñ'Ô'ð ­J°q½%Ô:KÑ,LÔ,Lð ð		ð 		ð 		ð Ðå�!•UÔ&Ñ'Ô'ð ­J°q½%Ô:NÑ,OÔ,Oð ð	ð 	ð 	àÐðð ð ð r_   c                 óh  — | dk    s|dk     rdS |dk    r| S | j         |z  }| j        }t          ||| j        ¦  «        }t	          | ¦  «        }t          |d| d|¦  «         |}d|z  |k    r!t          |||d|¦  «         |dz  }d|z  |k    °!d|z  |k    s||z
  }t          |||||z
  |¦  «         |S d S )Nre  r}   r   r  )re   rf   rò   rg   r@  rf  )Ústr_argÚmult_argrî  rç  r¶  Úlen_aÚ	copy_sizeÚrests           r^   Ú_repeat_implrù  l  s÷   € à�"‚}€}˜ 1š˜ØˆrØ	�QŠˆØˆà”_ xÑ/ˆ
Ø”=ˆÝ˜x¨°WÔ5FÑGÔGˆå�G‘”ˆÝ�˜˜G Q¨Ñ.Ô.Ð.àˆ	Ø�)‰m˜zÒ)Ð)Ý�V˜Y¨°°9Ñ=Ô=Ð=Ø˜‰NˆIð �)‰m˜zÒ)Ð)ð �9‰} 
Ò*Ð*ð  	Ñ)ˆDÝ�V˜Y¨°	¸DÑ0@À$ÑGÔGÐGØˆMð +Ð*r_   c                 óî   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó"   — t          | |¦  «        S r�   ©rù  rF  s     r^   Úwrapzunicode_repeat.<locals>.wrapŠ  ó   € Ý  1Ñ%Ô%Ð%r_   c                 ó"   — t          || ¦  «        S r�   rü  rF  s     r^   rý  zunicode_repeat.<locals>.wrapŽ  rþ  r_   )r:  r   r;  rx  )rõ   r&  rý  s      r^   Úunicode_repeatr   ‡  sŽ   € å�!•UÔ&Ñ'Ô'ð ­J°q½%¼-Ñ,HÔ,Hð ð	&ð 	&ð 	&àˆÝ	�A•u”}Ñ	%Ô	%ð ­*°Q½Ô8IÑ*JÔ*Jð ð	&ð 	&ð 	&àˆðð ð ð r_   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó(   — t          | ¦  «        dk    S rí   r‰  ©rõ   s    r^   r¡  zunicode_not.<locals>.impl–  s   € Ý�q‘6”6˜Q’;Ðr_   r9  ©rõ   r¡  s     r^   Úunicode_notr  “  s5   € å�!•UÔ&Ñ'Ô'ð ð	ð 	ð 	àˆðð r_   Úreplacec                 ó&  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          |t          t          j        f¦  «        s"t          d 	                    |¦  «        ¦  «        ‚t          |t          j
        t          j        f¦  «        s"t          d 	                    |¦  «        ¦  «        ‚t          |t          j
        ¦  «        s"t          d 	                    |¦  «        ¦  «        ‚dd„}|S )NzGUnsupported parameters. The parameters must be Integer. Given count: {}z+The object must be a UnicodeType. Given: {}r�   c                 ó’  — |dk    r| S |dk    �rt          | ¦  «        }|dk    r||                     |¦  «        z   |z   S |g}t          t          |¦  «        |¦  «        }t	          |¦  «        D ]o}|                     ||         ¦  «         |dz   |k    r|                     |¦  «         Œ<|                     d                     ||dz   d …         ¦  «        ¦  «         Œp|t          |¦  «        k    r|                     |¦  «         d                     |¦  «        S |                      ||¦  «        }|                     |¦  «        }|S )Nr   re  r�   r}   )Úlistrl  rY  r@  r$  r  r  )	rñ   Úold_strÚnew_strrÌ  ÚscharsÚsplit_resultÚ	min_countrö   r¶  s	            r^   r¡  zunicode_replace.<locals>.impl¯  sL  € Ø�AŠ:ˆ:ØˆHØ�bŠ=‰=Ý˜!‘W”WˆFØ˜Š{ˆ{Ø §¢¨fÑ!5Ô!5Ñ5¸Ñ?Ð?Ø#˜9ˆLÝ�C ™KœK¨Ñ/Ô/ˆIÝ˜9Ñ%Ô%ð Cð C�Ø×#Ò# F¨1¤IÑ.Ô.Ð.Ø�q‘5˜IÒ%Ð%Ø ×'Ò'¨Ñ0Ô0Ð0Ð0à ×'Ò'¨¯ª°¸¸A¹°x°xÔ0@Ñ(AÔ(AÑBÔBÐBÐBØ•s˜6‘{”{Ò"Ð"Ø×#Ò# GÑ,Ô,Ð,Ø—7’7˜<Ñ(Ô(Ð(Ø—’˜ %Ñ(Ô(ˆØ—’˜fÑ%Ô%ˆØˆr_   ©r�   )r:  r   rw  r€   rH  r‘   r  rx  r!   rz  r;  ry  )rñ   r
  r  rÌ  r}  r¡  s         r^   Úunicode_replacer  ›  s  € à€EÝ�%�œÑ'Ô'ð Ø”ˆˆÝ	�E�5œ>Ñ	*Ô	*ð Ø”
ˆå�e�c¥5¤=Ð1Ñ2Ô2ð LÝð =ß=CºVÀE¹]¼]ñLô Lð 	Lõ �g¥Ô 1µ5´>ÐBÑCÔCð 8Ýð 'ß'-¢v¨g¡¤ñ8ô 8ð 	8õ �g�uÔ0Ñ1Ô1ð 8Ýð 'ß'-¢v¨g¡¤ñ8ô 8ð 	8ðð ð ð ð, €Kr_   c                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 ó   •— ˆˆfd„}|S )Nc                 ój  •— t          | ¦  «        }|dk    rdS |dk    r-t          | d¦  «        }| j        r ‰|¦  «        S  ‰|¦  «        S | j        r0t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!dS )Nr   Fr}   T)r@  r÷   rg   r$  )rL   rM   r   rö   Ú
ascii_funcÚunicode_funcs       €€r^   r¡  z.gen_isAlX.<locals>.unicode_isAlX.<locals>.implÐ  sõ   ø€ Ý˜‘Y”YˆFØ˜Š{ˆ{Ø�uà˜Š{ˆ{Ý,¨T°1Ñ5Ô5�
Ø”>ð 4Ø%˜: jÑ1Ô1Ð1à'˜<¨
Ñ3Ô3Ð3àŒ~ð %Ý˜v™œð %ð %�AÝ!0°°qÑ!9Ô!9�JØ%˜: jÑ1Ô1ð %Ø$˜u˜uð%õ ˜6‘]”]ð !ð !�Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð !Ø ˜5˜5ð!ð �4r_   rc   )rL   r¡  r  r  s     €€r^   Úunicode_isAlXz gen_isAlX.<locals>.unicode_isAlXÎ  s(   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð2 ˆr_   rc   )r  r  r  s   `` r^   Ú	gen_isAlXr  Í  s*   øø€ ðð ð ð ð ð ð8 Ðr_   Úisalphac                 ó>   — t          | ¦  «        pt          | ¦  «        S r�   )r?   r>   ©Úxs    r^   ú<lambda>r  ñ  s"   € Ý&:¸1Ñ&=Ô&=ð '<Ý&8¸Ñ&;Ô&;ð r_   Úisalnumc                 ó   ‡ ‡‡— ˆ ˆˆfd„}|S )Nc                 ó  •— t          | ¦  «        }|dk    r ‰t          | d¦  «        ¦  «        dk    S |dk    rdS d}t          |¦  «        D ]:}t          | |¦  «        } ‰|¦  «        s ‰|¦  «        r dS |s ‰|¦  «        rd}Œ;|S ©Nr}   r   FT©r@  r÷   r$  )rõ   ÚlÚcasedrÃ   r   Úis_lowerÚis_titleÚis_uppers        €€€r^   r¡  z_is_upper.<locals>.implÿ  s»   ø€ Ý�‰FŒFˆØ�Š6ˆ6Ø�8�O¨A¨qÑ1Ô1Ñ2Ô2°aÒ7Ð7Ø�Š6ˆ6Ø�5ØˆÝ˜‘8”8ð 	ð 	ˆCÝ(¨¨CÑ0Ô0ˆJØˆx˜
Ñ#Ô#ð  x x°
Ñ';Ô';ð Ø�u�uØð   ¨Ñ 4Ô 4ð Ø�øØˆr_   rc   )r$  r&  r%  r¡  s   ``` r^   Ú	_is_upperr'  ú  s/   øøø€ ð
ð ð ð ð ð ð ð €Kr_   c                 ó   — dS rE  rc   r  s    r^   r  r    s   € ¨5€ r_   Úisupperc                 ó   — d„ }|S )z
    Implements .isupper()
    c                 óL   — | j         rt          | ¦  «        S t          | ¦  «        S r�   )rg   Ú_ascii_is_upperÚ_unicode_is_upperr  s    r^   r¡  zunicode_isupper.<locals>.impl  s(   € ØŒ;ð 	(Ý" 1Ñ%Ô%Ð%å$ QÑ'Ô'Ð'r_   rc   r  s     r^   Úunicode_isupperr.    s   € ð
(ð (ð (ð
 €Kr_   Úisasciic                 ó   — d„ }|S )z Implements UnicodeType.isascii()c                 ó   — | j         S r�   )rg   ©rL   s    r^   r¡  zunicode_isascii.<locals>.impl)  s
   € ØŒ~Ðr_   rc   ©rL   r¡  s     r^   Úunicode_isasciir4  %  s   € ðð ð à€Kr_   Úistitlec                 ó   — d„ }|S )zï
    Implements UnicodeType.istitle()
    The algorithm is an approximate translation from CPython:
    https://github.com/python/cpython/blob/1d4b6ba19466aba0eb91c4ba01ba509acf18c723/Objects/unicodeobject.c#L11829-L11885 # noqa: E501
    c                 ón  — t          | ¦  «        }|dk    r.t          | d¦  «        }t          |¦  «        pt          |¦  «        S |dk    rdS d}d}t	          |¦  «        D ]U}t          | |¦  «        }t          |¦  «        st          |¦  «        r
|r dS d}d}Œ:t          |¦  «        r
|s dS d}d}ŒSd}ŒV|S r   )r@  r÷   r1   r7   r$  r2   )rL   rM   Úcharr#  Úprevious_is_casedrÃ   s         r^   r¡  zunicode_istitle.<locals>.impl6  sô   € Ý�T‘”ˆØ�QŠ;ˆ;Ý" 4¨Ñ+Ô+ˆDÝ)¨$Ñ/Ô/ÐOÕ3IÈ$Ñ3OÔ3OÐOà�QŠ;ˆ;Ø�5àˆØ!ÐÝ˜‘=”=ð 	*ð 	*ˆCÝ" 4¨Ñ-Ô-ˆDÝ% dÑ+Ô+ð *Õ/EÀdÑ/KÔ/Kð *Ø$ð !Ø ˜5˜5Ø$(Ð!Ø��Ý'¨Ñ-Ô-ð *Ø(ð !Ø ˜5˜5Ø$(Ð!Ø��à$)Ð!Ð!àˆr_   rc   r3  s     r^   Úunicode_istitler:  .  s   € ðð ð ð6 €Kr_   Úislowerc                 ó   — d„ }|S )aP  
    impl is an approximate translation of:
    https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/unicodeobject.c#L11900-L11933    # noqa: E501
    mixed with:
    https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/bytes_methods.c#L131-L156    # noqa: E501
    c                 ó*  — t          | ¦  «        }|dk    rt          t          | d¦  «        ¦  «        S |dk    rdS d}t          |¦  «        D ]F}t          | |¦  «        }t	          |¦  «        st          |¦  «        r dS |st          |¦  «        rd}ŒG|S r   )r@  r2   r÷   r$  r1   r7   )rL   rM   r#  rÃ   r.  s        r^   r¡  zunicode_islower.<locals>.impl]  s¯   € Ý�T‘”ˆØ�QŠ;ˆ;Ý)­/¸$ÀÑ*BÔ*BÑCÔCÐCØ�QŠ;ˆ;Ø�5àˆÝ˜‘=”=ð 	ð 	ˆCÝ   sÑ+Ô+ˆBÝ% bÑ)Ô)ð Õ-CÀBÑ-GÔ-Gð Ø�u�uØð Õ5°bÑ9Ô9ð Ø�øØˆr_   rc   r3  s     r^   Úunicode_islowerr>  T  s   € ðð ð ð €Kr_   Úisidentifierc                 ó   — d„ }|S )z%Implements UnicodeType.isidentifier()c                 óì   — t          | ¦  «        }|dk    rdS t          | d¦  «        }t          |¦  «        s|dk    rdS t          d|¦  «        D ]$}t          | |¦  «        }t	          |¦  «        s dS Œ%dS )Nr   Fé_   r}   T)r@  r÷   r-   r$  r.   )rL   rM   Úfirst_cprö   r   s        r^   r¡  z"unicode_isidentifier.<locals>.implt  s”   € Ý�T‘”ˆØ�QŠ;ˆ;Ø�5å" 4¨Ñ+Ô+ˆÝ$ XÑ.Ô.ð 	°8¸tÒ3CÐ3CØ�5å�q˜&Ñ!Ô!ð 	ð 	ˆAÝ(¨¨qÑ1Ô1ˆJÝ+¨JÑ7Ô7ð Ø�u�uðð ˆtr_   rc   r3  s     r^   Úunicode_isidentifierrD  p  s   € ðð ð ð  €Kr_   c                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 ó   •— ˆˆfd„}|S )Nc                 óØ   •— t          | ¦  «        }|dk    r ‰t          | d¦  «        ¦  «        S ‰r|dk    rdS t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!dS r   r!  )rL   rM   rö   r   Ú_PyUnicode_IS_funcÚempty_is_falses       €€r^   r¡  z*gen_isX.<locals>.unicode_isX.<locals>.implŠ  s‘   ø€ Ý˜‘Y”YˆFØ˜Š{ˆ{Ø)Ð)­/¸$ÀÑ*BÔ*BÑCÔCÐCàð  &¨A¢+ +Ø�uå˜6‘]”]ð !ð !�Ý,¨T°1Ñ5Ô5�
Ø)Ð)¨*Ñ5Ô5ð !Ø ˜5˜5ð!ð �4r_   rc   )rL   r¡  rH  rI  s     €€r^   Úunicode_isXzgen_isX.<locals>.unicode_isX‰  s(   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð ˆr_   rc   )rH  rI  rJ  s   `` r^   Úgen_isXrK  ˆ  s*   øø€ ðð ð ð ð ð ð" Ðr_   ÚisspaceÚ	isnumericÚisdigitÚ	isdecimalÚisprintablec                 ó   ‡ ‡— ˆ ˆfd„}|S )z)Generate common case operation performer.c           	      óè  •— t          | ¦  «        }|dk    rt          | j        || j        ¦  «        S | j        r$t          | j        |d¦  «        } ‰	| |¦  «         |S t          t          d|z  | j        ¦  «        }dg} ‰
| |||¦  «        }|d         }t          |¦  «        }t          ||t          |¦  «        ¦  «        }t          |¦  «        D ]!}t          ||t          ||¦  «        ¦  «         Œ"|S )Nr   r}   rD   )
r@  rò   rf   rg   r   r1  r4  r$  rî   r÷   )rL   rM   r¶   ÚtmpÚmaxcharsÚ	newlengthÚmaxcharÚnewkindrö   r  r  s            €€r^   r¡  zcase_operation.<locals>.impl¶  s  ø€ Ý�T‘”ˆØ�QŠ;ˆ;Ý  ¤¨V°T´^ÑDÔDÐDàŒ>ð 	Ý ¤
¨F°AÑ6Ô6ˆCØˆJ�t˜SÑ!Ô!Ð!ØˆJõ Õ1°1°v±:¸t¼~ÑNÔNˆà�3ˆØ �L  v¨s°HÑ=Ô=ˆ	Ø˜1”+ˆÝ$ WÑ-Ô-ˆÝ˜G YÕ0CÀGÑ0LÔ0LÑMÔMˆÝ�yÑ!Ô!ð 	=ð 	=ˆAÝ˜C ¥O°C¸Ñ$;Ô$;Ñ<Ô<Ð<Ð<àˆ
r_   rc   )r  r  r¡  s   `` r^   Úcase_operationrX  ´  s)   øø€ ðð ð ð ð ð ð. €Kr_   c                 óD  — d}|dz
  }|dk    r+t          | |¦  «        }t          |¦  «        sn|dz  }|dk    °+|dk    ot          |¦  «        }|rL|dz   }||k     r+t          | |¦  «        }t          |¦  «        sn|dz  }||k     °+||k    pt          |¦  «         }|rdndS )zEThis is a translation of the function that handles the capital sigma.r   r}   iÂ  iÃ  )r÷   r0   r/   )rL   rM   rÃ   r­   r”  Úfinal_sigmas         r^   Ú_handle_capital_sigmar[  Ñ  sæ   € ð 	
€AØˆa‰€AØ
ˆqŠ&ˆ&Ý˜D !Ñ$Ô$ˆÝ)¨!Ñ,Ô,ð 	ØØ	ˆQ‰ˆð	 ˆqŠ&ˆ&ð
 ˜’6Ð3Õ0°Ñ3Ô3€KØð CØ�!‰GˆØ�&ŠjˆjÝ  aÑ(Ô(ˆAÝ-¨aÑ0Ô0ð ØØ�‰FˆAð	 �&Šjˆjð
 ˜F’{ÐAÕ+=¸aÑ+@Ô+@Ð'@ˆàÐ*ˆ5ˆ5 UÐ*r_   c                 óZ   — | dk    rt          |||¦  «        |d<   dS t          | |¦  «        S )z>This is a translation of the function that lowers a character.i£  r   r}   )r[  r'   )r   rL   rM   rÃ   Úmappeds        r^   Ú_lower_ucs4r^  é  s9   € ð �UÒÐÝ)¨$°¸Ñ<Ô<ˆˆq‰	ØˆqÝ! *¨fÑ5Ô5Ð5r_   c                 ó   ‡ — ˆ fd„}|S )Nc                 óJ  •— d}t          |¦  «        D ]�}t          j        dt          ¬¦  «        }t	          | |¦  «        }‰
rt          || |||¦  «        }nt          ||¦  «        }|d |…         D ]1}	t          |d         |	¦  «        |d<   t          |||	¦  «         |dz  }Œ2Œ�|S ©Nr   rD   ©rí  r}   )	r$  rï   Úzerosr$   r÷   r^  r&   Úmaxrî   )rL   rM   r¶   rT  ÚkrÃ   r]  r   Ún_resr�  Úlowers             €r^   Ú_do_upper_or_lowerz7_gen_unicode_upper_or_lower.<locals>._do_upper_or_lowerô  sÈ   ø€ ØˆÝ˜‘=”=ð 	ð 	ˆCÝ”X˜a¥xÐ0Ñ0Ô0ˆFÝ(¨¨sÑ3Ô3ˆJØð CÝ# J°°f¸cÀ6ÑJÔJ��õ /¨z¸6ÑBÔB�Ø˜F˜U˜F”^ð ð �Ý! (¨1¤+¨qÑ1Ô1�˜‘Ý  Q¨Ñ*Ô*Ð*Ø�Q‘��ðð ˆr_   rc   )rg  rh  s   ` r^   Ú_gen_unicode_upper_or_lowerri  ó  s$   ø€ ðð ð ð ð ð Ðr_   c                 ó   ‡ — ˆ fd„}|S )Nc                 óš   •— t          t          | ¦  «        ¦  «        D ],}t          | |¦  «        }t          || ‰|¦  «        ¦  «         Œ-d S r�   )r$  r@  r÷   rî   )rL   r¶   rÃ   r   Úfuncs       €r^   Ú_ascii_upper_or_lowerz8_gen_ascii_upper_or_lower.<locals>._ascii_upper_or_lower	  sX   ø€ Ý�˜T™œÑ#Ô#ð 	8ð 	8ˆCÝ(¨¨sÑ3Ô3ˆJÝ˜C  d d¨:Ñ&6Ô&6Ñ7Ô7Ð7Ð7ð	8ð 	8r_   rc   )rl  rm  s   ` r^   Ú_gen_ascii_upper_or_lowerrn  
	  s$   ø€ ð8ð 8ð 8ð 8ð 8ð !Ð r_   rg  c                 ó6   — t          t          t          ¦  «        S )zImplements .lower())rX  Ú_ascii_lowerÚ_unicode_lowerr2  s    r^   Úunicode_lowerrr  	  ó   € õ �,­Ñ7Ô7Ð7r_   Úupperc                 ó6   — t          t          t          ¦  «        S )zImplements .upper())rX  Ú_ascii_upperÚ_unicode_upperr2  s    r^   Úunicode_upperrx  	  rs  r_   c                 óJ  — d}t          j        dt          ¬¦  «        }t          |¦  «        D ]u}|                     d¦  «         t          | |¦  «        }t          ||¦  «        }|d |…         D ]3}	|d         }
t          |
|	¦  «        |d<   t          |||	¦  «         |dz  }Œ4Œv|S ra  )	rï   rc  r$   r$  Úfillr÷   r(   rd  rî   )rL   rM   r¶   rT  re  r]  rÃ   r   rf  r�  rV  s              r^   Ú_unicode_casefoldr{  #	  s·   € à	€AÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý'¨
°FÑ;Ô;ˆØ˜˜˜”ð 	ð 	ˆAØ˜q”kˆGÝ˜g q™/œ/ˆH�Q‰KÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð		ð €Hr_   c                 ó    — t          t          | ¦  «        ¦  «        D ]0}t          | |¦  «        }t          ||t	          |¦  «        ¦  «         Œ1d S r�   )r$  r@  r÷   rî   r#   ©rL   r¶   rÃ   r   s       r^   Ú_ascii_casefoldr~  4	  sU   € å•S˜‘Y”YÑÔð ;ð ;ˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜˜S¥+¨jÑ"9Ô"9Ñ:Ô:Ð:Ð:ð;ð ;r_   Úcasefoldc                 ó6   — t          t          t          ¦  «        S )zImplements str.casefold())rX  r~  r{  r2  s    r^   Úunicode_casefoldr�  ;	  s   € õ �/Õ+<Ñ=Ô=Ð=r_   c                 óð  — d}d}t          j        dt          ¬¦  «        }t          | d¦  «        }t	          ||¦  «        }|d |…         D ](}	t          ||	¦  «        }t          |||	¦  «         |dz  }Œ)t          d|¦  «        D ]m}
|                     d¦  «         t          | |
¦  «        }t          || ||
|¦  «        }|d |…         D ](}	t          ||	¦  «        }t          |||	¦  «         |dz  }Œ)Œn||d<   |S ra  )
rï   rc  r$   r÷   r)   rd  rî   r$  rz  r^  )rL   rM   r¶   rT  re  rV  r]  r   rf  r�  rÃ   s              r^   Ú_unicode_capitalizerƒ  B	  s!  € à	€AØ€GÝŒX�a�xÐ(Ñ(Ô(€FÝ   qÑ)Ô)€Jå" :¨vÑ6Ô6€Eà�F�U�FŒ^ð ð ˆÝ�g˜q‘/”/ˆÝ˜˜Q Ñ"Ô"Ð"Ø	ˆQ‰ˆˆÝ�Q˜ÑÔð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜J¨¨f°c¸6ÑBÔBˆØ˜˜˜”ð 	ð 	ˆAÝ˜' 1‘o”oˆGÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð	ð €HˆQ�KØ€Hr_   c                 óþ   — t          | d¦  «        }t          |dt          |¦  «        ¦  «         t          dt	          | ¦  «        ¦  «        D ]0}t          | |¦  «        }t          ||t          |¦  «        ¦  «         Œ1d S rÏ  )r÷   rî   r"   r$  r@  r#   )rL   r¶   r   rÃ   s       r^   Ú_ascii_capitalizer…  \	  s€   € å   qÑ)Ô)€JÝ�C˜�K¨
Ñ3Ô3Ñ4Ô4Ð4Ý�Q�˜D™	œ	Ñ"Ô"ð ;ð ;ˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜˜S¥+¨jÑ"9Ô"9Ñ:Ô:Ð:Ð:ð;ð ;r_   Ú
capitalizec                 ó6   — t          t          t          ¦  «        S r�   )rX  r…  rƒ  r2  s    r^   Úunicode_capitalizerˆ  f	  s   € åÕ+Õ-@ÑAÔAÐAr_   c                 óÄ  — d}d}t          j        dt          ¬¦  «        }t          |¦  «        D ]°}|                     d¦  «         t          | |¦  «        }|rt          || |||¦  «        }	nt          t          |¦  «        |¦  «        }	|d|	…         D ]/}
|\  }t          ||
¦  «        |d<   t          |||
¦  «         |dz  }Œ0t          t          |¦  «        ¦  «        }Œ±|S )zCThis is a translation of the function that titles a unicode string.r   FrD   rb  Nr}   )rï   Úemptyr$   r$  rz  r÷   r^  r)   rd  rî   r/   )rL   rM   r¶   rT  re  Úprevious_casedr]  rÃ   r   rf  r�  rV  s               r^   Ú_unicode_titlerŒ  l	  sö   € ð 	
€AØ€NÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð Bð BˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Øð 	IÝ 
¨D°&¸#¸vÑFÔFˆEˆEå*­8°JÑ+?Ô+?ÀÑHÔHˆEØ˜˜˜”ð 	ð 	ˆAØ‰HˆGÝ˜g q™/œ/ˆH�Q‰KÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAÝ+­H°ZÑ,@Ô,@ÑAÔAˆˆØ€Hr_   c                 ó  — d}t          t          | ¦  «        ¦  «        D ]k}t          | |¦  «        }t          |¦  «        r|st	          |¦  «        }d}n%t          |¦  «        r|rt          |¦  «        }d}nd}t          |||¦  «         ŒldS )z" Does .title() on an ASCII string FTN)r$  r@  r÷   r8   r"   r9   r#   rî   )rL   r¶   r9  rÃ   r   s        r^   Ú_ascii_titlerŽ  ƒ	  s·   € ð ÐÝ•S˜‘Y”YÑÔð .ð .ˆÝ$ T¨3Ñ/Ô/ˆ
Ý�zÑ"Ô"ð 		&Ø$ð 5Ý(¨Ñ4Ô4�
Ø $ÐÐÝ˜Ñ$Ô$ð 	&Ø ð 5Ý(¨Ñ4Ô4�
Ø $ÐÐà %ÐÝ˜˜S *Ñ-Ô-Ð-Ð-ð.ð .r_   Útitlec                 ó6   — t          t          t          ¦  «        S )zImplements str.title())rX  rŽ  rŒ  r2  s    r^   Úunicode_titler‘  —	  s   € õ �,­Ñ7Ô7Ð7r_   c                 ó   — t          t          | ¦  «        ¦  «        D ]`}t          | |¦  «        }t          |¦  «        rt	          |¦  «        }nt          |¦  «        rt          |¦  «        }t          |||¦  «         Œad S r�   )r$  r@  r÷   r9   r#   r8   r"   rî   r}  s       r^   Ú_ascii_swapcaser“  Ÿ	  s‰   € å•S˜‘Y”YÑÔð .ð .ˆÝ$ T¨3Ñ/Ô/ˆ
Ý�zÑ"Ô"ð 	1Ý$ ZÑ0Ô0ˆJˆJÝ˜Ñ$Ô$ð 	1Ý$ ZÑ0Ô0ˆJÝ˜˜S *Ñ-Ô-Ð-Ð-ð.ð .r_   c                 ó¶  — d}d}t          j        dt          ¬¦  «        }t          |¦  «        D ]¤}|                     d¦  «         t          | |¦  «        }t          |¦  «        rt          || |||¦  «        }	n't          |¦  «        rt          ||¦  «        }	nd}	||d<   |d |	…         D ](}
t          ||
¦  «        }t          |||
¦  «         |dz  }Œ)Œ¥||d<   |S ra  )rï   rŠ  r$   r$  rz  r÷   r1   r^  r2   r&   rd  rî   )rL   rM   r¶   rT  re  rV  r]  rÃ   r   rf  r�  s              r^   Ú_unicode_swapcaser•  «	  sÿ   € à	€AØ€GÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý! *Ñ-Ô-ð 	#Ý 
¨D°&¸#¸vÑFÔFˆEˆEÝ# JÑ/Ô/ð 	#Ý*¨:°vÑ>Ô>ˆEˆEàˆEØ"ˆF�1‰IØ˜˜˜”ð 	ð 	ˆAÝ˜' 1‘o”oˆGÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð	ð €HˆQ�KØ€Hr_   Úswapcasec                 ó6   — t          t          t          ¦  «        S r�   )rX  r“  r•  r2  s    r^   Úunicode_swapcaser˜  Â	  s   € å�/Õ+<Ñ=Ô=Ð=r_   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ój   — t          | ¦  «        }|dk    rt          d¦  «        ‚t          | d¦  «        S )Nr}   zord() expected a characterr   )r@  Ú	TypeErrorr÷   )r­   Úlcs     r^   r¡  zol_ord.<locals>.implË	  s5   € Ý�Q‘”ˆBØ�QŠwˆwåÐ <Ñ=Ô=Ð=Ý" 1 aÑ(Ô(Ð(r_   r9  )r­   r¡  s     r^   Úol_ordr�  È	  s7   € å�!•UÔ&Ñ'Ô'ð ð	)ð 	)ð 	)ð ˆðð r_   c                 ó”   — | t           k    sJ ‚t          | ¦  «        }t          |d|t          k    ¦  «        }t	          |d| ¦  «         |S r  )Ú_MAX_UNICODEr1  rò   r   rî   )rÅ   rN   rà  s      r^   Ú_unicode_charr   Ú	  sN   € à•ÒÐÐÐÝ˜bÑ!Ô!€DÝ
˜˜a Õ)>Ò!>Ñ
?Ô
?€CÝ�C˜˜BÑÔÐØ€Jr_   zchr() arg not in range(0x%hx)c                 ó„   — | dk     s| t           k    rt          t          ¦  «        ‚t          t	          | ¦  «        ¦  «        S rí   )rŸ  r   Ú_out_of_range_msgr   r$   )Úordinals    r^   Ú_PyUnicode_FromOrdinalr¤  ç	  s:   € à�!Šˆ�w¥Ò-Ð-ÝÕ*Ñ+Ô+Ð+å� 'Ñ*Ô*Ñ+Ô+Ð+r_   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r�   )r¤  )rö   s    r^   r¡  zol_chr.<locals>.impló	  s   € Ý)¨!Ñ,Ô,Ð,r_   )r:  r   rx  )rö   r¡  s     r^   Úol_chrr§  ð	  s4   € å�!•U”]Ñ#Ô#ð ð	-ð 	-ð 	-àˆðð r_   Ú__str__c                 ó   — d„ S )Nc                 ó   — | S r�   rc   r7  s    r^   r  zunicode_str.<locals>.<lambda>ú	  s   € �Q€ r_   rc   r7  s    r^   Úunicode_strr«  ø	  s
   € àˆ;Ðr_   Ú__repr__c                 ó   — d„ S )Nc                 ó   — d| z   dz   S )Nú'rc   r7  s    r^   r  zunicode_repr.<locals>.<lambda>
  s   € �S˜1‘W˜s‘]€ r_   rc   r7  s    r^   Úunicode_reprr°  ý	  s   € ð #Ð"Ð"r_   c                 ó(   ‡—  | d¦  «        Šˆfd„}|S )NrE   c                 óÌ  •— d}| dk     r|  } d}| dk    rdS |dz   t          t          j        t          j        | ¦  «        ¦  «        ¦  «        z   }t          }t          |¦  «        }t          |||d¦  «        }|rt          |dt          d¦  «        ¦  «         |dz
  }| dk    rAt          | ‰	¦  «        \  } }t          d¦  «        |z   }t          |||¦  «         |dz  }| dk    °A|S )NFr   Tr†  r}   rˆ  )
r  rï   ÚfloorÚlog10r   r�   rë   rî   ÚordÚdivmod)
r(  ÚflagrM   rN   rð   rñ   rÃ   Údigitr­   Útens
            €r^   r¡  zinteger_str.<locals>.impl	
  sø   ø€ ØˆØˆqŠ5ˆ5Ø�ˆAØˆDØ�Š6ˆ6Ø�3Ø˜‘�C¥¤­¬°!©¬Ñ 5Ô 5Ñ6Ô6Ñ6ˆÝ$ˆÝ(¨Ñ.Ô.ˆ
Ý˜4 ¨V°TÑ:Ô:ˆØð 	,Ý˜A˜q¥# c¡(¤(Ñ+Ô+Ð+Ø�q‰jˆØ�!ŠeˆeÝ˜a ‘~”~‰HˆAˆuÝ�C‘”˜5Ñ ˆAÝ˜A˜s AÑ&Ô&Ð&Ø�1‰HˆCð	 �!Šeˆeð
 ˆr_   rc   )r(  r¡  r¹  s     @r^   Úinteger_strrº  
  s2   ø€ ð ˆ!ˆB‰%Œ%€Cðð ð ð ð ð( €Kr_   c                 ó   — d„ S )Nc                 ó*   — |                       ¦   «         S r�   )r¨  ©r(  s    r^   r  zinteger_repr.<locals>.<lambda>"
  s   € �Q—Y’Y‘[”[€ r_   rc   r½  s    r^   Úinteger_reprr¾   
  s   € à Ð Ð r_   c                 ó   — d„ S )Nc                 ó   — | rdndS )NÚTrueÚFalserc   ©r&  s    r^   r  zboolean_str.<locals>.<lambda>(
  s   € ˜qÐ-�V�V g€ r_   rc   rÃ  s    r^   Úboolean_strrÄ  %
  s   € ð .Ð-Ð-r_   Úgetiterc                 ót  — |j         \  }|\  }|                      ||j        ¦  «        }|                      t          j        d¦  «        }t          j        ||¦  «        }||_        ||_	        | j
        r| j                             |||¦  «         |                     ¦   «         }	t          | ||j        |	¦  «        S rí   )rÂ   r¹  Úreturn_typerà   r   rn   r   Úalloca_once_valuerl   rL   rÓ  r´   rÔ  r’   r   )
r“   r”   rÑ   rÂ   r{  rL   Úiterobjr“  Úindexptrr¶   s
             r^   Úgetiter_unicoderË  0
  s²   € àŒ8�D€RØ�F€Tà×!Ò! '¨3¬?Ñ;Ô;€Gð ×Ò¥¤¨QÑ/Ô/€DÝÔ(¨°$Ñ7Ô7€Hà€G„Mð €G„Lð Ôð .ØŒ×Ò˜7 B¨Ñ-Ô-Ð-à
×
Ò
Ñ
Ô
€CÝ˜G W¨c¬o¸sÑCÔCÐCr_   Úiternextc                 ó‚  — |j         \  }|\  }| j        }|                     t          j        ¦  «        }|                     |t          j        t          j        fi ¦  «        }	|  	                    ||	¦  «        }
|                     t          ¦  «        }|                     |t          j        fi ¦  «        }|  	                    ||¦  «        }|                      |||¬¦  «        } |||j        f¦  «        }|                     |j        ¦  «        }|                     d||¦  «        }|                     |¦  «         |                     |¦  «        5   |
||j        |f¦  «        }|                     |¦  «         t'          j        ||¦  «        }|                     ||j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr±   ú<)rÂ   rÏ  rÐ  ÚoperatorÚgetitemrÑ  r   rÜ   rn   rÒ  r@  r¹  rL   r¾   rl   Úicmp_unsignedÚ	set_validÚif_thenÚyield_r   Úincrement_indexrû   )r“   r”   rÑ   rÂ   r¶  ÚitertyÚiterÚtyctxÚfntyÚgetitem_sigÚgetitem_implÚlen_sigr8  rÉ  Ústrlenrl   Úis_validÚgotitemÚnindexs                      r^   Úiternext_unicoderá  H
  sõ  € ð Œx�H€VØ�F€TàÔ"€Eð ×#Ò#¥HÔ$4Ñ5Ô5€DØ×$Ò$ U­UÔ-?ÅÄÐ,MØ%'ñ)ô )€Kà×'Ò'¨¨kÑ:Ô:€Lð ×#Ò#¥CÑ(Ô(€DØ× Ò  ­Ô);Ð(=¸rÑBÔB€GØ×#Ò# D¨'Ñ2Ô2€Hð ×!Ò! '¨6¸Ð!Ñ>Ô>€Gð ˆX�g ¤˜Ñ/Ô/€Fð �LŠL˜œÑ'Ô'€Eð ×$Ò$ S¨%°Ñ8Ô8€HØ
×Ò�XÑÔÐà	�Š˜Ñ	"Ô	"ð -ð -à�,˜w¨¬°uÐ(>Ñ?Ô?ˆØ�Š�gÑÔÐõ Ô(¨°%Ñ8Ô8ˆØ�Š�f˜gœmÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s   ÅAF4Æ4F8Æ;F8)r   r¢  r  rq  rA  r`  r�   )Tr  )õrú  rÏ  Únumpyrï   Úllvmlite.irr   r   Únumba.core.cgutilsr   Únumba.core.extendingr   r   r   r	   r
   r   r   r   r   r   Únumba.core.imputilsr   r   r   r   r   r   Únumba.core.datamodelr   r   Ú
numba.corer   r   Únumba.core.utilsr   Únumba.core.pythonapir   r   r   Únumba._helperlibr   Únumba.cpython.hashingr   Únumba.core.unsafe.bytesr    Únumba.core.errorsr!   Únumba.cpython.unicode_supportr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   Únumba.cpythonrC   rG   rŸ  rT   Úbitwidthr…  r;  rJ   ÚUnicodeIteratorTyperj   r‹   r›   rI  rÜ   r¢   r¥   r¯   r·   rÉ   rÒ   rÖ   rÙ   rë   rò   r÷   rý   r  r  r  rî   r  ÚNotImplementedErrorr  r�   r+  r1  r4  r@  r<  ÚeqrP  ÚnerU  Últr_  Úgtrd  Úleri  Úgern  Úcontainsrt  r  r�  rˆ  rŠ  r—  r›  r£  rr  r®  r©  r¯  r¹  r½  rÊ  r×  rÛ  rž  rî  rö  r  r  r  r%  r$  r,  rC  rQ  rY  r]  r^  rc  rk  r‚  r�  r’  r”  r–  rÕ  r¡  r§  r¯  r³  rÐ  rÀ  rÅ  rf  rÝ  rÐ  rë  rÞ   Úiaddrò  rù  rÝ   r   Únot_r  r  r  Ú_unicode_is_alnumr'  Ú_always_falser,  r-  r.  r4  r:  r>  rD  rK  rX  r[  r^  ri  rw  rq  rn  rv  rp  rr  rx  r{  r~  r�  rƒ  r…  rˆ  rŒ  rŽ  r‘  r“  r•  r˜  rµ  r�  r   r¢  r¤  Úchrr§  r«  r°  rx  rº  r¾  ra  rÄ  rË  ÚNEWrá  rc   r_   r^   ú<module>r     s  ðØ 
€
€
€
Ø €€€à Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kà >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð
 'Ð &Ð &Ð &Ð &Ð &Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø )Ð )Ð )Ð )Ð )Ð )ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð> "Ð !Ð !Ð !Ð !Ð !àÐ"Ð"Ð"Ø:Ð:Ð:Ð:Ð:Ð:ð €ð ŒzÔ"€ð
 €�Ô!Ñ"Ô"ðAð Að Að Að A�6Ô%ñ Aô Añ #Ô"ðAð Ð �uÔ(¨&°'Ñ :Ô :Ð :Ø Ð �uÔ(¨(°IÑ >Ô >Ð >Ø Ð �uÔ(¨&°'Ñ :Ô :Ð :Ø Ð �uÔ(¨*°kÑ BÔ BÐ BØ Ð �uÔ(¨&°'Ñ :Ô :Ð :ð Ð�%Ô+Ñ,Ô,ðJð Jð Jð Jð J˜;ñ Jô Jñ -Ô,ðJð;ð ;ð ;ð8ð ð ð( €ˆEÔ Ô!3Ñ4Ô4ðð ñ 5Ô4ðð €�Ô"Ñ#Ô#ðCð Cñ $Ô#ðCð €€uÔÑÔð?ð ?ñ Ôð?ð, €€UÔÑÔðð ñ Ôðð$ð ð ð ð&ð &ñ „ð&ð
 ð'ð 'ñ „ð'ð
 ð'ð 'ñ „ð'ð
 ðð ñ „ðð< ðð ð ñ Ôðð Ð�uÐÑÔð
ð 
ñ Ôð
ð	ð 	ð 	ð ð$ð $ñ „ð$ð
 ð%ð %ñ „ð%ð
 ð%ð %ñ „ð%ð
 Ð�uÐÑÔðDð Dñ ÔðDð$ Ð4Ð4Ð4ØðCð Cñ ÔðCð Cð Ð$Ð$Ð$ØðCð Cñ ÔðCð Cð" Ð
˜iÑ
(Ô
(Ð(ð ðð ñ Ôðð Ð4Ð4Ð4ØðLð Lñ ÔðLð Lð Ð$Ð$Ð$Øð
Lð 
Lñ Ôð
Lð 
Lð Ð
˜iÑ
(Ô
(Ð(ð Ð�uÐÑÔðð ñ Ôðð& ð%ð %ñ Ôð%ð" ðð ñ Ôðð 
€ˆ#�„ðð ñ „ðð 
€ˆ(Œ+ÑÔð#ð #ñ Ôð#ðL 
€ˆ(Œ+ÑÔðð ñ Ôðð" 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Ô
ÑÔðð ñ ÔððPð Pð Pð(ð ð ð ðð ñ Ôðð
 ð3ð 3ñ Ôð3ð
 ð+ð +ñ Ôð+ð\ ð-ð -ñ Ôð-ð`ð ð ð& 	Ð˜˜¨Ñ7Ô7Ñ8Ô8€Ø	Ð	˜/˜/¨.Ñ9Ô9Ñ	:Ô	:€ð €�Ô" FÑ+Ô+ðð ð ñ ,Ô+ðð €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð" €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð" €�Ô" KÑ0Ô0ð ð  ñ 1Ô0ð ðF €�Ô" GÑ,Ô,ð 3ð  3ð  3ñ -Ô,ð 3ðH €�Ô" LÑ1Ô1ð ð  ñ 2Ô1ð ðH ðð ñ Ôðð €�Ô" LÑ1Ô1ð1Ið 1Ið 1Iñ 2Ô1ð1Iðh €�Ô" JÑ/Ô/ð-ð -ð -ñ 0Ô/ð-ðb €�Ô" LÑ1Ô1ð=ð =ð =ñ 2Ô1ð=ð@ €�Ô" GÑ,Ô,ðQ%ð Q%ð Q%ñ -Ô,ðQ%ðh)"ð )"ð )"ðX "2Ð!1Ø#Ð#Ð$6Ñ7Ô7ñ"9ô "9Ð à/Ð/Ø#Ð# KÑ0Ô0ñ 2ô  2Ð ð
 €�Ô" HÑ-Ô-ðNð Nð Nñ .Ô-ðNðb €�Ô" HÑ-Ô-ð"ð "ð "ñ .Ô-ð"ðJ&ð &ð &ðR ,€€�Ô! 7Ñ +Ô +Ð,=Ð,=¸eÑ,DÔ,DÑ EÔ EÐ EØ +€€�Ô! 7Ñ +Ô +Ð,=Ð,=¸dÑ,CÔ,CÑ DÔ DÐ Dð ð  ð  ðF %Ð$Ð%=Ð%=¸oÑ%NÔ%NÑOÔOÐ Ø&Ð&Ð'?Ð'?Øñ(ô (ñ ô Ð ð
 €�Ô" LÑ1Ô1ðð ð ñ 2Ô1ðð0 ðð ñ Ôðð> €�Ô" FÑ+Ô+ðð ñ ,Ô+ðð6 €�Ô" GÑ,Ô,ðð ñ -Ô,ðð6 ðð ñ Ôðð  ðð ñ Ôðð"Cð Cð CðJð Jð Jð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð( ðð ð ñ Ôðð< ð!ð !ñ Ôð!ð( ðð ñ „ðð  ðð ñ „ðð Ð�uÐÑÔðBð Bñ ÔðBð ð"ð "ñ „ð"ðJ 
€ˆ(Ô
ÑÔð4!ð 4!ñ Ôð4!ðx 
€ˆ(Œ,ÑÔØ	€ˆ(Œ-ÑÔðð ñ Ôñ Ôðð( ðð ñ Ôðð4 
€ˆ(Œ,ÑÔðð ñ Ôðð 
€ˆ(Œ-ÑÔðð ñ Ôðð €�Ô" IÑ.Ô.ð)ð )ð )ñ /Ô.ð)ðbð ð ðB .€€�Ô! 9Ñ -Ô -¨i¨i¸Ø8Jñ/Lô /Lñ Mô Mð Mð %Ð$ð &=ð &=ñ >ô >Ð ð
 .€€�Ô! 9Ñ -Ô -¨i¨i¸Ø8Iñ/Kô /Kñ Lô Lð Lðð ð ð, !Ð   Ñ1Ô1€Ø"Ð" 9 9¨[¸+Ø-:ñ$<ô $<ñ =ô =€à$Ð$ Y YÐ/EØ/EØ/Eñ&Gô &Gñ Hô HÐ ð
 €�Ô" IÑ.Ô.ð	ð 	ñ /Ô.ð	ð €�Ô" IÑ.Ô.ðð ñ /Ô.ðð €�Ô" IÑ.Ô.ð"ð "ñ /Ô.ð"ðJ €�Ô" IÑ.Ô.ðð ñ /Ô.ðð6 €�Ô" NÑ3Ô3ðð ñ 4Ô3ðð.ð ð ð ð, .€€�Ô! 9Ñ -Ô -¨g¨gÐ6HÑ.IÔ.IÑ JÔ JÐ Jð 0€€�Ô! ;Ñ /Ô /°°Ð8LÑ0MÔ0MÑ NÔ NÐ Nð .€€�Ô! 9Ñ -Ô -¨g¨gÐ6HÑ.IÔ.IÑ JÔ JÐ Jð 0€€�Ô! ;Ñ /Ô /Ø€GÐ%Ñ&Ô&ñ(ô (ð (ð 2€€�Ô! =Ñ 1Ô 1Ø€GÐ" EÑ*Ô*ñ,ô ,ð ,ðð ð ð: ð+ð +ñ Ôð+ð. ð6ð 6ñ Ôð6ðð ð ð& "Ð!Ð"=Ð"=¸eÑ"DÔ"DÑEÔE€Ø!Ð!Ð"=Ð"=¸dÑ"CÔ"CÑDÔD€ð!ð !ð !ð  ÐÐ 9Ð 9¸+Ñ FÔ FÑGÔG€ØÐÐ 9Ð 9¸+Ñ FÔ FÑGÔG€ð €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð
 €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð ðð ñ Ôðð  ð;ð ;ñ Ôð;ð €�Ô" JÑ/Ô/ð>ð >ñ 0Ô/ð>ð ðð ñ Ôðð2 ð;ð ;ñ Ôð;ð €�Ô" LÑ1Ô1ðBð Bñ 2Ô1ðBð
 ðð ñ Ôðð, ð.ð .ñ Ôð.ð& €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð ð.ð .ñ Ôð.ð ðð ñ Ôðð, €�Ô" JÑ/Ô/ð>ð >ñ 0Ô/ð>ð
 
€ˆ#�„ðð ñ „ðð" ðð ñ Ôðð 4°lÑBÐ ð ð,ð ,ñ Ôð,ð 
€ˆ#�„ðð ñ „ðð €�Ô" IÑ.Ô.ðð ñ /Ô.ðð €�Ô" JÑ/Ô/ð#ð #ñ 0Ô/ð#ð €�” 	Ñ*Ô*ðð ñ +Ô*ðð6 €�” 
Ñ+Ô+ð!ð !ñ ,Ô+ð!ð €�” 
Ñ+Ô+Ø€�” 	Ñ*Ô*ð.ð .ñ +Ô*ñ ,Ô+ð.ð €ˆy˜%Ô+Ñ,Ô,ðDð Dñ -Ô,ðDð. €ˆz˜5Ô4Ñ5Ô5à€ˆwŒ{ÑÔð%-ð %-ñ Ôñ 6Ô5ð%-ð %-ð %-r_   