JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf @sgdZddlmZddlmZmZmZmZmZm Z m Z Gdddej Z dS)zFixer for sys.exc_{type, value, traceback} sys.exc_type -> sys.exc_info()[0] sys.exc_value -> sys.exc_info()[1] sys.exc_traceback -> sys.exc_info()[2] ) fixer_base)AttrCallNameNumber SubscriptNodesymsc@sQeZdZdddgZdZddjddeDZd d Zd S) FixSysExcexc_type exc_value exc_tracebackTzN power< 'sys' trailer< dot='.' attribute=(%s) > > |ccs|]}d|VqdS)z'%s'N).0err>/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_sys_exc.py szFixSysExc.cCs|dd}t|jj|j}ttdd|j}ttd|}|dj|djd_|j t |t t j |d|jS)NZ attributeexc_infoprefixsysdot)rrindexvaluerrrrZchildrenappendrrr Zpower)selfZnodeZresultsZsys_attrrZcallattrrrr transformszFixSysExc.transformN)__name__ __module__ __qualname__rZ BM_compatiblejoinZPATTERNrrrrrr s  r N) __doc__rZ fixer_utilrrrrrrr ZBaseFixr rrrrs4