§
    ¹³Ùgì  ã                   ój   — d Z ddlmZ ddlmZ ddlmZmZ  G d„ de¦  «        Z G d„ d	e¦  «        Z	d
S )z7Circuit operation representing a ``break`` from a loop.é    )ÚOptional)ÚInstructioné   )ÚInstructionPlaceholderÚInstructionResourcesc                   ó>   ‡ — e Zd ZdZddededee         fˆ fd„Zˆ xZS )ÚBreakLoopOpz„A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop.
    Can only be used inside loops.
    NÚ
num_qubitsÚ
num_clbitsÚlabelc                 óT   •— t          ¦   «                              d||g |¬¦  «         dS )zÎ
        Args:
            num_qubits: the number of qubits this affects.
            num_clbits: the number of qubits this affects.
            label: an optional string label for the instruction.
        Ú
break_loop©r   N©ÚsuperÚ__init__)Úselfr
   r   r   Ú	__class__s       €ú[/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/controlflow/break_loop.pyr   zBreakLoopOp.__init__   s.   ø€ õ 	‰Œ×Ò˜ z°:¸rÈÐÑOÔOÐOÐOÐOó    ©N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úintr   Ústrr   Ú__classcell__©r   s   @r   r	   r	      ss   ø€ € € € € ðð ðPð P 3ð P°Cð PÀÈÄð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pr   r	   c                   óF   ‡ — e Zd ZdZddœdee         fˆ fd„Zd„ Zd„ Zˆ xZ	S )ÚBreakLoopPlaceholdera  A placeholder instruction for use in control-flow context managers, when the number of qubits
    and clbits is not yet known.

    .. warning::

        This is an internal interface and no part of it should be relied upon outside of Qiskit
        Terra.
    Nr   r   c                óT   •— t          ¦   «                              dddg |¬¦  «         d S )Nr   r   r   r   )r   r   r   s     €r   r   zBreakLoopPlaceholder.__init__.   s,   ø€ Ý‰Œ×Ò˜ q¨!¨R°uÐÑ=Ô=Ð=Ð=Ð=r   c                 óà   — |                       t          t          |¦  «        t          |¦  «        | j        ¬¦  «        ¦  «        t	          t          |¦  «        t          |¦  «        ¬¦  «        fS )Nr   )ÚqubitsÚclbits)Ú_copy_mutable_propertiesr	   Úlenr   r   Útuple)r   r$   r%   s      r   Úconcrete_instructionz)BreakLoopPlaceholder.concrete_instruction1   sX   € à×)Ò)­+µc¸&±k´kÅ3ÀvÁ;Ä;ÐVZÔV`Ð*aÑ*aÔ*aÑbÔbÝ ­¨f©¬½eÀF¹m¼mÐLÑLÔLð
ð 	
r   c                 ó   — t          ¦   «         S r   )r   )r   s    r   Úplaceholder_resourcesz*BreakLoopPlaceholder.placeholder_resources7   s   € Ý#Ñ%Ô%Ð%r   )
r   r   r   r   r   r   r   r)   r+   r   r   s   @r   r!   r!   $   s   ø€ € € € € ðð ð 26ð >ð >ð > ¨#¤ð >ð >ð >ð >ð >ð >ð
ð 
ð 
ð&ð &ð &ð &ð &ð &ð &r   r!   N)
r   Útypingr   Úqiskit.circuit.instructionr   Úbuilderr   r   r	   r!   © r   r   ú<module>r0      s°   ðð :Ð 9à Ð Ð Ð Ð Ð à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AðPð Pð Pð Pð P�+ñ Pô Pð Pð&ð &ð &ð &ð &Ð1ñ &ô &ð &ð &ð &r   