§
    ŒŸj8\  ã                   ó  — d Z ddlmZ ddlmZ ddlmZ ddlmZmZm	Z	 ddl
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mZ dd
lmZmZmZmZmZmZmZ ddlm Z  ddl!m"Z" ddl#m$Z$  G d„ d¦  «        Z% G d„ dee%¦  «        Z& G d„ de&¦  «        Z'd„ Z( G d„ d¦  «        Z) G d„ d¦  «        Z* G d„ dee%¦  «        Z+ G d„ de)¦  «        Z, G d„ de,e+¦  «        Z- G d„ d e,e+¦  «        Z. G d!„ d"e,e&¦  «        Z/ G d#„ d$¦  «        Z0 G d%„ d&e)e+e0¦  «        Z1 G d'„ d(e+¦  «        Z2 G d)„ d*e*e2e0¦  «        Z3 G d+„ d,e+¦  «        Z4 G d-„ d.e4¦  «        Z5 G d/„ d0e4¦  «        Z6 G d1„ d2e*e+e0¦  «        Z7 G d3„ d4e+¦  «        Z8d5„ Z9 G d6„ d7e¦  «        Z:d8S )9zd
Contains all classes and functions to deal with lists, dicts, generators and
iterators in general.
é    )ÚAny)Úcompiled)Úanalysis)ÚLazyKnownValueÚLazyKnownValuesÚLazyTreeValue)Úget_int_or_noneÚ	is_stringÚreraise_getitem_errorsÚSimpleGetItemNotFound)Úsafe_propertyÚto_list)Úinference_state_method_cache)ÚLazyAttributeOverwriteÚpublish_method)ÚValueSetÚValueÚ	NO_VALUESÚContextualizedNodeÚiterate_valuesÚsentinelÚLazyValueWrapper)Úget_sync_comp_fors©ÚCompForContext)Úcheck_array_additionsc                   ó@   — e Zd ZU eed<   eed<   dd„Zd„ Zej        ZdS )ÚIterableMixinÚ
py__iter__Úinference_stateNc                 ó,   — |                       |¦  «        S ©N)r   ©ÚselfÚcontextualized_nodes     új/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/jedi/inference/value/iterable.pyÚ
py__next__zIterableMixin.py__next__   s   € Ø�ŠÐ2Ñ3Ô3Ð3ó    c                 óR   — t          t          j        | j        d¦  «        g¦  «        S ©NÚNone©r   r   Úbuiltin_from_namer    ©r$   s    r&   Úpy__stop_iteration_returnsz(IterableMixin.py__stop_iteration_returns   ó#   € Ý�Ô3°DÔ4HÈ&ÑQÔQÐRÑSÔSÐSr(   r"   )	Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r'   r/   r   Úget_safe_value© r(   r&   r   r      sU   € € € € € € Ø€O€O�OØÐÐÑð4ð 4ð 4ð 4ðTð Tð Tð Ô)€N€N€Nr(   r   c                   ó¸   — e Zd ZdZd„ Zd„ Zd„ Z ed¦  «        d„ ¦   «         Z ed¦  «         ed¦  «        d	„ ¦   «         ¦   «         Z	d
„ Z
ed„ ¦   «         Zd„ ZdS )ÚGeneratorBaseNc                 óX   — |                       ¦   «                              d ¦  «        \  }|S r"   )Ú_get_clsÚexecute_annotation)r$   Úinstances     r&   Ú_get_wrapped_valuez GeneratorBase._get_wrapped_value.   s$   € Ø—M’M‘O”O×6Ò6°tÑ<Ô<‰	ˆØˆr(   c                 óH   — | j         j                             d¦  «        \  }|S )NÚGeneratorType)r    Útypes_moduleÚpy__getattribute__)r$   Ú	generators     r&   r:   zGeneratorBase._get_cls2   s#   € ØÔ)Ô6×IÒIÈ/ÑZÔZ‰
ˆ	ØÐr(   c                 ó   — dS )NTr6   r.   s    r&   Ú
py__bool__zGeneratorBase.py__bool__6   ó   € Øˆtr(   Ú__iter__c                 ó"   — t          | g¦  «        S r"   )r   ©r$   Ú	argumentss     r&   Ú_iterzGeneratorBase._iter9   s   € å˜˜ÑÔÐr(   ÚsendÚ__next__c                 ób   — t          j        d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r"   ©Úinfer©Ú.0Ú
lazy_values     r&   ú	<genexpr>z&GeneratorBase._next.<locals>.<genexpr>@   ó.   è è € Ð!YÐ!Y¸ *×"2Ò"2Ñ"4Ô"4Ð!YÐ!YÐ!YÐ!YÐ!YÐ!Yr(   ©r   Ú	from_setsr   rH   s     r&   Ú_nextzGeneratorBase._next=   s.   € õ Ô!Ð!YÐ!YÀtÇÂÑGXÔGXÐ!YÑ!YÔ!YÑYÔYÐYr(   c                 óR   — t          t          j        | j        d¦  «        g¦  «        S r*   r,   r.   s    r&   r/   z(GeneratorBase.py__stop_iteration_returnsB   r0   r(   c                 ó,   — t          j        | d¦  «        S )NÚ	Generator)r   ÚCompiledValueNamer.   s    r&   ÚnamezGeneratorBase.nameE   s   € åÔ)¨$°Ñ<Ô<Ð<r(   c                 óØ   — ddl m} |                      ¦   «                              ¦   «         } ||t          t          f¦  «        }|                      ¦   «                              |¦  «        S )Nr   ©ÚTupleGenericManager)Újedi.inference.gradual.genericsr`   Úmerge_types_of_iterateÚpy__class__r   r:   Úwith_generics)r$   r`   Ú
gen_valuesÚgms       r&   Úget_annotated_class_objectz(GeneratorBase.get_annotated_class_objectI   sd   € ØGÐGÐGÐGÐGÐGØ×0Ò0Ñ2Ô2×>Ò>Ñ@Ô@ˆ
Ø Ð  *­i½Ð!CÑDÔDˆØ�}Š}‰Œ×,Ò,¨RÑ0Ô0Ð0r(   )r1   r2   r3   Ú
array_typer=   r:   rD   r   rJ   rX   r/   Úpropertyr]   rg   r6   r(   r&   r8   r8   +   sæ   € € € € € Ø€Jðð ð ðð ð ðð ð ð €^�JÑÔð ð  ñ  Ôð ð €^�FÑÔØ€^�JÑÔðZð Zñ  Ôñ ÔðZðTð Tð Tð ð=ð =ñ „Xð=ð1ð 1ð 1ð 1ð 1r(   r8   c                   ó6   ‡ — e Zd ZdZˆ fd„Zdd„Zd„ Zd„ Zˆ xZS )r[   zHandling of `yield` functions.c                 óX   •— t          ¦   «                              |¦  «         || _        d S r"   )ÚsuperÚ__init__Ú_func_execution_context)r$   r    Úfunc_execution_contextÚ	__class__s      €r&   rm   zGenerator.__init__R   s)   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)Ø'=ˆÔ$Ð$Ð$r(   Nc                 ó”   — | j                              ¦   «         }|r|                     |¦  «        S | j                              ¦   «         S r"   )rn   Úinfer_annotationsÚiterateÚget_yield_lazy_values)r$   r%   Ú	iteratorss      r&   r   zGenerator.py__iter__V   sH   € ØÔ0×BÒBÑDÔDˆ	Øð 	:Ø×$Ò$Ð%8Ñ9Ô9Ð9ØÔ+×AÒAÑCÔCÐCr(   c                 ó4   — | j                              ¦   «         S r"   )rn   Úget_return_valuesr.   s    r&   r/   z$Generator.py__stop_iteration_returns\   s   € ØÔ+×=Ò=Ñ?Ô?Ð?r(   c                 óB   — dt          | ¦  «        j        ›d| j        ›d�S ©Nú<z of ú>)Útyper1   rn   r.   s    r&   Ú__repr__zGenerator.__repr___   s'   € € Ý# D™zœzÔ2Ð2Ð2°DÔ4PÐ4PÐ4PÐQÐQr(   r"   )	r1   r2   r3   Ú__doc__rm   r   r/   r}   Ú__classcell__©rp   s   @r&   r[   r[   P   s~   ø€ € € € € Ø(Ð(ð>ð >ð >ð >ð >ðDð Dð Dð Dð@ð @ð @ðRð Rð Rð Rð Rð Rð Rr(   r[   c                 óÜ  — |j         d         }|j         d         }|dk    rs|j         d         j         d         dk    rO|j         d         }|j        dk    r|j         d         }t          | |||j         d         |j         d         ¬¦  «        S t          }n|d	k    rt          }n|d
k    rt
          }|j         d         }|j        dk    r|j         d         } || |||j         d         ¬¦  «        S )Nr   é   Ú{ú:é   Úcomp_foré   )Úsync_comp_for_nodeÚkey_nodeÚ
value_nodeú(ú[)Údefining_contextrˆ   Ú
entry_node)Úchildrenr|   ÚDictComprehensionÚSetComprehensionÚGeneratorComprehensionÚListComprehension)r    ÚvalueÚatomÚbracketÚtest_list_compÚsync_comp_forÚclss          r&   Úcomprehension_from_atomrš   c   s  € ØŒm˜AÔ€GØ”] 1Ô%€Nà�#‚~€~ØŒ=˜ÔÔ$ QÔ'¨3Ò.Ð.Ø*Ô3°AÔ6ˆMØÔ! ZÒ/Ð/Ø -Ô 6°qÔ 9�å$ØØØ#0Ø'Ô0°Ô3Ø)Ô2°1Ô5ðñ ô ð õ #ˆCˆCØ	�CŠˆÝ$ˆˆØ	�CŠˆÝˆà"Ô+¨AÔ.€MØÔ˜ZÒ'Ð'Ø%Ô.¨qÔ1ˆàˆ3ØØØ(Ø!Ô*¨1Ô-ð	ñ ô ð r(   c                   ó¸   — e Zd ZU eed<   eed<   eed<   eed<   eed<    e¦   «         d„ ¦   «         Zdd„Z eg ¬	¦  «        ed
„ ¦   «         ¦   «         Z	dd„Z
d„ ZdS )ÚComprehensionMixinÚ_defining_contextÚ_entry_noderh   Ú_value_nodeÚ_sync_comp_for_nodec                 ó"   — t          ||¦  «        S r"   r   )r$   Úparent_contextr†   s      r&   Ú_get_comp_for_contextz(ComprehensionMixin._get_comp_for_contextŽ   s   € å˜n¨hÑ7Ô7Ð7r(   Nc              #   óð  K  — |d         }|j         j        dk    }|j        d         }|p| j        }|                     |¦  «        }t          ||¦  «        }|                     ||¬¦  «        }|j        d         }	t          |¦  «        D ]ì\  }
}|                     ¦   «         }t          |||	¦  «        }|  
                    ||¦  «        }|                     ||¦  «        5  	 |                      |dd …         |¦  «        E d {V —† nX# t          $ rK |                     | j        ¦  «        }| j        dk    r||                     | j        ¦  «        fV — n|V — Y nw xY wd d d ¦  «         n# 1 swxY w Y   Œíd S )Nr   r†   r…   )Úis_asyncr‚   Údict)Úparentr|   r�   r�   Ú
infer_noder   rs   Ú	enumeraterP   Úunpack_tuple_to_dictr£   Úpredefine_namesÚ_nestedÚ
IndexErrorrž   rh   rŸ   )r$   Ú	comp_forsr¢   r†   r¥   Ú
input_nodeÚinput_typesÚcnÚiteratedÚexprlistÚirS   ÚtypesÚdctÚcontexts                  r&   r¬   zComprehensionMixin._nested’   só  è è € Ø˜Q”<ˆà”?Ô'¨:Ò5ˆàÔ& qÔ)ˆ
Ø'ÐA¨4Ô+AˆØ$×/Ò/°
Ñ;Ô;ˆå °
Ñ;Ô;ˆØ×&Ò& r°HÐ&Ñ=Ô=ˆØÔ$ QÔ'ˆÝ& xÑ0Ô0ð 	'ð 	'‰MˆAˆzØ×$Ò$Ñ&Ô&ˆEÝ& ~°u¸hÑGÔGˆCØ×0Ò0ØØñô ˆGð ×(Ò(¨°3Ñ7Ô7ð 'ð 'ð'Ø#Ÿ|š|¨I°a°b°b¬M¸7ÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCøÝ!ð 'ð 'ð 'Ø&×1Ò1°$Ô2BÑCÔC�HØ”¨&Ò0Ð0Ø&¨×(:Ò(:¸4Ô;KÑ(LÔ(LÐLÐLÐLÐLÐLà&˜˜˜øøð'øøøð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'øð	'ð 	's7   ÃE*Ã!$DÄE*ÄAEÅE*ÅEÅE*Å*E.	Å1E.	©Údefaultc              #   ó‚   K  — t          t          | j        ¦  «        ¦  «        }|                      |¦  «        E d {V —† d S r"   )Útupler   r    r¬   )r$   r®   s     r&   Ú_iteratezComprehensionMixin._iterate¯   sK   è è € õ Õ,¨TÔ-EÑFÔFÑGÔGˆ	Ø—<’< 	Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r(   c              #   óZ   K  — |                       ¦   «         D ]}t          |¦  «        V — Œd S r"   ©r¼   r   )r$   r%   Úset_s      r&   r   zComprehensionMixin.py__iter__µ   s>   è è € Ø—M’M‘O”Oð 	(ð 	(ˆDÝ! $Ñ'Ô'Ð'Ð'Ð'Ð'ð	(ð 	(r(   c                 óB   — dt          | ¦  «        j        ›d| j        ›d�S ry   )r|   r1   r    r.   s    r&   r}   zComprehensionMixin.__repr__¹   s'   € € Ý# D™zœzÔ2Ð2Ð2°DÔ4LÐ4LÐ4LÐMÐMr(   r"   )r1   r2   r3   r   r4   r   r£   r¬   r   r¼   r   r}   r6   r(   r&   rœ   rœ   ‡   sâ   € € € € € € ØÐÐÑØÐÐÑØ€O€O�OØÐÐÑØÐÐÑà!Ð!Ñ#Ô#ð8ð 8ñ $Ô#ð8ð'ð 'ð 'ð 'ð: "Ð!¨"Ð-Ñ-Ô-Øð+ð +ñ „Wñ .Ô-ð+ð(ð (ð (ð (ðNð Nð Nð Nð Nr(   rœ   c                   ó    — e Zd ZU eed<   d„ ZdS )Ú
_DictMixinÚget_mapping_item_valuesc                 óX   — t          d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r"   )rc   )rR   Úc_sets     r&   rT   z+_DictMixin._get_generics.<locals>.<genexpr>Á   s.   è è € ÐUÐU¨U�U×&Ò&Ñ(Ô(ÐUÐUÐUÐUÐUÐUr(   )r»   rÃ   r.   s    r&   Ú_get_genericsz_DictMixin._get_genericsÀ   s+   € ÝÐUÐU°d×6RÒ6RÑ6TÔ6TÐUÑUÔUÑUÔUÐUr(   N)r1   r2   r3   r   r4   rÇ   r6   r(   r&   rÂ   rÂ   ½   s6   € € € € € € Ø Ð Ð Ñ ðVð Vð Vð Vð Vr(   rÂ   c                   ó€   — e Zd ZdZed„ ¦   «         Zd„ Z ed¬¦  «        d„ ¦   «         Zd„ Z	d„ Z
ed	„ ¦   «         Zd
„ ZdS )ÚSequencer<   c                 ó6   — t          j        | | j        ¦  «        S r"   )r   r\   rh   r.   s    r&   r]   zSequence.nameÇ   s   € åÔ)¨$°´Ñ@Ô@Ð@r(   c                 óP   — |                       ¦   «                              ¦   «         fS r"   )rb   rc   r.   s    r&   rÇ   zSequence._get_genericsË   s#   € Ø×+Ò+Ñ-Ô-×9Ò9Ñ;Ô;Ð=Ð=r(   r6   r¸   c                 ó*   — |                       ¦   «         S r"   )rÇ   r.   s    r&   Ú_cached_genericszSequence._cached_genericsÎ   s   € à×!Ò!Ñ#Ô#Ð#r(   c                 óÔ   — ddl m} ddlm} t	          j        | j        | j        ¦  «        } || ||                      ¦   «         ¦  «        ¦  «         	                    d ¦  «        \  }|S )Nr   )ÚGenericClassr_   )
Újedi.inference.gradual.baserÏ   ra   r`   r   r-   r    rh   rÍ   r;   )r$   rÏ   r`   ÚklassÚcs        r&   r=   zSequence._get_wrapped_valueÒ   s‡   € Ø<Ð<Ð<Ð<Ð<Ð<ØGÐGÐGÐGÐGÐGÝÔ*¨4Ô+?ÀÄÑQÔQˆØˆ\ØØÐ × 5Ò 5Ñ 7Ô 7Ñ8Ô8ñ
ô 
÷ Ò
˜TÑ
"Ô
"ñ 	ˆð ˆr(   c                 ó   — d S r"   r6   r.   s    r&   rD   zSequence.py__bool__Ü   rE   r(   c                 ó   — | j         j        S r"   )r    Úbuiltins_moduler.   s    r&   r§   zSequence.parentß   s   € àÔ#Ô3Ð3r(   c                 óz   — | j         dk    r|                      ¦   «         S t          t          | g¦  «        ¦  «        S )Nr¦   )rh   Ú_dict_valuesr   r   )r$   Úindex_value_setr%   s      r&   Úpy__getitem__zSequence.py__getitem__ã   s9   € ØŒ?˜fÒ$Ð$Ø×$Ò$Ñ&Ô&Ð&Ý�h¨ vÑ.Ô.Ñ/Ô/Ð/r(   N)r1   r2   r3   Úapi_typeri   r]   rÇ   r   rÍ   r=   rD   r   r§   rÙ   r6   r(   r&   rÉ   rÉ   Ä   s¶   € € € € € Ø€HàðAð Añ „XðAð>ð >ð >ð "Ð!¨"Ð-Ñ-Ô-ð$ð $ñ .Ô-ð$ðð ð ðð ð ð ð4ð 4ñ „]ð4ð0ð 0ð 0ð 0ð 0r(   rÉ   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú_BaseComprehensionc                 óŽ   •— |j         dk    sJ ‚t          ¦   «                              |¦  «         || _        || _        || _        d S ©Nr˜   )r|   rl   rm   r�   r    rž   )r$   r    r�   rˆ   rŽ   rp   s        €r&   rm   z_BaseComprehension.__init__ê   sM   ø€ Ø!Ô&¨/Ò9Ð9Ð9Ð9Ý‰Œ×Ò˜Ñ)Ô)Ð)Ø!1ˆÔØ#5ˆÔ Ø%ˆÔÐÐr(   )r1   r2   r3   rm   r   r€   s   @r&   rÜ   rÜ   é   s8   ø€ € € € € ð&ð &ð &ð &ð &ð &ð &ð &ð &r(   rÜ   c                   ó   — e Zd ZdZd„ ZdS )r“   Úlistc                 ó*  — t          |t          ¦  «        rt          | g¦  «        S t          |                      ¦   «         ¦  «        }t          t          t          ¦  «        5  ||         }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         S r"   )	Ú
isinstanceÚslicer   rà   r   r   r­   Ú	TypeErrorrP   )r$   ÚindexÚ	all_typesrS   s       r&   Úpy__simple_getitem__z&ListComprehension.py__simple_getitem__õ   s¼   € Ý�e�UÑ#Ô#ð 	$Ý˜T˜FÑ#Ô#Ð#å˜ŸšÑ*Ô*Ñ+Ô+ˆ	Ý#¥Jµ	Ñ:Ô:ð 	*ð 	*Ø" 5Ô)ˆJð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*à×ÒÑ!Ô!Ð!s   Á!	A6Á6A:Á=A:N)r1   r2   r3   rh   rç   r6   r(   r&   r“   r“   ò   s(   € € € € € Ø€Jð"ð "ð "ð "ð "r(   r“   c                   ó   — e Zd ZdZdS )r‘   ÚsetN©r1   r2   r3   rh   r6   r(   r&   r‘   r‘   ÿ   s   € € € € € Ø€J€J€Jr(   r‘   c                   ó   — e Zd ZdS )r’   N)r1   r2   r3   r6   r(   r&   r’   r’     s   € € € € € Ø€Dr(   r’   c                   ó0   — e Zd ZU eed<   eed<   d„ Zd„ ZdS )Ú_DictKeyMixinÚ
_dict_keysr×   c                 óR   — |                       ¦   «         |                      ¦   «         fS r"   )rî   r×   r.   s    r&   rÃ   z%_DictKeyMixin.get_mapping_item_values  s#   € Ø�ŠÑ Ô  $×"3Ò"3Ñ"5Ô"5Ð5Ð5r(   c                 ó*   — |                       ¦   «         S r"   )rî   r.   s    r&   Úget_key_valuesz_DictKeyMixin.get_key_values  s   € à�ŠÑ Ô Ð r(   N)r1   r2   r3   r   r4   rÃ   rñ   r6   r(   r&   rí   rí     sI   € € € € € € Ø€O€O�OØÐÐÑð6ð 6ð 6ð!ð !ð !ð !ð !r(   rí   c                   ó’   ‡ — e Zd ZdZˆ fd„Zdd„Zd„ Zd„ Zd„ Z e	d¦  «        d	„ ¦   «         Z
 e	d
¦  «        d„ ¦   «         Zd„ Zˆ xZS )r�   r¦   c                 óœ   •— |j         dk    sJ ‚t          ¦   «                              |¦  «         || _        || _        || _        || _        d S rÞ   )r|   rl   rm   r�   r    rž   rŸ   )r$   r    r�   rˆ   r‰   rŠ   rp   s         €r&   rm   zDictComprehension.__init__  sU   ø€ Ø!Ô&¨/Ò9Ð9Ð9Ð9Ý‰Œ×Ò˜Ñ)Ô)Ð)Ø!1ˆÔØ#5ˆÔ Ø#ˆÔØ%ˆÔÐÐr(   Nc              #   ó`   K  — |                       ¦   «         D ]\  }}t          |¦  «        V — Œd S r"   r¾   )r$   r%   ÚkeysÚvaluess       r&   r   zDictComprehension.py__iter__  sB   è è € Ø ŸMšM™OœOð 	(ð 	(‰LˆD�&Ý! $Ñ'Ô'Ð'Ð'Ð'Ð'ð	(ð 	(r(   c                 ó´   — |                       ¦   «         D ]6\  }}|D ].}|                     t          ¦   «         ¬¦  «        |k    r|c c S Œ/Œ7t          ¦   «         ‚)Nr¸   )r¼   r5   Úobjectr   )r$   rå   rõ   rö   Úks        r&   rç   z&DictComprehension.py__simple_getitem__#  ss   € Ø ŸMšM™OœOð 	"ð 	"‰LˆD�&Øð "ð "�ð ×#Ò#­F©H¬HÐ#Ñ5Ô5¸Ò>Ð>Ø!�M�M�M�M�Mð ?ð"õ
 $Ñ%Ô%Ð%r(   c                 ób   — t          j        d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó    K  — | ]	\  }}|V — Œ
d S r"   r6   ©rR   rõ   rö   s      r&   rT   z/DictComprehension._dict_keys.<locals>.<genexpr>-  s&   è è € Ð!KÐ!K©<¨4° $Ð!KÐ!KÐ!KÐ!KÐ!KÐ!Kr(   ©r   rW   r¼   r.   s    r&   rî   zDictComprehension._dict_keys,  s*   € ÝÔ!Ð!KÐ!K¸4¿=º=¹?¼?Ð!KÑ!KÔ!KÑKÔKÐKr(   c                 ób   — t          j        d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó    K  — | ]	\  }}|V — Œ
d S r"   r6   rü   s      r&   rT   z1DictComprehension._dict_values.<locals>.<genexpr>0  s&   è è € Ð!MÐ!M©\¨T°6 &Ð!MÐ!MÐ!MÐ!MÐ!MÐ!Mr(   rý   r.   s    r&   r×   zDictComprehension._dict_values/  s*   € ÝÔ!Ð!MÐ!M¸T¿]º]¹_¼_Ð!MÑ!MÔ!MÑMÔMÐMr(   rö   c                 óŒ   — t          |                      ¦   «         ¦  «        }t          t          | j        |g¦  «        g¦  «        S r"   ©r   r×   r   ÚFakeListr    ©r$   rI   rS   s      r&   Ú_imitate_valuesz!DictComprehension._imitate_values2  ó;   € å$ T×%6Ò%6Ñ%8Ô%8Ñ9Ô9ˆ
Ý� $Ô"6¸¸ÑEÔEÐFÑGÔGÐGr(   Úitemsc                 óŠ   ‡ — ˆ fd„‰                       ¦   «         D ¦   «         }t          t          ‰ j        |¦  «        g¦  «        S )Nc                 ó’   •— g | ]C\  }}t          t          ‰j        t          |¦  «        t          |¦  «        g¦  «        ¦  «        ‘ŒDS r6   )r   Ú	FakeTupler    r   )rR   Úkeyr”   r$   s      €r&   ú
<listcomp>z4DictComprehension._imitate_items.<locals>.<listcomp>9  sg   ø€ ð 	
ð 	
ð 	
ñ ��Uõ ÝØÔ(Ý$ SÑ)Ô)Ý$ UÑ+Ô+ð-ñô ñô ð	
ð 	
ð 	
r(   )r¼   r   r  r    ©r$   rI   Úlazy_valuess   `  r&   Ú_imitate_itemsz DictComprehension._imitate_items7  sU   ø€ ð	
ð 	
ð 	
ð 	
ð #Ÿmšm™oœoð	
ñ 	
ô 	
ˆõ � $Ô"6¸ÑDÔDÐEÑFÔFÐFr(   c                 ó   — g S r"   r6   r.   s    r&   Úexact_key_itemsz!DictComprehension.exact_key_itemsF  s	   € ð ˆ	r(   r"   )r1   r2   r3   rh   rm   r   rç   rî   r×   r   r  r  r  r   r€   s   @r&   r�   r�     så   ø€ € € € € Ø€Jð&ð &ð &ð &ð &ð(ð (ð (ð (ð&ð &ð &ðLð Lð LðNð Nð Nð €^�HÑÔðHð Hñ ÔðHð €^�GÑÔðGð Gñ ÔðGðð ð ð ð ð ð r(   r�   c                   óX   ‡ — e Zd ZdZddddœZˆ fd„Zˆ fd„Zd„ Zdd
„Zd„ Z	d„ Z
d„ Zˆ xZS )ÚSequenceLiteralValue)Útestlist_star_exprÚtestlistÚsubscriptlistr»   rà   ré   )r‹   rŒ   rƒ   c                 óâ   •— t          ¦   «                              |¦  «         || _        || _        | j        j        | j        v r	d| _        d S t          j        |j	        d                  | _        d S )Nr»   r   )
rl   rm   r•   r�   r|   Ú_TUPLE_LIKErh   r  Úmappingr�   )r$   r    r�   r•   rp   s       €r&   rm   zSequenceLiteralValue.__init__R  sc   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)ØˆŒ	Ø!1ˆÔàŒ9Œ>˜TÔ-Ð-Ð-Ø%ˆDŒOˆOˆOå2Ô:¸4¼=ÈÔ;KÔLˆDŒOØKÐKr(   c                 ó°   •— | j         dk    r+t          d„ |                      ¦   «         D ¦   «         ¦  «        S t          ¦   «                              ¦   «         S )Nr»   c              3   ób   K  — | ]*}|                      ¦   «                              ¦   «         V — Œ+d S r"   )rP   rc   )rR   Úxs     r&   rT   z5SequenceLiteralValue._get_generics.<locals>.<genexpr>_  s6   è è € ÐLÐL°Q˜Ÿš™œ×.Ò.Ñ0Ô0ÐLÐLÐLÐLÐLÐLr(   )rh   r»   r   rl   rÇ   )r$   rp   s    €r&   rÇ   z"SequenceLiteralValue._get_generics]  sM   ø€ ØŒ?˜gÒ%Ð%ÝÐLÐL¸$¿/º/Ñ:KÔ:KÐLÑLÔLÑLÔLÐLÝ‰wŒw×$Ò$Ñ&Ô&Ð&r(   c                 óT  — t          |t          ¦  «        rt          | g¦  «        S t          t          t
          t          ¦  «        5  |                      ¦   «         |         }ddd¦  «         n# 1 swxY w Y   |dk    s|j        dk    rt          S | j
                             |¦  «        S )ú9Here the index is an int/str. Raises IndexError/KeyError.Nr„   Ú	subscript)râ   rã   r   r   rä   ÚKeyErrorr­   Úget_tree_entriesr|   r   r�   r¨   )r$   rå   Únodes      r&   rç   z)SequenceLiteralValue.py__simple_getitem__b  sÓ   € å�e�UÑ#Ô#ð 	;Ý˜T˜FÑ#Ô#Ð#å'­	µ8½ZÑHÔHð 6ð 6Ø×,Ò,Ñ.Ô.¨uÔ5�ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6à�sŠ{ˆ{˜dœi¨;Ò6Ð6Ý Ð ØÔ)×4Ò4°TÑ:Ô:Ð:s   ÁA-Á-A1Á4A1Nc           	   #   ó  K  — |                       ¦   «         D ]Q}|dk    s|j        dk    r't          t          | j        ddd¦  «        ¦  «        V — Œ:t          | j        |¦  «        V — ŒRt          | j        | ¦  «        E d{V —† dS )úŒ
        While values returns the possible values for any array field, this
        function returns the value for a certain index.
        r„   r  N)r   r|   r   ÚSlicer�   r   r   )r$   r%   r!  s      r&   r   zSequenceLiteralValue.py__iter__m  s«   è è € ð
 ×)Ò)Ñ+Ô+ð 	Bð 	BˆDØ�sŠ{ˆ{˜dœi¨;Ò6Ð6õ %¥U¨4Ô+AÀ4ÈÈtÑ%TÔ%TÑUÔUÐUÐUÐUÐUå# DÔ$:¸DÑAÔAÐAÐAÐAÐAÝ(¨Ô)?ÀÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFr(   c                 óD   — t          |                      ¦   «         ¦  «        S r"   )Úlenr   r.   s    r&   Ú	py__len__zSequenceLiteralValue.py__len__{  s   € å�4×(Ò(Ñ*Ô*Ñ+Ô+Ð+r(   c                 ód  — | j         j        }| j         j        | j        v r|d d d…         S |d         }|dv rg S |j        dk    rd„ |j        d d d…         D ¦   «         S |j        dk    r¹g }t	          |j        ¦  «        }|D ]ž}|dk    r t          |¦  «         t          |d ¦  «         Œ(t          |d ¦  «        }|�|dk    r"|j        d	k    rŒL|                     |¦  «         Œb|d
k    sJ ‚|                     |t          |¦  «        f¦  «         t          |d ¦  «         ŒŸ|S |j        d	k    rg S |gS )Nr‡   r‚   )ú]Ú}ú)Útestlist_compc                 ó(   — g | ]}|j         d k    ¯|‘ŒS )Ú	star_expr)r|   )rR   r”   s     r&   r  z9SequenceLiteralValue.get_tree_entries.<locals>.<listcomp>‹  s.   € ð 2ð 2ð 2˜eØ”z [Ò0Ð0ð Ø0Ð0Ð0r(   Údictorsetmakerz**ú,r.  r„   )r•   r�   r|   r  ÚiterÚnextÚappend)r$   rÒ   Ú
array_nodeÚkvÚiteratorr
  Úops          r&   r   z%SequenceLiteralValue.get_tree_entries  sy  € ØŒIÔˆàŒ9Œ>˜TÔ-Ð-Ð-Ø�S�S�q�S”6ˆMà�q”Tˆ
Ø˜Ð(Ð(ØˆIàŒ?˜oÒ-Ð-ð2ð 2 zÔ':¸3¸3¸Q¸3Ô'?ð 2ñ 2ô 2ð 2àŒ_Ð 0Ò0Ð0ØˆBÝ˜JÔ/Ñ0Ô0ˆHØð -ð -�Ø˜$’;�;õ ˜‘N”N�NÝ˜ 4Ñ(Ô(Ð(Ð(å˜h¨Ñ-Ô-�BØ�z R¨3¢Y YØœ8 {Ò2Ð2ð !àŸIšI c™NœN˜N˜Nà! Sšy˜y˜y˜yØŸ	š	 3­¨X©¬Ð"7Ñ8Ô8Ð8Ý˜X tÑ,Ô,Ð,Ð,ØˆIàŒ +Ò-Ð-ð �	à"�|Ð#r(   c                 ó2   — d| j         j        ›d| j        ›d�S ry   )rp   r1   r•   r.   s    r&   r}   zSequenceLiteralValue.__repr__¬  s    € € Ø#œ~Ô6Ð6Ð6¸¼	¸	¸	ÐBÐBr(   r"   )r1   r2   r3   r  r  rm   rÇ   rç   r   r'  r   r}   r   r€   s   @r&   r  r  L  sÌ   ø€ € € € € ØC€KØØØðð €Gð	Lð 	Lð 	Lð 	Lð 	Lð'ð 'ð 'ð 'ð 'ð
	;ð 	;ð 	;ðGð Gð Gð Gð,ð ,ð ,ð+$ð +$ð +$ðZCð Cð Cð Cð Cð Cð Cr(   r  c                   óˆ   — e Zd ZdZd„ Zd„ Zdd„Z ed¦  «        d„ ¦   «         Z ed¦  «        d	„ ¦   «         Z	d
„ Z
d„ Zd„ ZdS )ÚDictLiteralValuer¦   c                 óX   — t                                | |¦  «         || _        || _        d S r"   )rÉ   rm   r�   r•   )r$   r    r�   r•   s       r&   rm   zDictLiteralValue.__init__³  s-   € õ 	×Ò˜$ Ñ0Ô0Ð0Ø!1ˆÔØˆŒ	ˆ	ˆ	r(   c                 ób  — t          j        | j        |¦  «        }|                      ¦   «         D ]o\  }}| j                             |¦  «        D ]O}|                     |d¦  «        D ]6}|                     ¦   «         r | j                             |¦  «        c c c S Œ7ŒPŒpt          d| z  ¦  «        ‚)r  z==zNo key found in dictionary %s.)	r   Úcreate_simple_objectr    r   r�   r¨   Úexecute_operationr5   r   )r$   rå   Úcompiled_value_indexr
  r”   rù   Úkey_vs          r&   rç   z%DictLiteralValue.py__simple_getitem__º  sä   € å'Ô<¸TÔ=QÐSXÑYÔYÐØ×/Ò/Ñ1Ô1ð 	Hð 	H‰JˆC�ØÔ+×6Ò6°sÑ;Ô;ð Hð H�Ø×0Ò0Ð1EÀtÑLÔLð Hð H�EØ×+Ò+Ñ-Ô-ð HØ#Ô5×@Ò@ÀÑGÔGÐGÐGÐGÐGÐGÐGÐGðHðHðHõ $Ð$DÀtÑ$KÑLÔLÐLr(   Nc              #   ó²   K  — t           }|                      ¦   «         D ]"\  }}|| j                             |¦  «        z  }Œ#|D ]}t	          |¦  «        V — ŒdS )r#  N)r   r   r�   r¨   r   )r$   r%   rµ   rù   Ú_s        r&   r   zDictLiteralValue.py__iter__Ä  s{   è è € õ ˆØ×)Ò)Ñ+Ô+ð 	:ð 	:‰DˆAˆqØ�TÔ+×6Ò6°qÑ9Ô9Ñ9ˆEˆEð ð 	)ð 	)ˆAÝ! %Ñ(Ô(Ð(Ð(Ð(Ð(ð	)ð 	)r(   rö   c                 óŒ   — t          |                      ¦   «         ¦  «        }t          t          | j        |g¦  «        g¦  «        S r"   r  r  s      r&   r  z DictLiteralValue._imitate_valuesÒ  r  r(   r  c                 óŠ   ‡ — ˆ fd„‰                       ¦   «         D ¦   «         }t          t          ‰ j        |¦  «        g¦  «        S )Nc                 óª   •— g | ]O\  }}t          t          ‰j        t          ‰j        |¦  «        t          ‰j        |¦  «        f¦  «        ¦  «        ‘ŒPS r6   )r   r	  r    r   r�   )rR   r‰   rŠ   r$   s      €r&   r  z3DictLiteralValue._imitate_items.<locals>.<listcomp>Ù  sq   ø€ ð 
ð 
ð 
ñ
 (�8˜Zõ	 �9ØÔ$Ý˜tÔ5°xÑ@Ô@Ý˜tÔ5°zÑBÔBðDñô ñ ô ð
ð 
ð 
r(   )r   r   r  r    r  s   `  r&   r  zDictLiteralValue._imitate_items×  sY   ø€ ð
ð 
ð 
ð 
ð
 ,0×+@Ò+@Ñ+BÔ+Bð
ñ 
ô 
ˆõ � $Ô"6¸ÑDÔDÐEÑFÔFÐFr(   c              #   óì   K  — |                       ¦   «         D ]\\  }}| j                             |¦  «        D ]<}t          |¦  «        r+|                     ¦   «         t          | j        |¦  «        fV — Œ=Œ]dS )z˜
        Returns a generator of tuples like dict.items(), where the key is
        resolved (as a string) and the values are still lazy values.
        N)r   r�   r¨   r
   r5   r   )r$   r‰   r”   r
  s       r&   r  z DictLiteralValue.exact_key_itemsã  s˜   è è € ð
  $×4Ò4Ñ6Ô6ð 	]ð 	]‰OˆH�eØÔ-×8Ò8¸ÑBÔBð ]ð ]�Ý˜S‘>”>ð ]Ø×,Ò,Ñ.Ô.µ¸dÔ>TÐV[Ñ0\Ô0\Ð\Ð\Ð\Ð\øð]ð	]ð 	]r(   c                 óh   ‡ — t          j        ˆ fd„‰                      ¦   «         D ¦   «         ¦  «        S )Nc              3   óR   •K  — | ]!\  }}‰j                              |¦  «        V — Œ"d S r"   ©r�   r¨   ©rR   rù   Úvr$   s      €r&   rT   z0DictLiteralValue._dict_values.<locals>.<genexpr>î  óL   øè è € ð "
ð "
á��1ð Ô"×-Ò-¨aÑ0Ô0ð"
ð "
ð "
ð "
ð "
ð "
r(   ©r   rW   r   r.   s   `r&   r×   zDictLiteralValue._dict_valuesí  óJ   ø€ ÝÔ!ð "
ð "
ð "
ð "
à×-Ò-Ñ/Ô/ð"
ñ "
ô "
ñ 
ô 
ð 	
r(   c                 óh   ‡ — t          j        ˆ fd„‰                      ¦   «         D ¦   «         ¦  «        S )Nc              3   óR   •K  — | ]!\  }}‰j                              |¦  «        V — Œ"d S r"   rI  rJ  s      €r&   rT   z.DictLiteralValue._dict_keys.<locals>.<genexpr>ô  rL  r(   rM  r.   s   `r&   rî   zDictLiteralValue._dict_keysó  rN  r(   r"   )r1   r2   r3   rh   rm   rç   r   r   r  r  r  r×   rî   r6   r(   r&   r:  r:  °  sÐ   € € € € € Ø€Jðð ð ðMð Mð Mð)ð )ð )ð )ð €^�HÑÔðHð Hñ ÔðHð €^�GÑÔð	Gð 	Gñ Ôð	Gð]ð ]ð ]ð
ð 
ð 
ð
ð 
ð 
ð 
ð 
r(   r:  c                   ó8   ‡ — e Zd Zˆ fd„Zd„ Zdd„Zd„ Zd„ Zˆ xZS )Ú_FakeSequencec                 óX   •— t          ¦   «                              |¦  «         || _        dS )z7
        type should be one of "tuple", "list"
        N)rl   rm   Ú_lazy_value_list)r$   r    Úlazy_value_listrp   s      €r&   rm   z_FakeSequence.__init__û  s+   ø€ õ 	‰Œ×Ò˜Ñ)Ô)Ð)Ø /ˆÔÐÐr(   c                 óò   — t          |t          ¦  «        rt          | g¦  «        S t          t          t
          ¦  «        5  | j        |         }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         S r"   )râ   rã   r   r   r­   rä   rT  rP   ©r$   rå   rS   s      r&   rç   z"_FakeSequence.py__simple_getitem__  s¨   € Ý�e�UÑ#Ô#ð 	$Ý˜T˜FÑ#Ô#Ð#å#¥Jµ	Ñ:Ô:ð 	6ð 	6ØÔ.¨uÔ5ˆJð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6à×ÒÑ!Ô!Ð!s   Á AÁAÁ!ANc                 ó   — | j         S r"   )rT  r#   s     r&   r   z_FakeSequence.py__iter__
  s   € ØÔ$Ð$r(   c                 óD   — t          t          | j        ¦  «        ¦  «        S r"   )Úboolr&  rT  r.   s    r&   rD   z_FakeSequence.py__bool__  s   € Ý•C˜Ô-Ñ.Ô.Ñ/Ô/Ð/r(   c                 óB   — dt          | ¦  «        j        ›d| j        ›d�S ry   )r|   r1   rT  r.   s    r&   r}   z_FakeSequence.__repr__  s'   € € Ý# D™zœzÔ2Ð2Ð2°DÔ4IÐ4IÐ4IÐJÐJr(   r"   )	r1   r2   r3   rm   rç   r   rD   r}   r   r€   s   @r&   rR  rR  ú  s€   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð"ð "ð "ð%ð %ð %ð %ð0ð 0ð 0ðKð Kð Kð Kð Kð Kð Kr(   rR  c                   ó   — e Zd ZdZdS )r	  r»   Nrê   r6   r(   r&   r	  r	    ó   € € € € € Ø€J€J€Jr(   r	  c                   ó   — e Zd ZdZdS )r  r»   Nrê   r6   r(   r&   r  r    r]  r(   r  c                   óp   ‡ — e Zd ZdZˆ fd„Zdd„Zd„ Z ed¦  «        d„ ¦   «         Zd„ Z	d	„ Z
d
„ Zd„ Zˆ xZS )ÚFakeDictr¦   c                 óX   •— t          ¦   «                              |¦  «         || _        d S r"   )rl   rm   Ú_dct)r$   r    r¶   rp   s      €r&   rm   zFakeDict.__init__  s&   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)ØˆŒ	ˆ	ˆ	r(   Nc              #   óp   K  — | j         D ]+}t          t          j        | j        |¦  «        ¦  «        V — Œ,d S r"   )rb  r   r   r=  r    )r$   r%   r
  s      r&   r   zFakeDict.py__iter__#  sM   è è € Ø”9ð 	[ð 	[ˆCÝ ¥Ô!>¸tÔ?SÐUXÑ!YÔ!YÑZÔZÐZÐZÐZÐZð	[ð 	[r(   c                 ó¨   — t          t          t          ¦  «        5  | j        |         }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         S r"   )r   r  rä   rb  rP   rW  s      r&   rç   zFakeDict.py__simple_getitem__'  s…   € Ý#¥H­iÑ8Ô8ð 	*ð 	*Øœ 5Ô)ˆJð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*à×ÒÑ!Ô!Ð!s   ›5µ9¼9rö   c           	      óˆ   — t          t          | j        t          |                      ¦   «         ¦  «        g¦  «        g¦  «        S r"   )r   r	  r    r   r×   rH   s     r&   Ú_valueszFakeDict._values,  sE   € å�ØÔ Ý˜T×.Ò.Ñ0Ô0Ñ1Ô1Ð2ñ
ô 
ð ñ ô ð 	r(   c                 ól   — t          j        d„ | j                             ¦   «         D ¦   «         ¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r"   rO   rQ   s     r&   rT   z(FakeDict._dict_values.<locals>.<genexpr>4  s.   è è € Ð!ZÐ!Z¸ *×"2Ò"2Ñ"4Ô"4Ð!ZÐ!ZÐ!ZÐ!ZÐ!ZÐ!Zr(   )r   rW   rb  rö   r.   s    r&   r×   zFakeDict._dict_values3  s0   € ÝÔ!Ð!ZÐ!ZÀtÄy×GWÒGWÑGYÔGYÐ!ZÑ!ZÔ!ZÑZÔZÐZr(   c                 ób   — t          j        d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r"   rO   rQ   s     r&   rT   z&FakeDict._dict_keys.<locals>.<genexpr>7  rU   r(   rV   r.   s    r&   rî   zFakeDict._dict_keys6  ó,   € ÝÔ!Ð!YÐ!YÀtÇÂÑGXÔGXÐ!YÑ!YÔ!YÑYÔYÐYr(   c                 ó4   — | j                              ¦   «         S r"   )rb  r  r.   s    r&   r  zFakeDict.exact_key_items9  s   € ØŒy�ŠÑ Ô Ð r(   c                 ó2   — d| j         j        ›d| j        ›d�S )Nrz   z: r{   )rp   r1   rb  r.   s    r&   r}   zFakeDict.__repr__<  s    € € Ø!œ^Ô4Ð4Ð4°d´i°i°iÐ@Ð@r(   r"   )r1   r2   r3   rh   rm   r   rç   r   rf  r×   rî   r  r}   r   r€   s   @r&   r`  r`    sÓ   ø€ € € € € Ø€Jðð ð ð ð ð[ð [ð [ð [ð"ð "ð "ð
 €^�HÑÔðð ñ Ôðð[ð [ð [ðZð Zð Zð!ð !ð !ðAð Að Að Að Að Að Ar(   r`  c                   ó,   ‡ — e Zd Zˆ fd„Zdd„Zd„ Zˆ xZS )ÚMergedArrayc                 ó|   •— t          ¦   «                              |¦  «         |d         j        | _        || _        d S )Néÿÿÿÿ)rl   rm   rh   Ú_arrays)r$   r    Úarraysrp   s      €r&   rm   zMergedArray.__init__A  s4   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)Ø  œ*Ô/ˆŒØˆŒˆˆr(   Nc              #   óR   K  — | j         D ]}|                     ¦   «         E d {V —† Œd S r"   )rr  r   )r$   r%   Úarrays      r&   r   zMergedArray.py__iter__F  sH   è è € Ø”\ð 	*ð 	*ˆEØ×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð	*ð 	*r(   c                 ób   — t          j        d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r"   rO   rQ   s     r&   rT   z3MergedArray.py__simple_getitem__.<locals>.<genexpr>K  rU   r(   rV   )r$   rå   s     r&   rç   z MergedArray.py__simple_getitem__J  rk  r(   r"   )r1   r2   r3   rm   r   rç   r   r€   s   @r&   ro  ro  @  sb   ø€ € € € € ðð ð ð ð ð
*ð *ð *ð *ðZð Zð Zð Zð Zð Zð Zr(   ro  c           	      óÜ  — |j         dk    r	|j        |iS |j         dk    r+|j        d         dv rt          | ||j        d         ¦  «        S |j         dv rîi }t	          |j        ddd…         ¦  «        }d}|                     t          | |¦  «        ¦  «        D ]x}|dz  }	 t          |¦  «        }|                     t          | | 	                    ¦   «         |¦  «        ¦  «         ŒN# t          $ r t          j        | d	|d
|z  ¬¦  «         Y Œuw xY wt          |d¦  «        }|r|�t          j        | d|d|z  ¬¦  «         |S |j         dk    s|j         dk    ri S |j         dk    ri S t          ‚)zG
    Unpacking tuple assignments in for statements and expr_stmts.
    r]   r•   r   )r‹   rŒ   r‚   )r  r,  r³   r  Nr‡   zvalue-error-too-many-valuesz3ValueError: too many values to unpack (expected %s))Úmessagezvalue-error-too-few-valuesz.ValueError: need more than %s values to unpackÚpowerÚ	atom_exprr.  )r|   r”   r�   rª   r1  rs   r   r2  ÚupdaterP   ÚStopIterationr   ÚaddÚNotImplementedError)	r·   rµ   r³   r¶   ÚpartsÚnrS   ÚpartÚ	has_partss	            r&   rª   rª   N  så  € ð „}˜ÒÐØ” Ð&Ð&Ø	Œ˜&Ò	 Ð	  XÔ%6°qÔ%9¸ZÐ%GÐ%GÝ# G¨U°HÔ4EÀaÔ4HÑIÔIÐIØ	Œð 1ð 
1ð 
1àˆÝ�XÔ& s s¨ sÔ+Ñ,Ô,ˆØˆØŸ-š-Õ(:¸7ÀHÑ(MÔ(MÑNÔNð 	Tð 	TˆJØ�‰FˆAðTÝ˜E‘{”{�ð
 —
’
Õ/°¸×9IÒ9IÑ9KÔ9KÈTÑRÔRÑSÔSÐSÐSøõ	 !ð `ð `ð `Ý”˜WÐ&CÀTØ%ZÐ]^Ñ%^ð`ñ `ô `ð `ð `ð `ð`øøøõ
 ˜ Ñ%Ô%ˆ	Øð 	W�YÐ*ÝŒL˜Ð">À	Ø!QÐTUÑ!UðWñ Wô Wð Wàˆ
Ø	Œ˜'Ò	!Ð	! X¤]°kÒ%AÐ%Að ˆ	Ø	Œ˜+Ò	%Ð	%àˆ	Ý
Ðs   Â C&Ã&%DÄDc                   ó$   — e Zd Zd„ Zd„ Zefd„ZdS )r$  c                 óV   — |j         | _         || _        || _        || _        || _        d S r"   )r    Ú_contextÚ_startÚ_stopÚ_step)r$   Úpython_contextÚstartÚstopÚsteps        r&   rm   zSlice.__init__u  s-   € Ø-Ô=ˆÔØ&ˆŒàˆŒØˆŒ
ØˆŒ
ˆ
ˆ
r(   c                 óp   — t          j        | j        j        d¦  «        }|                     ¦   «         \  }|S )Nrã   )r   r-   r†  r    Úexecute_with_values)r$   r”   Úslice_values      r&   r=   zSlice._get_wrapped_value}  s2   € ÝÔ*¨4¬=Ô+HÈ'ÑRÔRˆØ×0Ò0Ñ2Ô2‰ˆØÐr(   c                 óÈ   ‡ — ˆ fd„}	 t           |‰ j        ¦  «         |‰ j        ¦  «         |‰ j        ¦  «        ¦  «        S # t          $ r t          ddd¦  «        cY S w xY w)ze
        Imitate CompiledValue.obj behavior and return a ``builtin.slice()``
        object.
        c                 óš   •— | €d S ‰j                              | ¦  «        }t          |¦  «        dk    rt          ‚|\  }t	          |¦  «        S )Nr‚   )r†  r¨   r&  r­   r	   )ÚelementÚresultr”   r$   s      €r&   Úgetz!Slice.get_safe_value.<locals>.get‡  sP   ø€ ØˆØ�tà”]×-Ò-¨gÑ6Ô6ˆFÝ�6‰{Œ{˜aÒÐõ !Ð à‰FˆEÝ" 5Ñ)Ô)Ð)r(   N)rã   r‡  rˆ  r‰  r­   )r$   r¹   r•  s   `  r&   r5   zSlice.get_safe_value‚  s†   ø€ ð
	*ð 	*ð 	*ð 	*ð 	*ð	+Ý˜˜˜Tœ[Ñ)Ô)¨3¨3¨t¬z©?¬?¸C¸CÀÄ
¹O¼OÑLÔLÐLøÝð 	+ð 	+ð 	+Ý˜˜t TÑ*Ô*Ð*Ð*Ð*ð	+øøøs   ˆ:A ÁA!Á A!N)r1   r2   r3   rm   r=   r   r5   r6   r(   r&   r$  r$  t  sK   € € € € € ðð ð ðð ð ð
 &.ð +ð +ð +ð +ð +ð +r(   r$  N);r~   Útypingr   Újedi.inferencer   r   Újedi.inference.lazy_valuer   r   r   Újedi.inference.helpersr	   r
   r   r   Újedi.inference.utilsr   r   Újedi.inference.cacher   Újedi.inference.filtersr   r   Újedi.inference.base_valuer   r   r   r   r   r   r   Újedi.parser_utilsr   Újedi.inference.contextr   Ú#jedi.inference.value.dynamic_arraysr   r   r8   r[   rš   rœ   rÂ   rÉ   rÜ   r“   r‘   r’   rí   r�   r  r:  rR  r	  r  r`  ro  rª   r$  r6   r(   r&   ú<module>r¡     sa  ððð ð Ð Ð Ð Ð Ð à #Ð #Ð #Ð #Ð #Ð #Ø #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð ð ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø =Ð =Ð =Ð =Ð =Ð =Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ Iðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø EÐ EÐ EÐ EÐ EÐ Eð*ð *ð *ð *ð *ñ *ô *ð *ð&"1ð "1ð "1ð "1ð "1Ð*¨Mñ "1ô "1ð "1ðJRð Rð Rð Rð R�ñ Rô Rð Rð&!ð !ð !ðH3Nð 3Nð 3Nð 3Nð 3Nñ 3Nô 3Nð 3NðlVð Vð Vð Vð Vñ Vô Vð Vð"0ð "0ð "0ð "0ð "0Ð% }ñ "0ô "0ð "0ðJ&ð &ð &ð &ð &Ð+ñ &ô &ð &ð
"ð 
"ð 
"ð 
"ð 
"Ð*¨Hñ 
"ô 
"ð 
"ðð ð ð ð Ð)¨8ñ ô ð ð	ð 	ð 	ð 	ð 	Ð/°ñ 	ô 	ð 	ð
!ð 
!ð 
!ð 
!ð 
!ñ 
!ô 
!ð 
!ð5ð 5ð 5ð 5ð 5Ð*¨H°mñ 5ô 5ð 5ðpaCð aCð aCð aCð aC˜8ñ aCô aCð aCðHG
ð G
ð G
ð G
ð G
�zÐ#7¸ñ G
ô G
ð G
ðTKð Kð Kð Kð K�Hñ Kô Kð Kð4ð ð ð ð �ñ ô ð ðð ð ð ð ˆ}ñ ô ð ð!Að !Að !Að !Að !Aˆz˜8 ]ñ !Aô !Að !AðHZð Zð Zð Zð Z�(ñ Zô Zð Zð#ð #ð #ðL#+ð #+ð #+ð #+ð #+Ðñ #+ô #+ð #+ð #+ð #+r(   