
    IR-e{                     \    d dl Zd dlmZ  G d de          Z G d dej                  ZdS )    N)ParentDtypeInfoc                       e Zd ZdZd Zd ZdS )NdarrayMixinInfodatac                 V    | j         }d|                    t          j                  i}|S )z2Represent Column as a dict that can be serialized.r   )_parentviewnpndarray)selfcolouts      ;lib/python3.11/site-packages/astropy/table/ndarray_mixin.py_represent_as_dictz#NdarrayMixinInfo._represent_as_dict   s&    lsxx
++,
    c                 L    |                     d          } | j        |fi |}|S )zConstruct Column from ``map``.r   )pop_parent_cls)r   mapr   r   s       r   _construct_from_dictz%NdarrayMixinInfo._construct_from_dict   s0    wwvdt++s++
r   N)__name__
__module____qualname___represent_as_dict_primary_datar   r    r   r   r   r      s8        &,#      r   r   c                   P     e Zd ZdZ e            Zd Z fdZ fdZ fdZ	 xZ
S )NdarrayMixinz
    Mixin column class to allow storage of arbitrary numpy
    ndarrays within a Table.  This is a subclass of numpy.ndarray
    and has the same initialization options as ``np.array()``.
    c                     t          j        |g|R i |                    |           }dt          |dd          v r|j        |_        |S Ninfo__dict__r   )r
   arrayr	   getattrr    )clsobjargskwargsr   s        r   __new__zNdarrayMixin.__new__!   sT    x-d---f--22377WS*b1111DIr   c                     |d S t          t                      j                  r!t                                          |           dt          |dd          v r|j        | _        d S d S r   )callablesuper__array_finalize__r#   r    )r   r%   	__class__s     r   r,   zNdarrayMixin.__array_finalize__'   sj    ;FEGG.// 	,GG&&s+++
 WS*b1111DIII 21r   c                     t          t                                                                }|d         | j        f|d<   t	          |          S )N   )listr+   
__reduce__r!   tuple)r   object_stater-   s     r   r1   zNdarrayMixin.__reduce__4   sD     EGG..0011'?DM:Q\"""r   c                     |\  }}t                                          |           | j                            |           d S )N)r+   __setstate__r!   update)r   statend_state	own_stater-   s       r   r5   zNdarrayMixin.__setstate__<   sC     $)X&&&Y'''''r   )r   r   r   __doc__r   r    r(   r,   r1   r5   __classcell__)r-   s   @r   r   r      s          D  ! ! ! ! !# # # # #( ( ( ( ( ( ( ( (r   r   )numpyr
   astropy.utils.data_infor   r   r   r   r   r   r   <module>r>      s        3 3 3 3 3 3        *( *( *( *( *(2: *( *( *( *( *(r   