Ë
    èÿæi)§  ã                   ó¤  — d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZ ddlmZmZmZmZmZmZmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ d„ Zd„ Z G d„ de «      Z! G d„ de!«      Z" G d„ de!«      Z# G d„ de!«      Z$d„ Z% ee&ejN                  «      d„ «       Z( ee&«      d„ «       Z( ee)ejT                  «      d„ «       Z+ edejT                  «      d„ «       Z, edejZ                  «       eej\                  «      d„ «       «       Z/ eej`                  ejT                  ejb                  «      d„ «       Z2 eejf                  ejT                  ejb                  ejh                  «      d„ «       Z5 eej`                  ejT                  ejl                  «      d„ «       Z7 eejf                  ejT                  ejl                  ejh                  «      d „ «       Z5 eejp                  ejT                  ejb                  «      d!„ «       Z9 eejp                  ejT                  ejl                  «      d"„ «       Z: eejv                  ejx                  ejh                  «      d#„ «       Z= ee>ejx                  «      d$„ «       Z? eej€                  «      d%„ «       ZA eej„                  ejT                  ejT                  «      d&„ «       ZC eejˆ                  ejT                  ejT                  «      d'„ «       ZE eejŒ                  ejT                  ejb                  «       eejŒ                  ejb                  ejT                  «      d(„ «       «       ZG eej�                  ejT                  ejb                  «      d)„ «       ZI eej”                  ejT                  ejT                  «      d*„ «       ZK eej˜                  ejT                  ejT                  «      d+„ «       ZMd,„ ZN eejž                  «      d-„ «       ZP eej¢                  «      d.„ «       ZR eej¦                  «      d/„ «       ZT eejª                  «      d0„ «       ZV eej®                  «      d1„ «       ZX ed2ejT                  ejh                  «      d3„ «       ZY ed4ejT                  «      d5„ «       ZZ eejT                  d6«      d7„ «       Z[ eejT                  d8«      d9„ «       Z\d:„ Z] ed;ejT                  ejN                  «      d<„ «       Z^ej¾                  jÀ                  Za eejT                  d=«      deafd>„«       Zb ed?ejT                  ejb                  ejh                  «      d@„ «       Zc edAejT                  «      dB„ «       Zd edAejT                  ejb                  «      dC„ «       Zd eejT                  dD«      dE„ «       Ze eejT                  dF«      dG„ «       ZfdH„ ZW ejÎ                  «       jÐ                  Zi ejÎ                  eW¬I«      jÐ                  Zj ejÎ                  dJdJ¬K«      jÐ                  Zk ejÎ                  dJeWdJ¬L«      jÐ                  ZldM„ ZmdN„ Zn eejT                  dO«      djdP„«       Zo eep«      djdQ„«       Zq eejT                  ejT                  «      dR„ «       Zr e
jæ                  dS«      Zt eejê                  dT«      dU„ «       Zv eejê                  dV«      dW„ «       Zw eejê                  dX«      dY„ «       Zx eejê                  dD«      dZ„ «       Zy eejê                  d[«      dkd\„«       Zz eejê                  d]«      d^„ «       Z{ eejê                  dO«      djd_„«       Z| eejê                  dF«      d`„ «       Z}ej¾                  jÀ                  Z~ eejê                  d=«      de~fda„«       Z eejê                  d8«      db„ «       Z€ eejê                  d6«      dc„ «       Z€ eejp                  «      dd„ «       Z� eejf                  «      de„ «       Z‚ eej`                  «      df„ «       Zƒ ee)«      dg„ «       Z„ eejv                  «      dh„ «       Z… eejê                  ejê                  «      di„ «       Z†y)lz'
Support for native homogeneous lists.
é    N)Úcached_property)Úir)ÚtypesÚtypingÚerrorsÚcgutilsÚconfig)Úlower_builtinÚ
lower_castÚiternext_implÚimpl_ret_borrowedÚimpl_ret_new_refÚimpl_ret_untrackedÚRefType)Úoverload_methodÚoverload)Ú	quicksort)Úslicing©Úliteral_unrollc                 ó  — t        j                  |«      }| j                  j                  ||j                  «      }| j                  |«      j                  «       }|j                  ||«      }| j                  |||¬«      S )zy
    Given a list value and type, get its payload structure (as a
    reference, so that mutations are seen by all).
    ©Úref)	r   ÚListPayloadÚnrtÚmeminfo_dataÚmeminfoÚget_data_typeÚ
as_pointerÚbitcastÚmake_data_helper)ÚcontextÚbuilderÚ	list_typeÚvalueÚpayload_typeÚpayloadÚptrtys          új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/cpython/listobj.pyÚget_list_payloadr*      so   € ô
 ×$Ñ$ YÓ/€LØ�k‰k×&Ñ& w°·±Ó>€GØ×!Ñ! ,Ó/×:Ñ:Ó<€EØ�o‰o˜g uÓ-€GØ×#Ñ# G¨\¸wÐ#ÓGÐGó    c                 óZ   — | j                  |j                  «      }| j                  |«      S )z7
    Return the item size for the given list type.
    )r   ÚdtypeÚget_abi_sizeof)r"   r$   Úlltys      r)   Úget_itemsizer0   "   s)   € ð × Ñ  §¡Ó1€DØ×!Ñ! $Ó'Ð'r+   c                   ó–   — e Zd Zed„ «       Zej
                  d„ «       Zed„ «       Zed„ «       Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)Ú_ListPayloadMixinc                 ó.   — | j                   j                  S ©N©Ú_payloadÚsize©Úselfs    r)   r7   z_ListPayloadMixin.size,   s   € à�}‰}×!Ñ!Ð!r+   c                 ó&   — || j                   _        y r4   r5   ©r9   r%   s     r)   r7   z_ListPayloadMixin.size0   s   € à"ˆ�‰Õr+   c                 ó.   — | j                   j                  S r4   )r6   Údirtyr8   s    r)   r=   z_ListPayloadMixin.dirty4   s   € à�}‰}×"Ñ"Ð"r+   c                 ó8   — | j                   j                  d«      S )NÚdata)r6   Ú_get_ptr_by_namer8   s    r)   r?   z_ListPayloadMixin.data8   s   € à�}‰}×-Ñ-¨fÓ5Ð5r+   c                 óX   — t        j                  | j                  | j                  |«      S r4   )r   ÚgepÚ_builderr?   ©r9   Úidxs     r)   Ú_gepz_ListPayloadMixin._gep<   s   € Ü�{‰{˜4Ÿ=™=¨$¯)©)°SÓ9Ð9r+   c                 ó¦   — | j                  |«      }| j                  j                  |«      }| j                  j	                  | j                  |«      S r4   )rF   rC   ÚloadÚ
_datamodelÚ	from_data)r9   rE   ÚptrÚ	data_items       r)   Úgetitemz_ListPayloadMixin.getitem?   s>   € Ø�i‰i˜‹nˆØ—M‘M×&Ñ& sÓ+ˆ	Ø�‰×(Ñ(¨¯©¸	ÓBÐBr+   c                 óþ   — | j                   j                  d|t        j                  |j                  d«      «      }| j                   j                  || j                  «      }| j                   j                  |||«      S )zp
        Fix negative indices by adding the size to them.  Positive
        indices are left untouched.
        Ú<r   )rC   Úicmp_signedr   ÚConstantÚtypeÚaddr7   Úselect)r9   rE   Úis_negativeÚwrapped_indexs       r)   Ú	fix_indexz_ListPayloadMixin.fix_indexD   sb   € ð
 —m‘m×/Ñ/°°SÜ02·±¸C¿H¹HÀaÓ0HóJˆàŸ™×)Ñ)¨#¨t¯y©yÓ9ˆØ�}‰}×#Ñ# K°ÀÓDÐDr+   c                 óþ   — | j                   j                  d|t        j                  |j                  d«      «      }| j                   j                  d|| j
                  «      }| j                   j                  ||«      S )z<
        Return whether the index is out of bounds.
        rO   r   ú>=)rC   rP   r   rQ   rR   r7   Úor_)r9   rE   Ú	underflowÚoverflows       r)   Úis_out_of_boundsz"_ListPayloadMixin.is_out_of_boundsN   sb   € ð —M‘M×-Ñ-¨c°3Ü.0¯k©k¸#¿(¹(ÀAÓ.FóHˆ	à—=‘=×,Ñ,¨T°3¸¿	¹	ÓBˆØ�}‰}× Ñ  ¨HÓ5Ð5r+   c                 ó  — | j                   }t        j                  ||«      }t        j                  |j
                  d«      }| j                  }| j                   j                  d||«      }|j                  |d¬«      5  |j                  ||«       ddd«       | j                   j                  d||«      }|j                  |d¬«      5  |j                  ||«       ddd«       |j                  |«      S # 1 sw Y   ŒexY w# 1 sw Y   Œ&xY w)z/
        Clamp the index in [0, size].
        r   rO   F©ÚlikelyNrY   )rC   r   Úalloca_once_valuer   rQ   rR   r7   rP   Úif_thenÚstorerH   )r9   rE   r#   ÚidxptrÚzeror7   r[   r\   s           r)   Úclamp_indexz_ListPayloadMixin.clamp_indexW   sÕ   € ð —-‘-ˆÜ×*Ñ*¨7°CÓ8ˆä�{‰{˜3Ÿ8™8 QÓ'ˆØ�y‰yˆà—M‘M×-Ñ-¨c°3¸Ó=ˆ	Ø�_‰_˜Y¨uˆ_Õ5Ø�M‰M˜$ Ô'÷ 6à—=‘=×,Ñ,¨T°3¸Ó=ˆØ�_‰_˜X¨eˆ_Õ4Ø�M‰M˜$ Ô'÷ 5ð �|‰|˜FÓ#Ð#÷ 6Ð5ú÷ 5Ð4ús   Á?C6Ã
DÃ6C?ÄDc                 óò   — | j                   j                  | j                  |«      d¬«      5  | j                  j                  j                  | j                   t        |f«       ddd«       y# 1 sw Y   yxY w)z?
        Raise an error if the index is out of bounds.
        Fr_   N)rC   rb   r]   Ú_contextÚ	call_convÚreturn_user_excÚ
IndexError)r9   rE   Úmsgs      r)   Úguard_indexz_ListPayloadMixin.guard_indexj   sY   € ð �]‰]×"Ñ" 4×#8Ñ#8¸Ó#=ÀeÐ"ÕLØ�M‰M×#Ñ#×3Ñ3°D·M±MÜ4>ÀÀôH÷ M×LÑLús   ­7A-Á-A6c                 óX   — t        j                  | j                  || j                  «      S )zo
        Fix slice start and stop to be valid (inclusive and exclusive, resp)
        indexing bounds.
        )r   Ú	fix_slicerC   r7   )r9   Úslices     r)   ro   z_ListPayloadMixin.fix_slicer   s!   € ô
 × Ñ  §¡°°t·y±yÓAÐAr+   c                 óz   — | j                   j                  j                  | j                  | j                  |«       y)zIncref an element valueN)rh   r   ÚincrefrC   r-   ©r9   Úvals     r)   Úincref_valuez_ListPayloadMixin.incref_valuey   ó&   € à�‰×Ñ× Ñ  §¡°·
±
¸CÕ@r+   c                 óz   — | j                   j                  j                  | j                  | j                  |«       y)zDecref an element valueN)rh   r   ÚdecrefrC   r-   rs   s     r)   Údecref_valuez_ListPayloadMixin.decref_value}   rv   r+   N)Ú__name__Ú
__module__Ú__qualname__Úpropertyr7   Úsetterr=   r?   rF   rM   rW   r]   rf   rm   ro   ru   ry   © r+   r)   r2   r2   *   s‡   „ àñ"ó ð"ð 
‡[�[ñ#ó ð#ð ñ#ó ð#ð ñ6ó ð6ò:òCò
Eò6ò$ò&HòBòAóAr+   r2   c                   ó   — e Zd ZdZd„ Zy)ÚListPayloadAccessorzb
    A helper object to access the list attributes given the pointer to the
    payload type.
    c                 ó,  — || _         || _        || _        |j                  |j                     | _        t        j                  |«      }|j                  |«      j                  «       }|j                  ||«      }|j                  |||¬«      }|| _        y )Nr   )rh   rC   Ú_tyÚdata_model_managerr-   rI   r   r   r   r   r    r!   r6   )r9   r"   r#   r$   Úpayload_ptrr&   r(   r'   s           r)   Ú__init__zListPayloadAccessor.__init__‡   s‰   € ØˆŒØˆŒØˆŒØ!×4Ñ4°Y·_±_ÑEˆŒÜ×(Ñ(¨Ó3ˆØ×%Ñ% lÓ3×>Ñ>Ó@ˆØ—o‘o k°5Ó9ˆØ×*Ñ*¨7°LØ/:ð +ó <ˆàˆ�r+   N)rz   r{   r|   Ú__doc__r†   r   r+   r)   r�   r�   ‚   s   „ ñó
 r+   r�   c                   óð   — e Zd Zd„ Zed„ «       Zed„ «       Zed„ «       Zej                  d„ «       Zed„ «       Z	ed„ «       Z
d„ Zd	„ Zdd
„Zdd„Zd„ Zed„ «       Zd„ Zd„ Zed„ «       Zed„ «       Zd„ Zd„ Zy)ÚListInstancec                 ó¼   — || _         || _        || _        |j                  |||«      | _        t        ||«      | _        |j                  |j                     | _	        y r4   )
rh   rC   rƒ   Úmake_helperÚ_listr0   Ú	_itemsizer„   r-   rI   )r9   r"   r#   r$   Úlist_vals        r)   r†   zListInstance.__init__–   sQ   € ØˆŒØˆŒØˆŒØ×(Ñ(¨°)¸XÓFˆŒ
Ü% g¨yÓ9ˆŒØ!×4Ñ4°Y·_±_ÑEˆ�r+   c                 ó.   — | j                   j                  S r4   )rƒ   r-   r8   s    r)   r-   zListInstance.dtypež   s   € à�x‰x�~‰~Ðr+   c                 ón   — t        | j                  | j                  | j                  | j                  «      S r4   )r*   rh   rC   rƒ   rŒ   r8   s    r)   r6   zListInstance._payload¢   s%   € ô   §¡¨t¯}©}¸d¿h¹hÈÏ
É
ÓSÐSr+   c                 ó.   — | j                   j                  S r4   ©rŒ   Úparentr8   s    r)   r“   zListInstance.parent§   s   € à�z‰z× Ñ Ð r+   c                 ó&   — || j                   _        y r4   r’   r;   s     r)   r“   zListInstance.parent«   s   € à!ˆ�
‰
Õr+   c                 ó6   — | j                   j                  «       S r4   )rŒ   Ú	_getvaluer8   s    r)   r%   zListInstance.value¯   ó   € à�z‰z×#Ñ#Ó%Ð%r+   c                 ó.   — | j                   j                  S r4   )rŒ   r   r8   s    r)   r   zListInstance.meminfo³   s   € à�z‰z×!Ñ!Ð!r+   c                 ó”   — | j                   j                  r2|rt        j                  nt        j                  | j
                  _        y y r4   )rƒ   Ú	reflectedr   Útrue_bitÚ	false_bitr6   r=   rs   s     r)   Ú	set_dirtyzListInstance.set_dirty·   s0   € Ø�8‰8×ÒÙ69¤'×"2Ò"2¼w×?PÑ?PˆD�M‰MÕð r+   c           	      óº   — | j                  | j                  |«      «       | j                  || j                  j	                  ||j                  d«      «      «       y)z)Remove the value at the location
        é   N)ry   rM   ÚzfillrC   rS   rR   rD   s     r)   Úclear_valuezListInstance.clear_value»   sB   € ð 	×Ñ˜$Ÿ,™, sÓ+Ô,à�
‰
�3˜Ÿ™×)Ñ)¨#¨s¯x©x¸«{Ó;Õ<r+   c                 ó8  — |r | j                  | j                  |«      «       | j                  |«      }| j                  j	                  | j
                  |«      }| j
                  j                  ||«       | j                  d«       |r| j                  |«       y y )NT)	ry   rM   rF   rI   Úas_datarC   rc   r�   ru   )r9   rE   rt   rr   Údecref_old_valuerK   rL   s          r)   ÚsetitemzListInstance.setitemÂ   sy   € áØ×Ñ˜dŸl™l¨3Ó/Ô0à�i‰i˜‹nˆØ—O‘O×+Ñ+¨D¯M©M¸3Ó?ˆ	Ø�‰×Ñ˜I sÔ+Ø�‰�tÔÙà×Ñ˜cÕ"ð r+   c                 óÒ   — | j                  |«      }| j                  j                  | j                  |«      }| j                  j	                  ||«       |r| j                  |«       y y r4   )rF   rI   r£   rC   rc   ru   )r9   rE   rt   rr   rK   rL   s         r)   ÚinititemzListInstance.inititemÏ   sS   € Ø�i‰i˜‹nˆØ—O‘O×+Ñ+¨D¯M©M¸3Ó?ˆ	Ø�‰×Ñ˜I sÔ+ÙØ×Ñ˜cÕ"ð r+   c           	      óx  — | j                   }| j                  |«      }| j                  |«      }| j                  j                  t        j
                  «      }|j                  |j                  ||«      |j                  ||«      «      }t        j                  ||| t        j                  d«      d«      «       y)zjZero-fill the memory at index *start* to *stop*

        *stop* MUST not be smaller than *start*.
        é   r   N)rC   rF   rh   Úget_value_typer   ÚintpÚsubÚptrtointr   Úmemsetr   ÚIntType)r9   ÚstartÚstopr#   ÚbaseÚendÚ	intaddr_tr7   s           r)   r    zListInstance.zfillÖ   sŽ   € ð
 —-‘-ˆØ�y‰y˜ÓˆØ�i‰i˜‹oˆØ—M‘M×0Ñ0´·±Ó<ˆ	Ø�{‰{˜7×+Ñ+¨C°Ó;Ø"×+Ñ+¨D°)Ó<ó>ˆä�‰�w  d¨M¬B¯J©J°q«M¸!Ó,<Õ=r+   c           	      ó  — |j                  t        j                  «      }t        |t        «      rt        j                  ||«      }|j                  t        j                  |«      «      }|j                  |«      }t        ||«      }||z  }t        j                  |t        j                  «      }	 | |||d«      }
t        j                  ||t        j                  ||«      t        j                  ||«      «      \  }}|j                  |d¬«      5  |j!                  t        j"                  |	«       ddd«       |j                  |j%                  |	«      d¬«      5  |j&                  j)                  |||
j+                  «       ¬«      }|j-                  t        j.                  ||«      d¬«      5 \  }}|5  |j!                  t        j"                  |	«       ddd«       |5  ||
j0                  _        |j5                  t        j6                  «      |
j0                  _        ||
j:                  _        t        j                  |d«      |
j:                  _        t        j"                  |
j:                  _         |
jC                  |
j>                  jE                  d«      |«       ddd«       ddd«       ddd«       |j%                  |	«      |
fS # 1 sw Y   �ŒœxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒFxY w# 1 sw Y   ŒJxY w# 1 sw Y   ŒNxY w)zð
        Allocate a ListInstance with its storage.
        Return a (ok, instance) tuple where *ok* is a LLVM boolean and
        *instance* is a ListInstance object (the object's contents are
        only valid when *ok* is true).
        NFr_   T)r7   Údtorr   )#rª   r   r«   Ú
isinstanceÚintr   rQ   r   r   r.   r0   r   ra   r›   Úmuladd_with_overflowrb   rc   rœ   rH   r   Ú"meminfo_new_varsize_dtor_uncheckedÚget_dtorÚif_elseÚis_nullrŒ   r   Úget_constant_nullÚpyobjectr“   r6   Ú	allocatedr7   r=   r    rR   )Úclsr"   r#   r$   ÚnitemsÚintp_tr&   Úpayload_sizeÚitemsizeÚokr9   Ú	allocsizeÚovfr   Úif_errorÚif_oks                   r)   Úallocate_exzListInstance.allocate_exã   sM  € ð ×'Ñ'¬¯
©
Ó3ˆä�fœcÔ"Ü—[‘[ ¨Ó0ˆFà×,Ñ,¬U×->Ñ->¸yÓ-IÓJˆØ×-Ñ-¨lÓ;ˆä ¨Ó3ˆà˜Ñ ˆä×&Ñ& w´×0@Ñ0@ÓAˆÙ�7˜G Y°Ó5ˆô !×5Ñ5°g¸vÜ68·k±kÀ&È(Ó6SÜ68·k±kÀ&È,Ó6WóY‰ˆ	�3ð �_‰_˜S¨ˆ_Õ/Ø�M‰Mœ'×+Ñ+¨RÔ0÷ 0ð �_‰_˜WŸ\™\¨"Ó-°dˆ_Õ;Ø—k‘k×DÑDØ˜i¨d¯m©m«oð Eó ?ˆGà—‘¤§¡°¸'Ó!BØ(-ð !ô /Ù2C°8¸UÚØ—M‘M¤'×"3Ñ"3°RÔ8÷ âØ)0�D—J‘JÔ&Ø(/×(AÑ(AÄ%Ç.Á.Ó(Q�D—J‘JÔ%Ø.4�D—M‘MÔ+Ü)+¯©°V¸QÓ)?�D—M‘MÔ&Ü*1×*;Ñ*;�D—M‘MÔ'à—J‘J˜tŸy™yŸ~™~¨aÓ0°&Ô9÷ ÷	/÷ <ð  �|‰|˜BÓ Ð%Ð%÷' 0Ñ/ú÷ ‘Xúç�Uú÷	/ð /ú÷ <Ð;úsb   Ä!KÅAK>Æ0K2Æ6!KÇ
K2Ç!C K&Ê!K2Ê)K>ËKËK#ËK2Ë&K/Ë+K2Ë2K;	Ë7K>Ë>Lc                 ó&  — | j                   }| j                  }|j                  }t        j                  t        j
                  «       t        j                  g«      }t        j                  ||dj                  | j                  «      «      }|j                  s|S d|_        t        j                  |j                  «       «      }|j                  d   }t!        ||| j"                  |«      }|j$                  j&                  }t        j(                  | |d«      |j$                   |d«      |¬«      5 \  }	}
|j+                  |	«      }|j,                  j/                  || j                  |«       ddd«       |j1                  «        |S # 1 sw Y   ŒxY w)z,Define the destructor if not already definedz.dtor.list.{}Úlinkonce_odrr   rŸ   )r°   r±   Ústepr«   N)rh   rC   Úmoduler   ÚFunctionTypeÚVoidTyper   Ú	voidptr_tÚget_or_insert_functionÚformatr-   Úis_declarationÚlinkageÚ	IRBuilderÚappend_basic_blockÚargsr�   rƒ   r7   rR   Úfor_range_slicerM   r   rx   Úret_void)r9   r"   r#   ÚmodÚfntyÚfnÚbase_ptrr'   r«   rE   Ú_rt   s               r)   Údefine_dtorzListInstance.define_dtor  s;  € à—-‘-ˆØ—-‘-ˆØ�n‰nˆä�‰œrŸ{™{›}¬w×/@Ñ/@Ð.AÓBˆÜ×+Ñ+¨C°Ø,;×,BÑ,BÀ4Ç:Á:Ó,NóPˆà× Ò àˆIØ#ˆŒ
ä—,‘,˜r×4Ñ4Ó6Ó7ˆØ—7‘7˜1‘:ˆô & g¨w¸¿¹À(ÓKˆð �|‰|× Ñ ˆÜ×$Ñ$Ø™t A›w¨W¯\©\ÁÀQÃØõá&˜s AØ—/‘/ #Ó&ˆCØ�K‰K×Ñ˜w¨¯
©
°CÔ8÷	ð
 	×ÑÔØˆ	÷ð ús   Ä1<FÆFc                 óz   — | j                  «       }| j                  j                  |t        j                  «      }|S )zp"Get the element dtor function pointer as void pointer.

        It's safe to be called multiple times.
        )rá   rC   r    r   rÒ   )r9   r¶   Ú
dtor_fnptrs      r)   r»   zListInstance.get_dtor1  s4   € ð ×ÑÓ!ˆØ—]‘]×*Ñ*¨4´×1BÑ1BÓCˆ
ØÐr+   c                 óæ   — | j                  ||||«      \  }}|j                  |j                  |«      d¬«      5  |j                  j	                  |t
        d«       ddd«       |S # 1 sw Y   |S xY w)zù
        Allocate a ListInstance with its storage.  Same as allocate_ex(),
        but return an initialized *instance*.  If allocation failed,
        control is transferred to the caller using the target's current
        call convention.
        Fr_   )zcannot allocate listN)rË   rb   Únot_ri   rj   ÚMemoryError)rÁ   r"   r#   r$   rÂ   rÆ   r9   s          r)   ÚallocatezListInstance.allocate;  sj   € ð —?‘? 7¨G°YÀÓG‰ˆˆDØ�_‰_˜WŸ\™\¨"Ó-°eˆ_Õ<Ø×Ñ×-Ñ-¨g´{Ø.GôI÷ =ð ˆ÷ =ð ˆús   º"A&Á&A0c                 óè   —  | |||d«      }||j                   _        |j                  t        j                  «      |j                   _        |j                  j                  |||j                  «       |S )z©
        Allocate a new list instance pointing to an existing payload
        (a meminfo pointer).
        Note the parent field has to be filled by the caller.
        N)	rŒ   r   r¾   r   r¿   r“   r   rr   r%   )rÁ   r"   r#   r$   r   r9   s         r)   Úfrom_meminfozListInstance.from_meminfoI  sZ   € ñ �7˜G Y°Ó5ˆØ$ˆ�
‰
ÔØ#×5Ñ5´e·n±nÓEˆ�
‰
ÔØ�‰×Ñ˜7 I¨t¯z©zÔ:àˆr+   c                 ó$  ‡ ‡	‡
‡‡— ˆ	ˆ
ˆˆˆ fd„}‰ j                   Š
‰ j                  Š	|j                  Št        ‰
‰ j                  «      Š‰ j
                  j                  }t        j                  ‰d«      }t        j                  ‰d«      }‰	j                  d||«      }‰	j                  d‰	j                  ||«      |«      }‰	j                  |d¬«      5   ||«       ddd«       ‰	j                  |d¬«      5  ‰	j                  |‰	j                  |‰	j                  ||«      «      «      } ||«       ‰ j                  ‰ j                  |«       ddd«       |‰ j
                  _        ‰ j                  d	«       y# 1 sw Y   ŒžxY w# 1 sw Y   Œ8xY w)
zE
        Ensure the list is properly sized for the new size.
        c           	      ó\  •— ‰j                  t        j                  ‰
j                  «      «      }‰j	                  |«      }|‰	z  }t        j                  ‰| t        j                  ‰‰	«      t        j                  ‰|«      «      \  }}‰j                  |d¬«      5  ‰j                  j                  ‰t        d«       d d d «       ‰j                  j                  ‰‰
j                  j                   |¬«      }t        j"                  ‰‰|d«       | ‰
j$                  _        y # 1 sw Y   ŒexY w)NFr_   )úcannot resize list)r7   rì   )r   r   r   rƒ   r.   r   r¹   r   rQ   rb   ri   rj   ræ   r   Ú!meminfo_varsize_realloc_uncheckedrŒ   r   Úguard_memory_errorr6   rÀ   )Únew_allocatedr&   rÄ   rÇ   rÈ   rK   r#   r"   rÃ   rÅ   r9   s         €€€€€r)   Ú_payload_reallocz-ListInstance.resize.<locals>._payload_realloc[  s  ø€ Ø"×0Ñ0´×1BÑ1BÀ4Ç8Á8Ó1LÓMˆLØ"×1Ñ1°,Ó?ˆLà˜HÑ$ˆLä$×9Ñ9Ø˜Ü—‘˜F HÓ-Ü—‘˜F LÓ1ó3‰NˆI�sð —‘ ¨U�Õ3Ø×!Ñ!×1Ñ1°'¼;Ø2IôK÷ 4ð —+‘+×?Ñ?ÀØ@DÇ
Á
×@RÑ@RØENð @ó PˆCô ×&Ñ& w°¸Ø';ô=à&3ˆD�M‰MÕ#÷ 4Ð3ús   Â"D"Ä"D+é   r©   rO   Ú>Fr_   NT)rh   rC   rR   r0   rƒ   r6   rÀ   r   rQ   rP   Úashrrb   rS   r    r7   r�   )r9   Únew_sizerð   rÀ   ÚtwoÚeightÚis_too_smallÚis_too_largerï   r#   r"   rÃ   rÅ   s   `        @@@@r)   ÚresizezListInstance.resizeW  sJ  ü€ ÷	4ð 	4ð* —-‘-ˆØ—-‘-ˆØ—‘ˆä ¨¯©Ó2ˆØ—M‘M×+Ñ+ˆ	ä�k‰k˜& !Ó$ˆÜ—‘˜F AÓ&ˆð ×*Ñ*¨3°	¸8ÓDˆà×*Ñ*¨3°·±¸YÈÓ0LÈhÓWˆà�_‰_˜\°%ˆ_Õ8ñ ˜XÔ&÷	 9ð �_‰_˜\°%ˆ_Õ8à#ŸK™K¨Ø(/¯©°HØ4;·L±LÀÈ3Ó4Oó)QóRˆMñ ˜]Ô+Ø�J‰J�t—y‘y -Ô0÷ 9ð &ˆ�‰ÔØ�‰�tÕ÷ 9Ð8ú÷ 9Ð8ús   Ã	E:Ã8AFÅ:FÆFc                 óÆ   — | j                  |«      }| j                  |«      }t        j                  | j                  |||| j                  ¬«       | j                  d«       y)zE
        Move `count` elements from `src_idx` to `dest_idx`.
        )rÅ   TN)rF   r   Úraw_memmoverC   r�   r�   )r9   Údest_idxÚsrc_idxÚcountÚdest_ptrÚsrc_ptrs         r)   ÚmovezListInstance.move�  sO   € ð —9‘9˜XÓ&ˆØ—)‘)˜GÓ$ˆÜ×Ñ˜DŸM™M¨8°WØ!¨D¯N©Nõ	<ð 	�‰�tÕr+   N)T)rz   r{   r|   r†   r}   r-   r6   r“   r~   r%   r   r�   r¡   r¥   r§   r    ÚclassmethodrË   rá   r»   rç   ré   rù   r  r   r+   r)   r‰   r‰   ”   sò   „ òFð ñó ðð ñTó ðTð ñ!ó ð!ð ‡]�]ñ"ó ð"ð ñ&ó ð&ð ñ"ó ð"òQò=ó#ó#ò>ð ñ-&ó ð-&ò^ò<ð ñó ðð ñó ðò7ór	r+   r‰   c                   óv   — e Zd Zd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	e	j                  d„ «       Z	y)ÚListIterInstancec                 óš   — || _         || _        || _        |j                  |||«      | _        |j
                  |j                     | _        y r4   )rh   rC   rƒ   r‹   Ú_iterr„   Ú
yield_typerI   )r9   r"   r#   Ú	iter_typeÚiter_vals        r)   r†   zListIterInstance.__init__�  sE   € ØˆŒØˆŒØˆŒØ×(Ñ(¨°)¸XÓFˆŒ
Ø!×4Ñ4°Y×5IÑ5IÑJˆ�r+   c                 ó  — t        |||j                  |«      } | |||d «      }|j                  t        j                  d«      }t        j                  ||«      |j                  _        |j                  |j                  _	        |S ©Nr   )
r‰   Ú	containerÚget_constantr   r«   r   ra   r  Úindexr   )rÁ   r"   r#   r  rŽ   Ú	list_instr9   r  s           r)   Ú	from_listzListIterInstance.from_list¤  sn   € ä  ¨'°9×3FÑ3FÈÓQˆ	Ù�7˜G Y°Ó5ˆØ×$Ñ$¤U§Z¡Z°Ó3ˆÜ"×4Ñ4°W¸eÓDˆ�
‰
ÔØ&×.Ñ.ˆ�
‰
ÔØˆr+   c                 ó‚   — t        | j                  | j                  | j                  j                  | j
                  «      S r4   )r*   rh   rC   rƒ   r  r  r8   s    r)   r6   zListIterInstance._payload­  s2   € ô   §¡¨t¯}©}Ø $§¡× 2Ñ 2°D·J±Jó@ð 	@r+   c                 ó6   — | j                   j                  «       S r4   )r  r–   r8   s    r)   r%   zListIterInstance.value³  r—   r+   c                 ó`   — | j                   j                  | j                  j                  «      S r4   )rC   rH   r  r  r8   s    r)   r  zListIterInstance.index·  s!   € à�}‰}×!Ñ! $§*¡*×"2Ñ"2Ó3Ð3r+   c                 ód   — | j                   j                  || j                  j                  «       y r4   )rC   rc   r  r  r;   s     r)   r  zListIterInstance.index»  s    € à�‰×Ñ˜E 4§:¡:×#3Ñ#3Õ4r+   N)rz   r{   r|   r†   r  r  r}   r6   r%   r  r~   r   r+   r)   r  r  ›  sr   „ òKð ñó ðð ñ@ó ð@ð
 ñ&ó ð&ð ñ4ó ð4ð ‡\�\ñ5ó ñ5r+   r  c                 óL  — t        |«      }t        j                  | |||«      }| j                  t        j
                  |«      |_        t        |«      D ]7  \  }}|j                  | j                  t        j
                  |«      |d¬«       Œ9 t        | |||j                  «      S )zE
    Build a list of the given type, containing the given items.
    T©rr   )Úlenr‰   rç   r  r   r«   r7   Ú	enumerater¥   r   r%   )r"   r#   r$   ÚitemsrÂ   ÚinstÚirt   s           r)   Ú
build_listr  Ã  sˆ   € ô �‹Z€FÜ× Ñ  ¨'°9¸fÓE€Dà×$Ñ$¤U§Z¡Z°Ó8€D„IÜ˜EÖ"‰ˆˆ3Ø�‰�W×)Ñ)¬%¯*©*°aÓ8¸#ÀdˆÕKð #ô ˜G W¨i¸¿¹ÓDÐDr+   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó,   — g }|j                  | «       |S r4   )Úextend)ÚiterableÚress     r)   Ú	list_implz#list_constructor.<locals>.list_implÔ  s   € ØˆØ�
‰
�8ÔØˆ
r+   ©Úcompile_internal)r"   r#   ÚsigrÙ   r"  s        r)   Úlist_constructorr&  Ñ  s    € òð
 ×#Ñ# G¨Y¸¸TÓBÐBr+   c                 ó~   — |j                   }d}t        j                  | |||«      }t        | |||j                  «      S r  )Úreturn_typer‰   rç   r   r%   )r"   r#   r%  rÙ   r$   Úlist_lenr  s          r)   r&  r&  Û  s;   € à—‘€IØ€HÜ× Ñ  ¨'°9¸hÓG€DÜ˜G W¨i¸¿¹ÓDÐDr+   c                 óV   — t        | ||j                  d   |d   «      }|j                  S r  )r‰   rÙ   r7   ©r"   r#   r%  rÙ   r  s        r)   r)  r)  å  s(   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�9‰9Ðr+   Úgetiterc                 ó�   — t         j                  | ||j                  |d   «      }t        | ||j                  |j                  «      S r  )r  r  r(  r   r%   r+  s        r)   Úgetiter_listr.  ê  s9   € ä×%Ñ% g¨w¸¿¹ÈÈaÉÓQ€DÜ˜W g¨s¯©ÀÇ
Á
ÓKÐKr+   Úiternextc                 ó®  — t        | ||j                  d   |d   «      }|j                  }|j                  }|j	                  d||«      }|j                  |«       |j                  |«      5  |j                  |j                  |«      «       |j                  || j                  t        j                  d«      «      |_        d d d «       y # 1 sw Y   y xY w)Nr   rO   rŸ   )r  rÙ   r  r7   rP   Ú	set_validrb   Úyield_rM   rS   r  r   r«   )	r"   r#   r%  rÙ   Úresultr  r  rÂ   Úis_valids	            r)   Úiternext_listiterr5  ï  s¤   € ô ˜G W¨c¯h©h°q©k¸4À¹7ÓC€Dà�J‰J€EØ�Y‰Y€FØ×"Ñ" 3¨¨vÓ6€HØ
×Ñ�XÔà	�‰˜Õ	"Ø�‰�d—l‘l 5Ó)Ô*Ø—[‘[ ¨×(<Ñ(<¼U¿Z¹ZÈÓ(KÓLˆŒ
÷ 
#×	"Ñ	"ús   Á,ACÃCc                 óâ   — t        | ||j                  d   |d   «      }|d   }|j                  |«      }|j                  |d¬«       |j	                  |«      }t        | ||j                  |«      S )Nr   rŸ   zgetitem out of range©rl   )r‰   rÙ   rW   rm   rM   r   r(  )r"   r#   r%  rÙ   r  r  r3  s          r)   Úgetitem_listr8  þ  sl   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�‰G€Eà�N‰N˜5Ó!€EØ×Ñ�UÐ 6ÐÔ7Ø�\‰\˜%Ó €Fä˜W g¨s¯©ÀÓGÐGr+   c                 óâ   — t        | ||j                  d   |d   «      }|d   }|d   }|j                  |«      }|j                  |d¬«       |j	                  ||d¬«       | j                  «       S )Nr   rŸ   rñ   zsetitem out of ranger7  Tr  )r‰   rÙ   rW   rm   r¥   Úget_dummy_value)r"   r#   r%  rÙ   r  r  r%   s          r)   Úsetitem_listr;  	  ss   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�‰G€EØ�‰G€Eà�N‰N˜5Ó!€EØ×Ñ�UÐ 6ÐÔ7Ø‡L�L�˜ d€LÔ+Ø×"Ñ"Ó$Ð$r+   c                 óJ  — t        | ||j                  d   |d   «      }| j                  ||j                  d   |d   «      }t        j                  | ||j                  d   |«       |j                  |«       t        j                  ||«      }t         j                  | ||j                  |«      }||_	        t        j                  ||j                  |j                  |j                  «      5 \  }}	|5 \  }
}|j                  |
«      }|j!                  ||d¬«       d d d «       |	5 \  }
}|j                  |
«      }|j!                  ||d¬«       d d d «       d d d «       t#        | ||j                  |j$                  «      S # 1 sw Y   ŒfxY w# 1 sw Y   Œ?xY w# 1 sw Y   ŒCxY w©Nr   rŸ   Tr  )r‰   rÙ   r‹   r   Úguard_invalid_slicero   Úget_slice_lengthrç   r(  r7   r   Úfor_range_slice_genericr°   r±   rÎ   rM   r§   r   r%   )r"   r#   r%  rÙ   r  rp   Úresult_sizer3  Ú	pos_rangeÚ	neg_rangerE   rþ   r%   s                r)   Úgetslice_listrD    sa  € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ×Ñ ¨¯©°!©°d¸1±gÓ>€EÜ×Ñ ¨°#·(±(¸1±+¸uÔEØ‡N�N�5Ôô ×*Ñ*¨7°EÓ:€KÜ×"Ñ" 7¨G°S·_±_Ø#.ó0€Fà€F„KÜ	×	(Ñ	(¨°%·+±+¸u¿z¹zØ).¯©ô
5Ù8N¸ÀIÙ™,˜3 Ø—L‘L Ó%ˆEØ�O‰O˜E 5°ˆOÔ6÷ ñ ™,˜3 Ø—L‘L Ó%ˆEØ�O‰O˜E 5°ˆOÔ6÷ ÷
5ô ˜G W¨c¯o©o¸v¿|¹|ÓLÐL÷ ˆYú÷ ˆYú÷
5ð 
5ús<   Ã-FÃ3)FÄ
FÄ&)FÅFÆF
	ÆFÆF	ÆFÆF"c           	      ó&	  — t        | ||j                  d   |d   «      }t        | ||j                  d   |d   «      }| j                  ||j                  d   |d   «      }t        j                  | ||j                  d   |«       |j                  |«       |j                  }t        j                  ||«      }|j                  |j                  |«      }	t        j                  |	j                  d«      }
t        j                  |	j                  d«      }|j                  |j                  d|j                  |«      «      5 \  }}|5  |j                  |j                   |«      }|j                  |j                  |«      }|j#                  |j                  d|	|
«      «      5  |j%                  |j                  |j                  |	«      «       |j'                  |j                  ||	«      ||«       d d d «       |j#                  |j                  d|	|
«      «      5  |j'                  |j                  ||	«      ||«       |j%                  |j                  |j                  |	«      «       d d d «       |j                   }t)        j*                  ||«      5 }|j-                  |j.                  «      }|j1                  |j                  |j.                  |«      |d¬«       d d d «       d d d «       |5  |j#                  |j                  d	|	|
«      «      5  d
}| j2                  j5                  |t6        |f«       d d d «       t)        j8                  ||j                   |j:                  |j                  «      5 \  }}|5 \  }}|j-                  |«      }|j1                  ||d¬«       d d d «       |5 \  }}|j-                  |«      }|j1                  ||d¬«       d d d «       d d d «       d d d «       d d d «       | j=                  «       S # 1 sw Y   �ŒxY w# 1 sw Y   �Œ­xY w# 1 sw Y   �ŒFxY w# 1 sw Y   �ŒKxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¥xY w# 1 sw Y   Œ~xY w# 1 sw Y   Œ‚xY w# 1 sw Y   Œ†xY w# 1 sw Y   | j=                  «       S xY w)Nr   rñ   rŸ   ú==rò   rO   Tr  ú!=z0cannot resize extended list slice with step != 1)r‰   rÙ   r‹   r   r>  ro   r7   r?  r¬   r   rQ   rR   r¼   rP   rÎ   rS   r°   rb   rù   r  r   Ú	for_rangerM   r  r¥   ri   rj   Ú
ValueErrorr@  r±   r:  )r"   r#   r%  rÙ   ÚdestÚsrcrp   Úsrc_sizeÚ
avail_sizeÚ
size_deltare   ÚoneÚthenÚ	otherwiseÚ	real_stopÚ	tail_sizeÚdest_offsetÚloopr%   rl   rB  rC  r  rþ   s                           r)   r;  r;  ,  sš  € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DÜ
�w ¨¯©°!©°d¸1±gÓ
>€Cà×Ñ ¨¯©°!©°d¸1±gÓ>€EÜ×Ñ ¨°#·(±(¸1±+¸uÔEØ‡N�N�5Ôà�x‰x€HÜ×)Ñ)¨'°5Ó9€JØ—‘˜SŸX™X zÓ2€Jä�;‰;�z—‘¨Ó*€DÜ
�+‰+�j—o‘o qÓ
)€Cà	�‰˜×,Ñ,¨T°5·:±:¸sÓCÔ	DÑHYÈÈyÚð  Ÿ™ E§K¡K°Ó<ˆIàŸ™ D§I¡I¨yÓ9ˆIà—‘ ×!4Ñ!4°S¸*ÀdÓ!KÕLà—‘˜GŸK™K¨¯	©	°:Ó>Ô?Ø—	‘	˜'Ÿ+™+ i°Ó<¸iØ#ô%÷ Mð —‘ ×!4Ñ!4°S¸*ÀdÓ!KÕLà—	‘	˜'Ÿ+™+ i°Ó<¸iØ#ô%à—‘˜GŸK™K¨¯	©	°:Ó>Ô?÷	 Mð  Ÿ+™+ˆKä×"Ñ" 7¨HÔ5¸ØŸ™ D§J¡JÓ/�Ø—‘˜WŸ[™[¨¯©°[ÓAÀ5ÐQU�ÔV÷ 6÷- ò4 Ø—‘ ×!4Ñ!4°T¸:ÀtÓ!LÕMØH�Ø×!Ñ!×1Ñ1°'¼:ÈÀvÔN÷ Nô ×0Ñ0Ø˜Ÿ™ e§j¡j°%·*±*ô>ÙAWÀ)ÈYÙ¡. 5¨%ØŸK™K¨Ó.�EØ—L‘L ¨°d�LÔ;÷ ñ ¡. 5¨%ØŸK™K¨Ó.�EØ—L‘L ¨°d�LÔ;÷ ÷>÷ ÷7 
EðR ×"Ñ"Ó$Ð$÷A MÑLú÷ MÑLú÷ 6Ñ5ú÷- ‰Tú÷6 NÑMú÷ �Yú÷ �Yú÷>ð >ú÷ ˆYú÷7 
EðR ×"Ñ"Ó$Ð$úsè   Å Q8ÅAP.Æ!APÇ0*P.ÈAPÉ)*P.ÊA
P!ËP.Ë%
Q8Ë/#Q,Ì%P;Ì7>Q,Í5Q Í;)Q	Î$
Q Î.)Q	ÏQ ÏQ,Ï'Q8ÐPÐP.ÐPÐP.Ð!P+Ð&P.Ð.P8	Ð3Q8Ð;QÑ Q,ÑQÑQ ÑQÑQ Ñ Q)Ñ%Q,Ñ,Q5	Ñ1Q8Ñ8Rc                 ó0   — d„ }| j                  ||||«      S )Nc                 ó&   — | j                  |«       y r4   )Úpop)Úlstr  s     r)   Úlist_delitem_implz-delitem_list_index.<locals>.list_delitem_impll  s   € Ø�‰��
r+   r#  )r"   r#   r%  rÙ   rZ  s        r)   Údelitem_list_indexr[  i  s!   € òð ×#Ñ# GÐ->ÀÀTÓJÐJr+   c                 óø  — t        | ||j                  d   |d   «      }| j                  ||j                  d   |d   «      }t        j                  | ||j                  d   |«       |j                  |«       t        j                  ||«      }t        j                  |j                  d«      }|j                  |j                  d|j                  |«      d¬«      5  d}| j                  j                  |t        |f«       d d d «       |j                   }	|j#                  |	|«      }
t%        j&                  ||	|
|	j                  d«      «      5 \  }}|j)                  |j+                  |«      «       d d d «       |j-                  |j.                  |
«      }|j1                  |	|
|«       |j3                  |j-                  |j.                  |«      «       | j5                  «       S # 1 sw Y   ŒäxY w# 1 sw Y   ŒxY w)Nr   rŸ   rG  Fr_   z4unsupported del list[start:stop:step] with step != 1)r‰   rÙ   r‹   r   r>  ro   r?  r   rQ   rR   rb   rP   rÎ   ri   rj   ÚNotImplementedErrorr°   rS   r   rÚ   ry   rM   r¬   r7   r  rù   r:  )r"   r#   r%  rÙ   r  rp   Ú	slice_lenrO  rl   r°   rR  rE   rà   rS  s                 r)   Údelitem_listr_  r  s—  € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ×Ñ ¨¯©°!©°d¸1±gÓ>€Eä×Ñ ¨°#·(±(¸1±+¸uÔEØ‡N�N�5Ôä×(Ñ(¨°%Ó8€Iä
�+‰+�i—n‘n aÓ
(€Cà	�‰˜×,Ñ,¨T°5·:±:¸sÓCÈEˆÕ	RØDˆØ×Ñ×)Ñ)¨'Ô3FÈÈÔO÷ 
Sð
 �K‰K€EØ—‘˜E 9Ó-€Iä	×	 Ñ	 Ø�U˜I u§z¡z°!£}ô
á�#�qØ×Ñ˜$Ÿ,™, sÓ+Ô,÷
ð —‘˜DŸI™I yÓ1€IØ‡I�Iˆe�Y 	Ô*Ø‡K�K�—‘˜DŸI™I yÓ1Ô2à×"Ñ"Ó$Ð$÷% 
SÐ	Rú÷
ð 
ús   Ã%G$Å$G0Ç$G-Ç0G9c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó    — | D ]	  }||k(  sŒ	 y y©NTFr   )rY  r%   Úelems      r)   Úseq_contains_implz!in_seq.<locals>.seq_contains_impl—  s   € ÛˆDØ�u‹}Ùð ð r+   r#  )r"   r#   r%  rÙ   rd  s        r)   Úin_seqre  •  s!   € òð ×#Ñ# GÐ->ÀÀTÓJÐJr+   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó   — t        | «      dk7  S r  ©r  ©Úseqs    r)   Úsequence_bool_implz)sequence_bool.<locals>.sequence_bool_impl¡  s   € Ü�3‹x˜1‰}Ðr+   r#  )r"   r#   r%  rÙ   rk  s        r)   Úsequence_boolrl  Ÿ  s!   € òð ×#Ñ# GÐ-?ÀÀdÓKÐKr+   c                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó   — t        | «      dk7  S r  rh  ri  s    r)   Úimplzsequence_truth.<locals>.implª  s   € Ü�s“8˜q‘=Ð r+   )r·   r   ÚSequence)rj  ro  s     r)   Úsequence_truthrq  §  s   € ä�#”u—~‘~Ô&ò	!àˆð 'r+   c                 ó´  — t        | ||j                  d   |d   «      }t        | ||j                  d   |d   «      }|j                  }|j                  }|j                  ||«      }t         j	                  | ||j
                  |«      }	||	_        t        j                  ||«      5 }
|j                  |
j                  «      }| j                  |||j                  |	j                  «      }|	j                  |
j                  |d¬«       d d d «       t        j                  ||«      5 }
|j                  |
j                  «      }| j                  |||j                  |	j                  «      }|	j                  |j                  |
j                  |«      |d¬«       d d d «       t        | ||j
                  |	j                  «      S # 1 sw Y   Œ»xY w# 1 sw Y   Œ7xY wr=  )r‰   rÙ   r7   rS   rç   r(  r   rH  rM   r  Úcastr-   r¥   r   r%   )r"   r#   r%  rÙ   ÚaÚbÚa_sizeÚb_sizerÂ   rJ  rU  r%   s               r)   Úlist_addrx  ¯  sm  € ä�W˜g s§x¡x°¡{°D¸±GÓ<€AÜ�W˜g s§x¡x°¡{°D¸±GÓ<€Aà�V‰V€FØ�V‰V€FØ�[‰[˜ Ó(€FÜ× Ñ  ¨'°3·?±?ÀFÓK€DØ€D„Iä	×	Ñ	˜7 FÔ	+¨tØ—	‘	˜$Ÿ*™*Ó%ˆØ—‘˜W e¨Q¯W©W°d·j±jÓAˆØ�‰�T—Z‘Z ¨tˆÔ4÷ 
,ô 
×	Ñ	˜7 FÔ	+¨tØ—	‘	˜$Ÿ*™*Ó%ˆØ—‘˜W e¨Q¯W©W°d·j±jÓAˆØ�‰�W—[‘[ §¡¨VÓ4°eÀDˆÔI÷ 
,ô
 ˜G W¨c¯o©o¸t¿z¹zÓJÐJ÷ 
,Ð	+ú÷ 
,Ð	+ús   Â&A"GÄ&A2GÇGÇGc                 óÆ   — |j                   d   j                  |j                  j                  k(  sJ ‚t        | |||«      }t	        | ||j                  |j
                  «      S r  )rÙ   r-   r(  Ú_list_extend_listr   r%   )r"   r#   r%  rÙ   rJ  s        r)   Úlist_add_inplacer{  Å  sQ   € à�8‰8�A‰;×Ñ §¡× 5Ñ 5Ò5Ð5Ð5Ü˜W g¨s°DÓ9€Dä˜W g¨s¯©ÀÇ
Á
ÓKÐKr+   c                 óX  — t        |j                  d   t        j                  «      rd\  }}nd\  }}t	        | ||j                  |   ||   «      }|j
                  }||   }t        j                  |j                  d«      }	|j                  t        j                  ||«      |	|«      }|j                  ||«      }
t        j                  | ||j                  |
«      }|
|_        t        j                  ||	|
|d¬«      5 \  }}t        j                   ||«      5 }|j#                  |j$                  «      }|j'                  |j)                  |j$                  |«      |d¬«       d d d «       d d d «       t+        | ||j                  |j,                  «      S # 1 sw Y   Œ3xY w# 1 sw Y   Œ7xY w)Nr   )r   rŸ   )rŸ   r   T©Úincr  )r·   rÙ   r   ÚListr‰   r7   r   rQ   rR   rT   r   Ú
is_neg_intÚmulrç   r(  rÚ   rH  rM   r  r¥   rS   r   r%   )r"   r#   r%  rÙ   Úlist_idxÚint_idxrK  rL  Úmultre   rÂ   rJ  rT  rà   rU  r%   s                   r)   Úlist_mulr…  Í  s^  € ô �#—(‘(˜1‘+œuŸz™zÔ*Ø Ñˆ‘'à Ñˆ�'Ü
�w ¨¯©°(Ñ);¸TÀ(¹^Ó
L€CØ�x‰x€Hà�‰=€DÜ�;‰;�t—y‘y !Ó$€DØ�>‰>œ'×,Ñ,¨W°dÓ;¸TÀ4ÓH€DØ�[‰[˜˜xÓ(€Fä× Ñ  ¨'°3·?±?ÀFÓK€DØ€D„Iä	×	 Ñ	  ¨$°¸ÀdÕ	KÑO_ÐP[Ð]^Ü×Ñ˜w¨Ô1°TØ—K‘K §
¡
Ó+ˆEØ�L‰L˜Ÿ™ T§Z¡Z°Ó=¸uÈTˆLÔR÷ 2÷ 
Lô
 ˜G W¨c¯o©o¸t¿z¹zÓJÐJ÷	 2Ð1ú÷ 
LÐ	Kús%   Ã>F ÄA
FÅ"F ÆF	ÆF Æ F)c                 óÄ  — t        | ||j                  d   |d   «      }|j                  }|d   }t        j                  |j
                  d«      }|j                  t        j                  ||«      ||«      }|j                  ||«      }|j                  |«       t        j                  ||||d¬«      5 \  }	}
t        j                  ||«      5 }|j                  |j                  «      }|j                  |j!                  |j                  |	«      |d¬«       d d d «       d d d «       t#        | ||j$                  |j&                  «      S # 1 sw Y   Œ3xY w# 1 sw Y   Œ7xY w)Nr   rŸ   Tr}  r  )r‰   rÙ   r7   r   rQ   rR   rT   r   r€  r�  rù   rÚ   rH  rM   r  r¥   rS   r   r(  r%   )r"   r#   r%  rÙ   r  rL  r„  re   rÂ   rT  rà   rU  r%   s                r)   Úlist_mul_inplacer‡  æ  s  € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�y‰y€Hà�‰7€DÜ�;‰;�t—y‘y !Ó$€DØ�>‰>œ'×,Ñ,¨W°dÓ;¸TÀ4ÓH€DØ�[‰[˜˜xÓ(€Fà‡K�K�Ôä	×	 Ñ	  ¨(°F¸HÈ$Õ	OÑScÐT_ÐabÜ×Ñ˜w¨Ô1°TØ—L‘L §¡Ó,ˆEØ�L‰L˜Ÿ™ T§Z¡Z°Ó=¸uÈTˆLÔR÷ 2÷ 
Pô
 ˜W g¨s¯©ÀÇ
Á
ÓKÐK÷	 2Ð1ú÷ 
PÐ	Oús%   Â4EÃA
E
ÄEÅ
E	ÅEÅEc                 óH  — t        | ||j                  d   |d   «      }t        | ||j                  d   |d   «      }|j                  |j                  t        j
                  «      }|j                  |j                  t        j
                  «      }|j                  d||«      S ©Nr   rŸ   rF  )r‰   rÙ   r­   r   r   rÃ   rP   )r"   r#   r%  rÙ   rt  ru  ÚmaÚmbs           r)   Úlist_isrŒ  ý  sƒ   € ä�W˜g s§x¡x°¡{°D¸±GÓ<€AÜ�W˜g s§x¡x°¡{°D¸±GÓ<€AØ	×	Ñ	˜!Ÿ)™)¤W§^¡^Ó	4€BØ	×	Ñ	˜!Ÿ)™)¤W§^¡^Ó	4€BØ×Ñ˜t R¨Ó,Ð,r+   c           	      óP  — |j                   \  }}t        | |||d   «      }t        | |||d   «      }|j                  }|j                  d||j                  «      }	t	        j
                  ||	«      }
|j                  |	«      5  t	        j                  ||«      5 }|j                  |j                  «      }|j                  |j                  «      }| j                  |t        j                  |j                  |j                  f||f«      }|j                  |j                  |«      «      5  |j                  t        j                   |
«       |j#                  «        d d d «       d d d «       d d d «       |j%                  |
«      S # 1 sw Y   Œ*xY w# 1 sw Y   Œ.xY w# 1 sw Y   Œ2xY wr‰  )rÙ   r‰   r7   rP   r   ra   rb   rH  rM   r  Úgeneric_compareÚoperatorÚeqr-   rå   rc   rœ   Údo_breakrH   )r"   r#   r%  rÙ   ÚatyÚbtyrt  ru  rv  Ú	same_sizer!  rU  ÚvÚwÚitemress                  r)   Úlist_eqr˜    sH  € à�x‰x�H€CˆÜ�W˜g s¨D°©GÓ4€AÜ�W˜g s¨D°©GÓ4€Aà�V‰V€FØ×#Ñ# D¨&°!·&±&Ó9€Iä
×
#Ñ
# G¨YÓ
7€Cà	�‰˜Õ	#Ü×Ñ˜w¨Ô/°4Ø—	‘	˜$Ÿ*™*Ó%ˆAØ—	‘	˜$Ÿ*™*Ó%ˆAØ×-Ñ-¨g´x·{±{Ø/2¯y©y¸#¿)¹)Ð.DÀqÈ!ÀfóNˆGà—‘ §¡¨gÓ!6Õ7à—‘œg×/Ñ/°Ô5Ø—‘”÷ 8÷ 0÷ 
$ð �<‰<˜ÓÐ÷ 8Ð7ú÷ 0Ð/ú÷ 
$Ð	#ús=   ÂFÂBFÄ*1FÅFÅ#FÆFÆ	FÆF	ÆFÆF%c            	      ón   — t        | D �cg c]  }t        |t        j                  «      ‘Œ c}«      S c c}w r4   )Úallr·   r   r  )rÙ   Útyps     r)   Úall_listrœ    s*   € Ü±tÓ<±t°”
˜3¤§
¡
Õ+°tÑ<Ó=Ð=ùÒ<s   Š!2c                 ó&   — t        | |«      sy d„ }|S )Nc                 ó   — | |k(   S r4   r   ©rt  ru  s     r)   Úlist_ne_implz"impl_list_ne.<locals>.list_ne_impl&  s   € Ø˜‘Fˆ|Ðr+   ©rœ  )rt  ru  r   s      r)   Úimpl_list_ner¢  !  s   € ä�A�qŒ>Øòð Ðr+   c                 ó&   — t        | |«      sy d„ }|S )Nc                 ó    — t        | «      }t        |«      }t        t        ||«      «      D ]  }| |   ||   k  r y| |   ||   kD  sŒ y ||k  S rb  ©r  ÚrangeÚmin©rt  ru  ÚmÚnr  s        r)   Úlist_le_implz"impl_list_le.<locals>.list_le_impl0  sX   € Ü�‹FˆÜ�‹FˆÜ”s˜1˜a“yÖ!ˆAØ�‰t�a˜‘dŠ{ÙØ�1‘˜˜!™“Ùð	 "ð
 �A‰vˆr+   r¡  )rt  ru  r«  s      r)   Úimpl_list_ler¬  +  s   € ä�A�qŒ>Øòð Ðr+   c                 ó&   — t        | |«      sy d„ }|S )Nc                 ó    — t        | «      }t        |«      }t        t        ||«      «      D ]  }| |   ||   k  r y| |   ||   kD  sŒ y ||k  S rb  r¥  r¨  s        r)   Úlist_lt_implz"impl_list_lt.<locals>.list_lt_implA  sX   € Ü�‹FˆÜ�‹FˆÜ”s˜1˜a“yÖ!ˆAØ�‰t�a˜‘dŠ{ÙØ�1‘˜˜!™“Ùð	 "ð
 �1‰uˆr+   r¡  )rt  ru  r¯  s      r)   Úimpl_list_ltr°  <  s   € ä�A�qŒ>Øòð Ðr+   c                 ó&   — t        | |«      sy d„ }|S )Nc                 ó   — || k  S r4   r   rŸ  s     r)   Úlist_ge_implz"impl_list_ge.<locals>.list_ge_implR  s   € Ø�A‰vˆr+   r¡  )rt  ru  r³  s      r)   Úimpl_list_ger´  M  s   € ä�A�qŒ>Øòð Ðr+   c                 ó&   — t        | |«      sy d„ }|S )Nc                 ó   — || k  S r4   r   rŸ  s     r)   Úlist_gt_implz"impl_list_gt.<locals>.list_gt_impl\  s   € Ø�1‰uˆr+   r¡  )rt  ru  r·  s      r)   Úimpl_list_gtr¸  W  s   € ä�A�qŒ>Øòð Ðr+   zlist.appendc                 ó*  — t        | ||j                  d   |d   «      }|d   }|j                  }|j                  |t	        j
                  |j                  d«      «      }|j                  |«       |j                  ||d¬«       | j                  «       S r=  )
r‰   rÙ   r7   rS   r   rQ   rR   rù   r¥   r:  )r"   r#   r%  rÙ   r  Úitemrª  rô   s           r)   Úlist_appendr»  d  s|   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�‰7€Dà�	‰	€AØ�{‰{˜1œbŸk™k¨!¯&©&°!Ó4Ó5€HØ‡K�K�ÔØ‡L�L��D €LÔ&à×"Ñ"Ó$Ð$r+   z
list.clearc                 ó¼   — t        | ||j                  d   |d   «      }|j                  | j                  t        j
                  d«      «       | j                  «       S r  )r‰   rÙ   rù   r  r   r«   r:  r+  s        r)   Ú
list_clearr½  p  sJ   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ‡K�K�×$Ñ$¤U§Z¡Z°Ó3Ô4à×"Ñ"Ó$Ð$r+   Úcopyc                 ó   — d„ }|S )Nc                 ó   — t        | «      S r4   )Úlist©rY  s    r)   Úlist_copy_implz!list_copy.<locals>.list_copy_implz  s   € Ü�C‹yÐr+   r   )rY  rÃ  s     r)   Ú	list_copyrÄ  x  s   € òð Ðr+   rþ   c                 ó   — d„ }|S )Nc                 ó.   — d}| D ]  }||k(  sŒ	|dz  }Œ |S ©Nr   rŸ   r   )rY  r%   r!  rc  s       r)   Úlist_count_implz#list_count.<locals>.list_count_implƒ  s(   € ØˆÛˆDØ�u‹}Ø�q‘‘ð ð ˆ
r+   r   )rY  r%   rÈ  s      r)   Ú
list_countrÉ  €  s   € òð Ðr+   c                 ó<  — t        | ||j                  d   |d   «      }t        | ||j                  d   |d   «      }|j                  }|j                  }|j                  ||«      }|j	                  |«       ||_        t        j                  ||«      5 }	|j                  |	j                  «      }
| j                  ||
|j                  |j                  «      }
|j                  |j                  |	j                  |«      |
d¬«       d d d «       |S # 1 sw Y   |S xY w)NrŸ   r   Tr  )r‰   rÙ   r7   rS   rù   r   rH  rM   r  rs  r-   r¥   )r"   r#   r%  rÙ   rK  rJ  rL  Ú	dest_sizerÂ   rU  r%   s              r)   rz  rz  �  sé   € Ü
�w ¨¯©°!©°d¸1±gÓ
>€CÜ˜ ¨#¯(©(°1©+°t¸A±wÓ?€Dà�x‰x€HØ—	‘	€IØ�[‰[˜ 9Ó-€FØ‡K�K�ÔØ€D„Iä	×	Ñ	˜7 HÔ	-°Ø—‘˜DŸJ™JÓ'ˆØ—‘˜W e¨S¯Y©Y¸¿
¹
ÓCˆØ�‰�W—[‘[ §¡¨YÓ7¸ÀtˆÔL÷ 
.ð
 €K÷ 
.ð
 €Kús   ÂA2DÄDzlist.extendc                 óº   — t        |j                  d   t        j                  «      rt	        | |||«       | j                  «       S d„ }| j                  ||||«      S )NrŸ   c                 ó:   — | j                   }|D ]
  } ||«       Œ y r4   )Úappend)rY  r   Úmethr•  s       r)   Úlist_extendz list_extend.<locals>.list_extend¥  s   € à�z‰zˆÛˆAÙ��Gñ r+   )r·   rÙ   r   r  rz  r:  r$  )r"   r#   r%  rÙ   rÐ  s        r)   rÐ  rÐ  ž  sS   € ä�#—(‘(˜1‘+œuŸz™zÔ*ä˜' 7¨C°Ô6Ø×&Ñ&Ó(Ð(òð ×#Ñ# G¨[¸#¸tÓDÐDr+   r  c                 ó6  — t        |t        t        j                  t        j                  f«      st        j                  d|› �«      ‚t        |t        t        j                  t        j                  f«      st        j                  d|› �«      ‚dt        fd„}|S )Nz$arg "start" must be an Integer. Got z#arg "stop" must be an Integer. Got r   c                 ó¬   — t        | «      }|dk  r||z  }|dk  rd}|dk  r||z  }||kD  r|}t        ||«      D ]  }| |   |k(  sŒ|c S  t        d«      ‚)Nr   zvalue not in list)r  r¦  rI  )rY  r%   r°   r±   rª  r  s         r)   Úlist_index_implz#list_index.<locals>.list_index_impl¹  sr   € Ü�‹HˆØ�1Š9Ø�Q‰JˆEØ�qŠyØ�Ø�!Š8Ø�A‰IˆDØ�!Š8ØˆDÜ�u˜dÖ#ˆAØ�1‰v˜‹Ø’ð $ô Ð,Ó-Ð-r+   )r·   r¸   r   ÚIntegerÚOmittedr   ÚTypingErrorÚintp_max)rY  r%   r°   r±   rÓ  s        r)   Ú
list_indexrØ  ±  sz   € ô �eœc¤5§=¡=´%·-±-Ð@ÔAÜ× Ñ Ð#GÈÀwÐ!OÓPÐPÜ�dœS¤%§-¡-´·±Ð?Ô@Ü× Ñ Ð#FÀtÀfÐ!MÓNÐNà*+´(ó .ð Ðr+   zlist.insertc                 óà  — t        | ||j                  d   |d   «      }|j                  |d   «      }|j                  |«      }|d   }|j                  }t        j                  |j                  d«      }|j                  ||«      }	|j                  |	«       |j                  |j                  ||«      ||j                  ||«      «       |j                  ||dd¬«       | j                  «       S )Nr   rŸ   rñ   TF)rr   r¤   )r‰   rÙ   rW   rf   r7   r   rQ   rR   rS   rù   r  r¬   r¥   r:  )
r"   r#   r%  rÙ   r  r  r%   rª  rO  rô   s
             r)   Úlist_insertrÚ  Ë  sÍ   € ô ˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ�N‰N˜4 ™7Ó#€EØ×Ñ˜UÓ#€EØ�‰G€Eà�	‰	€AÜ
�+‰+�a—f‘f˜aÓ
 €CØ�{‰{˜1˜cÓ"€HØ‡K�K�ÔØ‡I�Iˆg�k‰k˜% Ó% u¨g¯k©k¸!¸UÓ.CÔDØ‡L�L�˜ d¸U€LÔCà×"Ñ"Ó$Ð$r+   zlist.popc                 óª  — t        | ||j                  d   |d   «      }|j                  }t        j                  | ||t
        df«       |j                  |t        j                  |j                  d«      «      }|j                  |«      }|j                  |«       |j                  |«       |j                  |«       t        | ||j                  |«      S )Nr   úpop from empty listrŸ   )r‰   rÙ   r7   r   Ú
guard_zerork   r¬   r   rQ   rR   rM   ru   r¡   rù   r   r(  )r"   r#   r%  rÙ   r  rª  r!  s          r)   Úlist_poprÞ  Ü  s¬   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€Dà�	‰	€AÜ×Ñ�w ¨Ü"Ð$9Ð:ô<à�‰�A”r—{‘{ 1§6¡6¨1Ó-Ó.€AØ
�,‰,�q‹/€CØ×Ñ�cÔØ×Ñ�QÔØ‡K�K�„NÜ˜G W¨c¯o©o¸sÓCÐCr+   c                 óX  — t        | ||j                  d   |d   «      }|j                  |d   «      }|j                  }t	        j
                  | ||t        df«       |j                  |d«       |j                  |«      }t        j                  |j                  d«      }|j                  |t        j                  |j                  d«      «      }|j                  ||j                  ||«      |j                  ||«      «       |j                  |«       t!        | ||j"                  |«      S )Nr   rŸ   rÜ  zpop index out of range)r‰   rÙ   rW   r7   r   rÝ  rk   rm   rM   r   rQ   rR   r¬   r  rS   rù   r   r(  )	r"   r#   r%  rÙ   r  rE   rª  r!  rO  s	            r)   rÞ  rÞ  ê  sî   € ä˜ ¨#¯(©(°1©+°t¸A±wÓ?€DØ
�.‰.˜˜a™Ó
!€Cà�	‰	€AÜ×Ñ�w ¨Ü"Ð$9Ð:ô<à×Ñ�SÐ2Ô3à
�,‰,�sÓ
€Cä
�+‰+�a—f‘f˜aÓ
 €CØ�‰�A”r—{‘{ 1§6¡6¨1Ó-Ó.€AØ‡I�Iˆc�7—;‘;˜s CÓ(¨'¯+©+°a¸Ó*=Ô>Ø‡K�K�„NÜ˜G W¨c¯o©o¸sÓCÐCr+   Úremovec                 ó   — d„ }|S )Nc                 ó€   — t        t        | «      «      D ]  }| |   |k(  sŒ| j                  |«        y  t        d«      ‚)Nzlist.remove(x): x not in list)r¦  r  rX  rI  )rY  r%   r  s      r)   Úlist_remove_implz%list_remove.<locals>.list_remove_implÿ  s;   € Ü”s˜3“x–ˆAØ�1‰v˜‹Ø—‘˜”
Ùð !ô
 Ð8Ó9Ð9r+   r   )rY  r%   rã  s      r)   Úlist_removerä  ü  s   € ò:ð Ðr+   Úreversec                 ó   — d„ }|S )Nc                 ól   — t        dt        | «      dz  «      D ]  }| dz
  }| |   | |   c| |<   | |<   Œ y )Nr   rñ   rŸ   )r¦  r  )rY  rt  ru  s      r)   Úlist_reverse_implz'list_reverse.<locals>.list_reverse_impl  sA   € Ü�qœ#˜c›( a™-Ö(ˆAØ��Q‘ˆAØ  ™V S¨¡VˆNˆC�‰F�C˜’Fñ )r+   r   )rY  rè  s     r)   Úlist_reverseré  	  s   € ò,ð
 Ðr+   c                 ó   — | |kD  S r4   r   rŸ  s     r)   Úgtrë    s   € Øˆq‰5€Lr+   )ÚltT)Ú
is_argsortÚis_list)rí  rì  rî  c                 óB  — t        | t        j                  «      r| j                  }n)t        | t        j                  «      r| j
                  }n| }t        |t        j                  t        j                  t        t        f«      sd| z  }t        j                  |«      ‚|S )Nz2an integer is required for 'reverse' (got type %s))r·   r   rÕ  r%   ÚOptionalrR   ÚBooleanrÔ  r¸   Úboolr   rÖ  )rå  Úrtyrl   s      r)   Ú_sort_check_reverserô  "  sp   € Ü�'œ5Ÿ=™=Ô)Ø�m‰m‰Ü	�GœUŸ^™^Ô	,Ø�l‰l‰àˆÜ�cœEŸM™M¬5¯=©=¼#¼tÐDÔEØBÀWÑLˆÜ× Ñ  Ó%Ð%Ø€Jr+   c                 óô   — t        | t        j                  «      rd}t        j                  |«      ‚t        j                  | «      s2t        | t        j                  «      sd}t        j                  |«      ‚y y )NzoKey must concretely be None or a Numba JIT compiled function, an Optional (union of None and a value) was foundz1Key must be None or a Numba JIT compiled function)r·   r   rð  r   rÖ  r   Úis_nonelikeÚ
Dispatcher)Úkeyrl   s     r)   Ú_sort_check_keyrù  /  se   € Ü�#”u—~‘~Ô&ðCˆä× Ñ  Ó%Ð%Ü×Ñ Ô$¬
°3¼×8HÑ8HÔ(IØAˆÜ× Ñ  Ó%Ð%ð )JÐ$r+   Úsortc                 óà   ‡‡‡— t        |«       t        |«       t        j                  |«      rdŠt        Št
        Šn(t        |t        j                  «      rdŠt        Št        Šdˆˆˆfd„	}|S )NFTc                 ó¼   •— ‰du r| D �cg c]
  } ||«      ‘Œ }}n| }|du s|dk(  r	 ‰	|«      }n ‰|«      }‰du r|D �cg c]  }| |   ‘Œ	 c}| d d  y y c c}w c c}w )NTFr   r   )
rY  rø  rå  ÚxÚ_lstÚtmpr  ÚKEYÚsort_bÚsort_fs
          €€€r)   ro  zol_list_sort.<locals>.implH  sy   ø€ Ø�$‰;Ù$'Ó(¡C˜q‘C˜•F CˆDÑ(àˆDØ�eÑ˜w¨!š|Ù˜“,‰Cá˜“,ˆCØ�$‰;Ù&)Ó*¡c �c˜!“f cÑ*ˆC‘‰Fð ùò )ùò +s   ŠAÁ A©NF)rù  rô  r   rö  Úsort_forwardsÚsort_backwardsr·   r   r÷  Úarg_sort_forwardsÚarg_sort_backwards)rY  rø  rå  ro  r   r  r  s       @@@r)   Úol_list_sortr  9  s]   ú€ ô �CÔÜ˜Ô ä×Ñ˜3ÔØˆÜˆÜ‰Ü	�Cœ×)Ñ)Ô	*ØˆÜ"ˆÜ#ˆ÷
+ð €Kr+   c                 óp   — t        | t        j                  «      syt        |«       t	        |«       dd„}|S )NFc                 óB   — t        | «      }|j                  ||¬«       |S )N)rø  rå  )rÁ  rú  )r   rø  rå  rY  s       r)   ro  zol_sorted.<locals>.impl_  s    € Ü�8‹nˆØ�‰�S 'ˆÔ*Øˆ
r+   r  )r·   r   ÚIterableTyperù  rô  )r   rø  rå  ro  s       r)   Ú	ol_sortedr  V  s3   € ô �h¤× 2Ñ 2Ô3Øä�CÔÜ˜Ô óð €Kr+   c                 ó<   — |j                   |j                   k(  sJ ‚|S r4   )r-   )r"   r#   ÚfromtyÚtotyrt   s        r)   Úlist_to_listr  h  s   € ð �<‰<˜4Ÿ:™:Ò%Ð%Ð%Ø€Jr+   úCannot mutate a literal listrÎ  c                 ó   — t         ‚r4   ©Ú_banned_error)rY  Úobjs     r)   Úliteral_list_banned_appendr  v  ó   € ä
Ðr+   r  c                 ó   — t         ‚r4   r  )rY  r   s     r)   Úliteral_list_banned_extendr  {  r  r+   Úinsertc                 ó   — t         ‚r4   r  )rY  r  r  s      r)   Úliteral_list_banned_insertr  €  r  r+   c                 ó   — t         ‚r4   r  )rY  r%   s     r)   Úliteral_list_banned_remover  …  r  r+   rX  c                 ó   — t         ‚r4   r  ©rY  r  s     r)   Úliteral_list_banned_popr!  Š  r  r+   Úclearc                 ó   — t         ‚r4   r  rÂ  s    r)   Úliteral_list_banned_clearr$  �  r  r+   c                 ó   — t         ‚r4   r  )rY  rø  rå  s      r)   Úliteral_list_banned_sortr&  ”  r  r+   c                 ó   — t         ‚r4   r  rÂ  s    r)   Úliteral_list_banned_reverser(  ™  r  r+   c                 óf   — t        | t        j                  «      rd}t        j                  |«      ‚y )Nz+list.index is unsupported for literal lists©r·   r   ÚLiteralListr   rÖ  )rY  rý  r°   r³   rl   s        r)   Úliteral_list_indexr,  Ÿ  s/   € ô
 �#”u×(Ñ(Ô)Ø;ˆÜ× Ñ  Ó%Ð%ð *r+   c                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó@   — d}t        | «      D ]  }||k(  sŒ	|dz  }Œ |S rÇ  r   )rY  rý  rþ   rt   s       r)   ro  z literal_list_count.<locals>.impl«  s-   € ØˆEÜ% cÖ*�Ø˜!“8Ø˜Q‘J‘Eð +ð ˆLr+   ©r·   r   r+  )rY  rý  ro  s      r)   Úliteral_list_countr0  ¨  s#   € ä�#”u×(Ñ(Ô)ò	ð ˆð *r+   c                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó   — | S r4   r   rÂ  s    r)   ro  z literal_list_count.<locals>.impl¶  s   € ØˆJr+   r/  )rY  ro  s     r)   r0  r0  ³  s!   € ä�#”u×(Ñ(Ô)ò	àˆð *r+   c                 óD   — t        | t        j                  «      rt        ‚y r4   )r·   r   r+  r  r   s     r)   Úliteral_list_delitemr4  º  s   € ä�#”u×(Ñ(Ô)ÜÐð *r+   c                 ób   — t        | t        j                  «      rt        j                  d«      ‚y )Nr  r*  )rY  r  r%   s      r)   Úliteral_list_setitemr6  ¿  s)   € ä�#”u×(Ñ(Ô)Ü× Ñ Ð!?Ó@Ð@ð *r+   c                 óf   — t        | t        j                  «      sy d}t        j                  |«      ‚)NzRCannot __getitem__ on a literal list, return type cannot be statically determined.r*  )rY  rÙ   rl   s      r)   Úliteral_list_getitemr8  Ä  s-   € ä�cœ5×,Ñ,Ô-Øð$€Cä
×
Ñ
˜SÓ
!Ð!r+   c                 ó\   ‡— t        | t        j                  «      sy | j                  Šˆfd„S )Nc                 ó   •— ‰S r4   r   ©rY  Úls    €r)   Ú<lambda>z"literal_list_len.<locals>.<lambda>Ñ  s   ø€ ‘qr+   )r·   r   r+  rþ   r;  s    @r)   Úliteral_list_lenr>  Ì  s%   ø€ ä�cœ5×,Ñ,Ô-ØØ�	‰	€AÛÐr+   c                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó2   — t        | «      D ]	  }||k(  sŒ	 y yrb  r   )rY  rº  rt   s      r)   ro  z#literal_list_contains.<locals>.implÖ  s    € Ü% cÖ*�Ø˜$“;Ùð +ð r+   r/  )rY  rº  ro  s      r)   Úliteral_list_containsrA  Ó  s#   € ä�#”u×(Ñ(Ô)ò	ð
 ˆð *r+   c                 ó  — t        |«      t        |«      k7  rt        ‚t        j                  ||t        |«      «      }t	        |||«      D ���cg c]  \  }}}| j                  ||||«      ‘Œ }	}}}| j                  |||	«      S c c}}}w r4   )r  r]  r   Úunpack_tupleÚziprs  Ú
make_tuple)
r"   r#   r  r  rt   Úolditemsr•  ÚfÚtr  s
             r)   Úliterallist_to_literallistrI  Ý  sˆ   € ä
ˆ6ƒ{”c˜$“iÒä!Ð!ä×#Ñ# G¨S´#°f³+Ó>€Hä ¨&°$Ô7õ9Ù7‘��A�qð �\‰\˜' 1 a¨Õ+Ø7ð 
ò 9à×Ñ˜g t¨UÓ3Ð3ùô9s   ÁBr  )éÿÿÿÿ)‡r‡   Úmathr�  Ú	functoolsr   Úllvmliter   Ú
numba.corer   r   r   r   r	   Únumba.core.imputilsr
   r   r   r   r   r   r   Únumba.core.extendingr   r   Ú
numba.miscr   Únumba.cpythonr   Únumbar   r*   r0   Úobjectr2   r�   r‰   r  r  rÁ  r  r&  r  r  r)  r.  ÚListIterÚBORROWEDr5  rM   rÔ  r8  r¥   ÚAnyr;  Ú	SliceTyperD  Údelitemr[  r_  Úcontainsrp  re  rò  rl  Útruthrq  rS   rx  Úiaddr{  r�  r…  Úimulr‡  Úis_rŒ  r�  r˜  rœ  Úner¢  Úler¬  rì  r°  Úger´  rë  r¸  r»  r½  rÄ  rÉ  rz  rÐ  r«   Úmaxvalr×  rØ  rÚ  rÞ  rä  ré  Úmake_jit_quicksortÚrun_quicksortr  r  r  r  rô  rù  r  Úsortedr  r  rÖ  r  r+  r  r  r  r  r!  r$  r&  r(  Ú
_index_endr,  r0  r4  r6  r8  r>  rA  rI  r   r+   r)   Ú<module>rg     s3	  ðñó
 Û Ý %å ß =Õ =÷-÷ -ñ -÷ ;Ý  Ý !Ý  ò	Hò(ôUA˜ô UAôp Ð+ô  ô$EÐ$ô EôN"5Ð(ô "5òPEñ ˆt�U×'Ñ'Ó(ñCó )ðCñ ˆtÓñEó ðEñ ˆs�E—J‘JÓñó  ðñ ˆy˜%Ÿ*™*Ó%ñLó &ðLñ ˆz˜5Ÿ>™>Ó*Ùˆw×ÑÓ ñ
Mó !ó +ð
Mñ ˆx×Ñ §¡¨U¯]©]Ó;ñHó <ðHñ ˆx×Ñ §¡¨U¯]©]¸E¿I¹IÓFñ%ó Gð%ñ ˆx×Ñ §¡¨U¯_©_Ó=ñMó >ðMñ, ˆx×Ñ §¡¨U¯_©_¸e¿i¹iÓHñ8%ó Ið8%ñx ˆx×Ñ §¡¨U¯]©]Ó;ñKó <ðKñ ˆx×Ñ §¡¨U¯_©_Ó=ñ%ó >ð%ñD ˆx× Ñ  %§.¡.°%·)±)Ó<ñKó =ðKñ ˆt�U—^‘^Ó$ñLó %ðLñ 
ˆ(�.‰.Óñó ðñ ˆx�|‰|˜UŸZ™Z¨¯©Ó4ñKó 5ðKñ* ˆx�}‰}˜eŸj™j¨%¯*©*Ó5ñLó 6ðLñ ˆx�|‰|˜UŸZ™Z¨¯©Ó7Ùˆx�|‰|˜UŸ]™]¨E¯J©JÓ7ñKó 8ó 8ðKñ. ˆx�}‰}˜eŸj™j¨%¯-©-Ó8ñLó 9ðLñ, ˆx�|‰|˜UŸZ™Z¨¯©Ó4ñ-ó 5ð-ñ ˆx�{‰{˜EŸJ™J¨¯
©
Ó3ñó 4ðò0>ñ 
ˆ(�+‰+Óñó ðñ 
ˆ(�+‰+Óñó ðñ  
ˆ(�+‰+Óñó ðñ  
ˆ(�+‰+Óñó ðñ 
ˆ(�+‰+Óñó ðñ ˆ}˜eŸj™j¨%¯)©)Ó4ñ	%ó 5ð	%ñ ˆ|˜UŸZ™ZÓ(ñ%ó )ð%ñ �—‘˜VÓ$ñó %ðñ �—‘˜WÓ%ñ	ó &ð	òñ" ˆ}˜eŸj™j¨%×*<Ñ*<Ó=ñEó >ðEð �:‰:×Ñ€ñ �—‘˜WÓ%Ø!"¨ò ó &ðñ2 ˆ}˜eŸj™j¨%¯-©-Ø�9‰9óñ%óð%ñ ˆz˜5Ÿ:™:Ó&ñDó 'ðDñ ˆz˜5Ÿ:™: u§}¡}Ó5ñDó 6ðDñ" �—‘˜XÓ&ñ
ó 'ð
ñ �—‘˜YÓ'ñó (ðòð -�	×,Ñ,Ó.×<Ñ<€Ø-�×-Ñ-°Ô4×BÑB€à0�I×0Ñ0¸DØ9=ô?ß?L¹}ð à1�Y×1Ñ1¸TÀbØ:>ô@ß@MÁð ò
ò&ñ �—‘˜VÓ$òó %ðñ8 
ˆ&Óòó ðñ" ˆE�J‰J˜Ÿ
™
Ó#ñó $ðð #�×"Ñ"Ð#AÓB€ñ �×"Ñ" HÓ-ñó .ðñ �×"Ñ" HÓ-ñó .ðñ �×"Ñ" HÓ-ñó .ðñ �×"Ñ" HÓ-ñó .ðñ �×"Ñ" EÓ*òó +ðñ �×"Ñ" GÓ,ñó -ðñ �×"Ñ" FÓ+òó ,ðñ �×"Ñ" IÓ.ñó /ðð �Z‰Z×Ñ€
á�×"Ñ" GÓ,Ø%&¨Jò &ó -ð&ñ �×"Ñ" GÓ,ñó -ðñ �×"Ñ" FÓ+ñó ,ðñ 
ˆ(×
Ñ
Óñó ðñ 
ˆ(×
Ñ
ÓñAó ðAñ 
ˆ(×
Ñ
Óñ"ó ð"ñ 
ˆ#ƒñó ðñ 
ˆ(×
Ñ
Óñó ðñ ˆE×Ñ˜u×0Ñ0Ó1ñ4ó 2ñ4r+   