ó
Þ‡GTc           @   sn  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z d  d l m Z d e	 f d „  ƒ  YZ
 e
 e j _
 e
 ƒ  e j _ d „  Z i  Z d „  Z d „  Z d	 „  Z i  Z d
 „  Z d „  Z d „  Z e d e ƒ e d e ƒ e d e ƒ e d e ƒ d „  Z d a d „  Z e d „ Z d „  Z d e	 f d „  ƒ  YZ d „  Z e e j _ e e j _ d S(   iÿÿÿÿN(   t   dumpt   loads(   t   dumpst
   Persistentc           B   sA   e  Z d  „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z RS(   c         C   s   |  j  ƒ  d  S(   N(   t   _update(   t   self(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   __init__"   s    c         C   s   t  |  ƒ j | ƒ d  S(   N(   t   varst   update(   R   t   data(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   __setstate__%   s    c         C   s
   t  |  ƒ S(   N(   R   (   R   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   __getstate__(   s    c         C   s   d  S(   N(   t   None(   R   t   attr(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   __getattr__,   s    c         C   s   t  |  j ƒ } x. | D]& } | d d k r2 q n  |  j | =q W| r} |  j j ƒ  |  j j ƒ  |  j j ƒ  |  j j ƒ  n  d  S(   Ni    t   _(   t   listt   __dict__t
   _seen_evert   cleart   _seen_imagest   _chosent   _seen_audio(   R   t   progresst   keyst   i(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   _clear/   s    	c         C   s¯   |  j  d  k r$ t j j ƒ  |  _  n  |  j s9 i  |  _ n  |  j sN i  |  _ n  |  j sc i  |  _ n  |  j sx i  |  _ n  |  j	 s t
 ƒ  |  _	 n  |  j d  k r« i  |  _ n  d  S(   N(   t   _preferencesR   t   renpyt   preferencest   PreferencesR   R   R   R   t   _seen_translatest   sett   _changed(   R   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR   F   s    					(	   t   __name__t
   __module__R   R
   R   R   t   FalseR   R   (    (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR       s   				c         C   sG   t  j |  ƒ } |  | k sC t j j r: t d |  ƒ ‚ qC |  } n  | S(   Ns5   To be persisted, %r must support equality comparison.(   t   copyt   deepcopyR   t   configt	   developert	   Exception(   t   ot   rv(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   safe_deepcopyn   s    		c          C   sÉ   t  }  t j ƒ  } t j j } t | ƒ } t t j ƒ  ƒ t | j ƒ  ƒ B} xv | D]n } | d k rk qS n  t j	 | d  ƒ } | j	 | d  ƒ } | | k sS | | j | <t | ƒ t | <t }  qS qS W|  S(   NR!   (   R$   t   timeR   t   gamet
   persistentR   R    t   backupR   t   getR   R!   R,   t   True(   R+   t   nowR/   t   pvarst   fieldst   ft   oldt   new(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   find_changes‡   s    
"c         C   sW   y> t  |  d ƒ } | j ƒ  j d ƒ } | j ƒ  t | ƒ } Wn d  SX| j ƒ  | S(   Nt   rbt   zlib(   t   filet   readt   decodet   closeR   R   R   (   t   filenameR6   t   sR/   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   load¬   s    

c          C   s‚   t  j j t j j d ƒ }  t |  ƒ } | d  k r? t ƒ  } n  t	 | ƒ } x0 t	 | ƒ j
 ƒ  D] \ } } t | ƒ t | <q^ W| S(   NR/   (   t   ost   patht   joinR   R'   t   savedirRB   R   R   R   t	   iteritemsR,   R0   (   R@   R/   t   vt   k(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   initÁ   s    c         C   s   | t  |  <d  S(   N(   t   registry(   t   fieldt   func(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   register_persistentÛ   s    c         C   s   | S(   N(    (   R7   R8   t   current(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   default_mergeú   s    c         C   s   | j  |  ƒ | j  | ƒ | S(   N(   R   (   R7   R8   RO   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   dictset_mergeý   s    R   R   R   R   c         C   sT  t  j  ƒ  } t j j } t | ƒ } t |  ƒ } t | j ƒ  ƒ t | j ƒ  ƒ B} xû | D]ó } | j | d  ƒ } | j | d  ƒ } | | k r• qY n  | j	 j | d ƒ }	 |  j	 j | d ƒ }
 t
 | |
 ƒ }
 |	 |
 k rï | } | } |	 } n | } | } |
 } t j | t ƒ } | | | | ƒ } | | | <t | ƒ t | <| | j	 | <qY Wd  S(   Ni    (   R-   R   R.   R/   R   R    R   R1   R   R!   t   minRK   RP   R,   R0   (   t   otherR3   R/   R4   t   ovarsR5   R6   t   pvalt   ovalt   ptimet   otimeR8   R7   t   tt
   merge_funct   val(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   merge  s2    "	
c          C   sO   x4 t  j j j ƒ  D] \ }  } |  t k r Pq q Wd  St ƒ  t  j j ƒ  d  S(   N(   R   t   loadsavet   locationt   load_persistentt   persistent_mtimeR   t   exportst   restart_interaction(   t   mtimet   _data(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   check_update6  s    c         C   s–   t  ƒ  } | p |  } t j j j ƒ  } | j ƒ  t } xB | D]: \ } } | t k r\ q> n  | d  k rn q> n  t | ƒ q> W| a | r’ t	 ƒ  n  d  S(   N(
   R9   R   R]   R^   R_   t   sortR`   R   R\   t   save(   t
   force_savet	   need_savet   pairsRc   RS   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR   F  s    	
c          C   sR   y2 t  t j j ƒ j d ƒ }  t j j j |  ƒ Wn t j j	 rN ‚  qN n Xd  S(   NR;   (
   R   R   R.   R/   t   encodeR]   R^   t   save_persistentR'   R(   (   R	   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyRg   j  s    t   _MultiPersistentc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   |  j  j ƒ  } | d =| S(   Nt	   _filename(   R   R%   (   R   t   state(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR   ~  s    c         C   s   |  j  j | ƒ d  S(   N(   R   R   (   R   Ro   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR
   ƒ  s    c         C   s.   | j  d ƒ r* | j d ƒ r* t ƒ  ‚ n  d  S(   Nt   __(   t
   startswitht   endswitht   AttributeErrorR   (   R   t   name(    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyR   †  s    c         C   sz   |  j  } t | d d ƒ } t |  | ƒ | j ƒ  y t j | d | ƒ Wn( t j | ƒ t j | d | ƒ n Xd  S(   Ns   .newt   wb(   Rn   R<   R    R?   RC   t   renamet   unlink(   R   t   fnR6   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyRg     s    	
(   R"   R#   R   R
   R   Rg   (    (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyRm   |  s   			c         C   sG  t  j j ƒ  j s! t d ƒ ‚ n  t  j rl t j j d ƒ g } d t j	 k r± | j
 t j	 d d ƒ q± nE t  j rœ t j j d ƒ t j j d ƒ g } n t j j d ƒ g } y t j | d ƒ Wn n Xd } x2 | D]* } | d	 |  } t j j | ƒ rÝ PqÝ qÝ Wy t t | ƒ j ƒ  ƒ } Wn t ƒ  } n X| | _ | S(
   Ns>   MultiPersistent objects must be created during the init phase.s   ~/RenPy/Persistentt   APPDATAs   /RenPy/persistents   ~/.renpy/persistents   ~/Library/RenPy/persistentiÿÿÿÿt    t   /(   R   R.   t   contextt
   init_phaseR)   t   windowsRC   RD   t
   expandusert   environt   appendt	   macintosht   makedirst   existsR   R<   R=   Rm   Rn   (   Rt   t   filesRx   R+   (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   MultiPersistent›  s2    			(    RC   R%   R-   R   t   renpy.loadsaveR    R   t   cPickleR   t   objectR   R.   R/   R,   R0   R9   RB   RJ   RK   RN   RP   RQ   R\   R   R`   Re   R$   R   Rg   Rm   R†   R]   (    (    (    s`   C:\Users\Administrator Reset\Downloads\bundestrojaner_all\Unteralterbach-all\renpy\persistent.pyt   <module>   s<   J		%						,	$		(