��
���Lc@s�dZdgZddkZgZd�Zd�Zeed�oeei�nee_edjoVd�Z d �Z
dd
�Zee �ee
d�eedd
�eed�ndS(s�
atexit.py - allow programmer to define multiple exit functions to be executed
upon normal program termination.
One public function, register, is defined.
tregisteri����NcCs�d}x�to�ti�\}}}y|||�Wq tj
oti�}q ddk}tidIJ|i�ti�}q Xq W|dj o|d|d|d�ndS(s�run any registered exit functions
_exithandlers is traversed in reverse order so functions are executed
last in, first out.
i����NsError in atexit._run_exitfuncs:iii( tNonet
_exithandlerstpopt
SystemExittsystexc_infot tracebacktstderrt print_exc(RtfuncttargstkargsR((s/usr/lib/python2.6/atexit.pyt_run_exitfuncs
s
cOsti|||f�|S(sregister a function to be executed upon normal program termination
func - function to be called at exit
targs - optional arguments to pass to func
kargs - optional keyword arguments to pass to func
func is returned to facilitate usage as a decorator.
(Rtappend(R
RR((s/usr/lib/python2.6/atexit.pyR%s texitfunct__main__cCs dGHdS(Ns
running x1((((s/usr/lib/python2.6/atexit.pytx17scCsd|fGHdS(Nsrunning x2(%r)((tn((s/usr/lib/python2.6/atexit.pytx29scCsd||fGHdS(Nsrunning x3(%r, kwd=%r)((Rtkwd((s/usr/lib/python2.6/atexit.pytx3;siitbarsno kwd args(
t__doc__t__all__RRR
RthasattrRt__name__RRRR(((s/usr/lib/python2.6/atexit.pyt<module>s