



"""simple docstring"""







from typing import List

from .keymap import KEYMAP, get_character

def       _lowerCamelCase				(							UpperCAmelCase_ :       str     )	-> str:






	"""simple docstring"""





	def decorator(UpperCAmelCase_ :       Tuple     ):
		A__											=					getattr(UpperCAmelCase_,	"handle_key",	[]     )
		handle += [key]
		setattr(UpperCAmelCase_,	"handle_key",	UpperCAmelCase_     )
		return func

	return decorator

def       _lowerCamelCase				(							*UpperCAmelCase_ :       List[str]     )	-> str:






	"""simple docstring"""





	def decorator(UpperCAmelCase_ :       Dict     ):
		A__											=					getattr(UpperCAmelCase_,	"handle_key",	[]     )
		handle += keys
		setattr(UpperCAmelCase_,	"handle_key",	UpperCAmelCase_     )
		return func

	return decorator






class       UpperCamelCase__			(   _lowerCAmelCase      ):

			"""simple docstring"""


			def __new__(      cls						,	SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__		)      ->	List[str]:
				A__											=					super().__new__(cls						,	SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__		)
				if not hasattr(SCREAMING_SNAKE_CASE__						,	"key_handler"		):
					setattr(SCREAMING_SNAKE_CASE__						,	"key_handler"						,	{}		)
				setattr(SCREAMING_SNAKE_CASE__						,	"handle_input"						,	KeyHandler.handle_input		)

				for value in attrs.values():
					A__											=					getattr(SCREAMING_SNAKE_CASE__						,	"handle_key"						,	[]		)
					for key in handled_keys:
						A__											=					value
				return new_cls







			@staticmethod
			def   snake_case__	(      cls		)      ->	Tuple:
				A__											=					get_character()
				if char != KEYMAP["undefined"]:
					A__											=					ord(SCREAMING_SNAKE_CASE__		)
				A__											=					cls.key_handler.get(SCREAMING_SNAKE_CASE__		)
				if handler:
					A__											=					char
					return handler(cls		)
				else:
					return None



def       _lowerCamelCase				(							cls :       Any     )	-> Union[str, Any]:






	"""simple docstring"""





	return KeyHandler(cls.__name__,	cls.__bases__,	cls.__dict__.copy()     )









"""simple docstring"""







import warnings

from ...utils import logging
from .image_processing_deit import DeiTImageProcessor


UpperCamelCase     =							logging.get_logger(__name__)






class       UpperCamelCase__			(   _lowerCAmelCase      ):

			"""simple docstring"""


			def __init__(      self						,	*SCREAMING_SNAKE_CASE__						,	**SCREAMING_SNAKE_CASE__		)      ->	None:
				warnings.warn(
				    "The class DeiTFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please"
				    " use DeiTImageProcessor instead."						,	SCREAMING_SNAKE_CASE__						,	)
				super().__init__(*SCREAMING_SNAKE_CASE__						,	**SCREAMING_SNAKE_CASE__		)




