






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


__magic_name__:					Any							=     logging.get_logger(__name__)

__magic_name__:					Tuple							=     {
    "speechbrain/m-ctc-t-large": "https://huggingface.co/speechbrain/m-ctc-t-large/resolve/main/config.json",
    # See all M-CTC-T models at https://huggingface.co/models?filter=mctct
}





class 	snake_case__ (							_lowerCAmelCase				):
	lowercase__						:					Optional[int]											=   '''mctct'''
	def __init__(    self      ,       lowerCAmelCase__=80_65      ,       lowerCAmelCase__=15_36      ,       lowerCAmelCase__=36      ,       lowerCAmelCase__=61_44      ,       lowerCAmelCase__=4      ,       lowerCAmelCase__=3_84      ,       lowerCAmelCase__=9_20      ,       lowerCAmelCase__=1e-5      ,       lowerCAmelCase__=0.3      ,       lowerCAmelCase__="relu"      ,       lowerCAmelCase__=0.0_2      ,       lowerCAmelCase__=0.3      ,       lowerCAmelCase__=0.3      ,       lowerCAmelCase__=1      ,       lowerCAmelCase__=0      ,       lowerCAmelCase__=2      ,       lowerCAmelCase__=1      ,       lowerCAmelCase__=0.3      ,       lowerCAmelCase__=1      ,       lowerCAmelCase__=(7,)      ,       lowerCAmelCase__=(3,)      ,       lowerCAmelCase__=80      ,       lowerCAmelCase__=1      ,       lowerCAmelCase__=None      ,       lowerCAmelCase__="sum"      ,       lowerCAmelCase__=False      ,       **lowerCAmelCase__      ,       )							->				Optional[int]:
							super().__init__(**lowerCAmelCase__      ,       pad_token_id=lowerCAmelCase__      ,       bos_token_id=lowerCAmelCase__      ,       eos_token_id=lowerCAmelCase__			)
							__magic_name__      :       str       						= vocab_size
							__magic_name__      :       Optional[Any]       						= hidden_size
							__magic_name__      :       List[str]       						= num_hidden_layers
							__magic_name__      :       str       						= intermediate_size
							__magic_name__      :       int       						= num_attention_heads
							__magic_name__      :       Tuple       						= attention_head_dim
							__magic_name__      :       Optional[int]       						= max_position_embeddings
							__magic_name__      :       List[str]       						= layer_norm_eps
							__magic_name__      :       Optional[int]       						= layerdrop
							__magic_name__      :       Tuple       						= hidden_act
							__magic_name__      :       Dict       						= initializer_range
							__magic_name__      :       Optional[Any]       						= hidden_dropout_prob
							__magic_name__      :       Tuple       						= attention_probs_dropout_prob
							__magic_name__      :       Union[str, Any]       						= pad_token_id
							__magic_name__      :       Any       						= bos_token_id
							__magic_name__      :       Tuple       						= eos_token_id
							__magic_name__      :       Any       						= conv_glu_dim
							__magic_name__      :       Tuple       						= conv_dropout
							__magic_name__      :       Optional[int]       						= num_conv_layers
							__magic_name__      :       List[str]       						= input_feat_per_channel
							__magic_name__      :       List[str]       						= input_channels
							__magic_name__      :       Any       						= conv_channels
							__magic_name__      :       Optional[int]       						= ctc_loss_reduction
							__magic_name__      :       Tuple       						= ctc_zero_infinity

							# prevents config testing fail with exporting to json
							__magic_name__      :       int       						= list(lowerCAmelCase__			)
							__magic_name__      :       List[str]       						= list(lowerCAmelCase__			)

							if len(self.conv_kernel			) != self.num_conv_layers:
													raise ValueError(
													    """Configuration for convolutional module is incorrect. """
													    """It is required that `len(config.conv_kernel)` == `config.num_conv_layers` """
													    F'but is `len(config.conv_kernel) = {len(self.conv_kernel			)}`, '
													    F'`config.num_conv_layers = {self.num_conv_layers}`.'			)








def    UpperCamelCase						(	_A			):






						"""simple docstring"""







						if not isinstance(_A,   _A			) or number < 0:
												raise ValueError("""Input must be a non-negative integer"""			)

						__magic_name__      :       str       						= 0
						while number:
												# This way we arrive at next set bit (next 1) instead of looping
												# through each bit and checking for 1s hence the
												# loop won't run 32 times it will only run the number of `1` times
												number &= number - 1
												count += 1
						return count


if __name__ == "__main__":
		import doctest

		doctest.testmod()
