


"""simple docstring"""




from __future__ import annotations

from enum import Enum





class __snake_case		(					_SCREAMING_SNAKE_CASE      ):







			"""simple docstring"""




			lowerCAmelCase_				:   List[str]     	=			24
			lowerCAmelCase_				:   Union[str, Any]     	=			21
			lowerCAmelCase_				:   int     	=			18
			lowerCAmelCase_				:   Optional[Any]     	=			15
			lowerCAmelCase_				:   Tuple     	=			12
			lowerCAmelCase_				:   Tuple     	=			9
			lowerCAmelCase_				:   str     	=			6
			lowerCAmelCase_				:   Optional[int]     	=			3
			lowerCAmelCase_				:   Union[str, Any]     	=			2
			lowerCAmelCase_				:   Optional[Any]     	=			1
			lowerCAmelCase_				:   Union[str, Any]     	=			-1
			lowerCAmelCase_				:   int     	=			-2
			lowerCAmelCase_				:   List[Any]     	=			-3
			lowerCAmelCase_				:   str     	=			-6
			lowerCAmelCase_				:   List[str]     	=			-9
			lowerCAmelCase_				:   Dict     	=			-12
			lowerCAmelCase_				:   Optional[int]     	=			-15
			lowerCAmelCase_				:   Dict     	=			-18
			lowerCAmelCase_				:   List[str]     	=			-21
			lowerCAmelCase_				:   Union[str, Any]     	=			-24






class __snake_case		(					_SCREAMING_SNAKE_CASE      ):







			"""simple docstring"""




			lowerCAmelCase_				:   Optional[Any]     	=			8
			lowerCAmelCase_				:   List[Any]     	=			7
			lowerCAmelCase_				:   List[Any]     	=			6
			lowerCAmelCase_				:   Union[str, Any]     	=			5
			lowerCAmelCase_				:   Union[str, Any]     	=			4
			lowerCAmelCase_				:   Union[str, Any]     	=			3
			lowerCAmelCase_				:   Union[str, Any]     	=			2
			lowerCAmelCase_				:   Optional[int]     	=			1






def 						__a      (  a,		a,		a,		):





							"""simple docstring"""







							if isinstance(a,		a					):
														_a          =				SIUnit[known_prefix.lower()]
							if isinstance(a,		a					):
														_a          =				SIUnit[unknown_prefix.lower()]
							_a          =				known_amount * (
							    1_0 ** (known_prefix.value - unknown_prefix.value)
							)
							return unknown_amount



def 						__a      (  a,		a,		a,		):





							"""simple docstring"""







							if isinstance(a,		a					):
														_a          =				BinaryUnit[known_prefix.lower()]
							if isinstance(a,		a					):
														_a          =				BinaryUnit[unknown_prefix.lower()]
							_a          =				known_amount * (
							    2 ** ((known_prefix.value - unknown_prefix.value) * 1_0)
							)
							return unknown_amount


if __name__ == "__main__":
			import doctest

			doctest.testmod()




"""simple docstring"""




import warnings
from contextlib import contextmanager

from ...processing_utils import ProcessorMixin





class __snake_case		(					_SCREAMING_SNAKE_CASE      ):







   """simple docstring"""




   lowerCAmelCase_				:   str     	=			'AutoFeatureExtractor'
   lowerCAmelCase_				:   List[Any]     	=			'Speech2Text2Tokenizer'




   def __init__(		self							:int				,  UpperCamelCase__							:List[str]				,  UpperCamelCase__							:Union[str, Any]       ):
          super().__init__(UpperCamelCase__				,  UpperCamelCase__       )
          _a          =				self.feature_extractor
          _a          =				False




   def __call__(		self							:List[str]				,  *UpperCamelCase__							:List[str]				,  **UpperCamelCase__							:Dict       ):
          # For backward compatibility
          if self._in_target_context_manager:
                 return self.current_processor(*UpperCamelCase__				,  **UpperCamelCase__       )

          if "raw_speech" in kwargs:
                 warnings.warn("Using `raw_speech` as a keyword argument is deprecated. Use `audio` instead."       )
                 _a          =				kwargs.pop("raw_speech"       )
          else:
                 _a          =				kwargs.pop("audio"				,  UpperCamelCase__       )
          _a          =				kwargs.pop("sampling_rate"				,  UpperCamelCase__       )
          _a          =				kwargs.pop("text"				,  UpperCamelCase__       )
          if len(UpperCamelCase__       ) > 0:
                 _a          =				args[0]
                 _a          =				args[1:]

          if audio is None and text is None:
                 raise ValueError("You need to specify either an `audio` or `text` input to process."       )

          if audio is not None:
                 _a          =				self.feature_extractor(UpperCamelCase__				,  *UpperCamelCase__				,  sampling_rate=UpperCamelCase__				,  **UpperCamelCase__       )
          if text is not None:
                 _a          =				self.tokenizer(UpperCamelCase__				,  **UpperCamelCase__       )

          if text is None:
                 return inputs
          elif audio is None:
                 return encodings
          else:
                 _a          =				encodings["input_ids"]
                 return inputs




   def SCREAMING_SNAKE_CASE_      (		self							:Union[str, Any]				,  *UpperCamelCase__							:int				,  **UpperCamelCase__							:Optional[Any]       ):
          return self.tokenizer.batch_decode(*UpperCamelCase__				,  **UpperCamelCase__       )




   def SCREAMING_SNAKE_CASE_      (		self							:Optional[Any]				,  *UpperCamelCase__							:List[Any]				,  **UpperCamelCase__							:List[Any]       ):
          return self.tokenizer.decode(*UpperCamelCase__				,  **UpperCamelCase__       )




   @contextmanager
   def SCREAMING_SNAKE_CASE_      (		self							:Dict       ):
          warnings.warn(
              "`as_target_processor` is deprecated and will be removed in v5 of Transformers. You can process your "
              "labels by using the argument `text` of the regular `__call__` method (either in the same call as "
              "your audio inputs, or in a separate call."       )
          _a          =				True
          _a          =				self.tokenizer
          yield
          _a          =				self.feature_extractor
          _a          =				False
