§
    ¹³Ùgn  ã                   ój   — d Z ddlmZmZ ddlmZ ddlmZ  G d„ d¦  «        Z G d„ dee¦  «        Z	d	S )
zBase class for a provider.é    )ÚABCÚabstractmethod)ÚQiskitBackendNotFoundError)Údeprecate_funcc                   óB   — e Zd ZdZdZ edd¬¦  «        d„ ¦   «         ZdS )ÚProvidera3  Base common type for all versioned Provider abstract classes.

    Note this class should not be inherited from directly, it is intended
    to be used for type checking. When implementing a provider you should use
    the versioned abstract classes as the parent class and not this class
    directly.
    r   çš™™™™™ñ?zÌThe abstract Provider and ProviderV1 classes are deprecated and will be removed in 2.0. You can just remove it as the parent class and a `get_backend` method that returns the backends from `self.backend`.©ÚsinceÚadditional_msgc                 ó   — d S ©N© )Úselfs    úO/granary/edev/quantum/lib/python3.11/site-packages/qiskit/providers/provider.pyÚ__init__zProvider.__init__    s	   € ð 	ˆó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úversionr   r   r   r   r   r   r      s[   € € € € € ðð ð €Gà€^Øð@ðñ ô ðð ñô ðð ð r   r   c                   ób   — e Zd ZdZdZ edd¬¦  «        d
d„¦   «         Zed
d„¦   «         Zd	„ Z	dS )Ú
ProviderV1z"Base class for a Backend Provider.é   r	   zÍThe abstract Provider and ProviderV1 classes are deprecated and will  be removed in 2.0. You can just remove it as the parent class and a `get_backend` method that returns the backends from `self.backend`.r
   Nc                 ó”   —  | j         |fi |¤Ž}t          |¦  «        dk    rt          d¦  «        ‚|st          d¦  «        ‚|d         S )a•  Return a single backend matching the specified filtering.

        Args:
            name (str): name of the backend.
            **kwargs: dict used for filtering.

        Returns:
            Backend: a backend matching the filtering.

        Raises:
            QiskitBackendNotFoundError: if no backend could be found or
                more than one backend matches the filtering criteria.
        r   z*More than one backend matches the criteriazNo backend matches the criteriar   )ÚbackendsÚlenr   )r   ÚnameÚkwargsr   s       r   Úget_backendzProviderV1.get_backend/   s_   € ð( !�4”= Ð0Ð0¨Ð0Ð0ˆÝˆx‰=Œ=˜1ÒÐÝ,Ð-YÑZÔZÐZØð 	PÝ,Ð-NÑOÔOÐOà˜Œ{Ðr   c                 ó   — dS )a"  Return a list of backends matching the specified filtering.

        Args:
            name (str): name of the backend.
            **kwargs: dict used for filtering.

        Returns:
            list[Backend]: a list of Backends that match the filtering
                criteria.
        Nr   )r   r   r    s      r   r   zProviderV1.backendsK   s	   € ð 	ˆr   c                 óV   — t          | ¦  «        j        t          |¦  «        j        k    S )z­Equality comparison.

        By default, it is assumed that two `Providers` from the same class are
        equal. Subclassed providers can override this behavior.
        )Útyper   )r   Úothers     r   Ú__eq__zProviderV1.__eq__Y   s!   € õ �D‰zŒzÔ"¥d¨5¡k¤kÔ&:Ò:Ð:r   r   )
r   r   r   r   r   r   r!   r   r   r&   r   r   r   r   r   *   s‰   € € € € € Ø,Ð,à€Gà€^Øð@ðñ ô ðð ð ñô ðð, ðð ð ñ „^ðð;ð ;ð ;ð ;ð ;r   r   N)
r   Úabcr   r   Úqiskit.providers.exceptionsr   Úqiskit.utilsr   r   r   r   r   r   ú<module>r*      s§   ðð !Ð  à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à BÐ BÐ BÐ BÐ BÐ BØ 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ñ ô ð ð*5;ð 5;ð 5;ð 5;ð 5;�˜3ñ 5;ô 5;ð 5;ð 5;ð 5;r   