VccsldZddlmZddlmZmZmZmZmZm Z m Z m Z m Z m Z GddejZdS)zoFixer for execfile. This converts usages of the execfile function into calls to the built-in exec() function. i) fixer_base) CommaNameCallLParenRParenDotNodeArgListStringsymscseZdZdZdZdZdS) FixExecfileTz power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > > | power< 'execfile' trailer< '(' filename=any ')' > > csh|d}|d}|d}|jdjd}t|t t ddg|}t tjtd|g}t tj ttd gt tj ttgg} |g| z} |} d| _t d d} | t | t | gz} ttd | d }|g}|5|t |g|5|t |gttd ||jS)Nfilenameglobalslocalsiz"rb"z )ZrparenZopenreadz'exec'ZcompileZexec)prefix)ZgetZchildrenZclonerrr rr ZpowerrZtrailerrrrrrZextend)ZselfZnodeZresultsr r rZexecfile_parenZ open_argsZ open_callrZ open_exprZ filename_argZexec_strZ compile_argsZ compile_callZargss 3/usr/lib64/python3.11/lib2to3/fixes/fix_execfile.py transformzFixExecfile.transforms:&++i((X&&r*3B7==??X^^--uwwvs8K8KL#1333 d6llI%>?? T\CEE4<<#899T\FHHfhh#788:K$&  ~~'' ! (C(( EGG\577H#MM DOO\2>> ~  4 KK'--//2 3 3 3  3 KK&,,..1 2 2 2DLL$t{;;;;N)Z__name__Z __module__Z __qualname__Z BM_compatibleZPATTERNrrrr r s/MG <<<<rs 111111111111111111111111&<&<&<&<&<*$&<&<&<&<&