ó
j$ËZc           @   s6   d  e  f d     YZ i  Z d e  f d     YZ d S(   t   Objectc           B   s2   e  Z d  Z d Z g  Z d   Z d Z d   Z RS(   sI   
    Our own base class. Contains methods to simplify serialization.
    i    c         C   sM   t  |   j   } x' |  j D] } | | k r | | =q q W|  j | d <| S(   Nt   __version__(   t   varst   copyt   nosaveR   (   t   selft   rvt   f(    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyt   __getstate__    s    c         C   s[   | j  d d  } |  j j |  | |  j k rA |  j |  n  |  j rW |  j   n  d  S(   NR   i    (   t   popt   __dict__t   updateR   t   after_upgradet   after_setstate(   R   t   new_dictt   version(    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyt   __setstate__.   s    	N(	   t   __name__t
   __module__t   __doc__R   R   R   t   NoneR   R   (    (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyR       s   	t   Sentinelc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s   
    This is used to represent a sentinel object. There will be exactly one
    sentinel object with a name existing in the system at any time.
    c         C   sA   t  j | d   } | d  k r= t j |  |  } | t  | <n  | S(   N(   t	   sentinelst   getR   t   objectt   __new__(   t   clst   nameR   (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyR   F   s
    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyt   __init__O   s    c         C   s   t  |  j f f S(   N(   R   R   (   R   (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyt
   __reduce__R   s    (   R   R   R   R   R   R   (    (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyR   @   s   			N(   R   R    R   R   (    (    (    s4   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\object.pyt   <module>   s   &