






import numpy as np
import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute
def    a__    (	A = np.pi / 2		,					A = np.pi / 2		,					A = np.pi / 2       ):
   lowercase__    :						List[str]       =			QuantumRegister(3		,					"""qr"""       )  # Define the number of quantum bits
   lowercase__    :						Tuple       =			ClassicalRegister(1		,					"""cr"""       )  # Define the number of classical bits

   lowercase__    :						Any       =			QuantumCircuit(A		,					A       )  # Define the quantum circuit.

   # Build the circuit
   quantum_circuit.u(A		,					A		,					A		,					0       )  # Quantum State to teleport
   quantum_circuit.h(1       )  # add hadamard gate
   quantum_circuit.cx(
       1		,					2       )  # add control gate with qubit 1 as control and 2 as target.
   quantum_circuit.cx(0		,					1       )
   quantum_circuit.h(0       )
   quantum_circuit.cz(0		,					2       )  # add control z gate.
   quantum_circuit.cx(1		,					2       )

   quantum_circuit.measure([2]		,					[0]       )  # measure the qubit.

   # Simulate the circuit using qasm simulator
   lowercase__    :						str       =			Aer.get_backend("""aer_simulator"""       )
   lowercase__    :						Union[str, Any]       =			execute(A		,					A		,					shots=1_000       )

   return job.result().get_counts(A       )


if __name__ == "__main__":
 print(
     'Total count for teleported state is: '
     F'{quantum_teleportation(np.pi/2, np.pi/2, np.pi/2)}'
 )










from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__lowerCamelCase						= {
    'configuration_bart': ['BART_PRETRAINED_CONFIG_ARCHIVE_MAP', 'BartConfig', 'BartOnnxConfig'],
    'tokenization_bart': ['BartTokenizer'],
}

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowerCamelCase						= ['BartTokenizerFast']

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowerCamelCase						= [
						    'BART_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'BartForCausalLM',
						    'BartForConditionalGeneration',
						    'BartForQuestionAnswering',
						    'BartForSequenceClassification',
						    'BartModel',
						    'BartPretrainedModel',
						    'PretrainedBartModel',
						]

try:
						if not is_tf_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowerCamelCase						= [
						    'TFBartForConditionalGeneration',
						    'TFBartForSequenceClassification',
						    'TFBartModel',
						    'TFBartPretrainedModel',
						]

try:
						if not is_flax_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowerCamelCase						= [
						    'FlaxBartDecoderPreTrainedModel',
						    'FlaxBartForCausalLM',
						    'FlaxBartForConditionalGeneration',
						    'FlaxBartForQuestionAnswering',
						    'FlaxBartForSequenceClassification',
						    'FlaxBartModel',
						    'FlaxBartPreTrainedModel',
						]

if TYPE_CHECKING:
						from .configuration_bart import BART_PRETRAINED_CONFIG_ARCHIVE_MAP, BartConfig, BartOnnxConfig
						from .tokenization_bart import BartTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_bart_fast import BartTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_bart import (
												    BART_PRETRAINED_MODEL_ARCHIVE_LIST,
												    BartForCausalLM,
												    BartForConditionalGeneration,
												    BartForQuestionAnswering,
												    BartForSequenceClassification,
												    BartModel,
												    BartPretrainedModel,
												    PretrainedBartModel,
												)

						try:
												if not is_tf_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_tf_bart import (
												    TFBartForConditionalGeneration,
												    TFBartForSequenceClassification,
												    TFBartModel,
												    TFBartPretrainedModel,
												)

						try:
												if not is_flax_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_flax_bart import (
												    FlaxBartDecoderPreTrainedModel,
												    FlaxBartForCausalLM,
												    FlaxBartForConditionalGeneration,
												    FlaxBartForQuestionAnswering,
												    FlaxBartForSequenceClassification,
												    FlaxBartModel,
												    FlaxBartPreTrainedModel,
												)

else:
						import sys

						__lowerCamelCase						= _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)