a 8źdgÓć@s:dZddlmZddlmZmZmZGdd„dejƒZdS)z•Fixer for exec. This converts usages of the exec statement into calls to a built-in exec() function. exec code in ns1, ns2 -> exec(code, ns1, ns2) é)Ś fixer_base)ŚCommaŚNameŚCallc@seZdZdZdZdd„ZdS)ŚFixExecTzx exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > cCsŠ|sJ‚|j}|d}| d”}| d”}| ”g}d|d_|durZ| tƒ| ”g”|durv| tƒ| ”g”ttdƒ||jdS)NŚaŚbŚcŚéŚexec)Śprefix)ŚsymsŚgetZcloner Śextendrrr)ŚselfZnodeŚresultsrrrr Śargs©rś2/usr/local/lib/python3.9/lib2to3/fixes/fix_exec.pyŚ transforms    zFixExec.transformN)Ś__name__Ś __module__Ś __qualname__Z BM_compatibleZPATTERNrrrrrrsrN) Ś__doc__r rZ fixer_utilrrrZBaseFixrrrrrŚs