Ë
    S^(hÕ•  ã                   óÜ  — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZ d dlZddlmZ  e«       rd dlZ G d„ de«      Z ee«      D � ci c],  }  e ee| «      e«      r e ee| «      e«      r
|  ee| «      “Œ. c} Zg d	¢Zd
\  aZd\  aZ  G d„ de!«      Z" G d„ de!«      Z# G d„ de!«      Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d „ Z3d!„ Z4d"„ Z5d#„ Z6d$„ Z7d%„ Z8d&„ Z9d'„ Z:d(„ Z;d)„ Z<d*„ Z=d+„ Z>efd,e j~                  d-e
e@ef   d.e
e@e	f   d/e
e@e	f   d0ee@   f
d1„ZAefd2e@d3eBd4e@fd5„ZCdddefd6e@d.ee
e@e	f      d/ee
e@e	f      d-ee
e@ef      d0ee@   f
d7„ZDyc c} w )8é    N)ÚMapping)Úimport_module)ÚAnyÚCallableÚDictÚListÚOptionalé   )Úis_pandas_availablec                   ó   — e Zd ZdZy)ÚInterpreterErrorz†
    An error raised when the interpreter cannot evaluate a Python expression, due to syntax error or unsupported
    operations.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/agents/python_interpreter.pyr   r   !   s   „ ñð
 	r   r   )
ÚrandomÚcollectionsÚmathÚtimeÚqueueÚ	itertoolsÚreÚstatÚ
statisticsÚunicodedata)Ú iPÃ  )r   i€–˜ c                   ó   — e Zd Zy)ÚBreakExceptionN©r   r   r   r   r   r   r!   r!   B   ó   „ Ør   r!   c                   ó   — e Zd Zy)ÚContinueExceptionNr"   r   r   r   r%   r%   F   r#   r   r%   c                   ó   — e Zd Zd„ Zy)ÚReturnExceptionc                 ó   — || _         y ©N)Úvalue)Úselfr*   s     r   Ú__init__zReturnException.__init__K   s	   € Øˆ�
r   N)r   r   r   r,   r   r   r   r'   r'   J   s   „ ór   r'   c                 ój   — t        | t        «      r| S t        | d«      rt        | «      S t        d«      ‚)NÚ__iter__zObject is not iterable)Ú
isinstanceÚlistÚhasattrr   )Úobjs    r   Úget_iterabler3   O   s1   € Ü�#”tÔØˆ
Ü	��jÔ	!Ü�C‹yÐäÐ7Ó8Ð8r   c                 óÂ  — t        | j                  |||«      }t        | j                  t        j
                  «      r| S t        | j                  t        j                  «      r|S t        | j                  t        j                  «      r| S t        | j                  t        j                  «      r| S t        d| j                  j                  j                  › d�«      ‚)NzUnary operation ú is not supported.)Úevaluate_astÚoperandr/   ÚopÚastÚUSubÚUAddÚNotÚInvertr   Ú	__class__r   )Ú
expressionÚstateÚstatic_toolsÚcustom_toolsr7   s        r   Úevaluate_unaryoprC   X   s¢   € Ü˜:×-Ñ-¨u°lÀLÓQ€GÜ�*—-‘-¤§¡Ô*ØˆxˆÜ	�J—M‘M¤3§8¡8Ô	,ØˆÜ	�J—M‘M¤3§7¡7Ô	+Øˆ{ÐÜ	�J—M‘M¤3§:¡:Ô	.ØˆxˆäÐ!1°*·-±-×2IÑ2I×2RÑ2RÐ1SÐSeÐfÓgÐgr   c                 óˆ   ‡ ‡‡‡‡— ‰ j                   j                   D �cg c]  }|j                  ‘Œ c}Šˆˆˆ ˆˆfd„}|S c c}w )Nc                  ó†   •— ‰j                  «       }t        ‰| «      D ]
  \  }}|||<   Œ t        ‰j                  |‰‰«      S r)   )ÚcopyÚzipr6   Úbody)	ÚvaluesÚ	new_stateÚargr*   ÚargsrB   Úlambda_expressionr@   rA   s	       €€€€€r   Úlambda_funcz$evaluate_lambda.<locals>.lambda_funci   sI   ø€ Ø—J‘J“Lˆ	Ü˜d FÓ+ò 	#‰JˆC�Ø"ˆI�cŠNð	#äÐ-×2Ñ2°I¸|È\ÓZÐZr   )rL   rK   )rM   r@   rA   rB   rK   rN   rL   s   ````  @r   Úevaluate_lambdarO   f   s<   ü€ Ø0×5Ñ5×:Ñ:Ö;˜ˆC�G‹GÒ;€D÷[ð [ð Ðùò <s   ž?c                 ó  — d}d}t        | j                  |||«      rR| j                  D ]  }	 t        ||||«       Œ |dz  }||kD  rt        d|› d�«      ‚t        | j                  |||«      rŒRy # t        $ r Y  y t        $ r Y  ŒJw xY w)Niè  r   é   zMaximum number of z" iterations in While loop exceeded)r6   ÚtestrH   r!   r%   r   )Ú
while_loopr@   rA   rB   Úmax_iterationsÚ
iterationsÚnodes          r   Úevaluate_whilerW   r   s¦   € Ø€NØ€JÜ
�z—‘¨¨|¸\Ô
JØ—O‘Oò 	ˆDðÜ˜T 5¨,¸ÕEð	ð 	�a‰ˆ
Ø˜Ò&Ü"Ð%7¸Ð7GÐGiÐ#jÓkÐkô �z—‘¨¨|¸\Õ
Jð øô "ò ÚÜ$ò Úðús   ­A0Á0	BÁ<BÂBc                 ó   ‡ ‡‡‡— ˆˆ ˆˆfd„}|S )Nc            	      ó  •— ‰j                  «       }‰j                  j                  D �cg c]  }|j                  ‘Œ }}‰j                  j                  D �cg c]  }t	        |‰‰‰«      ‘Œ }}t        t        |t        |«       d  |«      «      }t        || «      D ]
  \  }}	|	||<   Œ |j                  «       D ]
  \  }}	|	||<   Œ ‰j                  j                  r%‰j                  j                  j                  }
| ||
<   ‰j                  j                  r%‰j                  j                  j                  }|||<   |j                  «       D ]  \  }}	||vsŒ|	||<   Œ ‰j                  j                  rB‰j                  j                  d   j                  dk(  r| r| d   |d<   | d   j                  |d<   d }	 ‰j                  D ]  }t	        ||‰‰«      }Œ 	 |S c c}w c c}w # t        $ r}|j                  }Y d }~|S d }~ww xY w)Nr   r+   r>   )rF   rL   rK   Údefaultsr6   ÚdictrG   ÚlenÚitemsÚvarargÚkwargr>   rH   r'   r*   )rL   ÚkwargsÚ
func_staterK   Ú	arg_namesÚdÚdefault_valuesrZ   Únamer*   Úvararg_nameÚ
kwarg_nameÚresultÚstmtÚerB   Úfunc_defr@   rA   s                  €€€€r   Únew_funcz!create_function.<locals>.new_func„   s   ø€ Ø—Z‘Z“\ˆ
Ø(0¯©×(:Ñ(:Ö; �S—W“WÐ;ˆ	Ð;ØV^×VcÑVc×VlÑVlÖmÐQRœ, q¨%°¸|ÕLÐmˆÐmô œ˜I¤s¨>Ó':Ð&:Ð&<Ð=¸~ÓNÓOˆô ˜y¨$Ó/ò 	%‰KˆD�%Ø$ˆJ�tÒð	%ð "Ÿ<™<›>ò 	%‰KˆD�%Ø$ˆJ�tÒð	%ð �=‰=×ÒØ"Ÿ-™-×.Ñ.×2Ñ2ˆKØ&*ˆJ�{Ñ#à�=‰=×ÒØ!Ÿ™×,Ñ,×0Ñ0ˆJØ%+ˆJ�zÑ"ð $Ÿ>™>Ó+ò 	)‰KˆD�%Ø˜:Ò%Ø#(�
˜4Ò ð	)ð
 �=‰=×Ò (§-¡-×"4Ñ"4°QÑ"7×";Ñ";¸vÒ"EÙØ%)¨!¡W�
˜6Ñ"Ø*.¨q©'×*;Ñ*;�
˜;Ñ'àˆð	Ø Ÿ™ò T�Ü% d¨J¸ÀlÓS‘ñTð ˆùòQ <ùÚmøôJ ò 	Ø—W‘WŒFØˆûð	ús#   ªGÁG Æ9G% Ç%	HÇ.H È Hr   )rk   r@   rA   rB   rl   s   ```` r   Úcreate_functionrm   ƒ   s   û€ ÷*ðX €Or   c                 ól   — i }|j                  «       D ]
  \  }}|||<   Œ t        | t        |«      |«      S r)   )r]   ÚtypeÚtuple)Ú
class_nameÚclass_basesÚ
class_bodyÚ
class_dictÚkeyr*   s         r   Úcreate_classrv   ³   s@   € Ø€JØ ×&Ñ&Ó(ò  ‰
ˆˆUØˆ
�3Šð ä�
œE +Ó.°
Ó;Ð;r   c                 óV   — t        | |||«      || j                  <   || j                     S r)   )rm   re   )rk   r@   rA   rB   s       r   Úevaluate_function_defrx   º   s+   € Ü"1°(¸EÀ<ÐQ]Ó"^€L�—‘ÑØ˜Ÿ™Ñ&Ð&r   c           	      óÖ  — | j                   }| j                  D �cg c]  }t        ||||«      ‘Œ }}i }| j                  D �]  }t	        |t
        j                  «      rt        ||||«      ||j                   <   Œ:t	        |t
        j                  «      r’|j                  D ]‚  }	t	        |	t
        j                  «      r&t        |j                  |||«      ||	j                  <   ŒCt	        |	t
        j                  «      sŒ^t        |j                  |||«      ||	j                  <   Œ„ Œæt        d|j                   j"                  › �«      ‚ t%        |t'        |«      |«      }
|
||<   |
S c c}w )Nz%Unsupported statement in class body: )re   Úbasesr6   rH   r/   r9   ÚFunctionDefrx   ÚAssignÚtargetsÚNamer*   ÚidÚ	AttributeÚattrr   r>   r   ro   rp   )Ú	class_defr@   rA   rB   rq   Úbaserz   rt   ri   ÚtargetÚ	new_classs              r   Úevaluate_class_defr†   ¿   s4  € Ø—‘€JØOXÏÉÖ_ÀtŒ\˜$  |°\ÕBÐ_€EÐ_Ø€Jà—‘ó 
fˆÜ�dœCŸO™OÔ,Ü$9¸$ÀÀ|ÐUaÓ$bˆJ�t—y‘yÒ!Ü˜œcŸj™jÔ)ØŸ,™,ò j�Ü˜f¤c§h¡hÔ/Ü,8¸¿¹ÀUÈLÐZfÓ,g�J˜vŸy™yÒ)Ü ¬¯©Õ6Ü.:¸4¿:¹:ÀuÈlÐ\hÓ.i�J˜vŸ{™{Ò+ñ	jô #Ð%JÈ4Ï>É>×KbÑKbÐJcÐ#dÓeÐeð
fô �Z¤ u£¨zÓ:€IØ!€Eˆ*ÑØÐùò# `s   ›E&c                 ód  ‡‡‡‡— ˆˆˆˆfd„Š ‰| j                   «      }t        | j                  ‰‰‰«      }t        | j                  t
        j                  «      r=t        |t        «      r&t        |t        «      st        d|› d�«      ‚||z   }�n||z   }�nÿt        | j                  t
        j                  «      r||z
  }�nÔt        | j                  t
        j                  «      r||z  }�n©t        | j                  t
        j                  «      r||z  }�n~t        | j                  t
        j                  «      r||z  }�nSt        | j                  t
        j                  «      r||z  }�n(t        | j                  t
        j                  «      r||z  }nþt        | j                  t
        j                  «      r||z  }nÔt        | j                  t
        j                   «      r||z  }nªt        | j                  t
        j"                  «      r||z  }n€t        | j                  t
        j$                  «      r||z  }nVt        | j                  t
        j&                  «      r||z	  }n,t        dt)        | j                  «      j*                  › d�«      ‚t-        | j                   |‰‰‰«       |S )Nc                 ó¢  •— t        | t        j                  «      r‰j                  | j                  d«      S t        | t        j
                  «      r5t        | j                  ‰‰‰«      }t        | j                  ‰‰‰«      }||   S t        | t        j                  «      r.t        | j                  ‰‰‰«      }t        || j                  «      S t        | t        j                  «      rt        ˆfd„| j                  D «       «      S t        | t        j                  «      r | j                  D �cg c]
  } ‰|«      ‘Œ c}S t!        d«      ‚c c}w )Nr   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr)   r   )Ú.0ÚeltÚget_current_values     €r   ú	<genexpr>z@evaluate_augassign.<locals>.get_current_value.<locals>.<genexpr>â   s   øè ø€ ÒG°CÑ*¨3×/ÑGùs   ƒz3AugAssign not supported for {type(target)} targets.)r/   r9   r~   Úgetr   Ú	Subscriptr6   r*   Úslicer€   Úgetattrr�   ÚTuplerp   Úeltsr   r   )r„   r2   ru   r‹   rB   rŒ   r@   rA   s       €€€€r   rŒ   z-evaluate_augassign.<locals>.get_current_value×   sö   ø€ Ü�fœcŸh™hÔ'Ø—9‘9˜VŸY™Y¨Ó*Ð*Ü˜¤§¡Ô.Ü˜vŸ|™|¨U°LÀ,ÓOˆCÜ˜vŸ|™|¨U°LÀ,ÓOˆCØ�s‘8ˆOÜ˜¤§¡Ô.Ü˜vŸ|™|¨U°LÀ,ÓOˆCÜ˜3 §¡Ó,Ð,Ü˜¤§	¡	Ô*ÜÓG¸6¿;¹;ÔGÓGÐGÜ˜¤§¡Ô)Ø6<·k±kÖB¨sÑ% cÕ*ÒBÐBä"Ð#XÓYÐYùò Cs   Ä/EzCannot add non-list value z to a list.z
Operation r5   )r„   r6   r*   r/   r8   r9   ÚAddr0   r   ÚSubÚMultÚDivÚModÚPowÚFloorDivÚBitAndÚBitOrÚBitXorÚLShiftÚRShiftro   r   Ú	set_value)r?   r@   rA   rB   Úcurrent_valueÚvalue_to_addÚupdated_valuerŒ   s    ```   @r   Úevaluate_augassignr¤   Õ   sú  û€ ÷Zñ" & j×&7Ñ&7Ó8€MÜ 
× 0Ñ 0°%¸À|ÓT€Lô �*—-‘-¤§¡Ô)Ü�m¤TÔ*Ü˜l¬DÔ1Ü&Ð)CÀLÀ>ÐQ\Ð']Ó^Ð^Ø)¨LÑ8ŠMà)¨LÑ8ŠMÜ	�J—M‘M¤3§7¡7Ô	+Ø%¨Ñ4ŠÜ	�J—M‘M¤3§8¡8Ô	,Ø%¨Ñ4ŠÜ	�J—M‘M¤3§7¡7Ô	+Ø%¨Ñ4ŠÜ	�J—M‘M¤3§7¡7Ô	+Ø%¨Ñ4ŠÜ	�J—M‘M¤3§7¡7Ô	+Ø% |Ñ3ŠÜ	�J—M‘M¤3§<¡<Ô	0Ø%¨Ñ5‰Ü	�J—M‘M¤3§:¡:Ô	.Ø%¨Ñ4‰Ü	�J—M‘M¤3§9¡9Ô	-Ø%¨Ñ4‰Ü	�J—M‘M¤3§:¡:Ô	.Ø%¨Ñ4‰Ü	�J—M‘M¤3§:¡:Ô	.Ø%¨Ñ5‰Ü	�J—M‘M¤3§:¡:Ô	.Ø%¨Ñ5‰ä ¬D°·±Ó,?×,HÑ,HÐ+IÐI[Ð\Ó]Ð]ô ˆj×Ñ °°|À\ÔRàÐr   c                 ó  — t        | j                  t        j                  «      r"| j                  D ]  }t        ||||«      rŒ y yt        | j                  t        j                  «      r"| j                  D ]  }t        ||||«      sŒ y yy ©NFT)r/   r8   r9   ÚAndrI   r6   ÚOr)rV   r@   rA   rB   r*   s        r   Úevaluate_boolopr©     s}   € Ü�$—'‘'œ3Ÿ7™7Ô#Ø—[‘[ò 	ˆEÜ  u¨l¸LÕIÙð	ð Ü	�D—G‘GœSŸV™VÔ	$Ø—[‘[ò 	ˆEÜ˜E 5¨,¸ÕEÙð	ð ð	 
%r   c                 ó’  — t        | j                  |||«      }t        | j                  |||«      }t        | j                  t
        j                  «      r||z   S t        | j                  t
        j                  «      r||z
  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                  «      r||z  S t        | j                  t
        j                   «      r||z  S t        | j                  t
        j"                  «      r||z	  S t%        dt'        | j                  «      j(                  › d�«      ‚)NzBinary operation z is not implemented.)r6   ÚleftÚrightr/   r8   r9   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   ÚNotImplementedErrorro   r   )Úbinopr@   rA   rB   Úleft_valÚ	right_vals         r   Úevaluate_binopr±     s­  € ä˜EŸJ™J¨¨|¸\ÓJ€HÜ˜UŸ[™[¨%°¸|ÓL€Iô �%—(‘(œCŸG™GÔ$Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸg™gÔ	&Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸh™hÔ	'Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸg™gÔ	&Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸg™gÔ	&Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸg™gÔ	&Ø˜Ñ"Ð"Ü	�E—H‘HœcŸl™lÔ	+Ø˜9Ñ$Ð$Ü	�E—H‘HœcŸj™jÔ	)Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸi™iÔ	(Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸj™jÔ	)Ø˜)Ñ#Ð#Ü	�E—H‘HœcŸj™jÔ	)Ø˜9Ñ$Ð$Ü	�E—H‘HœcŸj™jÔ	)Ø˜9Ñ$Ð$ä!Ð$5´d¸5¿8¹8³n×6MÑ6MÐ5NÐNbÐ"cÓdÐdr   c                 ó>  — t        | j                  |||«      }t        | j                  «      dk(  r | j                  d   }t	        |||||«       |S t        | j                  «      t        |«      k7  r.t        dt        |«      › dt        | j                  «      › d�«      ‚g }| j                  D ]?  }t        |t        j                  «      r|j                  |«       Œ/|j                  |«       ŒA t        | j                  |«      D ]  \  }}t	        |||||«       Œ |S )NrQ   r   zAssign failed: expected z values but got ú.)r6   r*   r\   r}   r    r   r/   r9   ÚStarredÚextendÚappendrG   )	Úassignr@   rA   rB   rh   r„   Úexpanded_valuesÚtgtÚvals	            r   Úevaluate_assignr»   A  s  € Ü˜&Ÿ,™,¨¨|¸\ÓJ€FÜ
ˆ6�>‰>Ó˜aÒØ—‘ Ñ"ˆÜ�&˜& %¨°|ÔDð €Mô ˆv�~‰~Ó¤# f£+Ò-Ü"Ð%=¼cÀ&»k¸]ÐJZÔ[^Ð_e×_mÑ_mÓ[nÐZoÐopÐ#qÓrÐrØˆØ—>‘>ò 	/ˆCÜ˜#œsŸ{™{Ô+Ø×&Ñ& vÕ.à×&Ñ& vÕ.ð		/ô
 ˜FŸN™N¨OÓ<ò 	C‰HˆC�Ü�c˜3  |°\ÕBð	Cà€Mr   c                 óX  — t        | t        j                  «      r7| j                  |v rt	        d| j                  › d�«      ‚||| j                  <   y t        | t        j
                  «      r¥t        |t        «      s9t        |d«      r"t        |t        t        f«      st        |«      }nt	        d«      ‚t        | j                  «      t        |«      k7  rt	        d«      ‚t        | j                  «      D ]  \  }}t        |||   |||«       Œ y t        | t        j                  «      r6t        | j                   |||«      }t        | j"                  |||«      }|||<   y t        | t        j$                  «      r0t        | j                   |||«      }t'        || j(                  |«       y y )NzCannot assign to name 'z,': doing this would erase the existing tool!r.   zCannot unpack non-tuple valuez!Cannot unpack tuple of wrong size)r/   r9   r~   r   r   r’   rp   r1   ÚstrÚbytesr\   r“   Ú	enumerater    r�   r6   r*   r�   r€   Úsetattrr�   )	r„   r*   r@   rA   rB   ÚiÚelemr2   ru   s	            r   r    r    T  sQ  € Ü�&œ#Ÿ(™(Ô#Ø�9‰9˜Ñ$Ü"Ð%<¸V¿Y¹Y¸KÐGsÐ#tÓuÐuØ ˆˆf�i‰iÒÜ	�FœCŸI™IÔ	&Ü˜%¤Ô'Ü�u˜jÔ)´*¸UÄSÌ%ÀLÔ2QÜ˜e›‘ä&Ð'FÓGÐGÜˆv�{‰{Óœs 5›zÒ)Ü"Ð#FÓGÐGÜ  §¡Ó-ò 	I‰GˆAˆtÜ�d˜E !™H e¨\¸<ÕHñ	Iä	�FœCŸM™MÔ	*Ü˜6Ÿ<™<¨°¸lÓKˆÜ˜6Ÿ<™<¨°¸lÓKˆØˆˆCŠÜ	�FœCŸM™MÔ	*Ü˜6Ÿ<™<¨°¸lÓKˆÜ��V—[‘[ %Õ(ð 
+r   c           
      óø  — t        | j                  t        j                  «      s=t        | j                  t        j                  «      st        d| j                  › d�«      ‚t        | j                  t        j                  «      rbt        | j                  j                  |||«      }| j                  j                  }t        ||«      st        d|› d|› �«      ‚t        ||«      }n�t        | j                  t        j                  «      ri| j                  j                  }||v r||   }nI||v r||   }n?||v r||   }n5|t        v r
t        |   }n#t        d| j                  j                  › d�«      ‚g }| j                  D ]a  }t        |t        j                  «      r(|j                  t        |j                  |||«      «       ŒE|j!                  t        ||||«      «       Œc g }| j                  D ]“  }t        |t        j                  «      rZt        |j                  |||«      }	t        |	d«      rt        |	t"        t$        f«      rt        d|	› �«      ‚|j                  |	«       Œw|j!                  t        ||||«      «       Œ• | j&                  D �
ci c]%  }
|
j(                  t        |
j                  |||«      “Œ' }}
t        t*        «      rXt-        |j.                  j1                  d«      «      d	kD  r1|j3                  |«      }t        |d
«      r |j4                  |i |¤Ž |S dk(  rŠ|s%d|v rd|v rt7        |d   |d   «      S t        d«      ‚|d   }t        |t*        «      st        d«      ‚t-        |«      d	k(  rt7        |«      S t-        |«      dk(  r|d	   }t7        ||«      S t        d«      ‚|dk(  r,dj9                  t;        t"        |«      «      }t<        |dz   z  ay  ||i |¤Ž}|S c c}
w )Nz This is not a correct function: z).zObject z has no attribute z€It is not permitted to evaluate other functions than the provided tools or functions defined in previous code (tried to execute r.   z!Cannot unpack non-iterable value r³   rQ   r,   Úsuperr>   r+   z#super() needs at least one argumentr   zsuper() argument 1 must be typer
   z!super() takes at most 2 argumentsÚprintú ú
)r/   Úfuncr9   r€   r~   r   r6   r*   r�   r1   r‘   r   ÚERRORSrL   r´   rµ   r¶   r½   r¾   ÚkeywordsrK   ro   r\   r   ÚsplitÚ__new__r,   rÄ   ÚjoinÚmapÚPRINT_OUTPUTS)Úcallr@   rA   rB   r2   Ú	func_namerÈ   rL   rK   ÚunpackedÚkeywordr`   ÚclsÚinstanceÚoutputs                  r   Úevaluate_callr×   l  s«  € Ü�t—y‘y¤#§-¡-Ô0´J¸t¿y¹yÌ#Ï(É(Ô4SÜÐ!AÀ$Ç)Á)ÀÈBÐOÓPÐPÜ�$—)‘)œSŸ]™]Ô+Ü˜4Ÿ9™9Ÿ?™?¨E°<ÀÓNˆØ—I‘I—N‘Nˆ	Ü�s˜IÔ&Ü" W¨S¨EÐ1CÀIÀ;Ð#OÓPÐPÜ�s˜IÓ&‰ä	�D—I‘IœsŸx™xÔ	(Ø—I‘I—L‘Lˆ	Ø˜ÑØ˜Ñ#‰DØ˜,Ñ&Ø 	Ñ*‰DØ˜,Ñ&Ø 	Ñ*‰DØœ&Ñ Ü˜)Ñ$‰Dä"ð Sð  TX÷  T]ñ  T]÷  T`ñ  T`ð  Sað  acð  dóð ð €DØ�y‰yò NˆÜ�cœ3Ÿ;™;Ô'Ø�K‰Kœ S§Y¡Y°°|À\ÓRÕSà�K‰Kœ S¨%°¸|ÓLÕMð	Nð €DØ�y‰yò NˆÜ�cœ3Ÿ;™;Ô'Ü# C§I¡I¨u°lÀLÓQˆHÜ˜8 ZÔ0´J¸xÌ#ÌuÈÔ4VÜ&Ð)JÈ8È*Ð'UÓVÐVØ�K‰K˜Õ!à�K‰Kœ S¨%°¸|ÓLÕMðNð jn×ivÑivÖwÐ^eˆg�k‰kœ<¨¯©°u¸lÈLÓYÑYÐw€FÐwä�$œÔ¤# d§o¡o×&;Ñ&;¸CÓ&@Ó"AÀAÒ"Eà�l‰l˜4Ó ˆÜ�3˜
Ô#ØˆC�L‰L˜$Ð) &Ò)Øˆ
à˜ÒÙØ %Ñ'¨F°e©OÜ   {Ñ!3°U¸6±]ÓCÐCä*Ð+PÓQÐQØ�q‘'ˆCÜ˜c¤4Ô(Ü&Ð'HÓIÐIÜ�4‹y˜AŠ~Ü˜S“zÐ!Ü�T“˜a’Ø ™7�Ü˜S (Ó+Ð+ä&Ð'JÓKÐKà˜GÒ#ØŸ™¤#¤c¨4£.Ó1�ä ¨$¡Ñ.�àá˜tÐ. vÑ.�Ø�ùòE xs   Ê*O7c                 óÀ  — t        | j                  |||«      }t        | j                  |||«      }t        |t        «      rt        |t        «      rt        d«      ‚t        |t        j                  j                  j                  «      r|j                  }|j                  |   S t        |t        j                  t        j                  t        j                  f«      r||   S t        |t        j                  j                   j"                  j$                  «      r||   S t        |t        «      r||   S t        |t&        t(        f«      rHt+        |«       |cxk  rt+        |«      k  sn t        d|› dt+        |«      › �«      ‚|t-        |«         S t        |t        «      r?t+        |«       |cxk  rt+        |«      k  sn t        d|› dt+        |«      › �«      ‚||   S ||v r||   S t        |t        «      rSt        |t.        «      rCt1        j2                  |t'        |j5                  «       «      «      }t+        |«      dkD  r||d      S t        d|› d|› d�«      ‚)	NzLYou're trying to subscript a string with a string index, which is impossiblezIndex z" out of bounds for list of length z$ out of bounds for string of length r   zCould not index z with 'z'.)r6   r�   r*   r/   r½   r   ÚpdÚcoreÚindexingÚ_LocIndexerr2   ÚlocÚ	DataFrameÚSeriesÚnpÚndarrayÚgroupbyÚgenericÚDataFrameGroupByr0   rp   r\   Úintr   ÚdifflibÚget_close_matchesÚkeys)Ú	subscriptr@   rA   rB   Úindexr*   Úparent_objectÚclose_matchess           r   Úevaluate_subscriptrí   »  sú  € Ü˜Ÿ™¨%°¸|ÓL€EÜ˜Ÿ™¨%°¸|ÓL€Eä�%œÔ¤*¨U´CÔ"8ÜÐmÓnÐnÜ�%œŸ™×)Ñ)×5Ñ5Ô6ØŸ	™	ˆØ× Ñ  Ñ'Ð'Ü�%œ"Ÿ,™,¬¯	©	´2·:±:Ð>Ô?Ø�U‰|ÐÜ	�Eœ2Ÿ7™7Ÿ?™?×2Ñ2×CÑCÔ	DØ�U‰|ÐÜ	�Eœ5Ô	!Ø�U‰|ÐÜ	�EœD¤%˜=Ô	)Ü�U“�˜uÔ1¤s¨5£zÔ1Ü" V¨E¨7Ð2TÔUXÐY^ÓU_ÐT`Ð#aÓbÐbØ”S˜“ZÑ Ð Ü	�Eœ3Ô	Ü�U“�˜uÔ1¤s¨5£zÔ1Ü" V¨E¨7Ð2VÔWZÐ[`ÓWaÐVbÐ#cÓdÐdØ�U‰|ÐØ	�%‰Ø�U‰|ÐÜ	�Eœ3Ô	¤J¨u´gÔ$>Ü×1Ñ1°%¼¸e¿j¹j»lÓ9KÓLˆÜˆ}Ó Ò!Ø˜ qÑ)Ñ*Ð*Ü
Ð-¨e¨W°G¸E¸7À"ÐEÓ
FÐFr   c                 óŒ  — | j                   |v r|| j                      S | j                   |v r|| j                      S | j                   t        v rt        | j                      S t        j                  | j                   t	        |j                  «       «      «      }t        |«      dkD  r||d      S t        d| j                   › d�«      ‚)Nr   zThe variable `z` is not defined.)r   rÉ   ræ   rç   r0   rè   r\   r   )re   r@   rA   rB   rì   s        r   Úevaluate_namerï   Û  s¨   € Ø‡w�w�%ÑØ�T—W‘W‰~ÐØ	�‰�LÑ	 Ø˜DŸG™GÑ$Ð$Ø	�‰”FÑ	Ü�d—g‘g‰ÐÜ×-Ñ-¨d¯g©g´t¸E¿J¹J»LÓ7IÓJ€MÜ
ˆ=Ó˜AÒØ�] 1Ñ%Ñ&Ð&Ü
˜^¨D¯G©G¨9Ð4EÐFÓ
GÐGr   c           	      ó®  — t        | j                  |||«      }| j                  D �cg c]  }t        ||||«      ‘Œ }}| j                  D �cg c]  }t	        |«      ‘Œ }}d}	|}
t        ||«      D �]'  \  }}|t        j                  k(  r|
|k(  }në|t        j                  k(  r|
|k7  }nÒ|t        j                  k(  r|
|k  }n¹|t        j                  k(  r|
|k  }n |t        j                  k(  r|
|kD  }n‡|t        j                  k(  r|
|k\  }nn|t        j                  k(  r|
|u }nV|t        j                  k(  r|
|u}n>|t        j                  k(  r|
|v }n&|t        j                   k(  r|
|v}nt#        d|› �«      ‚|	|z  }	|}
t%        |	t&        «      s�Œ$|	r�Œ( n t%        |	t&        t(        j*                  f«      r|	S |	j-                  «       S c c}w c c}w )NTzOperator not supported: )r6   r«   ÚcomparatorsÚopsro   rG   r9   ÚEqÚNotEqÚLtÚLtEÚGtÚGtEÚIsÚIsNotÚInÚNotInr   r/   ÚboolrÙ   rß   Úall)Ú	conditionr@   rA   rB   r«   Úcrñ   r8   rò   rh   Úcurrent_leftÚ
comparatorÚcurrent_results                r   Úevaluate_conditionr  è  s«  € Ü˜	Ÿ™¨¨|¸\ÓJ€DØOX×OdÑOdÖeÈ!”<  5¨,¸ÕEÐe€KÐeØ'Ÿm™mÖ
,˜Œ4��8Ð
,€CÐ
,à€FØ€Lä˜c ;Ó/ó ‰ˆˆJØ”—‘Š<Ø)¨ZÑ7‰NØ”3—9‘9Š_Ø)¨ZÑ7‰NØ”3—6‘6Š\Ø)¨JÑ6‰NØ”3—7‘7Š]Ø)¨ZÑ7‰NØ”3—6‘6Š\Ø)¨JÑ6‰NØ”3—7‘7Š]Ø)¨ZÑ7‰NØ”3—6‘6Š\Ø)¨ZÐ7‰NØ”3—9‘9Š_Ø)°Ð;‰NØ”3—6‘6Š\Ø)¨ZÐ7‰NØ”3—9‘9Š_Ø)°Ð;‰Nä"Ð%=¸b¸TÐ#BÓCÐCà˜.Ñ(ˆØ!ˆä�fœdÖ#«FÙð9ô<   ¬¬r¯y©yÐ(9Ô:ˆ6ÐLÀÇ
Á
ÃÐLùòI fùÚ
,s   §GÁGc                 óÒ   — d }t        | j                  |||«      }|r&| j                  D ]  }t        ||||«      }|€Œ|}Œ |S | j                  D ]  }t        ||||«      }|€Œ|}Œ |S r)   )r6   rR   rH   Úorelse)Úif_statementr@   rA   rB   rh   Útest_resultÚlineÚline_results           r   Úevaluate_ifr    s�   € Ø€FÜ˜|×0Ñ0°%¸À|ÓT€KÙØ ×%Ñ%ò 	%ˆDÜ& t¨U°LÀ,ÓOˆKØÑ&Ø$‘ð	%ð €Mð	 !×'Ñ'ò 	%ˆDÜ& t¨U°LÀ,ÓOˆKØÑ&Ø$‘ð	%ð €Mr   c                 óú   — d }t        | j                  |||«      }|D ]?  }t        | j                  ||||«       | j                  D ]  }	 t        ||||«      }|�|}Œ ŒA |S # t
        $ r Y   |S t        $ r Y Œ4w xY wr)   )r6   Úiterr    r„   rH   r!   r%   )	Úfor_loopr@   rA   rB   rh   ÚiteratorÚcounterrV   r
  s	            r   Úevaluate_forr  !  s©   € Ø€FÜ˜HŸM™M¨5°,ÀÓM€HØò ˆÜ�(—/‘/ 7¨E°<ÀÔNØ—M‘Mò 
	ˆDðÜ*¨4°¸ÀlÓS�ØÐ*Ø(�Føð	
	ð ðð €Møô "ò Ùð
 	Ø€Mô %ò Ùðús   Á	A!Á!	A:Á/A:Á9A:c                 óB   ‡ ‡‡‡— ˆˆˆ ˆfd„Š ‰‰ j                   d|«      S )Nc                 ó,  •‡	— |t        | «      k\  rt        ‰j                  |‰‰
«      gS | |   }t        |j                  |‰‰
«      }g }|D ]Æ  }|j	                  «       Š	t        |j                  t        j                  «      r:t        |j                  j                  «      D ]  \  }}||   ‰	|j                  <   Œ n|‰	|j                  j                  <   t        ˆ
ˆ	ˆfd„|j                  D «       «      sŒ«|j                   ‰| |dz   ‰	«      «       ŒÈ |S )Nc              3   ó:   •K  — | ]  }t        |‰‰‰«      –— Œ y ­wr)   ©r6   ©rŠ   Ú	if_clauserB   rJ   rA   s     €€€r   r�   z<evaluate_listcomp.<locals>.inner_evaluate.<locals>.<genexpr>C  s   øè ø€ ÒqÐV_”< 	¨9°lÀL×QÑqùó   ƒrQ   )r\   r6   r‹   r  rF   r/   r„   r9   r’   r¿   r“   r   rþ   Úifsrµ   )Ú
generatorsrê   Úcurrent_stateÚ	generatorÚ
iter_valuerh   r*   ÚidxrÂ   rJ   rB   Úinner_evaluateÚlistcomprA   s            @€€€€r   r  z)evaluate_listcomp.<locals>.inner_evaluate6  s   ù€ Ø”C˜
“OÒ#Ü  §¡¨}¸lÈLÓYÐZÐZØ˜uÑ%ˆ	Ü! )§.¡.°-ÀÈ|Ó\ˆ
ØˆØò 	PˆEØ%×*Ñ*Ó,ˆIÜ˜)×*Ñ*¬C¯I©IÔ6Ü!*¨9×+;Ñ+;×+@Ñ+@Ó!Aò 4‘I�C˜Ø).¨s©�I˜dŸg™gÒ&ñ4ð 27�	˜)×*Ñ*×-Ñ-Ñ.ÜÕqÐcl×cpÑcpÔqÕqØ—‘™n¨Z¸À¹ÀIÓNÕOð	Pð ˆr   r   )r  )r   r@   rA   rB   r  s   ` ``@r   Úevaluate_listcompr!  5  s   û€ ÷ñ" ˜(×-Ñ-¨q°%Ó8Ð8r   c                 óŠ  — 	 | j                   D ]  }t        ||||«       Œ 	 | j                  r | j                  D ]  }t        ||||«       Œ 	 | j                  r | j                  D ]  }t        ||||«       Œ y y # t        $ r�}d}| j                  D ]n  }|j
                  �#t        |t        |j
                  |||«      «      sŒ2d}|j                  r|||j                  <   |j                   D ]  }t        ||||«       Œ  n |s|‚Y d }~Œ¾d }~ww xY w# | j                  r | j                  D ]  }t        ||||«       Œ w w xY wr¦   )	rH   r6   r  Ú	ExceptionÚhandlersro   r/   re   Ú	finalbody)Útry_noder@   rA   rB   ri   rj   ÚmatchedÚhandlers           r   Úevaluate_tryr)  J  sb  € ðFØ—M‘Mò 	BˆDÜ˜˜u l°LÕAñ	Bð �?Š?Ø Ÿ™ò F�Ü˜T 5¨,¸ÕEñFð ×ÒØ ×*Ñ*ò F�Ü˜T 5¨,¸ÕEñFð øô# ò ØˆØ×(Ñ(ò 	ˆGØ�|‰|Ð#¤z°!´\À'Ç,Á,ÐPUÐWcÐeqÓ5rÕ'sØ�Ø—<’<Ø*+�E˜'Ÿ,™,Ñ'Ø#ŸL™Lò J�DÜ   u¨l¸LÕIðJáð	ñ ØˆGô ûðûð" ×ÒØ ×*Ñ*ò F�Ü˜T 5¨,¸ÕEñFð ús5   ‚A; ¢,D Á;	DÂ?DÃADÄD ÄDÄD Ä.Ec                 óÆ   — | j                   �t        | j                   |||«      }nd }| j                  �t        | j                  |||«      }nd }|�|�||‚|‚t        d«      ‚)Nz5Re-raise is not supported without an active exception)Úexcr6   Úcauser   )Ú
raise_noder@   rA   rB   r+  r,  s         r   Úevaluate_raiser.  d  sp   € Ø‡~�~Ð!Ü˜:Ÿ>™>¨5°,ÀÓM‰àˆØ×ÑÐ#Ü˜Z×-Ñ-¨u°lÀLÓQ‰àˆØ
€ØÐØ˜5Ð àˆIäÐVÓWÐWr   c                 óð   — t        | j                  |||«      }|s\| j                  r#t        | j                  |||«      }t        |«      ‚t	        j
                  | j                  «      }t        d|› �«      ‚y )NzAssertion failed: )r6   rR   ÚmsgÚAssertionErrorr9   Úunparse)Úassert_noder@   rA   rB   r  r0  Ú	test_codes          r   Úevaluate_assertr5  v  so   € Ü˜{×/Ñ/°¸ÀlÓS€KÙØ�?Š?Ü˜{Ÿ™°°|À\ÓRˆCÜ  Ó%Ð%ô Ÿ™ K×$4Ñ$4Ó5ˆIÜ Ð#5°i°[Ð!AÓBÐBð r   c                 ól  — g }| j                   D ]—  }t        |j                  |||«      }|j                  rP|j	                  «       ||j                  j
                  <   |j                  ||j                  j
                     «       Œw|j	                  «       }|j                  |«       Œ™ 	 | j                  D ]  }t        ||||«       Œ 	 t        |«      D ]  }	|	j                  d d d «       Œ y # t        $ r<}
t        |«      D ](  }	|	j                  t        |
«      |
|
j                  «       Œ* ‚ d }
~
ww xY wr)   )r]   r6   Úcontext_exprÚoptional_varsÚ	__enter__r   r¶   rH   ÚreversedÚ__exit__r#  ro   Ú__traceback__)Ú	with_noder@   rA   rB   ÚcontextsÚitemr7  Úcontext_varri   Úcontextrj   s              r   Úevaluate_withrB  ‚  s"  € Ø€HØ—‘ò )ˆÜ# D×$5Ñ$5°u¸lÈLÓYˆØ×ÒØ+7×+AÑ+AÓ+CˆE�$×$Ñ$×'Ñ'Ñ(Ø�O‰O˜E $×"4Ñ"4×"7Ñ"7Ñ8Õ9à&×0Ñ0Ó2ˆKØ�O‰O˜KÕ(ð)ð	/Ø—N‘Nò 	BˆDÜ˜˜u l°LÕAñ	Bô   Ó)ò 	/ˆGØ×Ñ˜T 4¨Õ.ñ	/øô ò Ü Ó)ò 	:ˆGØ×ÑœT !›W a¨¯©Õ9ð	:àûðús   Â*C. Ã.	D3Ã77D.Ä.D3c           	      óÄ  ‡— ˆfd„}t        | t        j                  «      rz| j                  D ]j  } ||j                  «      r3t        |j                  «      }|||j                  xs |j                  <   ŒHt        d|j                  › dt        ‰«      › �«      ‚ y t        | t        j                  «      r§ || j                  «      r|t        | j                  | j                  D �cg c]  }|j                  ‘Œ c}¬«      }| j                  D ]3  }t        ||j                  «      ||j                  xs |j                  <   Œ5 y t        d| j                  › d�«      ‚y c c}w )Nc                 óÆ   •— | j                  d«      }t        dt        |«      dz   «      D �cg c]  }dj                  |d | «      ‘Œ }}t	        ˆfd„|D «       «      S c c}w )Nr³   rQ   c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr)   r   )rŠ   ÚsubpathÚauthorized_importss     €r   r�   zBimport_modules.<locals>.check_module_authorized.<locals>.<genexpr>�  s   øè ø€ ÒP°W�7Ð0Ô0ÑPùs   ƒ)rË   Úranger\   rÍ   Úany)Úmodule_nameÚmodule_pathrÁ   Úmodule_subpathsrG  s       €r   Úcheck_module_authorizedz/import_modules.<locals>.check_module_authorizedš  s^   ø€ Ø!×'Ñ'¨Ó,ˆÜ>CÀAÄsÈ;ÓGWÐZ[ÑG[Ó>\Ö]¸˜3Ÿ8™8 K°° OÕ4Ð]ˆÐ]ÜÓPÀÔPÓPÐPùò ^s   ­Az
Import of z) is not allowed. Authorized imports are: )ÚfromlistzImport from z is not allowed.)r/   r9   ÚImportÚnamesre   r   Úasnamer   r½   Ú
ImportFromÚmoduleÚ
__import__r‘   )r?   r@   rG  rM  ÚaliasrS  s     `   r   Úimport_modulesrV  ™  s6  ø€ ôQô
 �*œcŸj™jÔ)Ø×%Ñ%ò 	ˆEÙ& u§z¡zÔ2Ü& u§z¡zÓ2�Ø4:��e—l‘lÒ0 e§j¡jÒ1ä&Ø  §¡ Ð,UÔVYÐZlÓVmÐUnÐoóð ð	ð Ü	�J¤§¡Ô	/Ù" :×#4Ñ#4Ô5Ü 
× 1Ñ 1ÐU_×UeÑUeÖ<fÈE¸U¿Z»ZÒ<fÔgˆFØ#×)Ñ)ò P�Ü4;¸FÀEÇJÁJÓ4O��e—l‘lÒ0 e§j¡jÒ1ðPð ô # \°*×2CÑ2CÐ1DÐDTÐ#UÓVÐVð 
0ùâ<fs   Ã%E
c           	      ón  ‡‡‡
— i }| j                   D ]   }t        |j                  |‰‰«      }|D ]�  }|j                  «       Š
t	        |j
                  |‰
‰‰«       t        ˆˆ
ˆfd„|j                  D «       «      sŒMt        | j                  ‰
‰‰«      }t        | j                  ‰
‰‰«      }	|	||<   Œƒ Œ¢ |S )Nc              3   ó:   •K  — | ]  }t        |‰‰‰«      –— Œ y ­wr)   r  r  s     €€€r   r�   z$evaluate_dictcomp.<locals>.<genexpr>º  s   øè ø€ ÒkÐV_”< 	¨9°lÀL×QÑkùr  )
r  r6   r  rF   r    r„   rþ   r  ru   r*   )Údictcompr@   rA   rB   rh   Úgenr  r*   ru   rº   rJ   s     ``      @r   Úevaluate_dictcompr[  ³  s¬   ú€ Ø€FØ×"Ñ"ò "ˆÜ! #§(¡(¨E°<ÀÓNˆ
Øò 	"ˆEØŸ
™
›ˆIÜ�c—j‘j %¨°LÀ,ÔOÜÕkÐcf×cjÑcjÔkÕkÜ" 8§<¡<°¸LÈ,ÓW�Ü" 8§>¡>°9¸lÈLÓY�Ø!��s’ñ	"ð"ð €Mr   r?   r@   rA   rB   rG  c                 ó°  ‡‡‡— t         t        k\  rt        dt        › d�«      ‚t         dz  a t        | t        j
                  «      rt        | ‰‰‰«      S t        | t        j                  «      rt        | ‰‰‰«      S t        | t        j                  «      rt        | ‰‰‰«      S t        | t        j                  «      r| j                  S t        | t        j                  «      r t        ˆˆˆfd„| j                  D «       «      S t        | t        j                   t        j"                  f«      rt%        | ‰‰‰«      S t        | t        j&                  «      rt)        | ‰‰‰«      S t        | t        j*                  «      rt-        | j                  ‰‰‰«      S t        | t        j.                  «      rt1        | ‰‰‰«      S t        | t        j2                  «      r
t5        «       ‚t        | t        j6                  «      r
t9        «       ‚t        | t        j:                  «      rt=        | ‰‰‰«      S t        | t        j>                  «      rtA        | ‰‰‰«      S t        | t        jB                  «      rtE        | ‰‰‰«      S t        | t        jF                  «      rtI        | ‰‰‰«      S t        | t        jJ                  «      r_| jL                  D �cg c]  }t-        |‰‰‰«      ‘Œ }}| jN                  D �cg c]  }t-        |‰‰‰«      ‘Œ }}tQ        tS        ||«      «      S t        | t        jT                  «      rt-        | j                  ‰‰‰«      S t        | t        jV                  «      rtY        | ‰‰‰«      S t        | t        jZ                  «      rt-        | j                  ‰‰‰«      S t        | t        j\                  «      rt_        | ‰‰‰«      S ta        t        d«      r2t        | t        jb                  «      rt-        | j                  ‰‰‰«      S t        | t        jd                  «      r>djg                  | jN                  D �cg c]  }ti        t-        |‰‰‰«      «      ‘Œ c}«      S t        | t        jj                  «      r&| j                  D �	cg c]  }	t-        |	‰‰‰«      ‘Œ c}	S t        | t        jl                  «      rto        | ‰‰‰«      S t        | t        jp                  «      rts        | ‰‰‰«      S t        | t        jt                  «      rJt-        | jv                  ‰‰‰«      }
|
rt-        | jx                  ‰‰‰«      S t-        | jz                  ‰‰‰«      S t        | t        j|                  «      r.t-        | j                  ‰‰‰«      }t        || j€                  «      S t        | t        j‚                  «      r}t…        | j†                  �t-        | j†                  ‰‰‰«      nd| jˆ                  �t-        | jˆ                  ‰‰‰«      nd| jŠ                  �t-        | jŠ                  ‰‰‰«      «      S d«      S t        | t        jŒ                  «      rt�        | ‰‰‰«      S t        | t        j�                  «      rt“        | ‰‰‰«      S t        | t        j”                  t        j–                  f«      rt™        | ‰|«      S t        | t        jš                  «      rt�        | ‰‰‰«      S t        | t        jž                  «      rt¡        | ‰‰‰«      S t        | t        j¢                  «      rt¥        | ‰‰‰«      S t        | t        j¦                  «      rt©        | ‰‰‰«      S t        | t        jª                  «      rt­        | ‰‰‰«      S t        | t        j®                  «      r&| j                  D �	ch c]  }	t-        |	‰‰‰«      ’Œ c}	S t        | t        j°                  «      r3t³        | j                  rt-        | j                  ‰‰‰«      «      ‚d«      ‚t        | j´                  j¶                  › d�«      ‚c c}w c c}w c c}w c c}	w c c}	w )	a   
    Evaluate an abstract syntax tree using the content of the variables stored in a state and only evaluating a given
    set of functions.

    This function will recurse through the nodes of the tree provided.

    Args:
        expression (`ast.AST`):
            The code to evaluate, as an abstract syntax tree.
        state (`Dict[str, Any]`):
            A dictionary mapping variable names to values. The `state` is updated if need be when the evaluation
            encounters assignments.
        static_tools (`Dict[str, Callable]`):
            Functions that may be called during the evaluation. Trying to change one of these static_tools will raise an error.
        custom_tools (`Dict[str, Callable]`):
            Functions that may be called during the evaluation. These static_tools can be overwritten.
        authorized_imports (`List[str]`):
            The list of modules that can be imported by the code. By default, only a few safe modules are allowed.
            Add more at your own risk!
    z(Reached the max number of operations of ze. Maybe there is an infinite loop somewhere in the code, or you're just asking too many calculations.rQ   c              3   ó:   •K  — | ]  }t        |‰‰‰«      –— Œ y ­wr)   r  )rŠ   r‹   rB   r@   rA   s     €€€r   r�   zevaluate_ast.<locals>.<genexpr>ï  s   øè ø€ ÒeÈc”\ # u¨l¸L×IÑeùr  ÚIndexr   Nr5   )\ÚOPERATIONS_COUNTÚMAX_OPERATIONSr   r/   r9   r|   r»   Ú	AugAssignr¤   ÚCallr×   ÚConstantr*   r’   rp   r“   ÚListCompÚGeneratorExpr!  ÚUnaryOprC   r´   r6   ÚBoolOpr©   ÚBreakr!   ÚContinuer%   ÚBinOpr±   ÚComparer  ÚLambdarO   r{   rx   r   rè   rI   r[   rG   ÚExprÚForr  ÚFormattedValueÚIfr  r1   r^  Ú	JoinedStrrÍ   r½   r   r~   rï   r�   rí   ÚIfExprR   rH   r  r€   r‘   r�   ÚSlicer�   ÚlowerÚupperÚstepÚDictCompr[  ÚWhilerW   rO  rR  rV  ÚClassDefr†   ÚTryr)  ÚRaiser.  ÚAssertr5  ÚWithrB  ÚSetÚReturnr'   r>   r   )r?   r@   rA   rB   rG  Úkrè   ÚvrI   r‹   Útest_valr*   s    ```        r   r6   r6   Á  s¬  ú€ ô8 œ>Ò)ÜØ6´~Ð6Fð  Glð  mó
ð 	
ô ˜ÑÐÜ�*œcŸj™jÔ)ô ˜z¨5°,ÀÓMÐMÜ	�J¤§¡Ô	.Ü! *¨e°\À<ÓPÐPÜ	�J¤§¡Ô	)ä˜Z¨°¸lÓKÐKÜ	�J¤§¡Ô	-à×ÑÐÜ	�J¤§	¡	Ô	*ÜÕeÐU_×UdÑUdÔeÓeÐeÜ	�J¤§¡¬s×/?Ñ/?Ð @Ô	AÜ  ¨U°LÀ,ÓOÐOÜ	�J¤§¡Ô	,Ü 
¨E°<ÀÓNÐNÜ	�J¤§¡Ô	,Ü˜J×,Ñ,¨e°\À<ÓPÐPÜ	�J¤§
¡
Ô	+ä˜z¨5°,ÀÓMÐMÜ	�J¤§	¡	Ô	*ÜÓÐÜ	�J¤§¡Ô	-ÜÓ!Ð!Ü	�J¤§	¡	Ô	*ä˜j¨%°¸|ÓLÐLÜ	�J¤§¡Ô	,ä! *¨e°\À<ÓPÐPÜ	�J¤§
¡
Ô	+Ü˜z¨5°,ÀÓMÐMÜ	�J¤§¡Ô	0Ü$ Z°¸ÀlÓSÐSÜ	�J¤§¡Ô	)àLVÏOÉOÖ\Àq”˜Q  |°\ÕBÐ\ˆÐ\ØNX×N_ÑN_Ö`È”,˜q %¨°|ÕDÐ`ˆÐ`Ü”C˜˜fÓ%Ó&Ð&Ü	�J¤§¡Ô	)ä˜J×,Ñ,¨e°\À<ÓPÐPÜ	�J¤§¡Ô	(ä˜J¨¨|¸\ÓJÐJÜ	�J¤× 2Ñ 2Ô	3ä˜J×,Ñ,¨e°\À<ÓPÐPÜ	�J¤§¡Ô	'ä˜: u¨l¸LÓIÐIÜ	”�gÔ	¤:¨j¼#¿)¹)Ô#DÜ˜J×,Ñ,¨e°\À<ÓPÐPÜ	�J¤§¡Ô	.Ø�w‰wÐYc×YjÑYjÖkÐTUœœL¨¨E°<ÀÓNÕOÒkÓlÐlÜ	�J¤§¡Ô	)àPZ×P_ÑP_Ö`È”˜S %¨°|ÕDÒ`Ð`Ü	�J¤§¡Ô	)ä˜Z¨°¸lÓKÐKÜ	�J¤§¡Ô	.ä! *¨e°\À<ÓPÐPÜ	�J¤§	¡	Ô	*Ü 
§¡°¸ÀlÓSˆÙÜ 
§¡°¸ÀlÓSÐSä 
× 1Ñ 1°5¸,ÈÓUÐUÜ	�J¤§¡Ô	.Ü˜Z×-Ñ-¨u°lÀLÓQˆÜ�u˜jŸo™oÓ.Ð.Ü	�J¤§	¡	Ô	*Üà×ÑÐ+ô ˜×)Ñ)¨5°,ÀÔMàà×ÑÐ+ô ˜×)Ñ)¨5°,ÀÔMàØPZ×P_ÑP_ÐPkŒL˜Ÿ™¨%°¸|ÓLó
ð 	
ð rvó
ð 	
ô 
�J¤§¡Ô	-Ü  ¨U°LÀ,ÓOÐOÜ	�J¤§	¡	Ô	*Ü˜j¨%°¸|ÓLÐLÜ	�J¤§¡¬S¯^©^Ð <Ô	=Ü˜j¨%Ð1CÓDÐDÜ	�J¤§¡Ô	-Ü! *¨e°\À<ÓPÐPÜ	�J¤§¡Ô	(Ü˜J¨¨|¸\ÓJÐJÜ	�J¤§	¡	Ô	*Ü˜j¨%°¸|ÓLÐLÜ	�J¤§
¡
Ô	+Ü˜z¨5°,ÀÓMÐMÜ	�J¤§¡Ô	)Ü˜Z¨°¸lÓKÐKÜ	�J¤§¡Ô	(ØPZ×P_ÑP_Ö`È”˜S %¨°|ÕDÒ`Ð`Ü	�J¤§
¡
Ô	+ÜØQ[×QaÒQaŒL˜×)Ñ)¨5°,ÀÓMó
ð 	
Øgkó
ð 	
ô
  *×"6Ñ"6×"?Ñ"?Ð!@Ð@RÐSÓTÐTùòO ]ùÚ`ùò" lùò aùòV as   Ë`?Ë4aÑ	a	ÒaÞ8aÚprint_outputsÚmax_len_outputsÚreturnc                 ó:   — t        | «      |k  r| S d| d | › d|› d�S )NzPrint outputs:
z6
_Print outputs have been truncated over the limit of z characters._
)r\   )rƒ  r„  s     r   Útruncate_print_outputsr‡  S  sI   € Ü
ˆ=Ó˜OÒ+ØÐà! -Ð0@°Ð"AÐ!BÐByð  {Jð  zKð  KZð  [ð  	[r   Úcodec                 ó¦  — 	 t        j                  | «      }|€i }|€i }|€i }d}dada	 |j
                  D ]  }t        |||||«      }Œ t        t        t        ¬«      |d<   |S # t        $ r}t        d|› �«      ‚d}~ww xY w# t        $ rD}t        t        t        ¬«      }	|	dt        j                  | «      › d|› �z  }	t        |	«      ‚d}~ww xY w)	a  
    Evaluate a python expression using the content of the variables stored in a state and only evaluating a given set
    of functions.

    This function will recurse through the nodes of the tree provided.

    Args:
        code (`str`):
            The code to evaluate.
        static_tools (`Dict[str, Callable]`):
            The functions that may be called during the evaluation.
            These tools cannot be overwritten in the code: any assignment to their name will raise an error.
        custom_tools (`Dict[str, Callable]`):
            The functions that may be called during the evaluation.
            These tools can be overwritten in the code: any assignment to their name will overwrite them.
        state (`Dict[str, Any]`):
            A dictionary mapping variable names to values. The `state` should contain the initial inputs but will be
            updated by this function to contain all variables as they are evaluated.
            The print outputs will be stored in the state under the key 'print_outputs'.
    z.The code generated by the agent is not valid.
Nr   r   )r„  rƒ  z.EXECUTION FAILED:
Evaluation stopped at line 'z"' because of the following error:
)r9   ÚparseÚSyntaxErrorrÏ   r_  rH   r6   r‡  ÚMAX_LEN_OUTPUTr   Úget_source_segment)
rˆ  rA   rB   r@   rG  r?   rj   rh   rV   r0  s
             r   Úevaluate_python_coderŽ  Z  s  € ð6QÜ—Y‘Y˜t“_ˆ
ð €}ØˆØÐØˆØÐØˆØ€Fà€MàÐð$Ø—O‘Oò 	_ˆDÜ! $¨¨|¸\ÐK]Ó^‰Fð	_ä!7¼ÔWeÔ!fˆˆoÑØˆøô# ò QÜÐKÈAÈ3ÐOÓPÐPûðQûô$ ò $Ü$¤]ÄNÔSˆØÐ@Ä×AWÑAWÐX\Ð^bÓAcÐ@dð  eHð  IJð  HKð  Lñ  	LˆÜ˜sÓ#Ð#ûð$ús.   ‚A$ ª9B Á$	B Á-A;Á;B Â	CÂ?CÃC)Er9   Úbuiltinsræ   Úcollections.abcr   Ú	importlibr   Útypingr   r   r   r   r	   Únumpyrà   Úutilsr   ÚpandasrÙ   Ú
ValueErrorr   Údirr/   r‘   ro   Ú
issubclassÚBaseExceptionrÉ   ÚLIST_SAFE_MODULESrÏ   rŒ  r_  r`  r#  r!   r%   r'   r3   rC   rO   rW   rm   rv   rx   r†   r¤   r©   r±   r»   r    r×   rí   rï   r  r  r  r!  r)  r.  r5  rB  rV  r[  ÚASTr½   r6   rå   r‡  rŽ  )re   s   0r   ú<module>rœ     s[  ðó" Û Û Ý #Ý #ß 6Õ 6ã å 'ñ ÔÛô	�zô 	ñ �H“ö
àÙ‘'˜( DÓ)¨4Ô0±ZÁÈÐRVÓ@WÐYfÔ5gð 	‰'�(˜DÓ
!Ñ!ò
€òÐ ð !*Ñ €ˆ~Ø#.Ñ  Ð �.ô	�Yô 	ô	˜	ô 	ô�iô ò
9òhò	òò"-ò`<ò'ò
ò,:òz
òeòDò&)ò0Lò^Gò@
Hò&MòRò ò(9ò*Fò4Xò$	Cò/ò.ò4ð& %6ñOUØ—‘ðOUà��S�‰>ðOUð �s˜H�}Ñ%ðOUð �s˜H�}Ñ%ð	OUð
 ˜S™	óOUðd GUñ [¨#ð [Àð [ÐY\ó [ð 37Ø26Ø&*Ø$5ñ2$Ø
ð2$à˜4  X Ñ.Ñ/ð2$ð ˜4  X Ñ.Ñ/ð2$ð �D˜˜c˜‘NÑ#ð	2$ð
 ˜S™	ô2$ùòa
s   Á1E)