



"""simple docstring"""







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


UpperCamelCase     =							logging.get_logger(__name__)

UpperCamelCase     =							{
    """tiiuae/falcon-40b""": """https://huggingface.co/tiiuae/falcon-40b/resolve/main/config.json""",
    """tiiuae/falcon-7b""": """https://huggingface.co/tiiuae/falcon-7b/resolve/main/config.json""",
}






class       UpperCamelCase__			(   _lowerCAmelCase      ):

			"""simple docstring"""


			A__	:					Optional[Any]							  =     "falcon"
			A__	:					Optional[int]							  =     ["past_key_values"]


			def __init__(      self						,	SCREAMING_SNAKE_CASE__=65024						,	SCREAMING_SNAKE_CASE__=4544						,	SCREAMING_SNAKE_CASE__=32						,	SCREAMING_SNAKE_CASE__=71						,	SCREAMING_SNAKE_CASE__=1e-5						,	SCREAMING_SNAKE_CASE__=0.0_2						,	SCREAMING_SNAKE_CASE__=True						,	SCREAMING_SNAKE_CASE__=0.0						,	SCREAMING_SNAKE_CASE__=0.0						,	SCREAMING_SNAKE_CASE__=None						,	SCREAMING_SNAKE_CASE__=False						,	SCREAMING_SNAKE_CASE__=False						,	SCREAMING_SNAKE_CASE__=True						,	SCREAMING_SNAKE_CASE__=True						,	SCREAMING_SNAKE_CASE__=False						,	SCREAMING_SNAKE_CASE__=11						,	SCREAMING_SNAKE_CASE__=11						,	**SCREAMING_SNAKE_CASE__						,	)      ->	Any:
				A__											=					vocab_size
				# Backward compatibility with n_embed kwarg
				A__											=					kwargs.pop("n_embed"						,	SCREAMING_SNAKE_CASE__		)
				A__											=					hidden_size if n_embed is None else n_embed
				A__											=					num_hidden_layers
				A__											=					num_attention_heads
				A__											=					layer_norm_epsilon
				A__											=					initializer_range
				A__											=					use_cache
				A__											=					hidden_dropout
				A__											=					attention_dropout

				A__											=					bos_token_id
				A__											=					eos_token_id
				A__											=					num_attention_heads if num_kv_heads is None else num_kv_heads
				A__											=					alibi
				A__											=					new_decoder_architecture
				A__											=					multi_query  # Ignored when new_decoder_architecture is True
				A__											=					parallel_attn
				A__											=					bias

				super().__init__(bos_token_id=SCREAMING_SNAKE_CASE__						,	eos_token_id=SCREAMING_SNAKE_CASE__						,	**SCREAMING_SNAKE_CASE__		)


			@property
			def   snake_case__	(      self		)      ->	Tuple:
				return self.hidden_size // self.num_attention_heads







			@property
			def   snake_case__	(      self		)      ->	int:
				return not self.alibi







def 	__a     (      A__			:  int       ):
    if not isinstance(A__			,  A__       ):
        raise ValueError("Input must be an integer"       )
    if input_num <= 0:
        raise ValueError("Input must be positive"       )
    return sum(
        divisor for divisor in range(1			,  input_num // 2 + 1       ) if input_num % divisor == 0       )


if __name__ == "__main__":
    import doctest

    doctest.testmod()