§
    ¹³ÙgØ	  ã                  ó†   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZ eee
f         Z G d„ d	e¦  «        Zd
S )z)
Primitive V1 result abstract base class
é    )Úannotations)ÚABC)ÚSequence)Úfields)ÚAnyÚDict)Úndarrayc                  óJ   — e Zd ZdZd
d„Zedd„¦   «         Zedd„¦   «         Zd	S )Ú_BasePrimitiveResultz@
    Base class for deprecated Primitive V1 result methods.
    ÚreturnÚNonec                ó4  — d}| j         D ]�}|€t          |¦  «        }t          |t          t          f¦  «        rt          |t
          t          f¦  «        r t          dt          |¦  «        › d�¦  «        ‚t          |¦  «        |k    rt          d¦  «        ‚ŒŽdS )aé  
        Verify that all fields in any inheriting result dataclass are consistent, after
        instantiation, with the number of experiments being represented.

        This magic method is specific of `dataclasses.dataclass`, therefore all inheriting
        classes must have this decorator.

        Raises:
            TypeError: If one of the data fields is not a Sequence or ``numpy.ndarray``.
            ValueError: Inconsistent number of experiments across data fields.
        Nz/Expected sequence or `numpy.ndarray`, provided z	 instead.z6Inconsistent number of experiments across data fields.)
Ú_field_valuesÚlenÚ
isinstancer   r	   ÚstrÚbytesÚ	TypeErrorÚtypeÚ
ValueError)ÚselfÚnum_experimentsÚvalues      úX/granary/edev/quantum/lib/python3.11/site-packages/qiskit/primitives/base/base_result.pyÚ__post_init__z"_BasePrimitiveResult.__post_init__!   sµ   € ð ˆØÔ'ð 		[ð 		[ˆEØÐ&Ý"% e¡*¤*�å˜e¥hµÐ%8Ñ9Ô9ð ½ZÈÕPSÕUZÈ|Ñ=\Ô=\ð ÝØ\ÅdÈ5ÁkÄkÐ\Ð\Ð\ñô ð õ �5‰zŒz˜_Ò,Ð,Ý Ð!YÑZÔZÐZð -ð		[ð 		[ó    útuple[str, ...]c                óN   — t          d„ t          | ¦  «        D ¦   «         ¦  «        S )z8Tuple of field names in any inheriting result dataclass.c              3  ó$   K  — | ]}|j         V — Œd S ©N)Úname)Ú.0Úfields     r   ú	<genexpr>z4_BasePrimitiveResult._field_names.<locals>.<genexpr><   s$   è è € Ð:Ð: E�U”ZÐ:Ð:Ð:Ð:Ð:Ð:r   )Útupler   ©r   s    r   Ú_field_namesz!_BasePrimitiveResult._field_names9   s'   € õ Ð:Ð:­V°D©\¬\Ð:Ñ:Ô:Ñ:Ô:Ð:r   r%   c                óD   ‡ — t          ˆ fd„‰ j        D ¦   «         ¦  «        S )z9Tuple of field values in any inheriting result dataclass.c              3  ó8   •K  — | ]}t          ‰|¦  «        V — Œd S r    )Úgetattr)r"   r!   r   s     €r   r$   z5_BasePrimitiveResult._field_values.<locals>.<genexpr>A   s-   øè è € ÐGÐG¨T•W˜T 4Ñ(Ô(ÐGÐGÐGÐGÐGÐGr   )r%   r'   r&   s   `r   r   z"_BasePrimitiveResult._field_values>   s+   ø€ õ ÐGÐGÐGÐG°TÔ5FÐGÑGÔGÑGÔGÐGr   N)r   r   )r   r   )r   r%   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr'   r   © r   r   r   r      s|   € € € € € ðð ð[ð [ð [ð [ð0 ð;ð ;ð ;ñ „Xð;ð ðHð Hð Hñ „XðHð Hð Hr   r   N)r.   Ú
__future__r   Úabcr   Úcollections.abcr   Údataclassesr   Útypingr   r   Únumpyr	   r   ÚExperimentDatar   r0   r   r   ú<module>r8      sÎ   ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à�c˜3�h”€ð%Hð %Hð %Hð %Hð %H˜3ñ %Hô %Hð %Hð %Hð %Hr   