-ν
57ύFc       sN    d  Z    d k Z  d k Z 	 d k Z 
 d k Z  d k Z  d k Z  d k Z  d k Z	  d k
 Z	  d k Z  e a  e i   o@  e	 i i e	 i i  e _  e	 i i e	 i i  e _ n ! d   Z = d   Z R d   Z W d   Z p d   Z v d   Z | d d	  Z  d
 f  d     YZ d S(   s~   Bootstrap for embedded python functionality.

This provides the base stuff that the embedded Python implementation
relies on.
Nc    sτ   ! % ' h  } ( d } ) y * t |  d  } + | i d  } , | t i   j o - t	 d  n . | i d  } / t
 i |  } 0 t | | |  Wn  4 5 t i   6 d } n X8 | i   9 | d j o : t d  n d S(   sΘ   Execute a precompiled python script in its own namespace.  The name
    space will disappear after execution, so in theory any vars created
    will die rather than live in __main__ (by default).
    i    s   ri   s   not a pyc filei   s,   Encountered exception during embedded scriptN(   s   mylocalss   haderrors   opens   fnames   fs   reads   magics   imps	   get_magics	   TypeErrors   marshals   loads   codeobjs   evals	   tracebacks	   print_excs   clears   RuntimeError(   s   fnames   magics   fs   codeobjs   mylocalss   haderror(    (    s   __init__.pys   runpyc! s"   		c    s   = A C h  } D d } E y F t |  | |  Wn  H I t i   J d } n XL | i   N | d j o O t d  n d S(   sΤ   Runs a python script in its own namespace.  The namespace will 
    go away after execution, so in theory any vars created will die after
    the script is finished rather than live in __main__ (by default).
    i    i   s,   Encountered exception during embedded scriptN(   s   mylocalss   haderrors   execfiles   fnames	   tracebacks	   print_excs   clears   RuntimeError(   s   fnames   haderrors   mylocals(    (    s   __init__.pys   runpy= s   		c    s   R S T |  a d  S(   N(   s   clss
   _confclass(   s   cls(    (    s   __init__.pys   setconfclassR s   c    s`   W b d f h  } g t |  | |  i t t j o j t i   n l t a m | i   d S(   sC  Runs a python script in its own namespace similar to runpy() func.
    The difference is that it calls _finalize() on the specified config 
    class instance.  This is done in order to provide a mechanism for 
    multiple instances of a config class to override values with the last
    one taking precednece (local configuration).
    
    During execution, the script is expected to specify
    a class instance by calling setconfclass().  This is done in 
    Configuration.Config.__init__().  So deriving from this class will
    automatically handle this requirement.
    N(   s   mylocalss   execfiles   fnames
   _confclasss   Nones	   _finalizes   clear(   s   fnames   mylocals(    (    s   __init__.pys	   runconfpyW s   		c    s   p r s t  i |   Sd S(   sw   Calculate the crc32 of a file in the same manner as the STAR XL client.
       Should also be compatible with GNU cksumN(   s   _twcs   crc32s   fname(   s   fname(    (    s   __init__.pys   crc32p s   c    s'   v w x t  i |  =y t i |   d S(   s3   Remove an environment variable from the environmentN(   s   oss   environs   varNames   _twcs   unsetenv(   s   varName(    (    s   __init__.pys   unsetenvv s   s   UTC0c    s   |   t  i |  |  Sd S(   sΆ   Like time.mktime but lets you specify the timezone.
       Use the same timezone strings that you would when using C 
       date library functions and the TZ environ. variable.
    N(   s   _twcs   tzmktimes   times   tz(   s   times   tz(    (    s   __init__.pys   tzmktime| s   s   ObjectWrapperc      s&    d  Z    d   Z  d   Z RS(   s+  Abstract base class of all classes that have an embedded partener.

    The inherited destructor frees the embedded mapping between its
    PyObject and the C++ object.  Constructors for any class derived
    from this should call a corresponding creation intrinsic that adds
    a new mapping.
    c    s     t  d |  i  d  S(   Ns   Instantiated abstract class: (   s   RuntimeErrors   selfs   __name__(   s   self(    (    s   __init__.pys   __init__ s   c    s     t  i |   d  S(   N(   s   _twcs   removeObjects   self(   s   self(    (    s   __init__.pys   __del__ s   (   s   __doc__s   __init__s   __del__(    (    (    s   __init__.pys   ObjectWrapper s   	(   s   __doc__s   _twcs   codes   imps   marshals   oss   strings   syss   twccommon.IOCatchers	   twccommons   twccommon.Logs	   tracebacks   Nones
   _confclasss   outputRedirs	   IOCatchers   IOLoggers   Logs   errors   stderrs   infos   stdouts   runpycs   runpys   setconfclasss	   runconfpys   crc32s   unsetenvs   tzmktimes   ObjectWrapper(   s   runpys   codes   strings   runpycs   unsetenvs   tzmktimes	   tracebacks   setconfclasss   syss   imps   _twcs	   twccommons   ObjectWrappers   crc32s   oss   marshals	   runconfpy(    (    s   __init__.pys   ? s,   	"