ó
    Ñ]j�à  ã                   ó|  • % S SK J r   S SKJrJrJrJr  S SKJrJrJ	r	J
r
JrJrJrJrJrJrJrJr  S SKJrJr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKJr  S SKJrJ r   S SK!J"r"J#r#J$r$  S S	K%J&r&  S SK!r!S S
KJ'r'J(r(J)r)  \RT                  S:  a  S SK+J,r,  OS SKJ,r,  \& " S S\5      5       r-\& " S S\5      5       r.\& " S S\5      5       r/\& " S S\5      5       r0\\/\04   r1S\S\\S4   4S jr2\&\ " S S5      5       5       r3S\4S\\4   4S jr5S\4S\\4   S\44S jr6S r7S \8\9\4S!4   \4-     S\8\9\4S!4      4S" jr:\&\ " S# S$\35      5       5       r; " S% S&\
5      r<\	S'   r=\ " S( S)5      5       r> " S* S+5      r?\?" 5       r@S,rA\" 5       rB\C" 5       rD " S- S.\E5      rFS/\4S0\>4S1 jrG\R�                  S2\R’                  S3\R”                  S4\R–                  S5\R˜                  S6\Rš                  S7\Rœ                  S8\Rž                  S9\R                   S:\R¢                  S;\R¤                  S<\R¦                  S=\R¨                  S>0rU\V\W\R4                     \9\4   4   \XS?'   \R²                  S@\R´                  SA\R¶                  SB\R¸                  SC\Rº                  SD\R¼                  SE\R¾                  SF0r`\V\W\RÂ                     \9\4S!4   4   \XSG'   \RÄ                  SH\RÆ                  SI\RÈ                  SJ\RÊ                  SK0rf\V\W\RÎ                     \9\4S!4   4   \XSL'   \V\h\8\9\i4rj " SM SN5      rk " SO SP5      rlS\\9\4S!4   S4   4SQ jrmS0\>S\34SR jrnSS\=ST\VS\o4SU jrpS\o4SV jrqSW\Rä                  S0\>4SX jrsSY rtSW\Rê                  S0\>4SZ jrvS[\Rî                  S0\>S\o4S\ jrxS\V\4\\C   4   4S] jrySW\\Rî                  S4   S0\>4S^ jrzS_\hS`\34Sa jr{S`\34Sb jr|SW\Rú                  S0\>4Sc jr~Sd rS\SW\Rê                  S0\>4Se jr€Sf\4S0\>4Sg jr� " Sh Si\V5      r‚   S‚Sf\C\4-  S0\>Sj\S-  S\S-  SW\Rê                  S-  4
Sk jjrƒSl\4S0\>4Sm jr„S0\>4Sn jr…So r†1 Spkr‡\V\4\ˆ\h\9\W\l\GR                  \GR                  \GR                  \GR                  \GR                  \GR                  \GR                  \<\?1r�\8\.   \XSq'   SƒSr jr‘Ssr’Str“\8" \”" \85      5      \8" \”" \i5      5      -  r•\W" 0 GR-                  5       5      r—\W\GR0                  GR2                     \XSu'   \W" 0 GR5                  5       5      r›\W\XSv'   \W" 0 GR9                  5       5      r�\W\XSw'   \ž\Ÿ\ 1r¡1 \ˆi\‘" \ˆ5      k\ˆGRD                  i\Vi\‘" \V\’5      k\VGRD                  i\—GRD                  i\›GRD                  i\�GRD                  i\—GRF                  i\hi\‘" \h\“5      k\hGRD                  i\8i\‘" \8\•5      k\8GRD                  i\ii\‘" \i5      k\iGRD                  i\¤i\¤GRD                  i\4i\‘" \45      k\4GRD                  i\9i\‘" \95      k\9GRD                  i\oi\‘" \o5      k\¡k\¡ V Vs/ s H  n \‘" U 5        H  oPM     M     snn k\GR                  i\‘" \GR                  \“5      k\GR                  GRD                  i\GR                  i\‘" \GR                  \’5      k\GR                  GRD                  i\GR                  i\‘" \GR                  \’5      k\GR                  GRD                  i\GR                  i\‘" \GR                  \’5      k\GR                  GRD                  i\GR                  i\‘" \GR                  \“5      k\GR                  GRD                  i\GR                  i\‘" \GR                  \”" \45      5      k\GR                  GRD                  i\GRJ                  i\‘" \GRJ                  \’5      k\GRJ                  GRD                  i\GRJ                  GRL                  i\GRJ                  GRN                  i\CGRP                  i\WGRP                  i\lGRP                  ir©1 \�k\8i\ii\Ci\Wi\¡k\—i\"i\#irª\8\1   \XSx'   1 \ªkr«\3" SySzSzSzSz\8" 5       SzSzS{9\;" \�\‡\ªS|S}1\«SySySySy\©S~9
\3" SySySySySySySyS9S€.r¬/ S�Qr­gs  snn f )„é    )Úcopy)ÚisclassÚ	signatureÚ	SignatureÚ	getmodule)Ú	AnnotatedÚAnyStrÚLiteralÚ
NamedTupleÚNewTypeÚOptionalÚProtocolÚ	TypeGuardÚUnionÚget_argsÚ
get_originÚis_typeddict)ÚCallableÚSequenceN)Úcached_property)Ú	dataclassÚfield)ÚMethodDescriptorTypeÚ
ModuleTypeÚ
MethodType)Úundoc)ÚSelfÚLiteralStringÚget_type_hints)é   é   )ÚTypeAliasTypec                   ó   • \ rS rSrSS jrSrg)Ú
HasGetItemé)   Nc                 ó   • g ©N© ©ÚselfÚkeys     ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/core/guarded_eval.pyÚ__getitem__ÚHasGetItem.__getitem__+   ó   € Øó    r(   ©ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r-   Ú__static_attributes__r(   r0   r,   r$   r$   )   ó   † ÷r0   r$   c                   ó"   • \ rS rSrS\4S jrSrg)ÚInstancesHaveGetItemé/   r2   c                 ó   • g r'   r(   )r*   ÚargsÚkwargss      r,   Ú__call__ÚInstancesHaveGetItem.__call__1   r/   r0   r(   N)r3   r4   r5   r6   r$   r?   r7   r(   r0   r,   r:   r:   /   s   † ð¨:÷ r0   r:   c                   ó   • \ rS rSrSS jrSrg)Ú
HasGetAttré5   Nc                 ó   • g r'   r(   r)   s     r,   Ú__getattr__ÚHasGetAttr.__getattr__7   r/   r0   r(   r1   )r3   r4   r5   r6   rE   r7   r(   r0   r,   rB   rB   5   r8   r0   rB   c                   ó   • \ rS rSrSrg)ÚDoesNotHaveGetAttré;   r(   N)r3   r4   r5   r6   r7   r(   r0   r,   rH   rH   ;   s   † âr0   rH   Úfuncr2   c                 ó¸   • [        U SS5      n[        U5      n[        U SS5      n[        USS5      nUb%  U(       a  U(       a  U(       a  X4;  a  [        X#5      $ g)zuGet unbound method for given bound method.

Returns None if cannot get unbound method, or method is already unbound.
Ú__self__Nr3   Ú__dict__)ÚgetattrÚtype)rJ   ÚownerÚowner_classÚnameÚinstance_dict_overridess        r,   Ú_unbind_methodrT   D   s\   € ô
 �D˜* dÓ+€EÜ�u“+€KÜ�4˜ TÓ*€DÜ% e¨Z¸Ó>ÐàÑÞæ'Þ'¨DÓ,Oô �{Ó)Ð)Ør0   c                   óÔ   • \ rS rSr% SrSr\\S'   Sr\\S'   Sr	\\S'   Sr
\\S'   Sr\\S'   Sr\\S	'   Sr\\S
'   Sr\\S'   \" \S9r\\   \S'   S rS rSS\\S4   4S jjrS rSrg)ÚEvaluationPolicyéY   z Definition of evaluation policy.FÚallow_locals_accessÚallow_globals_accessÚallow_item_accessÚallow_attr_accessÚallow_builtins_accessÚallow_all_operationsÚallow_any_callsÚallow_auto_import©Údefault_factoryÚallowed_callsc                 ó   • U R                   $ r'   )rZ   )r*   ÚvalueÚitems      r,   Úcan_get_itemÚEvaluationPolicy.can_get_itemh   ó   € Ø×%Ñ%Ð%r0   c                 ó   • U R                   $ r'   )r[   )r*   rd   Úattrs      r,   Úcan_get_attrÚEvaluationPolicy.can_get_attrk   rh   r0   NÚdunders.c                 ó(   • U R                   (       a  gg ©NT)r]   )r*   rm   ÚaÚbs       r,   Úcan_operateÚEvaluationPolicy.can_operaten   s   € Ø×$×$Øð %r0   c                 óŽ   • U R                   (       a  gXR                  ;   a  g[        U5      nU(       a  X R                  ;   a  gg g ro   )r^   rb   rT   )r*   rJ   Úowner_methods      r,   Úcan_callÚEvaluationPolicy.can_callr   s?   € Ø××Øà×%Ñ%Ó%Øä% dÓ+ˆæ˜L×,>Ñ,>Ó>Øð ?ˆ<r0   r(   r'   )r3   r4   r5   r6   Ú__doc__rX   ÚboolÚ__annotations__rY   rZ   r[   r\   r]   r^   r_   r   Úsetrb   r   rf   rk   ÚtupleÚstrrr   rv   r7   r(   r0   r,   rV   rV   Y   s”   ‡ ñ +à %Ð˜Ó%Ø!&Ð˜$Ó&Ø#Ð�tÓ#Ø#Ð�tÓ#Ø"'Ð˜4Ó'Ø!&Ð˜$Ó&Ø!€O�TÓ!Ø#Ð�tÓ#Ù#(¸Ñ#=€M�3�x‘=Ó=ò&ò&ñ 5¨¨c¨¡?õ õ
r0   rV   Úmodule_nameÚaccess_pathc                 óú   •  [         R                  U    nU H  n[        X#5      nM     U$ ! [        [        4 a?    SR                  U /UQ5      nU[         R                  ;   a  [         R                  U   s $ e f = f)zíGet value from external module given a dotted access path.

Only gets value if the module is already imported.

Raises:
* `KeyError` if module is removed not found, and
* `AttributeError` if access path does not match an exported object
Ú.)ÚsysÚmodulesrN   ÚKeyErrorÚAttributeErrorÚjoin)r~   r   Úmember_typerj   Úmodule_paths        r,   Ú_get_externalr‰      sw   € ðÜ—k‘k +Ñ.ˆãˆDÜ! +Ó4ŠKñ  àÐøÜ”nÐ%ó à—h‘h Ð:¨kÐ:Ó;ˆØœ#Ÿ+™+Ó%Ü—;‘;˜{Ñ+Ò+Øðús   ‚(+ «AA:Á8A:Úmethod_namec                 óè  • U[         R                  ;  a)  SR                  U/UQ5      nU[         R                  ;  a  g [        X5      n[	        U 5      n[	        U 5      U:X  a  g[        U[        5      (       al  [        U5      nU(       a  UR                  (       d  gUR                  UR                  :X  d-  UR                  R                  UR                  S-   5      (       a  gUS:X  a  g[        U[        5      (       d.  [        X5      (       a  [        XcS 5      n[        XSS 5      n	X˜:X  a  g[        U[        5      (       a˜  [        XcS 5      nUR                  SS   Hx  n
[        U
5      nU(       d  M  UR                  UR                  :X  d/  UR                  R                  UR                  S-   5      (       d  M`  [        X£S 5      nUc  Mq  XÈ:X  d  Mx    g   g g ! [        [        4 a     gf = f)Nr�   FTÚ__getattribute__é   )r‚   rƒ   r†   r‰   rO   Ú
isinstancer   r   r3   Ú
startswithrN   Ú__mro__r…   r„   )rd   r~   r   rŠ   Úfull_module_pathr‡   Ú
value_typeÚvalue_moduleÚmethodÚmember_methodÚ
base_classÚbase_moduleÚbase_methods                r,   Ú_has_original_dunder_externalr™   –   s°  € ð œ#Ÿ+™+Ó%ØŸ8™8 [Ð$?°;Ð$?Ó@ÐØ¤3§;¡;Ó.àð$Ü# KÓ=ˆÜ˜%“[ˆ
Ü�‹;˜+Ó%ØÜ�k¤:×.Ñ.Ü$ ZÓ0ˆLÞ |×'<×'<Øà×%Ñ%¨×)=Ñ)=Ó=Ø×(Ñ(×3Ñ3°K×4HÑ4HÈ3Ñ4N×OÑOàØÐ,Ó,ð Ü˜+¤z×2Ñ2´zÀ%×7UÑ7UÜ˜Z°dÓ;ˆFÜ# K¸dÓCˆMØÓ&ØÜ�k¤:×.Ñ.Ü˜Z°dÓ;ˆFØ(×0Ñ0°°Ó4�
Ü'¨
Ó3�ß�;Ø×(Ñ(¨K×,@Ñ,@Ó@Ø"×+Ñ+×6Ñ6°{×7KÑ7KÈcÑ7Q×RÓRô #*¨*À4Ó"H�KØ"Ó.°;Õ3HÙ#ò 5ð /øô œHÐ%ó ÙðúsQ   ¿%G Á%8G ÂAG Ã&G Ã-AG Ä0AG Å7AG Ç G ÇG ÇG ÇG ÇG1Ç0G1c                 óŒ   • [        U 5      nXQ;   a  g[        XTS 5      nUc  g Xb;   a  gU H  tpx[        XX„5      (       d  M    g   g)NTF)rO   rN   r™   )	rd   Úallowed_typesÚallowed_methodsÚallowed_externalrŠ   r’   r”   r~   r   s	            r,   Ú_has_original_dunderrž   È   sW   € ô
 �e“€Jð Ó"Øä�Z¨dÓ3€Fà�~ØàÓ Øã%5Ð!ˆÜ(¨¸[×VÓVÙñ &6ð r0   Ú
allow_list.c                 ó�   • U  Vs1 s H4  n[        U[        5      (       a  UO[        UR                  S5      5      iM6     sn$ s  snf )z<Replace dotted paths on the provided allow-list with tuples.r�   )rŽ   r|   Úsplit)rŸ   Úpaths     r,   Ú_coerce_path_to_tuplesr£   â   sG   € ñ óâˆDô ˜4¤×'Ñ'‰¬U°4·:±:¸c³?Ó-CÒCÙñð ùò s   …;Ac                   óÔ  • \ rS rSr% \" \S9r\\   \S'   \" \S9r	\\
\S4   \-     \S'   \" \S9r\\   \S'   \" \S9r\\
\S4   \-     \S'   \" \S9r\\S'   \" \S9r\\
\S4   \-     \S	'   \" \S9r\\S
'   \" \SS9r\\\\   4   \S'   S rS rSS\
\S4   4S jjrS\S\\   4S jr\S\\   4S j5       r\S\\   4S j5       r\S\\   4S j5       rS\\   4S jrSrg)ÚSelectivePolicyéì   r`   Úallowed_getitem.Úallowed_getitem_externalÚallowed_getattrÚallowed_getattr_externalÚallowed_operationsÚallowed_operations_externalÚallow_getitem_on_typesF)ra   ÚinitÚ_operation_methods_cachec                 ó  • [        U R                  5      n[        UU R                  U R                  USS9n[        UU R                  U R
                  USS9nSnUc
  U(       a  SnOU=(       a    UnU(       a~  [        U5      n[        Xr5      (       d  g[        Xr5      n[        U[        5      n	U	(       d  g[        U5      U R                  ;   a  gU H  tp« [        X«5      n[        XÂ5      nX�:H  s  $    g! [        [        4 a       gf = f)NrŒ   ©r›   rœ   r�   rŠ   rE   FT)r£   rª   rž   r©   Ú_getattribute_methodsÚ_getattr_methodsrO   ÚhasattrrN   rŽ   Úpropertyr‰   r„   r…   )r*   rd   rj   rª   Úhas_original_attributeÚhas_original_attrÚacceptÚvalue_classÚclass_attr_valÚis_propertyr~   r   Úexternal_classÚexternal_class_attr_vals                 r,   rk   ÚSelectivePolicy.can_get_attrþ   s(  € Ü#9¸$×:WÑ:WÓ#XÐ ä!5ØØ×.Ñ.Ø ×6Ñ6Ø5Ø*ñ"
Ðô 1ØØ×.Ñ.Ø ×1Ñ1Ø5Ø%ñ
Ðð ˆð Ñ$Ö)?Ø‰Fð '×AÐ+AˆFæô ˜u›+ˆKÜ˜;×-Ñ-Øä$ [Ó7ˆNÜ$ ^´XÓ>ˆKæØô �E‹{˜d×2Ñ2Ó2Øó .FÐ)�ð!Ü%2°;Ó%L�NÜ.5°nÓ.KÐ+ð &Ñ@Ò@ñ .Fð øô	 !¤.Ð1ó !Ú ð!ús   ÃC8Ã8DÄDc                 ó>  • [        U R                  5      nU R                  (       aW  [        U[        R
                  [        R                  45      (       a  g[        U[        5      (       a  [        US5      (       a  g[        UU R                  U R                  USS9$ )zTAllow accessing `__getiitem__` of allow-listed instances unless it was not modified.TÚ__class_getitem__r-   r±   )r£   r¨   r­   rŽ   ÚtypingÚ_SpecialFormÚ_BaseGenericAliasrO   r´   rž   r§   Ú_getitem_methods)r*   rd   re   r¨   s       r,   rf   ÚSelectivePolicy.can_get_item6  s‚   € ä#9¸$×:WÑ:WÓ#XÐ Ø×&×&ä˜%¤&×"5Ñ"5´v×7OÑ7OÐ!P×QÑQØä˜%¤×&Ñ&¬7°5Ð:M×+NÑ+NØÜ#ØØ×.Ñ.Ø ×1Ñ1Ø5Ø%ñ
ð 	
r0   Nrm   c                 óþ   • [        U R                  5      nU/nUb  UR                  U5        [        U VVs/ s H3  nU  H)  n[	        UU R
                  U R                  U5      UUS9PM+     M5     snn5      $ s  snnf )Nr±   )r£   r¬   ÚappendÚallrž   r«   Ú_operator_dunder_methods)r*   rm   rp   rq   r¬   ÚobjectsÚdunderÚobjs           r,   rr   ÚSelectivePolicy.can_operateH  s—   € Ü&<Ø×,Ñ,ó'
Ð#ð �#ˆØ‰=Ø�N‰N˜1ÔÜñ &ô
ò &�FÜ"�Cô %ØØ"&×"9Ñ"9Ø$(×$AÑ$AÀ&Ó$IØ%@Ø &ôñ #ññ &ò
ó
ð 	
ùó
s   ·:A9
rË   r2   c                 ó�   • XR                   ;  a)  U R                  U R                  U5      U R                   U'   U R                   U   $ r'   )r¯   Ú_safe_get_methodsr«   )r*   rË   s     r,   rÉ   Ú(SelectivePolicy._operator_dunder_methods]  sG   € Ø×6Ñ6Ó6Ø48×4JÑ4JØ×'Ñ'¨ó5ˆD×)Ñ)¨&Ñ1ð ×,Ñ,¨VÑ4Ð4r0   c                 ó:   • U R                  U R                  S5      $ )Nr-   )rÏ   r§   ©r*   s    r,   rÄ   Ú SelectivePolicy._getitem_methodsd  ó   € à×%Ñ% d×&:Ñ&:¸MÓJÐJr0   c                 ó:   • U R                  U R                  S5      $ )NrE   ©rÏ   r©   rÒ   s    r,   r³   Ú SelectivePolicy._getattr_methodsh  rÔ   r0   c                 ó:   • U R                  U R                  S5      $ )NrŒ   rÖ   rÒ   s    r,   r²   Ú%SelectivePolicy._getattribute_methodsl  s   € à×%Ñ% d×&:Ñ&:Ð<NÓOÐOr0   c           	      ób   • U VVs1 s H  n[        X2S 5      nU(       d  M  UiM     snn$ s  snnf r'   )rN   )r*   ÚclassesrR   Úclass_r”   s        r,   rÏ   Ú!SelectivePolicy._safe_get_methodsp  s8   € ñ "ô
â!�Ü" 6°Ó6�Ü÷ Ù!ò
ð 	
ùó 
s   †+¡+r(   r'   ) r3   r4   r5   r6   r   r{   r§   r:   rz   r¨   r|   r}   r©   ÚMayHaveGetattrrª   r«   r¬   ry   r­   Údictr¯   r   rk   rf   rr   rÉ   r   rÄ   r³   r²   rÏ   r7   r(   r0   r,   r¥   r¥   ì   s‡  ‡ ñ 27ÀsÑ1K€O�SÐ-Ñ.ÓKÙ;@ÐQTÑ;UÐ˜c %¨¨S¨¡/°CÑ"7Ñ8ÓUá+0ÀÑ+E€O�S˜Ñ(ÓEÙ;@ÐQTÑ;UÐ˜c %¨¨S¨¡/°CÑ"7Ñ8ÓUá#°CÑ8Ð˜Ó8Ù>CÐTWÑ>XÐ  U¨3°¨8¡_°sÑ%:Ñ!;ÓXá#(¸Ñ#>Ð˜DÓ>á9>Ø 5ñ:Ð˜d 3¨¨H©Ð#5Ñ6ó ò6òp
ñ$
 5¨¨c¨¡?õ 
ð*5¨sð 5°s¸8±}ô 5ð ðK # h¡-ó Kó ðKð ðK # h¡-ó Kó ðKð ðP s¨8¡}ó Pó ðPð
°#°h±-÷ 
r0   r¥   c                   ó   • \ rS rSrSrSrg)Ú_DummyNamedTupleiy  z<Used internally to retrieve methods of named tuple instance.r(   N©r3   r4   r5   r6   rx   r7   r(   r0   r,   rá   rá   y  s   † ÜFr0   rá   )Ú	forbiddenÚminimalÚlimitedÚunsafeÚ	dangerousc                   óî   • \ rS rSr% \\S'   \\S'   Sr\\S'   Sr\	\S'   Sr
\\\   /\4   S-  \S	'   \" \S
9r\\S'   \" \S
9r\\S'   Sr\S-  \S'   Sr\S-  \S'   Sr\R,                  S-  \S'   S rSrg)ÚEvaluationContexti€  ÚlocalsÚglobalsrã   Ú
evaluationFÚin_subscriptNÚauto_importr`   Úpolicy_overridesÚtransient_localsÚclass_transientsÚinstance_arg_nameÚcurrent_valuec                ó0   • [         R                  " U 40 UD6$ )z8Return a new copy of the context, with specified changes)ÚdataclassesÚreplace)r*   Úchangess     r,   rö   ÚEvaluationContext.replace™  s   € ä×"Ò" 4Ñ3¨7Ñ3Ð3r0   r(   )r3   r4   r5   r6   rß   rz   rì   ÚEvaluationPolicyNamerí   ry   rî   r   r   r}   r   r   rï   rð   rñ   rò   ró   ÚastÚASTrö   r7   r(   r0   r,   ré   ré   €  s›   ‡ ð ƒLàƒMà'2€JÐ$Ó2ð €L�$Óà@D€K�˜8 C™=˜/¨:Ð5Ñ6¸Ñ=ÓDá"°4Ñ8Ð�dÓ8á"°4Ñ8Ð�dÓ8à$(Ð�d˜T‘kÓ(à$(Ð�s˜T‘zÓ(ð %)€M�3—7‘7˜T‘>Ó(õ4r0   ré   c                   ó   • \ rS rSrSrS rSrg)Ú_IdentitySubscriptiž  z<Returns the key itself when item is requested via subscript.c                 ó   • U$ r'   r(   r)   s     r,   r-   Ú_IdentitySubscript.__getitem__¡  s   € Øˆ
r0   r(   N)r3   r4   r5   r6   rx   r-   r7   r(   r0   r,   rý   rý   ž  s
   † ÙFõr0   rý   Ú__SUBSCRIPT_SENTINEL__c                   ó   • \ rS rSrSrSrg)ÚGuardRejectioni«  z7Exception raised when guard rejects evaluation attempt.r(   Nrâ   r(   r0   r,   r  r  «  s   † ÙAâr0   r  ÚcodeÚcontextc                 óª  • UR                   nUR                  S:X  a  [        S5      eUR                  (       aL  U (       d
  [	        5       $ UR                  5       n[        U[        '   [        S-   U -   S-   n UR                  US9nUR                  S:X  a   [        XR                  UR                   5      $ [        R                  " U SS9n[        X15      $ )	a#  Evaluate provided code in the evaluation context.

If evaluation policy given by context is set to ``forbidden``
no evaluation will be performed; if it is set to ``dangerous``
standard :func:`eval` will be used; finally, for any other,
policy :func:`eval_node` will be called on parsed AST.
rã   zForbidden modeÚ[Ú])rê   rç   Úexec)Úmode)rê   rì   r  rí   r|   r   ÚIDENTITY_SUBSCRIPTÚSUBSCRIPT_MARKERrö   Úevalrë   rú   ÚparseÚ	eval_node)r  r  Úlocals_Únodes       r,   Úguarded_evalr  ±  s¶   € ð �n‰n€Gà×Ñ˜[Ó(ÜÐ-Ó.Ð.ð
 ××ö
 Ü“7ˆNØ—,‘,“.ˆÜ$6ˆÔ Ñ!Ü #Ñ%¨Ñ,¨sÑ2ˆØ—/‘/¨�/Ð1ˆà×Ñ˜[Ó(Ü�DŸ/™/¨7¯>©>Ó:Ð:ä�9Š9�T Ñ'€Dä�TÓ#Ð#r0   )Ú__add__)Ú__sub__)Ú__mul__)Ú__truediv__)Ú__floordiv__)Ú__mod__)Ú__pow__)Ú
__lshift__)Ú
__rshift__)Ú__or__)Ú__xor__)Ú__and__)Ú
__matmul__ÚBINARY_OP_DUNDERS)Ú__eq__)Ú__ne__r   )Ú__lt__Ú__gt__)Ú__le__Ú__ge__)r#  r"  )r%  r$  )Ú__contains__ÚCOMP_OP_DUNDERS)Ú__neg__)Ú__pos__)Ú
__invert__Ú__inv__)Ú__not__ÚUNARY_OP_DUNDERSc                   ó   • \ rS rSrSrSrg)ÚImpersonatingDuckiû  zXA dummy class used to create objects of other classes without calling their ``__init__``r(   Nrâ   r(   r0   r,   r/  r/  û  s   † Übr0   r/  c                   óŒ   ^ • \ rS rSrSrSS\\   S\\   4S jjrS\4S jr	S\4S jr
U 4S	 jrS
\4S jrS
\4S jrS rSrU =r$ )Ú_Ducki  zHA dummy class used to create objects pretending to have given attributesÚ
attributesÚitemsc                 ó>   • Ub  UO0 U l         Ub  X l        g 0 U l        g r'   ©r2  r3  )r*   r2  r3  s      r,   Ú__init__Ú_Duck.__init__  s    € Ø(2Ñ(>™*ÀBˆŒØ#Ñ/�U�
°Rˆ�
r0   rj   c                 ó    • U R                   U   $ r'   ©r2  ©r*   rj   s     r,   rE   Ú_Duck.__getattr__  s   € Ø�‰˜tÑ$Ð$r0   c                 ó   • XR                   ;   $ r'   r9  r:  s     r,   Ú__hasattr__Ú_Duck.__hasattr__  s   € Ø—‘Ñ&Ð&r0   c                 ó>   >• / [        [        5      QU R                  Q$ r'   )ÚdirÚsuperr2  )r*   Ú	__class__s    €r,   Ú__dir__Ú_Duck.__dir__  s   ø€ Ø.””U“Ð.˜dŸo™oÐ.Ð.r0   r+   c                 ó    • U R                   U   $ r'   ©r3  r)   s     r,   r-   Ú_Duck.__getitem__  ó   € Ø�z‰z˜#‰Ðr0   c                 ó    • U R                   U   $ r'   rF  r)   s     r,   Ú__hasitem__Ú_Duck.__hasitem__  rH  r0   c                 ó6   • U R                   R                  5       $ r'   )r3  ÚkeysrÒ   s    r,   Ú_ipython_key_completions_Ú_Duck._ipython_key_completions_  s   € Ø�z‰z�‰Ó Ð r0   r5  )NN)r3   r4   r5   r6   rx   r   rß   r6  r}   rE   r=  rC  r-   rJ  rN  r7   Ú__classcell__©rB  s   @r,   r1  r1    s`   ø† ÙRñ8 8¨D¡>ð 8ÀÈ$Áõ 8ð% ô %ð' ô 'õ/ð˜sô ð˜sô ÷!ð !r0   r1  c                 ód   • S nUR                  5        H  u  p4[        X5      (       d  M  UnM     U$ r'   )r3  rŽ   )Únode_oprm   rË   ÚopÚcandidate_dunders        r,   Ú_find_dunderrV    s1   € Ø€FØ '§¡¦ÑˆÜ�g×"Ó"Ø%ŠFñ !0ð €Mr0   c                 óÀ   • [        [        U R                     5      nU R                  R	                  5        H#  u  p#[        X5      (       d  M  [        XU5        M%     U$ r'   )r   ÚEVALUATION_POLICIESrì   rï   r3  r´   Úsetattr)r  Úpolicyr+   rd   s       r,   Ú
get_policyr[  #  sO   € ÜÔ% g×&8Ñ&8Ñ9Ó:€Fà×.Ñ.×4Ñ4Ö6‰
ˆÜ�6×ÓÜ�F Ö'ñ 7ð €Mr0   Úpolicy_namerï   c                 ó´   • [         U    nSnUR                  5        H8  u  pE[        X$5      (       a  M  [        R                  " SU< SU < S35        SnM:     U$ )NTz	Override z is not valid with z evaluation policyF)rX  r3  r´   ÚwarningsÚwarn)r\  rï   rZ  Úall_goodr+   rd   s         r,   Ú_validate_policy_overridesra  ,  sa   € ô ! Ñ-€Fà€HØ&×,Ñ,Ö.‰
ˆÜ�v×#Ó#Ü�MŠMØ˜C™7Ð"5°k±_ÐDVÐWôð ŠHñ /ð €Or0   c                 ó  • [        U [        5      (       a  g[        U [        R                  5      (       a  g[	        [        S5      (       a   [        U [        R
                  5      (       a  g[        U [        R                  [        R                  45      (       a  g[        U [        R                  5      (       a  g[        U [        5      (       a  [	        U S5      (       a  g[	        [        S5      (       a  [        U 5      b  gg)z<
Returns True if obj is a type annotation, False otherwise.
TÚ	UnionTyperÀ   r   F)rŽ   rO   ÚtypesÚGenericAliasr´   rc  rÁ   rÂ   rÃ   ÚTypeVarr   )rÌ   s    r,   Ú_is_type_annotationrg  ;  s¸   € ô �#”t×ÑØÜ�#”u×)Ñ)×*Ñ*ØÜŒu�k×"Ñ"¤z°#´u·±×'GÑ'GØÜ�#œ×+Ñ+¬V×-EÑ-EÐF×GÑGØÜ�#”v—~‘~×&Ñ&Øä�#”t×Ñ¤¨Ð.A×!BÑ!BØäŒv�|×$Ñ$¬°C«Ñ)DØàr0   r  c           	      óÀ  • [        U R                  U5      nUR                  n[        U5      nUR                  nU R
                   GHþ  n[        U[        R                  [        R                  45      (       Gaµ  [        U5      nUR                  n[        U5       V	V
s/ s H(  u  pš[        U
[        R                  5      (       d  M&  U	PM*     nn	n
U(       a  US   O
[        U5      n[        U5       H>  n	[!        X‰   U5      (       a  Xy   XXU	   R"                  '   M+  Xy   X8U	   R$                  '   M@     U(       að  [        U5      [        U5      U-
  S-
  -
  n[!        XŒ   U5      (       a  UXÍ XXU   R"                  '   OUXÍ X8U   R                  R$                  '   [        US-   [        U5      5       Hp  n	[!        X‰   U5      (       a.  U[        U5      [        U5      U	-
  -
     XXU	   R"                  '   MD  U[        U5      [        U5      U	-
  -
     X8U	   R$                  '   Mr     GMæ  GMé  [        U[        R&                  5      (       GaÆ  [        UR                  [        R(                  5      (       ay  UR                  R$                  nUR+                  U5      nUc  UR,                  R+                  U5      nUc  UR.                  R+                  U5      nUc  [1        U S35      eUnUnO„[        UR                  [        R2                  5      (       aY  [!        UR                  U5      (       a>  UR                  R"                  nUR+                  US 5      nUc  [1        U S35      eUnUnO  g [        UR4                  U5      nUR7                  UR8                  5      (       a  [:        R=                  [?        U5      5      O0 n0 nURA                  US 5      (       a   [;        URC                  5       5      nUUU'   [G        UUS9nUUU'   GMÏ  [!        Xa5      (       a  X%UR"                  '   GMð  X#UR$                  '   GM     g s  sn
n	f ! [D         a     N^f = f)Nr   r�   ú+ not found in locals, globals, nor builtinsz not found in class transientsr5  )$r  rd   rð   r[  rñ   ÚtargetsrŽ   rú   ÚTupleÚListÚlistÚeltsÚ	enumerateÚStarredÚlenÚrangeÚ!_is_instance_attribute_assignmentrj   ÚidÚ	SubscriptÚNameÚgetrê   rë   Ú	NameErrorÚ	AttributeÚslicerv   rC  rß   Úfromkeysr@  rf   r3  Ú	Exceptionr1  )r  r  rd   rð   rZ  rñ   ÚtargetÚvaluesrj  ÚiÚtÚstarredÚstar_or_last_idxÚendrR   Ú	containerÚstorage_dictÚstorage_keyrj   r+   r2  r3  Úduck_containers                          r,   Ú_handle_assignrˆ  S  sì  € Ü�d—j‘j 'Ó*€EØ×/Ñ/ÐÜ˜Ó €FØ×/Ñ/ÐØ—,•,ˆÜ�fœsŸy™y¬#¯(©(Ð3×4Ò4ä˜%“[ˆFØ—k‘kˆGÜ%.¨wÔ%7ÔVÒ%7™T˜Q¼:ÀaÌÏÉ×;U—qÑ%7ˆGÑVö .5˜w qšz¼#¸g»,Ðô Ð+Ö,�ä4°W±ZÀ×IÑIØ8>¹	Ð$¨Q¡Z§_¡_Ó5à6<±iÐ$¨Q¡Z§]¡]Ó3ñ -ö Ü˜&“k¤S¨£\Ð4DÑ%DÀqÑ%HÑI�Ü4ØÑ-¨w÷ñ ð HNØ(ðHÐ$Ð-=Ñ%>×%CÑ%CÒDð LRØ(ðLÐ$Ð-=Ñ%>×%DÑ%D×%GÑ%GÑHô
 Ð/°!Ñ3´S¸³\ÖB�AÜ8¸¹ÀW×MÑMØ<BÜ ›K¬3¨w«<¸!Ñ+;Ñ<ñ=Ð(°©¯©Ó9ð ;AÜ ›K¬3¨w«<¸!Ñ+;Ñ<ñ;Ð(°©¯©Ó7ô Cò ô. ˜¤§¡×.Ò.Ü˜&Ÿ,™,¬¯©×1Ñ1Ø—|‘|—‘�Ø,×0Ñ0°Ó6�	ØÑ$Ø '§¡× 2Ñ 2°4Ó 8�IØÑ$Ø '§¡× 3Ñ 3°DÓ 9�IØÑ$Ü#Ø˜&Ð KÐLóð ð  0�Ø"‘ÜØ—‘œcŸm™m÷ñ ä3°F·L±LÀ'×JÑJØ—|‘|×(Ñ(�Ø,×0Ñ0°°tÓ<�	ØÑ$Ü# t fÐ,JÐ$KÓLÐLØ/�Ø"‘áä˜FŸL™L¨'Ó2ˆCð —?‘? 9×#4Ñ#4×5Ñ5ô —‘œc )›nÔ-àð ð
 ˆEà×"Ñ" 9¨d×3Ñ3ðÜ  §¡Ó!2Ó3�Eð ˆE�#‰JÜ"¨jÀÑFˆNØ(6ˆL˜Ô%Ü.¨v×?Ñ?Ø,1˜VŸ[™[Ô)à*/˜VŸY™YÔ'ñq ðr ùói WøôT !ó Ùðús   Â%Q
ÃQ
Ï%QÑ
QÑQc                 ó  • UR                  [        U SS 5      S9n[        U R                  U5      n[	        U5      (       a1  [        X15      n[        U[        5      =(       a    U R                  S LnOUnSn[        U SS5      (       a‰  [        U R                  [        R                  5      (       a`  U R                  R                  nU(       a4  [        [        R                  " U R                  /U R                  S9U5      $ XAR                  U'   g [!        U R                  U5      (       a`  U R                  R"                  nU(       a4  [        [        R                  " U R                  /U R                  S9U5      $ XAR$                  U'   g g )Nrd   )ró   FÚsimple©rj  rd   )rö   rN   r  Ú
annotationrg  Ú_resolve_annotationrŽ   ÚGENERIC_CONTAINER_TYPESrd   r}  rú   rv  rt  rˆ  ÚAssignrð   rs  rj   rñ   )r  r  Úcontext_with_valueÚannotation_resultÚannotation_valueÚ	use_valuerR   rj   s           r,   Ú_handle_annassignr”  ´  sF  € Ø Ÿ™´w¸tÀWÈdÓ7S˜ÐTÐÜ! $§/¡/Ð3EÓFÐÜÐ,×-Ñ-Ü.Ð/@ÓJÐô Ð'Ô)@ÓA×\ÀdÇjÁjÐX\ÐF\ñ 	ð -ÐØˆ	ô ˆt�X˜u×%Ñ%¬*°T·[±[Ä#Ç(Á(×*KÑ*KØ�{‰{�~‰~ˆÞÜ!Ü—
’
 D§K¡K =¸¿
¹
ÑCÀWóð ð *:× Ñ  Ñ&Øô )¨¯©°g×>Ñ>Ø�{‰{×ÑˆÞÜ!Ü—
’
 D§K¡K =¸¿
¹
ÑCÀWóð ð *:× Ñ  Ñ&Øàr0   c           
      ól  • U R                    Vs/ s H  n[        X!5      PM     nnU R                   VVVs0 s Hf  nUR                  (       a"  UR                  [        UR                  U5      0O[        UR                  U5      R                  5         H  u  pVXV_M	     Mh     nnnnX74$ s  snf s  snnnf r'   )r=   r  ÚkeywordsÚargrd   r3  )r  r  r—  r=   ÚkwÚkÚvr>   s           r,   Ú_extract_args_and_kwargsr›  ×  s¥   € Ø/3¯yªyÓ9ªy¨ŒI�cÖ#©y€DÐ9ð —-’-õâˆBð �v�vð �V‰V”Y˜rŸx™x¨Ó1Ñ2ä˜2Ÿ8™8 WÓ-ß
‰%‹'ó	‰DˆAð 	
Šññ 	
Ùð ò ð ˆ<Ðùò :ùôs   �B*¶A-B/r}  c                 ó8  • UR                   SL=(       a†    UR                  SL=(       aq    [        U [        R                  5      =(       aP    [        [        U SS5      [        R                  5      =(       a$    [        U R                  SS5      UR                  :H  $ )zFReturn True if target is an attribute access on the instance argument.Nrd   rt  )rñ   rò   rŽ   rú   ry  rN   rv  rd   )r}  r  s     r,   rs  rs  å  s�   € ð
 	× Ñ ¨Ð,÷ 	KØ×%Ñ%¨TÐ1÷	Kä�vœsŸ}™}Ó-÷	Kô ”w˜v w°Ó5´s·x±xÓ@÷	Kô �F—L‘L $¨Ó-°×1JÑ1JÑJðr0   c            	      ó¸   • S n U " 5       n [        U5       Vs0 s H  o"[        XS 5      _M     snUR                  5         $ s  snf ! UR                  5         f = f)Nc               “   ó   #   • g 7fr'   r(   r(   r0   r,   Ú_dummyÚ)_get_coroutine_attributes.<locals>._dummyó  s   é € Øùs   ‚)r@  rN   Úclose)rŸ  Úcororj   s      r,   Ú_get_coroutine_attributesr£  ò  sO   € òñ ‹8€DðÜ<?À¼IÓFºI°D”g˜d¨$Ó/Ò/¹IÑFà�
‰
�ùò Gøà�
‰
�ús   ŒA ™A¯A ÁA ÁAc                 ó)  ^• [        T5      nU c  g[        U [        R                  [        R                  45      (       a#  SnU R
                   H  n[        UT5      nM     U$ [        U [        R                  [        R                  45      (       Ga  [        U [        R                  5      nTR                  R                  5       nTR                  US9nSnSn	Sn
U R                   H7  n [        UT5      nU[        L a  SnM  U[        L a  Sn	M*  U[         L d  M5  Sn
M9     UR"                  bS  U	(       dL  U
(       dE  U R$                  R$                  (       a#  U R$                  R$                  S   R&                  OSUl        [        U R*                  TS9nU R
                   H  n[        XG5        M     U(       aw  UbO  [-        U5      (       a$  [/        UT5      TR                  U R0                  '   gUTR                  U R0                  '    g[3        X5      nUTR                  U R0                  '   gS nUb&  [-        U5      (       a  XßR4                  S'   OXßl        O[3        X5      nUb  UUl        U R0                  Ul        Xl        X_l        UTR                  U R0                  '   g[        U [        R>                  5      (       a   S	 n[        U R
                  T5      Ul        U$ [        U [        R@                  5      (       aÎ  0 nTRB                  R                  5       nURE                  TR                  5        TR                  UUS
9nUUl        U R
                   H  n[        UU5        M     [G        U RH                   Vs/ s H  n[        UT5      PM     sn5      n[K        U R0                  UU5      nUTR                  U R0                  '   g[        U [        RL                  5      (       a5  [        U RN                  T5      n[Q        US5      (       a  URR                  $ U$ [        U [        RT                  5      (       a˜  TR                  R                  5       nTR                  US9nSnU R
                   H  n[        UU5      nM     [        T5      n[W        UTR                  R                  5       /U5      nTR                  RE                  U5        U$ [        U [        RX                  5      (       Ga,   [        U RZ                  T5      nSnUb6   UR_                  [a        USS5      5      (       a  [c        [[        U5      5      nTR                  R                  5       nTR                  US9nUb?   [        Rd                  " U Rf                  /[        Rh                  " US9S9n[k        UU5        SnU R
                   H  n[        UU5      nM     [        T5      n[W        UTR                  R                  5       /U5      nTR                  RE                  U5        U$ [        U [        Rl                  5      (       Ga�  / nU n Sn TR                  R                  5       n!TR                  U!S9n"U R
                   H  n[        UU"5      nM     URo                  U!5        U Rp                  (       d  O²[s        U Rp                  5      S:X  a<  [        U Rp                  S   [        Rl                  5      (       a  U Rp                  S   n OZTR                  R                  5       n#TR                  U#S9n$U Rp                   H  n[        UU$5      nM     URo                  U#5        OGM  URo                  TR                  R                  5       5        [        T5      n[W        UU5      nTR                  RE                  U5        U$ [        U [        Rd                  5      (       a  [k        U T5      $ [        U [        Rt                  5      (       a  [w        U T5      $ [        U [        Rx                  5      (       a  [        U R
                  T5      $ [        U [        Rz                  5      (       a  [        U RN                  T5      $ [        U [        R|                  5      (       a  g[        U [        R~                  5      (       a  g[        U [        R€                  [        R‚                  45      (       a  g[        U [        R„                  [        R†                  45      (       a  g[        U [        Rˆ                  5      (       Ga	  [        U RŠ                  T5      n%[        U RŒ                  T5      n&[        U RŽ                  [        R�                  5      (       Ga=  [-        U%5      (       Ga,  [-        U&5      (       Ga  UR_                  U%R’                  5      (       a'  [•        [–        R™                  [›        U%5      5      5      O	[•        5       n'UR_                  U&R’                  5      (       a'  [•        [–        R™                  [›        U&5      5      5      O	[•        5       n(TRœ                  n)U)bU  [        U)[        Rž                  5      (       a6  [–        U%U&4;   a*  [¡        U'U([        R¢                  " U)5      /[        T5      S9$ [¡        U'U(/[        T5      S9$ [¥        U RŽ                  [¦        5      n*U*(       aU  UR©                  U*U%U&5      (       a  [a        U%U*S   5      " U&5      $ [«        SU* S3[K        U%5      STR¬                   S35      e[        U [        R®                  5      (       Ga   [        U RŠ                  T5      n%Sn+Sn,[±        U R²                  U R´                  5       GH_  u  n-n&[        U&T5      n&Sn.[¥        U-[¶        5      n*U*(       d|  [        U-[        R¸                  5      (       a  [¶        [        Rº                     n*Sn,[        U-[        R¼                  5      (       a  Sn.[        U-[        R¾                  5      (       a  Sn.Sn,U.(       d  U*(       a  U*S   n.U.(       a‘  U.S:X  a  U&U%4OU%U&4u  n/n0U.S:X  d  U*(       aK  UR©                  U*U/U05      (       a3  [a        [À        U.5      " U/U05      nU,(       a  U(       + nU(       d  Sn+U&n%GM+  [«        SU. S3[K        U%5      STR¬                   S35      e[Ã        SU. S35      e   U+$ [        U [        Rh                  5      (       a  U RN                  $ [        U [        RÄ                  5      (       a  [G        U4S jU RÆ                   5       5      $ [        U [        RÈ                  5      (       a'  U RÆ                   V1s/ s H  n1[        U1T5      PM     sn1$ [        U [        RÊ                  5      (       a'  U RÆ                   V1s1 s H  n1[        U1T5      iM     sn1$ [        U [        Rž                  5      (       a_  [—        [±        U RÌ                   V2s/ s H  n2[        U2T5      PM     sn2U RÎ                   V3s/ s H  n3[        U3T5      PM     sn35      5      $ [        U [        RÐ                  5      (       aI  [Ó        [        U RÔ                  T5      [        U RÖ                  T5      [        U RØ                  T5      5      $ [        U [        RÚ                  5      (       a‹  [        U RÜ                  T5      n[¥        U RŽ                  [Þ        5      n*U*(       aT  UR©                  U*U5      (       a   [a        UU*S   5      " 5       $ [«        SU* S3[K        U5      STR¬                   S35      e[        U [        Rä                  5      (       al  [        U RN                  T5      n[        U RÒ                  T5      n4URç                  UU45      (       a  UU4   $ [«        S[K        U5      STR¬                   S35      e[        U [        Rè                  5      (       a  [ë        U Rì                  T5      $ [        U [        Rî                  5      (       Gat  TR"                  br  [        U RN                  [        Rè                  5      (       aI  U RN                  Rì                  TR(                  :X  a%  TR"                  Rñ                  U Rò                  5      $ [        U RN                  T5      nURõ                  UU Rò                  5      (       a  [a        UU Rò                  5      $  [        U[J        5      (       a  UO[a        USS5      n5U5b\  [÷        U5TRø                  =(       d    0 TRB                  =(       d    0 S 9n6U Rò                  U6;   a  U6U Rò                     n7[/        U7T5      $ [«        S![K        U5      STR¬                   S35      e[        U [        Rú                  5      (       aI  [        U Rü                  T5      n8U8(       a  [        U R
                  T5      $ [        U Rp                  T5      $ [        U [        Rþ                  5      (       Ga  [        U GR                   T5      n9UR_                  U95      (       a  G[        U T5      u  n:n;U9" U:0 U;D6$ G[        U95      (       a1  G[        U9GR                  U T5      n<U<G[
        La  U<$ G[        U95      $ [a        U9S"G[
        5      nG[        U9U T5      n[a        U9S#S5      (       a"  Ub  UOUn=[•        G[        5       S$9n>U=U>l)        U>$ UG[
        La  U$ UG[
        La  U$ [«        S%U9STR¬                   S35      e[        U [        GR                  5      (       a?  U GR                  (       a  [        U GR                  T5      $ [        U Rü                  T5      $ g! [         a     GM  f = fs  snf ! [\         a    Sn GNôf = f! [\         a    Sn GNÌf = f! [\         a     GNrf = fs  sn1f s  sn1f s  sn2f s  sn3f ! [à         a%    [ã        SU RŽ                   S[K        U5       35      ef = f! [\         a     GN»f = f)&aG  Evaluate AST node in provided context.

Applies evaluation restrictions defined in the context. Currently does not support evaluation of functions with keyword arguments.

Does not evaluate actions that always have side effects:

- class definitions (``class sth: ...``)
- function definitions (``def sth: ...``)
- variable assignments (``x = 1``)
- augmented assignments (``x += 1``)
- deletions (``del x``)

Does not evaluate operations which do not return values:

- assertions (``assert x``)
- pass (``pass``)
- imports (``import x``)
- control flow:

    - conditionals (``if x:``) except for ternary IfExp (``a if x else b``)
    - loops (``for`` and ``while``)
    - exception handling

The purpose of this function is to guard against unwanted side-effects;
it does not give guarantees on protection from malicious code execution.
N)rð   FTr   )r  c                  ó   • g r'   r(   ©r=   r>   s     r,   Údummy_functionÚ!eval_node.<locals>.dummy_functionO  ó   € Ør0   r2   c                  ó   • g r'   r(   r¦  s     r,   r§  r¨  c  r©  r0   )rð   rê   Ú__awaited_type__Ú__iter__)rd   r‹  r�   )rZ  zOperation (`z`) forznot allowed in ú modeÚis_r&  zComparison (`zComparison `z` not supportedc              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr'   )r  )Ú.0Úer  s     €r,   Ú	<genexpr>Úeval_node.<locals>.<genexpr>+  s   øé € Ð>²I¨q”Y˜q '×*Ð*²Iùs   ƒzbad operand type for unary z: z$Subscript access (`__getitem__`) forz not allowed in rB  )ÚglobalnsÚlocalnsz$Attribute access (`__getattr__`) forÚ__inferred_return__Ú__is_async__r9  zCall for)Šr[  rŽ   rú   ÚInteractiveÚModuleÚbodyr  ÚFunctionDefÚAsyncFunctionDefrð   r   rö   Údecorator_listrx  rµ   ÚstaticmethodÚclassmethodrñ   r=   r—  rò   Úreturnsrg  r�  rR   Ú_infer_return_valuerz   r¶  r3   Ú__node__r·  ÚLambdaÚClassDefrê   Úupdater|   ÚbasesrO   ÚAwaitrd   r´   r«  ÚWhileÚ_merge_dicts_by_keyÚForÚiterr|  rv   rN   Únextr�  r}  ÚConstantrˆ  ÚIfrÇ   Úorelserq  Ú	AnnAssignr”  Ú
ExpressionÚExprÚPassÚImportÚ	AugAssignÚDeleteÚGlobalÚNonlocalÚBinOpÚleftÚrightrT  ÚBitOrrC  r1  rß   r{  r@  ró   ÚDictÚ_merge_valuesÚliteral_evalrV  r  rr   r  rì   ÚCompareÚzipÚopsÚcomparatorsr'  ÚNotInÚInÚIsÚIsNotÚoperatorÚ
ValueErrorrk  rn  rl  ÚSetrM  r~  ÚSlicerz  ÚlowerÚupperÚstepÚUnaryOpÚoperandr-  r…   Ú	TypeErrorru  rf   rv  Ú_eval_node_namert  ry  rw  rj   rk   r   rë   ÚIfExpÚtestÚCallrJ   r›  r   Ú_eval_return_typeÚ__new__ÚNOT_EVALUATEDÚ_create_duck_for_heap_typer£  ÚAssertÚmsg)?r  r  rZ  ÚresultÚ
child_nodeÚis_asyncÚfunc_localsÚfunc_contextr»   Ú	is_staticÚis_classmethodÚdecorator_nodeÚ	decoratorÚreturn_typeÚreturn_valuer§  Úinferred_returnÚclass_localsÚouter_localsÚclass_contextÚbaserÆ  Údummy_classrd   Úloop_localsÚloop_contextÚstmtÚmerged_localsÚiterableÚsampleÚfake_assignÚbranchesÚcurrentÚbranch_localsÚbranch_contextÚelse_localsÚelse_contextrÚ  rÛ  Ú	left_duckÚ
right_duckÚ
value_noderm   Úall_trueÚnegaterT  rË   rp   rq   r±  r™  rš  Úslice_ÚclsÚresolved_hintsÚ	annotatedrô  rJ   r=   r>   Úoverridden_return_typeÚawaited_typeÚcoroutine_ducks?    `                                                             r,   r  r  ý  s×  ø€ ô6 ˜Ó €Fà�|ØÜ�$œŸ™¬#¯*©*Ð5×6Ñ6ØˆØŸ)œ)ˆJÜ˜z¨7Ó3ŠFñ $àˆÜ�$œŸ™¬#×*>Ñ*>Ð?×@Ò@Ü˜d¤C×$8Ñ$8Ó9ˆØ×.Ñ.×3Ñ3Ó5ˆØ—‘¸�ÐDˆØˆØˆ	ØˆØ"×1Ô1ˆNðÜ% n°gÓ>�	ð
 œHÒ$Ø"’ØœlÒ*Ø ’	ØœkÔ)Ø!%’ñ 2ð ×(Ñ(Ñ4Þ¦^à-1¯Y©Y¯^¯^�D—I‘I—N‘N 1Ñ%×)Ò)Àð Ô.ô   §¡°gÑ>ˆàŸ)œ)ˆJÜ�jÖ/ñ $ö ØÑ&Ü& {×3Ñ3Ü:MØ# Wó;�G×,Ñ,¨T¯Y©YÑ7ð ð ;F�G×,Ñ,¨T¯Y©YÒ7ð
 ô  3°4ÓF�Ø6B�×(Ñ(¨¯©Ñ3àò	ð Ñ"Ü" ;×/Ñ/Ø;F×.Ñ.¨xÒ8à5@Õ2ä1°$ÓEˆOØÑ*Ø5D�Ô2à"&§)¡)ˆÔØ"&ÔØ&.Ô#Ø.<ˆ× Ñ  §¡Ñ+ØÜ�$œŸ
™
×#Ñ#ò	ô .7°t·y±yÀ'Ó-JˆÔ*ØÐÜ�$œŸ™×%Ñ%àˆØ—~‘~×*Ñ*Ó,ˆØ×Ñ˜G×4Ñ4Ô5ØŸ™Ø)°,ð (ð 
ˆð *6ˆÔ&ØŸ)œ)ˆJÜ�j -Ö0ñ $ä¸D¿JºJÓGºJ°D”y  wÖ/¹JÑGÓHˆÜ˜4Ÿ9™9 e¨\Ó:ˆØ.9ˆ× Ñ  §¡Ñ+ØÜ�$œŸ	™	×"Ñ"Ü˜$Ÿ*™* gÓ.ˆÜ�5Ð,×-Ñ-Ø×)Ñ)Ð)ØˆÜ�$œŸ	™	×"Ñ"Ø×.Ñ.×3Ñ3Ó5ˆØ—‘¸�ÐDˆàˆØ—I”IˆDÜ˜t \Ó2ŠFñ ô ˜GÓ$ˆÜ+Ø˜'×2Ñ2×7Ñ7Ó9Ð:¸Fó
ˆð 	× Ñ ×'Ñ'¨Ô6àˆÜ�$œŸ™× Ò ð	Ü  §¡¨GÓ4ˆHð ˆØÑðØ—?‘?¤7¨8°ZÀÓ#F×GÑGÜ!¤$ x£.Ó1�Fð ×.Ñ.×3Ñ3Ó5ˆØ—‘¸�ÐDˆàÑðÜ!ŸjšjØ!Ÿ[™[˜M´·²ÀFÑ1Kñ�ô ˜{¨LÔ9ð ˆØ—I”IˆDÜ˜t \Ó2ŠFñ ô ˜GÓ$ˆÜ+Ø˜'×2Ñ2×7Ñ7Ó9Ð:¸Fó
ˆð 	× Ñ ×'Ñ'¨Ô6àˆÜ�$œŸ™×ÒØˆØˆØˆØØ#×4Ñ4×9Ñ9Ó;ˆMØ$Ÿ_™_¸m˜_ÐLˆNØŸœ�Ü" 4¨Ó8’ñ %à�O‰O˜MÔ*Ø—>—>ØÜ�W—^‘^Ó$¨Ó)¬j¸¿¹ÈÑ9JÌCÏFÉF×.SÑ.Sà!Ÿ.™.¨Ñ+‘ð &×6Ñ6×;Ñ;Ó=�Ø&Ÿ™À˜ÐL�Ø#ŸNœN�DÜ& t¨\Ó:’Fñ +à—‘ Ô,Øò% ð& 	�‰˜×0Ñ0×5Ñ5Ó7Ô8Ü˜GÓ$ˆÜ+¨H°fÓ=ˆØ× Ñ ×'Ñ'¨Ô6ØˆÜ�$œŸ
™
×#Ñ#Ü˜d GÓ,Ð,Ü�$œŸ™×&Ñ&Ü   wÓ/Ð/Ü�$œŸ™×'Ñ'Ü˜Ÿ™ GÓ,Ð,Ü�$œŸ™×!Ñ!Ü˜Ÿ™ WÓ-Ð-Ü�$œŸ™×!Ñ!ØÜ�$œŸ
™
×#Ñ#àÜ�$œŸ™¬¯
©
Ð3×4Ñ4ØÜ�$œŸ™¤S§\¡\Ð2×3Ñ3ØÜ�$œŸ	™	×"Ò"Ü˜Ÿ™ GÓ,ˆÜ˜$Ÿ*™* gÓ.ˆä�t—w‘w¤§	¡	×*Ò*Ü# D×)Ò)Ü# E×*Ò*ð —?‘? 4§<¡<×0Ñ0ô ”d—m‘m¤C¨£IÓ.Ô/ä“Wð ð —?‘? 5§=¡=×1Ñ1ô ”d—m‘m¤C¨£JÓ/Ô0ä“Wð ð
 !×.Ñ.ˆJØÑ%¬*°ZÄÇÁ×*JÑ*JÜ˜D %˜=Ó(Ü(Ø" J´×0@Ò0@ÀÓ0LÐMÜ)¨'Ó2ñð ô ! )¨ZÐ!8ÄÈGÓATÑUÐUÜ˜tŸw™wÔ(9Ó:ˆÞØ×!Ñ! '¨4°×7Ñ7Ü˜t W¨Q¡ZÔ0°Ó7Ð7ä$Ø" 7 )¨6Ð2Ü˜“JØ% g×&8Ñ&8Ð%9¸Ð?óð ô
 �$œŸ™×$Ò$Ü˜Ÿ™ GÓ,ˆØˆØˆÜ˜TŸX™X t×'7Ñ'7×8‰IˆB�Ü˜e WÓ-ˆEØˆFÜ" 2¤Ó7ˆGÞÜ˜b¤#§)¡)×,Ñ,Ü-¬c¯f©fÑ5�GØ!�FÜ˜b¤#§&¡&×)Ñ)Ø"�FÜ˜b¤#§)¡)×,Ñ,Ø"�FØ!�FÞžgØ  ™�ÞØ(.°.Ó(@˜˜t‘}ÀtÈUÀm‘��1Ø˜U“?¦g°&×2DÑ2DÀWÈaÐQR×2SÑ2SÜ$¤X¨vÔ6°q¸!Ó<�FÞØ%+¤˜Þ!Ø#(˜Ø “Dä(Ø'¨ x¨vÐ6Ü˜T›
Ø)¨'×*<Ñ*<Ð)=¸UÐCóð ô !Ø" 6 (¨/Ð:óð ñ? 9ðD ˆÜ�$œŸ™×%Ñ%Ø�z‰zÐÜ�$œŸ	™	×"Ñ"ÜÔ>°D·I²IÓ>Ó>Ð>Ü�$œŸ™×!Ñ!Ø/3¯yªyÓ9ªy¨!”	˜!˜WÖ%©yÑ9Ð9Ü�$œŸ™× Ñ Ø/3¯yªyÓ9ªy¨!”	˜!˜WÖ%©yÑ9Ð9Ü�$œŸ™×!Ñ!ÜÜØ04·	²	Ó:²	¨1”˜1˜gÖ&±	Ñ:Ø04·²Ó<²¨1”˜1˜gÖ&±Ñ<óó
ð 	
ô �$œŸ	™	×"Ñ"ÜÜ�d—j‘j 'Ó*Ü�d—j‘j 'Ó*Ü�d—i‘i Ó)ó
ð 	
ô
 �$œŸ™×$Ñ$Ü˜$Ÿ,™,¨Ó0ˆÜ˜tŸw™wÔ(8Ó9ˆÞØ×!Ñ! '¨5×1Ñ1ðÜ" 5¨'°!©*Ô5Ó7Ð7ô %Ø" 7 )¨6Ð2Ü˜“KØ% g×&8Ñ&8Ð%9¸Ð?óð ô
 �$œŸ™×&Ñ&Ü˜$Ÿ*™* gÓ.ˆÜ˜4Ÿ:™: wÓ/ˆØ×Ñ˜u f×-Ñ-Ø˜‘=Ð ÜØ2Ü�‹KØ˜w×1Ñ1Ð2°%Ð8ó
ð 	
ô
 �$œŸ™×!Ñ!Ü˜tŸw™w¨Ó0Ð0Ü�$œŸ™×&Ò&à×$Ñ$Ñ0Ü˜4Ÿ:™:¤s§x¡x×0Ñ0Ø—
‘
—‘ ×!:Ñ!:Ó:à×+Ñ+×/Ñ/°·	±	Ó:Ð:Ü˜$Ÿ*™* gÓ.ˆØ×Ñ˜u d§i¡i×0Ñ0Ü˜5 $§)¡)Ó,Ð,ð	ä# E¬4×0Ñ0‘´g¸eÀ[ÐRVÓ6Wð ð ‰Ü!/ØØ%Ÿo™o×3°Ø$Ÿ^™^×1¨rñ"�ð
 —9‘9 Ó.Ø .¨t¯y©yÑ 9�IÜ.¨y¸'ÓBÐBô Ø2Ü�‹KØ˜g×0Ñ0Ð1°Ð7ó
ð 	
ô
 �$œŸ	™	×"Ñ"Ü˜Ÿ™ GÓ,ˆÞÜ˜TŸY™Y¨Ó0Ð0ä˜TŸ[™[¨'Ó2Ð2Ü�$œŸ™×!Ò!Ü˜Ÿš GÓ,ˆØ�?‰?˜4× Ñ Ý3°D¸'ÓB‰LˆD�&Ù˜Ð( Ñ(Ð(Ý�4�=‰=õ
 &7°t·|²|ÀTÈ7Ó%SÐ"Ø%­]Ò:Ø-Ð-Ý-¨dÓ3Ð3ä% dÐ,AÅ=ÓQˆOÝ+¨D°$¸Ó@ˆKÜ�t˜^¨U×3Ñ3à'6Ñ'B‘OÈð ô "'Õ2KÓ2MÑ!N�Ø2>�Ô/Ø%Ð%Ø¥mÒ3Ø&Ð&Ø¥-Ò/Ø"Ð"ÜØØØ˜g×0Ñ0Ð1°Ð7ó
ð 	
ô
 �$œŸ
š
×#Ñ#ð �8�8ˆ8Ü˜TŸXšX wÓ/Ð/Ü˜Ÿ™ GÓ,Ð,Øøôw ó ó ðüòP Høô6 ó 	Ø‹Hð	ûô ó Ø“ðûô ó ÚðüòV :ùâ9ùò ;ùÚ<øô  &ó Ü#Ø5°d·g±g°Y¸bÄÀeÃÀÐNóð ðûôZ ó 	âð	ús§   Ã,AO'Î	AO9ÔAO> Ô5AP Ö>AP$ ö.AP5÷4AP:ùAP?ù*AQý!AQ	 ÁE
BAQ; ÁO'
AO6ÁO5AO6ÁO>APÁPAPÁPAP!ÁP AP!ÁP$
AP2ÁP1AP2ÁQ	/AQ8ÁQ;
AR	ÁRAR	ÚdictsrZ  c                 ó  • [        U 5      S:X  a  U S   $ [        5       nU  H"  nUR                  UR                  5       5        M$     0 nU H4  nU  Vs/ s H  o5U;   d  M
  X5   PM     nnU(       d  M'  [	        Xa5      XE'   M6     U$ s  snf )z;Merge multiple dictionaries, combining values for each key.r�   r   )rq  r{   rÅ  rM  rÞ  )r&  rZ  Úall_keysÚdÚmergedr+   r~  s          r,   rÉ  rÉ  ©  sƒ   € ä
ˆ5ƒz�QƒØ�Q‰xˆä‹u€HÛˆØ�‰˜Ÿ™›Ö!ñ ð €FÛˆÙ"'Ó4¢%˜Q°!©8“&�!”&¡%ˆÐ4ßˆ6Ü'¨Ó7ˆF‹Kñ ð
 €Mùò	 5s   Á	BÁBc           	      ó8  • [        U 5      S:X  a  U S   $ U  Vs1 s H  n[        U5      iM     nnSn0 n[        5       nU  Hö  nUR                  UR                  5      (       a  UR                  [        U5      5         UR                  UR                  5      (       a=   UR                  5        H&  u  pxUR                  U/ 5      R                  U5        M(     M›  UR                  UR                  5      (       a;   UR                  5        H$  nUR                  U/ 5      R                  S5        M&     Mö  Mø     U(       a5  UR                  5        VV
s0 s H  u  pzXzS   b  [        X¡5      OS_M     nnn
[        U5      S:X  a¤  [        [        U5      5      nU[        4;  a…  [!        [        [        U 5      5      S5      (       aF  [!        [        [        U 5      5      S5      (       d?  [!        [        [        U 5      5      S5      (       d  U["        [        [$        4;   a  U$ U S   $ ['        [        R)                  U5      US9$ s  snf ! [         a  n	 Sn	A	GM  Sn	A	ff = f! [         a  n	 Sn	A	GM5  Sn	A	ff = f! [         a  n	 Sn	A	GMN  Sn	A	ff = fs  sn
nf )zGRecursively merge multiple values, combining attributes and dict items.r�   r   Nr-   r3  rM  r5  )rq  rO   r{   rv   rC  rÅ  r@  r3  Ú
setdefaultrÇ   r|  rM  rÞ  rÌ  rË  rß   r´   rm  r|   r1  r{  )r~  rZ  rš  rd  Úmerged_itemsÚ
key_valuesr2  r™  Úvalr±  Úvalsr€  s               r,   rÞ  rÞ  »  s+  € ä
ˆ6ƒ{�aÓØ�a‰yÐá$Ó%šf˜ŒT�!ŽW™f€EÐ%Ø€LØ€JÜ“€JÛˆØ�?‰?˜1Ÿ9™9×%Ñ%Ø×Ñœc !›fÔ%ð	Ø�‰˜qŸw™w×'Ñ'ðØ"#§'¡'¦)™˜Ø"×-Ñ-¨a°Ó4×;Ñ;¸CÖ@ó #,ð —‘ §¡×(Ñ(ðØŸV™VžX˜Ø"×-Ñ-¨a°Ó4×;Ñ;¸DÖAó &ñ )ñ ö& ð &×+Ñ+Ô-ô
â-‘�ð °1©gÑ.AŒ}˜TÔ*ÀtÒKÙ-ð 	ñ 
ô
 ˆ5ƒz�QƒÜ”�e“ÓˆØ”T�GÓÜ”Dœ˜f›Ó&¨×6Ñ6äœœT &›\Ó*¨G×4Ñ4Üœ4¤ V£Ó-¨v×6Ñ6ð ”Tœ3¤Ð&Ó&Ø�Ø˜!‘9ÐäœDŸM™M¨*Ó5¸\ÑJÐJùòU &øô !ó Þûðûô !ó Þûðûäó 	Þûð	üó
s_   ™IÁ> I=Â:IÃ I=Ã<8I$ÅJÉ
I!ÉI=ÉI!É!I=É$
I:É.I=É5I:É:I=É=
JÊJc                 ó’   • [        U R                  U5      nU(       d  g[        U5      S:X  a  US   $ [        U5      n[	        X#5      $ )zLInfer the return value(s) of a function by evaluating all return statements.Nr�   r   )Ú_collect_return_valuesrº  rq  r[  rÞ  )r  r  Úreturn_valuesrZ  s       r,   rÁ  rÁ  í  sE   € ä*¨4¯9©9°gÓ>€MæØÜ
ˆ=Ó˜QÓØ˜QÑÐä˜Ó €FÜ˜Ó/Ð/r0   c                 ó°  • / nU  GH;  n[        U[        R                  5      (       aC  UR                  c  M2   [	        UR                  U5      nUb  U[
        La  UR                  U5        [        U[        R                  [        R                  [        R                  [        R                  45      (       a  Mµ  [        US5      (       aD  [        UR                  [        5      (       a%  UR                  [!        UR                  U5      5        [        U[        R"                  5      (       a·  UR$                   H;  n[        US5      (       d  M  UR                  [!        UR                  U5      5        M=     [        US5      (       a%  UR                  [!        UR&                  U5      5        [        US5      (       a%  UR                  [!        UR(                  U5      5        [        US5      (       d  GMô  [        UR&                  [        5      (       d  GM  UR                  [!        UR&                  U5      5        GM>     U$ ! [         a     GNéf = f)z@Recursively collect return values from a list of AST statements.rº  rÏ  Ú	finalbody)rŽ   rú   ÚReturnrd   r  rø  rÇ   r|  r»  r¼  rÄ  rÃ  r´   rº  rm  Úextendr2  ÚTryÚhandlersrÏ  r5  )rº  r  r3  r  rd   Úhs         r,   r2  r2  ú  s³  € à€MÜˆÜ�dœCŸJ™J×'Ñ'Ø�z‰zÑ!ÙðÜ! $§*¡*¨gÓ6�ØÑ$¨´mÒ)CØ!×(Ñ(¨Ô/ô Ø”3—?‘?¤C×$8Ñ$8¼#¿,¹,ÌÏ
É
ÐS÷
ñ 
ñ Ü�T˜6×"Ñ"¤z°$·)±)¼T×'BÑ'BØ× Ñ Ô!7¸¿	¹	À7Ó!KÔLÜ�dœCŸG™G×$Ñ$Ø—]”]�Ü˜1˜f×%Ó%Ø!×(Ñ(Ô)?ÀÇÁÈÓ)PÖQñ #ô �t˜X×&Ñ&Ø×$Ñ$Ô%;¸D¿K¹KÈÓ%QÔRÜ�t˜[×)Ñ)Ø×$Ñ$Ô%;¸D¿N¹NÈGÓ%TÔUÜ�4˜×"Ô"¤z°$·+±+¼t×'DÔ'DØ× Ñ Ô!7¸¿¹ÀWÓ!M×Nñ3 ð4 Ðøô% ó Úðús   ¸3IÉ
IÉIc                 óÆ   •  [        U 5      nUR                  [        R
                  LnU(       a  [        UR                  X#X5      $ [        $ ! [         a	    [        n NRf = f)zqEvaluate return type of a given callable function.

Returns the built-in type, a duck or NOT_EVALUATED sentinel.
)r   ré  ÚUNKNOWN_SIGNATUREÚreturn_annotationr   Úemptyr�  rø  )rJ   r  r  ÚsigÚ	not_emptys        r,   rö  rö    sZ   € ð
 Ü˜‹oˆð
 ×%Ñ%¬Y¯_©_Ð<€IÞÜ" 3×#8Ñ#8¸'ÈÓSÐSÜÐøô ó  ÜŠð ús   ‚A ÁA ÁA rŒ  c                 óF   • [        U [        5      (       a  [        X5      $ U $ r'   )rŽ   r}   rò  )rŒ  r  s     r,   Ú_eval_annotationrB  +  s*   € ô �j¤#×&Ñ&ô 	˜
Ó,ðð ðr0   c                   ó8   ^ • \ rS rSrSrU 4S jrS rS rSrU =r	$ )Ú_GetItemDucki6  zUA dict subclass that always returns the factory instance and claims to have any item.c                 ó2   >• [         TU ]  " U0 UD6  Xl        g r'   )rA  r6  Ú_factory)r*   Úfactoryr=   r>   rB  s       €r,   r6  Ú_GetItemDuck.__init__9  s   ø€ Ü‰Ò˜$Ð) &Ò)Ø�r0   c                 ó"   • U R                  5       $ r'   ©rF  r)   s     r,   r-   Ú_GetItemDuck.__getitem__=  s   € Ø�}‰}‹Ðr0   c                 ó   • gro   r(   r)   s     r,   r&  Ú_GetItemDuck.__contains__@  s   € Ør0   rJ  )
r3   r4   r5   r6   rx   r6  r-   r&  r7   rP  rQ  s   @r,   rD  rD  6  s   ø† Ù_õ ò÷ð r0   rD  r?  c                 óª  ^^^^^• U c  g[        U T5      n [        U 5      nU [        L a$  T(       a  [        TS5      (       a  TR                  $ U[
        L a   [        U 5      n[        U5      S:X  a  US   $ gU [        L a  gU [        L GaQ  SnT(       a¾  [        TS5      (       a­  TR                  n[        UR                  R                  5       HE  u  pšU
R                  (       d  M  [        U
R                  R                  T5      n U [        L d  MC  U	n  O   [        T[         5      =(       a    [#        TS5      SLnU(       a  U(       a  US-  nOMT(       aF  [        TR$                  R'                  5       5       H  u  n	u  pÍUR                  [        L d  M  U	n  O   Uc  gUS:  d  U[        TR                  5      :¼  a  g[)        TR                  U   T5      $ U[*        L a  gU[,        L d	  U[.        L aˆ  [1        [3        [        U 5      S   TTTT5      5       Vs/ s H  nUPM     nn[5        [6        R9                  U5      S9m[5        [6        R9                  [1        U" 5       5      5      [;        U4S	 j5      S
9$ U[<        L a!  [=        UUUU4S j[        U 5       5       5      $ U[>        L aY  [        U 5       VVs/ s H%  n[1        [3        UTTTT5      5        H  nUPM     M'     nnn[5        [6        R9                  U5      S9$ [A        U 5      (       aj  [5        [6        R9                  [1        [7        5       5      5      U RB                  R'                  5        VVs0 s H  u  nnU[3        UTTTT5      _M     snnS
9$ [        U S5      (       a%  [5        [6        R9                  [1        U 5      5      S9$ U[D        L a  [        U 5      S   n[3        UTTTT5      $ [        U [F        5      (       a  [I        U RJ                  T5      $ [        U [L        5      (       a  [I        U RN                  T5      $ [I        U T5      $ s  snf s  snnf s  snnf )zKResolve annotation created by user with `typing` module and custom objects.NrL   r�   r   Ú rÂ  Fr9  c                  ó   >• T $ r'   r(   )Úducks   €r,   Ú<lambda>Ú%_resolve_annotation.<locals>.<lambda>€  s   ø€ ¡tr0   r5  c              3   óB   >#   • U  H  n[        UTTTT5      v •  M     g 7fr'   )r�  )r°  r—  r  rJ   r  r?  s     €€€€r,   r²  Ú&_resolve_annotation.<locals>.<genexpr>„  s(   øé € ð 
â+�ô    W¨c°4¸×>Ð>Ú+ùs   ƒÚ_is_protocol)(rB  r   r   r´   rL   r
   r   rq  r   r	   rÂ  ro  r=   rŒ  rt  rŽ   r   rN   Ú
parametersr3  r  r   r{   rm  r@  r�  r1  rß   r{  rD  r|   r   r   rz   r   r   Ú_eval_or_create_duckÚ__supertype__r"   Ú	__value__)rŒ  r  r?  rJ   r  ÚoriginÚ	type_argsÚindexÚdef_noder  r—  Úis_bound_methodr+   rd   rj   r2  Útype_argr™  rš  rQ  s    ````              @r,   r�  r�  D  sØ  ü€ ð ÑØÜ! *¨gÓ6€JÜ˜
Ó#€FØ”TÒžd¤w¨t°Z×'@Ñ'@Ø�}‰}ÐØ	”7Ò	Ü˜ZÓ(ˆ	Üˆy‹>˜QÓØ˜Q‘<Ðð à	”}Ò	$ØØ	”vÓ	ØˆÞ”G˜D *×-Ñ-Ø—}‘}ˆHÜ# H§M¡M×$6Ñ$6Ö7‘�Ø—~—~ÙÜ-¨c¯n©n×.?Ñ.?ÀÓI�
Ø¤Ô'Ø�EÙñ 8ô ˜4¤Ó,×V´¸¸zÓ1JÐRVÐ1Vð ö žØ˜‘
�øÞÜ#,¨S¯^©^×-AÑ-AÓ-CÖ#D‘�‘<�CØ×#Ñ#¤vÔ-Ø�EÙñ $Eð ‰=ØØ�1‹9˜¤ T§Y¡Y£Ó/ØÜ˜Ÿ™ 5Ñ)¨7Ó3Ð3Ø	”9Ò	ØØ	”3Š˜&¤Dš.ô Ü#¤H¨ZÓ$8¸Ñ$;¸WÀcÈ4ÐQUÓVôó
ò�ó ñð 	ð 
ô ¤§¡¨jÓ 9Ñ:ˆÜÜ—}‘}¤S©«£]Ó3äœ|Ó,ñ
ð 	
ð
 
”5Šä÷ 
ä 
Ô+ó
ó 
ð 	
ð 
”5Šô % ZÔ0ô
â0�ÜÔ/°¸'À3ÈÈdÓS×T�ó áTñ Ù0ð 	ñ 
ô
 ¤§¡¨jÓ 9Ñ:Ð:Ü	�j×	!Ñ	!ÜÜ—}‘}¤S¬«£[Ó1ð '×6Ñ6×<Ñ<Ô>ôâ>‘D�A�qð Ô& q¨'°3¸¸dÓCÒCÙ>òñ
ð 	
ô 
�˜^×	,Ñ	,Ü¤§¡¬c°*«oÓ >Ñ?Ð?Ø	”9Ò	Ü˜JÓ'¨Ñ*ˆÜ" 8¨W°c¸4ÀÓFÐFÜ	�J¤×	(Ñ	(Ü# J×$<Ñ$<¸gÓFÐFÜ	�J¤×	.Ñ	.Ü# J×$8Ñ$8¸'ÓBÐBä# J°Ó8Ð8ùòY
ùó(
ùós   ÈQË,Q	Í#QÚnode_idc                 ót  • [        U5      nXR                  ;   a  UR                  U    $ UR                  (       a  XR                  ;   a  UR                  U    $ UR                  (       a  XR
                  ;   a  UR
                  U    $ UR                  (       a%  [        [        U 5      (       a  [        [        U 5      $ UR                  (       a"  UR                  (       a  UR                  U 5      $ UR                  (       d*  UR                  (       d  [        SUR                   S35      e[        U  S35      e)Nz Namespace access not allowed in r­  ri  )r[  rð   rX   rê   rY   rë   r\   r´   ÚbuiltinsrN   r_   rî   r  rì   rx  )ra  r  rZ  s      r,   rò  rò  ¥  sõ   € Ü˜Ó €FØ×*Ñ*Ó*Ø×'Ñ'¨Ñ0Ð0Ø×!×! g·±Ó&?Ø�~‰~˜gÑ&Ð&Ø×"×" w·/±/Ó'AØ�‰˜wÑ'Ð'Ø×#×#¬´¸'×(BÑ(Bä”x Ó)Ð)Ø×× G×$7×$7Ø×"Ñ" 7Ó+Ð+Ø×&×&¨v×/I×/IÜØ.¨w×/AÑ/AÐ.BÀ%ÐHó
ð 	
ô ˜7˜)Ð#NÐOÓPÐPr0   c                 óh   • [        U5      nUR                  U 5      (       a  U " 5       $ [        U 5      $ r'   )r[  rv   rù  )Ú	duck_typer  rZ  s      r,   rX  rX  º  s.   € Ü˜Ó €Fà‡��y×!Ñ!Ù‹{Ðä% iÓ0Ð0r0   c                 óR   • [        5       n Xl        U$ ! [         a     [        $ f = f)z…Create an imitation of an object of a given type (a duck).

Returns the duck or NOT_EVALUATED sentinel if duck could not be created.
)r/  rB  rñ  rø  )re  rQ  s     r,   rù  rù  Ã  s3   € ô
 Ó€Dðà"ŒØˆøÜó ØÜÐðús   Œ ”
&¥&>   ©ÚnumpyÚvoid©rh  Úndarray©ÚpandasÚSeries©rm  Ú	DataFrame©rm  ÚcoreÚindexingÚ_LocIndexer©rm  rr  rs  Ú_iLocIndexerÚBUILTIN_GETITEMc                 óh   • U(       a  UO
[        U 5       Vs/ s H  n[        X5      PM     sn$ s  snf )z=For use on immutable objects or with methods returning a copy)r@  rN   )r   Úsourcer™  s      r,   Ú_list_methodsrz  ð  s+   € æ06¡f¼CÀ»HÐ&DÓFÒ&D ŒG�CŽOÑ&DÑFÐFùÒFs   —/)r   rM  r~  r3  )r   r]  ÚcountÚ	dict_keysÚdict_valuesÚ
dict_itemsÚBUILTIN_GETATTRTF)r\   rX   rY   rZ   r[   rb   r^   r]   ro  rl  )
r§   r¨   r©   rª   r«   r\   rX   rY   r­   rb   )r\   rX   rY   r[   rZ   r^   r]   )rä   rå   ræ   )r  r  r  ré   rT   )NNNr'   )®r   Úinspectr   r   r   r   rÁ   r   r	   r
   r   r   r   r   r   r   r   r   r   Úcollections.abcr   r   rú   rc  Úcollectionsrõ   rè  r‚   r^  Ú	functoolsr   r   r   rd  r   r   r   ÚIPython.utils.decoratorsr   r   r   r   Úversion_infoÚtyping_extensionsr"   r$   r:   rB   rH   rÞ   rT   rV   r}   r‰   r™   rž   r{   r|   r£   r¥   rá   rù   ré   rý   r
  r  r<  Úobjectrø  r|  r  r  ÚAddÚSubÚMultÚDivÚFloorDivÚModÚPowÚLShiftÚRShiftrÜ  ÚBitXorÚBitAndÚMatMultr  rß   rO   rz   ÚEqÚNotEqÚLtÚLtEÚGtÚGtErå  r'  ÚcmpopÚUSubÚUAddÚInvertÚNotr-  Úunaryoprm  Ú	frozensetrŽ  r/  r1  rV  r[  ry   ra  rg  r�  rˆ  r”  rõ  r›  rû   rs  r£  r  rÉ  rÞ  r»  rÁ  r2  rö  rB  rD  r�  rò  rX  rù  ÚSUPPORTED_EXTERNAL_GETITEMÚbytesÚdefaultdictÚdequeÚOrderedDictÚChainMapÚUserDictÚUserListÚ
UserStringrw  rz  Údict_non_mutating_methodsÚlist_non_mutating_methodsr@  Úset_non_mutating_methodsrM  r|  ÚabcÚKeysViewr~  r}  r3  r~  ÚintÚfloatÚcomplexÚNUMERICSr¬  Ú
isdisjointrr  ÚCounterÚelementsÚmost_commonrC  ÚALLOWED_CALLSr  ÚBUILTIN_OPERATIONSrX  Ú__all__)Únumeric_clsr”   s   00r,   Ú<module>r»     sÒ  ðÞ ß <Ó <÷÷ ÷ ó ÷ /Û 
Û Û Û Û Û 
Û Û Ý %ß (ß >Ñ >å *ã ß 6Ñ 6à×Ñ�gÓÞ/å$ð ô�ó ó ðð
 ô˜8ó ó ðð
 ô�ó ó ðð
 ô	˜ó 	ó ð	ð
 �zÐ#5Ð5Ñ6€ð˜ð  e¨H°d¨NÑ&;ô ð* Ø
÷!ð !ó ó ð!ðH˜sð °¸#±ô ð./àð/ð ˜#‘ð/ð ô	/òdð4Ø�E˜#˜s˜(‘O cÑ)Ñ*ðàˆˆs�Cˆx‰Ñôð Ø
ôH
Ð&ó H
ó ó ðH
ôVG�zô Gð ÐWÑXÐ ð ÷4ð 4ó ð4÷:ñ ñ (Ó)Ð Ø+Ð Ù“KÐ Ù“€ô	�Yô 	ð!$�sð !$Ð%6ô !$ðJ ‡G�Gˆ\Ø‡G�Gˆ\Ø‡H�HˆlØ‡G�GÐØ‡L�LÐ#Ø‡G�Gˆ\Ø‡G�Gˆ\Ø‡J�J�Ø‡J�J�Ø‡I�Iˆ{Ø‡J�J�Ø‡J�J�Ø‡K�K�ð;Ð �4˜˜SŸ\™\Ñ*¨E°#©JÐ6Ñ7ó ð" ‡F�FˆKØ‡I�IÐ#Ø‡F�FÐ Ø‡G�GÐ!Ø‡F�FÐ Ø‡G�GÐ!Ø‡F�FÐð	;€��d˜3Ÿ9™9‘o u¨S°#¨X¡Ð6Ñ7ó 	ð ‡H�HˆlØ‡H�Hˆlà‡J�JÐ)Ø‡G�Gˆ\ð>Ð �$�t˜CŸK™KÑ(¨%°°S°©/Ð9Ñ:ó ð    s¨E°9Ð=Ð ÷cñ c÷!ñ !ð4 e¨E°#°s°(©O¸TÐ,AÑ&Bô ðÐ)ð Ð.>ô ðØ%ðØ9=ðà	ôð ô ð0^˜Ÿ™ð ^Ð.?ô ^òB!ðF 3§8¡8ð Ð6Gô ð
Ø�G‰Gð
Ø/ð
à	ô
ð 4¨¨X°fÑ-=Ð(=Ñ#>ô ði�E˜#Ÿ'™' 4˜-Ñ(ð iÐ3Dô iðX˜tð Ð-=ô ð$/KÐ"2ô /Kðd
0˜cŸo™oð 
0Ð8Iô 
0òð@˜Hð ¨C¯H©Hð Ð?Pô ð"Øðàôô�4ô ð" !Ø Ø ñ^9Ø˜‘ð^9àð^9ð 
�TÑ	ð^9ð �T‰/ð	^9ð
 �(‰(�T‰/õ^9ðBQ˜Sð QÐ+<ô Qð*1Ð->ô 1òòÐ ð 	ØØ	ØØ	ØØ	Ø×ÒØ×ÒØ×ÒØ×ÒØ×ÒØ×ÒØ×ÒØØð!.€�Ð)Ñ*ó ô(Gð
 @Ð Ø6Ð Ù™s 3›x›=©3©s°9«~Ó+>Ñ>Ð ñ -1°·²³«O€	ˆ4�—’×(Ò(Ñ)Ó ;Ù˜Ÿš›Ó%€ˆTÓ %Ù˜Ÿš›
Ó#€
ˆDÓ #à�˜Ð €ð:Ø	ð:á�5Óð:ð 
‡N‚Nð:ð 	ð	:ñ
 �4Ð2Ó3ð:ð 	‡M‚Mð:ð ×Òð:ð ×Òð:ð ×Òð:ð ×Òð:ð 	ð:ñ �4Ð2Ó3ð:ð 	‡M‚Mð:ð ð:ñ �3Ð0Ó1ð:ð  ‡L‚Lð!:ð" ð#:ñ$ �9Óð%:ð& ×Òð':ð( 
ð):ð* 
‡N‚Nð+:ð, ð-:ñ. �3Óð/:ð0 ‡L‚Lð1:ð2 
ð3:ñ4 �5Óð5:ð6 
‡N‚Nð7:ð8 	ð9:ñ: �4Óð;:ð< ð=:ñ> !)ÔR¢�±}À[×7Q¨V‚fÑ7Q�f¡ÒRð?:ð@ ×ÒðA:ñB �;×$Ò$Ð&?Ó@ðC:ðD ×Ò×ÒðE:ðF ×ÒðG:ñH �;×*Ò*Ð,EÓFðI:ðJ ×Ò×$Ò$ðK:ðL ×ÒðM:ñN �;×*Ò*Ð,EÓFðO:ðP ×Ò×$Ò$ðQ:ðR ×ÒðS:ñT �;×'Ò'Ð)BÓCðU:ðV ×Ò×!Ò!ðW:ðX ×ÒðY:ñZ �;×'Ò'Ð)BÓCð[:ð\ ×Ò×!Ò!ð]:ð^ ×Òð_:ñ` �;×)Ò)©3¨s«8Ó4ða:ðb ×Ò×#Ò#ðc:ðd ×Òðe:ñf �;×&Ò&Ð(AÓBðg:ðh ×Ò× Ò ði:ðj ×Ò× Ò ðk:ðl ×Ò×#Ò#ðm:ðn ‡N‚Nðo:ðp 	‡L‚Lðq:ðr 
‡M‚Mðs:€ðx
(Øð
(àð
(ð ð
(ð ð	
(ð
 	ð
(ð ð
(ð ð
(ð ð
(ð ð
(€��^Ñ$ó 
ð (�Ð'Ð ñ  Ø"Ø!Ø"ØØÙ“eØØ"ñ	ñ Ø'Ø!;Ø'ð $Ø ð"
ð
 .Ø"Ø Ø!Ø#Ø#ññ  Ø"Ø Ø!ØØØØ!ññ7$Ð òN�ùóg Ss   Ùb8