





from ...configuration_utils import PretrainedConfig
from ...utils import logging


_UpperCamelCase							=			logging.get_logger(__name__)

_UpperCamelCase							=			{
    'uw-madison/mra-base-512-4': 'https://huggingface.co/uw-madison/mra-base-512-4/resolve/main/config.json',
}




class 					_lowerCamelCase			(     _a     ):



      """simple docstring"""






      UpperCAmelCase_    :   List[Any]      ="mra"







      def __init__(			self					,    UpperCAmelCase=50265					,    UpperCAmelCase=768					,    UpperCAmelCase=12					,    UpperCAmelCase=12					,    UpperCAmelCase=3072					,    UpperCAmelCase="gelu"					,    UpperCAmelCase=0.1					,    UpperCAmelCase=0.1					,    UpperCAmelCase=512					,    UpperCAmelCase=1					,    UpperCAmelCase=0.02					,    UpperCAmelCase=1E-5					,    UpperCAmelCase="absolute"					,    UpperCAmelCase=4					,    UpperCAmelCase="full"					,    UpperCAmelCase=0					,    UpperCAmelCase=0					,    UpperCAmelCase=1					,    UpperCAmelCase=0					,    UpperCAmelCase=2					,    **UpperCAmelCase					,    )							-> Optional[int]:






        '''simple docstring'''






        super().__init__(pad_token_id=lowerCAmelCase_					,    bos_token_id=lowerCAmelCase_					,    eos_token_id=lowerCAmelCase_					,    **lowerCAmelCase_ )

        __snake_case :					Tuple          =							vocab_size
        __snake_case :					Any          =							max_position_embeddings
        __snake_case :					Optional[int]          =							hidden_size
        __snake_case :					Optional[int]          =							num_hidden_layers
        __snake_case :					str          =							num_attention_heads
        __snake_case :					str          =							intermediate_size
        __snake_case :					Union[str, Any]          =							hidden_act
        __snake_case :					List[Any]          =							hidden_dropout_prob
        __snake_case :					Optional[Any]          =							attention_probs_dropout_prob
        __snake_case :					Dict          =							initializer_range
        __snake_case :					Any          =							type_vocab_size
        __snake_case :					Optional[Any]          =							layer_norm_eps
        __snake_case :					int          =							position_embedding_type
        __snake_case :					Tuple          =							block_per_row
        __snake_case :					Union[str, Any]          =							approx_mode
        __snake_case :					Dict          =							initial_prior_first_n_blocks
        __snake_case :					List[Any]          =							initial_prior_diagonal_n_blocks







'''simple docstring'''


import qiskit
def 						snake_case_       (UpperCamelCase			:    int					,		UpperCamelCase			:    int ):





							'''simple docstring'''


							_a      	=							qiskit.Aer.get_backend('''aer_simulator''' )

							_a      	=							qiskit.QuantumCircuit(4					,		2 )
							# encode inputs in qubits 0 and 1
							if bita == 1:
														qc_ha.x(0 )
							if bita == 1:
														qc_ha.x(1 )
							qc_ha.barrier()

							# use cnots to write XOR of the inputs on qubit2
							qc_ha.cx(0					,		2 )
							qc_ha.cx(1					,		2 )

							# use ccx / toffoli gate to write AND of the inputs on qubit3
							qc_ha.ccx(0					,		1					,		3 )
							qc_ha.barrier()

							# extract outputs
							qc_ha.measure(2					,		0 )  # extract XOR value
							qc_ha.measure(3					,		1 )  # extract AND value

							# Execute the circuit on the qasm simulator
							_a      	=							qiskit.execute(UpperCamelCase					,		UpperCamelCase					,		shots=1000 )

							# Return the histogram data of the results of the experiment
							return job.result().get_counts(UpperCamelCase )


if __name__ == "__main__":
				_snake_case : Tuple  				=						half_adder(1, 1)
				print(F'''Half Adder Output Qubit Counts: {counts}''')

