
    =h~                     F    S SK r S SKrS SKJr   " S S5      rS rS rS rg)    N)dedentc                   X    \ rS rSrSr0 r0 rS rS rS r	S r
S rSS jr\S	 5       rS
rg)ResultsWrapper   zv
Class which wraps a statsmodels estimation Results class and steps in to
reattach metadata to results (if available)
c                 2    Xl         UR                  U l        g N)_results__doc__)selfresultss     kC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\statsmodels/base/wrapper.py__init__ResultsWrapper.__init__   s        c                 V    [        U R                  5       Vs/ s H  oPM     sn$ s  snf r   )dirr	   )r   xs     r   __dir__ResultsWrapper.__dir__   s%    t}}-.-a-...s   &c                   ^  U 4S jn U" S5      n U" U5      $ ! [          a     Nf = f! [          a     Of = f[        WU5      nUR                  R                  nT R                  R                  U5      nU(       a0  [        U[        5      (       a  UR                  " XFS   /USS  Q76 nU$ U(       a  UR                  XFS9nU$ )Nc                 0   > [         R                  TU 5      $ r   )object__getattribute__)namer   s    r   <lambda>1ResultsWrapper.__getattribute__.<locals>.<lambda>   s    6224>r   r	   r      )how)	AttributeErrorgetattrmodeldata_wrap_attrsget
isinstancetuplewrap_output)r   attrr$   r   objr"   r   s   `      r   r   ResultsWrapper.__getattribute__   s    >	*oG	t9	  		
  		 gt$}}!!""4(:c5))""3A9QR9C 
 ""3"0C
s    * 
''
77c                     U R                   $ r   )__dict__)r   s    r   __getstate__ResultsWrapper.__getstate__,   s    }}r   c                 :    U R                   R                  U5        g r   )r,   update)r   dict_s     r   __setstate__ResultsWrapper.__setstate__0   s    U#r   c                 N    SSK Jn  U(       a  U R                  5         U" X5        g)az  
Save a pickle of this instance.

Parameters
----------
fname : {str, handle}
    Either a filename or a valid file handle.
remove_data : bool
    If False (default), then the instance is pickled without changes.
    If True, then all arrays with length nobs are set to None before
    pickling. See the remove_data method.
    In some cases not all arrays will be set to None.
r   )save_pickleN)statsmodels.iolib.smpickler5   remove_data)r   fnamer7   r5   s       r   saveResultsWrapper.save4   s     	;D r   c                     SSK Jn  U" U5      $ )am  
Load a pickled results instance

.. warning::

   Loading pickled models is not secure against erroneous or
   maliciously constructed data. Never unpickle data received from
   an untrusted or unauthenticated source.

Parameters
----------
fname : {str, handle}
    A string filename or a file handle.

Returns
-------
Results
    The unpickled results instance.
r   )load_pickle)r6   r<   )clsr8   r<   s      r   loadResultsWrapper.loadI   s    * 	;5!!r   )r
   r	   N)F)__name__
__module____qualname____firstlineno__r
   r#   _wrap_methodsr   r   r   r-   r2   r9   classmethodr>   __static_attributes__ r   r   r   r      sE     KM'/.$!* " "r   r   c                  >    0 nU  H  nUR                  U5        M     U$ r   )r0   )dictsresultds      r   union_dictsrL   b   s"    Fa Mr   c                   ^ ^ [         R                  " T 5      U U4S j5       n[        R                  " T 5      n[	        U5      nUR
                  (       a  [        UR
                  5      OSnST R                   U SU 3Ul        U$ )Nc                 (  > [         R                  U S5      nUR                  R                  nT(       a:  [	        T[
        5      (       a%  UR                  T" U/UQ70 UD6TS   TSS  5      nU$ T(       a  UR                  T" U/UQ70 UD6T5      nW$ )Nr	   r   r   )r   r   r!   r"   r%   r&   r'   )r   argskwargsr   r"   r)   funcr   s         r   wrappermake_wrapper.<locals>.wrapperj   s    ))$
;}}!!:c5))""4#A$#A&#A3q63qr7SC 
 ""4#A$#A&#A3GC
r    
)	functoolswrapsinspect	signaturestrr
   r   r@   )rQ   r   rR   sig	formatteddocs   ``    r   make_wrapperr^   i   sp    __T  

D
!CCI%,__&
!"C4==/)Bse<GONr   c                     U R                   R                  5        H9  u  p#[        X5      (       d  M  [        X5      n[	        XC5      n[        XU5        M;     g r   )rD   itemshasattrr    r^   setattr)klasswrappingmethr   rQ   rR   s         r   populate_wrapperrf   }   sI    ((..0	x&&x&t)W% 1r   )rV   rX   textwrapr   r   rL   r^   rf   rG   r   r   <module>rh      s*      Y" Y"x(&r   