




'''simple docstring'''

from __future__ import annotations

from string import ascii_letters




def    snake_case__     (  a       ,      a       ,      a = None	)			->       str:





			'''simple docstring'''






			snake_case__          =						alphabet or ascii_letters

			# The final result string
			snake_case__          =						""""""

			for character in input_string:
						if character not in alpha:
									# Append without encryption if character is not in the alphabet
									result += character
						else:
									# Get the index of the new key and make sure it isn't too large
									snake_case__          =						(alpha.index(a	) + key) % len(a	)

									# Append the encoded character to the alphabet
									result += alpha[new_key]

			return result




def    snake_case__     (  a       ,      a       ,      a = None	)			->       str:





			'''simple docstring'''






			key *= -1

			return encrypt(a       ,      a       ,      a	)




def    snake_case__     (  a       ,      a = None	)			->       dict[int, str]:





			'''simple docstring'''






			snake_case__          =						alphabet or ascii_letters

			# To store data on all the combinations
			snake_case__          =						{}

			# Cycle through each combination
			for key in range(1       ,      len(a	) + 1	):
						# Decrypt the message and store the result in the data
						snake_case__          =						decrypt(a       ,      a       ,      a	)

			return brute_force_data


if __name__ == "__main__":
		while True:
				print(F"\n{'-' * 10}\n Menu\n{'-' * 10}")
				print(*['''1.Encrypt''', '''2.Decrypt''', '''3.BruteForce''', '''4.Quit'''], sep='''\n''')

				# get user input
				a__         =     input('''\nWhat would you like to do?: ''').strip() or '''4'''

				# run functions based on what the user chose
				if choice not in ("1", "2", "3", "4"):
						print('''Invalid choice, please enter a valid choice''')
				elif choice == "1":
						a__         =     input('''Please enter the string to be encrypted: ''')
						a__         =     int(input('''Please enter off-set: ''').strip())

						print(encrypt(input_string, key))
				elif choice == "2":
						a__         =     input('''Please enter the string to be decrypted: ''')
						a__         =     int(input('''Please enter off-set: ''').strip())

						print(decrypt(input_string, key))
				elif choice == "3":
						a__         =     input('''Please enter the string to be decrypted: ''')
						a__         =     brute_force(input_string)

						for key, value in brute_force_data.items():
								print(F"Key: {key} | Message: {value}")

				elif choice == "4":
						print('''Goodbye.''')
						break





'''simple docstring'''

from typing import TYPE_CHECKING

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


a__         =     {'''configuration_gptj''': ['''GPTJ_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPTJConfig''', '''GPTJOnnxConfig''']}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		a__         =     [
		    '''GPTJ_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''GPTJForCausalLM''',
		    '''GPTJForQuestionAnswering''',
		    '''GPTJForSequenceClassification''',
		    '''GPTJModel''',
		    '''GPTJPreTrainedModel''',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		a__         =     [
		    '''TFGPTJForCausalLM''',
		    '''TFGPTJForQuestionAnswering''',
		    '''TFGPTJForSequenceClassification''',
		    '''TFGPTJModel''',
		    '''TFGPTJPreTrainedModel''',
		]

try:
		if not is_flax_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		a__         =     [
		    '''FlaxGPTJForCausalLM''',
		    '''FlaxGPTJModel''',
		    '''FlaxGPTJPreTrainedModel''',
		]


if TYPE_CHECKING:
		from .configuration_gptj import GPTJ_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTJConfig, GPTJOnnxConfig

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_gptj import (
				    GPTJ_PRETRAINED_MODEL_ARCHIVE_LIST,
				    GPTJForCausalLM,
				    GPTJForQuestionAnswering,
				    GPTJForSequenceClassification,
				    GPTJModel,
				    GPTJPreTrainedModel,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_gptj import (
				    TFGPTJForCausalLM,
				    TFGPTJForQuestionAnswering,
				    TFGPTJForSequenceClassification,
				    TFGPTJModel,
				    TFGPTJPreTrainedModel,
				)

		try:
				if not is_flax_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_flax_gptj import FlaxGPTJForCausalLM, FlaxGPTJModel, FlaxGPTJPreTrainedModel

else:
		import sys

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