






from typing import List

import datasets
from datasets.tasks import ImageClassification

from ..folder_based_builder import folder_based_builder


UpperCAmelCase_					:		Tuple           = datasets.utils.logging.get_logger(__name__)

class        _SCREAMING_SNAKE_CASE			(     folder_based_builder.FolderBasedBuilderConfig ):
	snake_case__				:	bool	      =    None
	snake_case__				:	bool	      =    None

class        _SCREAMING_SNAKE_CASE			(     folder_based_builder.FolderBasedBuilder ):
	snake_case__				:	Dict	      =    datasets.Image()
	snake_case__				:	Any	      =    """image"""
	snake_case__				:	Union[str, Any]	      =    ImageFolderConfig
	snake_case__				:	List[str]  # definition at the bottom of the script
	snake_case__				:	Union[str, Any]	      =    ImageClassification(image_column="""image"""						,  label_column="""label""" )
UpperCAmelCase_					:		Optional[int]           = [
    '''.blp''',
    '''.bmp''',
    '''.dib''',
    '''.bufr''',
    '''.cur''',
    '''.pcx''',
    '''.dcx''',
    '''.dds''',
    '''.ps''',
    '''.eps''',
    '''.fit''',
    '''.fits''',
    '''.fli''',
    '''.flc''',
    '''.ftc''',
    '''.ftu''',
    '''.gbr''',
    '''.gif''',
    '''.grib''',
    '''.h5''',
    '''.hdf''',
    '''.png''',
    '''.apng''',
    '''.jp2''',
    '''.j2k''',
    '''.jpc''',
    '''.jpf''',
    '''.jpx''',
    '''.j2c''',
    '''.icns''',
    '''.ico''',
    '''.im''',
    '''.iim''',
    '''.tif''',
    '''.tiff''',
    '''.jfif''',
    '''.jpe''',
    '''.jpg''',
    '''.jpeg''',
    '''.mpg''',
    '''.mpeg''',
    '''.msp''',
    '''.pcd''',
    '''.pxr''',
    '''.pbm''',
    '''.pgm''',
    '''.ppm''',
    '''.pnm''',
    '''.psd''',
    '''.bw''',
    '''.rgb''',
    '''.rgba''',
    '''.sgi''',
    '''.ras''',
    '''.tga''',
    '''.icb''',
    '''.vda''',
    '''.vst''',
    '''.webp''',
    '''.wmf''',
    '''.emf''',
    '''.xbm''',
    '''.xpm''',
]
UpperCAmelCase_					:		Dict           = IMAGE_EXTENSIONS








import numpy as np
import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute

def   SCREAMING_SNAKE_CASE_				(				__magic_name__   :    float = np.pi / 2      ,     __magic_name__   :    float = np.pi / 2      ,     __magic_name__   :    float = np.pi / 2   )						->     qiskit.result.counts.Counts:






	"""simple docstring"""



	UpperCamelCase	:Optional[int]		=      QuantumRegister(3      ,     """qr"""   )  # Define the number of quantum bits
	UpperCamelCase	:Optional[Any]		=      ClassicalRegister(1      ,     """cr"""   )  # Define the number of classical bits

	UpperCamelCase	:List[Any]		=      QuantumCircuit(__magic_name__      ,     __magic_name__   )  # Define the quantum circuit.

	# Build the circuit
	quantum_circuit.u(__magic_name__      ,     __magic_name__      ,     __magic_name__      ,     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
	UpperCamelCase	:Union[str, Any]		=      Aer.get_backend("""aer_simulator"""   )
	UpperCamelCase	:Dict		=      execute(__magic_name__      ,     __magic_name__      ,     shots=1000   )

	return job.result().get_counts(__magic_name__   )


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